From 3f4938342ddd3a3ca162ef36215928bd19ac35b5 Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Thu, 21 Jul 2022 11:48:16 +0100 Subject: [PATCH 01/26] =?UTF-8?q?=F0=9F=93=9DMove=20docs=20folder=20to=20s?= =?UTF-8?q?phinx-docs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sphinx-docs/README.md | 6 ++- sphinx-docs/preprocess.py | 14 ++---- {docs => sphinx-docs/source/docs}/WSL.md | 0 .../source/docs}/bring_your_own_model.md | 0 .../source/docs}/building_models.md | 0 .../source/docs}/contributing.md | 0 .../source/docs}/creating_dataset.md | 0 .../source/docs}/debugging_and_monitoring.md | 0 .../source/docs}/deploy_on_aml.md | 0 .../source/docs}/deployment.png | 0 .../source/docs}/environment.md | 0 {docs => sphinx-docs/source/docs}/fastmri.md | 0 .../source/docs}/hello_world_model.md | 0 .../source/docs}/innereye_as_submodule.md | 0 .../source/docs}/model_diagnostics.md | 0 .../source/docs}/move_model.md | 0 .../source/docs}/patch_sampling_example.png | 0 .../source/docs}/pull_requests.md | 0 {docs => sphinx-docs/source/docs}/releases.md | 0 .../source/docs}/sample_tasks.md | 0 .../screenshot_azureml_patch_sampling.png | 0 .../source/docs}/self_supervised_models.md | 0 .../source/docs}/setting_up_aml.md | 0 {docs => sphinx-docs/source/docs}/testing.md | 0 sphinx-docs/source/index.rst | 44 +++++++++---------- 25 files changed, 30 insertions(+), 34 deletions(-) rename {docs => sphinx-docs/source/docs}/WSL.md (100%) rename {docs => sphinx-docs/source/docs}/bring_your_own_model.md (100%) rename {docs => sphinx-docs/source/docs}/building_models.md (100%) rename {docs => sphinx-docs/source/docs}/contributing.md (100%) rename {docs => sphinx-docs/source/docs}/creating_dataset.md (100%) rename {docs => sphinx-docs/source/docs}/debugging_and_monitoring.md (100%) rename {docs => sphinx-docs/source/docs}/deploy_on_aml.md (100%) rename {docs => sphinx-docs/source/docs}/deployment.png (100%) rename {docs => sphinx-docs/source/docs}/environment.md (100%) rename {docs => sphinx-docs/source/docs}/fastmri.md (100%) rename {docs => sphinx-docs/source/docs}/hello_world_model.md (100%) rename {docs => sphinx-docs/source/docs}/innereye_as_submodule.md (100%) rename {docs => sphinx-docs/source/docs}/model_diagnostics.md (100%) rename {docs => sphinx-docs/source/docs}/move_model.md (100%) rename {docs => sphinx-docs/source/docs}/patch_sampling_example.png (100%) rename {docs => sphinx-docs/source/docs}/pull_requests.md (100%) rename {docs => sphinx-docs/source/docs}/releases.md (100%) rename {docs => sphinx-docs/source/docs}/sample_tasks.md (100%) rename {docs => sphinx-docs/source/docs}/screenshot_azureml_patch_sampling.png (100%) rename {docs => sphinx-docs/source/docs}/self_supervised_models.md (100%) rename {docs => sphinx-docs/source/docs}/setting_up_aml.md (100%) rename {docs => sphinx-docs/source/docs}/testing.md (100%) diff --git a/sphinx-docs/README.md b/sphinx-docs/README.md index 017c197f8..f2da9c1e7 100644 --- a/sphinx-docs/README.md +++ b/sphinx-docs/README.md @@ -1,8 +1,10 @@ -### Building docs for InnerEye-DeepLearning +# Building docs for InnerEye-DeepLearning 1. First, make sure you have all the packages necessary for InnerEye. 1. Install pip dependencies from sphinx-docs/requirements.txt. -``` + +```shell pip install -r requirements.txt ``` + 1. Run `make html` from the folder sphinx-docs. This will create html files under sphinx-docs/build/html. diff --git a/sphinx-docs/preprocess.py b/sphinx-docs/preprocess.py index 6cf8e65f9..2461f5766 100644 --- a/sphinx-docs/preprocess.py +++ b/sphinx-docs/preprocess.py @@ -18,20 +18,14 @@ def replace_in_file(filepath: Path, original_str: str, replace_str: str) -> None if __name__ == '__main__': sphinx_root = Path(__file__).absolute().parent repository_root = sphinx_root.parent - markdown_root = sphinx_root / "source" / "md" + docs_root = sphinx_root / "source" / "docs" repository_url = "https://github.com/microsoft/InnerEye-DeepLearning" - # Create directories source/md and source/md/docs where files will be copied to - if markdown_root.exists(): - shutil.rmtree(markdown_root) - markdown_root.mkdir() - # copy README.md and doc files - shutil.copy(repository_root / "README.md", markdown_root) - shutil.copy(repository_root / "CHANGELOG.md", markdown_root) - shutil.copytree(repository_root / "docs", markdown_root / "docs") + shutil.copy(repository_root / "README.md", docs_root) + shutil.copy(repository_root / "CHANGELOG.md", docs_root) # replace links to files in repository with urls - md_files = markdown_root.rglob("*.md") + md_files = docs_root.rglob("*.md") for filepath in md_files: replace_in_file(filepath, "](/", f"]({repository_url}/blob/main/") diff --git a/docs/WSL.md b/sphinx-docs/source/docs/WSL.md similarity index 100% rename from docs/WSL.md rename to sphinx-docs/source/docs/WSL.md diff --git a/docs/bring_your_own_model.md b/sphinx-docs/source/docs/bring_your_own_model.md similarity index 100% rename from docs/bring_your_own_model.md rename to sphinx-docs/source/docs/bring_your_own_model.md diff --git a/docs/building_models.md b/sphinx-docs/source/docs/building_models.md similarity index 100% rename from docs/building_models.md rename to sphinx-docs/source/docs/building_models.md diff --git a/docs/contributing.md b/sphinx-docs/source/docs/contributing.md similarity index 100% rename from docs/contributing.md rename to sphinx-docs/source/docs/contributing.md diff --git a/docs/creating_dataset.md b/sphinx-docs/source/docs/creating_dataset.md similarity index 100% rename from docs/creating_dataset.md rename to sphinx-docs/source/docs/creating_dataset.md diff --git a/docs/debugging_and_monitoring.md b/sphinx-docs/source/docs/debugging_and_monitoring.md similarity index 100% rename from docs/debugging_and_monitoring.md rename to sphinx-docs/source/docs/debugging_and_monitoring.md diff --git a/docs/deploy_on_aml.md b/sphinx-docs/source/docs/deploy_on_aml.md similarity index 100% rename from docs/deploy_on_aml.md rename to sphinx-docs/source/docs/deploy_on_aml.md diff --git a/docs/deployment.png b/sphinx-docs/source/docs/deployment.png similarity index 100% rename from docs/deployment.png rename to sphinx-docs/source/docs/deployment.png diff --git a/docs/environment.md b/sphinx-docs/source/docs/environment.md similarity index 100% rename from docs/environment.md rename to sphinx-docs/source/docs/environment.md diff --git a/docs/fastmri.md b/sphinx-docs/source/docs/fastmri.md similarity index 100% rename from docs/fastmri.md rename to sphinx-docs/source/docs/fastmri.md diff --git a/docs/hello_world_model.md b/sphinx-docs/source/docs/hello_world_model.md similarity index 100% rename from docs/hello_world_model.md rename to sphinx-docs/source/docs/hello_world_model.md diff --git a/docs/innereye_as_submodule.md b/sphinx-docs/source/docs/innereye_as_submodule.md similarity index 100% rename from docs/innereye_as_submodule.md rename to sphinx-docs/source/docs/innereye_as_submodule.md diff --git a/docs/model_diagnostics.md b/sphinx-docs/source/docs/model_diagnostics.md similarity index 100% rename from docs/model_diagnostics.md rename to sphinx-docs/source/docs/model_diagnostics.md diff --git a/docs/move_model.md b/sphinx-docs/source/docs/move_model.md similarity index 100% rename from docs/move_model.md rename to sphinx-docs/source/docs/move_model.md diff --git a/docs/patch_sampling_example.png b/sphinx-docs/source/docs/patch_sampling_example.png similarity index 100% rename from docs/patch_sampling_example.png rename to sphinx-docs/source/docs/patch_sampling_example.png diff --git a/docs/pull_requests.md b/sphinx-docs/source/docs/pull_requests.md similarity index 100% rename from docs/pull_requests.md rename to sphinx-docs/source/docs/pull_requests.md diff --git a/docs/releases.md b/sphinx-docs/source/docs/releases.md similarity index 100% rename from docs/releases.md rename to sphinx-docs/source/docs/releases.md diff --git a/docs/sample_tasks.md b/sphinx-docs/source/docs/sample_tasks.md similarity index 100% rename from docs/sample_tasks.md rename to sphinx-docs/source/docs/sample_tasks.md diff --git a/docs/screenshot_azureml_patch_sampling.png b/sphinx-docs/source/docs/screenshot_azureml_patch_sampling.png similarity index 100% rename from docs/screenshot_azureml_patch_sampling.png rename to sphinx-docs/source/docs/screenshot_azureml_patch_sampling.png diff --git a/docs/self_supervised_models.md b/sphinx-docs/source/docs/self_supervised_models.md similarity index 100% rename from docs/self_supervised_models.md rename to sphinx-docs/source/docs/self_supervised_models.md diff --git a/docs/setting_up_aml.md b/sphinx-docs/source/docs/setting_up_aml.md similarity index 100% rename from docs/setting_up_aml.md rename to sphinx-docs/source/docs/setting_up_aml.md diff --git a/docs/testing.md b/sphinx-docs/source/docs/testing.md similarity index 100% rename from docs/testing.md rename to sphinx-docs/source/docs/testing.md diff --git a/sphinx-docs/source/index.rst b/sphinx-docs/source/index.rst index cc40a1638..5070e7271 100644 --- a/sphinx-docs/source/index.rst +++ b/sphinx-docs/source/index.rst @@ -9,33 +9,33 @@ InnerEye-DeepLearning Documentation .. toctree:: :maxdepth: 1 - md/README.md - md/docs/WSL.md - md/docs/environment.md - md/docs/setting_up_aml.md - md/docs/creating_dataset.md - md/docs/building_models.md - md/docs/sample_tasks.md - md/docs/debugging_and_monitoring.md + docs/README.md + docs/WSL.md + docs/environment.md + docs/setting_up_aml.md + docs/creating_dataset.md + docs/building_models.md + docs/sample_tasks.md + docs/debugging_and_monitoring.md .. toctree:: :maxdepth: 1 :caption: Further reading for contributors - md/docs/pull_requests.md - md/docs/testing.md - md/docs/contributing.md - - md/docs/hello_world_model.md - md/docs/deploy_on_aml.md - md/docs/bring_your_own_model.md - md/docs/fastmri.md - md/docs/innereye_as_submodule.md - md/docs/model_diagnostics.md - md/docs/move_model.md - md/docs/releases.md - md/docs/self_supervised_models.md - md/CHANGELOG.md + docs/pull_requests.md + docs/testing.md + docs/contributing.md + + docs/hello_world_model.md + docs/deploy_on_aml.md + docs/bring_your_own_model.md + docs/fastmri.md + docs/innereye_as_submodule.md + docs/model_diagnostics.md + docs/move_model.md + docs/releases.md + docs/self_supervised_models.md + docs/CHANGELOG.md .. toctree:: :caption: API documentation From 8f8513dbdee67e46fdacd564b5956b96c395c8b3 Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Thu, 21 Jul 2022 13:52:55 +0100 Subject: [PATCH 02/26] Trigger build for new URL --- sphinx-docs/{Makefile => old_Makefile.txt} | 0 sphinx-docs/{make.bat => old_make_dot_bat.txt} | 1 + sphinx-docs/preprocess.py | 18 +++++++++++++----- sphinx-docs/source/index.rst | 2 +- 4 files changed, 15 insertions(+), 6 deletions(-) rename sphinx-docs/{Makefile => old_Makefile.txt} (100%) rename sphinx-docs/{make.bat => old_make_dot_bat.txt} (97%) diff --git a/sphinx-docs/Makefile b/sphinx-docs/old_Makefile.txt similarity index 100% rename from sphinx-docs/Makefile rename to sphinx-docs/old_Makefile.txt diff --git a/sphinx-docs/make.bat b/sphinx-docs/old_make_dot_bat.txt similarity index 97% rename from sphinx-docs/make.bat rename to sphinx-docs/old_make_dot_bat.txt index 4530a1685..8fa6c5ae4 100644 --- a/sphinx-docs/make.bat +++ b/sphinx-docs/old_make_dot_bat.txt @@ -27,6 +27,7 @@ if errorlevel 9009 ( REM Do some preprocessing, including copying over md files to the source directory so sphinx can find them, REM and changing references to codefiles in md files to urls. +echo TEST PETER PRINTING python preprocess.py %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% diff --git a/sphinx-docs/preprocess.py b/sphinx-docs/preprocess.py index 2461f5766..2a636ff95 100644 --- a/sphinx-docs/preprocess.py +++ b/sphinx-docs/preprocess.py @@ -2,6 +2,7 @@ # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. # ------------------------------------------------------------------------------------------ +import logging import shutil from pathlib import Path @@ -18,14 +19,21 @@ def replace_in_file(filepath: Path, original_str: str, replace_str: str) -> None if __name__ == '__main__': sphinx_root = Path(__file__).absolute().parent repository_root = sphinx_root.parent - docs_root = sphinx_root / "source" / "docs" + markdown_root = sphinx_root / "source" / "md" repository_url = "https://github.com/microsoft/InnerEye-DeepLearning" - # copy README.md and doc files - shutil.copy(repository_root / "README.md", docs_root) - shutil.copy(repository_root / "CHANGELOG.md", docs_root) + # Create directories source/md and source/md/docs where files will be copied to + if markdown_root.exists(): + shutil.rmtree(markdown_root) + markdown_root.mkdir() + + # Copy all markdown files to the markdown directory + logging.info("Copying markdown files to {}".format(markdown_root / "docs")) + shutil.copytree(repository_root / "docs", markdown_root / "docs") + shutil.copy(repository_root / "README.md", markdown_root / "docs") + shutil.copy(repository_root / "CHANGELOG.md", markdown_root / "docs") # replace links to files in repository with urls - md_files = docs_root.rglob("*.md") + md_files = markdown_root.rglob("*.md") for filepath in md_files: replace_in_file(filepath, "](/", f"]({repository_url}/blob/main/") diff --git a/sphinx-docs/source/index.rst b/sphinx-docs/source/index.rst index 5070e7271..ce98df0c7 100644 --- a/sphinx-docs/source/index.rst +++ b/sphinx-docs/source/index.rst @@ -20,7 +20,7 @@ InnerEye-DeepLearning Documentation .. toctree:: :maxdepth: 1 - :caption: Further reading for contributors + :caption: Further reading for contributors and Peter docs/pull_requests.md docs/testing.md From 3390a4a55d29ad636ad8427d0fa63ea75d209b26 Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Fri, 22 Jul 2022 15:48:23 +0100 Subject: [PATCH 03/26] =?UTF-8?q?=F0=9F=93=9D=20Fix=20build=20to=20include?= =?UTF-8?q?=20README=20+=20CHANGLOG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ sphinx-docs/source/conf.py | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/.gitignore b/.gitignore index 8aace9c46..39b565961 100644 --- a/.gitignore +++ b/.gitignore @@ -85,7 +85,10 @@ instance/ # Sphinx documentation sphinx-docs/build/ +sphinx-docs/sphinx-build/ sphinx-docs/source/md/ +sphinx-docs/source/docs/CHANGELOG.md +sphinx-docs/source/docs/README.md # PyBuilder target/ diff --git a/sphinx-docs/source/conf.py b/sphinx-docs/source/conf.py index 85a451f80..981834a6e 100644 --- a/sphinx-docs/source/conf.py +++ b/sphinx-docs/source/conf.py @@ -16,6 +16,7 @@ # documentation root, make it absolute. # import sys +import shutil from pathlib import Path repo_dir = Path(__file__).absolute().parents[2] sys.path.insert(0, str(repo_dir)) @@ -84,3 +85,14 @@ 'members': True, 'undoc-members': True, } + + +# -- Copy markdown files to source directory -------------------------------- + +sphinx_root = Path(__file__).absolute().parent +repository_root = sphinx_root.parent.parent +repository_url = "https://github.com/microsoft/InnerEye-DeepLearning" + +# Copy all markdown files to the markdown directory +shutil.copy(repository_root / "README.md", sphinx_root / "docs") +shutil.copy(repository_root / "CHANGELOG.md", sphinx_root / "docs") From 6487d061246fe7db74b416f80d51f3417856e14f Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Fri, 22 Jul 2022 16:36:38 +0100 Subject: [PATCH 04/26] =?UTF-8?q?=F0=9F=93=9D=20Add=20back=20in=20link=20f?= =?UTF-8?q?ixing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - sphinx-docs/README.md | 2 +- sphinx-docs/old_Makefile.txt | 25 -------------------- sphinx-docs/old_make_dot_bat.txt | 40 -------------------------------- sphinx-docs/preprocess.py | 39 ------------------------------- sphinx-docs/source/conf.py | 19 +++++++++++++-- 6 files changed, 18 insertions(+), 108 deletions(-) delete mode 100644 sphinx-docs/old_Makefile.txt delete mode 100644 sphinx-docs/old_make_dot_bat.txt delete mode 100644 sphinx-docs/preprocess.py diff --git a/.gitignore b/.gitignore index 39b565961..335ddde18 100644 --- a/.gitignore +++ b/.gitignore @@ -85,7 +85,6 @@ instance/ # Sphinx documentation sphinx-docs/build/ -sphinx-docs/sphinx-build/ sphinx-docs/source/md/ sphinx-docs/source/docs/CHANGELOG.md sphinx-docs/source/docs/README.md diff --git a/sphinx-docs/README.md b/sphinx-docs/README.md index f2da9c1e7..ab763fd6b 100644 --- a/sphinx-docs/README.md +++ b/sphinx-docs/README.md @@ -7,4 +7,4 @@ pip install -r requirements.txt ``` -1. Run `make html` from the folder sphinx-docs. This will create html files under sphinx-docs/build/html. +1. Run `sphinx-build -b html sphinx-docs/source sphinx-docs/build` from the head of the repo. This will create html files under sphinx-docs/build/html. diff --git a/sphinx-docs/old_Makefile.txt b/sphinx-docs/old_Makefile.txt deleted file mode 100644 index fd3e94085..000000000 --- a/sphinx-docs/old_Makefile.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = source -BUILDDIR = build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Do some preprocessing, including copying over md files to the source directory so sphinx can find them, -# and changing references to codefiles in md files to urls. -preprocess: - python preprocess.py - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile preprocess - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/sphinx-docs/old_make_dot_bat.txt b/sphinx-docs/old_make_dot_bat.txt deleted file mode 100644 index 8fa6c5ae4..000000000 --- a/sphinx-docs/old_make_dot_bat.txt +++ /dev/null @@ -1,40 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=source -set BUILDDIR=build - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -REM Do some preprocessing, including copying over md files to the source directory so sphinx can find them, -REM and changing references to codefiles in md files to urls. -echo TEST PETER PRINTING -python preprocess.py - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd diff --git a/sphinx-docs/preprocess.py b/sphinx-docs/preprocess.py deleted file mode 100644 index 2a636ff95..000000000 --- a/sphinx-docs/preprocess.py +++ /dev/null @@ -1,39 +0,0 @@ -# ------------------------------------------------------------------------------------------ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. -# ------------------------------------------------------------------------------------------ -import logging -import shutil -from pathlib import Path - - -def replace_in_file(filepath: Path, original_str: str, replace_str: str) -> None: - """ - Replace all occurences of the original_str with replace_str in the file provided. - """ - text = filepath.read_text() - text = text.replace(original_str, replace_str) - filepath.write_text(text) - - -if __name__ == '__main__': - sphinx_root = Path(__file__).absolute().parent - repository_root = sphinx_root.parent - markdown_root = sphinx_root / "source" / "md" - repository_url = "https://github.com/microsoft/InnerEye-DeepLearning" - - # Create directories source/md and source/md/docs where files will be copied to - if markdown_root.exists(): - shutil.rmtree(markdown_root) - markdown_root.mkdir() - - # Copy all markdown files to the markdown directory - logging.info("Copying markdown files to {}".format(markdown_root / "docs")) - shutil.copytree(repository_root / "docs", markdown_root / "docs") - shutil.copy(repository_root / "README.md", markdown_root / "docs") - shutil.copy(repository_root / "CHANGELOG.md", markdown_root / "docs") - - # replace links to files in repository with urls - md_files = markdown_root.rglob("*.md") - for filepath in md_files: - replace_in_file(filepath, "](/", f"]({repository_url}/blob/main/") diff --git a/sphinx-docs/source/conf.py b/sphinx-docs/source/conf.py index 981834a6e..60e067c8d 100644 --- a/sphinx-docs/source/conf.py +++ b/sphinx-docs/source/conf.py @@ -89,10 +89,25 @@ # -- Copy markdown files to source directory -------------------------------- +def replace_in_file(filepath: Path, original_str: str, replace_str: str) -> None: + """ + Replace all occurences of the original_str with replace_str in the file provided. + """ + text = filepath.read_text() + text = text.replace(original_str, replace_str) + filepath.write_text(text) + sphinx_root = Path(__file__).absolute().parent +docs_path = Path(sphinx_root / "docs") repository_root = sphinx_root.parent.parent repository_url = "https://github.com/microsoft/InnerEye-DeepLearning" # Copy all markdown files to the markdown directory -shutil.copy(repository_root / "README.md", sphinx_root / "docs") -shutil.copy(repository_root / "CHANGELOG.md", sphinx_root / "docs") +shutil.copy(repository_root / "README.md", docs_path) +shutil.copy(repository_root / "CHANGELOG.md", docs_path) + +# replace links to files in repository with urls +md_files = docs_path.rglob("*.md") +print(f"MY FILES: {[f for f in md_files]}") +for filepath in md_files: + replace_in_file(filepath, "](/", f"]({repository_url}/blob/main/") From da3f4de414a55a5d67b134a4cff448633c60d886 Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Fri, 22 Jul 2022 16:41:58 +0100 Subject: [PATCH 05/26] =?UTF-8?q?=F0=9F=90=9B=20Fix=20docs=20links?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sphinx-docs/source/docs/bring_your_own_model.md | 6 +++--- sphinx-docs/source/docs/building_models.md | 2 +- sphinx-docs/source/docs/fastmri.md | 4 ++-- sphinx-docs/source/docs/hello_world_model.md | 2 +- sphinx-docs/source/docs/sample_tasks.md | 2 +- sphinx-docs/source/docs/setting_up_aml.md | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sphinx-docs/source/docs/bring_your_own_model.md b/sphinx-docs/source/docs/bring_your_own_model.md index ccc8fb771..8e7c71f26 100644 --- a/sphinx-docs/source/docs/bring_your_own_model.md +++ b/sphinx-docs/source/docs/bring_your_own_model.md @@ -15,7 +15,7 @@ be used for training and testing. - Invoking the InnerEye runner and providing the name of the container class, like this: `python InnerEye/ML/runner.py --model=MyContainer`. To train in AzureML, just add a `--azureml` flag. -There is a fully working example [HelloContainer](../InnerEye/ML/configs/other/HelloContainer.py), that implements +There is a fully working example [HelloContainer](../../../InnerEye/ML/configs/other/HelloContainer.py), that implements a simple 1-dimensional regression model from data stored in a CSV file. You can run that from the command line by `python InnerEye/ML/runner.py --model=HelloContainer`. @@ -46,7 +46,7 @@ If you are doing cross validation you need to ensure that the `LightningDataModu preparing the data. - Needs to log val/Loss in its `validation_step` method. You can find a working example of handling cross validation in the -[HelloContainer](../InnerEye/ML/configs/other/HelloContainer.py) class. +[HelloContainer](../../../InnerEye/ML/configs/other/HelloContainer.py) class. *Example*: ```python @@ -154,7 +154,7 @@ class MyContainer(LightningContainer): ``` For further details how the `TrainerParams` are used, refer to the `create_lightning_trainer` method in -[InnerEye/ML/model_training.py](../InnerEye/ML/model_training.py) +[InnerEye/ML/model_training.py](../../../InnerEye/ML/model_training.py) ### Optimizer and LR scheduler arguments There are two possible ways of choosing the optimizer and LR scheduler: diff --git a/sphinx-docs/source/docs/building_models.md b/sphinx-docs/source/docs/building_models.md index ce5c0f5b4..ac57dcb75 100755 --- a/sphinx-docs/source/docs/building_models.md +++ b/sphinx-docs/source/docs/building_models.md @@ -314,7 +314,7 @@ the `metrics.csv` files of the current run and the comparison run(s). between the current run and any specified baselines (earlier runs) to compare with. Each paragraph of that file compares two models and indicates, for each structure, when the Dice scores for the second model are significantly better or worse than the first. For full details, see the - [source code](../InnerEye/Common/Statistics/wilcoxon_signed_rank_test.py). + [source code](../../../InnerEye/Common/Statistics/wilcoxon_signed_rank_test.py). * A directory `scatterplots`, containing a `png` file for every pairing of the current model with one of the baselines. Each one is named `AAA_vs_BBB.png`, where `AAA` and `BBB` are the run IDs of the two models. Each plot shows the Dice scores on the test set for the models. diff --git a/sphinx-docs/source/docs/fastmri.md b/sphinx-docs/source/docs/fastmri.md index b5874bda2..d0afd8a2d 100644 --- a/sphinx-docs/source/docs/fastmri.md +++ b/sphinx-docs/source/docs/fastmri.md @@ -84,7 +84,7 @@ Hence, after the downloading completes, you are ready to use the InnerEye toolbo the FastMRI data. There are 2 example models already coded up in the InnerEye toolbox, defined in -[fastmri_varnet.py](../InnerEye/ML/configs/other/fastmri_varnet.py): `KneeMulticoil` and +[fastmri_varnet.py](../../../InnerEye/ML/configs/other/fastmri_varnet.py): `KneeMulticoil` and `BrainMulticoil`. As with all InnerEye models, you can start a training run by specifying the name of the class that defines the model, like this: ```shell @@ -185,7 +185,7 @@ The code will recognize that an Azure dataset named `brain_multicoil` is already and skip the download. If you choose to download the dataset to a different folder, for example `/foo/brain_multicoil`, you will need to -make a small adjustment to the model in [fastmri_varnet.py](../InnerEye/ML/configs/other/fastmri_varnet.py), +make a small adjustment to the model in [fastmri_varnet.py](../../../InnerEye/ML/configs/other/fastmri_varnet.py), and add the `local_dataset` argument like this: ```python class BrainMulticoil(FastMri): diff --git a/sphinx-docs/source/docs/hello_world_model.md b/sphinx-docs/source/docs/hello_world_model.md index 046b1a98f..8da441a29 100644 --- a/sphinx-docs/source/docs/hello_world_model.md +++ b/sphinx-docs/source/docs/hello_world_model.md @@ -1,6 +1,6 @@ # Training a Hello World segmentation model -In the configs folder, you will find a config file called [HelloWorld.py](../InnerEye/ML/configs/segmentation/HelloWorld.py) +In the configs folder, you will find a config file called [HelloWorld.py](../../../InnerEye/ML/configs/segmentation/HelloWorld.py) We have created this file to demonstrate how to: 1. Subclass SegmentationModelBase which is the base config for all segmentation model configs diff --git a/sphinx-docs/source/docs/sample_tasks.md b/sphinx-docs/source/docs/sample_tasks.md index 1142a4f69..a9608429c 100644 --- a/sphinx-docs/source/docs/sample_tasks.md +++ b/sphinx-docs/source/docs/sample_tasks.md @@ -77,7 +77,7 @@ into a folder in the `datasets` container, for example `my_lung_dataset`. This f ### Creating the model configuration and starting training You can then create a new model configuration, based on the template -[Lung.py](../InnerEye/ML/configs/segmentation/Lung.py). To do this, create a file +[Lung.py](../../../InnerEye/ML/configs/segmentation/Lung.py). To do this, create a file `InnerEye/ML/configs/segmentation/MyLungModel.py`, where you create a subclass of the template Lung model, and add the `azure_dataset_id` field (i.e., the name of the folder that contains the uploaded data from above), so that it looks like: diff --git a/sphinx-docs/source/docs/setting_up_aml.md b/sphinx-docs/source/docs/setting_up_aml.md index 46e2356fe..3ceab06c3 100644 --- a/sphinx-docs/source/docs/setting_up_aml.md +++ b/sphinx-docs/source/docs/setting_up_aml.md @@ -179,7 +179,7 @@ create a container called "datasets". ### Step 6: Update the variables in `settings.yml` -The [settings.yml](../InnerEye/settings.yml) file is used to store your Azure setup. In order to be able to +The [settings.yml](../../../InnerEye/settings.yml) file is used to store your Azure setup. In order to be able to train your model you will need to update this file using the settings for your Azure subscription. 1. You will first need to retrieve your `tenant_id`. You can find your tenant id by navigating to @@ -188,7 +188,7 @@ resource. Copy and paste the GUID to the `tenant_id` field of the `.yml` file. M [here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant). 1. You then need to retrieve your subscription id. In the search bar look for `Subscriptions`. Then in the subscriptions list, look for the subscription you are using for your workspace. Copy the value of the `Subscription ID` in the corresponding -field of [settings.yml](../InnerEye/settings.yml). +field of [settings.yml](../../../InnerEye/settings.yml). 1. Copy the application ID of your Service Principal that you retrieved earlier (cf. Step 3) to the `application_id` field. If you did not set up a Service Principal, fill that with an empty string or leave out altogether. 1. Update the `resource_group:` field with your resource group name (created in Step 1). From a319eacef3e8c90398a0fe1406bca710270c7cf4 Mon Sep 17 00:00:00 2001 From: Peter Hessey Date: Fri, 22 Jul 2022 16:53:10 +0100 Subject: [PATCH 06/26] =?UTF-8?q?=F0=9F=9A=A8=20=F0=9F=93=9D=20Fix=20markd?= =?UTF-8?q?own=20linting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/build/doctrees/docs/CHANGELOG.doctree | Bin 0 -> 157054 bytes .../doctrees/docs/InnerEye/README.doctree | Bin 0 -> 4987 bytes docs/build/doctrees/docs/WSL.doctree | Bin 0 -> 18196 bytes .../docs/bring_your_own_model.doctree | Bin 0 -> 49093 bytes .../doctrees/docs/building_models.doctree | Bin 0 -> 98793 bytes docs/build/doctrees/docs/contributing.doctree | Bin 0 -> 14826 bytes .../doctrees/docs/creating_dataset.doctree | Bin 0 -> 67103 bytes .../docs/debugging_and_monitoring.doctree | Bin 0 -> 27724 bytes .../build/doctrees/docs/deploy_on_aml.doctree | Bin 0 -> 19416 bytes docs/build/doctrees/docs/environment.doctree | Bin 0 -> 44437 bytes docs/build/doctrees/docs/fastmri.doctree | Bin 0 -> 53009 bytes .../doctrees/docs/hello_world_model.doctree | Bin 0 -> 20918 bytes .../doctrees/docs/hippocampus_model.doctree | Bin 0 -> 31592 bytes .../docs/innereye_as_submodule.doctree | Bin 0 -> 18614 bytes .../docs/innereye_deeplearning.doctree | Bin 0 -> 39898 bytes .../doctrees/docs/model_diagnostics.doctree | Bin 0 -> 7186 bytes docs/build/doctrees/docs/move_model.doctree | Bin 0 -> 11010 bytes .../build/doctrees/docs/pull_requests.doctree | Bin 0 -> 8233 bytes docs/build/doctrees/docs/releases.doctree | Bin 0 -> 4740 bytes docs/build/doctrees/docs/sample_tasks.doctree | Bin 0 -> 30036 bytes .../docs/self_supervised_models.doctree | Bin 0 -> 49739 bytes .../doctrees/docs/setting_up_aml.doctree | Bin 0 -> 63077 bytes docs/build/doctrees/docs/testing.doctree | Bin 0 -> 6508 bytes docs/build/doctrees/environment.pickle | Bin 0 -> 323665 bytes docs/build/doctrees/index.doctree | Bin 0 -> 5588 bytes .../doctrees/rst/api/ML/augmentations.doctree | Bin 0 -> 67998 bytes .../build/doctrees/rst/api/ML/configs.doctree | Bin 0 -> 391321 bytes docs/build/doctrees/rst/api/ML/index.doctree | Bin 0 -> 2892 bytes .../api/ML/photometric_normalization.doctree | Bin 0 -> 64490 bytes .../doctrees/rst/api/ML/pipelines.doctree | Bin 0 -> 150622 bytes docs/build/doctrees/rst/api/ML/runner.doctree | Bin 0 -> 52337 bytes docs/build/doctrees/rst/api/index.doctree | Bin 0 -> 2482 bytes docs/build/html/.buildinfo | 4 + docs/build/html/_images/deployment.png | 3 + .../screenshot_azureml_patch_sampling.png | 3 + .../augmentation_for_segmentation_utils.html | 252 + .../ML/augmentations/image_transforms.html | 240 + .../ML/augmentations/transform_pipeline.html | 274 + .../html/_modules/InnerEye/ML/config.html | 935 ++ .../ML/photometric_normalization.html | 482 + .../InnerEye/ML/pipelines/ensemble.html | 219 + .../InnerEye/ML/pipelines/inference.html | 462 + .../ML/pipelines/scalar_inference.html | 314 + .../html/_modules/InnerEye/ML/runner.html | 585 + docs/build/html/_modules/index.html | 276 + .../build/html/_sources/docs/CHANGELOG.md.txt | 375 + .../html/_sources/docs/InnerEye/README.md.txt | 22 + docs/build/html/_sources/docs/WSL.md.txt | 99 + .../_sources/docs/bring_your_own_model.md.txt | 270 + .../html/_sources/docs/building_models.md.txt | 408 + .../html/_sources/docs/contributing.md.txt | 51 + .../_sources/docs/creating_dataset.md.txt | 345 + .../docs/debugging_and_monitoring.md.txt | 111 + .../html/_sources/docs/deploy_on_aml.md.txt | 74 + .../html/_sources/docs/environment.md.txt | 224 + docs/build/html/_sources/docs/fastmri.md.txt | 217 + .../_sources/docs/hello_world_model.md.txt | 81 + .../_sources/docs/hippocampus_model.md.txt | 119 + .../docs/innereye_as_submodule.md.txt | 105 + .../docs/innereye_deeplearning.md.txt | 160 + .../_sources/docs/model_diagnostics.md.txt | 25 + .../html/_sources/docs/move_model.md.txt | 28 + .../html/_sources/docs/pull_requests.md.txt | 19 + docs/build/html/_sources/docs/releases.md.txt | 12 + .../html/_sources/docs/sample_tasks.md.txt | 125 + .../docs/self_supervised_models.md.txt | 200 + .../html/_sources/docs/setting_up_aml.md.txt | 231 + docs/build/html/_sources/docs/testing.md.txt | 21 + docs/build/html/_sources/index.rst.txt | 50 + .../_sources/rst/api/ML/augmentations.rst.txt | 8 + .../html/_sources/rst/api/ML/configs.rst.txt | 43 + .../html/_sources/rst/api/ML/index.rst.txt | 10 + .../api/ML/photometric_normalization.rst.txt | 4 + .../_sources/rst/api/ML/pipelines.rst.txt | 8 + .../html/_sources/rst/api/ML/runner.rst.txt | 4 + .../build/html/_sources/rst/api/index.rst.txt | 3 + .../_sphinx_javascript_frameworks_compat.js | 134 + docs/build/html/_static/basic.css | 930 ++ docs/build/html/_static/css/badge_only.css | 1 + .../_static/css/fonts/Roboto-Slab-Bold.woff | Bin 0 -> 87624 bytes .../_static/css/fonts/Roboto-Slab-Bold.woff2 | Bin 0 -> 67312 bytes .../css/fonts/Roboto-Slab-Regular.woff | Bin 0 -> 86288 bytes .../css/fonts/Roboto-Slab-Regular.woff2 | Bin 0 -> 66444 bytes .../_static/css/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../_static/css/fonts/fontawesome-webfont.svg | 2671 ++++ .../_static/css/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../css/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../css/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../_static/css/fonts/lato-bold-italic.woff | Bin 0 -> 323344 bytes .../_static/css/fonts/lato-bold-italic.woff2 | Bin 0 -> 193308 bytes .../html/_static/css/fonts/lato-bold.woff | Bin 0 -> 309728 bytes .../html/_static/css/fonts/lato-bold.woff2 | Bin 0 -> 184912 bytes .../_static/css/fonts/lato-normal-italic.woff | Bin 0 -> 328412 bytes .../css/fonts/lato-normal-italic.woff2 | Bin 0 -> 195704 bytes .../html/_static/css/fonts/lato-normal.woff | Bin 0 -> 309192 bytes .../html/_static/css/fonts/lato-normal.woff2 | Bin 0 -> 182708 bytes docs/build/html/_static/css/theme.css | 4 + docs/build/html/_static/debug.css | 69 + docs/build/html/_static/doctools.js | 264 + .../html/_static/documentation_options.js | 14 + docs/build/html/_static/file.png | 3 + docs/build/html/_static/jquery-3.6.0.js | 10881 ++++++++++++++++ docs/build/html/_static/jquery.js | 2 + docs/build/html/_static/js/badge_only.js | 1 + .../_static/js/html5shiv-printshiv.min.js | 4 + docs/build/html/_static/js/html5shiv.min.js | 4 + docs/build/html/_static/js/theme.js | 1 + docs/build/html/_static/language_data.js | 199 + docs/build/html/_static/minus.png | 3 + docs/build/html/_static/plus.png | 3 + docs/build/html/_static/pygments.css | 252 + .../html/_static/scripts/furo-extensions.js | 0 docs/build/html/_static/scripts/furo.js | 3 + .../html/_static/scripts/furo.js.LICENSE.txt | 7 + docs/build/html/_static/scripts/furo.js.map | 1 + docs/build/html/_static/searchtools.js | 531 + docs/build/html/_static/skeleton.css | 296 + .../html/_static/styles/furo-extensions.css | 2 + .../_static/styles/furo-extensions.css.map | 1 + docs/build/html/_static/styles/furo.css | 2 + docs/build/html/_static/styles/furo.css.map | 1 + docs/build/html/_static/underscore-1.13.1.js | 2042 +++ docs/build/html/_static/underscore.js | 6 + docs/build/html/docs/CHANGELOG.html | 747 ++ docs/build/html/docs/InnerEye/README.html | 312 + docs/build/html/docs/WSL.html | 401 + .../build/html/docs/bring_your_own_model.html | 580 + docs/build/html/docs/building_models.html | 711 + docs/build/html/docs/contributing.html | 369 + docs/build/html/docs/creating_dataset.html | 649 + .../html/docs/debugging_and_monitoring.html | 417 + docs/build/html/docs/deploy_on_aml.html | 374 + docs/build/html/docs/environment.html | 550 + docs/build/html/docs/fastmri.html | 506 + docs/build/html/docs/hello_world_model.html | 379 + docs/build/html/docs/hippocampus_model.html | 428 + .../html/docs/innereye_as_submodule.html | 408 + .../html/docs/innereye_deeplearning.html | 471 + docs/build/html/docs/model_diagnostics.html | 327 + docs/build/html/docs/move_model.html | 311 + docs/build/html/docs/pull_requests.html | 307 + docs/build/html/docs/releases.html | 296 + docs/build/html/docs/sample_tasks.html | 417 + .../html/docs/self_supervised_models.html | 525 + docs/build/html/docs/setting_up_aml.html | 532 + docs/build/html/docs/testing.html | 304 + docs/build/html/genindex.html | 948 ++ docs/build/html/index.html | 347 + docs/build/html/objects.inv | Bin 0 -> 3193 bytes docs/build/html/py-modindex.html | 339 + docs/build/html/rst/api/ML/augmentations.html | 431 + docs/build/html/rst/api/ML/configs.html | 1261 ++ docs/build/html/rst/api/ML/index.html | 297 + .../rst/api/ML/photometric_normalization.html | 391 + docs/build/html/rst/api/ML/pipelines.html | 571 + docs/build/html/rst/api/ML/runner.html | 386 + docs/build/html/rst/api/index.html | 297 + docs/build/html/search.html | 278 + docs/build/html/searchindex.js | 1 + sphinx-docs/source/conf.py | 3 +- sphinx-docs/source/docs/WSL.md | 12 +- .../source/docs/bring_your_own_model.md | 18 +- .../source/docs/debugging_and_monitoring.md | 25 +- sphinx-docs/source/docs/deploy_on_aml.md | 6 +- sphinx-docs/source/docs/fastmri.md | 44 +- .../source/docs/innereye_as_submodule.md | 14 +- sphinx-docs/source/docs/model_diagnostics.md | 2 +- sphinx-docs/source/docs/pull_requests.md | 2 +- sphinx-docs/source/docs/sample_tasks.md | 32 +- .../source/docs/self_supervised_models.md | 25 +- sphinx-docs/source/docs/testing.md | 2 +- 171 files changed, 41827 insertions(+), 59 deletions(-) create mode 100644 docs/build/doctrees/docs/CHANGELOG.doctree create mode 100644 docs/build/doctrees/docs/InnerEye/README.doctree create mode 100644 docs/build/doctrees/docs/WSL.doctree create mode 100644 docs/build/doctrees/docs/bring_your_own_model.doctree create mode 100644 docs/build/doctrees/docs/building_models.doctree create mode 100644 docs/build/doctrees/docs/contributing.doctree create mode 100644 docs/build/doctrees/docs/creating_dataset.doctree create mode 100644 docs/build/doctrees/docs/debugging_and_monitoring.doctree create mode 100644 docs/build/doctrees/docs/deploy_on_aml.doctree create mode 100644 docs/build/doctrees/docs/environment.doctree create mode 100644 docs/build/doctrees/docs/fastmri.doctree create mode 100644 docs/build/doctrees/docs/hello_world_model.doctree create mode 100644 docs/build/doctrees/docs/hippocampus_model.doctree create mode 100644 docs/build/doctrees/docs/innereye_as_submodule.doctree create mode 100644 docs/build/doctrees/docs/innereye_deeplearning.doctree create mode 100644 docs/build/doctrees/docs/model_diagnostics.doctree create mode 100644 docs/build/doctrees/docs/move_model.doctree create mode 100644 docs/build/doctrees/docs/pull_requests.doctree create mode 100644 docs/build/doctrees/docs/releases.doctree create mode 100644 docs/build/doctrees/docs/sample_tasks.doctree create mode 100644 docs/build/doctrees/docs/self_supervised_models.doctree create mode 100644 docs/build/doctrees/docs/setting_up_aml.doctree create mode 100644 docs/build/doctrees/docs/testing.doctree create mode 100644 docs/build/doctrees/environment.pickle create mode 100644 docs/build/doctrees/index.doctree create mode 100644 docs/build/doctrees/rst/api/ML/augmentations.doctree create mode 100644 docs/build/doctrees/rst/api/ML/configs.doctree create mode 100644 docs/build/doctrees/rst/api/ML/index.doctree create mode 100644 docs/build/doctrees/rst/api/ML/photometric_normalization.doctree create mode 100644 docs/build/doctrees/rst/api/ML/pipelines.doctree create mode 100644 docs/build/doctrees/rst/api/ML/runner.doctree create mode 100644 docs/build/doctrees/rst/api/index.doctree create mode 100644 docs/build/html/.buildinfo create mode 100644 docs/build/html/_images/deployment.png create mode 100644 docs/build/html/_images/screenshot_azureml_patch_sampling.png create mode 100644 docs/build/html/_modules/InnerEye/ML/augmentations/augmentation_for_segmentation_utils.html create mode 100644 docs/build/html/_modules/InnerEye/ML/augmentations/image_transforms.html create mode 100644 docs/build/html/_modules/InnerEye/ML/augmentations/transform_pipeline.html create mode 100644 docs/build/html/_modules/InnerEye/ML/config.html create mode 100644 docs/build/html/_modules/InnerEye/ML/photometric_normalization.html create mode 100644 docs/build/html/_modules/InnerEye/ML/pipelines/ensemble.html create mode 100644 docs/build/html/_modules/InnerEye/ML/pipelines/inference.html create mode 100644 docs/build/html/_modules/InnerEye/ML/pipelines/scalar_inference.html create mode 100644 docs/build/html/_modules/InnerEye/ML/runner.html create mode 100644 docs/build/html/_modules/index.html create mode 100644 docs/build/html/_sources/docs/CHANGELOG.md.txt create mode 100644 docs/build/html/_sources/docs/InnerEye/README.md.txt create mode 100644 docs/build/html/_sources/docs/WSL.md.txt create mode 100644 docs/build/html/_sources/docs/bring_your_own_model.md.txt create mode 100644 docs/build/html/_sources/docs/building_models.md.txt create mode 100644 docs/build/html/_sources/docs/contributing.md.txt create mode 100644 docs/build/html/_sources/docs/creating_dataset.md.txt create mode 100644 docs/build/html/_sources/docs/debugging_and_monitoring.md.txt create mode 100644 docs/build/html/_sources/docs/deploy_on_aml.md.txt create mode 100644 docs/build/html/_sources/docs/environment.md.txt create mode 100644 docs/build/html/_sources/docs/fastmri.md.txt create mode 100644 docs/build/html/_sources/docs/hello_world_model.md.txt create mode 100644 docs/build/html/_sources/docs/hippocampus_model.md.txt create mode 100644 docs/build/html/_sources/docs/innereye_as_submodule.md.txt create mode 100644 docs/build/html/_sources/docs/innereye_deeplearning.md.txt create mode 100644 docs/build/html/_sources/docs/model_diagnostics.md.txt create mode 100644 docs/build/html/_sources/docs/move_model.md.txt create mode 100644 docs/build/html/_sources/docs/pull_requests.md.txt create mode 100644 docs/build/html/_sources/docs/releases.md.txt create mode 100644 docs/build/html/_sources/docs/sample_tasks.md.txt create mode 100644 docs/build/html/_sources/docs/self_supervised_models.md.txt create mode 100644 docs/build/html/_sources/docs/setting_up_aml.md.txt create mode 100644 docs/build/html/_sources/docs/testing.md.txt create mode 100644 docs/build/html/_sources/index.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/augmentations.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/configs.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/index.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/photometric_normalization.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/pipelines.rst.txt create mode 100644 docs/build/html/_sources/rst/api/ML/runner.rst.txt create mode 100644 docs/build/html/_sources/rst/api/index.rst.txt create mode 100644 docs/build/html/_static/_sphinx_javascript_frameworks_compat.js create mode 100644 docs/build/html/_static/basic.css create mode 100644 docs/build/html/_static/css/badge_only.css create mode 100644 docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff create mode 100644 docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 create mode 100644 docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff create mode 100644 docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 create mode 100644 docs/build/html/_static/css/fonts/fontawesome-webfont.eot create mode 100644 docs/build/html/_static/css/fonts/fontawesome-webfont.svg create mode 100644 docs/build/html/_static/css/fonts/fontawesome-webfont.ttf create mode 100644 docs/build/html/_static/css/fonts/fontawesome-webfont.woff create mode 100644 docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 create mode 100644 docs/build/html/_static/css/fonts/lato-bold-italic.woff create mode 100644 docs/build/html/_static/css/fonts/lato-bold-italic.woff2 create mode 100644 docs/build/html/_static/css/fonts/lato-bold.woff create mode 100644 docs/build/html/_static/css/fonts/lato-bold.woff2 create mode 100644 docs/build/html/_static/css/fonts/lato-normal-italic.woff create mode 100644 docs/build/html/_static/css/fonts/lato-normal-italic.woff2 create mode 100644 docs/build/html/_static/css/fonts/lato-normal.woff create mode 100644 docs/build/html/_static/css/fonts/lato-normal.woff2 create mode 100644 docs/build/html/_static/css/theme.css create mode 100644 docs/build/html/_static/debug.css create mode 100644 docs/build/html/_static/doctools.js create mode 100644 docs/build/html/_static/documentation_options.js create mode 100644 docs/build/html/_static/file.png create mode 100644 docs/build/html/_static/jquery-3.6.0.js create mode 100644 docs/build/html/_static/jquery.js create mode 100644 docs/build/html/_static/js/badge_only.js create mode 100644 docs/build/html/_static/js/html5shiv-printshiv.min.js create mode 100644 docs/build/html/_static/js/html5shiv.min.js create mode 100644 docs/build/html/_static/js/theme.js create mode 100644 docs/build/html/_static/language_data.js create mode 100644 docs/build/html/_static/minus.png create mode 100644 docs/build/html/_static/plus.png create mode 100644 docs/build/html/_static/pygments.css create mode 100644 docs/build/html/_static/scripts/furo-extensions.js create mode 100644 docs/build/html/_static/scripts/furo.js create mode 100644 docs/build/html/_static/scripts/furo.js.LICENSE.txt create mode 100644 docs/build/html/_static/scripts/furo.js.map create mode 100644 docs/build/html/_static/searchtools.js create mode 100644 docs/build/html/_static/skeleton.css create mode 100644 docs/build/html/_static/styles/furo-extensions.css create mode 100644 docs/build/html/_static/styles/furo-extensions.css.map create mode 100644 docs/build/html/_static/styles/furo.css create mode 100644 docs/build/html/_static/styles/furo.css.map create mode 100644 docs/build/html/_static/underscore-1.13.1.js create mode 100644 docs/build/html/_static/underscore.js create mode 100644 docs/build/html/docs/CHANGELOG.html create mode 100644 docs/build/html/docs/InnerEye/README.html create mode 100644 docs/build/html/docs/WSL.html create mode 100644 docs/build/html/docs/bring_your_own_model.html create mode 100644 docs/build/html/docs/building_models.html create mode 100644 docs/build/html/docs/contributing.html create mode 100644 docs/build/html/docs/creating_dataset.html create mode 100644 docs/build/html/docs/debugging_and_monitoring.html create mode 100644 docs/build/html/docs/deploy_on_aml.html create mode 100644 docs/build/html/docs/environment.html create mode 100644 docs/build/html/docs/fastmri.html create mode 100644 docs/build/html/docs/hello_world_model.html create mode 100644 docs/build/html/docs/hippocampus_model.html create mode 100644 docs/build/html/docs/innereye_as_submodule.html create mode 100644 docs/build/html/docs/innereye_deeplearning.html create mode 100644 docs/build/html/docs/model_diagnostics.html create mode 100644 docs/build/html/docs/move_model.html create mode 100644 docs/build/html/docs/pull_requests.html create mode 100644 docs/build/html/docs/releases.html create mode 100644 docs/build/html/docs/sample_tasks.html create mode 100644 docs/build/html/docs/self_supervised_models.html create mode 100644 docs/build/html/docs/setting_up_aml.html create mode 100644 docs/build/html/docs/testing.html create mode 100644 docs/build/html/genindex.html create mode 100644 docs/build/html/index.html create mode 100644 docs/build/html/objects.inv create mode 100644 docs/build/html/py-modindex.html create mode 100644 docs/build/html/rst/api/ML/augmentations.html create mode 100644 docs/build/html/rst/api/ML/configs.html create mode 100644 docs/build/html/rst/api/ML/index.html create mode 100644 docs/build/html/rst/api/ML/photometric_normalization.html create mode 100644 docs/build/html/rst/api/ML/pipelines.html create mode 100644 docs/build/html/rst/api/ML/runner.html create mode 100644 docs/build/html/rst/api/index.html create mode 100644 docs/build/html/search.html create mode 100644 docs/build/html/searchindex.js diff --git a/docs/build/doctrees/docs/CHANGELOG.doctree b/docs/build/doctrees/docs/CHANGELOG.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a3e22b29ac41f2770b33b87b36d9155ecf757092 GIT binary patch literal 157054 zcmdSC37A~RbskC(8_@s(ZX(6~a*;3~XBvZL0FV?ZfddkR2!KNXT(nTFJKcAto9O9o z_JYCiNj4REk)Oww7bsdH#a6t?OKi)LBim1MK5vniJlmfW+p-k)SHW!=p%fy>0EM= z8n<74^(9HkmR5{*yO*lhu5K$CLaQ5Bw8p);8z4>^x5O=%n+I+7IzKD;F zwMvI*-de85oem!2@0%O(lKk6Mm0pW~%*W;P?PP(z>8)<<#*6goQgv7Ljwd%%Z>{dA z-oAQ#Z?(CU>}^#ORJOABOwww0_MT`olJ;XO$<(nVX`M{scB9r<+zV1WdnJkT@3T)F zJ$?MKlTRHlE>$k|=E3$huof@2<5txY&+~hrr^n)UeI>e(v^x-MCu%N4-D<59b(_ul zeDh+|>m-#Zj+Wv^FRtUmayyB;cvRMcEf$W7Qm5i}xf<=C-oJk`T27*Bd?ATC%e8K~ zim$s(R0L9^-wUc@hcalj_yc{>8N;B#-qh>=CJR{$BP+~DD79NX1ttt_fn~iQ< z1NSi+Y@8QW-~D*6UXKiZ?k)-hO;m4OJ-Tj@T~dgHs`plJt8T2`e!6-GK!wUT6mnkf zA70cswQc;uD<95zeQS=Aa*FvFs7?adR|x)|8n7HTg z^aFdMXId4EEm5^LwN#Hfz4@hPrB_ebj&GQ-VEB_Z;ng`)*(Rz>vnzivw?A(e$~Fqs z(weM63)0w2t!rzr6Vg(2Dr<0aHkV9ginYOAh+6px$r!bg%@&dM8Gx1w{1_LgepU;w zPc!9-dk!5syeB$}!G9^nxGkm>af8PB24*vuUv%&cBR)oY4CZ2b6VVJo&P$T$?AenM zEIB5VZJHL)ca7fCJbq!~a(wQYPKJ8_$ktR!y&#CyOFvj}|I03vEr<1}mm1XS-32)+ zI+c3gF=kOQt10;m#t4!6Wmb8%Y&1rwKo~|20wYJzd(T#z%TXm+h= z$w?jaOjv+kLo78e#O+!)O3t&hIkYbU2pW+=OAi1jJ^fdiJZ@q|WK z*=SQM`#Ol0sa49x(6=^WFehARsFI12#PA=cWRwY1@=@y9M=(xRD$zo(A+$>)^J3DC z;C8_%ej%wx5ZSC&J%#~46IV_=6~WC@jm|aU0KyOQ z%d}$neWvE&jj5nhtJQagrax2f0&X{CQ!*IpyY!v+~<;x?5gdg3o zaIB`y`^{3WEEKnn!BahA>WfB{Vc|K>(cM#1 zaCF~o=JJzb^`^#qf>ei`&3G7h_1cjQIEWkelS8omLMZD~y z{$8yEcW$qdVPjrXlX zqxoXX7hd^R=wo0tmaooNO=;ZvWM#N)4n{f&^EF0=VMs@rK%|p53eCw>;-(~4*ZwDvOm zW!TEPP>Z9JwZ&?ecK)!BcD&U)+l{-OQ?mG^TOEOj>@T2&ow)M(Xr88K0$bv74K5U_ zwD2fBKZl>QaLUpCT)9BKqB0rL zY;XmPm8*LMEc?LxE+cIZm?13&GyP!Qew9;hJYc3aHJEP(Hkeuk=GS<&Y0=3g6o1=R zx7OjqZpU@Yi@mzt0)S>Y^^7_Ha4_ef{KXH_*J;Axw3WMY+byW&k?hP%`dGSg_4Zt# z=GUFxh_pnk1a{-IK5$)*37kiHb(R6dBfa(ab(ZNr`%x&}{JXi!=);0v3upiJO|M24BFB%-$V^tk~!y;%f{(?Hf5+yJ>1_0$uhNS zxQFj+O|oF*aFwBRQX=GpVLwd8C=;mS8kR8!Xj2v{ZnnfE69!0bveF`@Tiu4jKtRxNhc&u?d!hl75J4v5)|DNa+xjPr?@uJ){T_C3cMXa`)b#llrlcQC2H`Bv1Z0#QyVm&A?*j^BCJB&ob zpoB7kP{K-pPbTk zT3{(b5gC|Ks#P)!%2C6O*PvJ-Rv^vN$qA?2cyL8+YFym|*)z2YSMc5sCoPKwuFMZB z&-**_Wt~%b+AndHSZhHmy4&&thG!*M#1N785;D=+g+oprDJVWe&;=N{_zfsgpE#c3Mf9 zLd`@#DecIJb1*XAR9B+cIvHKzs|}03t}tUSZ1IEj^bJnAF?9vBsk_4Kpb(~3b%h&* ziFHJ1k;w%lduc@8=ohxeXVz<$!nX%Y!9pw3WTAB<^qE7q>$K!Le0=RpLq+rBK4v~X zJu*J_4UbDE!{uu5*hHZC7l!z-UWzh-y%aI|GlyVpF^U6X!he7*Fhqh?o6YlCaU!2L z-8OJGT%lJVRflB4I@9rfW?IfQKJT92=VZk9zUQqN zjIfooGe*Aq9c88#7a*8HKtEW#2b^-_0RgqCL9hqvVQLi!b_);;7N|uz*U@L0PK{LV zrq?+EJ&!x0!>IP;2=#5T>S-x`g6~E5i)<4H&wQlaXL0*t?Lx8HUfdhcclPezH~m0y zdV1zC&r-a)+Ny!bC~|d?-8`Xy4hd4t6Gnhx78GRyJL$*KN$CI!85R>FF)L3PqYL%K zskBl|aqcB_v4z^=#GV2TgEZbJ4LbY~QM6^dCOiUSU611Uj+bR{1WQ;az94;MW?t6|1PzFg$jsK%{ULK89} zx>M7MEq|ekUV~lyV9pWhDW$Bo|_w|ii zvL&n8&ijO+bbYWeEbGg(>F$BK)fA1*;VNYkxHie@U^J6F|I%nb49zGLh~{&IW*pag zMr30V_CA_Z`|}9O1)z!3_(BtoGHmjTNM)KCgZD~|*~x`kyV+>a`~t6AA{9)1#Sh_w zj`UNj0uZ5fNf5SAaJ|7PH!cYC39c!KoT*h1ernW0Vo-2fp`aiN_Zhi_fdXX$K@kBI z(>U)#Ggc9@f#X}%CeG)rkozAw6Z{H(hat#kqo(a+Jov%vFF57Kq+qnEZB!BBV``Ox zZ_Q(vspWE^%A(fZW_S!!7Rm%F>#fv-;qRWMXzo@Mt8)ZqEjM(W_X47~I|%Ydq>p z9m@*pzWA!CcL<}}Lex;v;G#T^CLmW*t#jV5=Jy#^d}`ij`L#iprRHyP%8g0QXj7|s zF9grjDm6bd9#JtsxW!O_5S?Fbq!R`ZlnDgLVFHNi%`tYBX~uzw8s0y4y14QJb^O}@ zcZN={_U%r-&+g>^ms4(B+UHI_4XHAz%nVl> zs%j!;%7`FL)hH9F>Qkg@88{oEV^da~x=d~=Vy)+EjTk5HZ3@tvcn#q<^%jJN^uW%+xCVAC>xFk64%|u02%oMALhWB*GMrGJ%SJ z1d5+g^Ylu)*@6YP^eObc02MD_1i)4ic6P8ATgE|J*okhhm9dHQgN9t6!e{L1I)1Ql zKJAnnlfu!aR`?+Zm#I|>SKDT55eM_awT3F1X!(94fiOj*OrWAqlA;m&@|fJ)qxkKq zZjXGw6t}B`EM$IUY0p*S3xWIE0@5VPQ#o$|N-VYio>OjIYUfCq z!w@x7tJHpcRKj5pa2uf@Aj*E-$Ri8{C=&>RM+pRK>4sdS$ohcXc0d3+b)$pf9h|DV(&2WfPrKl{LyRviAE&SOuPQ>jSaTDwC5{dJH)Uzr(aGxl98gJ161yJLSd%1S==uBajqRtAK!Rv)-J9TxY1B ziIQ(O{DZ{!*`fosZ6k5u|AqPa)cp! zwp^QAk;lR3PMj>xH5N}SA<6e#y@!0U=I7(&GJ}1mjnAk>9&>R@-0uhZYeTB*)Y$ePey3`}6vQ!#LnJLUBNp{e_W77!IgRFb*Cd z9Ka!ZR@@pS7Dvr!Zbgjz5&HCWaazoeMKZAqH8BmCE>dszEB&r*IV&TyWGmfve(rI~ zjZ5k5{5%RVF||tR*acXFBv`{-VW@_Qj5`eTVH&0~!5XeW!-ug5K8G0_e3_jlg*uCk z3kr!tP(r8olp7Nm(5AKkk3ynMtpY=7+(KjAaND7{A&Q?catgx@ zl^F^*2e4Ht2fa!(C(dlr@P1?xAVF?H99C}E%5s~mRiBz~)^S*#JSy^@G74rxCh{0d z1p7TS9W}`rvbgAIflmSYq*$~nEQ~|}TXJF)i8*aTA zvF8#8?776>JLSfO5uQst4mmTm3L|r)7NykDIx3Eea=GH-8q|fk;VzZlDp?fv8My2Wp}N9mE3r6pjhY z+4GckkaC!rxUh9T!K|CEXsQ%2>()sy)LpQXGK`q|OediXFmoy^lcmmJ;i9G?rLDXapXHMJf}F#lHd;DXG~RgfuR}5MvTXnb5@rfI9u; zZk%DIEzy$Byi$TeE*UGmo7RQ9%}+Ag;zRmscTsyv22{<%MG4K9D2C2$MNA3_?X9>b z?iZBVF*{D%bo`527RwEXELH37jDe(PB<&kWveU7>hw{JJs$h`+)rM03`>QmF@;}R{#xnIAq2%?}vCW`1za|Lh!}(uqqE3+i z$zTZ&Aje{Uuz0S-rR;2ZJPIFN#b%+Z_12Q9CySlI^1X9_A<3t5u;_EaZBaT{Y6UiB z`9uw_Y9mbHdh6IkrgXiPgy?WEJK^vijE7sKkH9w^M&Y0DG;ju{3WpD6ye;5vQQQ>=EX0&d4)Y+jBQ!}~pU(MO zt3?&zAgnwZv(T&~uT@sS+y@MIo;f&3vjJg;$bZZ!H!eVM%+E>4m8n&Ln4&p&u;?s6 zb4_MSp2{)fd4G7Vf@cJ}wGOr~#PzorS%)Ez$^;|uEwmyl)1m+lp7D= z?3B5uAx5TF0d9vaDGN{hp=2xVvb!lmrkdHz_Y9pc1oLk>?U*WSOx$KPnL|G`km?Uy zlj$$pEga<3l$OM;If&8H$o+;T@(&}ENNNt?ayqz=5>S5D5EIr%sZ4Mm{a*CZ{g?yj zz0BF>1@uRG+?fUd3JZv3n6!wJE|B}EhZs)md&+;*yfw2}TaKC7hhZ z03r8_ivzUM6H%E*Xy z5+u?@g+ZpQ z>)IeAcLAMSqFbQIGz;MrqqEpYHCG9A3hGuUHrup)YdoT~kvreSbwA`|VV{<;%HoJS zR=b#gnSI?1Q~R$B+sf+jg*33P*=g9n!zni=Q){JRKMR2~waV0Dn`s!CT0N7i@|#=F z`=>^&5$+0ZYlAUM;`oqJLKtSLOfY7j1!j*>R3)OmmT184h(JRb8AN+KOIUW|crEU; z<1ET_=00vy9tN?}By92&pS%zmF#ILMi4TTHtdt9&$CuacvB9l{+B2f@7mZ}Xut8;lvGEkJLATapC!4|vWjN|G^xK%K&^;(iwFX@@U$*TJ zI_hE@E(ps5F?IIXlL%Et)CVo%`m#FywPC>ritKCX|Jf-wCQw+{&_4^|F|`U5Zyuq1 z7!BM^C>n^kzc3;RLj#owMne&3IAoR^$cZ<#R7W@w5_VQ_FQT~IPCT26DT{N41-R?# zyg9#ph6rt07GRH4ZcNIy&JaBZ*)X+A+1vC$WY7NiE2*pWjA^qFik>H_U##di1T$t$ zskucxOT#>Fm!k|zdi=eQ!tIvYG@YquOzr8BQJb2}x%3Sl7fCyJ7-GWEPGy48zK3j| zh_06AOxr+voeQHjQh5a+dOc8K%?c8K({Q*KN^N1J-6dmdt8Y8BA$C7=)F zoPog=gxV`=wr-dW(;$@z)*#ud!~1oI6%!Q-X4a?TkS9o*FcqNXADljHDDXO?2mxkjoT~e7~T~a=v{fKBji_I-- zs@b8n6=tqai7Zf$VSR*KmXQpGf|Mv&?AWn6%w{R6bXy#0@ay7L3ArF+UXKG&v2G+dg9 zTaP<6sB}4A5f{4{n{19Th%^$&4uAmXdY$sVW^Hu+iJ{!5`|OnBf9aGPlkTmQ;%|e@ zm|E8Tdd0%J=h{PcPc;3Jkwlp8sZ6l$AEr^5wz)}_e6;ytahh3PPiGPV(LEs|6E`K| zF0L%qGp3+7?aZ5k+MC^I+Uo9iI_1Wra%xj|_qRh-Os!IR|CJv6iPT$q{&|fnH*L=P zUoaH*2lEPAbu2j3Va-bKR<{V|sfpX=DncPhGP=P~8wNot6AVEdmpZhMj!V@V7+K`W zIbmKbkB8nBm5yPx@ty&{vxZo&#j%b{p;-%lZ*$6x2Y%G1hTjVi6H}|;N5`dxmjr8= zD-6{zkuhhO57RJ}3Dz*B%9z#%;zV-)NZfRr_Hken2InPHHxFm$pL(~U*QexZTgmvr z()ntq+?bS%Hno!90ZB2nO34^)#hJLFg~6O~ouPUrN?tbnhv}Kh1nc>mp=UZ4C;ae~ zV+`&qgv3zL6w-(yxdIMYBLP(tH;E&24&64jV$C(vu~Z`YREth(H|>INzMsZaNnm#%3E_(r3cO2Zy5cb3s!|Selm5|_?hyP@E4(-iZt|{ zhM2HUMP-6J)eLp2{d=O*wS{g?hL+KB;dJVP4i;tT4OpxlM_!tfkDv7~#J+3@^#b2o zY@}#7JuU$lfHx>J(ezDN*+?Afm zXX~9tJIcIP1~a!&si8Bk%}(5NcpCmdP!t_F7S$;EPDk7K*w&98KdbR!V$b5U|V z8apb@@@{OO#%-EcWK92GFim@G9NMzAZEt}lPPuVuo3}t0ASk9*Xt6Y!b z`o>i!2H*2V!ICAT#Ql)1QP%NIV&ttxd|@b|GQlXh6=UE72$m(=aJE&gH7;rpWKHqj zZ^-eW0Ch16=m#_ZL8sh!P(W?!KEDV-FtrK=H)in4gmRJ4zDy0R8ur4pL}h}tbQ)SZ zf|<%=jSi&_r=W!nE*umw^|c0~9c5NbbZ;?-Pp3f%z2GQxB} zJbZKAQn!f=708#^F4Y!F4dlA+bm(#*oM5OnFPgh zxZTF~Ar5cRs803CRh)=)E1nbeW&kBN9Q%NB(4M^E2g|qSlp7OJ(54>a>yR~5tAMgo z0!53{B9K2-jKO_oCz9~I->QVSrdljF*OlGodaKwX!LZ(HuB)+M)XNAQvzinm zXkRGRrwrY`{x)r$69NU6?mpv`8&iKno4UU(L1Ij;>ThpcuTWU;Tz9C2CW=03sZ216-wqTX!5+D-2`e-Jc29+Xz#A;`ann)+@upUMQs+VBYA^>S z>@MJk?NP&z$KZh&3%2;d(mUal8xw5NriN_`l4NQXZ0`vWmPIv}xAABv|MGlsU@gLC zNx3x+#u;(?h>>p?&ZtZ<&gvLj_aiW+*TTRkw;kq?j4IamW5EFGJCI@aFq{&|VsVrU z=jo@!unJ3Q1u9WeL0KCe6kl4xZY(Mh@blxYWBBvn4#Y9;=m$&l|8UBU2Y1w_#@$Ph zEK{p+w|KdP$DA__QeuN~M3lFTyuxrqWrA^Z9QNvfh@i!wskbJ`)5*t7F|Jl>ofv7q z5wrqVIGwkS+qDjkpNh~H%;YN>%i)h1(mfDCy9^Qf!GiiOr`&iTLTze@v>`O6Rzc)Z ziY#8IT$m}YK2-Ze)JKdc!n99ig0+7Ow0{WNUx25qg&ffccT#5{G8FoAh8mwj57`RE z59a+>oN{AQDB9Et?LZDpty1V~{H!vaTq0CQ)XvWu?!t6LWrB5tYj0<074;ZLFpDGJ zRrsr#rR8S3UMb0a3OK5J6yPjxKUKEeZ@d4eq1dNKdy#~;Ej|9NQ*KOpv=&KS$cm{| zdb}w^92TWqMsesktUT{G3t_IQ4$ED2Yo0O~X>R+2#{!bXpBnjxA&treBkf)wjph{U z-rcDw5t~&~S3H!&6|9LLPxoJ!w{)`S0%*aK@BydXnDAuH1$vMOQ>*ZFtzr5LuY9ZE z+MCrnT(wxThd6;2?zq%~r8tj2t^nBvLiW z4zV0cYS?VVj$<4CNO&n1;(BHxv)?jwdf<;n827{0^wN@are+J#;ZW27SI9C_m445s`ebZNZIl!{GY3|_r@MeIfi zCrN?s06`MF#YFE_;lUDO*0D_?uh$bh6C$@NQsUuudb**Hye&%!K3mBc0XJTsGhqUe z7B29ErMlfIHzr)5O^u6}Az`Lg;R0Egh7qF009VB((>5iZ_itLa3Rr$_^@FVq@qdMp zdKfCHOfV{OOyVFVBbaTrakdB-?uj{+2q30C5Zo?9K4L^2BujMln%ptXfYpp4)Msw& zoCIjn(#pe5xpBdY&CRw}$}}i*&BUZ(%&|A6cj98HH};gY66P{dObmFceam zU=+TMP>2vtXB(d4rCRMKOv;jshSDdMVQmWL45J+Rc$+}p3y0KinEBwES^u2>n+-c& z&{;QEfiO#RA9l)(3v_&Q)mK80OsxVPQiKm7D~o=v$&WnG`-xylGsfI%24jra{6-_( zFpN=|V2r&FYfCx_@5rrLE+ZXBvk}*&@x!9BhI28>J5mt4_cXZC-V<_LiZi!MahGl_ zn6KC7DZ^!_38*cJC{8*}dnUo{gUC48z#^2w@?zebAe)#0$e%I1djJW-dA3DASknK= zDK{QKQk#0V^&Uu_sa1f)EPN=zS{!g)en@)WpB;xMos!*Ni`KDb^1@imu!FmA z$XRuwQOgeE2TN(MQ*KNMLz^05Uk!;dwF+SfmlR!e%|c<0xNeEI!Fnf(?lp1<(>s+3 z);pzCoq>PWwL*2|(-j6pTp%jFvRDcv-9lNe7?Ga>D4_Y=+1k?V$uqQS06_e6v!@LU zJ|i<@`(yEg1@;!F+_)gX{@Aa9@R(W!0UR<7mXAd}*W))Xp7(bQkS>eHEj$=Y#M)^i z&@e1fnP4ovK;c2~DOj?iiI-e;9-n(gE;=#2ilb*wA(#^LD_RWDISIHmYcilnUJ8Iu z%E2{53)cF8yEV);`@51+<1^hZEEB4K8TX3RmggNY|>&@xzSLo zL!`c91Qdo8Die&9?9F9!}B5LT!=eHRQXXX;EQ0p_z@k=mQwR%%;}9hdW_983q64=QX)@xQQb?yO%Q{v014b?$z=0_S z9Q|M|{ClU|cmPLjYQTLRG{V#>!1Z^}fkL;K;OhJq&GWu~SyjgJc1am*A4y){XS5WC zdMXo)`hp8oYD0$G$>C8JrBH z955XEOvwQoDfq$ie8?#`CZwQEjg)VIY?)exl-lJJAM?&sgkp(kpEeQ;!xEJV#u7q2 z5ADNrfNTn!NCc#W6IP2boGy+?5|R*!jrlpku;KgEXXE@<ob@nw^qbHo=l|) zYw#RGgPO~@S8oA_W8v0m^ssNZh=^Vtm8}m3`8EEvhHjt6XKan*2TSSwPPs8@9Bpci zzaJ7~YL&*}-C3Vdm?N$`RPRL5R~b2k>7B|1>m9c;ADY1qiNzu`u5}E*FfQXo+=v(j zo|(s~#$L34x~OJ@ednHk*pTW~wY8yvMlDtUxKnOis^$%iZ-S7RTBYhV{=?+J+U4p( zwM#_&pkX~syHqAvySOUr&|$Tn&_}T3b(y$<4beto;f$-;s&Tu5Xrg&>mlmz1dvws5 zcC_feECdbFj%++%t0Tw~+g+DFu;GdgSI|G+>yiGeVabPr!}dx7KUjcYbjpnh1!z-u z_-}?VnOcQ{r{zjwl=5O8xwTM`5RJcSBohV_Dw76D{^FLhW>S_xk!aGFHFNWVNNX9} z3F}tPLn~t@(p3(bF>~t~1f=0&SG{~NzgcM4-WXiTl@4Ky~aK@`jf*BFX;qT^n}eHh}Y%w4H6IXN=t z;aoh7Ee(M@n!eH^d8vsI@+QvJiG$DcaTmU4+D;Yk5m+)=fKe1*K1%P-;nA$RszWBx zmq((N(ez{CX+xpMGJ+)C2XMnBey|MR;*=W?7N|{a8UH2Z$CLybzDRJAw(eBjEck+U3tA-)VveT($N!BO~l8 zJ(}mpGJlMif>|Y0oHjIt^-L-g+%pm4K66l5Uoj?_rH5FM)DxsfqkD|y%A{3mCA28b z*i`<6q0`sb4qA2>Em~6fA*bA!`Wo8QeeFY#5L2uA8iH%oz!)e5hBMbCIUlT7qTo9X z-(h;CGQoO%H}p!OEOYw2LPz?iOUn0;13qv;A>K;w-;{c79N0p9X`_iR8;e+Y>ij$D z6CAPeH&Ce7BsnT*-+2ME*an7gJj>dr`BlTP4~q@FPg zSKc(lJW|_vZrx(x#OSceH zToUWW61;tl4tb8z=?dj~jGcOUdHgBbj(s%75hTo^#X@p2TIe;(~u={ zkqEY=eOdSrOTY)-E|&CK6;(Tx3i-n#)F=#zPM4G8QOv}t0x?aa>P4+w3xWo^ap(M$ zzK07DoHV`97(woF;F6lTLo6C?n62Rl>+yc4+?Wgm+SDV+zk*JgT4f*#tTu}{{>;~z zZp~4!W;gd6mck>!Qn2g=Q)hLyjeu4T2d=r`IwXg9zeNHwr;_xvY?p&J&3fN+X7~A# zvHKcthY6M5#L)AwyRL#KGsfVg^d!^NFB4JspiaR%H z*-*zO6*)6&4eVmoDg||ouDFtw78oV%%>D{<*e)B5Elo`uWNS|b7|jxF){7@5jN1t9ilod>8g|0EB9#g5iigk@=?+wlj^=!)DT2k% z(G7OT>v0b@Kc0P7cFValazUTbN&ebU>gy!gm!JN#Q*KP1#Jc?S+aV*SR&|o=Jz}sB z%->7y(g@z=2uy>v?>WQay4S8@jl)z}INjx{ha2JVLor9P`3s|wFw9YzV9Y%YzdeP{ zY0SYj3pxjNa6CCu2{9tLp-@B+dDBKHVThnIX+-4vwrF3Ab_T>& zkZ)gWYg=tTrFXWh$JX8!HkF3l+bSGOFjXkikwD#b?ME!W^F|O-eA(!r5t(+lz5{Gk zsg!qzD`)fLv*;*%r|3d0saKF6Lfsx(;v=<4tc5E;>0-Dxrb}W@@A;}DKf}7eTRM*} zgv;*d69l2QlWq-()Qg2P{r8e`hFR77=m=W7iHmDQ=gYa%GGmDNN=JI>KAC;}=+`>s zvZcPREjH`=(eHxRm|E2*cj@a#l`^d1fxq<)4|jPKl2)5WUBH(N#*YMx#hU6crPdJA zw-n^BeEj%em;#t)XYhy2&A%NPH`jacouez)FX8fz_xp$M9XSoA=MK5|zN-5vbH8B` zer{wUOl9D91(I*eY5$43&$|pUVPgiBSs9`XjTux%7+2qzQNV%^9Zwkb^steBV~rdz z)}E1r`CYxL*TR$-Tg`keY3kYT7cNz;`ULO&^-VeW1Dz^}k?+|D%yt=y3Eskl5c*DLEYF5VRRLQ}S@AesR+~ZysX)Dn`QZ zL(|)-ly@YY$QcS_q@bXiwvLJvv*k89jD>4JMM2lFC$)QCgaoY6y1u#G*p1jYeR5iy z80th56b(Yjl}s)iu|ElA?#URh?sj-gjaQ&Zt7sFEXLb1doO0tCuc%GE?*F%tEmNz; zt2^=~W)aLqC5~Y7aEa!J^1s-bmU#Zh&Yhf|28%;#jG^dO#{Ja}gVOzy>=TLWPNSqS z`$T1KOO?q%>;xee`>1l2gBvE=UChmJkvndYqO44SVZD}pl>hCf9iZ9WrFp0j`WA)8ILAiilw%% zTHvex=%DKfarby9S>(*gefFuHkp8o_x4*{l;nlTu2m=&Zo$MQ(a^uo9AHw)SNRX*j zx_)ZZLSkHSTcNlh3g2tw5{3&Z6O4-kzy&$4MOH%*aYh%xsfgT|4!8EYh&@DTLvj&! zQFUq;vcg_IX~^`c-S#P?K}+pF=9C+g+AW{*4?#dotx`KO_zfik)+$#Os#PN32MpU` zTBS0}Ix#{FSLE#$v|Eh{gSyuj8YV3_ngwkJ=$iTl;;|?35ZU%{ z8kAr`cYPw=&n+x5&9L$>}t&=K&#oku0Uf+v0_nK+X zC!u8~S3wi`w}w!p#Q@i&74yxLy}^uH9xQI(LiLS)P3Dm8x_!7>)BE=gj|1k-t#5Ew zASGODBofvYs7!EISfZ|gyUAf5am2h`Yl%CWD1ujK3KjeBO&lOq*Nn+dfn8nf&ot2w znux$}KS(DJvGH!sT#^M*n1=wjVv4pJ@kz0)Z-u0Fwc zng4r;mZ?>JVs-@5v$*2=eSPV5;c^C=1HWd3c7jD}^**Lp_rAfvCP_YH8Vdt9l?ev+ z-vZeCtO*-4=LroUMTunqj!;e^7>MhCb zPnzj1Vg^WeVu>A@=xie6BTpTpJLIjadB}lKNstV%p0%d@CL?TLC);P8UxC;xIDW_} zH>OU8HnrpG(@-;0t2&u9QP^dQ5q}z_Ns9-r&Dil&*ox-Ur zcE#$BR??szQo7hq7A}43CGC`!UTSOBaszb}7ms?7_rGLw^OM7X>t;Z{vsZW+OXSln z!KW)nmK1b;0(JK0vthcr4IFhT{eJh-i@%JISFvTh&|PUImsU5T4_^`=R1oEY(ACqc z+wn5F*s9mcweF?&iEo#YJ@3-{$N+wZ=)dDhFJiA2UOm$(nQ0eogN-HC{|!b|VaAfm z1RKluz*yoA+~^r`_agMihzNTZl#8 zt@dPe7OOQ#D0vpXOo|tuL{T`*u%g?e8NBWI z!6N=Er(8A~*0VcIZEBVt*pHZ&NoB#b{cDhR_X zl?le{w@ln~;0TVl(yW#2k38SLLTFV(vKoIeBh~ql3L-y}HSQLp$1cWn2H`BsiwYwEMjQ;lYk>{Z;fiE%KO>#pZm19IXH+J%pFRI9QbnMv9fGd}y`X?mVj5Fw zSedAiU?$8b0@ZZ618-!4b)H&E77($GgTSRq4gE-%egt3l>fO@IwU&HXA|I!4ikj~p ze)t^Sf`o1@y`r@Sjs;1-Xa{?>xJd_RhvEoTh2`_ zapfNxrrEoXWr51Rm2kx<(=*;d4I0avNGDc*s5|AxWG>LAHWxnu7%{cVTx=FFvFPG2 z{8qsCe!^ScOmkD)p40ZS1wXhmeeGqD2)aYQL~hILEf%@1AkqfyD&4QN{`moO{E=Xe zEi=aL8Uf$9x>a@G9Qs^OnYW&e=>9o%qeXsHMV@+$u zTc-PSqoZ4x%V4^98M#WsswwV!&b0pK$Y|X=q#4iQDhP4lm0a?dc^FtP)%S)BBRP$v zJ5mM|RoGz0TUP$xjZFEefI&78awHf$xuFpzHpGNYZm3M?? zTGl-gi&y+$4cz0D8_!@)ZR)}Nry(|`Rt@HN4U~*UGne)c^q%({A=jK5(xBd9Yd{Mw z{g4ItNU#8{k&r30MnVc3?o&25#AQN3O_F}CAukNnR3;eIe@38278Xi*g|jj;>Of^Y zSe8N1aeKaoRWicPM1aAhnA*z_2A!`1V;ypWmepjL=Di4D!R0jS1Wpl=3X{==8jj?P zHL}R$E+XLd8J!ZoP*xZvDFY=|2;ztVLMbrAmY0o)6P-&qr>V#!U%I*)K;$muOT+Zh zA2_+&2%te;cRCeX%etMZWJIjsn3^@(nMxrn3xtbKxp8$pP9XEMP%cxex*nX}L+a1s zfot=3MbG=!1!;dxZRpOF?#|mSAnD$mdd7Y1Yl2l`b!O&Kw~y(=O&O5Q;mc1of!n28 zJY%XqG%~6mU4J*qVbGmbc?Ea3cA@FsjiY#OH)Phiicq6SecV<$`qkN9iy|+DZ(gt^0`(%1WCDXZjt0>1PnkwK#lk80Dr)irwH-uhjbILilTjUc zk{gL+2#r5PRwsNLW+xGz1G?{mHtL+lWYtBPfkhQko(>eE3%-PzC1XtnQ{1d#QLUrL zRF@LwToh=wp(QFId?e1enc3Jk~{do|YQVVTH!JuBI@wjFV?i(2g2iG#Dge%4F&dLvx(Z$~|GM4Th zJkI4XFt~5yixa{+j$)k5p(Krt4e!#Z#@`sr&yGxNJJTb!)rJSyI6?N&{4X|(5kLPM z)bg?XFRu5@81hS`!i$)4-Q}RXb7Prtuu8bm&}ldg_y55d{;+8{l?k4PKP+|=5AMgt z{W(mYu-!f{C#dy!1;HXT7mTB4aOs;&?V+3z1(Cm;uBbmKFEmhdaPn?=T@bX5Pf0^M zw7HK7qDW8*pYTysh)d-9+g(CPASU&29xwFjH0i@(V7fm}9NSnzmI=5@R16*+=|V&c z=9DzAr0{Sv1MMu4j|68a$f1G7!vyiD3X(yadP4at zKnqi=CX_gvF$5Yc`ne|mNauM!JuH@TnoAqT8~v!$)-vlgYvbPqYr~ojFpHLDnH&b{ zISjgEkhihf5pJwBftnT(cJS}V$J0KczTvBPvdk-%|_OX3l5Ar`&`mGPw-BgjFVAQSfbxV>*e zN1e0}8E-{^b2O(8re(!Q{juRy_2ZPY*3Q)msx8U>Z>QY2>=*Bo{1-@>sa5t1VUxoN z(qe%t^P4cw`$tEh21cjbz~F5;lEHsBk`F^Cl?g`Y?^2WzrU&qtE8%13_!yADwPTDt8YeMr7J6G3!QG%!3jt@7fCZ=I-nw)-}>as z)N%AlI(cK>YLj>XQ=m$4fb`Epu^Hm$tgFcZed+V`J0d%Q>(hgW1|rb zV}M(b@)(Q(qU)TIMi>UDOfUw1m@t66CXY2@x|Ewzz|mEtWx5a^2Dl94NEuE<7GI>A zGmi?Kua4G4Wo%c|s)tJ9tiV*V)Dl}USRfreb+Q;8$F{H7){y6~=sq(U?+vR>VL#+i zJ&&W|n5^KCJ2FQipD%*8H33#@ML*QuV}#^|nw?zs1qf*L1S`7Nl2sZ~(J zp8v2Ku=)#E=QqKg_e+;me`})Evb@`w+G0*!gZmQ+|0|5j!}=4I3GGkMzf*ci=qeqh z&`N^a>uFkE?jfvr3DKExJ#J&3-RUHq!h}qCe-ginv*LqUy2^p)M`Um1i!;e0B0I?G zum|}fkmC^{9&)>rPD3FbmXkZbD33|0eY?p5)g-4eM9su0Ix0CU_BF+25#nGTjC@Jb zS(2Yl?Ab&8TM;d{LE%D?SDI5jqQfrKk+wqIQYf<_X`bbIOp3e4?y1UZp~NtsAfTj1 z$-S1V2)~Z%xI(=hFH)5>l|y}UF{8&C;jUSrV3Z6C@EN04p9Qe59Xgo0cIaoEa$~Xp z*0n>w13)pg$^yJT3@{e@xe9-;_r15nv-!R5X=$g(odck$y(0s^;{ovh36{0xCh4aW zzKy>4U;au;BhAY-ZWq$T_rG9j|9oWB-jvZ}bF`VJ|F*oot$E4+i21tm&h%;}8}Wm* zaOIxK92Q&`6st%B4qxnY%u-H$X^{jQFfE?&0xYWAMkcB^tjCV#2qj3!&xlp_$n7x8 ziB&6m-{6s$jNp%%4i+{NQ<>0_c=auq*&ak@FRX45P=fu2UQ3;fkn5cE5q!))$#X9c z^V0zIIA*)2&fvPKDs2qlB)^WR$r^tibD)y;0UWgMlmJMP-6f^(3K6 zo{bh$VYu{Rw#C#~f`{PaFEbwqy$!U82urn=1Jxg#OGg^K&SOC_viD|Ir zJgN8s{=z`~wQ{)jXq2gOiw(vuiSxS+4`JA)GQrqg26kt#p@MM)zC++tI_RUjkCw~5 zc3g(@kU}=Gh^;oUFEw49x!Xk2r5C-*^FNVx!k0uMR_rOLwP~@|T4~H@<$C@fhE*TV zXYA|~_`!nxpH8_k;T&!1@%RrRWTsZ({JMTQT14{a1~g7MjpvJ-GxadAW;?{jQ}dkz z^q5nBx>Md8qH*0-!#-xs-Vm)}-NW2k9r#Lsj_c)5q%sC~Mbh{m8k~i7MJf~A6+cZ~ z5!*V?wQFK4jZV1Bjo=azCE`eahfV>>;A@rsu%LpvZQoK!x{xMis5JJP$!DZ$5IX^) zN0xY-uO#-}aCu23LE0^GoL@98CPT=`2y(hOdq+vzDFmm3+*snaU{P__^k>G=TY6?a zW5ry9XG<>+JLSgJlR4)4%g_;1t9mkS8A++ZqL9Cp$VqpGYi)50g=yq_-Y^{Jg4wpl zDW=4N`PC_atpD>>B5Q{YTTNa1Artx0krCPF5zN>1ZF#0kQ=R`2bMb>CkRLV_QJK)8==tZ>j)nmu`DPc)Cs#tQZa#T-*)l$)ZAa#M&Jof3txUy0*Z_uW?mW@{o@4+0o$+m|1v>m~WFfiPcR3ykrt zs=H_-Zho_w+;UgwN&r6Bx2+)`_k6uMzn5}Q?iFb-$+VT&w8^}e9i*ek?+M#Xk6)i` zZd|>}SPT||+ZhIr71Uk-Z(}6F#tJGEJXS1=qrL}c$N>iPs=B5=uS>xsFZbHXDGUd6 z6+*IzJ>o=Mc6bin20B~Xig9xkW^uH$+`*+C@ZICo01X!Sk-F4HcYDl5#hMe*fz+w2 zdtXk`Vu!ZI#d$v*F|ZpHFJ;PjejLRMB1@(`VNAmsq8`N!4GUtdA}Zj!kYq~`L<{wJ zk$lD2peRPFR&}JIo-C5nMDKu;?-<+YQ*!uI^kXIIFw3|KWmIFa z01r)#20w@gvBTu5IY${0IcWH3qmp)yiO3!V0?@bm-e69zAy$2e6TmJC4nWYih!JqA zq#?Y(&kRk7(WLa_tLl+rBLP)n5Vr^2ZMZAXsqBkR`VA?Sh&eGF%md@DD(j!i}F%6|?QxBzohJMD>T0`kD z{m3#iT$g_+^}K&#RJ|~VjPwfVHQxTJ4S&X4wt#1YwPdZ7nQ?1C#%0sMVcJIIaN(|( zy>-s4$;RZgnwH)59&4l}=Y7X=TN;_%?jOSbPJV$)OG!%Zw`xT2JXlor!_BwK4Z3iVPtF-hnpniusm3+_~IIOl95wkT83Ult3&SI zcPypE z>*+sCkgJfvBM5=_e#1tXm7y|eE0f<2-7rtLK8s7s%_Z(!W_4q&vY#)4uj2Ce7fV-N zaYd}Jnl7LMy7gRKxUMRAF~%29Zom}+Id`vbg=-%%q!q17^P5HXZH9S?@oalR{e2fG z`8!bZQ7Sd`{p&4t1IJnH?~5bjIB%t0YvfF!^O-Q9B8sOV?}9tiYrthgN${E?_uFKI z{S(|B2aga6lUoShH<(rt2l*JH8F7pZ&MEnEhH3qj!*XgI&beRXGfuf|QLQIr*1lik zA0TR`R+&~D*$5G!)$O?oza4Ymr|sA-M-v)Mea{(G|2bGvmPuwRER%e1h~9HpO|!Di zAVf1^Jz?^{G&1t9GDzgwnNO(=HUwGM%o7YgX=n;FQdH&#Qe|?kng5jPn9tGu8QN1! zGrd?k!=A-RZ|k~j{QG%nQI%?9PVA-}S8l42hc>3(BzHwGT!Z}bjX zaw;-`4Nae@8FQ7e$|!+uomF!I$2?&pvhrtdz9(mnozu6kcFK*vZ~qe%#MG+3jq`iM z>c9d&SLg5Np7-r6Igd|+Ya-Y(30D~eaG!EH8{DTz{8t*KhxI8c6Wpifu)NrZHPbV# z#db_*K`<55H%IO(9w|;w>Yr0)$E2{Yh*u)&K#z-Ok3EUY)b<}J%Kh`cxav0=9+b{g z>x6xFlp21p#Ev`V#shdrK(7-{ZP){GRE6j z?c9A_t_F7>A@hb&by)Wig@U`!ebjw$5t-^fmN|BM&yfrSf4?Emi(va!sRQ<{QlE0l zjSIo%R;g242*FIQLh$RtcxN?o4U*x(Y7`BBkKs2=jiOMn8tLwF${cb=Ckf#k4KgkQ zi^u}aR4MC#%p+1tTFr9x;fuxcdE8V^cd^q16xK_BAYWkFs2@ySm=@16knrnER&bEraxL zf@NwgHJNP7lRD8eV0%xg568rquD{ufN_ zZ6hN#m2H}(A8JWr-fcahRgah zmJ|@^BO)iHyNUw1Xo%?|TcQjDqgAtr6Qig2yGreby6coj9J{)cpz@egE*pdE@ncb&dP=p8%n*~S%+S3d(zX!J6-eBq?Z}OO zy=Wn1y=JsOA1oHDYcfriB}pB$%Cm1d~#Idjq&87BwUfZ-uIW3;C^ zvz{|&uZ)Z{pJ&ch)!+$_0QQ51s4&AM3I!XcpMqhc1OMk>GjOuC+N8T|5&oZWs3L7m z#*Oo(my>oA^O^#g7vocaJyH>jBH)xm6xxX#sbP;i6)qx_n2x;adg*`&ESb3T0Pscj zBy}T96*)5H%uC+)#SI{b1#LcLOrkz+q^9~s%5jmMUEq72a$~YyoVeoDcCubfuCiWN zr&MBrp1<^&soOlVHbT}tApaxo4xbH{g=MmsKFefn1a5M8aN|+94rA0d5$bZPNL%ac z`thlm_q}44e`91U-zvkB8Lw7{2A1qZteOmO1_JBjfb7S)DhB&1{WZsJT0! z^D{#(Xa<{C(ewVbkwchy6@^00>+^rGiLUuNID>?wIOv7+y$dU1;{($%IiaZ6UZw|x zZc0SDoB%M5N*$-6a9biWS1!_)hjpeaeUw}sCXfnf$)wg)UA?)8Y?s&!p*>HUBvLX< z%rvno6_-$*pbG&Is@LdHY8RaiTVD4CS}3Cd3c>Eu4G47CIft6SBO^8$4jhBYFYG_2FDMX$0Gxn0e1`4UGSn}pxuUq7 zG}Db^rV@EG8XZQwF3VMlx1k~q1 z8lu&-=T>A=HCjg<@@@%7wvfI|_;#Y3EFHCw?FVWP$L-rr6L(V*60_QcMe@cM^9V7)Pqa>=JS(ofyx)OS2pYh=@ zB%-K?;B<;n4z2v^aT!lR78ZY2-QxBUF|pGu*k&Z}Vb*F>>3NcZHt|1u96>!rHA|FRD{>m~VVGuVu3&{{7=t;;>= zt(V}NGY8E9HNP$Y{f;lZ^4(_0&Hr@63;FNgJh}lpzo86UWcBQ>8B;FffWKa%do=7_ z_6fs!scv583CFtVO)s^t_sm`Nu4K=Su;1zx{}ky!R`w&W!-6L4s&0KLTUF!eoGWyPSKtsCOad%{D2c) ze#;Q{>}o<5~kO1d-~1g3e35Rw-VpBMXMSpB#&KER_+HD#BPPI-uPX8+}-d z!wDoW|C6`VbXRbX2!{Vi<_3Ucpk9&dFv_VxyKQ~pd7ECJx4znMhdtp3%Wj8LE?ai% z+M`38dVO^}$)3qo>#N)HBx=#i1*NXjUH{rX+3Qa4dBZ}uGgt`L@WYf?!%u21#b20p z-vc6l(psPpEQ1>|L4!fT|B@v!Ga5FokKpWXAGOYcU1 z*j(KrwxNsq_v-JXr&1iFFdpc6&W&v%vsEfeQKjT6suD8haIw`hH?hTwxT0iHbYKzr z7_BLUj?Mw1x0AzYzK1*78d0T!-0jk8q~p~&>{0py_eDew`L!q%GQ-t!#zB&^GdLcv|OLR}WwkxncigoTpaQNAJg7Lq!Rh9Xp5`emh~xLZK4nS}2h z33|lcZ4tbv@bWJqss-B`Vq8THxE2w|wuBoL2SGA=&8lI{+iUDpI0x)hIG3Dqw1B&bbQnz5c1zou zxYRQy@yAC-;#P&L94g(F6|-v0&cQXIlKF9~9NaYpB)-mwA*^ePLcv{=?t`GPW;vQ# z1Jki%b2N^Taw&wL&IKGPB5ZaFN3*;~1GsEPSNwuu#M>1!1EBxNDL1aJ$N|vzQdeYh zRaZoY$DyQTp^fV@Xi5!Yp7(e9CLy+r8CY)V!N3v>{;rX07_da4U|>B9V9}KjQe?5f z61Hh^KF~e1M@wnS5~sq9gxwNJOqb$v6}i*Y4Q!9>qw693%cL82=Pi?PAq0mqrf!G0 z%_%n~XrWELOnN;*i^)~cnh2GXg(>*^# zQL&+&7ezASIMi^A&$8o2=yq40Tu^CeOp=le^StO#oZiaC^`qQ}Qg@LyopRZnuFKVc zHgzAmpCrZPsy>8(I*Wg+qwtqf73q1>c1u#4#ndy_>Awi()S5GK>(-p<+J2pIGh9N_ zo8J#;)hz^4G1P_iI8i8070Nl{y$=whTT+fCNK=E`ZyN}5aIYIrU2u|tvhOerDyx-R z#b)1c^8HS^F`6bt9D zL%7gG$dJxK+y9YR5Folp2KXSG?oy3n;1HZ6Z@r}(q2b6;r>HZq{JVy6FP80DM=H(g zmz{Fs!ZOb~rU=VSuEO% zXamByoEb>fDZ{$JKGvxe=a-7#qHj=H29mFx$eTYSii*enbQqUYZd^#_Fs{9XWF}W3 z8T02bF(1fUj?7>`6nT&-fm)A&Va@lCw^^F+mn>>gnn}f-IA( zAiFay0EdB+!cIpo+y;LxNgj+dA(ST!X<;}M zh0-|7Z;2L(VxBA3RT+!K8E28W@LFe)C{|`ci^S?RW}6BZr0B$AT1WOHmfa;I1Sz|0 zKoX#6rFeh<_03dFtQ5HbWr928aP#LbH=?wc8#%7oAYI@QrgmeqC% zX1hpcr!E1)c4JbnbZ}Atfd+7`m6J)#beERsd z3#d(PfFB@bFuBSABO^L5T9h>aU7;znPAVc{>pxuYfA87&Z~;T28b4v@H4 z?>;CF`Op=>lM(J_>?P6EK7CDUdJNoQH>z=#e#j!(u_ryZ&BmKG{#|7XS>xY1T1SqY zKcwc_ z=|CO{i`Q^f<>WV1fMWjLDc2m z2EaHr8b?o@J9ScJVnHMqJdU_aN8c9A!`iuaFOhTHiL{~E<L{A`Z+|fqmG$1DOJJGTYX=<SbJx2140rI~8x2Xtrk8dHteZw40Be}rc;BF@_6JTUSBQVK`(RybJT$J? zcyA(PG2Lp7cfChD7QOtv;?r5odEVcYq1&8V(>7w4g92?4`kr$?yJMhOwKT024AXA) z|Gt5rzmgJ2)4D^$i_obFO+RERr$G;N9+{QXFK6tR`LECw;K(puHb!d$@j1f zUK+j|vKU=5^Q{)G;05&m#&p@RX^G90sI?ZBun)G&Y`)6+@nN zIX^|o=n8H~KJ8?g%oLMi?XOa1Am@YLa7DfWRig^`5}|I`=F*uLC^{bdv@a&*t_Ye( z4h`Ix6Q3ss7L_cB92K;zz)3g!PkkB-YGgZm>9)>pF1n{eY zZn0+uiwyGhSy_<;WHRbdvX_;DG_x`Y+0Ji2d-mCgOl^zED>v)CrA9O%9^gt)`n5-% z2#^Pd@C^}u3~Yd;vr?imcOSX#gy|Q^QkSXj?jX5LR~{XbX}n6rT1iQ;Bz1yKF+2SO zwV*e|i>FQ&k$1n|DT+^Z!D5;MF$NXrKm`^6F?}s;K;KqO?DYKfaADsy1O!=KsOFT* zc3rG%l;FFDPR-IN!Q`q@;+_ChTV!*2|ES@4f5AoA<>?b^BHA)%-B+Vet(WMjq55P_ zYtC3`_g*s=rXI2pzZ8sYYs6;USSq-|XDEV+zB<*RHPy~jCi}ZbM)qse#U*L;l|wg; z*7oq~6~-2W`y3&p zp*=O!u%LMzvJ~_D+au$7i(JR#Fd77_9jPIX33ZV%cq%5wmvbAr-S>zQ2CH?B)OyL#8m3lJC|Iq}(};s>%Ar`{|B&Z+ zmk}s}T)HAHDlSJL?+XG;U{Lke8>P2JLAtq$;-D#cs5ZOeE*IsLlrSbqX>>^%0m<~)vLK;F`^hA zMC;VZHz%cu9JRDQvv{_V&}-7uLWRCngUoM>j#V&9p@wdTZq%zW&c9AfdcCXxFIy~gcun$-Rm zOzd5+DzTO=NE2(nU}6uv%EYG46o4cpYuQB$caM#R*unFFGc;QLn&~`Yqm?KWI$EtR zk~Quh7chZa#L6jYtF4e`qrOstGe@0!R!b~(uZVb=E+DT9#%J@*Ciar795Od$G-%0p z-jQ#**WR9Psgx#7gKfZ9jJy|}#)8Z!Q>Z&EAhS!)p_EvHIlA5>K+T8u9aI0Vkx_qb zzsk57<~MW-`wT(1WT*>+t|$}?-5)!O=_mH#+O;zLMF{5ClT^&H)bUag?RXCHBhB`F zGj3PNX&&QRRs2g!B0d%jN2z4q>Cx!J=8EY6)=s5N^X zr2I!bn$oja1(m4eUiJB;JX9!V&SHMN*M7?@q51K1V1e*sMjK}K1CRcP^1s-sSjzv( z*%|P(v_(oVznau!%u~rN+43JyaVh`({kDDvX^*>wOX6UQ{w#Hij~GRSbqi4_xLbV1 zF~s+y3s_fdIKg)SJr1r2bT*peCJeZ_kU+Cjo5#vSd2X$hhUr-FbagRYXf5dLhYP|z zD;<~&?w2k*9hQ!N&4}1wJq0e$`yDARSjq0EgO&U|Dfw3o1z}1Sh0;pSZ;AFQgexcQ zGtDnVv3SDKdS_}@k>mgQ5gMQi3%VeYL#WAe#D zt)5uX6tD48Zvo|>jhcL`ovSpTdN}3>43Mo;YgiRc`&E&?8D2^Z~C zw|7lcD4bk`c+IHm!wR$(PRcP3Yr56rO>(hCLGEzTV)jLQCfKh8Z88RP9}ZK96vjAV zj2x}A=P*jxE9&m6!H;EszR$sqYdk&gpB}w57|U*ZgF*Lp0^KJJ8)2Xmg@Qqcq>bW8 z!x?qAs}rkEdbb|U#R$rsEV#!Q=&Lz(tU-Ljv+WHNmPUTTu%c$ab}BGBSYVRQq)!?A zs#7l87qYIfQR{HQJ4o_OE=eBnDNqKFzT4{gGv6TG7v-;b?0e2Y`BE^u){Zw*p$9S$ zyoofEqk!~Sca5uQt&jc}OzdBcjM$V9o!L=PaiRr1?>7-FgPBbqYS0_&8pY!H12cI| zaSc;xCNW4O`lGZ?uGSQZex()SJY_=f9vPvj@se4Q+8AuQLN`~H#>=bl7wD703@r^V=``c~ZSiP(M|pOQf{ z2c|D(*sobfx~YIJ(4y6YyASb$weqA>Zansj+Jr%Fx1%)X-PphYEio^ z;xJ{HB<<9QD|74cRY&rkoL)P@&99Y&95nOjaFp^!o{hk{lk|7AZvmek-OL-++E%;( zroz1rHLb&#DS9)eWhf}=!B>chaia+j`UyJ=&LkzXDtEGbM$yu-qxUMttSm)<8nU5?w0OYfuE%xCa9@F|*Qc_{m}MFJ&9WbPcFt1xD( zb-7`-CUW&`01Vwf3``jUF6(TqvLaoD&@UO}gc(y&=$nTqM8;GU66VJj%f1Pz$fg}@ zx>@*R)3#I?v7v2gKq~J)G39X@^b-E3E)021C zM!4_O6L1|^)E|lAO3`ZaYNyF;^J}f(m=3G+r=5ZPi3FyfR1S4g%NorCzhEXDue=L)hYG3pd6Fd8=5{qe<4wBRp1RXcTFPPY8US(qYyOxlw zKgeluG{g=b4bPKF|0gpNgpG!x(BG#D<;zyIhW_f<+4`9l1xU+$QFrwHsrw7(IxsbyKol)Pn}|64pC3|QpUlH`7NeH_2#lz zHH+kuvT|_(9Y@pY0?bZvWvPx0(R%V=v|H8PK_qUojk~!@ak-2$Q{CMnriEYYd31X> z&z)bo?EG3b`Kuh@xWjIX_S7~YISG2(nBk@$TRq1L?wP^DVd2Lm? z&acM_y7AD{mz2cw&3c7nk)0tP>x*p$t?OkiBo=e>GJ3<{sDf)uu-t&l?_kzUWjMG*MzoEET2%&tFJd2MfMQ zg8xlJO_<60?8lV|50yVyp>-gJz6EX=s6%IHVMxnk}z(cBJWNb zACHZM6$@OOrqgru^jz`2aHcithAF~u+~JTB1V^UbhNGR@fWMG%L=ST}E8I`g0(f1J z8a3~MU;lr_UEOOORTOX9Ce0?hn~&Pk+Ei*ljnYj_D^#k2pokh=(T9R444d6aW+$^d z>wM5g5DG` zb-8c?!sedUN};7~{6fl*k>zu-;Pa8?-(Vc~F+$6)OKAD08|&+h_4C=#^0^18$T?#J z<`XbG0nEtl0N-Pfe_CQ;!8k)>G6NMzq;?0VYT-H@8>2lacq=XX$725cRAeWTa{(bgx+UHabqHfxW;IjIpt)<5q7V zrf}P6;QWG&EUT18*3QH5ZWnTRHL*ugXkQcVv#$P}cK6eLr(k<1(`*6C2n z>i){Ard))8Y{STZmVTQFRd4%ngY-Qu%5SP_oI|04ZGAePvIS}ZR{b#I7y5DpLG5<} zHFb$m*4^NG5V;lRnyM0oq_rK;b8#j%QMP&m8tTK(XyCnr+nMOrcP!l1JiD!Jw%R*< z>LS_*%H`|^YHZ=RL#Y*Sq8$s!tqXkoH_#_3=kZx*8`~wmZ!oTXoloy zjD(;?+q?P2h#-uUiHvF(p;xo86Wj_m4yqZWWqI-Kq*~Cgbb%FuZTfDSJBe^1{x-<# z^g3XAi#Hs-)k97NnCeq%4U!vaaW4V)tI3G5B%7Lo*-d5w;hKq1SYH9SLCdXB4 z21Z<#?f_>Nwe1CJ4ngZixl9U|K%LG#$+0khgzl+&$TuxROuaPvAV;j`SqB$D8Gy(_ zodQ*}TK#RG6L!Y)2-HEnAE=`YU+Z)bvK#BXI`~W%!qHT5)FmL&?PzHFVSEpaDOGRz z*lU|+se@ezRjuRq23jI`09G<2@Gkaoli{4?0NuXJ-=Ag;T;1>3+7)=5nra?iA=`~Y z_C}N)tE#9B0*~XMaK!t=>$T`LO;%tB zh>LTaR~Y!ZI?l&{y9+CNz^#K{KI^nDC$|vM1!@%}r@swBw7NJkE_h@93DnQVzGV+g zLSY^P0=o^9J1P=O_afyTqx#%?;mXIzpcAOWqFSgpB6@Tnhr3uLZs_o$4b`zW-rCW0 zIL#~#n|7MN}sY&l|WG*Vd5jV&%JM*!@-8*^z`T9`4JTyuIg~DsjgnV{ z65FfNDB-B^3{2TW$M;8|qRt`(s*FHIL^-HF8yl)milAbHULL9^vruJ^-YWxDqezjK z)6O(SYrTjH>X*{x0J}XlV7H0@W4~7(u=82K*jw(e3hq;*{=?WXeP09{pYcv`l$#ij+M$o^?DYn>_XKtP(83l{hzU6`nw1w4kXLN)Xu_`U4m8y zrecZO$433+xwus*JEA%ciakeE9BG$_s+)x>YXmO?)&J0_KQlI9>qUTZLQ)z-B41?#CxwBLmLEcYh*!PTY4}hp%2M2cX#fcv1UKI zGb`&p6q1L41p}pI`xg`neeB;+=wttuKwkPg`+XJr#w~q_@HIPU=A4=No%1_$X1?hC zCAqOs{Mjv?2pOFZSP(>Uz;$j{g4oYO9+~{>{O*_eAM<_NPuWWyXQ|I~yMPhCkSa)d zlz*1nO&V^b(t}EWS##gWIBL{IPb`V$&+>iIw>=|`;+-!0>{$9~tmCn9o^#Dv>I>(P zg`-pk6Ye~TBAy;i`D4zLXXuP%G;zjp>KyYx`b;@bLWW_FBBrKV>YV1mG}nH|&uRVt zXX{_(B_2x&!|qKkc5L5k;1Y{=sY2<*UQ;sS`AIfnc9j{E%28&3E}^+715L;+`-*7| zA-;PN3(K#SAWPcDi20`}AJdr3E*mzXu3T)1+fT2E_r$u`v&TabhkTd_4r9~dbDqR{ zSmWk)fg56}dRQ*8{H})$pC3JXe0($rgFG9FwbJda-?nRky?q!*It$4QMzrp6608%B zDDmI@-eDDx*ui~qODu}L6LFic5U zfH^YKhAG7;x*hzRf)Y;1z=ntq>aG8;>MbO{eS1iLgE;5`lA}_EV408MVWsfvRzWYl=(u?P48N>m!fj^&yc-p~-bls%X&2;Il!FeO zVYDT z9zGcSV(_3Akmkdm4IT{cmlB!K4D{y$ZyXAI+GLv_&Vou01N=YhIYhK8iba!*@}<2t zWueM#|2$L&8d(&gl_bSMn4a+>>-`DV8qZWg_p6$r^}+gP3LiEM1N)G}Is`c&LY5-O zFNyBDucLKC*IV<9b*TFHE~mtcdbRe>e={Md_15ECX8of(^?afbovW4Bbe>NXqT)>` z{jDX+{27Rfr0~~PVNSLkJVM=cM){VG*4H?S)%^wa8n3+jX1$J2{?!Gh7Oll^JgHmNuh)Ge1B5nBlk4)%0{h%y$xW>Qpbfq z+&byFb*aPZ8l^L`@LWBzDT-LPidn^^RK={f+v-gEEUc?xmy!Tg!>(Uf!_683RKu#O zhFw&{Zdg{suB2+%Wpy>&F0r-i)OMZ5Zj(^Ec8e;zvg;IfosQj3Swl-xiKg>aW&a#?iyp1A*dyS+%A2>REE;IzO0C? z6WgC~oDdAhPmV?aN}+HI6ExP!X;3jnr)aKL%`8=DZJ5~isN$wxOxMG@(rIq5kK@=x zvEiN0r&sI-U38)>^v>aeFo$GQqtH)0KMtux(lGg6DdCD25|4@@ude$sW2I1C1WxRF zit;^0Ma$2)%Aa1ftAeSf*|R(RTmmb@Os4BWJ=+WTD4Srq&6njB2_uluLrD52#i2r* z%3s+{86}zVa1_S@5XG^RnX&t^t0lf~&31Y`P2<$V@g69i0%uyPZ*sd8XJ*z)udtHa zy-PipOuV>zWnsZ?mUi1U)Y`XZJ1!~PZQ6qdPy!IC;-K89k5M2V;NZN98>zjKaz9Q3 zuUmBhhb6FijBNrD8F)Bh$MQTEOLmiGCiYs9y($q@8$lK(UK4l#wh&0fTnciLXSWIo z(2X>?zZE5#XF=@YK*y+Ueva!H_qv)zl=#LwlUkM`y5$8@vytN1NVUr4nh@fiUB_lL zC{SEHV05Dz=FwqYTpxGo3zML1pvwt7Ox6Opd<|Fkril>UAyy%Bq6q>~$xxd7c>50a z7vpfj)w~Mk3qTP2G8$teb#z~+c-PtJ(zqfwcq(RPNYTajG{?rn5f2cDQ!G(%Zt@Fz z)5oY&kB3Yu4-XE=M0EXqW!Dp)fLp+ch-iN#j7jvta0sy;po~OyIEd595U&k163#>Y z7x~a7#*B%yweC-AU9g@}?4R;xI5o8pvN|BfC;k9GpUU$S9BqSmPO% zPB>Bq-U4=jG2CtNssdM{q^4&BdwoV)z7RkRYvZP|ga$n>K)y`E@_YZqB8c~50so0_ z#W$JlQ=ge8*a@!NMel|9_97GSQ?nSiF1`_NW;eP!E9`Fg61dXBFjpxd2G!%r4Rj^t zIBaWMPs35H8nB9??_3f#qx&-!`}M4a()AhpNQSAQ?0fUFt*U3iu7clwoDq9-yXMDu zG$@{^kmHvREBV*J;;Z~Qg&0c_O?ZycI84h48=B9E*BWu*%rzPLDht4_ctU=}#Rr+F LA}t+`*=X<|e2ho? literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/WSL.doctree b/docs/build/doctrees/docs/WSL.doctree new file mode 100644 index 0000000000000000000000000000000000000000..1cf8d1dc96b97ddba80ceeeb2f8743bac1af9395 GIT binary patch literal 18196 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 Kfh;f{`20Vk%?Gsr literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/bring_your_own_model.doctree b/docs/build/doctrees/docs/bring_your_own_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4350bb2d6a11d9571bf5df06000347806a86e66a GIT binary patch literal 49093 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/building_models.doctree b/docs/build/doctrees/docs/building_models.doctree new file mode 100644 index 0000000000000000000000000000000000000000..249b7f564f873fca9b2482ce749d6828e21631a7 GIT binary patch literal 98793 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 E0WA2qHUIzs literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/contributing.doctree b/docs/build/doctrees/docs/contributing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f8f06a1998097a2861f6af6b2f300755f00d09ce GIT binary patch literal 14826 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 EFF#RM-2eap literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/creating_dataset.doctree b/docs/build/doctrees/docs/creating_dataset.doctree new file mode 100644 index 0000000000000000000000000000000000000000..bdfaa77322d7f8b0039cc515f0b12870a9ae7fc3 GIT binary patch literal 67103 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 Ls)}p_)SLf*nf-Tk literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/debugging_and_monitoring.doctree b/docs/build/doctrees/docs/debugging_and_monitoring.doctree new file mode 100644 index 0000000000000000000000000000000000000000..b1a66dac684a107dc6fd715480c7d2af9eacedf4 GIT binary patch literal 27724 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/environment.doctree b/docs/build/doctrees/docs/environment.doctree new file mode 100644 index 0000000000000000000000000000000000000000..36111435fe3d89de4977f4539882a9392c33eab4 GIT binary patch literal 44437 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/fastmri.doctree b/docs/build/doctrees/docs/fastmri.doctree new file mode 100644 index 0000000000000000000000000000000000000000..7b25abf43da8129484c89c302adc22f1e2a5fbb5 GIT binary patch literal 53009 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/hippocampus_model.doctree b/docs/build/doctrees/docs/hippocampus_model.doctree new file mode 100644 index 0000000000000000000000000000000000000000..0fbc716b9852185a9debe5f4a6aff18ddf6daa3f GIT binary patch literal 31592 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/model_diagnostics.doctree b/docs/build/doctrees/docs/model_diagnostics.doctree new file mode 100644 index 0000000000000000000000000000000000000000..dbd96194cb03b31b96fa655a957942895b62c003 GIT binary patch literal 7186 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/sample_tasks.doctree b/docs/build/doctrees/docs/sample_tasks.doctree new file mode 100644 index 0000000000000000000000000000000000000000..e5330b47c7fc399235f73dbacc612b267624c025 GIT binary patch literal 30036 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 J!{g-5{{=c;JX-(& literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/docs/testing.doctree b/docs/build/doctrees/docs/testing.doctree new file mode 100644 index 0000000000000000000000000000000000000000..fc0259250ec75e9763a3995d6eda8228f87bdbb6 GIT binary patch literal 6508 zcmc&&+io1U8I~-sq+OjXyB1Q!PMMx!r`lcgs)2zPHBz@QY%7lIrnw0Q+!?M&X=XSf zIg++OfaW5A4e&10C+IWu8TuN%>jM-;Z~KvRTp=qvwwoGQYvv#F=YRPA1OGqw{zAXM zyZregr%nVy14yi@kMdV_7y$VGFKrh>=IUlT*Q%LY4KTM zx7~6hVm+$%uW1$_E~X@_ifJz6SK}I`~KsZVcHOyM#Mdc^pMDueE9ee zp7cBXO(+gbA)Dg@CYPVGGbi1*+WS>e>av^EiIOKF=M{CON=MP6h0u@{~~gb*9urq}~w9 zIYAhyW;G6L{Ef&*DI-(x@;m%?p$R)$x zB2WE+r^0Z5WLAbiLe()j%yJ?Xp?}I1OX5<_R6=al9^@s($&kNv$1T2RPybJv7OmHQ z+4UMkS{_{R@q<^j&_bSlyA}(>6pgzPumX$LnDx)CydQPty%=SWfUrtEz7NDL0cCsk zvUAl!c@7#Bu2t@=BCKM$KE0035xHxS`k3}XDNJcAi04vY8UCItY6HrRI%d&eQFQK; zFv|m!t6)A<5!K+;)v7vNmkGdCvQHlE6VB3*k(ta%NK?Y;2^*9GOo1gV8aAqgG@}y% zNDEe_T^HwDbJp&FZ`MT+Z^5@(dZfl){n}#T%kIV(he35tCk#Gq%=w1By->Szxn*AU zJ&Q#{-E1~*)mDOyP5{)XnxnPQ`rGSDbUwo_ zlBvn4zDL}%&3h}$-(OdjJFgz%3;p`dKIB14RUPt{pZVj)pd$n=k)E{ zt*U1TCb0~UyPd-?eqCnHk*f$JWcxwHP{B}mf@J2hf8d(tTer#ZSL6VV-kkvqB_6s5E_*RUZtw> zYTM+u7AfC`=+PQ_nl7w5#dI#uRk>!4)*$m}=Ny+8R@TnBododcjk@9@E$4GlN1E~) zhTa3_cQ>W)){(Cya>sx@4}^=jw56>n8w<y7(E37M?>aw*!7fj7t!`&m=lVTBdU4~7l`>%5^?NbU zn;{F9;p)C@x5HeyaZJz*Up8w>IfSw68bJ>oFqztIMom*CQ^V4zu&bZY7}xqXZSNe| zKCa%l1>y={;3cBY3N*>^vQZurfcG(82i0q?V!Uk`83t}>$e%C^RkB|}k2-1tm`<=Z8N#mrLz*YgGS=m;lP8>(5-f!%b& z2W5hoov^rgaLEohjhok=-DPJ2wldV@x?a??y@*ZnLman#S`Le_LNS_v(l-j_!6{Wd zv)dxgaueYGAtP9{u>IUjhaU{J!1Imyj{#FkssJ;hC}s+FcA|!+usbq0^IUqKOJQ%G z`*M!OkwM_t?UHXRL%sXP{D*U!?G>kkhM_o26#J656=Q&vV~XI*aA7ZDAZf2D7D^Qb z5zBxN9D} zaz^MKyQ!uwXzRT{t@k48sl)y;QzOC5)H8riV{VezadP|SIPF$*Yxq5$mKox?y@pwZ zGN0#&egvEhX=U*hmY%?KHxU#`(By}PUr=^s&+Vq)ACwG=XZgggmm!Xr0z5D)6acIV z3{{5=DFe>jg^l5EgP}THiH_4vp6%5+YB^*E8QiAL%PL;nd>ZsMM=YO@4iI-o5AdJ1 zeMdI445s^{@E@LQ{w^NfXTGWJR#z9#X)6@4q!R_)ONxt`dR-}Umr|~SB3JY*naH>? zk6-$|bHrwKe~x3nKGko!I>#UBPZ^hQub<~teOa;tM06-~7q5lg2yqXAk)Z>!`r3yT z{cD)utKx|R6;;3w8chu-mj^b1JxAVX$liS$A`Rm_a_B#Fp2PJ3xu*(KR}S;Z=)W;I BQ2hV^ literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..cf6b03f5a5f5dd7c57ff1713a7543a7536fd392f GIT binary patch literal 323665 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
{o9Wygz^aYV%ax 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 F`!{DmYv2F? literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/ML/augmentations.doctree b/docs/build/doctrees/rst/api/ML/augmentations.doctree new file mode 100644 index 0000000000000000000000000000000000000000..15da6495290f84c9f6a915dee185e81088c6d745 GIT binary patch literal 67998 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/ML/index.doctree b/docs/build/doctrees/rst/api/ML/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d64e42e0f9e7b7cf338ef79b59280c107f8c4a6a GIT binary patch literal 2892 zcmZuzU2hyU6it)tW_PpMe6&TC+5i=lrlQFr!~^1qkAk3S^H3q)TFX1*U0dN-sU?m z!wK*DmJ?30r73^#oFbfJA4*1z5^55nFI=~OX49C%|9HF&RbK6!A`2Jzq3@C=ZNBB( zb+#9NTOxM2C`Q!xsB=b)3Wrn1Q*DXV#uMx$l3EKRzFUfB)mJAi^2K08lS{+K(Wme` zj!xoK;QRb8@AG?niy!-^L#{J6%sE4_+3*F+wH^MX6f@t?*y$6-@@Mr4he*{9s}zUE zx*^TQ@cFZ$P$`?9!4UZS=bOa{Md&0t%XOjBrIJm} z5Ab`4-y{6)`h)ciQ2^A?i1OGc7yf9;A<=3qCN}&TF8tw=-4yX$rTNa1nHG}>92(nS zE&6zAHs{)*Lf9%HN}G&I@muLy#<{iZDRLJ37Gp5q7b=lO%Em%gIr6XhxBLnJf&a*S zC!^Dp<&KA^|KbnLqC|vtC7ikKxUi-Z|Qe)_-A{#No(r~`vdnGolR&oa4 z9x%VCOTj7@gTh(}w^QU#_y>ubXjtWoVwGICQ!2asBB6EM=TtF=9;&e~?u? zIBj@9=iO`O7964Tj>f<}1m3DpSOx}kR+C%Kq~QjC9M|6PgQPH#MWo?Oe{QL`<2#l) z2WCPX4jZgQe>XO;|is_}dSJ$_q!BN^}~v&UXtpKK=643Vh#Nog~Z{Z3w3-mB14k z7pdcd-`9m(jnXQk1b@6XvlfE?gmX2gR zNYpzl+?lh1KlXhb#sdG9Rsk}#8<`7|e=mMv6U$809<(<`OVRILs7NyeJ`W?M02?&{ z3Z=+|3(pT8`a#Zef}%i*R8khKA1xz_+#@sm9qwFizZwon|&bYMSy@Yxrr=fI4UweZoh2>;1EJeW!&UN4zB6U>dvJ;3=PcbUXyT}MZt zPzt?0@AzW?G9wK)n*$J=M}%Da13SZYFeO|}xWo_O-IhAyzHc)Mmi=0Q)E0%hS&pkA zkvgH3*8AgxQ{;ojS7bw#%MxPsWszfx`2Hw`yA}bcJS;+ufq}Uy97Ub5#c0h>WD&el z(~64msc?zs2E&z*g1V#?7D|DTMb6 z>^sp|eRIlRS>KHYH_MUXo51O{<@fRb74KWWx7@69^J8{t?n?>6SLWxMrr0T7wQZuQcrZM6)<`?eUJ F{Ri;ue;)t< literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/ML/photometric_normalization.doctree b/docs/build/doctrees/rst/api/ML/photometric_normalization.doctree new file mode 100644 index 0000000000000000000000000000000000000000..d7328dcf9a3b6583323a93f488195d030cf533fe GIT binary patch literal 64490 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/ML/pipelines.doctree b/docs/build/doctrees/rst/api/ML/pipelines.doctree new file mode 100644 index 0000000000000000000000000000000000000000..28d7c984983c7304bd9d226844265aec86c5f9ff GIT binary patch literal 150622 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 literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/ML/runner.doctree b/docs/build/doctrees/rst/api/ML/runner.doctree new file mode 100644 index 0000000000000000000000000000000000000000..eb28d07dacd53e9da6398a2e75e49a791d460336 GIT binary patch literal 52337 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 O?~+;&Gbs0^TK@#ktd-^f literal 0 HcmV?d00001 diff --git a/docs/build/doctrees/rst/api/index.doctree b/docs/build/doctrees/rst/api/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..4f9e791c75b168025ae3507f6483f62467ca55c9 GIT binary patch literal 2482 zcmZWrOK)Q}6z)tXX_7YSV;&m83}V4^(FB-TAjA$3g3fd?3wD*|TsyH~n%1zt*naK-NYS!HsJ<%6?7g6kl zJ#R8^Ise~T7*X%7oR=OkB%iyIxnzGYQ`9*KvF>S_*Q)_5i`&hdW|x*PDxH2o5t)x+ zY@MIcLe8XSd<8?0T3KB`4@d3c>sQVBpOJ&T1&>aEP+mK2?LzgL~ zC=NrvMf=B@Fgc$Uf&+u~>Gzx$uQ;_@>g5b|aI^Z}tj(@UeTrQS z50unAp4}54ii2`a#Up?$o}egC0qkK@meXrXi-Oxo#d|nkFS{ev{EDl1c0Y^+Ro%81j`>OgF;9KzTBTm-F+MMsa5uTGDF6-2X%5NITbl8d zRQxMUq%KNNxXug%t}zTtzc~H+)Jd$LZ5|SCt+7N<%@k;W@*%ej^f@%8-?Y-JtitxG>pkY!Qy$ztf`fT%H>t;Ag2{@o6fR92#Xlh0EvZPB6xEc2M(RSgX<(aXJpiMy$ zxJg}p9{QQl3*-nmBqId|gj_|@4-;B?LvBUkz67tvtjr72aSy0g0twn#O;s{@SV;h_ zcB%HaqQdc#8M4X~pN{wnP0GpLn-xVePp+hsH9rptla9_+N~DQ$uk8u(A{-zYhc2Ma zs2MkEq#aG+Nm{{)<2LD_yvZ6vz4tL#x-Iy5oEi(X(MzyU$z1yQ`smXzDR@Bu3Z|3J zD!>ksWKI!#>WuJIcwe}0W;2N0v{-v#^wikpEQZHPvkCy3#Pb~G@hHat^3#vMcnLfw zc9CtFPm){npS0%DsWkERlG~}|eo^^A=g)-C6`Tz{ouh>qM)27nJO?3j()DJS0C7cP z$W1tMYwhWZ2)Psr|7!M`#QOu6Q*_y{C7Rj+sE5_Q-V$XpT2KA(JQEc0pzw9G0p$up z+`cRexJYkaHFcUHfWZ%m)C+K+oeC#uPPlTur6==5US(+AifJleMsNnN1VjI>5rW{{ z!^z_eT9<_9R4Rh!*`_BTg?*eXr;!j}a88y&pHD*MHFBuRahW*SaRRfPlV(+^~{th|+5#NCC`0haG;QPd(!nMP0RBVX% cJ8@N{{pOniq*$iV=`e^nId@Bjb+ literal 0 HcmV?d00001 diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo new file mode 100644 index 000000000..8ff823f31 --- /dev/null +++ b/docs/build/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 6b9a702781ac0b811bd7bcea51d478e7 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_images/deployment.png b/docs/build/html/_images/deployment.png new file mode 100644 index 000000000..f116428d8 --- /dev/null +++ b/docs/build/html/_images/deployment.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a43b79b4d19ad261fddc59cf37bd1575b9076dcbe29b5ee5cf2bbe7989789e88 +size 360642 diff --git a/docs/build/html/_images/screenshot_azureml_patch_sampling.png b/docs/build/html/_images/screenshot_azureml_patch_sampling.png new file mode 100644 index 000000000..da1afd626 --- /dev/null +++ b/docs/build/html/_images/screenshot_azureml_patch_sampling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d435820b637b59e1a2b8db8567749f4bf69b69cd075fece87065992ae0a364f +size 288927 diff --git a/docs/build/html/_modules/InnerEye/ML/augmentations/augmentation_for_segmentation_utils.html b/docs/build/html/_modules/InnerEye/ML/augmentations/augmentation_for_segmentation_utils.html new file mode 100644 index 000000000..16b5c4773 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/augmentations/augmentation_for_segmentation_utils.html @@ -0,0 +1,252 @@ + + + + + + InnerEye.ML.augmentations.augmentation_for_segmentation_utils — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +

+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/augmentations/image_transforms.html b/docs/build/html/_modules/InnerEye/ML/augmentations/image_transforms.html new file mode 100644 index 000000000..3188e8ca4 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/augmentations/image_transforms.html @@ -0,0 +1,240 @@ + + + + + + InnerEye.ML.augmentations.image_transforms — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.augmentations.image_transforms
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.augmentations.image_transforms

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+import random
+
+from typing import Tuple
+
+import numpy as np
+import torch
+import torchvision
+from scipy.ndimage import gaussian_filter, map_coordinates
+
+
+
[docs]class RandomGamma: + """ + Custom function to apply a random gamma transform within a specified range of possible gamma value. + See documentation of + [`adjust_gamma`](https://pytorch.org/vision/0.8/transforms.html#torchvision.transforms.functional.adjust_gamma) for + more details. + """ + + def __init__(self, scale: Tuple[float, float]) -> None: + """ + :param scale: a tuple (min_gamma, max_gamma) that specifies the range of possible values to sample the gamma + value from when the transformation is called. + """ + self.scale = scale + + def __call__(self, image: torch.Tensor) -> torch.Tensor: + gamma = random.uniform(*self.scale) + if len(image.shape) != 4: + raise ValueError(f"Expected input of shape [Z, C, H, W], but only got {len(image.shape)} dimensions") + for z in range(image.shape[0]): + for c in range(image.shape[1]): + image[z, c] = torchvision.transforms.functional.adjust_gamma(image[z, c], gamma=gamma) + return image
+ + +
[docs]class ExpandChannels: + """ + Transforms an image with 1 channel to an image with 3 channels by copying pixel intensities of the image along + the 1st dimension. + """ + + def __call__(self, data: torch.Tensor) -> torch.Tensor: + """ + :param: data of shape [Z, 1, H, W] + :return: data with channel copied 3 times, shape [Z, 3, H, W] + """ + shape = data.shape + if len(shape) != 4 or shape[1] != 1: + raise ValueError(f"Expected input of shape [Z, 1, H, W], found {shape}") + return torch.repeat_interleave(data, 3, dim=1)
+ + +
[docs]class AddGaussianNoise: + + def __init__(self, p_apply: float, std: float) -> None: + """ + Transformation to add Gaussian noise N(0, std) to an image. + :param: p_apply: probability of applying the transformation. + :param: std: standard deviation of the gaussian noise to add to the image. + """ + super().__init__() + self.p_apply = p_apply + self.std = std + + def __call__(self, data: torch.Tensor) -> torch.Tensor: + if np.random.random(1) > self.p_apply: + return data + noise = torch.randn(size=data.shape[-2:]) * self.std + data = torch.clamp(data + noise, data.min(), data.max()) # type: ignore + return data
+ + +
[docs]class ElasticTransform: + """Elastic deformation of images as described in [Simard2003]_. + + .. [Simard2003] Simard, Steinkraus and Platt, "Best Practices for + Convolutional Neural Networks applied to Visual Document Analysis", in + Proc. of the International Conference on Document Analysis and + Recognition, 2003. + https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.160.8494&rep=rep1&type=pdf + """ + + def __init__(self, + sigma: float, + alpha: float, + p_apply: float + ) -> None: + """ + :param sigma: elasticity coefficient + :param alpha: intensity of the deformation + :param p_apply: probability of applying the transformation + """ + super().__init__() + self.alpha = alpha + self.sigma = sigma + self.p_apply = p_apply + + def __call__(self, data: torch.Tensor) -> torch.Tensor: + if np.random.random(1) > self.p_apply: + return data + result_type = data.dtype + data = data.cpu().numpy() + shape = data.shape + + dx = gaussian_filter((np.random.random(shape[-2:]) * 2 - 1), self.sigma, mode="constant", cval=0) * self.alpha + dy = gaussian_filter((np.random.random(shape[-2:]) * 2 - 1), self.sigma, mode="constant", cval=0) * self.alpha + all_dimensions_axes = [np.arange(dim) for dim in shape] + grid = np.meshgrid(*all_dimensions_axes, indexing='ij') + grid[-2] = grid[-2] + dx + grid[-1] = grid[-1] + dy + indices = [np.reshape(grid[i], (-1, 1)) for i in range(len(grid))] + + return torch.tensor(map_coordinates(data, indices, order=1).reshape(shape), dtype=result_type)
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/augmentations/transform_pipeline.html b/docs/build/html/_modules/InnerEye/ML/augmentations/transform_pipeline.html new file mode 100644 index 000000000..389a4417e --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/augmentations/transform_pipeline.html @@ -0,0 +1,274 @@ + + + + + + InnerEye.ML.augmentations.transform_pipeline — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.augmentations.transform_pipeline
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.augmentations.transform_pipeline

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+from typing import Any, Callable, List, Union
+
+import PIL
+import torch
+
+from torchvision.transforms import CenterCrop, ColorJitter, Compose, RandomAffine, RandomErasing, \
+    RandomHorizontalFlip, RandomResizedCrop, Resize
+from torchvision.transforms.functional import to_tensor
+from yacs.config import CfgNode
+
+from InnerEye.ML.augmentations.image_transforms import AddGaussianNoise, ElasticTransform, ExpandChannels, RandomGamma
+
+ImageData = Union[PIL.Image.Image, torch.Tensor]
+
+
+
[docs]class ImageTransformationPipeline: + """ + This class is the base class to classes built to define data augmentation transformations + for 3D or 2D image inputs (tensor or PIL.Image). + In the case of 3D images, the transformations are applied slice by slices along the Z dimension (same transformation + applied for each slice). + The transformations are applied channel by channel, the user can specify whether to apply the same transformation + to each channel (no random shuffling) or whether each channel should use a different transformation (random + parameters of transforms shuffled for each channel). + """ + + # noinspection PyMissingConstructor + def __init__(self, + transforms: Union[Callable, List[Callable]], + use_different_transformation_per_channel: bool = False): + """ + :param transforms: List of transformations to apply to images. Supports out of the boxes torchvision transforms + as they accept data of arbitrary dimension. You can also define your own transform class but be aware that you + function should expect input of shape [C, Z, H, W] and apply the same transformation to each Z slice. + :param use_different_transformation_per_channel: if True, apply a different version of the augmentation pipeline + for each channel. If False, applies the same transformation to each channel, separately. + """ + self.use_different_transformation_per_channel = use_different_transformation_per_channel + self.pipeline = Compose(transforms) if isinstance(transforms, List) else transforms + +
[docs] def transform_image(self, image: ImageData) -> torch.Tensor: + """ + Main function to apply the transformation pipeline to either slice by slice on one 3D-image or + on the 2D image. + + Note for 3D images: Assumes the same transformations have to be applied on each 2D-slice along the Z-axis. + Assumes the Z axis is the first dimension. + + :param image: batch of tensor images of size [C, Z, Y, X] or batch of 2D images as PIL Image + """ + + def _convert_to_tensor_if_necessary(data: ImageData) -> torch.Tensor: + return to_tensor(data) if not isinstance(data, torch.Tensor) else data + + image = _convert_to_tensor_if_necessary(image) + original_input_is_2d = len(image.shape) == 3 + # If we have a 2D image [C, H, W] expand to [Z, C, H, W]. Build-in torchvision transforms allow such 4D inputs. + if original_input_is_2d: + image = image.unsqueeze(0) + else: + # Some transforms assume the order of dimension is [..., C, H, W] so permute first and last dimension to + # obtain [Z, C, H, W] + if len(image.shape) != 4: + raise ValueError(f"ScalarDataset should load images as 4D tensor [C, Z, H, W]. The input tensor here" + f"was of shape {image.shape}. This is unexpected.") + image = torch.transpose(image, 1, 0) + + if not self.use_different_transformation_per_channel: + image = _convert_to_tensor_if_necessary(self.pipeline(image)) + else: + channels = [] + for channel in range(image.shape[1]): + channels.append(_convert_to_tensor_if_necessary(self.pipeline(image[:, channel, :, :].unsqueeze(1)))) + image = torch.cat(channels, dim=1) + # Back to [C, Z, H, W] + image = torch.transpose(image, 1, 0) + if original_input_is_2d: + image = image.squeeze(1) + return image.to(dtype=image.dtype)
+ + def __call__(self, data: ImageData) -> torch.Tensor: + return self.transform_image(data)
+ + +
[docs]def create_transforms_from_config(config: CfgNode, + apply_augmentations: bool, + expand_channels: bool = True) -> ImageTransformationPipeline: + """ + Defines the image transformations pipeline from a config file. It has been designed for Chest X-Ray + images but it can be used for other types of images data, type of augmentations to use and strength are + expected to be defined in the config. The channel expansion is needed for gray images. + :param config: config yaml file fixing strength and type of augmentation to apply + :param apply_augmentations: if True return transformation pipeline with augmentations. Else, + disable augmentations i.e. only resize and center crop the image. + :param expand_channels: if True the expand channel transformation from InnerEye.ML.augmentations.image_transforms + will be added to the transformation passed through the config. This is needed for single channel images as CXR. + """ + transforms: List[Any] = [] + if expand_channels: + transforms.append(ExpandChannels()) + if apply_augmentations: + if config.augmentation.use_random_affine: + transforms.append(RandomAffine( + degrees=config.augmentation.random_affine.max_angle, + translate=(config.augmentation.random_affine.max_horizontal_shift, + config.augmentation.random_affine.max_vertical_shift), + shear=config.augmentation.random_affine.max_shear + )) + if config.augmentation.use_random_crop: + transforms.append(RandomResizedCrop( + scale=config.augmentation.random_crop.scale, + size=config.preprocess.resize + )) + else: + transforms.append(Resize(size=config.preprocess.resize)) + if config.augmentation.use_random_horizontal_flip: + transforms.append(RandomHorizontalFlip(p=config.augmentation.random_horizontal_flip.prob)) + if config.augmentation.use_gamma_transform: + transforms.append(RandomGamma(scale=config.augmentation.gamma.scale)) + if config.augmentation.use_random_color: + transforms.append(ColorJitter( + brightness=config.augmentation.random_color.brightness, + contrast=config.augmentation.random_color.contrast, + saturation=config.augmentation.random_color.saturation + )) + if config.augmentation.use_elastic_transform: + transforms.append(ElasticTransform( + alpha=config.augmentation.elastic_transform.alpha, + sigma=config.augmentation.elastic_transform.sigma, + p_apply=config.augmentation.elastic_transform.p_apply + )) + transforms.append(CenterCrop(config.preprocess.center_crop_size)) + if config.augmentation.use_random_erasing: + transforms.append(RandomErasing( + scale=config.augmentation.random_erasing.scale, + ratio=config.augmentation.random_erasing.ratio + )) + if config.augmentation.add_gaussian_noise: + transforms.append(AddGaussianNoise( + p_apply=config.augmentation.gaussian_noise.p_apply, + std=config.augmentation.gaussian_noise.std + )) + else: + transforms += [Resize(size=config.preprocess.resize), + CenterCrop(config.preprocess.center_crop_size)] + pipeline = ImageTransformationPipeline(transforms) + return pipeline
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/config.html b/docs/build/html/_modules/InnerEye/ML/config.html new file mode 100644 index 000000000..7dc1e9998 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/config.html @@ -0,0 +1,935 @@ + + + + + + InnerEye.ML.config — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for InnerEye.ML.config

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+from __future__ import annotations
+
+import logging
+from dataclasses import dataclass
+from enum import Enum, unique
+from math import isclose
+from pathlib import Path
+from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
+
+import numpy as np
+import pandas as pd
+import param
+from azureml.core import ScriptRunConfig
+from azureml.train.hyperdrive import HyperDriveConfig
+from pandas import DataFrame
+
+from InnerEye.Common.common_util import any_pairwise_larger, any_smaller_or_equal_than, check_is_any_of
+from InnerEye.Common.generic_parsing import IntTuple
+from InnerEye.Common.type_annotations import TupleFloat2, TupleFloat3, TupleInt3, TupleStringOptionalFloat
+from InnerEye.ML.common import ModelExecutionMode
+from InnerEye.ML.deep_learning_config import ModelCategory
+from InnerEye.ML.model_config_base import ModelConfigBase, ModelTransformsPerExecutionMode
+from InnerEye.ML.utils.split_dataset import DatasetSplits
+
+DATASET_ID_FILE = "dataset_id.txt"
+GROUND_TRUTH_IDS_FILE = "ground_truth_ids.txt"
+IMAGE_CHANNEL_IDS_FILE = "image_channel_ids.txt"
+BACKGROUND_CLASS_NAME = "background"
+DEFAULT_POSTERIOR_VALUE_RANGE = (0, 1)
+EXAMPLE_IMAGES_FOLDER = "example_images"
+LARGEST_CC_TYPE = Optional[Sequence[Union[str, TupleStringOptionalFloat]]]
+
+
+
[docs]@unique +class PaddingMode(Enum): + """ + Supported padding modes for numpy and torch image padding. + """ + #: Zero padding scheme. + Zero = 'constant' + #: Pads with the edge values of array. + Edge = 'edge' + #: Pads with the linear ramp between end_value and the array edge value. + LinearRamp = "linear_ramp" + #: Pads with the maximum value of all or part of the vector along each axis. + Maximum = "maximum" + #: Pads with the mean value of all or part of the vector along each axis. + Mean = "mean" + #: Pads with the median value of all or part of the vector along each axis. + Median = "median" + #: Pads with the minimum value of all or part of the vector along each axis. + Minimum = "minimum" + #: Pads with the reflection of the vector mirrored on the first and last values of the vector along each axis. + Reflect = "reflect" + #: Pads with the reflection of the vector mirrored along the edge of the array. + Symmetric = "symmetric" + #: Pads with the wrap of the vector along the axis. + #: The first values are used to pad the end and the end values are used to pad the beginning. + Wrap = "wrap" + #: No padding is performed + NoPadding = "no_padding"
+ + +
[docs]@unique +class EnsembleAggregationType(Enum): + Average = 'Average'
+ + +
[docs]@unique +class PhotometricNormalizationMethod(Enum): + """ + Contains the valid methods that can be used to perform photometric normalization of a medical image. + """ + Unchanged = "None" + SimpleNorm = "Simple Norm" + MriWindow = "MRI Window" + CtWindow = "CT Window" + TrimmedNorm = "Trimmed Norm"
+ + +
[docs]class ModelArchitectureConfig: + """ + Supported model architecture types + """ + Basic = 'Basic' + UNet3D = 'UNet3D' + UNet2D = 'UNet2D'
+ + +
[docs]@unique +class SegmentationLoss(Enum): + """ + The types of training loss that are supported for segmentation models. + Parameters that can be set in the segmentation configs related to loss functions: + + | SoftDice: :attr:`SegmentationModelBase.loss_class_weight_power` + | CrossEntropy: :attr:`SegmentationModelBase.loss_class_weight_power`, + :attr:`DeepLearningConfig.label_smoothing_eps` + | Focal: :attr:`SegmentationModelBase.loss_class_weight_power`, + :attr:`DeepLearningConfig.label_smoothing_eps`, + :attr:`SegmentationModelBase.focal_loss_gamma` + | Mixture: :attr:`SegmentationModelBase.mixture_loss_components`. + See :class:`MixtureLossComponent` for component parameters. + """ + SoftDice = "SoftDice" + CrossEntropy = "CrossEntropy" + Focal = "Focal" + Mixture = "Mixture"
+ + +
[docs]@dataclass +class MixtureLossComponent: + """ + A member of the value of the mixture_loss_components parameter. + + Parameters for the loss function will be pulled from the model config, + except :attr:`SegmentationModelBase.loss_class_weight_power` which is ignored. + """ + weight: float + loss_type: SegmentationLoss + #: For weighted loss, power to which to raise the weights per class. + class_weight_power: float
+ + +
[docs]@dataclass +class SliceExclusionRule: + """ + Rule mandating that voxels of higher_class must always be in strictly higher slices than those of lower_class + (slices are along the z-axis). If this is not the case, then if higher_dominates is True, any lower_class voxels in + a higher or equal slice to any higher_class voxels are converted to higher_class. If higher_dominates + is False, any higher_class voxels in a lower or equal slice to any lower_class voxels are converted to lower_class. + """ + higher_class: str + lower_class: str + higher_dominates: bool + +
[docs] def validate(self, ground_truth_ids: List[str]) -> None: + """ + Check this rule is valid for the given set of ground_truth_ids. + """ + if self.higher_class not in ground_truth_ids: + raise Exception(f"slice_exclusion_rules: {self.higher_class} not in ground truth IDs") + if self.lower_class not in ground_truth_ids: + raise Exception(f"slice_exclusion_rules: {self.lower_class} not in ground truth IDs")
+ + +
[docs]@dataclass +class SummedProbabilityRule: + """ + At the boundary between two classes, the predicted class probability for both classes may be low. To avoid these + voxels being categorized as external voxels, the summed probability of first_class and second_class will be used + to create the segmentation map. If the summed probability of first_class and second_class is greater than + external_class, we will label the voxel with first_class or second_class (whichever has the higher probability) + instead of external_class. + """ + first_class: str + second_class: str + external_class: str + +
[docs] def validate(self, ground_truth_ids: List[str]) -> None: + """ + Check this rule is valid for the given set of ground_truth_ids. + """ + if self.first_class not in ground_truth_ids: + raise ValueError(f"SummedProbabilityRule.validate: {self.first_class} not in ground truth IDs") + if self.second_class not in ground_truth_ids: + raise ValueError(f"SummedProbabilityRule.validate: {self.second_class} not in ground truth IDs") + if self.external_class not in ground_truth_ids: + raise ValueError(f"SummedProbabilityRule.validate: {self.external_class} not in ground truth IDs")
+ + +# The amount by which all Basic architectures shrink the input image. +basic_size_shrinkage = 28 + + +
[docs]def get_center_size(arch: str, crop_size: TupleInt3) -> TupleInt3: + """ + Computes the size of the output tensor, if the model is fed with an input tensor of the given crop_size. + This makes a lot of assumptions about the architectures that are hardcoded, this method should be used with care. + + :param arch: The model architecture that is used. + :param crop_size: The size of the model's input tensor. + :return: The size of the model's output tensor. + """ + if arch == ModelArchitectureConfig.UNet3D or arch == ModelArchitectureConfig.UNet2D: + return crop_size + + if arch in [ModelArchitectureConfig.Basic]: + diff = basic_size_shrinkage + return crop_size[0] - diff, crop_size[1] - diff, crop_size[2] - diff + else: + raise Exception("Unknown model architecture: {}".format(arch))
+ + +
[docs]def equally_weighted_classes(foreground_classes: List[str], background_weight: Optional[float] = None) -> List: + """ + Computes a list of weights for the background class and all foreground classes. If no background_weight + is given, all foreground classes and the background class (class index 0) are given equal weight. + If a background_weight is given explicitly, that weight is assigned to class index 0, and the rest of the weight + is equally distributed across all foreground classes. All weights will sum to 1.0 + + :param foreground_classes: The list of foreground classes that the model uses. + :param background_weight: The weight that should be given to the background class (index 0). This can be None. + :return: A list of length len(foreground_classes) + 1, with weights for all classes including the background class. + The weights will sum to 1.0 + """ + num_foreground_classes = len(foreground_classes) + if num_foreground_classes == 0: + raise ValueError("No foreground class present.") + if background_weight is None: + num_classes_with_background = num_foreground_classes + 1 + return [1.0 / num_classes_with_background] * num_classes_with_background + if background_weight < 0.0 or background_weight >= 1.0: + raise ValueError(f"background_weight must be in the interval [0, 1), but got: {background_weight}") + foreground_weight = (1.0 - background_weight) / num_foreground_classes + return [background_weight] + [foreground_weight] * num_foreground_classes
+ + +
[docs]class SegmentationModelBase(ModelConfigBase): + """ + A class that holds all settings that are specific to segmentation models. + """ + + #: The segmentation model architecture to use. + #: Valid options are defined at :class:`ModelArchitectureConfig`: 'Basic (DeepMedic)', 'UNet3D', 'UNet2D' + architecture: str = param.String("Basic", doc="The model architecture (for example, UNet). Valid options are" + "UNet3D, UNet2D, Basic (DeepMedic)") + + #: The loss type to use during training. + #: Valid options are defined at :class:`SegmentationLoss`: "SoftDice", "CrossEntropy", "Focal", "Mixture" + loss_type: SegmentationLoss = param.ClassSelector(default=SegmentationLoss.SoftDice, class_=SegmentationLoss, + instantiate=False, doc="The loss_type to use") + + #: List of pairs of weights, loss types and class-weight-power values for use when loss_type is + #: :attr:`SegmentationLoss.MixtureLoss`". + mixture_loss_components: Optional[List[MixtureLossComponent]] = param.List( + None, class_=MixtureLossComponent, instantiate=False, + doc="List of pairs of weights, loss types and class-weight-power values for use when loss_type is MixtureLoss") + + #: For weighted loss, power to which to raise the weights per class. If this is None, loss is not weighted. + loss_class_weight_power: Optional[float] = param.Number(None, allow_None=True, + doc="Power to which to raise class weights for loss " + "function; default value will depend on loss_type") + + #: Gamma value for focal loss: weight for each pixel is posterior likelihood to the power -focal_loss_gamma. + focal_loss_gamma: float = param.Number(1.0, doc="Gamma value for focal loss: weight for each pixel is " + "posterior likelihood to the power -focal_loss_gamma.") + + #: The spacing X, Y, Z expected for all images in the dataset + dataset_expected_spacing_xyz: Optional[TupleFloat3] = param.NumericTuple( + None, length=3, allow_None=True, + doc="The spacing X, Y, Z expected for all images in the dataset") + + #: The number of feature channels at different stages of the model. + feature_channels: List[int] = param.List(None, class_=int, bounds=(1, None), instantiate=False, + doc="The number of feature channels at different stages of the model.") + + #: The size of the convolution kernels. + kernel_size: int = param.Integer(3, bounds=(1, None), doc="The size of the convolution kernels.") + + #: The number of image levels used in Unet (in encoding and decoding paths). + num_downsampling_paths: int = param.Integer(4, bounds=(1, None), + instantiate=False, + doc="The number of levels used in a UNet architecture in encoding and " + "decoding paths.") + + #: The size of the random crops that will be drawn from the input images during training. This is also the + #: input size of the model. + crop_size: TupleInt3 = IntTuple((1, 1, 1), length=3, doc="The size of the random crops that will be " + "drawn from the input images. This is also the " + "input size of the model.") + + #: The names of the image input channels that the model consumes. These channels must be present in the + #: dataset.csv file. + image_channels: List[str] = param.List(None, class_=str, bounds=(1, None), instantiate=False, + doc="The names of the image input channels that the model consumes. " + "These channels must be present in the dataset.csv file") + + #: The names of the ground truth channels that the model consumes. These channels must be present in the + #: dataset.csv file + ground_truth_ids: List[str] = param.List(None, class_=str, bounds=(1, None), instantiate=False, + doc="The names of the ground truth channels that the model consumes. " + "These channels must be present in the dataset.csv file") + + #: The name of the channel that contains the `inside/outside body` information (to mask out the background). + #: This channel must be present in the dataset + mask_id: Optional[str] = param.String(None, allow_None=True, doc="The name of the channel that contains the " + "`inside/outside body` information." + "This channel must be present in the dataset") + + #: The type of image normalization that should be applied. Must be of type + # :attr:`PhotometricNormalizationMethod`: Unchanged, SimpleNorm, MriWindow , CtWindow, TrimmedNorm + norm_method: PhotometricNormalizationMethod = \ + param.ClassSelector(default=PhotometricNormalizationMethod.CtWindow, + class_=PhotometricNormalizationMethod, + instantiate=False, + doc="The type of image normalization that should be applied. Must be one of " + "Unchanged, SimpleNorm, MriWindow , CtWindow, TrimmedNorm") + + #: The Window setting for the :attr:`PhotometricNormalizationMethod.CtWindow` normalization. + window: int = param.Integer(600, bounds=(0, None), doc="The Window setting for the 'CtWindow' normalization.") + + #: The level setting for the :attr:`PhotometricNormalizationMethod.CtWindow` normalization. + level: int = param.Integer(50, doc="The level setting for the 'CtWindow' normalization.") + + #: The value range that image normalization should produce. This is the input range to the network. + output_range: TupleFloat2 = param.NumericTuple((-1.0, 1.0), length=2, + doc="The value range that image normalization should produce. " + "This is the input range to the network.") + + #: If true, create additional plots during image normalization. + debug_mode: bool = param.Boolean(False, doc="If true, create additional plots during image normalization.") + + #: Tail parameter allows window range to be extended to right, used in + #: :attr:`PhotometricNormalizationMethod.MriWindow`. The value must be a list with one entry per input channel + #: if the model has multiple input channels + tail: List[float] = param.List(None, class_=float, + doc="Tail parameter allows window range to be extended to right, Used in MriWindow." + " The value must be a list with one entry per input channel " + "if the model has multiple input channels.") + + #: Sharpen parameter specifies number of standard deviations from mean to be included in window range. + #: Used in :attr:`PhotometricNormalizationMethod.MriWindow` + sharpen: float = param.Number(0.9, doc="Sharpen parameter specifies number of standard deviations " + "from mean to be included in window range. Used in MriWindow") + + #: Percentile at which to trim input distribution prior to normalization. Used in + #: :attr:`PhotometricNormalizationMethod.TrimmedNorm` + trim_percentiles: TupleFloat2 = param.NumericTuple((1.0, 99.0), length=2, + doc="Percentile at which to trim input distribution prior " + "to normalization. Used in TrimmedNorm") + + #: Padding mode to use for training and inference. See :attr:`PaddingMode` for valid options. + padding_mode: PaddingMode = param.ClassSelector(default=PaddingMode.Edge, class_=PaddingMode, + instantiate=False, + doc="Padding mode to use for training and inference") + + #: The batch size to use for inference forward pass. + inference_batch_size: int = param.Integer(8, bounds=(1, None), + doc="The batch size to use for inference forward pass") + + #: The crop size to use for model testing. If nothing is specified, crop_size parameter is used instead, + #: i.e. training and testing crop size will be the same. + test_crop_size: Optional[TupleInt3] = IntTuple(None, length=3, allow_None=True, + doc="The crop size to use for model testing. " + "If nothing is specified, " + "crop_size parameter is used instead, " + "i.e. training and testing crop size " + "will be the same.") + + #: The per-class probabilities for picking a center point of a crop. + class_weights: Optional[List[float]] = param.List(None, class_=float, bounds=(1, None), allow_None=True, + instantiate=False, + doc="The per-class probabilities for picking a center point of " + "a crop.") + + #: Layer name hierarchy (parent, child recursive) as by model definition. If None, no activation maps will be saved + activation_map_layers: Optional[List[str]] = param.List(None, class_=str, allow_None=True, bounds=(1, None), + instantiate=False, + doc="Layer name hierarchy (parent, child " + "recursive) as by model definition. If None, " + "no activation maps will be saved") + + #: The aggregation method to use when testing ensemble models. See :attr: `EnsembleAggregationType` for options. + ensemble_aggregation_type: EnsembleAggregationType = param.ClassSelector(default=EnsembleAggregationType.Average, + class_=EnsembleAggregationType, + instantiate=False, + doc="The aggregation method to use when" + "testing ensemble models.") + + #: The size of the smoothing kernel in mm to be used for smoothing posteriors before computing the final + #: segmentations. No smoothing is performed if set to None. + posterior_smoothing_mm: Optional[TupleInt3] = param.NumericTuple(None, length=3, allow_None=True, + doc="The size of the smoothing kernel in mm to be " + "used for smoothing posteriors before " + "computing the final segmentations. No " + "smoothing is performed if set to None") + + #: If True save image and segmentations for one image in a batch for each training epoch + store_dataset_sample: bool = param.Boolean(False, doc="If True save image and segmentations for one image" + "in a batch for each training epoch") + + #: List of (name, container) pairs, where name is a descriptive name and container is a Azure ML storage account + #: container name to be used for statistical comparisons + comparison_blob_storage_paths: List[Tuple[str, str]] = param.List( + None, class_=tuple, + allow_None=True, + doc="List of (name, container) pairs, where name is a descriptive name and container is a " + "Azure ML storage account container name to be used for statistical comparisons") + + #: List of rules for structures that should be prevented from sharing the same slice. + #: These are not applied if :attr:`disable_extra_postprocessing` is True. + #: Parameter should be a list of :attr:`SliceExclusionRule` objects. + slice_exclusion_rules: List[SliceExclusionRule] = param.List( + default=[], class_=SliceExclusionRule, allow_None=False, + doc="List of rules for structures that should be prevented from sharing the same slice; " + "not applied if disable_extra_postprocessing is True.") + + #: List of rules for class pairs whose summed probability is used to create the segmentation map from predicted + #: posterior probabilities. + #: These are not applied if :attr:`disable_extra_postprocessing` is True. + #: Parameter should be a list of :attr:`SummedProbabilityRule` objects. + summed_probability_rules: List[SummedProbabilityRule] = param.List( + default=[], class_=SummedProbabilityRule, allow_None=False, + doc="List of rules for class pairs whose summed probability is used to create the segmentation map from " + "predicted posterior probabilities; not applied if disable_extra_postprocessing is True.") + + #: Whether to ignore :attr:`slice_exclusion_rules` and :attr:`summed_probability_rules` even if defined + disable_extra_postprocessing: bool = param.Boolean( + False, doc="Whether to ignore slice_exclusion_rules and summed_probability_rules even if defined") + + #: User friendly display names to be used for each of the predicted GT classes. Default is ground_truth_ids if + #: None provided + ground_truth_ids_display_names: List[str] = param.List(None, class_=str, bounds=(1, None), instantiate=False, + allow_None=True, + doc="User friendly display names to be used for each of " + "the predicted GT classes. Default is ground_truth_ids " + "if None provided") + + #: Colours in (R, G, B) for the structures, same order as in ground_truth_ids_display_names + colours: List[TupleInt3] = param.List(None, class_=tuple, bounds=(1, None), instantiate=False, + allow_None=True, + doc="Colours in (R, G, B) for the structures, same order as in " + "ground_truth_ids_display_names") + + #: List of bool specifiying if structures need filling holes. If True, the output of the model for that class + #: will include postprocessing to fill holes, in the same order as in ground_truth_ids_display_names + fill_holes: List[bool] = param.List(None, class_=bool, bounds=(1, None), instantiate=False, + allow_None=True, + doc="List of bool specifiying if structures need filling holes. If True " + "output of the model for that class includes postprocessing to fill holes, " + "in the same order as in ground_truth_ids_display_names") + + roi_interpreted_types: List[str] = param.List(None, class_=str, bounds=(1, None), instantiate=False, + allow_None=True, + doc="List of str with the ROI interpreted Types. Possible values " + "(None, CTV, ORGAN, EXTERNAL)") + + interpreter: str = param.String("Default_Interpreter", doc="The interpreter that created the DICOM-RT file") + + manufacturer: str = param.String("Default_Manufacturer", doc="The manufacturer that created the DICOM-RT file") + + _inference_stride_size: Optional[TupleInt3] = IntTuple(None, length=3, allow_None=True, + doc="The stride size in the inference pipeline. " + "At most, this should be the output_size to " + "avoid gaps in output posterior image. If it " + "is not specified, its value is set to " + "output size.") + _center_size: Optional[TupleInt3] = IntTuple(None, length=3, allow_None=True) + _train_output_size: Optional[TupleInt3] = IntTuple(None, length=3, allow_None=True) + _test_output_size: Optional[TupleInt3] = IntTuple(None, length=3, allow_None=True) + + #: Dictionary of types to enforce for certain DataFrame columns, where key is column name and value is desired type. + col_type_converters: Optional[Dict[str, Any]] = param.Dict(None, + doc="Dictionary of types to enforce for certain " + "DataFrame columns, where key is column name " + "and value is desired type.", + allow_None=True, instantiate=False) + + _largest_connected_component_foreground_classes: LARGEST_CC_TYPE = \ + param.List(None, class_=None, bounds=(1, None), instantiate=False, allow_None=True, + doc="The names of the ground truth channels for which to select the largest connected component in " + "the model predictions as an inference post-processing step. Alternatively, a member of the " + "list can be a tuple (name, threshold), where name is a channel name and threshold is a value " + "between 0 and 0.5 such that disconnected components will be kept if their volume (relative " + "to the whole structure) exceeds that value.") + + #: If true, various overview plots with results are generated during model evaluation. Set to False if you see + #: non-deterministic pull request build failures. + is_plotting_enabled: bool = param.Boolean(True, doc="If true, various overview plots with results are generated " + "during model evaluation. Set to False if you see " + "non-deterministic pull request build failures.") + + show_patch_sampling: int = param.Integer(1, bounds=(0, None), + doc="Number of patients from the training set for which the effect of" + "patch sampling will be shown. Nifti images and thumbnails for each" + "of the first N subjects in the training set will be " + "written to the outputs folder.") + + #: If true an error is raised in InnerEye.ML.utils.io_util.load_labels_from_dataset_source if the labels are not + #: mutually exclusive. Some loss functions (e.g. SoftDice) may produce results on overlapping labels, but others + # (e.g. + #: FocalLoss) will fail with a cryptic error message. Set to false if you are sure that you want to use labels that + #: are not mutually exclusive. + check_exclusive: bool = param.Boolean(True, + doc="Raise an error if the segmentation labels are not mutually exclusive.") + + allow_incomplete_labels: bool = param.Boolean( + default=False, + doc="If False, the default, then test patient data must include all of the ground truth labels. If true then " + "some test patient data with missing ground truth data is allowed and will be reflected in the patient " + "counts in the metrics and report.") + + def __init__(self, center_size: Optional[TupleInt3] = None, + inference_stride_size: Optional[TupleInt3] = None, + min_l_rate: float = 0, + largest_connected_component_foreground_classes: LARGEST_CC_TYPE = None, + **params: Any): + super().__init__(**params) + self.test_crop_size = self.test_crop_size if self.test_crop_size is not None else self.crop_size + self.inference_stride_size = inference_stride_size + self.min_l_rate = min_l_rate + self.largest_connected_component_foreground_classes = largest_connected_component_foreground_classes + self._center_size = center_size + self._model_category = ModelCategory.Segmentation + +
[docs] def validate(self) -> None: + """ + Validates the parameters stored in the present object. + """ + super().validate() + check_is_any_of("Architecture", self.architecture, vars(ModelArchitectureConfig).keys()) + + def len_or_zero(lst: Optional[List[Any]]) -> int: + return 0 if lst is None else len(lst) + + if self.kernel_size % 2 == 0: + raise ValueError("The kernel size must be an odd number (kernel_size: {})".format(self.kernel_size)) + + if self.architecture != ModelArchitectureConfig.UNet3D: + if any_pairwise_larger(self.center_size, self.crop_size): + raise ValueError("Each center_size should be less than or equal to the crop_size " + "(center_size: {}, crop_size: {}".format(self.center_size, self.crop_size)) + else: + if self.crop_size != self.center_size: + raise ValueError("For UNet3D, the center size of each dimension should be equal to the crop size " + "(center_size: {}, crop_size: {}".format(self.center_size, self.crop_size)) + + self.validate_inference_stride_size(self.inference_stride_size, self.get_output_size()) + + # check to make sure there is no overlap between image and ground-truth channels + image_gt_intersect = np.intersect1d(self.image_channels, self.ground_truth_ids) + if len(image_gt_intersect) != 0: + raise ValueError("Channels: {} were found in both image_channels, and ground_truth_ids" + .format(image_gt_intersect)) + + valid_norm_methods = [method.value for method in PhotometricNormalizationMethod] + check_is_any_of("norm_method", self.norm_method.value, valid_norm_methods) + + if len(self.trim_percentiles) < 2 or self.trim_percentiles[0] >= self.trim_percentiles[1]: + raise ValueError("Thresholds should contain lower and upper percentile thresholds, but got: {}" + .format(self.trim_percentiles)) + + if len_or_zero(self.class_weights) != (len_or_zero(self.ground_truth_ids) + 1): + raise ValueError("class_weights needs to be equal to number of ground_truth_ids + 1") + if self.class_weights is None: + raise ValueError("class_weights must be set.") + SegmentationModelBase.validate_class_weights(self.class_weights) + if self.ground_truth_ids is None: + raise ValueError("ground_truth_ids is None") + if len(self.ground_truth_ids_display_names) != len(self.ground_truth_ids): + raise ValueError("len(ground_truth_ids_display_names)!=len(ground_truth_ids)") + if len(self.ground_truth_ids_display_names) != len(self.colours): + raise ValueError("len(ground_truth_ids_display_names)!=len(colours)") + if len(self.ground_truth_ids_display_names) != len(self.fill_holes): + raise ValueError("len(ground_truth_ids_display_names)!=len(fill_holes)") + if self.mean_teacher_alpha is not None: + raise ValueError("Mean teacher model is currently only supported for ScalarModels." + "Please reset mean_teacher_alpha to None.") + if not self.disable_extra_postprocessing: + if self.slice_exclusion_rules is not None: + for rule in self.slice_exclusion_rules: + rule.validate(self.ground_truth_ids) + if self.summed_probability_rules is not None: + for rule in self.summed_probability_rules: + rule.validate(self.ground_truth_ids)
+ +
[docs] @staticmethod + def validate_class_weights(class_weights: List[float]) -> None: + """ + Checks that the given list of class weights is valid: The weights must be positive and add up to 1.0. + Raises a ValueError if that is not the case. + """ + if not isclose(sum(class_weights), 1.0): + raise ValueError(f'class_weights needs to add to 1 but it was: {sum(class_weights)}') + if np.any(np.array(class_weights) < 0): + raise ValueError("class_weights must have non-negative values only, found: {}".format(class_weights))
+ +
[docs] @staticmethod + def validate_inference_stride_size(inference_stride_size: Optional[TupleInt3], + output_size: Optional[TupleInt3]) -> None: + """ + Checks that patch stride size is positive and smaller than output patch size to ensure that posterior + predictions are obtained for all pixels + """ + if inference_stride_size is not None: + if any_smaller_or_equal_than(inference_stride_size, 0): + raise ValueError("inference_stride_size must be > 0 in all dimensions, found: {}" + .format(inference_stride_size)) + + if output_size is not None: + if any_pairwise_larger(inference_stride_size, output_size): + raise ValueError("inference_stride_size must be <= output_size in all dimensions" + "Found: output_size={}, inference_stride_size={}" + .format(output_size, inference_stride_size))
+ + @property + def number_of_image_channels(self) -> int: + """ + Gets the number of image input channels that the model has (usually 1 CT channel, or multiple MR). + """ + return 0 if self.image_channels is None else len(self.image_channels) + + @property + def number_of_classes(self) -> int: + """ + Returns the number of ground truth ids, including the background class. + """ + return 1 if self.ground_truth_ids is None else len(self.ground_truth_ids) + 1 + + @property + def center_size(self) -> TupleInt3: + """ + Gets the size of the center crop that the model predicts. + """ + if self._center_size is None: + return get_center_size(arch=self.architecture, crop_size=self.crop_size) + Warning("'center_size' argument will soon be deprecated. Output shapes are inferred from models on the fly.") + return self._center_size + + @property + def inference_stride_size(self) -> Optional[TupleInt3]: + """ + Gets the stride size that should be used when stitching patches at inference time. + """ + if self._inference_stride_size is None: + return self.get_output_size(ModelExecutionMode.TEST) + return self._inference_stride_size + + @inference_stride_size.setter + def inference_stride_size(self, val: Optional[TupleInt3]) -> None: + """ + Sets the inference stride size with given value. This setter is used if output shape needs to be + determined dynamically at run time + """ + self._inference_stride_size = val + self.validate_inference_stride_size(inference_stride_size=val, + output_size=self.get_output_size(ModelExecutionMode.TEST)) + + @property + def example_images_folder(self) -> Path: + """ + Gets the full path in which the example images should be stored during training. + """ + return self.outputs_folder / EXAMPLE_IMAGES_FOLDER + + @property + def largest_connected_component_foreground_classes(self) -> LARGEST_CC_TYPE: + """ + Gets the list of classes for which the largest connected components should be computed when predicting. + """ + return self._largest_connected_component_foreground_classes + + @largest_connected_component_foreground_classes.setter + def largest_connected_component_foreground_classes(self, value: LARGEST_CC_TYPE) -> None: + """ + Sets the list of classes for which the largest connected components should be computed when predicting. + """ + pairs: Optional[List[Tuple[str, Optional[float]]]] = None + if value is not None: + # Set all members to be tuples rather than just class names. + pairs = [val if isinstance(val, tuple) else (val, None) for val in value] + class_names = set(pair[0] for pair in pairs) + unknown_labels = class_names - set(self.ground_truth_ids) + if unknown_labels: + raise ValueError( + f"Found unknown labels {unknown_labels} in largest_connected_component_foreground_classes: " + f"labels must exist in [{self.ground_truth_ids}]") + bad_thresholds = [pair[1] for pair in pairs if (pair[1] is not None) + and (pair[1] <= 0.0 or pair[1] > 0.5)] # type: ignore + if bad_thresholds: + raise ValueError( + f"Found bad threshold(s) {bad_thresholds} in largest_connected_component_foreground_classes: " + "thresholds must be positive and at most 0.5.") + + self._largest_connected_component_foreground_classes = pairs + +
[docs] def read_dataset_into_dataframe_and_pre_process(self) -> None: + """ + Loads a dataset from the dataset_csv file, and stores it in the present object. + """ + assert self.local_dataset is not None, "The dataset must be provided in self.local_dataset" + self.dataset_data_frame = pd.read_csv(self.local_dataset / self.dataset_csv, + dtype=str, + converters=self.col_type_converters, + low_memory=False) + self.pre_process_dataset_dataframe()
+ +
[docs] def get_parameter_search_hyperdrive_config(self, run_config: ScriptRunConfig) -> HyperDriveConfig: + """ + Turns the given AzureML estimator (settings for running a job in AzureML) into a configuration object + for doing hyperparameter searches. + + :param run_config: The settings for running a single AzureML job. + :return: A HyperDriveConfig object for running multiple AzureML jobs. + """ + return super().get_parameter_search_hyperdrive_config(run_config)
+ +
[docs] def get_model_train_test_dataset_splits(self, dataset_df: DataFrame) -> DatasetSplits: + """ + Computes the training, validation and test splits for the model, from a dataframe that contains + the full dataset. + + :param dataset_df: A dataframe that contains the full dataset that the model is using. + :return: An instance of DatasetSplits with dataframes for training, validation and testing. + """ + return super().get_model_train_test_dataset_splits(dataset_df)
+ +
[docs] def get_output_size(self, execution_mode: ModelExecutionMode = ModelExecutionMode.TRAIN) -> Optional[TupleInt3]: + """ + Returns shape of model's output tensor for training, validation and testing inference modes + """ + if (execution_mode == ModelExecutionMode.TRAIN) or (execution_mode == ModelExecutionMode.VAL): + return self._train_output_size + elif execution_mode == ModelExecutionMode.TEST: + return self._test_output_size + raise ValueError("Unknown execution mode '{}' for function 'get_output_size'".format(execution_mode))
+ +
[docs] def set_derived_model_properties(self, model: Any) -> None: + """ + Updates the model config parameters that depend on how the segmentation model is structured. + In particular, this computes the model's output size for the training and the inference crops. + If the inference stride size is not set, then set it to be equal to the size of the inference output patches. + """ + logging.info(f"Computing model output size when fed with training crops of size {self.crop_size}") + self._train_output_size = model.get_output_shape(input_shape=self.crop_size) + logging.info(f"Computing model output size when fed with inference crops of size {self.test_crop_size}") + self._test_output_size = model.get_output_shape(input_shape=self.test_crop_size) + if self.inference_stride_size is None: + self.inference_stride_size = self._test_output_size + else: + if any_pairwise_larger(self.inference_stride_size, self._test_output_size): + raise ValueError(f"The inference stride size {self.inference_stride_size} must be smaller than the " + f"model's output size {self._test_output_size} in each dimension.")
+ +
[docs] def class_and_index_with_background(self) -> Dict[str, int]: + """ + Returns a dict of class names to indices, including the background class. + The class index assumes that background is class 0, foreground starts at 1. + For example, if the ground_truth_ids are ["foo", "bar"], the result + is {"background": 0, "foo": 1, "bar": 2} + + :return: A dict, one entry for each entry in ground_truth_ids + 1 for the background class. + """ + classes = {BACKGROUND_CLASS_NAME: 0} + classes.update({x: i + 1 for i, x in enumerate(self.ground_truth_ids)}) + return classes
+ +
[docs] def create_and_set_torch_datasets(self, for_training: bool = True, for_inference: bool = True) -> None: + """ + Creates torch datasets for all model execution modes, and stores them in the object. + """ + from InnerEye.ML.dataset.cropping_dataset import CroppingDataset + from InnerEye.ML.dataset.full_image_dataset import FullImageDataset + + dataset_splits = self.get_dataset_splits() + crop_transforms = self.get_cropped_image_sample_transforms() + full_image_transforms = self.get_full_image_sample_transforms() + if for_training: + self._datasets_for_training = { + ModelExecutionMode.TRAIN: CroppingDataset( + self, + dataset_splits.train, + cropped_sample_transforms=crop_transforms.train, # type: ignore + full_image_sample_transforms=full_image_transforms.train), # type: ignore + ModelExecutionMode.VAL: CroppingDataset( + self, dataset_splits.val, + cropped_sample_transforms=crop_transforms.val, # type: ignore + full_image_sample_transforms=full_image_transforms.val), # type: ignore + } + if for_inference: + self._datasets_for_inference = { + mode: FullImageDataset( + self, + dataset_splits[mode], + full_image_sample_transforms=full_image_transforms.test) # type: ignore + for mode in ModelExecutionMode if len(dataset_splits[mode]) > 0 + }
+ +
[docs] def create_model(self) -> Any: + """ + Creates a PyTorch model from the settings stored in the present object. + :return: The network model as a torch.nn.Module object + """ + # Use a local import here to avoid reliance on pytorch too early. + # Return type should be BaseModel, but that would also introduce reliance on pytorch. + from InnerEye.ML.utils.model_util import build_net + return build_net(self)
+ +
[docs] def get_full_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: + """ + Get transforms to perform on full image samples for each model execution mode. + By default only PhotometricNormalization is performed. + """ + from InnerEye.ML.utils.transforms import Compose3D + from InnerEye.ML.photometric_normalization import PhotometricNormalization + + photometric_transformation = Compose3D(transforms=[PhotometricNormalization(self, use_gpu=False)]) + return ModelTransformsPerExecutionMode(train=photometric_transformation, + val=photometric_transformation, + test=photometric_transformation)
+ +
[docs] def get_cropped_image_sample_transforms(self) -> ModelTransformsPerExecutionMode: + """ + Get transforms to perform on cropped samples for each model execution mode. + By default no transformation is performed. + """ + return ModelTransformsPerExecutionMode()
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/photometric_normalization.html b/docs/build/html/_modules/InnerEye/ML/photometric_normalization.html new file mode 100644 index 000000000..eb55f3aa6 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/photometric_normalization.html @@ -0,0 +1,482 @@ + + + + + + InnerEye.ML.photometric_normalization — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.photometric_normalization
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.photometric_normalization

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+import logging
+from typing import Any, List, Optional, Tuple, Union
+
+import matplotlib.pyplot as plt
+import numpy as np
+import torch
+from skimage.filters import threshold_otsu
+
+from InnerEye.ML.config import PhotometricNormalizationMethod, SegmentationModelBase
+from InnerEye.ML.dataset.sample import Sample
+from InnerEye.ML.dataset.scalar_sample import ScalarItem
+from InnerEye.ML.utils.image_util import check_array_range
+from InnerEye.ML.utils.transforms import CTRange, LinearTransform, Transform3D
+
+
+
[docs]class WindowNormalizationForScalarItem(Transform3D[ScalarItem]): + """ + Transform3D to apply window normalization to "images" of a ScalarItem. + """ + # noinspection PyMissingConstructor + + def __init__(self, + output_range: Tuple[float, float] = (0, 1), + sharpen: float = 1.9, + tail: float = 1.0) -> None: + """ + :param output_range: The desired value range of the result image. + :param sharpen: number of standard deviation either side of mean to include in the window + :param tail: Default 1, allow window range to include more of tail of distribution. + """ + self.output_range = output_range + self.sharpen = sharpen + self.tail = tail + + def __call__(self, item: ScalarItem) -> ScalarItem: + return item.clone_with_overrides( + images=torch.tensor(mri_window(image_in=item.images.numpy(), + output_range=self.output_range, + mask=None, + sharpen=self.sharpen, + tail=self.tail)[0], + dtype=item.images.dtype, + device=item.images.device) + )
+ + +
[docs]class PhotometricNormalization(Transform3D[Sample]): + def __init__(self, config_args: SegmentationModelBase = None, **params: Any): + super().__init__(**params) + if config_args is None: + self.norm_method = PhotometricNormalizationMethod.Unchanged + return + + if config_args is not None: + self.norm_method = config_args.norm_method + self.output_range = config_args.output_range + self.level = config_args.level + self.window = config_args.window + self.debug_mode = config_args.debug_mode + self.tail = config_args.tail + self.sharpen = config_args.sharpen + self.trim_percentiles = config_args.trim_percentiles + self.status_of_most_recent_call: Optional[str] = None + + def __call__(self, sample: Sample) -> Sample: + return sample.clone_with_overrides( + image=self.transform( + image=sample.image, + mask=sample.mask, + patient_id=sample.patient_id + ) + ) + +
[docs] def transform(self, image: Union[np.ndarray, torch.Tensor], + mask: Optional[Union[np.ndarray, torch.Tensor]] = None, + patient_id: Optional[int] = None) -> Union[np.ndarray, torch.Tensor]: + if mask is None: + if torch.is_tensor(image): + mask = torch.ones_like(image) + else: + mask = np.ones_like(image) + + is3d = image.ndim == 3 + if is3d: + image = image[np.newaxis] + + self.status_of_most_recent_call = None + if self.norm_method == PhotometricNormalizationMethod.Unchanged: + image_out = image + elif self.norm_method == PhotometricNormalizationMethod.SimpleNorm: + image_out = simple_norm(image, mask, self.debug_mode) + elif self.norm_method == PhotometricNormalizationMethod.MriWindow: + if self.sharpen is None: + raise ValueError("The 'sharpen' parameter must be provided.") + if not (isinstance(self.tail, list) or isinstance(self.tail, float)): + raise ValueError( + "The 'tail' parameter must be provided and set to a float value or a list of float values.") + image_out, status = mri_window( + image, mask, + self.output_range, self.sharpen, self.tail, self.debug_mode + ) + self.status_of_most_recent_call = status + elif self.norm_method == PhotometricNormalizationMethod.CtWindow: + if self.level is None: + raise ValueError("The 'level' parameter must be provided.") + if self.window is None: + raise ValueError("The 'window' parameter must be provided.") + image_out = CTRange.transform(data=image, output_range=self.output_range, + level=self.level, window=self.window, use_gpu=self.use_gpu) + elif self.norm_method == PhotometricNormalizationMethod.TrimmedNorm: + image_out, status = normalize_trim(image, mask, + self.output_range, self.sharpen, self.trim_percentiles, + self.debug_mode) + self.status_of_most_recent_call = status + else: + raise ValueError("Unknown normalization method {}".format(self.norm_method)) + if patient_id is not None and self.status_of_most_recent_call is not None: + logging.debug(f"Photonorm patient {patient_id}: {self.status_of_most_recent_call}") + check_array_range(np.asarray(image_out), error_prefix="Normalized image") + + if is3d: + image_out = image_out[0] + + return image_out
+ + +
[docs]def simple_norm(image_in: np.ndarray, mask: np.ndarray, debug_mode: bool = False) -> np.array: + """ + Normalizes a single image to have mean 0 and standard deviation 1 + + :param image_in: image to normalize + :param mask: image, has W x H x D + :param debug_mode: whether to log means and SDs + :return: normalized image + """ + if not np.issubdtype(image_in.dtype, np.floating): + raise Exception("normalize::simple_norm: Input image is not a floating type") + + image_shape = np.shape(image_in) + nchannel = image_shape[0] + iout = np.zeros(image_shape, dtype=image_in.dtype) + + for ichannel in range(nchannel): + + i = image_in[ichannel, ...].flatten() + m = mask.flatten() + if debug_mode: + logging.info(" In norm before: Standard Deviation, Mean ,{0: 4.1f}, {1: 4.1f}".format(np.std(i[m == 1]), + np.mean(i[m == 1]))) + mean_i = np.mean(i[m == 1]) + std_i = np.std(i[m == 1]) + i = i - mean_i + i = i / std_i + iout[ichannel, ...] = i.reshape(image_shape[1:]) + if debug_mode: + logging.info(" In norm after: Standard Deviation, Mean ,{0: 4.1f}, {1: 4.1f}".format(np.std(i[m == 1]), + np.mean(i[m == 1]))) + + return iout
+ + +
[docs]def normalize_trim(image: np.ndarray, + mask: np.ndarray, + output_range: Tuple[float, float] = (-1.0, 1.0), + sharpen: float = 1.9, + trim_percentiles: Tuple[float, float] = (2.0, 98.0), + debug_mode: bool = False) -> np.array: + """ + Normalizes a single image to have mean 0 and standard deviation 1 + Normalising occurs after percentile thresholds have been applied to strip out extreme values + + :param image: The image to normalize, size Channels x Z x Y x X + :param mask: Consider only pixel values of the input image for which the mask is non-zero. Size Z x Y x X + :param output_range: The desired value range of the result image. + :param sharpen: number of standard deviation either side of mean to include in the window. + :param trim_percentiles: Only consider voxel values between those two percentiles when computing mean and std. + :param debug_mode: If true, create a diagnostic plot (interactive) + :return: trimmed-normalized image + """ + + image_shape = image.shape + imout = np.zeros_like(image) + in_mask = mask > 0.5 + status = "" + for ichannel in range(image_shape[0]): + if ichannel > 0: + status += "Channel {}: ".format(ichannel) + channel_image = image[ichannel, ...] + pixels_inside_mask = channel_image[in_mask].flatten().astype(float) + # First remove all values that fall outside the trim_percentiles + thresholds = np.percentile(pixels_inside_mask, trim_percentiles, interpolation='midpoint') + lower_threshold = thresholds[0] + upper_threshold = thresholds[1] + above_lower = pixels_inside_mask > lower_threshold + below_upper = pixels_inside_mask < upper_threshold + inside_thresholds = np.logical_and(above_lower, below_upper) + # Compute robust statistics off the pixel values that are inside the trim values + median, estimated_std, min_value, max_value = robust_mean_std(pixels_inside_mask[inside_thresholds]) + # Compute an input value range from median and robust std, going as many standard deviations + # as specified by the sharpen parameter + input_range = (max(median - estimated_std * sharpen, min_value), + min(median + estimated_std * sharpen, max_value)) + # Use Polynomial transform function to convert data to output range. This also sets values outside + # the input_range to the boundary values. + channel_output = LinearTransform.transform( + data=channel_image, + input_range=input_range, + output_range=output_range + ) + channel_output[np.logical_not(in_mask)] = output_range[0] + imout[ichannel, ...] = channel_output + status += "Range ({0:0.0f}, {1:0.0f}) ".format(input_range[0], input_range[1]) + logging.info(status) + if debug_mode: + print('median, estimated_std', median, estimated_std) + # + # Normalise values to zero mean and unit variance + # + fig, axs = plt.subplots(2, 2, figsize=(9, 9)) + axs[0, 0].set_title("Original Image") + axs[0, 0].imshow(image[0, :, :, 70], cmap='gray') + # axs[1,0].hist(image.flatten(), 100) + axs[1, 0].set_title("Original Image - Histogram with Mask") + axs[1, 0].set_xlim(lower_threshold, upper_threshold) + axs[1, 0].hist(channel_image[in_mask].flatten(), 20) + axs[0, 1].set_title("Normalised Image, Level= {level:4.1f},\n " + "Window range {in1} to {in2}".format(level=median, in1=lower_threshold, + in2=upper_threshold)) + axs[0, 1].imshow(imout[0, :, :, 70], cmap='gray') + axs[1, 1].set_title("Normalised Image - Histogram with Mask") + axs[1, 1].hist(channel_image[in_mask], 20) + plt.show() + return imout, status
+ + +
[docs]def robust_mean_std(data: np.ndarray) -> Tuple[float, float, float, float]: + """ + Computes robust estimates of mean and standard deviation in the given array. + The median is the robust estimate for the mean, the standard deviation is computed from the + inter-quartile ranges. + :param data: The data for which mean and std should be computed. + :return: A 4-tuple with values (median, robust_std, minimum data value, maximum data value) + """ + if data.ndim != 1: + data = data.flatten() + quartiles = np.percentile(data, (0, 25, 50, 75, 100), interpolation='midpoint') + min_value = quartiles[0] + quart25 = quartiles[1] + median = quartiles[2] + quart75 = quartiles[3] + max_value = quartiles[4] + # Estimate standard deviation from inter quartile range: + # Quartile 1 is at -0.67 of the standard normal (Excel NORMSINV(0.25)) + # Quartile 3 is at 0.67 of the standard normal (Excel NORMSINV(0.75)) + # Inter quartile range hence spans 2 * 0.67 standard deviations + std = (quart75 - quart25) / (2 * 0.67448975) + return median, std, min_value, max_value
+ + +
[docs]def mri_window(image_in: np.ndarray, + mask: Optional[np.ndarray], + output_range: Tuple[float, float] = (-1.0, 1.0), + sharpen: float = 1.9, + tail: Union[List[float], float] = 1.0, + debug_mode: bool = False) -> Tuple[np.array, str]: + """ + This function takes an MRI Image, removes to first peak of values (air). Then a window range is found centered + around the mean of the remaining values and with a range controlled by the standard deviation and the sharpen + input parameter. The larger sharpen is, the wider the range. The resulting values are the normalised to the given + output_range, with values below and above the range being set the the boundary values. + :param image_in: The image to normalize. + :param mask: Consider only pixel values of the input image for which the mask is non-zero. If None the whole + image is considered. + :param output_range: The desired value range of the result image. + :param sharpen: number of standard deviation either side of mean to include in the window + :param tail: Default 1, allow window range to include more of tail of distribution. + :param debug_mode: If true, create diagnostic plots. + :return: normalized image + """ + nchannel = image_in.shape[0] + imout = np.zeros_like(image_in) + if isinstance(tail, int): + tail = float(tail) + if isinstance(tail, float): + tail = [tail] * nchannel + status = "" + for ichannel in range(nchannel): + if ichannel > 0: + status += "Channel {}: ".format(ichannel) + # Flatten to apply Otsu_thresholding + imflat = image_in[ichannel, ...].flatten() + if mask is None: + maflat = None + in_mask = False + else: + maflat = mask.flatten() + in_mask = mask > 0 + # Find Otsu's threshold for the values of the input image + threshold = threshold_otsu(imflat) + # Find window level + level, std_i, _, max_foreground = robust_mean_std(imflat[imflat > threshold]) + # If lower value of window is below threshold replace lower value with threshold + input_range = (max(level - std_i * sharpen, threshold), + min(max_foreground, level + tail[ichannel] * std_i * sharpen)) + im_thresh = image_in[ichannel, ...] + im_thresh[image_in[ichannel, ...] < threshold] = 0 + # Use Polynomial transform function to convert data to output range + imout[ichannel, ...] = LinearTransform.transform(im_thresh, input_range, output_range) + status += f"Otsu {threshold:0.0f}, level {level:0.0f}, range ({input_range[0]:0.0f}, {input_range[1]:0.0f}) " + logging.debug(status) + if debug_mode: + print('Otsu {}, range {}'.format(threshold, input_range)) + if mask is None: + no_thresh = np.sum(imflat < threshold) + no_high = np.sum(imout == output_range[1]) + pc_thresh = no_thresh / np.numel(imflat) * 100 + pc_high = no_high / np.numel(imflat) * 100 + else: + no_thresh = np.sum(imflat[maflat == 1] < threshold) + no_high = np.sum(imout == output_range[1]) + pc_thresh = no_thresh / np.sum(in_mask) * 100 + pc_high = no_high / np.sum(in_mask) * 100 + + print('Percent of values outside window range: low,high', pc_thresh, pc_high, no_high) + + with open("channels_trim.txt", 'a') as fileout: + fileout.write("Thresholded: {ich:d}, {pl:4.2f}, {ph:4.2f} \n".format(ich=ichannel, + pl=pc_thresh, + ph=pc_high)) + + # Plot input distribution + fig, axs = plt.subplots(2, 2, figsize=(9, 9)) + axs[0, 0].set_title("Original Image") + axs[0, 0].imshow(image_in[ichannel, :, :, 70], cmap='gray') + # axs[1,0].hist(image.flatten(), 100) + axs[1, 0].set_title("Original Image - Histogram with Mask") + if mask is None: + axs[1, 0].hist(image_in[ichannel, ...].flatten(), 200) + else: + axs[1, 0].hist(image_in[ichannel, ...][in_mask].flatten(), 200) + axs[0, 1].set_title("Normalised Image, Level= {level:4.1f},\n " + "Window range {in1:4.1f} to {in2:4.1f}, \n" + "{pt:4.1f} % below threshold, {ph:4.1f} % above window \n" + "Threshold= {th:4.1f}" + .format(level=level, in1=input_range[0], in2=input_range[1], pt=pc_thresh, + ph=pc_high, th=threshold)) + axs[0, 1].imshow(imout[ichannel, :, :, 70], cmap='gray') + axs[1, 1].set_title("Normalised Image - Histogram with Mask") + if mask is None: + axs[1, 1].hist(imout[ichannel, ...].flatten(), 200) + else: + axs[1, 1].hist(imout[ichannel, ...][in_mask].flatten(), 200) + plt.show() + + return imout, status
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/pipelines/ensemble.html b/docs/build/html/_modules/InnerEye/ML/pipelines/ensemble.html new file mode 100644 index 000000000..33333ef5c --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/pipelines/ensemble.html @@ -0,0 +1,219 @@ + + + + + + InnerEye.ML.pipelines.ensemble — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.pipelines.ensemble
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.pipelines.ensemble

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+from __future__ import annotations
+
+import logging
+from pathlib import Path
+from typing import Iterable, List, Optional
+
+import numpy as np
+
+from InnerEye.Common.type_annotations import TupleFloat3
+from InnerEye.ML.config import EnsembleAggregationType, SegmentationModelBase
+from InnerEye.ML.pipelines.inference import FullImageInferencePipelineBase, InferencePipeline
+from InnerEye.ML.utils.image_util import posteriors_to_segmentation
+
+
+
[docs]class EnsemblePipeline(FullImageInferencePipelineBase): + """ + Pipeline for ensembling model predictions for whole image inference + """ + + def __init__(self, inference_pipelines: List[InferencePipeline], model_config: SegmentationModelBase): + super().__init__(model_config) + self._inference_pipelines = inference_pipelines + + # check that all of the inference pipelines are not None + if None in self._inference_pipelines: + raise ValueError(f"All inference pipelines in the ensemble must be non None, " + f"found: {self._inference_pipelines}") + +
[docs] @staticmethod + def create_from_checkpoints(path_to_checkpoints: List[Path], + model_config: SegmentationModelBase) -> EnsemblePipeline: + pipelines = [] + for i, path in enumerate(path_to_checkpoints): + pipeline = InferencePipeline.create_from_checkpoint(path, model_config, i) + if pipeline is None: + logging.warning(f"Cannot create pipeline from path {path}; dropping it from ensemble") + else: + pipelines.append(pipeline) + if not pipelines: + raise ValueError("Could not create ANY pipelines from checkpoint paths") + return EnsemblePipeline(model_config=model_config, inference_pipelines=pipelines)
+ +
[docs] @staticmethod + def aggregate_results(results: Iterable[InferencePipeline.Result], + aggregation_type: EnsembleAggregationType) -> InferencePipeline.Result: + """ + Helper method to aggregate results from multiple inference pipelines, based on the aggregation type provided. + :param results: inference pipeline results to aggregate. This may be a Generator to prevent multiple large + posterior arrays being held at the same time. The first element of the sequence is modified in place to + minimize memory use. + :param aggregation_type: aggregation function to use to combine the results. + :return: InferenceResult: contains a Segmentation for each of the classes and their posterior + probabilities. + """ + if aggregation_type != EnsembleAggregationType.Average: + raise NotImplementedError(f"Ensembling is not implemented for aggregation type: {aggregation_type}") + aggregate: Optional[InferencePipeline.Result] = None + n_results = 0 + for result in results: + if aggregate is None: + aggregate = result + else: + aggregate.posteriors += result.posteriors + n_results += 1 + assert aggregate is not None + aggregate.posteriors /= n_results + aggregate.segmentation = posteriors_to_segmentation(aggregate.posteriors) + return aggregate
+ +
[docs] def predict_whole_image(self, image_channels: np.ndarray, + voxel_spacing_mm: TupleFloat3, + mask: np.ndarray = None, + patient_id: int = 0) -> InferencePipeline.Result: + """ + Performs a single inference pass for each model in the ensemble, and aggregates the results + based on the provided aggregation type. + :param image_channels: The input image channels to perform inference on in format: Channels x Z x Y x X. + :param voxel_spacing_mm: Voxel spacing to use for each dimension in (Z x Y x X) order + :param mask: A binary image used to ignore results outside it in format: Z x Y x X. + :param patient_id: The identifier of the patient this image belongs to. + :return InferenceResult: that contains Segmentation for each of the classes and their posterior + probabilities. + """ + logging.info(f"Ensembling inference pipelines ({self._get_pipeline_ids()}) " + f"predictions for patient: {patient_id}, " + f"Aggregation type: {self.model_config.ensemble_aggregation_type.value}") + results = (p.predict_whole_image(image_channels, voxel_spacing_mm, mask, patient_id) for p in + self._inference_pipelines) + return EnsemblePipeline.aggregate_results(results, self.model_config.ensemble_aggregation_type)
+ + def _get_pipeline_ids(self) -> List[int]: + return list(range(len(self._inference_pipelines)))
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/pipelines/inference.html b/docs/build/html/_modules/InnerEye/ML/pipelines/inference.html new file mode 100644 index 000000000..73fcc8181 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/pipelines/inference.html @@ -0,0 +1,462 @@ + + + + + + InnerEye.ML.pipelines.inference — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.pipelines.inference
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.pipelines.inference

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+from __future__ import annotations
+
+import logging
+from enum import Enum
+from pathlib import Path
+from typing import Optional, Tuple, Dict
+
+import numpy as np
+import torch
+import torchio as tio
+
+from InnerEye.Common.type_annotations import TupleFloat3
+from InnerEye.ML import config
+from InnerEye.ML.config import SegmentationModelBase
+from InnerEye.ML.lightning_helpers import load_from_checkpoint_and_adjust_for_inference
+from InnerEye.ML.lightning_models import SegmentationLightning
+from InnerEye.ML.model_config_base import ModelConfigBase
+from InnerEye.ML.utils import image_util, ml_util
+from InnerEye.ML.utils.image_util import compute_uncertainty_map_from_posteriors, gaussian_smooth_posteriors, \
+    posteriors_to_segmentation
+
+
+
[docs]class InferencePipelineBase: + """Base class for all inference pipelines.""" + + def __init__(self, model_config: ModelConfigBase): + self.model_config = model_config
+ + +
[docs]class FullImageInferencePipelineBase(InferencePipelineBase): + """ + Base Class for full image inference intended to be inherited by inference pipelines + that can perform full image prediction + """ + + def __init__(self, model_config: SegmentationModelBase): + super().__init__(model_config) + +
[docs] def predict_and_post_process_whole_image(self, image_channels: np.ndarray, + voxel_spacing_mm: TupleFloat3, + mask: np.ndarray = None, + patient_id: int = 0) -> InferencePipeline.Result: + return self.post_process(self.predict_whole_image(image_channels, voxel_spacing_mm, mask, patient_id))
+ +
[docs] def predict_whole_image(self, image_channels: np.ndarray, + voxel_spacing_mm: TupleFloat3, + mask: np.ndarray = None, + patient_id: int = 0) -> InferencePipeline.Result: + raise NotImplementedError("Full image inference capability must be implemented by concrete classes")
+ +
[docs] def post_process(self, results: InferencePipeline.Result) -> InferencePipeline.Result: + """ + Perform connected component analysis to update segmentation with largest + connected component based on the configurations + :param results: inference results to post-process + :return: post-processed version of results + """ + if self.model_config.posterior_smoothing_mm: + posteriors = gaussian_smooth_posteriors( + posteriors=results.posteriors, + kernel_size_mm=self.model_config.posterior_smoothing_mm, + voxel_spacing_mm=results.voxel_spacing_mm + ) + + results = InferencePipeline.Result( + patient_id=results.patient_id, + posteriors=posteriors, + segmentation=posteriors_to_segmentation(posteriors), + voxel_spacing_mm=results.voxel_spacing_mm + ) + + if self.model_config.summed_probability_rules and not self.model_config.disable_extra_postprocessing: + assert isinstance(self.model_config, SegmentationModelBase) + results = results.with_new_segmentation( + image_util.apply_summed_probability_rules(self.model_config, results.posteriors, results.segmentation)) + + if self.model_config.largest_connected_component_foreground_classes is not None: + # get indices for classes to restrict + restrict_class_indices_and_thresholds = [] + for name, idx in self.model_config.class_and_index_with_background().items(): + for name2, threshold in self.model_config.largest_connected_component_foreground_classes: + if name2 == name: + restrict_class_indices_and_thresholds.append((idx, threshold)) + results = results.with_new_segmentation( + image_util.extract_largest_foreground_connected_component( + multi_label_array=results.segmentation, + # mypy gets confused below because List is invariant. Sequence is covariant + # but does not allow "append". + restrictions=restrict_class_indices_and_thresholds)) # type: ignore + + if self.model_config.slice_exclusion_rules and not self.model_config.disable_extra_postprocessing: + results = results.with_new_segmentation( + image_util.apply_slice_exclusion_rules(self.model_config, results.segmentation)) + + return results
+ + +
[docs]class InferencePipeline(FullImageInferencePipelineBase): + """ + Pipeline class for model for whole image inference on ct-images. + """ + + # the model output is expected to be a valid probability distribution + MODEL_OUTPUT_POSTERIOR_RANGE = (0, 1) + +
[docs] class Variables(Enum): + """ + Variables associated with the inference pipeline + """ + + # an instantiated model to use for inference. + Model = 'model' + # the configuration associated with the model. + ModelConfig = 'model_config' + # the shape of the image required as output from the pipeline. + OutputImageShape = 'output_image_shape' + # A Tuple[int,int,int] with the crop size that should be used. For large images, this will be + # the test_crop_size from the model config, but for smaller images, it will be the componentwise + # minimum of test_crop_size and image_size + CropSize = 'crop_size' + # The stride size to use, possibly adjusted for small images (see above for crop_size) + Stride = 'stride' + # The size of the output tensor that the model will produce when fed with an input tensor that + # has the given crop_size. + OutputSize = 'output_size'
+ +
[docs] class Result: + """ + Contains the inference results from a single pass of the inference pipeline + """ + + def __init__(self, + patient_id: int, + segmentation: np.ndarray, + posteriors: np.ndarray, + voxel_spacing_mm: TupleFloat3): + """ + :param patient_id: The id of the patient instance for with inference is being performed on. + :param segmentation: Z x Y x X (argmaxed over the posteriors in the class dimension) + :param voxel_spacing_mm: Voxel spacing to use for each dimension in (Z x Y x X) order + :param posteriors: Class x Z x Y x X + """ + self.patient_id = patient_id + self.segmentation = segmentation + self.posteriors = posteriors + self.voxel_spacing_mm = voxel_spacing_mm + + if len(self.voxel_spacing_mm) != 3: + raise ValueError(f"voxel_spacing_mm must have length 3, found: {voxel_spacing_mm}") + if any(np.array(self.voxel_spacing_mm) <= 0): + raise ValueError(f"voxel_spacing_mm must have values > 0 in each dimension, found: {voxel_spacing_mm}") + + ml_util.check_size_matches(self.segmentation, + self.posteriors, + dim1=3, + dim2=4, + matching_dimensions=[-3, -2, -1], + arg1_name="segmentation", + arg2_name="posteriors") + + segmentation_value_range = np.unique(self.segmentation) + if not np.all([x in range(self.posteriors.shape[0]) for x in segmentation_value_range]): + raise Exception("values in the segmentation map must be in range [0, classes), " + "found classes:{}, segmentation range:{}" + .format(self.posteriors.shape[0], segmentation_value_range)) + + self._uncertainty = compute_uncertainty_map_from_posteriors(self.posteriors) + + @property + def uncertainty(self) -> np.ndarray: + return self._uncertainty + +
[docs] def with_new_segmentation(self, segmentation: np.ndarray) -> InferencePipeline.Result: + if segmentation.shape != self.segmentation.shape: + raise ValueError(f"Attempt to replace segmentation of shape {self.segmentation.shape} " + f"with one of shape {segmentation.shape}") + return InferencePipeline.Result( + patient_id=self.patient_id, + segmentation=segmentation, + posteriors=self.posteriors, + voxel_spacing_mm=self.voxel_spacing_mm)
+ + def __init__(self, model: SegmentationLightning, model_config: config.SegmentationModelBase, + pipeline_id: int = 0): + super().__init__(model_config) + self.model = model + self.model.model.eval() + self.pipeline_id = pipeline_id + +
[docs] @staticmethod + def create_from_checkpoint(path_to_checkpoint: Path, + model_config: SegmentationModelBase, + pipeline_id: int = 0) -> Optional[InferencePipeline]: + """ + Creates an instance of the inference pipeline for a given epoch from a stored checkpoint. + After loading, the model parameters are checked for NaN and Infinity values. + If there is no checkpoint file for the given epoch, return None. + :param path_to_checkpoint: The path to the checkpoint that we want to load + model_config.checkpoint_folder + :param model_config: Model related configurations. + :param pipeline_id: Numeric identifier for the pipeline (useful for logging when ensembling) + :return InferencePipeline: an instantiated inference pipeline instance, or None if there was no checkpoint + file for this epoch. + """ + if not path_to_checkpoint.is_file(): + # not raising a value error here: This is used to create individual pipelines for ensembles, + # possible one model cannot be created but others can + logging.warning(f"Could not recover model from checkpoint path {path_to_checkpoint}") + return None + lightning_model = load_from_checkpoint_and_adjust_for_inference(model_config, path_to_checkpoint) + assert isinstance(lightning_model, SegmentationLightning) + return InferencePipeline(model=lightning_model, model_config=model_config, pipeline_id=pipeline_id)
+ +
[docs] def post_process_posteriors(self, posteriors: np.ndarray, mask: np.ndarray = None) -> Tuple[np.ndarray, np.ndarray]: + """ + Perform post processing on the computed outputs of the a single pass of the pipelines. + Currently the following operations are performed: + ------------------------------------------------------------------------------------- + 1) the mask is applied to the posteriors (if required). + 2) the final posteriors are used to perform an argmax to generate a multi-label segmentation. + 3) extract the largest foreground connected component in the segmentation if required + """ + if mask is not None: + posteriors = image_util.apply_mask_to_posteriors(posteriors=posteriors, mask=mask) + + # create segmentation using an argmax over the posterior probabilities + segmentation = image_util.posteriors_to_segmentation(posteriors) + + return posteriors, segmentation
+ +
[docs] @torch.no_grad() + def predict_whole_image(self, image_channels: np.ndarray, + voxel_spacing_mm: TupleFloat3, + mask: Optional[np.ndarray] = None, + patient_id: int = 0) -> InferencePipeline.Result: + """ + Performs a single inference pass through the pipeline for the provided image + + :param image_channels: The input image channels to perform inference on in format: Channels x Z x Y x X. + :param voxel_spacing_mm: Voxel spacing to use for each dimension in (Z x Y x X) order + :param mask: A binary image used to ignore results outside it in format: Z x Y x X. + :param patient_id: The identifier of the patient this image belongs to (defaults to 0 if None provided). + :return InferenceResult: that contains Segmentation for each of the classes and their posterior probabilities. + """ + torch.cuda.empty_cache() + if image_channels is None: + raise Exception("image_channels cannot be None") + if image_channels.ndim != 4: + raise NotImplementedError("image_channels must be in shape: Channels x Z x Y x X" + "found image_channels shape: {}".format(image_channels.shape)) + if mask is not None: + ml_util.check_size_matches(image_channels, mask, 4, 3, [-1, -2, -3]) + self.model.eval() + + image = tio.ScalarImage(tensor=image_channels) + INPUT = 'input_image' + MASK = 'mask' + + subject_dict: Dict[str, tio.Image] = {INPUT: image} + if mask is not None: + subject_dict[MASK] = tio.LabelMap(tensor=mask[np.newaxis]) + subject = tio.Subject(subject_dict) + + constraints = self.model.model.crop_size_constraints + + # Make sure the image size is compatible with the model + multiple_constraints = constraints.multiple_of # type: ignore + if multiple_constraints is not None: + ensure_shape_multiple = tio.EnsureShapeMultiple(constraints.multiple_of) # type: ignore + subject = ensure_shape_multiple(subject) # type: ignore + + # There may be cases where the test image is smaller than the test_crop_size. Adjust crop_size + # to always fit into image. If test_crop_size is smaller than the image, crop will remain unchanged. + restrict_patch_size = constraints.restrict_crop_size_to_image # type: ignore + effective_patch_size, effective_stride = restrict_patch_size(subject.spatial_shape, # type: ignore + self.model_config.test_crop_size, + self.model_config.inference_stride_size) + + patch_overlap = np.array(effective_patch_size) - np.array(effective_stride) + grid_sampler = tio.inference.GridSampler( + subject, + effective_patch_size, + patch_overlap, + padding_mode=self.model_config.padding_mode.value, + ) + batch_size = self.model_config.inference_batch_size + patch_loader = torch.utils.data.DataLoader(grid_sampler, batch_size=batch_size) # type: ignore + aggregator = tio.inference.GridAggregator(grid_sampler) + + logging.debug( + f"Inference on image size {subject.spatial_shape} will run " + f"with crop size {effective_patch_size} and stride {effective_stride}") + for patches_batch in patch_loader: + input_tensor = patches_batch[INPUT][tio.DATA].float() + if self.model_config.use_gpu: + input_tensor = input_tensor.cuda() + locations = patches_batch[tio.LOCATION] + # perform the forward pass + patches_posteriors = self.model(input_tensor).detach() + # pad posteriors if they are smaller than the input + input_shape = input_tensor.shape[-3:] + patches_posteriors_shape = patches_posteriors.shape[-3:] + if input_shape != patches_posteriors_shape: + difference = np.array(input_shape) - np.array(patches_posteriors_shape) + assert not np.any(difference % 2) # the differences in shape are expected to be even + padding = tuple(np.repeat(difference // 2, 2)) + patches_posteriors = torch.nn.functional.pad(patches_posteriors, padding) + # collect the predictions over each of the batches + aggregator.add_batch(patches_posteriors, locations) + posteriors = aggregator.get_output_tensor().numpy() + posteriors_mask = None if mask is None else subject[MASK].numpy()[0] + posteriors, segmentation = self.post_process_posteriors(posteriors, mask=posteriors_mask) + + image_util.check_array_range(posteriors, error_prefix="Whole image posteriors") + + # Make sure the final shape matches the input shape by undoing the padding in EnsureShapeMultiple (if any) + posteriors_image = tio.ScalarImage(tensor=posteriors, affine=image.affine) + segmentation_image = tio.LabelMap(tensor=segmentation[np.newaxis], affine=image.affine) + subject.add_image(posteriors_image, 'posteriors') + subject.add_image(segmentation_image, 'segmentation') + # Remove some images to avoid unnecessary computations + subject.remove_image(INPUT) + if mask is not None: + subject.remove_image(MASK) + subject_original_space = subject.apply_inverse_transform() if subject.applied_transforms else subject + posteriors = subject_original_space.posteriors.numpy() # type: ignore + segmentation = subject_original_space.segmentation.numpy()[0] # type: ignore + + # prepare pipeline results from the processed batch + return InferencePipeline.Result( + patient_id=patient_id, + segmentation=segmentation, + posteriors=posteriors, + voxel_spacing_mm=voxel_spacing_mm + )
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/pipelines/scalar_inference.html b/docs/build/html/_modules/InnerEye/ML/pipelines/scalar_inference.html new file mode 100644 index 000000000..f93358cb3 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/pipelines/scalar_inference.html @@ -0,0 +1,314 @@ + + + + + + InnerEye.ML.pipelines.scalar_inference — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.pipelines.scalar_inference
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.pipelines.scalar_inference

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+from __future__ import annotations
+
+import logging
+from dataclasses import dataclass
+from pathlib import Path
+from typing import Any, Dict, List, Optional
+
+import torch
+
+from InnerEye.ML.lightning_helpers import load_from_checkpoint_and_adjust_for_inference
+from InnerEye.ML.lightning_models import ScalarLightning
+from InnerEye.ML.pipelines.inference import InferencePipelineBase
+from InnerEye.ML.scalar_config import EnsembleAggregationType, ScalarModelBase
+from InnerEye.ML.utils.model_util import get_scalar_model_inputs_and_labels
+
+
+
[docs]class ScalarInferencePipelineBase(InferencePipelineBase): + """ + Base class for classification inference pipelines: inference pipelines for single and ensemble classification + inference pipelines will inherit this. + """ + + def __init__(self, model_config: ScalarModelBase): + super().__init__(model_config) + +
[docs] def predict(self, sample: Dict[str, Any]) -> ScalarInferencePipelineBase.Result: + raise NotImplementedError("predict must be implemented by concrete classes")
+ +
[docs] @dataclass + class Result: + """ + Contains the inference results from a single pass of the inference pipeline on an input batch. + """ + + subject_ids: List[str] + labels: torch.Tensor + posteriors: torch.Tensor + + def __post_init__(self) -> None: + if len(self.subject_ids) != self.labels.shape[0]: + raise ValueError(f"Got {self.labels.shape[0]} labels for {len(self.subject_ids)} samples.") + if len(self.subject_ids) != self.posteriors.shape[0]: + raise ValueError(f"Got {self.posteriors.shape[0]} predictions for {len(self.subject_ids)} samples.")
+ + +
[docs]class ScalarInferencePipeline(ScalarInferencePipelineBase): + """ + Pipeline for inference from a single model on classification tasks. + """ + + def __init__(self, + model: ScalarLightning, + model_config: ScalarModelBase, + pipeline_id: int) -> None: + """ + :param model: Model recovered from the checkpoint. + :param model_config: Model configuration information. + :param pipeline_id: ID for this pipeline (useful for ensembles). + :return: + """ + super().__init__(model_config) + self.model = model + self.pipeline_id = pipeline_id + # Switch model to evaluation mode (if not, results will be different from what we got during training, + # because batchnorm operates differently). + model.eval() + +
[docs] @staticmethod + def create_from_checkpoint(path_to_checkpoint: Path, + config: ScalarModelBase, + pipeline_id: int = 0) -> Optional[ScalarInferencePipeline]: + """ + Creates an inference pipeline from a single checkpoint. + + :param path_to_checkpoint: Path to the checkpoint to recover. + :param config: Model configuration information. + :param pipeline_id: ID for the pipeline to be created. + :return: ScalarInferencePipeline if recovery from checkpoint successful. None if unsuccessful. + """ + if not path_to_checkpoint.is_file(): + # not raising a value error here: This is used to create individual pipelines for ensembles, + # possible one model cannot be created but others can + logging.warning(f"Could not recover model from checkpoint path {path_to_checkpoint}") + return None + if config.compute_mean_teacher_model: + raise NotImplementedError("Mean teacher models not supported yet.") + else: + model = load_from_checkpoint_and_adjust_for_inference(config, path_to_checkpoint) + assert isinstance(model, ScalarLightning) + return ScalarInferencePipeline(model, config, pipeline_id=pipeline_id)
+ +
[docs] def predict(self, sample: Dict[str, Any]) -> ScalarInferencePipelineBase.Result: + """ + Runs the forward pass on a single batch. + + :param sample: Single batch of input data. + In the form of a dictionary containing at least the fields: + metadata, label, images, numerical_non_image_features, + categorical_non_image_features and segmentations. + :return: ScalarInferencePipelineBase.Result with the subject ids, ground truth labels and predictions. + """ + assert isinstance(self.model_config, ScalarModelBase) + model_inputs_and_labels = get_scalar_model_inputs_and_labels(self.model.model, + sample=sample) + model_inputs_and_labels.move_to_device(self.model.device) + with torch.no_grad(): + # This already gives the model outputs converted to posteriors + posteriors: torch.Tensor = self.model.forward(*model_inputs_and_labels.model_inputs) + return ScalarInferencePipelineBase.Result(subject_ids=model_inputs_and_labels.subject_ids, + labels=model_inputs_and_labels.labels, + posteriors=posteriors)
+ + +
[docs]class ScalarEnsemblePipeline(ScalarInferencePipelineBase): + """ + Pipeline for inference from an ensemble model on classification tasks. This pipeline creates models from + multiple checkpoints and aggregates the predictions across models. + """ + + def __init__(self, + pipelines: List[ScalarInferencePipeline], + model_config: ScalarModelBase, + ensemble_aggregation_type: EnsembleAggregationType) -> None: + """ + :param pipelines: A set of inference pipelines, one for each recovered checkpoint. + :param model_config: Model configuration information. + :param ensemble_aggregation_type: Type of aggregation to perform on the model outputs. + :return: + """ + super().__init__(model_config) + self.pipelines = pipelines + self.aggregation_type = ensemble_aggregation_type + +
[docs] @staticmethod + def create_from_checkpoint(paths_to_checkpoint: List[Path], + config: ScalarModelBase) -> ScalarEnsemblePipeline: + """ + Creates an ensemble pipeline from a list of checkpoints. + :param paths_to_checkpoint: List of paths to the checkpoints to be recovered. + :param config: Model configuration information. + :return: + """ + inference_pipelines = [] + for pipeline_id, path in enumerate(paths_to_checkpoint): + pipeline = ScalarInferencePipeline.create_from_checkpoint(path, config, pipeline_id) + if pipeline: + inference_pipelines.append(pipeline) + logging.info(f"Recovered {len(inference_pipelines)} out of {len(paths_to_checkpoint)} checkpoints") + + # check if at least one inference pipeline has been created + if not inference_pipelines: + raise ValueError("Could not recover any of the given checkpoints") + return ScalarEnsemblePipeline(inference_pipelines, config, config.ensemble_aggregation_type)
+ +
[docs] def predict(self, sample: Dict[str, Any]) -> ScalarInferencePipelineBase.Result: + """ + Performs inference on a single batch. First does the forward pass on all of the single inference pipelines, + and then aggregates the results. + + :param sample: single batch of input data. + In the form of a dictionary containing at least the fields: + metadata, label, images, numerical_non_image_features, + categorical_non_image_features and segmentations. + :return: Returns ScalarInferencePipelineBase.Result with the subject ids, ground truth labels and predictions. + """ + results = [pipeline.predict(sample) for pipeline in self.pipelines] + # Gather all model outputs into a single tensor + posteriors = torch.stack([result.posteriors for result in results]) + posteriors_aggregated = self.aggregate_model_outputs(posteriors) + result = ScalarInferencePipelineBase.Result(subject_ids=results[0].subject_ids, + labels=results[0].labels, + posteriors=posteriors_aggregated) + return result
+ +
[docs] def aggregate_model_outputs(self, model_outputs: torch.Tensor) -> torch.Tensor: + """ + Aggregates the forward pass results from the individual models in the ensemble. + :param model_outputs: List of model outputs for every model in the ensemble. + (Number of ensembles) x (batch_size) x 1 + """ + # aggregate model outputs + if self.aggregation_type == EnsembleAggregationType.Average: + aggregated_outputs = model_outputs.mean(dim=0) + else: + raise NotImplementedError(f"Ensemble aggregation type {self.aggregation_type} not implemented.") + + return aggregated_outputs
+
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/InnerEye/ML/runner.html b/docs/build/html/_modules/InnerEye/ML/runner.html new file mode 100644 index 000000000..b03e72fa1 --- /dev/null +++ b/docs/build/html/_modules/InnerEye/ML/runner.html @@ -0,0 +1,585 @@ + + + + + + InnerEye.ML.runner — InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + +
+ + +
+ +
+
+
+ +
+
+
+
+ +

Source code for InnerEye.ML.runner

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+import logging
+import os
+import sys
+import uuid
+from pathlib import Path
+from typing import Optional, Tuple
+
+# Workaround for an issue with how AzureML and Pytorch Lightning interact: When spawning additional processes for DDP,
+# the working directory is not correctly picked up in sys.path
+print(f"Starting InnerEye runner at {sys.argv[0]}")
+innereye_root = Path(__file__).resolve().parent.parent.parent
+if (innereye_root / "InnerEye").is_dir():
+    innereye_root_str = str(innereye_root)
+    if innereye_root_str not in sys.path:
+        print(f"Adding InnerEye folder to sys.path: {innereye_root_str}")
+        sys.path.insert(0, innereye_root_str)
+from InnerEye.Common import fixed_paths
+
+# This must be added before all other imports because they might rely on hi-ml already, and that can optionally live
+# in a submodule
+fixed_paths.add_submodules_to_path()
+
+from azureml._base_sdk_common import user_agent
+from azureml._restclient.constants import RunStatus
+from azureml.core import Run, ScriptRunConfig
+from health_azure import AzureRunInfo, submit_to_azure_if_needed
+from health_azure.utils import create_run_recovery_id, is_global_rank_zero, is_local_rank_zero, merge_conda_files, \
+    to_azure_friendly_string
+import matplotlib
+
+from InnerEye.Azure.tensorboard_monitor import AMLTensorBoardMonitorConfig, monitor
+from InnerEye.Azure import azure_util
+from InnerEye.Azure.azure_config import AzureConfig, ParserResult, SourceConfig
+from InnerEye.Azure.azure_runner import (DEFAULT_DOCKER_BASE_IMAGE, create_dataset_configs, create_experiment_name,
+                                         create_runner_parser,
+                                         get_git_tags,
+                                         parse_args_and_add_yaml_variables,
+                                         parse_arguments, additional_run_tags,
+                                         set_environment_variables_for_multi_node)
+from InnerEye.Azure.azure_util import (RUN_CONTEXT, RUN_RECOVERY_ID_KEY_NAME, get_all_environment_files,
+                                       is_offline_run_context)
+from InnerEye.Azure.run_pytest import download_pytest_result, run_pytest
+from InnerEye.Common.common_util import (FULL_METRICS_DATAFRAME_FILE, METRICS_AGGREGATES_FILE,
+                                         is_linux, logging_to_stdout)
+from InnerEye.Common.generic_parsing import GenericConfig
+from InnerEye.ML.common import DATASET_CSV_FILE_NAME
+from InnerEye.ML.deep_learning_config import DeepLearningConfig
+from InnerEye.ML.lightning_base import InnerEyeContainer
+from InnerEye.ML.model_config_base import ModelConfigBase
+from InnerEye.ML.run_ml import MLRunner, ModelDeploymentHookSignature, PostCrossValidationHookSignature
+from InnerEye.ML.utils.config_loader import ModelConfigLoader
+from InnerEye.ML.lightning_container import LightningContainer
+
+# We change the current working directory before starting the actual training. However, this throws off starting
+# the child training threads because sys.argv[0] is a relative path when running in AzureML. Turn that into an absolute
+# path.
+runner_path = Path(sys.argv[0])
+if not runner_path.is_absolute():
+    sys.argv[0] = str(runner_path.absolute())
+
+
+
[docs]def initialize_rpdb() -> None: + """ + On Linux only, import and initialize rpdb, to enable remote debugging if necessary. + """ + # rpdb signal trapping does not work on Windows, as there is no SIGTRAP: + if not is_linux(): + return + rpdb = __import__('rpdb') # hack so that the pre-commit hook does not flag this line + rpdb_port = 4444 + rpdb.handle_trap(port=rpdb_port) + # For some reason, os.getpid() does not return the ID of what appears to be the currently running process. + logging.info("rpdb is handling traps. To debug: identify the main runner.py process, then as root: " + f"kill -TRAP <process_id>; nc 127.0.0.1 {rpdb_port}")
+ + +
[docs]def package_setup_and_hacks() -> None: + """ + Set up the Python packages where needed. In particular, reduce the logging level for some of the used + libraries, which are particularly talkative in DEBUG mode. Usually when running in DEBUG mode, we want + diagnostics about the model building itself, but not for the underlying libraries. + It also adds workarounds for known issues in some packages. + """ + # Numba code generation is extremely talkative in DEBUG mode, disable that. + logging.getLogger('numba').setLevel(logging.WARNING) + # Matplotlib is also very talkative in DEBUG mode, filling half of the log file in a PR build. + logging.getLogger('matplotlib').setLevel(logging.INFO) + # Urllib3 prints out connection information for each call to write metrics, etc + logging.getLogger('urllib3').setLevel(logging.INFO) + logging.getLogger('msrest').setLevel(logging.INFO) + # AzureML prints too many details about logging metrics + logging.getLogger('azureml').setLevel(logging.INFO) + # Jupyter notebook report generation + logging.getLogger('papermill').setLevel(logging.INFO) + logging.getLogger('nbconvert').setLevel(logging.INFO) + # This is working around a spurious error message thrown by MKL, see + # https://github.com/pytorch/pytorch/issues/37377 + os.environ['MKL_THREADING_LAYER'] = 'GNU' + # Workaround for issues with matplotlib on some X servers, see + # https://stackoverflow.com/questions/45993879/matplot-lib-fatal-io-error-25-inappropriate-ioctl-for-device-on-x + # -server-loc + matplotlib.use('Agg')
+ + +
[docs]class Runner: + """ + This class contains the high-level logic to start a training run: choose a model configuration by name, + submit to AzureML if needed, or otherwise start the actual training and test loop. + :param project_root: The root folder that contains all of the source code that should be executed. + :param yaml_config_file: The path to the YAML file that contains values to supply into sys.argv. + :param post_cross_validation_hook: A function to call after waiting for completion of cross validation runs. + The function is called with the model configuration and the path to the downloaded and merged metrics files. + :param model_deployment_hook: an optional function for deploying a model in an application-specific way. + If present, it should take a model config (SegmentationModelBase), an AzureConfig, and an AzureML + Model as arguments, and return an optional Path and a further object of any type. + """ + + def __init__(self, + project_root: Path, + yaml_config_file: Path, + post_cross_validation_hook: Optional[PostCrossValidationHookSignature] = None, + model_deployment_hook: Optional[ModelDeploymentHookSignature] = None): + self.project_root = project_root + self.yaml_config_file = yaml_config_file + self.post_cross_validation_hook = post_cross_validation_hook + self.model_deployment_hook = model_deployment_hook + # model_config and azure_config are placeholders for now, and are set properly when command line args are + # parsed. + self.model_config: Optional[DeepLearningConfig] = None + self.azure_config: AzureConfig = AzureConfig() + self.lightning_container: LightningContainer = None # type: ignore + # This field stores the MLRunner object that has been created in the most recent call to the run() method. + self.ml_runner: Optional[MLRunner] = None + +
[docs] def parse_and_load_model(self) -> ParserResult: + """ + Parses the command line arguments, and creates configuration objects for the model itself, and for the + Azure-related parameters. Sets self.azure_config and self.model_config to their proper values. Returns the + parser output from parsing the model commandline arguments. + If no "model" argument is provided on the commandline, self.model_config will be set to None, and the return + value is None. + """ + # Create a parser that will understand only the args we need for an AzureConfig + parser1 = create_runner_parser() + parser_result = parse_args_and_add_yaml_variables(parser1, + yaml_config_file=self.yaml_config_file, + project_root=self.project_root, + fail_on_unknown_args=False) + azure_config = AzureConfig(**parser_result.args) + azure_config.project_root = self.project_root + self.azure_config = azure_config + self.model_config = None + if not azure_config.model: + raise ValueError("Parameter 'model' needs to be set to tell InnerEye which model to run.") + model_config_loader: ModelConfigLoader = ModelConfigLoader(**parser_result.args) + # Create the model as per the "model" commandline option. This can return either a built-in config + # of type DeepLearningConfig, or a LightningContainer. + config_or_container = model_config_loader.create_model_config_from_name(model_name=azure_config.model) + + def parse_overrides_and_apply(c: object, previous_parser_result: ParserResult) -> ParserResult: + assert isinstance(c, GenericConfig) + parser = type(c).create_argparser() + # For each parser, feed in the unknown settings from the previous parser. All commandline args should + # be consumed by name, hence fail if there is something that is still unknown. + parser_result = parse_arguments(parser, + settings_from_yaml=previous_parser_result.unknown_settings_from_yaml, + args=previous_parser_result.unknown, + fail_on_unknown_args=True) + # Apply the overrides and validate. Overrides can come from either YAML settings or the commandline. + c.apply_overrides(parser_result.known_settings_from_yaml) + c.apply_overrides(parser_result.overrides) + c.validate() + return parser_result + + # Now create a parser that understands overrides at model/container level. + parser_result = parse_overrides_and_apply(config_or_container, parser_result) + + if isinstance(config_or_container, LightningContainer): + self.lightning_container = config_or_container + elif isinstance(config_or_container, ModelConfigBase): + # Built-in InnerEye models use a fake container + self.model_config = config_or_container + self.lightning_container = InnerEyeContainer(config_or_container) + else: + raise ValueError(f"Don't know how to handle a loaded configuration of type {type(config_or_container)}") + + # Allow overriding AzureConfig params from within the container. + self.lightning_container.update_azure_config(self.azure_config) + + if azure_config.extra_code_directory: + exist = "exists" if Path(azure_config.extra_code_directory).exists() else "does not exist" + logging.info(f"extra_code_directory is {azure_config.extra_code_directory}, which {exist}") + else: + logging.info("extra_code_directory is unset") + return parser_result
+ +
[docs] def run(self) -> Tuple[Optional[DeepLearningConfig], AzureRunInfo]: + """ + The main entry point for training and testing models from the commandline. This chooses a model to train + via a commandline argument, runs training or testing, and writes all required info to disk and logs. + :return: If submitting to AzureML, returns the model configuration that was used for training, + including commandline overrides applied (if any). + """ + # Usually, when we set logging to DEBUG, we want diagnostics about the model + # build itself, but not the tons of debug information that AzureML submissions create. + logging_to_stdout(logging.INFO if is_local_rank_zero() else "ERROR") + initialize_rpdb() + user_agent.append(azure_util.INNEREYE_SDK_NAME, azure_util.INNEREYE_SDK_VERSION) + self.parse_and_load_model() + if self.lightning_container.perform_cross_validation: + # force hyperdrive usage if performing cross validation + self.azure_config.hyperdrive = True + azure_run_info = self.submit_to_azureml_if_needed() + self.run_in_situ(azure_run_info) + if self.model_config is None: + return self.lightning_container, azure_run_info + return self.model_config, azure_run_info
+ +
[docs] def submit_to_azureml_if_needed(self) -> AzureRunInfo: + """ + Submit a job to AzureML, returning the resulting Run object, or exiting if we were asked to wait for + completion and the Run did not succeed. + """ + if self.azure_config.azureml and isinstance(self.model_config, DeepLearningConfig) \ + and not self.lightning_container.azure_dataset_id: + raise ValueError("When running an InnerEye built-in model in AzureML, the 'azure_dataset_id' " + "property must be set.") + # https://docs.nvidia.com/cuda/cublas/index.html#cublasApi_reproducibility + env_variables = {"CUBLAS_WORKSPACE_CONFIG": ":4096:8"} if self.lightning_container.pl_deterministic else {} + source_config = SourceConfig( + root_folder=self.project_root, + entry_script=Path(sys.argv[0]).resolve(), + script_params=sys.argv[1:], + conda_dependencies_files=get_all_environment_files(self.project_root), + hyperdrive_config_func=(self.model_config.get_hyperdrive_config if self.model_config + else self.lightning_container.get_hyperdrive_config), + # For large jobs, upload of results can time out because of large checkpoint files. Default is 600 + upload_timeout_seconds=86400, + environment_variables=env_variables + ) + # Reduce the size of the snapshot by adding unused folders to amlignore. The Test* subfolders are only needed + # when running pytest. + ignored_folders = [] + if not self.azure_config.pytest_mark: + ignored_folders.extend(["Tests", "TestsOutsidePackage"]) + if not self.lightning_container.regression_test_folder: + ignored_folders.append("RegressionTestResults") + + all_local_datasets = self.lightning_container.all_local_dataset_paths() + input_datasets = \ + create_dataset_configs(self.azure_config, + all_azure_dataset_ids=self.lightning_container.all_azure_dataset_ids(), + all_dataset_mountpoints=self.lightning_container.all_dataset_mountpoints(), + all_local_datasets=all_local_datasets) # type: ignore + + def after_submission_hook(azure_run: Run) -> None: + """ + A function that will be called right after job submission. + """ + # Set the default display name to what was provided as the "tag". This will affect single runs + # and Hyperdrive parent runs + if self.azure_config.tag: + azure_run.display_name = self.azure_config.tag + # Add an extra tag that depends on the run that was actually submitted. This is used for later filtering + # run in cross validation analysis + recovery_id = create_run_recovery_id(azure_run) + azure_run.tag(RUN_RECOVERY_ID_KEY_NAME, recovery_id) + print("If this run fails, re-start runner.py and supply these additional arguments: " + f"--run_recovery_id={recovery_id}") + if self.azure_config.tensorboard: + print("Starting TensorBoard now because you specified --tensorboard") + monitor(monitor_config=AMLTensorBoardMonitorConfig(run_ids=[azure_run.id]), + azure_config=self.azure_config) + else: + print(f"To monitor this run locally using TensorBoard, run the script: " + f"InnerEye/Azure/tensorboard_monitor.py --run_ids={azure_run.id}") + + if self.azure_config.wait_for_completion: + # We want the job output to be visible on the console. Do not exit yet if the job fails, because we + # may need to download the pytest result file. + azure_run.wait_for_completion(show_output=True, raise_on_error=False) + if self.azure_config.pytest_mark: + # The AzureML job can optionally run pytest. Attempt to download it to the current directory. + # A build step will pick up that file and publish it to Azure DevOps. + # If pytest_mark is set, this file must exist. + logging.info("Downloading pytest result file.") + download_pytest_result(azure_run) + if azure_run.status == RunStatus.FAILED: + raise ValueError(f"The AzureML run failed. Please check this URL for details: " + f"{azure_run.get_portal_url()}") + + hyperdrive_config = None + if self.azure_config.hyperdrive: + hyperdrive_config = self.lightning_container.get_hyperdrive_config(ScriptRunConfig(source_directory="")) + + # Create a temporary file for the merged conda file, that will be removed after submission of the job. + temp_conda: Optional[Path] = None + try: + if len(source_config.conda_dependencies_files) > 1: + temp_conda = source_config.root_folder / f"temp_environment-{uuid.uuid4().hex[:8]}.yml" + # Merge the project-specific dependencies with the packages that InnerEye itself needs. This should not + # be necessary if the innereye package is installed. It is necessary when working with an outer project + # and InnerEye as a git submodule and submitting jobs from the local machine. + # In case of version conflicts, the package version in the outer project is given priority. + logging.info(f"Attempting to merge the following conda files: {source_config.conda_dependencies_files}") + merge_conda_files(source_config.conda_dependencies_files, temp_conda) + + # Calls like `self.azure_config.get_workspace()` will fail if we have no AzureML credentials set up, and so + # we should only attempt them if we intend to elevate this to AzureML + if self.azure_config.azureml: + if not self.azure_config.cluster: + raise ValueError("self.azure_config.cluster not set, but we need a compute_cluster_name to submit" + "the script to run in AzureML") + azure_run_info = submit_to_azure_if_needed( + entry_script=source_config.entry_script, + snapshot_root_directory=source_config.root_folder, + script_params=source_config.script_params, + conda_environment_file=temp_conda or source_config.conda_dependencies_files[0], + aml_workspace=self.azure_config.get_workspace(), + compute_cluster_name=self.azure_config.cluster, + environment_variables=source_config.environment_variables, + default_datastore=self.azure_config.azureml_datastore, + experiment_name=to_azure_friendly_string(create_experiment_name(self.azure_config)), + max_run_duration=self.azure_config.max_run_duration, + input_datasets=input_datasets, + num_nodes=self.azure_config.num_nodes, + wait_for_completion=False, + ignored_folders=ignored_folders, + pip_extra_index_url=self.azure_config.pip_extra_index_url, + submit_to_azureml=self.azure_config.azureml, + docker_base_image=DEFAULT_DOCKER_BASE_IMAGE, + docker_shm_size=self.azure_config.docker_shm_size, + tags=additional_run_tags( + azure_config=self.azure_config, + commandline_args=" ".join(source_config.script_params)), + after_submission=after_submission_hook, + hyperdrive_config=hyperdrive_config) + if self.azure_config.tag and azure_run_info.run: + if self.lightning_container.perform_cross_validation: + # This code is only reached inside Azure. Set display name again - this will now affect + # Hypdrive child runs (for other jobs, this has already been done after submission) + cv_index = self.lightning_container.cross_validation_split_index + full_display_name = f"{self.azure_config.tag} {cv_index}" + azure_run_info.run.display_name = full_display_name + else: + azure_run_info = submit_to_azure_if_needed( + input_datasets=input_datasets, + submit_to_azureml=False) + finally: + if temp_conda: + temp_conda.unlink() + # submit_to_azure_if_needed calls sys.exit after submitting to AzureML. We only reach this when running + # the script locally or in AzureML. + return azure_run_info
+ +
[docs] def print_git_tags(self) -> None: + """ + When running in AzureML, print all the tags that contain information about the git repository status, + for answering the question "which code version was used" from a log file only. + """ + git_tags = get_git_tags(self.azure_config) + if is_offline_run_context(RUN_CONTEXT): + # When running on a VM outside AzureML, we can read git information from the current repository + tags_to_print = git_tags + else: + # When running in AzureML, the git repo information is not necessarily passed in, but we copy the git + # information into run tags after submitting the job, and can read it out here. + # Only print out those tags that were created from git-related information + tags_to_print = {key: value for key, value in RUN_CONTEXT.get_tags().items() if key in git_tags} + logging.info("Git repository information:") + for key, value in tags_to_print.items(): + logging.info(f" {key:20}: {value}")
+ +
[docs] def run_in_situ(self, azure_run_info: AzureRunInfo) -> None: + """ + Actually run the AzureML job; this method will typically run on an Azure VM. + :param azure_run_info: Contains all information about the present run in AzureML, in particular where the + datasets are mounted. + """ + # Only set the logging level now. Usually, when we set logging to DEBUG, we want diagnostics about the model + # build itself, but not the tons of debug information that AzureML submissions create. + # Suppress the logging from all processes but the one for GPU 0 on each node, to make log files more readable + logging_to_stdout(self.azure_config.log_level if is_local_rank_zero() else "ERROR") + package_setup_and_hacks() + if is_global_rank_zero(): + self.print_git_tags() + # For the PR build in AzureML, we can either pytest, or the training of the simple PR model. Running both + # only works when using DDP_spawn, but that has as a side-effect that it messes up memory consumption of the + # large models. + if self.azure_config.pytest_mark: + outputs_folder = Path.cwd() / fixed_paths.DEFAULT_AML_UPLOAD_DIR + pytest_passed, results_file_path = run_pytest(self.azure_config.pytest_mark, outputs_folder) + if not pytest_passed: + # Terminate if pytest has failed. This makes the smoke test in + # PR builds fail if pytest fails. + pytest_failures = f"Not all PyTest tests passed. See {results_file_path}" + raise ValueError(pytest_failures) + else: + # Set environment variables for multi-node training if needed. This function will terminate early + # if it detects that it is not in a multi-node environment. + set_environment_variables_for_multi_node() + self.ml_runner = self.create_ml_runner() + self.ml_runner.setup(azure_run_info) + self.ml_runner.run()
+ +
[docs] def create_ml_runner(self) -> MLRunner: + """ + Create and return an ML runner using the attributes of this Runner object. + """ + return MLRunner( + model_config=self.model_config, + container=self.lightning_container, + azure_config=self.azure_config, + project_root=self.project_root, + post_cross_validation_hook=self.post_cross_validation_hook, + model_deployment_hook=self.model_deployment_hook)
+ + +
[docs]def default_post_cross_validation_hook(config: ModelConfigBase, root_folder: Path) -> None: + """ + A function to run after cross validation results have been aggregated, before they are uploaded to AzureML. + :param config: The configuration of the model that should be trained. + :param root_folder: The folder with all aggregated and per-split files. + """ + print(f"Analyzing cross validation results for model {config.model_name}") + print(f"Expecting all cross validation result files in folder {root_folder}") + for (file, description) in [ + (DATASET_CSV_FILE_NAME, "Dataset"), + (METRICS_AGGREGATES_FILE, "Metrics aggregated at epoch level"), + (FULL_METRICS_DATAFRAME_FILE, "Metrics at subject level") + ]: + full_file = root_folder / file + print(f"{description} (exists={full_file.exists()}): {full_file}")
+ + +
[docs]def run(project_root: Path, + yaml_config_file: Path, + post_cross_validation_hook: Optional[PostCrossValidationHookSignature] = None, + model_deployment_hook: Optional[ModelDeploymentHookSignature] = None) -> \ + Tuple[Optional[DeepLearningConfig], Optional[Run]]: + """ + The main entry point for training and testing models from the commandline. This chooses a model to train + via a commandline argument, runs training or testing, and writes all required info to disk and logs. + :return: If submitting to AzureML, returns the model configuration that was used for training, + including commandline overrides applied (if any). For details on the arguments, see the constructor of Runner. + """ + runner = Runner(project_root, yaml_config_file, post_cross_validation_hook, model_deployment_hook) + return runner.run()
+ + +
[docs]def main() -> None: + run(project_root=fixed_paths.repository_root_directory(), + yaml_config_file=fixed_paths.SETTINGS_YAML_FILE, + post_cross_validation_hook=default_post_cross_validation_hook)
+ + +if __name__ == '__main__': + main() +
+ +
+
+
+ +
+ +
+

© Copyright Microsoft Corporation.

+
+ + Built with Sphinx using a + theme + provided by Read the Docs. + + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html new file mode 100644 index 000000000..1ee40a900 --- /dev/null +++ b/docs/build/html/_modules/index.html @@ -0,0 +1,276 @@ + + + + + + + + Overview: module code - InnerEye-DeepLearning 1.0.0 documentation + + + + + + + + + + + + + + + + Contents + + + + + + Menu + + + + + + + + Expand + + + + + + Light mode + + + + + + + + + + + + + + Dark mode + + + + + + + Auto light/dark mode + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ + + + + Back to top + +
+
+ +
+ +
+ +
+
+ + +
+
+ + Made with Sphinx and @pradyunsg's + + Furo + +
+
+
+ +
+
+
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/build/html/_sources/docs/CHANGELOG.md.txt b/docs/build/html/_sources/docs/CHANGELOG.md.txt new file mode 100644 index 000000000..276d2a993 --- /dev/null +++ b/docs/build/html/_sources/docs/CHANGELOG.md.txt @@ -0,0 +1,375 @@ +# Changelog + +Early versions of this toolbox used a manually created changelog. +As of March 2022, we have switched to using Github's auto-generated changelog. +If you would like to view the changelog for a particular release, you can do so on the [Releases page](https://github.com/microsoft/InnerEye-DeepLearning/releases). +Each release contains a link for "Full Changelog". + +## Changelog for Versions before March 2022 + +### Upcoming + +#### Added + +- ([#709](https://github.com/microsoft/InnerEye-DeepLearning/pull/709)) Update hi-ml submodule. +- ([#667](https://github.com/microsoft/InnerEye-DeepLearning/pull/667)) Automatically and linearly scale the learning rate of the SSL encoder to the number of GPUs. +- ([#689](https://github.com/microsoft/InnerEye-DeepLearning/pull/689)) Show default argument values in help message. +- ([#671](https://github.com/microsoft/InnerEye-DeepLearning/pull/671)) Remove sequence models and unused variables. Simplify README. +- ([#693](https://github.com/microsoft/InnerEye-DeepLearning/pull/693)) Improve instructions for HelloWorld model in AzureML. +- ([#678](https://github.com/microsoft/InnerEye-DeepLearning/pull/678)) Add function to get log level name and use it for logging. +- ([#666](https://github.com/microsoft/InnerEye-DeepLearning/pull/666)) Replace RadIO with TorchIO for patch-based inference. +- ([#643](https://github.com/microsoft/InnerEye-DeepLearning/pull/643)) Test for recovery of SSL job. Tracks learning rate and train +loss. +- ([#594](https://github.com/microsoft/InnerEye-DeepLearning/pull/594)) When supplying a "--tag" argument, the AzureML jobs use that value as the display name, to more easily distinguish run. +- ([#640](https://github.com/microsoft/InnerEye-DeepLearning/pull/640)) Cancel AzureML jobs from previous runs of the PR build in the same branch to reduce AML load +- ([#577](https://github.com/microsoft/InnerEye-DeepLearning/pull/577)) Commandline switch `monitor_gpu` to monitor + GPU utilization via Lightning's `GpuStatsMonitor`, switch `monitor_loading` to check batch loading times via + `BatchTimeCallback`, and `pl_profiler` to turn on the Lightning profiler (`simple`, `advanced`, or `pytorch`) +- ([#544](https://github.com/microsoft/InnerEye-DeepLearning/pull/544)) Add documentation for segmentation model evaluation. +- ([#637](https://github.com/microsoft/InnerEye-DeepLearning/pull/637)) Add option to encode in chunks and to load pre-cached dataset in CPU or GPU in the histo pipeline. +- ([#465](https://github.com/microsoft/InnerEye-DeepLearning/pull/465/)) Adding ability to run segmentation inference +module on test data with partial ground truth files. (Also [522](https://github.com/microsoft/InnerEye-DeepLearning/pull/522).) +- ([#502](https://github.com/microsoft/InnerEye-DeepLearning/pull/502)) More flags for fine control of when to run inference. +- ([#492](https://github.com/microsoft/InnerEye-DeepLearning/pull/492)) Adding capability for regression tests for test +jobs that run in AzureML. +- ([#509](https://github.com/microsoft/InnerEye-DeepLearning/pull/509)) Run inference on registered models (single and + ensemble) using the parameter `model_id`. +- ([#554](https://github.com/microsoft/InnerEye-DeepLearning/pull/554)) Added a parameter `pretraining_dataset_id` to + `NIH_COVID_BYOL` to specify the name of the SSL training dataset. +- ([#560](https://github.com/microsoft/InnerEye-DeepLearning/pull/560)) Added pre-commit hooks. +- ([#619](https://github.com/microsoft/InnerEye-DeepLearning/pull/619)) Add DeepMIL PANDA +- ([#559](https://github.com/microsoft/InnerEye-DeepLearning/pull/559)) Adding the accompanying code for the ["Active label cleaning: Improving dataset quality under resource constraints"](https://arxiv.org/abs/2109.00574) paper. +- ([#589](https://github.com/microsoft/InnerEye-DeepLearning/pull/589)) Add `LightningContainer.update_azure_config()` + hook to enable overriding `AzureConfig` parameters from a container (e.g. `experiment_name`, `cluster`, `num_nodes`). +- ([#617](https://github.com/microsoft/InnerEye-DeepLearning/pull/617)) Commandline flag `pl_check_val_every_n_epoch` to control how often validation is happening +- ([#618](https://github.com/microsoft/InnerEye-DeepLearning/pull/618)) Using Azure Pipeline Cache to avoid re-building conda environnment repeatedly +- ([#603](https://github.com/microsoft/InnerEye-DeepLearning/pull/603)) Add histopathology module +- ([#614](https://github.com/microsoft/InnerEye-DeepLearning/pull/614)) Checkpoint downloading falls back to looking into AzureML if no checkpoints on disk +- ([#613](https://github.com/microsoft/InnerEye-DeepLearning/pull/613)) Add additional tests for histopathology datasets +- ([#616](https://github.com/microsoft/InnerEye-DeepLearning/pull/616)) Add more histopathology configs and tests +- ([#621](https://github.com/microsoft/InnerEye-DeepLearning/pull/621)) Add WSI preprocessing functions and enable tiling more generic slide datasets +- ([#634](https://github.com/microsoft/InnerEye-DeepLearning/pull/634)) Add WSI heatmaps and thumbnails to standard test outputs +- ([#635](https://github.com/microsoft/InnerEye-DeepLearning/pull/635)) Add tile selection and binary label for online evaluation of PANDA SSL +- ([#647](https://github.com/microsoft/InnerEye-DeepLearning/pull/647)) Add class-wise accuracy logging and confusion matrix to DeepMIL +- ([#653](https://github.com/microsoft/InnerEye-DeepLearning/pull/653)) Add dropout to DeepMIL and fix feature extractor setup. +- ([#650](https://github.com/microsoft/InnerEye-DeepLearning/pull/650)) Enable fine-tuning in DeepMIL using PANDA as the classification task. +- ([#656](https://github.com/microsoft/InnerEye-DeepLearning/pull/656)) Add subsampling transform and support for MIL mean pooling. +- ([#679](https://github.com/microsoft/InnerEye-DeepLearning/pull/679)) Add FP and TN slides/tiles to DeepMIL outputs and extend outputs to multi-class problems. + +#### Changed + +- ([#677](https://github.com/microsoft/InnerEye-DeepLearning/pull/677)) Update TorchIO version to include the recent bug fix related to patch-based inference. +- ([#666](https://github.com/microsoft/InnerEye-DeepLearning/pull/666)) Replace RadIO with TorchIO for patch-based inference. +- ([#659](https://github.com/microsoft/InnerEye-DeepLearning/pull/659)) Update cudatoolkit version from 11.1 to 11.3. +- ([#588](https://github.com/microsoft/InnerEye-DeepLearning/pull/588)) Replace SciPy with PIL.PngImagePlugin.PngImageFile to load png files. +- ([#585](https://github.com/microsoft/InnerEye-DeepLearning/pull/585)) Switching to PyTorch 1.10.0 and torchvision 0.11.1 +- ([#576](https://github.com/microsoft/InnerEye-DeepLearning/pull/576)) The console output is no longer written to stdout.txt because AzureML handles that better now +- ([#531](https://github.com/microsoft/InnerEye-DeepLearning/pull/531)) Updated PL to 1.3.8, torchmetrics and pl-bolts and changed relevant metrics and SSL code API. +- ([#555](https://github.com/microsoft/InnerEye-DeepLearning/pull/555)) Make the SSLContainer compatible with new datasets +- ([#533](https://github.com/microsoft/InnerEye-DeepLearning/pull/533)) Better defaults for inference on ensemble children. +- ([#536](https://github.com/microsoft/InnerEye-DeepLearning/pull/536)) Inference will not run on the validation set by default, this can be turned on +via the `--inference_on_val_set` flag. +- ([#548](https://github.com/microsoft/InnerEye-DeepLearning/pull/548)) Many Azure-related functions have been moved +out of the toolbox, into the separate hi-ml Python package. +- ([#502](https://github.com/microsoft/InnerEye-DeepLearning/pull/502)) Renamed command line option 'perform_training_set_inference' to 'inference_on_train_set'. Replaced command line option 'perform_validation_and_test_set_inference' with the pair of options 'inference_on_val_set' and 'inference_on_test_set'. +- ([#496](https://github.com/microsoft/InnerEye-DeepLearning/pull/496)) All plots are now saved as PNG, rather than JPG. +- ([#497](https://github.com/microsoft/InnerEye-DeepLearning/pull/497)) Reducing the size of the code snapshot that +gets uploaded to AzureML, by skipping all test folders. +- ([#509](https://github.com/microsoft/InnerEye-DeepLearning/pull/509)) Parameter `extra_downloaded_run_id` has been + renamed to `pretraining_run_checkpoints`. +- ([#526](https://github.com/microsoft/InnerEye-DeepLearning/pull/526)) Updated Covid config to use a multiclass + formulation. Moved functions `create_metric_computers` and `compute_and_log_metrics` from `ScalarLightning` to + `ScalarModelBase`. +- ([#554](https://github.com/microsoft/InnerEye-DeepLearning/pull/554)) Updated report in CovidModel. Set parameters + in the config to run inference on both the validation and test sets by default. +- ([#584](https://github.com/microsoft/InnerEye-DeepLearning/pull/584)) SSL models write the optimizer state for the linear head to the checkpoint now. +- ([#594](https://github.com/microsoft/InnerEye-DeepLearning/pull/594)) Pytorch is now non-deterministic by default. Upgrade to AzureML-SDK 1.36 +- ([#566](https://github.com/microsoft/InnerEye-DeepLearning/pull/566)) Update `hi-ml` dependency to `hi-ml-azure`. +- ([#591](https://github.com/microsoft/InnerEye-DeepLearning/pull/591)) Upgrade Pytorch Lightning to 1.5.0 +- ([#572](https://github.com/microsoft/InnerEye-DeepLearning/pull/572)) Updated to new version of hi-ml package +- ([#623](https://github.com/microsoft/InnerEye-DeepLearning/pull/623)) Save checkpoints in SSLOnlineEvaluator without DDP wrapper code +- ([#617](https://github.com/microsoft/InnerEye-DeepLearning/pull/617)) Provide an easier way for LightningContainers to add callbacks. +- ([#596](https://github.com/microsoft/InnerEye-DeepLearning/pull/596)) Add `cudatoolkit=11.1` specification to environment.yml. +- ([#615](https://github.com/microsoft/InnerEye-DeepLearning/pull/615)) Minor changes to checkpoint download from AzureML. +- ([#605](https://github.com/microsoft/InnerEye-DeepLearning/pull/605)) Make build jobs deterministic for regression testing. +- ([#633](https://github.com/microsoft/InnerEye-DeepLearning/pull/633)) Model training now only writes one recovery checkpoint, rather than multiple ones. Frequency is controlled by + `autosave_every_n_val_epochs`. +- ([#632](https://github.com/microsoft/InnerEye-DeepLearning/pull/632)) Nifti test data is no longer stored in Git LFS + +#### Fixed + +- ([#701](https://github.com/microsoft/InnerEye-DeepLearning/pull/701)) Fix 3D images expected to be 4D for intensity normalization. +- ([#704](https://github.com/microsoft/InnerEye-DeepLearning/pull/704)) Add submodules to sys.path to fix autodoc's warning. +- ([#699](https://github.com/microsoft/InnerEye-DeepLearning/pull/699)) Fix Sphinx warnings. +- ([#682](https://github.com/microsoft/InnerEye-DeepLearning/pull/682)) Ensure the shape of input patches is compatible with model constraints. +- ([#681](https://github.com/microsoft/InnerEye-DeepLearning/pull/681)) Pad model outputs if they are smaller than the inputs. +- ([#683](https://github.com/microsoft/InnerEye-DeepLearning/pull/683)) Fix missing separator error in docs Makefile. +- ([#659](https://github.com/microsoft/InnerEye-DeepLearning/pull/659)) Fix caching and checkpointing for TCGA CRCk dataset. +- ([#649](https://github.com/microsoft/InnerEye-DeepLearning/pull/649)) Fix for the _convert_to_tensor_if_necessary method so that PIL.Image as well as np.array get converted to torch.Tensor. +- ([#606](https://github.com/microsoft/InnerEye-DeepLearning/pull/606)) Bug fix: registered models do not include the hi-ml submodule +- ([#646](https://github.com/microsoft/InnerEye-DeepLearning/pull/646)) Workaround for bug in PL: CombinedLoader cannot be used for training data when using DDP +- ([#593](https://github.com/microsoft/InnerEye-DeepLearning/pull/593)) Bug fix for hi-ml 0.1.11 issue (#130): empty mount point is turned into ".", which fails the AML job +- ([#587](https://github.com/microsoft/InnerEye-DeepLearning/pull/587)) Bug fix for regression in AzureML's handling of environments: upgrade to hi-ml 0.1.11 +- ([#625](https://github.com/microsoft/InnerEye-DeepLearning/pull/625)) updates to PandaDeepMIL to enable the use of a SSL pre-trained checkpoint and updated commit to hi-ml +- ([#537](https://github.com/microsoft/InnerEye-DeepLearning/pull/537)) Print warning if inference is disabled but comparison requested. +- ([#567](https://github.com/microsoft/InnerEye-DeepLearning/pull/567)) fix pillow version. +- ([#546](https://github.com/microsoft/InnerEye-DeepLearning/pull/546)) Environment and hello_world_model documentation updated +- ([#525](https://github.com/microsoft/InnerEye-DeepLearning/pull/525)) Enable --store_dataset_sample +- ([#495](https://github.com/microsoft/InnerEye-DeepLearning/pull/495)) Fix model comparison. +- ([#547](https://github.com/microsoft/InnerEye-DeepLearning/pull/547)) The parameter pl_find_unused_parameters was no longer used +to initialize the DDP Plugin. +- ([#482](https://github.com/microsoft/InnerEye-DeepLearning/pull/482)) Check bool parameter is either true or false. +- ([#475](https://github.com/microsoft/InnerEye-DeepLearning/pull/475)) Bug in AML SDK meant that we could not train +any large models anymore because data loaders ran out of memory. +- ([#472](https://github.com/microsoft/InnerEye-DeepLearning/pull/472)) Correct model path for moving ensemble models. +- ([#494](https://github.com/microsoft/InnerEye-DeepLearning/pull/494)) Fix an issue where multi-node jobs for +LightningContainer models can get stuck at test set inference. +- ([#498](https://github.com/microsoft/InnerEye-DeepLearning/pull/498)) Workaround for the problem that downloading +multiple large checkpoints can time out. +- ([#515](https://github.com/microsoft/InnerEye-DeepLearning/pull/515)) Workaround for occasional issues with dataset +mounting and running matplotblib on some machines. Re-instantiated a disabled test. +- ([#509](https://github.com/microsoft/InnerEye-DeepLearning/pull/509)) Fix issue where model checkpoints were not loaded +in inference-only runs when using lightning containers. +- ([#553](https://github.com/microsoft/InnerEye-DeepLearning/pull/553)) Fix incomplete test data module setup in Lightning inference. +- ([#557](https://github.com/microsoft/InnerEye-DeepLearning/pull/557)) Fix issue where learning rate was not set + correctly in the SimCLR module +- ([#622](https://github.com/microsoft/InnerEye-DeepLearning/pull/622)) Fix issue with multi-GPU jobs on a VM: each process tries to create a folder structure +- ([#558](https://github.com/microsoft/InnerEye-DeepLearning/pull/558)) Fix issue with the CovidModel config where model + weights from a finetuning run were incompatible with the model architecture created for non-finetuning runs. +- ([#604](https://github.com/microsoft/InnerEye-DeepLearning/pull/604)) Fix issue where runs on a VM would download the dataset even when a local dataset is provided. +- ([#628](https://github.com/microsoft/InnerEye-DeepLearning/pull/628)) SSL SimCLR using the wrong LR schedule when running on multiple nodes +- ([#638](https://github.com/microsoft/InnerEye-DeepLearning/pull/638)) SimClr cosine LR scheduler was using wrong length information when using with long linear head datasets +- ([#612](https://github.com/microsoft/InnerEye-DeepLearning/pull/612)) SSL online evaluator was not doing distributed training +- ([#652](https://github.com/microsoft/InnerEye-DeepLearning/pull/652)) Run pytest build on Windows after Linux agent version upgrade +- ([#655](https://github.com/microsoft/InnerEye-DeepLearning/pull/655)) Run pytest on Linux again, but with Ubuntu 20.04 +- ([#674](https://github.com/microsoft/InnerEye-DeepLearning/pull/674)) Fix DeepMIL metrics bug whereby hard labels were used instead of probabilities. + +#### Removed + +- ([#692](https://github.com/microsoft/InnerEye-DeepLearning/pull/692)) Replace InnerEye-DataQuality with a link to commit, +- ([#577](https://github.com/microsoft/InnerEye-DeepLearning/pull/577)) Removing the monitoring of batch loading time, + use the `BatchTimeCallback` from `hi-ml` instead +- ([#542](https://github.com/microsoft/InnerEye-DeepLearning/pull/542)) Removed Windows test leg from build pipeline. +- ([#509](https://github.com/microsoft/InnerEye-DeepLearning/pull/509)) Parameters `local_weights_path` and + `weights_url` can no longer be used to initialize a training run, only inference runs. +- ([#526](https://github.com/microsoft/InnerEye-DeepLearning/pull/526)) Removed `get_posthoc_label_transform` in + class `ScalarModelBase`. Instead, functions `get_loss_function` and `compute_and_log_metrics` in + `ScalarModelBase` can be implemented to compute the loss and metrics in a task-specific manner. +- ([#554](https://github.com/microsoft/InnerEye-DeepLearning/pull/554)) Removed cryptography from list of invalid + packages in `test_invalid_python_packages` as it is already present as a dependency in our conda environment. +- ([#596](https://github.com/microsoft/InnerEye-DeepLearning/pull/596)) Removed obsolete `TrainGlaucomaCV` from PR build. +- ([#604](https://github.com/microsoft/InnerEye-DeepLearning/pull/604)) Removed all code that downloads datasets, this is now all handled by hi-ml + +#### Deprecated + +- ([#633](https://github.com/microsoft/InnerEye-DeepLearning/pull/633)) Model fields `recovery_checkpoint_save_interval` and `recovery_checkpoints_save_last_k` have been retired. + Recovery checkpoint handling is now controlled by `autosave_every_n_val_epochs`. + +### 0.3 (2021-06-01) + +#### Added + +- ([#483](https://github.com/microsoft/InnerEye-DeepLearning/pull/483)) Allow cross validation with 'bring your own' Lightning models (without ensemble building). +- ([#489](https://github.com/microsoft/InnerEye-DeepLearning/pull/489)) Remove portal query for outliers. +- ([#488](https://github.com/microsoft/InnerEye-DeepLearning/pull/488)) Better handling of missing seriesId in segmentation cross validation reports. +- ([#454](https://github.com/microsoft/InnerEye-DeepLearning/pull/454)) Checking that labels are mutually exclusive. +- ([#447](https://github.com/microsoft/InnerEye-DeepLearning/pull/447/)) Added a sanity check to ensure there are no + missing channels, nor missing files. If missing channels in the csv file or filenames associated with channels are + incorrect, pipeline exits with error report before running training or inference. +- ([#446](https://github.com/microsoft/InnerEye-DeepLearning/pull/446)) Guarding `save_outlier` so that it works when +institution id and series id columns are missing. +- ([#441](https://github.com/microsoft/InnerEye-DeepLearning/pull/441)) Add script to move models from one AzureML workspace to another: `python InnerEye/Scripts/move_model.py` +- ([#417](https://github.com/microsoft/InnerEye-DeepLearning/pull/417)) Added a generic way of adding PyTorch Lightning +models to the toolbox. It is now possible to train almost any Lightning model with the InnerEye toolbox in AzureML, +with only minimum code changes required. See [the MD documentation](docs/bring_your_own_model.md) for details. +- ([#430](https://github.com/microsoft/InnerEye-DeepLearning/pull/430)) Update conversion to 1.0.1 InnerEye-DICOM-RT to + add: manufacturer, SoftwareVersions, Interpreter and ROIInterpretedTypes. +- ([#385](https://github.com/microsoft/InnerEye-DeepLearning/pull/385)) Add the ability to train a model on multiple + nodes in AzureML. Example: Add `--num_nodes=2` to the commandline arguments to train on 2 nodes. +- ([#366](https://github.com/microsoft/InnerEye-DeepLearning/pull/366)) and + ([#407](https://github.com/microsoft/InnerEye-DeepLearning/pull/407)) add new parameters to the `score.py` script + of `use_dicom` and `result_zip_dicom_name`. If `use_dicom==True` then the input file should be a zip of a DICOM + series. This will be unzipped and converted to Nifti format before processing. The result will then be converted to a + DICOM-RT file, zipped and stored as `result_zip_dicom_name`. +- ([#416](https://github.com/microsoft/InnerEye-DeepLearning/pull/416)) Add a github action chat checks + if `CHANGELOG.md` has been modified. +- ([#412](https://github.com/microsoft/InnerEye-DeepLearning/pull/412)) Dataset files can now have arbitrary names, and + are no longer restricted to be called + `dataset.csv`, via the config field `dataset_csv`. This allows to have a single set of image files in a folder, but + multiple datasets derived from it. +- ([#391](https://github.com/microsoft/InnerEye-DeepLearning/pull/391)) Support for multilabel classification tasks. + Multilabel models can be trained by adding the parameter `class_names` to the config for classification models. + `class_names` should contain the name of each label class in the dataset, and the order of names should match the + order of class label indices in `dataset.csv`. + `dataset.csv` supports multiple labels (indices corresponding to `class_names`) per subject in the label column. + Multiple labels should be encoded as a string with labels separated by a `|`, for example "0|2|4". Note that this PR + does not add support for multiclass models, where the labels are mutually exclusive. +- ([#425](https://github.com/microsoft/InnerEye-DeepLearning/pull/425)) The number of layers in a Unet is no longer + fixed at 4, but can be set via the config field `num_downsampling_paths`. A lower number of layers may be useful for + decreasing memory requirements, or for working with smaller images. + (The minimum image size in any dimension when using a network of n layers is 2**n.) +- ([#426](https://github.com/microsoft/InnerEye-DeepLearning/pull/426)) Flake8, mypy, and testing the HelloWorld model + is now happening in a Github action, no longer in Azure Pipelines. +- ([#405](https://github.com/microsoft/InnerEye-DeepLearning/pull/405)) Cross-validation runs for classification models + now also generate a report notebook summarising the metrics from the individual splits. Also includes minor formatting + improvements for standard classification reports. +- ([#438](https://github.com/microsoft/InnerEye-DeepLearning/pull/438)) Add links and small docs to InnerEye-Gateway and InnerEye-Inference +- ([#439](https://github.com/microsoft/InnerEye-DeepLearning/pull/439)) Enable automatic job recovery from last recovery + checkpoint in case of job pre-emption on AML. Give the possibility to the user to keep more than one recovery + checkpoint. +- ([#442](https://github.com/microsoft/InnerEye-DeepLearning/pull/442)) Enable defining custom scalar losses + (`ScalarLoss.CustomClassification` and `CustomRegression`), prediction targets (`ScalarModelBase.target_names`), + and reporting (`ModelConfigBase.generate_custom_report()`) in scalar configs, providing more flexibility for defining + model configs with custom behaviour while leveraging the existing InnerEye workflows. +- ([#444](https://github.com/microsoft/InnerEye-DeepLearning/pull/444)) Added setup scripts and documentation to work +with the FastMRI challenge datasets. +- ([#444](https://github.com/microsoft/InnerEye-DeepLearning/pull/444)) Git-related information is now printed to the +console for easier diagnostics. +- ([#445](https://github.com/microsoft/InnerEye-DeepLearning/pull/445)) Adding test coverage for the `HelloContainer` + model with multiple GPUs +- ([#450](https://github.com/microsoft/InnerEye-DeepLearning/pull/450)) Adds the metric "Accuracy at threshold 0.5" to the classification report (`classification_crossval_report.ipynb`). +- ([#451](https://github.com/microsoft/InnerEye-DeepLearning/pull/451)) Write a file `model_outputs.csv` with columns + `subject`, `prediction_target`, `label`, `model_output` and `cross_validation_split_index`. This file is not written out for sequence models. +- ([#440](https://github.com/microsoft/InnerEye-DeepLearning/pull/440)) Added support for training of self-supervised + models (BYOL and SimCLR) based on the bring-your-own-model framework. Providing examples configurations for training + of SSL models on CIFAR10/100 datasets as well as for chest-x-ray datasets such as NIH CHest-Xray or RSNA Pneumonia + Detection Challenge datasets. See + [SSL doc](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/docs/self_supervised_models.md) for more + details. +- ([#455](https://github.com/microsoft/InnerEye-DeepLearning/pull/455)) All models trained on AzureML are registered. + The codepath previously allowed only segmentation models (subclasses of `SegmentationModelBase`) to be registered. + Models are registered after a training run or if the `only_register_model` flag is set. Models may be legacy InnerEye + config-based models or may be defined using the LightningContainer class. + Additionally, the `TrainHelloWorldAndHelloContainer` job in the PR build has been split into two jobs, `TrainHelloWorld` and + `TrainHelloContainer`. A pytest marker `after_training_hello_container` has been added to run tests after training is + finished in the `TrainHelloContainer` job. +- ([#456](https://github.com/microsoft/InnerEye-DeepLearning/pull/456)) Adding configs to train Covid detection models. +- ([#463](https://github.com/microsoft/InnerEye-DeepLearning/pull/463)) Add arguments `dirs_recursive` and + `dirs_non_recursive` to `mypy_runner.py` to let users specify a list of directories to run mypy on. + +#### Changed + +- ([#385](https://github.com/microsoft/InnerEye-DeepLearning/pull/385)) Starting an AzureML run now uses the + `ScriptRunConfig` object, rather than the deprecated `Estimator` object. +- ([#385](https://github.com/microsoft/InnerEye-DeepLearning/pull/385)) When registering a model, the name of the Python + execution environment is added as a tag. This tag is read when running inference, and the execution environment is + re-used. +- ([#411](https://github.com/microsoft/InnerEye-DeepLearning/pull/411)) Upgraded to PyTorch 1.8.0, PyTorch-Lightning + 1.1.8 and AzureML SDK 1.23.0 +- ([#432](https://github.com/microsoft/InnerEye-DeepLearning/pull/432)) Upgraded to PyTorch-Lightning 1.2.7. Add + end-to-end test for classification cross-validation. WARNING: upgrade PL version causes hanging of multi-node + training. +- ([#437](https://github.com/microsoft/InnerEye-DeepLearning/pull/437)) Upgrade to PyTorch-Lightning 1.2.8. +- ([#439](https://github.com/microsoft/InnerEye-DeepLearning/pull/439)) Recovery checkpoints are now + named `recovery_epoch=x.ckpt` instead of `recovery.ckpt` or `recovery-v0.ckpt`. +- ([#451](https://github.com/microsoft/InnerEye-DeepLearning/pull/451)) Change the signature for function `generate_custom_report` + in `ModelConfigBase` to take only the path to the reports folder and a `ModelProcessing` object. +- ([#444](https://github.com/microsoft/InnerEye-DeepLearning/pull/444)) The method `before_training_on_rank_zero` of + the `LightningContainer` class has been renamed to `before_training_on_global_rank_zero`. The order in which the + hooks are called has been changed. +- ([#458](https://github.com/microsoft/InnerEye-DeepLearning/pull/458)) Simplifying and generalizing the way we handle + data augmentations for classification models. The pipelining logic is now taken care of by a ImageTransformPipeline + class that takes as input a list of transforms to chain together. This pipeline takes of applying transforms on 3D or + 2D images. The user can choose to apply the same transformation for all channels (RGB example) or whether to apply + different transformation for each channel (if each channel represents a different + modality / time point for example). The pipeline can now work directly with out-of-the box torchvision transform + (as long as they support [..., C, H, W] inputs). This allows to get rid of nearly all of our custom augmentations + functions. The conversion from pipeline of image transformation to ScalarItemAugmentation is now taken care of under + the hood, the user does not need to call this wrapper for each config class. In models derived from ScalarModelConfig + to change which augmentations are applied to the images inputs (resp. segmentations inputs), users can override + `get_image_transform` (resp. `get_segmentation_transform`). These two functions replace the old + `get_image_sample_transforms` method. See `docs/building_models.md` for more information on augmentations. + +#### Fixed + +- ([#422](https://github.com/microsoft/InnerEye-DeepLearning/pull/422)) Documentation - clarified `setting_up_aml.md` + datastore creation instructions and fixed small typos in `hello_world_model.md` +- ([#432](https://github.com/microsoft/InnerEye-DeepLearning/pull/432)) Fixed cross-validation for classification + models. Fixed multi-gpu metrics aggregation. Add end-to-end test for classification cross-validation. Add fix to bug + in ddp setting when running multi-node with 1 gpu per node. +- ([#435](https://github.com/microsoft/InnerEye-DeepLearning/pull/435)) If parameter `model` in `AzureConfig` is not + set, display an error message and terminate the run. +- ([#437](https://github.com/microsoft/InnerEye-DeepLearning/pull/437)) Fixed multi-node DDP bug in PL v1.2.8. Re-add + end-to-end test for multi-node. +- ([#445](https://github.com/microsoft/InnerEye-DeepLearning/pull/445)) Fixed a bug when running inference for + container models on machines with >1 GPU + +#### Removed + +- ([#439](https://github.com/microsoft/InnerEye-DeepLearning/pull/439)) Deprecated `start_epoch` config argument. +- ([#450](https://github.com/microsoft/InnerEye-DeepLearning/pull/450)) Delete unused `classification_report.ipynb`. +- ([#455](https://github.com/microsoft/InnerEye-DeepLearning/pull/455)) Removed the AzureRunner conda environment. + The full InnerEye conda environment is needed to submit a training job to AzureML. +- ([#458](https://github.com/microsoft/InnerEye-DeepLearning/pull/458)) Getting rid of all the unused code for + RandAugment & Co. The user has now instead complete freedom to specify the set of augmentations to use. +- ([#468](https://github.com/microsoft/InnerEye-DeepLearning/pull/468)) Removed the `KneeSinglecoil` example model + +#### Deprecated + +### 0.2 (2021-01-29) + +#### Added + +- ([#323](https://github.com/microsoft/InnerEye-DeepLearning/pull/323)) There are new model configuration fields + (and hence, commandline options), in particular for controlling PyTorch Lightning (PL) training: + - `max_num_gpus` controls how many GPUs are used at most for training (default: all GPUs, value -1). + - `pl_num_sanity_val_steps` controls the PL trainer flag `num_sanity_val_steps` + - `pl_deterministic` controls the PL trainer flags `benchmark` and `deterministic` + - `generate_report` controls if a HTML report will be written (default: True) + - `recovery_checkpoint_save_interval` determines how often a checkpoint for training recovery is saved. +- ([#336](https://github.com/microsoft/InnerEye-DeepLearning/pull/336)) New extensions of + SegmentationModelBases `HeadAndNeckBase` and `ProstateBase`. Use these classes to build your own Head&Neck or Prostate + models, by just providing a list of foreground classes. +- ([#363](https://github.com/microsoft/InnerEye-DeepLearning/pull/363)) Grouped dataset splits and k-fold + cross-validation. This allows, for example, training on datasets with multiple images per subject without leaking data + from the same subject across train/test/validation sets or cross-validation folds. To use this functionality, simply + provide the name of the CSV grouping column (`group_column`) when creating the `DatasetSplits` object in your model + config's `get_model_train_test_dataset_splits()` method. See the `InnerEye.ML.utils.split_dataset.DatasetSplits` class + for details. + +#### Changed + +- ([#323](https://github.com/microsoft/InnerEye-DeepLearning/pull/323)) The codebase has undergone a massive + refactoring, to use PyTorch Lightning as the foundation for all training. As a consequence of that: + - Training is now using Distributed Data Parallel with synchronized `batchnorm`. The number of GPUs to use can be + controlled by a new commandline argument `max_num_gpus`. + - Several classes, like `ModelTrainingSteps*`, have been removed completely. + - The final model is now always the one that is written at the end of all training epochs. + - The old code that options to run full image inference at multiple epochs (i.e., multiple checkpoints), this has + been removed, alongside the respective commandline options `save_start_epoch`, `save_step_epochs`, + `epochs_to_test`, `test_diff_epochs`, `test_step_epochs`, `test_start_epoch` + - The commandline option `register_model_only_for_epoch` is now called `only_register_model`, and is boolean. + - All metrics are written to AzureML and Tensorboard in a unified format. A training Dice score for 'bladder' would + previously be called Train_Dice/bladder, now it is train/Dice/bladder. + - Due to a different checkpoint format, it is no longer possible to use checkpoints written by the previous version + of the code. +- The arguments of the `score.py` script changed: `data_root` -> `data_folder`, it no longer assumes a fixed + `data` subfolder. `project_root` -> `model_root`, `test_image_channels` -> `image_files`. +- By default, the visualization of patch sampling for segmentation models will run on only 1 image (down from 5). This + is because patch sampling is expensive to compute, taking 1min per large CT scan. +- ([#336](https://github.com/microsoft/InnerEye-DeepLearning/pull/336)) Renamed `HeadAndNeckBase` to `HeadAndNeckPaper`, + and `ProstateBase` to `ProstatePaper`. +- ([#427](https://github.com/microsoft/InnerEye-DeepLearning/pull/427)) Move dicom loading function from SimpleITK to + pydicom. Loading time improved by 30x. + +#### Fixed + +- When registering a model, it now has a consistent folder structured, described [here](docs/deploy_on_aml.md). This + folder structure is present irrespective of using InnerEye as a submodule or not. In particular, exactly 1 Conda + environment will be contained in the model. + +#### Removed + +- The commandline options to control which checkpoint is saved, and which is used for inference, have been removed: + `save_start_epoch`, `save_step_epochs`, `epochs_to_test`, `test_diff_epochs`, `test_step_epochs`, `test_start_epoch` +- Removed blobxfer completely. When downloading a dataset from Azure, we now use AzureML dataset downloading tools. + Please remove the following fields from your settings.yml file: 'datasets_storage_account' and 'datasets_container'. +- Removed `ProstatePaperBase`. +- Removed ability to perform sub-fold cross validation. The parameters `number_of_cross_validation_splits_per_fold` + and `cross_validation_sub_fold_split_index` have been removed from ScalarModelBase. + +#### Deprecated + +### 0.1 (2020-11-13) + +- This is the baseline release. diff --git a/docs/build/html/_sources/docs/InnerEye/README.md.txt b/docs/build/html/_sources/docs/InnerEye/README.md.txt new file mode 100644 index 000000000..72a39009e --- /dev/null +++ b/docs/build/html/_sources/docs/InnerEye/README.md.txt @@ -0,0 +1,22 @@ +# Microsoft Research Cambridge InnerEyeDeepLearning for Medical Image Analysis + +## Consuming the InnerEye package + +* You need to have a Conda installation on your machine. +* Create a Conda environment file `environment.yml` in your source code with this contents: + +```yaml +name: MyEnv +channels: + - defaults + - pytorch +dependencies: + - pip=20.0.2 + - python=3.7.3 + - pytorch=1.3.0 + - pip: + - innereye +``` + +* Create a conda environment: `conda env create --file environment.yml` +* Activate the environment: `conda activate MyEnv` diff --git a/docs/build/html/_sources/docs/WSL.md.txt b/docs/build/html/_sources/docs/WSL.md.txt new file mode 100644 index 000000000..17a686bf2 --- /dev/null +++ b/docs/build/html/_sources/docs/WSL.md.txt @@ -0,0 +1,99 @@ +# How to use the Windows Subsystem for Linux (WSL2) for development + +We are aware of two issues with running our toolbox on Windows: + +- Conda and miniconda can be rather temperamental: Environment creation can fail with package conflict errors of unclear + origin, or internal conda errors. +- Some features of PyTorch are not supported, or not well supported, on Windows. + +If you are facing issue of the above kind on a Windows machine, we would highly recommend working with the Windows +Subsystem for Linux (WSL2) or a plain Ubuntu Linux box. + +## Enable CUDA in WSL2 + +If you are running a Windows box with a GPU, please follow the documentation +[here](https://docs.microsoft.com/en-us/windows/win32/direct3d12/gpu-cuda-in-wsl) to access the GPU from within WSL2. + +There is also a video walkthrough of WSL2+CUDA installation: +[GPU Accelerated Machine Learning with WSL 2](https://channel9.msdn.com/Shows/Tabs-vs-Spaces/GPU-Accelerated-Machine-Learning-with-WSL-2). + +## Install WSL2 + +Requirements: Windows 10 version 2004 or higher + +The instructions are [here](https://docs.microsoft.com/en-us/windows/wsl/install-win10), but summarized in +copy/paste-able form below. When installing via the UI, pick Ubuntu version 20.04 LTS as your distribution. + +To use the commandline setup, please first install +[winget via the appxbundle](https://github.com/microsoft/winget-cli/releases). + +Then, in PowerShell as Administrator: + +```shell +dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart +dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart +``` + +Restart your machine, then again in PowerShell: + +```shell +wsl --set-default-version 2 +winget install ubuntu --version 20.04 +wsl --list --verbose +wsl --set-version Ubuntu-20.04 2 +wsl --set-default-version 2 +winget install Microsoft.WindowsTerminal +``` + +Remember to restart your machine if you were doing a fresh installation of WSL 2 before trying further steps. + +Since it is possible to choose the version of WSL that a particular distribution is running, once you have WSL2 +installed, ensure that your distribution is running on top of WSL2 by executing +`wsl --list --verbose` +If all is good, the output should look like this: + +```shell +$> wsl --list -v + NAME STATE VERSION +* Ubuntu-20.04 Running 2 +``` + +Note the "2" in Version column. + +## Install git and Anaconda + +Start the Windows Terminal app, create an Ubuntu tab. In the shell, run the following commands: + +- `sudo apt update` +- `sudo apt install git git-lfs python-dev build-essential` +- `wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh` +- `sh Miniconda3-latest-Linux-x86_64.sh` +- Close your WSL shell and re-start it +- Clone repo or access your repos via /mnt/c/... +- Create conda environment: `conda env create --file environment.yml` +- Clean your pyc files (in case you have some left from Windows): + +```shell +find * -name '*.pyc' | xargs -d'\n' rm` +``` + +## Configure PyCharm + +- [Instructions for using WSL as a remote interpreter](https://www.jetbrains.com/help/pycharm/using-wsl-as-a-remote-interpreter.html) +- You might need to reset all your firewall settings to make the debugger work with PyCharm. This can be done with these + PowerShell commands (as Administrator): + +```shell +$myIp = (Ubuntu2004 run "cat /etc/resolv.conf | grep nameserver | cut -d' ' -f2") +New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -LocalAddress $myIp -Action Allow +``` + +- Then (re)start PyCharm. If asked whether to give it permission to communicate over domain, private and public + networks, make sure all three are ticked. +- If you are still struggling with the firewall rules, consider removing all your current firewall rules, by running + `Remove-NetFirewallRule` in the PowerShell. WARNING: This will remove all your present firewall rules, and you may + need to repeat the firewall setup for other programs that you have installed! + +## Configure VSCode + +- [Instructions for configuring WSL in VSCode](https://code.visualstudio.com/docs/remote/wsl) diff --git a/docs/build/html/_sources/docs/bring_your_own_model.md.txt b/docs/build/html/_sources/docs/bring_your_own_model.md.txt new file mode 100644 index 000000000..3d83a22fe --- /dev/null +++ b/docs/build/html/_sources/docs/bring_your_own_model.md.txt @@ -0,0 +1,270 @@ +# Bring Your Own PyTorch Lightning Model + +The InnerEye toolbox is capable of training any PyTorch Lighting (PL) model inside of AzureML, making +use of all the usual InnerEye toolbox features: + +- Working with different model in the same codebase, and selecting one by name +- Distributed training in AzureML +- Logging via AzureML's native capabilities +- Training on a local GPU machine or inside of AzureML without code changes +- Supply commandline overrides for model configuration elements, to quickly queue many jobs + +This can be used by + +- Defining a special container class, that encapsulates the PyTorch Lighting model to train, and the data that should +be used for training and testing. +- Adding essential trainer parameters like number of epochs to that container. +- Invoking the InnerEye runner and providing the name of the container class, like this: +`python InnerEye/ML/runner.py --model=MyContainer`. To train in AzureML, just add a `--azureml` flag. + +There is a fully working example [HelloContainer](InnerEye/ML/configs/other/HelloContainer.py) that implements +a simple 1-dimensional regression model from data stored in a CSV file. You can run that +from the command line by `python InnerEye/ML/runner.py --model=HelloContainer`. + +## Setup + +In order to use these capabilities, you need to implement a class deriving from `LightningContainer`. This class +encapsulates everything that is needed for training with PyTorch Lightning: + +- The `create_model` method needs to return a subclass of `LightningModule`, that has +all the usual PyTorch Lightning methods required for training, like the `training_step` and `forward` methods. This +object needs to adhere to additional constraints, see below. +- The `get_data_module` method of the container needs to return a `LightningDataModule` that has the data loaders for +training and validation data. +- The optional `get_inference_data_module` returns a `LightningDataModule` that is used to read the data for inference +(that is, evaluating the trained model). By default, this returns the same data as `get_training_data_module`, but you +can override this for special models like segmentation models that are trained on equal sized image patches, but +evaluated on full images of varying size. + +Your class needs to be defined in a Python file in the `InnerEye/ML/configs` folder, otherwise it won't be picked up +correctly. If you'd like to have your model defined in a different folder, please specify the Python namespace via +the `--model_configs_namespace` argument. For example, use `--model_configs_namespace=My.Own.configs` if your +model configuration classes reside in folder `My/Own/configs` from the repository root. + +### Cross Validation + +If you are doing cross validation you need to ensure that the `LightningDataModule` returned by your container's +`get_data_module` method: + +- Needs to take into account the number of cross validation splits, and the cross validation split index when +preparing the data. +- Needs to log val/Loss in its `validation_step` method. +You can find a working example of handling cross validation in the +[HelloContainer](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/other/HelloContainer.py) class. + +*Example*: + +```python +from pathlib import Path +from torch.utils.data import DataLoader +from pytorch_lightning import LightningModule, LightningDataModule +from InnerEye.ML.lightning_container import LightningContainer + +class MyLightningModel(LightningModule): + def __init__(self): + self.layer = ... + def training_step(self, *args, **kwargs): + ... + def forward(self, *args, **kwargs): + ... + def configure_optimizers(self): + ... + def test_step(self, *args, **kwargs): + ... + +class MyDataModule(LightningDataModule): + def __init__(self, root_path: Path): + # All data should be read from the folder given in self.root_path + self.root_path = root_path + def train_dataloader(self, *args, **kwargs) -> DataLoader: + # The data should be read off self.root_path + train_dataset = ... + return DataLoader(train_dataset, batch_size=5, num_workers=5) + def val_dataloader(self, *args, **kwargs) -> DataLoader: + # The data should be read off self.root_path + val_dataset = ... + return DataLoader(val_dataset, batch_size=5, num_workers=5) + def test_dataloader(self, *args, **kwargs) -> DataLoader: + # The data should be read off self.root_path + test_dataset = ... + return DataLoader(test_dataset, batch_size=5, num_workers=5) + +class MyContainer(LightningContainer): + def __init__(self): + super().__init__() + self.azure_dataset_id = "folder_name_in_azure_blob_storage" + self.local_dataset = "/some/local/path" + self.num_epochs = 42 + + def create_model(self) -> LightningModule: + return MyLightningModel() + + def get_data_module(self) -> LightningDataModule: + return MyDataModule(root_path=self.local_dataset) +``` + +Where does the data for training come from? + +- When training a model on a local box or VM, the data is read from the `local_dataset` folder that you define in the +container. +- When training a model in AzureML, the code searches for a folder called `folder_name_in_azure_blob_storage` in +Azure blob storage. That is then downloaded or mounted. The local download path is then copied over the `local_dataset` +field in the container, and hence you can always read data from `self.local_dataset` +- Alternatively, you can use the `prepare_data` method of a `LightningDataModule` to download data from the web, +for example. In this case, you don't need to define any of the `local_dataset` or `azure_dataset_id` fields. + +In the above example, training is done for 42 epochs. After the model is trained, it will be evaluated on the test set, +via PyTorch Lightning's [built-in test functionality](https://pytorch-lightning.readthedocs.io/en/latest/common/trainer.html?highlight=trainer.test#test). +See below for an alternative way of running the evaluation on the test set. + +### Data loaders + +The example above creates `DataLoader` objects from a dataset. When creating those, you need to specify a batch size +(how many samples from your dataset will go into one minibatch), and a number of worker processes. Note that, by +default, data loading will happen in the main process, meaning that your GPU will sit idle while the CPU reads data +from disk. When specifying a number of workers, it will spawn processes that pre-fetch data from disk, and put them +into a queue, ready for the GPU to pick it up when it is done processing the current minibatch. + +For more details, please see the documentation for +[DataLoader](https://pytorch.org/docs/stable/data.html#torch.utils.data.DataLoader). There is also a +[tutorial describing the foundations of datasets and +data loaders](https://pytorch.org/tutorials/beginner/basics/data_tutorial.html) + +### Outputting files during training + +The Lightning model returned by `create_model` needs to write its output files to the current working directory. +When running the InnerEye toolbox outside of AzureML, the toolbox will change the current working directory to a +newly created output folder, with a name that contains the time stamp and and the model name. +When running the InnerEye toolbox in AzureML, the folder structure will be set up such that all files written +to the current working directory are later uploaded to Azure blob storage at the end of the AzureML job. The files +will also be later available via the AzureML UI. + +### Trainer arguments + +All arguments that control the PyTorch Lightning `Trainer` object are defined in the class `TrainerParams`. A +`LightningContainer` object inherits from this class. The most essential one is the `num_epochs` field, which controls +the `max_epochs` argument of the `Trainer`. + +Usage example: + +```python +from pytorch_lightning import LightningModule, LightningDataModule +from InnerEye.ML.lightning_container import LightningContainer +class MyContainer(LightningContainer): + def __init__(self): + super().__init__() + self.num_epochs = 42 + + def create_model(self) -> LightningModule: + return MyLightningModel() + + def get_data_module(self) -> LightningDataModule: + return MyDataModule(root_path=self.local_dataset) +``` + +For further details how the `TrainerParams` are used, refer to the `create_lightning_trainer` method in +[InnerEye/ML/model_training.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/model_training.py) + +### Optimizer and LR scheduler arguments + +There are two possible ways of choosing the optimizer and LR scheduler: + +- The Lightning model returned by `create_model` can define its own `configure_optimizers` method, with the same +signature as `LightningModule.configure_optimizers`. This is the typical way of configuring it for Lightning models. +- Alternatively, the model can inherit from `LightningModuleWithOptimizer`. This class implements a +`configure_optimizers` method that uses settings defined in the `OptimizerParams` class. These settings are all +available from the command line, and you can, for example, start a new run with a different learning rate by +supplying the additional commandline flag `--l_rate=1e-2`. + +### Evaluating the trained model + +The InnerEye toolbox provides two possible routes of implementing that: + +You can either use PyTorch Lightning's built-in capabilities, via the `test_step` method. If the model that is +returned by `create_model` implements the `test_step` method, the InnerEye toolbox will use the `trainer.test` method +(see [docs](https://pytorch-lightning.readthedocs.io/en/latest/common/trainer.html?highlight=trainer.test#test)). +In this case, the best checkpoint during training will be used. The test data is read via the data loader created +by the `test_dataloader` of the `LightningDataModule` that is used for training/validation. + +Alternatively, the model can implement the methods defined in `InnerEyeInference`. In this case, the methods will be +call in this order: + +```python +model.on_inference_start() +for dataset_split in [Train, Val, Test] + model.on_inference_epoch_start(dataset_split, is_ensemble_model=False) + for batch_idx, item in enumerate(dataloader[dataset_split])): + model_outputs = model.forward(item) + model.inference_step(item, batch_idx, model_outputs) + model.on_inference_epoch_end() +model.on_inference_end() +``` + +## Overriding properties on the commandline + +You can define hyperparameters that affect data and/or model, as in the following code snippet: + +```python +import param +from pytorch_lightning import LightningModule +from InnerEye.ML.lightning_container import LightningContainer +class DummyContainerWithParameters(LightningContainer): + num_layers = param.Integer(default=4) + + def create_model(self) -> LightningModule: + return MyLightningModel(self.num_layers) + ... +``` + +All parameters added in this form will be automatically accessible from the commandline, there is no need to define +a separate argument parser: When starting training, you can add a flag like `--num_layers=7`. + +## Examples + +### Setting only the required fields + +```python +from pytorch_lightning import LightningModule, LightningDataModule +from InnerEye.ML.lightning_container import LightningContainer + +class Container1(LightningContainer): + def __init__(self): + super().__init__() + self.azure_dataset_id = "some_folder_in_azure" + self.num_epochs = 20 + + def create_model(self) -> LightningModule: + return MyLightningModel() + + def get_data_module(self) -> LightningDataModule: + # This should read data from self.local_dataset. Before training, the data folder "some_folder_in_azure" + # (given by self.azure_dataset_id) will be downloaded or mounted, and its local path set in + # self.local_dataset + return MyDataModule(root_folder=self.local_dataset) +``` + +### Adding additional arguments for the PyTorch Lightning trainer + +```python +from typing import Dict, Any +from pytorch_lightning import LightningModule, LightningDataModule +from InnerEye.ML.lightning_container import LightningContainer +class Container2(LightningContainer): + def __init__(self): + super().__init__() + self.azure_dataset_id = "some_folder_in_azure" + self.num_epochs = 20 + + def create_model(self) -> LightningModule: + return MyLightningModel() + + def get_data_module(self) -> LightningDataModule: + # This should read data from self.local_dataset. Before training, the data folder "some_folder_in_azure" + # (given by self.azure_dataset_id) will be downloaded or mounted, and its local path set in + # self.local_dataset + return MyDataModule(root_folder=self.local_dataset) + + def get_trainer_arguments(self) -> Dict[str, Any]: + # These arguments will be passed through to the Lightning trainer. + return {"gradient_clip_val": 1, "limit_train_batches": 10} +``` diff --git a/docs/build/html/_sources/docs/building_models.md.txt b/docs/build/html/_sources/docs/building_models.md.txt new file mode 100644 index 000000000..37fd39952 --- /dev/null +++ b/docs/build/html/_sources/docs/building_models.md.txt @@ -0,0 +1,408 @@ +# Building Models + +## Setting up training + +To train new models, you can either work within the InnerEye/ directory hierarchy or create a local hierarchy beside it +and with the same internal organization (although with far fewer files). +We recommend the latter as it offers more flexibility and better separation of concerns. Here we will assume you +create a directory `InnerEyeLocal` beside `InnerEye`. + +As well as your configurations (dealt with below) you will need these files: + +* `settings.yml`: A file similar to `InnerEye\settings.yml` containing all your Azure settings. +The value of `extra_code_directory` should (in our example) be `'InnerEyeLocal'`, +and model_configs_namespace should be `'InnerEyeLocal.ML.configs'`. +* A folder like `InnerEyeLocal` that contains your additional code, and model configurations. +* A file `InnerEyeLocal/ML/runner.py` that invokes the InnerEye training runner, but that points the code to your environment and Azure +settings. + +```python +from pathlib import Path +import os +from InnerEye.ML import runner + + +def main() -> None: + current = os.path.dirname(os.path.realpath(__file__)) + project_root = Path(os.path.realpath(os.path.join(current, "..", ".."))) + runner.run(project_root=project_root, + yaml_config_file=project_root / "relative/path/to/settings.yml", + post_cross_validation_hook=None) + + +if __name__ == '__main__': + main() +``` + +## Creating the model configuration + +You will find a variety of model configurations [here](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/segmentation). Those not ending +in `Base.py` reference open-sourced data and can be used as they are. Those ending in `Base.py` +are partially specified, and can be used by having other model configurations inherit from them and supply the missing +parameter values: a dataset ID at least, and optionally other values. For example, a `Prostate` model might inherit +very simply from `ProstateBase` by creating `Prostate.py` in the directory `InnerEyeLocal/ML/configs/segmentation` +with the following contents: + +```python +from InnerEye.ML.configs.segmentation.ProstateBase import ProstateBase + + +class Prostate(ProstateBase): + def __init__(self) -> None: + super().__init__( + ground_truth_ids=["femur_r", "femur_l", "rectum", "prostate"], + azure_dataset_id="name-of-your-AML-dataset-with-prostate-data") +``` + +The allowed parameters and their meanings are defined in [`SegmentationModelBase`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/config.py). +The class name must be the same as the basename of the file containing it, so `Prostate.py` must contain `Prostate`. +In `settings.yml`, set `model_configs_namespace` to `InnerEyeLocal.ML.configs` so this config +is found by the runner. + +A `Head and Neck` model might inherit from `HeadAndNeckBase` by creating `HeadAndNeck.py` with the following contents: + +```python +from InnerEye.ML.configs.segmentation.HeadAndNeckBase import HeadAndNeckBase + + +class HeadAndNeck(HeadAndNeckBase): + def __init__(self) -> None: + super().__init__( + ground_truth_ids=["parotid_l", "parotid_r", "smg_l", "smg_r", "spinal_cord"] + azure_dataset_id="name-of-your-AML-dataset-with-prostate-data") +``` + +## Training a new model + +* Set up your model configuration as above and update `azure_dataset_id` to the name of your Dataset in the AML workspace. +It is enough to put your dataset into blob storage. The dataset should be a contained in a folder at the root of the datasets container. +The InnerEye runner will check if there is a dataset in the AzureML workspace already, and if not, generate it directly from blob storage. + +* Train a new model, for example `Prostate`: + +```shell +python InnerEyeLocal/ML/runner.py --azureml --model=Prostate +``` + +Alternatively, you can train the model on your current machine if it is powerful enough. In +this case, you would simply omit the `azureml` flag, and instead of specifying +`azure_dataset_id` in the class constructor, you can instead use `local_dataset="my/data/folder"`, +where the folder `my/data/folder` contains a `dataset.csv` file and all the files that are referenced therein. + +## Boolean Options + +Note that for command line options that take a boolean argument, and that are `False` by default, there are multiple ways of setting the option. For example alternatives to `--azureml` include: + +* `--azureml=True`, or `--azureml=true`, or `--azureml=T`, or `--azureml=t` +* `--azureml=Yes`, or `--azureml=yes`, or `--azureml=Y`, or `--azureml=y` +* `--azureml=On`, or `--azureml=on` +* `--azureml=1` + +Conversely, for command line options that take a boolean argument, and that are `True` by default, there are multiple ways of un-setting the option. For example alternatives to `--no-train` include: + +* `--train=False`, or `--train=false`, or `--train=F`, or `--train=f` +* `--train=No`, or `--train=no`, or `--train=N`, or `--train=n` +* `--train=Off`, or `--train=off` +* `--train=0` + +## Training using multiple machines + +To speed up training in AzureML, you can use multiple machines, by specifying the additional +`--num_nodes` argument. For example, to use 2 machines to train, specify: + +```shell +python InnerEyeLocal/ML/runner.py --azureml --model=Prostate --num_nodes=2 +``` + +On each of the 2 machines, all available GPUs will be used. Model inference will always use only one machine. + +For the Prostate model, we observed a 2.8x speedup for model training when using 4 nodes, and a 1.65x speedup +when using 2 nodes. + +## AzureML Run Hierarchy + +AzureML structures all jobs in a hierarchical fashion: + +* The top-level concept is a workspace +* Inside of a workspace, there are multiple experiments. Upon starting a training run, the name of the experiment +needs to be supplied. The InnerEye toolbox is set specifically to work with git repositories, and it automatically +sets the experiment name to match the name of the current git branch. +* Inside of an experiment, there are multiple runs. When starting the InnerEye toolbox as above, a run will be created. +* A run can have child runs - see below in the discussion about cross validation. + +## K-Fold Model Cross Validation + +For running K-fold cross validation, the InnerEye toolbox schedules multiple training runs in the cloud that run +at the same time (provided that the cluster has capacity). This means that a complete cross validation run usually +takes as long as a single training run. + +To start cross validation, you can either modify the `number_of_cross_validation_splits` property of your model, +or supply it on the command line: provide all the usual switches, and add `--number_of_cross_validation_splits=N`, +for some `N` greater than 1; a value of 5 is typical. This will start a +[HyperDrive run](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters): a parent +AzureML job, with `N` child runs that will execute in parallel. You can see the child runs in the AzureML UI in the +"Child Runs" tab. + +The dataset splits for those `N` child runs will be +computed from the union of the Training and Validation sets. The Test set is unchanged. Note that the Test set can be +empty, in which case the union of all validation sets for the `N` child runs will be the full dataset. + +## Recovering failed runs and continuing training + +To train further with an already-created model, give the above command with the `run_recovery_id` argument: + +```shell +--run_recovery_id=foo_bar:foo_bar_12345_abcd +``` + +The run recovery ID is of the form "experiment_id:run_id". When you trained your original model, it will have been +queued as a "Run" inside of an "Experiment". The experiment will be given a name derived from the branch name - for +example, branch `foo/bar` will queue a run in experiment `foo_bar`. Inside the "Tags" section of your run, you should +see an element `run_recovery_id`. It will look something like `foo_bar:foo_bar_12345_abcd`. + +If you are recovering a HyperDrive run, the value of `--run_recovery_id` should for the parent, +and `--number_of_cross_validation_splits` should have the same value as in the recovered run. +For example: + +```shell +--run_recovery_id=foo_bar:HD_55d4beef-7be9-45d7-89a5-1acf1f99078a --start_epoch=120 --number_of_cross_validation_splits=5 +``` + +The run recovery ID of a parent HyperDrive run is currently not displayed in the "Details" section +of the AzureML UI. The easiest way to get it is to go to any of the child runs and use its +run recovery ID without the final underscore and digit. + +## Testing an existing model + +To evaluate an existing model on a test set, you can use registered models from previous runs in AzureML, a set of +local checkpoints or a set of URLs pointing to model checkpoints. For all these options, you will need to set the +flag `no-train` along with additional command line arguments to specify the checkpoints. + +### From a registered model on AzureML + +You will need to specify the registered model to run on using the `model_id` argument. You can find the model name and +version by clicking on `Registered Models` on the Details tab of a run in the AzureML UI. +The model id is of the form "model_name:model_version". Thus your command should look like this: + +```shell +python Inner/ML/runner.py --azureml --model=Prostate --cluster=my_cluster_name \ + --no-train --model_id=Prostate:1 +``` + +To evaluate the model on your own Azure ML Dataset, you can override the default dataset by adding the flag +`--azure_dataset_id=`. To specify more than one dataset, you can additionally add the flag `--extra_azure_dataset_ids` to specify the rest. + + +### From local checkpoints + +To evaluate a model using one or more local checkpoints, use the `local_weights_path` argument to specify the path(s) to the +model checkpoint(s) on the local disk. + +```shell +python Inner/ML/runner.py --model=Prostate --no-train --local_weights_path=path_to_your_checkpoint +``` + +To run on multiple checkpoints (if you have trained an ensemble model), specify each checkpoint using the argument +`local_weights_path`. + +```shell +python Inner/ML/runner.py --model=Prostate --no-train --local_weights_path=path_to_first_checkpoint,path_to_second_checkpoint +``` + +### From URLs + +To evaluate a model using one or more checkpoints each specified by a URL, use the `weights_url` argument to specify the +url(s) from which the model checkpoint(s) should be downloaded. + +```shell +python Inner/ML/runner.py --model=Prostate --no-train --weights_url=url_for_your_checkpoint +``` + +To run on multiple checkpoints (if you have trained an ensemble model), specify each checkpoint using the argument +`weights_url`. + +```shell +python Inner/ML/runner.py --model=Prostate --no-train --weights_url=url_for_first_checkpoint,url_for_second_checkpoint +``` + +### Running a registered AzureML model on a single image on the local disk + +To submit an AzureML run to apply a model to a single image on your local disc, +you can use the script `submit_for_inference.py`, with a command of this form: + +```shell +python InnerEye/Scripts/submit_for_inference.py --image_file ~/somewhere/ct.nii.gz --model_id Prostate:555 \ + --settings ../somewhere_else/settings.yml --download_folder ~/my_existing_folder +``` + +## Model Ensembles + +An ensemble model will be created automatically and registered in the AzureML model registry whenever cross-validation +models are trained. The ensemble model creation is done by the child whose `cross_validation_split_index` is 0; +you can identify this child by looking at the "Child Runs" tab in the parent run page in AzureML. + +To find the registered ensemble model, find the Hyperdrive parent run in AzureML. In the "Details" tab, there is an +entry for "Registered models", that links to the ensemble model that was just created. Note that each of the child runs +also registers a model, namely the one that was built off its specific subset of data, without taking into account +the other crossvalidation folds. + +As well as registering the model, child run 0 runs the ensemble model on the validation and test sets. The results are +aggregated based on the `ensemble_aggregation_type` value in the model config, +and the generated posteriors are passed to the usual model testing downstream pipelines, e.g. metrics computation. + +### Interpreting results + +Once your HyperDrive AzureML runs are completed, you can visualize the results by running the +[`plot_cross_validation.py`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/visualizers/plot_cross_validation.py) script locally: + +```shell +python InnerEye/ML/visualizers/plot_cross_validation.py --run_recovery_id ... --epoch ... +``` + +filling in the run recovery ID of the parent run and the epoch number (one of the test epochs, e.g. the last epoch) +for which you want results plotted. The script will also output several `..._outliers.txt` file with all of the outliers +across the splits and a portal query to +find them in the production portal, and run statistical tests to compute the significance of differences between scores +across the splits and with respect to other runs that you specify. This is done for you during + the run itself (see below), but you can use the script post hoc to compare arbitrary runs + with each other. Details of the tests can be found +in [`wilcoxon_signed_rank_test.py`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/Common/Statistics/wilcoxon_signed_rank_test.py) +and [`mann_whitney_test.py`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/Common/Statistics/mann_whitney_test.py). + +## Where are my outputs and models? + +* AzureML writes all its results to the storage account you have specified. Inside of that account, you will + find a container named `azureml`. You can access that with + [Azure StorageExplorer](https://azure.microsoft.com/en-us/features/storage-explorer/). The checkpoints and other + files of a run will be in folder `azureml/ExperimentRun/dcid.my_run_id`, where `my_run_id` is the "Run Id" visible in + the "Details" section of the run. If you want to download all the results files or a large subset of them, + we recommend you access them this way. +* The results can also be viewed in the "Outputs and Logs" section of the run. This is likely to be more + convenient for viewing and inspecting single files. +* All files that the model training writes to the `./outputs` folder are automatically uploaded at the end of + the AzureML training job, and are put into `outputs` in Blob Storage and in the run itself. + Similarly, what the model training writes to the `./logs` folder gets uploaded to `logs`. +* You can monitor the file system that is mounted on the compute node, by navigating to your + storage account in Azure. In the blade, click on "Files" and, navigate through to `azureml/azureml/my_run_id`. This + will show all files that are mounted as the working directory on the compute VM. + +The organization of the `outputs` directory is as follows: + +* A `checkpoints` directory containing the checkpointed model file(s). +* For each test epoch `NNN`, a directory `epoch_NNN`, each of whose subdirectories `Test` and `Val` +contains the following: + * A `metrics.csv` file, giving the Dice and Hausdorff scores for every structure + of every subject in the test and validation sets respectively. + * A `metrics_aggregates.csv` file, aggregating the information in `metrics.csv` by subject to give + minimum, maximum, mean and standard deviation values for both Dice and Hausdorff scores. + * A `metrics_boxplot.png` file, containing box-and-whisker plots for the same information. + * Various files identifying the dataset and structure names. + * A `thumbnails` directory, containing an image file for the maximal predicted slice for each + structure of each test or validation subject. + * For each test or validation subject, a directory containing a Nifti file for each predicted structure. +* If there are comparison runs (specified by the config parameter `comparison_blob_storage_paths`), +there will be a subdirectory named after each of those runs, each containing its own `epoch_NNN` subdirectory, +and there will be a file `MetricsAcrossAllRuns.csv` directly under `outputs`, combining the data from +the `metrics.csv` files of the current run and the comparison run(s). +* Additional files directly under `outputs`: + * `args.txt` contains the configuration information. + * `buildinformation.json` contains information on the build, partially overlapping with the content + of the "Details" tab. + * `dataset.csv` for the whole dataset (see ["Creating Datasets](creating_dataset.md) for details), + and `test_dataset.csv`, `train_dataset.csv` and `val_dataset.csv` for those subsets of it. + * `BaselineComparisonWilcoxonSignedRankTestResults.txt`, containing the results of comparisons + between the current run and any specified baselines (earlier runs) to compare with. Each paragraph of that file compares two models and + indicates, for each structure, when the Dice scores for the second model are significantly better + or worse than the first. For full details, see the + [source code](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/Common/Statistics/wilcoxon_signed_rank_test.py). + * A directory `scatterplots`, containing a `png` file for every pairing of the current model + with one of the baselines. Each one is named `AAA_vs_BBB.png`, where `AAA` and `BBB` are the run IDs + of the two models. Each plot shows the Dice scores on the test set for the models. + * For both segmentation and classification models an IPython Notebook `report.ipynb` will be generated in the + `outputs` directory. This report will be based on the checkpoint that was written in the last training + epoch (stored in `checkpoints/last.ckpt`). + * For segmentation models, this report will contain detailed metrics per structure, and outliers + (test set images that had a particularly high error rate for one or more structures). The information + about outliers can be used to double-check the existing annotations for errors. + * For classification models, the report shows metrics on the validation and test sets, ROC and PR Curves, + and a list of the best and worst performing images from the test set. + +Ensemble models are created by the zero'th child (with `cross_validation_split_index=0`) in each +cross-validation run. Results from inference on the test and validation sets are uploaded to the +parent run, and can be found in `epoch_NNN` directories as above. +In addition, various scores and plots from the ensemble and from individual child +runs are uploaded to the parent run, in the `CrossValResults` directory. This contains: + +* Subdirectories named 0, 1, 2, ... for all the child runs including the zero'th one, as well + as `ENSEMBLE`, containing their respective `epoch_NNN` directories. +* Files `Dice_Test_Splits.png` and `Dice_Val_Splits.png`, containing box plots of the Dice scores + on those datasets for each structure and each (component and ensemble) model. These give a visual + overview of the results in the `metrics.csv` files detailed above. When there are many different + structures, several such plots are created, with a different subset of structures in each one. +* Similarly, `HausdorffDistance_mm_Test_splits.png` and `HausdorffDistance_mm_Val_splits.png` contain + box plots of Hausdorff distances. +* `MetricsAcrossAllRuns.csv` combines the data from all the `metrics.csv` files. +* `Test_outliers.txt` and `Val_outliers.txt` highlight particular outlier scores (both Dice and + Hausdorff) in the test and validation sets respectively. +* A `scatterplots` directory and a file `CrossValidationWilcoxonSignedRankTestResults.txt`, + for comparisons between the ensemble and its component models. + +There is also a directory `BaselineComparisons`, containing the Wilcoxon test results and +scatterplots for the ensemble, as described above for single runs. + +## Augmentations for classification models + +For classification models, you can define an augmentation pipeline to apply to your images input (resp. segmentations) at +training, validation and test time. In order to define such a series of transformations, you will need to overload the +`get_image_transform` (resp. `get_segmention_transform`) method of your config class. This method expects you to return +a `ModelTransformsPerExecutionMode`, that maps each execution mode to one transform function. We also provide the +`ImageTransformationPipeline` a class that creates a pipeline of transforms, from a list of individual transforms and +ensures the correct conversion of 2D or 3D PIL.Image or tensor inputs to the obtained pipeline. + +`ImageTransformationPipeline` takes two arguments for its constructor: + +* `transforms`: a list of image transforms, in particular you can feed in standard [torchvision transforms](https://pytorch.org/vision/0.8/transforms.html) or +any other transforms as long as they support an input `[Z, C, H, W]` (where Z is the 3rd dimension (1 for 2D images), + C number of channels, H and W the height and width of each 2D slide - this is supported for standard torchvision + transforms.). You can also define your own transforms as long as they expect such a `[Z, C, H, W]` input. You can + find some examples of custom transforms class in `InnerEye/ML/augmentation/image_transforms.py`. +* `use_different_transformation_per_channel`: if True, apply a different version of the augmentation pipeline + for each channel. If False, applies the same transformation to each channel, separately. Default to False. + +Below you can find an example of `get_image_transform` that would resize your input images to 256 x 256, and at +training time only apply random rotation of +/- 10 degrees, and apply some brightness distortion, +using standard pytorch vision transforms. + +```python +def get_image_transform(self) -> ModelTransformsPerExecutionMode: + """ + Get transforms to perform on image samples for each model execution mode. + """ + return ModelTransformsPerExecutionMode( + train=ImageTransformationPipeline(transforms=[Resize(256), RandomAffine(degrees=10), ColorJitter(brightness=0.2)]), + val=ImageTransformationPipeline(transforms=[Resize(256)]), + test=ImageTransformationPipeline(transforms=[Resize(256)])) +``` + +## Segmentation Models and Inference + +By default when building a segmentation model a full image inference will be performed on the validation and test data sets; +and when building an ensemble model, a full image inference will be performed on the test data set only (because the +training and validation sets are first combined before being split into each of the folds). +There are a total of six command line options for controlling this in more detail. + +For non-ensemble models use any of the following command line options to enable or disable inference on training, test, or validation data sets: + +```shell +--inference_on_train_set=True or False +--inference_on_test_set=True or False +--inference_on_val_set=True or False +``` + +For ensemble models use any of the following corresponding command line options: + +```shell +--ensemble_inference_on_train_set=True or False +--ensemble_inference_on_test_set=True or False +--ensemble_inference_on_val_set=True or False +``` diff --git a/docs/build/html/_sources/docs/contributing.md.txt b/docs/build/html/_sources/docs/contributing.md.txt new file mode 100644 index 000000000..a48beb630 --- /dev/null +++ b/docs/build/html/_sources/docs/contributing.md.txt @@ -0,0 +1,51 @@ +# Contributing + +This document describes guidelines for contributing to the InnerEye-DeepLearning repo. + +## Submitting pull requests + +- DO submit all changes via pull requests (PRs). They will be reviewed and potentially be merged by maintainers after a peer review that includes at least one of the team members. +- DO give PRs short but descriptive names. +- DO write a useful but brief description of what the PR is for. +- DO refer to any relevant issues and use keywords that automatically close issues when the PR is merged. +- DO ensure each commit successfully builds. The entire PR must pass all checks before it will be merged. +- DO address PR feedback in additional commits instead of amending. +- DO assume that Squash and Merge will be used to merge the commits unless specifically requested otherwise. +- DO NOT submit "work in progress" PRs. A PR should only be submitted when it is considered ready for review. +- DO NOT mix independent and unrelated changes in one PR. + +To enable good auto-generated changelogs, we prefix all PR titles with a category string, like "BUG: Out of bounds error when using small images". +Those category prefixes must be in upper case, followed by a colon (`:`). Valid categories are + +- `ENH` for enhancements, new capabilities +- `BUG` for bugfixes +- `STYLE` for stylistic changes (for example, refactoring) that does not impact the functionality +- `DOC` for changes to documentation only +- `DEL` for removing something from the codebase + +## Coding style + +The coding style is enforced via `flake8` and `mypy`. Before pushing any changes to a PR, run both tools on +your dev box: + +- `flake8` +- `python mypy_runner.py` + +## Unit testing + +- DO write unit tests for each new function or class that you add. +- DO extend unit tests for existing functions or classes if you change their core behaviour. +- DO ensure that your tests are designed in a way that they can pass on the local box, even if they are relying on +specific cloud features. +- DO run all unit tests on your dev box before submitting your changes. The test suite is designed to pass completely +also outside of cloud builds. +- DO NOT rely only on the test builds in the cloud. Cloud builds trigger AzureML runs on GPU +machines that have a higher CO2 footprint than your dev box. + +## Creating issues + +- DO use a descriptive title that identifies the issue or the requested feature. +- DO write a detailed description of the issue or the requested feature. +- DO provide details for issues you create + - Describe the expected and actual behavior. + - Provide any relevant exception message. diff --git a/docs/build/html/_sources/docs/creating_dataset.md.txt b/docs/build/html/_sources/docs/creating_dataset.md.txt new file mode 100644 index 000000000..961a8fcb0 --- /dev/null +++ b/docs/build/html/_sources/docs/creating_dataset.md.txt @@ -0,0 +1,345 @@ +# Dataset Creation + +This document describes the dataset formats used by InnerEye for segmentation and classification tasks. After creating +the dataset, upload it to AzureML blob storage (as described in the +[AzureML documentation](setting_up_aml.md#step-4-create-a-storage-account-for-your-datasets)) + +## Segmentation Datasets + +This section walks through the process of creating a dataset in the format expected by the InnerEye package. +However, if your dataset is in DICOM-RT format, you should instead use the +[InnerEye-CreateDataset](https://github.com/microsoft/InnerEye-CreateDataset) tool. +After creating the dataset, you can also [analyze](#analysing-segmentation-datasets) the structures in it. + +Segmentation datasets should have the input scans and ground truth segmentations in Nifti format. + +InnerEye expects segmentation datasets to have the following structure: + +* Each subject has one or more scans, and one or more segmentation masks. There should be one segmentation mask for + each ground truth structure (anatomical structure that the model should segment) +* For convenience, scans and ground truth masks for different subjects can live in separate folders, but that's not a must. +* Inside the root folder for the dataset, there should be a file `dataset.csv`, containing the following fields + at minimum: + * `subject`: A unique positive integer assigned to every patient + * `channel`: The imaging channel or ground truth structure described by this row. + * `filePath`: Path to the file for this scan or structure. We support nifti (`.nii`, `.nii.gz` extensions), numpy (`.npy`, `.npz`) and hdf5(`.h5`). + * For HDF5 files, you need set the the actual file path, and specify the HDF5 dataset name and channel as follows with `|` as a separator: + * For images: `||` + * For segmentations that are provided as binary maps: `||` + * For segmentations that are given as multimaps: `|||` + * Multimaps are encoded as 0=background and integers for each class. + * The expected dimensions: (channel, Z, Y, X) + * For numpy or nifti just the expected format is just the path to the files. + * Images must be encoded as float32 with dimensions (X, Y, Z) + * Segmentations need to be encoded as binary masks in `uint8` format with dimensions (X, Y, Z). There must be one binary mask per + ground truth structure. The arrays need to contain 1 for all voxels that belong to the structure, and 0 for all other voxels. + You can save those to nifti by working with numpy `uint8` arrays. + + Additional supported fields include `acquisition_date`, `institutionId`, `seriesID` and `tags` (meant for miscellaneous labels). + +For example, for a CT dataset with two structures `heart` and `lung` to be segmented, the dataset folder +could look like: + +```text +dataset_folder_name +├──dataset.csv +├──subjectID1/ +│ ├── ct.nii.gz +│ ├── heart.nii.gz +│ └── lung.nii.gz +├──subjectID2/ +| ├── ct.nii.gz +| ├── heart.nii.gz +| ├── lung.nii.gz +├──... +``` + +The `dataset.csv` for this dataset would look like: + +```text +subject,filePath,channel +1,subjectID1/ct.nii.gz,ct +1,subjectID1/heart.nii.gz,structure1 +1,subjectID1/lung.nii.gz,structure2 +2,subjectID2/ct.nii.gz,ct +2,subjectID2/heart.nii.gz,structure1 +2,subjectID2/lung.nii.gz,structure2 +``` + +Note: The paths in the `dataset.csv` file should **not** be absolute paths, but relative to the folder that contains +`dataset.csv'. + +### Image size requirements + +The images in a dataset must adhere to these constraints: + +* All images, across all subjects, must have already undergone geometric normalization, i.e., all images must have +approximately the same voxel size. For example, if all images for subject 1 have voxel size 1.5mm x 1.01mm x 1.01mm, +and all images for subject 2 have voxel size 1.51mm x 0.99mm x 0.99mm, this should be fine. In particular, this +constraint does not mean that voxels need to be isotropic. +* All images for a particular subject must have the same dimensions. In the above example, if `subjectID1/ct.nii.gz` +has size 200 x 256 x 256, then `subjectID1/heart.nii.gz` and `subjectID1/lung.nii.gz` must have exactly the +same dimensions. +* It is not required that images for different subjects have the same dimensions. + +All these constraints are automatically checked and guaranteed if the raw data is in DICOM format and you are using +the [InnerEye-CreateDataset](https://github.com/microsoft/InnerEye-CreateDataset) tool to convert them to Nifti +format. Geometric normalization can also be turned on as a pre-processing step. + +### Uploading to Azure + +When running in Azure, you need to upload the folder containing the dataset (i.e., the file `dataset.csv` and the +image referenced therein) to the storage account for datasets. This is the storage account you created in the +[Azure setup, Step 4](setting_up_aml.md). + +The best way of uploading the data is via +[Azure Storage Explorer](https://azure.microsoft.com/en-gb/features/storage-explorer/). Please follow the installation +instructions first. + +* Find your Azure subscription in the "Explorer" bar, and inside of that, the "Storage Accounts" field, and the +storage account you created for datasets. +* That storage account should have a section "Blob Containers". Check if there is a container called "datasets" already. +If not, create one using the context menu. +* Navigate into the "datasets" container. +* Then use "Upload/Upload Folder" and choose the folder that contains your dataset (`dataset_folder_name` in the +above example). Leave all other settings in the upload dialog at their default. +* This will start the upload. Depending on the number of files, that can of course take some time. + +### Creating a model configuration + +For the above dataset structure for heart and lung segmentation, you would then create a model configuration that +contains at least the following fields: + +```python +class HeartLungModel(SegmentationModelBase): + def __init__(self) -> None: + super().__init__( + azure_dataset_id="dataset_folder_name", + # Adjust this to where your dataset_folder is on your local box + local_dataset="/home/me/dataset_folder_name", + image_channels=["ct"], + ground_truth_ids=["heart", "lung"], + # Segmentation architecture + architecture="UNet3D", + feature_channels=[32], + # Size of patches that are used for training, as (z, y, x) tuple + crop_size=(64, 224, 224), + # Reduce this if you see GPU out of memory errors + train_batch_size=8, + # Size of patches that are used when evaluating the model + test_crop_size=(128, 512, 512), + inference_stride_size=(64, 256, 256), + # Use CT Window and Level as image pre-processing + norm_method=PhotometricNormalizationMethod.CtWindow, + level=40, + window=400, + # Learning rate settings + l_rate=1e-3, + min_l_rate=1e-5, + l_rate_polynomial_gamma=0.9, + num_epochs=120, + ) +``` + +The `local_dataset` field is required if you want to run the InnerEye toolbox on your own VM, and you want to consume +the dataset from local storage. If you want to run the InnerEye toolbox inside of AzureML, you need to supply the +`azure_dataset_id`, pointing to a folder in Azure blob storage. This folder should reside in the `datasets` container +in the storage account that you designated for storing your datasets, see [the setup instructions](setting_up_aml.md). + +#### Analyzing segmentation datasets + +Once you have created your Azure dataset, either by the process described here or with the CreateDataset tool, +you may want to analyze it in order to detect images and structures that are outliers +with respect to a number of statistics, and which therefore may be erroneous or unsuitable for your application. +This can be done using the analyze command provided by +[InnerEye-CreateDataset](https://github.com/microsoft/InnerEye-CreateDataset). + +## Classification Datasets + +Classification datasets should have a `dataset.csv` and a folder containing the image files. The `dataset.csv` should +have at least the following fields: + +* subject: The subject ID, a unique positive integer assigned to every image +* path: Path to the image file for this subject +* value: + * For binary classification, a (binary) ground truth label. This can be "true" and "false" or "0" and "1". + * For multi-label classification, the set of all positive labels for the image, separated by a `|` character. + Ex: "0|2|4" for a sample with true labels 0, 2 and 4 and "" for a sample in which all labels are false. + * For regression, a scalar value. + +These, and other fields which can be added to dataset.csv are described in the examples below. + +For each entry (subject ID, label value, etc) needed to construct a single input sample, the entry value is read +from the channels and columns specified for that entry. + +### A simple example + +Let's look at how to construct a `dataset.csv` (and changes we will need to make to the model config file in parallel): + +```text +SubjectID, FilePath, Label +1, images/image1.npy, True +2, images/image2.npy, False +``` + +This is the simplest `dataset.csv` possible. It has two images with subject IDs `1` and `2`, stored at `images/images1.npy` +and `images/images2.npy`. This dataset is a classification dataset, since the label values are binary. + +To use this `dataset.csv`, we need to make some additions to the model config. We will use the `GlaucomaPublicExt` config from +the [sample tasks](sample_tasks.md#creating-the-classification-model-configuration) +in this example. The class should now resemble: + +```python +class GlaucomaPublicExt(GlaucomaPublic): + def __init__(self) -> None: + super().__init__(azure_dataset_id="name_of_your_dataset_on_azure", + subject_column="SubjectID", + image_file_column="FilePath", + label_value_column="Label") +``` + +The parameters `subject_column`, `channel_column`, `image_file_column` and `label_value_column` tell InnerEye +what columns in the csv contain the subject identifiers, channel names, image file paths and labels. + +NOTE: If any of the `*_column` parameters are not specified, InnerEye will look for these entries under the default column names +if default names exist. See the CSV headers in [csv_util.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/utils/csv_util.py) for all the defaults. + +### Using channels in dataset.csv + +Channels are fields in `dataset.csv` which can be used to filter rows. They are typically used when there are multiple +images or labels per subject (for example, if multiple images were taken across a period of time for each subject). + +A slightly more complex `dataset.csv` would be the following: + +```text +SubjectID, Channel, FilePath, Label +1, image_feature_1, images/image_1_feature_1.npy, +1, image_feature_2, images/image_1_feature_2.npy, +1, label, , True +2, image_feature_1, images/image_2_feature_1.npy +2, image_feature_2, images/image_2_feature_2.npy +2, label, , False +``` + +The config file would be + +```python +class GlaucomaPublicExt(GlaucomaPublic): + def __init__(self) -> None: + super().__init__(azure_dataset_id="name_of_your_dataset_on_azure", + subject_column="SubjectID", + channel_column="Channel", + image_channels=["image_feature_1", "image_feature_2"], + image_file_column="FilePath", + label_channels=["label"], + label_value_column="Label") +``` + +The added parameters `image_channels` and `label_channels` tell InnerEye to search for image file paths for each subject +in rows labelled with `image_feature_1` or `image_feature_2` and for label values in the rows labelled with `label`. +Thus, in this dataset, each sample will have 2 image features (read from rows with `Channel` set to `image_feature_1` +and `image_feature_2`) and the associated label (read from the row with `Channel` set to `label`). + +NOTE: There are no defaults for the `*_channels` parameters, so these must be set as parameters. + +### Recognized columns in dataset.csv and filtering based on channels + +Other recognized fields, apart from subject, channel, file path and label are numerical features and categorical features. +These are extra scalar and categorical values to be used as model input. + +Any *unrecognized* columns (any column which is both not described in the model config and has no default) +will be converted to a dict of key-value pairs and stored in an object of type `GeneralSampleMetadata` in the sample. + +```text +SubjectID, Channel, FilePath, Label, Tag, weight, class +1, image_time_1, images/image_1_time_1.npy, True, , , +1, image_time_2, images/image_1_time_2.npy, False, , , +1, scalar, , , , 0.5, +1, categorical, , , , , 2 +1, tags, , ,foo, , +2, image_time_1, images/image_2_time_1.npy, True, , , +2, image_time_2, images/image_2_time_2.npy, True, , , +2, tags, , , bar, , +1, scalar, , , , 0.3, +1, categorical, , , , , 4 +``` + +```python +class GlaucomaPublicExt(GlaucomaPublic): + def __init__(self) -> None: + super().__init__(azure_dataset_id="name_of_your_dataset_on_azure", + subject_column="SubjectID", + channel_column="Channel", + image_channels=["image_time_1", "image_time_2"], + image_file_column="FilePath", + label_channels=["image_time_2"], + label_value_column="Label", + non_image_feature_channels=["scalar"], + numerical_columns=["weight"], + categorical_columns="class") +``` + +In this example, `weight` is a scalar feature read from the csv, and `class` is a categorical feature. The extra field +`Tag` is not a recognized field, and so the dataloader will return the tags in the form of key:value pairs for each sample. + +**Filtering on channels**: This example also shows why filtering values by channel is useful: In this example, each subject has 2 images taken at + different times with different label values. By using `label_channels=["image_time_2"]`, we can use the label associated with + the second image for all subjects. + +### Multi-label classification datasets + +Classification datasets can be multi-label, i.e. they can have more than one label associated with every sample. +In this case, in the label column, separate the (numerical) ground truth labels with a pipe character (`|`) to +provide multiple ground truth labels for the sample. + +Note that only *multi-label* datasets are supported, *multi-class* datasets (where the labels are mutually exclusive) +are not supported. + +For example, the `dataset.csv` for a multi-label task with 4 classes (0, 1, 2, 3) would look like the following: + +```text +SubjectID, Channel, FilePath, Label +1, image_feature_1, images/image_1_feature_1.npy, +1, image_feature_2, images/image_1_feature_2.npy, +1, label, , 0|2|3 +2, image_feature_1, images/image_2_feature_1.npy +2, image_feature_2, images/image_2_feature_2.npy +2, label, , 1|2 +3, image_feature_1, images/image_3_feature_1.npy +3, image_feature_2, images/image_3_feature_2.npy +3, label, , 1 +4, image_feature_1, images/image_4_feature_1.npy +4, image_feature_2, images/image_4_feature_2.npy +4, label, , +``` + +Note that the label field for sample 4 is left empty, this indicates that all labels are negative in Sample 4. +In multi-label tasks, the negative class (all ground truth classes being false for a sample) should not be +considered a separate class, and should be encoded by an empty label field. + +The labels which are true for each sample in the `dataset.csv` shown above are: + +* Sample 1: 0, 2, 3 +* Sample 2: 1, 2 +* Sample 3: 1 +* Sample 4: No labels are true for this sample + +The config file would be + +```python +class GlaucomaPublicExt(GlaucomaPublic): + def __init__(self) -> None: + super().__init__(azure_dataset_id="name_of_your_dataset_on_azure", + subject_column="SubjectID", + channel_column="Channel", + image_channels=["image_feature_1", "image_feature_2"], + image_file_column="FilePath", + label_channels=["label"], + label_value_column="Label", + class_names=["class0", "class1", "class2", "class3"]) +``` + +The added parameter `class_names` gives the string name corresponding to each ground truth class index. +In multi-label configs, the `class_names` parameter must be specified, so that InnerEye can recognize that the task is +a multi-label task and parse the `dataset.csv` accordingly. In binary tasks, the class_names field can optionally be +set to a list with a single string in it corresponding to the name of the positive class. diff --git a/docs/build/html/_sources/docs/debugging_and_monitoring.md.txt b/docs/build/html/_sources/docs/debugging_and_monitoring.md.txt new file mode 100644 index 000000000..81445ba74 --- /dev/null +++ b/docs/build/html/_sources/docs/debugging_and_monitoring.md.txt @@ -0,0 +1,111 @@ +# Debugging and Monitoring Jobs + +## Using TensorBoard to monitor AzureML jobs + +* **Existing jobs**: execute [`InnerEye/Azure/tensorboard_monitor.py`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/Azure/tensorboard_monitor.py) +with either an experiment id `--experiment_name` or a list of run ids `--run_ids job1,job2,job3`. +If an experiment id is provided then all of the runs in that experiment will be monitored. Additionally You can also +filter runs by type by the run's status, setting the `--filters Running,Completed` parameter to a subset of +`[Running, Completed, Failed, Canceled]`. By default Failed and Canceled runs are excluded. + +To quickly access this script from PyCharm, there is a template PyCharm run configuration +`Template: Tensorboard monitoring` in the repository. Create a copy of that, and modify the commandline +arguments with your jobs to monitor. + +* **New jobs**: when queuing a new AzureML job, pass `--tensorboard`, which will automatically start a new TensorBoard +session, monitoring the newly queued job. + +## Resource Monitor + +GPU and CPU usage can be monitored throughout the execution of a run (local and AML) by setting the monitoring interval +for the resource monitor eg: `--monitoring_interval_seconds=5`. This will spawn a separate process at the start of the +run which will log both GPU and CPU utilization and memory consumption. These metrics will be written to AzureML as +well as a separate TensorBoard logs file under `Diagnostics`. + +## Debugging setup on local machine + +For full debugging of any non-trivial model, you will need a GPU. Some basic debugging can also be carried out on +standard Linux or Windows machines. + +The main entry point into the code is [`InnerEye/ML/runner.py`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/runner.py). The code takes its +configuration elements from commandline arguments and a settings file, +[`InnerEye/settings.yml`](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/settings.yml). + +A password for the (optional) Azure Service +Principal is read from `InnerEyeTestVariables.txt` in the repository root directory. The file +is expected to contain a line of the form + +```text +APPLICATION_KEY= +``` + +For developing and running your own models, you will probably find it convenient to create your own variants of +`runner.py` and `settings.yml`, as detailed in the page on [model building](building_models.md). + +To quickly access both runner scripts for local debugging, we created template PyCharm run configurations, called +"Template: Azure runner" and "Template: ML runner". If you want to execute the runners on your machine, then +create a copy of the template run configuration, and change the arguments to suit your needs. + +## Shorten training run time for debugging + +Here are a few hints how you can reduce the complexity of training if you need to debug an issue. In most cases, +you should then be able to rely on a CPU machine. + +* Reduce the number of feature channels in your model. If you run a UNet, for example, you can set +`feature_channels = [1]` in your model definition file. +* Train only for a single epoch. You can set `--num_epochs=1` via the commandline or the `more_switches` variable +if you start your training via a build definition. This will only create a model checkpoint at epoch 1, and ignore +the values you have set for `test_save_epoch` and other related parameters. +* Restrict the dataset to a minimum, by setting `--restrict_subjects=1` on the commandline. This will cap all of +training, validation, and test set to at most 1 subject. To specify different numbers of training, validation +and test images, you can provide a comma-separated list, e.g. `--restrict_subjects=4,1,2`. + +With the above settings, you should be able to get a model training run to complete on a CPU machine in a few minutes. + +## Verify your changes using a simplified fast model + +If you made any changes to the code that submits experiments (either `azure_runner.py` or `runner.py` or code +imported by those), validate them using a model training run in Azure. You can queue a model training run for the +simplified `BasicModel2Epochs` model. + +## Debugging on an AzureML node + +It is sometimes possible to get a Python debugging (pdb) session on the main process for a model +training run on an AzureML compute cluster, for example if a run produces unexpected output, +or is silent what seems like an unreasonably long time. For this to work, you will need to +have created the cluster with ssh access enabled; it is not currently possible to add this +after the cluster is created. The steps are as follows. + +* From the "Details" tab in the run's page, note the Run ID, then click on the target name under +"Compute target". +* Click on the "Nodes" tab, and identify the node whose "Current run ID" is that of your run. +* Copy the connection string (starting "ssh") for that node, run it in a shell, and when prompted, +supply the password chosen when the cluster was created. +* Type "bash" for a nicer command shell (optional). +* Identify the main python process with a command such as + +```shell +ps aux | grep 'python.*runner.py' | egrep -wv 'bash|grep' +``` + +You may need to vary this if it does not yield exactly one line of output. + +* Note the process identifier (the value in the PID column, generally the second one). +* Issue the commands + +```shell +kill -TRAP nnnn +nc 127.0.0.1 4444 +``` + +where `nnnn` is the process identifier. If the python process is in a state where it can +accept the connection, the "nc" command will print a prompt from which you can issue pdb +commands. + +Notes: + +* The last step (kill and nc) can be successfully issued at most once for a given process. +Thus if you might want a colleague to carry out the debugging, think carefully before +issuing these commands yourself. +* This procedure will not work on processes other than the main "runner.py" one, because +only that process has the required trap handling set up. diff --git a/docs/build/html/_sources/docs/deploy_on_aml.md.txt b/docs/build/html/_sources/docs/deploy_on_aml.md.txt new file mode 100644 index 000000000..d14c1abd6 --- /dev/null +++ b/docs/build/html/_sources/docs/deploy_on_aml.md.txt @@ -0,0 +1,74 @@ +# Model Deployment + +![deployment.png](images/deployment.png) + +InnerEye segmentation models using a single DICOM series as input and producing DICOM-RT can be integrated with DICOM networks using: + +- [InnerEye-Gateway](https://github.com/microsoft/InnerEye-Gateway): a Windows service that provides DICOM AETs to run InnerEye-DeepLearning models +- [InnerEye-Inference](https://github.com/microsoft/InnerEye-Inference): a REST API for the InnnEye-Gateway to run inference on InnerEye-DeepLearning models + +For deployment of a segmentation model, all code that was used in training, plus the checkpoint(s) of the model, +are packaged up into a folder and then registered in AzureML for later use. The checkpoints are chosen from +the checkpoints for the epochs specified in the `epochs_to_test` parameter: For those epochs, the model will be +evaluated on the validation set. The checkpoint that is written into the deployed model is the one that achieved +the best Dice score on the validation set. The whole package of source code and checkpoints files is then available +in AzureML in the "Models" section of the workspace, see also the +[documentation](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.model.model?view=azure-ml-py). +Each model has a name, a numeric version, and apart from the core files also contains tags and properties. + +When training a segmentation model with the InnerEye toolbox, you can see all files that make up the model in the +`final_model` folder, acessible via the UI in the "Outputs + logs" tab. All those files will be packaged +up into an AzureML model that has the same name as the InnerEye model you are training. The model name and version +will be written to a tag of the training run: In the AzureML run overview page, you can see a tag called `model_id`, +with a value that looks like `Prostate:892` if the `Prostate` model in version 892 was registered in this run. + +The newly registered model is also linked directly on the "Details" tab of the AzureML run: In "Details" / "Properties", +you will see an entry for "Registered models", that will take you to the model that has just been registered. + +In AzureML, navigate to the "Models" section, then locate the model that has just been registered. In the "Artifacts" +tab, you can inspect the files that have been registered. This will have a structure like this: + +```text +final_model/ +├──score.py +├──environment.yml +├──model_inference_config.json +├──InnerEye/ +| ├── Azure/ +| ├── Common/ +| ├── ML/ +├──checkpoints/ +| ├── 1_checkpoint.pth.tar +├──YourCode/ +``` + +- `score.py`: This is a Python script that can execute the trained model. Check `score.py` in the repository root for +a description of its commandline arguments. +- `environment.yml`: A Conda environment file that contains the packages required to run the code. If you are using +InnerEye as a submodule and have added a second Conda file, the file in the registered model will be the merged +version of those 2 Conda files. +- `model_inference_config.json`: Contains the names of anatomical structures that the model produces, and the paths +to all PyTorch checkpoint files. This file is used by `score.py` +- `InnerEye/`: A full copy of the InnerEye toolbox at the time of training. +- `YourCode/`: Optional. This is only present if you are using InnerEye as a submodule, and have specified that you +have a second folder with code that you would like to deploy alongside the InnerEye submodule (the +`extra_code_directory` commandline argument). +- `checkpoints/`: A folder with 1 or more PyTorch checkpoint files. Multiple checkpoint files are only present if +the model comes out of an ensemble training run. + +## Ensemble models + +Ensemble models built from different cross validation runs will be registered with the same file structure. The only +differences are + +- The top-level folder is called `final_ensemble_model`. +- There will be more checkpoints stored in the model itself, one checkpoint for each cross validation fold. + +The final ensemble model will be registered on the Hyperdrive parent run. Recall that crossvalidation is started +from a parent run, with a child run for each individual fold. Each of those child run will register its own model, +that was built on its specific subset of data. Then the ensemble model is built using the checkpoints from all, say, +5 crossvalidation folds, and registered on the parent run - even though the work of registering is done by the +child run with index 0. + +Note: At present, only segmentation model have a clearly defined deployment path. If you have a deployment +path for classification model that you would like to see supported, please file an issue on Github. diff --git a/docs/build/html/_sources/docs/environment.md.txt b/docs/build/html/_sources/docs/environment.md.txt new file mode 100644 index 000000000..016b2f443 --- /dev/null +++ b/docs/build/html/_sources/docs/environment.md.txt @@ -0,0 +1,224 @@ +# Set up InnerEye-DeepLearning + +## Operating System + +We recommend using our toolbox with [Ubuntu 20.04 LTS](https://releases.ubuntu.com/20.04/). Most core InnerEye functionality will be stable on other operating systems, but PyTorch's full feature set is only available on Linux. All jobs in AzureML, both training and inference, run from an Ubuntu 20.04 Docker image. This means that using Ubuntu 20.04 locally allows for maximum reproducibility between your local and AzureML environments. + +For Windows users, Ubuntu can be set up with [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install). Please refer to the [InneryEye WSL docs](WSL.md) for more detailed instructions on getting WSL set up. + +MacOS users can access an Ubuntu OS through [VirtualBox](https://www.virtualbox.org/wiki/Downloads). + +## Clone Repository + +1. Ensure you have [Git CLI](https://git-scm.com/downloads) installed. +2. Install Git Large File Storage (LFS): + + ```shell + git lfs install + ``` + +3. Clone the repository: + + ```shell + git clone --recursive https://github.com/microsoft/InnerEye-DeepLearning + cd InnerEye-DeepLearning + ``` + +To view and edit the InnerEye code, we recommended using the [VSCode](https://code.visualstudio.com/) IDE. + +## Set Up Conda + +[Conda](https://docs.conda.io/en/latest/) is an open source package management system. It is used in InnerEye to manage all python packages. Follow the instructions in this section to get it set up on your machine. + +### Prerequisite - Install build tools + +In order to create the Conda environment you will need to have the appropriate build tools installed on your machine. To do this, run the commands relevant to your operating system from the subsections below. + +#### MacOS / Windows Users + +If you are running Windows or MacOS, they will automatically be installed with your Conda distribution and you can safely skip this step. + +#### Ubuntu / Debian + +```shell +sudo apt-get install build-essential +``` + +#### CentOS / RHEL + +```shell +yum install gcc gcc-c++ kernel-devel make +``` + +### Install `conda` + +Check if you already have Conda installed by running `conda --version` in your shell. If you see an error such as "`command not found`", you will need to install Conda for your operating system using one of the following options: + +- Install [Miniconda](https://docs.conda.io/en/latest/miniconda.html) - this is the simplest and most lightweight option, and is sufficient for most use-cases. +- Install [Conda](https://docs.conda.io/en/latest/) - more extensive package management features and system-wide installation. + +## Create a Conda Environment + +There are three important files in this repo for creating Conda environments: + +- **`primary_deps.yml`** - This file contains the list of primary package dependencies, and can be used to create an environment on any OS. +- **`environment.yml`** - **DO NOT EDIT THIS FILE MANUALLY**. This file is a *lockfile* - it contains a locked list of primary and secondary dependencies that is used to create the environments for AzureML jobs and local Ubuntu environments. As such it contains Ubuntu-specific platform dependencies and cannot be used to create environments on other operating systems. +- **`environment_win.yml`** - This is another lockfile, containing a Windows-dependent list of primary and secondary dependencies. This file can be used to create a Conda environment on windows machines. + +### Create environment from lockfile (Ubuntu / Windows) + +To create an environment from one of the lockfiles, run the following command, selecting the one appropriate to your operating system: + +- Ubuntu 20.04 Users: + + ```shell + conda env create --file environment.yml + conda activate InnerEye + ``` + +- Windows Users: + + ```shell + conda env create --file environment_win.yml + conda activate InnerEye + + ``` + +### Create non-locked environment (MacOS / all other operating systems) + +For all other operating systems, no locked environment is provided. Instead, a new Conda environment can be created from the primary dependencies using the following commands: + + ```shell + conda env create --file primary_deps.yml + conda activate InnerEye + + ``` + +*Reproducibility between local and AzureML runs is NOT guaranteed for environments created using this method. For maximum reproducibility please consider using Ubuntu 20.04 as per [our operating system instructions](#operating-system).* + +### Upgrade / Add Python packages in environment + +If you wish to alter the packages in your local Conda environment, this can be done by editing the `primary_deps.yml` file with your desired changes and then following the instructions relevant to your OS given in the subsections below. + +If you want to change versions of packages used in the AzureML environment, *this can only be done from an Ubuntu machine*, and is facilited through the provided script `create_and_lock_environment.sh`, instructions for which are given in the Ubuntu subsection below. + +#### Ubuntu 20.04 Users + +1. Make your desired changes in `primary_deps.yml`. Make sure your package names and versions are correct. +2. To create a new environment and a valid `environment.yml`, run the following command: + + ```shell + bash -i create_and_lock_environment.sh + ``` + +This script will create/update your local Conda environment with your desired primary package versions, as well as a new `environment.yml` which can be ingested by AzureML to create a copy of your local environment. + +#### All other operating systems + +1. Make your desired changes in `primary_deps.yml`. Make sure your package names and versions are correct. +2. If you have already created the environment previously, run: + + ```shell + conda env update --file primary_deps.yml --prune + ``` + +3. Otherwise, run: + + ```shell + conda env create --file primary_deps.yml + ``` + +4. (Windows Users - Optional) Create a new lockfile by activating your new environment (`conda env activate InnerEye`) and running: + + ```shell + conda env export > environment_win.yml + ``` + +## Using GPU locally + +It is possible to run the training process on a local machine. It will not be as performant as using a GPU cluster that Azure ML offers and you will not be able to take advantage of other Azure ML features such as comparing run results, creating snapshots for repeatable machine learning experiments or keeping history of experiment runs. At the same time it could be useful to experiment with code or troubleshoot things locally. + +The SDK uses PyTorch to compose and run DNN computations. PyTorch can leverage the underlying GPU via NVIDIA CUDA technology, which accelerates computations dramatically. + +In order to enable PyTorch to use CUDA, you need to make sure that you have + +1. Compatible graphics card with CUDA compute capability of at least 3.0 (at the moment of writing). You can check the compatibility list [on the NVIDA Developer site](https://developer.nvidia.com/cuda-gpus) +1. Recent NVIDIA drivers installed + +A quick way to check if PyTorch can use the underlying GPU for computation is to run the following line from your Conda environment with all InnerEye packages installed: +`python -c 'import torch; print(torch.cuda.is_available())'` +It will output `True` if CUDA computation is available and `False` if it's not. + +Some tips for installing NVIDIA drivers below: + +### Windows + +You can download NVIDIA drivers for your graphics card [the NVIDIA website](https://www.nvidia.com/download/index.aspx) as a Windows *.exe* file and install them this way. + +### WSL + +Microsoft provides GPU support via WSL starting WSL 2.0. + +You can find more details on WSL in our separate [WSL section](WSL.md). + +### Linux + +The exact instructions for driver installation will differ depending on the Linux distribution. Generally, you should first run the `nvidia-smi` tool to see if you have NVIDIA drivers installed. This tool is installed together with NVIDIA drivers and if your system can not find it, it may mean that the drivers are not installed. A sample output of NVIDIA SMI tool may look like this: + +```console ++-----------------------------------------------------------------------------+ +| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 | +|-------------------------------+----------------------+----------------------+ +| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | +| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | +| | | MIG M. | +|===============================+======================+======================| +| 0 Tesla K80 Off | 0000027F:00:00.0 Off | 0 | +| N/A 50C P0 60W / 149W | 0MiB / 11441MiB | 0% Default | +| | | N/A | ++-------------------------------+----------------------+----------------------+ +``` + +In this case we can see that the system has access to a Tesla K80 GPU and is running driver version 450.51.06 + +If the driver is not available, you can try the following to install: + +#### Ubuntu + +1. Run +`ubuntu-drivers devices` +to see what drivers are available (you may need to install the tool via `sudo apt-get install ubuntu-drivers-common` and update the package database via `sudo apt update`). You should see an output like this: + + ```text + ... + vendor : NVIDIA Corporation + model : GK210GL [Tesla K80] + driver : nvidia-driver-450-server - distro non-free recommended + driver : nvidia-driver-418-server - distro non-free + driver : nvidia-driver-440-server - distro non-free + driver : nvidia-driver-435 - distro non-free + driver : nvidia-driver-450 - distro non-free + driver : nvidia-driver-390 - distro non-free + driver : xserver-xorg-video-nouveau - distro free builtin + ``` + +2. Run +`sudo apt install nvidia-driver-450-server` +(or whichever is the recommended in your case) +3. Reboot your system + +At this point you should be able to run the `nvidia-smi` tool and PyTorch should be able to communicate with the GPU + +#### CentOS/RHEL + +1. Add NVIDIA repository to your config manager +`sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo` (if you are running RHEL8, otherwise you can get the URL for your repo on the [NVIDIA dev site](https://developer.download.nvidia.com/compute/cuda/repos/)) +2. Clean repository cache via +`sudo dnf clean all` +3. Install drivers +`sudo dnf -y module install nvidia-driver:latest-dkms` +4. Reboot your system + +At this point you should be able to run the `nvidia-smi` tool and PyTorch should be able to communicate with the GPU + +You can find instructions for other Linux distributions on the [NVIDIA website](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html) diff --git a/docs/build/html/_sources/docs/fastmri.md.txt b/docs/build/html/_sources/docs/fastmri.md.txt new file mode 100644 index 000000000..e8964b4e9 --- /dev/null +++ b/docs/build/html/_sources/docs/fastmri.md.txt @@ -0,0 +1,217 @@ +# Working with FastMRI models + +The InnerEye toolbox supports models built for the [fastMRI challenge](https://fastmri.org/). The challenge supports +research into novel methods for reconstructing magnetic resonance images from undersampled data, with the ultimate +goal of speeding up MR acquisition and reducing cost. + +Building even the baseline models for this challenge is computationally demanding, and can run for several days on +a single GPU box. With the help of the InnerEye toolbox and distributed training in Azure Machine Learning, this time +can be reduced dramatically. + +In order to work with the challenge data in Azure, you will need to + +- Register for the challenge +- Have the InnerEye toolbox set up with Azure as described [here](setting_up_aml.md) +- Download and prepare the challenge data, or use the script that we provide here to bulk download directly from +AWS into Azure blob storage. + +## Registering for the challenge + +In order to download the dataset, you need to register [here](https://fastmri.org/dataset/). + +You will shortly receive an email with links to the dataset. In that email, there are two sections containing +scripts to download the data, like this: + +To download Knee MRI files, we recommend using curl with recovery mode turned on: + +```shell +curl -C "https://....amazonaws.com/knee_singlecoil_train.tar.gz?AWSAccessKeyId=...Expires=1610309839" --output knee_singlecoil_train.tar.gz" +... +``` + +There are two sections of that kind, one for the knee data and one for the brain data. Copy and paste *all* the lines +with `curl` commands into a text file, for example called `curl.txt`. In total, there should be 10 lines with `curl` +commands for the knee data, and 7 for the brain data (including the SHA256 file). + +## Download the dataset directly to blob storage via Azure Data Factory + +We are providing a script that will bulk download all files in the FastMRI dataset from AWS to Azure blob storage. +To start that script, you need + +- The file that contains all the `curl` commands to download the data (see above). The downloading script will +extract all the AWS access tokens from the `curl` commands. +- The connection string to the Azure storage account that stores your dataset. + - To get that, navigate to the [Azure Portal](https://portal.azure.com), and search for the storage account + that you created to hold your datasets (Step 4 in [AzureML setup](setting_up_aml.md)). + - On the left hand navigation, there is a section "Access Keys", select that and copy out the connection string + (sanity check: it should look something like `DefaultEndpointsProtocol=....==;EndpointSuffix=core.windows.net`) +- The Azure location where the Data Factory should be created (for example "westeurope"). The Data Factory should + live in the same Azure location as your AzureML workspace and storage account. To check the location, + find the workspace in the [Azure Portal](https://portal.azure.com), the location is shown on the overview page. + +Then run the script to download the dataset as follows, providing the path the the file with the curl commands +and the connection string as commandline arguments, enclosed in quotes: +`python InnerEye/Scripts/prepare_fastmri.py --curl curl.txt --connection_string ""` --location westeurope + +This script will + +- Authenticate against Azure either using the Service Principal credentials that you set up in Step 3 of the + [AzureML setup](setting_up_aml.md), or your own credentials. To use the latter, you need to be logged in via the Azure + command line interface (CLI), available [here](https://docs.microsoft.com/en-us/cli/azure/) for all platforms. +- Create an Azure Data Factory in the same resource group as the AzureML workspace. +- Create pipelines to download the datasets in compressed form to the `datasets` container in the storage account +you supplied, and uncompress them. +- Run all the pipelines and delete the Data Factory. + +This whole process can take a few hours to complete. It will print progress information every 30 seconds to the console. +Alternatively, find the Data Factory "fastmri-copy-data" in your Azure portal, and click on the "Monitor" icon to +drill down into all running pipelines. + +Once the script is complete, you will have the following datasets in Azure blob storage: + +- `knee_singlecoil`, `knee_multicoil`, and `brain_multicoil` with all files unpacked +- `knee_singlecoil_compressed`, `knee_multicoil_compressed`, and `brain_multicoil_compressed` with the `.tar` and +`.tar.gz` files as downloaded. NOTE: The raw challenge data files all have a `.tar.gz` extension, even though some +of them are plain (uncompressed) `.tar` files. The pipeline corrects these mistakes and puts the files into blob storage +with their corrected extension. +- The DICOM files are stored in the folders `knee_DICOMs` and `brain_DICOMs` (uncompressed) and +`knee_DICOMs_compressed` and `brain_DICOMs_compressed` (as `.tar` files) + +### Troubleshooting the data downloading + +If you see a runtime error saying "The subscription is not registered to use namespace 'Microsoft.DataFactory'", then +follow the steps described [here](https://stackoverflow.com/a/48419951/5979993), to enable DataFactory for your +subscription. + +## Running a FastMri model with InnerEye + +The Azure Data Factory that downloaded the data has put it into the storage account you supplied on the commandline. +If set up correctly, this is the Azure storage account that holds all datasets used in your AzureML workspace. +Hence, after the downloading completes, you are ready to use the InnerEye toolbox to submit an AzureML job that uses +the FastMRI data. + +There are 2 example models already coded up in the InnerEye toolbox, defined in +[fastmri_varnet.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/other/fastmri_varnet.py): `KneeMulticoil` and +`BrainMulticoil`. As with all InnerEye models, you can start a training run by specifying the name of the class +that defines the model, like this: + +```shell +python InnerEye/ML/runner.py --model KneeMulticoil --azureml --num_nodes=4 +``` + +This will start an AzureML job with 4 nodes training at the same time. Depending on how you set up your compute +cluster, this will use a different number of GPUs: For example, if your cluster uses ND24 virtual machines, where +each VM has 4 Tesla P40 cards, training will use a total of 16 GPUs. + +As common with multiple nodes, training time will not scale linearly with increased number of nodes. The following +table gives a rough overview of time to train 1 epoch of the FastMri model in the InnerEye toolbox +on our cluster (`Standard_ND24s` nodes with 4 Tesla P40 cards): + +| Step | 1 node (4 GPUs) | 2 nodes (8 GPUs) | 4 nodes (16 GPUs) | 8 nodes (32 GPUs) | +| --- | --- | --- | --- | --- | +| Download training data (1.25 TB) | 22min | 22min | 22min | 22min | +| Train and validate 1 epoch | 4h 15min | 2h 13min | 1h 6min | 34min | +| Evaluate on test set | 30min | 30min | 30min | 30min | +| Total time for 1 epoch | 5h 5min | 3h 5min | 1h 58min | 1h 26min | +| Total time for 50 epochs | 9 days | 4.6 days | 2.3 days | 1.2 days| + +Note that the download times depend on the type of Azure storage account that your workspace is using. We recommend +using Premium storage accounts for optimal performance. + +You can avoid the time to download the dataset, by specifying that the data is always read on-the-fly from the network. +For that, just add the `--use_dataset_mount` flag to the commandline. This may impact training throughput if +the storage account cannot provide the data quick enough - however, we have not observed a drop in GPU utilization even +when training on 8 nodes in parallel. For more details around dataset mounting please refer to the next section. + +## Performance considerations for BrainMulticoil + +Training a FastMri model on the `brain_multicoil` dataset is particularly challenging because the dataset is larger. +Downloading the dataset can - depending on the types of nodes - already make the nodes go out of disk space. + +The InnerEye toolbox has a way of working around that problem, by reading the dataset on-the-fly from the network, +rather than downloading it at the start of the job. You can trigger this behaviour by supplying an additional +commandline argument `--use_dataset_mount`, for example: + +```shell +python InnerEye/ML/runner.py --model BrainMulticoil --azureml --num_nodes=4 --use_dataset_mount +``` + +With this flag, the InnerEye training script will start immediately, without downloading data beforehand. +However, the fastMRI data module generates a cache file before training, and to build that, it needs to traverse the +full dataset. This will lead to a long (1-2 hours) startup time before starting the first epoch, while it is +creating this cache file. This can be avoided by copying the cache file from a previous run into to the dataset folder. +More specifically, you need to follow these steps: + +- Start a training job, training for only 1 epoch, like + +```shell +python InnerEye/ML/runner.py --model BrainMulticoil --azureml --use_dataset_mount --num_epochs=1 +``` + +- Wait until the job starts has finished creating the cache file - the job will print out a message +"Saving dataset cache to dataset_cache.pkl", visible in the log file `azureml-logs/70_driver_log.txt`, about 1-2 hours +after start. At that point, you can cancel the job. +- In the "Outputs + logs" section of the AzureML job, you will now see a file `outputs/dataset_cache.pkl` that has +been produced by the job. Download that file. +- Upload the file `dataset_cache.pkl` to the storage account that holds the fastMRI datasets, in the `brain_multicoil` +folder that was previously created by the Azure Data Factory. You can do that via the Azure Portal or Azure Storage + Explorer. Via the Azure Portal, you can search for the storage account that holds your data, then select + "Data storage: Containers" in the left hand navigation. You should see a folder named `datasets`, and inside of that + `brain_multicoil`. Once in that folder, press the "Upload" button at the top and select the `dataset_cache.pkl` file. +- Start the training job again, this time you can start multi-node training right away, like this: + +```shell +python InnerEye/ML/runner.py --model BrainMulticoil --azureml --use_dataset_mount --num_nodes=8. This new +``` + +This job should pick up the existing cache file, and output a message like "Copying a pre-computed dataset cache +file ..." + +The same trick can of course be applied to other models as well (`KneeMulticoil`). + +## Running on a GPU machine + +You can of course run the InnerEye fastMRI models on a reasonably large machine with a GPU for development and +debugging purposes. Before running, we recommend to download the datasets using a tool +like [azcopy](http://aka.ms/azcopy) into a folder, for example the `datasets` folder at the repository root. + +To use `azcopy`, you will need the access key to the storage account that holds your data - it's the same storage +account that was used when creating the Data Factory that downloaded the data. + +- To get that, navigate to the [Azure Portal](https://portal.azure.com), and search for the storage account +that you created to hold your datasets (Step 4 in [AzureML setup](setting_up_aml.md)). +- On the left hand navigation, there is a section "Access Keys". Select that and copy out one of the two keys (*not* +the connection strings). The key is a base64 encoded string, it should not contain any special characters apart from +`+`, `/`, `.` and `=` + +Then run this script in the repository root folder: + +```shell +mkdir datasets +azcopy --source-key --source https://.blob.core.windows.net/datasets/brain_multicoil --destination datasets/brain_multicoil --recursive +``` + +Replace `brain_multicoil` with any of the other datasets names if needed. + +If you follow these suggested folder structures, there is no further change necessary to the models. You can then +run, for example, the `BrainMulticoil` model by dropping the `--azureml` flag like this: + +```shell +python InnerEye/ML/runner.py --model BrainMulticoil +``` + +The code will recognize that an Azure dataset named `brain_multicoil` is already present in the `datasets` folder, +and skip the download. + +If you choose to download the dataset to a different folder, for example `/foo/brain_multicoil`, you will need to +make a small adjustment to the model in [fastmri_varnet.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/other/fastmri_varnet.py), +and add the `local_dataset` argument like this: + +```python +class BrainMulticoil(FastMri): + def __init__(self) -> None: + super().__init__() + self.azure_dataset_id = "brain_multicoil" + self.local_dataset = Path("/foo/brain_multicoil") + self.dataset_mountpoint = "/tmp/brain_multicoil" +``` diff --git a/docs/build/html/_sources/docs/hello_world_model.md.txt b/docs/build/html/_sources/docs/hello_world_model.md.txt new file mode 100644 index 000000000..66d3a345f --- /dev/null +++ b/docs/build/html/_sources/docs/hello_world_model.md.txt @@ -0,0 +1,81 @@ +# Training a Hello World segmentation model + +In the configs folder, you will find a config file called [HelloWorld.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/segmentation/HelloWorld.py) +We have created this file to demonstrate how to: + +1. Subclass SegmentationModelBase which is the base config for all segmentation model configs +1. Configure the UNet3D implemented in this package +1. Configure Azure HyperDrive based parameter search + +This model can be trained from the commandline from the root of the repo: `python InnerEye/ML/runner.py --model=HelloWorld`. +When used like this, it will use dummy 3D scans as the training data, that are included in this repository. Training will run +on your local dev machine. + +In order to get this model to train in AzureML, you need to upload the data to blob storage. This can be done via +[Azure Storage Explorer](https://azure.microsoft.com/en-gb/features/storage-explorer/) or via the +[Azure commandline tools](https://docs.microsoft.com/en-us/cli/azure/). Please find the detailed instructions for both +options below. + +Before uploading, you need to know what storage account you have set up to hold the data for your AzureML workspace, see +[Step 4 in the Azure setup](setting_up_aml.md): For the upload you need to know the name of that storage account. + +## Option 1: Upload via Azure Storage explorer + +First install [Azure Storage Explorer](https://azure.microsoft.com/en-gb/features/storage-explorer/). + +When starting Storage Explorer, you need to [log in to Azure](https://docs.microsoft.com/en-gb/azure/vs-azure-tools-storage-manage-with-storage-explorer?tabs=windows). + +* Select your subscription in the left-hand navigation, and then the storage account that you set up earlier. +* There should be a section "Blob Containers" for that account. +* Right-click on "Blob Containers", and choose "Create Blob Container". Give that container the name "datasets" +* Click on the newly created container "datasets". You should see no files present. +* Press "Upload" / "Upload folder" +* As the folder to upload, select `/Tests/ML/test_data/train_and_test_data` +* As the destination directory, select `/hello_world`. +* Start the upload. Press the "Refresh" button after a couple of seconds, you should now see a folder `hello_world`, and inside of it, a subfolder `train_and_test_data`. +* Press "Upload" / "Upload files". +* Choose `/Tests/ML/test_data/dataset.csv`, and `/hello_world` as the destination directory. +* Start the upload and refresh. +* Verify that you now have files `/hello_world/dataset.csv` and `/hello_world/train_and_test_data/id1_channel1.nii.gz` + +## Option 2: Upload via the Azure CLI + +First, install the [Azure commandline tools](https://docs.microsoft.com/en-us/cli/azure/). + +Run the following in the command prompt: + +```shell +az login +az account list +``` + +If the `az account list` command returns more than one subscription, run `az account set --name "your subscription name"` + +The code below assumes that you are uploading to a storage account that has the name +`stor_acct`, please replace with your actual storage account name. + +```shell +cd +az storage container create --account-name stor_acct --name datasets +az storage blob upload --account-name stor_acct --container-name datasets --file ./Tests/ML/test_data/dataset.csv --name hello_world/dataset.csv +az storage blob upload-batch --account-name stor_acct --destination datasets --source ./Tests/ML/test_data/train_and_test_data --destination-path hello_world/train_and_test_data +``` + +## Create an AzureML datastore + +A "datastore" in AzureML lingo is an abstraction for the ML systems to access files that can come from different places. In our case, the datastore points to a storage container to which we have just uploaded the data. + +Instructions to create the datastore are given +[in the AML setup instructions](setting_up_aml.md) in step 5. + +## Run the HelloWorld model in AzureML + +Double-check that you have copied your Azure settings into the settings file, as described +[in the AML setup instructions](setting_up_aml.md) in step 6. + +Then execute: + +```shell +conda activate InnerEye +python InnerEye/ML/runner.py --model=HelloWorld --azureml +``` diff --git a/docs/build/html/_sources/docs/hippocampus_model.md.txt b/docs/build/html/_sources/docs/hippocampus_model.md.txt new file mode 100644 index 000000000..26c92e12a --- /dev/null +++ b/docs/build/html/_sources/docs/hippocampus_model.md.txt @@ -0,0 +1,119 @@ + +# Trained model for hippocampal segmentation + +## Purpose + +This documentation describes how to use our pre-trained model to segment the left and right hippocampi from brain MRI scans. The model was trained on data from the [ADNI](https://adni.loni.usc.edu/) dataset (for more information see the model card below). This data is publicly available via their website, but users must sign a Data Use Agreement in order to gain access. We do not provide access to the data. The following description assumes the user has their own dataset to evaluate/ retrain the model on. + +## Terms of use + +Please note that this model is intended for research purposes only. You are responsible for the performance, the necessary testing, and if needed any regulatory clearance for any of the models produced by this toolbox. + +--- + +## Usage + +The following instructions assume you have completed the preceding setup steps in the [InnerEye README](https://github.com/microsoft/InnerEye-DeepLearning/), in particular, [Setting up Azure Machine Learning](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/docs/setting_up_aml.md). + +### Create an Azure ML Dataset + +To evaluate this model on your own data, you will first need to register an [Azure ML Dataset](https://docs.microsoft.com/en-us/azure/machine-learning/v1/how-to-create-register-datasets). You can follow the instructions in the InnerEye repo for [creating datasets](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/docs/creating_dataset.md) in order to do this. + +## Downloading the model + +The saved weights from the trained Hippocampus model can be downloaded along with the source code used to train it from [our github releases page](https://github.com/microsoft/InnerEye-DeepLearning/releases). + +### Registering a model in Azure ML + +To evaluate the model in Azure ML, you must first [resgister an Azure ML Model](https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.model.model?view=azure-ml-py#remarks). To register the Hippocampus model in your AML Workspace, unpack the source code downloaded in the previous step and follow InnerEye's [instructions to upload models to Azure ML](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/docs/move_model.md). + +```shell +WORKSPACE="fill with your workspace name" +GROUP="fill with your resource group name" +SUBSCRIPTION="fill with your subscription ID" + +python InnerEye/Scripts/move_model.py \ + --action upload \ + --path . \ + --workspace_name $WORKSPACE \ + --resource_group $GROUP \ + --subscription_id $SUBSCRIPTION \ + --model_id Hippocampus:118 +``` + +### Evaluating the model + +You can evaluate the model either in Azure ML or locally using the downloaded checkpoint files. These 2 scenarios are described in more detail, along with instructions in [testing an existing model](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/docs/building_models.md#testing-an-existing-model). + +For example, to evalute the model on your Dataset in Azure ML: + +```shell +CLUSTER="fill with your cluster name" +DATASET_ID="fill with your dataset name" + +python InnerEye/ML/runner.py \ + --azure_dataset_id $DATASET_ID \ + --model Hippocampus \ + --model_id Hippocampus:111 \ + --experiment_name evaluate_hippocampus_model \ + --azureml \ + --no-train \ + --cluster $CLUSTER + --restrict_subjects=0,0,+ +``` + +### Connected components + +It is possible to apply connected compoents as a post-processing step, although by default this is disabled. To enable, update the property `largest_connected_component_foreground_classes` of the Hippocampus class in `InnerEye/ML/configs/segmentation/Hippocampus.py` + +### Deploy with InnerEye Gateway + +To deploy this model, see the instructions in the [InnerEye README](https://github.com/microsoft/InnerEye-DeepLearning/). + +--- + +# Hippocampal Segmentation Model Card + +## Model details + +- Organiation: Biomedical Imaging Team at Micrsoft Research, Cambridge UK. +- Model date: 5th July 2022. +- Model version: 0.1 . Currently only one version of the model has been released. We do not expect to update the model frequently. +- Model type: 3d UNET ensemble of 3d UNet. Training details are as described in [this paper](https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2773292). +- Training details: 5 fold ensemble model. Trained on a subsection of the ADNI dataset (described in detail below) +- License: The model is released under MIT license as described [here](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/LICENSE). +- Contect: innereyeinfo@microsoft.com. + +## Limitations + +This model has been trained on a subset of the ADNI dataset. There have been various phases of ADNI spanning different time periods. In this Model Card we refer to the original, or ADNI 1, stud.y This dataset comprises scans and metadata from patients between the ages of 55-90 from 57 different sites across the US and Canada [source](https://adni.loni.usc.edu/study-design/#background-container). Therefore a major limitation of this model would be the ability to generalise to patients outside of this demographic. Another limitation is that The MRI protocol for ADNI1 (which was collected between 2004-2009) focused on imaging on 1.5T scanners [source](https://adni.loni.usc.edu/methods/mri-tool/mri-analysis/). Modern scanners may have higher field strengths and therefore different levels of contrast which could lead to different performance from the results we report. + +The results of this model have not been validated by clinical experts. We expect the user to evaluate the result + +## Intended Uses + +This model is for research purposes only. It is intended to be used for the task of segmentating hippocampi from brain MRI scans. Any other task is out of scope for this model. + +## About the data + +The model was trained on 998 pairs of MRI segmentation + segmentation. The model was further validated on 127 pairs of images and tested on 125 pairs. A further 317 pairs were retained as a held-out test set for the final evaluation of the model, which is what we report performance on. + +All of this data comes from the Alzheimers Disease Neuroimaging Initiative study [link to website](https://adni.loni.usc.edu/). The data is publicly available, but requires signing a Data Use Agreement before access is granted. + +## About the ground-truth segmentations + + The segmentations were also downloaded from the ADNI dataset. They were created semi-automatically using software from [Medtronic Surgical Navigation Technologies](https://www.medtronic.com/us-en/healthcare-professionals/products/neurological/surgical-navigation-systems.html). Further information is available on the [ADNI website](https://adni.loni.usc.edu/). + +## Metrics + +Note that due to the ADNI Data Usage Agreement we are only able to share aggregate-level metrics from our evaluation. Evaluation is performed on a heldout test set of 252 pairs of MRI + segmentation pairs from the ADNI dataset. + +Dice Score for Left and Right hippocampus respectively on a held-out test set of : + +![hippocampus_metrics_boxplot.png](hippocampus_metrics_boxplot.png) +| Structure | count | DiceNumeric_mean | DiceNumeric_std | DiceNumeric_min | DiceNumeric_max | HausdorffDistance_mm_mean | HausdorffDistance_mm_std | HausdorffDistance_mm_min | HausdorffDistance_mm_max | MeanDistance_mm_mean | MeanDistance_mm_std | MeanDistance_mm_min | MeanDistance_mm_max | +|---------------|---------|------------------|-----------------|-----------------|-----------------|---------------------------|--------------------------|--------------------------|--------------------------|----------------------|---------------------|---------------------|---------------------| +| hippocampus_L | 252 | 0.918 | 0.022 | 0.819 | 0.953 | 2.206 | 0.812 | 1.206 | 6.964 | 0.168 | 0.054 | 0.096 | 0.399 | +| hippocampus_R | 252 | 0.918 | 0.024 | 0.816 | 0.954 | 2.185 | 0.706 | 1.206 | 4.966 | 0.168 | 0.055 | 0.094 | 0.433 | +| | | | | | | | | | | | | | | +--- diff --git a/docs/build/html/_sources/docs/innereye_as_submodule.md.txt b/docs/build/html/_sources/docs/innereye_as_submodule.md.txt new file mode 100644 index 000000000..f478c3a69 --- /dev/null +++ b/docs/build/html/_sources/docs/innereye_as_submodule.md.txt @@ -0,0 +1,105 @@ +# Using the InnerEye code as a git submodule of your project + +You can use InnerEye as a submodule in your own project. +If you go down that route, here's the list of files you will need in your project (that's the same as those +given in [this document](building_models.md)) + +* `environment.yml`: Conda environment with python, pip, pytorch +* `settings.yml`: A file similar to `InnerEye\settings.yml` containing all your Azure settings +* A folder like `ML` that contains your additional code, and model configurations. +* A file like `myrunner.py` that invokes the InnerEye training runner, but that points the code to your environment +and Azure settings; see the [Building models](building_models.md) instructions for details. Please see below for how +`myrunner.py` should look like. + +You then need to add the InnerEye code as a git submodule, in folder `innereye-deeplearning`: + +```shell +git submodule add https://github.com/microsoft/InnerEye-DeepLearning innereye-deeplearning +``` + +Then configure your Python IDE to consume *both* your repository root *and* the `innereye-deeplearning` subfolder as inputs. +In Pycharm, you would do that by going to Settings/Project Structure. Mark your repository root as "Source", and +`innereye-deeplearning` as well. + +Example commandline runner that uses the InnerEye runner (called `myrunner.py` above): + +```python +import sys +from pathlib import Path + + +# This file here mimics how the InnerEye code would be used as a git submodule. + +# Ensure that this path correctly points to the root folder of your repository. +repository_root = Path(__file__).absolute() + + +def add_package_to_sys_path_if_needed() -> None: + """ + Checks if the Python paths in sys.path already contain the /innereye-deeplearning folder. If not, add it. + """ + is_package_in_path = False + innereye_submodule_folder = repository_root / "innereye-deeplearning" + for path_str in sys.path: + path = Path(path_str) + if path == innereye_submodule_folder: + is_package_in_path = True + break + if not is_package_in_path: + print(f"Adding {innereye_submodule_folder} to sys.path") + sys.path.append(str(innereye_submodule_folder)) + + +def main() -> None: + try: + from InnerEye import ML # noqa: 411 + except: + add_package_to_sys_path_if_needed() + + from InnerEye.ML import runner + print(f"Repository root: {repository_root}") + # Check here that yaml_config_file correctly points to your settings file + runner.run(project_root=repository_root, + yaml_config_file=Path("settings.yml"), + post_cross_validation_hook=None) + + +if __name__ == '__main__': + main() + +``` + +## Adding new models + +1. Set up a directory outside of InnerEye to holds your configs. In your repository root, you could have a folder +`InnerEyeLocal`, parallel to the InnerEye submodule, alongside `settings.yml` and `myrunner.py`. + +The example below creates a new flavour of the Glaucoma model in `InnerEye/ML/configs/classification/GlaucomaPublic`. +All that needs to be done is change the dataset. We will do this by subclassing GlaucomaPublic in a new config +stored in `InnerEyeLocal/configs` + +1. Create folder `InnerEyeLocal/configs` +1. Create a config file `InnerEyeLocal/configs/GlaucomaPublicExt.py` which extends the `GlaucomaPublic` class +like this: + +```python +from InnerEye.ML.configs.classification.GlaucomaPublic import GlaucomaPublic + +class MyGlaucomaModel(GlaucomaPublic): + def __init__(self) -> None: + super().__init__() + self.azure_dataset_id="name_of_your_dataset_on_azure" +``` + +1. In `settings.yml`, set `model_configs_namespace` to `InnerEyeLocal.configs` so this config +is found by the runner. Set `extra_code_directory` to `InnerEyeLocal`. + +### Start Training + +Run the following to start a job on AzureML: + +```shell +python myrunner.py --azureml --model=MyGlaucomaModel +``` + +See [Model Training](building_models.md) for details on training outputs, resuming training, testing models and model ensembles. diff --git a/docs/build/html/_sources/docs/innereye_deeplearning.md.txt b/docs/build/html/_sources/docs/innereye_deeplearning.md.txt new file mode 100644 index 000000000..fabf7b6f0 --- /dev/null +++ b/docs/build/html/_sources/docs/innereye_deeplearning.md.txt @@ -0,0 +1,160 @@ +# InnerEye-DeepLearning + +[![Build Status](https://innereye.visualstudio.com/InnerEye/_apis/build/status/InnerEye-DeepLearning/InnerEye-DeepLearning-PR?branchName=main)](https://innereye.visualstudio.com/InnerEye/_build?definitionId=112&branchName=main) + +## Overview + +This is a deep learning toolbox to train models on medical images (or more generally, 3D images). +It integrates seamlessly with cloud computing in Azure. + +On the modelling side, this toolbox supports + +- Segmentation models +- Classification and regression models +- Adding cloud support to any PyTorch Lightning model, via a [bring-your-own-model setup](bring_your_own_model.md) + +On the user side, this toolbox focusses on enabling machine learning teams to achieve more. It is cloud-first, and +relies on [Azure Machine Learning Services (AzureML)](https://docs.microsoft.com/en-gb/azure/machine-learning/) for execution, +bookkeeping, and visualization. Taken together, this gives: + +- **Traceability**: AzureML keeps a full record of all experiments that were executed, including a snapshot of +the code. Tags are added to the experiments automatically, that can later help filter and find old experiments. +- **Transparency**: All team members have access to each other's experiments and results. +- **Reproducibility**: Two model training runs using the same code and data will result in exactly the same metrics. All + sources of randomness like multithreading are controlled for. +- **Cost reduction**: Using AzureML, all compute (virtual machines, VMs) is requested at the time of starting the +training job, and freed up at the end. Idle VMs will not incur costs. In addition, Azure low priority +nodes can be used to further reduce costs (up to 80% cheaper). +- **Scale out**: Large numbers of VMs can be requested easily to cope with a burst in jobs. + +Despite the cloud focus, all training and model testing works just as well on local compute, which is important for +model prototyping, debugging, and in cases where the cloud can't be used. In particular, if you already have GPU +machines available, you will be able to utilize them with the InnerEye toolbox. + +In addition, our toolbox supports: + +- Cross-validation using AzureML's built-in support, where the models for +individual folds are trained in parallel. This is particularly important for the long-running training jobs +often seen with medical images. +- Hyperparameter tuning using +[Hyperdrive](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-tune-hyperparameters). +- Building ensemble models. +- Easy creation of new models via a configuration-based approach, and inheritance from an existing +architecture. + +Once training in AzureML is done, the models can be deployed from within AzureML. + +## Quick Setup + +This quick setup assumes you are using a machine running Ubuntu with Git, Git LFS, Conda and Python 3.7+ installed. Please refer to the [setup guide](environment.md) for more detailed instructions on getting InnerEye set up with other operating systems and installing the above prerequisites. + +### Instructions + +1. Clone the InnerEye-DeepLearning repo by running the following command: + + ```shell + git clone --recursive https://github.com/microsoft/InnerEye-DeepLearning & cd InnerEye-DeepLearning + ``` + +2. Create and activate your conda environment: + + ```shell + conda env create --file environment.yml && conda activate InnerEye + ``` + +3. Verify that your installation was successful by running the HelloWorld model (no GPU required): + + ```shell + python InnerEye/ML/runner.py --model=HelloWorld + ``` + +If the above runs with no errors: Congratulations! You have successfully built your first model using the InnerEye toolbox. + +If it fails, please check the +[troubleshooting page on the Wiki](https://github.com/microsoft/InnerEye-DeepLearning/wiki/Issues-with-code-setup-and-the-HelloWorld-model). + +## Other Documentation + +Further detailed instructions, including setup in Azure, are here: + +1. [Setting up your environment](environment.md) +1. [Setting up Azure Machine Learning](setting_up_aml.md) +1. [Training a simple segmentation model in Azure ML](hello_world_model.md) +1. [Creating a dataset](creating_dataset.md) +1. [Building models in Azure ML](building_models.md) +1. [Sample Segmentation and Classification tasks](sample_tasks.md) +1. [Debugging and monitoring models](debugging_and_monitoring.md) +1. [Model diagnostics](model_diagnostics.md) +1. [Move a model to a different workspace](move_model.md) +1. [Working with FastMRI models](fastmri.md) +1. [Active label cleaning and noise robust learning toolbox](https://github.com/microsoft/InnerEye-DeepLearning/blob/1606729c7a16e1bfeb269694314212b6e2737939/InnerEye-DataQuality/README.md) +1. [Using InnerEye as a git submodule](innereye_as_submodule.md) + +## Deployment + +We offer a companion set of open-sourced tools that help to integrate trained CT segmentation models with clinical +software systems: + +- The [InnerEye-Gateway](https://github.com/microsoft/InnerEye-Gateway) is a Windows service running in a DICOM network, +that can route anonymized DICOM images to an inference service. +- The [InnerEye-Inference](https://github.com/microsoft/InnerEye-Inference) component offers a REST API that integrates +with the InnnEye-Gateway, to run inference on InnerEye-DeepLearning models. + +Details can be found [here](deploy_on_aml.md). + +![deployment.png](images/deployment.png) + +## More information + +1. [Project InnerEye](https://www.microsoft.com/en-us/research/project/medical-image-analysis/) +1. [Releases](releases.md) +1. [Changelog](CHANGELOG.md) +1. [Testing](testing.md) +1. [How to do pull requests](pull_requests.md) +1. [Contributing](contributing.md) + +## Licensing + +[MIT License](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/LICENSE) + +**You are responsible for the performance, the necessary testing, and if needed any regulatory clearance for + any of the models produced by this toolbox.** + +## Acknowledging usage of Project InnerEye OSS tools + +When using Project InnerEye open-source software (OSS) tools, please acknowledge with the following wording: + +> This project used Microsoft Research's Project InnerEye open-source software tools ([https://aka.ms/InnerEyeOSS](https://aka.ms/InnerEyeOSS)). + +## Contact + +If you have any feature requests, or find issues in the code, please create an +[issue on GitHub](https://github.com/microsoft/InnerEye-DeepLearning/issues). + +Please send an email to InnerEyeInfo@microsoft.com if you would like further information about this project. + +## Publications + +Oktay O., Nanavati J., Schwaighofer A., Carter D., Bristow M., Tanno R., Jena R., Barnett G., Noble D., Rimmer Y., Glocker B., O’Hara K., Bishop C., Alvarez-Valle J., Nori A.: Evaluation of Deep Learning to Augment Image-Guided Radiotherapy for Head and Neck and Prostate Cancers. JAMA Netw Open. 2020;3(11):e2027426. [doi:10.1001/jamanetworkopen.2020.27426](https://pubmed.ncbi.nlm.nih.gov/33252691/) + +Bannur S., Oktay O., Bernhardt M, Schwaighofer A., Jena R., Nushi B., Wadhwani S., Nori A., Natarajan K., Ashraf S., Alvarez-Valle J., Castro D. C.: Hierarchical Analysis of Visual COVID-19 Features from Chest Radiographs. ICML 2021 Workshop on Interpretable Machine Learning in Healthcare. [https://arxiv.org/abs/2107.06618](https://arxiv.org/abs/2107.06618) + +Bernhardt M., Castro D. C., Tanno R., Schwaighofer A., Tezcan K. C., Monteiro M., Bannur S., Lungren M., Nori S., Glocker B., Alvarez-Valle J., Oktay. O: Active label cleaning for improved dataset quality under resource constraints. [https://www.nature.com/articles/s41467-022-28818-3](https://www.nature.com/articles/s41467-022-28818-3). Accompagnying code [InnerEye-DataQuality](https://github.com/microsoft/InnerEye-DeepLearning/blob/1606729c7a16e1bfeb269694314212b6e2737939/InnerEye-DataQuality/README.md) + +## Contributing + +This project welcomes contributions and suggestions. Most contributions require you to agree to a +Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us +the rights to use your contribution. For details, visit [https://cla.opensource.microsoft.com](https://cla.opensource.microsoft.com). + +When you submit a pull request, a CLA bot will automatically determine whether you need to provide +a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions +provided by the bot. You will only need to do this once across all repos using our CLA. + +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or +contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +## Maintenance + +This toolbox is maintained by the [Microsoft Medical Image Analysis team](https://www.microsoft.com/en-us/research/project/medical-image-analysis/). diff --git a/docs/build/html/_sources/docs/model_diagnostics.md.txt b/docs/build/html/_sources/docs/model_diagnostics.md.txt new file mode 100644 index 000000000..265d8bad2 --- /dev/null +++ b/docs/build/html/_sources/docs/model_diagnostics.md.txt @@ -0,0 +1,25 @@ +# Model Diagnostics + +The InnerEye toolbox has extensive reporting about the model building process, as well as the performance +of the final model. Our goal is to provide as much insight as possible about the critical steps (and +pitfalls) of building a model. + +## Patch sampling for segmentation models + +When building a segmentation model, one of the crucial steps is how equally-shaped crops are taken from +the raw medical image, that are later fed into the model training. An outline of that process is +given [here](https://github.com/microsoft/InnerEye-DeepLearning/wiki/Adjusting-and-tuning-a-segmentation-model). + +At the start of training, the toolbox inspects the first 10 images of the training set. For each of them, +1000 random crops are drawn at random, similar to how they would be drawn during training. From that, a +heatmap is constructed, where each voxel value contains how often that specific voxels was actually contained +in the random crop (a value between 0 and 1000). The heatmap is stored as a Nifti file, alongside the +original scan, in folder `outputs/patch_sampling/`. When running inside AzureML, navigate to the +"Outputs" tab, and go to the folder (see screenshot below). + +In addition, for each patient, 3 thumbnail images are generated, that overlay the heatmap on top of the +scan. Dark red indicates voxels that are sampled very often, transparent red indicates voxels that are used +infrequently. + +Example thumbnail when viewed in the AzureML UI: +![Azure ML patch sampling screenshot](images/screenshot_azureml_patch_sampling.png) diff --git a/docs/build/html/_sources/docs/move_model.md.txt b/docs/build/html/_sources/docs/move_model.md.txt new file mode 100644 index 000000000..6e4aa2f01 --- /dev/null +++ b/docs/build/html/_sources/docs/move_model.md.txt @@ -0,0 +1,28 @@ +# Move a model to other workspace + +The InnerEye models on AzureML are composed of two parts in order to reproduce the same settings at inference and +training time: + +- Model: The model is registered in the AzureML registry and contains the code used at training time and pytorch + checkpoint +- Environment: The Azure ML environment used to train the model. This contains the docker image with all the + dependencies that were used for training + +If you want to export a model from one Workspace to another you can use the following command to download and upload a +model from an AzureML workspace. This script does not use settings.yml, it uses interactive authentication, and the +workspace specified in the parameters. + +- Download to path: + +`python InnerEye/Scripts/move_model.py -a download --path ./ --workspace_name "" --resource_group "" --subscription_id "" --model_id "name:version"` + + The model will be downloaded to a subfolder called `name_version` (based on the `--model_id` parameter) of the path in `--path` parameter. For example, with `--model_id "my_model:100` this will be `my_model_100`. The subfolder will contain two folders: one for the `MODEL` and one for the `ENVIRONMENT` files. + +- Upload from path: + +`python InnerEye/Scripts/move_model.py -a upload --path ./ --workspace_name "" --resource_group "" --subscription_id "" --model_id "name:version"` + +The model is expected to be in the format above, i.e. contained in a subfolder called `name_version` of the path in `--path` parameter. The model will be automatically given the next available `id` once uploaded to the workspace. For example, if `my_model:100` already exists then it will be called `my_model:101`. + +Once in place you may want to run inference on the model with partial test data, i.e. test data from patients for whom +some of the labels are missing. Normally inference on partial test data would raise an exception. To allow inference to continue over partial test data add the flag `--allow_incomplete_labels` to your inference call, for example `python InnerEye/ML/runner.py --allow_incomplete_labels --no-train --azureml --model= --run_recovery_id=` diff --git a/docs/build/html/_sources/docs/pull_requests.md.txt b/docs/build/html/_sources/docs/pull_requests.md.txt new file mode 100644 index 000000000..1d6bb0c5a --- /dev/null +++ b/docs/build/html/_sources/docs/pull_requests.md.txt @@ -0,0 +1,19 @@ +# Suggested Workflow for Pull Requests + +* Pull Requests (PRs) should implement one change, and hence be small. If in doubt, err on the side of making the PR +too small, rather than too big. It reduces the chance for you as the author to overlook issues. Small PRs are easier +to test and easier to review. +* Ensure that the code you add or change is covered by unit tests. When fixing a bug, the suggested workflow is +to first write a unit test that shows the invalid behaviour, and only then start to code up the fix. +* It is best to run all unit tests on your dev box, and check that they pass, before publishing the PR. If you are not +a member of the core InnerEye team, note that you may not be able to run some of the unit tests that access the team's +AzureML workspace. A member of the InnerEye team will be happy to assist then. +* Before publishing your PR, please run PyCharm's code cleanup tools. You can either do that after editing your file, +by pressing Ctrl+Alt+L, or selecting "Reformat code" in the context menu of the file(s) in the project explorer window. +Alternatively, you should tick all of "Reformat code", "Rearrange code", "Optimize imports", "Cleanup", "Scan with mypy" +in the PyCharm version control check-in dialog. +* Only publish your PR for review once you have a build that is passing. You can make use of the "Create as Draft" +feature of GitHub. +* Link the correct Github issue. +* Once you have obtained approval for your change, do not add any changes that go beyond what is requested by the +reviewers. Any additional pushes to the branch will invalidate the approvals you have obtained. diff --git a/docs/build/html/_sources/docs/releases.md.txt b/docs/build/html/_sources/docs/releases.md.txt new file mode 100644 index 000000000..6edda9e1c --- /dev/null +++ b/docs/build/html/_sources/docs/releases.md.txt @@ -0,0 +1,12 @@ +# Releases + +The InnerEye toolbox is in an early stage, where many of its inner workings are changing rapidly. However, the +purely config-driven approach to model building should remain stable. That is, you can expect backwards +compatibility if you are building models by creating configuration files and changing the fields of the classes +that define, say, a segmentation model. The same goes for all Azure-related configuration options. +If your code relies on specific functions inside the InnerEye code base, you should expect that this can change. + +The current InnerEye codebase is not published as a Python package, and hence does not have implicit version numbers. +We are applying tagging instead, with increases corresponding to what otherwise would be major/minor versions. + +Please refer to the [Changelog](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/CHANGELOG.md) for an overview of recent changes. diff --git a/docs/build/html/_sources/docs/sample_tasks.md.txt b/docs/build/html/_sources/docs/sample_tasks.md.txt new file mode 100644 index 000000000..53fca0446 --- /dev/null +++ b/docs/build/html/_sources/docs/sample_tasks.md.txt @@ -0,0 +1,125 @@ +# Sample Tasks + +This document contains two sample tasks for the classification and segmentation pipelines. + +The document will walk through the steps in [Training Steps](building_models.md), but with specific examples for each task. +Before trying to train these models, you should have followed steps to set up an [environment](environment.md) and [AzureML](setting_up_aml.md) + +## Sample classification task: Glaucoma Detection on OCT volumes + +This example is based on the paper [A feature agnostic approach for glaucoma detection in OCT volumes](https://arxiv.org/pdf/1807.04855v3.pdf). + +### Downloading and preparing the glaucoma dataset + +The dataset is available [here](https://zenodo.org/record/1481223#.Xs-ehzPiuM_) [[1]](#1). + +After downloading and extracting the zip file, run the [create_glaucoma_dataset_csv.py](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/InnerEye/Scripts/create_glaucoma_dataset_csv.py) + script on the extracted folder. + +```shell +python create_dataset_csv.py /path/to/extracted/folder +``` + +This will convert the dataset to csv form and create a file `dataset.csv`. + +Finally, upload this folder (with the images and `dataset.csv`) to Azure Blob Storage. For details on creating a storage account, +see [Setting up AzureML](setting_up_aml.md#step-4-create-a-storage-account-for-your-datasets). The dataset should go +into a container called `datasets`, with a folder name of your choice (`name_of_your_dataset_on_azure` in the +description below). + +### Creating the glaucoma model configuration and starting training + +Next, you need to create a configuration file `InnerEye/ML/configs/MyGlaucoma.py` + which extends the GlaucomaPublic class like this: + +```python +from InnerEye.ML.configs.classification.GlaucomaPublic import GlaucomaPublic +class MyGlaucomaModel(GlaucomaPublic): + def __init__(self) -> None: + super().__init__() + self.azure_dataset_id="name_of_your_dataset_on_azure" +``` + +The value for `self.azure_dataset_id` should match the dataset upload location, called +`name_of_your_dataset_on_azure` above. + +Once that config is in place, you can start training in AzureML via + +```shell +python InnerEye/ML/runner.py --model=MyGlaucomaModel --azureml +``` + +As an alternative to working with a fork of the repository, you can use InnerEye-DeepLearning via a submodule. +Please check [here](innereye_as_submodule.md) for details. + +## Sample segmentation task: Segmentation of Lung CT + +This example is based on the [Lung CT Segmentation Challenge 2017](https://wiki.cancerimagingarchive.net/display/Public/Lung+CT+Segmentation+Challenge+2017) [[2]](#2). + +### Downloading and preparing the lung dataset + +The dataset [[3]][#3]([4](#4) can be downloaded [here](https://wiki.cancerimagingarchive.net/display/Public/Lung+CT+Segmentation+Challenge+2017#021ca3c9a0724b0d9df784f1699d35e2). + +You need to convert the dataset from DICOM-RT to NIFTI. Before this, place the downloaded dataset in another + parent folder, which we will call `datasets`. This file structure is expected by the conversion tool. + +Next, use the +[InnerEye-CreateDataset](https://github.com/microsoft/InnerEye-createdataset) commandline tools to create a +NIFTI dataset from the downloaded (DICOM) files. +After installing the tool, run + +```batch +InnerEye.CreateDataset.Runner.exe dataset --datasetRootDirectory= --niftiDatasetDirectory= --dicomDatasetDirectory= --geoNorm 1;1;3 +``` + +Now, you should have another folder under `datasets` with the converted Nifti files. +The `geonorm` tag tells the tool to normalize the voxel sizes during conversion. + +Finally, upload this folder (with the images and dataset.csv) to Azure Blob Storage. For details on creating a storage account, +see [Setting up AzureML](setting_up_aml.md#step-4-create-a-storage-account-for-your-datasets). All files should go +into a folder in the `datasets` container, for example `my_lung_dataset`. This folder name will need to go into the +`azure_dataset_id` field of the model configuration, see below. + +### Creating the lung model configuration and starting training + +You can then create a new model configuration, based on the template +[Lung.py](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/segmentation/Lung.py). To do this, create a file +`InnerEye/ML/configs/segmentation/MyLungModel.py`, where you create a subclass of the template Lung model, and +add the `azure_dataset_id` field (i.e., the name of the folder that contains the uploaded data from above), +so that it looks like: + +```python +from InnerEye.ML.configs.segmentation.Lung import Lung +class MyLungModel(Lung): + def __init__(self) -> None: + super().__init__() + self.azure_dataset_id = "my_lung_dataset" +``` + +If you are using InnerEye as a submodule, please add this configuration in your private configuration folder, +as described for the Glaucoma model [here](innereye_as_submodule.md). + +You can now run the following command to start a job on AzureML: + +```shell +python InnerEye/ML/runner.py --azureml --model=MyLungModel +``` + +See [Model Training](building_models.md) for details on training outputs, resuming training, testing models and model ensembles. + +### References + +[1] +Ishikawa, Hiroshi. (2018). OCT volumes for glaucoma detection (Version 1.0.0) [Data set]. Zenodo. + +[2] +Yang, J. , Veeraraghavan, H. , Armato, S. G., Farahani, K. , Kirby, J. S., Kalpathy-Kramer, J. , van Elmpt, W. , Dekker, A. , Han, X. , Feng, X. , Aljabar, P. , Oliveira, B. , van der Heyden, B. , Zamdborg, L. , Lam, D. , Gooding, M. and Sharp, G. C. (2018), +Autosegmentation for thoracic radiation treatment planning: A grand challenge at AAPM 2017. Med. Phys.. . [doi:10.1002/mp.13141](https://doi.org/10.1002/mp.13141) + +[3] +Yang, Jinzhong; Sharp, Greg; Veeraraghavan, Harini ; van Elmpt, Wouter ; Dekker, Andre; Lustberg, Tim; Gooding, Mark. (2017). +Data from Lung CT Segmentation Challenge. The Cancer Imaging Archive. + +[4] +Clark K, Vendt B, Smith K, Freymann J, Kirby J, Koppel P, Moore S, Phillips S, Maffitt D, Pringle M, Tarbox L, Prior F. +The Cancer Imaging Archive (TCIA): Maintaining and Operating a Public Information Repository, Journal of Digital Imaging, Volume 26, Number 6, December, 2013, pp 1045-1057. ([paper](http://link.springer.com/article/10.1007%2Fs10278-013-9622-7)) diff --git a/docs/build/html/_sources/docs/self_supervised_models.md.txt b/docs/build/html/_sources/docs/self_supervised_models.md.txt new file mode 100644 index 000000000..adf6a4f92 --- /dev/null +++ b/docs/build/html/_sources/docs/self_supervised_models.md.txt @@ -0,0 +1,200 @@ +# Training of self-supervised models + +The code present in the [InnerEye/ML/SSL](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/SSL) +folder allows you to train self-supervised models using +[SimCLR](http://proceedings.mlr.press/v119/chen20j/chen20j.pdf) or +[BYOL](https://proceedings.neurips.cc/paper/2020/file/f3ada80d5c4ee70142b17b8192b2958e-Paper.pdf). This code runs as a " +bring-your-own-model" self-contained module ( +see the [bring-your-own-model instructions]](bring_your_own_model.md) +. + +Here, we provide implementations for four datasets to get you kickstarted with self-supervised models: + +* Toy CIFAR datasets: [CIFAR10](https://www.cs.toronto.edu/~kriz/cifar.html) + and [CIFAR100](https://www.cs.toronto.edu/~kriz/cifar.html) +* Medical Chest-Xray + datasets: [RSNA Pneumonia Detection Challenge](https://www.kaggle.com/c/rsna-pneumonia-detection-challenge/overview) + data (30k scans, labels indicating presence of pneumonia), + [NIH Chest-Xray](https://www.kaggle.com/nih-chest-xrays/data) (112k Chest-Xray scans) or + [CheXpert](https://stanfordmlgroup.github.io/competitions/chexpert/) (228k scans). + +## Multi-dataset support + +During self-supervised training, a separate linear classifier is trained on top of learnt image embeddings. In this way, +users can continuously monitor the representativeness of learnt image embeddings for a given downstream classification +task. More importantly, the framework allows users to specify multiple datasets and data loaders for SimCLR/BYOL +training and evaluation. For instance, a BYOL encoder can be learnt using a dataset that does not contain any target +labels and embeddings can be evaluated throughout training on a separate dataset containing class labels. To enable this +functionality, our SSLContainer takes two dataset names parameters: ``ssl_training_dataset_name`` to indicate which +dataset to use for SSL training and ``linear_head_dataset_name`` to indicate which dataset for the classification task +used to monitor embeddings quality during training. + +## Quick start guide + +Here we described how to quickly start a training job with our ready made configs. + +### Example 1: training a SimCLR or BYOL model on CIFAR10 + +To kick-off a training for a SimCLR and BYOL models on CIFAR10, simply run + +```shell +python ML/runner.py --model=CIFAR10BYOL +python ML/runner.py --model=CIFAR10SimCLR +``` + +For this dataset, it will automatically take care of downloading the dataset to your machine prior to starting training. + +### Example 2: training a BYOL model on Chest-Xray data + +#### Step 0: Get the data + +#### If you run on your local machine + +Prior to starting training a model on this dataset, you will need to download it from Kaggle to your machine: + +* To use the RSNA Pneumonia Detection Challenge data: please download from + [here](https://www.kaggle.com/c/rsna-pneumonia-detection-challenge/data?select=stage_2_train_images). Make sure to + download all images and the `dataset.csv` file to your data folder. Please note that the labels are here merely used + for monitoring purposes. +* To get the NIH dataset: please download from [here](https://www.kaggle.com/nih-chest-xrays/data). Make sure you + include also the csv files in your data folder, the code assumes the dataset files and all the images lie in your data + folder as downloaded from Kaggle. In particular, do not modify the original csv filenames (e.g. the code expects to + find the `Data_Entry_2017.csv` file within the data directory). +* To get the CheXpert data: please download from [here](https://stanfordmlgroup.github.io/competitions/chexpert/), the + code assumes the dataset files and all the images lie in your data folder as downloaded. + +#### If you run on AML + +In order to train models on AML you will need to upload the datasets listed above to your storage account and get their +dataset_id to pass to your model config. + +#### Step 1: Update your model config + +We provide sample configs to train models on NIH data both for BYOL and SimCLR. You can use them as they are except for +the dataset location fields: + +* If you're running locally set the `local_dataset` parameter to point to your data folder. +* If you're running on AML: you need to update the `RSNA_AZURE_DATASET_ID` and `NIH_AZURE_DATASET_ID` variables to point + to the name of the NIH and Kaggle dataset in your own workspace. + +#### Step 2: Launch the training job + +Example to train a SSL model with BYOL on the NIH dataset and monitor the embeddings quality on the Kaggle RSNA +Pneumonia Challenge classification task: + +```shell +python ML/runner.py --model=NIH_RSNA_BYOL +``` + +## Configuring your own SSL models + +### About SSLContainer configuration + +All SSL models are derived from +the [SSLcontainer](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/InnerEye/ML/SSL/lightning_containers/ssl_container.py) +class. See the config class in [ML/configs/ssl](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/ML/configs/ssl) for some examples of specific model configurations (all derived +from this container). + +If you wish to create your own model config for SSL training, you will need to create a child class and parametrize it +with the following available arguments: + +* `ssl_training_dataset_name`: the name of the dataset to train the SSL encoder on, a member of the SSLDatasetName + class (don't forget to update this class if you're adding a new dataset ;)), +* `linear_head_dataset_name`: the name of the dataset to train to linear head on top of the classifier for monitoring + purposes, +* `azure_dataset_id`: the id of the AML dataset to use for SSL training, +* `extra_azure_dataset_ids`: dataset_id to use for linear head training, expected to be provided as a list [data-id], +* `ssl_encoder`: name of the encoder to train, member of `EncoderName` class, currently supported are resnet50, + resnet101 and densenet121, +* `ssl_training_type`: which SSL algorithm to use, member of `SSLType` choice between BYOL and SimCLR, +* `ssl_training_batch_size`: batch size of SSL training. This is the number of examples processed by a single GPU. + Multiply this by the number of GPUs to get the effective batch size. +* `linear_head_batch_size`: batch size for linear head training (used for monitor of SSL embeddings quality). This is + the number of examples processed by a single GPU. Multiply this by the number of GPUs to get the effective batch size. +* `ssl_augmentation_config`: path to yaml config for augmentation to use during SSL training. Only used for NIH/Kaggle + datasets. +* `linear_head_augmentation_config`: path to yaml config for augmentation to use for linear head training. Only used for + NIH/Kaggle datasets, +* `use_balanced_binary_loss_for_linear_head`: whether to use balanced loss for linear head training, +* `random_seed`: seed for the run, +* `num_epochs`: number of epochs to train for. + +In case you wish to first test your model locally, here some optional arguments that can be useful: + +* `local_dataset`: path to local dataset, if passed the azure dataset will be ignored +* `is_debug_model`: if True it will only run on the first batch of each epoch +* `drop_last`: if False (True by default) it will keep the last batch also if incomplete + +### Creating your own datamodules + +To use this code with your own data, you will need to: + +1. Define your own Lightening Container that inherits from `SSLContainer` as described in the paragraph above. +2. Create a dataset class that reads your new dataset, inheriting from both `VisionDataset` + and `InnerEyeDataClassBaseWithReturnIndex`. See for example how we constructed `RSNAKaggleCXR` + class. WARNING: the first positional argument of your dataset class constructor MUST be the data directory ("root"), + as VisionDataModule expects this in the prepare_data step. +3. In your own container update the `_SSLDataClassMappings` member of the class so that the code knows which data class + to associate to your new dataset name. +4. Create a yaml configuration file that contains the augmentations specific to your dataset. The yaml file will be + consumed by the `create_transforms_from_config` function defined in the + `InnerEye.ML.augmentations.transform_pipeline` module (see next paragraph for more details). Alternatively, overwrite + the `_get_transforms` method. To simplify this step, we have defined a series of standard operations in + `SSL/transforms_utils.py` . You could for example construct a transform pipeline similar to the one created + inside `create_transform_from_config` inside your own method. +5. Update all necessary parameters in the model config (cf. previous paragraph) + +Once all these steps are updated, the code in the base SSLContainer class will take care of creating the corresponding +datamodules for SSL training and linear head monitoring. + +### About the augmentation configuration yaml file + +The augmentations used for SSL training for all Chest-X-rays models are parametrized via a yaml config file. The path to +this config as to be passed in the model config (cf. section above). We provide two defaults +configs: ``cxr_ssl_encoder_augmentations.yaml`` is used to define the augmentations used for BYOL/SimCLR training; +the ``cxr_linear_head_augmentations.yaml`` config defines the augmentations to used for the training of the linear head +(used for monitoring purposes). The meaning of each config argument is detailed in `ssl_model_config.py` + +WARNING: this file will be ignored for CIFAR examples where we use the default pl-bolts augmentations. + +## Finetuning a linear head on top of a pretrained SSL model + +Alongside with the modules to train your SSL models, we also provide examplary modules that allow you to build a +classifier on top of a pretrained SSL model. The base class for these modules is `SSLClassifierContainer`. It builds on +top of the `SSLContainer` with additional command line arguments allowing you to specify where to find the checkpoint +for your pretrained model. For this you have two options: + +* If you are running locally, you can provide the local path to your pretrained model checkpoint + via `--local_weights_path`. +* If your are running on AML, use the `pretraining_run_recovery_id` field. Providing this field, will mean that AML will + automatically download the checkpoints to the current node, will pick the latest checkpoint to build the classifier on + top. Beware not to confuse `pretraining_run_recovery_id` with `run_recovery_id` as the latter is use to continue training on + the same model (which is not the case here). + +The code will then automatically extract the encoder part of the loaded SSL model to initialize your classifier. You can +then also choose whether you want to freeze the weights of your encoder or not via the `--freeze_encoder=True/False` +argument. By default, this is set to True. + +### Example for CIFAR + +We provide an example of such a classifier container for CIFAR named `SSLClassifierCIFAR`. To launch a finetuning run +for this model on CIFAR10, just run + +```shell +python ML/runner.py --model=SSLClassifierCIFAR --pretraining_run_recovery_id={THE_ID_TO_YOUR_SSL_TRAINING_JOB} +``` + +### Example for CXR + +Similarly, we provide class to allow you to simply start a finetuning job for CXR model in `CXRImageClassifier`. By +default, this will launch a finetuning job on the RSNA Pneumonia dataset. To start the run: + +```shell +python ML/runner.py --model=CXRImageClassifier --pretraining_run_recovery_id={THE_ID_TO_YOUR_SSL_TRAINING_JOB} +``` + +or for a local run + +```shell +python ML/runner.py --model=CXRImageClassifier --local_weights_path={LOCAL_PATH_TO_YOUR_SSL_CHECKPOINT} +``` diff --git a/docs/build/html/_sources/docs/setting_up_aml.md.txt b/docs/build/html/_sources/docs/setting_up_aml.md.txt new file mode 100644 index 000000000..db1194a9a --- /dev/null +++ b/docs/build/html/_sources/docs/setting_up_aml.md.txt @@ -0,0 +1,231 @@ +# How to setup Azure Machine Learning for InnerEye + +Our preferred way to use AzureML is using the [AzureTRE](https://microsoft.github.io/AzureTRE/) + +In order to be able to train models on Azure Machine Learning (AML) you will need to setup your environment in the +Azure Portal first. In this document we will walk you through this process step-by-step. + +In short, you will need to: + +* Set up an Azure Machine Learning (AzureML) Workspace +* Create a compute cluster to run your experiments. +* Optional: Register your application to create a Service Principal Object. +* Optional: Set up a storage account to store your datasets. You may already have such a storage account, or you may +want to re-use the storage account that is created with the AzureML workspace - in both cases, you can skip this step. +* Update your [settings.yml](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/settings.yml) file and KeyVault with your own credentials. + +Once you're done with these steps, you will be ready for the next steps described in [Creating a dataset](https://github.com/microsoft/InnerEye-createdataset), +[Building models in Azure ML](building_models.md) and +[Sample segmentation and classification tasks](sample_tasks.md). + +**Prerequisite**: an Azure account and a corresponding Azure subscription. See the +[Get started with Azure](https://azure.microsoft.com/en-us/get-started/) page +for more information on how to set up your account and your subscription. Here are more detailed instructions on how to +[manage accounts and subscriptions with Azure](https://docs.microsoft.com/en-us/azure/cost-management-billing/manage/). + +## Automatic Deployment + +Click on the button below to automatically create + +* an AzureML workspace +* an associated storage account that will hold all training results +* and a computer cluster for training. +This replaces steps 1 and 2 below. + +* You will be asked to create a new `Resource Group`, a logical grouping that will hold all the Azure resources that +the script will create. In doing that, you will need to choose a location where all your Azure resources live - here, +pick a location that is compliant with the legal requirements that your own datasets have (for example, your data may +need to be kept inside of the UK) +* Then choose a name for your AzureML workspace. **Use letters and numbers only**, because other resources will be + created using the workspace name as a prefix! + +[![Deploy To Azure](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.svg?sanitize=true)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FMicrosoft%2FInnerEye-DeepLearning%2Fmain%2Fazure-pipelines%2Fazure_deployment_template.json) + +You can invoke the deployment also by going to [Azure](https://ms.portal.azure.com/#create/Microsoft.Template), +selecting "Build your own template", and in the editor upload the +[json template file]([/azure-pipelines/azure_deployment_template.json](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/azure-pipelines/azure_deployment_template.json) included in the repository. + +### Step 1: Create an AzureML workspace + +You can skip this if you have chosen automatic deployment above. + +Assuming you have an Azure account and an Azure subscription, to create an AzureML workspace you will need to: + +1. Connect to the [Azure portal](https://aka.ms/portal) with your account. +2. At the top of the home page, you will see a list of Azure services (alternatively you can also use the search bar). +You will need to select "Machine Learning" and click `+ Create`. You will then have to select your subscription, +and create a new `Resource Group`. Then, give your workspace a name, such as +`MyInnerEye-Workspace`, and choose the correct Region suitable for your location as well as the +desired `Workspace Edition`. Finish by clicking on `Review + Create` and then `Create`. + +You can find more details about how to set up an AzureML workspace in +the Azure documentation [here](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-manage-workspace). + +### Step 2: Create a compute cluster for your experiments + +In order to be able to run experiments you will need to create a compute cluster attached to your AzureML workspace. +You can skip this if you have chosen automatic deployment above. + +We recommend using [low priority](https://docs.microsoft.com/en-us/azure/batch/batch-low-pri-vms) clusters, since +they only cost a fraction of the dedicated VMs. +As a reference: + +* The Prostate, HeadAndNeck, and the Lung model require VMs with 4 GPUs with at least 24GB of memory +per GPU, for example `Standard_ND24s` (4 GPUs, 24GB per GPU). +* It is possible to train all of these models on machines with fewer GPUs, or GPUs with less memory. If using GPUs with +less memory, some model parameters will need to be adjusted. As a starting point, we would suggest reducing the `train_batch_size`, +and if that is not sufficient, reducing the `crop_size`, bearing in mind though that the size of the crops has a large +impact on the model's accuracy. + +You need to ensure that your Azure subscription actually has a quota for accessing GPU machines. To see your quota, +find your newly created AzureML workspace in the [Azure portal](http://portal.azure.com), using the search bar at the +top. Then choose "Usage and Quotas" in the left hand navigation. You should see your actual core usage and your quota, +like "0/100" meaning that you are using 0 nodes out of a quota of 100. If you don't see a quota for both dedicated AND +low priority nodes, click on the "Request Quota" button at the bottom of the page to create a ticket with Azure support. + +Details about creating compute clusters can be found +[here](https://docs.microsoft.com/en-us/azure/machine-learning/how-to-set-up-training-targets#set-up-in-azure-machine-learning-studio). +Note down the name of your compute cluster - this will later go into the `cluster` entry of your settings +file `settings.yml`. + +### Step 3 (Optional): Create a Service Principal Authentication object + +Training runs in AzureML can be submitted either under the name of user who started it, or as a generic identity called +"Service Principal". Using the generic identity is essential if you would like to submit training runs from code, +for example from within an Azure pipeline. But even if you are not planning to submit training runs from code, you +may choose to use a Service Principal because it can make access management easier. + +If you would like the training runs to have the identity of the user who started it, there's nothing special to do - +when you first try to submit a job, you will be prompted to authenticate in the browser. + +If you would like to use Service Principal, you will need to create it in Azure first, and then store its password +in a file inside your repository. This +will allow you to access all resources linked to your newly created Azure ML workspace with a single secret key after you +have finished the setup. You can find more information about application registrations and service principal objects +[here](https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals). + +To create the Service Principal: + + 1. Navigate back to [aka.ms/portal](https://aka.ms/portal) + 1. Navigate to `App registrations` (use the top search bar to find it). + 1. Click on `+ New registration` on the top left of the page. + 1. Choose a name for your application e.g. `MyInnerEye-ServicePrincipal` and click `Register`. + 1. Once it is created you will see your application in the list appearing under `App registrations`. This step might take + a few minutes. Click on the resource to access its properties. In particular, you will need the application ID. + You can find this ID in the `Overview` tab (accessible from the list on the left of the page). + Note it down for later - this will go into the `application_id` entry of your settings +file `settings.yml`. + 1. You need to create an application secret to access the resources managed by this service principal. + On the pane on the left find `Certificates & Secrets`. Click on `+ New client secret` (bottom of the page), note down your token. + Warning: this token will only appear once at the creation of the token, you will not be able to re-display it again later. + 1. Save your application secret in your local machine: + 1. You can either set the environment variable `APPLICATION_KEY` to the application secret you just generated. + 1. Or you can create a file called `InnerEyeTestVariables.txt` in the root directory of your git repository. + That file should contain a single line of the form `APPLICATION_KEY=TheApplicationSecretYouJustCreated` + 1. You will need to share this application secret with your colleagues if they also want to use Service Principal + authentication. They will also either need to set the environment variable, or create the text file with the secret. + +Now that your service principal is created, you need to give permission for it to access and manage your AzureML workspace. +To do so: + +1. Go to your AzureML workspace. To find it you can type the name of your workspace in the search bar above. +1. On the `Overview` page, there is a link to the Resource Group that contains the workspace. Click on that. +1. When on the Resource Group, navigate to `Access control`. Then click on `+ Add` > `Add role assignment`. A pane will appear on the + the right. Select `Role > Contributor`. In the `Select` field type the name +of your Service Principal and select it. Finish by clicking `Save` at the bottom of the pane. + +Your Service Principal is now all set! + +### Step 4: Create a storage account for your datasets + +In order to train your model in the cloud, you will need to upload your datasets to Azure. For this, you will have two options: + +* Store your datasets in the storage account linked to your AzureML workspace (see Step 1 above). +* Create a new storage account whom you will only use for dataset storage purposes. + +If you want to create a new storage account: + +0. Go to [aka.ms/portal](https://aka.ms/portal) +1. Type `storage accounts` in the top search bar and open the corresponding page. +2. On the top of the page click on `+ Add`. +3. Select your subscription and the resource group that you created earlier. +4. Specify a name for your storage account, and a location suitable for your data. +5. Click create. +6. Once your resource is created you can access it by typing its name in the top search bar. + +Once your datasets storage account is ready, find it in the Azure portal, and choose "Containers" in the left hand +navigation. Create a new container called "datasets". Inside of this container, each dataset will later occupy one +folder. + +### Step 5: Create a datastore + +You will now need to create a datastore in AzureML. + +* For that, you need to know the account key for the storage account +that holds your datasets - this can be the name of the storage account created in Step 4, or the storage account that came with the +AzureML workspace in Step 1. +* Find the storage account in the Azure. +* In the left hand pane, choose "Access keys", and copy one of the keys to the clipboard. +* Now go to your AzureML workspace and launch Azure Machine Learning Studio (blue button in the main pane marked "Launch Studio") +* In the left hand navigation pane of Azure Machine Learning Studio, choose "Datastores".- Click `+ New datastore`. +* Create a datastore called `innereyedatasets`. +* In the fields for storage account, type in your dataset storage account +name (newly created or the AzureML one). +* In blob containers, choose "datasets" from the dropdown. If the dropdown is empty, go back to Step 4 and +create a container called "datasets". +* Choose "Authentication Type: Account Key" and paste the storage account key from the clipboard into the +"Account Key" field. +* Done! + +### Step 6: Update the variables in `settings.yml` + +The [settings.yml](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/settings.yml) file is used to store your Azure setup. In order to be able to +train your model you will need to update this file using the settings for your Azure subscription. + +1. You will first need to retrieve your `tenant_id`. You can find your tenant id by navigating to +`Azure Active Directory > Properties > Tenant ID` (use the search bar above to access the `Azure Active Directory` +resource. Copy and paste the GUID to the `tenant_id` field of the `.yml` file. More information about Azure tenants can be found +[here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-create-new-tenant). +1. You then need to retrieve your subscription id. In the search bar look for `Subscriptions`. Then in the subscriptions list, +look for the subscription you are using for your workspace. Copy the value of the `Subscription ID` in the corresponding +field of [settings.yml](https://github.com/microsoft/InnerEye-DeepLearning/tree/main/InnerEye/settings.yml). +1. Copy the application ID of your Service Principal that you retrieved earlier (cf. Step 3) to the `application_id` field. +If you did not set up a Service Principal, fill that with an empty string or leave out altogether. +1. Update the `resource_group:` field with your resource group name (created in Step 1). +1. Update the `workspace_name:` field with the name of the AzureML workspace created in Step 1. +1. Update the `cluster:` field with the name of your own compute cluster (Step 2). If you chose automatic +deployment, this cluster will be called "NC24-LowPrio" + +Leave all other fields as they are for now. + +Summarizing, here is how the file should look like: + +```yaml +variables: + tenant_id: '' + subscription_id: '' + resource_group: '' + docker_shm_size: '440g' + workspace_name: '' + cluster: '' + model_configs_namespace: '' + extra_code_directory: '' +``` + +## Done + +You should be all set now. + +You can verify that your AzureML setup works by running in a shell: + +```shell +python InnerEye/ML/runner.py --model=HelloContainer --azureml +``` + +This will start a simple model training job in AzureML. At the end of the submission process, it will print out "Run URL: ...". Paste that +URL into a browser, and it will take you to the AzureML portal where you can monitor that job. + +You can now go to the next step, [creating a dataset](creating_dataset.md), to learn how segmentation +datasets should be structured, and how to get your data ready for use in training. diff --git a/docs/build/html/_sources/docs/testing.md.txt b/docs/build/html/_sources/docs/testing.md.txt new file mode 100644 index 000000000..33043c93e --- /dev/null +++ b/docs/build/html/_sources/docs/testing.md.txt @@ -0,0 +1,21 @@ +# Pytest and testing on CPU and GPU machines + +All non-trivial proposed changes to the code base should be accompanied by tests. + +Each PullRequest build will run all tests in the repository on CPU machines. One full test run is executed on a Windows +agent, one on a Linux agent. Tests with the pytest mark `gpu` or `azureml` will not be executed in this run. + +In addition, `pytest` will be run as part of the small AzureML job (smoke test) that is part of the PR build. +In that test run, only specific tests will be executed. At present, it will be the tests that are marked +with the pytest mark `gpu`, `cpu_and_gpu` or `azureml`. The AzureML job executes on a GPU VM, hence you can have +tests for GPU-specific capabilities. + +To mark one of your tests as requiring a GPU, prefix the test as follows: + + @pytest.mark.gpu + def test_my_gpu_code() -> None: + ... + +Similarly, use the mark `cpu_and_gpu` for tests that should be run twice, once on the CPU and once on the GPU. For +tests that do not require a GPU, but have longer running times and are better suited to run on the PR build, use the +mark `azureml`. diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt new file mode 100644 index 000000000..99d4b1d26 --- /dev/null +++ b/docs/build/html/_sources/index.rst.txt @@ -0,0 +1,50 @@ +.. InnerEye documentation master file, created by + sphinx-quickstart on Sun Jun 28 18:04:34 2020. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +InnerEye-DeepLearning Documentation +=================================== + +.. toctree:: + :maxdepth: 1 + + docs/innereye_deeplearning.md + docs/WSL.md + docs/environment.md + docs/setting_up_aml.md + docs/creating_dataset.md + docs/building_models.md + docs/sample_tasks.md + docs/debugging_and_monitoring.md + +.. toctree:: + :maxdepth: 1 + :caption: Further reading for contributors + + docs/pull_requests.md + docs/testing.md + docs/contributing.md + + docs/hello_world_model.md + docs/deploy_on_aml.md + docs/bring_your_own_model.md + docs/fastmri.md + docs/innereye_as_submodule.md + docs/model_diagnostics.md + docs/move_model.md + docs/releases.md + docs/self_supervised_models.md + docs/CHANGELOG.md + +.. toctree:: + :caption: API documentation (🚧 Work In Progress 🚧) + + rst/api/index + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` diff --git a/docs/build/html/_sources/rst/api/ML/augmentations.rst.txt b/docs/build/html/_sources/rst/api/ML/augmentations.rst.txt new file mode 100644 index 000000000..3c327aab4 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/augmentations.rst.txt @@ -0,0 +1,8 @@ +Data augmentation +================= + +.. automodule:: InnerEye.ML.augmentations.augmentation_for_segmentation_utils + +.. automodule:: InnerEye.ML.augmentations.image_transforms + +.. automodule:: InnerEye.ML.augmentations.transform_pipeline diff --git a/docs/build/html/_sources/rst/api/ML/configs.rst.txt b/docs/build/html/_sources/rst/api/ML/configs.rst.txt new file mode 100644 index 000000000..8f7fb3cd8 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/configs.rst.txt @@ -0,0 +1,43 @@ +Segmentation Model Configuration +================================ + +.. autoclass:: InnerEye.ML.config.SegmentationModelBase + + .. autoattribute:: activation_map_layers + .. autoattribute:: architecture + .. autoattribute:: loss_type + .. autoattribute:: mixture_loss_components + .. autoattribute:: loss_class_weight_power + .. autoattribute:: focal_loss_gamma + .. autoattribute:: dataset_expected_spacing_xyz + .. autoattribute:: feature_channels + .. autoattribute:: kernel_size + .. autoattribute:: crop_size + .. autoattribute:: image_channels + .. autoattribute:: ground_truth_ids + .. autoattribute:: mask_id + .. autoattribute:: norm_method + .. autoattribute:: window + .. autoattribute:: level + .. autoattribute:: output_range + .. autoattribute:: debug_mode + .. autoattribute:: tail + .. autoattribute:: sharpen + .. autoattribute:: trim_percentiles + .. autoattribute:: padding_mode + .. autoattribute:: inference_batch_size + .. autoattribute:: test_crop_size + .. autoattribute:: class_weights + .. autoattribute:: ensemble_aggregation_type + .. autoattribute:: posterior_smoothing_mm + .. autoattribute:: store_dataset_sample + .. autoattribute:: comparison_blob_storage_paths + .. autoattribute:: slice_exclusion_rules + .. autoattribute:: summed_probability_rules + .. autoattribute:: disable_extra_postprocessing + .. autoattribute:: ground_truth_ids_display_names + .. autoattribute:: col_type_converters + .. autoattribute:: is_plotting_enabled + +.. automodule:: InnerEye.ML.config + :exclude-members: SegmentationModelBase diff --git a/docs/build/html/_sources/rst/api/ML/index.rst.txt b/docs/build/html/_sources/rst/api/ML/index.rst.txt new file mode 100644 index 000000000..4d8bfe304 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/index.rst.txt @@ -0,0 +1,10 @@ +Machine learning +================ + +.. toctree:: + + configs + runner + augmentations + photometric_normalization + pipelines diff --git a/docs/build/html/_sources/rst/api/ML/photometric_normalization.rst.txt b/docs/build/html/_sources/rst/api/ML/photometric_normalization.rst.txt new file mode 100644 index 000000000..d8ed901a4 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/photometric_normalization.rst.txt @@ -0,0 +1,4 @@ +Photometric normalization +========================= + +.. automodule:: InnerEye.ML.photometric_normalization diff --git a/docs/build/html/_sources/rst/api/ML/pipelines.rst.txt b/docs/build/html/_sources/rst/api/ML/pipelines.rst.txt new file mode 100644 index 000000000..509d2c748 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/pipelines.rst.txt @@ -0,0 +1,8 @@ +Pipelines +========= + +.. automodule:: InnerEye.ML.pipelines.inference + +.. automodule:: InnerEye.ML.pipelines.ensemble + +.. automodule:: InnerEye.ML.pipelines.scalar_inference diff --git a/docs/build/html/_sources/rst/api/ML/runner.rst.txt b/docs/build/html/_sources/rst/api/ML/runner.rst.txt new file mode 100644 index 000000000..46e0793a4 --- /dev/null +++ b/docs/build/html/_sources/rst/api/ML/runner.rst.txt @@ -0,0 +1,4 @@ +Runner +====== + +.. automodule:: InnerEye.ML.runner diff --git a/docs/build/html/_sources/rst/api/index.rst.txt b/docs/build/html/_sources/rst/api/index.rst.txt new file mode 100644 index 000000000..341507bba --- /dev/null +++ b/docs/build/html/_sources/rst/api/index.rst.txt @@ -0,0 +1,3 @@ +.. toctree:: + + ML/index diff --git a/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js b/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js new file mode 100644 index 000000000..8549469dc --- /dev/null +++ b/docs/build/html/_static/_sphinx_javascript_frameworks_compat.js @@ -0,0 +1,134 @@ +/* + * _sphinx_javascript_frameworks_compat.js + * ~~~~~~~~~~ + * + * Compatability shim for jQuery and underscores.js. + * + * WILL BE REMOVED IN Sphinx 6.0 + * xref RemovedInSphinx60Warning + * + */ + +/** + * select a different prefix for underscore + */ +$u = _.noConflict(); + + +/** + * small helper function to urldecode strings + * + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL + */ +jQuery.urldecode = function(x) { + if (!x) { + return x + } + return decodeURIComponent(x.replace(/\+/g, ' ')); +}; + +/** + * small helper function to urlencode strings + */ +jQuery.urlencode = encodeURIComponent; + +/** + * This function returns the parsed url parameters of the + * current request. Multiple values per key are supported, + * it will always return arrays of strings for the value parts. + */ +jQuery.getQueryParameters = function(s) { + if (typeof s === 'undefined') + s = document.location.search; + var parts = s.substr(s.indexOf('?') + 1).split('&'); + var result = {}; + for (var i = 0; i < parts.length; i++) { + var tmp = parts[i].split('=', 2); + var key = jQuery.urldecode(tmp[0]); + var value = jQuery.urldecode(tmp[1]); + if (key in result) + result[key].push(value); + else + result[key] = [value]; + } + return result; +}; + +/** + * highlight a given string on a jquery object by wrapping it in + * span elements with the given class name. + */ +jQuery.fn.highlightText = function(text, className) { + function highlight(node, addItems) { + if (node.nodeType === 3) { + var val = node.nodeValue; + var pos = val.toLowerCase().indexOf(text); + if (pos >= 0 && + !jQuery(node.parentNode).hasClass(className) && + !jQuery(node.parentNode).hasClass("nohighlight")) { + var span; + var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.className = className; + } + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + node.parentNode.insertBefore(span, node.parentNode.insertBefore( + document.createTextNode(val.substr(pos + text.length)), + node.nextSibling)); + node.nodeValue = val.substr(0, pos); + if (isInSVG) { + var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + var bbox = node.parentElement.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute('class', className); + addItems.push({ + "parent": node.parentNode, + "target": rect}); + } + } + } + else if (!jQuery(node).is("button, select, textarea")) { + jQuery.each(node.childNodes, function() { + highlight(this, addItems); + }); + } + } + var addItems = []; + var result = this.each(function() { + highlight(this, addItems); + }); + for (var i = 0; i < addItems.length; ++i) { + jQuery(addItems[i].parent).before(addItems[i].target); + } + return result; +}; + +/* + * backward compatibility for jQuery.browser + * This will be supported until firefox bug is fixed. + */ +if (!jQuery.browser) { + jQuery.uaMatch = function(ua) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; + }; + jQuery.browser = {}; + jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; +} diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css new file mode 100644 index 000000000..088967717 --- /dev/null +++ b/docs/build/html/_static/basic.css @@ -0,0 +1,930 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: 360px; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} +nav.contents, +aside.topic, + +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ +nav.contents, +aside.topic, + +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, + +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, + +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +/* Docutils 0.17 and older (footnotes & citations) */ +dl.footnote > dt, +dl.citation > dt { + float: left; + margin-right: 0.5em; +} + +dl.footnote > dd, +dl.citation > dd { + margin-bottom: 0em; +} + +dl.footnote > dd:after, +dl.citation > dd:after { + content: ""; + clear: both; +} + +/* Docutils 0.18+ (footnotes & citations) */ +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +/* Footnotes & citations ends */ + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dt:after { + content: ":"; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/docs/build/html/_static/css/badge_only.css b/docs/build/html/_static/css/badge_only.css new file mode 100644 index 000000000..e380325bc --- /dev/null +++ b/docs/build/html/_static/css/badge_only.css @@ -0,0 +1 @@ +.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..6cb60000181dbd348963953ac8ac54afb46c63d5 GIT binary patch literal 87624 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

!pma|lSQ?8FBe{DRl|@FzhU7Cb>&@ataZS{g zrCQo@Lushkm71KyL3$%QD?KeSADp!x{f z=8g-xggQyFIyp&U(+DO4!2ygCg$vPu1pqEc^*Qa)IPstXB!i@fDLx<-```)5UsmT$Yl%a2onC zAFmUqUVZ7M=U;sB~=#ZhJ zS2lbGii8+5IZ#kxQUi*iaRi9X

#R4x5a04mzf2YJ>#U<-Nc81}`=EFMdUjIP>d| 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

b(7>T&1{%W+D%3_gwxcBR7_myM-&X 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 DnuPx& literal 0 HcmV?d00001 diff --git a/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..f815f63f99da80ad2be69e4021023ec2981eaea0 GIT binary patch literal 86288 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 z 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

msZ%O|+*Z+LS;;x4v z-E=0=tRk)h`}Z=E>@HIEZmkeqK^UoplpHv>w4?Sb4=MCG!m~AUHBlz%rw=o=6@lRAWeo_@yy{|eK z)|Go3-$Uan8P3&2gWLE4=G-dO6YsAdJ-hVoG0kWNfvig5Pd$p0?C&>!?C*P?|K!Ev zhp8Wb6#N(@%=R909DiL(N?%HATWWcBA2N7$a3U@Eg#By*gZ8yd>nnvcWbe$NE4H^z zAPwm!TYe+%$C|JiJzsYjiq(pDYqo{r48Vbqily?>{V5agjWGWym1tp&T$|>5W3Q$R zuH>JKOsYr;Ys3d$+-yso88hg(@|9}3itG%}?|XjchE6m5a^P+Q=(s6YPfjJo<}k+?T-KzUBX z8#t7;R$kz>QN(ui8Rc)Rd^oNyMd7{XgH6t&KO-dMrSP^MYR?jPF;(8Qy0A?13)>Vc zFQA@KAGEJ1xKUk@RrAHl3$n0QQ(*WdEpnqsHr|iUP}++9+)m4`?juNdPs9z7X;9S- z0-kX<00%(8%Hp*Rpm>9IoB_a6Yh(i8fKL3zTrWJoimq-WdKkinwNj|dh0pI&zIS5z zKFjZN|2MS$cmt@%#H+V?5y*yHfUFx}23A*0zX_CU01knyKm5m3e$gtXXP7b3!CeC~ zqk7^dzc|J8ZNn3oyQd+)SQOKv&Xic7v;q9a#JQARHL}(UC0$LmnAQt@e(`o2`R0eA za0kR1jF@R1jsv9J{vXg0gxiIYH&}-oRJDV2O|^K-i<8Cy3LC%^w-KKPYlwjm43y@e z)n8M*GzHk-{0kW)G6Qf`JY|W8bie1nyBg^>lI1qCFT@IGwksB&0uEFID@)gGFX&LU z^@mb=yJER1V4UyqIbO|3&K&;IOmibcKvQdSAVmN=fDJwv5aK8N+gp=SiFZv-UEaA2pfvcip<^wKX z(iU@|hR|~XU@$|Gxuekwx@MOSQjE0&`@?~e<7?$wt0oM`!&|+X{ zAXtv$jB~;lwLR%CaXK=`I^-KrntO&LG~`bVk=S*Q5F82&?9WZcVUC@pgOK@(BApI) z9j*Gc0-9_XvH95hI-nvl?6yprTGQ_dq{LH+xs8R(gZTzWvP(UsscN;3MQhJ1l1{ z3rWbuUsOGU82fnxX#}?01@z(?z|~vUXXQn_Ix+l5<3dYM#*#*FGDGHzPkt(s_PIyf zDbb<{0Xozk9Uxcz+4ov@R=Y!6^I|STV{BJZnkF_2ZSeVS`PS#pZD7H%AvBMqL+n~* z9#tP6xQ)*)x;dWi?qY)XG#29d&Nw%slo5jP$!>=_$k;w#ms5Y{^KK#OF6I?}syX>bla8PH02txEE3 zi9Mi_jh@7|teRVmZ};p9SZRqdDs=+-lAQS2S(Mk3m4Nv1@myUPQj_KPAG2tP`BO9~ zgq6j+_etGOeHqtILg9{#4ARn`1v_~kC5jsd3!4pgCdxebmRmdG-Cg}^9J6wFRO6@G zMn8gsm6f-gPEbfpw60{`+-gl3pT6c{U0IzqW@i@YfcSwiY2MOgA=7eAluX^p8L2&@9Oy!|hG;yc1<&fa>N>{g z`UYriFOGP7Rt10kJTx@)EwQd26B}F4SVo;>iL|Zj&$;rwJZE8sbs&THlY^jz^_0o* z;}!$JpqxF}i*L_(ggL+lcureax^~i?0i+3_D5l0e-r0Eq=rypAUC07HTDT_UtqzFn zEqz%x+Wj!%C=ICLs0$GHsNh04>m=(fI&bog!Ob({8j1~F>P7~Z1GBlN<$pB;*eGq%W3>WAkot0S-&RN3jP?xqnu z++;0(4rj%~`*C6;Fk*b9ftOUzv{Yr7Q4AEkpc8wV^iwgLuC2j>`)2C?&_XKHg7 z)y+;eB+o@5Fd~vNFT>ayWYv%S$%W;Wo5NEgvgau?BC=m=vhp#2CmWMIMaO;2oMXqJa4r(1K>=3G@9)o*LzhZEruq$eiz)DWMo>zZ@ zRxB~_?f1{UPD2}PO~q}GAa%6R1tUIPy(AGnHA@YA?q&Nh!t9chi{FnZkxVmO^s-EQ z?2Z{@c&_8Un3i%;k}d=XcKH`mE~VCwNKU1eBDjK(Oq-P`lT6pWjMsur)B_}1dY;8L z`45LbXN2wxTuIAc!rpcxcM0_a6rAYzx~PzBpms(5;9}KC8%JIcq2A#~5o>$r(=8)@ zSk;o|vO^m5gQeGlK3|>?@AgrKR{jMpJ!`~ z66a~<4!afO#nVa7BYTB@mn-cTYFj}3ed^+0^2Q90>s%4hj!x0*)?dsjdfh6zR25NQ z6fj$&L!+3r_iksEQ?FSwy@E=bNYAck6nPtaci+*dwe6{RYts|at*1^-rJjEe@1eSG zKnN!{Yj(yP0=fJW0vctfzL}Db_D#3PIrXj5!9;FDKW10ayA#vk7Q9GQ-#vyc|4a;G zz`(4zSud9b9)hO88UbE3$^OGl$=hJr`7{w&rgIsrld`# zIC#?e75&(dF92fW?@kXK%?}5i*e@P|F)mKN+D5)t?1}V>4T^ydoxF~vK(|sLL_PD% zPk%acA|G)r|LjKmxB>UQ!Ie+n{3P9!$m2OiMUW7V$ysA zd>S(oGF*r}e|vQPR^4!n)1YOF4-=C$K`SiF0@puu*K6;hpWtca+mp7v;U?#{S5b~B zs&p5f60)tf8J_`}xZ8xwJW6nQFN`u+=yZJeJbG;XnvqL?y3sDNE9zMR9`2czPuIyq z$CQFtq5=TpGU|y*u?_q~gu21(@@iTNsFrK|!IM}i`;}f$oYh$O%f-e!dEDZMkIWXc zTi3bPC7Zfex#2>IP6dbX>7EYlwMAm>EuYBVg;pA_Ncest8&Qa|Mp9dT&#e;ms`cHN zeG}y9do-Z*P4-LU6nfa{#XIJ#FA5XYbS5)pbPbl)*wc&cKve`7MC)oL|fCx`DiWPG{5(ol`*GJ!;q50c->}?FwxK z`j#_8umdB&zK0^ayhxPri8rF?+4-yo@YL9c6h_*$RSX$WK5?}^uU`{%{PjvPMCu;? z;f6<)jQHc-?sP{@K2Cv2cFUcz4yL-`Cm(nA>&El6-0pkwaaJ)b!$3=TmT|!vOuUJv zQUK3Ifb=-nK|>}ibmz{J_bjW&J#5G48#j$762SLNfKM@8R`Q7-a-UABF1q~2**5>u z<$om)iUTFr3oAaWniu8vsL3bh#c(Mw0g}XlJf%hWMxdhh9~I@OfMl}7`No2cq}yFf z*cG_LD%fT84me>uH_LPVdd;9b`*VYSGrl8#Q@>Esn2Q z$9dy8O&p#_mQAUyZ+4%+RTdt|19jyqY#2-J@i7axD_h7GVtST#`g=5L-B1`fX$(eq zA>>JX>znLzBjhS{Tp5FFKAYFq@cE_Ih;my_+WGsmEwy0-K!NA!fw7j*OkO@VDfx?L zU9a%W9q`OO)um~`b09mGE(_AUuD^mZH<|aZl|eE$L65iV!0yh-;xz}nV@>AkC7^Sq z9pl6ME$Jg1p*S*|V~{fsBD0zqbTsBn=*S(2X*v7sb9|J!=Yd>G;JD-FKVsAX=A!bE zD#Xtb6~iydVhD^6=xAAQIc!P0$t=l8$(l`?73CwgN40zuvB69vM-s+JYfHp3SP<~U zFqe@Nz?c1@7mwR5c*xfux~*^qnsDgxYuGrBM)OTLjQT-k=H6~&R^`FW&=KY1Okumpc*_lEx!w;P zgOW&8#6EwjfO)5qpml+inAv%hD~)2kaXKN?4ZcA*#fO?S2kX1G1NaTxM*#Br$De|Y z8vNujd=2n^1{r6By~vhpuUidj?v%+vY!sUAaDwLTb+CdS_SR(io-NflxcBzg`0pK= zIY76Ms;6MJ2pjjlTC*)C{^=pF<%jOo=N6F?hRA+0cj=d71ziI(yR8OYvqA_E_g4K0 z2sZ2TiXwEqOXY3GszbKTE45_9O|?DzEE z(sYrLIyPFm@p919B{oCCcPrY(vOiPec&N@l%W68nD(DVC(mG-(StM4gY$E|06bxTTv` z`>1RwVf5}3<&3>{{l+u?vjv25)6T(-!N#49wPpMBHmxjJFO>Tn%y=mR(?a%kT}u8H z2#Ub}Id;ILmJE0uUNNJR29|)qZ%e2P6v&xZ&zhDeBb83X>Sh`zo zZk5brRy9<*xsPrQOwLRgA3N&oT-0ujX)uD2F#ne19rF!3VH~3tt#Yjt{G+2rFx*2q z`})RQN>!!Wl$dD$p~KfIuKBN3+*oWCw;8AQIt`qBZ0!3NEu1s)!m1hY>n5vZ%MH|_ zo1fb}8E?|m37rffH^)}7w$*mQCfd#0U*~6HtqIg>IJ9V#_GPG9EGRj{Vl z)iFY)dy}D&!bgSh{k@+?j~pU>ZrVoqTxTYjV$~BzKTZj^-9Dg5n~NXtC*TsUs2s*t zW=&k4(-dTPEZ=JZ@p&uNKHzTmwbWy!32jR=+3?RS{X{qs7JI8gxNjx6L{rp|`#CoW zK{cR6<`dCG#KSfKl{~Ic+ATf!x{iR9EpW%Rr1rMHu2Z?X(ZkJO00Qdj`b@S4s_Tm) z-sg7kyG-Q})1==1#Qixtcy zM#ZSGm`QO)5b8y3i8F)Uhtl4S>mVRXBLzDU^@LeeYI@Os!&%`ma!1`0x=-qr zDW54FQ=qbJuF&RIIs&S!NVIY&AU5E`h}TQWEc+hR*$(Y1&>lD?wk4k0Y@DZQqDO#G zO-=g))SYo3wd=x45kZ^rT&;cYKMrg&TL|fB#+!36EqI1{&6PxlS{2o_Lgt?I6zlLh-CyqV-Z=2eE8e}dv;e78|A zozmoy{}gHr*GtE+JN^3kH3!#{ZJ^_W=s$dtF)Zl?_txL^(wd27c}n{e-NT(G zuwm#SElG9p?A(D})EtxTBU)iO1Lj;Zjko0Scf=UOwy^KGOvgFd?FD7=%l@6Kd`KP$ zr7gpZ;J8e^`_AghSOBTq@$LbnB^29G+8~P&LaH95x47rv;W73UyFK=(j@^s8mVIrUHWOP@xG~U0r2mT0iHxt4-|-q> zhxvW;1Lp#*x#U`MK_@DZ951M)s+MF7fjb?R?kH&AQd&z4Z3R0?Y&B<^7#)ZxZ665? zw0>(ssAVRd!?ratl4Wimkcn!_W1BjEtCjgNyIGy^@xt;J8$S3XCv8VSt}Bl2$=iId zecCh7g(&p8|IYD07iFi~6hB zTD|gi_-;t62DX;t;wKeSe#yb?>bCK{zRwy#>o!~h*Wy)!tskida*h*ix1E)XNxveU z=WbcXkV-%8=}F6m-^+-}Hv4j4CbSG)O>?=!v^+1F5ldJ51I;{(ew5K1xqd{iqZp`} z--*p)o=gAB`@Knelni+)I|f_md&Q zOZR(IKM-=B@j3RV#2w;vJElBydV2A;>vP*SqXNgan-klfP{vkZ8y!1uHjb+t(wi?? z%1nKAI3Hyw^1RVrSW!s_$9}wo)0P|q>VIwHa%aN2wAv!K%rAg6q^(81>{~aVve#@u znZnL%<1u5Gb?EFVxaNGl6q9nuTzPIb>fd)7tAi0(m$658m11fSVb9TBB^QY`=gO7m z$7L60CwzpEd^y`!KXo?1(wm8W%3!nSTXPU>4v$(-OYvAi~2U!H)ITCTwrFzixAdEAJ zD#APUX_##FUInT5DXR%fMb$oY)t*ddoOct(OQriWzO@)OUP*YFsqllM%x|ud|MM%{ElU zX)p*>#f2S&GR2vW({V;8%U8@#jW&$D|A|lY<`bN~CpgYom!EL`T#g~Ds=NF|2?Z`p zAqdyXSa-GXn3c_fj2CSekXsei>KFBWSOAkqzmuD%8mrBqDtek!{KgAV0h%XChEDBU z1V@fMi4?a|<#^&+Q9JL%*5<)w9{kiwgHs@pT#NG=SKgDndqoK$1oA)Rk%N)Bv1gvi zp0^k^c}gS9Wji7bF>K1vjZFwSdqOY4;wPYfj4I#92)5ZSHSqAJZ#z?ZC}wU%Xff+`HUv|8$w+>GF7l zh!2q&Cby65;qH%=%DMBNvbz}?L(7P*igc z_(pS8NB7*;`0+k1II1v;K*RKnS1Ka}pp(Z1lwtxf3z?KSM^sGk_{iSsp!{?<`1AXp z(@J)(7c^zk@w*dC$H91Zmt@2u_^8(rpEIwsixeqlc4?V zm)1C%^$=iTP=qcpCka?c#bsR{@f2A2J|d#1ke!N3T~*)$KK5t@5U?cz)Fz%D7UsXP z<|@tqWX<(1pWND7HgDa|oOJdT*nBa)+Y{ndvLSoPch&+rY&xD(tILJgdI&6j;##U= zz|B>9bum%Ru&Bo*xzdLl&7&35JXY=e`D{|uEmnI+Rft;MjQg{;=^F&L4}&*#!xNGp zZ{7M{Tme}51=`;SX8JLQ*7tpRuJ1l^4_;54+*zg-VapuB@}YTPJ4nzQ=7sUC1#N!7NOa!Mh>F3(i2X#5S}EOfm% zK{+uS4!rWt2biEd;_h?@61t7J&PbnBOyY8Sg)xS8=OGGTrZY~IKpsKM7>RI{^b4SH zWXYd@j-o7>(?Agwz+a*mFa9i~T}PB**;sra7@;}xtubP6*C5JB)Ia=b6Sl40I@|K= zb4X-PuJ2lCqLo@I`|lx3XN1Y8$@*ED13-Ca0w@wd$~{t9>=noaJPlwf#tk$8_Ou)U z9=2E(qZtAIw>_W{&w%6a{{jpEwrU;h{~#y>lE8*sp5NOi%1xJ{_Q>=Py_T|KQQd;WbEsZ?CWCnpd@Vds?rB1t&cc2 z>4LO+53TDAdB=(uzZ1cJVktTQ%Hd+K6W1zK#9wC+Q?!_(`#Y%BjVWII0$&oa>`yLV z621p%9p0|b&Wis8_PnYXwR)YtLFCrPNp`2DWD}uuJc;{I~t{<|Jek;TR;=ktYj z%;eNVF=lWEY0MV*B?-~2%Aj}QvU2gVRF1sItZEC0%WHi_pat@@p7%8VP7(G37r%gd zz%!1KmumkE6rXi{e)%uq;J&qZe!kh?gV4_}dAyQicQ1NTS`t>8lq}6imIB-pT-9_q z5?$|}z6BpYRAMHH0gUyI96Gx;=^OBC{S~b#T&H%O$pPtoc8#pJ4~Ja0*BI+6{$5iZ z<6WzlHTb>b-w}iAl?vDYLoft^DAv3Z>kack$wljnYxOz?BE{<#t}`W|^byy}dixmr zgG1s(=U4b#t*+MInUjVE)nn*IeoyQ~sIM}~=1%!Cq0Xm1{J~Ws zkPzQ8{-d_BT`&?C67FE)KVBt-H}{hdo>^=^+JG@?oAcwvtpvLY_CM|;AyT<(G{vVK zK)-UJQOUoekozMdg{Qax*xNM*4c|bZgUTT>5G(SlANFdX?*gET{|nlWz?|*k7KnJA zvKNRTsHY>QcDPaWH3*XFaM&E*bhJ(_9<)P0Pm=T)?kD*QZ}<9*P9Mo{y*_2@05kyr z`d|dCa>%XWtN7Pp{$=ccDRKbNqd-3!0JI7S(;evopd-@8no1aKGW@Uj8EW`FSmgKu z)*F5FGWYVGoYSD z99kerlb`<~nBlX(8d{_X!+yxDj@j)`3Qp}gdS-v=@zoI%_ApZy)QLM?jjNx8Z7kF7 zlfg4ew`=)V8*qhMwyck`cRW#>XBhfG@LVzS_!uLE%W;(hui$C}PQm;=HfiiXb19aQ|82IUbqy6pOLBe$mF5a5yz}sOM4C8Q_CI`FO{7}s!g;X#gV4nDr+LuKPYxOkP#Drg%gXSSO z`_`C#5%%|q<^n*Uj)2t;p8%kSBLx@Ru#&Z8;OTpy5%A*o8+j3EDexQsfa+iP@d6=$ zk(y#`IyOftpkE$P8F*@PaTM4dE}aXHYXBKH=!?pWV!lZHTG-67Hv>T+#BLrklyp2T zl17I?SLeYQfak=r*{TOj5s-&N1(d!|hd8Kw-R4#AR76M@uT&zSCaLa|k(WESWH#M( z55(CT^$xhHe2a4&00+gCzH&pBl)jonP~b}Cg?raIiM`qoSmQuXX&RcQaZvOu0;2jY zHFrfYLOORvJ;HBe`?V#^1!{vpqCrzJu;Vn9eFcs!Z>BTYyo~1lRMAOPn)0*hzrXM#C{0GSAFQ$OB$TbW&nc9R#yIwKeD*O#VNm)^7N33O`YnHh zPJah9TLFKYEB4=Ezo{1U?vuxw`$m9$iJ}uy;E9#BAA=AyGYylFhDk|->GYFwoDXqSFYb_w$A=9E#l8|1)oaiE_?xz+b6_N{Q}>>-Y)!!M!d<+S+Gg)iGBlC z-4l8Wk^7kZ{l?hs6M8nI+^-%EDtp9FA@@IGGr?uUX2y`<6ZqzLA~WFMc|djl$?hoS ztz&zQz38V9)sG@vCn4cyO$->3t>dgy(%Efv(i?|g(_&!TO)jD(3!#ZVxnI@u$ftf< zZ2mj!Y*6e$KKST=|08qW0<>VE@+m~&<97anOwoe7`koFO#)=J^_XY!ev#o~R$_9J| zx__|Wv@Z;sfQHo?p_(!CXB~K*+cePLE)Nk4__sI5>Cm&?A8s5}`E{?hwG44VbUH+e zkrq_2lKFIiPi2II=5GHtk(vsYKR>16lOExqzH7$?;XQqzBId;G`Rn$xj+!E*@E@H1 zmUtcm<4{DmL6t?XSD!Ds6NLH@&$fyW>M`d7d~`bsegn+Y4h$G(dH&8(yMweCX+kAa zG9L;+l|?W&$e<&88lHHHaBj0N&b)6-PjHXlvsasa_8*HDi!&vS>51-@d-j^M{XGpj zo+8}aSTUzjFTp)>&t7$wx2HkYv*z|T^?xR+_nb}jNaS7Q{nWD{;orl#y8rf0s^dq@ z>$73O9&d%kro6pbHBX14MutT9J^t9~Dt7&%MlG)GggqtB?Q)o`A}5v(aBaW80L{fr zwOMpegPf;jg8Q#<-s!uEL2PqLubwF5g>r9mCmvgB9CLMKs!sDpcrUi2H=`pOI6jru z+EBTd&P%^+tf(O>h)q7)f?sB9`soS3$|ol_Cav#)F!A64Ta(HYezgmcG=?y_Xf?Pc zyyb|?>yd11;R+d*R89_pOB{p+tirD{#L6X}m!tj#2#{)rdc{68&m_scEgC%p2}IWS z%wmCKTOYXfOPmp0A|QLjn%ld2U%i>?Sd3lPA)Knk(IXh>t25FG*z^LN1p%XrCy9Y> znK?|VA4E7O(<$wAhhlC|lF2e?ePE4ndo;wSR?-$B1k#qLwDDcY4%ke5(KtT^pQ5tF zWdRncwJgmJk~YiM@;P__w}*R@}SqheJ@t;oRIh2 zmD+!LGFI<^mD;yd*2rdPO!uJbFDdlHiVg3nZX{$h2VC_ZQE#4q?Die~eP%a)%l8Y# zhAm)DDR z&3pRBo_uAJG{2YMo|=C)`Ike&?%2C_mJZa8(A9_|G%cssqVzHeO9z5Ammd_nyz8K= z5v9@1aEcVPck1LFsJ+-mP+LyVN9p}R9BCVWRU;7KUPfj@`$wN#X2N9InwIKuk|{Gh zA4Z7~!qTDO(Uk`_FW(8#*F2!neMeaOOYji?)hT%>eWU;Uw$Y|lu)Wo5tZkY3-jLaK z2j}Z#uu?CD1&f)Q#Av6mjxL6|ikTY3Xea-Hnv0q0bn^Drn$y+rAd<|dE28w0oO24L>bd5AWGc@_ds3cn0uty@kEqPrh`*7k;y+~*iqas#!B=`5`-$g{Ei$? zRJJxXYf?v;xqzuo)W4;l`$%ZU`sgssZkyEi8)Sd6C;Omx^>0x@jMoyZ8O5OO&(s#% zcy>G*a9ru0(S+DwvfLK+?ke~Y>>%jO!P-UVY2tYEN^IG7H_|9YkKC~RmEZ(8^3c$% zI+<>hMv>aG%#zmX8X<42j~L1sJJeeWJJfr$TP(_rPoc^CY?UpJ&V=3B0LiiRv2wsB zo(9Lr{ZZCxnB=hP%lzCGMfstsm>fYSSxfPVftQp9>$k=Kk&yabLgwo2`q5waz$VyS z>|uICZIOO8%rk*?NdO_=D-|#pjfu{L-+4*-Vk9p6Fdii<^KlCKWOhP%XZhZONar@O z^iNthXnB5#X*eySKV$GYtLt=&g(w)WmO`Y~Su^aspXLBizP7C9^UCFn#d?-TU z-8))T@;FnP*e@PF8KExeTfeV`11qc**OzhY-OgsVG2i2cp90Z=zQvH}D~>lIfq^?0 z^=|kb)DNKu{4d?uPCv%94vFG+&5JU|X3t&C2rI%4h`e?Ls=qhh;H9<$S>wvMA+3RS z$q27>BFRVS>oZFmUW__p06Mhx*W%R73s2whDLy5craK3oiqsOiBfh<`NK)JCp+&Qr zw|6MBNUEd#`rNGALxO9`K(o@_3YJg(irSEh?67u7-#AP#CK?5 zu+}iS+HjJwJw0wFL~_O_wJfopvE42X3wMPODELw(opSLU0<_nP%RXzF6oFgSjDnT0 zmc8gA-Mj3QGCx%UE$=;aLaogdMKx!}`_0L31Fzg$!AoP?K z#%&UsdE`*=jg}rc6r-osII2g^H$V7GY{D|oQ`YNlll7U^_63>gWmFP&?Me*gBf@P<>BSLmw2G-7&^rx2e)7edif3!^tdKO=1MK1iTHUG)@y=z!; z@W+kRAgTB=OY$Sd)~qMvg4ewNxtJ2f6kldW?xxrp^JM%^rm$iG@vv3f%Spb>YK7v> zPu2||CizO;6pCj)S=GFpbjc=<+)R5j5F2l&!?tUH-}@ajhr7f z43pV$pXCfgRzC2HZ$>J8N7HkL^H)A_iZh|b?IM(Z-TJ50``xhN$_E;8CMoy%Or_b? zg>L||B4*!j$ITjVrl{FzAK%{MCC!Pu(mLMG`bI>S#NA7Ad`WwPS}gSm-)AE#!-@fg zQ9JC;uj` zcMyxiruXcTD`J^lTHfLKhvivc#gcNc?8LI_QFRaESar0)uiS6GjgRW4VJm+G#Zx22(R@oFv4@hqe zP7f??bPF7dLNB@$?|s7MpZTO9vy?~J3GEC$N%3MV2xYo3?+JHy}a9Ymufc=FBTCnXrk^4Tp1McF1OnlA3 zwJ%UZw z>gext)f=}Vi`GPSE@Hcmvt*{GGO;6jL(d##ZZrpa;FFp`YEB+&TQotQK!oG%2_@Ja z$dcHhwA38XAlU)v+J|esWsKZAy5n6jzVZ7euU&IMt zWa4}nxU6e=sk9g(<&%rOw|^9cwiwhhd>ig=^15c9$S>A%m+}0S%)DpgtAE;KP5wfT zP&0>$Gux8ht~_1d&6xt?%HZ!+kwuguC!|?)%{D87tTZlOkBh>6tsa zT1SW)(oD1jH>^Vp`pb&x+=SYW1Z+7d+w36k2S@}crJ zaquBNn_EX>AGg?+YsR3!U0=q4hfcJ9ubAiMkpeO8s-pB=bJ~ogT@i(5vY*RYPSr(~ z9x-v`#89Yqg%=_oeRg756D4!a2s^E-#6RT;kdAyi$g=Xkp^$Lc#75-ortcp{WJH}L z4PZN$V&T^$!(nhvNvZQf%Egt+|G}V_GNRt{%h&GZ;&2Z|{HXRgmzeH(Il(5#l4+&g zMmw6X5!(SUM=Z)N2YW;k!#`BsMaB1)6n#4<=zf9#WehNVXyw$=>?JM3&c$R7IkFHN z>&qHJxjmK|CsAD4s*8d^AGyTA!aX{GG*O zLqv8Sr(aS&QYURsz?OoVw*m54f*WkM=vvYkl88s=DZsi+E7sL5CU?Vpf$>*9AmAJm zw;z>ZxgdEV9s8qq(_+j95WbQ!yH44!Cpii1O_z5S`0B|*(aBx1x(lBEn@(|t50z6aXYcOE+}##mGU#et zPjP432bs;f_BF(Kj@{X&Ut)Sbd;d4+H0Z01q;nTQ@L5cEL^Y&1(FkstUWj6y{Q~we zPA*aDX48y_C0dcLzbUyVILXst;rpCCJNpIgvz+#$(k=g9=7?D9z3fBU2h4=tbT!FN z--F0t?f2PBB4X}t-Twa({tGAZUmSsboKs|!-t%b|1T|evcdcwE?_I1!7^P=CeHlSb zThm;N)5&|s{`G%V>W$K~n7)fhqO0kvHSgpVv`=;Vw-S@_^rcSUP$!tlv^(uF(?6&? zE5iQy^!-kz{}HJE?yCGgfPE^V`)oFftx2|J@fNe58<_X8BD-GCQ1n-@b7}}fwQHMO zaj5yq9Cw*F=I>MAcn<$B!WesfZFj3IHD85eTyP|h{&P4BA&m}JLVxAQm5wrm$Iybv zvkMW2ddm`C#nYG+JXW!z`z;hx_$}%ie}Z?<>OD%r8)!Wck0{(<%#%EueiuG<&uPji z4GHt|Fz-->t8{2&%%fJ71`kk`I}Uc!gP&xRwk%g~CEZASffy6ELR9e>7_Ub27(8E{ zf5bpqad1=NFQNS4mq!dV95dwhzjPI|qs6D2$7SCqd{lb{xU83aQMm96Xgs$ID{MAPITTKt&m#G*854RCh zx8f3-1O}J2JQz2=Wm|S#*!I)XI&aV+b*mSlNmFpy>;r9ZztQj#Scia{H#jk=^{IkM zUS8QJHEk=-k`I)cx&++C%!Hvp<}L~(Q&#J+_MDjqZcGyOqn3c%+ShRibBym(@`MH8 zsFvL%_?secSPqUV%Hi`yAa(m&9Dx`2iFB|3&**L%&L3?O^L`?d`q5CpZQbj#ggGzn zQ+~<*!_A2QuINXY0}EKGxp~SP_Sf_rL)bs-aQ{H>I-2?s6ldtqv|X3bv=pa&G(g+t zeo58MQQhk{ykS+;7jkz1ZN<$Hp0Hd0_w*g6)dKe7ew3?ca^f%MY_=cBg>|nnlm zw#spv|8Vp- zsbE~D|}u|Y&`$TXkh z9PyX=zeW>&Ey}&jAMfn1;JDIX=8WT>M*+^yWj`e8{Q$-j37zPM27T;KZUuE4!i(dY z+FmZ$C>=X_y&8Vl>K197C;M|aBivbfIc!j;K}1f8K)xjCP2w-mkEM%jk#C=q5h+gV zN*j~C)V|6@-Lg*ILVqDP+LKZ81mwt;`NZq>8r9&dQQz-jd8~7lGxDZ6*?XRV1lgY} zzKSbl_~JYPpTZAcZBTUlaN_@6$&NVrXA$mN!sP@5p0?~<)-0O|2v72J6~I% zBZ5;?vD_59fM-dHX~#d2oQSzWCLKa0wINhvW%Kl!`fY!V;G6;WMyfgDN{Q&dfd75e z|0;JJO`bB-*HnZh+QuE1xv90wnEH;g+-{?Ea(!%uVLKL*7z(+67aYimjdGeyM` zuC4{3tM{h91(%#V^#@XV>0HFViYMY`kbxAi;L>{3S9&E% z$Fz^!EQz+VJ%z1v!?MrsAE5R=PGCPO)v{00EQwBVFvYX8PtYRkt7O=@Vcuu>RS=9y zHR&TVv!E4hOQGxRyJHa|@HZukdChghP98yvRDs?o9gDuZ*n%tjQq2D>eT(Ib7dAXh zPw6POXw(&`|M{|^VQWh9#qk_QO)yNiH;V|)L0>HL2ZJk@-t5Y=oTd$z%d?8#)bB|! z!$>@5QwKfo=};7NQ*ifdEb!e>)UoK1R6n|Fp32#)s5858T;k1P58pEHnGMJO-L9g} zV1ju*kDxifx<$&}wgkHTzB}e2oPvs}COt$K(*826!=lIV!X=e6+qj40s~2|jd#}NS zCW;yTi-ML??+zw-=JyGjXL0T;rds|@2^;iX^`zhBHPM^Ur1&fR?GpZUfPZn!UnG>W z{cG%5GR)uj9xj5a==*xgzMRmnasJ;+fBS&{vE#Q>`sYwF1A1>Uo!d7|Z=G*rw&4B% z89tL9HpRLKPA!2&u6+HDgyIxuDs_-)54n0$N<|judg@<7GN*TH#c$B}-DQAbu$y4; zOypEh)G_V()Xv-MU(Ab_;{1vePuQyWo_c=j-Tnltd__U?G|pkgREwU!E!pQYdJOXR zq7^3w6TSjP4G)b-oq1h%f^0qyq<}XPDbbog-VN1sFe^?whvexNO=uNE%=G3ZO z06v?n2xqJ0nP`7Av5Ud+48sn0PqK?jHSN1+mQPn{6%Rt~^Y)t=h&3l+-zd@|(_b!H zS8rJKUaHpbPinH&G3`xyW^ZNKpJY|7SZSWdJ8YY3(R)uXf8y>J$>CGt6|dSc7~l@zOJx3 zZ+cNuzecYG&|Gk&BGr0AvC8(J$md3)Q}pk2)9B+G$~uG%zpLdNo(~SE?gd#gnV6slv-$m_((~ zO8_*-8L0@c*12C*^7fnj$6e@7L{57&hx87TGIL~z;#38mRp-MxKv4Nnk5F4d$YWuH ze50D8VPs{LMI*0`pvVib0zM(x&5of~IlR&I$p^C3979sXaZX2{O=@3(UcgQs(Ri0w z#7ZC0ip-Ntn5lckmPd)?B{zu+&L)neUO80iP}n-O812>`)%PHsEw~~|Yu`-FlXzIY z{k%!^84-C?yD{y9!#abEN5N5%BCAayVU@(mVY?v;6Na5f^t(+aA3U1xXz~b6--HM& zQ8q=nUxviR-4lGX0*MO?rgMlix;snND>z8zA~=Xs8hT<0OFid+#Sb(xTGFu$ROz$u zmFsiGR78=7V%iuzX`M>C7_D5LBwQ9uV%EI+;wGim9eS*n3IoLU-Y>tvbNPUfNy+`e zh4PM1C<6f^q_y^)HPL@1kyaU36F=^W{{8{u5Y<=R`M_T7ODdvhU@|6Tgd z0Mpqp!y+}iIXe8U%$u7bAKV*)hwX2NFhsyZOl#lKek)tQ_7;tOcQAu9Jmin`b`S#r zJcJSJp!7meiTzdlwL=d}y_@KP>c^*8O~&zjQvW1fySL)^qi~tVUY=Jr*XDFD*Czb{V%t%kHK%T_y6VV#NnhcIG4j7hzefGt0sLFq z;K=(&J7@Myp1?%?7Tb4W{!O~$P@hB#VhgbehwGZw{+@OO+c?2>^=qkVK>rUYTae8) zxbB16r0bynoHEu@K=rXie^q1Hqqr(}`&2IYCKAbZO>xrxJW_^k6nK$m30Yc9}d2zo-5B zj~79`^gKnrI&SIw@P^Q$>wn*sFw2$D|;&*3DLaNzB+O<+(h zeHUkjfx9)W%9YPX9?(9Kb}fj%j#v-PHy#!TgdhY#@#+)su5-F~P2L8W?CIa&l1uPm zaOpKg9r5y^=)XOyN^^$cJHzx`cX;eF1Z!Ew{r%H6~Tl8nBG;uzXp$Wb< zOjb={Yj?&FO#ic?-qRt7Q*_Zg>J7~Tx736w8q4H*TmLo3cw!`D(S011;4?_j>kaj; z_#o^_$5cMkpP}^ivLVKz3(lz|34sDbU5bN~#NOEF3}}vedMBP4ci*uz#6Ud$9-HZhIYyV|~vKx8x{AJt2xNv#$4m1k16hXc$-H|MwgQPqMcWSL~kMJxB7dElvJC}#rF6+$xNBl+#(`mjuVf9Qbb?y=lT@);GGCouHep*fA~lcrQzq_m zmlUB8>1_y=4fOnrLB-<-<7YZ!PZH*_r1@5uIOjLiHoivK)F5AHzv6qK8grZ!haZg# zMp2{)S(Cp-P4M9r&%7Ci9G`bUs=yR&E^>LLe(O7}+RWgeOx=gsmoj=QbV!EAj-L^q7Q|UQ`knN4 z8uif(){`|v=W1Q0`BsVEb2|7>WcQp7)p6MP!yWh5vERVzyzOT2WDL%$VU)^@!A6M#?4M3f7 zHcvvHld^Cj505Zw((T~-bxfbnUgqf)UCBU0_iHaClm=ET0RuyFIG(||^eIOO+^Z06 zb{ja$&OPr^8AD7EaMB`5Zbgti$1UA`7cT-&YK>rj9~>TEWQj9BI{|}K?f3WEn)dM8 zkGj}|*gY36XYR+B35BvVtmpp4=6b-8F9+}OL^~+z2zokzb+3Cm-`-L$!Jz4(O8F(N z8rMNu`D)f7TKQ8lh&}6$e5X&S)NMFqSb=BOCF6#vTqSZ=nn}>{zS&g2csTt^LoO2= zMLyUcwYAxAdv3_#QjyH9CY?&d?lt%n*Wq-^^Z1IdL#E=bjK;S-+V;uV)z6ZrRiw@f zsN9yYsWpGM-;Mv>^Vy{%YLE;#M$K&e`{Ms(t<}$+&I=5wY$179>z|tqq3Kg+f`8$% zvpRd~OlY3N#^+^2q(9t9fhNOuV3fo>1IIe6|1Gwh`TQIA-^c!!Zbz`+ zX(myVX+SZ~-w=i#_b*6X3orNw z{e;;Ow0~R17$K^2CGUi!@7elF(=9vw^YDYr2vt3zLjR>SQ?o*RbrEWtK>GBNr){Nn zWBBIHR~vKyeD9=3+N=Cfsxd(f8+piN#n{yd5EVi9?+aA8elITlK8;b~`h{~! z+E}IU5H5iyU#G;AbI~nhN9mxNdYZ3mg}^wi@`{d6ATBL^P-bk4eD@s9{tmX`@vWBU zx8L^rL6xYjYA47;FzoYg+1C3Ww)h@u8|BBrGPzctNtmrTFyNA{HCgF#`5xKF6L}k6 zr+da+iOnB34!CyoT|~`O_wOz^oFyAxyr1X($Ts`)BsRTLMpn`(w^;>$p68<|a^!f- zkXgd}B$d1}ilYxnT>ab974=aT$Nx)Y4tD8xh1K>`S#?l_FxSH`_D3v7Ve5Z8@5Mat zRe6VQh5SunjRhMauM@|HEE!^9+G51}V(m@cJGyVddN7)A;yR3MI1qgGY#_^_wu@HH z`o1n24!LtledT(^XWoK#{0%&(nsYeK6R$h9M*as{#Yjvlarl^QUx^7pQjolOvLY&Z zOqclohxp+mDXhHsH^cS!3BZqJNRffw|3D0;AA)4ceO*U}`o2=d-vj^lH(Y{h`!K%n zuSH-aLZdcZU;f8hf7!slVBHEv$V*HS7T?%LVcW|%#@DN&*PU<)=@2qwU&(jd(Ck-X zIZxl>JAXss7JyFu|Ibz~C8Jh}iYe+Jm^R!ptFUENt4}P}{PcfhKRvi)F9|6B6i_bx zK&=uPL)||RW4I+zVN0quZ$Q$z&{xJrJ(rGk8TU_{?lsMlIYfNY3wR7IF3^hT|I|B~ zt+Qp0YxM*Pa%>2m85uEO!O)50knO3K=ByO$sod^xJ8cO`LiWQm1jHO=%+&8~tY3ma zojSY7+efomTB16Re|(WNVO83vZ4fo#JN4dbLeDdxind>Uhse@H2=N7_Ye5)uOMPkW z2xUO2O0{8H{MF)!Nas@5RW!;piIq;cbwAAgL}u2-9P$&}v1&2CP)?oi#{j6zxnq@Eg)IWD=pvM$f**SZ- zgLi8%Y97}=#F~E9(rq#MWNnO7JD4H2P{334eB=p~B%{SF|Ay$={@Ug};4QR}^)7@* z1|i^$zn~Wop(^zrhC}V7DBO_iUDflwX-#ii>x9XQD4_@V?E0L3we0kx8E*{6#T?@= znohgkB0RhCEr+Qhc(S(O^B!G;A9KC#wzya`=fIC+*E(5iHG06O@jh9DzC}@n@!m2~ zg>7x4qWGe-#;%I!_?K%y`$;)Y4L=e3SBRjDw-Ol$1A5dJ-f%V@jy3|Mbs2DuU!V&G zxNc-gjyAct?nb0rDx*#g|AGs5u;(c$?k40b^Ziba{|0G6`|@}n^w_I93FhGO$6)2j z`T}8#0;6T*nytA>xjJz zfl-J1Gf-v80x08d0n~9f!zNB;)g<1=r89EFSv2o5*=(jq%({C~JtM0>VeNE2Yg!{? zT(M!6Lb>zf>cS6kq|aJ*>M`?+H*tlwUWm zNtv6t44#H416zIr>_l)CW6o^Y8^VAH~2cO2?;*03_B_M z^!WZbrx*k_)t}+mJA~ukMy-+6;aFkR4_(G(Vu{W7%Q@OcmjK#-gsjVoj)j|WrJ78Z zt~UmlaI{6zOV5r56#50P>VNbyQ;Ao#K4NY%TEJNBDtv+G#Ys6l`@HqxNh$J~O57_Z zyH#RBhjgzj@=`_oz6fl~Hxc6%M2W1kKGCR?43vt@`%*Lp7&zJuaRImS{fH($*9p5K z##Js#vh8d~WeB5#~pGQjYYb79Y0AHYO{G zTi`0j%Z~|t>B)`3Ii$h&O>y zt&_X($p0@OEok2KGX!OD-=c_emPL8udkCiXH_GJ#^uSk0Q=`Hxk+pdJi=mrGqUVkz zE{!PUtiq$#+E1GM&P-kCd*o3_WWl0+nR?1({R1|a>o(?s2*eXD<7LwMT9f5cfVPcl z?mcmx-tt6`4|8IOKjx%p*wBLU53>?I6ffq|d}G9XoV!Xd9iXe7dVK1feB8w9ZnTf9 zg}ic%Rc4E@3~M|4t$L%D!)8eAo$jCTl`{G2-Js#3BLYkUyu{u}EI!{{{=gDvEu4|cMQ)lIz<5$vF zPwXy>QOUEaB3KvtaozfGj|@Y3{Pc!~V(ydUa791165;h+v{D)-rh6W1HTDQB-J&)j zo-o+GWJZnDC1~#f)H)Gn?HhMIMmWTcKRR;lc+8TG@g@&qZ2*t!T;S0KQGn^#61sn0_--#oH+qL(=R;e%Bc86jxIDfD zS@A!xZP#r9fdtZD6m;Ju!@V@}@Z&ax%DUJuO+j|XP~ty?#mRi)N(%07BAFPtrpvPpzsK---p zD3ULFhR^Ldt!&ASp65fmOf838WD4m%oA?E7^R-+rGjurota0SUBm006UFdL%$=NW z96)ZDK@DOP+yh8F($(h5)@!w>Pqq4l$V)g2O8LcW|sa8QauT?!Jj-vKJWt zJ2S@KKSOo{gA*YJNhqgNc8@{vKVmn$Vz3L7VBA^{n&P-oRd%=ppCczk%m{xDv#Gcf z)Iy$k)k%$I#x?bnr|&|U>;r~btKgAJ{u5la&L8HlNZEo1I0v1KW9lgn--a^T8;t!H z!4idh2e@kKj2X%)PG9vr*#mU5l>giu@R~r$w|`58|5ZXP{r>{W;}sQzPRC}4s5%O9 z9e!;dd!6z=C&{Y)(^GM#r?MPhQGS}z)F{=y3C2}r(7l?-Z+o1!YV4o2yKt3b9w=Fs zt)j4DmD{tN|8kAl+T3nU?^L8Y=`9oaZ^wYl%*ObWY=RhGAY zrP!1jG^=ptN~JB+eNf=cgYn-s7dj8R$ISpGJ^xyy<*i>Rx~B$>DxA3#Uc-86*-bC+ zaEczNq^#s|d`gOWRPM6gYOo^DTGX`X5`WRLTu`vY!a3YG9^gc*VtSHOoy<9CGTeI!9 z5b$|v_3F%?%{uIDjE9Xhu8dpGrqySgUuSn%FCr|EGgYscxjvI^Gl$J$_e$P_5brlY z2QOYiFRj;eM|&4=i&qgAdLJ~f`(ux-`F1&lROUVSEI)L+YO&^;*d%#Mx>>6xwZzHH z4-#KjQ1H|o$6$z^Kh~Z{WZ{IvGvReF@BYTwM<SNaXEbcv$<%OdMN&Dvbi8NTMqvzqtr&c;&=f=iVjY}Sr>=U`zvzklera`HM1^}nm z{0ogKq!@FeW@1=e2)hyK4dtdB>Ak1Dh@t5U>qTkl!?-=xUZvksZNN+M24B+6qNJKD zy~w?Gh}OzP#!4P%Nt(p*hWLq7BQLMDtNYRYh1m`0TqE*@{7MYdLF84qeRi5tuqTZc z3DtzxVuv+e1F?uotPo$^^wps&pduXiTCR{V=K2UXSapWt5s!GGk4fWV^ZUOQf{$Y zMr@DyWKUUCS=~~LBwsSTZ90YM`g2cw%V^DU{XtOs_2tg2nTx%WtB3g&#`Jbcl|}@P zmYR%PUWF&2r3})wVpnR=gj|jowHuYBd4-f$vZocpQ(fYdzP`DWG18AXSx(&G1}zE8 zn=9^@=d?_#mkA|FfYw1??=*DR^h4Kl(mnIE!%nMt7p6-YMI^IG!P19;92twKB4OW0 zS>P6=e&eIO;(%6WkhY6|a<A zd=EWo{CHmszIT~7ZbqluxZYxjUhG_jtBYJI`&P7uTNm4k=#OH9-)d5c51XYr8#6Ru zYn;Om+&z_4jVP%|O@L))#vhU>vFRr>CTknAhe3{MQg0!$`Is5|FwJPdi-X}AU9Z3v z@aizKgt$*RB6LVmk!1j;@`~)>3KJ~mnxB`x77QM=Jh|4ou(fd=$Q4AB!Dtpyh(o5Y znbq4uFd4EShfMMQE&e6oHSn{7IC+1($7tOUC2y;}5CCi#gAcYid=5yHi%L z2dLP7OXD<)@{nFwo}O!vGycyncc)}ckk*}Cr==F<+Vlq{91OTUZK~MN>}}5Rue^Nm z^oXUt_1mB=A=I{&e21@XKVpD9{!+kzc1&!V$X`ds8s72xajSmdnUPtuu9&{ZaYxc=i#x@j@pJz*2Po+& zEsgJqE{;1gUt9Po+Ujvhog4M>&!EQI^z=PK~q@^j{+uo-k2DnPP0_ zt~xmjk44dX2}+^c}<~8QM}C!{=~1-lEVdS zv&QZy?0Ml*!UcE!6^F$#?kHFYeYdm5+|d)m1ux`GdEx$>radW~R-m9t=2#5HUopoa zcgZXT61lyT0gvFT*cziVAoUB!=?88|nNH?YnjznvRTt;i+CFisM$VAi;#?@Y{~CKl!OV8DN6e;0eZ ziSpV-n4bXUe}t*iwA96JTeIuJiaG%cQ4~DV&!s|Jp6CPu(^k=%sn@TkwM?SbVzQMU zW~%*H_2Lo3+p`u9xUeR|*o-&!POmalThcHoz@T?xDC-o0hr&Y(tX>4(y=xB65Zj&L z`9{IFjctvFz6VC=%VOgm|C<7^+&k{^AByDa@E_NVGrTqKugeyny5Brw~X1Wj8S_e z3*0lb>}8B`!{js?%rj&pQG-jvWL%Dd54|RW z9Lt5+%(2aDALUWM9KPt^_hn61&3c#K+pp86!hgdx{L5?L7|ET-dqDS7n6VoIpw}~O zr-i&N@NnZp4S6T!qsO~NaCgBqdwg&5$kV7UpGm(cnmU8h7agciTtx4ma$Rwljv`+x zd@p%}_%8BOu4oMvivV`s^iYjbO?>7fJ(*MD`dCkkVZz}3XKNc8*oB_#R!ICSAr4rUNu(;o+(TrCe#qfGBivM3Qve z?MFAOLRMaHfZ~$P2aId` zQ`#K9R>P>-(m!Or3AmJnfOF2<`Sn~$ajaj$W3Vt=HO4xyKtjLpTl_sGKH^c=?J zIgj$XfiZV@f;3}R^^h)&L3{|a0;4fyAHuYm%JV3DmL_rp|tXTmJL2={jI%E2TLMzb__;iB)CK;UqyEfdMLyUmb`(>NA z2;a%GIsx|a-bfGWf7Hk#{v_jT&h|hY{4g7op4ARMuC)4mhqoU${WYg4aq7 zZjD4873yiHnqstDi+q3N?FpT+!h2h*a%x>>*z}%n#95AR)H(2I(3Yctz^C*f-P~zL zHzAHyRC>S_d>PH#QZro+ogvS1U{`la${UEjt5wXar}6!%AYK`~SY3hadgA@_A^nD9 z_sRb9CvS03N4mut*8@Sb$Yw=+7j zcfZ3)STJH|OK?wR_GM>aCGx#Oiqu0-5R9OliWdw`q4)to>X_Mv4tFU0HHCt~_YIev zE;*c3MjI0P+}AfrvbxZ4hx}h9<^HJuh(Hv|j+3ZbwxL`cyqp~yZ2SptqW&pXgFGtt z%7VSmA@`GoS6ty|X7mXIOaYu)>bh_p$Mhbg=(#{tE;)U2i9_MQl>Blu49Cn4X~lR! z-<14Qa>ZLTxW_k;Y#D82=yRVX`gn3b9ByC#dVc>{7S)?`8DGZlOQ|^b^pLNzFXcub74E(&Bu9xJBg`Wn9VN^me(_}3NotF4CY}+C{+D7; zm@9>R09M5S;ddEc))G{)B(|VQsqS@{s9;M{MLVt!d<@k=8}V0nLp1{yp7DC9y+(#@ zz&mp?X>#)rAmstbSuokqQzf}4q}T*%Au!IfOLQp`wHF0qMPsmge5R!Q6Tqj33;T`} zgqt<2Th)wH;2WWiy$2`C`6a@$_oE8KghPnE-OWcYQLZ9kYf-N6REf9-lDQ@faEuaz&bS11A8Bj#Nz8_e(C9KJVqB1&e zLA-t_oSYJ%!QV9>2;>s0`|>N$k+?K4KtsA~I%*@h??hztO7Ps32u0aqA*h3Tt|3Rz zN+p1dYuu2$_T)q6eqjCw6eStqX*9VjVMU%laWF97mDr33rTV+6IzJ1oZqI&TrfX(? zDn%iA5av4(@k~=@lqvvWMHEE^n#kbqW$_eLWI;iJ#9VTUGU(I4-7Vp9TiYw#-?HA^ zTj?8zB{t(gQIZnIK$GhhR%C3+dbc7Ma6-}LgpR5hTK?+Bw1eg)uV49uy)GGCp5f@=YT8O?L6d}|~(rS3jB4a(en!$in8%8oI_7(f#GC;% zT~0u=m0=m4kDR7qADbb(Ufs{{BnWz70Mr>k(fEY|!>-bV2rL8kE+J0lS_3>-vDhKrIBu z5eDA(emI0IydO$gM%Z}CN*Q_e+yymF+$V0M``CC5lBq>;(%4&wMe%mzVzOM9@kaZs|fzi!0pafFCJjqIoqT0iJ3W(nU96flEWu$FBW5l z{MJRXwPe!VwJc0~5>bZ``^dxY#K*{W<>4|7`TqVMaqmX8b&4pDP~LI3(w}$n##_j1 zpRdyELeGSd_vy42iGG8C5I__LJPP3UL|r)YK-!a`F$c~X%l13{f7;al4XxZm+wk2V)mn`l7~FrI8O9F7AWl)eg7Cmvfr zS#R)dS2iCCkNNJOB~QFI{VE>Vmvum`C(qjtT*jAapr0XwCL!^R9zCC@;<7 znu!H1MCfDw%*6C5fYj4ef-Wue#(ih3Jkb9@Y3m;3{_`WR^#^1`5@fA!Xbn+KNyH~~ zWWTk&ixuUBwPAKxhs#yk6IS$N!))feo5JQ#^m=xY<4=rSdgrAxpLwWk3(7->B#0_2 zg4HOEm9^6s*qE5Ze``@~_Pr8&Ujx*Y)e8ksn(bzHThh(`qNuU)uHF8iXe&!`RMdDw z?w7LS=P8WYh=)Xd=Etba;bW?QG*Qx<{a9=$&+cx9e(UoHEjp6@A8sPlav zOV~hw1vC2|vcMT!PjOlpyF)U!e8bUc4=K~_QDNBd9dagO*6s_zV%q3_8PgIoESOPK zSXR%s3f=ty$pghoPPSsaEg48$!p6$Hc*4Ahg>ye}k#N+Tu*IA(-nb_~|2`-cEaD(u zqM)BsZoT=*g6PXbAxpyOJktIiP;$|d=q02+IL`H2C(KrgJ1Cy1BcTmIj zm5EI##LjUe?5HCyNJyT(^np-0V4vWGr)}v-nw7XmKI))~-=)qWQffvbsyKd69yL7? z#H$BZG~%3zUNSWHTao&6cB+0o||PX|D@wW9nxPn$A%15IaI16!;;X zkIijC=ThpRQi%0^-; z$Ia-95`(#tLcua#=?+{DCEybZC(P>Q*aaaSo3ptldmpH`QI+Y(;9wBEa=i5A+!)|kKcrJ291R{Hdax&A-UklIJlr|s>dlv8W zxF%2B*Rg-*xHgGjIY%YCAm5!6JZUbF)wD_ya!iVqUNTlp+oRy^5wk@SDs1+myT~1+ zoNNP6-q$V*rMYv}oALZ1l$KP@>Qqf7{!*&geWOvLw+)^$^j@diTFg+++3eP147UeKY;yRZ)g{Y1hn)KaPlF{X+p31U1#W2 z0)qpYR0^zuNr#ub0dC-m=z49$t>p(#JTNlZLYyt~KeC~=hIUy)oE4=^U#ZF4%c|L; znAZnXYj&yA>CG9~Q3&*}e*+49|WCR_PWKkEN-Atu2{P-zV z%pQc+zblQdAxwshq6Si~^`1WZK)_b1o>I(zL|Aq!72PenWjo2{IxT_2A4;j89g|?5 z{j6xDNeO|YBFTPM5$#++rmeV6TD^jiF{$F6OIJb~#->rFGNjUnbcRl{FKiAgI+YwY z!d5loHIx{eynCRJ^k&LSlw*APX4Kh7A3lhRhR2WZAbhM`e*Go(+d6^s- z!yIFp8uu8`N6h)+W|9+CD6Mh z{1bBAY+&4;RO=hLpBoqf3=NlAgKSLFj0+Y*NyDZJB1w+Ms$B46qL!4iI=+3|CksVL z3)Dykw-2gy0yP=kwpDYYv;|qQQ*x5~Lni}lRRR8fwl)H^UJB_L`W1+@;E)=EGNvkU zb*zH3pA&>xZS{gxbqlZl2ub_=4bw{?c-R!gs;(J|IXIpfgsD`OpDDunwEu0JQ>ki~ zKX_}m91*`J(6{(L3mEJIme($Y_6!%?k){`+i&{fvpAe);=C>%h_P2@*BR0+h*1$JV zeeLv|%oZNZn&G^4=wGP!SQZM4P>`EcoMLfk zEj?ua{PY5!N%w9o^yc=^#rlho!K11BVyKo5q*Xd-rH^eef(T-I(-Tm-HH}&rWt0 zwT*k^@Gq-2_Zv20y=w?bY^hESqLx{6R#rD+kCdF%H$Y8kv0KP$eCE2ZC=RcU23rft-Fyh)~* z&D=9%(Hic9AG2poEEOHaSddGfeWi|=KJLnbn_hU&K@1TyJvxp(X2z;sG80ZkLw%VQ z)L*@8UE*nvZ&6KxUhyVHDXR>wFe`0;H;?mvT!mG=kY5sGVcf*@#6Nj(CCwkpkVkz& z`=L0U^S&U=^LL;aSBzn{1d}}JLV++BhH2iLBgOO-xGIIOj#LdMC$Ltn&{q|>Da8Wh z=41Vdm*%|YmkCO@IuI=1;85x@KPetCH>*I!A4wFZ6Y?m+;7y-=enL2P8QQ*M&@9cK znEsr?tz?D@RycN*2ah0uSvSJ0~FDW1ZgQ9BpAt_W)`Hl~NquiDzXafq$xg`V4ZbA5~CR!m-j zrZ^3QvLtwUKlfmH_{4TiFxBJ-jBhq88_JznncL70H=i?LcnX^!ZGr&&t3<5bs& zLL5{Bas_tM`^jimraQ*f)KL~|IJM=rT&nf>#Y;%aR?yV7-bxdh4rROD0O|$>Kxu2R z!wNe^NUu})WNW*amqP$!(S1BL<2ELNoS6L-Dt@)FXvwiQ^ntnBSLL3>^ zE7q_`b2$)gVTnj}^`6R}xr^Vs(RYF+)!dTIqw?VrPx(`S7UpuFX{ky?a;o#IFk@yi zN7Sd(2B~TzK-TCo8&r2 zY~LW8SM+xQ{=5=|S&RLdy13r0@D|4>x6Ce5!5AD$RrJ25{rCfqGt26(K0 zxlF#layex5UjR7p*v&4P_EL?k|Evb+Aoi+wleiIxU2|8fa?RjgukWau%ep;zo&+=} zFAC|!7aJl`6=dizKof1hkAAlIz1H448WKXJ+jH4Z39rxBqcgMNA7v(F9TG#lkn7~0 zVnA+X{)bq>p%=2h?Z2bV5K&mID4_GqZ_ERu;RSoydS->3MOa$o#wqKeVE5T-d+oC* zmZ81C6cBP*M(Ad8?7@7u8Ln9+qik!}oWr$D@FeW`F@ls&qLuRrh57lHT+8&|3XF3t zlh&La@>SNlU(fXXT$t1N)=WB=v<+2T5vO!$gyE*vt*!h6j5(h+%l%(bzcYZ$Eas1f z%V?efd}{4k68GKR#2Ltcm!b%B!~?+l1Fp6xdNqd_vFwHG+!RH`qv~}E5_;WDqmZVM2rQ;^K~e2kPug22WjcwiUBjzP zMffAu6^bG(qpK>J40_#E%<`adzO#HeWyS$2QMGQ0B5Wg!tYZCWr4V^o&X>#N>P4nPesa4O=BGqUMb(7rSC#1eNvx(9&@6RiPdIPm2)t?6UsddTIhF+gKQ`vE z!VlTJ10XcJRAGK%yq4`J*q=!8MBUNtq@A;YXUmirWWiTwSwpgz$}W|;K%V8(T9xp! zzDX^WIk2-n(h@>pWbklY!y=IDB4Mlic2n^U`OnfHxq%n4ogme4i$H&iAQQ@6tfwaG z$B`G%+XidY2J0W4wBVlE^c2!`$Iq;SlM5g~KjjiH1Y(Lv3otzO$bCNbxdn7oNx*nC zDFc3mUMlT3UiHgLijB*I!^ghL$3D>EHgKVzNDf5hCcS@E&3@^fb*aASC#bkvo!ld@s9;BOaU8$u#m{kM zS7>ySZ#>9fzS2^0(?fc*z}42}vRAw~bmq_T%+O0X6aFIXfz&)vfhNY)PWOn>3vUOYvX!C0Az1O22>?}PlygI$@?Ui{RIP6 zHju?9K+<(;BU#udEZREjra%;JE2Ep7sCU|hS^RVZQihBxP3XMLjJVLf8{IdN z=nGijimH3jz9wM5)OULY@CiN`*1Xn3c$y>V@VIW4sr2>a5Dfh(@k>Z!^kTblBts4% zV6PRhrnasahDjv`e;+Kzp`H(*<*t<2GR?59${wBS2FIxzvy^1Q6_b(8c8cOKS?V9? zYruMDdXc}qbRrPh^~G>qgK4($(FO_<0y2=p#-PPiN3lI@e0YHYVFtUZZe_-Ak;`MA z*#%$l1V$Mj`M)@Xk3Trds;TdKcnc?7o5>=0mB;*K7tHybu@gFWB046DVA(Y$Li40O zgw1ng<+`wZS=BgvGuXWC1Y&!^hGw)!6(avzk(CxYHYhqKiO}4&YeaHcfkGt@?@@d$ zAqRanF5qteju5{~%)eSwv_xYq{Dk}bqBX?=qWq*efmX2$vrq+oy2$q@o1jH^zAo)T z0=GR5np04K1ylVuL zaf7C3yP1dHGFfmj#^Z={aY*m}H;Md6Nww~r;&pjtP(ig{>-2ybqyIEaB`Ww9hMIaz zg71Xn8};6f$KFzT%Iy#dZ*9(~$uvsZV!$ZVdS&#jrl30=5w8kLT27Y<pGm(WBz{R$ zDi$@$q05kxQBC3(=KP7w`*Te-+|~yqFC`ZN|8&K8Nr{J(`82aS5y}*uBq%u=~`veFAu{mCV{F&@iywx z#bHzxMTkZ5&e^*Wi$n3&UPRg>LAvnyI&X;yo%v&hb zUn;E{?>u#~r+%8laIV4J%DT#dY+^08OCVYFp3<0i#DY9w9LS72I#yaL;`A~0^M^r} zNF&^SrclEK(d8e{=5j?M@|>jQd9iAt3`Ho$tOG;UK?dV3LB~p|88IfNB0KoI z8q+Is4Dqx|D8mKZlGKU&{0daK@-Ae6x!F5c5s> zMIfkfW!2nbs#Po(@_?Nk6x44osKDtPtMoQV;0f>B?`&Rc!eF&`+rVnV#kFsNA3U{V z*pO;Ms&um2&?5XA`()Vp5gT$=2r0ymkpZ)(9g%^6tW9T4G#(~OmucxOduPe-0aj~z z&TqEcs0~wQ?XRZOTW~cutTYX{N+iYkmdI;9}fK-=OEm^A`MFM zS;R6Kq3FIM0YBz2{0dq8XRZ)*d;1vPJ-^QGAL*h<-kocz={L0iWb!sj1{i5b76Uyk z+Tx-uB7Uye`BNBfIMcrK|2U%Nt-YQLj`mlVQ>rGYlTPUJSNY#!*(#`;Tc_XRe24v8 z!dCiW6$t#~aJc8kJdh2qH&-jA6w6#p48(J1{&H|YU|BDFDXF7#qdKUhUvA{nR~drZ zOmnAS4ireH(7`0{FYA6^FP%(f-mP2T2Ncva9YWc`CAWQ$uJ7a4YO!d+GH#P{erMb+ zbXurs;)$r8r{eOraVmtTxBv8Bf_{b%Qqdw<8qT&bAcQwKGuwr-C@&Wss}1K%IwyKa&2o{O_D45=c^ z`*8P9G+>YTOEFG8$JU@Za-DiLBu*;UDC?Q*F78h zCFq+@1m`bLzsCW#^1Vf7PMx+Vsh`2Jl($~K9aQ?*1=l&X{;*u`7W+H z#=o&!702m!h1(t&DBi*Dyf}T+M3JIK-#&N>*Mww!dh_?ug9PCoguJWQZ*Jf5e)BzL z+-xU5g>;A2Y1i-bFI&S?eY4Ube~Z-OPq->}3mfZ=Kf@4KU5+%<2{i|kwCeP%^A?H1 z50wIv@6hKJ!--nsdl)zte&+Q0VoXzCimvx`QO0P7ePni+@%5jc85X}h>XCWH_Y)dF z=HKb6eLfzJ{cSwFzU!14VTfWL+C;dBV0ahy#@6pn^}SAfKbG;i@0~CZRysoZ;yn;U z+PmF`Gx@bi2Zs&auPio58=_xnLhtI{()kXq+G4|j$AP}j9RjC{eupq{83BC}VqEES z{L45ME|p<9#caSSNxGTX{h@Dy)J5*thC`)+HX!F9`kkV>fYTb2Dnjm z@nEc{!hvLb>+%Gb6o`%s{@ZrwKX1e?M=E|<7Ls7EO`O9<9w|8*f_$q@9AhIp2qfPP zEYMF@WRxEG8fCkh4FFO?{|^x<9~)XR1cIvPHO9u5AP|2yFkK)1Zioq6+Mjt<3J9NX z7i+i54b%ac)_*?|v0+5`D!D3Ohw!W2!T>i|-)Zkxxx%V8ZSb5daUcxz0DmU)g1^(; z1D`Cc{WQL+f6h==&yR`yY(u^TIrR~qbwV(-N|uE74=iaL=CH9tT1tjs-}&ETxqFu# zosY;VKi)tASHF1v_jIw-By0n<;Ta@zUD{&r ztMb=u9b~uoY@L`CKEyV^o5E-T4hvsP+1Ju@NObvc*%jN7PWf4#aSRZr1o3a%khzFn zfzO>=NJ$8vFAbmNz#Tzj2q>ms!KV?W!FGv9o%P>ZI)doN64-?DHC9XKPe~XSWAI4djcOp)-UG2+g$VcBzH-^D zA_3|kppVP1;*@GSS8c#gdE4;Mc^BpPYCNE=5)MT?I&-js7j5En0%zAYzjyx z=mu=mgj%c?-t)0oMiCq>dtU}f?xMsQZuJEfkApAg?J1cmGg=lW;9=bjyKxTm ziw~=w@vo8pY{0m;^=iPwx}BqYxqGfZ*ApF>$VFGnD;k&RYqZs9S`02wnN`*VR#qfG zT5{EDEnT19m|3~iYYiT8T0PXIyz^BP|G{HkTgPdRTzeCgSd0X6QI<$HABiqYD8ndA z^beN5a9GE;tI20sA=hDPB{|v-@8;MZ?bf}(@+%tF!5v}sB28tb$IMH-=)PNUh%Jr_ zP$`ZJGCPp1=@f3hf@7R>EpZ;?Ol}Q*2d!FJ&lA}ij_RFo20K*ek8?98(Opnu+X<>E z@q@Qm?CPw68z0<87qW<1kM=T$bbRuvdxM;-vRd`Bj=|tm*4AF!CTiUH4gAhCi##e!!W)%x>~o`J6H^S6)7=$SKKg?llcxn$K1*x9@>+I8 zHXOt7v>%>u2eWPWF%_OU#c63*7nPo#GozymcWPXG<~t_KkHtx84i}YHo-@Ov4R>nn zdvum;Yu~y9jNQ9AZJTf8!$9$ziBAh6v0_3wUk9}B4r-CrfBle&8?X8lwG~;O-7Vf=h4-PJjfLppCl|+}&LQ!68WS;O_2DXx!ah`!(5npMCs4_x|UN zH^$8BS#zyU)qtk@Tc1^v0-^RBo^ zzff8chqn5=;att8W~U60vPQ^-^RHTUF!$1QM365SMb5i3c;Z@{Z2cUb{V^OEvp}5C zf-H{gPLF9%H=p!b_!X0!@&hnIf=uz9o01PXt(+)y=-9}s zN0h6jmyCrK$Dmf2z+^TWz08$Z1p}1=lOtcZuSSW|i3xf2{&`|Xh6aXVhhc$EDbre} zDqDw(i|LeE+#4+{q_j|M@T@e-3qroJ+Jpc_xxop&HSBQ_9M62 zgWLDFBX*33M5F{19X-M2EaVpC>M9|0nFwWbFu>_m$MVHaKECcp*ZK^3J^lEfNm0|` zm;~oPcvf81u$ZNc*vyQW%`C!`cyU=c#KR-F)rSd7j5dBk8kK+aR!_!|>piE;5$yv& zA)U$Tym;v=e}wQ>5|EjE4-P-PnkU2^($5P27ARjs!5j`UAKnR#Zp1a^#Wih&WJ*x> zAu$Vbj~UaE)-|Sr)N9QmRZ~NW0j97`2u9zib@?46_llZ z1JsfK8)mE{UsGnHBN*WDTMVO4enEolpVKss?4eqgUt!Nz1?ou9S0O&VKw&JQPj;UsG@#6eIw++$J6GJipL!ZHs&KGZ_|L;B0?t+58c zNQ22}UM?=|!!q;w9qamC%7B=)k(NZ9#9QMnBnr2iBo7XwjEFg7{j0e@>228qHIVh* zVn~3XaNk)xLiG!S7R$fT zD%`40qzuWn)DvFIvTix#Ou)8;{QwoE7{h#SxrP7=w@!tU8NIQ$7kpcJ5ATs@UQaro zfqDI@%gfOu=v_^~QoTL@h(*z|*W~VZ#=KU9cRC$@V2+qO|0_D|+ z!V__2=N#H5d90=PDH?M_B^FyM9QJf6xADX714aUdY#9~FvU7J1sRX5sE$T1jh7n_L zJaHjKba4@b_H|x{`|s;wh6fVpATGSpf9^Ta(+)0V!dS&ldRg0H$&6ypk3 zS-_tEM8zfZdK*qIklsrm^t~Lx@wrpUy+Mf{Bs4uL;&3LnzaYY^ zfJ7TOe<7|a-x*Yhm@$}^IER5}GyfIA3iS;hhcGx@`g=JXM`u|%ba6CHYrD!%n0Z~; z1Anb@f~z*|pRo62L>AEy$u=)4R!9kbJEM^tqghAESICbGaj~b`1 z-#MG8D-YHhdmToQQyCxG){iulYg>@#d;fqF)F}QA#~)W8shxefGW;pqcJ#4tlAr~Q ze4^A=exs+p^r+xE9o7syc`9wg`>*t*)GmktO0J!`L3|rzAZNKqR=X(JOB#gt@nT@J zk=%uRMZP9%&hCSFW7N1d>IvbzBhQy09) zPSV?evx^AQTqm1#?qesm3lDl&BWrc;Vv zhe7Lh?K#*ZM;gYw3vqoZ8pCOGMUZ`du`Io<<$(05%x1@xzVl=)) zV&yrn95LG?$$!efYbm}z;do^NNj>ow5O@lBr)G2m zTmm_i?&%7yR97DJ*RIV)>)bI%0Td1WCFIx*oz<+;7yjD6yqa9sjd=57d{IdLjbmDe z_jo8aUJ&3C{z?+s_d?Kb3P`*4<;XIy3f(1@`oAD%aYZMlPE%F@QK>lbI_j6zRq%j) zvWS*hX`W)Fhbd3Hfw(RMV*&Sz--v=H34VjbB!R@_JhPG&8)D}ulCc}nJepmJ?%R7p zD5q8Tf>9UvK;JlSj5E{jZ|{zYD+(}Z z!GJ85yNV;8XdH+E3ZpkW@I1$74lGn`exJlMC5?9`UV44v1Z#f+5KxyTG<)S-W1 z&cZkHNWG!7_vQN(lj5-WEzM;&n-Rvm^@hrM?FrGZ%GGiRPu~n(if?U9(eNocY!C1n zZSbZi1mGQeIgw+V%unb>U8V!S$7p1ZKJO1)FXmVWErJO9roCEI3`Nr*kw7r!9DHJVjA%L@zYr64J;PYYGXMx5+f zKlSZKoco!i!0qb{_gJr`?anl3&-KyZ`w$(_b$@pJ_!@hFOExoc0{EuNhZxmH?u?1u zxqkAJ4^DdJjWd3_kFo9>KG@MtgcI_nmrR{>VE^=QHN5VOjH)vOW}66~U_suOC$cx_ zPtbt&*$SW?re?)}0;8-Ntr(qj!~&*!$Phd-)Rwsooe7fTW9yh>qfx;0}Wv=4QDhE1D0rpuk^qY98RZM_zdQU1&@yyZ}jY-B|e~ zgTJFLME_#qpD+JSos~}l!vNC=9-a+4Ao;8n{`?Cj6-q$Ai0+wO65k*6$-Co|Tv8;> zhh9*5hvpRy7S%%(O?WWQ{07+%5u>oQv*4c$_F@h6v#M$X(U-oonsPq-Mf7u<>M_!3 zJDJ!H1Ms%~_&=gSyd(P528S-QWaHKUZCUv{NIi7E1Yy$#dQ`thyB zvEMxz8nHL@2`RmQkn>2V1&NQ?35^$Zzs0!+>u{6s5pyfk;Be8Z;tire5Ywjo;5_-7 z(@ZEb=LMP;;%RoAE^0WYZJ@kfomWIxjB|H;;F~r4PNk$bJ*kc2wL2J7(ighc45J4n zs2*3@quLj9VFHcg#+-Kt;u(uOl>{D+IlqZ+<3^mo18hH=BtP9(h|r%E5Me(ngnP%> z@Q3@3+dzf;5a`lBM|-$%Q80AKO^T#sd^J`%l8Q^5AbK4xHuDVM~t9(CmToWB0Eg` z^LQAe>$n(G!;TovzZCf|vV*iQ#=?kQ$3>Xbcf=7EO|l3WKIiyZeI5%#b{!WgQ{!!2 zxAE-_%fzh$Ts8c^)JNFV-d&=<3dh3SO5>DuL86mNfPp+q$VYDcXK8# zx&%jxwte0$}w_L-jDI35%#kV?jSXi}7)o3aff-tjj zoaW*^gb&F_45)a!;z+0g`PvQyp`-MYZ@`g7Ba)=;6sj+htC0f2KrmH{tS}n=1bNg2 zN9F8i&_t;4C;3-&@Va7T#Wem{0p;1KDwrK$5o)HQjA_GhU04kt6Q=b&9jz|XopNFh zrb>KAsKO_CcseOvB-+^AJlx%$xq2H%#?&+fWr4EdmX$Y#@9nWv@jL?CyCnb>=R z10S&=AXuRtWQ5Wb<+d@Wxc`>^Sdn6=Q$Q%4@};W=Q#8Sz%BcbVcC?DOT9>3D0(>nv zJV$io&8rLlA;9z`z$8k7gsHThff2n@ha={7aDF$TZr#}N&Jed=-K{^a9wVB_u+_-Z zHSG1xmiVQ&4yTE}I(9@ErQmXV($cqFQUXP|s9FV4_=p!G>lIT78=8@TME z3c=3`#Mm(d5~6q9qy1>AbTYKTq_zyk^;&OnY#Uk!ugYr8C3fjfoq$YbQrv?IBNf;g zM!orSe#ZUBV*BsT;R{QsxsD@Koj6C_$hY~U&s&nuCr7?>Z!;?`n@ga5xExnV$3(Nq zt+K}~tJ{9q^P?bwOA456l5mA=iKm2E9%%4B&fQKeO4Tj|K*+RCn97x2B&GXst}^Vh z1a&Y>U^HnHBRu8vQK{dWXHz_VEeQNtpljKtnJoKJ>Ep-GQiPMLNhRa^SxXZ}I}~gt ze%1M^*?CAc`wnQ;A;IVnc68gVDd(fFbC9tIb?U?4ozJht+?7pcurDZ;X_;Gj>ozJ%K8LZLoYuw8JC@L@{%KgI1JLQLbsp(IVu*#>uUrm=i&uOX*Up~g@ z?%&gH=Mg{Lhh_cS9UKBjdEDiPgAPi1j7?lxCT&eDuO!RYir~=DMkJ#^t4o_aKY}O zXdrx1$6fp`TzZvT&D328q*dT3R+^s#A-ifxvhJb)?vkxNXT(F2c0ns zow0Wtd)>bJSmpM^uM~zRm_OY@d0up5#x3}zKDaxOT3G~L!m>Ni&%5&g&oL4hLBg(1 zLEM+mW?z7=U`k4vADRu@5IBB*PKJiv=2wnN>>G4C{A;%myTbAb@oT;(WV%1)$#0F0 z%Q63GbnFX`%ssJcKNy~ypAnqzmm?;25=0|f558=2fn4H)uuk{plx<6)UKz$X*@AOE ze|gSXvGBm)4!himazbI@ov~v4-UmR6#nEn*$;e_2LHDiQx*V&f-SH;`uP)9(;P3mT zzF1lZA1STOua$-&bI9D$2ohvb+Z&xMI`m0Vop8iVzItP&jhlfATyTaf&?HK}@XB&X z`I#_gS;XJy+e zMAX%haq7L2CF|d2Z2vFHZ}MjT_fV-aA9pqccVmRF9w9bMHet>VsUEk!`;T)o~Xq|7D$jDP2MR%|4HzY}Z9aF3DsU?b9>M`U}>Kc6?u% z+7S&5P0nUrG#-c_%W-OcQD~G2GC6E*uuTIEM1PfC9MqnelMV$9xbQyAk}r`2M`8rvs)3bKvreTMlmQrq zG@F>SY^(>VHi^wmtzM zBo;=;2@mG_(}@n|@&Vh)*g8zWvU1G<9kg6TG?6)JN;hzRjF~^anZE)ExJp|sl-%N2 zSEGFc0DyQjL8Z<-)j>$h=|ZwbYeJOkmW3=UgiMy@iHlyM#<}{3JQp+8w${V7I$N=$41mebkSz*1G}zz$a$!N0_^^qsC5<7ZRgO(bJa@1^;(t6o;u$`S8zCxZ(PM5Pc9@ehXH9 zdXOSWX=);0{PssyvZkpC^65l`-{*B)EiQ2!#uLSb<$Rwvc7`iuF(JiVNNObz!o@ z;HGDKzPC^{UO_0Uzxn;ujGi#TDImHGQ63Qc8~KSMcCDMt27X#c)Mv(GoWMiXLS_=> zPuyUXoNyf`$(oaN%C-h(c;dfn2ELOfn)192Z)zRSLq7bPc2{kZzy8IT+1z*l+Iibh zDdpCc0KkN@7UPv`b}sL5m3=*P?^gN})DUl08C^K+bf;c@vE@q3Ns^EfH83o(xs_vg zE?<8;*3&BAoS@j85GJC>n`4b~kTBRS(DUFaUK=6*g>2cViUb4pTMC+&65+ROF3}9) z#ASp96bcZpxF<2iJHW;%=+@?gCnSsdl>6JS z+~Tc?S991&IqF%k)r(*}2Kla+@RKLf_*Ln~V>7ghQOIQQ4ktj_mWYt6)#?%-K&I z8&P6q@Hdn*lJ@To?@th3aS{xVhRKx3Fzq_H$g}OQaN#)HK34SEvHk9S{x{A(`Xr=h zFLaF6pk^Ho*bQ9=ZYC(|`~v%Z&|lqcUppff&@d>)CsMCSeu9*3pFBb2LjZqsI}>Yr zgEy*ecxpD{iL<(Ra`Nh64?OsSpbiHr>ZlM(`+dzTnh@w#`JG7wyrVYJ27lii{q_-Y zhuB{sDJOn{19Y^m(1AO}`5YUjZ-N`@bF|5xuvz$H-asqpVps$MbP+z0A$j_NQ(S90 zk$=K9>TnWv{g~?0w9E@Z&h|xAiV`5$R18GDWu3E%0!f`w_c<2zIcBi(Ry@)%6r1o7 z^i?Jltj4x|_P{Db=?gxNL7Fv5MolX-YN2Lc#u%zJtk2DG_p_*r%3;KSAm?FbKZ!>5 zxoRUE7dRN^bNQdhnQaBspNXx8sj=!k8#)A zb%pgXy@peVbyk-7o4`|~7#&SrO|mWAW!4tTE&OHn7P=!Ocm#Nib6+5=1M0b7wl5=2 zh)|kuDJBYx7S_~9KFle$f-j#4_Tz;BB8N@XMN%Q z;JYg_F@z}fT);6GsRxFF5d%!RkF!Y)!OD3tdC7VarZuKMKgkgvm#1dlv0os4`h3K& zBR57iIc!8x8?qIZ5>$ON;8kQ&7vPAb)z_LLyR6<*{UA8MS7!3rygqjm`-=I;?mCXE z_IirT8f6^g-24r;5#m1Kl|oY3;qJV&*G>;xr<*?$B8YUs_D;FvYf!y919x+VN^eJa z2`}K{vXohMzrIAZN?_t@E|OASpC|F{LaE8*&5Y|2mbJZS#OO#t#%c0BkgfD)Z$TqJ zNrpwW#`JC{z#3>zuv}_kzu7PnR~p*52X&aYOlRiW=o$;ESsQAWWU16Qa&pPKHwV_N z&g2|t)G_S*SOKO-SeZ6kdH`)wW^MNGzdG_h&hEC3F5O*Q;$64SoqAQSgN%AX2;i4@ z&8}R=CK#25Sy%PQ5~ntp3C+9(>xJCDaTJ95*2wk=#Y%S}CWhW7WnCe1l-gA}HT(JD zSS9h4tU=A#6}7JF?4qrVEj5XWHI6DA3@r)R?*z?>Guct(JV^4zDhpbQOr{YH%P$mM zB;;LG$G*BTV4c;~aCYYE(J5bZxIlInqw&i1r&TB%to>Ll5888P!a5OnvVP~4FU>@& z9vQlol}$^#CnlzhSw#rVAL@HoFk2~#9JPIx-9We#r48D;lsH`m;;wK zQQv^b)pos(JEdinv*X!m47sJ$BtHUt)rpZb>6(22Z9K#pC;)I8ZYBP7ah`9f-ob{P zkZN|SKzt=@L9C;)VFa8qYnBw1QkQ>d61qY2f8enF;UQI6U>~t7QuA9L=I;SoNJ~o~ z!oBy^+gv{+R`3ha3*h8uROEKuJ{aB&LB_E>Dr!O>3^_!Bf|po@nfNk7&q;h!e({BB z-jHah(2IshYPo^M3L+}t2MSF^E1UJvvKu7eS4e^79=^zJ8Q=R2-E;VgJ~v>(X9GCA zEgaSlaCmwCh>F62Z^$|ygadE8A99Py2bE~!a6Kd~Nc_ObK%Za+SCQTaVhJwCn40yy zWlwa*edVXajOdfaj0oul9KMb0cAq* zx7Y-widd=tsn{>Aau%D=WI)NJ_BV9qL`@rQxF27jA~33WmBRd{@0pICaq5zq-_To! zycnEcBOc`K5S=-RVRuiwc3!-|y;8MVrl(B~qe9uty)^U6cqg47qt3+ly)fUZgF3Uy zh^Nb+g0wW)@F)wXJo8EFgaD`QST{wUC54Aimx7w$e|!-$P^WjZQ2qSI{LvV9p)C=! zFTan?zT|!*4K6T8@20z(#W($Qxp$#X zv2U2})r@ATRjUw&r!GiS<$rwQ;OsK!=>aZiNqkN~uwm{oVhg24Hs!hdI()G=5=1V|Wtzx>&ODqXUF3G$*e?%y$uCcj- z^3M)WKv%_-C}9@SlZu_joH@xt&QOg}T}>tUeT5(stDrS&n;oklN<7GJ@Sc3^%*W(AZ(C&DieKuzTb0y{ zlCyvr5W8lWUij$vs&Q+mEvOFYTA0vN~R3Nnf~$$r~PrX@ut zC5YmihE<=;)#<^HE*w*bs*aHiGc9fP7BES|s&+n9yzslKk8N?p^N`;q*{0_5y&mF< z!pVDgGABj=oDrGFo~Y?H(V(_Wk(l3_ta0IzqCV6RzQ^8mxJ3hAB+=)2L`~E%0&Ajc z_$BAJ#uH0STaBs!Y(Q(|L*u-qLhKk&oW$6yB7bQaJINNn`ib^To|Bj&irGy%shM&} zJF3NOA)*5Hu|yZ!+}sT-`@8bc()!Sn@I~*kN??p$lCCeVRh<~38PKX{GdqYy?ShR} z!PhmkFH_s5fx(Yy2H2F%U&eJm)YIFLsDHWsshQEHn9gNWM;ovA$5-28Bjc;F;&Ec( zIT7hARQGZ1mW$R&*aMHG8SIFAU;F)$`iQlK(ng)us>fze-6)Zt>)xP3FD@z0NY>aK z#C+%uQ=gNttK^wT{yFp6u&Q{^ehy5w1j0uExIbUo^E5^ZW?%ImmkF_R0vQ zefy#zj(;i>Lc%$BfDXagkfm&BTMbyt`+5{{yl9+lbi-K@Xpe3 zDMDXnB?;)($v-+bZ)=Or4i5hoWCHkU{Jz|Sza|p!!L1bPy+U~^0xcOr)kjrgC0^nh zG?RH-lHwYskp-8)4Q1NoVLvJ!p)cqX9hFCFGi0fTT_!j&#^m1Z@s^Ao&0N^LjAV-K z1@;}=1TL>4p4$ZGa&; zaav795HNH{B(90eu82$9=H%9mE2Nsdk*UI@Rxd1*QX05=UB)yy!?w`^i?a_+a$S_E z?iqAX-|dmOCeU0r%C}$~&=MLWl(@#X$Th0q@v$#ZIijW0B@sWUPko)a4!K}Fe9A<8 zk4>|H09HNpp5C(Q4vko-n?h-o51~3C+Ly0_qfc6kUpsL{P}(MwGB4k-WY>`RKIzcx zz0aW>q?KAxS!5rVo+B}vL`8FALqf6z@#v$5E=TE>r&^GkvTd1zmveP)dj;mKdWbm# zfAbl7X*HOK!eg$fFV@W{XcmQR!;&H( z_wy`R5LwkAb7~m($6O|A5<9iYU!_pXu9$#uDWnJrl3rN^=ltzx~z%IOgydRhY@v*g%07+F4Q9xXSQ*1H>ba8EIJg}~ZJp}Vs z`gM64)b-krU(smn4howq-m2=g=PeBcg~XqZBA?+&h&qs;N$#*d4!C4=6G6SG9b zyX5^%hTcC*&RbkN`hcpwY{laj$oI{pL+?)Z>4a1P8$>KHfs4JNAu&}&)OAo zbGe84mW(+?;@{&}LW60x7VEmCh`w2Z0?MWOyuXF8oCYcWD#eIT?m5LsfMy8xpQae~ zX~HKD@g#^3gK`p`aR}3Z1WyKFs)cw zV)8qkaodOSaQp*YWd*f1`)nquQ?g1=*h+!8RF}^ikfV%`OR8AoO%8;f*$~@PWgMAspXXdk`8$$fG~G1DgY+5U89X{t6XW8_HetU7gOj3)+E?B(`j-P6|)Re z>N|aw(k8nxTX($av;VU+sBB}l$9O}1UBOxAY4WCtp0lOxN=%J7p5jnQ;MO6Uww0Y< zY|As@Fvz0yw#QBE=eF{?lDoJ8{+OM}20jYo3q^U<{N#)xc#qk#dt zf3Lm^VktqDPANfE%fVif+9E;PWNf_(_B}e&ut&j#n;nESyMbi06d?i#5&?8tV(!5O zL!-G=93(LSx;Pu8zq6N5IB%;rsp^OSC+-8a#OF*8zuV{T_#r1R=%a(^pM6NU#LsCS zuiN#@afyTex%0qT4fy@1_$O`S#t)(ziDB)DoOKz9bX_lK>*wjM?LZ7@671Jh)0!lM zjStNVD(p=dj69zNP-is+66YCy&yo9;G*W#6UF_%8=6XZz4hQlrTQR?ZY5B6O?&(dU z3-$2wU8ndTe)k)!8gHzL70#dV^WH9IbHDlB{p6sk&j6s+nf(pwOXIuv!t4(4=ZqH z!X#$q@nSt$XVJD?Sog17#+-9Bt(zo)5$gp-R0DVRcU{XQd6ae-4ihSSU+fT&1-nvb z&$Tx0mJc82H}BXeNPX@>5%M~o8l{}AP~a@h8(#NUB<;QBQl;wcSJ zQ=r9tgLU`5KfV!{GC4ffRlFZIJX%5gJzCB>Dn(8tjaB=iS4p$^E(woED$`8#NI-xmK1#53d1`~fLkB=ZM~ti%|(!S@A*ucuhi&4vMc8PM9HXJVO-C2|eS z;ypPuTCd@q0!%tzN$P!0H87ZBVMS(TT{18r)G_!p8uD68g$-Zx?maH;vLWVyA*M4P z^g1qdb+|Vq{{W>OBflpBzo##88OG{e8P}-i(hs#ERQRV{aknqcr)WEB86YjK5}8pI znBWnq)GL>uo%dx*lXTPBMC-kSOHBtKi-hLQ{mJNcoyEk6|0#9E|6JbA{Fo6fF-0aSx$zdbZ^wY7* z#_hYD@3R7aI>)yKnl!*K)Wq1Acg7K$Ps<;s@Jt{&DJS$_8P7|#Dx_T9>U{@kebW@t zFu8F*y=Z*z5V0gy$SGRc49PRDs#9~wV2 zU*``o^>>YI`YQ*G%nm(pHeto*UPr3N_)O;?quTY7%bI6RmuU8f-E>I^Uj!Ai<(ru|e|w8?t4!Hi=!sJrtn-^M>?2bR1ju@m!ZuOuLsE4d2TzTZBUx4Zev{pnuvmd3ccm37U3wY zj|Y+|9>mdJiqH?-5)Ir!a67)AyI1aQ7l{3V5|Mk3I=4o?9tFb{#*2LCuc+1*-u#k%CM|!PTL6Bak z`?by;;!h1h?lyOdeQpZ&FW8)d1p|Ee7cw^m%`ye8Sb(7SZ$ST;YZl`7_l_6wj?3pn z8zg2JEB_xhapAcm!T&w%h@_1N@#LU5^q}sA3ryj86tI=%kNl=mgz)@Vub&qwS|5lnvP%u}@fkiV29)6A0Qs?T%TW40GD{m&-E`7ZxE;J6GdebEl+ z&*Ex=PyTQ5LdOjugZ~lu-}&#WqJ^FtJag4_7t@3*3bpk(wf&PDGS1SqC3a=am_V_DCNe z9>i|;#37Zg`#n10P7S!pMsxReJUfQ2AKX~&*h$5nBN^ycSzwzEVq?jlkX6Y^3MkM= zFf1-c=kJ3~ahYb@@qpF7B`$Lf#zj6K_=1!p8VpjDLTG5kSsWET=FPcw8@o^2@!+xQ z4%jlbi?8JxC?Yh3`+5uyBv;1(@Th0_jFbs(1H{+khLy7kfX>7B_NcV$E90gfmV zjg8rho$*=O{KhwRo&kxJJGYf*@{i!hJ#83?6@BpAK$B*x&`Vm7G(^n=_*@Z@2b21i z1+Q3=(~$d)a_{r`IX-qP6n4hRQOVl$0F94(xz~@m*V$7~X-8%{=F(Rzoa_SAxH_Y_ zI{Q;~iH&iG@oF{^@9hJD)Q_`vfx}##_gtMdsk+R@PVtrVeRG!RDy+T872^1K6pJ9d zBUOX&{C?aw2H}LP;v9GsVc|d0!%va%)=B5GeJxH|h@1Swf23K+%htRn)A$z6kQm1> z(TDxUAj~V4;lLowx)1xiL4cNlzm|b-$uAHY_?Gp(d}H9_)CYNK;Nw~$2(LyOKp!oP z{hkcrTQoFBECfgP6RbQ4Gu{h!pb5%w$%pk=Fxe?{NIQNm?3p&xRO0-uD#~ra$8$p) z$_OQcDds;=$w~Q%&+%`GC_hU4|D&*!!$OkwaubB{Z~vAGOIFHF(8s?;pd9|+QU2iA zD+x)I>~E_yrcUt}q*AV^l!v~tk;2c~qTIw6xe0T*2|pTBG%2(4CMNalZ;$d5uJKjG zlpjSTC*>yI#=k}SA5bjHk7AOF@)Jt&Z~u4nGptktRs@iq5e@6ksk~K;zg3i9QEu3y zU~5@!NcLgb2oNZxk{NrP6WU7aC-wsVC-U??P=RddPFtO&Q}HrE3i~~EwKT-jWF)AH zEk*Wbnfj==_$di5Z6ti8$DY`js#YI6N^h&iXhwS^JWa}QW9qt~ekCH}vpr0y6Bhmi zB2scGAk658dl&^)4t3>Nob`B|1pXU6X5bk`=nbWD>|pXnHk)b=n{^f&-B@y~y%7-j z`Z$NJ)=mYAyC_Aj$HU~K{lWV-WpfV(XJ0|(6Dh2e25fg$q->7kzo0<7JAH_ z5w93b1%KTrWlC+FC3{S#+RytyYbKVVes{SWDh_`aA4^K2h~2kaw{ki_?n0z)DE#qQ ztPFmv$SX^gAf7O}0CPZ8>5>ie5{JLiKSp_L)pvWv8)Lj8f=lOc@x0nZjaB^$Q~ipO z$B__8BOq|N7k~)d(Bf zc5?9fhb|YYHNG&L^boF5(Ntsdk;+$p${4nPk-@9g{C{5!mc_V6yV&RqZ&mv{7_2&< zk>2r)zvh2A{73P(#p%LjYh!8OcSbbdZmYaCCRQ&;WJvPGc8|jD%7*65fnLsm{%+Ea zWFiEq9vzCk5RUC0gdHx1kS>O>S9Q%X=KEyQPQL{r-vVI_9bZ0U6I$ImpTTqLv zHmzc#qp=EmX|K=EFI>2ho%;sWyl-d&om+=xk9`}%T9^qsvbZe;r9W8@GJI*8vtgp= zv6$elrF@!qdMa7JU}%EnBS^*U7uS*#Z8M`dI0CGNPsB+7C1c@^lGTlgNN&3Wy*`(dBMa`W7(*>eoEI8xH$bZ&2D z+njIb*6lSvRPr|#poVv4lHgJXS2&iNQxTT1bci29xK zN?F*+EXPB2gytpt6Ay-$<+&Haoa6{Fv~{Enpt@dGbUHhCvv2WmDQ`EU0$!F{4dbQd z-^$nlnE&-YBrnU(XBq@XpLzX_xn=WQ4%H!T^I{fkxPN8q2Y%qrm+um%vtWQvgYf%u zF#Y45e?^fWs-e6N+W@>Lv;TsgCH#LZ`1L<@02=%38P8G?ybj4{>-!uSpHF<)0oYzC zvp<>TzS$>ya6o?If%QuBYaMC-8#z+!et790v)U5tH>NcDzJo_OJ2O=~Ge&OqFRA#_ zGDIRW!<6|;f-;Z(sXVEvU!|W99jWqbsPlV%{b`ngq|*?GQ1_Mk=pKaPoo=9{hZ|HT892TT40I3ru@I zSBQjQZfQ+(fmcBVYx1n+aeuKLxdc+X9eD7&0Y+VB z?U$&zkAp7E^-Wc^=SPXbeI>ZgW>|NvJ|D8>gRWb<`8sp8?myheC+nxK;j$BojMn9s z`4%6hJeJn4q>nU);=5I7>B!z;O?x`Ysy*=&-6^`=U2Co$UYA8WW>pSfAK$;eXFSU| z{DF{K;u+A$W_-V0`f{PTKj8v7wIz0G_wkPX{2S}bfCv579}UPJaI?mPpKF{t5t9(W zH6DB~jg1u;c`%HECufv&1P~2)gAd=IqPyB7*`M%it>g@~2VKswgL`#at7mbtY!6q6 zqD5}`=WwqA!$q7r#?x#*Qxh)2NjUXn^XgaQ1z-8+@UNQ4ase?S|98~WC=lSG)ixFM+;GGahI{5prdh-8@BNi8>C0W_gcbK9Ib8k~$qvC;DO?DN6cdbCg;} z`%+5fwaP&=v|E(HF#}SZ|C-nF?FBKOGN``Jr(WnNSl`>ybjnyaNZwcPgFqAsyCVT?B)djspyRz~GZcDvid zQ^=Shk%%O&(%YOHHZ_&GwyVF+?sv1{oDOaBontMM1u;(wCz+Dn@j~0{5)TCh?Fj}ot z2&$3st4cQiIlPVoL|w-~W?qq`G_qgv`*qx;2(qCbR3rUYl`Q^qxE&UVx*UPb1S0=L z)_w#2u)Z7@N44~S;@;Fu0(V^@`$W~FfE0l4U{9MBBf69-W%7EQllrc7XiSd$NVep92>W`?M@gj0CF7%YQP6#`RGI^ZEYULHKjdHUl_V82FO4m$0TR zOfK8fYKNhe6o{LRL=C(WC6K8)45{JuSd3~pk_4cPdFo4F5QVf*j61!)tD~aZaG-8D zq6rb(g#%X}n3&UF1wo*~s*6I+A^T?C-GyQEcgR~*)AW`T4c;ya0|F*gvo4frJg}rN zFIt-zAnOcjWs)j>Z?gM zp5$Bp;5^vz1wnu~`|hCJ9cz3GVlI=&ACwXpBgz|VlC$%VQ-4{d5|XW)ZIVEvP8s@( zK4di1UU=mZi4}>C)5<@ogq+n%VV0nG zF=FTAlm~9RZ8*?}8J&{{z8areeUkRjB*C$2Ah)V#^Wz;ys7cPqc&y`vkTkH7+fBUL zMU2E2%gw5v#;kKmgEbVmV{a6{GmNJ9*otzLMWPE&VL?0e&3c4iK{ayfGL@p5qbpQ{ zTNvEqIgvuMXNgI_?CX|;PT7~8ubd%lNgeX}p@|2%2yVM}J>vj6D`l9lfPyXQ0i^8u z?(X8uBV(m&-PgS=1F#)5R~(VeGCFPuAJ9eS^l`3!2Jj>6M|EB_Uv^L+V@Lg{-8?8s zYbo5Aj(DpuKPh*GxeX$6=X2W~(&oW9+@TuZ3$>A{iW{9QNX}+kZ+V90lArDJE#IQ6 zR#iTUc(xWp@IH)3+91~++|>t*Sz99p?#ibpo^||@gJxk&ha zXi#eyKFZb8E|}zxK4S1XZJw7Qq->MBS-+?Eu+GGjNc>oI+)4gI3)3TiR}u3OQ|z7C zxUBqzB5rTmhj-Ok8DA%5OSpqhkuFK+16}0^gcx?HhtX=XyaFfRb#k{NU&u~km1pl{ z(A-gnK80j^{Z7wGMs88^t$|~l@)sX5Jut+UMaTb+D#f{Dh!IGP_sCb-Vpnap5OpP->pcc-Ec^xHtSl6D!jx_b_FH8h16=M3Z*(Y&?al(x{_bPY(q4E zd6Mt}<*fhnIa+clI5>HN--JA?1HOau)Z!tK`jNH@tGU-)q+v~rr0d;DB zn}qyq7{Gz+5Er1}P9#c^Zks><`#_@(?}2w(IfA1|#L%~6$O7Ic3kTGJq=;z%yH80T zo!8d%mlb{9HGSSaH{9M}Yq=E_FEb{FhhA$NTCc4H^`X|s-K1(WFWBiPnZn2aL)%+G zwbkrx-vtU3FHqdtVg&*eC~l>=yGxK#yjXDwlw!qNoMJ@-1a}VyQUo(4lm?ZGuli4$w-Zv(wsYCZWZ2hI?*{q4X-&yK2uWc@G zXJ!BqFF$D#oAvNCYm#|v`Uf78vA(6}S8oUHhiR?F@Q!#Ve4y^@w*oV=IBX`^h_8;b zjQJ9{o_v3n)$IOf5b@bhW8gJtI_vdF+(cgX^QExj@48|XPMBjj9(y0uIBFf-x)W%J zI=|A=7Be4DK31ob=XGNWK`DgN7Js=YM`d1cJu8owoJ>$PcHGQnU_6uOL2B+E5|v>s z4HJ8A?b`6~nHq0eu=>GdL5UL#WC*_|IYTuNZH{E@D1+=CQvTwO5vlnaFluQpoKrLCQ!ky|~GTbZG5wKg^?)Xwe z*&{!DzhLq0Ys9atH^U1Pb9Df&_S{ePYQ1P1=YKGys(C8tU#RtSSJ@{(xWa3~_xeoL zBJUETmR%y7d~oK}a83W<0(2imc?EW$2BcNZn&R{iL=Tg=P#kzZ*2}W7#i%!`AnW`b z0-ISqRGXT(pK!^ctluU}Rv`6H&&LaR8S3Wz?wVf>M@mi4rvo&%WXF$l_bN<7 za6q1Tnz1YcV=_Lhccq6-@)V?zAD+)K5i(2@AJT+h#&q5Eel;au4Ip@%D%9#syUaoO zm+i6oQ^eI9Cd8{wyDS*HM+%l77xLV1uCYd0?+IR6#W7zPSl%ah-Six0By>H4lSCDt z32UW|=U3?Gb2#>2e(~H=7gagGnJ5kfiDY?hjUNp^pjUDB@eTOg7~|Qf3bHXL53CzY zdszCI&NfQa?hg#+b2*%dm5sZ{$*XE*0e?yaNGdNXu!jEm zx|E3@IjFVWnTrYikNcfzDtSHS;2wI1-*D7?a~(tE-GIp007+rRfNxwoyYs8BvZRKu zzLqhS*n)J%WXP88Meb*o|54KW27CTe|G8iIPx`0T*b$}LdAdG=k4;~V$&&utgaa6% z9Qk=ZqsTIXJ?uW&iIE%lUN$bOWn7S=V0HVo_pzNyf`V1VtFV7gYN^y~d1Pp$|BGZo zhV0$r0NSw%CWLzA9fJ&te2kS}D>N`rH+5S-^sNzN*mOh=zol&q<$o_nCDNLdK_Dky z;s)CjoS_%P&%f3f{4xZr07!(QL}|{Y&?|adPIp9WFYRnwrtj*b#`T5Xo2a7LjYw@A zRvlF{%I0o(p$G!_BX{8+?z9%f^4^I;#`k%kj54Ha{YJ!$eKre^K#1_kQZBQ6ds<#7 zzwn{Wt%w_qpJ|7gP4$c)b*7ii#dxszVs6|Xd2}%OUKyre)H`Q#L~AH?#CUX*^V^vZ z9-E|0nB+3)HXrw7H@80_krtm_8*xkdk>Qqmi$yO-$w| zt}lJ%H{bfPjM+Pw(Su8BqAv;bSCSE>!x=E8>oD4EBeK!;tp@8{D^N zuH>bi$3v6LAbn;P5r{t)_YA=!BN?{U_ZUg}uV#$M1Q+3ruri?KixHU?2iS|{mB^uJ z+XSD}T{1Ro>73!Z&^3ew(xHe!F!hd`EAT|Am|_Ul!Ny>zjWg6G6+K zh!4Nbris5lY|#8T$kr*G2!EoaG5%Aed@bdgy@R{uz@uF<6L?M%H>ynb3ekgea}|SM z&%U_k`%VJ+RUP!Z2IfC6A-QyMT^n#`=9I0zusQLEmiSBhN$h8-w`@)vT-W|b$q6fb zLieJFEwPT9zqR^n==wy~b*+uWeww=9#(ygf3@88qncWP|wL;ez`l~^QN$K@54DF(+ zw#l70_8t;-?2eOohj(!f7h&BD^8Jl$xq7mbB@sqTtN~tJ3Nh&t+pgM)<#xpUob!-E z*~!|7Z{(U2&+Uz5RHKUQh}Q~f>Ns=jWhd(+=E*e|p4%JCI7JmX5&vmMr@#LjXX|z` zy+bvVce?hd2X)Yot`jk?6P)7jn+y6>1&!9sjPfF;U*z(CwvBoI?ypUTI8Kp->(mJd=nnOen-$%DS}(U{hI1`47BIVXPQLoMK<7FkA4Q) zIzD+P4*m0%!zA#iW_daCya{&%ycUZ0V*inn-zMmp{>sZ_S3iIJ>3Zsd!sk1%0+fK{G2(3%#*dB0=E>Ml#85j>Ns=i znJ4Q%%_nOtkk}i)`O`#BCEV>Og3j|dY$kx>6N_7>MsO=5IHnO?4*_9CPVp_>yMGk& zjnHGu(N(fdA~7oX^lxN$b;ehhX*0%W;UtUc8?q^d*RnHmj4J|xhD`MNYi9JnWdf&6 zv$U6#WoeMBsp2Ou51H#*wa=omBj!ouypUgcH147%G)*>yQKkKXGu5!VJui0z&b~vW zxjkm)Mo}oP}MyTq5GbdyBH1UX z&L#I&v*+qB#O3sVCM0Z5f}~rU5(4%t8Crhhu%X6xGu#Zcbz{JmOSemmub1p)J-d0UyoI!eZi zp+?Ye8{=-TN?kwwtj#_>P|0aVy&&7NX86&>b3?~WPIW^=XBnxia-MHnRdU*+Dj@UU zr%exD*`&W&Hh!>KELb*IA0uXA-8M#Ei_HvwP`~>E<$06lR~R@zhdp@idx=}ARpFt( zMeRjqfTPGaz8u=SMYl>dn6 zNMv{U!7xf4d`Db3-AunoME`*3V|YgwocJZNSc${F)tQK&kPvzFgTCOkP8@S4A>xdO zYFOYP?M^%R2Nx_M(hSUDth^3k^H)L?8Q8h)q2iWsQd%B5W_ro3EfRD(! zUa6Zn)FcYCoVR(KY+I~8%`SAR|H3FtmZhpYzj`*oonq3y=Y{K?O)&7+Iz<$-ykmY= zftjBCOLpH7iSOK7*oY7`^QS^2_~;>>k6%8)$B+-sLrVr%iiNJT0n{yga0j&wvVNRA z`OnrQ0bI_7)TTSVlN0U?*K?t1q+3K|2@>sGn%tt_@yxzWPfI|x6y@lJuecL}`TdRq zAKov2Lk*tbvJo1oQn21>5=xG;YGT>JojJYwO3@JoXFlTf##F(o_&C!c*|F=03VTa( zx3ECwUpV6ggk)KI62f_|>l;z73)Mf|vW0=oK2n zYM&%JLkJt3^vL;$Efu#gc%)+!j`xx-5q&fA5*S<|MRkSckM}Ow4+Y@H6i0WY?~6b&=zx zbe2)ywG`Q2lYFlpl75XnV;*APHe%MIlr^upZPKl>_UL8mx{jVEv19QpWpV6FwQ%Rm z9Fb{;p%z7Jh2HQ)>Ew)KA@%hG-On2_N@D=i&#@@ir3-sb>%%!Cb_ByAkMyvJt9Z(3 zcf~e{*@VTb0Y5C1j^mnecuDB=enepV`*f2ecQ@{Kw{nIOT1IU8REXdYop)V-AV5QB z;PqXshI4!Q1-_-gFN>N!0zQ|lpSIg`l^jYHT(g$9Zb8qOjbt--e)k(m zx(^%6-LJn}y}r$J__ifbN_e9H1q>uCF#dAU?XmNka@s%_3=K9_<@@-fvON4)Hd~^KBEw7^XbYI|3`E*~4;P%?0qIh@Nxw$$ppmejSxlg=r z%OcC_yya!*MLWhBM!WHuRH1(MyR1zyR2kR1;o=1>_ib$V?MDuVR_DPLl7-Q>fGR|NE%i2yB zB~4kjX(R<|zsD|yXl~*DOI_)UGgWB^A?y2P2lCRBkIOgk(JN6AIrGv_FQiYRof&>SJ`!59Xmu-g zJaux9)Y{;!(emKePos(47EEuMd|flluGLlMDYK?;j1l3=P=DV#I&lUek$tR2@}&C` z76hzV*>7WNy>m%zEzE03j({MQX_M;Jax-Mhr&fSQ`=)F@DWXiBC z%klgg z!rI!U?j3IJxNi~V%PjznD)<{r&Ony%+ z>-+uOl&W*y`tqc*Oh#1Vg@`+i#89GoQ>_u5^)-J0tavTJMmx)A&&OyDR(08wXhX3+ zCkt`PEyzI8E$-d=(aC2F5QE*ib=?F9vZ2mBx*%@+JfVESe3ZL48T3XtAbUfr5B(HKsDcTq!hiz-suLqj11M47^rXDLO-3N+=fv+ z!zftE+$10=Tp-;2miy>)3}Hpbj)Xa_*r%x}t%amX&u~}%wG|QZp2jGiBd_@r3GtXb zkdhmQDr3o?mD5)<@4}#Fybcg?Gk$3*d^&8 z&vc(*wz&_^pt2z}dOd&O#7UP2CQvufV0u4ZR5mm~^r}_6>~dd=(ci=Vv6XwSu!6V^ zq2A!HoE=^FRHGrPK!UrigG9+yN0nE0?UosKY67vmKwYoYisG&zP?6bHLC?j?4pmEv zkxdtPUjlHcYrG#=(jczTW=Zr8`B>MM$m;sVG((y1gnJt@BlGq!h+&fWPPo_NuBo@` z&SwV=<)3tj(xf{C79mPf64NCv9#phzTJO4+C_rW7K!x+WN>fsxe8SPg;@HYn=W}U; z4km!PDEUhoysOaVyY%@|a1p0(@O+`O{z50$-eAYF7{ait8yy|N$tVq77mTErw&_9_~zF_pTK{8u@Z399#*u=B)2 zEEmQ>!EKrV!4TuKm_qruu8&;20jhd8y7_NwI6_DI5_jq_73tV~+RH4-Gx&e&eMScJOvq8*^`4dhL`hUN)s+y%AJAuC-sAJZu2PcoMo#klg;UqzJXW6Odo~QYhc3WwL2Z$*{dlPN_Qy0 z`2#=iFIxls59k$2liuwNY%bD$X~(`FrV;qGr0o=#5C_3Hr<}r}eMmU1U&8gBV+)HA zZK*TIH*p8e_hZ-fA|7oHMe*`?qAff`@SXXCjyMQo=hK&z_-N9dFI}DpQPX0Cg;;ey za-kKX&v+pBk+f40{?-Loh%5t34cjJ&?|f(nFyQ`-@r1;MjS`zH&oL#0qr+PQDBD)P zfut6fGQ}&$m4; zC1oAt{whEAP28mx@A1I+?#MN;fk?j_;Fp5!HAfvDyt|eX?>vv7U;9=xXsUjE?bG)2 z9Nn9^^`RM7MNmIn_lWum+dDI$Eoakjcr;I}VY^1$D+osh?DeDNU=?}j`}OiZwob)) z7tGM%_!1j1rSHpe{=zvX>tOdg*gQZmoneb-1KJS|XFTFbMVCNBVP*gSgyZI1sn{DK z44vqYC-lF$et94nvThzqZ(aV7EU5Y$M2dgc;Wg*|G@c(l%*AIP)CV!m;?@W6!zn5; z_8zvprW-{lDWhRD24Q;#t8-Ta%rPV%1>rw_`0NYLkEeJtuLXXhH9f^Wc}+U119RlZ zxc>g&6?W)%Oxt34!?M>7qgb^V`%*ZR1z>~CpfR}rODvNIz39E+9>k55FVz6Okseg$ z(FU{W{PZR`<>>k$4jpxW1mlfVi|BV)?=c&K7dq+8(Hlt@G4EeDtji$3&H%XU(Zke- zS*xk)A)B3eaM>dgZ>m;wmXJSVZQqaQSl*3zdKc{MSCQFHdu}tcStI%)2#hNgQW8C`cY!R~FB&9rQTwhTr;)DFK)Tm9Bue}5rtfNJIH!An{V zRXToC;GLt@s=;Pf^n_dIGX?vf_Q25_Yww(Vn^v>kn4pmlY-Zp|;}XGDAEjfl0`Dv> zF?F^q@RN~*?o%PultI*HaWJ-iM+gVJlk5nN>+OOm)`(7Tf<{yxbZ-Z6z}v}OV7QIW zn2QbQ2gYcZWkEN3|JFX5z!iFjNn3;dKJAk+%Sy7Y%OHEBHQ8b{u7n|GcIiiTy-rpL zJVDpHS47N;E~|=g#30mik-LKX9md)(n+9n@U{xkpSdE`$?Rn!qa zpz93&PAc@sg{!)GD@ISy<&n^nvj^gx7I2qQJX$ow$3XK3l=xvm7I52_8Aw_@xuCU< zW4Me9i4au=x*8@pc%qXE4tS|F18;LUTITmYq;B;hSZ={OG!3~d@AUguTQu@gZM7}I z`;ck*e=q-=bNprN!`nEHmdU&iaa+AGms`*eO@lAXJN)kL!J}ns??c{JFRJAh{6o{Q zORg@zl$HOdw!`sqo%f+pt5@0jZvy}}M~9LIPRWB!tyVA21B@w!g~V z+tY4$Xg*O{pD+I)t56&tj-%+YFfaVOG7jN$dTde~{QnptT?_}zfT8cW;N{om$BT@<&_ZI@X z&ez+mI(_c{Gs;z*n0DM4xIAl&7@;@~#A$pIjgb;O*hywC))?TxSH+#o`WiBLu-zV{L{XVW543Lr>%^tz%cn28$@kkAwHAK6k82-vdL zD5VWOdh;~NA4KNl#y>c-Rp3(n7eW~TLRRIDeiE1JhZz90|16b+44E?=nKMdp)#}mI z>Pgh}>~ywYux8RuP#_xkJARiM>PAES_vGQ}x?Mx|@OM)# zH4hg7Xo8SW>B1<+N}NFQ@NC^5BgsET23Bl1R&4l>YN)RanQsAvl2KhFt4B3L|5=h8 z)qL7DZIeJkU+TKl37M2(mFr>XM|DlDy3`pRrudTja}olhx@K07>V*6`4`OzQT-2EuBcX`w?a;p;BiGoa3l&*|GkQh->S?-~aq=p*Meg4}UyL zM~mwllm&n3BD94W`=CvVVU*$wqqar(0sh0T&Ng2>TIVPqN!pEnbQlv4H=zBu=o4;o zgr6pLT@S4Iue-Fn2?2#ODrkrQFW6Ya`WTy#;L{$sKaUU)f0!cV59xZpn&~h__-W6| zAMzjWKNa{tl>b!O|4cH&{c(hV=));Nr~ib$meY5!kIVO0FTR{UR`PkF`vzvDkP-#@kF{{xxi(yk-~ zWX`A{8P>797CGX;AJ?ktX9g4TteA7r4$YraK?6uRwP`0aY+JR2f%4ZDCs2v4AgDDciIY7|wq zvw`Z&)(A)FU+Y6UgAXwzi*g36308POh7hkE)n+4Y6^;RT?>X^DgH%=tP{EimKaa`BM&L#j;UiH=O zN2hbW&BkKbp-pz8oU?noMZ4nRxTqmQ>*5qWLx&jqg%3&>lqa~8W?sex_Rn_kr_Rps zIMwcZUpv#-d)hy434Zlbs6am-YWUR*`e{~n+mtYad@Ow&S~dZhP*%R2-INheA%;(S z6yANgbhF_;8Nw@uRUalHbeAFLX>dhkM4(!Bp5&;rRv&0<;#|@Hl94edFz&uz4KQT{ zs7Sap<@GvXQ*f&JwCtk9I=Xu`AlWS3Z5)`ZKOP%Dq`5{a*=5$5)B7oDH0aj;lH#jU&LHuR&Msp;SOm3I2}lnJYJsV-GhK zkXDn|cmPL&Yyqti24U^}Iq8Xu(u6aaGK2L!IoNHtL;^zWs3t3#E;^~sW6vXBBCKv< zVnG<172?5VM;YSk<0ZFgkHmrH4`U4f52tWEQr z13isok~geq&iQ8n_4=v-6ceN^wvoU|3GO95SVDO}A3|)yE7N1N^_C+y{yM=J7qvTw!XGK<^@q%NDTLb8a9}v zkr%U5b=Ji<2xuOhkurLTXZ>(^a^&QW|4OF4X@Kf-&+6F?HLJt>hZH+EY!hj|C4mX* z>JFRsHMy|DnQYY6+2j4K=(;*uq}68hO6_-lX(pCK-AVY@$$B_3@>`%LQ2IKU_99a*V|5p#wkDO>q;eehZe1z+y_vldluCa ztftAv>*>SQ;LVIf4+=x~f>Js#k#(#1^X%dAymQ-S?uj^IE9SP5^;$2x=I$u1b2YC<3vf-(?ODW?uAJ_GQUjYV3}P4MRveP3PgXriLO=d%s&7iZ&i&k-Kx5xD#3W=A zt^8SePD$Rb?aWw7fkI%b0Q#~GqyDC#d{PP~=BHbSCyU#s}8aj-> z#~zVnmMkx4w<+r|IEOa8IX_LhQqlpzRNK?19>AR1Tc*CY-vp3O@wE5(j}(7x*Y`gx zs_{R(zANB53)tY$Uh{`t2Wre9l5g}N>HfR^#*+^xoO~w(3P)Z|VH7%T6ovm{d6(nc z>u5&~Ng48d$9mp8*F#&hEEt~NHKo7dx`DIfaQgPt#CX)f*Kuizr7H<@J|y?E33fPNY-O=hr1cuva!GqsyVU&CJ@b>nw3grb`HJ zUTF2~6_nY7f0T%8C$n38?r;{VoWV$S+bW1<*GKe!&qfpnL7)(*TNBo(&HL?|2LS>y zKBm&!!r5mTsv`vYg}Vj_?x)BUDO6^zn+bS4s%bn*!q@fH;O2OW1>(e?>_d!ej72)0 z2}R|*QU`zo*9X&|%Uro&_X4o$_IA)&EzozKQ`|{O-EV6fXW(c_5!AAEc#|dx_xt3; zGJe@~hFk+k24i}6ql;Oh(F5Ro>*oOnH%8a~)&?PL)8?P~Q!NP!4MIZsuToF71O&cz zirK#7fTo267+5l}TxfQ;QgT#vE1_F5qgBNR87N}uxz*!-%d1R!T<`YmG^#RHr7Beg zu%Wb}pLSVP=~Lm8J-~a|7xsL1bd7z%A6bW;PW!oC}XJe!7-JN$g&VEcUfF}Z^+gz)VXKOLLG z!X5J|I!MT=m3TPB48V{x+(AC_mR-Y!$GW(tYPZn7Rzy9^#|`bYN=0=lRK;mh_JlTE zc~U5uTU);}{P^BTy3f#6q4(g|rn&DzqE~L0TKakCtmUOu(=rLGx@t*tn-W*i^x)Q3 z_Fza*UmBSl*s?g&>FKp72CLD8LxRRQ&VSpjJxcbY3DEgEHnRnpr$R;tmb8t*wnk1K zgt*7^bW`TO>3wNMc{&lpmuRO$NycueL!H#Eq$`&+z^6wANd(G8DEG?A^oA+-O3U=V zmgx;r?tN|0``VZagP01#$r_*15@}HtC=F;YbI91`otpFrjS_H;@ruzmEO#)ODH14m zFrBHs!dLxHPh>amdl&Oy@*T587@ly z?Hdo1Soi(xob81S89Q&@C0IYtSP_=C_URQJ88}+pXi~NIJ~&$J^#5q{ao~7yyGc9A z``~1;=L9AW@;WH<$|_nx{<>+ZZYz*+C~MeQ@=#0ugspoZ@|HhD-%^oK_l+oi~-V}8G#=XkkzV}zQZdTKx$*_N@ zqUo=x4f~C$4XkNL9xtAX8WZ-B69cmii9xXAVD-0`&h~X0n0m^Pn1SkfL*`$Zo80_$ z%?74A4ud}Pat^y1tE{U;T{KFM1^cyvnymq1q|$a;twQTf5K{k8W| z@)P&@l+%6)B+xABr(oyVrRnkh%}H02%sj+4Zhz9;U4(r0O`G#-(W&7nUbej*gc_Mc ze@C-kmi)7_dF9l1Wlim2y|#oiORix}deof-GKJ(uD7sdR%&)&$_iW7&TGiGyx%s$1 zpV4`sS;K1`$vGgdZ28fn`v5etuSHyaH@1>~wzGjui5O4bzNp;4?_g1nJkzt}QMN^q ztbTFY+jUs|SYR+JS3FgMJXo`^44oR6k2{Uxt_qz)_)F~1I#1v~W0R=1Giw?rirkB9-TJT zFA;(C#wmhEm(lI9dai-jxHs9{jH7IzDKlt*F|_Ze>oAF0^l7`y^;tx_-fA6Cd!J)$ zOcc=w6Kc20Ua;NOX+6{mSy2@?6fwy}CzYg=&_QQt{zB}J^J_yxXb8EZaExGGIq!pL zcTZ%qWZiu@KC_7cOAdNqXWcm-A8$s)F~r1W7Y+BcNEQtDRX}rkoA1^UDa}f^h^bX@ z1+ioRU7&Aa^Rg(7b3n+|c6zru3=oJQKb`=citqU8EZJ{-YuXX0DVx(*UXy#w=ORO;@e#$3Bqm%_;b4xo&#T!oFK;Ch>>+hv)sHbD_=pmB($y z7`kM`_zSoDn+QpWQeMdkw+{)896R;)#5(hFdHAQhhThNl zdFs>zBWoel!!*rtDyCm6yu&}_hyT(KfANMPD_n&*xPD|3B!R9Xv@E2CTa+A4otDnt&Ryx64 zI>D)D8%aiO87fuv!?E;;FtwsfB)~Fi&N7PXhoJNiK}Lh$OhOw8m1@ccHuVNzw&`t( zUHnLoZ%l*PE$LQ!Ts&0w*!yZz7)MA!x2cJtPJfA z5+=cr>-kpG^Ub~I8>8jWv#O0s8Biz*GK~b;#Dw5uMz|}UrLc|x+q(m z{0&KtsYs47nN}UxHM5?TgmY?UjVYX0GOzM6O}i_XZl)NFxMc2&q&sIujBpbJU+WMV zuSzs@2cXT&VzqT~GgcNycc4>wXi|AtP&ucOtdspL!W%4dc$Qb57Tx?My0)_0OPB;E zYn@LP5oS5)J$M|rj{I!RYCrh3Xy~zSPqOBWPA!>nuUT-zym6W1n4x1N{F}nV8JXve zEV)gyB%M_Ev}5~|8m_%?s^0?qoo=tNzx2J>7Fha~xi!K#mJOD2>bE#}0jPiBQZEx4 z_BU)f>hF<>kcfO70408g#q{Ramq%k9#JSAGxyH|B8e}2@BOfD4o(Uv8s!EfI82SyE z&>7}cT?c4CwMj!49(U^qQBV zPS0nE-W8O;d$j9W{;E4-B16bI>uk-T7?S&Phv9bsrsgDt%N51%8#*^kuW)x+8R+xq z0K%`b1jMrx!&8ZJ@`%E*YWK`_NjnLE&6nVuZ)(N$hS?1mgik!-agycQ=F_fD?cmy;U=i~sphk70OQ!C7u(J1 zsaxbh;6xTpiri`iH7oo3+V?nR4ZUO3OygziH`HU&p4%isG<&S*+$^ze*wMC4JyS?o^6Te|vlc`#%%N?Pf8*?A39jZ?gui=3;VBrw6Cfe( zC%)TTLJQcOZ)O*N4g7v+GdMDP>ExRcs0S=?&UrFI8kLo?Jh3Y0XFAp>PhG~aYfH3k z9l1Z-RiIR!D$FfBeoSB-H^I6E-No@$LD+8v=DLEd*E1C~vcV%x20(ofXQRcCyjz_! zBTR^=n)LjAj{eRWYphfLFh?%OB=P06=8dKr&bd3{{*K$9VMxG&19WOz!BcTZ)Y0+l z7TWnt2&e})P&HF^_NM%-2m&3r!p4n@6>Ps-v<+Za1Ge=wo1Vk=n#`uBjfZdBpkM2h zy|OJbIa>Yv8{+0SY3)$dvG(}_dxuJ1h;#!h)tk3bNrF6~TQW?s;6_!IA zGszj#s^c@FVJ-=A4RQ_Iv81)7Eo!F5rot|Me?YXv0FhqIZbX&&HiDZa^~0N>o}fJ6 z7MteHqQC=&CA`U}m(MSs^LMu`wrLS~=r=Tkig?ot~yr7uv6-$YShdeFAY(sh?K^J=~7V1RPr8j`BfC`W;xZ zrCvZByPO*D7d6)zJ)$<7zS?T~erBTJJDi+_r!-@n$bN6J6)Q+rO1 zG!JJ`HKwq8WhmM|8E>kfR&c(i@S*5W zQc>IIo{xz|e|8Z{=+xgZUdpp?-BG3=S(0YIm_RxMy5g)=tnSio_}1M)u}R)l@w~~< zPCZ9QYnH*9#TtXVP9(-)%~FkFRtUj$cUY^Xw17aZiR==`B8Skb(jFVBUx|)|7nxpC zjIJ(UMQ45P?DV@0D=5&xvD|m@$C+c`^m@;2`l}RK)sv#JX(v2|ge$VyPYb#yt|*)P1*T38LR~ zu0NS~-)kDE-JCm3v>s^yY1OwqZaK3`aqWj7)A(aO-kE0(>K3-4(-2tY>9P-+g%-$F zP8w}ERL(e7%|y&X5^|2z`BVDAdPPaIMOMXyC6-EakY@t(vW~SJdQGNe#dIoEmR~cw zpA+$V7Y}0*d~c3ix28m6l%_NP6!UU=!@$geapC8?xhklhB?!|J6j%kN-K$`;p=Qyw z{B7kUEa#plyl_|#y_f~k)N}KGej*Toysl~`*`SLiEHMCZJAQa2QXRmWM_RvStA;j~ zA@X_SH}Oz$o~;`FScaRddo|PAQ|&}n<@>pYWkGI{cfU!H{kwrZ$j@#qun*AwTc^u~ zUobD|$YRw7*MZ&aG1|fQ!8UuB=?<6mwen?3NyrVyrT&h&Bf?=i(PAQViEj~B%wjnw zYdMs;Z5NSD4wnTP-o5YyBgga<9TCx^mJ^Cne~lq z88!t!r`@%{=K3Q1$I zqVKxZI@R(Bx-Pmd5}Ea%@YnWu3I3+7+b+D2(RIsu%DSQai<#Y#i!X((A$qp5X>9SQ ze@&BNC}+d^yMySJ%IFm_2xLl^Y(QbS3SkgnKyOcAokcx0V>rXn;1S}1u>f-xA2_j^ zwgO1niT5{*7>*Rkx5G+mc65vvY|^89ztFu4j24%>e)~I}_k@7z)b#ByuO!#yNY^Zl z%zfqyk||ZW8!6s-<3U?z=DfDoaxK6=@FUC%XtTF+Hve_AA9Eq63t)t{+3IkiZtgCV z_JMoAQo^&8n?c<$$%8mZgyf2PQ6(q|l!S}WztM+mWTYTOHZ0W78g!rWpTtrAL>Y4< zo9@z=*}hH-BJ`326IBK;Gi-wtt}U0;frZ&C?nzk?&?wzGp(PU0dIP-L*mJgnAj!2vq4Tu!PQ$rI z^2h{?q@QbY$-`zkumWa*_z_uy`W{U{e0q1FeANYXc2E2aTe8e+k4tXjLT*b00J{Wr z&mDFb;9i%fR$ctaxtnWG>#p&;Q+%a!$U zMU+vM!mC==b1{H}?2gxs__#cQ@HH?pb3g4=qM?)el7?=(?_7J>bv&CIz(R&pl-{G-m~PI0)d8s6Z|$UNfu?V z7xEBy-cInY{CQP$jXG1DFL=4M<&f)Z=}o>_i-mAfg?OEryOOoY;av}ES@|GHAtrpg z_>nqDb)VU{Z04DlgKg})CL3Abw__j0_jUOiow;_u$awfw3X*3VU7b zaRgxj5gJNEZR188@yO6!#y6ddz!(VcPCKXmR_Y^!3=Bjd=>sa1))V64?V%wy+6Le<1$39j&6k0Bv&3ne`*j{6a#i5*8&TtZ8ONq3+CNM=fVm0D zbfcK3zm`5(3j2^e%r)gwF$(hkZK{O4hR8ud%o`1@Nq6QAgw3J}E?(jj*%k3Vj4_cC z#9a9>SiuliUbNtQXSH@s*$B8$ZW~YFd;&NB8bU;+rf-l2k87MPgJ(VvrmO zg;&U~$M%b%i0(pn9$d`IT-YkeSSiS?#YgmV6356tr*4pWMK7GCAG?{fcK!QvGn@V- zXH)Kbuv<~VLo_z2u*9b?m>((Ow7Tg|BtpI=n@rVe&lPGFKIoHF)se5vzFzZ^@lQ-9=Mo{_hKWzMqR)MfO4iD)j6ndFKrGFFmVdh>iI zheVSoC1ReD*n=aoD2gdrLd9}Bk2(20bJbZ6iLyL%GNA&1F3F(Tz;c^~M0rygkjYwA z%USiIuzTF+&-~$p7b3viEh!S&P30$<+?pSh`l6JcWU^|W1(V1MCcHpAtf~(rk(SAt2bS^OZ6ikmPlQ6THlh-nIM-d_}sYMt8GIX}g zI~|WTv7hG>ddtxLr0{t9bmw(e5k^lg;qOS1FRVMS?~f7F#P+>E;7buk$o&EAe-@}O z!tlu@#3%81sy!KekxM8eOZO;3x0uJ@VrvHYVh01Ckn$VH2rCIj7>b48&dCVru1qf_2OBz&FSsv z`@cQgc)TH>CeP>fDoQV2Qv0beU!T(Ouc~;y31DrsG_!jl^zHCj%C9uEcws&RUYq8q zaUPiyo7niFk$S^0cG8w5Tk6Gr%Pmz+yvUqsOxsO?&FpX3+{l31Rf09AjEfCOujiVF>6diki z!aP!u`TM#q!Q^{ZJl=;-wj$VyavBue}1DXR1f8?TF zk`pvG*mf}IqNU7^EO5V&K6{$7CB-R2M9uCy>f-mcO`(oVw@5)Jr%Q%R#OUmM(3VtB zE;c{0_zU3KcmJ`FllziPz8dXYQglqDRZZTP7~L%t5nc>Wm&KWu+cLLg`mStlY#?j5 zc(;-~Ua#^ba;fS_hKky3<;D;#YPU0rX4+*Tt7zLhNV_hqQ1B!$ z{q7c}l$P<6|GYG4$}MH^^V!6s<%3sk$$8aPO+!rZ%4f=0v$= zp|Vskheo+Hj@|NHYF@o@F}j}RsF8s-LwCnebtkVT1(!l- zCekQCC&T&BovBeZ$-~Uu9N;pv`RZou7wEJgBU{i`-T)=ZnAy+Hc= zd!uS~{lu(RJ(?Q+KdRmWDvn@@8V(RbaEIW5#ogUuad(#h!Gi^t#ogT@IKgEhxCHlI zB)Ge~%g1}~*ExN8$9X?PgDMOma=P1!~#-spW?v(f$gJV*m}ubforbmj7A=qQ+OHl<_6* zq5}tuWbN*N!~2Y>0|&cmX*jst&50=r_J?3ia#OTKlyj6@lpA6orx!}yzQ^W-Kse7C<-~KFd+Hqm zMW212pQKNxe)!qxmC%`Y&t1Wp#adWroDbPk$-VH!%hFxB!*7SoGorQT&V^3C&X!Kk z&WBDiUt}MV2fRnT2fU{dUpC|AwDXr^{Z0Kt{oRV&*?Svb*)^>-?lreHmQIq+oKC|| zV_#QcdwLF=rrJy$8a*0a8vRn8QoT~$Qhm!Ij!A>V59JY5u61SOcl7Gx<|B#WOO7@J z%Pm-E&WEMTN~kH))q`!@a_#@hD=zuKnk9mo-HAF&ssBwZb#9{H?7R9FVM>{jsVV`(Mg3x zE+?+jx0z^m2h*mnBevowR>Lpv5xrd9hBYl~oC!#P%Ew>5zC|pPX)^x)CeR}CTc@$# z%^9RoM;i_NPq80;vi(~2O_gYA_(iq9fUgN}ye`HnmPyiu5of$Ewxbt$lb`M69|O?fb$3&yJY9)Bg{Ip{TwbOA&B>FGR`w3w#>I zI;jzD>|%tx)=NGiN8DO+kK`XvE#^r#b}2w!*(IMwaZXqY6IKOvG`f1;Pln!W?N`Aa zyyTfJjh8Vp6Rw;eb^{v^FcEsz(I{ zb6nWq>XtIsamlJ9S{uXa|4O6y;8RxBqf5!Ecd5GJT?ech#RXSal(~8q%vnU}?fpm| z-CCnb8?;Lvoi?0l%`bC>FPOWrN**=i9ND4608ik7Cm3vU=xlQIXIdFmj{==fS%Fm? zggci%vB#@hvISZroc|e2e0_hoq=A*0%oMp*SoLG>teXrc7|)%%STdCQ}6Ev(M@-}F;RJy}4V zv&|@xiK|hyX+~u@m5`p^s7s1Z{rzHa085Ez`Ey#7Cp1#`ZN(rny#*y9KK;)%A5HOZM0_w2*M76u-d_`YD9rBR zD^^UVTi^R#=gL14um&d*ZwO8XLk-lL#dy}X@FyA^2KFs)X!j!c61lh%<_%-@K+3v@ zWt9(+0P2~u&RbC4)Yar;!a;ei<^m3 zxy?k%X)5_!0+f$+)7C~7U;d{3nxM?AR1*mQWdH4tmZT-gN>WaGNcfIDMIuXta2Iik5lc!qmu)hMw#H2abKSHcY%}8xyS*0^+dhy6Yo`m48ycc}>v+X)E0#RvA_$T^TV~$l5?-YVL}L5ENjsXc}hN zlg{01kN4MP({InHv=a-}Qs!eec|tY0Q*Q(c-1S?+?uIq_6>x$`3%+~=vdOHxVB;L2M1I4->CZ2w{q#`qfExAzyhqF*ePF|AtWM9?;cTdQ&Lh&-l~Xt;d1db^kNBRA9H|I`^@xW zma2%Y?^X?sK<@uV5JSYBzO2ET;pQVLmc?EC#j@e%5h<4OUHpA(SoHZRd*YP^B~McLJOHy!`kQH7 z^xiIeZq|^;4~ngpi0C~$_S_(>x2Aa26>%w7WP({H%2#{x3x`rEcVyfXr{;L+LrA{vXRl zjqwEjj|dP`1js%Dq%Zfpq_w$5iuHy!#8;dn*~y3X5K46!!`&KH8zb3iPkG6dIMkf= zE^R9$GbK2D=a1{-V<5m{;M6 zKNwNH5x^!jMx;J}saQkr{fdP2zKEFgC+teMX+F!BkFlQygVaA5tbj=Wd^SLp=+t=n7vU`yW(CORaTL-8bM1E2m_*ir0aB=pz z%%3G5GyG%bMOq@()^C?uY=P~99=TkODYT3mJ_z1??^}aWb@25kk z3Z_^uTY_V65{2||(i*92-olH-^Fdw)gNa9!>^AOqEinb;& z{ysL8o>TV~kXpxBNN=V%P!fGY;3}p(MTUY<*b`{-{#Z0AHECWq?dj|h>nRKxL{LV| z#T8`nP(8m~=jzD{Y(_Xk6aM1Ec>nXff8DmHIf(3|2%;b9GylD>;}1tuR!jp-0}=!L zWvpdPHF9HG01hG-B5r7;IEi?U#EL|R_=|*u_+JTtL}`dr$UrbNVhp+=ek&Cx`A>)a zjVbJ3mJ%#sM(74Mj(T%zMTpU)|H5y~ZQO1sZT#5y+w1!`s8>2H z4m}S`n8C;BzTkXk!?u?v!~uPc#Eu^y=*vYy}Eb>c90mZ1VP7hk!d3usUpB~0O>K1!^-(EVqz zlE_7Vv|1U~kUQkXeY8{guVHokk@aZ0@<4aZ{5?=j9+=lwRtu=5I2T%3rQ1eP9gd3# zbfy@mU;@|!NC1WuLKGbUIKW>D00j+jB0M@aIwm^G0JnwQ*><~n=p`W{fd()sO)b3| z-A?wv%g%IZVJ>CvW-dmFr;Aq}Ss7s$X%{zR;a&goPAhNaCgyf@e7lfS-)2FUy29hF zatm1)w9HHN)w=auz_&2Y^;Nu8Txhmj%Xu-mHCs@&>`H&pyIoo!GY2KUc;5b7ShJiQ zH%iYLGD_&+_cpvuJtpC!A52S1z#g_vR8Ln=o+dAKQM$`E;(Kuk-A0)t$Z*k{D9dK! zOWTf~Y+>F@%|_(A+ZD{dlALJZW7%uZz4|c`#+SFNF!?}jsWtJO-OnfQOz&*t%)M0(O>Y;d_rMtH0Ycev-aK)hzwvY&oFiue0=aZnC%3>HczE%a(J^NC)}d+;W@q z*PEOlbp42wRW_owU(~{+r7FSi}88TGqLP((1 zk=2t`sa5m7DWnr31}Q8Ylva+&#T8=lQoX+1=YnJvG)tew3V-oseEfOczi$g^E+mr_ ziSQ$R;eYh~`QxW4C#E5$A&DXW3f4+O>7|b+foDQHwP(mXH4n)p|DNmQQOZ9N2btCL z_5{z;otP1#BzM`>`}U*DAH!Mk?hdPeJ(ahGvhJK$-)zqG^NVP!?(0h+ZXU4=j2p4sZQ)kUYJ*W!R zjeCCD1QaBJ8q3WKS#JyyIF4P6^+GHCd-R#NAhxlvt}vr8rLd|nsIZ|htFW{%uCU82 z-Ynd#$gI*V(5&7p)2zfS)-1rR&Md>M*sRJd$gIJv%`DBVX3Kx8b}N0WsPMN6(+u(v z&K%26{6{2-kc(ag)1+R!kSgRQTsOvJwfT-(ZPT@0n2;dkFx*&XVr||!N4bsbUfqx@ zBz!z(Is>CWza0%X26~x71d!bEPZt&yLNG%+AgB%r4B1&rZKD&sgIc;_Bmq za?Nq|a4m3+b4_y%g1f=<;4v^1JO}OpFMwCTqu_t8-LCVlW3Eum9j%qtw%E4LrIXth ziPJv;_ZP*r(xdVYFrdSrTTx@US}dVG3%dT@G;V~C@V1IjVS(ZjL8 zG0ri~G1$=EFyAoN0Bx9S=xJDZpV2Vd@Xw{&W!`1X1*)!DiFfp$)hhUHQNI1ZHa(n5 z{>VB-ZO-+dL<-=!)14YESNw6f@Zap|{~IZdAIFfZ^Uk#3by2zL*^eBRhQq>Qq}g8W zVRn(aNz&gIb%#sFD6HnwexID?$>qT0U|93_=;E=%)B(CQv^28>T^d+gT^e4RUHZGU zv@|I&rGG%OL9#`1mb0C6n6r^{l5=LbZFp$7VYp>@wz9o)xN@+vwQ?r3Ep#ZfA!OJq ze@q3IKTP43Z>I`Kw32Nta*}OG)S|MN=TH90e4qtwC{mVvOBAD$kdsP{X39`uZ!y;! z9!un-LYBizV`R|Pt#2}y7~V}hp=y)6O(mw~GjOilHkVCNzB%aR?|c+)p4>xz*zAn1 ziKq#w0oUZz6xKx5wAG~5)HwJ%)H40SWYw+!Hv?^XHdUl zIC%zn>Eu{C5@Y`IpEd{4(1qeFdHfV+CPUTMlApc@CD5v30r|V+Qx+i&uf}W118Wf; z1<2y7mtX1H5&C`MYhzbkS4LM#S5;R~S3_4;S7}#VR~INA6b>o^Re}OR^`J~p2`Cm6 z0ICCJfQms?pde5Ks11|`s(JH&t9?s zhB%O}MbZmU#+?Lz5vuks2mLkI6<}WBi9??qVDvvobT9e4=L?HSP8|HPWx4<7&p~vL zG6naH>-g!?A8;6Og`SKJ^Md9Ghf$a>$UOU|`Bf_N?UNNkDVtRza116_DuYn&zBqWF zVTT`46|~dbZQcE#<>!aQ=@lvh`>0zEVn)bK*7N<$i%X2Zzf|QKYTFw*J@50-nT7Dpm=d*wfNx5Iw>uJK*0{C1r-)p!w;{@{=WYIWI1OYS>p$eq-m?FW~F|~){}e~NU+3~`}!Ie zkW=;iEW9qY4(|T`XK|GfAAWKtub_#hr9WbP3q!Tra3%yZxov+5`zpds6=Tf11*PrlU)_TfpNYWjFxJBWI?l)v&r0dNFn zij#R~U69tvKr7>!+JH*dA5C>CYf40InfHuMpQK{m+8lY-Q=KJ|!?J);=0{z+U^6$6yDL>9T*PuntYtin^DR z7lyZ%w^DtD%>_1i7i;JX_Rj#-hJU7Igzd6?Px_;lm_$=$c_AbU&Eu4i-5r!+m)%L) z{l#^ycSPSMO^AH$U;gq{8`djDBIWDRfXSEWh#a0z1D+=v6 z`^8x)7U*^J$)Gr+9!SVic~iuJOM@Y#%#nQ7Sfu)^H6a(L8|Pf=tL|r=F00(jM^R{< z+GN(fDOxGNARs28tR(yJTzo`?C6oOYJj&*j8m#fEf~;tZ!Hv5R>_g`$gBJTymhm`X+P$_rLS%-VBwPOzIX#qxc99-oYA;md3BhdMt**zmHGReS)E-b1^j zrcVP;#?fW2+xGf>`R;RrXDJgJCnLmJcviLEKtAYDF=VBAN7@zpddgjFSEi0~ZB8M@%sN;%`4M z_3_2o+nts(-BiR9riSP&Snmyi9#i7o7)T?ivvd9q_cKsFrv#gC9FGqJwkq&4E1oOf z+QMVB=rV)fqc+vicQ68Cp38E?_S5e*4$ z_U18J+z<9xFPklA6r3me;?aed3kyRIB0Ot-99SdI>U$mX%peags_rZ?VS>e%9Js7) zN3}hvdcCf0a($dttZDBg7Ski*i4e0VoBPITO8GBdMs@P`m7f$Hu+nO^(WIpgCr?Bx zts2p}+zV&mawb>gdtqAd^(7YfVqa48)JWcEFM@V{tcPLcL`~`qf#Ux{sL&oBYY|ja z^OOnS;NPiHvJDVvUe1TR25k1u{tb%gy(lye|60M&CE2d?!M;{zdSuv~T?29oRU2a| z+TW6hy3m{^?mM7*ii-d1B2rYo7wO`V5q^kLZQjCjzPvoC`ZW9Lgxq#o22WK_b$FGN zPDyx4DjyQO=ye47b*uurbkC~Ss_)+6UY8sAN23>qN0@;Hq&_wCa23MuX|>dhfnSOc zCCL=)8Dfkh!5n_p+56Qd&9zH95_3!UT&BL!YZkm)E6FPs&zTz{SlpI>W7cqw@$D#V zhvypp=`!4gUf51H5p^BSqiy{QI5BsqBdcqUS-Y`A_YQOYM)sv^;uuiO-G;fgwi{cp<4h_~HGhl#WAfCr)W#E$T{ggY#?-p3jlT_TjY#xZH@Yw@gjh7ogQNC`TO6> zJ+$eD{GNUr{673$&8f+&=l%MjzbaoV2KVQucE)x0%Q8ptY%04qYEkA8to0YgDW9nzN{0<00ZiYAHr8 z?-)^c2W^R=$yLsHX{kv_4z%RAuPnK z%%ZU2GVaQ4`y~aGc=uyf_0@B=u05_F=$W_eOU*n{F(LpsT#8u=0X%ih2M>}q88eR@ zkDq9V%QvWM0@a^pZ{0SXy}h4qHszjBZ%;SFZb@(T`)_WSPDC(y=Fe*Ha1HC70)X02 z9k<^7_P3_D#*sz~Zw=H^ir(`-*&V*>em2!KppS)DjRlCK^Y zy0=d{v$-N1poqgE8AE55ZUj4W z7ximu@P7wgFI_Lq$gSL$-yKTa{5r(&O%|3T`5gxtEc<(naDy-z0hM5HXKeott27(NThNS(|~ z?k_*;%e^r7#BsFYOpi=X%*?oqP|VDr%u5XCkc>oQIoF!WoKKMM73%kKp7j4;WsWD^ z0(mqwnTbVTv#Hw7Y$3It#G-BVHid*yK+UcFSi>K_QM5{Q#UHSacn`NB%05Lq#W}@3 zMLi`vMK{GY1(*_;Vqs-fA^3v%1^WwGI!-!aI%YaaI++fR4xtXF4z>>2JkC27NHC8* zPsaPsfys->OR_EIUF%kBG(~Xz39iSAmBfzN4$ltPj_4TUnD`j)nBW-un2Z>Q7>k&I zm?#?~n>ZUUn;;w80KK~_XjL{vl{M;b?FLSaH=La#!q zLbgY-M?Cp_f_8#TfeSUPktlqQ%a ztTe0=6iy0qPXffCh>y3S@vh#VDYH;)sF>pidz{ z(FS;;KmbTn3<63E7=Ht8fk#p#|3i|JAX1PLNGgOIatl#{R6|H1s}Mg(0Ayr8d_R5v ze!pmcWj67U>~|4xu3cJxL>kAw?DC;yZ^fXYag;7v48L-Zov#}cJpl_od+)* zXm+5prPH8Op|hkDrn9HhtTU;Tr}H+SKOa9oG(SHdJik5PI6pR@Js&u~IbT0NGQT(< zI=?%AJ6}D&Iv+50{vY%}371%SX${$j8)2*2mLF)5p-q%tziw+Q;3;_}S!H=Go&}Bao_5 zvPyC#7_cFGkG&zu4xxo`Lf9eH5Mc-%gbMv3 zjz7*mPCd>zPCCvbP9{zy&LGapj?d1{PR-89PBMr$$Tmnd$S}xSj$h7R&RtGf&Jv6l z%oa=)%&3$rrxVho(G=NHdQkhNA($e|B@31TD}m)*67*u+i23pGC5zD;gH;f@xGrO{E zq>MmFokm?`YvP{$mx5r@Fz0aNP~$}7=+CjA!#^jlN3O?FhEOI@Mx!U9M-|2th7~5q zM#e@N#~6nhCo4xPNA1S!hL4AizmH_#PgV~3k^J~|X_@~vCch`{r+Z6ZW9ZrtARzh= zHWt?H(;8^^pDqgx?*py9LFy!TU;`}g$9omLh)KT~L7JYyj*&BeTYqJ9RS!p3-daE| z7xJ~?pGUNj1ru@*jwcqaDRZquYGFI#qr~D6@iy1+#A()3#@hxf*UZ( zzsa(j@1sFXw(=%joQ$#$+E3{UA9z3k4osV_RqTOgH$11!A3b<4+88veAyyDfxYM4S z0ZAyoD19<`9R+sPzsU|fkV%pzbz-tGfls_r`2p zS>;l0dm#-_L93|HJNs0LcR||C>vdzZzNLn~9Q#aJN3gE24(IU=JK0m@RD3c@bKR^Y z9I1kO#A}(0@VRL{8y3OE0LMR+kq!h8EprupVIxaf`$`j|$FN=6@>V~a#*ZC||q*UHMIjHzppzY{a_LL{cFqGy&HIatNZ> zBNMBU$TeMO6q^Xie?t?#u4PA+sduWIL67Hm;@~w}_9i$-SQj-r7f8Uq$}vWIlv@Al zXxCj`CR@xI)TGO&O@1c-od4oc?ky$O})q=dP9mfuKGO6~@7(oELb&7_T?qZM`m#Pth z5p2=y168>Kl!KC-?1QX?_!eDM)grx4P0DI_l)t%p0+{uKg}50jlqN?^J%gxHaHLAq zN{@<~d>nrKkO3NYtUl%H50LrpUsS_dxM0PA?oD>hQmiY>fIJYM0~5BL1Xo8*ucJ>O zgo#z~Gr%r;pyQ=@^^Y`ELr4_#(TivHWA@`*w25?4t9^r)Y>UnzTcz!>a6~QxB%b0^ z)hJohqBvE$(3P)ks;Yi6)-v#f;%N?A!Hs?S!tl@hd4|Y_-9}7I`3{6jYwe0c)fB=txQeU{^4ENu0>4_ z>uw>wwx0UuPl^@{&OiP@)|#2Lf_x%&TdVWIkL7D)-c&&I*GZIfHf4BgqQ$IiSTdnW z`Qh(y6R^-#Bo5VXBP`$eJiF0~0Fuh4aIbEu^>}#L2#U7Aj<_a+sEQfwe;f3bENG+B z`63Sl2K@>+I;eaHc=etpv*$-DgwB}^!q({Zw6O^}CJSRlaD0?np3{03_v%CFqcLX) zd2{6fb6(@d@ZWqXJxhep4j5k59j7WrjQ!OEvWipDV8VX>v(LBm@5JG({JG<#7otk7 zn>B^f{+TNJBdW%2V5p*%UV3AJsT8sfd*E#gxI1j(mk@HPFT%;tkT{V=6$I(FrNoWu z=@~6K;z68UqA9}z?>eu(4Eh+@5zUVZ?$@K+mAm>zyg!<7#dTzqC?sa9`;lwS|8dGF z)DC@KFWRd{6c^_8nl=0;8%^e1c9)hnMfueljD{gOE6_(ukno4V&R?_+RQ+Pw65ovPQ4;Sna)K43P z<&E+cJ&SzG$rqVdMlUuu?HKI?&|za(1}BGN%|QPXF)Ob+<^oToA`*(ZucVTQ!G>13 zux&Cj*^gL?eyl@r5$HNlnX+$#rBK>7N)0AT2BqC>I9UhxM5~sM^%^cCf(Wsr!-!}L z=PeeQ=`Lvzp0kdWov>LW*9gM&rVhyuR%m(8enqOHkKLC$5pU-lB|h$7Ulx_ZZgi#K=HH49`Lf;ED+s#2=9Aco=+C1R9k%lxFjUzh=!U*knH3ze zk*}_Z+0Tu^^ZFSAgDZ(E9yIaKl)+cdR`p+sdBpZ;!_HYTw93B5JvI>=7^3Dm#&8OJ z9yX@gThJTtNOp+?yX9^D&fXi(#;Q#--QM!5BlMvNlUU_AR#adJ(aICTlg?m(tYUF^Ys{XWxq=sk(9NE^wm=mJO99U zP!UU7>N2ywLHb$z9NFbWWnxysaxeJ;nNMV5BR*9p{CR!}s^4Ja)RZ#Vh-Z!(lmph) zL(4pis%Y^Nlj-zo7hts(zvRN~t&kEnmrDKQX>mclQZ$^0$bzj;>GZoua67E@?(2C@ zy{cNp1s*h+_VPNhEBU!&JBdcPs&|_Qz(VU2RMM~1sdx-lT>ISdM7?$<9`S1P*@2Sm ziVBl-%KCwh^!Xn>~Cu9{3vknsPa~Oj<$ynDM5`Pq(3AO52 zb;^>9(0B$-cBzT>?woOsHPc+9#db3GX0d+~5%itzt!c7?U$wq6vUL&;-A(BT4`KTGF+$fA)*O(jIfAK zKdIZz11e?psz-+gH25jdE0r=AJD6x zrEc=K$=Pn&w?5h2wBEu>Z35neN<`U0sHH1~Z)$JFTIDP=Y1Vg#MAstLX4i_3-|Z`3 zOFH$vY2V$vi%j%-I8PvfG4M6kNvI1tMaL!!(~iEnaAxf^gw~M>B}CS#3A+SzM8B*f z5>kn*QxfV`E9xO7O<(AUkm-qT=!t$Y5-|u6anTcvA8Bx(Cnj(LX4%yY3$JnQV%QF| z=C#bm?rL8Kc*!hi=B+~*+=`pjl%42}sPZLK8lgJY-)D{|7vA{oHjnUf%WX|(k8OA> zx_&4TEU+2)YWMPVzme{Ti5eq${YlBo8ERoD4K^rZ-$@+5%pw}fC^?&c8%TdOx-I(2 zJqNFj{2gb^1Rh=)f6Nk$gope7!iZT$jegMYX8yir#*AlL6GhW_tA}7;!Y!{~WB-mM zq3zLm3bG`mjb!CEe|=LcDMHsq85s#s%LAJqQ^X}aOCb@_Srtk5rj7#=7kK#>cI0vP9p`T&^Np=y9CRwyB$iU&#!u;+p* z0Z!PUegG17s45_b6>2?T;{sTS(O8nXiQeW+{3ing0LGZ_S1!iH%#6uYMbFI1kVMZc z$gD)qOw0I2&#cJ=MRWGa0Ae`jWU!+-7i6ZRIj3b@8lN*=a=G>dZ6`eEvac%n_HE4 zR42NGsFN2&-XQ5J#H33$X5x_ak%V7XjE5?m~>2ruP6NWplTM&h}Tsmb(r zW<}fcYD?XNl^c}S*a-*~DLS7g)YkR8<5UQLe(k~~j+D8ffhOe_?`sqddbmJuhtBGX zY5(M-lV1R;IBU^!y)MFL5>4N{9j?@;wg+Ss1xySHg)Cww~AXny*SwLjnfa# zgta);pXaIKCZ-CUONv(#${|#cDOAOJQs&P-u-TTRt0svuT=_EubRi^8ti@%68CMdC z0-_#u$&rI|SEX&>e@2-=|JXw3PwLG@J+pJe*+m+QVkwvtBvs$kHCT+k#gJ4Tlr+%@ z#ynHlywygKlLrrlmwkp4Wlnk;BJRePA^kh zmo8@V$#Q>!0igy5(<liimu06`Q+r5gNLcm07)WG<=+||@()hnwm=%a=;nsho6P`gW)Z9d?JU6Q*|+eKRbOZRSiZ z;x~bee3wV3CDV72bKK^m6Wa0DEQv^$4jj2ont&mJd#UCc9osVsdA?^^D1u3br({yI zmo?6T?ffQm*K77S!nWx3Ai$YB;0N-v6kyOvPt)>)bx!Y(91#X2$JceLuT`qZbC z>K5*tEifI#hWMg_eN|1pYp6KZmYMF(#dc=%ZFRP3#r|Ca9y?+H&zIDsKA9Sc-oVrzQrI1#n?a6Moung8AQG;Nz)a537DNdHD9vg ze74w6l6co%tbCcAzq=#bu9=_aZqxcT-s!SjFi?3VNNVG+#61sOyB+IBBoUpVcYfwL zT!YKsC}#zHc>ieBIVf>I9Ub_XytDm$0pqeGJ+ZK17fZksub&$R!jw2KN*)9?F|!NN z&-Nj3zIa2iyUITYAqhqX@A^G=G3wwE}#wG=DE z3w!exH$X*MbI(JZ6W^}<7Q%)!?mpL&fFz6GgX|t#76RwoNcIiiZ-a@upRLG+{VkU_ z^jfMg(<+qMfod#0R4rQE5B=W5yR4njdcvjvFVi7pf(%>>>&YzWW-8D0yB}PXI>)XD zsH&TjwEfLBt+(Ibs(g23;iZCpq$>2Q^ctz7cvZ=v#<0THw0$ zn(vY0vEfnbW%AMZ#{Js&(fg6^h2y31wZ*77kIn?111Xm|U7fYr#Hfb@{t6in_qoKx zsRtQe9!U$gl37Rn9BJ#ggvE8F8s9eb%C*X=vl@Bg-%GksH>v50Q|2jJc1asi=|O1y zv2|+#uj1X;2}sN!Un@MXbhGM04Y4_BSC!OE-y^WpDYlw?sVD1da9-(^H?O?!e%hzn z88L5ik3sPsw$r#Jnhe9wqSlJJTE&m18pl3)XH(Cqs$R~3hM%qiXbI7LDBP!Rr6U5m zLku4p{zzP_b4R=ubkzeAt(wV2~$#NA7_mKk$Ch;9jZjxgu$&D&4GZ`_Lz2Pp?*Rx6V75p%0 zhuWZeYUg07e7fNFpDgzKEm40p?)QKeeefNOcC`%&Z7za6Yig8AT{VogD3zv{E zh|}8luig(bN9jEo>ef+^MEl8j|1yU z3WH-qu9;_*vHVuS#`&nN`2uQ=$WT@k?D!bEKTqvUnx^F8nPoAb!lhxc5`sIwgd2aO z6d&r-7!$|UDW~(@nz9x>RCMy;77YDB{7Q+$_J{Ca0iRw0;D;p3^63uPzF5|1`Pl3ID-SD z06(iHuLQ3?FN^PH5n=$a*P>Um7u>7ZYu{VSQ6CzIa*WkU{@hm@i8X-ygeb9m?#N~Q zNAi!H4n`)gMIb#69%3_cRLFnFTJNk29%Lp9_Q8#!_25Ya?nyYCCEx zYU5Z_7Ua64dt;Y|z}c>_nQB5t&qG z%3V54`GsS871MYk)v(SynAJn34`$PCnuRinOR z@gS{Vv0SOk%)NWV5u?3?QIprA6K*jy_{r|C+i`ysZ{WXkZlx_apFo$QGFYHGBUgUO zOenu9J8C|sTq%ZP2|=E7R4fL88GB|Ax;;914+{qovRE`MLrV>j-04{E)B+_&>E7Eqa1#p6J7OsjZ# z-*?cX<0t?nyH(Pg{XRy|E7vogC@V9agQaXx(QeCN}M@Uw+h^YcSVHDu#8jsxt4RfNr8fi;*^(5DSr-EpMe@{4u=fQtZZ)Nuz!?oQ&-XV|UmGqu}d(UOt;IEB?csC!CefRwTLo3R*r!LpJ z{$AeyHexnc7t61RMP=I-$5ptWk(rpzmCquqK*1HZu53H&^IjpG%`w`-KhWxn?YGbwb?j>DCG~=OQ5{z&)FE|D9ab-^->BcJ z1GIrQ(k9wWg|vmX(&Or&dQLsBey5J8qx2a0HC`QVH~E~y-x+SUj487RQ*-`O?{|7Qt#2jw45HH z6||C8@h)LCt)aEFPJOKYu0EkWdh`;r!tYrs!XK^&FRlhJL(e}wTP~&N5L(h`wO(yd z8)Z_Nq;4vnu3Tdk)v&)6^FA znA)ngsmHmuC)AVbDelX#Z5f=DWBmOb+ZTdj8#CFdb7>hgTelC@ed}-y+ZT;%#m0u} z5w#AD`2JLWy^b=}DwU`5)uR+rE6cstSgqEmwcMNdChP%jQL{zk*rE_kU@I~y7moBF zEB)711*(v1eDRW6r=BY9nMbv<%w5L?*3bgB#P|0zw4HX)PI{Jh(QYcHJ+znhh3(;y ztvK%~@l(W07uu8whog`Sm&dgXQR1Z-vGO{xvaxuniP+jS?4`1HKNsf$$BXYP^$7b? ze8S!>IG+uEJV%R{?xg8#(Og;x!`D?sl*FVO+x|Fv=?RYRHGJL67;c_5yXa%H+Z5B^ z%^tJY>@)k#0dvqiXP&ofm>1|1^CEp}UNVR1tT{}d(dYC9uSXB@{Js>+@G!6LkMJtG zl2@pFJc`v=gSA-4tLl1Qu{QDwuo;EeqW-M@qE4!5>MoU|PN_H5@6}uCZS`M2c)-bO_<0)6vz-48Taf2U|GTxy@;ga1uHw3|7HV@v5{IjKeres9hy&ZrX@rTcyFk$KUv`a8#=GLKUi9q)bL;WYcsk>aen z_`vb9j$qQak3b%eryBbz1<>hw68rN`or8+(t2MYvZ`XTJojr9Jb@efQ67}?(`d#+z z8GQ!L^`{Qdg1r`xPEL0x883dV?) zW1WG{K#X%jP6*?jCC(CrIC}Y*Aa-XuMNScN#QJG$eKMv8PX(X|Nj)qL6i1CHo_7PCsTcL9K{Sl($q-i=Ib2cXa`mv7_fYw~w<@F}u1t&R zARVG3R6?id9Xd^C=tDY7=Pb)|tx8t36=TI&4Xvi!zi(YUx{BU`TSP}wo8+XxDbD`0BQDtBSTpU(vR1HPHn06K#hS(e_-= z_}T$Ci+1E{*VjZhTC}sZL9~loU9_vUS+tv5Lo~^~O0oF71o!JgOnC;P%*#W(n9nqVa=vH8Mw$?DaxRsb)tpa8@m-q2(e??{wYaO$v zwU*h-{v9*ft;xLAKFS7r*O8bjnr?0Jl|FJ$`N|%6-B-7@dsMWodrUOJJuceLEfH<+ zo)GQez9QPueN{BkeND8B`-W&&_oQey_f63x_xGYb-M2)0VWuBHcdtA_vm}1^O8jQ~ zak2{i2)QpyY+mxC;_j2E?DwPM9`K{$KJQ1xJ?KZpea?@H`+`K}MTy5DKOXL3iN|jw z9>4V?;rcP?B{MJQI%^Loexe(p1v;{2{{In0qorh3D?fYC+P6o3eQR_6)hIv5d$_iFbVx4s+aUgtJ) z8*_{P@3=$o3eOVn;7?XA&%t?4KF@>a>w2fq+2Yo6W8B(qtXs#e>(+By_`d|wD>4Jc zaL=*u%I?iyXJl4~%&Y;quOxC`>92{Zw0HUR)$^^^^uLi*X%|^ce0GSH`)!NDJ4>YV z(>2>>)6I2D-CDQR?Q{p7sBhF=^!rY}+k+$4 z*VHj_<{Hz`G&0wlcyFs|W!jk@rmyL5ZZU(*?PjPMWyYC_=1w!kOgDF%S!Ry8&)jbo zng`7i^RQWI^357kU^be^%)92l&7aKs-ePZwx6WJZt?^cSk9zsudT)cb(c9#0_6of% z-ecZ2Z>jgN_lUR8d&=A4Ju5rQ5uB45c1^psuB@x;8oH*grDJq$9joi;t94WT3mvap z=vKOoPSEXjN8L$x=6%R2o<~}{eN3#WXX=}4&2^@UX=a+6mL|b;H_0Z&q?+5zU^B#| zo3Uns$uyJAG&94@G_%cIGtVqAi_Al2nOR}-%xbgFY%p8QAIu-k|Clr81M@fYsX1#t zGoPC;%$MdXbI$z3d~Lq*;E`u}0q-GinYY|4@SgOxdprLLQkSM6000041StZ%00jU5 z1$YG%0003P1$YG%000BJ0Am6&0006H1p)#B1OoyC;Q#{vPyp=z0000900000ba_xr z0HFW?{{IF_{(1qB2etvKAOHcM000001Of%70000W01J4W)tF~=RkyOoC5<$rk-;|2 zG~4IcV0!4icTDfSnchP)y#@#&w9rBg1ky<8)pSDdErHOD>Am-oz}m zpS87TB%QVN-`e_VG(rdvNw>--q)5C%Jx?b2s9a)&6dzmu@0XGVWDD6#cGmr5OW9o3 zlC@<6xmp&M(XyzlC@0Cu@+&z-PLeG_pzZla)s;1$Y7*-dK7O8uxm#ftV~g;*=%#7410Y!u$2m2%aS^RnZ1^vbSrTrECt^K|IGyLoQoBi<- zCL&ct+6aF{WJH#T+!6UBYDKh;7!xrk;^#;e85Ef^GEHQLNMB_3$efYUk!>P7WKx-e zGeuqJpDRN2QBe6ty(!NYwGDn^{Dbl3BWB9g(Yht^v8zF3zwx;`N7j z`hBMNA3l6Y`a1n$A;iL97~^S~4Bx{EJm@Y!mNazNmiySAwnd)PqY)VCHN9T6VfMyB%Dq1mwUZJE}gp+68|XCKNFT% zCQFl8;^-tD2jm!vq|B5{2r5i1Xbp!awz|9lOT3;}lg~)LJ^6val!2jtk0LO0U`*hF z!0UnUgKSW)pu9n4gJOgT8XhzIQ$ zPMvrMhkW!>Ci;obBs-HY_egs; ziM2&M+Ip-N#XZ{g@_5_FV{NQlCwh6jjZY*lgXqf!tI-CmP8)?5x$$#4k7MZqj-z<| zf-d4DQ50v0VmOZ;;y3gN=hI`6Oq9eqbRW0d^!TgIfIDnP+-XB`uZR)Bq77cR#qp*s ziMMPiky5n7+oC;z%}?6aAhNYY7fNm$QlM=l(u!{8j!7v(L|4jaJ5adoOrf?TzZ4n7 zr#3_4CZfb}8es0y zAbXhx+bcB0UZtV-n#d}?pvm?P&1Ow=XepRbKVR zuT=$AQT0)MRV7tfRZ-C@R#jEiR6kYSgsK{9fNiV>s+y`6_g1y#b$L_OQG--nHCWYC z_0s(~7&8p<2;mTIILt0ro=YN|%4W~#XwsXkLPR0}mqeXaWQ8-A;1^0RgKZl6*+yOg@wb#A%(91q$YDn^Y} zZPXX4tr~}I=`b#*KdF=*L#6HKRK|{_vi1vF$N}n0HC{~+ozz4%3ESa#N}wR>sV1wh z+*&mSKU3|v5U!xV2yHdhUQJaU>>|}sO;bzMQngGiS1Z&?wMwm4Yt&k`POazbDo$-M z8PrA_r8cR}YKz*cwyEtVBTulEY)kd4+M#x;U23=5qxPzOYQH+54yr@ERvlJH)KPUz z9aksRZ|Zk-Qk_zNxYg>kI-}02bLzahpf0L-bx9?t%j$}{s;;T)>V~?hZmHYq4qsMx z)jfWw?yCptp?c)jx%KL?dZM1HXX?3npNO@)Z`51$jw4|xXXczR%!>p@a9%Fp z4!DE-f?vTXZ#NwcpTk&Z9Kshc&WkHn!IvT~U^b>O*UV*e#a#8GhY9AL`P18XCwV*X zS0AH}-ChK;9j2H=yjT#6x=<{RWwCI;DlCbmF~9SZ-XKt~N#l%m|q2-ne}3P5`({PP)vlxT}XDnASCL4OIr$ z*fn!4T`kwz#ke-EeZV@`(RFfNTsPOl^>Te&tV!nvxIu2H8{tN|&)qmT!A*8k-3&L| z&2tOH1M$#QajVP=^OB#7d*VLUb_&16{dkw=aZw(RwQz*kC-&n4T7mn-0lY(29HbEP zi9?h}9H!dh2z95q;wViM$HZ~GN8fNw?!>+LOa4xr5Wk6&;*|J9oEB%qS#jPr5EsNn z5ic&;f#R~bBCd(6;<~sYZi?IDj<{<4NDt8oH+ z3oGCkv(>yZuW=E6Cj z>*&h5uCAi%xm)hGj@I=}V;Aod+*NnOG%-zK9bAF+aFrU``QnL832|@@Ho$e*2sg|# za}PGbP1p>#U<=%at#Ajn!Clx6_uyB!4?Ez2d2a5*PIyR5;1TSC$FLioz#e!Cd*K=E zgXgdxUcdo(2?ybo_ll15RX7B%;V`^`Bk&fE!aFzyf5LJ2ixdu`V>pB{DAKOgM$D_2FW21 zf*=@DKuSmjsUZ!7Kw3x#=^+DTgir{BaPWa2A|TSmK_?_IUpzGf=?hf z?Z~PzK6EIrc+&j^eCPfwMtHs05Wc z2YIJrpQWL45?&&;S}j zqky9(j3?T8&={J~Il5`dX0i26xNT=Ywcpqu?HaenzGTU1>8M*_e8z7g_=Y=g3!A^7 zseJ;?pgCuR7SIw}u@72v1jIlaXbbJ2J#>JM&IeN{02hRTFvvSM4RMRy52}P)jOj2vX26UXieYZ1`^7EAA@n%&7fCmy!B@QD2cv)kNw z)aJowwh%tI70B5-6kzL8GFy*=Z4*jin^H>Kj8fU=l+MObdfSFF*tQg5yHcd>Mwx7P z%4~a3IXjNZ+b^kt9ZwbQ1gdN2P(3@BTG;QXrTv~-*&nDi=AaICId!xvsFPhuo$V^> zVpmfy8%MqE2I^xsQeV4Cb+Y$qtbIUV*oQREKB6z}V;XOt(**m1CfZjt$-btq>|2^* z-_cb2C(W=Q=xY|Vh?CJuPED&g4Xx%7o7Zl(e{pix&aTC}v=!^oHmpzEu>t*x4QU59 zqMg{7c3~6RjZJ9}Hlw}Roc3W0+K=DUbNqo`;E(hYf1+2om|o-0^ag*Sx44Af;X_*% zAK8MG-wvSyb|@9J!>EuQPKE6VDq=@cQTv%Am%>?>(y>eBoJ;KjTpAi?Z_sdi(*F&PS}k* zb2skFJ-7>Z$91>?<8TwM$Bo>F`*SQ0skf@FbqfU-5LF z%+q)Z&%hV>24CSje2H)IHU4QQ+OOYR}Qx&R4m8mL!&x`p-{)Kl{fGf-o)FuIG5&=);*mUtNAPI=j6cV77>^e)0ng(lyoi^1 z7w_Xee1LcJe%{Lmxe{09DqNi_b2X0U8r+PVatChC?YRke#Gd#m_Q3Ag%TzQ~Okq>p zRNyao7?0(lJPx+sqol2YhNja!8rhsfH8_61`wH}@r51Pk` zc_{N#7BWvvjA^6Ka3+0LpVQ~{1$|M+>)-WBeM;Zbx5a$gHC;{qmqZAP>po z@`OAh56h$SnA|JZ$eMDu+@T|7oX(t>tJ7I^Hr>+nG`&o3)5r8Rv8JEtZw8owroGN? z2Ad&rpS&aQnt0p7T%!7_Gaa#8+!-}Xby2fbS2ah?RXx-QLpHT<^004NLV_+Z}d@}+AJbzL z`6}jVC~BIR`%u&&+jj=lRX{%6T>z5;PzQLNtyXDs(^eFfyd+LSmXd`Qb$Q~&X=*>2 zltM6ILXa%G;4aSAN>ExUcG7);mKlD7f6bL?XXrP6TF-s5O(01-!<1os&$~K$cfSf5 zN|3P^_@NN3XU5D{i^g{D1$5b>)i62~y}f`k#rW@nQ7}3kxo_Dv86g>-toIGm@FLeC zQ;~=c9m*)t74*DKxs`kURddqwJO1|lz?Qbv3k0>>flZsCC8)}%8ipcCNpY7}p&Fb7 zt?~0UWW4euuIp8+uRlL=Sf-YxyF=+6tn!6>o=u z4DobxC%_|%gBnBf}VKP0mQ`;;#^G_C|YIpuYp<&1s7 zH_&DjG9{{OCkv`SK4o~mTe3&Vo=`6*e=@zrEW-s45l6!B$(ReFGi6wuO%fKI9C}IF zqKxaQiK$awr)9ilST905`qCMt1L{vrX8pjnq#c%Qho)7M$@tWb>kiE*5QU&K-d%nj zK)NAK^JyEWX`CFI#Wiy}B?1}fz%I>rk?2K&W{@<8=2UApNOIkJxJ=Ur@`*!lsMc1{ z+DVm`4gI{+J=}?5sy-?9yzRn-s0hsrpvG4<9qP&UED3; zBTE}Tvb+EvSxWfGav46dEW$^YEAWx!`|y$FDtu(Al&I-ea}>V%h_&b*x29^tx#-F2H^jTV@FZg8!OA6JGhCSCK;0dbsP_ zi^rmp-a$Fs36`LU=Y4Z4c$yJeVLi>PWY32#@4y1Ksnl%Q!1Q^qj#9*XC|&j$FX~Fl zdT|$zGhS=~N4$exeJ6%XSj@748cJAbAT9`P1^1m`M5fy=hXF_K^Ju92v0HH?M^w~K z;J2M_xfixj^6Q)f0Zo2okONsmYHnyX6)-$PG-Q*FakXkXWgNgDqsDGf5jA`p+2esy zurI@uj}>vcbM)(*7V4x99#lqh8{Zsw;0;R?@#p!~5QnAQP*PMlYYi;sT3AUc<^l%r z)=1qxs@{B=eInh9I3Y*4t(@E8N>J+9KS6G2^hpN3b~1p7t`Uy*Bx^>U!lvG z#g9+X-@(o`7v|{-@Lfe$AzGX@A9)oGe9DG-`b2R%QVZ}?)yJLz_zb{g@VV-nTGIy5 znl0w|0Nc!Au)`b%yUby*$DG>$UoeNkm&{=hFo!|N91q|ga~Rxb4uh|l!{7mP8USB2 zhru_@VGuEgLChQ%V4pb*I?Q3vWe$S_Mb}4ZKI8*!0DY^`EuimoKjE;6!}p4AjMzW$ zL9>6Y1J00IC101tSaynP3JTh;lf&K(-o-g|G!l5NSBytll! z9ow-J$1|}VXYWCF0@(pVNJvP-NWvyzmqH6Ilu;l+DU?+@pe>_>5uha2^*i@o$t!jU z|Nnb0zu3B0md>}w`ObIFWnc^sgMsPrQw%F3%*bNoF&NTZ5DXX)xlDiwfz|2A#nMt8 zR*L|!TAb3Mv*yP0B=r_ZH0(4;bW^A25&k^a$3fE?N>^4Q`QhS=$?hab5i2{*8 zA9d;iGF^GevBfL-;2|$2VfXZcxV1Q(gavaDEOJ{2H%-U+*B*r4Fiq4<_)iK_%`c-R=y^3_LLQ!39Q_P=oalXlXg>!AXlUmc z43tp~d3z%qKY<}-xEKsOBn|3;7obu!7zmLn5soPW%K#{SFiVj+k-mIm@6roto6?@y zas9jns@3-{NHv!XRjylIvFD|Y1p3g+P}G^V9Yi%IBN{erX>WWnsd;T>?vl2e?mMw4i^7FCM&VMyVBmgqI{3jcG=(6>6R0HN5PXwn znG-2k^~A=)DM*b8Tc9r;ERM9_cu+4Zk(t&i}@+C zqC`iIN5SP*D}_3lMwI~dhLkH_4|&XEs3B=Ggo#1HnISoNsvm*kC3P6DUw)4G_%0|e zKwlgR_A@#HZ!sL=xN&fH6*&Fqm=cDzf0K6LMtRcM@vM#zEKNa1JETi1TBH-) zw|i53#7);qt~CMNgmjU=cVoPF-@SB!92?^u1_(irKQY`8gc_gW22wL*Xv5DEMymGuzAfg2Qs1z*M@V9({a_$MyJWh6&z~f(5xC z3qVAn$5m2F-~@i)rPvQ1O}D1V!0qZR=SKuXk*L!9#9;9!N|RE^B;MxxyfrlhaRy*$ zkz54`vod;z&d%kztYD5C1+btP5$-Oum?dPP7jth0A0VAOfVR>@YaR(bo|SfiSOwFa>NRh~VfF5|&(r zexUZrhU-ZXBEhiT5LTi`=&^~Tct3uU%-!t5@tQ{2e;&9DR1kXxUpw1XTY!kW6bJzpFA{}(S6@%JISm0@apsZ-6xjjw%-2n?(P#y za#~OPgM^PV^dr~fALIXoen?4XuXY0n(y2-kv<(`zLP>{XjN}ugTT(xuQB)|yxo8$Z zfNM?$30SG}};wx-P5To24|`Aap(s+cD3iD_n(shXg%JD0ur=uIJFh1xPk_hKriw#DhD zGU~BJnsn<EmFM2v)cPgNLGLAs~ybg z7$oG#!)bH2)ixen-KG|}bkR>z!JjnB=e`zld8J=x~q~Zu6u4x-rAvAmRVejSOg z&GwY)#SOFX+ghti%&}AW62~Zf+or^Kx&%AyM}HO>`K#`oKUI>Qk=D~%rTf{m^_<-` zlN-1!@7}^PCFk0%L@;0sLfyCx3X4VMcu@VrW^4zs;xIuRB9>_|J@&?>BwA){KNffXx^6-|_C|&A(e85cLCWFhN-`@Ab5<>l)F% z;iH@0J3e#f@%J{t>tl^OyVB^`x16|>8aqhhCqP-jsS_;pIl{6y@RAiUqJ%sa+8+e*&`-%kpo;%Qe%$14|V)dOvg#ClEIK1kF<;3sE|AS zH{`fxn4N%#5>Rt=gBtx1pCL8~FFkRt7QSE==b*o}j(m;2iHYHS)CETwO$R7-LnlU7 zGKWe-UKgl&jr-utno^p6zmg3Dk_r?Cf+HYwht$Qu(ex_%1V zXsXvp*q32C5zXk^lT9Rhv7h7CZkvofl~ZBRH|)n`FeleAI;go!9CHAvVCACF)yC3J z>Nn|Q^FSz8C4`w5HS1B16%tvapnA?B7VBi{E?&*R2h4p@UuzBlatB1OZ znsZb1JS7Lbiks6Su8a(0VP6UOy`!`@mt#r{>3x~enQ1ivRnOc|Rf=-s>Y}X!#khO0 zS8vg)CDrxy4drEZ?y}C1y`m&1NsqGkZnJu4puYFg3r-b; zvq~3Mxkd>=t(W6h6(~tkVV4)Ww)4w|_RokD#)$EfHONe7bio^1bmSC?)>-l@UP4hQ zr{S&)JtP?M%L=)Bfx z<&Zl`W(u__Jb0|HbyH`lfrU18cBJ-PKRdb%+1uOdtz8_6{u3{d+Vx^@d1qSMe80sv zh1jYliq=0bRCrBSw%KLI7^A#61bH!kqF!YJ^XAq3Wi;- zj!Yg-5_hz(dBdDi1A^i6)JnYwh{X>52gCz5k5tQzzOA)!U*M{BmW&H`GS$wIC0L!N z)$3jMt5sx>G&f9=YjTXo*%H3ue$;8lLk|B8- z-5>dixr}LGEFbR!M=Q||XDaE-;YA)6qKHQoO30<3)E<&Ielin)Y!-qb%ZexAOcdCy za=lW_=JN1R`u5@l8!><~nV}A`66GC6D^#ejFTFJ7OP70Tx6^Q{ZGL3hGTD<)ssratitxi8;c{0Jw>Q=e7Hg% zz8FZd?hnt*wZN#=-Ex|YT7g7FL*)(-519Lt^*jS3b7DnLdR1uQ7A2o7_=#P{oL-{l zYH^%U5{wpKCBih{Zld@WzMOB?sW2p${_;RD9ApKNPb|%z@#y_(npMA0wv&hMN{Se zH@3IjFpyQg`AmPu{$xDA@SKm!6|5+3atXw?j(f`mu{h|qT4XTS%S)R(xH8gqLw|;~ zuyf7zjdg44UE#eKo`a@8|2PsS zkrHilL$1mJlr}|5If7x*?b2RUKsjIV zOjl5t8S2?ut2AJ|T^w%df_)A7AqDQ&yNZHl7W#b_t)14~a zq~s`4YBP$@(EKbPVKHyUKVjrBYDTlI$@SMbMC;`U8IUZ1PRzD3)0BzyZSFdIusP4g zO!!3hmmUi99aUN*#@myS5LtdlfByPKT@K{P#GD)rU!HC!vxT<8IhnO*hX49hatJFB zFtwWg+J>8!7PC04OP2B81kzVF!eW08>1$;STs3{>D>2?2qgxrAL^pH!)O5Q@y7QgP zg!77j(sW--9PJ8-;KlYD4aopDH!`@pz96K;{W@oUvWdk33u&h0te8K?A-;O1G~7M> z0m+n-;SWi<7YT5kwlgOtceXgOA|uj3af;0XlUPOT9zFy5*Bo*U>*sJo5r2b)nZHr| zyE`b#fO<)s=prwAchFR_Myd4aV^j`sxurw<8qAqG@=bSPikXG}c+c?rB<>~jON1n$ zD|0*vh3(`WhqGD9R;1Kr#O;Q~To2`(HQk)yr?eQeOgS^S%~@@Q;&U-M)2eN!15BCw zr?3UnD=LXIshe*?oSUy2=d09A=IZHavHdSq@k)gL9OaA44AVe;vr%r~W@X%=_| zsagNcJmS8txDX5|cQ3}R-uBcwXNz8i`%P^d>J!=MkHakJ_r|f@-0_PQg`9+SN|w2( zuXtpH)N?Euf1Y7sR8o1+J>U@rgMJ?en+;xr}8Tm}Q5yh1;{RD~o@Mx!>mBOY*Ts`IWw z(vTCzv1t9P(Ix&XiC;I&8Vk&{&x3fA^!$_#GRIW#ioB00;54j_`>KVIS7fzu)M&?Z zWE6`l*gM1qEFzim^g5}>?GQk=7~5&KRINYXPu$x*YT#G&!sw3_gAkmBkFf}?9e$7G zVA-@zIHn8C9Te}HXgk6Z;yS`=82A1In0fU5_Hpk&OukRs5vwg`M}0rjj;=mBFBbhNkrwB3ZVj|g%YmL_-cPL%uQ6A82?ho z@$WHAG5UVtxc8sH)Nz}n^sIe4J)6F%=6|Pt)+uu6n(FlbrBY7O%ySibO4~T(!}C;L z^FP%c%<{k13(7J4T(Q$~JdCNJ98>8vy3rOAdMWTq-W5}AWCv%gsdc66RJhh+PBKaH zLE=nI3biEaQ#n@j$4egSgKS7wYHa1%%Q&lQM9iOTi(DA8iT(I9aTrJT*ovOz3)A{&s8P+M~tH_Eo zfjM4=+bc;K?qVhsF8;;b8HcKOK63t;x7pRZhKIi^pC}_AM7M}{u>xn}oYgCRXGoZ( zP^W$kVdjs@VG^7x^BSdj{UTU66$0NXKJ5w8?(0|=eNjOg$+c{53FKvdNP!CFT0xAP z$rI2^p2)Id{y3I#`Ak4Djh;g$%X!e)2A)@ zW)j!aroXM4BxW~R3EA5K6$23{v;ucwkepQlwM;=geGic}P4)K8@wQ$yN)|%aN@6jD zbsh9?bAKjXSD-H*V@B!4OyJrkmQKFS^`qjyae563NG~5x8&B_UIy2rv+(ut)rwHFQ zg%mlUpGOsja?|N|U4;S2j_-jEvg66SiJWQJ@p??kQ`kpb*pUwMUb30IkI%!=k!Oh` zD1k{BLWYsiO3nqS0*TW>RcfWA@2ATp@D8w;vGoRwtdPn_>x!sC2@{dA^>wOP3Kpl& zDzu@<%DV;wT~GUplT@Iz$XD!FmLMy+EYARr%k&n#%;K_u;*C!%?>Ib|nccf(&z@|K z$8S}hP>jK42ftDv@+OjR#xyW%(@r=aEI%h$Xueu2g*CmUzGM~y{ zo*T}{bGRdA4WX)?^Rk^Kb23W$OFa@S!C=iS(dZmCD{3nDFDce&sX7{yxCQ+X(k-Ga zcXIKZCT*iDmgRTava> zELQ1M&Z739b z0VmddyAA}jiRlJ?$fMSH!g@oxSA!v!2n+#UQ@Tg3_N1FknO^vsN$nwegE&o%sV93R zr|pIhjy5R9!2!mU-SJrv0V4@>91c_D*Ca;xA0Q6q@i>t@C22f?A!Oe^MIlKMjX&M% zTLAsQ=MY~hBZKUv1mmbD(ZhoiGs3tzgdqt`1+_C`G9f{Ic#KtAZ#oz{zn+`gdDEb^ zP^)5^?5Sl*8a5|qdnA7@)RyY=)qG!Ju;2Gt?Bj;m*RdPMv6dq1z_6@&Z*Pd3uu;yI z`fIaGL!s238)hTBqbvGa3bV;COr{?hsUQx6w<-FZQ)K0r3H%qE*}>*DHRJQ}&A>f{ z0=z#V@5bzxYXhKQ{{k{vIu+!pAWbnYDMJT?fia<7ke$6(%=EzPSI*WR$6uR1<$8^> zLC7Txhd3K1!lE}wOayi$MI$$efk^Dsy-z$WaVW%UF7YR=J>f;JMrY3ab|Z!mYxpu6 zn!?H#xRhhyX#E4^$|^DdVUs;+a+#1En3a~A2cUi-1C||a-`3u2xW4*A5&DmPZhl5o zgY3zo+*Pc;xohj)k1E2j>-Z=PG#B7pnR8bVpf1Se}2O zhG)rem6Mkk>hLTXn73iohE=29uf%-jCYyE@6&ZJ*rTMdv(UkDSAJSOCU68M$g|SB!3J zh=Ej&YpbA?C>(Fzq4zX^h0gTcfhsSCHM&FO1sfS~xFGa}8S{Jz`g%wEPKTRBYIz%< zuTU8kYoF8>tv=bKN|f!_7Opzgo8(1O(ss=tQPQaSF4L2tUCkt(sS=4=#3KE%XXI;q z81h5R&{6(4_5*MZcr+ub=Gyi)(wx(&{N3s_~T4%WCS1Uk!})0hBEA1iv~3HGj1I zFP&`v%UHB^Z0RlFC3^4%QsH9oude?PjrAXn!FNsQKaBTDxUrz;$X~u4*MGRR3e@$k zn1H~erT|M%_Rm82bPucND*9((pdH_?T2q>(NGd!rCv$GREwyA<(Ww(kqZmiVnp4x^ zJcGEgV`zLA>c!W@T9b(ObI3n2K7f{`yrzCxu?ep%ys7nx8!u}NDV;(J4wapgqb;>tu4TT+gvwkfM^URzey z!lPZuvuX>KIb4H6Zt)ca-Fb-$OGa5`X@(`W_r^Khhl6N=h%ZyiO4Hl{hcjz-dBu*t zEUCq>?GQ^eMvcM|&{=$Dwayl<%_!d7lUbuOW+2D9(I;7hs5?QpitB@PKe8&T~z(@C?LmA)~mInn?&ljFPq>%t?r0?3s*&E8$Y{U2RA5!5=*=~UoWl5|s5LvJR zLs`sFyF`g`57y~%XKkotakU#s3j9pLvzS>MR?V+XN}s)^;QT#A(=@Z?Uurb7)Xx_U zlsQscmaJKuO6v;6%fnOga$2RZF#rFs*;dq*qn$#X!U&H1|73s0{I(KV$z>|J0sOy^ z38Qd?gI$CFnp`E3(wvOd9;Q=pjC7gtjcBa#m7M=-dw1Q}J$HAD!<$!`=XGV5X1j`) z9<1}!m*=UAxF&_d<_@{^sSZVAQFT$Gzof3jFLmYlvb)QZIrHeE%`9^H5dFUGvx`&wDQ1JulT_HAKj%PCfMi0uP@*wuRNhRpJHzkIsLm{!9ZAnB4eHXIs^TR# z)C@mBHTZ~_T1_{DrV&LUjRtbR?-f?l`{~}HHWG(h61YVJyBn<;dL^EycjfvFEYH}e zwXM6mQ@IIil`KWDo@^6jb0qHBdFK|H^+1 zPf(q-FjSq5Z_wg{_QG} zoVckOxhj+aLk;=%8su9z#MRTBti^llp&t!qdbszpND~@~!-{Zn|PmEKiRkM^`h$JBk-< zL`iPXk|`11kw%ITuseZUvS43>DN9E-ptuWz78d$_yzo4Iu~My`qX8PSqFLR#w>vdq zv^5A}6cVSgvv8hXLG6x#L|tLg^XljXlL`~qfDFu&%iTtqUL#frIk*^Ao96^)wANKt z_7hE4ML1G2TBV@M0U?s=hq*>aqDo`JnYgG`p|8luUf@HkuZ9cYPnVZ0pnUU3zQX#U z{`naUGez$d#p}z(ihllOKQV(YM~`>&WH~xU2g*C##MH^RyO1MShae-45AK5aG)(13 zuCB;F#h*4zMhdK_i|XIWznid#FsZ1%Z%Pv1xSY8^RXV@?FSKp3{sL`lA(bCbSfss5 zQ@d(AjJ@D5O|T`hC6x8G{L{-Va-6%M6qDw}PaEqsvDZCV(FCiD{ItPdl@jY{O`&X< zg+Uu$$k+m-n(}{Sz(1FJ=p-v==5nSir1tg`^Zsvf61lcvyc z?<1JMgf`i91s^fJ?M=^5X3m%Mi2msp@iK`0SLb4&H8b@x=xTQS-{AwKxnSgL^hXS# zPFaGJebu2bS*XA; zf_aV@`GdxY&1WZ|2G@5SyOOT#Yh=+60-ed7-H1)5A$5hp!2f|^3?IF3*@-%+gV&hU z(Nv?`ilq~`Rg*CAe-N#|F|xXu(C@LomDnDC;3>5U%SJIoXcm9OwkZcRCS(Sai*dEW z7g#n5d?HfsaLSyr=-EUX6JLYJ)8IoKG7Y?Y&)4X2H~A>UsJZMJ1_S*B(x@BVQ%#~q zt?;0+P1SiIlm(D$0PC-6J^MJ$Wqr&ys@?@R|L3o21$z%uz;^+h@%^RJx`o0Lv}t5edb!U0J#Z&g282^jqQk|s_wDcFS!&qen&7p z$)QfxcsEq)l^C^_kb(FvYin7cCRNEys#7Z1ELEZ}U?^=cH|!Zg0VdQbjBc|*DwQ*_ z2qIKlWE#0v4+esMM`24cu}L7e%M7xFiio2s&x2~^4y{Ni7D{=fPv3^-AfMuoGo;i` zhe^&>N}pO6TPFS}rzc`hZQoEqmT6OGZxmJ*rX+ha%=`fUxTCZ;r)kHWprf=euW@@v zkPxpL%quo$H3ssFs5!z)v;uh=KN&lB&`B*m3IR@$Z>3lKg5V1UiXwOdGaY1amCAAc z88cHS*$ym6u+*Jgl|Z28UiX<)P*=y7A?ufI-ynR6N+1zRWE9Q)5Wo4%eGCEBSv{^6 z$z;*x_zAUWX%LusMzO@I6YJCpn_OTh@#WV$i)IGBekqfw5H9XGg}KE%nZGhU#UocN z)tHv`m9B0{v1wEi9`aw>r_6^iL-_sVI>Y#S$GG@_jxQ-A2wTYKi6v@TFw#{BGin+P%gG`=;OZF~83CS)^3r1AoHMpa~Mi$tsp=t581zw>PMjc z(EOFMNJ~=4;>t9kQb-3k`k(}Qp#zlVDK+`Z7Of|w-s-t$vjwC{(~ny;PR#@|6TMbX;HzpofszP+w%1t%K2>4po{Q zmowAG$K9vgm_luJ_)mA7!Z*k@hERor^tKcpXu_Xy0NeX4`GFUpSl3@8h90kordUk1I>q@V;s?S~jA7^px2 zeV*SN;2PU}Emd64oi0vTWy7GDaD~BONIIF{uSfAgy(7utcMf!tqAIgnX^Clx?TFAo z^-7a;uZA#D?0H5VdT7+1Nj#>BMWpkj-3r(jY{)eEY6f$I4O#GYeuC1W6Ba9-IuU-q zIlDQnY+1b*zJ|({)_aLgnXfdpPv$EN_R)T$3Hcfsgmxt$SKcT3W#`x$8|9d(r4uDE zLvJOq>BL%v&L+Xl)oG?Qhum36xhmD^8T~>jg1JOInXfWE;E~JbSiFXe`amh=t$vF< zA`nn;=R>$d5H63RkLn~GbCKZ*4l*1HQZCXLGAPtG$scE&(&%A0pxk3(ij2iKk`A)H zH_fY%fx&3ipEYLMI~rADT}-CnGYCr&lPNvTb;QI;5f#?w*-TO`#^29%i*g`H>rqGHtN}V_0 z)fux}GgJY;gP$bQ38ZqZLQlW13pb{RT9mjafy3c)WKxktBsC=2z2zZ8f>NhNRKv<>ULPyJ!`zZA7ncr3T2%2{5> zHd*;Xgk6)AU}%vn6)eNjg>tsAL8)ji1DIG`Bw3?9xC)NH3er6U^Oo3|gh`k8#~?!m z{W>;kEJ}8b`YVmpCQianM!(i+byh>D+zV=nvu1}_0LU@tLET>h$COZGqEuL>l5*10 zgUFJLhga_wD-kV&Bm8ac|pA^ep z)~9KL8Lx;XQpwBupl0Azu>=zKwb&|=*d*t5v=2#xH0_1Bkf+~CDHjG~AYJ#SP>ZGc z;H`}(#4NRJ<*8Ip-M5+hQJ=DOozmmPnMxFi#P zOSL}2&mUy+(Kl%ru{jXTNYFQl$K+4)fK#8k~j0_&$%X6CD5MZR`M7(2w(2EFRv^=K%#R{|_PTc`Osvr4t{A zIXcX|lLDtW4`rgvgch|+a6I}Nlh4%-GP%qI{-Bl%q|_L2Xta(#BX!g+6mjvQb>IBy z;adeNW)p|ahh~{pO^=!H=L! z1Y_YHVz+>0BK`xUY{d$ki^KoR6{I-9CTt~g27jHwpR}TZ>{bexnt)gAHMR8NuS>Zc zO?pqgUIf}`KD>$DiDu%r(WgL$!a+J4CEc!-Ug|=Iv{rmK%b8K`Hi!LgiPnPeVY)KO zyCf%GYxbtM7g#k0jnxA$Z15t^UlhHT#by{8)G3H#14G2(Bi|u2DFnzarZv6FpHz^V zsFuS-1lh~9WmNi;ih_yEJ0x1OD9~Q&G1*NLokf%~yVMIW$=LJ`ei2>E;>G&tero5} z=L%;~r%iDv6pj?FF6dN%{R(?fuM5}}3i90fpk2Y-96!8X7bHIy)J?jl>G~)3Yt(?x zB6AZdoL>KcI3>~d@L9)68St1EG{QVX!1Ph&V3 zKNAl!27FuFmo8$Sz;I=v&6;cwVZUIy$`@lheKq}=hGeruVoo+>_Sg6z3??%H9b##z z9=@@0D8V6y$WWP)eLu?9CfUpLnGdkSEz6k+=AwBe2ER#Mke%OGYKOc7L97>f7rz9@ zFvhCNFq@5?3`hqFGJRr#blj6$?e>%f)j00StM#}`0_x4U-EB|7ahJ`Vg!}weA%h`Q z<@doUfj+Im=LiNJo|F^_V+cQwTwo3UB#b4vGqcq0EKXA5xFfT|X)pAvmST3dEr4TA zyDOP_kGC|S(*;Vsp5lO38z}ZT0|6%q0|lwreDq#cCk4ZOB`9Ow2xN?-$(vUbr^)4j zG&$|=Wbh4iS7yz1w~AdhJQdQX*OT;Brt0;nl|Bk~ax#KIKPI|B`!N(O!{0^;b}fa6 z_lnfwG#+RWtitT!VyitbQI6rZaIxK%lc*TPtqxl29@+Pn*shs< zK;*WAw;%~-&CoMa`G?^j)+t22q1otJ2h*6 zD-YUPrt@OyU(~wu63JgwdfLw~!frrrr+Qv5vsC2vaV@q~FDvf5yp0)-ahQoBe_-WI zImRC*_ro%OVag!K$S|2Q64h#NY~R%>;uvCw^CUHcflt#&5d_DkXm6<5m3vvQ!5MnY zlf-Exfj((}!v5v4)dui>yb?RJb;D)bj`Nl!@y2Z|rpA1QSP$MCIYs(%e8TGVV@f_- zX4i>4rk2JwSpwIRTA8X70T1NQ0c<~V2YwIbdtkndG(ER%Keiuesl0)~z{+6WfRlcS zJV+EviavRS7(RJYVZ{Ro3(et5E7)6q3-)H}cQ=$+m{0Gyn`(Kkmfgab~lSY zo1WtMW5n>0=y8(i*!&pNse1Eg5YF}RhKynmU9zd!KsLdW7?Ul(u@Wu^kcAmD3#ke< zdi)W^QK6hHX>epl1@RwkK<_CrAeE}&1RiElfRBh9xIBc9ey_$pWV1E74&s8wrd4qH z8iP|yJZAEWaQuZ%eTEESB6^`iw&+E=_daLj0L*Zdj06~^sGeNvgd8We@=YEyZa}H0 zI|zZ5IvYn4vgN@PrN8~?k~~k{ii+>sZy_(1SAg{!U)o(U@0Y~LEvoNTn_k*o-v3Jg zjwrteN~C`0WBoO|2cQPPt9dnh;1yPk%sO^%#X(~Dw@bk@&w$yto?Ct+z<#?Fd5X4& zxeNx=0C{AmD;zAyQ1V<^YRb#i&8~%rXgR{b>hQ4UgDB>=L_rnqWlNkPArWp z$Qo)|0I&tk>l*yrG(6yeIrhbkuN`V-6L*4H?AAl)HXzKPji{foZFU+9T|Im)D{c0+ zX7Hdb2;sw&5pTdBrFwMDH{gXwxhEt1=ec+WYo)s~>#I&mTNGP_??z zo4x$>VChgzGM7;Lt=q3xHZR{>yZfuNef4{u9vXQ1$YL#BBXEs;jkRJDhJcYx_AQ6P zxuZo*z(iO~a#v=&w|dgkCCG4eTkU~74ojJpo;6gTjAjLP)B={$YpqtHLL&@$SxzO^ z`BG0-PpQ*h)Uk9+Nk&UyqCle4>7@@J-BYo1Ag^@Y$vGdOb&nD+ZuFL=>30eYDxo^m zm^rkI;mlC#`d8EzCY7ezc;zRBB}?yE(7e4pY59`HD~eX1?k(Kl z7m*tmJL}Gy%qcUL=S+8!aPWqZgr%6EgHvuPJl1*$a@>aWsyxJv6=yBpEBufCyLMD^JOuTj4S0 z&n;1vbmwY=>A~)nQWe;e*IQz5+W++6yhC07uKPaSS+_W1G)3kk{j2XDN=fh8UX#`2 z#q^KpBh^jbl&sM5$2a8yU;Wa^mNyR8m2H1!^c{ESBVYg$7PJ>~jVWYXu>D|V_{$K&SJ^_Peq92})B0?)H`bbgx4JMS=Xp&S zvgG_1fA1p-!P)Mo@7~{^*&;P7`E#EnE}keme*0||9y6(bj*)NC*YJm7d@dS0>)uIw zjtK>r(X+_YMD{UrQG&NZb4pzL%pn%o_oZT3@1GdI*`cGec?mBoEK+k$PyF09Td6U)WPW?e8XyR>D& zwM|Q(-CLKp`0z}yb*(O=usS)Xx75kvi^#bXLkn@w!^Dh?Nox?$V#Y5VHDSZMU+CC_MUtUoM0vS3a{S*SeZQRw)YzMkGW?y}8Y87r3ia_pk?fy12(?o39r z6+DGnQI#1iKH5~CQK`4-<*iA14w18>zi`$*lPD=Y$B;4D5GYBfWa%J&g?2#yN8+a- zlL4G^I;1-$D}c0@rZEar55w>y&>5k#5RNX*>*?$3C{I+SlqW~pL&}`&2NP6sKHr*? z92qFHwchf^+O%~wrCOVejR=uVc#F*D4LhB47OdTVpfV{Ea*H(?dBwKMgY~5%mnTss zG@C7ARsM{j$hwdI{LT`tNTAg6mq8qph%@K~=zlDuD_hfSRq=vMEW0qVGTn?;J=&R1 z?$BFvel0&xU@j@nRagFJCOa|UN1rq&t5Pac2j-F+H-@d~hrKPP%%;@nEyz2O0@5Da zp}&KPE6i6UR8=%qnIvb;vC?SlX+&{n2Tc(ap*$s+xm;-t}it`|(QptUK&| zsOvmNA%lAEfRa3~kBL)R8Z!owJS>^cl&MudYLOmD#zhDvl4^`BtYvBwvmEJJ$Z0O> zbrs`PH@909m`BN`s@(A$+?gwD?I~V97iLPAsg>l8~L1wY{b{9mR0{y3_#k zmLDp(*%c*&j`|;FvXheU?G_o70%dY}puRQDJ;VN0S^)bjdi(6fjg`pWsINGGv@Zhv z67rI)xiS-AJQ#O8JmqK6FWsvT+|hL7kI!k$SU;PKB{xJeRa}n>1KWr%i68zuhyk@M z`kJf8S$Xdxk2gDv)VOxyNwfjleIez;y?|b#q`Xor?;vAh%mp~&9)Mmsqff9jqY*@= zw@R9`yNc}ddpZ=?=eK8RwHY&W+iP-i&Tv&SzB^pDvdO2*AFQq^apX58?F~6_E^-_% zl$(`2XJmG$qWYKi{MJ-wPB2;Hm>;P*)Kn&NdcAUMSfVO!Us@VmG%!=AA1DjAm8Hv4 zJS{X&tPuA)h|Uu2~( z?MtA_4y7+TIka_^t!jBK=K?@-mz|uq@uO3nnE|4a-V2944Ckcu+4`dkSq z7MqMC>t=0ja?a`8wUYzsK}3AqpYq4lyxRTGt(bGmP-gobAMZjd(ua=ETeIoYckCtE zNxaAU&A#Mat=GJLtTkupZGG4N<#pxoPEz(wLgFRUUI>OHX#`wa=}ee@h1H69`p0ReJaK>f+WMpIV+2%5zj7YJyQN z(XSBcG-{rvaPGkct6smQwLC)ZRUG*NJ%A2Vby9K$Fu`R?%~Wj!-Hs8SH^9dXD#l@zYRoI-##a+v&dH0_R#5q z<+rx){pX$SfOrPvBPDC^?i+aYrls~yzFwnXhMwPEFjV6scZVlI{5qlkAfHX?8^w^G ziz?`;=mZQQpSbngX9w*ieR&@>Y@Z$2zX?<>d}MP;$Em+>cYfqt_{heR*(d+LJ@Cw5g5Z8NhG+_lvt>7Za^I?IH=B486mx60JhTuIi_~T@ zQL*b*1@`qN9w&3fFRyc#*5Mf+TOTYr!h z9GhYxP6sq`yg;B7bBflS?#-H6;N>Z^t2#2O*ED){fnwKDky(Pt)d9C!VNX&!vb;LB z@jnJA9#yi#UX$+;NaZX}g383hki@=$e*fMt?wLb=&s7}I6|TI!v;Nqj0}-CaYjAWd z+tXA#kf(K(_h$d_Lw0Yu%h_@3%D_NJr3~gCWGM*Thpk3l!vDo!l52-l6$0EhXOBrD z+KH_Oi@Y}CuXH`-ci2XBFMb|=PDA$2$37c7jz6X?_=G!fZ^s^!Shy3+LgXfwTy9hG z5L8B8sd)q&zUh|Bt!f^M%8gDL)F~de5iIuFiN79DIt^m6!KqZajS`8`t(tUC_Au;5 z4}y>J&md-BGB#uDDA^>8s6h`{MD4#+Amp*q;ar67AOQ{HwL2m*z%>T7s6v35&0x`; z#Oqu90=vLjR$l8{p{1XLLe>|_wNzgGM1a^+xVU4z3DgrXZ%uo%q&MHF2-Ig?m-5F| zcMk=s_P?@;NIZ)kP$OH2GJA1%wyV&uM%swQq1hYC7Co`83_tl2BVNM{O{ih&qpwgk z%#2t$jsDDR=D)_CuOtn|KZPuDzDR!#6jJ+sPY|c^%~XvJ=2~_s8QWu3La8~n(KZ*= zfUp^Q+y^%kw>jz>n!V^Vc))hdGn`|_g0^Etd$ig4g~cUSwDriVFJOvyi8IlMa|o~5 z17;H6m_3L|n7{f7zyT$S7;!f)wiVI4}RfpNpl62#CNYc^MtR$ z8Q0Rv3zf_5IR=oYDs#MsuJC1xC8gQXTarECZLdAL3E5=#5*|-7GB>+aBF^?9DNZYq zoTx*(qsMiL;B~7L;{Nf-Hy9g#gv@nEwr3kbGuKzFc`A^2 zq_^kHmMUGa#JffyrJk_0bK}hZH;(%+s1_(GOMqzP+~2CmL%lTgoN+8kV%7oKAqzFVMI3h-0I z8v_e+LbI)Ci%_Q&jKOSxFbz}5lzPZ%TyW@Jx`;Deq63^SY>DDON&@~HYl!GsfL5-z zXXrtbGQ;*4w9}Cy5SQjfk2xLS3%4P<2|ope-~jI#opinUS0i8J*-&rQbZt2Sq4-N> zq!_8L*lyy|5#o-d&c4AVtMemSsH|L>l9ryClbdfsTd)s_uZShYzaQ+es#Ul1U6mW2 zfXPJtyYyaoI5uk|WydKKp6v_9S@C56QG99Ks9y~M{is#@r^lk=<+!C2WyqGerB8=j z^mOdGdaQe>=LuS;#clK%wfJ!grC@#LD}?ILH?3@vgD=SSjY(@B z^fLx?mfk-1nK`#C%*q@(+J&qpA1yd}#Urk7nUmHQc0!TUZVt;Cx3<7&gSz5?H)g88 z0*#9eM%T-piROsb*sE&lJXNK*xJ>JFJLE+~-+wGt?qfnFOPZ(#T7I$#KY7WL-Rl24~#o6gq(u2CO(D@eLv~&YKupKqmp1l zQuN2qiNk-exR|kZ8SL!^^KqeCc76Y)J@`qpW_UgQL^etmWpMmQ@qbWj6v1iMC&`3 zS+r_q8bV&R7OiSaL(u2(8GE1XZ@GQ%iWvd)zWcD|eNPUw+y?Jb(7P$Qz<5H|=%8D$ z)A3_e89OrYpzWyp(s$6w96^Fd;O`gcC_yq5`wI*X^!GFA?}OMg=VK$_nP-VsGaj@a z^AIy*L*OSbwv!Prq&wpm!`_PY#BqHD(Neg(LLMKiO zg$zXx>m0ofH;EtQ59?ee8A-iAZk;gB<(#3oL)w2IlzVYJ$C$?cp)*3macA^K2$;uG zjKjn>4YFYx$Mg0%=wo1h1nFhYfMskr{RQ`b~j-&?Qh6G?CSXP;I_AJtQ~xY_~y=&pHwU- zpI@xa$gfGRKCrSy9zCi;I*{b%wUyO_RjCS@f`vtA^vt>Y)7_5}ul#M}ih)HUsllt^ zWiGnC|Cu>Q=4V(4H6+IDbTVI}BS5|0|_{8UimUZ0qum3~Ze*nf& zT#w`U&6X>=qU(FT_oh3Y?oPd*dY9E@70b5Vi`;w1fIF^WFb2~M7%;tsUPCXTgap2! zg+M|LgkWp$H@kbMW&`>B{~_}2&hE~<_vX#an>Vjqw*EsZ!~O8IHGC?+eQfTr!6%Se z*DcNyXgx*|PfpMKa80@e!Xu+Iq)pACn>rn$sTDv97_kqiN9i210?)k18zS!G;d~tsFjbH2;IKD6+SqQfWeFLXI z-+4dz(kGkyPyc-;Zi zVo+u_<$<;2Xw4SF?RF{1uk>v>&wzRHf#SYGL*3q&Hi5sQR`8&$Y%t$lnxQ%WSEP$a zxQyf+PY@&q-Lj%-vvP*dY^+F*b-b3D+s9Mt#>P+4n0%oeI3o6}POg8An)-@aCG@iR z??#e5M&6)CKhTgnLTFuzC&w6dbR+iOE3c5tnRz9Vz+;Te0q1lBeE=H`plnX65#-8+ zj~!o8tr5k@bJ-kJmp5b2U=uky)&g3o)A6(BUOz(SgJ*I&3#}Z5dUS+pfgWEoAuc+a zp1;1f$LNOOe`xx}$JrM0DHSMC1C$ErMXps}e5h+5d->(ZsJxNwiSMuy{0CM#Esc){ zy`f?mQIaj(mvP2pJtW5gJBDnGkF*9l8j9!Fdg5T6%SnE+;`odZ-`u@$Q)S7bCO_=F zwFg>S_sz}Y63&8-6-WEgSl!xVwIeGUHr>!ZYbNsO24@a0ARD;kM02F0$m;3X+1qm6 z73+Jla@Rk#GxyT{2X}9pQ!AnA5`Zwi1L-26q;8rnsUuy;`pMzwoS-ZkOSOeMW8k&I z`AvRfOR#)NlUL<0Lj7{wV=**#_4`A0nVPOEUtKwE@0?t7e#gRXHI<9}!ccLYOMGYL zkuR>(m`j%*?<$?1ufu*iV6}0D>73|_?MFIpA^-L4{Me!!7S1 zMN|x0GusNS1tX`1`>z-ZPdoC;n)sZ!bs0EQIHTN(0Ask+W(b@4X$OQ3e^BL&c^ej$ z2~a~;U8sD=+~V8?$NIMX})h38rm*C@p(Z@6|>WaGZ8nr(=A*Bg5(t?t=G`oxz-0g%hy2VWAKuLTI`!R$`SQQgv(jXIzBrc!`o0AodO-ViEaP}EHW{>2zt#5V` zk=FdqzSz>+SI)SjsfeQyE8Wrhyl6|dPU+6I8Qbh!sWwZS+nS}WoR(dm?GTHVB6PDc z;#9iII|8<0Gf4kx9VMA_vaZqMy zow=qu+lxv}{=$$K@ov0(B@v1K7{Ax2O4uNJcUE&Y$);JmZGEO(as`k>%Pb4UA0RRPtWbGicWz^ zYv|tj;D+yhc1FXEgBgU^EDO|54*+ev-dft1J9x*|`or6ilF9HcT7UP_C;$|{eGAv< zW(=b<4?=oS`$pQ-fL4Nwm^c)LKtqWjv==kuGK@EG{HPw~bIEN&8)5Z}AHn$?p;Bv6 z3xf6|w(9ac;#qYl?K*jyga9r@mI}kpok!-VbM>Qh|xTmG; znAxd-6Gb37P%j880koi_JJebhN|$wX2b)VX)4_e$BtuUwPKKfc4|7G_t?RtCa|+IE zTkEPC$^(z40#K#`QqsO{sTiLKYaxA~iam<37SJ@#hVrf$6Vck;1=MfJXP4qt$8v$)QGi~)^o^i@ZV-Bv>l zdn!L4z88O$MYU2tIT9k94JK9#rj)kW;W?9sM3<5TN|QE7uI>`(q?^-DSbwm*0lAe_K_inH74Yz zE|F(EF5mPkW^e!D;l*|>`5ECdNWpRUgfg&K3Coyx4p=edHPhH$_~OAL!YEd}829QA z&uG4Q%!vOCpCt>;PSAC+z!B%^ysV|k*bzq7SWF7$jEXq}ni818(c*Vf4Z3rCa|!;1 z;VGhxTJjm#U@e|Aw5w}UmWf6bxO&}xvWky&mk;L4dBOh#xxRdB zd45RZrpM#ivWm>!P4!?ixw)uWl@a%YG=7x3>eI+iYACO;-f$i*m@y28I(ztQOf zc*S*{{R^i=zqMDF#N;J(^jl|5NmNlnHP6JqUAbY^I2~Pe3*(5Hy7DwFsYH}4rtjDh zCKkt7-~CSj!K=s;jOxtB{~50DQ~mot07rFqQl9&Uj>(Zdb$_gsU2G3S=@F>IY9yG^ zlxyZGY+BE>xVLyn<1#3@rmDJnTjsPvi$1$${Azyi#np%C9s7+=qot_(6IN>lH7q96lVY<%5&mRaNc0bcI^ssF+!JYSRX#S|Jy(CghjT z{H^@*6ZJXa%!}rjuT14Z&SIYngm zmfFouGeP%*6OQdJI=-@Z^8UjBz_=XCD08gzvWu>WbrzUGMOCb$&;;V-7pm@cN2WFG zn33JQ`=L4Yn|s6eMZVtnb=I9#Yp?5Cy|i-e$?nx7;EutQ%ZqasoS3!a@3+m!UT|Wz znry%T*-Pnf{tWk6l&wV?D@b`uq|B;Pa$fqluAH_fOzClumv799yCu~{w*u|PkHh^2 zk3q>_sm>`bx90c|so9Z7)M`q+xlNhM;H+yFp|h>gVqH-&cepivB!$&Qp^Qp?|<%p>5nJm|&##&g}7g1C(dk@~Ug6m&_4{E>G0wY0wjPhH$L(?y5TmHr8pDwQ6_~CPRw=NuBF>mx^ zEbrbAKfD+AMG*4F*LXS{6M^3!6EWC2B?Q6NAN!rb5fgo;{LK8F8Ke{B_rEz#z-ue- z0YdVJduSTGk8MM9@tYW5MA|AqnX<55h8gp918n3_5E@lCsz!o82;?=)VFF3C>NYk*DN)dv)OFP10xa+|Y zm3$S32zA)UlormRwCA~%N_U=J=`gwo9;_F|&!a;e>2Ja7v1XX0_zsl}!aHrGtb9SW znT_aFm*6O`}iu+&MIKXAe^F%g4rSmrCV=Phu{D zaK)%`csTJr+KAuBaxf>lW2*#pa#Dy-IJuQfY4xzJW%}H_hBYl7f4sG!Q0Tf52btAv zRl(}&teU7ZT`J>Iz?fnbFfkJijKvUf6aI#|`O{Xm73LND58aU2P+Cyl6e+2N+eD${ z+=~}LNWpjqgz;hg36_kufSej%VG_&%;Dq9h0VR^KvniuJ&@)aFH$k|wZxefiL85d) ztvkDI&Olwd^N`di9Qrr{FboBng1o3lT@X~cxf%i(CqQGOpu-li(>S=bY-UN{hR&kG zn&`Un>+6xB7@05hW)&DMS$=P3fh&^Bl~Ex=SVr*1Ng z4!Ob+F*$PVGPvkQe@s`1oLQxA!WA`94yf9U0!wh-yqO*-m&ak9kE36(EFkKj{0_5O zOOO|-wjjSW!nR~AR%}Xd86noDiB!1s0!pLQ_xL*cdne`FFtrZ*@7!O|2BQ4^lBsZ* ze&?Q|=|1!w@G@IL;VBDH6EmTtG&>?#yOPa$*v1LZt1lA^gc6??(Q=h)^qu zrAhfRk-W5XUY^{_gLK@8J^&uZe}WV&WZjOvPw#nP-N-1c+X8ZFpUzwmqRZjC$XD=P zYw}(A4fred4P4*fBtL|Lpq_@uKq)GmwCf*bKLf|>Ck#C4e4*5?=JF)GUdT;AXV z@{?*kCOa;Xiui+kiKzu~8OY@}QP}W}Rw&YaqYn$=qD0XG!h?{o9t$X@;VcFLx*XPz zd`Xv=(B&l{BdMdh7QKv)2gD+hb}f0}HD$eh7V?<9!ZVBG3*e8sm|Q|<$g^Mpn@{^y zhb7iCk3Y`l|9lfO58Mu)&8MGnn5Po>cl+ayQ}3LAm;BH9_n3XdHHmAH=b84Hh#}Pc zbV(JAJNS$^(=NgEbxejI<+KV>4$B9e`zbhWMXNLkbHT!_1(v_AWllBhGR8Or$F~(k+ z5g<1Tflwl2b4u$uI0`UsPgPE##-xcwxg3dziwHxF%WLg=i#`yP)Z`)n2@W2b$>z-$ zNCkL*XSlDc%{y(aLOxWKyLj=^g8W)sAQjH_)Xpg?S-E6UPO$Lub(_QKo`&C{2!sAC%j~0!3Qi;Bvo z3NG>*tQdcX_A^RF(l_&yIsh$`jgQh%({YQCH!PLq#d1E`ZeA#%!6z6s_j5Ge`dtw|s`EnqnficVKpT4q-1O03m^c1uOPM5lME zxJVjUZgG;kd8mYeR;wwoS_=sDpSVbv1ovt3>qfZ)g2@w#a59>nZUBE|o;u`>Kne;aYGH-1l`PXCTT^i+0qRY~Rnms9oWBoTl;6aBzZ;1nc@TJoZ3M zuRrKS6nvFfY769h+=V`+v#6=9smR&hZ+7J@xOR4MdULs|j7o-Q4U|TkyUS*;m|Zr# z-|UXeJ~A+LWdM26nUmpDtIFK2+<-@|DFXiz3*i=4Y0uQ^18#>WT-+MzI^;7=%Wl{? zGe>3)XuBm6jX~2~8Y;@ljL)j;+2gi!6;^B<$c|?-{JbEMf&T@{@svFdwU?#-Qc|E9 zf9jpP-@E&(yWbn`J32qNX6K_L=u+(6Upnzye(6Ljqy5_(r{A=pimvA_l!xUeAy)B3#^XGr<}tA1B+64sfLWKR3B|~dBr4<@2A%=17qg?1u~;uj z5>q~o)>JHozvmQy=iT*7sv?6O^~UVN7u*d?sX1vTO6oUs1$AcK*afWf6uKWA zq3!gUT&MJ@n+zPWx%h66)rg^X{6_NsUE>J^Jl6mdBS*k*kbl5$ETD&$7kWS|z0P|Q z-(ugwJqeFhNzdvjeJ|r&Hm>0v;{e*Rj&giTWoV*=LTXN@>^`6Es+&DnwIdfnUe$X{ z+VrgH@2u>-Vs$}7O!p&_wSrmf7!BLQ_=dIwxdf+v$~cS>)2wgHp3>j>32IPBqpUUf`Or@?H_j`s905ZX*hKj658?}HjN9~mIXo~wb z`lMc;zqmc@b`hZrzw{wxn%J)Pw-h-FmR>hRX+LUrKDMlC-K-{^(oBdj$sF=OHy-=> z&Vl>|#~yfd$?89y=&f9H!}P*#e$m#-aBZf_R5X3<(Jp&IR)9bq?84dG;^AD0ry{B< zX$?xtSKlzO;O3>dBY!0SdHtoY@2M7REfN97mkY|v+lL+i*!3I!@$${9OIweBc=^Wn zuj?(Us4TD*cVrf9T0OThz~+l7DQ;%sd$t?DpXG)9+|OcSQBBt0U*zo9&ftqBRhd{! zKAvs^zK3D%G%33!cH6R<*DouqSby`3CD%qv*mAMN;4Kd4_mx9LkBA@kqb7WxW z4Uf*A{f8TN4n(NyKg^!}D0RJa`l-Kc+VtTKecpyeJFjkQJATQ+1`opGaXTt&D>s}T zntkiK@|wIZu2`;;JFDlEl+UTOisjw1b_*3>|VOArfJz#8JB&mfOURot!0)7-7WE1eG`X8;2mfM8_OMYSy!q!ak19Z!|H>befLE(cp zT!<%AHERlP7FI5+eF|<$W^$*Fa~Tuq{{_j6tP;COV9pE7pZ~}my@P~NbljYYhchmN`_S7sN zbJHc396%iVs`o0S{1!f&E9M^- zDHXV$41hN;9lZ%er<1Q+t-#w!{t@X;6O+GKO%k&Nuq8Zdj@gBl;WP1jSy7ta?B7hl zG%4DleGE>=1VG2*Z6l#{WtvQFCUh=SC_7{_7j#55(XcN)$dU1dN}Ww(v6zC{L6a$W zS|rk|MFlnc?26mvE|pZv9t4j4HG7m&elyO)7>wk&TPY9%>6@ynH%^b-rpYLB*o&!P4A@H8W^CLVJkqk}K5J4$^B@0m4UocJC)1Ldw#YEPVWP#e!S#$m#l zq<-n;2n&zT$4+Z340*v?w8ggW)H93XBh#yO{d}cdZVWY+ZF(YvU|h^;B11eB+|5JX z2J$3-&&p6u%x%(%_#$p^>*sq%?p#%ZZxgRT*!VK^n)T0JUZV?F`Fr?ci`#O`b+rn6 zPGJ>czx{3*lqY03zklAc=7TS<+iuKbbQeYlzZqLY`4KblD=!2euJ#k)M=keZ9SFbn~`^yQCf^9Ez}IbMZaBMMi%ux{ws+&uPD z;YG~pBNGslnlh1{Mcp}Cl_%HAUbjW< zFR+1wV!b@wkqKqo;*GNkt1o?etr2r;JAKQZEb8D}WJ-TtV|HKBx`F(P?T@b1P>)=5 z_GMyUa2&C?!yIv&g`@SN9kVSFmqCbh%Vlz%o=bKqLUoIpXWVsJ2lpspe^)$EwNNBA zdAv}Pmt{6AZ|}H%Q!~CvWq(@ImQ9U?;e;9UVPCPh)cGSwdS|APqxy?7*h--{6{Sse zBenLn2Jju9kcxEnpm|TMKIWDg1li8+8N*pd+zHWX+};;yIQXZXX56Li%xGAXfp&3A z=I(8uze|H`5Q#)`1!r^`t~aRU(_FbuC3b|czayv~xvGEtyC?hclZ4}QQ7N5MHSrx> zpe~2aQH9VgFya+7zcHmVY{~WEEdu%YU zzDAkZn2X#h6=cjf`urcaIVkJooc*+p3rgkKdr8}3#^{zZfT2xrW9A8I3Ya+09|N_R ze2fo@#pL7Wug&D6Qcx-&{~!ix@~sz4PVP-=j=)R+y)eW4BC=}xzz*_zAlfmo9SxW@ zq_DNZR^tUf5H{HEGT3eoHjlGU3G#ZOe4NAw!nkegIFN^HPGv}6x9O}El zc~M%?jMJ41YaIpi_O&*Sn5x;5bdgNsvbf@zdWAi#cVy`#=u3r*j&|0pZ1EK?JknLO zveoxUU2Ui?qN}eB)@SMPP3goho5XVTXjF&XHMP@bIO2o((`MM?Ga%l>EEabq9oNXp%A=z-OtOVWr<_`V zFl}y0ZLnx@fpWQl9b%`ts?w3?QRe5`^F7Lfm8Em5ow3178cXNUzoV6(p51A1h(}*W zFm&;!ckh%C(sUjYg?C^-vP?d@2iF*)^}*5x>ff^Z(L|teenG=!v-1Lt3*hgpJY@GT zJ#sbrnju$nekFb*%99As2TVoUeWz(TKm02jQaDrG$|pMC(+je) zR?HR_I2LVwWAl8QQ!oo1BtHeu4>>I4r=DmXIV{%NJdP=6O4K~8V&J;BM*2>!DD6M_=1AZ5E6V=mC~on_miFd4 z3Y)#Lk?DEJ<;Q=zttY~oc zxo8YdbQu632X}wo!xo$|=Ss@K4cLNnhmdcwVmk>;KLWRgw4s{hX#175`#VXrFOvrOdg}&pQu2 zHGkT^xp^H2pPWDKz});VHNkSvC3|PI77tfDk!x;Cux@S3UwzNY+X1{NSbfi;>bY_A z`E&br3r;+`^30ht zNLXKF+OFiNhJo#T2_u7fVLf+3It3|<2TDsF1LN`IQaY0fM!Yy>;T?6laPj#^#Ne)+ z_FTQxl4G|Si8Id%eIgn=yPs_Jx^9SPc+&K+_#!^p7$Sx9U zG;Apw`I!c&b#d{ATYY73bY8!%#@oK3H6)YkDN);A+Lz-m_YF_r1d3<5saA%daQJ$~%4dj;&m0E@eJiY#%_ha)`I>O}NxIDN6saf&N?gouF z$Jj@RW!B8h_L1VAxw3Q@vYVEtzDGZWV?;vRrB2L0Za`#{L83Mn%qoQ-x&7t#;jWzi za)&xt<+e5Zi&u6>>o0w1VekH-@XT4DQ6KleLN?wUYFSh`b7`SQT!&G7+5Ac zLElGti+mbw%QN=2gjx$MN^i;OV0ETiY{_=z)CXizd-jsPj;hUf&FR=P6kT_DRb|=o z6TJlFx0W4e9c|-Ts;EkqnF|QlTJt17+WJLBp7FN>y*_p=?T`=)fVk2Fb_6| z+X^gymRZDs1x2|FriE*^-7}~2vi?kcc58%ulPGe(g51$F=&2rzO`qkio=Mgc9)-p3 zowlK6*4>xXXV1L6wQB3ejb&si?!xrMx7bN2&l0qy#8!lR_{4ZX_%{jv=_IBs&~xFhx7?K%9@Q~UcfYL9$;^ze^QGgp@^JlyRp zzn=W@`Gp7J#YsT<3f4d%9>H&Bd{$|jaL6SAKrJPYoc(4q%EeEm+wCS^J~)Hl{7V-m z)?{g~5D0)s)COk5_2IveF-QnM0`|Q@&G)9nw`hXC-~SGE57`h)!*7E32dMQRF$$l5 zMMbLxSNwrFk7i*R^!>rRsQX@6-w*Wnhn}M7(*x;KN&61Ee|^1RluitRD*La0Z%xn9 z1^Im^-(A~tbWy>N#z@@hYOE^stBqN4NB;8O9CYa?!>r_L<{% z-+edQM}*XOi8$0D&}ZA*sER1TBgIP>E-CKl)&z>| zemz$?e9fFlxNmz?&(WQmO37P9RH%AZ4Wz9b!c%;4|C8TYL7Y$1?YCbtJ!mN%EF7NI zzW?EwL;HpbC5wC&0--5T7A)v5wWtc`PgAt7s$l^4QGjD|3LMD36-{fp^JR|xb5}gD zu_QdWx5p<*H(4sOt)b>Q+0N3S?p9ze8z^k+N}@rXFF+dFAV2-)`f+zY<*#5wfdtVL zBfi&sqi+&sBn|oO-eMF z6~*B*$abYyJ-S<=N96d8!+{+6xxJPQtk)7#SrpgN^UGDRt`O|w|Lc5raG)ozztlFT zld}B$r^J*VTAW|FygS;s>+!|Yub7pkk2ZwJW3qD3U(jb~EbuqZE0{gvYg$bD^0DDm%v63Ie%EEL?3_%y-f{oYNf_Yz;iZ_RYs&56&FWpBavJP3egw~W2_Iebq?mz^Ff`(>=`*2LeE z?WV(TYv{7u#@_phevfM7_Ea0JH29v4E;};@b9!O}q5xZ1DE7oynVD4zYkLfqJ(rA__@5G6pktXD;|7~A^G{t(? zmSuGo+akTI%d@(R?Y9Y4X1ONItr4n>Qe(_TfQLp-FOE6tM(RgyrGA&?_;M{mqGHQD zf4)Veuh{~5uK~973-W17UJlDrvmM;MgI`4C4Dl{6zf+)+r(@p4{<`(+*MnK1VjhO2 zv1^_jJx1$1et^IiLAZSr=DDKOJjb3g&81V*9QeCdi}6Q4<02BtKXpNy!e+7tBw~xT zH$A6eAQowk=?vjg+Yxe76O!+$0%({avlSnax{(mcW^r&k%^1s`{m?^gbJ|1lqOYA%hK1I>#|bGizQ zIXRCBGYyB=$jkwqFBFe?B497!S4))&e`RJK+>cNvfmLgZKM*U&_Gid!2!nvOkF$== zmdI=ox%(kdEYeEIKZ+DcI`YZ#(F0&qX%`deD;U3L34}ie`Gn6>GaeYxaReqrOmq;F zC0fTsfmRZY1{@jrt~n|j!M8fX8TQ7g-`B99IM!8UDQ>9uRL{r`Hsu(z*A(SAZQ){b z2KY&$v&(JH?4UOAjj}eF-BWDSWmWsi=4jo$lwhn2l{$-hskqD#w_*ri8YMx<@{4^~;>dGi0pHn&& zLV-FM_lNqb{ifWejMi=We-^1|x{`1{Kt6?Q5gbv@ar-|*fpZYORbS$pQR&g+txhjJ z*YzZR#`EwqEGxJJq1=G1;3n1_o$^FOUh~;bCPSrPlw6%O0YfrR2W=}RFX5miL>Bpawh%VB}gSELVix!^&Ll- zDbMdkem={hnM@a-YrCO0kuTgi|105e#;7&%Gax&gG2 zr#FC3P`!bC090?_P|)qC6i4JGFkQKdo|IpunsT zS!A7)3W8P{1QXn5$@gm%wxG_M=T*zC!O_+!1&|jOgDWvBdP~xd5<)=zU4o7%&+jQk zM-=DxAT?)^^t)+#JjuEpeI46L=aUEnD{8-O^y=HNo#*Yao`YaEI*NY8($eQ&luDYI z;7gKBNhkT0ax`Yl3p;pezD*^OS%bY^Q(@S_l?Ap{X2CmSKD^=kHRTAG4ux|qEeF^)e%F?2ig>3gc#Lv0g5fXOKuiC%$IUR%18JX z`CZ^dEfw~HbqdyZ4%Wxm&{A`*9gbqBoie6H&k4@oOCW>>YzgIMd&%3C>4*Y(dnP&K zF1dyOh*BgZ9u}D8cTw}5k=2AXU~faZrYE_8GtQ=2=&Qu}EG$DwuJJtSA=fLw4&ReL z0M4Suv*azH^DLM}9%uB1i(x%7>?tVcDKCN{go#R2A(NwOE4f>nYbpwWdZPqUj4IKz zN>r^n{{{BcEpnUiM4Ff*l3ypZ$!`H0)it9}JOJz7!fHZ)hIP~VDH#~2U<{6-YU2Fg z(S_*whvcZn3YKM+=7q_7Okz}yd<8fUAb07=tyBZo$wfl>395c_2Svy2z=u)EU#U2L zG}`D}FIq=C6zDSG1KP7RZgUb}v8{A`?F`0>l;R&f9A8OgJ3*Pc*&L~@E=HKK_aZ}k zyE_gH=c2sx|0!H?^SsMHZr_oy_Uflr-9i52*?F10+i!Sk;i~7aUEShC&)tq5=-fY? zlQ-{Br-6K<&C(;czpH>}oYDXKGd!x-u-Rp4b9ptj2xz(1mw9P>J1M64Jx_rbc)V7c{%QG^C^YLzDOpLU%7q!sNP`fRZvPt8r3M*kjC*G3=G` zq{`sV!1VSy1Ez2l`ip1RWTc5|gzn~!ft-#@yDVbO;#)u4*LGQtOCTCL^ziJ?l~x2p zlzn~XqHKS9KDs<6)pQXs zGbd@BRPeXnQSJ-ZZnlNkJkYN(V{tAAq^U%Rk>^yiZ~Jc>vcnsx(@M!l+^t?qxefau znJb;On!FP~o{SG>O*-F02^8Oc+fzS2N!C5}<5Rb)uph9${`XCGfckp@(&1I|ERH7g z_nF62lqd7sU|){vz$V`4$H=Feb2sr3X*#l!ED&(eG^`tYcXV~-=<3(nrA{&O5%P}2 zC2ddIfFy3j?D#o2qtf|wlTqlCXN3@J9+ZdszvN3e95Mg%&-r2wN5Thpk=t%3w}B0} zBd>!WwE=<%Xh}ZFXRg4H=l_IyQE$?2l9kUH!d|Ch+Q|TIIiEZ@R+#COJygcNbTEL_ zv}@8-uj|7^>HcbL=eadCSCpzE`Zv@(O*^s^sqWN7h`0298JGXpG@dM=dz*-AsDnn< zLRJB13HAmRUkM5q4#w$_(ji2so}zOT76HzZ(fgD2t4a@4pId|NtT|8`%wekEG5TPK zCZc+isy^+ne6Az*HWATuGVq^D81QVinU2XvpI<-_Y0$ciS|4;w@d6DA`|iZaKEQdVi@ZtbbdTrfEZJsrtzq@NC$p z5PmxpjiPiK!~lp$!V)U*3Z2T3z_Um19etn+0{ME5oy-3y*+NY7_2~UbbsNO&tyr*h zUp2P--11}t5HlKnd*TOt9v-FPmpG}4X}CGSnIaV15pm-4*4vFJ=I+Zn|H=t899a}G zRJh6aEItH}oPQPopBZ>u<%X;U;qxzEjmEP2+!zLowsj1RMqnEcFm2d5DFRUvvBb`i zvz<&w6Zius&c8x^i5l(e(IUiWA>VUX7+_obV3pwoS%z{K`HmSb*=QbEXEOqff``Td zj>CC)IfDZp%Zd_I-%?RtV^qG!BvSai^H0J`fs3h>MkLuBnh%i}s}hY}bN&UUJ>Y@u zC2>eV9LlJE2up}erGg=U3{VysoM;TTs31lll`z!RpM{1YF0hfpM&N=(Lh}*7nS6() z5Ul>{^Dn@Lxk&;sV}RmO_f#HDu|JO)8Enq4^X&PLVA!l#dZZf zM3CC#*zp=CGB(3^Igqct6ihVRK}t^KY2GAuXBg24kbfolP+=EOUy!uzrCg=s*y{AknGd;N#=?4QfL}ex!+LJHoLk6gqAiSCB^YDOiaA8~HaU zLdS0&15>S7KbD35*U;o009)H=G2zp{ncW1Q2l4L$23*;i9-pcl)-iYQ4>oY2fnlPa{* zDM?u`V_Ff)L>#J}#6485ScnUsZiiwBN;WV8`~tK9ZmclB{1>TOD&kZkybCbHhip90 zhfq=$Y&bs&F}j_<(79x9h5KCXSUXC(nJJh7zoEkN(qHT*VI`uxFvaX^R3lo=hOefk znoaf#%H9BJ7PwfyBvmvQW3-EORHrlQCWvDGmM}b2$Nh& zv+U%KzAXt;qs+6MW19pMl^=K$`|og{6{79YrY4@xH+_I=55&Sa8R zCKJg{NSFFU&#JhRbAnUZ-QC7H$qBS?1$ksbX4PDJt;A_(GSueBU-Hz<%FQn<%+H-w<6$Ln=waV`Q5?|m1lJehu*YtuQeGQG&riX?n@WI9^U`x{ z9Nmz@VLS^qZ%R|(J~}D(p|u*bi2NLMUIYt-Cl-?5@&Jrq8pGKGc|&(Bo$^@nye~TpITJYKZx@oQfWZ z`L&!t+tx;UAYcBg1AQ_tfM2MAbKwwA(uW$){}*@=!v$>7Ob_DAe|3t0bP$9ytkq^YRsS_)IpIx~K_79!U&@D}Iq@xf zKRX7$FSi!kNl%PmdoLB z%4?qQJo(A)iRoMMC44)-YSZjm+1@*+20mXlQ&{8{sZ?5Nem=x^IfVCZ2rm`AB?%om zmWc;VCDxXiIgFJR1tR+mfJ7JGxTs7#=hXXKwmiK)Q#=P?^U{ct;mV2?ojGaq0H*eo z_z5lr96JVK={T~u7>s_r`Ohc1x=#FgGdk=1)vcEeMk0fkwxY9M19FQ`lL9H3E9p#P>Ryx|+3ujh1rlCCuFqhA*%k<7M=+QLvZXC z#_z0Lb)sX#%8Jz|IybC9ze%(3OIHoV#g=N%#L#ZNo#};Ep@Ps#!!c%$L&epqhA>W~ z+pk0-n?O3e67HRPcJ=pc_?4h!3Uj7K%1h%Fm18F$EcH8P72>0^i-jn=9V1LG#RQm8 z7D%AjRrss$N=|8$2};{IA=(?I5TUgekx8c&N`lF6M#aMk%h5-r=gW{UEN!0B1@)ea zBG+Te~h~Ruf$U)`03TsHAB^&4M9JzW!zukDUx^{l0`ZmnPqV$WiC!u5w> zSy>sZJXR&EmDSIh524w{+Q&N1x|wwk>v2j)O69Ot$f>9&#Q*Vn;NbZJiW_BU2~ZS?&{?4rsVH6$zSmP@4RqT@>f6QdFrof%Dpi8 zOOM++IBwu?Lq<%B$YReqWCf!NHvXruy3RMYLY4B>s$fnCG2QO>Z3j8YFkADgF zISIB^BJz1d^*J`K5%}0VXH9Xx&<%gTj-;3Ym@G!8E$7t9>zYW`Of!3}Wl9$r5j!M8%gnf(0$};>T~7DbbHwcfPu-(v;m0 zSfLT9Y+jq{#;fk5;=3gNjXr}(8QL+qGLQ)%S?JS_B4j*!Dm7rh+PZtD7xw2V1q6>D z?!Kf??X*}GGF)NA(iD10X(c~REA-`98*57xIe%Zf$mv6aBTJ|>s?XMT9GH`Xu(|Bn zdKH2qZG#P8&Fsi%Ut2>03{CcDJi(@6${33mH`b3)sv9T4!bzogMb}RTMP$&IR`Gc; z29Q!kHVp{7?(RMs^6=h{1H(B8&Sekl2~OK!BX}PI(y^wNL?}SEG4PUg5FSn9C-kftQJ$fNWmupC4E&{bzwbQBoq2`tPPMz z>7O+$a(YulI@9*tYbtk+dAVHR$Z%-0YBLs|p@_7m<}zeAL!-ps$eY1K7((p|%(TbT zSbktY=ZcKRsJL}NtZ*4+T8&sC;^9(MV;RV5?`o{iT=&B|zR~VgsSOw#6Za_fHMw~U z{ZuSNivH`+y~tcZnvK~rZZ4lOU#=dfreHeR+X#t0z6;lz$dxi02dDZHe z=-<-Ybnu8ND8oLaeN*yjKNWHfdxGyueBu4MFG;CzqpTK4r}ePy7;93_=HGRBMdE2P zkwB%lsk|;{ZamlNte#t9Dk;p87IT%tbe+jLymY!d2-`~Z2$~1!C}qxEra0B2dE}u} z_a7v5Xc>o(3$&uExMqUAc2tLas+5uk^_31sr5-FySJQO`VO@S$7p3oGR0Jud1?}5n z1e8`Yng@`Ko9~m#@aYJK>|(3Lrvdwh`z7gkKhDM1iBxysT5_F~|2@V*KjlloIxv^V z|0h?>eUYZ+V%UZRwjpQic$s=>fRpAnf3w_Y`NK&2n&tLg~{yCrX|R#UUR(4(k)qeZ!pb!0oCzW=0-B1U&K>2unx*$wOseF8PrZ0qm$q zCmeymNi# zDRvuK26++~;4_kb#z{V<{+dpOuLlM2AL=#m2kKSGzrEOA!!b|6COrjU@`;$t7NxFh|wh&cwOq1)%0M@Z9q|@#d%$l#!ORj&~ z=9lbSr?E=j;+S;m4`q^X^r{b~(r?Cf8c))8@)ztaC+7;hP_Hq7YTaR-#&1kVQLQUe zs|}dMQ+Bnd^;u4((wU{#Guy!N{eBoiZXeT6B^#NduR-2JbuPG{ge_pGhH4?hl>Ubc zcD9^T`Y_c>SfAW%lI4@N9)R@`b_|u^_t7VI)DmKij_;QdMdPe&G3Nw|6F!?YXcVK@ zvR&0n@cSrC3_*)jY6;Rx3&;!CV$+dp*pV>}P;zajgR#ZvXdp2}r1j|pC`#CZI+I_^ z!+5j1bwU)Ru_X~19-!19TE9i6_UBt$uc|PLBpeY(Qs8Fv?HghJdtv=*7L$Y7Ku2Gr zf@d*qqDtgaTEoFja|v(`03usWIS(W3VN-TK{-7b#uJGj36^e`%SG8L6{pw13jO33d zkj%vERNNGtV@lmJ{%8LX6s`{gyehh zeflHdB(J94znXskAhrs*gk8hfSxC$gGjhpYUp{#?d_RjC!_=Oy0lXn4GhU``Kv^boGlcD*EEQ}sJXuJi7d1aD&MdYSM_hu{0x{0#3*g)zV9SRy`>K6XS8;|92U4XpOobF|0?ktDNA0%H5x8|8O!7^87ORh;1D9teWasyT$ z6}OA^C7A&pgYZ&u9P zh`j!aE3UYd@gM#-`4auEf#NX=TPHh-F^3(?q<_N7B7j_hava&!?jCP`x4YCU<)Eig zp3BZfPa{0Li;I>kb6TRB{CrKcB}b{OK+2WMa-@Q>olLw>9-`ae(R~F4Y>JtXjX*lO zz63D1Vgxd@e0bTRrbG0<_{@Dn zd-o3QrT>NBY{xbux3fp-xhBfYHPl4IW{hYcgMyC{sZxyL?$XXIiNlT}QUcz2N;}}4 z6>paZqD3}eZPa)KnDz3Ebo$J*${gVwa{lh!AYcbJ z@=f~vVQd+4mfcRzdvvEFXMbrrx@s7o_5IL3*o)LVi?Az@1?)OHo>p?r;8@rkI5i-7 znT-*G&GwYEWeUw9HtsZGR~U0!!r|r|!p=zA)=yq9$Ja78y_Btk z%VbEa@fzTgtZ{}kaB&v(_N3bwbqf*E(kt2$&ys)o zW?Qvv=cDU<+>8l6fV4rdDF z95%|E#zO^A4$U{^r|U&Jb!Iq|FXwP^SdMTwX@s!A{D_#1N}QDru9&Yj)Ys`XX=1Lk z%E?VbFsXws))*S<#X2Eh%ym^Vy2y5N2Xa&5JzC#JTegnda$6@{+bc5UxXTh&&*ta|UVdbKTg8~1Kwa0O!< zY-4&S1VS+oS|B9!mJnJXq(MT!7ywaM2G; zUmD*xvR;vf>UAb-M2jH5z3lT3-dyf{kq{H_gFo(v8i$|#{XdC6%3KBZYg@<0TCcSi zxMb7QX}?5wF^aGc(h%63_7JU&s>l8f`Whnx+YWwai~o$on;|yPH%;4<=emX7BK`Kx zx9+9>?R9h`qXzpfktHYbon|M_lhKz5qelAmKL>6*yeRG)y@X!NXvDsa>oZwt95(57C{Fhv=n-mtju)WM zAR}ag-gu}1tnU-7T;?pWpKco)YddW(aLT|lMhGq=2iPq(Ww*!ya3SC{g%~oC7#vQo zeYc&qJ!zpHS_y2xZ_y5T6|D^X|6p1I_k^;b$(g4};;u#o1OU%N#?<L{m@yu2*`jqexr=UwI%Ux=y>F4_(7rCB+)sADx=8gqNNi> z&=WUHj4HlYCow7c9_mi@8d%3oU>)MrDTg!o-&C+69t(lq@l=L1w(`DAPgNLv?q_K& zQhI^LB4g4@wBcG`;b^5*8>#gbj8#~PeQHmhzDwcCGbQBbP4J#mv}j_ENpjy384+sk z8hk2y5swG9A?h%N^c>85%*^l$4MICDN|<;YsXSfnE3!gf;`IVP4{8L@Bxzp>Xt&Lc zPt1mjQg;J~ix^xEnFJD1~O#kLZ8}D)Rz~o)?mM8GFWU@eWNeL z;c>VTY7fG-{_K$&m)R7*hrR;d`zW0Y?%pI?>72Pa;?%Xxro^N1870POqetfuXs}0k91%FIyk?OYmQOYFI9iQS9jI^@Ow_r=f=|GDUq<`k zE5UmuGjTdHNJxr26)c3VRzys3)?H=7WVpd-Kh}JVrjX#OjAASCJII}G&=5a|?@o(9 z3)v5NXG+#M#R0Ua2PQ@#gp)H7C>YTFc*yARu{F)ks#3P;n3?X!^(grwsZ5y8a~#X< z=JGKbAJ;mK4pVO%`MN^Aj{Iau=W&R;p+EA;e&*-F8q7earHS|AbTT=S`l3CGOr1s~ zr;8XWrb5p%UX|UB^C9e8lS8mtjH>0tpP@erDg1YG|E092skz{!49$R2kyac0g@kjc z7#p-3Q}H+)Iu90Tij2j%42_=6hZz-irlL+b&K*a;(Q_EAY6)Ij_%8u3DqM>1Sxi3v zJwWS&KxPG$%*I1DGMp;Q3&0QlZQruZ0tqB%Kw@G`YCpzzyB8S zjAy_zNPCP^vXQ7giCE`^mei{c^MzO#W0ugQygm1=I4s~`nHUqxYSSb&Rhk&nqN|j5?!*1S8tlB(C0_02088a@EOPyhoN=-9A0B^q?(9x4ZhZVw+ zWQ>3!0Gj(<|1flV_&V_R45cFeN{f%8gQ$=DZwXJ%rvP;DQQ2nb&}QPz#QW37cx<)>%6)3NIq*?rq=g?zO7_^cSxN#TnYS_Uf`SGk?_qa z{}mRkAA9CPJvMxJ@XId-XMEG=lfG#><(y*Ve~sk+n)FTK3)9aoU2!z`bJ8`&B|Q6@68T=sQDqZ7E0psR>rO`8tN&#nc-s^yIYVxUFtZOGD2Anz^KvNSS*} zPZ@k`C417}Zd{VD#Qlxg(@_knU3d42aMht#c1?Xd@g~&sMBWPpeapP|x~Q2DSmD1E ztvuGa{8xvYkWDv2`v@|;GktFQJbD^?knBwt`{y*}&#f{_nL2$LTgp&{3v2w{x9_O- zwQsJe9k1|9rBZsV{rr`C-aKBv^cmvwn{WMd@ftBy$7X1qDo*3+zg{_b?L>~rX%ewF zG>^^=QE3owq&8^+HJl1kjIJp>0%kqR-2>6Y)&URe%co8uN%96cU7Qkb49eX#A{OX zxB~3erK@{y|7hQqKRtGQaVDfvmhK$M!&rRgUXg?W!L0s8E0=P}Y1A!e{<`jDtm{UyhZegK1HbIufbnR~bZYy-;@()fnt$CIB`|SjLu`s>b zeCET0{b!cte*Z1{hefykecuDb8}DvdSb|{k_KA*AGEdGW7snGIZ~#K|i32_d66+)I z3*k2oY?k^Pa^Q*k2=qP z-WX41mLrRyNA9ax-&>h(6T%fOheoo(Lx(%yON%VCPTT@$dfpWhH8p>a@8v*-pBu4v83FPp5K!n?JV|7**IIq zdAq1REb|Xu(O158tX?IK6jfN7Pp&J+9l7RV4G-9IQ*NEJq4g0@}q@br;TH zY{w(8iJ1w=45CWd6j(rw=~z~WG+U#|E^W_V`ryu3sBd3W{pKvg4GIM!f_@cSHg)sv zcTcvgc>^-uTe~L{vo>t+(FeT_QkMa}K$nZy=yz*XJc-z>6}6uE@UpR+S4DMd;MGWv zPCZ&*-FMfg`_DrD4>l|Ck{!d*IeJXl*l7Zs3n#E!fjlZGs{^j2qzg=sKzb(SS~BA) zuIK1N7BnK}Z0Bgj=b?`8_dwqeHIqu54TYimd1~Qz?=v_wp7e9MNAk(kDR>nU6iTM9 zhR1~BxGyy{{Wa{0W3-bsXfkSgEpnXdCnprs$V!F};Pp4-__OHADdAxMct2Tf$v`D7TAL)#@1 zGa-cLwG+=7T|AD{G}Wz=!wQvRYCBjFl(u&IJpB(n%Pz@Td8$(>SOTF-*uspuKxC*c%pQiYVHRqNWWTQ2lQ zA3wa!T{lrsxxC6;clDo+Aia|}OkCaTEV|^@VZ<@{hqZSt4+R$Ayb8&Q=L!j8EjAA5 z^Cs?Zad^Uo6=VjoP>hY=w^wV8BNC24ELO06M;j16rz|dfTmz{r%sUcDg%JovCjfCX z7=%y6DBWSr=nmSqD26Sfa0%VId^NH&EslG29{U-vJM1(WRZW|;Cwg*V@I@#J$z3=S;X-PnF?U9%MW^zuKRY@An73133iPDWSVIPz5Q$z?g&OHcK~ z>j&=s*JbldD9Q7piMWj(r0|fU3)Fcg;skMrbgo(_?sIzh_|Q#j@*H(*tA=h`oew@E z@1P8&Tjy%Ao6X+N9XCC*Y|kqPD#m{W@o(AmtFp@5M;g|}lcp9gJw}~z zp0os(xMk+ZC1V)K4>)o)D=LhuE_tvJ;%~ffb)@3T_pW>(pP0P($c10>G_EcgTsL(d zekW)Aiq^Hy9t)UYAdw0h2RA46lMY*JS5=zUZMZu3 z(=GR}3VYkPH{cc?1b9#$Z&{x zo1A5SRp!wCrm-tVibLLLbG{+hsnA(;VhM>G2llK0>>1hrq+fV{^q7TMbAp&Uv7a25 zhyVtfPcfKz>+W2NDA3ow_o1&z9L3&?_z$HmA=aWd#-B~)@@6mAWMYeSPr%s-_p^P) zN-K}2LAkz;;J}UwDT{suv0900RK%L2+O`pnP%|nKXOA6e^`bYw`R4Z|bWPeY(ADq3 zv-82TlMX_%6GBfn(&HG;N$1%r)>GJ`WM?1=;*7#~Y=84)OX4P=B}kr-?FF2ALj?4xfs|NU)t>4 zNO-@&dFYhu5E`iYXOs*wr&DpVaRcnAHv#9w7 z9!DkK6hF;Xd@l!_SSsH3T)Ka$np_Ve60!y>U4rW4CciK$Xz-`@--*3SeA zhR~@*U&(KeC?t|CCN2$O`FvA1O}z+*kQF*5A-2birkD-*NFM-y_-e3!ve~+ml-d*W z13dtXdBj5yQ%-Cm?u8#zPBOTt23kT)%AswLe`-XD{1GdY*+oRdQ$)q9BNjdM&Qs8l zSL6Qhm%xY21<&^-o*&2Vo-K7uxmi&{L%kOD!BQ2mx#K{8p#R3-t=#mdz9oE|!IMe3 z83nbj>Xj8Hed$Ei8K5CJG%)ps0=Wzj;FA-l8F~F%%67eSuySC@N&(802=ppppmjym zSs6)RF0o6Xs#gDm`bKO=XFn78}B++PHKJ_vr6tQ96BW>#{b(-wXykK*o zPskPVICO@L-8MG4tM~3*wV_qN*h0L6(_jvA8Soh&1n*sLiw$IFbQIeZCcA*eropIS zXQnk{{W22FNb)+mp~W=NbSd1mLT>_AOWNkXS#Fb`L86TQHV zK&QHZ{AN4i=5$jJP!&)5)`tF3^Gncjbl--Sg&}QrMXy9bR-g0#M zV!hdNU(<>m2TL3F_c{2AsWY|2cLCuPwlpa;y;YEsyPM7>jIv zyh>Ut@`*@ z;`=-PTdnbhm$2YPb>cz4X#oNs2!^s>h^ zB7sC{iZ*(~y`?q=jj3_}Qdhd9D$r0EQECbrMvJo=Lkjd0q0M0vwd@?O)oIJS*HtZl zXh&IO_(03(iIt6db#c>Zp`$n_qH$`Bb#8BEZa}Wgt?AFl{X#7@mvQ<7aPPbZtkaUT zsqqr!xz*kJ8Dn=45%DJ9fL{|rG*)EM-gaM;)5_NIcxI(OXqKVK058UF>1T5@dCmK#62y6>vtpd#3qH6@8V zE~cejeNETAd+BRX#b4K#c2?_*7tR#4lAaC8HwickH&A}F?Wg#uBoE>0nw6ENwZK#T zY|AfJg}m+C;-2b1i{-!Lm`uZE#8lZnd|wOv)m&G#iE>qK>Z!j4p*NNI)NkPIN8$U( z*;l|1SOaKar0GaYipNiU655}9C6WO3PfyHYL>m6%=E)cW3l2SXzl=CXyq-@?<^7WQ zTz3C5;0Z9xpyQi(9^FUCAC5R;Mq`B?DnCn@2@LukdhaYG*C{{vKx(G)(rbuIureSs z22yI%5a_RviqhFK;#zbC#gnWb=Sf`B=DC+}Q7t&I*KD|kVo`X8MV}PONoRg2kB-q4 zZUeb>YLu7J9wIlHjokSoEF+lN&aw;@SEMGL($OQW>DT~e%kIS*!8%O9!USfZ>u2x& z2vrP6g)gY7N@(l-Sy;e$+HN7Q`)~1FuA2CDzbea^A%<>HXIVca(mXz`NAz35ueU+< z;F_-nI|i=#Q)htxF{P7F-4c|u9ma(2-%IJfbjF{G6S080+tGmOw0-j31+<%ZkbKjO zN>hH+dGrRLSI$H{8v5~g^g)i4;odpeefzd*Pur%Ns>RhonIs;K-u>qBh9yrEU)*x$ zqsn+RI+%M=Ec#9=7X9J2)l1{CXbOAy>o_(Y;AJAXiF|$E;9|I z*;nEExL;5WbV^RmdP+;4ugLV&b@8LK3hswDQ|IEDIA+ur$XD1aX@ay6*u50s@HwN^ zsnyX_h7yo9lXN2#GPFD6y=-=}m(3o#Z-{JSGZl6(-&Rt)*}-6&Y zmxZsKH)|Vr-$J&s_3y5R>W0^Odye$C-F|#)cQ8L}FzV3>s+a95DsBvD`w#XqxI>Y3 z`*VP5lhlA~6qG_V@Y~M@@{jivFRix6w%v2x4m!W@zY1o(zH#UIyC;|~dx z(w4%Ox?;J5WXm{UOHtQ~S+=Zy63TjDh8>v$dupJji`ap@b0stYk=T!bjvKIJROjp5 zoO~o@+R(*0iR677NAd%U`WEMR92^KV9QxHtW1fn^a8<9Uw%5C?Y(0->Qu^FXRUJdl z6ROM+SJqg)cc?Y1GGvo;amGWL)gEzl#hLysfBo4gn^l{?zB^Ma9RcTHRoU-)n0%>R znz!ou{*{~bRy~(R^34wD&7k<^o15P!kEBGSWO5l)%7hf`5d4n>=gJe!kz)_<^6Hu9 z=I+5DC0G;(OIJ8NQ}0M&E4YoPNE34Z1;5vLIMR`4AX_8bZX>zqcR?%efZ{%19yyl* z`#JE1N+_>uPFN|m3xhV>5R&R0S)oredSWiAyVMr}zKqsiM4V!1HG+cL7IR+EQQF?! zUh1gW_p9{-SC59zKBmudD!jdidQI(%I?eEitYqlY4u5Bf&DXxAHn+DnpKxiV0*Sz@ zSNj85r7cT#H?9566%F~zu5SM&@m);r&na`}jn_D7Y(6u7uj3JG;eTOIqy-XKuQS+O ze2DCVq0e=A$S5K;Lp$&%R`K}$CVjR>g79T3o~?XLm8k4DJT zYD#K3+@2a`I?CCPmbUL72(p-$@PtfQ;;YS$-7)!}veqMG*<#B7>F!?&6Ff|<>WkYP z+w^%F9qcz*G(Xei97t)yLXy$Bc#*!CMz3c_7oQv%I?$|T8zHVK&(c_3gcpAEz&ABj zKkq6W%*QzfUT$%DBewyCrq;9`9?i-cIot-xhuWQWD@vz6!d{u$+t)*NVEtq1=;%^% zF2VFPaUb$2DoW#0r_n5ycbs9Qs?Id1IRP_cw z-C}hfa<91by6&p>Owv+iMmh@&cik}fv!h#v8??lqutp2j9{^5nlmX5NQp)F_bK=Ah zR0_CzzM9gZBW?$-7D9BPUGom{pwTT-vA_O<%EEq#rBny9Ki@R7I~KN9$V*p)-9bJk zuHcHHe2I+MVN>y~IKdOkp?x@yupu9pwq5~tM+$a_+ucvf%R|#&AwS3NC$WLe$sjWz zCqzb_sm>g#oY;dnlar*lQ;iZrG=H(?bkk<&$a`||@D zo1E1q(g6eGsLaYQ*k3UDevlmTlI8~f!wFOfY(?ZETQRpB3{NT93C068QurNVeNpak zg`;C2tJ;fW=a?mHZ(cldYAn=r#c$Vi9m~$!-%>pu6|y&++lY#+MqQo;{?-*PUUO~d zrpr8K%@(No`1;EHHMfp#e*f0~qMY2q@X*2bNiFghYgtIAl0j5{hLo$Xz&;B|Y{mb6 z4lJ=%Qn7R??wewL71ctkdSPar2kKb2nJ zyEwCUW24hk**Dl%=_$&y7X%z)o`m7Z{rR%$wY4@+Ro`%5m4|N#T6`rz2W}B8Q+W(x zYuP|f1@Lw3Mtj)m%9JQ196?J~simYRt8% z8@9NZZ046mmvo24l0LxK;@Skw)92yOfDGi%+}US#IBA1Z+ANcGR4EHXAU~d2)*9ql z9Zr#ksTc4xYPne>qqDx9rCBQzG1wd|oVlkYb#aFv^tGanpbTYl7`?y%OT2YCHM116 zIczq2z1x$zECDSo(Zg~tdJxEiDK*ZSv_h2Ak{aoRpB9Cy`f@YMO&YeI&r@j>PU+NZ zJd@!U9}{1{u2ErI=}d&J;3C!5SXjpwk;Eu%-#?^OK&O!hRidd6lp&QW9PhE4{wMHX zyHS{`S)|Zmz^w{NfGLXO-9$(?7nbwxzDhz6Z$QuBQ!*|j6aMZ_DTLokl;bEoqRbG! zeG~EB6Qe?(1Y+Lw{^Q`e-w-E}P81?NLkb~S#)sxOJab}+!01Iz!B67Eq7OAR=G|oj zdFmxY8KnV-%+7b^-MMb@b>pFop_60p3#BLuoh9}uEtRh7#nJI~xEeQfhGPX2S2lJW zUscJ0S|xt+k~sYmaW#U2_fu81U|I2rnaTRvIl;_ue53@hvSBg=p-0%LTJ!1dEie2o zRG?@1eMTF33lsR7!$o5;>z%hnn}T>v#q~_oI7u|i;3ttY=^n+)(!G7RKc%LNoZfSF+u}-_^G>t=-DD@IL%tN6D zZ_cj~*jC=3J#e%?qoJpg#{{RAN|+ufHWig|xfW;y;z^a9#gs2*0lxiyAd@`m-a%UW zL`-THHGgLNsPb9Lv_hBoTT27{%_o{vT$PjfduU|wy0XqI$Fgb}J z(r-nlPY~CjI^aKGz|!l;sn2-al?qc4FavqLoC}&l_Snr9$Kk*TBu-j#q$euFEur8% zNRU^Uk2bGY2@wPyxn^-52g2PYUU^xuyTpT+!k4h=j&Tf=Xbc*O-e!P$#4D98Yp!T* zJ2YOvtP{85^+T)It@bl@mj06L@p^COvKyCVjXLWmax*fxJf4apl)Ke%nxmw}RaI{- zYa)} zS)x<{Ia*5`M;IuSKm)rdk1(5Jq8x~LeHs-1b zX#)Z=@ROnSXVZ{0J8=?y6x<2fY3j6kvd=2f?*RNQWUl8x;_`>*&LgMBGLU1MtfAE5 zK1S4=wiKEDcr{^uok9O%fGB)m!gtCh`LagG! zkvaF0qH}L}3`&DW;jtlqpSjx&?yVuBLM_ju4wO3F?Pbn@PoNWOXp*e_G!(`1${R+%^&pl5tz;8E12mot(<+sn0d2efe+{qhqkYd3mn8slZac`_a|C zM~6d^?)3%s$}Bxgq7>ev5^(rpr6FM{QB``ZYgI+4HXz5+ zcxH>4-?3-7#-J_hTwS&Lm%C%(fqjjOPp)hVQNwyH3vp7z4#uJ4CEl4aXO%0b?_V#?)5mz0_0OM;;*XWsj5o+=s+5xR;V6_dF?@8RrmhMNCLd9y#?E+-RUn zj5Z)A0R_t)f?-HsY6`|&0uZR!y-or~+sBE$9B=HptDmBF^ANkV&J%mP(^F-zg`>H#F>Eh#0tA62|>XxsaE|^+fHh^~KVxZ#ID|53TlzVG1}2 zP_8t{CB4u!o<@@t*9Ob1q}qfEB(oP4Y^bJ#!^fs6QU+8) zCcCXiEJrveTe+@HwhPh=m*N!PJrK-Oq%gjkEnzEJQh%KB@UIk#UL~Zq6OY_M*1*`O zzo0czF$+CuTjqKB^UMo$QSis;g)cTMN9P7KUNW>f;@?`EYKrBMG#N3AhlVyem~0?l z(rE17l-ohcGDqQ;a|34{qbB}cxMzD6WWFeF1cweILu+QOiq8q-RGp8JxQ`Y9az?JP z_J6p>#I1hr8j&@#D{QJQkv{_%-gIa*rzFQ-Tb3&$S2*XQ;|N?Y*9tK>QglOa_HdQc z)3W~9&-zOD7tOuttc9TJ9e4FE9Rj!S8b~sfa_{jwi9w-CCxGthS?cM!th@W3Yqoa> zD6ns6`W(2YiNX3B)6(W1QnZWENoHU;=-T+m#8kJ<>cOlIPP$BHaOVf?`7W6uD^^vW zWe5%(?H#x}kk6I~geGs)S=XG?Iog@y@7htzmN1PqAq5#z$G91FUVn8otX5`t-EKGj zoIoVk%4HV6+ThkJ)TT&XR>_XR+~Q!TfD3L*@5+TsZZ0Y_L2S%5^C$Je~$4-j;|p-rW3LuVzr-k-*2!4k~>7spa&{>gIAUpoP3g z00}}OD2J@=Oqr!dV%f~ZS%5<0#=hknb6fWhgd%;rYt`qRwcES=J-wODg?_1;i;S3~ zE_p`hma3+s>$_Bchq^fa`iZiJ5w$@rrSh`J(R3;nka=<3aDFN)A%U|=EckVvG9i7A z`WTSDRle46&3IJ8;0TIt>7OHStGEo4Q(-4}3+YQrTh7Sk^^^Og;!x*?lD-}ND^ulb zvUhb&371S;k^U=jA6gI2Ejm@{Dx)w+jAk+>PF<)F;Qd)sl14Cxg|Tr?*R#-9Ilh7CQ19jTq6@Us~W{_d?YoXvp7bIY<96&WJ~d+RDzRcTp! zIGoI4jh-h|phQC?>ab?!*oh~kRQj$QY1ddw`?6|x^#*-idz!z0YM{THBh+A~&W1o{ zcRdA=2a&U$Pzksj2NF3LvJ`1{{vQy|#N?@YBLHdi03H4dPs^u9`$45ClK}4^Hp*aa zZtgZOqI_J$is{r4t*Ghk!pq&4HOS z$ebJtM2D9vAs)^M(YcvTL0Rn*_LpVxw)!l&PUcxoAZ<->1305qWwm)Bzt{AnHoaLbrhTFah1B zh2ozn$-rb76nb&oIX~)o<~Pe3R?V^g*4g0aS?uM>yXHnZpCs~hHmD;R@5EkCi~Ena zQU0T3#($if`B5!}KUzb(u@pse| zsSem%J;AXs><1Qtsw;z^1ZTsXTp|4Awy85RXp4?`28W^)T%4d1NTuazF9O)7Sj@Xe@vEHJyGs#1XSx z<$krMa3uCKPU*yv*1X|zYh_2r_C{;*n(Mj_{Qc(6k_~r`EPm+tDsvxKtCpgwnt`>& znZ2O=VW@gd3@x z{O~bf2rVEJBqJ*uc653%+D;L-se9!lot|{PNkLqpaekujQvA&P3H-bW(&?x16GrMrvxM|pQ4Dt&3|_4ey^Zdu zTKOYfEp^w7W@$5wB9Spen>AVkE}kgKS1g}a25s6ecDDdbL_Sgdo( z6)wG)TI1aPNL}MwznAcTtxyu16;7Qvj){@(NfX*&m zyuYC^jAL$%wZNyNGoclLTg@v=0 z7m0Y?hu7S~Q(_6Lp%$J&zPo$!{{P`REs%89l%yr>9qkLS=F<3@FESeZdA8-hFe25y zybeu}wq$eCmZ;JN)qw(FOL%ZK1Z@VqxP#jBp*_Uuem|uR%}Oo8IXcS=kDB5Ix*Qmv z=6;odG(H#Gnw6wIn#+VD{zXiHHYP1na-S{KJ~#hw_W2@X_5Wg@q5ss40aJF{tSP&d zZYNFI|9rC-FmRN8qaOwKEiWyW)}6NEf3^M@!zca`!-wkO8tLelW5ivvicW3%MT|*o zdYmzH6@BoZ60`EqE}_G+eZCPSekIYn<;kDO-FnIY6~BJEv4ql!fNwL7<&v}Pe-O(R zxW2IDzvUkjiB&z_h#+sL7{^(kr)rF7&ctX4m4_5E*jy|W*;_KP4I%T8-4bxgxu%Jx zk?yv^*GQnz1q~q){ehI^Yt)rT2|W5o@0h$lz9!l)!J3vY;II9cmHgyoCRdwsw9xcP zgxlJh@E9>VvsNnS8j9>GO{|qT^pn^CZElXU<5KCEX%||BW9%g;S6^!LL~? z-n3+G+*?$f#P(zL2#IPJE*X~_%PG#a*OlkUG{tuhC&MB4^p@@~-n`RmxQPsd+}S%Z zm^HY!25KJP?CH9!tNWglRQLn=tJfGmx5%2o52zTTd%@Z+FC3X0p#c|c_;8h<(r`E`xfg7GSQQLd#9&|;fQ!y3C#;=Xe06&@xF`wURB z>z1a8@o?|cK+$+p7IjFC(m>M*#h3lPAi<9LQS6KbBY%6)GV;Y zN}EaCC4;!or|oqzxgcF{5JOEInOLN==eUa(S6G#DLs>!BcQWQik2q zsZo!vE#LR-*72)zuPY8IO(I8G5Wa#Zz}0xc+M5Q7d(vyi3st&Em7{1?vk!s_>oj7F zw{cO%GY7Z*?e3viF_oh^j%H)8q}i$Ys>%3UXr8cxD>R*!48YA*4m8`>6e%By%IIu< z?17ZPf7uF0(U%X?L@i`RwiYJN8aiC@n7X~Cz62*@aT#qJD;LwYj;>Eh6}n;71;6_k z7bxe~=JdD(WDoDFi`QRbF-jiuFVa!*MWVM*L1qO0r=i`I%w5zK%Zu3w!Lza`!7C}} za5gVco(UF1M?{un^0R+W4a}P(eUpld%QW4=cpv;{Kqil%f;1i#r6Yp}@qPv<90y;U zgN2aPD5zLgaoH-^kX7T>`V3;?oLDC@njE1Lm%Xke#J}&Ib=Jtx;kNPXmV|6&y-U|* zZTesc{!;02*u?QTSqV=~A58u9Ls8HYDN9wo^ z&~`PDT?X0XE2bqtUgyt#pAQ-FHH~L0%^2CHoO-_f&54c^6M0paJ+-#+(*6)jtQNvW z(CXoEV?l;Y!-fv{+X^i^mP3DSsfn(;d->LPuI~yBU)dclG_n{%#-RhGLQ%8mzrgH( z4pv%4k`BNYEGdxmIay(IeD7z~8IRyHJ~Y!cfS*VBwqjpFe~ATycd8r1+0`x{3Wciy zk^Kic9Snh72$zeNG$n}40gEWxGE^z~K)?bgB+S>~N+p}8q(MW*@+@N)L#1<(dWds-;C4jfFm;$QRC5=PhmUi1nUC z9_Hieuh6C7+-V`B|0(QD=8qzw)WYG^2s2p-6qqr5bIS4P5#;AggpMG5HLg^#cxsHN zY7Xbu*jVUG<~+BecFU<6YiDP(zFwe}8Qlc|cbQMo(78miWYKU%%vTyP@r6>hBYMZ0 zmK|*_@E6mugHJr6ey{S51R?hU)udH$}a%#znIGfVxV)55;>UKZ0I)8CXu{@8Rj!VtH;!w1& z)IpP$-Z`8%SZ>khwT^ErE?a3wcn(Yb_Ur407X#&JgneZjIs+m}pIXEzt==?Q(|`Ty z0*T41Y7z?NYPq$zD{%YBDsS(>p5~jb*x2q5d#PB7XZma8VU$DG;+SW8IrT_tb!@yG zF{SAfA{-^@;x?HS7DCM-TXXkFcJJxsdCkY)*qS@sRII2M1(XV>+pjHNQSZ{{w%oq{n>WQa;V%(EG?dY1)Od;_nqr-~EH-2-T-BUm&TsNMii=|2wGjM?QcQT*I9nlw zUKcB;q%bKL>gg|$f1tcHPFgu-RgyG%p?La|gprHiH1SlD0e7t)D5WTxA{@F&iEDA( zsSrM`2t_O0PNx8d*#@oGW)MB##Rb;Nr6rjynQE7>XrsI!$H+!7nb+km3E4%ZECEfT zf@(~Dg~sA=*+LdrmG09CcygVnl_k~7zwETN>wtannxgft%yrR@uRV@dvQk>0^QGS` zFiPxXn`l}gaWC?1qLvcep)VeXg?xM4H~CdR>na>AR&r{-spWX`Ee+L0co7O;xCff- zT|^DKIxw|nm`dir%9$Jh@+Y7_jB+s-3mn_PZNP0CwZfSKky!(d;zN$a5CQ{DGA&>84FQ>_`y=+3C{p)!p|M3{H!t*Y0o#9^P0ToOlj7+wgbdoI)rc(VvE^nfqSQJfO}P;Dj%?y z2B`@8!&G)AS0&{-HEJz|JAWMJfcME~y-4m4#txAvxE^;#e_0vUS~-OUSJy)nus6 zR<*1Y){|d3>Q%Qy&1;r-+{V2Q|S7nwA4y|1+T5 zwV=(pn0AWJiDY?Ne6Al^xF*ZsFnp=R0)6ML2CPOr@p3fE?8K|oO8Q9cP7;UwifWN3 zXI22&uK={TQ*L!XR9KhNFkRtm3)hV2Ntm3{AE=@$@$*~P^Cf&P16m3pND-Of z6-nViWk5Fd4hkU*9%t$rO+*gssGegN@a297)(S)MIu`Hr*Vtj;SBS|Dri-wa$VvqA z&-|f=dOGw$!D!5)^jCWGM`KonzY?z1Kn5A{ffm|=Pd&oPyQ;bK@L;HB-=oW#FAZ?v z82*dw#aDIa4wPGRsLy2<`08`N`0Am7Kz7;2n|n9Ed&8pq$kK-su@r1Mpix8J252c^ ziJ5j45_26%#psy5yCMa2M3G_DSLHjNd-7l3;?{u17`CaI@^fPM4If=uqRpxwUSAw+ zD)0ytc~zakhRw}RW7WD_-+_LaI~23IJNI>8b<=w<=k?^L8=@`2$F73g+K)WkTXFe@ z;R>6=m1{KSx)dd=jyG0bb9n2bFp%YEr@w}G0(&5uwM~dMA|urv-btzm!`j(59B@UK zc2=q)z|u@v9Jg05i?Z>5DLJ)QEr*_q-zmuFJc_-t;By{*AoV$26{_XfD;F|SpL1+E zay0QAa6UW^=rPR7Gd%O8Ip@UVzNT=+V3wH17Fk=n`!W(Fez_J1u2pFwYokcP&0KUz zLH~);{xCz9qOf0?#6AQNnQ;liA70h!N7TlgBVO zS&LQw8GH+Q2CGNo=knCLI9?`_4fLNyRn;um|1X~D|2K-E8v|tyQCU@^`B2ZEW{Wnv zDJ(T{j=hpCUd~V|f}X!`g>~tHLSt4T@f!4J5`8>tq@`HOF)E2uF32es5_`bQ67T&5 z^w za5if_CsLx(@q|hg{4CJDC5E#$ut=BDz!S0XjXRI< zw2in5sR!?7lb$>7C*!nnU-zPJvjj9Gon|2?YS3nYwPh6GMtTI7xRo|CdOq8jtQEvt zU)QpoIFKu!D;u%h^0=t)~fGTp=Ctap1ZSxlvS zfQJk05U_u*0y<0!P|RS)cuVa~HeYR6({jZ#6FsMvMcwtw3T=(nrF_(5fOT z)=;_*g{tf?1v_f9+^gK5*mjR+g`*bMU1y z8Vy4pG$i!EFk0GBGXy&?d~Rrqscw>u0)}b zz!rD2!_n-H)8d-C*J_nmC2(Ehj5rI{w+m||@m(%nA6cf0?0Qk9!nR@zgpISO*k;KK z@U5!Q*}tj8uvC$uQ2G^9pGp*%Hb{_t@njSec`i{iN}iu{2Vdquu*vr~FY(>;+H__c zPeSJzrPs0Tniru3kG|kl4XUWoph|pG?F|fTlT^ouyiq^FGb>&tvW9DtK4hZAK zhKy6xY^?te`v~FbXTX`IqGP z8C%KVGjs-fVWT71QDiQTL~G_Q1@Lz_5QL|&d&y1&WOmz07d*8uW3zj7e9XJ()XMzG z_|*g1=PD;o^w^g#&TOLkGBBpMz$%Q4pB(DH_vmsRp@-W9H7gD^tlz9QsN*yA(qiEG zuf^X3r2>-EQqnaz@N-AYm&Q!3N1t8c8R~1(*9kRJXI4$*zzKcj>ZZzb(1)sy6?@8e zzj%4M&|2Vam4O#Lcu&q)Q#N;ss)e6^diramDuE%sKoTV!KL-M^E9E`yda^FxnHhi2 zn#Rg=$gfrHD|W|{?`e~144Sj?_rR^xdNPO`k!w*Qb@tDspCNb_5@9ykB#IyZND~Ja zi?r5=qhxJshB8p)bLYCvRD!9$uiM&ua3r(h$nWvIRH&bgX4)QsG|zR1Oe*Vmvn2M@R50SqaBJT*Q=`WCvsaz15 z1D~4&nuVlC=C^Ri#Ra;@S7Z~3?M2>}jkV@2o5C@-xVU(y*tPz_4bl3m|G0nX$Rd|M ztHxys>iPbWYoX^=-l$&fHA;$BpXuIm7`Ft}-t5zGtZ?0}BYQr$p~F-0S!*bfD?#r@&o7J#zhLSl1ri>LBf=vO&(DqoelVHhX)vOi=s<Ykt~fq4Wxu?dgoUPzIa6E}e~H*;#4Gw1YSXmt!vg+eFp`Qyz7q0Ram9cMp0V z+hJV2#uk}aL%L(6&CN^*XTA?i`d%o%E9o>vw3C5ZcwyMTSw#Lw6n zsEK&{b#m5p4kSkIy6y8$5(tO*mTU=us!T4iiv87FDhvAoHrWe;LKp6Z-{Fagr=>Dz zyIsMv%AqgCa$-HsgWjI$Vb}=Xg^@Tnq^AmR#HW6}_3xvPKaN6^k0tRw(J!bRVct)x zhnUytm<^H5WwWh~~S4)B@_uUy>D2qpSae}}ySzLJnWiy6|h=T}?N6ZpXk;AsUAiMM`)by?gW#(osf-~`FYNC903VX>ACL)f zQlL}dZi}Z?&BT~#p26EF?}~7~|-A&T!eC?Uu3&DUl)+MIZbA&x~2fwyu6thC5)d8qbHbX1WijvhuS+COAs^BKgw+ zY#8hl3!LubsnvPrnYoei`dsXXiuF}C8G^lDqT9OtL&j8ivIz(+<) zj#61s{5jG+3qe@t#ifSwsye5q!mkRCT{8$X#Vn@X(#chFi#_^StVBBjE?#7$CArTU z$sQZ@Vp;v@@yK<>5ly^{9;CPl8SeSElJv`ERx zXR);$R1+}q?K$4w21w2fn9;%L)siwJPO>oTzXfV3MK(fzrL^$ixjl3iP}N_jsBduaNcX^X!2(iw zExxF2MtMDBcWoxM4z2(GaZ)emC@UF?Eedrkq^WUQNn7(KpcS9#2c^%@3_MeCV?*EM zpfcgqx6n)Yl)hno_5UI5J>aV<&&Tn+XWYHlxqI(Da_`MeZgR8t9)u)}BoIgldk+Bs zNIvCXTPF}6MjxBCNHLA9?#;_(yjq^WOlr5Nm|C8BfMOY2a2~;3n<^8tgwG$&4e&7;DdtU7OVuq zP?CQ?^gjW~zc|85BD1o0pThqWZ2wv>;#_hSy5u`yZHKUGE|gDQiXxLggt)&F>UbQw zYeLQg#H0;b*o;dGX^pT&xYQ_GkAxpJSlK4>WE0P8cno~>5x5RO?&9?|=*Yj58x5+* zA6J;*XvpMa@Vxwn)*Y#63OPOK)U9WBU<(^*V9DW~WEa1!LFDCks8e1wv(4TyrK z2a!hPJpxYfb8oGQd=dPZy4C#faYBy)`rM!eVQAw$gDIdspv`FmbhRrLn6l5sS@&yR zK0}_9afTln&6z87e?T_aUD#Rb;ji4^ZYV-5V|%(R>A1f=$7~%vxCENfntYMr!}DWFa)8HL{kDj?RYqc2E6aBDtbJjdS*0ZFO6Pyyn8D zhm4sUt$+0t8U`m zB)XB;Wm)RV1k@!NMgNr@4rQpJ@K|Ee&2!1COsj;eI_{^e#bBy^Ne}V>`K82_2`3`= zS=V$qcS^q-0UE-;`|jr#ig~z!431bXIM;Z}AmxAM0;UkMpR2`1pbY z{pBNd4!u*H&0Byt`6=zU)6iBwwO&is;P(Lg`=S#!*QwlF8RIxs9S^F1!4}hzoLdR zQlpxGFZsRs^N|y)(%pw%gHtBQBxA|5aLj&cbn-tt$*<8SIN2aIEqHz>_+c(ifeq*4 zXKNNv|52UY))@iR%>PJ70vy|h46D#aiYBu304Bek{1P={QcAAm)e&J|&N9e3+hWsE zr#34*0#rC}^RD5fCDj_R7g{B;TsUtdt5QTY*6k<*t3Da=sJJeE^*f_Ovig` zVp3ToS)wmn+8&ZyLi&N}Kw$aN?s|R1uAoAJ89(a>WH-1819X4Z0_sKtGr@U#cROpTa#e@c32(=};-bh(ba( zV}KlzNI{!c$;eq=w$^}@vANkvI!FgiQswYa91+~uP$icp{;aW#xALETr-!$_dt#uYZAeVT+Z6CHF8VE8uMN(A(HU|~`Oqkk zLhU#H;)+ElRus42^y(Fhj;|<2T?cme@9Oa!+)a5D!4G!)`fz92s^ddD-#Xj{_1QO8 zUg7Il*RYEEm)@gT!A+P5{SO`2l&wNJt+YcXJKg3gTZ_fzL_QI4m1dQ|T)m`W-mY$^ zLdjNrl z_qNtih5X=k%bSq7GL-;9_>a{8c-^Ao%ZtOos8lIH5z+VRo>~skRpN6aw>Pa_b%l4K ztv9yv3iHH2gj5#XtfSTS5KF@&57hVtO0`kB_Re%Ug}!-rS21vgCO>B(kS|f*&6b(b zP*C;3A@Ss-_H>-xbXB%#Unj^lGegf+k2kp_&UB!9VU3&3ZJzkY@b&7AM`l~f$^Rr4 zkFTp9ydzluvrS!B&hpQ>?d7EluJ@EbzKS}=$-SSP#m48A&&ouN0)l%_?e@o)xf_eD z8MuHA*9valC-p^>dS?oGm@@L`FPJ-0y6C#5Gm{U@?rLi4a#YVxRj%r*kYBac;<5;M z@Z1^UnWyST$tkPll6r#R|6Wg!?gImEuvf<|8ehuds*LJ2-XwT~&$Se{_$(!UZSjiZ z3ww6<1>9A$!=|KL%@(P|XEYKKN2qi}491vCgCYQ7Yn}JVyj2l%q2D1>_!1RfXUr@@ z`&21qaerMAp)9QGj(1!$uh7%5sH|aWXIiZY71#Rp0k>1>)M%q(eZXlJOYHuHMQRmk zoz(pV0x+E3zij+X?iLK{bc)%l*Iupomw3+gPmV9Sdx=ksfO{T&^qx&G>}hP=^TH;Y zUXoM}A42oAT-WayW1^#9i3j$bT{3=Z+%Nu@V)nY#S1A#&`Gwt$jk{mieD5QV+&d-H zJ7^u1$mU7phwU)2I?wbBRMxFa7*2ip+d;7~~;`84<@(7L3w=fGGA zc`wG)te^ZPT|YM)lLPX4=Q2K3l*(zOYv<8)jFdP!=gg*}a==>B-kRAlW+OKh}I#n?dqn&bLf2asX6UTzg~tVP50}~x^S}| zTtwvPiq&{!HBI2o?c~qs7^GBpTxk>D@_Mm+B}b!;1s??wQ(>hwRe`pjpLEv^6{SXI zRVoE`Em-I$-%?1x7KneykI_h8EgGs;u9iH%_=Cmdw*+zyt-0_FTJr-&{#3&A{0e+l zN&6`%>tw3vJhWKAE3=k~8b4?hG;cgUfBwNa4gvf|)c*A5WmL93Y{TqdMgifpdsIMO6S3 zeU!EDQ4;REte}7@#x(QlK8BJc`}GTt8Lg~wu7oAF%07kmAEkp~z@VD=t*s{%>aihC zxtZSc+JXZ7ex`;rHCEQ9oE|i*EX|w(zn`4{##{_XI70UMH%>igv|}k0M-=KeIetU6 z!NP9CIVeZY`2iGJr}v#dNjk*PJ9J^L`*pNh?tKE$=L+*68eDCJkfr3Kxz^qk7af1k0!rC zxl9a4cE6@C+Y^^`{-fd)P%aNsC_X72NEq_?zw(ZQC-(UHKOLK&AD&(1&MP(V&(^2!@)gYW`+7TcdTPU1RUka z%rTG3ZK5mA_fsY6oi+1PZ3{CF@nW`E?}uU|SESxiIVagPuf)on_xC5iKp)0LRIfTm z)`?4tb^!HTCi^r`W1?kd41JgfSx(U3`&ie4m;3!b35xJ-hU)qjXX{|`%Db2JUDF@% zHjS2=tE$QkC+H3crO9L|mHpF;ON{E-Z?EsZex%6XvLw^6Z`Z~`LMO(j^m#UOuf^~~ z?Il1rZjx}Q;U&WPTE{FSvi>r-MPJ;Z?V zDcQ08YQa(!lm5{DmC)ObEGq$}3 zy#;*>jyvU3f`ih&ju@n9Th6BhzQIH~;X+V{yexYP`AAM~LEcR9?V8=-B%+mJkAq@! zf_N1qZr^*y!8_K;RLJ``KzXte!u$ptn+GMID=#{jEoaa4qp+sjDBz^gsp8lIL&_pW zjoM?BI6bnec_q5C#^tW2r8VRS1DH)_bSbr#GvJleY^B@c)LpL$mb=nJI_pTRui8Z~ z3@w@{G45iC%=_9`y0D{K#o&N8)G|o!S3b(}dc)aiM$_(;;w0A>8 z_X0BGtXaVDEegjsz%gmR2DP@VUt@#(CFx6Yz?PDg1K@`;{2$cTP}>6EnGN4roqdNY z+X&Z86>mgTWF>q<{u9|ta`NAD@I&;LgLmw`{RVoTE71L@gte2-BZ{GyxS*!u7F4;g zg(UdLq`P=$cg?DfKzjMDb9%3^m5V$|x!Giv1sW5^Sv6XZTo9K^5nNCH$ZL=FZK@qO zy1Kl?)2-l&g;Fl+tQ{)uU&P@ol#8a;ipH~W(-#%ApFobr2hKYGmmvDic2FBAVqEFgc*&@8j( zL7HYMUltWZ5R{X12cD?M{BTthkLBR_5I$pNa7A?mhU&M~h33+8X6hmz4xES}IQk2< zU+ovI2M7|rb6}5J!&$)*u>=~?%R((dV|Jg&EG6%BI>DgSEF#w;?{gI7?TP@Q4l2R0 zf-`fU6uF!rxc=OnbVg8oV4h0L{|3SQcMi-al!E^N6!lT#3#H(8pOw5Bd7mdE2MM1X zEQaHa!SUe6(mnH-wJ?Qi=>QW-3Zu^cJN*b7Cr?R?%J~B){0IjJ^CW5p=A}}%l3XYi z!Xt5;!bgA;G9E*ZSD@FUJ@8D^{*6ohIr;t#w5M$O;n@^TmO%n-T;Jt?rnxE79M`ur zg|3Dn!1ObHACs{VMom{J=a2XKk_16gOsvZvfSu@n6x0@ zq-FLh;Y?B%?FN6Phak;82R{1-gLMn^KF6_JB@nRdA7cBDV-CCvK_487Xz9hiaY1L}Q?^t;8=g zw3jK&dY#xH=cuLb7@;ci@s%8fk>O{^>u^nMntGyH-achQvY`oiYKtes2JmU*(Ma7A&?Dw+2ebn*HbCv1Z2l0WIGw)And~Fp52AtFGnJNNy}m1tKxc z+}hz%eS4GCz?*+JVPIFWWO9QAPGPP|I0CPNeq+4O)4tuzH7Ncqll(#?Apf1Cq4jXS z`)Sy-S+J1*-Fmj+dks&@5i1Uf2x+~AdTt*)Bev|>yNvDjP^y8G_+Elj)Vr>>c1g94 zn|LC@Da3pojo=Bgxn@mQFxa)GhWgytLC?Dfy#?C@$NMflJ{Q+ZeXGimC$@=v^Hdta z5L|$tIkn+7LXTPz6yZp@*Kw?>1fgX`xF}o1-pH~sNB$AMUM$x0$#&#@m5e;92xzo^ z1z0H75K{7}EkgKYV4*}!oy+y`T(;m3LwMp-arHC9`RVVb?r_8)nN@rZ zJRvkn!+&be8&w~3COErGUa_^F2E)bgs)aw z!+d~Rqa0V%z~9eHsZAOkg+WzxaY?LFYVM4BDuY^#RT?mcaF^Jn*{6V-zU)~C5lrv&V#N-y_I**_tt0t|Lq(y+tK$+8|%T=Sk%{h0ao%6lTHI zsGv27cN-`u97%h)LM|`V+R{O-%Tz95bNO5);aaLQLTJT85xr+s$Pv(npMfV-UQnQe zqL0nsBMaA9#i@#)%S;}XJuEZ1l+FlLgC!H^?xtiz%%O4_r7?#8jUn$NbK&~jd2t~Z zH!Wi>*cs7HfKo$M&|Pd3Lc7RZ)R{2)G&+ug&*Sn92Hb@c8o6B>I#V%f;NWYtR#T$U zNB%C2>B0`9$=!tXRHo%xhA?Xlj@6^R5AnMM&S zaoGr+QZ7=mJ^JEQTsKb_`XGEE>BzHjJ6c&PPv^<`zd<7Rgg!m!%t;(yc{p2 zS&@^LPmBsnM@2wxxeoF|7OpGx`l5W(K%lpY?>XgR!}ErD&UkT+&R`DWryw^}X)GaE z$Tc<}w2_b2Ijqzdk5LDk?@w-$~MO&d`4&M zLB2%Bq0XkE5>gW9o27QF+6`GtnCHDsoF-23aQHD zo<=;cI1IfT2__Z4%U|R*$gCQP5omFxobT}YWnw#KTKZXb*k76fha4xMM@1{V#JTI9I0l1VP~-^KCr1ue!IMA zUX9CI+8MUtfGuPjyd`0bgY?hQ`wU{eJJt|T+Df~^jq5sm;OJ3cEt{Q8%xNxGRPvN^ zF-kP2(-}HvtU!-^fGmcv1?ZDQb!nv07NTnFs48trt~TgcV^r-CNx+H|CV84V z+@Z4VX621SDY=iiFZnUK75oVlL)`}2A5(X`&Wq4RXAs*Ch#XRxT_?5ZjB(a!wx?=- zX`r>(>Z$QOtrz& zNXfDPfsxZuaba|^Pud|7VkEyd`31DQW5fTsNx;kXl+33bU8#f-uxIr{t{%w9=}&i z+QBE%_GyV$yTPXl5AOg(Gx+I$DuUF1Lp41_@s#WXG&xU1YGmM2NCbD%G3{L!UR5n(mC+ zwPFYeSE{v2m_hQ18fE{2?QHeA0dKRZW0ZGgicG64V>wcz;F;X|D+ zh?a}mj#;SSeEa%)#v_9Zi{?~1&|`UR3&|kevd}2Ex~-sk`%`P@-8!C1FWk9rUplW- z;ay8oi+$vu`D`z;S%KTr)^tW6t#*sFWRbWQnS`76YXN4mTvl=30TfV<#cwfJ_Y|Y(^4TT={Q>T*GwOw7}V)1?i zt*65Bd3Hsrp+8|txCrdW9cq(O$a1tdS7}t9M?r5d&^Zc!_oo}j+| znWcPj$luGz2G!)(SRaI+vGFZTh-T7Z%f=(m$lpf(Lf*;}w$18UE(BxSSc0aFchZ-m zeAYJQw#Ww&FdF_KybZh_T)JiRvS2WGO&Yux>><}vf9d?MbJ$u8Kpm3`W3pW|OZFU< zWHTsZxukLnHvekl((8`2&fh!R#^7xEsJfD0bxp5Og-%8mkgw zau<00>L*u46C(%v`|kz2$qja6ZDYMfX_Rxcl~rklx7kik3@y=Duj;1h{ZVoax(k1t z&eNtAKb>$pZFbx8gR?Ix&Hz3JI4{(>sf$Zx-@2L1`c@`SR|o`{Lnd+?s_F!sHr{k; z0;$MgxJC``_jc`BT!y#SGzp~oA%(nX?#9e8Q+}WZ*`8Or0mAt@gtH3bue4ygZ|rwf zv_NJQ<(;~)v!DsoqJDqJhSc(7i~IutDaRbv&V*QBMzt>U#OewQn?kCF**9`frT7Bb zMWx9eGZrddQCzdIYwt*rR5Y3o^p6LmQpjQS(F$iG)1)wnsD`pg!6>vVmO%YfK>G`_ z`XSRcb|#O=R#+y0U1&7ef;O$xEXA}bzq=x&v6eJ@qZMk2&@@^(YG7l<3T4k=Nk||W zQ5$WUo@m|L4!_fE)gxj(738+`F7+FJQ&#;ntj66U7#y8#AbIOt(FOu*iyE$T^ zKuVi90GO)1Ccj=pgc_m(32xA4grZofvwlf+y335Qaj#tc8MJi-{5cDGQclVvGkVmv zOjuv85MbQWn0~aOd?ju3AO(xi>yag_bvd0e8}dT|CBL`^CK05XtUH;Kf*GokAk@!T zY|tUKnl&7*(;7}WKe4+#tt)H8Z7GwhYEHbxj~k3DG#sH+Bv-=yh|G4(*Kq`5OdztC z#|-wSR5%Jg2&`@F+cy+5rrKli!3JN@mLf6x%52nGi$uwK z9icR+WIVo@gO8b9&|20>Y*r&rTc95Dr-8hIaF z3+-=pmUeTczY;WGNkSeDHYRkqHr!ZfGl>zt)I#98B5{(qTb0B%|IS$*GjjX+0*(83 z>mgeQ1skB`%34K`3`aRfaKu45g7GJ?uxoW7)?&_^}=W!vcMo)}QeOoWj35k%!Cw>2qF=uhdA z;-um<{swj3OSox|f!iqk)B3;ub^SdM*0tyjU^QGjw12ZH3R%vbJblWCiBwS*qILKb z*07$3;b+L(b^54GCxe=B+Ln`fpaDNUbq~Y6v*I`ugA(d@;}GukaBMz}*DR0_nd4#Y z32jIa(w)$Su;uT(GxxpsDF56fiTnk853Z9};G|Brd^+!x0xg?%3N`zwq*Ed(kE-$y z{APiIE0RhS;%%p+0ta8tO%hrj8cf+E20n_a;gKL@$UV*o2AwOhrCQ@5uDu_XP-RmIU*07o{gSV&8RG=bdEDvw2 z=81n@jJIy&4X}ZAfIf4V*5#ot!N3N{y8@Md!mCztlzfhuD-~hrin*uTFxg&9WuciT zs8;ZCt=@qAd*Z6xUOWuX-P9ctcvwQdQgJMdX|6)VR z%({wZ_>9upQm-$@H}?g4n*~+?D9=&SKzWWJkbJ)0h_fu*q{fDMPkV5+PHYloT}bOR zmXI^(8XF=%ZhRZlYL;`RH6Tk9{tPkzdTBNMY6;PV#Mf05Y&`vX% z3t?GiV8vj-Sw;DNG`L#YclJ}|OjP__Kkdsq4dL)j*$>Hh{yvzdpo`_zR64B>8j=lO zAJiQh4j8EsLiu60*sxEPRAnC`TCrWP$BP!F9N4CkPvK(brzcgtxL*coh9(=IJSCC zCe@orr4oO%q-VwJ*L3*c*F^p54j<$1UxIvzcCfZU-Be2Bk-p?`G0iv#Ide5P?YPK* z7&OijZlWxFgeo{t7JjX0u-0AJzp+YwL|!yl<0|aiP^CG7aRK2k_og!lAbjv^IRZ{o z4vIwW$~MMXk)b}f`oJ$J*@yfE;lcIRUt|YjISos32~GXkzAo841~cO^BVNYuA;1`Q0fkZp*!CY5rV zLl1urS)0y?qt6A~ifxo8j_|nk3IPf~AR0%20A~vODxFYO$E1yNKI*4jqXnCg*TElH zX*v#sMq$Zi*eJ_N^9m|R2c;gM+G%DGo>0K!)ypwW5HeSfMoB}!6Ua~$<6!ABuEh?8 z0jDjZXdPn*Er#d%CdjKeObuRU zTQii{%ldG$RthBmX(9N~78HXt>X7~^qFZcYv5b{LS|31NLbv*~W{di?I)bgxSe#N( z#k&+`QhI@A)l2XX6aR1navaLmSWY8IN^5N!+T+tdAm|fUaVyaIQ zez}v6nAJ}Sc|si_@;O3jqk=1ZQmsL`4n>Fvgndnm(HkH~@Yb!+p;(7XKiYyQEJ3|5 zR-1N5u$EE1ssqD_o_Kstm6PFHJJExXzE9C{0+-yag1KfF?mXsXc`AAf3)`Yf7W{^X zY5hSEAzzPmr!AIrcZ~YnPwz1tYXE;}N>Qi{k`r_H83MCf+zJgxoD0&!K!{|)_oo;|eI~Zfgn)8P@?Ukxf6^nz&4b3c#1V1xz z4v|QOZ<9g8` zCXj3BJkoH%RDV(S<+G?~!UKM5uyHx6{c@K#s5SWwLTJszBsd#q>9plI5C4n{M1uET zkbrGm3NTECs8wuUMYz;1g7yqyD-Y|%W+`RS5FU9gp8{}ujm!c8q;SeXJ^<$-T#id@ z)4b9vl>;?1FT=pLG?aTM2#V!ct_DLl^@yhR#$lfgLz)LpqMr z97~H{NDi+Fb*`+4v=^B|U8}Hn`D$TD!z%|n8VCD9>ed@p-oGyGYF=5t^8U3{s%yc0 z@XQ=z?Yd0OVOpr$G9Z3QC6E}n9$E@6#!_(ODviP>3!W(h7-Vim?Fj>OW5?xD8U_OJ z9ZJm%^

pTFXL$Z7ImS8WeoY;T7b3Rr|n4Q#J}C*D1Rvk-H}ZA5|>SND)+5YO_kU zY$eCU(c8sN%6}zO*<3;Cb_HtEfigJO7UXqA4$rZ(U}ipV-e@t@mZzr3^+Aij)GokS z7?H4=}UD;20w3(84JnOTYPDSvRm zQK*|7qRW6ir2C!*1OqC0rYcr{|D)B%07P-ZuPWDwkR(_|F!x!Ua0@n?g z%xRVB)_tvn`dWqCQB`O{#1C-zSJ1V|C(-AT`=G8**)derekQtAjtmnP2`c!CVu3Az`+FX8*oFz-`#T7n6? zq(t!V-C-Pex`p2Qm>S2uWvyQ9*DTZtE{OEwJ%94WAUi6h^G`2TC=)5A+i>EU1zX;mW@?4WA%2n!eJ9LvNeN^J9Out)oL@8JTrQ{J*W{+HpBnK$nJs+K0gMd$T0E)+O}lgc|?^GEe7ks_0&@#>Y3f37&(ai zi;lliTH-NjOo|+w_|H90f_Lt?1DMD^U-XPk3jd2+kc0O;c@M%y`p7>6(;a!w(0&7@ zEpCg);xT26eh&T*UO9O1=)r>wT)V+5@YzMwdgT_SWjDf}_z$w^DE+&;!C~Yunkvvy zIW@$0bjf)VD8xKG+w(@x6X`LrzKia8gWiPvYH_YhP_BbbgAoo0arq4L0rDc`d34>w zY)0XCwI7+%4k-UAegBvQ+cbO*M~>s@N~uucsR-DjW-(i$ks846JrXtU#c%`{u)Ek& z>Fz&c=<^Z1NKTkU2C*O$h(S3TF)AGqo!V}7>!SdS$prWD6wo~2-6xQdw@`IMPe34- zLc5K^Geol`ZiypHe@b2e7=HTOe(bZefWhCT&q?#1Lmxj2O8*bfAsfyjoBj{af%IAQ zi5bsP=PCOX8D}0ki=AU&+gz{{xevXPenx4bPSbr8Z#)Ul2trOA&-*={uLUQINiE2I z&|)t%>dU-M#nzZbwX`K51>+@f=B>A-94fcYXWxwiXMs z-sXY=tRC_Ky26Bo3AgY8s&j`0r31kKkpSYdo;YFjHX%Hn-$I^mATKCjuti=#-G(0u0-D{?YfOgiOLc z&zG|K8ZlTPP{`F%{M5Gt=zE508(E>TSTx|r_FBUQJAMk~N`+(}R3t?P2{=UstW&Ve zfp`?--=ph?I_P9aN@HU=^COzrbi52@2t)927l3dA8`zT?4tf`rj=#Fl8SRS$U*`vHqf=Qd||mtZcyT+HRai`r{h z!cO0Xl*Lu`*6!Q7>m+V}kPw>;dZB*#UB9{Zap3yZTCT#X=1XLp^!y4N zq_f`1&(Ux3v+y+jiiR}=zwg1MR0li9rOl(V!kJ2VU_vKob@5AUQ$v+z1mf8Z~7bYXm{u-9pT5FEJr zuHt!Bc1rtoQoP7F`8oDG{Bek*cWE4PCO^Z%n2gE+gO+?=R0}+NRCGMt)gYLPLxMk{ zNB|2r4@P;)pfM>!5)~yw|rR%e4@;=;A?7u*@Y=xKG<8xRaVeAlOEMvIjAo2*%XIb~)i{Iopa}EX_KKuc8}C_I(pTXV5G5`1QZ1W0ed*Az1c*dyQ=&XJ zstGwAtrZ@Xa6%)uYQ-vhNaHN=>p8|xP3VOcCSUQ|*sc%m8PZ3qU9Re=zH)fVvs19 z(fu>4HRSj)Q=ted4{YGG4uum#4c>We-j<3G?=vGn-|4<#EZw-{fdw^N!W_1{xy&^b zOf-fRdRH|TEb_KRhwoVIl>iVZiN{9o7`tkNy?JdL_bY&utvR)L^V@gMEsoXAO%go9 zmvI-TV-8+m$-_J7*xt$gx4!=cGkfY<2zadvaxk`51gBwa+WE*x&4z&DfO5a! zGr@A@GN36<6sT~wm6DmW8|;mm$G=bLnViF2x&Pd2*b5~*ebuazyVb#~7x8-f3J z6wRr$&${Ww6+I9EHJk39=lSg6x(&yAx2~(*aBTM0b*B{#i>_+F`ont$Q_JsMy#AMW zEt8XH>29<_nRvKGi4cml9FYTi9_HH>JxbZSwcP(a)a|I2)Riee3v92!5+cr z9LH%{MjH$&R!)>n>xXCzdt}?&4J@sMJf{j-%x=*$2+CUX_L+~RYMGd`nJ3}!wUQ?U za)nw-C-}|{Z!9G5)SAs&Fu!m^_(B)nfpR6Hb5gxXXq0^_l2B5NzUPE^`wA0KkrVQZ z0Yn%Z$;|JsMw78~j|&Dp0mu!S;lI9U|2 zvn*Zli7xOJE)|eCc;bCqQem`43!xla);G|)|CKFcKYHO;TUAz%TvOFKwC1WNdxPai z2f-3^iIzM_!51Z;L9fReXs;A4!@!gbbGmXHn@CQda}feOw%XC!{?>HaBYd?&=t(qQ zGm@^~`^t`n4mK^hJk3k1`ZhOPz`5$a^03x5Ufp^N6kIN^UtvuuG!-K^FWvOY4IQ>9 zUo2;r&5EnNotr3Hdz`!#{T%-_q_vv=-A_3igu-~inTRv0jCagB+e=l&tYxZVdUE}g zE9R`&UR}S&tKkN!X2tk=l?dSwW~C56%?;J`MFo07$ov5N%$_ZPnHb#B1R6)yP4`uf z2Vbt6S45yZmAo2=%n=*jH2uBU6tOXT&LIzDm5^4-p$>EDHRJz~DFh>ZFfYg7y0Y2R zNcEo-iR{{Nki#Mp{bf3NU9}-jOiWyt6ESiqVp8+Ub@KXZQxSn+*JXv$ZN|*TIYn}+ z;;gW_CM=8gAAIe4Yq2t4+$iF6Z~oN*TUv#9s2`3ND<~a*@>}pEvf(oKtWUfXLj^>J zgIdB#wWru7U?CgG0fVuEuo41uQG=J}^UdTL`~X`9Z9uB}0hM>fyiJ*5xz4q8;-Nf? z2oXv-Y0xYNs8}KtTdS6%titZqRnIC(wuP zh%L_~=i4vbD>4uw{PczG(PgEHxi+*H8l|H17PyXHs7s%Qd{;o-FXYwLnku9YfMZ)`84zf*1ODINd1_V*zJcPIh!&Juf!v$U8ft zi+w8Gq?Lr7&D-Y|YNGWadt*(xri3zhQkschATKpFrZzme^&axvbBo1_ZAz`E>YAVK z>RwxK(M4;0qzOL-;h21yJi|euoe9ssBimaguO!uUS!kLax^k@;NYBPidk{c zVk~CA!&j7Ql)ox33hZn9s%=l8(nvmU=q-8>9QX9b-7$jv`c+p({Hi?RT;23l(^^NV z5oFZ$&ezCsOJyKjr+w_Fq|f37ePJ(n+vk|L61mdhBfZ`*vM60Alcobm#APGHemycg zaZK+AZ`fQDuLsgnSzVgU_Nk=KbSGSs1Fk7{@uDCmFM%9e`fxEGwIB7C+5OTtWzpbG zt>na`0ByR$kurd8B4z&rIZI#TO4jPLz`2~@V~=s-O8hhg!U=wBa!ow#jEJOl8OAol z55v7>`c34ugL1K{3|<-nDi0qpKwvy=#*wO3fADdw?jfPiYC3Bg%+5b#J8L7{au8CM z*xyD6;SA!siix8w;A6W9odg9CfKwC4frb1lZqS2w%}#p#X*mA{xPIr<{9wlVDYc!+ zchBJg>tt33xF6?XUG3ZWQP3*Qg^pXr?Xi~XrNOX;`2J%iHcP?R3DH`HbzrJuizhTu`G6!}TxcM^M~#zz{k z-=DY9T4~qhIs63v1k??wD?~a>FE@Ku>0)I&Dp2MyZFQm-*IK-|#0FrThD!7rucfz} zr?hG;DX$vQrLNATuPi-q$Bx$ywk-WQus>;v$D#%uE>r8oVuLMU8ou|6I!b|++ob+j zeDv^e+p2o2CEZg$>AF2NoV%UW_7@kFDMH`oZSnh1WFCzVpDA7> zBlQsE1QH~l{-;*W`8_URgF>|ph)G5Er0bK(mrD>YSOR;ir@3dwhH2_Lz8$``o-&L^ko z+K4g^PwM6h;s-pv;>D9!v>8N@MvM9C;inIG(JTU;tB3H9om@jYzTKHXH1%}c@QycAl=rvh>kS&F0*05EpW{WF!WG8O)g#fDCAYv&*Q-JRp* zI#X%?g)6l(mDMV~@)v-6>)J;*mYF;E{f2z=XR^m`?btHZX!1y^D{eS+OYNGM4$Twb ziAAkpmWYsHe`>t$`Sl!gAXU@mcT^V|$+vNnP*!NSTd+HU_$MpMm+Wh*+PZvReVF&y zUEZkIFkIE2P&Mv<<61>@R;4BsEwV8E1|G?-tM&i)y0S?t|1T?xtysIh*!`({?j0MN zc>gbpi?<{!9P%m9D4D(Y*>!nKq(eYxv2<$5!7({^$E6LXor8snm*- zYaib-e`B?V(FdR~e3ur(RPQm!N5&YsaL{VJg@@2C5V|Z6rUgkT702G5*njLc@~+U} z$dXkX%PB8?0}+WA6_=Kko6+9eeo86fP=h^3t|I^b@B*7geNyOd+V&IxpyS>1Rt5)$ z@liMrb<>Pqu3&0TZsMbNiCVTkv@AMU$dPd@WNzp42C_Xffror|qQ*s0SGFrwe$@{ant{n{xGHQ?6%AV!F?w3zYHo^=n!?cQ0vF zT)4a9;LV3>uXyve-tfTAyMDZE?GLW07wH^obP4$Wqb(cfH=5j1q@id3qEuqxfj;Eg z%Kn6U)~U~LU;ob2hsTSX_P@HbsV^+zs|9cU7SfoJzKi-|@(V0YX(~uR9i!L*;d~JC z4}O7))}gX)(xk3TNL=zc5IiT0=U9DnPoW>16P%s1!!8H4{*vv}z*RQv8J zVE&ti0VbgZjdw%%EcBgz9yC+}%}jtSZ1gk;{A0%a;4SjkYS2vn?jj%{S5+f>Ce}|+ zj_i33nVUEJUC%LjSx|m=(R-*Tqkn={WNrclrN+GuC71$+P7fs(NsX03hkKs$oMv5CpAppJbC;=Y2`vFQ*zIyQUi zLZ<{UdI^*2n5I*f9eI_MGXTGniu6njUE8^IkJi$&U`4wB;DUJP-Cy6etQ??QIf&Aw zudKxYNcbn#%-u5()W#aZfzHYhPmgRMV$pzP+5PKEw=NBLrmZDQZkVHBZ%d$kP)|dy&v}#LLG+@E4>P@@Pytfp zR#WJVQ*{`}Ao%Ig8+uzd&k7(!a$fxn>Ib&(8y_uS(43Sj2wr6FpSOiN&mDoZnuhBL=joh@i*n{?EP@i;Vt}P7#rAg3n?as9IxF+6=6(v~ ziUmyx1q3P3@CDbw#&(5Rvspui5P1WbrOolZW`#^)@Bkc`A#`~4U46;5}8J- z<`GilM^>wHD2xo>ybvA!4*C5=yvi+JwMh!G#|_6QJ~#O}>olZIH+_pTbq1)WY&jX5 z1rdq{3c$N*07tU`n(_oWl)Ma7zuQB9aKRC@^;zRm>X=r1pyeQ@o7qgzpIG!)nNmMneZ zs`{eQTjm{oQAK{N)}S)PCsHgu_4c+CU!3ejR&D;>(}%{2Oo@8;QoT?icNk^8$N#u{ z^zPNA58S0!-n8`i$9J?0-uKU}O*HvAZ9m!>U%(U&T+T#EKBC~JCb1Jba{aR0h9J~_ zTs>nO$Do~wpMLAY?!1N1zzy2{7M!yP%EK{;huRtU!O8sgjx(D5(1m2C`3TMO2@FkN zwdX)X`)wN=e9cSBqP0GG%fVN#Y}hi=Wvx@%L<(Q!!j{T;Y5l5YzbC$I7_YOMGV?N} z{Z&yVpWv$mzp0#^P(>HqFj%*3v|T4pRyH`hkF2jFylKaXL1eHS?CCaN$E@!M8|MZC z?P;sd=@WDK5=Q?#Oy7qEr|Wgjkb0L>M+fy;f4Vp4PY-ZdU;H=y^!*u<=f7#HOmC<& zSQ*?$UADvV<$c~+n>&6{ej3wi1>K~Up{&B5)z#JG^;Q;YAg;wR!e_IFO>!JGt-yVT zLkrrc`!Cbk|E2D()=E|8o5lEPpElN&GMQ3cF|999=8#AnWr6d2vdrQFeYvL0OtQbf zb4?v0zVI-FJ2m+^dI}>7=$mf`Yo_aH=A}zgo{gnv+rT=!Bpqxkv2aulgR8aN&$49> zSI1{(Y|iSzwO7~OwpUWNPq|m{h2Unzp?|v)v9_TQ;j_qtO>=`lTiar*oL5}2X$gG( z&@KeIcX;?-iWdBnU!WRHT+m2IZ&G(rR5mujc1#7EGv#cFta<9B;-pNP&)jeb=i7$US@g<8o|jHD{5I;-R@Xaxo+T^*l}n5R^9+WB!&=K=a8gKd%4q(N*9 z7+gIz=cl78$jMsU`@d#oy(>vJC;zHvWGP5u}ji5Smb#`HeD@Y zMtd4Y+?7#9{Lz=1PM^3j5t$oE3$-GiOi73w&804(+M$*jv;<$M;Us!7c$nv@m8m%u z_Cil*U6BNPy{Pf@$s3d5dGIxzkO#%N$k9~h5@_hx)I91nQ*}+HAvLGcuG4rr>QfT* z4eBk5A&zo81KHJi9s3yMs;L%P?HeSyKX&c8-+7_n_DLU1hc0ilJlphVA zM>Gg*wBdzPF-gcWS29_XSggS{R<~l6vDlw!R`)%;g5x&aJj6B!tZME`L5ZU;{^{0F z-54NiIiLKNt&-nU*c7GGE9stG%@D5eC2%>X z@HE9v*h%W(P=GaSX~0&}*dp${K9i9{B-vNRKbd>G@`&IQ0pu#mPKYcSe~l|yRFel< zm`{V|by0Xyk?qJg_YMu+`~UIw-tkQxS^u!+-YdzLWEHDdOIEYGWLc8C+rO}@PP zvKw@{FZZ9Pcslqao(xBR3~U*HkQSN?^yMKeaSF|uEC*^c^d5Ym|MFBJ3dm2;s__TI zMZ9;On&$`Td*S=j?+>RlCGSk;MOAU!JDgF_pRdb+JSnlo6i4tRt8uvfzpF#+74ljnOO&wt3{3B24ebRpzJsbJc* z0pTk{`aRqTOOQlyiSc;UYOhZ_8g16F6r94r{CG`jLo$QIusXc0t4ebQ3bf4VfhxI1 zsvvCI5KW~mXT+1XBC~e)Kzh+FFRnI~#3NeU-XQDyAJRa=eKT4O`#LNfLoEfa?y z7M7DLtt5XA-YGm^{V$Hb3CT~|CF&pdPg{b%y8tzn$Rgqyq{t|KOfkT>R+iL=&} zgSGhDV71JZ?*NUkB0%gf(L1SnsQ8711Ml>T!Z#u4ohyD$QY34HV_ZSJAX1abn=ocD zWr!>oauo;Xm3G0M3lTJ2Razw-6yxtn%lx2`7Pf&vZ-wPh`v4SC8!5~Hgud}nZDjIIn2 z##E#1EN2EgWum&o#{4OWuHRp@=goxZYTnzQlGK!CAnpVjWqf8dGtnVw+j6eAYOFdT zu#-aO>dzEd+<_Y*b7joGvojV|xJ!IWm&dP*Wh!D=5~WsTa$)VKR~0*pTWt9wEhIJ< zO%3Nf)u)=7eIl+o$ob$z|3i1g;qFUkb_^(O)pd;?9aPiyTXF_U5^mb1X@hW0?%&c%d>B&>fOM8AYGJDJd*Nti;{G({_TjZSurBK=P1B1P(~ zY$1T+dNrYFDJfA6b%#Dm*;puZ#_iZswBkgIDaS0v)KI5>`h#~;$~+1>Lg-rnubC#Z zL(*MukKx_BZ{wvS_0jAlB3U$LuXqaTVqiKS5K?$zk(dR9w-;gER68Gz?1AoQ`=A8M zatq^Yd&Y{BZKy!&$n@Bhnuhg{ul+X60?<-*{-VZX@2v|6SaJUZ6fS^|!QHI0ZqEc?|(AWo9K8}2*OFHcoZ^oyi6WRI>;6-WDj(zJgl1O5e1F}cijW7d-1^!wH?GZ%KI zf~N`7+>KwJ=_LLVrn=;}W8tTepW%KzgW9jddS;*vQ^Olk!mw*L=@&8=)_ZM*t!=G^ zw#;;UQJOPWAYrHUMVZz62dy>Mvavcx*~rF`vha>v$|85IE;}2lh@?JTGJ~@g04Xev!r}eJ!S8 zq{GQ!)P%!*`yxlCq}-$eV^fE=6ih7g_xNTTVS`*4OsKESl_7^wI&oT?+PAAQyF1Td zp4C5^P8ucWv@Team%qT8b7czy5t-w1GBM(Q#)b-wAsgi6?#<XwxYLdrYB^M6 zkn7qq9G2tPRuAiUPX35qguK>9c`RM)a2CFA;gc{##JHgsIf^ge7(O$aPQ-c*_BZ4z z3SzwquHKbq&Y4$f`*L6*`f$DB@n3)uZdk&7?) ztj!JJr}O7=R!7Bxu~?Ii>^YRz%E|vmgM_@My&LjhIfymDHYEPaJ;kr+h7F3)RkZ<&;n`?@%&$z7kRgICfX`}P$50Gb>x<~+L#(#)}E!1KE#y6-zyafM516E5W?(`=5 zh^W}Ld;c&x_lT=CS`r(pG^cyhd&_J@RBVM!l!$br1>cBb@;bQn*pGC*$Ze#(Y{d)GF&J?rViSAMQ&i=qSQfC)6-A8nyz8 zBOyyj3?9NIgxc}=l48R?-%K)=1*y8N;Kd80cv0^=yoRiS5{uV~EDFvs&0#4;1i%yj zqNmo*ma?N`nJs0{FV|rS$|k$V6Hok2DVkqyZaVhi1`QoPCB#T=A{FrqdmBN)I00ew zsiuF|!-KuYQm{&SiF=G4%i@dK<7phXIf@+>wV-Jz_NdhOHeel>8Ue>RviHHR6F~C8 zZuM@d@hKG9AT`48(mMGqokM?&iWf=R7E*^lQl^P;>Iz|LPbpK^UekddeP&}))gnVe zRQ~B^OUmr>Oc~E#=+O&e`1IB`{N$!LcbEEmw%_;S+{*O>_3Ob2fnHC>W&N^c!p#j%)FEc(Ks(e~3{ZC&-3-yIlCRworZhB&bXo1y;b zU&wU^_vqOD^pg}OPiQ(#`79K;z@HVkUJcBA{E{BOs(*z4$Qrbc@SWcD#@8G1&wyql zhQ2|>oP_1PVPWz56il_Gr|i zZsc=nw>&x8uy%H)s6Rek8mqIWSbfcT4kjNwE5Nh3;8_-G(cl|cQ7)^w!i+S;AVN)o zbUaI#U%`$&jPx%lmKry-ompLC&Tmi76kuw(Ny#@v?tcD$&i*J!tj>K$ zAdTfkKLA9z@8<5~qo8x+WqrQppPijwey7V){j0N3YMS^$BnMX}zCctPI}2ncL`%A0 zvk>jXUpEqKu@ZiZ2T4prDq0M2Db5t?DDM{n|CjRPAU-i{tr~d2FPrXC;Y(C@uvMMa zQ`mz%zed=6>q~2T(teoN%kTAq<`oZ(`qv@HhL(K+2I$GP0VRHW=i#9gT#atn1n%_p z?3pE{_`uNQe=|OVbrW%D+h|kq<{}|=r@20mR{u9bc)JeSI|Av3q*aU*8y1g^rvGu( zLnA&{)0%3jiTl>qxzZCHy)jsTPn@T3VT*bEID!J z3(hzCpWlf(VIHL;EV{rTz(0@PYkPY!2DzNnA?Uux_8vIh2~ai`Yvm#zdM1cD`2NfI z-;Muz1piwa{$KoY?w<+TO6RNbHbe-pF{V#@OS}U}0a(QJYoEUJ83Ee7b5m8yj*`+H z$?xujKT~&?mhMh{cjv|!=koOQ<<31j3#I0XCy_$p-=>`fQZx8toC+TWJEaEduS}08 zZ-f%I8?LoW*iN|4lr$PK5hbBBLLEw&TbV*f2RdQ*F2wuj9!bXg87zMuesT;uwrk?z zW4px}A7sG&BxqfR?L2c1=YwynE5@zZ&a0zm?g!uE{F+LXu(2U5r|D0H?Cd0zzX{== zsSoow)EjpDAw1~OvtBI_eC14t!N23^HNBPiMCIesCrSZYT9yttyYZ!2YpMk+xGV3}u;?uk1YCNQa$O?;Ffd6v>+cEYvzeAouv2tTTkjPOc0iv$rS z$@WN<232bTQ-uG*2h14MD1R**pYZ%5`h|ZLJ}I7Y5e^6{1@c4O3znUp;k zb!-}Pj)u9Yof9vlo`*CaI0+5s@!L!Z31_~-zrGERiEmruS}iCn*nLb<8a&Z@_m)15 zI;P{P-L8tfjLaO9*r?*uUzIkv9gP)P5-Ap!X)~7>rV4RI&(4PjTMl%@X;ky~oog-} zG%Wa$e(&68@Slzy!+*LkxD0#r_W;icPOR%Y>aE=Mhowv3Jkr7y%fwv1(kR+A;L28TS_s*%`q;`i%_XKP{h;?5EYsKtMFA!lJfFp`%aBzZX-%4qTi z8xY()#M22TN*tR)hBC$017X$<`3!17p`L%1Ogn0@Y z-F|dI=KNle4K@}oxU!xf$I}uDTw?F>`KfcC2ZEDI%nUWSwU1^ti&HgHr!T|wada#z ze>6qcBaYXgF_LV1hiC@b5ml!y|2hqbIMU4FQc96YQTkUq& zYVo&kKZAE^m7p8HQ)&Q5&)j|*QBQn+n&2H(liy-as8f|gor*r?lXZ=WqLfKVi>Z^a z8L`6PiY89Iprm;hT(bK_)}S@HA=fJuNuxbge_GPHzsKvgE^+@}n-dQVPQ1#Lnqc{sM?Wop?{4%`eh&-(c; zat^ur?wXh4ZQFd$g#jh;jJ+4teB^`8N8h$!e-O^fhC07gr)Q5NAVz6blUo1aC~}+B z_=#lr`0GnoeDu`8!8CL=)bxopDTF!>F;}8#Sy09|l53Lm8-;6;aZ_bxCOqwpqZiXF zxCYI+tD{__{2}ZMkupZDw<_HZM{Y%~!&W&`s4vM)6Xi$AV+1<0N9VEIVS?RKJ})Nb}Av zvf2$G|3=Z00c{%`ggNMk1jdw+#F)b7j2rJdb`1S+oWxnJf$0vc4Qf1uohHR+1$sdk zNJ*ft$zS)_$im0h=HKOPTv1-WvcY*A+1~z}HKnC%e$zg&7};LDtlsIYUsgP^n9wO# z(Ef=juon1>N#L6asnEVUV!QG*>J^W_mQDVjMgEVBKZtP8PyBG6vg;dy>v|Xc9Q{yz2~|D3St`>?cT2B^EYx`wcY)E)pH9k*8E9 zO8yxh|(F`tfio~s}6F_7P?u7d;bO91Qj$%isv)$K;_d|I|s4`f> zgd1G|$rDG3GKjii`4Rjv26ue-UC61U*pYFRY8zR91j7u?9N&$+$++k0oTKPO$fpt? zVG@3O)!{p_kU3){z-8DT{+g&vA@keJsh?1?Fn@aww_xw($4yH&ZS>~Vd&F3tLac8* zFk)H0c9CJp{zg-@#7KbMq|PpIb1eglS7prE+o<9%1lR($z*FT7^i=v;1AsBWVkVTO z)gDe?NI&_@OY=|7PmW?mMG52O3R!wniYh8PN)nh=_*8JH(veWqlb+vSs4v>_$_8}* z_)zPHx`d3OeGTZW@p~%QwI=S`gWgVIWMPlcAE2<>bwUO<6$>LgheVXK(IbS1;=TCg z7l-Y=r&np*;uwT4Rm6Dm?IQo!g>4}ZMO$pa*?q$=+}1>=kBHv$taxZ?dY2d%AoXH9l38 zizV*(?ctC+V~biHML0a+OWO|g2e=7dg~CynZRU#H)#+ec?TDY1Ksh)9nt$?J^c^VQ z;J#Zp!+-dOK`%2IVJr~_Wi50?ZA=^9u|ab|nHZ1|1+$F*<7R&&gajnCq@zlsj~2s3g^&KP#`Mc1m6adbZbg z@0e4N8YpPbPcM>LeCk-0R2VH%a0vYpE*R`{5~IsZoN@!Yj?iZ!U?6d!@M*k|Dvj>` z8efXO^vk2jKBmZ*nXfMtp;`Iv_J(2widoybd))ach`3N+TwI`wxrpqTSacDSijoR! z!V_|t*jt~)WMGUL3g04x(+Q?9c*!xFZVyJfa!>8A z1IX5fZ5>JGlA-*Eo;8&WA#bQ+xwAIz6^3tWV@+28A>{;=`mZF~XKkixg;^zE< zJAQdYT~Sx3cW0V~*hO#Gp4qu`OB0?sUo=u>r90z=nQg&16hq_7SGQKy7py+lxAF6P z+iGrqfAb3<|LgTIB}yExpw>DeD=I?1cI3emwa~*JF~ngnmW1zKj*l-N)Vj1ntdu~g z5vC0{k7@v>0SnR3#x>|?(PD#=#TT*sEm?*iejsgYM(H162pMI1CJ&*CCawx4BoDbJ zLPF%aI{b_N(Gb_)e{w}dUqznHo^BGNHDW0TRhF#pcNOFmC1y3H#6@v)_EpUqVi(=l zvtgCA{D<-weM)?OreB=>Lm5YxY$^=;#OW9^-aB;f{M2X;D@v@FM{{GNT#dOV1hCjF z0Ak%W!O_{R%SP5LedTG&%-dW#HxDsQtm|pA*DfvwI5A$y_$l;5j7Og9pnBm<6S)Z2 z2!(g}@bs1Jn)UwDrFC{^$8EiFZV`*%8yq6ISzDF0BUpohU+zUjBEGqPYv;O`w&c^X z*&0phbHr0@*<#H5OBwdb+r{c^7GRgvpo_M-x}B0H=0(nw#n%%?U>V1>P)hFvJnJBWCCQfvRr3x zEp?l7XC)Q&m-?(mTfpo}Q|eUuex=JGN+{|J7IYUTT1>7ir`;W}aFtO)5rf*--VGI^ zzhhju`s2cUXBr046y7F-i9C1@K8bvC^(io+ZgeH{QE$2~Kj;@}atn%dX)aU{aP`@q z2Al8|Pa|JtXRH;AIT~L=f=|N{i`Qmkll7<{kSaVOq%Vor8H9v?)B^K4njhIYE*KqA!W&_nneyD#r9(GlFFL@VS5hTCd=mwg}+Ex0;} z9UxeVL6lPMlYw)1Ex~6CCY8(t`Z!HVpz4P_kFZd0v4Du2>_j*|VgXMZASQ61;18-jOax&0YVv zeaWK*&95$*fA4~1RmSWMX9oPuC26t(zD&SVo080g_ntbfCB1M(AQdoDZNr6?o4W!7 z-R2ZWJaJP?_ofuJ9C>}wMg07g_4SpN^>v3o-ZJv>3->O|73y88wc;3wLeg^fUq>5m zX-iD@gZFT&Ke_D0#QBGQM_%BPx(e(c1L_9p*Z4b7Oa@AY8Qx5htCb8uVd)@uYc@Rf z_l-MW&w~3x5m%ux`HMWITZSt|h)p(e$yGO+=Pb?52yYWxemc7LkGB+Et|WDsGBoqn zzn^UFtApD@fkLeiBo7?wxWMQ+HZP5%v}wrg;m~N?sV}#xCf3tWPTUUH=E@?0Psc6=ZY>)0O)S)l?Qi|Yl6`Ns=h04#haK*+KPTG zBR|^y51}Qj@lxOB66YG)H z2;ZESgbzv$;J*qM)cV-S;_$dd-A=YSg>7 zu;~h0j?XE%pZKKzC9U`4ipr4Z<9U1~(Fc8+-xn9>^QY;5wGX_6P#?bZmMcjBhrP%= za{u)jK7w9>>z+8<^@kVl^j#5L(r~-_>kh48N-Yc_aEFrg$U4-WCDEG`jTc{VHLtEx zdtDA`a${QDs=0*E>(03YA)nW1Ps67h<{X=!Hg|5>?CcGH*rah9H9VUovpRjHBfZKa zR+{kIdrWY z3cjO3(KRi5dIQ=FxN$3YxT_Sc`}&i0!C7gFQoFkvIoE#QH#-$Aes6FD$*dSXJVH_@Z?*Z9w69>0kk zD28%?N6G=8xqOU}1I-!TyZq0o7k5=|?hN#In^Wz29$(C6EVCq9a&lI05@`$?5q_&A zDoUjVz^-;=1U=T0K%Du1AtZ)-dWNS92mt5CDLP8|0@MG~a1fH8T+hh6QU`bQTf{~B zj>ttiTQPN!?rm9F63DV@#3ez(;+}zk*(bla(cSrW!sQ$4?Kq}0hxak``4}Kiz(e;5 zKyrLA$-qp!Tdzbd+{9FCWu}P}r@$b)^f-9?zI*k78m=JaP)qaS6h1d~+rfM4 z!2LD_ety*-N)0W&3(~-T`1IuH+tt>gZD$9Aby7tFX>ar$HV$=Q0t}CK;Pg&RN zNh2gLC6lqoV8ey8 znD|jG0e<`-7{Ff<#leE9T|E5^Sx5X$>JU=BhjJD3n8~_$L|qykqdFbdm3l|CP5snM z|84(j^;d*ZvglVUh5sMK5Ih?E4EuKh?t%XX=MIOAOhwA3AhSRBDLCOSOfvGCo`N0s!u@rk0rh?0(|Z$if`x3W`pHwuwA`vh{3C2T@?RRS)1_3p zoLPo?{*i!<~Ba5*3%Q=b~w?1_&!L|C0g`?#ViYKt{~ln-w$Wa zS3dA5{yEX=xI`DxYFA?1ja$u9dJ?Es>wO};91d?SI7`UPXYf80p^In>rq*V}%^)lV z!~4GJVAa!3#KIv~uaT+&^UNStgqlk3y^`ET9=Xt7m{eL6=-=0B%ol5oZimnp2uKJ4 zsW9hZo}i=ImflxtHRSi@sM4gCEQhSRd9HBo?7re+cfQxi6NuP0@5cJOw<@&k0G&gR z0WqdsvbfWo(N=5zUyVT!yw#d`YQm?97S?7Tg)m`RORV!*e{uXd4f7v~4 zl$EkPv_n~1y>NT!8L!!u1XeA1^X_>r4A@ipt6aSeur+E%YbxP-!A6jb1xGt;kM3Ah=PD{{i{^=C z;>?k|I+v~?q^U(`f^CQg`w$(HPTo;4bpb>t#w8*o{mdCic?{c(mM~7hUsBRO6$&Zo zjOfi8xYB1n12tk2PJHx?#OzfmJtm37xdDJSeQNlQJ=f71R zgIH|vsMKB}r&oQ=GcDAHC5&&N4re4|mtW(f5uj}SBvYYlq}O_JWD@mHYtQzFk8-7q zy67kdhdvyoCk3x5-Z&<+xQvjOjQK}G|s-;fe<=FMEL8e@9Osi^G-e_v3_ z5vV(;VC>V&$tC@7ua8vjDASQF37#kpFv1keB2=RM&Ozg zS3jJ8$m_ahYgT8DE;GeaU!EntcVX;SRr9igEy2P1Tv;YNPAW0FbCb&E>+#QHK~`M; z-L1j7<+l74r+X?^TSY?W-X$p4YD(!^ThP!EU%ISe;<<_k9K4wr`gBL$vs>UAC6kbI7`#h4agqaqcnuxg%k7~NZ&}(jmVc29n7RB zATQjIZbdHLkZwnwxFOww{CGpU3HjX(=?>(x8`90l#T(LX$Qw7L8_+*OI_w{4ykWW# zQ-#tWzH$H2*KYd075(U@>2~y!o2FaP4{n-nLSMgWx&wXbrs?MYkZwaiy=l4uizCw$ zfG?a*BQaROJM`BH*+AfB+aCGhQTpq@B$7JHoXKx7F^RwGn|>cgZ3Bgrx$!kfhLr6e z!b|NbwW_%I+yM!?>N{WQ2MI;V3DZE`lpA9^Fv>K zn$}&nD35?jLq6xJxI&S8_O{lt9b?^v=HSTDj+|91SLK3tq&k8R*Tc3M=#SC_P-aAK z>r9cxP1~yyjTTOihc**jnSsP)wq@!1TK%)~Ofq-zlgTxHg}{{QOs@4Sg_g|Gfv$?} z&n)OTJe;=uKy`J|nsYt%+q->Zzp<4M20Od7`EyHcC4LRoXepSTq|fojSqj_zhAfYI z;)?0u;Lrmra(x|J>kho(G;g0h`{?2v-|W>z>winyN9RmlreCB#Ov*hMpGa2hJ9?OwgFFZGoJL4^YM7^;^cSJ>2ts-C$UOHVZ-w#@HZo57IWkWPndcO( zFH{Z@v4+@#|2KXdIg1J59xyEw6@$_Y2~-*`Jpw?KD7|)ckh6yB*#l`M%jz7?{JQc~ zmgNKnoOzYGc9Gtt^p^TfJRJxBMrxTpau(@DwJ$-IP&$-bHBytFAJJ^QnUA6OqiH+GN zckP0pry<*jw7aT@Gs|!3O?TA{XI5QVG0lBtssG8z18ZNqwJc@$&hGa%>7DNZQA}{| zk^Up6(??GY77kZZCB3Esows(p@HAszCcMM$LL#(PGBfwqu&zG z0r*VZuOir@&xr2|KQBi4st{qf^{AIRwGNpRgbeKTC>iO8a(EPmJf0}$6Y4x0Wqnio z4Y(S|PV&~)tuZLLk{6cE6Das7v-O+VOu5z&JGiWuAfK&$LBmc;YHR0Y8i$vCvux04 zVs)UM_?O@h-6lQ$rOjW8_wtnn5eVSFlj_7Qa2S$+5+;H|lMU|&huj7-q%iCYcQOte zU=VAipWItyP3kZ@_7C_xaEZWO_zw1M8_`!VNbb+>fZxg#@(J;VT;B9l2$X>Ly3h@% z_9s662?yu}_$Rt6@%W$lK+ncM;s1<3_inr?>JEW~&Pz}M3CFE_9~s*`dlP;I2sX{$ zjN0RrIM-8awbr@8_tH>oDIMu2_iO%kX>Rbg0(Yr_g^#}%k6(>H%0IRS%~oLV;p^V` z=SKW*K(-N!egpQADCa5i`^8!b{c-9lg0H~fqWSpkT}Mc7uT2}l9lkmH+KA@E zasHkjq(4IVs0+PeU%%-ADT!qe{(Ie3f*CdkjkZYx}mXxa0 zgMacNUKV0e;~*LZUqvGp4L-y^yt$+!$En~dVv0@u%eNM;cxp`^;|%{W!l2)d-nrtX z?WGELfg@KYjWfiZIbJL=rDPO~P3IocTlH*ip|2)IUA^z(ijA5yHOb4Aa13SGARN6E z(&9ff=b6*yd@y8|9h&nI$HvH<=K*BRfx-jeuPTn$TUa=3Q1HZ$HV?r$k1^Bl$cV`? z4YxHI6+GFUh3A!US=3~+GfhLSN9+4dCUz!r;v=vH&gqYAzEb=PV!l85qALNYtp3uE zAo&%O9sdHT+=f4rXF0`_O7ul~Ih47S#UJIbLOIyRg-*5!XeTEKp9x5X6t^L`@ifDF zL`dL^raF}g0X@%aS?%epaAyu5Y_@H&&)VzB;2CASIBSYE=;A za(HSHPpZ(#*4Q$fhFGDLUgzq>1bcG%-p!4md$>852vnTe*|9()53W> zorh4MYy=PC=)hVDzE%tXf08D>uR) zfWh=nbs#XqgZJ7Vha7mpBeC_3wUG`m*K^m!tf#}iWnpC3S01{i>lnz3!Jp=UTsmq~ zgQctLrDUg)=gzT9&03=8>qn=0t{a@=kebPP-v;|Dg#D${Vn{rI5O4c+ch)awkBIU2 zg?eC=I0`&XNY)&F;mFb6CfgS^ZTz+bklwv}mc1Xr@>-4pjU&y#!@sN;tF_^GBPZ5^ zB1_ehvKV51!n&~b|L^?avBwG@1>Zq&=WQrl30Z;o#in7BKcqYsw@{2}OO@5CBurc_4 z9}#|=)(v;FFJmGy27O4Pk_LAV<4?GrbK_4+K%whd7bpUs;cLLUhX`;diVuKv^eHr* z^zVpxcie(TNyq;kB>xAOA3|v7$-H|YH#m&Wr)=?vO+`RD?aJCru|4!x=*Ztx0jG|^ zvMf$@G}Toa)$obQw=4}ho9im*>VQMXoS7!D!nCHk3RD;)5=9+!+thkBS0s(z<8#AV zil5_&B+L+145@y%Mz5jP)*@O5`dciTj0F@~pCJ{4>186PW`iOrK4-&y8=jQ_NgIAl z0v=g$dii})Wc!^Def;r5cb>m^@jNW&F4|^vH~Iq^UxGl$l+u}Sg#sp`lqM>DW?)lJ ztU{xaFO*0pTfmGFKLB7rpTGAfutio3Hvb8Z)dKkaPGf$!Y6P@!#I?}t#4<+wV!KRg z5dx=TVp%kb{8cgjFXUm#L^<+gR1BTLjXLuuFiCyHpC`tC9V~BWq&y}FPytcR z#y~U~`)U(9p;drJv4bcTe_MfUnP4H0NG8gVt#bU}pUy;a8T6Q_``*S6Pkc)B?HKIa zt*~!ga&=8B4xpO>I-yp87HN`7;TGZVDv%9`QHGDb^Bn9YQ^0=aPxx|bKLXoy2`hke zhex9k*5ZIUHTAO5D#`eR=>1~+ar1L#{3$8Ow>+D0{yZ{q9)A`D&x2z8aoCQn;4}0j zvY*)J5;N~8%9M=%8`=L5@g29&K0xn*X-rZprl4ha0qrZgiRUCJ6VBwH0P7*bSC6&| zeHHyXG54bhgFG`p141B0b^+S0zu-^I2bDkUyaN35kaYaQDv*l5unKPWJge|`fn^23 z<9cYb(N{1<_+E<)?Rd?G4ZY@hIoUfdX-|t&I<&F1a(jv{LU3whVOPMx z_*A=Gq<1RgQ*CllymMleF3m;~bg4F(Fy2W+CVzngI)Ho*+Yq4mopCz9W0EY6Vt0Y- z*&WjxAoGE)3T*{2i=&Ksh1M$?>7g$R6!M`sL(+>0s&%($RWGVcz9C53u24VsoJO&YJpXM+JV-amW5P(J za6uvQPs+B)9_Kv)|9=7)UVL%o^UqV*rNDq_z+K^QTLIqW;Vy93N@DJKX)hrbfY0PR zIp8e;?lFTmxG-P#3Xr^tJPVna9H3o*JP7hgsfmKy2U9o5Oh&Xwsf^O<19qE9Y)Ln* zW^h>&g;tC@v}RwDUKz~Flv9{%aFkz!W@s7+#{qf~5C@?Cnd zQOS2w{6q#DoPbCPKQrMpOw9BbP@&i@zz!Yto?U7L#UnT)InbDVvucgD6F5GXE@1CR4`dNMtI3nMxYY;~*+whSZ%S z@vwzlu1>XqZnG&=Y!IX;XcStGnk6>}68s${4kVeY7+^cK+hbmm`iM#?}G*<3ZNJ{v?vTm(XqLGrd@^Z#Jp$N2 znzLOBOZogl9s-{f##EUnip%Ay#93msRKyWQgM-nv6?PxT;WE*ad5WGWa~jm=hiVhi z9G+rPltGcoj^;D*uh5tn78lOtA7KMKkbh87o@{^uVxfWrhZVr<;9CHx{CUBL%*3Nn zm{6efDZh;ZF%mT&*T(4L>D)plrjZG`3|mo8rX$}Q&n}W0gltWm%}0-U3$*%jG#)XN zS;UcxV*2Su{X)N5Ht255F^i0e8ao%^bEN@CD9#|%`jB0a4^jJb{Zw4`KnOiPVAiQ+RCM(ZRyL0(x(`N&9lN*OpNiTxth zDwkVhzu?KK`iKuU2&}8-{UOSeFvrHznEDDY~H!|n}3Zq2}+q)R{ zmpCiXQ2I21Z9|+D(Dh^kL)h+#5<;66re?E`bHv9Gzt;jf(#88WnAOJvewI)9%Bm$9 zpxx$eJL@)|>>d6Z{I24IdEJDloE)G01z7~gBt3jKAenwNK#c>5TR{An=IjT;M*{)9 zBu|*tFqmF6D9>f`V`5^(T4h?P=-+fiA^sBrz#DW#DLKgQi8Cog+^A?qwsl=mR(nu~ z7DQ(-(!s}>J%y%JcQ%v56>xLX4P0f6l560~Hw%OUl$oEBW-XqRUP_oe(m0c2Ab?ho zyp=eqlfbVdbj$@_BLHY(rdoDs7MlJ(4)ag*{dD?;yZ46xll1SPMkvdkRtB~I_ z7SK>|PvqU%uq}^}cT%S#w1qI=DUx<3^6o}RyO*T>hBi0S=1s_-NZNgoch{2nh&s+j z-rW!L-A~faMe^-J|AL&RzYE*Yt!1Y3HgG|cQKN05M6_OM&^4xl5aVJ zgOiMRAnlC^Eg$&>EMQ!Ov^T@=PJS|}LCO(8eBa40CaL&$pW$0*Cnw(^zR~2DA=>3h z8SM;7dm)^U#+)Pq2KpfF#mOrn8aBBMZi(j+V-+dyL;Nu$73m?yD)MeDq)EUrVyq%{ zT!Q80A<@KGMe?yBZIo=^E0Oa4327B1?bQhFV@N9`-+e9eE(U4MWWI}$e1DmgA&q3d z*C#&@<*P=XLoN_!(QuA8BF|BGov04kO3vpC5!!9&SIA@Q;61yJPlMN?S)9bd9dEq*d=28XbmA+AMzA(ihhoq_u+geVLl>`HE|ak zrjmJe%n7XHyG70TV0sH}=7f=SBp`!wy!0ZbGo!E;~@o3Eff@8A)gNdxH-_Vh55=hKR zah$ZaTtmUOH*NtJ?)UnlwE|J%NM^^{3T@A_9)R4x4d%>B;8Qu7l-4qq*R2CIB^%AT5_xNTMW9 z?G{NtMc|d{jZmeh!+$``^a-I_kHUXIZ}!rmYHx)9fG;3M15&0C{zIpkqmTfFnyOo# z=+d- zJvN$ucV*YIo~`&7+gZo((WTYf@p%P@s_^%yl(FuuK)sE16zqU0U|&8=36^Z=N>1+D zP*Sp<_)B7m#?TC*@e=;(h|#XyYZGwgKnl!8DcwvL8-2uShmeT|h`kov+e4~RYV^^? zAOJV}Fa>GWB;}dS`Cg62n{PJfC25xJP&9#oWjJ1r&bP(0{qkX$ ziXU7Ckn)ME1>lr@;-BCWK2QL5I__KkUODoDInS$Bdtr%rM2UH*7&n1~`S^(a?6UVu zhqfyk@qXr7skQ&MtkhHHQcDNM2rFA z9tP;Ahd(9k8wu?jD*Fg+nLo-^yP`hcuaeQ_@$oKgEZx6Rv?*{Uc^TM;=jSeNOk_o` z6|s2nfduf|GXzjH70VNm(_ex8jl01;wU=`BBdP#HDwkfQa;59k9)noz&g71X#}dEs zY!Gb>T)_@Xj2@Lf)1{P{ysG#Nr*h)t8GIP*gVj)b2Rf{05#(j$dBhZ`9MW}PHU3NW zS>f3VK(DwD**7ta>^q38nAim0fjS|$f+3-I^x>|8Pv!@{3M>%J_y3oFK6n-nf@imY zr|<%Dtp0*81|QHb66XLn#G>`0-~$a6B9Dj;OPb7joKexQJ%0K4`EMh(t}&$rHS~+W zd_kk)a37!-l0LTOGreq02tx{1AJEeVVi?zdUX2l7(26bK` zhqHnaTdy#4xp1DjYXgNn84@O&SM*5FGzjg5R)!+J$xeZ8Tk0$GWSD*S-Z{Ql(STAI zGpn<6T<*9nMxlqk$qe+`6IRhu8RyBjUH|-Hw12= zgS%(Sxic)3%mip8k32V_HdctJ?Z~_gN7cOSgj&-O7jwpgj#v<5smwI%QYu|3edSK6 z*%zk;?eRv8H)N?za90G>b$g#L|P_biClY+rqq)pgApOMkNB0r@eMQy5FR^x3g zbkYHupj{Nj5ErxzrOkbMM^)G#3Qd9SWl^_MH%B_v3&9C*fiI>`FUs#oqvFgJ5&ZSvman{mK_*WvyT1wp&A|~`x@~ob~^702Dr*Hxn0Ep>F1S#Yi zO!2HN;6Xnfk3-6p0d)?C4S3utz^CL-*5r@Kx9De(=Mi{0AwMc&+6t%p-caVQlt~FV z;?2(SBn8vmBB#vKTITVzuBoVA+vM~+PDqRGA6~tX6U@mg%}CD$XIbp{qLIqNHC-uz z&drrody7Go*@WK*b-)5x@7HjwVj$N|n`U=QRvq?$h7=(+ha#)QG$k*Msji%)VLlKYHhMWdV0W3!M`BV=nL?YX5Fg=VYM;a(9v#$N z%Smq@$u6E>Y%I#FD7DqCs4kjYohq4c%iuD_8k0hvpy0O5nO*I2YtnhlXn|6W{GJ#C zN6BnY=deOCry+Y`ojX2nPOeM9SMjt;L2R5w7IdBmDQPy3!NL);Q4G#wC@GQ8VH?@h zC`rPj!4OhzWiu5G>bMsqC)->pDGqze|KsjG;M*#)zTrE!NU~+ilGPD zS!s1~Nm)6&UaFAB+ZtxH)Grz7%^$L)sc`s^LD^qAlTkZ@?GIW?|Acl2+HyroLfP=G zMXjUIhAt%nw+g&UF@GcF23@Z=*atLD#sKcS1nzh$u`Zc?ah*Eh!i7Zr3Uavb0FwD2 znCaIrzj)-YO@rgDLxR!8O}n!kkYB5#*{_wQ?k7RA%Bg4X)7hwhPRlFS`i9!_$W4x7 zqg{Il+b92I7ZVmq6Fw{IRyizXWs;_=x!fI{YWVCW=|n`k8qPjo_W|b}aJu2uw~Xvx zTsFFT(a8QI7FA0gn%Ae{>Okq)5q;*)?=yEUa&1B!Apy0PJQCQyIZM8*@s*HA4x?vV zsjc7%i3G3P;&nRM;i5Pa*(99XEifwMljGx@S~;!h)jTA@p3A%`%SbGlH?hA#?uyMR zzxR>Dy$OB|XDj(R%*W24dju4d5AtxIH5m*h@1Vx<`$H*G2K`$CzK>^B`QUpMs{-H6 zzjHpg3;sd*03$tz{7o`|fFlw14Y-Z&PwrsO;akhXy~AvhZ%4?A19y=+Q;Jh6kFjMK zWTd3dW6MpH(@aX$&=PueT)aePb5N=Tr^a1v%qUCF=~HZl`EI8NkoPhdupKGk^TPp) z(}4?%KuV4&>6ahR$XaW>1q`K3%CSkJ8IWW(#*_3wkW$%})3de4t#Kx(fYmOO#K&QJ z_tPWD7nqj_3H-sG=L7qPZ??wAZJ8Pe-9R*J^OMNouxkj)Cd) z$(iiETzkGi@1shX2eEyRu1yBqaG~p%xOtP)%?@Ux)K%P=X7gsJ#hdNSCP``u`jz8i zdfPIJhE+RE7Ly|#eo2O3@K^%k>Hd@#%hlGoWI2b@Ko13+?2^jmwoEKwuPp})xN>L- z_}Ln-T)S#mCxQmEA;&*}G2Hm&hh-8sC^N-@r2!beQsuS`BP_GFh%XaXDhXCL%FNbH zos_8rs^m<}qZ*dCSn?e#&(k@N9R!L!E_I<(;F3fTw#mT>JJs&ZPK{5nGo8>x?!dK> z6s!eXI#&;|^Z+Us>!CG*CTes@69e_|52%o8M%KH=TPPuwNx3#An!)-A60EAY^{a+Q z)=N-<)DBGIWikNE#E9FAo5+Ry9gZ*3FTNPDAYr?cpq-$5Cr>8#G~mj$C_92}CW&oHHT6z^%hJ zS=GvQU>#+2<(W+x76nC_T)8GwrbXfV5q`}#83Ulvlx2yd$AK}Z4LsV7JF(&PaQ#A; z^nB0=`;3jTz;zS!z~;g3=?*=w&}*rQP*=?O7Dy-k57h;EUV-5Zd6_B8rle`88fNgeyv&%5e!;3R)4N8iYTWRv8Ql!CyBNLB>a^DWi;DSQr%Vx%dQOP%6n@IO8L zO>MXe+#A_agD+?6>Xz@^gA} z?SxwU(bS?M=TUp@_?nPkzBKsLb_D)(9kJDpmn^6q51+c=PxSQKdGr+jL{I5ogrDf? z^&MS3H8^WW78SVN1w|ukosx8C9sC9VD;innY`-jiCjQP=qF?TU0(am^;5)Ulvv-ik zbauLIs^lIb5zdwd6Z44e#N))@i0@!6>(Fe`p`fJrOE&UlgA|I=1CJhiqJ&Y9>LKG-%5FimTr% z)H0P+ZcWQe0KH0Jzo0gz7bRtm9y8qeoA^ySE#%Dw<&VU~$s`N_RFo<%eNuXIn$hEN z>yq-VF;cQn87+%WNHj`{djO3+H_={TSDD<+d9OxGL9{eF5k4tt0BT2WqQlKSAzh;E z(k7?J#{-SlAmj*oDl`EywaNL39GzZk#u!K^{X2Y@VE`GWQl?G9uWF2i@KsB`Ek^2l zQxzz)xQE)F1BC8oOCF)mJ%bR z#sH<3F=q5|rz}bqCl@_5Wr`kNeLXZ+BvVZ=U-A)w*2El}8c}O6;HZUm(ZlR-OtHj< z_gn}7HHSL~l>?%HRN_Qe1Yy^yRdEM;k{}A_`S^$ruxV}NGPz8hm3Ut7F%2PG$i~4Y zkKtTmwpu1vrfARWy{5sw6TZ_!OofKGwJA!rh3m)q>HARa(*4~KWg6f+MK%sFMH?9sLHzefXp3#?_{b?W6w0iYW3!Lw>R1@@3UcIDV&{8_9xLtaclz=`$vyX zR0i&As2!A=a-;ji=%<%I6`~WJaI>jx_yiWYqjpS%Wz_VyJZlP96s{?lFy)p$ZN^DE zMrPU?rZ@l6W8K*$8WhSbfn9eD+^RxfUk9o6Ba2%{lE@^GBh>9{lr!`Z#a7yD0b`s zipyu$x3sK3dzrnmV+VWX^4Sf|GwYTdz3|hjRX<%gx}>%ie_we8ey<}p!St743i$RV zoc`y_FQ8v9Tn4c_SK&11-76^l5%m4Yg)7Jo3epJmI-IsbOfx+;A}t)9k|U8y+`&`B zohu9YZb0>m_f$hyqQkp*suMbxf8TJ$dP^6Sk_Q5-*nw4TeieHRzp72`?~)Z#;6s7d z_@dx2MS9Qt;X5Vq@b5hq$ zdNPTg$cmLnz1&_FzS^MIc{n4KyG^P9cSVSLPN* z%Zn0n^9*T4*8e~|^_eUu`*RmOfCu6f54n2vA6{57y-#*Z^PFB*nK3Cd*^^-{Ev-mq zujoC7es?8jGjTUinjmi_#6V=b1e}Ix;jCO6bYTx|hBzRs{JMg%aHO5FNj+vXtD>ZF zWtQBWz9S|KRhUwZCZ|O!Rg`DU)Rpv|*0b-Dwv6W1x}GVGGaIYt3@M8N-Y!_ChSHQ= z9g~)vmr+^_j%8OG(vsp;W@}u6Qk7FXq0XM$HoJP@1e0mTn7k29Sx6>SahKc&+Y4ID zMW=+-sPfz@2Qt9iHm$qRo$o0JopSih-x%tROY8&#T<7*ARE>%8>;wILC51wMSd4*-yG^K6m>rXBz7YORIGzU7TuaV!lh~ z8NIq!%`L5&(oIE$;hUFdBM)ec^QMv7uBoF1+PM9E1d)jEJ-Q*cwX`f9jP~fh@2VoE)#ss2J41$5jkfKwDk?M4 zwq3=Yfla!dl^wS5XtJB_Th6zh0-^0VDST`r*o|}CdXX>h&Ulp;XJ!=_=VTN;d@iG> z?smwsDzo3B=03{?=j67G%*sn=vh&OAK|_WYHZ2*F?;W|M zzGX&(EncdS((7-aY;?#N??GN~Z#2q>j-Q=1BdPU6Eo2Mruf%}o3a>gl6pc!e`cT+cF&6FUhOegyJb_fmvpxVyK7*O zzu&YdM6xI$8nK_0o3}c;Cl>nXP1_*s>h6l@4;UoCakJ8*1z8~*B?ZL+>BLIurbPbH z!DhMsO1GPJ1OtW~@?W%tbl8#ybl0j$=@x^MiQTht+8eve^^FXkDSy09>7F*5I@nL`O!wlVRf@|hu?&~)jqk~75zu7FYw(>ic75bftKGbi>#Zn(RRZ=^A&fyd%v-@M$Wxy zg$c?4*>7#wBl->Ox9(aBomzJDZfx0o+b#29<$q)Hv3LDnTC#xiEoeW{Lue4VH?FdI z;lDvNd7a%$zUZr^CUcZeZZ@nMf?8o9LlvA5R^&3OccM-N{LlPTkSkddI0rlTNN{B_~fhwXU^w z9rp`9#XdI1lkZc1<<5+T=im*y>oGUC->j<2S#7zwZL=z?X7$UxPoL_sBze$+rzgn* zKgmB;&g!3woa$B0?4Og745G zqy&^Ob^45|w1);w=6EFNdubJ)-b(AG*<`W7CbwQ?4o1}{+H%pR>o3nFj z-I=l(>_1geK&ep5NY)c?wkh+6^+>m-SmP7y%DfRhGT>K813EjfOL898Pi%klCq zv5WPqAu|uC(vsN{e5gQj9@4M;#bjnT?&jJJK6?;&U+_dONAH7oQf%1UxZ)Kl|8~Hk zIDFgh2Qd;mZIfja4&o@$oA?&yb{gmTj>JyYLtKtd8vyL`3OfM64m8fjo3$$0q5Y;r z6??6TOjY_W%HUY1RIoouRlv%w+=A@^RHw5f?{|Gx#MRYVk*?}_OyI0Y90kAS7)@FD ztcb~#i_VI~ac4!$nHEJPC13+bLlU^7Aqio>G5tucV6jn!}g=aF!QkZ6tu>S^XnQlHKXW;+m z>7uy4dKTS-+Q$q>o{{@b7DKoq{Xp0ML;2=$~b50Tt;DJ)-e6xN?Z=uk+7dvsJ6zTm7{%OQQ04Z3K zkWIsVWjPE8!9Br_FuAwG}WVU^09+dPJiLw=jpHLXvy)Q-y`(DUnxy|`*#}rS91KG z-FI{CZ!tTLEb^a5_Z%6tzwafBuK#7yoSjF0`f1$Gom`r!?07QOe+I{NN8W<;;DtFm z`(AsA9lvA8*eh4KcIx{YT=2hw)8K;wpkT?gm;G(*#ciX1{9zPMv)%U<_|pF}PJ?d< zz+Y{<7f)l~`*HNPZKE*l$Jl6cmj6NSUS~%;Hh3T7SaNxv%&dMDDJd2GvNHRWC$G)P zOwG+r&CFrnK_O%bj1C%uqdD`~p`ycEdLBrb%_X#5qq*snv78 zya#x8?+&IVVOl1THjoe};%I)5jU~T=a>Ks)q$&6eRtnUy^L`?R{aqPLspCOfECB4{ z8M~s*38tvKW)s|*=021`G6mnA4ja+YWoXh$Te6BRa7*Q$p9B1$MJc>;gU|wg?~=Rtd_%@WJ)B#S(H58`g|f6DG9kfPMK7?*c<=)=+?ZKnP2#dnvX*2T zzk7g_+e7rNR26d)-*u2;?|oFJ+P6L)oYOqYDDS>|Kh}p-`b)_=+>fVd9fjzI3qya& zHk|wY9Nm|GW8#sIi`gyYC_hT;pFw{~u0&~5v?)+G^o4E}{pIz?VcPWP{G^UuSo{@x z3Af*m=}FWe$zj65c>H$}AH&Zg;%@j!5~qHBlz*<_pWlw37Zc~ho)3~d261l}?{m)= zM|l5xI-eRL`5caOXMTGWm+}CJCn%T;{N$foL!Pg}&x?tF2+x}(UkcB?{tf*58_{$B zcm5ygUC4(qS&d_xH?sH82IghF7j6r`4{oD4N1Lu}fIQEMZYxWq;7zh+xy(J_*50W_ z2?oY&N3ormsqAB8bCkuN@oRgVlIWPtif9yS)sU@Ll1aJ(kDU7b`j@o}hPb1m*J$K% zHcu)wr~RX6a|`Ku1(RSNGrRBYLvt9(%J|s+!#Q1OWbc;Dg!J|5ioOVRa%7^@UA9oV zX&c$PT$VrZ*50n-1cSt6x921wx{r>_i7WApTf^Qr#*G|5>8Gg*nQ zs$8oy3e1E|wauI=kFbkrJ6i~=z=mt(3y%v;IeO=AnxEA%o|W>axZ zD5oUUi?viPb5G>^r5)l#{RnM>#DGDbh-`u?JVnSyNIsq-+|Ur<&fd+WcaRS;Z{X26 ztQ7Jgb4HOR(VGru2CzdY$}llmC=P-#y~t`UfjvQb3GM^@P3%47CguQdlZRIl=wOzE zJ-5r;18;2=E6(lU(+*}iOW;GoKNS_HRj}v!ENFGst$uOYoP+MFm?W*vm0OipIj%lgU(l~~H#FO2 zaj~G39jzyyXFAYKozU45OmXZXdC9<8Rg<3H+`rK?L=~@3)Mxgc-!rqZ(Bf9Al^P{j zbQS#9d zw9M`0Oei1Ia9(;)xzQL5RL$8uWNzvuh^!hyW z%+xe6<$8J`{`D;cK|c;|+|u^)LA3C98|`BMoRuwkQ~$bk>-5Ad6(BFw z>i-_&NO?kcdiwe#wx1^0b+Hu$g;2>2_alswk$048X$VGn@LKP zPlsq}^RgD*X9@TZpryI3X)WVCO4+f?4b3r1&L6l%4}lJ z5wUzkJuMgb5_b9^!XQu;83R+t-x|Ywpk>Z!qNB{kV|ypYfx*7T?VmlH>!GU^60>P?R=+>Zsg1eT z1Shdkixy-(foWb!Ph(z$W9|@4^Go0?&&yIKm-#cqhjBPr#`6-z+>dz~6wZr{5A7gz zP(maRp@yC4;D5wXS&wB7b75}P#bQ>|lFG-o{{yV*FHO*_NxiE1y@-)eAjP3gge_ej z!+46;)Xi8<14<$(VYiRPB3a!F4S5@*|(rVl`X^1@7bYRrz*yj$h zrD?flIqA%l$H?XKMOoPkrb*Q)<+`7eA@Vg*8W1tf5%P6D%~Y5si;vUP zNN{nQCh%pQzhRmq*qrEBaUDuj^k=xOfpfb!NmF((3yRe*6>pl7xAE2J^CV zd2y=*rO4E@;4N!6*U3@TXE4jY*(I_UqTGF_S1TF;)yBw~90U~fomL$cAC-CWBDu4= ztZ_kG7TL!)1b~{drUm`8;Jj}aR~MP=Bh))|JQ0U>#zUgi>C~Y$5xn-}4ylQ^D#kZB z+XhxlfPepu>!7Z-dHL{yfjeKCIbi#gvZ^_|h5~JBl3J*O$9pW?J?OUi4GVVb zt+<<8OJH}Css5MIJc|)xo`P9UhkX1xvsL+WsnPTcocWvYh(Cd9oie`2CB&8Y2$dV>O7Xa=Y=-eABu>^6!cycF77(hA@uzu}4QQJIQ} zCaW<$)cRF9wy2c0;o}NKuA*k8TdXdgdIpkjaWRxyOgQC6q+Nd^$FbErq{1$C6ZIo- zWN`G8_H?d)f^#`)5w15a?){5M1Gx#})vzvpXC8+5THG#hev}nEA z>55giXMpi3)B zP8yIRi#HdTOZpcWd$bkxDsn27I)yuF(8M`q1D5u6=?nXp4IY`=f7!tFOkt7x1-!_u zcg2+T93P`W!Six!oc8R5*ceInpe$NyOwBW7m+2FXfQ;4*NGf#cQtJj~C-ii<3u08aiW`vpg*cW&C`6;mJr5*u47yhyI2{hWO20U@dKSDS$2zA z8LN+~aMaY)C1>RdjKmAVk;TbEB2H5dA(Hg$B}%#K{9!MZPr9nEihNFAXe>Rk^F{Cw4fy)#R0nbCW6<$^=g($YK1 zQdhTP&gkUfa+^wJPtB|B<6d`{wQQj0IpdLKo2N~#8Q1L5s0~p}V$a_BLzXtp`?EJ| z)3BlYRu5I`8`3&RHZiY0eThPirBG4K4gZ*BIB-+1`tX}woY8DJk8ZPw^g%g6Mde0+7Yd)U&(@}YG( z$q9;BB{QtoOG{GII`AH+QI0zJ)g8Be`rKVpixLYOv!=(yCubxN*!}57D78|x#b!}Q zGqVTJh}SoyhVZI$#c=hR0s9Hm4(w|3`*| z{M*smJHmn5_nc@g%#PQ>P(Dh86RW@rB+Z-bw2XCPsia1H%gUg;tK0@VFPZJcg zn@DKig|Vez2AD|EPzzW45Bs7pwh>|rFt&=rpuSyXS5Xa+J~+zjJGzT=hxTT?KIH)M z&0*J(j!~?&BxsD$$Hyn7m*(`C(%={~EU&&GO_vZ`GWPlDt!u{@H>~~3ZH?u%VxMqF zz(7SDY_S!y?i+slHnY{N8{DtCeD40qD?i;g61gSvKkJX8;^5o`MWvun6jnU0h=)Kp zl0;l@b4$Tn_M|j^fMe3})M6kUGPv;r7<%h1aN>n#8C&{Qd2~#6Vrng%W5~YJQ;qCp zV9P{f33~v}Ajot4;CEKRBqogKXA=4-G>@oz0@r07+V_LDlN^pEaB2%YT&HgV`V?-5 z2z^6G{2gj!ji6Z}`s;u!A@?0xDHmRWzw*z_iA^a==~?a7_PlGb?~53Fv1hcac~u#8 zE@u3&^k0&P-BX|bi>K$^L&~qDJrXlvSoShk22=mg;E}gP^?ZC%)tCx>G`V^FAXoGB zdUFbRbo`)R^|VD}n00>!oFeC2_3Yi?FQydW^MO9IcBg|S&h*(+CM{dIY+?TB&3KOJ zPhgKx|H1Lc4Tzs`iv&`SMsKlYf+_}fLV-%bTmg@LaC*)3R^-_cjqW?j#yYi0sf?!S znJK|>ovR?(kMY65ec5fU48bHRf+IUCXY!nffIWlCp1CS$n-q_zO|HG0AKGcT6FKJc zZ-WfP(6M+0vx3q~oyblNSV>Um9EqIV!A{qZ(G%TSWmASWnt?TgSC^RNE7=JSs46*i zgK~?Zbg7t@8Rc@_cgE*32j!M2_%Rc^)f5!i zAz1QvN0*G*G{TsX=F++37L~%1Sl1e(u?F;3n)dGkYZ@;W3Ath5w#g+-lrnl!f+}YC znEe4QeFE%rpl|pt?+gAP$xoRwd}3Q@GYV4EaUNd=(3+#rj!xy8woMjFP%>uLG@{iF%n)u~stq9)|ZHbr-woDT~$DU)fe z85qz+{t15WbRSJ}QQ=^7(dD~^V@}ZY<-(MC)ts@(?U+KF5=G|OLK+mG(^4whs8>-3 zrLKwr9!FKuA@CQyPZtYxs-NX5ncQqtQ%^~=dyMd;H9K~*J@n*9)cvMB75f#CsV%zV z5!K0Y@^_z~q{`KRJc^FeBx#X~X%v5b4)^)~Py9CGD>4bT_ZSlO016F3OLRS?ujFc>4- z8fRKD73KgeBngeo7?_8$M#zJr$cNM#_GnU(*;57vsWdM3aAJ|!1g+>Ww#)EeIi3s{1H6b-x1LO!g~ut(sl2}Kq#SfzHdhZ4Q;-9$Y0C9(M+%KsW3 z4_kkK3uD<3Gh%F20Ash20Bj`>!|}Dz_ZDZXb;O`9m%{NoN_2va0xu=o(do4$ z#VgDyv+3tJ4V+j4?tBom^>CcN@D+ZlPsgJ_2f`QO(VhHVZDs zG(7yUCXQp^{`*a4Gjb8sJ{9J@kIx%$+4A}G*>d^s!xDTvPynV9=UY2jkSABb&nV|T zd+=EtsCUc2JaQzt0Q(Dw>{4x{G`)IYUPeQ?*KBl39+GC(49L%@FZU)GTnss@ctlMy zwB=G@?~lJ=w{}o}X!dS$qyI3pDG1RSIS;q#wei#+ zIwvMp88rvB2SUN_Cma1QAU$RRZkz(c0B92Fu_FiS@qTG)^PDP9jqPf+omXSnwx=+D zik9w!^RR1p9(E0K`U~u1Nr>-;xC0{h@=s0@zi{zM=%JLCnMY7$9I>A{gV${C_q|S2 z{-fMk8j6o0)=Fn+um8Oa|7Djx3BGuOTjTZpPFDI)!93gj)xVFyefr;hAA-N4_elxF z#&NNweV>vg{ud#p@z?&&%_Z~v7O)vm5G(XgzV;lJrIfv&nF{+CyweE_rW|2&CH^#w z%j;01eKKb1lkBzLzCEqwhL-Y_n&Dn&RgyJIr!bk4EM=7yrB4E;7dg6>IdE+#@>E`- zsm*kjr|abMUi!EMjmZ$bnK|IwOwL7g``B;Eub_QpN0Eo&4EeKva`T}A{}ph8`Uc9i zNQ>7~hzaCtP~Hl9i~oM8uM}~}XXW}=-*=K&|0mLVh#d}K?0rzL=i+on1nh()mbik` z9Tnb%eJg=ua1f6Pm=C5~C$&QCaRK`krkjP+Jt5?$h3O99bjO5rSLl7jQ076j9w*9= zA|8>-Aa+7j?pk6ha}NN6KzzSJN$LdbH|83#OBw^yofOKD(9aVU*w5N20n3!wi3w;u zfH*B+dU`$4i0L~cU`|Oiu}Nx%*i!=5pC0f3ow*LNrv+>i^8=xgqWGlG2v`=B-w#-R z&kIsKnRoDY7!(zt+n0tZ$OffT)Z66)sgJ zC7~qIgN&()-M+U-EBL`aw6JifgN^rnW;20o_JTf{IWS3Xo+^<`qGP9;{hz`zPeAd^ZbCy+@aisFfapp-Z+Fxc9h+XSH;s>u*P7$Ir#S2Xksg(t zc3Z4kA?0a?yd1(bTk+|s$TVZ0TX@7}Zc4w|4VDJ`8y}}wV|$RgZtFToOO8tahuL)7 zSD=_OfvdigYWt1W5~L0R~dOSe|X5fpCo6J%4}Eqo(!!*#3O1~LO)t| zGd*dz8>pMAxK|Bn1!i-;Q?GZq&E^7^p?j6}+t-!?7ksC{l317uKMMnWz zoDcR5BK#jAc&&hc7J`ov@P7tyETcf5?0|jp$9y03o2U=63jN_RaemVGg!fJp?ZAo0 zfX_wc(W2+SfHpL0i^qsyzRYgol}KX*vnQmyQh|=M#5;Z#jg|iG%sS>9IJ(DR8&m4G zA#ajgEvva|=Jrb+z-Gp`9jMF)Ut{Nhig> z06T{VY7d-f&&2h2i_h`IKL7P$>8m=)zcM8Mmjt}16TH}8(aAXfK_}xpkF#^d;~dii zd?>;La&T~R!_PmD_#Dem^n7dBb1cX3_XU0(oIE?^e?fTe4SW7Ld>)jqgOe|Q&e<>P z!``pDLHU(o`6Junyfhv?r%~I>=j|m9j|t$gZSi&#n<$ne8B2VN@h1sF@-?<68P1+0 zzYgNKo;dt8KKVj&ILwE}XVF#2eS!+k47q=N-zcR9I$Z3>>QZF^=#)*IlUnLcf$Omp~amloYX+kXDEIP&>OnT z?69fHQS}q5lP1jmrEo>zpV#h~G{dmy@QecFN^;4frcJLcXUXHQJL|`k^d8CfqBU&4 zWh;mEe>G>|;^vCkqg#wg8>fvwd|MA#W}y6?f1v!Tr15i5`7f;9-m!e@$?lf#hcj~e ze)wGh<(n%iAD^vJb0olysRIq@5Dqz+r$cc>e?-}gNqOt5a9Ywf>Nn2e=~-}Q4LLC) zIiU9$Y7cjgfZi!BhI$|&xc$3V!7T`fW57mgGdUi5 z&Ufp%ffII75=31~71f}0s3Ezk*!DLnYlHkW*6w#&!IYNMlR2*RI!oZ*;r}MN5`EeG z85h)dIrjg^U)3#zQlq+YG$0N{Uhkql(b@txd)s}cg=d!6bn~1*|M%CcBdm={T=6mx zr%=hrtB=Vi?f+=SjgAbAniZSZVfl}e0!w&9ce`ptWb{qhl(?6Xh(aPM<% z4}89P%;|tHS#JT^)6{kTo?_wO*gFKYOj{JzI z$7h@1dzYA3;EY60?B!N?*q#1Qai8-?^XynZ$2yS#kHhh{3G1_*Z!gb_(iaN&1>#W= zE)()OfpE^gVJ1l*#r2$aqnZvb{dDBV+Vz4@=L#TRaP9^Zkk z7IVbpT#dYb!_o4-jKs1jxshzTShDGku)18R>0Ef7EY5JW4}^1dTWK(Ao`Jh^ZifWjbtCb)Y2V+zZ<^5(z%d3EUI+uvzXl>eU{J%F?;at z8tfO?`*C|s5%JR5E>?Jl!M+)BAB&wY?nff-Vx7Ztv_@#t#X*~nLc5$%z=l21a7G() zz>mxjH>8Nn2KDSRcP}Kgzgn?Lma&~u0nQZjeR-#m{pJEy2JT}g_;#L4gJ#zfdKW;} zmapxv?0-b#j4WH={|@3Y0e@P+k*9`l;EWUX-GTmWm$*NJCyOv z~n=HPJiV$WOHhu3^?Uz=y# zrX#Q2GI;B};mK{95=&x9{ovB+Csy_>9KEi8zoo^ty+$JmZtFM}o%cP{r)Biv%NrMe z^z@&m6eW3jrcO_Y)u>Y}@q_k!x_Ekm6gN@8O9lKa zsKmBxUv?=|fX}{i_)EYmN^ceLW1zPPuNUy6{JCt5V>^e#PowmlZN^L$*=Bgt8~y9J z2rX=dv)B1u@3aoG3G9P&o8FVc`(nVAC)hMXX&v(p%?az$v+&({crPq2nzNLY&{F!Z z@)Y>DBVSlpjtL^XRKU*y6F;|Dh|A(}@C9&*(#HttPXeb1ZxZk`pbhNf+AqxKTmTo^ z@7^%H)VBrWo5S!j4)^Cmd=_5Ii^J`!oNK?RT{E+AJB zAw2&|KL0~F|Ca>3h-EOoKMXHsoB6(Xu2^nN4-#34AQ!Ox|foX~SYP7Y2^!RPFK@Oe;P4k)ic{sbpCT>b^2d@Q#v%C8K~ zAH^;s<+#17I9uJ{8qgc6MuZ>r&%*7s3I6#zK9`_HH-FU;Hj6+%_WBcmxe%docGyeD zv3Y;PwmetP2~-ZmdqDgW)@Kes$>S*fleiz@@YDVo0{#W=*Esws|3U#T!tIE|&-!Ns z=1U}r&v0Nac$&HWXE_VJZ0RO@-^b_RIxS!ziImYqrKMCysV-@#k6BO1Sv-?t~I}DWs@P7hnKz=cF zktyKID}?2dMw7lQP#)be_h5b_V15>KE>;?zV80Nw0$fpriu?cfXIr@+307-v2Mi9#Q}2&O zG7#O5B#DULxM_pP_;Z|w!BUeD{FFSvM-T#99Sh8;!( zXbZV>`312hh~svGa0iFu_Oc*AyZAlkGh$<4jwGg0qF&CI_Q55mNixy5dBuBAs7l)NCXZt%3U3n5Aj&i$tMRw5M3Sdg@*gEklJe4}m;n`-*I9BQJx*Fx%S5%b-DM zeVzn%dd7UL2%=oipo*#;4>YP3Gj>9BMx)?p*3!^|dOZp773A~&DwIV!5z)ylvK^*rhW`4fdUzFY~;7@@8 zBHSwAe+D^3U=J4gsnBEZwl|PecjeM8DRAo~Kg045Vq4ODowFr-p!1XeujzvG`h~cB zUS3ewOGI)k6z~fGwibd$xI`{}l-Ie&KcaQP75DD)qw0Dc{*NeQ$T3WgFUap9%omD> zd_%svTDk8oU%rc7t><@(EjlamO25F9jO6QT=pU)8E_ML^c;$7uFYreyv$Nxzf(*uB z88j0kx*>yZ?<90r0E2FNf1z74V4mvU&I8T0abcY3`$zO3d^h5cSN`SjJ&He4;T?~J zM(X>Ip)moClgLLAzPq94A|ZNhf6P-6y~}q|MW(hN`=btvB=#-W|N39~EDGb1*)3X! z6^)0?o{(|%Jsx+!@pA$ZAj-C_Vt7B{M z`oK3~c&YC_jPDM^%Y1vdeFBVM5O6Px*Hzh%Aby0y`Sl0x?&&>Y>8tpBzJ~atcs;?~ z&aE?Gdi;BF`j>?C#cV?-_Rk=UC;GQDUt-%Yfw%oKiNIL~WLw5?QGtc?7JxrBhbOb- z@LsbT9SJ3a%1%@R#gb!lyp20P+Hs;1PGQN{v-{7f&+Aug^?gTvTsn38pm{HE?aLDQ zh~EEn{`~&R2F#a*pZne?!b=7GEV0YaLVD2oguC$h5{H-`d}J_$Chm}+K$q@G{V{DQ zZPVB4*JKCjd*aLyF@e;AGhmUJ#svXd7%%ZE*e8+=M++BP4&A>l0bZAv;@!XKr7i`x zq(J3mq;WDjDO1UM985#REL~dr$N)!k8Wt9%Nx!w3lNH!L7JP%Kx#!3F4dWh@O0dYd zGN8)puF|iT*USEQ&zlakp$k(?mxFauTN2u?+5b3(ka^q&VOlZ zANF_VKzo4SS-4JYe4T6|g1A+{g|jT|QhFAi-`MyymS-cRCz;*D2@!4<@I6b#c&U)j zS>m3+JWQNF_=0#*I43d-&k1b&TEmOn+(4k~Tk(6$XZ)FcpZ`a?9P?+#I(~E-)^&ta z*CD;tME@|4NEV3@PcXz=k0dY->Rla&%A*RiMw4FBr^wS*oS4%xcEZ?}oTfWoy0vog z^x^j5a=S{Il#=1?ku_&UcFUOYV_LH7Z$CY^bjHZuiQ0}Q4Ia{{tuCvzs3kMIJUcnH zpk-Ri)Mq#MH|IBGELFr~Up*^k=T~LgQu2Du>Nn!Zs@{go@)WkiU9|v@0p5?z=jJ6o zb}4lo`L5ydm#Vlmx~nk#uMn@kX^Bve#$o<@7kPvHH?IH7;>ufR1o6?^Fi%`lhhh$jLHP}aDn_5}c@+CTZK{9PHSL$p2_yx5eWcrTyR$XO3 zby~@-?=_r1q5;22BA(b@*)V@_ar9I`Pg72Q_=DST|I5;R zF4|fk4virjo@caG!*N-V=$~)|rarDRpI!^$( zi2fJ>KgqAVU>x_EPJSIloZc+pPle!91^gKx5#d$=|1**g!r>gF0n6FRuOq~W(iaN& zg--H07J|RWgeQspIn?UC_RciXp7LHXa3CbXejSx zIR8|>9ejiFSp*^d2J3GczlQj0MEoeJ!FtW%Rw9$AKX-vIQ~P>rQ)+6Hm0GAvLBEoEx?DZruNbW|I()NA;4?QB^cyV4G)|7B6_0;MpxiSdj!&22>v9rwSkqyP!hXK+qQ1v%qpHBPZ%v7^ zYf;hc234A#^^w`^)0a&K*(Xel6ciX7AdXVD|Cpd6YgKW+PmCHUkq6`ASw*x)4qi$A z|F$fsXt*pahjf0NJb}ka4v!J=lf)@3w^0~JdXvHTlXphM181x`+)8M0Y%4fefp9(Q zs5#_E4Xm$$UH7%!8TE8*yi}Q@171b8^&)$zwxKSdn+AFI2M z(7Y1sF*mP1%Gqr^Zsl<_=h-g8O9h-ichBLFwm3fC0`KSytu@gbsW^H2=j3ivyDXYi zMpHK5G9&c~GeBjDyME?eZ}>qsorCsNpv*XIy@ln{aiY;lzK?e7R6|Re6n0m^{}HsQ z?!x+*$?GGxhVc=!sYE!msSe`$arl3tF5o?bEG&aV{5gGy(^(??2=Sqi{+~D>4u6b4 zAB*r`nFj^@I6r?x`DmDX0=T4(cwI>U4KrLwe=3O6K$QO(;(ZaF*9H7(;$0#A3h8J8 ze-`1e?s0lr1?Tmt9sD7O9Q4%bv1erRZG|zW|CULmb){*&dz9)D>kdySnb4e(Jz&wF zj*hP1ShHkRj*S`(K+EliM@=7JJZ^0-_Q;f_*~8WkAO6_AD~7u@ruM`f2S*c}UtGYx zNVB+k$}&R4!$$#H!Fj%oL!4=nR0#Mxd>?|+e$;Oy%f9#lZx*#+_<(nx^e4P{ecHN#%8%;mBM*Wct{qWS6cE=fLD4zur8_VlDz?5 zphPK4mqj}8hM=!65O1ST|3<%?R?=?}GD1ZZA=@FqJf%$l_0%W-aT>Nd$n~O25+TU?wILH3t}eGAAH z^ z$~Nrz8B=acsCZ;b)h&IqweEqdPA!@~rgmUOUSfqStEucB-k*O(7ykUo zxUd6po=PAI`uKNu=F;C*+UAby7^#QWCj{L5pSTjyqksRs+iuHQEDm>*Kx6;@%v&5k z$fxxaSa0$$A4f(6@$FcTIsCEF9G?hBcky%3N?%H-tN)P8y8-9$`i=pws7m*U(Niiz zoVxe!%rX3Z9lFy~MJ?HCv0L|%9sR-69pZKIJk7=ZBFEDUoR3JsuXj#2Il3wOyF)Fs zLm8p+K<0q&dH^-m<63(DHry1p+HXrJZXNsz0=SIS#1M` z6-2s9URFP&IaOefK88JS`esB3Uy$D;$3S(wMZQ+iW5$-Y0M|%|)1XZdj4=XrSj)B7 zG-#8HVvj)kXEl$1E5@NszKh3qiE)XV*oyN@WA|WOiS;ma%vE;?Ar=^ZLn<6j(8Gd! zymCi`Fk?(v#E2iYS3*O4uy=(->vBa1^+B4rz9}FZC7OSP+Y6Cmlc>W91(VN2jzdx# z7I)2US$J)xmiBlKU z58W}j*ike3*6scK+}bzQyZM)A$(0@L+wo~llgd?TIbKVg)u>`CuBZ$agDNJv1r5sO zGane!_x?=_2Igir4$Y{aGqhSw{njzeInVD=Y$IWQC3WM(au_bi;nb+e@;Ng|jK3k^ zFANWkU0Z1-mRt9w_6KBi(*hwP>qnm;en2c2et$Fr+9-%09tU5{5$E%ffS(^B#vc^& zKR!Uf>3`ulAea6fu3Z0BlwO3tTOUl{6VDAf{9+KN&f&QkhkwvVM5j&KWXdTv4RXxuj`9TUKbjiK;fN3VlO!dgLcE z`5k)b)iDjzw+#%d&e%YG_eNqJjRi+yai#qG8FmqLCgvO-abu zA{WWTC=s9WT99gOuzN@MsWSMTVr4Bj4M+U4qPs_MEb26e;N&czOOo?}x@Oi64(h-a z5xypXv%AE)Dp5}e;LnI~bhmlmH9hL%pib<t$qwWU{aLZ{{M4m}RCcOa%z={0tyx*ElS?eQw)l8kuEqC!h&HwF z>{4r5I?=TVeICed6SwV?0h|N_h)8`3@D*`*qd$rQ(!LNc=jT1iU@Zas_rQ4!VE&9| zH|p^CDsc4Z5Mz^%2Kilts45@#wS*7*jGS4*g<+xVLxZaLCX0r704P6>yu#B8Z5tCF zPir~b23+8AbT3}OiQ_;CbqAoBo%BqIBP*bbSkgF1Grq^-P&>Tj6&rhG3=SHzw#96r z}mwNVW}w?v(u=2XBsP8!D5af^4kc3IvJdAFfDR=0nM>bPg; z5w&r}lZ=$7o2m1^L}6%I7#WG*I`F zGZ3%8N%=+62_(HkIE?zZHSDe%NpBVxj@*!~j)MwQ=!uSllDl2I0!nTPC%K!6MLs(q zH7pw`a}MvZaB*#q0w1b!dqPFOsntN&(pGgQkkn^RB^-P9_jIPw8c@2)c&wFTv) z>(eFL`a=^c#`SR8%Lh(fT+_NRU8ByX6zR@BEB5xDFx5S3O+WBzd#^Ej=T>QwbIko! zDno+7RXfamaN?YtQJY7$J-mJK;QT6YN#_3_XlG(E?E^c~9%0F#JKU54Dx4p3V1%gP z%-h-lD-KTTCXYL&hH}X+3SC_2yLzPi1{}9@@!tYEi0Z4~AFZ*Dy~2N4hj(Akm| zzOy@9W_MP^Vl2@l3N}>O zXa4uz=b71=-C4xM{F3+m@L^}>``qW8bI(1upL_1$2PV|dYOqM#za1hgsPT_nSvY%Yw9q6RDDYR9s$PW-a$(K==Viy z@%nQP{PAauXUqq_P&&d!_-IvYvE+?r>7Z{1NyD|i5kngE)n~5TtleZhWBgu52XYRR zB~y8Ew-F1ckINgjw3!oA^KN z-=URX&D_|tsYh)~kMjc*w&|G`RB9V$$6;9$m*O=YjMGmFIJ9MA4z5dl`eX6INxmyn z=syzY&kV!SH8Gt}e}+%b(?RhpmZi~eOwa*wJno#%k2~Z1T969N(17+u<7iP7#D9Q) zzNZKr8;KvCMsN_U4=*kJs&I{VZS$MVvD;l7@eQOjEAI)_UH0E8< zw|;2cy@g4rt+`hPxp8Z0AE8QTX=lg2jBV{(MY;huC`~qSjMq95uZOyL@xpbnb8R2C zYeC>&(FH6YSPrmmp*k^3sB=TH?M#Qb29~o0+fF|k;m)H0XjmEZ8%KA!uc8>-R?o)u z=7g}G;)88IgZsMKLSI*tf;T7egYmIE4(IqObiiL%3Us(nQ*ruz^Z{+#$L*n7AP(!V z3%h*c_#?O-OvE1n_|jQ)V_mN`8gl9`i%0UT#AMAW|N7ytW}6H)B~Yn+wm)-+Jh>W+ z|*UDL%$w& zHPO{Qo9Nn4+}O>>RXYvqa|$h3pZT+WUvbNc84*gS-I z_PuyGZJd$#7Fd;by>NYJjb1wB>mf34nGao2T=#XmG^ac;5PhY{pqg&beu^^UPz`jk9VMA8HL7mnT_@- z9zG}xakHVXu#@IX0D;!^*X#6sOUuliMVkQN|Jv2ahokper!Sh z1((?Zettih->>2EdqieDM$2SL_@?E)1BeCfPt2&B2}j*S&J2--tAnG5HR{UGth~Y> zA}agNT*Awi^hj1P=CZ*YfdmI%W%8BdW!jsR^}(4UVV`>y`4? z^GW>p)C8U7DRg?y5e4CxJ_Uzk`UHM!D$Zy`*YaZ&*p3f|IP#OoFg4C($4I%<;0!iM zz0pgHOhUh9N7CoD=^9+mE0*(MIlJg@llg`12Ia)^=fzKxuVMWx;`K8{lo3CWhToIK z56w-*_a^ZN7o_4{37lzKnu4sGNm7QtkNYpk0PXWNY;TMB@kB?eY;Py=S1<3;+ZnvK%j2&JJ_kCK zJ_UcHvnTxwyywf~Z}#BiUzlXx!CRdv@+8YE2mEy|wu(+^F?dgz8wHVhh-B7~}LEsW@%}c>6tmd8YKp&-gHCN`Fr2m@`RwSEtbXg!y9< zzb=jct4aKt9-LC8;Oo=mdRf3px=HY9>Wx>5)@Q`4((sc>Jk}3hBb@c@jn}26PuMys z`gbVj^>QbZJ6Jl+sgZwng%^Sr^nB!Wl?VA)IG2tNxG7jAy?A!MOPzN(lNil zPEH|i8a=|7i{!%mv0O`exhi>idHne#e!QHQcS};<;vbV2$7yi$L+lHYTX}`<3i&Dd z71}G-{h0jg_Ag$%pDOp|3Od{)$W+_EObnaJ^DV|)fMz=e6=d>#ix8#d=U4Z2KTJvQ z!%1~g_bFws7exfQqY;11fc>_6I~}9g5`AQ4q|BgSG@Alec`u2*jg!iT-aFdoPL&UI zb#BTTF>z{Px{zb{?_3?ebJ}5Xk7&aBZV|SNOL)6@m+ub|9>8nnc%_pxus-H|qecI? zDKjJamp>ef;gK$QsP7n2+P0utqW?#v>piYK^WYGga;l>4jEoYRQMVk{J@8{&o@ zX_B)$UZ{1v2(#}lTdCVz^kvZ;?VK2tB*8W`^%j295%{kP zPMRVEoRfAW=CH)4c)Ww~9MQ4olQUT)WBdhf5AhLv&zqvLOvcE|J3pzioNbu~j1R3! zksc}SvveCnDooAC(L_E7@VYQQz<9E3LHDD4{yvYNA}3({QohW^J$OAH2k`hICEpex zd^E%>Q8bTa#0W;GwNt$UMkL}cG5znQ60b|NO0}n;I(O)(%JH+tS5_|EHMMZ!&;~=b z#ID!n`mN%`LR@GQSNHVT@eh%jx8ax)`^L*k7zARCm5nlOIbNnym z?Az?=MuEa7VB*TycaE-F~j^8 zYs|d~Fygd=e{&vMUh94w^vU6XxwgB|@)|LD!{XEGx{A~S-)VN8dr{siHzmb?vpC7o z$N6%ri=U!?jmvoro;w^TEJ^%I+@E4xbRR(^aC&A6et^&<@pjzL^7tXbmc%FGIS5bx zNg^+aNAb9WPk)RsCh-ouUc=)L_Q*pwrOka&taI5=z09;Z)e) zKcCHYltBf99t}s!);BF!O(7eas5Ow%u2GCtw?07J@>Sn9dk9zEkKw#xGF@Z_W>_ST zfx~^;WlTn1078@kRsLSFOz*2j`WJgN(-s{Peiruy?)+-$!5+&Y^< zl~R6yWSDYp^Mw^IST%~VX<;E>)BTgG^#xUUYsP9X;_Ef@ZL+N0q6f+A(Afi6=A%T3 z=TGB$FX$dU7j%CL*L(iG1JrGNy{G0U%Yel7e(_JP_y0=CkP&8Lua@EBtBO7^TBW_h z^)r`G^s0ZU`MB_c;)H!NUWZkpi9g!D{EHg<{6D6l3uvZ(qCNzhTaMeY^?W;)(moXS zv_GJm8jbP#_-XQcj9-Io^1gAR3^?-PTbF|0lT3eTS!(*O1kNe`lqpe>;i4DxCRC$b;kXp+lgFU=cA* zgk*ScO-tX!C-VDMSBz!aADx!6T^ShJ-k`62G^77h$E6GBmrUC>iMXNrk{M(2Ml5S3 z6n#CS5_00Tc`PT@k*a6hrd-3fDWV;)O@aDG*93_u;rTydKJrDiIPPfXyl6mjP|mkI zvGkll>o@dD(SKgK2dojlUhj`sg<<;*58f^}q-4G8%c|tqy~wB2`HK2g#*V}wJu!N( z1$s$RH*mIG+dDyuUb>U|8nZNE2YXWN0Qrr*_k#)JkEi0I2jef`HoKm?H7&hHh#y>! z_a4q9=+jrHmB$~G`1M!v?NU8=BXu0o2`A_2=nQnGf=KgFq>d*Y5{okH`pm5LJzk33 zLxN9YCRHZ96jSW}XhKc`OcQ0Q|Dao_|8V+DQFuJD0oRWQ1^=ZAZaGC^{cI2=_YYxy zqud@!1aY58%jpj&DuIK)f`*jzXOrn4166qK<}m#65!8`28IKR$MT4i3q!5s=7Qh)ZaRp%C zH`&Cu(-QVWnZx)N*!j=*O?vT0MxJ$4?|h%g?f!#B4dzI7+1zhbRw5VtQLf@%mKtT} z+-NS3`Cxgk=hx;+_&Gk0cO`J9seoT^JOs-w3gs%w>}$}!pg==KGnL{4=MkRkdazfC z_Lmhdz+H>=S;ZZp#JC)9;QOc?QAYegYbt(E5rlDi15v!S z;)|5f{s<-R9xwM5rAA;?F1X<7xQWB>q@yKXd~9 z=qiv|=TF#p+xi4%W;(_<@@1jI{VK+%;yrvEIXFG|T!#L1yo@l)IT3i;(5;sNy^5f@ zRs-=thR$@Rxk%N0Pq=%?4Hy^EeOtUlfIU9Xh|bRg;UG?q@Ih0=YTQ8+Il%_JNlnhkX~kJ%)WqnOPgWe=BO`GQL< zQYNA-xug!2+HF-?O?r<`Zg0u28}4r$7YT(m45L>po_r4#R7thr!DU6cI{i|!bJ>j6 z6=RA#W}{k4e8;yf^B~VCeGvPcr>xhf%s|N0^M3>(R>-6(wMiSP@VN~Zoko$RAcMAw zSkxG7Ep_+?%x$U~>7<=m5;!FoJE5dfrjm)p)pn1DbySUx)-N4Z6bQh)BEHw*yt>m* z9l`z=ax6$(Od@QRfrn&vr3PlzZq>U~rzg#JFr;fpq;8n6aeTy`uX55_rBstYI2Os( zXoxZ0VyoYkd-03`FuPh6p!hNLT*$Kp=2eWx&{3RKmQKqc*076LeWcg`9wJDYS)WrV z1uAP*MVTo)tSTosXlBiXxr|gT;m#2GK|_wstkAO5y9%dCnH&Dv=F!5ej;pL)II?iT zR98U9mKRGEGGV{)-MAV&3W|9dycZ;cAIYH0De94-GAB52R?UPty<`wiLn4Ioze$R) zXk_8S9uX9F7jJoL1h%xB3_=8T5r*>pPO_+LWpx!b_XW^ccODRBP8{}%Un{d_2m9UGD z(s`{#767uOaxp>a3-bbPl^&ftZ1hDG`ku8o+8xRUlB|meGNG0<^)X^{B)5OuCo8Qg5^d zQsH(Y^$-MXD0cWb+;f@l!F*7V|3WZ3tA;7vdV19{Su4c!It(va2dZ#ga+zySEEFhF} zoAutw%qDJvSh7hWeb}XxIe(C-9+a~mLhS(2%}_U8kbdH9PuHY-VCrshqCK8N?jRSy zHY#z3j(7gn;{p-N0~HMKZejq%w%Ty0SmGF;Kc-ERdsiSUX7o_OdxEsyZnqcQT{qiC z(sOOT0$UKVaWp|B_0MZ{Bs$3VSi)f(Ih@y#>X6d6(B%x|At6B$tn zKj&o|d{#x1!EaU42VGU8O9w0)9)h3I0ZWI6xGCEF){+_8`~i^}eB1X)6eT=8W<=-iEV#Nr9p69U~=6^nYcj9i;0+7Bq0UH2fe*J8#m~=E21}Z!<8X7*O zH)}kq0{ZUm(^iYsZI2ENfuYKnrcjwAKl|n+PpKyk{`NO+@LZL z7Lq2i_0nOqMS(~W3WfX)SB>3K<9Z$SRG7@ z>7@8 zUV`tddd{r*@l6FG0O#H>y_Vx+pOUCqcZi!IDR#a}JpXr>nOvXS8C}qEZl%Ek-vsf` zAdRi?n;+K~KRV!MCs{d($e_~^!lW|`paGbRCEB7RbHmO0T?!rQ-m|n0J@-#bu`Rd7 zP7F4l%a&3(dhi~%O(G>^0iYI)UO6HxDW!{Zq3(ZJ{nC!HV(u<5Q9O3X%U2Ri#KR5m zSU0JZC0CrgmMxvMZZvqn6M^&9zrp$F2z+nA%Xn<{cdjb_9)EU@9!noZ?VT4*OWiIF z9~mogN27ss!Da?dT6?*wlY2m?k}CCcdDSheCYI(7TRL#k&2!4V4HKeOTz()(D?z7v z;G)64*^hENu6ki}Tls?9rvG8RI}ARR)y>^Cr)|Z^P}Rlv&TXCFUMS%VVfXs2hSAG5 z4ZY#ikr~4`{(AnLU*EFW!q2roz_P!bkezPg@cCu#yIy!@_s1CD(+jWaz5~-)f^dA7 z0FPI5{CV=@IQ_{a9^>#@9`_Z#za8VkT?IV-TY9Ch6X-YeqF>9?iGPLDpGe|mTzg{e zEe$W{MhpHp%OHL_q+UaJ_ZiAr`L0=7ySGiOn)kR zo|NAW_0yjEe*8Fo|77wx)>8`ozr*J}`f@{kCHQ~M>#f)ObxHpJDPbTqLKX}cRnen=Q=+~yv=`UX= zlIhFS@V!aAA`PFIq;o6{zbA=5lEArT)L877`HGNV|o4%VyicE;yb znVu*0kc0Ky_x+Q}=dmAoj`V)M=XF2AzcwTN6UpagKk~dh|kmJvg=#K7IAYsp(H9)5p^2_uw^XZ8!s7*AM;Li~G^zv{d{=l1{nk(G+}d z60hLzkAe6y@@uSjo_=eis0UBx*Ujsv-{(14PxxtucdPh)qx5%^dCI{$OMmxd^4(ZQ zzCF)tgthhlp4a^d@7g}RPb8m}^~uwTBwei6K798kpJV-|Jg13tp#^(PS?Tg9!o zKl?cT4RM(MB8mSa?#A^2rT>5eXl#q8Rh4|8D>%!#{fqJ9K-riq(i>}pbL~>Km;&9Q z#^!-0pIMeSY(c#U#{z)we+}O^CHCgiGKs}C)0F|`Np?E{0>~UeENns zjR_!r6a|L~{cFDG!i zsVOsF*_;`#O2u(m@_2Px`jbgK)(>9Ok{Pe-hkk7e{yeq`9C5`T z%hT|^NxUKrpP1D1u{8XiB>o7(;b)jTLU&Rskqqq{dK1$=6k4R`_#f=1`H5f5px2@+ z>H$9~WI8rXF4pB%`AY_8zpwx8u5p`ZM5p}XqxJsx{R@A2WmENno#SJyL@OCT%iT1s zZZBwFvG1bFDUF_C<9~T?{l&LUxbfq=CIId@s3Te~-#=r{(VLfgr^sw(JrjLqef|9Q zd;->q0Z_ihaL$aP71>FAQ4AIbO`FkJfkF2Lki6Vz96`?o1Of7gFW#_gWZ?6_wU00K z$?NY{7*#A$s#<;Z?tktYxn@j0O%VhgHc^DRp{YuH^G64k4+)C7$3T;0=-OW{BveY1 zOT`Vk{x&^z`m8jo;*v)<1Y7E=>>+%In;Fe=U9*Dd0zJ;{A)APKaqT1_9M^B zGd|y&d|r|I9M5RaKS9@Qyq`v>{E zA>)sUMC>^hjWfSOI4CBHQgCSk7ab+4F#ciuOG=FKud(b$g?R3eK0O=L`G%(h+$nf- z0vFvc_-tVu-|5KX52vM#Eq;}_k!u(D$QuBpU|&I5nHZpB-V?U-BMdEhhrZC*K&aeVwV z?ZY}a$Lm1!Yf%!%c|FJHRdja`j`PanN7Ha;5`R*(4de4*8U7lj2S7-Fe?m9RM2s`Y zzCYyH{$muL!GX{e7do`9J-qiJ`cuElM5-ONCEA!9O{&@ zqZ66PBw2sYL30{6>uKltbXo>j32mq;9BeAKplv3qX=GTLTbe(rC8`7?i#uxE)l2W3 zbgYf z=66kA^XZYj5Q}C_?&NLw$ zj>$iO`7MHdX^XJOFLa+N#{<(&TjGAUBpOQ(8o>DclO1DbF0JZVHQa9~9a%MYa%{Xb4QolaXG$!mB zP#;xl7j@LGo>^BlV7gRmc9^Y&4ZfVPRVHP^WAZ816eu!=s|;2XAhOXlr|}QD-DCvj zVM69S_>(TFj->nQ1?Ou@hJ5AcQd!nQlV2{kQEbtWVB55qLM(AR|EMSbmkbTy^}|^)%lm_3}vvg-cTL6d(DCDL9U0cTGyV6kqf-AN3U9 zcwvqYhsNZG*d7hMJ>qykAbtw1MN<@xngs_z$d3%|h2&s2OgSI3y#|;;Oz={~as49n z@GIXNLQ2Hk)iRI4ov(bHmasCtCC4N!^zQHsY^pRoV=BtttIbv!KtNYwq^Ps!h}otJ zTlZ|OAw+C-wOVUetXkLR_Fw!xpn&vRos$zc6z2vAvr{J$;%1U(gjky-Ix>X93c57p znU&v`a<`OzyYkyYFsl%Gc7rFl28!Sof^8_DG5FqYtZxsWf4u)li;Cl?sW`+@Ovnn+ z5PYV&*C`lR?mV1OuWdRZ!fhvPFDVtY0UOi-j!(?j zMHbbq^vlvU#k`AzpL8d`5&I04O>IGEK*y@AzH&9!^~WE6Yj#nK#S&6xk+*ttvd2v_ zyQH_?=5@$6%riUXzb9L3hvX?(iIl!NCvffq3YazBFZl*}J%jv|)?)rjp#`+?fou}C znP4BR6IuLN0~(;)hg`@~$^^9zU|)+QVA@A8l9tB}!7`_#EMPPS${fzJpn<-p`{@Y} zOq=$=1fu$f50Xz}0fQkBL-x_keF&Z;{|0pv^`Z8+OthHzJ+!y|UnS!n$N z>Ubjkt;h{(L_?{!V6GOdM0~F%9|liCoP_uhhzl5TN=S<^_zZl2p22!~hPxcRK);yu zEqUSNFFvMU{O%w-63?;FbMhE|&i2$0oQins<1aqplj7t+G=%{4IO2Xp3l7y>mrx(- z&RU84??d%$3wbqt9hH}Ob~k=T<>AEbFVP=nGW!mk6*rOvB?HzTN zO$O~kZ4C96+-pB{cB$NF{3SRm&#vv<-@0J1uX^t0kwcd{2Qn&!Tw@O81e%L&I&Z}0 zE3vA`7it#n96RXJ5qUKWc8nWz>Bzjt+Xff4m0E`kE*w%~rB^EqKde@2$(`9lmluz@ zv}y95i|fkrI>a)iTIp%*tPV97np9>fM~u7m;)arOmo<;u1wY4MHh5I0uX$?Ks7`Nl zC-Q?4og_b_mWY(Xeml*udIN0-3IJl{XL`bD;;t;LjOKw3y@JqpTcp&I!&;a0F}+-7 zcwCaBJq&K2j>>Nlr1NZo4qBa$d809(-;1`$$!DeK9)hIIU`=6VEX3WfSCBg5_32#a zVQr4&alKrwe@yDq9!7Nrj;Wa~XsiuB!&MjxQ zFtKF%zk+IvUkuZ~j_H3S@Kt2Q?-!j-!Alc3>2 zaKHUA-*3+mWyJ4G!{1Ke;MHZR_}*mt2ZeD#9=Du&gStJLKIQBhJ&=9};-Bz*7y2{e z_tmE043WUWt7++fmrVa)0_T>~12NxE`26y5=earTRm7*_BHZr5_J~_e&DEdXAuc+C zp3!mQQ#e;if5sd>a{l+g%Z!P*ll=pJ79rtqeqZrE_77Ym{0Z))x`-7_N8%ay!@lA> znGXJ0|L+lC5Mv?(_!%p_iTQExn%%0`Sf|zWu158R&G@cb{RN`)Tk1M;0`rteg}qn!tJL&D)M1UVbHR^Mz*iHN zH|yEk+1BynJJ>te@aVNuNJ}tcHRn4NBxwm0TP$IxlDZCEa8}jaT!k(>1N&_yXarVb zgP#V2AN!zw%h2Q%;s}%+@l0bvrb|Hlk+cR%EEdRtBF%_Hfm8A8370nL*sbFB2@}SP zx3ZxTSFv~6_;H@i&U4|KatF<*sH&-{s+chdU4I3#88cbM#;^x1YWm$#VMOV!A&EM4 z-5Yy5$r$q7?m~x>+{5|@En;Kg_F2iR+A3zXhhZD~9@Ryv=%bnG=ma|awQ-0Jx=fBf z%3t}GqgLlYI#4VBgYrB_zf1g{eHh0^PmQnySidg@Cw;K9Aj&Nvo0KFC-a@N0-;zaT z%^GLR2H9d|RKpzBd5Z0paE`{5U+o@wYl~B=X60g4br90tLro%XV@fmAuE8AJFZSqy)he-^ zRZ9`=E1~S0pzJ1Gi<1-;2}XKi1Ef}95oZUakQ$JC20=~+Z^T(vML%LM_Udx0u&{Cm z;!>4wYW+{kEUM~`6UFgYMA>M3i$Y1d;J*mrPy@|=4fmEB1T_0!=(_E;uH7Pj4h+*f z`1G((bE9k1BCLy$aesvA@k_wZ?MCT$W7#eAIf7$fgtJ}b4*`i2&+PXhy06mbKzSFR zhPoW~8EqNTP?v-9TYgSDA{Ufj3*|?>6CBT@ePlwb;hdUXKA3iAR~IPfo`va#3VMO* zXg;oji*Rm-X|`*?E6;Mj1r<9*3H>2`;CTFeBu;b(4I$eORk2--|EB0eRK@Lv=}S=m zZGdBfcJQj2D|i9RFLH8MLD~L+?n0p>Z10{^prDWMdS1%|TPCQseC z5)C6eva%=wsQ@~!pe~@!8#uXm7VfV(8$rYm!+y%qcg7Oa3IW03%za{@epDWuz1RW` zqr<+&V%u7`J6Pg#<`;4=MMhS-%!Q4C;t>^2bGV_vnO6~Z=b=!4qR+Sj@C1|>&9%^| z!3swhT0B+&@wY`DVjG;3iqW1iEDRPFFtJ9xSH(S`+UF*=AKkijE8x$Y#NX!j5!>Rw zLTLd`S_@pnqP=SF0rft$irCKW+qP}nhJPXLPmtkj?s-htj_MV@rIr!2&N8uL{1MUD z0%9A<`pO0dCxoiT2OC0amfTNf1-xQ%Kau4Ph{+~>`G}~ws>&Q4QLfjw5KVf06Vbx^ zugBlwwqqVy*j`*3m(#kAHH%BQA?ShHVHJlS^`7q*VeuV@)MDik9c3x!3oD){uQg)b0Sq>+Cm8YMw?-^C8&Q3Ghdw~AXK%wNpZJ4MEQ;orxN!sB zy=Gu>$lMsYp7E6r3fju8GpAi7)n{AW^m@i$F)-+?w#}J7HA^M7x@p#0Hlg0FlJ2P9 zNYlBw@P|hu-&M1jq=IP7DLO*s!m+glpUz40Lx+v}aGSvT%LfK+6&A?Nsw$JLX95DR zX`R`SmzSn@@w|4{Y|QQuI8|?foI-p*^?#hV_*a~a{35;=%|2*5^0}vB`{2c^c3xO5 z$yb$fQmf|PlyR3yx$hNn3U-zO8Q38EA6|f$BCu z-HIlvH)x15<$lHVBl>dLY;NAhjUem=9_}Pgzm5Kec!&KX?)$LO67QTH*0o|5^YLk9 zs5s3mY8i2a8J&{m$PdGIE}uou_;T9jP17!z&aI4w=we?&K3$118VmIbyBK0t@z7EO z!vyO`7t5T*G~;tJ8b`&5NMv}08e@9-)9v1FmN}q4_%o(tu5ciT6f3d|Jvdc-*>@PH1@*IkZ z6EAPpiMP?RKvU7QnUXEy;&JPk5!Pa~Dqd_A*4#lu(b&sc3))I;izc^THns@zeSm5u zM=%8!#CIi}-W4If3dFa_3@4THi4!hw){D0>nD4CYt%xu6inSQ=Lwxb7JZMCG!);O9 z;zjMdxO75 z-G2Ez?hmJ?Y}s-VUROTY{V{PYegdYEBvbh@JyCqrZ7UZL@+I3k;?Hnzd@*J7mW#OA zn>Jna#TU>{{>bQwH`!OQouKtjA8arAb`yN!EJDU16U?PybTPBNps=XmN=L=;NMuBX z1Iczjbu-w{48y*Q>F+;^Y|HPI7Y{8lFmx`oHd@o`b;$o9bu)24|9)@&kN-GgS^UFrLf7Zrs7DkM9Ye4h!ZTEZID&F9#=A?%HQe}D+|K7*JTKI*i3cglBf%7M!C+k#=w z`VWg$r?XmgZ&)lkt<9_h0e94^u@p7u=2fZ;&0%-Ur?C{bA`vGc~QyT@H~we+~|YxHZ=)?MSSStns9+;_|oE)6?IPTK#lBODDoMor?!25>qk z9zuWrFVdy|1nK5S^AX)g(&_$();jI4s}KnBN;hb-~?ZXU!VBJ6IPoU_Hy(aq%wHf+oi&@E=z>=+28*;SlDxcRHX$i`?Pox^X%~27xRu{Vn zLhf^AOS2V{14On`FH^~sYP{b2EH#c;%Cx}zl;A#1;7VSQl;Gtg+uvW1n6wpg*J19! z=<^{tW!%S7wZZPFgmMg|e+-f14ho#Ly=`NC@=A2jK`(X4E?JB|n%; zOC$Q+K~V>~`(or2CR>^P6_M-JIV}dc3U&l?t3mDy{@LPGGuG(v(z5A;^QMipd(=#% zP%4wkFn?HXYnY~=pTC-+H^^;}f9~5B7vvwq{6mnxTf;;OByx%Dew(@#W&&m zl2T$UN8#txY`ag#*4cdeEcUndSbJgp ztbu-e6n@Sg=;yArhHG3CP5IRx;ZD6*p#9tl?dRX&!!%*~vj+JQzdFQc1L8Bmlvm@K zB>F$h4-mZp`Rrn!NW>uU^$tQ1(-6BVCduWn398QZl)9v}_hv7pGr8PB_6g3Tkm!vL zOHqR#gt?QB96K0}XhI$BVyZLKm1q85@qFDQL0@grAcdctKJ-i%9XV> zg>8jyt-E?e*qN)eu@wrbI@nYc_Ng_5se7bC;;^|bk%9Sj3x?)t6rUl!P|uICvY(eP z{is~3h7-{OFXU_N9wnFBZEkCVuky41T7H4(Mfw9`8{~^x(v&zyLNp!FWr}(Dnz7xJ zRg~in-aP7Nc9+&*Eo$_0uYvq}8}|Tl5YeHg65F8Ow4&belKK*&^#-02W6~Nd0wqTd zB6UFYbIL@2K;8gt7n-sK2$4AYjUEKQyjV3+rl2WfsXMn&VjC42+${0j>}87$E(%Gl z)2kfvT-f*gSs~FF?0N27@02l^q05Or+;+K?JHYFLyaCo#kLbMdih3g8++a8_%bT%W zjKW|KxpO@irSi;iAf8B~|6+cB56jC7$Bv0uSvY)JS_apf%A7W}kyVQ=Stgg^syJh{qcYSL=t{sR82LZ&17J+vb)93%f!TJ(2_mWE2B^*<^XYEyOMChVPwXUu7F zf)Xy=44BbaCAPUF3PL*xL1B^772 zg?jo59rGI;hlok_2=B!UtV>d}HMmolWtlKD>I|fs-KI6PLq_sy)qKPHxxMA@5%+xL zt6I{tqMR+8!>r(CPRRwN{WdJKqp;6bi9~%PjS@#c+^}$!QVWb?kZq6;q>OUZQ6mF= zYDlwtfd458is$z>EUTk%ETK%J5$!`lV?`9u@Bvbg9v{-u+IC!`k)03$ERT)|7F@T-3EHnIfZ0{Ouj&(_~sL_WL=W>e@t#tbcnu~Jj}iXzZvjs zCI(o4x{Ff!ua2ug!v%lDE3OV=%UK3ha250#-W`4EV2fyXn6|8S1w{+FCgwuCo zc{$%&T=_ybk5KK1B{cFpx>74eTwR{%hk5aNG3T(Skpe124S$cztlg5^`Wr z(8tbIVAD$Ob%CE%5D3iZ0kA;)8tX4$*-TC;n;(;9>I|@Z#vWKA30X|O!d|i{ctt^3 z6qFvyvWk177i%!RmvFo+|2ujCqSMq0GM|11_d$$s1}-9)2e^fj80-p1MZSaHBd(Zo zReQ;>5^WZ}))~;V`cQ44X~o1+Yt4*7KOY@%J^c;whOqC3_ezNB6||Kg6Gz zzxbxAFVJ>M&F7y_*|Z7!-^Ra;e@RuL^KZm>Jg+!%8Sf*2ar$miA)eQ;AaT$w5f9p6 zPoB}lK~Qj5XsVFVS-4f>HcpL9-S^s(mG4cNr!a`+dY!DOu05}9$v}^*dBNb@;mF+p zI=fGr$m{49eW8)tEv}h*Ma$JM-8iUo-V!C1rB%8ts>tZY)uBN#$0BV|3kJUoWeajQ zQupKgY8%q$0I+;gE+i-*V#&Dxh35iMeE(hYLIUD-=Llcj+`+-dO7E~i^+s?ec|k#2 zI4g@GTJM`uGh=|?Q#WD36^#Rz<*GE{ZL_ZLxuSs7yKVffwb98}4L-L|xUe8^wM;f` zNx|eTon!7r_w81dMDorZPFz?3;-})L$$CnK=89>j&V&`i0+1ePvRrCVs~x$O1+8;h z+*2nMHJ1eSR#`>o6Z6}znO@#<&C^%Rx})Z#Tw$;nY8LOBxMqvRY0-}zF}Ql!-Lu!e zch}_BCKN*soeR5go{^t}r=7cnbkGl?v#5!9!9q|=7GFcyHy%H_;^q@cMd!we#Y1v^ z61z%nx2-qUU7@?ePfIGMLAWi?FR`f)hlMmNi*lK!gu+x^^A zxub8ISFOgt#Hn+D2c0e9{=(ftd;n#sD7_?x-TKW&abEl4w%mca_QZVv zV*0m=>dy6J(&f6OPZoMz3(&r9N@-F;^6``$p!N#|L|#K5Mype)=NHj&IWk#d{^tBy zb7zMq?OIYBn|;gF%FhQa+&MY8cy8Iq`XaqeLT44!`Bkwww@#mW_@+fp&P9w-4q3cu z_=;859IN1C^akXkf_#E#9+X15Amv^|9NZcEzFp>A02wSo42pHo7V>A!nO%U{&*|z^ zt9M$Iz8r z6-YN5_CkJs4-kvXYS=^tjtTd33&FoNV4vNm7rXPP>dLgu#-Ls43#uC@S6XTYE%Xnb z-^_h9fpVk3$!6ER;JJHPUBKnD+-M5d`KzW{a%M!vHTf}f0`Vqokhc`;NjQ4XpCt>)?CnOb1$&$v-yn7*xTB=vj!|1dz?>MF~Hq8jx&( zVleT3ajXES$(nB#^li{aH zbbv~e3_p!mhNc-*Ht}wi&wTrzELM;H#(j2+cnWLM`MpOcJVcL@%0AU9xwl*jMUcB+ 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 NDMp1hFB${m{{V&DCTjoy literal 0 HcmV?d00001 diff --git a/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 b/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c4e3d804b57b625b16a36d767bfca6bbf63d414e GIT binary patch literal 193308 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

l?s7}*4vp!2W|88=L^r| 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

nR1?qM=|aYy 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

F}woT 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"bt0}@AlIHaMn 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 literal 0 HcmV?d00001 diff --git a/docs/build/html/_static/css/fonts/lato-bold.woff2 b/docs/build/html/_static/css/fonts/lato-bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..bb195043cfc07fa52741c6144d7378b5ba8be4c5 GIT binary patch literal 184912 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

x{o9f|7gEmo2*wv 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 z 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≶M9Zv|5`G?V+t`dH%WEMXqpk;_3Hk#c)5bow}^>GHdOg=@5pYx=49b13Ly zrJynzDRebu8rnRSaDCBo@|9g53n?-Toj%;)7@=UY|Noy}Ma{<^CTZW`I9PGat{6t2 zaDw4J3oUfqrNwG{*q4kXjQO#)d%E?I`6unq0@g?R`EPa45Y|xpiRX?D^@^QqfPjrp z`1!tA9;wNGs_VH%HtUBo8*1_;v~g)avtfdTTKYQ+w|_T@R1|@!z4MWbhw@XQ#{r8n zFBZwGL~*S&Epds65DN=S9LDmC%OD``N?Ja3mq@-KYHmwkg<5GJXlu`C1U~hF;}GUt zEV_svDDRB0pxY;h0iVB6!+t9MoPjoUN2{tnNvmp71!_;3|F6OefCDX3EgVYSHa&Y~ zU}M_~aPglu-?Am;VW9ar%IVbGkq@`{Tq5wAt!;iU^4x0?c1udN{X&%ux4V&|KJ4W8 z^-G%6%-Mk6r|NGgPt?6Gz6|&!zRxhaV4(F`GZ8rK4j__!PX?Q7^;*CQ1mh5%DvR6C z?e!IxGMT8~xw^^9NiPO6=pQ@SRODn~Fsq8jD|VmScW#=CFmzog>dWa9ISWyD>bX6* zxnZ#2TwN0;af`pj^X|5h-UR+^#wtJ!B@tKiK!pf5VjK5!fZLt zzX!?qwZ#;g@k9fI%Zc#zkaZg@VAO57d!5O3Ue&0UhOx8iALeb!OI zRvYFgz{G^aMMxIXA9Q8%Ks(ns{Ng8LwsDMRXV9_!HbeTZg#-D*^A&&kWc>8s7s|rI z=ynSoO>Z_is~m>%blt}gX#It_>e2=$ntV|mjceXzzfgYM^uWLH4|qn@T1Vx$y+(mB zr_oTl_0pJ8ZR}4L)pN;gX0*r7gHMr7oprWF%6?*dA?da-61JtJNHWwP^#36TIN#Kl zHX65H`VqI9GB?_ee-?H!Yb?FpyYadu!+UaImNKBnpF_sZf6ay)B7}^R1hodXNP?eK z4UhCNG=>^Ra(w)t-DekO(;#W^pCZ0-I00f84I3?O?7O zB%x)J$UIIl{lRxlFHDbkes}4Xh27aeZ@lufb-e26$_f|NxU&YtVUJG#2x>BxrM_VU z1LCx!(BL?8gDF{Vq$J)xNc>yL)$=)7I*g|%)(&0-;j8CsUSvGa_^S6DVMpH zb8v0T>G{!ohHICj*>1fftNM+zZtws0KCZLv(IK>C_QT1EH@fD(8$2iPv~!>Y4cV!P zSZxtr!>L43HPE+4<>ftO;-5eywKK$aj&E__@NZF$Ub2O545&GURXRcHZf+@4Q*sxY zWp376swn?@b?YH5czxG41HZOjt)n5ymnfWVn}~l0v!W9f09Qb$zl@4>j!2BD$PIWy zG%tHq1co&qIS~ddbB3;u@9Dn~xdsYnr5s8^`W*i3m@VDEnOB&F?o#)Rs5v1eUah$w>#9 z(>0sd(bH1S1!0KMO_Fm9-(30B*tAvEi!I8bj@kN6Z10~`=5`eh*Oh@TSgc~GARo=W z<9@k$y19A1xpq3jbDRG4LD38!4XW&4?>FThiiaoIiVSTRo?|YzPPb-muv!>myEIOW zt#-bt4&U((ZdDWewL`sy(~|m2`BN@QF+Q{|G9ZCrd6ta$KC*E*TQ_G)_3NXw*H*CY zbEL^@$wN>XGaLNe4bu&0*GJMUg5zS=CN)LQyqHShcMq=mcw_4h9+%ozHC=V~`$%?N z`DWW#&TppMgR}4%!g!nK9J8-_y1Mk=F&oUrC@E68`W@5@I(HpHbiw(p1ld9~Keub^ z`qq-^lE(GMES@?`16xSt_yAA?b$A0;omip zd;&xiYAZP+=TTDO@|)ZHN*1!_{_wQ@i@zy5-UG{`HCbB7dqN5AgmRL@R~5 z-KAmZe7J3gow^U;9@e_R+QBj&j{H=={FCM3!&hwmwI9#NDh>OjBmRdo%0A!wRKaXY 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

+ + +
+ +
+
+
+
    +
  • »
  • +
  • Module code »
  • +
  • InnerEye.ML.augmentations.augmentation_for_segmentation_utils
  • +
  • +
  • +
+
+
+
+
+ +

Source code for InnerEye.ML.augmentations.augmentation_for_segmentation_utils

+#  ------------------------------------------------------------------------------------------
+#  Copyright (c) Microsoft Corporation. All rights reserved.
+#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
+#  ------------------------------------------------------------------------------------------
+import random
+from typing import List, Tuple
+
+import numpy as np
+
+from InnerEye.Common.common_util import any_pairwise_larger
+from InnerEye.Common.type_annotations import TupleInt3
+from InnerEye.ML.config import SegmentationModelBase
+from InnerEye.ML.dataset.sample import Sample
+
+
+
[docs]def random_select_patch_center(sample: Sample, class_weights: List[float] = None) -> np.ndarray: + """ + Samples a point to use as the coordinates of the patch center. First samples one + class among the available classes then samples a center point among the pixels of the sampled + class. + + :param sample: A set of Image channels, ground truth labels and mask to randomly crop. + :param class_weights: A weighting vector with values [0, 1] to influence the class the center crop + voxel belongs to (must sum to 1), uniform distribution assumed if none provided. + :return numpy int array (3x1) containing patch center spatial coordinates + """ + num_classes = sample.labels.shape[0] + + if class_weights is not None: + if len(class_weights) != num_classes: + raise Exception("A weight must be provided for each class, found weights:{}, expected:{}" + .format(len(class_weights), num_classes)) + SegmentationModelBase.validate_class_weights(class_weights) + + # If class weights are not initialised, selection is made with equal probability for all classes + available_classes = list(range(num_classes)) + original_class_weights = class_weights + while len(available_classes) > 0: + selected_label_class = random.choices(population=available_classes, weights=class_weights, k=1)[0] + # Check pixels where mask and label maps are both foreground + indices = np.argwhere(np.logical_and(sample.labels[selected_label_class] == 1.0, sample.mask == 1)) + if not np.any(indices): + available_classes.remove(selected_label_class) + if class_weights is not None: + assert original_class_weights is not None # for mypy + class_weights = [original_class_weights[i] for i in available_classes] + if sum(class_weights) <= 0.0: + raise ValueError("Cannot sample a class: no class present in the sample has a positive weight") + else: + break + + # Raise an exception if non of the foreground classes are overlapping with the mask + if len(available_classes) == 0: + raise Exception("No non-mask voxels found, please check your mask and labels map") + + # noinspection PyUnboundLocalVariable + choice = random.randint(0, len(indices) - 1) + + return indices[choice].astype(int) # Numpy usually stores as floats
+ + +
[docs]def slicers_for_random_crop(sample: Sample, + crop_size: TupleInt3, + class_weights: List[float] = None) -> Tuple[List[slice], np.ndarray]: + """ + Computes array slicers that produce random crops of the given crop_size. + The selection of the center is dependant on background probability. + By default it does not center on background. + + :param sample: A set of Image channels, ground truth labels and mask to randomly crop. + :param crop_size: The size of the crop expressed as a list of 3 ints, one per spatial dimension. + :param class_weights: A weighting vector with values [0, 1] to influence the class the center crop + voxel belongs to (must sum to 1), uniform distribution assumed if none provided. + :return: Tuple element 1: The slicers that convert the input image to the chosen crop. Tuple element 2: The + indices of the center point of the crop. + :raises ValueError: If there are shape mismatches among the arguments or if the crop size is larger than the image. + """ + shape = sample.image.shape[1:] + + if any_pairwise_larger(crop_size, shape): + raise ValueError("The crop_size across each dimension should be greater than zero and less than or equal " + "to the current value (crop_size: {}, spatial shape: {})" + .format(crop_size, shape)) + + # Sample a center pixel location for patch extraction. + center = random_select_patch_center(sample, class_weights) + + # Verify and fix overflow for each dimension + left = [] + for i in range(3): + margin_left = int(crop_size[i] / 2) + margin_right = crop_size[i] - margin_left + left_index = center[i] - margin_left + right_index = center[i] + margin_right + if right_index > shape[i]: + left_index = left_index - (right_index - shape[i]) + if left_index < 0: + left_index = 0 + left.append(left_index) + + return [slice(left[x], left[x] + crop_size[x]) for x in range(0, 3)], center
+ + +
[docs]def random_crop(sample: Sample, + crop_size: TupleInt3, + class_weights: List[float] = None) -> Tuple[Sample, np.ndarray]: + """ + Randomly crops images, mask, and labels arrays according to the crop_size argument. + The selection of the center is dependant on background probability. + By default it does not center on background. + + :param sample: A set of Image channels, ground truth labels and mask to randomly crop. + :param crop_size: The size of the crop expressed as a list of 3 ints, one per spatial dimension. + :param class_weights: A weighting vector with values [0, 1] to influence the class the center crop + voxel belongs to (must sum to 1), uniform distribution assumed if none provided. + :return: Tuple item 1: The cropped images, labels, and mask. Tuple item 2: The center that was chosen for the crop, + before shifting to be inside of the image. Tuple item 3: The slicers that convert the input image to the chosen + crop. + + :raises ValueError: If there are shape mismatches among the arguments or if the crop size is larger than the image. + """ + slicers, center = slicers_for_random_crop(sample, crop_size, class_weights) + sample = Sample( + image=sample.image[:, slicers[0], slicers[1], slicers[2]], + labels=sample.labels[:, slicers[0], slicers[1], slicers[2]], + mask=sample.mask[slicers[0], slicers[1], slicers[2]], + metadata=sample.metadata + ) + return sample, center
+
+ +
+
+ +
+
+
+