From 9edfc987e0b2d033243575119cb92f24c5fdad3d Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Nov 2023 08:30:30 -0500 Subject: [PATCH 01/42] add task_args --- modules/processing_diffusers.py | 6 ++++-- modules/shared.py | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 28f1a553d..1e984134b 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -311,8 +311,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro args[arg] = task_kwargs[arg] else: pass - # shared.log.debug(f'Diffuser not supported: pipeline={pipeline.__class__.__name__} task={sd_models.get_diffusers_task(model)} arg={arg}') - # shared.log.debug(f'Diffuser pipeline: {model.__class__.__name__} possible={possible}') + for k, v in getattr(p, 'task_args', {}).items(): + args[k] = v hypertile_set(p, hr=len(getattr(p, 'init_images', []))) clean = args.copy() clean.pop('callback', None) @@ -327,6 +327,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro clean['mask_image'] = type(clean['mask_image']) if 'masked_image_latents' in clean: clean['masked_image_latents'] = type(clean['masked_image_latents']) + if 'ip_adapter_image' in clean: + clean['ip_adapter_image'] = type(clean['ip_adapter_image']) if 'prompt' in clean: clean['prompt'] = len(clean['prompt']) if 'negative_prompt' in clean: diff --git a/modules/shared.py b/modules/shared.py index 176bd4690..7c7304d0c 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -609,7 +609,7 @@ options_templates.update(options_section(('extra_networks', "Extra Networks"), { "extra_networks_styles": OptionInfo(True, "Show built-in styles"), "lora_preferred_name": OptionInfo("filename", "LoRA preffered name", gr.Radio, {"choices": ["filename", "alias"]}), "lora_add_hashes_to_infotext": OptionInfo(True, "LoRA add hash info"), - "lora_in_memory_limit": OptionInfo(0, "LoRA memory cache", gr.Slider, {"minimum": 0, "maximum": 10, "step": 1}), + "lora_in_memory_limit": OptionInfo(0, "LoRA memory cache", gr.Slider, {"minimum": 0, "maximum": 24, "step": 1}), "lora_functional": OptionInfo(False, "Use Kohya method for handling multiple LoRA", gr.Checkbox, { "visible": False }), "sd_hypernetwork": OptionInfo("None", "Add hypernetwork to prompt", gr.Dropdown, { "choices": ["None"], "visible": False }), From 0e95630ee5876a2076ff276d5c2e41a36f5975ee Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Nov 2023 09:00:17 -0500 Subject: [PATCH 02/42] fix prompt display --- CHANGELOG.md | 7 +++++++ installer.py | 7 +++---- javascript/sdnext.css | 2 +- modules/ui_common.py | 12 ++++++------ 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 21c1a45ea..c4fc6fb92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log for SD.Next +## Update for 2023-11-24 + +- **General** + - increase maximum lora cache values + - fixes for python 3.9 compatibility + - fix prompt display in process tab + ## Update for 2023-11-23 New release, primarily focused around three major new features: full **LCM** support, completely new **Model Merge** functionality and **Stable-fast** compile support diff --git a/installer.py b/installer.py index e5aaeceed..d7b1d1cef 100644 --- a/installer.py +++ b/installer.py @@ -421,7 +421,6 @@ def check_torch(): log.debug(f'ROCm hipconfig failed: {e}') rocm_ver = None if rocm_ver in {"5.7"}: - # install torch nightly via torchvision to avoid wasting bandwidth when torchvision depends on torch from yesterday torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --pre --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}') elif rocm_ver in {"5.5", "5.6"}: torch_command = os.environ.get('TORCH_COMMAND', f'torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm{rocm_ver}') @@ -443,7 +442,7 @@ def check_torch(): ipex_pip = 'https://github.com/Nuullll/intel-extension-for-pytorch/releases/download/v2.0.110%2Bxpu-master%2Bdll-bundle/intel_extension_for_pytorch-2.0.110+gitc6ea20b-cp310-cp310-win_amd64.whl' torch_command = os.environ.get('TORCH_COMMAND', f'{pytorch_pip} {torchvision_pip} {ipex_pip}') install('openvino', 'openvino', ignore=True) - install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO numpy version conflicts with tensorflow and doesn't support Python 3.11 + install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) elif allow_openvino and args.use_openvino: log.info('Using OpenVINO') torch_command = os.environ.get('TORCH_COMMAND', 'torch==2.1.1 torchvision==0.16.1 --index-url https://download.pytorch.org/whl/cpu') @@ -514,9 +513,9 @@ def check_torch(): if opts.get('cuda_compile_backend', '') == 'hidet': install('hidet', 'hidet') if args.use_openvino or opts.get('cuda_compile_backend', '') == 'openvino_fx': - uninstall('openvino-nightly') # TODO remove after people had enough time upgrading + uninstall('openvino-nightly') # TODO openvino: remove after people had enough time upgrading install('openvino==2023.2.0', 'openvino') - install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO numpy version conflicts with tensorflow and doesn't support Python 3.11 + install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO openvino: numpy version conflicts with tensorflow and doesn't support Python 3.11 os.environ.setdefault('PYTORCH_TRACING_MODE', 'TORCHFX') os.environ.setdefault('NEOReadDebugKeys', '1') os.environ.setdefault('ClDeviceGlobalMemSizeAvailablePercent', '100') diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 88bb60cc5..569ff2f5a 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -95,7 +95,7 @@ div#extras_scale_to_tab div.form{ flex-direction: row; } #img2img_sketch, #img2maskimg, #inpaint_sketch { overflow: overlay !important; resize: auto; background: var(--panel-background-fill); z-index: 5; } .image-buttons button{ min-width: auto; } .infotext { overflow-wrap: break-word; line-height: 1.5em; } -.infotext > p { padding-left: 1em; text-indent: -1em; } +.infotext > p { padding-left: 1em; text-indent: -1em; white-space: pre; } .tooltip { display: block; position: fixed; top: 1em; right: 1em; padding: 0.5em; background: var(--input-background-fill); color: var(--body-text-color); border: 1pt solid var(--button-primary-border-color); width: 22em; min-height: 1.3em; font-size: 0.8em; transition: opacity 0.2s ease-in; pointer-events: none; opacity: 0; z-index: 999; } .tooltip-show { opacity: 0.9; } diff --git a/modules/ui_common.py b/modules/ui_common.py index b1a5bf364..0b9b6ddb1 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -35,16 +35,16 @@ def plaintext_to_html(text): def infotext_to_html(text): res = parse_generation_parameters(text) - prompt = res.get('Prompt', None) - negative = res.get('Negative prompt', None) + prompt = res.get('Prompt', '').replace('\n', '
\n') + negative = res.get('Negative prompt', '') res.pop('Prompt', None) res.pop('Negative prompt', None) params = [f'{k}: {v}' for k, v in res.items() if v is not None] - params = '| '.join(params) + params = '| '.join(params) if len(params) > 0 else '' code = f''' -

Prompt: {prompt}

-

Negative: {negative}

-

Parameters: {params}

+

Prompt: {html.escape(prompt)}

+

Negative: {html.escape(negative)}

+

Parameters: {html.escape(params)}

''' return code From d13f3dfeed81078c8302ef464b362722188f3a45 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Nov 2023 09:21:47 -0500 Subject: [PATCH 03/42] always log level debug to log file --- cli/hf-convert.py | 2 +- installer.py | 13 +++++++------ launch.py | 4 +--- webui.py | 3 --- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/cli/hf-convert.py b/cli/hf-convert.py index 02599bf3e..eeefdce5e 100755 --- a/cli/hf-convert.py +++ b/cli/hf-convert.py @@ -8,7 +8,7 @@ import diffusers import safetensors import safetensors.torch as sf -log = logging.getLogger("sdnext") +log = logging.getLogger("sd") logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s | %(message)s') diff --git a/installer.py b/installer.py index d7b1d1cef..7529f6cea 100644 --- a/installer.py +++ b/installer.py @@ -103,12 +103,6 @@ def setup_logging(): fh.doRollover() log_rolled = True - global first_call # pylint: disable=global-statement - if first_call: - log_size = os.path.getsize(log_file) if os.path.exists(log_file) else 0 - log.debug(f'Logger: file={log_file} level={level} size={log_size} mode={"append" if not log_rolled else "create"}') - first_call = False - fh.formatter = logging.Formatter('%(asctime)s | %(name)s | %(levelname)s | %(module)s | %(message)s') fh.setLevel(logging.DEBUG) log.addHandler(fh) @@ -121,10 +115,17 @@ def setup_logging(): # overrides logging.getLogger("urllib3").setLevel(logging.ERROR) logging.getLogger("httpx").setLevel(logging.ERROR) + logging.getLogger("diffusers").setLevel(logging.ERROR) + logging.getLogger("torch").setLevel(logging.ERROR) logging.getLogger("ControlNet").handlers = log.handlers logging.getLogger("lycoris").handlers = log.handlers # logging.getLogger("DeepSpeed").handlers = log.handlers +def get_logfile(): + log_size = os.path.getsize(log_file) if os.path.exists(log_file) else 0 + log.info(f'Logger: file="{log_file}" level={logging.getLevelName(logging.DEBUG if args.debug else logging.INFO)} size={log_size} mode={"append" if not log_rolled else "create"}') + return log_file + def custom_excepthook(exc_type, exc_value, exc_traceback): import traceback diff --git a/launch.py b/launch.py index f47876240..43707818a 100755 --- a/launch.py +++ b/launch.py @@ -171,6 +171,7 @@ if __name__ == "__main__": installer.args = args installer.setup_logging() installer.log.info('Starting SD.Next') + installer.get_logfile() try: sys.excepthook = installer.custom_excepthook except Exception: @@ -218,9 +219,6 @@ if __name__ == "__main__": installer.log.warning(f'See log file for more details: {installer.log_file}') installer.extensions_preload(parser) # adds additional args from extensions args = installer.parse_args(parser) - # installer.run_setup() - # installer.log.debug(f"Args: {vars(args)}") - logging.disable(logging.NOTSET if args.debug else logging.DEBUG) uv, instance = start_server(immediate=True, server=None) while True: diff --git a/webui.py b/webui.py index 46e3d7156..157731f10 100644 --- a/webui.py +++ b/webui.py @@ -47,8 +47,6 @@ state = shared.state backend = shared.backend if not modules.loader.initialized: timer.startup.record("libraries") - log.setLevel(logging.DEBUG if cmd_opts.debug else logging.INFO) - logging.disable(logging.NOTSET if cmd_opts.debug else logging.DEBUG) if cmd_opts.server_name: server_name = cmd_opts.server_name else: @@ -212,7 +210,6 @@ def async_policy(): def start_common(): log.debug('Entering start sequence') - logging.disable(logging.NOTSET if cmd_opts.debug else logging.DEBUG) if shared.cmd_opts.data_dir is not None and len(shared.cmd_opts.data_dir) > 0: log.info(f'Using data path: {shared.cmd_opts.data_dir}') if shared.cmd_opts.models_dir is not None and len(shared.cmd_opts.models_dir) > 0 and shared.cmd_opts.models_dir != 'models': From 1d5eb29550b19f7626092e066c6217982a433b72 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Nov 2023 09:27:28 -0500 Subject: [PATCH 04/42] lint fixes --- CHANGELOG.md | 5 +++-- launch.py | 1 - modules/extras.py | 2 +- modules/ui_models.py | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4fc6fb92..4f1067662 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,9 +3,10 @@ ## Update for 2023-11-24 - **General** + - log level defaults to info for console and debug for log file + - better prompt display in process tab - increase maximum lora cache values - - fixes for python 3.9 compatibility - - fix prompt display in process tab + - fix for python 3.9 compatibility ## Update for 2023-11-23 diff --git a/launch.py b/launch.py index 43707818a..a8c156b8c 100755 --- a/launch.py +++ b/launch.py @@ -4,7 +4,6 @@ import os import sys import time import shlex -import logging import subprocess from functools import lru_cache import installer diff --git a/modules/extras.py b/modules/extras.py index 7772e39db..fa3e07378 100644 --- a/modules/extras.py +++ b/modules/extras.py @@ -134,7 +134,7 @@ def run_modelmerger(id_task, **kwargs): # pylint: disable=unused-argument try: theta_0 = theta_0.to_dict() #TensorDict -> Dict if necessary - except: + except Exception: pass bake_in_vae_filename = sd_vae.vae_dict.get(kwargs.get("bake_in_vae", None), None) diff --git a/modules/ui_models.py b/modules/ui_models.py index be338c23d..ae4baab15 100644 --- a/modules/ui_models.py +++ b/modules/ui_models.py @@ -81,7 +81,7 @@ def create_ui(): custom_name = gr.Textbox(label="New model name") with FormRow(): merge_mode = gr.Dropdown(choices=merge_methods.__all__, value="weighted_sum", label="Interpolation Method") - merge_mode_docs = gr.HTML(value=getattr(merge_methods, "weighted_sum").__doc__.replace("\n", "
")) + merge_mode_docs = gr.HTML(value=getattr(merge_methods, "weighted_sum", "").__doc__.replace("\n", "
")) with FormRow(): primary_model_name = gr.Dropdown(sd_model_choices(), label="Primary model", value="None") create_refresh_button(primary_model_name, sd_models.list_models, lambda: {"choices": sd_model_choices()}, "refresh_checkpoint_A") @@ -641,7 +641,7 @@ def create_ui(): civit_update_download_btn = gr.Button(value="Download", variant='primary', visible=False) class CivitModel: - def __init__(self, name, fn, sha = None, meta = {}): + def __init__(self, name, fn, sha = None, meta = {}): # noqa: B006 self.name = name self.id = meta.get('id', 0) self.fn = fn @@ -701,7 +701,7 @@ def create_ui(): model.latest_name = f.get('name', '') if model.vername == model.latest: model.status = 'Latest' - elif any(map(lambda v: v in model.latest_hashes, all_hashes)): + elif any(map(lambda v: v in model.latest_hashes, all_hashes)): # pylint: disable=cell-var-from-loop # noqa: C417 model.status = 'Downloaded' else: model.status = 'Available' @@ -716,7 +716,7 @@ def create_ui(): nonlocal selected_model, update_data try: selected_model = [m for m in update_data if m.fn == in_data[evt.index[0]][1]][0] - except: + except Exception: selected_model = None if selected_model is None or selected_model.url is None or selected_model.status != 'Available': return [gr.update(value='Model update not available'), gr.update(visible=False)] From bcba5cadab96623719415fd7a95e0a699c48e5f5 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 24 Nov 2023 18:06:09 -0500 Subject: [PATCH 05/42] add ip adapter and hdr latent control --- CHANGELOG.md | 10 ++++ modules/processing.py | 11 +++- modules/processing_correction.py | 57 +++++++++++++++++++ modules/processing_diffusers.py | 4 +- modules/txt2img.py | 5 +- modules/ui.py | 12 ++++ scripts/ipadapter.py | 96 ++++++++++++++++++++++++++++++++ scripts/xyz_grid.py | 5 ++ 8 files changed, 197 insertions(+), 3 deletions(-) create mode 100644 modules/processing_correction.py create mode 100644 scripts/ipadapter.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f1067662..a85a6af13 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ ## Update for 2023-11-24 +Note: Release pending `diffusers==0.24` + +- **Diffusers** + - **IP adapter** + - Lightweight implementation of T2I adapters which can guide generation towards specific image style + - Supports most T2I models, not limited to SD + - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) + - In *Advanced* params + - Allows control of *latent clamping*, *color centering* and *range maximimization* + - Supported by *XYZ grid* - **General** - log level defaults to info for console and debug for log file - better prompt display in process tab diff --git a/modules/processing.py b/modules/processing.py index 3c3faada5..0710264d1 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -121,7 +121,7 @@ class StableDiffusionProcessing: """ The first set of paramaters: sd_models -> do_not_reload_embeddings represent the minimum required to create a StableDiffusionProcessing """ - def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prompt: str = "", styles: List[str] = None, seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1, seed_enable_extras: bool = True, sampler_name: str = None, latent_sampler: str = None, batch_size: int = 1, n_iter: int = 1, steps: int = 50, cfg_scale: float = 7.0, image_cfg_scale: float = None, clip_skip: int = 1, width: int = 512, height: int = 512, full_quality: bool = True, restore_faces: bool = False, tiling: bool = False, do_not_save_samples: bool = False, do_not_save_grid: bool = False, extra_generation_params: Dict[Any, Any] = None, overlay_images: Any = None, negative_prompt: str = None, eta: float = None, do_not_reload_embeddings: bool = False, denoising_strength: float = 0, diffusers_guidance_rescale: float = 0.7, override_settings: Dict[str, Any] = None, override_settings_restore_afterwards: bool = True, sampler_index: int = None, script_args: list = None): # pylint: disable=unused-argument + def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prompt: str = "", styles: List[str] = None, seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1, seed_enable_extras: bool = True, sampler_name: str = None, latent_sampler: str = None, batch_size: int = 1, n_iter: int = 1, steps: int = 50, cfg_scale: float = 7.0, image_cfg_scale: float = None, clip_skip: int = 1, width: int = 512, height: int = 512, full_quality: bool = True, restore_faces: bool = False, tiling: bool = False, do_not_save_samples: bool = False, do_not_save_grid: bool = False, extra_generation_params: Dict[Any, Any] = None, overlay_images: Any = None, negative_prompt: str = None, eta: float = None, do_not_reload_embeddings: bool = False, denoising_strength: float = 0, diffusers_guidance_rescale: float = 0.7, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 3.5, hdr_center: bool = False, hdr_channel_shift: float = 0.8, hdr_full_shift: float = 0.8, hdr_maximize: bool = False, hdr_max_boundry: float = 4.0, override_settings: Dict[str, Any] = None, override_settings_restore_afterwards: bool = True, sampler_index: int = None, script_args: list = None): # pylint: disable=unused-argument self.outpath_samples: str = outpath_samples self.outpath_grids: str = outpath_grids @@ -203,6 +203,15 @@ class StableDiffusionProcessing: self.scripts_value: modules.scripts.ScriptRunner = field(default=None, init=False) self.script_args_value: list = field(default=None, init=False) self.scripts_setup_complete: bool = field(default=False, init=False) + # hdr + self.hdr_clamp = hdr_clamp + self.hdr_boundary = hdr_boundary + self.hdr_threshold = hdr_threshold + self.hdr_center = hdr_center + self.hdr_channel_shift = hdr_channel_shift + self.hdr_full_shift = hdr_full_shift + self.hdr_maximize = hdr_maximize + self.hdr_max_boundry = hdr_max_boundry @property diff --git a/modules/processing_correction.py b/modules/processing_correction.py new file mode 100644 index 000000000..5ddecc885 --- /dev/null +++ b/modules/processing_correction.py @@ -0,0 +1,57 @@ +""" +based on article by TimothyAlexisVass +https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space +""" + +import os +import torch +from modules import shared + + +debug = shared.log.info if os.environ.get('SD_HDR_DEBUG', None) is not None else lambda *args, **kwargs: None + + +def soft_clamp_tensor(input_tensor, threshold=3.5, boundary=4): + # shrinking towards the mean; will also remove outliers + if max(abs(input_tensor.max()), abs(input_tensor.min())) < 4: + return input_tensor + channel_dim = 1 + max_vals = input_tensor.max(channel_dim, keepdim=True)[0] + max_replace = ((input_tensor - threshold) / (max_vals - threshold)) * (boundary - threshold) + threshold + over_mask = input_tensor > threshold + min_vals = input_tensor.min(channel_dim, keepdim=True)[0] + min_replace = ((input_tensor + threshold) / (min_vals + threshold)) * (-boundary + threshold) - threshold + under_mask = input_tensor < -threshold + debug(f'HDE soft clamp: threshold={threshold} boundary={boundary}') + res = torch.where(over_mask, max_replace, torch.where(under_mask, min_replace, input_tensor)) + return res + + +def center_tensor(input_tensor, channel_shift=1.0, full_shift=1.0, channels=[0, 1, 2, 3]): + means = [] + for channel in channels: + means.append(input_tensor[0, channel].mean()) + input_tensor[0, channel] -= means[-1] * channel_shift + debug(f'HDR center: channel-shift{channel_shift} full-shift={full_shift} means={torch.stack(means)}') + res = input_tensor - input_tensor.mean() * full_shift + return res + + +def maximize_tensor(input_tensor, boundary=4.0, channels=[0, 1, 2]): + min_val = input_tensor.min() + max_val = input_tensor.max() + normalization_factor = boundary / max(abs(min_val), abs(max_val)) + input_tensor[0, channels] *= normalization_factor + debug(f'HDR maximize: boundary={boundary} min={min_val} max={max_val} factor={normalization_factor}') + return input_tensor + + +def correction_callback(p, timestep, kwags): + if timestep > 950 and p.hdr_clamp: + kwags["latents"] = soft_clamp_tensor(kwags["latents"], threshold=p.hdr_threshold, boundary=p.hdr_boundary) + if timestep > 700 and p.hdr_center: + kwags["latents"] = center_tensor(kwags["latents"], channel_shift=p.hdr_channel_shift, full_shift=p.hdr_full_shift) + if timestep > 1 and timestep < 100 and p.hdr_maximize: + kwags["latents"] = center_tensor(kwags["latents"], channel_shift=0.6, full_shift=1.0) + kwags["latents"] = maximize_tensor(kwags["latents"], boundary=p.hdr_max_boundry) + return kwags diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 1e984134b..55cbdb690 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -17,6 +17,7 @@ import modules.errors as errors from modules.processing import StableDiffusionProcessing, create_random_tensors import modules.prompt_parser_diffusers as prompt_parser_diffusers from modules.sd_hijack_hypertile import hypertile_set +from modules.processing_correction import correction_callback def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_prompts): @@ -71,7 +72,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro raise AssertionError('Interrupted...') time.sleep(0.1) - def diffusers_callback(_pipe, step: int, _timestep: int, kwargs: dict): + def diffusers_callback(_pipe, step: int, timestep: int, kwargs: dict): + latents = correction_callback(p, timestep, kwargs) latents = kwargs['latents'] shared.state.sampling_step = step shared.state.current_latent = latents diff --git a/modules/txt2img.py b/modules/txt2img.py index 899af07db..3e51190cc 100644 --- a/modules/txt2img.py +++ b/modules/txt2img.py @@ -4,7 +4,7 @@ from modules.generation_parameters_copypaste import create_override_settings_dic from modules.ui import plaintext_to_html -def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, steps: int, sampler_index: int, latent_index: int, full_quality: bool, restore_faces: bool, tiling: bool, n_iter: int, batch_size: int, cfg_scale: float, image_cfg_scale: float, diffusers_guidance_rescale: float, clip_skip: int, seed: int, subseed: int, subseed_strength: float, seed_resize_from_h: int, seed_resize_from_w: int, height: int, width: int, enable_hr: bool, denoising_strength: float, hr_scale: float, hr_upscaler: str, hr_force: bool, hr_second_pass_steps: int, hr_resize_x: int, hr_resize_y: int, refiner_steps: int, refiner_start: int, refiner_prompt: str, refiner_negative: str, override_settings_texts, *args): # pylint: disable=unused-argument +def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, steps: int, sampler_index: int, latent_index: int, full_quality: bool, restore_faces: bool, tiling: bool, n_iter: int, batch_size: int, cfg_scale: float, image_cfg_scale: float, diffusers_guidance_rescale: float, clip_skip: int, seed: int, subseed: int, subseed_strength: float, seed_resize_from_h: int, seed_resize_from_w: int, height: int, width: int, enable_hr: bool, denoising_strength: float, hr_scale: float, hr_upscaler: str, hr_force: bool, hr_second_pass_steps: int, hr_resize_x: int, hr_resize_y: int, refiner_steps: int, refiner_start: int, refiner_prompt: str, refiner_negative: str, hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_boundry, override_settings_texts, *args): # pylint: disable=unused-argument shared.log.debug(f'txt2img: id_task={id_task}|prompt={prompt}|negative_prompt={negative_prompt}|prompt_styles={prompt_styles}|steps={steps}|sampler_index={sampler_index}|latent_index={latent_index}|full_quality={full_quality}|restore_faces={restore_faces}|tiling={tiling}|n_iter={n_iter}|batch_size={batch_size}|cfg_scale={cfg_scale}|clip_skip={clip_skip}|seed={seed}|subseed={subseed}|subseed_strength={subseed_strength}|seed_resize_from_h={seed_resize_from_h}|seed_resize_from_w={seed_resize_from_w}||height={height}|width={width}|enable_hr={enable_hr}|denoising_strength={denoising_strength}|hr_scale={hr_scale}|hr_upscaler={hr_upscaler}|hr_force={hr_force}|hr_second_pass_steps={hr_second_pass_steps}|hr_resize_x={hr_resize_x}|hr_resize_y={hr_resize_y}|image_cfg_scale={image_cfg_scale}|diffusers_guidance_rescale={diffusers_guidance_rescale}|refiner_steps={refiner_steps}|refiner_start={refiner_start}|refiner_prompt={refiner_prompt}|refiner_negative={refiner_negative}|override_settings_texts={override_settings_texts}') @@ -57,6 +57,9 @@ def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, step refiner_start=refiner_start, refiner_prompt=refiner_prompt, refiner_negative=refiner_negative, + hdr_clamp=hdr_clamp, hdr_boundary=hdr_boundary, hdr_threshold=hdr_threshold, + hdr_center=hdr_center, hdr_channel_shift=hdr_channel_shift, hdr_full_shift=hdr_full_shift, + hdr_maximize=hdr_maximize, hdr_max_boundry=hdr_max_boundry, override_settings=override_settings, ) p.scripts = modules.scripts.scripts_txt2img diff --git a/modules/ui.py b/modules/ui.py index 0dcf9c25f..611d1c0ae 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -427,6 +427,17 @@ def create_ui(startup_timer = None): full_quality = gr.Checkbox(label='Full quality', value=True, elem_id="txt2img_full_quality") restore_faces = gr.Checkbox(label='Face restore', value=False, visible=len(modules.shared.face_restorers) > 1, elem_id="txt2img_restore_faces") tiling = gr.Checkbox(label='Tiling', value=False, elem_id="txt2img_tiling") + with FormRow(): + hdr_clamp = gr.Checkbox(label='HDR clamp', value=False, elem_id="txt2img_hdr_clamp") + hdr_boundary = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label='Range', elem_id="txt2img_hdr_boundary") + hdr_threshold = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label='Threshold', elem_id="txt2img_hdr_threshold") + with FormRow(): + hdr_center = gr.Checkbox(label='HDR center', value=False, elem_id="txt2img_hdr_center") + hdr_channel_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1.0, label='Channel shift', elem_id="txt2img_hdr_channel_shift") + hdr_full_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1, label='Full shift', elem_id="txt2img_hdr_full_shift") + with FormRow(): + hdr_maximize = gr.Checkbox(label='HDR maximize', value=False, elem_id="txt2img_hdr_maximize") + hdr_max_boundry = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label='range', elem_id="txt2img_hdr_max_boundry") with gr.Accordion(open=False, label="Second pass", elem_id="txt2img_second_pass", elem_classes=["small-accordion"]): with FormGroup(): @@ -493,6 +504,7 @@ def create_ui(startup_timer = None): enable_hr, denoising_strength, hr_scale, hr_upscaler, hr_force, hr_second_pass_steps, hr_resize_x, hr_resize_y, refiner_steps, refiner_start, refiner_prompt, refiner_negative, + hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_boundry, override_settings, ] + custom_inputs, outputs=[ diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py new file mode 100644 index 000000000..b9612e44c --- /dev/null +++ b/scripts/ipadapter.py @@ -0,0 +1,96 @@ +""" +lightweight ip-adapter applied to existing pipeline +- downloads image_encoder or first usage (2.5GB) +- introduced via: https://github.com/huggingface/diffusers/pull/5713 +- ip adapters: https://huggingface.co/h94/IP-Adapter +""" + +import gradio as gr +from modules import scripts, processing + + +image_encoder = None +ADAPTERS = [ + 'none', + 'models/ip-adapter_sd15', + 'models/ip-adapter_sd15_light', + # 'models/ip-adapter_sd15_vit-G', # RuntimeError: mat1 and mat2 shapes cannot be multiplied (2x1024 and 1280x3072) + # 'models/ip-adapter-plus_sd15', # KeyError: 'proj.weight' + # 'models/ip-adapter-plus-face_sd15', # KeyError: 'proj.weight' + # 'models/ip-adapter-full-face_sd15', # KeyError: 'proj.weight' + 'sdxl_models/ip-adapter_sdxl', + # 'sdxl_models/ip-adapter_sdxl_vit-h', + # 'sdxl_models/ip-adapter-plus_sdxl_vit-h', + # 'sdxl_models/ip-adapter-plus-face_sdxl_vit-h', +] + + +# main processing used in both modes +def before_process(p: processing.StableDiffusionProcessing, adapter, scale, image): + import torch + import transformers + from modules import shared, devices + + # init code + if shared.sd_model is None: + return + if adapter == 'none' or image is None: + if hasattr(shared.sd_model, 'set_ip_adapter_scale'): + shared.sd_model.set_ip_adapter_scale(0) + return + if shared.backend != shared.Backend.DIFFUSERS: + shared.log.warning('IP adapter: not in diffusers mode') + return + if not hasattr(shared.sd_model, 'load_ip_adapter'): + shared.log.error(f'IP adapter: pipeline not supported: {shared.sd_model.__class__.__name__}') + return + if getattr(shared.sd_model, 'image_encoder', None) is None: + if shared.sd_model_type == 'sd': + subfolder = 'models/image_encoder' + elif shared.sd_model_type == 'sdxl': + subfolder = 'sdxl_models/image_encoder' + else: + shared.log.error(f'IP adapter: unsupported model type: {shared.sd_model_type}') + return + global image_encoder # pylint: disable=global-statement + if image_encoder is None: + try: + image_encoder = transformers.CLIPVisionModelWithProjection.from_pretrained("h94/IP-Adapter", subfolder=subfolder, torch_dtype=torch.float16, cache_dir=shared.opts.diffusers_dir, use_safetensors=True).to(devices.device) + except Exception as e: + shared.log.error(f'IP adapter: failed to load image encoder: {e}') + return + + # main code + subfolder, model = adapter.split('/') + shared.log.info(f'IP adapter: scale={scale} adapter="{model}" image={image}') + shared.sd_model.image_encoder = image_encoder + shared.sd_model.load_ip_adapter("h94/IP-Adapter", subfolder=subfolder, weight_name=f'{model}.safetensors') + shared.sd_model.set_ip_adapter_scale(scale) + p.task_args = { 'ip_adapter_image': image } + p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}' + + +# defines script for dual-mode usage +class Script(scripts.Script): + # see below for all available options and callbacks + # + + def title(self): + return 'IP Adapter' + + def show(self, is_img2img): + return scripts.AlwaysVisible + + # return signature is array of gradio components + def ui(self, _is_img2img): + with gr.Accordion('IP Adapter', open=False, elem_id='ipadapter'): + with gr.Row(): + adapter = gr.Dropdown(label='Adapter', choices=ADAPTERS, value='none') + scale = gr.Slider(label='Scale', minimum=0.0, maximum=1.0, step=0.01, value=0.5) + with gr.Row(): + image = gr.Image(image_mode='RGB', label='Image', source='upload', type='pil', width=512) + return [adapter, scale, image] + + # triggered by callback + def before_process(self, p: processing.StableDiffusionProcessing, *args): # pylint: disable=arguments-differ + before_process(p, *args) diff --git a/scripts/xyz_grid.py b/scripts/xyz_grid.py index ad8cb65af..1ca2d838c 100644 --- a/scripts/xyz_grid.py +++ b/scripts/xyz_grid.py @@ -257,6 +257,11 @@ axis_options = [ AxisOption("[Refiner] Model", str, apply_refiner, fmt=format_value, cost=1.0, choices=lambda: ['None'] + sorted(sd_models.checkpoints_list)), AxisOption("[Refiner] Refiner start", float, apply_field("refiner_start")), AxisOption("[Refiner] Refiner steps", float, apply_field("refiner_steps")), + AxisOption("[HDR] Clamp boundary", float, apply_field("hdr_boundary")), + AxisOption("[HDR] Clamp threshold", float, apply_field("hdr_threshold")), + AxisOption("[HDR] Center channel shift", float, apply_field("hdr_channel_shift")), + AxisOption("[HDR] Center full shift", float, apply_field("hdr_full_shift")), + AxisOption("[HDR] Maximize boundary", float, apply_field("hdr_max_boundry")), AxisOption("[ToMe] Token merging ratio (txt2img)", float, apply_override('token_merging_ratio')), AxisOption("[ToMe] Token merging ratio (hires)", float, apply_override('token_merging_ratio_hr')), AxisOption("[FreeU] 1st stage backbone factor", float, apply_setting('freeu_b1')), From d7ff507e4c9165c3cbd114da315bde6365863c55 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 08:21:04 -0500 Subject: [PATCH 06/42] autodetect inpaint and instruct pipelines --- modules/sd_models.py | 13 +++++++++++++ modules/shared_items.py | 1 + 2 files changed, 14 insertions(+) diff --git a/modules/sd_models.py b/modules/sd_models.py index dccba9fe8..e8c98ddbc 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -604,6 +604,7 @@ def detect_pipeline(f: str, op: str = 'model', warning=True): warn = shared.log.warning if warning else lambda *args, **kwargs: None if guess == 'Autodetect': try: + # guess by size size = round(os.path.getsize(f) / 1024 / 1024) if size < 128: warn(f'Model size smaller than expected: {f} size={size} MB') @@ -636,6 +637,7 @@ def detect_pipeline(f: str, op: str = 'model', warning=True): guess = 'Stable Diffusion XL Instruct' else: guess = 'Stable Diffusion' + # guess by name if 'LCM_' in f or 'LCM-' in f: if shared.backend == shared.Backend.ORIGINAL: warn(f'Model detected as LCM model, but attempting to load using backend=original: {op}={f} size={size} MB') @@ -644,6 +646,16 @@ def detect_pipeline(f: str, op: str = 'model', warning=True): if shared.backend == shared.Backend.ORIGINAL: warn(f'Model detected as PixArt Alpha model, but attempting to load using backend=original: {op}={f} size={size} MB') guess = 'PixArt Alpha' + # switch for specific variant + if guess == 'Stable Diffusion' and 'inpaint' in f.lower(): + guess = 'Stable Diffusion Inpaint' + elif guess == 'Stable Diffusion' and 'instruct' in f.lower(): + guess = 'Stable Diffusion Instruct' + if guess == 'Stable Diffusion XL' and 'inpaint' in f.lower(): + guess = 'Stable Diffusion XL Inpaint' + elif guess == 'Stable Diffusion XL' and 'instruct' in f.lower(): + guess = 'Stable Diffusion XL Instruct' + # get actual pipeline pipeline = shared_items.get_pipelines().get(guess, None) shared.log.info(f'Autodetect: {op}="{guess}" class={pipeline.__name__} file="{f}" size={size}MB') except Exception as e: @@ -889,6 +901,7 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No shared.log.debug(f'Setting {op}: pipeline={sd_model.__class__.__name__} config={diffusers_load_config}') # pylint: disable=protected-access except Exception as e: shared.log.error(f'Diffusers failed loading: {op}={checkpoint_info.path} pipeline={shared.opts.diffusers_pipeline}/{sd_model.__class__.__name__} {e}') + errors.display(e, f'loading {op}={checkpoint_info.path} pipeline={shared.opts.diffusers_pipeline}/{sd_model.__class__.__name__}') return else: shared.log.error(f'Diffusers cannot load: {op}={checkpoint_info.path}') diff --git a/modules/shared_items.py b/modules/shared_items.py index 72d8cbfca..f378b93e5 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -30,6 +30,7 @@ def get_pipelines(): pipelines = { # note: not all pipelines can be used manually as they require prior pipeline next to decoder pipeline 'Autodetect': None, 'Stable Diffusion': getattr(diffusers, 'StableDiffusionPipeline', None), + 'Stable Diffusion Inpaint': getattr(diffusers, 'StableDiffusionInpaintPipeline', None), 'Stable Diffusion Img2Img': getattr(diffusers, 'StableDiffusionImg2ImgPipeline', None), 'Stable Diffusion Instruct': getattr(diffusers, 'StableDiffusionInstructPix2PixPipeline', None), 'Stable Diffusion Upscale': getattr(diffusers, 'StableDiffusionUpscalePipeline', None), From 9bd66e578ade67dea4055c09d7497baff383c06f Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 10:16:03 -0500 Subject: [PATCH 07/42] fix prompt padding --- CHANGELOG.md | 2 ++ modules/prompt_parser_diffusers.py | 12 ++++++------ modules/sd_models.py | 6 +++--- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a85a6af13..e416db3a2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ Note: Release pending `diffusers==0.24` - In *Advanced* params - Allows control of *latent clamping*, *color centering* and *range maximimization* - Supported by *XYZ grid* + - better autodetection of *inpaint* and *instruct* pipelines + - support long seconary prompt for refiner - **General** - log level defaults to info for console and debug for log file - better prompt display in process tab diff --git a/modules/prompt_parser_diffusers.py b/modules/prompt_parser_diffusers.py index 735cf995a..abd06b778 100644 --- a/modules/prompt_parser_diffusers.py +++ b/modules/prompt_parser_diffusers.py @@ -59,9 +59,9 @@ class DiffusersTextualInversionManager(BaseTextualInversionManager): return self.pipe.tokenizer.encode(prompt, add_special_tokens=False) -def encode_prompts(pipeline, prompts: list, negative_prompts: list, clip_skip: typing.Optional[int] = None): - if 'StableDiffusion' not in pipeline.__class__.__name__: - shared.log.warning(f"Prompt parser not supported: {pipeline.__class__.__name__}") +def encode_prompts(pipe, prompts: list, negative_prompts: list, clip_skip: typing.Optional[int] = None): + if 'StableDiffusion' not in pipe.__class__.__name__: + shared.log.warning(f"Prompt parser not supported: {pipe.__class__.__name__}") return None, None, None, None else: prompt_embeds = [] @@ -69,7 +69,7 @@ def encode_prompts(pipeline, prompts: list, negative_prompts: list, clip_skip: t negative_embeds = [] negative_pooleds = [] for i in range(len(prompts)): - prompt_embed, positive_pooled, negative_embed, negative_pooled = get_weighted_text_embeddings(pipeline, prompts[i], negative_prompts[i], clip_skip) + prompt_embed, positive_pooled, negative_embed, negative_pooled = get_weighted_text_embeddings(pipe, prompts[i], negative_prompts[i], clip_skip) prompt_embeds.append(prompt_embed) positive_pooleds.append(positive_pooled) negative_embeds.append(negative_embed) @@ -118,9 +118,9 @@ def prepare_embedding_providers(pipe, clip_skip): def pad_to_same_length(pipe, embeds): device = pipe.device if str(pipe.device) != 'meta' else devices.device try: #SDXL - empty_embed = shared.sd_model.encode_prompt("") + empty_embed = pipe.encode_prompt("") except Exception: #SD1.5 - empty_embed = shared.sd_model.encode_prompt("", device, 1, False) + empty_embed = pipe.encode_prompt("", device, 1, False) empty_batched = torch.cat([empty_embed[0].to(embeds[0].device)] * embeds[0].shape[0]) max_token_count = max([embed.shape[1] for embed in embeds]) for i, embed in enumerate(embeds): diff --git a/modules/sd_models.py b/modules/sd_models.py index e8c98ddbc..42a05e286 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -742,13 +742,13 @@ def set_diffuser_options(sd_model, vae, op: str): sd_model.enable_xformers_memory_efficient_attention() if shared.opts.diffusers_eval: - if hasattr(sd_model, "unet"): + if hasattr(sd_model, "unet") and hasattr(sd_model.unet, "requires_grad_"): sd_model.unet.requires_grad_(False) sd_model.unet.eval() - if hasattr(sd_model, "vae"): + if hasattr(sd_model, "vae") and hasattr(sd_model.vae, "requires_grad_"): sd_model.vae.requires_grad_(False) sd_model.vae.eval() - if hasattr(sd_model, "text_encoder"): + if hasattr(sd_model, "text_encoder") and hasattr(sd_model.text_encoder, "requires_grad_"): sd_model.text_encoder.requires_grad_(False) sd_model.text_encoder.eval() From 128bbe5561ef40bc8aa3911896362ddcefd87e67 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 11:53:51 -0500 Subject: [PATCH 08/42] fix img2img/inpaint paste params --- CHANGELOG.md | 1 + modules/img2img.py | 1 - modules/processing.py | 6 +++++- modules/sd_models.py | 13 ++++++++----- repositories/ldm/models/diffusion/ddpm.py | 2 +- repositories/ldm/modules/encoders/modules.py | 4 ++-- repositories/ldm/util.py | 2 +- 7 files changed, 18 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e416db3a2..ad98ed3db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ Note: Release pending `diffusers==0.24` - better prompt display in process tab - increase maximum lora cache values - fix for python 3.9 compatibility + - fix img2img/inpaint paste params ## Update for 2023-11-23 diff --git a/modules/img2img.py b/modules/img2img.py index 0152cf9d5..e0fd159b0 100644 --- a/modules/img2img.py +++ b/modules/img2img.py @@ -208,7 +208,6 @@ def img2img(id_task: str, mode: int, prompt: str, negative_prompt: str, prompt_s p.scale_by = scale_by p.scripts = modules.scripts.scripts_img2img p.script_args = args - p.extra_generation_params['Resize mode'] = resize_mode if mask: p.extra_generation_params["Mask blur"] = mask_blur p.extra_generation_params["Mask alpha"] = mask_alpha diff --git a/modules/processing.py b/modules/processing.py index 0710264d1..6e4485dfd 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -606,10 +606,14 @@ def create_infotext(p: StableDiffusionProcessing, all_prompts=None, all_seeds=No args["Init image size"] = f"{getattr(p, 'init_img_width', 0)}x{getattr(p, 'init_img_height', 0)}" args["Init image hash"] = getattr(p, 'init_img_hash', None) args["Mask weight"] = getattr(p, "inpainting_mask_weight", shared.opts.inpainting_mask_weight) if p.is_using_inpainting_conditioning else None - args['Resize mode'] = getattr(p, 'resize_mode', None) args['Resize scale'] = getattr(p, 'scale_by', None) args["Mask blur"] = p.mask_blur if getattr(p, 'mask', None) is not None and getattr(p, 'mask_blur', 0) > 0 else None args["Denoising strength"] = getattr(p, 'denoising_strength', None) + # lookup by index + if getattr(p, 'resize_mode', None) is not None: + RESIZE_MODES = ["None", "Resize fixed", "Crop and resize", "Resize and fill", "Latent upscale"] + args['Resize mode'] = RESIZE_MODES[p.resize_mode] + # TODO missing-by-index: inpainting_fill, inpaint_full_res, inpainting_mask_invert if 'face' in p.ops: args["Face restoration"] = shared.opts.face_restoration_model if 'color' in p.ops: diff --git a/modules/sd_models.py b/modules/sd_models.py index 42a05e286..79d591ffe 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -473,6 +473,9 @@ def load_model_weights(model: torch.nn.Module, checkpoint_info: CheckpointInfo, model.sd_model_hash = checkpoint_info.calculate_shorthash() model.sd_model_checkpoint = checkpoint_info.filename model.sd_checkpoint_info = checkpoint_info + model.is_sdxl = False # a1111 compatibility item + model.is_sd2 = False # a1111 compatibility item + model.is_sd1 = True # a1111 compatibility item shared.opts.data["sd_checkpoint_hash"] = checkpoint_info.sha256 model.logvar = model.logvar.to(devices.device) # fix for training sd_vae.delete_base_vae() @@ -549,10 +552,6 @@ class ModelData: with self.lock: try: self.sd_model = reload_model_weights(op='model') - if self.sd_model is not None: - self.sd_model.is_sdxl = False # a1111 compatibility item - self.sd_model.is_sd2 = False # a1111 compatibility item - self.sd_model.is_sd1 = True # a1111 compatibility item self.initial = False except Exception as e: shared.log.error("Failed to load stable diffusion model") @@ -1107,12 +1106,16 @@ def load_model(checkpoint_info=None, already_loaded_state_dict=None, timer=None, sd_model = None stdout = io.StringIO() with contextlib.redirect_stdout(stdout): + """ try: clip_is_included_into_sd = sd1_clip_weight in state_dict or sd2_clip_weight in state_dict with sd_disable_initialization.DisableInitialization(disable_clip=clip_is_included_into_sd): sd_model = instantiate_from_config(sd_config.model) - except Exception: + except Exception as e: + shared.log.error(f'LDM: instantiate from config: {e}') sd_model = instantiate_from_config(sd_config.model) + """ + sd_model = instantiate_from_config(sd_config.model) for line in stdout.getvalue().splitlines(): if len(line) > 0: shared.log.info(f'LDM: {line.strip()}') diff --git a/repositories/ldm/models/diffusion/ddpm.py b/repositories/ldm/models/diffusion/ddpm.py index 3350c032f..99879b224 100644 --- a/repositories/ldm/models/diffusion/ddpm.py +++ b/repositories/ldm/models/diffusion/ddpm.py @@ -81,7 +81,7 @@ class DDPM(pl.LightningModule): super().__init__() assert parameterization in ["eps", "x0", "v"], 'currently only supporting "eps" and "x0" and "v"' self.parameterization = parameterization - print(f"{self.__class__.__name__}: Running in {self.parameterization}-prediction mode") + print(f"{self.__class__.__name__}: mode={self.parameterization}") self.cond_stage_model = None self.clip_denoised = clip_denoised self.log_every_t = log_every_t diff --git a/repositories/ldm/modules/encoders/modules.py b/repositories/ldm/modules/encoders/modules.py index 523a7d853..8208d9471 100644 --- a/repositories/ldm/modules/encoders/modules.py +++ b/repositories/ldm/modules/encoders/modules.py @@ -301,8 +301,8 @@ class FrozenCLIPT5Encoder(AbstractEncoder): super().__init__() self.clip_encoder = FrozenCLIPEmbedder(clip_version, device, max_length=clip_max_length) self.t5_encoder = FrozenT5Embedder(t5_version, device, max_length=t5_max_length) - print(f"{self.clip_encoder.__class__.__name__} has {count_params(self.clip_encoder) * 1.e-6:.2f} M parameters, " - f"{self.t5_encoder.__class__.__name__} comes with {count_params(self.t5_encoder) * 1.e-6:.2f} M params.") + print(f"{self.clip_encoder.__class__.__name__} params={count_params(self.clip_encoder) * 1.e-6:.2f} M " + f"{self.t5_encoder.__class__.__name__} params={count_params(self.t5_encoder) * 1.e-6:.2f} M") def encode(self, text): return self(text) diff --git a/repositories/ldm/util.py b/repositories/ldm/util.py index 9ede259d5..bafa440d0 100644 --- a/repositories/ldm/util.py +++ b/repositories/ldm/util.py @@ -75,7 +75,7 @@ def mean_flat(tensor): def count_params(model, verbose=False): total_params = sum(p.numel() for p in model.parameters()) if verbose: - print(f"{model.__class__.__name__} has {total_params*1.e-6:.2f} M params.") + print(f"{model.__class__.__name__} params={total_params*1.e-6:.2f}M") return total_params From a6a3216d2e0008f844cc35b6b647c154bf198846 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 12:30:25 -0500 Subject: [PATCH 09/42] ipadapter batch/cache/unload --- scripts/ipadapter.py | 111 ++++++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 49 deletions(-) diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py index b9612e44c..1bc7a3a7a 100644 --- a/scripts/ipadapter.py +++ b/scripts/ipadapter.py @@ -10,6 +10,7 @@ from modules import scripts, processing image_encoder = None +loaded = None ADAPTERS = [ 'none', 'models/ip-adapter_sd15', @@ -25,52 +26,6 @@ ADAPTERS = [ ] -# main processing used in both modes -def before_process(p: processing.StableDiffusionProcessing, adapter, scale, image): - import torch - import transformers - from modules import shared, devices - - # init code - if shared.sd_model is None: - return - if adapter == 'none' or image is None: - if hasattr(shared.sd_model, 'set_ip_adapter_scale'): - shared.sd_model.set_ip_adapter_scale(0) - return - if shared.backend != shared.Backend.DIFFUSERS: - shared.log.warning('IP adapter: not in diffusers mode') - return - if not hasattr(shared.sd_model, 'load_ip_adapter'): - shared.log.error(f'IP adapter: pipeline not supported: {shared.sd_model.__class__.__name__}') - return - if getattr(shared.sd_model, 'image_encoder', None) is None: - if shared.sd_model_type == 'sd': - subfolder = 'models/image_encoder' - elif shared.sd_model_type == 'sdxl': - subfolder = 'sdxl_models/image_encoder' - else: - shared.log.error(f'IP adapter: unsupported model type: {shared.sd_model_type}') - return - global image_encoder # pylint: disable=global-statement - if image_encoder is None: - try: - image_encoder = transformers.CLIPVisionModelWithProjection.from_pretrained("h94/IP-Adapter", subfolder=subfolder, torch_dtype=torch.float16, cache_dir=shared.opts.diffusers_dir, use_safetensors=True).to(devices.device) - except Exception as e: - shared.log.error(f'IP adapter: failed to load image encoder: {e}') - return - - # main code - subfolder, model = adapter.split('/') - shared.log.info(f'IP adapter: scale={scale} adapter="{model}" image={image}') - shared.sd_model.image_encoder = image_encoder - shared.sd_model.load_ip_adapter("h94/IP-Adapter", subfolder=subfolder, weight_name=f'{model}.safetensors') - shared.sd_model.set_ip_adapter_scale(scale) - p.task_args = { 'ip_adapter_image': image } - p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}' - - -# defines script for dual-mode usage class Script(scripts.Script): # see below for all available options and callbacks # @@ -91,6 +46,64 @@ class Script(scripts.Script): image = gr.Image(image_mode='RGB', label='Image', source='upload', type='pil', width=512) return [adapter, scale, image] - # triggered by callback - def before_process(self, p: processing.StableDiffusionProcessing, *args): # pylint: disable=arguments-differ - before_process(p, *args) + def before_process(self, p: processing.StableDiffusionProcessing, adapter, scale, image): # pylint: disable=arguments-differ + import torch + from transformers import CLIPVisionModelWithProjection + from modules import shared, devices + + # init code + global loaded # pylint: disable=global-statement + if shared.sd_model is None: + return + if shared.backend != shared.Backend.DIFFUSERS: + shared.log.warning('IP adapter: not in diffusers mode') + return + if not hasattr(shared.sd_model, 'load_ip_adapter'): + shared.log.error(f'IP adapter: pipeline not supported: {shared.sd_model.__class__.__name__}') + return + if image is None: + shared.log.error('IP adapter: no image') + return + if adapter == 'none': + if hasattr(shared.sd_model, 'set_ip_adapter_scale'): + shared.sd_model.set_ip_adapter_scale(0) + if loaded is not None: + shared.log.debug('IP adapter: unload attention processor') + shared.sd_model.unet.set_default_attn_processor() + shared.sd_model.unet.config.encoder_hid_dim_type = None + loaded = None + return + if getattr(shared.sd_model, 'image_encoder', None) is None: + if shared.sd_model_type == 'sd': + subfolder = 'models/image_encoder' + elif shared.sd_model_type == 'sdxl': + subfolder = 'sdxl_models/image_encoder' + else: + shared.log.error(f'IP adapter: unsupported model type: {shared.sd_model_type}') + return + global image_encoder # pylint: disable=global-statement + if image_encoder is None: + try: + image_encoder = CLIPVisionModelWithProjection.from_pretrained("h94/IP-Adapter", subfolder=subfolder, torch_dtype=torch.float16, cache_dir=shared.opts.diffusers_dir, use_safetensors=True).to(devices.device) + except Exception as e: + shared.log.error(f'IP adapter: failed to load image encoder: {e}') + return + + # main code + subfolder, model = adapter.split('/') + if model != loaded: + if loaded is not None: + shared.log.debug('IP adapter: reset attention processor') + shared.sd_model.unet.set_default_attn_processor() + shared.log.info(f'IP adapter load: adapter="{model}" scale={scale} image={image}') + shared.sd_model.image_encoder = image_encoder + shared.sd_model.load_ip_adapter("h94/IP-Adapter", subfolder=subfolder, weight_name=f'{model}.safetensors') + loaded = model + else: + shared.log.debug(f'IP adapter cache: adapter="{model}" scale={scale} image={image}') + shared.sd_model.set_ip_adapter_scale(scale) + p.task_args = { 'ip_adapter_image': p.batch_size * [image] } + p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}' + + def after_process(self, _p: processing.StableDiffusionProcessing): # pylint: disable=arguments-differ + pass From 1502dc2e13636953e9473f8db4db3a2564e763ef Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 13:27:16 -0500 Subject: [PATCH 10/42] add kandinsky3 support --- CHANGELOG.md | 8 +++++++- extensions-builtin/Lora/extra_networks_lora.py | 5 +++-- html/reference.json | 5 +++++ modules/shared_items.py | 2 +- scripts/ipadapter.py | 12 ++++++------ 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad98ed3db..48f70e970 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,13 +12,19 @@ Note: Release pending `diffusers==0.24` - In *Advanced* params - Allows control of *latent clamping*, *color centering* and *range maximimization* - Supported by *XYZ grid* + - **Kandinsky 3** support + - download using built-in model downloader or simply select from networks -> reference + - this model is absolutely massive at 27.5GB at fp16, so be patient + - model params count is at 11.9B (compared to SD-XL at 3.3B) and its trained on mixed resolutions from 256px to 1024px + - use either model offload or sequential cpu offload to be able to use it - better autodetection of *inpaint* and *instruct* pipelines - support long seconary prompt for refiner - **General** - log level defaults to info for console and debug for log file - better prompt display in process tab - increase maximum lora cache values - - fix for python 3.9 compatibility + - fix controlnet compatibility issues in original backend + - fix python 3.9 compatibility issues - fix img2img/inpaint paste params ## Update for 2023-11-23 diff --git a/extensions-builtin/Lora/extra_networks_lora.py b/extensions-builtin/Lora/extra_networks_lora.py index 82aa82454..5256ea94a 100644 --- a/extensions-builtin/Lora/extra_networks_lora.py +++ b/extensions-builtin/Lora/extra_networks_lora.py @@ -64,8 +64,9 @@ class ExtraNetworkLora(extra_networks.ExtraNetwork): self.active = False def deactivate(self, p): - if shared.backend == shared.Backend.DIFFUSERS and hasattr(shared.sd_model, "unload_lora_weights"): - shared.sd_model.unload_lora_weights() + if shared.backend == shared.Backend.DIFFUSERS and hasattr(shared.sd_model, "unload_lora_weights") and hasattr(shared.sd_model, "text_encoder"): + if 'CLIP' in shared.sd_model.text_encoder.__class__.__name__: + shared.sd_model.unload_lora_weights() if not self.active and getattr(networks, "originals", None ) is not None: networks.originals.undo() # remove patches if networks.debug: diff --git a/html/reference.json b/html/reference.json index d1b2884dc..5ea827fe1 100644 --- a/html/reference.json +++ b/html/reference.json @@ -54,6 +54,11 @@ "desc": "Kandinsky 2.2 is a text-conditional diffusion model (+0.1!) 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.", "preview": "kandinsky-community--kandinsky-2-2-decoder.jpg" }, + "Kandinsky 3": { + "path": "kandinsky-community/kandinsky-3", + "desc": "Kandinsky 3.0 is an open-source text-to-image diffusion model built upon the Kandinsky2-x model family. In comparison to its predecessors, Kandinsky 3.0 incorporates more data and specifically related to Russian culture, which allows to generate pictures related to Russin culture. Furthermore, enhancements have been made to the text understanding and visual quality of the model, achieved by increasing the size of the text encoder and Diffusion U-Net models, respectively.", + "preview": "kandinsky-community--kandinsky-3.jpg" + }, "DeepFloyd IF Medium": { "path": "DeepFloyd/IF-I-M-v1.0", "desc": "DeepFloyd-IF is a pixel-based text-to-image triple-cascaded diffusion model, that can generate pictures with new state-of-the-art for photorealism and language understanding. The result is a highly efficient model that outperforms current state-of-the-art models, achieving a zero-shot FID-30K score of 6.66 on the COCO dataset. It is modular and composed of frozen text mode and three pixel cascaded diffusion modules, each designed to generate images of increasing resolution: 64x64, 256x256, and 1024x1024.", diff --git a/modules/shared_items.py b/modules/shared_items.py index f378b93e5..b0d4f1ec4 100644 --- a/modules/shared_items.py +++ b/modules/shared_items.py @@ -44,7 +44,7 @@ def get_pipelines(): 'Wuerstchen': getattr(diffusers, 'WuerstchenCombinedPipeline', None), 'Kandinsky 2.1': getattr(diffusers, 'KandinskyPipeline', None), 'Kandinsky 2.2': getattr(diffusers, 'KandinskyV22Pipeline', None), - # 'Kandinsky 3': getattr(diffusers, 'KandinskyV3Pipeline', None), + 'Kandinsky 3': getattr(diffusers, 'Kandinsky3Pipeline', None), 'DeepFloyd IF': getattr(diffusers, 'IFPipeline', None), 'Custom Diffusers Pipeline': getattr(diffusers, 'DiffusionPipeline', None), # Segmind SSD-1B, Segmind Tiny diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py index 1bc7a3a7a..33e5f623a 100644 --- a/scripts/ipadapter.py +++ b/scripts/ipadapter.py @@ -58,12 +58,6 @@ class Script(scripts.Script): if shared.backend != shared.Backend.DIFFUSERS: shared.log.warning('IP adapter: not in diffusers mode') return - if not hasattr(shared.sd_model, 'load_ip_adapter'): - shared.log.error(f'IP adapter: pipeline not supported: {shared.sd_model.__class__.__name__}') - return - if image is None: - shared.log.error('IP adapter: no image') - return if adapter == 'none': if hasattr(shared.sd_model, 'set_ip_adapter_scale'): shared.sd_model.set_ip_adapter_scale(0) @@ -73,6 +67,12 @@ class Script(scripts.Script): shared.sd_model.unet.config.encoder_hid_dim_type = None loaded = None return + if image is None: + shared.log.error('IP adapter: no image') + return + if not hasattr(shared.sd_model, 'load_ip_adapter'): + shared.log.error(f'IP adapter: pipeline not supported: {shared.sd_model.__class__.__name__}') + return if getattr(shared.sd_model, 'image_encoder', None) is None: if shared.sd_model_type == 'sd': subfolder = 'models/image_encoder' From 45e3eb5d79d2b2b0f032b96e05c0fde07d5ce140 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 25 Nov 2023 13:36:13 -0500 Subject: [PATCH 11/42] update readme --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ac2085039..e707fc63c 100644 --- a/README.md +++ b/README.md @@ -62,11 +62,11 @@ Additional models will be added as they become available and there is public int - [StabilityAI Stable Diffusion XL](https://github.com/Stability-AI/generative-models) - [Segmind SSD-1B](https://huggingface.co/segmind/SSD-1B) - [LCM: Latent Consistency Models](https://github.com/openai/consistency_models) -- [Kandinsky](https://github.com/ai-forever/Kandinsky-2) 2.1 and 2.2 -- [PixArt-α XL 2](https://github.com/PixArt-alpha/PixArt-alpha) Medium and Large +- [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* - [Warp Wuerstchen](https://huggingface.co/blog/wuertschen) - [Tsinghua UniDiffusion](https://github.com/thu-ml/unidiffuser) -- [DeepFloyd IF](https://github.com/deep-floyd/IF) Medium and Large +- [DeepFloyd IF](https://github.com/deep-floyd/IF) *Medium and Large* - [Segmind SD Distilled](https://huggingface.co/blog/sd_distillation) *(all variants)* > [!IMPORTANT] @@ -94,6 +94,7 @@ Additional models will be added as they become available and there is public int - [Advanced install notes](https://github.com/vladmandic/automatic/wiki/Advanced-Install) - [Common installation errors](https://github.com/vladmandic/automatic/discussions/1627) - [FAQ](https://github.com/vladmandic/automatic/discussions/1011) +- If you can't run us locally, try our friends at [RunDuffusion!](https://rundiffusion.com?utm_source=github&utm_medium=referral&utm_campaign=SDNext) > [!TIP] > - Server can run without virtual environment, From 6d11fdf695bacb664b3ded4ad655bb597334d3e5 Mon Sep 17 00:00:00 2001 From: AI-Casanova <54461896+AI-Casanova@users.noreply.github.com> Date: Sat, 25 Nov 2023 15:23:30 -0600 Subject: [PATCH 12/42] SDXL Rebasin (#2561) * Add SDXL PermSpec Also attempt to fix unmatched key error * Fixes * Renumber SDXL PermSpec --- modules/merging/merge.py | 10 +- modules/merging/merge_PermSpec.py | 485 ++++++ modules/merging/merge_PermSpec_SDXL.py | 1860 +++++++++++++++++++++ modules/merging/merge_rebasin.py | 2039 +----------------------- 4 files changed, 2353 insertions(+), 2041 deletions(-) create mode 100644 modules/merging/merge_PermSpec.py create mode 100644 modules/merging/merge_PermSpec_SDXL.py diff --git a/modules/merging/merge.py b/modules/merging/merge.py index 4ea76fc2d..1f1ab55b4 100644 --- a/modules/merging/merge.py +++ b/modules/merging/merge.py @@ -13,10 +13,11 @@ from modules.merging import merge_methods from modules.merging.merge_utils import WeightClass from modules.merging.merge_rebasin import ( apply_permutation, - sdunet_permutation_spec, update_model_a, weight_matching, ) +from modules.merging.merge_PermSpec import sdunet_permutation_spec +from modules.merging.merge_PermSpec_SDXL import sdxl_permutation_spec ########################################################## # Files in modules.merging are heavily modified # versions of sd-meh by @s1dxl used with his blessing @@ -239,7 +240,10 @@ def rebasin_merge( ): # not sure how this does when 3 models are involved... model_a = thetas["model_a"].clone() - perm_spec = sdunet_permutation_spec() + if weight_matcher.SDXL: + perm_spec = sdxl_permutation_spec() + else: + perm_spec = sdunet_permutation_spec() for it in range(iterations): log_vram(f"rebasin: iteration={it}") @@ -319,7 +323,7 @@ def merge_key( # pylint: disable=inconsistent-return-statements for theta in thetas.values(): if key not in theta.keys(): - return + return thetas["model_a"][key] current_bases = weight_matcher(key) try: diff --git a/modules/merging/merge_PermSpec.py b/modules/merging/merge_PermSpec.py new file mode 100644 index 000000000..8ace6ef61 --- /dev/null +++ b/modules/merging/merge_PermSpec.py @@ -0,0 +1,485 @@ +from modules.merging.merge_rebasin import PermutationSpec, permutation_spec_from_axes_to_perm +def sdunet_permutation_spec() -> PermutationSpec: + conv = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + f"{name}.weight": ( + p_out, + p_in, + ), + f"{name}.bias": (p_out,), + } + norm = lambda name, p: {f"{name}.weight": (p,), f"{name}.bias": (p,)} # pylint: disable=unnecessary-lambda-assignment + dense = ( + lambda name, p_in, p_out, bias=True: { # pylint: disable=unnecessary-lambda-assignment + f"{name}.weight": (p_out, p_in), + f"{name}.bias": (p_out,), + } + if bias + else {f"{name}.weight": (p_out, p_in)} + ) + skip = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + f"{name}": ( + p_out, + p_in, + None, + None, + ) + } + + # Unet Res blocks + easyblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + **norm(f"{name}.in_layers.0", p_in), + **conv(f"{name}.in_layers.2", p_in, f"P_{name}_inner"), + **dense( + f"{name}.emb_layers.1", f"P_{name}_inner2", f"P_{name}_inner3", bias=True + ), + **norm(f"{name}.out_layers.0", f"P_{name}_inner4"), + **conv(f"{name}.out_layers.3", f"P_{name}_inner4", p_out), + } + + # VAE blocks - Unused + easyblock2 = lambda name, p: { # pylint: disable=unnecessary-lambda-assignment + **norm(f"{name}.norm1", p), + **conv(f"{name}.conv1", p, f"P_{name}_inner"), + **norm(f"{name}.norm2", f"P_{name}_inner"), + **conv(f"{name}.conv2", f"P_{name}_inner", p), + } + + # This is for blocks that use a residual connection, but change the number of channels via a Conv. + shortcutblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + **norm(f"{name}.norm1", p_in), + **conv(f"{name}.conv1", p_in, f"P_{name}_inner"), + **norm(f"{name}.norm2", f"P_{name}_inner"), + **conv(f"{name}.conv2", f"P_{name}_inner", p_out), + **conv(f"{name}.nin_shortcut", p_in, p_out), + **norm(f"{name}.nin_shortcut", p_out), + } + + return permutation_spec_from_axes_to_perm( + { + # Skipped Layers + **skip("betas", None, None), + **skip("alphas_cumprod", None, None), + **skip("alphas_cumprod_prev", None, None), + **skip("sqrt_alphas_cumprod", None, None), + **skip("sqrt_one_minus_alphas_cumprod", None, None), + **skip("log_one_minus_alphas_cumprods", None, None), + **skip("sqrt_recip_alphas_cumprod", None, None), + **skip("sqrt_recipm1_alphas_cumprod", None, None), + **skip("posterior_variance", None, None), + **skip("posterior_log_variance_clipped", None, None), + **skip("posterior_mean_coef1", None, None), + **skip("posterior_mean_coef2", None, None), + **skip("log_one_minus_alphas_cumprod", None, None), + **skip("model_ema.decay", None, None), + **skip("model_ema.num_updates", None, None), + # initial + **dense("model.diffusion_model.time_embed.0", None, "P_bg0", bias=True), + **dense("model.diffusion_model.time_embed.2", "P_bg0", "P_bg1", bias=True), + **conv("model.diffusion_model.input_blocks.0.0", "P_bg2", "P_bg3"), + # input blocks + **easyblock("model.diffusion_model.input_blocks.1.0", "P_bg4", "P_bg5"), + **norm("model.diffusion_model.input_blocks.1.1.norm", "P_bg6"), + **conv("model.diffusion_model.input_blocks.1.1.proj_in", "P_bg6", "P_bg7"), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_q", "P_bg8", "P_bg9", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_k", "P_bg8", "P_bg9", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_v", "P_bg8", "P_bg9", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_out.0", "P_bg8", "P_bg9", bias=True), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.0.proj", "P_bg10", "P_bg11", bias=True), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.2", "P_bg12", "P_bg13", bias=True), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_q", "P_bg14", "P_bg15", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_k", "P_bg16", "P_bg17", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_v", "P_bg16", "P_bg17", bias=False), + **dense("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_out.0", "P_bg18", "P_bg19", bias=True), + **norm("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm1", "P_bg19"), + **norm("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm2", "P_bg19"), + **norm("model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm3", "P_bg19"), + **conv("model.diffusion_model.input_blocks.1.1.proj_out", "P_bg19", "P_bg20"), + **easyblock("model.diffusion_model.input_blocks.2.0", "P_bg21", "P_bg22"), + **norm("model.diffusion_model.input_blocks.2.1.norm", "P_bg23"), + **conv("model.diffusion_model.input_blocks.2.1.proj_in", "P_bg23", "P_bg24"), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_q", "P_bg25", "P_bg26", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_k", "P_bg25", "P_bg26", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_v", "P_bg25", "P_bg26", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_out.0", "P_bg25", "P_bg26", bias=True), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.0.proj", "P_bg27", "P_bg28", bias=True), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.2", "P_bg29", "P_bg30", bias=True), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_q", "P_bg31", "P_bg32", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k", "P_bg33", "P_bg34", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_v", "P_bg33", "P_bg34", bias=False), + **dense("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_out.0", "P_bg35", "P_bg36", bias=True), + **norm("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm1", "P_bg36"), + **norm("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm2", "P_bg36"), + **norm("model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm3", "P_bg36"), + **conv("model.diffusion_model.input_blocks.2.1.proj_out", "P_bg36", "P_bg37"), + **conv("model.diffusion_model.input_blocks.3.0.op", "P_bg38", "P_bg39"), + **easyblock("model.diffusion_model.input_blocks.4.0", "P_bg40", "P_bg41"), + **conv("model.diffusion_model.input_blocks.4.0.skip_connection", "P_bg42", "P_bg43"), + **norm("model.diffusion_model.input_blocks.4.1.norm", "P_bg44"), + **conv("model.diffusion_model.input_blocks.4.1.proj_in", "P_bg44", "P_bg45"), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_q", "P_bg46", "P_bg47", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_k", "P_bg46", "P_bg47", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_v", "P_bg46", "P_bg47", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_out.0", "P_bg46", "P_bg47", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj", "P_bg48", "P_bg49", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.2", "P_bg50", "P_bg51", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_q", "P_bg52", "P_bg53", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k", "P_bg54", "P_bg55", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_v", "P_bg54", "P_bg55", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_out.0", "P_bg56", "P_bg57", bias=True), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm1", "P_bg57"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm2", "P_bg57"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm3", "P_bg57"), + **conv("model.diffusion_model.input_blocks.4.1.proj_out", "P_bg57", "P_bg58"), + **easyblock("model.diffusion_model.input_blocks.5.0", "P_bg59", "P_bg60"), + **norm("model.diffusion_model.input_blocks.5.1.norm", "P_bg61"), + **conv("model.diffusion_model.input_blocks.5.1.proj_in", "P_bg61", "P_bg62"), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_q", "P_bg63", "P_bg64", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_k", "P_bg63", "P_bg64", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_v", "P_bg63", "P_bg64", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_out.0", "P_bg63", "P_bg64", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.0.proj", "P_bg65", "P_bg66", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.2", "P_bg67", "P_bg68", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_q", "P_bg69", "P_bg70", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_k", "P_bg71", "P_bg72", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_v", "P_bg71", "P_bg72", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_out.0", "P_bg73", "P_bg74", bias=True), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm1", "P_bg74"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm2", "P_bg74"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm3", "P_bg74"), + **conv("model.diffusion_model.input_blocks.5.1.proj_out", "P_bg74", "P_bg75"), + **conv("model.diffusion_model.input_blocks.6.0.op", "P_bg76", "P_bg77"), + **easyblock("model.diffusion_model.input_blocks.7.0", "P_bg78", "P_bg79"), + **conv("model.diffusion_model.input_blocks.7.0.skip_connection", "P_bg80", "P_bg81"), + **norm("model.diffusion_model.input_blocks.7.1.norm", "P_bg82"), + **conv("model.diffusion_model.input_blocks.7.1.proj_in", "P_bg82", "P_bg83"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_q", "P_bg84", "P_bg85", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_k", "P_bg84", "P_bg85", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_v", "P_bg84", "P_bg85", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_out.0", "P_bg84", "P_bg85", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.0.proj", "P_bg86", "P_bg87", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.2", "P_bg88", "P_bg89", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_q", "P_bg90", "P_bg91", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_k", "P_bg92", "P_bg93", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_v", "P_bg92", "P_bg93", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_out.0", "P_bg94", "P_bg95", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm1", "P_bg95"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm2", "P_bg95"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm3", "P_bg95"), + **conv("model.diffusion_model.input_blocks.7.1.proj_out", "P_bg95", "P_bg96"), + **easyblock("model.diffusion_model.input_blocks.8.0", "P_bg97", "P_bg98"), + **norm("model.diffusion_model.input_blocks.8.1.norm", "P_bg99"), + **conv("model.diffusion_model.input_blocks.8.1.proj_in", "P_bg99", "P_bg100"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_q", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_k", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_v", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0", "P_bg101", "P_bg102", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.0.proj", "P_bg103", "P_bg104", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.2", "P_bg105", "P_bg106", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_q", "P_bg107", "P_bg108", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_k", "P_bg109", "P_bg110", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_v", "P_bg109", "P_bg110", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_out.0", "P_bg111", "P_bg112", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm1", "P_bg112"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm2", "P_bg112"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm3", "P_bg112"), + **conv("model.diffusion_model.input_blocks.8.1.proj_out", "P_bg112", "P_bg113"), + **conv("model.diffusion_model.input_blocks.9.0.op", "P_bg114", "P_bg115"), + **easyblock("model.diffusion_model.input_blocks.10.0", "P_bg115", "P_bg116"), + **easyblock("model.diffusion_model.input_blocks.11.0", "P_bg116", "P_bg117"), + # middle blocks + **easyblock("model.diffusion_model.middle_block.0", "P_bg117", "P_bg118"), + **norm("model.diffusion_model.middle_block.1.norm", "P_bg119"), + **conv("model.diffusion_model.middle_block.1.proj_in", "P_bg119", "P_bg120"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_q", "P_bg121", "P_bg122", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_k", "P_bg121", "P_bg122", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_v", "P_bg121", "P_bg122", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_out.0", "P_bg121", "P_bg122", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.0.proj", "P_bg123", "P_bg124", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.2", "P_bg125", "P_bg126", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_q", "P_bg127", "P_bg128", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_k", "P_bg129", "P_bg130", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_v", "P_bg129", "P_bg130", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_out.0", "P_bg131", "P_bg132", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm1", "P_bg132"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm2", "P_bg132"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm3", "P_bg132"), + **conv("model.diffusion_model.middle_block.1.proj_out", "P_bg132", "P_bg133"), + **easyblock("model.diffusion_model.middle_block.2", "P_bg134", "P_bg135"), + # output blocks + **easyblock("model.diffusion_model.output_blocks.0.0", "P_bg136", "P_bg137"), + **conv("model.diffusion_model.output_blocks.0.0.skip_connection", "P_bg138", "P_bg139"), + **easyblock("model.diffusion_model.output_blocks.1.0", "P_bg140", "P_bg141"), + **conv("model.diffusion_model.output_blocks.1.0.skip_connection", "P_bg142", "P_bg143"), + **easyblock("model.diffusion_model.output_blocks.2.0", "P_bg144", "P_bg145"), + **conv("model.diffusion_model.output_blocks.2.0.skip_connection", "P_bg146", "P_bg147"), + **conv("model.diffusion_model.output_blocks.2.1.conv", "P_bg148", "P_bg149"), + **easyblock("model.diffusion_model.output_blocks.3.0", "P_bg150", "P_bg151"), + **conv("model.diffusion_model.output_blocks.3.0.skip_connection", "P_bg152", "P_bg153"), + **norm("model.diffusion_model.output_blocks.3.1.norm", "P_bg154"), + **conv("model.diffusion_model.output_blocks.3.1.proj_in", "P_bg154", "P_bg155"), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_q", "P_bg156", "P_bg157", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_k", "P_bg156", "P_bg157", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_v", "P_bg156", "P_bg157", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_out.0", "P_bg156", "P_bg157", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj", "P_bg158", "P_bg159", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.2", "P_bg160", "P_bg161", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_q", "P_bg162", "P_bg163", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_k", "P_bg164", "P_bg165", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_v", "P_bg164", "P_bg165", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_out.0", "P_bg166", "P_bg167", bias=True), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm1", "P_bg167"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm2", "P_bg167"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm3", "P_bg167"), + **conv("model.diffusion_model.output_blocks.3.1.proj_out", "P_bg167", "P_bg168"), + **easyblock("model.diffusion_model.output_blocks.4.0", "P_bg169", "P_bg170"), + **conv("model.diffusion_model.output_blocks.4.0.skip_connection", "P_bg171", "P_bg172"), + **norm("model.diffusion_model.output_blocks.4.1.norm", "P_bg173"), + **conv("model.diffusion_model.output_blocks.4.1.proj_in", "P_bg173", "P_bg174"), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_q", "P_bg175", "P_bg176", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_k", "P_bg175", "P_bg176", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_v", "P_bg175", "P_bg176", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_out.0", "P_bg175", "P_bg176", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.0.proj", "P_bg177", "P_bg178", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.2", "P_bg179", "P_bg180", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_q", "P_bg181", "P_bg182", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_k", "P_bg183", "P_bg184", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_v", "P_bg183", "P_bg184", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_out.0", "P_bg185", "P_bg186", bias=True), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm1", "P_bg186"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm2", "P_bg186"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm3", "P_bg186"), + **conv("model.diffusion_model.output_blocks.4.1.proj_out", "P_bg186", "P_bg187"), + **easyblock("model.diffusion_model.output_blocks.5.0", "P_bg188", "P_bg189"), + **conv("model.diffusion_model.output_blocks.5.0.skip_connection", "P_bg190", "P_bg191"), + **norm("model.diffusion_model.output_blocks.5.1.norm", "P_bg192"), + **conv("model.diffusion_model.output_blocks.5.1.proj_in", "P_bg192", "P_bg193"), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_q", "P_bg194", "P_bg195", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_k", "P_bg194", "P_bg195", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_v", "P_bg194", "P_bg195", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_out.0", "P_bg194", "P_bg195", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.0.proj", "P_bg196", "P_bg197", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.2", "P_bg198", "P_bg199", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_q", "P_bg200", "P_bg201", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_k", "P_bg202", "P_bg203", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_v", "P_bg202", "P_bg203", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_out.0", "P_bg204", "P_bg205", bias=True), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm1", "P_bg205"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm2", "P_bg205"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm3", "P_bg205"), + **conv("model.diffusion_model.output_blocks.5.1.proj_out", "P_bg205", "P_bg206"), + **conv("model.diffusion_model.output_blocks.5.2.conv", "P_bg206", "P_bg207"), + **easyblock("model.diffusion_model.output_blocks.6.0", "P_bg208", "P_bg209"), + **conv("model.diffusion_model.output_blocks.6.0.skip_connection", "P_bg210", "P_bg211"), + **norm("model.diffusion_model.output_blocks.6.1.norm", "P_bg212"), + **conv("model.diffusion_model.output_blocks.6.1.proj_in", "P_bg212", "P_bg213"), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_q", "P_bg214", "P_bg215", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_k", "P_bg214", "P_bg215", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_v", "P_bg214", "P_bg215", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_out.0", "P_bg214", "P_bg215", bias=True), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.0.proj", "P_bg216", "P_bg217", bias=True), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.2", "P_bg218", "P_bg219", bias=True), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_q", "P_bg220", "P_bg221", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_k", "P_bg222", "P_bg223", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_v", "P_bg222", "P_bg223", bias=False), + **dense("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_out.0", "P_bg224", "P_bg225", bias=True), + **norm("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm1", "P_bg225"), + **norm("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm2", "P_bg225"), + **norm("model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm3", "P_bg225"), + **conv("model.diffusion_model.output_blocks.6.1.proj_out", "P_bg225", "P_bg226"), + **easyblock("model.diffusion_model.output_blocks.7.0", "P_bg227", "P_bg228"), + **conv("model.diffusion_model.output_blocks.7.0.skip_connection", "P_bg229", "P_bg230"), + **norm("model.diffusion_model.output_blocks.7.1.norm", "P_bg231"), + **conv("model.diffusion_model.output_blocks.7.1.proj_in", "P_bg231", "P_bg232"), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_q", "P_bg233", "P_bg234", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_k", "P_bg233", "P_bg234", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_v", "P_bg233", "P_bg234", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_out.0", "P_bg233", "P_bg234", bias=True), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.0.proj", "P_bg235", "P_bg236", bias=True), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.2", "P_bg237", "P_bg238", bias=True), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_q", "P_bg239", "P_bg240", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_k", "P_bg241", "P_bg242", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_v", "P_bg241", "P_bg242", bias=False), + **dense("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_out.0", "P_bg243", "P_bg244", bias=True), + **norm("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm1", "P_bg244"), + **norm("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm2", "P_bg244"), + **norm("model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm3", "P_bg244"), + **conv("model.diffusion_model.output_blocks.7.1.proj_out", "P_bg244", "P_bg245"), + **easyblock("model.diffusion_model.output_blocks.8.0", "P_bg246", "P_bg247"), + **conv("model.diffusion_model.output_blocks.8.0.skip_connection", "P_bg248", "P_bg249"), + **norm("model.diffusion_model.output_blocks.8.1.norm", "P_bg250"), + **conv("model.diffusion_model.output_blocks.8.1.proj_in", "P_bg250", "P_bg251"), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_q", "P_bg252", "P_bg253", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_k", "P_bg252", "P_bg253", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_v", "P_bg252", "P_bg253", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_out.0", "P_bg252", "P_bg253", bias=True), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.0.proj", "P_bg254", "P_bg255", bias=True), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.2", "P_bg256", "P_bg257", bias=True), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_q", "P_bg258", "P_bg259", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_k", "P_bg260", "P_bg261", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_v", "P_bg260", "P_bg261", bias=False), + **dense("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_out.0", "P_bg262", "P_bg263", bias=True), + **norm("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm1", "P_bg263"), + **norm("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm2", "P_bg263"), + **norm("model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm3", "P_bg263"), + **conv("model.diffusion_model.output_blocks.8.1.proj_out", "P_bg263", "P_bg264"), + **conv("model.diffusion_model.output_blocks.8.2.conv", "P_bg265", "P_bg266"), + **easyblock("model.diffusion_model.output_blocks.9.0", "P_bg267", "P_bg268"), + **conv("model.diffusion_model.output_blocks.9.0.skip_connection", "P_bg269", "P_bg270"), + **norm("model.diffusion_model.output_blocks.9.1.norm", "P_bg271"), + **conv("model.diffusion_model.output_blocks.9.1.proj_in", "P_bg271", "P_bg272"), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_q", "P_bg273", "P_bg274", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_k", "P_bg273", "P_bg274", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_v", "P_bg273", "P_bg274", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_out.0", "P_bg273", "P_bg274", bias=True), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.0.proj", "P_bg275", "P_bg276", bias=True), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.2", "P_bg277", "P_bg278", bias=True), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_q", "P_bg279", "P_bg280", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_k", "P_bg281", "P_bg282", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_v", "P_bg281", "P_bg282", bias=False), + **dense("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_out.0", "P_bg283", "P_bg284", bias=True), + **norm("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm1", "P_bg284"), + **norm("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm2", "P_bg284"), + **norm("model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm3", "P_bg284"), + **conv("model.diffusion_model.output_blocks.9.1.proj_out", "P_bg284", "P_bg285"), + **easyblock("model.diffusion_model.output_blocks.10.0", "P_bg286", "P_bg287"), + **conv("model.diffusion_model.output_blocks.10.0.skip_connection", "P_bg288", "P_bg289"), + **norm("model.diffusion_model.output_blocks.10.1.norm", "P_bg290"), + **conv("model.diffusion_model.output_blocks.10.1.proj_in", "P_bg290", "P_bg291"), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_q", "P_bg292", "P_bg293", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_k", "P_bg292", "P_bg293", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_v", "P_bg292", "P_bg293", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_out.0", "P_bg292", "P_bg293", bias=True), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.0.proj", "P_b294", "P_bg295", bias=True), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.2", "P_bg296", "P_bg297", bias=True), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_q", "P_bg298", "P_bg299", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_k", "P_bg300", "P_bg301", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_v", "P_bg300", "P_bg301", bias=False), + **dense("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_out.0", "P_bg302", "P_bg303", bias=True), + **norm("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm1", "P_bg303"), + **norm("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm2", "P_bg303"), + **norm("model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm3", "P_bg303"), + **conv("model.diffusion_model.output_blocks.10.1.proj_out", "P_bg303", "P_bg304"), + **easyblock("model.diffusion_model.output_blocks.11.0", "P_bg305", "P_bg306"), + **conv("model.diffusion_model.output_blocks.11.0.skip_connection", "P_bg307", "P_bg308"), + **norm("model.diffusion_model.output_blocks.11.1.norm", "P_bg309"), + **conv("model.diffusion_model.output_blocks.11.1.proj_in", "P_bg309", "P_bg310"), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_q", "P_bg311", "P_bg312", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_k", "P_bg311", "P_bg312", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_v", "P_bg311", "P_bg312", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_out.0", "P_bg311", "P_bg312", bias=True), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.0.proj", "P_bg313", "P_bg314", bias=True), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.2", "P_bg315", "P_bg316", bias=True), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_q", "P_bg317", "P_bg318", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_k", "P_bg319", "P_bg320", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_v", "P_bg319", "P_bg320", bias=False), + **dense("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_out.0", "P_bg321", "P_bg322", bias=True), + **norm("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm1", "P_bg322"), + **norm("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm2", "P_bg322"), + **norm("model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm3", "P_bg322"), + **conv("model.diffusion_model.output_blocks.11.1.proj_out", "P_bg322", "P_bg323"), + **norm("model.diffusion_model.out.0", "P_bg324"), + **conv("model.diffusion_model.out.2", "P_bg325", "P_bg326"), + **skip("cond_stage_model.transformer.text_model.embeddings.position_ids", None, None), + **dense("cond_stage_model.transformer.text_model.embeddings.token_embedding", "P_bg365", "P_bg366", bias=False), + **dense("cond_stage_model.transformer.text_model.embeddings.token_embedding", None, None), + **dense("cond_stage_model.transformer.text_model.embeddings.position_embedding", "P_bg367", "P_bg368", bias=False), + # cond stage text encoder + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.k_proj", "P_bg369", "P_bg370", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.v_proj", "P_bg369", "P_bg370", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.q_proj", "P_bg369", "P_bg370", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.out_proj", "P_bg369", "P_bg370", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm1", "P_bg370"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc1", "P_bg370", "P_bg371", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc2", "P_bg371", "P_bg372", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm2", "P_bg372"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.k_proj", "P_bg372", "P_bg373", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.v_proj", "P_bg372", "P_bg373", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.q_proj", "P_bg372", "P_bg373", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.out_proj", "P_bg372", "P_bg373", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm1", "P_bg373"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc1", "P_bg373", "P_bg374", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc2", "P_bg374", "P_bg375", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm2", "P_bg375"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.k_proj", "P_bg375", "P_bg376", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.v_proj", "P_bg375", "P_bg376", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.q_proj", "P_bg375", "P_bg376", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.out_proj", "P_bg375", "P_bg376", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm1", "P_bg376"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc1", "P_bg376", "P_bg377", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc2", "P_bg377", "P_bg378", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm2", "P_bg378"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.k_proj", "P_bg378", "P_bg379", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.v_proj", "P_bg378", "P_bg379", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.q_proj", "P_bg378", "P_bg379", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.out_proj", "P_bg378", "P_bg379", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm1", "P_bg379"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc1", "P_bg379", "P_bg380", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc2", "P_bg380", "P_b381", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm2", "P_bg381"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.k_proj", "P_bg381", "P_bg382", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.v_proj", "P_bg381", "P_bg382", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.q_proj", "P_bg381", "P_bg382", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.out_proj", "P_bg381", "P_bg382", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm1", "P_bg382"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc1", "P_bg382", "P_bg383", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc2", "P_bg383", "P_bg384", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm2", "P_bg384"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.k_proj", "P_bg384", "P_bg385", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.v_proj", "P_bg384", "P_bg385", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.q_proj", "P_bg384", "P_bg385", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.out_proj", "P_bg384", "P_bg385", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm1", "P_bg385"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc1", "P_bg385", "P_bg386", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc2", "P_bg386", "P_bg387", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm2", "P_bg387"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.k_proj", "P_bg387", "P_bg388", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.v_proj", "P_bg387", "P_bg388", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.q_proj", "P_bg387", "P_bg388", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.out_proj", "P_bg387", "P_bg388", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm1", "P_bg389"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc1", "P_bg389", "P_bg390", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc2", "P_bg390", "P_bg391", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm2", "P_bg391"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.k_proj", "P_bg391", "P_bg392", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.v_proj", "P_bg391", "P_bg392", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.q_proj", "P_bg391", "P_bg392", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.out_proj", "P_bg391", "P_bg392", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm1", "P_bg392"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc1", "P_bg392", "P_bg393", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc2", "P_bg393", "P_bg394", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm2", "P_bg394"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.k_proj", "P_bg394", "P_bg395", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.v_proj", "P_bg394", "P_bg395", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.q_proj", "P_bg394", "P_bg395", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.out_proj", "P_bg394", "P_bg395", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm1", "P_bg395"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc1", "P_bg395", "P_bg396", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc2", "P_bg396", "P_bg397", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm2", "P_bg397"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.k_proj", "P_bg397", "P_bg398", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.v_proj", "P_bg397", "P_bg398", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.q_proj", "P_bg397", "P_bg398", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.out_proj", "P_bg397", "P_bg398", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm1", "P_bg398"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc1", "P_bg398", "P_bg399", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc2", "P_bg400", "P_bg401", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm2", "P_bg401"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.k_proj", "P_bg401", "P_bg402", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.v_proj", "P_bg401", "P_bg402", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.q_proj", "P_bg401", "P_bg402", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.out_proj", "P_bg401", "P_bg402", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm1", "P_bg402"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc1", "P_bg402", "P_bg403", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc2", "P_bg403", "P_bg404", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm2", "P_bg404"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.k_proj", "P_bg404", "P_bg405", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.v_proj", "P_bg404", "P_bg405", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.q_proj", "P_bg404", "P_bg405", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.out_proj", "P_bg404", "P_bg405", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm1", "P_bg405"), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc1", "P_bg405", "P_bg406", bias=True), + **dense("cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc2", "P_bg406", "P_bg407", bias=True), + **norm("cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm2", "P_bg407"), + **norm("cond_stage_model.transformer.text_model.final_layer_norm", "P_bg407"), + } + ) diff --git a/modules/merging/merge_PermSpec_SDXL.py b/modules/merging/merge_PermSpec_SDXL.py new file mode 100644 index 000000000..2f1c6f8ef --- /dev/null +++ b/modules/merging/merge_PermSpec_SDXL.py @@ -0,0 +1,1860 @@ +from modules.merging.merge_rebasin import PermutationSpec, permutation_spec_from_axes_to_perm + +def sdxl_permutation_spec() -> PermutationSpec: + conv = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + f"{name}.weight": ( + p_out, + p_in, + ), + f"{name}.bias": (p_out,), + } + norm = lambda name, p: {f"{name}.weight": (p,), f"{name}.bias": (p,)} # pylint: disable=unnecessary-lambda-assignment + dense = ( + lambda name, p_in, p_out, bias=True: { # pylint: disable=unnecessary-lambda-assignment + f"{name}.weight": (p_out, p_in), + f"{name}.bias": (p_out,), + } + if bias + else {f"{name}.weight": (p_out, p_in)} + ) + skip = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + f"{name}": ( + p_out, + p_in, + None, + None, + ) + } + + # Unet Res blocks + easyblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + **norm(f"{name}.in_layers.0", p_in), + **conv(f"{name}.in_layers.2", p_in, f"P_{name}_inner"), + **dense( + f"{name}.emb_layers.1", f"P_{name}_inner2", f"P_{name}_inner3", bias=True + ), + **norm(f"{name}.out_layers.0", f"P_{name}_inner4"), + **conv(f"{name}.out_layers.3", f"P_{name}_inner4", p_out), + } + + return permutation_spec_from_axes_to_perm( + { + # Skipped Layers + **skip("betas", None, None), + **skip("alphas_cumprod", None, None), + **skip("alphas_cumprod_prev", None, None), + **skip("sqrt_alphas_cumprod", None, None), + **skip("sqrt_one_minus_alphas_cumprod", None, None), + **skip("log_one_minus_alphas_cumprods", None, None), + **skip("sqrt_recip_alphas_cumprod", None, None), + **skip("sqrt_recipm1_alphas_cumprod", None, None), + **skip("posterior_variance", None, None), + **skip("posterior_log_variance_clipped", None, None), + **skip("posterior_mean_coef1", None, None), + **skip("posterior_mean_coef2", None, None), + **skip("log_one_minus_alphas_cumprod", None, None), + **skip("model_ema.decay", None, None), + **skip("model_ema.num_updates", None, None), + **skip("conditioner.embedders.0.transformer.text_model.embeddings.position_ids", None, None), + **skip("conditioner.embedders.1.model.logit_scale", None, None), + **skip("conditioner.embedders.1.model.positional_embedding", None, None), + **skip("conditioner.embedders.1.model.text_projection", None, None), + **conv("model.diffusion_model.input_blocks.0.0", "P_bg0", "P_bg1"), + **easyblock("model.diffusion_model.input_blocks.1.0", "P_bg2", "P_bg3"), + **easyblock("model.diffusion_model.input_blocks.2.0", "P_bg4", "P_bg5"), + **conv("model.diffusion_model.input_blocks.3.0.op", "P_bg6", "P_bg7"), + **easyblock("model.diffusion_model.input_blocks.4.0", "P_bg8", "P_bg9"), + **conv("model.diffusion_model.input_blocks.4.0.skip_connection", "P_bg10", "P_bg11"), + **norm("model.diffusion_model.input_blocks.4.1.norm", "P_bg12"), + **conv("model.diffusion_model.input_blocks.4.1.proj_in", "P_bg12", "P_bg13"), + **conv("model.diffusion_model.input_blocks.4.1.proj_out", "P_bg14", "P_bg15"), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_k", "P_bg16", "P_bg17", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_out.0", "P_bg16", "P_bg17", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_q", "P_bg16", "P_bg17", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_v", "P_bg16", "P_bg17", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k", "P_bg18", "P_bg19", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_out.0", "P_bg20", "P_bg21", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_q", "P_bg20", "P_bg21", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_v", "P_bg18", "P_bg19", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj", "P_bg22", "P_bg23", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.2", "P_bg24", "P_bg25", bias=True), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm1", "P_bg26"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm2", "P_bg26"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm3", "P_bg26"), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn1.to_k", "P_bg27", "P_bg28", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn1.to_out.0", "P_bg27", "P_bg28", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn1.to_q", "P_bg27", "P_bg28", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn1.to_v", "P_bg27", "P_bg28", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn2.to_k", "P_bg29", "P_bg30", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn2.to_out.0", "P_bg31", "P_bg32", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn2.to_q", "P_bg31", "P_bg32", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.attn2.to_v", "P_bg33", "P_bg34", bias=False), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.ff.net.0.proj", "P_bg35", "P_bg36", bias=True), + **dense("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.ff.net.2", "P_bg37", "P_bg38", bias=True), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.norm1", "P_bg39"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.norm2", "P_bg39"), + **norm("model.diffusion_model.input_blocks.4.1.transformer_blocks.1.norm3", "P_bg39"), + **easyblock("model.diffusion_model.input_blocks.5.0", "P_bg40", "P_bg41"), + **norm("model.diffusion_model.input_blocks.5.1.norm", "P_bg42"), + **conv("model.diffusion_model.input_blocks.5.1.proj_in", "P_bg43", "P_bg44"), + **conv("model.diffusion_model.input_blocks.5.1.proj_out", "P_bg45", "P_bg46"), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_k", "P_bg47", "P_bg48", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_out.0", "P_bg47", "P_bg48", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_q", "P_bg47", "P_bg48", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_v", "P_bg47", "P_bg48", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_k", "P_bg49", "P_bg50", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_out.0", "P_bg51", "P_bg52", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_q", "P_bg53", "P_bg54", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_v", "P_bg55", "P_bg56", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.0.proj", "P_bg57", "P_bg58", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.2", "P_bg59", "P_bg60", bias=True), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm1", "P_bg61"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm2", "P_bg61"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm3", "P_bg61"), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn1.to_k", "P_bg62", "P_bg63", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn1.to_out.0", "P_bg62", "P_bg63", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn1.to_q", "P_bg62", "P_bg63", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn1.to_v", "P_bg62", "P_bg63", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn2.to_k", "P_bg64", "P_bg65", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn2.to_out.0", "P_bg66", "P_bg67", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn2.to_q", "P_bg68", "P_bg69", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.attn2.to_v", "P_bg70", "P_bg71", bias=False), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.ff.net.0.proj", "P_bg72", "P_bg73", bias=True), + **dense("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.ff.net.2", "P_bg74", "P_bg75", bias=True), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.norm1", "P_bg76"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.norm2", "P_bg76"), + **norm("model.diffusion_model.input_blocks.5.1.transformer_blocks.1.norm3", "P_bg76"), + **conv("model.diffusion_model.input_blocks.6.0.op", "P_bg77", "P_bg78"), + **easyblock("model.diffusion_model.input_blocks.7.0", "P_bg78", "P_bg79"), + **conv("model.diffusion_model.input_blocks.7.0.skip_connection", "P_bg80", "P_bg81"), + **norm("model.diffusion_model.input_blocks.7.1.norm", "P_bg82"), + **conv("model.diffusion_model.input_blocks.7.1.proj_in", "P_bg82", "P_bg83"), + **conv("model.diffusion_model.input_blocks.7.1.proj_out", "P_bg84", "P_bg85"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_k", "P_bg86", "P_bg87", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_out.0", "P_bg86", "P_bg87", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_q", "P_bg86", "P_bg87", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_v", "P_bg86", "P_bg87", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_k", "P_bg88", "P_bg89", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_out.0", "P_bg90", "P_bg91", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_q", "P_bg92", "P_bg93", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_v", "P_bg94", "P_bg95", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.0.proj", "P_bg96", "P_bg97", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.2", "P_bg98", "P_bg99", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm1", "P_bg100"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm2", "P_bg100"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm3", "P_bg100"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn1.to_k", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn1.to_out.0", "P_bg101", "P_bg102", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn1.to_q", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn1.to_v", "P_bg101", "P_bg102", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn2.to_k", "P_bg103", "P_bg104", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn2.to_out.0", "P_bg105", "P_bg106", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn2.to_q", "P_bg107", "P_bg108", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.attn2.to_v", "P_bg109", "P_bg110", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.ff.net.0.proj", "P_bg111", "P_bg112", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.ff.net.2", "P_bg113", "P_bg114", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.norm1", "P_bg115"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.norm2", "P_bg115"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.1.norm3", "P_bg115"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn1.to_k", "P_bg116", "P_bg117", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn1.to_out.0", "P_bg116", "P_bg117", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn1.to_q", "P_bg116", "P_bg117", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn1.to_v", "P_bg116", "P_bg117", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn2.to_k", "P_bg118", "P_bg119", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn2.to_out.0", "P_bg120", "P_bg121", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn2.to_q", "P_bg122", "P_bg123", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.attn2.to_v", "P_bg124", "P_bg125", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.ff.net.0.proj", "P_bg126", "P_bg127", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.ff.net.2", "P_bg128", "P_bg129", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.norm1", "P_bg130"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.norm2", "P_bg130"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.2.norm3", "P_bg130"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn1.to_k", "P_bg110", "P_bg111", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn1.to_out.0", "P_bg131", "P_bg132", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn1.to_q", "P_bg131", "P_bg132", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn1.to_v", "P_bg131", "P_bg132", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn2.to_k", "P_bg133", "P_bg134", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn2.to_out.0", "P_bg135", "P_bg136", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn2.to_q", "P_bg137", "P_bg138", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.attn2.to_v", "P_bg139", "P_bg140", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.ff.net.0.proj", "P_bg141", "P_bg142", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.ff.net.2", "P_bg143", "P_bg144", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.norm1", "P_bg145"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.norm2", "P_bg145"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.3.norm3", "P_bg145"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn1.to_k", "P_bg146", "P_bg147", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn1.to_out.0", "P_bg146", "P_bg147", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn1.to_q", "P_bg146", "P_bg147", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn1.to_v", "P_bg146", "P_bg147", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn2.to_k", "P_bg148", "P_bg149", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn2.to_out.0", "P_bg150", "P_bg151", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn2.to_q", "P_bg152", "P_bg153", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.attn2.to_v", "P_bg154", "P_bg155", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.ff.net.0.proj", "P_bg156", "P_bg157", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.ff.net.2", "P_bg158", "P_bg159", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.norm1", "P_bg160"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.norm2", "P_bg160"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.4.norm3", "P_bg160"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn1.to_k", "P_bg161", "P_bg162", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn1.to_out.0", "P_bg161", "P_bg162", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn1.to_q", "P_bg161", "P_bg162", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn1.to_v", "P_bg161", "P_bg162", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn2.to_k", "P_bg163", "P_bg164", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn2.to_out.0", "P_bg165", "P_bg166", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn2.to_q", "P_bg167", "P_bg168", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.attn2.to_v", "P_bg169", "P_bg170", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.ff.net.0.proj", "P_bg171", "P_bg172", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.ff.net.2", "P_bg173", "P_bg174", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.norm1", "P_bg175"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.norm2", "P_bg175"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.5.norm3", "P_bg175"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn1.to_k", "P_bg176", "P_bg177", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn1.to_out.0", "P_bg176", "P_bg177", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn1.to_q", "P_bg176", "P_bg177", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn1.to_v", "P_bg176", "P_bg177", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn2.to_k", "P_bg178", "P_bg179", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn2.to_out.0", "P_bg180", "P_bg181", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn2.to_q", "P_bg182", "P_bg183", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.attn2.to_v", "P_bg184", "P_bg185", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.ff.net.0.proj", "P_bg186", "P_bg187", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.ff.net.2", "P_bg188", "P_bg189", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.norm1", "P_bg190"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.norm2", "P_bg190"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.6.norm3", "P_bg190"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn1.to_k", "P_bg191", "P_bg192", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn1.to_out.0", "P_bg193", "P_bg194", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn1.to_q", "P_bg195", "P_bg196", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn1.to_v", "P_bg197", "P_bg198", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn2.to_k", "P_bg199", "P_bg200", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn2.to_out.0", "P_bg201", "P_bg202", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn2.to_q", "P_bg203", "P_bg204", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.attn2.to_v", "P_bg205", "P_bg206", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.ff.net.0.proj", "P_bg207", "P_bg208", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.ff.net.2", "P_bg209", "P_bg210", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.norm1", "P_bg211"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.norm2", "P_bg211"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.7.norm3", "P_bg211"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn1.to_k", "P_bg212", "P_bg213", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn1.to_out.0", "P_bg212", "P_bg213", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn1.to_q", "P_bg212", "P_bg213", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn1.to_v", "P_bg212", "P_bg213", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn2.to_k", "P_bg214", "P_bg215", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn2.to_out.0", "P_bg216", "P_bg217", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn2.to_q", "P_bg218", "P_bg219", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.attn2.to_v", "P_bg220", "P_bg221", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.ff.net.0.proj", "P_bg222", "P_bg223", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.ff.net.2", "P_bg224", "P_bg225", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.norm1", "P_bg226"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.norm2", "P_bg226"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.8.norm3", "P_bg226"), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn1.to_k", "P_bg227", "P_bg228", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn1.to_out.0", "P_bg227", "P_bg228", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn1.to_q", "P_bg227", "P_bg228", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn1.to_v", "P_bg227", "P_bg228", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn2.to_k", "P_bg229", "P_bg230", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn2.to_out.0", "P_bg231", "P_bg232", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn2.to_q", "P_bg233", "P_bg234", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.attn2.to_v", "P_bg235", "P_bg236", bias=False), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.ff.net.0.proj", "P_bg237", "P_bg238", bias=True), + **dense("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.ff.net.2", "P_bg239", "P_bg240", bias=True), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.norm1", "P_bg241"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.norm2", "P_bg241"), + **norm("model.diffusion_model.input_blocks.7.1.transformer_blocks.9.norm3", "P_bg241"), + **easyblock("model.diffusion_model.input_blocks.8.0", "P_bg242", "P_bg243"), + **norm("model.diffusion_model.input_blocks.8.1.norm", "P_bg244"), + **conv("model.diffusion_model.input_blocks.8.1.proj_in", "P_bg244", "P_bg245"), + **conv("model.diffusion_model.input_blocks.8.1.proj_out", "P_bg246", "P_bg247"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_k", "P_bg248", "P_bg249", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0", "P_bg248", "P_bg249", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_q", "P_bg248", "P_bg249", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_v", "P_bg248", "P_bg249", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_k", "P_bg250", "P_bg251", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_out.0", "P_bg252", "P_bg253", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_q", "P_bg254", "P_bg255", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_v", "P_bg256", "P_bg257", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.0.proj", "P_bg258", "P_bg259", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.2", "P_bg260", "P_bg261", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm1", "P_bg262"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm2", "P_bg262"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm3", "P_bg262"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn1.to_k", "P_bg263", "P_bg264", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn1.to_out.0", "P_bg263", "P_bg264", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn1.to_q", "P_bg263", "P_bg264", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn1.to_v", "P_bg263", "P_bg264", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn2.to_k", "P_bg265", "P_bg266", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn2.to_out.0", "P_bg267", "P_bg268", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn2.to_q", "P_bg269", "P_bg270", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.attn2.to_v", "P_bg271", "P_bg272", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.ff.net.0.proj", "P_bg273", "P_bg274", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.ff.net.2", "P_bg275", "P_bg276", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.norm1", "P_bg277"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.norm2", "P_bg277"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.1.norm3", "P_bg277"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn1.to_k", "P_bg278", "P_bg279", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn1.to_out.0", "P_bg278", "P_bg279", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn1.to_q", "P_bg278", "P_bg279", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn1.to_v", "P_bg278", "P_bg279", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn2.to_k", "P_bg280", "P_bg281", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn2.to_out.0", "P_bg282", "P_bg283", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn2.to_q", "P_bg284", "P_bg285", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.attn2.to_v", "P_bg286", "P_bg287", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.ff.net.0.proj", "P_bg288", "P_bg289", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.ff.net.2", "P_bg290", "P_bg291", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.norm1", "P_bg292"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.norm2", "P_bg292"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.2.norm3", "P_bg292"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn1.to_k", "P_bg293", "P_bg294", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn1.to_out.0", "P_bg293", "P_bg294", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn1.to_q", "P_bg293", "P_bg294", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn1.to_v", "P_bg293", "P_bg294", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn2.to_k", "P_bg295", "P_bg296", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn2.to_out.0", "P_bg297", "P_bg298", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn2.to_q", "P_bg299", "P_bg300", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.attn2.to_v", "P_bg301", "P_bg302", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.ff.net.0.proj", "P_bg303", "P_bg304", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.ff.net.2", "P_bg305", "P_bg306", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.norm1", "P_bg307"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.norm2", "P_bg307"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.3.norm3", "P_bg307"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn1.to_k", "P_bg308", "P_bg309", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn1.to_out.0", "P_bg308", "P_bg309", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn1.to_q", "P_bg308", "P_bg309", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn1.to_v", "P_bg308", "P_bg309", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn2.to_k", "P_bg310", "P_bg311", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn2.to_out.0", "P_bg312", "P_bg313", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn2.to_q", "P_bg314", "P_bg315", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.attn2.to_v", "P_bg316", "P_bg317", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.ff.net.0.proj", "P_bg318", "P_bg319", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.ff.net.2", "P_bg320", "P_bg321", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.norm1", "P_bg322"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.norm2", "P_bg322"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.4.norm3", "P_bg322"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn1.to_k", "P_bg322", "P_bg323", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn1.to_out.0", "P_bg322", "P_bg323", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn1.to_q", "P_bg322", "P_bg323", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn1.to_v", "P_bg322", "P_bg323", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn2.to_k", "P_bg324", "P_bg325", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn2.to_out.0", "P_bg326", "P_bg327", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn2.to_q", "P_bg328", "P_bg329", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.attn2.to_v", "P_bg330", "P_bg331", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.ff.net.0.proj", "P_bg332", "P_bg333", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.ff.net.2", "P_bg334", "P_bg335", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.norm1", "P_bg336"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.norm2", "P_bg336"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.5.norm3", "P_bg336"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn1.to_k", "P_bg337", "P_bg338", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn1.to_out.0", "P_bg337", "P_bg338", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn1.to_q", "P_bg337", "P_bg338", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn1.to_v", "P_bg337", "P_bg338", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn2.to_k", "P_bg339", "P_bg340", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn2.to_out.0", "P_bg341", "P_bg342", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn2.to_q", "P_bg343", "P_bg344", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.attn2.to_v", "P_bg345", "P_bg346", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.ff.net.0.proj", "P_bg347", "P_bg348", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.ff.net.2", "P_bg349", "P_bg350", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.norm1", "P_bg351"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.norm2", "P_bg351"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.6.norm3", "P_bg351"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn1.to_k", "P_bg352", "P_bg353", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn1.to_out.0", "P_bg352", "P_bg353", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn1.to_q", "P_bg352", "P_bg353", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn1.to_v", "P_bg352", "P_bg353", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn2.to_k", "P_bg354", "P_bg355", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn2.to_out.0", "P_bg356", "P_bg357", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn2.to_q", "P_bg358", "P_bg359", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.attn2.to_v", "P_bg360", "P_bg361", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.ff.net.0.proj", "P_bg362", "P_bg363", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.ff.net.2", "P_bg364", "P_bg365", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.norm1", "P_bg366"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.norm2", "P_bg366"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.7.norm3", "P_bg366"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn1.to_k", "P_bg367", "P_bg368", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn1.to_out.0", "P_bg367", "P_bg368", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn1.to_q", "P_bg367", "P_bg368", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn1.to_v", "P_bg367", "P_bg368", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn2.to_k", "P_bg369", "P_bg370", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn2.to_out.0", "P_bg371", "P_bg372", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn2.to_q", "P_bg373", "P_bg374", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.attn2.to_v", "P_bg375", "P_bg376", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.ff.net.0.proj", "P_bg377", "P_bg378", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.ff.net.2", "P_bg379", "P_bg380", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.norm1", "P_bg381"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.norm2", "P_bg381"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.8.norm3", "P_bg381"), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn1.to_k", "P_bg382", "P_bg383", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn1.to_out.0", "P_bg382", "P_bg383", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn1.to_q", "P_bg382", "P_bg383", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn1.to_v", "P_bg382", "P_bg383", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn2.to_k", "P_bg384", "P_bg385", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn2.to_out.0", "P_bg386", "P_bg387", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn2.to_q", "P_bg388", "P_bg389", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.attn2.to_v", "P_bg390", "P_bg391", bias=False), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.ff.net.0.proj", "P_bg392", "P_bg393", bias=True), + **dense("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.ff.net.2", "P_bg394", "P_bg395", bias=True), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.norm1", "P_bg396"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.norm2", "P_bg396"), + **norm("model.diffusion_model.input_blocks.8.1.transformer_blocks.9.norm3", "P_bg396"), + **dense("model.diffusion_model.label_emb.0.0", "P_bg397", "P_bg398", bias=True), + **dense("model.diffusion_model.label_emb.0.2", "P_bg399", "P_bg400", bias=True), + **easyblock("model.diffusion_model.middle_block.0", "P_bg401", "P_bg402"), + **norm("model.diffusion_model.middle_block.1.norm", "P_bg403"), + **conv("model.diffusion_model.middle_block.1.proj_in", "P_bg403", "P_bg404"), + **conv("model.diffusion_model.middle_block.1.proj_out", "P_bg405", "P_bg406"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_k", "P_bg407", "P_bg408", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_out.0", "P_bg407", "P_bg408", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_q", "P_bg407", "P_bg408", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_v", "P_bg407", "P_bg408", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_k", "P_bg409", "P_bg410", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_out.0", "P_bg411", "P_bg412", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_q", "P_bg413", "P_bg414", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_v", "P_bg415", "P_bg416", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.0.proj", "P_bg417", "P_bg418", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.2", "P_bg419", "P_bg420", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm1", "P_bg421"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm2", "P_bg421"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.0.norm3", "P_bg421"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn1.to_k", "P_bg422", "P_bg423", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn1.to_out.0", "P_bg422", "P_bg423", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn1.to_q", "P_bg422", "P_bg423", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn1.to_v", "P_bg422", "P_bg423", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn2.to_k", "P_bg424", "P_bg425", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn2.to_out.0", "P_bg426", "P_bg427", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn2.to_q", "P_bg428", "P_bg429", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.attn2.to_v", "P_bg430", "P_bg431", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.ff.net.0.proj", "P_bg432", "P_bg433", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.1.ff.net.2", "P_bg434", "P_bg435", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.1.norm1", "P_bg436"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.1.norm2", "P_bg436"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.1.norm3", "P_bg436"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn1.to_k", "P_bg437", "P_bg438", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn1.to_out.0", "P_bg437", "P_bg438", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn1.to_q", "P_bg437", "P_bg438", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn1.to_v", "P_bg437", "P_bg438", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn2.to_k", "P_bg439", "P_bg440", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn2.to_out.0", "P_bg441", "P_bg442", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn2.to_q", "P_bg443", "P_bg444", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.attn2.to_v", "P_bg445", "P_bg446", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.ff.net.0.proj", "P_bg447", "P_bg448", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.2.ff.net.2", "P_bg449", "P_bg450", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.2.norm1", "P_bg451"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.2.norm2", "P_bg451"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.2.norm3", "P_bg451"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn1.to_k", "P_bg452", "P_bg453", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn1.to_out.0", "P_bg452", "P_bg453", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn1.to_q", "P_bg452", "P_bg453", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn1.to_v", "P_bg452", "P_bg453", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn2.to_k", "P_bg454", "P_bg455", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn2.to_out.0", "P_bg456", "P_bg457", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn2.to_q", "P_bg458", "P_bg459", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.attn2.to_v", "P_bg460", "P_bg461", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.ff.net.0.proj", "P_bg462", "P_bg463", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.3.ff.net.2", "P_bg464", "P_bg465", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.3.norm1", "P_bg466"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.3.norm2", "P_bg466"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.3.norm3", "P_bg466"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn1.to_k", "P_bg467", "P_bg468", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn1.to_out.0", "P_bg467", "P_bg468", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn1.to_q", "P_bg467", "P_bg468", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn1.to_v", "P_bg467", "P_bg468", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn2.to_k", "P_bg469", "P_bg470", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn2.to_out.0", "P_bg471", "P_bg472", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn2.to_q", "P_bg473", "P_bg474", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.attn2.to_v", "P_bg475", "P_bg476", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.ff.net.0.proj", "P_bg477", "P_bg478", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.4.ff.net.2", "P_bg479", "P_bg480", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.4.norm1", "P_bg481"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.4.norm2", "P_bg481"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.4.norm3", "P_bg481"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn1.to_k", "P_bg482", "P_bg483", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn1.to_out.0", "P_bg482", "P_bg483", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn1.to_q", "P_bg482", "P_bg483", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn1.to_v", "P_bg482", "P_bg483", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn2.to_k", "P_bg484", "P_bg485", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn2.to_out.0", "P_bg486", "P_bg487", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn2.to_q", "P_bg488", "P_bg489", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.attn2.to_v", "P_bg490", "P_bg491", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.ff.net.0.proj", "P_bg492", "P_bg493", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.5.ff.net.2", "P_bg494", "P_bg495", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.5.norm1", "P_bg496"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.5.norm2", "P_bg496"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.5.norm3", "P_bg496"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn1.to_k", "P_bg497", "P_bg498", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn1.to_out.0", "P_bg497", "P_bg498", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn1.to_q", "P_bg497", "P_bg498", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn1.to_v", "P_bg497", "P_bg498", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn2.to_k", "P_bg499", "P_bg500", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn2.to_out.0", "P_bg501", "P_bg502", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn2.to_q", "P_bg503", "P_bg504", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.attn2.to_v", "P_bg505", "P_bg506", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.ff.net.0.proj", "P_bg507", "P_bg508", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.6.ff.net.2", "P_bg509", "P_bg510", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.6.norm1", "P_bg511"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.6.norm2", "P_bg511"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.6.norm3", "P_bg511"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn1.to_k", "P_bg512", "P_bg513", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn1.to_out.0", "P_bg512", "P_bg513", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn1.to_q", "P_bg512", "P_bg513", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn1.to_v", "P_bg512", "P_bg513", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn2.to_k", "P_bg514", "P_bg515", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn2.to_out.0", "P_bg516", "P_bg517", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn2.to_q", "P_bg518", "P_bg519", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.attn2.to_v", "P_bg520", "P_bg521", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.ff.net.0.proj", "P_bg522", "P_bg523", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.7.ff.net.2", "P_bg524", "P_bg525", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.7.norm1", "P_bg526"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.7.norm2", "P_bg526"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.7.norm3", "P_bg526"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn1.to_k", "P_bg527", "P_bg528", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn1.to_out.0", "P_bg527", "P_bg528", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn1.to_q", "P_bg527", "P_bg528", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn1.to_v", "P_bg527", "P_bg528", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn2.to_k", "P_bg529", "P_bg530", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn2.to_out.0", "P_bg531", "P_bg532", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn2.to_q", "P_bg533", "P_bg534", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.attn2.to_v", "P_bg535", "P_bg536", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.ff.net.0.proj", "P_bg537", "P_bg538", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.8.ff.net.2", "P_bg539", "P_bg540", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.8.norm1", "P_bg541"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.8.norm2", "P_bg541"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.8.norm3", "P_bg541"), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn1.to_k", "P_bg542", "P_bg543", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn1.to_out.0", "P_bg542", "P_bg543", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn1.to_q", "P_bg542", "P_bg543", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn1.to_v", "P_bg542", "P_bg543", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn2.to_k", "P_bg544", "P_bg545", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn2.to_out.0", "P_bg546", "P_bg547", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn2.to_q", "P_bg548", "P_bg549", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.attn2.to_v", "P_bg550", "P_bg551", bias=False), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.ff.net.0.proj", "P_bg552", "P_bg553", bias=True), + **dense("model.diffusion_model.middle_block.1.transformer_blocks.9.ff.net.2", "P_bg554", "P_bg555", bias=True), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.9.norm1", "P_bg556"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.9.norm2", "P_bg556"), + **norm("model.diffusion_model.middle_block.1.transformer_blocks.9.norm3", "P_bg556"), + **easyblock("model.diffusion_model.middle_block.2", "P_bg557", "P_bg558"), + **norm("model.diffusion_model.out.0", "P_bg559"), + **conv("model.diffusion_model.out.2", "P_bg560", "P_bg561"), + **easyblock("model.diffusion_model.output_blocks.0.0", "P_bg562", "P_bg563"), + **conv("model.diffusion_model.output_blocks.0.0.skip_connection", "P_bg564", "P_bg565"), + **norm("model.diffusion_model.output_blocks.0.1.norm", "P_bg566"), + **conv("model.diffusion_model.output_blocks.0.1.proj_in", "P_bg566", "P_bg567"), + **conv("model.diffusion_model.output_blocks.0.1.proj_out", "P_bg568", "P_bg569"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn1.to_k", "P_bg570", "P_bg571", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn1.to_out.0", "P_bg570", "P_bg571", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn1.to_q", "P_bg570", "P_bg571", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn1.to_v", "P_bg570", "P_bg571", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn2.to_k", "P_bg572", "P_bg573", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn2.to_out.0", "P_bg574", "P_bg575", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn2.to_q", "P_bg576", "P_bg577", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.attn2.to_v", "P_bg578", "P_bg579", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.ff.net.0.proj", "P_bg580", "P_bg581", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.ff.net.2", "P_bg582", "P_bg583", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.norm1", "P_bg584"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.norm2", "P_bg584"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.0.norm3", "P_bg584"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn1.to_k", "P_bg585", "P_bg586", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn1.to_out.0", "P_bg585", "P_bg586", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn1.to_q", "P_bg585", "P_bg586", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn1.to_v", "P_bg585", "P_bg586", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn2.to_k", "P_bg587", "P_bg588", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn2.to_out.0", "P_bg589", "P_bg590", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn2.to_q", "P_bg591", "P_bg592", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.attn2.to_v", "P_bg593", "P_bg594", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.ff.net.0.proj", "P_bg595", "P_bg596", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.ff.net.2", "P_bg597", "P_bg598", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.norm1", "P_bg599"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.norm2", "P_bg599"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.1.norm3", "P_bg599"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn1.to_k", "P_bg600", "P_bg601", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn1.to_out.0", "P_bg600", "P_bg601", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn1.to_q", "P_bg600", "P_bg601", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn1.to_v", "P_bg600", "P_bg601", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn2.to_k", "P_bg602", "P_bg603", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn2.to_out.0", "P_bg604", "P_bg605", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn2.to_q", "P_bg606", "P_bg607", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.attn2.to_v", "P_bg608", "P_bg609", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.ff.net.0.proj", "P_bg610", "P_bg611", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.ff.net.2", "P_bg612", "P_bg613", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.norm1", "P_bg614"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.norm2", "P_bg614"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.2.norm3", "P_bg614"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn1.to_k", "P_bg615", "P_bg616", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn1.to_out.0", "P_bg615", "P_bg616", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn1.to_q", "P_bg615", "P_bg616", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn1.to_v", "P_bg615", "P_bg616", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn2.to_k", "P_bg617", "P_bg618", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn2.to_out.0", "P_bg619", "P_bg620", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn2.to_q", "P_bg621", "P_bg622", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.attn2.to_v", "P_bg623", "P_bg624", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.ff.net.0.proj", "P_bg625", "P_bg626", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.ff.net.2", "P_bg627", "P_bg628", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.norm1", "P_bg629"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.norm2", "P_bg629"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.3.norm3", "P_bg629"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn1.to_k", "P_bg630", "P_bg631", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn1.to_out.0", "P_bg630", "P_bg631", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn1.to_q", "P_bg630", "P_bg631", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn1.to_v", "P_bg630", "P_bg631", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn2.to_k", "P_bg632", "P_bg633", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn2.to_out.0", "P_bg634", "P_bg635", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn2.to_q", "P_bg636", "P_bg637", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.attn2.to_v", "P_bg638", "P_bg639", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.ff.net.0.proj", "P_bg640", "P_bg641", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.ff.net.2", "P_bg642", "P_bg643", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.norm1", "P_bg644"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.norm2", "P_bg644"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.4.norm3", "P_bg644"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn1.to_k", "P_bg645", "P_bg646", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn1.to_out.0", "P_bg645", "P_bg646", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn1.to_q", "P_bg645", "P_bg646", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn1.to_v", "P_bg645", "P_bg646", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn2.to_k", "P_bg647", "P_bg648", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn2.to_out.0", "P_bg649", "P_bg650", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn2.to_q", "P_bg651", "P_bg652", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.attn2.to_v", "P_bg653", "P_bg654", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.ff.net.0.proj", "P_bg655", "P_bg656", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.ff.net.2", "P_bg657", "P_bg658", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.norm1", "P_bg659"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.norm2", "P_bg659"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.5.norm3", "P_bg659"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn1.to_k", "P_bg660", "P_bg661", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn1.to_out.0", "P_bg660", "P_bg661", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn1.to_q", "P_bg660", "P_bg661", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn1.to_v", "P_bg660", "P_bg661", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn2.to_k", "P_bg662", "P_bg663", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn2.to_out.0", "P_bg664", "P_bg665", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn2.to_q", "P_bg666", "P_bg667", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.attn2.to_v", "P_bg668", "P_bg669", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.ff.net.0.proj", "P_bg670", "P_bg671", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.ff.net.2", "P_bg672", "P_bg673", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.norm1", "P_bg674"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.norm2", "P_bg674"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.6.norm3", "P_bg674"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn1.to_k", "P_bg675", "P_bg676", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn1.to_out.0", "P_bg675", "P_bg676", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn1.to_q", "P_bg675", "P_bg676", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn1.to_v", "P_bg675", "P_bg676", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn2.to_k", "P_bg677", "P_bg678", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn2.to_out.0", "P_bg679", "P_bg680", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn2.to_q", "P_bg681", "P_bg682", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.attn2.to_v", "P_bg683", "P_bg684", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.ff.net.0.proj", "P_bg685", "P_bg686", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.ff.net.2", "P_bg687", "P_bg688", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.norm1", "P_bg689"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.norm2", "P_bg689"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.7.norm3", "P_bg689"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn1.to_k", "P_bg690", "P_bg691", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn1.to_out.0", "P_bg690", "P_bg691", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn1.to_q", "P_bg690", "P_bg691", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn1.to_v", "P_bg690", "P_bg691", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn2.to_k", "P_bg692", "P_bg693", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn2.to_out.0", "P_bg694", "P_bg695", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn2.to_q", "P_bg696", "P_bg697", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.attn2.to_v", "P_bg698", "P_bg699", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.ff.net.0.proj", "P_bg700", "P_bg701", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.ff.net.2", "P_bg702", "P_bg703", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.norm1", "P_bg704"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.norm2", "P_bg704"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.8.norm3", "P_bg704"), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn1.to_k", "P_bg705", "P_bg706", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn1.to_out.0", "P_bg705", "P_bg706", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn1.to_q", "P_bg705", "P_bg706", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn1.to_v", "P_bg705", "P_bg706", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn2.to_k", "P_bg707", "P_bg708", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn2.to_out.0", "P_bg709", "P_bg710", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn2.to_q", "P_bg711", "P_bg712", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.attn2.to_v", "P_bg713", "P_bg714", bias=False), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.ff.net.0.proj", "P_bg715", "P_bg716", bias=True), + **dense("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.ff.net.2", "P_bg717", "P_bg718", bias=True), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.norm1", "P_bg719"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.norm2", "P_bg719"), + **norm("model.diffusion_model.output_blocks.0.1.transformer_blocks.9.norm3", "P_bg719"), + **easyblock("model.diffusion_model.output_blocks.1.0", "P_bg720", "P_bg721"), + **conv("model.diffusion_model.output_blocks.1.0.skip_connection", "P_bg722", "P_bg723"), + **norm("model.diffusion_model.output_blocks.1.1.norm", "P_bg724"), + **conv("model.diffusion_model.output_blocks.1.1.proj_in", "P_bg724", "P_bg725"), + **conv("model.diffusion_model.output_blocks.1.1.proj_out", "P_bg726", "P_bg727"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn1.to_k", "P_bg728", "P_bg729", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn1.to_out.0", "P_bg728", "P_bg729", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn1.to_q", "P_bg728", "P_bg729", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn1.to_v", "P_bg728", "P_bg729", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn2.to_k", "P_bg730", "P_bg731", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn2.to_out.0", "P_bg732", "P_bg733", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn2.to_q", "P_bg734", "P_bg735", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.attn2.to_v", "P_bg736", "P_bg737", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.ff.net.0.proj", "P_bg738", "P_bg739", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.ff.net.2", "P_bg740", "P_bg741", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.norm1", "P_bg742"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.norm2", "P_bg742"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.0.norm3", "P_bg742"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn1.to_k", "P_bg743", "P_bg744", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn1.to_out.0", "P_bg743", "P_bg744", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn1.to_q", "P_bg743", "P_bg744", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn1.to_v", "P_bg743", "P_bg744", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn2.to_k", "P_bg745", "P_bg746", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn2.to_out.0", "P_bg747", "P_bg748", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn2.to_q", "P_bg749", "P_bg750", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.attn2.to_v", "P_bg751", "P_bg752", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.ff.net.0.proj", "P_bg753", "P_bg754", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.ff.net.2", "P_bg755", "P_bg756", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.norm1", "P_bg757"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.norm2", "P_bg757"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.1.norm3", "P_bg757"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn1.to_k", "P_bg758", "P_bg759", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn1.to_out.0", "P_bg758", "P_bg759", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn1.to_q", "P_bg758", "P_bg759", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn1.to_v", "P_bg758", "P_bg759", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn2.to_k", "P_bg760", "P_bg761", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn2.to_out.0", "P_bg762", "P_bg763", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn2.to_q", "P_bg764", "P_bg765", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.attn2.to_v", "P_bg766", "P_bg767", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.ff.net.0.proj", "P_bg768", "P_bg769", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.ff.net.2", "P_bg770", "P_bg771", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.norm1", "P_bg772"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.norm2", "P_bg772"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.2.norm3", "P_bg772"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn1.to_k", "P_bg773", "P_bg774", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn1.to_out.0", "P_bg773", "P_bg774", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn1.to_q", "P_bg773", "P_bg774", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn1.to_v", "P_bg773", "P_bg774", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn2.to_k", "P_bg775", "P_bg776", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn2.to_out.0", "P_bg777", "P_bg778", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn2.to_q", "P_bg779", "P_bg780", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.attn2.to_v", "P_bg781", "P_bg782", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.ff.net.0.proj", "P_bg783", "P_bg784", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.ff.net.2", "P_bg785", "P_bg786", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.norm1", "P_bg787"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.norm2", "P_bg787"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.3.norm3", "P_bg787"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn1.to_k", "P_bg788", "P_bg789", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn1.to_out.0", "P_bg788", "P_bg789", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn1.to_q", "P_bg788", "P_bg789", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn1.to_v", "P_bg788", "P_bg789", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn2.to_k", "P_bg790", "P_bg791", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn2.to_out.0", "P_bg792", "P_bg793", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn2.to_q", "P_bg794", "P_bg795", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.attn2.to_v", "P_bg796", "P_bg797", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.ff.net.0.proj", "P_bg798", "P_bg799", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.ff.net.2", "P_bg800", "P_bg801", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.norm1", "P_bg802"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.norm2", "P_bg802"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.4.norm3", "P_bg802"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn1.to_k", "P_bg803", "P_bg804", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn1.to_out.0", "P_bg803", "P_bg804", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn1.to_q", "P_bg803", "P_bg804", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn1.to_v", "P_bg803", "P_bg804", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn2.to_k", "P_bg805", "P_bg806", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn2.to_out.0", "P_bg807", "P_bg808", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn2.to_q", "P_bg809", "P_bg810", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.attn2.to_v", "P_bg811", "P_bg812", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.ff.net.0.proj", "P_bg813", "P_bg814", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.ff.net.2", "P_bg815", "P_bg816", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.norm1", "P_bg817"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.norm2", "P_bg817"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.5.norm3", "P_bg817"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn1.to_k", "P_bg818", "P_bg819", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn1.to_out.0", "P_bg818", "P_bg819", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn1.to_q", "P_bg818", "P_bg819", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn1.to_v", "P_bg818", "P_bg819", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn2.to_k", "P_bg820", "P_bg821", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn2.to_out.0", "P_bg822", "P_bg823", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn2.to_q", "P_bg824", "P_bg825", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.attn2.to_v", "P_bg826", "P_bg827", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.ff.net.0.proj", "P_bg828", "P_bg829", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.ff.net.2", "P_bg830", "P_bg831", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.norm1", "P_bg832"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.norm2", "P_bg832"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.6.norm3", "P_bg832"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn1.to_k", "P_bg833", "P_bg834", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn1.to_out.0", "P_bg833", "P_bg834", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn1.to_q", "P_bg833", "P_bg834", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn1.to_v", "P_bg833", "P_bg834", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn2.to_k", "P_bg835", "P_bg836", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn2.to_out.0", "P_bg837", "P_bg838", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn2.to_q", "P_bg839", "P_bg840", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.attn2.to_v", "P_bg841", "P_bg842", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.ff.net.0.proj", "P_bg843", "P_bg844", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.ff.net.2", "P_bg845", "P_bg846", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.norm1", "P_bg847"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.norm2", "P_bg847"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.7.norm3", "P_bg847"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn1.to_k", "P_bg848", "P_bg849", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn1.to_out.0", "P_bg848", "P_bg849", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn1.to_q", "P_bg848", "P_bg849", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn1.to_v", "P_bg848", "P_bg849", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn2.to_k", "P_bg850", "P_bg851", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn2.to_out.0", "P_bg852", "P_bg853", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn2.to_q", "P_bg854", "P_bg855", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.attn2.to_v", "P_bg856", "P_bg857", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.ff.net.0.proj", "P_bg858", "P_bg859", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.ff.net.2", "P_bg860", "P_bg861", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.norm1", "P_bg862"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.norm2", "P_bg862"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.8.norm3", "P_bg862"), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn1.to_k", "P_bg863", "P_bg864", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn1.to_out.0", "P_bg863", "P_bg864", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn1.to_q", "P_bg863", "P_bg864", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn1.to_v", "P_bg863", "P_bg864", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn2.to_k", "P_bg865", "P_bg866", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn2.to_out.0", "P_bg867", "P_bg868", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn2.to_q", "P_bg869", "P_bg870", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.attn2.to_v", "P_bg871", "P_bg872", bias=False), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.ff.net.0.proj", "P_bg873", "P_bg874", bias=True), + **dense("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.ff.net.2", "P_bg875", "P_bg876", bias=True), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.norm1", "P_bg877"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.norm2", "P_bg877"), + **norm("model.diffusion_model.output_blocks.1.1.transformer_blocks.9.norm3", "P_bg877"), + **easyblock("model.diffusion_model.output_blocks.2.0", "P_bg878", "P_bg879"), + **conv("model.diffusion_model.output_blocks.2.0.skip_connection", "P_bg880", "P_bg881"), + **norm("model.diffusion_model.output_blocks.2.1.norm", "P_bg882"), + **conv("model.diffusion_model.output_blocks.2.1.proj_in", "P_bg882", "P_bg883"), + **conv("model.diffusion_model.output_blocks.2.1.proj_out", "P_bg884", "P_bg885"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn1.to_k", "P_bg886", "P_bg887", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn1.to_out.0", "P_bg886", "P_bg887", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn1.to_q", "P_bg886", "P_bg887", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn1.to_v", "P_bg886", "P_bg887", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn2.to_k", "P_bg888", "P_bg889", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn2.to_out.0", "P_bg890", "P_bg891", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn2.to_q", "P_bg892", "P_bg893", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.attn2.to_v", "P_bg894", "P_bg895", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.ff.net.0.proj", "P_bg896", "P_bg897", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.ff.net.2", "P_bg898", "P_bg899", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.norm1", "P_bg900"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.norm2", "P_bg900"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.0.norm3", "P_bg900"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn1.to_k", "P_bg901", "P_bg902", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn1.to_out.0", "P_bg901", "P_bg902", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn1.to_q", "P_bg901", "P_bg902", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn1.to_v", "P_bg901", "P_bg902", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn2.to_k", "P_bg903", "P_bg904", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn2.to_out.0", "P_bg905", "P_bg906", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn2.to_q", "P_bg907", "P_bg908", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.attn2.to_v", "P_bg909", "P_bg910", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.ff.net.0.proj", "P_bg911", "P_bg912", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.ff.net.2", "P_bg913", "P_bg914", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.norm1", "P_bg915"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.norm2", "P_bg915"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.1.norm3", "P_bg915"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn1.to_k", "P_bg916", "P_bg917", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn1.to_out.0", "P_bg916", "P_bg917", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn1.to_q", "P_bg916", "P_bg917", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn1.to_v", "P_bg916", "P_bg917", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn2.to_k", "P_bg918", "P_bg919", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn2.to_out.0", "P_bg920", "P_bg921", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn2.to_q", "P_bg922", "P_bg923", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.attn2.to_v", "P_bg924", "P_bg925", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.ff.net.0.proj", "P_bg926", "P_bg927", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.ff.net.2", "P_bg928", "P_bg929", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.norm1", "P_bg930"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.norm2", "P_bg930"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.2.norm3", "P_bg930"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn1.to_k", "P_bg931", "P_bg932", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn1.to_out.0", "P_bg931", "P_bg932", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn1.to_q", "P_bg931", "P_bg932", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn1.to_v", "P_bg931", "P_bg932", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn2.to_k", "P_bg933", "P_bg934", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn2.to_out.0", "P_bg935", "P_bg936", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn2.to_q", "P_bg937", "P_bg938", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.attn2.to_v", "P_bg939", "P_bg940", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.ff.net.0.proj", "P_bg941", "P_bg942", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.ff.net.2", "P_bg943", "P_bg944", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.norm1", "P_bg945"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.norm2", "P_bg945"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.3.norm3", "P_bg945"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn1.to_k", "P_bg946", "P_bg947", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn1.to_out.0", "P_bg946", "P_bg947", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn1.to_q", "P_bg946", "P_bg947", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn1.to_v", "P_bg946", "P_bg947", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn2.to_k", "P_bg948", "P_bg949", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn2.to_out.0", "P_bg950", "P_bg951", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn2.to_q", "P_bg952", "P_bg953", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.attn2.to_v", "P_bg954", "P_bg955", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.ff.net.0.proj", "P_bg956", "P_bg957", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.ff.net.2", "P_bg958", "P_bg959", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.norm1", "P_bg960"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.norm2", "P_bg960"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.4.norm3", "P_bg960"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn1.to_k", "P_bg961", "P_bg962", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn1.to_out.0", "P_bg961", "P_bg962", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn1.to_q", "P_bg961", "P_bg962", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn1.to_v", "P_bg961", "P_bg962", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn2.to_k", "P_bg963", "P_bg964", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn2.to_out.0", "P_bg965", "P_bg966", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn2.to_q", "P_bg967", "P_bg968", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.attn2.to_v", "P_bg969", "P_bg970", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.ff.net.0.proj", "P_bg971", "P_bg972", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.ff.net.2", "P_bg973", "P_bg974", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.norm1", "P_bg975"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.norm2", "P_bg975"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.5.norm3", "P_bg975"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn1.to_k", "P_bg976", "P_bg977", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn1.to_out.0", "P_bg976", "P_bg977", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn1.to_q", "P_bg976", "P_bg977", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn1.to_v", "P_bg976", "P_bg977", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn2.to_k", "P_bg978", "P_bg979", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn2.to_out.0", "P_bg980", "P_bg981", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn2.to_q", "P_bg982", "P_bg983", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.attn2.to_v", "P_bg984", "P_bg985", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.ff.net.0.proj", "P_bg986", "P_bg987", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.ff.net.2", "P_bg988", "P_bg989", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.norm1", "P_bg990"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.norm2", "P_bg990"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.6.norm3", "P_bg990"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn1.to_k", "P_bg991", "P_bg992", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn1.to_out.0", "P_bg991", "P_bg992", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn1.to_q", "P_bg991", "P_bg992", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn1.to_v", "P_bg991", "P_bg992", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn2.to_k", "P_bg993", "P_bg994", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn2.to_out.0", "P_bg995", "P_bg996", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn2.to_q", "P_bg997", "P_bg998", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.attn2.to_v", "P_bg999", "P_bg1000", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.ff.net.0.proj", "P_bg1001", "P_bg1002", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.ff.net.2", "P_bg1003", "P_bg1004", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.norm1", "P_bg1005"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.norm2", "P_bg1005"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.7.norm3", "P_bg1005"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn1.to_k", "P_bg1006", "P_bg1007", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn1.to_out.0", "P_bg1006", "P_bg1007", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn1.to_q", "P_bg1006", "P_bg1007", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn1.to_v", "P_bg1006", "P_bg1007", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn2.to_k", "P_bg1008", "P_bg1009", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn2.to_out.0", "P_bg1010", "P_bg1011", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn2.to_q", "P_bg1012", "P_bg1013", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.attn2.to_v", "P_bg1014", "P_bg1015", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.ff.net.0.proj", "P_bg1016", "P_bg1017", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.ff.net.2", "P_bg1018", "P_bg1019", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.norm1", "P_bg1020"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.norm2", "P_bg1020"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.8.norm3", "P_bg1020"), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn1.to_k", "P_bg1021", "P_bg1022", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn1.to_out.0", "P_bg1021", "P_bg1022", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn1.to_q", "P_bg1021", "P_bg1022", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn1.to_v", "P_bg1021", "P_bg1022", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn2.to_k", "P_bg1023", "P_bg1024", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn2.to_out.0", "P_bg1025", "P_bg1026", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn2.to_q", "P_bg1027", "P_bg1028", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.attn2.to_v", "P_bg1029", "P_bg1030", bias=False), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.ff.net.0.proj", "P_bg1031", "P_bg1032", bias=True), + **dense("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.ff.net.2", "P_bg1033", "P_bg1034", bias=True), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.norm1", "P_bg1035"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.norm2", "P_bg1035"), + **norm("model.diffusion_model.output_blocks.2.1.transformer_blocks.9.norm3", "P_bg1035"), + **conv("model.diffusion_model.output_blocks.2.2.conv", "P_bg1036", "P_bg1037"), + **easyblock("model.diffusion_model.output_blocks.3.0", "P_bg1038", "P_bg1039"), + **conv("model.diffusion_model.output_blocks.3.0.skip_connection", "P_bg1040", "P_bg1041"), + **norm("model.diffusion_model.output_blocks.3.1.norm", "P_bg1042"), + **conv("model.diffusion_model.output_blocks.3.1.proj_in", "P_bg1042", "P_bg1043"), + **conv("model.diffusion_model.output_blocks.3.1.proj_out", "P_bg1044", "P_bg1045"), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_k", "P_bg1046", "P_bg1047", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_out.0", "P_bg1046", "P_bg1047", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_q", "P_bg1046", "P_bg1047", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_v", "P_bg1046", "P_bg1047", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_k", "P_bg1048", "P_bg1049", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_out.0", "P_bg1050", "P_bg1051", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_q", "P_bg1052", "P_bg1053", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_v", "P_bg1054", "P_bg1055", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj", "P_bg1056", "P_bg1057", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.2", "P_bg1058", "P_bg1059", bias=True), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm1", "P_bg1060"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm2", "P_bg1060"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm3", "P_bg1060"), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn1.to_k", "P_bg1061", "P_bg1062", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn1.to_out.0", "P_bg1061", "P_bg1062", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn1.to_q", "P_bg1061", "P_bg1062", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn1.to_v", "P_bg1061", "P_bg1062", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn2.to_k", "P_bg1063", "P_bg1064", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn2.to_out.0", "P_bg1065", "P_bg1066", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn2.to_q", "P_bg1067", "P_bg1068", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.attn2.to_v", "P_bg1069", "P_bg1070", bias=False), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.ff.net.0.proj", "P_bg1071", "P_bg1072", bias=True), + **dense("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.ff.net.2", "P_bg1073", "P_bg1074", bias=True), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.norm1", "P_bg1075"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.norm2", "P_bg1075"), + **norm("model.diffusion_model.output_blocks.3.1.transformer_blocks.1.norm3", "P_bg1075"), + **easyblock("model.diffusion_model.output_blocks.4.0", "P_bg1076", "P_bg1077"), + **conv("model.diffusion_model.output_blocks.4.0.skip_connection", "P_bg1078", "P_bg1079"), + **norm("model.diffusion_model.output_blocks.4.1.norm", "P_bg1080"), + **conv("model.diffusion_model.output_blocks.4.1.proj_in", "P_bg1080", "P_bg1081"), + **conv("model.diffusion_model.output_blocks.4.1.proj_out", "P_bg1082", "P_bg1083"), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_k", "P_bg1084", "P_bg1085", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_out.0", "P_bg1084", "P_bg1085", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_q", "P_bg1084", "P_bg1085", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_v", "P_bg1084", "P_bg1085", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_k", "P_bg1086", "P_bg1087", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_out.0", "P_bg1088", "P_bg1089", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_q", "P_bg1090", "P_bg1091", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_v", "P_bg1092", "P_bg1093", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.0.proj", "P_bg1094", "P_bg1095", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.2", "P_bg1096", "P_bg1097", bias=True), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm1", "P_bg1098"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm2", "P_bg1098"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm3", "P_bg1098"), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn1.to_k", "P_bg1099", "P_bg1100", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn1.to_out.0", "P_bg1099", "P_bg1100", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn1.to_q", "P_bg1099", "P_bg1100", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn1.to_v", "P_bg1099", "P_bg1100", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn2.to_k", "P_bg1101", "P_bg1102", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn2.to_out.0", "P_bg1103", "P_bg1104", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn2.to_q", "P_bg1105", "P_bg1106", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.attn2.to_v", "P_bg1107", "P_bg1108", bias=False), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.ff.net.0.proj", "P_bg1109", "P_bg1110", bias=True), + **dense("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.ff.net.2", "P_bg1111", "P_bg1112", bias=True), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.norm1", "P_bg1113"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.norm2", "P_bg1113"), + **norm("model.diffusion_model.output_blocks.4.1.transformer_blocks.1.norm3", "P_bg1113"), + **easyblock("model.diffusion_model.output_blocks.5.0", "P_bg1114", "P_bg1115"), + **conv("model.diffusion_model.output_blocks.5.0.skip_connection", "P_bg1116", "P_bg1117"), + **norm("model.diffusion_model.output_blocks.5.1.norm", "P_bg1118"), + **conv("model.diffusion_model.output_blocks.5.1.proj_in", "P_bg1118", "P_bg1119"), + **conv("model.diffusion_model.output_blocks.5.1.proj_out", "P_bg1120", "P_bg1121"), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_k", "P_bg1122", "P_bg1123", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_out.0", "P_bg1122", "P_bg1123", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_q", "P_bg1122", "P_bg1123", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_v", "P_bg1122", "P_bg1123", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_k", "P_bg1124", "P_bg1125", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_out.0", "P_bg1126", "P_bg1127", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_q", "P_bg1128", "P_bg1129", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_v", "P_bg1130", "P_bg1131", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.0.proj", "P_bg1132", "P_bg1133", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.2", "P_bg1134", "P_bg1135", bias=True), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm1", "P_bg1136"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm2", "P_bg1136"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm3", "P_bg1136"), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn1.to_k", "P_bg1137", "P_bg1138", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn1.to_out.0", "P_bg1137", "P_bg1138", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn1.to_q", "P_bg1137", "P_bg1138", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn1.to_v", "P_bg1137", "P_bg1138", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn2.to_k", "P_bg1139", "P_bg1140", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn2.to_out.0", "P_bg1141", "P_bg1142", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn2.to_q", "P_bg1143", "P_bg1144", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.attn2.to_v", "P_bg1145", "P_bg1146", bias=False), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.ff.net.0.proj", "P_bg1147", "P_bg1148", bias=True), + **dense("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.ff.net.2", "P_bg1149", "P_bg1150", bias=True), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.norm1", "P_bg1151"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.norm2", "P_bg1151"), + **norm("model.diffusion_model.output_blocks.5.1.transformer_blocks.1.norm3", "P_bg1151"), + **conv("model.diffusion_model.output_blocks.5.2.conv", "P_bg1152", "P_bg1153"), + **easyblock("model.diffusion_model.output_blocks.6.0", "P_bg1154", "P_bg1155"), + **conv("model.diffusion_model.output_blocks.6.0.skip_connection", "P_bg1156", "P_bg1157"), + **easyblock("model.diffusion_model.output_blocks.7.0", "P_bg1158", "P_bg1159"), + **conv("model.diffusion_model.output_blocks.7.0.skip_connection", "P_bg1160", "P_bg1161"), + **easyblock("model.diffusion_model.output_blocks.8.0", "P_bg1162", "P_bg1163"), + **conv("model.diffusion_model.output_blocks.8.0.skip_connection", "P_bg1164", "P_bg1165"), + **dense("model.diffusion_model.time_embed.0", "P_bg1166", "P_bg1167", bias=True), + **dense("model.diffusion_model.time_embed.2", "P_bg1168", "P_bg1169", bias=True), + # Text Encoder 1 + **dense("conditioner.embedders.0.transformer.text_model.embeddings.position_embedding", "P_bg1170", "P_bg1171", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.token_embedding", "P_bg1172", "P_bg1173", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc1", "P_bg1176", "P_bg1177", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc2", "P_bg1178", "P_bg1179", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.k_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.out_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.q_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.v_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc1", "P_bg1184", "P_bg1185", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc2", "P_bg1186", "P_bg1187", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.k_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.out_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.q_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.v_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc1", "P_bg1192", "P_bg1193", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc2", "P_bg1194", "P_bg1195", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.k_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.out_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.q_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.v_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc1", "P_bg1200", "P_bg1201", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc2", "P_bg1202", "P_bg1203", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.k_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.out_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.q_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.v_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc1", "P_bg1208", "P_bg1209", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc2", "P_bg1210", "P_bg1211", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.k_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.out_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.q_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.v_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc1", "P_bg1216", "P_bg1217", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc2", "P_bg1218", "P_bg1219", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.k_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.out_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.q_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.v_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc1", "P_bg1224", "P_bg1225", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc2", "P_bg1226", "P_bg1227", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.k_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.out_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.q_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.v_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc1", "P_bg1232", "P_bg1233", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc2", "P_bg1234", "P_bg1235", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.k_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.out_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.q_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.v_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc1", "P_bg1240", "P_bg1241", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc2", "P_bg1242", "P_bg1243", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.k_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.out_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.q_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.v_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc1", "P_bg1248", "P_bg1249", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc2", "P_bg1250", "P_bg1251", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.k_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.out_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.q_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.v_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc1", "P_bg1256", "P_bg1257", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc2", "P_bg1258", "P_bg1259", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.k_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.out_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.q_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.v_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc1", "P_bg1264", "P_bg1265", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc2", "P_bg1266", "P_bg1267", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.k_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.out_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.q_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.v_proj", "P_bg1268", "P_bg1269", bias=False), + # Text Encoder 2 + **dense("conditioner.embedders.1.model.token_embedding", "P_bg1272", "P_bg1273", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.in_proj_weight", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.out_proj", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_fc", "P_bg1278", "P_bg1279", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.in_proj_weight", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.out_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_fc", "P_bg1284", "P_bg1285", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.in_proj_weight", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.out_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_fc", "P_bg1290", "P_bg1291", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.in_proj_weight", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.out_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_fc", "P_bg1296", "P_bg1297", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.in_proj_weight", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.out_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_fc", "P_bg1302", "P_bg1303", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.in_proj_weight", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.out_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_fc", "P_bg1308", "P_bg1309", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.in_proj_weight", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.out_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_fc", "P_bg1314", "P_bg1315", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.in_proj_weight", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.out_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_fc", "P_bg1320", "P_bg1321", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.in_proj_weight", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.out_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_fc", "P_bg1326", "P_bg1327", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.in_proj_weight", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.out_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_fc", "P_bg1332", "P_bg1333", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.in_proj_weight", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.out_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_fc", "P_bg1338", "P_bg1339", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.in_proj_weight", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.out_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_fc", "P_bg1344", "P_bg1345", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.in_proj_weight", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.out_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_fc", "P_bg1350", "P_bg1351", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.in_proj_weight", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.out_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_fc", "P_bg1356", "P_bg1357", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.in_proj_weight", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.out_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_fc", "P_bg1362", "P_bg1363", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.in_proj_weight", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.out_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_fc", "P_bg1368", "P_bg1369", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.in_proj_weight", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.out_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_fc", "P_bg1374", "P_bg1375", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.in_proj_weight", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.out_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_fc", "P_bg1380", "P_bg1381", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.in_proj_weight", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.out_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_fc", "P_bg1386", "P_bg1387", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.in_proj_weight", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.out_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_fc", "P_bg1392", "P_bg1393", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.in_proj_weight", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.out_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_fc", "P_bg1398", "P_bg1399", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.in_proj_weight", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.out_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_fc", "P_bg1404", "P_bg1405", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.in_proj_weight", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.out_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_fc", "P_bg1410", "P_bg1411", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.in_proj_weight", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.out_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_fc", "P_bg1416", "P_bg1417", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.in_proj_weight", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.out_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_fc", "P_bg1422", "P_bg1423", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.in_proj_weight", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.out_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_fc", "P_bg1428", "P_bg1429", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.in_proj_weight", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.out_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_fc", "P_bg1434", "P_bg1435", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.in_proj_weight", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.out_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_fc", "P_bg1440", "P_bg1441", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.in_proj_weight", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.out_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_fc", "P_bg1446", "P_bg1447", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.in_proj_weight", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.out_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_fc", "P_bg1452", "P_bg1453", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.in_proj_weight", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.out_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_fc", "P_bg1458", "P_bg1459", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.in_proj_weight", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.out_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_fc", "P_bg1464", "P_bg1465", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj", "P_bg1466", "P_bg1467", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.position_embedding", "P_bg1170", "P_bg1171", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.token_embedding", "P_bg1172", "P_bg1173", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc1", "P_bg1176", "P_bg1177", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc2", "P_bg1178", "P_bg1179", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.k_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.out_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.q_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.v_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc1", "P_bg1184", "P_bg1185", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc2", "P_bg1186", "P_bg1187", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.k_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.out_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.q_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.v_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc1", "P_bg1192", "P_bg1193", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc2", "P_bg1194", "P_bg1195", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.k_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.out_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.q_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.v_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc1", "P_bg1200", "P_bg1201", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc2", "P_bg1202", "P_bg1203", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.k_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.out_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.q_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.v_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc1", "P_bg1208", "P_bg1209", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc2", "P_bg1210", "P_bg1211", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.k_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.out_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.q_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.v_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc1", "P_bg1216", "P_bg1217", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc2", "P_bg1218", "P_bg1219", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.k_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.out_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.q_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.v_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc1", "P_bg1224", "P_bg1225", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc2", "P_bg1226", "P_bg1227", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.k_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.out_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.q_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.v_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc1", "P_bg1232", "P_bg1233", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc2", "P_bg1234", "P_bg1235", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.k_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.out_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.q_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.v_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc1", "P_bg1240", "P_bg1241", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc2", "P_bg1242", "P_bg1243", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.k_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.out_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.q_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.v_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc1", "P_bg1248", "P_bg1249", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc2", "P_bg1250", "P_bg1251", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.k_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.out_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.q_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.v_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc1", "P_bg1256", "P_bg1257", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc2", "P_bg1258", "P_bg1259", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.k_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.out_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.q_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.v_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc1", "P_bg1264", "P_bg1265", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc2", "P_bg1266", "P_bg1267", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.k_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.out_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.q_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.v_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.1.model.token_embedding", "P_bg1272", "P_bg1273", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.in_proj_weight", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.out_proj", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_fc", "P_bg1278", "P_bg1279", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.in_proj_weight", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.out_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_fc", "P_bg1284", "P_bg1285", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.in_proj_weight", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.out_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_fc", "P_bg1290", "P_bg1291", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.in_proj_weight", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.out_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_fc", "P_bg1296", "P_bg1297", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.in_proj_weight", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.out_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_fc", "P_bg1302", "P_bg1303", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.in_proj_weight", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.out_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_fc", "P_bg1308", "P_bg1309", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.in_proj_weight", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.out_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_fc", "P_bg1314", "P_bg1315", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.in_proj_weight", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.out_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_fc", "P_bg1320", "P_bg1321", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.in_proj_weight", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.out_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_fc", "P_bg1326", "P_bg1327", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.in_proj_weight", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.out_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_fc", "P_bg1332", "P_bg1333", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.in_proj_weight", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.out_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_fc", "P_bg1338", "P_bg1339", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.in_proj_weight", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.out_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_fc", "P_bg1344", "P_bg1345", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.in_proj_weight", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.out_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_fc", "P_bg1350", "P_bg1351", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.in_proj_weight", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.out_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_fc", "P_bg1356", "P_bg1357", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.in_proj_weight", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.out_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_fc", "P_bg1362", "P_bg1363", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.in_proj_weight", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.out_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_fc", "P_bg1368", "P_bg1369", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.in_proj_weight", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.out_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_fc", "P_bg1374", "P_bg1375", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.in_proj_weight", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.out_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_fc", "P_bg1380", "P_bg1381", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.in_proj_weight", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.out_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_fc", "P_bg1386", "P_bg1387", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.in_proj_weight", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.out_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_fc", "P_bg1392", "P_bg1393", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.in_proj_weight", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.out_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_fc", "P_bg1398", "P_bg1399", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.in_proj_weight", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.out_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_fc", "P_bg1404", "P_bg1405", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.in_proj_weight", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.out_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_fc", "P_bg1410", "P_bg1411", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.in_proj_weight", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.out_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_fc", "P_bg1416", "P_bg1417", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.in_proj_weight", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.out_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_fc", "P_bg1422", "P_bg1423", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.in_proj_weight", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.out_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_fc", "P_bg1428", "P_bg1429", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.in_proj_weight", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.out_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_fc", "P_bg1434", "P_bg1435", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.in_proj_weight", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.out_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_fc", "P_bg1440", "P_bg1441", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.in_proj_weight", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.out_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_fc", "P_bg1446", "P_bg1447", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.in_proj_weight", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.out_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_fc", "P_bg1452", "P_bg1453", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.in_proj_weight", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.out_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_fc", "P_bg1458", "P_bg1459", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.in_proj_weight", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.out_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_fc", "P_bg1464", "P_bg1465", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj", "P_bg1466", "P_bg1467", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.position_embedding", "P_bg1170", "P_bg1171", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.token_embedding", "P_bg1172", "P_bg1173", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc1", "P_bg1176", "P_bg1177", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc2", "P_bg1178", "P_bg1179", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.k_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.out_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.q_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.v_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc1", "P_bg1184", "P_bg1185", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc2", "P_bg1186", "P_bg1187", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.k_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.out_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.q_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.v_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc1", "P_bg1192", "P_bg1193", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc2", "P_bg1194", "P_bg1195", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.k_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.out_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.q_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.v_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc1", "P_bg1200", "P_bg1201", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc2", "P_bg1202", "P_bg1203", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.k_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.out_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.q_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.v_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc1", "P_bg1208", "P_bg1209", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc2", "P_bg1210", "P_bg1211", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.k_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.out_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.q_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.v_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc1", "P_bg1216", "P_bg1217", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc2", "P_bg1218", "P_bg1219", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.k_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.out_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.q_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.v_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc1", "P_bg1224", "P_bg1225", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc2", "P_bg1226", "P_bg1227", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.k_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.out_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.q_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.v_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc1", "P_bg1232", "P_bg1233", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc2", "P_bg1234", "P_bg1235", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.k_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.out_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.q_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.v_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc1", "P_bg1240", "P_bg1241", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc2", "P_bg1242", "P_bg1243", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.k_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.out_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.q_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.v_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc1", "P_bg1248", "P_bg1249", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc2", "P_bg1250", "P_bg1251", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.k_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.out_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.q_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.v_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc1", "P_bg1256", "P_bg1257", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc2", "P_bg1258", "P_bg1259", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.k_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.out_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.q_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.v_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc1", "P_bg1264", "P_bg1265", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc2", "P_bg1266", "P_bg1267", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.k_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.out_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.q_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.v_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.1.model.token_embedding", "P_bg1272", "P_bg1273", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.in_proj_weight", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.out_proj", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_fc", "P_bg1278", "P_bg1279", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.in_proj_weight", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.out_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_fc", "P_bg1284", "P_bg1285", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.in_proj_weight", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.out_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_fc", "P_bg1290", "P_bg1291", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.in_proj_weight", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.out_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_fc", "P_bg1296", "P_bg1297", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.in_proj_weight", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.out_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_fc", "P_bg1302", "P_bg1303", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.in_proj_weight", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.out_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_fc", "P_bg1308", "P_bg1309", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.in_proj_weight", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.out_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_fc", "P_bg1314", "P_bg1315", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.in_proj_weight", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.out_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_fc", "P_bg1320", "P_bg1321", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.in_proj_weight", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.out_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_fc", "P_bg1326", "P_bg1327", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.in_proj_weight", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.out_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_fc", "P_bg1332", "P_bg1333", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.in_proj_weight", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.out_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_fc", "P_bg1338", "P_bg1339", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.in_proj_weight", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.out_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_fc", "P_bg1344", "P_bg1345", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.in_proj_weight", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.out_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_fc", "P_bg1350", "P_bg1351", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.in_proj_weight", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.out_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_fc", "P_bg1356", "P_bg1357", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.in_proj_weight", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.out_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_fc", "P_bg1362", "P_bg1363", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.in_proj_weight", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.out_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_fc", "P_bg1368", "P_bg1369", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.in_proj_weight", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.out_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_fc", "P_bg1374", "P_bg1375", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.in_proj_weight", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.out_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_fc", "P_bg1380", "P_bg1381", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.in_proj_weight", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.out_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_fc", "P_bg1386", "P_bg1387", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.in_proj_weight", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.out_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_fc", "P_bg1392", "P_bg1393", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.in_proj_weight", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.out_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_fc", "P_bg1398", "P_bg1399", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.in_proj_weight", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.out_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_fc", "P_bg1404", "P_bg1405", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.in_proj_weight", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.out_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_fc", "P_bg1410", "P_bg1411", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.in_proj_weight", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.out_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_fc", "P_bg1416", "P_bg1417", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.in_proj_weight", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.out_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_fc", "P_bg1422", "P_bg1423", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.in_proj_weight", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.out_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_fc", "P_bg1428", "P_bg1429", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.in_proj_weight", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.out_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_fc", "P_bg1434", "P_bg1435", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.in_proj_weight", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.out_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_fc", "P_bg1440", "P_bg1441", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.in_proj_weight", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.out_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_fc", "P_bg1446", "P_bg1447", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.in_proj_weight", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.out_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_fc", "P_bg1452", "P_bg1453", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.in_proj_weight", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.out_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_fc", "P_bg1458", "P_bg1459", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.in_proj_weight", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.out_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_fc", "P_bg1464", "P_bg1465", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj", "P_bg1466", "P_bg1467", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.position_embedding", "P_bg1170", "P_bg1171", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.embeddings.token_embedding", "P_bg1172", "P_bg1173", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc1", "P_bg1176", "P_bg1177", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.mlp.fc2", "P_bg1178", "P_bg1179", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.k_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.out_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.q_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.0.self_attn.v_proj", "P_bg1180", "P_bg1181", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc1", "P_bg1184", "P_bg1185", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.mlp.fc2", "P_bg1186", "P_bg1187", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.k_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.out_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.q_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.1.self_attn.v_proj", "P_bg1188", "P_bg1189", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc1", "P_bg1192", "P_bg1193", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.mlp.fc2", "P_bg1194", "P_bg1195", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.k_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.out_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.q_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.10.self_attn.v_proj", "P_bg1196", "P_bg1197", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc1", "P_bg1200", "P_bg1201", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.mlp.fc2", "P_bg1202", "P_bg1203", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.k_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.out_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.q_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.11.self_attn.v_proj", "P_bg1204", "P_bg1205", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc1", "P_bg1208", "P_bg1209", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.mlp.fc2", "P_bg1210", "P_bg1211", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.k_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.out_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.q_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.2.self_attn.v_proj", "P_bg1212", "P_bg1213", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc1", "P_bg1216", "P_bg1217", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.mlp.fc2", "P_bg1218", "P_bg1219", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.k_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.out_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.q_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.3.self_attn.v_proj", "P_bg1220", "P_bg1221", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc1", "P_bg1224", "P_bg1225", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.mlp.fc2", "P_bg1226", "P_bg1227", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.k_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.out_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.q_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.4.self_attn.v_proj", "P_bg1228", "P_bg1229", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc1", "P_bg1232", "P_bg1233", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.mlp.fc2", "P_bg1234", "P_bg1235", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.k_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.out_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.q_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.5.self_attn.v_proj", "P_bg1236", "P_bg1237", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc1", "P_bg1240", "P_bg1241", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.mlp.fc2", "P_bg1242", "P_bg1243", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.k_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.out_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.q_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.6.self_attn.v_proj", "P_bg1244", "P_bg1245", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc1", "P_bg1248", "P_bg1249", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.mlp.fc2", "P_bg1250", "P_bg1251", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.k_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.out_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.q_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.7.self_attn.v_proj", "P_bg1252", "P_bg1253", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc1", "P_bg1256", "P_bg1257", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.mlp.fc2", "P_bg1258", "P_bg1259", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.k_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.out_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.q_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.8.self_attn.v_proj", "P_bg1260", "P_bg1261", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc1", "P_bg1264", "P_bg1265", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.mlp.fc2", "P_bg1266", "P_bg1267", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.k_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.out_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.q_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.0.transformer.text_model.encoder.layers.9.self_attn.v_proj", "P_bg1268", "P_bg1269", bias=False), + **dense("conditioner.embedders.1.model.token_embedding", "P_bg1272", "P_bg1273", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.in_proj_weight", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.attn.out_proj", "P_bg1274", "P_bg1275", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_fc", "P_bg1278", "P_bg1279", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.0.mlp.c_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.in_proj_weight", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.attn.out_proj", "P_bg1280", "P_bg1281", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_fc", "P_bg1284", "P_bg1285", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.1.mlp.c_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.in_proj_weight", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.attn.out_proj", "P_bg1286", "P_bg1287", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_fc", "P_bg1290", "P_bg1291", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.10.mlp.c_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.in_proj_weight", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.attn.out_proj", "P_bg1292", "P_bg1293", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_fc", "P_bg1296", "P_bg1297", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.11.mlp.c_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.in_proj_weight", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.attn.out_proj", "P_bg1298", "P_bg1299", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_fc", "P_bg1302", "P_bg1303", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.12.mlp.c_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.in_proj_weight", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.attn.out_proj", "P_bg1304", "P_bg1305", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_fc", "P_bg1308", "P_bg1309", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.13.mlp.c_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.in_proj_weight", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.attn.out_proj", "P_bg1310", "P_bg1311", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_fc", "P_bg1314", "P_bg1315", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.14.mlp.c_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.in_proj_weight", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.attn.out_proj", "P_bg1316", "P_bg1317", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_fc", "P_bg1320", "P_bg1321", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.15.mlp.c_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.in_proj_weight", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.attn.out_proj", "P_bg1322", "P_bg1323", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_fc", "P_bg1326", "P_bg1327", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.16.mlp.c_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.in_proj_weight", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.attn.out_proj", "P_bg1328", "P_bg1329", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_fc", "P_bg1332", "P_bg1333", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.17.mlp.c_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.in_proj_weight", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.attn.out_proj", "P_bg1334", "P_bg1335", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_fc", "P_bg1338", "P_bg1339", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.18.mlp.c_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.in_proj_weight", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.attn.out_proj", "P_bg1340", "P_bg1341", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_fc", "P_bg1344", "P_bg1345", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.19.mlp.c_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.in_proj_weight", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.attn.out_proj", "P_bg1346", "P_bg1347", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_fc", "P_bg1350", "P_bg1351", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.2.mlp.c_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.in_proj_weight", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.attn.out_proj", "P_bg1352", "P_bg1353", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_fc", "P_bg1356", "P_bg1357", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.20.mlp.c_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.in_proj_weight", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.attn.out_proj", "P_bg1358", "P_bg1359", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_fc", "P_bg1362", "P_bg1363", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.21.mlp.c_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.in_proj_weight", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.attn.out_proj", "P_bg1364", "P_bg1365", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_fc", "P_bg1368", "P_bg1369", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.22.mlp.c_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.in_proj_weight", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.attn.out_proj", "P_bg1370", "P_bg1371", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_fc", "P_bg1374", "P_bg1375", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.23.mlp.c_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.in_proj_weight", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.attn.out_proj", "P_bg1376", "P_bg1377", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_fc", "P_bg1380", "P_bg1381", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.24.mlp.c_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.in_proj_weight", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.attn.out_proj", "P_bg1382", "P_bg1383", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_fc", "P_bg1386", "P_bg1387", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.25.mlp.c_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.in_proj_weight", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.attn.out_proj", "P_bg1388", "P_bg1389", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_fc", "P_bg1392", "P_bg1393", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.26.mlp.c_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.in_proj_weight", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.attn.out_proj", "P_bg1394", "P_bg1395", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_fc", "P_bg1398", "P_bg1399", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.27.mlp.c_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.in_proj_weight", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.attn.out_proj", "P_bg1400", "P_bg1401", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_fc", "P_bg1404", "P_bg1405", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.28.mlp.c_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.in_proj_weight", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.attn.out_proj", "P_bg1406", "P_bg1407", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_fc", "P_bg1410", "P_bg1411", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.29.mlp.c_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.in_proj_weight", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.attn.out_proj", "P_bg1412", "P_bg1413", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_fc", "P_bg1416", "P_bg1417", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.3.mlp.c_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.in_proj_weight", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.attn.out_proj", "P_bg1418", "P_bg1419", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_fc", "P_bg1422", "P_bg1423", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.30.mlp.c_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.in_proj_weight", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.attn.out_proj", "P_bg1424", "P_bg1425", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_fc", "P_bg1428", "P_bg1429", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.31.mlp.c_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.in_proj_weight", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.attn.out_proj", "P_bg1430", "P_bg1431", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_fc", "P_bg1434", "P_bg1435", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.4.mlp.c_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.in_proj_weight", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.attn.out_proj", "P_bg1436", "P_bg1437", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_fc", "P_bg1440", "P_bg1441", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.5.mlp.c_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.in_proj_weight", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.attn.out_proj", "P_bg1442", "P_bg1443", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_fc", "P_bg1446", "P_bg1447", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.6.mlp.c_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.in_proj_weight", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.attn.out_proj", "P_bg1448", "P_bg1449", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_fc", "P_bg1452", "P_bg1453", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.7.mlp.c_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.in_proj_weight", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.attn.out_proj", "P_bg1454", "P_bg1455", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_fc", "P_bg1458", "P_bg1459", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.8.mlp.c_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.in_proj_weight", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.attn.out_proj", "P_bg1460", "P_bg1461", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_fc", "P_bg1464", "P_bg1465", bias=False), + **dense("conditioner.embedders.1.model.transformer.resblocks.9.mlp.c_proj", "P_bg1466", "P_bg1467", bias=False), + + } + ) diff --git a/modules/merging/merge_rebasin.py b/modules/merging/merge_rebasin.py index dd8d28b44..d5b6e4fdc 100644 --- a/modules/merging/merge_rebasin.py +++ b/modules/merging/merge_rebasin.py @@ -6,6 +6,7 @@ import torch from scipy.optimize import linear_sum_assignment from modules.shared import log + SPECIAL_KEYS = [ "first_stage_model.decoder.norm_out.weight", "first_stage_model.decoder.norm_out.bias", @@ -30,2044 +31,6 @@ def permutation_spec_from_axes_to_perm(axes_to_perm: dict) -> PermutationSpec: return PermutationSpec(perm_to_axes=dict(perm_to_axes), axes_to_perm=axes_to_perm) -def sdunet_permutation_spec() -> PermutationSpec: - conv = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment - f"{name}.weight": ( - p_out, - p_in, - ), - f"{name}.bias": (p_out,), - } - norm = lambda name, p: {f"{name}.weight": (p,), f"{name}.bias": (p,)} # pylint: disable=unnecessary-lambda-assignment - dense = ( - lambda name, p_in, p_out, bias=True: { # pylint: disable=unnecessary-lambda-assignment - f"{name}.weight": (p_out, p_in), - f"{name}.bias": (p_out,), - } - if bias - else {f"{name}.weight": (p_out, p_in)} - ) - skip = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment - f"{name}": ( - p_out, - p_in, - None, - None, - ) - } - - # Unet Res blocks - easyblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment - **norm(f"{name}.in_layers.0", p_in), - **conv(f"{name}.in_layers.2", p_in, f"P_{name}_inner"), - **dense( - f"{name}.emb_layers.1", f"P_{name}_inner2", f"P_{name}_inner3", bias=True - ), - **norm(f"{name}.out_layers.0", f"P_{name}_inner4"), - **conv(f"{name}.out_layers.3", f"P_{name}_inner4", p_out), - } - - # VAE blocks - Unused - easyblock2 = lambda name, p: { # pylint: disable=unnecessary-lambda-assignment - **norm(f"{name}.norm1", p), - **conv(f"{name}.conv1", p, f"P_{name}_inner"), - **norm(f"{name}.norm2", f"P_{name}_inner"), - **conv(f"{name}.conv2", f"P_{name}_inner", p), - } - - # This is for blocks that use a residual connection, but change the number of channels via a Conv. - shortcutblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment - **norm(f"{name}.norm1", p_in), - **conv(f"{name}.conv1", p_in, f"P_{name}_inner"), - **norm(f"{name}.norm2", f"P_{name}_inner"), - **conv(f"{name}.conv2", f"P_{name}_inner", p_out), - **conv(f"{name}.nin_shortcut", p_in, p_out), - **norm(f"{name}.nin_shortcut", p_out), - } - - return permutation_spec_from_axes_to_perm( - { - # Skipped Layers - **skip("betas", None, None), - **skip("alphas_cumprod", None, None), - **skip("alphas_cumprod_prev", None, None), - **skip("sqrt_alphas_cumprod", None, None), - **skip("sqrt_one_minus_alphas_cumprod", None, None), - **skip("log_one_minus_alphas_cumprods", None, None), - **skip("sqrt_recip_alphas_cumprod", None, None), - **skip("sqrt_recipm1_alphas_cumprod", None, None), - **skip("posterior_variance", None, None), - **skip("posterior_log_variance_clipped", None, None), - **skip("posterior_mean_coef1", None, None), - **skip("posterior_mean_coef2", None, None), - **skip("log_one_minus_alphas_cumprod", None, None), - **skip("model_ema.decay", None, None), - **skip("model_ema.num_updates", None, None), - # initial - **dense("model.diffusion_model.time_embed.0", None, "P_bg0", bias=True), - **dense("model.diffusion_model.time_embed.2", "P_bg0", "P_bg1", bias=True), - **conv("model.diffusion_model.input_blocks.0.0", "P_bg2", "P_bg3"), - # input blocks - **easyblock("model.diffusion_model.input_blocks.1.0", "P_bg4", "P_bg5"), - **norm("model.diffusion_model.input_blocks.1.1.norm", "P_bg6"), - **conv("model.diffusion_model.input_blocks.1.1.proj_in", "P_bg6", "P_bg7"), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_q", - "P_bg8", - "P_bg9", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_k", - "P_bg8", - "P_bg9", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_v", - "P_bg8", - "P_bg9", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn1.to_out.0", - "P_bg8", - "P_bg9", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.0.proj", - "P_bg10", - "P_bg11", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.ff.net.2", - "P_bg12", - "P_bg13", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_q", - "P_bg14", - "P_bg15", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_k", - "P_bg16", - "P_bg17", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_v", - "P_bg16", - "P_bg17", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.attn2.to_out.0", - "P_bg18", - "P_bg19", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm1", - "P_bg19", - ), - **norm( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm2", - "P_bg19", - ), - **norm( - "model.diffusion_model.input_blocks.1.1.transformer_blocks.0.norm3", - "P_bg19", - ), - **conv( - "model.diffusion_model.input_blocks.1.1.proj_out", "P_bg19", "P_bg20" - ), - **easyblock("model.diffusion_model.input_blocks.2.0", "P_bg21", "P_bg22"), - **norm("model.diffusion_model.input_blocks.2.1.norm", "P_bg23"), - **conv( - "model.diffusion_model.input_blocks.2.1.proj_in", "P_bg23", "P_bg24" - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_q", - "P_bg25", - "P_bg26", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_k", - "P_bg25", - "P_bg26", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_v", - "P_bg25", - "P_bg26", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn1.to_out.0", - "P_bg25", - "P_bg26", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.0.proj", - "P_bg27", - "P_bg28", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.ff.net.2", - "P_bg29", - "P_bg30", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_q", - "P_bg31", - "P_bg32", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_k", - "P_bg33", - "P_bg34", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_v", - "P_bg33", - "P_bg34", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.attn2.to_out.0", - "P_bg35", - "P_bg36", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm1", - "P_bg36", - ), - **norm( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm2", - "P_bg36", - ), - **norm( - "model.diffusion_model.input_blocks.2.1.transformer_blocks.0.norm3", - "P_bg36", - ), - **conv( - "model.diffusion_model.input_blocks.2.1.proj_out", "P_bg36", "P_bg37" - ), - **conv("model.diffusion_model.input_blocks.3.0.op", "P_bg38", "P_bg39"), - **easyblock("model.diffusion_model.input_blocks.4.0", "P_bg40", "P_bg41"), - **conv( - "model.diffusion_model.input_blocks.4.0.skip_connection", - "P_bg42", - "P_bg43", - ), - **norm("model.diffusion_model.input_blocks.4.1.norm", "P_bg44"), - **conv( - "model.diffusion_model.input_blocks.4.1.proj_in", "P_bg44", "P_bg45" - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_q", - "P_bg46", - "P_bg47", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_k", - "P_bg46", - "P_bg47", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_v", - "P_bg46", - "P_bg47", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn1.to_out.0", - "P_bg46", - "P_bg47", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.0.proj", - "P_bg48", - "P_bg49", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.ff.net.2", - "P_bg50", - "P_bg51", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_q", - "P_bg52", - "P_bg53", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_k", - "P_bg54", - "P_bg55", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_v", - "P_bg54", - "P_bg55", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.attn2.to_out.0", - "P_bg56", - "P_bg57", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm1", - "P_bg57", - ), - **norm( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm2", - "P_bg57", - ), - **norm( - "model.diffusion_model.input_blocks.4.1.transformer_blocks.0.norm3", - "P_bg57", - ), - **conv( - "model.diffusion_model.input_blocks.4.1.proj_out", "P_bg57", "P_bg58" - ), - **easyblock("model.diffusion_model.input_blocks.5.0", "P_bg59", "P_bg60"), - **norm("model.diffusion_model.input_blocks.5.1.norm", "P_bg61"), - **conv( - "model.diffusion_model.input_blocks.5.1.proj_in", "P_bg61", "P_bg62" - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_q", - "P_bg63", - "P_bg64", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_k", - "P_bg63", - "P_bg64", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_v", - "P_bg63", - "P_bg64", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn1.to_out.0", - "P_bg63", - "P_bg64", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.0.proj", - "P_bg65", - "P_bg66", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.ff.net.2", - "P_bg67", - "P_bg68", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_q", - "P_bg69", - "P_bg70", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_k", - "P_bg71", - "P_bg72", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_v", - "P_bg71", - "P_bg72", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.attn2.to_out.0", - "P_bg73", - "P_bg74", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm1", - "P_bg74", - ), - **norm( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm2", - "P_bg74", - ), - **norm( - "model.diffusion_model.input_blocks.5.1.transformer_blocks.0.norm3", - "P_bg74", - ), - **conv( - "model.diffusion_model.input_blocks.5.1.proj_out", "P_bg74", "P_bg75" - ), - **conv("model.diffusion_model.input_blocks.6.0.op", "P_bg76", "P_bg77"), - **easyblock("model.diffusion_model.input_blocks.7.0", "P_bg78", "P_bg79"), - **conv( - "model.diffusion_model.input_blocks.7.0.skip_connection", - "P_bg80", - "P_bg81", - ), - **norm("model.diffusion_model.input_blocks.7.1.norm", "P_bg82"), - **conv( - "model.diffusion_model.input_blocks.7.1.proj_in", "P_bg82", "P_bg83" - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_q", - "P_bg84", - "P_bg85", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_k", - "P_bg84", - "P_bg85", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_v", - "P_bg84", - "P_bg85", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn1.to_out.0", - "P_bg84", - "P_bg85", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.0.proj", - "P_bg86", - "P_bg87", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.ff.net.2", - "P_bg88", - "P_bg89", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_q", - "P_bg90", - "P_bg91", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_k", - "P_bg92", - "P_bg93", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_v", - "P_bg92", - "P_bg93", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.attn2.to_out.0", - "P_bg94", - "P_bg95", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm1", - "P_bg95", - ), - **norm( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm2", - "P_bg95", - ), - **norm( - "model.diffusion_model.input_blocks.7.1.transformer_blocks.0.norm3", - "P_bg95", - ), - **conv( - "model.diffusion_model.input_blocks.7.1.proj_out", "P_bg95", "P_bg96" - ), - **easyblock("model.diffusion_model.input_blocks.8.0", "P_bg97", "P_bg98"), - **norm("model.diffusion_model.input_blocks.8.1.norm", "P_bg99"), - **conv( - "model.diffusion_model.input_blocks.8.1.proj_in", "P_bg99", "P_bg100" - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_q", - "P_bg101", - "P_bg102", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_k", - "P_bg101", - "P_bg102", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_v", - "P_bg101", - "P_bg102", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn1.to_out.0", - "P_bg101", - "P_bg102", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.0.proj", - "P_bg103", - "P_bg104", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.ff.net.2", - "P_bg105", - "P_bg106", - bias=True, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_q", - "P_bg107", - "P_bg108", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_k", - "P_bg109", - "P_bg110", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_v", - "P_bg109", - "P_bg110", - bias=False, - ), - **dense( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.attn2.to_out.0", - "P_bg111", - "P_bg112", - bias=True, - ), - **norm( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm1", - "P_bg112", - ), - **norm( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm2", - "P_bg112", - ), - **norm( - "model.diffusion_model.input_blocks.8.1.transformer_blocks.0.norm3", - "P_bg112", - ), - **conv( - "model.diffusion_model.input_blocks.8.1.proj_out", "P_bg112", "P_bg113" - ), - **conv("model.diffusion_model.input_blocks.9.0.op", "P_bg114", "P_bg115"), - **easyblock( - "model.diffusion_model.input_blocks.10.0", "P_bg115", "P_bg116" - ), - **easyblock( - "model.diffusion_model.input_blocks.11.0", "P_bg116", "P_bg117" - ), - # middle blocks - **easyblock("model.diffusion_model.middle_block.0", "P_bg117", "P_bg118"), - **norm("model.diffusion_model.middle_block.1.norm", "P_bg119"), - **conv( - "model.diffusion_model.middle_block.1.proj_in", "P_bg119", "P_bg120" - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_q", - "P_bg121", - "P_bg122", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_k", - "P_bg121", - "P_bg122", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_v", - "P_bg121", - "P_bg122", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn1.to_out.0", - "P_bg121", - "P_bg122", - bias=True, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.0.proj", - "P_bg123", - "P_bg124", - bias=True, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.ff.net.2", - "P_bg125", - "P_bg126", - bias=True, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_q", - "P_bg127", - "P_bg128", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_k", - "P_bg129", - "P_bg130", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_v", - "P_bg129", - "P_bg130", - bias=False, - ), - **dense( - "model.diffusion_model.middle_block.1.transformer_blocks.0.attn2.to_out.0", - "P_bg131", - "P_bg132", - bias=True, - ), - **norm( - "model.diffusion_model.middle_block.1.transformer_blocks.0.norm1", - "P_bg132", - ), - **norm( - "model.diffusion_model.middle_block.1.transformer_blocks.0.norm2", - "P_bg132", - ), - **norm( - "model.diffusion_model.middle_block.1.transformer_blocks.0.norm3", - "P_bg132", - ), - **conv( - "model.diffusion_model.middle_block.1.proj_out", "P_bg132", "P_bg133" - ), - **easyblock("model.diffusion_model.middle_block.2", "P_bg134", "P_bg135"), - # output blocks - **easyblock( - "model.diffusion_model.output_blocks.0.0", "P_bg136", "P_bg137" - ), - **conv( - "model.diffusion_model.output_blocks.0.0.skip_connection", - "P_bg138", - "P_bg139", - ), - **easyblock( - "model.diffusion_model.output_blocks.1.0", "P_bg140", "P_bg141" - ), - **conv( - "model.diffusion_model.output_blocks.1.0.skip_connection", - "P_bg142", - "P_bg143", - ), - **easyblock( - "model.diffusion_model.output_blocks.2.0", "P_bg144", "P_bg145" - ), - **conv( - "model.diffusion_model.output_blocks.2.0.skip_connection", - "P_bg146", - "P_bg147", - ), - **conv( - "model.diffusion_model.output_blocks.2.1.conv", "P_bg148", "P_bg149" - ), - **easyblock( - "model.diffusion_model.output_blocks.3.0", "P_bg150", "P_bg151" - ), - **conv( - "model.diffusion_model.output_blocks.3.0.skip_connection", - "P_bg152", - "P_bg153", - ), - **norm("model.diffusion_model.output_blocks.3.1.norm", "P_bg154"), - **conv( - "model.diffusion_model.output_blocks.3.1.proj_in", "P_bg154", "P_bg155" - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_q", - "P_bg156", - "P_bg157", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_k", - "P_bg156", - "P_bg157", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_v", - "P_bg156", - "P_bg157", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn1.to_out.0", - "P_bg156", - "P_bg157", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.0.proj", - "P_bg158", - "P_bg159", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.ff.net.2", - "P_bg160", - "P_bg161", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_q", - "P_bg162", - "P_bg163", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_k", - "P_bg164", - "P_bg165", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_v", - "P_bg164", - "P_bg165", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.attn2.to_out.0", - "P_bg166", - "P_bg167", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm1", - "P_bg167", - ), - **norm( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm2", - "P_bg167", - ), - **norm( - "model.diffusion_model.output_blocks.3.1.transformer_blocks.0.norm3", - "P_bg167", - ), - **conv( - "model.diffusion_model.output_blocks.3.1.proj_out", "P_bg167", "P_bg168" - ), - **easyblock( - "model.diffusion_model.output_blocks.4.0", "P_bg169", "P_bg170" - ), - **conv( - "model.diffusion_model.output_blocks.4.0.skip_connection", - "P_bg171", - "P_bg172", - ), - **norm("model.diffusion_model.output_blocks.4.1.norm", "P_bg173"), - **conv( - "model.diffusion_model.output_blocks.4.1.proj_in", "P_bg173", "P_bg174" - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_q", - "P_bg175", - "P_bg176", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_k", - "P_bg175", - "P_bg176", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_v", - "P_bg175", - "P_bg176", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn1.to_out.0", - "P_bg175", - "P_bg176", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.0.proj", - "P_bg177", - "P_bg178", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.ff.net.2", - "P_bg179", - "P_bg180", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_q", - "P_bg181", - "P_bg182", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_k", - "P_bg183", - "P_bg184", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_v", - "P_bg183", - "P_bg184", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.attn2.to_out.0", - "P_bg185", - "P_bg186", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm1", - "P_bg186", - ), - **norm( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm2", - "P_bg186", - ), - **norm( - "model.diffusion_model.output_blocks.4.1.transformer_blocks.0.norm3", - "P_bg186", - ), - **conv( - "model.diffusion_model.output_blocks.4.1.proj_out", "P_bg186", "P_bg187" - ), - **easyblock( - "model.diffusion_model.output_blocks.5.0", "P_bg188", "P_bg189" - ), - **conv( - "model.diffusion_model.output_blocks.5.0.skip_connection", - "P_bg190", - "P_bg191", - ), - **norm("model.diffusion_model.output_blocks.5.1.norm", "P_bg192"), - **conv( - "model.diffusion_model.output_blocks.5.1.proj_in", "P_bg192", "P_bg193" - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_q", - "P_bg194", - "P_bg195", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_k", - "P_bg194", - "P_bg195", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_v", - "P_bg194", - "P_bg195", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn1.to_out.0", - "P_bg194", - "P_bg195", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.0.proj", - "P_bg196", - "P_bg197", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.ff.net.2", - "P_bg198", - "P_bg199", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_q", - "P_bg200", - "P_bg201", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_k", - "P_bg202", - "P_bg203", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_v", - "P_bg202", - "P_bg203", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.attn2.to_out.0", - "P_bg204", - "P_bg205", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm1", - "P_bg205", - ), - **norm( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm2", - "P_bg205", - ), - **norm( - "model.diffusion_model.output_blocks.5.1.transformer_blocks.0.norm3", - "P_bg205", - ), - **conv( - "model.diffusion_model.output_blocks.5.1.proj_out", "P_bg205", "P_bg206" - ), - **conv( - "model.diffusion_model.output_blocks.5.2.conv", "P_bg206", "P_bg207" - ), - **easyblock( - "model.diffusion_model.output_blocks.6.0", "P_bg208", "P_bg209" - ), - **conv( - "model.diffusion_model.output_blocks.6.0.skip_connection", - "P_bg210", - "P_bg211", - ), - **norm("model.diffusion_model.output_blocks.6.1.norm", "P_bg212"), - **conv( - "model.diffusion_model.output_blocks.6.1.proj_in", "P_bg212", "P_bg213" - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_q", - "P_bg214", - "P_bg215", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_k", - "P_bg214", - "P_bg215", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_v", - "P_bg214", - "P_bg215", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn1.to_out.0", - "P_bg214", - "P_bg215", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.0.proj", - "P_bg216", - "P_bg217", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.ff.net.2", - "P_bg218", - "P_bg219", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_q", - "P_bg220", - "P_bg221", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_k", - "P_bg222", - "P_bg223", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_v", - "P_bg222", - "P_bg223", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.attn2.to_out.0", - "P_bg224", - "P_bg225", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm1", - "P_bg225", - ), - **norm( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm2", - "P_bg225", - ), - **norm( - "model.diffusion_model.output_blocks.6.1.transformer_blocks.0.norm3", - "P_bg225", - ), - **conv( - "model.diffusion_model.output_blocks.6.1.proj_out", "P_bg225", "P_bg226" - ), - **easyblock( - "model.diffusion_model.output_blocks.7.0", "P_bg227", "P_bg228" - ), - **conv( - "model.diffusion_model.output_blocks.7.0.skip_connection", - "P_bg229", - "P_bg230", - ), - **norm("model.diffusion_model.output_blocks.7.1.norm", "P_bg231"), - **conv( - "model.diffusion_model.output_blocks.7.1.proj_in", "P_bg231", "P_bg232" - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_q", - "P_bg233", - "P_bg234", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_k", - "P_bg233", - "P_bg234", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_v", - "P_bg233", - "P_bg234", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn1.to_out.0", - "P_bg233", - "P_bg234", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.0.proj", - "P_bg235", - "P_bg236", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.ff.net.2", - "P_bg237", - "P_bg238", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_q", - "P_bg239", - "P_bg240", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_k", - "P_bg241", - "P_bg242", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_v", - "P_bg241", - "P_bg242", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.attn2.to_out.0", - "P_bg243", - "P_bg244", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm1", - "P_bg244", - ), - **norm( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm2", - "P_bg244", - ), - **norm( - "model.diffusion_model.output_blocks.7.1.transformer_blocks.0.norm3", - "P_bg244", - ), - **conv( - "model.diffusion_model.output_blocks.7.1.proj_out", "P_bg244", "P_bg245" - ), - **easyblock( - "model.diffusion_model.output_blocks.8.0", "P_bg246", "P_bg247" - ), - **conv( - "model.diffusion_model.output_blocks.8.0.skip_connection", - "P_bg248", - "P_bg249", - ), - **norm("model.diffusion_model.output_blocks.8.1.norm", "P_bg250"), - **conv( - "model.diffusion_model.output_blocks.8.1.proj_in", "P_bg250", "P_bg251" - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_q", - "P_bg252", - "P_bg253", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_k", - "P_bg252", - "P_bg253", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_v", - "P_bg252", - "P_bg253", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn1.to_out.0", - "P_bg252", - "P_bg253", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.0.proj", - "P_bg254", - "P_bg255", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.ff.net.2", - "P_bg256", - "P_bg257", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_q", - "P_bg258", - "P_bg259", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_k", - "P_bg260", - "P_bg261", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_v", - "P_bg260", - "P_bg261", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.attn2.to_out.0", - "P_bg262", - "P_bg263", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm1", - "P_bg263", - ), - **norm( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm2", - "P_bg263", - ), - **norm( - "model.diffusion_model.output_blocks.8.1.transformer_blocks.0.norm3", - "P_bg263", - ), - **conv( - "model.diffusion_model.output_blocks.8.1.proj_out", "P_bg263", "P_bg264" - ), - **conv( - "model.diffusion_model.output_blocks.8.2.conv", "P_bg265", "P_bg266" - ), - **easyblock( - "model.diffusion_model.output_blocks.9.0", "P_bg267", "P_bg268" - ), - **conv( - "model.diffusion_model.output_blocks.9.0.skip_connection", - "P_bg269", - "P_bg270", - ), - **norm("model.diffusion_model.output_blocks.9.1.norm", "P_bg271"), - **conv( - "model.diffusion_model.output_blocks.9.1.proj_in", "P_bg271", "P_bg272" - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_q", - "P_bg273", - "P_bg274", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_k", - "P_bg273", - "P_bg274", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_v", - "P_bg273", - "P_bg274", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn1.to_out.0", - "P_bg273", - "P_bg274", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.0.proj", - "P_bg275", - "P_bg276", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.ff.net.2", - "P_bg277", - "P_bg278", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_q", - "P_bg279", - "P_bg280", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_k", - "P_bg281", - "P_bg282", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_v", - "P_bg281", - "P_bg282", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.attn2.to_out.0", - "P_bg283", - "P_bg284", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm1", - "P_bg284", - ), - **norm( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm2", - "P_bg284", - ), - **norm( - "model.diffusion_model.output_blocks.9.1.transformer_blocks.0.norm3", - "P_bg284", - ), - **conv( - "model.diffusion_model.output_blocks.9.1.proj_out", "P_bg284", "P_bg285" - ), - **easyblock( - "model.diffusion_model.output_blocks.10.0", "P_bg286", "P_bg287" - ), - **conv( - "model.diffusion_model.output_blocks.10.0.skip_connection", - "P_bg288", - "P_bg289", - ), - **norm("model.diffusion_model.output_blocks.10.1.norm", "P_bg290"), - **conv( - "model.diffusion_model.output_blocks.10.1.proj_in", "P_bg290", "P_bg291" - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_q", - "P_bg292", - "P_bg293", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_k", - "P_bg292", - "P_bg293", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_v", - "P_bg292", - "P_bg293", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn1.to_out.0", - "P_bg292", - "P_bg293", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.0.proj", - "P_b294", - "P_bg295", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.ff.net.2", - "P_bg296", - "P_bg297", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_q", - "P_bg298", - "P_bg299", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_k", - "P_bg300", - "P_bg301", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_v", - "P_bg300", - "P_bg301", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.attn2.to_out.0", - "P_bg302", - "P_bg303", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm1", - "P_bg303", - ), - **norm( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm2", - "P_bg303", - ), - **norm( - "model.diffusion_model.output_blocks.10.1.transformer_blocks.0.norm3", - "P_bg303", - ), - **conv( - "model.diffusion_model.output_blocks.10.1.proj_out", - "P_bg303", - "P_bg304", - ), - **easyblock( - "model.diffusion_model.output_blocks.11.0", "P_bg305", "P_bg306" - ), - **conv( - "model.diffusion_model.output_blocks.11.0.skip_connection", - "P_bg307", - "P_bg308", - ), - **norm("model.diffusion_model.output_blocks.11.1.norm", "P_bg309"), - **conv( - "model.diffusion_model.output_blocks.11.1.proj_in", "P_bg309", "P_bg310" - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_q", - "P_bg311", - "P_bg312", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_k", - "P_bg311", - "P_bg312", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_v", - "P_bg311", - "P_bg312", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn1.to_out.0", - "P_bg311", - "P_bg312", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.0.proj", - "P_bg313", - "P_bg314", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.ff.net.2", - "P_bg315", - "P_bg316", - bias=True, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_q", - "P_bg317", - "P_bg318", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_k", - "P_bg319", - "P_bg320", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_v", - "P_bg319", - "P_bg320", - bias=False, - ), - **dense( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.attn2.to_out.0", - "P_bg321", - "P_bg322", - bias=True, - ), - **norm( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm1", - "P_bg322", - ), - **norm( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm2", - "P_bg322", - ), - **norm( - "model.diffusion_model.output_blocks.11.1.transformer_blocks.0.norm3", - "P_bg322", - ), - **conv( - "model.diffusion_model.output_blocks.11.1.proj_out", - "P_bg322", - "P_bg323", - ), - **norm("model.diffusion_model.out.0", "P_bg324"), - **conv("model.diffusion_model.out.2", "P_bg325", "P_bg326"), - **skip( - "cond_stage_model.transformer.text_model.embeddings.position_ids", - None, - None, - ), - **dense( - "cond_stage_model.transformer.text_model.embeddings.token_embedding", - "P_bg365", - "P_bg366", - bias=False, - ), - **dense( - "cond_stage_model.transformer.text_model.embeddings.token_embedding", - None, - None, - ), - **dense( - "cond_stage_model.transformer.text_model.embeddings.position_embedding", - "P_bg367", - "P_bg368", - bias=False, - ), - # cond stage text encoder - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.k_proj", - "P_bg369", - "P_bg370", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.v_proj", - "P_bg369", - "P_bg370", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.q_proj", - "P_bg369", - "P_bg370", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.self_attn.out_proj", - "P_bg369", - "P_bg370", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm1", - "P_bg370", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc1", - "P_bg370", - "P_bg371", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.0.mlp.fc2", - "P_bg371", - "P_bg372", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.0.layer_norm2", - "P_bg372", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.k_proj", - "P_bg372", - "P_bg373", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.v_proj", - "P_bg372", - "P_bg373", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.q_proj", - "P_bg372", - "P_bg373", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.self_attn.out_proj", - "P_bg372", - "P_bg373", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm1", - "P_bg373", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc1", - "P_bg373", - "P_bg374", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.1.mlp.fc2", - "P_bg374", - "P_bg375", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.1.layer_norm2", - "P_bg375", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.k_proj", - "P_bg375", - "P_bg376", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.v_proj", - "P_bg375", - "P_bg376", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.q_proj", - "P_bg375", - "P_bg376", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.self_attn.out_proj", - "P_bg375", - "P_bg376", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm1", - "P_bg376", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc1", - "P_bg376", - "P_bg377", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.2.mlp.fc2", - "P_bg377", - "P_bg378", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.2.layer_norm2", - "P_bg378", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.k_proj", - "P_bg378", - "P_bg379", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.v_proj", - "P_bg378", - "P_bg379", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.q_proj", - "P_bg378", - "P_bg379", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.self_attn.out_proj", - "P_bg378", - "P_bg379", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm1", - "P_bg379", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc1", - "P_bg379", - "P_bg380", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.3.mlp.fc2", - "P_bg380", - "P_b381", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.3.layer_norm2", - "P_bg381", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.k_proj", - "P_bg381", - "P_bg382", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.v_proj", - "P_bg381", - "P_bg382", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.q_proj", - "P_bg381", - "P_bg382", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.self_attn.out_proj", - "P_bg381", - "P_bg382", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm1", - "P_bg382", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc1", - "P_bg382", - "P_bg383", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.4.mlp.fc2", - "P_bg383", - "P_bg384", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.4.layer_norm2", - "P_bg384", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.k_proj", - "P_bg384", - "P_bg385", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.v_proj", - "P_bg384", - "P_bg385", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.q_proj", - "P_bg384", - "P_bg385", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.self_attn.out_proj", - "P_bg384", - "P_bg385", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm1", - "P_bg385", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc1", - "P_bg385", - "P_bg386", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.5.mlp.fc2", - "P_bg386", - "P_bg387", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.5.layer_norm2", - "P_bg387", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.k_proj", - "P_bg387", - "P_bg388", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.v_proj", - "P_bg387", - "P_bg388", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.q_proj", - "P_bg387", - "P_bg388", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.self_attn.out_proj", - "P_bg387", - "P_bg388", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm1", - "P_bg389", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc1", - "P_bg389", - "P_bg390", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.6.mlp.fc2", - "P_bg390", - "P_bg391", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.6.layer_norm2", - "P_bg391", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.k_proj", - "P_bg391", - "P_bg392", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.v_proj", - "P_bg391", - "P_bg392", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.q_proj", - "P_bg391", - "P_bg392", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.self_attn.out_proj", - "P_bg391", - "P_bg392", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm1", - "P_bg392", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc1", - "P_bg392", - "P_bg393", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.7.mlp.fc2", - "P_bg393", - "P_bg394", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.7.layer_norm2", - "P_bg394", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.k_proj", - "P_bg394", - "P_bg395", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.v_proj", - "P_bg394", - "P_bg395", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.q_proj", - "P_bg394", - "P_bg395", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.self_attn.out_proj", - "P_bg394", - "P_bg395", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm1", - "P_bg395", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc1", - "P_bg395", - "P_bg396", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.8.mlp.fc2", - "P_bg396", - "P_bg397", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.8.layer_norm2", - "P_bg397", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.k_proj", - "P_bg397", - "P_bg398", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.v_proj", - "P_bg397", - "P_bg398", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.q_proj", - "P_bg397", - "P_bg398", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.self_attn.out_proj", - "P_bg397", - "P_bg398", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm1", - "P_bg398", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc1", - "P_bg398", - "P_bg399", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.9.mlp.fc2", - "P_bg400", - "P_bg401", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.9.layer_norm2", - "P_bg401", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.k_proj", - "P_bg401", - "P_bg402", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.v_proj", - "P_bg401", - "P_bg402", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.q_proj", - "P_bg401", - "P_bg402", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.self_attn.out_proj", - "P_bg401", - "P_bg402", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm1", - "P_bg402", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc1", - "P_bg402", - "P_bg403", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.10.mlp.fc2", - "P_bg403", - "P_bg404", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.10.layer_norm2", - "P_bg404", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.k_proj", - "P_bg404", - "P_bg405", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.v_proj", - "P_bg404", - "P_bg405", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.q_proj", - "P_bg404", - "P_bg405", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.self_attn.out_proj", - "P_bg404", - "P_bg405", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm1", - "P_bg405", - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc1", - "P_bg405", - "P_bg406", - bias=True, - ), - **dense( - "cond_stage_model.transformer.text_model.encoder.layers.11.mlp.fc2", - "P_bg406", - "P_bg407", - bias=True, - ), - **norm( - "cond_stage_model.transformer.text_model.encoder.layers.11.layer_norm2", - "P_bg407", - ), - **norm( - "cond_stage_model.transformer.text_model.final_layer_norm", "P_bg407" - ), - } - ) - - def get_permuted_param(ps: PermutationSpec, perm, k: str, params, except_axis=None): """Get parameter `k` from `params`, with the permutations applied.""" w = params[k] From 49f8730814db72ddb811f75abe62541d3df6a838 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Nov 2023 08:07:12 -0500 Subject: [PATCH 13/42] fix save text file for manually saved images --- CHANGELOG.md | 33 ++++++++++++++++++--------------- html/locale_en.json | 2 +- modules/shared.py | 2 +- modules/ui_common.py | 11 +++++++++++ 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48f70e970..b90889aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,31 +1,34 @@ # Change Log for SD.Next -## Update for 2023-11-24 +## Update for 2023-11-26 Note: Release pending `diffusers==0.24` - **Diffusers** - **IP adapter** - - Lightweight implementation of T2I adapters which can guide generation towards specific image style - - Supports most T2I models, not limited to SD + - Lightweight implementation of T2I adapters which can guide generation towards specific image style + - Supports most T2I models, not limited to SD - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) - In *Advanced* params - - Allows control of *latent clamping*, *color centering* and *range maximimization* - - Supported by *XYZ grid* + - Allows control of *latent clamping*, *color centering* and *range maximimization* + - Supported by *XYZ grid* - **Kandinsky 3** support - download using built-in model downloader or simply select from networks -> reference - - this model is absolutely massive at 27.5GB at fp16, so be patient + - this model is absolutely massive at 27.5GB at fp16, so be patient - model params count is at 11.9B (compared to SD-XL at 3.3B) and its trained on mixed resolutions from 256px to 1024px - - use either model offload or sequential cpu offload to be able to use it - - better autodetection of *inpaint* and *instruct* pipelines - - support long seconary prompt for refiner + - use either model offload or sequential cpu offload to be able to use it + - better autodetection of *inpaint* and *instruct* pipelines + - support long seconary prompt for refiner +- **Model merge** + - add sd-xl rebasin support, thanks @AI-Casanova - **General** - - log level defaults to info for console and debug for log file - - better prompt display in process tab - - increase maximum lora cache values - - fix controlnet compatibility issues in original backend - - fix python 3.9 compatibility issues - - fix img2img/inpaint paste params + - log level defaults to info for console and debug for log file + - better prompt display in process tab + - increase maximum lora cache values + - fix controlnet compatibility issues in original backend + - fix img2img/inpaint paste params + - fix save text file for manually saved images + - fix python 3.9 compatibility issues ## Update for 2023-11-23 diff --git a/html/locale_en.json b/html/locale_en.json index 45074cb63..a475df59e 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -445,7 +445,7 @@ {"id":"","label":"File format for grids","localized":"","hint":""}, {"id":"","label":"Add extended info (seed, prompt) to filename when saving grid","localized":"","hint":""}, {"id":"","label":"Grid row count","localized":"","hint":"Use -1 for autodetect and 0 for it to be same as batch size"}, - {"id":"","label":"Create text file next to every image with generation parameters","localized":"","hint":""}, + {"id":"","label":"Create info file for each every image","localized":"","hint":""}, {"id":"","label":"Create JSON log file for each saved image","localized":"","hint":"Save image information to a JSON file"}, {"id":"","label":"Save copy of image before doing face restoration","localized":"","hint":""}, {"id":"","label":"Save copy of image before applying hires","localized":"","hint":""}, diff --git a/modules/shared.py b/modules/shared.py index 7c7304d0c..2ca3ce5c7 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -411,7 +411,7 @@ options_templates.update(options_section(('saving-images', "Image Options"), { "image_sep_metadata": OptionInfo("

Metadata/Logging

", "", gr.HTML), "image_metadata": OptionInfo(True, "Include metadata in saved images"), - "save_txt": OptionInfo(False, "Create text file next to every image with generation parameters"), + "save_txt": OptionInfo(False, "Create info file for each every image"), "save_log_fn": OptionInfo("", "Create JSON log file for each saved image", component_args=hide_dirs), "image_watermark_enabled": OptionInfo(False, "Include watermark in saved images"), "image_watermark": OptionInfo('', "Image watermark string"), diff --git a/modules/ui_common.py b/modules/ui_common.py index 0b9b6ddb1..69dcb2551 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -134,6 +134,17 @@ def save_files(js_data, images, html_info, index): shutil.copy(fullfn, destination) shared.log.info(f'Copying image: file="{fullfn}" folder="{destination}"') tgt_filename = os.path.join(destination, os.path.basename(fullfn)) + if shared.opts.save_txt: + try: + from PIL import Image + image = Image.open(fullfn) + info, _ = images.read_info_from_image(image) + filename_txt = f"{os.path.splitext(tgt_filename)[0]}.txt" + with open(filename_txt, "w", encoding="utf8") as file: + file.write(f"{info}\n") + shared.log.debug(f'Saving: text="{filename_txt}"') + except Exception as e: + shared.log.warning(f'Image description save failed: {filename_txt} {e}') modules.script_callbacks.image_save_btn_callback(tgt_filename) else: image = image_from_url_text(filedata) From 12411f2858800e6a0c96cbbb2e9266887c8839f2 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Nov 2023 09:03:22 -0500 Subject: [PATCH 14/42] update hdr --- modules/processing.py | 3 +- modules/processing_correction.py | 22 +++++++++------ modules/processing_diffusers.py | 6 ++++ modules/txt2img.py | 4 +-- modules/ui.py | 48 +++++++++++++++++--------------- scripts/xyz_grid.py | 1 + wiki | 2 +- 7 files changed, 52 insertions(+), 34 deletions(-) diff --git a/modules/processing.py b/modules/processing.py index 6e4485dfd..cbf41d853 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -121,7 +121,7 @@ class StableDiffusionProcessing: """ The first set of paramaters: sd_models -> do_not_reload_embeddings represent the minimum required to create a StableDiffusionProcessing """ - def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prompt: str = "", styles: List[str] = None, seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1, seed_enable_extras: bool = True, sampler_name: str = None, latent_sampler: str = None, batch_size: int = 1, n_iter: int = 1, steps: int = 50, cfg_scale: float = 7.0, image_cfg_scale: float = None, clip_skip: int = 1, width: int = 512, height: int = 512, full_quality: bool = True, restore_faces: bool = False, tiling: bool = False, do_not_save_samples: bool = False, do_not_save_grid: bool = False, extra_generation_params: Dict[Any, Any] = None, overlay_images: Any = None, negative_prompt: str = None, eta: float = None, do_not_reload_embeddings: bool = False, denoising_strength: float = 0, diffusers_guidance_rescale: float = 0.7, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 3.5, hdr_center: bool = False, hdr_channel_shift: float = 0.8, hdr_full_shift: float = 0.8, hdr_maximize: bool = False, hdr_max_boundry: float = 4.0, override_settings: Dict[str, Any] = None, override_settings_restore_afterwards: bool = True, sampler_index: int = None, script_args: list = None): # pylint: disable=unused-argument + def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prompt: str = "", styles: List[str] = None, seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1, seed_enable_extras: bool = True, sampler_name: str = None, latent_sampler: str = None, batch_size: int = 1, n_iter: int = 1, steps: int = 50, cfg_scale: float = 7.0, image_cfg_scale: float = None, clip_skip: int = 1, width: int = 512, height: int = 512, full_quality: bool = True, restore_faces: bool = False, tiling: bool = False, do_not_save_samples: bool = False, do_not_save_grid: bool = False, extra_generation_params: Dict[Any, Any] = None, overlay_images: Any = None, negative_prompt: str = None, eta: float = None, do_not_reload_embeddings: bool = False, denoising_strength: float = 0, diffusers_guidance_rescale: float = 0.7, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 3.5, hdr_center: bool = False, hdr_channel_shift: float = 0.8, hdr_full_shift: float = 0.8, hdr_maximize: bool = False, hdr_max_center: float = 0.6, hdr_max_boundry: float = 1.0, override_settings: Dict[str, Any] = None, override_settings_restore_afterwards: bool = True, sampler_index: int = None, script_args: list = None): # pylint: disable=unused-argument self.outpath_samples: str = outpath_samples self.outpath_grids: str = outpath_grids @@ -211,6 +211,7 @@ class StableDiffusionProcessing: self.hdr_channel_shift = hdr_channel_shift self.hdr_full_shift = hdr_full_shift self.hdr_maximize = hdr_maximize + self.hdr_max_center = hdr_max_center self.hdr_max_boundry = hdr_max_boundry diff --git a/modules/processing_correction.py b/modules/processing_correction.py index 5ddecc885..c95526609 100644 --- a/modules/processing_correction.py +++ b/modules/processing_correction.py @@ -11,11 +11,12 @@ from modules import shared debug = shared.log.info if os.environ.get('SD_HDR_DEBUG', None) is not None else lambda *args, **kwargs: None -def soft_clamp_tensor(input_tensor, threshold=3.5, boundary=4): +def soft_clamp_tensor(input_tensor, threshold=0.8, boundary=4): # shrinking towards the mean; will also remove outliers - if max(abs(input_tensor.max()), abs(input_tensor.min())) < 4: + if max(abs(input_tensor.max()), abs(input_tensor.min())) < boundary or threshold == 0: return input_tensor channel_dim = 1 + threshold *= boundary max_vals = input_tensor.max(channel_dim, keepdim=True)[0] max_replace = ((input_tensor - threshold) / (max_vals - threshold)) * (boundary - threshold) + threshold over_mask = input_tensor > threshold @@ -23,21 +24,26 @@ def soft_clamp_tensor(input_tensor, threshold=3.5, boundary=4): min_replace = ((input_tensor + threshold) / (min_vals + threshold)) * (-boundary + threshold) - threshold under_mask = input_tensor < -threshold debug(f'HDE soft clamp: threshold={threshold} boundary={boundary}') - res = torch.where(over_mask, max_replace, torch.where(under_mask, min_replace, input_tensor)) - return res + input_tensor = torch.where(over_mask, max_replace, torch.where(under_mask, min_replace, input_tensor)) + return input_tensor def center_tensor(input_tensor, channel_shift=1.0, full_shift=1.0, channels=[0, 1, 2, 3]): + if channel_shift == 0 and full_shift == 0: + return input_tensor means = [] for channel in channels: means.append(input_tensor[0, channel].mean()) input_tensor[0, channel] -= means[-1] * channel_shift debug(f'HDR center: channel-shift{channel_shift} full-shift={full_shift} means={torch.stack(means)}') - res = input_tensor - input_tensor.mean() * full_shift - return res + input_tensor = input_tensor - input_tensor.mean() * full_shift + return input_tensor -def maximize_tensor(input_tensor, boundary=4.0, channels=[0, 1, 2]): +def maximize_tensor(input_tensor, boundary=1.0, channels=[0, 1, 2]): + if boundary == 1.0: + return input_tensor + boundary *= 4 min_val = input_tensor.min() max_val = input_tensor.max() normalization_factor = boundary / max(abs(min_val), abs(max_val)) @@ -52,6 +58,6 @@ def correction_callback(p, timestep, kwags): if timestep > 700 and p.hdr_center: kwags["latents"] = center_tensor(kwags["latents"], channel_shift=p.hdr_channel_shift, full_shift=p.hdr_full_shift) if timestep > 1 and timestep < 100 and p.hdr_maximize: - kwags["latents"] = center_tensor(kwags["latents"], channel_shift=0.6, full_shift=1.0) + kwags["latents"] = center_tensor(kwags["latents"], channel_shift=p.hdr_max_center, full_shift=1.0) kwags["latents"] = maximize_tensor(kwags["latents"], boundary=p.hdr_max_boundry) return kwags diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 55cbdb690..1a21c34f5 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -346,6 +346,12 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro clean['generator'] = generator_device clean['parser'] = parser shared.log.debug(f'Diffuser pipeline: {model.__class__.__name__} task={sd_models.get_diffusers_task(model)} set={clean}') + if p.hdr_clamp or p.hdr_center or p.hdr_maximize: + txt = 'HDR:' + txt += f' Clamp threshold={p.hdr_threshold} boundary={p.hdr_boundary}' if p.hdr_clamp else 'Clamp off' + txt += f' Center channel-shift={p.hdr_channel_shift} full-shift={p.hdr_full_shift}' if p.hdr_center else 'Center off' + txt += f' Maximize boundary={p.hdr_max_boundry} center={p.hdr_max_center}' if p.hdr_maximize else 'Maximize off' + shared.log.debug(txt) # components = [{ k: getattr(v, 'device', None) } for k, v in model.components.items()] # shared.log.debug(f'Diffuser pipeline components: {components}') return args diff --git a/modules/txt2img.py b/modules/txt2img.py index 3e51190cc..55751bb2d 100644 --- a/modules/txt2img.py +++ b/modules/txt2img.py @@ -4,7 +4,7 @@ from modules.generation_parameters_copypaste import create_override_settings_dic from modules.ui import plaintext_to_html -def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, steps: int, sampler_index: int, latent_index: int, full_quality: bool, restore_faces: bool, tiling: bool, n_iter: int, batch_size: int, cfg_scale: float, image_cfg_scale: float, diffusers_guidance_rescale: float, clip_skip: int, seed: int, subseed: int, subseed_strength: float, seed_resize_from_h: int, seed_resize_from_w: int, height: int, width: int, enable_hr: bool, denoising_strength: float, hr_scale: float, hr_upscaler: str, hr_force: bool, hr_second_pass_steps: int, hr_resize_x: int, hr_resize_y: int, refiner_steps: int, refiner_start: int, refiner_prompt: str, refiner_negative: str, hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_boundry, override_settings_texts, *args): # pylint: disable=unused-argument +def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, steps: int, sampler_index: int, latent_index: int, full_quality: bool, restore_faces: bool, tiling: bool, n_iter: int, batch_size: int, cfg_scale: float, image_cfg_scale: float, diffusers_guidance_rescale: float, clip_skip: int, seed: int, subseed: int, subseed_strength: float, seed_resize_from_h: int, seed_resize_from_w: int, height: int, width: int, enable_hr: bool, denoising_strength: float, hr_scale: float, hr_upscaler: str, hr_force: bool, hr_second_pass_steps: int, hr_resize_x: int, hr_resize_y: int, refiner_steps: int, refiner_start: int, refiner_prompt: str, refiner_negative: str, hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_center, hdr_max_boundry, override_settings_texts, *args): # pylint: disable=unused-argument shared.log.debug(f'txt2img: id_task={id_task}|prompt={prompt}|negative_prompt={negative_prompt}|prompt_styles={prompt_styles}|steps={steps}|sampler_index={sampler_index}|latent_index={latent_index}|full_quality={full_quality}|restore_faces={restore_faces}|tiling={tiling}|n_iter={n_iter}|batch_size={batch_size}|cfg_scale={cfg_scale}|clip_skip={clip_skip}|seed={seed}|subseed={subseed}|subseed_strength={subseed_strength}|seed_resize_from_h={seed_resize_from_h}|seed_resize_from_w={seed_resize_from_w}||height={height}|width={width}|enable_hr={enable_hr}|denoising_strength={denoising_strength}|hr_scale={hr_scale}|hr_upscaler={hr_upscaler}|hr_force={hr_force}|hr_second_pass_steps={hr_second_pass_steps}|hr_resize_x={hr_resize_x}|hr_resize_y={hr_resize_y}|image_cfg_scale={image_cfg_scale}|diffusers_guidance_rescale={diffusers_guidance_rescale}|refiner_steps={refiner_steps}|refiner_start={refiner_start}|refiner_prompt={refiner_prompt}|refiner_negative={refiner_negative}|override_settings_texts={override_settings_texts}') @@ -59,7 +59,7 @@ def txt2img(id_task: str, prompt: str, negative_prompt: str, prompt_styles, step refiner_negative=refiner_negative, hdr_clamp=hdr_clamp, hdr_boundary=hdr_boundary, hdr_threshold=hdr_threshold, hdr_center=hdr_center, hdr_channel_shift=hdr_channel_shift, hdr_full_shift=hdr_full_shift, - hdr_maximize=hdr_maximize, hdr_max_boundry=hdr_max_boundry, + hdr_maximize=hdr_maximize, hdr_max_center=hdr_max_center, hdr_max_boundry=hdr_max_boundry, override_settings=override_settings, ) p.scripts = modules.scripts.scripts_txt2img diff --git a/modules/ui.py b/modules/ui.py index 611d1c0ae..3caa6016a 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -417,27 +417,31 @@ def create_ui(startup_timer = None): seed, reuse_seed, subseed, reuse_subseed, subseed_strength, seed_resize_from_h, seed_resize_from_w = create_seed_inputs('txt2img') with gr.Accordion(open=False, label="Advanced", elem_id="txt2img_advanced", elem_classes=["small-accordion"]): - with FormRow(): - cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="txt2img_cfg_scale") - clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=1, maximum=14, step=1, elem_id='txt2img_clip_skip', interactive=True) - with FormRow(): - image_cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='Secondary CFG scale', value=6.0, elem_id="txt2img_image_cfg_scale") - diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Guidance rescale', value=0.7, elem_id="txt2img_image_cfg_rescale") - with FormRow(): - full_quality = gr.Checkbox(label='Full quality', value=True, elem_id="txt2img_full_quality") - restore_faces = gr.Checkbox(label='Face restore', value=False, visible=len(modules.shared.face_restorers) > 1, elem_id="txt2img_restore_faces") - tiling = gr.Checkbox(label='Tiling', value=False, elem_id="txt2img_tiling") - with FormRow(): - hdr_clamp = gr.Checkbox(label='HDR clamp', value=False, elem_id="txt2img_hdr_clamp") - hdr_boundary = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label='Range', elem_id="txt2img_hdr_boundary") - hdr_threshold = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label='Threshold', elem_id="txt2img_hdr_threshold") - with FormRow(): - hdr_center = gr.Checkbox(label='HDR center', value=False, elem_id="txt2img_hdr_center") - hdr_channel_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1.0, label='Channel shift', elem_id="txt2img_hdr_channel_shift") - hdr_full_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1, label='Full shift', elem_id="txt2img_hdr_full_shift") - with FormRow(): - hdr_maximize = gr.Checkbox(label='HDR maximize', value=False, elem_id="txt2img_hdr_maximize") - hdr_max_boundry = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label='range', elem_id="txt2img_hdr_max_boundry") + with gr.Group(): + with FormRow(): + cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="txt2img_cfg_scale") + clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=1, maximum=14, step=1, elem_id='txt2img_clip_skip', interactive=True) + with FormRow(): + image_cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='Secondary CFG scale', value=6.0, elem_id="txt2img_image_cfg_scale") + diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Guidance rescale', value=0.7, elem_id="txt2img_image_cfg_rescale") + with gr.Group(): + with FormRow(): + full_quality = gr.Checkbox(label='Full quality', value=True, elem_id="txt2img_full_quality") + restore_faces = gr.Checkbox(label='Face restore', value=False, visible=len(modules.shared.face_restorers) > 1, elem_id="txt2img_restore_faces") + tiling = gr.Checkbox(label='Tiling', value=False, elem_id="txt2img_tiling") + with gr.Group(): + with FormRow(): + hdr_clamp = gr.Checkbox(label='HDR clamp', value=False, elem_id="txt2img_hdr_clamp") + hdr_boundary = gr.Slider(minimum=0.0, maximum=10.0, step=0.1, value=4.0, label='Range', elem_id="txt2img_hdr_boundary") + hdr_threshold = gr.Slider(minimum=0.0, maximum=1.0, step=0.01, value=0.95, label='Threshold', elem_id="txt2img_hdr_threshold") + with FormRow(): + hdr_center = gr.Checkbox(label='HDR center', value=False, elem_id="txt2img_hdr_center") + hdr_channel_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1.0, label='Channel shift', elem_id="txt2img_hdr_channel_shift") + hdr_full_shift = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=1, label='Full shift', elem_id="txt2img_hdr_full_shift") + with FormRow(): + hdr_maximize = gr.Checkbox(label='HDR maximize', value=False, elem_id="txt2img_hdr_maximize") + hdr_max_center = gr.Slider(minimum=0.0, maximum=2.0, step=0.1, value=0.6, label='Center', elem_id="txt2img_hdr_max_center") + hdr_max_boundry = gr.Slider(minimum=0.5, maximum=2.0, step=0.1, value=1.0, label='Range', elem_id="txt2img_hdr_max_boundry") with gr.Accordion(open=False, label="Second pass", elem_id="txt2img_second_pass", elem_classes=["small-accordion"]): with FormGroup(): @@ -504,7 +508,7 @@ def create_ui(startup_timer = None): enable_hr, denoising_strength, hr_scale, hr_upscaler, hr_force, hr_second_pass_steps, hr_resize_x, hr_resize_y, refiner_steps, refiner_start, refiner_prompt, refiner_negative, - hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_boundry, + hdr_clamp, hdr_boundary, hdr_threshold, hdr_center, hdr_channel_shift, hdr_full_shift, hdr_maximize, hdr_max_center, hdr_max_boundry, override_settings, ] + custom_inputs, outputs=[ diff --git a/scripts/xyz_grid.py b/scripts/xyz_grid.py index 1ca2d838c..15d11e555 100644 --- a/scripts/xyz_grid.py +++ b/scripts/xyz_grid.py @@ -261,6 +261,7 @@ axis_options = [ AxisOption("[HDR] Clamp threshold", float, apply_field("hdr_threshold")), AxisOption("[HDR] Center channel shift", float, apply_field("hdr_channel_shift")), AxisOption("[HDR] Center full shift", float, apply_field("hdr_full_shift")), + AxisOption("[HDR] Maximize center shift", float, apply_field("hdr_max_center")), AxisOption("[HDR] Maximize boundary", float, apply_field("hdr_max_boundry")), AxisOption("[ToMe] Token merging ratio (txt2img)", float, apply_override('token_merging_ratio')), AxisOption("[ToMe] Token merging ratio (hires)", float, apply_override('token_merging_ratio_hr')), diff --git a/wiki b/wiki index 6f0a39eda..0a871354e 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 6f0a39edad41d6d13b2822c7f93fab22d706c693 +Subproject commit 0a871354eeac24412a44c00f8da3b7fa767ee857 From c0d75b9b618ecd1194398a7cda4b59131a4ddac0 Mon Sep 17 00:00:00 2001 From: Redacted Date: Mon, 27 Nov 2023 14:45:35 -0600 Subject: [PATCH 15/42] Update sdnext.css Fix txt2img and img2img footer text-wrap Fix img2img inpaint distorting image Fix img2img extension width --- javascript/sdnext.css | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 569ff2f5a..089511fc8 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -72,7 +72,7 @@ button.custom-button{ border-radius: var(--button-large-radius); padding: var(-- .performance .time { margin-right: 0; } #txt2img_prompt_container, #img2img_prompt_container { margin-right: var(--layout-gap) } #txt2img_footer, #img2img_footer, #extras_footer { height: fit-content; } -#txt2img_footer, #img2img_footer { height: fit-content; display: none; } +#txt2img_footer, #img2img_footer {height: fit-content;display: none;} #txt2img_generate_box, #img2img_generate_box { gap: 0.5em; flex-wrap: wrap-reverse; height: fit-content; } #txt2img_actions_column, #img2img_actions_column { gap: 0.5em; height: fit-content; } #txt2img_generate_box > button, #img2img_generate_box > button, #txt2img_enqueue, #img2img_enqueue { min-height: 42px; max-height: 42px; line-height: 1em; } @@ -286,25 +286,25 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt /* Do not affect displays larger than 1024px wide. */ @media (max-width: 1024px) { - /* Screens smaller than 424px wide */ + /* Screens smaller than 400px wide */ @media (max-width: 399px) { :root, .light, .dark { --left-column: 100%; } /* maintain single column for from image operations on larger mobile devices */ #txt2img_results, #img2img_results, #extras_results { min-width: calc(min(320px, 100%)) !important;} + #txt2img_footer p { text-wrap: wrap; } + } - /* Screens larger than 425px wide */ - @media (min-width: 425px) { - :root, .light, .dark {--left-column: 50% ;} - - /* adjust extension panel to fit within resized sidebar */ - #scripts_alwayson_txt2img div { max-width: 99%; } + /* Screens larger than 400px wide */ + @media (min-width: 400px) { + :root, .light, .dark {--left-column: 50%;} /* maintain side by side split on larger mobile displays for from text */ - #txt2img_results, #extras_results { min-width: 50% !important;} + #txt2img_results, #extras_results, #txt2img_footer p {text-wrap: wrap; max-width: 100% !important; } } + #scripts_alwayson_txt2img div, #scripts_alwayson_img2img div { max-width: 100%; } #txt2img_prompt_container, #img2img_prompt_container { resize:vertical !important; } /* make generate and enqueue buttons take up the entire width of their rows. */ @@ -316,10 +316,10 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt #txt2img_generate_box, #img2img_generate_box, #txt2img_enqueue_wrapper,#img2img_enqueue_wrapper {display: flex;flex-direction: column;height: 4em !important;align-items: stretch;justify-content: space-evenly;} /* maintain single column for from image operations on larger mobile devices */ - #img2img_settings, #img2img_results { min-width: 100% !important; max-width: 100% !important;} + #img2img_interface, #img2img_results, #img2img_footer p {text-wrap: wrap; min-width: 100% !important; max-width: 100% !important;} /* fix inpaint image display being too large for mobile displays */ - #img2img_sketch, #img2maskimg, #inpaint_sketch {display: flex;alignment-baseline:after-edge !important;overflow: auto !important;resize: none !important;} - #img2maskimg canvas { width: 100% !important; max-height: 100% !important; height: auto !important; } + #img2img_sketch, #img2maskimg, #inpaint_sketch {display: flex; alignment-baseline:after-edge !important;overflow: auto !important;resize: none !important;} + #img2maskimg canvas { width: auto !important; max-height: 100% !important; height: auto !important; } /* fix from text/image UI elements to prevent them from moving around within the UI */ #txt2img_sampler, #txt2img_batch, #txt2img_seed_group, #txt2img_advanced, #txt2img_second_pass, #img2img_sampling_group, #img2img_resize_group, #img2img_batch_group, #img2img_seed_group, #img2img_denoise_group, #img2img_advanced_group { width: 100% !important; } @@ -353,3 +353,4 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt } } + From ad8114bb37dd3107df6ac6af6f470ce899ac4e85 Mon Sep 17 00:00:00 2001 From: Redacted Date: Mon, 27 Nov 2023 14:48:25 -0600 Subject: [PATCH 16/42] Update sdnext.css fix formatting errors --- javascript/sdnext.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 089511fc8..ed212bf44 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -72,7 +72,7 @@ button.custom-button{ border-radius: var(--button-large-radius); padding: var(-- .performance .time { margin-right: 0; } #txt2img_prompt_container, #img2img_prompt_container { margin-right: var(--layout-gap) } #txt2img_footer, #img2img_footer, #extras_footer { height: fit-content; } -#txt2img_footer, #img2img_footer {height: fit-content;display: none;} +#txt2img_footer, #img2img_footer { height: fit-content; display: none; } #txt2img_generate_box, #img2img_generate_box { gap: 0.5em; flex-wrap: wrap-reverse; height: fit-content; } #txt2img_actions_column, #img2img_actions_column { gap: 0.5em; height: fit-content; } #txt2img_generate_box > button, #img2img_generate_box > button, #txt2img_enqueue, #img2img_enqueue { min-height: 42px; max-height: 42px; line-height: 1em; } @@ -353,4 +353,3 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt } } - From 202f27e80fe6bbcbc7a41ebb4d6f8e43005b4999 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 27 Nov 2023 17:24:06 -0500 Subject: [PATCH 17/42] add tokenizers to explict requirements --- CHANGELOG.md | 1 + modules/sd_models.py | 4 ++-- requirements.txt | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b90889aa1..5163f37f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ Note: Release pending `diffusers==0.24` - **Model merge** - add sd-xl rebasin support, thanks @AI-Casanova - **General** + - further UI optimizations for **mobile devices**, thanks @iDeNoh - log level defaults to info for console and debug for log file - better prompt display in process tab - increase maximum lora cache values diff --git a/modules/sd_models.py b/modules/sd_models.py index 79d591ffe..1925aae40 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -20,7 +20,7 @@ import tomesd from transformers import logging as transformers_logging import ldm.modules.midas as midas from ldm.util import instantiate_from_config -from modules import paths, shared, shared_items, shared_state, modelloader, devices, script_callbacks, sd_vae, sd_disable_initialization, errors, hashes, sd_models_config, sd_models_compile, sd_hijack_inpainting +from modules import paths, shared, shared_items, shared_state, modelloader, devices, script_callbacks, sd_vae, errors, hashes, sd_models_config, sd_models_compile, sd_hijack_inpainting from modules.timer import Timer from modules.memstats import memory_stats from modules.paths import models_path, script_path @@ -637,7 +637,7 @@ def detect_pipeline(f: str, op: str = 'model', warning=True): else: guess = 'Stable Diffusion' # guess by name - if 'LCM_' in f or 'LCM-' in f: + if 'LCM_' in f or 'LCM-' or '_LCM' or '-LCM' in f.upper(): if shared.backend == shared.Backend.ORIGINAL: warn(f'Model detected as LCM model, but attempting to load using backend=original: {op}={f} size={size} MB') guess = 'Latent Consistency Model' diff --git a/requirements.txt b/requirements.txt index bbe4874e4..ce5814e92 100644 --- a/requirements.txt +++ b/requirements.txt @@ -61,6 +61,7 @@ numba==0.57.1 pandas==1.5.3 protobuf==3.20.3 pytorch_lightning==1.9.4 +tokenizers==0.15.0 transformers==4.35.2 tomesd==0.1.3 urllib3==1.26.15 From c2f8e8cc305e6067c6f871407db8befb0693f1a7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Nov 2023 11:06:47 -0500 Subject: [PATCH 18/42] prereqs --- modules/processing.py | 14 ++++++++++++-- modules/processing_diffusers.py | 3 +++ modules/sd_models.py | 4 +++- requirements.txt | 1 + 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/modules/processing.py b/modules/processing.py index cbf41d853..d2b2bae77 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -543,12 +543,20 @@ def create_infotext(p: StableDiffusionProcessing, all_prompts=None, all_seeds=No index = position_in_batch + iteration * p.batch_size if all_prompts is None: all_prompts = p.all_prompts + if all_negative_prompts is None: + all_negative_prompts = p.all_negative_prompts if all_seeds is None: all_seeds = p.all_seeds if all_subseeds is None: all_subseeds = p.all_subseeds - if all_negative_prompts is None: - all_negative_prompts = p.all_negative_prompts + while len(all_prompts) <= index: + all_prompts.append(all_prompts[-1]) + while len(all_seeds) <= index: + all_seeds.append(all_seeds[-1]) + while len(all_subseeds) <= index: + all_subseeds.append(all_subseeds[-1]) + while len(all_negative_prompts) <= index: + all_negative_prompts.append(all_negative_prompts[-1]) comment = ', '.join(comments) if comments is not None and type(comments) is list else None ops = list(set(p.ops)) ops.reverse() @@ -768,6 +776,8 @@ def process_images(p: StableDiffusionProcessing) -> Processed: def validate_sample(tensor): + if not isinstance(tensor, np.ndarray) and not isinstance(tensor, torch.Tensor): + return tensor if tensor.dtype == torch.bfloat16: # numpy does not support bf16 tensor = tensor.to(torch.float16) if shared.backend == shared.Backend.ORIGINAL: diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 1a21c34f5..fef1c5c31 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -478,6 +478,9 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro p.extra_generation_params["Sampler Eta"] = shared.opts.scheduler_eta if shared.opts.scheduler_eta is not None and shared.opts.scheduler_eta > 0 and shared.opts.scheduler_eta < 1 else None try: output = shared.sd_model(**base_args) # pylint: disable=not-callable + if not hasattr(output, 'images') and hasattr(output, 'frames'): + shared.log.debug(f'Generated: frames={len(output.frames[0])}') + output.images = output.frames[0] except AssertionError as e: shared.log.info(e) except ValueError as e: diff --git a/modules/sd_models.py b/modules/sd_models.py index 1925aae40..ee94ec574 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -637,10 +637,12 @@ def detect_pipeline(f: str, op: str = 'model', warning=True): else: guess = 'Stable Diffusion' # guess by name - if 'LCM_' in f or 'LCM-' or '_LCM' or '-LCM' in f.upper(): + """ + if 'LCM_' in f.upper() or 'LCM-' in f.upper() or '_LCM' in f.upper() or '-LCM' in f.upper(): if shared.backend == shared.Backend.ORIGINAL: warn(f'Model detected as LCM model, but attempting to load using backend=original: {op}={f} size={size} MB') guess = 'Latent Consistency Model' + """ if 'PixArt' in f: if shared.backend == shared.Backend.ORIGINAL: warn(f'Model detected as PixArt Alpha model, but attempting to load using backend=original: {op}={f} size={size} MB') diff --git a/requirements.txt b/requirements.txt index ce5814e92..f65e9fd69 100644 --- a/requirements.txt +++ b/requirements.txt @@ -69,3 +69,4 @@ Pillow==10.1.0 timm==0.9.7 pydantic==1.10.13 typing-extensions==4.8.0 +peft From d8d8f58072097b2d1958126d3c2299d8e5f2f41e Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 28 Nov 2023 19:30:10 -0500 Subject: [PATCH 19/42] initial lightweight animatediff --- CHANGELOG.md | 15 ++- html/locale_en.json | 2 +- javascript/sdnext.css | 4 +- modules/images.py | 27 ++--- modules/processing_diffusers.py | 4 +- modules/shared.py | 4 +- modules/styles.py | 2 +- modules/ui_common.py | 2 +- scripts/animatediff.py | 168 ++++++++++++++++++++++++++++++++ scripts/ipadapter.py | 23 ++--- wiki | 2 +- 11 files changed, 217 insertions(+), 36 deletions(-) create mode 100644 scripts/animatediff.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 5163f37f5..8fd7796ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,24 @@ # Change Log for SD.Next -## Update for 2023-11-26 +## Update for 2023-11-28 Note: Release pending `diffusers==0.24` - **Diffusers** - - **IP adapter** - - Lightweight implementation of T2I adapters which can guide generation towards specific image style - - Supports most T2I models, not limited to SD - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) - In *Advanced* params - Allows control of *latent clamping*, *color centering* and *range maximimization* - Supported by *XYZ grid* + - **IP adapter** + - Lightweight implementation of T2I adapters which can guide generation towards specific image style + - Supports most T2I models, not limited to SD 1.5 + - Models are auto-downloaded on first use + - For IP adapter support in Original backend, use standard *ControlNet* extension + - **AnimateDiff** + - Lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* + - Supports SD 1.5 only + - Models are auto-downloaded on first use + - For AnimateDiff support in Original backend, use standard *AnimateDiff* extension - **Kandinsky 3** support - download using built-in model downloader or simply select from networks -> reference - this model is absolutely massive at 27.5GB at fp16, so be patient diff --git a/html/locale_en.json b/html/locale_en.json index a475df59e..27d4beaa7 100644 --- a/html/locale_en.json +++ b/html/locale_en.json @@ -71,7 +71,7 @@ "extra networks": [ {"id":"","label":"UI position","localized":"","hint":"Location of extra networks"}, {"id":"","label":"cover","localized":"","hint":"cover full area"}, - {"id":"","label":"inline","localized":"","hint":"inline with all additional elelemtns (scrollable)"}, + {"id":"","label":"inline","localized":"","hint":"inline with all additional elements (scrollable)"}, {"id":"","label":"sidebar","localized":"","hint":"sidebar on the right side of the screen"}, {"id":"","label":"UI height (%)","localized":"","hint":""}, {"id":"","label":"UI sidebar width (%)","localized":"","hint":""}, diff --git a/javascript/sdnext.css b/javascript/sdnext.css index ed212bf44..d10878a62 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -95,7 +95,7 @@ div#extras_scale_to_tab div.form{ flex-direction: row; } #img2img_sketch, #img2maskimg, #inpaint_sketch { overflow: overlay !important; resize: auto; background: var(--panel-background-fill); z-index: 5; } .image-buttons button{ min-width: auto; } .infotext { overflow-wrap: break-word; line-height: 1.5em; } -.infotext > p { padding-left: 1em; text-indent: -1em; white-space: pre; } +.infotext > p { padding-left: 1em; text-indent: -1em; white-space: pre; text-wrap: pretty; } .tooltip { display: block; position: fixed; top: 1em; right: 1em; padding: 0.5em; background: var(--input-background-fill); color: var(--body-text-color); border: 1pt solid var(--button-primary-border-color); width: 22em; min-height: 1.3em; font-size: 0.8em; transition: opacity 0.2s ease-in; pointer-events: none; opacity: 0; z-index: 999; } .tooltip-show { opacity: 0.9; } @@ -318,7 +318,7 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt /* maintain single column for from image operations on larger mobile devices */ #img2img_interface, #img2img_results, #img2img_footer p {text-wrap: wrap; min-width: 100% !important; max-width: 100% !important;} /* fix inpaint image display being too large for mobile displays */ - #img2img_sketch, #img2maskimg, #inpaint_sketch {display: flex; alignment-baseline:after-edge !important;overflow: auto !important;resize: none !important;} + #img2img_sketch, #img2maskimg, #inpaint_sketch {display: flex; alignment-baseline:after-edge !important; overflow: auto !important; resize: none !important; } #img2maskimg canvas { width: auto !important; max-height: 100% !important; height: auto !important; } /* fix from text/image UI elements to prevent them from moving around within the UI */ diff --git a/modules/images.py b/modules/images.py index 9c8def630..fb15c3e3b 100644 --- a/modules/images.py +++ b/modules/images.py @@ -425,6 +425,20 @@ class FilenameGenerator: debug(f'Filename sanitize: input="{filename}" parts={parts} output="{fn}" ext={ext} max={max_length} len={len(fn)}') return fn + def sequence(self, x, dirname, basename): + if shared.opts.save_images_add_number or '[seq]' in x: + if '[seq]' not in x: + x = os.path.join(os.path.dirname(x), f"[seq]-{os.path.basename(x)}") + basecount = get_next_sequence_number(dirname, basename) + for i in range(9999): + seq = f"{basecount + i:05}" if basename == '' else f"{basename}-{basecount + i:04}" + filename = x.replace('[seq]', seq) + if not os.path.exists(filename): + debug(f'Prompt sequence: input="{x}" seq={seq} output="{filename}"') + x = filename + break + return x + def apply(self, x): res = '' for m in re_pattern.finditer(x): @@ -591,18 +605,7 @@ def save_image(image, path, basename='', seed=None, prompt=None, extension=share dirname = os.path.dirname(params.filename) if dirname is not None and len(dirname) > 0: os.makedirs(dirname, exist_ok=True) - # sequence - if shared.opts.save_images_add_number or '[seq]' in params.filename: - if '[seq]' not in params.filename: - params.filename = os.path.join(os.path.dirname(params.filename), f"[seq]-{os.path.basename(params.filename)}") - basecount = get_next_sequence_number(dirname, basename) - for i in range(9999): - seq = f"{basecount + i:05}" if basename == '' else f"{basename}-{basecount + i:04}" - filename = params.filename.replace('[seq]', seq) - if not os.path.exists(filename): - debug(f'Prompt sequence: input="{params.filename}" seq={seq} output="{filename}"') - params.filename = filename - break + params.filename = namegen.sequence(params.filename, dirname, basename) # callbacks script_callbacks.before_image_saved_callback(params) exifinfo = params.pnginfo.get('UserComment', '') diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index fef1c5c31..a89fb7b98 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -385,8 +385,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro def update_sampler(sd_model, second_pass=False): sampler_selection = p.latent_sampler if second_pass else p.sampler_name - is_karras_compatible = sd_model.__class__.__init__.__annotations__.get("scheduler", None) == diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers - if hasattr(sd_model, 'scheduler') and sampler_selection != 'Default' and is_karras_compatible: + # is_karras_compatible = sd_model.__class__.__init__.__annotations__.get("scheduler", None) == diffusers.schedulers.scheduling_utils.KarrasDiffusionSchedulers + if hasattr(sd_model, 'scheduler') and sampler_selection != 'Default': sampler = sd_samplers.all_samplers_map.get(sampler_selection, None) if sampler is None: sampler = sd_samplers.all_samplers_map.get("UniPC") diff --git a/modules/shared.py b/modules/shared.py index 2ca3ce5c7..791faaa7b 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -159,7 +159,7 @@ def list_samplers(): def temp_disable_extensions(): disable_safe = ['sd-webui-controlnet', 'multidiffusion-upscaler-for-automatic1111', 'a1111-sd-webui-lycoris', 'sd-webui-agent-scheduler', 'clip-interrogator-ext', 'stable-diffusion-webui-rembg', 'sd-extension-chainner', 'stable-diffusion-webui-images-browser'] - disable_diffusers = ['sd-webui-controlnet', 'multidiffusion-upscaler-for-automatic1111', 'a1111-sd-webui-lycoris'] + disable_diffusers = ['sd-webui-controlnet', 'multidiffusion-upscaler-for-automatic1111', 'a1111-sd-webui-lycoris', 'sd-webui-animatediff'] disable_original = [] disabled = [] if cmd_opts.safe: @@ -958,6 +958,8 @@ class Shared(sys.modules[__name__].__class__): # this class is here to provide s model_type = 'sd' elif "LatentConsistencyModel" in self.sd_model.__class__.__name__: model_type = 'sd' # lcm is compatible with sd + elif "AnimateDiffPipeline" in self.sd_model.__class__.__name__: + model_type = 'sd' # ad is compatible with sd elif "Kandinsky" in self.sd_model.__class__.__name__: model_type = 'kandinsky' else: diff --git a/modules/styles.py b/modules/styles.py index 427e76ea9..be5259f2c 100644 --- a/modules/styles.py +++ b/modules/styles.py @@ -60,7 +60,7 @@ def apply_styles_to_extra(p, style: Style): v = type(orig)(v) setattr(p, k, v) fields.append(f'{k}={v}') - log.info(f'Applying style: name={style.name} extra={fields}') + log.info(f'Applying style: name="{style.name}" extra={fields}') class StyleDatabase: diff --git a/modules/ui_common.py b/modules/ui_common.py index 69dcb2551..d63c1ce7a 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -35,7 +35,7 @@ def plaintext_to_html(text): def infotext_to_html(text): res = parse_generation_parameters(text) - prompt = res.get('Prompt', '').replace('\n', '
\n') + prompt = res.get('Prompt', '') negative = res.get('Negative prompt', '') res.pop('Prompt', None) res.pop('Negative prompt', None) diff --git a/scripts/animatediff.py b/scripts/animatediff.py new file mode 100644 index 000000000..e25aa2d86 --- /dev/null +++ b/scripts/animatediff.py @@ -0,0 +1,168 @@ +""" +Lightweight AnimateDiff implementation in Diffusers +Docs: +TODO: +- Use latents and update VAE decode +- SDXL +- MP4 with RIFE +- IP Adapter +- Custom models +- Custom LORAs +- Enable second pass +- TemporalDiff: https://huggingface.co/CiaraRowles/TemporalDiff/tree/main +- AnimateFace: https://huggingface.co/nlper2022/animatediff_face_512/tree/main +""" + +import os +import gradio as gr +import diffusers +from modules import scripts, processing, shared, devices, sd_models + + +# config +ADAPTERS = { + 'None': None, + 'Motion 1.4': 'guoyww/animatediff-motion-adapter-v1-4', + 'Motion 1.5': 'guoyww/animatediff-motion-adapter-v1-5', + 'Motion 1.5.2' :'guoyww/animatediff-motion-adapter-v1-5-2', + 'TemporalDiff': 'vladmandic/temporaldiff', + 'AnimateFace': 'vladmandic/animateface', +} +LORAS = { + 'None': None, + 'Zoom-in': 'guoyww/animatediff-motion-lora-zoom-in', + 'Zoom-out': 'guoyww/animatediff-motion-lora-zoom-out', + 'Pan-left': 'guoyww/animatediff-motion-lora-pan-left', + 'Pan-right': 'guoyww/animatediff-motion-lora-pan-right', + 'Tilt-up': 'guoyww/animatediff-motion-lora-tilt-up', + 'Tilt-down': 'guoyww/animatediff-motion-lora-tilt-down', + 'Roll-left': 'guoyww/animatediff-motion-lora-rolling-anticlockwise', + 'Roll-right': 'guoyww/animatediff-motion-lora-rolling-clockwise', +} + +# state +motion_adapter = None +loaded_adapter = None +orig_pipe = None + + +def set_adapter(name: str = None): + if shared.sd_model is None: + return + if shared.backend != shared.Backend.DIFFUSERS: + shared.log.warning('AnimateDiff: not in diffusers mode') + return + if shared.sd_model_type != 'sd': + shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') + return + global motion_adapter, loaded_adapter, orig_pipe # pylint: disable=global-statement + adapter_name = name if name is not None and isinstance(name, str) else loaded_adapter + if adapter_name is None or adapter_name == 'None' or shared.sd_model is None: + motion_adapter = None + loaded_adapter = None + if orig_pipe is not None: + shared.log.debug(f'AnimateDiff restore pipeline: adapter="{loaded_adapter}"') + shared.sd_model = orig_pipe + orig_pipe = None + return + if motion_adapter is not None and loaded_adapter == adapter_name: + shared.log.info(f'AnimateDiff cache: adapter="{adapter_name}"') + return + try: + shared.log.info(f'AnimateDiff load: adapter="{adapter_name}"') + motion_adapter = diffusers.MotionAdapter.from_pretrained(adapter_name, cache_dir=shared.opts.diffusers_dir, torch_dtype=devices.dtype, low_cpu_mem_usage=False, device_map=None) + motion_adapter.to(shared.device) + sd_models.set_diffuser_options(motion_adapter, vae=None, op='adapter') + loaded_adapter = adapter_name + + new_pipe = diffusers.AnimateDiffPipeline( + vae=shared.sd_model.vae, + text_encoder=shared.sd_model.text_encoder, + tokenizer=shared.sd_model.tokenizer, + unet=shared.sd_model.unet, + scheduler=shared.sd_model.scheduler, + motion_adapter=motion_adapter, + ) + orig_pipe = shared.sd_model + new_pipe.sd_checkpoint_info = shared.sd_model.sd_checkpoint_info + new_pipe.sd_model_hash = shared.sd_model.sd_model_hash + new_pipe.sd_model_checkpoint = shared.sd_model.sd_checkpoint_info.filename + new_pipe.is_sdxl = False + new_pipe.is_sd2 = False + new_pipe.is_sd1 = True + shared.sd_model = new_pipe + shared.sd_model.to(shared.device) + sd_models.set_diffuser_options(shared.sd_model, vae=None, op='model') + shared.log.debug(f'AnimateDiff create pipeline: adapter="{loaded_adapter}"') + except Exception as e: + motion_adapter = None + loaded_adapter = None + shared.log.error(f'AnimateDiff load error: adapter="{adapter_name}" {e}') + + +class Script(scripts.Script): + def title(self): + return 'AnimateDiff' + + def show(self, _is_img2img): + return scripts.AlwaysVisible if shared.backend == shared.Backend.DIFFUSERS else False + + # return signature is array of gradio components + def ui(self, _is_img2img): + with gr.Accordion('AnimateDiff', open=False, elem_id='animatediff'): + with gr.Row(): + adapter_index = gr.Dropdown(label='Adapter', choices=list(ADAPTERS), value='None') + frames = gr.Slider(label='Frames', minimum=1, maximum=32, step=1, value=16) + with gr.Row(): + lora_index = gr.Dropdown(label='Lora', choices=list(LORAS), value='None') + strength = gr.Slider(label='Strength', minimum=0.0, maximum=2.0, step=0.05, value=1.0) + with gr.Row(): + override = gr.Checkbox(label='Override sampler', value=False) + with gr.Row(): + create_gif = gr.Checkbox(label='Create GIF', value=False) + loop = gr.Checkbox(label='Loop', value=True) + duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2) + return [adapter_index, frames, lora_index, strength, override, create_gif, duration, loop] + + def process(self, p: processing.StableDiffusionProcessing, adapter_index, frames, lora_index, strength, override, create_gif, duration, loop): # pylint: disable=arguments-differ, unused-argument + adapter = ADAPTERS[adapter_index] + lora = LORAS[lora_index] + set_adapter(adapter) + if motion_adapter is None: + return + shared.log.debug(f'AnimateDiff: adapter="{adapter}" lora="{lora}" strength={strength} sampler={override} gif={create_gif}') + p.extra_generation_params['AnimateDiff'] = loaded_adapter + if override: + shared.sd_model.scheduler = diffusers.DDIMScheduler.from_pretrained('SG161222/Realistic_Vision_V5.1_noVAE', subfolder="scheduler", clip_sample=False, timestep_spacing="linspace", steps_offset=1) + if lora is not None and lora != 'None': + shared.sd_model.load_lora_weights(lora, adapter_name=lora) + shared.sd_model.set_adapters([lora], adapter_weights=[strength]) + p.extra_generation_params['AnimateDiff Lora'] = f'{lora}:{strength}' + p.do_not_save_grid = True + p.task_args = { + 'num_frames': frames, + 'output_type': 'np', # TODO: AnimateDiff use latents and update vae_decode + 'num_inference_steps': p.steps, + } + + def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, override, create_gif, duration, loop): # pylint: disable=arguments-differ, unused-argument + if not create_gif or len(processed.images) < 2: + return + from modules.images import FilenameGenerator + image = processed.images[0] + namegen = FilenameGenerator(p, seed=p.all_seeds[0], prompt=p.all_prompts[0], image=image) + fn = namegen.apply(shared.opts.samples_filename_pattern if shared.opts.samples_filename_pattern and len(shared.opts.samples_filename_pattern) > 0 else "[seq]-[prompt_words]") + fn = namegen.sanitize(os.path.join(shared.opts.outdir_save, fn)) + fn = namegen.sequence(fn, shared.opts.outdir_save, '') + images = processed.images[1:] + if loop: + images += processed.images[::-1] + image.save( + f'{fn}.gif', + save_all = True, + append_images = images, + optimize = False, + duration = 1000.0 * duration / frames, + loop = 0 if loop else 1, + ) + shared.log.info(f'AnimateDiff saved: file="{fn}" frames={len(images) + 1} duration={duration} loop={loop}') diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py index 33e5f623a..ba81bee5a 100644 --- a/scripts/ipadapter.py +++ b/scripts/ipadapter.py @@ -1,12 +1,16 @@ """ -lightweight ip-adapter applied to existing pipeline -- downloads image_encoder or first usage (2.5GB) -- introduced via: https://github.com/huggingface/diffusers/pull/5713 -- ip adapters: https://huggingface.co/h94/IP-Adapter +Lightweight IP-Adapter applied to existing pipeline in Diffusers +- Downloads image_encoder or first usage (2.5GB) +- Introduced via: https://github.com/huggingface/diffusers/pull/5713 +- IP adapters: https://huggingface.co/h94/IP-Adapter +TODO: +- Additional IP addapters +- SD/SDXL autodetect +- Support for AnimateDiff """ import gradio as gr -from modules import scripts, processing +from modules import scripts, processing, shared, devices image_encoder = None @@ -34,7 +38,8 @@ class Script(scripts.Script): return 'IP Adapter' def show(self, is_img2img): - return scripts.AlwaysVisible + + return scripts.AlwaysVisible if shared.backend == shared.Backend.DIFFUSERS else False # return signature is array of gradio components def ui(self, _is_img2img): @@ -46,10 +51,9 @@ class Script(scripts.Script): image = gr.Image(image_mode='RGB', label='Image', source='upload', type='pil', width=512) return [adapter, scale, image] - def before_process(self, p: processing.StableDiffusionProcessing, adapter, scale, image): # pylint: disable=arguments-differ + def process(self, p: processing.StableDiffusionProcessing, adapter, scale, image): # pylint: disable=arguments-differ import torch from transformers import CLIPVisionModelWithProjection - from modules import shared, devices # init code global loaded # pylint: disable=global-statement @@ -104,6 +108,3 @@ class Script(scripts.Script): shared.sd_model.set_ip_adapter_scale(scale) p.task_args = { 'ip_adapter_image': p.batch_size * [image] } p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}' - - def after_process(self, _p: processing.StableDiffusionProcessing): # pylint: disable=arguments-differ - pass diff --git a/wiki b/wiki index 0a871354e..931082304 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 0a871354eeac24412a44c00f8da3b7fa767ee857 +Subproject commit 931082304da70e7683d993e28a1765c8cb6844c1 From f08b4e5c231dda274f19a7544784f78e51f963d3 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 29 Nov 2023 16:32:12 -0500 Subject: [PATCH 20/42] add sdxl-turbo --- CHANGELOG.md | 35 ++++++++++--------- extensions-builtin/Lora/networks.py | 5 +-- html/reference.json | 5 +++ models/Reference/stabilityai--sdxl-turbo.jpg | Bin 0 -> 88793 bytes modules/processing.py | 1 + modules/processing_diffusers.py | 1 + modules/ui.py | 5 ++- requirements.txt | 2 +- scripts/animatediff.py | 14 ++++---- scripts/ipadapter.py | 2 +- 10 files changed, 39 insertions(+), 31 deletions(-) create mode 100644 models/Reference/stabilityai--sdxl-turbo.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fd7796ea..1a08fada0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,25 +1,28 @@ # Change Log for SD.Next -## Update for 2023-11-28 - -Note: Release pending `diffusers==0.24` +## Update for 2023-11-29 - **Diffusers** + - [SDXL Turbo](https://huggingface.co/stabilityai/sdxl-turbo) support + - just set CFG scale (0.0-1.0) and steps (1-3) to a very low value + - compatible with original StabilityAI SDXL-Turbo or any of the newer merges + - download safetensors or select from networks -> reference - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) - - In *Advanced* params - - Allows control of *latent clamping*, *color centering* and *range maximimization* - - Supported by *XYZ grid* + - in *Advanced* params + - allows control of *latent clamping*, *color centering* and *range maximimization* + - supported by *XYZ grid* - **IP adapter** - - Lightweight implementation of T2I adapters which can guide generation towards specific image style - - Supports most T2I models, not limited to SD 1.5 - - Models are auto-downloaded on first use - - For IP adapter support in Original backend, use standard *ControlNet* extension + - lightweight implementation of T2I adapters which can guide generation towards specific image style + - supports most T2I models, not limited to SD 1.5 + - models are auto-downloaded on first use + - for IP adapter support in Original backend, use standard *ControlNet* extension - **AnimateDiff** - - Lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* - - Supports SD 1.5 only - - Models are auto-downloaded on first use - - For AnimateDiff support in Original backend, use standard *AnimateDiff* extension - - **Kandinsky 3** support + - lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* + - supports SD 1.5 only + - models are auto-downloaded on first use + - *note*: AnimateDiff can be combined with IP-Adapter for even better results! + - for AnimateDiff support in Original backend, use standard *AnimateDiff* extension + - [Kandinsky 3](https://huggingface.co/kandinsky-community/kandinsky-3) support - download using built-in model downloader or simply select from networks -> reference - this model is absolutely massive at 27.5GB at fp16, so be patient - model params count is at 11.9B (compared to SD-XL at 3.3B) and its trained on mixed resolutions from 256px to 1024px @@ -27,7 +30,7 @@ Note: Release pending `diffusers==0.24` - better autodetection of *inpaint* and *instruct* pipelines - support long seconary prompt for refiner - **Model merge** - - add sd-xl rebasin support, thanks @AI-Casanova + - add **SD-XL ReBasin** support, thanks @AI-Casanova - **General** - further UI optimizations for **mobile devices**, thanks @iDeNoh - log level defaults to info for console and debug for log file diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index b01c75c7a..015d2cece 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -167,8 +167,9 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No if recompile_model: shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) - or getattr(network_on_disk, 'shorthash', None) == 'aaebf6360f7d' # lcm sd15 - or getattr(network_on_disk, 'shorthash', None) == '3d18b05e4f56' # lcm sdxl + or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm + or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm + or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): # 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) diff --git a/html/reference.json b/html/reference.json index 5ea827fe1..babc3cfb9 100644 --- a/html/reference.json +++ b/html/reference.json @@ -14,6 +14,11 @@ "desc": "Stable Diffusion XL (SDXL) is the latest AI image generation model that is tailored towards more photorealistic outputs with more detailed imagery and composition compared to previous SD models, including SD 2.1. It can make realistic faces, legible text within the images, and better image composition, all while using shorter and simpler prompts at a greatly increased base resolution of 1024x1024. Just like its predecessors, SDXL has the ability to generate image variations using image-to-image prompting, inpainting (reimagining of the selected parts of an image), and outpainting (creating new parts that lie outside the image borders).", "preview": "stabilityai--stable-diffusion-xl-base-1.0.jpg" }, + "StabilityAI SD-XL Turbo": { + "path": "stabilityai/sdxl-turbo", + "desc": "SDXL-Turbo is a distilled version of SDXL 1.0, trained for real-time synthesis. SDXL-Turbo is based on a novel training method called Adversarial Diffusion Distillation (ADD) (see the technical report), which allows sampling large-scale foundational image diffusion models in 1 to 4 steps at high image quality. This approach uses score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal and combines this with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps.", + "preview": "stabilityai--sdxl-turbo.jpg" + }, "Segmind SSD-1B": { "path": "segmind/SSD-1B", "desc": "The Segmind Stable Diffusion Model (SSD-1B) offers a compact, efficient, and distilled version of the SDXL model. At 50% smaller and 60% faster than Stable Diffusion XL (SDXL), it provides quick and seamless performance without sacrificing image quality.", diff --git a/models/Reference/stabilityai--sdxl-turbo.jpg b/models/Reference/stabilityai--sdxl-turbo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5a4609db1c7d81e434241b8c165a28eeccc5dd83 GIT binary patch literal 88793 zcmbTdbyyrv@He;w4H`mlOVHrKZGi-WySoI3MS?pdxDz~haJRtXE{nSbhsAvtUHs+y zySw+E=l;68ny#6Crn~FuPtQzuO?B1tzvm6W8#yUiDF6}@62Ro;06cF3%q2Z-ECB#T zMF2AZ0KfpCAdvx3UvfwOkViEHve<| z{>{e0mEFO@^*t~9C&2SEKmvgL>eYYgg-~7+Dh4Vl3JNMFIyxE#HYPSU7A6)J4({7G zIJo$@SXgg}-ry6wBP1lm#v>*ndPnm19pStGgdicmv_V0Ajf(pE9S#=GyZ_Jh+y%hL zc=ghEWTdx%SNKTC_(;!v0P2^XqrQyEf5Y;B64I-eKBA#xyvD?OsQ`Whc!h+F{0as6 zzh1x8_IoJ@px~pv{lNJJjX?DqI*rpiuAlL_7_{QG-GpjWFgk8i=fKyPM8qVdWb_P- zADNhWc=`AR1cfBNN=iw~$jYf}XliNe=<1o7TUc6I+t|9ey19FJdU*#0hlGZOM?@wh zCMBn&{!UBJ%P%M_DlRE4`&(BJZfI<3Zt3am>xT>s4h>Jw%+Ad({99bwgl=u`?C$L! z9Kz2pF0Za{5Vv>#;X-=B`G3*>0qp;Q3;zYzD-;xD6!iaaA-(c=VPt$1)DN6!Z@;Lb ze{&+B;rfa3PCP!hw)-_Lw;GJl)OiY%h>mBI9{wM+|3UWu4p`v-FJ%84*#C`d34o1^ z^z!hK@d09hhgo;Qa$=%>gF9^rE@sR`3$af$JlArH)+qDNzl+6j1xuudyY8nCoa3aY zihRn&^XVePy1B~*wDwoDxMCZb$lv5Hxy))6%;z#N=U4N}R-jBldbyop9=eO$(Z$)b) ze^l+b4H2iORTtkgV9A?Y--dviYjx;0U(0^D0{#7kp<-Nky`Qb*)LxVRGBw@Pk)Q@; zM3tAJojq~sdGX02ocoEbBPf4S$M9W(C8J8h+wgpn#nxuA=@S1{u{ZVP6JggzgwuQa zbH zAgh5-kTIGPlsXCknyhGGr*<3Gz2E~M0^gJuM@&w?QtiVt;De$(G4a=DKy5r&Y~#I_ zS|5aYH$I=q+TRM1x|tgJKv}S8>%A9tc3Dn7aYbM#StCYDK_w-v@H72hddsbSqF)T5 z#CCeJch4gPlva+Rlo|x`aw%`~Fihfoy^=fXZ7 z+S(kNH$_dx%jZ7K^a$_9eW0o?%Kh|Jgi|jar{rG9-1&3f{0dHti2NVIax>eSftK7# zIj*bL&7!4bBlB-Rbz1rcROZYbZ!K`tmip>glz#X%rQsSW>p_8%TeKEcpMN#3{<5Oh z^G&d+?Jw|fZ-6Z5a#FVp&{P?WZ`o4kA;Ba6`HM&y=G*cr%mhc?2nyBtQjpW@oZPWl!%D{bp71TFSp_ z<(7^e>4p8XcY07@A?QyfKMgj4<+U7$-_?;0FVSK`rP9(OhKd@8qy6d(g&dsICl7AF zZ?O{px#{<-+*DrV?w(x!XSk|dYB;DS7Rk%=~dTqs_-?JAIHBQ#5e3ZqK1^w(&t ziLi(hAP)?hm`T6Azn+-qRmOP`pW}(LF%MJfjA55rBR2bpDh389&j`y$vfXp2TO^5!d24OY z577cO3u%{q$0)sE`(lI=Nq{Hq%xc8ZO_5ppeWJu;W*dQHt_@L3b=dKh@R6{u;uUff@94-!VaFe0cx#Vhb9vjye)m;$t*k~ghXL) z;R7dZRIP|g#(#!g@K7Epu9R0FI-iRd#8J&Nhc>=6n-W5+hHv&h87ubR$uTG=C#?aO zG1`Cn&Ik-OCMO^9dA&Aduk|sKT}n#!Ra>huq8r+rJL|?KrkbHVlbbjc;nLK~xpijs zXD`n7UDdGDj$YY2*m5s=d>FH_6+OdDcAIzs5}Lz%7BXf zdmzp=l-Rj-Z}`hKV26IXfbw%-hH!8lxRO@cO3m;f-Z)PmWf_&P4Ac?qJdg5i-Y|K{ zXKdbW&WWHV@s(N{oxg4ju=pGQ?v^WzB8<3FCNDNuwsnQ40atE=fZu_VejnEJ=K*I zi;?j&1B5y&q-%*T#6-8^ta~^_n$C>>2&HzdqhqNN^tw~&n2eSZk^FG}EP4r4Fq^cc zSTaE1)8fQ*gXdS)Dk-(LA6Gd&b zAykqc6l5g4>3u+l(PlmadU!2yJ+K`po?QJ*MS>DX5h_e4Bxe8cja?*Qv|WDsJI;*3@0m-`P)o5>D+IqOfC2A4D9e;Rwf2#J6RRf%nq)zf+0c0%GRq-&ae zCxVHc0q^)3>8!wh)1t@-N`02iRuz}SXTXCdha*+@@O=)pmxa^M^Jjo-rQhH>5)gZx z#nXLpARicv_u&1XkXzr0FklU5vk-31qwRgj697TRi`zj8CiiwmJOd_6?s|?fsjT{_ zzXi%5|L(H86eJ})eFhM8Q17?cZ-2MBesi#OA{^k9dGeylWN&D3kfQpOQ{wl^8DohO zBl=;|5NcGn@Cu-A0XU)w^`t7_iLJdSwvf&US72}>PVUk4vAomDkYlU5XH~ej#i+1O zEB1~&LpZN{N_izd(@fys*m>aV51`6r^Oxlukx%mgX*au$d(3)}xaUXg07a_h9X(S& z`IQadEeNyItY`}>Gj|1Ih^3WWh}UlC+HCq+fBrh6#x;jD=P70KS9%{ua#J8Wk=Z+a z+(jv?t>6zciya+YWQ)uY3ull0vV{iq3TRVe`Ml_`@=jaKQ1Q((0Ljx* z`K{-D@0~g8)R>nSh1}tHjl>05^;ZNEY|j`j-G{@kKCSvKNTxYovmPO&Q+`rzP0;r&fKEVp+39 zxReZRkl3-ZZW$UMFOw~wL}V>{0rt?-_dJwt_*C7&aT8+E+FXhhRCY0}$9=8*bd9Aq zV?M@R&w!wo)tvql@uU7b$+`Uf_}iNPk{+i$;cukQd<_6oj4c7)mW0UWRNBNkpnmr= zppK(2hg7%M!)7z>xWbY=;YcIi9zU!ER|5Z%@Q$9cVkrb7>v3gCmx!1ZBzIoaxs~tE zsmUat-hyO*;EpZol_a5-N*j0z?2PeqV+iB=MT?CqOqDD;EpM_DwF31;h52-M;`YR0 zA(VQCx1FvRY3?P5ZZ3@J{7I^&?d7OnFK1LrtAvgd9$v`2^SAt)EPb73%aX@ucbRdN zDbmaJ3~2MJdV6%84r@;&=^t(U84$U|wZ5r)(SL>dS~Se7@-W4SuqI*m+#-~hqApvx zraJS9)>m`-iAmbL;d)_8u~^BnA-MKyvvYx+rBU{P2q?CLUft+mK^k}WajRfK^gT6^ z?HiFkNBg`m8YX8x?rU5ht3SuW3z-LZSM#+|;jT542FO9cWp_Tzx&~zPO&MAWY^nn7 z2yJ||q6Di_rC_GxI5}8MlQDtuYkO|g(eSBG;GeLcgID8HPRBkv2rDSlRRE#h0e^&b z{L*rY=EYnp;0Hwmy1)tst;o?tVgfiejJ(L#?OyF^oNS@j_^qwbV^+QaLhWv|C>BaM zu_&LlX7Iyr^7VVFV6%4r$U`!Pmi16KW4yys3opuZJN#t>Wnk=z8SkZz!SHuE zUcw2Y1{}pzZg|-5Z4`IjqxJf*E)n?+$7rf)Nt;WbA{$nRKt4XJQ%(pMm+-k5*_}6U zt{#67&^yUOc1fCm+%Ip)CsWgp%Kkc6c3Y#J5(1W52upfwdGBpmX?@gi{R-Xbt4_K| z>sPfY=}ST@iMShlYTK&d^p=pxx*2o--+JS4^9-JiACFK}d6QUmwKg)3Fo)CMo4*Nk z0^T`v^lpNKDTuoYNg6-2<3sO~?+t9JYy^et?&d^_WW~si4$Mf}m2>O8^wkmWe`Af_ z;O(gR@@9;~qOU8sn`ItZCbFYXVoR3WT8Xvp1jl7r(uZeu7%r3>6MvFJ3x#v_^@&A4 zU>}lsQ)Relbuj3RQLbhUOO0VdzL*FQ=J0d#?10oquVnd+Oq7_ zn`y)6==q7K`CP{Ml+&dg)eYf)wFI*(s-~V!Izo${i0;&9r4L0@OX#aY%*jg{qo2r8 zzw@uX*Ehyp{@b|P_*w87V4{sPo~>V(iMWD!_iphA+pWn;rZhT|g7int3F)$84m*e2 zCF|=L!ioaj zN&30?do7M-d+i3luw&ne@n-2baqV~OMgiCmiUl`7Fq(KuF?dMnchd(XiTy4*ZmnSZZTgY+hwJWa2 ztm8^Y*Y7kpXp$v;)Ii&i%W}{8?uC9RM0Rjx??txy*WXv`VaV3ye8lX6A37iL7*e=q zGiJ|_4MAM7BR<<)nMQtSw^O0RnE}UOJ{!s*{%`xA0dMVTg!R(^>n;pNmUp$gaW;!ssjW=@gUGWqnq%TL6bxTg@_63bW z!F<{?K*yQWsBS9&r@K-d>*HId;l}TvKrkUgQC7N$0XzLnR2T=Bc@7@%OU2O>UQPSL z$=2W5?Kp0|atF@rt{elC1;RX8pH1O0$+Iin>Uot`BEvt@PlJE}p@ZO4uob0_&w|`Q z;?v|9{}Qjj)UOpuT4f5CXFz#2A2pBtKCXbs7Zuw^2xuGrA$isr$>4^zDL>0-;cYQP zT*QN4!9b-gN0|-l1>_KA-hTA@812*N`;q+-4PU>!6;CUJ9$;j&mQMNN$G5LQL>WEW8H5g;@<8YMGX4UU)>*7tDsZunGwsw~$G@~iYL zR%x7>haR5mhv66CC&<5b`jKBrT&t?>F1q#@^FY9m;Z&qMz@J4h&XATb{Ojk?-VAMZ z6{;WpJ^RDQ#7)N^tS47=kZL!w_AZKBWNKF9umER}pse2Dn$i;0IujNZpm6zo`^ha) zTT1>rHeD3T^|q#NrbNmL;Ap5{@s6w6JFh@HOxj)dgH2^45e_wb+Vv^3ew1z-I6mLL za`KutdzsrSNL&AF;c}z zrnb!5az9MiEp{-$SdQf^33sgW*u($ug``zPt#G1d)3N z5KSeBVLHWqTxo8k0Df_^qBFfwbiyC>$?(7}Kh-`n{WHsZZ_hWY?8Lk*<%z>FG6Zxh zx?f4U1jmR8(a%>@<=gjIFTL&kH7vC`G3yWRx9(tWX@g5bqHDXoh_W^N$67NJdWCiT zrlPOKev~9t(yx@1_g{;AsqwdipBOa6L$5oJUR8YgjdsB`iUg7Rc-JplVFa;~XDy3Q zad;O%XtmD2T&ah2LuWwcL$-8hNK#n&Tj%JPEq=k2)b78;2qnRr0Rt_D_=1kuW%Zr# z01QErJ1wWAj%gkzV~Z@`GBV^9vvxi%|6yb|2#bHH%q)O)D65ce@4$dCclHu?F+VV!%>bVL&@pKTWUyl`kZrpks-nH1v>#X}=XxFgJDPLf zS;_WZ_a7p^UqW3gW!#=wBz~}CDK1WIBYz#ejhDYSBZqM1 zODV{oTPu&bA^{Rlwv`-4CfR9o?5AaC(nTC%BDSm?>+Fp`=&&eai=HWi{gu<% z$(X&YYQ47ai0fO&QQskLbRkDJax*{mqr&`KOo=PBKCs3D)9{yARkE7^II!k~6?z!I z;qf%DOaBxEJ2P0jR5s-b(LVdSvA*T@bQNDkr%Q}z)K2ise?%(Su9|lK*y=+`1<5fx zIs-gd$MxTlMm~LEg~2Zx=|Nj(=!ju?Y#z0DF5U012(=Rg55L*S>+JiLKLfB>lxDnu z;$ak2(ujp&{xzWNhKV`-;3aQaQf2OrW=}Ww8c_dUa>aImt=Lm*5xRxv=Rx)A5$Oqh zkrD*mu4~gy52%x5u|rZHO`cGo!ByTd^3wzB@5JtY>g^G#n*_6vUM&w+frVSMY`ysX z@4Pr0GbzJ80WQ^@|#!k7tEBW8Ov`0p)O>2Nr_i2nI>Jc6vvR1+|sxWPaINq{uw#pz0 zIv;&ZDYUike%?>KeSC!*&9v{2Tx2zzM&gEBTO$X9P=fyYSq+xiQA@6Kk@s1$~pqdS}G&;6Z4XG7eUaCCtKd*lv4T!mo z`(TTK=}EuX#@aY|QJ+|B-aEeWrG&c`6$6(FpR$VB3vDYu#_9|UzA`KiiAR4Q$kp0Z zRehZf4!qcKjOAb>eKY4i`rYLAzM>&xZ3gIp2)cbsq3wXkpk){L6(F25%NV zn{QRWigQG{Vf$v=5jNbx8s|D+>z%pKiMYQGsDZyrNj1W3PCq~V5Wz|>JaS)d;&P(I zYsR0;)vFQMD&5yf#>m_N^XK)r4uh@b{yBt8dVpBzzu>fEbfcqCdmj{AIuGwfcjb>w zwDaokLK_#7#;7hfvTSFRVTX`k{5g#&18BK0bLJ;XH7Qvo@UF6!_a}sdbTMdZ1r$!i zP1o9F>^%ZIw*R(;u^Osbuys+i(d_y`@xs=dBbL`*{+^OH0X0_4AKVJ(q7$VKv~%h= zBRRBTas|>Fc7z?HGBl1*h33J7f*eUy*IG-Ra@$xJC@Yr*4yj^hb?CF8aL54l+x-@3%Pcle8 z@;{`=l(mg7#gIb`OV#L`yJ>$*)pOPrMaRNEnh=0*K;}GsZ;D-l%WQg7O7ac6WF@)Q zNH+P4PTu%KCOBulI4yO!B|SmGawkr27;LG9A%weF=o1tZ#s8*y?LC3k2h5S?i#UI< zc_ur!6tvaXkU~VH(vSdmXlagz4KBAJtw$d3;cq9aHeJN4votmr(B(AJodvCNU1%h+(^I@-mT^(rpd$oJRwCXZ~+MWJZOXK}E(&E$+FNdA5X2Vcv}-|?o^<4E(4opw6{h0jWQ4onqLUKr^(R25i+F7a!zby2Odh=KgZ z+LPn#6is+rxi`%f%8?Gm3Z3-q`x2$OhVKiJJU(7QxaBhqihn@=5ulC>;+0HqXgriblr@5I^Dy>n8wDE;LBU(%jy=Mb@cw?<5!%`v4AVy zYF?!Z$mD*U=wr5+Whd4HPp0h~oyUAlxqPA{5gKqX72q^ zE_7Bc7ILmH%x(8lOK77lT|0g1Z?-X4v)gvedNG=4DZ}v(&h*AG4PM2zZhhA%-3wZ3 zCnN_EjPG_Nuu79X29RxhgVX3A{j!EUIUi5F^D(gxQMt0={2}umDce0$EylWCDD}7y zl={T@APIXh2R;LEvp{_wiWY?t3Fu8aBggFDn*rYQoe^!s1)f{IH)NuX-*5|yR@fKq ztB9Q&p8>{eVBZN-v*DaJ3k1I!Y@$yYebH7(1h&9qY58W1mUu$oed18}RV5x8f>sI< zuz7Ef_qirYVfy4^M_(LwZfFR2MVDQaq?PikVD5|{77-Fa{PTg+pC`)tcsGG>AR*U_ zwwiDfk>4{^%_)nf-NYLr)0oF!NKfoVE%r3_3?R8OerwDT3TC6aIC0OnU1xqeNOEQM zA-iMj?m+nqTdLF7&y!izmBMlEMXkD{bgTWIGBvx9q1^06q+|JUxM?}D{t@I%B3`n^ zdjLs~tlb$_Y)xBIszmMYT^_6^9JNBF@c(l|m{`fS0jGHV&E$-)-^H^FBcA_ZSjkx@ zHV9tQ8eO58lFR@oP-xk*zmF^G>c_m^g0zln_V%9kJHrGTXeG2dM0 zU50@j9gP^M>r`@4oRvkSh&Ob2oUe6WYs$*y;Z3O>t*|>v=&kp!q7noMqURK*-5$84 zPyJS@NAP4fB8q@yDNF>@ZJWXwG;Ob|vst&8@kHO&JmVIFVlwQoYyCOoGp6s~{(p&G z0O}o;BYrZ*>+9eJy`=AL;pcg>LXf{hKfzMU=z=ASi%Gs5&j8e~2phra2c|93E7UBH zv0@C}SXkd{G<3x#^grX?iIA5n-D;Q1)|UZT#>(YJe0eu`s2!Ct^{I|QRXmLL2?B*tg;d9< zW{3chTlV_`vCF9l-Yy$|(Ro&f_|AHVG?(FuV#bTXN9M;6&AKlXZsbSk2&x?F9zk8_ znu_0-taw#;-du~7}GKUFewdiL6`e`~h z9p3=JJXwIIBL_C|lUTDh^uU4E++AB%^Dkz0jDam!<4U+ahPduOKmyV z6Vf9%*K|SZbNA>24`f*o74;vp6HzwisHA?7?V7<1_&9sbd z+5Ol->nWxIyXv1!b=S+vSY|u@k_=_m2xWZIV@?b^9Qox%crnrY3ZfD^P_X>Y=m^$`Xmk*4BDg_Ek@NtFbL}rIWE4S^N=t%NviG1gq=vXvJI+L?89B3odWlL46$po<+vQ zo_G3xN7dc&mA@@tR-49B$5YdXL*(*nH#_T#qd36jo3s8RzRdfXm6D zL$$LPhL_XQ@qEk8(D>3-t-P>8M?dUiALE}&FB5_saMyos2+8Z~b1MB8T z<2F~?tBuO;kS(Fe?6SFv4CAuYgpLut7oN|YZV%s)=BJANvqjj^5Igfp(-L5QLRvPf zB~q>sHa=JXvi-5!fBvM|nt#v@J|T1(ktf-MRcSU)vEiQ)m*C?|YXY#GwU}V+E{V|LP6DvnpNs&Vnvt=L%t8 z5X3|CpGyzxbBz4uY1TWRGGgO={EPhekk!&_)=@mb&q+K;hdV+)|KT$%HKsm}$c7K5 zCkvJ^_`T&C%LNe5zv{ZX&>z;ZE*=wU8)sDW!~2_$m~RkjyR#UJ63w@spq$QKiad1s znLPmS_d@b%ms?u8^K7(DFp#Ak#6Vq)7}8`ZFsKU#fufUFUD5N96`KHjeLRg=gfAA}q4MSbvCq)}hs8#q3nV+1s^pe>WjxC&}%KxIW@?B7yIeVxcF! z@q`|Z^<|cIbLNVJnelU}+4VQBjVcf1K;?Fydh;W;H$F0z>Y}Hy8_Ro+gs{S#6Y$n= zU6c0O8P(ipfFXS!qkx#}i5i~M%#or0ILMS@i*2Hz+Qk*vAeF$nEj2C|*ZZd$7nTZf zBtvBMdb|JS(GNI2D$z14>BTDe=n|?%u?Gm`cRgiE0BcGk!is~t=3eZYs2uIItM-*j zQ^EMyX3T;QM?=(G4fzEtBw#ktHRz{fGDRWBPkBf;HQpDI{idZJB9gtg!O3&N4^zkP zIJPZ)TBOT7@%8z;JK?mnD;GIE9S$9cM)W8<^SM8D=}=Gh$-b!-jA$PuyASAe@Nuz9 zj!Je5>s503FsJyUm5Llt{^3Ba=03}IMCZmICQzBQC6HQV+xB(3nR_kgfLi1i^xQ+x zOf*IEw5XiXcBVy(Xe8VtyyAh|tC0Sx;QZg}Du!iqgshGy9nrvNB{a}3*4c8;y51~} zj4!EJDl;`b&S7eNT{LwnrYJaRe>S1sm8Vz>zmu!^$~_3=XH})hRu8#X{FM?cv)&#| zRk}ZNknImXuMT+zILaPB4G}H`ju_Mz2?i4n6MhCJqgaU<;I_@G_s&JNQj~uwr#<~` z-`~f=L_%`5)E4y_&L8vi!TQ_gOlR$j-C_42P?g~!mhiVLN%vs)Rh6veJDaiTxgmFL z5t5zcLPAwANyiE0X=)imC6va*lx^cy+j&Di8|#%1wi{KlSx*j{uTF!WS9{0IN!5pF zv`Dsdlv5QkQtA)`LoY=!%cX#y$ugVy=!BYvzNhXW2mCO^LZ+|Qls_XvT3)`K)MSqJ zYw!whlGRu!5cU~ZgIr1hS0;$?)VUbW%*kyqOnnB}Xk4pQl63MrHeE&#>_FS7yNqZM zIn|0bXsOs9pNQ9amWqftNzd9Yj(#BV?oN*HL#bK6vD_KlaQbo>qh%HwWu@L!_~2&t zEccVs#YivZef+z%d#mK0X6@P*kF=Nk2EviqGF7`l&j8lbg8Okil(IXs zToF(>9KC-`LIO7GQGA?ogTi^f^UFc_%jV~^={(&AoPI&sqiM*SA*b>DVvO=??shN? zZxI@UTUxFZHO0{3EM%6W2YteL@N7hcnA?E~wrzhg$R_}jytitvt5!rgUWZTP8IA4@ zSa^jZt+i3MR;vD6_w?5%H@DE;Zjho+crEH!#W_eg51BIXKQMTUC-Cx-HLC|9lqqM^ z5wVUE3kmM`to%Ko@NPDof9E>@9}}yi$jYrs1`;<#V)cZfs{BAJT|FMwsZepk8o@3* zKW=qKW_x4P{1H{r-DO0Kst%TXge7vYB*`6>o5mGXmbvZ!j;XN@S0hG| zUnk}8TEKzr?TY-b=)Y&TEgLYFtU2(#;j0U|?2~AB$cd?qk95-;l6x!CyXoB>P+Icv zc2@j;17ZU=ImW(B7rafgc16m-c*FeVwl*_Pc}Kq#WR{hmd-r`#&&C%#zI9bjS2Idn za@zuJyBX+wQ|T*a`Y+zMcij`MH$Z|vD}$E1{Fm#tZ+@LJd3G40nKE_d94F>myEv7G31GzVd; z)%-VSW{0Uhr5PVdoon*y=t<8q$Yv#Lfxb#VaQ<5+a`aZC9AxIQTwmv`C=iv}UgG^q zUloZ7e7W6I!$rZ(tD%hDSYoO2=g6l+PK_LX{f^Fs_#2cv1$%C~_=@?`H%Lw?1{6=c z>WVGkr~Z_uVfeS1ov1Ma7PKvDAI3ueyn@Qy+t?x(U*RcUML8(ck7~`$zM8<`{r8xs z;mi~CYC`{WP&>awhFa{SS(g1sYMMm3gO@pmw(Zq`z+G-u2#{Dtm5tx5`}# zcX%(!rlyLsp@mXd@oRJgOS&8HRrR@BVpLmpB@Wou{q8VV3uAJ zL53K!hxR_^9B4e)f7h1zWreUk%l&w}*C)Zxc%*_zF<$>}dk`EK@R-m+tG|DfnoZjB z7UPOKjd5a#;NynBDEJ~atJL7&n65D`@4GW*Eg^UDsEtxx(B%CYMC)Q1&6hIlS8t(j zKdkpUY#u12uRLEM1WD+6IyF@Y4_GvNC=d1YVv94173G|kIrWt}9z8x@ys5gQMn8B4 zylErppr6LB(UT#G7eKb5lyq)!j+(vnZ&tFMvKlv{ZSk?R2wbgZ|84#?=+BjCVC!#R zUTpr+il1p2DZrGw0`rpY(RpyP%)k(YS528uJ%}H56~^*v+4uY=eF;8p)X82Yx}hn2S}` zJMCao@cpv6tY7$9bc7QdX$Z5I^v;T~km;y2mL@@U5+?YrR5SS8JaDTORM~2 zw5ZfjzcPwu4>l&*MQZhj*N7pgJ@FC+#*?WEIS5`e5;^rL_$Med!P zC7yZ zuzjcjtv!xn@W}G*pJ;5E9Ip7xz2$aqUOXC{`~y53 zU)ffeWq+u9Ed556Gv20=?3N?BC&-{)bu$K8XX=!0$w>au$ze_zUiK#h7td6mcX*5R zfXZ`{~8CoD@qzG_Nlg1 z){0v?%0Co-0a;$WB_&EDmOcnO^=sg&vNxizIxfr@M^puM?jjuRR6xWhc5Z{Zp}0@h z5$IKfaOPRJD25cq9+xJ!l#(8zi3y$L%SyWNc=49EB-rjTmMUH!A&L%l<|x@Ec-$*` zDTTC6+v9g-55GSH>fZ_5+2IPZ={*CePUbFGMZ%w$os!eIMEx7U@q=AeDbpa&LBnQV zgYjhob8r5io6C70ffO2Rc&qF=0}9&oisOTJCaV&SecyAg2QJEm>Mhxv-+JB-Tog4- zhJr=5bQ%df-&y6X#_ecrN6T-xPKdQq59e2QTYGBGC*7!hjW1=@Cm~$(l$Ly&UdRo9 zQ=CG2U0GWGFQS#EArTh(gySfwzxxc3Z1ZcCHcG3`efVMp!s!gFqWe`*BiBq7Mp8A{ zFG;a7cI;wAf)FXTc>?-q#~2a+cthede_F{`#~4m@*B$JyXXZsZ?roW1)A+~s+kQj% z8v6{|N=efeZOzbAa;X({Jk*DxN>_8`(S1v-(wQeE%dIr{Zq_A)hh6t-~qHg(W)b{$@*t^0}vc zG9oen2zE2p-g#@`-pr`7xG~PM=BU+4HQ9Wt<07`!?EZB{&3P18X@avzEP;ey1Qxud3y27bBGY+85Scj@A@z@al)mIj5=4mDvRP z^72~CI)Sz0#-r^WbV=CILt1wvH9pF3=Y76eHka6Y(Edm02UUjbLcM!xXGC4LAAey|1$<|mv1kow^@SFLg#}pj5^qt6Bat4TJuKlF-MvBwKLu* zMx47#w#y?Zhg7QI&yM0E)vjh#u2j9IobPl;cJbI6DG1V%`nh&`s+x+iD{a={OWbcx zAXQEl8E#X{KpY+XGvBY(3P)PnK*FeP6YNW9hiSU8^E_p@t*^05cgOv7fshOmU}gjCmY9GtdW%SXlMSEX2CADN!*niUN%Fnl;}qX z1p3wqLEl)F-aljgsG*a&+%z5hUoJUCP6)Ew#O{FC0h{>Ku9Vun{O7tL`L|Mgql3u} z55pr@=m*A}6e0>dJ8GCW_Y=9LYAMY4QOW7|arLQvR2<+AF_3=JZS8$B4*rdrur}%@ z9*M66IP_yR&wiEv=jBHH0f)Ir^`zU3baOBXWTnPxGMjp?$_hnoiz|`VvX{Gws-b%F| z0G&BRvT^yvU8L>q6=hJIh3W@J8+2E043)%TXW3gLK2r4f<)6m#M=hGw(QY80f%xOy8dLZf`Hy3a9p!t`wYg>Ou!Pi8 z#^SUw+)sVZK5#k1o92tGo2~%TbsM2?vul05b{?aN@*SJfbx1)oe~yeL_w_#c{JBe9 zG3@?8Z?+Ghb^L%j&BYn= z{%7P>z>-xD=Y9^h15k4_f^LSFNMS&rYCrvN++v*f_8K!R%STB?(itl~InEeZBBA;I;qc8U?(&B?cQV z(i$vkYQhQpA>yJ-#f;D{JksvfoH-_z?F`&x$A4!RyY~$p_uV9azX*yxWu;7;R*4goZ|j6J=22^DHg*+WDT3M(JuyA<_j^j2i{pxa$j*cam49^ zuAfiAp_-!8W7>C@ci6||Ec<9;da5=yyu~iMQrE7l%lmN(F98A$!#!V|DCF(G2fgMo zLzR98l(mgOs3~1fwrARhgrOl23}UYCWoA#RqE1@IgY*#L**b*idZqu=vt!YZ=cX}1!zmE zsXRyh%vVW-U2k+xq|uYV)%Pi#pIh%eyq)iS^I%Ako)lAlfJvqN_r-Aq2lC(t6}(j@ z+$ZWFR1Rse??`nltW1}sy;W>=AvT+AR8Ig+^s4kpuXTMp1 z36s{ZvQ;YP=|k9lljMg0FoH+`NDyW=iSCw=y-)?M#xeUcR6L5|KP3)Z&wy%UBiMPC zh|T)oEs2(DMS7_tcig07|y!Otq$dutz|HlyjZ35IdVaFmeZLO2@H7GWVj2%jc6z&-pO~?78&v}5d1AG~GtP1NG>8E09f)gHNkK`wvM+su>egbY${1Q15lv|EV zIlhz7g=LE2J-t0JqO1$~TH8}*7L{2`@zj1)2v_1|ll?44=Z8^+nV^^*Lgw3&Ex9=n z^lcOLsI=eveWl%!z(RF`vrXQ9j^ zXc=58x`4$(5UN&5eG{V0n>FU;P~nRV#o@cgQS;#qwXrZxj^|qOrz}4%H$;}JPs^%I z9sQLx!(*$bTzY*lU4K2~N?p^j*OMxWIalDobMS~poKxuc3~(Zfw@3Qb?`S7}!S(Cx z?(*PBqZWr${2}I58uFeWukgDMW*+qoA4tgl~PLGvhFGU$Gvv>EgY=A6nn>#gBnH4Vb%GauR%5>?@!T7==^y% z$xwY^U>>wnqP{vb^E28?l$;B=OW*A%NX%};a{sQ5hB=i~ZFQ==6vaNOAwG(gEaM_M~!1jh6RwT6pKK&oRsJRl;gpU$^eWCc>}(_89Yra5iY@K^;1BYmqWo zLR7ONRN2}GFj7WN@b;P6zK)UmdT*r!tT|-tqb4yxj6gLZm9Cwg*^0-#0^eod|L`_> zBOm~6rsR{fH>HX9vNaA_)2FzN!e@EdkM2);B3v|xYN$IzT2MI zoC|M|T2ZY{TlD3wSCsG9s&yN5NDhK6KvJFv;D&`K^9nLD?|tU_Zy4nE@3by@YxP#F z)eM4o)D4dR?Y-B=*%FJ@N)PsS(fumh&_rMY?;7*Cmvfid*-ks+@0n1B`{&vomfEpS zCAp6u-iASP$lXLhDxgA|S7>N2NQL6(`l_V7AE$5iW>b*@<{%pWjL(2dEyso!UJJ)| z8YZz{Re~NuW@S4-{Vl$d^?!|BoG6gq9sA|ewPOP#f_r6&(%9Q0T*D#l~GNjoFH&dJU>(tKl zh^7r#F3-ko7LJGcpp(F+%4WcGXF61CqM}gMB!DR#eSI|MSBQ5!vvD5~b|)`hAZ_E! zw&c~5P&;@F{2@e;InSwMCs+UN;?PANd8DAQ^d){O1}HP{?w+1pl07US{jrawLF&7< zSfSqp+~ryWCLJwGHB_u~aJ^(%Ze^>KQTn;nJXTV@(O>kg;gf__HQ|CXa}2-xX&h~; z;lwzb7?gLsv4W_jAsdyiH9Cr$vBrKCut$ljNEXoRXQo~|lQJz6znSsLOD$EFf;#g9 z>AtiB^By)E@9=T#lBdudaWmSJ!uEr5HE<~j4nAD{UjV{DJ-Z-rm6AAo#i;5hEQLYGIx_Zyz&mgSH@$2&r(;~2&bbx>5C6NQXwQJj@R~Q@ibl!)3rTH;M?0g@y#57 zG6_k*e2zyQ0l^254P#pmDw4cyVl_+MJ=0J4BjVewHtN~0=CSa^EX!|g466QW0(P-p z!x-b*seB&&v@Co{p~0qK>9-czp3sM4gA9xYavMJ{OsuClWjN`Y;+pE#<5Rr4ks_N=mRSl$T(Yk6 ze(pML$o#A3skY_H-iPe;VOkWF+?$teEP0>Ctu74?ODk)Xyjhr^KIk_RDH%W)IPdsW zUlnezZFS3QJKL4iZ&3tI6UXKbpLhYtILGH-Re(ue$L73ADzlVbSAUu1>$-m;JE`Q7 z)(`+#`PrU>>rnZ!EO7kl@+5^;61=a!=U%pl#E-Ydox~?@^$f(ApKO@vf_qUeR&B;S zT<>L{cnq07gY%=PZi^ail=9!{@z_Q#Z{(R;G*DT$ZW|PihbI*sj_o&4jqE3p^*C-7 zt)zf_rw1U8`OYcZx(oI{OFkHUHStc1rs-PGiyF>NNwC*e_JH9Ok6z?)oK~;F&x;q{ zGVr~<_lV+$PMk!l;ba>ffccmc(0f-ksqM||_(uM18$+_bSuIP-Lhp&bSrrG0VtL80yu%v%Fth?e`s(YGEkD z+1*KbA5HjwUef$&V{Lt>>X8^(18fJsu^l}t^Cv}*#@;UY$o>cLX051M7%t=zHMQeF z4#0fLByKjZ&5k{=3B`S_A8#bRrM^eZR#c+@0Cs+X{7u&FzAEW$;GH?7TQGOt+<;VW zT!lqF$UK~S3iy}ewz=_-_GX7o(>3dzKUmN%;_@x7?OlrQ1QM>`D{kA7&rnJ0UVbYF zh{gMplI85bQ@0C=qlWkCuY0-mm%<+yL9h5GEi(FYE-hWHUTwfKyiQl1+?D)uULpH8 z{5klM@dLxltm)Spe}ydWXJ>Z4f#!~Taz0&(q%h|=Vn+kLeB`oxOk0XqN3kq+8lzKA z%=TZ19~Cuk0_$+V+FR;&5~kZ}?BotixaA#BLEj@hR1o+y>RN65H#4!n)62_iFeeer zyl&gv9CSU6c^<~3r2V4!e9xi7)5G#4?Rjkf0L=CuhmozXg=`FuA!mp=Gas8R$klWx%iAp?@l#Qm)-(~g56S6YGo&T-n$uCXx{mT|DV%wVMsOH)$2E;?d@4A~QQ4d@;k;B_slrL2SyPaN>Q^ z$f2@J05|~T0oR)LRxwQ{O& zCtw4N0s*h2JPYvl%fh-9uAQgbEw!u*g+=e4Nhi4{y=0+x%=Zaae7uo*A2GwMDDPZi z>IECEcs|Ed=@n*osjO}U16)*kyCC4wbi9VE9S*T}(kKM+n&z)HN0mlRTwqM98uu54 ztwLvt=jOb4;VrwhTw<U?HCg0thgk#~*l^LDO&X|AWC8gQ2A;Wf)P`$HBT>tDoMe7>C5p+=*UvE^bY zs5_j*N(18n{cA(R`YrE>wfh|_O@Q3r-psH;5dJ4)f%tzxT}!#decSsS+Kn6F?cMIf z8{S>H2Z5DP26*?)OX1yfL-=1EkHZT~kG5(yHU{eM=XVA|!+FQ1TY=~WVNzWUsY34O zU#x1$ZdOhBED6axS0$|9Z?rQy( zx?wS818y=GdF-I)rExmd%S{;oq=Rk)FX{*Q)N>Z1nU~@Z7Tn%HmAt4Yh~qiW)7H65 z>$vRhw@7|u1+wR$^!BEe^&QeSH4S3s-pE=iyh`KdIr)$O0IsoZb-N8&f~CUAAmcgD z6>2=YqHoyO_-`$}uZbm?rumvOp@{pujGyOKY%U?QyDuM6!C}XG)?V~%DsPr|XQFuX z;P$oS>xd?`nitb{g3G@Idt$lCJ|)RxW?)(6E!ZrW#bE_F?0R0^Npjyqy|mM`kB2%R z*tEM(v)?pDC2-uHIVQZRyjL~k6T1BFNAbRDnw*{4QK=ZM4|MRihN1YC;Jr^lOM!2x zO9ty!cKJ+-a-jPXE6RKc@eWT9>Xy%zjD{T#6!k`tl9Rf6o}uA_{v`2so^}5K4<(<7 zH29X(+%P+vZv*S~uYUMz7N6s7QqKN3)?`%kB#`5dJ$|*HG^EWdVrfvO^wjza&c$yu zn3hD{x&>C_{hVU7bp5GjJ1VXPdKC6QKdkR2&%_^(8c6WR#ZM9GYYogv2BA8vb4j>? zxSl<^uJiW7lGfwnXNn|iEy!+|`MZWm9|uZytKcKqTB}I z_p165kEHxPd_S|{8SE>Y@a^&Y99;Gl7gseT_~AMK0EB+rk5N>7%K40$4)q^>xl)%*u}=4s4NTFCI7!G_an@m#exJ1Oj2@tl5gMn@-g zUAnVvKt{OFHJ37pr!O&o!}@%ZXzj;p_g{qn00i}47kE!oy|J}2#bFPdH?sSBn#bC< z?-Jb=6uFO@E?exE%3q?jbsrEsD<++&N`(si-j$?ksSzqJCQZkPVe)XNoL4t-WYL3~ z)0r|kS|QZ6gEKxlVAUIoUzNUE0YN5a$YmMlTX(yuY9DMC}###bPe+NBiwL*IZKf~M2GUNv`K*|UEV0HY|S10f@T)WeB+q+F?7Wa0SGRG&QC~T_?b}B`9 z&VN^_XQ9Do`HmA1xp7o%er|kh)wLTxj9wwsJV~Q}YqjLX?Ix7(#ke3M zfJQI?$FC;68^!Wz{v+|Hh+g8>X>IIoZY`pddW;C%sK$SUk^0xCM;%t0{uRE4^=>4Ev`8+bH&BR(WQ#o)p12*2cYYhO(lrT|3*A8J*YUm} zwJKR8C$PtJT(#>?yXHQZ3zlKB*n23p@6?*hR*O%X_E{u`ZBFcYUSx6MBq}f%58>kn z9nDcqEo^*RY-F{H*74a%Nl+C4o}m2bOWja6Nr0m&PqR(?{`8NTZSMzF_gW3d-KV6P$B{(!P%a9$2(~L&TDD zuC%wx#{~*2Da4Bua}uob4aG6Y=eB)&)U%|v@!JWdVPPW|L{q67 zixjtBS&jq&RlY+igNy-$>FtF{SI8d~kiTI2GWU6$j-j$R5NJE9Y@oX6NlCCvMk0 z%sqH0@}mc z+{e9q82F{3_`|_ATArVC9oCy7vc@(D_A0Sl73@YjSLNq}d|j@5H}OoC`c2lMXK2@c zRI6+m!9kTIMtElE!24HhD&1~G=-Jt=PjvmMzAtNj6Zqr(qo!(eTiC%8Bo?r?V{_79 zGu){khAQRP?E7V?XlKMa+}Aqo{nTb=Hw+=r06&d>ec$|V@pX;m)toxb)t$5r?Ll?oi^%TVO`h&cd#RBL9#eq19f(pC{uS-t z4z4uc8+<9Yyw@yY`%T58dFqLS=BVlixaaCC$El8VTa1?8XV6j079}SJ?);4}+S}qc zh5S|UY)1yCYpC8_O$*pT41uIFh8+iPGo1R?cf%jq>%!NXZI-=tZ)b0QSUh_q5-vx6 zc~k61<3uwmGi%;3uasgi?WsZhwLZT1U*c$&!Fq4m;aEJ|C^sZ{0Y7#=U&E*2UOA)M z_>!FdWqYgHDQC7>2tHbpPTYZ=qdax5QDZ1dH;j)T>h)tQIGyL)6U^}x*uw6W zxBmcmU}yEO7|{MIHnZ^R;^yiz9?+YOtmFeN89slYz6e`URB_~1N=<5&GwMCaifeFuI1W} zz;nv=>C_7Q$}{&;a6dn(6@4aqduq{XjEH8yB;$K@`kMIX_KaVM_I@Vt)Ox+D#|nuz zN2Ql=UyOtO^~bev;;{~nu!-+wd0cVrsnt}OQ5xw%c+!bS7^#{+phj=1#cUvBuLM$qK&G5tRSB#>sZS80HXmg$w@U6Ck;hPHxV2TN2wp967YVHfy zk9z15;x(2i7~!^js!v~f^kWqippTKMQdMN?OIFW4yZF_i_*+x8()Fdf)9zbky8&+U z1-K^|B|-TJ!41=%ab0cKh3u!-2BG$J7cwY~orX>ZNHmhDrM`jgIPIzV@g#*?IjCot zB9d!{C$Pz5y4={TcrU-w4`G_QM@>xmjoXWiD%O10L4c^`Dafs_YpZE)5S$jQ%|csy z#h6L7vhV?|BWSy{WhpsmnG}8?fmbBeWzga_>f~c}M5Rr=PMAijS{BEMA>EZV2lgC3 zUs^3qnp&;5DQlO}-6lf}*RA{k_*)$dq+e)@m&bad?VYhM)qySsy>0Zx$th}(v zcxF#He(fWR_iGp(08lZ+682GYpXf zC>S1q@;3l=K$?sar{7zN8?{TTWa@SAJm=#=gDcehU?|X3B#|xJ9IVK%gq$glADaRK8@C6 zSmYqCQ$H&MkIu0CGves{NuZIh>&X1~I=wzkEr<|+D%hrx((9uzSZeoqD)G$|1CXXZ^&IjkQbs0&;2#ssAd5+gONpC+xfnlCYv~_= zejAs>+SP>8!LrwQ+?PCV@6dPp)H&<1uP-ES-H)F>!{SXBT8B*3^gF0;pBrK^kX#;w zXSIHh{?J|#u+^gQmZG-l_P8#^ppi#A8A$^_RsCvZDEHm>Q zWM`W5KM`t!P}F3V*_oJrF#-E&RACW!ZlenXmkDHUR7$2DD~)5>VA;^%AOH} zMEG-Z3}B17aNv%r7a09bbzcGYj{(A~{4RfxuKc+vQ*HG;jB|d`F2};(wCBR*(0o~{ zK@@n7IY~}Ggz`T_Uhn%{X|cbEB$IAhOLSxTWBON{ii@LG(b)BHjaQ|4Zja6#cSknc zff%m8#=2=)Bmr?(POD|kl01s)0rPg?)!jnTqc8L|-x*z4^JPy{>-}#_6G3iBaTVMb+Npd< z@iq7MzKv;XV$-eW;XIi6Ai&9E{DAkad0Csn==uKfPJ`lkXSpmbwiXJ%d0U}j?~Hy` z+IZK)qT~04esw#8d)5<&JZyV;eqlTe`O>-er|kFeqfGFhg7o=s?PIvruHq9-Ji{c0 z`GCi40tI6H5%}qA@k>gCJ+oM9_A#tCc8uzwii{VJpP7FSIvVT4(}g6IV}CQp%(1wP zZCO;UFGYO{UmrDlAAmQyPO0Jl01vjMbK)z;vQ0MJfF9(oLFcn~1Jb!)+PWVQYu8=? zxbS|Nb>b~&L)A^^lN^8|qNmJUo(6bOPpx&jH0JNhc^=lJRg|5N4)I5VekAxWPr22+ zRp3T=?iubRzO|hvXprRL`79Mj9CQM{$MCO>Ch^vhVw&Eaai-7ZdB;z>0K9F=m27Z+ zndoZegQG8nSoJXZ_CF4}V>_kuJ`vGvExci%n4#5?Y~%(=mBNpksX}_-9@Xz(5xxZY zOIVWQ!#*FfwbQTKWx7?h8+?#kIbc78@;{Y$*qU&n{x6aBcntETR-H)v?7ztH4*~cG zQP#CPvEh9>_TyZ)G0K-3bfz;BjPCh?9G)?X`>)`yfwXS{UEHRZWVY(6JlS)TBZ2CD z1$o#yzgnp2-K!nBu5Ai#6{%BSKEEU4{{R$t2VVZqv6?L*p=jN=!66=G?A=at#xdWn zO?{oK_&@#=eNR&mTBJ4$BW+ZFocfS^0(11QUN}`NsB2@yhY;c^%b!Jlhs>T5{gu2= z;*n>o>EuEoP}96%0J01f0g1sQrfcczZy8DOr$BwY{ygTsllaqp4d0BlI}0mzy43Y6fYGZA z0HpxHC%5<-^RZRxQTG(T%=+xAjt>3GsPAdV0lZ_e? zlJ!T!mfr&;mfm@qYnafnNaK<+tbtBIxmRo24_DNAb6*^dHW; zl`LfJ)bu>XnPsr%PYSO5&lLDe;U9>0-v;d=T{3HngoU|GjXYEE z`^7S86I)(f*vW9h(8dd+DLD!|a1Jr;ULGSADm9!cLSCtETxk1vds;3jcD~2u$Hc_e zG~X9$F>A5Q2C^p1s!0L4?may*U!y;?kHFm8!z;~eN!6mCLAaYwp6GdZYSJpC_TX=jFe3*55*x2v zcdu_(@b;-^Ew#3n_FYENgwGp8v1Z<+|x@ z4`lG3pQG8__-^k|(d}+@-9p-1X(o{YD6fK~AF7U(so`BFO+(;pF}dGyrl^u8#ty;A z{W2@!BTdGORNkoiTJ<4Y8Oc*;w~>?aPs6&WfnobSye+EeH{UJ1#lU#8)fnTRGDmVf z>(V?AeQog*!FPHFpmQ>(?%4HGKI;!~Xv4}CcKDF1MtCVDSza%x`PZ#{4e@7(^~h{Z zoN(!yjnG)H5bsz~+o=b(JD*DXw#GYO6X|!J71Yu@e-LSeh{S^%*S0-W{)WA(d7XN2 zaA%8GE1^1yYe>Gm4F3Rx{sHi}fxJ4N8Na-i_VyvXUQgAKt_A?$4xswiAFcRf#l9E3 zgHjgP7gne+aKV`q(Uf!e*PU9eNnTE#kGehFE)I*0qlijNqGpGQJ{;;k0g>+QmP@S? zW9BTd65du$c^}>P6}RBeijuW~XrQ{j(uA8P+Y3M0iRy9(Pf`4<%6NFy)hG98dlJQ0 z!#+xqQu*1Ccqigst)jEm2khbXNolc0ERlphdf_lW%gKn z?UO@p>Wy~iIl`WsROdMAMR#Gc`p!#MqIg)`&j&a+%AEZF0N@``N8sHv##W-^SJ0DB zy=5faLhI%NMi0!re;WD2L;bvbHwx*oTH5NG&E?ddP_(yzEXv$q5KhyR#zC*Br-h{+ z_wzm$t|F|qvR+p^ZyxFTkHLK=#>Y>!pTrt%#luAl8_K@z0&D3%|4H$1OWn(dO{~0QR1I zL1844NogZsl`KwEJydk#r{iBfc*EhT*1Sn;;#)YD#@^Of32+K}zVl6cxW}6cyD(wTI2H2mgnm1CLqyST?6rMT z=S=ZUr0oMkcw5hq=K+&B-lSuuYu|+Zv{dGgl&J?sP7%4c`$c%F4}}++9nXVo(oI`d zxSkh+-TbsA5FO4ic<2w|Up#mZ#rmhjFWQ4b)^*34Z4L{WB1q+IqDED=6Wiw@N%z34 zCm6kAl4V87{7&b&cw1KZzp3lmABa3jrcI^zN*P3-VT>ST+=OqOXLis}80nrxeLW54 zn|Wxk6CK1m3ELy|80B%?5s`yc%chbu=JGsOT8HA!squ?WYa9Dv@a<-f=2IFfN}w(b zMD=f*oR43^wRM#Ekspb?J#FDM(bK|N{{Typ?OmraZux@X@IrL=Jk)M$8{4PqdmBeQ zc-S+$_?Ys)O1l{S+LP&9IQAmv=5^OO1lAXbubLa^;zq_=yy!;g^`|swM+&18S@&1p zWwmExoC<0!`>2;BmDzIg_B&uQ!#F}%LHyt;N0HZ#D@c1I7UtmSx)$lJcu442Hy zfTZ(St7Ug0795Jx*}~Rr&)QD+Nblg)t?n(+M1gjSNc>5iaK_K!X!IWn_;*wB--sa5^jN;paVIRtgoy`NbJ<7#09bQh zSNJEu`d7fe1^)nNSP!-9R|p>V>|vyuOmU3#PP<1z)bm_2l{#t1bM zYKG9z*VMIZb+>S^5j-a^=N4>W;Pf1W+Oi|n6|Hy5Rw*W3##t1Bl1>NVoPJfo%C2-> z*ygpE#r5^U@_e+CLn4>?agmOLp&!r?^(fy{&%7<- z$^0*!-E2k&jzmPc*@Bd8 zvPig*Nc+oQJ7_*8)O229GfxVA^#m4Qd=AwvmbXUm#Qy*>^kkR1b8>B1H&2m>uP@TR zDQVZL7Utwamg`vqhiazUy_Mh$iMf+%fcS5;z08`u2wqnVu% zmA5&)2g7!k6Dct7aC$N0n(ed=25Frni3*d$cgUs9A^S)!r>Fcch93@HTe3TT>~1{t z6{q082hVmRNg`}9+|0+CTJCaGsHLYv((Ugh@#dTMdw^TYxLKlQ>{Of|%DUeV+v&a% z(}a_(XcT0zz~-B2E6JRk>Mz_!QQ^B-^gS!ixL~Il+}u}&d|3FMsIQ5%#kUk$9`c5NR+rZS404^5h$d$sIjD zmBRkm-wkg3JL3iM6{Is8=Nr^&A5{r4vH{F-(G9c!PTc;JkfV&mx!l2aORheo$rNa+X{@;KM&jp<6di)aXP7<_wcg#+v*W8IQfNh zo&wcY8wmN$Sp3-e$z6jzE51@oq2$3g)XCO78yw0{m(Ol1#y$pkyT_7iJ|&mL7T4ES zmzR63B)(#zA;0b_llOM?#SSsG*wdBlYug~qYA3hM!&)jj~)in z{ub$~`j9tjOm|;sebbpsoVm%%FC&rA4{G^G;y=O0j&1hp(IT;CMO^3U>0L_|WoMzw z^*w#pq3!d0LDsx=@hikOz5>=RuB@%C&n-OlLIOYU=k4tv+dSC%6gFWoLw`o721(v=K6 ze|YZKMcnA_E(e7?A0*62+b0-|9;Mr${{TLf=GxbaSH|8l5iF71XqKCxib&gXJm1HX zI$&{MNtfYcMjpzS&G$S^Wogu(w5jq(cktg-{@T)|DR9Q(*pS{|0#bUPa54GUjcE2- zr-L<1jaNy(mMsvo$8TjIAe9_s=a4g;eii7vMLZgQ)aQ)}Vw!aR8aE|+0Fn%fB^4Lpqdo685F`tjDd>SN(qa?#f3R4{X* z+pDFIPWT_=`#<-jJe&9eDnC%n0Vvii+FEWvbONE!=%iRktBey z8SKOZ^B%d+T2%7~MoNsMuaS(fv8sxI#Sp$Rrl=<0O_s2+0E+bDH&5CCO6}zTr4;$9E3=`|uO(`CvG&!S_LbrfHrh*Nj!s$`A{fBOd{>TXKeUg9+sKC4%J=gx z$qaVwxcX${0DF^NYPKFrLzYx)M|8^?hs7v96zVs+W}uf>Z*H5SF?A|)v}3sK?OblV z@c#hCUlk->dsBwbOtxa{93tSz&mM3NU$4^ek)jOJ`=a` zZlM^n6Du2g37i=+2>`d^E5&>h`#ZFnD$aF_gA{Ve?`F%JqqjLLTa8Birw^xW4SQ~C>e5x*{i3~d|=vy z(5lNCtb^rN>+g?R`hRCeq*XJ(_LXVNooIQ_hHO_))AdazTX(hr3VBit5C%u}te=fv z6f`e}9wJ55Z#?_!sNQKU;lXhpI6Hd`j1OA*>X=HjYPh9z&vuqB6O3lwsOCH;aVLfR zO&pMt$j%g~@16*+DDda)5#Wy;U5zp3`#tEIIW3lTE52>{1zWpz#d&bbYQ{>dc4xm| zJ*8Hgp~-Z5f9(;fX}%NtCywTVNY0r&WL!eqOqoCG+qnes`B$m@JG{~SX=4}L?H2M8 z5ST5>236#Pl_Rc4;a^Ed0;*a~pD8TDr6l1Mqd5IT;sx^fD$~T{!@8H)?jQ{;ZwJi~ zE0D~-pHEu$%gfCR#1>Db#*s=L3{pnF#Dr}i{sz5gN!rRsma19Z#PVN)y61;A4*=L* zY0VV2l19xlGY!chVqI8vA+wtJ*HHbI{9EDeZ(ofhzVN=4HQm6mf=QW-@P|7Y!ng%? zRK-J{3 z)iiA{PMhr(D+&>bQNCx+Fjx*T&jRnoi@ zuEpVN$qSp~Z6tnFB!EavVVeM)@Hxjd=2pSFj?G;yk7Eaq`mLm-?)U!yhdz!?TfzE% zm1B2%rdr(GLXosBCA!Hfwgxar$Ti0JJHu`9GsAjy=8l%Pntk32&etAPuw(d&k(}go z>+M|AmO3d$oDHC`6)HK_mY$+(9v%2=J*=`tZDFBm%+D-$Tg*hel23dUB=r2NiSb9n zJwofox^IS1%c?J&>!@5P&y@mzQ10pT9x;s4qf;Br$xPvjmJ)8eph&c`Z+a(Af6l2mh)P$)i1o^2b6Q2 ztSbmZm2A$o+@9n*?dWSfDb8xkXusPDG`QIeagw`wlj&O1bmJ{dq^8!#84RGg&lMC9 z$hS=#h{{ReFvWGtmd7%^&t&*T@RL>er*tE-o*g?(L$-ZJ@BLaHyFeVXdk@aKKLqO6 zUJ9E^(hG=fjB(CzrF_X4ZoxhO0Q%MDRg>NarA|93A5DBS_(9?Cgtk{tqpY|3l+lH` z)h+N(h>q9=R~y~(XV26&8XHnE0(n*i-CfKN>0y?Jw~H}NyFFpPCb#POb;KB%Or zF#N32WMy4*fsj3Vb3b>_hc`IHqQUH((B{RgMzRTpx$EB&fnLe|(u zW4NEo1jh2?2d^ZbYQN#uwA7)tvnf5j^k{K$AmNS`Towtq;jw@QPky+~L|kul%U4G`tJsL(#95!qa9!3s z_9vkyIL}U%t^J>Qq{kTD_J}}Vo!f5S=ZtelGFu0!=eNSrcvMWkYEQeh6fA4c48RYR z``2r%XrofIIkrX&cNS5{sO{RdjO^|w8>7cftTD>P({hc&# z5J7Qsq$$&{BvMz)W99DZ4&OuGpFKG~$4n(C{6rR7#+h++v)x_7u&xTnymD*C{{Z11 zyV3P&G|T%rV$@)5uLjb@3~gn z#hRP%A5VKTEOt6Ip2g1qO)o5e;3xVsHl_j(=R%(5UFmN)E?0NGYo|bbfw(WcX95 zd>Qf8=ZEzYXNUcDo#!$tPYIxhhy5E5{`@IKW)27n(OH+w0=Ufq< zgdT(u(2fmz)a4erlhE?yn$e@2GG`QzZt?Z$Td65^GBl%NVHC(ic`J(Mdz&If`@)4* z%`TQG=(O99E;Yfd`+2;yUTY~MXv)W|L1{h3zdP z=ug`M=-T`jy}4ctH*hw7q>t-Re%K5yKWBd!w^IZW&ONrsr!`gO8qly|FHWM7`J3X; z7RuYlnflk6_=8z9GyK)V3Mn4E>pq5Vy{k0MA>E!2dggTt;@kP`YtW574=$xgbM(&h zON&s`Y=frYV2}R*KozZL0DU&Z{{YjxfBFK~Q;FwuG;&Yjm@RflkdKh=z!lgvs+Gr6 zRmiL^XM3Jk@l(aq_$T4kui`69WxTnyhjdUA!@fWRj=g$UXW~x_!GB`Vv?}S>V-6`O zxS{hV&lC6u;_Z9l*M{%!_1zupVo5^UTuB#})2Rn=EB?z2WOW2q)|c^;+rmCF(>xBI zAG`Z)#mJ9)03s2#PW8u8{JE^Io3XzuQRYH;v*FBlk-lOF@ULgO(^Bb4E5YqUq$t#} z@b`>93tLBc*Gp=?Z}+j*zO>i87Zt>9nDh8nPLtT)HMw<6_@Z0QTS6-cj#J>ySxMw0S(zt41)Q>`*HOF$d?Dz3I!F01g8HY_}>kEM4|sZ$RgRE`?(r-+w3XR3IU#~KEpqI-L&?kzVF5QTvf zbBu%a&3x^td?kH0WS-DGGDPA;+D-!wM-|}XurkI}_OhP6x*paG6-x^bW}~Nb?0$PJ}sS z9ZpPKeYE+Y)sJiOH;J@cjZWfOt~cHp9C<1-!BFEk^!N9#p1eQt`tw22TH9IBP5tAp z$u8h4hvSk|@-yfUS|dho@|CV+?HfiKqwHNf#8T^D3@qPGw@0}0%XtoV<-26p$Da*< zXp75jLOnaqO%%J47`t-txXHq|_f9Y}IIm;tR-&oS>(JtOMymT**`w0_DtI~%5qM_d zHEVbw)EsYFnRkfTbCLdg*D>OMj0q%fsq1c{$%8CwZZj0v&fpmR&~QRC*1chgVZ=t2UY)?VrvuIc4Xl!vcDKH8gP!PuzD!RHqwz%Tv?-DO%WE zYub6zCWZlWNRt^1pyShn&3vce--iDH9)2(`m#%nc!`D{2HK^ZfHl=yxCC~dz&dO!_ zfsab-sYTVZXvP(NnzCop+UJDtJQ;6q9-ZPl!#3YJe8y6%>IWSw=I;~u!{WcfPZ3yu z!rjqz2GLqMEn4o$k(I-AJJgk8q+|kApIRkG5%?ou_O&JPJDx4$uNNGS01Qs{AYQ{`>B#O zSBQ>;5Hc&)jT(y0O6Qp>u-lcKH;w!=srbiM({ALsFxlJ0N7&<+Yi}ndkFOXURmRcn zJVm0Lc&FVVI7v~CRmU04d3gLYtsZ2q*GrzZUy4*E$tPs`*ropf3ctj2L%T%0XMMjl zwbKwA*f;psIcwoB7{_!4mF4BI-GL+C1zr!-pVGct>iqlBpUIzH?NnFs;qymx@Vi46 zS}o?6;yV#>*cZLzq8-NFAezH_QLVi-1bpRr+8j9Yb!TgMkaRq z#c)38&H){9>0Wc-e-mn7vHt+aiM6j2$vyUu;&zp8ZjhHK3+^S4Qpnp+xGm{kvXbVz zN0ig$vS;ZfkBcB%<7QQvHx(fR+t)mNYtXr0j)ZCRdk@r%HJ@S6B? zIFjY8Z|r7UyF0W{{#2?6$y3x2NF(086I8cZET3|N#VJRbYADIY=y2Z&{8!>16lrqZ zYnIm5PLn(lM*$~rL$tp?-Z>z4uM1xnd_wS7j&F3m7fSxr)2}Ye$L10Q8;{J{?!EC` zaIC4x##cKhN1iHCvGsH-BqVSiv2sgGdxc9EuwDm_6uCzZO z9X&}E?>-mQ zwEqBwJ{xT-OtbT~Yq>Yw-8yeFfDRO3e5$;0+>=DBM%p7jM}5QMSBGrBw6uw#SkI8< zcJg+|vkQ^x59(__#9k~K)Dg7S{zb%KZD`c|-lVDN_*XKMHswSf5AihicWZ4Vn=WJd z)aQ}`z~i~%vh>|DeMN=ZK^?IB%eb7jdLDQ=IpVXGo{XgId+v!f-mPmaw|DT*9E-Iq z%kJYpGoBA59+~4kYsvgG<7vDjt^~cc-2(ilJ|%co$+Ty- zj?Us6sa#5j0R~iZPESmB^{(4qnjaQ;X5UlOQ@g>cqH!AriWZlO(!wx$7%g4~`W2fPc{{WqITFs1lg~am595Bs-%Fpu_&q79c=AGj$ZK+!s zmYRblxoNhrQcG+(E6zSqo_h0);<3f`<1#F3G2SrB%duA-a0fy#InR1-o%OIO5o@U& zx})3Mq7{s0UAwn#z#x(7$R7EtcJqaphA%If7>$-8xQ;rW#<;>cbp zZFFg%bpWeJa=6Dlj5i%ePkQvtH^;K+J{^eMM3(bM5dFhsx{lw6y(m|ce6~k)aP+2= zxy*mUUGX=;HcfMJ98g;#;JwU|k?qvv*0zV>+y4NI8k1@|-0ud923&?X8%HMsx+6FC z>=MJ%k5iJ;elu!*Bh@C=?!HysbeR4pT0Q1 zp1FNByT@s#Km?v)ifiedG=%-<0S4kewZrKD02#I0&lG9!YBLLhmd;~qdv#Zl*bSya zFbD^~Y}X}fT(RbfwBr~nNc8W9^W6BV@_FP~bf~7ec&7UhF7lOfNi6J7-XQ)s?N+`X z=`(4X4wod>`lPrG=33kZ4vfxAoGyB2DtXRDcvZeDBcAJ*L)1JsquOb5UqsQ)(_73! zG|US;W0g7Uit4THM0V&|3d|wc+<-Qm91uF3^Z3){(&-#7rQMr6tHar_@h+pM&E~;t zEYi%S4&X~Rc7l3fFzKHCD>uiRG~W>0T*k3Hwx`cUU_aFyqb@!B4_|68%x=Btp0nXL z78m|R223tpmQGZTdC2RW{+de*$#$zZyY<%{EBhCuEUINT+M73>9J2 z5!i!YMy+e3#wU*Lm2rxNSPWFOmqM<~A8LLv#S<_QsTH1&p<1HMH%)<>spf4^YFac# z&Ari5Fl$Rq_!Ap^~e^a6`pD#L2-Oszf z;FbO&E8>3~>BYE~%HD84-I1670A{Z={{Vt!cz|jD035X|M{End9z_E^O301=HRofm zPAW%D58hrU=-2Hj5B8_PUmjbIOKB6Z`l{~!m1p8(E~W72#TKWLHkopm`o`7f)2y7- zPM1x^T_1@0h53<*&0=3%e8qFf;=Y13^f;wakzQPG56@#+^GlU~p{-PGj%PFV!%1Lt zyDl;Qj~D)cD=yuphf1)TIZEQ%EP%NOQ}*pw8$ zmS6Z@@EA>JH}^0?detrJE~KBt^~Lim;8e}}#x z{{V@c4EK@S`N<@3Z*E&|&~d>$Rey-ue0NqewZuy(Am?{Eu4!zrlYH zEIei5n6>LL@Yu_pqUCltAnhQI+=460ei&-jx=)6r(%D2-t>zVsAK@gNkHybvGVlo{VKnRyb`*^ak|g_p`%Lx zWPltqamG(^is-3{uC2=*JDjv|_-p?5TCRlO3^gb|BlsUn*WT0qKGSrHt++$~2*_VJE|;eBhw8ZNT%TV86=21|M4 zQ1UEnGEb-j1M{z>Q-qb)r_OuJN4e*X;9s@a#M8p7F+g2cplosn<6f=y2$2GwgPO6O zgLE17U0dyX9D9U%Ys5Ub+b0TN*Eu+^Hq-n`to%HVeK1;oXlU}gJ6p(p<9dw$04nh6 zQN%*0G!@t4dacr{7kOCvBjNu5hwbdO>-|^5v0Fo>fMb%z-FBYDFdaFs3-EWx#nEr% zFKs4^BAi1kIguH9>~W9F(!Bgu7ZW$_8o%ag2L}~RGwH2E;vR>m+(!)XPA(!jSi}+& z>6`(`=D6Jt;}(J58RZ|t5*X>KpX z&k1Q?5j-WS==z1KTwC7Tup#hDk}?SQ2D!hEe;Pb5@N2?%x0iRY&8W0SD-A9d4J@y> z3IdKm9ZBp3Q)j#1K*5i3DAZv(%lBY6n8~*aK1vt-fTvL>GX8POR-0pls`y2SDz&dK` zx;C)7o$C$qMq%=#EIx1Du_ObZS|$ChJ|cL_ONT<#G^;H>ITS~8ePkLdmQMQ#BqJYC zDk@5xV|hyC(~c%`}92}u2$%KxoaZ?|L0+4t{4q<7 zG6!pKD6#@jjAM%QV~3XaXB|vbTe6BgS-v!Qwt24ZuBMVJ_mj;@A^ro500|#=)Ef2s zuY@qjTlX3F#aFOuT+2pJ)|IT%x1saL#J`9-kHnAcnEXL)Z>U9PcgYQ`Z6BE-P^F2_ z9rzx#?7FwYcuW4=jNsMV2_`CD|rr+s#`{ub4R1B%f8M@iOQDep8ad9 z@t1`^vsIhRASuZLxoc7OsokE28x!o>jg^nNw5E#B;ml^$qqehHHpRwJ58?Xbj8<2` zy=zE62(!+-@WNC%QRcQ!3F)76{VF7-dqsp?calFX zZ<^v}3?Fk=Klb)<(2uQh#+27X-IaJtsoVT3wUTcVOLK7T9kf>R29Zb2mR+DA>R9gL zyI+7X!>HJ5+J(di<&_|b`NFo+Sd4e%eL1MBCk1A#N4q8NyOCZjFyBblUu=#j<2dsZ z<~`5yAC-G$hlA`s&VugA+CbRfovJW04|BJ#1FxyBRZ`spkoo@mP@3a*!6O*J-tNE- zdJN<1(!PSe@ZE~bH1^hZ_VToR0SbZ7C5C!u+>CXq_QdiY0cR$q98t6v5?h8+5+wx2 zPIG`yAEkGf+Io#m;?rStg^xa`Jx=dWO0_25g5@wF)xO;rgHeQs#=_Y=diAc2{52$t zx#BE(4s)M;_pO(6CQtD1#uE59QdlK_J4}?|HgmV@?Ofiiq|c|Jl?!=b@;xf-rMaEl zPLtx6n+Jw`SEl%u$LG@STodL00Lv!FBj`cRH$!;5O`*%BUNP9~fzC#IA7fF=Z63yv zmGv%or%+UeJIJAtq4Ge8sU))=n8EZtYbU}s?XP%t^Fx+bhg8v~Xu{``x#K6eBcZMt z(Q%fW9hB-RFEayt7YwqPOBG-?$0?7Vjla-(4xCll(tQ?bW4O~JxdFF2vz6Sx!g1;k zQO#!4*&}Xc)SE@QiGhw~jyH(l7hvz#f=^R}?Np$KJyP=OPc`jsoe6ix1miuvxcn*G zYm3m%n%e%`Rh2CKnK6kTC1u^azBBFVQfeAJ@v*&Bj(B>yf)-EvnRWiLid~JxA&}t))dzRP_`pxNdzR zsq0^1@O`z7tXO-c0#795ZNNMqfAOy@@K2AfwA(97Qyr|<&c&fgt_hGX0YAcf_hXTo z!t;Z)(dbj0C8>KxTQ`-k~$`Guq9$Phu5@D}nI;0EiOC>&1Fj{{Y-u z+s|+a?HN*Y`qiavMWd3D^R4~UX#W5ZY%Vu8%Vv&NSjJmwrbq+1>4EEth(&j)c!Die z?OE;Ji-j2s69g*&4s(z{t#nyQaSLEO(`#NGze}j6is^4yv|O&ts2Rb}18!@;#!>cF4r(RM$ zrG`azh%C~Qz$nSc9)`0mqYbD-c^$sVW86%R%pWH`kLjM(!_?N-L?0D2<&GOW)RS$( zv4ATRlBDEzB!EHu&1ZaG)J%RHj%eKycKK1Z5>bH!06jC;-n6G4XJAgpY2aDmx6w4v z(ka<#7~C9{Cm0=%ZrQATHsWg=D@Y>dW`a9#{{VF4E-(jRdGxK~tnQ9^YI=`^+C|i^ z^)&euks2`TyE!C#bgLR2vRT;LS;lyTeEjF_)N{TvXacyjNO;5X{>mk%F^i3}?Pg zT&$JJjpXc)ZTN9;FMbGX_HaVdUZuw3Q43`@jyiR%--j{Scz;R1(rm6Jy@KF*nMqv< za6g2C0OPr@mBq{brWN6R52nM#{aRFI*Qmd+-o5>g`$zbE7TflSt}Xt#LUH<4{{V*C zhr+*xJ~GmLMwc4o+TNW0b3-_0K_LVY@_-2B_pR}Dqllv82)p_m_<9nfQuC6xsrrqq zUj4H{)L(7K(XSSpgFQJ)m73;9=eD!H z+f%%O_-Lk)2=@#}^sjmGH;TRz_>O&2{y&CVp81*QmU#6u5msZ8*~tTw(-rk}@d?>D zG|v*IA9u{ZAM!qPnqS?&J&*FJ^$#z6<`Bsj%u!h6h35dC=N0H~k2RmHmO7IE0A^|S z@#bj_ym<&d=-4`*)hCCnBeT+MwvWAU5iEL>v3WI;i9~l>R)Sp#yzD(P|DG9+ouHmX-;kE$)^Oh zMkbl7U1+w}@!Zu3G7Gr59wUZpM`ZTYfZj+XP(vLMSEhS zcF&jtxD00?_s9aZqk&YGl6FTfD;}{A-=>p&QR-Uek8k2_KwrMFBC}-UX&f)szIO3{ zf$wzqP zndWXX5=h~_GAqu1W)BGH^LTn4VBcNEb-F*LXrR-^Ur$9QND(XP9|rHJ{rStT$q9U zE86cg*lwdBfs=&-73CLn&LiOL+E>Ic z2x>kN*KMt}0KuQj@-}&3U620Hl6venS=&R( zA^2K_av}XI-yzbGRD6}Uu|^)+S3Cl5g(%DilsP!gE35d?Qcc9HcI?1@rn`A_1{hH(tLQ}nM=_=TaZ!m!KpZCciCEo|FKQ5h-Zu-N0-y({J~guW&5Z}z30jSZ^Y+q9t!vN0Z1 zS?BAM?Bd*a9iV49?Oa!gJ|k&g4SY8isjtqq zR$JB}-*~eSNB|FDYwsw`_XeQw?}~Ka7|Im_N;V| zQujX@mTkSru9nY9(l4&IPjmKI{{X%QYrCHM*q>(lGt_@)-yb%MqH30HB(A?`Swu?s z9Igq*Iq6(~hAb0HhUe@PwCK)oz+;?sKBFI&Yt6+)P2B3BTI{MS|XYr#nIbt(*_@il1WEsC?_G_4U7iJRxf!jU>HB>$Xdb zAE7L@;M!KZs9D-0UtCEmg}{y6kOgTNKBP)$`d%LkcxpT603Asi z1v4`J8nxuHmoe>^z7g={^bKxw=;BAn`CF6tn)6$)9R!5C79QcMd2GV$vwQG8bo$f-p@bILAp3mHbgTzZZCZEq6?c z^3M;sM3G22&l%^j6lgkbr{G(Qj}B^9mjg-MUro513^pEorXZeIvF-(7D8=gsp}c1< zr;uOGbEn-SNXln}RD1#{orn(96yX@^glCs@lu#NjiL2^9HFIn13(`p;3*_9PQ| zv7Q%pMtL~;)qO5IX{_Ud+7*iR2g<>YAJ>!9kJ7p2c(Z8x#qADd)V9Bzk;o1bDU)b8 z1LX&%N3CI|t#@y!8+(nrmAAq(`>b>cf<_N~`}@`trztHBV>KNaqv9J`t#x56x_%*8 zk(V61uF_6DTdy4}M^v%D)HIt*hP-Ge*wb6uu`zFtl6#Ykf$l#V!Va(VWwPub~>uDz;TIt{YG3oOgkgLEU;Cb{z} zX{gB&gPog;J^IdB=JK8-Yf%^>Th1i%wJAo+b*bK8s#E5YP_ z4_BCP#Y>4L(e$`Pk~^)+zzC48?=v8l$6R0!F~2kxlqe+u=L zD8|h#Pd@UNmpv}?$NF@4`?VcL;o^*g<)qCJ2f4uNe>&uJdyfWq;^7|i!*{kfQH`SE zCi7zFz8n$xid?GqVmn)Z+Cs)jg|3~VYI?Gdm1I^dPCK4B{A;Dqd>N(KS-i`sUe9h6 zgpIto(R14fqMDVKgxWofZx^ni@vGraj5KtyYdJ2o`4-yMq}=jK7jlD-_LN|H;=5fV zO^ZpHCAI$mS1M)5Y@PeKC!RR`>uNPQT9J)Pe95Eo3T?>Dj;xLj8CYP0+#h=Sm-grQ zIi~nOT(R+vj}WwrT%JU|vr&XwfH#>F&^XRVsL1PILq@bKE5~!lsZMnFK2=|rnk%a3 zIq7}}y^2i&d1jVmHs|Ij0}{B;ew6QqI+mYlqUupySjT$OAy!78%R5LTKY_(~_^94$ z$oFuS5~S05nO0h@uDPymwvJd~?$b?{Z@>&!A!(>Ki>xcgq?T}Dkon~Ko0RYAf!l#ycsRK?EzUe-lv0W~Y2?gu zf4YB_SDC+aC;O-QSFDd2pRbxt&fOlsvf)0@7d?l_D-zD?dtDyO8<{@M7{JDV)va;1 z;?9L>8yAYDjEZ*#9YOT2drx^RwAB-Qt;r)Kfs>x~OWxIq+Ahdt)P8NzJp!o}RvU+y zyMS=Skb7g(^rn$5_BqcJTC3;f+_-m%ce{pKp5j4vYDsU4Z@=xK9#<{9fr@WEV3bh`QD|nG6@b83H8+F{)@N7-l zJqH=B&kt)Bo<8vHwc|tOi-^M**n0l}O3`YUDGy0|$AbI~_=(~zZadozdN|dRMo?oy zqCt{D0Q!2@zuNd7$4zq3TcRKKMkx309MsPN_^a^UJa?$+?=)CjSqm(R0CAr~UhjFL z#v3I7sI>c(ryFcLz&2^1_-@k971)tR08v^xJ)F{7?v4o_01xjm@{l^>x+8lW(ziCJ z&fm5ljXYT%gQi+|etW1b{N`)awQ{X8;|ipXa1M9}oY$y)Ow-@&;^8fpNg_MZSZ9%0 z&a|kj!Cjlur5diy*z5lQXPa$K&)~m@E%nnQ>W0)b%QF^XxRMl;=m-_Vd^h-?;(c1) zJ8Qi%C{{0(t_u;k4hPHYSklExr^OPhVI4Q4M|I+@5;vJ5+BZlT{V|Hw(_^^RE+@LX zKo6Fvs=VN2)~$0r5t4kXQ|F(EUIX*vlL^n#y}MrU@VUq^o?ULo%=S6?v`_4%b89S+#>aNR5IHB_yQ%ZF zX`Xde2+H)z9xm|QJFTR*QW<3dw>dvAezm9LOV~91Ii;DzQSMYO-M27YkA7-uS|wAw zjvrL;66!xL%!B&Zuvuxkaz_=tw7Z%(z{9pl9=Y|Vsm4V6M-$Kd2k`dWLz{ZQH}x%w z^($Lcg?L)lG}Lx8l}9bk8{+4}$o?q!CS4XuJSz0h^c0)zxN6N|3ujI87y4M!t<)#z(unDifqZ;dwL$vHD^ToayDagR!? z;Cqt}iE_VuG}#g3(MLJ13`ARcos=DuJ1s6Yy}4^B(TUIR8dk>AdMG)^T9-rDEp2ss zJDZdqN=Y94;kMw6pVGM;ZL&I)u6q8P;JY6TY5sJO4=^U?cjWZ0pT}BWtFP&H@o0AO z+(B@m8k=g#u zx^IN^*>#P3RJhk~U|s2NZakPbk^+o!&B-0>zVR1`noVNX!5vyS(XMA#1(YZsE>3-U z{40{RZbf#@snh0WPO&hC#@|VhZH~qUl4B4&vu7Y2@t#IKt0wwA*0*v=1dA2k6>cFr z@QwFC8ROLbeXGZmr8jnZQHqX+X0fknyQ81AV%uI!HK;Y+`V>PGNRJ4*a_B^_y$2@Im9mka<6RhhY-5W{{7ue&V z&#ig~#7!Sb@P2?A?i|f@KXC+d6TI|hJaim&>(Z``OS?r}nZ;XEfbhP#aeZvCT-+_T zz$0?VNI2|UIaSCVIO|+x)#}4=Zds+4HUt%r<*<5z+v(}WZ8|Diq)caR4#NAx_czuT zcW|QFS<2fy%ZDo?^PG@Kct(qEB! zKBlBMS6&{|Rit#D>6f40ZtuazsU1hsx!c>hE^XDIRz%0{i!R={>PLP*I@8&yKY0(E zm1unl@F!B!_3sJlx<s%PDETttVeg|a=&}!2?8^s<0PY-I6#Wa%K+CqcMo;VN42*Q>b z!nnpTeKI)aooTCI>l$nq7qLohE?Q8r8=b8h9Ef6*-)LS*GR6LVcMb4E^r5Md-m(;UQB88 zY>wwE7d0JI?Hb0L5pBjj*I`%YDunO`KLPny0j7A4+V@+#zLra-xndC`w;NBE1~5-d zo<6wet#(3-f?63l^JsdFjfI4+^Tnpjw++vqB;Id6pgwu7Qa>H|e%9~G)r_eZ07BO- zBaT11p!50A<5t(OMmnC0rCaNoh1iS8mr%eWHEC8ekD%bm)68;)^VgBW|e%0_cL`<#&)-{=YvdJyU5v# z21&3LcBW8|S0CrCXBy5f;mO$Ze~jM_@4hg2A5ie_s|;4R7SX-crO^HxltNIC_FI)c z$J)Ce6)pFPJTIszT3gH5v3 zw9OY%(Y4ic6!P3M{hsXVY|0EEj*hC5psCn9KVA!bqA zC^3^?I{2Hxdd{iiEjLxRyOKLLh95dLask2)-RsS&#pnx$8;$ReVv6a6D5sKkMEv{wBPZj#%~%XWaGG{j5GID`fblR{sEc-Y@

R|gIwqA72()lU@bBHG46 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 0 else negative_prompts, num_inference_steps=calculate_base_steps(), eta=shared.opts.scheduler_eta, + guidance_scale=p.cfg_scale, guidance_rescale=p.diffusers_guidance_rescale, denoising_start=0 if use_refiner_start else p.refiner_start if use_denoise_start else None, denoising_end=p.refiner_start if use_refiner_start else 1 if use_denoise_start else None, diff --git a/modules/ui.py b/modules/ui.py index 3caa6016a..1edbdb4cb 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -332,7 +332,7 @@ def create_sampler_and_steps_selection(choices, tabname): with FormRow(elem_classes=['flex-break']): sampler_index = gr.Dropdown(label='Sampling method', elem_id=f"{tabname}_sampling", choices=[x.name for x in choices], value='Default', type="index") - steps = gr.Slider(minimum=0, maximum=99, step=1, label="Sampling steps", elem_id=f"{tabname}_steps", value=20) + steps = gr.Slider(minimum=1, maximum=99, step=1, label="Sampling steps", elem_id=f"{tabname}_steps", value=20) if modules.shared.backend == modules.shared.Backend.ORIGINAL: with FormRow(elem_classes=['flex-break']): choices = ['brownian noise', 'discard penultimate sigma'] @@ -354,7 +354,6 @@ def create_sampler_and_steps_selection(choices, tabname): values += ['low order'] if opts.data.get('schedulers_use_loworder', True) else [] sampler_options = gr.CheckboxGroup(label='Sampler options', choices=choices, value=values, type='value') sampler_options.change(fn=set_sampler_diffuser_options, inputs=[sampler_options], outputs=[]) - return steps, sampler_index @@ -419,7 +418,7 @@ def create_ui(startup_timer = None): with gr.Accordion(open=False, label="Advanced", elem_id="txt2img_advanced", elem_classes=["small-accordion"]): with gr.Group(): with FormRow(): - cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="txt2img_cfg_scale") + cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="txt2img_cfg_scale") clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=1, maximum=14, step=1, elem_id='txt2img_clip_skip', interactive=True) with FormRow(): image_cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='Secondary CFG scale', value=6.0, elem_id="txt2img_image_cfg_scale") diff --git a/requirements.txt b/requirements.txt index f65e9fd69..bf54222d3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -51,7 +51,7 @@ requests==2.31.0 tqdm==4.66.1 accelerate==0.24.1 opencv-python-headless==4.7.0.72 -diffusers==0.23.1 +diffusers==0.24.0 einops==0.4.1 gradio==3.43.2 huggingface_hub==0.19.4 diff --git a/scripts/animatediff.py b/scripts/animatediff.py index e25aa2d86..92a8cfc84 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -52,9 +52,6 @@ def set_adapter(name: str = None): if shared.backend != shared.Backend.DIFFUSERS: shared.log.warning('AnimateDiff: not in diffusers mode') return - if shared.sd_model_type != 'sd': - shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') - return global motion_adapter, loaded_adapter, orig_pipe # pylint: disable=global-statement adapter_name = name if name is not None and isinstance(name, str) else loaded_adapter if adapter_name is None or adapter_name == 'None' or shared.sd_model is None: @@ -65,6 +62,9 @@ def set_adapter(name: str = None): shared.sd_model = orig_pipe orig_pipe = None return + if shared.sd_model_type != 'sd': + shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') + return if motion_adapter is not None and loaded_adapter == adapter_name: shared.log.info(f'AnimateDiff cache: adapter="{adapter_name}"') return @@ -139,11 +139,9 @@ class Script(scripts.Script): shared.sd_model.set_adapters([lora], adapter_weights=[strength]) p.extra_generation_params['AnimateDiff Lora'] = f'{lora}:{strength}' p.do_not_save_grid = True - p.task_args = { - 'num_frames': frames, - 'output_type': 'np', # TODO: AnimateDiff use latents and update vae_decode - 'num_inference_steps': p.steps, - } + p.task_args['num_frames'] = frames + p.task_args['output_type'] = 'np' # TODO: AnimateDiff use latents and update vae_decode + p.task_args['num_inference_steps'] = p.steps def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, override, create_gif, duration, loop): # pylint: disable=arguments-differ, unused-argument if not create_gif or len(processed.images) < 2: diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py index ba81bee5a..c3fa9b6a5 100644 --- a/scripts/ipadapter.py +++ b/scripts/ipadapter.py @@ -106,5 +106,5 @@ class Script(scripts.Script): else: shared.log.debug(f'IP adapter cache: adapter="{model}" scale={scale} image={image}') shared.sd_model.set_ip_adapter_scale(scale) - p.task_args = { 'ip_adapter_image': p.batch_size * [image] } + p.task_args['ip_adapter_image'] = p.batch_size * [image] p.extra_generation_params["IP Adapter"] = f'{adapter}:{scale}' From 84d733f0a0b1d6d2e3d2c3c1f60dd96668b73585 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Nov 2023 11:21:26 -0500 Subject: [PATCH 21/42] add stable-video-diffusion --- CHANGELOG.md | 25 ++++-- html/reference.json | 10 +++ ...yai--stable-video-diffusion-img2vid-xt.jpg | Bin 0 -> 349667 bytes ...lityai--stable-video-diffusion-img2vid.jpg | Bin 0 -> 349667 bytes modules/images.py | 45 +++++++++++ modules/modelloader.py | 2 +- modules/processing.py | 2 +- modules/processing_diffusers.py | 71 ++++++++++++------ modules/shared.py | 11 +-- modules/ui.py | 6 +- scripts/animatediff.py | 48 ++++-------- scripts/stablevideodiffusion.py | 68 +++++++++++++++++ 12 files changed, 217 insertions(+), 71 deletions(-) create mode 100644 models/Reference/stabilityai--stable-video-diffusion-img2vid-xt.jpg create mode 100644 models/Reference/stabilityai--stable-video-diffusion-img2vid.jpg create mode 100644 scripts/stablevideodiffusion.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a08fada0..a83202e94 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,10 +3,6 @@ ## Update for 2023-11-29 - **Diffusers** - - [SDXL Turbo](https://huggingface.co/stabilityai/sdxl-turbo) support - - just set CFG scale (0.0-1.0) and steps (1-3) to a very low value - - compatible with original StabilityAI SDXL-Turbo or any of the newer merges - - download safetensors or select from networks -> reference - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) - in *Advanced* params - allows control of *latent clamping*, *color centering* and *range maximimization* @@ -15,20 +11,33 @@ - lightweight implementation of T2I adapters which can guide generation towards specific image style - supports most T2I models, not limited to SD 1.5 - models are auto-downloaded on first use - - for IP adapter support in Original backend, use standard *ControlNet* extension + - for IP adapter support in *Original* backend, use standard *ControlNet* extension - **AnimateDiff** - lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* - supports SD 1.5 only - models are auto-downloaded on first use - - *note*: AnimateDiff can be combined with IP-Adapter for even better results! - - for AnimateDiff support in Original backend, use standard *AnimateDiff* extension + - can create animated GIF and MP4 video files + - can be combined with IP-Adapter for even better results! + - for AnimateDiff support in *Original* backend, use standard *AnimateDiff* extension + - [SDXL Turbo](https://huggingface.co/stabilityai/sdxl-turbo) support + - just set CFG scale (0.0-1.0) and steps (1-3) to a very low value + - compatible with original StabilityAI SDXL-Turbo or any of the newer merges + - download safetensors or select from networks -> reference + - [Stable Video Diffusion](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid) and [Stable Video Diffusion XT](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt) support + - download using built-in model downloader or simply select from *networks -> reference* + support for manually downloaded safetensors models will be added later + - go to *image* tab, enter input image and select *script* -> *stable video diffusion* - [Kandinsky 3](https://huggingface.co/kandinsky-community/kandinsky-3) support - - download using built-in model downloader or simply select from networks -> reference + - download using built-in model downloader or simply select from *networks -> reference* - this model is absolutely massive at 27.5GB at fp16, so be patient - model params count is at 11.9B (compared to SD-XL at 3.3B) and its trained on mixed resolutions from 256px to 1024px - use either model offload or sequential cpu offload to be able to use it - better autodetection of *inpaint* and *instruct* pipelines - support long seconary prompt for refiner +- **Video support** + - applies to any model that supports video generation, e.g. AnimateDiff and StableVideoDiffusion + - support for GIF and MP4 + - output folder for videos is in *settings -> image paths -> video* - **Model merge** - add **SD-XL ReBasin** support, thanks @AI-Casanova - **General** diff --git a/html/reference.json b/html/reference.json index babc3cfb9..1c9bda034 100644 --- a/html/reference.json +++ b/html/reference.json @@ -19,6 +19,16 @@ "desc": "SDXL-Turbo is a distilled version of SDXL 1.0, trained for real-time synthesis. SDXL-Turbo is based on a novel training method called Adversarial Diffusion Distillation (ADD) (see the technical report), which allows sampling large-scale foundational image diffusion models in 1 to 4 steps at high image quality. This approach uses score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal and combines this with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps.", "preview": "stabilityai--sdxl-turbo.jpg" }, + "StabilityAI Stable Video Diffusion": { + "path": "stabilityai/stable-video-diffusion-img2vid", + "desc": "(SVD) Image-to-Video is a latent diffusion model trained to generate short video clips from an image conditioning. This model was trained to generate 14 frames at resolution 576x1024 given a context frame of the same size. We also finetune the widely used f8-decoder for temporal consistency.", + "preview": "stabilityai--stable-video-diffusion-img2vid.jpg" + }, + "StabilityAI Stable Video Diffusion XT": { + "path": "stabilityai/stable-video-diffusion-img2vid-xt", + "desc": "(SVD) Image-to-Video is a latent diffusion model trained to generate short video clips from an image conditioning. This model was trained to generate 25 frames at resolution 576x1024 given a context frame of the same size, finetuned from SVD Image-to-Video [14 frames]. We also finetune the widely used f8-decoder for temporal consistency.", + "preview": "stabilityai--stable-video-diffusion-img2vid-xt.jpg" + }, "Segmind SSD-1B": { "path": "segmind/SSD-1B", "desc": "The Segmind Stable Diffusion Model (SSD-1B) offers a compact, efficient, and distilled version of the SDXL model. At 50% smaller and 60% faster than Stable Diffusion XL (SDXL), it provides quick and seamless performance without sacrificing image quality.", diff --git a/models/Reference/stabilityai--stable-video-diffusion-img2vid-xt.jpg b/models/Reference/stabilityai--stable-video-diffusion-img2vid-xt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..81a8096958e1e58120a8f97da8370efb556f85cc GIT binary patch literal 349667 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

@T)b#F+OIKA>Fa zcn;CMOHseeNYJ|1esn6$lr-;I)$csDV`&(k-Sclfa2>W=vlro2)%h{SadOTdIuui> ziW`YSU{RysbSuN=aK{&;IQS&ay;QNea=J%QpZ{8{v8--@k6GuY<*xPSK6dTa?ryE$ zi7%`vp!Sfl)>822Pm#ex*XDcm-_+#e4KsA#rdzvkRw-dq)P6gt+YxCf>nrLgU)Gl3 z(E$@ z0HD7xe!LZ2{TwowQTcZ zFhGEE^O@3mk^E+q6q?i91>WeEl>eMw-G^0`cp=_A!rhsTB(66w62X2&t`9%HCR6A4 zHcN?rF`uG64`K-RcvhrG`$JjH9P(+|zX2c+EonrbM=vn~LKh)>vjwP)ck>?v9I8C- zCZdn09l9cDMn8|ra7QqB6Qi5v2M*C_s`tsV-aA`gsD*IA z9;_<9D-dNs<+t{MKAxSCUo$G(VHqjqn?=Y_`@0%#UZBn94Gv${Xluc`^m50nwaCPI z+(=1NOwulIdho85#wQwpa=A}D#!J~RR!!B3hkv8M9<<=<4?>!1whVEXY_rQO3V_8A z8fOmJvA1voW3AGfW)<;4ecB%j-=qh2ps#0{zkrLQ(1}kDQ>Q;f`>a&>_SpyUDdy26+h1>M4RHa9xQH+GaJ{n zGp3JI<|p}Fn;&LP;slS9c{+vUBif}((f}gn1h=2dvyO>jK? zzXHbiwiQNd^}wSQrjierFDE_D_}IO%WkH^uC3Nur2NJuA_wk#o-Q#UXR1;p-g{6KP zk%CZ!5yh8M0}rNx01>=IK(xaY$wfB9A=m}NlRW8m9LWU5G`~=gHj0#((c2PU{a|%G zE|v8pe~V;+m#@qn^02M1cvYrmD$2b#Qp6-#EN<<-AUte2Zr;~4Rrch$)$aYfHNgp6 z9&?6(6<$BcGFqOV;=8@fBipSAx}j=(59bpU<)x1@>ooW)7}Qr|zM`w2o#|L1KZMs^ zrYw%)y(MxLQ5!)_bRolU^4hP#b>KLVPUfCwJshIkdy6!~S(!s0aul!pkwKZ$4^~D` zM`YQxK0Xr|nIjeVTv8G$N$%9M`Ro`^AEn#yELu#xS!=;jirK|1%4cFJ=0aXvPhQ$YD=oL6MQ^M{ zyKF;B36Wiypw6LP5|hm|{ujND4zLDirR8f3UauYg6{!=F*>L^nV?#AwB*yfTv1Glw zo`;vn^OE(SBh%|?gXg+k!<<&DX&Db62I*q?k``p zS-*n)nyqy<3h-A;=UT$Uys>piK^Mkd4Gr{{F#KDE;|V#mle%GK{VTw>WwS@{di+^j z5?UPC7=DT)gE298Pi;}h2nD|w8u_tQ2V;dVY}RvAa6yIUPD)Hxx1?w~;$;?!sNWgF zF1U%kh!3ZZj5t^3M|t~ty)LOpL4@ZP(ifsVNv|G_xK9RaWxsTT37EMjHDGj3UI&!_ zS1e;@N!A7)!Af8GUIYd8Z=o~aYn$+!Xh7zmBDhg+=SB-aMwvx|xpXgvdQ8_^+4nNC z|7}WRmSnE6K4+|6qn@i}2!9`z4c9zr_tE)PR-2eoriP$~&Pg4QYe_AQ_R1a4<+6Rz z@g2~v#X9xhY51h?zp5K-8{s3ajTJ2_K3Ymw>&=V%KL>U`3L&upQikN3g)5=P1dYl6 z9Uu??hAVCPr2{1%!5wNxNxwXp#4NKZ7yb!Oa(!^S7%_N2$mT}aTv%q2`DBCA_*z&_ zfrHm*ly>FlN3Dvr73rCS*nLA->+0HU7`{}@9&R;zp(m`k`JsjOeK%^^rr|EB=T zzQ$Jcm*T~$@&b-}PM!~rH|7h7JzHW3Wjq&o=U20oD|H7ns9Z^rO?@Tsg@)UZ>fxXo z20az*^kYY>7@WQ2Wg_jAuqM}{hqH?qlkUNN^)6;qVB{5Py;6Cz@ zSb#B@HzA42J-p?;qPhmx<06VyhC+V1bngO9dMmrF`S7}3kP<5;g=ezi(3SUdpupXP z!QFx2l)utDuyIfG&g-IY$KHEPx)Iwmu4^)E?PA0WA<9&V_6u4* zsRfGaHeDRJ8;Y1*#Q$r`Ge!=|KFIb2^Gti14Va7Z&0&Jm?wp%-wF$U)_wXAK=*E@+ zUB6L5?-~?bINQYvO>r2WikhOXJNV$>9pi));O*h)1Ha9))e-KqKRa_?!M}`uu6P(< zzI-H4rti>-uU8pgmD3zrf`r7*$b5TloRHXfuhU^IRI<8%MCPQiTv?Dd(>u<>VV+`} zN%8dPKYP^`h(jkZs4IqidmW|?4-ei*x$5Xo8M~wGUiz!Nc8k{yCLv2jW(fSg%&)U5 z7l&Z*BI=LTGg^AdHislUtt1lv$rvegIkx?tx#mx>bjCk`?=phNI_$D?m0ZUP!M3WNU;1u1Ut!VhH(Ss&HC96~xp3}sFv5OIZ+P*; z=vt-e3;MN%>ikz9UYYwm68Bb)m$*#6!oywE4NTblVR))4WWR!us=eeRw8F!Eb3PXT zyU{P!{LxWfl+Z3pzdVF|d$?s~kK*bO!nImjvfr4O@~SK(^|N+af7tTPH@h#+w!4Fa z`Q5bR+Y=T^Kn`hAZM4H+p282Gx3n`jVdbwYt77^PM2M6-ci zDlRXyWq8lg36<~o|JZl6JprWuTOc%X_Zys{D+f)|rgwn)GAI$246gFXM`KvlFWvM-m{_vw_=E97A@H*gfwHQXW5 z@k_WclI^jyTmSEQ0Qc6@V_Ic~n3sm&eqx{h*cH7qSz#&6x6K6O-%EVu=yk$X#JZ5R z@JvD5X}638AtNI9P-ItIWo(fY8A0ozM5z%zh7bM$idiby)Zg2U^P4n86N)Iv8(_8a zBc@>v!rWO<{{dSfDHcDzaJ?93a@tQbv#m-my#%+h8Eseoy22Gh=4#`^8L_Hs(hhlC zLS+@(L1%u{&mdHQa^G!*#WQ{A$efka7 znwh#*waskeu2ziPs*ZJDCID~C;D`?s=Ly(lBq@+bdy|98I+^BOZbzjJCYZWiJC!E- z_w15$RoB0W9_i|M7$gV=7=JVn@|RNO9o|zI%5@FJu|kGpU*x(1V5zhrEUb67_rsPO zGCs~jp&-GSkr?MW=#pGIiIH>dBs6c`d=Ao0+i>G$O&^L*oi1#2P)sq$16k+H{ie!E zn8lq*!Kp$TL7F%=^-2g;atEF5BF7qlv=2^+b>0TT5(FEe5~r=dowP+E?P@mbe@#n- z%e?1^MNOY00P&loO-G!6&VERgit2M_7+}0YxJE8%BTfoLD)yZf6|kC0My@Ow^S!)F~9J1 zgu~C1FPR9TMN;vLm^Kk-6i|Ch@)P=(=)$i=f5|bIMf956awg!)!ASKrjPY9g;%~1f z->(qlCSY69oIF>bZY^<_;oV4Di6QDJ`={XuS89Rj9J~{~=P;YP;;&3T??sO3Ge1eo z-j+E*&q4{s8ErMhzyo>xw>kv((cc1iI<1UEyW5tD=wnN%F_yYLTCRgI{g6=~QnWT( zt|$)i(8T=Ku&WZWx5$-Lu#z<={YP~D|J460^iS^vhm&g?KOo_XH+{SQ2pEfX$-((z{xFcC(%}H`e6Dg#A?3mF zya5CI8`i1OAz-wvgbG|lOWb~=TI84#_H+jhSEySfSYfX&Q|!kd1)kbdBB1{rp0f1z z+2*JrdSl&Za*985zIDV~xP5IO2)ND86wNf1K+kEhGb+3R)|(T^i}2lhtm|C>yQbsc z1B0x-=cUA}Q&DvTWz(NBv!M!bxK}G`EjFqp$}gL0tEv2Gv_}{LX~o!&jOs^8XW-&Q za|e&B;JxIev-o(Ek`7iScz#{|7O)h215KHJh6(UFqD-Co6wV4rN`O z_nm*$B}30>=fgB_pn^ts&i?TKgZpW47T3_E1FLK3_ErIEsl?sf*DmYVj7XXofAP%P zir$_Vt8da8ac*9&9h=&$%g0?GymZU4JP=SE`jqr?Pt>=J>{WYXvlX97sESw*#`h** z8pJ4rMh=GIvSWJ2>qRz0e?9Ylr8b}Ja`(?wbQoF900IPvw`a<-NS_ZD@NisiT%JPR zN*r8^fVI}_a3Iu_7H*T6i@Oms--N#v=3Ecsvewsim7O}0 zU3s)@D8M3+2ANzO)E-%WQnd3}Dy5-IMk+o?LuWsQoY!O5)9|S6@2!O&n;NFj!Q25& zjQN66o-I{rg&voSc;mZVwK`e59eWIjr;g$(to@_C!YhoreK1*Wt{?{Ff^vp%U_M$> zrsD9IOp8RkWIhPb+pZW)yq9aEPE=?RkJBC?@9b~mqYv_*G?D2oDwH?`aBg}3!qPp_ z8p1F!Nt6TXEq5oFc(_4S%*W|u7v`>7P1M;L^_oDwT|Re%_Zeu#JU`VH*wj9=1;_Ej zh1HX#NfW?=yr-{hE|7X5t1TG!v|3ELw=fJ(~^?db`R znKzk{1DZ*@H;ccyR8)CIKW(vZa_zEUvtaD)@sL!zyfdCZrko_$so1B&7;pTPspAW1ahyTd~+N2dTs?oWc5d# z2T}fu!1QsgGPhx+iaCkE6ky?fhP9$^*Dg3QS-es$o6tqfCpV_ZN77h~TcojsWW^Gc z4=$^a_#OpS*n3qpRY#_>DQpLlyH;-D%s>Ru2i)CS8cpp2Z{Q9^nG z$L`0qyoV2*s=1t>&U(vrh97?3JY7>v%0EW>-hI$IhVO5@G$ zG?L_z4v}gEPCHAm=_-!s(`e%{hqp7R-6S;%ARw| z?^DkG(akipi0hkGflo+&$;Jb)aebt6QECkCox6S452O{p5JX}B#{rK!DU8%RJjTTy zgw+?}0gJvX!K%J2*l+jl%dzW?cY#g`fn`tv3d(nSaH11@JI5kWHg5idJF?dEsN5z# zNXJW|QV>>YDtOJYihjOrlg*(Au@>=;E)k9jtzdCTWXF*?=v2 z(map(Z7wa{zU~rJ3D?Q)TZ4DU0>X}2f&HGKm^W(bY8(S z)|{*!axPs{_2Xm+z@`x<8I!&}J3(Vq0KhEgd!i)%P_9DQB+y64Le z{TYL+D-^hv9uw<{dmEYY7N{hs=Mk0jSdk2y57K!U4gc2}O|~5|e_14~$~|*&P~V8T zj9ANBbC#OA))eLsoUmhyQQnIK3%%tC5=We~JxmnZ2~V{Z9)jN@zSRKxW+3NiRNhHs*i7_bD zaCMrRcjZgZ^}{Od>8s$s=S`yHjaZ0@{KC+j$9hfH+pO#@bTlguy9@|C{yT!B(e4t2j@a=wDfxj{aLK za68UOEbg!UqcLE~bR8vB$d&07^yh}Mx*t2y++{FD8MRq$3QrR?(as)r53}BqE+;hP zI0=9n2PXpfqhi`N$4ev~5$ikSK9kWybyJmV{m%bCy{NI$#cOY6?c|=DP52L(eW#(z zXoq+uqGEc?Xh|P?FAhKW)-E2Yd^_iR4&Q&ElaRs6UsDYaUT2R))xoO>9NlrsWHi?A zjoper!;TGWS;c+Lmv16w-@PlPeGRmJ8)ae+>D2r!cz^qsdSsB>s?!-c3H~-u!3R-@ zQ&8qaBsk@D;2Ybh2jN48T+-(W($Laew&NOmgv%QjE0BYe4~$@J%NXFa@Y8;pRhuaNi1+kLU0Cz%bxq0q(iw zK2KUCQnO*BK@Cblo>c!G*vSKyu+QnhiBr+5y7ienht0QT_0qw*TWE;}@*>uyFj;Lb zx|O`;dh>TF@at(NXsSNxRpM`d_?87aJjnY()_bBwb5H>!ESNUFvm!4MDsN@$eoQcU zH$w1=&Z&ixvyxhV)ODSztd<@7)a6=>Y=Csc#$g<%43m>{6+=uKlR!}uoF!&I) zx~vhmh^L9zvl4~1S7rGM8oK8)BfEga_4r>M)QvOB#37RViU}2vry|T8$X- z10fJ|;iR85dACRK7w==yjlFcx-25C^@ArS8S`#=|Y|qA3(O7nA7ug~wtF8)yb`MGw zVS)sej^*0bO;R^%2s8fH76fY{thgb=8i+C-OCC7qOXQxmH19yG_FZ{|m`~gqtk+>e zz>THb?=Say=KCTZfGN2DC*3dUvSPVa3-UiCk!Figz{s8Ni$h!5adu-sOgBidV{1@idb?zx zN(DoR#!Y&TZ#Ga}>)LI!3jub%Du@DGds}|FOHSnVU*2rM?TW0|oH#Y;G?nps{Ri0P zfk(%wbn}@6JqddCv8dIHpKYl5;d{=|2kh9jh<%cV!z98Ufc$T$Esy{CC#yj~Ac%-W z>C#2lHrK(ohn|exnn3(sKQ8#TONJ&KjAVAtNdRP*xmKK~7oE*vMsEdC-2j*Y;hOW3 zc%Rs#lNslGNiTe*U6fnYaBj-9;HyQBea}}UCddlJm1<7F1QPAagOD%+f;i_)c~y$|~T#YHXW*7xN|)SN=mHH4=nBm#dOOtljC ziJ_gTMbcNmd}TBV^rp^SVHf5Z=K1m$0v3vpEWG7WFqPyGZOCv1#w;~OevO_uhfcr( zlJy&7%v~6C39uG0(t7gUz@`oAl#woEMcCJl=KKi%%N{ z9&CTFiI3HltI!EEC2`OX{&w1_U&3Zkx`LsqB~>ke(wjsC^KlL6gbL{!nQESk2Qj~+ zmPU&nr^DD>yzBZ%Xbh>|`|RPEPPe=DBQK^aub2cjzMab^%7R7f-KJaZsE4ndV_b;|-H$WGZQ!@Tqd-l6fN{G7D|4_;tE;8qJFmJPR~? zPd{Q@xA47A{JXi%!<&UfnU?w&NkrK(LNNO=T>t1!jk@iqVEM55TPlXw6>coaGNd*5 zrtCz;i+hc>KnbGZrFI&R7|X=EAL;g}$}G{y>EL_Zqqdb!u;_w0U+_eHv;d@bbgn*+ zT}y)J)wF!c8`JP3=5qn$RB885A7Du;l0mbc_Js%cAlV6t>gegrNV(U;ZR655Gvf+In>T|?& zv*W>do{_|VnBsv&@@4jc$QPn*148`?=u7Q04hs84!>H(z-o5alolQR-XLt|G_Q*F5 zp_dDWlWxct9WTgtZx^>R(Me3!51Tid76g}X#3YD&^$i@Icu+s>ks0wY(N0{?JzxOb zcgy@|$cTT>BwOL1eM+eKk9h)MLJ?abbqzdW0XazZqE|o(xxS}IbRQ(^6QKepTw%eD zMmLCEwxv=Ha|(@eUJxeHF`9Akpw)*t?!5bN)~NnPvJwJ@$Yj9=SgFVF9OJapCW-^% zHUzAJanJHTa)%c(*c%A{-T8^L82@Q25!B9$roDdzo)Xa4xIMBGv$jx0b%uRwSqok5 z`9AuTfJIEJ;XhnA>zhc*xU90tyTvaM{3qj;^sjzV&HC z1~4|O(~sF@B>=VCCk^rl#t@MKs)`MRe4X|Nt5|5P+@lW;GxRcH^g%vU)X_46fzHG6D2!Ab4Xgiksm)leQ74#VqNpUMC{GJ zv;|`iQMS2tm(0cf&2>A5yJ*thrT9mVz5#BHf@}G9{xqTH2hANXXj~+cg4Or}FGw|4 zz78#6;uxL)f->cS4F#SsFBj~i)^gX!|8088TZQrf?G;g3|GR(tRL-J`)GNRS3id(SkAtT9)I5-f$|_{2bz_u_MfI6k%$3=jBz* zf1pv|Upnl+6}B7fC|vp>_lfI_tiA?_7L_YHaP&^NBVi}Z9|%T_c{^jQ4DMavJv)tL z%4Rz~4;js=SRZ}TJlbeiH_C`^H^Vs`gs-suhdZM$+t@Z`by`S06MB@?@bNRIa(RpJhp?qG^>GLuY0{l*Ccq`Z>m5pFKXqYnznqyX$LI3wac$QekU<>4& zu6Qa0rL~Gq`_j`jpM(AbG1;TIdh#cY%78c*$bLz+C@plr;6ISlaMln5F1=9ok>Zyh zY^($+(*<58>Neilwany6x4niEME6y%fTpnK;J@i$NnLr8Sdnm13 z>xj)~X}Nkk_NyjA=50`>5LzM&)|sYc>4(Mb`tLqr;TOI%7P(75VIyE_dqTZ&Ic1Wq zW1woD>!mb-po)xLD+8Aj)UznT%#oWpciiC0eUaUUKO)-bdPo5z@}y=8*U~gAg{W`g;U`9mnW%&?Mv_wY9j4coZ_HYYnu-v|<@OExVpym@cGW_1NcHI? zBr0}5w~+$WE22)-e{9kg@qWZRT>7 z>h)WPz#Wq1{NPK`>kcx^9cXvem}@fiE8-dFl)v~AIgKKpYNoy8di}_h)$-}hZI{@t zPU}-|MxrbS5iiurSGULZr$`R1U10-0J_0(4YtWzJ(WdX#=1Jcy<6`!XPfKB|oNq}4 z=;{iTf4Vc@k`|<4(6aTraO~jX;LUYg75@*5_D#NqnmH*N%aPqIO5zdq4a~EIq?F`> zhl}``YEoPfc_;1W+Nk*&6;^MmKpZunRlk=qG6O)?XW=2vI`EGMMtffSJWm~j;0Be| z-gl=@;^b;6#tOPT1Ce3^Q}6d<5!yvsOL*14%GMfLTj`K(Q3@ua&CkSW@Sm-|knLpU zvzde$)yHhg!2T1GhlYSW)-hBOwm;^|Qd1psP5j!;F*rc$fv0V2Lu)Ku=C9Ar(vHly znRNiu9U2raf!lvjS%3UmL%M8kOqa37p@xa;?z}u^Ui&4jfhg?UBTWJ4kWt4~3;6cf zq)2THX$kA)vk)!no3GYUyEyZxnfw+l(N(hR?Rqc3z1e2Bs9{y~y5ZGHl3i7mhH2xu zP?e(pyCy7k!YKJQN9!)rGd}U%s%6u7UdWwh4x zukApZ@U1HUf4(-Ww&k|Xjh5ROy9AbIZ~f_cF+Pdu0zloOA8^8ceShkb1?An;MVr<; zyuISr(}R(;lcuszc_F#ktWFbk|6861p%ja!t1AlSsju0U71oOgYc@HR`AO+2^2-3F zf&3%scLoX7(Haz~RiQy%-1veV`u-`|<(P+Oa!-)eOoN+O!;;{V{5#v%fdmAsf>Z0= zf?dTcX^Cu9x%fSJQes+ClX0?L;gbe_Vz+h0&QF?>^URcHK8Qgid`pC3n zo?+y((w9ZseFOfqiS@(_243&%*^P#8jy$Fo*L};bn-l@6lL*D!C?FspPx*D|tB5z| zsDD9GNZz(i9!Xt^u(^J%*DLN$$XAXL?`7haj&w~QW{_l8gJL7FvNl-Y8|VA3u6 zvbIgFFUUCMgwKU8LZV|LpN_Y&JzF(U?I3&&iuC?FwGMbU`9HuIS!TxVT-l`##Zf4X)kL#A zvZe8mjPGv0wqsnqMzj;FZ_WFiV*PSV>Pn!k5(5Ar%BX*;XbgtMkb8mDMkTD z<_&A?jvLzdPea1V=;R+j$oEHqXHycli7-i&BQ@WqdSmkP`UO9A$z8<~rwUwf@zA4t zGhN9frg`Rrh`cADxZd*#K$K-MYsSFO3ShH*FiFp^Y`gqwxX|raizM(X9~>tbaGdLW z=OooA`*QekO0K@fy927v1^+{3Y97I@{G{rvz*Pj?rDc z5MWN%emz0m`gN>6YEoyIDeglp9e-;uHn~Lv6tpbh(IES6CDmlYXuIf`Twky6HiW%W z`a=zYK1L9owCd1vpG5KXT~Ci{g@sdQC|v>;mCy}4iwe5IH0*BSv%FW?uM$_2GN5OJ zm~;G+qbYVDuOckcoV=7n4$|v3%Jy4q?dS`$`IJ4NWUb=Mx}DhMop6mHFSh_+Z#O?- zvD}YdZoE4ky`eh^PS#V>t^MBT=VH1(41bwvd{G#R5^dC^sy^T7nasGKIJaV%Q$f@OLWMHgkh=IuVY6Zb(2aFDD zhRXAf0Q4QK#K6Eg^>Z1_EDp<{D7M>3q)!{G{?}fu6n!R#(I~$}uhqeoQv3E|Wp{U5XIsSj_c z!gadf|GFPX%BVlqQ>(=yxg%JO_N6x}(72I*(e?G#9s?NQ{TMO?E==v7o%)fnptC08 zX7|fPeUa05n6)d<$jQcQf^5`U`TbVX84(vC-Jr@e8L)D-cW}JQ3j?cM2yAP&0-6MV zwJ7-4V-Um+0%608UBSq7&CKn5AyQxbLZgr7V(4BsvyyWp$T=7%@l#%&E3gx~sYMY>^nBS?62{2&F563SXC&ClH9>%7&>pbWRv>SY z^A^t-xV*p12jcL{=z|FBgo`PpFjZO-nYt3!)rvD2!~6ARvMr!N4! zM@9v!@>Ay;e12vo^jE+^J#Aja)0;!h;6G8Q`+uNEJM1@_Wkgdne_4jFCdVZ73I)gJ zAW4GsAO{cPZx6F$%bg50b?nn=e_r$-uA9(Y^j-ZfmP^$xT9VOCQzlL}_SP{r)pi!N z`VK?&>=w6xf&8G!<|cr8erl4{D!b#|BY5}8Y4+FOhY`c7gGf=Qs-A7G!QrK@J?-I?o2vNpI8Ho<9cHK z(b4mbrEk9$o_35(oNSx!Aht#aOLcv}yKjW8bbOL3&dPI=SV^*iv$z}UKAk(#%Fj}l zWK6V69e-Xs|DkC7-sAG*SBIP%uu>fv9r!7DfdXQRwz&E(Yc(wcLs!Z@n70kDZ&(Vy z_s=TeGo=uwp3_8n@DO!DI)9d7i_#t7`pJzWb8pQ0<6og5W%BH6su82hZ0)%|Z1m~& z>6<|;QD!0M>rh{e&nz-c(hF2MnbvPRHkJHVq+m}dux*l*RSQ=+RE$@&0?_HGL7PEB z+^rD-%N^YA%0&dZdE#cRzD%{@-4a z2Km^W*k1uwPi#Jzj9{PDH)C52W($WcBsVEQMd;n!z$t#7(AYA?HK~~A+fLXN6SZTF z$?5B#3X&5C%8N4jefK%4Idqt4<@2?TuAqHPoy{D6=NgJwgf|NV+C~E^Rr6PYgh&=J zB3B<4crbIgc%|sDZE=Py28d)8 z-QEDV&#TmXw|O>8T5f;W1|}ioqtlVrQSY1eT5diyaypM*7;}PN6y_PTnl%#&AW@+6 zSH^5a;fDMo+={XLGCe;uJz-K&;71wI5eXf^Y164d`yl$2S?~7vVUk6yEeY_tn9wUd zbtCH2#~Ng2@53Z`DwUuNF%f|f((lI>Hc>g1GFKna2SR2wp)jT{t31~-MjfNz$h#tL zYZ{NG3%1)f^H?3<35#ELk74F!7fEUJ1rlM)m6EsmF^;fvC=OTjK1_jx9V-&Tw(rQbh4>f9SAy7BaK=LJrs*K`S_ur%Jb2kor@hFM3!cAs!tvazwh9PfO3tS1gr-{EiU2I-DoRb$%Qi(u)2*BD0d43CuP%sIIf zH5GVRk!WgR0BX=Ke{EI~XO@tx<@xzZ!uM|HWTYP+WbbnNv60c)7l4%%hdQB!038JPdzsk)wY0M(UY|$g{zWF#^Fxqaj$mkh=-`_jdiF;M_cNq2@Ba7->F=WnL&?L23IMY5`@dP(>h!`J z(oZgLpRtki*N5f$F21As$mgdmL-s-l@kK%(6kKXja3uBcOFcI<+~31k^q8n$L@zaR zv>2r3F$ox{yZ&|~qbq10E7XATP5gy1<9vJK39-b!%|5OqH7zxg?d7duPJMH6apB8v zR8Ims%PTZ`c-;Qc4e{~{j_1#a($iW>6j>9=5XpNjn9y~*@z-yEld`QM9NKHEaN+x> zW@#X>=s`I8r~7f1>NQUQhPU23%G~#ZlZgf5zdg_Ye2mg&dh2G>TjP4)Pony1;Z2az zB+KlWK*~T~u5s%3TbOHknf50Z#nZIy^z>g_(j~h81F=+P6-a`Hf-d&-uGyUpAF4hPR-i8IawJ0usWuNJUeW>4b-QzgItT@CXbx$>*I|A zTIg9ABCZ_sXmAr91RUoGV>Txy{~iyPSw6afBIR0Nx5(((I@t@2-VSnAW!_)06HWKs zCp}3&pPUYohUMhI!F=M7c%dqf=N0*bVeaIw%^v;4q3rg^AI;-(9w$}^TUf;Xh`(HC zf=_J&NSyt5pT}Sn7jk9$)m#a@z-itbOpqdsVOfV|w zz|EW-?}%)}+L;4yFRwuIO+SOzg=lCot**7Xegj*QssbQQ7`=JdcGDugUsJwuw~uB7 zZ35vj0pH|qr|kpv5{2OnhC-OR)7e33&o@-ob4%5uc};zcqv>YB8@0zJLoEi9UIHB| z-Vra#>u=m^Qor(-UU;fJ?@#LZ^cT+!m}fLD1#2J8xna0}{tC1a#$S%odvOkVanyM~ zIfsKgvU;bt=eNO#v!89od$rr#AFIyF%Rpx`qj_GdiQ#p7(*HQGb@Vqn-&i9x9v!eX~Ah{ws!| z8{K<;rzkbC9`Ln@=x~)rBM%_4V^OLWB41)lQ`5wRnkw3D@3ttWPi3ucq1+NmcAL^-WcrW)DqybdGi#=1pE(_ z_om~*lMac9j>A74hW7SS_=ktE4r~B$(!3Ej>1Q>k+NgCq>CL%kiR~uf(VRTL(cQf> zQXxMSIQeU#0cvl^%_04Lsz-gp@R=f5E@IHOZl=gvx~5LP*5iaYu}f>IcvLiL@96Rn z#rc;n%^~*at%D{Xv2%sO#&GI(oJIV$Gg%WyrrhfFQ`ZL!I9 zG0Hw6w4U5MaQTaeZ+h`6?|L1FEh%DM`UiRKVw~Jfr<*@(75^!m|JObV~>>bALRZmFTb+zDLwNgf--vDOlP=eqvI zb`3n3ub&Tk5*jgaY*9OHbyWN!sc8TPu$L>LNK?i6V?NI}%U{5syFd+EYVw|( z;nQCh@=pa~{hie3USG2!zMrebFRr9~5E?2EL`8&bX*BzG{dV12=C@?DBX$mCr#IaOIZ|W+*<8sbT%epwcrh_sr5QNrIxO? zd+$ZQo_*nlree~G%*<_=*PMir&P#9LiUjb~TfSc=_pJfBgtAaEr9m`AbRM{= z#Ty3CM7$%MO&t1}q$JkfDlLr4J(-$*Wu`+wdNQvPqvVso4Pd?zmG^~3^T2C~qh;3G z82qUlBE6+SC-YZwqQsYM4j-N>RnE2$J00L)u5jtj{Yw%BOxO9Z5JCv<--J=VDbOt_ zI}gNZegGx!_jh3D#zj9jIxz!c-TVoE&|;-#_v^Yoha0)Oq9SMN3-hdu!l~(+cU)cA?NPZI=Hgl zk`MgP4`&$Yuy2Kf0|NKCb>#hdn*@BrIP8v;u7~J{2KItmP`1T(O~1NDBxD%_jz;Fa zzzom58%?pKUg_CA$a1gXG@P4#H z9E`}msdEM?_&L0gt1W5awV=l0eNnfo24A;@onDznI!1w+lQV`nIiC~6VcOz_mB2>N zgf@B47SOmoJK|MO8q)E&_Od2QVW1Qk z7oiZ}^%)M|yg&0ui{NW)ilxbrL8O7zgX2t=g5K%!<2Eh)syr)o(+ZtH z4l6Ml|6orG@77TnkfMsBpYk?t`*RAD7ptUMiOxO(TB4WEr3-Z51^6{dUv|~miL=! z`N2h7rfp$2(N`L)i38vvy{O2A`hSWYKdPJMj6=qga9OmpqPqUOw0bqx_#_~FB#eG3l@|6JZpAPip75?V0A zqu2g%TgEUqHt^XZs!5eOw--wHnakS#XLS!1Kfu2R09BlmdqSOr?5!IAit!Ak<4X$K zPm1RmE9K+z!Otd|*apH)KEsp;i7GC`zxNq)X_nEEGI57-_GJMvw0@`Ll`D%}lBvn)(0=@^oQoBs1 z;&$lQ4wb%z^OWj+PD7~`@a~74k4*>XFt;>{s6i{cDhryQDZx8#Li@T@1vP;uVbe$H z`}6oDgFz2KSKeM<$lOm_xF**|1{NoDa*ysJjVj92nlMjzltvMr4=oud}Ur+!SV_d|(- zE~qDSjZJhi$`~qoc?1*wx7nPjp^rV>V2-2y9u!mY} zVfUBh#fS9}Q<#Q6@*Df~iX^59`XNz~Ppq1&XQ-!#7_UoHl>^v%O84g8hcVLs+hW$Y z(;G7qu&~S0GvPzuL_rpFP7SP@BX$O3F><+<_jZP&4T#ua7 zy`)?*^EDXi_UUx9;>70^{0T4#Lkt`~`pd^7ep&8oEoerVB-u4*BDzdw&LK2bSg+6I zDF3)&-v8qg)4H*ov1~d4!`H>9vTr|#_$B2}YD+(`ecJT;dt)2EtDOwE^8q_*qy=)%ET2O_>t=1}Sm zx3$}(nlTGgSlfVUS(5*J4q6dsLIm`vGl%oxdA=CgZ#cmrj@Ob%|5+yfMr!d;li$cM5$z;VF> z?1LQss-!-u$HV^F*s{BG*Pi6%Miv2Fda&f5$19|ez#vQ>DRAmO&su8T{NKp{3}s^P zRCTETi|i`Die|VsOKcC^#6~DBMdcfmT5F}Qb3Z1Y)%PZ=V$K)JvTzdw#s5W3I(uPz zVxt&?`cT{IEugXyJU@^y?mbAyQYO}hdS1)t#5T2WI3fiKVw6CXbuPcYI}+5_4flPl znb$y<3^|gcpbPrLOv65$52nKhWCGWlLoMBA_FlD=`Q6&JCq(v25~Dlq%=>izr%Hb$$WjbxFiQO^wAK+ha_1mqSIO_jNu zS`J^7Uwr^GWjfcT=K_k718GPI(N?(zC!fw&bSwdz$ibM3&PG`ElStrGm8_2Ucvw?Q zJ1>;NOJ1?~B`F7VZ6KX{+P`D|ooQHPGk2yujN^5RDRjP2e$2aWu%mfTDWVwIdvFIe zDUlf@{+vph$7v*njxLjr$w&>YHh;;f2=^nRd{qw}yw zcXDT{qL%gH(uRvC+pPp{b<+o03{||HwUwdnOXAo#g+eo!qWwyAVv1=E)%}1)4kr;&7X2y zx-jFIK=AE-)L`me!TYsn{DDXC*C;!Y4k1#ipxeFIGiqB6XTOMz6ovT>|mh1PMQU?&SE3gnVMP}mNz1Ig}Dza?Pc6kX6t#NSX@AITm7 z?m|7ntTu^-5d?g|R2yXq6LB>$^W;#XJxylZV|dJ-s(_v-zz-d}c6P7?RD|k@TAM$6 zA@h@)HJF*XQS7bI{9^R4$e+jdKO!$3zx*!r_TZhAm{wd%qgl#hxsF@C!XTdOx|QnN z5*>9iS3JKxh8t3|42=RU7#5Mu#G>&Z&%>uXc8L$N5Cb`Qf)KVtXCz6T3(=(!P}aBD zI{h_Px8X(MY0IrGIWQY*h-A;!r9x(8ti9VpaJ-v3)yxIFIukpZq7uX`juZ^(?7dfu z^ipt_O;8c5!5Y?=d5;wAZ4SJ78kc2q(X_}KkCxaUmr!p3s-C)b>^t*8blHi2lb#pX z`o|;2$!Bu3S;^vRDHF4s~T=F5Qs{bP!K?>>!LN8B+H>;qzRo-8GtoQACn&ux| zi;6L)RwwuiF-Ar*dKysPZ2G;5(&9$FcrZ{oAGW#bYJO-JAGvcmYjNd6c!e9GB&_6E zDr~-u%P^}ri@16ci9jSzZf5oxzP5AEBs!f*DafgnLu+1%c^(A@Vl6x((KeU6FU_f) zZWRqQSb4-e`t0?x55&P8@4atXV(n6{oT=_c*OEC^{}DE z>)~HF^4&{D_YI#{Jj_4%u)I$QTF_?F)R2CPq6?_em?`#9CbKJ+w?SYxg%%90f|LW4a zX6=qSS4pTa$nxsm393{+rVu6Zv0@yBH5?}uA$GP7>a5)Sp!l!%F3kX2)huwOrWVKW z2c_r>TCk|3cFre$jDhPus=+{cUqa6K$zgIT82E+Z>D8oS&TY=ngc$;o(yLJi4}=37 zR8SlGFa2v?>A)`5Bp$e(zqMb<$K%ZiBFKg*F+;cyZ=72Hg_fKY-?^9{FLhJo>tv); zl%Vq|GA2SYA{|vwsDi{siB}Na%Zpt3zN|%CERY;(jVqyAGV*t5pYB^!&-6HFXg^c)*2 zu)~QdT=A}j?bFJC7xJ+O?LlqGje_)oebMl%XJh4^zVV%nQe8~)nRD=w)7IQmg7#fV z*LKk5HI?CqI532ict@_vWuO+qLJHe1jp5M$rq1k9yiYbxJdV`*yoD3Ew}EPMSB)D< z!H@%x;&urL^EK;x@S2=rLaq#N+*a`N_Tpktm-cX&4XN}=1KPgDC@j2=RC_7nh>=gF zw>F>)lGT(^bv>k8Id}$T9Yzjz`ZfkMJ_{iYECD z``XF|NZi97oGMbSYbJj@iLn4SM0~*`Lb&~|-=kyWuTYYgG5TI~LEZ+(fXIs16V&G< zIZXoZ0s5cgU!JPION1=$ar;j5R~BGjmfMaK-&RnK*F#qbn{vmx857iljR1rSE{IT+ znA1D(#Hbt4vk;-?_s|_4zn`dTdHa2KPq=bzOFw3%xF7D*>mH@)7*+CZAm>0~-wYca z@Xh}ZT7057W-9hfm$gL6**9|5t9LEjdUV*pz6uA7ZqE71OuBj|rZmwAHkEBt5=ERs z<(G^c&={0;hV*gf&5lxgy!}F{N$}RbqycMafGBHM|F-fnilLyGug>Q3^R4iA)6a@b zs%Lasi(@WAi3r%H2^`IH6hsoI?pU99?Tgj+dxzl#19nQ~#x z*QGbU@OEygJ55xpC4~Gmmr~(5*ZzDE5@j8mdn$W;&PRfWNc1%m}r;S&2Z z*li$y)lODZ_C8P7npD+xD|r=o;?p*{mh;d%AmC1l5=ZxovlpU~sQFGfVmW2BY5 z=KZ`JAB?+P79J3lF(ccmiBFHE|4Ln`Xa5pr>qz1cSef-2$rpXZ8W}tZd+;oYa}G2= zKp({&6HRwCP&X#aU%pZ}f7?(!(j_UTSX-F;T$OlE_-Da-o2jg3k1SefJ$8E9%5B2K zp+Ns$R?S{y2mJ%>gP_1^Ubw~bJC{j^+P(51Pnrw$V)wwc)knbE^_XU`_SU&aM=3lXwBr3HMyN*q#=>PdX-tFH)SC$5f zT{$OG|ke<>!Jxlr``^ESqgp4-X$C4We8Sa8Y zQ+Esh2TF8$>0^?yBX^hGv=iwss_2)f)#FFe_}~@JAL5-Wu}6E%@%qzJ@L^wX-jyhs z2szo<(fItzZj1hHw3JuD*g>ENp&`@5BGVd(NTGo=IeAy-%Tik;HK)*m=dRA;>rdx) zWb;1t=n+Xh9wasSMZ5Q+AH=$ie6Z)&yoAquVpgf*(n{@pm_ztHK}`0}Fd&=l+e_No zogB1JPl!cjPjwKDnh&TOlgD-=UCP^S;htOm#7`@C%#O|!z&QPS#u&9_PU$SMUFcS_ zI!_$NR(<&7yk7SE@HZ&g6l)Gm7*rHS$ZcJmV2mQ`pEL(WVmvyIJoAp$ELui8zQHND z6Z$;E9`RFX=QV!4#-O=Ci>0(HF;`K?_`btkW2JsVLU#_6{i97hd#l3Iy3?zBO$yx- z1kxG0+*{$xd%gW#P9tUa!M@*5CY`tF=pu5n#q{9}&bA(F9${<*;9~8unFClw^+)P2 z`o>uqVh^s?gvRJ>%k~N_2zA>HF1MI)t{*N5kF_Rfz6s$qOoy;O)+5J_n1XrxLDSVg zDQWz)`eWtL=S0oG3PhMI0*)4#yl53J zC|$Ua2fZRmhcj$ha%3Fk61d!Odeqity_RSTOKlqjd`85L(}2IKhsjvKEqG^mMW0y2 z`2cEdj524gk=KAo;$GZ$OJPkv4-x(Zp2HMP0u5w!t*ls8}=UhHhegl z2YemU`OpSCf5eR~hy2Y$PG%67gMkxLhVW`5e#7ga`{lrP;puX0zd7%4B`J3!;(-5p6ScQUp(%T?f{LNS}#weKEa%EznJf{~ynD6qA z^nG^eb9vz-pQHoUxV5Q+Q26;>8`F0{-Zu|w!(feOYwBmUGi?z|9q8WnrlY(IX8mza zs_EzJIInj8Sfng+pk7PcXP^O)yFqpMW_hCnE?bG08sr-pQnuT%GZ3#yn6=;*A^O5bR|6M^?-LF zD**(x4{&nbHRoC8)pi^I7Y0>oCJPSjttgr?gjcR*AaQ z9y9ZskI%&k=gC(wPgJo%?amA4m|{uN_G&IXd(E(U=UMYVQezvZ0AgQZ)kC3PQ2(L=0V9>3TIH)MMdh75h!^E!HzH~+h z+W=Sv5%%b3G}`>EU;RXBLMNxmB^ki~;+uoG2yu>$&MkFsdjG_pu;7Eset-Y$1$@H% zV8T{jL5?|oriM!_r>cSM$1+bP%8PXz3pBGA|fDH|K*vdg`^ zxLY9R{cqqP2)7nk^%}A6A7?l5Pc1$w@u1DHOT6$i%hx%%jG2Dym|tsX2O93sgn+X3 zaT3`?8bS1kl-{;qs+vu!kuM%MR2))#=uCetv&nuoc;%%mHb-Tvq<=mp*5hJrQlS?R zWZ~}bRitM~jIok+(mY!Ut{`fp$)q&N= zMB-O4ZDgiqc&}E3la~O7$?zH8WK*l^OoFSsEPFs~vTB~Nynbrae+f~AO4Z3bbI^Y$g%Fy0xbEmGd1`rw z*Xli#m+Lz<+u;YZa470LjFBH1QtB0kSvA3cnuvwGnzXD99v8P;RlfBAZvl~lDe=f= z2<%K@n0!=_*Hh6lpEVl6JNTNAYSXwqC%9uKvH3-SFYwh578OF^n30*+<(Na z#wLu6?GN9+OANyt?^|O-yqc%fJafFUfTsF}wypKIA-n7T#PiK&?K!_&xQ6A6mjZ8{ zHD(8DW~ z$O;;r7zSiNVEx6<5?HgM+A(ssW;Zz*pLE%8_X~4=ywKTuN0asgb9bq(EzR(1YvAy? zEth3im1jr-^g1xuubogREb6d5+W)X{3aekAY_Sy^^p-vjU|3KrD4os8H|LN%j_^pQ zy>G+d-@|kAOsNyhA{^9l#?YOC{&c=O4^r5k+|(oH>{IwzHB|yT-1?|A73u+Qo6=0P zBYmGhV2c3N{ca2IIZT6R&yO_^MG3R<+Z^J2!evhU@o)GpqzM4nEA3F%ibS)DS?AcLJv&q=HSxGNn(|Ma?Z!9EReXuApNsZ&_1mYASMP-j?l-h zn@&B-Jc;BVGaF9-PK&t))x9pm&H3$1gco?675{t=J{Z*-5UfCHJsg+oGpL^1>{iW@ zSv)x%!=($zC)e2Wq5ovmdz(Gg7zKB+u=Qfn9Yp$DS1O3T$6MmjH5Yi&cHl z^d?RX*bW8;A5L7`3W;|*hkPE_!=Ea=uBJ}#ZB$%}{q1LdQh51CjpR+4a`+#CG-p() z?!IFbnkgOn*p2y`o=zF)uUa~#+-oipqb6e$sxmVsVFTf@;LT`6{ z-2C~^+Fcm0pdshDq$*V$wARjg@E7f^p@x%g!oi0~4x zDMp}GIQj|(pLM_4*i!Xg007=;Hyq1NXm6@F2x&oe?==`(rx9|{4`lH$HDYpDuWGH( zvQ(>_(;Br46kd{?M_uPMZ5Df18+l~m{R>aVc!h;abA9hQ2|?Ju9bO2sOLtpl_j=x+ zVGH;t*;bO|=bYvu#wK#8vF>6)Fv%va1qU853utaP`PjLEYe+KS-IH1`ATn*gR*puS zqrW!wQ-CK7u!(MXtRI}Jrye1@zrE;O7OC6`TZvdZaYp!lPjMO=ye96`vvg!^3|6J| zs#CWX8RB1`G|wPN)tHn}?+)u%$tNTV0&73$k$n@&YKZF_XhWWS)ij4YEobE{np;KwYYyPuq6Q5mL9n|{%ZaA zUT&eYK-xUhV|@@LA%-0 zd`S;)u|Zz^r$~TJpo@4z`RBV(nC-3rS@+j+~mje2q{N!h)%=H%E zdj550I-sigqK;KE>r!HYw;&Me*+8B!GI4HTpj}TjJ|Uacr&iNsAa|KV7X`t>WzGlJ z^`O1V*&psal3_mcSdleSGc=S#$H!Q9lj-KlYUDEvAWKPlVOIf%R#Jre|3FRll)Vlw z4}^1PiDZk!kPd+bW#iY`wb8$UIZge*|Db`5uu5%u(J1Ph2fq(NU^O25q|I*uk6L8I zdP`;Iyu$SFy^<2j1mf5Iz0C@)!-(cwob3F4$i;poAO}aY9Z|i6-oJLu_Bdgf_uYtA zhSUTU^oG)DbI3QmmyyK?we-M@L_DQ9x`^R{bNgEw+O<}Gb)25@QnzR7Zun581+OrD zhFbe(Iks0oQp@^Pzin<>9jnK$0j<-SEYOu8NM@9!r}qK6>71+iKCB z{ieRLsHLc3nG4PF#CaNiWUv{q)3zqM`UA0vim-#1kKk;PPyYG6n#ruxkLwfuvRoMf z6<1oTv-+WE6XHpLvCimobb>mbAk#;V()@p!)T6MBe9C&Wy9RItsqC1}kE7S##L1B^ ze&r1ERO^Mb%V+ z`q7x|4{Ho?1}#EYzrFixwa8^DO~U`2jwZ9xtREiRp-?w#+pruR+m!iAe0%wh(sm&- zN=GNuv8wH>q5a(-hj0u9L8Rw9vG0NI7RARD1(MF`!_?dU2Rb!ty7_@mT)M7wF+3`{ zhf}v?;LkAE_dZXzk*fs^0A)+XRW*tIcgI_BY{r~_?LCJY)ZoKH%xfS7~cDrx~IPjl_$Ic8IX`napA@A<;Jtv*cuH=@=DfL1q5YDCw zw|fepTbW||Xa5aDEozF0pw+-nk~j72#&atL|KH>8q~HzN=5M&r$X_$Zv3s0iV%(k{ zMiVZRrI}uPG8Ikx3`xd*hD3%tEG1}g4F2hN#rDtc*VtJ|A- zqGV}a*B!p$%DaEvDNi@AK-D)U;#7Vz!rl8(cnyF}syNnA2s;1zWq+fX@6_lSi#1+R z$Whm!w>IBf+6|&G3ri}BZ80^9>&pnQ8arQ)wjg0YQgaoE1`^TBfGR#-3&+hG+uQ<+ zk_eC(-~4cbdQtUy?W+E{$PI~w*RGfbWkfJ%>oW!^;P!qoUUDnl-FoacfE9a^%IY?a@(xAn1a0Fe< z;g|WxmHMNCM_Js@3lg(xl~2zAv!<%>eCr?QfCn#hZG87G>G480{r38a$*9)w-vRL9M^SnAC2v$N_+t1L&&b9` zF{wvQ1g-<8LBK!X6$H!~fVOHHogtB;$#xz7_FRoqQWymFc_ma(zgNpb^?UaDwdxlJ zE7w(#H)Q}icq|Iq%M88`I1~}7mxqrt9U9U-}@#Rrq2Gm>J@C zs;1+euEX-a*lYDo(4`<}X4Kn2B{k~Nm;ROwG@Uayu9$4Hd2%#ECu6Lh%;YIMjmx%F z$^~!gM(W60@L!_*;M792VUlF~shW_mJvrZJ*=>gm^r_oXY`meZ271IWg6si7C$wry z$F^#Sk=kP2XFoJsTUoLgZ%8u1w)96w^xOaa=Ta{ zoS8eB`QlgP=8a`Y_}sV2T3a=>0NNI*4IL4rTy%vD5I`pON2#So>Ka`5xefE`-m9%V z);Ej>ig}~;CYe%G3PTsYNWVfY-XUHJ*jw#ZX0kMpzRtPx@MfIc8p*y+TzhZ%F{$I0 zWaq|oZE&1R1c_K{Nb&yd?J-Z@3Q7wE^!o5Ri?9=}E!4s}4 zZn)?$ny&4vU!97C_~z@+rxWn^M*RVSl3k2yrf2kl#{Ws)RSHFLL4OS zii}Z{kmBgmRMaQnvbVf5a#f1>b)T|Fil_*p+E~xGcL3p$Y^rqAlD-GTR|4tz2RzRo z!mriC3YUQ%lCnmxk9rTF(GBpt{%3V_ z@x;dQ87m(29El6{T**P3WUi4X^W>XDG~gQ|OOJCG$z8-QJSw+_(}#{ys`L(<$1(&r z7tBqx+wzV~1sed2ZV)M={F71C3$y26t3^X{n3A|OWP9!_n$Rw6&SXe_3$GGQf;Vc& z*zBmWEsF=yM0b3&zTS4@t+;0|Wx6q6c0zKyFE-SH&LmPjCQ&NR=8wm!A(7;@VYwAF zbIKVfR12$e{P?r?X=&$PUl;*AeEQTVW?llzZtufred9w6`ftbC?fS}T{rW(%UH-%d zm5kpV+0P%OVs7spHYLWuxiP{Jr%Qs+#nAnG8R*_VUSS$i_Z(P+!vM+ZI3g63b4ioZ z9O_SQwrwVg6I|LVixegp{3ph^z=*L2bQAgeX%DZ$4RrLB=2I+=q86**Aj0+F#fyP@ zFY8S$3!u<>k%n;ND1DTVW+OuSpv9lRk z+jmVvPNR8G?(BsY0FINocjyTaX_Q;`dedh@A{f^8CacYDL?Fre^-xv)tXK=^3u&$YBz3{P`yF2y=nLMR0f`l;j_?h7TkE3%BWa|I_ z_*}A-DCL%GQOYfsu(_rSxiqC*a+^YOo%?c~%ZF}r59KnITe;1B7)Elxg&1ZoZSLlN zY1sOm?{EM4@7T_HpZELqd_Et~+pumxFg{Vbk?U^5AX*BHE&{^<>@u7wghB25iGl3% zHZ3=R?KiS}Ak4ROb?L#Jwr)DB#Z+Fbg_N(b_>WhTI4_O$dBzLn87z}Lg6c%(d7VD3 zGcyJpH8w+6d$nqjA}8kKHT)SY2kd?kN>he&#`iLrI&WVL+h!{yxCs`6lP<)6xnZqz{hNGTVnPuq}`y z<0y-!A3!V~j#{jKyIwz1e(FubwW~>R#wFj<9EAoeLJpX}E~^be8EATB{)m@cu)2Gi0!Rx8}=^ z@|qiEIN+QBOn6liU*D~J0iU@Y7xl*4L4&P(IR%JjF5nZ^nl7_ii|PO@L9%Zj_sNz4 zp8+*Y+nMBB5`$yHjbEGRXBLNQhiP7R)Q42$)}7CvlkSF55ySM7LBj6t*1iAddkvqP=-0LuIX!cXp^-^6^fZqFc zY`+E@vMY1eP8aZp>UJ-9fTd5IQi_paxVcPfNGu;jPU0qxn zi-N6!D@|K*ZAloFRO`3uYSWB>$qo435wcoJgKHJsnKLYvfim5Kh9sO^<}ZWRKdh4q zs*{b&O(p&2kd99IZ^dYIwV3E4c?5JSWO;wymHwqJB?cn5O1NJi9aZ1nA<*UdYsb_l zRM)=iR{ei7#C%y_*Za0ZDfwn&!!ku>HWMk~NI-0smMQ!O*7nv@=f8f{=~^%0RMDED z^U+VSU?lVMZ8Qbs2y=@!#Emk;rVlDz_kz18H4Lg=Z~p@sACkh;h*npJcl9S7t0up( z7IpMVQoOi1TjpPDM@XPIUmS78;hbz>N@99bbrK3nJ6xhOHwxx{pL&$~KyJqL$8<2s zea5EAjN2-}7z-RWibiR#edb8ez>f|`T2AX$;~=P+#yPa3!(2mnX1LAmiQ8S7-Sjv1 zY%Ynp?5S<%s-rIWweaQ18ZCErBW9+D7`?_3D-}xaYk@YQFpIL?t(ME0Rrueaj^e`z@b9t zD#LG#e2*)F^1MXg`4%0k5WP5cAFg>?Wc`w_Z^$flpXx%e^_|an=`Ey$nTtO;uB?J- zIoyP3D_L8^xvD3^n{C{~lJPb5Wrb6Oy=BrNDv~?h>vrWtQ@-qZcVi?X(`%AY zPnP$pA;_xQ*aP^-9D42&&86dA+$T}K@yeJ`&uMO$--tZ=5FPNy_CLjC9pT4eMMf2d zaUCmLX$EFS$wp2wT2vPw3JJU+wYlmNGK2F^{s+P#!dKl_Xj}1VSKW4owVD4wtA_?Q z&w`NO6_(DuQ|{t50Gz%!mJm281fv3c`Sv zgSSU+@kTdks|Tewy#^m(h8rvmm&J=)k46^4jTlV$Cb=xcKL5Kb^K4B>zmb_y{k_*< zpU`wtHJ8gvoos#Bz0iZtQ|`^z8sk0nU2<~BgA$L*MY48xJEeRfM|nhc8q9doba0Ef zS2g4|VrQ!Vfxer6hJbAkxAO?Luc5ea@JUa|XWwkP-mHHP*RLFLAyy)b^%fKkcWe6m z%E7v$ROyMATG_U~N-P=ew0L@Nc3+kHyYo?Qp1kvP{}M4w-HT{n{1iSC%N@YC2wd*q zNKc0 zaXwW9uc33Dje+RTdgoq^uQ$Xm$){|mcA6YW3SO>DyIN4;1$5lw-FCw^UgqV8;rYcl zX;|_IQ+y+E#XnH3HpApOL^A$zUcrSZ&PkBO>^f7-FC_xXnYkY3VrGa`vk#DXW(9Nuq=)k=09{%l@W-NZ$1hV>vt`ZJRUZQV5v{jw+EdFtl)wG=p7%-6t`px zMzp!EIUZ=N8<8A7WH*jIZx9X;I<^<-65X5McK*(xI%228J9spJ* z6#6GP4||#2$}@3>wCNZk@M*1rZNB4stG|yY4$tKO2#Wo4zt4dq9?~i(Y!gVyTGTqu zJ!*93EXyzp(QY;l$=e%ob_qL=>6t!|e^OHgbg>bSiR4k+<^E&2R$LU!peJ)sBDpvc z<1Gwf$2@66M#jj}B(wHZ?;bl`}9G!5R4K z;mGlk`R`BZexA;#jZK0gh^mfiD9v(=N4=3l+MJa328!BcSvgqF41fh+tog)1dM_@N zZb*lbHwd{SVbJQ8l4N{n!LOlW>?#h^5KOo^5dLT2rUV};0(ODVg9|;I^6MJ}gwDBj z##k%Ucd(k3lpx}zk)Jkm2;c1WJX8@| z=(oJ`OBDUsTTlqZ%R<45M~ah+tWy`$V$S|CgMgeqLqQ_DM=jh&UOT*2rm&IiP#t4zdNb$RUG_9EdlbhXwSDbaKU=~Z ztYpKE!>8wI1NWShq=cSchyg=qqjHhbg;>w!0adwt?6E2XZjie&Os<}Xk+lfI;TN?- zkd^^AZ-~E~hK#@p3+(9o9hN3I_Gex5L8PW9Nl61RgTjcvY%Ln;Z74B!Ka#C}#)+Tz zN31q960LgmA>4RY_h$%=iZZ>`z9u%mVn#^ zD6BkwW6kY8jxtmDHxnS4TWt=0ts+@Gw}KDP+uDwpj5uA7quWYcN{Z#s;5{kjLyR(b zl%pZPhp;(V%Vc^j-Td;NDhTR`v5!4J~ z=NM>g6tjP-FUWB+m--wcD6tPJ;|@8b1~hD^EPN*ncGLYW>?Ws=(--}(w_D2|GSexe zYR^}6ms<~_T1U98Vj+@Iz8bzz$z((AWtyU`%U5b#t~Td!$Avv+km?XENW8HW(eEcc zpPyYjq%dqCP-*=XfV89982>;zlIEMLv4ui!OIzTXh_pOqny@9#HjOEV;WpK)|K`>e znaf=Sl3@+-5)=_P+3hsz{^h8XKDN^87ht{0n0ALRhR`;y10;FhFjywihgn9LMOlB+ z0W)%(w_d-s_%XIWF!W~nKw$V}DyLKkHLF%BWyhbo;HmN8j`?UQ&3_S5OV;>V=U9`S z;~T*466&VmDf3MD4RB^(uL!CQ>uf_i7m;hkmIzy#*SP&yO7qyqP>@qH{l2_>P!HRzpOt zR??FDudGu34bMZYG~p}2kB}N2F{E$3PpJV$Hw>@+y`{Y7%+ASyl!E18v)R~ zD%HWBeDg?6RAj84paV~De0cBQXPdZ|9PXQB<;~^$s<~$c)DH%%ZwG2BQRg(GQ-vdJ z{aNd;yhmSIFD~BQMIelC){JVd?5@T0KA48hZ0-XB0bN|pHWa*7@SZ9+X@b*nRFEE_ z+I&RPZ0CPx&71pWf8OviMdXEsY(<+ir;#3P4t(L zZNmQUT|xN&@6<%jQTc0WSwEup^t2oo_Z=0{LMV7Og2U9FQWIua9ICvjW&HtK?Zm&; zDcV%xz97xnlgteRK8Da1@Vf!4kH0;AH@0ivF;qtj$kk2c>^Pmmn+MEVX5)H-)F!k3 zPt#Mc(%s0gzzY4oRWGg_nJkf{qzMCCn!NqYmhjJXCg1O?)gw+-xN4>EM||Joua~y! z#W?9N6WO5r$4q$C%l(2kH+uPHSDEVsLhbkFVx z@_>f5JKD3sg?`{0!836T9ZKBq#or~D(yonpsz3aZeDTJ$+4U_SL1XP zo|85yKSB=`{bMZun8qVHux;!0!lhMCSjH#8Opj7#9>kskza1L>x8DgNUtKDGXNX#9 z6>W=px%|D}&i49y!P&E|zC7W%s-yaiMN+@La_9vI>wq?|Z5uE2@X=^5;140WOMltE z!k9_p;^Z}1;pFx{4bnz6=(l2m7x6BuIpDuMEhs@Pb>C23zWC@rH!e*cm^_k7Q81jk zIe_Fcl6KwQRiWW9VGBF&BHpMd}z9s?&`21Y^RPep3Px ziveNpi^4l~E)E9(6!pdc!B3a28b9**2XeKLO*QX5(-Xu7mh|5L8TMQZzUl8a8FaFKgn09pd z4zq#I6s@Ign|DS5Yf&7clsT|1p_wP>!u48Od#BOq(A&T$y&ZnGngM@UmqJ6iBR>*8 z${$xh!wWrHj=Ddfs0Xg`_aEseZT$mDWinl){WGBQ?!dgJr13ED+MTaoI~OlIzBoB4 z$d!TzIYt27VX$B;`{)MG%s-Hqb+v^F?^D6owN~#aoJrTaLEofBfs!n)F)TSfEbInh zq2wQ^9a4zotq%qeb?{B~;iBbV9g=S^or1s$ zCuoH?lY_5j;%(a=O_KiC`*7x52apb~3)PSLv4zPKhZEuHc!!^>tTlmSR>H!<-8EXc) zO!DJcxDs01eNBIulj6>`+X*>?ssH8~`Yhk@8~Ejm+KAo-IWvu}Iucrdy7<>G-X~== za%kWELFq~j{APB#e=4@GP}hx#!tOGS^WQ8C+vF%X3=V+UMO(b}{i34>ZKLa)%1jNh z?v|URR{qR_dk%4eX`0`S8cRwb&K|Vx6%F5$dp(P_O=aZ9G_1`=&m?_`!k<_F#2gsW zeq{tpCMB4rL0LcMn-qg?&z5o8M@tv2Z^X4>IMyk5wz$9FY}O;x)@90RW#iE=IVF=N$!zXfB_R8!2DKrurRmDm><}W?f*yrT96c(c zO^9$&=ZvmF#9z(%@_dmj4UTA`$7vHvx>GUgiBF#k+ejZt4yZ8tZ{f+Lec!u zNL7Q0c6N>Fy+e83tLYTH5_PkmneOW2^JFu`Y^ZA-Ub@OMd!Z;jwtj+FHPU zrJG0#+`}I&v9Ep^IocI!xqQ}nq0;$?#P+)CZw$LqXgOcD-Te>hng$YLEDpEWG5;y} zBt8(SwXjEhs3CSw4jdpyp=xOvx~qiUWkmEpfH{v7cX_PTz5ZebBCbke2Ub5_4i zem%GBk55v@j;oG>o3C|g&3pN`W~`?CckwWeVZ&}VCCrq#wb}FrVO6@YFiaRvnt{>H zOBpER;{)}D`m}+^?7vK|mUX~Gx*U_6}pKGt3oT4u=mEJ%I?ea*wM zZVJ^DrSb#4gKDUokaD{kuYW2cY>`cf4HTIOw#67suecef8)_o{x}xgU5%M;kik3|P zE)?*n5eCLA?4sfK7BoJ*qCRXxZ28`O)g@W~C@aw@k#kZu$?mp|1zbL9f4*WK)WqYU z62(b%+yt4;Hz$~O5Q%oR4~kv;ay^Bg1*Vf3VSx73X1k&w`R>((DDr2gt8~2ykfYiEJ(=Pso_+Q%j}~-N#HvXVPl`z+@4@ zbafXvf<;WK!Z7J(-;?$^B>Q^SQBe9VZ>=x?1mKo~FXKrUr<5zdoIytfNy#J{m_enu4zzv`8;A`@ zTIPz&C9?&3#J_?am|A9gdatvGux7SLs0L8Qn zAFy1-UAp6UNq^+=dqw4|O(+1MdQ#RBXo%VaT{1gq*QaQ?{#_FlQ_jJC%fo3;q`o=T*rPR| zm4w~~Q3`Fnw0YQcqQ2k6;9W_cy4dX9%G2sQfXODfEJL``q}hI!&I0TI%vLVi77-5r z=r_2P#Vvbgk0Y_NqaVFF&Q6>3e&V!Ppw~)at7tQGMWTx4@ki@3h2OOZzIrQ6hM}i*O_k$_}}I1l52HcE#%ad9(4@;W=njvn*2@!#Tyasz?YwjQ%MC?1d?}R zz(LxBw`@pM?Hmq&_w=Sid}t#!Bxq&&J6jXrfhiR~R>zP7Ui5#ty)MDUCJs*g>?pFx zm2I$j{pjc1JXf;ki%XT~>Ze-P?a2CmJCH>!_2T)rh(dpcSEjY+w$Wr$0A38R(&QYU z3Er=I>2B1+sqIt8?$Bfj5jWXejDc~o`JXv8}D~L3TWfGq_+eI2Hc8?nIb{jKZ-6=>sP+I>FWPs4tc#0p0I}f@5mUzaY z;Wg_r^wFmiNNVxavg8dj{5}cb%ZQ(a=n|F|vUIrnD=o zW0RL(j0>*0=murFQjc55xn|cvvFzK5D#Q!FD;N{p_vs)AI#>nI~PF_cDq}Z=?yC8ZJA>` zA@$#*$jDYpwpyj62p`il!|BPHULq_bkCtD(nxCCEi1>Sh$&-V+mUdpcr@~434V~@t z`(UkmPdv0NH5LTLM>8C8^kNp8UPvAQ{ zWSi!U>e^VVVUw=5zOJLvZqOG9beSlrQ=0vgs~g{o1}&Y+4W0gYI(qPVPXzE|&F)3x z;OWNNk0+LkSFxY${>Od56<`a>d)+G1EUb1?lF9>JY%vh_MVdre$qdX1#Y>JE^n(+^HUeK5WuzQdps`4JdgI5z?xjA%yVFGI_Js~f@$>QT3uZ( zbq+~%VhIo9=0?uP121CE6c#b+S=i6b_@AYa8%U0Dto0@TaZd4?jW4m>P#2U_Sy754 z=6nd8wa*ySQeyH=jaxDF5UIY}XXE|ixo_8slE#cJu`>k#kLsL1Aff7-WA{QHUHtDT z{OL)$@th(1xov8&LyVVCT%%)CcPT4^3n?SsgnPxl&VGb0)HZ~FXpD#bee1Q_luI(b)%< z96>6LO5vDb`#d2o8r0@ z!38peu%Y+3Agyh@92Z92<&lUTMsOG-hP-zih|0kIIh@E z-%77Mq5o^${?vV?M88CsfVM7q5p?z>6e`GzG(KDffc&pLhfzd>gNZWQUR@kwyO#J| zsahEap+`U^lOl2DbZ-MtdR6y=H)kl7zs;edW1-U?1nuDQc7>M%p6MMzz@&B2kBV7O zvxr2tDE(jK+6P?xqTJqW4(Bow{5pGzC0d=^z|N!y&Fx!k>`s0iif+~KhseyPeVW4_ zvw>-eW8la7t)7Y;7wSSM)j@_5jw9gL+AQR(v!_qR<(@2w6kv(B6cM>PTv(tq0Bo$l zn$5d5sV@%z4`S$8uIU35_OGZoy};@P_uXU>Z!69D+UVcOepv!ku{xm@6|mR~)R<2A zK1hD&+<*bg!48IlStxv`@j)$0x-PU zSygm>d??9Ve7TIz)Pyk=HzA=MxeNPyp`*sYThwyHvkPv^uX|k-2hxr>QFn=aBX}l; z8BE9K^jTT}NWeWDnL5mGs_E)me2 za(*w;bNVKWu{`$^tzS}>t;({yQ%lsB-R138qmR@$fluCu37UK_7K=?m+aPz zz$>wmQLNa$32BheU?^+h{F+{COR)^__jO69+L<{I77WK)Ec-cPcAM71ij6B|UKu5QTSvj{({k+yHgP3rI#m^<#3 zCOskoiQahq``)iwDNwCLHEw~0rMxDh!16y(G7ZaULKz=@ue!ccy~+p&kkoeyte$_g zuC9=(?3jq7o_J?i@v$;X%op6J5d{P3s@;n%AF-P3S(KWgyBxe056$^`9*?vy3UPQz z3s^a@T$!24%U_!GoE(swuLP)%)!PulMN&sY)0obq3KsbRj;Z6Rvp(g)=>7C^2ovxPCVA_eZWPRe`c$6uR~c_Wbq22&}6T8qu~YpzE@mUGKaUaakzn2$Sxnk zKP^Z8CTV?nXQW6Q1)NWGF#3+Jzse_jkWN_@-PD~d|7DD3gpWmDlAZn|b7&X2)8mHZ z6lE$oK2Rb8c!ec{R75!PN;_?vB5_{3-$Gx>Rc#P@>%nhF- z1EkopwvytTo5EJ=N!A|B5c)K^$@BMnfB4u;0@XZS=|7KVh5%QksU59w(2O9yx;tp z+p66zKstrCn;yK8te1vTavxiZs{jFip%a#g7m_-mLg091NNY=nsxNY6aOZtfT7$gx z3gfwg6>xVD_v*$k8ACdjtys`OgF6(7WDQ4%#{p#d_v2=YNSEZpqb&ZG6{Of_z83A* zGN%10Mzo{e!ljbh$uXpjCLaF6w-k6cFvZAZ>7FtcNH1a%BBD45Ce>43g1FF%HqBtJ z5tf4-D7o6f3q|UCM+ps#z&n zB|=@CRv-C)nG3a=l0jdVDH zZF4#JkS6TgTXDgY(-mv&>kN3>4K_F49D7ts9 z;aV$P{iXNM2&9;$7E&TBUfBkNFHBRahMT5k>Wo=bH z+?in3)ERzDB66@^5@hi*!D9w5sC8lX^(3dL236K!Pf7s-C22J%AOY3{Ty>f(u8du}R|xIu>^*2hni;O=LQnM%o~X!jnj>h;UGR&@eJLm{ex3e=EwY;p z`v`qC0RNs~j_NQrZM{0yUs$@HukP;32+!6I?TK?#2&6|C!KQLqc8*)lVde(y>1%C# z?gP4VG0~n5Gb&!Qd=8xKQSCnCjA1?ct$g97T@ zHz4t*$y~tou$XbP%wBV*CEwD6AKs;JemK9PSf|4v2hS)br6Dh&` znjh7IyCy_@^(EQRSu8C}wqJU;ZrJRPhVB~8Ojp^w&jg?Y{(z$=wWE$Cbg6dU@I>q> zpgG+cTqsEuy-(+HR^>{6`(a87-MJ&4DcB9pF*$PKVwtZzoeEXk$Yq3W^csv9gvjO@ z6^o7$hDSC@10cQfD~#$=TZVP9fT*2hp1QF%MUcIY80Xz={;i z%JWCf-`cC^A85pV@n!ozkm_FZyNM&`DkdRsCT-uSBTsi}$4mM8YAqH0iZEPChXn2`S<@o@?{vzJ3FsxWKGv$r%II# z(04_Er!~oYzAfOrTjcm~&a~$z&!=0OR#BXiZhlLPNp-aDsjc!85vP;^ZXTD~4#4d1 zl%QxOjb*D|9oZQfU1{=~+;FLyqX?F~9p5xLZc?Nff`Gw3+(XL+rCMH4S4Qbv$$xCOJ! z+B10B{7DR{gWOxEDD15gUniUMxoZU$V*QbV`VcEy(|k)n!UY2kkX_9tZ@Ohe)JTBx zfV0Omtj~v7X;)(zC_7YsbK>v!#r*zkALNSBslfLclGFTZaYJ$T#AS41_B!k-(_;@R zt{#ezd?^V4WTg%XFG_;~j}C$ZM&WkZM_>7#HtCk-ED%KH43I&xU4|(6Sef~nMlnlUQ z?~brw7_A~y^wso%CNAba?3Vxpj1%1qeqN?uf+yX$?$~=gj%eoQR_Owl1^XpJGF9_y zh#P^;Il&edm7cPtZtDj?sVa7cxFIZBQewnL&;LaW&b(vktFvX|^9f8si98sAABTR-@=GO_@SfB`*eNZ?uQ{ol!JgVp6u zQj5}P7omZ@xvIDx!}*9PA&*#<{nMh z#(C&sQsq3e7M0&5?w2rH^L|Fqp7RFc;@vqj?THty@K8sPKij3)TbFCKZhUT9`*!eH zr*E#-;rj9vu%+zs%gXuo{o~_8foraRmz|euj&?U37q8E{JYsImFgXZ|JA^NVv$`xK zt;C*7NqH@oZ?h>OZ1<(kqWB>~W?{kxYH4RbPfEN6$uvEjJs)8xnywX+V$Uyov)H^k zr*{yy67n&$EL$7Chohs~y!@?AV=q^s7tA}R_};LZf=}0pee?p&Mu9gaY+ll@ghxXnTm7&0BrU!++GlHPs4o`PUI|#-xp!! zZvedgb1!v7w_JXbN+@b+3W7 zBBTU6GUs^H=Y%7KQpDHn*1OBcFsEx?IJlZ!D^_@!Gd_4z+t}f zM{Y$Ehn*=t4%pdo$tz!0`$_=|U8ndx>pj4N&pLF;TGaTUcBid$qix{1BUjrHDgokF zx`;3nxG6U+(|bLOds|9Kx3$pYrz1e!kO8oGh^XdSXuFSfYy+RoqJ(2g$4LnnIc}dA z*lS5CCrgov(1EQ7gp6g>=*?;}U79E&Z3vX2x1myujWyxTb%r8%CI1(X@e*ExeVnrq z_su2Qq(yi>Ma*vml&d!;XKicM_!|350Vpb63(5wIm0u6SbfrJ6dwuL^W$jOZ{s)Vh zF+d=&_F5~m7;{0$RXi6On6@oGADty0-c0tJE)Nh5Rz6Bo(;Zt`6*Bt^YV-e{x6HnVb+pYtxaAf6dVLjsF&s=YcKF zSlppK**K%@J9kHm+57ET38?K>H2Tn|(?Kcg#-&1cWj8j@R;9ios~GW1t&;N)=qz$j z#+w7Wyl;!4rcO^|5!%8d>owH1`VZL6B?1Qg;M`fCke49nc=kd{E18*5fPDe`?60 zh9%PjBLsdsar^z6&B{7V9ejH%KBxKg(l7t{F$LC=+uH%>NNP4hpty~0pB4%`l}fb4 zArBm;O9NNKX2QY%9VT;OVP7K@K9+-dojti^f3@)}*``zVyP2q$GAOPp@#pzgK`^^N z+%XF-a%?i%c(=2^zP}-&+np`Q=S1tXh(-(>H!}-O`I>E%JSw%%EUC5LZf=;cD-3mk z$r_-5l%9K4U+7cH>6k74&#KVhZkJuuC40H>@5{D7E7Bp7BVwKLk2|gH+DEClA>FKD z@lTE?lvzNP6kYO}?ZsNn=#8OLu&^5Kzy@^}*K{OZIrP{3Tfb&L5DOZ{c(QrOXIhu3I#Wa zNkIxx3Q2jnqGDV2S_3vVg0l(M)CoLveWhuwaKmc!ga7ml@t8+GkQ|<}B3>=E_npZL2&l(+UFNJ(+1V}%vh*2uhAy)H(Lc_~>nUL7e{!dk_9`k4U?XkC!} z#$KpJ-3fy!SrF0}a#jbzn8+%lc8Ins(1pru{=*n0K2_t7$Z!cI|k2MSx%)`2YN+jZ8 zgHHK~j*9EF_%E8j-5DoSS>GmVaw6_L2zlS{7YIbf=o<>z9_Ne4zfduh*q-*Ri@zsw zjSWF&lNL7kGU8njgPtx|w z>)(E0e6k9PsSJN^IOW~80GYE9eY+F5#ab_XUIs+D6c0t%=bOJ-GxWN(ntw5H-q><` zY@cCH-gPaWlu=v!kc9(g2JWG_nnAsxP*1;EvfH3#MaKOa+3Wv}tra?02t6!}j?im; z=&i>l5g*#JvSS#d(D_n|=8!k1zn--#+*B3sTTuKb{(V04f%KvAx{+zR)x415Q|T}Q zwwq24a9QDrRHz=DWSiT|d4t{6E1c@uzP+F*>g1&PG+OLuGPEtUG+6`N!4zZ^G#byL z*q1QEznl~F-4?Qt^=Ee_o0pt93ANNHi&oXhew>P(MxW~D!)irlYX~=%VR&0}xr<9+K zE9=P#6N~bw%EkHTdSaQ1&C&5bk00|`&y%3?3fij)deQMFCqip4|WRhjMeYnn_T{`XSqAcvVI3JUa3}sO%4| zzxzSS0>m$Yc^xGX%@`S9s1tqB@c?WYqJ8(S!lg+o0}Vp~N$)n+JB}|~K?!6WWhn&G zG+F}~+via+8w`@o^!)68%Ek^bRA$zM4ORTP@iv_}bEZ*mF5dz}GQ(Vdq70^|`<%&n z+(H3~P%4LCX?yG?oSn4NLYuvq*lt}o|LYtu+wx{Z@3J*L_#z&p0OY3Ljcsgb%9H)8B!p}S-vlu|Faw$IB9LABxcYbQ&a#;C~)FT}_SIb%6g ztG{37Oi#_cqL&^^$~6Qg`1bH>zP)${A@Spbd^c3u7vrrDgO-GyZV$8;e^(Na`CiuU z!RPe8qYG;$ykf0UIruCdA6$LwTEaSIx#`g6xYQYlOAe^L7HL{!gxdiEpS5-`YGPrp z)W?TvXPA1*QHcGSZ*P|O9WF-(Ci7lMdk&4o=trm}u=lK#vxj!|ZF za@4}OXHNbubQWCYYkof$NZ#EbO}}69mwA|Ocif~2C=*hz24hgpC|b>pV5zedR(G$H z!hZO2Xd9Qqwhs;NxH6`+)GQY3-gM9Z(FM0YQNuPqQRv=keEoscoZQ{7G_lOkYEpRj zYS_h*we@f93W!zH)lC}VzlrdE08&N6lRB?-6bLJ48rOr<@*HA?Z^`IM&6~o419o!I zsOr7N==HML_kPbxpFV$pdo%b^2sSM_>wSw#6;U@iXOV4KQ}z~MQIzhE9T|sV{idu@ zIeWOhkWU!pzsR7^Kfku!%evC&yndBeyh=YJJ3sq_%n4CL=|T!z?bSaJMfY9!WqTgl zgTSMQm4^3i)Sgjk3I=2lhdi3~RX3ZqQuQ-)(gXj7U1QVEd#KkHeN+6k#KV!pm9k@e z+~bb4i*iXtHZKLd+Ml_~FQm=S3d)S%W_N);>ZHWWcF6ma-qXIH47w_D&8qc8f~NPa zqm~<@-~kBpzzirD$(i0L4htOBLHAGY11(?OjHR`J!HWtx!Ow;QPQU-ylNnTytX+J$ zLayf%HR@D^6|12HmqkKU_?gvk9^675DYZP}D^bX!Fu2F{*!g&T%h^njBsI_(} z`@8Da?KQn;yTZHTBwFZ}LLhbfp8;BaKm5>STJCW*kn)^dpHbQlNWjh}19+^#oHD-v z1(U>73{$>5!)Bu@jrQj$>YzwW2Y9*mN@0SNlGw*4ETBjeIzFgu)3eeP@AxR zi}-FVHtx+D5AG}7j{i6hC=x#XVT*rw#??lCY%z*|Ufh41Z;g;4a`iPo4qJ#ew5e?c@R7 z)f0E@kqfg62IfJi(Zlu7oD0vjTk3wS4+yhVWI3GweKv@)&RF9Pn=y-?yQ>x#G`AXt zGLKbzBuhU2ehNx|`Xdk;FiWL%yjq~#+&dnr3=Rci1H0>{lGcRP!(&}t&CSuccE*nh z(frJ!u5mC|?!prI7Pr1e~nqG`q0tOn?T#37}yO+Hap!KGaaFG$8qr0TF@Gk5QJ_A#JL#v!YlA1gi z190yY$3kytJBnl0ar1H^%;taPn08uCt2Y5kSRm~X1rKbeJ=T+n`4PDz;t4ySwkWbF ztd88EeWY!eP0v<(rCovCn|?B@W?48N-?*u-cVWI~Hyjm3Y%Y}^oiw$4(PObdALmdYdDN-_}JWK&((} z8|Fk#BZXt_f?rO553G7{^MAui1Tzc{{Vqj(NPDV7&AFB!6?)#9!rxb_0+I6)e zpRPd|MDxAlH|kd61%#bzSw+#T%83^HiBrG^%GVDw-eF*}kots70#Xdv)p3yk6cMp~ zyf;-`u;NjaG{ERtzLnQ0{22CG>r zj}WGTk*E5|3;Y*S2!M?MR+ZV~{?rdaPSA;@C|mJ6$<#fe-EO)8MAhhYYPv8^e=Rch z*M+QYT{8`;i)6FO%_C2S_A!&jaL=@90-!zgDg5PBdi>um_Ux8tfbk9O{YqR5-ZP{C1lR5r! z|7EMWu)c9*#I4RFh==$?jjU)Lb&eC9h!37E(%Lo!+%R>YK^V)5A6ORgKLq6g{ddy1 zi>uwwf1s0eq=>rsG&NQfcG_n$TNTge91|&g@-V7|r9~?`RSV@OD9Bo>3ZOjg2&|sO zk;7xpzkvp;$BFuVbQZeD?E0CkeX%;R!Ud5uhaW&xDxq)5*lR#Q;`M+^mbcBOw60GT zJ;P9HIx~|6{jj&-~~ zWhqs>D~(YMTJJH?QW_*f`6w&t%VA*wHZuk9mU47g^P5+(#?nKR{BYG+yLexgGg*l$ zbuL)>I>#z8p95zH^XBJ*E{Svif<1VI$2t7J!;Z=5#KGnp@(&-`MwZ_xi!98Dix!NPzOURqgS8s|N)G7X>$fr|cufr^x@^yOV z$i24L3ukG)a+tEnKv|RNWIC7PjpLeo1Nz&XZE8ToHMF&X8n*_tU@wi{zMk-6^cLT5 zO2hWi_GGzO*i(OAJyE) z)0c~ed-IQgjsD&Nc_Wvrwfv93wHAMo?Y~;P(q~qJJdn?O2#u31vR*RpSdKcmlrYg! z<$Lr5@0YffuDWgE8S*!S*LRmg&H%;GK<(UNK}n|f)6*{BPuPDn(jWQ9vnesyUFX4v`N=*7GwY#vwe2X`@GKU^?VU55kFP3iUpp8dzpCy z({50)OZ;BmhkKL(oC%p+O0lp1HqJc6jr1p{xVl3p6<}<|ypXA_f5kO`Gf83Z(EPyX#?N6^I0kECXk(zam^7ah`dcO| zj{XHA_QYF#XJd_*B;EOMqI)Z!bBt4js-mNTNQ9$_Qv8V6%?peQQ#g5`n;g=Z+lYq` zkq?hB4I5r+cAk45=fvs2FB4hmWjnU!Tg!YGmcn$tzoDy*nrfPKV#jMWfFmvIf zQ;lmi<|*OPxqd*Sxw1~kO<_dfj@LkUhNs7S z`515AOlO$1FXqMD=(wpY(co4Ty&v&-7{e)pwA(BzKPK^12tv={9-41q$lHsV5`o1I zPFz9FAE4MMFM{EGt?azyr$mWx4z4r_4IRF)M*xArJZqLiVk3q;ety&l(E+r}xi~|( zE|qf#X??%w{%mLSu%wu6W$dN8NMtLs6)+82%jiXA4;o4PIt9AUtu+Hv(SP~yeiP{Gru=f>~tj2xzPFkOW zLjPo8mocI|ILA&~MMq5OL_}Wnz^4b?oxvi0P0J>y@>~a%k4L>f&JTOQ16E^TR-=FC1o z(ynEwZ!LfBs-RzL2cL=h4i7YoyLai7LpX*R%jin6(jDX7 z)Acfs;8yc2%>axbw{kFn9$TRe7nlcHTA0>6LOn6_ZLDSbonvMr3U_PBP)PB)M5%WQ=_)bQr26l(nz(g{K<1^)0fh-0D4wlK z)<3w6vH>FCO$TWE+tmv~Q8J+)%N{`@a}@PV$7$M%d$C`NMgo!i+{(2_V>xAcU=mQd zVK)xqt1p`&;TVcN<|j@HSRdL~2vunvDM}Zot0RslW=8CSL~BI2br)1cgL;f=a#u#1 zyU#mCsS6s4V>5Yzn#t>Y8wF{lsa`A$rSvOxZlw;e|6JQ(57-LC=vm%Yxqd{cCOeM_ zaTfR4@!1Ii%cLH!X3%BMJ=|0QF}YH-UrKL;>2`q6sr=Q$2XTj}IROhiW>*_KwOSDS zk*(TkTgWFi^ZcscFBiy}<)~v~mB@eEJ!Oti(EFno}Zz8J#c7;VmUruKj!R@A6#IT(E*rbEDx>v z#Gg0sHPmyX+Fp!V&5*o#>2AN0N!)!Qf9$*t@Q8+L;>d5q&OKWpwYebB6vQVrOYp*n z2aJ0M8T7`(#KB6O6Ulw?z^kwm&T61=4G+_yfknp*x?H3qYTbEB zx*D}jogjc{Jx-QLs4bK;KLkumGdCMX0kG!oF?Uo*CLekyO<$;X0(4=2>pg| z0JN*qDc2*(+OPMVpH(ENuY$6^Ykk)|K zAC)e>ix@jI?3bKqBJJ=XT{+mN!WWH{EY(?3_G{Pjn(e}as_&^bRNBb#Ee8O%9CoGET|bYU@(nur=yXd`p@jIMn^+8V zGlrqD%cCv(zV{ET^A-)i4!R~oqKt&UFYHGCJD$t2`ohPiSs|~qSiAKf_x&qvscYl@%K>4CP2=>{E6l@E zgGh}I`>L}$$=pfBEkA-BPV?O7G^(btqx^!z&MTaZDG{Lg#nXBiCF z>XLon^Z?J;8@7nKay7>+LQm1?S~HYd1e&FQZ;WSJd0aXcUs@w&AQChZoy5B}?Gx9x zhWGmWc^Aqj8p+-G{XXjFPoRO1q1TQ;>48XX zM_n7E6}YPZWSv@!YKx@s)b5!gYUl1glTI6{y|;Wd(AleJV?9g3zGp8-Kpb8L@V(@; zr*OoARZPgVb=^Y>YxU4_%g7m6%;~`o;*4AhT9C4Imnq$0OL^7GOi-){rhdci zjabUuGQ$H5AKpk8e{q^U@*v`>r5Y5JoeN;s>Or9B*HpECo6TO-IJBqc9OI0mX^M`J zorbV2_&@-IH(vGi4GLWy0$v3|LI-C|8iwOv z=2t0mBs?4@=_YL@v8wO|JUfwVW|oq&y4Puh$r&A&yEq))CBRzsT4aB7t&T+!URuRl z`5Xho%pQA($a6YIH`_s`d_E5FZfl&6=MIuwkLixOH^u%)_chgwCw!H-b~T@#R<-Er z)lgMh)Ih+wodE8|_E6Q^d+$@80#Ww-JXdN;4}t5{iBm?-IeC7+_~^d!!Z=x{T(9vX zB6=Xuk$cGr+=C{=8j&rtH<9K!uf{bNCyl~Y5w-!SRCH9~3B-Z>UWxWe^%*<&Vqw7_ zZ)f>9VCIt|K}|@d_!@AB9rXi)%=Z8$Yz=(h`8i$iUy$ly?Aep?!G+L(L7?X7K(%pU zqmE!#aPJga>cC!M_m=IJC&}ZVxV4f7LvnhJqpqEQZ}5r5K?AbduXOL`xX4F*>~A_# z6?~^mcw`^&k4RJ?O5KenhJQm(p+C=ll<@Mhmke2QK;f;_LFKdF&tJ=Iw0>5pU5o7nEQNNd2bQO^nKu< z_bms%M3cMe*SiWRGVsB}z}4KGe>a8V9>|82CCce&ey0M=IawaDCRnqYla(D!YI}(X z#IB`waBbaso@Joa-u)1)B})jKFVQ}xa^U);b{{Z8!wY`SNUXcqcuI-tlzWa^ftMy# z?L=us&9pe5KkDr-85L!lPu#LU=x|NQ%xg`%sAg#n%9K&a(jQ<$lEqHo^5Kx)o z^?runBS}yAwBen_f8pb-NO8piQhpoI23qqQb>q=w3gGo zeWHW*df~;zQ(Ejelx)@^0$&}01((8Z`>-iNUQl!>K`ZeKaKwuu|h^{k_EBS&$~aGKl+1rEN<>xM)474Uh_C_6E(5GQd1$#yRe&G8O$Ew zxMV`W=Ndhper9S@?gbneA`k4AHLv51V>AptCI9oxj}dcn1MigF&Ld{Vd&n$?Emgt- z(;x4=ko)cucixW1Q!AkrOuF70G|;BLZ8d57L#{s6sID^Q-n{k`aKPQCKxDWX6Z@za zd;bDF+y{JDq=SpynmnL&j0UEr##L+n2eR8umHtd3DlXjNuLZfe({O6gU9{uH8G6yf zaUA6{^5ACGP6fk$Qo+-eS4)f;g2|ZgYh3&xc8Zk2fvt6q24Lf~)*V@!ZVr)<`HSGt?rFSjp_BVSz+x^`Q;U5Pd)$jNpy8tDJy?MFXG#y4bdH;sH_}ut|89L7IouBN zHW4tnzTihXq1^lQ6IH>|tS1IhPs2{bB+t_!4E_6jdjXQ4>3;}R2MWGNGPUv5{wPUK z!7A;qU^Bn-;qV+jx&`e!za96F(u;=;cdj$4V7xKTN| zuCdiX!7OgoV}LivJti`1QoC5SLeUC`6yv3@7b=hPkouCh=Er4 z`%dyP3eqIJ+g7TWy?OOobe%0K*0aKQhov>{P7H-;`P;qDw~4p6on2&1 zOlrjw;-CD{lV!w>XjtgFnWrc#3fvA}&Y{2VD}N;}+5wo7ag=-Ccf~A*W|ZwDQ4f`bxq7-Ct2yj^74^e! z<9mi0qFXL%+Mt_5zRDPdK@AMS8d=Fn_1H|ccHHfgD81}&8Ms1tTH4mQyIa_WG_z9R z!71wA#Z2)I%1sDoS8w}@>suT(`lNNNb17Go-8y&DAA9QXnsLGWvIoLD{m1u`%jNM| zTjT9uBrj|>=Us`@Nvpesht$Oi3Ub>rRcX5-4M;2HOi~;$?GDPj0s9)%H^IN3O^9za zCmP^0O(T!T)2Uwp7C1oJaKLK@uV=Jr3sy;DtqIh^yZc`%sZYzi1Xnm; zl1@Mzz0{!MQ}h?uRtyglce>crHNX6yyc-#+$IEn2pKMK+yeibZm=$JNl3I9D;v62a zZEC-BZ#CC`$*of^bMo)8wcYrB)nM+2F}HB_uc{J0FaT3&s>N@*<1tvzx#rf&Dy^2Y z{gG~y))s7isqZrYN*GfXN;)UP0YwElZ*}?^&J&q#1;h)sOs|HWh8s92urHNTYX7L0 zCaMf7;xhM}tF_u70S+Oj?zsI zJAmez)~go`^0Ot~w8zd*j1xRQSD5POkCMy_hys*Z#_sm5fHh)E80Lr72``UlZQT(k zt~GPqPJB2XTh_$IuV4C1tV$)5cC@CCeR^uL><;8sKyT5PiM`Xdx&%3y8;FgMkXe+; z8fZ+X(4tolE6@YqvNiWTK*D1ic<5{c0@qhx!FfW@OuY%-T0IpMy__St5%(r{ zuJ27|gmt(j5YCsk@JpXlKm9tiQLU^z!B*~+KIF=S%?09o zhxbub@trkl4>2u!09}HZt98j7z%vWY8TPk(J=7eI^>&`}bkSVqI@2k{<(jDF>lY^) z=JuyFf7&Qfpp`$3kNhq6=MJCh_oi+^JvAl`#+l_~|Lf~0V!n^Ks{oY0S7(kd^-mSW zGAOLYLky#qo;;zcy!YkPy>y8pfEP{XNdWfd-r#S|q@I_LIisWa2O$Dq_7cON?>iU2 zpV%Hfv@ACYQz!VNhWZ$WzE?Magt85KFFPic_76V$^k*d!ziJe0i$)xWa13Yp%Dg(- zd&`;dNg4#AO^)FXHZd(`d$U-zYRum<2XaqgA5$5OG>^V5Z_a zfMvXUgm_nNc?;IT)CwNE8!YRqzSPt#Q+o$Rvi%~W$OH0ce?2Iae-#{l!FF|}5V`o? zeWehR5i)-eN+25f*DfgTQcdeKy*_;XX(;^mix7-c4X9XGU(cds$Px*5SD$u(FGZSt zS-`}zTaf5@6NDp2E8t2bXZQKRwd6=GWQ~v zvkrW$mYtDaQeHm*c618MUPgs_f7{FkII`HFLlZ6R4e#JSP+w;gSk)Y6rkeDmp7~A) zo$|`K)PAz<%hFHOi(ys7!^%^Niu&dho>cP5ciSI|<*XR_^-JGY8yYSm>g?-*7e-hk zzF+w@$@Q4hZOw_`R-OU`QX#U0Fi9AjH48g8jY1!O^1xpCqkBQ3yH|fLB?y{ho1lyq z`=_8$SaqOhxv|mFRraFCbkua17Cs zV!A4aF1|NvL;gDi;DA~P@}2Q5jF8>jhqT5|2x+Ntf-9J0ZPDb)Q`8AT(-r#bl|lo; zgr3YC$ve_DVkc-Iq&A8JD>B=)q;8%kcQ;;Kr(X~RLvKCm0&UnwlE=-yh7I1M^B;}~&QGj3AXbM~ ziNWx~mh_eBWns#p0F$!rfQ7SFcgHV04=}!MZ)L3BP_iX=wBO5dqb=B9lQtu) zgbjXhLQNBy^UZU6wMqL!%(=k>VJjP%xzrm)w_Guc$p1i?KmJyMf)fI=>|7qjxVXf+ zM+xmIA$-~*s(b{*6B*Um@BsqY;t20VELvB}zE3l6-8s97u zV-8R5BBmxU*iN{IU#lHd@Z|bvZRhzY`K9iJyWhoiiGyL-NYYd&+etPJDq#` z>O%VY9_w=?&|VtN}*mD)YKI+qKypdM& zr^ejzr^jumd;4ms_4-a(rFx0gBfay=WPJu|XTdZrJ+-Dev;G4?cvKw*dLf*UAM&_4 z7`N#4L%TbF1fSp1uXwst3~2%X0()|7Nq2(VfGZsa{)6|IIhVR)TmD)(p94JK0h>*; zbNiiOa5?M4ixsAg|1xXhU}d6&N5*pXAnZW9^D#4#gRN9UkubjN7Hj-QPRM=IEi+E= zEarTmXheeP17kE#i&(6B!Y2={A8pA$+_|J;-{m1C)N~WnrlOaVyt#u8a(At0r3+Ns z&H1X;g7w$)K>VLkz5EnC8MW2cXDOqczIdeO;mwip$Y{XMR48&iA#G;j)^5Y6PLXu% z^e68=lJ-EriI}^=WAy3c^rIXGpd?%IoS0gzg-nGvgiXxa1!TsrIfM-0B`9SfLULCG zVn4XW=ItRA_;UlIj$A#x=Xgs0Xb{Ln@IZyBCBxVk8#OXnQ)oG<(%nS4SI3y&VA_s6 z4Da(2AN^E)O1ZYHNaRR@s;F?m%t0?v#?ODz?O&Fbt<|9FJs-HjA|BaJX}r9iP*m`2 z@$*x|gWM3_C)??coM1D*ncg-oruL7RIgTSWau-@z_?Md6UT)L-sjj)!Z3V1lVu)-k zSNg*!7dOrnzs?mU>wVQLxZ-&?kI(~ote5QtGJ;qlaQUEs{qWD^@p+1RLjFg1LtKZ7 z5r2tfUt3R2@_v!GQuBU|GuFp&J=19IMNd-nz25=PiSa7NK7p#4!c&5G#M@2ZO`ATs z-sCi(C!;@L@*w~n9PHszWee?52rSX_CLIWV+iQSStC*me$Ni z9HYDH|IyJXKZ<;c<<)N!1FkqVfHijQ?Uxei#^PG%_uo-pzy1e0Z5EOMBl*}TGZvQf zS!gDc5Li9B)N5kpF$w6VNJ`PHD*Q~<$@8m+QWPtd{vxxTBYMIa;!~SZ>exH!YEx$H zN4q>Ug%=r=S4GyN3zpSgQt6vUHHJ^_Nh*M&9GxAiAg;1fTC{TTy{f6a7|ep2Zgu z;#S*U@Qik4xw~L!j|mvH8t)C2kF=};>qU4YO5H;w+~X5{OswJU!SIRtto6v>S$Noj z`9ylFE^4COQG;FEOzi+WWc#Y@JMvFn_Z{kEqfw}a{#A<69QA@+&fm#tZD32~QtFK7 z<_ves@_thcGAqj`xta7w+9T++Gs^Q`?POe02gzhfw1$QX9`BI&V3yKAEdAS&!IcXn zQ}h2NPRZR|S~)*0)~&EHUE?{Os1<_EoG0^q$mRQY)QKYDo6@CkMV}oLonZS!$`@q7 zDfU`7t4eU`FMt37oRUw>_n>f9l)pgKxHQY=qImRxCMBVH@~`89_69Ad z3tRP$3WL2E7Wn|r_fx6C06aCzSS1;ZeN0WZly~ws>z$5D)A+rf1mbe5l^fs@caHxJ zj0dK>+G~anfpWSJhxS#?nLCK2eFHkeynRC4(O(SuJG4H&ej)`n9)T>BzU5T&eM{3N zL9x9E1UYrBb|097vkBp^wpPFN1M-}WJ!?m?$~fc!zBc09>-06!<;VC?>@}bVfJdVu zp$YY;Qoe-yagmxMud9ygQQ6zHoa>R%3%OsK-PPnUxOSFt3EET|Xd(kdOf7l+!e=oH z;I?4C{4*}m;?5j?%USEgWm-Btcl*OTRkm)o3+lhn(iy8qpP>phd-_Y9c;9Uscvv@& zE6uhn$S`L8z4~dUto<6;w@&47Mih7LXjxEjp{ZE`Qog>rMV6-)<(HHkCzWSKjNH_k zz;a|w6<%0#jvEU2y;jz01tu!6%;N{f9uQP<865}Fh)dtbFkd%}b5?`Ef0X^F$<|L?+d+|EQGXUBf6N@Y&qa{W&J=7x)MhOPGi)rwQ4YICSD#yF*ZD`-UysLR1RS zj6FIzM05*z_G8amQ3uR%r4QKl8mb+u%WmlRzjFY2@ zOH^QdmNRlV?8mr}%t$NgieRWzk@y+c26)0vh4} zt&@->bSLbOE<};DTJ7O{9BNdvk}+x8TAfbZd{$Du{mZV-mUURUr-3@-uFM6U8IKuN zif&K?Int!-`9!r>UnB>+%HcUbY9{zZ7;siNOF%eDW0zB_nCwu%9Md17foxt`1`Lm! z>wqEW6XYM|PhwYYhy77j<%@GB-WIt3b+h@zCG&dh_A6*XZ*(ad0Pg!llK8uP21(M( z@WQX7l*TuKjSY{h4;wL9wtDTw>R%$Z9tfU-K?}ZEk?%0}xq$@{;p^Zg$Dj9{&gPi# zm;^!bzxhY*df?#p;gUqDs-dp=ShiRT;3LM-5N%XImzSpnYxY>_Q|6BBFsV?pn6p@n4DQ6a7z zjU(J>N0~s-)vm65@8;^TDIKTYV3y*T77h9QJ9kk`dVNQz6}8DRD}D>dmsnTZJ+C=kT)9Mha4w3T8lmX3n82-fY-Hh> zjhTlV5H{Isz#0z@G7-R9`5HJ0mS+7b-*b5)CD&oFO+QoH=+MARiw1JzU?JDI(zPxf z`yVxYpoe4V@TDB3l&qX&Wt_1AuaafU*!PaYppzPB==sIgAKdAbIj&G)!DxJ_k^ zQpeo`D%Ah3`WTCy>Mu`6Z{7~NbjDpeNYlAcD@@g=FUH;aUhyS6>BD78xZ?H77|ksn zTrS`G507iN!l)iB)M7cjw8hpMu!g{|R3-fwZT7X|6!up7o%3kD5=k3Q;vY*k^Hf&r zm_-R?#L<&%d0?JtT%zi3tH>fNhsF8gNs|wU4W1f60WACIA;z^@zgu~uRVwmOtcj1V zD4D|}+(A-G^>%rPe^wqBH{}@rj;zHyDj?21>U%7Yfy9Sk;Bs2(mFK7fbb)(DCLnD^&=NwT&wbCbMc5r@4P;QaMOJa_Y6A=m5UZ8yt?s$6MVH}hRw54 zhLEfjeTW(1HI)?>aG;5Of&gMpyCLjl6jUyqmw<d{Ug*>pRj(hR!(Z3P)I)65}dF z#^|mIssfo{C%ik9A~&}3jNR$5>ec5#!53tF*RXE&b?>Mv|RAqHZaL(SYujW z^aFP|@P1YI6S#pdb^(7r>*`gGg8PHd_LfiA@f5C*BEFM^tjYp_$NhXA-PSDSo ze+H^h12D$wOxXdvSO4}NX2Ze#c<+QWo?R)IbRvb*iOR!yGKF^v6j%+DIM%JW2i`gq zJmH%M;%(~Wa-_Sc@_vCrFOLMYdF+eD5OF#@`m7cX&ulhJ>SWzG>L?WueNYNMY{uFU4X0< zF)So*)SRojNjt6-B(&Hh0W>A>@$qN#I-FA#$*pySsm*?k{GASQD{3FN`|#IEGAD%u zHcR;0PXo&8IoR+qA*bh4{N6rsQODY0JHielsY5zHb?L-)4yt%+4sjU>Sznt_rC1zj zYcEXREcy0VQL;MFP0=c4JzVJP7*FN0t|UT)F#%xj3>`IPR$4>EtRS*GNPswQ6p0tLSt~uVpEUsT_|c zMyIAVKj9D3S|6%}_aL;V39RMKVIa>2pl2&L7oC5zPawtDmcKw{d+#M26E3fz#m(Fr z6KUFU47iad=zhNQ>chHAGrYiUyhU)kCYwfi3urR_1AS0A6b4G1hI-ZQq@|mqD6IaT zaCrQ_pP}=m6s=uH@LncrIzn4jgmrGk;Ib$hQJH+y@t)gT%ZI(*<}wNYfr6Wud^|sS zyDQ>x{gdInR9pM>_z5LTyZT&9;B7632RDbB#OKN()U==bq*^IL zQX=kk-){WH&W}wSo_>%owh=#KenY)9qxW00wlvq8hAeKK#bz*YlXW(7wuZ&!e@YY< z8GE4zp21Zuf=#j^k@CFvs}01_5V{I?a5w*OHr5u@Y^mEP(H>QFhK`&;=?vWpvi@bYiAVJJ-=g?7#;f zo#mQOqfL$}K;WS-9R^yD7;YjdQ8@eMR9%QNf&CL70b(9znkc-Y(`?dQ|3$-xd|cVr zz;6nQB|d_A@W0*$OF@|darc|*18A0lGOoBLR6#sD0!z|}*aZi`KYUxR(ZTxB zjc@$cv79(DlMpwdDIe1SYFu=h8mDFsZ!-(?;vz6Dpr~Z~Dx)wh{g6=L6E73}^N#%f z`>h~Qk>mzUXhoZU>)df0Ju{&|pWo~A32hudjw@gmL*@|w{{P5Yp?)bU>pV~l_7th-OyU$35L!((dAu!8%Px-a=Jm=b0HCspFmZZ7b7(bD z!K<|(b7!F2#4Pv&aBHv#zl41%`>FkEcS={-h7K^w1+FHA_!b{8UU9BenDnlpsX^jS zV^g&n?HtYB;dk8@2N#K%cnoYO2e>>LYI8v6sK^}g?&9^_gnrtqg&et6KP#{S=M_dR zzc!hHayd&LIe1;vIZuWL2$q}T$3G9Etv$EgOVHuQ`zs0qGO164}>|NE!lB5b$AML2=hwvg$_eDP18s7*hIZU z8xN1AiRPa}89*E;e5J*;obxZwfkp4#B!<6`k1fWsRR(dIS*uds{qVKfc?Wuo28Y(Z~ zZ)r#?@NxYU)EbHEf8tcH=}9@aU*$iZ@Mx!HN;yRxZI(a?0FWACxLhmS!g5!*hxP*C zu$@@`6=f9F`Brv;!)eDaMc0z#t@mg{hZN%U)m;@*S@PYnSm+qY+xjJai~L0I5x-K> zKq7p;7&_TU3|{?OE;0D`5^2*#Kw^~|_32eFr^qmj2S;uq@g9wU^&T~ngpJuDnh!PQ zm9NLZqzxo}Lvk9c!V_1hf5NQ>H9V?UmY1#^V%8>OnZ>_exFmgNygjptpwIHz#w8PA z5}ZQwzh8$YL(Xx@4^1s|W~HdOobJ_|2-2##Tx^;%uFeV|SXCI0E|zJM3jqO_;W5EV zihYk-c8rBcM-U7;X1&0|X8~{_M6_bh+2?^Wr~Elxq_P1^u~!d`0CQ%^Bg{Rju`pZ@&Cz*Yd>#J2v883}Ug-S=i7ab1_kJcPQiiE$1d#-mBhX~gxY29OY9TSi7 zB5cfRZj&`n8Qzn#)|SsUTc(g*34H}WfbY^a1E6!Qi`;j1zOe9&Si6iAY>Cx1M#`y7r zoe*NUISNzH^Q4{IV?JIcJaU{nv8%ijJyHsJmmZMsv)@gw7HN!YAK`N#;SgP4Tlqfve}aLcj7aeIfNF ze2k-UWu3yrXr8gs{A{c7IBTP{rrGh9aVqdwWRALHQ1c451_;fwQ#!J zRyjG#!|1;1KzNj}uLFZ}t^J4 z^)Fhu91HN8-Grwa{|8D%NS_oA-G6s&FM?}pPIvZ;m`d0ipX`Ebx*k~!Bu$a|_PCPYx}NoAlUUeY^K(h`&5Qrd1Qw2k zIc5W=U3J2*pOX73O9ww+sc&Q&HZvln(Mf7r>{jE7^o2*SZ>YH)U+RlF4igeu?SyTU zkwAmf48a!9h1xfM8Z3eGwZa+!_xoM#to$)5` z?5jnGG!Q3kf>rCjaQK41uNZ1oB&SA_JukM{TuCt`ux!gWC`Rrfa&o2BGw#GiR^a5% z)|&2)Jx=)_{L@i}mS%-qe%TR`O&X6aUGQ=~@&@+vznMZOYR-^BE~3F2XHO@g7FHN8 z-zLVHRAkBGp#Qm5K*-ey&8|YO7X4ZgD!a^?esaI371jik^zStZ0kwsB%*#PM%NnPC z{xD~VDd^<>PU00}a-pq6tcx_H0tP$|sGhYp%N|h5=eM3Kf1zo%J9uL&%=A79E|)!A zigKyuzhxFeOOw5xP4v&=vqa@s48Y*;U-gbtgLra2@;88{&X6%G1?l!%n}^vGl<*CA zg8TeH)e5kIo8D=_uV1Fh`(9QX)4S!UXc8hChyd@9VLUOZ4^AyTzW@3w2jlfrl3EL` zu2jJHV@?f3=`*k#R8q<<2aIlpV?8QTG{W*S+P40FjI;TplQ*IPa!2;h!doL+Bop0j z$Q0#W`yZT?_5B)ZIwJp3BwnP>@l5o5`~BmI#giB!1G!Ix22}OiRJ{cL0=DbWt)zgs z{WwX&t+ZFoDMl7VHYb^(fY++AQd%D4z8n3v?6B3(ez;;=b#|R1L|i&oEj< zl!T#iH*kSH_#u()zq%hhd4BELNm-{H{iNj%*Kppc6b>zzL}K`G>1pOt`UAd9U$``f z_$d?LAW0XoKxECi*uhz(?efN76$z_Dl`kKJ!v}l+1MNQ%Mv0%b5{SFz zD9|$=*{fW`xj6Y@Q^fX1yc=>!bLcgUJy81+DkQ#1*;ND6Apu`md3n^=n}8LGv_N&( zFeccCIoYzd7J&{x=Q?cL!?JjOU2(*mj(I|4Q13C?CrM0@8|g;&voPQJ6}Rkaq!fzI zJqrWzEBkHz+YGS^_0}wZh@7wwoG;xDS(%(Bt-t#F(kMNmluwH%y)O5b#u(S?gs%*U z!3*UU)LB*^Fo>Jqq`5w(X>>66VuHtl_pa~aOYT4204|YDCUXN5c8p15C53{;Arq5> zhs#8V*zXJ2(+t~dHba+ZjH#{wb4}K#11Pq@)O(wHK@e!hA0z+CYE4kCM#k5i=Z;Z8 zC4=^|l9ox<=WNP6u$~v=Lp-U0vvj1!|8*6tm7mvx+7#A&DN;)HdZSMG37AG5dWDMh zZI2U_IYM$TmGo?%&C|^bqO6p)qPNJOx9O15X9p>^1ga^Cimc6E9oi(=T%p_?&pfQ$ zUoPtJ49MTrFuK@V^lbBX+tCl;v@~V#iK3X-7|#qBP)_ukpa0f;3$t|i zNwBRukgT8{?5qm~EkpbN?_*(<#; z;dkeOjdD%c>s-$;TODih9w~3v`Y&iNH?BfeJnd1FRDzx&OwuKea=S$6={V59v&}x- zYPjz2(05oDZgVIiaJ}EZn0)rx>5<`4yM@4V`t#%_P>LVmG6aWGeJb6Me>_SlRV6kP z?pwu1BmVK~DnZ6oHSw+imR;}P>$WmGc!FcPhEQvgT*u+ekdQ+0uFi7@pRYQe5dTwpy zTWr_ER(Y{yeL}uf*skDufK%twBR#Wy)EYa_I={JU?`tz*i1J^!fr25 zF2wZ_f6$*o|9zWDIjek}mq{rrAk0!ud$DluU_34HO6{6)LdMeo4kUu4To@=FBpyHM zpP+q2nfosKcgxV!*|bX;G4{QAUxb<^V47I0np$fdyY@4zvl>^@Xlrwz6{axJDcIZ& z2$Two%v=Bbmiqbgk7B0PPkVqH4C9QZ@T@s#dCbK-x3JC^`OK0F^|Twm)N-*)Vw#q? zwYKpP$NjhK>)B~o;b|nbK+*A@3QLys&a0Yyn)1t z;RLOY1z(vyw$s%9W51b|S|r2{qO4#Sw8ol&--X zm6hWB5(*prQlpdWgSQMlKJO7!8+T9*J3fIswX0-ggZ31r6_*u?dv}=%!4RO*$3)={ z7ZT1C4d)KCfK_{q9F4sB%~T@zVJ^-0#goVK$Fz891H=N8GhZr~{sUd1?aAO&s*IN0 zFDj=4Gqe8A;tsQ%c>QFJ<(pa8jp0+{D$#gJ(LJr2sclI&=f}U0H#8EjlKS<*yx^;5 z3$?QYBK$nY6SHTI7j@c(DKOUZ_o~@j#?YXm{uH3pQ(TmPhsvV@ ziC7xu0MGh`lRjLJ1gW5vS|MtngTAbDCeKgzs`C-MU#ki9Ha_&siDrxjgTz+8MHf09 z^x5CD8`uc}@amC%m<{ESgVI6CO}w-bFliQGGde#@UCMYW?8nw*u!MsOdpwoYQrKi;{{u|qsBq|B`VTZJiX(rdCPcjZCxkO?59lU~+Lcte6zhPs*6JM;N!@@)#qR^= zwd|@x+Z)U3)xc(HFSf_7J0aTCbPW*^=Zr!{wH^)ge%Ea0+lqbv><<43hjZ<@R|?T_ zUXZD+)kz*7u=v!?U=6t~IA*%O)@vNvr>X*M-}*aqC0Fj&#yvCW;8`i<9gk?@%o1%v zaxwyDH6kq%?z)hqGNeDA@1<>2_m6PV&vc3i7xtL{ENGah!)2MlvoISL3)UF8c6$hG zj&vQAh|N(HPDe?1afs~jdGjx=cOIS}dsDTh>J)BQadH`teHT?P_SSp+9%M^xaABqX z&~!4TfBeQkxn=oGxsk=jfp#f%(#VFjfKOV|^&WoJ43$T#TqmK{?(i|k#+8-Kz@sQj z$rxVY5F~6WQ2flV4ckw2(YvZL_9b$&j6#RkavF_2HAN0!>kVK>Q)rwlXb9Yb3j+;D zaoG85_~g!6j#qnrW3xC-$1PIW(Cfaolp1+(_NS&AS6E3i03Lbh5LR_Vb|z))e1hJ| z=4RiI*-dUZ&8dTDnPUR7<)SbVgC%{Q+G(Gah9Fq8pKV4Ug|Nc@;Nw2Gw6u+v#|oIv z!&#e+4Z5zi*0-!7|Fr%)OeanGRMOT(Hk%e}%-`+FqrP^^AXh+5lC*NL=vaH1Hi78JI$mqOKM@wpyPZEaDH0tnLMk^&LmUk_OH|f;JGjXCi0FFI}rg_n> zKb5fAm<=~V?_l_|jYU^kd;ftP;BsNw(~QH&FVx_SUk3dUtZY&%UpusB&eW?em_Afc zi$+!zkL0=+T8mv>YN~LuLJp9;VPFyuRO0o^uEhaL$@n3VhCEb2_cAgjF^g-5Raz&0 zg*rXxwBJ&MX&xm}@7y7Q*Mlu>)%Hsy`c3?29T%p+kE?4_A~TH?Q-p0lDCt zK%Lt}zXIR*KP`-vQh8@Uo>0fPed^$!@R%o z==`QTN*({IM7+A@x2Mx(HLsGkG94kFu~%u)2Kw(5o0h2yiYnp!yHM-(^o(2CpPpva zy^4Ik^UL;=toNg7oT%j^llAO!6IfvASg>sF}91U}y zn`Laj-_!q?=h^doKJU-#Je2D`c(G~F+q+R=LKi+$I*iHZIx3WH$m#Wch*;yoNsPh% zjZ>gPPYxc9ex)!ptqqLC@cytm=?#0f1lBf9?}jt;l;f;gw~8J+9k~UB_<_awMb9j z@4PRb1l_InEmg8ZE91xF#?mRyR~hE_tU2M0+>J4U>Ibh~a&~?W{I%KI>Y_*m@YA%6 ziX!c|@&7cRWff2jr^40LHICDYn$|5t5D9#d)u*ZGe%3V5Q$5N0<@4#YV~y+IgY!-; zc}ctK*WFwDFS5TK#-A&*goY5n^1)Hp(VhafVp3j$g_F|a$hHJw8@)GsO?ZWK7q>|} z6oz>Z&c%<(EnW&3Y}O-%XDXZx1M2Pg_`4(^pEnLNBvMnawOS)jF40xVO}SY4Z9eEA zD^rqRtUcIRwgS2eVDkzc|L&_-T-#%D8#@*N7Hcu6_>sok>08i&)0bT)x}ZzXz=_4L z!X&iY%`MEI$9|hK2N}Al1-B;1B86elWm8?@9%?8WzT&LML{Cq=T;2wxEGs+CmddMN z20jZtn#i4_XXVPFU4&il4PKA-IU#oT?h!dLyR0r9kLVKvF+t>pyNlRuz;Y?fwUx^U z48Nfp%M%0mq^X$-O#CDL7*rlRw2J}sAfI$^du*yAkk-1{pENE9kqs3vOHwhMW69_q zn*}_ozyvdjjQHzPOKY#$V+ zb?$oNZ-xxO7`lm9?=95;At3rcq@v)CWgMSIqVH62MjNGL{$1}?e!L+;RGbEe^+4yG zxA@9GDB`m7!h;>C73xz~*T438_z^RxtFFq&dWn*t-rr>=D_925{RXI-&nUD`v!}UI zed`O_o)4rEYR_~IN~GP~PO7F#3lkQ4%ka~e?0kOT_^gk{>2(nJPW=QO0rOHt#{ba1cKj|_d}i9 z@1Dc{utQ7FxJB?LuIo&{mw6BI@yLcwV6_mQLGIb0tFVRjEXEw*w(e*pi^+VlW zT%~N`KHL$I(9JjI7Lqoe`TvNXL-?=Z;ZePK^&*YzTJ;ZZ$D7m5wl&?Q&fi0h9}&`j z+995%cQK5zSw9?uR&*Y1l~uM{an`@Mv-Cl#mDsHskiX$~F|zY9L0`%04M{{69x|T> zJ3hlV0D@#~&)!FV434{>V74xP+NBffEXg+h8y(i@M69^o5WyD*t zCc;}TLz(9d??WcUrrUoQFfZ>sTz4ZeJ1`Oq){g4LpFU_7^VWQ6x+lk)cKigSl10Cp zW^cO!T)^vvbmz2JWcB%+jiWvqdf~BoSYD?XX|%uh3lYyKeyHOOU~N-9(puhEYCivRxLXFCb$+h z*_l|_@lAWvv1ZCU4tKq8&$l4>Xt~IpW~9M-l&-;SiY3gO5$(#A@(B$mYq~rsROCb{ zli*f2;&2X0TXdpRZ3y95l5YKc6O{IT;RBL=(f7*}dwa{V0jS{iHnhv7OgzC#q3PSh zT`Na+*b<9nGu%jAu!ZXn034`mcktsMj@-CsJVZBvKwG)t1rQMFeT#U~qwizLqgRKG z$Od;0tu3qZ92E%@pYarVsA;J&v{6=lFzpjQYTwXp0fZ5_Zfe*BpGXOOj~w%m4(X&M z7;I!h#5X}u`J471B42=dMWp1D6Tj5lpno!ObvZg0$}=llh4#~zIJLeT4cPsv71!u{ zOKfhDA0^^cUsgt2m1VrY2194u%7@CGPVZ2G>&?*K`LQ5>`q(!gIVHdGB|K+beZMz{f~QZ-nb@-N$C0Jj0WC3 zsU0^F2Rc#J+oY1GTQwm>ko8cS`6g+u1l!nAzW4TIxU<;*KuPV2A6ye{01_`wYi+Fi zjM1u6C+%2P_BpW^cc}(st54@fYL515jOX50IH-I|6YX0ae5jJ(&UrUU=Q(h=*kRRC zgT@pv7vJbbaIuV4uK%~z5J@xi&DH^z*GB`paYs#y-q33dJ~jMWSHRt36A}4gje2}=!ZL4PWW-I4W>``i%DTJL{ z;x9|}Z6V`(SPA~mZzEekXClN^&Vzcv$Uw;8ur3co8fFGA}VlB8hW??P-$VCtnzUl=Ua0$ zYk=>FU_xA^j>eUh-C`<7Q4{MEEokbpLS%5!br$QUzv6d!q`pOo{>NnMm2B`N7#;ak z+A{^>P)>Dq2ldQ>U}D`GJkYhDBX~8;Th}cLSHhJGYAy*_!S3m5dl#6hZpZz0LZCPc zJ+Qk*CM#K4gz0;n**kHc<=>^t+I)R>uaNi^5rQZ>ojfhd>vyQYY^@zWxXB5d+E3M- z0w8O=;|(qsz1*IS^$N{7@jhT8hn zPBMhrhsf#?Gg#_W90j6Md^%jsef0nzhT{gsxeC)X5evAx5*$Tjj~hz6i}SR;7tuZT z5Rt#$eC*H+vLIn4I}ozD869{8f_R9uRTKlj>Vs^~zZJKxdjbx0Y~j?435t!8D#r3h z@Q=W7jPN~FP*Jc^By`zJqf~RiL9k?D@<$8`T%@(l!-RaY^xAd>iY3TY<@hR@I|`0{ z(~2GF>~*I}Vv0hCRHPqWq)UXk+KFP)d9y6SE~V%HFq+28+!ek#JQB>)HE5W5>!{kV z>45H8rD?_&AVwG*Geb|KG(G0h7@)) z5PO38Sc_#h%j~`Me8TIoZbK8F!RWP{$liPPC{B|CU#aFAl%Dw;j5tdS_Aug+A72#B z%~}84BZutK1;M)R8kBHqW&ew9a?eQMTg?-Z0qc#^fTpg%BjxuZZ~z!JPr*z*q?@xD zuB3yrG5EssIpzrf&<&S;FfAhVeE1kBp*m8X~-MtP=eblvN* zx!YVB8Jid8rooszLZAPdj8|={(S8)Ch9(D7OR-B6j0mqM4edkG7j$zv6aZX8xfQ$Gu#l$s8Yom(TOdv?+U8`r zL|!jDEIUqe$vC1d`oQYRcOYFfrT8U$p%H3x>1JXRfn_Bt@W`-B^mcr#+otZI?Aw2v z9`;|pn5d0S(a9W_{KF1zSMRb7_Drc}Tt%i@zVuzRiQdc9$M**#Xpm>Ffq_lz|Vu6my z4G2$|gr>Nsj_}6Aa$?1|^xXN^DTnjtCjz5v*FM(bq>2^eY< z={RDHcpnvFWs7aK9D$*C2v#8PbGkIsx)R}!FQdETgWiFJy09$gX2wC_Q z@66m`Zae=#(H{TR!3;LO+}Ot>c-m%W?+3@YXB8D{G0&iI7qV2EY9#feVo|Hvp!tZ3NqcY3>)ZQ$MVY(LehwcnJQoVx8@qd4J zWw{7Hop&sFm5@Uci(DcA_*(VjF7&gElk)i@+9hGCKhBKefkb z$4gizzttx(Cx6M?X2M^dw-X*-8KnP*9g%J!%VesHXG%$DC62Q_ZqJOiuIy2IoulgUpqX$rO?UqN23@*lLc^=3+eHhN(jz<&yM)TNAsjI;0(6#O`&&@se z!-fW6ail49<>%ItOZ|HA+SbnvgsQIvIHA*K;uhHiT zHED8AvW@4@-Inl|2Yzw5h!r{xb4~#Ow;X^2R^Q80HAe-+kKYh1Cw&rz&7lyUq*9Ze zt1&u+XQD53FhY>K`c|Ld>IHA?SKxZPuCwhdb7p-k`h&vjSj>OF)te5wH{ACLUc>WuF(s{k(bT)PmrA zGRx|=YR@19u`Ou2TN$Kb(N}+}L1_yg2(%h!O&3|5HQff#aIl5GgtoK2ode(pXgy(i ztgs6yQh5R!A$uYjX+YoNc=44ycF*BlI>W2#hXi{FS!yN0Xz0^1WUu9RN1Mi>)>fBR zte+J?-|Z(8#a=3PHuumZgl{_&IbK+=JDa5xS=CLJP+UPCs{&ugH6}&BintpxyuHxMJ9`t zG?Gm2WE%*y#ULUspgbRwN$|J0eP#=l@(wLVVFTg{!D+vjM${~8tG=hl&C}myyb3|` z1r1B6Ko{O{N_|BDp{ZuyyMyt*y!{`>Rn$!rK_DwoBHp`-Ol{B>h$(fh`24FJ z642kJT^9*Kg+XuzHMWv@nEjgSi}7!9EecPtb$$^fHsFxB{>Ce1H};Akil-Y2*qh6; zb|g#018;e1zPNC=>OwA3IAj3i#xofSr6UV(Ne)EY`;^`4xQ=0B)vd}b4);ssa2s9o z4L&Y>ZUr|ikZy@xNXlRfm%S$wkqr6Q2h8e5V8%savYFfAk9k?+UXVSyM^LgKi?L5T{Vl9>E4+NkRjrj@ur0EquA<&Hgp!1_yYQ1GV0O_$(%iUw@IeL(wTR z%|Lej!rCJfHPbukRUxe-p>%P8rT)h@P7vk`G-k}W9`w#OB4L{H^~zFF=CL0&Z$oZ? z79$6p(#RGkSIiod*t@FU`DQMs{rL@m5MJcFLt5D(NopcNPYW<;_B3OkNSOuBKJD78 zzE5`VIuhu0XY)TOxa&qeH1?m6LTj`sc2aOQgmkbqNW`4Vo(D90$nBP3FJUa1HF&o1oweNc@YedWQZYhC+OI^14U-EwESsJz4CFCue*s3eLo3Pg6!XIuYg*4Jzo zeb|Yvy&ZxOQqf8{OGh+5|G3G?YPPn&^wl8i^Idn|!ubr*i)koNz~jHL=jX9|z;xWx zCgk^V!lX2?jGY}WZViJ^z5V3BH(zHR!Ls6@IAM{!V6{jBOWp1))+L13fMQoc197Zc z4_N{kGexlOT)kax@d9RJ*xh67EwHKrU0Ox?UcdjXeMSp+RhMHu!>mbv5hN|@s>O(t zipW#`m+yZ_P8z2Pbiw9k(2B!o*-cfazE`k&j&YRA_?GCEpHtUA=5>q#J>7u9UTdY@ z-}LmmN6*)0>yeS7uw^w{U6>8ydr$?z`<%S3yd@0G13BLWopTGN*QJ#jiNzPE;~b`K z7rw7ujDw?B=%xFGVeN}47IW%;ZhfeeDj^w``+|LH~*CTZx)*Y-#!@XTNh_mDzS^M1_a zxo3$zh%8Qj7na z*D1G~CmPnt@8;YQ3=!T$){&*O-v@@}*Q?PJzupLiXa1ogc(R3K{UMkrshGnRW)ZDG zL{d?QqCeLmOf%Q`Oc~Hr0q-gKO(C|MEoBAxUrIAQ)>Epc+S{W`*n&^Ps&2Jy&mBJ1 zCl+sDC7mnnK|_P~X)*E#0YemiFR{^;PPkGZ#iwW9M^6lL96BR_Qa*NaOJ zI*H=h(~$wZ$D>vlR}Ge%zcu32OxEvMLa6QoznV^D3v1g40d%81q#+pNz+X5AZ&>Tq4c#2?2_vL2T*r-+hFMp`I8{!qhK z?&AQW)YRowC7-Cj3LTvMFOqA^ZKq5f5sp_N&J0Y^nGp?lJ35#@ZHXM>P zB5+UwyZSva5J3G6ClB3!PmF2DanPmI7G+|&({2l}gy>7%bG>z&l&({EOZ;|ugcoF= zny_vjf(Q;-YzAJSZ%5{a85~Ws`fR+&J>Pnh2pxn(0g(O3lgU3AkFO?JbNuL~n2tWm zhp0xtByiAvO^had*2iIlC{a2%p*RuFsq{{Azir4rNbHgUBfo{#c*oh{Cz2v z$}}QYC|V;mfa8 z9bMtq+1e)^7nI%|##;reB8?(pqAPZiN?X9zd8@oUSFD<(2=OXBJ*x$dcA6E2Z2t_Ty0weF-ViC2B+Hr*z1AuG4uvLWxH| z?%kUX*pJ>FUT3sA`!{5;OFm41q#J?q(~IC3l+Cz4*YnJ`D)yom4%fK>bV_~yzP$ur|G+r2V?s{ zkyRaY(XX)1LO+7d#k$}e*Te#AU*AZtQj;N@pBa>;f9~SlKh^vB(@6FR=!4j^$ZrWL zJuoK$p7DbwLJ&zeBzWl&o$_H%VYy(UVb|{*vA=@bpn1*ta?g$LCsd81tnb>lCNA5} zNaFTp-VVBo8;6M`6OlvLzb1V?4KiAF$Cxe(+emf=qkM>;TG(Db8ZCay*5);i}G>jn0r2KlyI60VXgO4vA0{A2Dv{u zzZ;ybnuUzitsMr9uDRZ7o$CA5*R%dTymD^aQMX55nIvVl`$W&h*>MFZz8iJ?w*W($ z_fk9+f6FxvliM+ye;~;9lNKD8zkN=pC^46hhko_Q{?`VNA%FL~otSky z4Svy1N^yb6oJTZ@1)H`$y;d>2kmDHp7HhA2uC?qU8VmUG1Uo8fE#PCIJGH21Zk7YL z0rzB}2++SH^yXupY|2@Xu;QzXVzDz((kC)ich;a?^qd3hk2H_pjnuGF-?k}iV@va` z>q<5|_eLFw00oxNuGs#X^mtsNAYlJLp`RK+Y@Fdra&MPd(}vEe&0^cFmv3Cm{VomN zr6>o8i6yN+XbiO9=2=u7blSQ(9~?_{+*?u3X$juDt|*>u;q{0U-SNjyV=-`d^NsA$ zCIP@KmOR)K7zn=_QWO!yK&NmI^=`84lE3}afMMgGCk&SMgZWZ8BUx?bT}MAkHW5ME zC)Iaf?DtR8NfCe-1xI=rtsmyox65tBGD!=ok$UAbx&aoAQA(?_&vdeKU#$yhe9?XZ zC}BkbnyqMbSNJ9FvR82fAF4=rIQESD;YAbjhMjC)`fbjptJ9I1oeuC+-zqeNSib(wZ)ozSQg`RE`SXiL2EA)3 z@=&xEiFu3@Y_v1)lTDEQZ$E(-Q6m(8w?ryohVhy8v8eR`0PdFAt~L`D4yC{(Kw)&; z8)UX$bDGlq_T=t`@#H{A#N7(*P)llH8#u=~`$>>f+nv=ZQ!*vv#{`TVXDo--SEc6^ zKDy(K1>iMpR(lQUQ!h6Ar5TID=HhmGaeZ42ZtG$<5>x<}<0*Vhe94MSe#q>~>Dxsn z@XQYf-4W6tzDTD2oua5RQOcvn_H%wZg;+B2msOo(bo@*9PV*eUKhEwR>WsBwLvqq- z&oaLuad8Gc+1d6*o7R|Z)s~EOu#@DwLw%8S!g`}mgH3*eDSad_YWWLCh4+QgR`FA!-yo`F$14c#2=|bdm&lu7n z3q3>+AJ3S8;Z16EV`$6N^1&CiI&Z+Z<1Epk_*Pq)*Qw)8WBtM*i{ z+qZD-U&; z$YyZct=lDZ>92dw#_I{@syzv7?fXJ7@vx~EWg{3?AO z#)|~V&J(8EP{p-BY?2J;sw@sB=IZtb&#++*(}Y#@jB9+E34$ z*^DwefZe9}K%<4STFe(4Kcw$DE$F;l?j=ATsEpXn9iElr6P&Q1gfwFEd_5$F4nh7q zcvcbl>8seIL&{oou>>%WEl-{52#1!SrLwAS`qj2|C7@%9!Da4J!%XuBf#<6VXot40 zhWiW(PDPe=*G^0uam7b2AR}7+D!V^q0v#sRs2NX~SY+qHho1)z)c>UQk$=zLCC`%& z5fjo5b{eEw91(|vM7EL?U=Q3j0+#!Tr1%<^scWNFeHswl=wh>d1bxtL>w2|{W|+X z6}P?=e3zuyjrwf#NFGc5{X!^_5+SO=34s@3 z;5GTbFvUBUx6QDc7H~&yaZ0<@nLk61n?^4*O^6?Ye=?pp z=qq$=AHZ;n)k7V(;vRY+;y1PG%ERxp&hMoJ!el^)OnGO-bB1h2a1WooZYk1x)H|OK z)d3elY4XuRRs!B;|6n<;KK}zfTVD@vQgCEX#J}b0wLO|sI@d=o%M8j4$I5Q~JZab| znT+OZYy|j2JKpE#cw&TGj)=Gxpxi}tLt15qafLn&#brdI1wdTy&~gu-ivg|;9;Ywt zs)Kv+J`=VBnvHi_mtGT>oTQh75hoH%rg7G7wx&lEq@`&xXkX@ll@lG=II-qb0zmBQ zspE?U+XvNL^M0=}x@H-+F!(dYXtuG$J;@3tAQXb~Bx&O&}U^p z?O8MdfTmF;TyZ{gBI-$1GeCBd@);W}senJ4y8=JkJZGLOE3KiGu4@=7ldEd(MB#7x z=_?4K!nz)y%F%wD)OcA#ntpP4i-(P6&J(1Yc0_ItOdh1Wo2j}S^fSw8s1mxIGt3n# zM7J0Z+N++ES%Ss8+J?%lbat1zlGy#SYVC{aql^nm;O61s%LTy&da!9NNNA8_n-? z6_lFIbkOX-^Ef~|TvjeVdTFx%=`9eba}Kx*2c212B>gqFvFcUDFtMhF{rYmRzPawe z&DZ2d(h{q0v`wWwbNXNqDB<6H+^}=_9(I}G;AlxQHw6?^Xack7%Dc$XgYVChcADb8 zLq$aBphq2QA_8Mh)pH&FC|%Fa?#USh+x%$?x1UeUpijR`G&{xWZ%fi$s(R# z$-%E1-BPkU&`&8cU5U|MV;wLSfD3dT=1Oinsb|)6Pnod3__#M{jD=@~Ghw|lS(!BP z?QZG$m$3sa4B5SM+12+i-Bf8C7-6R{yvh-JUZ>nV&7yBCF0WW2j6v=vvuf8|;3OtM zaXZv6PUr-#zrXcH>hfcS^TAp>_{cfbPWF)jQ#pF%!Tm2NS=KSEPlO=_@k9=ve>THKMT>yL@1ycL$=v#qtdJTy`1Fd4xj zo~!W@dh#z$pU_DKJ(B~=x{GK>&Uxx$h1B#Mc9oR#^TwDQtyo8wCCwVtpfj4|$F=&D zw_43`_)|BsE^8`wb`sY6-~4?JpO7{JF2pYd{U7LSfS><<-ujcTg_O*v5HU*=0yw2p zHj8=ePH%tQbtb8UvG2TG_3;wxZ~R><`O%(-JkgHxkf4?YcQ_V`nE~e5)(w~ z&yF>#efo%L3Y01Fd4U!IQLmfSn;3yJqOxHfo)XzsTnYW&jrrvdALd7QIr_rO9M@kq z+^bg5hOD|<#kscgB2W-l8%A)8+uFJFr?)ifDW)W(*|8{9O671O!70wFuWja}-<_Ps z4=r))gG_jZ&Etq%Ah~9b>OdbZ`JN|cZN5g?k)j?t?cW_}04~Wvp_H@^S^c=O_0mKt zdig#t#OU=tJ0W2ctHK3lAJx-qt+Rpj+b7OUNz#zS2 zV*3w9?hWveDX(f!u-SDxdM{JIoqcu(@%tj^ z#LnUUCI&g=`8a(NvkIp`}o^k$|39VW&4O3S-zY`H!J&j1kKUhPWi zwIQDysKR1^Vw2>O3sK%5OiK`qZk|8i`|)PO6_Xq!I59- zvMebL6@|-qML8_G2D|M*W!Nl_I8&#sR=7gA43{**&s6LB#|uxK3xJ*zls|OtP)N4c zoUhy$!l3eRcUk{`OmR!{{mRF>L|rs!37RMHutgr-VtI-+oO20K%h-0zu=8SKJI(-Z zQW9;14cYhpQJ2zmgK$(!kM^u{G5Ta%sCJ8xMWjH{? zqBf8L6SqPX{OBv&&f1IndLHfc%D*XJn)9W*Qu+uN4POpCc#~c z!B&Il-{ldinkP@1OAL9e_f81|oP|us55uM0f4p~Hij#JxW6I(f5`-zD(by*bp1bO zpY)@D-%id)V62UP9;Jc*M8vquy@NJdt=6=+-`z*kAC;_I&rNlZnC!+{hPij1ONdPW zq4`Z?=wFAw#5gJu1qBBf?o7rjwWb@GzYzU;`RFmBka5YU*|sB4nHm+Nx86z$agBAO zO05*@#b)$otur8C??BIRtl-?q2Dsw0kziGNAWSyT2@pW%>S!KD>MW`^K9tO3Vp~yxvO;eaYOwX$}oFEa((L3m&PkHPAVYupws~M zO#L(1eub5jnm2@`(Z{vi8|fc6z9QuRYCmQ?z${x)?O+;j`y3E`;Ik8_yO0y% z_ZK0`-&%^x(w8PI#o!dZEy-;+7}#3zp{S13_l^uZ?PQY^%3V z9T(_#C*p9cEzG=MFNQ^>#l|X8JYL->G-WfMOpC2IN!e{mj zx{iDOX=x?AttH+ie{BB~(612#DCed_hHHuzTS_yiYWNDhZ43y)8?#e5N&91|-=cGl zdy2Sp9zuLt`3@xX+Bdx;0!b5R;MEiErMWOMjEyq1Kc>xn)TI&EF*ZHV`WVx9*Whrg{4&o8R{ay(_FZoNfml@OXwkv&SAs%ANK<97_GUQE--u6} z4imRcM5i+)COBl=eBWn*2oG@qA*-{tBa5eE}w=5<(TK354UO5XIi)2qqXUk@3GfZVeoH`I)bAKG5X zw*+=AMc@nfD;;iJt!aU~Sh2U6!;_A-^~pzuKZt9n%a`xBI$}R_gyVg>^=CEOvaB6u z?>HeU($frYch0#zxG60s!lO@hh|Owe!@Guwp=-;HQv@^CACm{z00HG*AINJ4ilrKY-G4wFFcYf||ifYz>04N3|Qpb`NNAnk&ng zxce3{a2w#fP<=4y%bggmYxS=l_mq7B(n-t$VhiY!%-_do3a>hqr4^98Ka8yUj>wEa z2%`Atpw?@JIdD=pnL}-*m^VHqPqR1J0Tkz!m|W!hN7qM8uvvShBbUY?ykBm|7rYMN zNZZ;t_NRGW$MoaHZXjW2UF!PNf-m5mj6j2x;h_nZRLP{vAM+ge-eDr;yX-?^i5 z2@u`kTAM~B&&m@P=z>j!-`sK9$z7szGxYc66{ZWO@_AR)&TX9Pnqh5>^NiDYw-yG* z;QHS$@9oB{)q5MqhWP;DJo}um=~|p{Ss$n~_}qMKSQk?|K^rlXLrQddHzK<)o`vuW zpLEn$rh*Ux5i(`>diFb2*ZwiBMsppM6}c8?de9soF&8&4CAM7Bmw&ZFEbI*Y!~HAkG$S9bZhE@5QIlK~OWR{gm{{VqF&IoR+CWnf+as)ApbOr(1#_V|v>&w1aP(MEPQj_#$bDQ>#$Xt;&8!R(+D#eBbFV8Bv*x*Zy*(NugEa zwz%;T?t1QV2U-lAk2&Lg2V+2!1dZ$O6CcbIp^G$X% z!erv=kB@Xw-w@WTkc_sK5k#ht(UrcwC4lEB#a7N?Uu8#65hsXf=E{6Kms1tv+cN*O zHEZJn`Fo1U96*mGb_+#I0eL>pB+R6%6VBYvj%{xfe3`_*l*A*-T@>koT5K;DO}`u) zBRNjk2cRudSLZpg8=R=v{3gxkSI?MNGkoom1cE&z2s$(32q9sY#`Sa1|Ac7Iw7E_k@dsAE4A^NGF%8UKXh-idmg>Oz zcOTXYcRsgAvBcTvBI)1WdU%^rt6C!ji(E{XvXV;t&9d;(`-gO5SH3}&WglfF@-!0$ zJ~D|QjcphVEV^RdZ@Fy2?3g4CENfc%c!haBlI-&X#^i(54#`z!Q>^vJ!R_nh56yee zeqKKEP%Dwpzi1#TjPlHo_PgbA|Au-)E=aO-uBa`^D00RRCL?<4i8&S3hGAF@+r~I6 zIE;<4R_EjNtE(wxCDE*K=HMT*21|jrA03?v3E`$LVshZmw&KZn9&ryTF~`q1m;0zx zIT-Jnl-dp{yHi{WrzQfnDG{}ww%wT`J68M|+A&=^r=a|pt-Rv8vpwwRpO2o5Z2dRg zy4bogCs2T58hGq@NG4Qtx%*E_pxy(Qi{+6e=EG`A{_c|%e5XBO7lRNCc>wo)mSWsz zxD^FJp`m+~OS{f%KN!W2*?ye(g80;?vKQBUKFMDfd+cWU^M~P8Gn6<|tcbdm{ymK} zh^F=Pys(YpKOerAS=+N`HWz61$p{*fn3(L89Vg|gEVtC}>Dgix7p9vNP637+pcNH| zVZ;2ZF5P7^l1C2` z`uM*hPIOEnkWJT5rbT2Uxi(X~9nP!!m3>S0*URejjX6(%&uBjvvdFhpirc+e?)b4# z3vq~NAQ%ckcxIty(l*a-6+OF_q}lrP%A|zdT4(Q47x?_3)GC@K@0-(J*l{tOt?Tl_ zvA^_#U)k9_KQx+!3J`Jh&$V?*$UHJwZ~~mv*F8UXMig&KmoTzQz4=>F{chHW zlwHwuYpb9%eW+>0~WWsgYw$m*+RQh~|O0&KaXj0bgdl1UwGfnQO_Sz5Q z-0y%;7r1=`Q_Rs)tDG8Pw`#@X4h+Pf9-dzRzz?y97VVSQ}^jfENFEJY;F7-{J9B&D^MM<1<32TTt1`@kpd=;E4-?q209vagP&(AI;gUoO*y)EY>Dd6zA3=R^^5P^`=WfyKnnL+V{8C zEhcxjJg)2tgfNA`KSc5HWJ{9OtVG`4nc8Z0L=5Zh;Q z113UWmzY=-8cxxB4I6YqS`HbIAFBUyjN|$fu`WKVHI3e^TX8O?6CJ=bI#+R9-7cMZ()$5Z-6-$CUzgUV z=^h6S+0obAYqBkrD}l&CJ$lSEmJ43y|4qFH!aa~FzfJ7yv612REcpx*pNZy~+m1{c z8WdJA{pX5YkcdAZ0N}Y(pOf@vkheZ~!OD`gJ?z}#LLzUJwTqc|mjRg@Wn8oA@V7;! znuyik)?q0|dl4rM#jn6*uy->4lc(__A{V#X>*QOyR1jvN{u`uO&4Ky7XL_Adlkr6PF=voXIou1(h( z^3B>@M3D|s)?Ff<$frH9z$^Uv1fsY=Jmz?+gy#L`kWbl5O95f%fdQgl&BhgtO)@ZN z*z6Udl{4J53;iDTVN4%egL6>qd;2OaC?ED3$?+o*J^Zz(F!QDl$Y7jb$?ox;yoK)g5=kY0ik-LoV29I zKIa#*z~_f8;p>93n%I@B8|i4-G&}TF{!X2YtMM|ZRH)0)zz{N@vfeQp$u{=^oao2m z3V>(&FD)t*t?=jV>Rj9l+j;W-c=C4QAPAX&+IL4G_E21nBK>QMZ{$xiGC?Y6AWR@w zeegG^->9T6&BYeTYCppX4R)-yy>Hg7IL*Y;;eg!s(DtHrC?)hIJnxVE!Rfu`Nj}pR zQc*O=3KkP5yZ@zABXVHFz_1Ii<;LhT8sJ-vFxoXI{tuKjytM>ZSWNTpMK1%JQtkoA zFFw^`E3_r>t@$NKdlPF--V6=Zk*9Rfrm6osCEFUGyoQ3KXKoswEbNPdy1rUpRDb$_ zRQM68y5l2THQ(O2U%b*XogcpHL1l1Txl$#==6VF&?<%KeQXg0X@sNj}UbA^`JA7=i8c_>KaBGg_VZwnyq(Ao}aZ>LlKK^&;h;8 zs^G1+-bCx2)wLamh_%sI*g7t5qpiF-!cR_4!nC)ub3mQoKR!2lSnygTot2O!j*@Ce z9XF(*;>E+NI0Y>^q=159f0o(udha^5ow5M<4gu${^DSK1`OyqwL-|1X!34x)qN=gO+WjAGUg^5pJ@Y{RC1ivOFVL?o%Kazyh2H)DfryU*x}RMd zR#Mk6ZSKk*KFB97_)<*35+8XIVllVNysm)~TeXUme4nGrUA`$H&sqMC_<589JpYWSvQ9o1`0wo#ma?>3p6td`d>z2#^ zK*P3-MkcO6?xO?dZY&kJ$2*Km_5#Qo0sf|Zx*gvvh07&^2<~I(tLC!4b+NO_hs4UR z@=bA@*peIz%-aPYpsYKmz^W4S()mcYvlNr#NMts<%jJlj(QfJyqku=7R(S#q^`}^0 zzw_r}=qKt!E}50jB=8yW>}~RMx9L+J%=QgZnd8JRX{+N#RRfj@ysUZq@89D*p*zk< ztJf;cDO&o7=T)A0~GE#;1!ysu<+RRg;f91N3ePlar<-&&e3PxtSJ z?>SDjZj|{b#N{(PXuzVw)_xUsZ0Wu7(ZfWE={8!eWC`vUDF;DIwq~Acp=BuR)PNR) z5GU5V@agw$^@U*4X;%*nUD2b+zWy%w_E$uZOCp3_f&6l$zYGdbGU_j6zVQoq0Ur{ zUiD^@?!6t7Bql1G;nEFTw(SmDUN4KtgSQzOf*3QKfjnJ!y$8d9f5Glk_AZh*v`?s? zwp>{)tvX$uQTwX+>UC}hk;~uH`}-IZ@h|q&k-8FZmpIgQO5d}r20DGVt=iLJoR~VF?gsK zcQ0eA$NWTB?_gQ{8yeC`VJK_^yreI@YP0gqJnVSBD#7!yrg^ZTGlhRI9C7fiu+6>N zt(M{AQYhBH+(3E+C)jK}u6{g9k@)YTgVq=em|%mstwkYXCjGC-KSWTzgOYL^N*r-Oq~ZlqG>D$~9@WtHuXwj}G7gZ6XA z@Hoi`O!s#m{q7Aeb}#qrko~J!yDIOHXG=r@z!)pKG#(?4krMO9)TJ~&k-qQu;`!+W z=usXRcNuB5Srl!PUGjYNGg>iVzAR4pG`n)C^$xQ_VtN*^k{I`KQkPfZ6MY&f(%X5DAQbsOkPrF{+@@+OJ%GMK zW;ch%Z^u2Vs$Rvn!*ru-SXmzgGj;o3x z=^XJ9-c;Z3Hd05PdK!j7daXmXLtPqB`s;mD=G&;Vt$7!bRKC^9TFw*<+>bs35JlMTY7!*Y!sNFoz)~z}JL#T-o16O55v1$7U~n>X{Ks0;kT< z0NODh+C9uM@ybqCg^Ssxj5I~u?DI8&VopaV5 zM(gjR&~@Hoj)abYKsj$~-Z9&#Vp9^v#t20U{21He z6Jm4C1_)?cuH45ex9e|Ro!qJP*L#i_zY+P)`?I@A^RZI%Ngci@897qTRl_Dyw9L_xAu4a6GVm;LfaDTSAZ>!1f2L{&ChY7ri6)x zpX^DFGSK2hR1l_tsbn`&uv zMsBBc9#tA%dwo#HFt<8RZjlY5mVVDmxms8j`&q@JJi8I#4Nk%m15 z+Zul?ihp@!8Y4?<0^PCb>KyVEs*p^%KnVPsEvg}J7Ix~}&#o`;u7I*yY~)16#AZQqMX>hPR{y9qXg(7ECp(`r!eGpAU!v9F;x+ zkcUkLy12prB`xDlTW+b}*;5WGX_J#-&0F5~RKp2^&PX`25eg%s-F9?UQcqS%)Eu}m zIg85`YpyB>?=%T(wIY^n;pBdZ%oF7he$e**amhB%A5PA%O;T;`g3*%vla3m7>X9>W ziSO&3X?&;JKorgaGB%K{u(Z;#hV593kUI;YLtys9;#0C4rSumnmkU|H2V_eN-mdn_ z@*vkOq{F7)QD4ngH=fD4pI%$`z=J@Mxg6gJ8M1CapBVx*YCD9il%IxCh$DUMwf3oo z(i#%Cf!kqryYdOi8yRBe+Z6Y#-`OUEQfnGniOl{O(ywi#I&-DB)c=!3f~pe?b(@?v zM)OT4e}(h(*q|Mis@#a)z#Zg2-5d*yI*F|CCx6_o=hcfx1UDY(>zHjYh3W`YK#s#_ zypX>Cv@92!Ok1Vf&Jz^cw0~N3@+IkRWOcF`IVP`n@=8kFjNGzWZJVFbzz3GWmd)m! z&JDy|x!Et$GZv7Tn37TED(|9H(%W3{^3KVW=Ael`)TEHuAQ@c1SaUlLjoZbJme-aH zaZdn{m2W*t^Ut>jW=t>q(*-pq31G9n}K$yTfDZGxE)r(U|yKzn10((MMu}E9e=BKc2 z5>7>oAQ2@5%q|_(P-*6)2aDNg^sM(KH0SBJSc(#{;xw zo4Mp*o*MD^7r4XBHi#7R|2r}L2LA-Qxz@~#dh^inL+57wGmpCE(c9xp~6 z`0Xmxl46Q4{rnM3dh|(ft>;K*UlU|8CDV-O#Y(qkiLX*m1>H(8FuZBTMn?FJaFNcw z5S93zD)!;{gR-hodSot(Y!1Lb72}B`)Blz1Cn_+W;qLYifPV}m>9GWw$>wb5Hvw)sWYp;axF$OyR z@V=YUMphSih6iED7Rcj0oB?8`amUtvE6N`IXiC|vkU#%Le^0enPIN{6z8|(!MFG%O zFr2Ee7_4&T_T1+Zz?%cx*S_6C?&qBI{a^Rx(S{IfbLwMiO7afs`-P|G-lJn94}Km} zh3eOx%&ydNi$8@a-)lR8&1S!AFSA1r%5S?`6_6`4oIcU5QNTV@B71Tv<2$)0;}Ds> zaboaiSo<3wI%LV%z+mIIZ(6qTg)=^XDx=Q%4DkZ&d|0Hp#~R91ybR?$cz2k^9M=Z= zX6GkLthzw*lxkCjQs9BgFznXWZN0yx$jraYs}}>@Gqo?PnsIo(E6U^wa?0`7!xP`iL>2;412tIUuSNVsongqCwSV(=!0y0}Qn|50UB?14c= z`b-X77KyZepr%islQ6rRAf*2d(wBP^q!U;WMb&#%YZecoF%1);)(_HsFXz_8CBEb; z`Hzp(&!@j#tZ`sX@9ypTRfN`Pp{o-<&&j}>etpv<5KaspSu)n?l!`d0QgaHASEzh; zhkwTM>LAb7#Wb_eT6@TZ8tUMl+bE^IHT+F=10#Iyb`K{m_#m-Kuj;l%AoWzo3_#YD z-I9kw&2>m&_;o}Z{k%oUXQ4OLm$>JZMTVmQIa{a<`6oy!^k2|pIIC+$FcgVa zVu!KK#r+E@h09Fb)V3{5i?T9^@;3sA5N>&t1b*W8qBcVO`2PTkLytqoXHy%Ae55Dh zAMyA9z|Wfo@ju{KG@sGBKJ*i|21f>I!ry%;nc_OYVjWy7DdM{A4ZzmMf#HFTx&OS6 zA`eOZjHf6;Ka`w9RlrjI#QEoNT_x?@jF!4aR*ykwi3j5GA34rjPZ?f`I-Xv>2r!G=(84KE zVbSM{oA!Z;=4;^i{q>_z3X&h4_6wpS4hA8&`DUo-N2W3V)DHM>L$&#sy-P<-#6bWE zpmvy;Uga3(QZ=EyIW^7gXU1yAiMGZDPw%o=D~+RW4KVMujKai}bp&(R!D{_r{I%dw zl?mFt$R+HEQ-wg_$l1d!auCUXL1(A^GfEekjm?zk4N*fc?{8l&?SPX^FkkRZHP+BO1!ZJ4`}x6CP*Z+}gVstB4mB_|c9%mQ>Ug@OhmBqpQN%WLm%*TrSofrM zW8UP><)6{ITZ{-f8ehow)A!$9jL|QC=jB^Fo2g49w@;-5Y~kshbH%}Z**5nvRz>~& zyBw~bgkYwqX9P)W#pv6aaJ-D%PV!7j3PwQg@}Fntj)lIFFB7sBzUBP|3Zb?l%;hb> zZys&c5my0)bBW~yUA|0I9{Ml)*)4R9@wZ>H&P9J`uSLk528RlOJP}ErwFlyJ&f} zjB{;<0Kaop_;O1`wO@Tuzqv+6yKFj2=sE!5^2^8k_LVsiuUW1UUm-OxY5rD+Ai?#_ zd~91PQM!o!$cc0ykvN#UXeN;FGaq19vAEIOET2Xx{-%$tAjl;DrlSltvM^_&gZ9Lj z9~XrC`mDuSI!cQuQ!{-W#c3)J)lu@9O|`>yxQPPSPx zWOubYcL>$*z{;;kv=9igU});r_*&0m0~!L+5U?4o0>|*rH|FL{|f>KI&j=r2Qde1Stf%;IaYsgM z%5_%MJra|-%670H|GOQuJr@bsZyd`uNAI~F36?aNj-N4U7z;CFE)_a2WT^S^Qb1udgLzh1?i zJ^1;g;-F!#_-W333m&LYlSJ?mJVTagM#nx11!?qUe^c!SA+E3ea)*0)!gKq!x2C@4 zZvP9C6Y{#_~C};-Ur6tt0KRXaoS{pydo!s?nf-aUT$XGjr}qpwR5xJi~Y>W zPSwe_urGq!3)KBhlZqRyn6le$H)&hURXIz{{av6)F&gS$8_U2u(q0YbZy1j8Whh09 zn*&$Que}+6ix-f`kMx;8u!#OSa^k0>${kS@4qy+Jm>6(eM~e3kbb%j}=hTsRb+nf4 zmcbe$bHVNY8@vxK?)U0zt4e<9J$*Tv)8e{A$$-X)(49=Jt2$jhJiW^}gsOGSpuzw^06$lF`-So--)4(pfSTRnG&t6s zUMplnv7p>$<7VS_T^2_u+1KVP8);n3fl6-Z+nuK%Sa}F3U}m~C zvVwnyi~WG& zIW-;qL9fx?5wsdi>);bC#P0x>&+?q;nDF`fR7KW@)bf*0P)om4$e6wp&E#H>OHOk5$F8=c0EWa?Rpfzgy$k zG#$RV8~g&&B3)wAtQlz4V6?s&`7b#eB+Bcm6TfZpp(ulR7eA5vAA?(@VcBrQz5#Q-F~3!hc-35Uz}e;58m9e zX_@GF&ujjmE&WV#9XZWhjt{sN=u2NSq2`)+Sir5fdTF7Vcrn>9l+i>_D6yO?F{r;- zM&F%g`6mPitKPA(S;p)OV;d1I=yT3#kMKvp&uxd?4P8IVNpv35y;^J6`0$YWnqE`$ zDR>b6x^6@t)j(Geobtbz54jk746Dq#$O#)IWVL+Y4|Hp|j|+&G5yH*T5Zb){wqBGc z+ND`PEQcs7s6|ZgPW3zU87g+4H+}zf$PM4n-KWB!{T6xT*Vd*y*rm;te9F?q$~0iy zz{Z9%%_&YJGeN#N^{{hudQd1-H-(&yUr;q|3|3E?_sxCv<>sHtqsJ&mhYSno{=NoP z#XqXT50rv1dj^U^C9vhP{#{}doy>cAlJI>4oA_VCr`jKS4uaB>!8p-}{nHBfI{p2u zEWKj2+Q8;f)X67Bp|0EH4pi%OrDF%%#RYHUwhX+!hpZ6?;ku@6iW3hl>;vkx_@VqU zy_4FWXb9*)r?izT9V&D3RuWW?j^I#}jHiU-FWfDR`hRr98kR(!eix@_0Q8>cC&PVa zn)|P~L$>S;|ICDycp%|EEd{k%Z<3PhAg&NTRXecc+dF#kJ6(g;QLy8QZn0Kd_KOkk z&%#IctD+THq*FhO2oc*i_&ShK5kLND17-8`I`0~9&XS?eU_z3S zsv>8yc(sVQg`4w_MN)IQfie9PLW%bLSKSFhe zBDciN+!YkI1AonLnEgnX?V0^&)DEp|V)^&xO_CP9*1}uh>#>Pmh=2x8u{3zc-)(*Q z^MPQg_!HpQ!O)8(KK@Smk#==Az))dl!T67R739%BYBj3qZ<`F)6+IaZTGncaf*V^w zhORL_oa_!@Sq^v}RDi}Q_`Jl~d{)`MPIg_Yuhd1_)yYG&a}XJQPZ^5wg1PMdBRvuy zLtL8q4(TS{IP?i&ZIc+8G_e$;O!k90B^K61#zieQVPHT%xIX=qqEWnY=KKEIUU$0} zUd#jkp0?E^1PCcl1tl-p@9EPRc{U}|O*dwA0ycYRV|_c+dQXYzVcKz*BIepl!)rQT zhqG)uiUAkNzaX2%5~Zb|O|7{rCm~GFtYJ&!iT8uT*0DkptW{x!YuQfD>bK8i>6%+r zCsml33&zq*iuexe!x~c-drEWH>h`NyiFqW_gZYp+OcfU=2VDPqu~v*~yMpVS!SQe9 z1ih~)q-27+MhbzxBD;5UtN|1dgSsXv?Oyy!SI`$#HrFLKngVphX3`j-%RlNkuWR~cam_-!N+|5mk)xGIeCWmVnWi2tyI&i5i zjM8!p+#6C%VkqHKP-=|*<}I*CLQCYT-$zpqxED36IpeJ--#OAz#$u*a`!+jjAAo6L zY%Z@#4gk6z7rnsxH5ns?Jozzlv}IjKFGiw%f5;&EyY8DOiT3Fwky_`m2dpN;) zIqU*M?--n~#M~|JKr}_GB_ACcP*7V=(~*M^Xd9!Vv@l00(j5gJdUf<&)vu?Lj#9x| zJXAnE5gin;V*u+?UBFL@;5bVhzP!b4fMrlfOYA`>r{)QZ+aHt8oV1+D)(OZ-ujc1j zz0SG$_=NSPo}m426H_(fPu2Mo-33CrF?XXotG2V3@>$EH1B-02z5l|p);fygV!;Ok z2(&D&<%QV=knqn>XbFxikUF$vQn7S6Si)VRpxN(b=ikeB@Sw0HA<>fw#xmtKAKmgz z^Okm_Sg@$XCZAxTX&@T$;9-hn$=?$MzFEtYUGc+Ay6B7$QqlmSfr^4P$$072dj4;+ zEX*ubsTujyMj93SFX;HGCAnp#vJbd2AQ)%)L3Hq%(Xv}V(}hK&t#i?`ara~T?t9or z%$x)O7&iG*>rz2+roXFc1P#+Zyqwl*T;LX+C%?o*K#Y3xbtP$7C1;d42Q#GfMqi^$ z0%tI5aTI+@GQZlX`X%`MvGlA|J?$&K;$M+0i3GfD@&xR$Bi7?Vun(o7yeGt5FGN_c zK4Uw-T`dT&Cpt-3>*4RnNl5RF0*-CGzwYEccMRzQnPw$hlXrC&zak0sATELV|7CM!TWovOmlv_JjZHc9SJa z>L)cvBq}JhIdVot5=ke%N{(>%oVfIDlc~<}?h1Z$5-NP%Z~=cuNLcfAm46HHSctQR zT}c=A&VR5027_+vb9-^vTuzYwOT^!!b~11z@FRV!{6 zfEcv5vh%gLm!fvp0*hHhu9VqIF@Ow04=#UI`@JUi;_*dw$sd2{NRd9M25T9`GL^Wi zBV(5xp}?G}Oas>no!KBvCam)xoxG~!Rzu#5-QHJW{wlL11A#-W`A+uD^2cr*ji(g}Q3-sEJFndpOx<3UD`3HamB^&@)m?_}M>XSPJo4;an;w|K6SUy5JJWdR#zM)tf9 z#;4c(GF$25Bs#Agkd;1E7F21N)$~4~CMBerI>$+(loVAEqyZb1C@pmGydif9Gw_5# zCt|#RS>^&q0?}=NvlvA4NBdvr*S(E{E-8;ec{ufO;ef~?$NGc!L4yLM%e-L;v|h-g zBYTtXk;{Dt$F?Ucn)0ce`%?#url;E~Rr_rvi(IEg6TNgt|0K+XcvY>)Ri{+hQyBsD z9K2DyPYrORh&pNHyPhrZboTWRqC$F?3B7WX?;IMe09Fl}($2!6XFY85dbw_M2M=A8 zbLpew9OwdAYaWCRl&;^*l@7%Upcurt3fkDa&Evt+L6bkvUKc=^$$AOtx+jHY4a?VA znfWIc9Z(*Y)xQRA8sOkd*vpk!KR_xzbQh0Z)uCXLQRet~lvd84uzLrsvVV@;%t4MP=0)M<%B-IY{0ov;WP&_Nei6hi#%|Q&d)MA@ZYyw7mShgqDZZZj z^6g9a2dW%WJII`rh>ac+cMS#v_m;*Zd$cq1{AZAnGBSVO_JA&zG}d#mWI%jK8KDE2 z1L)gEu8p%JG7ry%oIjCXdIwaKm2`wIg;M|I3wn8TC%tV#NLKOF7d~i+wSk$U-g?;d zyeqNDo>jLG8`x$tA8jjm0ZY)mFw4Pn%U^Oye{7Q*1gVe3@GU(?z?V}gHQTPkiexS` zlO`tL@jK_Bl6XeH38h%-H9m*c1y>zeT!STzs0T2KiA=UFgbGy8zn3FMQ52{ zOjsS5{sen+yIC@*M?B`6?-ldqWP-e|d)TkT-Rbs|4spQq8sFIdW92WfeT7+!*h~;U zQ|N=Sw|T36&WIvg5!4nzkT7a))(<(j+|M}K9}4|;tM=!qZ%r0@X{sO)^9aO1z0+aj zhw=lwcj?|jYYcXg{MV9cm|&pE+|LERes>cIU@!H^^3HvaivK#Z&J=X#=@r1-ekWy# z75qn3D^)qfDwO!t90-b~&3K}%S;uTF42yOrz+Cd!BbJ3#5F^Y;GW)0Uu;(xo&;cZFFFl4g25% zfFOZ#=%1;QS*HO@-?WKaHDce9;6v79MkY3Hp7`sDpVp1y8W&)&V#$!t9sv&lzVP!g^5=UvTvD)3s-v@%33SdWI-r>e&%Z8U8 ze|+VeK|svkJZ6EX*rw&=IZK|;>IF-zy(l@UFBd$MZn|c?!AC02ga4ha6|@p}aSk#x zm$1nbi;)?vkiGDY=mZ?3hYn)59Ur<KWqJe$gCm69$<$j62b$RuTOdPuQ?SWt>GG z8l*kBtJh0U%PM{!wObv>8?ep79MbohT!h>nECa(4Wt||cNR2L&*X5-YyM(Y+OxJG2)exQELLrXbM2$Q)|^7CZ11DABN2o2fn`T z_BVAU659K<=Xs!(m$lZsgMgek?0E{1XW1oIqg1*AoKH%v2H|z>yX~1|pzsFXi}Py> z7{kl!^U38qdF++efYYwG9O6XNSn`M7D<-HlJiSg~Wd?X@j;pw?pktx=cws60i-k(x59=K- z_!mJl!6QR@R`=s{0`g%kBq9-QQ}0#Gs2tHe2jHgxbpy~V*ES6s-?=VqFDh==cLzQE z_Veq>I&Emd^714y1)l8O)*(Bl?-3o`__~FqH*qh_0@`CLO2+>*_U@MJ9|fJ&Pj+UO z4R}ol8@>dRhD(cC7P2d&|+VZJhl6%`PL= z8^FrTiCs$5Mbg0QHsbXNhvG&ehC&)g>;+Yijl=>S5qjz1M2+ONmO@q25%PlySzo15 zSy-FSBFevdT?rn!4eeDPzy3{MjW-Ml-d>HJp(T&%W1)QqZfK|WbLg6;j#RhY|JDSY zn0qBP?-3*ZdKaOKtq)}cAP8lLt?~+tZ}Xy4T7G$=k2iVfI%0-QJQ|-|2gfIZWV4B5S;`DcPDE!S3&~? zCm_9c`qUHTbpxFq$jqxgrd2u5@py8x*j-~vk3f6|7Nr^zbGDd-NiYbmBGxp_`zNgV zU8YPl0@!Ugtn0rZxhFcOKHbdZZfWt4XrSJ9$`zCI5lJU?z3xfLSO0I$79Z9yo5n*2 zKfe|FhuSFTRkK{?lHX4mQ!ebWGOG&O_YgH!$a9bUAVeNCFlbf}#PhB11(R$66CmB--N6YJok+YAiRvoOI8NC+0>Ja{`_$LtX)?s}_PL{4$ zziPn$*G5GV9P_AE<;P>juuI_RY@D(Su`vg@dR0I`RY9MN3G?RzQ|o!@!?YyhLGj=9 z)R4g_{+`*Kr9|=d4D#nw4@hvT-cx>=yjcsH8YfL%Z>x8(9&aLC&^|q1vY3#|a(w)E zQdLv-zZA}`j;4T3vRx}fCGR_2n=++M1M?F4eS$b#u6;~f!iIQi43`MoYY*X+Q=`AsdjEj%sZ*G)4Z#W3}vvb{|{GrLc1Xib>%h2Hc z_;;;vYFuFNpxy-lTp#^B*q2yY7fbpVq^bGA%}>E{by@%t(=??61GNk&HBI$jsJG&FGYaB_h* z*>-Y(J#=foZLB4F%PzfJ{wW7y2YMP>{4P5VU26tf70_Hp9pCW{{j0EGt0r3~&v)gh zQcllGB#nmPY*l-^7N1|cRx{miljGdcWZm;?d(2Jo>~ubh=(Z@C;4xdUCd=$p$!MD( z;Ex?00s+A3l$Ls8MtQv63`}4r(q0$!{@f>bF|AgwcQLm!Z3?b3Qf1}_Lyk%lhyFrR z4x0|&g$Bo6-m)gIY;~*=o#fVLqhV4n{Fuxd?Z~ahMlxYt+=zcjYR&rl?asCW8F&0f zoM*|c%}Iw}t>ZQ8d)?dhuB|SUNB$(2naL|u4C*Ad1+5))q1ragUM!ATsy#y%lE$ZR z65I2z273}2X`%PIS8vMZVMfaU(YSGG{}_Ij+8ru>?aAx(!86$=j2<0PePAe?pn%;F z?qMiAh)V14-c2kBsJ#_h;hU3#%Vz&tqaN2MrUTz%D zD!B20kcQW`*i1^HZo*w0U#`ZFwp8jB|Z)lDBuz{~OR_ zy&y5tyN$gQG@A?T&w0Dr$O{{1TZ_hSj?Q;(W!L<~PS+NraC$2F^1nB|Q@@4jVS*Q7 zZnTUW8~iB6Ai=<9X-Qw%`oKYTfl-OrnW$P{n+?19M*p)vHXGRfr+Y>$T5OJWyzMcg zBUy{>kn$f2z$Kfx8d%xBx*Ob4mjAGPZ#WjHZss_gjO-t7e)2r&X<{MQ1HeoT1T~|( z)GgI<@xh5n5WG))&Z0+G5PnjJut->RdQ9rT!t!rN5KFg-_ljm)G5^I!ym&Xzj?1pZ zn)34xC#eg}rXU~;Qnf|!e3%SP@BAeTk6t;5&Y<;? zmHd8hE-)|(NU|Op)5?wc0^Yrtfq|IJX!CPM85v*s&>#@Jb%| z-=@E#7coa)d?X`6aLU8Y@UTw0RGQvzl7c;kxW5;F+SW^)=>&+E$+7aF> zTOKG?v%3)LXElo-QOy0*E9_-@Wz*ot7rA5mIDp+98|?49SlBo=Riu<+LnBu;|%MFkf1#0>~QPg!56qy3HSt@kqUPk$rT}NPR71Kc+_Ny(@6FG+1#VwLImJYl>Hs*_$ z`+fd4`+?I0H+tL5lOz=Eb%A11P8eUK75;N9|=bCWP=Pgia(;u@y^GVZr2fp zMNLLOKGy`^dX6*$m(py*L=VUjN@EWb*ZNd> z=p`N_HOq+?+D0Rtrf$mKRXN2O&K(l)1Lb6zsL7-dz{%eqYM;yZPuQO-^b79j)4oP; zD#p#C*%N@M9I3ea3GsMMsUV)fo;~gn`4pR5f@*Pvn(08QYmWJ*7pn7`cK>uMi5BgY zPDYgl8UG9Nf@kww7$F%LoEt#jY~tQt_VSs#5^n^&6WNZ{E)KRucZ$^WUMM7tJ$eVS zv)1U84b3RK1%48pa_hKibLxHX`es0}XvlaZ0GT<^%F(YpeUE}3u29mRQW#UfM689I zRsw=1H!fytvHzgt34P780Alb$M?7vud-zL;uz|B<8aa{LYzeIma z$F>lUqAr-<9!S_JJ8QtIcdSqP7%BSs%v@;mYz&>3nDI85oi-IEd9!1>OcM=YDbO7V zs|d-U7yZF*cpL0T$Amq3^iwR-@EA7trc@LkW}#V{)hWmKMLGXT%rlAPhXijqu$L#7 zqZ}I!_HsWuHy3F&I`_dI=VbA4Yd&Sz^kxr9#by-n3duDV)U1B$Q(jpKvAJu-&r3v} zN*??dw2kmLFZ2J9CDsEGJ)V&-A4}s!=um?VKt&U=3ClKJPFM?!Wa8r-uMvRltGREW zTUux%+vbFr?}vx{!G})It-(DvDs^4fBeEVIKZT#7Rh@4F5(1pAip)y`nfx!;mM7_RiEP3iIV$#=7 zUodO+$THq=LS!W-=ws_BI@>i??^0!?Gs((+%ugv8FhIsPaa?UqYF1a#FYl=3omQ33 z4kHZJJq3y3T^sYkk2IQ$-j*Hvo{EQv%Dfll&E#2JvlzL1_Z6U}Gqr|Q^h*7&#`XX2 z1NB1<09@yyJ6hTHi5GL<->%c>{T;;fQaT4g1MvLHYADEqPuwBz>jD!SndNOshVCHH zwv;X6)42L)8YPdtImPxL?jySOjStfAhn}m0jWM`ZTa%1hO?qnNjcaj-0=x82nqHqt z$;d}cs|`-2B)2vf_;d!o9t|24rDq{H^i}%Pe?e1+-ru_$U**GKlZl_QohCH>o1Qah zn9*I#;=$v{*tF`)9FwYAEARoZD#PaX|Ah!|-wynQPhx39}w%64fQ%^T(~Uc~^q9w$-PaG)bTaZ~(8 zYfh3*K;EFy)F5k_7zLRk2R(^YoC^GI`*fxrj7*=%nO}ydOdD(_sf%K*3gsDr^fFF+ zVDPK$sBDe7h5ve;C?=wZQ4^&9XWE0&fCSH!%Oak=0c=SDC4U1On;4HOnE$kNtqABN zcWZ%?BBCDIuIIRs@nNk#lI2Vateeii3CKY02~uIdSAw36n;R>>SB0uEvrQ0yjl{bh z1i|a$QiBWQqLTY?xfhC=9xo58A5|LCkz447(~i7(v`QL<<*>+R?1z`ab5^E+}A~L8uzbDC@jPHz`KfOKE|67@eD4VoE(~_;@10 z5`d=R=E}Hl@?D(vv}_gtDnk?uy?@+4&^X%T8^i00gKQq;;uisT8@`hvM{nwA=5A*` z;CV~!J=UFfQ+DHbSQ;KchpXMN*8LH65V#!Sy)f38`;7t=xVRZ?01JouKsii;pO+A# zLr9jJ{em;e|AKh97n2_>Uqz^Wowxyd!24?^_~rG zauIzOw*y<+Z~eQkdUs=Yljuh}&I5da9miNe$l({f;&Lwk(U9qIxW{wb29eRH*BAE< zJI4y6tPjppgS8quiWVB9TH9G}<2ZoPp6FOp5omunBs8DXtMiRTkRT&tF?S3DN~X1b z9R*;@XnkL~1@)tV=S4WwOy2&Lqn;f55@xEJ(;=mF;(Y(E8__?uNal_>{Lw#g@}`xP zBwn$lBgP0QNMDeCDN5^ph9*LEf95J5*p~^W@t}}iHtHE2?6Lh7G;#m-liJ*z`V)8U zxixVKtL%OI&zSAhhJwpF@Bk;8H;JIs zqD!hjT!eckQy~yrL;(mcq|P5R%T!4XtlL~Af8o7d&f@3eW57{VM$jRt{=hDpacjDGtavWYUa35i` zjyPOIZXbDUjSHi*{c*QV+kV1Po>E0p+5&vc*jnQgtffg`BwEMI11Yc5b&+2y=QlWI zxSmK{kF2jF0`FDY0J@kHxEz(31{^{#>*>6z_hs8-@oLbhD*;W`4kxh9KoE--4WW@e z_O`wu`<(4R*fRlF@k3pMAT|U9_nq_!?kjF}TEAVkv{KA=aIx!7*yXn2@;UpBh76oRou> z4zwcY$6!t{tB#l3v3H$iABWs>=kFA|{nqH}vBX8u#OJk8YjZL3s|xAzJ6P@afbq_Y zCfpjf0Mn<|;quM=CsZ8boCcM5%e-R#+eRn)>^`3QRDUJsG`e?Q^@{bh9fX3I4KYnQyerM zYpDL+365)s~m1_7AD+!19SZ=5krU&FX#d(Vbsy&Xez~k!p{Q07euX+BtKt z-o|AN-PnNX|BIVWsJYT-QMJXznUw|Q$6ip1$aPok7LbhqZKSsl_%fqA_oxz;B?Tek zG}9BABIy1+p;zj$z$G7&=(-s9zuakbrTyMkB+*HsBd-<*Oif4Q!j&~g)uM#VPHdXx z4C&KEa@aax!qE`RY?4gNbXk*X{i+{JmjLehJ$--{+HYAgRie>dy|Lu5i z^rCH2)PA!R};79wKc*3EZVJ!jt_U+n|{ZT*@&NA$F)}b zD8_s#PZMnk0kqKU!@gCxx9Lr4I&v-dvai#>NEpN--U*g(Drt|R2NXD4vEjo_zXEYK zJ5uXGY~rxqfCgru{b9$Z9#l8*(e+8)Q^=VJf?UnvtQ47}+JW8*S0OSde#KF9c2LC^ z{0p2S$6LdPVGPPz@Z2w@1j%XQzOdbr^TRi_W9gAiLT7|vCv`4bZYIMe_s0yn#f1rp ztCs|5oFp-sTA>)cD7E}MKCjQFcX6Vzsr{PUHe)RgT8II18f@0EOmAvLqm_E% z8hS^o3E2K>B>Z?2|MMt;0DG%7oHf0p9>)xcoUbPZ7aE>+K1`$Kb#{u)%!EMje2Kbc z1DEK;8c{{CH>A=^v@q19?i-zy##?Ty;N}4+qx4K zOqx(j*ATA&1k966Y+;qB7g|Krjoxg`*<<*iy-+VJ{;4^L9|ejDI@`^B60F7lTS~fz zp9ex_u#LO;Q11}8?;rvgvXx&19%o8?d=E-A{6jZvyxKFl7>>(Jk9G5EeS+1(ugTFj zncQ~CzPa&cABWD!NwIu(-0M>;fsjr)IaF+>+Wn@N>R;2VnokU-=x|;T=u*}Nbc0Z> zKqiSnNjw@q^%6@WMp=AHYjp}VLMvCTvXmRCK{*0J4|`=cl`=U517X)T>Z{M9>%(

673^6>N=k?9ik#L~)sWG)gISMKfydpYmjP~fQ-n(l`Cri$X7 zCHbQV|3(kkJ=iXP&@Is^Z9Zs4i*KGmP@g7*jn38j;bJ&?F;ja7y%BY-l&kmLinur_ zl}@(Ggpfqg8ufCqVZO+KXE6Br9q-^wlfF~HJJ>hGSx~AKLPeHLxP2!kitYUPq*?Ct zI>G8f;Ey)16j^9inltOq5_lIB+M|AxNzQkjio3*~;8ZPDH}=^koZo8XR@b~|*Va{m zFZKp!3a)~YSAw{GLdGB@HHhb2qxlV|XPy5e$oO$ggxmgf@~(M)*5&Q-7qcpGF)Vpn zPabs&$lbc_Ux+9KGHh_`wtXvspU(Z&6tDXUg7g9q*x5KF$Xtptia4+I9GopAj(9I5 z6elt-SaMfK4rM_u*n9|V3jr&hMh4ozkjV&Ow;T-KaBkcz$TGF}L{>f(05HIk4&^hn zbu+npuJsT_yaLvbV;|Sg;oX7@Mp^O`S3$D+rxu3DJN3EA~BWEW$ufH&!WLudagx#S)!QVQQ^y z1ioyoKG(|jck4%2O_X7Gu!bJMyLp!}iViG(H)$2|_xP1}rc=Ha5S!-rZ&rhEf_$@* z4$)9*1slr2J2w)g{B|QcW~=>QDX%^>=0C0udisy)kxB75FjUL|^+dwTYNE!?B`|K0 zZPaIFB|C6+I4nbNI5u{XPG6h=_9cF_{zlU=3bH4z!Baz)`n0vC`1#L2CU`z=L#4F| zbfGRcuXi*cTo6UqihSTF`Xw3t^A~x=z}j|l5+#odIO+7GCFkJ|qVh{d%(b#ksCAD08s{q#*RFT8w7 z0|6wK*FG^Jzg55TD6UHNn6oF}>VHGoH6n6Y{Nc4mSkWBpGdGH2IRYqx0I7hj^!oC; zZp^DbJBJTB7|<$j4rX)dh6rlR-s25S_4N6(fIQFIhhA8tWEYw1z3_m8d6DkE zDZPt$QH|2Z(XH|6*w#(9L(cgUG#$o-!Av$aOuNkgnDxEO>FkCJ3Wf*J+@)^xJSNzm z3-=a`F}rURH@}boweg&c>Mgr^t$53SeV9B~eRnZ@ic}vcGrH?m_OtaqgCrv@g6|6v zeJ{ovEY)4ywu$FEW${WzJv`AkLaz>Lc5911jYK_}i|(hyRxzfT?C^gMS`0<4eN4lVclhrASxz3Ek9Y#R`IAr5u5J}BU?7Bway z3t7JSR0HvDFM^tUt-8sr^uxa(zUY!6STfsVl5*u9txqX>zIX#)k)TZYt~=V(6o>9E|<^z1S8h}8(O z5k(?xe{}-3QP7*P*s*-Fa!o@pz~0NieoJo=;G5Z!{mO!r%8qFLg<2xcCOx{(kcbT@ z{{m2|gn_>C;Ie&*VEWp_s#>(w=X5|mJMf#@W-70!i`38G4Q0}D()$e8q`vcO)vBu@ z8t+V+`#9rJeS0Y}mR8^r+nj7O!=0|4C!AdEg?~Yp8@D2(Mq{ouHs@yJZX2P2clttO z);}9*_A`gOmfMm?B|t0fu~C(YVE|0HGV{2RbRel4E<(7=4|@T+szNDE%yZGc9p3;P zg**yv)?T&Vd)~bfwwSI$Z+{S(G@>)gUXIF=LVR-JJ<00naX-5}y1j_n* z4*T|oJTwW}n3)Ufb`LArTL7fc1xsxDWMdq8XrEQ@uw&oqI7SCHQ4aQrUT!fTe7qlN zWwf0a;Jsua**v`(x^F4}qSZU_XQC|%?f?#)R83G9hH#*d=WG+%X1)uBxTM2ASB@kLEyRQ z(i_ZwO$d6UK8nL`m|EHcl%Dm(xdymQq@zTU%D z)MKKC{7_)uchKCR^IHD@fMy;iuA(hEkpXzk-H4T|(=M`c?`4AYUIs9y^-gX2O7w&w zgYX8b-6ucO2hYw&UVM;={~0*Z)ivat^?T#b))`c~63l6O)J3xq-8*_cbnPH~|5{?c zq7u3O(DY>+hoB=qgE4f0Bx|TZyy_2=zRDxw_t0;<^8!SEhc6=_R0y@;wUzIO{T%zf z8vmudra%I^n=8y(a@w;xD;l5HC9@`yl(Yc{`-;leYOFq~vJhWYJj9zPos5I%S#9WilIPa=fVpYfBE+^KhkOaj7wu9Pf`p)#ggop*({*JgG z=MA8vRi;mXvb9o%MEl+0b~o*Eq#)MnHxT?5TLKUg{s{ye2FH; zLKA3t-9~U9Z);g&oT6`6WFEDHi)4b1MdL$Yl4UyOAG0+(mz?-kZ?Qnhh{?HVgQF5( z?|%AN9T96Zw2B>TzXrwneKuNN30T)GLFOPN%nQZ92% z<(3eIa;+~VY3}#iTuLRE5W-No70q(nFpQLIC}M18v@ydr%v`s9f1mH~9RE6pv(Mh2 z*ZcK)z8;SeovJDfNJv@VHsHe4-Y&3W;mLQHLv_r@ecd3oq>Y)h@_QL&fGr2=_BrkR z%Vhzl1&A1<^xfB-8#va$t`dp2!Hwy2UR3cu=_M<4xID7Yuxn4;&L-fw8u{RZjFfrg z3hV2bq0$U@y$=0Spj`gD@q{NwCs?iG%1JfZk5e2ijmY?Iei~T(^|6A}Il&UcC*;%{ zP**#st4*FIJHT9gyaM>#(%cO{TmzK{vb}{6;qrQv#7?wOW*{iI7rCSmTDXqVYSw>7JkGNL^>X6`PVL zrDx8S9FK!ITUOo7-BBqkj{U>NXwK;Lx5Yi3nQQ8xvYmXck=hC{AJHrpzO81u$`00u z<>RXP@)_58DRKK36%V$ba9*-VgH`x+y8EDMo)-v51KA29a#1s4A*jZfhpPv=;Gh^G zf@H$`(eDLOB9Cg>61NUp-M9;~q6sB~xUI1ST572pq+xW$30TQJrFC_9DK`&Oo*Tbp#kQFnxO?qh%=wjNX`@s1 z$!i;y4=rHJh?Bh^a>72vS;%2Szfqu4+eNFAe;@XwG)5Ql%oua9Ng^cq<|(j18&)6* z=srNjN2(WFqHBiPVSYOd;tcVhT&kqvRr zw`Cwe^icn$*pCc4+)?t^uJI>a8NOIR32F8x|w zsbU_Co;=^C68A6YC@hvoI^2}w7wb&)SX#ZzKNWLl+(>Kdn_;x`egZCUr^_$+8 zJ^c}=OS*U(?z1V%J0vk|%nBb}_Z!&Rb z#`CwW&;yfo;@{w4H7uIBIZcn#frW)RwhvDN4hgsuIo7VR{NAuu|Ht#wP-7##&ybba ziwMM#>;y9McSvEii>|!-6p4f?Ahz3o=j_4_qJsenp}>$R0QwDV2yAJQ_c^)Z_BxlSQL4KZ>G#0iwqO64 z-~&~R+UWa_ln`VrHY(~#)^_Eec5l`H03TLXM(4j1o*nzzQ)!|g^!S^PTyVaOLfMhb zbywbOkE#J@ybt0D`KwJFzXPijJf~>}6@&H!BN#R2rvccScXU((Psh4X`EgI76VI6( zmxtkAQX7Q4oX{U&?5&%)ALpmD2imOlY~I9eo!Rx-vVc4rkclk?!~)%PRxj`(~QK0Rm9r_u|7Vcqffq z;%~;PI`?e>E(>~O?Y~npIksk(6h2=2G@6;m*rs4@2cqVChFh_jkhw_KL zNgDfT`d{yS0(Rn3Hx_NdGs_gUX?-T{=ojp?9i|{9w(oX(#tw@YMgB~_=Vtz-HnN(1 zX^-G(>YK83(4ys1QV|LCBa-&2aa;Y16>9isrI^#>A=ivNRZtA2xG>p-rg}WW!G1jI zNuIS%dfVkW-+>(c21LW>SGQhg0~`xnT871+_RE9_7warFeXGVl8h^D{TqkeT$~ZKI zZ|}&zhfxALl~ZA>X?m88OVqa3uq?Z^(^*T+n4!Jdk8(`6OfKAb_ZkaB z6^~ zYSms+I4UN%mNgZK&+Lv{>Fas0aB1|~tW%-rt@ta-!2$`-yG_8J^AyBB!KJ)S^x6VC z>|YQOR$f~1yWV|7^EXi7i*JQ3sEBByB$q`nwexD;_ zr6-jl^Xq2OUv()E#cO|P=*Xv!nn@NWWu)Tb=<`GU!?0ZBG;?}h1d-#8?lnJsmI0J8rsibGp^LmTx@}j^g0=s%Rq8fZmiE_ zW(nJBM0P7^EIx4}3~fe*;X*?v+X_ajif_M0Lf#&CkBWnbXR~XqOcPfkgnu|)xV*to z`C7*|i^%K^6HZD6Sx^rpr2mBCUXf+w>@#+SO-)DFW$rmn?>#$oA+F8EQ*yWu@mQg{8f9}k}!#8;id6%hQ7iEcEy<_5o~P zjNWc86*hIxQ!F6vDNMG58Sj~pY^W)z`01Jk>tdO3g!P0<{8U0h-%=5Ii}gW@b^BXY zu6+zK3~%EwSCys}D>YYTRVjQ_%Lzjy4 z?V+zN=QPcvrX;%JKz%}SDDEyI%?M>nv5Mvm4Ku@^{|mxaKe5c@ylV930q5J*sk#A! zXpG2#Q*i~ zw9(k?(e2m)x~k6{jJ!kV`>*0ZXW`QVn72co)n;A={Up|Q3&`7a0__0vqmv&asQalF zK^6oZG3F4c=W0!yU3@TErY4#EeLV_i9zh-fhRm@=$Ya}#a$ua*5a%4{9A?Wl>L0PL zee^~Qpz;MA^*V@57FMmfrWht0)i5j{f4BC@%+YuA_%P#CeZ~-u%&P>vt19&)!j2(^ z(m#bV@x_Q@+|~kkzELx*PuV*tlSkgon2>X zfK<&H8>uq><8;WnMA`LEO}7T#TroaFQ%emHPzHv;0j43x#;fX|Dltf3{ahbjJKd)+ zqeMx6zy1vuYWfLh-rg6vKDPvf2y{2{_-$~MY0cvJ<)-U_W)2tAbqN--0i#sOH6Xnf=sU2C3NGp?;QsA@guCNHa;<=kj2%$4J95v~*Tu*VNTV51thN z(|yn7P-aP6u7RJBpZl}peRt-boWUZc+K!dPjklu;b}v1ituoA;;~BMwxraHt_P>)E zx%A=@IDD5Fp{#2laTh$3Qd5wI9Ql&Vj_jQcRtCw%=A~D*vjoBSwQUEE=XhopHFXOt#lx|DhS|WH;zf~;r}IVvf{?w# zn}wB>;gguuA`XdF31dZvj*}d6b2VN3flV2wf6^^yv~556NtnTh1J^724s`!;Q3d$T zBFsx~0;b1YN3+IxVQgnIb1ZCGU+up_ykxs*=vC>$j(8p+wEE@4)^-KA;vzX9f|%^+ zJ!j_fST0icexN(-ubR`J5MFIeR>j>&|3r(SNMl#H(WT<3%(vU6gI;(W?7tvOpSnqf z=Vu$}4O5}a4L*k3Qgp18f>apU34}lJ`xf4lBisj(l@Tv-1<$?|ViQ`Eb`96UV7K)4 zTwU2`3z0~H4%@V*Uk@r*8=#?J+(PH_Xmxo^9hne~uG__-x(171g$ftp6i?hY`Ii1p zxoJT{j=ePKy%oo(7@1AK+Z(~RZUU^y^3gdvNyTlZp&q7j#qC9aD%3-ZFzsN`uL=K; z5VeOV;&rX%YDon1pXN?M2?5;)J)|CZ-o!thb|*i*xpa(wY|hL{P3lT*oz|05j997rB(Mai_x7PvzPfSye%~Na(V}ekH{H!GB<16UwDtGsZacsAmpzqD_Cs@vN>KjK%jFSoDJp+l4^H_%><@;uDy)4Trd^=RTq7JWQYf7t}8HR zw&uXYY^<|kby#EhM6U{(0y%6s6S_X3J8Zsq*Y8$;6=-U8onRp=+z*nx)^JdA_gbar z-D=!Gv=6P?=iVYeDqCKC(q(5C#dhZE+&MOO;@aGYTb_bpB1&(Lel=We^19FL?dU3K z7{vIfxcy0n6jlAyrj-N?GG4f*3O2TTZ97>@PiKwq66Z%2h-Y**Fo06jSn?+Er2)NU z4=|W~v%l*hHZu#jvQPn6^c(9MX@OU;=8pRg$s>bJlJ?==*?48$hawDL|IJ-IeR{|v z7kRXeZM0=h*?-dRT(lvv8mhv%u-Y0_vEQksLA#UOX-3N~tyu=$WK9ny(+wF?n_V5%22 zymQ9yB)Xz8qFe88ed_JaX51{nS__Dstzjok%}WWvkAeGm zS6rJ!(Bjw^s^AOR>GBuin4~S(#HG>n@1K#43C~pL9^F5R{+*e)AL@5yw*zi~5R@pe zoA;gDL?eIu_`-ZE$J87Ow}I1SB`*8|jH+F?&-{)E*TtM9v}S9N_IgXfRw+%p-sbB4 zU266yC<(#j7Ji4>`X5CHj0AAYnxlRj*hr1IU-I`Z=e%+@XEm~%@=W;J^Bc;udU*5Sf zfmb_u7XCvhMM~bFuJ8(U+RV)MALu_=xIkus)GIH74wzd7I`=c00xGtcNe?C;B|3)1 zvFNc{yEV*qxoG5*MrUAdv%S!tcdXjrx|B81!mQ`oAJ1ZwnGId~ZS?QuNv2_7=0s-F zsQfo;X(lw&_aXh!cOHe!et)Z~842 zleK*iqZ#-M*T*7T$HwvG zzps9Sub2A5o#F1N#0Q`Q>LY9~GOf4EpG+mDzH?A>jD zbd}kA4&DOjM@lP87Flo`C;2Ehk}i5T?km~~c)*hQZVH9c?edASgU6KLc)>ttQ`KOC zU@<>cLo;cG#%%E)V~B*-xi=uYO(oF@S1>ziv?3^sk_xI_Uaud8yZMc9=B*oH6v(I~ zY#;DB6?&9VpWLO7_^>X&@HrQz+AksUR4`%mR|a!gSflKx~;ybHF4i7*j`K6**U&__jlgeJZr`NA>MT67%I|vsXVW}`Ww(L zc7}H{S|-*je2YOC$u%m7o0+966b013ij3p4AGTgc`un4;?lQ~w)_rFP!3@oGm-RV< z;D92LA37R&xZ=%iY)`?k?>&NP)gK^QwzKU^>bac8HY}sZTMAVp1hUi0Xa*Fp!V6@8 zj^e>aXqoE4>xIpGlwzBQ;cT*&P1;@T#%RS-Dcf(_$#F?r@opKJ19*_QnF}}M)32Op z?(CKbSAgFhHjDx!#6Kac6%7*yVtylN)H~orkwyJ<9O~wuSVxzTvCv7aXdhf#Gt{Ou?6ZOOw99(jBkhlVcJ%SwgPlKZ_b7F)(;eEp}XFFL02%N z^66;0f-8X-w$6&SVy3vF`HN0(+Uu>KmT-76I}1_33gGPMfM^`k9CY6suM0{@U0?5D zzs^v6GUCa*d9F0*>s3)&YHD`6?mCrsBTeLozi%w5C1iw5Y8*qWEgk(A1S|%35`V5I zoT7@#O3Hn$X#)g0aaXvVsLLK;Up3Xi5Yfc&bD1?4dl!U12xqMJaUzi}JZ<)*M_h`I z?Tp_NvCDHr=LYo*`mBs+mGogioB^qOZeAL9Y<<3t9$VwX_>9HkmiTh3v3_A>;vpg<{D^t?O1F+ok9%OkHvkVl zmfbNOb7hR_^khK1eU^LijIi?7J2t|ziN2I+UYmoVV=)ejSZn9W?!_}9?&A_0{yR9% z8Xn0zroX@x6^cA1OMEVzfC#2%m90UQ(y2~4HOMHuK@^ zf(SOd2q#AB(v<2~>FIioM*Y_J^w+oD)MG<%-XH64Xl&>CFTvTnjbYZPI}tbh$eTUq zntNna(j#V=6wEKY)=V_9$ZUM}CjQ8mo8@-oxUPnz23l%DdRKhZ@nWY?Ubp88t}PFgG}Ak;Nk0+r1}Sgl!+z2p4D$#408Ii8GMs!5pwV z6~S(tSdpQ$Un-$Wat|OL71#M_)GXDc)2E3W(+tA!^)3>+4QFdV_~Y3xY-DDG9rbJ0 zJA#aeiMeE;{1u8!~Wt zoeUh$FFY>u=Q`bmO?!mpzXIX%B|u^J>Os@NOZwMqj9^3zNMLBTvzMC67p|>f$?M19 zDp9-^Y+rJbaW%Xvc7y(pRw~0lyn3?-EzvOOIQCt0%sMLyvoH(OQJu?N;)t30I4m@=^%=<8AEvsNuw_ z_6Ps99>`;XPLDIe=}8#B7xaao<8RBxicx%d-+3mg;xj`f#0AG8ubE0Y-8^)p`V$SV zFXOGMQ2JpgxTL$$bJeeE>&LgGj^VdSXmh*nKssJN!1THo`Md_f1&zUQ+LkH6z(w!L z|5syYan<^=D#np$>&l{MV8A&>Tys^Nm9KT0TQw`!@=zvEWv zt)2>mUM^;5W|*uiV^(N3y0CdKh1=CIVeg-EwcwewR;mJ7r&2AyZ5o%u=Xm=KG5eyC z!e`Mt07J};Gc}}n9XmnQ7zre!(9i)tg)RB*UrnQ2L|}co%qq4fzyeIo9#%qx&g5B> zU==(!CKmg6mo%x?817nQ1z+-5`e1LaUpP=W2w_eM*ncmn1a>*Xnc)_1-h`jb&k0U^ z-O;HkbOQ0 zrrWu$G+#rQB>wCavrY$j0q&Wvf@dqy0s8T_F?Mp3K^)9nCF!GWP2WbbJ77xmXSZ*h z@npz~miL{Fdf-$OF(j;-G%EP@U?{%p^fb(u`;hSLI?MmMeTaUMr2t?o=tdnSl1L*(-R*# z6r@Qq796i8Ej0pPD&y;USSslYU&yqH}Z;1mc6n$(rwE%|e3*n9iD z@|!&UNcx~|bz|&0o6IHPt+T>%|FT(tRNi~kqh7I-6*~P}UtACs-`QP}El6zah;UA_uPYv#451{iq z1p70sBCmuB$#V}L-PdFCy*z})UgS8j+dmWCqJkle!Zy6e7JLj|g8H2|{z=(JCOeUQ zQRof8;}izp-(0Zqwf9vC7ggTgl%OiwfMf*&4b9@*1MVc1z7EIY-D0KqVPo(}!^?9i z^DQ~J8q_*aVpT&?%VUII={do@=!E95=YpX7s|{;y-O-d-y@S90T|I!S;q~m zEX2j~NBUr2V(umn*uFYU=}jJ=P2p|l=ikvW`0B_S?l%__{k8g|_(kYyvAFg<<@O@Z zV}cJd|9bi|W%J=XhFqi!_`blOlx}zGL$dq0qh&?=+z3x07xSc|=nIqV4xj?CkqY9g z^|m;?LFlK3PK8-8kttCwaJ6Hve&m%}ih*~!+K1J(k|SFc8$9(~-5OS9`e`#;lKY*I zJ_2=fF}C1qy7YqvzK9F zm13Gf0T(WoxW7pE_3c8h&|6y3xp}tmPYs7%Pv7;) zp$PQE6MAZPPg7Y#4BnTuwq}D5N3Yq2SIS@C;G=-e z_q9>q;;?bdVUr_~V!vwdCs-4Jtq~)5;=7F=dsYsqLinAFNnO%SBl7(g1 z_B#Z3YAr6GCX7@3;pBKt!sfV&_co~4uE(|HinJkbOZJsc{n8dnW1t>i9aWZIZ2c4{ zX!)Y!KdwFZ5>lI?sp>*jQ#mu~#brA+>X(N_Q%leEiIqup64_@uh4rrpaprv3M&4w1 zo&lEVzQ}Sqg*2!l<2jhTtEDjm%{fz2gjV*qq9&s*V|>!^NEDEn_g~tg5)0fs;Hb{XDmX4PKBgN2;*!r& z!fkEd&qx3Zz67o&#GvY{naaC8SE-=yUYko3iiKHbKEbDJyc$U1qyAl1s265!<6vON z5Xsoe`FThQWIbOh|KrvSMHxX$O`Ccn8DyOD#nSi4vR4G&-!#jkaBnbP5P@;sNss@v zoSnAoJBQsxxS$91KQ?=~0X6Uzr?$AZsOrYtQD#_&Aar=TM~RXVGZR`JNFU99Q>$y& zbRqMO_N82EQd(CyEzq-Eyd`=lQa|Iv&}@HESFLdg zbSNtAZiw6@<=e|rS4tR1=#8zi@X~1NA@b+JiXC`YTf?~CzZzG7;b?g*IP*{-F)m`T-wlkm7XBk@ybYGCO;?!a`mX`a@rb?DvYV zrxHHKzK4n^--nX~;!C-_L#aS(D_Y@Ehpb5_P2R+4U|5#BFSrdLqAp%8Ge4&(rcFNe zfT#*&uLCo)GkPwYSvJOMaos+08(MJI>b~xOlSZbkcKA7%i|s$R33?*h8Hj^vZv<4C z#UOdJz~TvHeyfpAr0@Wj(zPp9HF3f9i>k98<&aNH{u z4QQm;+}!yis=4uJ-vb~s8w*A+ow$@Vafb~{e|p*c6Zosr%uFa$!8&SgEbQ)b;pniHMjpDQJ`eTZZ5~68&irW6FClwmj)Xx-$xNA}qt*u$ z5O(thStk?ngE2H}cB<#7AmX5=@!6ow5CBBd*s$GL`4NjAQ32?rbNnb+h)BCbQ1uCF z{aLukkid|>7ys^1&^3{%qhBRl#3W4o1MxLsh`?WmrjE6%z_K4P&$M@g$?Uuplh`?fD!+o+*p2~($ zf8S89`i_e`8e8adVDP^_^HRhFj#n70U>tf}*C6jlvfbkT32fc%UwL`E@5`2z0*&)B*N{LTdEydqbB^ zpo0#gMz?ch^#i_ZfIzALfUdbE#o zvz^ABv8R5WX21dD440H#_;FG|`Jb+m%%E*Wn_X;l)FC_6Ln^!1(D;R+UI4u0fmNQ% z`RgU?{3Y$?JK z)HO2ZR`5D7+fRvG=izI%}3A8=uSFU`Ri-qg(7^FdYnsF6p(Ua_N` zzL~(Gvn^jA&faZ?f_D;y?S^mTYoM%WZxy@hF{Dw}0uuFo#8C^-gi-B~B&nza{L}LcH6N_LjvFr~3b+g~(e` z^2Xo%6Q-56va8Cp!>VDh%LJoq#>J6AEXHa#$9_k5(A3c0Oaoj+gGI?`hFXw%tvi7&!&dTFE^ zqrofYoS3FqRbs;piFyzf?{IKOtJO?fq~Ru3Qkm6@I< z__o~``)hsGni2T;=N_i)xi7*u4<$84;|G3CYd#Rz8-}RM3bG9diqf$C^;zHKvUU!& zfjm&Y8`4OIg^YZ|5qyCH?Zqf_JK7A3^ugIST=4(3_}?+wo5}V%lPmv2xC8 z*e73F%A<9>j&tDSC3yOW_48?5BV2vYGRkw-__7b7{IBV!fdeOw9QeFHbF=noVyn{3 z!D`NMB7fB5aHtFF<+M`6AEu*2%GEc#{ISxtz_$-O7Veyf&-Q#Ow~=XWRg+pU=KeM*yGu1K?gP>86G4VZz(GDbzw@-jq}o@_^Pt*kfTGlP zm7%+o&_VB0MSx3erN+3{;Z--gBSl{7{KN)WObL3+()O4R?J68;yCRQ3EXDIrHyKT0hXb=aYP6i@?h?=5dHO&G z+B^HzFwQ6X{+zk}rD2AOuX>|L0j6;JU(gwMBSynUU>krD4Pj<6?`~gzZXzcbOZB@T z-@Mry0F}3ij@dW|EBNd5koqZz=#Xn^pYwnQQmB zh5z~C$%Oz*te;V&AILsakgRm@$4lKIi~b~LoZ(hN*;cqY29tOo+6kRX^x4o}otHZr z*exNVc>&zq2gx1^cFoafZZ@{fEp-0f66U5i%{%1h2>j)4QHU3>H7=8r=_ek@lV3gh z7F%!-+)d006Zq{ZTJ_#j*B<^-bS>k!?=dt+I{b+1d4gA1f45YjEXeQan^MENs5P@d ztLe7ZkwuOp9NtnAy?NP0F?P_q_1=oY1I01A+0BO)NlLtn*crPnk|%X)@*3? z-8NjJH{g?#m_#HPCIk*Jac>I;*zdD-MIUom4>#A4M)nz|w1|b4w_$Xi$2xc2X7e88 z@B{QGn-4BBvd~TgFLpyVK9DB)!$qI;1w`=?3hpD;a|o?8;msltB-OA|(;k?B%s9rz z)QqvJt!5qdLM(|pOMDNwn@y={DCS*tzwl3!!!sA5RM>)q<*+bok1pguvG~e*%NYCn zi~G+d?jmMVyh;?J(_v>xo7mG0=pD$6eAF+R0<-gvr0kfPr=_MRjQ_U zfJc$!&yItZRIg7;I}&;ne5IMK_4IU0`P{}>i`v@s^jb!yy(^Ml#mCL^J#<+WRnwqJYrFYnTn&L=f+x_8x`f)Fw89{oe&RApEMbUOkWBoPH)$xr(^#(fiU8EB{&{2< z%lg<;e|;^%$I!6U#mcHTfTz6#J0xi`6qPOg!oU2FhQhpOW6cGdx$R_{UGlKUyP29O zbX2l99xN`ZXJartjH|T4g;&Sr|2?06eB;AE>g!$p<@dUOIufm~9oDuwgxh-6 zeW{5Cg`|}!DkM_|R6$?_j0UDu8coH?(tD0{{Q9in=Yk=-ZLmt`ZL5DX3tn?R|E1X& zR5`jk!}F}Tj9&{(Ep@9~g@aj)0?SLyN%0;i5RDWe1G%6SAo4A1=Mi+;<%1w3S;-5m zKog?<*;%JI$kBX)SQzW`s%)50n&|6Zyhi$#&AMjm)xJ z@_i25aeh~*eAzjiGJW8I$GZzR@Q2hqKwpZ^D(d=pUQ zGFg4XO6;QV7y6!Zx}Tk7Vo0H5NOc$^)K_OUh{V1!n|mr~i5C|OufF8?L;S~vw`(8v z(aaa!-ah%jrfk-)py2$=M8{;ay>|qX)ns~P>=034@6QUAsZReq2f}nwbhfWWo0gO1 zXVac!+k7ov7?;4u;2TrTdVadqYKJp!Z;DuVC~V0pCB_C$-NU@tEOrb#b{5%ie>Qz; zm;FZ4t{+SlB@kTtf$d{|ta(kYZGn@ySOIwl$Y-d|p?nK+XD8oW;L&5yzjV}Mh`qXt zGCJUNbI-0XlLbdk{VJ>3=$i=uE0_z0ITB?kFA5^*k!Ip4^8^oJw(X_l}Y3GOkr z&eIxolp$!_A5E=QG5J#2}FZQRukdL|ph}PXFMqYz^J%>H282B- zvrfNZ*Or4^TV`z{4F*s5Rl6>Hi92WXVRqFs&`;S(qo2H_LJPPhx3@_&VqKw0^(WE` zgL%;IuUnTK@%NVH_AQ0LVPV{+1$4@i9h;`2W#nCfOSSif<#}ikbE28$zCn|5@Nocj z@uG2qBd&5j_nOQ-<@@*UedT7R^R9I08b;6rrBqO_K4Q+^wsm>iq3iur@oj2A+XldT zWF)0|+8caU@g;I`Qgh*oYG7k0lT=T5O`H$iYnns zF8#jiKQT93Cw#kUPq~fYgJ|(eDE${ZmEvTz^`Y`fUWr$BS6Bcf%ReRJQKqcUUP4*D zr;qN_xU)r_5xbk>Z=de%Sk@KQm04(l9QGOgar+a7Tr=%4&e&*v?uwJL zT_#2Pk^wKTQP1AX9z8e+;>`v9^$vQcLeYMPTPOpa;j0|EgZy$&V>ds)saGgVfWlle zSC$nH9LhLiGvdS7j||1%8E@InKc{hOY14m)rw6FUY4r=$kS`s}Lz>#_1^}w8m(!!$ zZHc;`aV;@ggjL##iBKOa%X)~2TatxPi~6sr+SsahF1cy6`r&o*23n#tcIdvou++93 zU%2>xcWTtn*{2~+Zrw5~BGlC9^39Od1Wd^ly?eJ>gzW)(ST8McZDu zIBgv9?2KEboQquaPLP${{z`Q~906=Vw{2P$KR2jDIz-ZWF|9aZdXh$oj-u*0i-o%@ z(A%k=sk`Zt@4w8g&f@}4M4mr(PbVntI9g60_qswfne~U3fJWyUJDoANc7YMc`1Wr9 z6fF-L*HViRt-$*dKV@WPcWUgBraab?VDyv$2+A@M89}l86Sx7(@7-NY&fko*dk&w4 zWVPAq(hQ-U(CYNF>XX%m(!-`SB-sZ0q~Pv=TD4T%Lms??%b|x2$`Bx8ff+jUZl#~0 z$_Z28fIyro(wBH`Uu`9l@w_9#ChqZ+d@JIE@wCj-6(d#?a(jla2Ae~Vb8)j7+P8|d zn{lYcJ`X;acFNoPuc?^Nu1V>ZCd0Byp-{CCD%H%Z&ys~Opwq)p_kCs&hLR*< zSulN7&2oAt4%pV*#KB&serab7?CfTbUQ_nTkU6IvU$v*WI!D>CW1@+UprrLk7fb|w z#wK9o>h@0s>=#T(yl_Pcwl4Eznt}Wmq?p6l$<0cO*d z&|845dGk&*4Nbw^-c_eM$$d|HPl0yG81=|+%U>FmQvWo~0)8urG)*=db{wVIw*iI} zIH2AbtMh#5Rxa{wW|gh8SCqZ3mR@8+nV+1B@SiP4QVx8Ysg2kF2^Rb6FbqMguEpQY zr3jb{0XD&WVu~K4w+1@9Q+q_bB3E$F6H7)k`+%?%rWU( zH1b5Gr|uILZ3}pt?7Kvjkt*U-P^rp5x;vvR0bxQ_PtuVkG>g*z)NmC*HK;O zIFg4^4}bf7Y^Setl=JXe^Cej7rpI_83+JXAsMFhS5ft{BP@b%JKd`scRECkcfV^e( z$z^fmk<{t5gvQ=SB=-56I?DgSVuo+`yf4ut40tpL$Bs9SZG=0aE5%ArlNxzGJR|;l zDTln5>^GA#GF>Nxyd*AI3b)Vpb)FP{BQ<0;F8eKhPqKa4C-I?(Ma`=`5npv<)DnEa>af4}t-_V>Fk>T&{v1`-kq+<-JRX8TnTjTT~>Iq zvYd@c--AC<3GtDZm5&;MYAtWN)W76BVbdJu|DRrF?-JipYRoG;=5=GZ_}`mp&v4Mb znH9>s@|?S^bFOZ7ge$5aQMc&|vXyfYd;ca@#*11jV&+J8@^4=o3#FGj*F0KBzW`c) zg1}v0vtG^h?6Grey2{1R)Bgnp1S162*M-F83S}Jvb}_xr=1S+%_XSC+stnn>M=R!5 z=Nm@z^@(mROQYpTh{*It6ub-Q0eU|zEq0oR?#&6?I|ZngfUKC|&Y|wTHuU*phY(Cy zf7OH#GpOtni}(>}BOx+tfX1aQs|D-Kh(qO%i~;2q@W)We|76n=k33e=OxT)X<3G?c zhs5wwqVc;uNSD5mau#k7E zH-2>6^Vdk9+=-{vCtQo~%*AbbE(A|e45R)8`$YTf__e#8Blnd0Takc{T}?^&Oymon zu7H3Z#nX#s7V@3Ox8j=09;&sXZA7MA5a5HsnZqE(3jJd9vGzh-H*;65GGv#n^^jTc z-vP;0_}2R)Kfl>?K-w_C0?LHm9*X7#l@)DuyMkfEkkpl+;9mk;>6cOm85(#x_BV&r zw$VoYThv&OQ2;uQm9S)khuyy-{d58@B?=7N{ZV|cTwqz|kk(9Uy5P_&Hl+YnHq;C3 z+xf?6h+H%7vh@20G~9Brt(#|zS|pFpxxCD=LnF?m4D<>iJ`V*&>fcI#mMAQAd;U$| z31IO=S1kVFS4*Lo@0nRa`kAZ(!qm{<0t?=ZvYJ#^$3&2`zEFTY24NOI-`NVTc|QQK zi6(c_TN457Q35TqcYAFao=+L`35^Y~`peQU4u z8OqHYXLx+)=`yb0grvy^Cmv0gi1J*Tii_Psi5C6wq$>`Xqr6L7!h_I*s*CBukLlQ@ zo-09;v;4?GZ7rF!cT%!qCjK2sOI?!RP}$d8vv%=k$sb!hreD8qESQVFIF}!EJ6E>H zsOZ(EE;p`WEOq}_7{fsj6qqW>|NbwCvm@`R^0Si7J({(xrN&^H?UsE+0}tQ3>diZT zl=Px4Wgw8l+4vy~L9AIqNo3&LQ~@`xH1KP-cSag5@Q=-7-2MgSqm34HV&03L?)ej( zFpM_ereC#evtr(t*#{k>WM*%z8*D1Nim17i=jEmk@zg&$hlFKq71#o&fP3P>*?2`& zeGBNhOPwCQ6bPrseS|9U&SW&)l|uZL!5-E#g$?qZAD2(6d}(bCwS@E&{x7lq$FTVU z`_Z*gpCQ|)amtv_N55EkA`VxA*J*}uDsPogc%$T!PXlCnuFon)nUd1}w5VRUw3+jm5!GZHF&RPJI|nd!v8^1l@okCinIJWNpIhWYu(vemx>w){_YA#9Nk2pmt{#Zt=Q> z6a{L+_-7L3=Ee zC^(XGYS7->k35x})UxghDtiV%j&$4V4jY=>?r|Q-A|JzU;vIS6b#4ypZQI%QJY!qz z8a?{)-MXeMsaJp16+CCNgK~x<4$#?(fhFCa)u+k%bt4SPdHsWtLn1wDn`S{5OX3=r zr^ssK8}80n|B=lwbPA)bd%oqr5X6e4*>7MQGAnO*4shwANDKS_F?z3H+_vC5oVzqY zJkI=<%1|yY^ApzXpd!3cHePoT&u_VWWQYl!8o6F3wJ;fhwUb83vOcwwE2B$qrk~=$vXvOb(MI(rrC1WaTW&qT< zy-HmRxO~BCmb0B+`L+C~f&kvf8-WqCE+UG8ErJ=XP!@+aI#F_Igc}=PSyeu<>sB?_ z9>{*)3G8JnG?I+( zN+*K6qSyfJF1Ll#{z26GkQi#%p!f%XP&ulgpF=@INBjmg_$^!`r~1*dNEggC-*q52 z+0M&zd8+;$l(n(z6xcnkEC`mMdL|mRu~UYVR~lYFH+`D0*`i?LzOD3$KJj_|s0uQB zduIc0I#@Nn^W%I9V+p^5S>lCh=TfYuOfW5iy!@jZ3q~I9aW9OuJk@)cz$mBq9|q-t zph3+0Bb}7T!%9@a%q07wysIh*cZIS$GeM`xQ>~dAzEvA>L{32ou#_s_vS=i9*5^k z8*SG6nJpHZfA7lf$E(uW8E-w)OKWW7@+*2Gq|e^VlR4WDQe=TH4&4cY&a6e2q319# zBd12r=&(a**fOUO0yGAIA6zsf_ek^IE4>qQP7tPQx(F0-NT(N9o*E{c%c%$d1`Q(K zO;D7TGW$A6NsZVfy4_F>0dAa&T$&4wzQ-a>FYT;hIP)z}9M})VyDX4HBgl9u7u9s# zA-%w!nzL%p(zWg6zuk!5_DVwpME3aq^j-{^1F(yutdVKVXj{9Qsp!(q?tf|ySjaKm z801go=_`=4)M}V4lvW|3%h|C%ZFiDK&J#-87FJK(rxzV7Au@D&i#Jz}Hzncvty!c> z=JZvY{@-id27a62ftAH9mr@qyrRuasfB*h2%u}(tTCU;6fzcfWHE@ z-lUTWr6D%y=2&>N3vm_CB*unVH%*ieAb}ifoEp_$T$8jHUT<};^pnzIt39WQeZk#9I%plGDXYUa%kd=5R*4{KoK_JB=#`G47I;K5 z7T!Mr5Ja}&ZrXardnRk@BjKf&Z_Muy%o_KG!^^%^+>KWP*Y6F1C|oZZQY+n({ESIN$)SCZFj)s+H==!z2ZHKA&vi5``qQ>pe3U}-CT`DG9MR;rXFb~d;MIGFEc$K* z8SV=x+q7UFA(NFLx6fR3HUek{r$I8?dG1_CDcl1yp0zo zZMVakWQKy%r>nkwA3b-mpJ;uW6m`L3p3O7qlMuo9{a-4wUxzL8=k)#O@Vj-njK(kWNciG7 z?|&qnhdY)3|HqG!QC5SvMVd0lsyZH({b$W93wP1R;a8Bk#(}p!NDQfE5xym zL*~Ib2gf?b`Tp+D_4^0Tb*_87@7H)fA5T7f<%nnjx`6Y=mR#rEgPtqX?AH6|8dZNP zB=+zNytutl7p+9>l{g;mN@1?TY+p3aT4!PocY3{3@h;)6N5=D{h-XUpH@8`ohSTht zF4Un@O!pkZHqa4HCFRiR4y+d+VK3;^rEyy~c^51!*VSZ}{Qlt|>GYmKE;-!~%WD70L2 zbRZ3S3Z+}@XledJeKvZl6gG#VvqrA z!-;T?l|#*iPxH+U^fAc)KrIEm?jrVQ&K64Kx+`ccc_a$ijMz9|d0PiDRCnX(hbUMj z`5I*zYwg%9cWGW|jctrVWg$?cs?mK&X=27*Xx7CFwj1{b9bwyvn%y6QB~GCZKhWwI(7 zqQS317+8z|!!VTcy_$s6SERokQ@buW=nk0Dn&`CLEEA8%o@+mzI`gwAS}9!tS4{?q zwQ&J;C{}`=rzBPi0QUsec?Q(&ArEo)r24 zkDMcS&X?YTR;vr;0y>^0Yro72oW;b@#7?#WWTFWL#Q|YFW6SGd?nohM z>;UPPj2f_nSpigphT^SW&pEmxQRC(Da zChVEK3IgAffqwJwL`0H>RKrCKEgnUrbUkTuNpWx{5eA(A`OHDYj~k;dxIItk#HnGC zb*r-ji9HFn#ennCA%k?)O57+toYlypKWUF3mnvMJKNipA5gKyyEAi; z^R7V1#!9v=m~h{zMx0~i0hrGgA-)x{*PbDmm$ZDK(pCqXJgVP35L&3iYe zPV~DUrv{`vJSY#>Y(XFIZmf{P9FB2^mKZ=VPmDSWk#;D0Tn*JQ>|*8kG}|CK_J`Y? zjrS>PzEJAdmLAhrEkO2JrFiG58rDga7Pa9L;$DTB>h3=RHhOz1qepYo#*^H2XSy8J zg+ySk3`4vYqJJj>{e@>TT?Wn=yISn)WwmpU?M0w}$Umxf&;Wtp{NIc88rm@h@uV&lrK0m^#su<&MLx&8|5B z&T5xR)Zdo<@>}u-g$mEP@ExgPJ!0H8^B{Rveo1AAvkt+k?g>7V%qTyEIh*byiz-Jb zD@EI8r7{FI?Sw9~1RIsvL&oT$WO@@{^YLS9RQ_G1hJUVi7?pC}zKWLUA9&wZ6A(f= zGIeXEwE3I>X&LemJC~E)16U*qT1Y6v1Y<1#h?9#<@ZX;Yw|^@Z@;!`eY*>#1wGD*= zSA%jkBiiAh;1-j_k=wcdfe;1#aaQL#B~kBzQaqX@moxhKk9{B@UTh^3e^|RVo_SCr zaCV8Q-gwC3>q$#fj88Q+dY~KHSIBTAVywN5pmqOy8thnJ-)ddoBAaeQ&HBt62uyTv z{iZVUVdriqW|@R`a~QIN7&6xUW)6*6s#mvPiF8LGeGW4Ty*HB9+7Ne{!wJyNo9?! zN}@h6mcL>k-f#|=YRt^2(3cyC_N7kIUx7U(CpM%cLo}uaS>*Iut`;HNDlF_%;cU|Oig3*JTUJ*M}0Xm+Q zRe)yP>7>d_vD)#r{Ihlr4CdmWDE97S=e?9?<=%?s;vemm0(UwTNvjk-$D}}^kWCF` zTDFXMkJSef6zthNgcGMB?$Gt zux6~Um)!W)5NPRLCQe(p?~J*rDOEN4%%rYz|VAO7XTaY73ugIBfgEJ_z! zg~uw&>#e3=-WGM?{bpL`R9Q2M&&jY}&*f{9+{p$X(J?UY<=TIFUgW@jPCiC>ZQXv@ zn`FbO8?VAr+GLUptwPt7+O?LZr+TCOE-4reZSvpF6nrDi&7r=gogzYznQ@@N^MP2N zki*Qq<<8n)GkET$ ze4{o%Bku`(ZOf<3GsH)*!?*a#GP2RYF{W2Yno6jL@4hUK$s4g-T@VB2e+zf0}$VGq% zh+k=sYUVXUx_Gf~Yq-Y#1mOh^=DMra9fyeZ$oviS)?B<*W>H06hK3Cw(tIE{ZuTN> z;4FiF>Q^V#r3-~%uDn!{sr_5;QQpb7K$*z}!oep+`FZjnX*M!{T7u=RTQ@iBoLjA1 z(Gw%iW+mI|MFxopU_jhzxrD-(_OA#EC&$@+B!@Wet)kY?XnoHlW{6Uy=bg&`$Eu!jNbqH)>wiLWCS zz{>Z%bf?eXnW}sz(bQGk`#;cAAzsvLCD7pCdDmP<9eB#W;+4b|gD?0wyWXFjvR@@I zKAyzP>)|&5FLKAlA*BylsCt4=KHUFAdpUwwWDm!c&)2_eehO%Pl_xQ ztGm|-iDQZ<#8LNH^L;0KSDO8~FMt0c;PXiNwQJh>tHbxOX-TC5+Inr`n#LU_>Ko%Q z8Qp^X&r%jop}_78I=p8yi&ZlH@zCQ12QgP9Cjf(0myD zLxYV?*Vw&48&w=6Fwx8#rR z<%-M33?I)U%2R(YmPji!Fj%|TS|#02dgCKtHEl4>cv9Jzc%YDhP*ln{2$*}~IDvx? zo(_NRJ1z;XSeZDMv-t0@D)Gr-hYEIx_g?MNqvfzhJFIj+bX8~@p6wPp87Ip*6l&=V!nBD}2y>P~bU0dw$Y%g5EPDRXhoXvt)x|1zYec!f}X|$3KhBoT$=t z_8OkeNI>JNM0nW-q*t(MEb%Qua|V+2pX9Z1_8Ic?us#9ol?X+Jm>5TbO|n7R2*J#n z2s6FETVIIkhgYb48zpSPfdg)=1$jPnbmNI^d}?_VDQ;P&E><51R@rBUhp6;gaIM}; zZsYs{nQc7dM@pj3l(q{nwp6U#qD1nE;$(x(jbl zemQ{VsWEL@u>mQL^ddyu8@>h5@xaDx)dTck+^NYCb+pN*dCb2i{3I^}LQ|dDU1@S` zo^>3Q117dDcF(Dn>C^ZX{p<~@J9&uTQ$yG`XxKc$M!XDc>HKhiEBQ~UYh=O4hDq}% zuBRGI{1Tq(8k)a8Ok0NANzN3LmM9UVzP$Y;uJDf^jm!Xpii^`LQtOIXiC#pK0Nj5)$X6#h$!{D3I}e)gA&1AhpCxw z3E3%XlF61uWnf7_rhGiTmQ3Lu2%Io_+Ly!#NF^=5#HEL6+Is%UZ|qe359@9rj=*8_g3gg`@23BO3e@J(ThND1#TPTb=Mna*uyWcV)I0qfuSG1w zHUh1}QmfmTqgnjJ+IrUkKKGS>A{vm$oSe(H^BFILlJzb5=TjBhKpDXFk{XwyJK2|C zjdwy?l{rDMv<>jlhixw-E8trzN1a^ja4%&_H4Ht1Z)@vdldd?X6YTT@RR4@Fy!#G& zbT>DHNELa#^<{g8%h{x~eb1VvEMm3e8l$p$h!NH(M`rO*cYHM{#}}i6~Z0H9pX)`T_ka zt)MG?-7w|4jkQhxRDO zFNR`*fikxAIL|YHw)o;sOTf6(1KJ#6^wGpEQ=U>vF}EK8y#EcU zjrH55Jfjx}HKg+3sLJwm(;zbbe^ae4l0H-5oLy&L&l$);}dH;P6>m~ZK6Jepiul}zqW zL-^~rUqijKG?9esKF!;s+3DW`CK8lxZXCQR1F}kGZ*QX z>oZ+w{PagJhx|DRt>(@udCRy<9n$)R)5@Ue^B84pt_IhVj&t^`LZQWT=q-W-a>!a` zqotHp;%X8^ikjS?R|1L~leTb{XA=+ovaBVZKkDn7 z6lX%|_q@t)82;LG^mm^w7GdQXs}i4)+K!l)?+|9uSe$8?f7ko(QjXs^w)-2+>B#3e z+kzFy4*~S$W~9-n!v|#J!jC-sv3(V47kiJk^YSPCCatxRzfF5K31+cQKh4AibmNP( zl3WAVxS1OHwa)fVGy$W?{yp@+F?+k>5h2dK5C6gWDX4hvOB<#EzWZ6n*20tN_kARK z9;apXuwHEn$oFRux3M@3r~p6o+{qv9@0UFYxOKiuRQ#Y^}zV#+RZTtZA3z`Ud*1#9DCqvO03Cq7>4T8!@NHH;!MC_d@CkD)=VLka`T< zC80oeoh}UZx$&r7Em1V^mIer+sICPWV$;xB)Jgd#BWU&_eMUdl3j!G%NZ%o`&=mTs z9aDd#uL@{soN0Yk#buMyQi+7?9AGmhj>+V7gRcFtqp_1?^2o{-IgQTmQ=KwMf|*Zl`ME46_7{M|Zb#(M79B~u%k|6d(Ho((B@4l(&u*w?#q zhtc{Wyh)L}DmcGcG+4~&>MZ7ch5){?U0usZ1A2JbRerKZpmf<>tDMf=QAvLsjQT;U ztv##<5F^Br{%dHugE#vZW@fo2sg79aE%hzf ze65Dn#1e~wLO#{0O&TFKzLw3gIVY5tbOyUCKCCCTF zCy%q$Jja%6sNRaEn8zD@H4^~j6h{}_@`%!jNS0lYg~)m&1RYlj&hI&TRxim(mJX`q zggE*tj0u5^c2CXW@8ydYc}4J;VlYyrk2G@JWZ&C;EdN`qC_b^-7UI@Xk!-imP9T)s{&koN##cOWR zGKroCdYk*LjL12>p^1!b08a+HD09qDhP1zn zt#eDD+25#@xrKyKYnuO|<~cQU7;&k+w>5zm!iD@k8w93 zRmbX*ckI~xqQci6!h*=YORfiE^V>t(w>#sL(z=|DCw16ofDr&gx0XA_nVVUGNn-ve z`?2GwlMeh`D}i$}gNSqqLUM!QPH=#ufI#4L2E@HNemDdHr1Zs0R zlowt6P#694p4MReBlACcOX#gdP(f;bc;ny;+8j1N4T5ak7+HVlb|>rUIKXB2j9sAZ z*Fstgyb6iXfKtUzpNwnkob6^k4_?dj>(}LSnY=i6V)!GpiGGe`xv{yNK4L5JEJZp_ z)7CZZz+ZnTY(2uauQeNNbShIf0){V-tMms<6vw!L0j+ZuVYFTqSCw;4JgoYM<>OYe zp*F3jU1Rab#uy7YQSPfkTG0%)P4GTw}mcal^oSDrGTN|ERm2$;-~_`nMU6gC7n%-lrEFsIr#%A|Iql zaAH^(vK4O@KmIl2Or@IysH3mfG8hq;ziEDlrx3vvR{mCaG#y`I+E!v!0rW<7+ft&}K#G zbb&G~tl;>^TJ9>tWP;o55-q7M&vpRifKV-E?j2?rT^Siv~b&VxHQU zQ}w^;xO2M<@taYvoxve(D#G=d+CW}?%c(GBCXfP|NHI$n&UV?LiyF-YxOFydPbgPj zXcMs3WV@ol{0U9-=K41pN1_u-p^&{L0)|?-vbgUh~7Ug8ErXh#>e-l|HUN|N5!A*A-^&4 zSQgfM$t8y-#m+KvAuv1%Ec-u@_bu&zi-Lr?xTBUlVK8d%8f$BLlLOk{KhccdmEy5_L9WE6PJtB?5g|uCq=7Ln5jm9+Dg_nfq|S z8@Zc7JzQ~&b@26gG$;}Gb!e8T7K{mmLPd6m==gEU#`T z&#l|r-Xrg7M}qNQYdK@bH6hOHhC}ax<^V7@zYJ^7d)(Y@hD3)+>)lpl;#f`cHP<}K zwJDZMtmL(79qN(SxH*3;5)jM9rMbiu%W|=*z?9O2$J_r8^v@bgRUJFX4U0DbJjV1h zyHPsFVbu-KsEQw_qT8J-`uxx<2mAtiI`wlV3-}8HxdZ(|NtbUrCcl;k1+FP2U5w?= z|8(83P8p7aKv%wvg_wD7(jJ#oX8~Xh!UVpe%2&~3<>w=-gn+!Zgmdix3S7JC{9j)w zjL5}NE`j^q-|cdla_8Os{@mIavSG?+*n2bMT<&u6`2aKJQduBF%du(I=_26%1Lbgk zZU3R=-{Yh&UFPqAFzyy&_Hs?QnGhMcL`88c_J9c+XJ|m1f=~9 z{T0pGgce%s@sjbD|ag(h@DG1s7$H9flWRLT-$w zct`+O-G_k7D!E`w>oljdP$6BH+^Icec{WlPxH08dQ=}|cmu859ejYY37s1}HArzNa zk`dDct7Z9{P9=`3MWAcUq*^RdMCJ4^$AD}UM+}Hdm~%+U;tz>tKf|?<#Lxf_L4>;@ z;M03OB%N+{#3h5|dr53FS|TiZ%zi!H>)b;B1KEwt>DV6yjX6(K`tn+3oeRoINGO%w z6f{YlkvlY&Y3@uANEgp{fAUi(KkT?f%-t`=`Qz?>@|DP#?8P&%7pu$N=Bxu;QA2*z zrw=gMlQ@^w?bai72xj77h40zVV0#BI{llzt zE%@^|?<~>3<|HdaUf6a9b;n(3p5c#ZKTbT~!a9BW7(A|h`8(>^u}aN*aCgeU;V1%0 zH;5$f&8P~OmQ@K8;%^E#<^ifYt^B9?ptV)uq3Y2pH0L%AlzL7xmqq$eK%E@1cP>`@ z#wiYubkNkLNES{zRtKBuIDpZ6xRchsh#C8=g9FuC=`@M7KI7}zAp@)~k&Ei0oxK|e zfo>!34TY<&zU6nn6FaZub2WisiHbvN`%gU{scdz&#O%5VzMICqANlG}1Y)PXR*{uu zCKYBu)k~-gsv7B9JjSdV8m!eC&vGwtYguQ!+5GB%jPl1MTr5UxJ zG|`Y;yJLDKd8#j6Z&)H?IiSF57-p?)*k_V}*V(GQB(?uOH3zX7zhERBCX}ieknc8| zkB5S#cCo`ACDRc5K?B2AfLJpVD+=U!eF}*rp;w^IXOqaFXmd@nc7(4v!$sM~?=xM< zeHm?=XaTZ>W;E*$JaM>+ZCKl-vpgA1`c66pW?YC-XlP1W2yn7iLUxFa+|%i*Mq#`& zB?G?$#soIGmTHpUVAx|NvQT>4tA<-vtlE1kxd*xrLaj$LqE35TYqMN6b>3WJrkChfz ziF%iki$jf?Q%|A66AEvN zNHyx5<34R}jwtT%ZIu|U)Oz65{5xNJB86M8ExMwrK|@qFLi9nGtv3d_L%~8+_a>(C z$HtrgWkhWp$To?7J%EDCIs(9@cHLoMEtrG8Vj{;!=3Byo@$Fhc+TcY%4+RVim-mbR zkuG-3-QJojC_H=-W<4EcK4%mr6UPyT%ok9cB{3yP#yMun?>(8C0)nvOzJ-KOX}@X- z7gz5EsJra|og&JhJo3zz+?%@kp9LMLtekt-9BqG#f7VK)GM22Uujc-kGty#OyQ4gD zr7Kf-FaL*U+0=kTfBw)jv7jNP+#Ubl=jnt}#>TKcf`tV!7%l_H*gz=2(S7Q&wS)cz zzu0=ln{bvao*tC)c!XTMQ%QM3X%I>i8wP}E;X8#_t8=3&7eyI~FpUwi@}T{?MfEHX z<;sI{>W^6g_Ic4<9{)S}EN92N3e8C_P&3_yN)-8MdOZUQ490c8r)2*R^g=Z5a=zlW z`xVlTpwpesQCIXMPZA`(K~IkcGjE`okL25O*D6a1f(>8(xnKP|R()R>W3yt}Kx#V> z==RH~xPD8SQdIz_wOny_P<6W{fq?_!fxthwj7NyBUc50#cA4K=T_}~E(z{5|F3;R% zsT6JjoZW^~SB-6$w~W`=+Ixrp=7%x|8hP~9o!rq3+VH6&4`N;hgabAY=%HrV^ybjE z=sVdfnTO z3WH$*PTBB3sPJLqUa_f@Vq1XF!4#*Y7-OkoH3D@Y*SA78I~I`%FvT$_Sv-N> zrL7nBwT}39h9~W#l3}0x*<7-4%+MX~vXr;iv7Z1W-ZbA_XYgCzFc8zsS0Ohskd)}F zW!}qWqsQUisF6-&%X*z$mP4-`&;=yHja`!9;uq4V=u1ow=E*I;&9ax7Zgk? zL-VEji|Sg9tCV*(1j~KDZ0Xo+`eC*oo{v>fUZohCIH2h!M^UrQLxak@OW}kgoXha` zF1j1bb)ux3LcdO&7DBIAZE}o7WnDzcJJyoV{grl$>yhwf6|Xon`qKZE{s-s9q*%l= zC;!|KCq5)-GOdss?k=JqSa~3t7x`3q@nx?e=rrD}w?eV=L z;x|D-(?`5w!QwTmk^lyH7>gDO`zL7I`ez5Q>ehr=vy#)2I6@?KAD>8MlW4)oKs3+TO%jrle@h`pOR;j@(W}k5k*=yJGRn(zqF*v)GI!C38 z?)9`ibFA(W4P*=xR&)0oOQJfCc2+s@ZemqnbCq5#yVja~XBB3SP(aC>HhVbMW%`d( z=Z4`<$4?RSfLPGucJ0H}+syylU}W7j8g(Mifj^4rlJ}3xUCp9IE9H6V23zc| z?>oswRQ({@+kb#`y&l;>!IyV*B=k11GqY+EF-qf`o<*so{pn^gK+|CSepN309~d z?Tt_w$(#u=4q268RO8X(C@C>FWbN-h^TQ6mM%9~+|52NzCnWKjMeL`<#e%2efc(4v zzQn$8bp^@CMNX!wk{0fAACC}t^gaZ;2N?f`R|?W<7um(PYYhBClz;extkN8OUHzhs zd@cTF*%jlA*t(vOI6>9=h~XRBV`ed#qJ(ySqy2&xy2~c0g;U|$`?;ggwk1l z72FbTX9DmX59efw+PX4unn1Yrlco%lhF0LFoZN9KD9MM{?(BnNa(CNBzY6VxcFV0> zuWiBNq`T&RZT!|8bN6*Yby}+NUj1;ZS0a^-(k8&`fL%ZG-)ov8A)EG^4%3$a>BQI( zac+7dIbnIN{gX*o7+}pw3I>pN?ud{_+ss$0ihd2986)NTooVnqS3lH_$w*2yKLqj3FG2v5L4jsLws4FT34p!?64(#cszGx!t&xPNd5XyQD3{{xr7U9wGsE~rUl z08z0TOzBesyHdLv-On67R+BRq16~qdHa*$-^x*^RS%A{LgosWBRBbQ6YJhpGh>`zr z|MtQ+m*L?{>^ z=)T@xivlCie{Upc^nO}iHg;uUn4awB?;XBBScZWuCd!H7cn-Gbpj()mS%g{hYuxwwHkDkr^AgkRCM7SA~N zDIY2x-9W2;^WM*^^W+3~+oBw2)ROMx_Ty3UpgXn_Td7q!BJ3EVK-Rxf2k_m zvJ>u{eWI%wBwfzuntVRytgO3@U}{?0PVPR)*Q5`~GM#|Vh^!mMD(kbowaCGoCu?64 zli=+$78C|S&7bMm-pDpu9)aRay^(bu!o<$LOn#XOAY~TTVzOttCL@0CTwg8ptlD=S zHzGl>Hpw$ORQz4rc-`bu`hfI|c*2WD*P(Mf@{_~Cf`%5_Kh4>N`9{rcB93MVO`FAq zA@r97>!rfDM439A1=eERVRg3LFYHHDja~BY*0ijh|08n$&+fYnx@r%1hYfm0x7m-a z-naYw6CSvCXF2xU{1U{ai8p3nXg=KwJwQ;Y58t1&p=m=~K8(8X)e*awPvO}MOOHm# z^-j-C6B}=628l{)%oQvCE+D5D8~3cT9)c|_>JuN<#m*7Djm}0k%;e@3iKrj9ah05T zy2`pzmhROkGZv1Og=TF>tX1TU<=rX)JN=hQ0W5Ge_c5__=w_7VuddOX2Tl(cdaXe5 z;@n-Vb2JN4S+dR=qn+HhJ9V`by+1~1DM^K@eF>zq;d1v@D!*SU!A{=|&0SV%Q^ zGbv5+a%xOn>Lf^{0mP9Wc0T6s1=+mIQchl{*VlKc)B6X-yqWfWcRDvtRp7&`&yjCW zJY-wMjI;Yuvk&GMe$H4pcW`{!(#$W+_kJ;Rr7V|puigQ4fk{rB7&BAuDF|~ue4MNe zIem2+SXYNi#%v6P)!*)ek$@pi!RO;v(&^<+^pSAId!K)XnJmI+r9jSH_x(j57?tTn zFNrlRvb$|g(bPvPmED!SyLO3TWHQhm`=Y9D92Rc6RMm_cH=ruI*_+^X0YRj5Uc`*4 z&9(|1U7%z9hBI~K+n0cte)%QDM{W5kU$%;w2s`q3gt~b8Kc{y8uV|svM*7y0XF6<~ zzI?urU*bz;aoq;FsB$CdJ5jl=7Ufg7TnNX}i1Y|eRZl8A0E}=4@%svV@@MEd%c6vP z%lgbIF|ql4wQI}Y<%FAhR6e%8TD3lw5yU0(qDYc%<8Sjy<Ghle7-B--P9xqmxwN z73BgrXi}(b+p_cc_fJ#pR^ zclO4~OHG4Szcx2emTK-(yYS^=R~1?0_0`423b2kRXs`v=MIyh6)DI@iHKCH`HURPS z2A!ouP<*)Dk?%ZIxE1*t1FB&leNM*-2ci`OFphaTR7Op%}&V=ENih(;58(>asU;>taG9%11? zvWon@n6orEcKV+D^27e5o&iNwYEOSOyIAzeqF-@B7sPU1B_1AfYfeqbx4-v#!YtQE zsI?0w+R=vum1(Yob^=m5ni^0E>A5-MaNwu@?;J?n1QBZu^z1y?BRM)KRa3y3?6O~i#ys|=7YgrA)KJkXrH zJXUkiiB-gEAXU>T&`GNih$zmeLAONZK<*dHz6Yf6v{&i2NgLwQIZuK4M{d$rCXJ!s zkI~FYCvB;ED%U%UCTyxn*=PRg50_62!cD@n9R82uVs`#E6=C}!7j{Cdr?-9f zG0#5$RTY+q&7i)LAvr&Lv!7nblp4Zw3D`pa*&h}@w*VmqFE_Uw3ib$|jb)<+v>)~U zag9sK_F+~p{)WegukS`cEBCB1J`>gxvxCSDB$3)gy=tcF@%iF%5-W)B$mk$(PJoG3 z7cZXNhWIr-H*hlcQ`ndzenw(xj~H9>LzvZBN=;%03{-Zz z9LRIp{agS1?ynHC)wy2L&|9{;B;3nolcN-h~IpfN%olY~LSfFSyDOqbC?)sE|Kc$3=*s(^&tGgWpFt$fSIX z!7-(441ZZIL7N*GG}fWbTeFFygC;W(5oqU4Z=yEP8WMwMDx211+TX(bfMlB?9m@_x zoWQDfKnJ(?ug|neo|&}ZS_RgXc2;2+Sz`#6JKpy>b8r1%&!HZcWf@LU-t(%Rb^?w_ z@E&Pq#LJN&y;;pSYd*`O@uEkJ3&?a5O>tHjz=M4&x@1yxR&HLFD8JauJESoLe8cit zj8%NH6)_QXpHr3fW$<28EyRKQRnz}K4)B6m`*D>U=-RY5j>auq#?ST09Wgsxg{{W? z8p}vo5xTyTxV&q3v|^ucM~Su*pp5Mm-8?Wvd~T&I7n4@M0prpN`YoX+zcI%JfC_dM zVyZS>i+_krk>qSB&vo@tm&oWkcT*x(k(-}`QzplOv)(W`uj585s4+_JE(}Isj3OQbwGk$pT z!Fef`wZCo2*I(h!;uk6F!0X9*aiY>)ASNHdm;74iyA32u=61UR%_OGR2n$k_5>Hs4 zCC;JQBZ6`Y5d4F)C;!$zk@i-ix>nipil+F6qn%fYPQR}tCUhsRj4oHpNIbdqjy$Jo z)HTu|{6A1w=#npsxf0d-K@C=Jb^XYpaBY9ZtF&%Vr<{x`I8mDm$l6bvm9D<|s=BY? zSsFF>0%$(CO(MBbuz`2BxGHAhjkLxM?A?QQr_W`s z3!`W+3Hd1=Ge#8K;<(%#|6uAd7Ky!=YIeg(cEC~j2EUr93<@c&A4CfvBo*vjbi(a% z`Y-s%t)`P-F$*}q@4XFb6SfTo75E`c&{k7HGvk$a0)4bqn=KDsg)8G~6XgIQaoY=1 zM~Ok%6XmdH@xs1rU96m4RKy)FZSjWWrBsMUBzFP7E8Z|XvOzL;kM##JvGelv@vzMW z+SHUBMK`|64ZH!k1J1zPX~V^vg<*|l>xq+)M-8OK-AcZ=E?7kg5PqpJ2 zanC_SoUg7_fsaD80wUQl2hl{Yfqho$9DoQb-Ey(d$+>TioHYQx@xqBb2yiU z#I7){`>t`tIKrZ3xk*Dn(<*^|UB6viUEoPBuaKHxb<)!cO!1*t6g+dMTm^>obo+!x z1AP#3z@gaK=iBu+R$?p~%<-@01M(S>_hQ-AyT$MPBa+Fk2`Z^wql^Q*v6%}oJwgZ* zPK0XGYEsY$-lB5sQoy%XtsJ~h(nbHOau;!t-S83b|YH?X1ox|Ws^+XmvE+Y_Ok zv}2YY^x1ZcIW?~NCCwLDG_x+oP@J~wEO*cgB?NM@jPi#k09IkUVg_IVAp3srOEoZ- z4XNEUIG@O>aa%qj_3V6*0HxE!lg&Cv!-h%nFxZdEk*+O}a@;yuzEV?%a@bv`%;7L& z->c1x=5DM5D(Vg}-5L%U>^t9w4V2nFh<8*q2kGAG2oe`e(Mn4VXRN^+oql@$B3+*& zeX&0=^ujj~y986)8F?1a27;~Px;L4fa7Pln1u?r1xY@7)NA(_P2Cw3&}V|WavtiCpnts5@v0j^L3jHFuc3BATs?Jf z4wo<$yKPclVm1yoaW2|Hs10kfnru063&+US&6^p)a`EL%m3KHxN$?o}|xa zWvx8vG5QcYa4FSTB(bzh$A3G7+2fvwCwIRhVB)!YW}3vZ+2UdRp?IX8zH`ZMxA6Q5?1^;nzzx5UR0&z`}Ju zkNq2O$)nWA{Iv;&Pm~{>aObKFa}YxP_e}+70+@dPR;-J3=iQ(R`R24fY2a*&R&aSZ z2OBTo)Pj_BmK+wgA6)iGb2)y%4_J>q1Y4go+*}mfWvYT@3ghIm;WAAdU^(U87E{DXD1!>~pxLEc8P~qYrrS^uN)Vc!$o!mHGKvCE@sNpih&X zg@{E20&!CY!7zzK&mS*M1G7hGh}jdhy%5zLtyaf%D?`;Ey3IY}XB_;_{n>xCJZ4Iw znr2QN&F#-kSX(zbP6LGi7DuyPoNx5v5sH8Q^@CJ8;N9vr*QFrZo^IRC&dF{Vi`@4Q zsLN;ZZP{+qa^LOM3PRZQf5%oG(VXVYPXkRbX2KBS5!`yr@c7N(Th^_(orIn>^GmB* z(fqOOi_zYIE>|G($MbZ);Dt*NPfKHUbH7yEqo9pyj=gc7qS!6(pV0q~2@{#6iN zq#U5}_ldc3`UiV;04{r1O`V_EJ|8d^L*O;2(pt8hPc@OaxRVq=1R}QUX4gM(oInl# z59G59msybAILIl=aGV2P0Kh;$`J~mBZgswEin&xPxhVHQj0=7mY35D18PcDYJS89& zStuaRl%>AWSK584RmurUb3o;J&tz)L{>y)7va@jtcaYKTiK+A;zxJ%s=mI2Qg4k>% z-+p@8gV^A2WXNP&4>M1gkeqe{6PfzJd1M_K5lP1H&#gZRu^#!J-ErQ|e&c9^1~Uwi zZbw5nl*VvcbcPfhOO_R9D&~XyA}7^f+X!Z{x;sd1lvth^o*?2W<0hNCW>d#MA@-f+ z0@=fi#`ljC{#3yzAebJXaDxz!p}~#k4In;gUp9aowzZ}!_wduove)z}1W!cgjE7N` z(I)Iud}>O!$^Q4g{SfY1}7J^v`Pt4vMhoN@F-`-2)XECJND!6=lcb*Cn7pDNnyU8NxNpn`( zn;k+w^ER4EFag97%72fBQs@e*c|U&Cn&)<-e*N3D#kZ{9Z($e!PhYiivZ;o^c4h>kX_->q>Ty>%QJQla^EE z+n=)M$sCZDi{KVm{HreeB0B;Yat^n^XihUB5t@Cna%P2N&`ucephA)bg1lBVicKpUU9~lQ4ID&Vl*~C!3{wxYW26$Q; z08~8icW;#NZ(K99Gt&PfloqXvc_&WxpISrhIs(;g{1Y?m4HAS`y~PGtxYJ3Ic&kVK zB07+s_$CF{;DC0Gp;4t_XEx@i84j3RctN!}U0+btY`}(QK`g|)z zKHf7aH9R`p1NIyk6?1j)Ga@t9+*|EKYD~N<$#t2t!I@cn`mNRbc3!uLyca~;_Wb6yfMkQ5(7?@ zkpHD>>iRzrm#@F6uljU5cDVDUz$)M>?D#70R6>Nv>gYpXqc9<(SHqb2-O`kutYfEM|t8Ip^BUu>F4D z{_T0n<7xYTKcCP0{eHd2@WXvT-ii>KGqFS1-6YZXTDr`o@(XXX-uRRO@E})xehQZ? zSVqjlxV%Ti+9T)%|J*_Cus{OmQ*yIZir>fDVLf1EM=Wl)E$d!+-506n{2_{s0PyKK zr;&y)%#==u#f4a*&zW6zV5$H%?pQKd&u}7Fdvh_@T1&3x+Os%k zFf(lVbAug7jXr*N3^zqn`z@IZMU&ns>X>^V8gjQqQKVhJ^}Z7Ek*9bdIxQY<&^@7G z0+ir9ZS}?Hm_-LScUnFKJ`k9PY<+IVuV4`wFEt1xEH)!`V8LLnOoEbP{?p%U_8T+h z)0wp=_8QU$Eg<18iLmj(0H?i@m6dwnz)Ih;3)9v{y#JYe?ip}*%wpNEWBTeb_+QoR zNMY zypomnR>t>5_0;%~pu0e;9 zHuvbQ6GXcy!2Dw3<=3~nMu~*#)%ghtN{pEO#gNk-67>KNpOgy(G{Ce_G z05U{c^6jABgCTAn0Z{kO2$ozSniVQ@G}Yu0NrntgTTEkd%5di4Yxdf#JrsM{8r8Z| zCG&Da$Q9v-MV2y3vkKgw>s^000LygwJHf4Su&q@|MHx<1PD|Lq{VWhJZAzFy=6{7w zhpQ&c{QG#44b+aQE9 ze&P>(MX1lRN^L)8*{BpYP1RkdRKM!qVV++?Kv!xhleQ-%Px6){|J1ddi9W1h3_-%xU+u zv_T8YZk6XrGVg9UoOX~)r1fx%FuSET^2wix@3Q1G?c|2cN%me1sA3;j(teg+ZxJ#R z7++Y3p>C$x(1fT})^upVmm9sd(o%7!f)+HSf>u**IqNpeucxO>g@)S)p7>SMEvpx& zvrX1H@E=IwO3-#m0H6Pg(A`~$HObY3-@3n%o+hP|y{_7W zW|Dzt=rhihfI)fcYL|ZIAC)f-@eAl1J=i@RHLWZjE>q1UbIEzkG;^n_E@S-2lF}L* zc)FD0{8Seaf)Qb;}{2A5KJ>_m_ zOq2CAY;o;Rr2KTsj;Sm)kg9p*uSkchYWrM#LG>_BR+-ToG3Gq>*52nz##)`T2jR<; z@?ZA3yMX-gA4pfQ5sb|>zh(RK)BA%S3*d^plilK~JBL|EZf?lb8W)RjM~-cFcLl&L zEQ~ZI?{38>Nhc+=j{5C*S22lBdnDU0FW0x6wxWThGYa#CBe|1sz<8Dca)X z%DWHNxomCV{IEP1IiUVa{*hXpgX$|y;yIp8eKBR(ttW(>oirWmGCj~IGp=NiKi1om zmd9SRAOIW%tv^Iouyg(@H7ae7(b53h!vde~Dt&}y%buFwyY08=tFYQ*ebB8V z0`ZAyL;7c(B4`<$;`yr%xh@i z&7$Hzv2KE?*F2`DWM`OwaZCEj6<^0D&kjo5 zH1+p^pJ{)5yZDZzWbYdUO8YvJw3V+w1m@4xzyknh^AK3lt~7-bwc>-YAvvK#0qxm1 z`Q(K9ko4Z8C;}?C0N^Q@d$69U)cs~=9c^&`lkUURP{74{NG$la_`e*=vsq~c3Dh>r z-uy~Ic|(JZYL=h?((d2Cxi1R;ND@V4nu%m;xE%VJG9%+c1|KHDm2Mnp`nitw$h=o^ zX~Mt5bb4Cg^PKMu?QQ8~`MsMhcFYF5pvBS|0(xYzP_g1kR^RRzDGRf{z2dPm5VfRy zjsHJTg!)HOsS^+_cL4k;nG99{lIJZ6@4h)b#)OrA;feW67qOWOJ9gBeW;CBXKn&U< zm`(JW1h?(|EvR@>^_7DuWl+a>g0S3er_JJHw**JelUgv5* z`x~kO_Kn{b8hxIlbL)9l-xPc$L8q{&|}kCL{SKdIc~4K=g!XR`gI8f7OaZ4;?=@EmhfR(Xk2ioh_ zld7gre)#!6!Sg09L?PL5;KK??^szKOk&W|$% zpOxa=2jUNh$V|gDHL-~A?H%O#kq;BNp^Zi4m9}LjWlAH;29Wj~qaqu2_sn)a0cAXe zUX*NKixD6jdn>^Lv{Y_rBs=%s`CYn+zfq3ZetS}EW@9`W6f8{L;2t&7ACqYvTV>L5 zBYSoPN1tM*Io4WSA2GDqyd4pJO2J+9eOKW;D_7gVx1HW)Kr;YI25t#tlZP5h)Mgry z{e0XXbhlQ*$>|})M`p(_phlfHheN%4_bXQs@_x%=Xaw+V!}sq()@FsiB%Z7b5QU&~ zONQfP;hMtJNj>nJIjj-CQ;NC$U%)!w^)DJuK~!Tm84I@Gu2X|8^ z$l^4$1DY7!WSB6|#@Sb&u5G?Z4GoXANqVIoIA}DJVvtf2u8VHX4hDeZ`r0JRwd=UM zg~C&7K7b2$(}q<#LKQE6KH})8C-XCWop-jyC6=xuX;E5j9%MFiCa>nW>Z>l{vYsVD z-S9FU`U|&&vhBR`MIV;DAAyehy_RHpua<-Q50tsKrBV8+$mf^idrum+9xB4^Cmtd} z7WoCO**T?jKdZkZMw;naFpG6+k}7bueDcQnNqx{eZ`$89)DJU>9wdeYKb<*<#6!xxVx}M21yx0h28){_EkB4{k?j z0+!-kQ=RX6Rjg|55d#ol15~uM*L%r^iUK0L=w`zzt~Y9s@L|oRVh9pe;r5Dt6#FEV z58)8af4-}urGZE6y9_8)1T3;-2o`P^_rH8W@|9vArMDgzJ=%KxPeC;x508=3owb9E zGH#U&P*Q=dq~&PG$H*yz9!;?Wmd%R=b{V%szb}2Rk*Xds=5LpHKPb$YJ5l=ES}V=R zl#{c7DsAi`$}_zdB<)r(Rnhv`!2a_iH1|oPj{u)`g`Bp8Wq%$Yx*H6_mqun<+lF-L z_-I(ApW&XT?j%R5N2;)kY;x`Kw=3K1h`Kqpjk|rnrgo!k0iQK1$Zp+cmj|b2=JB|> z-51iUyvlqPsT4jZFmi+Up|7m4remdv*v4Z1)PJDfveAIH#{D&4Om=4GYH{7}PoVj_ zaNmcijxy2|h?kf9X6V|N=&Nh&06(;xmbRR(!Yja>D710A+VLlKM|c^|wb&{7`FX*M zwMgKkfYB?!hi+$T0g`D{MO!v(>8b3i_bxG|0lKkdpmL7@E}2!u=>}I9G}`G`40Tgv4}6>gVzFDZIvU)8F4F$Oo&>mNhg`sKK45?TfMl^N zqQdOyt_oQPy0s!m`ggq$mbf1nsDW&X9NSw!{2(TAijE8;GlJ)&L3+xM<=Z zbSvtdUSIRDiV>xBLF3xf@;uAvbC<|)UC~E>q%s2ZFZbrJ)r;jZ^ooH0xeTl+aV$Nn z!WuW+Mg$gbw$S!`IuL$i?Cg3|6lTUB&O8ptOG?PJFyq4gK}^XOy6Fat4Zw~#s33Y; zVu$+jvEU|FEuVPT*mCOO;8XWeoXSELFytuYBP1rgH`qYcEHlC#E|MWj)0>4faW{8` zh`$eB%pUarOJ_@r95o4?hy1S$ux2KuLu5C_UwL_O?Uwnhv}EuaJ9PEw$O;PWRr||ys$i}KQ=w=*d$g##+}Qc@ z$0zF4rXe`cGi$5T) zc~I%^f|C3n@^H4l<%LfV%emtGqZU96Fn0*%pzaHArJLiUrkHr>EO>~O62>&U&+cs_7#Tz@UTrjISVcKEx>u3PS_`O?-9FMN~6)BMvXmp1Y9>h{m2#=Pt z#QI$Ow--%6mYpxSS@_fKKJV8ncE^<@Mbg{Ezj9#$gf#Tr^${yi1FX`420 zJee_)x%1$3!8;vtMJKWA(|G~y1V{CKdD1bK{_{uy)@od6iQ&ud9fJa@3!xy$Au*TO zxGF=r{obhxZ`sjtN5=~u+wh62uMK_1?+^gTKZ(&OJ5g*P?dkfeComOsG%l39sT=M- zTkZG^iE>YSPk6jC_mHKt(2M2|77JQ15KnQrTn1q<2wz#+^4?KZTh}I9Gh8qDXxhLgoRhrRv!d=uVI#^i0Wa_>0yQ)?ihq6*0pkM6?IPqQYwe& z0TBG3#UO%#T{omn@fPs;+wX+oMo$k)8~>f-9=!oBQI7pxP<5i-Z;&0nRy{O7QX92o z(H$1;EX(oR`ZK7uCX>i{YNBz_@X(T>yEAXL4Sy4;R-= zt`4Oyn)j4YMz#0x@QI>^<vh5^n+N>_+EaeVEDw<8q{*mNfUGfQ@Q$5jd;-uQcHYINk zS^aXde`?)XbEDLochJB&0tQ--4E-hV6V=F$)DxfTGt#{_?Xhc)Ln^LMCz^D1<^Bf(tXI=Q`?cfX zykr=RT+k_AvxqBxe43rEV&Y;Aki&@Qj5Mh_VJRsx8tdzG1tMVM$6^L?0ns{$K_ z-`zuc+^Ft1kdkO3X8fJoR2~dF`Iib5u6rS$c^obxKi|a4#Ayo@Zi$_(#<%?k${^v5 z7riG;dlcLu)g<6m_VsJw>M}5YrGluE7M-P(E`>K>{cw={i3dBDI&onTW!xIHOYT%q z<5Yq61c``LbZqv`nYYu0aWJLxHqVG@-^XQAD_huF8`z!Q*(%ogi~KXMG$gO`bsZAX z`>U&+to39O?{{?)iSzh6rd}Hv%uKrGx4XID>m%AYU4@LTd4B?YPtXcZdW#jVI#}yk zdaecsDRa?VZzsb~!JB>*nC99CBbJ|z*ez1LuRkSjd!ioD1b}%-kXtu;P(Q8W=pjeS z8{xTKfv})13qibOthv11t{v$rq7k*_#G!}6M(s@JP>vfo+RNPA-46?2iJ{WsahN71 zgW?mkjY>5V^@aMxtjh2Xszkma;$&7A2QJ_79zuFjf|$#=s4Dd!vS?!Si{Z(I@5G&) z{ySbi*U8wEE$M2HLZdIqY)gi|7Kb*8)ky#LtDBDI{Z&Nxkv7>6GdVxU>l#Xz{Yn)f z$HL_)%dW)(eMUBPRM>Mk+S@POx5m=KJ@V)k`2Y(bUCi3go(dQ{z2B_->daePBux>}UmF7!FE;OZ-PJRkTVimQqVgyD;b3Lmew zR(hEs&=YPG_1{3HJbSZ)wem(nNBN zUW=!=d|&Vx=f!Y@#h7i~3R*#%otMqnVh8WTL_T*#jSAl*Fs~8^;?Yu9`4)`1#hX`c zgV;I*O5@Y(MpC>)^kEg1Lpo*5<@hwT7%pQXQh%GIppI%Bv#}+LAA5b3u*i-Q+}PB` z&#b*Y-&lW;JRxGuT#Dg0?Hi0B>ie1keY99FhP${g{a8OV z$k#0uOfI=&yFTzzsozQa^DVdIjVdNKgyh!=(j|huf$wIMOn&E-nL2GYR#ep4V*H>s zVT(RRlnWK5XVd1=QPHLQT26M`diopKAL5psD$m~xR}I(X`u-h`Ri4hD<`)Yhf9a6^ zg7~guGQ&WPow?^cX(@F`rsLKbYRtHJtTgzW23cC)FJY+M@X((I;MjE}>|$2WqWjk@ z9l%x z@73jEuUog3ibbES1hn&qt;6UYPneHh-1h!usyjj-4W@gwrDWNn(RzjrBKI;9fh!Ka zI;$b&nmyEm$BoCuP4fz`zi!veex2Qen?FBis&j46g%lqS*lqSx}-;KJj4ED9QaGI-jl25Xpbz95X3)@)0gmi+y z1&Xn8dM+BecG>g>;>Cj7bRXwCp_lFYfp_9=u zQdP}8Ln@D^lU$Lm=c>sqjVMtzPgX^#GVR0l``T}%HN_|?X-$J{LGa6awI+0Lyjd^a zzV!mk#|~QO^X0N`E0EZ8j&(BD!Hb>(0gW+b6bLXnV#~yLKNY@)OvkjIVtu?RXx@^T zDBg$PE8V$VLO^Y9E#=x0%+~6x?2R=6U2>U5D!V~wa)Q!{N$tDPAuznaZqz<Zu?Ow*A@t*FBHnoiRsr=PmOj1e5wr`Km$jYepNc+cDkC(Th^=eK z;`2`M4f1LXx!DCw^hnD|f$~4z<67zzQ!^1+@fYlaKRV%6*jO-%B$!paK*Au#&v%`7 z*LHw#2LA)(*6QZ*DU}

Mj!gN8C5!;f0tl)nmK2Gj27G^DAXbLJeBOd~B{5iTMDB z)F4mpi_K)KKH@m=mmATcXmoJ}YKip~RV*Y-)L-_A)?cEEi;rA-x;e_RNSAVbr^2Nv z-sb#)|5#v0$C>&niAX1oc1Y?>_i_f3Hl05S62d3H_WV6o_s$lDnT7XwFW_3)bGTOc zC&SHQpfa?P2z_deyEYVdoNZ=q9ex~8T!Cv0Z7*5qi6gwPmJ2#Sf9` z<&D4=AV>NK=0n})@7r9v5|HxItyy?No9wTH|MGr8VWvN|+D-J;Z(|GAoPbvHBv*1% zwcm@~i2Rn(9G1p4#Hb^(*Js7I6$+Sp;e^Hc-K6&&km0oER{;%1QtnjHR;s$EZp{Sh zaf^O1!r9n0Ar8&=_n7fh8!54rFWmmR-<6CVM~%Nt*(o|!lbq%42TB!0Th8D6P_%+z zM`6~3jZTM5@9pgs;80xf%>ESSO@2}q*p82NAgsas6-3=mgM)GmS zz3`Yhv52CVOY+w^Fgm&wS#LezEZ_Pd@j9?x`R%R*>75;JI4UP0d@7aZp(CK;4^bUF zBj$N<_c+#k2HiJXzIE*Q;WY>G*3d~!a>iQxj-Xn@V}%P_dkp7-LBTPn2DyM*WFOFQ z*O(*j^uG91&@gI!G3khBuctK7uVV~K1&SLkZ>Dt#;MzMC zE4;!S6QMO+XVD+z8}wcTc7eKG)ZpM3X5L!!M6ws!2X;h@D(doyIYc}bY^k6)z- zz)o#9xn-_4#qyK7cqdVSPk6#MYkC7ql*WZhpd+2Ios9ua!46IS+^2cC^FVwcm)Apj zA3MZst}9n90!j>fwZV6!&Ss36l$qI(EaJ2V2()<8xbT^Yh^)pX6Mh(vux?mh;EtorN1?Z)J$JuAdQ^%?l^kq@V6m8KIzzk+-KOm+pr%COJfz=*?()F2xo$X+`6VL_!jO($yOU{ z8QQ$F3J=@1*=m?=9P6=vRMBfTM#2+!pYLbiiTrzc>(bN1yrA}phvEF^-9%=XCv!%J z>EEl6T$%Pf{FzH%t_x9=7{8kos_3#qYn$eL3TEpX6Ee zpbd2qU-cQ7AXo8Izy>zWCSnG}+8dHDtG%_dz3_H$(m%?rqobXnAr&k&mibdf#NmKx ze6qUwz4nyWp(!#_XSO0YN4L75?~cdjIFzzf)vu`wJd^bc7>ivY?}#v7Z7cg2!tusc z*;HWYOObdN=0gp?_r|QHZst?+TCT8;5*2C;me$0AaopwC6+T+^hw);p>z$- z$&|a*8WXC2DGH%b{3gXY#|&5DBQ}{s+Fj#Bp@W(!c8zCUicitp!E^kFPF#`-=lWPg{i8U z-|;&4_|Suo!|z?h_CM1!r&ER6(9W_v3a~RM!L)`~V*u@fNBN!st7AE}6a$iIK>w7l z;J}vf)7hmEq0_*^xy%s}JC#+K`d3U1*Xa)_%0T8_2IG&wS&pqY2c}{CM>acoAd@jh z4glX%qR8Kv5Kx8(w4dtFvtvND5}?Gh?I!ofX6)Hk5745blA)GIHn&n$H0V5xcDRRj zqhvwg3mLAh#KgeOIX78u{DQoPHZYRxEgSXlR;}Gm|LR1R*W$?HjdZim-nhu$}S6l#4j1i`8h9h&XQn-%2~STcO@{fj2#I} z4EJVLNy8mO@Rd)pQ1ycg_F@Gzb&Dbi;93MsQAaX?agL5#4W9Sf=)9M9rY|%3 zMo+hfhJNX-9&y337Cq70?>`TeX`kV>2r~jI0{sJVq95kCf|+MtGPa%F2~LL}sYL%Gv?Yu^F|pYRnV&d92>>ogR}@Y~VHJ#B8fWERmn$T$Ay zXfvy>XXwS=@i9tr?sYQg&Eu_M`!d<&CMpkGiO6d%Ywet)jI1{pWS1PU*u~he-XU7CVe>` z<2MuP?%orKN#~mg1r<6B*1$g5usS?WRLEA`ME3=RMFV%*PS*C*Bbpv_ ziBPiMv;fh_Nske1(U6a ze0hmIsZmd8L`F9FE)O{oSD}?Xfk49y-g0OS|0VW0{#Zp#cIuI=$9ne*Wl}rp^12M9 z@}{T#kHXZPPBy1MHR?_3ykHoRVug!Qg=<(-i#-|H!lkmnK%?jFtYGV&rBWr1rz1J2 zpwT?K|5Symi9>>%z{*@4vAcWdUZm2bL>2Mzjw3_Gy!RIN$FKYtRA!2Ha-(6&f?TU$37>NqqH%$hSQw21ci$ln< zRylHKz?-ONk9aluV=|UW!ZJ!!ofF|1Mq@A76hIEfFNZ%*SO5%subtP4Y_*N5$Dblb zuu>-zj{ZLQv}+`!cipJaU+dl9jr_JDEvZ{|#>1!mp>PY0ou8c(RX$ z)wcBq8s?K+8GnF%X~~-Git;8Lw1y?ZcOcdrdUxno~y_B%v4snp-a zNK+IdDkGuNJQoQ~RcQsEM<0k6ED}_KRw<5ZNwd`F-@e?w zYMvNZ_j01pLMWIUOgXlHr!Cp>G1(d2R56{l8Ka_{mnRSo15v$7wFjBYnEaInmcCIr z=c%`8uDSdwJ7Nt3C*Hk;$W34A)w};wd|XqCn*6y?K$#$xdM8EDP-JvY&H|Tp9~1Hw zuz;Xbl~h!5AfcZZ=SO!j8JuPu$^O~s9J$K)$64Ss=}c+k7)8#=tIN0DG`NM!;{JO= zgBpM>Ob)ju>f6_itnRn3B$vt=uwJPq@Q{VOz@yPEa?%Rdmc1kB&Po4))G1Wc&1_Ww zo;|cy>ly9l<5EDWD6e9}~17!%bu127YRzIvM}m71CZeeU$y0g9v5WEV zlGLq?hA_QT-qGgP4BIf2>O0`IQH7jOG5FJRhev*1M6mjCES9J_7giX|T^*1Ne)HVv ze13_SM5qIMl{F!%vmWl>OihlLPu4yyF0V$%^|coCS(gl3Ok4<73 zuGC-OZw$Q6Y^fGlfyWDL$i!|cBBbAKXd_N&3-M$bY(4o4SK-?KKy6d9ydzqDZN~e0 zYX+X;i*lxoRwxXW_aG6B3Qh~DZ1HSCV(MMD2Q7%c&Y+Gb%k;T$cxyzI3*B-BfhlKt+tebIKs}^!BUS*Nf;~Z8sMK}wD#Jm`2 zd>7vfs?dOXa+*KSipZO%`r)aDT->_dV)5O+RIs3@RkSmdQ$6+kDqbh&!v%3b*4PWP zAJ*%pYtSQ?dXKpK4o*(H)KKB=rw5~3yDJs>cY2TXNE0q&`)aWLfth4!@Rv1QvW0=6o0lpICkM(dSSmvyGD=84ekIQ?Vwe>Sk5@I zHDzV#i^XsB_rk-X0E91*M%7C!MR0%mQ`@i`oezXhGvrBzc(v^GH^q41+N@o?wUVp) zpp#>Nsr#x*Y^dMIz&K0sLp>eb+|b{Fj=pKdogq9KJ&n3pFY701eJ-$eZN46$c~~c4 zwEyxwSYE?^I7eZ7YT#n#klUdTt{d-}%20L~$82L_%wfqZYh67nUA6qc@rNs2Tp%I+ zJIjd&^;f9Q4mew*L^J+$|GxUlWMh{mp759(i#z zdqlie>b&|q75GApO!;jRZu0r~F#U`R+=S%2$n|io;JsyB9$Y~9c%NcoCHda41CL87 zSQs0@&qXv5S+JJ|^DxzA%bmv%>)yl(d~(j>tnBqdzyO*}CONh~<$Ln-yW>lrgV{X% zG^v2t-+9OMV~uB<^257QRr*dnPWuG)z5mcqwc9Cdi_Usm_TjmS+E~F?Ouj&aiH zo~Bh1EleQ4mRhfE?q8wTuKuPKn)Ko~+1K|Ah@`vrYbQ*oCtIQ4ePT{u_%Q9_na7@j zlU^%_N}K#Ze6*MQOnu@aT&+A@lNxF80;s~x*=}n@4sJN^O|dJP4&|I;t>Y&4eOoqr z^?TW0F#%N(mA6EcZn^XG%0V;WnxK;ziCb`0WIl5$36DV7Oc#pDi8H z|46*m0w$njX_X8ShR%G9_^9!w&0193$7k8R*KhbMnS^#gqkgpXzfp#sYHM|AB=-nFo%{+LakaC4CrX3=yk#0A!2b?sb!aHm-B5F|1 z04-!E-*ekRuBcnYUp$Ym%TT#XK#-Xt{wnMMFT3dNg`86@al(rz(J)=L+Q%w)3QCIRfOR~jVg!QhYXs6y1CXTyN1yRe>{0LZ+%qi9OMixG0&X} z<&!!Kk8;nk_bDMZLe=@V0S8@ zGx4r@InP^O&ZTIfjiIuIT*X}oP z{Orezqi92I$c9|=)4+yafyP*1BI$Dffn0v}@+CzyveK--hj}IkCi;+T?y2TCkV2jg zU%xmB%ajh7)ZClSa!ZB?mQCmRTM$G4G)C)QSs7`~Zw+3WjLyw2zxLenA)bMYPNRCy zK>sS$dVW@x<<^`I=ANGm#7pFbzlb^(o6C>>4owgHJ}JmasNYmh9p}DSef`u#(u6sa z;NhF=C`-!pdin{^INY-qjiKxyn%SI#-*(I+Qoo3Vx|Z`2KW~D>*Kh0-io-8rWF!$RxerewaIdu%~n*Ph|WNPWNY3esJT+nnGlG#Y$ z9QNzO6f?%=Q{z(rnsl+}uA*Z1mgH(#mBrsV={>al5#~e12!<8bmy0;?)X`(!b@KFu zwsjX3K3X)9s>^9eF{^^@rHAcSoiPs;HT!gd)LlOh>{8C_(bHLq5jWfu3a{`^A5nyg z+9$P8X=(7l21~1)U!OGG0cR@31Y9PQuB2k2%>;|v)zrNw`Smy=cVrQ_Gi>G!Yl@FJ zZvdxC+v-C1Hs~jtE0CKpH&}0F;}a~wR%!RH$@YUbf6l#f#O57PY8Q+7JJiMp z=521y86ma?`B~cA(YBv&L;oxXBm(SQ40vJt52k48zPzF9i@Nhou6$&Qw1(JLMjFo7 zVCe2nhwzW|N2@omGO5LY%PwzP5*6?#(d8MUzk02lHBM`N(fp#a-p?lE6Yf0<2}mYK zE0$UCl%kzfEbqMbhZt%ggsWZBpbIQ3i<7dw;1zVjycedmzw{_IRAWe3R@-u}tMx1d zVjG3_D@V7X)cf(76PU|XQ#ca1RKV>-cgGrJMozgN+AC4hShCd=Hr;wvv7GB z9sO4KTFU*B9N>Lj#R&^$kig!O&)hy8jyVj61Z2dgT7F(lHM;8q9&C}VHhB_}4D+P8 z-p~{mFbs3cT>TAHK6_vFZmjZN-SL_G)11xp8`g%{{Ak*j-zCs%7Z=7Er=ULCuNCTo z@{U$ofcqvH?aaCO%z``Bh0a(`PIn!W?WC?S^O@Bh0(5lnFIZfJb8?CE&0Y#=37>> zv5Z6*$YiPFZvge!abIHZ(7TA(yGuJ*-BQYW@rb z^$*_{1U#iDq;WH!?xt0S@Ca|umC-c20@CxrpXUzG1?h`)psroD%6--~(#$fQros;k zj8BjGeIk~@aCkGXM)t~@TN2JoL6IF*P6{V@jyOI;pK~pgi_e5g!a)3Vv4jT<`t+!- z<*&5J+T5XTFbgyA%wg^CkF?`{W1@oUR)lps3Qs{4FmL{0j zITwQLOAZr*UOA%!vR!^RfRDI=47et&BCqn<8tgSab7L(Z4N#G(#V?Agp3>-SJsV~V zb673-{(Bs7fjc|IIjnjOoiy<>wT@<75J!M@^1T2&kHu;Flv${s&skwyj!2(J#FIP#Dbi_Uofmt$taS6-zhG(in2K zLZ`(9baZ2dImaIqd{BD?^l-o}kHqI~z{45jiMEk#Tfg0rwb51f)Y6y^;9y~gr>0gl z-_HB4JRRKKO-;4{V~Aj}`4V@9%olKBm!O^%)g=vZ{7}T)ReSj`j#dN7!(&wbS|v_? zI2w@UU}mSUy>Z(M@{_Cl{l)9Cd&gw&Ew_xs6UzIoa`S2D9{&~F?=_I$WQSt8eM7On zsv}Js4=C?31B?X@V^rZR!CTSjhF@*W| zOo?uy6V~1gRC=wIKEG#2dQ{VSNABdHp*V0*iGe65?)u0MDa;3V7|Q=}Io6ryp$ZSc z6};dV@ap>D)f29MZVp=h$kZMu zN~)dLd-2krOBgFMJqOhx%k%wNy{Q4D>)V}@l4l;j-aq)dg!sg+@_|*Zw>fhyc%D6l z^tB}}#uu9UI07a)FpbkPT=scEi@)#el-;$CN3{0?mxel|juk<;d~Yz8PK`NF+*MVj z-RC|zuO=)YoPmQo91EwD&)v-T>bc(kA4u;lX>d7*5d3bq=0TyU8uJVTsA`8Sg;gjO^#7*aJXlH^8U-y!3H}zt(v*6DBmf6dn$?JuR+0B;ypQ#j0 zy>cV)4kRGPJGRnO>)kg3!It8O+FPlgUkq$JwVrfgWdul1Wi!0Db9`SHE* z4D^e_&yB9y{oFRU<`hj?DambnK-d%%XRRx1ly3)=Sv4SLJhm32vhD3uFg33`t>PcN zJmI~|itf;sl-$39<6I6=nVqngx54|Yetb;Q(F`eKIfi!2oKTxinO%G()UaV`_h(;p zS~J*3PBe64)W&3$cB*maWrr|T&M^#XvzTsl@o>pSYuEM7`ub%*6vw+74Q;NzcuGjE zylc4{Ua`-iVX5|y*l?Sqj$0>L5P5zjuExfdW1x->8HSi7jUjO!h1$@6qZsV{@k=s| zo2t!@zMq$|7+2} zv3q>{VO^o*l>`1N_hJs|hgZW2%AuCf6R;1NF88 zy}*f7gl(GijajZ5j&JH=fH5qxB}b{PpQQ3-5c*A9U~JGLkd&z-(fV5EXnb*8}-Hua|GHs9w5h{WzCrvs5xDWoBA~6|fZ$i%ihelvQ-@A^r!N8|ZOFBsldn zLV)&TI*P?qJ#qS}A?xFbW+tmH1`LwSt6Iby551`m4`Th>S8Ay>F>DqnS|utqKd_zQybz5rRB{Df#YpjFp7bhQrNvo@p1k` zfNW#MIp+TkeVeeV?%!cB% zx$I|=HWG#9RS#?da^Kys9gEqq>B~tbE*hTTjJ2gu&84u!1dVOM73YTA2|t>;9!G+B z3j9zS3wlqIUrTB}5K?#uystCvv!;ehe{n8y;;sqd{&`2EJ0p@s4RMW^2+7BqdXEJF zkvm~JR$N0YCSZA2FpdXWK5{v-NcGY^u&7z13YZBj^4kcN#&g%@gDn9t3bLfiblY^u z+djAUR8<9_$F1$LBv%G4AR7lRA*Ja=H4d>j%_y%ZN`YE@0sj$2~93(Llkfx3np%~~< z`kW8)DOv9FvjPT^!BQA3HE%n7D&kl6T3}4GzX`ZBfQdmh>l}YH;qjxrLq!-NycnD1 zJiE;ROHsw9A+{;E0aq*)kEUSE(7K}3DTO|OTfh#r?_W*dwRzLq8FL_u6>F$z@o7kB zV_8J%KnQXs+}`|FU*`OwlUGLsXhMzYfs+tJ0mvzVpLwSW&6|zP0Uxsd{=r`?qbz1) z!-WALujM>6zqU#35<;OjxScG%PQH3Xj;-0NX>swl>}$HrBj$3vOF;Mi_Uj$}vgag^ z(QDqu)W)}ozP1W8FS*j!(}&w9$wbA6z+ofD>u}&Yd&B&KUl|f*#8GQ?lnuB-6mPSx;>c` zWH}h+K$ZBC3)kCH)4Wa(R^ADNP(FfQUFqjT|R^8erX93m2>6q!SxkxI@HIi_KIs$GUPwaHAIMKVOt%@h+9Q&5 zs_e(Tqtv4i#fidR9lzc({#~7Q~J#lFMD#q64QQr%lr#qs@9tHCO7Fd3s z0bu}}B8-EX)eqK+LH$j)W}7q_;#rG{mbQQL?_~Sx!sIf)l^x;ixKPmG2EsC zESfYyaW@Q-hs4%tp7pK;)4H@axnj&efM&M_RRlX){01J~;Fbzxyq4NRp3|otOx;i_ zzAOtZ0rabpp$uQxM!k*Mjb9ajI3M`o7}`3+io1-9h1Y6jxf~15$z|RSOwed|NF{nM zcVbcOdxB8m)z?0kj`2n@?!CdCvfBMhdA!rO<(RUZRZg;Va_j} zUVqrm^oQpM3(s>REbidGgk2@;352Sgd#^JiuW0_Wi!xlorG2DP{o!GvDR2y=E#g+` zwNZnu)z+Q&-behqBy(otZU>9-M);2`;-|4QKFKmnV_`nD)tIcI(E#k{XC~o7m6hq@Q(Js!fI28wB6strZl#nx5NftY6;4>dF90KjvA3hpuP1+wBGNs1nfG50A3Kj(a0lgM+ZOicwQN*e3Mcmx zn4bjGs&eOIp0LT*f&BcRYwF>(qUZltKC%72s&s10ab@_UZ0RO;wK_ZN{<_dn^i=D? zOl0PHr>4e{&xpaApBYhI?FR*+9Gfx{>n?Ee*Wp8H-{SF3D!)S}cOUbc5y6kc&q6Oh zC*?+9p2>T9f}L)!6+=2W(i_$C4#LwAdKAi>fjS-@2yj1*3{g=qe30bL(ZQEam;Dt> zuL}~2jFz8lw935Gq}06-C(42A)1AGh-OgMc)h?pKh~!Gl1aXKs)tZZDT&XmK>JGB9 zXf*E;O!I{(uPaekGpw26C!V)?2T=$;N=TK#8oDNRT{h(1Tj92@yK#!Qx`0e*pRxV; zxF3S*Uy4f@L}=6g^jLcRdZb}sVfKWA`BW@wryefm_4Ca1ZOBAaoh4kTQRGC1PU51B zm~zC?kbkh}r-pYWa+n8Q+$Xy=L|(TN4=*US3mB`{s)`-z@{et{xUL0yaH< zRI~Vjts%u=HXyJ|xQiN3Jh>rIY8PfVJ$7AR>##UST`H+Jqzm*yWLJbEZANj+6bQZl z3o37^vA2Dv776K+W$1*Wz8Bc8Lw z5EfIfHq}Kx`U5!wE{*Eo)9rUdxe6(Qb_((>X#3Dw>xQu9Nf)Pn`~3r8JaObZ*DCpI zhVlH<(*R+md8zceGYElc@gIoZ?fsaqb9?41(hliZ=~o(-dOpTv;pOAZERlhsiQ#HS z;&3VQT~*zv$vVt+U&bRtKA-q+Ff%cuN)eaHHU`IU*R(y+*`tH`wrW@)e`K`%kBI9b z+d89t*l~nELU>nFkj+i%bliDlJqi3U6dD_fn%im8k}6J)pJ33%?Vk; zv!~Q{7)|qD@+u_c9M%&RxxWl7R-%vkq^e3S_Ja3=MyDz%sGpW(IuAMn^hzehGB>w&jsa|;HooRvZe;5uIBy*FL~9J570f{4d#2E4QpC4H;kuN4 zR<+#_+kxFB;ed+DOEH#U!9p=VegJ?J8QdSOn&FegmKsAjWkDEuA*KizQnrtsisiG( zS|FNXTI45|H>g7M0E){gpSTo>>sSXryT|kteiC3GXG8`g4xL^785p)SfOnUjU7EsI zt{|rLUV}p_5!ocXz@Nu&JZSt~2l(r>x}bw>x@ja(r#bDm0B6Mxk!Dz=kSJsuS{tlk zIgYnv1D+SAhL~(QdQ{F*$YtkrVnZxIWJ(JhtWBj3eL66$18(djT*j_7DYBKgxHJrO z5vZL*Ozv6?-z(U(P;HzaKG~8#BKiGa(2S${Pb@*imIM^~PbV9dFR8(mM7p(&LXA{sKp=qP%-(7N6}p{+zZ&Bi4ahm`_*OyTUW1mAi*C$lG^MK9*6YL z*?u(Qrt+N|h{&5FY{muJ_9DkTflo2VI>3gLy2<@8;^GdgnME1&P$VrdjZbj~JGjLE za)(eu=q@ziTz_7zmRs}i8sd>N3P7E7K{z*WtpfSVot8Gya#QQAnK**ubtQk#$U$He zEYGkL?G>xSY=PshrZvZj@|~S^rfKgCMh7A_?Y8dLOr&!#IXuOm`X}6K>%zN?xTkP~ zFXZL4=Ac@SA}M1N(W@=F3%jgVr|fW&ml&KewrjkDxph9V2|c%413pLor1`boXI_L! zwcL{a`QwM|%}*4!PD0y0tmKi+rCZDG0bsxrsI@h4gWd0zWW?+b z*J2@}{+>N-z2z{=Ekw7XTXSZA28xZOX#;#^hjS5;Svi4a6BPr;g=fzoT6m9mIO?OA zPRtzdACwp z))H$8JGEP3qOi}xK+!L4=gM3To~Wp8-f_|NeD;uzOV{r(|{AW&68*82>4; z_MGRP56PGY5q0JkLgjOL&t%Rp6q}(P5f1IO_wrs8Q3DW^RsSC5GjlVi>^;%`WTg-L zhm8=9YY}3l+`~ZPuSMci*xbCe>!a^irgmhnbQ-s>-sC$&8HQV?-?t83#cBEy4FR0Y z_VQ@Xn+)Jim)<{`HY__d*ji4TcqovY*=^lv6cCsT-qp|NyD=EC$ z8Fl|8LGf;6qW$g#pXWOULpK**On&Y5!o8WVcx zgqdn_`y8V4R0$3+1y43u7F}lM)r6F5A_CYE1!SFkf>2eFr(AHjSkpy5{4un%yVUkg zXV?J0PTtt%!K|yTS+xga*|fdSqxBBG(d-W%gdo0POS&qm^=#PexgjT~8pT>e=c{=( zxS~sX=UU%qhnv9=XeKIb1#E?9Bu$@X8unL#5}arv?^%HVkEc}TBU#&-RY=U((KCGx%0sJzgl^B$A3 z@*IMp?Bm_sOOo-cMj9LX_ZuB^!Zpu>%epz7MW7CsPa<`w>e@>A*MsUYUc9MtA9st*!E zok0S+;fCHmoq-b&dG|2-p)Ua@QDFf^@Z6vViddZFk+b<%=`egE^Gbhq);DwvD4t-K z;Nu!H4V-+}+B)f?`X`MvZFgHbljr?q?npnKWtSCvkAS)cev51JeOdpdp;|h{eNVr4 zC&a9{Z~J!$t0lGyTezD4@-Ik4PC=_z^ew7((#QFNUYvbua({Zk`f!@plD&F2?4#r< zzX*PT`;&41dk&+d#vPwWqOD9tEUdOqT_1T;*Ri=P z{yxKCT*)e@ z$2#rys-A`dUW9QJ5G|l(Gpu7P?S7=4Up=u#ANGnO8Dl4?EC~x@4@*B|OdeQYewnTu z(%`!70|rdI9Pr={2`7(tGuU?~)f{Zw-#(`p$%rH0l5!*cM>>Wpm=RI?n%W1be6Ojr z6+PIIuP>#$9-Z!BD!uJ12@rYv8`G4Cd)V!0!rds$m}1g%rGvFS%YL|G#}#^4@3u;} z7T=rMFm2}kDl0>@=X1)l8i+4c(|`*q2}5e4oE ztqTb3fws;)Y`U(bT>D}Gn|7Bd0DbOa;8!iyO&w?Q)?;veC{#@K4Yj33$0`8u&6FN3 z98mbQ9f}@xs@icyoK0;P>9oz_7CU>I((>n(rBdqiNn=toTh~FO)PAtGVqn{|KUMle zp;IXQ;_777D6*kBr1-(d@qdu1&8b}t4Us45qER(PxuFy|O;Y^$Kt#qu#-+-%N##X> zzTP^tO(R4O$(v%~?Ve5Eb9bLAC07g&)~&aYfMJKy zRc~5C! z>hRdmq4yygQ#&Tr1Oy+29MEr0T{`G?eiY}Jr7ji|Q#j)D#6Nl7>G@Kv+>(x6B_#N=gb0%f;>sATBqJK67^0yX7j}8nlX63T#`SGPFG!EWEXA9>fH4X z5OHXTL(A^nvG191m8)?@<)HNBT|c8P;Em%h(}}PZ ztt8absJ__GEgY{O|HB#l95U zFzVw*gcG{qZPOb_m#~QNoZ;QA{M&lqS?3_hJhSudRlYvQ-`&!eZgp6IQM*Ojv_jWM z-t1g8R~jP_a7gr#u69^#ZQVa&2NWXuqgCqQ8o#C4&N*07RJ(EKM#PzSEddekZ`{-T>fw{UF1&tRPwc!){j0pf!>mvZ$O|$bN^w^^Yg-@<~keZ zsc@p)=q|GbSez6qY_vGN7Bl57J_$VLl&y8*y6^KC$+!27I1c;YkwZ_WCP~Ew+!P=0 z8sPtB$hLWDRloi@cH^Dew~8+IbxsDLCvgVTMARkcZh9JYue8vXhkS>tTjWY!%&i<~ zIOv3*KJ6X~n@wrL8o~JPWhWfR*c!>P3kQY+OFb;uV z{@cke-B-M*3O8n2aND->NcxPq`>HK~w>}bN)mgRv=XB>}rD2^S6I}*ZIn{jmpnweI zZ{9r;&E89JZLYui04qNRj!)lC-Cmg88U`U|#|EQtXC`{7Fl|6PvRIW_tuPlgJ|LUP zXdutf4mH)t4&QbXJB2SVY~e4)53o%dYBQNMGX?#c`_;$!;Of+_GOy@8D1%X_r zpP(n#A9uHPP3`#jy!0E;1g8&cjhQNHT3Llu`pg**DBl6kBS6|pN#J8;!vJ`oC9_5T zy%i&>s)&SHUR*y4W?>`FiFz5Gz73l^ekU&u%*hRki9 zPOi7IO@whelVz4PM7DPjv*bYc>U;aDUgruus$dL{zo4_D>Gs_LmDnAjqnOymqu`mZ zIek%I+nKgmIt7B};T#&`A2>?*WmmpkNgsTZSOY|_av5-2s*C9Y9m6NnU>LA@DYBVy zJHOpB;u~}GwH%Pw7Q;%a%dxUS>sUg0L*Q&FJdkp5v}cL?X}CL_zZ99HM;4ZhkqWK~ zg4?*UU?}^IjErg2l+luLDUjVBV-Iyp^gCe&&vg9V?p<(f_f*(QLI+8hwIag!knx^R z3F0B?y8X3`E>r5gAU?aUrFsE&XOXc&vUk)D8g!KRAPtwEFx&^&WU@z7)udzX_r9Gu zyh?ft>?w{@p`zCNa_# zyQZb|hB-GzD&RQ_k3^u?^e63LOaK`Qa=D!#2>N4 z_!cG;g0sQak}Qs{(3X#u(q`;0Wx&s0n!=$5qtb>ApFv3vY}FRh`y|4?i9dQbps3eA zpe%474~E}s?e%t(C)KpyNzx1fYW*5g9=<>>7of}!<7Bhurqp{aWKH&ichcPNx`^C3 zioy|y3&Cow%0IlNVl$QX?)4o9WoXR;UkioAaF07)eL=+bEKJjn?O1>jK=5my*YvYc z?+hnB>KuI2+O2TZuxV{RvEsV69yNX8rajOF15aJvrSdAFyn#@Yq7BE=ZP5H)jsK+b zPOi%bOuFCpTX~&X%XyFsLiwi8Y$BZ9KOrzQ^R?&1{_2d={?D1hCD@FOoaZ3)9}0;- zds(Fd&enLcM{Nr~ED)G{`ih95NQ%RyAFNHTKPB@uC((antD zFMRv4`-*l0ZHH+~!;G2iH;_Ju#E#fKG-5?6mu@qcYpXWpP8dnvU1#s zCspt9fM`khs>;_UN`18PDZ8np6dtLoUml*HRIUgBsOAFnmq;#~65~$gDca0p5e8PA zv45%lX^*DN5g=FNXIZbB*YI4>y{62?5!V-X(NCLY`_P?Kw*J^K_ju|p?xo;)gpMDZ z#+++90w+_Z5!G*+IWZL@a5(3)YrL@ll>;oRA%{1+N`3UMwkP-3cTOtF$PTCwq&V=` z-h_8Nnfjryqh^x9w|%VF+gUjR*;h1QO4a20LhYA;4v@kldwP0EKE%rbF*ranWS%{V zEi$RRdiV)l213cgL&$J<$e__ipS|{-+v9T~fzLskTK&JtCHE0}oDmCYmrOsZ))U=o zx7R=0VZ93PPygBXJ&K8#A+}~QW|A05zYW?)jk@PK;ejb^;92)-gY&tk4AYl&BwGfT z?sJ5DrXPG_m`_(GM8Le`6A!~?dAGL0M6Arp?P>LYW}+v&Dr*l+)M(4|5DRM@z{=i> zj+suFCUv%+!3{mta_|D+N`oYW+mLGRwh zud3v(Q_>0MqqDtiuZrb8@K$@_u`9CmGx|MQpVn6%I-mdwTf^M+*n$>pQ^9dlKR3JR zt#51*9>OF4nB!FST0)P(LqCmf(EPV88h_4~so54R$M)GokTR(!<_Z2{&M$a?03<EmswG1*@wai&~)>c5$7vx_?o|pTuDL zfR>H97ez62Xdv`aSmkc$ulnSA)6(#XXcDB(udTzSshcxtKxLbz4%iI)BWQbxJTjh+ z5moXyM@{YPq1OJ}7hFpaojkLYsMh?mln#Ij#k6;;;vp+@Eo_K|OCklt{ApeE zDkfFN4Fyve9H*@ap|`$aVAq&-#C-}YB7&w-Qg7M#ztilvRkR^BELk{BL_BsKaqFwu(U`49hg-R#P#tU;m z(m<1nVchDor&rZ~LRB!<4Ksjz#VM`UF-FJ-b|D(5oZGR7_UIB7&-MRmII+seGbq{m zSK5Xb^|aCOcVF~j^-bxQf6IK*-V>HOYzDi;FW+R#{ukUrG>Zv|zCJV*U^EK6a;;+` z?EC+8`{d+({GJf*)|0|>&3_WqwsokfxAwE1Qxv_ibKcLoL)^IY)&iUy!etO+v8yK( zgl3^lsl!VPh5ccleG46Ns2z)virxBY&sX1z)=z&+a)z_R*Fx~x8UR*gQT&6~^c|I` zmt}k)5iR;g#7=Gs|C!uGv!L2_X6a5^og*5%+>}C^0cztXttPu)WAz$6=x;s#hdo_< zJUKUwi;N1dxF5xK z+yIVJ!Z#n)UO633{owEK3jI56l9=!LV#6Z6yL9C(I&CBbRX>(6ea1h4imd|tjyr{Q zcP)Tj;=;IUlKDr_=_KGdje(w_mU`M-tYbp=f>~8ZK}|GPafM!m@x>kRhwfgV$%BNv zwliIi8?+euUEJxj7>S=JO<=b#i$yg^{r6(hzY9dxRwpz-^=z&o{G(n&_l=pA9{Wy& z|23hCR7?WwSAc&s>Od|!(th*MOJd?;BfOI=(oITeY*VM~d|lW+zE3>iyTw*m@8OzZ zr*p4!RqswieAhwSzsYx*q|Nn!wLA4gFzPDFt~!gU5MdE6rt1XQ)~bQ21(n5Zo;IVO z>M9|b?B(hMS#ahCg=oPM`3m07&kn^Jvwpsfa7jFOKZe?$#UZi~yn0+jM(jMdqz%8O zfR^-R-ZU#xe}8HRT8IUr-t)p7EPp)9@+BUksS{+qxp&v>j7s?$`EvG8CybxWhvl0U zPGe*btcMv5={wH;bqW4y+_wX`Zo20>^Roc+X*KR;%OVUGQq@~k_eNVfma>4WjG%|S z#7|#-t2b0F;wpQ|!G|0Wg*83h-YqQUQmt{Uk`NWGG#d2!{K=O437d+fEcA5bnK*L} z`dUcgiQbupSULIpiaPi0mik3sktj7M)2+WCUBbwYuFxLKc0=UU3y*>JMzRmb$(G17 z$#)vGlBz|mhYztyf&z+HK)$>IJQ{RiNm{pypHa_Oc{mx1Ods}p}>uP7?u1#%w~1`yzze@tIiu^?%DnszAfpW z&=GJtxg|Z9W9LjRZ}(i%xKScg1AhEr%$o6sKWqxJpHJWjh1BTj zavx-N{eP`hw;S-B#8UdqQu_E=9my!6k!IOXB#O1tBzW7!6qx<<)5~xdt({G$m&`nkis$H`dhdrz-B+-}?6U##? zsI*^IqQeY(CWE#?U5(1A*fX>mJZ!2zVOup8@IMvfL$iiB0hgWp_q)z|J=q62##t6y zPvfp1-La@oJ6Z5HJS!r#+xoX52n^44CZpGO4PS$0p1t45K%ue^sJ$?8M#gl*T;?6o zn2iu1wESp4|5*LUu-|1mw!$2qA`g0!@5dR+h=#5Ij1HYAj5CayYgr?|?8FrABhIp& zX79KNc8_mg$k6#QFH0zXNl>I0_R5xec`bdR+i$EBE#8{yDx>eeD%tp#Gr8Dc9rb)H znnUHf_fN!~Q-O_{!mBadhKan`>$W?`8k>{SPU zc#9XK=~Aa6>|4%xutINtIMzto_G8m2Kp2vbCQk%ILhGy78R)tO(>kJlYvuHZ;Vi48 zNZewqrNptlgxC|)MZeG&ErsH~yPwDqO)fYFBt}I1;kmwBpL+jZCHvWOQQmoCBNLPC ztSE~tzD%qitDYH(s9IQ?nvcYGn`Zc$1Qg58><_a94wbcM^tRm4g%=!*Bf%XWKXe}R z7jiFl6Bxj&=taD!Fx%28y>4M`JaiW?H9IDeR43wVJ-xJTqp-M; z^myPQ!aTeSlAzJ4t?xf@HQPU6rqt=3OmtO)nH{EOa7HB3EDIR+wjRm(p!7DSGx|EZ z|0l@KUUqNhO8XR&>lWb-KpnFA{AdrhM#~63`cb0y(kYx75WdR8_I0fJ^}H%33l>Q! z?Va;f*s&Nyh}k>hW@Bx3c7C-D9-bF_)4cRB%^+CQ%J}kGT9*jN)s6xPCB^%h)6Jo} zkVn-gPU1a8IGs~7KnO$b1`s0mkDOiY{WsCNx>zUcy81fn>(AbcE&&sU#GT261IwBr ztzN_Df;h~zqNu5d>=q!TqM?CIc@HrsthY0{y!}S1@H^g`f#IWHygOYBfoY27Yk}Eo zg^A@>P9?8d#?XyH)>T5O*4O(*M+AW1v-4|=Sl@qhTf?<6TgaH7v3$ohi?e(sAGKqnE-RImKm__UiYh;gus7$(_L{dkoqb)_OUk@2}LLt2a!|l-b z2MIAB_t(W^&=>^59bxbJK8`~+0kp=W8}9%YJ8&3kjQ3MsEO>yM!OxKA`kWU`7!7vmbXsLRTo z_lyQ!1AjO7AniE5U#4T`tc38gYzX=rsm}h%C1ZYvGO2H9jRlsbpW)rZBsHtc51)Oe z#Ez0$%SoosXoLCsN&e->E&~7z0jQ==cow{F{Mv>Idae3ixs(6%1qBW6h1sBPVTcfJ z>%tVICH9&ab_DeDD`1-!UcANe+r`JDRBhOLqm`C56)c0&kM;$a}EGQ6mnBUM#VQ z@Zi17s(NaGiQ~V`&&r3w=XF1Fs5LKSe7u$NKNLOt2?pFt z$06|W;N7oUW}+oaK^z`#x*O?T!n#*F!#P^nAn$$!j>fjv146V&HM+xKevrpv??3-a z{%qv+nokY3!t-I@-+k!rnmw3L2adY>A0AF>$bI2s#9rB}Uy}5F;t}Tlo$NcQq=Ig| zR9R!|3~RU{TB9&@{6^K<^z_i`daQl)B0=zu4B^tB8z&pPXakBGvfW^3*4BRFn*pNg zyg#oDD6i=m%t+9~(C$47_~{OwN3UYfkNUyH_BFN3ZR4cYy;U_{0s2#RjvkHB*_k zQmu=N!-Z){P5(G;!_{c@soUBWLg=q;mbRV3>msYSy5)$2-Ch5cj#mG~G+8Ub^Qs!) za|4<*b+OiEEthxm-$K^6hbXaD(W=`F-%i>%@aVHzH^$Uqjslqh14Y$Z10nN^qRC>f zWKhQ<=w-ogU+lbcX}qjiqa538VASO;AB*JSYT-4u4M6SbmeQLDz#EN)^<5bu`#?Mc zaLN}aL)>4;aHpp5v$^3v2gYaDpix@mtF!d3fl$|!JehQA=8p-LUGCe)GK3 zKRtm*L<6#_L^w&+J>9G#G?rUd_N7p+^AXJXP6XeX0Sig@#_CC}PfigYsQsDEi2dk( zo1zt2Kr#o^zQ4BxPOjQqaQbNg@y^*wu&Ly8b?1;mG~xqm>XnB?T)w0KENn;{UNs*j zK+4+5tua(}3H>_)CuEMaMRA3pk&Y{)YGJ`=U0Kvlz#7oE2F0JhJyLKlPTu~>VV}BG z?0oS{PS@n9oev=sh4BnD9K0C;kL18R>`ED3 zZ27mitLwT)RfywmGBeoz_WcIs(1C{;z_|!CghVfGvy-tuPAD_|jf!BLH&b|KQzABT z3P9pU7)K~X`^TH#zDf=fAMytJ`rl185yTL8_=R_DqWXa!1@+|1&W(@%QNc-~Z@+Q|u=V6WNQ_TK82aY~s!6$8 zTeaaov-3~pHO|X2YHlJ{Wgq>N4L11;V#+lD7_ukTRfWKQ{pBaa20C$nJ7mM|;C4lN z8{4B78-B$`(*8S#MO*k@*2$s!kd_a}@}p_r zTE6T&E$3%_UKUWqFAq20__D&~QGIblYWwb+q4R?5hFa=Vh!2MXWG31( zd(I1^{z$5@cw&svI;HA}@p?-5wLRG&mmzKarFx3ilKF2yCy(!p1+zF-0jo0g)p}6$ z)1{evbuGyQ_09EWU;D~d#rzC=dPKH$Ni-o+%%p@EP2sK6^}%aV%670bw_pEBVkWf* zLeQcflHMn3dCfJr;X(TY=kZVJk8g&*kDd|?StFXAF)g*13$oFQq6)+n&C^93DbX{g z04;X>S(wBGMrm5=J}%@I1QO_iG@PCda^*-Zh6*6(cQ(AjEbtdf z<5gb;%UxQ~3+7prxdS z_VJqKVntILjzx+LwyAIUW;|XSp@Mpur7fb4lR1irp74mECdX)nmHrW`LuY67R}~i( z3buQ^xL*UBFg@4R?K0wbT$_JJ8gcjyZEOwkb5q9y6-Kh4u{n{%Sv&%Ya+WJp!{ z`>Mp_7eJn)O7=WzP=3~II z%d3Ne-?r-KC-mfok^U)dae;%nm>c>_vW87bG}6(g9(W;(1V|Wj2dl~KJPHKlGwZHNyK8tdiBS))*h|)+x7x4S1#lNCgaBh zx>&WBz2pHFvS;HbA+Oyz%k2=S>6W<@om*=V-vD-XJ+}sugdfdyu{M{F<4tlUX?B-@ z$s;sp@DdGcnfW%mH`6j8Gz&_h$7cQ{Z?4w3%3ZjtXZ62jWwsvjuY`~TMDB%y9TrdW z=J^h&(5KPn2dIu?3z(=yOAR60dqUPbYDhN8qd)w2#M%18gue_F^CEk4HHyz7ckQGY z^mOCO6;G$0lacCC;HwX;O64DtjP0l!+kk|%VbAn?1bavL^;!}$@Y4DxV(*phhMrLV z+z?j`r4*dtSOPHV##;p9+gl&IrCR8}7%hXltO9h}3Q(NNo>Q+MKcf z-5s!AMKd+n_efhB8*8@Ce1Nlm0an%Z5`!%+QWl~jqpx356Mi^nU#jKmf;h0%<`z>{ zac~?f503UJ*JR$WXpjg>VzxfWH*bz`Wk12THrTVO>D0YjOZ|L69owyiZKDIM@a2xu zM=%DiiDb4mUV6LAXPM`r^m~TPMS={DPeVgIulCb3?1#l9l{n+Yz>#2eVaa(7GFNNQ zJN2Ko&+;e7a%d}FE5rdnZ)NEl3^1qdS>V8$gH@4{KexIscK(WVDZ{ICR3NVm-A;#H zV;eA>n#uz#hzIW6HMGxm&vv0>NNnugS3vUmKBa;3B=u>xw<|pV{ppbgtzZ#7yhYXJ z+doa==YG3}-p@r35_tm=$^yqQPnsrU`sx9%feen}lm`uISRMvY2vAK@-R69sf3A+A z!A-yB8g7v`K7O|L-6bz|$8i_Yc*$dMc$~7)el8ncyNMY~BME4Br?j_pr z@IL)elkRv9X)=Lu{R6lXe3(Ci$upEKC$`ZolLegcq9{^I#ipz%}i61Ec|A z+8)1cj-O1NxrHR)!Zx?K)0O`7G?V(Db5wDX+H3*mCJ2EmPIwlm}&b=_T8q8o3A3DsA5A3WCj~!+ z$}3w4Gs9$3>k`unY=&dMmcF_EHu)vvrh{e2x!PkLrvBiU3RfF$vr#&!rCNu-C8Trw zxgZMV7lKwQb*gtqi^lThLTjhC4{)Aon;R0!pI5CbsN;43b&(0Bu0%?x?v=K&Ae$#? z=dw3agNwV>A8?onA1#9w%)i|5!B@m-KqMZpe&2kNe)wOcY`L}LoprzZuf8AStuE;S z!8E6bB^1Dc4osQTPilF$ik*;|*k}8mqnaf9Dr%^n?yyvm;z$| zP?W&IR`ES+IdOFo0CBKRtqJ)HiY!t26*7-jLh4Ao5qOHj?!>q>tIee+BBQt94E!)M ze0J41pw}1Lx<5r@LS0k`6%>YPu_5T?XxY+LHHybqG|j+4hi6j50VweUZpl<2mD_Ck z&I5&fX$tJ!0%!iUm`zagsiM>_Leqvu*L=1u%m5IoRv+nNM(gcmRSSs|{S=^oYlZ4C z{(K7`BYTW%hQnVq*J#a`9G8qoXh+x}p0SjhiD{4h*5v+zUORr{V&j%V^N8&SBvvaq zo~<#@Y1x>@L{B(U77ki8vK8N5DGdd*tD}c-y}5CPdV}%P_w(=`kOCWCE*_D2i4BzZ z7&1Rd&i8-tCeefjl+{X_1{qbZ#o_quxn+Ibky!o!aH0|_puD4<_Xl+;`uj%*p18sM z<7>0S*9vDC5I_F)(hYcZK(t{X9&LZ&tbCf(pn1Wu(lf&RoXzHvs5cN1h=+V1P?(&8ZLe&j0ny$7)yZ~Z3;0R#Bl~xLoF8kj zmSjIZS(p%VvHdV2FiqJ!x{X!?wvUty!@;&8NClEo(FYu|nxjwf(wuSHt-nQRD*$~saBu6Z9Q5xv%7jD$1gMT^O4sMH#gKL8t8sWh_=0#K@>GC&kND4u zD;tT?zeKj%&1XeJIbGrcESz%TaXjqxupT=AQky?X8g}&gLN`}^`cHSc@B2SwVZOpK zMUX=U84~B;X)LkoGP|uIR&goo;v3ihkS57p zz*aUIN(l8Wl*2kwsfsbB@Yz4L-^_k%&by%PtDROKAHC?lpC+8^{wq_sQxoXQ^xeL^ zA-Vi6#~wcmR)m1rQZsum)BBs!C#{*R*b4ri-<<9L)-htZ|w6{DrqQoBgZYTueAt=8V9)QAy#ueMr^*t7&~t)ir6 z>`*GU5~M_o20>6H|>D9$z0P79?`uC60Nkfj0116^|0p^pn>VB{?D)eL{bg=TJ`xx$*cVBHa>+f z-qN}ibQH(`Ny^G<%h@4Dp=%>9hJ}4w$QJ_^qKYH;cmFJZ6nbzC>R89~A80)^FIq}C zS9|-X%k)*O3qzoO?uz(^PvnM!hKewB^_0&ym4Nx1O#7&xhJ>J7jW@iNYSIriWN?-5 zw?Z{{l`B0bte-XqF1>idaK5NW*jZ1@Q@f-iARb)!AbE4)!>~=PA^?p?1L?M)P_ya2 zLrXVe(XrKyu$d!UO3;mw`^tOXK+yIHY+$Nn8|vfPKr|b+!ApDj-mvtrHp3}#?k48K z{4=qea?RhL5Pj$T7!h;6=nKofx;0DTIGL$dVnhzTGI4U6ZUDR+wptum;)`YH`s5f( ze(uj9Cgf9`MqU2XtW7kv@%D4?rjI=~UUw7>kf6b|p?fwdN6UBt-^Yc;V-;<<{Y%J- z5zkrY>9oCwy{mmVOxn>uOwAGFLS?o>fj-6W%xWDy$2=g+&^||ic}iRSkG5D#Jg3K6 z$K>QY&zRwIUYj+@(BrY6w&km2-0rNAY{a*9@!It45-YE)9pH1_x9`o@?G!xzTm98c z@_v5v*k%fvRfxRsOJV1URlmFQBNp5QIsz_ zQ}XeDpxRS@slt_+z~tq)a{c)Bjg7F6&45w^FlsG1y;hXtcNHyld6HO|tSusQuh%Os zZdijSJ^8B*opEVNEr+Xc3oyOyh$D0%LxQs057&Y3`wMQc9Jl0kKo-<7v9dpyjF^hd zUS5&>{-m3ooAh+C=UNh3G}^ZXqzb4c?)HB~5>IL}PV`-74Omoh2$6YbR(T-msYbzR z2~0TA{&mDelNnLB4ZG_$T+Uzyu?78u= zNggWBV~)=MaC=xQNI;<6_n7|3y&Ws5vf%o13PKUOoXn%UM#?Rm2=ukV95i8?j ztPe@jp}W9iI`U^d+bvV!n2ymFvVlL=2@y?758eEchW`7b)4#eWq+RWUymwRK!lhqS zPRKB;n#1>r$2xW2db@4i4o-r%UQPvom|3vVBaH7@Paz1QeKgqv6^%(@smB}3M>mI6 zj=wQ=g-%^X8V;tk#&7^cMjIZuNLT?n#}Qm{gFmz8TM5OMfh2?Y0bp9=1e`&qcSF(tlc|D*c* z91?CqWBb|GIJD)cmd)8XaHS5kg)QW3qJL9Ez~ zn3-nL!?h;fZ(1`C?uI7Cs7Ji;h`2a&(_!eGDD~y~8kD;>U^cHrV&LDQG_}u6Y}L`M z#G8}`%|>5jKp!uqy)W3pfEy0nBFrnvx@d&-(8)dcUAI0^8df%otpT&Q{bItis)R7> zB+WZ)&0ZGrAOvJM5+cCAi%HiM-tSx2YtcmoNUq1fwmH3EOV;b*6kAD2`poQ`v^GJ& zZ0kbTT}k$Vd#%{z9F0(mpEs~Oxb3F(-v_#sz1Q1hj}AW%C@J%)p5*L zkhK@KVG|M>+yDtUJhUespK8t*s-5Qh-Aep4#H)?ReBFW45@t4CUy*(s-)tLQklgH$ zT`SU^|11Fop|`~dKp=PN)AF+;)S@pzk?+V6{ZVUVvfc9jZ9>Lv#F!OkKj?r?dYbDx zd(A=q7wePCW1bKR^g%v`4-V&W4~lEl;rRpcYG9A%F>PLm^-&}mZQC!xp-&?-y_;GI zZfee0d)bj=>~W>Z)F7bH$J=?six@j>v!RM%1R&v$YA(=~UR)@TYxcX8 zF(-`R-wJayhCsKwHEs^iqpG6Zv9d)>-zLsiy&ndE{n=jt|7qxHgF53G-tkLraTCdO z3GkuX9@J+NVF9lyq`w@~>;JDS>S0LKxn1Qlt(NayL7!*`Q`n1n9}It8Uh_9cxxPJ7 zQviRt$+C+Riw)L%g**Y|$_12?X%SK9mfHeJEah6W50Z+BS>CiY!Y0ixJ9Tz1_iQ}{ zi&$8gM?ooQz-aGOujEP)dRBVB7YnGDKr&}I$GDtP6oD11u!oy=tjgJM{*+oyZ@Wg#x4mFHoqh-IzmYo|d$%ozO*9V8i zIVR+1aU!#ZRGsn^BwyH}MeY=4V2Id^J$qN%nSmtFtYZiZq`? z!Xb0Fh9A`Vv{97;4FxLJgl}Uz6`(rE%CqxTfK|}*d}vs}m810_+@QaG-tdbM4;j~h z{|oP;jHfKFC09+8EWGA@k;x&HS&lu*W?ys{I~r>jLONDI;{7A(SrX=s)7fJX4V%Nt zZTpaD&;F^`e`e@8i{_4X1%O+dk#tYjlOl%YQ#=EF9=@!hRm z2NL?0w~6z$x!E(OH~N8z-oY_uS&Ji5+-6^*YsC5^h_F^@`Y}Y%y7Dhii;wof=4_mi zva0~a>kLQuWV?y3&_<^i(+~B??kq|bT&La|aAfV)MzZ}I;OJ}WQ?nNUoOtpns}YlT z>#d4DWY`K>U0-=Khl-9p(+v_*?Bq2X-@?4vF$#j!CSD&a6!?(%MaLloB&xFm8Fr=^7m^;DlG5)UD8BLz?asauSTst&(_BF zH5;%B&@luKzhBM=8DP73N)Em$51R1(v6I73y)^6t!i}mSgfUFqHMRIe(YfJZ+QcEP zY1WXHnU(r-?TsX##taU#6V)1|p4D}}wW#yk`x=kf`R|}(v0tJ2#?X#GO|rt|2W9RT zs<{Ul^0$;XTjn-@Gkyhu840w48-qdQ&dJFRNb|tk-8`Y*XO~@Qk6(Si80Ek5AP{shiaf1#iO7eot$k`|U%rFWBU#_A zgWGGGO8_>Z{K^@ZrMP+GJHuBzznSU&s|W?ZA>|`elwyY_u4F$@u;S*;*EVbXW{<58 zKRFz1kt5`XRCoahD7{;2p{X+W&f3g0YPGkx6*7`QI5@5)>_Dygy~LWf_{(*~`CUAt z&JSZxYX6l}knc-e{yQW1i7!~4BGK5b`C&%&!Vu4ydDVW)pCRQdlf{Q_mvdI!TA?y- z^*ACx3I_jGmvEpt%U|QFs!pkDm}=mMa6*T4OQ8!&{=ye(G9mwtzL`;sp009CYEB`D z@`QaK@*BQf=PuM{Z5ctczlAOC+&2YI#s##--e7`BQ<6^W>*C3bPUSzatcKi%A=p{n z&r_;-C)cl7;7iGN@+Mcfd){UIo@49jSx1#X_Esalft^Gm%9$Y^9y_$^WlV%8Yv9pQ z3E=t#s~ zW^GmQH+vcyos3XjAWq{&&bY7d`4e1f^$*E)O>I=XA*b}EEmo9$=caCE=jX+q3tU&k zFWa}YIV?Dz4<5FmNcv#~BWix+^NKY#zY{*5f#vw+1e{cHdq~G-&_Ma6Ci>p>12 zSz1no`uxtwuFl1mW3ms>!o2D{@eR()uE1J>a*j7?+-Xg3h5H9f{_&0l}``-H&*r0{u7rl3_gk;y=UV!%g^0Aq*;LD1fgJfHU-S_Yq9X~6l$iXP~M-pll|vIlNEv89!lj=?2$l0@xEV{ z*LP`w|GNB}^ZIE&1JAC}fBOLKw8&>F&ofP=uQYqu0?`Q-P0A@caZR>S^BAUDNTg6! z9NjfZA7!2KK<&z%>D;m)#2E>wm}Y~CoMOU`7Viosq6jbk`0dr?s-~?^bCsO+^2q-{ z=lSXO7wqMX-SsWq_Wf6i>JJZ^k6eI=Gof|t3h+W6H1cGY`xfm(3MW22y$Jq)jCt{}*+i@749(tnNWKoB zc|^hbb|c__B5!T{-J~fhb)M+VIQcZihYqxxa-0JSb9upcI3Me&BLjSgEFKr->p+pdP49w8r9 zr~0rzE$gsDXZNbBwn+Imhh-KiC<;d^{ZuvnSJ{3Vl4I{X3E&IZ_pAj zX%SdWLbWpj2?yN}uhbcT?4qk{UuF*nn&-EM+^NNGW5uu^sb}uEaQEG{?qx^vP3d>2 zJ2nS$3dvdhG*Hl2vpde*vtJl%wzL~IJ9kcC4Ob3W;Z_zBXF2<_;W5AwPkqAeid?fb zzgqQWgx?ZR?lZs9n!88BA>s)Z&J4}rYrp%mgsc-M+o?hzemEW_>E4~|I{ai7x5FS6 zP1V-b6bu@PX8?C?zb~$J;VOOi`F*~Q4rsU5Vh+!O!>N^Kp^$}%q1G?MM>%5p4Sb%( zzq8UMjI&Q+7u97ow*}Hotk;vQ$fS(l>o|L=pS(s|6aw^@g zF&Ac|94w)s&1&+mEH|mra)%f6AD{1H{niR-_V0yspXNrMJk<;y&&Ao58y}Wykk?&i z;_y+uY2bhQUj!39^7b4pzyp08aoHu3apNo)#5SePd;RxQ~WA6p~zU{ z(>)MRVxi?eo7LSH?`6s`b&cY&ou4S`^;%?&82t4v9kb?EfDWs60GD}J;*yGN1X7|* zJW6(s&FEewXLwTlO8XY|AM+SS>)WJ;Km`_3p~vTa2SXEa@$^w^+SCM(DFaK!>viV^7`Xd2-EbQq>o<5O1lJD_>?NV_lLzhl}KFqa?833S)y;p z=--*Uqk(`{8y6RkQWS&w5Y*=My|`WixCD&?*0 z`+=O@<{g`7$0FI@=#wukJNZn0-ct~cIK3(-AN^_XdaK}}Dum+lyzd#p@-6cLpZEeh z>DQ4yf2p6lUH-&Wlq8YrT)@ZaQCup35*?mwcJz4Wi9ZRMvVG5C7Z~UtaLFKA7EUpPHQwmij{yf9C)90U&U-xQLtg(f?s4j%CWq^{o-Vtzk?qhvNtS*U=w}~r44K! zXZ#1!P|v6f!Yb*tnjF`89E(sREA~C79x;p<;nU%rOZe~@JXjt=Zx((P%2PVOZ7Ia{ z(qPL{k0V;U8-#yA6w=+~ZrHgNA?A|zo{BwA&$gXf9GTQSqd805Ikp1Z+b@UY(Kz@cHI)xidA`m+F1cpyajv_0F_8lurS=Jh+Ogntz zyUy+>$AELRb~ci@X%zP3y|+)ErK!VdIR0~wI6JC=T>^zKG4AaC{-DItW;&#~3nJRh zezKECM_03;ih@(x*$@9wad$d*0<*(XVv$zE1EsiyY;pa^g5F(>fL{g_nW8pkxUhnJ z19~BdQ#69G?2B%bQ@QjZ#Z-Uc`_tMJkDZ8OFFR;&Z2T*S={APmAH6+}rH>|HEERZB zV6a`Etuj#ZFkaTr{6iMK^+~8hkAx2Y1P(ZC1i)V@GqsfQ^OB(F;yymQk&ypDZLySJ zvf6#jarxf~SR+eXSjj4e;cI5ca62kY{x-99Tp#ftsNX1j;TKDVL+Wx`8PomLcsnzm zpTp@BMYv@b@^xW?%|yNDWBvKd4yX7dyU^@g02Yen8|yJ#Iw%_&RNqWUj?4VXEN9f%MR*?Xrnv#R@gsoCI_Jp0=A1pRc+QOg$>CJJCviWh zG02p(WDRhrb5582GN}M5pg(;UrMcX}-?7XqbgE+-Ob6e5_j5NY5~p#Aa5&f)IJ2q> zNTfM;O7ZS}@DI0`WVU&G@tBOBT>vI_DXrT>#jL@__2P?yVW@;;v%x_SZ!<(Jvmq%rHnMC_((5i zK42j9>|mcrSaJVhtX1yc5^t>^M>6&HYEy?YhqPdl)>I=>fF8z}Pl)@@Xn3 zAt6!U^wH69I;;IcH*^Sye|FgB+#&!WZxvIs8iD5C&(`X;AJt=yLbC;9eO@haRW3mf zD>}hkT$1Rt-xreRKYNP`f|#*$Z6mKi8HadIG3+CM8krHM187>iSKv!P{ltNBO)K%H zQ4b<-?zH|0|2=hH2Bv;A;Sjv+TYCxV2oqu(h}B66{GQx)+Tq-#&>;#+b?IIQ zA=t)Cux*!9of^c?FTSl#O(ciR4@@nQN$c)Xu=FglM?}FX06lh$(-2P5sZ0tecfalG z=0a4tc!3`U=~%dpCrgN(#DimmwIP^qT66iD0t6+@yQy(H>xqrcq{Tb>#c*_$LvyrL zw}Sp*`xPiCn~5etk9)tM9S0U)w9TxSxO%rP)4jjYOf7T{pe8i~CXgeYqjH&TDf^hbTi)m8t{Vm>jPSE7 z+9*cSTqEYHv}8_mvX>6WWo{Nr@gWm$|H3Iwdezx$?FX@jWS2M5Dz6IS)90U*@I?fU z9>7bsn@L+yo%f6?rn(HuYWTWM>*s2=IXMM&wNZZ2#*acn4ZQ<6sumX>$*swqKnCp2 zA-NRTI~^ih0l}`UD|aAEOXO~vp-wA#mio-S`%*LM060PU&A4pnv^&_kJmS z0d)2a1hn7~;n(T(iEm(vWtg%3^-C&==M&Vo*+u&?PvrWe0K6cKACrbMO3FwD7*Vh= zcL1Jg;5D=TJi>do@{I07;2g7fWW&IS1P5x!T1j~hR3-M!$`GP`e^K&$lS-au6UHvo zyo zw{b;BipV4*m#ISEaZ{31o2Jf7PP_ot>695c%ndOH7p6>dU<1+MTg6zG#5FYvlE}4*QUS%C@vNf*%<3zV;cv)m;&y zGJtteGPAQ1rMnvW9MFJhif<@?X>w^ToN)_^d3NWjo_XZBnIP=GrVXky%x}*yGB$EL zTQj3H7}hCuD+#FZ-7|~coO$p5Q86X?jOh+^P0j;*?N4Z9g?+hsF~&8p&A`ywyJ99c z$7F1Nuptn2C8u1+i#W+5X6@9!-Orhq{Sk%}a(_DL$F;Fy_KW#u84)ic`E>}WxH{q+ zy-Qe*DoAzNd2SKd=(Yz(oqWN+8wKE_89i_sDx`gZ>z_lb;9gTVX~Fuo3inJDEuh9& zt@X*AA^Sg?j0s?MDLGQJwpCZ_47I~;;JPm5Dn1>n{WrG-s~SQ0Ve4}?^Y=Z8j8!>A z=mxL0uS%kly(Hs_hdB1NX{OSvWX;FWUaIdpVUZ&G5B=-7o_&V&MV2yCsi^6GA4$gI zAtCTR0iXv=Qs|be}po^!D(C0)t`wd12b1Ig; z&8k613C;*4*yG0sM2)J^ab)1LipL!@?NYgyVwz40hcQ z>S#+%5i4tLH=Ns5kb09 zG@0&uW)`;c|IjvAq@uY?O8^`8qP(yko3UbEtMqc{K_t(hY`4~n1ID?KBBBvM zCq#_5J~L;rG>RmQZ0Q&vw9TBZPR!MfCBjwmbS+g>ywZguu z>2Y$vDd2v5Dg>Fh=kcMb%y5i`~{%=&6WxVV#B>g{?36%C7s zk%pl5y>-C0R-hQU`M7k-c(7z~tw$BSi~qzfKtnf5yC=}>)uioboeu&+Wz3v6O;9A@ zVu<#Ao6Aia-KAy!?kO6o<3;sbvme^$XE3)kO(4Tg)8@9$-z{el{m9%-A2ESD#`-JM zV5GBfr29;6Y3~ibFxuYG(SM)}T3ez=0i^7?%N>OBWqP zTI2TK(z~H{WYDs2PSelPL66$la;(g0&FQ(AxHnqCY-y-3ZRID{jSv3fO7=W);y`t9 z6b`%wd9CDzoMMug4nIVyf%|ulXxSELq+AetGVI|`!*J^%8`sj~T@~k};2zFpeuQG; z4L;5t)?a_q%xaFCfpCmN?8Jh!Kw!#8gvH{U3Be6(p|+>Vr-i?f^#`9l zyw~TWij)DV)2B4lWNR*ilBM!iln=3sB`{;xJ)ONJ)R8Ux$gQ<4DzS+Uzg+((=ADSV z_q`zW<`6H1&?x?4qvGtMY05nasU@mh055c!9|Ru;GU^wNf~pTI`087?tyoWp0ct=| znxB9Bg*96FLBt%;B5CVdLROXveWA?n$ z{NlHI@piMpCS;e}&(hEB@tpQLt-htBD~Sk0qJ@f!OFF{nLB%BRqFs}^jBSsM`pUWz zz${5$X+6x5d+Pa3NeYj7nwNX+8oY|w4B<{AMRfTv}bk6|efU$!0i zl-$?-D8psw45WiyUB+O01&O9A+3D@xeMMcmgXDkB0Utu>ZQo&=TT?&pXRkh97m14_ zF8!IprY)!RzmUnriR^1_+#%!1GXib*hUSMA;Z%fmAkX^8p>_+W+}{h% z;rNnAB7To+!_pTmD)r&3ek@D%SoZU6t-4sg%j9e;8uJFpF#Ji_4Wf?!R}2k6#+~Ro zVcX#1xOYDVrxv~7+tV%yQTL~`!e3eiwYWY(O$GTw zIjE?8u@#fLkCyyWUJttee9G%$BUTA97o7L*qA)K=qr*`*D@F~7&A(Qc5-~nl^ycgK zKn@=ez$pPC!r0b|59s$0 z=<{EA!jW6@`CQd|nYEDigUxPV0!gXWb)NYAb^5~}Yn~2?E%LOn^PwQ$Hyn)nEyA-h zO=?VQQx8%k+}qg@!{N6XKeX$@o6C~ty4RtRRK>B`QCX(NQ)_Tx?Alb}*S?e=TZ*Vx z^23L-R@B9e#w)XG?!@^TlK*z#rLKp||9_0D$RnQLA<-vJ%ps}lUmyFS5Vq}N1P}#E zsK@GAhw;5#&>A>29zo_cKIxf@K{|;)uSzr8B5lupq)koKjMtSl?>~B>83Z^g{kQEk zzw`xP5w)nCkTh7c;mr|P^$C8O8kVxsoR@v@=LR>p^7Tg@xzOBC?6KOAK%u7Z;J8>B zb6n7Wpx%gM8ezn0H|D2g_!KiTzxY6t{8Yxnj3zT8Fx59J+Y`)GaRvEzc!utYsn1WY z4*L0ueE9b4eCJubNI(@jK;#yOUv~)SDas%)^Nkzb#ah>Iudda5t|Z>RNjL@=A#S7x z#T&)hUNXl+?Df-dTH{rrdzAfqE2$yil(g0jl-|;2KwbITGx5?y+bvUDUuF3;QeZvYGa7^QRw>89>e^v!+so~yfTv?tjqX5E648%(wlSO zl3xfo%Oj7|#2xAfD{IL6)9-UUY1Ka4E*TT;hX=Tpkrl&Evx4@7Ei3D_CilaeYx#F# z6(#_)-hZH_tofzklOgABNes*spoQmoiCTBv5q>Nvm80~2--#Ny!xQac9f?@^RVOZ0 zFLUr>*)tpSmR%qXtiM95Giu$=2);IE*MBgnMTme?;ZI`EoL7|U=9l5m{S>~y4%|C0 zp1?6OCU~~QPiTPcY^TH>AfhjA7`(Hv)9=^2C8hBnNRS@YdY83pRG2GK!~!xe-XHuO zt`g4_;QL5XNKOzR3Z9ESLsgIG*dr(9h+a;)I&{+1@b(W5i0JtbQmH-<~n3S|(p(@g6JOTjn z*1<0Y(Y)*6tf`2Z-6fro0{(JfUwe4)+byHerQKwhaF$0wn_oy*eG{+2X`pkTbgxs! z_%Rn1B|i-QP9c`q$r%BjtbW7DFbveq6$iWVe;1P0T=qX!0ykVA<$hA>LxhNO?FQFkg-0By zEWvd>6y+bDYv#9&SC4ImHE=|qfp)TwW_Z0dn|`p-h2@BtU?xe31y1i!0~H$*7LD8w zqKq_izS4^`>o9(mw*f^HU?m->^?d&EnG|;_n7d5x>@YI&?B@4v{5|c<>-z`#m!q!u z;mW9k0?&=Z7`+SftLE|pfB)=S9~J|l^5i~?g_6EZE7muzwGy2V* zI#z8f-S%N+Uet{}GFhU$+D)^pwKyvZ_)LhDYF*pY(#;|=FoEYVQ6B_^f`u(wW*Zl# z-bzaPh(MC9fpFcwPc>qoU~}=$lA)L_QpvpQ3-6lCB-O?Oz*vO=dURCf$^(ozk3sHYEUMy`^q#MX=W%U;A5v@Pbdqo17UQ;Gv+|8-#VH(Tu@RJe_Y|$eMn^eHVz< zT?t%SGK{zYinc(i@)&G)I^^;2f|4rwYfd5)kW(gh5r@)(i`CWjB&(_LVzrYyVRb=Q z7Z=v|$j2JPmtPjR-p+6+dKQ0Awd($94Nc~DhlcUx`cQzh(;esk8Nqjtn;r|qBDDTy zTZv2h0)SnV^Ec@J^o^B~%3j$^Q?2x)DDx;SDae{F#i5dwpV2VQJ9E|t#>v6f-i{Y4 zZ@^Yn{n}>0!-_k7gWKh^UqlRM^a$$PwtruaK*$fxsunvMqw^9;)^zOM{8`ufAvL#w zAUwOtmsUD$%P!)0y%oPP`%}cRsi7(xV(Nw3b^E1QZ*l$%5b?Ac#NP1){Z8pzm`b+V zOR+@pzN*uONH2B?u)`}TXC*A0hs*Qx+xKQ}$PoFDCifI-d<9+r?OgHhNxfMFor#Q)1G_()8vDy^Y|rs4))queOg*Z2ZYwa z&Ob-&H|@Yml?HCD;Ea^o`X;9Ku%l0Z$~^o(qqe^8Z>UJpF?e}u=i5|w=J2V46BkE% zsGhwUUM;NOc&Ypx-wsKsBtkflFN4Ujj`0@nD{!P}u(h+tUXJTng{m_~bZO68fA``f zmec5E;~H5yTQ)T?c3PAMpPRK%I*t`d=OA)K08B)4*#L^a~k5=vO;3XaG+ z7v5AHpnQBCH|lRu0bkpy0(vZ8=abk!;h*+w3;FoNvi=7{`h;4VDUYKmE+@7G<$neDp6Qj0mcz2ocw?5oYfY$wCA zHk0u0_2Azn8L9t)6l!EaJJ%4wVxk+W)GztZ@=fCU&qp$2ES*K`x7j%y;u=nL3i+iG zIW=?De{OXfYeuQ5Sz1?&XJCR(x@4=DI$UYN0E@!{PGeW@%H>y!W9jN|4yl6gy*gIU zh*K-sG)VBT0sU_`y5c#`2*5;9gTHp>M4VFc^e3Gz*45j#t!pjfY;829R@Kj$M-f?? z@7LRiE<-Ve{iS+hF@28FA*aQWC(b~HpwfABRM3{2B`wR0#1-lFlr6mF#J8e*-Kwd| zlzNLmQQ4EBLq*@d)mm?lXr(fX8>hDZ7U*W_tRHFFl^)xo70Y%6~m>U*FmH3 zDSc*e2Sq%F2nO-oTY_=1{vCIGaEbdDWJ*V`1AI|cSeyQfcOG-XwCXHz7KS5-G9|nl z3->fWjFyA}4y<7elbL5(zHb#4a?SwJ+(4<<$4e94*wa{?d9Mz=-`>p_f7gWV6e?Hb zZuZ;LgRbga!t$?bZh|YDQWqz+Mt7T*N5|n`=u!`YN3EjlU?!vtU{1K6~yS);rvV;Dlg9(#_Scr!x|BjdrPTPcUFJ_AkFql&&u6dt}kCx zGAwp_4!bTI>w{%a9{Ro!I_Yoa^s|_B)vwM;V0u6Ud#U?$&v3&F+SUZG^(0W&$71WV z-GH#=uPUu|z^+%qQV9!1*Vp|iH?-%rJ4*NisWefz2!*IsU**^OIY!aYQM>&u_kj_R z&J=5;vxfq;M;-7!tgTFS&I6qe?;g`-381ju7OB*d+wGuAh zIM{!9Ifw4-`7NOxoz$W)bbv$wWOu)SbomiPC(sYdX`WrGBN@r8J=F9Rt9#*1JJ?}_ zh2q~y%P764!LFN~e>F7T_t8iB(+~sP0O9R>-*Zh0fsxG?P6U3aQ2Sla z$eT*J_*`)ZuGnVd)651i+BF456?tHKNAp^70e7SaT=gK*j4`CNTmiVqDuBO<%oV5d zs9L;xrMWjK8GlW#@aQjKVAj$kLwEPbzI{&oDyYLQ7ORMjLxw{QPF$NQjaUf_;P!}ZJx5>#!Y8s_*<{=pVjS>H3bF;S_uZ$g!XjPz}Yr z;u`QR8onqw{~}RMlKeJRH|%?{5rjbH23__sR-AScj~WB)uz4CfIW%n_IYYN zl1!>xx!m1#^#vaEMqpKr6GHxVAd=ZgU29bbB$<)k5hTLEB%m20956`4cbn;OG5tFs z@_80(vq&U3I;4B8)i*zVfl|16GfkRM&o>Y+wG}I@ETQh#(H}OKvdW*5C1F^y|2LIb zRNFj$NU~K5qXE1kmgLRDCZTb4WFrcR$w8J1&1Dc(hN@Y0N=WOmK3g$#a3l#``??;)V z)q?kWZrXjkQ^vNyg#|l(wu4b(a}bh}dDuegRp#tZr$ z6F;jXe8QaN)M6l|rcatP$q|=`Bi81{6J#B|4?hh{cD!kuD=tpU%2G~MH+cBQzMlPb zk>53@ecoo{w1`}L_ep;MrHJ%y)0hoYOLzV56Qb^%)eQvnwL63q-L@>%wQFmQ;?rn? zWw?(j*Mvox9an6%{Uy~T9p3+0{acOXrUkr%l(-ba@d4hwyu>59qUqoFwO{#XU;?1I zycV{OZ6U-r4+-PKqCV^nc~Z8u*FRLv=&p&o7BPQi&#m~4DeJbkVwodqO>A~mFjjt= zM^~qp7Heet)a0G_6@^ZYHF;_V^LI+zYkpC5klHC;@m-Tn12=@OE_P;@RFY~X8}FBA zO5sS)hix4NFk7wf+*Z6FqZJs>-?vyr>m5?2#E?}NV_e*huM@YaWqp*YyPQ5c zaq?OYnhGSCLcvZzauA4D=37w^r}Lq|5vvmOf;>a-Ei8tVDcfzW97J_6MgnG=(`=Jm zW)&10d&x;zsaN-d?Q>#vHNwm@Jo5ScKTtl154d!mC|tYKXlFdq%Y+KB!p#3wNT6G1 z{09Qiv|(-`(&U`bNoBwPKrf$|wE)Nm9A>!RnD&^+k+Trg_gcDfc%V-YDvm}83b21Y zmj2Olt}FkN@R~$@Jp%+K%lrkiev1*&4m%4ms~T1z+?H+D)<%FoZm*3l8#*XnIdt}8 z-9H|>z(Tpfs9IJfCf%tN%VpCI>alM^bb+0DA9ro}^-$j^G3ecOqW4#>h3Ml&T^Ii< z=-Nhe15lc@lkpm`9E;V9q*UDu&n9L^{fT ze0#esesLm4BO}LpkRv4RG!L;ux^@%KF&}T+c&pu2+*B>RuKHqM-*tA5g^20o&RO%1aw}&TNRHB3)zgf&F-niUJBS+0e!KhP9k@q!W(e_3#aP}KZVnhNV)k7K12s-ByB52#$3uNhj;>34|Sg)rM5PjzN1n6b1fG1P%k zuhB<8yA}Q~F1kyuGrQ~5()fb8cr4V8b`lH`3wo>*yap1|R=UwFS(eUp5|Mk{x%ilk zvr>UC{RBeptKVLb2cLgxpczyAZ&oiWOFE~zHLK?JI#A0Ih;7J(kfNAe_69sz4ITPj zf>WzYL3M6{EB)rVi3^V&&uha!fQ8vl$d94DAqy-@T*g$1(&eRED_jPySIf?_=-ZBO zLNx#(ft5sjOH`_J!`^8g50d0dj(xVJ8Ha&TI6wjhV^bcAlGJO+=<}zi1Tz8Lx?fz} zbnY~&(A_}kqQMj*nQ&f#C#{{^3mL@m_)oJFRX!esiSA5?hS4-==zB~gQ}+^8TUx-J=+}% z(Z024_#$rRZt7|UqmDQ)0;w&kt)!%t?CkHc!U7psr+=8v5rn=>aj)SgNsbAv->iFi zK4S$^hEI2jdr|qjIi(4k;PW1R=^^m``h2z3T3UfQ&U`XQVmyO2M^N73=${;O)%b%OE)t|UrhRS*G$-#9| z*Ar{ps{OS=y2GNIcW{V@6NWz^xV75nZ#Q|@;d;uin#f-hjfRT8I@=B)8)8tcP|g%o z^cy$YlHMmCh5Kv#Tt2!s8;Cx60y>ZLHnv~NAJ?}_Zwkc1n_fC90kM7mZ|`w=cmKEx z?dMv%!+#-Ge;C@sG_CmsbO-pXU^AYkM@!ZsDo-=Dhja@o@LFLK+3>L8EZl1Ij+uEI zy;miu_NX5%(AWlRXCO{P{fr?4+4O;WwZwYZH7^}K@Oop>&@;t29LTjbWI%g*bOMo*e zW_4Ef!KTDd%oUc&*lQrQMX7WrZ0t!@rDFYgSl@+vY$0MLkM|eod|k^y_O2}n_f<{` z*1u5?Z+FFMP77Z~`PzOAP?tG*yqcYu^>6Cvfm-Mmt;wTTDWS`>oTU%-7@r;92HKuM z2Z3qgF(xN1`ol}>n0G+z0uX7e3+Go251oFi_`kl-wG#`@;t_H`Hi>P%N%y;4efSQ9 z&i)Qeg&EpC_Qvb?^TqS ziXQ6nxi@rrj>>gr9es2+PnO##+|U-@yiz=Lpt9#DEpz@g0JqR0Y;51RCcT+*2BoT; zp3Z!dGA!=D3jGUOyKVg}4gvSgba>#;;VRguq4htCt~{RU|Bn-yN^}VkiV`A6*qSrt z3?=tnL@d`Z=giTaTL?3i`&{m0n4{eHHO$;I*WANgzu)Kkc=*FV9uM0-d%s_==gF@* zSSR*_VmcW%aJ*0K*x;3@u)cHsr2SQb0+v=qM?I@ybK5@4oXjpgd}VBRU2C~j29jU- zQl?azSCiYY8d@`7%pHpU9|Nv`moJ~{C0T$Ba1PvnHPmJWE_b?M0fQSb`h8SldOEmP zH2YPJHGxP5Da!n5UxTw@7;V4D zqeD-I2vuUGY3f}c;7q}5_KaFh6S9r#s*k1A5shuB_jAs@$T9iuFhX-#C;8CtrW^PW zXTOk6etofJo3OzXkoewJgMa)|TOwcXR*uq+y3&l+%|@M*wTN*#`SawPTvZE`DX>6Pq*=kxI`q=m~!pdWJ*wmp2c|$jAH@@QNZLh^a z$I_}^)#8S$Da{*cuyx*g>Ow!p$y_kmJ|WcuN`Rdi2mM^2(0C~50Uv_{{W{Q3Gu`5G z>y9@+x?>|ArfOXn`NPfuKHZyw2#J9o9k@&mnwrv9NSF!TWZO5t4HC@Lj7!R;uhCyt z;4iB50<{VHLN+A|7i87FxW?zJl6pe5?wfH~@kPYPuJ)?&K+>-%au%=hEA$6JXU82) ztR|;>ZqctxW$?`l#i{nK#;5B<%hf2x9ZQT`JEPLpPK7%1IuigQGy6mi5{SKFy;OUD z%d)EqUK-iLtIh1wYCu|2VqESq+#!ga}y6~s5{ zvneqF{}kwpI4VM#?CTZ1l>Zg24R6l+Pg93n^|7a*_+d#m5^Kb*v==$gsy5Q$fM9Cj zas-2vw5gl{yUPu9(nOf$vs>XT+8JNcZogK2R^7@d22!E&ISD#uIAsvdBr_uHv0{}Gt!vP9n0Knbk}7c4*V3JRFRo3{3{s1ase9C{rb1Yl)rQ% z?KmkZJjAfxk4O1EALS!I+H~+#p?=Vt*FO_x_U(+;>uZ>FX$H}i;QCq`)+F&tQGld3 zd1wb`8<$uRe3;RNkx4tBkIn$nlzB%<1KYNrT`Ml09g{7sc4RGXV&FzgJb7;H>??=at-P}iSbskjY6JB~xV(^>B4f^{lC)672lOL_$ zf1^zSR3JU)=Bq$YfA622=Ya?#N!AugW&0@oe_*9yw9m`oB@3RakK!Gd!}#HCUROB4 zpg0fu3P(4bMe5PLBhCB-EGiC(VmaaSL0WQN)ahHoPP_qb!4j63$;fn0M}${ccxOl$4p9k=;QuzcWA@7T-FbH22zw^s znPLqVHRia0C{gV@e%_`-0}4guB&e&ydXh766D85eiv%O5gRUL-6mFhYgJ6Ap!C)SZO5`g*oI z;8s&>m03LC<*?Y?E0r4d{G-tb7W~Pp{Sp`94N~O)K^;xJDQTO!Fa^Yfo>Q^T^qDO| z!R>5I`UG^^sfEuNA(z+QR6&FaxMAGUrXH(l-hG+87pJwrkDj^O8nDFw6R^;P!)^~#0A65S9=;+&?b3#Fq) z=1y#{w|lvSqvoCWppO^OUeuHm$_0yuqOBKzC=2%bhX%MsO)|>V^Av|Nu$fA-VvEc9 zA*HpH6UUD7jnTCES`VfuE-)?G$Q*F^+w@uNTFOg5(UrUL^i46X!fOs#Tnw)Uf8z_Fz>IEVNe!L0+;+22SyipV3hH5qTUGs@% zU$F=_j_z&>z1W4~rtIuOx^@z8{YiYIFC7pZ>`v&IHmb4NBACAdg6SrvB`Q~u#oy*n zUNauGtuQfYLrerW^?e^Gva|b9BRM|N#Jj?n{@ri`b)#y3+QXa{du7xFoi0S6ckl$k z%ndvy#d_)_VLdBw+>6@f#NP~if-g#11_FPpTmx2ntEBQIT^b83M_Rr}N4 zq{FP$4TV5bPNB!3MV{rM?ZWA9rDnYOnEWTEhlDFu{)3ec?;>%!-pu^w8gL~XAHn%| z%kR~sHVsQ#D$n}ec!%o;POZKty#Wl`!V3=ZlTiU?xdY#xk7t*o=7`9eczvR4PfgvQ z^$b(g2$1Bj^v-`YD_3%ndwc(4p-?k&D%F4fyUKb@bze_yWld(<1Eab!H)feNRxJv{ z&2Vn!`3ATS`}?nJ7@3W<;*AX)Do_{iUh2P|@~u1_I5AJX zHnScdM|8@np0pkN;-tU$zP?twecxFx;y$c{!ddvrphA*e^|eGgxV+%hSz(839 zoj`(`Cb`^#)tf)|l)C7yM-sisR`1Ku=T9?&1(h>iOb-OJi4= z;scxh%t4PrW(Rq*7$bR)nm#@@ud%bjUhOp7h%fd&UNRPcEy-f$ESxoT4b>Sw1tv^@ zLjL0! zjr8Oz6&HmoxV^ElgyO)8+P>=M`cNU zm^jofa9TCBR08~YqyEbXV0fNxX)0|$wDc#|lM zSTFtPnkg!lc}1PUlF$Brp=JZ5z$jg2F))~a+hA+4)&yTxTl#js+;|NjrSPbi32|>6 zc_4<#Cu86X72iYq^!1^V3`+W9E?@Opt{7J$m!&*$46*G?`da+Q^FJxy{jV%ebf_dG zkssU%R3d&^YCdlP=rI5y_7U!)1!?%oONim|!u58(d8JMYKgr8#aNH(=RPhqTEgTzL z^EfWp5bA|tNFr|Im7Ee-|QGO|g|==k$Ye2NgxIvGMCv$_~Gh9a<#2de>MAwi1my%XS%c6;!1= z7<^Yap7C{Oug?e4_X#_$=KF9ecUD}+%~KSXHeS?Yd2ed}d6m|IhOj7v*gNUFe5{Ct zfLD8fPFS;q5uvGk9!p<7APbqNOW@g+0Qm2koQK63l<5NJAQ}zlEaw>2>5WdY1aQ_` zbKB9JFAq!jpz$#)?38zx6XzHEz-KKR6xc5YB-YPfMP>ba7?`vkV*bs&kqJbISO`FG zRa0V349Nt|!msH0*Jfp7uWWap-95EOdj67Yh99=fYRdlCJ8#suzP0RU*n$zu3qqIK;@d$$(om)s|D%cI)NO4i}Nl5asW#F;hb) z!$2l(TBm#-lU(Xod2@GBDqrN&NpJA3gZd`(NC1d$Jgvhsjh`yL{bY3z=<1=9R+1?4 zYof;LBPc#BIQ%VN7))d?=U*hKDL^^(rwif=3|?P@sEAT``@++qx6a~$(DKOi1_`Ac z-nhCqXqfnABe>5LWn578J#}i5#`S=<51{JlzqarE+xn31=Z*X|&1f{w${Y39l?ilE z%Gi$8*fNN&yE>=BYUSL2tTeQnTB@s=XE~`;#X943|D1R)E0{SbW1`kY<3+TrbG`Br z@@P7{Xx#FNmqyOR!V!GVX#lE)&mAx$Fs`a_$+cuGRjw0sK1{Q*s&#aTECM~wjSg|5 zKq|wju-~_t=}3t>&7Yq~S0*36R985s=)ji|RjuUNM!LCWE0jFi)*649RX=S!8iZ9Nwprxaxjz1MjQZ9pvpQu9S4lNjDF+Fu#-M@4nb} zo8=wj0E@l?pFIY@()#Gtr<+om0bi#f6EfP6se0{>{YLw!_gqaaZ18{g{yn%;S^wye zn3a$vg7R0uikaYPzk$#V;Cs&Po4DOdP7=h_G|?zn@ak0B_X^+9=}df&t0PT&*SECxKSo`T z@>MC{s7%c1mGJQ=0nu0GfIyu|k?qj&o{_ANdi4y0<;j{S0n!@WaL}O~xqRSO=?)XO ztxPhtYE4yHJzPGZkGteKD<3XUyzYPa#ulcG`o4ePtEmyp6mciz+}-D?>QbGXvUOEA zFM0KQ_J;*{z@zH&gSAhn4}r`KqD^F%aTP5mowf>`M;@bVw)fLGxY?@(uZB0a%7<_~ zHm&*lj^&@|zEpS4Ppj>sp<+0AN#l{7$qQeyJ68Wt9Gg}cXGwZjNF$O@f>E2T%`W!~ zqD6UjDpX&EG(~YKF#!3(OxS1VJB~`v*xw50s7w9v;EiIK8jnqV@XN6eU0Lz;!>j_D z>4w8Zz!NJHssN~Sub>T?{aCQxx)S0rYYOIuS~Amw+QEuGltj*SckcmL(XO*}e~GaV zf{a7!2yW5#-h0|gNL#Wy?g*i^`Lu zFOvxsN%fp>%Pr#d`wUiq60~PPuw3QMaCgKT!SE(Qc;^^*qhJ|@4{q>|Ak74gTv>S> zNi5rOJ!>Yf-D(CyVLL`IAv|m?d08Q4{coEM1SuHr!o?(_clPHxaeYc z!6L}IFYJ>Vx{n{=kJ}+fLW?PkC=|b!0VjE#B?0nJH#R%t37%!=TTm4?e5_pyv_X)63hbCRb30BUqimY#i;{lpKtj^1*IV%t_JoMzCgfV@+hZS4{H+uI1P)(<4M->Zw zxj`y(N|I_EV^rNFYhto0L_FpUB?{c@Nl@~#at!xp`HSvq1$U(fJBy}O#t!9G3K@KwxSpZIV`UrU&3aT{&2Zu3(B07Bf1W%a zwH96_z8rSq=9>}NhkJ%v`F;o%at^#5ySSY>n_#>z+9Z5W2!s2M!Rhh6k4VaOfiyw;SUqf^88HLKJ$k;2F{|h({)LT zRAOEAx971QfEVW8X8Y5=7B9r0>#8C~g)oOTB91bz{zDqGH5UZ{NeI){fpq`+8)ZAS zWE9l$tWM+`!^Cu8MUx2L`A7TKF)>5`#}sjOo1!?+-S(oK#zR+yEJ2W{zXEl!w__6A zSf8`Dw=*!swn{P1$F7Ojrb(K_Tchso(syk2M(D;h*Io^q0Cs5i6ZhBiFSN$QfrwI) z(P7vlCz0$&+dn-534xpitfCE{$0o{oW_8EaPo*ne0dllp1ryu4 zDnRuLz^F)Iz1-)Ps3vbNKm6QSb^q7nxWLd5)=9OQpvJAiYPnjUm=f14K6Gev3^@vF z?`aR*BI@J$bfGQVDhiS*9@dg6{Yrdnwx8JVM`}$v_V9tMprlR?C z7!SR6uC7`Iz57yar;)L7F;jBjPrCZ{@n6pvp?Pj`^P_u908$w;G`?GbsVz#4M+6qX zDFbYI59zK&^~x&Ox>4~dur?& z(xHbGMtDJ&2y;rqx9vfd0))xP)0}SFfUOVkVInrjN{jf5|N8H$HbIPE4)_W!Tn!!J zn9~%Jh>$OlDqCQzctZ3H8S9|6xA!U6mvmx!xm^Fppj}z(wh`#sNySAN7F1+dpju9o z=zC=vz45m&s;sv6H9OIEA=j?3`!R?1286dS5foK&boS57Ru{zAd?tqq$UmC>!sZp8 z(A3)WB2W(XAZ^l(fR+Ecw_lSGpRoM2gNUb{1_u{e4Wu?NlFf@U?C^nNIpj{tVIuH> zRrm5nt?F!k=-Ive_>*@;C*wWsqXslv*l{SyuMNDD@%iOf9O=Pviulfp)uMELqu%s4 zT`NEs-cz7uQaxrf=c8~vi7n=1GgaUoL+x?Ue$}vVI z?W=+pB0dU%`4%>{=lge+;1FquL*Cu^`l8Z_(W;KSb#bO-Hy0a(0HhdC$hRiv%Xccnd3Y0A>eZwXmwhi^EgnoZh9Y9L=ZAQhqGJP*q*tu^ zI)_lK4c@2XIIx0caTL(T*VGj1$wkiT!o-?6+k)=7f8U&p@LAyhB$6!#RRS4J-O*|} zuAWHi5R_uZsEYj!aM)^lG_{)C0Xu{hpG;JxAP_@$)|Y{o0t^NglS_3fb8oLdOMH;~&ll}) z;6`^>H3)#dRAmKIn^7NcQq@pp;$vzKs7jMT!cGxE-TwRSbSKTwlMEQ2)s*G4+vH&I4JU;qufEX31W)nk|(J zw?1=2n$Zt7_YEPF;@!u(^LiHapm0f}*pQMxd&bQC)%?>d?KCXxLeiXbUy7Ur1vr8& zPL2yT6fVNxr2jm%0C6xuX`7*5Z`Fz@t&8Bg70z%zrYp9Wfo|F$qsdeJ*aW&Q)yaD+ zT7`1EA%2BsT)#&IxcH+!i%*MB6Dg{y$?|__UC&lzF#fB9FAdGo3AubGN~IkZX4HdR!MBYZQ$vc_s%oK zI!ir3jc6T7;@2}!j|`r|B?KE9ZR%@--0ip7=BxibFWb_iQu=bAa>NO@v#SYGehOdG zm#Wv-w6Z(DlW&+y%eyw6L~{dr?J7BMCuH2MM_~_;0oFGImiKB)GiO{K8+pwZ7(+6^ z%l%g)!nkr5=*3xEE?xRD*-6Z$SE^;jS({p=#wPraTB?}g{&$6vUJIX$RWuv{57b@* z2AiK}zob5wwECZESjjd=qNc>z`kIzQ4AlP<`sVyErAKibj*uqibV&cH^j`}`L~?9r zXcdFd)rc5Prk&P-F*eHm+B%EcA-!NK>Z0=chqjxKb+v(>ql-YE>dn6s#aZ_3G*x1- zJ^!)%n(KW0WQ_i!5@yrbgQ2!0u0j9Gq`ZqYR&-|(Awm8$mVwX{1GOOoiM*HEt-XEO zwTROSsk|RAzm+Bc<`?9VMcc0xi^bo+xhm5<5Q!$tvt?tUlQWp=c9A>&TTqpowk>{G zp@%ae*^soFm;DLz5l&bL@RG3_=1-Oj%JH)#ynyw?A($u1c__8a{pEz=u$37XPE^(* zyiz*EfFSfs#rE0A1NQ0vF}Rtxk!Q0neQ|is%CzASijIm<(!wVF9mq|!u}wK@5KgHg zxt@Og@CG~uOteja|L;U;hpX9(RF|8#sN?J8EFu9s7HFopd5pixbLeN(oXz=eG-z_= zpMMLbq}8iw9(>>broUw7wA0W?NAYy`iMtab?XWm;nvgTQZ?jj^=#ug*mUP|D*7HH# zUF~P+Ekg8nuYM|sSXwvqtNP{L$GJB(RF6VDT7I?I=c-68Ao6`6NwR@Nyyb(M2}vSV zWR%`1T_tu}85j`!Z0AIw>A^{Eqo`wNfgl;KeP22X&ba(>!LvDK*S%abtK}Yd!jGz+ z3jd}K{%Ytaw>n@*Q7SDGeVU0+#^bHuB{t+wA6)))|MvPcYL(z#+otf~1F3BB-a9H= zW5T2sJ^C5Y@TjsD_35JNovq5GT)q1mbYJmHQ;t)NkaiKq8m1h+bSu6ou1mx^#1XBM zq$FQisV(P3OA*)o?*NiJ29o+7iVJ@(ZN0-J_CwGimtn^HW;@^q4}LE2>J59|oT!6t z?47!Nm5~xLwFy>w)F7*&Y@6YuFqmzA?mr{d4o4NzUMXRm(pxp8>ZZC>sK95)j3lF zAz<~x=~Iql`QZu`u4yZ4#U7~aalr@sDs(I%PD*P{RR}!~G0c5C2=U|Y<)*BMoMXnY zaDl?kG4W7$J#+NWcRq5@v8_1RH>q3>1V~Ki{ioU;IN+cGuCNEvk@;4M_joYst-5Y~ zSU3OUdUoynL7_h)UalRe1daZ`xwQE(JVr@8XZ)XTg2g^{#9U;1Trw#j7sq|%3^)t1 zUA4DT3e)A{dI5@IvCqJzUyx$3Vwn$zT2#h)> z#^U)=F_GCgo_!2ONxYV5^ddxyhpx4-LmhVT&cn;pRctH~W-Ag$4fJ72MZleJFiHv< zN#;xu?}<(Xz6YmF4D)fUc4PcKlYEn3ez>1C|MZ-(L+GbS^g9Qqkc&@-(>6|E1xVMx zY2VQS7YSuS~Sq5m<&5lANPFGmv{f8u=)P&No#$-^Ke*oFI2 zcE__q<2XT!beO(+|kmodGQpbzf4{{a{rpKWJ%BT8j99^5#` z0lxM9%HKl_IM%a$;+Q7q>x;7~=z(R|r)ck*MjiK{@r2m}*DNfo;N6paozgS9m;ZoI zZ>uv*I>lFe^};{JaRo)5*XYFF(}-7Of!2)2sVOF~S&EeAoo?lQuWv(oPuKt6D5}lL zs517BcP@Yd0ygT7Zq1|nw>4sib$&=*%OzWS&ZoC9%!ILcz5r?f%$}0JNLQz06z$!6 z+M9UzZmsyy{khxW1t3u`ZMTi0DmXqc$e=#HvaZNDsB|C;&}gDGmtC%_yybUDtt3aO zP4JQ@+W;)(n~Q!dB^8Ff77#R;v9EV@3~f9p@CzynU}7! zmafm(Ag+UKA;0v2pr~`uXe`45rOQ7}L9VzKN!>vV?07-V_sOMXD5`9wdZ)wrB-lC% z-lIdzW8yv=&XHPsMMmaa?|Q&-ef!yCm9o$QOvp>Y8>n;ylt+Ziwr zpluo|j(e4<&N&83hO`RWHw*Q1y;J~UBiLjmm`iH4E*hF^KQ=m}5A}-C=g@B}7BAXd z|CBwJ+T=-2lD?TLr9IDcR+I1E(j)#f@npw~%dpd`RkCk>;Hs$QlO*>&U&(F27K~R( z-O)|6wvYMvf?M#T(0O=^=R8P2TJZ{8ovBys-`)r2!w-|O*zRI&MpY#yj%R?*jXC0@ zVuYwt3HDJeJidN^XP^oT)3JW2zdo5i^+w0#3fXoPPuLxAx7Ak8T)iuQ@yDA8H)gIj z?wQEH^I)cIxcKt)c-fxPmJ0Qp@Xp&vcjp|7t}i~~9h~+YEgqU8;vZ+cqQ;w2#)?hv zO>GlKa1Ch_74g%lxDoXWkT#5kJ3Ibc>Xdi`#i4Mb`CYLe zI-AilrnV^BX@JkrU!wN&((+`*+U!jb!@|8jCT>bL(-k=92i>5m65Rc8n7Es>@WO&a zoM(906?OF0#u-m*{z2%}6w-UBllZorpx?0>2=NB=jQcr7<+r2?;bi??#Dp({vLiE7 zyO1zrlQ0FL&*YeGCel}3Oe!pDJ8I#c3Go_=U}u*#*I7|2LUl+$r!^`z8a|4;0$-iw zo$LOLMve>{6iGF{nH@~#mA_u?5JjJYhoL_b?AmzlcT4xOGBfrG4M)Ucyiz@VJuT`{ zMz#K#m6biWhuwj_!gqW66|>%ch?zdiIYSkE!Q0*^IH7b~KVr^R#5fK8E-=Yib z9xSpJJA!7M$=`BS&5#>Oj=X%c)tAv*?bL)WI9?&`G(h>V{(IHx?-47YevNiwGmR>o zfcA+MdbXQ-+?S_-?yI`id1zCH1h<;3qnU|m>d&LtqNh07|FZN!8=kYDJNu=N@9gOw z%x_p{Wp9V;!JpZrNksV!}_$7yEvYwFc>VtC9z8j}p z07}%*1wb`_aRHu#q?V+BySe?(vIK%z8@nzKF-4^P%;5&l?2E7B%lT6|i;Jl7gx=K|EH{ z%$Uj8stDIMwaA){uXc63^H7ifF^EM}&kLV{(7kYP8Ftpk751ISGX{XCIpt7U0i;dcMigPtT*DmZvP*EpE*duf4^~gf{I9yDo2p5}4Ti zlb$1d&uC4;v0?JNkTwum5gjaYyJ}BI&m0!GI(2v&u(ybOX~6FW?A5g56X=f~w;gNn zlET9XI4})W1Du#Nh9xjWy2d`I+|#4mt7GywPXC;c(A!>iPa3&Q^ENE;fhHhkJF#de zqWYGOjs!>lM}Jc!B8Mm5C6~wPIc8 z{eY;N9`&$b+Ad-XSM{aQss+Vhh<$BnrMU$0Nianri0M~&XtVUukI<9^cSa|QV) zJ$o)d<^3;7bpo^}+CzyExOmWTmGdJnT_^NO%7Lq^4%EukK%V81AUqa#dUoS(Y(DIf zywCiGGx805wR7@3Dk zxM$_K9S>CIS4oO_){?6VtkqVM5TS@ohMSLqeY}^0cM`3qGsfjsduj(eJD}$8R}=(% zEl=^Ir`CPX4A43w2LM~3!L|a>3Kl-WXj90#a)22g7)5QL7vT8UGl z+nLP`swDIoVxL;M*Y*}+NQnEq+%C*l%oV zlBhD;F@8)PaY;qgTy9pL1~4(KYlHXD>2;XGglO$c@p}>E@#t4!veA1;_@k{b*xCc; zx0RQcPF0`AJvI;vDLJZktJmry+$^zLsiUrU=|St21;p!>PffAVI8N?PfVQ_KoGJ;T|}pjxUafR;6xVc z3X85}Cl+8A09_sJsE?`iPvXjB?D_TAaP#e&#^q|D9Z!kfYtnus_?ELg|5f>t=GV9O zBDOxg=+){2D~9*a@T+n5=H{$7;1?72j!4)7y@%yF+IYa`Tb1+j>nFp?&4|lmPlVH7 zBya_^O2x9t4}{5L3>ZB7=J|#$D*R0(6tGCnJUyR$k10e-wY>ur#qO_Yn)m6K?&WJM zZ_|^4O^){#7xD4FIH@AFsz6{-YdS%RjCF1$ES53H8aTP(~R ze@+yd?+Y*mwiHsj!c(lvqs59>cMEc@T;6Mye88nGG^5$zT1+7B<<^VHhj<>vJN|xm zMiqIox>tz4>StP+?0LX#B0`K&O!nzkuf7{*$LG9oc7plXZkkH=m5sJ}?}!bJdM}*9 zHcs)~xXm2RE05LA_g+?qb4)SB@7K=E=Xizh!(f^R%bQ13_AN8in`EOBBY!rRoS$b) zdZh_b9-h?|F54Yb196oT4T-v2dci3xDcwdsX^;m=wg=abMs}4hv`#3dxHk`oSyYnU zAJ&FeF`r@OV~`5uV|WxbA+K^nQ7HFqhJM`JCl1%T4cV|4qF9v|!cgyN#6HevWn4Xd z+*1?lb<@^z(*#(-Q^d<2k9_4F81PgSCnC$0r7Ftmx46DY6b9uX;;#BN*(bP;(LeR0 zE>WgcOqWlu4-gHbU;L>pi;)~C|Ha1?+or@BN|`3eMeiZxIV|)5ff>SLx*?Cmd6E^5 z+CJJ0w$a6|_^X5j-RRo#(i=Li{P-|UVJDHf3hLRhG?f#z@RimfT(ilZ8>9}Kt*O9u zu!i5+_s7ul1`Ht!U&1M?)mtz5W+ zBWIjfci>OeRIZu-T6lkXD0_V$M>lsS8qt;#Xd`Fe4x{704xHAb9=sHq>H9!^r{bb# zX>iL>oL9UcO_oOvteVtVEy6BI+e|Oenb(dD8;0ub_ATt6?B4cEY?$)s*KHz;?4G`%&96 zfp4_thkh!`bUAssb($;NmluyJwa9z5Aj$48+FpdT&KLepS*7EaQ5Ab`dzD!0+eT>P z6u|yaFQ@dN>Cs5{b$0qYF?3!dq*tr`rUDCp&ASl4ZhnC;65hSRAyTb=g7UI4$}g6i zczEbALWYji*TpH~#*irhtBd5s2bS9FDWQsdk56qf<9qIq$DJ;Q$S1k^Ix$2Xo+|(7 zWo55;)~#%_qEB98+=zaS-0C;YyAdfTUsxYl0cbfTpgGy2Tw<#Ld0j=j9VZ{z=W~6 zVzVMVH{T_pl5R6P^fU|Wv?YO@vPBFV5`l`VomJAT^FU@9I7Xb|LSn1#y@mMpzFRdS zxu=(#9wwieepS7quXR?dslB6hhCxImKMKrJv!1eFVPRVwXBcc+TEF4Ap^Tlheh6H? z<=bmqqqm`h*Pt?ZY+_GXz=PkjH+i?yGFUNjhnXl zAH&{WQ2-8_ITcwxX&4&}^i!16Y--mJOxm8s4T2XKFKqLebe`(3Km^pB8KtG->*a>TIr=q?hy*w?p-5*w;BMJNF{q*Whq+S5IJ; z`hna(R_(ad=-Nn$5ZJEbU6Y z`s^Gj1OzB-lf3U3CQYBBHo5YNH8g{@{iFNKw%3kbQfz*~N9AK1hwyP+-Oym`pYiQt z?3zjpZP*LHP6r?1TT=fG?>5P$^^067AX|>;L~#ea`DDLj&^zaB^0fj>#KW8kngrZ> zZ{hu4dZ%=2z<-H56?hc{Y};W$2M<*H*$ZZ2xYfW_W79yS#>}($412^V2#!AE*Ehwz znz9W=9faN|Db|0;Z%_lrmb{E@?aGnP6p@M&|X6qc1Xh}Wz9 zW_YM0^Gn3N>yX&j5%2|je8-wg?bd+s#VYZS?|?d_nb5`!3`)6j{@*3PRZX+GS7JH} zr<)6If@l1x{Rkm$ z?4C?Jv9k=jJk3!*gvd***m0Q}(N}iBc2#tUJw97c>gy`eZZ7he(SOq7%FW8GVi}7`BJnDQ8nc5 z*0)dZETte$X&c#9WCIh=&KKDmA~4v&GJScU_|j$QSs0}H>5KT#_*nFU4+Z4;KL*-j zt);*P>JP>T6T=}*j3#ssDKB&k@^F1cMr%j>4UI%7b6X+06)n4e$a&+CmXpIxRD`cG66XVNf=WxmE zUm%JvjTC=WF$7aS+_!emo4LD-BG9nCC&jRy0)99##BtL6GsA+z{I(*S_kyPx-r1)` zbn^MSAxY+%lp?AgXb{p`KmTH}+}GWpCx|xUKdt9xWy(4+DMmaJ$$@`*wc(@tex^8BdJ95l7G^Ac@ty!waQr2~1U(37lEN337U~ z?|4ssYR4;$Smo9Rg?pv{PndM`c9Qiqz#>==&6n*ax=)U% z#BE|~<^J{slr4d_=zV>g>9#;kd^8RX2a2|KmTBDoEJxp$z^`5YgJ#3X?$}qi?{ZHf zJ<}h^le~|P4_&4WM7+nbNwlG^t}VQJUS+j(0a#xe-_ScRg0`3F<6hX~hEygIGu!8$ z&bTSE@bL8d0dV^=VX$Tb9=z9JO*1Io4_w|ay66vFdxyu<+H4)w$JtNWI>+urNwwsP zFc)h~M%U&DJC?n!{pL28pQSaY%I+CH#x9e|kNOOUdwoJwoCK@}*H<8YpAiX%RmTeR z1KBQxuPTel5ydk^RVEctkr3&Gi%Y?V^ueCvdG_5YNf-kMj4I`=y zXQc(K?M=o@jj{cVm`tYfSDzH^j+@im889=9H8BYnS~dD-9D;IU^g$w6L*>26PQ%&( z_XE6f<>=5GNBTPquzAt;Q{=BI!dV>c)X$hGwm~A2#WavGbBAGpDWVX>)w*DFPbAA%dfpTd!7IMPw&S8KmSRdHK!f#|> zLmS)lB+|a}XhHU}OpotT%zOOpXNS9Oe5f;&hN*9cRyO}&x4QF_L5ne=VXA$EMWGmI zcw5(#4PojiKqSCW;uXH@IJ&gPK&dSuiM&#-nX$YlKe|`Aqj$S;OW?uze~5KnKJ@0} z50tRX0M`r6B)>V0!O`)B?a}KpZV`4dGVn2;8OCtxv`3zYTkzgDtR7z-ZI@Qrv2FSY zrayt4rVz^>tlr4He)zpW%F#F>RHEDs8e-p1yXhIl5nRz`?Q#LJDDRnY%RKp@v7N#* z|5kaN!AWs+E63NLZkvB3dYp#&W^Vn@yyi}Hx%(SD?eJ73c&cO`cGUjtwtqvf`aPQr zp&S;nN4u`cyiXbayJT)1Zw6DV(W;N!*1A09cAd`X8QzJ&6WhV@ah zYo5+a;2i*dHaloT*4+|nZd_hydc*~Bp`b!7E4vUdos0i{1cRCD2ABFLvrX#6WKR5T zhOPE|bxF81rf!}|sR^`kDZsyoj7`F3Z{brB1GpdCK*z=O*5r1J%=+YeDeJMz-&G_v zRC)DfSXZOWLS$ncM+CRsGD)|!cdqW(yFd3MVIU%ykW&c+v6K#UFLXd{mW%jHN?WNw zF`2amAT>)nVuo`&oPA6W|G;Z-$AAfa1uV!!kCPHBxcOegqv$;;G6Sl`BN#gHQQJ)h ze(_D0&l{|PL`oGVT4P!xp{E>ABma+q<;Zox`#St-jfLEfP%j94$Kx7XXaw2b4r$78 zMt{Myd3kjO7cRbU17m{+Bj>Wp*Ej4gC1M&pa{vr{Al zG!^{!>o5I9@N?TGh7}J8zylMYu0bYx0}ZJevr-FV3QsQTr&ad3N~Qpz`SG~KNz zXSNe(p?{d+O*Gj(Q8A?#-B2=Z$^X+F%6qGYPN zXHFJCX=6%+-<7f?|8JxRHYN*M!+)obojNnwHHLhqcr|;!qu58^mz3$?QXm8JF^KXPe z1lD8Pxc|qn%DF8dx9djS3q(%9_8+ELA{q*Sbp}xqKTowhl5bsp@Xqmw5B^Rz2BEu; z51HXRQ9^D7wq4&lmHbH2xY``wc`Xy}p!iM+DSH5CAQJd1&l|bb*OF~j!~q$+L~yX9 zgwgYp(UXRa1K*u7dVygK$x2q#PBx@*hRVb+L#YHSsj!(kAvZtSd{~fD-z$$^d?j!t zL=7T}IZ&d{4?C^jo0qCAce&#`4Z!ht@w3zaMqB3m(OIBnPvttfz9`$(bYi>Z(b0{3G~(opDa2)H;#rxvzY9mtCnh0C6D52b z&0epR@ACX>_ACen=+dVx=_}2cTRT(PImO!k7k6_%bN&|2d(GJ1CKOv91Pq~S;9fYm z=)vEsHP_eZ&Zb>5AU1Y*>Ysp}DkdH}YT{iG)rxu8)*9*$r5W^Dx&r-ZQ5fa)e*jD1 zJ-xMe0V&CoX&m@tzjWgs`Z6G}hF&pH?~mVyU1+HdO46}W+VE~nXxZ(UxuV_9RNeR3 zvjdC9s=d^!vGqBCQUSa53=N@lV6s>{F-rM_F0i!s1-@p86 z#>!>O2g!NVxFxAE*(QdwLJex|O4V)pvi~$;4`sF8j*@>nPH{UF^CH+;^x0=*7*{~T z)D`cv;*miD>VfW_Z{?S9iP&#>yufjWnmNsZ6__pANPPLNzURCbyBJ>OAsB<$?UkCg z!uWwwKVGY-ixiIcf};>X+ER$N5OY$~DlU9QR4hRhr#3OYX*wOaf_05|&AgJOpIv4N zbTOZsJ(~x<&l{X?^mbZ) zkF2bUVN3OI>{Ve$w&h~|%0@vSyvJtB>kPkk>pm*k;l`LTVWdDdA<7=&qZr^|NR%?j zn(o?ICH`7$xfhW@77waRKjy&K%vGvz_&|H~14UgOo$XQg+RDkjoARO2Uc>|cKF&4Q zIZG%4Hd=Yvx;ItfqllwQEl80;LrIG%k2Ad2rB`fV=lJ37#Qrv&w=nzr8^n6_!}yu0 zN-lEAIXCN=FT%{X`nIUtJRoH>e?6@H&z4*_v2HaanatpD_W$q&}BbMtjcf(@LbuKgO_x}F=gYka9UzhVd=RBszA|hG<vxjJ7&*xf&+!F%x^a&Oi`QCzfpy^(D z@>Zut>%E15EgCyE;9eEwK%RdDw>(XnY#E?tMCdpU_`fN5P#;t1i@JD+hjY=j{V09; z_DuB86Mt{vgzC2Z0w2^xna;O&7^Djc68>@k1JZDTPGeDPJIf?rCmP9kZItM_C4Qiu z@+Z%E9bO!u>`zq=nmbt$F{<|QSHpLYwEkA?s2fw-DcL&t z?N|5tc>JB_#Obp3@%Y~s?7@$MWJ_FSbaShXjr8LagUJ*vQQDz=lcO0*u9@IwWAO%n~7&C*>TV?UjA2Gia>T?9w3W0 z(E2eIT$EWf&V9k?YNqOY`on7)IT2uV#8G*tg6kORN?tB$zaAs(;Q|oR&f3~GD81jR z%75Y5rGUG?HFY=S^&6jSo>elbakUZ%*FthQao4wTmYAK1Twk*p+#U*w^1Y(5o`!$v zNx?m%CU8F}cwkdtb}TOVaAJJhm$_P!=lgNYLNGa~`C~u^FsBsPd9<-uD%th7^eOCI zZSbWV3M#vQBWb_E$Yw@o1zx;vln(z40rAKuuh-#knee2cJnOhs=X4gRtylL!cuO zg33cHPdmr-LIHFSTx#F9ME;Bw4KM)NvDgn)J_ZizOJ>j;v&f3^n@7~Qg&LV>2!vzP zolxf1tEXb#zy@ES?}ZI4m93xwO{~_SWB&+eeG{;DV0|xUrrv0 z{KL^dQ}sAb4K&Y4k&^m6|FV0|jx+y@pc(IlMutNbchzi`P`nyZ^!iL$e8+I~L`$Q6 zEl$SPzAjhkcPX;c#1`=Wp8|}5LI?k( zDQw6=UiRhS&!2n8zVbz0OU84TX_^Fa=YIB+nJ7y_goD#p8cEP|o* zSFfl{HFk|i9g1CTrL${-jrv)Pv+P#KUG2w%EWxs6Cz~{1nVPuF%u5TJfjzf{N4}-R z0)1V{8!Ck==mg(;Rxb9tk9*vaT5ZDZtS+CAc_W`!kISkyZSRNrO|DEKXKz$x>cEO{ znB{*USZ#{9&ao*W!K$@ldw1}?cZ7@pP|OV1Y?nHMF9M=Gv7BvGzU1ti>kSG8-Rt4c z-a416MDo4X&lRj8a`SQX{m&G0yGl{V(WxeRQW@N`0|M2B+libkU;1h{VRYbfz^P#jJ>~g`pU=bu1~wA z0eC8oF(1iWz{k3Wh_8w4J$vC^lBEhCXdZc71|4j;iz&OZ0UBPVpfx~?95LAYp8*?7kKT`5_c6IV;4xg= zq+y%n>Dp1vJMZ#h8O8_chG48ovLTgjp{f?ynO0%>GcP0!yL+|?!b~L*uHes$@AJAs z?TsYAvjR33tXY*Xw3Ytoi-NpZ_z)~QrC=KfDf!qjekU5nuer&-$WJv8Rg;oH!FiVY z6{nM!+z0oGW_1^LI$d5#B-eKXtZW@s7amZ;2a%Gx$WE`PgD=ssFb%s&*~O7YqJw+J zAZ|@+(^ zBQNu1o;O&zJg&Qw`~d|;{tdo8pB@yakItYt#;PP4N5wyx<*Wu1u0H;ct}6=D!(;EF zqq7q$0_I>L1Im8URV2L-X4l%1xYNsmCRTKdP7!mvrHoCyJeo5ntMdRIGwo|h?yLRH z$EObCU@XIIMnz9p!@&{q_eTSWIZ**J`t%~+nc&G+@TRo*1XCsF3rW9xU6v07Tij{I zwFj%AQ}o@|(s7r~W^I*%x}+hd8DlkSzk-FG;~zU@ouQbBo1g-alrI63-qhwmpndk0;gd;^8~l%9oDj0fz9_NxLCqjWLGJR+e?4tx*kdaV#yn zn71Bc1f6g95r8a%#&-=t6pU0uzXPMoU~uZpKxOTlw2w!QTgt3SUdRtDTnnQJQn4du zKZf!B7CxrCejy{Zmv$ZHTJ3>J2JGwh$5U4@ONXKGAO!N%wx5dDew}ZQ z)&&s*P0ipY69)yaZyf~ibx021fA}RTVbicbP(dAhlsF8ga5a@tq?;hUHvahx=TO{9 z=deK27uQ>A4s`&ZlT96tJNo`%K`8$V)zmt4C1m#QnsjeXDj!Gx?V|_^T4tbGcVm$M zOhk#j@6Su8E2LRJPlIMS(OMAUlkz&SmY#E+Jv@DmetS#4^eI|VRc@2vdXT6^;ymKZ z|7=CO1(H5y6%IaU3*VeyKk-#U4)O^9ENGAVjfW0DT@%HB+Q)oqe7yYXr4tpuUG;4= z`8WjHL=~ijTVTo)bMu9OL%)^;*t19Mt-j5=dH*ONvvD)*Fox5)kcwl~rKN;MA85*r zk=1GD_VP9>7O|JNp>Kw4y)hh`Z{Kq%`_xWQfKb}`YfYB=A1EN`me*(E5EXY~!f^?E z>8#M3Gadvtm~c4{80EtE92P2gwLvm|$7xrk&gLLH;_cIt1oTxIXQlyR3qI2!utC)6(^4?jYQCl!B1A zL5TxyXDan*GUQ!cdTrC;`_hqv9#SmBvQpol)e48RG!E58wP<#lJIuF5if3N-TdA4a z|4xtHeHN%57_==}5Vu6eL;5s!IyJ(Cc8!4j3A{ivJhbnr%z*QZk6)AUkoz}mr=kxF>Y>R`D`3?io3 zXeNEL_ewa6ZjYD41A%&fA=61a6CJtHslxcYBotueC}OQ*Kdm)v97H&A z?VGBg5`uoaAmX^xP9fj_h({*0SUleIk}X*}`r;3-f;pePR}Yk^wmOuqovV4zf2#kG ziPO36)0{t<^%Yl9PsbGjlHQ({>A4QF%=og=t!Lq9wZkQNH#?+K&5jueAM@^Wk1U!x zCet!}y1YRwAt(;gJ=s(c2otd^cf8f4rA{6tPs-)z4vyX@8e9%aGG+p4Dees|N_(t! z{ou0^*PDj%W|JA-C*$yv1`r|!I(}h6rS(esD9PtEKI{UPdPCnbWZ_Mqz_;RcPLHHUsuD_x{jf082^4Ga3 zP!M>S%5sFpth1x+;rs?*Uky`ooNmtd2#5II;M<}r@m(_14S_eVxk)w$wPS!fkv?_! ztfsECm`9r4=MDVcfad)S3gD1wV4agp9%=bxcK%y=&)1ooRDT`|f`dP`)l^Gn8t$`H zLwr4@zV83VMP&3aXLQr|(So7)jU&_vk!JS~oL_gpqc#OXMl2`X{h~2`m(T}e6|{zV z_u%O-G-CtmV(S`-u6_0uvEW(Mh)rDi{QOyNiF8FGMtiQsVs5v+#ks9j3=PR-$XxSl z9g>|ev?@fnD87gD^hT}oNNJMBX11CyN?*QD)Wa0Ft~xc|VpQ8l)5WDaT_;fii>?1a zLjgH4$jQCp}~Q)nWZL633E z^dM&r9s1Xj$;z!buPF50QgaOq4PL-fy|dbs1<_QQ3RiH)p8TtX75p2_6+z3fjYsM~ zZ5~sYcj2Y_Pfi|yjJ?t|DB|#^d9AJaQ5XZiY%3~M81U9s1_W3B^ot3dH>h7#3l|rd zIaTD2)sfeVV`$Wc)d91=Ei<8)i;f@Y2v%D{!;I_eo_XFxq}ouhJNf&n&xEKvBZ!m3kg%?p^fG zbr$gPe%o8kMqWyOOPBx>#eM>Gl`R6k-dp9aS@q*g%@2hq1we5hW;l??LGl)VHethE znw8ry+Ey0E&#H)NpHZqjN0sxf1ngiye;?~)uWe^NQrXfEZMSM|&ZWVLa2Ep()~D+6 zS5d#(zw$UfcYU8Yje-t8!vjwD2yX@~wjlFMi|h*X8X3i4W7*l;V^sJBZ6W&zqQSMQ zughoZeGL}s6k_wC3HK49NB@DQg)_HhZbT^v<`|yf6Ns(~%k(#$5fF)#R!nKGBy_47 z*-c@sZ8k?VifbGEN@YJuWEIHM=+5h-ULAk3&FZsGc9W+Jou4KB5fbv*APWBF7TD)@ z>uSMLygCZDz#KkMsezGc zY@rc}-La)=trIH91Nl982MhUX&LBBp`@MVQ1+3hRC1*UspMo@!@PY`4iz6aSf2O>? z=p+$oKD8Hor7%{is7@j64}78Btox+8uKuJ>8akZ6C_URTUu7 zwKF;hldZSej|cEqLnQ;}ZEL$@QdOlH zoUMUlOmDL5yj*=L2L#NQ2_V8HbIoKv6Y^kFO|ab+kAXUXmH6LRIUJKf3I%c^W*B6? z$o6Ax?fuck*P*t?&N^1Oi3Z&2?y&h=c1sAmX;%wr;zsRaZif%)-N?#%s671o@i%fI z$b->)n!n@{QuoXBDZotv@AM@Ih@h+qqm|fa+f}a*#oAd*GAq!w!2t<2@YiZGk^X^_e3Srsf%5PvWT+=(6nK+;<%LJo%V={GKn0?Mvx^^ zDIOKFLrElHe6tk8oSf05?I2%!s83#atDLp<|K|2pjhwL?Z#}zt>qS)tAG-tN4SuJ@ zb!D5ri1~@$my=E2K$vb%Dm9#!HzB5bvM~uOA0;pUy`UsnUe>&BP3V8=0Gi{^#{-Dx ziLb}r-Au;6bnsi@2e}KS2xxkIyz>Ln=3b|GagHz6B~goyTl~*#wRz#MeKgUr&MY?H z+&3WdZ`FR%V&ivqjm-faSQJ1Bh9d$ps{qe&nf!p&JQKeaXb6NBytJf$rq0?0ed{85 zi+6G9&sokuw|KX?|9h>O=0I2X8wzOI4I3wVJM}wsVVz06Y*Bjn)Ne)mXmBDfNbZYe z!c7g;l9`*q{NNo!%CkQ0)h1Qfrc`cjvCr*4&e8hKdQ_&rli&rD;aiRAFx#nv9@9vM z%_KnV1yaXxtG+6*(K45T*Zx(N#qDBUd*ZwXz47B4{j+!nO9et8X5mx!neq8~IW7%~ zun|!M$sHAi9pUVY+4|R8qNig+K=)oESU{jmO6JYpar!F`~C@8jG-57kA{P zJFW{%w4bqG4hA-y_v`o_?X!23^^=$Sglq(SzWcd4S}#EvcbPL2@G5>@N82A8p8iO+~ZDLG~q zZL3aiHg=}2Royavc|tPZ>DV&{SzHDQX?F|Cz>A|ud9Pn-3MGw@rz#Efw)_HWo4S}C zv%njuvxN4X5qb*=lpArHx?LWAX0xn||0v2OemIQ)fLi{6Ht4<5XRT7W%Rmd?6;a!Q z!U`HLUWBse`PSrddwWOWX?y?L@#3i@e1);#30Unoll2dz>7DRD?UGcjfkD^%EJ3C|q$&0LH{33KQux zwUpE;oog#kTUYt6-7h|Id@}Wt7=~MdZyGbn9I>sXsVVf_)f0J4y#W$%MMuogDZ*x@ zq7UaY$D?9>a}UFPr>2-1${**Ua&Or}Og2{j##M#z*>DeVg23rmR|N7lRpc<(yMTP6 z_n_gzo#ayg|CLs~jG)pF+`cd5`bEfO{I!19mOrxk3**L@P;>xbw^1%|OkcA1oy27-Qytd^GlwtTx8T7Cv*Q=^$#%q1YBhPtH2wEail`?>~ z;UHv^5Ms;u1MZwA$Hxdthec%FdVcp~!-hMrj;0#Ucu7E!EimipP7{qvp%~USscF%s zX(Vbg^75mlL+5ptU)lb`#nzRv*>T9j$Fq%C7p1hnkSSOo{|BFcpkwq~EpCr(V+YP; z_%sA1x3J9(+nzB~?|P*G#AOw0 z$I2g>AYR52Z9F~^ahZ8(wqRx4w;V4tG2Z<#M;AUP1)7I4AZlu^8Cy@j=X(lm>FoIi zjPBU9rWh6tC8tlJB&UD?4Hb^YPVAfY8f&>pNg`syNHh7xxVPv6h*m!zv?kse=yF+c zFLBmwHI8tPHKw21Ovj6_g>dW<9m)UG7%hzC9)N=`sXyFN}iZ1E@Y&ue5HKsR~Oj>Q)A# zi&VjEZ1N2rK`Kt;K(00%cM9!eHJ+jme8acYug{g^0geF1a!|Xcc2w2_=){qGK4XYi z<4&GQ1YGD8v9y;noJpI0D$HdK$7CtBP)+xSQ%J~+2s*J!FM7ctE8qA&JIZ^KZKT~? zWz(3V#Jnt6Q>GzLWApt3rTrCA*|@|6zuwFu?*X~PDitaaTSvl>QOEYT=E8q2ZAX&K zkOEhpyp_E*2;Kxi^aMahA|*C?`k=FWK^Ey*xiH|Sn~d%s9o#kWe6|_Vn*WPKn%PYEOON+lz0`c7rU`m#l&9XPrgAD$@b)*hF9Hw zDo~zwi}7M^pLYj`W9m}qGZ}-^FW*Fe$qODFHI67rNzHCi1;mm+)T?iQg>6N+J+97l zk1uGBI5mt0nlXdycD~>FoQ8*jwH@4_rYmNMhe(LLzxGNj2+ab*Sw4f)jB4k6#@dMS zoP19WaA<3FT#-%Q!9MBT@kP-gLer7FRt8fmd@~&VYJ!kOjBE|>y$o;Kafu5JUnM}L zf)b}80{)6DDRBhJrUn(ugTuvy?%x`66dB!1%PZxPF_Ld$ZnA5&3Lg&AU2TNI$`h7B z)U*x`)K;eZvzC4oFHFvfsaOculDhBagg|a1(UEYXVb$;&=b!vu+;8Ra@L>3pm2wr0#sC!*(;gIgpwt)zWT|CN>;@69Je3LR;S+-qYlp4E| zTB_!9B;mGHUF6a28Op@`PH#Cd{*M(^CdfE5$C(E$0dIr^hTUILxD+57mVw*?1oyR6 zbsg2kq4xo@apU&kAaGoV1UP6bY$l5c9yu`VWdhs$ za{H1Ne)1>~+~JuAb1N6hpQ;V_;F3}!;Gz9Iq7U(9Zr2u*yTg0|j3di>viIUH$Ylm1 z2ClyDo>0FWp&4i(=n~2Oy6~l2dlEog`WwSH)Xxu!gCY=6R8s$PKd^ouI`})nF*K&l z#GhK+zU~v}?7iO`U3|gnURWt8KfU8G^|>ne4;UOHV!(@*0yC#H|kEv*g| zZafZFsbogNvkq4=Q2WYk#sIuc9xt%|jje+8ltjQ32S!=YJi5de)y0b*lc@sfybtC}wD;MD6EG8W2G z9=BhOd5ahh19H@rt#&Y8yX_#Qb6Ee?F}L$6C^=Y|gL{c0($pl-xJ*40|17_V&tAwZ zpu`|LIP${Tl6*3pWZ<>jL?%1y=jK^E0#R(UK6_|$BZ+M64tD(%CZu{@C|(SypnqIk zyi|-T0GZ2pC~-0EvD9RkfD8A-*7|m>1I|AdJJHFTm6-i0qF=y;krqbFm;K2s+z4(a zFZ^;^WX_xmCcne`poQ-?T`6PeBe!S-xE&H}>@G0zg%2cynwd2-Bqt>sn5YKCJ zt5ve-Wa>&_AeZr(;f+n~S&@m=Wv-`-QFvyfbAD#Fi9hPmeL@M43Mv>SYv&2a6k%%k z^EeL{zAMy&=Dj}B`8B~i)Q^ohIn70$U51v9MfsJRl)9t#cMe2&+SOVe?Xun+l523A z)|JJz8N&lIW1;M98hq2BcJB$~7BDR(Xl|T*>zn-hW&2Nm9*LXVe+^_0XHhOT8Z&RT zOlOl@n&rcOg|%Li$UMr4WWgwy^$nz&<$asj|1IFE-bVPS)uyL^cl^3&%yBk%$szA4 z`!@3l!$CViIomhUhKj#ajk@kro(j@3XJVEaEyiZRAkX<;ePb)qP>y0X?)%?={kmdt zL0u93T!C80!ed;GHe3Am?O6@At-E1KEzL`he1QkhPyDstzt(XnD6R351pZri^3R3G ziTk`%O@GnJ&TzEcUVQjxJLRvnhGHGjZ$-Ip96!nc7=oHe-7DDOjFF1k&6cY9?Y|S4 zlBCh;Oo6g6b{%}3-D+aY&cSYEQ`TWkg3mgzfaQ(Bik#@^t|7#;r}a~Oe{XM z`S|CrhMY&Fs)R&lKx*PdI`>0;%9RY{a~s(J*v9vMLy1+F`P2N;`;+KSe$EMwj4snt z#a`pYlBQ6beLa2IkeD-NURVZv>rg{fFGA;MmYrhK`HWzhQ0{C2UIjIRj*8N6#F^an z$F*-<+qOzi2<=Tap29_(i;HmL2Ys7)DX`_^GMrh&*xoc@%4%H>C=6Rc%1!D3L~yRW zL%}(D!IPhNBH13&)6(>A(P(!uWShH~{||(F>2urVLHZvL@5d+?fHzd*&dq%c75=xk zE1V*_vWL%cc7&@mGu7mO^j#~(jiLbOF=OAiYKkJv^f_IFYuweIm;r_`&Qccq+wch0FVFOv$|S*iljILEH_tu3Lni7YiM^T)>RyY=WPK~ zkh6`v!O&%h&yaNuklu=K+_!C_k5+tNE|v4Dd-a7TA`u=TKl3mfBk<;{>EIf7Fn;}M_Nt6cFdZcp}D1y z{o1v|ShEdB)85%>1TVSf96|fZB-VfZZi4-y=&PW3IuxJ#ROS1`a)He0@z)xUUxHL2 z&roN!z`QfhyLj6FVnm*hqp&69Ny)9zDTfN1o?n!Z+Esv+YBPl&VZJkl&PMfq_!Pc* z`JOdoA4U=97B=AgK&|!IbF%f@j_H)lC_8!mMA4>VdW=4V{SQ>Hyx3LbeyehXfps=f z84nHLY`C-Zzq$UpN~}qB+dt4Zx^kZ#r1Il&`pkcN(x?433`E00yuo}CYUHp3>leq0 z5jTx4A8m*nwY}gz-Udo}f5;!JOBL9Ut+OriF1{RuUD~s!{{x9HW?3&tUB~UIV>WHJ z7+&c#os*1Jeqw!;uI9y6Y+rKk^=?kFbKT=CDa0}Gd=m4{)4ApsVXAAKV8hRqHS^n2 zh{Ks+4R9zmDGO?64NZct`z^BRjoRthdz&!T8sJEa$)u!vy2<(@GI;h*TD zEn>9De!p46GwsR*tZWS%P%|o8cWymK*a7H{L%(lipPj(HM$chC$(NIk--1NeHPh{d zsu3=yTlkMMlYaeX3Bf;0e8+bQoU0v+9#o3si-fe(&~X{RXYDdC+xHWuV??74iSw(Y zq~%icFS{>Waq_g@d7mXa|7`#7^v3ka{+kD;7lKW7X8BsX~bUp_$)+Jn@cZpvxKo=bI>ANav(>RBjG}xV6zH< zoYStN=Xz#Kk+ze_vIQ|m=$bIc3?HAV62c=5uep0MJUsl{mv6H5rYf(xCm`*Im$ufB zp8DRE@-fN>t*g&=N1DdI@4v%U<>N52Use}LmmjF?UJ~{8%5u7G)lKE7?l-*)gTcR_ zf`w#-F^eQ*?~x zK$Y&B$9W-?G-M3hT6C&kCJ&d(m|mcgK9)8~09Ft3?N+)3!i1x$|SCrS?~n z;F~|4uek*owBG1RE(31m@z(Mk`ZPHgdgD}^hxyn-ieP)!C{bTfttsaU zQhX;;`%a&r6*R6z->^S&N0X}QE*H_&uTz@O!p6R>ZYY1}+;Iq;`#Bf3>JRn%JDjT{ z5-}()>pMS_i#W1`Uo}umV5cS6eRUI+rHy?elq*I4M#th;V5--NZov_pXHFn9?5kP| z7RK$jmxhBAa)HJv0FdaUcU8v?bwUH zMg(gz43*MEOG~7~waIF~vhn_{PH=gRwfzk%0%b=&00*$4h{v$&w5G^=dj7=?V9tVf zU-7}J9!PaCsopU{L?-Rn&*0*O#8#v8|C1OJ69UKjHR1`9W_S9QdULcyiB;?Zx$=W1 zF!9>w8au$k2-qnPnh_X2mVB+F+>|S?0`ZFLbflbUx+zy=zZ&OWws4T6ey;zvlxI_> ze`?j-#09qx@$pNELsdg~pLLpB#eM(4{PESpnC{)rv)+2wdQ=$fM&Bj>F2|GvHnGvW zYD6+6Y?wFf1w^e)C;a3ZElx36*5y_o6~L$mUg#27=ZnNc+O?o0h;k>Re6X(3dkgEg zRv7C)^~(8cNd^Gi17<;QhZkxq2-|9f291}_WVJs&w@BeSEk(E)6v)WfGXB;{U> zHOVZCD{aSlVQLz&J6s$y8$%Lat!l=_Tk}N8xQV=|a}D(ZVCZ;>Uex)(nvWg@&RdM8 zN$sW<{wpOn%_re@vA$b%$&Ve~t)h}ge|MW7^A~?`VWkCn_*;=U7ujz)Ku3sq3Nkca zRY7##Gf6QwG{v%7o!2$IE4OidBGDU4pMg46n}atP<=(g5;`%q1%eriQHim-m!XO5t z{FF!d^?#tp;s2`*B50m&tq0PeTaH1+CdN6KWwvwTYSf<}R^|6K%a#sxh^#|5`}FTJ zqKa|% zq_$(j$$rH@(BDw>b(i(;;g4w3{j^$=RaKr$eua?Z(}n;4%42ptCygD?I^D<`q=(Oj zWt!`P+{Gvo3P2V{LAd>v&Ub$g>&y#v6&~5o^8aWA|A7#HX}=OOm3jQ|qlrZJEP2W? zy|K0`-TI07&ruXAk7Pyz%rhgCZ|m4%>DECZgWa1UKhh@3wD>KMLM1S!JE4@0_$+#* z3UtEegpChUmy=gW6MRJHRZ?)rP`bBlQ>;!BX&=4w`i7@H@czRY%gt}-wV#VT(v`&h zdnw|9+`g>R&j)|-Zf!xSdfu|*SM{H9X7AhHnNe`-kQ#X-*e&R9*sgIyR?fG05}w@~ zH3{5kS7~QAY6EZ#3Yi&IBi|K@i1j9H04G3 zL(}tssc9g!7v&)n%0zi3;=d{r*j=q+b%U%ka~k#ye++ZqHllUgEfDkZ`SmmI*xFc& zpI_k)R>GM5XPCXQkcID#{KNJBMX_bQQob4i0EtQ~ykTkjtY%O+u&AB4ecV=lae?zz z(W-zHuMJ{bkP>zz>cqUZPDE1&R%dK&=M&btnk!O~@Mt(y-Ag8s&V5IB??QD^1p#_zTp}=G!H-z zK7^S_H@PKBVO`P||~ zlf^r_Oau^>1-CK{=rYIbn)G<2s*Xmniwk9{=Ey*rV1pL-Q1#d-*liM z_-3GjsVOW$+XIX`L*%}|r`emgwqIO%-~=4s#tG1ssK}53`Ar-RL-CU@8RX6m?`;U? z&$7hfwXO-d!{Ty8NUM8WisK!GwW7D^PrzZU^<1a;A2r7%41+FK=)-T&JW*u%* zer?zssb9qZCcxYMFcB8#?|RCG7Xfn(aydr}Zaj~hzAlyiS$EsTkXvmfM(Ni_m8#K- zMT~zg%`1Yny<3vEEr}>$j57m(nV?qk@sOP~y)?cuc30` zrnjK5kJD%t3|NBk50a>;1@2O_t^EMc@kqarkIfFAO|>`-ji6&w@$n@x;*P&_j+K?= zLQp1|OJ{89uOVL7@fbS)Y}eqG!stH_BP~Yo68}IU?t#!>?bXSvRd&g*t_k6dgs+3k_kH|dww)1fw zYlwv3RRb!g#5v?E-Z4PDUv{cD&)jcZ+H>}6Qj={Jio(q9oNxG0=%+IS7-0U=Vc8wd zToKhfaihidJcW(TR<{0Ya*I9U=QgV;5~%ntZfnvxu zkbFP2R9w2_Gr&{8KiD9x%;hi3;Cub-2gv~vHFlFltG?j$P_@WwV=$&Xi8)~ZZ7+G< z%xW*Ds`XW6`K{TTDdz%`0XmoT&xG5c>-3<0E@=N=2W7FAQt4M4<9H=^^Pbhd_B}n} z3*76UR|`y8l-%a>CmJ?jZW-+)i`^RwZ zZ0|L)p&Cy{f3SgAI`@Mkku&Qi0lIT#wMUJzl=ak{p38ICb4v-IIaC}H5A!~N{f_<) z9~qx65BH;!1B}(KmEJui1>E)>bufGGQg`-bOP0yCHL%*AG4JM>Pa%jbE8+>D<QD4|_S2;=EhmIY(=euV4k>rlqJ)rf}!=z{-~zu`CrF zsc_uluZ;7>J^NYA^X*j`Bi)NRm-hoBy|duilJ&w7;O%x{-}VqS@eS-t<(7*)UX7$m zDz|A3!r!Jht~l?*!*LF&Qm5eC8`2g&-XnPn+0F%yjR(C$_C_VO8DW7h4{^q9k^9st zgSmiXdzd-Bch;BhL1{Fhn5;zz+wvJ$v2DfdD61aqmG&t5;+{_Vp3Z^2`H1@q<-E@$ zVokP${p04n$T11dKl6cHdU{XwQD>9qrw%V7`}~@4{uN>89c@kejn~=Dt=7uT(3wdt z9e$rcAM$tLpoMmymJa33I8Hj5_MF68i+f|QuO|~cfV_NioY83 zu0;P~2Xu`Z4w1N^$-LM-Pj#c28}kU?mFAIfY4&`-HcpZf^VdYoc%0dci(OLn6tXX+ z252}>nuX>0`WA3|OyNdx>$eV?P?+cJt4S=0wk$*r_cQ4vEB(IH`06HBHaP z`Lo0GBP(@Fn*%Wf+sbzqNsZ=!;7rGvwYR<=&3Yt$n*OEfZQOhDV_U%SWYK|>B(~Wb z->*E7^ZLpDJ64y1=^)2`3U}PZJpAOD6~0CdTI2R#)~ax9kK>ITmH#c@n_;8OJR9@7 zp#fI}M(+jUdnX%UT=-sk;B8?`5gx&)O%9%eAu}l6Twxzz4YFSEx_gug~EfI9R|BnBC-~|Sg ze*gab?L^-}Z(XC)p@v42taXy~j%EWs!EA9wP!CSe7ybWu7>?M;xOAR8!n^0>O>^;j7|Xy z|Ka~Mryx zX77J%*^=hspgo~8P~+`hh$-Iedr)!hOz3jI+0jBbgNpytxNwX;(Asf={}K&6R` zYwROU-t7icb~~%I*}%p|unqEXsx-B=SroS6OYvziHc{T6 zVn$O!S{$lsaiP+dgEj-e959=ujSrCf_^GRYs3zfj=6;oA@QJv{A2YD81T7f)lgC%fRe59MX5%S{i!;#I zg>ObD1@mnJpFB)O@=L`}Aih%2X52~Jp;<`a`x$E)A2Nv9ZL)KqjQr0pR=GX&eFbw# zW%-Ba4G*$$bQ{8bQEcmQs&MSh{NVSLtMj+UM{n_I2kH-`^_v=~^&bawqQJZ%1)bH# z4CjQwLy;`M5_^_T|Ma?!$XmyPmvx^golHA}#jYQV*T!5^%fut;{L&!tb+HVjdO>_H zn4FFHkb|nRK4P5R`|`gy#bfhQ76PaB&+xN&?z>aLT`DG{s*G4CvpN`2OLE!`X|s)#nlJ z;#*anHNH^-Kc(Z1l|0ses(DUNcu?V-*x}2s9PirOkyw;v?DL_i4YLqR)Q%0DRIuHg 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 literal 0 HcmV?d00001 diff --git a/models/Reference/stabilityai--stable-video-diffusion-img2vid.jpg b/models/Reference/stabilityai--stable-video-diffusion-img2vid.jpg new file mode 100644 index 0000000000000000000000000000000000000000..81a8096958e1e58120a8f97da8370efb556f85cc GIT binary patch literal 349667 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

@T)b#F+OIKA>Fa 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%0DRIuHg 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 literal 0 HcmV?d00001 diff --git a/modules/images.py b/modules/images.py index fb15c3e3b..b15b2bd04 100644 --- a/modules/images.py +++ b/modules/images.py @@ -621,6 +621,51 @@ def save_image(image, path, basename='', seed=None, prompt=None, extension=share return params.filename, filename_txt +def save_video_atomic(images, video_type, filename, duration, loop): + try: + import cv2 + except Exception as e: + shared.log.error(f'Save video: cv2: {e}') + return + os.makedirs(os.path.dirname(filename), exist_ok=True) + if video_type == 'mp4': + video_frames = [np.array(frame) for frame in images] + fourcc = "mp4v" + h, w, _c = video_frames[0].shape + video_writer = cv2.VideoWriter(filename, fourcc=cv2.VideoWriter_fourcc(*fourcc), fps=len(images)/duration, frameSize=(w, h)) + for i in range(len(video_frames)): + img = cv2.cvtColor(video_frames[i], cv2.COLOR_RGB2BGR) + video_writer.write(img) + shared.log.info(f'Save video: file="{filename}" frames={len(images)} duration={duration} fourcc={fourcc}') + if video_type == 'gif': + append = images.copy() + image = append.pop(0) + if loop: + append += append[::-1] + frames=len(append) + 1 + image.save( + filename, + save_all = True, + append_images = append, + optimize = False, + duration = 1000.0 * duration / frames, + loop = 0 if loop else 1, + ) + shared.log.info(f'Save video: file="{filename}" frames={len(append) + 1} duration={duration} loop={loop}') + + +def save_video(p, images, video_type, filename = None, duration = 2, loop = True): + if images is None or len(images) < 2: + return + image = images[0] + namegen = FilenameGenerator(p, seed=p.all_seeds[0], prompt=p.all_prompts[0], image=image) + if filename is None: + filename = namegen.apply(shared.opts.samples_filename_pattern if shared.opts.samples_filename_pattern and len(shared.opts.samples_filename_pattern) > 0 else "[seq]-[prompt_words]") + filename = namegen.sanitize(os.path.join(shared.opts.outdir_video, filename)) + filename = namegen.sequence(filename, shared.opts.outdir_video, '') + threading.Thread(target=save_video_atomic, args=(images, video_type, f'{filename}.{video_type}', duration, loop)).start() + + def safe_decode_string(s: bytes): remove_prefix = lambda text, prefix: text[len(prefix):] if text.startswith(prefix) else text # pylint: disable=unnecessary-lambda-assignment for encoding in ['utf-8', 'utf-16', 'ascii', 'latin_1', 'cp1252', 'cp437']: # try different encodings diff --git a/modules/modelloader.py b/modules/modelloader.py index 4195e6905..ddaa6efef 100644 --- a/modules/modelloader.py +++ b/modules/modelloader.py @@ -205,7 +205,7 @@ def download_diffusers_model(hub_id: str, cache_dir: str = None, download_config download_config["mirror"] = mirror if custom_pipeline is not None and len(custom_pipeline) > 0: download_config["custom_pipeline"] = custom_pipeline - shared.log.debug(f"Diffusers downloading: {hub_id} {download_config}") + shared.log.debug(f"Diffusers downloading: {hub_id} args={download_config}") if token is not None and len(token) > 2: shared.log.debug(f"Diffusers authentication: {token}") hf.login(token) diff --git a/modules/processing.py b/modules/processing.py index 0bd2e3230..1131fad85 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -784,7 +784,7 @@ def validate_sample(tensor): if shared.backend == shared.Backend.ORIGINAL: sample = 255.0 * np.moveaxis(tensor.cpu().numpy(), 0, 2) else: - sample = 255. * tensor + sample = 255.0 * tensor with warnings.catch_warnings(record=True) as w: cast = sample.astype(np.uint8) if len(w) > 0: diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 1b0a7a76e..995c84183 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -5,7 +5,6 @@ import inspect import typing import torch import torchvision.transforms.functional as TF -import diffusers import modules.devices as devices import modules.shared as shared import modules.sd_samplers as sd_samplers @@ -73,10 +72,7 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro time.sleep(0.1) def diffusers_callback(_pipe, step: int, timestep: int, kwargs: dict): - latents = correction_callback(p, timestep, kwargs) - latents = kwargs['latents'] shared.state.sampling_step = step - shared.state.current_latent = latents if shared.state.interrupted or shared.state.skipped: raise AssertionError('Interrupted...') if shared.state.paused: @@ -85,7 +81,12 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro if shared.state.interrupted or shared.state.skipped: raise AssertionError('Interrupted...') time.sleep(0.1) - return {'latents': latents} + if kwargs.get('latents', None) is None: + print('HERE NO') + return kwargs + kwargs = correction_callback(p, timestep, kwargs) + shared.state.current_latent = kwargs['latents'] + return kwargs def full_vae_decode(latents, model): t0 = time.time() @@ -129,7 +130,7 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro if len(latents) == 0: return [] decoded = torch.zeros((len(latents), 3, latents.shape[2] * 8, latents.shape[3] * 8), dtype=devices.dtype_vae, device=devices.device) - for i in range(len(output.images)): + for i in range(latents.shape[0]): decoded[i] = sd_vae_taesd.decode(latents[i]) return decoded @@ -151,6 +152,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro if not hasattr(model, 'vae'): shared.log.error('VAE not found in model') return [] + if latents.shape[0] == 4 and latents.shape[1] != 4: # likely animatediff latent + latents = latents.permute(1, 0, 2, 3) if len(latents.shape) == 3: # lost a batch dim in hires latents = latents.unsqueeze(0) if full_quality: @@ -200,16 +203,27 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro def task_specific_kwargs(model): task_args = {} - is_img2img_model = bool("Zero123" in shared.sd_model.__class__.__name__) + is_img2img_model = bool('Zero123' in shared.sd_model.__class__.__name__) if sd_models.get_diffusers_task(model) == sd_models.DiffusersTaskType.TEXT_2_IMAGE and not is_img2img_model: p.ops.append('txt2img') - task_args = {"height": 8 * math.ceil(p.height / 8), "width": 8 * math.ceil(p.width / 8)} + task_args = { + 'height': 8 * math.ceil(p.height / 8), + 'width': 8 * math.ceil(p.width / 8), + } elif (sd_models.get_diffusers_task(model) == sd_models.DiffusersTaskType.IMAGE_2_IMAGE or is_img2img_model) and len(getattr(p, 'init_images' ,[])) > 0: p.ops.append('img2img') - task_args = {"image": p.init_images, "strength": p.denoising_strength} + task_args = { + 'image': p.init_images, + 'strength': p.denoising_strength, + } elif sd_models.get_diffusers_task(model) == sd_models.DiffusersTaskType.INSTRUCT and len(getattr(p, 'init_images' ,[])) > 0: p.ops.append('instruct') - task_args = {"height": 8 * math.ceil(p.height / 8), "width": 8 * math.ceil(p.width / 8), "image": p.init_images, "strength": p.denoising_strength} + task_args = { + 'height': 8 * math.ceil(p.height / 8), + 'width': 8 * math.ceil(p.width / 8), + 'image': p.init_images, + 'strength': p.denoising_strength, + } elif (sd_models.get_diffusers_task(model) == sd_models.DiffusersTaskType.INPAINTING or is_img2img_model) and len(getattr(p, 'init_images' ,[])) > 0: p.ops.append('inpaint') if getattr(p, 'mask', None) is None: @@ -217,7 +231,13 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro width = 8 * math.ceil(p.init_images[0].width / 8) height = 8 * math.ceil(p.init_images[0].height / 8) # option-1: use images as inputs - task_args = {"image": p.init_images, "mask_image": p.mask, "strength": p.denoising_strength, "height": height, "width": width} + task_args = { + 'image': p.init_images, + 'mask_image': p.mask, + 'strength': p.denoising_strength, + 'height': height, + 'width': width, + } """ # option-2: preprocess images into latents using diffusers vae_scale_factor = 2 ** (len(model.vae.config.block_out_channels) - 1) image_processor = diffusers.image_processor.VaeImageProcessor(vae_scale_factor=vae_scale_factor) @@ -237,11 +257,16 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro task_args = {"image": p.init_images, "mask_image": mask_image, "masked_image_latents": masked_image_latents, "strength": p.denoising_strength, "height": height, "width": width} """ if model.__class__.__name__ == 'LatentConsistencyModelPipeline' and hasattr(p, 'init_images') and len(p.init_images) > 0: + p.ops.append('lcm') init_latents = [vae_encode(image, model=shared.sd_model, full_quality=p.full_quality).squeeze(dim=0) for image in p.init_images] init_latent = torch.stack(init_latents, dim=0).to(shared.device) init_noise = p.denoising_strength * create_random_tensors(init_latent.shape[1:], seeds=p.all_seeds, subseeds=p.all_subseeds, subseed_strength=p.subseed_strength, p=p) init_latent = (1 - p.denoising_strength) * init_latent + init_noise - task_args = {"latents": init_latent.to(model.dtype), "width": p.width, "height": p.height } + task_args = { + 'latents': init_latent.to(model.dtype), + 'width': p.width, + 'height': p.height, + } return task_args def set_pipeline_args(model, prompts: list, negative_prompts: list, prompts_2: typing.Optional[list]=None, negative_prompts_2: typing.Optional[list]=None, desc:str='', **kwargs): @@ -309,12 +334,13 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro pass task_kwargs = task_specific_kwargs(model) for arg in task_kwargs: - if arg in possible and arg not in args: # task specific args should not override args + # if arg in possible and arg not in args: # task specific args should not override args + if arg in possible: args[arg] = task_kwargs[arg] - else: - pass - for k, v in getattr(p, 'task_args', {}).items(): + task_args = getattr(p, 'task_args', {}) + for k, v in task_args.items(): args[k] = v + hypertile_set(p, hr=len(getattr(p, 'init_images', []))) clean = args.copy() clean.pop('callback', None) @@ -394,10 +420,6 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro # TODO extra_generation_params add sampler options # p.extra_generation_params['Sampler options'] = '' - recompile_model() - update_sampler(shared.sd_model) - p.extra_generation_params['Pipeline'] = shared.sd_model.__class__.__name__ - if len(getattr(p, 'init_images', [])) > 0: while len(p.init_images) < len(prompts): p.init_images.append(p.init_images[-1]) @@ -475,7 +497,10 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro clip_skip=p.clip_skip, desc='Base', ) + recompile_model() + update_sampler(shared.sd_model) shared.state.sampling_steps = base_args['num_inference_steps'] + p.extra_generation_params['Pipeline'] = shared.sd_model.__class__.__name__ p.extra_generation_params["Sampler Eta"] = shared.opts.scheduler_eta if shared.opts.scheduler_eta is not None and shared.opts.scheduler_eta > 0 and shared.opts.scheduler_eta < 1 else None try: output = shared.sd_model(**base_args) # pylint: disable=not-callable @@ -486,9 +511,13 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro shared.log.info(e) except ValueError as e: shared.state.interrupted = True - shared.log.error(f'Processing: {e}') + shared.log.error(f'Processing: args={base_args} {e}') if shared.cmd_opts.debug: errors.display(e, 'Processing') + except RuntimeError as e: + shared.state.interrupted = True + shared.log.error(f'Processing: args={base_args} {e}') + errors.display(e, 'Processing') if hasattr(shared.sd_model, 'embedding_db') and len(shared.sd_model.embedding_db.embeddings_used) > 0: p.extra_generation_params['Embeddings'] = ', '.join(shared.sd_model.embedding_db.embeddings_used) diff --git a/modules/shared.py b/modules/shared.py index 791faaa7b..0ba936223 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -446,11 +446,12 @@ options_templates.update(options_section(('saving-paths', "Image Naming & Paths" "outdir_sep_dirs": OptionInfo("

Directories

", "", gr.HTML), "outdir_samples": OptionInfo("", "Output directory for images", component_args=hide_dirs, folder=True), - "outdir_txt2img_samples": OptionInfo("outputs/text", 'Output directory for txt2img images', component_args=hide_dirs, folder=True), - "outdir_img2img_samples": OptionInfo("outputs/image", 'Output directory for img2img images', component_args=hide_dirs, folder=True), - "outdir_extras_samples": OptionInfo("outputs/extras", 'Output directory for images from extras tab', component_args=hide_dirs, folder=True), - "outdir_save": OptionInfo("outputs/save", "Directory for saving images using the Save button", component_args=hide_dirs, folder=True), - "outdir_init_images": OptionInfo("outputs/init-images", "Directory for saving init images when using img2img", component_args=hide_dirs, folder=True), + "outdir_txt2img_samples": OptionInfo("outputs/text", 'Directory for text generate', component_args=hide_dirs, folder=True), + "outdir_img2img_samples": OptionInfo("outputs/image", 'Directory for image generate', component_args=hide_dirs, folder=True), + "outdir_extras_samples": OptionInfo("outputs/extras", 'Directory for processed images', component_args=hide_dirs, folder=True), + "outdir_save": OptionInfo("outputs/save", "Directory for manually saved images", component_args=hide_dirs, folder=True), + "outdir_video": OptionInfo("outputs/video", "Directory for videos", component_args=hide_dirs, folder=True), + "outdir_init_images": OptionInfo("outputs/init-images", "Directory for init images", component_args=hide_dirs, folder=True), "outdir_sep_grids": OptionInfo("

Grids

", "", gr.HTML), "grid_extended_filename": OptionInfo(True, "Add extended info (seed, prompt) to filename when saving grid", gr.Checkbox, {"visible": False}), diff --git a/modules/ui.py b/modules/ui.py index 1edbdb4cb..6b076469b 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -421,7 +421,7 @@ def create_ui(startup_timer = None): cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="txt2img_cfg_scale") clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=1, maximum=14, step=1, elem_id='txt2img_clip_skip', interactive=True) with FormRow(): - image_cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='Secondary CFG scale', value=6.0, elem_id="txt2img_image_cfg_scale") + image_cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.1, label='Secondary CFG scale', value=6.0, elem_id="txt2img_image_cfg_scale") diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Guidance rescale', value=0.7, elem_id="txt2img_image_cfg_rescale") with gr.Group(): with FormRow(): @@ -726,8 +726,8 @@ def create_ui(startup_timer = None): with gr.Accordion(open=False, label="Advanced", elem_classes=["small-accordion"], elem_id="img2img_advanced_group"): with FormRow(): - cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="img2img_cfg_scale") - image_cfg_scale = gr.Slider(minimum=1.0, maximum=30.0, step=0.15, label='Image CFG scale', value=1.5, elem_id="img2img_image_cfg_scale") + cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.1, label='CFG scale', value=6.0, elem_id="img2img_cfg_scale") + image_cfg_scale = gr.Slider(minimum=0.0, maximum=30.0, step=0.15, label='Image CFG scale', value=1.5, elem_id="img2img_image_cfg_scale") with FormRow(): clip_skip = gr.Slider(label='CLIP skip', value=1, minimum=1, maximum=4, step=1, elem_id='img2img_clip_skip', interactive=True) diffusers_guidance_rescale = gr.Slider(minimum=0.0, maximum=1.0, step=0.05, label='Guidance rescale', value=0.7, elem_id="txt2img_image_cfg_rescale") diff --git a/scripts/animatediff.py b/scripts/animatediff.py index 92a8cfc84..21b51f683 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -13,7 +13,6 @@ TODO: - AnimateFace: https://huggingface.co/nlper2022/animatediff_face_512/tree/main """ -import os import gradio as gr import diffusers from modules import scripts, processing, shared, devices, sd_models @@ -66,7 +65,7 @@ def set_adapter(name: str = None): shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') return if motion_adapter is not None and loaded_adapter == adapter_name: - shared.log.info(f'AnimateDiff cache: adapter="{adapter_name}"') + shared.log.debug(f'AnimateDiff cache: adapter="{adapter_name}"') return try: shared.log.info(f'AnimateDiff load: adapter="{adapter_name}"') @@ -117,50 +116,35 @@ class Script(scripts.Script): lora_index = gr.Dropdown(label='Lora', choices=list(LORAS), value='None') strength = gr.Slider(label='Strength', minimum=0.0, maximum=2.0, step=0.05, value=1.0) with gr.Row(): - override = gr.Checkbox(label='Override sampler', value=False) + latent_mode = gr.Checkbox(label='Latent mode', value=False) with gr.Row(): - create_gif = gr.Checkbox(label='Create GIF', value=False) + create_gif = gr.Checkbox(label='GIF', value=False) + create_mp4 = gr.Checkbox(label='MP4', value=False) loop = gr.Checkbox(label='Loop', value=True) duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2) - return [adapter_index, frames, lora_index, strength, override, create_gif, duration, loop] + return [adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop] - def process(self, p: processing.StableDiffusionProcessing, adapter_index, frames, lora_index, strength, override, create_gif, duration, loop): # pylint: disable=arguments-differ, unused-argument + def process(self, p: processing.StableDiffusionProcessing, adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument adapter = ADAPTERS[adapter_index] lora = LORAS[lora_index] set_adapter(adapter) if motion_adapter is None: return - shared.log.debug(f'AnimateDiff: adapter="{adapter}" lora="{lora}" strength={strength} sampler={override} gif={create_gif}') - p.extra_generation_params['AnimateDiff'] = loaded_adapter - if override: - shared.sd_model.scheduler = diffusers.DDIMScheduler.from_pretrained('SG161222/Realistic_Vision_V5.1_noVAE', subfolder="scheduler", clip_sample=False, timestep_spacing="linspace", steps_offset=1) + shared.log.debug(f'AnimateDiff: adapter="{adapter}" lora="{lora}" strength={strength} gif={create_gif} mp4={create_mp4}') if lora is not None and lora != 'None': shared.sd_model.load_lora_weights(lora, adapter_name=lora) shared.sd_model.set_adapters([lora], adapter_weights=[strength]) p.extra_generation_params['AnimateDiff Lora'] = f'{lora}:{strength}' + p.extra_generation_params['AnimateDiff'] = loaded_adapter p.do_not_save_grid = True p.task_args['num_frames'] = frames - p.task_args['output_type'] = 'np' # TODO: AnimateDiff use latents and update vae_decode p.task_args['num_inference_steps'] = p.steps + if not latent_mode: + p.task_args['output_type'] = 'np' - def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, override, create_gif, duration, loop): # pylint: disable=arguments-differ, unused-argument - if not create_gif or len(processed.images) < 2: - return - from modules.images import FilenameGenerator - image = processed.images[0] - namegen = FilenameGenerator(p, seed=p.all_seeds[0], prompt=p.all_prompts[0], image=image) - fn = namegen.apply(shared.opts.samples_filename_pattern if shared.opts.samples_filename_pattern and len(shared.opts.samples_filename_pattern) > 0 else "[seq]-[prompt_words]") - fn = namegen.sanitize(os.path.join(shared.opts.outdir_save, fn)) - fn = namegen.sequence(fn, shared.opts.outdir_save, '') - images = processed.images[1:] - if loop: - images += processed.images[::-1] - image.save( - f'{fn}.gif', - save_all = True, - append_images = images, - optimize = False, - duration = 1000.0 * duration / frames, - loop = 0 if loop else 1, - ) - shared.log.info(f'AnimateDiff saved: file="{fn}" frames={len(images) + 1} duration={duration} loop={loop}') + def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument + from modules.images import save_video + if create_gif: + save_video(p, images=processed.images, video_type='gif', duration=duration, loop=loop) + if create_mp4: + save_video(p, images=processed.images, video_type='mp4', duration=duration, loop=loop) diff --git a/scripts/stablevideodiffusion.py b/scripts/stablevideodiffusion.py new file mode 100644 index 000000000..612b184a2 --- /dev/null +++ b/scripts/stablevideodiffusion.py @@ -0,0 +1,68 @@ +""" +Additional params for StableVideoDiffusion +""" +import torch +import gradio as gr +from modules import scripts, processing, shared, sd_models, images + + +class Script(scripts.Script): + def title(self): + return 'Stable Video Diffusion' + + def show(self, is_img2img): + return is_img2img if shared.backend == shared.Backend.DIFFUSERS else False + + # return signature is array of gradio components + def ui(self, _is_img2img): + with gr.Row(): + num_frames = gr.Slider(label='Frames', minimum=1, maximum=50, step=1, value=14) + min_guidance_scale = gr.Slider(label='Min guidance', minimum=0.0, maximum=10.0, step=0.1, value=1.0) + max_guidance_scale = gr.Slider(label='Max guidance', minimum=0.0, maximum=10.0, step=0.1, value=3.0) + with gr.Row(): + decode_chunk_size = gr.Slider(label='Decode chunks', minimum=1, maximum=25, step=1, value=6) + motion_bucket_id = gr.Slider(label='Motion level', minimum=0, maximum=1, step=0.05, value=0.5) + noise_aug_strength = gr.Slider(label='Noise strength', minimum=0.0, maximum=1.0, step=0.01, value=0.1) + with gr.Row(): + override_resolution = gr.Checkbox(label='Override resolution', value=True) + create_gif = gr.Checkbox(label='GIF', value=False) + create_mp4 = gr.Checkbox(label='MP4', value=False) + loop = gr.Checkbox(label='Loop', value=True) + duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2) + return [num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, create_gif, create_mp4, duration, loop] + + def run(self, p: processing.StableDiffusionProcessing, num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument + if shared.sd_model is None or shared.sd_model.__class__.__name__ != 'StableVideoDiffusionPipeline': + return None + if hasattr(p, 'init_images') and len(p.init_images) > 0: + if override_resolution: + p.width = 1024 + p.height = 576 + p.task_args['image'] = images.resize_image(resize_mode=2, im=p.init_images[0], width=p.width, height=p.height, upscaler_name=None, output_type='pil') + else: + p.task_args['image'] = p.init_images[0] + p.ops.append('svd') + p.do_not_save_grid = True + p.sampler_name = 'Default' # svd does not support non-default sampler + p.task_args['generator'] = torch.manual_seed(p.seed) # svd does not support gpu based generator + p.task_args['width'] = p.width + p.task_args['height'] = p.height + p.task_args['num_frames'] = num_frames + p.task_args['decode_chunk_size'] = decode_chunk_size + p.task_args['motion_bucket_id'] = round(255 * motion_bucket_id) + p.task_args['noise_aug_strength'] = noise_aug_strength + p.task_args['num_inference_steps'] = p.steps + p.task_args['min_guidance_scale'] = min_guidance_scale + p.task_args['max_guidance_scale'] = max_guidance_scale + p.task_args['output_type'] = 'np' + shared.log.debug(f'StableVideo: args={p.task_args}') + shared.sd_model = sd_models.set_diffuser_pipe(shared.sd_model, sd_models.DiffusersTaskType.IMAGE_2_IMAGE) + processed = processing.process_images(p) + if create_gif: + images.save_video(p, images=processed.images, video_type='gif', duration=duration, loop=loop) + if create_mp4: + images.save_video(p, images=processed.images, video_type='mp4', duration=duration, loop=loop) + return processed + else: + shared.log.error('StableVideo: no init_images') + return None From 14141e4259fc6815900afd773e540db1c2c18d68 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Thu, 30 Nov 2023 11:55:15 -0500 Subject: [PATCH 22/42] fix extra networks sort --- javascript/extraNetworks.js | 4 ++-- javascript/sdnext.css | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index 9261ffb7d..216673ede 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -166,8 +166,8 @@ function sortExtraNetworks() { if (num === 0) return 'sort: no cards'; cards.sort((a, b) => { // eslint-disable-line no-loop-func switch (sortVal) { - case 0: return a.dataset.name ? a.dataset.search.localeCompare(b.dataset.name) : 0; - case 1: return b.dataset.name ? b.dataset.search.localeCompare(a.dataset.name) : 0; + case 0: return a.dataset.search ? a.dataset.search.localeCompare(b.dataset.search) : 0; + case 1: return b.dataset.search ? b.dataset.search.localeCompare(a.dataset.search) : 0; case 2: return a.dataset.mtime && !isNaN(a.dataset.mtime) ? parseFloat(b.dataset.mtime) - parseFloat(a.dataset.mtime) : 0; case 3: return b.dataset.mtime && !isNaN(b.dataset.mtime) ? parseFloat(a.dataset.mtime) - parseFloat(b.dataset.mtime) : 0; case 4: return a.dataset.size && !isNaN(a.dataset.size) ? parseFloat(b.dataset.size) - parseFloat(a.dataset.size) : 0; diff --git a/javascript/sdnext.css b/javascript/sdnext.css index d10878a62..1d7154569 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -184,7 +184,7 @@ table.settings-value-table td { padding: 0.4em; border: 1px solid #ccc; max-widt .extra-networks .description { flex: 3; } .extra-networks .tab-nav > button { margin-right: 0; height: 24px; padding: 2px 4px 2px 4px; } .extra-networks .buttons { position: absolute; right: 0; margin: -4px; background: var(--background-color); } -.extra-networks .buttons > button { margin-left: -0.4em; height: 1.4em; color: var(--primary-300) !important; } +.extra-networks .buttons > button { margin-left: -0.2em; height: 1.4em; color: var(--primary-300) !important; } .extra-networks .custom-button { width: 120px; width: 100%; background: none; justify-content: left; text-align: left; padding: 3px 3px 3px 12px; text-indent: -6px; box-shadow: none; line-break: auto; } .extra-networks .custom-button:hover { background: var(--button-primary-background-fill) } .extra-networks-tab { padding: 0 !important; } From 52f453400af03a314c740214d866866e0ed645a7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 1 Dec 2023 10:27:41 -0500 Subject: [PATCH 23/42] add rife prototype and handle missing default scriptrunners --- CHANGELOG.md | 8 +- modules/processing.py | 9 +- modules/processing_diffusers.py | 1 - modules/rife/loss.py | 122 ++++++++++++++++++++++ modules/rife/model_ifnet.py | 134 ++++++++++++++++++++++++ modules/rife/model_rife.py | 83 +++++++++++++++ modules/rife/refine.py | 90 +++++++++++++++++ modules/rife/rife.py | 153 ++++++++++++++++++++++++++++ modules/rife/ssim.py | 174 ++++++++++++++++++++++++++++++++ modules/rife/warplayer.py | 17 ++++ 10 files changed, 783 insertions(+), 8 deletions(-) create mode 100644 modules/rife/loss.py create mode 100644 modules/rife/model_ifnet.py create mode 100644 modules/rife/model_rife.py create mode 100644 modules/rife/refine.py create mode 100755 modules/rife/rife.py create mode 100644 modules/rife/ssim.py create mode 100644 modules/rife/warplayer.py diff --git a/CHANGELOG.md b/CHANGELOG.md index a83202e94..a5b138854 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log for SD.Next -## Update for 2023-11-29 +## Update for 2023-11-30 - **Diffusers** - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) @@ -38,13 +38,13 @@ - applies to any model that supports video generation, e.g. AnimateDiff and StableVideoDiffusion - support for GIF and MP4 - output folder for videos is in *settings -> image paths -> video* -- **Model merge** - - add **SD-XL ReBasin** support, thanks @AI-Casanova - **General** - - further UI optimizations for **mobile devices**, thanks @iDeNoh + - **model merge** add **SD-XL ReBasin** support, thanks @AI-Casanova + - further UI optimizations for **mobile devices**, thanks @iDeNoh - log level defaults to info for console and debug for log file - better prompt display in process tab - increase maximum lora cache values + - fix extra networks sorting - fix controlnet compatibility issues in original backend - fix img2img/inpaint paste params - fix save text file for manually saved images diff --git a/modules/processing.py b/modules/processing.py index 1131fad85..01f1dd3af 100644 --- a/modules/processing.py +++ b/modules/processing.py @@ -122,7 +122,6 @@ class StableDiffusionProcessing: The first set of paramaters: sd_models -> do_not_reload_embeddings represent the minimum required to create a StableDiffusionProcessing """ def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prompt: str = "", styles: List[str] = None, seed: int = -1, subseed: int = -1, subseed_strength: float = 0, seed_resize_from_h: int = -1, seed_resize_from_w: int = -1, seed_enable_extras: bool = True, sampler_name: str = None, latent_sampler: str = None, batch_size: int = 1, n_iter: int = 1, steps: int = 50, cfg_scale: float = 7.0, image_cfg_scale: float = None, clip_skip: int = 1, width: int = 512, height: int = 512, full_quality: bool = True, restore_faces: bool = False, tiling: bool = False, do_not_save_samples: bool = False, do_not_save_grid: bool = False, extra_generation_params: Dict[Any, Any] = None, overlay_images: Any = None, negative_prompt: str = None, eta: float = None, do_not_reload_embeddings: bool = False, denoising_strength: float = 0, diffusers_guidance_rescale: float = 0.7, hdr_clamp: bool = False, hdr_boundary: float = 4.0, hdr_threshold: float = 3.5, hdr_center: bool = False, hdr_channel_shift: float = 0.8, hdr_full_shift: float = 0.8, hdr_maximize: bool = False, hdr_max_center: float = 0.6, hdr_max_boundry: float = 1.0, override_settings: Dict[str, Any] = None, override_settings_restore_afterwards: bool = True, sampler_index: int = None, script_args: list = None): # pylint: disable=unused-argument - self.outpath_samples: str = outpath_samples self.outpath_grids: str = outpath_grids self.prompt: str = prompt @@ -166,8 +165,8 @@ class StableDiffusionProcessing: self.disable_extra_networks = False self.token_merging_ratio = 0 self.token_merging_ratio_hr = 0 - self.scripts = None - self.script_args = script_args or [] + # self.scripts = modules.scripts.ScriptRunner() # set via property + # self.script_args = script_args or [] # set via property self.per_script_args = {} self.all_prompts = None self.all_negative_prompts = None @@ -1070,6 +1069,8 @@ class StableDiffusionProcessingTxt2Img(StableDiffusionProcessing): self.refiner_prompt = refiner_prompt self.refiner_negative = refiner_negative self.sampler = None + self.scripts = None + self.script_args = [] def init(self, all_prompts, all_seeds, all_subseeds): if shared.backend == shared.Backend.DIFFUSERS: @@ -1232,6 +1233,8 @@ class StableDiffusionProcessingImg2Img(StableDiffusionProcessing): self.is_batch = False self.scale_by = 1.0 self.sampler = None + self.scripts = None + self.script_args = [] def init(self, all_prompts, all_seeds, all_subseeds): if shared.backend == shared.Backend.DIFFUSERS and self.image_mask is not None: diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 995c84183..2049fa881 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -82,7 +82,6 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro raise AssertionError('Interrupted...') time.sleep(0.1) if kwargs.get('latents', None) is None: - print('HERE NO') return kwargs kwargs = correction_callback(p, timestep, kwargs) shared.state.current_latent = kwargs['latents'] diff --git a/modules/rife/loss.py b/modules/rife/loss.py new file mode 100644 index 000000000..993f319fb --- /dev/null +++ b/modules/rife/loss.py @@ -0,0 +1,122 @@ +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +import torchvision.models as models +from modules import devices + + +class EPE(nn.Module): + def __init__(self): + super(EPE, self).__init__() + + def forward(self, flow, gt, loss_mask): + loss_map = (flow - gt.detach()) ** 2 + loss_map = (loss_map.sum(1, True) + 1e-6) ** 0.5 + return loss_map * loss_mask + + +class Ternary(nn.Module): + def __init__(self): + super(Ternary, self).__init__() + patch_size = 7 + out_channels = patch_size * patch_size + self.w = np.eye(out_channels).reshape( + (patch_size, patch_size, 1, out_channels)) + self.w = np.transpose(self.w, (3, 2, 0, 1)) + self.w = torch.tensor(self.w).float().to(devices.device) + + def transform(self, img): + patches = F.conv2d(img, self.w, padding=3, bias=None) + transf = patches - img + transf_norm = transf / torch.sqrt(0.81 + transf**2) + return transf_norm + + def rgb2gray(self, rgb): + r, g, b = rgb[:, 0:1, :, :], rgb[:, 1:2, :, :], rgb[:, 2:3, :, :] + gray = 0.2989 * r + 0.5870 * g + 0.1140 * b + return gray + + def hamming(self, t1, t2): + dist = (t1 - t2) ** 2 + dist_norm = torch.mean(dist / (0.1 + dist), 1, True) + return dist_norm + + def valid_mask(self, t, padding): + n, _, h, w = t.size() + inner = torch.ones(n, 1, h - 2 * padding, w - 2 * padding).type_as(t) + mask = F.pad(inner, [padding] * 4) + return mask + + def forward(self, img0, img1): + img0 = self.transform(self.rgb2gray(img0)) + img1 = self.transform(self.rgb2gray(img1)) + return self.hamming(img0, img1) * self.valid_mask(img0, 1) + + +class SOBEL(nn.Module): + def __init__(self): + super(SOBEL, self).__init__() + self.kernelX = torch.tensor([ + [1, 0, -1], + [2, 0, -2], + [1, 0, -1], + ]).float() + self.kernelY = self.kernelX.clone().T + self.kernelX = self.kernelX.unsqueeze(0).unsqueeze(0).to(devices.device) + self.kernelY = self.kernelY.unsqueeze(0).unsqueeze(0).to(devices.device) + + def forward(self, pred, gt): + N, C, H, W = pred.shape[0], pred.shape[1], pred.shape[2], pred.shape[3] + img_stack = torch.cat( + [pred.reshape(N*C, 1, H, W), gt.reshape(N*C, 1, H, W)], 0) + sobel_stack_x = F.conv2d(img_stack, self.kernelX, padding=1) + sobel_stack_y = F.conv2d(img_stack, self.kernelY, padding=1) + pred_X, gt_X = sobel_stack_x[:N*C], sobel_stack_x[N*C:] + pred_Y, gt_Y = sobel_stack_y[:N*C], sobel_stack_y[N*C:] + L1X, L1Y = torch.abs(pred_X-gt_X), torch.abs(pred_Y-gt_Y) + loss = L1X+L1Y + return loss + + +class MeanShift(nn.Conv2d): + def __init__(self, data_mean, data_std, data_range=1, norm=True): + c = len(data_mean) + super(MeanShift, self).__init__(c, c, kernel_size=1) + std = torch.Tensor(data_std) + self.weight.data = torch.eye(c).view(c, c, 1, 1) + if norm: + self.weight.data.div_(std.view(c, 1, 1, 1)) + self.bias.data = -1 * data_range * torch.Tensor(data_mean) + self.bias.data.div_(std) + else: + self.weight.data.mul_(std.view(c, 1, 1, 1)) + self.bias.data = data_range * torch.Tensor(data_mean) + self.requires_grad = False + + +class VGGPerceptualLoss(torch.nn.Module): + def __init__(self, rank=0): # pylint: disable=unused-argument + super(VGGPerceptualLoss, self).__init__() + pretrained = True + self.vgg_pretrained_features = models.vgg19( + pretrained=pretrained).features + self.normalize = MeanShift([0.485, 0.456, 0.406], [ + 0.229, 0.224, 0.225], norm=True).cuda() + for param in self.parameters(): + param.requires_grad = False + + def forward(self, X, Y, indices=None): + X = self.normalize(X) + Y = self.normalize(Y) + indices = [2, 7, 12, 21, 30] + weights = [1.0/2.6, 1.0/4.8, 1.0/3.7, 1.0/5.6, 10/1.5] + k = 0 + loss = 0 + for i in range(indices[-1]): + X = self.vgg_pretrained_features[i](X) + Y = self.vgg_pretrained_features[i](Y) + if i+1 in indices: + loss += weights[k] * (X - Y.detach()).abs().mean() * 0.1 + k += 1 + return loss diff --git a/modules/rife/model_ifnet.py b/modules/rife/model_ifnet.py new file mode 100644 index 000000000..91598bde8 --- /dev/null +++ b/modules/rife/model_ifnet.py @@ -0,0 +1,134 @@ +import os +import sys +import torch +import torch.nn as nn +import torch.nn.functional as F + +sys.path.append(os.path.dirname(__file__)) +from warplayer import warp # pylint: disable=wrong-import-position + + +device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + + +def conv(in_planes, out_planes, kernel_size=3, stride=1, padding=1, dilation=1): + return nn.Sequential( + nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, + padding=padding, dilation=dilation, bias=True), + nn.LeakyReLU(0.2, True) + ) + +def conv_bn(in_planes, out_planes, kernel_size=3, stride=1, padding=1, dilation=1): + return nn.Sequential( + nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, + padding=padding, dilation=dilation, bias=False), + nn.BatchNorm2d(out_planes), + nn.LeakyReLU(0.2, True) + ) + +class ResConv(nn.Module): + def __init__(self, c, dilation=1): + super(ResConv, self).__init__() + self.conv = nn.Conv2d(c, c, 3, 1, dilation, dilation=dilation, groups=1\ +) + self.beta = nn.Parameter(torch.ones((1, c, 1, 1)), requires_grad=True) + self.relu = nn.LeakyReLU(0.2, True) + + def forward(self, x): + return self.relu(self.conv(x) * self.beta + x) + +class IFBlock(nn.Module): + def __init__(self, in_planes, c=64): + super(IFBlock, self).__init__() + self.conv0 = nn.Sequential( + conv(in_planes, c//2, 3, 2, 1), + conv(c//2, c, 3, 2, 1), + ) + self.convblock = nn.Sequential( + ResConv(c), + ResConv(c), + ResConv(c), + ResConv(c), + ResConv(c), + ResConv(c), + ResConv(c), + ResConv(c), + ) + self.lastconv = nn.Sequential( + nn.ConvTranspose2d(c, 4*6, 4, 2, 1), + nn.PixelShuffle(2) + ) + + def forward(self, x, flow=None, scale=1): + x = F.interpolate(x, scale_factor= 1. / scale, mode="bilinear", align_corners=False) + if flow is not None: + flow = F.interpolate(flow, scale_factor= 1. / scale, mode="bilinear", align_corners=False) * 1. / scale + x = torch.cat((x, flow), 1) + feat = self.conv0(x) + feat = self.convblock(feat) + tmp = self.lastconv(feat) + tmp = F.interpolate(tmp, scale_factor=scale, mode="bilinear", align_corners=False) + flow = tmp[:, :4] * scale + mask = tmp[:, 4:5] + return flow, mask + +class IFNet(nn.Module): + def __init__(self): + super(IFNet, self).__init__() + self.block0 = IFBlock(7, c=192) + self.block1 = IFBlock(8+4, c=128) + self.block2 = IFBlock(8+4, c=96) + self.block3 = IFBlock(8+4, c=64) + # self.contextnet = Contextnet() + # self.unet = Unet() + + def forward( self, x, timestep=0.5, scale_list=[8, 4, 2, 1], training=False, fastmode=True, ensemble=False): + if training is False: + channel = x.shape[1] // 2 + img0 = x[:, :channel] + img1 = x[:, channel:] + if not torch.is_tensor(timestep): + timestep = (x[:, :1].clone() * 0 + 1) * timestep + else: + timestep = timestep.repeat(1, 1, img0.shape[2], img0.shape[3]) + flow_list = [] + merged = [] + mask_list = [] + warped_img0 = img0 + warped_img1 = img1 + flow = None + mask = None + # loss_cons = 0 + block = [self.block0, self.block1, self.block2, self.block3] + for i in range(4): + if flow is None: + flow, mask = block[i](torch.cat((img0[:, :3], img1[:, :3], timestep), 1), None, scale=scale_list[i]) + if ensemble: + f1, m1 = block[i](torch.cat((img1[:, :3], img0[:, :3], 1-timestep), 1), None, scale=scale_list[i]) + flow = (flow + torch.cat((f1[:, 2:4], f1[:, :2]), 1)) / 2 + mask = (mask + (-m1)) / 2 + else: + f0, m0 = block[i](torch.cat((warped_img0[:, :3], warped_img1[:, :3], timestep, mask), 1), flow, scale=scale_list[i]) + if ensemble: + f1, m1 = block[i](torch.cat((warped_img1[:, :3], warped_img0[:, :3], 1-timestep, -mask), 1), torch.cat((flow[:, 2:4], flow[:, :2]), 1), scale=scale_list[i]) # pylint: disable=invalid-unary-operand-type + f0 = (f0 + torch.cat((f1[:, 2:4], f1[:, :2]), 1)) / 2 + m0 = (m0 + (-m1)) / 2 + flow = flow + f0 + mask = mask + m0 + mask_list.append(mask) + flow_list.append(flow) + warped_img0 = warp(img0, flow[:, :2]) + warped_img1 = warp(img1, flow[:, 2:4]) + merged.append((warped_img0, warped_img1)) + mask_list[3] = torch.sigmoid(mask_list[3]) + merged[3] = merged[3][0] * mask_list[3] + merged[3][1] * (1 - mask_list[3]) + if not fastmode: + print('contextnet is removed') + ''' + c0 = self.contextnet(img0, flow[:, :2]) + c1 = self.contextnet(img1, flow[:, 2:4]) + tmp = self.unet(img0, img1, warped_img0, warped_img1, mask, flow, c0, c1) + res = tmp[:, :3] * 2 - 1 + merged[3] = torch.clamp(merged[3] + res, 0, 1) + ''' + return flow_list, mask_list[3], merged diff --git a/modules/rife/model_rife.py b/modules/rife/model_rife.py new file mode 100644 index 000000000..4084db6df --- /dev/null +++ b/modules/rife/model_rife.py @@ -0,0 +1,83 @@ +import torch +from torch.optim import AdamW +from torch.nn.parallel import DistributedDataParallel as DDP +from model_ifnet import IFNet +from loss import EPE, SOBEL +from modules import devices + + +class Model: + def __init__(self, local_rank=-1): + self.flownet = IFNet() + self.device() + self.optimG = AdamW(self.flownet.parameters(), lr=1e-6, weight_decay=1e-4) + self.epe = EPE() + self.version = 3.9 + # self.vgg = VGGPerceptualLoss().to(device) + self.sobel = SOBEL() + if local_rank != -1: + self.flownet = DDP(self.flownet, device_ids=[local_rank], output_device=local_rank) + + def train(self): + self.flownet.train() + + def eval(self): + self.flownet.eval() + + def device(self): + self.flownet.to(devices.device) + self.flownet.to(devices.dtype) + + def load_model(self, model_file, rank=0): + def convert(param): + if rank == -1: + return { + k.replace("module.", ""): v + for k, v in param.items() + if "module." in k + } + else: + return param + if rank <= 0: + if torch.cuda.is_available(): + self.flownet.load_state_dict(convert(torch.load(model_file)), False) + else: + self.flownet.load_state_dict(convert(torch.load(model_file, map_location='cpu')), False) + + def save_model(self, model_file, rank=0): + if rank == 0: + torch.save(self.flownet.state_dict(), model_file) + + def inference(self, img0, img1, timestep=0.5, scale=1.0): + imgs = torch.cat((img0, img1), 1) + scale_list = [8/scale, 4/scale, 2/scale, 1/scale] + _flow, _mask, merged = self.flownet(imgs, timestep, scale_list) + return merged[3] + + def update(self, imgs, gt, learning_rate=0, mul=1, training=True, flow_gt=None): # pylint: disable=unused-argument + for param_group in self.optimG.param_groups: + param_group['lr'] = learning_rate + # img0 = imgs[:, :3] + # img1 = imgs[:, 3:] + if training: + self.train() + else: + self.eval() + scale = [8, 4, 2, 1] + flow, mask, merged = self.flownet(torch.cat((imgs, gt), 1), scale=scale, training=training) + loss_l1 = (merged[3] - gt).abs().mean() + loss_smooth = self.sobel(flow[3], flow[3]*0).mean() + # loss_vgg = self.vgg(merged[2], gt) + if training: + self.optimG.zero_grad() + loss_G = loss_l1 + loss_smooth * 0.1 + loss_G.backward() + self.optimG.step() + # else: + # flow_teacher = flow[2] + return merged[3], { + 'mask': mask, + 'flow': flow[3][:, :2], + 'loss_l1': loss_l1, + 'loss_smooth': loss_smooth, + } diff --git a/modules/rife/refine.py b/modules/rife/refine.py new file mode 100644 index 000000000..fae3ddc5c --- /dev/null +++ b/modules/rife/refine.py @@ -0,0 +1,90 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from warplayer import warp + + +c = 16 + + +def conv(in_planes, out_planes, kernel_size=3, stride=1, padding=1, dilation=1): + return nn.Sequential( + nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, bias=True), + nn.LeakyReLU(0.2, True) + ) + + +def conv_woact(in_planes, out_planes, kernel_size=3, stride=1, padding=1, dilation=1): + return nn.Sequential( + nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, bias=True), + ) + + +def deconv(in_planes, out_planes, kernel_size=4, stride=2, padding=1): # pylint: disable=unused-argument + return nn.Sequential( + torch.nn.ConvTranspose2d(in_channels=in_planes, out_channels=out_planes, kernel_size=4, stride=2, padding=1, bias=True), + nn.LeakyReLU(0.2, True) + ) + + +class Conv2(nn.Module): + def __init__(self, in_planes, out_planes, stride=2): + super(Conv2, self).__init__() + self.conv1 = conv(in_planes, out_planes, 3, stride, 1) + self.conv2 = conv(out_planes, out_planes, 3, 1, 1) + + def forward(self, x): + x = self.conv1(x) + x = self.conv2(x) + return x + + +class Contextnet(nn.Module): + def __init__(self): + super(Contextnet, self).__init__() + self.conv1 = Conv2(3, c) + self.conv2 = Conv2(c, 2*c) + self.conv3 = Conv2(2*c, 4*c) + self.conv4 = Conv2(4*c, 8*c) + + def forward(self, x, flow): + x = self.conv1(x) + flow = F.interpolate(flow, scale_factor=0.5, mode="bilinear", align_corners=False) * 0.5 + f1 = warp(x, flow) + x = self.conv2(x) + flow = F.interpolate(flow, scale_factor=0.5, mode="bilinear", align_corners=False) * 0.5 + f2 = warp(x, flow) + x = self.conv3(x) + flow = F.interpolate(flow, scale_factor=0.5, mode="bilinear", align_corners=False) * 0.5 + f3 = warp(x, flow) + x = self.conv4(x) + flow = F.interpolate(flow, scale_factor=0.5, mode="bilinear", align_corners=False) * 0.5 + f4 = warp(x, flow) + return [f1, f2, f3, f4] + + +class Unet(nn.Module): + def __init__(self): + super(Unet, self).__init__() + self.down0 = Conv2(17, 2*c) + self.down1 = Conv2(4*c, 4*c) + self.down2 = Conv2(8*c, 8*c) + self.down3 = Conv2(16*c, 16*c) + self.up0 = deconv(32*c, 8*c) + self.up1 = deconv(16*c, 4*c) + self.up2 = deconv(8*c, 2*c) + self.up3 = deconv(4*c, c) + self.conv = nn.Conv2d(c, 3, 3, 1, 1) + + def forward(self, img0, img1, warped_img0, warped_img1, mask, flow, c0, c1): + s0 = self.down0( + torch.cat((img0, img1, warped_img0, warped_img1, mask, flow), 1)) + s1 = self.down1(torch.cat((s0, c0[0], c1[0]), 1)) + s2 = self.down2(torch.cat((s1, c0[1], c1[1]), 1)) + s3 = self.down3(torch.cat((s2, c0[2], c1[2]), 1)) + x = self.up0(torch.cat((s3, c0[3], c1[3]), 1)) + x = self.up1(torch.cat((x, s2), 1)) + x = self.up2(torch.cat((x, s1), 1)) + x = self.up3(torch.cat((x, s0), 1)) + x = self.conv(x) + return torch.sigmoid(x) diff --git a/modules/rife/rife.py b/modules/rife/rife.py new file mode 100755 index 000000000..249b778cf --- /dev/null +++ b/modules/rife/rife.py @@ -0,0 +1,153 @@ +#!/bin/env python + +import _thread +import argparse +import os +import time +import tempfile +from queue import Queue +import filetype +import cv2 +import numpy as np +import torch +from torch.nn import functional as F +from tqdm.rich import tqdm +from ssim import ssim_matlab +from model_rife import Model +from modules import devices + + +model = None +count = 0 + + +def load(model_path: str = 'rife/flownet-v46.pkl'): + global model # pylint: disable=global-statement + model = Model() + model.load_model(model_path, -1) + model.eval() + model.device() + + +def interpolate(args): # pylint: disable=redefined-outer-name + print('start interpolate') + t0 = time.time() + if model is None: + load(args.model) + videogen = [] + if args.seq is None: + for f in os.listdir(args.input): + fn = os.path.join(args.input, f) + if os.path.isfile(fn) and filetype.is_image(fn): + videogen.append(fn) + else: + files = sorted(os.listdir(args.input)) + current = args.seq + for f in files: + seq = os.path.basename(f).split('-')[0] + if seq.isdigit() and int(seq) == current: + fn = os.path.join(args.input, f) + videogen.append(fn) + current += 1 + + videogen = sorted(videogen) + print(f'inputs: {len(videogen)} {[os.path.basename(f) for f in videogen]}') + # videogen.sort(key=lambda x:int(os.path.basename(x[:-4]))) + frame = cv2.imread(videogen[0], cv2.IMREAD_UNCHANGED)[:, :, ::-1].copy() + h, w, _ = frame.shape + if not os.path.exists(args.output): + os.mkdir(args.output) + + def write(output_dir, buffer): + global count # pylint: disable=global-statement + item = buffer.get() + while item is not None: + cv2.imwrite(f'{output_dir}/{count:0>6d}.jpg', item[:, :, ::-1]) + item = buffer.get() + count += 1 + + def execute(I0, I1, n): + if model.version >= 3.9: + res = [] + for i in range(n): + res.append(model.inference(I0, I1, (i+1) * 1. / (n+1), args.scale)) + return res + else: + middle = model.inference(I0, I1, args.scale) + if n == 1: + return [middle] + first_half = execute(I0, middle, n=n//2) + second_half = execute(middle, I1, n=n//2) + if n % 2: + return [*first_half, middle, *second_half] + else: + return [*first_half, *second_half] + + def pad(img): + return F.pad(img, padding).half() if args.fp16 else F.pad(img, padding) # pylint: disable=not-callable + + tmp = max(128, int(128 / args.scale)) + ph = ((h - 1) // tmp + 1) * tmp + pw = ((w - 1) // tmp + 1) * tmp + padding = (0, pw - w, 0, ph - h) + buffer = Queue(maxsize=8192) + _thread.start_new_thread(write, (args.output, buffer)) + + print(f'padded start: frames={args.buffer}') + for _i in range(args.buffer): # fill starting frames + buffer.put(frame) + + I1 = pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) + with torch.no_grad(): + with tqdm(total=len(videogen), desc='interpolate', unit='frame') as pbar: + for f in videogen: + frame = cv2.imread(f, cv2.IMREAD_UNCHANGED)[:, :, ::-1].copy() + I0 = I1 + I1 = pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) + I0_small = F.interpolate(I0, (32, 32), mode='bilinear', align_corners=False) + I1_small = F.interpolate(I1, (32, 32), mode='bilinear', align_corners=False) + ssim = ssim_matlab(I0_small[:, :3], I1_small[:, :3]) + if ssim > 0.99: # skip duplicate frames + continue + if ssim < args.change: + output = [] + for _i in range(args.buffer): # fill frames if change rate is above threshold + output.append(I0) + for _i in range(args.buffer): + output.append(I1) + else: + output = execute(I0, I1, args.multi-1) + for mid in output: + mid = (((mid[0] * 255.).byte().cpu().numpy().transpose(1, 2, 0))) + buffer.put(mid[:h, :w]) + buffer.put(frame) + pbar.update(1) + + print(f'padded end: frames={args.buffer}') + for _i in range(args.buffer): # fill ending frames + buffer.put(frame) + while not buffer.empty(): + time.sleep(0.5) + t1 = time.time() + print(f'end interpolate: input={len(videogen)} frames={count} time={round(t1 - t0, 2)}') + + +if __name__ == "__main__": + print('starting rife') + tmp_folder = os.path.join(tempfile.gettempdir(), f'rife-{time.strftime("%Y%m%d-%H%M%S")}') + parser = argparse.ArgumentParser(description='interpolate video frames using RIFE') + parser.add_argument('--model', type=str, default=os.path.abspath(os.path.join(os.path.dirname(__file__), 'model/flownet-v46.pkl')), help='path to model, default: %(default)s') + parser.add_argument('--input', type=str, required=True, default=None, help='input directory containing images, default: %(default)s') + parser.add_argument('--output', type=str, default=tmp_folder, help='output directory for interpolated images, default: %(default)s') + parser.add_argument('--scale', type=float, default=1.0, help='scale factor for interpolated images, default: %(default)s') + parser.add_argument('--multi', type=int, default=4, help='number of frames to interpolate between two input images, default: %(default)s') + parser.add_argument('--buffer', type=int, default=2, help='number of frames to buffer on scene change, default: %(default)s') + parser.add_argument('--change', type=float, default=0.3, help='scene change threshold (lower is more sensitive, default: %(default)s') + parser.add_argument('--fp16', action='store_true', help='use float16 precision instead of float32, default: %(default)s') + parser.add_argument('--fps', type=int, default=25, help='desired framerate, default: %(default)s') + parser.add_argument('--seq', type=int, default=None, help='image sequence start number, default: %(default)s') + parser.add_argument('--rm', action='store_true', help='remove interpolated images, default: %(default)s') + args = parser.parse_args() + print('args', args) + assert args.scale in [0.25, 0.5, 1.0, 2.0, 4.0] + interpolate(args) diff --git a/modules/rife/ssim.py b/modules/rife/ssim.py new file mode 100644 index 000000000..e2261ca7a --- /dev/null +++ b/modules/rife/ssim.py @@ -0,0 +1,174 @@ +from math import exp +import torch +import torch.nn.functional as F +from modules import devices + + +def gaussian(window_size, sigma): + gauss = torch.Tensor([exp(-(x - window_size//2)**2/float(2*sigma**2)) for x in range(window_size)]) + return gauss/gauss.sum() + + +def create_window(window_size, channel=1): + _1D_window = gaussian(window_size, 1.5).unsqueeze(1) + _2D_window = _1D_window.mm(_1D_window.t()).float().unsqueeze(0).unsqueeze(0).to(devices.device) + window = _2D_window.expand(channel, 1, window_size, window_size).contiguous() + return window + + +def create_window_3d(window_size, channel=1): + _1D_window = gaussian(window_size, 1.5).unsqueeze(1) + _2D_window = _1D_window.mm(_1D_window.t()) + _3D_window = _2D_window.unsqueeze(2) @ (_1D_window.t()) + window = _3D_window.expand(1, channel, window_size, window_size, window_size).contiguous().to(devices.device) + return window + + +def ssim(img1, img2, window_size=11, window=None, size_average=True, full=False, val_range=None): + # Value range can be different from 255. Other common ranges are 1 (sigmoid) and 2 (tanh). + if val_range is None: + if torch.max(img1) > 128: + max_val = 255 + else: + max_val = 1 + + if torch.min(img1) < -0.5: + min_val = -1 + else: + min_val = 0 + L = max_val - min_val + else: + L = val_range + padd = 0 + (_, channel, height, width) = img1.size() + if window is None: + real_size = min(window_size, height, width) + window = create_window(real_size, channel=channel).to(img1.device) + # mu1 = F.conv2d(img1, window, padding=padd, groups=channel) + # mu2 = F.conv2d(img2, window, padding=padd, groups=channel) + mu1 = F.conv2d(F.pad(img1, (5, 5, 5, 5), mode='replicate'), window, padding=padd, groups=channel) + mu2 = F.conv2d(F.pad(img2, (5, 5, 5, 5), mode='replicate'), window, padding=padd, groups=channel) + mu1_sq = mu1.pow(2) + mu2_sq = mu2.pow(2) + mu1_mu2 = mu1 * mu2 + sigma1_sq = F.conv2d(F.pad(img1 * img1, (5, 5, 5, 5), 'replicate'), window, padding=padd, groups=channel) - mu1_sq + sigma2_sq = F.conv2d(F.pad(img2 * img2, (5, 5, 5, 5), 'replicate'), window, padding=padd, groups=channel) - mu2_sq + sigma12 = F.conv2d(F.pad(img1 * img2, (5, 5, 5, 5), 'replicate'), window, padding=padd, groups=channel) - mu1_mu2 + C1 = (0.01 * L) ** 2 + C2 = (0.03 * L) ** 2 + v1 = 2.0 * sigma12 + C2 + v2 = sigma1_sq + sigma2_sq + C2 + cs = torch.mean(v1 / v2) # contrast sensitivity + ssim_map = ((2 * mu1_mu2 + C1) * v1) / ((mu1_sq + mu2_sq + C1) * v2) + if size_average: + ret = ssim_map.mean() + else: + ret = ssim_map.mean(1).mean(1).mean(1) + if full: + return ret, cs + return ret + + +def ssim_matlab(img1, img2, window_size=11, window=None, size_average=True, full=False, val_range=None): + # Value range can be different from 255. Other common ranges are 1 (sigmoid) and 2 (tanh). + if val_range is None: + if torch.max(img1) > 128: + max_val = 255 + else: + max_val = 1 + if torch.min(img1) < -0.5: + min_val = -1 + else: + min_val = 0 + L = max_val - min_val + else: + L = val_range + padd = 0 + (_, _, height, width) = img1.size() + if window is None: + real_size = min(window_size, height, width) + window = create_window_3d(real_size, channel=1).to(img1.device) + # Channel is set to 1 since we consider color images as volumetric images + img1 = img1.unsqueeze(1) + img2 = img2.unsqueeze(1) + mu1 = F.conv3d(F.pad(img1, (5, 5, 5, 5, 5, 5), mode='replicate'), window, padding=padd, groups=1) + mu2 = F.conv3d(F.pad(img2, (5, 5, 5, 5, 5, 5), mode='replicate'), window, padding=padd, groups=1) + mu1_sq = mu1.pow(2) + mu2_sq = mu2.pow(2) + mu1_mu2 = mu1 * mu2 + sigma1_sq = F.conv3d(F.pad(img1 * img1, (5, 5, 5, 5, 5, 5), 'replicate'), window, padding=padd, groups=1) - mu1_sq + sigma2_sq = F.conv3d(F.pad(img2 * img2, (5, 5, 5, 5, 5, 5), 'replicate'), window, padding=padd, groups=1) - mu2_sq + sigma12 = F.conv3d(F.pad(img1 * img2, (5, 5, 5, 5, 5, 5), 'replicate'), window, padding=padd, groups=1) - mu1_mu2 + C1 = (0.01 * L) ** 2 + C2 = (0.03 * L) ** 2 + v1 = 2.0 * sigma12 + C2 + v2 = sigma1_sq + sigma2_sq + C2 + cs = torch.mean(v1 / v2) # contrast sensitivity + ssim_map = ((2 * mu1_mu2 + C1) * v1) / ((mu1_sq + mu2_sq + C1) * v2) + if size_average: + ret = ssim_map.mean() + else: + ret = ssim_map.mean(1).mean(1).mean(1) + if full: + return ret, cs + return ret + + +def msssim(img1, img2, window_size=11, size_average=True, val_range=None, normalize=False): + local_device = img1.device + weights = torch.FloatTensor([0.0448, 0.2856, 0.3001, 0.2363, 0.1333]).to(local_device) + levels = weights.size()[0] + mssim = [] + mcs = [] + for _ in range(levels): + sim, cs = ssim(img1, img2, window_size=window_size, size_average=size_average, full=True, val_range=val_range) + mssim.append(sim) + mcs.append(cs) + img1 = F.avg_pool2d(img1, (2, 2)) + img2 = F.avg_pool2d(img2, (2, 2)) + mssim = torch.stack(mssim) + mcs = torch.stack(mcs) + # Normalize (to avoid NaNs during training unstable models, not compliant with original definition) + if normalize: + mssim = (mssim + 1) / 2 + mcs = (mcs + 1) / 2 + pow1 = mcs ** weights + pow2 = mssim ** weights + # From Matlab implementation https://ece.uwaterloo.ca/~z70wang/research/iwssim/ + output = torch.prod(pow1[:-1] * pow2[-1]) + return output + + +# Classes to re-use window +class SSIM(torch.nn.Module): + def __init__(self, window_size=11, size_average=True, val_range=None): + super(SSIM, self).__init__() + self.window_size = window_size + self.size_average = size_average + self.val_range = val_range + # Assume 3 channel for SSIM + self.channel = 3 + self.window = create_window(window_size, channel=self.channel) + + def forward(self, img1, img2): + (_, channel, _, _) = img1.size() + if channel == self.channel and self.window.dtype == img1.dtype: + window = self.window + else: + window = create_window(self.window_size, channel).to(img1.device).type(img1.dtype) + self.window = window + self.channel = channel + _ssim = ssim(img1, img2, window=window, window_size=self.window_size, size_average=self.size_average) + dssim = (1 - _ssim) / 2 + return dssim + + +class MSSSIM(torch.nn.Module): + def __init__(self, window_size=11, size_average=True, channel=3): + super(MSSSIM, self).__init__() + self.window_size = window_size + self.size_average = size_average + self.channel = channel + + def forward(self, img1, img2): + return msssim(img1, img2, window_size=self.window_size, size_average=self.size_average) diff --git a/modules/rife/warplayer.py b/modules/rife/warplayer.py new file mode 100644 index 000000000..8a5d6398d --- /dev/null +++ b/modules/rife/warplayer.py @@ -0,0 +1,17 @@ +import torch +from modules import devices + + +backwarp_tenGrid = {} + + +def warp(tenInput, tenFlow): + k = (str(tenFlow.device), str(tenFlow.size())) + if k not in backwarp_tenGrid: + tenHorizontal = torch.linspace(-1.0, 1.0, tenFlow.shape[3], device=devices.device).view(1, 1, 1, tenFlow.shape[3]).expand(tenFlow.shape[0], -1, tenFlow.shape[2], -1) + tenVertical = torch.linspace(-1.0, 1.0, tenFlow.shape[2], device=devices.device).view(1, 1, tenFlow.shape[2], 1).expand(tenFlow.shape[0], -1, -1, tenFlow.shape[3]) + backwarp_tenGrid[k] = torch.cat([tenHorizontal, tenVertical], 1).to(devices.device) + tenFlow = torch.cat([tenFlow[:, 0:1, :, :] / ((tenInput.shape[3] - 1.0) / 2.0), + tenFlow[:, 1:2, :, :] / ((tenInput.shape[2] - 1.0) / 2.0)], 1) + g = (backwarp_tenGrid[k] + tenFlow).permute(0, 2, 3, 1) + return torch.nn.functional.grid_sample(input=tenInput, grid=g, mode='bilinear', padding_mode='border', align_corners=True) From 2552555678bcfcf750ff8bc588813034f802f7f6 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 1 Dec 2023 13:16:23 -0500 Subject: [PATCH 24/42] animatediff live previews and implement interpolate --- modules/images.py | 27 ++++-- modules/rife/__init__.py | 117 ++++++++++++++++++++++++++ modules/rife/model_rife.py | 10 +-- modules/rife/refine.py | 2 +- modules/rife/rife.py | 153 ---------------------------------- modules/rife/warplayer.py | 4 +- modules/sd_samplers_common.py | 3 + scripts/animatediff.py | 35 +++++--- 8 files changed, 166 insertions(+), 185 deletions(-) create mode 100644 modules/rife/__init__.py delete mode 100755 modules/rife/rife.py diff --git a/modules/images.py b/modules/images.py index b15b2bd04..461490806 100644 --- a/modules/images.py +++ b/modules/images.py @@ -621,23 +621,31 @@ def save_image(image, path, basename='', seed=None, prompt=None, extension=share return params.filename, filename_txt -def save_video_atomic(images, video_type, filename, duration, loop): +def save_video_atomic(images, filename, video_type: str = 'none', duration: float = 2.0, loop: bool = False, interpolate: int = 0, scale: float = 1.0, pad: int = 1, change: float = 0.3): try: import cv2 except Exception as e: shared.log.error(f'Save video: cv2: {e}') return os.makedirs(os.path.dirname(filename), exist_ok=True) - if video_type == 'mp4': - video_frames = [np.array(frame) for frame in images] + if video_type.lower() == 'mp4': + frames = images + if interpolate > 0: + try: + import modules.rife + frames = modules.rife.interpolate(images, count=interpolate, scale=scale, pad=pad, change=change) + except Exception as e: + shared.log.error(f'RIFE interpolation: {e}') + errors.display(e, 'RIFE interpolation') + video_frames = [np.array(frame) for frame in frames] fourcc = "mp4v" h, w, _c = video_frames[0].shape - video_writer = cv2.VideoWriter(filename, fourcc=cv2.VideoWriter_fourcc(*fourcc), fps=len(images)/duration, frameSize=(w, h)) + video_writer = cv2.VideoWriter(filename, fourcc=cv2.VideoWriter_fourcc(*fourcc), fps=len(frames)/duration, frameSize=(w, h)) for i in range(len(video_frames)): img = cv2.cvtColor(video_frames[i], cv2.COLOR_RGB2BGR) video_writer.write(img) - shared.log.info(f'Save video: file="{filename}" frames={len(images)} duration={duration} fourcc={fourcc}') - if video_type == 'gif': + shared.log.info(f'Save video: file="{filename}" frames={len(frames)} duration={duration} fourcc={fourcc}') + if video_type.lower() == 'gif' or video_type.lower() == 'png': append = images.copy() image = append.pop(0) if loop: @@ -654,8 +662,8 @@ def save_video_atomic(images, video_type, filename, duration, loop): shared.log.info(f'Save video: file="{filename}" frames={len(append) + 1} duration={duration} loop={loop}') -def save_video(p, images, video_type, filename = None, duration = 2, loop = True): - if images is None or len(images) < 2: +def save_video(p, images, filename = None, video_type: str = 'none', duration: float = 2.0, loop: bool = False, interpolate: int = 0, scale: float = 1.0, pad: int = 1, change: float = 0.3): + if images is None or len(images) < 2 or video_type is None or video_type.lower() == 'none': return image = images[0] namegen = FilenameGenerator(p, seed=p.all_seeds[0], prompt=p.all_prompts[0], image=image) @@ -663,7 +671,8 @@ def save_video(p, images, video_type, filename = None, duration = 2, loop = True filename = namegen.apply(shared.opts.samples_filename_pattern if shared.opts.samples_filename_pattern and len(shared.opts.samples_filename_pattern) > 0 else "[seq]-[prompt_words]") filename = namegen.sanitize(os.path.join(shared.opts.outdir_video, filename)) filename = namegen.sequence(filename, shared.opts.outdir_video, '') - threading.Thread(target=save_video_atomic, args=(images, video_type, f'{filename}.{video_type}', duration, loop)).start() + filename = f'{filename}.{video_type.lower()}' + threading.Thread(target=save_video_atomic, args=(images, filename, video_type, duration, loop, interpolate, scale, pad, change)).start() def safe_decode_string(s: bytes): diff --git a/modules/rife/__init__.py b/modules/rife/__init__.py new file mode 100644 index 000000000..a7db7d9a2 --- /dev/null +++ b/modules/rife/__init__.py @@ -0,0 +1,117 @@ +#!/bin/env python + +import _thread +import os +import time +from queue import Queue +import cv2 +import numpy as np +import torch +from PIL import Image +from torch.nn import functional as F +from tqdm.rich import tqdm +from modules.rife.ssim import ssim_matlab +from modules.rife.model_rife import Model +from modules import devices, shared + + +model_url = 'https://github.com/vladmandic/rife/raw/main/model/flownet-v46.pkl' +model = None + + +def load(model_path: str = 'rife/flownet-v46.pkl'): + global model # pylint: disable=global-statement + if model is None: + from modules import modelloader + model_dir = os.path.join(shared.models_path, 'RIFE') + model_path = modelloader.load_file_from_url(url=model_url, model_dir=model_dir, file_name='flownet-v46.pkl') + shared.log.debug(f'RIFE load model: file="{model_path}"') + model = Model() + model.load_model(model_path, -1) + model.eval() + model.device() + + +def interpolate(images: list, count: int = 2, scale: float = 1.0, pad: int = 1, change: float = 0.3): + if images is None or len(images) < 2: + return [] + if model is None: + load() + interpolated = [] + h = images[0].height + w = images[0].width + t0 = time.time() + + def write(buffer): + item = buffer.get() + while item is not None: + img = item[:, :, ::-1] + # image = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) + image = Image.fromarray(img) + item = buffer.get() + interpolated.append(image) + + def execute(I0, I1, n): + if model.version >= 3.9: + res = [] + for i in range(n): + res.append(model.inference(I0, I1, (i+1) * 1. / (n+1), scale)) + return res + else: + middle = model.inference(I0, I1, scale) + if n == 1: + return [middle] + first_half = execute(I0, middle, n=n//2) + second_half = execute(middle, I1, n=n//2) + if n % 2: + return [*first_half, middle, *second_half] + else: + return [*first_half, *second_half] + + def f_pad(img): + return F.pad(img, padding).to(devices.dtype) # pylint: disable=not-callable + + tmp = max(128, int(128 / scale)) + ph = ((h - 1) // tmp + 1) * tmp + pw = ((w - 1) // tmp + 1) * tmp + padding = (0, pw - w, 0, ph - h) + buffer = Queue(maxsize=8192) + _thread.start_new_thread(write, (buffer,)) + + frame = cv2.cvtColor(np.array(images[0]), cv2.COLOR_RGB2BGR) + for _i in range(pad): # fill starting frames + buffer.put(frame) + + I1 = f_pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) + with torch.no_grad(): + with tqdm(total=len(images), desc='Interpolate', unit='frame') as pbar: + for image in images: + frame = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR) + I0 = I1 + I1 = f_pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) + I0_small = F.interpolate(I0, (32, 32), mode='bilinear', align_corners=False).to(torch.float32) + I1_small = F.interpolate(I1, (32, 32), mode='bilinear', align_corners=False).to(torch.float32) + ssim = ssim_matlab(I0_small[:, :3], I1_small[:, :3]) + if ssim > 0.99: # skip duplicate frames + continue + if ssim < change: + output = [] + for _i in range(pad): # fill frames if change rate is above threshold + output.append(I0) + for _i in range(pad): + output.append(I1) + else: + output = execute(I0, I1, count-1) + for mid in output: + mid = (((mid[0] * 255.).byte().cpu().numpy().transpose(1, 2, 0))) + buffer.put(mid[:h, :w]) + buffer.put(frame) + pbar.update(1) + + for _i in range(pad): # fill ending frames + buffer.put(frame) + while not buffer.empty(): + time.sleep(0.1) + t1 = time.time() + shared.log.info(f'RIFE interpolate: input={len(images)} frames={len(interpolated)} resolution={w}x{h} interpolate={count} scale={scale} pad={pad} change={change} time={round(t1 - t0, 2)}') + return interpolated diff --git a/modules/rife/model_rife.py b/modules/rife/model_rife.py index 4084db6df..ce8c363cd 100644 --- a/modules/rife/model_rife.py +++ b/modules/rife/model_rife.py @@ -1,8 +1,8 @@ import torch from torch.optim import AdamW from torch.nn.parallel import DistributedDataParallel as DDP -from model_ifnet import IFNet -from loss import EPE, SOBEL +from modules.rife.model_ifnet import IFNet +from modules.rife.loss import EPE, SOBEL from modules import devices @@ -31,11 +31,7 @@ class Model: def load_model(self, model_file, rank=0): def convert(param): if rank == -1: - return { - k.replace("module.", ""): v - for k, v in param.items() - if "module." in k - } + return { k.replace("module.", ""): v for k, v in param.items() if "module." in k } else: return param if rank <= 0: diff --git a/modules/rife/refine.py b/modules/rife/refine.py index fae3ddc5c..a66488345 100644 --- a/modules/rife/refine.py +++ b/modules/rife/refine.py @@ -1,7 +1,7 @@ import torch import torch.nn as nn import torch.nn.functional as F -from warplayer import warp +from modules.rife.warplayer import warp c = 16 diff --git a/modules/rife/rife.py b/modules/rife/rife.py deleted file mode 100755 index 249b778cf..000000000 --- a/modules/rife/rife.py +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/env python - -import _thread -import argparse -import os -import time -import tempfile -from queue import Queue -import filetype -import cv2 -import numpy as np -import torch -from torch.nn import functional as F -from tqdm.rich import tqdm -from ssim import ssim_matlab -from model_rife import Model -from modules import devices - - -model = None -count = 0 - - -def load(model_path: str = 'rife/flownet-v46.pkl'): - global model # pylint: disable=global-statement - model = Model() - model.load_model(model_path, -1) - model.eval() - model.device() - - -def interpolate(args): # pylint: disable=redefined-outer-name - print('start interpolate') - t0 = time.time() - if model is None: - load(args.model) - videogen = [] - if args.seq is None: - for f in os.listdir(args.input): - fn = os.path.join(args.input, f) - if os.path.isfile(fn) and filetype.is_image(fn): - videogen.append(fn) - else: - files = sorted(os.listdir(args.input)) - current = args.seq - for f in files: - seq = os.path.basename(f).split('-')[0] - if seq.isdigit() and int(seq) == current: - fn = os.path.join(args.input, f) - videogen.append(fn) - current += 1 - - videogen = sorted(videogen) - print(f'inputs: {len(videogen)} {[os.path.basename(f) for f in videogen]}') - # videogen.sort(key=lambda x:int(os.path.basename(x[:-4]))) - frame = cv2.imread(videogen[0], cv2.IMREAD_UNCHANGED)[:, :, ::-1].copy() - h, w, _ = frame.shape - if not os.path.exists(args.output): - os.mkdir(args.output) - - def write(output_dir, buffer): - global count # pylint: disable=global-statement - item = buffer.get() - while item is not None: - cv2.imwrite(f'{output_dir}/{count:0>6d}.jpg', item[:, :, ::-1]) - item = buffer.get() - count += 1 - - def execute(I0, I1, n): - if model.version >= 3.9: - res = [] - for i in range(n): - res.append(model.inference(I0, I1, (i+1) * 1. / (n+1), args.scale)) - return res - else: - middle = model.inference(I0, I1, args.scale) - if n == 1: - return [middle] - first_half = execute(I0, middle, n=n//2) - second_half = execute(middle, I1, n=n//2) - if n % 2: - return [*first_half, middle, *second_half] - else: - return [*first_half, *second_half] - - def pad(img): - return F.pad(img, padding).half() if args.fp16 else F.pad(img, padding) # pylint: disable=not-callable - - tmp = max(128, int(128 / args.scale)) - ph = ((h - 1) // tmp + 1) * tmp - pw = ((w - 1) // tmp + 1) * tmp - padding = (0, pw - w, 0, ph - h) - buffer = Queue(maxsize=8192) - _thread.start_new_thread(write, (args.output, buffer)) - - print(f'padded start: frames={args.buffer}') - for _i in range(args.buffer): # fill starting frames - buffer.put(frame) - - I1 = pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) - with torch.no_grad(): - with tqdm(total=len(videogen), desc='interpolate', unit='frame') as pbar: - for f in videogen: - frame = cv2.imread(f, cv2.IMREAD_UNCHANGED)[:, :, ::-1].copy() - I0 = I1 - I1 = pad(torch.from_numpy(np.transpose(frame, (2,0,1))).to(devices.device, non_blocking=True).unsqueeze(0).float() / 255.) - I0_small = F.interpolate(I0, (32, 32), mode='bilinear', align_corners=False) - I1_small = F.interpolate(I1, (32, 32), mode='bilinear', align_corners=False) - ssim = ssim_matlab(I0_small[:, :3], I1_small[:, :3]) - if ssim > 0.99: # skip duplicate frames - continue - if ssim < args.change: - output = [] - for _i in range(args.buffer): # fill frames if change rate is above threshold - output.append(I0) - for _i in range(args.buffer): - output.append(I1) - else: - output = execute(I0, I1, args.multi-1) - for mid in output: - mid = (((mid[0] * 255.).byte().cpu().numpy().transpose(1, 2, 0))) - buffer.put(mid[:h, :w]) - buffer.put(frame) - pbar.update(1) - - print(f'padded end: frames={args.buffer}') - for _i in range(args.buffer): # fill ending frames - buffer.put(frame) - while not buffer.empty(): - time.sleep(0.5) - t1 = time.time() - print(f'end interpolate: input={len(videogen)} frames={count} time={round(t1 - t0, 2)}') - - -if __name__ == "__main__": - print('starting rife') - tmp_folder = os.path.join(tempfile.gettempdir(), f'rife-{time.strftime("%Y%m%d-%H%M%S")}') - parser = argparse.ArgumentParser(description='interpolate video frames using RIFE') - parser.add_argument('--model', type=str, default=os.path.abspath(os.path.join(os.path.dirname(__file__), 'model/flownet-v46.pkl')), help='path to model, default: %(default)s') - parser.add_argument('--input', type=str, required=True, default=None, help='input directory containing images, default: %(default)s') - parser.add_argument('--output', type=str, default=tmp_folder, help='output directory for interpolated images, default: %(default)s') - parser.add_argument('--scale', type=float, default=1.0, help='scale factor for interpolated images, default: %(default)s') - parser.add_argument('--multi', type=int, default=4, help='number of frames to interpolate between two input images, default: %(default)s') - parser.add_argument('--buffer', type=int, default=2, help='number of frames to buffer on scene change, default: %(default)s') - parser.add_argument('--change', type=float, default=0.3, help='scene change threshold (lower is more sensitive, default: %(default)s') - parser.add_argument('--fp16', action='store_true', help='use float16 precision instead of float32, default: %(default)s') - parser.add_argument('--fps', type=int, default=25, help='desired framerate, default: %(default)s') - parser.add_argument('--seq', type=int, default=None, help='image sequence start number, default: %(default)s') - parser.add_argument('--rm', action='store_true', help='remove interpolated images, default: %(default)s') - args = parser.parse_args() - print('args', args) - assert args.scale in [0.25, 0.5, 1.0, 2.0, 4.0] - interpolate(args) diff --git a/modules/rife/warplayer.py b/modules/rife/warplayer.py index 8a5d6398d..abcd6aa5c 100644 --- a/modules/rife/warplayer.py +++ b/modules/rife/warplayer.py @@ -13,5 +13,5 @@ def warp(tenInput, tenFlow): backwarp_tenGrid[k] = torch.cat([tenHorizontal, tenVertical], 1).to(devices.device) tenFlow = torch.cat([tenFlow[:, 0:1, :, :] / ((tenInput.shape[3] - 1.0) / 2.0), tenFlow[:, 1:2, :, :] / ((tenInput.shape[2] - 1.0) / 2.0)], 1) - g = (backwarp_tenGrid[k] + tenFlow).permute(0, 2, 3, 1) - return torch.nn.functional.grid_sample(input=tenInput, grid=g, mode='bilinear', padding_mode='border', align_corners=True) + grid = (backwarp_tenGrid[k] + tenFlow).permute(0, 2, 3, 1).to(devices.dtype) + return torch.nn.functional.grid_sample(input=tenInput, grid=grid, mode='bilinear', padding_mode='border', align_corners=True) diff --git a/modules/sd_samplers_common.py b/modules/sd_samplers_common.py index dfac73eb2..dd24d42ae 100644 --- a/modules/sd_samplers_common.py +++ b/modules/sd_samplers_common.py @@ -31,12 +31,15 @@ def setup_img2img_steps(p, steps=None): def single_sample_to_image(sample, approximation=None): + # sample should be [4,64,64] if approximation is None: approximation = approximation_indexes.get(shared.opts.show_progress_type, None) if approximation is None: warn_once('Unknown decode type, please reset preview method') approximation = 0 + if len(sample.shape) == 4 and sample.shape[0]: # likely animatediff latent + sample = sample.permute(1, 0, 2, 3)[0] if approximation == 0: # Simple x_sample = sd_vae_approx.cheap_approximation(sample) * 0.5 + 0.5 elif approximation == 1: # Approximate diff --git a/scripts/animatediff.py b/scripts/animatediff.py index 21b51f683..7b61308c1 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -106,8 +106,16 @@ class Script(scripts.Script): def show(self, _is_img2img): return scripts.AlwaysVisible if shared.backend == shared.Backend.DIFFUSERS else False - # return signature is array of gradio components + def ui(self, _is_img2img): + def video_type_change(video_type): + return [ + gr.update(visible=video_type != 'None'), + gr.update(visible=video_type == 'GIF' or video_type == 'PNG'), + gr.update(visible=video_type == 'MP4'), + gr.update(visible=video_type == 'MP4'), + ] + with gr.Accordion('AnimateDiff', open=False, elem_id='animatediff'): with gr.Row(): adapter_index = gr.Dropdown(label='Adapter', choices=list(ADAPTERS), value='None') @@ -118,19 +126,22 @@ class Script(scripts.Script): with gr.Row(): latent_mode = gr.Checkbox(label='Latent mode', value=False) with gr.Row(): - create_gif = gr.Checkbox(label='GIF', value=False) - create_mp4 = gr.Checkbox(label='MP4', value=False) - loop = gr.Checkbox(label='Loop', value=True) - duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2) - return [adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop] + video_type = gr.Dropdown(label='Video file', choices=['None', 'GIF', 'PNG', 'MP4'], value='None') + duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2, visible=False) + with gr.Row(): + gif_loop = gr.Checkbox(label='Loop', value=True, visible=False) + mp4_pad = gr.Slider(label='Pad frames', minimum=0, maximum=24, step=1, value=1, visible=False) + mp4_interpolate = gr.Slider(label='Interpolate frames', minimum=0, maximum=24, step=1, value=0, visible=False) + video_type.change(fn=video_type_change, inputs=[video_type], outputs=[duration, gif_loop, mp4_pad, mp4_interpolate]) + return [adapter_index, frames, lora_index, strength, latent_mode, video_type, duration, gif_loop, mp4_pad, mp4_interpolate] - def process(self, p: processing.StableDiffusionProcessing, adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument + def process(self, p: processing.StableDiffusionProcessing, adapter_index, frames, lora_index, strength, latent_mode, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument adapter = ADAPTERS[adapter_index] lora = LORAS[lora_index] set_adapter(adapter) if motion_adapter is None: return - shared.log.debug(f'AnimateDiff: adapter="{adapter}" lora="{lora}" strength={strength} gif={create_gif} mp4={create_mp4}') + shared.log.debug(f'AnimateDiff: adapter="{adapter}" lora="{lora}" strength={strength} video={video_type}') if lora is not None and lora != 'None': shared.sd_model.load_lora_weights(lora, adapter_name=lora) shared.sd_model.set_adapters([lora], adapter_weights=[strength]) @@ -142,9 +153,7 @@ class Script(scripts.Script): if not latent_mode: p.task_args['output_type'] = 'np' - def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, latent_mode, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument + def postprocess(self, p: processing.StableDiffusionProcessing, processed: processing.Processed, adapter_index, frames, lora_index, strength, latent_mode, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument from modules.images import save_video - if create_gif: - save_video(p, images=processed.images, video_type='gif', duration=duration, loop=loop) - if create_mp4: - save_video(p, images=processed.images, video_type='mp4', duration=duration, loop=loop) + if video_type != 'None': + save_video(p, filename=None, images=processed.images, video_type=video_type, duration=duration, loop=gif_loop, pad=mp4_pad, interpolate=mp4_interpolate) From 57e8f57c20a27f1f0c0eb29ed9f05c1cc3d079a7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 1 Dec 2023 13:40:26 -0500 Subject: [PATCH 25/42] enable rife with svd --- scripts/stablevideodiffusion.py | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/scripts/stablevideodiffusion.py b/scripts/stablevideodiffusion.py index 612b184a2..16077cc2c 100644 --- a/scripts/stablevideodiffusion.py +++ b/scripts/stablevideodiffusion.py @@ -15,6 +15,14 @@ class Script(scripts.Script): # return signature is array of gradio components def ui(self, _is_img2img): + def video_type_change(video_type): + return [ + gr.update(visible=video_type != 'None'), + gr.update(visible=video_type == 'GIF' or video_type == 'PNG'), + gr.update(visible=video_type == 'MP4'), + gr.update(visible=video_type == 'MP4'), + ] + with gr.Row(): num_frames = gr.Slider(label='Frames', minimum=1, maximum=50, step=1, value=14) min_guidance_scale = gr.Slider(label='Min guidance', minimum=0.0, maximum=10.0, step=0.1, value=1.0) @@ -25,13 +33,17 @@ class Script(scripts.Script): noise_aug_strength = gr.Slider(label='Noise strength', minimum=0.0, maximum=1.0, step=0.01, value=0.1) with gr.Row(): override_resolution = gr.Checkbox(label='Override resolution', value=True) - create_gif = gr.Checkbox(label='GIF', value=False) - create_mp4 = gr.Checkbox(label='MP4', value=False) - loop = gr.Checkbox(label='Loop', value=True) - duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2) - return [num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, create_gif, create_mp4, duration, loop] + with gr.Row(): + video_type = gr.Dropdown(label='Video file', choices=['None', 'GIF', 'PNG', 'MP4'], value='None') + duration = gr.Slider(label='Duration', minimum=0.25, maximum=10, step=0.25, value=2, visible=False) + with gr.Row(): + gif_loop = gr.Checkbox(label='Loop', value=True, visible=False) + mp4_pad = gr.Slider(label='Pad frames', minimum=0, maximum=24, step=1, value=1, visible=False) + mp4_interpolate = gr.Slider(label='Interpolate frames', minimum=0, maximum=24, step=1, value=0, visible=False) + video_type.change(fn=video_type_change, inputs=[video_type], outputs=[duration, gif_loop, mp4_pad, mp4_interpolate]) + return [num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, video_type, duration, gif_loop, mp4_pad, mp4_interpolate] - def run(self, p: processing.StableDiffusionProcessing, num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, create_gif, create_mp4, duration, loop): # pylint: disable=arguments-differ, unused-argument + def run(self, p: processing.StableDiffusionProcessing, num_frames, override_resolution, min_guidance_scale, max_guidance_scale, decode_chunk_size, motion_bucket_id, noise_aug_strength, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument if shared.sd_model is None or shared.sd_model.__class__.__name__ != 'StableVideoDiffusionPipeline': return None if hasattr(p, 'init_images') and len(p.init_images) > 0: @@ -58,10 +70,8 @@ class Script(scripts.Script): shared.log.debug(f'StableVideo: args={p.task_args}') shared.sd_model = sd_models.set_diffuser_pipe(shared.sd_model, sd_models.DiffusersTaskType.IMAGE_2_IMAGE) processed = processing.process_images(p) - if create_gif: - images.save_video(p, images=processed.images, video_type='gif', duration=duration, loop=loop) - if create_mp4: - images.save_video(p, images=processed.images, video_type='mp4', duration=duration, loop=loop) + if video_type != 'None': + images.save_video(p, filename=None, images=processed.images, video_type=video_type, duration=duration, loop=gif_loop, pad=mp4_pad, interpolate=mp4_interpolate) return processed else: shared.log.error('StableVideo: no init_images') From 7d8b219a26d671b38909531beb63209952ab7c23 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 1 Dec 2023 13:54:15 -0500 Subject: [PATCH 26/42] update changelog --- CHANGELOG.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a5b138854..409fd10e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,9 @@ # Change Log for SD.Next -## Update for 2023-11-30 +## Update for 2023-12-01 + +What's new? Native video in SD.Next via both **AnimateDiff** and **Stable-Video-Diffusion** - and including native MP4 encoding and smooth video outputs out-of-the-box, not just animated-GIFs. +Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and cool latent correction via **HDR controls** for any *txt2img* workflows, best-of-class **SDXL model merge** using full ReBasin methods and further mobile UI optimizations. - **Diffusers** - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) @@ -16,7 +19,7 @@ - lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* - supports SD 1.5 only - models are auto-downloaded on first use - - can create animated GIF and MP4 video files + - for video saving support, see video support section - can be combined with IP-Adapter for even better results! - for AnimateDiff support in *Original* backend, use standard *AnimateDiff* extension - [SDXL Turbo](https://huggingface.co/stabilityai/sdxl-turbo) support @@ -26,6 +29,7 @@ - [Stable Video Diffusion](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid) and [Stable Video Diffusion XT](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid-xt) support - download using built-in model downloader or simply select from *networks -> reference* support for manually downloaded safetensors models will be added later + - for video saving support, see video support section - go to *image* tab, enter input image and select *script* -> *stable video diffusion* - [Kandinsky 3](https://huggingface.co/kandinsky-community/kandinsky-3) support - download using built-in model downloader or simply select from *networks -> reference* @@ -36,7 +40,11 @@ - support long seconary prompt for refiner - **Video support** - applies to any model that supports video generation, e.g. AnimateDiff and StableVideoDiffusion - - support for GIF and MP4 + - support for **animated-GIF**, **animated-PNG** and **MP4** + - GIF and PNG can be looped + - MP4 can have additional padding at the start/end as well as motion-aware interpolated frames for smooth playback + interpolation is done using [RIFE](https://arxiv.org/abs/2011.06294) with native implementation in SD.Next + And its fast - interpolation from 16 frames with 10x frames to target 160 frames results takes 2-3sec - output folder for videos is in *settings -> image paths -> video* - **General** - **model merge** add **SD-XL ReBasin** support, thanks @AI-Casanova From f57ed2bc8fe64ab3c855adaf5d8585eeccfa07f9 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Fri, 1 Dec 2023 14:06:19 -0500 Subject: [PATCH 27/42] update readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index e707fc63c..2f22500ca 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Additional models will be added as they become available and there is public int - [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 Video Diffusion Base and XT](https://huggingface.co/stabilityai/stable-video-diffusion-img2vid) - [Segmind SSD-1B](https://huggingface.co/segmind/SSD-1B) - [LCM: Latent Consistency Models](https://github.com/openai/consistency_models) - [Kandinsky](https://github.com/ai-forever/Kandinsky-2) *2.1 and 2.2 and latest 3.0* @@ -69,6 +70,12 @@ Additional models will be added as they become available and there is public int - [DeepFloyd IF](https://github.com/deep-floyd/IF) *Medium and Large* - [Segmind SD Distilled](https://huggingface.co/blog/sd_distillation) *(all variants)* +Also supported are modifiers such as: +- **LCM** and **Turbo** (Adversarial Diffusion Distillation) networks +- All **LoRA** types such as LoCon, LyCORIS, HADA, IA3, Lokr, OFT +- **AnimateDiff** for SD 1.5 +- **IP-Adapters** for SD 1.5 and SD-XL + > [!IMPORTANT] > - Loading any model other than standard SD 1.x / SD 2.x requires use of backend **Diffusers** > - Loading any other models using **Original** backend is not supproted From 960381210ff30a1f81ea93bf30d86ff545495236 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sat, 2 Dec 2023 01:08:02 +0300 Subject: [PATCH 28/42] IPEX fix UntypedStorage and Generator --- modules/intel/ipex/__init__.py | 1 + modules/intel/ipex/hijacks.py | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/modules/intel/ipex/__init__.py b/modules/intel/ipex/__init__.py index 40c6551fe..cbadd14fc 100644 --- a/modules/intel/ipex/__init__.py +++ b/modules/intel/ipex/__init__.py @@ -31,6 +31,7 @@ def ipex_init(): # pylint: disable=too-many-statements torch.cuda.FloatTensor = torch.xpu.FloatTensor torch.Tensor.cuda = torch.Tensor.xpu torch.Tensor.is_cuda = torch.Tensor.is_xpu + torch.UntypedStorage.cuda = torch.UntypedStorage.xpu torch.cuda._initialization_lock = torch.xpu.lazy_init._initialization_lock torch.cuda._initialized = torch.xpu.lazy_init._initialized torch.cuda._lazy_seed_tracker = torch.xpu.lazy_init._lazy_seed_tracker diff --git a/modules/intel/ipex/hijacks.py b/modules/intel/ipex/hijacks.py index 432e805de..cdd83cea8 100644 --- a/modules/intel/ipex/hijacks.py +++ b/modules/intel/ipex/hijacks.py @@ -93,13 +93,25 @@ def linalg_solve(A, B, *args, **kwargs): # pylint: disable=invalid-name else: return original_linalg_solve(A, B, *args, **kwargs) +def is_cuda(self): + return self.device.type == 'xpu' + def ipex_hijacks(): + CondFunc('torch.tensor', + lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), + lambda orig_func, *args, device=None, **kwargs: check_device(device)) CondFunc('torch.Tensor.to', lambda orig_func, self, device=None, *args, **kwargs: orig_func(self, return_xpu(device), *args, **kwargs), lambda orig_func, self, device=None, *args, **kwargs: check_device(device)) CondFunc('torch.Tensor.cuda', lambda orig_func, self, device=None, *args, **kwargs: orig_func(self, return_xpu(device), *args, **kwargs), lambda orig_func, self, device=None, *args, **kwargs: check_device(device)) + CondFunc('torch.UntypedStorage.__init__', + lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), + lambda orig_func, *args, device=None, **kwargs: check_device(device)) + CondFunc('torch.UntypedStorage.cuda', + lambda orig_func, self, device=None, *args, **kwargs: orig_func(self, return_xpu(device), *args, **kwargs), + lambda orig_func, self, device=None, *args, **kwargs: check_device(device)) CondFunc('torch.empty', lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), lambda orig_func, *args, device=None, **kwargs: check_device(device)) @@ -112,9 +124,6 @@ def ipex_hijacks(): CondFunc('torch.zeros', lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), lambda orig_func, *args, device=None, **kwargs: check_device(device)) - CondFunc('torch.tensor', - lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), - lambda orig_func, *args, device=None, **kwargs: check_device(device)) CondFunc('torch.linspace', lambda orig_func, *args, device=None, **kwargs: orig_func(*args, device=return_xpu(device), **kwargs), lambda orig_func, *args, device=None, **kwargs: check_device(device)) @@ -124,7 +133,7 @@ def ipex_hijacks(): lambda orig_func, f, map_location=None, pickle_module=None, *, weights_only=False, mmap=None, **kwargs: check_device(map_location)) CondFunc('torch.Generator', - lambda orig_func, device=None: torch.xpu.Generator(device), + lambda orig_func, device=None: torch.xpu.Generator(return_xpu(device)), lambda orig_func, device=None: device is not None and device != torch.device("cpu") and device != "cpu") #TiledVAE and ControlNet: @@ -180,5 +189,6 @@ def ipex_hijacks(): torch.autocast = ipex_autocast torch.cat = torch_cat torch.linalg.solve = linalg_solve + torch.UntypedStorage.is_cuda = is_cuda torch.nn.functional.interpolate = interpolate torch.backends.cuda.sdp_kernel = return_null_context From 0f19c53eed7b464b3b622a01a52d8f633a5e3f9c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 2 Dec 2023 08:10:02 -0500 Subject: [PATCH 29/42] improve animatediff and ipadapter load/unload --- scripts/animatediff.py | 25 ++++++++++++++----------- scripts/ipadapter.py | 12 +++--------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/scripts/animatediff.py b/scripts/animatediff.py index 7b61308c1..aced2b9eb 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -2,10 +2,7 @@ Lightweight AnimateDiff implementation in Diffusers Docs: TODO: -- Use latents and update VAE decode - SDXL -- MP4 with RIFE -- IP Adapter - Custom models - Custom LORAs - Enable second pass @@ -22,8 +19,8 @@ from modules import scripts, processing, shared, devices, sd_models ADAPTERS = { 'None': None, 'Motion 1.4': 'guoyww/animatediff-motion-adapter-v1-4', - 'Motion 1.5': 'guoyww/animatediff-motion-adapter-v1-5', - 'Motion 1.5.2' :'guoyww/animatediff-motion-adapter-v1-5-2', + 'Motion 1.5 v1': 'guoyww/animatediff-motion-adapter-v1-5', + 'Motion 1.5 v2' :'guoyww/animatediff-motion-adapter-v1-5-2', 'TemporalDiff': 'vladmandic/temporaldiff', 'AnimateFace': 'vladmandic/animateface', } @@ -40,19 +37,19 @@ LORAS = { } # state -motion_adapter = None -loaded_adapter = None -orig_pipe = None +motion_adapter = None # instance of diffusers.MotionAdapter +loaded_adapter = None # name of loaded adapter +orig_pipe = None # original sd_model pipeline -def set_adapter(name: str = None): +def set_adapter(adapter_name: str = 'None'): if shared.sd_model is None: return if shared.backend != shared.Backend.DIFFUSERS: shared.log.warning('AnimateDiff: not in diffusers mode') return global motion_adapter, loaded_adapter, orig_pipe # pylint: disable=global-statement - adapter_name = name if name is not None and isinstance(name, str) else loaded_adapter + # adapter_name = name if name is not None and isinstance(name, str) else loaded_adapter if adapter_name is None or adapter_name == 'None' or shared.sd_model is None: motion_adapter = None loaded_adapter = None @@ -64,11 +61,17 @@ def set_adapter(name: str = None): if shared.sd_model_type != 'sd': shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') return - if motion_adapter is not None and loaded_adapter == adapter_name: + if motion_adapter is not None and loaded_adapter == adapter_name and shared.sd_model.__class__.__name__ == 'AnimateDiffPipeline': shared.log.debug(f'AnimateDiff cache: adapter="{adapter_name}"') return + if getattr(shared.sd_model, 'image_encoder', None) is not None: + shared.log.debug('AnimateDiff: unloading IP adapter') + # shared.sd_model.image_encoder = None + shared.sd_model.unet.set_default_attn_processor() + shared.sd_model.unet.config.encoder_hid_dim_type = None try: shared.log.info(f'AnimateDiff load: adapter="{adapter_name}"') + motion_adapter = None motion_adapter = diffusers.MotionAdapter.from_pretrained(adapter_name, cache_dir=shared.opts.diffusers_dir, torch_dtype=devices.dtype, low_cpu_mem_usage=False, device_map=None) motion_adapter.to(shared.device) sd_models.set_diffuser_options(motion_adapter, vae=None, op='adapter') diff --git a/scripts/ipadapter.py b/scripts/ipadapter.py index c3fa9b6a5..797ff2785 100644 --- a/scripts/ipadapter.py +++ b/scripts/ipadapter.py @@ -6,7 +6,6 @@ Lightweight IP-Adapter applied to existing pipeline in Diffusers TODO: - Additional IP addapters - SD/SDXL autodetect -- Support for AnimateDiff """ import gradio as gr @@ -31,17 +30,12 @@ ADAPTERS = [ class Script(scripts.Script): - # see below for all available options and callbacks - # - def title(self): return 'IP Adapter' def show(self, is_img2img): - return scripts.AlwaysVisible if shared.backend == shared.Backend.DIFFUSERS else False - # return signature is array of gradio components def ui(self, _is_img2img): with gr.Accordion('IP Adapter', open=False, elem_id='ipadapter'): with gr.Row(): @@ -56,7 +50,7 @@ class Script(scripts.Script): from transformers import CLIPVisionModelWithProjection # init code - global loaded # pylint: disable=global-statement + global loaded, image_encoder # pylint: disable=global-statement if shared.sd_model is None: return if shared.backend != shared.Backend.DIFFUSERS: @@ -85,7 +79,6 @@ class Script(scripts.Script): else: shared.log.error(f'IP adapter: unsupported model type: {shared.sd_model_type}') return - global image_encoder # pylint: disable=global-statement if image_encoder is None: try: image_encoder = CLIPVisionModelWithProjection.from_pretrained("h94/IP-Adapter", subfolder=subfolder, torch_dtype=torch.float16, cache_dir=shared.opts.diffusers_dir, use_safetensors=True).to(devices.device) @@ -95,10 +88,11 @@ class Script(scripts.Script): # main code subfolder, model = adapter.split('/') - if model != loaded: + if model != loaded or getattr(shared.sd_model.unet.config, 'encoder_hid_dim_type', None) is None: if loaded is not None: shared.log.debug('IP adapter: reset attention processor') shared.sd_model.unet.set_default_attn_processor() + loaded = None shared.log.info(f'IP adapter load: adapter="{model}" scale={scale} image={image}') shared.sd_model.image_encoder = image_encoder shared.sd_model.load_ip_adapter("h94/IP-Adapter", subfolder=subfolder, weight_name=f'{model}.safetensors') From bebfc908a8f9762fb29ad55fdcd223dc1e2bc449 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 2 Dec 2023 08:45:52 -0500 Subject: [PATCH 30/42] update changelog --- CHANGELOG.md | 5 +++-- scripts/animatediff.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 409fd10e2..786e5f260 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,12 +11,13 @@ Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and - allows control of *latent clamping*, *color centering* and *range maximimization* - supported by *XYZ grid* - **IP adapter** - - lightweight implementation of T2I adapters which can guide generation towards specific image style + - lightweight native implementation of T2I adapters which can guide generation towards specific image style - supports most T2I models, not limited to SD 1.5 - models are auto-downloaded on first use - for IP adapter support in *Original* backend, use standard *ControlNet* extension - **AnimateDiff** - - lightweight implementation of AnimateDiff basic models *(1.4, 1.5, 1.5.2)* + - lightweight native implementation of AnimateDiff models: + *AnimateDiff 1.4, 1.5 v1, 1.5 v2, AnimateFace* - supports SD 1.5 only - models are auto-downloaded on first use - for video saving support, see video support section diff --git a/scripts/animatediff.py b/scripts/animatediff.py index aced2b9eb..4b0ef5d9c 100644 --- a/scripts/animatediff.py +++ b/scripts/animatediff.py @@ -21,6 +21,7 @@ ADAPTERS = { 'Motion 1.4': 'guoyww/animatediff-motion-adapter-v1-4', 'Motion 1.5 v1': 'guoyww/animatediff-motion-adapter-v1-5', 'Motion 1.5 v2' :'guoyww/animatediff-motion-adapter-v1-5-2', + # 'Motion SD-XL Beta v1' :'vladmandic/animatediff-sdxl', 'TemporalDiff': 'vladmandic/temporaldiff', 'AnimateFace': 'vladmandic/animateface', } @@ -58,7 +59,7 @@ def set_adapter(adapter_name: str = 'None'): shared.sd_model = orig_pipe orig_pipe = None return - if shared.sd_model_type != 'sd': + if shared.sd_model_type != 'sd' and shared.sd_model_type != 'sdxl': shared.log.warning(f'AnimateDiff: unsupported model type: {shared.sd_model.__class__.__name__}') return if motion_adapter is not None and loaded_adapter == adapter_name and shared.sd_model.__class__.__name__ == 'AnimateDiffPipeline': From 8ba80bbc41c052964812830815f3fb443236fa3e Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 3 Dec 2023 00:14:57 +0300 Subject: [PATCH 31/42] Make OpenVINO use SD_LORA_DIFFUSERS flag --- extensions-builtin/Lora/lora_patches.py | 5 +++-- extensions-builtin/Lora/networks.py | 6 ++---- installer.py | 1 + 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions-builtin/Lora/lora_patches.py b/extensions-builtin/Lora/lora_patches.py index 12986e8f9..680ed4d0d 100644 --- a/extensions-builtin/Lora/lora_patches.py +++ b/extensions-builtin/Lora/lora_patches.py @@ -1,3 +1,4 @@ +import os import torch import networks from modules import patches, shared @@ -18,7 +19,7 @@ class LoraPatches: self.MultiheadAttention_load_state_dict = None def apply(self): - if self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading + if self.active or os.environ.get('SD_LORA_DIFFUSERS', None): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.patch(__name__, torch.nn.Linear, 'forward', networks.network_Linear_forward) self.Linear_load_state_dict = patches.patch(__name__, torch.nn.Linear, '_load_from_state_dict', networks.network_Linear_load_state_dict) @@ -36,7 +37,7 @@ class LoraPatches: self.active = True def undo(self): - if not self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading + if not self.active or os.environ.get('SD_LORA_DIFFUSERS', None): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.undo(__name__, torch.nn.Linear, 'forward') # pylint: disable=E1128 self.Linear_load_state_dict = patches.undo(__name__, torch.nn.Linear, '_load_from_state_dict') # pylint: disable=E1128 diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index 015d2cece..afd9d0796 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -166,12 +166,10 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No try: if recompile_model: shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") - if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) + if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) # OpenVINO only works with Diffusers LoRa loading. or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm - or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo - or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): - # OpenVINO only works with Diffusers LoRa loading. + or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67'): # turbo sdxl-turbo 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) diff --git a/installer.py b/installer.py index 7529f6cea..d7f069af9 100644 --- a/installer.py +++ b/installer.py @@ -518,6 +518,7 @@ def check_torch(): install('openvino==2023.2.0', 'openvino') install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO openvino: numpy version conflicts with tensorflow and doesn't support Python 3.11 os.environ.setdefault('PYTORCH_TRACING_MODE', 'TORCHFX') + os.environ.setdefault('SD_LORA_DIFFUSERS', '1') os.environ.setdefault('NEOReadDebugKeys', '1') os.environ.setdefault('ClDeviceGlobalMemSizeAvailablePercent', '100') if args.profile: From 85f62609afcf07b782659d03d1c4bbfb24cbdf53 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 3 Dec 2023 00:30:32 +0300 Subject: [PATCH 32/42] Revert SD_LORA_DIFFUSERS --- extensions-builtin/Lora/lora_patches.py | 5 ++--- extensions-builtin/Lora/networks.py | 6 ++++-- installer.py | 1 - 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/extensions-builtin/Lora/lora_patches.py b/extensions-builtin/Lora/lora_patches.py index 680ed4d0d..12986e8f9 100644 --- a/extensions-builtin/Lora/lora_patches.py +++ b/extensions-builtin/Lora/lora_patches.py @@ -1,4 +1,3 @@ -import os import torch import networks from modules import patches, shared @@ -19,7 +18,7 @@ class LoraPatches: self.MultiheadAttention_load_state_dict = None def apply(self): - if self.active or os.environ.get('SD_LORA_DIFFUSERS', None): # OpenVINO only works with Diffusers LoRa loading + if self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.patch(__name__, torch.nn.Linear, 'forward', networks.network_Linear_forward) self.Linear_load_state_dict = patches.patch(__name__, torch.nn.Linear, '_load_from_state_dict', networks.network_Linear_load_state_dict) @@ -37,7 +36,7 @@ class LoraPatches: self.active = True def undo(self): - if not self.active or os.environ.get('SD_LORA_DIFFUSERS', None): # OpenVINO only works with Diffusers LoRa loading + if not self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.undo(__name__, torch.nn.Linear, 'forward') # pylint: disable=E1128 self.Linear_load_state_dict = patches.undo(__name__, torch.nn.Linear, '_load_from_state_dict') # pylint: disable=E1128 diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index afd9d0796..015d2cece 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -166,10 +166,12 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No try: if recompile_model: shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") - if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) # OpenVINO only works with Diffusers LoRa loading. + if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm - or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67'): # turbo sdxl-turbo + or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo + or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): + # 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) else: net = load_network(name, network_on_disk) diff --git a/installer.py b/installer.py index d7f069af9..7529f6cea 100644 --- a/installer.py +++ b/installer.py @@ -518,7 +518,6 @@ def check_torch(): install('openvino==2023.2.0', 'openvino') install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO openvino: numpy version conflicts with tensorflow and doesn't support Python 3.11 os.environ.setdefault('PYTORCH_TRACING_MODE', 'TORCHFX') - os.environ.setdefault('SD_LORA_DIFFUSERS', '1') os.environ.setdefault('NEOReadDebugKeys', '1') os.environ.setdefault('ClDeviceGlobalMemSizeAvailablePercent', '100') if args.profile: From 24250ac0499dab05a57154933b1976da03aec5b7 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 2 Dec 2023 16:30:58 -0500 Subject: [PATCH 33/42] add sd-turbo and disable unnecessary lora fallback for lcm --- CHANGELOG.md | 2 +- extensions-builtin/Lora/networks.py | 11 +++++------ html/reference.json | 5 +++++ models/Reference/stabilityai--sd-turbo.jpg | Bin 0 -> 88927 bytes 4 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 models/Reference/stabilityai--sd-turbo.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 786e5f260..fd019a27a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,7 +23,7 @@ Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and - for video saving support, see video support section - can be combined with IP-Adapter for even better results! - for AnimateDiff support in *Original* backend, use standard *AnimateDiff* extension - - [SDXL Turbo](https://huggingface.co/stabilityai/sdxl-turbo) support + - [SD21 Turbo](https://huggingface.co/stabilityai/sd-turbo) and [SDXL Turbo]() support - just set CFG scale (0.0-1.0) and steps (1-3) to a very low value - compatible with original StabilityAI SDXL-Turbo or any of the newer merges - download safetensors or select from networks -> reference diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index 015d2cece..c3cdade86 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -166,12 +166,11 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No try: if recompile_model: shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") - if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) - or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm - or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm - or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo - or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): - # OpenVINO only works with Diffusers LoRa loading. + if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) is not None + or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): # OpenVINO only works with Diffusers LoRa loading. + # or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm + # or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm + # or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo 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) diff --git a/html/reference.json b/html/reference.json index 1c9bda034..a3ff809ed 100644 --- a/html/reference.json +++ b/html/reference.json @@ -14,6 +14,11 @@ "desc": "Stable Diffusion XL (SDXL) is the latest AI image generation model that is tailored towards more photorealistic outputs with more detailed imagery and composition compared to previous SD models, including SD 2.1. It can make realistic faces, legible text within the images, and better image composition, all while using shorter and simpler prompts at a greatly increased base resolution of 1024x1024. Just like its predecessors, SDXL has the ability to generate image variations using image-to-image prompting, inpainting (reimagining of the selected parts of an image), and outpainting (creating new parts that lie outside the image borders).", "preview": "stabilityai--stable-diffusion-xl-base-1.0.jpg" }, + "StabilityAI SD 2.1 Turbo": { + "path": "stabilityai/sd-turbo", + "desc": "SD-Turbo is a distilled version of Stable Diffusion 2.1, trained for real-time synthesis. SD-Turbo is based on a novel training method called Adversarial Diffusion Distillation (ADD) (see the technical report), which allows sampling large-scale foundational image diffusion models in 1 to 4 steps at high image quality. This approach uses score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal and combines this with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps.", + "preview": "stabilityai--sd-turbo.jpg" + }, "StabilityAI SD-XL Turbo": { "path": "stabilityai/sdxl-turbo", "desc": "SDXL-Turbo is a distilled version of SDXL 1.0, trained for real-time synthesis. SDXL-Turbo is based on a novel training method called Adversarial Diffusion Distillation (ADD) (see the technical report), which allows sampling large-scale foundational image diffusion models in 1 to 4 steps at high image quality. This approach uses score distillation to leverage large-scale off-the-shelf image diffusion models as a teacher signal and combines this with an adversarial loss to ensure high image fidelity even in the low-step regime of one or two sampling steps.", diff --git a/models/Reference/stabilityai--sd-turbo.jpg b/models/Reference/stabilityai--sd-turbo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..875c42531a9a60d809c90911ce2974751af7b75c GIT binary patch literal 88927 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 apuzPu?p~* Date: Sun, 3 Dec 2023 00:40:51 +0300 Subject: [PATCH 34/42] Re-add SD_LORA_DIFFUSERS flags --- extensions-builtin/Lora/lora_patches.py | 5 +++-- extensions-builtin/Lora/networks.py | 3 +-- installer.py | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/extensions-builtin/Lora/lora_patches.py b/extensions-builtin/Lora/lora_patches.py index 12986e8f9..a50f667a1 100644 --- a/extensions-builtin/Lora/lora_patches.py +++ b/extensions-builtin/Lora/lora_patches.py @@ -1,3 +1,4 @@ +import os import torch import networks from modules import patches, shared @@ -18,7 +19,7 @@ class LoraPatches: self.MultiheadAttention_load_state_dict = None def apply(self): - if self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading + if self.active or (os.environ.get('SD_LORA_DIFFUSERS', None) is not None): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.patch(__name__, torch.nn.Linear, 'forward', networks.network_Linear_forward) self.Linear_load_state_dict = patches.patch(__name__, torch.nn.Linear, '_load_from_state_dict', networks.network_Linear_load_state_dict) @@ -36,7 +37,7 @@ class LoraPatches: self.active = True def undo(self): - if not self.active or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): # OpenVINO only works with Diffusers LoRa loading + if not self.active or (os.environ.get('SD_LORA_DIFFUSERS', None) is not None): # OpenVINO only works with Diffusers LoRa loading return self.Linear_forward = patches.undo(__name__, torch.nn.Linear, 'forward') # pylint: disable=E1128 self.Linear_load_state_dict = patches.undo(__name__, torch.nn.Linear, '_load_from_state_dict') # pylint: disable=E1128 diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index c3cdade86..b58e6d343 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -166,8 +166,7 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No try: if recompile_model: shared.compiled_model_state.lora_model.append(f"{name}:{te_multipliers[i] if te_multipliers else 1.0}") - if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) is not None - or (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx")): # OpenVINO only works with Diffusers LoRa loading. + if shared.backend == shared.Backend.DIFFUSERS and (os.environ.get('SD_LORA_DIFFUSERS', None) is not None): # OpenVINO only works with Diffusers LoRa loading. # or getattr(network_on_disk, 'shorthash', '').lower() == 'aaebf6360f7d' # sd15-lcm # or getattr(network_on_disk, 'shorthash', '').lower() == '3d18b05e4f56' # sdxl-lcm # or getattr(network_on_disk, 'shorthash', '').lower() == '813ea5fb1c67' # turbo sdxl-turbo diff --git a/installer.py b/installer.py index 7529f6cea..d7f069af9 100644 --- a/installer.py +++ b/installer.py @@ -518,6 +518,7 @@ def check_torch(): install('openvino==2023.2.0', 'openvino') install('onnxruntime-openvino', 'onnxruntime-openvino', ignore=True) # TODO openvino: numpy version conflicts with tensorflow and doesn't support Python 3.11 os.environ.setdefault('PYTORCH_TRACING_MODE', 'TORCHFX') + os.environ.setdefault('SD_LORA_DIFFUSERS', '1') os.environ.setdefault('NEOReadDebugKeys', '1') os.environ.setdefault('ClDeviceGlobalMemSizeAvailablePercent', '100') if args.profile: From 5cf1da40ce96da42c0146db736c5f51e9f14767a Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 3 Dec 2023 01:31:36 +0300 Subject: [PATCH 35/42] OpenVINO skip LoRa loading if it's already loaded --- extensions-builtin/Lora/extra_networks_lora.py | 2 +- extensions-builtin/Lora/networks.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/extensions-builtin/Lora/extra_networks_lora.py b/extensions-builtin/Lora/extra_networks_lora.py index 5256ea94a..eb9a40b0d 100644 --- a/extensions-builtin/Lora/extra_networks_lora.py +++ b/extensions-builtin/Lora/extra_networks_lora.py @@ -65,7 +65,7 @@ class ExtraNetworkLora(extra_networks.ExtraNetwork): def deactivate(self, p): if shared.backend == shared.Backend.DIFFUSERS and hasattr(shared.sd_model, "unload_lora_weights") and hasattr(shared.sd_model, "text_encoder"): - if 'CLIP' in shared.sd_model.text_encoder.__class__.__name__: + if 'CLIP' in shared.sd_model.text_encoder.__class__.__name__ and not (shared.opts.cuda_compile and shared.opts.cuda_compile_backend == "openvino_fx"): shared.sd_model.unload_lora_weights() if not self.active and getattr(networks, "originals", None ) is not None: networks.originals.undo() # remove patches diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index b58e6d343..81c50db31 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -150,6 +150,10 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No recompile_model = True shared.compiled_model_state.lora_model = [] break + if not recompile_model: + if len(loaded_networks) > 0 and debug: + shared.log.debug(f'OpenVINO: Skipping LoRa loading') + return else: recompile_model = True shared.compiled_model_state.lora_model = [] From 235b5117f3366154b8d29ebd3fe491184fd40306 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 3 Dec 2023 01:32:43 +0300 Subject: [PATCH 36/42] Ruff fix --- extensions-builtin/Lora/networks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions-builtin/Lora/networks.py b/extensions-builtin/Lora/networks.py index 81c50db31..40f19bde1 100644 --- a/extensions-builtin/Lora/networks.py +++ b/extensions-builtin/Lora/networks.py @@ -152,7 +152,7 @@ def load_networks(names, te_multipliers=None, unet_multipliers=None, dyn_dims=No break if not recompile_model: if len(loaded_networks) > 0 and debug: - shared.log.debug(f'OpenVINO: Skipping LoRa loading') + shared.log.debug('OpenVINO: Skipping LoRa loading') return else: recompile_model = True From 54ef5f8683d394288a93e391122e2cf965d00503 Mon Sep 17 00:00:00 2001 From: Disty0 Date: Sun, 3 Dec 2023 02:00:31 +0300 Subject: [PATCH 37/42] Check SD_LORA_DIFFUSERS flag once --- extensions-builtin/Lora/lora_patches.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions-builtin/Lora/lora_patches.py b/extensions-builtin/Lora/lora_patches.py index a50f667a1..983d80240 100644 --- a/extensions-builtin/Lora/lora_patches.py +++ b/extensions-builtin/Lora/lora_patches.py @@ -3,6 +3,8 @@ import torch import networks from modules import patches, shared +# OpenVINO only works with Diffusers LoRa loading +force_lora_diffusers = os.environ.get('SD_LORA_DIFFUSERS', None) is not None class LoraPatches: def __init__(self): @@ -19,7 +21,7 @@ class LoraPatches: self.MultiheadAttention_load_state_dict = None def apply(self): - if self.active or (os.environ.get('SD_LORA_DIFFUSERS', None) is not None): # OpenVINO only works with Diffusers LoRa loading + if self.active or force_lora_diffusers: return self.Linear_forward = patches.patch(__name__, torch.nn.Linear, 'forward', networks.network_Linear_forward) self.Linear_load_state_dict = patches.patch(__name__, torch.nn.Linear, '_load_from_state_dict', networks.network_Linear_load_state_dict) @@ -37,7 +39,7 @@ class LoraPatches: self.active = True def undo(self): - if not self.active or (os.environ.get('SD_LORA_DIFFUSERS', None) is not None): # OpenVINO only works with Diffusers LoRa loading + if not self.active or force_lora_diffusers: return self.Linear_forward = patches.undo(__name__, torch.nn.Linear, 'forward') # pylint: disable=E1128 self.Linear_load_state_dict = patches.undo(__name__, torch.nn.Linear, '_load_from_state_dict') # pylint: disable=E1128 From 439542d3df3d2d6cefbe2360966a6566bc1de341 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 3 Dec 2023 11:27:24 -0500 Subject: [PATCH 38/42] redesign profiler --- .../Lora/scripts/lora_script.py | 30 +++------- .../Lora/ui_extra_networks_lora.py | 2 +- installer.py | 20 ++----- modules/call_queue.py | 8 +-- modules/devices.py | 22 ++++++++ modules/errors.py | 31 ++++++++++ modules/loader.py | 13 +++++ modules/lora | 2 +- modules/modelloader.py | 4 +- modules/processing.py | 56 +++++-------------- modules/processing_diffusers.py | 14 +++++ modules/script_callbacks.py | 2 +- modules/script_loading.py | 8 ++- modules/scripts.py | 3 +- modules/sd_models.py | 6 ++ modules/shared.py | 2 + modules/styles.py | 37 ++++++++---- modules/ui_extra_networks.py | 12 +++- modules/ui_extra_networks_checkpoints.py | 2 +- modules/ui_extra_networks_styles.py | 2 +- .../ui_extra_networks_textual_inversion.py | 2 +- webui.py | 3 + 22 files changed, 172 insertions(+), 109 deletions(-) diff --git a/extensions-builtin/Lora/scripts/lora_script.py b/extensions-builtin/Lora/scripts/lora_script.py index 49086f8cc..dc18866a9 100644 --- a/extensions-builtin/Lora/scripts/lora_script.py +++ b/extensions-builtin/Lora/scripts/lora_script.py @@ -1,22 +1,16 @@ import re -import gradio as gr from fastapi import FastAPI -import network import networks -import lora # noqa:F401 # pylint: disable=unused-import -# import lora_patches -import extra_networks_lora -import ui_extra_networks_lora +from network import NetworkOnDisk +from ui_extra_networks_lora import ExtraNetworksPageLora +from extra_networks_lora import ExtraNetworkLora +# import lora # noqa:F401 # pylint: disable=unused-import from modules import script_callbacks, ui_extra_networks, extra_networks, shared -# def unload(): -# networks.originals.undo() - - def before_ui(): - ui_extra_networks.register_page(ui_extra_networks_lora.ExtraNetworksPageLora()) - networks.extra_network_lora = extra_networks_lora.ExtraNetworkLora() + ui_extra_networks.register_page(ExtraNetworksPageLora()) + networks.extra_network_lora = ExtraNetworkLora() extra_networks.register_extra_network(networks.extra_network_lora) # extra_networks.register_extra_network_alias(networks.extra_network_lora, "lyco") @@ -28,15 +22,7 @@ script_callbacks.on_before_ui(before_ui) script_callbacks.on_infotext_pasted(networks.infotext_pasted) -shared.options_templates.update(shared.options_section(('extra_networks', "Extra Networks"), { - # "sd_lora": shared.OptionInfo("None", "Add network to prompt", gr.Dropdown, lambda: {"choices": ["None", *networks.available_networks], "visible": False}, refresh=networks.list_available_networks), - "sd_lora": shared.OptionInfo("None", "Add network to prompt", gr.Dropdown, {"choices": ["None"], "visible": False}), - # "lora_show_all": shared.OptionInfo(False, "Always show all networks on the Lora page").info("otherwise, those detected as for incompatible version of Stable Diffusion will be hidden"), - # "lora_hide_unknown_for_versions": shared.OptionInfo([], "Hide networks of unknown versions for model versions", gr.CheckboxGroup, {"choices": ["SD1", "SD2", "SDXL"]}), -})) - - -def create_lora_json(obj: network.NetworkOnDisk): +def create_lora_json(obj: NetworkOnDisk): return { "name": obj.name, "alias": obj.alias, @@ -45,7 +31,7 @@ def create_lora_json(obj: network.NetworkOnDisk): } -def api_networks(_: gr.Blocks, app: FastAPI): +def api_networks(_, app: FastAPI): @app.get("/sdapi/v1/loras") async def get_loras(): return [create_lora_json(obj) for obj in networks.available_networks.values()] diff --git a/extensions-builtin/Lora/ui_extra_networks_lora.py b/extensions-builtin/Lora/ui_extra_networks_lora.py index f029aaf05..bd408b327 100644 --- a/extensions-builtin/Lora/ui_extra_networks_lora.py +++ b/extensions-builtin/Lora/ui_extra_networks_lora.py @@ -91,7 +91,7 @@ class ExtraNetworksPageLora(ui_extra_networks.ExtraNetworksPage): return None def list_items(self): - with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: + with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: future_items = {executor.submit(self.create_item, net): net for net in networks.available_networks} for future in concurrent.futures.as_completed(future_items): item = future.result() diff --git a/installer.py b/installer.py index d7f069af9..413463fbb 100644 --- a/installer.py +++ b/installer.py @@ -6,8 +6,6 @@ import shutil import logging import platform import subprocess -import io -import pstats import cProfile import pkg_resources @@ -29,6 +27,7 @@ opts = {} args = Dot({ 'debug': False, 'reset': False, + 'profile': False, 'upgrade': False, 'skip_extensions': False, 'skip_requirements': False, @@ -143,19 +142,9 @@ def print_dict(d): return ' '.join([f'{k}={v}' for k, v in d.items()]) -def print_profile(profile: cProfile.Profile, msg: str): - try: - from rich import print # pylint: disable=redefined-builtin - except Exception: - pass - profile.disable() - stream = io.StringIO() - ps = pstats.Stats(profile, stream=stream) - ps.sort_stats(pstats.SortKey.CUMULATIVE).print_stats(15) - profile = None - lines = stream.getvalue().split('\n') - lines = [line for line in lines if ' Processed: if not hasattr(p.sd_model, 'sd_checkpoint_info'): return None @@ -743,22 +713,26 @@ def process_images(p: StableDiffusionProcessing) -> Processed: modules.script_callbacks.before_process_callback(p) if shared.cmd_opts.profile: - """ - import torch.profiler # pylint: disable=redefined-outer-name - with torch.profiler.profile(profile_memory=True, with_modules=True) as prof: - with torch.profiler.record_function("process_images"): - res = process_images_inner(p) - print_profile(prof, 'process_images') - """ import cProfile - pr = cProfile.Profile() - pr.enable() + profile_python = cProfile.Profile() + profile_python.enable() with context_hypertile_vae(p), context_hypertile_unet(p): + import torch.profiler # pylint: disable=redefined-outer-name + activities=[torch.profiler.ProfilerActivity.CPU] + if torch.cuda.is_available(): + activities.append(torch.profiler.ProfilerActivity.CUDA) + shared.log.debug(f'Torch profile: activities={activities}') + if shared.profiler is None: + shared.profiler = torch.profiler.profile(activities=activities, profile_memory=True, with_modules=True) + shared.profiler.start() + shared.profiler.step() res = process_images_inner(p) - print_profile(pr, 'Torch') + errors.profile_torch(shared.profiler, 'Process') + errors.profile(profile_python, 'Process') else: with context_hypertile_vae(p), context_hypertile_unet(p): res = process_images_inner(p) + finally: if not shared.opts.cuda_compile: modules.sd_models.apply_token_merging(p.sd_model, 0) diff --git a/modules/processing_diffusers.py b/modules/processing_diffusers.py index 2049fa881..e90cd0126 100644 --- a/modules/processing_diffusers.py +++ b/modules/processing_diffusers.py @@ -85,6 +85,8 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro return kwargs kwargs = correction_callback(p, timestep, kwargs) shared.state.current_latent = kwargs['latents'] + if shared.cmd_opts.profile and shared.profiler is not None: + shared.profiler.step() return kwargs def full_vae_decode(latents, model): @@ -139,6 +141,7 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro return encoded def vae_decode(latents, model, output_type='np', full_quality=True): + t0 = time.time() prev_job = shared.state.job shared.state.job = 'vae' if not torch.is_tensor(latents): # already decoded @@ -163,6 +166,9 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro # decoded = validate_sample(decoded) imgs = model.image_processor.postprocess(decoded, output_type=output_type) shared.state.job = prev_job + if shared.cmd_opts.profile: + t1 = time.time() + shared.log.debug(f'Profile: VAE decode: {t1-t0:.2f}') return imgs def vae_encode(image, model, full_quality=True): # pylint: disable=unused-variable @@ -269,6 +275,7 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro return task_args def set_pipeline_args(model, prompts: list, negative_prompts: list, prompts_2: typing.Optional[list]=None, negative_prompts_2: typing.Optional[list]=None, desc:str='', **kwargs): + t0 = time.time() if hasattr(model, "set_progress_bar_config"): model.set_progress_bar_config(bar_format='Progress {rate_fmt}{postfix} {bar} {percentage:3.0f}% {n_fmt}/{total_fmt} {elapsed} {remaining} ' + '\x1b[38;5;71m' + desc, ncols=80, colour='#327fba') args = {} @@ -379,6 +386,9 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro shared.log.debug(txt) # components = [{ k: getattr(v, 'device', None) } for k, v in model.components.items()] # shared.log.debug(f'Diffuser pipeline components: {components}') + if shared.cmd_opts.profile: + t1 = time.time() + shared.log.debug(f'Profile: pipeline args: {t1-t0:.2f}') return args def recompile_model(hires=False): @@ -502,7 +512,11 @@ def process_diffusers(p: StableDiffusionProcessing, seeds, prompts, negative_pro p.extra_generation_params['Pipeline'] = shared.sd_model.__class__.__name__ p.extra_generation_params["Sampler Eta"] = shared.opts.scheduler_eta if shared.opts.scheduler_eta is not None and shared.opts.scheduler_eta > 0 and shared.opts.scheduler_eta < 1 else None try: + t0 = time.time() output = shared.sd_model(**base_args) # pylint: disable=not-callable + if shared.cmd_opts.profile: + t1 = time.time() + shared.log.debug(f'Profile: pipeline call: {t1-t0:.2f}') if not hasattr(output, 'images') and hasattr(output, 'frames'): shared.log.debug(f'Generated: frames={len(output.frames[0])}') output.images = output.frames[0] diff --git a/modules/script_callbacks.py b/modules/script_callbacks.py index e30f88dd1..663199968 100644 --- a/modules/script_callbacks.py +++ b/modules/script_callbacks.py @@ -329,7 +329,7 @@ def before_ui_callback(): def add_callback(callbacks, fun): - stack = [x for x in inspect.stack() if x.filename != __file__] + stack = [x for x in inspect.stack(0) if x.filename != __file__] filename = stack[0].filename if len(stack) > 0 else 'unknown file' callbacks.append(ScriptCallback(filename, fun)) diff --git a/modules/script_loading.py b/modules/script_loading.py index 5ac82f538..b20d4072e 100644 --- a/modules/script_loading.py +++ b/modules/script_loading.py @@ -3,7 +3,7 @@ import os import contextlib import importlib.util import modules.errors as errors -from installer import setup_logging +from installer import setup_logging, args preloaded = [] @@ -12,6 +12,10 @@ preloaded = [] def load_module(path): module_spec = importlib.util.spec_from_file_location(os.path.basename(path), path) module = importlib.util.module_from_spec(module_spec) + if args.profile: + import cProfile + pr = cProfile.Profile() + pr.enable() try: if '/sd-extension-' in path: # safe extensions without stdout intercept module_spec.loader.exec_module(module) @@ -25,6 +29,8 @@ def load_module(path): errors.log.info(f"Extension: script='{os.path.relpath(path)}' {line.strip()}") except Exception as e: errors.display(e, f'Module load: {path}') + if args.profile: + errors.profile(pr, f'Scripts: {path}') return module diff --git a/modules/scripts.py b/modules/scripts.py index 01c501f2c..aee3545b2 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -261,6 +261,7 @@ def load_scripts(): elif issubclass(script_class, scripts_postprocessing.ScriptPostprocessing): postprocessing_scripts_data.append(ScriptClassData(script_class, scriptfile.path, scriptfile.basedir, module)) + from installer import args for scriptfile in scripts_list: try: if scriptfile.basedir != paths.script_path: @@ -274,12 +275,10 @@ def load_scripts(): current_basedir = paths.script_path t.record(os.path.basename(scriptfile.basedir)) sys.path = syspath - global scripts_txt2img, scripts_img2img, scripts_postproc # pylint: disable=global-statement scripts_txt2img = ScriptRunner() scripts_img2img = ScriptRunner() scripts_postproc = scripts_postprocessing.ScriptPostprocessingRunner() - return t, time.time()-t0 diff --git a/modules/sd_models.py b/modules/sd_models.py index ee94ec574..0956353ce 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -760,6 +760,10 @@ def set_diffuser_options(sd_model, vae, op: str): def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=None, op='model'): # pylint: disable=unused-argument import torch # pylint: disable=reimported,redefined-outer-name + if shared.cmd_opts.profile: + import cProfile + pr = cProfile.Profile() + pr.enable() if timer is None: timer = Timer() logging.getLogger("diffusers").setLevel(logging.ERROR) @@ -976,6 +980,8 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No timer.record("load") devices.torch_gc(force=True) + if shared.cmd_opts.profile: + errors.profile(pr, 'Load') script_callbacks.model_loaded_callback(sd_model) shared.log.info(f"Load {op}: time={timer.summary()} native={get_native(sd_model)} {memory_stats()}") diff --git a/modules/shared.py b/modules/shared.py index 0ba936223..7c2bea684 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -781,6 +781,7 @@ class Options: value = expected_type(value) return value +profiler = None opts = Options() config_filename = cmd_opts.config opts.load(config_filename) @@ -804,6 +805,7 @@ device = devices.device batch_cond_uncond = opts.always_batch_cond_uncond or not (cmd_opts.lowvram or cmd_opts.medvram) parallel_processing_allowed = not cmd_opts.lowvram mem_mon = modules.memmon.MemUsageMonitor("MemMon", devices.device) +max_workers = 2 if devices.backend == "directml": directml_do_hijack() diff --git a/modules/styles.py b/modules/styles.py index be5259f2c..1f9a6fd52 100644 --- a/modules/styles.py +++ b/modules/styles.py @@ -4,6 +4,7 @@ import re import os import csv import json +import time from installer import log @@ -87,6 +88,7 @@ class StyleDatabase: def load_style(self, fn, prefix=None): with open(fn, 'r', encoding='utf-8') as f: + new_style = None try: all_styles = json.load(f) if type(all_styles) is dict: @@ -100,7 +102,7 @@ class StyleDatabase: name = os.path.join(prefix, name) else: name = os.path.join(os.path.dirname(os.path.relpath(fn, self.path)), name) - self.styles[style["name"]] = Style( + new_style = Style( name=name, desc=style.get('description', name), prompt=style.get("prompt", ""), @@ -110,26 +112,37 @@ class StyleDatabase: filename=fn, mtime=os.path.getmtime(fn), ) + self.styles[style["name"]] = new_style except Exception as e: log.error(f'Failed to load style: file={fn} error={e}') + return new_style def reload(self): + t0 = time.time() self.styles.clear() + def list_folder(folder): - for filename in os.listdir(folder): - fn = os.path.abspath(os.path.join(folder, filename)) - if os.path.isfile(fn) and fn.lower().endswith(".json"): - self.load_style(fn) - elif os.path.isdir(fn) and not fn.startswith('.'): - list_folder(fn) + import concurrent + future_items = {} + with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: + for filename in os.listdir(folder): + fn = os.path.abspath(os.path.join(folder, filename)) + if os.path.isfile(fn) and fn.lower().endswith(".json"): + future_items[executor.submit(self.load_style, fn, None)] = fn + # self.load_style(fn) + elif os.path.isdir(fn) and not fn.startswith('.'): + list_folder(fn) + self.styles = dict(sorted(self.styles.items(), key=lambda style: style[1].filename)) + if self.built_in: + fn = os.path.join('html', 'art-styles.json') + future_items[executor.submit(self.load_style, fn, 'built-in')] = fn + for future in concurrent.futures.as_completed(future_items): + future.result() list_folder(self.path) - self.styles = dict(sorted(self.styles.items(), key=lambda style: style[1].filename)) - if self.built_in: - self.load_style(os.path.join('html', 'art-styles.json'), 'built-in') - - log.debug(f'Load styles: folder="{self.path}" items={len(self.styles.keys())}') + t1 = time.time() + log.debug(f'Load styles: folder="{self.path}" items={len(self.styles.keys())} time={t1-t0:.2f}') def find_style(self, name): found = [style for style in self.styles.values() if style.name == name] diff --git a/modules/ui_extra_networks.py b/modules/ui_extra_networks.py index 9727b8752..f30dba2cc 100644 --- a/modules/ui_extra_networks.py +++ b/modules/ui_extra_networks.py @@ -15,7 +15,7 @@ from collections import OrderedDict import gradio as gr from PIL import Image from starlette.responses import FileResponse, JSONResponse -from modules import paths, shared, scripts, modelloader +from modules import paths, shared, scripts, modelloader, errors from modules.ui_components import ToolButton import modules.ui_symbols as symbols @@ -270,7 +270,7 @@ class ExtraNetworksPage: self.html = f"
{subdirs_html}
{self.html}
" else: return '' - shared.log.debug(f"Extra networks: page='{self.name}' items={len(self.items)} subfolders={len(subdirs)} tab={tabname} folders={self.allowed_directories_for_previews()} list={self.list_time:.2f} desc={self.desc_time:.2f} info={self.info_time:.2f}") + shared.log.debug(f"Extra networks: page='{self.name}' items={len(self.items)} subfolders={len(subdirs)} tab={tabname} folders={self.allowed_directories_for_previews()} list={self.list_time:.2f} desc={self.desc_time:.2f} info={self.info_time:.2f} workers={shared.max_workers}") if len(self.missing_thumbs) > 0: threading.Thread(target=self.create_thumb).start() return self.html @@ -463,6 +463,10 @@ def create_ui(container, button_parent, tabname, skip_indexing = False): ui.tabs = gr.Tabs(elem_id=tabname+"_extra_tabs") ui.button_details = gr.Button('Details', elem_id=tabname+"_extra_details_btn", visible=False) state = {} + if shared.cmd_opts.profile: + import cProfile + pr = cProfile.Profile() + pr.enable() def get_item(state, params = None): if params is not None and type(params) == dict: @@ -567,6 +571,10 @@ def create_ui(container, button_parent, tabname, skip_indexing = False): page_html = gr.HTML(page.html, elem_id=f'{tabname}{page.name}_extra_page', elem_classes="extra-networks-page") ui.pages.append(page_html) tab.select(ui_tab_change, _js="getENActivePage", inputs=[ui.button_details], outputs=[ui.button_scan, ui.button_save, ui.button_model]) + if shared.cmd_opts.profile: + errors.profile(pr, 'ExtraNetworks') + pr.disable() + # ui.tabs.change(fn=ui_tab_change, inputs=[], outputs=[ui.button_scan, ui.button_save]) def fn_save_img(image): diff --git a/modules/ui_extra_networks_checkpoints.py b/modules/ui_extra_networks_checkpoints.py index 01902b376..692acdc18 100644 --- a/modules/ui_extra_networks_checkpoints.py +++ b/modules/ui_extra_networks_checkpoints.py @@ -64,7 +64,7 @@ class ExtraNetworksPageCheckpoints(ui_extra_networks.ExtraNetworksPage): return record def list_items(self): - with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: + with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: future_items = {executor.submit(self.create_item, cp): cp for cp in list(sd_models.checkpoints_list.copy())} for future in concurrent.futures.as_completed(future_items): item = future.result() diff --git a/modules/ui_extra_networks_styles.py b/modules/ui_extra_networks_styles.py index 12f5f0a53..8dcccf96e 100644 --- a/modules/ui_extra_networks_styles.py +++ b/modules/ui_extra_networks_styles.py @@ -95,7 +95,7 @@ class ExtraNetworksPageStyles(ui_extra_networks.ExtraNetworksPage): return item def list_items(self): - with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: + with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: future_items = {executor.submit(self.create_item, style): style for style in list(shared.prompt_styles.styles)} for future in concurrent.futures.as_completed(future_items): item = future.result() diff --git a/modules/ui_extra_networks_textual_inversion.py b/modules/ui_extra_networks_textual_inversion.py index f67031029..d94ce39dc 100644 --- a/modules/ui_extra_networks_textual_inversion.py +++ b/modules/ui_extra_networks_textual_inversion.py @@ -68,7 +68,7 @@ class ExtraNetworksPageTextualInversion(ui_extra_networks.ExtraNetworksPage): self.embeddings = [] self.embeddings = sorted(self.embeddings, key=lambda emb: emb.filename) - with concurrent.futures.ThreadPoolExecutor(max_workers=8) as executor: + with concurrent.futures.ThreadPoolExecutor(max_workers=shared.max_workers) as executor: future_items = {executor.submit(self.create_item, net): net for net in self.embeddings} for future in concurrent.futures.as_completed(future_items): item = future.result() diff --git a/webui.py b/webui.py index 157731f10..d352bed72 100644 --- a/webui.py +++ b/webui.py @@ -311,6 +311,9 @@ def webui(restart=False): modules.sd_models.write_metadata() load_model() shared.opts.save(shared.config_filename) + if cmd_opts.profile: + for k, v in modules.script_callbacks.callback_map.items(): + shared.log.debug(f'Registered callbacks: {k}={len(v)} {[c.script for c in v]}') log.info(f"Startup time: {timer.startup.summary()}") debug = log.info if os.environ.get('SD_SCRIPT_DEBUG', None) is not None else lambda *args, **kwargs: None debug('Loaded scripts:') From 099188a8cd7cbb5d4cea3d017091a1fc9833051a Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sun, 3 Dec 2023 11:35:04 -0500 Subject: [PATCH 39/42] update changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd019a27a..9f1b29657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,7 +47,10 @@ Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and interpolation is done using [RIFE](https://arxiv.org/abs/2011.06294) with native implementation in SD.Next And its fast - interpolation from 16 frames with 10x frames to target 160 frames results takes 2-3sec - output folder for videos is in *settings -> image paths -> video* -- **General** +- **General** + - redesigned built-in profiler + - now includes both `python` and `torch` and traces individual functions + - use with `--debug --profile` - **model merge** add **SD-XL ReBasin** support, thanks @AI-Casanova - further UI optimizations for **mobile devices**, thanks @iDeNoh - log level defaults to info for console and debug for log file From 3d971d7bbf37e040bea5cb505dd03540d18044cc Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 4 Dec 2023 09:22:14 -0500 Subject: [PATCH 40/42] fix infotext wrapping --- CHANGELOG.md | 10 +++++----- javascript/sdnext.css | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f1b29657..6650290b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,15 +1,11 @@ # Change Log for SD.Next -## Update for 2023-12-01 +## Update for 2023-12-04 What's new? Native video in SD.Next via both **AnimateDiff** and **Stable-Video-Diffusion** - and including native MP4 encoding and smooth video outputs out-of-the-box, not just animated-GIFs. Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and cool latent correction via **HDR controls** for any *txt2img* workflows, best-of-class **SDXL model merge** using full ReBasin methods and further mobile UI optimizations. - **Diffusers** - - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) - - in *Advanced* params - - allows control of *latent clamping*, *color centering* and *range maximimization* - - supported by *XYZ grid* - **IP adapter** - lightweight native implementation of T2I adapters which can guide generation towards specific image style - supports most T2I models, not limited to SD 1.5 @@ -23,6 +19,10 @@ Also new is support for **SDXL-Turbo** as well as new **Kandinsky 3** models and - for video saving support, see video support section - can be combined with IP-Adapter for even better results! - for AnimateDiff support in *Original* backend, use standard *AnimateDiff* extension + - **HDR latent control**, based on [article](https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#long-prompts-at-high-guidance-scales-becoming-possible) + - in *Advanced* params + - allows control of *latent clamping*, *color centering* and *range maximimization* + - supported by *XYZ grid* - [SD21 Turbo](https://huggingface.co/stabilityai/sd-turbo) and [SDXL Turbo]() support - just set CFG scale (0.0-1.0) and steps (1-3) to a very low value - compatible with original StabilityAI SDXL-Turbo or any of the newer merges diff --git a/javascript/sdnext.css b/javascript/sdnext.css index 1d7154569..769d9da16 100644 --- a/javascript/sdnext.css +++ b/javascript/sdnext.css @@ -95,7 +95,7 @@ div#extras_scale_to_tab div.form{ flex-direction: row; } #img2img_sketch, #img2maskimg, #inpaint_sketch { overflow: overlay !important; resize: auto; background: var(--panel-background-fill); z-index: 5; } .image-buttons button{ min-width: auto; } .infotext { overflow-wrap: break-word; line-height: 1.5em; } -.infotext > p { padding-left: 1em; text-indent: -1em; white-space: pre; text-wrap: pretty; } +.infotext > p { padding-left: 1em; text-indent: -1em; white-space: pre-wrap; } .tooltip { display: block; position: fixed; top: 1em; right: 1em; padding: 0.5em; background: var(--input-background-fill); color: var(--body-text-color); border: 1pt solid var(--button-primary-border-color); width: 22em; min-height: 1.3em; font-size: 0.8em; transition: opacity 0.2s ease-in; pointer-events: none; opacity: 0; z-index: 999; } .tooltip-show { opacity: 0.9; } From 77f06befa4829214ef83699fb275a23a8793ea4c Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 4 Dec 2023 10:01:15 -0500 Subject: [PATCH 41/42] handle zero size image resize --- modules/images.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/images.py b/modules/images.py index 461490806..76c4a3cc6 100644 --- a/modules/images.py +++ b/modules/images.py @@ -244,6 +244,8 @@ def resize_image(resize_mode, im, width, height, upscaler_name=None, output_type if resize_mode == 0: res = im.copy() + if width == 0 or height == 0: + res = im.copy() elif resize_mode == 1: res = resize(im, width, height) elif resize_mode == 2: From 2933ed6b4a9e5962b118f3146138823e2aa8ade0 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Mon, 4 Dec 2023 10:08:11 -0500 Subject: [PATCH 42/42] lint fixes --- modules/errors.py | 15 +++++++++++---- modules/loader.py | 2 +- modules/merging/merge_PermSpec.py | 4 ++-- modules/processing_correction.py | 4 ++-- modules/rife/model_ifnet.py | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/modules/errors.py b/modules/errors.py index f14cfe291..0f770856f 100644 --- a/modules/errors.py +++ b/modules/errors.py @@ -71,18 +71,25 @@ def profile(profiler, msg: str): # p.print_callers(10) profiler = None lines = stream.getvalue().split('\n') - lines = [l for l in lines if ' PermutationSpec: } # VAE blocks - Unused - easyblock2 = lambda name, p: { # pylint: disable=unnecessary-lambda-assignment + easyblock2 = lambda name, p: { # pylint: disable=unnecessary-lambda-assignment, unused-variable # noqa: F841 **norm(f"{name}.norm1", p), **conv(f"{name}.conv1", p, f"P_{name}_inner"), **norm(f"{name}.norm2", f"P_{name}_inner"), @@ -45,7 +45,7 @@ def sdunet_permutation_spec() -> PermutationSpec: } # This is for blocks that use a residual connection, but change the number of channels via a Conv. - shortcutblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment + shortcutblock = lambda name, p_in, p_out: { # pylint: disable=unnecessary-lambda-assignment, , unused-variable # noqa: F841 **norm(f"{name}.norm1", p_in), **conv(f"{name}.conv1", p_in, f"P_{name}_inner"), **norm(f"{name}.norm2", f"P_{name}_inner"), diff --git a/modules/processing_correction.py b/modules/processing_correction.py index c95526609..704805db4 100644 --- a/modules/processing_correction.py +++ b/modules/processing_correction.py @@ -28,7 +28,7 @@ def soft_clamp_tensor(input_tensor, threshold=0.8, boundary=4): return input_tensor -def center_tensor(input_tensor, channel_shift=1.0, full_shift=1.0, channels=[0, 1, 2, 3]): +def center_tensor(input_tensor, channel_shift=1.0, full_shift=1.0, channels=[0, 1, 2, 3]): # pylint: disable=dangerous-default-value # noqa: B006 if channel_shift == 0 and full_shift == 0: return input_tensor means = [] @@ -40,7 +40,7 @@ def center_tensor(input_tensor, channel_shift=1.0, full_shift=1.0, channels=[0, return input_tensor -def maximize_tensor(input_tensor, boundary=1.0, channels=[0, 1, 2]): +def maximize_tensor(input_tensor, boundary=1.0, channels=[0, 1, 2]): # pylint: disable=dangerous-default-value # noqa: B006 if boundary == 1.0: return input_tensor boundary *= 4 diff --git a/modules/rife/model_ifnet.py b/modules/rife/model_ifnet.py index 91598bde8..ec667425b 100644 --- a/modules/rife/model_ifnet.py +++ b/modules/rife/model_ifnet.py @@ -82,7 +82,7 @@ class IFNet(nn.Module): # self.contextnet = Contextnet() # self.unet = Unet() - def forward( self, x, timestep=0.5, scale_list=[8, 4, 2, 1], training=False, fastmode=True, ensemble=False): + def forward( self, x, timestep=0.5, scale_list=[8, 4, 2, 1], training=False, fastmode=True, ensemble=False): # pylint: disable=dangerous-default-value # noqa: B006 if training is False: channel = x.shape[1] // 2 img0 = x[:, :channel]