From 9e5695d52952ecb6af998d748233e789546b15ff Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 13:21:46 +0800 Subject: [PATCH 01/28] Writerside configuration Added new configuration files necessary for the initialization of Writerside. These configurations include the setup for instance profiles, categories, variables, topics, and images. --- Writerside/c.list | 6 ++++++ Writerside/d.tree | 12 ++++++++++++ Writerside/v.list | 5 +++++ Writerside/writerside.cfg | 8 ++++++++ 4 files changed, 31 insertions(+) create mode 100644 Writerside/c.list create mode 100644 Writerside/d.tree create mode 100644 Writerside/v.list create mode 100644 Writerside/writerside.cfg diff --git a/Writerside/c.list b/Writerside/c.list new file mode 100644 index 00000000..c4c77a29 --- /dev/null +++ b/Writerside/c.list @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Writerside/d.tree b/Writerside/d.tree new file mode 100644 index 00000000..7408f9e1 --- /dev/null +++ b/Writerside/d.tree @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/Writerside/v.list b/Writerside/v.list new file mode 100644 index 00000000..2d12cb39 --- /dev/null +++ b/Writerside/v.list @@ -0,0 +1,5 @@ + + + + + diff --git a/Writerside/writerside.cfg b/Writerside/writerside.cfg new file mode 100644 index 00000000..e83c370c --- /dev/null +++ b/Writerside/writerside.cfg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file From 5d817912d8848a331edb2bdcbc543ad5f25550ba Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 13:24:45 +0800 Subject: [PATCH 02/28] Add Overview for FRDC-ML in project docs, remove starter-topic Added a new Overview section in the Writerside/topics documentation, outlining the purpose and usage of our FRDC-ML machine learning backbone. This will give new contributors a clear initial understanding of the project. Also, removed the starter-topic.md from the d.tree, as it was a placeholder and no longer needed. --- Writerside/d.tree | 1 - Writerside/topics/Overview.md | 17 +++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 Writerside/topics/Overview.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 7408f9e1..72afc82a 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -7,6 +7,5 @@ start-page="Overview.md"> - \ No newline at end of file diff --git a/Writerside/topics/Overview.md b/Writerside/topics/Overview.md new file mode 100644 index 00000000..a90cd34c --- /dev/null +++ b/Writerside/topics/Overview.md @@ -0,0 +1,17 @@ +# Overview + +Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for +ecologists to automatically classify surveyed trees via an Unmanned Aerial +Vehicle (UAV). + +This package, FRDC-ML is the Machine Learning backbone of this project, +a centralized repository of tools and model architectures to be used in the +FRDC pipeline. + +[**Get started here**](Getting-Started.md) + +## Other Projects + +FRDC-UI +: [The User Interface Repository](https://github.com/Forest-Recovery-Digital-Companion/FRDC-UI/) +for FRDC, a WebApp GUI for ecologists to adjust annotations. From 1953480b286ad35cf83da653dbf593cb5f82ec44 Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 13:25:15 +0800 Subject: [PATCH 03/28] Add detailed Getting Started guide in project docs Created a comprehensive Getting Started guide under Writerside/topics, detailing the developer environment setup, Google Cloud setup, optional setups like pre-commit hooks, testing information, and overview of the repository structure. --- Writerside/topics/Getting-Started.md | 186 +++++++++++++++++++++++++++ 1 file changed, 186 insertions(+) create mode 100644 Writerside/topics/Getting-Started.md diff --git a/Writerside/topics/Getting-Started.md b/Writerside/topics/Getting-Started.md new file mode 100644 index 00000000..d246b5d8 --- /dev/null +++ b/Writerside/topics/Getting-Started.md @@ -0,0 +1,186 @@ +# Getting Started + + + Ensure that you have the right version of Python. + The required Python version can be seen in pyproject.toml + + [tool.poetry.dependencies] + python = "..." + + + Start by cloning our repository. + + git clone https://github.com/Forest-Recovery-Digital-Companion/FRDC-ML.git + + + Then, create a Python Virtual Env pyvenv + + + python -m venv venv/ + + + python3 -m venv venv/ + + + + + Install Poetry + Then check if it's installed with + poetry --version + + If poetry is not found, it's likely not in the user PATH. + + + Activate the virtual environment + + + + cd venv/Scripts + activate + cd ../.. + + + + + source venv/bin/activate + + + + + Install the dependencies. You should be in the same directory as + pyproject.toml + + poetry install --with dev + + + Install Pre-Commit Hooks + + pre-commit install + + + + + + + We use Google Cloud to store our datasets. To set up Google Cloud, + + install the Google Cloud CLI + + + + Then, you need to + + authenticate your account + . + + + To make sure everything is working, run the following command: + + gsutil ls + + + + + + This is optional but recommended. + Pre-commit hooks are a way to ensure that your code is formatted correctly. + This is done by running a series of checks before you commit your code. + + + + pre-commit install + + + + + + + Run the tests to make sure everything is working + + pytest + + + + In case of errors: + + + If you get this error, it means that you haven't authenticated your + Google Cloud account. + See Setting Up Google Cloud + + + If you get this error, it means that you haven't installed the + dependencies. + See Installing the Dev. Environment + + + + + + +## Our Repository Structure + +Before starting development, take a look at our repository structure. This will +help you understand where to put your code. + +```mermaid +graph LR + FRDC -- " Core Dependencies " --> src/frdc/ + FRDC -- " Resources " --> rsc/ + FRDC -- " Pipeline " --> pipeline/ + FRDC -- " Tests " --> tests/ + FRDC -- " Repo Dependencies " --> pyproject.toml,poetry.lock + src/frdc/ -- " Dataset Loaders " --> ./load/ + src/frdc/ -- " Preprocessing Fn. " --> ./preprocess/ + src/frdc/ -- " Train Deps " --> ./train/ + src/frdc/ -- " Model Architectures " --> ./models/ + rsc/ -- " Datasets ... " --> ./dataset_name/ + pipeline/ -- " Model Training Pipeline " --> ./model_tests/ +``` + +src/frdc/ +: Source Code for our package. These are the unit components of our pipeline. + +rsc/ +: Resources. These are usually cached datasets + +pipeline/ +: Pipeline code. These are the full ML tests of our pipeline. + +tests/ +: PyTest tests. These are unit tests & integration tests. + +### Unit, Integration, and Pipeline Tests + +We have 3 types of tests: + +- Unit Tests are usually small, single function tests. +- Integration Tests are larger tests that tests a mock pipeline. +- Pipeline Tests are the true production pipeline tests that will generate a + model. + +### Where Should I contribute? + + + +If you're changing a small component, such as a argument for preprocessing, +a new model architecture, or a new configuration for a dataset, take a look +at the src/frdc/ directory. + + +By adding a new component, you'll need to add a new test. Take a look at the +tests/ directory. + + +If you're a ML Researcher, you'll probably be changing the pipeline. Take a +look at the pipeline/ directory. + + +If you're adding a new dependency, use poetry add PACKAGE and +commit the changes to pyproject.toml and poetry.lock. + + E.g. Adding numpy is the same as + poetry add numpy + + + \ No newline at end of file From 579c01e82df07d1ba324d92891dcb65cdcb7268a Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 13:28:41 +0800 Subject: [PATCH 04/28] Remove unused .gitignore files --- .gitignore | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.gitignore b/.gitignore index 8e26edb0..ca71a60e 100644 --- a/.gitignore +++ b/.gitignore @@ -164,9 +164,4 @@ cython_debug/ # Ignores the raw .tif files rsc/**/*.tif -# Ignore any secrets files -.secrets/ -# REMOVE ONLY IF THE SECRET FILES ARE IN .secrets -*.json - **/*/lightning_logs \ No newline at end of file From 22f4b76dc9ec3e834c21cd6d84203264495b8ce5 Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 13:29:10 +0800 Subject: [PATCH 05/28] Add Writerside rendered documentation --- docs/HelpTOC.json | 1 + docs/Map.jhm | 1 + docs/config.json | 1 + docs/current.help.version | 1 + docs/getting-started.html | 22 +++++++++++ docs/index.html | 9 +++++ docs/mermaid.css | 81 +++++++++++++++++++++++++++++++++++++++ docs/overview.html | 1 + 8 files changed, 117 insertions(+) create mode 100644 docs/HelpTOC.json create mode 100644 docs/Map.jhm create mode 100644 docs/config.json create mode 100644 docs/current.help.version create mode 100644 docs/getting-started.html create mode 100644 docs/index.html create mode 100644 docs/mermaid.css create mode 100644 docs/overview.html diff --git a/docs/HelpTOC.json b/docs/HelpTOC.json new file mode 100644 index 00000000..cf714597 --- /dev/null +++ b/docs/HelpTOC.json @@ -0,0 +1 @@ +{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1}}},"topLevelIds":["Overview","Getting-Started"]} \ No newline at end of file diff --git a/docs/Map.jhm b/docs/Map.jhm new file mode 100644 index 00000000..a0b29f95 --- /dev/null +++ b/docs/Map.jhm @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/config.json b/docs/config.json new file mode 100644 index 00000000..88bdd5dc --- /dev/null +++ b/docs/config.json @@ -0,0 +1 @@ +{"productVersion":"0.0.4","productId":"d","stage":"release","downloadTitle":"Get Documentation","keymaps":{},"searchMaxHits":75,"productName":"Documentation"} \ No newline at end of file diff --git a/docs/current.help.version b/docs/current.help.version new file mode 100644 index 00000000..05b19b1f --- /dev/null +++ b/docs/current.help.version @@ -0,0 +1 @@ +0.0.4 \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html new file mode 100644 index 00000000..98e067b9 --- /dev/null +++ b/docs/getting-started.html @@ -0,0 +1,22 @@ + Getting Started | Documentation

Documentation 0.0.4 Help

Getting Started

Installing the Dev. Environment

  1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

    + [tool.poetry.dependencies] + python = "..." +
  2. Start by cloning our repository.

    + git clone https://github.com/Forest-Recovery-Digital-Companion/FRDC-ML.git +
  3. Then, create a Python Virtual Env pyvenv

    python -m venv venv/
    python3 -m venv venv/
  4. Install Poetry Then check if it's installed with

    poetry --version
  5. Activate the virtual environment

    + cd venv/Scripts + activate + cd ../.. +
    + source venv/bin/activate +
  6. Install the dependencies. You should be in the same directory as pyproject.toml

    + poetry install --with dev +
  7. Install Pre-Commit Hooks

    + pre-commit install +

Setting Up Google Cloud

  1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

  2. Then, you need to authenticate your account.

  3. To make sure everything is working, run the following command:

    + gsutil ls +

Pre-commit Hooks

  • + pre-commit install +

Running the Tests

  1. Run the tests to make sure everything is working

    + pytest +
  2. In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

Our Repository Structure

Before starting development, take a look at our repository structure. This will help you understand where to put your code.

Core Dependencies
Resources
Pipeline
Tests
Repo Dependencies
Dataset Loaders
Preprocessing Fn.
Train Deps
Model Architectures
Datasets ...
Model Training Pipeline
FRDC
src/frdc/
rsc/
pipeline/
tests/
pyproject.toml,poetry.lock
./load/
./preprocess/
./train/
./models/
./dataset_name/
./model_tests/
src/frdc/

Source Code for our package. These are the unit components of our pipeline.

rsc/

Resources. These are usually cached datasets

pipeline/

Pipeline code. These are the full ML tests of our pipeline.

tests/

PyTest tests. These are unit tests & integration tests.

Unit, Integration, and Pipeline Tests

We have 3 types of tests:

  • Unit Tests are usually small, single function tests.

  • Integration Tests are larger tests that tests a mock pipeline.

  • Pipeline Tests are the true production pipeline tests that will generate a model.

Where Should I contribute?

Changing a small component

If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

Adding a test

By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

Changing the pipeline

If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

Adding a dependency

If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

Last modified: 23 October 2023
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..369fbdf1 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,9 @@ + + + +You will be redirected shortly + +

Redirecting…

+Click here if you are not redirected. + + diff --git a/docs/mermaid.css b/docs/mermaid.css new file mode 100644 index 00000000..fac3b9d6 --- /dev/null +++ b/docs/mermaid.css @@ -0,0 +1,81 @@ +/* Light theme */ +/** Common */ +#mermaid .label, #mermaid {font-family:"trebuchet ms",arial,sans-serif; font-size:16px;fill:#333;}#mermaid .error-icon{fill:#552222;}#mermaid .error-text{fill:#552222;stroke:#552222;}#mermaid .edge-thickness-normal{stroke-width:2px;}#mermaid .edge-thickness-thick{stroke-width:3.5px;}#mermaid .edge-pattern-solid{stroke-dasharray:0;}#mermaid .edge-pattern-dashed{stroke-dasharray:3;}#mermaid .edge-pattern-dotted{stroke-dasharray:2;}#mermaid .marker{fill:#333333;stroke:#333333;}#mermaid .marker.cross{stroke:#333333;} #mermaid {max-width: 100%;} +/** Flowchart */ +#mermaid .cluster-label text{fill:#333;}#mermaid .cluster-label span{color:#333;}#mermaid .label text,#mermaid span{fill:#333;color:#333;}#mermaid .node rect,#mermaid .node circle,#mermaid .node ellipse,#mermaid .node polygon,#mermaid .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid .node .label{text-align:center;}#mermaid .node.clickable{cursor:pointer;}#mermaid .arrowheadPath{fill:#333333;}#mermaid .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid .flowchart-link{stroke:#333333;fill:none;}#mermaid .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid .cluster text{fill:#333;}#mermaid .cluster span{color:#333;}#mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;} +/** Sequence diagram */ +#mermaid .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid text.actor>tspan{fill:black;stroke:none;}#mermaid .actor-line{stroke:grey;}#mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid #arrowhead path{fill:#333;stroke:#333;}#mermaid .sequenceNumber{fill:white;}#mermaid #sequencenumber{fill:#333;}#mermaid #crosshead path{fill:#333;stroke:#333;}#mermaid .messageText{fill:#333;stroke:none;}#mermaid .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid .labelText,#mermaid .labelText>tspan{fill:black;stroke:none;}#mermaid .loopText,#mermaid .loopText>tspan{fill:black;stroke:none;}#mermaid .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid .noteText,#mermaid .noteText>tspan{fill:black;stroke:none;}#mermaid .activation0{fill:#f4f4f4;stroke:#666;}#mermaid .activation1{fill:#f4f4f4;stroke:#666;}#mermaid .activation2{fill:#f4f4f4;stroke:#666;}#mermaid .actorPopupMenu{position:absolute;}#mermaid .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid .actor-man circle,#mermaid line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;} +/** Gantt */ +#mermaid .exclude-range{fill:#eeeeee;}#mermaid .section{stroke:none;opacity:0.2;}#mermaid .section0{fill:rgba(102, 102, 255, 0.49);}#mermaid .section2{fill:#fff400;}#mermaid .section1,#mermaid .section3{fill:white;opacity:0.2;}#mermaid .sectionTitle0{fill:#333;}#mermaid .sectionTitle1{fill:#333;}#mermaid .sectionTitle2{fill:#333;}#mermaid .sectionTitle3{fill:#333;}#mermaid .sectionTitle{text-anchor:start;}#mermaid .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}#mermaid .grid .tick text{fill:#333;}#mermaid .grid path{stroke-width:0;}#mermaid .today{fill:none;stroke:red;stroke-width:2px;}#mermaid .task{stroke-width:2;}#mermaid .taskText{text-anchor:middle;}#mermaid .taskTextOutsideRight{fill:black;text-anchor:start;}#mermaid .taskTextOutsideLeft{fill:black;text-anchor:end;}#mermaid .task.clickable{cursor:pointer;}#mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}#mermaid .taskText0,#mermaid .taskText1,#mermaid .taskText2,#mermaid .taskText3{fill:white;}#mermaid .task0,#mermaid .task1,#mermaid .task2,#mermaid .task3{fill:#8a90dd;stroke:#534fbc;}#mermaid .taskTextOutside0,#mermaid .taskTextOutside2{fill:black;}#mermaid .taskTextOutside1,#mermaid .taskTextOutside3{fill:black;}#mermaid .active0,#mermaid .active1,#mermaid .active2,#mermaid .active3{fill:#bfc7ff;stroke:#534fbc;}#mermaid .activeText0,#mermaid .activeText1,#mermaid .activeText2,#mermaid .activeText3{fill:black!important;}#mermaid .done0,#mermaid .done1,#mermaid .done2,#mermaid .done3{stroke:grey;fill:lightgrey;stroke-width:2;}#mermaid .doneText0,#mermaid .doneText1,#mermaid .doneText2,#mermaid .doneText3{fill:black!important;}#mermaid .crit0,#mermaid .crit1,#mermaid .crit2,#mermaid .crit3{stroke:#ff8888;fill:red;stroke-width:2;}#mermaid .activeCrit0,#mermaid .activeCrit1,#mermaid .activeCrit2,#mermaid .activeCrit3{stroke:#ff8888;fill:#bfc7ff;stroke-width:2;}#mermaid .doneCrit0,#mermaid .doneCrit1,#mermaid .doneCrit2,#mermaid .doneCrit3{stroke:#ff8888;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}#mermaid .milestone{transform:rotate(45deg) scale(0.8,0.8);}#mermaid .milestoneText{font-style:italic;}#mermaid .doneCritText0,#mermaid .doneCritText1,#mermaid .doneCritText2,#mermaid .doneCritText3{fill:black!important;}#mermaid .activeCritText0,#mermaid .activeCritText1,#mermaid .activeCritText2,#mermaid .activeCritText3{fill:black!important;}#mermaid .titleText{text-anchor:middle;font-size:18px;fill:#333;} +/** Class diagram */ +#mermaid g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-size:10px;}#mermaid g.classGroup text .title{font-weight:bolder;}#mermaid .nodeLabel,#mermaid .edgeLabel{color:#131300;}#mermaid .edgeLabel .label rect{fill:#ECECFF;}#mermaid .label text{fill:#131300;}#mermaid .edgeLabel .label span{background:#ECECFF;}#mermaid .classTitle{font-weight:bolder;}#mermaid .node rect,#mermaid .node circle,#mermaid .node ellipse,#mermaid .node polygon,#mermaid .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid .divider{stroke:#9370DB;stroke:1;}#mermaid g.clickable{cursor:pointer;}#mermaid g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid .dashed-line{stroke-dasharray:3;}#mermaid #compositionStart,#mermaid .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #compositionEnd,#mermaid .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #dependencyStart,#mermaid .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #dependencyStart,#mermaid .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #extensionStart,#mermaid .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #extensionEnd,#mermaid .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid #aggregationStart,#mermaid .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid #aggregationEnd,#mermaid .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid #lollipopStart,#mermaid .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid #lollipopEnd,#mermaid .lollipop{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid .edgeTerminals{font-size:11px;} +/** Git graph */ +#mermaid .commit-id,#mermaid .commit-msg{fill:lightgrey;}#mermaid .commit0{stroke:hsl(240, 100%, 46.2745098039%);fill:hsl(240, 100%, 46.2745098039%);}#mermaid .commit-highlight0{stroke:hsl(60, 100%, 3.7254901961%);fill:hsl(60, 100%, 3.7254901961%);}#mermaid .label0{fill:hsl(240, 100%, 46.2745098039%);}#mermaid .arrow0{stroke:hsl(240, 100%, 46.2745098039%);}#mermaid .branch-label1{fill:black;}#mermaid .commit1{stroke:hsl(60, 100%, 43.5294117647%);fill:hsl(60, 100%, 43.5294117647%);}#mermaid .commit-highlight1{stroke:rgb(0, 0, 160.5);fill:rgb(0, 0, 160.5);}#mermaid .label1{fill:hsl(60, 100%, 43.5294117647%);}#mermaid .arrow1{stroke:hsl(60, 100%, 43.5294117647%);}#mermaid .branch-label2{fill:black;}#mermaid .commit2{stroke:hsl(80, 100%, 46.2745098039%);fill:hsl(80, 100%, 46.2745098039%);}#mermaid .commit-highlight2{stroke:rgb(48.8333333334, 0, 146.5000000001);fill:rgb(48.8333333334, 0, 146.5000000001);}#mermaid .label2{fill:hsl(80, 100%, 46.2745098039%);}#mermaid .arrow2{stroke:hsl(80, 100%, 46.2745098039%);}#mermaid .branch-label3{fill:#ffffff;}#mermaid .commit3{stroke:hsl(210, 100%, 46.2745098039%);fill:hsl(210, 100%, 46.2745098039%);}#mermaid .commit-highlight3{stroke:rgb(146.5000000001, 73.2500000001, 0);fill:rgb(146.5000000001, 73.2500000001, 0);}#mermaid .label3{fill:hsl(210, 100%, 46.2745098039%);}#mermaid .arrow3{stroke:hsl(210, 100%, 46.2745098039%);}#mermaid .branch-label4{fill:black;}#mermaid .commit4{stroke:hsl(180, 100%, 46.2745098039%);fill:hsl(180, 100%, 46.2745098039%);}#mermaid .commit-highlight4{stroke:rgb(146.5000000001, 0, 0);fill:rgb(146.5000000001, 0, 0);}#mermaid .label4{fill:hsl(180, 100%, 46.2745098039%);}#mermaid .arrow4{stroke:hsl(180, 100%, 46.2745098039%);}#mermaid .branch-label5{fill:black;}#mermaid .commit5{stroke:hsl(150, 100%, 46.2745098039%);fill:hsl(150, 100%, 46.2745098039%);}#mermaid .commit-highlight5{stroke:rgb(146.5000000001, 0, 73.2500000001);fill:rgb(146.5000000001, 0, 73.2500000001);}#mermaid .label5{fill:hsl(150, 100%, 46.2745098039%);}#mermaid .arrow5{stroke:hsl(150, 100%, 46.2745098039%);}#mermaid .branch-label6{fill:black;}#mermaid .commit6{stroke:hsl(300, 100%, 46.2745098039%);fill:hsl(300, 100%, 46.2745098039%);}#mermaid .commit-highlight6{stroke:rgb(0, 146.5000000001, 0);fill:rgb(0, 146.5000000001, 0);}#mermaid .label6{fill:hsl(300, 100%, 46.2745098039%);}#mermaid .arrow6{stroke:hsl(300, 100%, 46.2745098039%);}#mermaid .branch-label7{fill:black;}#mermaid .commit7{stroke:hsl(0, 100%, 46.2745098039%);fill:hsl(0, 100%, 46.2745098039%);}#mermaid .commit-highlight7{stroke:rgb(0, 146.5000000001, 146.5000000001);fill:rgb(0, 146.5000000001, 146.5000000001);}#mermaid .label7{fill:hsl(0, 100%, 46.2745098039%);}#mermaid .arrow7{stroke:hsl(0, 100%, 46.2745098039%);}#mermaid .branch{stroke-width:1;stroke:#333333;stroke-dasharray:2;}#mermaid .commit-label{font-size:10px;fill:#000021;}#mermaid .commit-label-bkg{font-size:10px;fill:#ffffde;opacity:0.5;}#mermaid .tag-label{font-size:10px;fill:#131300;}#mermaid .tag-label-bkg{fill:#ECECFF;stroke:hsl(240, 60%, 86.2745098039%);}#mermaid .tag-hole{fill:#333;}#mermaid .commit-merge{stroke:#ECECFF;fill:#ECECFF;}#mermaid .commit-reverse{stroke:#ECECFF;fill:#ECECFF;stroke-width:3;}#mermaid .commit-highlight-inner{stroke:#ECECFF;fill:#ECECFF;}#mermaid .arrow{stroke-width:8;stroke-linecap:round;fill:none;} +#mermaid .branchLabel .label {font-size:16px;} #mermaid g.label.branch-label0 text, #mermaid g.label.branch-label3 text { fill: #eee; } +/** Entity relationship */ +#mermaid .entityBox{fill:#ECECFF;stroke:#9370DB;}#mermaid .attributeBoxOdd{fill:#ffffff;stroke:#9370DB;}#mermaid .attributeBoxEven{fill:#f2f2f2;stroke:#9370DB;}#mermaid .relationshipLabelBox{fill:hsl(80, 100%, 96.2745098039%);opacity:0.7;background-color:hsl(80, 100%, 96.2745098039%);}#mermaid .relationshipLabelBox rect{opacity:0.5;}#mermaid .relationshipLine{stroke:#333333;} +/** Journey */ +#mermaid .label{color:#333;}#mermaid .mouth{stroke:#666;}#mermaid line{stroke:#333;}#mermaid .legend{fill:#333;}#mermaid .label text{fill:#333;}#mermaid .label{color:#333;}#mermaid .face{fill:#FFF8DC;stroke:#999;}#mermaid .node rect,#mermaid .node circle,#mermaid .node ellipse,#mermaid .node polygon,#mermaid .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid .node .label{text-align:center;}#mermaid .node.clickable{cursor:pointer;}#mermaid .arrowheadPath{fill:#333333;}#mermaid .edgePath .path{stroke:#333333;stroke-width:1.5px;}#mermaid .flowchart-link{stroke:#333333;fill:none;}#mermaid .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid .edgeLabel rect{opacity:0.5;}#mermaid .cluster text{fill:#333;}#mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid .task-type-0,#mermaid .section-type-0{fill:#ECECFF;}#mermaid .task-type-1,#mermaid .section-type-1{fill:#ffffde;}#mermaid .task-type-2,#mermaid .section-type-2{fill:hsl(304, 100%, 96.2745098039%);}#mermaid .task-type-3,#mermaid .section-type-3{fill:hsl(124, 100%, 93.5294117647%);}#mermaid .task-type-4,#mermaid .section-type-4{fill:hsl(176, 100%, 96.2745098039%);}#mermaid .task-type-5,#mermaid .section-type-5{fill:hsl(-4, 100%, 93.5294117647%);}#mermaid .task-type-6,#mermaid .section-type-6{fill:hsl(8, 100%, 96.2745098039%);}#mermaid .task-type-7,#mermaid .section-type-7{fill:hsl(188, 100%, 93.5294117647%);} +/** State diagram */ +#mermaid defs #statediagram-barbEnd{fill:#333333;stroke:#333333;}#mermaid g.stateGroup text{fill:#9370DB;stroke:none;font-size:10px;}#mermaid g.stateGroup text{fill:#333;stroke:none;font-size:10px;}#mermaid g.stateGroup .state-title{font-weight:bolder;fill:#131300;}#mermaid g.stateGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid g.stateGroup line{stroke:#333333;stroke-width:1;}#mermaid .transition{stroke:#333333;stroke-width:1;fill:none;}#mermaid .stateGroup .composit{fill:white;border-bottom:1px;}#mermaid .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}#mermaid .state-note{stroke:#aaaa33;fill:#fff5ad;}#mermaid .state-note text{fill:black;stroke:none;font-size:10px;}#mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid .edgeLabel .label rect{fill:#ECECFF;opacity:0.5;}#mermaid .edgeLabel .label text{fill:#333;}#mermaid .label div .edgeLabel{color:#333;}#mermaid .stateLabel text{fill:#131300;font-size:10px;font-weight:bold;}#mermaid .node circle.state-start{fill:#333333;stroke:#333333;}#mermaid .node .fork-join{fill:#333333;stroke:#333333;}#mermaid .node circle.state-end{fill:#9370DB;stroke:white;stroke-width:1.5;}#mermaid .end-state-inner{fill:white;stroke-width:1.5;}#mermaid .node rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid .node polygon{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid #statediagram-barbEnd{fill:#333333;}#mermaid .statediagram-cluster rect{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid .cluster-label,#mermaid .nodeLabel{color:#131300;}#mermaid .statediagram-cluster rect.outer{rx:5px;ry:5px;}#mermaid .statediagram-state .divider{stroke:#9370DB;}#mermaid .statediagram-state .title-state{rx:5px;ry:5px;}#mermaid .statediagram-cluster.statediagram-cluster .inner{fill:white;}#mermaid .statediagram-cluster.statediagram-cluster-alt .inner{fill:#f0f0f0;}#mermaid .statediagram-cluster .inner{rx:0;ry:0;}#mermaid .statediagram-state rect.basic{rx:5px;ry:5px;}#mermaid .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#f0f0f0;}#mermaid .note-edge{stroke-dasharray:5;}#mermaid .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid .statediagram-note rect{fill:#fff5ad;stroke:#aaaa33;stroke-width:1px;rx:0;ry:0;}#mermaid .statediagram-note text{fill:black;}#mermaid .statediagram-note .nodeLabel{color:black;}#mermaid .statediagram .edgeLabel{color:red;}#mermaid #dependencyStart,#mermaid #dependencyEnd{fill:#333333;stroke:#333333;stroke-width:1;} +/** Pie chart */ +#mermaid .pieCircle{stroke:#222;stroke-width:1px;}#mermaid .pieTitleText{text-anchor:middle;font-size:25px;fill:black;}#mermaid .slice{fill:#333;font-size:17px;}#mermaid .legend text{fill:black;font-size:17px;} +/** Requirements */ +#mermaid marker{fill:#333333;stroke:#333333;}#mermaid marker.cross{stroke:#333333;}#mermaid svg{font-size:16px;}#mermaid .reqBox{fill:#ECECFF;fill-opacity:100%;stroke:hsl(240, 60%, 86.2745098039%);stroke-width:hsl(240, 60%, 86.2745098039%);}#mermaid .reqTitle,#mermaid .reqLabel{fill:#131300;}#mermaid .reqLabelBox{fill:#e8e8e8;fill-opacity:100%;}#mermaid .req-title-line{stroke:hsl(240, 60%, 86.2745098039%);stroke-width:hsl(240, 60%, 86.2745098039%);}#mermaid .relationshipLine{stroke:#333333;stroke-width:1;}#mermaid .relationshipLabel{fill:black;} +/** C4 system */ +#mermaid .person{stroke:calculated;fill:calculated;} +/** Mind map */ +#mermaid .section-root.mindmap-node { fill: hsl(240, 100%, 50%); } #mermaid .section-root.mindmap-node text { fill: white; } +#mermaid .mindmap-edges .edge-depth-0 { stroke-width: 14; } +#mermaid .mindmap-edges .edge-depth-1 { stroke-width: 11; } +#mermaid .mindmap-edges .edge-depth-2 { stroke-width: 8; } +#mermaid .mindmap-edges .edge-depth-3 { stroke-width: 5; } +#mermaid .mindmap-edges .edge-depth-4 { stroke-width: 3; } +#mermaid .mindmap-edges .edge-depth-5 { stroke-width: 2; } +#mermaid .mindmap-edges .edge-depth-6 { stroke-width: 1; } +#mermaid .mindmap-edges .section-edge-0, #mermaid .mindmap-node.section-0 path { fill: hsl(60, 100%, 70%); stroke: hsl(60, 100%, 70%); } #mermaid .mindmap-node.section-0 text { fill: black; } +#mermaid .mindmap-edges .section-edge-1, #mermaid .mindmap-node.section-1 path { fill: hsl(170, 90%, 70%); stroke: hsl(170, 90%, 70%); } #mermaid .mindmap-node.section-1 text { fill: black; } +#mermaid .mindmap-edges .section-edge-2, #mermaid .mindmap-node.section-2 path { fill: hsl(280, 90%, 70%); stroke: hsl(280, 90%, 70%); } #mermaid .mindmap-node.section-2 text { fill: white; } +#mermaid .mindmap-edges .section-edge-3, #mermaid .mindmap-node.section-3 path { fill: hsl(30, 90%, 70%); stroke: hsl(30, 90%, 70%); } #mermaid .mindmap-node.section-3 text { fill: black; } +#mermaid .mindmap-edges .section-edge-4, #mermaid .mindmap-node.section-4 path { fill: hsl(140, 90%, 70%); stroke: hsl(140, 90%, 70%); } #mermaid .mindmap-node.section-4 text { fill: black; } +#mermaid .mindmap-edges .section-edge-5, #mermaid .mindmap-node.section-5 path { fill: hsl(250, 90%, 70%); stroke: hsl(250, 90%, 70%); } #mermaid .mindmap-node.section-5 text { fill: white; } +#mermaid .mindmap-edges .section-edge-6, #mermaid .mindmap-node.section-6 path { fill: hsl(0, 90%, 70%); stroke: hsl(0, 90%, 70%); } #mermaid .mindmap-node.section-6 text { fill: black; } +#mermaid .mindmap-edges .section-edge-7, #mermaid .mindmap-node.section-7 path { fill: hsl(110, 90%, 70%); stroke: hsl(110, 90%, 70%); } #mermaid .mindmap-node.section-7 text { fill: black; } +#mermaid .mindmap-edges .section-edge-8, #mermaid .mindmap-node.section-8 path { fill: hsl(220, 90%, 70%); stroke: hsl(220, 90%, 70%); } #mermaid .mindmap-node.section-8 text { fill: white; } +#mermaid .mindmap-edges .section-edge-9, #mermaid .mindmap-node.section-9 path { fill: hsl(330, 90%, 70%); stroke: hsl(330, 90%, 70%); } #mermaid .mindmap-node.section-9 text { fill: black; } +#mermaid .mindmap-edges .section-edge-10, #mermaid .mindmap-node.section-10 path { fill: hsl(80, 90%, 70%); stroke: hsl(80, 90%, 70%); } #mermaid .mindmap-node.section-10 text { fill: black; } +#mermaid .mindmap-edges .section-edge-11, #mermaid .mindmap-node.section-11 path { fill: hsl(190, 90%, 70%); stroke: hsl(190, 90%, 70%); } #mermaid .mindmap-node.section-11 text { fill: black; } +#mermaid .mindmap-edges .section-edge-12, #mermaid .mindmap-node.section-12 path { fill: hsl(300, 90%, 70%); stroke: hsl(300, 90%, 70%); } #mermaid .mindmap-node.section-12 text { fill: black; } +/** Timeline */ +#mermaid .timeline text tspan { fill: #222; } #mermaid .timeline-node path { fill: #ccc; } + +/* Dark theme */ +/** Common */ +html.theme-dark #mermaid {fill:#ccc;}html.theme-dark #mermaid .error-icon{fill:#a44141;}html.theme-dark #mermaid .error-text{fill:#ddd;stroke:#ddd;}html.theme-dark #mermaid .edge-pattern-solid{stroke-dasharray:0;}html.theme-dark #mermaid .edge-pattern-dashed{stroke-dasharray:3;}html.theme-dark #mermaid .edge-pattern-dotted{stroke-dasharray:2;}html.theme-dark #mermaid .marker{fill:lightgrey;stroke:lightgrey;}html.theme-dark #mermaid .marker.cross{stroke:lightgrey;} +/** Flowchart */ +html.theme-dark #mermaid .label{color:#ccc;}html.theme-dark #mermaid .cluster-label text{fill:#F9FFFE;}html.theme-dark #mermaid .cluster-label span{color:#F9FFFE;}html.theme-dark #mermaid .label text,html.theme-dark #mermaid span{fill:#ccc;color:#ccc;}html.theme-dark #mermaid .node rect,html.theme-dark #mermaid .node circle,html.theme-dark #mermaid .node ellipse,html.theme-dark #mermaid .node polygon,html.theme-dark #mermaid .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid .node .label{text-align:center;}html.theme-dark #mermaid .node.clickable{cursor:pointer;}html.theme-dark #mermaid .arrowheadPath{fill:lightgrey;}html.theme-dark #mermaid .edgePath .path{stroke:lightgrey;stroke-width:2.0px;}html.theme-dark #mermaid .flowchart-link{stroke:lightgrey;fill:none;}html.theme-dark #mermaid .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}html.theme-dark #mermaid .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}html.theme-dark #mermaid .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}html.theme-dark #mermaid .cluster text{fill:#F9FFFE;}html.theme-dark #mermaid .cluster span{color:#F9FFFE;}html.theme-dark #mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}html.theme-dark #mermaid :root{--mermaid-} +/** Sequence diagram */ +html.theme-dark #mermaid .actor{stroke:#81B1DB;fill:#1f2020;}html.theme-dark #mermaid text.actor>tspan{fill:lightgrey;stroke:none;}html.theme-dark #mermaid .actor-line{stroke:lightgrey;}html.theme-dark #mermaid .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:lightgrey;}html.theme-dark #mermaid .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:lightgrey;}html.theme-dark #mermaid #arrowhead path{fill:lightgrey;stroke:lightgrey;}html.theme-dark #mermaid .sequenceNumber{fill:black;}html.theme-dark #mermaid #sequencenumber{fill:lightgrey;}html.theme-dark #mermaid #crosshead path{fill:lightgrey;stroke:lightgrey;}html.theme-dark #mermaid .messageText{fill:lightgrey;stroke:none;}html.theme-dark #mermaid .labelBox{stroke:#81B1DB;fill:#1f2020;}html.theme-dark #mermaid .labelText,html.theme-dark #mermaid .labelText>tspan{fill:lightgrey;stroke:none;}html.theme-dark #mermaid .loopText,html.theme-dark #mermaid .loopText>tspan{fill:lightgrey;stroke:none;}html.theme-dark #mermaid .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:#81B1DB;fill:#81B1DB;}html.theme-dark #mermaid .note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid .noteText,html.theme-dark #mermaid .noteText>tspan{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;}html.theme-dark #mermaid .activation0{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}html.theme-dark #mermaid .activation1{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}html.theme-dark #mermaid .activation2{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:#81B1DB;}html.theme-dark #mermaid .actorPopupMenu{position:absolute;}html.theme-dark #mermaid .actorPopupMenuPanel{position:absolute;fill:#1f2020;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}html.theme-dark #mermaid .actor-man line{stroke:#81B1DB;fill:#1f2020;}html.theme-dark #mermaid .actor-man circle,html.theme-dark #mermaid line{stroke:#81B1DB;fill:#1f2020;stroke-width:2px;}html.theme-dark #mermaid :root{--mermaid-} +/** Gantt */ +html.theme-dark #mermaid .exclude-range{fill:#444;}html.theme-dark #mermaid .section{stroke:none;opacity:0.2;}html.theme-dark #mermaid .section0{fill:hsl(52.9411764706, 28.813559322%, 58.431372549%);}html.theme-dark #mermaid .section2{fill:#EAE8D9;}html.theme-dark #mermaid .section1,html.theme-dark #mermaid .section3{fill:#333;opacity:0.2;}html.theme-dark #mermaid .sectionTitle0{fill:#F9FFFE;}html.theme-dark #mermaid .sectionTitle1{fill:#F9FFFE;}html.theme-dark #mermaid .sectionTitle2{fill:#F9FFFE;}html.theme-dark #mermaid .sectionTitle3{fill:#F9FFFE;}html.theme-dark #mermaid .sectionTitle{text-anchor:start;}html.theme-dark #mermaid .grid .tick{stroke:lightgrey;opacity:0.8;shape-rendering:crispEdges;}html.theme-dark #mermaid .grid .tick text{fill:#ccc;}html.theme-dark #mermaid .grid path{stroke-width:0;}html.theme-dark #mermaid .today{fill:none;stroke:#DB5757;stroke-width:2px;}html.theme-dark #mermaid .task{stroke-width:2;}html.theme-dark #mermaid .taskText{text-anchor:middle;}html.theme-dark #mermaid .taskTextOutsideRight{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:start;}html.theme-dark #mermaid .taskTextOutsideLeft{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);text-anchor:end;}html.theme-dark #mermaid .task.clickable{cursor:pointer;}html.theme-dark #mermaid .taskText.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}html.theme-dark #mermaid .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}html.theme-dark #mermaid .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163!important;font-weight:bold;}html.theme-dark #mermaid .taskText0,html.theme-dark #mermaid .taskText1,html.theme-dark #mermaid .taskText2,html.theme-dark #mermaid .taskText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);}html.theme-dark #mermaid .task0,html.theme-dark #mermaid .task1,html.theme-dark #mermaid .task2,html.theme-dark #mermaid .task3{fill:hsl(180, 1.5873015873%, 35.3529411765%);stroke:#ffffff;}html.theme-dark #mermaid .taskTextOutside0,html.theme-dark #mermaid .taskTextOutside2{fill:lightgrey;}html.theme-dark #mermaid .taskTextOutside1,html.theme-dark #mermaid .taskTextOutside3{fill:lightgrey;}html.theme-dark #mermaid .active0,html.theme-dark #mermaid .active1,html.theme-dark #mermaid .active2,html.theme-dark #mermaid .active3{fill:#81B1DB;stroke:#ffffff;}html.theme-dark #mermaid .activeText0,html.theme-dark #mermaid .activeText1,html.theme-dark #mermaid .activeText2,html.theme-dark #mermaid .activeText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}html.theme-dark #mermaid .done0,html.theme-dark #mermaid .done1,html.theme-dark #mermaid .done2,html.theme-dark #mermaid .done3{stroke:grey;fill:lightgrey;stroke-width:2;}html.theme-dark #mermaid .doneText0,html.theme-dark #mermaid .doneText1,html.theme-dark #mermaid .doneText2,html.theme-dark #mermaid .doneText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}html.theme-dark #mermaid .crit0,html.theme-dark #mermaid .crit1,html.theme-dark #mermaid .crit2,html.theme-dark #mermaid .crit3{stroke:#E83737;fill:#E83737;stroke-width:2;}html.theme-dark #mermaid .activeCrit0,html.theme-dark #mermaid .activeCrit1,html.theme-dark #mermaid .activeCrit2,html.theme-dark #mermaid .activeCrit3{stroke:#E83737;fill:#81B1DB;stroke-width:2;}html.theme-dark #mermaid .doneCrit0,html.theme-dark #mermaid .doneCrit1,html.theme-dark #mermaid .doneCrit2,html.theme-dark #mermaid .doneCrit3{stroke:#E83737;fill:lightgrey;stroke-width:2;cursor:pointer;shape-rendering:crispEdges;}html.theme-dark #mermaid .milestone{transform:rotate(45deg) scale(0.8,0.8);}html.theme-dark #mermaid .milestoneText{font-style:italic;}html.theme-dark #mermaid .doneCritText0,html.theme-dark #mermaid .doneCritText1,html.theme-dark #mermaid .doneCritText2,html.theme-dark #mermaid .doneCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}html.theme-dark #mermaid .activeCritText0,html.theme-dark #mermaid .activeCritText1,html.theme-dark #mermaid .activeCritText2,html.theme-dark #mermaid .activeCritText3{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%)!important;}html.theme-dark #mermaid .titleText{text-anchor:middle;fill:#ccc;}html.theme-dark #mermaid :root{--mermaid-} +/** Class diagram */ +html.theme-dark #mermaid g.classGroup text{fill:#e0dfdf;stroke:none;}html.theme-dark #mermaid g.classGroup text .title{font-weight:bolder;}html.theme-dark #mermaid .nodeLabel,html.theme-dark #mermaid .edgeLabel{color:#e0dfdf;}html.theme-dark #mermaid .edgeLabel .label rect{fill:#1f2020;}html.theme-dark #mermaid .label text{fill:#e0dfdf;}html.theme-dark #mermaid .edgeLabel .label span{background:#1f2020;}html.theme-dark #mermaid .classTitle{font-weight:bolder;}html.theme-dark #mermaid .node rect,html.theme-dark #mermaid .node circle,html.theme-dark #mermaid .node ellipse,html.theme-dark #mermaid .node polygon,html.theme-dark #mermaid .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid .divider{stroke:#81B1DB;stroke:1;}html.theme-dark #mermaid g.clickable{cursor:pointer;}html.theme-dark #mermaid g.classGroup rect{fill:#1f2020;stroke:#81B1DB;}html.theme-dark #mermaid g.classGroup line{stroke:#81B1DB;stroke-width:1;}html.theme-dark #mermaid .classLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}html.theme-dark #mermaid .classLabel .label{fill:#81B1DB;}html.theme-dark #mermaid .relation{stroke:lightgrey;stroke-width:1;fill:none;}html.theme-dark #mermaid .dashed-line{stroke-dasharray:3;}html.theme-dark #mermaid #compositionStart,html.theme-dark #mermaid .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #compositionEnd,html.theme-dark #mermaid .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #dependencyStart,html.theme-dark #mermaid .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #dependencyStart,html.theme-dark #mermaid .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #extensionStart,html.theme-dark #mermaid .extension{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #extensionEnd,html.theme-dark #mermaid .extension{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #aggregationStart,html.theme-dark #mermaid .aggregation{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #aggregationEnd,html.theme-dark #mermaid .aggregation{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #lollipopStart,html.theme-dark #mermaid .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid #lollipopEnd,html.theme-dark #mermaid .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}html.theme-dark #mermaid .edgeTerminals{}html.theme-dark #mermaid :root{--mermaid-} +/** Git graph */ +html.theme-dark #mermaid .commit-id,html.theme-dark #mermaid .commit-msg,html.theme-dark #mermaid .branch-label{fill:lightgrey;color:lightgrey;}html.theme-dark #mermaid .branch-label0{fill:undefined;}html.theme-dark #mermaid .commit0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);fill:hsl(180, 1.5873015873%, 48.3529411765%);}html.theme-dark #mermaid .commit-highlight0{stroke:rgb(133.6571428571, 129.7428571428, 129.7428571428);fill:rgb(133.6571428571, 129.7428571428, 129.7428571428);}html.theme-dark #mermaid .label0{fill:hsl(180, 1.5873015873%, 48.3529411765%);}html.theme-dark #mermaid .arrow0{stroke:hsl(180, 1.5873015873%, 48.3529411765%);}html.theme-dark #mermaid .branch-label1{fill:undefined;}html.theme-dark #mermaid .commit1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}html.theme-dark #mermaid .commit-highlight1{stroke:rgb(93.5483870969, 221.4516129033, 139.677419355);fill:rgb(93.5483870969, 221.4516129033, 139.677419355);}html.theme-dark #mermaid .label1{fill:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}html.theme-dark #mermaid .arrow1{stroke:hsl(321.6393442623, 65.5913978495%, 38.2352941176%);}html.theme-dark #mermaid .branch-label2{fill:undefined;}html.theme-dark #mermaid .commit2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}html.theme-dark #mermaid .commit-highlight2{stroke:rgb(149.4437086091, 117.6092715231, 107.5562913906);fill:rgb(149.4437086091, 117.6092715231, 107.5562913906);}html.theme-dark #mermaid .label2{fill:hsl(194.4, 16.5562913907%, 49.6078431373%);}html.theme-dark #mermaid .arrow2{stroke:hsl(194.4, 16.5562913907%, 49.6078431373%);}html.theme-dark #mermaid .branch-label3{fill:undefined;}html.theme-dark #mermaid .commit3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}html.theme-dark #mermaid .commit-highlight3{stroke:rgb(99.9811320754, 162.7735849057, 202.0188679245);fill:rgb(99.9811320754, 162.7735849057, 202.0188679245);}html.theme-dark #mermaid .label3{fill:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}html.theme-dark #mermaid .arrow3{stroke:hsl(23.0769230769, 49.0566037736%, 40.7843137255%);}html.theme-dark #mermaid .branch-label4{fill:undefined;}html.theme-dark #mermaid .commit4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);fill:hsl(0, 83.3333333333%, 43.5294117647%);}html.theme-dark #mermaid .commit-highlight4{stroke:rgb(51.5000000001, 236.5, 236.5);fill:rgb(51.5000000001, 236.5, 236.5);}html.theme-dark #mermaid .label4{fill:hsl(0, 83.3333333333%, 43.5294117647%);}html.theme-dark #mermaid .arrow4{stroke:hsl(0, 83.3333333333%, 43.5294117647%);}html.theme-dark #mermaid .branch-label5{fill:undefined;}html.theme-dark #mermaid .commit5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);fill:hsl(289.1666666667, 100%, 24.1176470588%);}html.theme-dark #mermaid .commit-highlight5{stroke:rgb(154.2083333334, 255, 132.0000000001);fill:rgb(154.2083333334, 255, 132.0000000001);}html.theme-dark #mermaid .label5{fill:hsl(289.1666666667, 100%, 24.1176470588%);}html.theme-dark #mermaid .arrow5{stroke:hsl(289.1666666667, 100%, 24.1176470588%);}html.theme-dark #mermaid .branch-label6{fill:undefined;}html.theme-dark #mermaid .commit6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}html.theme-dark #mermaid .commit-highlight6{stroke:rgb(51.331168831, 135.1948051946, 253.6688311688);fill:rgb(51.331168831, 135.1948051946, 253.6688311688);}html.theme-dark #mermaid .label6{fill:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}html.theme-dark #mermaid .arrow6{stroke:hsl(35.1315789474, 98.7012987013%, 40.1960784314%);}html.theme-dark #mermaid .branch-label7{fill:undefined;}html.theme-dark #mermaid .commit7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}html.theme-dark #mermaid .commit-highlight7{stroke:rgb(206.1818181817, 89.948051948, 241.051948052);fill:rgb(206.1818181817, 89.948051948, 241.051948052);}html.theme-dark #mermaid .label7{fill:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}html.theme-dark #mermaid .arrow7{stroke:hsl(106.1538461538, 84.4155844156%, 35.0980392157%);}html.theme-dark #mermaid .branch{stroke-width:1;stroke:lightgrey;stroke-dasharray:2;}html.theme-dark #mermaid .commit-label{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}html.theme-dark #mermaid .commit-label-bkg{fill:hsl(180, 1.5873015873%, 28.3529411765%);opacity:0.5;}html.theme-dark #mermaid .tag-label{fill:#e0dfdf;}html.theme-dark #mermaid .tag-label-bkg{fill:#1f2020;stroke:#cccccc;}html.theme-dark #mermaid .tag-hole{fill:#ccc;}html.theme-dark #mermaid .commit-merge{stroke:#1f2020;fill:#1f2020;}html.theme-dark #mermaid .commit-reverse{stroke:#1f2020;fill:#1f2020;stroke-width:3;}html.theme-dark #mermaid .commit-highlight-inner{stroke:#1f2020;fill:#1f2020;}html.theme-dark #mermaid .arrow{stroke-width:8;stroke-linecap:round;fill:none;}:root{--mermaid-} +/** Entity relationship */ +html.theme-dark #mermaid .entityBox{fill:#1f2020;stroke:#81B1DB;}html.theme-dark #mermaid .attributeBoxOdd{fill:hsl(0, 0%, 32%);stroke:#81B1DB;}html.theme-dark #mermaid .attributeBoxEven{fill:hsl(0, 0%, 22%);stroke:#81B1DB;}html.theme-dark #mermaid .relationshipLabelBox{fill:hsl(20, 1.5873015873%, 12.3529411765%);opacity:0.7;background-color:hsl(20, 1.5873015873%, 12.3529411765%);}html.theme-dark #mermaid .relationshipLabelBox rect{opacity:0.5;}html.theme-dark #mermaid .relationshipLine{stroke:lightgrey;}html.theme-dark #mermaid :root{--mermaid-} +/** Journey */ +html.theme-dark #mermaid .label{color:#ccc;}html.theme-dark #mermaid .mouth{stroke:#666;}html.theme-dark #mermaid line{stroke:#ccc;}html.theme-dark #mermaid .legend{fill:#ccc;}html.theme-dark #mermaid .label text{fill:#333;}html.theme-dark #mermaid .label{color:#ccc;}html.theme-dark #mermaid .face{fill:#FFF8DC;stroke:#999;}html.theme-dark #mermaid .node rect,html.theme-dark #mermaid .node circle,html.theme-dark #mermaid .node ellipse,html.theme-dark #mermaid .node polygon,html.theme-dark #mermaid .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid .node .label{text-align:center;}html.theme-dark #mermaid .node.clickable{cursor:pointer;}html.theme-dark #mermaid .arrowheadPath{fill:lightgrey;}html.theme-dark #mermaid .edgePath .path{stroke:lightgrey;stroke-width:1.5px;}html.theme-dark #mermaid .flowchart-link{stroke:lightgrey;fill:none;}html.theme-dark #mermaid .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}html.theme-dark #mermaid .edgeLabel rect{opacity:0.5;}html.theme-dark #mermaid .cluster text{fill:#F9FFFE;}html.theme-dark #mermaid div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}html.theme-dark #mermaid .task-type-0,html.theme-dark #mermaid .section-type-0{fill:#1f2020;}html.theme-dark #mermaid .task-type-1,html.theme-dark #mermaid .section-type-1{fill:hsl(180, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid .task-type-2,html.theme-dark #mermaid .section-type-2{fill:hsl(244, 1.5873015873%, 12.3529411765%);}html.theme-dark #mermaid .task-type-3,html.theme-dark #mermaid .section-type-3{fill:hsl(244, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid .task-type-4,html.theme-dark #mermaid .section-type-4{fill:hsl(116, 1.5873015873%, 12.3529411765%);}html.theme-dark #mermaid .task-type-5,html.theme-dark #mermaid .section-type-5{fill:hsl(116, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid .task-type-6,html.theme-dark #mermaid .section-type-6{fill:hsl(308, 1.5873015873%, 12.3529411765%);}html.theme-dark #mermaid .task-type-7,html.theme-dark #mermaid .section-type-7{fill:hsl(308, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid :root{--mermaid-} +/** State diagram */ +html.theme-dark #mermaid defs #statediagram-barbEnd{fill:lightgrey;stroke:lightgrey;}html.theme-dark #mermaid g.stateGroup text{fill:#81B1DB;stroke:none;}html.theme-dark #mermaid g.stateGroup text{fill:#ccc;stroke:none;}html.theme-dark #mermaid g.stateGroup .state-title{font-weight:bolder;fill:#e0dfdf;}html.theme-dark #mermaid g.stateGroup rect{fill:#1f2020;stroke:#81B1DB;}html.theme-dark #mermaid g.stateGroup line{stroke:lightgrey;stroke-width:1;}html.theme-dark #mermaid .transition{stroke:lightgrey;stroke-width:1;fill:none;}html.theme-dark #mermaid .stateGroup .composit{fill:#333;border-bottom:1px;}html.theme-dark #mermaid .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px;}html.theme-dark #mermaid .state-note{stroke:hsl(180, 0%, 18.3529411765%);fill:hsl(180, 1.5873015873%, 28.3529411765%);}html.theme-dark #mermaid .state-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);stroke:none;}html.theme-dark #mermaid .stateLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}html.theme-dark #mermaid .edgeLabel .label rect{fill:#1f2020;opacity:0.5;}html.theme-dark #mermaid .edgeLabel .label text{fill:#ccc;}html.theme-dark #mermaid .label div .edgeLabel{color:#ccc;}html.theme-dark #mermaid .stateLabel text{fill:#e0dfdf;font-weight:bold;}html.theme-dark #mermaid .node circle.state-start{fill:#f4f4f4;stroke:#f4f4f4;}html.theme-dark #mermaid .node .fork-join{fill:#f4f4f4;stroke:#f4f4f4;}html.theme-dark #mermaid .node circle.state-end{fill:#cccccc;stroke:#333;stroke-width:1.5;}html.theme-dark #mermaid .end-state-inner{fill:#333;stroke-width:1.5;}html.theme-dark #mermaid .node rect{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid .node polygon{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid #statediagram-barbEnd{fill:lightgrey;}html.theme-dark #mermaid .statediagram-cluster rect{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}html.theme-dark #mermaid .cluster-label,html.theme-dark #mermaid .nodeLabel{color:#e0dfdf;}html.theme-dark #mermaid .statediagram-cluster rect.outer{rx:5px;ry:5px;}html.theme-dark #mermaid .statediagram-state .divider{stroke:#81B1DB;}html.theme-dark #mermaid .statediagram-state .title-state{rx:5px;ry:5px;}html.theme-dark #mermaid .statediagram-cluster.statediagram-cluster .inner{fill:#333;}html.theme-dark #mermaid .statediagram-cluster.statediagram-cluster-alt .inner{fill:#555;}html.theme-dark #mermaid .statediagram-cluster .inner{rx:0;ry:0;}html.theme-dark #mermaid .statediagram-state rect.basic{rx:5px;ry:5px;}html.theme-dark #mermaid .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#555;}html.theme-dark #mermaid .note-edge{stroke-dasharray:5;}html.theme-dark #mermaid .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}html.theme-dark #mermaid .statediagram-note rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:hsl(180, 0%, 18.3529411765%);stroke-width:1px;rx:0;ry:0;}html.theme-dark #mermaid .statediagram-note text{fill:rgb(183.8476190475, 181.5523809523, 181.5523809523);}html.theme-dark #mermaid .statediagram-note .nodeLabel{color:rgb(183.8476190475, 181.5523809523, 181.5523809523);}html.theme-dark #mermaid .statediagram .edgeLabel{color:red;}html.theme-dark #mermaid #dependencyStart,html.theme-dark #mermaid #dependencyEnd{fill:lightgrey;stroke:lightgrey;stroke-width:1;}html.theme-dark #mermaid :root{--mermaid-} +/** Pie chart */ +html.theme-dark #mermaid .pieCircle{filter: brightness(0.7);} html.theme-dark #mermaid[aria-roledescription=pie] .legend rect { filter: brightness(0.7); } html.theme-dark #mermaid .pieTitleText{text-anchor:middle;fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);}html.theme-dark #mermaid .slice{fill:#222;}html.theme-dark #mermaid .legend text{fill:hsl(28.5714285714, 17.3553719008%, 86.2745098039%);}html.theme-dark #mermaid :root{--mermaid-} +/** Requirements */ +html.theme-dark #mermaid marker{fill:lightgrey;stroke:lightgrey;}html.theme-dark #mermaid marker.cross{stroke:lightgrey;}html.theme-dark #mermaid svg{}html.theme-dark #mermaid .reqBox{fill:#1f2020;fill-opacity:100%;stroke:#cccccc;stroke-width:#cccccc;}html.theme-dark #mermaid .reqTitle,html.theme-dark #mermaid .reqLabel{fill:#e0dfdf;}html.theme-dark #mermaid .reqLabelBox{fill:hsl(180, 1.5873015873%, 28.3529411765%);fill-opacity:100%;}html.theme-dark #mermaid .req-title-line{stroke:#cccccc;stroke-width:#cccccc;}html.theme-dark #mermaid .relationshipLine{stroke:lightgrey;stroke-width:1;}html.theme-dark #mermaid .relationshipLabel{fill:lightgrey;}html.theme-dark #mermaid :root{--mermaid-} +/** C4 system */ +html.theme-dark #mermaid .person{stroke:calculated;fill:calculated;} html.theme-dark #mermaid[aria-roledescription=c4] rect {stroke: #ddd;} html.theme-dark #mermaid[aria-roledescription=c4] text {fill:#eee;} +/** Mind map */ +html.theme-dark #mermaid .section-root.mindmap-node { fill: #ccc; } html.theme-dark #mermaid .section-root.mindmap-node text { fill: black; } +html.theme-dark #mermaid .mindmap-edges path, html.theme-dark #mermaid .mindmap-node { filter: hue-rotate(180deg) invert(0.9); } +/** Timeline */ +html.theme-dark #mermaid .timeline text tspan { fill: #eee; } html.theme-dark #mermaid .timeline-node path { fill: #222; } diff --git a/docs/overview.html b/docs/overview.html new file mode 100644 index 00000000..959ec732 --- /dev/null +++ b/docs/overview.html @@ -0,0 +1 @@ + Overview | Documentation

Documentation 0.0.4 Help

Overview

Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

Get started here

Other Projects

FRDC-UI

The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

Last modified: 23 October 2023
\ No newline at end of file From e15858340cd7b5b98009c44b77e88b3820b62fd3 Mon Sep 17 00:00:00 2001 From: Eve-ning Date: Mon, 23 Oct 2023 14:23:42 +0800 Subject: [PATCH 06/28] Update instructions for Google Cloud setup Added instructions for Google Cloud authentication and setting up Application Default Credentials (ADC) in the 'Getting-Started' documentation. Replaced 'gsutil ls' command with a step to run tests to verify the setup. This change provides more comprehensive and clear instructions for users on how to setup Google Cloud. --- Writerside/topics/Getting-Started.md | 17 +++++++++++------ docs/getting-started.html | 20 +++++++++----------- docs/overview.html | 2 +- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/Writerside/topics/Getting-Started.md b/Writerside/topics/Getting-Started.md index d246b5d8..7615174d 100644 --- a/Writerside/topics/Getting-Started.md +++ b/Writerside/topics/Getting-Started.md @@ -68,16 +68,21 @@ - Then, you need to + Then, authenticate your account . + gcloud auth login - To make sure everything is working, run the following command: - - gsutil ls - + Finally, + + set up Application Default Credentials (ADC) + . + gcloud auth application-default login + + + To make sure everything is working, run the tests. @@ -93,7 +98,7 @@ - + Run the tests to make sure everything is working diff --git a/docs/getting-started.html b/docs/getting-started.html index 98e067b9..2d8d1e29 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -1,22 +1,20 @@ - Getting Started | Documentation

Documentation 0.0.4 Help

Getting Started

Installing the Dev. Environment

  1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

    + Getting Started | Documentation

    Documentation 0.0.4 Help

    Getting Started

    Installing the Dev. Environment

    1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

      [tool.poetry.dependencies] python = "..." -
    2. Start by cloning our repository.

      +
    3. Start by cloning our repository.

      git clone https://github.com/Forest-Recovery-Digital-Companion/FRDC-ML.git -
    4. Then, create a Python Virtual Env pyvenv

      python -m venv venv/
      python3 -m venv venv/
    5. Install Poetry Then check if it's installed with

      poetry --version
    6. Activate the virtual environment

      +
    7. Then, create a Python Virtual Env pyvenv

      python -m venv venv/
      python3 -m venv venv/
    8. Install Poetry Then check if it's installed with

      poetry --version
    9. Activate the virtual environment

      cd venv/Scripts activate cd ../.. -
      +
      source venv/bin/activate -
    10. Install the dependencies. You should be in the same directory as pyproject.toml

      +
  2. Install the dependencies. You should be in the same directory as pyproject.toml

    poetry install --with dev -
  3. Install Pre-Commit Hooks

    +
  4. Install Pre-Commit Hooks

    pre-commit install -

Setting Up Google Cloud

  1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

  2. Then, you need to authenticate your account.

  3. To make sure everything is working, run the following command:

    - gsutil ls -

Pre-commit Hooks

  • +

Setting Up Google Cloud

  1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

  2. Then, authenticate your account.

    gcloud auth login
  3. Finally, set up Application Default Credentials (ADC).

    gcloud auth application-default login
  4. To make sure everything is working, run the tests.

Pre-commit Hooks

  • pre-commit install -

Running the Tests

  1. Run the tests to make sure everything is working

    +

Running the Tests

  1. Run the tests to make sure everything is working

    pytest -
  2. In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

Our Repository Structure

Before starting development, take a look at our repository structure. This will help you understand where to put your code.

Core Dependencies
Resources
Pipeline
Tests
Repo Dependencies
Dataset Loaders
Preprocessing Fn.
Train Deps
Model Architectures
Datasets ...
Model Training Pipeline
FRDC
src/frdc/
rsc/
pipeline/
tests/
pyproject.toml,poetry.lock
./load/
./preprocess/
./train/
./models/
./dataset_name/
./model_tests/
src/frdc/

Source Code for our package. These are the unit components of our pipeline.

rsc/

Resources. These are usually cached datasets

pipeline/

Pipeline code. These are the full ML tests of our pipeline.

tests/

PyTest tests. These are unit tests & integration tests.

Unit, Integration, and Pipeline Tests

We have 3 types of tests:

  • Unit Tests are usually small, single function tests.

  • Integration Tests are larger tests that tests a mock pipeline.

  • Pipeline Tests are the true production pipeline tests that will generate a model.

Where Should I contribute?

Changing a small component

If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

Adding a test

By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

Changing the pipeline

If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

Adding a dependency

If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

Last modified: 23 October 2023
\ No newline at end of file +
  • In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

  • Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 23 October 2023
    \ No newline at end of file diff --git a/docs/overview.html b/docs/overview.html index 959ec732..aa465425 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -1 +1 @@ - Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 23 October 2023
    \ No newline at end of file + Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 23 October 2023
    \ No newline at end of file From df9c46cbc5f8f8b77e3901b2d6e7a02cbe6cd34e Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 16:11:41 +0800 Subject: [PATCH 07/28] Add Datasets Doc --- Writerside/d.tree | 1 + Writerside/topics/Dataset.md | 154 +++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+) create mode 100644 Writerside/topics/Dataset.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 72afc82a..83c05651 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -8,4 +8,5 @@ + \ No newline at end of file diff --git a/Writerside/topics/Dataset.md b/Writerside/topics/Dataset.md new file mode 100644 index 00000000..8a3623e6 --- /dev/null +++ b/Writerside/topics/Dataset.md @@ -0,0 +1,154 @@ +# Dataset + +> You need to Set-Up [Google Cloud](Getting-Started.md#gcloud) with the +> appropriate permissions to use this library. +> {style='warning'} + + +Load datasets from our GCS bucket. + + +## Classes + + + +This facilitates authentication and downloading from GCS. + + +This uses the Downloader to download and load the dataset. +It also implements useful helper functions to load FRDC-specific datasets, +such as loading our images and labels. + + + +## Usage + +An example loading our Chestnut Nature Park dataset. We retrieve the + +- hyperspectral bands +- order of the bands +- bounding boxes +- labels + +```python +from frdc.load import FRDCDataset + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +``` + +### Custom Authentication & Downloads {collapsible="true"} + +If you need granular control over + +- where the files are downloaded +- the credentials used +- the project used +- the bucket used + +Then pass in a `FRDCDownloader` object to `FRDCDataset`. + +```python +from frdc.load import FRDCDownloader, FRDCDataset + +dl = FRDCDownloader(credentials=..., + local_dataset_root_dir=..., + project_id=..., + bucket_name=...) +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, + dl=dl) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +``` + +If you have a file not easily downloadable by `FRDCDataset`, you can use +`FRDCDownloader` to download it. + +```python +from frdc.load import FRDCDownloader + +dl = FRDCDownloader(credentials=..., + local_dataset_root_dir=..., + project_id=..., + bucket_name=...) + +dl.download_file(path_glob="path/to/gcs/file") +``` + +This will automatically save the file to the local dataset root dir. + +## API + +### FRDCDataset + + + +Initializes the dataset downloader.
    +This doesn't immediately download the dataset, but only when you call the +get_* functions.
    +The site, date, version must match the dataset path on GCS. For example +if the dataset is at +gs://frdc-scan/my-site/date/90deg/map, + +
  • site: 'my-site'
  • +
  • date: '20201218'
  • +
  • version: '90deg/map'
  • +
    + +If you don't want to search up GCS, you can use FRDCDownloader to list all +datasets, and their versions with +FRDCDownloader().list_gcs_datasets() + + +If dl is None, it will create a new FRDCDownloader. Usually, +you don't need to pass this in unless you have a custom credential, or project. + +
    + +Gets the NDArray bands (H x W x C) and channel order as +tuple[np.ndarray, list[str]].
    +This downloads (if missing) and retrieves the stacked NDArray bands. +This wraps around get_ar_bands_as_dict(), thus if you want more +control over how the bands are loaded, use that instead. +
    + +Gets the NDArray bands (H x W) as a dict[str, np.ndarray].
    +This downloads (if missing) and retrieves the individual NDArray bands as a +dictionary. The keys are the band names, and the values are the NDArray bands. +
    + +Gets the bounding boxes and labels as +tuple[list[Rect], list[str]].
    +This downloads (if missing) and retrieves the bounding boxes and labels as a +tuple. The first element is a list of bounding boxes, and the second element +is a list of labels.
    +The bounding boxes are in the format of Rect, a +namedtuple of x0, y0, x1, y1. +
    +
    + +### FRDCDownloader + + + +Lists all GCS datasets in the bucket as a DataFrame.
    +This works by checking which folders have a specific file, which we call the +anchor. +
    + +Downloads a file from GCS.
    +This takes in a path glob, a string containing wildcards, and downloads exactly +1 file. If it matches 0 or more than 1 file, it will raise an error.
    +If local_exists_ok is True, it will not download the file if it +already exists locally. However, if it's False, it will download the file +only if the hashes don't match. + +Use this if you have a file on GCS that can't be downloaded via +FRDCDataset. +
    +
    \ No newline at end of file From 0a832e0b06e80b8cb602471f18c0413a1d04bbbf Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 16:26:47 +0800 Subject: [PATCH 08/28] Update dataset topic naming --- Writerside/topics/Dataset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Writerside/topics/Dataset.md b/Writerside/topics/Dataset.md index 8a3623e6..e4019c64 100644 --- a/Writerside/topics/Dataset.md +++ b/Writerside/topics/Dataset.md @@ -1,4 +1,4 @@ -# Dataset +# load.dataset > You need to Set-Up [Google Cloud](Getting-Started.md#gcloud) with the > appropriate permissions to use this library. From 36c497fa1694e6a30da8da79100b53363e46ae09 Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 16:26:58 +0800 Subject: [PATCH 09/28] Update load.dataset.md --- Writerside/topics/{Dataset.md => load.dataset.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Writerside/topics/{Dataset.md => load.dataset.md} (100%) diff --git a/Writerside/topics/Dataset.md b/Writerside/topics/load.dataset.md similarity index 100% rename from Writerside/topics/Dataset.md rename to Writerside/topics/load.dataset.md From 35290a6f745737cddcc9f784419c45fb4fc5af4e Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 16:27:02 +0800 Subject: [PATCH 10/28] Add scale doc --- Writerside/d.tree | 10 ++-- Writerside/topics/preprocessing.scale.md | 70 ++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 Writerside/topics/preprocessing.scale.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 83c05651..0f485d96 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -1,12 +1,14 @@ + SYSTEM + "https://resources.jetbrains.com/writerside/1.0/product-profile.dtd"> + name="Documentation" + start-page="Overview.md"> - + + \ No newline at end of file diff --git a/Writerside/topics/preprocessing.scale.md b/Writerside/topics/preprocessing.scale.md new file mode 100644 index 00000000..02222bcf --- /dev/null +++ b/Writerside/topics/preprocessing.scale.md @@ -0,0 +1,70 @@ +# preprocessing.scale + + +Scales the NDArray bands. + + +## Functions + + +Scale assumes H x W x C, where C is the number of bands. + + + + +Scales the NDArray bands to [0, 1] per band.
    +
    + +Scales the NDArray bands to zero mean unit variance per band.
    +
    + +Scales the NDArray bands by a predefined configuration.
    +
    +
    + +## Usage + +```python +from frdc.load import FRDCDataset +from frdc.preprocess.scale import ( + scale_0_1_per_band, scale_normal_per_band, scale_static_per_band +) +from frdc.conf import BAND_MAX_CONFIG + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +ar_01 = scale_0_1_per_band(ar) +ar_norm = scale_normal_per_band(ar) +ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) +``` + +> The static scaling has a default config infers the max bit depth from the +> capturing device. + +## API + + + +Scales the NDArray bands to [0, 1] per band.
    + +(x - \min(x)) / (\max(x) - \min(x)) + +
    + +Scales the NDArray bands to zero mean unit variance per band.
    + +(x - \mu) / \sigma + +
    + +Scales the NDArray bands by a predefined configuration.
    +The config is of dict[str, tuple[int, int]] where +the key is the band name, and the value is a tuple of (min, max). +Take a look at frdc.conf.BAND_MAX_CONFIG for an example. + +(x - c_0) / (c_1 - c_0) + +
    +
    \ No newline at end of file From e90cc3e81c959cda48419975ebfc9e5b92efd584 Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 17:55:58 +0800 Subject: [PATCH 11/28] Format dataframe to code --- Writerside/topics/load.dataset.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Writerside/topics/load.dataset.md b/Writerside/topics/load.dataset.md index e4019c64..b319848c 100644 --- a/Writerside/topics/load.dataset.md +++ b/Writerside/topics/load.dataset.md @@ -136,7 +136,7 @@ is a list of labels.
    -Lists all GCS datasets in the bucket as a DataFrame.
    +Lists all GCS datasets in the bucket as DataFrame
    This works by checking which folders have a specific file, which we call the anchor.
    From a383a9d3116f9b22650ebe65a2e1b8f5c9452d5b Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 17:56:08 +0800 Subject: [PATCH 12/28] Remove unnecessary brs --- Writerside/topics/preprocessing.scale.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Writerside/topics/preprocessing.scale.md b/Writerside/topics/preprocessing.scale.md index 02222bcf..1b543942 100644 --- a/Writerside/topics/preprocessing.scale.md +++ b/Writerside/topics/preprocessing.scale.md @@ -12,13 +12,13 @@ Scale assumes H x W x C, where C is the number of bands. -Scales the NDArray bands to [0, 1] per band.
    +Scales the NDArray bands to [0, 1] per band.
    -Scales the NDArray bands to zero mean unit variance per band.
    +Scales the NDArray bands to zero mean unit variance per band.
    -Scales the NDArray bands by a predefined configuration.
    +Scales the NDArray bands by a predefined configuration.
    From 27a11120927f4114c27614a9fbf9e7856118e868 Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 17:56:20 +0800 Subject: [PATCH 13/28] Add morphology topic --- Writerside/topics/preprocessing.morphology.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Writerside/topics/preprocessing.morphology.md diff --git a/Writerside/topics/preprocessing.morphology.md b/Writerside/topics/preprocessing.morphology.md new file mode 100644 index 00000000..bc97456b --- /dev/null +++ b/Writerside/topics/preprocessing.morphology.md @@ -0,0 +1,66 @@ +# preprocessing.morphology + + +Performs morphological operations on the NDArray bands. + + +> This is currently only used for auto-segmentation. If you want to use +> predefined segmentation see +> [preprocessing.extract_segments](preprocessing.extract_segments.md). + +## Functions + + +Scale assumes H x W x C, where C is the number of bands. + + + + +Thresholds a selected NDArray bands to yield a binary mask. + + +Performs watershed on a binary mask to yield a mapped label +classification + + + +## Usage + +Perform auto-segmentation on a dataset to yield a label classification. + +```python +from frdc.load import FRDCDataset +from frdc.preprocess.morphology import ( + threshold_binary_mask, binary_watershed +) + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +mask = threshold_binary_mask(ar, order.index('NIR'), 90 / 256) +ar_label = binary_watershed(mask) +``` + +## API + + + +Thresholds a selected NDArray bands to yield a binary mask as +np.ndarray
    +This is equivalent to + +ar[..., band_idx] > threshold_value + +
    + +Performs watershed on a binary mask to yield a mapped label +classification as a np.ndarray
    + +
  • peaks_footprint is the footprint of +skimage.feature.peak_local_max
  • +
  • watershed_compactness is the compactness of +skimage.morphology.watershed
  • +
    +
    +
    \ No newline at end of file From 04befb0e1520c963cd79d56b306d2845ddc75bde Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 17:56:26 +0800 Subject: [PATCH 14/28] Add extract segments topic --- Writerside/d.tree | 2 + .../topics/preprocessing.extract_segments.md | 203 ++++++++++++++++++ 2 files changed, 205 insertions(+) create mode 100644 Writerside/topics/preprocessing.extract_segments.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 0f485d96..3b1d2149 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -11,4 +11,6 @@ + + \ No newline at end of file diff --git a/Writerside/topics/preprocessing.extract_segments.md b/Writerside/topics/preprocessing.extract_segments.md new file mode 100644 index 00000000..fee4d656 --- /dev/null +++ b/Writerside/topics/preprocessing.extract_segments.md @@ -0,0 +1,203 @@ +# preprocessing.extract_segments + + +Extracts segments from a label classification or bounds and labels. + + +## Functions + + + +Extracts segments from a label classification. + + +Extracts segments from Rect bounds. + + +Removes small segments from a label classification. + + + +### Extract with Boundaries + +A boundary is a `Rect` object that represents the minimum bounding box of a +segment, with x0, y0, x1, y1 coordinates. + +It simply slices the original image to the bounding box. The origin is +the top left corner of the image. + + + + ++-----------------+ +-----------+ +| Original | | Segmented | +| Image | | Image | ++-----+-----+-----+ +-----+-----+ +| 1 | 2 | 3 | | 2 | 3 | ++-----+-----+-----+ +-----+-----+ +| 4 | 5 | 6 | -----------> | 5 | 6 | ++-----+-----+-----+ 1, 2, 0, 2 +-----+-----+ +| 7 | 8 | 9 | x0 y0 x1 y1 | 8 | 9 | ++-----+-----+-----+ +-----+-----+ + + + + ++-----------------+ +-----------------+ +| Original | | Segmented | +| Image | | Image | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 3 | | 0 | 2 | 3 | ++-----+-----+-----+ +-----+-----+-----+ +| 4 | 5 | 6 | -----------> | 0 | 5 | 6 | ++-----+-----+-----+ 1, 2, 0, 2 +-----+-----+-----+ +| 7 | 8 | 9 | x0 y0 x1 y1 | 0 | 8 | 9 | ++-----+-----+-----+ +-----+-----+-----+ + + + + + +The shape of an NDArray is usually H x W x C. Thus, if you're manually slicing +with the bounds, make sure that you're slicing the correct axis. + +The correct syntax should be ar[y0:y1,x0:x1]. + + +### Extract with Labels {collapsible="true"} + +A label classification is a `np.ndarray` where each pixel is mapped to a +segment. The segments are mapped to a unique integer. +In our project, the 0th label is the background. + +For example, a label classification of 3 segments will look like this: + +``` ++-----------------+ +-----------------+ +| Label | | Original | +| Classification | | Image | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 0 | | 1 | 2 | 3 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 2 | | 4 | 5 | 6 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 1 | 0 | | 7 | 8 | 9 | ++-----+-----+-----+ +-----+-----+-----+ +``` + +The extraction will take the **minimum bounding box** of each segment and +return a list of segments. + +For example, the label 1 and 2 extracted images will be + + + + ++-----------+ +-----------+ +| Extracted | | Extracted | +| Segment 1 | | Segment 2 | ++-----+-----+ +-----+-----+ +| 1 | 0 | | 2 | 0 | ++-----+-----+ +-----+-----+ +| 4 | 0 | | 5 | 6 | ++-----+-----+ +-----+-----+ +| 7 | 8 | ++-----+-----+ + + + + ++-----------------+ +-----------------+ +| Extracted | | Extracted | +| Segment 1 | | Segment 2 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 0 | 0 | | 0 | 2 | 0 | ++-----+-----+-----+ +-----+-----+-----+ +| 4 | 0 | 0 | | 0 | 5 | 6 | ++-----+-----+-----+ +-----+-----+-----+ +| 7 | 8 | 0 | | 0 | 0 | 0 | ++-----+-----+-----+ +-----+-----+-----+ + + + + +## Usage + +- If **cropped is False**, the segments are padded with 0s to the + original image size. While this can ensure shape consistency, it can consume + more memory for large images. +- If **cropped is True**, the segments are cropped to the minimum bounding box. + This can save memory, but the shape of the segments will be inconsistent. + +### Extract from Bounds and Labels + +Extract segments from bounds and labels. + +```python +import numpy as np +from frdc.load import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() + +segments: list[np.ndarray] = extract_segments_from_bounds(ar, bounds) +``` + +### Extract from Auto-Segmentation {collapsible="true"} + +Extract segments from a label classification. + +```python +from skimage.morphology import remove_small_objects, remove_small_holes +import numpy as np + +from frdc.load import FRDCDataset +from frdc.preprocess.morphology import ( + threshold_binary_mask, binary_watershed +) +from frdc.preprocess.scale import scale_0_1_per_band +from frdc.preprocess.extract_segments import ( + extract_segments_from_labels, remove_small_segments_from_labels +) + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +ar = scale_0_1_per_band(ar) +ar_mask = threshold_binary_mask(ar, -1, 90 / 256) +ar_mask = remove_small_objects(ar_mask, min_size=100, connectivity=2) +ar_mask = remove_small_holes(ar_mask, area_threshold=100, connectivity=2) +ar_labels = binary_watershed(ar_mask) +ar_labels = remove_small_segments_from_labels(ar_labels, + min_height=10, min_width=10) + +segments: list[np.ndarray] = extract_segments_from_labels(ar, ar_labels) +``` + +> The `remove_small_objects` and `remove_small_holes` are used to remove +> small noise from the binary mask. This is recommended and used in the +> original paper. +> {style='note'} + +## API + + + +Extracts segments from a label classification.
    +ar_labels is a label classification as a np.ndarray +
    + +Extracts segments from Rect bounds.
    +bounds is a list of Rect bounds. +
    + +Removes small segments from a label classification.
    + +
    + +
    \ No newline at end of file From 5c1be99552f9a664d21db7a0d4d4e3f6bb09ab25 Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 17:57:49 +0800 Subject: [PATCH 15/28] Bump docs --- Writerside/d.tree | 5 +- docs/HelpTOC.json | 2 +- docs/Map.jhm | 2 +- docs/getting-started.html | 18 ++--- docs/load-dataset.html | 31 ++++++++ docs/overview.html | 2 +- docs/preprocessing-extract-segments.html | 94 +++++++++++++++++++++++ docs/preprocessing-morphology.html | 15 ++++ docs/preprocessing-scale.html | 15 ++++ webHelpD2-all.zip | Bin 0 -> 33679 bytes 10 files changed, 170 insertions(+), 14 deletions(-) create mode 100644 docs/load-dataset.html create mode 100644 docs/preprocessing-extract-segments.html create mode 100644 docs/preprocessing-morphology.html create mode 100644 docs/preprocessing-scale.html create mode 100644 webHelpD2-all.zip diff --git a/Writerside/d.tree b/Writerside/d.tree index 3b1d2149..711500b2 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -10,7 +10,8 @@ - - + + + \ No newline at end of file diff --git a/docs/HelpTOC.json b/docs/HelpTOC.json index cf714597..5564d1c0 100644 --- a/docs/HelpTOC.json +++ b/docs/HelpTOC.json @@ -1 +1 @@ -{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1}}},"topLevelIds":["Overview","Getting-Started"]} \ No newline at end of file +{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1},"load.dataset":{"id":"load.dataset","title":"load.dataset","url":"load-dataset.html","level":0,"tabIndex":2},"preprocessing.scale":{"id":"preprocessing.scale","title":"preprocessing.scale","url":"preprocessing-scale.html","level":0,"tabIndex":3},"preprocessing.extract_segments":{"id":"preprocessing.extract_segments","title":"preprocessing.extract_segments","url":"preprocessing-extract-segments.html","level":0,"tabIndex":4},"preprocessing.morphology":{"id":"preprocessing.morphology","title":"preprocessing.morphology","url":"preprocessing-morphology.html","level":0,"tabIndex":5}}},"topLevelIds":["Overview","Getting-Started","load.dataset","preprocessing.scale","preprocessing.extract_segments","preprocessing.morphology"]} \ No newline at end of file diff --git a/docs/Map.jhm b/docs/Map.jhm index a0b29f95..d5ac1aa1 100644 --- a/docs/Map.jhm +++ b/docs/Map.jhm @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html index 2d8d1e29..f1aaf4b0 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -1,20 +1,20 @@ - Getting Started | Documentation

    Documentation 0.0.4 Help

    Getting Started

    Installing the Dev. Environment

    1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

      + Getting Started | Documentation

      Documentation 0.0.4 Help

      Getting Started

      Installing the Dev. Environment

      1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

        [tool.poetry.dependencies] python = "..." -
      2. Start by cloning our repository.

        +
      3. Start by cloning our repository.

        git clone https://github.com/Forest-Recovery-Digital-Companion/FRDC-ML.git -
      4. Then, create a Python Virtual Env pyvenv

        python -m venv venv/
        python3 -m venv venv/
      5. Install Poetry Then check if it's installed with

        poetry --version
      6. Activate the virtual environment

        +
      7. Then, create a Python Virtual Env pyvenv

        python -m venv venv/
        python3 -m venv venv/
      8. Install Poetry Then check if it's installed with

        poetry --version
      9. Activate the virtual environment

        cd venv/Scripts activate cd ../.. -
        +
        source venv/bin/activate -
      10. Install the dependencies. You should be in the same directory as pyproject.toml

        +
    2. Install the dependencies. You should be in the same directory as pyproject.toml

      poetry install --with dev -
    3. Install Pre-Commit Hooks

      +
    4. Install Pre-Commit Hooks

      pre-commit install -

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • +

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • pre-commit install -

    Running the Tests

    1. Run the tests to make sure everything is working

      +

    Running the Tests

    1. Run the tests to make sure everything is working

      pytest -
    2. In case of errors:

      google.auth.exceptions.DefaultCredentialsError

      If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

      ModuleNotFoundError

      If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

    Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 23 October 2023
    \ No newline at end of file +
  • In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

  • Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/load-dataset.html b/docs/load-dataset.html new file mode 100644 index 00000000..bf3dc731 --- /dev/null +++ b/docs/load-dataset.html @@ -0,0 +1,31 @@ + load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    +from frdc.load import FRDCDataset + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    +from frdc.load import FRDCDownloader, FRDCDataset + +dl = FRDCDownloader(credentials=..., + local_dataset_root_dir=..., + project_id=..., + bucket_name=...) +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, + dl=dl) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    +from frdc.load import FRDCDownloader + +dl = FRDCDownloader(credentials=..., + local_dataset_root_dir=..., + project_id=..., + bucket_name=...) + +dl.download_file(path_glob="path/to/gcs/file") +

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/date/90deg/map,

    • site: 'my-site'

    • date: '20201218'

    • version: '90deg/map'

    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/overview.html b/docs/overview.html index aa465425..e5c0bf72 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -1 +1 @@ - Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 23 October 2023
    \ No newline at end of file + Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-extract-segments.html b/docs/preprocessing-extract-segments.html new file mode 100644 index 00000000..24a7d73a --- /dev/null +++ b/docs/preprocessing-extract-segments.html @@ -0,0 +1,94 @@ + preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    ++-----------------+ +-----------+ +| Original | | Segmented | +| Image | | Image | ++-----+-----+-----+ +-----+-----+ +| 1 | 2 | 3 | | 2 | 3 | ++-----+-----+-----+ +-----+-----+ +| 4 | 5 | 6 | -----------> | 5 | 6 | ++-----+-----+-----+ 1, 2, 0, 2 +-----+-----+ +| 7 | 8 | 9 | x0 y0 x1 y1 | 8 | 9 | ++-----+-----+-----+ +-----+-----+ +
    ++-----------------+ +-----------------+ +| Original | | Segmented | +| Image | | Image | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 3 | | 0 | 2 | 3 | ++-----+-----+-----+ +-----+-----+-----+ +| 4 | 5 | 6 | -----------> | 0 | 5 | 6 | ++-----+-----+-----+ 1, 2, 0, 2 +-----+-----+-----+ +| 7 | 8 | 9 | x0 y0 x1 y1 | 0 | 8 | 9 | ++-----+-----+-----+ +-----+-----+-----+ +

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    ++-----------------+ +-----------------+ +| Label | | Original | +| Classification | | Image | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 0 | | 1 | 2 | 3 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 2 | 2 | | 4 | 5 | 6 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 1 | 0 | | 7 | 8 | 9 | ++-----+-----+-----+ +-----+-----+-----+ +

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    ++-----------+ +-----------+ +| Extracted | | Extracted | +| Segment 1 | | Segment 2 | ++-----+-----+ +-----+-----+ +| 1 | 0 | | 2 | 0 | ++-----+-----+ +-----+-----+ +| 4 | 0 | | 5 | 6 | ++-----+-----+ +-----+-----+ +| 7 | 8 | ++-----+-----+ +
    ++-----------------+ +-----------------+ +| Extracted | | Extracted | +| Segment 1 | | Segment 2 | ++-----+-----+-----+ +-----+-----+-----+ +| 1 | 0 | 0 | | 0 | 2 | 0 | ++-----+-----+-----+ +-----+-----+-----+ +| 4 | 0 | 0 | | 0 | 5 | 6 | ++-----+-----+-----+ +-----+-----+-----+ +| 7 | 8 | 0 | | 0 | 0 | 0 | ++-----+-----+-----+ +-----+-----+-----+ +

    Usage

    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    +import numpy as np +from frdc.load import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() + +segments: list[np.ndarray] = extract_segments_from_bounds(ar, bounds) +

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    +from skimage.morphology import remove_small_objects, remove_small_holes +import numpy as np + +from frdc.load import FRDCDataset +from frdc.preprocess.morphology import ( + threshold_binary_mask, binary_watershed +) +from frdc.preprocess.scale import scale_0_1_per_band +from frdc.preprocess.extract_segments import ( + extract_segments_from_labels, remove_small_segments_from_labels +) + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +ar = scale_0_1_per_band(ar) +ar_mask = threshold_binary_mask(ar, -1, 90 / 256) +ar_mask = remove_small_objects(ar_mask, min_size=100, connectivity=2) +ar_mask = remove_small_holes(ar_mask, area_threshold=100, connectivity=2) +ar_labels = binary_watershed(ar_mask) +ar_labels = remove_small_segments_from_labels(ar_labels, + min_height=10, min_width=10) + +segments: list[np.ndarray] = extract_segments_from_labels(ar, ar_labels) +

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-morphology.html b/docs/preprocessing-morphology.html new file mode 100644 index 00000000..b3da6f18 --- /dev/null +++ b/docs/preprocessing-morphology.html @@ -0,0 +1,15 @@ + preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    +from frdc.load import FRDCDataset +from frdc.preprocess.morphology import ( + threshold_binary_mask, binary_watershed +) + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +mask = threshold_binary_mask(ar, order.index('NIR'), 90 / 256) +ar_label = binary_watershed(mask) +

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    +ar[..., band_idx] > threshold_value +
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-scale.html b/docs/preprocessing-scale.html new file mode 100644 index 00000000..2b23cf38 --- /dev/null +++ b/docs/preprocessing-scale.html @@ -0,0 +1,15 @@ + preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    +from frdc.load import FRDCDataset +from frdc.preprocess.scale import ( + scale_0_1_per_band, scale_normal_per_band, scale_static_per_band +) +from frdc.conf import BAND_MAX_CONFIG + +ds = FRDCDataset(site='chestnut_nature_park', + date='20201218', + version=None, ) +ar, order = ds.get_ar_bands() +ar_01 = scale_0_1_per_band(ar) +ar_norm = scale_normal_per_band(ar) +ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) +

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/webHelpD2-all.zip b/webHelpD2-all.zip new file mode 100644 index 0000000000000000000000000000000000000000..0b62c6ae9ca8cb2af9b5c9ed6692cabc4482283e GIT binary patch literal 33679 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 literal 0 HcmV?d00001 From 2019a29e99c21d2f6063ee4892e6df617770eae1 Mon Sep 17 00:00:00 2001 From: Evening Date: Wed, 25 Oct 2023 18:04:33 +0800 Subject: [PATCH 16/28] Fix typos and update docs --- Writerside/topics/load.dataset.md | 11 +++++++---- .../topics/preprocessing.extract_segments.md | 4 ++-- Writerside/topics/preprocessing.scale.md | 4 ++-- docs/getting-started.html | 18 +++++++++--------- docs/load-dataset.html | 8 ++++---- docs/overview.html | 2 +- docs/preprocessing-extract-segments.html | 16 ++++++++-------- docs/preprocessing-morphology.html | 6 +++--- docs/preprocessing-scale.html | 4 ++-- webHelpD2-all.zip | Bin 33679 -> 33722 bytes 10 files changed, 38 insertions(+), 35 deletions(-) diff --git a/Writerside/topics/load.dataset.md b/Writerside/topics/load.dataset.md index b319848c..4462b3ca 100644 --- a/Writerside/topics/load.dataset.md +++ b/Writerside/topics/load.dataset.md @@ -93,12 +93,15 @@ This doesn't immediately download the dataset, but only when you call the get_* functions.
    The site, date, version must match the dataset path on GCS. For example if the dataset is at -gs://frdc-scan/my-site/date/90deg/map, +gs://frdc-scan/my-site/20201218/90deg/map, -
  • site: 'my-site'
  • -
  • date: '20201218'
  • -
  • version: '90deg/map'
  • +
  • site='my-site'
  • +
  • date='20201218'
  • +
  • version='90deg/map'
  • +If the dataset doesn't have a "version", for example: +gs://frdc-scan/my-site/20201218, +then you can pass in version=None.
    If you don't want to search up GCS, you can use FRDCDownloader to list all datasets, and their versions with diff --git a/Writerside/topics/preprocessing.extract_segments.md b/Writerside/topics/preprocessing.extract_segments.md index fee4d656..ed257e8d 100644 --- a/Writerside/topics/preprocessing.extract_segments.md +++ b/Writerside/topics/preprocessing.extract_segments.md @@ -121,14 +121,14 @@ For example, the label 1 and 2 extracted images will be -## Usage - - If **cropped is False**, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images. - If **cropped is True**, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent. +## Usage + ### Extract from Bounds and Labels Extract segments from bounds and labels. diff --git a/Writerside/topics/preprocessing.scale.md b/Writerside/topics/preprocessing.scale.md index 1b543942..17bf8e02 100644 --- a/Writerside/topics/preprocessing.scale.md +++ b/Writerside/topics/preprocessing.scale.md @@ -40,8 +40,8 @@ ar_norm = scale_normal_per_band(ar) ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) ``` -> The static scaling has a default config infers the max bit depth from the -> capturing device. +> The static scaling has a default config, which was inferred by our capturing +> device. ## API diff --git a/docs/getting-started.html b/docs/getting-started.html index f1aaf4b0..d305d68c 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -1,20 +1,20 @@ - Getting Started | Documentation

    Documentation 0.0.4 Help

    Getting Started

    Installing the Dev. Environment

    1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

      + Getting Started | Documentation

      Documentation 0.0.4 Help

      Getting Started

      Installing the Dev. Environment

      1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

        [tool.poetry.dependencies] python = "..." -
      2. Start by cloning our repository.

        +
      3. Start by cloning our repository.

        git clone https://github.com/Forest-Recovery-Digital-Companion/FRDC-ML.git -
      4. Then, create a Python Virtual Env pyvenv

        python -m venv venv/
        python3 -m venv venv/
      5. Install Poetry Then check if it's installed with

        poetry --version
      6. Activate the virtual environment

        +
      7. Then, create a Python Virtual Env pyvenv

        python -m venv venv/
        python3 -m venv venv/
      8. Install Poetry Then check if it's installed with

        poetry --version
      9. Activate the virtual environment

        cd venv/Scripts activate cd ../.. -
        +
        source venv/bin/activate -
      10. Install the dependencies. You should be in the same directory as pyproject.toml

        +
    2. Install the dependencies. You should be in the same directory as pyproject.toml

      poetry install --with dev -
    3. Install Pre-Commit Hooks

      +
    4. Install Pre-Commit Hooks

      pre-commit install -

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • +

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • pre-commit install -

    Running the Tests

    1. Run the tests to make sure everything is working

      +

    Running the Tests

    1. Run the tests to make sure everything is working

      pytest -
    2. In case of errors:

      google.auth.exceptions.DefaultCredentialsError

      If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

      ModuleNotFoundError

      If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

    Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 25 October 2023
    \ No newline at end of file +
  • In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

  • Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/load-dataset.html b/docs/load-dataset.html index bf3dc731..80e3d822 100644 --- a/docs/load-dataset.html +++ b/docs/load-dataset.html @@ -1,4 +1,4 @@ - load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    + load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    from frdc.load import FRDCDataset ds = FRDCDataset(site='chestnut_nature_park', @@ -6,7 +6,7 @@ version=None, ) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    +

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    from frdc.load import FRDCDownloader, FRDCDataset dl = FRDCDownloader(credentials=..., @@ -19,7 +19,7 @@ dl=dl) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    +

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    from frdc.load import FRDCDownloader dl = FRDCDownloader(credentials=..., @@ -28,4 +28,4 @@ bucket_name=...) dl.download_file(path_glob="path/to/gcs/file") -

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/date/90deg/map,

    • site: 'my-site'

    • date: '20201218'

    • version: '90deg/map'

    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/20201218/90deg/map,

    • site='my-site'

    • date='20201218'

    • version='90deg/map'

    If the dataset doesn't have a "version", for example: gs://frdc-scan/my-site/20201218, then you can pass in version=None.


    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/overview.html b/docs/overview.html index e5c0bf72..9238bfd8 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -1 +1 @@ - Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 25 October 2023
    \ No newline at end of file + Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-extract-segments.html b/docs/preprocessing-extract-segments.html index 24a7d73a..a2465dfc 100644 --- a/docs/preprocessing-extract-segments.html +++ b/docs/preprocessing-extract-segments.html @@ -1,4 +1,4 @@ - preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    + preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    +-----------------+ +-----------+ | Original | | Segmented | | Image | | Image | @@ -9,7 +9,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 8 | 9 | +-----+-----+-----+ +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Original | | Segmented | | Image | | Image | @@ -20,7 +20,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 0 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +-----------------+ +-----------------+ | Label | | Original | | Classification | | Image | @@ -31,7 +31,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 1 | 1 | 0 | | 7 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +-----------+ +-----------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -42,7 +42,7 @@ +-----+-----+ +-----+-----+ | 7 | 8 | +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -53,7 +53,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 7 | 8 | 0 | | 0 | 0 | 0 | +-----+-----+-----+ +-----+-----+-----+ -

    Usage

    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    +
    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Usage

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    import numpy as np from frdc.load import FRDCDataset from frdc.preprocess.extract_segments import extract_segments_from_bounds @@ -65,7 +65,7 @@ bounds, labels = ds.get_bounds_and_labels() segments: list[np.ndarray] = extract_segments_from_bounds(ar, bounds) -

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    +

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    from skimage.morphology import remove_small_objects, remove_small_holes import numpy as np @@ -91,4 +91,4 @@ min_height=10, min_width=10) segments: list[np.ndarray] = extract_segments_from_labels(ar, ar_labels) -

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-morphology.html b/docs/preprocessing-morphology.html index b3da6f18..d09ff367 100644 --- a/docs/preprocessing-morphology.html +++ b/docs/preprocessing-morphology.html @@ -1,4 +1,4 @@ - preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    + preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    from frdc.load import FRDCDataset from frdc.preprocess.morphology import ( threshold_binary_mask, binary_watershed @@ -10,6 +10,6 @@ ar, order = ds.get_ar_bands() mask = threshold_binary_mask(ar, order.index('NIR'), 90 / 256) ar_label = binary_watershed(mask) -

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    +

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    ar[..., band_idx] > threshold_value -
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 25 October 2023
    \ No newline at end of file +
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-scale.html b/docs/preprocessing-scale.html index 2b23cf38..4fcaa6c5 100644 --- a/docs/preprocessing-scale.html +++ b/docs/preprocessing-scale.html @@ -1,4 +1,4 @@ - preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    + preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    from frdc.load import FRDCDataset from frdc.preprocess.scale import ( scale_0_1_per_band, scale_normal_per_band, scale_static_per_band @@ -12,4 +12,4 @@ ar_01 = scale_0_1_per_band(ar) ar_norm = scale_normal_per_band(ar) ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) -

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 25 October 2023
    \ No newline at end of file diff --git a/webHelpD2-all.zip b/webHelpD2-all.zip index 0b62c6ae9ca8cb2af9b5c9ed6692cabc4482283e..a068cf99e8bd62a5b04d764b17b9d9ccafad4fdd 100644 GIT binary patch delta 25455 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 delta 25333 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

    k;hMTxMYF|ce`LqieKG_2%* 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 aA7mej^3OzlLkS_#K Date: Thu, 26 Oct 2023 10:30:57 +0800 Subject: [PATCH 17/28] Reword for consistent warning --- Writerside/topics/preprocessing.morphology.md | 2 +- Writerside/topics/preprocessing.scale.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Writerside/topics/preprocessing.morphology.md b/Writerside/topics/preprocessing.morphology.md index bc97456b..50b5d7b2 100644 --- a/Writerside/topics/preprocessing.morphology.md +++ b/Writerside/topics/preprocessing.morphology.md @@ -11,7 +11,7 @@ Performs morphological operations on the NDArray bands. ## Functions -Scale assumes H x W x C, where C is the number of bands. +Assumes shape H x W x C, where C is the number of bands. diff --git a/Writerside/topics/preprocessing.scale.md b/Writerside/topics/preprocessing.scale.md index 17bf8e02..e210493c 100644 --- a/Writerside/topics/preprocessing.scale.md +++ b/Writerside/topics/preprocessing.scale.md @@ -7,7 +7,7 @@ Scales the NDArray bands. ## Functions -Scale assumes H x W x C, where C is the number of bands. +Assumes shape H x W x C, where C is the number of bands. From a7cb8ce0724ecf089f7ce85b50d4222d556de487 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 10:31:06 +0800 Subject: [PATCH 18/28] Add GLCM padded doc --- Writerside/d.tree | 1 + .../topics/preprocessing.glcm_padded.md | 129 ++++++++++++++++++ 2 files changed, 130 insertions(+) create mode 100644 Writerside/topics/preprocessing.glcm_padded.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 711500b2..bdbc963c 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -14,4 +14,5 @@ + \ No newline at end of file diff --git a/Writerside/topics/preprocessing.glcm_padded.md b/Writerside/topics/preprocessing.glcm_padded.md new file mode 100644 index 00000000..c9b9d175 --- /dev/null +++ b/Writerside/topics/preprocessing.glcm_padded.md @@ -0,0 +1,129 @@ +# preprocessing.glcm_padded + + +Computes the GLCM of the NDArray bands with padding. + + +> This is largely a handy wrapper around +> my [glcm-cupy](https://github.com/Eve-ning/glcm-cupy) package. +> This auto-computes the necessary padding so that the GLCM is the same size +> as the original image. + +> The GLCM computation is rather slow, so it is recommended to use it +> only if necessary. +> {style='warning'} + +## Functions + + +Assumes shape H x W x C, where C is the number of bands. + + + + +Computes the GLCM of the NDArray bands with padding. + + +Computes the GLCM of the NDArray bands with padding, and caches it. + + +Computes the GLCM of the NDArray bands with padding, and caches it and +also appends it onto the original array. + + + +## Usage + +We show a few examples of how to use the GLCM functions. + +```python +import numpy as np +from glcm_cupy import Features + +from frdc.preprocess.glcm_padded import ( + append_glcm_padded_cached, glcm_padded, glcm_padded_cached +) + +ar = np.random.rand(50, 25, 4) + +# Returns a shape of H x W x C x GLCM Features +ar_glcm = glcm_padded(ar, bin_from=1, bin_to=4, radius=3, ) + +# Returns a shape of H x W x C x 2 +ar_glcm_2_features = glcm_padded(ar, bin_from=1, bin_to=4, radius=3, + features=[Features.CONTRAST, + Features.CORRELATION]) + +# Returns a shape of H x W x C x GLCM Features +ar_glcm_cached = glcm_padded_cached(ar, bin_from=1, bin_to=4, radius=3) + +# Returns a shape of H x W x (C x GLCM Features + C) +ar_glcm_cached_appended = append_glcm_padded_cached(ar, bin_from=1, bin_to=4, + radius=3) + +``` + +- `ar_glcm` is the GLCM of the original array, with the last dimension being + the GLCM features. The number of features is determined by the `features` + parameter, which defaults to all features. +- `ar_glcm_2_features` selects only 2 features, with the last dimension being + the 2 GLCM features specified. +- `ar_glcm_cached` caches the GLCM so that if you call it again, + it will return the cached version. It stores its data at the project root + dir, under `.cache/`. +- `ar_glcm_cached_appended` is a wrapper around `ar_glcm_cached`, it + appends the GLCM features onto the original array. It's equivalent to calling + `ar_glcm_cached` and then `np.concatenate` on the final axes. + +### Caching + +GLCM is an expensive operation, thus we recommend to cache it if the input +parameters will be the same. This is especially useful if you're +experimenting with the same dataset with constant parameters. + +> This cache is automatically invalidated if the parameters change. Thus, if +> you perform augmentation, the cache will not be used and will be recomputed. +> This can be wasteful, so it is recommended to perform augmentation after +> the GLCM computation if possible. +> {style='warning'} + +> The cache is stored at the project root dir, under `.cache/`. It is safe to +> delete this folder if you want to clear the cache. +> {style='note'} + +## API + + + +Computes the GLCM of the NDArray bands with padding.
    + +

  • ar is the input array
  • +
  • bin_from is the upper bound of the input
  • +
  • bin_to is the upper bound of the GLCM input, i.e. the +resolution that GLCM operates on
  • +
  • radius is the radius of the GLCM
  • +
  • step_size is the step size of the GLCM
  • +
  • features is the list of GLCM features to compute
  • + +The return shape is + +H \times W \times C \times \text{GLCM Features} + +See glcm_cupy for the GLCM Features. + + +Computes the GLCM of the NDArray bands with padding, and caches it.
    +See glcm_padded for the parameters and output shape +
    + +Computes the GLCM of the NDArray bands with padding, and caches it and +also appends it onto the original array.
    +See glcm_padded for the parameters
    +The return shape is: + +H \times W \times (C \times \text{GLCM Features} + C) + +The function automatically flattens the last 2 dimensions of the GLCM +features, and appends it onto the original array. +
    + From dee5baa11174cbdb5c157033d7c81a8ca334ffaf Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 10:31:14 +0800 Subject: [PATCH 19/28] Minor Linting --- src/frdc/evaluate/evaluate.py | 2 +- src/frdc/models/__init__.py | 2 +- src/frdc/train/train.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/frdc/evaluate/evaluate.py b/src/frdc/evaluate/evaluate.py index 7f3477a4..a0ccfbed 100644 --- a/src/frdc/evaluate/evaluate.py +++ b/src/frdc/evaluate/evaluate.py @@ -9,7 +9,7 @@ def dummy_evaluate( feature_extraction: Callable[[np.ndarray], np.ndarray], classifier: ClassifierMixin, X_test: np.ndarray, - y_test: np.ndarray + y_test: np.ndarray, ) -> float: """Dummy Evaluation function. diff --git a/src/frdc/models/__init__.py b/src/frdc/models/__init__.py index 07ba2a3f..5420b607 100644 --- a/src/frdc/models/__init__.py +++ b/src/frdc/models/__init__.py @@ -1,4 +1,4 @@ -from .facenet import * +from .facenet import FaceNet __all__ = [ "FaceNet", diff --git a/src/frdc/train/train.py b/src/frdc/train/train.py index 3c7b193a..c3d49049 100644 --- a/src/frdc/train/train.py +++ b/src/frdc/train/train.py @@ -11,7 +11,7 @@ def dummy_train( X_train: np.ndarray, y_train: np.ndarray, X_val: np.ndarray, - y_val: np.ndarray + y_val: np.ndarray, ) -> tuple[Callable[[np.ndarray], np.ndarray], ClassifierMixin, float]: """Dummy Training function. From 374987841f264eaefa3c15260aa5ae87374b6d83 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 10:31:55 +0800 Subject: [PATCH 20/28] Update poetry.lock --- poetry.lock | 440 ++++++++++++++++++++++++++-------------------------- 1 file changed, 220 insertions(+), 220 deletions(-) diff --git a/poetry.lock b/poetry.lock index abcb8082..c863d7fe 100644 --- a/poetry.lock +++ b/poetry.lock @@ -153,29 +153,29 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte [[package]] name = "black" -version = "23.10.0" +version = "23.10.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.10.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:f8dc7d50d94063cdfd13c82368afd8588bac4ce360e4224ac399e769d6704e98"}, - {file = "black-23.10.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:f20ff03f3fdd2fd4460b4f631663813e57dc277e37fb216463f3b907aa5a9bdd"}, - {file = "black-23.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3d9129ce05b0829730323bdcb00f928a448a124af5acf90aa94d9aba6969604"}, - {file = "black-23.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:960c21555be135c4b37b7018d63d6248bdae8514e5c55b71e994ad37407f45b8"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:30b78ac9b54cf87bcb9910ee3d499d2bc893afd52495066c49d9ee6b21eee06e"}, - {file = "black-23.10.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:0e232f24a337fed7a82c1185ae46c56c4a6167fb0fe37411b43e876892c76699"}, - {file = "black-23.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31946ec6f9c54ed7ba431c38bc81d758970dd734b96b8e8c2b17a367d7908171"}, - {file = "black-23.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:c870bee76ad5f7a5ea7bd01dc646028d05568d33b0b09b7ecfc8ec0da3f3f39c"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:6901631b937acbee93c75537e74f69463adaf34379a04eef32425b88aca88a23"}, - {file = "black-23.10.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:481167c60cd3e6b1cb8ef2aac0f76165843a374346aeeaa9d86765fe0dd0318b"}, - {file = "black-23.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f74892b4b836e5162aa0452393112a574dac85e13902c57dfbaaf388e4eda37c"}, - {file = "black-23.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:47c4510f70ec2e8f9135ba490811c071419c115e46f143e4dce2ac45afdcf4c9"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:76baba9281e5e5b230c9b7f83a96daf67a95e919c2dfc240d9e6295eab7b9204"}, - {file = "black-23.10.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:a3c2ddb35f71976a4cfeca558848c2f2f89abc86b06e8dd89b5a65c1e6c0f22a"}, - {file = "black-23.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db451a3363b1e765c172c3fd86213a4ce63fb8524c938ebd82919bf2a6e28c6a"}, - {file = "black-23.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:7fb5fc36bb65160df21498d5a3dd330af8b6401be3f25af60c6ebfe23753f747"}, - {file = "black-23.10.0-py3-none-any.whl", hash = "sha256:e223b731a0e025f8ef427dd79d8cd69c167da807f5710add30cdf131f13dd62e"}, - {file = "black-23.10.0.tar.gz", hash = "sha256:31b9f87b277a68d0e99d2905edae08807c007973eaa609da5f0c62def6b7c0bd"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:ec3f8e6234c4e46ff9e16d9ae96f4ef69fa328bb4ad08198c8cee45bb1f08c69"}, + {file = "black-23.10.1-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:1b917a2aa020ca600483a7b340c165970b26e9029067f019e3755b56e8dd5916"}, + {file = "black-23.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c74de4c77b849e6359c6f01987e94873c707098322b91490d24296f66d067dc"}, + {file = "black-23.10.1-cp310-cp310-win_amd64.whl", hash = "sha256:7b4d10b0f016616a0d93d24a448100adf1699712fb7a4efd0e2c32bbb219b173"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b15b75fc53a2fbcac8a87d3e20f69874d161beef13954747e053bca7a1ce53a0"}, + {file = "black-23.10.1-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:e293e4c2f4a992b980032bbd62df07c1bcff82d6964d6c9496f2cd726e246ace"}, + {file = "black-23.10.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d56124b7a61d092cb52cce34182a5280e160e6aff3137172a68c2c2c4b76bcb"}, + {file = "black-23.10.1-cp311-cp311-win_amd64.whl", hash = "sha256:3f157a8945a7b2d424da3335f7ace89c14a3b0625e6593d21139c2d8214d55ce"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:cfcce6f0a384d0da692119f2d72d79ed07c7159879d0bb1bb32d2e443382bf3a"}, + {file = "black-23.10.1-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:33d40f5b06be80c1bbce17b173cda17994fbad096ce60eb22054da021bf933d1"}, + {file = "black-23.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:840015166dbdfbc47992871325799fd2dc0dcf9395e401ada6d88fe11498abad"}, + {file = "black-23.10.1-cp38-cp38-win_amd64.whl", hash = "sha256:037e9b4664cafda5f025a1728c50a9e9aedb99a759c89f760bd83730e76ba884"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:7cb5936e686e782fddb1c73f8aa6f459e1ad38a6a7b0e54b403f1f05a1507ee9"}, + {file = "black-23.10.1-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:7670242e90dc129c539e9ca17665e39a146a761e681805c54fbd86015c7c84f7"}, + {file = "black-23.10.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ed45ac9a613fb52dad3b61c8dea2ec9510bf3108d4db88422bacc7d1ba1243d"}, + {file = "black-23.10.1-cp39-cp39-win_amd64.whl", hash = "sha256:6d23d7822140e3fef190734216cefb262521789367fbdc0b3f22af6744058982"}, + {file = "black-23.10.1-py3-none-any.whl", hash = "sha256:d431e6739f727bb2e0495df64a6c7a5310758e87505f5f8cde9ff6c0f2d7e4fe"}, + {file = "black-23.10.1.tar.gz", hash = "sha256:1f8ce316753428ff68749c65a5f7844631aa18c8679dfd3ca9dc1a289979c258"}, ] [package.dependencies] @@ -195,13 +195,13 @@ uvloop = ["uvloop (>=0.15.2)"] [[package]] name = "cachetools" -version = "5.3.1" +version = "5.3.2" description = "Extensible memoizing collections and decorators" optional = false python-versions = ">=3.7" files = [ - {file = "cachetools-5.3.1-py3-none-any.whl", hash = "sha256:95ef631eeaea14ba2e36f06437f36463aac3a096799e876ee55e5cdccb102590"}, - {file = "cachetools-5.3.1.tar.gz", hash = "sha256:dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b"}, + {file = "cachetools-5.3.2-py3-none-any.whl", hash = "sha256:861f35a13a451f94e301ce2bec7cac63e881232ccce7ed67fab9b5df4d3beaa1"}, + {file = "cachetools-5.3.2.tar.gz", hash = "sha256:086ee420196f7b2ab9ca2db2520aca326318b68fe5ba8bc4d49cca91add450f2"}, ] [[package]] @@ -228,101 +228,101 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.0" +version = "3.3.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.0.tar.gz", hash = "sha256:63563193aec44bce707e0c5ca64ff69fa72ed7cf34ce6e11d5127555756fd2f6"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:effe5406c9bd748a871dbcaf3ac69167c38d72db8c9baf3ff954c344f31c4cbe"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4162918ef3098851fcd8a628bf9b6a98d10c380725df9e04caf5ca6dd48c847a"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0570d21da019941634a531444364f2482e8db0b3425fcd5ac0c36565a64142c8"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5707a746c6083a3a74b46b3a631d78d129edab06195a92a8ece755aac25a3f3d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:278c296c6f96fa686d74eb449ea1697f3c03dc28b75f873b65b5201806346a69"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a4b71f4d1765639372a3b32d2638197f5cd5221b19531f9245fcc9ee62d38f56"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5969baeaea61c97efa706b9b107dcba02784b1601c74ac84f2a532ea079403e"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3f93dab657839dfa61025056606600a11d0b696d79386f974e459a3fbc568ec"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:db756e48f9c5c607b5e33dd36b1d5872d0422e960145b08ab0ec7fd420e9d649"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:232ac332403e37e4a03d209a3f92ed9071f7d3dbda70e2a5e9cff1c4ba9f0678"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e5c1502d4ace69a179305abb3f0bb6141cbe4714bc9b31d427329a95acfc8bdd"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:2502dd2a736c879c0f0d3e2161e74d9907231e25d35794584b1ca5284e43f596"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23e8565ab7ff33218530bc817922fae827420f143479b753104ab801145b1d5b"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win32.whl", hash = "sha256:1872d01ac8c618a8da634e232f24793883d6e456a66593135aeafe3784b0848d"}, - {file = "charset_normalizer-3.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:557b21a44ceac6c6b9773bc65aa1b4cc3e248a5ad2f5b914b91579a32e22204d"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d7eff0f27edc5afa9e405f7165f85a6d782d308f3b6b9d96016c010597958e63"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a685067d05e46641d5d1623d7c7fdf15a357546cbb2f71b0ebde91b175ffc3e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0d3d5b7db9ed8a2b11a774db2bbea7ba1884430a205dbd54a32d61d7c2a190fa"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2935ffc78db9645cb2086c2f8f4cfd23d9b73cc0dc80334bc30aac6f03f68f8c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fe359b2e3a7729010060fbca442ca225280c16e923b37db0e955ac2a2b72a05"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:380c4bde80bce25c6e4f77b19386f5ec9db230df9f2f2ac1e5ad7af2caa70459"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0d1e3732768fecb052d90d62b220af62ead5748ac51ef61e7b32c266cac9293"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1b2919306936ac6efb3aed1fbf81039f7087ddadb3160882a57ee2ff74fd2382"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f8888e31e3a85943743f8fc15e71536bda1c81d5aa36d014a3c0c44481d7db6e"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:82eb849f085624f6a607538ee7b83a6d8126df6d2f7d3b319cb837b289123078"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7b8b8bf1189b3ba9b8de5c8db4d541b406611a71a955bbbd7385bbc45fcb786c"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5adf257bd58c1b8632046bbe43ee38c04e1038e9d37de9c57a94d6bd6ce5da34"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c350354efb159b8767a6244c166f66e67506e06c8924ed74669b2c70bc8735b1"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win32.whl", hash = "sha256:02af06682e3590ab952599fbadac535ede5d60d78848e555aa58d0c0abbde786"}, - {file = "charset_normalizer-3.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86d1f65ac145e2c9ed71d8ffb1905e9bba3a91ae29ba55b4c46ae6fc31d7c0d4"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3b447982ad46348c02cb90d230b75ac34e9886273df3a93eec0539308a6296d7"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:abf0d9f45ea5fb95051c8bfe43cb40cda383772f7e5023a83cc481ca2604d74e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b09719a17a2301178fac4470d54b1680b18a5048b481cb8890e1ef820cb80455"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b3d9b48ee6e3967b7901c052b670c7dda6deb812c309439adaffdec55c6d7b78"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:edfe077ab09442d4ef3c52cb1f9dab89bff02f4524afc0acf2d46be17dc479f5"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3debd1150027933210c2fc321527c2299118aa929c2f5a0a80ab6953e3bd1908"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86f63face3a527284f7bb8a9d4f78988e3c06823f7bea2bd6f0e0e9298ca0403"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:24817cb02cbef7cd499f7c9a2735286b4782bd47a5b3516a0e84c50eab44b98e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c71f16da1ed8949774ef79f4a0260d28b83b3a50c6576f8f4f0288d109777989"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9cf3126b85822c4e53aa28c7ec9869b924d6fcfb76e77a45c44b83d91afd74f9"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:b3b2316b25644b23b54a6f6401074cebcecd1244c0b8e80111c9a3f1c8e83d65"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:03680bb39035fbcffe828eae9c3f8afc0428c91d38e7d61aa992ef7a59fb120e"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4cc152c5dd831641e995764f9f0b6589519f6f5123258ccaca8c6d34572fefa8"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win32.whl", hash = "sha256:b8f3307af845803fb0b060ab76cf6dd3a13adc15b6b451f54281d25911eb92df"}, - {file = "charset_normalizer-3.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8eaf82f0eccd1505cf39a45a6bd0a8cf1c70dcfc30dba338207a969d91b965c0"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dc45229747b67ffc441b3de2f3ae5e62877a282ea828a5bdb67883c4ee4a8810"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4a0033ce9a76e391542c182f0d48d084855b5fcba5010f707c8e8c34663d77"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ada214c6fa40f8d800e575de6b91a40d0548139e5dc457d2ebb61470abf50186"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1121de0e9d6e6ca08289583d7491e7fcb18a439305b34a30b20d8215922d43c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1063da2c85b95f2d1a430f1c33b55c9c17ffaf5e612e10aeaad641c55a9e2b9d"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70f1d09c0d7748b73290b29219e854b3207aea922f839437870d8cc2168e31cc"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:250c9eb0f4600361dd80d46112213dff2286231d92d3e52af1e5a6083d10cad9"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:750b446b2ffce1739e8578576092179160f6d26bd5e23eb1789c4d64d5af7dc7"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:fc52b79d83a3fe3a360902d3f5d79073a993597d48114c29485e9431092905d8"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:588245972aca710b5b68802c8cad9edaa98589b1b42ad2b53accd6910dad3545"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e39c7eb31e3f5b1f88caff88bcff1b7f8334975b46f6ac6e9fc725d829bc35d4"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win32.whl", hash = "sha256:abecce40dfebbfa6abf8e324e1860092eeca6f7375c8c4e655a8afb61af58f2c"}, - {file = "charset_normalizer-3.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:24a91a981f185721542a0b7c92e9054b7ab4fea0508a795846bc5b0abf8118d4"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:67b8cc9574bb518ec76dc8e705d4c39ae78bb96237cb533edac149352c1f39fe"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ac71b2977fb90c35d41c9453116e283fac47bb9096ad917b8819ca8b943abecd"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3ae38d325b512f63f8da31f826e6cb6c367336f95e418137286ba362925c877e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:542da1178c1c6af8873e143910e2269add130a299c9106eef2594e15dae5e482"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:30a85aed0b864ac88309b7d94be09f6046c834ef60762a8833b660139cfbad13"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aae32c93e0f64469f74ccc730a7cb21c7610af3a775157e50bbd38f816536b38"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b26ddf78d57f1d143bdf32e820fd8935d36abe8a25eb9ec0b5a71c82eb3895"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f5d10bae5d78e4551b7be7a9b29643a95aded9d0f602aa2ba584f0388e7a557"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:249c6470a2b60935bafd1d1d13cd613f8cd8388d53461c67397ee6a0f5dce741"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c5a74c359b2d47d26cdbbc7845e9662d6b08a1e915eb015d044729e92e7050b7"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:b5bcf60a228acae568e9911f410f9d9e0d43197d030ae5799e20dca8df588287"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:187d18082694a29005ba2944c882344b6748d5be69e3a89bf3cc9d878e548d5a"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:81bf654678e575403736b85ba3a7867e31c2c30a69bc57fe88e3ace52fb17b89"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win32.whl", hash = "sha256:85a32721ddde63c9df9ebb0d2045b9691d9750cb139c161c80e500d210f5e26e"}, - {file = "charset_normalizer-3.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:468d2a840567b13a590e67dd276c570f8de00ed767ecc611994c301d0f8c014f"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e0fc42822278451bc13a2e8626cf2218ba570f27856b536e00cfa53099724828"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:09c77f964f351a7369cc343911e0df63e762e42bac24cd7d18525961c81754f4"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:12ebea541c44fdc88ccb794a13fe861cc5e35d64ed689513a5c03d05b53b7c82"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:805dfea4ca10411a5296bcc75638017215a93ffb584c9e344731eef0dcfb026a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:96c2b49eb6a72c0e4991d62406e365d87067ca14c1a729a870d22354e6f68115"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aaf7b34c5bc56b38c931a54f7952f1ff0ae77a2e82496583b247f7c969eb1479"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:619d1c96099be5823db34fe89e2582b336b5b074a7f47f819d6b3a57ff7bdb86"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a0ac5e7015a5920cfce654c06618ec40c33e12801711da6b4258af59a8eff00a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:93aa7eef6ee71c629b51ef873991d6911b906d7312c6e8e99790c0f33c576f89"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7966951325782121e67c81299a031f4c115615e68046f79b85856b86ebffc4cd"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:02673e456dc5ab13659f85196c534dc596d4ef260e4d86e856c3b2773ce09843"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:c2af80fb58f0f24b3f3adcb9148e6203fa67dd3f61c4af146ecad033024dde43"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:153e7b6e724761741e0974fc4dcd406d35ba70b92bfe3fedcb497226c93b9da7"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win32.whl", hash = "sha256:d47ecf253780c90ee181d4d871cd655a789da937454045b17b5798da9393901a"}, - {file = "charset_normalizer-3.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:d97d85fa63f315a8bdaba2af9a6a686e0eceab77b3089af45133252618e70884"}, - {file = "charset_normalizer-3.3.0-py3-none-any.whl", hash = "sha256:e46cd37076971c1040fc8c41273a8b3e2c624ce4f2be3f5dfcb7a430c1d3acc2"}, + {file = "charset-normalizer-3.3.1.tar.gz", hash = "sha256:d9137a876020661972ca6eec0766d81aef8a5627df628b664b234b73396e727e"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8aee051c89e13565c6bd366813c386939f8e928af93c29fda4af86d25b73d8f8"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:352a88c3df0d1fa886562384b86f9a9e27563d4704ee0e9d56ec6fcd270ea690"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:223b4d54561c01048f657fa6ce41461d5ad8ff128b9678cfe8b2ecd951e3f8a2"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f861d94c2a450b974b86093c6c027888627b8082f1299dfd5a4bae8e2292821"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1171ef1fc5ab4693c5d151ae0fdad7f7349920eabbaca6271f95969fa0756c2d"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28f512b9a33235545fbbdac6a330a510b63be278a50071a336afc1b78781b147"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0e842112fe3f1a4ffcf64b06dc4c61a88441c2f02f373367f7b4c1aa9be2ad5"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3f9bc2ce123637a60ebe819f9fccc614da1bcc05798bbbaf2dd4ec91f3e08846"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f194cce575e59ffe442c10a360182a986535fd90b57f7debfaa5c845c409ecc3"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:9a74041ba0bfa9bc9b9bb2cd3238a6ab3b7618e759b41bd15b5f6ad958d17605"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b578cbe580e3b41ad17b1c428f382c814b32a6ce90f2d8e39e2e635d49e498d1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6db3cfb9b4fcecb4390db154e75b49578c87a3b9979b40cdf90d7e4b945656e1"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:debb633f3f7856f95ad957d9b9c781f8e2c6303ef21724ec94bea2ce2fcbd056"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win32.whl", hash = "sha256:87071618d3d8ec8b186d53cb6e66955ef2a0e4fa63ccd3709c0c90ac5a43520f"}, + {file = "charset_normalizer-3.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:e372d7dfd154009142631de2d316adad3cc1c36c32a38b16a4751ba78da2a397"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae4070f741f8d809075ef697877fd350ecf0b7c5837ed68738607ee0a2c572cf"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:58e875eb7016fd014c0eea46c6fa92b87b62c0cb31b9feae25cbbe62c919f54d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dbd95e300367aa0827496fe75a1766d198d34385a58f97683fe6e07f89ca3e3c"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de0b4caa1c8a21394e8ce971997614a17648f94e1cd0640fbd6b4d14cab13a72"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:985c7965f62f6f32bf432e2681173db41336a9c2611693247069288bcb0c7f8b"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a15c1fe6d26e83fd2e5972425a772cca158eae58b05d4a25a4e474c221053e2d"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae55d592b02c4349525b6ed8f74c692509e5adffa842e582c0f861751701a673"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:be4d9c2770044a59715eb57c1144dedea7c5d5ae80c68fb9959515037cde2008"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:851cf693fb3aaef71031237cd68699dded198657ec1e76a76eb8be58c03a5d1f"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:31bbaba7218904d2eabecf4feec0d07469284e952a27400f23b6628439439fa7"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:871d045d6ccc181fd863a3cd66ee8e395523ebfbc57f85f91f035f50cee8e3d4"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:501adc5eb6cd5f40a6f77fbd90e5ab915c8fd6e8c614af2db5561e16c600d6f3"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f5fb672c396d826ca16a022ac04c9dce74e00a1c344f6ad1a0fdc1ba1f332213"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win32.whl", hash = "sha256:bb06098d019766ca16fc915ecaa455c1f1cd594204e7f840cd6258237b5079a8"}, + {file = "charset_normalizer-3.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:8af5a8917b8af42295e86b64903156b4f110a30dca5f3b5aedea123fbd638bff"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7ae8e5142dcc7a49168f4055255dbcced01dc1714a90a21f87448dc8d90617d1"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5b70bab78accbc672f50e878a5b73ca692f45f5b5e25c8066d748c09405e6a55"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ceca5876032362ae73b83347be8b5dbd2d1faf3358deb38c9c88776779b2e2f"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34d95638ff3613849f473afc33f65c401a89f3b9528d0d213c7037c398a51296"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9edbe6a5bf8b56a4a84533ba2b2f489d0046e755c29616ef8830f9e7d9cf5728"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6a02a3c7950cafaadcd46a226ad9e12fc9744652cc69f9e5534f98b47f3bbcf"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10b8dd31e10f32410751b3430996f9807fc4d1587ca69772e2aa940a82ab571a"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edc0202099ea1d82844316604e17d2b175044f9bcb6b398aab781eba957224bd"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b891a2f68e09c5ef989007fac11476ed33c5c9994449a4e2c3386529d703dc8b"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:71ef3b9be10070360f289aea4838c784f8b851be3ba58cf796262b57775c2f14"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:55602981b2dbf8184c098bc10287e8c245e351cd4fdcad050bd7199d5a8bf514"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:46fb9970aa5eeca547d7aa0de5d4b124a288b42eaefac677bde805013c95725c"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:520b7a142d2524f999447b3a0cf95115df81c4f33003c51a6ab637cbda9d0bf4"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win32.whl", hash = "sha256:8ec8ef42c6cd5856a7613dcd1eaf21e5573b2185263d87d27c8edcae33b62a61"}, + {file = "charset_normalizer-3.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:baec8148d6b8bd5cee1ae138ba658c71f5b03e0d69d5907703e3e1df96db5e41"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63a6f59e2d01310f754c270e4a257426fe5a591dc487f1983b3bbe793cf6bac6"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d6bfc32a68bc0933819cfdfe45f9abc3cae3877e1d90aac7259d57e6e0f85b1"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f3100d86dcd03c03f7e9c3fdb23d92e32abbca07e7c13ebd7ddfbcb06f5991f"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39b70a6f88eebe239fa775190796d55a33cfb6d36b9ffdd37843f7c4c1b5dc67"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e12f8ee80aa35e746230a2af83e81bd6b52daa92a8afaef4fea4a2ce9b9f4fa"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b6cefa579e1237ce198619b76eaa148b71894fb0d6bcf9024460f9bf30fd228"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:61f1e3fb621f5420523abb71f5771a204b33c21d31e7d9d86881b2cffe92c47c"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4f6e2a839f83a6a76854d12dbebde50e4b1afa63e27761549d006fa53e9aa80e"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:1ec937546cad86d0dce5396748bf392bb7b62a9eeb8c66efac60e947697f0e58"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:82ca51ff0fc5b641a2d4e1cc8c5ff108699b7a56d7f3ad6f6da9dbb6f0145b48"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:633968254f8d421e70f91c6ebe71ed0ab140220469cf87a9857e21c16687c034"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win32.whl", hash = "sha256:c0c72d34e7de5604df0fde3644cc079feee5e55464967d10b24b1de268deceb9"}, + {file = "charset_normalizer-3.3.1-cp37-cp37m-win_amd64.whl", hash = "sha256:63accd11149c0f9a99e3bc095bbdb5a464862d77a7e309ad5938fbc8721235ae"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5a3580a4fdc4ac05f9e53c57f965e3594b2f99796231380adb2baaab96e22761"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2465aa50c9299d615d757c1c888bc6fef384b7c4aec81c05a0172b4400f98557"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:cb7cd68814308aade9d0c93c5bd2ade9f9441666f8ba5aa9c2d4b389cb5e2a45"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e43805ccafa0a91831f9cd5443aa34528c0c3f2cc48c4cb3d9a7721053874b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:854cc74367180beb327ab9d00f964f6d91da06450b0855cbbb09187bcdb02de5"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c15070ebf11b8b7fd1bfff7217e9324963c82dbdf6182ff7050519e350e7ad9f"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4c99f98fc3a1835af8179dcc9013f93594d0670e2fa80c83aa36346ee763d2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fb765362688821404ad6cf86772fc54993ec11577cd5a92ac44b4c2ba52155b"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dced27917823df984fe0c80a5c4ad75cf58df0fbfae890bc08004cd3888922a2"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a66bcdf19c1a523e41b8e9d53d0cedbfbac2e93c649a2e9502cb26c014d0980c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:ecd26be9f112c4f96718290c10f4caea6cc798459a3a76636b817a0ed7874e42"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3f70fd716855cd3b855316b226a1ac8bdb3caf4f7ea96edcccc6f484217c9597"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:17a866d61259c7de1bdadef418a37755050ddb4b922df8b356503234fff7932c"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win32.whl", hash = "sha256:548eefad783ed787b38cb6f9a574bd8664468cc76d1538215d510a3cd41406cb"}, + {file = "charset_normalizer-3.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:45f053a0ece92c734d874861ffe6e3cc92150e32136dd59ab1fb070575189c97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bc791ec3fd0c4309a753f95bb6c749ef0d8ea3aea91f07ee1cf06b7b02118f2f"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8c61fb505c7dad1d251c284e712d4e0372cef3b067f7ddf82a7fa82e1e9a93"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c092be3885a1b7899cd85ce24acedc1034199d6fca1483fa2c3a35c86e43041"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2000c54c395d9e5e44c99dc7c20a64dc371f777faf8bae4919ad3e99ce5253e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cb50a0335382aac15c31b61d8531bc9bb657cfd848b1d7158009472189f3d62"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c30187840d36d0ba2893bc3271a36a517a717f9fd383a98e2697ee890a37c273"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe81b35c33772e56f4b6cf62cf4aedc1762ef7162a31e6ac7fe5e40d0149eb67"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0bf89afcbcf4d1bb2652f6580e5e55a840fdf87384f6063c4a4f0c95e378656"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:06cf46bdff72f58645434d467bf5228080801298fbba19fe268a01b4534467f5"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:3c66df3f41abee950d6638adc7eac4730a306b022570f71dd0bd6ba53503ab57"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd805513198304026bd379d1d516afbf6c3c13f4382134a2c526b8b854da1c2e"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:9505dc359edb6a330efcd2be825fdb73ee3e628d9010597aa1aee5aa63442e97"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:31445f38053476a0c4e6d12b047b08ced81e2c7c712e5a1ad97bc913256f91b2"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win32.whl", hash = "sha256:bd28b31730f0e982ace8663d108e01199098432a30a4c410d06fe08fdb9e93f4"}, + {file = "charset_normalizer-3.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:555fe186da0068d3354cdf4bbcbc609b0ecae4d04c921cc13e209eece7720727"}, + {file = "charset_normalizer-3.3.1-py3-none-any.whl", hash = "sha256:800561453acdecedaac137bf09cd719c7a440b6800ec182f077bb8e7025fb708"}, ] [[package]] @@ -744,13 +744,13 @@ files = [ [[package]] name = "fsspec" -version = "2023.9.2" +version = "2023.10.0" description = "File-system specification" optional = false python-versions = ">=3.8" files = [ - {file = "fsspec-2023.9.2-py3-none-any.whl", hash = "sha256:603dbc52c75b84da501b9b2ec8c11e1f61c25984c4a0dda1f129ef391fbfc9b4"}, - {file = "fsspec-2023.9.2.tar.gz", hash = "sha256:80bfb8c70cc27b2178cc62a935ecf242fc6e8c3fb801f9c571fc01b1e715ba7d"}, + {file = "fsspec-2023.10.0-py3-none-any.whl", hash = "sha256:346a8f024efeb749d2a5fca7ba8854474b1ff9af7c3faaf636a4548781136529"}, + {file = "fsspec-2023.10.0.tar.gz", hash = "sha256:330c66757591df346ad3091a53bd907e15348c2ba17d63fd54f5c39c4457d2a5"}, ] [package.dependencies] @@ -1023,18 +1023,18 @@ files = [ [[package]] name = "imageio" -version = "2.31.5" +version = "2.31.6" description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats." optional = false python-versions = ">=3.8" files = [ - {file = "imageio-2.31.5-py3-none-any.whl", hash = "sha256:97f68e12ba676f2f4b541684ed81f7f3370dc347e8321bc68ee34d37b2dbac9f"}, - {file = "imageio-2.31.5.tar.gz", hash = "sha256:d8e53f9cd4054880276a3dac0a28c85ba7874084856a55a0294a8ae6ed7f3a8e"}, + {file = "imageio-2.31.6-py3-none-any.whl", hash = "sha256:70410af62626a4d725b726ab59138e211e222b80ddf8201c7a6561d694c6238e"}, + {file = "imageio-2.31.6.tar.gz", hash = "sha256:721f238896a9a99a77b73f06f42fc235d477d5d378cdf34dd0bee1e408b4742c"}, ] [package.dependencies] numpy = "*" -pillow = ">=8.3.2" +pillow = ">=8.3.2,<10.1.0" [package.extras] all-plugins = ["astropy", "av", "imageio-ffmpeg", "psutil", "tifffile"] @@ -1561,21 +1561,21 @@ files = [ [[package]] name = "networkx" -version = "3.1" +version = "3.2" description = "Python package for creating and manipulating graphs and networks" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "networkx-3.1-py3-none-any.whl", hash = "sha256:4f33f68cb2afcf86f28a45f43efc27a9386b535d567d2127f8f61d51dec58d36"}, - {file = "networkx-3.1.tar.gz", hash = "sha256:de346335408f84de0eada6ff9fafafff9bcda11f0a0dfaa931133debb146ab61"}, + {file = "networkx-3.2-py3-none-any.whl", hash = "sha256:8b25f564bd28f94ac821c58b04ae1a3109e73b001a7d476e4bb0d00d63706bf8"}, + {file = "networkx-3.2.tar.gz", hash = "sha256:bda29edf392d9bfa5602034c767d28549214ec45f620081f0b74dc036a1fbbc1"}, ] [package.extras] -default = ["matplotlib (>=3.4)", "numpy (>=1.20)", "pandas (>=1.3)", "scipy (>=1.8)"] -developer = ["mypy (>=1.1)", "pre-commit (>=3.2)"] -doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.13)", "sphinx (>=6.1)", "sphinx-gallery (>=0.12)", "texext (>=0.6.7)"] -extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.10)", "sympy (>=1.10)"] -test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] +default = ["matplotlib (>=3.5)", "numpy (>=1.22)", "pandas (>=1.4)", "scipy (>=1.9,!=1.11.0,!=1.11.1)"] +developer = ["changelist (==0.4)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] +doc = ["nb2plots (>=0.7)", "nbconvert (<7.9)", "numpydoc (>=1.6)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.14)", "sphinx (>=7)", "sphinx-gallery (>=0.14)", "texext (>=0.6.7)"] +extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.11)", "sympy (>=1.10)"] +test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] [[package]] name = "nodeenv" @@ -1723,65 +1723,65 @@ files = [ [[package]] name = "pillow" -version = "10.1.0" +version = "10.0.1" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ - {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, - {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, - {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, - {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, - {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, - {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, - {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, - {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, + {file = "Pillow-10.0.1-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:8f06be50669087250f319b706decf69ca71fdecd829091a37cc89398ca4dc17a"}, + {file = "Pillow-10.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:50bd5f1ebafe9362ad622072a1d2f5850ecfa44303531ff14353a4059113b12d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6a90167bcca1216606223a05e2cf991bb25b14695c518bc65639463d7db722d"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f11c9102c56ffb9ca87134bd025a43d2aba3f1155f508eff88f694b33a9c6d19"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:186f7e04248103482ea6354af6d5bcedb62941ee08f7f788a1c7707bc720c66f"}, + {file = "Pillow-10.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0462b1496505a3462d0f35dc1c4d7b54069747d65d00ef48e736acda2c8cbdff"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d889b53ae2f030f756e61a7bff13684dcd77e9af8b10c6048fb2c559d6ed6eaf"}, + {file = "Pillow-10.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:552912dbca585b74d75279a7570dd29fa43b6d93594abb494ebb31ac19ace6bd"}, + {file = "Pillow-10.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:787bb0169d2385a798888e1122c980c6eff26bf941a8ea79747d35d8f9210ca0"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:fd2a5403a75b54661182b75ec6132437a181209b901446ee5724b589af8edef1"}, + {file = "Pillow-10.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2d7e91b4379f7a76b31c2dda84ab9e20c6220488e50f7822e59dac36b0cd92b1"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19e9adb3f22d4c416e7cd79b01375b17159d6990003633ff1d8377e21b7f1b21"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93139acd8109edcdeffd85e3af8ae7d88b258b3a1e13a038f542b79b6d255c54"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:92a23b0431941a33242b1f0ce6c88a952e09feeea9af4e8be48236a68ffe2205"}, + {file = "Pillow-10.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:cbe68deb8580462ca0d9eb56a81912f59eb4542e1ef8f987405e35a0179f4ea2"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:522ff4ac3aaf839242c6f4e5b406634bfea002469656ae8358644fc6c4856a3b"}, + {file = "Pillow-10.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:84efb46e8d881bb06b35d1d541aa87f574b58e87f781cbba8d200daa835b42e1"}, + {file = "Pillow-10.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:898f1d306298ff40dc1b9ca24824f0488f6f039bc0e25cfb549d3195ffa17088"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:bcf1207e2f2385a576832af02702de104be71301c2696d0012b1b93fe34aaa5b"}, + {file = "Pillow-10.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d6c9049c6274c1bb565021367431ad04481ebb54872edecfcd6088d27edd6ed"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28444cb6ad49726127d6b340217f0627abc8732f1194fd5352dec5e6a0105635"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de596695a75496deb3b499c8c4f8e60376e0516e1a774e7bc046f0f48cd620ad"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:2872f2d7846cf39b3dbff64bc1104cc48c76145854256451d33c5faa55c04d1a"}, + {file = "Pillow-10.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4ce90f8a24e1c15465048959f1e94309dfef93af272633e8f37361b824532e91"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ee7810cf7c83fa227ba9125de6084e5e8b08c59038a7b2c9045ef4dde61663b4"}, + {file = "Pillow-10.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b1be1c872b9b5fcc229adeadbeb51422a9633abd847c0ff87dc4ef9bb184ae08"}, + {file = "Pillow-10.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:98533fd7fa764e5f85eebe56c8e4094db912ccbe6fbf3a58778d543cadd0db08"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:764d2c0daf9c4d40ad12fbc0abd5da3af7f8aa11daf87e4fa1b834000f4b6b0a"}, + {file = "Pillow-10.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fcb59711009b0168d6ee0bd8fb5eb259c4ab1717b2f538bbf36bacf207ef7a68"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:697a06bdcedd473b35e50a7e7506b1d8ceb832dc238a336bd6f4f5aa91a4b500"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f665d1e6474af9f9da5e86c2a3a2d2d6204e04d5af9c06b9d42afa6ebde3f21"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:2fa6dd2661838c66f1a5473f3b49ab610c98a128fc08afbe81b91a1f0bf8c51d"}, + {file = "Pillow-10.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:3a04359f308ebee571a3127fdb1bd01f88ba6f6fb6d087f8dd2e0d9bff43f2a7"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:723bd25051454cea9990203405fa6b74e043ea76d4968166dfd2569b0210886a"}, + {file = "Pillow-10.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:71671503e3015da1b50bd18951e2f9daf5b6ffe36d16f1eb2c45711a301521a7"}, + {file = "Pillow-10.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:44e7e4587392953e5e251190a964675f61e4dae88d1e6edbe9f36d6243547ff3"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:3855447d98cced8670aaa63683808df905e956f00348732448b5a6df67ee5849"}, + {file = "Pillow-10.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ed2d9c0704f2dc4fa980b99d565c0c9a543fe5101c25b3d60488b8ba80f0cce1"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5bb289bb835f9fe1a1e9300d011eef4d69661bb9b34d5e196e5e82c4cb09b37"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a0d3e54ab1df9df51b914b2233cf779a5a10dfd1ce339d0421748232cea9876"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:2cc6b86ece42a11f16f55fe8903595eff2b25e0358dec635d0a701ac9586588f"}, + {file = "Pillow-10.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:ca26ba5767888c84bf5a0c1a32f069e8204ce8c21d00a49c90dabeba00ce0145"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f0b4b06da13275bc02adfeb82643c4a6385bd08d26f03068c2796f60d125f6f2"}, + {file = "Pillow-10.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:bc2e3069569ea9dbe88d6b8ea38f439a6aad8f6e7a6283a38edf61ddefb3a9bf"}, + {file = "Pillow-10.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:8b451d6ead6e3500b6ce5c7916a43d8d8d25ad74b9102a629baccc0808c54971"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:32bec7423cdf25c9038fef614a853c9d25c07590e1a870ed471f47fb80b244db"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cf63d2c6928b51d35dfdbda6f2c1fddbe51a6bc4a9d4ee6ea0e11670dd981e"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f6d3d4c905e26354e8f9d82548475c46d8e0889538cb0657aa9c6f0872a37aa4"}, + {file = "Pillow-10.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:847e8d1017c741c735d3cd1883fa7b03ded4f825a6e5fcb9378fd813edee995f"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:7f771e7219ff04b79e231d099c0a28ed83aa82af91fd5fa9fdb28f5b8d5addaf"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459307cacdd4138edee3875bbe22a2492519e060660eaf378ba3b405d1c66317"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:b059ac2c4c7a97daafa7dc850b43b2d3667def858a4f112d1aa082e5c3d6cf7d"}, + {file = "Pillow-10.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d6caf3cd38449ec3cd8a68b375e0c6fe4b6fd04edb6c9766b55ef84a6e8ddf2d"}, + {file = "Pillow-10.0.1.tar.gz", hash = "sha256:d72967b06be9300fed5cfbc8b5bafceec48bf7cdc7dab66b1d2549035287191d"}, ] [package.extras] @@ -1921,13 +1921,13 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pytest" -version = "7.4.2" +version = "7.4.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.2-py3-none-any.whl", hash = "sha256:1d881c6124e08ff0a1bb75ba3ec0bfd8b5354a01c194ddd5a0a870a48d99b002"}, - {file = "pytest-7.4.2.tar.gz", hash = "sha256:a766259cfab564a2ad52cb1aae1b881a75c3eb7e34ca3779697c23ed47c47069"}, + {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, + {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, ] [package.dependencies] @@ -2141,37 +2141,37 @@ test = ["asv", "matplotlib (>=3.5)", "numpydoc (>=1.5)", "pooch (>=1.6.0)", "pyt [[package]] name = "scikit-learn" -version = "1.3.1" +version = "1.3.2" description = "A set of python modules for machine learning and data mining" optional = false python-versions = ">=3.8" files = [ - {file = "scikit-learn-1.3.1.tar.gz", hash = "sha256:1a231cced3ee3fa04756b4a7ab532dc9417acd581a330adff5f2c01ac2831fcf"}, - {file = "scikit_learn-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3153612ff8d36fa4e35ef8b897167119213698ea78f3fd130b4068e6f8d2da5a"}, - {file = "scikit_learn-1.3.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:6bb9490fdb8e7e00f1354621689187bef3cab289c9b869688f805bf724434755"}, - {file = "scikit_learn-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7135a03af71138669f19bc96e7d0cc8081aed4b3565cc3b131135d65fc642ba"}, - {file = "scikit_learn-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d8dee8c1f40eeba49a85fe378bdf70a07bb64aba1a08fda1e0f48d27edfc3e6"}, - {file = "scikit_learn-1.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:4d379f2b34096105a96bd857b88601dffe7389bd55750f6f29aaa37bc6272eb5"}, - {file = "scikit_learn-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14e8775eba072ab10866a7e0596bc9906873e22c4c370a651223372eb62de180"}, - {file = "scikit_learn-1.3.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:58b0c2490eff8355dc26e884487bf8edaccf2ba48d09b194fb2f3a026dd64f9d"}, - {file = "scikit_learn-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f66eddfda9d45dd6cadcd706b65669ce1df84b8549875691b1f403730bdef217"}, - {file = "scikit_learn-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6448c37741145b241eeac617028ba6ec2119e1339b1385c9720dae31367f2be"}, - {file = "scikit_learn-1.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:c413c2c850241998168bbb3bd1bb59ff03b1195a53864f0b80ab092071af6028"}, - {file = "scikit_learn-1.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ef540e09873e31569bc8b02c8a9f745ee04d8e1263255a15c9969f6f5caa627f"}, - {file = "scikit_learn-1.3.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9147a3a4df4d401e618713880be023e36109c85d8569b3bf5377e6cd3fecdeac"}, - {file = "scikit_learn-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2cd3634695ad192bf71645702b3df498bd1e246fc2d529effdb45a06ab028b4"}, - {file = "scikit_learn-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c275a06c5190c5ce00af0acbb61c06374087949f643ef32d355ece12c4db043"}, - {file = "scikit_learn-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:0e1aa8f206d0de814b81b41d60c1ce31f7f2c7354597af38fae46d9c47c45122"}, - {file = "scikit_learn-1.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:52b77cc08bd555969ec5150788ed50276f5ef83abb72e6f469c5b91a0009bbca"}, - {file = "scikit_learn-1.3.1-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a683394bc3f80b7c312c27f9b14ebea7766b1f0a34faf1a2e9158d80e860ec26"}, - {file = "scikit_learn-1.3.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15d964d9eb181c79c190d3dbc2fff7338786bf017e9039571418a1d53dab236"}, - {file = "scikit_learn-1.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ce9233cdf0cdcf0858a5849d306490bf6de71fa7603a3835124e386e62f2311"}, - {file = "scikit_learn-1.3.1-cp38-cp38-win_amd64.whl", hash = "sha256:1ec668ce003a5b3d12d020d2cde0abd64b262ac5f098b5c84cf9657deb9996a8"}, - {file = "scikit_learn-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ccbbedae99325628c1d1cbe3916b7ef58a1ce949672d8d39c8b190e10219fd32"}, - {file = "scikit_learn-1.3.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:845f81c7ceb4ea6bac64ab1c9f2ce8bef0a84d0f21f3bece2126adcc213dfecd"}, - {file = "scikit_learn-1.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8454d57a22d856f1fbf3091bd86f9ebd4bff89088819886dc0c72f47a6c30652"}, - {file = "scikit_learn-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d993fb70a1d78c9798b8f2f28705bfbfcd546b661f9e2e67aa85f81052b9c53"}, - {file = "scikit_learn-1.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:66f7bb1fec37d65f4ef85953e1df5d3c98a0f0141d394dcdaead5a6de9170347"}, + {file = "scikit-learn-1.3.2.tar.gz", hash = "sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05"}, + {file = "scikit_learn-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1"}, + {file = "scikit_learn-1.3.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a"}, + {file = "scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c"}, + {file = "scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161"}, + {file = "scikit_learn-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c"}, + {file = "scikit_learn-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66"}, + {file = "scikit_learn-1.3.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157"}, + {file = "scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb"}, + {file = "scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433"}, + {file = "scikit_learn-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b"}, + {file = "scikit_learn-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028"}, + {file = "scikit_learn-1.3.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5"}, + {file = "scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525"}, + {file = "scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c"}, + {file = "scikit_learn-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107"}, + {file = "scikit_learn-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a19f90f95ba93c1a7f7924906d0576a84da7f3b2282ac3bfb7a08a32801add93"}, + {file = "scikit_learn-1.3.2-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:b8692e395a03a60cd927125eef3a8e3424d86dde9b2370d544f0ea35f78a8073"}, + {file = "scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15e1e94cc23d04d39da797ee34236ce2375ddea158b10bee3c343647d615581d"}, + {file = "scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:785a2213086b7b1abf037aeadbbd6d67159feb3e30263434139c98425e3dcfcf"}, + {file = "scikit_learn-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:64381066f8aa63c2710e6b56edc9f0894cc7bf59bd71b8ce5613a4559b6145e0"}, + {file = "scikit_learn-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6c43290337f7a4b969d207e620658372ba3c1ffb611f8bc2b6f031dc5c6d1d03"}, + {file = "scikit_learn-1.3.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:dc9002fc200bed597d5d34e90c752b74df516d592db162f756cc52836b38fe0e"}, + {file = "scikit_learn-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d08ada33e955c54355d909b9c06a4789a729977f165b8bae6f225ff0a60ec4a"}, + {file = "scikit_learn-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:763f0ae4b79b0ff9cca0bf3716bcc9915bdacff3cebea15ec79652d1cc4fa5c9"}, + {file = "scikit_learn-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:ed932ea780517b00dae7431e031faae6b49b20eb6950918eb83bd043237950e0"}, ] [package.dependencies] @@ -2533,13 +2533,13 @@ files = [ [[package]] name = "urllib3" -version = "2.0.6" +version = "2.0.7" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.7" files = [ - {file = "urllib3-2.0.6-py3-none-any.whl", hash = "sha256:7a7c7003b000adf9e7ca2a377c9688bbc54ed41b985789ed576570342a375cd2"}, - {file = "urllib3-2.0.6.tar.gz", hash = "sha256:b19e1a85d206b56d7df1d5e683df4a7725252a964e3993648dd0fb5a1c157564"}, + {file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"}, + {file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"}, ] [package.extras] @@ -2550,13 +2550,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.24.5" +version = "20.24.6" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.5-py3-none-any.whl", hash = "sha256:b80039f280f4919c77b30f1c23294ae357c4c8701042086e3fc005963e4e537b"}, - {file = "virtualenv-20.24.5.tar.gz", hash = "sha256:e8361967f6da6fbdf1426483bfe9fca8287c242ac0bc30429905721cefbff752"}, + {file = "virtualenv-20.24.6-py3-none-any.whl", hash = "sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381"}, + {file = "virtualenv-20.24.6.tar.gz", hash = "sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"}, ] [package.dependencies] From 2f859d08bc4dd8bdf34850e9d62ec3935b069cb6 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 11:50:56 +0800 Subject: [PATCH 21/28] Add lightning class docs --- Writerside/d.tree | 1 + Writerside/topics/train.frdc_lightning.md | 70 +++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 Writerside/topics/train.frdc_lightning.md diff --git a/Writerside/d.tree b/Writerside/d.tree index bdbc963c..2f645f6f 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -15,4 +15,5 @@ + \ No newline at end of file diff --git a/Writerside/topics/train.frdc_lightning.md b/Writerside/topics/train.frdc_lightning.md new file mode 100644 index 00000000..e5a358d2 --- /dev/null +++ b/Writerside/topics/train.frdc_lightning.md @@ -0,0 +1,70 @@ +# train.frdc_datamodule & frdc_module + + +The FRDC PyTorch LightningDataModule and LightningModule. + + +These are FRDC specific LightningDataModule and LightningModule, +a core component in the PyTorch Lightning ecosystem to provide a simple +interface to train and evaluate models. + +## Classes + +> It's optional to use these classes, you can use your own training loop +> if you want. We'll use these for our training pipeline. +> {style='note'} + + + +The FRDC PyTorch Lightning DataModule. + + +The FRDC PyTorch Lightning Module. + + + +## Usage + +> See our training pipeline for a full example + +## API + + + +Initializes the FRDC PyTorch Lightning DataModule.
    + +
  • segments, labels are retrieved from + +
  • FRDCDataset
  • +
  • Segmentation
  • +
    + +
  • preprocess is a function that takes in a segment and returns a preprocessed +segment. In particular, it should accept a list of NumPy NDArrays and return +a single stacked PyToch Tensor.
  • +
  • augmentation is a function that takes in a segment and returns an augmented +segment. In particular, it takes in a PyTorch Tensor and returns another.
  • +
  • train_val_test_split is a function that takes a TensorDataset and returns +a list of 3 TensorDatasets, for train, val and test respectively.
  • +
  • batch_size is the batch size.
  • + +For now, the augmentation is only applied to training +data +
    + +Initializes the FRDC PyTorch Lightning Module.
    + +
  • model_cls is the Class of the model.
  • +
  • model_kwargs is the kwargs to pass to the model.
  • +
  • optim_cls is the Class of the optimizer.
  • +
  • optim_kwargs is the kwargs to pass to the optimizer.
  • +
    +Internally, the module will initialize the model and optimizer as follows: + +model = model_cls(**model_kwargs) +optim = optim_cls(model.parameters(), **optim_kwargs) + +We do not accept the instances of the Model and Optimizer so +that we can pickle them. +
    +
    From 93f64ae5a4e7dbd72d760d4302845c6d61cbbb81 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 13:20:13 +0800 Subject: [PATCH 22/28] Add model methodology --- Writerside/d.tree | 3 +- Writerside/images/cm-chestnut-maydec.png | Bin 0 -> 100972 bytes Writerside/images/graph-chestnut-maydec.png | Bin 0 -> 125907 bytes .../topics/Model-Test-Chestnut-May-Dec.md | 113 ++++++++++++++++++ 4 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 Writerside/images/cm-chestnut-maydec.png create mode 100644 Writerside/images/graph-chestnut-maydec.png create mode 100644 Writerside/topics/Model-Test-Chestnut-May-Dec.md diff --git a/Writerside/d.tree b/Writerside/d.tree index 2f645f6f..692d0784 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -9,11 +9,12 @@ + - + \ No newline at end of file diff --git a/Writerside/images/cm-chestnut-maydec.png b/Writerside/images/cm-chestnut-maydec.png new file mode 100644 index 0000000000000000000000000000000000000000..c41f8697719073ae4e6d5be2e114bd8c342b4829 GIT binary patch literal 100972 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 G;r|PpfL>Mr literal 0 HcmV?d00001 diff --git a/Writerside/images/graph-chestnut-maydec.png b/Writerside/images/graph-chestnut-maydec.png new file mode 100644 index 0000000000000000000000000000000000000000..b717ae369b35ce6be628bed1468e4cf9de852b46 GIT binary patch literal 125907 zcmeFZWmuGL_cy8{!hnRMfHVU`mvq-qLrHfjAtfN)ATo3fT>=6_H-geA(j|=`-60Lq zurF`#=Zs)J{ztt0}@>CWFiv;V|ty?&9a4EH0x9+ms zx`loV^A7M0nw5s=ty`~e$w^6QxEuXw@*d|m(L;4^BhxZvi@4dTGw!{z`NB=JTcM+e6@cGYllf!K5 zG*DHR)2VGjm%iQu#lZocCqbu&D_}7*xB$ET@zkA z%5-*h9Y_~)yS_Y|nVGq|x?&uJ`idZC%&3Hsa#6PYbC*sET&*n~$v ze^wz3Tqn&v8UMTxBGp8TfSOHKncGa1&D6UT8~tMAuNO7PQ`kKW3<%`+$JareY~
  • 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 ZefMG;UV{pws5Rin-1Lyi1EW7e{|5-hW8(k- literal 0 HcmV?d00001 diff --git a/Writerside/topics/Model-Test-Chestnut-May-Dec.md b/Writerside/topics/Model-Test-Chestnut-May-Dec.md new file mode 100644 index 00000000..f1ce790d --- /dev/null +++ b/Writerside/topics/Model-Test-Chestnut-May-Dec.md @@ -0,0 +1,113 @@ +# Model Test Chestnut May-Dec + +This test is used to evaluate the model performance on the Chestnut Nature Park +May & December dataset. + +See this script in pipeline/model_tests/chestnut_dec_may/main.py. + +## Motivation + +The usage of this model will be to classify trees in unseen datasets under +different conditions. In this test, we'll evaluate it under a different season. + +A caveat is that it'll be evaluated on the same set of trees, so it's not a +representative of a field-test. However, given difficulties of yielding +datasets, this still gives us a good preliminary idea of how the model will +perform in different conditions. + +## Methodology + +We simply train on the December dataset, and test on the May dataset. + +```mermaid +graph LR + Model -- Train --> DecDataset + Model -- Test --> MayDataset +``` + +> The inverse of this test is also plausible. + +> Ideally, we should have a Validation set to tune the hyperparameters, but +> given the limitations of the dataset, we'll skip this step. +> {style='warning'} + +## Model + +The current Model used is a simple InceptionV3 Transfer Learning model, with +the last layer replaced with a fully connected layer(s). + +```mermaid +graph LR + Input --> InceptionV3 + InceptionV3[InceptionV3 Frozen] --> FC["FC Layer(s)"] + FC --> Softmax + Softmax --> Output + Input -- Cross Entropy Loss --> Output +``` + +> We didn't find significant evidence of improvements of using a more complex +> FC layer, so multiple or single FC layer are feasible. + +## Preprocessing + +We perform the following steps: + +```mermaid +graph v + Segment --> Scale[Scale Values to 0-1] + Scale --> GLCM[GLCM Step 7, Rad 3, Bin 128, Mean Feature] + GLCM --> ScaleNorm[Scale Values to 0 Mean 1 Var] + ScaleNorm --> Resize[Resize to 299x299] +``` + +> We need to scale to 0-1 before GLCM, so that GLCM can bin the values +> correctly. + +### Augmentation + +The following augmentations are used: + +```mermaid +graph > + Segment --> HFLip[Horizontal Flip 50%] + HFLip --> VFLip[Vertical Flip 50%] +``` + +> This only operates on training data. + +## Hyperparameters + +The following hyperparameters are used: + +- Optimizer: Adam +- Learning Rate: 1e-3 +- Batch Size: 5 +- Epochs: 100 +- Early Stopping: 4 + +## Results + +We yield around 40% accuracy on the test set, compared to around 65% for the +training set. Raising the training accuracy with a more complex model may +improve the test accuracy, however, due to instability of our test +results, we can't be sure of this. + +### Result Images {collapsible="true"} + + + +graph-chestnut-maydec.png + + +cm-chestnut-maydec.png + + + +### Caveats + +- The test set is very small, so the results are not very representative. +- The test set is the same set of trees, so it's not a true test of the model + performance in different conditions. +- There are many classes with 1 sample, so the model may not be able to learn + the features of these classes well. + \ No newline at end of file From eb77fb5a5dbefa922883039c5f82f8dd499be809 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 13:20:38 +0800 Subject: [PATCH 23/28] Update docs --- docs/HelpTOC.json | 2 +- docs/Map.jhm | 2 +- docs/getting-started.html | 18 ++++++++-------- docs/images/cm-chestnut-maydec.png | Bin 0 -> 100972 bytes docs/images/graph-chestnut-maydec.png | Bin 0 -> 125907 bytes docs/load-dataset.html | 8 +++---- docs/model-test-chestnut-may-dec.html | 1 + docs/overview.html | 2 +- docs/preprocessing-extract-segments.html | 16 +++++++------- docs/preprocessing-glcm-padded.html | 26 +++++++++++++++++++++++ docs/preprocessing-morphology.html | 6 +++--- docs/preprocessing-scale.html | 4 ++-- docs/train-frdc-lightning.html | 4 ++++ webHelpD2-all.zip | Bin 33722 -> 242632 bytes 14 files changed, 60 insertions(+), 29 deletions(-) create mode 100644 docs/images/cm-chestnut-maydec.png create mode 100644 docs/images/graph-chestnut-maydec.png create mode 100644 docs/model-test-chestnut-may-dec.html create mode 100644 docs/preprocessing-glcm-padded.html create mode 100644 docs/train-frdc-lightning.html diff --git a/docs/HelpTOC.json b/docs/HelpTOC.json index 5564d1c0..9596ec5b 100644 --- a/docs/HelpTOC.json +++ b/docs/HelpTOC.json @@ -1 +1 @@ -{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1},"load.dataset":{"id":"load.dataset","title":"load.dataset","url":"load-dataset.html","level":0,"tabIndex":2},"preprocessing.scale":{"id":"preprocessing.scale","title":"preprocessing.scale","url":"preprocessing-scale.html","level":0,"tabIndex":3},"preprocessing.extract_segments":{"id":"preprocessing.extract_segments","title":"preprocessing.extract_segments","url":"preprocessing-extract-segments.html","level":0,"tabIndex":4},"preprocessing.morphology":{"id":"preprocessing.morphology","title":"preprocessing.morphology","url":"preprocessing-morphology.html","level":0,"tabIndex":5}}},"topLevelIds":["Overview","Getting-Started","load.dataset","preprocessing.scale","preprocessing.extract_segments","preprocessing.morphology"]} \ No newline at end of file +{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1},"Model-Test-Chestnut-May-Dec":{"id":"Model-Test-Chestnut-May-Dec","title":"Model Test Chestnut May-Dec","url":"model-test-chestnut-may-dec.html","level":0,"tabIndex":2},"load.dataset":{"id":"load.dataset","title":"load.dataset","url":"load-dataset.html","level":0,"tabIndex":3},"preprocessing.scale":{"id":"preprocessing.scale","title":"preprocessing.scale","url":"preprocessing-scale.html","level":0,"tabIndex":4},"preprocessing.extract_segments":{"id":"preprocessing.extract_segments","title":"preprocessing.extract_segments","url":"preprocessing-extract-segments.html","level":0,"tabIndex":5},"preprocessing.morphology":{"id":"preprocessing.morphology","title":"preprocessing.morphology","url":"preprocessing-morphology.html","level":0,"tabIndex":6},"preprocessing.glcm_padded":{"id":"preprocessing.glcm_padded","title":"preprocessing.glcm_padded","url":"preprocessing-glcm-padded.html","level":0,"tabIndex":7},"train.frdc_lightning":{"id":"train.frdc_lightning","title":"train.frdc_datamodule \u0026 frdc_module","url":"train-frdc-lightning.html","level":0,"tabIndex":8}}},"topLevelIds":["Overview","Getting-Started","Model-Test-Chestnut-May-Dec","load.dataset","preprocessing.scale","preprocessing.extract_segments","preprocessing.morphology","preprocessing.glcm_padded","train.frdc_lightning"]} \ No newline at end of file diff --git a/docs/Map.jhm b/docs/Map.jhm index d5ac1aa1..3785e5e0 100644 --- a/docs/Map.jhm +++ b/docs/Map.jhm @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html index d305d68c..64c56e7f 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -1,20 +1,20 @@ - Getting Started | Documentation

    Getting Started

    Installing the Dev. Environment

    1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

    2. Install the dependencies. You should be in the same directory as pyproject.toml

      poetry install --with dev -
    3. Install Pre-Commit Hooks

      +
    4. Install Pre-Commit Hooks

      pre-commit install -

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • +

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • pre-commit install -

    Running the Tests

    1. Run the tests to make sure everything is working

      +

    Running the Tests

    1. Run the tests to make sure everything is working

      pytest -
    2. In case of errors:

      google.auth.exceptions.DefaultCredentialsError

      If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

      ModuleNotFoundError

      If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

    Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 25 October 2023
    \ No newline at end of file +
  • In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

  • Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/images/cm-chestnut-maydec.png b/docs/images/cm-chestnut-maydec.png new file mode 100644 index 0000000000000000000000000000000000000000..c41f8697719073ae4e6d5be2e114bd8c342b4829 GIT binary patch literal 100972 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 G;r|PpfL>Mr literal 0 HcmV?d00001 diff --git a/docs/images/graph-chestnut-maydec.png b/docs/images/graph-chestnut-maydec.png new file mode 100644 index 0000000000000000000000000000000000000000..b717ae369b35ce6be628bed1468e4cf9de852b46 GIT binary patch literal 125907 zcmeFZWmuGL_cy8{!hnRMfHVU`mvq-qLrHfjAtfN)ATo3fT>=6_H-geA(j|=`-60Lq zurF`#=Zs)J{ztt0}@>CWFiv;V|ty?&9a4EH0x9+ms zx`loV^A7M0nw5s=ty`~e$w^6QxEuXw@*d|m(L;4^BhxZvi@4dTGw!{z`NB=JTcM+e6@cGYllf!K5 zG*DHR)2VGjm%iQu#lZocCqbu&D_}7*xB$ET@zkA z%5-*h9Y_~)yS_Y|nVGq|x?&uJ`idZC%&3Hsa#6PYbC*sET&*n~$v ze^wz3Tqn&v8UMTxBGp8TfSOHKncGa1&D6UT8~tMAuNO7PQ`kKW3<%`+$JareY~
  • 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 ZefMG;UV{pws5Rin-1Lyi1EW7e{|5-hW8(k- literal 0 HcmV?d00001 diff --git a/docs/load-dataset.html b/docs/load-dataset.html index 80e3d822..7d1aedfb 100644 --- a/docs/load-dataset.html +++ b/docs/load-dataset.html @@ -1,4 +1,4 @@ - load.dataset | Documentation

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    + load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    from frdc.load import FRDCDataset ds = FRDCDataset(site='chestnut_nature_park', @@ -6,7 +6,7 @@ version=None, ) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    +

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    from frdc.load import FRDCDownloader, FRDCDataset dl = FRDCDownloader(credentials=..., @@ -19,7 +19,7 @@ dl=dl) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    +

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    from frdc.load import FRDCDownloader dl = FRDCDownloader(credentials=..., @@ -28,4 +28,4 @@ bucket_name=...) dl.download_file(path_glob="path/to/gcs/file") -

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/20201218/90deg/map,

    • site='my-site'

    • date='20201218'

    • version='90deg/map'

    If the dataset doesn't have a "version", for example: gs://frdc-scan/my-site/20201218, then you can pass in version=None.


    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/20201218/90deg/map,

    • site='my-site'

    • date='20201218'

    • version='90deg/map'

    If the dataset doesn't have a "version", for example: gs://frdc-scan/my-site/20201218, then you can pass in version=None.


    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/model-test-chestnut-may-dec.html b/docs/model-test-chestnut-may-dec.html new file mode 100644 index 00000000..6c0777ab --- /dev/null +++ b/docs/model-test-chestnut-may-dec.html @@ -0,0 +1 @@ + Model Test Chestnut May-Dec | Documentation

    Documentation 0.0.4 Help

    Model Test Chestnut May-Dec

    This test is used to evaluate the model performance on the Chestnut Nature Park May & December dataset.

    See this script in pipeline/model_tests/chestnut_dec_may/main.py.

    Motivation

    The usage of this model will be to classify trees in unseen datasets under different conditions. In this test, we'll evaluate it under a different season.

    A caveat is that it'll be evaluated on the same set of trees, so it's not a representative of a field-test. However, given difficulties of yielding datasets, this still gives us a good preliminary idea of how the model will perform in different conditions.

    Methodology

    We simply train on the December dataset, and test on the May dataset.

    Train
    Test
    Model
    DecDataset
    MayDataset

    Model

    The current Model used is a simple InceptionV3 Transfer Learning model, with the last layer replaced with a fully connected layer(s).

    Cross Entropy Loss
    Input
    InceptionV3 Frozen
    FC Layer(s)
    Softmax
    Output

    Preprocessing

    We perform the following steps:

    Segment
    Scale Values to 0-1
    GLCM Step 7, Rad 3, Bin 128, Mean Feature
    Scale Values to 0 Mean 1 Var
    Resize to 299x299

    Augmentation

    The following augmentations are used:

    Segment
    Horizontal Flip 50%
    Vertical Flip 50%

    Hyperparameters

    The following hyperparameters are used:

    • Optimizer: Adam

    • Learning Rate: 1e-3

    • Batch Size: 5

    • Epochs: 100

    • Early Stopping: 4

    Results

    We yield around 40% accuracy on the test set, compared to around 65% for the training set. Raising the training accuracy with a more complex model may improve the test accuracy, however, due to instability of our test results, we can't be sure of this.

    Result Images

    graph-chestnut-maydec.png
    cm-chestnut-maydec.png

    Caveats

    • The test set is very small, so the results are not very representative.

    • The test set is the same set of trees, so it's not a true test of the model performance in different conditions.

    • There are many classes with 1 sample, so the model may not be able to learn the features of these classes well.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/overview.html b/docs/overview.html index 9238bfd8..e1030fc2 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -1 +1 @@ - Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 25 October 2023
    \ No newline at end of file + Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-extract-segments.html b/docs/preprocessing-extract-segments.html index a2465dfc..163678d2 100644 --- a/docs/preprocessing-extract-segments.html +++ b/docs/preprocessing-extract-segments.html @@ -1,4 +1,4 @@ - preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    + preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    +-----------------+ +-----------+ | Original | | Segmented | | Image | | Image | @@ -9,7 +9,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 8 | 9 | +-----+-----+-----+ +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Original | | Segmented | | Image | | Image | @@ -20,7 +20,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 0 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +-----------------+ +-----------------+ | Label | | Original | | Classification | | Image | @@ -31,7 +31,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 1 | 1 | 0 | | 7 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +-----------+ +-----------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -42,7 +42,7 @@ +-----+-----+ +-----+-----+ | 7 | 8 | +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -53,7 +53,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 7 | 8 | 0 | | 0 | 0 | 0 | +-----+-----+-----+ +-----+-----+-----+ -
    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Usage

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    +
    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Usage

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    import numpy as np from frdc.load import FRDCDataset from frdc.preprocess.extract_segments import extract_segments_from_bounds @@ -65,7 +65,7 @@ bounds, labels = ds.get_bounds_and_labels() segments: list[np.ndarray] = extract_segments_from_bounds(ar, bounds) -

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    +

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    from skimage.morphology import remove_small_objects, remove_small_holes import numpy as np @@ -91,4 +91,4 @@ min_height=10, min_width=10) segments: list[np.ndarray] = extract_segments_from_labels(ar, ar_labels) -

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-glcm-padded.html b/docs/preprocessing-glcm-padded.html new file mode 100644 index 00000000..32feea67 --- /dev/null +++ b/docs/preprocessing-glcm-padded.html @@ -0,0 +1,26 @@ + preprocessing.glcm_padded | Documentation

    Documentation 0.0.4 Help

    preprocessing.glcm_padded

    Functions

    glcm_padded

    Computes the GLCM of the NDArray bands with padding.

    glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it.

    append_glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.

    Usage

    We show a few examples of how to use the GLCM functions.

    +import numpy as np +from glcm_cupy import Features + +from frdc.preprocess.glcm_padded import ( + append_glcm_padded_cached, glcm_padded, glcm_padded_cached +) + +ar = np.random.rand(50, 25, 4) + +# Returns a shape of H x W x C x GLCM Features +ar_glcm = glcm_padded(ar, bin_from=1, bin_to=4, radius=3, ) + +# Returns a shape of H x W x C x 2 +ar_glcm_2_features = glcm_padded(ar, bin_from=1, bin_to=4, radius=3, + features=[Features.CONTRAST, + Features.CORRELATION]) + +# Returns a shape of H x W x C x GLCM Features +ar_glcm_cached = glcm_padded_cached(ar, bin_from=1, bin_to=4, radius=3) + +# Returns a shape of H x W x (C x GLCM Features + C) +ar_glcm_cached_appended = append_glcm_padded_cached(ar, bin_from=1, bin_to=4, + radius=3) + +
    • ar_glcm is the GLCM of the original array, with the last dimension being the GLCM features. The number of features is determined by the features parameter, which defaults to all features.

    • ar_glcm_2_features selects only 2 features, with the last dimension being the 2 GLCM features specified.

    • ar_glcm_cached caches the GLCM so that if you call it again, it will return the cached version. It stores its data at the project root dir, under .cache/.

    • ar_glcm_cached_appended is a wrapper around ar_glcm_cached, it appends the GLCM features onto the original array. It's equivalent to calling ar_glcm_cached and then np.concatenate on the final axes.

    Caching

    GLCM is an expensive operation, thus we recommend to cache it if the input parameters will be the same. This is especially useful if you're experimenting with the same dataset with constant parameters.

    API

    glcm_padded(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding.


    • ar is the input array

    • bin_from is the upper bound of the input

    • bin_to is the upper bound of the GLCM input, i.e. the resolution that GLCM operates on

    • radius is the radius of the GLCM

    • step_size is the step size of the GLCM

    • features is the list of GLCM features to compute

    The return shape is

    See glcm_cupy for the GLCM Features.

    glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it.


    See glcm_padded for the parameters and output shape

    append_glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.


    See glcm_padded for the parameters


    The return shape is:

    The function automatically flattens the last 2 dimensions of the GLCM features, and appends it onto the original array.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-morphology.html b/docs/preprocessing-morphology.html index d09ff367..39df4e66 100644 --- a/docs/preprocessing-morphology.html +++ b/docs/preprocessing-morphology.html @@ -1,4 +1,4 @@ - preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    + preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    from frdc.load import FRDCDataset from frdc.preprocess.morphology import ( threshold_binary_mask, binary_watershed @@ -10,6 +10,6 @@ ar, order = ds.get_ar_bands() mask = threshold_binary_mask(ar, order.index('NIR'), 90 / 256) ar_label = binary_watershed(mask) -

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    +

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    ar[..., band_idx] > threshold_value -
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 25 October 2023
    \ No newline at end of file +
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-scale.html b/docs/preprocessing-scale.html index 4fcaa6c5..41504a1d 100644 --- a/docs/preprocessing-scale.html +++ b/docs/preprocessing-scale.html @@ -1,4 +1,4 @@ - preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    + preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    from frdc.load import FRDCDataset from frdc.preprocess.scale import ( scale_0_1_per_band, scale_normal_per_band, scale_static_per_band @@ -12,4 +12,4 @@ ar_01 = scale_0_1_per_band(ar) ar_norm = scale_normal_per_band(ar) ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) -

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 25 October 2023
    \ No newline at end of file +

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/train-frdc-lightning.html b/docs/train-frdc-lightning.html new file mode 100644 index 00000000..7c945754 --- /dev/null +++ b/docs/train-frdc-lightning.html @@ -0,0 +1,4 @@ + train.frdc_datamodule & frdc_module | Documentation

    Documentation 0.0.4 Help

    train.frdc_datamodule & frdc_module

    These are FRDC specific LightningDataModule and LightningModule, a core component in the PyTorch Lightning ecosystem to provide a simple interface to train and evaluate models.

    Classes

    FRDCDataModule

    The FRDC PyTorch Lightning DataModule.

    FRDCModule

    The FRDC PyTorch Lightning Module.

    Usage

    API

    FRDCDataModule(segments, labels, preprocess, augmentation, train_val_test_split, batch_size)

    Initializes the FRDC PyTorch Lightning DataModule.


    • segments, labels are retrieved from

    • preprocess is a function that takes in a segment and returns a preprocessed segment. In particular, it should accept a list of NumPy NDArrays and return a single stacked PyToch Tensor.

    • augmentation is a function that takes in a segment and returns an augmented segment. In particular, it takes in a PyTorch Tensor and returns another.

    • train_val_test_split is a function that takes a TensorDataset and returns a list of 3 TensorDatasets, for train, val and test respectively.

    • batch_size is the batch size.

    FRDCModule(model_cls, model_kwargs, optim_cls, optim_kwargs)

    Initializes the FRDC PyTorch Lightning Module.


    • model_cls is the Class of the model.

    • model_kwargs is the kwargs to pass to the model.

    • optim_cls is the Class of the optimizer.

    • optim_kwargs is the kwargs to pass to the optimizer.

    Internally, the module will initialize the model and optimizer as follows:

    +model = model_cls(**model_kwargs) +optim = optim_cls(model.parameters(), **optim_kwargs) +
    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/webHelpD2-all.zip b/webHelpD2-all.zip index a068cf99e8bd62a5b04d764b17b9d9ccafad4fdd..30564821f9753b932360e036f92fc8549596a0c2 100644 GIT binary patch delta 236874 zcmZU(V{k4^)U_Ggwr$(CZQJ%8+qO=8V%xTz6Wew&&pY_0zL~DB-d$b&t5^To*IJzs zAmgV9@Jh0vU}!*4P*6b8Habc0^`QS#`X&CSq(B3k0>pN|yFERdoZlka2o(i>pU&}f zIGS?vzTIBlcOc6~FprD5$KS~mZk|eVXAUKJ1<=GF+B5O2yXOI1OIkRb%ny%^RnOid zw*T;~rM21A^*Cuf4a}R`J5x&Io9pmcy?%fATSgC`-ke5ru>3h)^L`u0YZIDL)lS9# z0D5y=0deFH=Tf$B_N-;Vely9|ddiA|egSn6**3-U%Mg{~e20=c>ISLuJGRwSO(e%{ zo6M%)E|@WNj!%teY0dIm3-qdO-*f4%MmdlgMqtWl9YO3@As1yn4Vn6PRhqxM0Ca2s z=6RoT#KCF(M0PGAU?_)zmg1^9>Th`Y6<}ivz@j~^#Ol!4$b~m$65+05{upk4p5&3I zK0`A5Tqfr>sA&ox$g_Cx&NqjmZ2#pN$Bp-Us7Wu|0$QV|<}-3?p2tppro_2IVvT{m zCZRK1=Ut1RNhTMx%EUyyZeQ!RQ&GS@VA?kY&@8;{ueZhf0}wOr*;|TYig`I4-`moE+fT$7 zT23sTlk{DZ&ptPSIGql|4c$s3v2^#l|>wI0@S3ArnJ9OO82Y@F7Ufp$n z8zX56GTVZ(GE!Uw^I}d2Hd>B@dV2UhYH|GPKXJ$ZnqGIfuI!PXDwN)L?cUt~?Ihex zw+rj&9|p|3zc|mrzR07`mCLQIM4qa1pQ^ihmZYVCR%T{A6EI=#G(*Of=v}PX8EtW7 z=;NM^s*qisvNah@3<#~a@fA1%YPaC%dDS3VT086vDDI7Zy160_8yc>PCw;-k&ez%G zhVT{1Oqf(bm_u@*Yy$THnk9e93XkSEwLxY1RProo$XyVANvhiR!MGW@H#B50P3M-IAokp&QGf zx_(br^?a_=q6akvCO#MeF$A>hkOZ7mvaDi%DusP1MlqR7`QO$jfR2#wx_$T~+*LDd zE`M{y1yW6&jy9grV!=BA0vq79E>{BBTcMj(Nw-X~W>q-6h-Rl6u~ja)jeXu`V<+7I zh80xsL1f)Xce<{)(E>wVZ0V(1;>Gq!yseZfrB$gc1WSX}huX-tt3-LrC7(YpG2RpX z{undFFn@HPdC%!)n6nCGITrdU8d!Tcbi_%KXY=EjI}9Hu#37_n~rkuM7&nxE(QW*~`-=5NW9YhIE1o=3ON|8>jGdHyIj_wk!7(nNPC2-Q znUtaM7)fq7!pse7f`zc)m77duv`&9`R({*O|3VP@hC7Qb%RP=TrGaYAtW)AU{s5?8-Aea`_W3Kb^*UHV!uu{MBnEradOPsOybNYgLkeNZFcv&F8)E8 zugKj<+QYDG-R=JdL8109o^@JVHLNPx$r4j6C|Cfiw7j9!Xu_5Kfa&PwZedQ|q_W+? zjnou9SQF}#Ma$SS@*iBp)ZG-wn;L{KHd>4}U;I|rxpq&B6ruVF<8G9OseCu`Ql|UE zX1R-dpYQq{#%j*GXsoiHN(?>vQ8aQt&vj6Zz-vZt^@Tz0zfv2N3t#(O0u#AqB7|nMw`Ib^O;jec;?>*tTzO- zcsbqJd-x3v6_Di$9YZre>+aRP9kS)5b3TB61?iH%b`e2l0$JLkGez#IPa-BQodzw| z=sMG?+Kuazu-OM=B_afBA}zMdDyBBGLC&!&nz)(F;f4%@v+}M7?iD2$_1y)Aw@iNc z!9N^iaM}GNGLus7T0&B)g-5-FYY%LNuw@9DCLvm=ndFB{O5DxyMu>jDU`=RMfe--f zoxQff%G@gjlTCBhILFF3CxWNmNpm}c|BidxH$k~4h@*MZi@!mdi(eVu1>wn6PGfF= zo?uaIPkU$5G1OTAnvTP~fUS&#t&<*?C0lhir%~ga)Cs&UoFuD>?TakjZf2y2i#TIX zGDWrPohIa=z(}$=zc-fL-q90pqb)$iS};GWJAbWpsicu2=JCpK(4vOpLeSje9>kRf zN5^OnEl5o%2U<>DbjhbGg>EBSd5eybQoEt6U7G)iV8JARmmh)*Sjmy&$V3#Y)>zV= zYm}ON%)5qE$MBZk2gWU0e3x#`5{cGeG^X2_atdLiV7Ht9eX4iGV0MbByO9+tp=*Jp#YRNV#Jx^te&;@J3}^uie+twO)LUD1-t zK{>_kO+>n?1Yi!=H((C!8ETJp=S@VrSfpYZ$B*6D8y>qW+S_Ay26l9wq;_H0@LQ0Y zCFg?IA*{eyWQf{_Im-a)>;in4i6$R=^VPj)TW3t1p4xPHR=R%*ar+$hir0W+?7q^W?My=g{2D|jVf24be;lag{0v1>UNsv3VDM4x%1 z?jp0lIf;v^gyDcmP9KD)Yo#=jXcG6Sl8yGI4qAa-7Un{&nqmdQAOIk1{34x-!n=sQ zqT7X@d&xfftqtI&(Tg6rg6=dhI}E0S8C|5;;=B7O1!=Gi9*X3+ehh>agCDhFW)a}t zwy%fG?iOnQLR26+v`!hk5Qz5r!!_iG6@ZTOE)F%y4>9(#sapumbGh z&l_wH>YRH${H|0Mll$9a_fPfc*AIqnO?vfDBk|dmpW)c|pb`M!RN9m9!!-j*@umF1 znl<_;ag(tQ5?^zg=L6$xn{{X}Syf15kK_*Tl$oj-s%4~UIFzlSU9Cy(W!aGeEif~M z%VV>4wuU4*DIp}~d#bH+S-Gieat#@$Z~1lNczm5y76JDwvc*>24+EO;j!=X6Z}y>B zz{bsV1Tn^NElaWbdpJagJCea5bY zx>i~A3@G`J-T^yfQ?a+^eBdc_w@c}`aNR@nrAad6^amijG8Aorup)|Um_|TXk{;l2x zZkFCsQcq{gyy2d}WY0?~<4G~#QKZcEsoF}KN_X>$l5_()n=`E0s_V15{$kkI!9#-@ z%wR2qaBnZ0P#?I|VWje#%aY1d#WO_r(Ld4d6a%PYjs+;pxovJ*l;1ve%8X{HXIH?F zs3tYYt;j>i9AcGWe;6O>#9#Zyv%ABeA0w*c-7S%NNpouGV2g|~#fT;OJguhdL5C#uViNMxh#J zI`n@aQhiW(ASN{DiG?bIah{Gd$1kABl6(4@hJc#YME0UNLe0RE2q*JHrG)(CcL5r6 zWUxi#1)*?n4rf)){@#1h;1$G;EawE$ciZyGd%m>Y9SqQW`|1>i8DN|+nj<5yas98` z^RA>*aCBBubFmsnvm8Zwq=Z!ss`B~vL3~Nb?ZT2`l4apV4XFqhpq1tEVf*6ATKVf7 zZ-bHS+Y$toOLQ*C^^7>WG4A1!Pkhge1=! zL?ZQ_P07(hRdh;bGY`Kf2~QF)I{}jIqc^#FpY^Y9UpsMT466D zF%JqTue}yjYs*gZ!!!Ld!T|}29ZFbLAl)3-2nGovGZ<7VcN-}%$DsVIAFX%aw+P=W zo={8U=#7$~8(be zd0-WRM58r5&Z#a?$wgaVbYfI1N31ws6z|4h_97D>Q#JKK;s{fUq1w=8a_(`vj3~h2P@1G%on?P>Q179 zWKAdhjRl)e$@|cS;)))*$;d#<$!MRku?;}6u z4OvZf&a1MQSMwaLDD=nlP1V?DD$VPAD!5fa%U%e)UKxF9uslQ0mf*AsNU z7@eaMvLKqcCKcw-qYhKmAF0nlq=B{gP2`_4Oa2%{dPsxv^KOzzHw$CH=0b>(w+jEj z_7&AK8h|!zG0vMMzy35xk<6Q(Z&yY!J}>=gXT!hP`iANtvQ$J>J%A>+)l%y7*QTmb zm!J@pnxJ#Fm1(r1^{Q8P~6ibh`qUUFqg7{BHW}G=%qi4 z#-cFk!pZ20q>W*9o?p250`D65bXO6&t^%#MwD57=@FGiny=xFy$5i_Jo; z836wkC*J=w0z`$kc)lnc{#jBM;R*_&_M=G;Pg5IN?bik1KD17AN=HrH?%4E z?7!;pp5p0(GUNt&7*%+bCSM$QAgy9co+vvy2xs zL@!fEg_1f290YCAtI4dNDQfs#Ep3}!M9cZ!{aXUZ7c5a_s{}oxTHJ(vXkwGr)bMQ>`4`8dX&LOy!-}C&gqG**H-8h_2P%V=AP;2zkomm5~klnmLKE$e#1U z!zCfRA3lxuK50hfm+FJpoL*0>%3Z#^8kb#V9)1*cW_-j1L;WM{2tpS$`H?xeUNa-; z(g*o-!3^*WmXD2l;-s~lD5Wbfan8Huq&NJW1LLK=*MHo6C_6t)b(Uc}jpE3iS&pqe z!FPLxoZ1lov@JIK)BQXE>{7eSO~C(5iRU*VmS3P0<{`nfBG#BUT^~j>)$;N3;=_;+P-B|g^-J5Y}q-|*c#B<$!0Y$J0%!=8yxL7F(kq~YdcTw+cGywcmv&XX`Hy&ooZ za9Z#-14%Eje`2xnpeCXyqs`#2Bn=miCUB{I$Der69N#N8Y0J-6@!y#(SSxzfM}7SY z9(Y=a-|!Qbj)R{@Q{0HlS6&tg!`pAnMP3mmb$h}(uXfGa+HWbk*yB+%hR^;}fge?( zVv+%4X73{BIxHRlK+BlUo#-;`Go7mbRlCL2S{lx8i=lY=x*qgpiHnKq#EgG4sT5hO zQ~N-b$g-nHjMpJk?JVYiV5WG8$5q*U{J|!JLZE$%3&lH59}|**GdHI|YM-Wn9Z||4 z(Wjno$?=aoLEMeH1PA>?dYf=_v(lsa?ESjlz-dj>Ky(7Q0DWoW#c1<(k-(P$BXgqV z!fb0U&ZH5w7h)H%_E}JYzh&Xv^#ik^Rtj+B=}PEig*KN3?kaCZgUV4Od}*SE^G zv$=^{dael)-nJfnA+6ZZ2li+)@AY3~fK3=??@qw#UHWInQ1N>{GXdy%Khft!WTCsL z5)~2M8yx|p`6pOy?6^EPSv?~^_js7u1nH=0to^;&r;yvltoqDjX3iA(L=FkQ!id@E z2Hg63a=!d=7=9T7-uoU6&lqHM6unISeNeq+5&PObQ!?H#A6321%sa?xnS-2u*^sP1 z0FNc~m#+3)_#ism)Mg0D;Sz(oP;Pr zuX~DWOXCrY*z9rG1ru|eETq*t;?0g1tdhJx2>jHgKC4l={tT6}gw2qO$Xt_e0D`*D z%YP7KuZ~wrD)%gwsYj%`Pp53G5zIda}ixgG;}OKJxqsD#=1ZB@lh{lwbn^0eJuc{clE&=6`4Z zYry@tlQOq+Qd1OVuyJ*C2un3o3}HeW>4Vw#CV$*z^IaLHbG{eeU8Za40g)~WP46(@ z@A8F>9i(~=1N3*4zkaDW_`(pcRVoOFU8-u$xBGkVh;}IMuXUI6>FF9H7wh+HRmlVe zUxiXFWC^MF6DS!TpnUX9aO2(mF$kS2bk80;l3!8*y=7%^$6Zke(X~cBbO^I?H@riK za3qHm{wHkxkh#ZN$F{LZ>J73g`o@P*;S4^Co~s|^4rp=GUXspHxZ0)`MT9&7?U7I- zrcU5mQ46}6kSG@KNZhg`O;&gc+cDBo7EzXgklELeh*n-|opM{TYwp@aiM1)Id>3+{ zByyT3H}@$gnst&`fm<5ph&W~Hl;XwZ-twFGL_L#B7bgjeO<-*Y9l|>sKM-k#Al$YA z!Guk}2Ea_d?@iC}p4^QRU=}zhuI__&OA2jYvLyt_%zBW-q2?WalN#vVnuzTzA^>0GH4e;+W*Hdw;91zkZ3~*8_53(c`RKP?n zqdEP3S#juYyWCAI{O)4fhT=d;matDnaZ>mZHJD)1?`O7Yk7WdbbS)AcK^664drH^K zN`=`SpC2v_6Ro(7;v@j3Jtl_`TDfFU|9RaVM{u^7LcLxuiSIG!bk!$8Bl^P! zQphQXz3#N}(R=yHo5M-wbAc8Q-WmP4fzgSvOL_cV?4OE1r9fVWQkYWHKCc%ZI zc(nOnDR!1q)+aZM!jqw+iYn%`82QX*Ht@KqT_HRS0)$Adxn8{^NB_L{WfA!7G|l4s zb;Da+(AniXP~K1Ds?YPL-fZqkv0@O3Dg4>(x_tFe&0HiuxT8M7q$*Qj@{zCWh(G^HO)y2&>;f z`Wp`G0f?GMznw_{_nqw#o=~5?X63Ul5z#K^%P2s=*aV{J^L2BBB&40tH+#-VrSaJ8 z;Jt?8PDv2mF6K>id&Qdmd_#`1gnCUj4C;I7N|56d_1fD(#t}%6B@n=V_t7}O9R-*8 z%DYV|K*dN|i>7cr_{1KIN`_Xo;D0*0+78=#0BqNqscv_K6PqwpJm|>Sh3_0RBE#_e z$F5Zgtzr=iGAFSWus;U_9e|tIhNH8Tv`jU5!9B~6+Es~xGerg~bS(+MDCq@I)N)`D zc;SHmn&R2R5N0@PYzuJ^XQ+vnO60=CZSf)+*NMoM!_vi#23KL@@@=~sn4iLKs&DjD6vXiaPIBl`hX^kTs3xd1KvKX;t=Ji9F#o-lt z*Z}WUu|PWMxr8VFM(&CXg6M7 z2Pj!|x-h_LXR7iWXTcRld!MUD?W^Dri9Jl2f^^O=Ukz2P1Lk9U&~yw)Z5@uc0pAgJ zwy)1Ql6Wvf7*T}~==+JsxTtrvRBH3=Ko(lf?3TkB!>gxAUqnwrV4@kI6pt&RqjHJN z4CdeHUK;L>d>%3Ny29ZIppsV)-GWtrXS3VYiJ!P9%d4Wve6C{)QY!K$DiJ|42=7Vj{;Jh(!J2fCUHdXHgWL=zhx z3XR1yCtAl{?3R1^Y4TxpO+Uj-D z&JcE5IE8w(yu*oJ3OZ&mV0yr10_RP>=uk5dqj(lZE}ZyQ+QtbnS4^ThF8xkt5<7E; zywMkV9+`;QHC7M|4*^f#*+~;06q12x%va0D#x^-I$ z2(iUsSx-d94qgW)kik_AV)CYnkX+!YxbI-5j+_+Ea3C9LE-=0DQ8Q$DRZF5klk8Cq zd5xkMK9>E<&@jJAz|bJ6u9#?@LIuUU`$B-->1)8Dzr*vfLbDSq%1EtbN~|tZkmKj z(ZAzmoA)_lo`y&Y6cEr!8{q&g0QUYqAn5k1XQKRrd8C&cTD4s`|7oG z_s*UhZPZ~DfTRfvL2m}LZ4#zpg$*+04RMqk?!jkfRYThQBc@{YS3hkolnhdv07ON@ z7RY)vNBbJ64GL;71r}_!#+d2al~K=ui51Mu^I#n$g@oLCjsAO z1j&h&CS1oS8;h0(7yLh-I|;`!4%!Vm9#uAlBIss(Kyq^MIJv|gsQ!KXBatTGjZVsp z3z64cDlDA-9W5qE48aBD7=H}fg0Lx8(KgYxNu)nlRX`97%8g}xnqb69h0x(-89d#p zc$>N_-2O4dlLAViP+@b~5lBzl#RUAYLhB=?NPJ}OIakMp_A58vL zz_xDHc>Aj*{PWl0Z@&RA<|tO$D_@a?Kt41#0J}3E9snr;(WC?kwWk65XMJr{xU0D? zjMurL`6`^~Qu<7pxDuL)SU$rXM(B9olQy?oh>QvkWU#W0two`)!Va;{`98{!ocwTZ zVG7Yv&)xUeIOFm^XqJK%Q_`u|=EB>$ev_vVPq56JhexCbEV% z^aA6W`{>IA8_GR=Ki7>c(b#wTW56bFuVM*<^JdSS2(G39HqDs3RvQrjq_>ftq$jQ3 z%@55BZIIXTtnIf1dnV=#s~AgL53&{TMPtKh@-esrZ;@jncftQ%$+X`kQM#gkct7MpG*v}6-`f|UN?y#Zn^14agaEc;r`pJ z=AVjTu(5dCPQb`Y*Ki9+9Lc?I$sAOWJLfUa@`8#J_O`EPe0ZpJ%kxJjY!uuAU_Q+0 zc^9l8B#BAaSlP)c%~XKw%A&fp_-xjdEAxU1e~#@bDF`@q1Gk;hyjoq4nnLRRRJUof z@&OiFPyTC66-ShiS7M2#I1&<}<~};q5cbi#DN(#*Ln;n=j2-k4S`>TdA52;|6LoX^ zmZ{5DHN-#O3zxH_@lk_&N|@OI`kgwv9lgzq0>*J!83Z}!ZQdmwt)${BG0XfDXK;S+ z?C}K)xBvQlD$(@2sA0W-P&-Kb22UTtS|Fw7m<8OOo|#r4p|L;$r3W|x2`LaB+!J07$-M4}#t4IHr&U6SP?_@>*R z?c0^N!k!7ehJ_Z0Herx^XHux_8ziLxgwmCK;l(MEduF(PIzNd_q2zc2TO>#6HF>$N zm0J-@=47O@G%6aw%kt)cHiUSO%fh0qt@6;rXp{@niAke(AxzxdBL<6|3(QF30)pKU z4;Seu^L}fSN%Rub6N}r{WLIbj1rVq1_&Il( z7i_}DdP8VXzkN7z!{JC#KC5|POEK2C>bGd&#nf$gqMH8GTG(HJC$7rifFce}oLW*> zt52ni<=-vGn+k}$f1*59!sUQISo;i!8~+7<1-3Jxn*dnL7JB`=BI|o9_9Y_@c)syC z2>d%~yQ^9>s*(zM96by2m6}mzIWEh6`s`Vo*`n2KnV0b`g~9l)w1Mh%(aw5d z$i{M1340+g#X=l_+w4uo1OH=`1_!aRC)Gql_YSSQQ=SQ1{#+GJ0x&LEc!En4@ZalS zJpE`yXJwy_E+CCWJ+Zd~H4L1|JuvV9tHO+H9UuEERIgP-kPC!#MGi<&lQ`DG#%R@4 z(b+KgvQ)L_pXWjr=lL+XHsW%b8LvN!FzmToD?Bc=#17biG7!TTE!2pSC<7soPw85s zc@dNrqdB$?k4)0o&|TwLfTj&^G4DJNL-hvBGOaamvBr~^F33CqY_xsq6w!Be_n0go1tv+HB#zVySdF`)ISH+mCE~w-eqN9+NAiC^&lX{T#OG8`Zffq;ft{y%^uMV1a5klN$$9|w^z1ot*(k>+)W znwYOpkEjq`!q$F?6MjH!WVH7B#DO8ML{kUuWZJ%c+eV~o*vxH?j^Fb$md6n!o8kf) zs-cRNJDmH5^^fMfOtUz~CP|n`ZvN9|A381FpV}Sqq}8uk3?4;Ou43{j9j}ul)gPoz zlgRGX*zWEJnBLG7g0nxD#3G6;3c3Q>1@AK({W-^B+|&k+z8N6(pB-9Klk%)C)7=vl z-Vs?B>W**=6bmf7&a@0_lp_l!ehd`7w2=8c&r45=UKBp3gS;JLC(CCA7cKak_!D}V z>k6|U8t**KCj}4jUDJy%Ik$Zz|Jy8~t9hcKt-b4`mIiAQ?C;T{re{fxdhoF8RO5)W zNv!(iIzGgYPQlGJz^XouC;#c~0rHB7F1V!{8(Xe+kGqS2tH#0Y7uyV7vyXKE_ zIc!bt3m&`jm9`O&2J+%DU7?tiqfpP6qw%1~+1zwdCZl5(O@fi$(0F*b-GaYMJ)cou`5ZW6N>%)>brQJm>fu7~lgQP|A-&MhFV+s9p`zDrau6O`el zQ)B2rvS&Gm3Vq)3wep@YunzX)2`Y0PESX9xVf5N2o0QPRb7vs|!hU_~#o#M-TY-8& zD39uip!%{&m?1)jx2e_x4r`7;LtxsJ$4vc%+1(gQ`acQ3{>&O?w@H1|8qO7%O6_oK zH$kV?&*R-&f|dZG5_+}r05kt{Wke<`9><9tr& zzpQoh&OMF0S{p!Ee*^zHpl?gJnEwKv+)sbVlGo|bCex0KB8x{ZT1 z_r(7~k?!(HY#RYM8G8g9Y%M`O*Zdp?z<%}bxS4giHy!sdd!%FWrTdP3Ged?eet?Pi zwoKT}H^NSU!oONEncj(zmEbd<6;q^VqKv7T%Jdn<)OGtyeq(Y6rFl>+XmZoT{0}BQ zkMgCEQl|sM11er}Uwq;^@kX3l-Ip{87mrsypSN{R5TGYkxfmpZBoEf7;XcG$*bATaE_E^8O8Thj`Knj*Q`6W z7?uBa%LV%}FrbS-UQRf_zL^%zM>q`;_4BqHdzp1WP3D{7Gf+Z$s~qh!bdef(CPreP z3dNfnnZ4(Jky-450%fUFBX@m>pnR9BV2|I5eKKxL+gIixar+y;V8HX)gMpLf2s?o5 zmK6cYL<#0_3VWOtOp{HDKZyB3c`fNxZA?!SG!m+k z{tetRP0j^<=LbI^NHo|G{wY{~Y>)WMfB|tdG_*s(@*OvxA&i$qmd`lpjCOP@4P7cm z9OIVO8Q-ZHCy8UJLa3%Qt}>8JL$Zo5tE&jm7HFc|q?$r<*OKPIpD0^1TcT}Le<1~u zapxAk&C5_fCt^HAT7^s1Dg5*OQ)jrQ{Vq;CoFSc*XF8@n8THXGjDB%Rh@(s-)1XH# z9A&1`e-Vo#HPA!T469sKw1s<_+A^t*IEiJjItkXTHOH#Qv);+8;}j>h!TwQ8Kyn zU2&&u$$pl!UU`kw10)Rg1s-jl3o$>-E^`82lb92Rh?K|Ik1@(3vb{S5!=wbA_}CQw%UAW zpjzu7+C9Vz;+W_QKE8kjp@(gLI2M9c#$g=&J0V0#XYayLPkkn2KT~=n4mHy%l>k(; zg>G-(7_AB7r9rje6?I58+G5uY)&b?$icMOF{dXpYc`&OYz%GeT5A3fBGiC|^-repC zp_HdGWtAHU%0iUX6{!cLKKfG5qcpr?-W!z?ItyB?^-9>Uh1i@ysIz~4jaqKLc@#I1 ze1sciL{pOlGJN=$A-Z9IkZ89Ih7Q4B%wf13sEycAPs2S#;aUWY$ndr}{I7g3nXwbR zEt88_NB`V|>dF?5lUkDyunPtNDBZA|!g4DFxM0#_bqJC?ei3dv7B0t zkaH9eFb&mzYIHo!f zrAg%BMGPkiXqArJ@-GV4xla?^v^EHaL*c1536Je(rAL|>=NT^Dvuzpjw7|+qh5x8= zkz|@0`7>sm-q^v(->Vn3C4P{;=~noHE{>vYkOtQ-xy6I#)o_RZi6_QSon;1*^QB9$ zYZ)CMsQsn2L7zPehLQs09$qB&MJ$+m)48`B=?52;pcumH`75$dUZfVFwR7x`u`v|E z5_LX2sv||WohO6|NlvfKm1ooUeQ~C8@`^G?NmG%+Ez%Tg=vyWJ@!2@ANgJ_-&IWPw zLQjPy$?(&Af4u6MKSol7`VLluR#p;f;ae9vh|Dy!x<*N|neKw(?O`TfgMGS6 zR7l&sG2Kr&wyPM+-W7ektQA^A%D#QF(dA`ix)Skiz$i8kt`$h4?MR^clL#ys|D z7E)7%tL(l;ROxxJZdWAeegPd-X#AMaoqzVL%qRgw`LL_^DO=;HWsqbDRgLq}NBG|c zuOdp&KAV~n;;8`Ak%AAUvKZ`8@?nhdgXrT{=yJI`%Lt)f9c^+V^J}^RF6LvJoxe6fVw>GBhjr|} zWf@=j1RD@gju=m>+5w8xgHZxrX~`rOvQ+^Rr!-M}{=1-r;5IHi*>c{M>S{mKgunER zzs5{&(E*zJ*w595mjOD<9id|v=#p>FbmKyncK()r3$HY52|+a>1Q@k*=tyUzhMZ(= zlI%70Dx0GpD}u{*LGQuxh~|h>N|6cPz*ix)W&&hwg_{B&g=c2Mk(u@@b1(r3c${3l zu<^lKkWe3$fY0#L&v$dJ9BDq~`mMgCD!sbemtX9#yT{hK!gfG_MHsiGrBsnD17&6R z=6!>Bz-TW&tT?hcV&#M_SAAijV~RUB$S6gRP~*&h&`k`!8Ybq5>%sI0b@+l%;B`6$ z&H!%I9xHD@4|UId!Ty+{mw<|P3F$&yQIFf>G4?3XhSHP>L<*z`AOrdnV|@q%1&y!~ zq3`V8Kt*qz&o1xHVVYhE(nFQG)621@UIcdyFjuxcJM3-s1IbV{fiq8MEF}xo-ln^( z#7G-NOi9_<8V5$Uz?=Imw-B|~I2S=C90A9YVP|FE+DgO3Ni%2qjN4opQtdIoN||e* zHC#rxE^U|a-H`7fp`z@CeaXy;FzBXIIR5Ly57gDtYBF5pSs!}y+ATrox&95oj<^Bh z4-B+g^`oCIwFHsqbW8PLy-e$fwEZ}zzt1eiLooD3FXMml>pLf_c}8@NlIBL!Ruu1Dqeo_La)0$fFGx^;@HA6TSPY z0F8kPd`SKwdN$s81&K6GK83o03hVC!cQ_KM=vbiiRdGI9vE$gZJnwczPT~B6)fUK) z5s1%`mWj3`sARK{05=u7Mt77Xaex!Ol+Zu$LV>?VsGVI?v8k78Ba*GHZE@pv`WiQO z(-H~IFskS_)y2<;G@kzV0tPD%_6-*aZ_o}_9f^nRXQ6OWgo(mOeeW)JNGGQ`13Iru0bK*{&07qg0vjVWN5^37@ zGjwjMV!@G3sT80W5UyKa2WqkEBce$m*(kc|wy7t?U;a7#IBOT+sr`SpKV4k4ee#-x zHF-VDygUlmzp36kv7^8+>3t89&K8*%ZTgecTF4Z~maV2vW1hNo_3S1_+D;KUy(3wc zKI!c4a&qThoO#Hu0Qi*mvg6H)bnaUF1iZPs&cbcvkdq2?)|<|GzSCM(mz_>Vv}|Vm z6QwyD)su~rWWu0YKyxm%^qiK^?V7#j}u9Wr` zE~8k7d!oXX{xcbTh(xSlmOu_wZ^HUATbycK(8Mr3tK<*=DlH?2E?x3Dx;f_TUVpxd z8l}iL|1Jh$K>zYtjq_g>TxHPW;;axNz3N^!VZIF_%FZRcKk}qo?jK8f6v0A!%j`kI zS*D`iso2$+{SRgRap9L*)A#;DmB*i02(}Xuf_6uNR(o*ckkfN~yAfHyS3B^b+yrPY zaAVE>b7?`?u;mHH&q58X5!nzhbX%`Q=2MS z@T@E$2!^Kfz`OAZKHeH;yK|M3h`@(5Yb9ngKl*{879)cRYay zzo9lBWv=)lo?T0ZSE^%-*SA!adb<^~5N_}*bM5f4l3cYpt|hvr*#eeHBf0L02=PfH z1>J%H0N~$h!2vGKw&O)YJGdMB*2ngBi(re~W{qGY*L5r60kDSD*tHmjI(z14&3Mv! z|6=RJC#_Bz9LSo-mck~Jl}y)?7uIkL;P}wgilQPWAucB??sV9%)@#F*e@_w& z5BcsF4>-j18p8k!-OH)ZtrQARAL>)>8&`k7dE;LTl~b}1A+Dq>eqH`bP62Q6NFE50O6xaI`!x z5MS9?U7X8&QfTV5&57}8YYezW<*d{*hn_~pBfIIKRzTJGd z{Qu8gbI{3-OxYda!|RLf1{%ETMRgN=qY?xy8}<1(UCSOxN7^47`L2yZ@h4EZ*@_(d zobaVOz|P!@Z$F+Vug=Ph`?UaFTLEmePo0A!TK@ArSOED+62oq;{4SeW(ougZakkRM zbGRt>rRqrDOHX2fbaam%-F(ZDN#@yC@o{_SBATyb9()2{GH zHcv8x`~^~2=EUsB+}0uX2mSzVX%h+)N)aG46{@#FXgN1L5e=ld-DyRbD zg+R6S0+}C^R;uYxKe1Xo=r${xXNOeRt4o=@k_}W->+=8x!9xDJ@y12GoHAn5-efCW zH^IGcOP;D`>`Bg#I4=KDr8<(AL=X%auuuA+o{KWsjqFWYI7>@BXS_q$#$@?wl&Ikk znZB`=kH%I4fi?OR7viA6Qt1q3VNAi9pQ7#|7I}aOBmMr<9Z!Ap~Zpk?aFtA2-6 zrmsI#I!eqA?-q_HG*@UPDDWq{Xgq{&!0#91C!f)51`;u1Pffx`wP?18fsFJoKs<38 z%p;)?FBRF!o2?-=ni$Rlgpg5xgq zKSM_x_kfQxgw&RRWgV*3#7tmxJG_p>w`~6awrl$kye!Yc%kUb;zF<(xC4M*D5#fAD*Q();$U~eGd8Uv<8t0|u9NO2mmQQ09My=H;B+nCPvf>;Qasxr+ zrAAoUU{zM&AXsE|5CwRGF%S8&DH9AYStI)3U7lTaF(`6D)VV<>Vcdx^3e@%Xx?a?- zX%T&qO+8+o5Y`=dteT%=J@6Y^?a#J4I>XPWc{=BEY++zicIZ=g@qnd;6L-sX={??| z;h1&k;XQ%XQaNf_bjJYbFR(9caA|OAvhUg?y%388AfiaqZibfCmH+dvy^c&;n`KVGk~N>npr{J!_-OGrm*CYJC=~Tt;j7`<(t~ME%x`grCm3DFX~j z2QDGk#TMuKD-{VO%GOBWes%U#GC^(1nkO>CPF-f#RC5%tnm=%qdb-uqNw^C^R~nfd zM+gh#b5&Hr$MtsLF$ur1Io2l*@JpE-jW9*)bp81CS_KH-yU?BxtQM%8_Kq)%cUqw}K;QsI60(e*$0E zYFww;Z^14b&Tc?_^26{v@i~_mdUUbJg&c#~;vKKW?vUK&XhhVU;$Oti-0#G9FaCnG)aA5 zSVbPZV`tyLxKZY7Qspo*X{#(GR`{%OiOoo>r7C2{vu?KMYj$DmDQTrAH1Y5h^i^sF zoKi~8B`qb!c4=C3`>tQVU%_ctx+l7J!!Z|K?Asn?NQT!>`r!sAq*W2<+`6 zgyBcaWGAo-VD|(-}BHcH~%CWHSD?-yAR~WnvCet38+RJSk!jB{_riNtY~fP|x=(R-NdOgVgwD z2)OzqPh-?Y)EQIhp!|85sevP*!d3C-7AL6#*HUZh6xKyVfJHictvf$x)Zdfb{AGZy zW9X<)30{8&XF;p}&68Qg8#-wa4lio(Su%w^<^2cf)crG6yowRTwg*AY0S)|EoG7AR zzRFrqO6qO&U(>a<()in2m*@T&Sz=7kk5X(5AK5paUtBj8i=>m~eRO}@^$h!Wh#cPxKOC4Fk@Gao zO>s&a;+>*eG4@dFe7Ss~Sf#$@2o9jCfxk1HdFAoA$Nlt6@NXB&cH zKkcwr{a5G@C~yygVY;>~d_eCKOV?b#PH=_Ci~TfDUtd3gV{gJdCFpm>CKjn5(})W} z4mtl3SGNH+O8vTUEI2$pej=!F6VLA~j_qy3&~j1AB0~h-YTh|x0&7mSRgTc#a!0T= z!LVkEojSB7h#ETu7oKk+^=pW4V{JVH^}B?RN_^B-$iojs^v}FPQJMebE z^?AA4mn8Ott7Af`P@7(m4o0*=e32V9g`m@pNk=Rh0GOLH!c9rAA*G3JCQZ#(@s#vK zO`C>}f-=L=nvP*@<8uVu?J@_+1e+At!Qma&U6D#XA%nrnCk)j4qVU|xxF}LwEV0AR z9je=Gc{dGwJOIVxfZkH$WR=)(p(qi4I>w>Dl%T78qHw+XkRQRfof(#>dKdLdGnQQ6 zdiEJf2R?20g<>qMW>i>-Zj{KV;zOl6SBzO7>aliJH`5S0&T(hs3*BH@&>Hy0wF8fF ztp55`XS}G4#_z*l12G{xHl9CrjfXN?VY9b#$&4V9!@QUmfv(up-oOYNTf&e}+j&4| zD2G{A>Qv^d=y~V1%Jbd-fbdV+bIge;62xk{IgWz(396;?vOVf?A>2hY+jGu$R4lSN zQdq`(_h}bVnOpn9b0K>Li!v4I{h$B9+GRwq6}tuQXCc)iJilE!0khOH?ewC!{75!4 z71ecq0sZ|oK=O{V<=AzCGsjJf+Mp8a%sqwQdAG9DGxWFr->6CYpk4K^2rt6FhC1Gq zH~jw8w(q^QKJS`mn`2??G)xQ!#DfV2*a=O@S=hAjLzAX<<&f50M9{XZe-)oI9d~VR zjvS-;L3h7No_GIJ?6TNbq7!>b(YO89ieS8Ws)Ex9rvf`D3GACoo+((myDYBvimG?5O+Hb0Ue@X3j&ZIl981BS zVNjcR04o#n;eW|V{yBY3@_Hq3eYBH&vh85K*SbRDxx^bECN;LHAuqZWg=4=pOl#g< z{5SXm8nDd&7Pwhu8FXo8MD=w;E&MhZ4DfN%<0E8>lLpTVOu!>0^kbr2X*O=-DYDur zFYX#gVq%hFP8f=jIZ4K1_>#wS%Yj_uaXsVNe6No9CQUqQ(q z*Gbf(;+Wb)A1fj@Yhq+EU4z`T%~(2oz`2b|0)r*mC0ugt0meM&mc|6KuEVwnMybLM z`kqUf`LJxvQ;2rM_#Jr^YvUf>8v=^#MOF6!Q4G$fGPS;lE<_UuBy;DfKgNqnne;a4JP5xEMouKc zG^0lbZ>8Fw{+?r+WbQvJx%{$Juitf)#*Ftlrxjr0d*~*{yTH)q<>`;iDbAyOm}u65 z)Eb$|X|VL**AY|sNxZN{lq$I&k#wcv0`OfA{k^%sksgHq0o`iRC#KME*yL$S%8-7M zb5+Xw@_0B>cRdT34zkSFGKn{96WYNP$74%|G0 zZjOSI(+^e4H=+j(*LvlcHg8Zm7Q65=IoY>*eiSWmy%#3GdS>TKv<*5f(e68ASw za!MW4^O8}MMJVe#ae-izch?hD`BOU_7Hw60#OBJrwZ?MpN{zO_!%Lxw{x%dF5p|Mb9uL9OQwti-S9|IHZ- zY_B^HRy{~ikb}kWqUvRY10MIU4w(X}pD0@qhkxGvTz)o^)iOcuW-^q0DgBt< z=-{s2)}P@rc8dna7cCq=;tjW~C58tyfyyevGl%yoc*5$ru&QidJz4!7h@I@|NFK?&i*}|7dS_kE5&<46$y4wLetZ!Bjx|#4jFByX@$@rASD?8`)>{? zN>Nbssmr@oq8qURid78B0)>SxyJ-)E|tIAcEl#3?fsj4rf3YX)hpH2)_%h) z-Z>&OPa0fjW8ElU?!(7V@1G^J*{MOZMA7=f!%t$gK*oFyYKNb6F4=Xgon|LTPvpi+ zU5yB{v%B%alUG5*8VNXRC}kxrQQ%hm5Xo{@FS^kC2(r<${5l#Xig{ff7rM;L%g;rg z4PRkRSYt2d$YC=)_!{-aAB;aX$RI7Rb%V$b?`Igt zzN7O{dsiwYmc|yGaVOQkqE33=S#Q7ZP_QwcT<2Waf=V=QYY#NnBw~F+c60dsrMd7$(5Wukr5nU}FU;3tU&}4xVbPW@>HV zHM5?7#xU>pRMwMjuOVX#3T{s}TjV^~(guF(r0w)rs#)6#BHm7dv}$Sy+NYB0A%d{W zabW?T$dlESK4jcT*L|P1(qrIv%>?HMqPKTs*RF`N)!zO>=qAdxJxyMjpi*zXW`@`6=V~asW3$*aFweHODYEdBle`#JmGQCGa~=}N zh|T7WkX|>XGZy$$Oz0M&quP|y9w!10Fm1&BWXOS07HPX=(tgBkUoOUqYO-N_%k`gZ zr!g+O3hy+gd9;6;>93C4Mcla>m#aHd#8slm??;i>DOG`VP50T=&4DKcD3^a<&N2m7Cw#K7YlacZi7Y|!T<)0*ZW4o44ln!%+mu4{6hmJg6R8A*1 zPxXe-kK9B8=ppZx{d)~ZB)9NZ;5|cb1gsQZtcqLPq*cMeBT|2OrxQXO32qvXuhAMa|=WWUi@Vf zvR;bmT0ahIz9g4@S0J%|@1wbPhUAM0o|OqYvlVCn!AOIgd(U@whBSDb?Q0}9LYki9 z`@PPFTYj6{rLc~pQ${>gLrLT%hxb?6Pe0qUR2mz3QXg}L=E*G-^vmSKm`S-P`*O8= z0@y3ALn6h^dU6l_E_kd(hv}0eWG;VbFm-7Y$ZjfhLJr2&HJ0vM{Ywg#7Mtc~sgFysV*Zag#!# zWm7QyvRp*dyy~Ho8vOU7XJMK#9r(rL%bT(d1Avmurz*(^TWMLMnWroL%vyr z@qK7*>u1T8jHf7irFdB#5YxUhl{Veykb}W*%%Va3PDE2{DmQfRO7F>Bo7=F{n+2Nv z`*;ZvMEWE#w#k#AR|&9X%Y8sXFwY zDrsvEf`2?-GF&NB)=bH2^oVleS!+1ly*=J>wz@a6oOmC5S(y&@n2IVzqaZJ7KK`8r z@c|{Fc5fq`-U^kTh-r3A&4tZUQ2-pV(utK}g$eiAl6uvb4TI@@dc>dO=DFM=J z>@$p01>!VVBo!!bUZXp8=sBS%8m=}PfJ+U5%@Z?CdR-i~USn>JCf` zZD81Ze$1v$sCXFO_>F3j=TrT{C}vrCHd_oKB?3G*%URbZ_s z4XXxKo2*?7sLDmoSAZlZBxoI)G4U-;y4po+i;voYn-Di^pM3vTPJl9}Nk366y~8~F zbJdz!&wZWXuRGzRHi%~O(Lz(51JN?|2sGqKFQ~1*Du`$c@xO}DyW5*?g1(s%7gLh@ z{$Jz;2kaV90 zF;_GQYA@qx5{O}~AvpW&;!+ZdHr8OcRLb0GF76Fk@2XaWNxzQDD0<6-D8OdHuL2eU zVki3YmddHSkz2~C`-_;ZzX0A=ITJH~*P5pp5?e!624x;%Uth2K@YJ=|gQiqvM+zs^ zU5j)Xn8Rh0cwUxCJ2zR|9517tLp5u003HYR#?lbAspUE&7D!ZGmfevz6{T?8u_mh*vEB&9}Z7KfoCLfjSKmoauGiE z6*!Es3Dzm$)jBPu<{)!ot+AFpsY^GnO*v!Xd$2<-((%Wk9Vp@bOY@u0m>Rfw#msW{ZjDo z*Yn1@R!FfS97|`gQ+>kx^kd&-PJSdM?$W^#+t6~(uu#dprAr_y%!3YvW78oMcCXAG z+1pNHdNJFF?rcZLUN%kytHwh+Om@xyjo!j6Fsy{BXG8>T8HO>ydDltAEirlk^f{*L zaElP${q0%(G8p6NTl)n%H!yfjEJIptLo*n%dkZ{YYWU2vISdI%|D2Zr0#U3BAmf=-V=;Do`gYd+Kt}DC0>b1@>*nI|SU-)n1gf4(Dr4@Y?_N7z z%VZo>HOXHnAC1yqiJQ7E^6lZCV&}+_V!SEUx6a6&$F(NNkPcqxkk==dFh3+f$ch%> z5EPn!=89u0t3_MUrTh*C{;jd|*niv&X(1U>hORFNU(xP-=(Aj(dUt6DVTZXyo`sw7 zwkER>-XiOb>lWK9zu9Wql7lLK?XC)p9G5v8Cz|Fr@}M;Ph%uTkT_w0i|CRZAE}34y zlAde4Lef-&HW^-Ttw9nCfl2?!W!5_Ul%l1(T4gJcQ7ivuS6o5{WUdTRrK^|z`ZHt& z=^lOA*6XwgABL?VqGJ#Kak0^gG*$jX%sS>mD^b-m*F&nooIj2aT2rqIZ`~)n@2&s) ze4XIWnFA8x*Fm)2@Dx$SsHhMzD3KO*>zuO6#_~>;3-~g%3chpI9qQ8?gw_G!*)1N3 z5VB)Qi=O@P=Be-Xo#~P%Fg2VnLNcMq#x0-s3QN{TgUxt>YE|tl8 zykFUq39)RU{d7~CH4Hw0b%eXX57gH6R8Iv%fT>RMsJG$&p`sfD<#9_limKVM(GU?e zGXJ@4q$Zd^0<4S-GB%QT7jM$}#)9cVYkQun-2KhoK3YPT27G#-Q{a9eRA}`{wkxfA zRkHR)OWj4+26yf50fhb-zrW^|hq{Wrf>5bAU;drBLc^&3uISW90s$H0{$HE4{|`kc z`iG)BxmY;4IGR}iuC6u?R*Y75X7-FuCg$cA=KoEi`@gv!N_kvef6}A8YMN?EG#Xih zG?8m`oAJ9uwWfcs;o6X{{I|ukR-;G>u6~95nW?GJqjoHv zXwT3mY@3vQ^Av6_GEu>97tWilezY^xwD8};Q=oq6t~fisvJ>j0J@zbIaXwe8PO9ts z%<4%UxjDL2)WOE-%4?bGW01Oz*So&);;r0#*{-pZ3~_Sbs+vM}PltG?!_&uhjr-g6 ze(v$h7U2v#ZK1cixvUkcz)6`!PrG?X&x*^h3J<=#=ICpMsjI zg`+B0PNJ=xxv2em0;wB1LM)E?_^XZN*q9Yh}UOYs*JCYc1MztF}CZ zi+4N9w*I1BW7_g?L4@f1Q`>}#8hHQyox`rj#(;?mTvO|3@oKxDQJkLRvWmRV=yo0V z6;|@VgInCB^4i?H-?Cd%MO3wm6?WhEs~Tctd#!k^riEGPzULWkz4(UhIUryYacMit z0}#xOg}Q`8JRb;F-R3@jSUOxdDnIoxG$d-Puvy7=!0zNTm>zhUjkoY;WtK{=0vEjA znU!|ut& zcZi2tF1P)gZ{fbRSos>*_tSUSF4^hp4=`)zvck76K-Ywa`SG2ES5k=PATQ;^I6|$X^ zN|xodTN{xq_W>j~5kyLk=2|g#)$x6nXQdDC2=yFs{@yiQq0jk?&)N$-r5tEH0B%Z# z%u@278r#`bQp)z1ThQ;ANu~k&nPTAPgDdn~J|=i;Cw>~J2_UV<u1}*(7{Iz^&_mik6#pxN&85ei;b5 zH?ZT;MyL!uf<-+!!F!OIYma?@D>ZagU(Hu_*s0h3J=ycJzYD1t!$UIBj}vzX8@~E} zQw32Ny@&pIsHG;@>D=jh2IPqgsuqhorg(O2obYv}HRO9-cVp^*l$a z9r20R@+lei@~v%0!nD19({{z^90pNh#HsC%-WkrCM0nLm`TV5LJ;lS>4fRVX4ipiu zzP6XO8i!Y!hNyQMb}|v!EAV5PVdyn~tzju?`(MGq%ms0Q$DGL{6!Xg|7qhT|?lo3E zmv=olW*!xP(yQatiy|wY)ZxO4`!*rgeSQ(%&q=u~J17@?QbTrPS#b&|gv2q$Q~5zL zq0Q79s^MqsrG10(Ae^=AOFzBi%%Zd*l&n5fh)U@c^KsaBiew@iNk$ z^(j&$K9l{;NlfGU#g!h;VEOlqo&GY0%Bh|AA=oi5!E|DMft9+P9X~-&Jk(*4*a~AH z!k$bvWkcWu&qW@9TE~^@A%Zt7aYnvX!+*bG-^vEHd5t6$e3TgVytx z(=)le%Y&V>FB1|PQ-C&eN{|hYVMAGZDE{|POy5xcsqSI}(0~Fx7z*iRu)}U@Jfril zj-`QOu^1wah*`w!3uPo$asNijH}<`^GqwRn zvI%C8=o%_5)r(2W6~kW?pSSxt`3Xr!_%eNZ*%{VB7qZyxSj(w%V=~75eW=t*D+Xa- z?VozoFAo(_H~G)Aw+8AGYb3W!wr;$1$4ij?2ggXETk^EEEYTxBAif**FmIwOl+mvX zXir~xpad;fvjP+(lDzpCfr&o7G}$H2Y?9`ng8#e+5Y%Q*^ci_{+@D+ZassVF@ibwC*?oui|^vHlnlF&ay351ie+LO?^= z$rqpv-ZY)v5T=Fd(nE+dwH}9Gg4IM)J%O~&mR|Al@dbuEVr(lJ7Z9vP`ZSe`B{l9w z-N0UAnbs86^M(bpiS@CY_zI#?lUAp2@zXkM1#}pL`^TrJZYijgm3k{shD9SVE9i=s zPR0NFzWaM(Y@5DX{B@vht&ftZMw9=Qx9{{`@7pIqE%xQCtzi>CHRY4cVk!H;X|U?l z+)nzrf(-b|>B|3x)JKYj_wdw-p)c6P0z=$43l~>9yBrxZTwI+P3mo3O8j;PQ@7j?x z^g!`G2?3jb$4HHQrJ;)_QDI+eJl&bnd8%@fY|xJPTA!i33`3W}q{(H7hu zjSBAB&bIR8IR?|KZ!Mo;VgPr@(68W0gd8%qMFvR8L6hEzp4|m|AWe>-URhJnNduIGaJQ%T_HBZj_=}FsA15d; zgwRk?i;Bxe*2Yb-#?OUepO{aEM6E6x+luavBj<$nQG6u>FzlD@4LA^mUfz?HqrBY^ zvH(8U2nQeX5vvBiCaep+y2dj;zTjF%|^X|9LuJ<;h z_XOgbzprznOMM@gT0P8nj=f)3bHp>tQh@Cyx&s|@#*^A%z@zcrX@0S1{x1H9Kt*;! zgVz1yzr(q!pPzQq1+Wv?hoyvZ(i()h%%jNu=4jElF1emfw=cYl{n>;wJ?+bF92bh@ zy9;cfvruK-myHt>i*pXa$6UV%A=i%(-3+9MP{9(TU_4dW_H@Z-RV|AArkv}R2?23L zdEBZ}?NDd(v z$`gyw*ztRZ&VGBRY^1+%I)|vhHW2rX9osdv9PbdAn<@EIg6^*-t$%^prxytyl@&-x zbSTZjn5A5Pgb*67525P@^Kp|vh+Dad^66*U5t50yYqbie&vo(7Do34gv1ykaYX5?b z%iGx1R~(b&Ex$_UF*%ww$v6v|Qc8nAG{-z&lf`h*D>=j`2y{q=9GMtn92ma!+?e99 z9=9lX9!l%*z&;!+qNN{7sEDlzxm|8NJ2H4i)l?uFRi{Pp&m_e{hfrt7JMgVXAxjRu zfEi{);YvG)V7Nh!NtkBX`)wV(=Nc=c!4eqllIqFzhyIg(BxT@>U+R0h6VyP|CoC^A zYz8`_Eu7U4w4`2#SiG z=N#(p&qT}!;J{5(aiS?bP*MV0(5l(~YE>Y&2pMY6To~K}ynD}d`yxYS2xFcK7Iue49a zR>|vzL71j% zVO)M8xw&e`NRrrLH2KV{BgDtoceA5qEASkzR9!1>kApr@)7|cP68Yz8=aJ!-v%F__ zv<_>2-0vK4JR>FOXj}B|qNn1!$F(KoF-FW5bWG`AeCK>zate!ZLwzs(f^`NGrwmh_ zE^Ux%M3|T70IG;nqkf5F0;Wlq*E3hn+scvRvL+#9XMkh@BQrfqA&5ib*zV_MUz>YU z>wVp4&xfKO@aLi~sI!8bDz;nkmCu!dJojITYV7yeMXAE+L3dN~Vkcov|KfR}k(OEQ z$5<^Ick{yxi`}wJeg53W>D)FyCeO+g|Mc75$P$Gt;9O##FVZjPK=(94Kk9pSUMI)Z zR1=qEu4!i1aM&XJWyj%qM)VR%M{}q3l>Kq;VETogR1}eyw(BPIZG{j2PCr{ z)>DnBLDU-qdh;#rlvOa+L(sM(;iEHmhObIwGNIg!_MH4V+m2QL8nt+fcq(odyaFe40aJbiFg{p zF$#_uqrgA`f=8$CHiKgb>k;MJ6yBx+De$Q{0KXgwt9urW0F+J^&7-XOYeUO>tV#j5 z^W>MB_}gp+OxD0xwG-+goIPPJ2~+gf4K`fJF-3^WV>#2Pe-#Bq86n3{;zOOuey0?H z(I)4du{6~gGZws8JpPypXY|AK^+z*gaVct6uX1(;JePVbwnQ`^B5InM%9S!Jv{uI*OvrG{!$V^LacA;$1Y~KY4f$Rsr{YA+CEd zqh~@CDHeXK0dIQ$E9D(RCoZQUlVudvNYzAaG|_(x8@13vA9vFcmJrd7Aq}2sV*Msj?+BIznZ?|vL{f-wYk?i3hTpF zW8dKo=2n}>l*ADj|Q|0k70r{o=c((G#2T44VE8X6gVj(pds2|!eW)ft^NqGXq!1{LXpmS z>R`eVgm-H;Vg3wZ{(Ia?qqfkIv)3JV##8$oS)&^!)aMn4_`CkmLu_h8o; zGz4gp7FZ7ylu4mXinRJI_Il zcQV}O9q(Z-ai9`qalD9JTwy!`t<(1~@X8t!N$Tn}vQ&HW;FOc;K6qpo)Ds%*gBdvb`P<~{1)j2!tR5E6oG)FkGldj_4*j;ip|ylU(ja^S}1 zz)$%0j^FgpzP$J!0EM(feW7<4=_n(mo2s10bsotbJp9|QB@ycLMj5#ZRT}VZq$&n| z4+dPdqPh$;1g|~J?q1Dci@5s&s~8SusL22@~!$4C>L6WZhqk*9*%6$ZSFT@zGkqK~18`(W{j_ zETCE=iC4$FR*$r!W-dpE z$_s(1L~)uT!{#YhBo=vGDcK;AQIEY(R%|8Jm5}z^pE7IYvDtosPXUp##9UHdU}N4I zRuoOw9g6k|(56n}?qzmJR$Y#90^^_9$AJ-zJC7BNOMY6An0W}Alf!Hvbr6`YZpHnbZ zE<6&H!lP30$0L@r%t5`T}3?#1kVa!r${S%Bfn7WtN-kX33KZnr~7LVqqcK z_CMz0u!5P-BpSk(P&4P=Mrk4RA>oSvQ6~_Q*uhC&VmTcTi6bmXz7AGWO$`C&!J2dl zTBQI$7cIG6^y*omf9J{I5J?q%OEhq99O^n6>nsMDq+LpcQ5KnMSgGIuLP#nvEwPC= zMENY5b?KC+Pslz2l*%GgMwNCQoRzGZtPOXkl=OQ&M%q<48YwrlSlP(Ypci2%9APQg zH<9{e_Cs+GYZTA1JgPhq*aCj5D0Yc|Zi6epk>EFdu}S^s;yIB=P=OY}%7f`Mcf(Af zOJT&pY-PQHeIPCt>vySjD`Wq}d?utZ`Zz0pS`sMw zc(U5JUG%1?2VAl!p+i%|hbZP+cbk;hI`UG3*#BY;4`QKrZM6=l2pD4_Hu$(Eu`C>*Dr2pOAD55TvDl8R2 z%!$Qg0AsjXuqe}uFnb>o7C0u}4Pf~|6s9%~B@mVonOU2r2jh`V)k=*Ef5=f5s}Nb} zb2FPa1vg#|vZ-sEQ6P4a(fcR}%M{BWvU|03=~^izXXQEp>rZ1(@T<&P$__*AWGjJS zF-#ET2LaMPbBIova0af#umv21)btI?rJ8&*ga~hG&g+oE7R^FTIp?@zKm8!^2vR51 zPj8wBQpeX{4S!PwQH+udR-9uVlp=SL7;7V?eKpP7EQ=wx9%(gcN4YODy%pbaH~K(2 z#&^o+&*WEbR%R39B_C&v9x2kn;1UJXqP%G#VM~F(j3@)GM@dvK0pV-eBk3Dn9}N#; zTwOHRigvDtZ00eIg8mn|jQka_m~`l9tO(rGk6cJ<%qRWB`$IK{bV@*S8<#c59$}cy zCLpXks5T@t?B zjy0@+IiNqSfO*Q;plb{a68BQRAqK`Wg`ANj&%dVZ&6F~gQ(_fo9q|?OODG&xq8X<( zHR4oJuDUoKq8X7;MI$GK8JhCCL4T%x_hCRc@laAc=7WdhIf%(bEE{wuk)vD^rJLri z^u#5MNP1pn(=(~u>%>5J2@iw{!0$ufIp_@H;S}m`my$L5tHcUu(KfPQ9;jv9WI~-y z6m_RdvdE_PBU;Lt`_0Z5#4fzxq%Wd=Yj5JYTp%!QOz|OtwPGLs1!6#1*tlOsrj8Rf zNCGw+L29N%yaEMb5!+ppqB5zCUk0^^;=?QJLZB6$lvAi0MeP<5pIJa!J%~f&?*rE( z#Ey#@D^MznXOavgmLy#XBbfwH?e{X=Mdjd<((bXK%UT4z>z7jA(W6GCl!O{PEED&Z zrX~LaNA)KlEoGufc~gmg?L$h3BC>ijn6Uk!vd?-QOBJTS8EABTVR2_a?1axC=LPLn z97V*Xr%#_B>c)Mw@t4;(`yka(N|lfYBZt)Ow9v8( zF^nd^&uHVSL3Y{0xIonNh)B^WSd)yWsNyvyV!3* zB=OK;2X+81imj}Hq5T%{foP?cK{SKs*w{s3GY!(a@*S|#8*V-|W z!(8bf2hBzR0#hcsN;j?xsgq6e9o^hMxF&TRuZpZ_HMZi<9F6TxSp_`d?p7w7hL|IWQqN4O_1Z0?y_LL_L6VHU-A>N(V-obj40OF9jz@*y*_sES zaTao7*y59;NJS}7$FQbLE(jK_fFS<2phyhDWk8x^mk_&2WS3fWLyAc~J?jWXj8YAv zpFyOj?<4ov^QC>#^Ob;MLXgzo8QwO$7>>&D%IK~6Qd2fIw))0pPU!D2$P!pYe@Mg+ ziu1UB!iQSGvoEESMcp`-7Ogc-;Ti}i*)sV$t#kA%F^~-JDe`tKqd8HMUdJWZ_d&Y^ z*>oK3m2jrH(~VBT$Pd$(QA~~|>5;O|MY@m5!i@U+`M{kdsa?&!ckSohw%mH)b}{C43W+O30UOn2-h^{qY`DLLRBKhzunzz*2`msj)K*1vnfzgceO zDTKdE3$Yx}zM|T`tg3j;JhrdoydlSN>_EJ z&yHQvY*}Kj9kqWA_)%QxQ+Wh$|}9Zr_^M5#{l| zgL~}5e9qNSD1C2sLqD#dzo6X?(UZ}4J;G!^(DWTqDU$VP3X3}JpH3D+95W^AA9k8Z zXk&j|@aIekHq;Wo6UheBwK#85=;xm#Vluu~9L30NatO9{Ad3IFkuDHj=-_Mp{X$Mh z>}kjVc(NN19s8iL_2%INg514d^&68>hI6rfdH7$BE)IS_lj}}Kjn1~7v&#PszNGW< zjo|Mdww}*BZnr^i4^Kwd@c#NZykB2#JYd-Cvi2a?xZ z55Mr|V(Wgt{Y(ERoBVr}@7@RauYi3n_F8^2phwq}Re#~OQ9eNi1i?UJ)`SJ@zET3V zXcPjycFKucZ56{N5O*zf_E{kqCW0Ei-H)WyZ7dL!7apvw75RIPJr#0hO8+DR0E#6` zaE9vAvXO5Ae2C~_So0gp=``)f>StER#o<%=yG{5fOVlc<9Svpy@~;Vfau(=O3-UDv z4q1r!(Jo`u9=~zBpm3*RYOq3#RMDPAvv7bN`d5mL1f5ZV-T#*>?S^vC7RV9 z)&17>Opv0f^kv0u)RbCgI^_7#S0#SA#p}aHb$r2PnQ_UFCuaBx`(p_dlihz1zgPA5 zh^zJuSA%7jQv?(OT98+S$j_99m^^-IZ=;(}RUq8F#JF=M#Ba7@2TfKzSx%1MZ^?}m zWlUY4t6{@k9~!jKd5#9^sO%h~2|sNIS4T&ty0hwA9KOW<%`uYp%~!+fMaMJ${U?e2 zhVS_&fjs_~blCkLsq*zdbE#*&{|WxA0RN(!=9s)M+d)kk;HDaO?j}sBqy5kmYGB(mly}P0M?%a2rs`J8|qeGUhE8e zjRGjV-lk@`mtGKxmFlhr!*j3wPu>0XgrHuZY0#bPOj5G)QyuU5-Rxf)S^InzV@TTg zy4{tq0yUzYaX-wQ+22zA+OGtFJ;n;J3yYbhZ!k!DBf{A4=p zAu;Rqctb1@r)lSbU1(V|_w~J)a>w92h@{DD9MrQ}H7?%710XAd2GB2~YM?f*AE6!U&L5R)eL__F_|I~E%B`4Zp#ZBPD&*nV?HU2R6M{c`u1FU;PQMP!g@>aK~g{_w(@ ziANn&0(t+;lg@&vYOxZd!#pCOq7@0UPGI8^vc439*p}vm35fW~tu)P1ndr+8DK5e& zXDc?H5iHhwYAzQUbO9LH=s7MP&)g)1!qc3Vq-XUjyLrY7ywu}v%-i>mY$&|JZGXZy z&F!#Xx<>*om>_2rBIP^f4^aI38=N{aT-iK0*0x7)C{;xX#$MO>ONAu@YDA$O0DXt0 z>TSjgi8uq<*YLUbn8P~1U{LB-G)8?2Lne=09aUn5CFoW{9&uShm-* z@gny^dMEHILD^>13ZZ&PoCBkM;9vb8UZ<>>L3)^f0#vTb#CDDqZnS}-xbpTiE2ll- zS(X-iq?$%FIq(!keF0YZ{YAg2wtG{hlCz>cVqsYT4_+yCO%U74Og09 z#Lrj5Zxc#gQ%g+CD7PHbh#i7DPjRH(@%ahfvNtM^Z3%TDJLv4puveA*Vnc5>8$(^@ zy8`9Unogo9Uk9B>2D5B;j`rA$Blg0cNs0an;$EV9Q7)t4P@q5nKoZjUb(wn(JazoFc-HU50D; zuZT+>_)FgFMI@AN%}l8LWg0`pZ4N}=@1WNHC_5-QP=euS(;P>e;$End&o%UyAmY8(kZ*Z1V zoXln}cB*{9Uc1a8FgftLWqF|TtJmzCmpqz~k(F@qZMv1e$*BLlUW=}a)~V?s^4!Nt zHu;}MdGTK@UAUHZF2oU@=3&I=+E;fvyu_eMQ zC($W|fc#;1bF*$`Li4XqmtT~5|8lZ=K@dZo4SDc*Bsr`LoN}n-+}z-Ms06G=tt&hw zLOEG6J&b?4I28=I0 z4nKUC^#ENdl+bZ`20fER^L;^hS}Q4InCsa0aLi!UX5SR0D2)eaq(5p=fn=J@b8jQwN_<-ZVtV$3}zTtO(|vV>SfIKPY*11(-c z#Yjmx=vGIuZU|Ask}Sk1a*qahsq<*qfYNXD7#Z=%C_@s#Ti0^TrBuTqv=r9zS+|iT zk~VeztnUpJCQzxAM@Rw22C?SN;+ofnkK66gM`f`fNSq>G?WkIC#Oi%9zI+dZen?F0 zldG~dR-!KU=&g>f>+3l4@g@yC23zbRGEXHjp*@UAxI>`#J1jhdEUDS_R*AWp06j`X z+}6L%0N5*d7KlOya%?MYj;zjNQPUM3dm0>S{&}TxHh)fclN!eL;0ad)1_JSWFs0B` zY+5Y5PVwVL31c}LIab8D)krG1@?W9afour_qA;5QhR8$uG8jB_yEsYsVf_1s#;GY* zqdY>OS0a^MvnZxse|6BngNqbm0WK>-#j3;MT*=jjw<1RKjv`NkdgGh^KqTWy!<1M~ zq{YZk2{%zS0f+6GH>W@kK`uICWF>EM4S0oi7ETW>E((v)k=$l1 zpxI8FF*e(zty(nWm}?e~T6ugO1uFhbmCCy_z2+Wl?c|hGFjdqhHZ77IU`FMj5}4SL zAWI=OH0Y?Wv_;8CtZx2AIl2RiW*60jwBml&JJSmaFNI&SX=heM-_4wL}ZI8n3xkpt$q8C?(#LJgkFPO~MnOuO8c zoz$D%!X`Zo0n9}YfSA;;M)a3f>U&x^b~TFH=5UOPV(hfx_qK6wnyKXaF+X|9*!fOo zEv#?*&n3F5Ac-LQ*Cf>+2(wfbjFI^Y?)crbPjzuNQvZ;1QHsQ^h}x4;A5T-K!GKR1BC3@&bG z^RN^aQ0yR$$)_EDmCi*1Exk4kBgN_{u(FY~@uVU;oBE$mZ(T&nRFtQfYb(xK29(I4 z;|1*{Z)eb*?&0o(=o;O9OiPCeD4T9B*qrDkcEP@$H3YJgd zuDB@)30aDq;h(^xy)@!j@xa}UtD$s*mxk7aq9scf$6dX{YDvS(ab;#VY^OV4&I*t3 z%Ppm4#pupuLPI%iojd#Q@*M1fyR1oegc>RZ^^PBkxDw+7&zf}Q`{JN2Y3LIIL_Z)R~ana;^ z@b=9L9aVD<>6Wb%2@jk+?l=lqmeLD8=I_8e8FE+rTeq|5%TpmP=bjBVS;j<3Pdxs0S;5p8izqxq55A)UuLhbS6?Q_2L?>xZltsmo z%!$E*00iLdLp>;FgV^sRGBoRA^2UU1`=YI30axp2p{0S)(ap?4z_<0bF%vbK^`@uH-kb*(UH&W)ppQV5RDjx6`?Fr=m7-HdA{V z5W3?!eP^)YHWQ~Pcsbq{geNyyaidt`uo+qL+E|XaGF=-XK+1^uXwJ$LB?WGyD)_3U zapmfYWwc%65|ZkMRvmpgNkyHtk#y3Z7+|lxAiH21bAY#~ukG>%H*~;z^sDd;ykzN9 z>z3jePl1t|HQy7aC(UB)ROn&t@IdbVWw$Ka`K=x+>k#?d@yNDG}_>=z#qpr zp=j;Nk-2R$Kg+>B==iqxn}bM6srbs$DGj*Hma~O^aKCc8aqr_#0T8|ayb3aJDtany zuHXY#9$xQ%#%kJ2XD|-}(Y{C{=9e05@;}*_ElcPkbR%|jEEYPv8s^fn?VwwH`7epG zkK!NxgokSMEY757tgk=e)!}>3Y$K0se4FAFn>XalwkKMvgogD;oNQ{n^8Ci6^%Kxa z5FcQ{e`7k_ON#FN&U`tzQP@oNN2YMmT)t1X1(BJmze2Bf?eCci_*Q;)(%sJ52Q2<- zu;m)KfSyjhVJ52$A3@4p!YK=k^B&KRhXOH|>nme>w^Kg8JHRe|S8lh6;_4#&-Jv}j zxw?Y$z)Qi?=lWv1k&nK8?j`)y+YPu!q>7ccul*s&goFG=9}IPhz3}3wbC`c(N6)IJ zZSBizWC>3wQFYyzrFY31q2f`|XF1)g!yl^an!|cd59L4kw1Veqv;h;jTa`;O_IpHV z_daA@2kNZ5E9!T0pF!N7#f%^P!_Qwki1i$P@|{+>Xia%CQ-$d2x97!M@{y1M57KfTco*5>p*q144Y7Sc4#Fzm z^iw-7CVU6ERJ)gL7$}~94QJq|vBi3#wi^$hR*;j<-lDBP21$%2tZs^jYYMYW`3eik^+_@# z(;Bv#*|p%)^$L97$?ui0|ECHGv-N8)IQ3T@h;cfQH18U%V`6?zqMP6kN)gO zzb^1ta^JS&NL4D>qiw8el`qzVvC|N3>qsQ3qI&-);9=TbMzSCg7ef5Pbs$D;AQvV` z43i}~`qDqq^_9c3!3%jkeVKdd@F|EM9jUzxP5ap}&4}=FvvgosS}`kKENI&&gpb;{ zCgCJ$;plj2Se%05-&+l^47II~zTDe2?F-`UojD8PvR=VF1wy)+6*Z5Wr$K=>Y?N>c zP_~qdsuw-ZhrIHCX4{u7Ezf)tR4eFlk{MsPZ#j68b%gp1#weY7UOl%cqvYt#imj5` zJ8jXS{5@mo@~s6Y8q0FN|8P~JiBQ=<#5U{z)smlSh%-?>ahC-Unh&e(6Q6|)2R{fE zcYfSIUe%Yid@5E@pHTlmaisky=reOh79hHS65`#1T3t72R4Db>dy7AEq`vwGz%QRH zch1L3P$`&<%Okz0Arf)?iQUP0WAVf2XM^6c;LidaG|m1~9Ah>!GiL!lopH#iYUNe@ zXdP!5O=rZ)>NGikCbBa1TT2~1Wuh^ettVGyKKVd(%_?c$CztnJCL5IA=bEo8f}HBm z-A*olcCt7pUk2#b{8+aT@JP^qTCQ_)gO#}oQ*iO|jC#~oouX$`AjIHkg!)!6rInn& zojmvTa-ubb-0kzavC~k~{qyCo5s_eEu7{?q&-k(NQH%(%*OtbBX9hW8Vn{f-J^t15 zAY<^sUAXjC5Ux-eHOckBV<~CLxAJ1cSJpIt6f^pgoIZIn>D24SuL*hZE)ltN)=kTi4@qucF)Eyh)_LU^3o(8k*Cj-9F_ zvY-biOY9G5W+ihb5~dq64JuTeKuphUt9K4I%Q)7v zd>{rCbz!n^A6)+X+gK@V<53;qv$m#9a)CL1l58JrZbW0fI6`ib4>BK7pYGZTlzAk> z4xKI4wAV0_FK37EwNO8lEoN!Y{b{XYLW$BuuWe0& z7tVy0nBDp6B2=;Iv$V6^U5a%6z@0f7u>`J5giPLbP%H6A3=?EUhxXfmu})#9wkPqP z!=|f6lUq%WnCVG6EqNIkyoY-$6E4LXtYk)@nKZv~FKc?^m{CSi-0lo)851D2Hb zyM3G(gQBvHkQ%upMI56(*r^@JB%=TZ+(18CU13i zkwvwEb&}b0O|N)lQWb?!fAlTaKXHI>TE{rH-gKh*PcC*SjfUbrbV_x&A&XeIG#pJq zZF?c!QJdNm#$^b4xuO9R-yu;9z!)EKY8bWsw|kNrw?%bna-1@^FbIb1XUZDIaugKe zTqN`Q{Kq4`iLhxGl^O(79weVggj9Ol8?mtL8)3iw79A{>q&hX+Pvwq!61WFu=fDKy zd9}p?ypM6O4s?VgRaQFX_bY~lk>y0S(7KNZKq&$`exct4OufECxUcNjx|I8~LO#iR zGcpFRrYus`rwks=BE$I^XI&mO7NwfhiICV;Osr=+LCYdUg=F^=g{x{_>2cMvacO!9 z$(fZyv{i%Jh93;}M%z&-Cr|(+pt_J5>vL&Bxly?xc>alzP2o4V3t$v+(G0y*7LAm4 zLWB6mYJ+aGT~S%fT<72H2n)k(m8`%`%*&?9o2+_%^}1vQlCIKJqtk_pXN>TL7dY33 z*n4;9@XY2tp(8ikR4d6r7(^snsp(PptK&+G9$4>?j7p%JPK)g$tpx&q;8IkHymnp) zT*10RCKC^>ZvDRTA=G?l_3{DHB6+HnhuZ-MSItM@GZ7t6b0X?aIe8};{Q4;j3EGwu zXfF>IkkO~++M|d9r>>;YaWwnx{~F)k<&iyCdjq9KOAu)S{zQ+=Xt%BgQ)`!_j4KjJ z*-(A0J7&?s0Fn)k-pBw*!^nZEDceP=!KQ{9f%vF&PJoW%MS_YrO?-q^KO-oyA54cI zradKOA{)CKs`ImMPpz13p(cTt4_XQ|{ z(fJE+QUVY);-?u-d3@Qi`d4GX>)k93M(zX13%O82!2FjZOWOqBJ4Z%c%Vese)%@^5o7+gR^ z$ya{8cd{s0`D*)|@ekdV?J;^FXi;k&(pa4Cy#>5v+*@=qOfeyh<&VJRxoh{-w>M_% z*w|l`X%ay0w`V}!fF@T45s!VAdUfPn2=Ji!S9jcpQw1utb&&_6EQ}4+u5Mo$py*L0aH``SgW8 zg&8Q8nzGi8Dg-l&Kgz+ zGxAIjK?i(9qI*f+GfIW|M_5Oja{m;G{KgA|D42Eajr`JKH?b(gv|yPV+XRVZ)xxXg?Sfml?Srf?PS-v;LL?DO=YxSV=safl&@fnZe&W-HTW z;$B)Mq{aYqw5Deo^XgQbbkIUk`q);2SQ!>U;hw`Q%GQug@8xRLAgc1dc*+IU$ogDP z*m+?ShwonIe|HF4?6%lwoqXY0*%`u(rcXgO%Y|H5q7; z&{2S5o_Wnk@%uIJ!VUIho@2l1LIL| z<{TTSn)#ki3b|$|rMPCK!}G8q5Dd`TdV|(>q>$FK;p8BLTR>Ub{eY`VHr#+ZvQBom z3zg(P(i38c66-W8*^0R)MB6{Xde*cRg9;GS0{*^hJf=Q`9tMY3FFIT7a>JY(t;EDQaz!7*-!o9( z-U}gm^qy8Vq6z5an+v5-j|5(sHbY!Sdl zXivaS^RsM}|G=qWKMJl?fPWYqvWJ;#3srs?(FrKj{YY)mX1yc`rtV?UJrWkFSnf>h zBgYDNyj&o)MawmYYBq^OgJd9WRZG{lRM}Qx7C*G3`m|$j)urAoRa`V`1f$1B?Yc;n zi5D6A7WGmqW_p4E^@LT_vIR`43^TA;^doh$r%boS%cj8-cLt?fNvQwDb~O&DW4?M9L@m~SSq2rf4U zR8taKC#g}Tf^tGcaO0tW(fDv=5|RXtc@4q_qn(>`F{epNN?GI&sg>$a zoJOXXu7ypn+K!U1cSx3qSAA21GiH4Ipmde3H=h_D*lr755F018#xw`R7uVlD8*CpW zVxvKyzs%-*3OLL6$&KQLn{i1AgCzEE1Db)kdb_#tHvry@p+|FKaT)Q`pdQ+sCUm$0g3m!@tCo8uC6H3@BY6d_fb3)hW*tXzmYQQ`k(*!c-3MPh8z$Bsc!{a7 zQ0_&WcBnF@R2!V||83hGJq9grPn;d}q~1Td*}#0&9YcM6eEriINHnZawffLtF2Q8Y zDZu+}i@@nfcg0O17w!WxtK$~ELRP(F-LLQagL4WmStS`V?pnd2S_z!_@j`y6U0zAeQ|2{}SeG>ea`G|ugU^1e9ncTZa~>&zx9vA4Od z9Ew>nG%HgaR&JJ{`Z|TqQ9=5w5XF}W!MG@_wHdEkO8ToCj5FXzIOM=JC){JQm^_VH z6YB#+pn{7RJGkhh4)3m^s@`$__ zhb)v}NWRy(?03PVsHYby*)z`^PX4{h4$<1yg#6ZJg5UQ0q$!$>IZM$^Fm|!zkgK^x zQRyGS%t|bgzYhSm-&6Y$e>}TdkNDk`psY*>Of{drYv^u9@%&qcHZQ&MY3~^9U=kVu6WTPzm#+_g zl26g0W+5u|2CL&6bF!u&QnClr5f~^23yCZP3;nQEW8v7?}!Myoc z5}H@n?8$E%t)scpBGp)fSd}5SEuL-)M()jdH>@4p)pc;|LFPVU3I;*VkTI?fTr^IL zd2!Dl$=y>}p$J4vU|f&-LXnwN=~lW<&A4V_#wfV>`-y)_kemmVKqf$ABSFq&%>BM2 zK}DIk2?hfgGYo|l`@fU65H~H}yo-)v{X!YzG|Jbx&7RF|5FD?Y3R37Hym|IZ3r<;CC6bx;PG`vZ*(H?>RO zTNDj4%CyM9Py<&~zU%DJ)|0u5tK+mj@OLPZK+Sc& z_gBGgQ{Bf=++UB^JZ4M#R*C(~A5QsGw4zqCtBmisglkQ-T;Sk|x7fgTT| zy7j6ge&#G%s0j{sG+NJII;!(}a%5sH$hn~NBix7WHf?w>OI#Jd3kAc>iC(*oDXaLZN?D3 zS@hyHRQE9qExVKrx;hsU!dGaT*YUdXYPZnBJg9&}k1CndD!032M`pOY&x z2YUc-EpMZl5;4{auO-&xo3X~Gy=h-kRLucSs^2^o71=(@+@00*7e^1(F82Q&^75>X zKgU~n?)5fgOh^^7GFf*#_%Vdm{R2Ii>QpaW!Q4ChRl`{&52-ROU5(CN%murc0!U`D z%)cK+%NP>qNumgHIV)|4132xvVWkr!2K|tGC32*5JxdkPV29U6Q$Tk`z>$YXzXQDz zihp!r)>A75r4IT@d6WHmx7t*zK% zu$^G4kQggjkd`1cvsoed_7g=a*^U7o4_hxJ82^Z10j$&{hUvnc4w7ft-z3}Zm_1GS z@#uP4g({n24INf*0uYCiY5~2n`T&c9oBWawg9zCcGi#l`t)aLrd!eFpzOoaswJ+(6E<|`l|xOW^RS)Imf;Y0AMGj!cbk< zd66imnJVYQ!&lL#X%GABOE?`8Z<7Yc2w_66yZ^ZS+Wn~u)RK_qx5Wd z^u*@9ZQ4-sG6A8BTPG+!w%21~j_{qq%6e7|< zJA}RuG-pD_+2ZeIVc|y9+@~_ zkBxS)zR>*rBqIvl7hcl$EeXrHonudRME-Ug;w2le&WZQkGg0;fCG(qPgKZ5C{FI42x3`0UL&YHLy5#iK z{qw=d!Iqzpi9ZB0MOb<1vrykS19kI<`d3FOa)#RH<7Scas@NAZcj1uHlC7g@{bMuc z*~_-zyZnO^XNtk6iAjvG*00dYi%;VJWbI%{A@Sbff`D8Y{GYi}f|Nfq01oj#KG^@o z-ud?dh^zB=YX?RPXEReqJ8MfTSBHNDp8ulmROx#ED{?D5H)RNQ|dHjgyG|B z6;2oiTr@44)oI&dLov>9;eS(?9j&Wby7FT$G?Qyepy|Z9{+-DUuoKJ*z3ohd-Bkd> z!d;Z`32@FYM+XaQPXh&NI;nZaE_gK`+Qqz_o6qC%FzFN0L}Tw;%!2XC;@=HriazvN zC&q_=n_FNk6lYFgDwXN-m&ZLdZV7g^w1`+oQtdS);=;8lTsAO68bx=w7+a>@)GYGe z$((mZ3G{1HNq`&1d5U7%yndYa3Eu$UP#1ESa3-uqrLyDItX&nfsl1YFleno06}cH( zSh~h-{+WksuA~jRJzOy#!a6Tm_>iKNloa1ef{Ky$72YdlO5_)wzit*3-))Av^TghG z*wyFml+>hOMX?U!O?JJH3Xe^r?Bf;NVk74;uRi#e%)(_!k_hhdt-2o<|5!?JF2S* zm>z(vzO?^zX#Mw`IwDrLGAs@ZoP5UtvoOyyDGr(%mv`cI1@T07#Nd{<&aOqVlQAP8 zf>gPl&5;_CW{HQcgG!1Bk1LtbW$82?Up{ctJx5sWGnS0-+_}SXDtZA@iM(cHJs_1F zhf<4S+t)?2Cpw)JI?zwnLkTh(P-y80KQ_y^+V%P)nN&g@Wr=Bo_;dkD>5BoqS-~6H ziRZ}gX)SW0q2@3S%dX-Z7Raoz&qysG1H#Wj zFR=}g@0C_vBwa?jne=Jw=8NP?lVR2Ci(E@rYhheFRxnDb70n%WaYV%%F54uSSOKs< z^$YB9#6Bk^{8E=V)?jETX)ai*Vp;76Ld?;Rosnj-zRkn*Q=9`(8^$QBGOsx7M%OQW zW&#<|%T2i$`WekS_3c7DK5qSpc0Bu;Lh;-OzE z`w?RaNPaTN5McPhQy_Vl;c!N&dZ$kE3Cz=N4hau>GUxI*;WBG~11~%L2W$O+0XtV; z(KzQuA$ut~BOL~`c0b0-b#NVJ?1aSm&Y}crz#*_~S@cGmOqVZXv7SBQhR5Zo1~loZ zD4M)L=eOF8N%Fe{NMOSVGRv7)n5XZt-3w3OyY1J?>GuB|6CpiQg4~dT*8D}+$++>+ zEpjF|e)vT|gZh-AaQ^IFtU8Kr(oaaGZh#K1F0U8=Ge!$I`}_u+%l>T&tEQFBVpwA( zbF@Mhy2N2g8d)Vwu#;;y=$qh6DJjK3HFjxqvq{cW$0h0)3S5AHZK@IWqb>9*!u4is z?2tIy7@qFTvt0FkKSZVOtL4C+-`3^*zA%8{%o&bJ;2^?=u=>fpBWE%Nr)-}$C^|9# z0hLfOlW76S$HF2d4T%iTy{?<>LVa(dLYPC=KEKWvcBrmaz-S*t+42jTinx#3y=y%{ z{O)jfiUCTdV|TzYK?6T_;huO?TFkXmH&ZrA)fK7>K@wzRX-~V!_R^j0JR3|srf|p|Q^L9}bs;()Fz}`<8jpELI?qp9FBXbzs(B9?Y2eB9mOPCq*LiD-|IT6+GHT9xR z)M@*xEOhWdg%GP1+H(N?3~B(*r*v^?p;$g0F3X(t<}nZ_VDn@8vEzpSP9EL58J2Fk z0*uVwu0zh2&x{csZEjq#*HUs{;jm-q7c4CxdONPVF+C1ZOD}+)PX)sw8*ASmf0rq$ zV8W!F=Y}$?a*n%PQ;#IKI=n&i95^ArVI)AB3c0u+j7@v^X9b;u26q{*Ttuvd#$GBU zv`|vU{sx>U*q%a`M1Qa0Bs((&E3#Q6$L_Dc9AFSo8oO zg&Ha2DQMo{W}f5}YVeV*lu!V1>Pq}*MAS9==bqdk68VrxM7$2Dh$(%<$V!i@H}VZv z`600%;lFwPfnAWZ;q!f&lTqfc&)5GKwKbey(KFNm}j#<_afn1~tbG&-1tKCvsW{hl>RjGsz5F zh7_J8d!XP?=#?F}aINxKV{6cvZ>T|t70xzTBpL5Mez+*dg5|D%84DDlA63NCWA}H%hUyf=f1l;EDdkLqgmBV;$L>^C3v|z@wVlka9No0WndU-#Oci zDHYh9DYhA*u_&>_u|BMg042mmoV}8iqsNS4LK#CYSm~dK#CIt3@Zl3nA9na_fCR$3F_eoV9TPLSq`Hm5xVv zaY3x_q(m4=eq-TWRH5W2Tw6v2b6L3h-YT=t~u-B>3>oG%X(wnfLfOTlY?Oc~%%fAVfPWrq5o zTRKhBlIc8Yj8~JZi4v=UpQK;Hfe9M?eH(dY;bk`McTUpj5W|A&S9?u<{hxkTV{J=- zuC5-{9g|hG-V#evRrIF`7C0Z^Hd$a?-wy zOC*_lWr(LWGSBI%@gF;zbpwd2cdY5bEzgDtP%3%}AcgoW>zKH55EY->He6Qiy@*gr zw8+0ENgM1|k4$NRwI3t_bIsZwdjv8UcSlhgPi@lE?4qG0kr5Wf>OZ+77esCDn zX8SiTnu3g45sQFuM2VtXK16FMrZ12a@(`9-rPpUm`(|opQIXe+~UozgxMzi_$Zo2Z|Hg3-JoAq*caz&qwf%QX za~Eby=kGtP7y(l&a~D?!H&;gc?_Or+rc6H^EYI7`wG$2SnJP*8{DTYpIl#eX_eT;0WXhbPeN>=_lG6dh+t!?Cjp-kN&tI-in#1@xFAc z`BN=WbEo^Hkb0`-<)iPsuGj3a)1S+B+U&6Lz1Vg`0B z+l1^2VF937%7VdAdw8m>W%aS$+}_Ua-0nHNCcK)^ytSnj(d<`?kx}-<__)4-LEUMh z61NxM7uwU3(R?5r!R+)jNXUApw^qCS)Soa?FTtxP62@ta;S0bwElrj%Y`+0FCNlEf z^qeQ02I=Kwt|TM`QgYHlL9ud+ye?)pPTP}0S{MK{$r0A6COT6Abc9I^8goQ&c z^aFOpYD%e=Zt3HeY_Urd(;yMx!v}MGLNsLP^UBCM)qf2zxJ8pDL3p3k{A}1Kyw2*b zhT^pT`tT7N1hT_+-`yUXWYBKCquH>on;(-IWb(VKDLBDUy2Iu$F!DA&)5UGOiPPJ@ zfUkNe?Ec%xxAg_I35AWjDGxPiDk{ZlW_P`qp$F>7j%NDzXgLZdY?$^4W{-8fPAxS? z4V+LvvG#YNasegQ616vvRZiX~G&ZBya;GBZE|AV0!3R6Ytue%+4P_liXUzF$!Fg&jG3QL*cI* zE@)V2nO&1x`ozwILN5=Q-eDI?Cq-xuD0&C}%!f_F`s_RHz9qHmD_F*kq3pR)Z}RD% zi^BP2dHOR2(WIi+OMVi#v^_SB4m;Q`hI;2^vyt&nlo&=HuSPX5&HCpYhH&^IfM=O+ z%zQaH-Fr<_^lTSNL*jpNFXDVIuaKGAKkB` z1#9FGOPZOuGi9%hbJJ&fZ1ty*Cg`N9RY{DrJU@V$(8Bw63f%ZA_F98g(eD44^wvU< z**HgAa^+yyKQoP zOD2mKLa}OlaMs@vQYpn@l`(7s?cNtj`@}2^a=jRlaSc^Xc^B|nd;JLd&^?XHtK39y z4@Hz(nl_Q`>6?abNE!UOW%?d{Y#JVKr4NiNhqsgo@S-r(8!90v%8mK9GzRGN%d>2kS)0n=zVf!$B*g{4H{bXlHgIbs&4RM>A zn)~d`D2MltOy_&v0ud!5gWs_dQg!^S+Gk87K#EOG#i63I2v_`T_s461xMdKAPyem0 zy}@*TyM88Pn9dmBHb{Nf%h#Hgfh3?c{&S$LC?_Z9?(SYSF>nZMFXXJ5__HCMc(t^B zwY*^euuaL{d?)f9!-VaxV=-N-s9QHWhe1H7jC&V(_hz_PgX`ONPcV0`k zZ=VU-09N!<(^djc)EG3#$Z#^26LVYztLnt-#BMyEP>1{zV43)S1oQ@f9iUC5_A5A_ z9YhQ}0BRkF3t)VZBg=mqwGJJs4|!%t2XFk53cb?ZT$0@ueM)rnOej@`j?dXA9vYlC z;1}%sxA;b)ctEJmveNh_dk0e5g`2w_#|;cJBkjx$h%xo94qw5d zMkoqB>tvpIw-OQ-Gb;9z$)Rd~V{QEwQvo3@0hXi;Z(rA|ud1J(o|;;5s<8iIeC5!V z0tzRVj`XBgg3(fxmR(G676gEm(1)#_1hh&Rjb=gVZ<{^{J^Edey7MeOULd zA#|>ok*{dR1YmzxtiGmyntQv~e|(QN3;ws+Y0aBh1&TPI++@X(RciHFmU1uhbPPYW z1c;7uC>{aO21K|hWD7PHi~qm@i@vEJ3btvR^O(?KI^6j;F!^0(ip8rh$lP0cH8dDb z>Ess7i!P=ZE$$E`qS=3lEjqv9UACdTn?E;~bjIgjap8h++ln^qc z8`{40BD2_=Q6p3#FqUd;^Pu4s?(&B(`1r&pH=Esk{b5S}im)1f0EkH& zG(!{T_}Cfz>`bNm$=dkmXn|lxvr+CrLhhTOZIrtK3}{lVJBoESnBrfQ__pqB{-qMTA`@R5baf-o1ck z#u2Db)?nB*ra1V1mW-x6b$!M6l=(Am)uU2AvKYaDI{UXm>|xj0*+o$x>}`>H(r^9|;t zLIymAbS13y>^Ke1tN$3ybOy*t9`dqPefk)aT**z_Hzqj?{ z`YQ`vc2iTK?qsxsn}ThmTF=X9ZzXC8`pX@G1O*w+ya00JYYG{Q0*wxKB{5jU@M8=5 z^9uaS8(F@Wlo>~cdn;}Wya2*i%33rx*pt1L76+6>9t$1@LL^UJnFc^YgG~ueU6$nP&|J*A$=1Y?wbBflUivXwIeDK4xy~=w+nxQ*5G>Cf*h_T^CvdY8D zp4Z{EQJ>9GXmv;mNpiB1;zW84k7la=l!<%2v=1Gt0fVrb}Pg%k?Z%bcM>n~fJoY@;5r zkt_6T*y%mcg)41^t__^z36$R?D`uW8@7lsb$r52%%~^va7y&KppV7z1>BaEJgM-q;Ib}9KK*y^~IuC@oBW+*nym~bf+(X`mxFymW6(BKOU zsneEy2Y_-!hc+13*5IH9c~7PBr$#azqM$m%Eh6CeW6c*fKaFS)8|{b?ueeWZq|Cl6 z#p3YtUZG?Rk6AaV#!DLnu}a@q$H|A-j+*z`wuCJg(&Y7YnRtOjfJKl5uVg0UzDh=4 zq@sGRZ63L|=58YUKH6UPPY@Fhkbss4Et)(7RUjdvwsImmLUX?ea-kwBSh(5;^anPZAt6zszO2C@C;dtlIk4i0$FT!53+UZr?lRGj^2DnB- zYr_Ep*;VxXf>k_6fhTi4+mFQVX^4OcVs5YxcW(AXia@8tvj29dzp*)Y8UY8MCTnZ)tk#GmR262|@w{{52+#|O zJ9cq#+wBtkyDcF1xbWB?$#wKt^|hP7+x6cUE++#=_PZP>S3$Yg>hz{ z>A+H_5j=tvyHVmGWqiEVL{0Ihq0vj@Hz8e4FqW(%S%8Cnm=#U?q$cOq)R4D3hdWPR zMG6${Kw9CfKiB8OoEJlGn`9=KBH%0YbOe%Iv=2MwvBN;}f^#|$?l0UEPK1$?!jDyH z$rt5-=nXdL&+?1QI|AlKmE${Yu?r^4RYD}|%ur%Xx?V{(LR!|dPe}#(OCX`W5ud!o zf6U^6&5#8I$xkhvS<5e)XDxF981+T1k7~ z*XUrwiVek<@1mL^wnH8NntmQ{A@quw)f;)jK1qHwZP^-mVpOpaLA6Tn8COsn34F`~p4>$A841~ck-+=tU8 zTa6r`-ADrvWN|t$wXjP7*a<&Jqd#yjDh{2lg{I`X1r;=18HMk1w&%7aaVs+CjU68` zLMawKqxinkPS+cLG_C@1VQ!!0CY%J;dm%h~y!?O>Vc0?GsXV$82Blm*AC!vP^A^~b z@6_=$Aa4b|*7w9OPPxkVL5Iw3C`IMu-&}aj=gn5}>kdrqRBiF_h1W`dL$^-UU8S}i@)p%om6rBZadlia*IKGTdt2M@Bg^fUbnIa?QLAS~<-WxdKmDK$`{P;{pO^k&^}Q;i`i8V^65OKYh=se* zsH^6(cHqM=Gx*4xIu-XCW|%@O)uLh!xpZFKTJ@gG4t?fnhi_BUHlOW0H!JFL^ZCb8 z?9}VJbWEXl%Y391+D;uGURp`X)E8(vS zvNiyEv8pTp#?UZwn?U*rDhPLIr}7}k>J)GVoY~@KWfg_w%Lmvdt<}|Roe($v zj919G686h{^0J81HK=Y3b* zYH%Y0I`*$fQA3)4aWcTb!2Y{*2rTH&YlT&N7{ouTL)rHY6Ja+@w~PfRHXHc_p7T}m z#^|TYu>J!@K)SzJdV0{uNh4qZQopGkkN> z)rVV95Gp`*UV?67rsN@UHPIWt4pOhz@3Auw{)%h%oPXBhC~C=1TxgzYHrJ2} zX$gK-sE#Z(Tpyn ziFI9=M1R5YMJ`U_8q^c~kdcuUjZ2z|PFkvx0dOL659AfUzX3;49#yc>Nq|ga{SE&> zQCd*I>*p`3@y2tl?dp(Hx-6a%MKB{(l4{oy6vrqQ$|6qvd%RNKAl*AK(~; z{S3196>8OsxiXSRdXafx<(0jJ`B(LsKHs0Rsn|cnHNUPh?NTZlJVy*Rt~XCZfW!CV zBq57`2wIzswrg9^v?Qd>QEVdUJ|Na)`d$u|xq39IHHfMxbQN$k+hya|)=v+Dt~sTC zzJJj(wK3x5Sm)eB$`DdN*LaSv8X=oZwB>C0$e-zY{UMnHM2^#gu}(I}Bp$iPm8%7n zJssKon$u;A2}Yq!M-=Q6_);c|BDgjp6z@Mg0NpHC@@u~C`y>&En&4Phc)(SP>Sm!E$$P)iju*l__9)406sN|h@Mg6^rO8!Fv?R+_9TbR-h_PduD;EjJ~niXrgqwxA7@hQ!Uwu{?m$i_VIo%N{lm zi18PBLr2WeYanFE=(N3`R@$l_9x1WMP5^F4BzzUM=JoVSWm;lDWyWfW^ga|(AW7)bTypSZFnh9BG`it!VrF%PrSrXCsMP!KcpfbVq}8aBt?=;7Z`^!LmDNd*qfxWpDU=&b4L}s5vLv%bcb8Fk{w1PC02wDFE>*bG+Pt5cC|y(CJ4Fkry`JBi2A*9%IbT z*0A}caI>B`s50G&v40fUwwB1}V&e_AV6@RJhT&8clxp5!2ggm_-CHkQ&hZk$swenS z)Oj+cRJP2J=S(oxkk6(#5I@^_CNpu)%;>UtP=GkHMv8-6&c(FEj~#05l{Ono>l*Sy zXNGqA-Rqn`1~|Rln9(Bl_AsBfGR<2|LYD3s#Tm#nOglErFMpU&xA6&zZuC{t9y1md zn27(`1IxMqVjHqvFYKan^T1#YPG`d5rFbU0yV<9KIeFgJU!xy;w0>AjMt*!#2}xW0{vt3DPiUQx*qcM1Arq0} z9Y;{&0p0Q2q$89Le*6NWtzIeHf%Rvvf`%2RN&Heh8wx!I2u9ZFg8Zg=SpcJKY8IRC zWk}HOiMA3T_VJs7kC(^qrGyvO@rIu;fU^R?OBeBAK7T3K+Pi!EInNAjVYw4JjJaWQ zn;p;JA0TD=U&ubg=vp!{5L3|{eOdF7F9K1y?2~(xtz=Is^HuXfJfl4BTTgqW*U&7U zW8mw(PSjMi;P;5zrohvp_IM(jbf9hVviXo20hbbS(Wix;ifZZ_4vx%sTmt{dhjIjz z3aoOz_4~+8QAeretz-)Y5c*Tvr}MhMFn6!xHQdIr>IYC zlUFJ19Ya2hx>9C$X4HtP#nym;xw}u40(%Is#}}GIf?{Qzchj6RWsssPPmt{-(-C?p z*nb(giu#|Thf`sEGtdLGOqQ%(rhUadeOvJ-VrGH{y z7ojdKub-FvSk(Ph!T2q$_m`K&z48pj2slsmo!SVT6NO>LNO|%@t6E)u7jh?oBZ&w3 zIR6z|-SL#CY3Yq1Z|-4Xpn7GQqzfG?6JEBQ>!7f6@-Qh#Q?Ky}145;&V{Gl~-ee-V zO3j1ok5e*Uu8OY|L-^b?I82piVt?PsmeJEB##`S6=-9Gbov=ug4<3EqU^37Z{_a|a ze1X65A;U}0DZ$<_+vR2V5D7{lG{wOh+ZX@7&_G9y{o1Cbqaphdp@Flw`qB?N?=P}w z6+-#z4l-C23UWz{H%pRLiJrd|JM14030Bk?8~vmdI-h6v-0mO1WB`a&?SG-fEZDZX z4^Xo?I5NKt&5`J!Jm;ox`no#h=+!9vb{x&J&M=HMAg7~?mPH;h$uRj-BDpZ`0bqUC zPpo%$N!&IV4osr*P<)cFHLYOpUOX6bug`YLH-r0DAMJxas22-8i+jJkuWywxq7Ai( zSbn(w_~Yg6tJ?LX_pqC)7XRK9j)Ee$&zD2><* z5+!8d7#2L{Sj|c{A7vXM zO72PGahw(KG6BGJTYu?45+xLvGcFZfD?_95+#~`Dh337D@Zk!njf)w$?P`!a%7%ll z0U5R25d6};xJv=NXLY8AhKr~YO|&0|<1;z4*t!%0ISHo8X+NbJ6$ZmO{7*(vY_36? zaNA^h*1m<$uUSAnrw`QQ<}UlOoMt%`@_Q;iGdwbY3!gMv?|($R-PVs%vPw-YY)>Mx z(F(;Y3rA=op8~du+By%c&k!rKpEqA~M*0MsO|?1vBcfygvBFRI604#BIbw-X*7Y>;21k`XR5Fo z_}Nfh*rNM+Sbs5-LvB(%gqVX(d`YEuk=RaofZtSMs}qq63r%y>b95inS+LEWH@bUo z&%Nf6`dth^VKy=D2iC0d?+ewv?O@OJUNEv$F@PO4gX-p4fEyq4pGv&(Tb#)wJd^_E zT`n9AW$euy^qjL`3=Vu((tm{Wj|%u0#H|2}V|Zyzp?@a@xy0eA3U0FNhnr^vgePs5~aoB2#lda7FHD>@R-DJE1YTEw-sR~OFDN=UJF zM#6EEW9`BBTltu6Je|s?_A{O~EuMd}1m>8(>7DS;J`d9tn@xH1c}CR3>v37v!(9fe z*vc2S#D7xT_PHSAt{ahl`Mle}#UflsDT^RsKg*MAthUk zmisso)JlP)Dags`GR2t56{4!p^{T0>lNbyd)?sf1?Qe;P?Rbz6zPt7Nz zB?YL-az~NFdokaJf=`GAQzqBXMY%EVA zgUWl>@g9flBngme6LQuCG5(`?tTk6-0kmOW^?n#!(uU(k^^ z{0P7-Xi2?`U#1=ybAVr)(JJrx7DZDMLOKn3@aNI-eKp8w8td4eo}2b}o&_K2euMgvj!nn~N?Zjmc5ZqqY8v8HYky??wOr~3xgjK}y6&)o+1(#?UmW9FORT zUxM}M6UTX^Yn{2RP)zEX6Vh3izZ;$w_ormh1`}f%-%6%mO;HJ*!^SfT7xQJqK_RwzLe4W<#(&L%%(bShLBReb#lt#)GkHj^NbM6*sNeylwz^B zq*2M&ozQ4zPyks$k$)+?v2uKAaJPd8;wbncBFTU*T;Sd5FDX$Rj3b%*6Z3^43f{m% z?BtL>3)!Odz(4&O0Icq=OR-M*Y{_Wl3un3ydL9MEAts1TszaMGZvU=&CB~R^F;4vx zdD<~B!v6be7&ymrGSVOXSlBP|B^^@pY&?W}MpmD6S&ZVwxj+C{zUr0+xDF-+`L`Azu z8va4lLBKXX&+Fb7HdNrbwQ5FC4Y`Xqft463AX}B$CecFblFyUdWg}uGp4@^KHub{e z3HGuYgAAmqF@G^+Q0=44&@E+^1Qp+6pUwCc4Kc2LROi^iTk_BXBmM>i*pA5zwK!M9 zNZcZbA~A&sr+B_($IVB;^;wior`C66m)dGe%%9Xu2bx=zMN~tQ`{hu>P(Y6waa-H7 z_j*sJ2nU!z_^dx6qN465>BEyZc|EJME*}kaR9nM$_#Ms^`BYrC1^K(LX>K_X^!6wkwgcv)kBtV z@HGV)rGJE{XVh57AN4!N7+l!u$l56l%kFEEGlS5SNrHD`St4{*jbGo6?~*#RvAXjg z=Sm1D)LJ>Sgn;{rVYZ+Xebv)5yPMaonM%(9y1X{R{+9G~ps??y@%2H<{7A4Zp5cQG ze)ZPw`-zMo?xzyI_rvSW8%kU{msSXy)V-na>wmFv>6qN;^UX;UvAs!#T!tby&aqh? z7>5T>X<{EiH+jk^K%nblgZp=VKY0k-$dz$AeB3&^Oezy$q02{rZ<7^ZHL~v~_HTM0 zMI?QyzNE9xff?pzJuOtTLLtDlfpJz&D<)h9a?wuKrlCJ(wR-BOpRvZ@!~aFCD8lij z#((3Lw$d_7bsf3DW)J_y;#d}tIw9{eLFr0b$&6)f@Q+TA@@+k0o&6vB0BH@LYB(gR zpHipe5$QPS(B=R|Hg8zV#uol0&6GB*v8gPF9`K*^ZM2Ui?D6H}+B z&tx(at3J6^j}`~3D6Y8@XzC6M$=^J~ihnK}W4Yznhur;+1Bm@Nb>3))yoVxqV!oY3 za=!$@M(~|Q1wWd`sC7$m=&O_{Si>kOZI+QN)FI z5dNbsDCFbw$13AUMOuLFyTwHzdngnb1>{Dk;(QS0v9BO@DC|p|Tri zmCZ-{`}Sqh|Kb^A8?jwKW96P`*f~o_yC`pzX5{f$irnbzo=NEOU-{z?!1*diAIKF} zxoTs=$mv00A6~agu>*@RXAXut4XsOoi^cxWFO}s$rxRZXzsejGWfCYhCCtra>UG7* z5%!g+r@jQ5h~Z{Z^0VAT4S$Dt6!Doy{7B%?{hF+@%DwROvBRilF_}=l+B?%N#ZZIwnq$BIm-DUN|Xv{CvN-xh39G806?p5u2B7X}8{Q&#WpWLZ6 zVD_-spm+St947kZkcCqCju{o0&_{JN>>i>3`|g^Xo7?7YDah1U!Ot*%yzDM4w4em@ zX4#OKM0U^2j4yj=j0JQZsqvHR#`SYdjsGUzJuoAIXEbORMker8FJn%SC0-d)de%Ao z$YdO68h#GnR7o7bKYt*Km8|X>&1D>X;e&2(y%lM$<<5=_BYGnW^aq;xSL={OPBGu@ z8l#M93c39}GXzQ`A!+x}!R?3cw54}~&{`Xrl?5L0#*| zidX9+;1Y?;KeO+my>z z`p$iKR;T!H1E|>?2)=(}$_{l<0QiiuzL%fZ>y-XT7S&1>Y08UCfN`UG zqF*9QN0$;QV!{O$giRBX?N`2ei}|6X^=-zan_s)eHd5bP@cLHqe+#VVp-?ujhCvqv zduz5%H-C=3t=Xv)_3myE7G%|dgyh*vv#p!FM%7tk+I?!6wecLbMy`QQ-)%owjXVDM z#&v8Qyo@l!0uKA2$=04CjxmGKfg9HNwJ@~)LAn)1m8yt9Ix0GQ1A-?l2HR7zw<3pi zSEuGytmt<&d`> zvVY)u08_M2&Xr^3Qeg^?&hUy=D}b|qEK|8q#37RnML-YcDEUb;f0$;P5{rp0{WKZyhtg_~jloyid zi?rqpXlCc}vg1&ED|b z<7{}=DARPOd3sOhZPZuPk)!Y1DCXOA^aVu?Ju~e`5Lk|DufSj%HBAhEe>%i zh9tI%P+8W#3ie899pg&+(PDiWM*g(o1a6-pawtL?733(|EW89hAGCGu^HLKi(Js?# z^}Fg#WZk$o+2R5c2o_Zr(qNUF3k^9C6-4(!U1U2J{b_ux+NFbQa*&HCHh;}%or)y` z_R!1O+UBY%FDt!SKAjA*ndzxh29hd<#4oJ%8&tPRbI?vaZ9pA6U0JK}8$zH=(lB)g`^L^zsChg0xhV zT937_MX*?YUhVq(Ge7=9eR60+{=8m zvjfj+fZ@HpLIlTdhW}FjLUuMNlb(XV24(Lv`DKp)6*EYxS^r|_P3!I>ibtEycrVr? z^r^**YMQ+!&6Cwqo^o2=giy9DwAeAff4)x_-F%(Zo9b2nWckg|)8cfJFGxe*x=m_A z*QaM+awe@)B{}Ms<9}jfW5-H#MhMrc^TfQhPvQ`lW;(d2O9_qhjG)7)Ic-(|OqD-2ZDN6w@-Q;ByixavtX#qVT?kECIV#G^9{?K`&bOay$+*bnsYwtu zyScuyCS!$mg<}m@nJg%D#Tl^il|h`?M}uFGK{Qt_>&UBfkyD_tIrEMnzPXwBSXrLr zRw$eB)PNMtw{hU?OBy5^ITcOQ@CEE={@eFK5ok zdtuZJ7vGo~)-Bo~;pkoAcE{ORU!T9Eb1Eanwz#hI4o~~WKBLtd$9g})%0O7#L`3M! zBQN@`>YbO9rt8JL}Q!&RkZf#of%Li0SR?&Ekrtbe$*&m)O>@5FR|$Z4b^HsIIJ zN`A$CaYOCTIEqNC7dE{4)zj#jWokBOMX8&=Jh>yW>`rFdX3oOJgu)>{WQ z`|;G?047waZC~z#&nIp6oQ=ausiBw^q`yZvyV53n5Q8w#yLmvuABU`EO)3Eb^DK&w zIb>~;)_=yS%H3qYEj$7g99QY(K%vj>)Z{FnFfL1@`F)nxx)O2BKl-8+A;4UH zJt$MT1BTc%p>0@-P_ycZ(P5Di1OSW7Ed}WWD}QzMjd~CZTW`YQF3R4OK2z_9yNo%u zoZ?)UcVPXFp#S1Rhk$a9`z^`Kg~tqQCC%Qs>)0cclRdz=Zca;W$c>*xrru# z!9rIFjvfVlh%c6{1aS<)Qkp61IFk@hS|h9w?qbzYc68q;ee%tBUY2+b$R**&*ryA+ zV$*y-n9-YL@-YUiSRM+T&MpD1@3TW zh{q`bCPfML#K^EdZK_tH>z)ANpjrF0VjALhjl- zW*eGEr-{~*b5|0?ab}E@tkGG*1b;cyHQw`n;kf;J(#xnKgGJf9#dP{DjF*ZftMY@( z6d!CLjm44LD|^*A)~_AcQSbH$P!^)@O$jK^6;)3=Kn^>vI@CU2J|9jUUtog)IG8gI zH9bqyHx@eYnNE$2NCP4MXU5{~5u}j>Qx_}O^#?;>iKfC(YkoaQ+&-6py?;YDI*3W4 z&PobR(Hx}Zo>ONLT(`8(a9V-#Iu*`or<}_z!~ouVkv#TUOv{fv&6^2HMErN3_B@fu zUpdo@`CjRvUnUImnapVKO}`(W}OHE^_0zuCvX_ zj2frRO_V7w3}IWQ=Ydch8h<<<&VhFSgbn)jx0Y05#)Z@mYe%}3^J4bnQJy;bvU!5O zzP`&8zv!C(+2a$}FN>6Aq#|;*@%*)|!v2Nuqscn}vXXa&JFK(w@cj?i*R%x3X@}X= z05uB4ifCktZ!fD7zPj|2pw=@@#sUO__kzjl10m}*Mfo#v&%1w~j(?;8>At-U@NJpm{r4PtTsf0!iv(3%Qp62hckFieKzj1t@0MJNGj zm?!QX73Z3Ap^O9)22dw@UHWFA$v7phl22Z7RyhJkv+(8|eIlN%40M!~e}z7#R8Jw; zf?DCiGCWl?S+W#DwEU$-N3*LuqA#OK*x*l8w^`e|gezCaR33oAMR}G^i8Aw`$Du#o z$km9#_n}Y|1Aib-$J?UHZx02qw`hs_3()Z=^D}d8{zb9C{bk6S5QmTHuoDXO$E&m; zW)O(a(*VCG(Rvjt8Dj_C*wnI|Eia9Z&MQ-G5t+$KVp!XLoNY){7C7KcroxM^&5Gp z(;y{a0SCtD>xhXAMfz8k6TG~?uZV+}VgOtsk6nW#1B6D%y@CtW(Qb?zHT&*N)1zsh zV-oFK@qeixN&6pPS6Kp0+?w9gjUiX5bg0O+7{m9Vm^s6 z028laOuyz2E@^APuZ7C9n_hM4A;Ql}lzzRhozxZWEy$b16|9`AI_DPUFVsQq10ngG-qX!*)?r~|t zZPNmY5>G3FP8kql0R@Zi-+r2_Idy-jYOboy60Z$Ww^jASIe*Q2NlK#=&HLvW`XIPn z_)b}vrZfSWE3!NvbL$9l1`cmKNl@ui8?pbTf>b6g2lc_T4PIs|*_}J%$4_dCvRHgC zDSz?^W3|PM#n0k~g_>@20ALv8$?MLOux>Yxqm$2C&DlZ^^erZNJxIeCih+v_TmS~SYIDp8@G%`fNP7VLGE5=E~CZB=~c35 zV+c6H^|80U0gJ9b4u?ru0c|3T6?A=P9)Bgdm8W-;$LSoS1NierIxhf*pNv%$tQiOn zM+v=JMY)BQ?XqO-pR8yYb7dZ~j1cxRnH>|oTSyuy4=|&^@k2p>n2lL8D5-eEuMv0#(iZR%h4RkrpLYA07cFu6?NR` zPbU%$!Xqxa+(G#wiWY-M(6hiZQGc06nnCXlN~IBaf|7U3Du|$G5PYPm?Rh6BYIHN#}KbI^a(b!;--E1KbbmCw+Aun}3+TW}6>o zI$2)BQ#_=}ScX8k6*K2}4ii*R@sZ68mD2q2!V851d@xeuH6DaUv+h>WpwZV?HL9tk2R738NTelBKJXCy@)on)}FD^{XKw4B1OF+Jh9FEw4L(dQ?G( zJOs#~*UMXP=eiy8L*?f$H-B-(PYS+R6e0{Er;+^nMkt<2`d7G_y}(|IES;S-ng#nu zy(&dsRHvgIRcB~2xPGzx`sc?cmh;za4$AG%zA=>0`T>|HtgElOSZSP0)wOv@$^DVs**1~rTYKSZa7#{=gTMEynnJl-y=x=wBsZ9 zWq`YCb;F&@yQ zxoL}J-1wep@*_X)I|!{JDFTflt6E!AJj!P~X7LaE(XR7&T89ANHnns*#K>@6B`D}I zvXxOjK$6Msu>WN9{8F3(kZ`^+?U_EW1FWb{vu0_3aOxHg(*&DW%7ZEGwJJ{d~Im9e)5kGsZ+OXE{Gvy7bX% zV9w+BIAuI?EI>b7rGW*3HFp;Ah}MP&d8c^1?np{RW@b{)I+dvv znx{$vti()qP6&#d|D;6)} z+d(2+YsnkzWczY%SU3uC(HWB7?tVlS+By$@HziUAN?u`%p{uYV#NJl)4_SRH=rk4(2i9dcNx zb;S`q4fQH~!+p1$cqg%sN*GfN@y>mR%@?5<%-d?|3+0`h#}Tx-n~)Yp0ALQ?BrHal zDV$jJJ4CUps^nQ>PhCE(f>gV{zjpTJ~(24qGux=lj>eh4i5~Ofw%S#=EI-QeWm0ZRq>oIp?{%~ZXau^5Q91ztwmZ(${r4QJoJiS zlvT!?KiwHpL)u5gp$1+?6QYok7^VqQ#B;mEO%S?KCuNbv2Fs60rAFJx$BGE#jyS1_BlG?TS8u@<=MroS zlYiho4DJk0u;6Zk4Hn!Tf;+)AxVuYm2_6XU4#6FQySsZnviCjb?(hDA_vv1>YE@Nt zb-fWd(afrnb929cYnI%YaP`E^B?1oaSOJ-EY#T&EK=7K=^>Ueu>>j2pvtp$5FeLPP z^3uFD?Amz7mMV)N7Vf{@TY|NmA(X*^=6~q4BO!Bw2`bFj=t=Th9HgAVFG(Tj!3}Mp zhpD5)8!_hBP;d6L45I`Es3JPtoZ5pVe_Nl1IwnSt%~sBpqgNE#O6{epH^Rk~(r)Go z>Wb0Nr33S3g^wb%K zSVhJ-%Flh7nmm-07Uzmg{!SYcxGIxchmU4DgF(9LJe4hl_fjwO9^t>N^1Er)RCp_kX-5JduYs8HL^ls4<0y?<_?X z;%}Qagu&qyufo6@pRq_#z6b?OWlSx}4&q3kbfTrYw+Lz-YKR_+%jk~10<)PiT3tk_ zR!tJsXAA7G_u83TV&KoU0e=P5lqVlRMwi6I#9>nk_;}M9_?ljEzy4oze$RN;Z!gISv+)<=qC)%BqT zaLY;wyvgYtR@Mk~Xz?nwIt;vg$Z*glWS@QV@Tn7Grn+zr^F-IFMD zsUxqUWd8g^rA|Xq623~B&_t%J-&9K(%)Mu(hrMdrCU)fTwttB9h@^t3z2ppOD+ofi z=OM!6-&J@sG-2zKh$e2uClUUqov4QO){83thAbqIL1xUe*$atqF!z8a7(G5CoO0^^ z42np3*UAS!;-s_z^@K?Y0D(C4l5*bN)dcQSb(=3Mj>%EwC}|Q!uB7@@0AWk-)lu8}X^hEZh5by({2u#ea2eu0p$s+Ech>$i@T_fwZ6@T`cap z_V+suglvT$FfBi%{Qmjl4M*A^LO%kxKjmyvl#%Q#mxTvuo>&Hr+hn;t)w!T^;93nt z6T_pDcz+&OkNdt}y}Z2Ww7;oEnf~5<*6Sl9cu58!J8#h(K8l++X)YG?G z7DKdm-Pj!?#8W2pVH-bK8%}9_NmfNm7_8%6+Zzj=k9;}+@qI{7c#2O#{||>)H!SoJ z;s8E)2wY!vw0ULpiLmAKQH{}lW*|D?Y03+xvHV@y*$x9}j*SxrKN$3=I2Ogx&1ML{ zC4bc`HQJFkPeDN;FZe*20oN2#FvOtKXuni%gD!9#TS{&Gmrsg4UF;Diq4(`<4&HZ5 zq;uf6|48(k@R_dqA2Fs}0BV9Ax%AmjX@B>6R8K6s(OgD_$J2jP9pF>F(b@lI`OA2< z!GwwZbBkmys}qTI(VX|)%Dg2oFDjHn6K>Gb4zXI$o!TOjT#5XB~lYvY#RlPoGmZ%(e({8ppHwa0A#ONqbN5YB>PyTiOn(o&3kjS_ zD*)D5Oc!yjd0h?0QC#2E&Ff9$sw1~vjqxe%)-Ty6h@VAD>Tdu0Qk$$K26QI_SvJcH zVcY-Sne5YFS%vu?J%xRHza%@uB`H>3hy7^T9shm$W~>la3gBQvV53PRtYJ}gXN>QR z(v0lIZS#~_mv6zd2bF6g$ba_kbVZ*3A`oxz3A-^%d zHE=2~FMCnP1tt#f$YzvAbrzAQ1(rm)ZTuzZy-XUT5XxC>r}uZ$&)7|$ccA`xbRK$$ z4PP3mpB3wQyjT~ZuPhahs_AsSujo#U@Q>;U7sU5FLtn@sa0T$I2!G1yPZ%_MG6lsr z$*I#k@QPR7usSK}{Ipa@M1h;$!{sHI;Ek@{<~=m9XkQK0wQa@+NS*>J>ler3pGrHVQD0qfJM%de1#1p+wQ~uT0}oKVRBw#jkh~u4?f3LToM3l zg>x&od|sV3;GcK=vkHtRPq!!AG%YSCi!H8p5ON&ozlF6}Kv|gu zIicd-Rnp{iKsN=5IZ=L7r1~0G&X298TsaXY!(Ua6`hN`p+}YBP&}aE-v^9HI;h#Qw zYvRb7DHLDv-H=|^m<;cZeJdMfU*oo=`oeJ2zN;wMV8xWeJXPPLTL$0lsG?M++hDu$ z0S>%@VYe|8bX8|WqzR{Y{h^NG4~NxUt%~tr}pM=`H}RnIqer#Jcj@i}E-eI+)YKwU=)`upa5m6Z@{H$wlJTna&# z`WkkC{@3QI{Po==dz)4J$Z@9kWO@WJeRn*oFn^I4enoS>Lc4hUo4`|*>9^rgGW8K& zeSJ7>XcdDPfd*83j=0EvpC2_6|!OD0HaGLtOQi#8MceeC!btJ@vs}hVn zo`05a$K!A_tNxSn`DE>t@deL}zQd$q`%MKbsGJ&RceUft3-NYdpU(DTG-^JF=~W&K z2A8x%cckwvDKa#6yHG2;`%s)U2ZNXF|K4(c$pFjCqx+6_b%}VV`5nvp%j)S{|L}Tn z{2;aVNnatrg%3N&W&(G+u%qKo^HHU?;eV6(IrH#O7RB}HFhLpp9APt+d%?)}#5#}M zKwX>m=g%XIxx^4I;u>5VAI~rR(g+Q1u@-(uN$PVhIF(j z2Sic`E5N^KUj?g=YIXz{Jy@v?jqJ$a*qx-wPp`*QN&j}3AP&9O$Zl~u@QV->gMYic z98tc3?R>YQX(2y_s;&P~1O**EW+rDTqn$f)%sHP1TV6nP_`1)KfrMzC+<_eC1!Y#)hcp~zRXvunUzND)8sJ!0O=Q7IlrXDC&@511-df8qxwL; zH~wfhIG8%B>d3lTzZf7*DZ_sWbbm)qxxOn4Iv}gm@6h|U6(ZzxG*_Xn=T7B|^gC4V z`@sb4z%n6gg5LKl*wqau=_6#z2y>bvWFyh+c9UToZ(C)J78k~|?6|LMtlub=7McfC zK96hL74d)R2}V`a`pP{ zpfOz?oKUiiGPS>#-+)<>9NlLOU;$|oQR9xJR%WR;vDGl8@&wH1+`K?axBgs`S0n_d zMfd3{kMuHbKJyT_0=@nGtbfC9WqySpFT}QD%x|skTN`pIWP4=Iv>)uBvNj)U|Gd>b z|CoPG7lFgL*z|?QcP{V_#lfWeT=s}+Wlbh^{Hn8(RXnxRsa&?hgpLOgE7uzqGEnFZ;%lA&A>2XY{}C{r1%Jv(SLIt%gCM1ze5K; zC&p6d7&mj;GGniI)!d$~RdIUT>m@%Q{S$gag9)^xNH=3cBDATtt1saPh4mP+3r68d zwB*3|?S0p`w}%nXIicB~ioZ1D&gg0Q2Ltv4uOaVUxw4xLmS0p800-$tma=)@gXTa( zVsrT~O01x7HgMhKY=2+Gw1WHAJN=*+X(ejhivmCU3%Q;w)?vxSdHx8LbsGmnvyOH~ zC;dYC8DD#$#1lE@8f<3to=R-2VMh5=pji@PI`zo4t#`{_QmZ?UH~=q({d zO*m=j-&Bm%lPbv%QMDv4O9$*+L3vaL9I@K`JH?__=2^4TF)gmh@N?`5l4=KlK1n98{k zujMv6JA$=6St$E0n-+hlWRJj%Cdy^K&{-`L!5-WQ*L|td;Q4;1K+}2eSFcnk%xLQo zTn*w3GQ${pHXewsR*Chq@A&c|-}!%eou`2OnyUbx(l4+V z8kk28R3fD)OE&{v+B+zNNocb_!8w{ghB-+7u<_KA25(DbSm+RA|LQZk$m#SBry%@* zZ42RPkRd$@#|Tm|wv_{Oi~dSL@3;Da7F*a|!Bk5nzUV@EXmZ`R6?YDfxcV%{z*w2o zhH>fqZ0|p?JDPu?2{wmr)Zgso3~oGh(q*K~5>7*mp+ja>1RA|23vdbA{@IqLNyd>! z4yMPAU{69#%bhlTdAxzPDE1(`cAx~!)w%?C7|$K4a;KGZIFm}`#?NhUE}H&pVw8vA zJ(@Tb-M-lg!;_fPf4Lk!LnX5g`7%^@;r_yuD+O_7jmm!zv8D4?p@W@zGj7SusioA3 zl)WiqIw{(8@k~1Ng59WtvFJLBnJzGXCW|}|M}bOg8btq$K_X*#AFy8*R6ZS)o+A{i zW^#lS=X$p4{bP|(>|0u--K^{jug`tH6nGzIo##!0phJ={7w|TvTjDd_Y})A+aLSEe zIsL=p0UUo&J8Ly1_K_M$+18F2_OK;h3?p?Hzoa0ZgFWa%L?-B0Z$>WHYtzzKquBnH zB)-lj?Sti`bZ3aA;mn^wnSx=%Mh0@Gt_x&G{imS(VA&k8oi#tm^)`DbXHTX+kV(*P|_M?ge;s#>@ z-`IcO@srGD8&V??{$-3~;l892plu4BBGmtTW*Hiue)=ZASMP)SrTb+N!r%!JN(S$h z$i5}V18yXkxPF|k$q0x`A2fgCqp-3zpm%kQdvGWX3|#Q^L!ox~OQq>CCqZjp?KPU8hi5;cS=h zjR}WNn0qzC!|zi2;mE)A1kNpVo79d5|KGb8F>yK9IEdBiHL@rPQ>FBvZXufnxVeAL z`?p`x+rAhN`m*~BjX32fStC_%BN_CPIx=oFB-AQ4#3?C1+DQ{w^5>sg2AKcqc;&GA zPHZMxs#0One)a8)$mx0%kg+MHpNaA46d$WvrdGnnQ&gbw^Fd0pau=;X5{(K|s_Y*3 z#UPhg!y86=>u@aX%~m!IjgH^TyQzPR4Esx#bBZfMFsspsxO04_lj^Dq{!U^4V8TYB z4WY@B1b>kJVBys3tQ-LUIEQ6Apz%I_skJPO9{Fu9$QVAiZL$U$23SeSoGp$S#Q z57Y3rd}ST;f9OoD5F1YJmo(TZPqJ<)_mc0+AfugHm&XS|O7@YBK(IChSYtX$;7n}; zwCj9}2Qv?Hok@#hsokciiEkNl>EQsTJbxFn;7y5qNnait2xtU1TKS1}?x9jm;mAv> zmsR`MXLF9`UWroa6->t(w1R z5)qg>&MbHh1i-$`WUK7Y1&CQ(tfONiRv*UN&rPigwLI+#Jfe~`L+?suwl+jgG@2xriY8yNn(GTi_Nmm+{^>3N-Ig0dzcar$J27zJ}hvz+l8j0_C z7zO+!z1RbxbQg2!w@HYL;AFrTWD97wf^u@_CC!b5iCI0+Sbtr2e1!9g^SsnfZ4qhr zDA(Eu>}Aj(NH#Q3Bf#{kVdM*(^+U30Ks*nT@}WI!E53NIYW>HOS0)ui#TaH+4RR9C zV-_YNT<3pYG(R8Y()W||Gd@{ZO#;v7Jxc2al>!DPC6_w5BFZ(oEiO`MG$%MW4JiK+ za05BlGyzXInNS}|)*SjpTu;76{O!dl%||1E>=7hXOPks4P+IkwNBy->O#=*8%9;_} zX8@Tp;fU|~x(}z?O*mcFr8qV?K0X!ue&HK^Ak}|wSy>zq)p;q9wpHd6|U4A<0AZ8F zIA0Dc8GuA21=i7Sw3=sHrBpx0#$5$DnwHAb8oAvmMM4yr`@F^l?uhJ2EHZ?4^Y?#~ zeY|zrMQr%qG{tmco<+e>N@AgnVc`dm7IbK{ z-QS3E={3$wMcRsgh{@CIzfb7?iO|AZOOue^dad0%>k?!>?wng!A}t{jUH@w5bCuBw z@u~QKyleGyt-8l}IkNJVtnIf82U~wQ{7*%P!@@Xk4t6hL1;_LcN>wo);fXy;?EU>Q zF4qk6v5^e%vA+dY4&lFfognb_Wc!@lqU+d(rAo1VYBDV!L0qbuNzR(>xcB{YDc72) zvK=U||6rz1d^E{4oxLKE{=2YEvF{kh$i@lC?Vp&M@sz4myBDV0-&$r|&wGFBf)N}N z@)tdbb~oJ_7Me%>2b{w+I_z_-k;$xF--8jXlBaImb_L{qe*(+K$%AnE%Jl~JO^e7k z_*w@>1{O-Z5zE^IRc6!_e)S!mo+f9K^1?ss%bl!H`Z+d&%(Wq0wifHW=2!TOvoS)i z+{`z28q_0#T1HqUYvL;*j)#9Z{G&5kAXednn*zGDj|zk&UwtadMa$GG^1hG&S&{xn zo&7mhOr#tIr3ROy@n889PCqZA57ET>{c|!2$2vt0G@6@3c0_jx$^iXV%NpBMYjmLa zA)%jslU%ODlHXx>-CKDGkb?E>&R%oK=U58Qz5KH$m%SZthBBWpCdGdU(d~cUo^}@E zDfa9N;Y9z_XT#Sk`g)lxKdgjVu~+LHjl>*}5P#%d5d)8Lf0Uq*X6(KbFeVibu#)Y8 z5J_Mp6>DI*g`7KUpO`bn=KfWg7{N!{Kf?kJH+2i&XOtp)_4u2#AI#eWQ$>E}m|ot0 zsm62uTCzW z!pMq2r84)BUBxVxB|;SCceo`-EoOn@pbD#BB_{<1#q#o9H!`!m`>M~8t+o39OhhNw znAYw0D0Gc3nsZ~Vc`KBni!uB2#3_5rE7UbDkKpNG1QC0WOE-V~)bVIRQWeE+cjt#w z6HwU;Q;2~my?+cuJkB&<+WriTP2$7|d9QPh&65*i3~<{F^S%ho+R2^qUMQ!0!Iw8i zP!}qT5#s705b-WI%ya5I@3pb~!&Ip=cp>Z>Wip%`7pT#opb+v-Kts+fZ{2zzns{E< zbtN2|o?nwUO~HRPG!-58ON+~i5@e5?|liHW+eZnxWMigZE9Et%msq^Z2O z({v;u9OP>0&2$c2D4m%~N9YRXE9u7cifErn<&7urkULQZZxB3a& z1N#R@(B%TE!E?g15OK%%c{D|^#v{}hS*x$K_Rq83-SVa#%Eo6<-H;|5DmJ74_A2fx zuevJuGtGZd5bM<1+Bne2HaC36#&bb8sIqOF28+?8BAZj$W2Q~SD&PFLD8ts{ej_B? z_w^yeu3a;!4dAxpq&$d49y0BPIO%VS`pSrGStu&WVPYLZEW{k_s*P0_J^Ge+ z`njV>nhB>30R6By-(HkLi2i4;{l1Uc@nIPi?Sp^TWq~{JaZ)RO76&xXa@qN$EEeHn zYT3cC3S~>i8dhjof&M?u4=`*iCN8Xxxg6y8s`fB`cS#CNp%IX@( z2`mhw#y=VKDM5(j56-L)vHP=FD7re>Hd_$|n#xy?XmER0X6uoQA~SK5^G(b_V~y)s zE1%e{&~2G(4gxXgw`Z=t)gZUyKDU2A8&*Az0#qsYbAPaYbdyfxo8wB;;Xb?e2Q)vb>V%bJNHT z%VZ=TT0n#q2vi?T9~vdAOqdAz9nZjO%)#>b_~=}URI&H>z?!Ql`nl-xm%M*Z{90ji zNUSOY4P9*P^WVXcpMX=k#J@fqQK}hAd}!_N`}L6J)BpEwq8L+8#akn{zSbsZ1)OkT z5Y@>H!cv^993xQQ5pJ8*IygMoWmV&SI*x)O0L~pD_fvEUgeVipFty*eR{1_0d!siN zmHZL%w0k7(i(`DOS!`Gt@OFP67=Y#+aGCBeO2a6L4=hNWP=FMsX#x=tDYT4mY<~pd zj~Gzn2aK-gvIM}^cYTe5hg(XuTJwCo-V$`Z)AG8J^u3n+1K+CKROTWfZYm+J8k8e_ zyjEJMIy5*kG&E%Rht)+a)5~gi5&P2UoiNNg+-bC=K&>6yZN50CZC`(aD5X?>^S9!b zMgI??;g}&)6a@<@0MZsCom6&xa3X-$oh>DHZcc5DQ8rwI86=`9@CXtNPO`DFX*5tM z1W4;D^yj>nt--||nGi)nMrQfk>pPtQKoZ?~k7}<@KW1VH05@qo-JK0op%lUAp1g+- zT`{z?TWNMaTWte86;*%RF?NX90W1|@NExv;KRHJ&z`$a5TB9Q7PNTLHsB%vbOm#L$ zDNTsr1=`865}U4X&oql-j_SP&-5E|9E(1U;RGW}xAdf!+Q;oQ#AQ4o^!DD61_>0ST z4i?|0IdJMZ?&|TX11$k=Y>`xfa2?2&*v2?@fd=0X+k!Hv_AP(fAP&yf6HxkxH{A?t z(BsGwv&vRImjm3gzFQnsZWC5hB|UZDB6dvt{p_>fyOtn^F9Z-B#3sfCRh-a_GxQ9_ z!lT>b$}ocJbkj)^8)Mi+>H31CwrG|=9e(Z}oJ3}M$>jNxKFxdku^gRT6}?LtDr5FT zmT+;!QM-@=H3@$hB>0+<6*!>=>%B&XH5!Gm^lLCrhhb6}Xcp;Lmt%3PE%SRJvN_zJ z6xVii!36o3bhRd7NpVNONMysl6ra5VLSA16HMDEHqkdR|Y z4d7!E#D;r4-$WXzCupd*I@+RO26=Hnx!)pP;p8V`V!Tfw z{r9Q4C29d=tC0*agvw#oziUjYdTvja8r&9s7zWrCn^_7MerIe6^(l)tg!*5AAq!I9 zEPrJ);KE>P_l7fVo`8!#+H%w@tCCZ@k#Wqal*1j2`;HOJ0sUDr@n%u!kPtD9*K$zo zDDHm+QIZuR{r8??nGud<)QQQr%v9$kw+yOJ7+@dK?QZR`d94(+)A~)n&UQ{BH(aUf zdtB~`*eV!qDf|*eNqZ5jmYNl~Za96c zu3jXect!U9C`3QJJ?9Y;kf)*>dM+>)rc_);TMEr{dYxBqv&0$MZ8rXC|EYH_0dQ^R z5OASkA8rYN zVO(s$5HBSmcljDYFDnnWPlzorEDLSU;LB6N>(sU(gG}N3zuB8WY~toGXls8(=Lhbg z#8oW;bsIGYssS4QUabvyv!8Z^S|b#Ff< zkqtm{E!PXuk5v=rP1gr1i-a@xeT_8jVe8Yz_m5Z@`)XB7h369CnsJ0EQ~eOtGHl!*ZNUju*Y)BJC8qOdS_ z-l?Ys2Zr+KjxIV!BKV{fVBK@h0bMlqV3 zrvh1PT1z-IW(?$V>5P9SnmB!l)B(2c6pmKQN}elP3Hb-Ei~u<*D!x4aNuoL6FmC z5yp_JpVn%wyo;r^(#O^Kgz)Jqo$&i%Oeyzq4eLUDbaeF1(R_bHLj#v5dFw)!Lvwt> z2hm;~EQ0D(x1)-N^3l$FacN;gNP<5w&$yVJ7ldWweBDO1^@PACdFs6 z5?gJ8eH}dn@x_1m3K~!?+*&iYB{EtHLfzi93965r4&{j@pf_5mTv6;#;=@79MH<;6 zolGdQOeh)ys0fb)IJNF%93(fQ+#S8AgPkP)M1rks^}~w6;oHnfOws}+F@7=-d?Tcx z%&uo=eTJe4K@iB9bq`ENbX!u+#GShGVSd!6y$LyjEmD7G!VyF*yco{bTVxtPfii^e zRc(hR&J^&(8S_9O_a?pT{?^{o^7Q<0#nt|F+GeGHLcouow&E|2H#D9qw3no=hXHT3 z^wTT`t3h!Z%*!MT*X{ zKtAkCA)J3Sf~ow$b9v||gdmKLM)Zy1Tw?Myi!1<3n$g47R- zyX)&@l^@?ylO73-xTiexwf9R<16h=NCAJzK=4xYPZf^G;DQ|G9Ea49sTjZ%h@+(30?qKrf#e{^^kx2CqBs4v!mt`(ZHO-|;me^M#jF$qykl z01tmf>Lz@PfIAVygf4h+Yl+Vo$sooLCP~-&ucZ z?R69^%L63`f#0>w;1S<0{B`4g62Ru)PD4h<>QWTB{Uc_rj@$FS6v0>O^lz}4?LOF< z+du6(nhrv{!m;Vst&~1J$bsOZ>bd}0fT-mr40_RzyWHN7>`dga`70|csVEYi9mtuh z&Aq>8+>(0As4Tt$H&HFI_d^s!{EB}xBw>V@qV%gB3y-r+rAjW?pM__3j?&o7$UY^3 zpXG^dc?CwgSu)?$QIU@X+|B{5M`>XldG|r)t7nce4HH+bfp>azU~JB#ZEgi4Xmw6a zZ=J%xZXydKiIoUVMmo)%0|6`)TLtx9hE0s!=D*~lJkeoz6T{0=Go?tdu5o`7Lb`~< z-XFTq==e`^Q*j$KAgpFX#|~ZvPDpGZPH57&r$mm$>aXTB@Je?7kyKrHAk7!iSoO zH!Vc<03l)wJY&RcUkf8D7Tmd2*ID&o(Q%!N@NF7fP^2*H&xPr;!8GU)*8`QF!-YpY zuJ0lFp4~bj_KmM^xoQtTpo0@Wa2Kf+>2sQbc_M&5 zX z8d}t${?VdM#Gii>h7@VaJCP(8U&!O4|7=5O0SVtPfkvL`e7IVoleV8B z{VXaYY>2m5S7ZrniS&LWabcfG5V>eDf~SB6U!K9cx z&YkH#S#C`>XyG)S><-k9dmhhdlj_94m4xdluvlj9I0b)~83*Wj(U%m&iB5f`46Ikk zqKH!wrOniIm`UOtHD%IoUoI~e#s^|fVz~-Fm)}R~9C|D`s)ai1oF6gkwQ?J>P_1%m z9R|aYyM69H{Sb8rFE<){3QCvqUiGFmw30#iHt8txQH9E%qwHK{bZCpsX5S%x#vR(` zYNF}gBf5VV-T(S$+!4^32Gvm5jLTjVt#)V1{b^S%huEz=%Yeg{}4qZAI_uw%VeMkNMJNoJ|g#vr6) zEK%CgA~bu1!fN>`VIh-2T(8e$Olb7S(J@}xN)Olp8zH6HifUI#SsIO2`Vj?Qm zABBGkYw1YfmpS5H)Puf%sV-Nc?4@_)HK3wt@9GP1qQ&$lp*c{eEJ97={NJQx&;l`c zcMBU#s%G(Vl&R}RL0^MAGsniT?~Z?@IUmh+wRs)4?!u!>z+d*vpP^Y3&tqNG zXZD|zXjMOlO^2xa;vC_rUxWb{@XlE{A=9`d|UAcMOE*)fEsK=K_U&3Bqiq9U<@ZgzS9 z!~vRH|4~BjKOn&a^tW8l=_zt(DP4IPODSwVhUdMkA88+I5 zpH_V-2X{?6W+X;09kk*jWkDV@Lgskmi+q7A8gCD`Hxy(*#V6r`gEB3pOlk z77RxNS;kbNJ)TiF8io@vF6xFyWV{7OwQvebY0BAL6i{_>8Ix{En>t}YXm&RcXq+k) zx{s|+3>;>(kD-u^UiVDJ45WX|<%UWIC~wyWitz`e7sL0`vzaExkKemQnegNn`0C$c zK_CTldpxHf69AD5y+j_)#kFu3NwGOj@6RY|Q7!~slD;bM_K)rh`IHftn#qY!tLnmwl(|yd94vxnh=$^b8*LA^M35zc}puCx0W)-@|S-LvT5V%0~Lrg zHS{A41$K>KPw?sFvL#ZhGq)Y3wX6iZ)_+ag3D{dVEOh)p@Mba<;Gik9KL;knzR_W| zq0U1(HgI2T?;uD)DuZ`IGj_^y8cs+CBrXD@s<_!}GMv281(@OSgNd#q7w;4y1^Mq? z$}qPDk{0XVIpTIAr+|METOFEk`LGcut%tX%ET$7jE(lWcI=BNuWB4_|Mks8E4?8LP z`vPhn2tkUSO1-{)57>VrqbpUQV|A;PatUj0k)@Ix_Nb1)jZtyog3rKK`kjB z=+MlyK|j<_aQ`vu?vUkcY@|zw4)rlyxh*=jvWYlHH|1(UKV-y%|U^`2|^SZCo)$U2H z9@43aB1t?aY%1#Mgkguw6_(>oYg9}Qasw&R+5$wsMFc^T7&Yt?`m0kuxM8WPsnrDb z;(Y>cR{U=KvKM_{67tMjtR=Bs(tkcsM;8T z-n}wC1i&6C@Q-(2XKHahX>YMV{=AolD8L3?6g#~k=JzI9aUY4e9Vx4L7B!4KeA?MF za2LBJS3OY6_(&ET@Shffs@Oh${30xeuThdf~<@iBqo- zp$3A-jc9*ngNwy2XPz{NsPm#xzxM~^^((e;McKnK$!h398S9H-6vFyt6HSx4I7{f$Q&$YP;{Q!%Q2mRO5}wYkW(>IOZY1FJbf zqARx2=4V72zEA=|m?i!N`|F(Z3?E5sR;r4eMF4-|^Os^Yh=2ckUKHqcX8&}1lEVpN zWMqth)$_hljg19T8@rq=!UEr$<>gujGAp4_xuAwN(I6{P^9##mYBf2q|NWDwz9_2iF#w{cG!Cn$uO${3skDyuRO83iaZGe~1PmeSm9i{hcu03T-dieZ^B#v9VuG=JB`E^WO1Y_Agn}w>E ztRA)X^>Z^bgUUBho?UH3W}K~lp^|@DQaQiFm^ZYd{%kVku@%5`MAo20>Z3yS}ZyHei7%1RDdQ{sOX3})8X+utdJzyHZTvHUTqMzWO{C{e(0U;3A@A5Tm|0Hn|7~Y1x zhB7%koLc$B4CwD#-QPcXxEjJfH~q~zYbtCX=85h?@f=|$?X7;i_&&q0@ci{oGA{}I z_U*6;Om-TmqrVoFJRmY7Y@L6e7W6PwXV7maTHC^bBX<0el7qFIg3O-djbP@dQ*ZFj z8VYOD6oo@3nV~Bx4mokX1j%>D{~n3UcDd1UX9%`C?dBIvHq1(Zy?Rd}_HI|2_*k}( z@8$Nd0C@EF>nWMH{bH)W#|022|Lx!sq3;L@Ee^n44w3RTzt=mj*eQQ`H_^vf*p@3u zHtMfV$nCv8(#>^ABntHkuov!@gJ;&cL+{ZCE6EMiWO9P+We1f7?0J*v9NCE@(rrFx zMeI;V?Co)J_XN0Qq+jm|g*0jWtoXHX64Ow;XqXTk)TDuFx$Q+cY}eb6`<>}dZlHV7 zeT^ME0AI76nADIjRwjRiX%g!OYEQ49(c)z~&G%^p-7U9GfJH?~4 zLFUg-N>-_XnoS(y5Ia(rdu%|(sF4-pBIxF zU3dyc{ZieE@6G%D%Kqawx;Bnt5d}K{(hR;yV|QN!?)W!8++u$e6qKA#FdRw){An>l z(NP~M(1tN#GJkwrsx}@t*GFL5Niuy`Yu6S6Ack&#Qt16eMLdjTuA47WY!OcPof%2Y zyN)I3r1q!((f0dK1K_tnr$K-^UFhR!2zSUJ^G+s|&QS$yndwvAN|9ddx8O<>)geez zZB=e3I%ygEC3k;P&8R_$yhj2|J);tZj)%Xp^gy>v9kuqM6&PPDlqcIQh+#J-V2v2e zYE;#@`jWGo>s`e!^Ep>=dX8lwC3**qfA@HsC@4cNikK_Fe3DGo z%kEvGu2cOb%c75s#LaUY!R*@A!9naHB}m1Y%-hk-LyyOHh^7`j_U zKuS^?1nEYQPNfEhhP}`G?RTGjJnwIqXRW)g`?~J6p63#YOb@7|6W%X1x>|LG z;in~6hcc3MKH;%a>2d?yanoG53Rjxvtc!pDCPh5=gPM5`MB}J6&)s?6p;1JUU)M=l zD)3X8@1X}c>dkUSv_(&-15~MOgl<0kb+;Zm`hB(=aVzB84}mAyW;c6vP3NGEM5wD; zgUWyq^Uq04<8A{r41_^a7>~d~{C3lj;eB2=@op7HM>~e7KT-(W0QQ_Ac7n%&m62mF zs+;en9=SdXSla>+$@>L@jhj*PB_ne{*nnAhA12HD0WcrQDDlh;@@R3GH zyAZ>0+PD{+HvUojoUd^@rUO`2-LfkOo7*eoIkczBxz$~4F#QWtx66P0myeOb+$%HP z$sFni^3S`4WTfsFTA{uPa~w{c#R%1Z9|QpdD@N0g7&y}jwxwjUd|6ckhv--9u-j9y zAo)#AdR(v*;F!dlRB*8mF8|Q4tb|_`_JyqA%EznmV+gJvT`A=P?^#({jRBDzpj@;& z994xfD3_jm!h=Zfc4B{g2UY2Y$a3eR;CQZzb8tTJybK|>Du5#*KKkcG~+hmFMEcErKsN&u85y-Ybz~%7+wV@Z%ii4htTw z&>)`O)&%n~fStJVJtJY?@X#_4;|meC@Em!yC<6WAgkX&cld>BWxacQ7eF;_0P-B+*Hs55{EJ# zJ1(^vu=wSF0}p?GbwB6yFgBKW<6tXa<^g@Pk1=Ox#vh?i+75rSeHaYd3DgA2LePK8 z`h2u1CQ3|yxOe`%v?nxm{xKul5 zr>D!oi!B?a?+n#GU`m=kbel)x7gr1-0?1QUR?NNzy+t`4Z5>k85UJNQnj%IJ5QkS2 zMba!6Fu8vOVRC}sO8`{Wl{@9b{Y|{-Qg|4CI;AA|qW(26k^yvRZrLbCyox4C*+)&> z%u3r1oQ%N&6d$TLp4a2_LjgI>yp8QBW-pxXU8PfIa;(U3EV}sXdY4h6{{-`kBw9_O z%}B-8FV7@GAT~4F_agdkt}nR_n^~j6?~ayNEuMcw#2Ywkw4xPxU$XrS{qzpscI^kQ z<;9rFt2fyNh((2nid99GLEzFuDK(7vk$1!0`BCpvkbcF`XOV=uc`#?4H@f?N%9!N@ zhZ+C>k*W|2IHv&~5dwG*rx{^nXJ^Mz@C<6dkX0OuANnOIkwd1h5Mx=b1g#V+6rv{^ zRQP`)R(;}9Rd$}dPEpg@z^PxywxwA39vUp5wrj1J1a!`KAbM3(Sco+r@~sl2RbeRV zvI;XYqARnSD$x*hK3*Rhr-Y1tZTB{=Yry8@8p(fp4t`HE0^_bsD-m-OQygkZ1u9k? znM{6LYiN>ytyU8sX1!u)HBhj=le0pu>o0%d5T)u|_EEkgo*(z^(|}Ty@P>-d+R>J|LJ z(w)48O0_+#a+cT_PS7hAR_Rj#WDePwZPJDl(s^Wd-5qKMZ>apH>c${Bx1 zP)-EV{!l`;buH0vIY;5ucPzP2JkF;6_q(|2xN-=*L1cCl;knUUxhEF@@a4*hb6%NbK962F|oF< z$ns|afa->+4m89OduKtPGbc5gyU2f`fqswrM0j9#T<&QdgIy9tdH^^51Wg?!&Lq?h z1=;gwDva7F5)4BVk{;;RV$bY~Kx;^pwu;r{rp6L3X7~9@Bsp^|2-dlouFLZ0T>)b; zm&KtM6N+N`91Z{3x!&1WsAczp-$pZTR{<;N5#{97J^Zw&}Hw z>P_l{6M-~AU(l!_&qJws%Os%9Zrt#&G9SFgYUJnXY4JkH%LC^hi!BZBJX84Kt*G_Z zge90&d`Hnmln`r#H-AF_aeRM%c4~?*7uf6lX3TRjm%>Ny6)+!67BI6C?)hQ_Vtd8z zZ^5T9r~I~&8GV6vF@mPcExV(r0=L*?AqA*2~~3(;giCd6ARw zwM}5z&y%f*$C(~`t+}SZuJ=Kcy}~WFK*jzO#S0x_WERP9>6w4eLNjUc+b;{#>nBQz z3VFS*e}2f!^A(;Tze+?Rj+4yZ?k?V^T9DUD;f4P9)=o>nL-fCJR0zlT} zEsNQm?eq&CTm4EK)j{=7dm_hI$uIo(4Te<9;G%vWnTyBju~qP={?P(;~{v#*R#(b#1( zl`sI@GTeW37W?@Ic%t(LX;hUOb*9;Fv*nXH&Yz>2XM(tq7SG-=wdZLc}z^nKfBKRW2tiK+g6XL20lAR$SnCd`CwIvIh<*GUr-bDvh}^UyJB; zs=TUNM7QX%aRjnt3ZwnW}CMpWx@&jPkT3 zLJEJJmvD*Am_qXevvWggazF-CH}J0`SUINrC#RCo=8!YVFAwwTO&txg)KM66t+(lW z@^l!$#nUjv7mv&lGU?5&8zcc*YODG2%qmVP;OynpIBVVdN44T0$x4g}J{<6sFg>_b z^8-6aH0C=Vw0SDA>ywF$;*WANIMK$Z08z5`rC^t;=HvFyxP8ZYR9d;Z z-*Ia<#_&1%h8>RT?ksG#!LE;=iF#+xQML4h8T;=heuS8Z@r&*y;uPp}8f$!=Om=@y z7B9&_zc`fHjQpDREMCv!2_wf+8r{{zEakal8VuW^a{aV++NM~%re2oI>76a`ODw?s z0V=>d;9#~tld7eoDnO4|nld!O+SV2o5Ty2HCU?=j1z+fdsOb_Z$;r=^}zmUg{RmT=!NN187=&}9C93XN` zXiQIL+vm$6fj!Vq+2nnV&EjA-`Rzr7F7pUyGP3+YfDV=jwNoe%7^J~3(0+f#AD|(s z+3e0Ox)AO!Xf`+aEK3aUKHZN?*Og{f9!AASn#rN&BBJLI+ODb&PNWu7B47cMqJq2Vi8>|#02C}&) zLGt1)_-AuwfjU9B7n;`X@k|QXK_rZSPDP3WM~IF+dZ@|(vH(+n&Gf#{0?{izNfzLl z*1*YwnYu%nq_OUFdKx^Xk4c&f7Up@->Y6iVq#5sD_#(<6b+t+AKy_yN;tQ5s{wDg0 zGPZEGb_?F|<7!FhWUMv>QCMLp*j6i6g5UZ;+6HLnm;3bcAoASod-JavLOL;jzpL}Z zo0}UZ#k6*XlSkG0s@O6E0|OFJ#5&HyB?JO7gPqWpGtN(+xwU%3un z3OISSaH&(Agb#v>N}TIT0(l;3sKjKZHzy55-3qsf)|yE>VObpZ?gV9a1v|d{8DU_v z{Q1R4ZgapxRD}p_A-3hc$MJ`MJ%0z72Y)n!1fcDDM90Ip$N-_MtMUGr{4Fk^Hd$-^ zFJ$dquXm#?Srrh!kD;6uuyr__FmU)z$;j5D_r9{uwd&`OCBlyDvB7jo;XHqf@hqZ_ zZXay)L!&QNXzw*OuhuhL+QhvNDzw`2^O;d=mp8}q^gh1OutRf?#c)J_(4)ude0)Kp zP0fjMhL)0Wx-;`#c;ZF8as(Yqdco1`6xGw`z2A!J216+x1!JBo@;jX&jW@;U*HbI% zGZbue>oo|9KR4TGUrJ9{om}C z0mz#r0BsIh&2p?Hpu^LD%KfDu6e!8p<_hjVYX*Rh`m{{<^jStYLpITahnIeAoqfY@ zadK;Fcsrr51CQBturESMC|gZq2PmmgYV7ZpH5~qsz&_# z79Nd1s6h8mIMK05U;+h4s@Y5u2l|~JxT5oDw|dAZZ`J|@7asNZ zJdJt>pUoPO4{qum@Ba4y%R3@FNC#hRH}t)EvGBX(GezGw42(MtFxDM~*YbHaVaM7XWO+d0@Wyi9N z%aw2OZH)wfx542N3qapeNo%^a)YMF5_s2swjFnpg#^M^ai5y~L>&+C@Xl42&(GwPb z_^|imM`3J78kmP=9&mASVHkMrex7o?G1Aqs6{|YV$ckm)w;ScHB017u@Raskryzzu z1aU7A8RcXq5JMK5jl}l=R^h?m`@aZjaGmOrrYe$ucNqAu_`d#j30=41GwWf3)4uWg zAtrgf{t)!-JUXZ&)!ER&3D z-}~2^`U~R>(jN)jf;4nZD`=PR=oF*!*?0wz>D>)s31mB7&E`x@usJkAOq9=pO9?6E zX_R{dmnio-l@p^w5ou5HvKxv}Av)S5&7 zu21KafcB||MD$=uvs@F-=q*{1qwF5rgn^{lhRN+BY&!S&`9>lszpZ6z_e->jVkP%w z3xgBxR$6}>jc=;Bb;@bN0zF}LlIUxuk(j8G;`Mq%}U3l&k8SY}6Ou>^K=xunB_dJjJStL2n}R^n~auZIqg;PIK|#V7(L?EFSDJu8yRSJY(F?)P((1j zQ5(7+w?$0E-zNZ4ASfdVraX2p4*A7|v@IJEPUxSf6!ll~Rp*PxoJP{rCGqCWo4?-j zDPt4(#DcXbX`!!ozGpTQy(ynKkm|IfA2+j!8IGqFjjFjm{icOGoayI(J(%{LKrpd= znV)zs=3$DXy=}0&vcVkglI}@@`_A<8<<3lnr<Up@Y+ijfe6rr~3ZrLP z!AaTg*UeK_@FtwlaX-(DF#{=BBDGq7;bt-ChQq8T0_~%IMxV}o^uVdfKp9zkeY~M2 zQ?vjF#jXW60nS75ZxkjMe%}3o;Kd}@q@%jvP~2hGnZu?t z&)tcYKZWpC1LdKtk`YM=HW!}*gon&zaCddj%IBSw#Lz~mR-LDYoy!NQ z99l1YCB76r=IR}|ThCWYG)lY0{Mh6|-vh}9 z$R@if%Zby{V6-l$+Zxob^QR|NNs_|gto7mBDaN!_zp$Wx_%cOY7-x+?(0nf>k9&DF<9)&m;XiR7n$ zmlhk4{LeTEKoh^mF~rWo9y{s=2L4=plz6MMo6a1xtcnf~q^-Sp4^Y%JVShACoXef4GiF}-WfjB^O{E^7;U|2T&`nWr7ri67ETr$${3eI0m+Nc8UvH z&q?6!4QaSb3v<5O(@7d2QwU=;P|9x?foXgCC7s-zL44y(!|zA&3yG*FG1qPIKl!;pE+V2!(IQb|HWWC-X; zu=6v`7xOTDB=dmL)BePtK1%PrZ(1n+?D|)v26wln8nBaG_xPs8W`db7p|y2Z;zvYE zbm)_RCdZxZVQQ-54x(aJZVTJUDSAyOD!ek&PM<7=KECZYrh3t|yhp3x2r{bmq2uyo zm=tspe~k_45DTUN8urdlMCTl0`Gxhn`|R+FtEYX?t6xc)Ru*VFOklU|*Cmp{U8%#& zUZO`wl2n-|;hNj~|OlGU6-@q!=B@en*`Iq%P(G@u-2BRwE<@>SS)-oe1$H+;Vw+0qL?2 zmPSZX+%6WTMln+u0ssoZ;inUfYK{z8DV-ZD?IY*GXMvmA_m&hFSY^=53$5vqxt<<> zWtzm?y>s9kpXqZSlJ7PV-5H~bXm6)stqUQfJXG3UsfW-WlJ#B!+ARf;6sR}Gf%`Gm z%tk&p7)6wOY?@T_ON@ism1Rhio25n>KlY7Us~k4Q=&V793Z9A}v3V+78znd$kc;;6 zBVi)Ey^%UKA@tbq6u@jMhv6j~ZMsL zv3$Abh%jQmIGr)tYGJ-3xL|;d69i(N4^`+Vnuz5IDyeB)HtNZffO@Qo+u5v|s*a~T zMyR+cucZPNU!y?ZLR3@XoZttw|+Ke;OXj#CaXFP<*R9bas~Au za+0wM>HLN+TZqR)cZkfy?(!e4N&>T-Jheti#PIa?9Ms zU=cqWVcbO-l0zI!)QKsITS*F?R#2{TFd5y7LPes;W3ih2DVOn& zw0^EwPbu6lK18xCa{4>hHIovC6VmnC0vk#cWKv$i@z1sfZ{|dN$DHzizeT>|w)@p{ zJy{m~UVUb!W2G(@pASRKdD4jRCH!f?nZ)R`gfKWFT@8jk6`$j7jHNT#&$7e@;!rc? zAbv{1w7NXBBWoS=IaAa;1AdNUxZZw<7eH?Cp)lU^x%!t3G!V#*i!p^3bA$i>3>w@(yj#!=BOd0^d0RH_P_IDA*ZFP2*IqY=Jd$2%2m0k_v@WL)~~noNM2-s0lo z4kwha4bF_5YMtg^$_<(%p!Ah#xYaQONfZt}q|Jy}{q=+y?Z+RA#fZy;&mIj7B1D_t z=<0e5M_)1W5<$$D@i>I_q|o1Q%)r;yzF%G1aZA0s7q}LGEV%6C)r!{bvEtTH!)4g4 z{WchKEp6;K*F3i4TgX41ivGoDQhR2!h3|G~f$%TwNSGG&f)HF_;R@#b(g*Yz(sYz&$P_+>aZD{ZwSxE%8f zYPy;+0L!620--Ul`N9stHJl8EYrTrbx}1wHTLm;@a4I96GlB& zJ<9vZ>FLhP#^d$nmC8Wt_0EB)S?Rf6wgaWxnhLD5SDqtQ4?cYO;B=T$xcI#6n@*+K zvS2zc@5?xpixy_k*gZqZ;mcSy|xooe$`DWrTBMAPrQxL7TC88%FC-mNnTvLrw@ z#&kE&@8P=KA1?QrF6RqN(B{~E(#Gtw{XjHp-;oTRL$eH+7B^O1M585E;l6x=Kek+u z$#35?ZZVkFagok#q9*u+0UMvXTh2t)+6E;mF%2UgX z;EOG71W3}IrvGdy@Q1_Xe&|Hi(?pIf?X|<@@ikN|N2szJ9KR5yJ+O}WrsnGP%yA#0 z`*1+N3~;zC*=?B@8ym}qz&u*daD-leQAR@e9-J!mRjWM>Cj8b3GpKcz(JP7E; z%cgtsb8KeDsdUk2!@*gHNc-4~`)AUpnE6K4n1p`e185m7?ILJ(0Ehe@5z1NnRGPZ% zoR*5-L2fR?cA+-Tq*^KvPr^O7rAT$M2P9&n7`4Or{d?Z~c7?2c+pcSWZh@6>wfS#Y zOD8rq$wTHjaBbR-LF#KWdIt%p<Gi7>z9|`olmfU(T(asXquLg~7TyCzsqiz!KvnaO*FTUn~R2^IotO>K6 znlxr(!|?;!Qw5x)+RbbeG|SdepF^oAX2>ZPzQ-B!xD?*<>}mRq;vJxalJ4eQ*fs64 z!7f$6f&Kw*)^;4yh>gmKk}PR91r6wAS3xvFV1{4jlBV2$m3RInTcS?ohKZcKFQHMJ zzuiV2m6q7ixb2meN#$304~2-s7|y%gP=WHDM!HrJ|1TO5r+|&xy8K~hwELr|5Ae^y zD1akeF`f3=&nb;7!6roDV?A8lJjG%(3l1@ri~i*BMWII#iJ}@Wy*gMf78VvN+HO9j zyvNXQ_9F6s*uDC7%ofqtE|b}_+!UG;jgigD>~(T-;>8cJw|aWn9RBz$@`3E;X@=*| zxP6VxEb??MAwCY*s)X6}Tx2<-x;mb17wFT_p^Q|`^)XU0A3MdhqzX@QE0Z91J z8*}m25$_>eM3YGZ>c*AKxM|i9lEBH;HgwMM>2-6KdVyA%rL;Amvhc&w7 zLy>f-mN*E$Yr`5mD$Y6~Z$9~LEl)fGltG_s-S2&C`-8<(%6*hl&Cj-=>iRFA7<}k|;|P1`c_?!hQU*2RmJV zVw`31?g<({)ARe6-RaS% zRN>Gu?d~}qnisVQs><+qI`M$->z=HC;Ov0QA*D7$H?v0VNIh)3-uRaz)o%&PeiCE_ zr}|wDxgStFEAyY9CNqc69ujr;{3wt}0lIrAnAo_*KvCyfqa$dOwA9MD!KM?$jbEy1 z7Z7o>@fBEvF9PkC);kR{j?Y>y3Lo{+ikz;aIsPE>HBX}#I=K-RlAKnEAV~;+d_{YX zwm<`rf0Jl&;ES*LpDax2#sUD6fR5NMMfSYp{eeSVx!7t%eA>$UL&zem43m7+n$BC@ z3}R57`t;6!qW7%z98XlP8NcaS=>3nQae63zq~!gtA6X3ty3#<*uc>tPA~roIrCO#1 zSOn&TmIl~$xd zYR|IvEFX^?PXyj=`ui<@Q}B|6cg>LdkhOXn2#TK|1M);5=aHJpXW5YQ7= zGF*K0G*l(sPyVGR7E}3?s)XLb!(d4pmhC@YRo>p&S*sR|e-UHTMd#UE#s;q4$=@=k zC)}IEyTo~l7O;X8HzC_sm(yg0H1imkYUkh9uN1Nc)ljJ@;;jG=V~f2OM4pbS&?`hh zvx#N!{yA!4fk37bajf)zk^{@4r{QJsDbEv12vWcTJ%=}ObmCm;7$Ge%ev#P5j5lx6 zxQz@;A@j5MD&8|i#|JulAMBI{USHJ=)MF%ajKa;j>DayO^Z^{=@DN9Upcm+L4;-Fy9w)n21^?CO{+jNN19@N(kHH(K zR}aMno?-xsD@tH*+GA^*FPUY3IWZ*-2Im~|-D{vI({D_=(NLM2)t(;nI6qeWVQ{(q zVK5!h@`Lo7G8d_T{m9pvDt1bH`Cx;ff{UZro)!ted)4THYpCMJ;bw?}`vZE)n}h_K zPZTv+(B=T^FL55e7yWfj!epM5K+ed=efSvou9g{3Pi;9S`&Ej1o26#r8i>L2#NsAt z<^{1Tw9HFZb5zm4u5sj_M%)L1R0-1emHK}PoCuQlhd&U1sNd*~;gsPbeK|#6$Ym3o z%7*F;n0DEmgiEiS;yo|nV4owUzFm2Q1mtg>+uPf5adEC2!;zS#LgP%LepB9&cCA|P z#FUEUO$EJ~dI;&}bGE?AAQ9P#hd>T7zkHwBv}MUOMQlJ;VtTVj9t?zqpes-cS2b;bmc;{?Eh56;yp%S8 ztBx>;pHrtgzpX70Nv1+VLT1WkreJ&tZ)IIq&#$hozD9p5=#UD2wF<)?&a$}m`R0cA1pk?^LFb>NME>n&#>CdAytl~KU{l_5|~{5at9 zJ0W=V_B_MRMUs6J7O_TQfWC{$FV%6t14O5)Eea%{W-+&wLXTZp9@<$ILg&GtljdVW zt9olo;XUqj*L0AjZu}n{kW0%&lO382_oMY$p_>}`drY?|Y?;c3Fgfu(mGco()d;gNky^y5(URH{NO()Oa0> z(1C6_hKF@z^<^e;tXB~q+g<$3;;5|}-5>x0vzz4Je#APdg zAVIEbisQT)bfFt_KtB6z5(hQw3xqsYVC1Vl( zV!7JP;|8ZBlBkabX)p=%3pK(<4-ViEFoIU{&BLlsE02{~bPtX#HWRu?{h#tJ+v}JeP7X-hW2q>u$5~lSS#~nb1t%$Ol3h_Rw6|Su?1S?@}R32Y{W@G|X zy*=FZ*DJaepEEqk90vZGqW{qrN~A55qZEtTIHDM!Ba10?yp=T_(L4Hzw>p|S$jFD; zqo|+&%7rzk5#v*tQs_+G{Bkh_1Q}6;<9k~#aqt~(73^8l$DdulX66O`exbV&Gz{9E zh;vKoLkuwwY`7Qf6+ynLbAM}pcemR%VT-O6H)t15nXM3+0+WXlD~%)z=+R*oJwmp0 zQve!Ku&=gq+%#IBM^_tCIN_(rzD*`F`E#XzvV|x(IzA{E#QRV`GV{38&L1KSlpA+K z@m;@O9psi3G-w*=DNas;YolZyTzDWvuHL0RX}z0+ngSk77Lts3AF+0|9;kwU8ES?K&EQZ&CIkCcAHU*a5w z@?2378MUmA-4F;md7X#QHdeFj{(OWTBH#}(5d5cce3q_mQ3L8quhrg&3Ggw0W2yAMybc&V38lGF zX8Y)j?=5pSlgY^RJF9fKzghj-^bWlH{+r>{8!5^-0I$v?fbrc{8*r9KEd zZB^mY+{?IpSSpu)#rR-60XVy7O{47?(x@$ec}gjOZed=`)a~-58$_BOO@Z>evP@I_ zQwX1M`W?rJ=fEeYr=iq@fonP#2#$~-{T3gRxySMQdnp^RXg&yp7$*m=uC6|MdF0Y) zY21*crTtPoJ0&qy9SW@Sv}DHq-73iLHA)YLfUTmlFwum6$S7k&?2DRuJ0IelQ3u?2 zt?C_COlm5Srv#x&Xrob4M@sK{edzahr|D)EO}0vlyzkD`ZF7HRu8maczXW=ckwgtj zK=8bQ@m441JBbn2i-1?rQU{5ZsVX<<(l3*HT#oci`UwPHU72vn zLWY|Y!>Nk#JP9~T-uRNp_&0TJ-UzSNE=k0>yKlwgChv}-0E?xe@|MbacF(oSgEo+? zRFZiTf~TDYxch3yNI!J{WAwYV^uz)-ur>D+wH(TS{}Rl4g$nEhpdaat?djwuPiRgb z2Rl1`oYwpzD_QALw`$0>>D~Jbr(a6`AnhN9g?iU%EDc|w!C**YG+VDnG;sG}L_G7Q(D)7s+9$OJT*EQ7 z$XZy*SU1mWCNz^^?wMKLj)Ki3H8&)m|D=|GpvkL(7ySc;Endm@bGKbVe^iZ2vBoeA z-!fy zCq}~C1(vcKwOds(fR3(2!Q0PPQJIPU5yP-#`0iqhUNu3Tnel$wlPSVK*MWa1Hm1ja zN4Y*W?New;%xz130syJ0tHVK{Nq$WuBf2$H(Sx6~OB*|{6OaqlJyQ*GZIc8A(-59p znjgYK-~6Luc;7-+`x6=2t&nklG0=bV+nS4WuQ>xaZ9=Q!$yPup1YRQ2ETqK> zzF(@5r^frw{5kt@_kw-L$2DP>i<7NDrlT%GaZY1iOC*0F4KvuP6U{ zk$(BQ%);P+<1v>G=g|EvUDS!?3ck!l?G_*Yx0H7ybRS>ebZ#TAXBKK!U#l%Rw8~Qo zd5h5=@4N3z-#y62!67t5Sx+xRpQnuC29%o}hY{y|`P0F>M8ex!XaSD zM?1_3bs?loBdnYnaY|$iQHMdY(V+RrKk>x>(~ZI>j`c2QH|LZE3EAr=@Uw z*YXY=Z@Yl{_f2uik=ZtbWPj^#fKpCM5ra-iK*cV3JSFGd2c%rQkMdQJz;mufzR{;{${(#F@=RX*P59VEdQVC275YS{*yayA4mR{ z=l(p(btSdp-G^8LNRe@W3U2bd$N7ha#V!{c4%O-)m&zC4QcJAjL$h)YZ~U5ix3{(= z0TkCA%MbUY+&?4vaVP|w%sx;MQ?~W%mn8l)1>m2>^BPW%pemkrzbj*zX$5SLSPimK zac-WL_eXi3d#vEr@7FX!F6gdRv|hgP`j!O9N5MdUymk571N|$BIH&)# zMq44m`Hm#jfyT{cT&p^frHGpNjW;FX>-1_=6iy1z`+c{5*;q@aOVwS*gXOWOe4jpe z(7^@)tE_VMo_G9?>gxhJFu^3#e8>)yJF*BPg7q&cWYxZHq9n(b1|0cCHfr}`u@am7 zVLqvad5;_h3Y8>(Acx`={qH)~S2pmYvaRj%s-q~Jv+1=U_**Vov|G~|?N)H-vRPld zgxJmcw>&DX0Sno?$7(@Y8SQ)|-C%Om#ZJ)Jz-QJm*uPUjB23+Jp0Ol+QG&4k&!0Zi zgDb*%JKLNTaknXPOC>b}FAi570AYji$(ZJ=;giz>xrT)rl+T0dc^X7@aiR73P1x@FR%Kljj7zd3uXj(Z3v7) z#%V76PqFZyqpo}xbqy2)Gn60d&msh{i{o^0evarNN%hb~tsTd@>CnDD0|`C`@_!Ff zf%iBhDhoMliEJ?ccwg&3h6a}@pGRj#yFT^IW=Jr9A;H38jH1$x^PFS&5ptLBpN#|s z`JE2UteoWB&B!G|$fkde%yjqPvXdNmN_SH)Dplej^|ud^v+Sa3q%_c`*4D*2{^`xd z;rP~8Oi=ZYQAy{E(YsqY^nje0vRCkKEETKY^KcbtrCpiOohSPPNtw{G=(;h%D_SqN z0)1|Of$OI39t6v*TMWpbVJ88NO&gLR(p+X&|7C-dkR8gM%oXwApxqCHgBhh@^#bGlamHTg1g%=DzH1o zX9^hm?L?*#{!SdW*BSD1?pd%0L=8y+q7)-&M)@_H_zwrStLVWR%bNmH+M}FqvHaeD zmS2%O=WcN$W$G3Q`y*aBb#N!&la${&mlZ4{BeO~P2DCDlS-z(K)LGQS1e?iRR$@l` z`qzj_=?UA~m_wX2!_Xl+F=8y1L$3Mu!l=R@1Jh--pUAl*=WcXm3o!Yu&l7Xt#C>z2 zc8gi6(B?)1?pF-#8XxB5QKtegS}6=<7MIYs&j~c%m-8w&gSu{x6?M^7a8V{ z0IswikSP-ULw=XCyeU9i>vA@*U`+*l);at2^H+tN*=K&{sIdN$*JGrN>VzSGGjZWR zTTnqRD>aJ7e_SU^r#Ag_f56``^iVcHaYaS?;8pwU!NI{b)WS1E&P>r7z9PG_Up?Nl z^yVfewP;2cZi8E|wZ8Oh@9ZR#(f%KglnDa`Z)upL%6AAo^c}#RU(f5Qs~JH1)T^ud zkOprRx#1f<0|T1OgUr*_F-WcONvl!&PZo)P_uFZi3RDFx zfxeC&23-vn)R?Ya7rqtq3u0RnST{ui%{1s+LP}a1lFazNingeNzd`~a{qH6_Pa$x= zd-CkywY4?DLVaN2@EcxVOSa+rIG@>cG?t6t`o%u=3va9e3eVNm`N|(6!@fDNVN9RS zWspSLEb?b${*Q+XbA``;zE0&8?%F=cFP9!B~1AgdX{EKWG{ zpN$0~@DSJinN(Gjt4NkFZ(to^{NE%08iqY(Z+v``4+=KR#ggxT$Fmbw=r1c#&@a>$ zuKHx^Xt0<*Wi}Ej`<-}~61NMr1aoU^izxk5#{c1kFHHHZt+f94UOYIWjzri?f=uxDiksJ@ zOwz^2W!UP`@5(+z@RLCDhu@g?%=wPS+M2re>_%K$oX!S+k~~o}Q>p`nQww=A>EgTG zY-_E2+ZX$tZ9?o|1TBQ{?#qvP_a#-8v&Hb=fJwaTAZ&LfAPr?m#8!|QC*8odl}do~ zX+M{Mjy_aSG^07~q(WjyEHP4_P6m=a347Fq`5jMGR8$*({F9?r=YR1ga>cf*BixoB z+uKKPFqa>H94X7=+(BX@FexhE{|AHMvr#LPkOX!+%A05(d#dw%eOaTrw`>QcxA&-7oSVfK5yB ze7Hv-^uyfgI-2s$cAS+&Z;{Mtf`R{T*pMoYq<#W{)M>$Q+nK&2GXbfRTsCC?+k%%$ zP{{9p@5?1sS&!vv5I8tEoX{@zANLS#qz{sEdYQa9{+5Q_+#QJ&s_CyO7K69#63#p#( zY-fXCBLQ7>s#K8?+R7 z+wxJhX)S-L7Q6XmT#?5Lko>U8V-FQjTwb1roAl6by6hLhL2Gq2XsL_JyH!v_LxZm^ z{ryUCy{X*`=T^ZgWWldHzJ6TM*1DSgGq4kPE*suu5^-K(&=fXBe>X_*n|tEi;fv~j zCppW0cd-qrI4fC}!_#nIO$KGyDJjL??e%Mo)nk7CI|G7nFPpv3ZlXl-Ug|C9%0#ag zKiy7AP3=%BY;M-)BA>>i161)^zY19H#Q2|kV1hJ*#5RRy@_Q1*#hMYH7GRkZ{F>cc zl+l%g15SyAdb@O1Wcv1zOx7sAXZt;Wwh0?p@j>vX9Ia=?B5&g?aFqLau?x*!2me3z z-UF(sZT%PB+eQ!(0t(Uzp@@J;lMWg}2T@SzpmeEH1VShZK{|xqK?OvlNtZ4iq)C_F zL+>2|+!fsZkNX^Tk2l`CWMt);`Hs|^*2;uk&!HI)9xfBb}LVENJ{Eq>vHms zf|r+R~(*Zqp?jM8M9eUqvl-IPn?h)8_Dm_g+@WP5N*A?bFhk zV^86H4H)ASFl)}b*ih-A7thLZc6PR3pfz@175C{fmLH$AJwepZHy1O19r@|j7~fk_ zwyf%30uBenf$&@6Dfi$BNj-b^Y(ne0fX9lq^V|>_&>g-u(kijTr`DfYI4xgf6@M@> zFuW9StZTL>-kca5acbulezZuQ!nG2Xe<(p0m{4T*@7vJ}cvwAXnpSD3x>e!4^YqCR zR>d;~S9GZou4IXj`34eyuS?G2KlZsAWT}OJZhh?aQs*Y}TmAhd6_HVbmDMD&#W>Ro zRI0*mS`2I+?&Z-#TrBX(yYTrQ&_h%{FSSc3;r4I5Q$9%?==_QQ=jGtHqip}c?wm*_ zXpX3bE8k~lE5&uxslvW}gU5AucGC-4Tuxl^2ur_Y^#%09x*pr+sO7(DPG z_G7B0{taaLyCuXm;lhftjjXM|}lsr_&?bn-aAcWEyLq zGRc5I^#fSztB}HfyXXA@26+MZ5v(`q3dcVd_ZOwyijY>2C#>4vChaQ3xGnBa{9@O& z(83UBG;vIVs@kn$wd|RoKTj8fo#N!c=EUo(7_le&qNv}qD8Lva6(5}WYBc3k_V@Qc zNQ`W8+PS~T2jTv*#p;ok39n3J+834kruc-g1f7BFcPfj2{*mv&%b3V7UuI=Y25>11 z-Pzd*Ao%ka)Z(sXZ84`vPPsiXYN?C4fA8W77rB}AQQpbickkz(`9&grZ=MoR-FD;p|gPeXNsnq$X< zkr93C`I#$!wtS6R7oz+gpb0M$>z~FLnfv<_GGD9!$AU<26y8WvH0cz0?K2#fHtL{k zG*kv@;VTn4)_jPW z;4gDB?XH zXBD@cthzEno95Muf>1f!{FlHG4R2x&xHnlM=pGD}ObodPta#p=*z96S^l*;jnjX(R zMt#&7(tbm}jhiy^&Ece)dn30O~3 zIaw4Vi4T{4ebhS>Gc$Q{!-t>PLuP0rR)7%_wuE^`U)9dU|*(fNJ)SUln5b39Vs(T&%C z477k8(i`-8wEB$)Vt3=7d7>+@H@&4%v%k@rr+G-kZ}Dpm)SFn=&m63` zZ?H5_VAP5e+S=B2q+}{BN4Y^SfEuEE#4?IdRWDO(N;Fz3R4)`gcapt$7oR!o3+z`~>911Sv$$8-0m^@jL@u{!g%8U}gx2i(HI9wZzoSEVMm{ zMwr>}dYv%94`6dtMhCoEhj@irlg+%U_^LwizM96}g>5sDWvZ7y+a>`|YCzC;Dp2_<}ge8@1B4y|}}eu}eKyZDrB z8vW1A@|hhL6C2x}DDJjAB)GS+*q^sOk=)z+us^NbaqUexy)cmPI$(y%H_G%tH+lgu zT$NJ7r=8XDn$*yhP@q1+#exSTtDd6Hq}IQGw+)miXRB9&WM=zsnvBFs5Xj{F#JEKH z_qZ`6gLKk=Y8IMvB|0!Z({?qyOEMj8oKXC9+`Zr`-pP`BS@!`1lOlycr2|{a-E&NP zuCc+c2}7qaQ%wj(^D{s!wInSt!Niaa8Qn`j`M}NoZ_$*}!Z3BXGfE_8Wog-Vk5Z5< z1qh8x#E{&IfDlnizU& z?%lo_;CrNIlJjx zeuR7PahJ7yervrBblI8uWFuS_`*sxlJZ}Mi4wSe&coVUmvHCehuPsiHgM(xH>Hu9p zqQ5%7%l>BNL1|?yUpnJ4)h1taBxmI4ZRDjr&0K>fpjBSHH)U1je%4|5S)`~hwkdCQ z*kRNnh{27=s0GauAI)PtK=4^(PuhE8TrCv9Pg0xX!yUJS!BN^5w1fFiLg6wN7MbPr zq4o9ke=Ld4%JUPm9ZB1{cW{3jIsZx5{KA3*Q1%fUn3pfl?I~Aqsl9fp{SaLvx_3p) z(qC1)_X2HZnT;oUxa*~kxRucdqbF%;X~D-mg!%0b0znhVXE`Lm z12F)|BOn(hWIh*9&}yX2hm<9TbGrSJ=NPu^biMygfQlq2_aSUX-gXm)Q(kQ7tR7eM z6`+-@+En}yVS9#>>!mOBZ; zf3i2a)z+=2%K!qBnD}hrtzft^{V2`aTi5@lBzPKq!9He%p6D3B~`e;$Y{nLk--v4a+XA$SmRf73{TS!6V^9wz}; z>KY+KZ5$;VHDr=4D~>YV2tJY5$|Jtr6R)__#@C>yxV?XNA&lXtiNOwq(*VGj4MNPN zL^8r?-LTe3b#EVZeVgriOnXg{+cQ|>l1j?0smZ5@0m}5*j9G*auipC$q6e|vhO z^>Z{dG!_jZ;~-f^5{zyCZGL$#M~~!Nl%`(Cdn1ZK)>@fzS$Sk+e0<%U8Aku}^um=g z5>Xt!Dx#)bkI*h_0Ml#t08!|0$(&C<_Fy~Cb|E@!A|+a)K$Kr<)btP^N1iSnlEY{C zbpfM*Cc8ei9b8N5Z5R*iOTJaHf0wD^R%mFkJ6T^KZ>5nZusd7iI{ivJb~aWEP;ey3zJdENO?G&|}co*Fac9yw^ z61Q|RI2;wLR27>FjkR~HbGFR1t&vEtysuiCJMnToD#Y@qSpSV9_=CCke+$z%4rtqV z?-e0x3fRcb(7Cy&+D;EK?_K%$bidWls7boAE>C)-NKVYMIK6mcS-5q^=-z7Z6;6sKF+A|g7cDqED5K#N|zn#wwN?$mujYXUpG9MuJmlo$Jj) zS>V8c1}UU!3ccF79{XGOB)}WJ+f?*r15gdE&YRYg^@jfFf4s$8e~_;?EGxBsT?ooZ zkDRG`lN08v1XNEWbMnYC#e<0BJ;Uuh?YACD6&%Q~>zqcke5jxFJ#OVJsIE29705Euo8q%YF zC%{nV#n9mWoghUCSKjdmZm~0LzrRO6B(**!Y`T?@6-}o|>pZRRT=~y8VY<~OyV}|p zn3PakL6iIPFR+tSuN}JkzWOy^`mJirhJt(%0tp|tr6&($e^Km~)Vct1=De=*YY0sl z196eUu5}qXEh;1s$TLj6emekE==ph5Gfx}I-|SZSp~t$_pe0g`IENK~NJyVEzJr!T z(d+)o&5yy#{S=V#Dj}=q#SG(AK1zYvS-jwo6^_X3zlJttHB>iad;4HFA1sh1i_gkK zVSE39s%k7Ke^`5CRmkvnW+a2mrPgz++;%s66GSZ-0=oV9*By}oj2l+(c)BIB>OLB1 zt)swuhFN!f+pYM1V{LX=3kp3CP`MhF+nGLNX5-8aqr2;yYtM}0YKkcjJcwr-M$A@DZ7z_sJ5Kv?~5a_sr zc=bYR_7KOn%>p3A+uF@ANtJxNq}y_9Kkc8x^ibygxpn7#0E*~Uc`5R`_IWqfg`$Fj zCYH?1e@sBx$o518Ci*I#9>vLKQF0pwqF4&(cuy|mq#FRb$qvW!DhY>UJU8zb%(!rI0%?7P1hiN5`j9Oy~9#x$JsB!E~i-8a(d4OzH@jsy2(oWvR>S#XgEH`ri`}z{Z&X7hs-bF% z8Yu+@e7oFKK$KK~NdRv?n&82l^4zAh{wYcTu^Qzd-j*P0mL++`Ul-`LynStDa|0hx z8o`y}NB-+4yMj&puzE(N0KV4J=w=VKpVf#kk^o|fP6p?e2SVyGO96rY8y$Iof7_?1 za3HyGEsF=NJVW@Q&ztS1gfkhMY;v-RA`|K`t(Kum>c)C@U2Z}HY3&dGbzv!EU>rv% z({Hd<7>t}#SGV>km-_v1fDfA?>&O*QyCb)d0at#rrGb!?c?J~K(K|Y{Q-A@tCmer2 zIKZJ<`?6bejvB>p1u!V>M~^K zfpZ77U%`h7so&2z3+Aq-+BKixQKq+I7JI^Z`q%rXKD3bVkxwfuS-~L0$BB(?ZsK3> zRQZED$F@dw)({JmbG~d=9*qqK*}9H~SANqF=%aX%s@XmXM{7%GX6iowf2KYd_@f8Q zVuP5)!q@Z_>&R=&7;gQ#+Hp&P&j04}cklgFCeOcO^1rwKUvz8j4H$r3$Rq5Y?Mz!! zB2dD&CltQV^q)Y(WC`vJHV_-lHT1KS>6?xQ|8iNmA%>}HPXeIm;tKJX>Wtq`YBSfF zvKraRXklS79_;`7p?mAof2)yjnc(kh|0fI6M~Q5Hk?@kxK`s?!!)jif##@B^@y8!w zoD5UG-d_5xiQ;aGjeyn{X@oY3ofdsq641wfgM}7((x%j;sUV<5b1|Ev>y8Rt{{u5i){L#+8_Rs%`!T8@>|9k6y zZ~fnJYe>gSLaGW%o2kZNI_wx;(5r@l!9iUB9UEwoEjrIdnr?>Sc9_pIXxi*74+Hdi zr&~p-prD{1Xc9t|f5i4`NtM0=hm%3#6>i6_I0(!$ZpXpuy{VNBX}WM0n!PTayS?6M z5q8Z&bCt#%{RSPEtscBD`t4!|i?LP}I2_GQ-`O6t8cb?T#JX2*v*-&Ubx=CZuX1Y(Tp4BIpJj*8k*(^jy#~NIXu{DPVfcR$<(dX z5vm1l!L-Ki46nHM0f+C?)2C&PTcWtO-E*Z-mjb`T?GKFgq{jTkslMC#e@f5E=)c(P ze_%Fl^k16;f8R&{i>l#9GkSvl1nScm2z&~7d-cwn7~iIp;>rl(tO<9 zpt3V;C^Et5l zNH@R`B6V*dKFy!YU%d6lAJ6}gh2OqkLVYuDhnYxW{oSQN^lEP?o(sZ`Co#`658odn5+slDYU+lYuzFycY|a^Zv42UzaDa3r_6-N z&`rib9z!n}TyZYs6IO5Bv+9lo&FSysj}f5?LMwJDkeMICF8=Mx-bV&F}p7diLj zEr?PMC-A7y9MJ(-)s|hV7z=qLD(R>xFSz%f$l(91r(I&liZ%QI^|n+8leq5nv-2rY znU8zBy9AnRat{iySMeB1OG`VFo<;Wb*FSDN$Ax66GU8fsd)db&ZE8s66*<(zQ<;}b ze?{(^&M_&$pvjH5H+pq2wY*&0)uM)z-(V<2upUfy-S?ZJ@c}~{h<@2HxjY=51=h1D z8SC)np!P(#@+BG%h5!rXGwEIrH|~9urxyDzljmk`K+S^4Y;_r$+B{-Y(ZDr3FQ7)= zGR}{jGeLHlKT)Yo>Bi)Ve+3&Of-_k-e~eulY^|E8CqcX{Ec9n}jgU4?H+AlK6K^up zW}dfy3A(3O4mvS}SI5A>wZYV+q)F$Q`}fUA&mJK9>&KaN=?E`=0^O9~XJ&w{KYMMf zV^!}3FEqHAYuM6#cA*&;Jp!kUODa;smYSFb9R(qp1dMTuBey8er$pKo65m&g6IY4#$RCAxjO(xlMCGdBPlkB#KXOW_e?%w@9uP^hrl z9cnF)xgz~3h9&f0GiMx%8-0)@7a={PYZO;iPu5nYAWm4>IAb^pn5tuBgjNhwk;!vy zAXnj5`^~_@sqyQ7+VTePSw&b3f7lgTs~vN++f{7GEkS~T7$~SKaRH2RQR0YBBb8D( zbozf*5s1{SaxW)^4i;m-Rtsu1+F`a%TtD@M8+&{Wt9w0aWX#%k1naruQKQLP=9w1& z73pY}w^Z1$ktoDj=O)H~6=SlW*G-;W(P9HCP8M9g7boX6f0?bRWy?bG z*kEOC>6A^o2Te%=?$(7*rPg^_+uxGI+*t-r)@)iFxb^QzUyxKT{+BB2JW zV^t(qlqt=i=pF;ZJ+gy`xGQ0SBmTs!zP-H0&cedBR;44>KJ`^Ll}@1Zc41>8LQg?iF5`ua&Uq@qxMlTkd} z9AX*oz}%0k&y+%VS6x9k%!T=q}F$c~5*JCOj2)#q_fzZox63B3U&8PR4f6V#tG8)`H_b)+VHkE`S z71?w;l%lX+`yC@0I)C($ie?rdj%Iz^2XYj=_+%&w7#hK;YdHh+?yro@kNUWjya(dc z&T-YeaeX0*uZ9iPMAN@R)7i%WAE;5FEOu?KoQhiSSX#naGNlfIy8qxof999){>q{O zC{%r>Bo54Ae-pgSc=&MMRI*;Cy#avJupe9iWTs!aygnw&34jmg? zBz960vj1{ zk$u-FPFkkOOP|B>(WrZXQkGg}s}5SKH<&Nd*|4abp0QzEP12~&AIVEu*E4LS zxH^87f2R$aJm@or`3TL-)1Qut(lO9jd-Y5h7YuacBC!27Rwt|Z6hX+gyU3H_i@@nG z(gH!~3fr9O3NlFU?8}2nW3m0#p+}s{-G4XyYnr^ACUUo0d9{F{*L6-_7Gr zxd4}F((Rh}S#Ge9XWk)C$QlZBsH(?WC{f4X3uqfdeRRzHcEJqZNO36sLgOxB(@ zf2HUXx4UCnt3ymOZGVzv%Ko4x7kC8Ra|^6fGR0P!nX)BZL8Aj6Lc^h6X%HjZVFc@`cRIH09 ze_b!yabY_oJAd@C7*XnicOu?3DU{=IImH`>ok99K{tu?^(d!)>LAdnji@otZjllAe z*9%H-2Mv96adWBR&^Nvi_3;CcdaW;Ulk8VaNXk5T(1Sw&r!VyUv6IPaCjbyOA?Y1; z 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 >EasTpo$!DLU`|N%* z9Nw+d_hfoBOrDExOZah8j&0HJZXBF{@Gd;oeS8s)Me7^d&rU0=dsY6G$mQzWw^JeE zF3Q@?|Kuj{pTN>S5)PE9;R(@p8O1i6FM<^EwHorLfBqtR8~M)GpiS2h_nfih5>*OO zJQRN%4FBw4OwDu(uk4KUs)MHmsT;gKX_X6ZJTZUAp0;s)dHmLPzRsD;;HJoi<_{pe zi39_P1$dA4J3T6n`$X=}Y|S_y{m;@RfF#d!n+9##65499`{~LW2IZN9Sb4{*@yAOB z)iaie(s&HpbcB~!tPuqU!^20UosZXgWnX{W{olbA^fFBRr60u_GmsG7es`03n?6S2 zryi)MJ~u2v!x{KSIfG6yh&mPxPRt$Kc{KR>v*JV7$1)V&wV~-96)dx*s1<@M&Eu;( z2a7FlH3WhB!wdY2c0uh`X~6kk0kuu`=NiX z9s}JjnVte_h@izwJ{}2i)s$4{RPYZ`^$fqbzdEqIy!=*yl*gt+wjb?JhKc8m6za#_ zX7DpgN`s{zx)Y0u?^ItuJnRBE<>%N)MvB!zn|`lM$Lw?}90)+!9IDhicbEF^gclE} zcqDFmW2AVu9X>hTi0}dW-_i@he;j|5^o5t^7Uulm7gvt>ZPB3){XrDs!4e$+ZXIVz z$Gm`n=06e0KB)Rhgy>$Vk=@H<69ygVRjin=*2t(|||Ws&6{ z{q#P=3F`dqpAVftTpM4LaTUl;JLyx=jR7Ef`c|{jDm78_&VK;UQ^Ls{?iq(TcjW|b>$HDJG0;3*(b}b1>%m$?Y%1+rTS505_4=K@L|$qOHSmApk}4@d zi(dl^84a_CD>zobw1d0qbIkKtQcD5?JpZmA+l=qLPlzRV|Z>KY|z3Uv-H< zkD6_ItDR22T!V4W!{T?A%Le$1dsqk}iUG+Jb852JrHb$KS80E~e({_w4-lI&+>o^I zeXeNOE6t$zo>CZ2#Z^D@XqH^^7}+P)Jf2@uD_7X88n}@lho<#@A!OcWukB5EIz0Cr zp&nol<2`R=tgEZ5otavWM1fm4sj!@XKsxaC`J2fpb~L|$y?GbN(*Rmef1(GzfBwBU z1fl>#pymKc`rCgNFY~cJ8Ag?v*%JJ@wD7P!ax~GKCNh*}+QEWUw@)rv08p{+0A1EO zpYP4pId6~U5dk?;>-bW0Tk_jVC(cvPS^Kfgy}h||^Y|U1irY`r%`&nrzq|M>P}8!p z@tFj6xl_^~&8RkZLjOa9n5&Gi&&$6(gmm1y?<2d>())j}see%ER}%mdhmAa1`XYa4 zHtKt;Vq&Y~1s&w*Y}zte&|Pzh!2cMPFOEt8a0?ngx|aKQTfK(@A`*uENxStWo}3RE zREk#sE*jZgKM16&m?0)0e#ZA8pRavn1c7yCXmH{NeKi1@p zJiDvv@i%`s%J=7VZaJL;lpTd##S=tV@93-ud(P2Pmx+#v$)r}klW0HZ_~ZL|h57W^pg4c2>-Awfpr31OHi!0RYp5S(6Q0qy zUn=V9={ebC(W?gjm-)nDJA*40nzBo?+BQ-zjT-%>{2s~HL`s+$t%tu(f$Nj@?^va@?;w-#P#EvdCs*qDZgWcPvK2{=dYM0>^cDyOZMD zzFSRUou(NTs-)?->Ww8Z5NinZ3TH?eERkT0`QviFT$K_rInk;uSI)Wd@tC2>&V}6V z3gbcYWvm*z-SAK!#wggIt5Z9aV*z>s`cbd=hZF+C-nE>|9sP;C<0EIiRI~)?-0n9n)hd4< z#Rx7@kAg&qR))JwBbY2>P5@23fvJ?MytqdW`p)BJ*BVX^n?U#vE?ZGjN`?FCZn)9m zv{YX71;IPEzkfS7l~5e>x|g~bc@`N3z8s84n$JvGS34WdR?VAhaQ|W8T6cVs7SC=Z z`vAl$gKU@Pavm0j%|9wCF|_VE(AIzXD(CekGEOitZ*(R|)LC%qJM^m&hk`)=2SWA? z3Y*%ME)Uq4Yv~?8Ge>K};EBa5_nL;U|q;7E-$JH{BsLU>) zP{0T+G3p;%F#LA5>+Xcr`CcsN?7)MT9%@;CY3S+r@#sa0<>F|L(kc2$Z?%7E2Mu(M zeIn1jtKRk7i8AwcpxMRQW2GfzQWtF`2XqXKDm4ecbGMP4f-&RukwBZya4H}vomI3x zXEikZklPPQHD@E@G#ijRs+s@ZH=9QJ4DFxjH(K>$Az0JR)2rQ7s|KcV)p+4 zFj(9J*X0*ZPEI||TV2%2F1m{PK-(2}`>F^5hcotaV}))QdL(NS>sYZecev2x9dqht zTz}8MErG{YO0YkiN_uAJ=)ct#36CWh?ClWl5;itU(-eoT_+U;G6B1qyJ4>*aD&oD= zk`n@93k?}7d%k`>DV~2Ry=h|R3V8j)J&9szKcuV8dxEVPJwwY~hdftTXS>szmghQ7 z`X&k;Xjw|inXIe%0>lnSE1lg}=*|8l#cx-ojwfeoU!?wDBcA5YeBjH7{eUF)sosu~ z@(XiTN|9`>DXL_~5DHaqp`JPVM=yx3z?Uy5d*z99SY4kgD#m}G$H&)I7E4RiqNQO? zE*=~dxkVyWe%;|R}Zn2mNXl>{Q5)#9XL8R5U5rT$-yMg^^3d{iY5lH36; zKOZ5A0YA;hZ0Q|(k}MKr2)-O|jZ`%N955JiHKu0y>LKTgCXrHFie_`5lW1>me^RRn zz+wC@bq$;Vr^A0i=vB@rKy+JFR$C+4aqB!?ekSC{WhhS>BgpSy>`NHVR@>s(%M1J! zCr_kMs3@&~lzh>KvCYTlpLo+t@n-iN5(B=>?uhn{pd`CihhWe?d(I7z(=WfeBU1R)>mWm>*Q{f{eP5#S(GwW^)v z;jdE@bt^bjBB2N|cMi`Re$++Cnmw1C>dz`WpgI|Ojct0|*?J=NMY$`LT^wpLw`q<7 z=nBPdVj?1X&J&s#xN*sc5`CSQbW~rzZ`vbf84Q2of82XU8{AlE*aCD?m zPPKpM2!jA9jQa)kicmi?k1J~n$|?OH0;#6_ne%g+9N z1W0UpM)*h-WvfJ(;$VFdp>?qw>kRo}*(fo%LE#@)`f~*j+)7?!$cx-_zb3f);lhOW zLp2u&xrC>5;RVp?NTD_9W-XZ_DR7|f@9%&2^UghlA7(oAlefOKd&f=f3W&5fWI$Tb zQX4&ZD=DFWnisChBke5Fruias;T4kXw(}yzK#vFew z0bOI6g-=lc7r_~qIQ;(Ry$vf3G5_nd1In{>@4rm*>tzg}KUwd}Usu^aD6Xv=Lg~=g zONOHWdF-H~)n09Wcc3)IM45Ed{eIZ(ZVja_QyrT3mwB#-rB8Lbs)s3qrG9Lrhm`6t z7VXk7->0PPT87rQJpyle9)@?m{S<$N`L_`KE8cIS0ki=mrt?B&e2k|Q#n4-Jh8`#& z?SpVZtkPLP(=gJDMqn=fCG(A@A~Sy&_#{t37UD0zN^vQ|+TAMk5HaSoQUfhZcT%ZL zbyO4-Lc;&XTsc7(0x>uSXSbB#s`_6fv~vV}N;X;jzmxP2Z?4?AKzN8eE7pI-DGGzf zb6G}@`g~$%aXpC_NQef%rp!3lpTHf&ib57m+q%e0W3y)b`uXPae1G13Z>9<$>PG@D z4uB+?2BdwhV~M(!u(0s=@85CkL*rZLJdm+S6yq8Bh@*vdK>pVxh%|rDDdhBtr~=4Pso2;>SxpVE1`KHasf(5a@tM0&NwavT z#2ca)7f%Y@zi&4+H8C`ZYG#}bSHpL*L!p)TSgHMH!0!8;0n6<@RWb1hQC){E#ZxLHin1gIZLF6C-Icw2Q zyPG0&0hNbaS^Y-FEFF2lkMiIfr4Wl~6tk|);VeLkZ;}WQIcfUO#6_lyhja-5XrD9s zrA$Y{N*y<}@U^P2AJL5B{$C5*v0Zl{c zhl^)&wc}1l7LyvUNK*BQ4g$&^Z8=nRHB{!}rA{NHWh4nu_RXWIuDhmB7Re{WLl5)B z61Zq|Oea^1>&@4wdEG;Ja>6dX--(u}XWpO0kHcl=KSo6vw*h}WDq3w&aeEE^bYD`? zdvLauwj|}hQePg%W|u7`lHT~KF3ZNOT0+9z-Mtzv@rYJv1;A@$B&3cAYbfzO!HN%62=w3@_ayWuMMV)e|b=0F)K9)^|xQ|jX&?CPTpvncR3E4 zO#vk3XWFy~YPo;h0~l2_a8-`c4ei2{gxFHlrf~#on&5x>T(Mp}m5owK0chBFA7I$MP+| zv%ZACMPN`aTo}oI`3AQ+RoHhZ-CR!vpn{RLKx(<9lhc3Gs_9Es=Yco!ib7a*uHWqJ zhsS87VV`iFk~Wkh$NE1u|Kp=#ADl!Cpw_Yfs12$e}r}^WJ=U zV3Ayjm>3I_(=Ce_l{z^lO4+cl)h_AmbPQRY|)(q zvY6{HmJD3A{c98m0cXWFD;29Zqx{XNgc`Y@kf0ChbUuuaeR4Cx7i^Xe38z{Mjnzbu z0?~&M^RBJQ5cX{Bs!EnD(GkWA0p!kUK4pKiH}e!Pgd6CQ0d$=FHqo(ol3ID4;~Omu zpy$Nok22G7PRqGkm&+r^<23`zlLJ8FZo032fJ6=5dtyF3Fv=;S0m!P)mMS%NdB1EE z2^s~R;@clj-Txy8dPSntRNqzo$ozJfgEjX{g~>NfRSr}=mAe9Sv!B& zd>bUIoM8Y=K(oJLDq)97`#t}` zJI5T3d)#xM=XIUS@BE$Db&U>CukPtKYEPE`6ZFsf@zB3PAklkpSlyU3^Q`)YKKiaY z#GJ70qzH04(^1tpmb-C_eY3xLWK>I{Xp$z<7uBAo69ag{3?K?OZrrd`4Q?A4uy=od z4LDbMb2B2ZVzmeGrv($$q+K|h48J~(3I2I1G7UDC&Y|&A+DF12XY_DM=ANzHTu<@l zb%jrTVek}fPK*}Y`L?2FDvCdvB|%R444uoDz}?yRTWKQEv(-|o^8>pD*jc$aoQa*{ zuo%_j-S_#HrZXZho`3o{>?d4tubMP}tW;)uS=)<|TM4>6^46euy06rkDsdeMOV6dR z&qT`H<{nKXxsQK)B_LC=#T_qT>Lym^F!Z=)EiK`;gu$bhPuA_#Hnz4`^8M9At*aiN z1enG5W<+1f5JHnR=`#3H6y&`9Kd?_+CD4X0zJI{olf+T>5%&7Z0uIpCM@dtEP?3AF z)x|>=pHDWH*w!R{jDv1&AlAuiW`6!>0v=$~E%HU-Ncm1UM?vrX`tT{HM8b}!`+(1f z;SaCd7Mgj=Et?s)VeA(c^xg5Bo2q$l%iQNT8CBuQ+MJL#Yt^<37(2Q@)*%6J{%U1` z|57({V#z|9`(bywtzK2+e0wB+8gfGslqG6;Eo?Cl@iMskUMd_2Azn z$ZK<#0slRhpKgj582IQq1E9TtNx8@Fjt|vv<@T!K^$Ao^P{A%gr6fCuF?~tmE0tmSSPSZMUS0q9prU@W_Gnt?6OIw*p z^Z6jiP&yp8nmGN&RTPsu;Z)@G{NIc zuzdLt9a1tf&O2EaiNlogaKHCJ&6)nd%E}r(JtinDoWk=sI2uoSjO7YA`afijxOoa_ ze>pZ0MH|LasK)>r&o!xkFn~aW`j(Sb9GfZ;b(mong(l$_9D#5fk>Hp_ec5WR`yn7R zx0y4PBG+%PveEgkHZ1bIV90YC`W&bf!8$e5+N#-_v8wa;9{VP8@MvF==M?*?9zwx) zE^3VrM3DzHWDxll6Y*~m$bLq5^(?P9?~iv^XBBsYf9h$^o|Nc+E0-WF-h#TYK4pnN zFKR-~zk#}cMlmu#ny!TJ3^1M!P(7cnq-z$qx;c~g#L1eR8%4v`Ip^baoBy!xVktU> z48mH>T~3I7p<;|*k}Ej_P~7FAHu(=yNwkUt2u_E8#@9~D>*(u~7#cNQtw-hxE1n%iRHF+c^-dJ$5|xq#k0^X`6Q)E| zxMMBDva~EADWILNP@7MR0 zzmL|^mFSV&K5s!OzY}KqIj?-Nk+9~`-P+pvlx0+Z3j(pJS$kAtWOr*0G9p@!wd7_# ztc1AQ5KFt{A~W(-&eKpmB?zgLeftJFv7ge8l1|LFYjC`nej69EmYnXqqMPFu;-UF1 zL8$s`pzB=E)dBTkj7qTYAP$FHr^}$Wto^!d(|q=BFQfBb@jbe#!VC6f6P#H`&EAIr zN*elqg?{=|f?P~09^Fn^vikP2`IXE-GlFAErS@TAfKjp^eKjScvM4PNL*b>mXChW@ zN-2_nu30#B|NG1eL4C#5U1MK70p+Ow0J6g{z8#ib*4Bt89-)_%xj-CyrxpaepZq_6u+(GAAM{H8H478#Os|6J{g9bB$+RN zzu!&;V0)*B&(BA!iqduHJN zgk1;X-UEmIt=7nW{?qy_N!ZN=U>SNo_aG1px2!8L$fJc}g|Hr=g!I`8o;(jzHV4>* zUapbQrjVEzz;2}6Q@^@AMNXn4o@WSuLFSjq(+-bVvxz~+1wsf>eW>V8)13;ND|fyu z$@aitGmhTH2CC_+`O-pex} zG)VeZj~>|Wo2G}&CjpW zuu2JTE_CRbRxGth;@ko!FOY}ifWluH_e5&I+munz{}Rn*PA)`sR_)aS{lmt0oS4}B zsUWpPu?M1+e!ITnG(mM$A>XD(VBCU&g1;B)*#=6T>r3jJHW@DlqWmCj%AlyW3n|rc z!u*4Gj->4V$-5Zz6`M$7JzHCU@&}H#AFHm+eQ+3piqpu&@tAo%dgO-ddvJdHU8%#+ z=e9JJe(@qzE@haxn)B?7(C1y_WoP%w5|QlSv)6b|5mp-F(3y0jS8wEnx;B5{#B{L^ z!_aR=cw%&tjh`(ftZ*z+CVx>tDZ_q$a9iOmO>@rN zojHtS>$tZ!0ou+8hs7DZ?kYKD2vs$N&rH1AGM9iEn{B^*$tqrEyL?|VRp0X4%L>2U z9iXsv;~XbilH^d-D=RCmuCCoo9FtN2nlZ{U!chQ~^jCpx z8Vr)gqL=xV9c{@&p1(bR6?u9CA~9&V6N_$b=8ssfUO&gHYgFP;20<++h7#_7O|!aAfebwd%8ncSC4G&az2+b5lD2oql(r zRarOZy*zF3D^tU}F+lUjEal-)fKX@Q0jC%7uGFE8X1Zcd9Wpt8kq-=lQp~=)lzZeW zhcc5#?)HE!XBu*APSlX$epML4NmQ77p-xAd<8eC5)#-LzEqGa0{~_4ShAs>w;~VguJgL&YW~oGiegwMn{5 zoioZ>&A(@X%oyc=zCP3EQPwY%I~>Lrb0?(;opK2>As?V9@~TFYmKabx8h-z`V@UHU zP-iBp@1twBmfNQ{Hy)4D_KdQ>X&=AYCM^N9%Zm4dlbf~gE5y)3{wdg7jtUcmHtrKA zWJC-6QSH}C%LvFUE{*p?MDyps)5Xt*0bV*~T60g4MZ5!lN;0ex&p)*TbRP2vA!V0$ z$OME}Xkr-Z5cCjFKMsP}bzdi&z-L)sfiH77l7}#6pO2Fs)AaMJd;~RVNs^qvH9@7P zQEa}MhPdv+`sSBX5_f=>URf)##1_`ON2QN)Y9nY0rSV(g_i;7KF|<~s7!bpS3ngxI zJ^f|wTn37N&ip3jlc%2oZS~^vRD1ji)&%hj)7A|#D;J+PI&}oVB3Zpo90&4?8!SPl z30JsV1g@CSdLa)CQ3+WW@03R9^Fa%g)YORH_jVp0>mwnA_!+?ZShc*+q$%}WvMfg> zcrWnkoZE`9c%wOFQ`ahn-4nKIR!3CnZdvMMCCUHd2R5 z-u?kaW_Yl)lX@ijY5RKJf^zVbZF^8pMw?)!{7`G&dyA$xpt^?GO8IWxc?@Ze;x?5u z>&NH!Okv#=koX*bssBCw*80{Yu zK!LO#boRmntLW=9(ClDKpQ!SHe&&d&K!M9rj76q_5-@x9{Q%w z9U65b4-VZD173TTx>tQ~nnK1=-eI82;FC6?F66C~rpH!33aPxV$*3q0qE4sRD>kTq za2yGOH@vx>9qO|nc5tBffOcBUzncSShiD8sv-|PnbHmr^uy|S#sebpq^Fkw2iPQ+U z^N#Vo8$iu+pa1pNeyy~76na#I=9QvJ!M%}$Flv_M@pI=;OaU0tb7!>AO{DQ6-Uib1 zu&K0JbS_P-^x%*y5yUYkSchcy;_3%~+P`LqAzfSBpVU7cu<+9mfg9h&Nd^jyge~vm z?NPzv$$@tBF7`$J8GYa&i(Z+>)y(=TB?{ZD^?M!mz zA^G0h6n!G9g@m2)VO_C~f3dQr=y=?;?AM!K>>blLo*U#po&}i&MOjVBak72+Dcs(8 zJb1jqX#>BRp~iAhIgSwMThOzGh}S~sUa*{4o@*EG!r-(gy~IS z)xRt<48fh(CMBZGQHC8uTPuZ+Z|MEm%_C3>ffPsw*h7LMPtctcqAC@d^kbp$^A$0D zCu~7aNK)AUJCk$A$jhF8xSGQudB}u1bj@UCTf%B1E3W`5;p)RUI}ScE)2^}t`dhDT z{%s0QHs^4)qlAs2xCc6yTEZR%H8nL~)QmPK$!e;ReIY)sAZf;WqZpweHou zj5!s4oRDPfv+#i;^jVX9h@@M@71O+TS;zkWfIp!mL@v}mGQDhnw3@;>cYU{c>uwBM zF!{gA6YwAIO8`{9;ZJ&?_fsgRR>FEn@Qgz#gEsk5V;*4lsqoKxMP6{Btv(y`nm1kC zIM>`M`RKU+k$nZ+TC*Yx;%cH`{x^BL5c9gH3^o^6k>xdiz|{e6R<(vA`2j;#$%B@QK%2ZeTzeXLqH3f*qH=SZmvAYw-7b?P?bD;i$;Xj)*-V&31a~o%lY!9@I<&ldRZCXbZ5-83q@Pi`PR^W z06Rx`)O%xp(Vv8jFoOZV-R%^GCw)3?!cXW0;tE`~l^I}m4pVKM1hq+$?(c28hto+( zIUz2G>~qwN$V0zwayar!r&EVcB_1snw9tQW`UqyHKS9z$Pl16y5VgFmEgBt%~te!)Kpt{ z@$=c&71NIek}$vf-3Pvq+wRO{+vjY<@74FyS|h0kkg zXUHmla#=*1^uX(Fk{95x5?CPO%{UuZohRh9fhkN4d^?B_9K}DDm6wK0d(qym%#24C zHO)CD%}znWeTGz$m2ETf=7c{qwa2S_Pcm2^4{y-!E`T-!##nhL?)2RW(`+LBu}R;l%Jyi!rq8<2kn zyGbp2p5NV>cZ>6X z{Ch%$YbpWX=TM>ltwn2LDeVlK*2~TE_L#)H0*gTO=@6eW+Zd5fe$jnJzHh{Zru1## zU-q@V*Id6$)OU6wh`wQp`g3ksY8TbFv&Dcvma1uF5}ce79_cWjDF|K2_0c{&He6aT z{O2(P4Avzom?h;I{r*g9ct>42aCzx}KSSpU_PXY`HNsXLeop@B?PMQ%EJ0T4RlzTN z{$hf|UL!p}2CRpJj?3MrUNSYc9a7;6X_&j!sMOf$A_+);dY$5T^i@RF{v>W);NfNo z9W46|3?dvB?0KW>LgMJ&r;|LQtx|x1z(JLHTY!{+EUVdq=et-=SI6?|&3=@BTwE*o z4LDEr>(Gn^pu-WPbyXwgB+s1c-U z{p5e7I!QEuZ(YQWd~!LqP-d)CdGk`Z_zDn$Jh!dJmCnem*ClSYg#?_<2}Lf}%j{_G z#12*ygg1mc|9Xj#GFaUU-+CT@<|WfTAB4cD?$(K3#!^(p|LVR4{aovk9rpMcC3TJa z8BX&qk)?Ejq?*XkUUH7JUW%|XDW9pDn-rbc-*W{8ynhisLRciPspRZs2=9rdfqBN% z-8~c6&?Siodw*=LIlCc1m_-e1yEQC_R%<^)D1ZLEg3rZfo}Y=-b$~#BY;ta{8vD5N zNjAl+Gh=qP1BwN^H98yBWPWU5u`i*fey>#(I`N;88BnJJl)Q;SBtCuD+e!DCBP zizW)Nq?WEhkc_$!$2USOg#?%k8tCTGHYzkVs;%gq!Y)$>fj|=A%vJLtUPDufFTp=% zLo@>kb9)>rE_x2e)xEHPXBe*h9Php1FT}>~#m+3`<=04=3XXrlp8ZSodnh^avM4r- z9o%74{NaOpZRj~BG25;Ji>6hHMd%K1NE9bi$^3(`bvpOiE`Mp_!{$+(nCxs7GavFz zcXL^>=&&(9oXH}3CRh?KLHtUM;4=_=)pi`8VP9q?!{T|*)UrH(+q06x;hoe(?96}0 zOgPr|@Mo?o$F@{Muk%W*&33TlA{!ArK~^A$dCQCI630>%%()79-RG5KTx(c751v=X z^nkHBeh`?@Z8dixJgiCYfQcvWT2McWi8BGaJr*^_j5!eBOBOW_Ok!zPn+U zZ)pBUWvkqNWvKs7O+Ga}efhnF68|WzrE*mbN6U@H8Y-NB^UmA8-O@r0{A+5z_w#Hc zUff%2^z$!VX=L{vY*@yyfI#*!??TA>+;VHS)o~ABZ3}pjFtzhXddMS@v%kfIGLfRO zsLEV1hQXJPGW!!#rSAcQ0oOWkxIgj8v7Z=^qP>2rk?tnQjCvZa!0OvwwqTX9GneOE z*wFm0p@40FKXB6N90)!_bV<{N%`5Q9gOjPYkt3f5oGJ&++P(2;t=$W6|ea`*Z}Ieb$+Qnxq0vR4geZr$z? z@?5VSY>koDqb^tw@DiVXNQ|s0!9h@g58h4OQmLQ<7%CYTn4r>d@wd20wx6_%p@~&I zt!KP{?d}tQ4mx7sxB!hGvtKPlK5W=(gHwLsAh}pbjiBC1sj?WC`p?bb9YvCz0;Cb+ zvFKf=&0Xt=D~B|;xg?a7R5kic_$*X}*>V_S@vRw%pxPLg1b)&eEO&C)B&s`sNHHWR zOOT>Tf_iwCX1)h*SJYco_G9BL89x}CMnW}z28T781#YhD?s(sahVtnqL>8>d5x?>m zKalGkVclFQ3qJZFt+ylTomI+v_5d7Muwy&F`@OQ#sJy-z@!jPhcmxK4j-Tm#%EI=; zS3BQcrfU2X2U`|^rOc&w?gZ+qqODE4zVE3&l{aXl(wWJ-Y#BGUTQJ?)PFGx+Z z{=FYJQ_6`D`8#E9Z_iZ42haB1U|kQElp?#jN)EbFLDWw;9`ifRq+t{1QDxnrlxrR+0Gk(S|s1; z+%c>~=!=3Ha>{3R*dVSAFc!$IT{y!70HZK7@$PVHKM2%e$OWI`A5v*&LO20*JF8Rt-mTS5#CibVxmCw^x34K|IM!sjs!? zCNW&aqItlYKDTd@Z^2-Ccb1+uOI0MqLM08mQ<1QY-W2nYa*YFbwS00000000000000T z0001KZDD6+b1!3UEn{e9b98QXbS-URd1Pf{E^uyVRx&n$w zQ;KvD5fEvLNG~cNB2of@KxhgABE3oPNRcKY5C{;J-g`}`p@kAk==H2v=5^k2X1?z` z*FO6_dwVgt#u%QgXRUkv@85r|dp+KFl;y~d(jMKnZy%Zbt(&U*_8pia{&(az@XnXd z()s)LJ>MsPQ%cQVe>RqX#9qyKvpmEpBeYfLw;SmvGcI!^{Km}v-~@EPl-j#XH=blB zFdu8D4!SJ$R`9L+xsojYyCR2AuwM*qrFy@wUGdVx-P{eAm_2*_#}Q*!cp~{)YzBJt zP09&P4$U;%-CHmDu6}xP?uZ-l=T@Q0bBBFWCk_&S0%xgTiMoA%`11LS<{~rF$ykXJ}|>PMmoEtdEyq5fBm_d_ykcs-dTY zmu0GjY-92fw_cGGFmU6QPstfXmZvjwt1ByCdU%XC$0F_K`mxo1Ti5`}M#6_s?SiLg zxU`omC?sR}Oq#uaDcKs4;{F;{WqL?Es8xww$NdgHx$CmBezfCa_{)1+LwkqG=@Di< z+yrte(6;r5Ut9I+ZI*5^FEcZ< zY)D|f*2!Y9G%_j*j;$sm_#;oAS{ojI@V3+K(6N}Bx-S)f6&2#tYYd`x_VzG{0L#SP zgHq2JzV<@!3cav3t45A)US3|Ba;!C@r2WD$0)mZ^`|!rF#^1rBZ0!mwUf5=08?M~w`hH%2|-0sQmSA*i(J#N}`q$*7?C>OizYz}{RR|w~3 zprzIRU{nWx8+2gf;%e$uV1Ym&L(Xe@ezXE#zI=J~=+Wb*sJAdOdZ9a#CP~tK3^cE^ z1bwGWs~d7ryPIutOidwd6p_%4rSS~q0D_!xcaGjxuVKJ=ZIJs#LGym--tJB{x3gl& zPJ&239Su!ixwE5Sbyk)0L}MhBbh0JB#~oc{ndZ)asr7;NlRTy+PJFAH&Qk52n)k#c z7`nU3vPjr`H?lj|VBV>$y01H1XYBRz30Bh1nZ2qzyC!R!GK+X&5d~~E^Ss;*1$*Yg@k~&bzeBt((k0) z3IhFqp%f#u_?d+1`0?WyB#dWnbHt0O+MhvzU|>Ju0eX4LGPQ&n24@*y6x&{?z}5up ztz!d*oCr-Kw$oF37a;~^a9b;@E0H@}^C-zDtqEX!CmO;7CZ@_ZBf2s*_G%<|ubQ@} zXy`k5=&#P9HRi|LMqL(1s}>d(OgmC>pY_Xs;8oSt)B4gF*lh3JRK>`mA(yQX6^Xg#l?k$fgkUS33PPG{QiTCXoWl=Doc=F zDm1V$Me<_m3+~*qT^Y613G}x~W^|RBTlbvQv+k@&2d{f}^Mgt@x19V=2Ak4q64BVRngXk{9- zE8Vzr=fr@4wD7ms}wZ9%FS9{A>s zEYer7UB5(s$#!R{FrYp#q2nA5VG5dmUhlfMWe~*&ow~EL5RCI?I4CvyJ$kERgdlE4 zi*LjAdFQR_7e*>f{R#Kz(^TS9Pf9m|QB==*GW%97L)C**%hE(0Bky49INh1iY@LPW z#DmFm^ns+5W$*ikpWP0v6iQ5h{`V_0toBVjS)y@OHpcMPR{L9pFjc5urbaG*d98h~ zr-56uADy7f)|_BTO~Q7B$)N&2vbZnMHk8VP{E@)OF<+zJJ!j~bY-R$6|a;~uSxE%W5M)!8_t@WtzDq~ z{=tif3(ceD#tl^c*Wygua9x>y)MWbQPJNJ>2$SZRtEP;HbK!e(4PcD?-j2GuF$8^+3*)28H=dnZ+uhlJA`x;H4r{b; ziV`SuTr1z(-7+l&Q)RPmp7Rxwz#^!Pxo07M(DLk|2B#ic-5TIeoHZgL`3Gx_XsBNa>=Bn2qClBUneG~j{0#NT@ zcA%MkrC9a#WL|Llr0X+($-I%LV7%7WkFXcU$HNWms9=-F>8|4nieIjWGF#2{dU;pw)j`7^&97z zK!=2&_aqsJImbR&+KW8sy?T~r+eXGI@f_CxC_*JhC`i_2 zeS~Bu__P?%W={m2!L_c9r3N0;p87BjhN3O&r$Njzz6Jw89VC}{(jF^eIyySMj??g( zwzKZELrEzl))N-boiGLy=wlCJ@Bj&UtHMq)oF(p+W0A$cjT<*kQBoFs9&+8=X-3&l zN}X{0Hgh%Wm&O}^K(Zi=H}vG2w6Nbx1u9m$KI)U0nCO{R)Ua+F*dnnh4)>uf%_Y$N@6Rx+pAM zY%|&X_I4PvK})RYT5^B{QEX`?7t26wB}lo0tONR?Hs5lK=>e}kQGEP;_bOGvFQoe% zgyAv8%?8SU7d*_nv$WLIPS3sFa~|=ap2941hag0G<4hCp`GLgX>+3WTX|nG6ypC>E zxn~z-mD3#RzVHm^hBsWzJu|h4lkYV1mRAsV3h%1 zR{9+m-jWkPXizgt^#NSe<#bNZpgWH(@x67C$3=l;l?;o?R%NSBrR$w50u-w0o%jf_^Zu^pMZW)QeH1WL!+eVA?bj0?Iz~{u*RY|~m&vOm! zj`dxC$DEWr+G95VIb4MJK_`a4Y~mW{@GNu$fOandeHUmep7PaMcbL~ zxxV}~hfdoV$&WOAkH_jlYQ)?DM5WFBtty*aCzqd<=pWH4>R zTU)zEx$N@&3{i*r7%)Ak{oXaEX~|{%{QcZ{%olo%QQ+l*ddflMtOj_=I{m##V<3m6 z%u4Po-^*0b_9UZw>?`WH(UvS1&2JiiEND3hU{WnhbFqO3r6?~?YIPfM@e|q|mUf`) zH$0AdczB3!P9*~vgGqEo379d$rxL*|0&z@HGo2YB5fSM% z4nU)|N}#y=nd)UL-8!+Nuxr&TT3lKmQUJ@Sse$R*6fH>S$fgpfTWSxXbzSX$Gm#5m zG}jb}b;^I-A3M0#7?HiHV6_y!f~+Nv1ld+#5Ae24g=8FXs) zg8}hH)#z*N&j$iT69?G$aj}ZpAe8-{tmMSVdM2W#s!DvN^Pc1CtgzGi6(ux~RDcb& z0j4)pRoihLX+XqbQQaVKr>CdqmTx{CDtBfr0IV$PxS9n?mt%Aoi?%F(Pt*&L+_j(U zFR=B=N8|z@(i|g9LQda{a&-md^7=Hp_2Q^ZS;Oflt&dOcig*F=y$UoioX4OWtBo-< zGz3{lo~;|?_}~i)`Y4xJJ97-;>ZMChI@9m+D<6%Mblp|--U8VD06xkt@Gv^mREh|?M9KhpTkQyzSwMUq%G(Y$g69! z`i_O?YF3$O-~7io=A`-_$1myO7zE^_lxy{&V^pjwo!Dk_Z7|V)KsIT?DNT@`{$OI= zp(44XhAOq2qm|zV$;+})H~+EU;0oY^_J+<*HLn?-wA8e;kf07FHwQV{{*R^|nHoH0 zN|tOg-DqtL=+$?CTYoD{5#8T!(e>`kfXfu59?aVac1RjBw6^w^3(G^eT6Gwr!)tb1 z@Bo)iA%FSZ>jWf!6!&O02_4;I;5uM$`qDxeOp^12OUHW50;XDr`*XN@LR|O*kRCj? z8mCdYBC+V?0C7WK-_3Im(Sp<-6q4JY*zP=u(PtEgtD#bV#I|Ph8APC09`6DYfja^3 zw7k@tXXuZ5y#-u@zQcIf2jhld=E=rLzAIO*oIgL({dw0l{i>K4vHN;>>Ygw;&R#9c zt{SkvISImJ*}B4$?4uq4Qz`euI7t2aB9`w0K4liVc0=&m@K z(0BtEH@Z~@c^xG4PEQ9lyl51O`2?beb64`!tYyaTv_tqD^E8oZv)1HQEyt8vf-lzEmJe;M4(e(x&?=XkWer>p>s>xNzM+3 z7QL%~wyLmG>5nqTnYflOO!zp3JFct3JgQLn1p0p#B26Q8G9W~Hp1XH^PP6mEm#3Iw zRZ|sdPC-fX%~>o_J9gvsVWx(_-SdB5H}(hWKu$(x>!Nm1L`6mLjixIVmYVHk*OclzCm-uoa~ zpkE_Tmb4EK4_{Dt)4EDrkzr!8oVC7y-@Z$OEoO+C-+rbDY{E(dxbSoQ3ExHKSdjsB z4A*Yuj*6M&+DuhZ|B@c;C6BFOtKY5{Wg3pC#guHki(HY4=hc6G+oy;Ld6oF0{<`sh z9Uv2A1E)@*ubR%D)4&m}tlgY<`R>7`Iobu&wLvW2-rfOXOSOa+NfmdHbAXSJ0k)k7 zwQY@SzaY+a`SP^n-bTRUcqd4%k>ul6TzG)OY!rhi*S+p+ow_O(W@ZFpW^KBr+fOly zKjTST5|n9F7PAt55668$Sa<{QJolY{gzJN)4lDd6{3U@}`H$Oj02berm9>WKjr#CZ z2QaC~Nx+vcb+sj~;s+G4DOlE>&aIhT6c8iiDcEMZ^o<)+erk!Rn0GDpLFe&6-(s$r zYpbfBD(DEpbtEs2H-vZ0eJ*t%kTZzf>}noLwFUZWaZ3leJrSl5F1uXbn(Q%uvDWOj z!LPCK7Vp_@UXqfUS~%ZJcu{XF5xG4%|MoJKo`*`lzvdr0?-xj;#m@Vcu(&%?ITc0R5*V7VX#u z!cMP&oZl`kZEtT61e%IVTkV5?kvumZdhra0IzL&QgmaWrxMGhVpmG-mBPjIau5BPN zSa10R{jXQ+rrbKoiybU;ymyFtZN7ZVzYwQ>bMH+Z=#wc@BeZ~7cZ!s=Oity%$ZC(& zMOM~UhGWi808;S!&(_)pdRttv9%sm|Ur>~_e3?J_LWb=Cy8z{j0wHK`_R!^1E+W&q#P8-Ay>pN)C ztM8_9pyl^l=aB?&pNsxPhW>xi_?RDVCo1U00TT6W?Jlv+o|Ke-l!FHk&h{7h6!zpA zsGy04Nu}i14P5j2Xx76$tiCkaG6X1-I8ViJ>bvXMfOyy4K5*H_*IPi&RN^I^2@^^L z)}lx;2kWrQ_pK)y<<}^{M4^*#LO95(SA-8Sc+c-D->zTm?Cdm0pEB!)M}hg#`xi(8 zW(p@1Qeh`Eos`jk6R-^>1aRP}oAneh_KS0NPX2WE1&$w_WVEhlaWu$$?V16e8>55i zcauA4&cF5d@!`0e^wL39Hb)Qnn9=(7<0|oEkwEeM>4j63W8n+KpF#F@0lok@Mn0AL zr|U~LDl^ygz|0k~o4%iMd!X*#M2sk`{E3>eM3cy0X&GpLwwWI0y&lB8WtHQetp04z z;wVbQ09_`q)5C{C(bl9DyJ;Xl*Pk(_%H!tvshL??eAsc=kh7e{4zNW+77j#Q0q%y9 zis~8*OLIWI@7b$KRwG}4xJ~!wVTn1C6MrvN(c91OE$n{!o%83)tv9VwK~z}JC$iaU$%CXiZenKhVRjLoSW{-oRGJu2#

    @YVI7yT}%4g%x@iAU7J!7fAf?Hf)l>#^E@AYfaCeYV^V9jk2s7`zEUx@-%N zOlj~$w8V-QY34oJ)LTYv5GLb=ZBilEx$z*8(hEF2?Z+hHWdG$Q>Fo@2bRkY!*sIyk z;;=uX_|w54$QkHf>%04zU?g*Ni$B~+yb-zcP|U!^;z-NgrOlO@7J>N(zKv03RvWMH zJEh8h{1xGVZ1n~SCexRya-I&=0D2d!wVH zgZ5Z5LVAT1jGUNXU|~E4amvwn`eiat7VPDJsnuZswVUH|OwKnMEoWC)oi>US*PXj? zTmcfRzE^pt-4B+?P4aO)`kV2=RFQ2pL!Vfg_q>^rmyD_z_>!sjaPc*-hvpAp<+)Lh zPLOhU|GE{jwK{iA^J^L_YPCGfqlMI!wX%Y?gO_^fo4% z-?Tl?P)^)SIYGDB8Z^Bx-voEWz-iF~+nvnoy1nQ%xUyKoG_-h^hC>pfL1Uo5VKvJC zb;6F`yjWfu%>Fn1*Ij~mh#dKuet(vsuCFrG-i+&!!VjV1b;Yh+3C!w;utDM_U0v+$ z*Oze}A;H0ikDndh9`9tomkOkR#g|Dk&Tg(R-)q8`QM?~|-2^f}fP{IUx^T_B|0df) zJx4Bp(Lr?#aH==f4$ui&hykPUhD!&8{?Rj+m(i9eVGC#B6%T6t-XhDPa03^ulv_bS zymU}A6%>+L2B=*Fawu|Pd@}A&XqoHt9WDQg&>zXvYf}q8(@4qIb0O4!zg1v?8%(v` zAUIA|J4O9UrRHLG4=Az@2|Vr8EVa)Y9M{LN1JlW&`TiUYA47`ePRD$Qu3f(T&Veui z)kuKhP=X0tUcVhW+6obWf#GA`yh$bQWxhA63$B*Z_25B?wwKAFlI2wHoE(VldB;%0 zhT-~~0i_}i=$GwWK`(55XwcXD`d9j!2+${{dXq=+VYXwxrVOWxCt%?1Yo32(622D* zfH3c`{wEX6|9brDd!D#faMHbqcsUo3pWfd`#MJ+j-`;KXrQutD8mlv8ToGbtXWzen zKk(bU^HvO#MPN?G6}H4nTE;<(05FgZ1HiTyC6c|yw}Ek-06MX_xOnyI)x^ZaDj#ag z_LRCP0kg)CnBO2U8K*Uvs;YllYN`eLjb?s#htrn<<^~zv+<_~ZRl{Rl-qbBI$ts2; z9LXC8*B0#7j5d;gczu33xxZ7_@0jO#p3VRD>vx)YqoY+mK&OD=6$N4gWF}%#_|T|} zj&>0)_|2Q{ynDH~?@ueo@lIlj2{Or-38vk7s+BAKWQ2bIZHq4-WMXTCN_p_=+?VgY z`Y$YV!{|~W*y^^nws0N;JH}3J#lr>wZs>)rPxI(+uk;vyprE+mL9 zSyP-gmhw$nu2swDnrbA=`T;X$_~;Svswp)E9z5UHs!yIgdHPS}tKNF$OB`HOh<|ge?%w<|U3HpP&FzytW-3;6_ak) z0J7470|&e)m@Ec^PA(1G&U6Ry=jtH~Z+ILX!^1IJm~d{r+x2mQfq|i+H)rPofTzgi^psL;q10d<2UdB z2=K02hnE8nrEAUBDT;U5H0}Rry8OnIj4rr_jg5_hhWBOjMx{4pHJv40`8MW69JWQl zKF5K?(5QRXqd_BU6!1~rtC<2ep;Asf6;Hj*->&NXpt=F#>I1KKuqA=~jf@XfkjIR< z2?X4K-?hHNtJ%g4Z#*43g1)Z464~zKrrEK05!-i+Lq(QMWnxyt&snfeweu>mA~I;n zy=@ySs|CR!C&SVU`J>8c91gd6VZdGtI3@TN04HIai5Nl4I2YXIzoNVUPV4E{_)ox) z#xvd77M0E`(_JewJpr#@1B%qJw-;(EwH|+ejm;g6<1r`)KtyXvBWR)f(-JB8d?pA! ze;ulF=Pf&N7d%E7Ui`4)@Xm+ZVV7BCeXWed(t+8Cj25({wXDlRi0&SA7qu!68%3c z>xP&fAsMx(;D6dVRcN5BS85Nrb?eoCVtQTRd1(s{{Px{Q1VX4xiQrc=$_^kN>Ox$n zj~9h;i-|dHuP;hTNmUz8fi||M$a@^4?v@No`)Jxx{TiXO;f<_cU#kCk<#9Yr@!{Ja z!(HDmV|?^)+ZOhtZS=rPKWR(a?2)?2#x@VwEk*d+HM=$Zz*r5S_+(O`Hy4Y4QP~I{ zokHL3xPwuHnW&hjmxP*lG~W+{)&zg0y6ep4mO~OmFbx_R0@4kYd+3We1rtGk`t-?l zZ)?bloFPgG@(6HG)+;1Ch}JaQXzq-Rj5*O&rv&R*m5X~DGfA&yG)919B;Ev_Y_(lP z`xJwlgkLU6Q>q`S0Fq#uGdyR1@!tAwZzpGk9}IhvgA+AQO1(Y9}}1!A^sz#+RI@~>>PwQ)XwwZ&-d3mFlr zkN~RgM#}tMo5RMLJ5aJ7AbIkhY@Y!V5h*8rq|f!mZ-;X9%bpIN2jcW>A8~CAO=Kd} zmv3+rd5fxY2TV`Uw;*#pLb>cTZdLv=t+Gi_Du_dQpC`DDpLgui|JOn%0^Vajiiw{Ks})jxjxD~aygXI1?(b4u+0 zN}T)meWLl9E!PizBg_BDi{n3l;CTN0IbpIT8fH%gpZ{Ro(3rf&O+<00-@bwPzUO=Z znUo4otaYTR)PO&gl`lO#sd)5D0i>99XI)jf@gWqow=)m43teP?DLB8tsgbMyRx%a{ ze-yZ=%2#)MKT};G0M6#LF%YzlpHE4lS5Z%_D2UTQ?Qz~8)0h@FkuvaQh_sZHn=&%@vos-#qgC?q@{VhG z25~slP= zSGHlAe%QOtSTW<~Vw*`H+4~d!wy2e53k-ZkX(0-eUM>3^{4;HK@GQq z03O@SSC#!leEe}u=e%=)==jqMzozEd-JHoaD1picv_xEgWl@O}1IAruV`-d)nK??( z(q+6p3?yE_Y`m6(rNAhoAXv{hc@}pP3X6df0fv|O6Bm_Z(rXxKw1ti9LrvnH-}v7t zeAYMK5Kf0I-AFS0Vo&L>f57^u5K;nsl$Yi~E-AKg z-M!wh({>y(4+5;%dVH!3*ahI6dtir_C(jO_hRX|Df6O!M;ojkXml_VG_19tQe|J9< z{K$syRZ^;KZxdRU>nf|O+iP~e9OG$~Jg}*k^X0#?en}ka)q`GZRRi@Pz5Xii6xWQp ztj_j*`gC1Ye}~|&bDl-F$bz8`(_di5p_YCfpHow}Pz#HPPiMr6!Yq2}%#YthK+Q6|fqfG-5 zm6EsTozudhUCxa`Gh)9siBre;z;LS{oR@@T!4P83+GAe{D(wvyU-^3>BKwW%RbcRcI2m2q*G; z49mTpLuuMJbV`^Xtw1~abi3K9M`cQKQ$r}!ARrvxvh5bv zU1@a605s%*Sg(?svVI)+6A^LC#-CCAU5#HLahQkJA@g!f&MA{=fFHEX2TS`R`oQQ> zf9uclCf1PJ(42?QTNTC7ECfb!hJ2@@u17B7Y(UGhiCjEi znNN-~id9L_8@ZTRyl3+1f9!Fq+Yjz=6Ybq%Zo62`etB{7yMtT-D%kTbTPY&MVaBv!vqeUuAeoI|Xn z`!3G41W4{`N?x{E9F_TCGU?UeXQYL}VzGb-EPW+6#zHXa?35Q3e=prjZ46LOyyy4& zb^B1?4ti*}J57a2oB%ulFc7*0wlOUs7LP5q(tX+Fwm=@d9nS4M!{92xYqY%x>_rx^ znAO~yXK{K4E*o!MHdcBJNHkBt{wwS51>6?Bal;EA5FBRIVgJ4)|JAom4*G13RCxJN zalLb8FtWB@+TGcze+gh>qNAHZtR&A65re+n;M91Qx1*8KSZxqXNN_Nb4u}Va!Uo50 z6YD^bwlj7B#X$1GtXoeLi$-|C_(5iS^T6Em^z@uISWQC3Y=R6qi!KWA%?CkliP|ZY zm_W{#>m*!%0bqnt1bXS})gY&+LWV{u21XxIXCbICloToqf3k6!xkaYG@8tbK_zc%% z(2(n1tg@!7MwoJd1c6xK0~|I;W}LBN8s-d>gcMnkFEb#`RZvK_vhfjX%g5DJ{0p5n zmWGFi9S9R`lh?zquL)N(4W-4qL;)?-L)x{q)#jU~JZ_2tqbal#vd|jY>ReO?bnl z6YLXW5G+93q3eyTsLFL`4NK{`q?Ue1Q&SVbo#gg{f3&z(582r(&*@`7764JxzRo}s z(B0}M2T=6}vBYM16@-&egu93s6->l>YjqB%26SJ6T&ca$d<95Z+QznINhbngxHGi} zh7Js|OuIqSP12Ges};2p_gFS(PGDwJ8`A7bsKoIjZJW!uWJ#td#qh`5i*08FEC*xA z&jv2ef1G2WiMPqtE|{Vy1DBw39kn=W-~vl=3~-SPh)W1bK@zkJuem2E@=6B6ou2R~P%fe>1Q^`fXoe-@fLbcK|-IeOv$Ew@>H~ zEB$}G`tREj|3Mcg?p>^x?S%0DC+~s$uiL=kxp?l}gT4>O6L-f3e|f=yr^@jX3`|T+ zl$4aTwA!Wiix-umvb6H6d&AzmS?$5?#sS9yK)plk@|p5&{H&f3ccm!i70t-YAS=IOQ~_go8`K(hVWd|j@0G-pgj`OUgTWrS(?DT zK4Cq7KJi)K2O_GGH$@8y`dgtFf5s;nOOC}yT+y>6@sf=fbC`~GsaWTq`I{~KuQu={ zu_k}d4f(AoUw`f}heoJYWyy~N3|W)l-d?HzjY7kZ~xeqEXVN{B=hhL76kPgrr3sphL=@XIC3|fT)F6K%KY*Y0FksU zKMswYvzGjiPOWWk5IS&e;uWt>vbedqxoqOtXi;`^w9e!VqIQ^k6N*?0=W`%XTO|$B z20{}pWd0xe{TVHrUYcHMQn{IY!P&%=K{U!E{%9ksryx4v(+!-9O{da zRC#}~`39!eH{zq-Dpv#@xo*K$-f-rpl8kSYN2{gK9DU1G-XGYpDpvfxH03TV$bre> zMq~cRA!+7VHjGgo>r@f>!d^&RobsFPDry5@Xx;!KnwjI$DQs;Ze;!B;2a$Y?f}#fv zG9eyQoIjZQ@mb#zai<8)$oRPoA-URX_+v|jHNKliC0;^_B&A|Hy!op4mI6;%N|EJY zsTRU&BtT;GRUyvKLorr%nOk-B)vH%~yK5+aUqWI_js301b-@>cf`Y1d8W}3WcIL%#%gGKHu7593$&bs{DSCVx zQ)D@mQ_~VFD#s)EtarHf#2US@^;yfrbn_^FTj1UYE9^48t9ZGMBKYf@clR^N z>4gHXl|XSzMW~&*VFLmnEzw@TgT!yl)X2qmq^aQAf8XLR)~vg|AZNJpiT#CC@%mAy zM-}Qef&Q*RCp%(hSuIt9&JQ~XpH79$`naRR15G&z$7%1v2_$@;K{ zbrBqxVy0sGqs>fV-abAZAZ8OShsp(>cD7>ueGeRcwMEp)H`05xL#Mg%vQsMOg@o)u zC^oyRf4hw4@RpY@jZ~U`-MFpvR&;W>aPJ?)&8{N8+Xdg_V_7hc#2@)7cYJT2u+zF# zTawI5uDhbLGO^@*eGzMDXt<*9GpY|742rGaf9e)nuS|Dst)eXh=!I`gc9c1;QL-ru zMIc-ktEiV>bVM?V!$Z0GE?s&uKUh|+&se^V=_pYO@9gYcWpI?ZQ{2oJvbSw}w<;-f z!Ly#Ws^5+UOY>m8p1Q@pk!2> znpZeEeVb80H#bQZE<*OeJeztBoInT4h`5keorCuLS0&HSn@j%)B#nD;8=)LUn!2wg zqHGNsp@%9<0C?|C8ULS9Qu80!_=i)@f96L2zis`0sq0ZBq(_cu7Cwt~=rm*3`Y_g; zXV{eNX4;dZ2iRlTZlJ{0admd1XUF>2mEP*V=5X2hB|V4%%0)aD@W*76D5hGA_`D3q z#nCDhKKvLko~-3tqU`K7_wL;*GFQmbnlY6av3U45#j5|dO|)5r{-PmEAhj6of5O)- zoiW~@_v5%LESL4dg$tK2zXN97hnh$E_U(QoY<{XOnL{l-VQn)XF@*k6Gx+xH|AfOI z>Z5~(lr#&|31^8*&3~-a<}k$|AW-Ns$f&U-WJ9)8Yv0a%as!>bcrn#=Zx{3|--JpO ze+CrSe*XM<@WFU-$3n*0)D#{BTdF8}8k#;$uFfrKKA}f7$tLr`53U z;lFuETzcAx-egTvidIj$N&3`jXQe0O$yjZW41ia)^j6SvKUgu*+$16wyh%G&?5v(F z*M+1F;skyFxdv0k%3ceT{fBzXd6(umak{f-g+Lx6`0GHZ*3L_NKI{L;e&K>~)$22? z2`PziCylp*f8_$yZv%4jujbJ!xp{3UQ-i19h0r9Z5O&#iU{eX@%R`afH-^WHIgpdi#5b0 zu_tXwJDV#V$QZ*@Fp-MGWVExrc`R42F79s4TXsye>}@5q-fykrf7JS5w70txD`J}z z{Sy6pi+Hr_sImrpec@qAO@yRtxkT32Q+aJkRUjm$u*?H#NDn|Ud!TV(0MbmMcYm)_ zN*-I8>4`TR{CqZ2z;R^hOy;_x&p*@{uO9RgtQr_SV|+A^+vi&_?%++pu(Ae?B~LIE zjZWW&-_C&aXafcqT+FplV+Csaz3#re^;;WY~O#$VAV@|9ALJPr( zpe}&E0>Wr*eJ;~vjka?PYomClU~_b#fW_lWw$q)s0c6plD%*dv#@*5Fz-XNO_o676WSr#Xd}Lf8{uMwiX z$-EbChYpX%1qa_K65PHUnOna3y4o)w2V@`h%7JC+c4T%^brLX>9D9D>9*XZcq z0Q~pW`BVgl*$>CBC@loi%Gkn41u*wrC~{uVf5~8~V`~Be{QSBc$sh*hP7Yw|d_N0G zc?&^yCY2P3J8(`(MKe5U!TcTT&9S0DRyDFTrO@$COY*>_W+fEU+xsiuQs8@UN<{{^8sX8H=H)qUkcZ)SlfI zy!Bas#GQQ6csrdxmByEa0mlxkfZuYsqKJq{2{7aRr3|jl)n&k9A3A!vHjG0fQ$71u zcWAz=ps);ugUG&CV0f1$GS zCV`xl<(H&)t**eV2L$WRs1Hwfjvl&{qWH`&SuXmfWF_$+4491(Yv+spZ)EEKe&eq_ zH%R^S0ZpA;vf*&t%%57*ZFXSYcvIw0H?`8g&n2?_&zCRzkG;Ge^Zxz&8{Tm71u&2P z-b*tD`?q9O8i#;vcfe@8?_w6?a6R{02;wi`7?3BbcGy|*@3W)5ghO*ayZ z_^gIM0U(T$Z>Er#pl(mgIX8&fK>I2viQY+2-y>pMY-r=s#%H!fjoh}VByXC3s- zOo##+^Zs?E{Z!e0iA#9snY7s8xHyYAwrEFYd^Q>?ub?o~o1yXcvMrlRf20i_vypT+ zY~!DnXJ>4GD#-HZ-1tbW+6~7Y=7`r%eg6X@m1zYn=ouKCH11>RqEg|bzk-TTC(*~r^o^xh}TcQBxI@>4hmP2L>(i-3* z7AZ;Vu_HS?!aKm3FcekBz9g2nf!F}IdI^|JpzWqTbs=nWezZV1bHEp=L|l<#FEB@6 zOKy9`0ZD6hly8#Uf7>R|30ib!X%UJi<2tY)nKDx|fiV@Z7%F!L3=WUE2C!W&?W5hC zb_w!aSvMA{&QrD=JebOFIf$`$K(|a1A6A3)6J)d>-oHcaE-Pm%!I6d*vJv6kZA{#M z2e4;W4$8f85;Kd4ji<* zfcN(HUS0+6gcb=U?rubO1T@yc%(~unGxVF8DwuE1~e0iGql+FpvH6JRj%Xbo<52mVAte-^g?%#IZCB&l| zn_m$ovAcI^eR4ZiZRX^tgzN4$Fc8%2 zsxMy(adKweNxT8agdv6y5NsV=d}FLA3^eVcN}LlO6F)>=?6kqlz{kw|#mY=XZRCpw zhy`bG&znO0@%k3M@1>ZY0$2^Ze7`=NhpFs>kPyPSf8mX6@<}edC=4%V&(T~&hQr~Y zyZoQ;%*DIzM(XG26g5W}8htA~V#{VzViQd>)$Rs%;`Zbf%R#aJI0v9hs+$WGRU$hF{r2L@BxuLwHV-(_FDGtm?cLYMx^ zgX_e&HwvH^ww`FD5t#sfovbLe6@h(&nC~x8KoPfRmVwTeBG`?|dtVF;|@G%m_K33Pv>hZn9@yCIC851YI!%d$@pj zf8;Z05qi`i+tjTh8v*iCieZgETufZNOt;ut>%>~MAD!f4B_*`w#L1I+u6r)xn(x%u zcheie{Yl@r;cFnrXHk*%cP{FfJk<^TS&w|tnj@5POYwYe0NwjYr9g< z*vVnM!nLfW%5$C^2p zV1S9B27f3i36+#8iV;^npT2i=0}c$tlb6Rq-w%2sLW~4KH{S|k-dGyX1k^HC7t*vb z_MzZuS5k@Fp<{!N^JUduf3wc7wleOe)pll-JZVdEKTI~=o0m)h=^@tB14Gi0?Y7~k zDZ(2G1E$c=3+O;5pa)G&O(&<)jkfSbY)yxBzYq6|Ws$L53#G00BYFkGqjlRW=d~<5 zQppCcz0}>a4J@aKd$_)YJnzkOTnsvOsi0%PVdpT{#>)pIf9jkEf8m7R7e%vsNaW`{ z&G!7zHgB3jlcT@6bsOp!2|RcqF>*8+6KiXUg+dGq(G- zd2K{Xz5+brJG%-4b|rsq@Yq5Q_LW_!zuN|{PuV^D7aAJproI7u(l-PiJAqgc0SH{o zFz^+Db-&vN`rnH5e@Q;^@D(M0b00q6QCE7nduHFd@r2#iF=T*zw++@uFmQ%_s78!G z{;T`=-{1IXU{+lJ)X4Ydz)|h}sWBCWz&UOI=}XDb7lA`!`uB?qKKswSxDC|vIE`xl zVkp%UA}E`Yrb+n2?e9PlF|SIqENO;u|)d$i^Gq6Ec|;up8RR!i(=v< z!55ssV7 zk)s#h5lp)w`ag0>^Y6LD;ip|jcL#==tk{qC4+9n%qlxh&28rGQ(niqyvJa`u3M!_Vp9cdEh?e7n0bvgKgLhTn~AHg-t z;48qte?&Vvc&$cVdFUoFz1Vs`ocO$vFm66}_B#3={S#Qsv?sOrI7(#_*snN?)Co%ms$j}Keo*%8iYj5wwMGy{WCo={zTWQ)IXwlVV z?X^KH01@FGN`hnzBFjtT4aBFOeRey98^UI3f8{rp@g6g9DNjT$u-`MGK_`xo*7!3p zU9n>Q$Ar326Nd!*xTyWJ8&0NPM(Q3&TI zV-$-RTl)0kz&vVCqHe~E$>mnZt$Jb!Ns`Pl>|{4JkA8~i3t+En7#*L1j_1(G;nc{9 ze=+Ud*<4{E+X16kXfZ&`$f)e8i66YX>0}r5=f0e+Z z(iM+jgcn*4m2Xb11WFW|c2xIvOI+r2-dqMf6eU>;oLviHqRDJKBJyJ#=bM|Tr(N&F z;mcQG=h6QUd+!}jb^rg5>uRX1l#v~ZP-H}zm1Ja8D#=QA=0T2qib7_{4#`SZL=MMD zw(K3pp2s-0gJb-jFBwUd%f8T#TpU>@g{o!_9uH$uH&+&LX?)S%Z1_I-4+B6LA z1>M`JA|#ze3@#4wAi8c1>dQTA0rr03`92@_o|uBl53%W^sX0Bbi}#Vx+D3N_0=5T` zDQ#CL(WTKVa2|vDsI!a#k|C$nf(5#5p#-tUSn1~S5G`lfCB#rAxz5W|f6>10jhfjy z*@&PR9Ish<4zl?Jyi5#-)-ln_wS3C0-IH%uUQ+WZB$`YvI86bCehBBX(w&S@#xO?K zXL-zjbAMa@sw1}C--wxxt$@U_(!5htcA00veI%h1L|;SqA~v0-{W+8qS^%uD=>Ih2 zp{=c*)9Z}lO?!s-;wkKSe{-F6zTdoP{fhhD0{iUQ=QTl>gImyeR$+jF9jt&kLo`j(iT{ zGB7db*&j*Q?Ho!bVl!#TDLxEfPJH`g!7=AYPkQJRzqY=KT3~(Rf957=)bxY`0SI^b z`@%AfWZR9E(OUQTt096|vHZZ`;3bsGoLl)kWhf05^@q)Kzv}NFqPi8MA|xvnyYO`@ z;0STf_qMb5=lj9EW?^AT0M|c2Asj#XzCPTU<~g!Hl-HF$a;SBUIg32+#H+v+ENXfV z+!^s<(+sHHeg9MHf0~uJcRd5x^%&}DehJ%|V`7lQd?kg(l!vvjtQ)_#kyy=vyrzqo zX+Tj{QIS!?8EWPGsiedw;!TXCJJc-lrM%Gbo`ERsr~bq|29;VxkDs%f6Kg#VgQ^$S zD*nMPLGdOD+er$zmkPxpD6>bP`H-(eS!5GX9lctLi%Ts%e+3S`@Ls2p5;leK(9TXE zYwnEpm5$XF(t1l%T>z8v8@HtZo*3v65xqJShd7aSzswUT;=IibeC zK^HOJ8q;LsA+q^K9%`O6mGaENjVY+VH^da2OY-ehQB1mI<7=r}vSIjGL-BU`xZLJk z^$-WY&s4+Af0J10-GCHb_=nTkN_iyoiyTNx(fF!AMyruR~ms2$W*E3YbyPw!y&U#jHr(~c`E2~O@& zNl8hOf2gJ0?A3y4`OW!usWSGKzUGv{f56^Ql!Q=+6CT!hpWx!=L%gNoVN?0HA(e@G z`_q>m2XP&wfU*JrEG=&xz{*k^HdXLpw3_8*WNerF-TCKRva+)3B1L+wn-%sRq_71x z6$*nz3MPbne0ll}-nkn7dcz{>CN*D7 z@FRPpOW^1MGDvkQ7rQfnon4tY_Wl?)O5T}asLYGHE5}?57;SrUxfdrJQE>CSm&&(X zMdj(CP!zkHLN6A1fTFQ%RxHbX~=;o@G%*=Oc;AVOx zpLW@Aivo;#0Pf5tC};!TclC(OwUXa`Xa`T&`6WB~K!;#)^5f0F;ePF|J?Z;4{zgvz zS3dmXLG}G6P>sQb53hdu^)`0@zxwN9eg&ga(g!k9+_O+VnDkU0UEp1 z1m!ek88#*;L;!m@4|PI(0*Fsse7v0tCsrj*J*Gsn&`}lf$$;wgUF*?Ecscl|f3);w z>fKf*^Nj&7o==}XwWX>Vv>1^sehG8eng-UsE=p|T>*g?8$e`7-3@@@c z0D(EJ_Q9L}d_dOnV?xG0O}fjlfBH*+rCqFB_d~4d0I930s`8@daRx?xQT9|IyAt39 z*7{@xQ0bggCD&a0gwpcdyaJw748xdWoKx8PK;Wgg4i?jF;2H9!E>ZP|g&YoMG3yB9 zO&<)+4y59lW0V*00xigzq*-pV>*A{mlx~w2K=oxI9XtWvK-1h zDcKcY8rC#6B`QTjN%OIoM()S@fB`ie724o?e97Ro*g_lv9j}tEDImek?Ms^G^vFHU zm$4~`c2IxpTzTP$-Wa6MOru9xdFLA27ET3m1Zl#YmiXn#k> z;O>3CLp!aC?S152LR*x z_3ME7#blu1hBy`}&q;KyGQvf}g#%l(z61>hs7zFPc@8!=Bs&$uu2G2beXUjG?9db# zhHOqPgX~ZjxHwrne+(5J?G!khsm?~zDnMbDrhAJ3h5-lG+?SzKF?Kf!v9SXA$B6DA zE&7=y-5Qo>2P-5cB`f@xlpX@;`HC9q-yXGqkI%IlZ5q-***u(ROTCkEUuf+lsg|?2 zhXD)-=&ZZzu!N{vT> zF-XYMeCzE^-Vf#{vASXP;`o%@>CS9p*#>20WiiYElpjVn*q)}rbvJ7a>cBX4?XEq* z*9i)APA!Ay5gTi+Wa38yHcBjo3&Qvf65t~o1V!Mdvwe<(E z+K7_A*~9Qme>?jJ0PBn>U)e`W517Y^ya$8K2ZXzis~6Zm1QkL2CU21cOe!p2tf_Jkup@L6P z4@>;2%|GAw*N42fg!J6l@(^Vb_N8TJEQ7GMVN=|*_FWr18y*hRJq6RKX>lu3hH54l ze>={{$0t(Mj?WY~-P?GL&Q>s4-;S#*F9C?0ZzvB56^DF)W}{hU=JIG< z1%P;MjR>46)-me!$YP9C$U*NMb7JQa33G<1~hmIoy#9Y ztMxG6Nj7q{CQNb)It^A`1vCecT-0ck1JFy^KzEB^ktGyxd)S-%OOs#Nm7)X+f3J=g z@I=Z(-A-=3wu)UT4>9)PNo=~B;ea!jTo8j{$-}tu+Z0bZ}W@ zJ~U+UcrDnlxs7KcdL8eyp;AVt=~8EgQ2Zj8CcjhYHaF+B(!8GumrAf#mPGZF?+)(U+ZdXFAan0dzxV(D z>%adx_ph`$Kp=J<8qBFvf6)CJ67abNB=1Ti{KE4|h@CxB-?bGkAn+*u5lzs!g`Njm zPsqGS^i=t=b>-e&7c+SvQewGx8-O3%_anvt9w=cQJ0@~WW(f*RTu6Jg#byXfcaWV7 zPVD}GEeL;1Wjks?aDPYKVUIF8Fd%>y$T|~~`PwU|Pfrd+JI*~5e?RaKU#rki3i)BV z)sZtE^yomL z)o2|OdCrN^MOO=oc?=!g{_q9j9|SDo)ia07m!HfYpixFE-?(9TE!zFq7wYX@-ul$8 zL#{tq9Gl^QX1pBbf8dd+1SFL34;0d>=$@)Vh{07-Zm;~&(H(J>i$`!Y{QAd_AFqj) z0HST*lW)g*#rurle_Y55TrXmCB*I*9gHZnXECgG{OB(IKHkjpM*qmB6DsgU4o*eBp zsC@Y6r*L4eK-)N9FEJ6D%O5HH@ZgH^61F>8DUXrsul2=tf34=?`j_WpCHkeIM*bJH zEQD{pO;*p%#PzxCB{F;`AI8_?O2byFFwi3c`&jHMeM4DU$P9fWeZ$r9(mRWtBminm zjK8PYrOoj<=jA#^Aa!+bcg5@h@xE4}A4WawC&>~&D@EbJfW zkyu|cxhj5|-!_{pWk-Ml9Qb>KdMIUAj$<&EFD52NNo=vjyl6e4{_`zn7y@b_S_~U3 zzmI=c_Z57ZLz$Pwj~I~nZJ zj!nz5e=EhVgawEheFP4x`m)yH*ezd*_*W-Zcn~txTj5i{a zSc7W+sy-(<0RUT$q|yoLDR6*K_jDgUZ@+MoVX9R{Ymo{EIjbF4=Crl7DY|>GoqCsD-4zW6}thix6 zCCW$YZNU%`8^@0y{T;&}{$wt`27|Vm)_(VTLQ@yk`*EceW2w$&H?=ly>d!o2x|93* ze*%=u9Jeh;05P!6Lb14MOpK3Q5U0OBX5R7^9|i8f5jIC)PU8{*>boW-lzoBBNdelx?Pt{!jrfbBQyPVhR<$8J;{5dV2u-s>lX z{xwAO9;udpa`RgZ6)IrBmwef%Z%|vGH11wj4l7RPFBzcR`vjUf0F2HN0T|Rzifo>d zx%TzNX@7OlLli#`W?y^^vN=sb)m1V@VnfY)%yln>T?F(W?LQ-k@qkLACyrPK9r(T25Mq!hqs5f6IL0Bsf~s ze4WUq`S_x3(Pi=N_|V3DNLbIG14Pigg)Syh!L9yBOgjPzOFo#Ug{BXSA%XDmLGk|9 zFzs2-zb>T!3c#)g_Jilv+ZJC2k$h=rqV1C>d$u+O2QCJ-AZoC}ueon-_%k2^g@;eb z0Yi5A^5y3|v=UiMRAZHuf0Y2P+A&pE!h4-?4U%My#!~nIzotTojpbN(ns@B$2(8va zC%olw^>BT3G?r%U3)C&hN&{WAGD2sS0O#r6m%q?-HHb?kfxMH;yeD5bZ$zGdggcN; z;X%tA@@#4z&6im5g0k-ATx2d$H)liD(Jnwtf;eyOBV$}EicB{Ee^f%CAK>-Qb9#Vd z03w-khgaA%0M8=jd35kN7U~n3=))w@BkEJ5$ub=mA5VkWt9#tsP!x*6z_jsxzuCY; zI0Et?LAFV{fDe|KRxQP~je#R;985FgHScVtc5M}u2c{kfM;3u|8bY!wzC6R&RKAYu zl`!qhDypm2>t_mLf95)o3OMfc>f%ITU?7lOqwwUM3)Gx9J-qNM^P__U1H#s0@APZK z0Y=^&mDr4NlC=@5dBg!0_?p@R0AG~N*5qw@6~WT(j?W(O>E4Z{94MlFH_OB9^_XHT z_*M{?y z0n9!il>C_GciJU2Tzuk#W_1hVCD0xU6?DM=2cFQ zFa;Sw9NsjFn8vDd5ikn*XmK&XSiv*H5I5P*o;}OQe;0tbIZ`Xs8;2*E*9I)!>?Bqk zY{{K}5$-bnrj59a0X?nTQGdv^W;B(EIFFZ;-e@7|Zxw%MDfO784G=JXlKwlCxOQ_2 zCwFy9ZfsYMIhpLH#|p4kz|0;#d>EL8^r8)6AQph2!zVjt%jwJ;`l}VfBR*g2`)?`Hm8)LM1iSKIDZ^%t#gQ)8n@7_1dYQOt`34sY4ku(-b3TOpw|W% zQMK#`K@x}!I!`>X7}`B&Y`sKU8&6k5KFEN8`;O;>xT|feMZ*Aa0r$}JWz+~1CIkP< zS0;A;d>HoFYh8{x$K1HwaZ@$ouHk zt5dHj_=AKG?L@7!Vl;?#17I-gpNUMX6}6Pc1YPs|c*aXrG@X(z8iB~}Sx}5f&F0=i|$?n;#j%(s+stL!)Bc+3cW(F*<(hE6L#}H&@$>s)J8M zg;PLy0k&&VD|RQLyPat_Sew6LN0bw6HPZaxnNTu|T1U|#NcWJvL+szvSl=f5o z1R*a$ckXyLU0Uk;6w&Q@Bbrai<}$%NoY%fVn5Phkj43GLpw{>9Z{~B|ndwxtfABqI z^jppb%taAU=N%b307Nc<%SXB3DNgnu2o%7D4vvm%5$1(7V#_B{v(IFd9ww;7Nc0(*#Wf=CNVzicw9w!`S|>yoRZx{e`tqqZeHC}b>N@aQF{Jdb)`S67^aYsmezj0R>ZF%#Lr*q81fi=3(e}HwH#}mxB zCFeWM*z{R0N0ffQWP4!J&(VjW1$?ASJGWHa_4sqY`Qg8(8=4~rIta}Px!sFoP5zd2 znBVWI!<5f}q~Bo6_*-7%j2oBluV4G!qw(K=X)y)vtZ|#@Vv8~`yCOD|N5$mjt3GUk_-=gTdJBDC09bdifiko!21Eg6q&svtQ{*?90BkYRmC>sErKx4lJ#3xHA3p&CqPnL<~jN?l8 z^PXqBNf|{0!o%}mgTeNTOn*a1T%P`%2~}-Lu0qdLVL}Y@5=62eqTMkfW zQ1J450jBw3raN}{*1jrEp2*{>UbKKBvij!RxEiHPE%rR^n zcmj1JdaZQu!Ri7=Ipe<6H2K^#P)X3J+#Xl)fuddm<}WPRf1TTT+kX=|uzXLmg4dY+ zv}T7+KD&h#E%_@^)!a9a4t=+0h`{BK)m?rn_>VhMJ%Qq7ucG6lU=sIHc09)J+G#aU^t8YgdQF@=LtVk7X@l!bf zH&9Yip4F{9G!@Hdodp;{L=Ulb)U#*LpjnOOeoR~0aZR>>VM;9bx$@~%LmBb5570)Ttgv5nkcoeQGv^`*p=c1;M=>)m+|F`k~3TuVcNN*inQ^?&8$TOgr9WBEnWdv6GA z0cJ#Y^jv__d*7e0K<157$_ggY#}UmQ1jAL;Qh?!o>!AT;nkjQ;X>bSD+Sczr>iM>_ z6-)^5MzQ^BGQn2cfvlt(@lcH%VsnF%>vm1FMDL(7+8kIXs8{GI(Gw^1ie2^&&5j80 z10>}T!mUx`4u3Yyq~X;r(-iewODsA!YdTE>mG^Ms%4-wn`|iG4S%!_!JX|AsamNld zG;XR(TF6p&s09h^-nZTeUS_)=w7$&-)+Ueem6xZtw?J8>VBzX`vMV9k4I^l3Vz(G( zIvG&;CR5kh5VCTV@kmV=6ed_q(<&--USHiLdx8cw4;6HtZ>ctEyGg^ZG06eXL9(ciwMLhZ&FRiUQOj=`q-zQTWU99K*V3vVRjR2Gvd;_~*=$mn0=41dO2R(oXoL zFspp1gO~J`D?sN4et=vWa%<2kf#wFl=DeU_+p<6l(0e`_W6RS;n}v3J%wa`SAG$u3 zl+-$q<&nHfw3+H$tYVLD2x}mDl&b>nlmaXfag>#~gr0MK=TK zE(CXasM(9^G+#x*d<}m++6mX4)dX~8yg!3M^%To<&ca=JG=_iHhaGDy0%^jp9O6Tka9`U5_dGbfScVS3Y74?hdkfiEy-obl}5}02Sr*Pk4 zX6Aw#lzT2y_YNpxfD#5ePbQp<{@jJUwSIS|roJTQ#MiO0TDJX9!DaWy1b?5r{^<}7 z^5a0+EK?0Jl90z0Fgajhrk!;8p-|<@NCZYp9Uy_)VxZN8jN44WZ|MY0AdZt?bah-3 zU9`F35H4FV)Xc%b0dV^PQ@ZAGLDRd5ijh8aLO>a2!v@O*Ob1GzMJ;GKNurvU0Qbe* zW@ctC7NzZ$YFGk>0UEkZM1RfwQq+!5R5V|!$XURuD&Pd9r>~*2XNE^3mKf|45)y2% zouh5zxI+H*dM#?o=xeUOw-?{@DG~XO=LMb#vbA0v0t_eznA%?q2;uFY_7UQbbY+pH zT;k%IOj2u~Ny;L7EO-i+SqeT4rN?zbBdp40V=>H0Gtlq?r&Vi7G=Gm~en+8`!(pdz zdBI*3+`O|}G$r_Y?3G4MD4n{7ylJA#40W1?WguA1OciMngEKc@V8*^sh!FIjttc&R zn7Zskd-jSiy^%MQg!9^CLdMDv9wvrysEbbHYpFzq2z}AB&TF=LCxtghY9pG}D)EM5 z4od)R5#?@795brO)PMWjbaA{ry~rAKL!>lP#!baTri{s6SN)t-QWT2UKUs7{=XlZCvfjI^+ zdjVYHRbq!fLuy~7GBBj@zK^?{C@xyw_#@Z{x)a#?YDamRi<$KQu(0*s%?)_!-E1iQ zGFai~usLG#oqxFg{=tWEF_P|45(x47#i0U59kpnmuRQLz-*Bija&m1n8lf2^yYS^} z0Ppvka}f%(N)Dv?vB=c@nH`)PaGo2Ih1Rb5XQD%n`)lt(ikjoACSQsB?->Fs76MR{ z@~`W!{1YKLH{e^3WX)yyBSSjoftpp*Te!Zb%I=?*H-CEsemn;NM}pG6&8e)dcGt)5 zZ2!H8%TO?Q&u>(ffM7q>4ify8`w|ckxIEpFF8kHxK|t{6Ud)cn(64O!>%+g%;r|Jb zK7T^ejW|j5eL_Yz(Byy-45il-GXL(QC>B9G3;px9Gxuar{u*5^FsJ^dVs2*|`**_T|MlB*715?(9}10nV+`)zz1wc)l-z1~ z&Z!*ToLEo6b3O8h;@-}HpBMI36)~Fq#5gD>=!M!&d;d*|*0zfFKyd|xA*a!~@1?w` z8XFtIPp4H(B4TBjT4xOa)7UFMK$VyP`UG?<7C1niaF1mtxjZF z1^3H5Ay9wiN?W=XqCQG&qy{K7<%ja}#0*P8DwS;MP~fHCluJN+kGv$fi-=*_=aV+;}+NiO5hvU?wK2SA{J{YRWN zZhu3U2Y=-@ z{?8p5I#4qfzf36J7!YsV%nk4EuBNBKkKEiEemU?{WszUxfZ0~q>~~cQ+qr_>lvUTz zT^~&8sHmu>C~u4dd@$h7pm#Wik~@`=SG}| zc*$T)#Pi;Q03m@WC}M+rxBgRDhK$j};gQGROLDfj5G0N?o(=%fGdfIW6d-C>=0}B0 zIxeK;KWOEgo@JHxZQ!0CsrB;k2o-+FxgtaYy3!X!jwosU}J$#=6oq11D<@GrnIwc=O4#oWGz+iW~h z+o7W0-1t*en77|2=ibbtscjYRJ9!9|9_NaxD|9DV-zXVP(?vu``^^$ewOo3qutVDL&ZRabdCgp zU0TBxZJxdnCj*XN2=HO^-a@_4!O$dGAcz8+KzzKsy!Z>r^1yFp1KAn{eW2XKjEoEc z{`2SUfP%;}l|ql!M>CO=^BT9E67K9PcIC%gj!&c)LGpIqYNVkGntw(P_(Xj1iL1d+ z+}xmnJNqyx2PrvU#C%T^j1zIM)4-$euJ^zbphj#1M;^@l@IbX~scrdTZvMN(#{i@K zDWbBQONHX({omDMZs(C4f~!0c?Z6*leF0E=qph5r9FQC$ij#)`y2`a2E_A|cqHKK1 zG0{iZ6;rl)6CAB_0)H0)kcTPR&0T_3VjO%^b7-sjg4OZl+oh3wmP62NObF)EEKT=H zNWzK$bn_r*g<34IE9Y5b08pkGTwh&`MGC(1|kjgJE!L@X2>OM_g1PObAG3gYT@fs$9|_?w(|X6K7ak@^8M-`2UfE9(hfIq z>9>rx3-20sxR$@V{|N{Vo!a3U{_5r4ML@8JXoolX|J0)iEJW9^bpSaNkV^jiYxVRg zfZh7e{NyUHC|T_MU;bfJ*)TpmHu=z3ek@-YwxIZ|MZpJvcOR8No11n72kG-T_EV=) zE;e=5}Zp}B*GS<>3YLz`{xRL`9@KnN=!^ts2xeU)ZNcJj2Z*Bi>2q$?``2nfKM zbJk-GP<)qNDGCS{CNPtSZ=mpg*+Kigg62KyMb7I0>VHI@x4IG?BAd3=LH(AKz>IpH zwJg)&1OE!E?W|C~?TOUH?{IQgIKy%*ukT|11;+?^;#vJf?~9wXrKlFzFB-aTtQRaa zT|FW9!o$-uZ_rnyaAVb2$3?s8bMWb8@KV;+)d`-#?8qqdqUO2zreVHb z!hH43%767R0OLq#_~L;2>F@8Kot=I5>{3oYL=FB2?`P8ZK+pBWrf(GJZ>DH&Lq?^Y_K1oz%gcx$m^!G zq6)9v1-@9VQ{Ktcl?~#&_2Pzrq53kUsgV}_Ykw>An^WcplFYKv9UCW#h6Iu$ird_&Q4<{#;tFqLeNOqU^HT5 z#fzu#72>QlEkHLzB%8sm|IRD^;{aU$u0+#zh0uwTe7UYd};EF6%N}S?YzpdGPZze_DPgS zXdo?^YngLJ9hYayeduZr(6sq)fE(vO5-n2?Is1hU!!2(g{sK+hnj++I01zB1ng#Z_ z$8o;a`u>QfzQE~(umuZDQ+#1rq~Ird4J-w zjoSgfP%K}Y`^*z4%^AOe@7)Y<4i_-uyZ4a*Y-PZy08P3<;q3M_{` zXJ=+BnAk(keo#O#2$`t^JeRHHww%^1&N--t?sdXx=r{tPzF-0FNO=k194c>bVpbJ5 zsm)Kbu|vaJIhK_q)`!&4Mh^I;seh4+W1om9IdwN|@zI-W>T zi;=oWIwq#+SxK}?${lS{sdgE%D!h+70^ijeE@W0;;i9J8O{BrFygC?G8@?GFBNbF-Q3m<0k6?X*P0aepsMWemzr zwrk2h%gI@dc4~YrWj8m(O9st<4Oc3d`9uUzt{~VBG0Pztz@y}XPkkwHfOq07R}(Kf zw(mWTjSw{DD=%6d=dw3+7S#t=b}tcCeqr-wSqB#%Ux1uZtmDcY5S!f5ydwr|*oC`| zPQG@B@+{`%IEEGkRvKa?qkrh0;Q@;<7rzB0)x%@|Jmo9X@C!n_p*#)ag$)&c+nK)3 z>`isg9@(o`@!ec@l7lM;Ylyvwx_NgEF4Ec`4e*PWV1GiK(#R9w<;}32 z9ax-bFS5o2Y(AvOQ#v*%#1!z>-V4Qn47ZyfJj%QDdj3m}c{C1w10XAf!9=Ca72`c8 zttI+SV>@FUJsbcQEBD)+=Tf-x_IB#{X>1StnC>`WsI$&{PeNmq5j+CTYZ^jvm~fL!VUSi>_LJB!6n!b~WbdH_0~-BM_w%D*g}TpmW+$&S5Hkep(;~<&tN_uI1b<)nue|3w^`kyarHz~O z*pHZ5t1K{M8V-AkM|*LBHmL zU6Hc!azTz>B7b44flA`Cua(@OX67ndPOY|{f}Yeoin!wX%WN6X)_LepKJ*ofBGrq%Uf1?NWH9YQYjpcFn&m8aS z&)6{C`4*twSz^16V76iqwLMcM5C(H}bOek*R!pphbbmJ`JRGrIt9(UTI?yj%E2SpI zx9Pn>Jraq0K2bzE2aWe$$Mq_qpsZ{y$JwV#G&s|XhvC)GNFV?OfOH0o0FJy$1<$h( zMhGk2m}eBThmtpy*1<(k5}nlJl|+wOYB7)tW`l zPPFN_l7EBCq9J-T?e>i~JpLPR_#3{Gc_5^Y546I&v~I1vS9j(0UsB)skY28g+Obct zNF-}p;FnsZI z?bys*p|4!}rK#JauB`+3ANT0BubV!u8O~Qf z{(pOF@x$+usSb2Kp;ag8Rn@{_@Ddn_SfV_?!6S|(T~2|+UI$;CqTcdCIxM-D{()V% z&~jr{_Zuy|(=Hjy3JeSc7(i8c3MfM8f7!vz|0_1}!~Y^j-fsMx+L*6iQRscv{iPXs znFNj7QZx(fvtX+W7=tLggbR=V^7r@GU4P=>;3(fCiIP}fX!fM!YEm}s%*wUs|1|mK zeU-5hRMZ>9rQ#j7kl=`k50QIulAMzAVFd#m8b%@@vnk+w!%VmGIdfEz@GP(g&@gz^ zi&Ls|xua1caO_Lov@(Z~&mla`Ye0M7qDvgC59J+flxB*b&j(;PPQQ{HRN zkc(6$-Pg+twYh=s$~MLg`bh-T0)L2CA1%>)?j~RZbOMGKq>s@tirAPGI<8c1@Mz|r zgAJ5+baWiS@aChtJ{S!qrxywXd{rI9#dYiLW$Z=~Ki)Vi8qr)(x`{_@D$%i*u;Dk` zi#DpNWV` zahr)Q<`k`;25@&R_Z)|~Pk+O{74FPL4I!n2%4f%fT0@gCmL}TkLld5f6r2MjFZp)r-C~!$ zKFJOMv(*~-0I={+xiY`_@V%te)7Oi4!;~r@r?>$^<|~ZX9sehrFuDW6v(yr-Hdu{}9 z#r%qbGN;*rvJvH*a;@Ncn=#sSeK1{k{#Fcwczg{=4^XI69T~2qiXqUjaGh{AY^<~& z5WWbYWR|A7jPwDbE|7rfKGA%6D1E4ku0-XYKGbu0^BZY4?CPmw{*BL}2b{K~dr zZvBQ~G)yRMUid%h5yE8Hj8EDf?4ycumxZa2>nYhQZXS0mFk;~iJD=7QLx4hzx z%N9%nQT>D}r#v0N@w-6{;-W?1zBasN>%nSfcJsADKBm=@WMVDZ#wt1yilI@%JhA^C zng6Wpw=QFKr_|mjLEm0k_av5rHsx;icxSe84p3LGrGJQ~c@kGyu`d#%?B4=_%!F8* zeY~4c&K6Fh%`V~XuD#e zGu>4nape&F@H!BXU8q`O@U@&H=1p?F+SU2_sTH_8H6AhGL zf=$32hjIc`A4Guz2B`hbbylrHM`jEFLuc zBR}6XyK>ypq!1_P9%oq4l(3$v_?K+RTE^Q8(?QiH{dMg)LBtv3Yw< z@1W0<9*lA(E;&OyDDX~GjnE8deKY43iGP)kGbr?B*ddzB=>(^>DNr|!<-C!Qbr`T1A2o^Eh-q)PfB zQRh3P6+MOMI(QxLdj%gz(RF8P0{zCRvb15N=T6$L@)DOEEw(phKt^hZvNQek{(rnK z(A$fYoKX^gtJdIF7CHE;4^wf5SZB{f_QO6KH|;3LUl(Bf|FnQ+c7PWE7);7rg3+9_ zxChXAOEx3jYV&U&kJGgR+P|{0(s5;OWp&lf-Mu|s3(=gQF#f8A?csp)`s$(=HP2h) z)Eb~x^7Hf4)N@(Pqr{!^bgKf+K7VLg9*st9h|SDC^YMAA0aU%DmLx*hc2z7GE4Er* z9_8WZ=jYpVJG=9$?S;GAMJyLPq;4PIkD62gKW=C|S?t`~tVw5WxcI?%l)I$)bG{<$ z3_*LJO?%vG+>L{({>LU+xDG$jSb}~eao^ZlcGbRxEV&>~v$rweE4!E?uw$-C$>y`ejPY+T)XnE6^s+Q9NGuz`O;xw~hrI6g_4>To% z@DjIbUR$XwKetw406&~Vv_^F6n{=gIpzinJhdg}4y-GaBCem#YF!?B2b5ex$Z5{%XiXd-~@^ zE40zjP((*?MD#=r#Q7cgM==`_&&Dv8p5jOQ(f zX6EM|0DjtBn^(%!l$!@&zdD3xdT?;JP*8oae3WRe?d(8dVIedNp?@tk!fohI)L!)U zUOIZUFPVDl>+2ION%Oc~L`hx$H7F&foX#AbZ>QY*o>2o0pX%Iu8thG5I+M+G4~fWQ zjbfUIShOnQ(6K-^1()tmn9JZFDXFR;O}Cb}x31!G(t3RH$9L2awh&;Vy7hhDiPf5 z@otpRo$Ne?<|{t5*)~&m8%hCgr9@MpHPQ%SgeCiSb>}_gdVgb(alh=N^>6~9oi6I! z>PQPdG+(to2NX6%Z6{I{@A8)qpq1&JW?8(**3NKKv|~ zI-RKP%!RZf*ni*^AU&FP!$D#WOCMbc#7U&Ng=$}(KO$Hh2G|Di2GQNk5;6(HXAekG zcY($J^4?(h0Id?C4V07<8hUhP`H8zbfa(fnE)K>0#bpF9jlepd9y+tHtvA<-kg=bX zLHOf|Jt>dfX`QJ6nh3_p@!78Cew27eutqC@$Sx?5{H##v)-q?W6Uf%vF80st|~Bb6s*^65F^?SO1p1}>R5 zKh=(QUVlw0lpV8h*f3NrS=PW57mDuo99ns;AyPOTrKlycVK7-CIOPEeN=AVEzG|r?+=Y z&h4ZdQkoo($6S*p+7G{)+_h`hCcbxb!T%iCqJLxN8G`=r@^Q2lb$B)XS8)+WroSl5=!i14Mcs3GJS7jwb{>ArmU;ni@G~ z8rMeU!}uP5aaFCZ5BvD&}m1F~w~0S)eP3ars7TVGq5w`_jFq3rE0eDC8U%VEY1MlOHc zgT~i;Ut$1=U08%NrKUQw7b8{=xKx+?wcolSc6nvx>C>l1V;xxtFA*6;qGIGhYHoUZ zdSaYQMeQ<81T+^O2jnRyWn-pje^3at8RLh0GqKj446 zH##t-^SV0(Ro6c_O&bOm0)hr5`UIbRbu9LkUlCXdKze`)O)id2M9lGHS2d`3G>Ibw ztOn9HrKoG~<+Z12T)lzzW0D}90JoUi+$Di)AZ=RVe9KVJS}-opafR>B+0YEiQorFNP?I)8Uv_tz`y~uOXqd0IvVx( zAde)UZp{;edzPVVi2}F`t)C1Ho7X!{l&gLQGD4IC$NaPM(e=O1KUOk;HM`<{lv(2N z`+LQIF)>Bsanqj{T?xtBo}N1oYkzN$)&t+4h`3qa-rl}^JxtVYj+jnRUh-|~dY3g3 z)hQ1NPOFKw)9Iytai1d~gf2$}b9Vrmr7sfRvkM-g)$wrldKfy_ii}pE5_u%7IZ>%3 zZDVzU$H^x{KsiAk{CCJ_cEy*E{I9^;i=+sW?qcgq>q;3 zRBJMIB^GG^*NF3rbHnZk%72b*Bvh8Nv9SUEPTYE|;e%;cxi<}KyK8&fo9jA2pWW*S z;!;uMg0&ysJbvP+)xCSiQUE(tnIXpuWP^x3^q%xPSqsEgS@Lgo01BkuV;5{*W3$Y6$Jsn)t_7yXoNa{KgMlG5<{ zYk)N5!g%M+KYze>%yV!J=+9fm-H4Zi`km&HJS~gVKFaqijBjFANmHL)T!dUwJ_tqj z+;>QRV#$5~kD&X1J!|;K1(*9roYq?$eo_NbY!wL=L%W|QMjPMF_LY~B z8EeRZSAR8SvnhtdR_20U=3edB9^qAnh?rF;arZg>*|j>>vlC_AHDArbpWXvlkgfZw z_<~C%?U8kwR*`1+^P?RCMon@0wc&gB?4jURze8=m9~}?Gahsg1Ef4xl_Y`oow*!!* zmSYBBYBPO2g%r=&nC*E&t zX!s`WU0>~)6s2f!!o$0%_W?dQ)|JEKjejn5asWFx-jW1NgaDu*hnDhnDty@#!e4OS z8sAvQ`-N{J0x00rs31ZD719QAs}cEgbxi^1oO#1MAyB0#PCY1chg>JFSmY1+r_i zAFE!a4FebG<0{zIlM~sxrQKy_{eJ|2HYYH3RWKolg@*Y;;ecN)IAoi3(|T(a9iXOz zF3MiyOM;>zo2l?Z*>VM#kbcKIZA#9Y*Vf2Sfghn>t)nhV-bCS4FZAU_kH5@N#@!Tkj$rU zZcs}beuFx27Zd3F5|EofN`Ea5P%tu*N)L~YhOkPLu5;TTK72ThHlR_2I_hziw&i`4 zU)9#-&p;;9Xa2*{8ewRuaMo7=a-1Kn=LrcC3V5$u#S+<*jl_+&UhQppr(L1~=#eeZur_}|!@uWn+ zUL1$3DeoL;KgudCzP1!65AbRR()>&2-ZaO)xqB0BsTO*FwO^Wfg@HHjhA;3Pmn@gJ z-N)u$g^;si`me6&79O_#>_N_Y>C&YkOUr@(kG!{z%CdR;y_J*}rCX40kZuqZkr0(m z0ZHMayQEZFq@+U-X@3Oi?ruT4Q@VT4iQet+e)it)yVqXN+W)!ay5O9dBR=2rIA$hD zgdvR2`uSN3hm>U`)rRo#%BOgLeAc=y9h-1KmH4+hku*XQ^yzfiw&8Hw?P;d zSf|`-XPgX-V~VVF-H8>9e#x4fdX4k9hxaKBdw~7Bnf-xTe`eB8CJ;Z+QS{iZ3`Dc* zHRWiQ2ayVJTTE1JZf*iIYRPVWU4Ck1Qfxl{?AfyjCe>sYzCpV6boqp?P^xCr+{*pM z1a~q%D}CT=Kz~w}+i#Gm2y2j40K4(SB8SecVto2(PJGOCD5tVMDZeSP82uu9VYPxKa+(MvL3)B4k&x3JoW{mRpfoX?zK@qH z%Tyq>M03(=n0=q9gpLpHdD-Z?-1mXv*m|MEGv#HRet&nokhG=p%O5E%AUN1!C`tLX zBG-k$)^vh@TX^~%vgc%fC2^yyV;6p=fQ%7%EE&wPb-3T&;az4j{9ick^EW?|>?2_K zHTT*hS+U$uSje!kd#l|qK;~+NW^7@*Ta2htQ|6S(8H7dXMSM%~`L^9g{)g>8r+)pCB=-9M3`2nhcWl4N~AZ#iJ)4Ke%pBxELGezN&Fk_$iHlCqe{mH2W zzLq$D5Ue5mPrL*_xR>+?cyeF)f9B&5V{h(#0^eww9xH{tL(=Fh`K2bXjqhEwKT z|9>T*lVEb2`PU2voct2^{k$+nDPdf*zZ4Hm(>nEEuKhRuvj={^fjT#J#?wqC5IhHp zy1HsS;oINQr{u^E{l`DMg>EV0e(s{LuV3YIMj)Fa8e4z=B;m<}pYNCI?&5QQpNkT< zv`N8Vjbv0uGU`2@*N!}U)m(B#xtwOu@EvMPnW83CXb_YbGyOICKSeGjWqP+T&VT-* z@vM_)68+jW0uKF_1ov}7V&ZcB*0+EuV+6&Ir<(a%que*gu>jc`5At)|x|Jl+JV7lp z^q$waX}(?AYJtVaFS_}!2_>4o&S~u>-wR)JlFtrqi=prLX3Q5-6%l^cXco%ybZMJE zHGcle6ld*l;wv%gM!etX{sy15N`J(O84~#;h|jy|K7`mt(?ew(G79KAn5)GA+bYX$ zvF928s2=Pd96(zjfW+F9C3oF@6iO*s(AB?C@2Kv68L*Q43^5#MyMXg*LopeobF&Td9+n;)}cY? zIMmhxJb`Xa6GmF+(yjBB3M8sM_s3&~_QC;?QSVu+`y^9o4d@iBs9j@%XdVkKf^W%^ zXr+tI>w>L**T`y^R122sMSp8`Q#H8XI9oZhC?tBEfA%m?>HqR#6zIsd?CTCsrg7#t zm~1vCNWbcLzUN|MGMj05z4_Q^C`S{hm3X(~Wn4z3rGp174#%ZPId#oavZ3u0RgQ9T z{Qbp~*MD8bvhVq8?TT&42V+#0L5WVpu#LAum=9Kj))D*Y!L8LF)qgBO(Xra_+773K zbqw(=a~YfmJz}sn;2AID&~5=JXXU~8ry`)ss<2(fQ?Uhr(?x@1-WKQ42-FSn!(zkk zcm@0AK57;Bl>z#^36T4m8X7#_`uh653}}mke&T+9YWg(`YLTC93Is5kEiZP6E zZ+q0D+S8}l{A}~-V!nX<_ART&Kxgh8?JQQ_U`?1ZyxKl8+kZexW_XxiH;Z!NgS-il z8o|{sW^>j<+pF2_{WW8HnpfQQ$=6iMXXB^HxaKSa{Lq?FVO zPv(;hIL!3P0e|==jU;iz(g2aVs{&V-Binh*$2?+ykVa!VSRKM5IR++e_4vsXoNKFR zCkH@It*@>MSWF0(lHqVuP>8-c*_v$@qXSx#nMW+%{oIlF`B_>#WaQM|WlB(+A<}wI zjw}Q0Hbuc@ZN*s7f71Pe)LbrJP<0}f(-2e8$%;^pJb&nV4&|IIZ+`$G=S!aU7$=SI zV~5vE>DQa4gos5LX4S?LoY(nET{b3!N=~7pxaMVf-G;GZiz=cuHg~PXCQj$4SpKTD z{wLni*V*86o8f;y(}Q*;`{OdICApMx$t+G?WvLl#)!hyN!3xYhv*s+}4Cd?LVC^E4 z!9+1HNPmt^(2L9@Q=3c{8u#z&RyrR53;m*TzST@FwhIzO?dIv}snuM|ts%W6@3)xS>3&$_3GR(deD2} zt>N9W$E;S^bC8&B)SJxGa0UWV9KS7tMhP3q?SJpLC4A9ge7ATAyJv>;^QA{Xy? zfWM>hfZX-6p^Q!gttI%HYkwM4|7HP zgMXEz|AZxvqZIwitV;pAMPSL3rq>)q@xqFa&vLTB0PXM$Y9+E={VL&y>B+w87M)r` zJdQ2ZhUWF;m4F7b=!Pc{0K}A&-OvjcAf29fL|wJ_3lAjX;vo7&mbY&h?LmSH~0Z7E^ z#r?HW;#~EbfxsE_QzV!t9O7=Ak&y@o3|-4tza4V(9+ z*|y7{?AEP@!7J1HwQ>TL1&j`-pCahqn-ib|Ydq#ThNHGVvjhAH=Ye$4z+?I4)qmPO zTT5~d{rjzNsrO`wtc1rOY~3^9FzjLiRzEwNQVkCs5?@mzy8I3qi_E+7#cMLC|=5>AT7xF)A@{7^SOoKbm&Jlyhf z64dgaN&2D_0>OD}sGe#e{2h?XoPUCE(eRi;+SO*1-vDKnI+>+aSw?8dvlCQ)|8%>} zUXQljz+zI6Rz7X2osquo7kM7@ed7#EN8In_iaHJ8Sv-!JPyK}}%VzdkJu@|R76O2T zh>WIeyz^@I>WtgpOGWUSm{?dt7z8%VckbA1&$a4wz$2kwK^`x*AkWe+vwz7bEw|`0*V`tdbp#xz{`g?RnN_>WC5FdhqS_s*bH4QQ3d6C7 z?Lr6nob$D0s}}=qI@|4+2Y;3ueoy6Rg@_Egr-6veq$cn7_()Mn{W6sFA@4>DfZDFX zLR&?}2n?ZP^?s0v)UkkG*)rC(>+N5^M_Wg{wM!p>5tweHu1*MMjO)HQ;L zg2TIxSLHYUj}(%imH9qL!2j_gVo>Ipy~VeaW+D}k3stIJgnvn0Q-5E7)|tfc#8Re< zKf7O?Z|Bw;y)MJU#YI$HT3kdf6SQB~I12*G5(Ne2>IWn&r276wQoBRo!OuJ254LYE zQiK&MG9QT`JDwfy6;C*!1tI59Rvj%6r#zkja20S9v#Gh67T_JUPpHzlIAWjDz&z)@u6_=r=$WL&7ZM0Z9OQjbiHy8W!(<3QITkWyh z^yWZf3+PRc!~1jThnK``7|%14@Zd)sCJ4=6pq}la)&J@b$ynD(f=>Qi z^9iW0^?iX|@_*j)mldR0Se~vrLeBHCU)H1k_ILkQ9Ku8<{vtVL(&YN9QqzB%Kl?}V zDxlf(>BQeU3I9;#QaCwy1t+m)X+J%3$-VED_Ym%sO`dKVb(KN=_h zH;1cE&CUI_z1Bt1Y&e6n5VK4%EhgSnIvAs)s5n!;HBVR=Z1&Y!yu4k;6hlC?eIr zn5h<p#QBI(KrGmj3*h225TclQz^Z@z1nU^^L-y==Fj zt#WF4@x4+u)%3HJU&-=+X-WLm>&)kGp!W}hGpeQ$U3?X;^+_+PF-~SgD3DH4hGukI zJx4(%PgV5(S*F14CR9bUX_VtlWZD0=nmg_%kOVQw2#}ycv&;s%yzQchh8*N%c;#uml(ZIzhyW=pk6K*&`TF>;{fB?0=SyC?L?vNd z#&-#v1|(VuBqigBP$@8q{-AjF18yh;!f6p({K!6ClB3}+kb5M z3esskmI#TElMN7}K-wYLM|xG>5J>?pgfnb&dbpL~ey)0rU8lwaNVScz(j5Rj1AZUw zkIBdJbD0gZsbH0paz01@&dJZOR$WdeIfl=yhQI?>=4>^$x+{vEiiQRWGX?Pa^z<}< zvM{}O@K9qHB)wey$Xzx)-5!fPcYh#x@Q&_kjLucFQHKs#EX52E6Fw{iBt%3ExmtyH zE&cA5{HQ#d{%o);5g^gJdl#XkoMf5ux8_2XnCcNNZO#|R6(8D_X8vajW0wl#m59Aj zYiuj^1DxQa{;jK0(5_y z;|M@F8R7wWw${lrIbg9Ool(MQJn#|Q;d9ykq&+YR^w|5rc;0n?7^`*{v0mu7RIV8$ zY)=eZLaw4~1$mbTlZ$APXOLS*a~RlA@sL?pyPb*F?sd=Kla%z#s&@nPz^a@Rs}aoU zetsGfa^030L{gTPmfeS8icXfS81D4=KARZ~Bhs*Lq>fM}MflnveRcCGljcw3>bpun9wIH$r(k8}u; zpeEiRz|d*J9268fZSUxhWrgT*51bFyYafL(sor2=PV5~WEtmAiJ09O_DZhX0J5;$+ zc|IE~qH|Viy$EpqNeOIvYD#Aq)dcea^F}fWTdKp>jJE3@E>o6f`Pb&=#hFI` z{V^YbjY9JwwtuTjT^8C3uC0F-nVQG*!StJ(NQsp(Ne8MQ%)h~_oHgH09c%tkG%aTM z*+8hFBuLC;z0{NBcR_koRlvakl7#ddfsZ@MlK#6fQ{QqLNgwjxzOCOBK$uw9Gx+gQ z3UmO9{Sehg0Wck^dqGR&zMglCdJ@5$w@0#0mfN$Ak+KK^yQb!$M@D}KQ3X1xLFcMq zxpWxKvD41XM5Z#U>&>zD?(SURRev-tW+h~?_skgF_YH`?9O%Wn1>t|bkoZ-^V1gpX z3$^0YLU~r`rQ7f89ff46GM3#2g48aS#o^&0lS-cG>A!&c;E&f4MAn|G-%ts;hJ~sYL&>qj98wA-|8c2h#<}gD0`Lk3% zL;B{}X|`pqfz zC5?TVMxf!LS^rnbrdvH*ZFhMPH&_0*Qd$)Vo0k`IC^uQbJw~ zbuUjTpNNRhSg7>B*YsrMB>l{+Ful5AA28aKW4z*|2{;QE(8nvLWKm%WmN0$+b;{5EiIu`*7I$M!Ma{Z z7&YTzf>zW}GZdN7Nn>N2cLJ+MoO0&GwLcI|9aD)cEN;iGzWyzIaXHN(ZMfopvaugx zEqHQ6t9-#4q>Ws)QpK3B%#Zcg>=o(O>l&m#ynBCwPtTgt@P7}M{~yx^|6hmO%uC{8 z`Rww`G@3Q?3V+`MMuO=Un1A{0FqSD=y1xyW9TT~_N#%03r13XzzWdvV3H-dY^|CIf zD;4b!rR{G+25K^w{l|RuA)X=_{B6ul(^EqPKPGG$&h2HvUk6P-3)?gexSX*lo2w#X zs(*jmjAqGu$klW?We>|d5)!liG3-+!z5oA*oo)?c*W&!V?R*=qt%Q^Q%0LEy@JB;x z*9$1A|Luz+9Y;HhR8&+u^X-ePtHfkvS^$G&W4JTCvRcx$y>iKA|8ozdTjYW*ktcEq(x2S_pPnzTz%rFCjCeUq=WJXi1JF+Yks{OCnVIC2 z6sTYDgG}TnFF`hnb!aaV8a!{VwEzKb%8*GrxkBQ`A|w{&%N z6DzhWcc7~(fgpC=o&x~;#*I~Pu5vd9g#1jkA_gW6ptC{lf{qsx6}=L5mL%afcV#?% z8liR@2Qb~#xqJ|u0`p|mK zDV?dA6_72UZD3N-*0h0-ytXH0q`5CtLR zeFlub?Pmf6n#;bPsCs|8VgLx+FY8xGE+SS6FR~|n8OToR0f|xo+d4l#AIwzV7%hgb zhS`;c?ll~0OGyn^cWC|RG^WOM4bTqh=Gook@-1?790030R9Jt;A5bfd&{6b z;_P&%yU5-D1jK6z35oeV(O@#673ffCasb=FTy+`0e`{_|SN!n6s?sV%$a#ODo5zE8ayOSmm(6NGtZ<8Rphj%PqVC+g=i3|01{82vIYli+VU^j?#~l+ILHVT-hZ;B zLK_T!=No^^!}(Mn^E9d)wkTCLBAC^EvBG{$B6b;(qpMY{@JOTcM&DS(i3B|!j; z$i;ui=;Jxz@kaH9u(TyPkGY15O4PX+BuHZL?Pn|X-=2O9IF-wu=|4Hx@cZl`RNn@5 zB!-Wd+w)YNKzB}+Q?0`~;gyAtY4Cx#v-8Je22Q3~gZu8^Yk=(!vE2eKkvnIUS#{U{ z=`0x$>7MRX-y}aT{ixyiU{-e_|HlSzZ*4t|-^+33h5yyQuHRk{{smVy zWxqiuySp51C%#P#0A@awa!lNzHq(EcAx0ROFcJU$aQuOujfBrB5bIjL!P@OW9GBWG z_fgd1GCYYAa^^b>?|Y7Aqz<^X6*)v}xt9`$UvK`2)U0 zJIs(5bG-8k%)p^WwVMzxuLH=EE57<1uE)C}At6AvXA+YcEObN*3kx@ydeL$N$p|vZ zyRxr(UjKsF<(XsE?iXM%=SzPn!P|@7?gzb*0-AFRoiQNl(`!{Y0C;^T3vJK_@-$zs z8IM&fmR3F*d_0QSbg>9e$rX&AMKuO=z4emTzcHP_MIVF!)s^h(WhW}sn);XWWbl>Cq9s(t{B!ebz&(%4mRP7q_HU1WS;qX|etaQ{ z{QP_^EiD1N?+QF6ad3Z#r~yP=4_NARfT5pmtjVGLa&T!g;SZ58Nj_q7g*qRs#{mFX zA1_})D%QiXAATw>URPZ#A`Bqkb*mBovtc*c_3H{*D)|SK?iT|Yk5>}i)0MK-DxLNe zhtff1!WVXpwcK?$_?sJ8)RA zt2u5=Pyz1Q-wy=&@ls26{(B0fJwQA^?pz(p&6IewK31BNQ@|u;DKAO$Fe-#yuW5g6 zG*`Wtg`0c7c+w4IpIPUP%JiTUdozmlY_)rJl5+n^;Qgj5FFPQAvFq)x+dvG`?*CBL zvT1U0@2O?*&K7@CrNiFfF|RBx;)5WLi%YHCCSL(noj^kOmW4%rc`?fUyF7y(bOV75 z=9t{=P!~V|5EDSB;LMWR-*$U~G(Z?Jl%@JON!-W7!vk<5kQ<_y0#oC-V_3_o7B#GLWh-YVK362YdB?G{_6A$&|I~3F z)|$h4zZZYg@_xC|!g-{DZk^Mxt0SCosLls17%=BWXS~n}v`s{4+k#EGbh#s%lOk&> zL+1m=O}W<`KuG2NDk#Wz59$Thcw)0Yrh0x8K}A3V7oC9Za+lHi=5<6Qq^>vt<#hxy zUe0cTmO5B=^yQEmz(Jh3SU1OyF3>oc*5c9jd_AXMd!K6Hi6E>0U+}u zd8jBUMH}WhqRbT(dVuiS6=2vXY1eI!Wc7>L+S=MqW2b)b?r^<)1KQ|hj(%wGgNi#) z^!_Ulr&Cipwl6r02R`;9le++|;Qj=OMOlB#b?<2@dN91k1XPlmAQ5pBY$!{x`w(Q(ay5;Qihs`;Y!vW=*J6-P?Eu#E(wM)vH&< zf@gp`;^CzUZEwiNa4#Rg>AEg|h}?xP5dv_U>Bjj}KE1thu(R0R&JL)st`Jvw4%3wW^jg|{7p%OVfG|)+i^c2)EPj;i8#JAKk z&)Xv~>}J;1#-ZkJlrzLsjVo6?u1Mb%d*XirP#8=mIS~;m6|hXeGPj57XBE=rNL`14 zjZ9O_&dd}x#6f%XCJXgjZ+!GnR5^cN&8;TlF^^@{7S21ZsSzz{uW~)v4dp;VK~ctN zU5Z148W{QV$N$omAGHp`D<;rysQ);n0xF!z$1Kgb0qbXLiRLsU;HlcG(t!j&&}@kga)`cMeW7J zIh&HdGt_uF0YX6iRtet0biIF{*HU|U2+*)J^y{>8v9PWA0bn!sOFd#arS2DQp_G!l zoFGhSf!MgWm8Vf`u6ecqUBG~I@crB8$ue7+iC8w>ms=?ujsEyU8_;#9Ex~Q4dqdhV zN|>3IkOm)JaCX3dsG0q_0C?F!Y2U+yXAfyB@4wbHI3E9~|Mk;IStftnF;)~6ty$_# z`EiofI{o9c00MS#5I&*PH@=vus(c1Ql1BEuepl?bq7qikvVqZ2=dM^jfW4k6h_-Ty zW49hXdPK;fe??5Y+Rar%V=PTJ2D-=)q;YcY%7Y2#qwV?83df!EvlD^K!dOM9?yh>-ei?4v=a^s3t22O#)R694_6J7 zgqID7yTn9_9w!yxVvZ%TOa1BHAZkwEjdxs#zTK#a@^hDouyB>8pBD9l!PAWfKX(=e z<@i2_D967ncqv%$-)m-3dzr!sm}q*R_G{|jA}E(P{abE+CxU;>XZn>1X2jMGg!W*T zD)ctv{oV}bMfT%#Obt#CX^>LBmK5J^B!!zHzHx){A{h<+zTDWYOyykjp2VxMLDkjn z;431hn-WLU(Lkcs($|myMI_ohT4g+s%<9j5e(y+Z zhF4x3{KQiS--r6=fkEAdUoMZx=s5dP6GKoIiGVf><^R2JQ88W%ctMx+1sy(H6CFM$ zjn^*`mG%sLh%LbM?*zO|j%V+ytKs#3hEV^T12!Ltvh;ub`vkl&ic{tBkgvBG`yflb z10jtuBFLeoM#GiBUxI1O18M_szNu|1q2`x$p9-v6AC#n1u>lqt zL+khV-}XXT&8IQ0-V(P!RaWUgf9#Jx`h_vOZl-Ix1oc}M&HvJ~`Isq%{maK76AXlM zOv>7WOfY{vygB0gowx-*{*MZZSW*Bvz!QQD^tW*pY8vC>*<!n)=!@bg1{vsa;q;pR6&Mkm zNMf9TeO+Ca>St7Z7IgWB*``27^)FfcT{eHd=!9=?Ngz2K&ZTVLL_8lFTUE0S}H;u9DPY_gpMqm z_Z0>S9E_Ou2M}7k{=Q}BSxWU;i7)C77)aVorSr@Vjnlfc-aCWhX}Luw&8n&o(mN@hR^0dxeK##6f* zI*B8e?=fj4o~MvI5Wj$vm3dNar%cj;VJO`0L~+xHPDv_(B|)=}cP$x8luIMk?iT0xJrd+%Z>^LRUi*EL(&L>Tbm=-Ii&)KFW2y<;AhxJT3fd{`c||1H9(ER^2S{h3 zE6y3%2MM1Q^olX>Imr2&&oY04IOD)_lkwZ!*EAK|o^LOPx_et<`E~$2>FOTuE<@sk zgGm-noXWj2TP}i0HI)xM{tdVa!Ft9Imp15nw2F+$ATy0$|Hj?hQ~UMOk`eP3t?lNN zn2Ji74gIhOn0&f~pcWbn9UY3p=!ioZ05;|-9@^**_rrCK-vaAhA1!~D=X@og(N+7Q z1bn*1O>vX)9;Y=|o#AbVp1E@rac)OuR1h>$khGozk&EO|%Wb?E{bKz3;vADKF-WF7 z_I^MaceVtT38PY$(Qsapq`Vg#Ma45LC5Wu$OwPE<{;HAi)$gkpfzZV(YMusTnPo6fg|=Uu;f6aMo< z$UwA_92yGm`m2@OF*DU{RNz|V*2z>o={`N$X}8Zv8hS(7mQGdBidH?*HzX6zzy&0@ z%5Z^!za;G-5Su^%n7%f-CXxae6*$7so8bA7v(%Adi;J^^$xMIKY?N=Div4M_%*ReQ zFn?cML%>qdsw0*lL_Xh{4Hkh!2^a{_{cDreB7&dWv4(5wKx}bZ>>{<*Ao7tK=t>a5 zT0u{TXAO&R>v_D8TYaupXcT(RL+N&YWXO1)O`d})YE*+r%wul0Y``uHPq%NDxG19fLm5TEdDTAlC7LO0TxRq>2bPTIHPhrpY?MuBn%xf zFe{GhrHjxperOgITS&2_ryPaG{b_e!-vDl&p^~3mam~0dwRO~@+I3|hBUt$Onw!Lc zWtzmkO)9pW*5NWBTsS=F+{8t=Y63)5oV;h^V$hbt3WtBKXN_-aCEWmhNr;P6Qc|9u zpI87#19N6RQE}8K!&>xW)b4O|+Lx8_!~E$w=KB zAcY(OXGwpTi#ztZ1;*mZNaFD6!_i6bc$w|a&W_hTEG?!{!ern?p;Y(U@TWi$J2^R# zpjR0vo^;C$lJQ3;6Xb<&GeHr0pCFx8A8!s^hZ0D{N2{!o7@UPnOtHpjch%v)~>NbpaWfyq?6 z92M}h1X>-eYaTl8E%&Dbb`7JEg`zw^CA0W`*zx(vhVF%uySlXRcS7TD1qP}G`n}br zjC#HJQmr((l9xze&>q1|B^BVYhy!@#HZL!9dvFsMp#9>R1SJEbyUY|6HI%gVt#JZ8 zfhB+Srnk?OBSEUG5z9X5u>6{(YFuR*6LeL~Wpm0Cc%k*qLML!e%@UXx;3lZhn(fTr zXGEJ@ske-F&%uFL#E+4eOKr7b?aY zVM?Bn?(Z$eCdzElv`FVUD)xhkxK@DVoUHb9&=S5lwLVMLpSq*_!7{Mf$87s~N7SRE zyf&ckn4O$)t)^*EDvDV?qkSvThM>B zy?wQPm-RwW@;$QF!lc72hUS3IbSKYb;d-}N-zy?s)xDKLDA(mSC|zI)yyr5F;Im%P zD76~Q)t>ANj+c+-_yFep%|})22T9PSPtLnbNjXIn;9JBZZh}nUlhjO1OcoOr=jZ1j zZa;4RAZb2U0v$nOGWbd8Y`5PB{Skj;8SYpp$1UW!0czwSHu8xZ zZ{*+p`mtdtn>;~hn3!C&r#1717w+D%HN<0$ zJ|M5MTa2G~vNtpoHeBe4F1LT**rqn@jt|f0@6pe3`)F~!s6ctFth_uy#GMRzi4+)e zLPW$D5Rv*m$UGLnwpr@A8Z_1tN(H`ihKpR(FS~G=t_b@LfWz|va?`e&X?UG1>Ay{# z%r-S|&`!6-b4#e`Y53>oo#HRvg%HA4*{6SLm=HpGZ^^?` ztX5kV95r-bCo>L`Fa`3c9M#LgM@7#i*hwcF#xzW>J4& zN(xmwogaCfxtf(#LF#{;>GeAteW+V=U2()YIPo|FI(cIX@JQ&1U(51~iw#j&xX$-- z-IGFCu@PO3`;+YWbr|WBjL>iyQkk=uKuAcD3RHQ3H=URkiZC6?svYs>>se#I+ z=mvb%)fGDs5Ki{j7zd?$7~q2gN;$$Di9D%q4c24?V2IvM@-BZD7i)FI5b{DTwD}k( zxdk`^9vPEKqhu4LEw*Udv7&*H2*e!(3L{@E@*F-SU>{<^Z{NRvkj;!*LJ8e8(!h^X zldsqOa6umv=%xWVgr)BWxyo9A``+L(Zl-Rg6jm@gJp7)H(%ju`0bImI+Qz2vwwNBl z_4nIWE!P3t0c3ygik!l6gVRoSxH%xgM%60KhF)@T`<#}Z9>vF{wLIX)Iw~TyI?-{x zAJ)c5QF~t3L$b-rt0uHBK^A<+qB+vq+B!1we(g0cKr^7-9|^Qyy|H<;vsgG#_pQS5 zb9VNN9F0<5ShkL6-fUcik4F%J~L^N!5Bv95LfX5`WcDD!k z9E)aIYFdAqNlY|3zfDVbcksxv@5L>_fv#j7&fe%GJIWH*6T4^6k|SzZZru`7e2!JG zL}gUd`?f6T=2|`Q15y$am2j^Z26;51qiyKUob%HoU=eSLJapT3Q?9|eYf{_;sbecu zLsQdWK!|%Gj?jemUCeW%3|^-SFoSS-7hZ+~?dX3asIl8`A=bxTtLZ?Q9wRhZEFhFs? zGYuBOmQYMKpCpFIf=tM%FgQ3kK(kr9(rIr#Qd=oUgODW_PbBVM*US^QHJYkIKqVy! ziU)sR!^aO|&{YF#9QMBxYB)I@zAp<;x2y#rvg+de1kiM-S<*B1@AHk5-Z?%x1^M}& z9i4Fk#W684X3NHGn={ZUApl{IJLP(=G3QDCHr`v`ikson2b04L6}Dz^8v(ka`{&hn7Gmm<;7;e%sobZAQamIxLP; z2*5W90Op5`h}f%$J;kk60;_F6IVdS9aXH$4B!H5oS^h=RAFuEU4+!`>`}^_idcIy> z^>eLZ&U-8K>+3A^MdHsFI%8<{I=ysVt3!c$sF|E}2iY5j1H3lK&xgmp^F7xP3I`+qrLAz`0yaSZw3b8qjYP)=eutes5HuKTEBgZ zj(C%(S#IZgyvrWFu~=j})N?kJsoa0thxF52W;^ON14KI7d?zX}jseoOoomEY+ zm8E6UhqBh3Ds2WIR9t?WrR$im=3%w{rKP33Jho^1UtKn9k(oAq<*zhKu!eZ0Mk;4c zY*wnmrl1qijmN-)t&bF;b!L4R^ztq#;XM^qW4JmXD!pShF)^V}C~9VA<_Uj?cz8ql zbhlp~_;30LacOP|nMucYFlD-esmZUvzrag4<`JJaTe!OxAytPFWxv#B_AG3=W2mv_evfqaiHRwOTh{D&+Hb>1iL? z`}b?EYTWZA!at{#dH3!XJPvZDD1vWgg#*7?8#XIzCh;M^r+qLjJ3F?;O)W}OQ&Wck zBa1D`Itc{XW%?CDZPz_$my1Gc;8xl6of+no50rVu#qtjx%*Z6B2NHj3zRac8(?ba3 z!~Zs%uUEt;N&?8TDXM5eTmi~ESz47u;(1`@vQU~lv$MhYOf%vz0mBD$rGUKH6IWYX zt9ArTZ<-C}YXzoa*y)O!qbP{I)Y*6MM91g|=3-Mxxtwk_%S14Frl#RhPI21J5};ne z46bp(A%Y>PaGQRl#%q5p1k(5;28a<6eDR)ouZT}`fQ3I27$^94K#XUKbNzbFjo6`F z?F32sDfNKeG6S9A_R#_ZnLa26+l|7~ba5$baS&kuSi{@6;VH^!A2* z5E0j#7tb*(F*kp(-#2x2$@O*loQ`x#htWt%O16d=(ZHX$g?Z*n8Bs=wzyNykqQK-R z9IM~vNoIx;>~D*UO0Y$Dh%ucV?|I?xPWzG1$bft@Ha0eV!;U0R*X^(gIAyY3gv7!6 zc+u;~cp>Lx*WqFda;_T)6^{)K4c*-@;-AAjcw`Q73h94mU-mlft%#MRSU4SRQy1Oz z%*`?-3A^@6Y%T3_QWvriLqZIpP>O zXbq!XtY~O$4kq_&hO)}B=LcPtNsG2L6)L)}Z1rLeY6jGa&aN9yo(gl)cC%ZXn>yud z@8}*q1KfX3V?8Cjf>Ly|ZMHeM_{AuVGb@|kAqeGC!DMGi(9wib@6=R?;^X7zdZ(T! zssy1!4oe5nT)PBzOB*hbkxIZJ=(ci>#_hJ#^RtuExztwm3WxlnqN2!1We`aU(c3ug zbb{Q<^J1hSa>@qic9+-J18^Sp6p5T4QV9eF2EKpzRxodv;7Vg0`4uP+!u|tdLety0 zoz3SUR7^WO$y5rI#D<#6(&C|rRbUsbdpo4_2T;uQ=O^X!y_Xj!^39Z3VcSE(^T@G89h0A z>xX|u-u7ywJL6$2FF>B4kt;Vb`R&(FOJh~22%&JRfXAewV`w-8NZ*JPto`TWVp_$C zms9qBtzcS(v$C?*Co0<`V}+cRnpQ*=N?_A~YK2UeoX2ReL#*!T3VXRWI#s-o{*^`e&qEOh!EfB&(?}3 zDZXvJK}1AMdX#Kewza+e%pK1Sjsb+u?w)W2BqT+F@hPp)+E4-e^~CrcYX0d+dP9Gd zN>QFe6rgFh_V<1JTa?iOiz#KRB@sC|I1KQ3!SmLiwq13q74QY*CW+V3(BSRuJ;&wc zH9V|hqRW>@#xB!f7hzUN?9N6(AsW-es$C`c{=RhigK1V%RjvPkVZLNCw17mNHdvcw>JPqymYiDTIZ!nz-S7JC(1eHWA@6s||enMrd)} zlsc=U^Z~^x+8d_MldojkJ__{nXSHK>oFf%9D<0 zPD4Hbz@A8+LeMEf9NJrp3GR3?41Q~Cf&6%+q}ea_0;Tjo)Ops7tuho+bvJ*SGH-&UNW`yTHhWIqc?_~w(d%>i$7xyW z#d3;Qq(Gc0!Z}o=fAUdb!P|FR@f8Tjr=u+Gbfq zm|wq2iWG)Pdd!1xhQ@zJ@OViT01%n>`eP!FpiATdlfo@ZEp#VX=;?(4yG6xi$Wtf= zBEF_P#jcEAt#GN*`M@YcVM4yz`QsI^5Gmv`0LREJt}{Q?_W?HBsJ&TQ_SsvD;w6C3 zAOiMe*OUEixbH@=XEaNQ5%3ATsuE3<*#iRuc55T5s;b}K=YN0svfi8Gmuid<=J8bt9c}PHbjo<`)LEWCf{(yHtyeQx2j$JJhstv7*^iGTu{5 zOZVZT0p>d6yzel7J^aYzi7!y+x^)OI;6fHZcME5N=#i~fv=q)S8vg3_Ysc+56oK(l zYeN?o7pa@=SE^<@V|Zj$sfj}xs$5TqxJ>Q}x;R4JtH7L}W-86Q@|o=BBm+y{!dFXP z=MiJ=={(+BO@fQzGWDInzKCE_y-}IAd8NGLai(D1J!^lA(Xu{=w{PEazZfahYsMtx zYzzR;YPb3o;~BrjLcAOZWk1&&mw6; zA9IY+MFzr)eC=wt!w*Z2_kzh}*Cw7`;%1iozCH4~zFF*3Zksq+et-o)HBs+d@29zIgzv7$B@o{`pNrE zpmu*M^{Bx$lGwC*z34>zSBXzD6j#4yb6VcgUHWo+t&aizhg798Im%Fv4_JT$!QmOF z7bM;Yi&(WP=-BupHg}gFtKGh;_a$fUpt%dZ$W47SeONX{I|LJieh%*Y?l-H?_SNI~ zZF^Qfhcc54WGV-zZsWYVx`V3&c==M)bj5%68MH@C+qAu-ACS8q$)fozT4;D8mIFwp z0^R7FNf+q;Pub8jAGY4KG||(mkG!S}@|jT|SnAeK4X?1NU=O&b@x%e%p6o7%MMN~& z7+P6b0c-wZKK@|sZphL4{1p;XQdLHTV!wHgI(1*IsFBJ{C`_G7=IrVSbNDglrtg1l zZRt7*QBZhbTp_f?D$Me(D zC+XOQrb9Wvdqyx{;F0{Qh}7uVpe=Dj@z_!s(;5Cc0c3-{9(rnd34l=?fGlGCV+S5B0o^P9(xE zQMNTU$K0eKLi5{w=e1sVNb(T)PY!hac5mD@?buKGz%(P6)d9vt0Ek-|$asHim)pUv zuKXNLK0%n27e--@zsP;=4usK^tn01mF)l?2gz>6vu{I+Z6^wL7N5uBZ!BjSIgX947KJX;bH6jY&9E}U~dSm%m1blXh%7>BvpqgqI& zjp49_SeD;*r!bi8f#P}wm_k=`txyq*3Bh~!nvpPw5|5{C(|)7;1o!i3^xo+wQVPpn z$XHQMaxyX!k&_jUJ0LCQ-`3bJaXw(F@bU1tLQEV30*d)~+0*Y1NxFaP$_w|A&9fNk+vT0MJ4Ifnx#ga5*=Dmlpejw6kA3x^gXL?vlV zNLXY*Ff;-Q3t*jQOixb_p4u$TSajho1|^J;<5Y^S>z0IXOBbgDK+Dyk+*#UKK}SXP zzMa+F>Nn#fN-2OVvzCARYfc#TqOIzEF+ddb_nN45R?bjFT$A{TqdMU%DaJ3@sJ=YN z3okm1DRCYV9|g1u)YF3|Gy@L%61Ci7x3gn0um3^TS3p&@M1RwWG}7HlNq4t&h@{fp zAkv-Er6An`3W9W((p}PU0TEE*f|OF<9Nv3h{681(E!TRFd(VHI+4~nWd-kA>X7DOb zeW3V9gSwLm*`&wkm)A5lDzfeE?g~3E3z6mQ0Kxj*>4hDFf5I4h0m;sL%>o%HrZc=0 z&5OJyCnwF!%)YAL<1nl%d-gF+;K&^S1~8UIwIjAxX5o>MV|kK!oY65cDQ?J^B#-^C zF5Dh8c3_XIP#KHk?-rU?A1O+Urnrd`HW8Fye zS7>M`qr3(gg34xW?!C&qwAn_>!IXG%e)H7E9&SfRbpmKw3F~MrqgUf81X0xG>~kKk zVgI(|BN@pN^?I+7cW`)^XfgvR%mX1Q62Obod^H{ab$@@+e(*}WpO>DV-U*v(m2BO* zj`xOost*;?FG;|41Ox=GuKSDppOw1#Q&Llrk&(ee28_aB*XL{L$vVXVWGyH60eff- zq`#)u$Q3i3k=O(dk|!-kSVV+pw;aRk(Zh8IVbw#`A99~zOeyK{61=t>p>Eqc1n9<) z@c`Bx_EEPo#xu{blf&?%^xw_rDXrgu@)vOUhV{2XCgT3f?Xj(=#V-JgY-R7?l93~2 zVEBf}bGv^Z0I}l0yC<}>)OZMVC9fd{Ex@?S_ho-3of5+yP-l0Q#g7A))HcvYHzhAR z4rM+Krp!k;Iq;jc4Glk38nXYCC>OBZJ_#V)kI0* zAaH-W0FWl;G%UF;$@B2e*-Ux(ZXi!uC5WL2nDQ%lQ6RMP3| zxHoSI8}zp;%{D__WO4<~v34$$IwZ4)Nc(g69f*g0aLM+8B64v_G&-NvGtm;oTnAPM zXhj*+V4E_vN79HDhV?^BOIe1o2%PLFd?tT9rd`26(!iNyUdP6USst!+N>WcJ(aDkv zIPUE2`Tv|@0Zt0YJg5yWOPGSJ>6A0}qSU+O8Rd)1OP8gF(XXTN*`i)!D=RsRyJ+Xi zA6#uPW^S=hknkCqnQ>?&+DyAcZDS1^9HH70CCm&xK9gRGOhf+Jr` zQNlMsv{U2b7o3{q-BUa3nbEhdsH|jQU?{J@x3RfdQ0(xnVz8mUA5lG#QdnkR4#A}u z>g~j)7srYpiY2Y5I9L=TuuK{A6S ze*L#Mf)kiukASpu>AWVc7Y7Ldm^k8@aEQm^`#OCcZrUUo@9P=SN2K7vI$%n)M@qUdsRS$ z1zhZ9lFZdZsviVp6_~~eycu}3b15*ES%188=m{9h7Utu2y=t*xLY4v>j_N}iEy4HH; zz{%|T@qWy7@+31)0*$0`g+BN3Y)@xGWdD0W4zTTQLDMdThVeEX7+f_^qFpKkY41JI z={zYzz^=SLIVp>gjl^14kxK@?7G%eSHU^kl*;V2vXho;zhTn1Nikg2P*I`8($W(42 z2tI?25d1v*y*<7loi>3fS8X{+Ktq!UWTKF$C{P;`JUl5>nxZSVWLn-6-?c?Cp@UMk zN31$!rcO>TiWK6@${yJlP`J1p78f%bei*n9jVvZTokXP)YWno#i_Lg0hkmt`sf@uQ zvQ4Nl?LEF$xYA?ewhMoN8;X=b&_+fKW{wCys4{L>RnI}^xE z3x%RTyHwP`;peR()cYB^TTKtSTfq3C^RN8&Gmmrzz;tQ1HloU$0S~fA%X`dskjd{b zk-}R=;W7c}{%v9k+i)S1@9v&jpw{N^WyG zAYq&LI%qVDyol}w5*CI$95P$)px5vcPb5%@;SQ<)#5 zByOx0zva0C{(2}`{6S%U$5;FlYa#Q8t3V~YAeynl<=?-$m4>Il5HXaCaioJ+lDwyo z;_Vcf7Q>JRoqm5TQcO(SjwfW-$3vP6W;_D;<^J+z*l*w^c^Axmum7GlG&Ee$i;9X~ z8P!-S`Pavtbfny^#X{?2fUbd}Iz2fN^M>aSW)~PJ5F>%3q8Mu4#(mXKx7sPq)z{namB`%+xnbLgs| z0iRn9*u~N2L}pT$f`B4G1}jV*P2^phjbPtCHb)yYbd@yr0%CXlR!^r`Vh-DKXU*~c zL>d=W@i~8iQCjfHC@3f+S%TwlI`$Bab@LoYl?M9{~XYpbS5079f3% zA7sz{`FiZqfrquby5R>uGc$BC(?!hFQgt^KGp0`wR${iqZ8Wrz_pT5SJl??E}~FECV57N&#{rSY1y#{ zoda5Gu_~VLS&CUZ-7U?lS=JSjVv?q-Peo|KReISYT$5X*WhKc9EGj$MOm8d+NJfp3 zRfB(jHXXhXrY1E5L^Lbix!l~`%Hq1;+Rs%_NOe$%`G_PqD zzrEzER;@xuL8(^s+?(enTcTEx!SITpU*cl!<}&z`N#+|O(e%h**Q{peG~OWlKFKg_ zWf&@d+V~Tn^5}U}^}JZAOK9Gzu;1Ap@B;R8pQs230P*BodHFc5USddA1It6is*~^8 z0(9a~o@9`m9EwO_x!*lfjPH&e{(nIB4^R{1z$tp|p9?uIvL?*T=ul8lEVykajR7gT zq0#{yE@QKa~@Z*oh9hvywt$ag0;}9 z{AzFB4fsZ(cYJm!rKL9Dd1DD#=oyqX@1$f<_n~wu(+ScFX_~1}DUZj_1ZT%ZXqvL= zT1NoX%-VEF=w)CZFsp%ocT0;k?|~_RZgGlxhZri*UZmCT`$|ay`SLM#c8{d6=N@T) z{WSLNOTO@N6K<>re4jpjYV|t&q2jr}$mGdL;1#X+({TDBF0d)FB%H@g+v9oZ+!zn2 zsnuIBc2*FP(SQ=sAH=7k!q&JrUkfT#2+e=C92e&cskI^=81>@90;C*(oQL};KrnwK#Vqaw(Kd)GBepw_c?G^D!p5oUKgIU^IZ*PfOmVhBi zC^{h_A)}ogRO{D)(^>Ys*H zcQCTDva++sapI$%ei|8Y{d_@x_m~=}(~o*p8;AwW(Ct&JZ9eMi>OeIRXsai~ydD2_rWkOh`yzcYd(SFf0+RzyP3s12Adl)v*eQ zd9o)m$fEuiuE+w%51_?F`7;aEP%{$~lavk9tBa#Y-&IahA8JtZ*g_X5tna(vFmrG? zP2@{AyKmLh*E2b+pqN|A$l~JSF7)Iic8n7EhTMa$ZFiV^d{MF({5g)>!U6@m2tdl? z$B(^@Pe);0v$N0aKWLVJ+p0KBbOCDjewP8|d~vb9N8k1SQsXAKfq_ADbMuzEVjl|a zmv_E6jq#NX&=JL+2u!sf2=eQa_dm1)4y&87{5e;(HjvC_ zq$8BXuU@)xZQ0)Ab{vk5~Q zDySg>o*<9m*s4Er-tF|$Khi4v3WPhBevUa$b?*7k+1Sy2Ku);V@?mJ$u=ta`h1A7e zh&bKc+`te-d{1nDGkC0Q{~dzWqyDZCWV(Xo?lSTd2W?z7F&d$!ZtlF97 zs>t1BtJ``6@c^GKbo5XA=~G_AUDQULx7lf#f{N*%jScSb?luGC0kfQ(+{9F)JSH== zH%4cBk^eG(TUnXToToq2&)2ty$iN8={m=21Y{9&1=*5LMI(ih4Yc*@Hk+TbH!EloH z%`;ZpYQ@70f4v9q)Y8jsfM1Da99!i?AvA!@{F-f3TFt_t)ve3?i+Z*Yl*NE|EKuSH zujBzn*Mw!peNQ(DJUTrE;{KyV0~i%q_SA(iI zlgJr(LV^AO_(850^n+NY4@^kbma2%g5;GXv8-8+Q;VT<}r;i);EMj`N4WL zlSpuXy3OaMl6nzwlS!c*#tv_)4@VR#_M#QW>H_%mX>FAs0C84VS4T1ufoUv0056=M zARNf)-!1&>kL_fER7(duM(VTzP^!3PnHl+)Pcpqcz?64eu1!*ze0EcG;| ziEQ|Fd83m;{_rT6hdgmV&xrd(z-LnM*;WT$|7DNjI{CfdxVFJYPfuS*$s;4@*##e(iA(p~_ZX4l)6}$(l?JAOKvb$3yHlvxn=_A>~45Xy!KE0W`3{;j~RK#GJ+TJdn8U`@@EuTo)z8(w)%XiYH zoqZ5^bJg6YD|1;32)b{@VXfmDFd}0>`e57Z*Q5C|O(w0L92^{#z`|APC z-tF3V1A?BEF3d5P-dNjuiG*~<3(&E!L?mE}lWG(4e5v+nQd9JW*^%>(vxVnS1= zN5E89V{m@$8UB?h7>)KAj1 zD>zZ|#v54qKFeOB*AS6;)&PADgP96cL?D-|Bor&)OCi5-x*4KTj=|LkVjEo3^PAS<1|V5sa0(XUEicB8ZaU7h+)PMC6QV@CN9nq z7zlm+dEg-fuTS;t>Fy!Be*`mI36#soY{+H+2yc5j#3!B}p{{`-re$ShGzH-;-M3If zBmQgjB4}evqdWK!5<}zZpcyIWveg{AlN;+Ys}mdL0=s^7*Vx#9r=Z)LN$bC-ztH1V zires@yE`k51Z`|=^z`Od+x=?uX~_uLboT(kFn`jmFs#4-A$>6#wk;^N@A0%ulWtjx zvZ<-5nv6hU=~`zX6={qT=>{Sk6mVSD54N?%mq1{tkr(P&k-`k2HagPC;L(;i8S{vV=8AhyjZ- zDWhj4R|P`KV{iWR>_&!LHOa{0XYkp`i1!_w;);@NBd+>wc0ob)%id&=#X~2EPOG)y?A(9ECjHBMn=ss9x0%0QapK69#k54agwXhLBM7WHyd$VAk8wGEurgujeTgxDcSZn5UE}h0XtUcU8i#fpB7_J- zP~S7uFX>Wi`FQ9PM_WU0Hzj>B^BoL6v9+MEQ~8F_#zoU}IU3R6QBp#kYypr{ig-M+ zKVcOa03>Y4N_cad2T7@gQ#vE!Qt}Zn1lm83})*|ql-BWUqfZY@Un3KxUHOrYzdzZPGlOfXT9;e zTZ?Kxd?jzCn~ z2WsNJ`Z;6v>&&v&_w*;gu7NR{l&9R*ZmcILS05*f6rbL9Vby=@KG~gCNq>yJk5pcN zXFEy1Ai4jqg0he1P~ZPgLEWo6n(6;hPn`bvg*}jM;QPvQ=o$Qt4Rc#w{klKXL=KX% zv^Efo%>^^Zc?_jp3I&Ys@9{7v@Z@o;%LF+nceA_E8(Udf33;#u)mUN<;7`&Xzlcc$ z9)0rD3sK+hCGA$veLyFZ+Py)eAoT!$e+Ktm16Gi9)f8PpK|?F_@;_`pA9~AnE`eTO ziwBFa|0oZVJBydOL(plFkevJ{42IARZJVb}D4iKJ%2t++fq#??y2+-p!~jo!(RceN?-m0S^P~Rf!s7IQ^l_Ce zGW*H_=e~G~?fw1uRmxG+mJ2|u&8@8}9|C!xMXUj!0xtlvRi9CzD<)Ex5Yx{$xfNAa zalU!bqTtgq4Qn2Vb_oWsc5$@X8$+~-?EY1K)879Ett=R((q8%lF>xYN8>rphh zLT(!X&IN^_IB0X-e%YsDerFH>JN)Mm!jX0jO4X^_)H-i(M6X8*yO7NfqRxudbH$)* z0fFD_Poz0q>!b-~?!PCEwn($UHjE7&^V*pziH(oP{w3rJb*cofQcE;;157!S@*An3 z?!IAHO(2$)F2^QNSSJ?uA^>LJunR#lQ{eD=4pEa}UyRH<3AsF~jZv{Xr zuRJ^)*E+<9VV2Fn;(WeJ^wysH^g?!eron0HTcy!c(E#8f`j(b|vf`vE9 zH)zWgnZl$}qgoH#ANzxuNNfr*aq<6F3L{WWt0h!rFQmK$kgUFN$fQ!QU2P^x60>NB zr^VzO)LI)gI2M$D5Co4z;K}iucFPNu=~d+xhYbExbAz+Cfl&PfUnyI@n*jM4sAoAPkEyB1SKCe&%0%2( zd&h-%{K9^J>;ho=vky8-!}omFdr-3hr_mL?Mfg@_;^N?d8HGZHal>Iy!)RFsKXrl^ z+4{SQq-?}tOioS$(^98HV>R^V2o5I|^R9-UkT2kn=YeG8Q#La*v*?Ta1AwAD!Wjq* zgAoL&R`fab4=OHi?KD1xq2q2G9WfPlk$lcCKVS8K(^y@kW{@sYQh*GAxfB8#MYw{A_6MDE@Si}Q7d&-)^$Ixsv~(Nm zu3*HQo12Ly0PO!`ll`PSaV79{Ru5=sR?Yn2;#ZQ(aRX}uuJUkOs0^xuk&X^AC6g0h zMoOxGtIg-P>MlMzbnD@C={SI)@*MeY4XQf(*$?2SY`aGfePeR-eY+itK>ast%TLU? z<`xzpxc)5IrDm<&M9dkq!cEBImPpy*zXBj0ppO@q@7}5^vf?nLn5<4qX}eP(9n*=?8cm z!1ljZ+ePc2-qqZ{cV21nJKHNLk-@;mcKTLf;P3AbJ{$bo_iQi28tny%C3ZcrT!Bmk z09{L-hXiK1N**2_`ue2Y(-@NezkdCS%|n)E5S^=c%(sA<95DgO-xTj3jR)g1?hK@V zLWk;fTHt_@K(;@$PD9Nj$9+cC0p{egEZNyxEe+s3R2cV}i{nBM2pm_n>#M6sEHasW zMp_FantNV+IELnIHa6QJzXu0iM%W-C##e<|REg&R;J{E7QF8V0;BzPV(G!8WBT=l5 zfCk7*zNWsO!x;@-$jU*4>;#F5lo#E9mS_AoAYLS*FJoBtLfQVGAFOy2vojIidU)@k z{#%~$?%g{;SovPb=~N)Dc5oz>Gujn1>5UQk>sE3hHLCb`txzj?v@a*XD4H1jPsUJZckQUEoWdL8~gH|okU^50Vp ztpQ=8qm3gPH@jQ4l98pZ>h4Y}Kc~8-Ak$F3TTOX0a##y*T>Ob`Cl35I!&$8N1WGN{ zAtVjmef@zntYKi7oH$%wg;oLu^2G)u*hF)2Hnl9bfe!QmH>)|$wI zE~~|!Ex>s|o0@K1c2kTR8sor0kg#aW^?mhdfM5Oj{gzE{EKkxz!S_`du)1cQg}{zF z+UR=sf?1qVN8$+=9d&$*4>V$vI7sK+i2`H?j7jBe$)H^FXlOyZySqDo3WusC=(b}< z{*Ucz!v;s6!&Py(E%hag=KLlg%BdlTwD@wBj;COKJcQx1S+FyQ)z!KpyYS^ z>Gj)v>*M3qfCSQiB923UTMoEJWnT^f*Yft}`sD}=Z7LD<2-b}(@F{W3@#jprt32Qd z>*fV5i9g>{;c!>a?95EV0vS{>T0ud`Tlo~=_h|wX3i3!^QE`*x^Q81eQcBH3e9L=Y zVcqTS9v5YkA2#GgNZ{+-s4%ot&Rb6$r(6?Fr~Q|<$s zIgcfd>r}ClHzf#^(50}1azM>9GRgQ5<=$fH%p_2W+Lq%?yyUZ+3a>m4Ig!iiP0)H& zq&SFml~ifem@-~3?qt)-14V}Q_Kwy{SuUzi zo+R;I_Pd}D%kF!mih4NTGLk3&0ReFsxM@h+}kgy(;5?FOk?FcvF7Hyu->smgCLM&aTKQ zBp-M!!)K+MokV8AvwmM1@(h^T+SM88L z3dp(w*{B*}^GL^a<2G-%6clU?W!Nfro!$8BxX9IifzeKwt@Jb7H71MYvC&aAOq+fx zKo?}9k;=Txl+TZxH#RrFqtRa6DPZwvgFuU6)+iRdkeq+o;sxZuXmVsBZ-Q(0#~D$wL4dp*WTXV z=HG{AI{(8Y9|ReVKfF8o!9&_2rpm1edU^mHi3bM15^;yI&^rM`060;MCqKnN=byrU z>CPj&PiTOTj}NjveyP!=RyYHA&N9!>yPAA|LL?WQ=(F!0o`MAZhIJo2g2-{&0$1Ix zfkb5P!=mQL6-`}}xIBFcG4X?g+;`=bYEn`NCtq#y0^V;4CUJ*Iq>Ek^3asS+hk%gxOV^r6ovj8;G(&G2=wdAKIoTrXNYd`^E7)jvQyL|AL}asfE>?4z!{c!6hV zmuS7$p>Z0ye2QzQ@2Pzl8n*7I=PaCmX56{2(}cBNz9Ov%H_k^UM@a)fd(UFoPw8&R z*m4R0)Fx{ju${;74mvtI44emmgVZHEqDDBcw&+iQ--oW_Qhc(cwjv|l+a;bY=EFl1 z%Yuw7a64tYP{Xt&^MqCN2{3gzz|jJ4U)M7(d7HhD%A5@hLM`JoJK84Dy&Q&rb^6t& zi1n#mfDMmc)Xfw&1>H(4nJlcVyjc3imlz&kLk8X309>Jf^Rlh0@5Fy+5?5dc-HKK% zX}z~6JChdk)n+s5g6#PTd9rwq-{Y1(T->(U@!3HojxalDXS`cn{{ehJa&mGn5UrZ| zQgU)~=H`W!l})f0|!c6PRZlTuk(=`d49=i09r zcoi457>z(R3mj|w(K1#M@VHezxeb{x9=?@RCDIyb)4araevgX?Uuh^bS745O2cgf>NPch2^g zbai$8qt)|~!tN?L4Gx9;&K#A>-9cufork5d-gH0j@Nd>GQ8t8;QM`Q1-DX&4t3_t9 zx`1gI2_QIsA~JGuVF5aybkhbrCf3?JoZzhFqj&DCkpcUk)WIWFmfWusyedwYA!DJY1Dh}0~c5wYoZNfvn0cQwLVTf7b>Ec&n(mb!n4 zrE!{c*iAEcpp>R{B-8>S(f2iXUE$TvM97xvo6&rK>98l2xuRZ=#auh&2otHrdmLtg z6RobU=C_RJ+Ixp-l1EsyD7 zrpIzTM|At(Kz(0MN+8tgi85}B&u{Cpj1SK~c8p8Mdn5t*4z0rSMCSgU!1Q=pD2I`< zLW4AaH$_s~^Ma503@fGGZL_cJJFr8kI!t``2_GT!=W+@M{H;qF0*13I*;T~Mg1 z1o8V1S5Hp`WCs@)&dmtJ&*l+1IaD9ylIi6w1r_4}l4l9J+>A(b{Bsh6Ff_SxiVsUA z_FKE(d8tO;G1EogKZTvHuCAuHL26C1_g}AnFb;cn-28R8$_9ecV+7=>!$f{aR@Tza zWKnqz4#4=qAF_2#FOk}%1d}++ko_^#Ij)svD-5RJ&GXjbQd3i3U!Lc2ne}W_LQC6? zd0(KKOgb0|8T0Za<^Ezl8!PJ&tlRFY3#ggHmDcpY{H#z^Oa%pn_a!BhxQt0}-h_XD zTMAC%Qu^nhlzFi7G#4!gIRh8h#N6CDh}S(rnTgridcZ?ul_&^$;qrC=lr5$#Q-68% z?86KQI@RSwazW>1klW=s&c-10>}Odmj=vMK>bz!0{~Go{BEf+R*i#;B3dFW%XtP@f z2joA{Y>!Psy_EYxkAdic4z8vtLzEkTbaQ1JT2WakE-p?dl9Q8Df}{Q$TIY7*~BR95Quq_=w#;Yzjy$FfdS6So$mHi#= zfvG7FU0GhXbPNsiLO&$L$+shZ{QPxTz~$NCy;S}TerzK~+N^(0e|`RoFrnMEom`jq z$qasEEe7~X)a$@;xrsZPKcyc;2%Pn^*Zq2}sl_1?1Fc5q7xtwTZKaNXEJ!%|62}i7 zst=H&qWia!Q&3P45j|^gT$q^91pkM3=S8h|(E9C@SAMELuJ2=I!S4=!pfdUO^RiPh zJR|=VjlqL<&!o+p+i{-D&+l@wNU?~gt12}o;xAy@&g(M@j<*=B{{J-tm{6-SZr8s! z2A~d`@!nFCMG9fsrwVCcxIe%(1^Om#&D`w z7xl{>Ui%z?DEU74z|cO#w)=!h`HkuNkMzec+}+&^J?UxHKBlMZfnT$-9L@mRr=!qg zcWNi7q(z+h_t?(tM?Fc8ous|%`~S2Y;dU2e*fuLx=8Zev8ovC0^XIb~lSyZwxYHuv z>x)Fmn|F)5%uGzEDLGWKm}9x(6wVq752EuIzdS4`X$et*A8)C6w*6lxA7Fe{yzgdA zZ?#3`buC9O&IQ3Fc8@YSs-VTZrZ$zK2wtS?&lfcoVW z1fFWKBj6HR)r0YD&;(wDloLx>MnoB#V$763MVBBF9f&K=xZaa7K9Ecme(y7!#*sSu z_3KyI8^fJ{O<;O$QuX{>l&F0}oF%SLo@!`lG%Zy4j^|0zl%^2all4W>1PXy!>#+QL zvJ2v7T_v2$YUmA^nE#H9YPx^-j!YH{x)GzJGXvpq)x&Jhh{TYNPb1;q1f820<#SoR z8c1fCkwHmFNN}V{0`$e>l$@O%Cu9E*$=L1NM?Ktso`A_h`9;U*K)8_pyAI--9)?%u ze}ReeJKIavxrX}V49@%gT9MN}=mf?WD&`&>jK&V!L|CI|prE}9fl5pM7}gw}oiX!s z2naMtg&+ai2SyT36m)fjZgK&gwHqQ;CxK}3&i)r9Q1qu_9jf{*0I2h7`gAuL*uJBIG z*u6%}pO&_@wUy;Cxo-AhGrQW&D~p^U;pdaT;WWv8CR}+CT^V@cu-IZYgJLn&XG4ky-3Lm{HwHom-`&rzxQ`EwC4fJ4=RAG(?PkoO&#?B zfW~;H$SvWEJfn`TyCC?6mKfU1igKzx3fx&`rX)g_69GDu9!~(wfIo_*ZzJLL)2EAacUieCq`Fz<;}M^G!j^AU)I(-OUWqneP6#K zf4Mz2Dzkg<(N{(AcHs{k9UTE*_f6e+>@O0P_Bp=I_kM6!mU+~?9-HCLDDHcIlGJE} z*IjM(6>z7G@GgI0VIg?!7X&IHy1!I`dV;QBcW`hh>$*?Git?UeP&U}#%nctnOUIJ? z%TGSXqU75GxEf9<7>UF9GGHck`}&Lcs!>YGz&7BDS6aPFJ?UXD@Xt-l5qY`b)X*~~rmdPk7_r8BescHgjnNm|l2$@Y?O;KssB%mv|gXQKv z8~%wzKr<0CjIM#1e0HG{-hFXoHA`||((pO|-*N~W7Z;7)%O^QGIStKPrIFz0Xi>UL%`Xc>!W0x)3i0GhhAK8i;Tp#X_NGUYh&;A5l1|%5cRvub?Ey@So%FL~gd{#q*pSgwO(m72wc2!1| zs*Z^I(@g>wpv?05t)3(Db}`ztH-@O}mFue*LKba4Dj)Sw*Si94W`2Gm>~G_gGcw6U z(0yB(pO*!W)c)U=1azT)1(e9>IA2Mco16db7!-5Xde~7^LJ%x#r7t!J0)OG>cL-Zp zpWUCD`0_>8@ip%Y@pOE9CoT9dXELZeKcA2jk7Uul^%Kg>Eu<(*K)oOJs?zELW((zG zvvYF1_U5}uHqZ+3XpSNZyG%L)uSGcc!+n1LQ1UIfPs~nAM#jQ_(A#mhz@iC~8@$Sb z(T~bGhNC{-K0eU39%)O=9S*ARxajEVL(^jNf$(c+XaLg1+ZZ}sPZJCEesR=e+4O6`0O`t2<_<*cXr8mtxtHMTilgo zFYzYeT5h=Ojt-Z9`WU#&KoanF^neU_n=w_QQsnY;q5!%6fgG5r8V5xq?@JyY@(}Ru z$s6!g(C!ZHd9Xr#U4TRfI&#ci6L4{U5l@9$+skcrpc2~J+kuPqQH)(Q;L-c^9DnuP zL8@dlTeuc*seph$K|uk~{DDUssQgnO=VEXWVSA{0dkcjV5(?zz&$sv2zhV+FfWl}gWG6a6J zLf_2F3NK%uk}c9U5=QKJ5Y|xD=SuUWWR?gjq2^6fu9p&9-ekM zWG{h#R0a|CrndGa2*RIpRW245vd7;#FU10{E`pBD4r3E$j_9J^eY0OC{oeaeH&!S$m^AaGAw0xhPGo9R4YP z>Bo;V-VY}EX9D%Wz&Qy}Lu(*?M>>|;06hA7PsBsjcfoTpn5^9NAHG7ZnAKz1iTRv? zv&k<>3xo8%d=~ah5})w9-`-$cUTXpUXP_O{qRVInkbh43}t&L3Lfs799?VD1m5_VI?NT~O1IS+xyMLn1)z$S)&TUd&b zjrPK}wwMISCrs})mJF*j@;zfJsv8^A#lznxi+VYyq5N$>UriIz zQQtuTBGcYROHNUdf;UFM8xD&hV(aVe6&4k(?T{1@(A{%>51Hg7D&Cy1a^1>B;9J#} z6RI&VFeD@-fY7V^hE>OG6Km=ZrWce>V@7%8x`VnA5d1=L)<)~rqiEIxYc+7F=IRX z;qAwd4xi0?p{4QBvnQGV7(sbr($sT7#To$lU0q#NqMlGL*4T*EMp*PG091Vmw9yGN zK54`KZ0O;rl+R|jOKQE=0rl04&FPEb44;k>h_En#*=qjyntK)PFeIz-dq&L$EyKZwY~~q zKd2`hgG^PvI`G+KY80*-PS2gATphSQ~#j*XtO^SgseaEs#(6L3uYcUy~+-1 z3%55BbR2%6#_Ia&3RWH&5ux;R1g2Xs7ZnAA!MH33k|MExDP*4IiM)yd^5dL?jt&t$ zDHpz@`XlNdi^e{oL2_p1{a%cf=<|D1cvaefQjObv<@ebUok)o)1y}QBBJOjy8#lR{ zWyid2E_($hS~%L7EUN$8U^mSi6m;9UkAjbf$K|pr_O#_4)SfX1B4{mG1f_~><)G!Rk%)p945N$}DQ-F@4d z4gYHC$lLw`BSOR;Wfi`1I%6%s4*xARBIovfAQ@^ALDb_HZt{>tnnNrc1PRBBmNy*o zU5JbK>jE9VRj}w+o65Mdzxfy!vX&O z?~HNp-P3P$&Kab%>9%$OqqIN2Ys({@ zoO3Q{Qw#O5cmZ_UWZkboA9eG)rVy($^w@#$x z6LgA4O4?*U%le@49Sb-2^1FD(A06L#dZ!4HFSOyDJH_(iQB3T8QJ<_EefitN&iy{iA0RQ%c84piijtabh)quHx_(OyPOGb{N=i!LIk9nY z-g^@FKFsq+;>Iqau(1Z#2fm~EWZxrLM7P#jZN{F2ge1_%tKIh$_^eT~nDy>|Fmy*F z?zULhZ@r+ z0I9(vooZ$1B|fn=n2}HNsD`3{tyIuu^{X_<=XuIa5Yolg%Yq1HOOTFzq#0aKAkZ6#f(5sxdZ3jm(B!wRLiFX7GG(o&lMULan+uq@po z-iAP>qy;2bVRvgzCp(iMsc&E^xe@^}G93VT0Wo{Rx)2{cT-K{JWMZg)4;@SjNd**W z(&n9pu3c(kUqN0zz}y;t=&WKAV$AH2yKWIK-%Lhw#k0OXZ6E$;IjY2^r^4-URUCM4 zXbd2Zw81|>e>62U{ZruHH$9zNa?~KVx4&Qe{5D30%#Vmn37`=8Gr7epUF$IS3Ft*& z`SO5v@P}(d$M#|C>(biaU^y#rNtti!HAl>>q|gRb~$y&+Zy7#iL>p=NCYYHO?Z9KAX$uh`joDNxpYY zszc28WMF9MC&;&5wjJu*e?)btgL);A!O`DS2fo*1V`GltXg@vo=0DFop}D>6yd6%{ zv47Bn;v0fP>r|_MO4$JIS+mu}eO+0}sSt%qIVSUtn0yDsp7%4@kt3eQ7voK)HL=`K z2mq!4wvd<$S@+X(J86bw1CaJPk6*OpBQ`cP-1ucgWdF3maxIzP&~eh`rK6LE)f_t_ zz5uBq&bURxaB+EAtNWrg1pJPy-;;k^YTZQcMvvt8&T0RDX1$>R`i%2=Q}6+_Qggz) zqF+*#UT8j{`nceQJ3vbSLjz|tKo>ls*yDSNP~*DWFi| z=2q@oLtys4t1zp+!y_d8n*QiUD?BoCgUPVk6tT{b9lgGmGT&_h=WFIc8vq#iD>)#3 zH)YMC8j?DHTP+QZafyJx15ajyOQ&nBRDckGY5;RY-d1+JMG^D)c4I3DKi(Q9{=Uiv z)d7tD)2IUFh~&Y8B8~#tOQw4K!SZU$%(|JWCg5~KfD|TTOoT4yQp-M&i((R(ZXVo&+YZY^s|A_uB$@u)x<=- z4zO@=Jl)-UI6oLQeo{91O~YbX_h@+b1s@x`I3pG-2RCNgmKj3BESexxh&RyDQVXrQa`fu^Yg1~%+1XO-u*$nZQ#b& z=!>T+Y3$NQjb>laY;3kqf6dj-t5a(J`bTyS<%;{&J!$p%{o`4gW&uFxO!3s|}<*tKRuS%xNq(f+bQ5t&kKTvmrBo zWD>>*9^Eds{w`xZXieNi48g2n%`Y@hw#9Nb_@Lz=uJ+tjest5VfZN(F8m;1$Qe5#t zACnuyC%br}66VMGZiCV2=K|kK{*tCP!Fp1Pr<(A8k@sHu=ZTJv!XH$?mScI_OoF@v zf9D)V_@Vv?{4q8HT{=!cLGf`^%K;mIU^^w3X|Mpzo5se*E0)v!r8zjpW2@NjVwSAs zD?T-4R~l$2C|AoiWo>P3WW3e`4KF;~OuW}4fUyPRZ3F%dXq2Z$D!so;GaiDZ`!!Qu z~8$$Ca7$FLPKV@1|E~nxSF~$GBS0oyGqLy#YJZsYU=6Z z)#=Y?R%pUcX`7H)gMxzgH#2~LrgnJgNG0~aYCH3ADBHJ>Pftn|in2Tml|53Hh)I*8 zLiX%LWywCaL1QebWGRs>5fMtZqNyo+C0j`LAyj0W8B7?v_q^-*{ods`-s5=xdFP)w zFmv74a-QGw^BwnGSKwzY=K9NwnHk(@BA2BSu9*Aw?_RyO-7+<@I@36RvAXn2Vr{R@ zyVT?NzUmQC(LUgW#C4Ov6TEim_^FB}wVi)ifTrgyWFg1bzrNCbiAnz|dOCI+2Z#Tl z_JJcuNZR)#ZV)&?N|dgAezdm2ERYdO(|D}Uk}&MK`0(dI+%V_U5f9|p$5)s;T*%Hk z`1)E6EEY@R(nXCW3TY2l_~*}tG+7PZ zw;-~==t51S@_93Vg?HS~%a|1|CPq-*8na_KV@JluWSraV$hg|2iSqD~C7H}=n~K2p z89s5r%#jfX|JUo1uFUt*FvUJTK4Knc-{CGiXRHiu3~D`*v1n`FxV;=^?7a~s?)hV~ zz@CO(iycuvm+?uXmgB)&niSwyFw+%0khEsE?JE<1>T|DO z2wn4kZ{To$z?u;azOQXv1yEee(mn+DAWLx9z(NAaBEdCSAb4dc&}>92cwdg@F~P4_g;xLeyQ#6$!4^)nTNeLv2~ zy5H5Ew#cUTkY`>g%YR7FRAaeBtOLXcE_nH0+o##OW86%3(k#u_%?^-VdrWJ(#G_IV zUFy0p`2rIoxYp<9&YrP0bs1(iBO5vo@XnSBjdd~hxk#n8+`ec%$GU8|fe1zRQarM5 ztgHK=Am(`l@jmo;6KT14wv|F}@}+Dy!Coj85myb%v=wvp23?^$HX%M?-L^OMMYm4S zbp=-{jnhtQ=6PKEGqz9JP#7}=l@Nmh+RDv4-1!0(hoHy**7J7cMfH9E++I>5e%&(& z_jsfRLBoiXNf`2pc$JO0a`(ywDI$vNlP3xAOx)CwJbT(xv=`k%Xa?U}<1~C?&-|Le zT1y9Hp9k^XeiXvaz7X^I^>-uf{tRii69e(Hu{lCcfZ}fKckfqXVv0C8j0p(^pu7^6 zS=3mhB6M_!?FLTixU=35I!75ri|hSe$wl9kK1mAYw1{tid?F+vrpfg@r-DRfr~QT0 z{^OY?`x@iSX6luh#j~vAA>>e|MDIqrO4bcf?F1Pmdo!6Uk4T>*Z(h6D4=?L9*`!N- zP~4g{(-+tYOmE7;*SXdEbJ38ZE0p!n7J;SsnJx3iE z{J=Uz*sn4xi;)e$C@`cutNAMOX>pra#!oaG;m>dr$)~NXl0E9b|5%Tx#OUua{ax*+wn&}H=|x5pu#fpTHVLFhH=8rw4|L*5;=wO2Z9 zkG3!`dmCSg$0zNrajKn;_qjuVy*-7^%7hPafkwwB8L_wLd4Cn+H_GpdBdx=S@Gxt+ zl)_b*b!u#pM(5gx?@+2+=R;cfO+q)(0 z)SO#$)HO0oyh@9poPphS++up=^@2%NiVc$V7eF!Okx}urMR$54Ykn>+nOO$|1_^DUi+VDPj(2w_Iv|`ji+8Kz_!0N--3n=T%O$UpyJ47f zC`?VKKW}a(sX_%UHYZP6ckrr4$;oeaaXG7Azs1dz ztGY0M@(9y_(2t!JIN~;x=xihy+YOCT1lxXx+?MQ_x(gOr zNB}=01z96hJFQbnGcM;)WY9S#+1(~#t4}qT`rLDUZJn*rx34|!1sYE)nx&16!|hij zo#_7zDCznelPUsnygx5CPcMd7!><5g4xL(kTpUv)vroEr%D)sU&kv>! zW@Q$kzQ*~)zrE$;B3}1qgf8UPKuljDH#NP6F``6=Rh03R6zAtxjZmd;3zofQ45OvC z9DfKcSQo*id{aMi)rob*NG_)~U0F)Dy^S0f0;p8soAxXbN0oT+kQR>nlFO)=@;m6FE7vWN05qH+wm|1uK)!{ zP$90~HVq*ISr+9~fO|;^*C!;B&7|#@BJ7>5>qSyw-2*Fh3kz`*!mQD{20PznjFLdr zXS@yz&pQnn)0-`wo4VpqCyWbnvTOYhbi$!q`g!Q@&B;kQm_nbb>vCL53ME^r z>jHUCYX>R8>m?SC*|PhfQz)9-9v=C`q(*HOzu3TPTX>f$?P5GAkSkV)g52EPB0D=P z3#~+IQH!abTlU@>zSDE<^MzSCvp3#ua2sx23SWJsl#9bNOpd(hd?44iPG?JeiP@xlDN6EOeriBRyW{5NK_Pr9hmpOq+z z)`6KIxqKp$;RJ&hLBH(xpgRX>*_Y3M{<8P=C7}j=4cZM5ndL8!B_kzPyEw`uH%PEB z7NlTVy<3veC5rQEADL-6A~-lg92OVL8TeiA=h;o{k|9yyuynKvNF;7I9P(rtPg5`0_y(7_F49!YI~DCm~X1 z#~PFm0Z|Tr$1Kb(TyDV}fbaH|Nv2U#It2r%rnSow%v>SwgeN!eBZ!JMo?l3LEZ>n3 zTl0*Iwm6mGy{>(Sgax7t!R4=UFd$(w4htp#57Jy!o(5*##J_o)MelDYa^HDY`YO<^nNVOJorKI(t z@JO07kksIS8+qQV zVGkwO=5W>$^*!MM5>y;%FC~_39o^uq$_d^Igk+W;LoH{`W2ws6(?L>NE+QPXvTqH1 z*yMnayH-qT-TBi2J@A5Vm=qLl9M+6W`;&!tjz;ntMK{D2WT2sqbtjEGO|Q)XW=12a zZ^@K!I#`s!^k6MZ7pV2e=N7=;KFzMdaT5b6iPSfxP%46<;JT*?qhn;iVQnrL#d>UX zu$vkXq@}E-$*|ZLm2D+!&cwIh}9Mb6FfrUK*R!!$sv9$urT3MmicFUsWV`&EsM@8vGe-_em3p~ezBJpw# zcB+QvzB7WB|9EEcI^b2cVDHF?2Pja!-d!kIJ%)%h4}<%yf0S>b>+v8JJn~^Y{qoWi zC)HcCbMc;FF-rJn3Z>}YOXt~-a<-%;pUV8b)=>jxmzcb-uZNNa+J#`Fd5g$Q+ktyS ztxQ!70%`^i!+5V}pL_ta3$Ih7?)}D~DFRP4brlt%L-Q$VF4+%iypx+EJR~Ie+(+Xc z3I@yB@?jINC7L?k`Q2rGW9l^>Fe;}oG)zdgx80Nogz9y{RzXur42nf$rAR^ zQeG<8P{oKPvVGiYN+n3`U?%me5_|Y*s3{?OM?kKN(KAth!^5w6tPBEd&v_>BG?s0= z+SG8cpl6o6+zCV^Tn(s|_ zsNr)P?c?{TY=>)!`G*H%mVc(Ap$Q|{NRBV05!6D-I!yyRog893ZA32t-w;`}w~=Gh z4c6d_b5L&UAx@Uo6(aoVT(1UbO6i|ZrZmqTL51J1rjZKHPfv$^U*22}Y^31Cru0dw zxf;RPOY1qL%D`6-!&4^!;rKw{9W9~{hVz6h_d>p&a$cUYh}% z4pK5KTb|zZ1}`Em{hnyDNV*!qIqYbNk)Xd;+t=QZovi%$9Hj4}D#V1#9F>Z^Hk)Rp zA00?_c4o3?A!#d5l@U}sx)?T(C%j6}z~rX+&21ack%e>}+w4v46GtwfYw=oXyXcJH zq9pKLZTS&Qm6mr&A_cTPDtEA6NAdyjw+Ydu4tJTWaah93!T#tfup#=b0dOTpc7Y1+ zW(CVnN!ENrgsm70HcW{NC&tu^ONi#v6Tl6b@i$1+{*>gpm29u(VBY<``$E5&Z)RMU8edkl;{=S5^r=L8Xw5j+a!=;tGbn zPs-WTH~s2X+|VGv$;ru2<}^q9c~&oaN_GDtR_=9ySYTiUWUW)HXu|N_J1`;da)#e;r)rUtFlOG;Y%$Np&YpbF_04&<3e8MGUER&Ak51?$cus@UXm-*o zEK)v2Ar%R9p-)*8kMX9A_^P&7Thv4z8#A)g?xRQ)HZ$RsDcEr}?E(xH0@6Isd}7z+ zCmO&C9pw*%(kytO(rJ_FFRP_xg**h^nKP0^J$D%y6Dh9p^76fD0fWe`@!z@K9t5Zx z^pBo8hX49Hb^O#b{Ak#{b4N8ouxCk*ufE{Qen+6V{Eh&{P&a)w>^XI8!d_7?M6hkl zdkPYeaA}b?$>Sa%CnO1tX|gp#r!sz=@~XLL&y&C6ZKcc3JDRGbrMiCQGE1aq<+^r2 zuk;;N)$-evX5J-Ofx5IyhhzzL;KvJ6s1Pwd5%sv{Z;ZBjjpp)=ID_(m-Wf{}i#FM4S zqJw6IE~ZV4$Pc!I7c*YC8cj%UoG+oLOC2>$c3LGbC7NlJ@2^fet-zv;=%}`u$~y~E zQ<%joyI-bDdyWSzU@YhK6p`p$!}AT*#ZDOQyS4sT=81BgnEZ8l+Y$v{1R!PYHc}-w z(8n=LOCzHI(he=?=-ahA^{E`7w8Y}#vwC!ona%XdQX)tj;BYy;vR_?Oh*5L1oFO}N z@zNTmeSFLb*K4ZrdfMLCIXSn?%vyg>^A_)6Ns{b+fsxoUCFna^aF9i6^8@e82dK~L zA)4F>T1^5_`!D~Hfe5F~)eHUbGymPdL-3=jhth>)8R z*4nV300{D5d1HVGE+W_bOnWDgMFs!>3_b8A&0jUHwzt=DNQfFV0Kh?H|D+X|P9VkK z)LwxU{Nm7gv9$4G*X0gr2v5a2aydY0N9y1+ZkDza+*eH&?Kokr&w1%;bM|@N4Z>JRBi) z7BK+e{(%;40P_i=p#7_dD(iU-x_AK4!wUcme>AeSfJG@X!RCT+{#HdeG7N~K2Y|j% z0HFS(A(=Y>I69j-Iy;z{xwu%_TYxQWP3*vqMy94_rvFniR)IarR!jg;MgUR$fpzlr z-&l4I&M;+N9FBi0i$ofa{{&$cdk94#boO8AE(7-5oE&BwjPti8_ykixA)%i~SYcV7h>=2O0)W2^?Vsd`pmTLLva$!8JDZw-ZLKUUUF{J){GYv=X!?j+ zQGx_a>>vTO|6m|WP_90NCE6KTAedV?8#!A3F@S%KpQF9Szoq)mB>8KO{HY`^&qx13 eL+JUxZQ=i+P!R?T0ECFA5Cvh0=%vVr&;J9{?;;=o delta 26213 zcmZ6QLv$rvw5?;?syG$fwrxA9*yf3C+jdTD+jdehDz@|fdwcJ;R&O`vSYypSzd3%2 z)EN$js3Z#xfdK*o0|OGCpq+@=0RBItU*dm8GAyVmz-;fU+oSmH{ubFmFwgh|q_PI27_E@aDFICo&6EpXsXW@@yStFah$?~bW`oD*$ zwQlakB%ozgyS>^~_v9ZZH%i@KR)*YvZoj{L@M6c#@AhLjnNRFbcz(R!qmZVnAa(@`mV z)?+bGTl#ds?uDtMwM7m)$u_y2X93;)z;i;aG}H_YOYb4-3Y#kI=ncqv@1377P31ce z3~OyS3-!cX|&!AbA9V|L`|$^iZR%yB4K7hl5rcq1Br9 z3f+O8!=xCcC;KW$IT?N4+yfoz&Zywp`rw_Q{|ZozcYad5RMXdBRa-R(!A+Gu>5sCL zUCHrh*6C&-_u{aa<)@Q!<4xD7);iEhk9-Lzl3m{#_qrvBJmy>*%+7htC;N!klWisp za9wXbGQZ)Yty^zCNSDOBlkj6A4DMob8nijI*ws^W(pZM#a`9C)N36e~J3jQxD>Y|% zMx45Rgr~h#X5mc2Q`O)TT)a48IDJZakWdntCAGGsCn#V@s?4Jp26cO8G$67nc%=7l zNgY8*Z`j<*z(&7n=jvBzIz+BdZZEX?k&x5fGWAf(^1#}-DH@gh0AwWa;E?~5{~b`>N}&IeT;%|Iv$1@y4Hq^E^ETA`;0{}9?~qGYAfHWIUK+j_vR&VNv{}3ETzXgYtEJ#~-gYz4CHq|4a6wP`{ z*F786Aiq3qZZen}5Ls{I%Xhd2Y#|`>szJrJcGwyGzBBsi<_h0yY`iL(^g$duUuTmW z`lU#2!lVku9PA5&7w{LLSyD}2a4^TI4W2!ya6qHKD2@h9bc2Sy@LpPp#`WSp_0p4n z?SODH6>MAsC9<__rd{Dg0)}2>d#K*E<66$lTn&#RUC?M-m=8K5a#e8wWXpW9@Xgtc z1@EI3afH;Up^bO2$CrK*u0cLhtpJ!y+Z>yq=tZy-HC=bjsCY2$BDHwBDT#+e*A{{G z{T?nWd0eN3&&vu-e0Tz4NNiWZ@q}vRnMHo8IfL;A5lO3=-*)Fe%>mC1TL`DP>sHuY zK9gnyjr_BWOH8Y3u5Z2XkVJXr3D_f!*QG)q*NVR^7SQGo0lD)hHJvIR@hL;d0J zPw{5#z=^K318>D}h!swTqa5nFzBKDcN{Z0;J73!afimCxQK1O)9s z;(`{ko>7J^XVYZMiS038bp9NR8S&&rIE76qWf_0)U=Z4=L&po1$D%*tO+xrWj4{%h zOuNYAxmi;?PMLuNoHn46@L8+0Vp|%Zqq!{Hpw%;PF&Yuf^5+H|&S2Mv+iyX#xaL}R z!8VHyZ;s%zK;&k2?`^74udQc@@3DN)zA}I}Ba?kw|i^OjhSP zch=p59>zK4vE@(4ZldsLhsB(Rt|uY0N7wY^bQ3KbZKA>e4W;)yQ>kS3!YWNXab6vPGr7Lo6sCvo|0sb0Bk;liL1VWobq+Z*ViJb%y<6 zhSc*%8^Ri9cs78zpV%k=?}Zd|`)S!-H4lkN<1AGJa@_hKZcC1IT`m)qBZQ#@#!d

    6$V7AnVqK^%D4!!j#slw8ujJ$!)L@s@&Mc}-28Ixix89Jw zjkCRn5(vNR$2MFV)a(3tR5{^` #Yg0FsLA}MEvZW^U*(t#rth2)dW+9CK2u^S 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 Q9|!A)BbVdHT?mN(0aWG^;s5{u From 884051b2943eb1e9600a0c887e07b3587f5342ee Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 13:20:53 +0800 Subject: [PATCH 24/28] Remove zip --- webHelpD2-all.zip | Bin 242632 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 webHelpD2-all.zip diff --git a/webHelpD2-all.zip b/webHelpD2-all.zip deleted file mode 100644 index 30564821f9753b932360e036f92fc8549596a0c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242632 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≪VwNV`x#E_rp&U9&wU*Bl}y|p>*QduC?o0 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 RfB}A$e*h1dYAEp0{{a;lSg!y8 From c0e87776becb5aaed44e1bcf1757e529904da804 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 13:21:05 +0800 Subject: [PATCH 25/28] Ignore zips --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ca71a60e..2c949384 100644 --- a/.gitignore +++ b/.gitignore @@ -164,4 +164,5 @@ cython_debug/ # Ignores the raw .tif files rsc/**/*.tif -**/*/lightning_logs \ No newline at end of file +**/*/lightning_logs +*.zip \ No newline at end of file From 0e57ace9a6af2224ae5943d47137946dddffb447 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 15:06:51 +0800 Subject: [PATCH 26/28] Reorder the tree --- Writerside/d.tree | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Writerside/d.tree b/Writerside/d.tree index 692d0784..faf0dd16 100644 --- a/Writerside/d.tree +++ b/Writerside/d.tree @@ -9,12 +9,18 @@ - - - + + + + + + + + + + + + + - - - - \ No newline at end of file From 329b60a9b5f8557c83b399818310509b21f9877a Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 15:07:07 +0800 Subject: [PATCH 27/28] Create dataset retrieval tutorial --- Writerside/topics/Retrieve-our-Datasets.md | 137 +++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 Writerside/topics/Retrieve-our-Datasets.md diff --git a/Writerside/topics/Retrieve-our-Datasets.md b/Writerside/topics/Retrieve-our-Datasets.md new file mode 100644 index 00000000..41ef9272 --- /dev/null +++ b/Writerside/topics/Retrieve-our-Datasets.md @@ -0,0 +1,137 @@ +# Retrieve our Datasets + +A tutorial to retrieve our datasets + +In this tutorial, we'll learn how to : + +- Retrieve FRDC's Hyperspectral Image Data as `np.ndarray` +- Retrieve FRDC's Ground Truth bounds and labels +- Slice/segment the image data by the bounds + +## Prerequisites + +- New here? [Get Started](Getting-Started.md). +- Setup the Google Cloud Authorization to download the data. + +## Retrieve the Data + +To retrieve the data, use [FRDCDataset](load.dataset.md#frdcdataset) + +Here, we'll download and load our + +- `ar`: Hyperspectral Image Data +- `order`: The order of the bands +- `bounds`: The bounds of the trees (segments) +- `labels`: The labels of the trees (segments) + +```python +from frdc.load.dataset import FRDCDataset + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +``` + +### What Datasets are there? {collapsible="true"} + +> To know what datasets are available, you can run +> [FRDCDownloader](load.dataset.md#frdcdownloader)'s `list_gcs_datasets()` +> method + +> Note that some datasets do not have `bounds` and `labels` available as they +> have not been annotated yet. +> {style='warning'} + +```console +>>> from frdc.load.dataset import FRDCDownloader +>>> df = FRDCDownloader().list_gcs_datasets() +>>> print(df) +# 0 DEBUG/0 +# 1 casuarina/20220418/183deg +# 2 casuarina/20220418/93deg +# 3 chestnut_nature_park/20201218 +# ... +``` + +- The first part of the path is the `site`, and the second part is the `date`. +- The `version` is the rest of the path, if there isn't any, use `None`. + + + + +

  • site="ds"
  • +
  • date="date"
  • +
  • version="ver"
  • + + + + +
  • site="ds"
  • +
  • date="date"
  • +
  • version="ver/01/data"
  • +
    +
    + + +
  • site="ds"
  • +
  • date="date"
  • +
  • version=None
  • +
    +
    + + +## Segment the Data + +To segment the data, use [Extract Segments](preprocessing.extract_segments.md). + +Here, we'll segment the data by the bounds. + +```python +from frdc.load.dataset import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +segments = extract_segments_from_bounds(ar, bounds) +``` + +`segments` is a list of `np.ndarray` of shape H, W, C, representing a tree. +The order of `segments` is the same as `labels`, so you can use `labels` to +identify the tree. + +> While we have not used `order` in our example, it's useful to determine the +> order of the bands in `ar` in other applications. + +## Plot the Data (Optional) {collapsible="true"} + +We can then use these data to plot out the first tree segment. + +```python +import matplotlib.pyplot as plt + +from frdc.load.dataset import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds +from frdc.preprocess.scale import scale_0_1_per_band + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +segments = extract_segments_from_bounds(ar, bounds) +segment_0_bgr = segments[0] +segment_0_rgb = segment_0_bgr[..., [2, 1, 0]] +segment_0_rgb_scaled = scale_0_1_per_band(segment_0_rgb) + +plt.imshow(segment_0_rgb_scaled) +plt.title(f"Tree {labels[0]}") +plt.show() +``` +See also: [preprocessing.scale.scale_0_1_per_band](preprocessing.scale.md) + +MatPlotLib cannot show the data correctly as-is, so we need to +- Convert the data from BGR to RGB +- Scale the data to 0-1 per band + +> Remember that the library returns the band `order`? This is useful in +> debugging the data. If we had shown it in BGR, it'll look off! +{style='note'} From 8eb93b6c28dfa5b7c0539a14d29947870f99e1e3 Mon Sep 17 00:00:00 2001 From: Evening Date: Thu, 26 Oct 2023 15:07:44 +0800 Subject: [PATCH 28/28] Update docs --- docs/HelpTOC.json | 2 +- docs/Map.jhm | 2 +- docs/getting-started.html | 18 +++++----- docs/load-dataset.html | 8 ++--- docs/model-test-chestnut-may-dec.html | 2 +- docs/overview.html | 2 +- docs/preprocessing-extract-segments.html | 16 ++++----- docs/preprocessing-glcm-padded.html | 4 +-- docs/preprocessing-morphology.html | 6 ++-- docs/preprocessing-scale.html | 4 +-- docs/retrieve-our-datasets.html | 42 ++++++++++++++++++++++++ docs/train-frdc-lightning.html | 4 +-- 12 files changed, 76 insertions(+), 34 deletions(-) create mode 100644 docs/retrieve-our-datasets.html diff --git a/docs/HelpTOC.json b/docs/HelpTOC.json index 9596ec5b..322920fe 100644 --- a/docs/HelpTOC.json +++ b/docs/HelpTOC.json @@ -1 +1 @@ -{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1},"Model-Test-Chestnut-May-Dec":{"id":"Model-Test-Chestnut-May-Dec","title":"Model Test Chestnut May-Dec","url":"model-test-chestnut-may-dec.html","level":0,"tabIndex":2},"load.dataset":{"id":"load.dataset","title":"load.dataset","url":"load-dataset.html","level":0,"tabIndex":3},"preprocessing.scale":{"id":"preprocessing.scale","title":"preprocessing.scale","url":"preprocessing-scale.html","level":0,"tabIndex":4},"preprocessing.extract_segments":{"id":"preprocessing.extract_segments","title":"preprocessing.extract_segments","url":"preprocessing-extract-segments.html","level":0,"tabIndex":5},"preprocessing.morphology":{"id":"preprocessing.morphology","title":"preprocessing.morphology","url":"preprocessing-morphology.html","level":0,"tabIndex":6},"preprocessing.glcm_padded":{"id":"preprocessing.glcm_padded","title":"preprocessing.glcm_padded","url":"preprocessing-glcm-padded.html","level":0,"tabIndex":7},"train.frdc_lightning":{"id":"train.frdc_lightning","title":"train.frdc_datamodule \u0026 frdc_module","url":"train-frdc-lightning.html","level":0,"tabIndex":8}}},"topLevelIds":["Overview","Getting-Started","Model-Test-Chestnut-May-Dec","load.dataset","preprocessing.scale","preprocessing.extract_segments","preprocessing.morphology","preprocessing.glcm_padded","train.frdc_lightning"]} \ No newline at end of file +{"entities":{"pages":{"Overview":{"id":"Overview","title":"Overview","url":"overview.html","level":0,"tabIndex":0},"Getting-Started":{"id":"Getting-Started","title":"Getting Started","url":"getting-started.html","level":0,"tabIndex":1},"87c6272d_78682":{"id":"87c6272d_78682","title":"Tutorials","level":0,"pages":["Retrieve-our-Datasets"],"tabIndex":2},"Retrieve-our-Datasets":{"id":"Retrieve-our-Datasets","title":"Retrieve our Datasets","url":"retrieve-our-datasets.html","level":1,"parentId":"87c6272d_78682","tabIndex":0},"87c6272d_78684":{"id":"87c6272d_78684","title":"Model Tests","level":0,"pages":["Model-Test-Chestnut-May-Dec"],"tabIndex":3},"Model-Test-Chestnut-May-Dec":{"id":"Model-Test-Chestnut-May-Dec","title":"Model Test Chestnut May-Dec","url":"model-test-chestnut-may-dec.html","level":1,"parentId":"87c6272d_78684","tabIndex":0},"87c6272d_78686":{"id":"87c6272d_78686","title":"API","level":0,"pages":["load.dataset","preprocessing.scale","preprocessing.extract_segments","preprocessing.morphology","preprocessing.glcm_padded","train.frdc_lightning"],"tabIndex":4},"load.dataset":{"id":"load.dataset","title":"load.dataset","url":"load-dataset.html","level":1,"parentId":"87c6272d_78686","tabIndex":0},"preprocessing.scale":{"id":"preprocessing.scale","title":"preprocessing.scale","url":"preprocessing-scale.html","level":1,"parentId":"87c6272d_78686","tabIndex":1},"preprocessing.extract_segments":{"id":"preprocessing.extract_segments","title":"preprocessing.extract_segments","url":"preprocessing-extract-segments.html","level":1,"parentId":"87c6272d_78686","tabIndex":2},"preprocessing.morphology":{"id":"preprocessing.morphology","title":"preprocessing.morphology","url":"preprocessing-morphology.html","level":1,"parentId":"87c6272d_78686","tabIndex":3},"preprocessing.glcm_padded":{"id":"preprocessing.glcm_padded","title":"preprocessing.glcm_padded","url":"preprocessing-glcm-padded.html","level":1,"parentId":"87c6272d_78686","tabIndex":4},"train.frdc_lightning":{"id":"train.frdc_lightning","title":"train.frdc_datamodule \u0026 frdc_module","url":"train-frdc-lightning.html","level":1,"parentId":"87c6272d_78686","tabIndex":5}}},"topLevelIds":["Overview","Getting-Started","87c6272d_78682","87c6272d_78684","87c6272d_78686"]} \ No newline at end of file diff --git a/docs/Map.jhm b/docs/Map.jhm index 3785e5e0..2de2b668 100644 --- a/docs/Map.jhm +++ b/docs/Map.jhm @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/docs/getting-started.html b/docs/getting-started.html index 64c56e7f..ddf5b5e8 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -1,20 +1,20 @@ - Getting Started | Documentation

    Documentation 0.0.4 Help

    Getting Started

    Installing the Dev. Environment

    1. Ensure that you have the right version of Python. The required Python version can be seen in pyproject.toml

    2. Install the dependencies. You should be in the same directory as pyproject.toml

    3. Install Pre-Commit Hooks

    4. Install Pre-Commit Hooks

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • +

    Setting Up Google Cloud

    1. We use Google Cloud to store our datasets. To set up Google Cloud, install the Google Cloud CLI

    2. Then, authenticate your account.

      gcloud auth login
    3. Finally, set up Application Default Credentials (ADC).

      gcloud auth application-default login
    4. To make sure everything is working, run the tests.

    Pre-commit Hooks

    • pre-commit install -

    Running the Tests

    1. Run the tests to make sure everything is working

      +

    Running the Tests

    1. Run the tests to make sure everything is working

      pytest -
    2. In case of errors:

      google.auth.exceptions.DefaultCredentialsError

      If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

      ModuleNotFoundError

      If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

    Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 26 October 2023
    \ No newline at end of file +

  • In case of errors:

    google.auth.exceptions.DefaultCredentialsError

    If you get this error, it means that you haven't authenticated your Google Cloud account. See Setting Up Google Cloud

    ModuleNotFoundError

    If you get this error, it means that you haven't installed the dependencies. See Installing the Dev. Environment

  • Our Repository Structure

    Before starting development, take a look at our repository structure. This will help you understand where to put your code.

    Core Dependencies
    Resources
    Pipeline
    Tests
    Repo Dependencies
    Dataset Loaders
    Preprocessing Fn.
    Train Deps
    Model Architectures
    Datasets ...
    Model Training Pipeline
    FRDC
    src/frdc/
    rsc/
    pipeline/
    tests/
    pyproject.toml,poetry.lock
    ./load/
    ./preprocess/
    ./train/
    ./models/
    ./dataset_name/
    ./model_tests/
    src/frdc/

    Source Code for our package. These are the unit components of our pipeline.

    rsc/

    Resources. These are usually cached datasets

    pipeline/

    Pipeline code. These are the full ML tests of our pipeline.

    tests/

    PyTest tests. These are unit tests & integration tests.

    Unit, Integration, and Pipeline Tests

    We have 3 types of tests:

    • Unit Tests are usually small, single function tests.

    • Integration Tests are larger tests that tests a mock pipeline.

    • Pipeline Tests are the true production pipeline tests that will generate a model.

    Where Should I contribute?

    Changing a small component

    If you're changing a small component, such as a argument for preprocessing, a new model architecture, or a new configuration for a dataset, take a look at the src/frdc/ directory.

    Adding a test

    By adding a new component, you'll need to add a new test. Take a look at the tests/ directory.

    Changing the pipeline

    If you're a ML Researcher, you'll probably be changing the pipeline. Take a look at the pipeline/ directory.

    Adding a dependency

    If you're adding a new dependency, use poetry add PACKAGE and commit the changes to pyproject.toml and poetry.lock.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/load-dataset.html b/docs/load-dataset.html index 7d1aedfb..e82495dc 100644 --- a/docs/load-dataset.html +++ b/docs/load-dataset.html @@ -1,4 +1,4 @@ - load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    + load.dataset | Documentation

    Documentation 0.0.4 Help

    load.dataset

    Classes

    FRDCDownloader

    This facilitates authentication and downloading from GCS.

    FRDCDataset

    This uses the Downloader to download and load the dataset. It also implements useful helper functions to load FRDC-specific datasets, such as loading our images and labels.

    Usage

    An example loading our Chestnut Nature Park dataset. We retrieve the

    • hyperspectral bands

    • order of the bands

    • bounding boxes

    • labels

    from frdc.load import FRDCDataset ds = FRDCDataset(site='chestnut_nature_park', @@ -6,7 +6,7 @@ version=None, ) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    +

    Custom Authentication & Downloads

    If you need granular control over

    • where the files are downloaded

    • the credentials used

    • the project used

    • the bucket used

    Then pass in a FRDCDownloader object to FRDCDataset.

    from frdc.load import FRDCDownloader, FRDCDataset dl = FRDCDownloader(credentials=..., @@ -19,7 +19,7 @@ dl=dl) ar, order = ds.get_ar_bands() bounds, labels = ds.get_bounds_and_labels() -

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    +

    If you have a file not easily downloadable by FRDCDataset, you can use FRDCDownloader to download it.

    from frdc.load import FRDCDownloader dl = FRDCDownloader(credentials=..., @@ -28,4 +28,4 @@ bucket_name=...) dl.download_file(path_glob="path/to/gcs/file") -

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/20201218/90deg/map,

    • site='my-site'

    • date='20201218'

    • version='90deg/map'

    If the dataset doesn't have a "version", for example: gs://frdc-scan/my-site/20201218, then you can pass in version=None.


    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 26 October 2023
    \ No newline at end of file +

    API

    FRDCDataset

    FRDCDataset(site, date, version, dl)

    Initializes the dataset downloader.


    This doesn't immediately download the dataset, but only when you call the get_* functions.


    The site, date, version must match the dataset path on GCS. For example if the dataset is at gs://frdc-scan/my-site/20201218/90deg/map,

    • site='my-site'

    • date='20201218'

    • version='90deg/map'

    If the dataset doesn't have a "version", for example: gs://frdc-scan/my-site/20201218, then you can pass in version=None.


    get_ar_bands()

    Gets the NDArray bands (H x W x C) and channel order as tuple[np.ndarray, list[str]].


    This downloads (if missing) and retrieves the stacked NDArray bands. This wraps around get_ar_bands_as_dict(), thus if you want more control over how the bands are loaded, use that instead.

    get_ar_bands_as_dict()

    Gets the NDArray bands (H x W) as a dict[str, np.ndarray].


    This downloads (if missing) and retrieves the individual NDArray bands as a dictionary. The keys are the band names, and the values are the NDArray bands.

    get_bounds_and_labels()

    Gets the bounding boxes and labels as tuple[list[Rect], list[str]].


    This downloads (if missing) and retrieves the bounding boxes and labels as a tuple. The first element is a list of bounding boxes, and the second element is a list of labels.


    FRDCDownloader

    list_gcs_datasets(anchor)

    Lists all GCS datasets in the bucket as DataFrame


    This works by checking which folders have a specific file, which we call the anchor.

    download_file(path_glob, local_exists_ok)

    Downloads a file from GCS.


    This takes in a path glob, a string containing wildcards, and downloads exactly 1 file. If it matches 0 or more than 1 file, it will raise an error.


    If local_exists_ok is True, it will not download the file if it already exists locally. However, if it's False, it will download the file only if the hashes don't match.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/model-test-chestnut-may-dec.html b/docs/model-test-chestnut-may-dec.html index 6c0777ab..7a6a2e70 100644 --- a/docs/model-test-chestnut-may-dec.html +++ b/docs/model-test-chestnut-may-dec.html @@ -1 +1 @@ - Model Test Chestnut May-Dec | Documentation

    Documentation 0.0.4 Help

    Model Test Chestnut May-Dec

    This test is used to evaluate the model performance on the Chestnut Nature Park May & December dataset.

    See this script in pipeline/model_tests/chestnut_dec_may/main.py.

    Motivation

    The usage of this model will be to classify trees in unseen datasets under different conditions. In this test, we'll evaluate it under a different season.

    A caveat is that it'll be evaluated on the same set of trees, so it's not a representative of a field-test. However, given difficulties of yielding datasets, this still gives us a good preliminary idea of how the model will perform in different conditions.

    Methodology

    We simply train on the December dataset, and test on the May dataset.

    Train
    Test
    Model
    DecDataset
    MayDataset

    Model

    The current Model used is a simple InceptionV3 Transfer Learning model, with the last layer replaced with a fully connected layer(s).

    Cross Entropy Loss
    Input
    InceptionV3 Frozen
    FC Layer(s)
    Softmax
    Output

    Preprocessing

    We perform the following steps:

    Segment
    Scale Values to 0-1
    GLCM Step 7, Rad 3, Bin 128, Mean Feature
    Scale Values to 0 Mean 1 Var
    Resize to 299x299

    Augmentation

    The following augmentations are used:

    Segment
    Horizontal Flip 50%
    Vertical Flip 50%

    Hyperparameters

    The following hyperparameters are used:

    • Optimizer: Adam

    • Learning Rate: 1e-3

    • Batch Size: 5

    • Epochs: 100

    • Early Stopping: 4

    Results

    We yield around 40% accuracy on the test set, compared to around 65% for the training set. Raising the training accuracy with a more complex model may improve the test accuracy, however, due to instability of our test results, we can't be sure of this.

    Result Images

    graph-chestnut-maydec.png
    cm-chestnut-maydec.png

    Caveats

    • The test set is very small, so the results are not very representative.

    • The test set is the same set of trees, so it's not a true test of the model performance in different conditions.

    • There are many classes with 1 sample, so the model may not be able to learn the features of these classes well.

    Last modified: 26 October 2023
    \ No newline at end of file + Model Test Chestnut May-Dec | Documentation

    Documentation 0.0.4 Help

    Model Test Chestnut May-Dec

    This test is used to evaluate the model performance on the Chestnut Nature Park May & December dataset.

    See this script in pipeline/model_tests/chestnut_dec_may/main.py.

    Motivation

    The usage of this model will be to classify trees in unseen datasets under different conditions. In this test, we'll evaluate it under a different season.

    A caveat is that it'll be evaluated on the same set of trees, so it's not a representative of a field-test. However, given difficulties of yielding datasets, this still gives us a good preliminary idea of how the model will perform in different conditions.

    Methodology

    We simply train on the December dataset, and test on the May dataset.

    Train
    Test
    Model
    DecDataset
    MayDataset

    Model

    The current Model used is a simple InceptionV3 Transfer Learning model, with the last layer replaced with a fully connected layer(s).

    Cross Entropy Loss
    Input
    InceptionV3 Frozen
    FC Layer(s)
    Softmax
    Output

    Preprocessing

    We perform the following steps:

    Segment
    Scale Values to 0-1
    GLCM Step 7, Rad 3, Bin 128, Mean Feature
    Scale Values to 0 Mean 1 Var
    Resize to 299x299

    Augmentation

    The following augmentations are used:

    Segment
    Horizontal Flip 50%
    Vertical Flip 50%

    Hyperparameters

    The following hyperparameters are used:

    • Optimizer: Adam

    • Learning Rate: 1e-3

    • Batch Size: 5

    • Epochs: 100

    • Early Stopping: 4

    Results

    We yield around 40% accuracy on the test set, compared to around 65% for the training set. Raising the training accuracy with a more complex model may improve the test accuracy, however, due to instability of our test results, we can't be sure of this.

    Result Images

    graph-chestnut-maydec.png
    cm-chestnut-maydec.png

    Caveats

    • The test set is very small, so the results are not very representative.

    • The test set is the same set of trees, so it's not a true test of the model performance in different conditions.

    • There are many classes with 1 sample, so the model may not be able to learn the features of these classes well.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/overview.html b/docs/overview.html index e1030fc2..72478e87 100644 --- a/docs/overview.html +++ b/docs/overview.html @@ -1 +1 @@ - Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 26 October 2023
    \ No newline at end of file + Overview | Documentation

    Documentation 0.0.4 Help

    Overview

    Forest Recovery Digital Companion (FRDC) is a ML-assisted companion for ecologists to automatically classify surveyed trees via an Unmanned Aerial Vehicle (UAV).

    This package, FRDC-ML is the Machine Learning backbone of this project, a centralized repository of tools and model architectures to be used in the FRDC pipeline.

    Get started here

    Other Projects

    FRDC-UI

    The User Interface Repository for FRDC, a WebApp GUI for ecologists to adjust annotations.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-extract-segments.html b/docs/preprocessing-extract-segments.html index 163678d2..39000f35 100644 --- a/docs/preprocessing-extract-segments.html +++ b/docs/preprocessing-extract-segments.html @@ -1,4 +1,4 @@ - preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    + preprocessing.extract_segments | Documentation

    Documentation 0.0.4 Help

    preprocessing.extract_segments

    Functions

    extract_segments_from_labels

    Extracts segments from a label classification.

    extract_segments_from_bounds

    Extracts segments from Rect bounds.

    remove_small_segments_from_labels

    Removes small segments from a label classification.

    Extract with Boundaries

    A boundary is a Rect object that represents the minimum bounding box of a segment, with x0, y0, x1, y1 coordinates.

    It simply slices the original image to the bounding box. The origin is the top left corner of the image.

    +-----------------+ +-----------+ | Original | | Segmented | | Image | | Image | @@ -9,7 +9,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 8 | 9 | +-----+-----+-----+ +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Original | | Segmented | | Image | | Image | @@ -20,7 +20,7 @@ +-----+-----+-----+ 1, 2, 0, 2 +-----+-----+-----+ | 7 | 8 | 9 | x0 y0 x1 y1 | 0 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +

    Extract with Labels

    A label classification is a np.ndarray where each pixel is mapped to a segment. The segments are mapped to a unique integer. In our project, the 0th label is the background.

    For example, a label classification of 3 segments will look like this:

    +-----------------+ +-----------------+ | Label | | Original | | Classification | | Image | @@ -31,7 +31,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 1 | 1 | 0 | | 7 | 8 | 9 | +-----+-----+-----+ +-----+-----+-----+ -

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +

    The extraction will take the minimum bounding box of each segment and return a list of segments.

    For example, the label 1 and 2 extracted images will be

    +-----------+ +-----------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -42,7 +42,7 @@ +-----+-----+ +-----+-----+ | 7 | 8 | +-----+-----+ -
    +
    +-----------------+ +-----------------+ | Extracted | | Extracted | | Segment 1 | | Segment 2 | @@ -53,7 +53,7 @@ +-----+-----+-----+ +-----+-----+-----+ | 7 | 8 | 0 | | 0 | 0 | 0 | +-----+-----+-----+ +-----+-----+-----+ -
    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Usage

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    +
    • If cropped is False, the segments are padded with 0s to the original image size. While this can ensure shape consistency, it can consume more memory for large images.

    • If cropped is True, the segments are cropped to the minimum bounding box. This can save memory, but the shape of the segments will be inconsistent.

    Usage

    Extract from Bounds and Labels

    Extract segments from bounds and labels.

    import numpy as np from frdc.load import FRDCDataset from frdc.preprocess.extract_segments import extract_segments_from_bounds @@ -65,7 +65,7 @@ bounds, labels = ds.get_bounds_and_labels() segments: list[np.ndarray] = extract_segments_from_bounds(ar, bounds) -

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    +

    Extract from Auto-Segmentation

    Extract segments from a label classification.

    from skimage.morphology import remove_small_objects, remove_small_holes import numpy as np @@ -91,4 +91,4 @@ min_height=10, min_width=10) segments: list[np.ndarray] = extract_segments_from_labels(ar, ar_labels) -

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 26 October 2023
    \ No newline at end of file +

    API

    extract_segments_from_labels(ar, ar_labels, cropped)

    Extracts segments from a label classification.


    ar_labels is a label classification as a np.ndarray

    extract_segments_from_bounds(ar, bounds, cropped)

    Extracts segments from Rect bounds.


    bounds is a list of Rect bounds.

    remove_small_segments_from_labels(ar_labels, min_height, min_width)

    Removes small segments from a label classification.


    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-glcm-padded.html b/docs/preprocessing-glcm-padded.html index 32feea67..11159608 100644 --- a/docs/preprocessing-glcm-padded.html +++ b/docs/preprocessing-glcm-padded.html @@ -1,4 +1,4 @@ - preprocessing.glcm_padded | Documentation

    Documentation 0.0.4 Help

    preprocessing.glcm_padded

    Functions

    glcm_padded

    Computes the GLCM of the NDArray bands with padding.

    glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it.

    append_glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.

    Usage

    We show a few examples of how to use the GLCM functions.

    + preprocessing.glcm_padded | Documentation

    Documentation 0.0.4 Help

    preprocessing.glcm_padded

    Functions

    glcm_padded

    Computes the GLCM of the NDArray bands with padding.

    glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it.

    append_glcm_padded_cached

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.

    Usage

    We show a few examples of how to use the GLCM functions.

    import numpy as np from glcm_cupy import Features @@ -23,4 +23,4 @@ ar_glcm_cached_appended = append_glcm_padded_cached(ar, bin_from=1, bin_to=4, radius=3) -
    • ar_glcm is the GLCM of the original array, with the last dimension being the GLCM features. The number of features is determined by the features parameter, which defaults to all features.

    • ar_glcm_2_features selects only 2 features, with the last dimension being the 2 GLCM features specified.

    • ar_glcm_cached caches the GLCM so that if you call it again, it will return the cached version. It stores its data at the project root dir, under .cache/.

    • ar_glcm_cached_appended is a wrapper around ar_glcm_cached, it appends the GLCM features onto the original array. It's equivalent to calling ar_glcm_cached and then np.concatenate on the final axes.

    Caching

    GLCM is an expensive operation, thus we recommend to cache it if the input parameters will be the same. This is especially useful if you're experimenting with the same dataset with constant parameters.

    API

    glcm_padded(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding.


    • ar is the input array

    • bin_from is the upper bound of the input

    • bin_to is the upper bound of the GLCM input, i.e. the resolution that GLCM operates on

    • radius is the radius of the GLCM

    • step_size is the step size of the GLCM

    • features is the list of GLCM features to compute

    The return shape is

    See glcm_cupy for the GLCM Features.

    glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it.


    See glcm_padded for the parameters and output shape

    append_glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.


    See glcm_padded for the parameters


    The return shape is:

    The function automatically flattens the last 2 dimensions of the GLCM features, and appends it onto the original array.

    Last modified: 26 October 2023
    \ No newline at end of file +
    • ar_glcm is the GLCM of the original array, with the last dimension being the GLCM features. The number of features is determined by the features parameter, which defaults to all features.

    • ar_glcm_2_features selects only 2 features, with the last dimension being the 2 GLCM features specified.

    • ar_glcm_cached caches the GLCM so that if you call it again, it will return the cached version. It stores its data at the project root dir, under .cache/.

    • ar_glcm_cached_appended is a wrapper around ar_glcm_cached, it appends the GLCM features onto the original array. It's equivalent to calling ar_glcm_cached and then np.concatenate on the final axes.

    Caching

    GLCM is an expensive operation, thus we recommend to cache it if the input parameters will be the same. This is especially useful if you're experimenting with the same dataset with constant parameters.

    API

    glcm_padded(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding.


    • ar is the input array

    • bin_from is the upper bound of the input

    • bin_to is the upper bound of the GLCM input, i.e. the resolution that GLCM operates on

    • radius is the radius of the GLCM

    • step_size is the step size of the GLCM

    • features is the list of GLCM features to compute

    The return shape is

    See glcm_cupy for the GLCM Features.

    glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it.


    See glcm_padded for the parameters and output shape

    append_glcm_padded_cached(ar, bin_from, bin_to, radius, step_size, features)

    Computes the GLCM of the NDArray bands with padding, and caches it and also appends it onto the original array.


    See glcm_padded for the parameters


    The return shape is:

    The function automatically flattens the last 2 dimensions of the GLCM features, and appends it onto the original array.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-morphology.html b/docs/preprocessing-morphology.html index 39df4e66..db402a61 100644 --- a/docs/preprocessing-morphology.html +++ b/docs/preprocessing-morphology.html @@ -1,4 +1,4 @@ - preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    + preprocessing.morphology | Documentation

    Documentation 0.0.4 Help

    preprocessing.morphology

    Functions

    threshold_binary_mask

    Thresholds a selected NDArray bands to yield a binary mask.

    binary_watershed

    Performs watershed on a binary mask to yield a mapped label classification

    Usage

    Perform auto-segmentation on a dataset to yield a label classification.

    from frdc.load import FRDCDataset from frdc.preprocess.morphology import ( threshold_binary_mask, binary_watershed @@ -10,6 +10,6 @@ ar, order = ds.get_ar_bands() mask = threshold_binary_mask(ar, order.index('NIR'), 90 / 256) ar_label = binary_watershed(mask) -

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    +

    API

    threshold_binary_mask(ar, band_idx, threshold_value)

    Thresholds a selected NDArray bands to yield a binary mask as np.ndarray


    This is equivalent to

    ar[..., band_idx] > threshold_value -
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 26 October 2023
    \ No newline at end of file +
    binary_watershed(ar_mask, peaks_footprint, watershed_compactness)

    Performs watershed on a binary mask to yield a mapped label classification as a np.ndarray


    • peaks_footprint is the footprint of skimage.feature.peak_local_max

    • watershed_compactness is the compactness of skimage.morphology.watershed

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/preprocessing-scale.html b/docs/preprocessing-scale.html index 41504a1d..28868ce7 100644 --- a/docs/preprocessing-scale.html +++ b/docs/preprocessing-scale.html @@ -1,4 +1,4 @@ - preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    + preprocessing.scale | Documentation

    Documentation 0.0.4 Help

    preprocessing.scale

    Functions

    scale_0_1_per_band

    Scales the NDArray bands to [0, 1] per band.

    scale_normal_per_band

    Scales the NDArray bands to zero mean unit variance per band.

    scale_static_per_band

    Scales the NDArray bands by a predefined configuration.

    Usage

    from frdc.load import FRDCDataset from frdc.preprocess.scale import ( scale_0_1_per_band, scale_normal_per_band, scale_static_per_band @@ -12,4 +12,4 @@ ar_01 = scale_0_1_per_band(ar) ar_norm = scale_normal_per_band(ar) ar_static = scale_static_per_band(ar, order, BAND_MAX_CONFIG) -

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 26 October 2023
    \ No newline at end of file +

    API

    scale_0_1_per_band(ar)

    Scales the NDArray bands to [0, 1] per band.


    scale_normal_per_band(ar)

    Scales the NDArray bands to zero mean unit variance per band.


    scale_static_per_band(ar, order, config)

    Scales the NDArray bands by a predefined configuration.


    The config is of dict[str, tuple[int, int]] where the key is the band name, and the value is a tuple of (min, max). Take a look at frdc.conf.BAND_MAX_CONFIG for an example.

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/retrieve-our-datasets.html b/docs/retrieve-our-datasets.html new file mode 100644 index 00000000..a9e52257 --- /dev/null +++ b/docs/retrieve-our-datasets.html @@ -0,0 +1,42 @@ + Retrieve our Datasets | Documentation

    Documentation 0.0.4 Help

    Retrieve our Datasets

    In this tutorial, we'll learn how to :

    • Retrieve FRDC's Hyperspectral Image Data as np.ndarray

    • Retrieve FRDC's Ground Truth bounds and labels

    • Slice/segment the image data by the bounds

    Prerequisites

    • New here? Get Started.

    • Setup the Google Cloud Authorization to download the data.

    Retrieve the Data

    To retrieve the data, use FRDCDataset

    Here, we'll download and load our

    • ar: Hyperspectral Image Data

    • order: The order of the bands

    • bounds: The bounds of the trees (segments)

    • labels: The labels of the trees (segments)

    +from frdc.load.dataset import FRDCDataset + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +

    What Datasets are there?

    +>>> from frdc.load.dataset import FRDCDownloader +>>> df = FRDCDownloader().list_gcs_datasets() +>>> print(df) +# 0 DEBUG/0 +# 1 casuarina/20220418/183deg +# 2 casuarina/20220418/93deg +# 3 chestnut_nature_park/20201218 +# ... +
    • The first part of the path is the site, and the second part is the date.

    • The version is the rest of the path, if there isn't any, use None.

    • site="ds"

    • date="date"

    • version="ver"

    • site="ds"

    • date="date"

    • version="ver/01/data"

    • site="ds"

    • date="date"

    • version=None

    Segment the Data

    To segment the data, use Extract Segments.

    Here, we'll segment the data by the bounds.

    +from frdc.load.dataset import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +segments = extract_segments_from_bounds(ar, bounds) +

    segments is a list of np.ndarray of shape H, W, C, representing a tree. The order of segments is the same as labels, so you can use labels to identify the tree.

    Plot the Data (Optional)

    We can then use these data to plot out the first tree segment.

    +import matplotlib.pyplot as plt + +from frdc.load.dataset import FRDCDataset +from frdc.preprocess.extract_segments import extract_segments_from_bounds +from frdc.preprocess.scale import scale_0_1_per_band + +ds = FRDCDataset(site="chestnut_nature_park", date="20201218", version=None) +ar, order = ds.get_ar_bands() +bounds, labels = ds.get_bounds_and_labels() +segments = extract_segments_from_bounds(ar, bounds) +segment_0_bgr = segments[0] +segment_0_rgb = segment_0_bgr[..., [2, 1, 0]] +segment_0_rgb_scaled = scale_0_1_per_band(segment_0_rgb) + +plt.imshow(segment_0_rgb_scaled) +plt.title(f"Tree {labels[0]}") +plt.show() +

    See also: preprocessing.scale.scale_0_1_per_band

    MatPlotLib cannot show the data correctly as-is, so we need to

    • Convert the data from BGR to RGB

    • Scale the data to 0-1 per band

    Last modified: 26 October 2023
    \ No newline at end of file diff --git a/docs/train-frdc-lightning.html b/docs/train-frdc-lightning.html index 7c945754..122fb48a 100644 --- a/docs/train-frdc-lightning.html +++ b/docs/train-frdc-lightning.html @@ -1,4 +1,4 @@ - train.frdc_datamodule & frdc_module | Documentation

    Documentation 0.0.4 Help

    train.frdc_datamodule & frdc_module

    These are FRDC specific LightningDataModule and LightningModule, a core component in the PyTorch Lightning ecosystem to provide a simple interface to train and evaluate models.

    Classes

    FRDCDataModule

    The FRDC PyTorch Lightning DataModule.

    FRDCModule

    The FRDC PyTorch Lightning Module.

    Usage

    API

    FRDCDataModule(segments, labels, preprocess, augmentation, train_val_test_split, batch_size)

    Initializes the FRDC PyTorch Lightning DataModule.


    • segments, labels are retrieved from

    • preprocess is a function that takes in a segment and returns a preprocessed segment. In particular, it should accept a list of NumPy NDArrays and return a single stacked PyToch Tensor.

    • augmentation is a function that takes in a segment and returns an augmented segment. In particular, it takes in a PyTorch Tensor and returns another.

    • train_val_test_split is a function that takes a TensorDataset and returns a list of 3 TensorDatasets, for train, val and test respectively.

    • batch_size is the batch size.

    FRDCModule(model_cls, model_kwargs, optim_cls, optim_kwargs)

    Initializes the FRDC PyTorch Lightning Module.


    • model_cls is the Class of the model.

    • model_kwargs is the kwargs to pass to the model.

    • optim_cls is the Class of the optimizer.

    • optim_kwargs is the kwargs to pass to the optimizer.

    Internally, the module will initialize the model and optimizer as follows:

    + train.frdc_datamodule & frdc_module | Documentation

    Documentation 0.0.4 Help

    train.frdc_datamodule & frdc_module

    These are FRDC specific LightningDataModule and LightningModule, a core component in the PyTorch Lightning ecosystem to provide a simple interface to train and evaluate models.

    Classes

    FRDCDataModule

    The FRDC PyTorch Lightning DataModule.

    FRDCModule

    The FRDC PyTorch Lightning Module.

    Usage

    API

    FRDCDataModule(segments, labels, preprocess, augmentation, train_val_test_split, batch_size)

    Initializes the FRDC PyTorch Lightning DataModule.


    • segments, labels are retrieved from

    • preprocess is a function that takes in a segment and returns a preprocessed segment. In particular, it should accept a list of NumPy NDArrays and return a single stacked PyToch Tensor.

    • augmentation is a function that takes in a segment and returns an augmented segment. In particular, it takes in a PyTorch Tensor and returns another.

    • train_val_test_split is a function that takes a TensorDataset and returns a list of 3 TensorDatasets, for train, val and test respectively.

    • batch_size is the batch size.

    FRDCModule(model_cls, model_kwargs, optim_cls, optim_kwargs)

    Initializes the FRDC PyTorch Lightning Module.


    • model_cls is the Class of the model.

    • model_kwargs is the kwargs to pass to the model.

    • optim_cls is the Class of the optimizer.

    • optim_kwargs is the kwargs to pass to the optimizer.

    Internally, the module will initialize the model and optimizer as follows:

    model = model_cls(**model_kwargs) optim = optim_cls(model.parameters(), **optim_kwargs) -
    Last modified: 26 October 2023
    \ No newline at end of file +
    Last modified: 26 October 2023
    \ No newline at end of file