diff --git a/.fossa.yml b/.fossa.yml
deleted file mode 100755
index 8c86157786..0000000000
--- a/.fossa.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-# Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
-# Visit https://fossa.com to learn more
-
-version: 2
-cli:
-  server: https://app.fossa.com
-  fetcher: custom
-  project: github.com/theupdateframework/tuf
-analyze:
-  modules:
-  - name: tuf
-    type: pip
-    target: .
-    path: .
-    options:
-      strategy: requirements
-      requirements: requirements.txt
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..d67862fbb9
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+# Test data should not be modified on checkout, regardless of host settings
+*.json binary
+*.py diff=python
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b307d4e22e..5215a22027 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,15 +1,18 @@
-Please fill in the fields below to submit a pull request.  The more information
-that is provided, the better.
+<!--
+Before submitting a pull request:
+  * Run linter and tests locally: Use "tox"
+  * Ensure your commits are signed-off-by: Use "commit --signoff"
+  * Make sure new code has tests and is documented
+  * For more info, see docs/CONTRIBUTING.rst
 
-Fixes #<ISSUE NUMBER>
+Once commits are signed off and tested, describe the purpose and contents
+of the pull request below.
+-->
 
 **Description of the changes being introduced by the pull request**:
 
-**Please verify and check that the pull request fulfills the following
-requirements**:
 
-- [ ] The code follows the [Code Style Guidelines](https://github.com/secure-systems-lab/code-style-guidelines#code-style-guidelines)
-- [ ] Tests have been added for the bug fix or new feature
-- [ ] Docs have been added for the bug fix or new feature
 
 
+Fixes #<ISSUE NUMBER>
+
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 556eb87ecc..d972244e78 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -1,13 +1,38 @@
 version: 2
 updates:
-- package-ecosystem: pip
+
+- package-ecosystem: "pip"
   directory: "/"
   schedule:
-    interval: daily
-    time: "10:00"
+    interval: "weekly"
   open-pull-requests-limit: 10
-  ignore:
-    # New 'idna' (see 'requests') releases break Python 2.7 builds. Ignore here
-    # to avoid listing/pinning transitive dependencies in requirements.txt.
-    # FIXME: Un-ignore when dropping Python 2.7 or resolving #1249
-    - dependency-name: "idna"
+  groups:
+    build-and-release-dependencies:
+      # Python dependencies known to be critical to our build/release security
+      patterns:
+        - "build"
+        - "hatchling"
+    test-and-lint-dependencies:
+      # Python dependencies that are only pinned to ensure test reproducibility
+      patterns:
+        - "coverage"
+        - "mypy"
+        - "ruff"
+        - "tox"
+        - "zizmor"
+    dependencies:
+      # Python (developer) runtime dependencies. Also any new dependencies not
+      # caught by earlier groups
+      patterns:
+        - "*"
+
+
+- package-ecosystem: "github-actions"
+  directory: "/"
+  schedule:
+    interval: "weekly"
+  open-pull-requests-limit: 10
+  groups:
+    action-dependencies:
+      patterns:
+        - "*"
diff --git a/.github/scripts/conformance-client.py b/.github/scripts/conformance-client.py
new file mode 100755
index 0000000000..0c44c7ff84
--- /dev/null
+++ b/.github/scripts/conformance-client.py
@@ -0,0 +1,119 @@
+#!/usr/bin/env python3
+"""Conformance client for python-tuf, part of tuf-conformance"""
+
+# Copyright 2024 tuf-conformance contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+import argparse
+import logging
+import os
+import shutil
+import sys
+
+from tuf.ngclient import Updater
+
+
+def init(metadata_dir: str, trusted_root: str) -> None:
+    """Initialize local trusted metadata"""
+
+    # No need to actually run python-tuf code at this point
+    shutil.copyfile(trusted_root, os.path.join(metadata_dir, "root.json"))
+    print(f"python-tuf test client: Initialized repository in {metadata_dir}")
+
+
+def refresh(metadata_url: str, metadata_dir: str) -> None:
+    """Refresh local metadata from remote"""
+
+    updater = Updater(
+        metadata_dir,
+        metadata_url,
+    )
+    updater.refresh()
+    print(f"python-tuf test client: Refreshed metadata in {metadata_dir}")
+
+
+def download_target(
+    metadata_url: str,
+    metadata_dir: str,
+    target_name: str,
+    download_dir: str,
+    target_base_url: str,
+) -> None:
+    """Download target."""
+
+    updater = Updater(
+        metadata_dir,
+        metadata_url,
+        download_dir,
+        target_base_url,
+    )
+    target_info = updater.get_targetinfo(target_name)
+    if not target_info:
+        raise RuntimeError(f"{target_name} not found in repository")
+    if not updater.find_cached_target(target_info):
+        updater.download_target(target_info)
+
+
+def main() -> int:
+    """Main TUF Client Example function"""
+
+    parser = argparse.ArgumentParser(description="TUF Client Example")
+    parser.add_argument("--metadata-url", required=False)
+    parser.add_argument("--metadata-dir", required=True)
+    parser.add_argument("--target-name", required=False)
+    parser.add_argument("--target-dir", required=False)
+    parser.add_argument("--target-base-url", required=False)
+    parser.add_argument("-v", "--verbose", action="count", default=0)
+
+    sub_command = parser.add_subparsers(dest="sub_command")
+    init_parser = sub_command.add_parser(
+        "init",
+        help="Initialize client with given trusted root",
+    )
+    init_parser.add_argument("trusted_root")
+
+    sub_command.add_parser(
+        "refresh",
+        help="Refresh the client metadata",
+    )
+
+    sub_command.add_parser(
+        "download",
+        help="Downloads a target",
+    )
+
+    command_args = parser.parse_args()
+
+    if command_args.verbose <= 1:
+        loglevel = logging.WARNING
+    elif command_args.verbose == 2:
+        loglevel = logging.INFO
+    else:
+        loglevel = logging.DEBUG
+
+    logging.basicConfig(level=loglevel)
+
+    # initialize the TUF Client Example infrastructure
+    if command_args.sub_command == "init":
+        init(command_args.metadata_dir, command_args.trusted_root)
+    elif command_args.sub_command == "refresh":
+        refresh(
+            command_args.metadata_url,
+            command_args.metadata_dir,
+        )
+    elif command_args.sub_command == "download":
+        download_target(
+            command_args.metadata_url,
+            command_args.metadata_dir,
+            command_args.target_name,
+            command_args.target_dir,
+            command_args.target_base_url,
+        )
+    else:
+        parser.print_help()
+
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main())
diff --git a/.github/workflows/_test.yml b/.github/workflows/_test.yml
new file mode 100644
index 0000000000..34ad5f2d4d
--- /dev/null
+++ b/.github/workflows/_test.yml
@@ -0,0 +1,115 @@
+on:
+  workflow_call:
+  # Permissions inherited from caller workflow
+
+permissions: {}
+
+jobs:
+  lint-test:
+    name: Lint Test
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout TUF
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+
+      - name: Set up Python (oldest supported version)
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: "3.9"
+          cache: 'pip'
+          cache-dependency-path: |
+            requirements/*.txt
+            pyproject.toml
+
+      - name: Install dependencies
+        run: |
+          python3 -m pip install --constraint requirements/build.txt tox coveralls
+
+      - name: Run tox
+        env:
+          RUFF_OUTPUT_FORMAT: github
+        run: tox -e lint
+
+  tests:
+    name: Tests
+    needs: lint-test
+    strategy:
+      matrix:
+        python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
+        os: [ubuntu-latest]
+        include:
+          - python-version: "3.x"
+            os: macos-latest
+          - python-version: "3.x"
+            os: windows-latest
+
+    runs-on: ${{ matrix.os }}
+
+    steps:
+      - name: Checkout TUF
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+
+      - name: Set up Python ${{ matrix.python-version }}
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: ${{ matrix.python-version }}
+          cache: 'pip'
+          cache-dependency-path: |
+            requirements/*.txt
+            pyproject.toml
+
+      - name: Install dependencies
+        run: |
+          python3 -m pip install --constraint requirements/build.txt tox coveralls
+
+      - name: Run tox
+        run: tox -e py
+
+      - name: Publish on coveralls.io
+        # A failure to publish coverage results on coveralls should not
+        # be a reason for a job failure.
+        continue-on-error: true
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          COVERALLS_FLAG_NAME: ${{ runner.os }} / Python ${{ matrix.python-version }}
+          COVERALLS_PARALLEL: true
+        run: |
+          coveralls --service=github
+
+  all-tests-pass:
+    name: All tests passed
+    needs: [lint-test, tests]
+    runs-on: ubuntu-latest
+    steps:
+      - run: echo "All test jobs have completed successfully."
+
+  coveralls-fin:
+    # Always run when all 'tests' jobs have finished even if they failed
+    # TODO: Replace always() with a 'at least one job succeeded' expression
+    if: always()
+    needs: tests
+    runs-on: ubuntu-latest
+    steps:
+      - name: Add requirements file to make setup-python happy
+        run: touch requirements.txt
+
+      - name: Set up Python
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: '3.x'
+          cache: 'pip'
+
+      - name: Install dependencies
+        run: |
+          python3 -m pip install coveralls
+
+      - name: Finalize publishing on coveralls.io
+        continue-on-error: true
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: coveralls --finish
diff --git a/.github/workflows/_test_sslib_main.yml b/.github/workflows/_test_sslib_main.yml
new file mode 100644
index 0000000000..c8cf3107d9
--- /dev/null
+++ b/.github/workflows/_test_sslib_main.yml
@@ -0,0 +1,32 @@
+on:
+  workflow_call:
+  # Permissions inherited from caller workflow
+
+permissions: {}
+
+jobs:
+  sslib-main:
+    name: Test securesystemslib main branch (not a merge blocker)
+    runs-on: ubuntu-latest
+
+    steps:
+      - name: Checkout TUF
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+
+      - name: Set up Python
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: '3.x'
+          cache: 'pip'
+          cache-dependency-path: |
+            requirements/*.txt
+            pyproject.toml
+
+      - name: Install dependencies
+        run: |
+          python3 -m pip install --constraint requirements/build.txt tox
+
+      - name: Run tox
+        run: tox -e with-sslib-main
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
new file mode 100644
index 0000000000..68ccb087b4
--- /dev/null
+++ b/.github/workflows/cd.yml
@@ -0,0 +1,121 @@
+name: CD
+concurrency: cd
+
+on:
+  push:
+    tags:
+      - v*
+
+permissions: {}
+
+jobs:
+  test:
+    uses: ./.github/workflows/_test.yml
+
+  build:
+    name: Build
+    runs-on: ubuntu-latest
+    needs: test
+    steps:
+      - name: Checkout release tag
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+          ref: ${{ github.event.workflow_run.head_branch }}
+
+      - name: Set up Python
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: '3.x'
+
+      - name: Install build dependency
+        run: python3 -m pip install --constraint requirements/build.txt build
+
+      - name: Build binary wheel, source tarball and changelog
+        run: |
+          python3 -m build --sdist --wheel --outdir dist/ .
+          awk "/## $GITHUB_REF_NAME/{flag=1; next} /## v/{flag=0} flag" docs/CHANGELOG.md > changelog
+
+      - name: Store build artifacts
+        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
+        with:
+          name: build-artifacts
+          path: |
+            dist
+            changelog
+
+  candidate_release:
+    name: Release candidate on Github for review
+    runs-on: ubuntu-latest
+    needs: build
+    permissions:
+      contents: write # to modify GitHub releases
+    outputs:
+      release_id: ${{ steps.gh-release.outputs.result }}
+    steps:
+      - name: Fetch build artifacts
+        uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+        with:
+          name: build-artifacts
+
+      - id: gh-release
+        name: Publish GitHub release draft
+        uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
+        with:
+          script: |
+            fs = require('fs')
+            res = await github.rest.repos.createRelease({
+              owner: context.repo.owner,
+              repo: context.repo.repo,
+              name: process.env.REF_NAME + '-rc',
+              tag_name: process.env.REF,
+              body: fs.readFileSync('changelog', 'utf8'),
+            });
+
+            fs.readdirSync('dist/').forEach(file => {
+              github.rest.repos.uploadReleaseAsset({
+                owner: context.repo.owner,
+                repo: context.repo.repo,
+                release_id: res.data.id,
+                name: file,
+                data: fs.readFileSync('dist/' + file),
+              });
+            });
+            return res.data.id
+        env:
+          REF_NAME: ${{ github.ref_name }}
+          REF: ${{ github.ref }}
+
+  release:
+    name: Release
+    runs-on: ubuntu-latest
+    needs: candidate_release
+    environment: release
+    permissions:
+      contents: write # to modify GitHub releases
+      id-token: write # to authenticate as Trusted Publisher to pypi.org
+    steps:
+      - name: Fetch build artifacts
+        uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
+        with:
+          name: build-artifacts
+
+      - name: Publish binary wheel and source tarball on PyPI
+        # Only attempt pypi upload in upstream repository
+        if: github.repository == 'theupdateframework/python-tuf'
+        uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
+
+      - name: Finalize GitHub release
+        uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
+        with:
+          script: |
+            github.rest.repos.updateRelease({
+              owner: context.repo.owner,
+              repo: context.repo.repo,
+              release_id: process.env.RELEASE_ID,
+              name: process.env.REF_NAME,
+            })
+        
+        env:
+          REF_NAME: ${{ github.ref_name }}
+          RELEASE_ID: ${{ needs.candidate_release.outputs.release_id }}
\ No newline at end of file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 450d809b68..9fc17c3a81 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,107 +1,17 @@
-name: Run TUF tests and linter
+name: CI
 
 on:
   push:
     branches:
       - develop
+
   pull_request:
   workflow_dispatch:
 
-jobs:
-  build:
-    strategy:
-      fail-fast: false
-      # Run regular TUF tests on each OS/Python combination, plus special tests
-      # (sslib master) and linters on Linux/Python3.x only.
-      matrix:
-        python-version: [2.7, 3.6, 3.7, 3.8, 3.9]
-        os: [ubuntu-latest, macos-latest, windows-latest]
-        toxenv: [py]
-        include:
-          - python-version: 3.x
-            os: ubuntu-latest
-            toxenv: with-sslib-master
-            experimental: true
-          # TODO: Change to 3.x once pylint fully supports Python 3.9
-          - python-version: 3.8
-            os: ubuntu-latest
-            toxenv: lint
-
-    env:
-      # Set TOXENV env var to tell tox which testenv (see tox.ini) to use
-      # NOTE: The Python 2.7 runner has two Python versions on the path (see
-      # setup-python below), so we tell tox explicitly to use the 'py27'
-      # testenv. For all other runners the toxenv configured above suffices.
-      TOXENV: ${{ matrix.python-version == '2.7' && 'py27' || matrix.toxenv }}
-
-    runs-on: ${{ matrix.os }}
-
-    steps:
-      - name: Checkout TUF
-        uses: actions/checkout@v2
-
-      - name: Set up Python ${{ matrix.python-version }}
-        uses: actions/setup-python@v2
-        with:
-          python-version: ${{ matrix.python-version }}
-
-      - name: Set up service Python 3.x (on 2.7 only)
-        uses: actions/setup-python@v2
-        if: ${{ matrix.python-version == 2.7 }}
-        with:
-          python-version: 3.x
+permissions: {}
 
-      - name: Find pip cache dir
-        id: pip-cache
-        run: echo "::set-output name=dir::$(pip cache dir)"
-
-      - name: pip cache
-        uses: actions/cache@v2
-        with:
-          # Use the os dependent pip cache directory found above
-          path: ${{ steps.pip-cache.outputs.dir }}
-          # A match with 'key' counts as cache hit
-          key: ${{ runner.os }}-pip-${{ hashFiles('requirements*.txt') }}
-          # A match with 'restore-keys' is used as fallback
-          restore-keys: ${{ runner.os }}-pip-
-
-      - name: Install dependencies
-        run: |
-          python -m pip install --upgrade pip
-          pip install --upgrade tox coveralls
-
-      - name: Run tox (${{ env.TOXENV }})
-        # See TOXENV environment variable for the testenv to be executed here
-        run: tox
-
-      - name: Publish on coveralls.io
-        # TODO: Maybe make 'lint' a separate job instead of case handling here
-        if: ${{ env.TOXENV != 'lint' }}
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-          COVERALLS_FLAG_NAME: ${{ runner.os }} / Python ${{ matrix.python-version }} / ${{ env.TOXENV }}
-          COVERALLS_PARALLEL: true
-        # Use cp workaround to publish coverage reports with relative paths
-        # FIXME: Consider refactoring the tests to not require the test
-        # aggregation script being invoked from the `tests` directory, so
-        # that `.coverage` is written to and .coveragrc can also reside in
-        # the project root directory as is the convention.
-        run: |
-          cp tests/.coverage .
-          coveralls --service=github --rcfile=tests/.coveragerc
-
-  coveralls-fin:
-    # Always run when all 'build' jobs have finished even if they failed
-    # TODO: Replace always() with a 'at least one job succeeded' expression
-    if: always()
-    needs: build
-    runs-on: ubuntu-latest
-    container: python:3-slim
-    steps:
-      - name: Finalize publishing on coveralls.io
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        run: |
-          python -m pip install --upgrade pip
-          pip install --upgrade coveralls
-          coveralls --finish
+jobs:
+  test:
+    uses: ./.github/workflows/_test.yml
+  test-with-sslib-main:
+    uses: ./.github/workflows/_test_sslib_main.yml
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
new file mode 100644
index 0000000000..0253fbafd4
--- /dev/null
+++ b/.github/workflows/codeql-analysis.yml
@@ -0,0 +1,36 @@
+name: "CodeQL Analysis"
+
+on:
+  push:
+    branches: [ develop ]
+  pull_request:
+    branches: [ develop ]
+  schedule:
+    - cron: '30 0 * * 2'
+  workflow_dispatch:
+
+permissions: {}
+
+jobs:
+  analyze:
+    name: Analyze
+    runs-on: ubuntu-latest
+    permissions:
+      # NOTE: If you add security critical permissions, start pinning used actions
+      actions: read
+      contents: read
+      security-events: write # for uploading to code-scanning dashboard
+
+    steps:
+    - name: Checkout repository
+      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+      with:
+        persist-credentials: false
+
+    - name: Initialize CodeQL
+      uses: github/codeql-action/init@v3 # zizmor: ignore[unpinned-uses]
+      with:
+        languages: 'python'
+
+    - name: Perform CodeQL Analysis
+      uses: github/codeql-action/analyze@v3 # zizmor: ignore[unpinned-uses]
diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml
new file mode 100644
index 0000000000..1c3a414dd6
--- /dev/null
+++ b/.github/workflows/conformance.yml
@@ -0,0 +1,24 @@
+on:
+  push:
+    branches:
+      - develop
+  pull_request:
+  workflow_dispatch:
+
+permissions:
+  contents: read
+
+name: Conformance
+jobs:
+  conformance:
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout conformance client
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+
+      - name: Run test suite
+        uses: theupdateframework/tuf-conformance@9bfc222a371e30ad5511eb17449f68f855fb9d8f # v2.3.0
+        with:
+          entrypoint: ".github/scripts/conformance-client.py"
diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml
new file mode 100644
index 0000000000..1400d25cf6
--- /dev/null
+++ b/.github/workflows/dependency-review.yml
@@ -0,0 +1,23 @@
+# Dependency Review Action
+#
+# This Action will scan dependency manifest files that change as part of a Pull Reqest, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
+#
+# Source repository: https://github.com/actions/dependency-review-action
+# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
+name: 'Dependency Review'
+on: [pull_request]
+
+permissions:
+  # NOTE: If you add security critical permissions, start pinning used actions
+  contents: read
+
+jobs:
+  dependency-review:
+    runs-on: ubuntu-latest
+    steps:
+      - name: 'Checkout Repository'
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+      - name: 'Dependency Review'
+        uses: actions/dependency-review-action@v4 # zizmor: ignore[unpinned-uses]
\ No newline at end of file
diff --git a/.github/workflows/maintainer-permissions-reminder.yml b/.github/workflows/maintainer-permissions-reminder.yml
new file mode 100644
index 0000000000..54dcbf646e
--- /dev/null
+++ b/.github/workflows/maintainer-permissions-reminder.yml
@@ -0,0 +1,56 @@
+name: Maintainer review reminder
+
+on:
+  schedule:
+    - cron: '10 10 10 2 *'
+  workflow_dispatch:
+
+permissions: {}
+
+jobs:
+  file-reminder-issue:
+    name: File issue to review maintainer permissions
+    runs-on: ubuntu-latest
+    permissions:
+      issues: write
+    steps:
+    - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
+      with:
+        script: |
+          await github.rest.issues.create({
+            owner: context.repo.owner,
+            repo: context.repo.repo,
+            title: "Yearly maintainer permissions review",
+            body: `
+          This is a checklist for evaluating python-tuf maintainer accounts and permissions. This issue is automatically opened once a year.
+
+          ### Tasks
+
+          1. Update this list to include any new services
+          2. Evaluate the accounts and permissions for each service on the list. Some rules of thumb:
+             * Critical services should have a minimum of 3 _active_ maintainers/admins to prevent project lockout
+             * Each additional maintainer/admin increases the risk of project compromise: for this reason permissions should be removed if they are no longer used
+             * For services that are not frequently used, each maintainer/admin should check that they really are still able to authenticate to the service and confirm this in the comments
+          3. Update MAINTAINERS.txt to reflect current permissions
+          4. (Bonus) Update significant contributors in README.md#acknowledgements
+
+          ### Critical services
+
+          * [ ] **PyPI**: maintainer list is visible to everyone at https://pypi.org/project/tuf/
+              * Only enough maintainers and org admins to prevent locking the project out
+          * [ ] **GitHub**: release environment reviewers listed in https://github.com/theupdateframework/python-tuf/settings/environments
+              * Maintainers who can approve releases to PyPI
+          * [ ] **GitHub**: permissions visible to admins at https://github.com/theupdateframework/python-tuf/settings/access
+              * "admin" permission: Only for maintainers and org admins who do project administration
+              * "push/maintain" permission: Maintainers who actively approve and merge PRs (+admins)
+              * "triage" permission: All contributors trusted to manage issues
+
+          ### Other
+
+          * [ ] **ReadTheDocs**: admin list is visible to everyone at https://readthedocs.org/projects/theupdateframework/
+          * [ ] **Coveralls**: everyone with github "admin" permissions is a Coveralls admin: https://coveralls.io/github/theupdateframework/python-tuf
+          `
+          })
+          console.log("New issue created.")
+
+
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
new file mode 100644
index 0000000000..955c0c11b4
--- /dev/null
+++ b/.github/workflows/scorecards.yml
@@ -0,0 +1,42 @@
+name: Scorecards analysis
+on:
+  branch_protection_rule:
+  schedule:
+    - cron: '21 6 * * 1'
+  push:
+    branches: [ develop ]
+  workflow_dispatch:
+
+permissions: {}
+
+jobs:
+  analysis:
+    name: Scorecards analysis
+    runs-on: ubuntu-latest
+    permissions:
+      # NOTE: If you add security critical permissions, start pinning used actions
+      security-events: write # for uploading to code-scanning dashboard
+      id-token: write # for publishing results in scorecard public dataset
+      actions: read
+      contents: read
+
+    steps:
+      - name: "Checkout code"
+        uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+          persist-credentials: false
+
+      - name: "Run analysis"
+        uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
+        with:
+          results_file: results.sarif
+          # sarif format required by upload-sarif action
+          results_format: sarif
+          # "repo_token" not set because personal access tokens are dangerous.
+          # This means Branch-Protection check will not have correct results.
+          publish_results: true
+
+      - name: "Upload to code-scanning dashboard"
+        uses: github/codeql-action/upload-sarif@v3 # zizmor: ignore[unpinned-uses]
+        with:
+          sarif_file: results.sarif
diff --git a/.github/workflows/specification-version-check.yml b/.github/workflows/specification-version-check.yml
new file mode 100644
index 0000000000..ed4f6bbe1f
--- /dev/null
+++ b/.github/workflows/specification-version-check.yml
@@ -0,0 +1,38 @@
+on:
+  schedule:
+    - cron: "0 13 * * *"
+  workflow_dispatch:
+
+name: Specification version check
+
+permissions: {}
+
+jobs:
+  # Get the version of the TUF specification the project states it supports
+  get-supported-tuf-version:
+    runs-on: ubuntu-latest
+    outputs:
+      version: ${{ steps.get-version.outputs.version }}
+    steps:
+      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+        with:
+         persist-credentials: false
+      - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
+        with:
+          python-version: "3.x"
+      - id: get-version
+        run: |
+          python3 -m pip install -r requirements/pinned.txt
+          script="from tuf.api.metadata import SPECIFICATION_VERSION; \
+                  print(f\"v{'.'.join(SPECIFICATION_VERSION)}\")"
+          ver=$(python3 -c "$script")
+          echo "version=$ver" >> $GITHUB_OUTPUT
+  # Get the latest TUF specification release and open an issue (if needed)
+  specification-bump-check:
+    permissions:
+      contents: read
+      issues: write
+    needs: get-supported-tuf-version
+    uses: theupdateframework/specification/.github/workflows/check-latest-spec-version.yml@master
+    with:
+      tuf-version: ${{needs.get-supported-tuf-version.outputs.version}}
diff --git a/.gitignore b/.gitignore
index b29f65217d..ff032a6f68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,10 @@
 # root level directories
-dist/*
-build/*
-env/*
+dist/
+build/
+env/
+
+# docs build directory
+docs/build/
 
 # global file patterns
 *.log
@@ -11,18 +14,20 @@ env/*
 *.swp
 *.egg-info
 .coverage
-.tox/*
-tests/htmlcov/*
+.tox/
+tests/htmlcov/
 .DS_Store
-.pybuild/*
+.pybuild/
 .python-version
 *~
 *.tmp
+.pre-commit-config.yaml
+.vscode
 
 # Debian generated files
-debian/.debhelper/*
+debian/.debhelper/
 debian/*-stamp
 debian/files
 debian/*.debhelper
 debian/*.substvars
-debian/python*-tuf/*
+debian/python*-tuf/
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 0000000000..96096895bb
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,29 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Without a build section we hit https://github.com/urllib3/urllib3/issues/2168
+# (the default image has openssl < 1.1.1)
+build:
+  os: "ubuntu-22.04"
+  tools:
+    python: "3.12"
+
+# Build documentation with Sphinx
+sphinx:
+  builder: html
+  configuration: docs/conf.py
+  fail_on_warning: true
+
+# Optionally build your docs in additional formats such as PDF
+formats: []
+
+# Optionally set the version of Python and requirements required to build your docs
+python:
+  install:
+  - requirements: requirements/docs.txt
+  - method: pip
+    path: .
diff --git a/LICENSE-MIT b/LICENSE-MIT
index f100e0638a..096d0b9e22 100644
--- a/LICENSE-MIT
+++ b/LICENSE-MIT
@@ -19,40 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
-
-===============================================================================
-Many files are modified from Thandy and are licensed under the
-following license:
-
-Thandy is distributed under this license:
-
-Copyright (c) 2008, The Tor Project, Inc.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-
-    * Neither the names of the copyright owners nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-===============================================================================
diff --git a/MANIFEST.in b/MANIFEST.in
deleted file mode 100644
index 0fd516697a..0000000000
--- a/MANIFEST.in
+++ /dev/null
@@ -1,28 +0,0 @@
-include LICENSE*
-include README.md
-include tox.ini
-include tests/repository_data/keystore/delegation_key
-include tests/repository_data/keystore/root_key
-include tests/repository_data/keystore/snapshot_key
-include tests/repository_data/keystore/targets_key
-include tests/repository_data/keystore/timestamp_key
-
-recursive-include docs *.txt
-recursive-include docs *.md
-recursive-include docs *.rst
-recursive-include docs/papers *.pdf
-recursive-include docs/images *.png
-recursive-include tuf/scripts *.py
-recursive-include examples *
-recursive-include tests *.py
-recursive-include tests *.pem
-recursive-include tests *.json
-recursive-include tests *.txt
-recursive-include tests *.cfg
-recursive-include tests *.coveragerc
-recursive-include tests *.gz
-recursive-include tests *.pub
-recursive-include tuf *.gitignore
-recursive-include tuf *.md
-recursive-include tuf *.rst
-recursive-include tuf *.yml
diff --git a/README.md b/README.md
index 35316d22c7..7b47814009 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,33 @@
 # <img src="https://cdn.rawgit.com/theupdateframework/artwork/3a649fa6/tuf-logo.svg" height="100" valign="middle" alt="TUF"/> A Framework for Securing Software Update Systems
 
-![Build](https://github.com/theupdateframework/tuf/workflows/Run%20TUF%20tests%20and%20linter/badge.svg)
-[![Coveralls](https://coveralls.io/repos/theupdateframework/tuf/badge.svg?branch=develop)](https://coveralls.io/r/theupdateframework/tuf?branch=develop)
-[![CII](https://bestpractices.coreinfrastructure.org/projects/1351/badge)](https://bestpractices.coreinfrastructure.org/projects/1351)
-[![PyPI](https://img.shields.io/pypi/v/tuf)](https://pypi.org/project/tuf/)
+[![CI badge](https://github.com/theupdateframework/python-tuf/actions/workflows/ci.yml/badge.svg)](https://github.com/theupdateframework/python-tuf/actions/workflows/ci.yml)
+[![Conformance badge](https://github.com/theupdateframework/python-tuf/actions/workflows/conformance.yml/badge.svg)](https://github.com/theupdateframework/python-tuf/actions/workflows/conformance.yml)
+[![Coveralls badge](https://coveralls.io/repos/theupdateframework/python-tuf/badge.svg?branch=develop)](https://coveralls.io/r/theupdateframework/python-tuf?branch=develop)
+[![Docs badge](https://readthedocs.org/projects/theupdateframework/badge/)](https://theupdateframework.readthedocs.io/)
+[![CII badge](https://bestpractices.coreinfrastructure.org/projects/1351/badge)](https://bestpractices.coreinfrastructure.org/projects/1351)
+[![PyPI badge](https://img.shields.io/pypi/v/tuf)](https://pypi.org/project/tuf/)
+[![Scorecard badge](https://api.scorecard.dev/projects/github.com/theupdateframework/python-tuf/badge)](https://scorecard.dev/viewer/?uri=github.com/theupdateframework/python-tuf)
 
 ----------------------------
-This repository is the **reference implementation** of
-[The Update Framework (TUF)](https://theupdateframework.github.io/).
-It is written in Python and intended to conform to version 1.0 of the
-[TUF specification](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md).
-This implementation is in use in production systems, but is also intended to be
-a readable guide and demonstration for those working on implementing TUF in
-their own languages, environments, or update systems.
+[The Update Framework (TUF)](https://theupdateframework.io/) is a framework for
+secure content delivery and updates. It protects against various types of
+supply chain attacks and provides resilience to compromise. This repository is a
+**reference implementation** written in Python. It is intended to conform to
+version 1.0 of the [TUF
+specification](https://theupdateframework.github.io/specification/latest/).
+
+Python-TUF provides the following APIs:
+  * [`tuf.api.metadata`](https://theupdateframework.readthedocs.io/en/latest/api/tuf.api.html),
+    a "low-level" API, designed to provide easy and safe access to TUF
+    metadata and to handle (de)serialization from/to files.
+  * [`tuf.ngclient`](https://theupdateframework.readthedocs.io/en/latest/api/tuf.ngclient.html),
+    a client implementation built on top of the metadata API.
+  * `tuf.repository`, a repository library also built on top of the metadata
+    API. This module is currently not considered part of python-tuf stable API.
+
+The reference implementation strives to be a readable guide and demonstration
+for those working on implementing TUF in their own languages, environments, or
+update systems.
 
 
 About The Update Framework
@@ -32,26 +47,30 @@ by various tech companies and open source organizations. A variant of TUF
 called [Uptane](https://uptane.github.io/) is used to secure over-the-air
 updates in automobiles.
 
-Please see the [TUF Introduction](docs/OVERVIEW.rst) and
-[TUF's website](https://theupdateframework.com/) for more information about TUF!
+Please see [TUF's website](https://theupdateframework.com/) for more information about TUF!
 
 
 Documentation
 -------------
-* [Introduction to TUF's Design](docs/OVERVIEW.rst)
-* [The TUF Specification](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md)
-* [Getting Started with the TUF Reference Implementation](docs/GETTING_STARTED.rst)
-* [Governance](docs/GOVERNANCE.md) and [Maintainers](docs/MAINTAINERS.txt)
+* [Introduction to TUF's Design](https://theupdateframework.io/overview/)
+* [The TUF Specification](https://theupdateframework.github.io/specification/latest/)
+* [Developer documentation](https://theupdateframework.readthedocs.io/), including
+  [API reference](
+    https://theupdateframework.readthedocs.io/en/latest/api/api-reference.html) and [instructions for contributors](https://theupdateframework.readthedocs.io/en/latest/CONTRIBUTING.html)
+* [Usage examples](https://github.com/theupdateframework/python-tuf/tree/develop/examples/)
+* [Governance](https://github.com/theupdateframework/python-tuf/blob/develop/docs/GOVERNANCE.md)
+and [Maintainers](https://github.com/theupdateframework/python-tuf/blob/develop/docs/MAINTAINERS.txt)
 for the reference implementation
-* [Miscellaneous Docs](docs/)
+* [Miscellaneous Docs](https://github.com/theupdateframework/python-tuf/tree/develop/docs)
+* [Python-TUF development blog](https://theupdateframework.github.io/python-tuf/)
 
 
 Contact
 -------
-Please contact us via our [mailing
-list](https://groups.google.com/forum/?fromgroups#!forum/theupdateframework).
-Questions, feedback, and suggestions are welcomed on this low volume mailing
-list.
+Questions, feedback, and suggestions are welcomed on our low volume [mailing
+list](https://groups.google.com/forum/?fromgroups#!forum/theupdateframework) or
+the [#tuf](https://cloud-native.slack.com/archives/C8NMD3QJ3) channel on [CNCF
+Slack](https://slack.cncf.io/).
 
 We strive to make the specification easy to implement, so if you come across
 any inconsistencies or experience any difficulty, do let us know by sending an
@@ -61,48 +80,30 @@ repo](https://github.com/theupdateframework/specification/issues).
 Security Issues and Bugs
 ------------------------
 
-Security issues can be reported by emailing jcappos@nyu.edu.
-
-At a minimum, the report must contain the following:
-
-* Description of the vulnerability.
-* Steps to reproduce the issue.
-
-Optionally, reports that are emailed can be encrypted with PGP.  You should use
-PGP key fingerprint **E9C0 59EC 0D32 64FA B35F  94AD 465B F9F6 F8EB 475A**.
-
-Please do not use the GitHub issue tracker to submit vulnerability reports.
-The issue tracker is intended for bug reports and to make feature requests.
-Major feature requests, such as design changes to the specification, should
-be proposed via a [TUF Augmentation Proposal](docs/TAP.rst) (TAP).
-
-Limitations
------------
-
-The reference implementation may behave unexpectedly when concurrently
-downloading the same target files with the same TUF client.
+See [SECURITY.md](docs/SECURITY.md)
 
 License
 -------
 
 This work is [dual-licensed](https://en.wikipedia.org/wiki/Multi-licensing) and
 distributed under the (1) MIT License and (2) Apache License, Version 2.0.
-Please see [LICENSE-MIT](LICENSE-MIT) and [LICENSE](LICENSE).
+Please see [LICENSE-MIT](https://github.com/theupdateframework/python-tuf/blob/develop/LICENSE-MIT)
+and [LICENSE](https://github.com/theupdateframework/python-tuf/blob/develop/LICENSE).
 
 
 Acknowledgements
 ----------------
 
 This project is hosted by the Linux Foundation under the Cloud Native Computing
-Foundation.  TUF's early development was managed by
-members of the [Secure Systems Lab](https://ssl.engineering.nyu.edu/) at [New
-York University](https://engineering.nyu.edu/).  We appreciate the efforts of
-Konstantin Andrianov, Geremy Condra, Vladimir Diaz, Yuyu Zheng, Sebastien Awwad,
-Santiago Torres-Arias, Trishank Kuppusamy, Zane Fisher, Pankhuri Goyal, Tian Tian,
-Konstantin Andrianov, and Justin Samuel who are among those who helped significantly
-with TUF's reference implementation.  [Contributors](https://github.com/theupdateframework/tuf/blob/develop/docs/AUTHORS.txt)
-and
-[maintainers](https://github.com/theupdateframework/tuf/blob/develop/docs/MAINTAINERS.txt)
+Foundation.  TUF's early development was managed by members of the [Secure
+Systems Lab](https://ssl.engineering.nyu.edu/) at [New York
+University](https://engineering.nyu.edu/). We appreciate the efforts of all
+[maintainers and emeritus
+maintainers](https://github.com/theupdateframework/python-tuf/blob/develop/docs/MAINTAINERS.txt),
+as well as the contributors Konstantin Andrianov, Kairo de Araujo, Ivana
+Atanasova, Geremy Condra, Zane Fisher, Pankhuri Goyal, Justin Samuel, Tian
+Tian, Martin Vrachev and Yuyu Zheng who are among those who helped
+significantly with TUF's reference implementation. Maintainers and Contributors
 are governed by the [CNCF Community Code of
 Conduct](https://github.com/cncf/foundation/blob/master/code-of-conduct.md).
 
diff --git a/docs/1.0.0-ANNOUNCEMENT.md b/docs/1.0.0-ANNOUNCEMENT.md
new file mode 100644
index 0000000000..0020632b22
--- /dev/null
+++ b/docs/1.0.0-ANNOUNCEMENT.md
@@ -0,0 +1,41 @@
+# Announcing TUF 1.0.0
+
+Python-TUF v1.0.0 is a rewritten stable reference implementation of the TUF
+specification, which *currently* includes:
+- a modern low-level [*metadata
+  API*](https://theupdateframework.readthedocs.io/en/latest/api/tuf.api.html)
+- a fully specification-compliant [*updater
+  client*](https://theupdateframework.readthedocs.io/en/latest/api/tuf.ngclient.html),
+  serving as a more robust and yet more flexible stand-in replacement
+  for the legacy client updater
+
+For the reasons outlined in [ADR 10](https://github.com/theupdateframework/python-tuf/blob/develop/docs/adr/0010-repository-library-design.md
+), this release *does not yet* include *repository tool*-like functionality.
+However, the new *metadata API* makes it easy to replicate the desired
+functionality tailored to the specific needs of any given repository (see
+*Migration* for details).
+
+As discussed in [ADR 2](https://github.com/theupdateframework/python-tuf/blob/develop/docs/adr/0002-pre-1-0-deprecation-strategy.md), this
+release *does not* include any legacy code, as its maintenance has become
+infeasible for the python-tuf team. The pre-1.0.0 deprecation strategy from ADR
+2 applies as follows:
+
+> *Bugs reported with tuf versions prior to 1.0.0 will likely not be addressed
+directly by tufâ€™s maintainers. Pull Requests to fix bugs in the last release
+prior to 1.0.0 will be considered, and merged (subject to normal review
+processes). Note that there may be delays due to the lack of developer resources
+for reviewing such pull requests.*
+
+
+## Migration
+
+Given the clean cut with the legacy reference implementation, we provide the
+following migration support:
+
+- detailed code documentation on
+  [https://theupdateframework.readthedocs.io](https://theupdateframework.readthedocs.io/)
+- verbose [code examples](https://github.com/theupdateframework/python-tuf/tree/develop/examples) for *client updater* usage, and
+  repository-side operations based on the low-level *metadata API*
+- individual migration support upon
+  [request](https://github.com/theupdateframework/python-tuf#contact)
+- targeted migration support initiative for known users
diff --git a/docs/AUTHORS.txt b/docs/AUTHORS.txt
deleted file mode 100644
index 376f201ee0..0000000000
--- a/docs/AUTHORS.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-The TUF project is managed by Justin Cappos at NYU (jcappos@nyu.edu).  See GOVERNANCE.md for more information.
-
-Contributors:
-
-Organizations
--------------
-
-Advanced Telematic Systems
-Datadog
-Docker
-Flynn
-LEAP
-OCaml
-Quay by CoreOS
-
-Individuals
------------
-
-Alan Castonguay
-Andrew Meyer
-Arturo FilastÃ²
-Benno FÃ¼nfstÃ¼ck
-David Halls
-David Lawrence
-Diogo Monica
-Eric Hartsuyker
-Evan Cordell
-Felix Wang
-Geremy Condra
-goldenMetteyya
-Hannes Mehnert
-Jerry Trieu
-Johannes Dorfner
-John Ward
-Jonathan Rudenberg
-Julian Hille
-Justin Cappos
-Justin Samuel
-Konstantin Andrianov
-Linda Vigdor
-Lois DeLong
-Lukas Puehringer
-MarÃ­a JosÃ© Barrera
-Martin Peck
-Max Goodman
-Monzur Muhammad
-Nektarios Tsoutsos
-Nick Mathewson
-Pankhuri Goyal
-Riyaz Faizullabhoy
-Roger Dingledine
-Ruben Pollan
-Santiago Torres
-Sebastian Hahn
-Sebastien Awwad
-Tian Tian
-Trishank Karthik Kuppusamy
-Vladimir Diaz
-Wilson Ding
-Ying Li
-Yuyu Zheng
-Zane Fisher
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 9305136546..6beadca962 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -1,5 +1,403 @@
 # Changelog
 
+## Unreleased
+
+## v6.0.0
+
+This release is not strictly speaking an API break from 5.1 but it does contain some
+major internal changes that users should be aware of when upgrading.
+
+### Changed
+
+* ngclient: urllib3 is used as the HTTP library by default instead of requests (#2762,
+  #2773, #2789)
+  * This removes dependencies on `requests`, `idna`, `charset-normalizer` and `certifi`
+  * The deprecated RequestsFetcher implementation is available but requires selecting
+    the fetcher at Updater initialization and explicitly depending on requests
+* ngclient: TLS certificate source was changed. Certificates now come from operating
+  system certificate store instead of `certifi` (#2762)
+* ngclient: The updater can now initialize from embedded initial root metadata every
+  time. Users are recommended to provide the `bootstrap` argument to Updater (#2767)
+* Test infrastructure has improved and should now be more usable externally, e.g. in
+  distro test suites (#2749)
+
+## v5.1.0
+
+### Changed
+
+* ngclient: default user-agent was updated from "tuf/x.y.z" to "python-tuf/x.y.z" (#2632)
+* ngclient: max_root_rotations default value was bumped to 256 to prevent a too small value 
+  from creating issues in actual deployments were the embedded root is not easily
+  updateable (#2675)
+* repository: do_snapshot() and do_timestamp() now always create new versions if current version
+  is not correctly signed (#2650)
+* Various infrastructure and documentation improvements
+
+## v5.0.0
+
+This release, most notably, marks stable securesystemslib v1.0.0 as minimum
+requirement. The update causes a minor break in the new DSSE API (see below)
+and affects users who also directly depend on securesystemslib. See the [securesystemslib release
+notes](https://github.com/secure-systems-lab/securesystemslib/blob/main/CHANGELOG.md#securesystemslib-v100)
+and the updated python-tuf `examples` (#2617) for details. ngclient API remains
+backwards-compatible.
+
+### Changed
+* DSSE API: change `SimpleEnvelope.signatures` type to `dict`, remove
+  `SimpleEnvelope.signatures_dict` (#2617)
+* ngclient: support app-specific user-agents (#2612)
+* Various build, test and lint improvements
+
+
+## v4.0.0
+
+This release is a small API change for Metadata API users (see below).
+ngclient API is compatible but optional DSSE support has been added.
+
+### Added
+* Added optional DSSE support to Metadata API and ngclient (#2436)
+
+### Changed
+* Metadata API: Improved verification functionality for repository users (#2551):
+  * This is an API change for Metadata API users (
+    `Root.get_verification_result()` and `Targets.get_verification_result()`
+    specifically)
+  * `Root.get_root_verification_result()` has been added to handle the special
+    case of root verification
+* Started using UTC datetimes instead of naive datetimes internally (#2573)
+* Constrain securesystemslib dependency to <0.32.0 in preparation for future
+  securesystemslib API changes
+* Various build, test and lint improvements
+
+
+## v3.1.1
+
+This is a security fix release to address advisory
+GHSA-77hh-43cm-v8j6. The issue does **not** affect tuf.ngclient
+users, but could affect tuf.api.metadata users.
+
+### Changed
+* Added additional input validation to
+  `tuf.api.metadata.Targets.get_delegated_role()`
+
+
+## v3.1.0
+
+### Added
+* Metadata API: move verify_delegate() to Root/Targets (#2378)
+  - *verify_delegate() on Metadata is now deprecated*
+* Metadata API: add get_verification_result() as verbose alternative for
+  verify_delegate() (#2481)
+* Metadata API: add MetaFile.from_data() convenience factory (#2273)
+
+### Changed
+* Metadata API: change Root.roles type hint to Dict (#2411)
+* Various minor improvements in tests (#2447, #2491), docs
+  (#2390, #2392, #2474) and build (#2389, #2453, #2479, #2488)
+
+### Removed
+* build: Python 3.7 support (#2460)
+
+
+## v3.0.0
+
+The notable change in this release is #2165: The tuf.api.metadata.Key
+class implementation was moved to Securesystemslib with minor API
+changes. These changes require no action in tuf.ngclient users but may
+require small changes in tuf.api.metadata using repository
+implementations that create keys.
+
+As a result of these changes, both signing and verification are now
+fully extensible, see Securesystemslib signer API for details.
+
+tuf.repository remains an unstable module in 3.0.0.
+
+### Added
+* Build: Use pydocstyle to lint docstrings (#2283, #2281)
+* Examples: Add Repository uploader/signer tool example (#2241)
+* Metadata API: Add TargetFile.get_prefixed_paths() (#2166)
+* ngclient: Export TargetFile (#2279)
+* repository: Add strictly typed accessors and context managers (#2311)
+* Release: Use PyPI Trusted Publishing
+  https://docs.pypi.org/trusted-publishers/ (#2371)
+
+### Changed
+* Build: Various minor build and release infrastructure improvements,
+  dependency updates
+* Metadata API: Key class is still part of the API but now comes from
+  Securesystemslib (#2165):
+  * `Key.verify_signature()` method signature has changed
+  * `Key.from_securesystemslib_key()` was removed: Use
+    Securesystemslibs `SSlibKey.from_securesystemslib_key()` instead
+
+
+## v2.1.0
+### Added
+* repo: experimental repository module and example (#2193)
+* ngclient: expose default requests fetcher (#2277)
+* workflow: OpenSSF scorecard (#2190)
+* build: Python 3.11 support (#2157)
+* docs: security policy (#2098, #2178)
+* blog: signer API (#2276)
+* blog: security audit (#2155, #2156)
+
+### Changed
+* Metadata API: bump specification version 1.0.31 (#2119)
+* Metadata API: allow zero length metadata files (#2137)
+* Metadata API: add default value for MetaFile version (#2211)
+* Metadata API, ngclient: decrease logger verbosity (#2243)
+* ngclient: define API explicitly (#2233)
+* ngclient: improve example client output (#2194)
+* ngclient: support URLs without host part (#2075)
+* ngclient: update metaclass syntax (#2215)
+* ngclient: fail gracefully on missing role (#2197)
+* ngclient: improve type annotations in TrustedMetadataSet (#2250)
+* doc: misc improvements (2097, #2130, #2183, #2185, #2201, #2208, #2230, #2278)
+* build: misc improvements (#2090, #2091, #2122, #2187, #2188, #2217, #2252)
+* workflow: misc improvements (#2001, #2092, #2147, #2159, #2173)
+
+## v2.0.0
+
+This release, most notably, adds support for [TAP 15] - succinct hash bin delegation,
+which results in a few backwards-incompatible changes in the Metadata API.
+
+**NOTE**: While TAP 15 has been accepted it is not yet part of the TUF specification.
+Therefore, adopters should be prepared for potential changes to the implementation
+in future and for a lack of support for TAP 15 in other TUF implementations.
+
+[TAP 15]: https://github.com/theupdateframework/taps/blob/master/tap15.md
+
+### Added
+* Metadata API: TAP 15 - succinct hash bin delegation (#2010, #2031, #2038, #2039)
+* build: CodeQL analysis action (#1932)
+* build: Dependency review action (#1974)
+* blog: ngclient design (#1914)
+* blog: tricky test cases (#1941, #2027)
+
+### Changed
+* Metadata API: **BREAKING CHANGES** in Root and Targets class (#2010)
+  - Argument order changed in add_key() and remove_key()
+  - remove_key() renamed to revoke_key()
+* Metadata API: Update supported spec version to 1.0.30 (#2035)
+* ngclient: Use trusted timestamp role if new timestamp has equal version (#2024)
+* docs: Misc improvements (#1983, #2002, #2004, #2041, #2051, #2064)
+* tests: Misc improvements (#2017)
+* tests: Stop using requests type annotations (#1991)
+* build: Pin hatchling version (#1989)
+* build: Tweak pip download in verify_release script (#1982)
+* build: Update pinned dependency versions
+
+### Fixes
+* Metadata API: Check None instead of falsyness for some optional arguments (#1975)
+* ngclient: Prevent use of potentially undefined variable (#2003)
+* tests: Change git attributes for test data (#2063)
+
+## v1.1.0
+
+This release contains major build improvements as well as fixes and
+backwards-compatible API improvements.
+
+### Added
+* build: Release process was moved to CD platform (#1946, #1971, #1976)
+* build: Build is now reproducible thanks to Hatchling (#1896, #1900)
+* build: Build results are now verifiable (#1913, #1926, #1947, #1979)
+* build: test dependencies are now pinned for reproducibility (#1867, #1918)
+* Metadata API: Validation is now possible during serialization (#1775)
+* Infrastructure: Setup development blog (#1886, #1887)
+
+### Changed
+* Metadata API: Supported specification version updated (#1908, #1960)
+* Metadata API: unrecognized_fields annotation fix (#1950)
+* Metadata API: Constructors are now easier to use (#1922)
+* Metadata API: Logging and error message improvements (#1876)
+* build: Include examples in source distribution (#1970)
+* build: Updated pinned dependency versions
+* tests: Various improvements (#1707, #1758, #1808, #1860, #1915, #1936,
+  #1953, #1954, #1955)
+
+
+## v1.0.0
+
+This release makes ngclient and the Metadata API the supported python-tuf APIs.
+It also removes the legacy implementation as documented in the
+[1.0.0 announcement](1.0.0-ANNOUNCEMENT.md): all library code is now contained
+in `tuf.api` or `tuf.ngclient`.
+
+### Added
+* tests: Extend testing (#1689, #1703, #1711, #1728, #1735, #1738,
+  #1742, #1766, #1777, #1809, #1831)
+
+### Changed
+* Metadata API: Disallow microseconds in expiry (#1712)
+* Metadata API: Preserve role keyid order (#1754)
+* Metadata API: Make exceptions more consistent (#1725, #1734, #1787, #1840,
+  #1836)
+* Metadata API: Update supported spec version to "1.0.28" (#1825)
+* Metadata API: Accept legacy spec version "1.0" (#1796)
+* Metadata API: Accept custom fields in Metadata (#1861)
+* ngclient: Remove temporary file in failure cases (#1757)
+* ngclient: Explicitly encode rolename in URL (#1759)
+* ngclient: Allow HTTP payload compression (#1774)
+* ngclient: Make exceptions more consistent (#1799, #1810)
+* docs: Improve documentation (#1744, #1749, #1750, #1755, #1771, #1776, #1772,
+  #1780, #1781, #1800, #1815, #1820, #1829, #1838, #1850, #1853, #1855, #1856
+  #1868, #1871)
+* build: Various build infrastructure improvements (#1718, #1724, #1760, #1762,
+  #1767, #1803, #1830, #1832, #1837, #1839)
+* build: Stop supporting EOL Python 3.6 (#1783)
+* build: Update dependencies (#1809, #1827, #1834, #1863, #1865, #1870)
+
+### Removed
+* Remove all legacy code including old client, repository_tool, repository_lib
+  and the scripts (#1790)
+* Metadata API: Remove modification helper methods that are no longer necessary
+  (#1736, #1740, #1743)
+* tests: Remove client tests that were replaced with better ones (#1741)
+* tests: Stop using unittest_toolbox (#1792)
+* docs: Remove deprecated documentation (#1768, #1769, #1773, #1848)
+
+
+## v0.20.0
+
+*__NOTE:__ This will be the final release of python-tuf that includes the
+legacy implementation code. Please see the [*1.0.0
+announcement*](1.0.0-ANNOUNCEMENT.md) page for more details about the next
+release and the deprecation of the legacy implementation, including migration
+instructions.*
+
+### Added
+* metadata API: misc input validation (#1630, #1688, #1668, #1672, #1690)
+* doc: repository library design document and ADR (#1693)
+* doc: 1.0.0 announcement (#1706)
+* doc: misc docstrings in metadata API (#1620)
+* doc: repository and client examples (#1675, #1685, #1700)
+* test: ngclient key rotation (#1635, #1649, #1691)
+* test: ngclient top-level role update (#1636)
+* test: ngclient non-consistent snapshot (#1666, #1705)
+* test: more lint/type checks and auto-formatting (#1658, #1664, #1659, #1674,
+        #1677, #1687, #1699, #1701, #1708, #1710, #1720, #1726)
+* build: Python 3.10 support (#1628)
+
+### Changed
+* ngclient: misc API changes (#1604, #1731)
+* ngclient: avoid re-loading verified targets metadata (#1593)
+* ngclient: implicitly call refresh() (#1654)
+* ngclient: return loaded metadata (#1680)
+* ngclient: skip visited nodes on delegation tree traversal (#1683)
+* ngclient: remove URL normalisation (#1686)
+* build: modernise packaging configuration (#1626)
+* build: bump dependencies (#1609, #1611, #1616, #1621)
+* build: limit GitHub Action token visibility and permissions (#1652, #1663)
+* test: misc test changes (#1715, #1670, #1671, #1631, #1695, #1702)
+
+### Removed
+* doc: obsolete roadmap (#1698)
+
+## v0.19.0
+
+For users of legacy client (tuf.client module) this is purely a security fix
+release with no API or functionality changes. For ngclient (tuf.ngclient) and
+Metadata API (tuf.api.metadata), some API changes are included.
+
+**All users are advised to upgrade**.
+
+Note that python-tuf has required python>=3.5 since release 0.18.0.
+
+### Fixed
+* GHSA-wjw6-2cqr-j4qr: Fix client side issue in both legacy client (tuf.client)
+  and ngclient (tuf.ngclient) where a malicious repository could trick client
+  to overwrite files outside the client metadata store during a metadata
+  update. The fix includes percent-encoding the metadata rolename before using
+  it as part of a filename
+  https://github.com/theupdateframework/python-tuf/security/advisories/GHSA-wjw6-2cqr-j4qr
+* ngclient: Do not use urljoin to form metadata URL (included in
+  GHSA-wjw6-2cqr-j4qr)
+* ngclient: Persist metadata safely (#1574)
+* ngclient: Handle timeout on session.get() (#1588)
+
+### Added
+* build: Dependabot now monitors GitHub Actions (#1572)
+* tests: ngclient test improvements (#1564, #1569, #1587)
+* Metadata API: Add TargetFile.from_file() (#1521)
+
+### Changed
+* build: Bump dependency charset-normalizer (#1581, #1586)
+* build: Bump dependency urllib3 (#1589)
+* build: Bump dependency cryptography (#1596)
+* Metadata API: Documentation improvements (#1533, #1590)
+* Metadata API: change Timestamp meta API  (#1446)
+* Metadata API: change Delegations roles API (#1537)
+* ngclient: Remove unnecessary sleep() (#1608)
+* ngclient: Fix consistent targets URL resolution (#1591)
+* ngclient: Don't use target path as local path (#1592)
+
+## v0.18.1
+
+### Changed
+* Update setup.cfg to not build universal wheels (#1566)
+
+## v0.18.0
+
+0.18 is a big release with 3 main themes:
+* Support only Python 3 and modernize the infrastructure accordingly
+* Metadata API (a low-level API for metadata de/serialization and
+  modification) is now feature-complete for the client use cases
+* ngclient (a new high-level client API) was added. ngclient should be
+  considered an unstable API and is not yet recommended for production
+  use.
+
+Additionally the Github project name changed: project is now "python-tuf"
+instead of "tuf". Redirects are in place for the old name but updating links is
+advised.
+
+### Added
+* Add ADR6: Where to implement serialization (#1270)
+* Add ADR8: Unrecognized fields (#1343)
+* Add ADR9: Refine reference implementation purpose (#1554)
+* Add client Network IO abstraction (#1250, #1302)
+* Add many features to Metadata API to support de/serializing
+  specification-compliant metadata, and safer access through API:
+  * Metadata.from_bytes()/to_bytes() (#1354, #1490)
+  * Key, Role (#1360, #1386, #1423, #1480, #1481, #1520)
+  * DelegationRole, Delegations (#1370, #1512)
+  * MetaFile, TargetFile (#1329, #1437, #1454, #1514)
+  * verification of threshold of signatures (#1435, #1436)
+  * expiration check method (#1347)
+  * support unrecognized fields in metadata (#1345)
+  * use Generics to improve static typing (#1457)
+* Extensive Metadata API testing and validation
+  (#1359, #1416, #1416, #1430, #1449, #1450, #1451, #1460, #1466, #1511)
+* Add ngclient: a new client library implementation
+  (#1408, #1448, #1463 #1467, #1470, #1474, #1501, #1509, #1519, #1524)
+* Infrastructure improvements:
+  * mypy, black and isort integration (#1314, #1363, #1395, #1455, #1489)
+  * API reference documentation build (#1517)
+
+### Removed
+* Remove Python 2 support (#1293)
+* Remove direct dependency on six
+* Remove obsolete reference to Thandy in a LICENSE file (#1472)
+
+### Changed
+* Bump dependencies:
+  * Certifi
+  * Cryptography
+  * Idna
+  * Requests
+  * Securesystemslib
+  * Six
+  * Urllib3
+* Replace indirect dependency chardet with charset-normalizer
+* Move Metadata API serialization to sub-package (#1279)
+* Use SecureSystemslib Signer interface in Metadata API (#1272)
+* Make imports compatible with vendoring (#1261)
+
+### Fixed
+* 'ecdsa' is a supported key type (#1453)
+* Fix various build infrastructure issues (#1289, #1295, #1321, #1327, #1364,
+  #1369, #1542)
+* Test fixes (#1337, #1346)
+
 ## v0.17.0
 **NOTE**: this will be the final release of tuf that supports Python 2.7.
 This is because Python 2.7 was marked [end-of-life](
@@ -174,7 +572,7 @@ supporting Python 2.7.
 
 ## v0.11.1
 
-* Prevent persistent freeze attack (pr [#737](https://github.com/theupdateframework/tuf/pull/737)).
+* Prevent persistent freeze attack (pr [#737](https://github.com/theupdateframework/python-tuf/pull/737)).
 
 * Add --no-release option to CLI.
 
@@ -396,7 +794,7 @@ Note: This is a backwards-incompatible pre-release.
 * Minor bug fixes, such as catching correct type and number of exceptions,
   detection of slow retrieval attack, etc.
 
-* Do not list Root's hash and lenth in Snapshot (only its version number).
+* Do not list Root's hash and length in Snapshot (only its version number).
 
 * Allow user to configure hashing algorithm used to generate hashed bin delegations.
 
@@ -488,4 +886,3 @@ hyphen.)
 @trishankkkarthik trishankkarthik released this on Sep 21, 2013 Â· 1877 commits to develop since this release
 
 * TUF 0.7.5 (pre-release)
-
diff --git a/docs/CLI.md b/docs/CLI.md
deleted file mode 100644
index 6b2b5a3bee..0000000000
--- a/docs/CLI.md
+++ /dev/null
@@ -1,459 +0,0 @@
-# Command-Line Interface #
-
-The TUF command-line interface (CLI) requires a full
-[TUF installation](INSTALLATION.rst).  Be sure to include the installation of
-extra dependencies and C extensions (
-```pip install securesystemslib[crypto,pynacl]```).
-
-The use of the CLI is documented with examples below.
-
-----
-# Basic Examples #
-
-## Create a repository ##
-
-Create a TUF repository in the current working directory.  A cryptographic key
-is created and set for each top-level role.  The written Targets metadata does
-not sign for any targets, nor does it delegate trust to any roles.  The
-`--init` call will also set up a client directory.  By default, these
-directories will be `./tufrepo` and `./tufclient`.
-
-```Bash
-$ repo.py --init
-```
-
-Optionally, the repository can be written to a specified location.
-```Bash
-$ repo.py --init --path </path/to/repo_dir>
-```
-
-The default top-level key files created with `--init` are saved to disk
-encrypted, with a default password of 'pw'.  Instead of using the default
-password, the user can enter one on the command line for each top-level role.
-These optional command-line options also work with other CLI actions (e.g.,
-repo.py --add).
-```Bash
-$ repo.py --init [--targets_pw, --root_pw, --snapshot_pw, --timestamp_pw]
-```
-
-
-
-Create a bare TUF repository in the current working directory.  A cryptographic
-key is *not* created nor set for each top-level role.
-```Bash
-$ repo.py --init --bare
-```
-
-
-
-Create a TUF repository with [consistent
-snapshots](https://github.com/theupdateframework/specification/blob/master/tuf-spec.md#7-consistent-snapshots)
-enabled, where target filenames have their hash prepended (e.g.,
-`<hash>.README.txt`), and metadata filenames have their version numbers
-prepended (e.g., `<hash>.snapshot.json`).
-```Bash
-$ repo.py --init --consistent
-```
-
-
-
-## Add a target file ##
-
-Copy a target file to the repo and add it to the Targets metadata (or the
-Targets role specified in --role).  More than one target file, or directory,
-may be specified in --add.  The --recursive option may be toggled to also
-include files in subdirectories of a specified directory.  The Snapshot
-and Timestamp metadata are also updated and signed automatically, but this
-behavior can be toggled off with --no_release.
-```Bash
-$ repo.py --add <foo.tar.gz> <bar.tar.gz>
-$ repo.py --add </path/to/dir> [--recursive]
-```
-
-Similar to the --init case, the repository location can be chosen.
-```Bash
-$ repo.py --add <foo.tar.gz> --path </path/to/my_repo>
-```
-
-
-
-## Remove a target file ##
-
-Remove a target file from the Targets metadata (or the Targets role specified
-in --role).  More than one target file or glob pattern may be specified in
---remove.  The Snapshot and Timestamp metadata are also updated and signed
-automatically, but this behavior can be toggled off with --no_release.
-
-```Bash
-$ repo.py --remove <glob_pattern> ...
-```
-
-Examples:
-
-Remove all target files, that match `foo*.tgz,` from the Targets metadata.
-```Bash
-$ repo.py --remove "foo*.tgz"
-```
-
-Remove all target files from the `my_role` metadata.
-```Bash
-$ repo.py --remove "*" --role my_role --sign tufkeystore/my_role_key
-```
-
-
-## Generate key ##
-Generate a cryptographic key.  The generated key can later be used to sign
-specific metadata with `--sign`.  The supported key types are: `ecdsa`,
-`ed25519`, and `rsa`.  If a keytype is not given, an Ed25519 key is generated.
-
-If adding a top-level key to a bare repo (i.e., repo.py --init --bare),
-the filenames of the top-level keys must be "root_key," "targets_key,"
-"snapshot_key," "timestamp_key."  The filename can vary for any additional
-top-level key.
-```Bash
-$ repo.py --key
-$ repo.py --key <keytype>
-$ repo.py --key <keytype> [--path </path/to/repo_dir> --pw [my_password],
-  --filename <key_filename>]
-```
-
-Instead of using a default password, the user can enter one on the command
-line or be prompted for it via password masking.
-```Bash
-$ repo.py --key ecdsa --pw my_password
-```
-
-```Bash
-$ repo.py --key rsa --pw
-Enter a password for the RSA key (...):
-Confirm:
-```
-
-
-
-## Sign metadata ##
-Sign, with the specified key(s), the metadata of the role indicated in --role.
-The Snapshot and Timestamp role are also automatically signed, if possible, but
-this behavior can be disabled with --no_release.
-```Bash
-$ repo.py --sign </path/to/key> ... [--role <rolename>, --path </path/to/repo>]
-```
-
-For example, to sign the delegated `foo` metadata:
-```Bash
-$ repo.py --sign </path/to/foo_key> --role foo
-```
-
-
-
-## Trust keys ##
-
-The Root role specifies the trusted keys of the top-level roles, including
-itself.  The --trust command-line option, in conjunction with --pubkeys and
---role, can be used to indicate the trusted keys of a role.
-
-```Bash
-$ repo.py --trust --pubkeys --role
-```
-
-For example:
-```Bash
-$ repo.py --init --bare
-$ repo.py --trust --pubkeys tufkeystore/my_key.pub tufkeystore/my_key_too.pub
-  --role root
-```
-
-
-
-### Distrust keys ###
-
-Conversely, the Root role can discontinue trust of specified key(s).
-
-Example of how to discontinue trust of a key:
-```Bash
-$ repo.py --distrust --pubkeys tufkeystore/my_key_too.pub --role root
-```
-
-
-
-## Delegations ##
-
-Delegate trust of target files from the Targets role (or the one specified in
---role) to some other role (--delegatee).  --delegatee is trusted to sign for
-target files that match the delegated glob pattern(s).  The --delegate option
-does not create metadata for the delegated role, rather it updates the
-delegator's metadata to list the delegation to --delegatee.  The Snapshot and
-Timestamp metadata are also updated and signed automatically, but this behavior
-can be toggled off with --no_release.
-
-```Bash
-$ repo.py --delegate <glob pattern> ... --delegatee <rolename> --pubkeys
-</path/to/pubkey.pub> ... [--role <rolename> --terminating --threshold <X>
---sign </path/to/role_privkey>]
-```
-
-For example, to delegate trust of `foo*.gz` packages to the `foo` role:
-
-```
-$ repo.py --delegate "foo*.tgz" --delegatee foo --pubkeys tufkeystore/foo.pub
-```
-
-
-
-## Revocations ##
-
-Revoke trust of target files from a delegated role (--delegatee).  The
-"targets" role performs the revocation if --role is not specified.  The
---revoke option does not delete the metadata belonging to --delegatee, instead
-it removes the delegation to it from the delegator's (or --role) metadata.  The
-Snapshot and Timestamp metadata are also updated and signed automatically, but
-this behavior can be toggled off with --no_release.
-
-
-```Bash
-$ repo.py --revoke --delegatee <rolename> [--role <rolename>
---sign </path/to/role_privkey>]
-```
-
-
-
-## Verbosity ##
-
-Set the verbosity of the logger (2, by default).  The lower the number, the
-greater the verbosity.  Logger messages are saved to `tuf.log` in the current
-working directory.
-```Bash
-$ repo.py --verbose <0-5>
-```
-
-
-
-## Clean ##
-
-Delete the repo in the current working directory, or the one specified with
-`--path`.  Specifically, the `tufrepo`, `tufclient`, and `tufkeystore`
-directories are deleted.
-
-```Bash
-$ repo.py --clean
-$ repo.py --clean --path </path/to/dirty/repo>
-```
-----
-
-
-
-
-
-
-
-
-# Further Examples #
-
-## Basic Update Delivery ##
-
-Steps:
-
-(1) initialize a repo.
-
-(2) delegate trust of target files to another role.
-
-(3) add a trusted file to the delegated role.
-
-(4) fetch the trusted file from the delegated role.
-
-```Bash
-Step (1)
-$ repo.py --init
-
-Step (2)
-$ repo.py --key ed25519 --filename mykey
-$ repo.py --delegate "README.*" --delegatee myrole --pubkeys tufkeystore/mykey.pub
-$ repo.py --sign tufkeystore/mykey --role myrole
-Enter a password for the encrypted key (tufkeystore/mykey):
-$ echo "my readme text" > README.txt
-
-Step (3)
-$ repo.py --add README.txt --role myrole --sign tufkeystore/mykey
-Enter a password for the encrypted key (tufkeystore/mykey):
-```
-
-Serve the repo
-```Bash
-$ cd tufrepo/
-$ python -m SimpleHTTPServer 8001
-```
-
-If running python 3:
-```Bash
-$ python3 -m http.server 8001
-```
-
-```Bash
-Step (4)
-$ client.py --repo http://localhost:8001 README.txt
-$ tree .
-.
-â”œâ”€â”€ tuf.log
-â”œâ”€â”€ tufrepo
-â”‚Â Â  â””â”€â”€ metadata
-â”‚Â Â      â”œâ”€â”€ current
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ 1.root.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ myrole.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ root.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ snapshot.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ targets.json
-â”‚Â Â      â”‚Â Â  â””â”€â”€ timestamp.json
-â”‚Â Â      â””â”€â”€ previous
-â”‚Â Â          â”œâ”€â”€ 1.root.json
-â”‚Â Â          â”œâ”€â”€ root.json
-â”‚Â Â          â”œâ”€â”€ snapshot.json
-â”‚Â Â          â”œâ”€â”€ targets.json
-â”‚Â Â          â””â”€â”€ timestamp.json
-â””â”€â”€ tuftargets
-    â””â”€â”€ README.txt
-
-    5 directories, 13 files
-```
-
-
-## Correcting a Key ##
-The filename of the top-level keys must be "root_key," "targets_key,"
-"snapshot_key," and "root_key."  The filename can vary for any additional
-top-level key.
-
-Steps:
-
-(1) initialize a repo containing default keys for the top-level roles.
-(2) distrust the default key for the root role.
-(3) create a new key and trust its use with the root role.
-(4) sign the root metadata file.
-
-```Bash
-Step (1)
-$ repo.py --init
-
-Step (2)
-$ repo.py --distrust --pubkeys tufkeystore/root_key.pub --role root
-
-Step (3)
-$ repo.py --key ed25519 --filename root_key
-$ repo.py --trust --pubkeys tufkeystore/root_key.pub --role root
-
-Step (4)
-$ repo.py --sign tufkeystore/root_key --role root
-Enter a password for the encrypted key (tufkeystore/root_key):
-```
-
-
-## More Update Delivery ##
-
-Steps:
-
-(1) create a bare repo.
-
-(2) add keys to the top-level roles.
-
-(3) delegate trust of particular target files to another role X, where role X
-has a signature threshold 2 and is marked as a terminating delegation.  The
-keys for role X and Y should be created prior to performing the delegation.
-
-(4) Delegate from role X to role Y.
-
-(5) have role X sign for a file also signed by the Targets role, to demonstrate
-the expected file that should be downloaded by the client.
-
-(6) perform an update.
-
-(7) halt the server, add README.txt to the Targets role, restart the server,
-and fetch the Target's role README.txt.
-
-(8) Add LICENSE to 'role_y' and demonstrate that the client must not fetch it
-because 'role_x' is a terminating delegation (and hasn't signed for it).
-
-```Bash
-Steps (1) and (2)
-$ repo.py --init --consistent --bare
-$ repo.py --key ed25519 --filename root_key
-$ repo.py --trust --pubkeys tufkeystore/root_key.pub --role root
-$ repo.py --key ecdsa --filename targets_key
-$ repo.py --trust --pubkeys tufkeystore/targets_key.pub --role targets
-$ repo.py --key rsa --filename snapshot_key
-$ repo.py --trust --pubkeys tufkeystore/snapshot_key.pub --role snapshot
-$ repo.py --key ecdsa --filename timestamp_key
-$ repo.py --trust --pubkeys tufkeystore/timestamp_key.pub --role timestamp
-$ repo.py --sign tufkeystore/root_key --role root
-Enter a password for the encrypted key (tufkeystore/root_key):
-$ repo.py --sign tufkeystore/targets_key --role targets
-Enter a password for the encrypted key (tufkeystore/targets_key):
-```
-
-```Bash
-Steps (3) and (4)
-$ repo.py --key ed25519 --filename key_x
-$ repo.py --key ed25519 --filename key_x2
-
-$ repo.py --delegate "README.*" "LICENSE" --delegatee role_x --pubkeys
-  tufkeystore/key_x.pub tufkeystore/key_x2.pub --threshold 2 --terminating
-$ repo.py --sign tufkeystore/key_x tufkeystore/key_x2 --role role_x
-
-$ repo.py --key ed25519 --filename key_y
-
-$ repo.py --delegate "README.*" "LICENSE" --delegatee role_y --role role_x
-  --pubkeys tufkeystore/key_y.pub --sign tufkeystore/key_x tufkeystore/key_x2
-
-$ repo.py --sign tufkeystore/key_y --role role_y
-```
-
-```Bash
-Steps (5) and (6)
-$ echo "role_x's readme" > README.txt
-$ repo.py --add README.txt --role role_x --sign tufkeystore/key_x tufkeystore/key_x2
-```
-
-Serve the repo
-```Bash
-$ cd tufrepo/
-$ python -m SimpleHTTPServer 8001
-```
-
-If running python 3:
-```Bash
-$ python3 -m http.server 8001
-```
-
-Fetch the role x's README.txt
-```Bash
-$ client.py --repo http://localhost:8001 README.txt
-$ cat tuftargets/README.txt
-role_x's readme
-```
-
-
-```Bash
-Step (7)
-halt the server...
-
-$ echo "Target role's readme" > README.txt
-$ repo.py --add README.txt
-
-restart the server...
-```
-
-```Bash
-$ rm -rf tuftargets/ tuf.log
-$ client.py --repo http://localhost:8001 README.txt
-$ cat tuftargets/README.txt
-Target role's readme
-```
-
-```Bash
-Step (8)
-$ echo "role_y's license" > LICENSE
-$ repo.py --add LICENSE --role role_y --sign tufkeystore/key_y
-```
-
-```Bash
-$ rm -rf tuftargets/ tuf.log
-$ client.py --repo http://localhost:8001 LICENSE
-Error: 'LICENSE' not found.
-```
diff --git a/docs/CODEOWNERS b/docs/CODEOWNERS
new file mode 100644
index 0000000000..09e995206c
--- /dev/null
+++ b/docs/CODEOWNERS
@@ -0,0 +1 @@
+* @theupdateframework/python-tuf-maintainers
\ No newline at end of file
diff --git a/docs/CONTRIBUTING.rst b/docs/CONTRIBUTING.rst
new file mode 100644
index 0000000000..bf571950c3
--- /dev/null
+++ b/docs/CONTRIBUTING.rst
@@ -0,0 +1,75 @@
+Instructions for contributors
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Contribute to python-tuf by submitting pull requests against the "develop"
+branch of this repository. Detailed instructions are available in our
+`development guidelines
+<https://github.com/secure-systems-lab/lab-guidelines/blob/master/dev-workflow.md>`_.
+All submitted code should follow our `style guidelines
+<https://github.com/secure-systems-lab/code-style-guidelines/blob/master/python.md>`_
+and must be `unit tested <#unit-tests>`_.
+
+.. note::
+
+     Also see `development installation instructions <https://theupdateframework.readthedocs.io/en/latest/INSTALLATION.html#install-for-development>`_.
+
+DCO
+===
+
+Contributors must indicate acceptance of the `Developer Certificate of
+Origin <https://developercertificate.org/>`_ by appending a ``Signed-off-by:
+Your Name <example@domain.com>`` to each git commit message (see `git commit
+--signoff <https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---signoff>`_).
+
+Testing
+=======
+
+With `tox <https:///tox.wiki>`_ the whole test suite can be executed in
+a separate *virtual environment* for each supported Python version available on
+the system. ``tuf`` and its dependencies are installed automatically for each
+tox run.
+
+::
+
+     tox
+
+Below, you will see more details about each step managed by ``tox``, in case
+you need debug/run outside ``tox``.
+
+Unit tests
+----------
+
+test suite can be executed directly as well (in this case the environment managed by tox is
+not used):
+::
+
+     python3 -m unittest
+
+
+Individual tests can also be executed. Optional ``-v`` flags can be added to
+increase log level up to DEBUG (``-vvvv``).
+::
+
+     python3 tests/test_updater_ng.py -v
+
+
+Coverage
+--------
+
+To run the tests and measure their code coverage, the aggregation script can be
+invoked with the ``coverage`` tool (requires installation of ``coverage``, e.g.
+via PyPI).
+::
+
+     coverage run -m unittest
+
+
+Auto-formatting
+---------------
+
+The linter in CI/CD will check that new TUF code is formatted with
+`ruff <https://docs.astral.sh/ruff/>`_. Auto-formatting can be done on the
+command line:
+::
+
+     tox -e fix
diff --git a/docs/CONTRIBUTORS.rst b/docs/CONTRIBUTORS.rst
deleted file mode 100644
index 7c883d9df9..0000000000
--- a/docs/CONTRIBUTORS.rst
+++ /dev/null
@@ -1,182 +0,0 @@
-Instructions for Contributors
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Note: Development of TUF occurs on the "develop" branch of this repository.
-
-Contributions can be made by submitting GitHub pull requests.  Submitted code
-should follow our `code style guidelines
-<https://github.com/secure-systems-lab/code-style-guidelines>`_, which provide
-examples of what to do (or not to do) when writing Python code.
-
-Contributors must also indicate acceptance of the `Developer Certificate of
-Origin <https://developercertificate.org/>`_  (DCO) when making a contribution
-to the project.  Acceptance of the DCO can be established by appending a
-``Signed-off-by: Your Name <example@domain.com>`` to the Git commit message.
-For example:
-
-::
-
-    Commit message
-
-    Signed-off-by: Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-The required ``Signed-off-by`` text can be automatically appended to the commit
-message via the ``-s`` command-line option to ``git commit``:
-
-::
-
-  $ git commit -s -m "Commit message"
-
-The full text of the DCO:
-
-::
-
-    Developer Certificate of Origin
-    Version 1.1
-
-    Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
-    1 Letterman Drive
-    Suite D4700
-    San Francisco, CA, 94129
-
-    Everyone is permitted to copy and distribute verbatim copies of this
-    license document, but changing it is not allowed.
-
-    Developer's Certificate of Origin 1.1
-
-    By making a contribution to this project, I certify that:
-
-    (a) The contribution was created in whole or in part by me and I have the
-    right to submit it under the open source license indicated in the file; or
-
-    (b) The contribution is based upon previous work that, to the best of my
-    knowledge, is covered under an appropriate open source license and I have
-    the right under that license to submit that work with modifications,
-    whether created in whole or in part by me, under the same open source
-    license (unless I am permitted to submit under a different license), as
-    indicated in the file; or
-
-    (c) The contribution was provided directly to me by some other person who
-    certified (a), (b) or (c) and I have not modified it.
-
-    (d) I understand and agree that this project and the contribution are
-    public and that a record of the contribution (including all personal
-    information I submit with it, including my sign-off) is maintained
-    indefinitely and may be redistributed consistent with this project or the
-    open source license(s) involved.
-
-
-To facilitate development and installation of edited version of the code base,
-developers are encouraged to install `Virtualenv <https://virtualenv.pypa.io/en/latest/index.html>`_,
-which is a tool to create isolated Python environments.  It includes
-``pip`` and ``setuptools``, Python packages that can be used to
-install TUF and its dependencies. All installation methods of
-virtualenv are outlined in the `installation
-section <https://virtualenv.pypa.io/en/latest/installation.html>`_,
-and instructions for installing locally from source are provided here:
-::
-
-    $ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-15.0.3.tar.gz
-    $ tar xvfz virtualenv-15.0.3.tar.gz
-    $ cd virtualenv-15.0.3
-    $ python virtualenv.py myVE
-
-
-Development Installation
-========================
-
-To work on the TUF project, it's best to perform a development install.
-
-1. First, `install non-Python dependencies <INSTALLATION.rst#non-python-dependencies>`_.
-
-2. Then clone this repository:
-
-::
-
-    $ git clone https://github.com/theupdateframework/tuf
-
-3. Then perform a full, editable/development install.  This will include all
-   optional cryptographic support, the testing/linting dependencies, etc.
-   With a development installation, modifications to the code in the current
-   directory will affect the installed version of TUF.
-
-::
-
-    $ pip install -r requirements-dev.txt
-
-
-Testing
-=======
-
-The Update Framework's unit test suite can be executed by invoking the test
-aggregation script inside the *tests* subdirectory. ``tuf`` and its
-dependencies must already be installed (see above).
-::
-
-    $ cd tests
-    $ python aggregate_tests.py
-
-Individual tests can also be executed. Optional '-v' flags can be added to
-increase log level up to DEBUG ('-vvvv').
-::
-
-    $ python test_updater.py # run a specific test file
-    $ python test_updater.py TestUpdater.test_4_refresh # run a specific test
-    $ python test_updater.py -vvvv TestUpdater.test_4_refresh # run test with DEBUG log level
-
-
-All of the log levels and the corresponding options that could be used for testing are:
-
-.. list-table::
-   :widths: 20 25
-   :header-rows: 1
-
-   * - Option
-     - Log Level
-   * - default (no argument passed)
-     - ERROR (test names are not printed)
-   * - `-v`
-     - ERROR (test names are printed at this level and above)
-   * - `-vv`
-     - WARNING
-   * - `-vvv`
-     - INFO
-   * - `-vvvv`
-     - DEBUG
-
-
-To run the tests and measure their code coverage, the aggregation script can be
-invoked with the ``coverage`` tool (requires installation of ``coverage``, e.g.
-via PyPI).
-::
-
-    $ coverage run aggregate_tests.py && coverage report
-
-
-To develop and test ``tuf`` with above commands alongside its in-house dependency
-`securesystemslib <https://github.com/secure-systems-lab/securesystemslib>`_,
-it is recommended to first make an editable install of ``tuf`` (in
-a *venv*), and then install ``securesystemslib`` in editable mode too (in the same *venv*).
-::
-
-    $ cd path/to/tuf
-    $ pip install -r requirements-dev.txt
-    $ cd path/to/securesystemslib
-    $ pip install -r requirements-dev.txt
-
-
-With `tox <https://testrun.org/tox/>`_ the test suite can be executed in a
-separate *venv* for each supported Python version. While the supported
-Python versions must already be available, ``tox`` will install ``tuf`` and its
-dependencies anew in each environment.
-::
-
-    $ tox
-
-
-An additional non-default ``tox`` environment is available and can be used to
-test ``tuf`` against the tip of development of ``securesystemslib`` on GitHub,
-to e.g. prepare the former for a new release of the latter.
-::
-
-    $ tox -e with-sslib-master
diff --git a/docs/GETTING_STARTED.rst b/docs/GETTING_STARTED.rst
deleted file mode 100644
index fad0d847fb..0000000000
--- a/docs/GETTING_STARTED.rst
+++ /dev/null
@@ -1,10 +0,0 @@
-Getting Started
----------------
-
-- `Overview of TUF <OVERVIEW.rst>`_
-- `Installation <INSTALLATION.rst>`_
-- Beginner Tutorials (using the basic command-line interface):
-   - `Quickstart <QUICKSTART.md>`_
-   - `CLI Documentation and Examples <CLI.md>`_
-- `Advanced Tutorial <TUTORIAL.md>`_
-- `Guidelines for Contributors <CONTRIBUTORS.rst>`_
diff --git a/docs/GOVERNANCE.md b/docs/GOVERNANCE.md
index e21db3f394..75d9a16e21 100644
--- a/docs/GOVERNANCE.md
+++ b/docs/GOVERNANCE.md
@@ -2,24 +2,24 @@
 This document covers the project's governance and committer process.  The
 project consists of the TUF
 [specification](https://github.com/theupdateframework/specification) and
-[reference implementation](https://github.com/theupdateframework/tuf).
+[reference implementation](https://github.com/theupdateframework/python-tuf).
 
 ## Maintainership and Consensus Builder
 The project is maintained by the people indicated in
 [MAINTAINERS](MAINTAINERS.txt).  A maintainer is expected to (1) submit and
 review GitHub pull requests and (2) open issues or [submit vulnerability
-reports](https://github.com/theupdateframework/tuf#security-issues-and-bugs).
+reports](https://github.com/theupdateframework/python-tuf#security-issues-and-bugs).
 A maintainer has the authority to approve or reject pull requests submitted by
-contributors.    
+contributors.
 
 More significant changes in the project, such as those that require a TAP or
-changes in governance, are guided by a maintainer called the Consensus 
-Builder (CB).  The project's Consensus Builder (CB) is Justin Cappos 
+changes in governance, are guided by a maintainer called the Consensus
+Builder (CB).  The project's Consensus Builder (CB) is Justin Cappos
 <jcappos@nyu.edu, @JustinCappos>, who has a lifetime appointment.
 
 ## Contributions
 [A contributor can submit GitHub pull
-requests](CONTRIBUTORS.rst)
+requests](CONTRIBUTING.rst)
 to the project's repositories.  They must follow the project's [code of
 conduct](CODE-OF-CONDUCT.md), the [developer certificate of
 origin](https://developercertificate.org/), the [code style
@@ -27,10 +27,12 @@ guidelines](https://github.com/secure-systems-lab/code-style-guidelines), and
 must unit test any new software feature or change.  Submitted pull requests
 undergo review and automated testing, including, but not limited to:
 
-* Unit and build testing via [GitHub Actions](https://github.com/theupdateframework/tuf/actions) and
+* Unit and build testing via [GitHub Actions](https://github.com/theupdateframework/python-tuf/actions) and
 [Tox](https://tox.readthedocs.io/en/latest/).
 * Static code analysis via [Pylint](https://www.pylint.org/) and
 [Bandit](https://wiki.openstack.org/wiki/Security/Projects/Bandit).
+- Auto-formatting with [black](https://black.readthedocs.io/) and
+[isort](https://pycqa.github.io/isort/).
 * Checks for Signed-off-by commits via [Probot: DCO](https://github.com/probot/dco).
 * Review by one or more
 [maintainers](MAINTAINERS.txt).
@@ -52,7 +54,7 @@ The CB has the authority to add or remove maintainers.
 
 ## Changes in governance
 
-The CB supervises changes in governance, but a majority of maintainers must vote +1 on the PR.  
+The CB supervises changes in governance, but a majority of maintainers must vote +1 on the PR.
 
 ## Changes in the consensus builder
 
diff --git a/docs/INSTALLATION.rst b/docs/INSTALLATION.rst
index 0bb3f9dccf..8e23e927f8 100644
--- a/docs/INSTALLATION.rst
+++ b/docs/INSTALLATION.rst
@@ -1,100 +1,85 @@
 Installation
 ============
 
-*pip* is the recommended installer for installing and managing Python packages.
-The project can be installed either locally or from the Python Package Index.
-All `TUF releases
-<https://github.com/theupdateframework/tuf/releases>`_ are cryptographically
-signed, with GPG signatures available on both GitHub and `PyPI
-<https://pypi.python.org/pypi/tuf/>`_.  PGP key information for our maintainers
-is available on our `website
-<https://theupdateframework.github.io/people.html>`_, on major keyservers,
-and on the `maintainers page
-<https://github.com/theupdateframework/tuf/blob/develop/docs/MAINTAINERS.txt>`_.
-
-The latest release and its packaging information, such as who signed the
-release and their PGP fingerprint, can also be found on our 1-year `roadmap
-<ROADMAP.md>`_.
-
+All versions of ``python-tuf`` can be installed from
+`PyPI <https://pypi.org/project/tuf/>`_ with
+`pip <https://pip.pypa.io/en/stable/>`_.
 
+::
 
-Release Verification
---------------------
+   python3 -m pip install tuf
 
-Assuming you trust `the maintainer's PGP key <MAINTAINERS.txt>`_, the detached
-ASC signature can be downloaded and verified.  For example:
+By default tuf is installed as pure python package with limited cryptographic
+abilities. See `Install with full cryptographic abilities`_ for more options.
 
-::
 
-   $ gpg --verify securesystemslib-0.10.8.tar.gz.asc
-   gpg: assuming signed data in 'securesystemslib-0.10.8.tar.gz'
-   gpg: Signature made Wed Nov  8 15:21:47 2017 EST
-   gpg:                using RSA key 3E87BB339378BC7B3DD0E5B25DEE9B97B0E2289A
-   gpg: Good signature from "Vladimir Diaz (Vlad) <vladimir.v.diaz@gmail.com>" [ultimate]
+Install with full cryptographic abilities
+-----------------------------------------
 
+Default installation supports signature verification only, using a pure Python
+*ed25519* implementation. While this allows to operate a *basic client* on
+almost any computing device, you will need additional cryptographic abilities
+for *repository* code, i.e. key and signature generation, additional
+algorithms, and more performant backends. Opt-in is available via
+``securesystemslib``.
 
+.. note::
 
-Simple Installation
--------------------
+   Please consult with underlying crypto backend installation docs. e.g.
+   `cryptography <https://cryptography.io/en/latest/installation/>`_
+   for possible system dependencies.
 
-If you are only using ed25519-based cryptography, you can employ a pure-Python
-installation, done simply with one of the following commands:
-
-Installing from Python Package Index (https://pypi.python.org/pypi).
-(Note: Please use "pip install --no-use-wheel tuf" if your version
-of pip <= 1.5.6)
 ::
-    $ pip install tuf
-
 
-**Alternatively**, if you wish to install from a GitHub release you've already
-downloaded, or a package you obtained in another way, you can instead:
+   python3 -m pip securesystemslib[crypto] tuf
 
-Install from a local source archive:
-::
-    $ pip install <path to archive>
 
-Or install from the root directory of the unpacked archive:
-::
-    $ pip install .
+Install for development
+-----------------------
 
+To install tuf in editable mode together with development dependencies,
+`clone <https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository>`_ the
+`python-tuf repository <https://github.com/theupdateframework/python-tuf>`_
+from GitHub, change into the project root directory, and install with pip
+(using `venv <https://docs.python.org/3/library/venv.html>`_ is recommended).
 
+.. note::
 
-Install with More Cryptographic Flexibility
--------------------------------------------
+   Development installation will `Install with full cryptographic abilities`_.
+   Please check above for possible system dependencies.
 
-By default, C extensions are not installed and only Ed25519 signatures can
-be verified, in pure Python.  To fully support RSA, Ed25519, ECDSA, and
-other crypto, you must install the extra dependencies declared by
-securesystemslib.  **Note**: that may require non-Python dependencies, so if
-you encounter an error attempting this pip command, see
-`more instructions below <#non-python-dependencies>`_).
 ::
-    $ pip install securesystemslib[crypto,pynacl] tuf
 
+   python3 -m pip install -r requirements/dev.txt
 
 
-Non-Python Dependencies
------------------------
+Verify release signatures
+-------------------------
 
-If you encounter errors during installation, you may be missing
-certain system libraries.
+Releases on PyPI are signed with a maintainer key using
+`gpg <https://gnupg.org/>`_  (see
+`MAINTAINERS.txt <https://github.com/theupdateframework/python-tuf/blob/develop/docs/MAINTAINERS.txt>`_
+for key fingerprints). Signatures can be downloaded from the
+`GitHub release <https://github.com/theupdateframework/python-tuf/releases>`_
+page (look for *\*.asc* files in the *Assets* section).
 
-For example, PyNaCl and Cryptography -- two libraries used in the full
-installation to support certain cryptographic functions -- may require FFI
-(Foreign Function Interface) development header files.
+Below code shows how to verify the signature of a
+`built <https://packaging.python.org/en/latest/glossary/#term-Built-Distribution>`_ distribution,
+signed by the maintainer *Lukas PÃ¼hringer*. It works
+alike for `source  <https://packaging.python.org/en/latest/glossary/#term-Source-Distribution-or-sdist>`_ distributions.
 
-Debian-based distributions can install the necessary header libraries with apt
-(Advanced Package Tool.)
 ::
-    $ apt-get install build-essential libssl-dev libffi-dev python-dev
 
-Fedora-based distributions can instead install these libraries with dnf.
-::
-    $ dnf install libffi-devel redhat-rpm-config openssl-devel
+   # Get wheel from PyPI and signature from GitHub
+   python3 -m pip download --no-deps tuf==0.20.0
+   wget https://github.com/theupdateframework/python-tuf/releases/download/v0.20.0/tuf-0.20.0-py3-none-any.whl.asc
 
-OS X users can install these header libraries with the `Homebrew <https://brew.sh/>`_
-package manager, among other options.
-::
-    $ brew install python
-    $ brew install libffi
+   # Get public key, compare fingerprint in MAINTAINERS.txt, and verify with gpg
+   gpg --recv-keys 89A2AD3C07D962E8
+   gpg --verify tuf-0.20.0-py3-none-any.whl.asc
+
+   # Output:
+   # gpg: assuming signed data in 'tuf-0.20.0-py3-none-any.whl'
+   # gpg: Signature made Thu Dec 16 09:21:38 2021 CET
+   # gpg:                using RSA key 8BA69B87D43BE294F23E812089A2AD3C07D962E8
+   # gpg: Good signature from "Lukas PÃ¼hringer <lukas.puehringer@nyu.edu>" [ultimate]
diff --git a/docs/MAINTAINERS.txt b/docs/MAINTAINERS.txt
index 1819f0ef29..1e4936eb61 100644
--- a/docs/MAINTAINERS.txt
+++ b/docs/MAINTAINERS.txt
@@ -10,37 +10,30 @@ Consensus Builder:
 
 Maintainers:
 
-  Sebastien Awwad
-    Email: sebastien.awwad@nyu.edu
-    GitHub username: @awwad
-    PGP fingerprint: C2FB 9C91 0758 B682 7BC4  3233 BC0C 6DED D5E5 CC03
-
   Marina Moore
     Email: mm9693@nyu.edu
     GitHub username: @mnm678
 
-  Trishank Karthik Kuppusamy
-    Email: trishank@nyu.edu
-    GitHub username: @trishankatdatadog
-    PGP fingerprint: 8C48 08B5 B684 53DE 06A3  08FD 5C09 0ED7 318B 6C1E
-    Keybase username: trishankdatadog
-  
   Lukas Puehringer
     Email: lukas.puehringer@nyu.edu
     GitHub username: @lukpueh
     PGP fingerprint: 8BA6 9B87 D43B E294 F23E  8120 89A2 AD3C 07D9 62E8
 
-  Santiago Torres-Arias
-    Email: santiago@nyu.edu
-    GitHub username: @SantiagoTorres
-    PGP fingerprint: 903B AB73 640E B6D6 5533  EFF3 468F 122C E816 2295
+  Jussi Kukkonen
+    Email: jkukkonen@google.com
+    GitHub username: @jku
+    PGP fingerprint: 1343 C98F AB84 859F E5EC  9E37 0527 D8A3 7F52 1A2F
 
-  Joshua Lock
-    Email: jlock@vmware.com
-    GitHub username: @joshuagl
-    PGP fingerprint: 08F3 409F CF71 D87E 30FB D3C2 1671 F65C B748 32A4
-    Keybase username: joshuagl
+  Kairo de Araujo
+    Email: kairo@dearaujo.nl
+    GitHub username: @kairoaraujo
+    PGP fingerprint: FFD5 219E 49E0 06C2 1D9C  7C89 F26E 23EE 723E C8CA
 
-  Jussi Kukkonen
-    Email: jkukkonen@vmware.com
-    Github username: @jku
+Emeritus Maintainers:
+
+  Joshua Lock
+  Santiago Torres-Arias
+  Sebastien Awwad
+  Teodora Sechkova
+  Trishank Karthik Kuppusamy (NYU, Datadog)
+  Vladimir Diaz
diff --git a/docs/METADATA.md b/docs/METADATA.md
deleted file mode 100644
index 9f140fe8fe..0000000000
--- a/docs/METADATA.md
+++ /dev/null
@@ -1,91 +0,0 @@
-# Metadata
-
-Metadata files provide information that clients can use to make update decisions. Different metadata files provide different information. The various metadata files are signed by different keys as are indicated by the root role. The concept of roles allows TUF to only trust information that a role is trusted to provide.
-
-The signed metadata files always include the time they were created and their expiration dates. This ensures that outdated metadata will be detected and that clients can refuse to accept metadata older than that which they've already seen.
-
-All TUF metadata uses a subset of the JSON object format. When calculating the digest of an object, we use the [Canonical JSON](http://wiki.laptop.org/go/Canonical_JSON) format. Implementation-level detail about the metadata can be found in the [spec](docs/tuf-spec.txt).
-
-There are four required top-level roles and one optional top-level role, each with their own metadata file.
-
-Required:
-
-* Root
-* Targets
-* Snapshot
-* Timestamp
-
-Optional:
-
-* Mirrors (unimplemented)
-
-There may also be any number of delegated target roles.
-
-## Root Metadata (root.json)
-
-Signed by: Root role.
-
-Specifies the other top-level roles. When specifying these roles, the trusted keys for each role are listed along with the minimum number of those keys which are required to sign the role's metadata. We call this number the signature threshold.
-
-See [example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/root.json) of Root metadata.
-
-## Targets Metadata (targets.json)
-
-Signed by: Targets role.
-
-The targets.json metadata file lists hashes and sizes of target files. Target files are the actual files that clients are intending to download (for example, the software updates they are trying to obtain).
-
-This file can optionally define other roles to which it delegates trust. Delegating trust means that the delegated role is trusted for some or all of the target files available from the repository. When delegated roles are specified, they are specified in a similar way to how the Root role specifies the top-level roles: the trusted keys and signature threshold for each role is given. Additionally, one or more patterns are specified which indicate the target file paths for which clients should trust each delegated role.
-
-See [example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/targets.json) of Targets metadata.
-
-## Delegated Targets Metadata (role1.json)
-
-Signed by: A delegated targets role.
-
-The metadata files provided by delegated targets roles follow exactly the same format as the metadata file provided by the top-level Targets role.
-
-When the targets role delegates trust to other roles, each delegated role provides one signed metadata file.  As is the
-case with the directory structure of top-level metadata, the delegated files are relative to the base URL of metadata available from a given repository mirror.
-
-A delegated role file is located at:
-
-/DELEGATED_ROLE.json
-
-where DELEGATED_ROLE is the name of the delegated role that has been specified in targets.json.  If this role further delegates trust to a role named ANOTHER_ROLE, that role's signed metadata file is made available at:
-
-/ANOTHER_ROLE.json
-
-See
-[example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/role1.json)
-of delegated Targets metadata and [example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/role2.json) of a nested delegation.
-
-## snapshot Metadata (snapshot.json)
-
-Signed by: Snapshot role.
-
-The snapshot.json metadata file lists the version, and optionally the file hashes and sizes, of the top-level targets metadata and all delegated targets metadata. This file ensures that clients will see a consistent view of the files on the repository. That is, metadata files (and thus target file) that existed on the repository at different times cannot be combined and presented to clients by an attacker.
-
-â€‹See [example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/snapshot.json) of Snapshot metadata.
-
-## Timestamp Metadata (timestamp.json)
-
-Signed by: Timestamp role.
-
-The timestamp.json metadata file lists the hashes and size of the snapshot.json file. This is the first and potentially only file that needs to be downloaded when clients poll for the existence of updates. This file is frequently resigned and has a short expiration date, thus allowing clients to quickly detect if they are being prevented from obtaining the most recent metadata. An online key is generally used to automatically resign this file at regular intervals.
-
-There are two primary reasons why the timestamp.json file doesn't contain all of the information that the snapshot.json file does.
-
-* The timestamp.json file is downloaded very frequently and so should be kept as small as possible, especially considering that the snapshot.json file grows in size in proportion to the number of delegated target roles.
-* As the Timestamp role's key is an online key and thus at high risk, separate keys should be used for signing the snapshot.json metadata file so that the Snapshot role's keys can be kept offline and thus more secure.
-
-See [example](https://raw.githubusercontent.com/theupdateframework/tuf/develop/tests/repository_data/repository/metadata/timestamp.json) of Timestamp metadata.
-
-## Mirrors Metadata (mirrors.json)
-
-Optionally signed by: Mirrors role.
-
-The mirrors.json file provides an optional way to provide mirror list updates to TUF clients. Mirror lists can alternatively be provided directly by the software update system and obtained in any way the system sees fit, including being hard coded if that is what an applications wants to do.
-
-No example available. At the time of writing, this hasn't been implemented in
-TUF. Currently mirrors are specified by the client code.
diff --git a/docs/OVERVIEW.rst b/docs/OVERVIEW.rst
deleted file mode 100644
index bc28ce1983..0000000000
--- a/docs/OVERVIEW.rst
+++ /dev/null
@@ -1,120 +0,0 @@
-What Is a Software Update System?
----------------------------------
-
-Generally, a software update system is an application (or part of an
-application) running on a client system that obtains and installs
-software. These systems typically update the applications installed
-on client systems to introduce new features, enhancements, and security
-fixes.
-
-Three major classes of software update systems are:
-
--  **Application updaters** which are used by applications to update
-   themselves. For example, Firefox updates itself through its own
-   application updater.
-
--  **Library package managers** such as those offered by many
-   programming languages for installing additional libraries. These are
-   systems such as Python's pip/easy_install + PyPI, Perl's CPAN,
-   Ruby's RubyGems, and PHP's Composer.
-
--  **System package managers** used by operating systems to update and
-   install all of the software on a client system. Debian's APT, Red
-   Hat's YUM, and openSUSE's YaST are examples of these.
-
-Our Approach
-------------
-
-There are literally thousands of different software update systems in
-common use today. (In fact the average Windows user has about `two
-dozen <https://secuniaresearch.flexerasoftware.com/gfx/pdf/Secunia_RSA_Software_Portfolio_Security_Exposure.pdf>`_
-different software updaters on their machine!)
-
-We are building a library that can be universally (and in most cases
-transparently) used to secure software update systems.
-
-Overview
---------
-
-On the surface, the update procedure followed by a software update system can be regarded
-as straightforward.  Obtaining and installing an update just means:
-
--  Knowing when an update exists.
--  Downloading the update.
--  Applying the changes introduced by the update.
-
-The problem with this view is that it is only straightforward when there
-are no malicious parties involved throughout the update procedure. If an attacker
-is trying to interfere with these seemingly simple steps, there is plenty
-that they can do.
-
-TUF is designed to perform the first two steps of the above update procedure,
-while guarding against the majority of attacks that malicious actors have at
-their disposal; especially those attacks that are overlooked by security-conscious
-developers.
-
-
-Background
-----------
-
-Let's assume you take the approach that most systems do (at least, the
-ones that even try to be secure). You download both the file you want
-and a cryptographic signature of the file. You already know which key
-you trust to make the signature. You check that the signature is correct
-and was made by this trusted key. All seems well, right? Wrong. You are
-still at risk in many ways, including:
-
--  An attacker keeps giving you the same file, so you never realize
-   there is an update.
--  An attacker gives you an older, insecure version of a file that you
-   already have, so you download that one and blindly use it thinking
-   it's newer.
--  An attacker gives you a newer version of a file you have but it's not
-   the newest one. It's newer to you, but it may be insecure and
-   exploitable by the attacker.
--  An attacker compromises the key used to sign these files and now you
-   download a malicious file that is properly signed.
-
-These are just some of the attacks software update systems are
-vulnerable to when only using signed files. See
-`Security <SECURITY.md>`_ for a full list of attacks and updater
-weaknesses TUF is designed to prevent.
-
-The following papers provide detailed information on securing software
-updater systems, TUF's design and implementation details, attacks on
-package managers, and package management security:
-
--  `Mercury: Bandwidth-Effective Prevention of Rollback Attacks Against Community Repositories
-   <papers/prevention-rollback-attacks-atc2017.pdf?raw=true>`_
-
--  `Diplomat: Using Delegations to Protect Community Repositories
-   <papers/protect-community-repositories-nsdi2016.pdf?raw=true>`_
-
--  `Survivable Key Compromise in Software Update
-   Systems <papers/survivable-key-compromise-ccs2010.pdf?raw=true>`_
-
--  `A Look In the Mirror: Attacks on Package
-   Managers <papers/package-management-security-tr08-02.pdf?raw=true>`_
-
--  `Package Management
-   Security <papers/attacks-on-package-managers-ccs2008.pdf?raw=true>`_
-
-What TUF Does
--------------
-
-In order to securely download and verify target files, TUF requires a
-few extra files to exist on a repository. These are called metadata
-files. TUF metadata files contain additional information, including
-information about which keys are trusted, the cryptographic hashes of
-files, signatures on the metadata, metadata version numbers, and the
-date after which the metadata should be considered expired.
-
-When a software update system using TUF wants to check for updates, it
-asks TUF to do the work. That is, your software update system never has
-to deal with this additional metadata or understand what's going on
-underneath. If TUF reports back that there are updates available, your
-software update system can then ask TUF to download these files. TUF
-downloads them and checks them against the TUF metadata that it also
-downloads from the repository. If the downloaded target files are
-trustworthy, TUF hands them over to your software update system. See
-`Metadata <METADATA.md>`_ for more information and examples.
diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md
deleted file mode 100644
index c8c44e5180..0000000000
--- a/docs/QUICKSTART.md
+++ /dev/null
@@ -1,153 +0,0 @@
-# Quickstart #
-
-In this quickstart tutorial, we'll use the basic TUF command-line interface
-(CLI), which includes the `repo.py` script and the `client.py` script, to set
-up a repository with an update and metadata about that update, then download
-and verify that update as a client.
-
-Unlike the underlying TUF modules that the CLI uses, the CLI itself is a bit
-bare-bones.  Using the CLI is the easiest way to familiarize yourself with
-how TUF works, however.  It will serve as a very basic update system.
-
-----
-
-**Step (0)** - Make sure TUF is installed.
-
-Make sure that TUF is installed, along with some of the optional cryptographic
-libraries and C extensions.  Try this command to do that:
-`pip install securesystemslib[colors,crypto,pynacl] tuf`
-
-If you run into errors during that pip command, please consult the more
-detailed [TUF Installation Instructions](INSTALLATION.rst).  (There are some
-system libraries that you may need to install first.)
-
-
-**Step (1)** - Create a basic repository and client.
-
-The following command will set up a basic update repository and basic client
-that knows about the repository.  `tufrepo`, `tufkeystore`, and
-`tufclient` directories will be created in the current directory.
-
-```Bash
-$ repo.py --init
-```
-
-Four sets of keys are created in the `tufkeystore` directory.  Initial metadata
-about the repository is created in the `tufrepo` directory, and also provided
-to the client in the `tufclient` directory.
-
-
-**Step (2)** - Add an update to the repository.
-
-We'll create a target file that will later be delivered as an update to clients.
-Metadata about that file will be created and signed, and added to the
-repository's metadata.
-
-```Bash
-$ echo 'Test file' > testfile
-$ repo.py --add testfile
-$ tree tufrepo/
-tufrepo/
-â”œâ”€â”€ metadata
-â”‚Â Â  â”œâ”€â”€ 1.root.json
-â”‚Â Â  â”œâ”€â”€ root.json
-â”‚Â Â  â”œâ”€â”€ snapshot.json
-â”‚Â Â  â”œâ”€â”€ targets.json
-â”‚Â Â  â””â”€â”€ timestamp.json
-â”œâ”€â”€ metadata.staged
-â”‚Â Â  â”œâ”€â”€ 1.root.json
-â”‚Â Â  â”œâ”€â”€ root.json
-â”‚Â Â  â”œâ”€â”€ snapshot.json
-â”‚Â Â  â”œâ”€â”€ targets.json
-â”‚Â Â  â””â”€â”€ timestamp.json
-â””â”€â”€ targets
-    â””â”€â”€ testfile
-
-    3 directories, 11 files
-```
-
-The new file `testfile` is added to the repository, and metadata is updated in
-the `tufrepo` directory.  The Targets metadata (`targets.json`) now includes
-the file size and hashes of the `testfile` target file, and this metadata is
-signed by the Targets role's key, so that clients can verify that metadata
-about `testfile` and then verify `testfile` itself.
-
-
-**Step (3)** - Serve the repo.
-
-We'll host a toy http server containing the `testfile` update and the
-repository's metadata.
-
-```Bash
-$ cd "tufrepo/"
-$ python3 -m http.server 8001
-
-# or, if you are using Python2:
-$ python -m SimpleHTTPServer 8001
-
-```
-
-**Step (4)** - Obtain and verify the `testfile` update on a client.
-
-The client can request the package `testfile` from the repository.  TUF will
-download and verify metadata from the repository as necessary to determine
-what the trustworthy hashes and length of `testfile` are, then download
-the target `testfile` from the repository and keep it only if it matches that
-trustworthy metadata.
-
-```Bash
-$ cd "../tufclient/"
-$ client.py --repo http://localhost:8001 testfile
-$ tree
-.
-â”œâ”€â”€ tufrepo
-â”‚Â Â  â””â”€â”€ metadata
-â”‚Â Â      â”œâ”€â”€ current
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ 1.root.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ root.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ snapshot.json
-â”‚Â Â      â”‚Â Â  â”œâ”€â”€ targets.json
-â”‚Â Â      â”‚Â Â  â””â”€â”€ timestamp.json
-â”‚Â Â      â””â”€â”€ previous
-â”‚Â Â          â”œâ”€â”€ 1.root.json
-â”‚Â Â          â”œâ”€â”€ root.json
-â”‚Â Â          â”œâ”€â”€ snapshot.json
-â”‚Â Â          â”œâ”€â”€ targets.json
-â”‚Â Â          â””â”€â”€ timestamp.json
-â””â”€â”€ tuftargets
-    â””â”€â”€ testfile
-
-    5 directories, 11 files
-```
-
-Now that a trustworthy update target has been obtained, an updater can proceed
-however it normally would to install or use the update.
-
-----
-
-### Next Steps
-
-TUF provides functionality for both ends of a software update system, the
-**update provider** and the **update client**.
-
-`repo.py` made use of `tuf.repository_tool`'s functionality for an update
-provider, helping you produce and sign metadata about your updates.
-
-`client.py` made use of `tuf.client.updater`'s client-side functionality,
-performing download and the critical verification steps for metadata and the
-update itself.
-
-You can look at [CLI.md](CLI.md) to toy with the TUF CLI a bit more.
-After that, try out using the underlying modules for a great deal more control.
-The more detailed [Advanced Tutorial](TUTORIAL.md) shows you how to use the
-underlying modules, `repository_tool` and `updater`.
-
-Ultimately, a sophisticated update client will use or re-implement those
-underlying modules.  The TUF design is intended to play well with any update
-workflow.
-
-Please provide feedback or questions for this or other tutorials, or
-TUF in general, by checking out
-[our contact info](https://github.com/theupdateframework/tuf#contact), or
-creating [issues](https://github.com/theupdateframework/tuf/issues) in this
-repository!
diff --git a/docs/RELEASE.md b/docs/RELEASE.md
index ec1ad2a1e0..f2ff5b87c8 100644
--- a/docs/RELEASE.md
+++ b/docs/RELEASE.md
@@ -1,36 +1,54 @@
 # Release process
 
-* Ensure you have a backup of all working files and then remove files not tracked by git
-  `git clean -xdf`. **NOTE**: this will delete all files in the tuf tree that aren't
-  tracked by git
-* Ensure `docs/CHANGELOG.md` contains a one-line summary of each [notable
+
+**Prerequisites (one-time setup)**
+
+1. Enable "Trusted Publishing" in PyPI project settings
+   * Publisher: GitHub
+   * Owner: theupdateframework
+   * Project: python-tuf
+   * Workflow: cd.yml
+   * Environment: release
+1. Go to [GitHub
+   settings](https://github.com/theupdateframework/python-tuf/settings/environments),
+   create an
+   [environment](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#creating-an-environment)
+   called `release` and configure [review
+   protection](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment#required-reviewers).
+
+## Release
+
+1. Ensure `docs/CHANGELOG.md` contains a one-line summary of each [notable
   change](https://keepachangelog.com/) since the prior release
-* Update `setup.py` and `tuf/__init__.py` to the new version number vA.B.C
-* Test packaging, uploading to Test PyPI and installing from a virtual environment
-  (ensure commands invoking `python` below are using Python 3)
-  * Remove existing dist build dirs
-  * Create source dist `python3 setup.py sdist`
-  * Create wheel (with 2 and 3 support) `python3 setup.py bdist_wheel --universal`
-  * Sign the dists `gpg --detach-sign -a dist/tuf-vA.B.C.tar.gz`
-  * Upload to test PyPI `twine upload --repository testpypi dist/*`
-  * Verify the uploaded package https://testpypi.python.org/pypi/tuf/
-* Create a PR with updated `CHANGELOG.md` and version bumps
-* Once the PR is merged, pull the updated `develop` branch locally
-* Create a signed tag matching the updated version number on the merge commit
+2. Update `tuf/__init__.py` to the new version number `A.B.C`
+3. Create a PR with updated `CHANGELOG.md` and version bumps
+
+&#10132; Review PR on GitHub
+
+4. Once the PR is merged, pull the updated `develop` branch locally
+5. Create a signed tag for the version number on the merge commit
   `git tag --sign vA.B.C -m "vA.B.C"`
-  * Push the tag to GitHub `git push origin vA.B.C`
-* Create a new release on GitHub, copying the `CHANGELOG.md` entries for the
-  release
-* Create a package for the formal release
-  (ensure commands invoking `python` below are using Python 3)
-  * Remove existing dist build dirs
-  * Create source dist `python3 setup.py sdist`
-  * Create wheel (with 2 and 3 support) `python3 setup.py bdist_wheel --universal`
-  * Sign source dist `gpg --detach-sign -a dist/tuf-vA.B.C.tar.gz`
-  * Sign wheel `gpg --detach-sign -a dist/tuf-vA.B.C-py2.py3-none-any.whl`
-  * Upload to test PyPI `twine upload --repository testpypi dist/*`
-  * Verify the uploaded package https://testpypi.python.org/pypi/tuf/
-  * Upload to PyPI `twine upload dist/*`
-* Attach the signed dists to the release on GitHub
-* Announce the release on [#tuf on CNCF Slack](https://cloud-native.slack.com/archives/C8NMD3QJ3)
-* Ensure [POUF 1](https://github.com/theupdateframework/taps/blob/master/POUFs/reference-POUF/pouf1.md), for the reference implementation, is up-to-date
+6. Push the tag to GitHub `git push origin vA.B.C`
+
+  *A tag push triggers the [CD
+  workflow](https://github.com/theupdateframework/python-tuf/blob/develop/.github/workflows/cd.yml),
+  which runs the tests, builds source dist and wheel, creates a preliminary GitHub
+  release under `vA.B.C-rc`, and pauses for review.*
+
+7. Run `verify_release --skip-pypi` locally to make sure a build on your machine matches
+  the preliminary release artifacts published on GitHub.
+
+&#10132; [Review *deployment*](https://docs.github.com/en/actions/managing-workflow-runs/reviewing-deployments)
+on GitHub
+
+  *An approval resumes the CD workflow to publish the release on PyPI, and to finalize the
+  GitHub release (removes `-rc` suffix and updates release notes).*
+
+8. Run `verify_release` to make sure the PyPI release artifacts match the local build as
+   well. When called as `verify_release --sign [<key id>]` the script additionally
+   creates gpg release signatures. When signed by maintainers with a corresponding GPG
+   fingerprint in the MAINTAINERS.md file, these signature files should be made available on
+   the GitHub release page under Assets.
+9. Announce the release on [#tuf on CNCF Slack](https://cloud-native.slack.com/archives/C8NMD3QJ3)
+10. Ensure [POUF 1](https://github.com/theupdateframework/taps/blob/master/POUFs/reference-POUF/pouf1.md),
+    for the reference implementation, is up-to-date
diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md
deleted file mode 100644
index 7483174a58..0000000000
--- a/docs/ROADMAP.md
+++ /dev/null
@@ -1,80 +0,0 @@
-# ROADMAP
-
-This is the roadmap for the project.
-
-## Release schedule
-A new release of the project is expected every 3 months.  The release cycle,
-upcoming tasks, and any stated goals are subject to change.
-
-Releases are available both on [GitHub](https://github.com/theupdateframework/tuf/releases)
-and on [PyPI](https://pypi.org/project/tuf/#history).  The GitHub listing
-includes release notes.
-
-
-## Latest release
-Please consult the repository's
-[releases page on GitHub](https://github.com/theupdateframework/tuf/releases)
-for information about the latest releases.
-
-As of the last editing of this document, the latest release was:
-Pre-release v0.11.2.dev3, January 10, 2019.
-* [Release notes and Download](https://github.com/theupdateframework/tuf/releases/tag/v0.11.1)
-* [PyPI release](https://pypi.org/project/tuf/)
-* Packaged by Sebastien Awwad <sebastien.awwad@gmail.com, @awwad>
-* PGP fingerprint: C2FB 9C91 0758 B682 7BC4  3233 BC0C 6DED D5E5 CC03
-
-A number of older releases were packaged by Vladimir V Diaz:
-* Vladimir Diaz <vladimir.v.diaz@gmail.com, @vladimir-v-diaz>
-* PGP fingerprint: 3E87 BB33 9378 BC7B 3DD0  E5B2 5DEE 9B97 B0E2 289A
-
-
-## Tasks for upcoming releases
-
-In no particular order...
-
-- [ ] Provide protection against a class of slow retrieval attacks using long
-inter-byte delays, without sacrificing the use of clean, modern,
-production-quality HTTP libraries (requests currently).
-
-- [ ] Support ASN.1 metadata: loading, writing, signing, and verification.
-
-- [x] [CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1351) badge.
-  - [x] silver badge
-  - [ ] gold badge (currently at 74%)
-
-- [ ] [Support graph of delegations](https://github.com/theupdateframework/tuf/issues/660)
-(requires refactor of API and client code).
-
-- [ ] [TAP 3: Multi-role delegations](https://github.com/theupdateframework/taps/blob/master/tap3.md).
-
-- [x] [TAP 4: Multiple repository consensus on entrusted targets](https://github.com/theupdateframework/taps/blob/master/tap4.md).
-
-- [ ] [TAP 5: Setting URLs for roles in the Root metadata file](https://github.com/theupdateframework/taps/blob/master/tap5.md).
-
-- [ ] [TAP 8: Key rotation and explicit self-revocation](https://github.com/theupdateframework/taps/blob/master/tap8.md).
-
-- [x] CLI tool and quickstart guide.
-
-- [x] Improve update speed.
-
-- [x] Fully support Windows.
-
-- [ ] Generalize metadata format in specification.
-
-- [ ] Support post quantum resilient crypto.
-
-- [ ] Resolve TODOs in the code.
-
-- [ ] Support Python's multilingual internationalization and localization
-services.
-
-- [ ] Improved regression and attack testing.
-
-- [ ] Automated tutorial and instructions testing to enforce doc maintenance.
-
-- [ ] Continue resolution of outstanding tickets on the issue tracker.
-
-- [ ] Generalize encrypted key files.  Allow different forms of encryption, key derivation functions, etc.
-
-- [ ] Speed up loading and saving of metadata.  Support option to save metadata to memory.
-
diff --git a/docs/SECURITY.md b/docs/SECURITY.md
index d6bdde3778..0fca579998 100644
--- a/docs/SECURITY.md
+++ b/docs/SECURITY.md
@@ -1,76 +1,7 @@
-# Security
+# Security Issues and Bugs
 
-Generally, a software update system is secure if it can be sure that it knows about the latest available updates in a timely manner, any files it downloads are the correct files, and no harm results from checking or downloading files. The details of making this happen are complicated by various attacks that can be carried out against software update systems.
+Security issues can be reported to maintainers [privately via GitHub](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability):
 
-## Attacks and Weaknesses
+- [**Report new vulnerability**](https://github.com/theupdateframework/python-tuf/security/advisories/new)
 
-The following are some of the known attacks on software update systems, including weaknesses that make attacks possible. In order to design a secure software update framework, these need to be understood and protected against. Some of these issues are or can be related depending on the design and implementation of a software update system.
-
-* **Arbitrary software installation**. An attacker installs anything they want on the client system. That is, an attacker can provide arbitrary files in response to download requests and the files will not be detected as illegitimate. 
-
-* **Rollback attacks**. An attacker presents a software update system with older files than those the client has already seen, causing the client to use files older than those the client knows about. 
-
-* **Fast-forward attacks**.  An attacker arbitrarily increases the version numbers of project metadata files in the snapshot
-metadata well beyond the current value, thus tricking a software update system into thinking any subsequent updates are trying
-to rollback the package to a previous, out-of-date version. In some situations, such as those where there is a maximum possible
-version number, the perpetrator could use a number so high that the system would never be able to match it with the one in the
-snapshot metadata, and thus new updates could never be downloaded.
-
-* **Indefinite freeze attacks**. An attacker continues to present a software update system with the same files the client has already seen. The result is that the client does not know that new files are available. 
-
-* **Endless data attacks**. An attacker responds to a file download request with an endless stream of data, causing harm to clients (e.g. a disk partition filling up or memory exhaustion). 
-
-* **~~Slow retrieval attacks~~**. An attacker responds to clients with a very slow stream of data that essentially results in the client never continuing the update process.\
-**_NOTE: Due to limitations in a 3rd-party HTTP library, the TUF reference implementation currently provides only limited protection against slow retrieval attacks (see [tuf#932](https://github.com/theupdateframework/tuf/issues/932)). We plan to fix this in a future release._**
-
-* **Extraneous dependencies attacks**. An attacker indicates to clients that in order to install the software they wanted, they also need to install unrelated software. This unrelated software can be from a trusted source but may have known vulnerabilities that are exploitable by the attacker. 
-
-* **Mix-and-match attacks**. An attacker presents clients with a view of a repository that includes files that did not exist together on the repository at the same time. This can result in, for example, outdated versions of dependencies being installed. 
-
-* **Wrong software installation**. An attacker provides a client with a trusted file that is not the one the client wanted. 
-
-* **Malicious mirrors preventing updates**. An attacker in control of one repository mirror is able to prevent users from obtaining updates from other, good mirrors. 
-
-* **Vulnerability to key compromises**. An attacker who is able to compromise a single key or less than a given threshold of keys can compromise clients. This includes relying on a single online key (such as only being protected by SSL) or a single offline key (such as most software update systems use to sign files). 
-
-## Design Concepts
-
-The design and implementation of TUF aims to be secure against all of the above attacks. A few general ideas drive much of the security of TUF.
-
-For the details of how TUF conveys the information discussed below, see the [Metadata documentation](METADATA.md).
-
-## Trust
-
-Trusting downloaded files really means trusting that the files were provided by some trusted party. Two frequently overlooked aspects of trust in a secure software update system are:
-
-* Trust should not be granted forever. Trust should expire if it is not renewed.
-* Compartmentalized trust. A trusted party should only be trusted for files that it is supposed to provide. 
-
-## Mitigated Key Risk
-
-Cryptographic signatures are a necessary component in securing a software update system. The safety of the keys that are used to create these signatures affects the security of clients. Rather than incorrectly assume that private keys are always safe from compromise, a secure software update system must strive to keep clients as safe as possible even when compromises happen.
-
-Keeping clients safe despite dangers to keys involves:
-
-* Fast and secure key replacement and revocation.
-* Minimally trusting keys that are at high risk. Keys that are kept online or used in an automated fashion shouldn't pose immediate risk to clients if compromised.
-* Supporting the use of multiple keys with threshold/quorum signatures trust. 
-
-## Integrity
-
-File integrity is important both with respect to single files as well as collections of files. It's fairly obvious that clients must verify that individual downloaded files are correct. Not as obvious but still very important is the need for clients to be certain that their entire view of a repository is correct. For example, if a trusted party is providing two files, a software update system should see the latest versions of both of those files, not just one of the files and not versions of the two files that were never provided together.
-
-## Freshness
-
-As software updates often fix security bugs, it is important for software update systems to be able to obtain the latest versions of files that are available. An attacker may want to trick a client into installing outdated versions of software or even just convince a client that no updates are available.
-
-Ensuring freshness means to:
-
-* Never accept files older than those that have been seen previously.
-* Recognize when there may be a problem obtaining updates. 
-
-Note that it won't always be possible for a client to successfully update if an attacker is responding to their requests. However, a client should be able to recognize that updates may exist that they haven't been able to obtain.
-
-## Implementation Safety
-
-In addition to a secure design, TUF also works to be secure against implementation vulnerabilities including those common to software update systems. In some cases this is assisted by the inclusion of additional information in metadata. For example, knowing the expected size of a target file that is to be downloaded allows TUF to limit the amount of data it will download when retrieving the file. As a result, TUF is secure against endless data attacks (discussed above). 
+Please do not use the GitHub issue tracker to submit vulnerability reports. The issue tracker is intended for bug reports and to make feature requests. Major feature requests, such as design changes to the specification, should be proposed via a [TUF Augmentation Proposal](https://theupdateframework.github.io/specification/latest/#tuf-augmentation-proposal-tap-support) (TAP).
diff --git a/docs/TAP.rst b/docs/TAP.rst
deleted file mode 100644
index 3c20fde4f0..0000000000
--- a/docs/TAP.rst
+++ /dev/null
@@ -1,12 +0,0 @@
-What is a TAP?
---------------
-
-A TAP (TUF Augmentation Proposal) is a design document providing information to
-the TUF community, or describing a new feature for TUF or its processes or
-environment.  We intend TAPs to be the primary mechanisms for proposing major
-new features, for collecting community input on an issue, and for documenting
-the design decisions that have gone into TUF.
-
-Please visit the `TAPs GitHub repo <https://github.com/theupdateframework/taps>`_
-to review design changes that have been proposed to date, or to submit
-your own new feature.
diff --git a/docs/TUTORIAL.md b/docs/TUTORIAL.md
deleted file mode 100644
index ad0b6c1ad7..0000000000
--- a/docs/TUTORIAL.md
+++ /dev/null
@@ -1,701 +0,0 @@
-# Advanced Tutorial #
-
-## Table of Contents ##
-- [How to Create and Modify a TUF Repository](#how-to-create-and-modify-a-tuf-repository)
-  - [Overview](#overview)
-  - [Keys](#keys)
-    - [Create RSA Keys](#create-rsa-keys)
-    - [Import RSA Keys](#import-rsa-keys)
-    - [Create and Import Ed25519 Keys](#create-and-import-ed25519-keys)
-  - [Create Top-level Metadata](#create-top-level-metadata)
-    - [Create Root](#create-root)
-    - [Create Timestamp, Snapshot, Targets](#create-timestamp-snapshot-targets)
-  - [Targets](#targets)
-    - [Add Target Files](#add-target-files)
-    - [Remove Target Files](#remove-target-files)
-  - [Delegations](#delegations)
-    - [Revoke Delegated Role](#revoke-delegated-role)
-  - [Wrap-up](#wrap-up)
-- [Delegate to Hashed Bins](#delegate-to-hashed-bins)
-- [Consistent Snapshots](#consistent-snapshots)
-- [How to Perform an Update](#how-to-perform-an-update)
-
-## How to Create and Modify a TUF Repository ##
-
-### Overview ###
-A software update system must follow two steps to integrate The Update
-Framework (TUF).  First, it must add the framework to the client side of the
-update system.  The [tuf.client.updater](../tuf/client/README.md) module assists in
-integrating TUF on the client side.  Second, the software repository on the
-server side must be modified to include a minimum of four top-level metadata
-(root.json, targets.json, snapshot.json, and timestamp.json).  No additional
-software is required to convert a software repository to a TUF one.  The
-low-level repository tool that generates the required TUF metadata for a
-software repository is the focus of this tutorial.  There is also separate
-document that [demonstrates how TUF protects against malicious
-updates](../tuf/ATTACKS.md).
-
-The [repository tool](../tuf/repository_tool.py) contains functions to generate
-all of the files needed to populate and manage a TUF repository.  The tool may
-either be imported into a Python module, or used with the Python interpreter in
-interactive mode.
-
-A repository object that encapsulates the metadata files of the repository can
-be created or loaded by the repository tool.  Repository maintainers can modify
-the repository object to manipulate the metadata files stored on the
-repository.  TUF clients use the metadata files to validate files requested and
-downloaded.  In addition to the repository object, where the majority of
-changes are made, the repository tool provides functions to generate and
-persist cryptographic keys.  The framework utilizes cryptographic keys to sign
-and verify metadata files.
-
-To begin, cryptographic keys are generated with the repository tool.  However,
-before metadata files can be validated by clients and target files fetched in a
-secure manner, public keys must be pinned to particular metadata roles and
-metadata signed by role's private keys.  After covering keys, the four required
-top-level metadata are created next.  Examples are given demonstrating the
-expected work flow, where the metadata roles are created in a specific order,
-keys imported and loaded, and metadata signed and written to disk.  Lastly,
-target files are added to the repository, and a custom delegation performed to
-extend the default roles of the repository.  By the end, a fully populated TUF
-repository is generated that can be used by clients to securely download
-updates.
-
-### Keys ###
-The repository tool supports multiple public-key algorithms, such as
-[RSA](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) and
-[Ed25519](https://ed25519.cr.yp.to/), and multiple cryptography libraries.
-
-Using [RSA-PSS](https://tools.ietf.org/html/rfc8017#section-8.1) or
-[ECDSA](https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm)
-signatures requires the [cryptography](https://cryptography.io/) library. If
-generation of Ed25519 signatures is needed
-[PyNaCl](https://github.com/pyca/pynacl) library should be installed. This
-tutorial assumes both dependencies are installed: refer to
-[Installation Instructions](INSTALLATION.rst#install-with-more-cryptographic-flexibility)
-for details.
-
-The Ed25519 and ECDSA keys are stored in JSON format and RSA keys are stored in PEM
-format. Private keys are encrypted and passphrase-protected (strengthened with
-PBKDF2-HMAC-SHA256.)  Generating, importing, and loading cryptographic key
-files can be done with functions available in the repository tool.
-
-To start, a public and private RSA key pair is generated with the
-`generate_and_write_rsa_keypair()` function.  The keys generated next are
-needed to sign the repository metadata files created in upcoming sub-sections.
-
-Note:  In the instructions below, lines that start with `>>>` denote commands
-that should be entered by the reader, `#` begins the start of a comment, and
-text without prepended symbols is the output of a command.
-
-#### Create RSA Keys ####
-```python
->>> from tuf.repository_tool import *
-
-# Generate and write the first of two root keys for the TUF repository.  The
-# following function creates an RSA key pair, where the private key is saved to
-# "root_key" and the public key to "root_key.pub" (both saved to the current
-# working directory).
->>> generate_and_write_rsa_keypair(password="password", filepath="root_key", bits=2048)
-
-# If the key length is unspecified, it defaults to 3072 bits. A length of less
-# than 2048 bits raises an exception. A similar function is available to supply
-# a password on the prompt. If an empty password is entered, the private key
-# is saved unencrypted.
->>> generate_and_write_rsa_keypair_with_prompt(filepath="root_key2")
-enter password to encrypt private key file '/path/to/root_key2'
-(leave empty if key should not be encrypted):
-Confirm:
-```
-The following four key files should now exist:
-
-1.  **root_key**
-2.  **root_key.pub**
-3.  **root_key2**
-4.  **root_key2.pub**
-
-If a filepath is not given, the KEYID of the generated key is used as the
-filename.  The key files are written to the current working directory.
-```python
-# Continuing from the previous section . . .
->>> generate_and_write_rsa_keypair_with_prompt()
-enter password to encrypt private key file '/path/to/KEYID'
-(leave empty if key should not be encrypted):
-Confirm:
-```
-
-### Import RSA Keys ###
-```python
-# Continuing from the previous section . . .
-
-# Import an existing public key.
->>> public_root_key = import_rsa_publickey_from_file("root_key.pub")
-
-# Import an existing private key.  Importing a private key requires a password,
-# whereas importing a public key does not.
->>> private_root_key = import_rsa_privatekey_from_file("root_key")
-enter password to decrypt private key file '/path/to/root_key'
-(leave empty if key not encrypted):
-```
-
-### Create and Import Ed25519 Keys ###
-```Python
-# Continuing from the previous section . . .
-
-# The same generation and import functions as for rsa keys exist for ed25519
->>> generate_and_write_ed25519_keypair_with_prompt(filepath='ed25519_key')
-enter password to encrypt private key file '/path/to/ed25519_key'
-(leave empty if key should not be encrypted):
-Confirm:
-
-# Import the ed25519 public key just created . . .
->>> public_ed25519_key = import_ed25519_publickey_from_file('ed25519_key.pub')
-
-# and its corresponding private key.
->>> private_ed25519_key = import_ed25519_privatekey_from_file('ed25519_key')
-enter password to decrypt private key file '/path/to/ed25519_key'
-(leave empty if key should not be encrypted):
-```
-
-Note: Methods are also available to generate and write keys from memory.
-* generate_ed25519_key()
-* generate_ecdsa_key()
-* generate_rsa_key()
-
-* import_ecdsakey_from_pem(pem)
-* import_rsakey_from_pem(pem)
-
-### Create Top-level Metadata ###
-The [metadata document](METADATA.md) outlines the JSON files that must exist
-on a TUF repository.  The following sub-sections demonstrate the
-`repository_tool.py` calls repository maintainers may issue to generate the
-required roles.  The top-level roles to be created are `root`, `timestamp`,
-`snapshot`, and `target`.
-
-We begin with `root`, the locus of trust that specifies the public keys of the
-top-level roles, including itself.
-
-
-#### Create Root ####
-```python
-# Continuing from the previous section . . .
-
-# Create a new Repository object that holds the file path to the TUF repository
-# and the four top-level role objects (Root, Targets, Snapshot, Timestamp).
-# Metadata files are created when repository.writeall() or repository.write()
-# are called.  The repository directory is created if it does not exist.  You
-# may see log messages indicating any directories created.
->>> repository = create_new_repository("repository")
-
-# The Repository instance, 'repository', initially contains top-level Metadata
-# objects.  Add one of the public keys, created in the previous section, to the
-# root role.  Metadata is considered valid if it is signed by the public key's
-# corresponding private key.
->>> repository.root.add_verification_key(public_root_key)
-
-# A role's verification key(s) (to be more precise, the verification key's
-# keyid) may be queried.  Other attributes include: signing_keys, version,
-# signatures, expiration, threshold, and delegations (attribute available only
-# to a Targets role).
->>> repository.root.keys
-['b23514431a53676595922e955c2d547293da4a7917e3ca243a175e72bbf718df']
-
-# Add a second public key to the root role.  Although previously generated and
-# saved to a file, the second public key must be imported before it can added
-# to a role.
->>> public_root_key2 = import_rsa_publickey_from_file("root_key2.pub")
->>> repository.root.add_verification_key(public_root_key2)
-
-# The threshold of each role defaults to 1.   Maintainers may change the
-# threshold value, but repository_tool.py validates thresholds and warns users.
-# Set the threshold of the root role to 2, which means the root metadata file
-# is considered valid if it's signed by at least two valid keys.  We also load
-# the second private key, which hasn't been imported yet.
->>> repository.root.threshold = 2
->>> private_root_key2 = import_rsa_privatekey_from_file("root_key2", password="password")
-
-# Load the root signing keys to the repository, which writeall() or write()
-# (write multiple roles, or a single role, to disk) use to sign the root
-# metadata.
->>> repository.root.load_signing_key(private_root_key)
->>> repository.root.load_signing_key(private_root_key2)
-
-# repository.status() shows missing verification and signing keys for the
-# top-level roles, and whether signatures can be created (also see #955).
-# This output shows that so far only the "root" role meets the key threshold and
-# can successfully sign its metadata.
->>> repository.status()
-'targets' role contains 0 / 1 public keys.
-'snapshot' role contains 0 / 1 public keys.
-'timestamp' role contains 0 / 1 public keys.
-'root' role contains 2 / 2 signatures.
-'targets' role contains 0 / 1 signatures.
-
-# In the next section we update the other top-level roles and create a repository
-# with valid metadata.
-```
-
-#### Create Timestamp, Snapshot, Targets
-Now that `root.json` has been set, the other top-level roles may be created.
-The signing keys added to these roles must correspond to the public keys
-specified by the Root role.
-
-On the client side, `root.json` must always exist.  The other top-level roles,
-created next, are requested by repository clients in (Root -> Timestamp ->
-Snapshot -> Targets) order to ensure required metadata is downloaded in a
-secure manner.
-
-```python
-# Continuing from the previous section . . .
-
-# 'datetime' module needed to optionally set a role's expiration.
->>> import datetime
-
-# Generate keys for the remaining top-level roles.  The root keys have been set above.
->>> generate_and_write_rsa_keypair(password='password', filepath='targets_key')
->>> generate_and_write_rsa_keypair(password='password', filepath='snapshot_key')
->>> generate_and_write_rsa_keypair(password='password', filepath='timestamp_key')
-
-# Add the verification keys of the remaining top-level roles.
-
->>> repository.targets.add_verification_key(import_rsa_publickey_from_file('targets_key.pub'))
->>> repository.snapshot.add_verification_key(import_rsa_publickey_from_file('snapshot_key.pub'))
->>> repository.timestamp.add_verification_key(import_rsa_publickey_from_file('timestamp_key.pub'))
-
-# Import the signing keys of the remaining top-level roles.
->>> private_targets_key = import_rsa_privatekey_from_file('targets_key', password='password')
->>> private_snapshot_key = import_rsa_privatekey_from_file('snapshot_key', password='password')
->>> private_timestamp_key = import_rsa_privatekey_from_file('timestamp_key', password='password')
-
-# Load the signing keys of the remaining roles so that valid signatures are
-# generated when repository.writeall() is called.
->>> repository.targets.load_signing_key(private_targets_key)
->>> repository.snapshot.load_signing_key(private_snapshot_key)
->>> repository.timestamp.load_signing_key(private_timestamp_key)
-
-# Optionally set the expiration date of the timestamp role.  By default, roles
-# are set to expire as follows:  root(1 year), targets(3 months), snapshot(1
-# week), timestamp(1 day).
->>> repository.timestamp.expiration = datetime.datetime(2080, 10, 28, 12, 8)
-
-# Mark roles for metadata update (see #964, #958)
->>> repository.mark_dirty(['root', 'snapshot', 'targets', 'timestamp'])
-
-# Write all metadata to "repository/metadata.staged/"
->>> repository.writeall()
-```
-
-### Targets ###
-TUF makes it possible for clients to validate downloaded target files by
-including a target file's length, hash(es), and filepath in metadata.  The
-filepaths are relative to a `targets/` directory on the software repository.  A
-TUF client can download a target file by first updating the latest copy of
-metadata (and thus available targets), verifying that their length and hashes
-are valid, and saving the target file(s) locally to complete the update
-process.
-
-In this section, the target files intended for clients are added to a
-repository and listed in `targets.json` metadata.
-
-#### Add Target Files ####
-
-The repository maintainer adds target files to roles (e.g., `targets` and
-`unclaimed`) by specifying their filepaths.  The target files must exist at the
-specified filepaths before the repository tool can generate and add their
-(hash(es), length, and filepath) to metadata.
-
-First, the actual target files are manually created and saved to the `targets/`
-directory of the repository:
-
-```Bash
-# Create and save target files to the targets directory of the software
-# repository.
-$ cd repository/targets/
-$ echo 'file1' > file1.txt
-$ echo 'file2' > file2.txt
-$ echo 'file3' > file3.txt
-$ mkdir myproject; echo 'file4' > myproject/file4.txt
-$ cd ../../
-```
-
-With the target files available on the `targets/` directory of the software
-repository, the `add_targets()` method of a Targets role can be called to add
-the target filepaths to metadata.
-
-```python
-# Continuing from the previous section . . .
-
-# NOTE: If you exited the Python interactive interpreter above you need to
-# re-import the repository_tool-functions and re-load the repository and
-# signing keys.
->>> from tuf.repository_tool import *
-
-# The 'os' module is needed to gather file attributes, which will be included
-# in a custom field for some of the target files added to metadata.
->>> import os
-
-# Load the repository created in the previous section.  This repository so far
-# contains metadata for the top-level roles, but no target paths are yet listed
-# in targets metadata.
->>> repository = load_repository('repository')
-
-# Create a list of all targets in the directory.
->>> list_of_targets = ['file1.txt', 'file2.txt', 'file3.txt']
-
-# Add the list of target paths to the metadata of the top-level Targets role.
-# Any target file paths that might already exist are NOT replaced, and
-# add_targets() does not create or move target files on the file system.  Any
-# target paths added to a role must fall under the expected targets directory,
-# otherwise an exception is raised. The targets added to a role should actually
-# exist once writeall() or write() is called, so that the hash and size of
-# these targets can be included in Targets metadata.
->>> repository.targets.add_targets(list_of_targets)
-
-# Individual target files may also be added to roles, including custom data
-# about the target.  In the example below, file permissions of the target
-# (octal number specifying file access for owner, group, others e.g., 0755) is
-# added alongside the default fileinfo.  All target objects in metadata include
-# the target's filepath, hash, and length.
-# Note: target path passed to add_target() method has to be relative
-# to the targets directory or an exception is raised.
->>> target4_filepath = 'myproject/file4.txt'
->>> target4_abspath = os.path.abspath(os.path.join('repository', 'targets', target4_filepath))
->>> octal_file_permissions = oct(os.stat(target4_abspath).st_mode)[4:]
->>> custom_file_permissions = {'file_permissions': octal_file_permissions}
->>> repository.targets.add_target(target4_filepath, custom_file_permissions)
-```
-
-The private keys of roles affected by the changes above must now be imported and
-loaded.  `targets.json` must be signed because a target file was added to its
-metadata.  `snapshot.json` keys must be loaded and its metadata signed because
-`targets.json` has changed.  Similarly, since `snapshot.json` has changed, the
-`timestamp.json` role must also be signed.
-
-```Python
-# Continuing from the previous section . . .
-
-# The private key of the updated targets metadata must be re-loaded before it
-# can be signed and written (Note the load_repository() call above).
->>> private_targets_key = import_rsa_privatekey_from_file('targets_key')
-enter password to decrypt private key file '/path/to/targets_key'
-(leave empty if key not encrypted):
-
->>> repository.targets.load_signing_key(private_targets_key)
-
-# Due to the load_repository() and new versions of metadata, we must also load
-# the private keys of Snapshot and Timestamp to generate a valid set of metadata.
->>> private_snapshot_key = import_rsa_privatekey_from_file('snapshot_key')
-enter password to decrypt private key file '/path/to/snapshot_key'
-(leave empty if key not encrypted):
->>> repository.snapshot.load_signing_key(private_snapshot_key)
-
->>> private_timestamp_key = import_rsa_privatekey_from_file('timestamp_key')
-enter password to decrypt private key file '/path/to/timestamp_key'
-(leave empty if key not encrypted):
->>> repository.timestamp.load_signing_key(private_timestamp_key)
-
-# Mark roles for metadata update (see #964, #958)
->>> repository.mark_dirty(['snapshot', 'targets', 'timestamp'])
-
-# Generate new versions of the modified top-level metadata (targets, snapshot,
-# and timestamp).
->>> repository.writeall()
-```
-
-#### Remove Target Files ####
-
-Target files previously added to roles may also be removed.  Removing a target
-file requires first removing the target from a role and then writing the
-new metadata to disk.
-```python
-# Continuing from the previous section . . .
-
-# Remove a target file listed in the "targets" metadata.  The target file is
-# not actually deleted from the file system.
->>> repository.targets.remove_target('myproject/file4.txt')
-
-# Mark roles for metadata update (see #964, #958)
->>> repository.mark_dirty(['snapshot', 'targets', 'timestamp'])
-
->>> repository.writeall()
-```
-
-#### Excursion: Dump Metadata and Append Signature ####
-
-The following two functions are intended for those that wish to independently
-sign metadata.  Repository maintainers can dump the portion of metadata that is
-normally signed, sign it with an external signing tool, and append the
-signature to already existing metadata.
-
-First, the signable portion of metadata can be generated as follows:
-
-```Python
->>> signable_content = dump_signable_metadata('repository/metadata.staged/timestamp.json')
-```
-
-Then, use a tool like securesystemslib to create a signature over the signable
-portion. *Note, to make the signing key count towards the role's signature
-threshold, it needs to be added to `root.json`, e.g. via
-`repository.timestamp.add_verification_key(key)` (not shown in below snippet).*
-```python
->>> from securesystemslib.formats import encode_canonical
->>> from securesystemslib.keys import create_signature
->>> private_ed25519_key = import_ed25519_privatekey_from_file('ed25519_key')
-enter password to decrypt private key file '/path/to/ed25519_key'
->>> signature = create_signature(
-...     private_ed25519_key, encode_canonical(signable_content).encode())
-```
-
-Finally, append the signature to the metadata
-```Python
->>> append_signature(signature, 'repository/metadata.staged/timestamp.json')
-```
-
-Note that the format of the signature is the format expected in metadata, which
-is a dictionary that contains a KEYID, the signature itself, etc.  See the
-specification and [METADATA.md](METADATA.md) for a detailed example.
-
-### Delegations ###
-All of the target files available on the software repository created so far
-have been added to one role (the top-level Targets role).  However, what if
-multiple developers are responsible for the files of a project?  What if
-responsibility separation is desired?  Performing a delegation, where one role
-delegates trust of some paths to another role, is an option for integrators
-that require additional roles on top of the top-level roles available by
-default.
-
-In the next sub-section, the `unclaimed` role is delegated from the top-level
-`targets` role.  The `targets` role specifies the delegated role's public keys,
-the paths it is trusted to provide, and its role name. <!--
-TODO: Uncomment together with "Revoke Delegated Role" section below
-
-Furthermore, the example
-below demonstrates a nested delegation from `unclaimed` to `django`. Once a
-role has delegated trust to another, the delegated role may independently add
-targets and generate signed metadata.
--->
-
-```python
-# Continuing from the previous section . . .
-
-# Generate a key for a new delegated role named "unclaimed".
->>> generate_and_write_rsa_keypair(password='password', filepath='unclaimed_key', bits=2048)
->>> public_unclaimed_key = import_rsa_publickey_from_file('unclaimed_key.pub')
-
-# Make a delegation (delegate trust of 'myproject/*.txt' files) from "targets"
-# to "unclaimed", where "unclaimed" initially contains zero targets.
->>> repository.targets.delegate('unclaimed', [public_unclaimed_key], ['myproject/*.txt'])
-
-# Thereafter, we can access the delegated role by its name to e.g. add target
-# files, just like we did with the top-level targets role.
->>> repository.targets("unclaimed").add_target("myproject/file4.txt")
-
-# Load the private key of "unclaimed" so that unclaimed's metadata can be
-# signed, and valid metadata created.
->>> private_unclaimed_key = import_rsa_privatekey_from_file('unclaimed_key', password='password')
-
->>> repository.targets("unclaimed").load_signing_key(private_unclaimed_key)
-
-# Mark roles for metadata update (see #964, #958)
->>> repository.mark_dirty(['snapshot', 'targets','timestamp', 'unclaimed'])
-
->>> repository.writeall()
-```
-
-<!--
-TODO: Integrate section with an updated delegation tutorial.
-As it is now, it just messes up the state of the repository, i.e. marks
-"unclaimed" as dirty, although there is nothing new to write.
-
-#### Revoke Delegated Role ####
-```python
-# Continuing from the previous section . . .
-
-# Create a delegated role that will be revoked in the next step...
->>> repository.targets('unclaimed').delegate("django", [public_unclaimed_key], ['bar*.tgz'])
-
-# Revoke "django" and write the metadata of all remaining roles.
->>> repository.targets('unclaimed').revoke("django")
->>> repository.writeall()
-```
--->
-
-
-#### Wrap-up ####
-
-In summary, the five steps a repository maintainer follows to create a TUF
-repository are:
-
-1.  Create a directory for the software repository that holds the TUF metadata and the target files.
-2.  Create top-level roles (`root.json`, `snapshot.json`, `targets.json`, and `timestamp.json`.)
-3.  Add target files to the `targets` role.
-4.  Optionally, create delegated roles to distribute target files.
-5.  Write the changes.
-
-The repository tool saves repository changes to a `metadata.staged` directory.
-Repository maintainers may push finalized changes to the "live" repository by
-copying the staged directory to its destination.
-```Bash
-# Copy the staged metadata directory changes to the live repository.
-$ cp -r "repository/metadata.staged/" "repository/metadata/"
-```
-
-## Consistent Snapshots ##
-The basic TUF repository we have generated above is adequate for repositories
-that have some way of guaranteeing consistency of repository data.  A community
-software repository is one example where consistency of files and metadata can
-become an issue.  Repositories of this kind are continually updated by multiple
-maintainers and software authors uploading their packages, increasing the
-likelihood that a client downloading version X of a release unexpectedly
-requests the target files of a version Y just released.
-
-To guarantee consistency of metadata and target files, a repository may
-optionally support multiple versions of `snapshot.json` simultaneously, where a
-client with version 1 of `snapshot.json` can download `target_file.zip` and
-another client with version 2 of `snapshot.json` can also download a different
-`target_file.zip` (same file name, but different file digest.)  If the
-`consistent_snapshot` parameter of writeall() or write() are `True`, metadata
-and target file names on the file system have their digests prepended (note:
-target file names specified in metadata do not contain digests in their names.)
-
-The repository maintainer is responsible for the duration of multiple versions
-of metadata and target files available on a repository.  Generating consistent
-metadata and target files on the repository is enabled by setting the
-`consistent_snapshot` argument of `writeall()` or `write()` . Note that
-changing the consistent_snapshot setting involves writing a new version of
-root.
-
-<!--
-TODO: Integrate section with an updated consistent snapshot tutorial.
-As it is now, it just messes up the state of the repository, i.e. marks
-"root" as dirty, although all other metadata needs to be re-written with
-<VERSION> prefix and target files need to be re-written with <HASH> prefix in
-their filenames.
-
-```Python
-    # ----- Tutorial Section: Consistent Snapshots
->>> repository.root.load_signing_key(private_root_key)
->>> repository.root.load_signing_key(private_root_key2)
->>> repository.writeall(consistent_snapshot=True)
-```
--->
-
-## Delegate to Hashed Bins ##
-Why use hashed bin delegations?
-
-For software update systems with a large number of target files, delegating to
-hashed bins (a special type of delegated role) might be an easier alternative
-to manually performing the delegations.  How many target files should each
-delegated role contain?  How will these delegations affect the number of
-metadata that clients must additionally download in a typical update?  Hashed
-bin delegations are available to integrators that rather not deal with the
-management of delegated roles and a great number of target files.
-
-A large number of target files may be distributed to multiple hashed bins with
-`delegate_hashed_bins()`.  The metadata files of delegated roles will be nearly
-equal in size (i.e., target file paths are uniformly distributed by calculating
-the target filepath's digest and determining which bin it should reside in.)
-The updater client will use "lazy bin walk" (visit and download the minimum
-metadata required to find a target) to find a target file's hashed bin
-destination.  This method is intended for repositories with a large number of
-target files, a way of easily distributing and managing the metadata that lists
-the targets, and minimizing the number of metadata files (and size) downloaded
-by the client.
-
-The `delegate_hashed_bins()` method has the following form:
-```Python
-delegate_hashed_bins(list_of_targets, keys_of_hashed_bins, number_of_bins)
-```
-
-We next provide a complete example of retrieving target paths to add to hashed
-bins, performing the hashed bin delegations, signing them, and delegating paths
-to some role.
-
-```Python
-# Continuing from the previous section . . .
-
-# Remove 'myproject/file4.txt' from unclaimed role and instead further delegate
-# all targets in myproject/ to hashed bins.
->>> repository.targets('unclaimed').remove_target("myproject/file4.txt")
-
-# Get a list of target paths for the hashed bins.
->>> targets = ['myproject/file4.txt']
-
-# Delegate trust to 32 hashed bin roles. Each role is responsible for the set
-# of target files, determined by the path hash prefix. TUF evenly distributes
-# hexadecimal ranges over the chosen number of bins (see output).
-# To initialize the bins we use one key, which TUF warns us about (see output).
-# However, we can assign separate keys to each bin, with the method used in
-# previous sections, accessing a bin by its hash prefix range name, e.g.:
-# "repository.targets('00-07').add_verification_key('public_00-07_key')".
->>> repository.targets('unclaimed').delegate_hashed_bins(
-...     targets, [public_unclaimed_key], 32)
-Creating hashed bin delegations.
-1 total targets.
-32 hashed bins.
-256 total hash prefixes.
-Each bin ranges over 8 hash prefixes.
-Adding a verification key that has already been used. [repeated 32x]
-
-# The hashed bin roles can also be accessed by iterating the "delegations"
-# property of the delegating role, which we do here to load the signing key.
->>> for delegation in repository.targets('unclaimed').delegations:
-...   delegation.load_signing_key(private_unclaimed_key)
-
-# Mark roles for metadata update (see #964, #958)
->>> repository.mark_dirty(['00-07', '08-0f', '10-17', '18-1f', '20-27', '28-2f',
-...   '30-37', '38-3f', '40-47', '48-4f', '50-57', '58-5f', '60-67', '68-6f',
-...   '70-77', '78-7f', '80-87', '88-8f', '90-97', '98-9f', 'a0-a7', 'a8-af',
-...   'b0-b7', 'b8-bf', 'c0-c7', 'c8-cf', 'd0-d7', 'd8-df', 'e0-e7', 'e8-ef',
-...   'f0-f7', 'f8-ff', 'snapshot', 'timestamp', 'unclaimed'])
-
->>> repository.writeall()
-
-```
-
-## How to Perform an Update ##
-
-The following [repository tool](../tuf/repository_tool.py) function creates a directory
-structure that a client downloading new software using TUF (via
-[tuf/client/updater.py](../tuf/client/updater.py)) expects. The `root.json` metadata file must exist, and
-also the directories that hold the metadata files downloaded from a repository.
-Software updaters integrating TUF may use this directory to store TUF updates
-saved on the client side.
-
-```python
->>> from tuf.repository_tool import *
->>> create_tuf_client_directory("repository/", "client/tufrepo/")
-```
-
-`create_tuf_client_directory()` moves metadata from `repository/metadata` to
-`client/` in this example.  The repository in `repository/` may be the
-repository example created earlier in this document.
-
-## Test TUF Locally ##
-Run the local TUF repository server.
-```Bash
-$ cd "repository/"; python -m SimpleHTTPServer 8001
-```
-
-If running Python 3:
-```Bash
-$ cd "repository/"; python3 -m http.server 8001
-```
-
-We next retrieve targets from the TUF repository and save them to `client/`.
-The `client.py` script is available to download metadata and files from a
-specified repository.  In a different command-line prompt, where `tuf` is
-installed . . .
-```Bash
-$ cd "client/"
-$ ls
-tufrepo/
-
-$ client.py --repo http://localhost:8001 file1.txt
-$ ls . tuftargets/
-.:
-tufrepo  tuftargets
-
-tuftargets/:
-file1.txt
-```
diff --git a/docs/_config.yml b/docs/_config.yml
new file mode 100644
index 0000000000..586bd60b9a
--- /dev/null
+++ b/docs/_config.yml
@@ -0,0 +1,16 @@
+title: Python-TUF
+author: Python-TUF community
+#email: your-email@domain.com
+description: > # for footer and for search engines 
+  Development blog for Python-TUF, a supply chain security framework
+  for secure content delivery and updates.
+
+github_username:  theupdateframework
+
+show_excerpts: true # set to false to remove excerpts on the homepage
+
+header_pages: # make sure ordinary docs are not linked from blog header
+  - index.md
+
+theme: minima
+
diff --git a/docs/_posts/2022-02-21-release-1-0-0.md b/docs/_posts/2022-02-21-release-1-0-0.md
new file mode 100644
index 0000000000..33dbb57860
--- /dev/null
+++ b/docs/_posts/2022-02-21-release-1-0-0.md
@@ -0,0 +1,47 @@
+---
+title: "Python-TUF reaches version 1.0.0"
+author: Jussi Kukkonen and Lukas PÃ¼hringer
+---
+
+The Python-TUF community is proud to announce the release of Python-TUF 1.0.0.
+The release, which is available on [PyPI](https://pypi.org/project/tuf/) and
+[GitHub](https://github.com/theupdateframework/python-tuf/), introduces new
+stable and more ergonomic APIs.
+
+<img align="right" src="../../../tuf-icon-200.png" width="200"/>
+
+Python-TUF is the reference implementation of [The Update
+Framework](https://theupdateframework.io/) specification, an open source
+framework for securing content delivery and updates. It protects against
+various types of supply chain attacks and provides resilience to compromise.
+
+For the past 7 releases the project has introduced new designs and
+implementations, which have gradually formed two new stable APIs:
+- [`ngclient`](https://theupdateframework.readthedocs.io/en/latest/api/tuf.ngclient.html):
+  A client API that offers a robust internal design providing implementation
+  safety and flexibility to application developers.
+- [`Metadata API`](https://theupdateframework.readthedocs.io/en/latest/api/tuf.api.html):
+  A low-level interface for both consuming and creating TUF metadata. Metadata
+  API is a flexible and easy-to-use building block for any higher level tool or
+  library.
+
+Python-TUF 1.0.0 is the result of a comprehensive rewrite of the project,
+removing several hard to maintain modules and replacing them with safer and
+easier to use APIs:
+- The project was reduced from 4700 lines of hard to maintain code to 1400
+  lines of modern, maintainable code
+- The implementation details are now easier to reason about, which should
+  accelerate future improvements on the project
+- Metadata API provides a solid base to build other tools on top of â€“ as proven
+  by the ngclient implementation and the [repository code
+  examples](https://github.com/theupdateframework/python-tuf/tree/develop/examples/repository)
+- Both new APIs are highly extensible and allow application developers to
+  include custom network stacks, file storage systems or public-key
+  cryptography algorithms, while providing easy-to-use default implementations
+
+With this foundation laid, Python-TUF developers are currently planning next
+steps. At the very least, you can expect improved repository side tooling, but
+we're also open to new ideas. Pop in to
+[#tuf](https://cloud-native.slack.com/archives/C8NMD3QJ3) on CNCF Slack or
+[Github issues](https://github.com/theupdateframework/python-tuf/issues/new)
+and letâ€™s talk.
diff --git a/docs/_posts/2022-05-04-ngclient-design.md b/docs/_posts/2022-05-04-ngclient-design.md
new file mode 100644
index 0000000000..73014daf5b
--- /dev/null
+++ b/docs/_posts/2022-05-04-ngclient-design.md
@@ -0,0 +1,46 @@
+---
+title: "What's new in Python-TUF ngclient?"
+author: Jussi Kukkonen
+---
+
+We recently released a new TUF client implementation, `ngclient`, in Python-TUF. This post explains why we ended up doing that when a client already existed.
+
+# Simpler implementation, "correct" abstractions
+
+The legacy code had a few problems that could be summarized as non-optimal abstractions: Significant effort had been put to code reuse, but not enough attention had been paid to ensure the expectations and promises of that shared code were the same in all cases of reuse. This combined with Pythons type ambiguity, use of dictionaries as "blob"-like data structures and extensive use of global state meant touching the shared functions was a gamble: there was no way to be sure something wouldn't break.
+
+During the redesign, we really concentrated on finding abstractions that fit the processes we wanted to implement. It may be worth mentioning that in some cases this meant abstractions that have no equivalent in the TUF specification: some of the issues in the legacy implementation look like the result of mapping the TUF specifications [_Detailed client workflow_](https://theupdateframework.github.io/specification/latest/#detailed-client-workflow) directly into code.
+
+Here are the core abstractions we ended up with (number of lines of code in parenthesis to provide a bit of context, alongside links to sources and docs):
+* `Metadata` (900 SLOC, [docs](https://theupdateframework.readthedocs.io/en/latest/api/tuf.api.html)) handles everything related to individual pieces of TUF metadata: deserialization, signing, and verifying
+* `TrustedMetadataSet` (170 SLOC) is a collection of local, trusted metadata. It defines rules for how new metadata can be added into the set and ensures that metadata in it is always consistent and valid: As an example, if `TrustedMetadataSet` contains a targets metadata, the set guarantees that the targets metadata is signed by trusted keys and is part of a currently valid TUF snapshot
+* `Updater` (250 SLOC, [docs](https://theupdateframework.readthedocs.io/en/latest/api/tuf.ngclient.updater.html)) makes decisions on what metadata should be loaded into `TrustedMetadataSet`, both from the local cache and from a remote repository. While `TrustedMetadataSet` always raises an exception if a metadata is not valid, `Updater` considers the context and handles some failures as a part of the process and some as actual errors. `Updater` also handles persisting validated metadata and targets onto local storage and provides the user-facing API
+* `FetcherInterface` (100 SLOC, [docs](https://theupdateframework.readthedocs.io/en/latest/api/tuf.ngclient.fetcher.html)) is the abstract file downloader. By default, a Requests-based implementation is used but clients can use custom fetchers to tweak how downloads are done
+
+No design is perfect but so far we're quite happy with the above split. It has dramatically simplified the implementation: The code is subjectively easier to understand but also has significantly lower code branching counts for the same operations.
+
+# PyPI client requirements
+
+A year ago we added TUF support into pip as a prototype: this revealed some design issues that made the integration more difficult than it needed to be. As the potential pip integration is a goal for Python-TUF we wanted to smooth those rough edges.
+
+The main addition here was the `FetcherInterface`: it allows pip to keep doing all of the HTTP tweaks they have collected over the years.
+
+There were a bunch of smaller API tweaks as well: as an example, legacy Python-TUF had not anticipated downloading target files from a different host than it downloads metadata from. This is the design that PyPI uses with pypi.org and files.pythonhosted.org.
+
+# better API
+
+Since we knew we had to break API with the legacy implementation anyway, we also fixed multiple paper cuts in the API:
+ * Actual data structures are now exposed instead of dictionary "blobs"
+ * Configuration was removed or made non-global
+ * Exceptions are defined in a way that is useful to client applications
+ 
+# Plain old software engineering
+
+In addition to the big-ticket items, the rewrite allowed loads of improvements in project engineering practices. Some highlights:
+* Type annotations are now used extensively
+* Coding style is now consistent (and is now a common Python style)
+* There is a healthy culture of review in the project: bar for accepting changes is where it should be for a security project
+* Testing has so many improvements they probably need a blog post of their own
+
+These are not `ngclient` features as such but we expect they will show in the quality of products built with it.
+
diff --git a/docs/_posts/2022-06-15-testing-ngclient.md b/docs/_posts/2022-06-15-testing-ngclient.md
new file mode 100644
index 0000000000..ada4d7b73d
--- /dev/null
+++ b/docs/_posts/2022-06-15-testing-ngclient.md
@@ -0,0 +1,120 @@
+---
+title: "Testing Tricky Edge Cases in a TUF Client"
+author: Ivana Atanasova
+---
+
+Usually the TUF Specification creates an impression of simple and straightforward approach to address software update systems security gaps. In the next few paragraphs we'll try to convince you that the devil is in the details.
+
+With the [v1.0.0 release](https://blogs.vmware.com/opensource/2022/02/22/python-tuf-reaches-version-1-0-0/) we can say that the current reference implementation is finally in a good place, although it wouldnâ€™t be so trustworthy without all the awesome test functionality it provides. Therein lies some interesting surprises, for the conformance tests reflect use cases and tricky details that wouldnâ€™t easily come to mind. TUF, in fact, is capable of managing some tricky business!
+
+Before looking into them, letâ€™s first introduce the test functionality itself.
+
+## Some repository simulator magic
+
+The test suite is heavily based on [RepositorySimulator](https://github.com/theupdateframework/python-tuf/blob/develop/tests/repository_simulator.py), which allows you to play with repository metadata by modifying it, signing and storing new roles versions, while serving older ones in the client test code. You can also simulate downloading new metadata from a remote without the need of file access or network connections, and modify expiry dates and time.
+
+Even though `RepositorySimulator` hosts repos purely in memory, you can supply the `--dump` flag to write its contents to a temporary directory on the local filesystem with "/metadata/..." and "/targets/..." URL paths that host metadata and targets respectively in order to audit the metadata. The test suite provides you with the ability to see the "live" test repository state for debugging purposes.
+
+Letâ€™s cite a specific example with testing expired metadata to demonstrate the cool thing the `RepositorySimulator` provides, i.e. the capability to simulate real repository chains of updates as suggested by the spec, and not just modify individual metadata.
+
+More specifically, we would like to simulate a workflow in which a [targets](https://theupdateframework.github.io/specification/latest/#targets) version is being increased and a [timestamp](https://theupdateframework.github.io/specification/latest/#timestamp) expiry date is being changed. We are going to elaborate below on how this can be used to test the `Updater` above all programmatically. Now, let's just focus on how to verify that the `RepositorySimulator` did what we expected.
+
+Let's assume we did the following:
+* Upgraded `targets` to v2
+* Changed `timestamp` v2 expiry date
+
+We can verify that the metadata looks as expected, without the need to implement file access.
+
+First, we need to find the corresponding temporary directory:
+```
+$ python3 test_updater_top_level_update.py TestRefresh.test_expired_metadata --dump
+Repository Simulator dumps in /var/folders/pr/b0xyysh907s7mvs3wxv7vvb80000gp/T/tmpzvr5xah_
+```
+
+Once we know it, we can verify that the metadata has 2 cached versions:
+
+```
+$ tree /var/folders/pr/b0xyysh907s7mvs3wxv7vvb80000gp/T/tmpzvr5xah_/test_expired_metadata
+/var/folders/pr/b0xyysh907s7mvs3wxv7vvb80000gp/T/tmpzvr5xah_/test_expired_metadata
+â”œâ”€â”€ 1
+â”‚Â Â  â”œâ”€â”€ 1.root.json
+â”‚Â Â  â”œâ”€â”€ snapshot.json
+â”‚Â Â  â”œâ”€â”€ targets.json
+â”‚Â Â  â””â”€â”€ timestamp.json
+â””â”€â”€ 2
+    â”œâ”€â”€ 2.root.json
+    â”œâ”€â”€ snapshot.json
+    â”œâ”€â”€ targets.json
+    â””â”€â”€ timestamp.json
+```
+
+And now we can also see that after bumping the version and moving timestamp v2 expiry date two weeks forward from v1, the v2 corresponding timestamp metadata has recorded that expiry date correctly:
+
+Timestamp v1:
+<pre><code>$ cat /var/folders/pr/b0xyysh907s7mvs3wxv7vvb80000gp/T/tmpzvr5xah_/test_expired_metadata/1/timestamp.json 
+{
+ "signatures": [{...}],
+ "signed": {
+  "_type": "timestamp",
+  <b>"expires": "2022-03-30T00:18:31Z"</b>,
+  "meta": { "snapshot.json": {"version": 1}},
+  "spec_version": "1.0.28",
+  "version": 1
+ }}
+</code></pre>
+
+Timestamp v2:
+
+<pre><code>$ cat /var/folders/pr/b0xyysh907s7mvs3wxv7vvb80000gp/T/tmpzvr5xah_/test_expired_metadata/2/timestamp.json 
+{
+ "signatures": [{...}],
+ "signed": {
+  "_type": "timestamp",
+  <b>"expires": "2022-04-13T00:18:31Z"</b>,
+  "meta": { "snapshot.json": {"version": 2}},
+  "spec_version": "1.0.28",
+  "version": 2
+ }}
+</code></pre>
+
+As you can see, the first date is 30 Mar and the second - 13 Apr, which is exactly 14 days later. This is a great way to observe what the tests really do and check if they do it successfully.
+
+## When we talk about security, edge cases are the norm
+
+Now, letâ€™s take a closer look at two edge cases, using in this test the cool things the RepositorySimulator provides:
+
+### Example with expired metadata:
+
+Imagine that we have performed an update and stored metadata in a cache. And the locally stored timestamp/snapshot has expired. But we still need it to perform an update from remote by verifying the signatures and we need to use the expired timestamp.
+
+We can play with versions and expiry to verify that this scenario not explicitly mentioned in the spec works correctly and safely. By using the simulator, we can do the following:
+1. Set the timestamp expiry one week ahead (to day 7)
+2. On the very first day (day 0) download, verify, and load metadata for the [top-level roles](https://theupdateframework.github.io/specification/latest/#roles-and-pki) following the TUF specification order. This is done by simply calling `updater.refresh()`.
+3. Then we bump [snapshot](https://theupdateframework.github.io/specification/latest/#update-snapshot) and [targets](https://theupdateframework.github.io/specification/latest/#targets) versions to v2 in the repository on the same day (day 0)
+4. Set v2 expiry dates three weeks ahead (to day 21)
+5. Travel in time somewhere between day 7 and day 21
+6. Perform a successful `refresh` (with `updater.refresh()` call) with the expired locally cached timestamp
+7. Check that the final repository version of the snapshot and targets roles is v2.
+
+This is a not so obvious use-case to keep in mind when thinking about updates. You can see how it looks in practice in the [reference implementation](https://github.com/theupdateframework/python-tuf/blob/develop/tests/test_updater_top_level_update.py#:~:text=test_expired_metadata).
+
+### Example rollback protection check with expired metadata:
+
+Now letâ€™s see if a rollback attack protection can be performed when the local timestamp has expired. In this case we need at least two timestamp and snapshot versions, an expired older version of timestamp, and a verification that a rollback check is performed with the old version.
+
+For a timestamp rollback, the case is pretty similar to the use of expired metadata. We can do the following:
+1. Set timestamp v1 expiry one week ahead (to day 7)
+2. Perform `updater.refresh()` on the very first day
+3. Publish timestamp v2 in the repository with expiry three weeks ahead (to day 21)
+4. Perform `updater.refresh()` somewhere between day 7 and day 21
+5. Verify that rollback check uses the expired timestamp v1. (For reference, see the implementation [example](https://github.com/theupdateframework/python-tuf/blob/develop/tests/test_updater_top_level_update.py#:~:text=test_expired_timestamp_version_rollback)).
+
+A similar approach can be used when testing both timestamp and snapshot rollback protection. We just need to guarantee that after the last snapshot update, the snapshot version is not the latest in order to verify a rollback check is performed both with expired timestamp and an older snapshot. Sounds complicated, but itâ€™s pretty easy with the simulator and [this example](https://github.com/theupdateframework/python-tuf/blob/develop/tests/test_updater_top_level_update.py#:~:text=test_expired_timestamp_snapshot_rollback) illustrates it pretty well. 
+
+
+## The devil is in the details
+
+One of the great things about a reference implementation is that one can learn a lot about the TUF specification by looking at the tests, which are full of examples that would hardly come to mind when you read the abstract straightforward workflow explained in the spec. And those tests most likely do not cover everythingâ€¦ 
+
+Do you have a comment about the TUF spec or the cited examples? An idea? Please share it with us!
+
diff --git a/docs/_posts/2022-10-21-python-tuf-security-assessment.md b/docs/_posts/2022-10-21-python-tuf-security-assessment.md
new file mode 100644
index 0000000000..b22bbffa63
--- /dev/null
+++ b/docs/_posts/2022-10-21-python-tuf-security-assessment.md
@@ -0,0 +1,103 @@
+---
+title: "Python-tuf source code audit"
+author: Joshua Lock
+---
+
+We are pleased to announce completion of a source code audit of the recently
+refactored python-tuf codebase.
+
+# Background
+
+In February 2022 the python-tuf team [released version 1.0](
+    https://theupdateframework.github.io/python-tuf/2022/02/21/release-1-0-0.html
+). This release was the product of a significant refactoring effort with the
+code being rewritten from scratch to provide two new stable APIâ€™s:
+* A low-level interface for creating and consuming TUF metadata
+* A robust and pluggable client implementation
+
+Unifying both of these APIs is a focus on developer ergonomics and flexibility
+of the API.
+
+While the new python-tuf codebase is much leaner, a mere 1,400 lines of code at
+release, compared to the legacy codeâ€™s 4,700 lines, and builds on the lessons
+learned from development (and developers) on the prior versions of python-tuf,
+we were very conscious of the fact that our first major release of a security
+project was made up of newly authored code.
+
+To improve our confidence in this newly authored code we engaged with the Open
+Source Technology Improvement Fund (OSTIF) to have an independent security
+assessment of the new python-tuf code. OSTIF connected us with the team at X41
+D-Sec who performed a thorough source code audit, the results of which we are
+releasing today.
+
+# Results and resolutions
+
+The report prepared by X41 included one medium severity and three low severity
+issues, we describe below how we are addressing each of those reported items.
+
+**Private Key World-Readable (TUF-CR-22-01) â€“ Medium**
+
+This vulnerability is not in any code called by python-tuf, but was included in
+demonstrative code the python-tuf team provided to the X41 team. The underlying
+issue is in 
+[securesystemslib](https://github.com/secure-systems-lab/securesystemslib), a
+utility library used by python-tuf which provides a consistent interface around
+various cryptography APIs and related functionality, where any files were
+created with the default permissions of the running process.
+
+We resolved this issue by [adding an optional restrict parameter](
+    https://github.com/secure-systems-lab/securesystemslib/pull/231/files)
+to the `storage.put()` interface and in the corresponding filesystem
+implementation of the interface ensuring that when `restrict=True` files are
+created with octal permissions `0o600` (read and write for the user only).
+
+This enhancement has been included in the recent release of 
+[securesystemslib 0.25.0](
+    https://github.com/secure-systems-lab/securesystemslib/releases/tag/v0.25.0
+).
+
+**Shallow Build Artifact Verification (TUF-CR-22-02) â€“ Low**
+
+The `verify_release` script, run by python-tuf developers as part of the
+release process and available to users to verify that a release on GitHub or
+PyPI matches a build of source code from the repository, was only performing
+a shallow comparison of files. That is, only the type, size, and modification
+times were compared. We have [modified the script](
+    https://github.com/theupdateframework/python-tuf/pull/2122/files
+) to perform a deep comparison of the contents and attributes of files being
+verified.
+
+**Quadratic Complexity in JSON Number Parsing (TUF-CR-22-03) â€“ Low**
+
+This issue was not in python-tuf itself, rather the problem was in Pythonâ€™s
+built-in json module.
+
+Fortunately, we did not need to take any action for this issue as it was
+independently reported upstream and has been fixed in Python. Find more details
+in [CVE-2020-10735: Prevent DoS by large int<->str conversions](
+    https://github.com/python/cpython/issues/95778) on Pythonâ€™s issue tracker.
+
+**Release Signatures Add No Protection (TUF-CR-22-04) â€“ Low**
+
+python-tuf releases are built by GitHub Actions in response to a developer
+pushing a tag. However, before those releases are published to the projectâ€™s
+GitHub releases page and PyPI a developer must verify (using the
+`verify_release` script discussed earlier) and approve the release. Part of the
+approval includes creating a detached signature and including that in the
+release artifacts. While these do not add any additional protection, we do
+believe that the additional authenticity signal is worthwhile to users.
+
+Furthermore, along with the above notice and the recommendations in the
+informational notes we will continue to iterate on our build and release
+process to provide additional security for users of python-tuf.
+
+# Thank you
+
+We are extremely grateful to X41 for their thorough audit of the python-tuf
+code, to [Open Source Technology Improvement Fund](https://ostif.org) (OSTIF)
+for connecting us with the [X41 D-Sec, GMBH](https://x41-dsec.de) team, and to
+the [Cloud Native Computing Foundation](https://www.cncf.io) (CNCF) for funding
+the source code audit â€“ thank you all.
+
+Read the full report here: [Source Code Audit on The Update Framework for Open Source Technology Improvement Fund (OSTIF)](
+    https://theupdateframework.io/audits/x41-python-tuf-audit-2022-09-09.pdf).
diff --git a/docs/_posts/2023-01-24-securesystemslib-signer-api.md b/docs/_posts/2023-01-24-securesystemslib-signer-api.md
new file mode 100644
index 0000000000..ed213df7b3
--- /dev/null
+++ b/docs/_posts/2023-01-24-securesystemslib-signer-api.md
@@ -0,0 +1,90 @@
+---
+title: New signing API
+author: Jussi Kukkonen
+---
+
+> Things should be made as simple as possible â€“ but no simpler.
+>
+> _- sometimes attributed to Einstein_
+
+I believe the rule of thumb above stands on its own merit when it comes to software systems so the credibility of the attribution is not important (it's also possible that we should not take software design advice from a physicist).
+
+This post is about the PKI signing API provided by [Securesystemslib](https://github.com/secure-systems-lab/securesystemslib/) and used by applications built with python-tuf. It's an example of how keeping a thing too simple can actually make it more complex.
+
+## The problem with private keys
+
+ The original `securesystemslib.keys` module is based on the assumption that there are three distinct steps in the lifetime of a private-public keypair in a system like a TUF repository:
+1. Generate private and public key
+1. Sign with private key
+1. Verify signature with public key
+
+This all seems logical on paper but in practice implementing signing for different underlying technologies (like online key vaults and Yubikeys) forces the API surface to grow linearly, and still requires the applications to also be aware of all the different signing technologies and their configuration. It was clear that something was wrong.
+
+## New signer module
+
+In reality there are four distinct events during the lifetime of a signing key. All of these steps can happen on different systems, with different operators and different access to the underlying signing system:
+1. Generate private and public keys â€“ _This may happen in securesystemslib but also in an online key vault configuration UI or the Yubikey command line tool_
+1. Store the public key _and the information needed to access the private key_
+1. Sign using the information stored in step 2
+1. Verify signature with public key
+
+Securesystemslib 0.26 introduces an improved signer API that recognizes this process complexity â€“ and in turn makes managing and signing with keys simpler in practical application development. There are three main changes, all in the `securesystemslib.signer` module that defines Signer and Key classes:
+* The concept of **Private key URIs** is introduced â€“ this is a relatively simple string that identifies a signing technology and encodes how to access and sign with a specific private key. Examples:
+  - `gcpkms:projects/python-tuf-kms/locations/global/keyRings/git-repo-demo/cryptoKeys/online/cryptoKeyVersions/1` (A Google Cloud KMS key)
+  - `file:/home/jku/keys/mykey?encrypted=true` (A key in an encrypted file)
+  - `hsm:` (A hardware security module like Yubikey)
+* **Importing** public keys and constructing private key URIs is handled by Signers (there's no generic API though: this detail is specific to signing technology)
+* **Dynamic dispatch** is added for both Signers and Keys (former based on the private key URI, latter on the key content): As a result application code does not need to care about the specific technology used to sign/verify but securesystemslib can still support a wide array of signing methods -- and this support can even be extended with out-of-tree implementations.
+
+## Code examples
+
+These examples are slightly simplified copies from my latest repository implementation and should represent any new application code using the python-tuf Metadata API in the future[^1]. Some things to note in these examples:
+* Application code that signs does not care what signing technology is used
+* Public key import (and related private key URI construction) is specific to the underlying signing technology
+* Private key URIs can be stored wherever makes sense for the specific application
+
+### Example 1: Online key in a KMS
+
+Hereâ€™s an example where the private key URI is stored in a custom field in the metadata (this makes sense for online keys). First, the setup code that imports a key from Google Cloud KMS â€“ this code runs in a repository maintainer tool:
+
+```python
+def import_google_cloud_key() -> Key
+    gcp_key_id = input("Please enter the Google Cloud KMS key id")
+    uri, key = GCPSigner.import_(gcp_key_id)
+    # embed the uri in the public key metadata
+    key.unrecognized_fields["x-online-uri"] = uri
+    return key
+```
+
+Then signing with the same key â€“ this code runs in the online repository component and only needs the public key as an argument since we embedded the private key URI in the public key metadata. It does require the `cloudkms.signer` role permissions on Google Cloud though:
+
+```python
+def sign_online(self, md: Metadata, key: Key) -> None:
+     uri = key.unrecognized_fields["x-online-uri"]
+     signer = Signer.from_priv_key_uri(uri, key)
+     md.sign(signer)
+```
+
+### Example 2: Maintainer key on a Yubikey
+
+This time we're importing the maintainers Yubikey:
+
+```python
+def import_yubikey(config: ConfigParser) -> Key
+    input("Insert your HW key and press enter")
+    uri, key = HSMSigner.import_()
+    # store the uri in application configuration
+    config["keyring"][key.keyid] = uri
+    return key
+```
+
+Later we sign with the Yubikey:
+
+```python
+def sign_local(md: Metadata, key: Key, config: ConfigParser) -> None:
+     uri = config["keyring"][key.keyid]
+     signer = Signer.from_priv_key_uri(uri, key)
+     md.sign(signer)
+```
+
+[^1]: The new signer API is not used in python-tuf quite yet: follow Pull Request [#2165](https://github.com/theupdateframework/python-tuf/pull/2165) to see when the support is merged.
\ No newline at end of file
diff --git a/docs/adr/0000-use-markdown-architectural-decision-records.md b/docs/adr/0000-use-markdown-architectural-decision-records.md
index 44c4027b47..c9f4dba79c 100644
--- a/docs/adr/0000-use-markdown-architectural-decision-records.md
+++ b/docs/adr/0000-use-markdown-architectural-decision-records.md
@@ -3,7 +3,7 @@
 * Status: accepted
 * Date: 2020-10-20
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1141
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1141
 
 ## Context and Problem Statement
 
diff --git a/docs/adr/0001-python-version-3-6-plus.md b/docs/adr/0001-python-version-3-6-plus.md
index 4ce8b54b8c..9ee1bbd64f 100644
--- a/docs/adr/0001-python-version-3-6-plus.md
+++ b/docs/adr/0001-python-version-3-6-plus.md
@@ -3,7 +3,7 @@
 * Status: accepted
 * Date: 2020-10-20
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1125
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1125
 
 ## Context and Problem Statement
 
@@ -44,5 +44,5 @@ untenable as more libraries are dropping support for EOL Python releases.
 
 ## Links
 
-* [Discussion of how/where to develop the refactored codebase](https://github.com/theupdateframework/tuf/issues/1126)
-* [Discussion of deprecation policy for the pre-1.0, Python 2.7 supporting, code](https://github.com/theupdateframework/tuf/issues/1127)
+* [Discussion of how/where to develop the refactored codebase](https://github.com/theupdateframework/python-tuf/issues/1126)
+* [Discussion of deprecation policy for the pre-1.0, Python 2.7 supporting, code](https://github.com/theupdateframework/python-tuf/issues/1127)
diff --git a/docs/adr/0002-pre-1-0-deprecation-strategy.md b/docs/adr/0002-pre-1-0-deprecation-strategy.md
index d184661ede..d549140b12 100644
--- a/docs/adr/0002-pre-1-0-deprecation-strategy.md
+++ b/docs/adr/0002-pre-1-0-deprecation-strategy.md
@@ -2,7 +2,7 @@
 
 * Date: 2020-11-05
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1127
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1127
 
 ## Context and Problem Statement
 
diff --git a/docs/adr/0003-where-to-develop-TUF-1-0-0.md b/docs/adr/0003-where-to-develop-TUF-1-0-0.md
index 7320a0e020..58722a9835 100644
--- a/docs/adr/0003-where-to-develop-TUF-1-0-0.md
+++ b/docs/adr/0003-where-to-develop-TUF-1-0-0.md
@@ -3,7 +3,7 @@
 * Status: accepted
 * Date: 2020-11-23
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1126
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1126
 
 ## Context and Problem Statement
 
@@ -61,5 +61,5 @@ old code unlike option 3.
 
 ## Links
 
-* [Discussion of Python version support in TUF 1.0.0](https://github.com/theupdateframework/tuf/issues/1125)
-* [Discussion of deprecation policy for the pre-1.0, Python 2.7 supporting, code](https://github.com/theupdateframework/tuf/issues/1127)
+* [Discussion of Python version support in TUF 1.0.0](https://github.com/theupdateframework/python-tuf/issues/1125)
+* [Discussion of deprecation policy for the pre-1.0, Python 2.7 supporting, code](https://github.com/theupdateframework/python-tuf/issues/1127)
diff --git a/docs/adr/0004-extent-of-OOP-in-metadata-model.md b/docs/adr/0004-extent-of-OOP-in-metadata-model.md
index ccbd40b59c..ac2b159131 100644
--- a/docs/adr/0004-extent-of-OOP-in-metadata-model.md
+++ b/docs/adr/0004-extent-of-OOP-in-metadata-model.md
@@ -3,7 +3,7 @@
 * Status: accepted
 * Date: 2020-11-30
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1133
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1133
 
 ## Context and Problem Statement
 Custom classes for the TUF signed metadata wrapper (Metadata) and metadata
@@ -41,8 +41,8 @@ checks.
 
 ## Links
 
-* [class model](https://github.com/theupdateframework/tuf/pull/1112)
-* [class model (root)](https://github.com/theupdateframework/tuf/pull/1193)
-* [WIP: class model (complex attributes)](https://github.com/theupdateframework/tuf/pull/1223)
-* [new TUF validation guidelines](https://github.com/theupdateframework/tuf/issues/1130)
+* [class model](https://github.com/theupdateframework/python-tuf/pull/1112)
+* [class model (root)](https://github.com/theupdateframework/python-tuf/pull/1193)
+* [WIP: class model (complex attributes)](https://github.com/theupdateframework/python-tuf/pull/1223)
+* [new TUF validation guidelines](https://github.com/theupdateframework/python-tuf/issues/1130)
 * [securesystemslib schema checker issues](https://github.com/secure-systems-lab/securesystemslib/issues/183)
diff --git a/docs/adr/0005-use-google-python-style-guide.md b/docs/adr/0005-use-google-python-style-guide.md
index 8dfa278ab4..fa78edf291 100644
--- a/docs/adr/0005-use-google-python-style-guide.md
+++ b/docs/adr/0005-use-google-python-style-guide.md
@@ -1,6 +1,6 @@
 # Use Google Python style guide with minimal refinements
 
-Technical Story: https://github.com/theupdateframework/tuf/issues/1128
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1128
 
 ## Context and Problem Statement
 
diff --git a/docs/adr/0006-where-to-implemenent-model-serialization.md b/docs/adr/0006-where-to-implemenent-model-serialization.md
new file mode 100644
index 0000000000..fc142fd6ab
--- /dev/null
+++ b/docs/adr/0006-where-to-implemenent-model-serialization.md
@@ -0,0 +1,116 @@
+# Separate metadata serialization from metadata class model but keep helpers
+
+Technical Story: https://github.com/theupdateframework/python-tuf/pull/1279
+
+## Context and Problem Statement
+In the course of implementing a class-based role metadata model we have also
+reviewed options on how to design serialization infrastructure between wire
+formats and the class model. In an initial attempt we have implemented
+serialization on the metadata class (see option 1), but issues with inheritance
+and calls for more flexibility have caused us to rethink this approach.
+
+## Decision Drivers
+* A class-based role metadata model (see ADR4) requires serialization routines
+  from and to wire formats
+* TUF integrators may require custom serialization implementations for custom
+  wire formats
+* Readability and simplicity of implementation for users and maintainers
+* Recognizability of specification
+
+## Considered Options
+1. Serialization in metadata classes
+2. Serialization in metadata subclasses
+3. Serialization separated from metadata classes
+4. Compromise 1: Default serialization methods in metadata classes /
+   non-default serialization separated
+5. Compromise 2: Serialization separated / dict conversion helper methods for
+   default serialization in metadata classes
+
+## Decision Outcome
+Chosen option: "Compromise 2", because implementing dict conversion as methods
+on a corresponding class is idiomatic and allows for well-structured code.
+Together with a separated serialization interface, it provides both ease of use
+and maintenance, and full flexibility with regards to custom serialization
+implementations and wire formats.
+
+## Pros and Cons of the Options
+
+### Option 1: Serialization in metadata classes
+
+Serialization is implemented on metadata classes, e.g.
+`Metadata.serialize_as_json()`, etc.
+
+* Good, because serialization for any object is encapsulated within the
+  corresponding class and thus structured in small code chunks, using the
+  already existing hierarchical class model structure.
+* Good, because the TUF specification is heavily based on json, even if only
+  for illustrative purposes, thus this option facilitates recognizability.
+* Bad, because it might suggest that TUF is limited to json alone.
+* Bad, because it does not facilitate custom serialization implementations.
+* Bad, because it can get complicated with inheritance in the class model.
+  *NOTE: a workaround exists in #1279.*
+
+### Option 2: Serialization in metadata subclasses
+Serialization is implemented on metadata subclasses, e.g.
+`JsonMetadata.serialize()`, etc.
+
+* Good, because the wire format is decoupled from the base classes, not giving
+  the impression that TUF is limited to json, and facilitating custom
+  implementations.
+* Bad, because a user needs to decide on serialization ahead of time, when
+  instantiating the metadata objects.
+* Bad, because the metadata model has many classes, which would all need to be
+  subclassed accordingly.
+
+### Option 3: Serialization separated from metadata classes
+Serialization is implemented independently of the metadata class, e.g. by
+defining an abstract `Serializer` interface, which must be implemented in
+subclasses, e.g. `JsonSerializer`, etc.
+
+* Good, because the wire format is completely decoupled from the class model,
+  not giving the impression that TUF is limited to json, and facilitating
+  custom implementations.
+* Good, because it can serve as exact blueprint for custom implementations.
+* Bad, because a decoupled serialization implementation needs to "re-implement"
+  the entire class hierarchy, likely in a procedural manner.
+
+### Option 4: Compromise 1
+Default json serialization is implemented on the metadata class as described in
+(1), but can be overridden using an independent `Serializer` interface as
+described in (3).
+
+* Good, for the reasons outlined in options (1) and (3), i.e. encapsulation
+  within classes but decoupled class model and wire format.
+* Bad, because it creates two different code paths for default and non-default
+  wire formats making the code more complex and prone to deteriorate,
+  especially on the non-default path.
+* Bad, because the on-the-class default implementation can not be used as
+  blueprint for custom implementations.
+
+### Option 5: Compromise 2
+Serialization is implemented independently of the metadata class as described
+in (3). However, the *meat* of the default `JsonSerializer`, i.e. conversion
+between metadata objects and dicts, is implemented on the metadata class, e.g.
+as `Metadata.to_dict()`, etc.
+
+* Good, for the reasons outlined in options (1) and (3), i.e. encapsulation
+  within classes but decoupled class model and wire format, without the
+  disadvantage in (4) of having two completely different code paths.
+* Good, because it makes the separate default serializer a minimal wrapper
+  around the dict conversion methods.
+* Good, because other serialization implementations might also make use of dict
+  conversion methods.
+* Good, because conversion between class objects and dicts is akin to type
+  casting, which is idiomatic to implement on the class.
+* Bad, because the on-the-class default implementation can not be used as
+  blueprint for custom implementations.
+
+## Links
+* [ADR4: Add classes for complex metadata attributes (decision driver)](/Users/lukp/tuf/tuf/docs/adr/0004-extent-of-OOP-in-metadata-model.md)
+* [PR: Add simple TUF role metadata model (implements option 1)](https://github.com/theupdateframework/python-tuf/pull/1112)
+  - [details about separation of serialization and instantiation](https://github.com/theupdateframework/python-tuf/commit/f63dce6dddb9cfbf8986141340c6fac00a36d46e)
+  - [code comment about issues with inheritance](https://github.com/theupdateframework/python-tuf/blob/9401059101b08a18abc5e3be4d60e18670693f62/tuf/api/metadata.py#L297-L306)
+* [PR: New metadata API: add MetadataInfo and TargetFile classes (recent ADR discussion impetus)](https://github.com/theupdateframework/python-tuf/pull/1223)
+  - [more discussion about issues with inheritance](https://github.com/theupdateframework/python-tuf/pull/1223#issuecomment-737188686)
+* [SSLIB/Issue: Add metadata container classes (comparison of options 1 and 2)](https://github.com/secure-systems-lab/securesystemslib/issues/272)
+* [tuf-on-a-plane parser (implements option 3)](https://github.com/trishankatdatadog/tuf-on-a-plane/blob/master/src/tuf_on_a_plane/parsers/)
diff --git a/docs/adr/0008-accept-unrecognised-fields.md b/docs/adr/0008-accept-unrecognised-fields.md
new file mode 100644
index 0000000000..7d4b4a8a0e
--- /dev/null
+++ b/docs/adr/0008-accept-unrecognised-fields.md
@@ -0,0 +1,58 @@
+#  Accept metadata that includes unrecognized fields
+
+- Status: accepted
+- Date: 2021-04-08
+
+Technical Story: https://github.com/theupdateframework/python-tuf/issues/1266
+
+## Context and Problem Statement
+
+The current reference implementation will ignore unrecognized fields in a
+metadata file when loading it.
+This leads to the side effect that if you read a metadata file with unrecognized
+fields and immediately write it back to the disk, this file will be modified.
+
+Furthermore, some TAPs like:
+- [TAP 6](https://github.com/theupdateframework/taps/blob/master/tap6.md)
+- [TAP 10](https://github.com/theupdateframework/taps/blob/master/tap10.md)
+- [TAP 14](https://github.com/theupdateframework/taps/blob/master/tap14.md)
+- [TAP 15](https://github.com/theupdateframework/taps/blob/master/tap15.md)
+- [TAP 16](https://github.com/theupdateframework/taps/blob/master/tap16.md)
+
+are relying on that unrecognized fields will be accepted to introduce new fields
+to the specification without making the metadata invalid for older clients who
+don't recognize the field.
+
+## Decision Drivers
+- The TUF specification implies support for unrecognized attribute-value fields,
+see [Document formats](https://theupdateframework.github.io/specification/latest/#document-formats)
+- If we perform the following operations on a metadata file with no
+intermediate operations:
+1. read the metadata file
+2. write the metadata file back to the disk
+
+then, the checksum (the content) of the file must not be changed.
+- Flexibility to add new fields in the spec without adding breaking changes.
+- Don't store unrecognized fields when it is not allowed by the specification.
+
+## Considered Options
+- Ignore and drop unrecognized fields.
+- Ignore, but store unrecognized fields as an additional attribute.
+- Ignore, but store unrecognized fields as an additional attribute
+except for a couple of places where it's not allowed by the specification.
+
+## Decision Outcome
+
+Chosen option: "Ignore, but store unrecognized fields as an additional attribute
+except for a couple of places where it's not allowed by the specification."
+The motivation for this decision is that the TUF specification already implies
+that we should accept unrecognized fields for backward compatibility and easier
+future extensibility.
+
+Additionally, it seems unacceptable to change a metadata file content just by
+reading and writing it back.
+
+There are exceptions however for places in the metadata format when it is not
+allowed by specification: keys, roles, meta, hashes, and targets are
+actual dictionaries (vs JSON objects that most structures in the format are)
+where `unrecognized field` is not a meaningful concept.
diff --git a/docs/adr/0009-what-is-a-reference-implementation.md b/docs/adr/0009-what-is-a-reference-implementation.md
new file mode 100644
index 0000000000..bc7c028b07
--- /dev/null
+++ b/docs/adr/0009-what-is-a-reference-implementation.md
@@ -0,0 +1,64 @@
+# Primary purpose of the reference implementation
+
+* Status: accepted
+* Date: 2021-08-25
+
+## Context and Problem Statement
+
+The original goal for the reference implementation refactor was to provide an
+implementation which is both an aid to understanding the specification and a
+good architecture for other implementations to mimic.
+
+During refactoring efforts on the metadata API and ngclient, several friction
+points have arisen where a safe object-oriented API would result in a less
+direct mapping to the [Document formats] in the specification.
+
+The archetypal example friction point is that [Timestamp] lists snapshot _only_
+in a `meta` dictionary of `METAPATH` -> attribute fields. The dictionary will
+only ever contain one value and creates an extra level of indirection for
+implementations which try to map to the file format.
+
+When presented with such cases, we have considered multiple options:
+* Strict mapping to the [Document formats]
+* Simple and safe API in preference to mapping to the [Document formats]
+* Strict mapping to the [Document formats] with additional convenience API
+  which is documented as the preferred interface for users
+
+So far implementation has tended towards the final option, but this is
+unsatisfying because:
+* the API contains traps for the unsuspecting users
+* two code paths to achieve the same goal is likely to result in inconsistent
+  behaviour and bugs
+
+Therefore, we would like to define our primary purpose so that we can make
+consistent decisions.
+
+[Document formats]: https://theupdateframework.github.io/specification/latest/#document-formats
+[Timestamp]: https://theupdateframework.github.io/specification/latest/#file-formats-timestamp
+
+## Decision Drivers
+
+* The reference implementation is often the starting point for new
+  implementations, porting architecture of the reference implementation to new
+  languages/frameworks
+* Reading reference implementation code is a common way to learn about TUF
+* The TUF formats include non-intuitive JSON object formats when mapping to OOP
+  objects
+* Multiple code paths/API for the same feature is a common source of bugs
+
+## Considered Options
+
+Primary purpose of the reference implementation is:
+* a learning resource to aid understanding of the specification (pedagogical reference)
+* a good architecture for other implementations to mimic (exemplary reference)
+
+## Decision Outcome
+
+Primary purpose of the reference implementation is as an exemplary reference:
+providing a safe, consistent API for users and a good architecture for other
+implementations to mimic.
+
+## Links
+
+* Discussed [on Slack](https://cloud-native.slack.com/archives/C01GT17AC5D/p1629357567021600)
+* Discussed in the [August 2021 TUF community meeting](https://hackmd.io/jdAk9rmPSpOYUdstbIvbjw#August-25-2021-Meeting)
diff --git a/docs/adr/0010-repository-library-design.md b/docs/adr/0010-repository-library-design.md
new file mode 100644
index 0000000000..0673063e89
--- /dev/null
+++ b/docs/adr/0010-repository-library-design.md
@@ -0,0 +1,136 @@
+# Repository library design built on top of Metadata API
+
+
+## Context and Problem Statement
+
+The Metadata API provides a modern Python API for accessing individual pieces
+of metadata. It does not provide any wider context help to someone looking to
+implement a TUF repository.
+
+The legacy python-tuf implementation offers tools for this but suffers from
+some issues (as do many other implementations):
+* There is a _very_ large amount of code to maintain: repo.py,
+  repository_tool.py and repository_lib.py alone are almost 7000 lines of code.
+* The "library like" parts of the implementation do not form a good coherent
+  API: methods routinely have a large number of arguments, code still depends
+  on globals in a major way and application (repo.py) still implements a lot of
+  "repository code" itself
+* The "library like" parts of the implementation make decisions that look like
+  application decisions. As an example, repository_tool loads _every_ metadata
+  file in the repository: this is fine for CLI that operates on a small
+  repository but is unlikely to be a good choice for a large scale server.
+
+
+## Decision Drivers
+
+* There is a consensus on removing the legacy code from python-tuf due to
+  maintainability issues
+* Metadata API makes modifying metadata far easier than legacy code base: this
+  makes significantly different designs possible
+* Not providing a "repository library" (and leaving implementers on their own)
+  may be a short term solution because of the previous point, but to make
+  adoption easier and to help adopters create safe implementations the project
+  would benefit from some shared repository code and a shared repository design 
+* Maintainability of new library code must be a top concern
+* Allowing a wide range of repository implementations (from CLI tools to
+  minimal in-memory implementations to large scale application servers)
+  would be good: unfortunately these can have wildly differing requirements
+
+
+## Considered Options
+
+1. No repository packages
+2. repository_tool -like API
+3. Minimal repository abstraction
+
+
+## Decision Outcome
+
+Option 3: Minimal repository abstraction
+
+While option 1 might be used temporarily, the goal should be to implement a
+minimal repository abstraction as soon as possible: this should give the
+project a path forward where the maintenance burden is reasonable and results
+should be usable very soon. The python-tuf repository functionality can be
+later extended as ideas are experimented with in upstream projects and in
+python-tuf example code.
+
+The concept is still unproven but validating the design should be straight
+forward: decision could be re-evaluated in a few months if not in weeks.
+
+
+## Pros and Cons of the Options
+
+### No repository packages
+
+Metadata API makes editing the repository content vastly simpler. There are
+already repository implementations built with it[^1] so clearly a repository
+library is not an absolute requirement.
+
+Not providing repository packages in python-tuf does mean that external
+projects could experiment and create implementations without adding to the
+maintenance burden of python-tuf. This would be the easiest way to iterate many
+different designs and hopefully find good ones in the end.
+
+That said, there are some tricky parts of repository maintenance (e.g.
+initialization, snapshot update, hashed bin management) that would benefit from
+having a canonical implementation, both for easier adoption of python-tuf and
+as a reference for other implementations. Likewise, a well designed library
+could make some repeated actions (e.g. version bumps, expiry updates, signing)
+much easier to manage.
+
+### repository_tool -like API
+
+It won't be possible to support the repository_tool API as it is but a similar
+one would certainly be an option.
+
+This would likely be the easiest upgrade path for any repository_tool users out
+there. The implementation would not be a huge amount of work as Metadata API
+makes many things easier.
+
+However, repository_tool (and parts of repo.py) are not a great API. It is
+likely that a similar API suffers from some of the same issues: it might end up
+being a substantial amount of code that is only a good fit for one application.
+
+### Minimal repository abstraction
+
+python-tuf could define a tiny repository API that
+* provides carefully selected core functionality (like core snapshot update)
+* does not implement all repository actions itself, instead it makes it easy
+  for the application code to do them
+* leaves application details to specific implementations (examples of decisions
+  a library should not always decide: "are targets stored with the repo?",
+  "which versions of metadata are stored?", "when to load metadata?", "when to
+  unload metadata?", "when to bump metadata version?", "what is the new expiry
+  date?", "which targets versions should be part of new snapshot?")
+
+python-tuf could also provide one or more implementations of this abstraction
+as examples -- this could include a _repo.py_- or _repository_tool_-like
+implementation.
+
+This could be a compromise that allows:
+* low maintenance burden on python-tuf: initial library could be tiny
+* sharing the important, canonical parts of a TUF repository implementation
+* ergonomic repository modification, meaning most actions do not have to be in
+  the core code
+* very different repository implementations using the same core code and the
+  same abstract API
+
+The approach does have some downsides:
+* it's not a drop in replacement for repository_tool or repo.py
+* A prototype has been implemented (see Links below) but the concept is still
+  unproven
+
+More details in [Design document](../repository-library-design.md).
+
+## Links
+* [Design document for minimal repository abstraction](../repository-library-design.md)
+* [Prototype implementation of minimal repository abstraction](https://github.com/vmware-labs/repository-editor-for-tuf/)
+
+
+[^1]:
+    [RepositorySimulator](https://github.com/theupdateframework/python-tuf/blob/develop/tests/repository_simulator.py)
+    in python-tuf tests is an in-memory implementation, while
+    [repository-editor-for-tuf](https://github.com/vmware-labs/repository-editor-for-tuf)
+    is an external Command line repository maintenance tool.
+
diff --git a/docs/adr/index.md b/docs/adr/index.md
index 914c681b96..46d9d84b5d 100644
--- a/docs/adr/index.md
+++ b/docs/adr/index.md
@@ -10,6 +10,11 @@ This log lists the architectural decisions for tuf.
 - [ADR-0003](0003-where-to-develop-TUF-1-0-0.md) - Develop TUF 1.0.0 in a subdirectory of the current TUF implementation
 - [ADR-0004](0004-extent-of-OOP-in-metadata-model.md) - Add classes for complex metadata attributes
 - [ADR-0005](0005-use-google-python-style-guide.md) - Use Google Python style guide with minimal refinements
+- [ADR-0006](0006-where-to-implemenent-model-serialization.md) - Separate metadata serialization from metadata class model but keep helpers
+
+- [ADR-0008](0008-accept-unrecognised-fields.md) - Accept metadata that includes unrecognized fields
+- [ADR-0009](0009-what-is-a-reference-implementation.md) - Primary purpose of the reference implementation
+- [ADR-0010](0010-repository-library-design.md) - Repository library design built on top of Metadata API
 
 <!-- adrlogstop -->
 
diff --git a/docs/api/api-reference.rst b/docs/api/api-reference.rst
new file mode 100644
index 0000000000..d0805d8512
--- /dev/null
+++ b/docs/api/api-reference.rst
@@ -0,0 +1,34 @@
+API Reference
+=====================
+
+
+TUF provides multiple APIs:
+
+
+* The low-level :doc:`tuf.api` provides access to a Metadata file abstraction
+  that closely follows the TUF specification's `document formats`_.
+  This API handles de/serialization to and from files and makes it easier to access
+  and modify metadata content safely. It is purely focused on individual
+  pieces of Metadata and provides no concepts like "repository" or "update
+  workflow".
+
+* The `client update workflow`_ is implemented in the :doc:`tuf.ngclient` module:
+  It is a higher-level API that provides ways to query and download target files
+  securely, while handling the TUF update workflow behind the scenes. ngclient
+  is implemented on top of the Metadata API and can be used to implement
+  various TUF clients with relatively little effort.
+
+Code `examples <https://github.com/theupdateframework/python-tuf/tree/develop/examples>`_
+are available for client implementation using ngclient and a
+basic repository using Metadata API.
+
+
+.. toctree::
+   :maxdepth: 2
+   :caption: Contents:
+
+   tuf.api
+   tuf.ngclient
+
+.. _client update workflow: https://theupdateframework.github.io/specification/latest/#detailed-client-workflow
+.. _document formats: https://theupdateframework.github.io/specification/latest/#document-formats
diff --git a/docs/api/tuf.api.metadata.metadata.rst b/docs/api/tuf.api.metadata.metadata.rst
new file mode 100644
index 0000000000..bac11a3133
--- /dev/null
+++ b/docs/api/tuf.api.metadata.metadata.rst
@@ -0,0 +1,4 @@
+Metadata class
+---------------------------------
+
+.. autoclass:: tuf.api.metadata.Metadata
diff --git a/docs/api/tuf.api.metadata.root.rst b/docs/api/tuf.api.metadata.root.rst
new file mode 100644
index 0000000000..ab6194bcc0
--- /dev/null
+++ b/docs/api/tuf.api.metadata.root.rst
@@ -0,0 +1,4 @@
+Root class
+---------------------------------
+
+.. autoclass:: tuf.api.metadata.Root
diff --git a/docs/api/tuf.api.metadata.snapshot.rst b/docs/api/tuf.api.metadata.snapshot.rst
new file mode 100644
index 0000000000..1d1c202565
--- /dev/null
+++ b/docs/api/tuf.api.metadata.snapshot.rst
@@ -0,0 +1,4 @@
+Snapshot class
+---------------------------------
+
+.. autoclass:: tuf.api.metadata.Snapshot
diff --git a/docs/api/tuf.api.metadata.supporting.rst b/docs/api/tuf.api.metadata.supporting.rst
new file mode 100644
index 0000000000..c4771c90ac
--- /dev/null
+++ b/docs/api/tuf.api.metadata.supporting.rst
@@ -0,0 +1,30 @@
+Supporting classes
+---------------------------------
+
+The Metadata API includes multiple classes that are used by the top-level
+ones (Root, Timestamp, Snapshot, Targets):
+
+.. autosummary::
+   :nosignatures:
+
+   tuf.api.metadata.DelegatedRole
+   tuf.api.metadata.Delegations
+   tuf.api.metadata.Key
+   tuf.api.metadata.MetaFile
+   tuf.api.metadata.Role
+   tuf.api.metadata.TargetFile
+   tuf.api.metadata.SuccinctRoles
+
+.. autoclass:: tuf.api.metadata.DelegatedRole
+
+.. autoclass:: tuf.api.metadata.Delegations
+
+.. autoclass:: tuf.api.metadata.Key
+
+.. autoclass:: tuf.api.metadata.MetaFile
+
+.. autoclass:: tuf.api.metadata.Role
+
+.. autoclass:: tuf.api.metadata.TargetFile
+
+.. autoclass:: tuf.api.metadata.SuccinctRoles
\ No newline at end of file
diff --git a/docs/api/tuf.api.metadata.targets.rst b/docs/api/tuf.api.metadata.targets.rst
new file mode 100644
index 0000000000..a8af3ab326
--- /dev/null
+++ b/docs/api/tuf.api.metadata.targets.rst
@@ -0,0 +1,4 @@
+Targets class
+---------------------------------
+
+.. autoclass:: tuf.api.metadata.Targets
diff --git a/docs/api/tuf.api.metadata.timestamp.rst b/docs/api/tuf.api.metadata.timestamp.rst
new file mode 100644
index 0000000000..2d29d37dc4
--- /dev/null
+++ b/docs/api/tuf.api.metadata.timestamp.rst
@@ -0,0 +1,4 @@
+Timestamp class
+---------------------------------
+
+.. autoclass:: tuf.api.metadata.Timestamp
diff --git a/docs/api/tuf.api.rst b/docs/api/tuf.api.rst
new file mode 100644
index 0000000000..7d3126d23d
--- /dev/null
+++ b/docs/api/tuf.api.rst
@@ -0,0 +1,20 @@
+Metadata API
+===============
+
+.. toctree::
+
+   tuf.api.metadata.metadata
+   tuf.api.metadata.root
+   tuf.api.metadata.timestamp
+   tuf.api.metadata.snapshot
+   tuf.api.metadata.targets
+
+.. toctree::
+   :hidden:
+
+   tuf.api.metadata.supporting
+   tuf.api.serialization
+
+.. automodule:: tuf.api.metadata
+   :no-members:
+   :no-inherited-members:
diff --git a/docs/api/tuf.api.serialization.rst b/docs/api/tuf.api.serialization.rst
new file mode 100644
index 0000000000..610ab910d1
--- /dev/null
+++ b/docs/api/tuf.api.serialization.rst
@@ -0,0 +1,10 @@
+Serialization
+=============================
+
+.. automodule:: tuf.api.serialization
+
+JSON serialization
+-----------------------------
+
+.. automodule:: tuf.api.serialization.json
+   :show-inheritance:
diff --git a/docs/api/tuf.ngclient.config.rst b/docs/api/tuf.ngclient.config.rst
new file mode 100644
index 0000000000..b69d7cf484
--- /dev/null
+++ b/docs/api/tuf.ngclient.config.rst
@@ -0,0 +1,5 @@
+Configuration
+=============
+
+.. automodule:: tuf.ngclient.config
+   :undoc-members:
diff --git a/docs/api/tuf.ngclient.fetcher.rst b/docs/api/tuf.ngclient.fetcher.rst
new file mode 100644
index 0000000000..5476512d99
--- /dev/null
+++ b/docs/api/tuf.ngclient.fetcher.rst
@@ -0,0 +1,9 @@
+Fetcher
+============
+
+.. autoclass:: tuf.ngclient.FetcherInterface
+   :undoc-members:
+   :private-members: _fetch
+
+.. autoclass:: tuf.ngclient.Urllib3Fetcher
+   :no-inherited-members:
diff --git a/docs/api/tuf.ngclient.rst b/docs/api/tuf.ngclient.rst
new file mode 100644
index 0000000000..31b7ba7e69
--- /dev/null
+++ b/docs/api/tuf.ngclient.rst
@@ -0,0 +1,19 @@
+ngclient
+========
+
+The ngclient module contains a complete TUF client library implementation.
+
+* :doc:`tuf.ngclient.updater` implements the `detailed client workflow`_
+* :doc:`tuf.ngclient.config` provides optional configuration for the updater
+* :doc:`tuf.ngclient.fetcher` can be used for optional low-level network I/O control
+
+
+.. toctree::
+   :hidden:
+
+   tuf.ngclient.updater
+   tuf.ngclient.config
+   tuf.ngclient.fetcher
+
+.. _detailed client workflow: https://theupdateframework.github.io/specification/latest/#detailed-client-workflow
+
diff --git a/docs/api/tuf.ngclient.updater.rst b/docs/api/tuf.ngclient.updater.rst
new file mode 100644
index 0000000000..3f032c6b3b
--- /dev/null
+++ b/docs/api/tuf.ngclient.updater.rst
@@ -0,0 +1,4 @@
+Updater
+=========
+
+.. automodule:: tuf.ngclient.updater
diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644
index 0000000000..ecc8fe4944
--- /dev/null
+++ b/docs/conf.py
@@ -0,0 +1,78 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+import os
+import sys
+
+sys.path.insert(0, os.path.abspath(os.path.join("..")))
+
+import tuf
+
+# -- Project information -----------------------------------------------------
+
+project = "TUF"
+copyright = "2021, New York University and the TUF contributors"
+author = "New York University and the TUF contributors"
+
+
+# -- General configuration ---------------------------------------------------
+
+master_doc = "index"
+
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+    "sphinx.ext.napoleon",
+    "sphinx.ext.autosummary",
+    "sphinx.ext.autosectionlabel",
+]
+
+autosectionlabel_prefix_document = True
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ["_templates"]
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+#
+html_theme = "sphinx_rtd_theme"
+html_theme_options = {"logo_only": True}
+html_logo = "tuf-horizontal-white.png"
+html_favicon = "tuf-icon-32.png"
+
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+# html_static_path = ['_static']
+
+# -- Autodoc configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html
+
+# Tone down the "tuf.api.metadata." repetition
+add_module_names = False
+python_use_unqualified_type_names = True
+
+# Show typehints in argument doc lines, but not in signatures
+autodoc_typehints = "description"
+
+autodoc_default_options = {
+    "members": True,
+    "inherited-members": "Exception",  # excl. members inherited from 'Exception'
+    "exclude-members": "to_dict, from_dict",
+}
+
+# Version
+version = tuf.__version__
diff --git a/docs/images/all_logos.ai b/docs/images/all_logos.ai
deleted file mode 100644
index b2b7173be6..0000000000
--- a/docs/images/all_logos.ai
+++ /dev/null
@@ -1,5476 +0,0 @@
-%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 46 0 R 47 0 R 85 0 R 86 0 R]/Order 87 0 R/RBGroups[]>>/OCGs[5 0 R 46 0 R 47 0 R 85 0 R 86 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 57618/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="ï»¿" id="W5M0MpCehiHzreSzNTczkc9d"?>
-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27        ">
-   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-      <rdf:Description rdf:about=""
-            xmlns:dc="http://purl.org/dc/elements/1.1/">
-         <dc:format>application/pdf</dc:format>
-         <dc:title>
-            <rdf:Alt>
-               <rdf:li xml:lang="x-default">Imprimir</rdf:li>
-            </rdf:Alt>
-         </dc:title>
-      </rdf:Description>
-      <rdf:Description rdf:about=""
-            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
-            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
-         <xmp:MetadataDate>2016-02-17T13:22:37-06:00</xmp:MetadataDate>
-         <xmp:ModifyDate>2016-02-17T13:22:37-06:00</xmp:ModifyDate>
-         <xmp:CreateDate>2016-02-17T13:15:10-06:00</xmp:CreateDate>
-         <xmp:CreatorTool>Adobe Illustrator CS6 (Macintosh)</xmp:CreatorTool>
-         <xmp:Thumbnails>
-            <rdf:Alt>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpGImg:width>256</xmpGImg:width>
-                  <xmpGImg:height>172</xmpGImg:height>
-                  <xmpGImg:format>JPEG</xmpGImg:format>
-                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgArAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FUJqWs6Rpc&#xA;Qm1O+t7GI1pJcypCpp13cqNsVShPzH/L12CJ5o0hnY0VRf2xJPsBJjSp9b3FvcwpPbypNDIKpLGw&#xA;ZWHiGFQcVVMVdirsVUb5mSyuHU8WWNypHUEKcVa+ow/zS/8AI6X/AJqxV31GH+aX/kdL/wA1Yq76&#xA;jD/NL/yOl/5qxV31GH+aX/kdL/zViqUan5h8m6VN6Oqa5a2E3++rrUBC2/8AkvKpxVSsfNfkTULh&#xA;baw8xWV3cPssMGpLI5PsqSk4qnn1GH+aX/kdL/zVirvqMP8ANL/yOl/5qxV31GH+aX/kdL/zVirv&#xA;qMP80v8AyOl/5qxV8W/85jFj+Zelgktx0dFBJJNFv7xRud+gxV4RhV2KuxVkvlr8tvP3mZBJoOgX&#xA;1/ATQXMULehXw9Zgsf8Aw2Kskm/5x6/NC3kWG7tLG1uHYosE2qacknIGnHj6/XfFUFrP5FfmzpFs&#xA;bq48t3M9oAW+sWJjvo+K1q3K1aagFO+KsFZWRirAqymjKdiCOxxVbirsVdir9UMCuxVKfNPmrQvK&#xA;2iXGta5dLaafbAcnNSzMdlSNR8Tux2CjFWAQWv5q/mDS6vLufyD5UkNbfT7UL+nLiM0Iaedgy2de&#xA;oVBzG4bCqb6V+RP5VafL9Yk0GHVL1t5r3Vi+oSyMerubkyLyPsBgVOn/ACy/Ld1Kv5U0ZlPVTp9q&#xA;QfvjxVjV1+RHlW0la98nXd95M1Q1In0mdxbu3VRPaSl4JEBH2eIrhtVGy/MHzV5Q1S10X8zIoPqV&#xA;5IINM852SmOyllOyxXsTV+qytTrX0z2oATir0/ArsVUNQ/3guf8AjE//ABE4qr4q7FWKfmF+Yuje&#xA;StNhluopb/Vb+T6vo2iWg53V5cGgCRoKniCRyam3uSAVWGwflz+Yvnlfrn5ja7PpGnS7xeUNCl9C&#xA;NENCFu7scnmbb4lHw13U9sKsj0n8i/yg0pONt5T0+UUoTeRfXW3NftXRmNffAqpqf5JflHqUHo3H&#xA;lHS403FbW2S0fen7duIm7eOKsal/Knzr5NU3f5Y+YpjbRAsfKeuSNd2Eijf04Jm/e258N9z1YDCr&#xA;J/y6/M/T/N/1vTrm0l0XzVpR46v5fuiPWhNaepG1AJYiejqPCtKioVmmKuxV8Tf85i/+TM03/tkL&#xA;/wB1C9xV4RhVFaXpmoarqNtpunQPdX15IsNtbxirvI5oqgfPFXq1xB5D/KcC3urW184/mIn+9EUp&#xA;9XR9Lf8A32yCn1q4X9qvwqfdd1WE+aPzR8/+aHP6Z1y6mt9uFjG5htUAFAEt4uES0G32cVYriqZa&#xA;J5k8waDdC70TUrrTbkf7ttJnhbwoShFR7HFXotv+aXlvzoq6d+aOmpJcOOEPnLTYkh1GFuitcxxg&#xA;R3UY7grypWm+KsR/MD8v9W8mapFb3Mkd7pl9H9Y0bWbY8ra8tm+zJGwJod/iStV+VCVWLYq7FX6o&#xA;YFdirybypaf8rK84yeeNSAm8p6DcS2vkyyYVinmhb059UYHZiXUrD/LSuzbkq9ZwK7FXYq7FUFrW&#xA;i6VrelXWk6tapeadeIYrm2lFVdT+IIO4I3B3G+KvP/yxv9T8t6/ffljrc8l0dOh+veVtRmYM9zpJ&#xA;fgIpG7y2r/uz4rQ0phV6bgVQ1D/eC5/4xP8A8ROKq+KoXVtUsdJ0u81S/kENjYQyXN1Kd+MUSl3b&#xA;bwUYq8x/J/y/ea/ez/mv5mhrrWuqRoFpJ8X6O0kk+hHHUAB5kPNnHUN25MMKvWMCuxV2KuxV5l+c&#xA;vlDUWht/P/lYCLzl5WRp4aV43lklWnspgu7Ky8invsKVrhVm/lLzLp/mjy1pvmDTjWz1KBJ4wdyp&#xA;YfEjf5SNVT7jAqbYq+Jv+cxf/Jmab/2yF/7qF7irwjCr1nyxMPy5/LT/ABlH8HnHzY09j5bk252d&#xA;hF+7u71O6ySP+6Q7EDcHriryh3d3Z3Ys7ElmJqSTuSScVW4q7FXYq7FXqv5U6nb+a9Jufyq12QfV&#xA;9SL3HlO8k/48tWCkogbqIbn7Dr/NuNyTiry+6tbi0uprW5jMVxbu0U0TbMroSrKfcEYqpYq/VDAr&#xA;E/za1C70/wDLDzVeWdfrMOl3ZiZa1UmFhzFP5K8voxVgXkDzD+YWqeVdJsPy70Ww07yvptrFa2+u&#xA;eYPXH10xIqvJb2luUkCM9T6jv8XzqMKpzqHnT82fJ6HUvOOjadrHlyMcr3UPLv1hbizQfalltblp&#xA;GljXqTG9QKk4qiNV/Nm51TUk0L8t7CLzLqrwRXN1qMkpi0yyhuF5QtcTKC7O6nkIkHKnyxVbJL/z&#xA;kRZKbtofLGsIlGfTLb67ZzOB1SGeZ5Ywx8ZFp+rFVM/n15dOhLNHp94/mtro6aPJvEDURfqvJoyp&#xA;29IL8XrfZ479fhxpUZp//K9r54bjUP0Do9s80cjWMH1i5uY4uVWjlmakLnjsfTVfZhl2A4xfGCdt&#xA;q73G1UcxA8IgeoXfd+P7Qh/zUEVn51/LbV4HVdUXW305I9uT2l9aSi52rUqnpp8iRlLkvSsCqGof&#xA;7wXP/GJ/+InFVfFXnH/ORcd6/wCS3mdbNHkl9GEyLGCW9EXMRnO3hCGJ9uuKsW8maP8AmT+Yfl6x&#xA;19vNy+VPLk8YGkaB5eWKRobdBwjWe8bk3qALRkAoPBTVQVRep6z+Z/5VtDqXmLVP8Z+ROax6jem3&#xA;WDUtPV24rKRF8M8QJ+In4vl3Vb0i4/Nn80IDrVnq7eRvJdyT+iYYIEm1S8grQTyySGluH+0nDeni&#xA;KMVV2raV+cf5e2ra3pmvyeetDtayaloepQol8IF+J3tbmIcncCvwsKeAOKqWlecfzB/Ni4luvJN5&#xA;/hPyNbMIv03cW6z399KADIsELnhFGh+AvyrXcGtVVQXomi2kfk7yvM2va413b2hluLnVL1ggSMmt&#xA;CzFjQf5TE1PyGXajKMkrERFxtJp5YocMpGZvmWHf841LIPyzBjWRNKfUr99EEgKn6i9wzRFVNKAs&#xA;WOUlynqmBXxN/wA5i/8AkzNN/wC2Qv8A3UL3FXhGFX0d+YOkfl7pfl7yV5o84fWdWsn8vafaeW/L&#xA;OnE28cvowLLcy3d3x+AGWc1CfHWh8QFXn1v53/Jm/lNrq/5enTbGQ8Rf6TqVy15ApoOQS6LwzMPB&#xA;qYqmo/IXT45z5kn8wR/8qsFsL5fM6KPWkRn9MWaW9eX1v1BwKnYdevw4qlU/nn8mrKZLXS/y7/SF&#xA;hESHvNV1K6F5OvZitsUhhb2UMMVR8X5Y+W/zDtDqH5WLNb6rDIi6r5R1CZHkgjlcItza3J4+rAjM&#xA;A/Mcl6ntVVG2Wrfkl+Wevw2kmjv+YOsWJKalqcsyRabHNQq62luUlWcJXjyl2qOS9qKsGOpT+Yfz&#xA;STUvKelfo+e81RLjSdKtBX0WEodAgQKBQjkaAAdqDFUX+ekdin5v+bVsWDQnUZmcj/fzHlOPolLD&#xA;FWCYq/VDAqnc21vdW8ttcxJPbTo0c8Eih0dHHFkdWqGVgaEHFXks+leYvyjmkv8AQIp9a/LZmMl9&#xA;oCky3mlAirzWRc1kt+7xE/D1H7Rwq9O0TXNF8w6Pb6rpF1Hf6XepyguIzyR1OxBB3BB2ZSKg7HAr&#xA;zf8AJ7TLHyX5u83/AJexwLBGLga/ozgcTNYXoWNl9xbSx+lX5YVesYFeTfl3pun+aPzT81fmOtvF&#xA;9VtSPL2h3CqtZhaUF3dFgDz5Sfuo5AfsAr0wqynz9+ZGn+Vfq2nW1tJrPmrU6ro/l61I9ec7/G53&#xA;9KFaHlI2wAPWmBUv8kflzqMWsf4z873Sat5zlVlt1Sv1LTIXFDb2MbdDTZ5ftN9J5KvQMVUNQ/3g&#xA;uf8AjE//ABE4qr4q4gEEEVB2IOKvIde8g+ZfIWsXPm/8sofrFjcMZ/MHkflwguf55rHqIZ6fsgUP&#xA;QA/YJVmPlzzV5O/Mzyhd/Un+sWF7FLZapp8tEuIDIpjkhnjqSj0r8+owKx38htUvrfQ9R8i6vIZN&#xA;a8kXR0x3aoMtiavYzAH9lofhX2XCVR355eaL7RfI8mn6R8XmPzJNHouiRA0Yz3h4M48PTj5Ny6A0&#xA;rgCo2K48m/lJ+XFlb6hdpZ6Ro1ukCuR+8nmILP6cYqXkmkLPxHiT0xVh2meU/M35q6hB5h8+20ml&#xA;+TbZxNoXkt6h5ypPC61LxNPsxdPHavMq9jiiihiSGFFjijUJHGgCqqqKBVA2AAwKuxV8Tf8AOYv/&#xA;AJMzTf8AtkL/AN1C9xV4RhVn3kL8zY9J0+Tyt5qszrvka9flcaax/fWshP8AvTYyEj0pVrWlQrbg&#xA;9a4qp+f/AMs5NAtIPMWg3Y13yRqLU07WohQo+/8Ao12lAYp1puCKHt3AVTv8spZPNnkHzN+W0js1&#xA;2q/4i8sxdS17ZIRcQKAKsZrYniK0BFcVeVYq9X/LK4l8meQPM/5hiRodSu1/w35aINCbi5AkupxQ&#xA;gj0IVBU0I5GmKsD8oeTvMPm7WotH0K1NzduC7sTxiijX7Us0h+FEXuT8uuKvQNV84eXfy30+48t/&#xA;l7crf+Y7hDDr3ndRQjf47bTO6RAijS9X6jbiQq8lJJJJNSdyTirWKv1QwK7FXYq8t17yLr/k7Vbn&#xA;zb+W8SyJcP62v+TSeFte/wA01oekF1Qdhxf8GKpJ5w86aHqdloH5s+XmdpfKV2bXzLp0iFLuGwvC&#xA;ILyC4g2YSQPxkUHbYtuMVZr+bXm+40TyLJLojibW9ceLS/LvptX1Lu++CJ0Zf5FJkr/k4FY4fMA8&#xA;n6XpX5Wfl3bx615ts7VI53aos7FTvLe37gniZHZnEQPJifdalWVeQPy3sfK5uNTvbl9Z82anRtY1&#xA;+5AM0rUH7uIdIoVp8Ma7UpWtBgVmOKuxVQ1D/eC5/wCMT/8AETiqvirsVdirzPz1+V2pDWm87/l9&#xA;cppHnOMD63bsKWWqRqamG8QU+Ju0nX8GVV53bfmhpkX5q6J5qmtn0PVb0L5Z8+6Bc0SW3lkPOxvB&#xA;XiJIuY4+r2Sg/aFSqJ84/mToZ/OK41e8V9St/JUbaV5Z0S2HO41DX7wD6x6ScSeMCUjkYj4G4kVJ&#xA;AKrM/KP5aa7reuweePzNZLrXYSX0Xy8jc7DSlYgii7rLcbfFJuK9K0UhV6pgV2KuxV8Tf85i/wDk&#xA;zNN/7ZC/91C9xV4RhV2Kst/L/wDMbWPJt5OIY49Q0TUAItZ0K7HO1u4f5XQ1AcfsOBUe4qCqzX/D&#xA;9vo95Yfmt+Vcsl7o2lXEdzqmjOS19pbDeSG4CnlJbSJyUSj9moboTirH/wA2vJsNp+YKDy5E0+j+&#xA;a1g1Py4iAAtFqBqsKgEgGOYtHxr2GKs383eRr7zDrOnfl/pF1FZeUfy6sxD5h8wXBKWUN7OfW1Cd&#xA;mNCztJ+7SPrVey1OKsQ84fmNo9hokvkn8u45LDyy1BqurSDjfatIBQvO3WODrwiG1OvWmKvNcVdi&#xA;rsVfqhgV2KuxV2Kvn7zfffl95z1Zr/8AL7Vjb+bdQWTTb1WtLqPTtVgcNG9rfB441kVt0WaOpTua&#xA;AFb8eCUomQ5RcfLqoQnGB+qfJ5RF5z89NrXlnyrr7TeW5fJVvPYSapcWtxfPbSykos6RW0cvqSpZ&#xA;cEgY/DX4wwqDlLkPo38nta/KaJJvLfku6luNRWM3+pzXltdw3l0WcK9zPNdQwmVmd/orsAMCvS8V&#xA;dirsVUNQ/wB4Ln/jE/8AxE4qr4q7FXYqxb80vNd/5S/L/W/MenxRTXumwerBFOGMRYuqDmEZGI+L&#xA;swxV5d5q/JjzZ+Z+mNf+bX0mz1n6ij6PqGlLMgWUnmkU3qAu0JB+MMWKmhSnxBsiRx+GKvj6uLAZ&#xA;vFkZEeHW3ff4/R5sI8u+SfOH5ReZLaXUNa8nP5q8xSslleav+k7i4DSGknpvGsSRLIz/ABSOByJp&#xA;y7ZQ5T6B/KLzjqfnL8vdK8x6pDBBf3huVuIrUOIQ1vdS29UDs7AERV3Y4FZhirsVdir4m/5zF/8A&#xA;Jmab/wBshf8AuoXuKvCMKuxV2KvY/wAivy8/Ma6vtO8z+Wta0/Q4rq6ksI2vZxW5Eah5ofqtD9YU&#xA;qfsfTt9rFXvWkyfk/d+YLS11S8sdE8xfl5f3Lfo9riKK053SElrMzlawiciVYyf3MlUI48aqvL/z&#xA;H8qedvOMb6R5b1Py9F5bsBNeWflzTtWhnurmRFaWW6ueO89y+7FmNB97FV85Yq7FXYq7FX6oYFdi&#xA;rsVdirzf/nHlEb8n/LrFQWT65xYjcVvZwaYSUUyX8x5Nfj8ia5L5fu47HVorSSSC7kUuI1QcpWVR&#xA;+36Ybh25UrtgS8o/Ju480XX5gaBeeZb6PUdRvPIkF0l2ilXaCe+WWITV+1KqvxZh169anCr3rArs&#xA;VdiqhqH+8Fz/AMYn/wCInFVfFXYq7FXnf/OQv/kmPNX/ADCL/wAnkxVm2g/8cPTv+YWH/k2MVeYf&#xA;nB5J0/XPzE/Ly7uNHGowtez22pzNCZUFulvJLEkpoQqh+TCvf5YVTD/nGz/yTGg/8ZNR/wC6lc4C&#xA;r03FXYq7FXxN/wA5i/8AkzNN/wC2Qv8A3UL3FXhGFXYq7FXpeuMy/kH5TZSQw13UyCNiCIoMVeak&#xA;kmp3J6nFX1b5HvPIkkP5bPoflaLSb6/03XZP0is3OcpaW9zbSpOwjQzmaRRIGY/B9lRQ4q+UcVdi&#xA;rsVdir9UMCuxV2KuxV4j+V/nDX/J3kbTvLepeQ/M1xe6e1ws01paW8kDepcySqUZrmMkcXH7OEqy&#xA;HVPzQm1LTLvTp/y/83rBewyW8pSytAwSVCjcSboitDttiqUflnZahJ+YtldQeXtY0bQdF8pw6Bbz&#xA;a1FFFLJJb3SMn9zJKrExipO29dsVeyYFdirsVUNQ/wB4Ln/jE/8AxE4qr4q7FXYqkXnnRNP1zyjq&#xA;mk6hZXGoWd3AUms7N0juJACGAiaR4kDAio5MBirxDR/J/wCXt75bTXjceddP0pr230y1a41NAZJp&#xA;7v6j+7SGeWixTbPypt9nlhVV13yf+WujpqBl1bzfcSadqkGiyxRapxL3VxbpcoUaaWGPhwkALOy7&#xA;1+eKvX/yw0jRtH8i6Xp+i21xZ6ZEsrW9veSwzzj1Z3kYvJBJNE3J3LfC52PbpgVlGKuxV2Kvib/n&#xA;MX/yZmm/9shf+6he4q8Iwq7FXYq9V0mTyX5g/KXSPLuoeaLXQNU0vVLy6kiu4LuUPFcRxKhVreKU&#xA;dUPXFUr/AOVd+Q//AC5Ok/8ASJqf/ZPirPvJWs+T/Ld5otxqXn/TNR03yxY6pb6dY2llfrO51GOZ&#xA;mHJ4FUkyzdz0xV4BirsVdirsVfqhgVJvN+g3Wu6DcabaahPpdzKUaK+tpZYZEKOGNGheJ6MoK05d&#xA;8VYz5e8j/mHpWsWks/nSS/0WC7u559PntxJLLBOo9CA3EjvIBC9SPu+RVLbb8vPzWs9She189OLI&#xA;yTm4M8TXL+nxAtwsc7SqWqzc/iUdNj2bVvTfy6/NW2WGOf8AMCWaKJYCQbYM5ljvvrEhaRnLMrws&#xA;YuJNKUFKDG1TCTyD54utI0SK8853Q1fSYL4XN9ap9Xju7m4p9UeeFG4PHbU+y1eftU4qgbv8v/ze&#xA;e4drf8xXigWZpYFOnws3DgiLG+9CPgJPua0xVVPkT82mvFl/5WI6Q/WriZ4l022I9BiGt4hyP7Hx&#xA;c/EGm1MVVLPyF+ZKaho15eeeZbhdPkga9tFt1jiuIk2mjbiwqXr9tgTt2qcVei4FUNQ/3guf+MT/&#xA;APETiqvirsVdirsVYgfyz0dfI48pQ3VzHbRXLXtrekxtPFc/XTfxuPg9NuEx6Fd12OKoRfyk0i4s&#xA;fR1m8m1W6m1iLXdQuZo4FW5uIIhAkbwhPTEPpIq8QPpw2rNLKysrG1jtLK3jtbWIUighRY41BNaK&#xA;igAbnAqtirsVdir4m/5zF/8AJmab/wBshf8AuoXuKvCMKuxV2Ksv/LLUdLttdnh1WGwksJbG/kLa&#xA;hFBIouLewuJLQI8wPEtcBBxB+M0XfpirI/Imm+Wdct9Cv9QbSIJLHzK935niuprWyrpDraMoSGRo&#xA;vVjBjuB6cIYgmnH4hiqCuNS8nWX5ZWKQQ2suu391qsc7JDazTpCBALYymUNNCv7x/TZKHr4Yq86x&#xA;V2KuxV2Kv0P/AOV6eQv9+3P/ACIP9c2P8k5vL5um/l3Td5+Tv+V6eQv9+3P/ACIP9cf5JzeXzX+X&#xA;dN3n5O/5Xp5C/wB+3P8AyIP9cf5JzeXzX+XdN3n5O/5Xp5C/37c/8iD/AFx/knN5fNf5d03efk7/&#xA;AJXp5C/37c/8iD/XH+Sc3l81/l3Td5+Tv+V6eQv9+3P/ACIP9cf5JzeXzX+XdN3n5O/5Xp5C/wB+&#xA;3P8AyIP9cf5JzeXzX+XdN3n5O/5Xp5C/37c/8iD/AFx/knN5fNf5d03efk7/AJXp5C/37c/8iD/X&#xA;H+Sc3l81/l3Td5+Tv+V6eQv9+3P/ACIP9cf5JzeXzX+XdN3n5J75a86+X/OEF9FpTykW6qk5kQpT&#xA;1w4Wlev2DmNqNJPDXF1c3Sa/HqL4P4f0p7wv/wDf0X/Ipv8AqpmM5juF/wD7+i/5FN/1UxV3C/8A&#xA;9/Rf8im/6qYq7hf/AO/ov+RTf9VMVdwv/wDf0X/Ipv8AqpiruF//AL+i/wCRTf8AVTFXcL//AH9F&#xA;/wAim/6qYq7hf/7+i/5FN/1UxV3C/wD9/Rf8im/6qYq7hf8A+/ov+RTf9VMVeVfmj/zjl5e/MPXr&#xA;bWtT1W7tLi3tRaenbLFwIE8s/L4wx+1OR16Yqw//AKEm8k/9TBqX/Awf80Yq7/oSbyT/ANTBqX/A&#xA;wf8ANGKu/wChJvJP/Uwal/wMH/NGKu/6Em8k/wDUwal/wMH/ADRirv8AoSbyT/1MGpf8DB/zRirv&#xA;+hJvJP8A1MGpf8DB/wA0Yq7/AKEm8k/9TBqX/Awf80Yq7/oSbyT/ANTBqX/Awf8ANGKu/wChJvJP&#xA;/Uwal/wMH/NGKu/6Em8k/wDUwal/wMH/ADRirzvO6fLnYq7FWQeX/I/mDXIXu7eJLbTI/wC+1O7c&#xA;QWyeNZG+1TvxBpmPm1UMZo7y7huXM0+hyZRxAVD+cdo/P9SZt5e/LrT9tQ8yzX8q7PDplqSAfaaY&#xA;hGHyGU+Nnl9MAP6x/QG86fSw+rIZeUY/pOy30/yiZVVZtfjfflI6WbL7fCrVw3qf6H+yWtF/tv8A&#xA;sV6+RdC1So8s+Y7e8uSfg06+Q2U7E9EjZyUkb5EYPzc4f3kCB3jcJ/IY8n9zkEj/ADT6T7hexLGN&#xA;X0XVdHvWstTtZLS5TrHIKVFaclPRl26g0zLx5YzFxNhwM2GeKXDMUUFk2p2KvaP+ccv+mh/6M/8A&#xA;mfmi7a/g+P6HqfZr/Kf5v++e0ZonqHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXY&#xA;q7FXxfndPlzsVZh5Z0HSbLSf8V+ZUMmmq5j0zTAeL3s69antCh+030exws+WUpeHj+rqf5o/W7LS&#xA;4IQh42XePKMf5x/UOv4BKfMnm7WfME6teyBLWEBbSwgHp20KAUVY4xsKDavXLsGnjjG3PqepcfU6&#xA;vJmPq5DkBsB7gkuXuK7FXYqzLQPO0VxaroHm5W1HQnosNwxrc2THYSwyULEDuhrt9xws2lIPHi9M&#xA;/sl73Z6fXCQ8PP6sff1j5g/o/sJN5r8s3Pl7VDaSSLcW0qCexvY/7ue3fdJF69e48fvy7T5xkjfI&#xA;9R3FxdVpThnwk2DuD3jvSbL3Ge0f845f9ND/ANGf/M/NF21/B8f0PU+zX+U/zf8AfPaM0T1CXa/5&#xA;i0Ly9pkmqa5fw6dp8X27i4cItaEhVruzGmyjc9sVYBH+eQ1eh8meUNc8yQM3GHUVgWysJBWhKXF0&#xA;yfimGlVD+Yf5vxr6k/5V3AiFS/o6zp8sgHsgpy+jFVbS/wA9fJ8l/DpfmK3v/KGqz7Q22vW5tEkP&#xA;f07irQMK9CXFcFK9FVlZQykMrCoI3BBxVvFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxfndP&#xA;lyY+XdHk1nXbDSoyVN5MkRYfsqT8Tf7FanKs2TggZdwb9NhOXJGA/iKf+c7q98x+Y5LHRLSa40vS&#xA;FFjplrbo8wWGL4OdFDE+owrU7nbwzH00RihcyBKW5vvczWylny8OMEwh6Ygb7D9bGL7TdR0+URX9&#xA;rNaSmtI542jbbrs4BzLhOMtwbcDJinA1IEe/ZQRHd1RFLOxoqqKkk9gBkiWAFo+68u+YLS3+s3Wm&#xA;XdvbncTSwSIn/BMoGVRzQkaEgT726emyxFyjID3FLstaE3svKXmS90q51a20+WTTrNPUnuaBVCAE&#xA;ll5EFwoFW41p3ymWoxxkIk+ouTDSZZwMxE8Mev45/BkGkyt5i8halpNwed95cX9I6XId2FqSFuoq&#xA;/wAq1Dj39hmNkHhZhIcp7H39C5mE+Pp5QP1YvVH+r/EPd1YRme6p7R/zjl/00P8A0Z/8z80XbX8H&#xA;x/Q9T7Nf5T/N/wB89G8/+d9M8l+W59avke4cMsFhYxbzXV1LtDbxChqzn22FT2zRPUMO8p/lXea1&#xA;execPzQ4av5jkq9lor0fTtLjbdYYoTVHlA+3I1d+nTkSr1MAAAAUA2AGBXYqgtZ0TR9b0+XTtXso&#xA;dQsZhSS2uY1kjPgeLA7jse2KvJZodU/JbULeaC4mvvynu5lgubedmmm0OSZqJLG5BdrQsQGUn4T0&#xA;3PxFXs0ckckayRsHjcBkdTUEHcEEdQcCt4q7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxfndPlyf&#xA;+Q9as9F836Zqd7UWtvKfWZRUqrqULUG548q7Zj6vEcmKURzLm9n544s8Zy5Asu8/a15p0QQW+guN&#xA;L8oygHSrjS3ISYU3aS4WkhlNPiBP39ThaTFjyWZ+rJ14unw7nY9oZs2Khj9GH+Hh6/53O+/9PNJN&#xA;F/MjVF/3H+ZWbXtBnPG6tbo+pKoP+7IpW+NXXqPi+7qMjLoo/Vj9E+8fpDiYO05j05f3mM8wefvB&#xA;538f1p55kvbL8vVh07ytxk1DUIfrb+YJFR5Pq0zN6MduTVQOC/EwG/X5Y+GJ1PqyfSNuHz625epn&#xA;HRVHDvKQvj/onkB+k9fuitl+Y3nizuhcprV3K1d455WniIPUGOQsn4Zly0WGQrhH3Ovx9paiJsTl&#xA;8TY+RZe8/k1dAi/MB9JSPUpGazi0UrSykvl3NyqHrGF3K9OW1a75hAZePweL08+L+Ku73uyMsHhf&#xA;meAcf08P8PF/O91dO/bnuxTUPzM8738N5b3GqSG2vl9Oe3VUVPTNRwQBfgBBoePXvXMyGhwxIIju&#xA;HX5O1NRMEGW0uYTby5pp8r+X9T13W2+rSavp9xYaRprD9/OZwAZmT9mJadT1+7lTmn4s4whvwyBJ&#xA;6CunvcjTYvAxSyZNuOBjEdTfX3D8dLgObF072j/nHL/pof8Aoz/5n5ou2v4Pj+h6n2a/yn+b/vkP&#xA;5784eVrf854rvzZfLaaD5H0+O4s7dgztPq2pFhGyRIGaQpBH8NBVW32zRvUMhH/OQflGAxS6zo+v&#xA;6DpsxAi1bU9Lngs25fZPqrz2bxpjSsr8x/mN5I8u6FBruravBFpd3T6lPGTMbgsKgQJEHaWv+SDg&#xA;Vig/5yD8owNHJrGj6/oWmTECLV9T0ueCzbl9k+oOZo3YlcNKyrzL+ZPkjy3oltrWratDHp98AdPe&#xA;ImdrnkAV+rpEHaWvIfZFBXfAqjomvaT590bU7K70e8ttOmT6vPbanAYDNDcR1+yeh4t06gEHvl2X&#xA;DwCJsHiDj4dR4kpRojgNb9fd+O5IvyGu9RXyffeXb+U3E/lDVbzy+ly1eUkFoVaBjXwhlVR7AZSX&#xA;IekYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxfndPlzsVZJ5U84yaQkum6hANS8u3tBfabIdv+&#xA;MkJ/YkXsR1+4jF1Gm4/VE8MxyP6/JztJrPDuEhxYpc4/pHcfx3Ur5m8nRWtiuu6BcHUvLkx4ifb1&#xA;rZzT91coPssK/a6H6RUYNSSeCY4Z/f5hlqdGIx8TGeLF39Qe6X4/QjZP+dh/LdJAOep+VZfTkPVn&#xA;sLk1U9yfSk28FXKx+7z/ANHJ/uh+sNp/faW/48J/2J/UfkGH2dpcXl3BaWyGS4uJFihjHVnchVH0&#xA;k5nSkIgk8g6yEDIiI5llv5izxLqlj5V02stpoEQso1QVMl25BuHAG/JpPhp4jMLRD0nJLnPf4dHZ&#xA;dpEcccMNxjHD75fxfMou30nSfI8Cahr8Ud/5mkUPp+hk8o7aoqs15Tv3WP8A21hLJLUHhhtj6y7/&#xA;ACj+v8GyOGGkHFkAll/hj0HnL9X4EP1nWtU1rUJdQ1O4a5upTu7dAOyqOiqOwGZuLFGEeGIoOtzZ&#xA;55ZcUzZQOWNL2j/nHL/pof8Aoz/5n5ou2v4Pj+h6n2a/yn+b/vkd+ZH5barb+dbX80vKdpBqnmDT&#xA;olivtCu1UrdQJ+3ayEEw3Srsp6H7w+jeoZl5L88eWPPuhTT2Px8eVtq+kXaAT20hBWS3uYW6dGG+&#xA;zYFeXeSPIPlzyj+fV9pN3C0tvLYHUfIiTOXgs0eVjf29vG3wrIJG5Lx3CfPCr3W4ht57eWC5jSW3&#xA;lRkmikAZGRhRlZW2KkdQcCvDP+cfvIegXOq6154t4Xk0QX91Z+Rra4LSR2likzmWa2Dk8BNMzBaA&#xA;FQDueRwlWY+evzNvotYHkryLbR6x52nWsxY/6HpkLbfWL515UpUFY/tH6VDBU8/LfyN/g7Qp7Oa+&#xA;k1PVNRu5dT1jUZAEM97cBfVdUXZF+AADFWVYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxfndPl&#xA;zsVdiqc+WfNOp+Xrxp7QrLbzr6d7YzDnBcRGoKSodjsTlGfBHIKPPoeocrS6qWGVjcHmDyI83oXl&#xA;Ww0ObU/095dUvod9G9j5m0FzymtIbgBWkXvJArUbkBUAfPjrtROYjwT+sbxl0NfpdzpIYzPxcQ9E&#xA;vTOHWIPXzj5/toF5K8naponmbW7t7Zrq70Atb6ZEF/v724+G3YA7cBGfUbf4RRsnqtTHJjiLoT3P&#xA;kBz/AFNWh0U8WWcquWPaPnI/T8K3O+3NBz3+l+RjKLWZNV87y8hdagf3kFizg8xEW/vJt/iY7Dp4&#xA;gzEJajmOHF3dZfqDVLJDSXwnjz9TzEe+u+Xn+0MBuLie5nkuLiRpp5WLyyuSzMzGpLE7knNiAAKD&#xA;pySTZ5qeFDsVe0f845f9ND/0Z/8AM/NF21/B8f0PU+zX+U/zf989ozRPUPO/Pf5Y3d1q6+cvJN0u&#xA;ieebZOLTEf6JqEQp/o99GPtAgUVx8S7eC8VWBecfPb+YdFg15LF9I/Mv8tboalqXl2YgSvZ0CX4g&#xA;cGkltLCeXNa7L7gkqzL83PObXP5fafZeWJxJqfn1oNN0OUbERXyhpZ6HcKkDGp/ZJGKpKmv6nqlt&#xA;b/lp+UbiDTtFiSw1nzmy87ezWNeLRW3QT3T0qSNhWta/Eqr0fyN5C8u+StH/AEbo0TVlb1b2+nb1&#xA;Lm6nP2pp5Tu7n7h2AwKyLFXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXxfndPlzsVdirsVeuXc&#xA;v5f+QdT1ixtV1AeZLKJRYX7OGUySwB1+FPTTjycc1kVgffpmmiM2ojEnh8M8x8fxyeiyfltHKcY8&#xA;fixHpPmR5UK77BR1v+cNtrtjDo8Wl3sWsajxjuW0x4omaSgT907h2AKKKk0Kjau1crPZpxy4jIcM&#xA;f5zfHtkZojGIyGSXPhrn5Xf7O/qw7zb5T0PT/Lst/aWl/Yaha6kunXNrfSRSbNA03JfTRetBQg0I&#xA;zO0+onKfCTEgxuxffTq9Xo8cMRlETEhPhIlXdfQMGzPdU7FXYq9o/wCccv8Apof+jP8A5n5ou2v4&#xA;Pj+h6n2a/wAp/m/757Rmieodirwf8zrrTPPHmW70TTPLmqL5g8u3MdlB5vskT/R5JkV2jNCfVi4T&#xA;fFHKVUgn4lrXL8GITu5CNC93G1OeWMDhiZ2a26ef428w8fl8h/nJp2sWGieYdK1afy55WhubOK60&#xA;VAedpdsZZxb3MjIFWWJ/TZzUqnwEdRlLkvpX8nfNHl++sdQ8saT5buvKr+WDbw3Gk3aIrKLmMyxO&#xA;SjMWZ1BZi256kmuBXoeKuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV8X53T5c7FXYq7FWafn&#xA;J/5MjV/+jb/qFizB7M/uI/H7y7Ttr/Gp/D/chJvJeoXVh5r0q4tpTC5uY4mkFP7uVhHIN/FGIy/V&#xA;QEscge5xtDMxzwI29Q+3Y/Yzj8xdRvL7y3rhuZjN9X80NbwE/sxR28oVBTsM1+jgI5I0OeK/tDte&#xA;0csp4Z8Rus5HwALyzNu8+7FXYq9o/wCccv8Apof+jP8A5n5ou2v4Pj+h6n2a/wAp/m/757Rmieod&#xA;irzj8rv+Uz/Mr/tuRf8AUDBhVv8A5yG0iLU/yf8AMaSzTRLa2zXgWB+HqNb/ABqkmx5R8gCV9sCs&#xA;U/I/y7Bpvmn8w9Dsru6jhjttAigu2kElxGJNKqCjyK6/u+VEqpAAApthVNtIh/PDTYPL8kskmoym&#xA;F3122vfqr1kl1C1iCI8LQ8DHZmaVW+IbEEEkAKsh8pal+a2pab5kTzHplto+oRvJH5ekgdZFaqME&#xA;ZqtLUK4U1KitemKsRn8xfnzY2duyaY8t5eywW0NtcQW1wyyW2lu9zIxt54Yo4ri+ioHeX7Jqq/ZB&#xA;VR+s6z+fC65qEljpEP1W0srg2Vqghe2mmYWphJmadJncH6x8PpxhaD7dcVUW17/nIWPTL28/QltL&#xA;qL6dZNbacfREMV360kd4VkWYu7emEdUNV32NVKuqyDzhafmhquj+V4tGmXR9TuJFfzI8Tx+nB/ob&#xA;s6BmWZiv1iirwDdq7b4ql+v61+elpKsmlaNZX0DavLAICqJINLib93M0huQC8q1/YFKdN8VWWmt/&#xA;n0NXuvW0awk0/wD0z6pGQsZqFvfqgaUXL7F7W25Hh0nPTjsqhX8xf85GHQNMuIPLemNqlx666hay&#xA;OF9ELIFgkr9YUfGsnIqCacD05UDsqZXesfnd+k9YtrfSbL6pFJCmlXhRSjK15bxtJx+t83/0V55H&#xA;VhHwKqAWriqa+SLj8yf8Qa7a+aYU/RCTyvod4iwjnEZ3Cq3CQugEYUorITQ/E9dsVZrgV2KuxV2K&#xA;uxV8X53T5c7FXYq7FXqOta7BqLLrus+Rorie+9NTdi9lUStxWNeKIfDiKffmpxYjD0Qy1XThDvs+&#xA;aOT97kw3xVvxnf4BLk1Hy68vop5AQyfWVseP125/3pYkCL/W2y0wyVfi9L+kcmkSwk14HXh+uXPu&#xA;QnnHW1j0aPy9F5eTQ4zdC/cLcNcMzqjQ78q0+149snpsVz8Qz49q5V5teszCOPwRj8Pfi+q/JhWZ&#xA;zq3Yq7FXtH/OOX/TQ/8ARn/zPzRdtfwfH9D1Ps1/lP8AN/3z2jNE9Q7FXnN7+UWo/wCIdY1jRfOO&#xA;q6INanW6u7S1S1aP1ViWKoMsTt0Qd8KrZPyq83yRtHJ+Y+tvG4KujRWBBB2IIMG4OKpx5D/LpfKm&#xA;oa3qk+s3mt6rr727315eiJWP1SMxRACJIxshp92BWYYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXxfndPlzsVdirsVTZteYWGkWyQgSaVNLMsjGocyujgFQBSnDxynwfVI/wA5yfzJ4YAD6CT8&#xA;6TybzxpiXttc2WnTRhdXTWrtJp1esiNX0YysacV3O5qcoGllRBP8HDy+3m5ctfHiBjE/3nGbPXu5&#xA;cmOa1q9xq2oS3kyohdmKrHHHHRWYtQ+mqcjv9oiuZOLGIRoOBmynJIyNb+79FfNAZY1OxV2KvaP+&#xA;ccv+mh/6M/8Amfmi7a/g+P6HqfZr/Kf5v++e0ZonqHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7F&#xA;XYq7FXYq7FXYq7FXj3/WOv8AxV/0/wCbz/DvxwvK/wCtX48R3/WOv/FX/T/j/h344V/1q/HiO/6x&#xA;1/4q/wCn/H/Dvxwr/rV+PEd/1jr/AMVf9P8Aj/h344V/1q/HiO/6x1/4q/6f8f8ADvxwr/rV+PEd&#xA;/wBY6/8AFX/T/j/h344V/wBavx4jv+sdf+Kv+n/H/Dvxwr/rV+PEd/1jr/xV/wBP+P8Ah344V/1q&#xA;/HiO/wCsdf8Air/p/wAf8O/HCv8ArV+PEd/1jr/xV/0/4/4d+OFf9avx4jMfy9/5V1/p/wDg3j/u&#xA;n6/x+sf5fpf3/wDs/s5g63x9vF865fodr2Z+V9X5fyv6vOvq+LMMwXauxV2KuxV2KuxV2KuxV2Ku&#xA;xV2KuxV2KuxV2KuxV2KuxV2KuxV2Kv8A/9k=</xmpGImg:image>
-               </rdf:li>
-            </rdf:Alt>
-         </xmp:Thumbnails>
-      </rdf:Description>
-      <rdf:Description rdf:about=""
-            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
-            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
-            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
-         <xmpMM:InstanceID>uuid:d582b029-3a1b-f149-bd97-74bb63cc2b56</xmpMM:InstanceID>
-         <xmpMM:DocumentID>xmp.did:06801174072068118083D5E0C0CE63C1</xmpMM:DocumentID>
-         <xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID>
-         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
-         <xmpMM:DerivedFrom rdf:parseType="Resource">
-            <stRef:instanceID>uuid:3e286528-41ee-0646-82dc-fdd40c176a77</stRef:instanceID>
-            <stRef:documentID>xmp.did:0980117407206811822A897E387FE54C</stRef:documentID>
-            <stRef:originalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</stRef:originalDocumentID>
-            <stRef:renditionClass>proof:pdf</stRef:renditionClass>
-         </xmpMM:DerivedFrom>
-         <xmpMM:History>
-            <rdf:Seq>
-               <rdf:li rdf:parseType="Resource">
-                  <stEvt:action>saved</stEvt:action>
-                  <stEvt:instanceID>xmp.iid:06801174072068118083D5E0C0CE63C1</stEvt:instanceID>
-                  <stEvt:when>2016-02-17T13:15:10-06:00</stEvt:when>
-                  <stEvt:softwareAgent>Adobe Illustrator CS6 (Macintosh)</stEvt:softwareAgent>
-                  <stEvt:changed>/</stEvt:changed>
-               </rdf:li>
-            </rdf:Seq>
-         </xmpMM:History>
-      </rdf:Description>
-      <rdf:Description rdf:about=""
-            xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/">
-         <illustrator:Type>Document</illustrator:Type>
-         <illustrator:StartupProfile>Print</illustrator:StartupProfile>
-      </rdf:Description>
-      <rdf:Description rdf:about=""
-            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
-            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
-            xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"
-            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
-         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
-         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
-         <xmpTPg:NPages>1</xmpTPg:NPages>
-         <xmpTPg:MaxPageSize rdf:parseType="Resource">
-            <stDim:w>15.000118</stDim:w>
-            <stDim:h>15.000118</stDim:h>
-            <stDim:unit>Centimeters</stDim:unit>
-         </xmpTPg:MaxPageSize>
-         <xmpTPg:Fonts>
-            <rdf:Bag>
-               <rdf:li rdf:parseType="Resource">
-                  <stFnt:fontName>HelveticaNeue-Medium</stFnt:fontName>
-                  <stFnt:fontFamily>Helvetica Neue</stFnt:fontFamily>
-                  <stFnt:fontFace>Medium</stFnt:fontFace>
-                  <stFnt:fontType>TrueType</stFnt:fontType>
-                  <stFnt:versionString>10.0d40e1</stFnt:versionString>
-                  <stFnt:composite>False</stFnt:composite>
-                  <stFnt:fontFileName>HelveticaNeue.dfont</stFnt:fontFileName>
-               </rdf:li>
-            </rdf:Bag>
-         </xmpTPg:Fonts>
-         <xmpTPg:PlateNames>
-            <rdf:Seq>
-               <rdf:li>Cyan</rdf:li>
-               <rdf:li>Magenta</rdf:li>
-               <rdf:li>Yellow</rdf:li>
-               <rdf:li>Black</rdf:li>
-               <rdf:li>PANTONE Process Blue C</rdf:li>
-            </rdf:Seq>
-         </xmpTPg:PlateNames>
-         <xmpTPg:SwatchGroups>
-            <rdf:Seq>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Grupo de muestras por defecto</xmpG:groupName>
-                  <xmpG:groupType>0</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Blanco</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Negro</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>100.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Rojo CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Amarillo CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Verde CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Cian CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Azul CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>Magenta CMYK</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>14.999998</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>10.000002</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>85.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>80.000000</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>35.000004</xmpG:magenta>
-                           <xmpG:yellow>85.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>5.000001</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>19.999998</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000002</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>10.000002</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>90.000000</xmpG:cyan>
-                           <xmpG:magenta>30.000002</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>30.000002</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>75.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>80.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000002</xmpG:magenta>
-                           <xmpG:yellow>45.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>70.000000</xmpG:cyan>
-                           <xmpG:magenta>14.999998</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>95.000000</xmpG:magenta>
-                           <xmpG:yellow>5.000001</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>25.000000</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>75.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>35.000004</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>35.000004</xmpG:yellow>
-                           <xmpG:black>10.000002</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>10.000002</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>50.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>95.000000</xmpG:magenta>
-                           <xmpG:yellow>19.999998</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>25.000000</xmpG:cyan>
-                           <xmpG:magenta>25.000000</xmpG:magenta>
-                           <xmpG:yellow>39.999996</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>39.999996</xmpG:cyan>
-                           <xmpG:magenta>45.000000</xmpG:magenta>
-                           <xmpG:yellow>50.000000</xmpG:yellow>
-                           <xmpG:black>5.000001</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>60.000004</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>55.000000</xmpG:cyan>
-                           <xmpG:magenta>60.000004</xmpG:magenta>
-                           <xmpG:yellow>65.000000</xmpG:yellow>
-                           <xmpG:black>39.999996</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>25.000000</xmpG:cyan>
-                           <xmpG:magenta>39.999996</xmpG:magenta>
-                           <xmpG:yellow>65.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>30.000002</xmpG:cyan>
-                           <xmpG:magenta>50.000000</xmpG:magenta>
-                           <xmpG:yellow>75.000000</xmpG:yellow>
-                           <xmpG:black>10.000002</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>35.000004</xmpG:cyan>
-                           <xmpG:magenta>60.000004</xmpG:magenta>
-                           <xmpG:yellow>80.000000</xmpG:yellow>
-                           <xmpG:black>25.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>39.999996</xmpG:cyan>
-                           <xmpG:magenta>65.000000</xmpG:magenta>
-                           <xmpG:yellow>90.000000</xmpG:yellow>
-                           <xmpG:black>35.000004</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>39.999996</xmpG:cyan>
-                           <xmpG:magenta>70.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>50.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>50.000000</xmpG:cyan>
-                           <xmpG:magenta>70.000000</xmpG:magenta>
-                           <xmpG:yellow>80.000000</xmpG:yellow>
-                           <xmpG:black>70.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>PANTONE Process Blue C</xmpG:swatchName>
-                           <xmpG:type>SPOT</xmpG:type>
-                           <xmpG:tint>100.000000</xmpG:tint>
-                           <xmpG:mode>LAB</xmpG:mode>
-                           <xmpG:L>47.451004</xmpG:L>
-                           <xmpG:A>-33</xmpG:A>
-                           <xmpG:B>-53</xmpG:B>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Grises</xmpG:groupName>
-                  <xmpG:groupType>1</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>100.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>89.999405</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>79.998795</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>69.999702</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>59.999104</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>50.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>39.999401</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>29.998802</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>19.999701</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>9.999103</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>0.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>4.998803</xmpG:black>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-               <rdf:li rdf:parseType="Resource">
-                  <xmpG:groupName>Brillantes</xmpG:groupName>
-                  <xmpG:groupType>1</xmpG:groupType>
-                  <xmpG:Colorants>
-                     <rdf:Seq>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>100.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>75.000000</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>0.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000002</xmpG:magenta>
-                           <xmpG:yellow>95.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>85.000000</xmpG:cyan>
-                           <xmpG:magenta>10.000002</xmpG:magenta>
-                           <xmpG:yellow>100.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>100.000000</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>0.000000</xmpG:yellow>
-                           <xmpG:black>0.000000</xmpG:black>
-                        </rdf:li>
-                        <rdf:li rdf:parseType="Resource">
-                           <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName>
-                           <xmpG:mode>CMYK</xmpG:mode>
-                           <xmpG:type>PROCESS</xmpG:type>
-                           <xmpG:cyan>60.000004</xmpG:cyan>
-                           <xmpG:magenta>90.000000</xmpG:magenta>
-                           <xmpG:yellow>0.003099</xmpG:yellow>
-                           <xmpG:black>0.003099</xmpG:black>
-                        </rdf:li>
-                     </rdf:Seq>
-                  </xmpG:Colorants>
-               </rdf:li>
-            </rdf:Seq>
-         </xmpTPg:SwatchGroups>
-      </rdf:Description>
-      <rdf:Description rdf:about=""
-            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
-         <pdf:Producer>Adobe PDF library 10.01</pdf:Producer>
-      </rdf:Description>
-   </rdf:RDF>
-</x:xmpmeta>
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                                                                                                    
-                           
-<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 5/Kids[7 0 R 8 0 R 9 0 R 10 0 R 11 0 R]/Type/Pages>>
endobj
7 0 obj
<</ArtBox[60.6831 30.3267 410.711 396.881]/BleedBox[0.0 0.0 425.2 425.2]/Contents 88 0 R/LastModified(D:20160217132237-06'00')/MediaBox[0.0 0.0 425.2 425.2]/Parent 3 0 R/PieceInfo<</Illustrator 89 0 R>>/Resources<</ColorSpace<</CS0 90 0 R/CS1 91 0 R>>/ExtGState<</GS0 92 0 R>>/Font<</TT0 93 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 85 0 R/MC1 86 0 R>>>>/TrimBox[0.0 0.0 425.2 425.2]/Type/Page>>
endobj
8 0 obj
<</ArtBox[1.02051 0.0 425.2 425.2]/BleedBox[0.0 0.0 425.2 425.2]/Contents 94 0 R/LastModified(D:20160217132237-06'00')/MediaBox[0.0 0.0 425.2 425.2]/Parent 3 0 R/PieceInfo<</Illustrator 89 0 R>>/Resources<</ColorSpace<</CS0 90 0 R/CS1 91 0 R>>/ExtGState<</GS0 92 0 R>>/Font<</TT0 93 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 85 0 R/MC1 86 0 R>>>>/TrimBox[0.0 0.0 425.2 425.2]/Type/Page>>
endobj
9 0 obj
<</ArtBox[0.0 0.0 425.2 425.2]/BleedBox[0.0 0.0 425.2 425.2]/Contents 95 0 R/LastModified(D:20160217132237-06'00')/MediaBox[0.0 0.0 425.2 425.2]/Parent 3 0 R/PieceInfo<</Illustrator 89 0 R>>/Resources<</ColorSpace<</CS0 90 0 R>>/ExtGState<</GS0 92 0 R>>/Properties<</MC0 85 0 R/MC1 86 0 R>>>>/TrimBox[0.0 0.0 425.2 425.2]/Type/Page>>
endobj
10 0 obj
<</ArtBox[0.0 0.0 425.2 425.2]/BleedBox[0.0 0.0 425.2 425.2]/Contents 96 0 R/LastModified(D:20160217132237-06'00')/MediaBox[0.0 0.0 425.2 425.2]/Parent 3 0 R/PieceInfo<</Illustrator 89 0 R>>/Resources<</ColorSpace<</CS0 91 0 R/CS1 90 0 R>>/ExtGState<</GS0 92 0 R>>/Properties<</MC0 85 0 R/MC1 86 0 R>>>>/TrimBox[0.0 0.0 425.2 425.2]/Type/Page>>
endobj
11 0 obj
<</ArtBox[16.9248 69.1221 657.842 355.522]/BleedBox[0.0 0.0 674.865 425.2]/Contents 97 0 R/LastModified(D:20160217132237-06'00')/MediaBox[0.0 0.0 674.865 425.2]/Parent 3 0 R/PieceInfo<</Illustrator 89 0 R>>/Resources<</ColorSpace<</CS0 90 0 R/CS1 91 0 R>>/ExtGState<</GS0 92 0 R>>/Font<</TT0 93 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 85 0 R/MC1 86 0 R>>>>/TrimBox[0.0 0.0 674.865 425.2]/Type/Page>>
endobj
97 0 obj
<</Filter/FlateDecode/Length 1957>>stream
-H‰ŒWÁŽ]5Ýß¯È/'Nâl;”®*Tñk4´E0ÚAâ÷9Ç¾÷½™ª¨Ò›:7NìcûØ¹ùî6Ý¼¾-éÅ7·i{ù?7±$±ôq+IkÏ5�©ÙFO§?½Ý~L¿o7·ß—t÷�J^‚Ÿi¿C&fKéá{^aÏû‡ícÂü“$Úrmm%i»GMw6~ú°�$—ZñßSÍ¥ÎÑÖ(ÌÞ’ä:ÓÝvÒ\zÂ’Y:µl3õ\¦ïj]ÒÈm
-¶‰ÌÜ[MR,Ï²Ò=V,›aEj†+"+—1ðwd‘M\Ô¥~Vxo³¼*Šæ
-¤],s¸X{¥WŠúJSü--¯
-
-o(ÛŒï~ÝmÖ`-nX+uÅÕ5Õ,a™Ì±çaô©Ákl«pIgÂáËR…½ûO
�ég?ü4ð¿�k×Ê•±[š»Àà9³)d‘’+\…½ÃUˆO“¦¹Iå(bUa;wTè6v2Ô®„%
$L8éÕ	qwe_°
-S–ý¦ñ©H–¦°nåEðZÁE§EBIÅº.ªLœ:-V€SïY:4*ÖsSrC:HAZ5Fð„è~íBŠž*¤¡1�%H·J«pe¿	§+¨‰l©3þÃ–:sƒx·9$ô@=>�‡[$Ö˜Š[cÌñM@1E’`ìÖOm	îÚÐpn1ØV¡¦¬‘±c²bwŸ‹"#[GîFO!Ï¦tÃçæ—Š3,+G\šƒëÜÅÃðÚó¬--Àˆ�Cj#­™—§„ª'Ëb©ZBéÂ…Àª5‹VJØŠˆU—;®kçT*òjhK;:÷‚Ft�Àžx™apUŠÃ‘…X43åX~Ÿâ\ÓÅy±0i­î¡‹÷"ÙÑCnÁš‚,§5R=QðAÝØÚI++[ëô¤¡²™XÕÜí&Ý)ˆHº§\?)™À¨-¬Dˆcvž®ŽÕ‹
-ö•:"µën/‹ÌÈ—‡ì d¥+( Êý3™•»Ë¬'�ÏêÃu/ÔéÎðÁô…6cA-”P—¥3é^ì$¨Bÿ€‹³³²¹@ÔšøŠUßÒ\½·é‚“‚ß¹3
-íYdO‚‰- ±Á*åANBÃkQº ˆk2ETÄi’¦Ó Cƒ*¢¢¥Ó"u†©•|e¬Árª¨1Åg¤k©äHpMa ;
-†Ý$9á…Á}æ"×Y|q‡ŸèIÈ“î=@päõŠcr½÷G2»ýõ…bÑUj”(
�?¡p$êò†�…9£³L?a Ùz§‰„Y¤6o~èq©b°£dJÕ|­yƒEGÞÞmož4\¸cF&CG0æä¥áRÍîõ,õVªæ×ì1d¥/·£oŽH�0µYäˆbû²¢©Ô™³èVbóHžJ4�ó$ƒ{£˜;ð6"GuWòð^›:n½t{M—!`¥Ët0Báàø>M<ÊêLL¥Ì'SH�øBÒ¢œ5b$Ì)UŽaˆE¿P€ÄY�b&{ >G±•ðŒ1ðJ27õwJC!)rÎ)ÈZlàÐ³&ÜE16Opxß9Ì ýÁÍûWz#ÀŸ4Ø×	xeP*Ë!±g±àD&_È¨åP�¢–Å:÷ dºó´iyvòÃ¯Ò$m\Œù ã�é�x4:.ÉŽ9†…EÚz|l‡D×K4�B3¥%@g}~e€qçj;VÊP¡	ÞoäHÏf�ÐÊs0˜³FOc¡vë+üïfC†‘<¶±ÔaÂEhÞ&Éà!ƒ¼xâþºÀ´ãþ8s5›å~Á.qvS*÷¨ƒ’*¦†c?øhŸã´CŒÛ¨Ã¼)Ú˜[£§ïbô›—…ûËZHÈÁëŸ‰×í¬z$ƒØàìqg
-ÒaÍ.^­=vovíÃ×8ü‚M¹¢"àÓj´érÆ.7„Á¹ß%�[œð8ð¨>j$Þ/�ÒƒŸ¾[”ã!Òî’…yßÉh88Ÿ@y#~ë.8ý¡9ß8+sÒÙõv±ø¾ø?§õ´+QG�Cðºãe!–Øÿ¥¼ÆcÔº�sŠ|n·<1[â�ÒSÃe7µš»t5¼Ó�²¾`¹þ‹åe=
Á¾+ÅiUù•3r‘'<ÎRq÷Ž€Ÿ®©ÐwK ²�Ïudöâh[T¼q†e_ÏAZUb(-xg°ðáèXÂÎçÃ²xyá�…ÄI|¡5O[WO‹Ñ¬]âdÇØ[À£4�oP„Ð|âà>;Ô_�ÇÆ(ÉÆWÇØs|înÒ%ãçsÚh*_�2Úž4‚…ÑÕC}a_÷A¡s¸ñ!ÒÁ\“-R§÷K
-“dlÄ,ä#^w<1Ãqˆ½ß†O~˜Ù:Ú0æÓ%¢Á.;ï¹ÅRDmé�Š“ú¾7‰ƒ0�LáID£O®¼Ù^œÿWÒÝ¼Âž÷ÛÍùL¸ÎïÐaÑhÎw	Sí#pÄnø`‚)s¬æ<Lg:Ø¾:ÿò6ýðçÏ?ýõ6}ûé§oÿþãÓo_ŸÝ^ž·—¯oÓö�ù´_ü
endstream
endobj
85 0 obj
<</Intent 98 0 R/Name(Capa 2)/Type/OCG/Usage 99 0 R>>
endobj
86 0 obj
<</Intent 100 0 R/Name(Capa 1)/Type/OCG/Usage 101 0 R>>
endobj
100 0 obj
[/View/Design]
endobj
101 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>>
endobj
98 0 obj
[/View/Design]
endobj
99 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>>
endobj
93 0 obj
<</BaseFont/AGHYPQ+HelveticaNeue-Medium/Encoding/WinAnsiEncoding/FirstChar 32/FontDescriptor 102 0 R/LastChar 119/Subtype/TrueType/Type/Font/Widths[278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 593 0 0 0 0 0 0 0 0 0 0 0 0 0 593 722 0 0 0 0 0 0 0 0 0 0 0 556 0 0 611 556 0 0 574 0 0 537 0 870 0 593 611 0 352 0 333 0 0 778]>>
endobj
102 0 obj
<</Ascent 1160/CapHeight 714/Descent -287/Flags 32/FontBBox[-576 -287 1987 1160]/FontFamily(Helvetica 65 Medium)/FontFile2 103 0 R/FontName/AGHYPQ+HelveticaNeue-Medium/FontStretch/Normal/FontWeight 500/ItalicAngle 0/StemV 116/Type/FontDescriptor/XHeight 517>>
endobj
103 0 obj
<</Filter/FlateDecode/Length 15406/Length1 37838>>stream
-H‰|VgTU×þfÏH ±!ØõzîÍ‹-J[\‰¼çK,±<�½"ETDl‰-j4*bKHŒ1b,±E±!"*v{®€å…è²G£‹ódùžþxû®oŸ=sæî{¾}f¾¹ ¥0	ŒN»¼ëŸ™8Y=W‚"£bžôU›Zž�ƒFÅXCumxÅéýÐÐ¨AØ5;Eí‡€9;(|l¨_ýò!@É#@ÅUa!�ÁÚwkø
×øÆaêXXrøjÿª¶_XDÌ˜ñþÓwè2(×*<2(!¾y@“2j·Žå‘ìé´é®ñÖ°Àˆ�£	«©=ZQ‘#bV6?
tVûãQÑ!Q“×7NæÐçñS&=D	ˆ™izèí^\©ü©±F¼å!¦pHŒÝ	Vo�1
-|Ö¦CG´„õÌp¦ý6ªs&.ZÀ¢Â{¦„I‡¥ŸÂÈÂÓcEIˆç'z}®'é�q˜€‰4‘æÐ|ZF‰”D{è
-åÒmzD¶©jj˜÷LÓÓ¤šCæˆ¹jî°pI.ÃÞ\•ÿÆ
¸7ånÅx&Çò·¼”Wq"ïà4>ÂÇ¥¿ÉP)³e�,–²V6KŠì�½’-ùòHž:Ê8¼¹Ž›Ž{Ž§Vy«Šå°\Vm«¡õ¾ÕÜjeEYc­Ö:k‹•bít²ÓËéã¬èt9k;ë:8?wösNt—‡«Œ«œ«¼«ŠËáªëjíà
-q¨•^+³vDíÈwåKþ›�÷?±ŸIAÙ‚
-•š´¶íÂ7…‰H(bŸ@h+¥Ñ>Ê¢t�ž‡©]Ä~‡9¨ì/({°G1ûš\Ÿ*û–Eì§*û8þŽ—ñjÞÈ©¼‡Ó2P†H´ÄÊ\‰—Y#ë%IÙ§É	É‘;òÄGYG9G‚ã’#ÏqËqßò±*YÕ,«ˆ½¿Õ¬ˆ}Œ5ÉZ«ì“­ÔböŠØ×Qö]œ½�ŠÙ{+ûÊ/Ù¿Âžó½§){({eß¨àSÛ¶sÍrM‹P[3–FÓHûº&ª§ææŠ�k_Ån,±»ëÕ®U0MÏK3T·�}Ç¾mß´Ýv¾Wïõüh/Ôyžbúè\_³v¢½Þ^g¯±5óìEvI;2¯üõ¥y>Àu§¢:^÷9÷±¼®î­îe9±93r¦¹}‹üËÝKÜ½ržgÛnOµZ^K¹¶ÅÝ6ûíì:ÙÕ€ìp…g¶Éº™u kŸÛÿrXÖ¦,ï¬²ç—TŠ¯t£ÔvO}v�žÝ=ºz|äÑ°¨€'E5²	¯
³êÖg^@çKÅ÷+±YŠ[E«»Šç(.2�SþÅIEsªVEß}é}H¨bˆŒ‘q2I¦¾þ$2¦2î_ôk1¡/ðÿ†´}Åˆ<\Ç
äãUÂïT‚ªSIÜ&‡ê@E2ä¢ªTƒ,ØT�ñˆÞ òT
-ÏÈ—*“
-„`„ ƒ0áŽ‘…Ñ‹©øÓð
bð�fÅXˆ±ˆ*`	Öc±	ÛñykV¥aöbâ0Žá$Ná4Îâ5¡¦Ô'èŸÔšÚP[jGŸQ9*C½©õ¥þBÕhÂ°ƒqCq8‚aHGŽ"ˆÆqŒ@&¾À9|‰óªo01gTé.iµ_VÝ»‚¯p“‘…)ÈÆtj†ô!¥Sfiÿ˜	7
¥pÄÒG˜M›{ˆ£–˜KÇ
-À|úó¨4Ð?OŸà[jEŸšûæ~¢öXLð3uTM)‹¥Ô	Ëè_ø…:c9uÁ
-ú¿R7¬¤®XC=±šz`õÂFUùÍ4[([i ’(Û(ÉŒ
-Å¤RvÑì¤Áæ!ûq-ÕÞwx¯T½YÎ[9‰·q2§såc|�/ò%¾Ì9œËy|�óù¾Íw°Šºc-M Ð›Ä$äA^DäI³(–f³Å©ÎåŠ\‰+sšGóÍSóL*J©$•¥ŠT“êâàzª{
h2M‘b‰S\RSü¤MåöÜ�;R=ÞÌ»¹§Ôå^|ƒOh¨Ç½¹÷•úÒ@Þå~¼†ûó:À�ª’9ˆƒ¥!‡p(ŸæƒZƒØÍø‡ñ`¾ÇCx(‡s“FÉQ<œ£y-�àÉ£x/�æ1<Vüùþ’ÇñxÎV-¾¦h"ÿÅ“ø>Å“yŠªó×òOãéü
Ïà-Z‡3å}žÅ7ù$gò)ÕîÙò�4–&üˆã¤©4ãÚËžªžÇK'þž0¾ÒMºóNÐþ¶Úäš<ÞÎ)ÒCzjo‹“^Ò[úH_é§o€ò¾*ÍåC™£Ê?�Kÿ)ÁüDB$ÔüfÖó"þÉl0‰f£ÙÄ‹ùg³Ùl1[M’Ùf’Ív“¢]ôí9©f§Ùev›4í§©f�Ùkö™ýæ€9È;y—öãÃÚ“Òù01æ¨9fŽó>k2Í	sÒœâs|Þœ6gÌYsÎœ7øßü»¹h.™Ëæ
-?à‡ÚË³pŸÞ’2ÈEŽjáøOññ§”%?™eîª&ÅÊLZ-¾T‡ªÐ$jÄûp÷x?ðE/-þÔQ1˜Žx•ƒ¹h¡å×B=³´äâÑI#
-½€7ìÒð&/LP”0¥‘ªÿHÒ�7P¸M€n��õãƒí”6%éðNþëU÷ÓFvÅï�a<€ã¯bãñØcc6Ÿ	0Ëé’°ÙÚ»!!•”Ý4î[¥(¼ô…V›}©Z©ê‡ú¸R ¨U¤J}X©[ò¸RžZU«UµªT­TUMœþî½s�E7«}X¡ƒs|çÜsÏùÝsŽ	X= mëåßRúAå€¾üáYˆ¢S©7®Ÿ? t [ÜY¨Ñ-<(Pd, u ¶TS“KWÊv%¶Û}{?¶ûÎÍíZK’â‹Ûû•\¬F6Ê;øÿfÙªÍVzðv¥rvZ˜�ng¿w]w¹x�EÚÀj¬¦:ëåËåÚÞBomv¡ÒkY±ÅÚ“õríÉB¯U©`•§á)>ìô¸>ëðÙ“hV6`&*ûûâÉ¶jOö÷{÷q÷ù€’ÓŠYW�ƒ3jrñ€î­ó¯öl«—)lË¶àVe[µ
¬n”á˜Åkÿê{›#|Þzy„;¾¡w~�_+Â¾/�°>ûX„�ÏöÖHs„÷N”|ã!6…ãxÃBW‰Nn"Yä?²CZ} Ä1$wˆ¯Ó_@ë;ÄÜÅPÛ3r@ìÅ2ˆ™ë=$-d¸XqSh$[¬â%±¸¯Q ¡á¤ßòSˆBêÛôã:É+;/~ªüìÅ< d
¾Lµ‘Õ#ìèeüQá‡~Œý3O˜yB,¶W´2E+1‹•#lK16²—˜«
-¡Ï‡†ƒ–Éÿüöý¼þ!�¯ÿþ�òÑîÑ�ú±#œ²‚=u²r„cxÙ\™�SIºùÊMÝS›\án%¢¥ó-m?þZ•Òßü›½ø�r�
<”,¼ü§òö“ŸáQœñˆ@gØÎ†‚!nmòŠŠ‡WºÒÁMŠS„˜o‡ìÏçtÂþº!)ˆÊì¾pÂ7Xäp½àE•B¾¨Œú;;>¨Œ.<Ð­ùééyK�¹´[*í^Ê(Õ·+çâJ‚þº>¾xg1Ç?„"öò_JB	Âî2=>"Eœ­‡ŸrhŒ£P–�WÇÑ{H$�o*&£„à)ÓÍ2ÄÚxJïño¤ —�
-ð[q` ‘«·!
-¬ŒÂÊÊ3Æ!¤!9F³¡2EPðj)ˆp^uøØe@P½,”ªŠ ªdòDÁU\•ïª?&>ØUý�I|u!
-só,1…¿AÒ+À=ìÂÁ‡ÀMl—bÛi¤°Á«^Ð6…(¥H2Y†h|ýÉ<ãe°QF$øÀ9ñÀâ–?À &‘~L
-ðˆ~Ìóë”uò…ü¸Ù©Úq'ÕI9AFŠÊxQ_<º]Tù¨bê�TïTMI(ú¹×§éz›'
-éö ¿5hÏGìÉ×}Ù°Ùçø‡Š-U53w%ë¬\LTÏ®9�øY£«/iRg¿o”7­E9g[Ñ`rÒšŠ-íL8ÜuÎÐÒ™|)íó%&ûà×uÕìë
-ž5<í=É^þ»ˆØà¥�»×C2YÎæŽ ö"Q,±YDÎ’yssü:öAr�È�‹Éûˆ' ƒ‡(¯š9�»�»�½Z˜xŸcé€ËÈ0©XBV¤»Qáºñº›.´�)|M\ukÀ	W=Láa
-X½�ÂÄý[@CæL²a„ôÁ)G2Ê£É(�qÀ(ŒrÀ(ŒzLº°³òb¼å �ÃŽÜý¶Puè¦e�Ú'¬`<è.øT’`Ä±ã�Šbï*Ýåáéw¦¢ÎÌåLO~0Õ¡TëU¿=–tÆmÿ¥RzÜ6–Î§²+·/,Ý)õµ…úLÚZ/X³ùhld.þÖ–5:ïæ´µ¦�¤é'GH‘>²
-“nÔÖPPTõ=VƒïÌ2ÀB³ð=QmUC'¹Í«?#�[[¼<U^¤ªý˜6(¾™• Æ�Ï5. lIð�EPvÁ·‰%÷´„K4Ÿˆ"l¥Å×{Üç§áqZ|“_$…lÆ»‰1a¦‹bÖÎûã¼Íû9e½Æ3ô]!4í2Y†hb….—¶
-�÷`óCãWØÇ¸êHxìCiò¡@úP }²@úP }�õAáÃ#É[Ô8áUÆ]”’±ñ+>'Óé¯” •‹D‡m“úã#‰ü´±Û6P¼”™¾>gÙs×.Lßœ�èt¨7Ÿì6“ùÈjt"Îf3¥óÝéåí©ñ[«…7ß»€ÀL�
-
-jD�6÷çvÎ,Î¡{‚:*oÒ. ²lRI*ÓB9m(h£¢,¨9¾¬].k—/z¥ÆÛX:æ­¬ç«æ÷âŸ$º�)Ú›JƒÉ¦P°lÈ»o€d†¼ûl©6�j©6øÝWaÚ`�‹1¸E’»…§ƒB¡Hù.“Î eéšª*æFáê»Ue¨ŒªþmçÊåú/èâô8b®þ”Ä9Š8{Ù­•qnŽn#–ïËKù-	¦%ø�Ò»w%Ø–|þB‚Â‰Æ#×¸à=ÉèçLr òÐöêÙSe
-µ)ü'…øÿò«%6'nŠúùéû5		†å!'@;u¬«,Ið©Êˆ&<¢@4ÎhJ°$Á§|&O=-Á
	>WœyÙê–û-~€
	þ.Á–ôe•¯EÆzÐNé¦=SýøÇúäG¿\`Œ¸ûôõÃÿ–Å}S3¨ßýôwÍ÷-Ò¨ã�“ê}Š";)ÜªTŽq•’”àê]éÆ#Vdïó\`È²Ë'-¡‰ÈÅ®f�ks"ÂâÜp_È×òÆDØ×¶ Êfsw0$¸ÇÀ}n«Ñ/‚üœ"ûìÇ"§ßœ(:™¢³I`Š@é"LiR¤™"í²ð
-gìðñÄ­aTƒ°¬aTƒ0Ö‡Q
Â¨a>[¶b}¼ÑÿE�ƒ³À†½®îF-3 GŽ¬
-»jG49Ô—»ì�¬M^y§Út¬#ÕÔHW_°ªhËÁXWGf =¸~½þs:ØWH†–Kõ§tml<ÏÇêæó[½~\	’M°C�~HÚÇÆlöÃÎ£p¡·j˜Ü4Ô
“›ÛµÒ/[p??~?^3ž¹šFÞ¸+CÐÀþú!“�×Ýh>ÖV½¬¹yº d²ÑÄ„g£—ÛM?ÙÜðeóû¡æöÊze½2„^B¯É^B¯ñ^ÙîN`<cQd,*3EÆ¢ÈX‹"cQ¼<4¬5õH¿åR|cùAZÐJiñæ¼mÏß,ÊOg"á÷'&÷³³Ýñâör?>/Náóm6{Y¥B,V(Yñ¹‘ËËÌË9eyasõîÀ\­þ�ýj�­²<ãÏû}_/§íé½¥Š´žrZ¥Å^(Lm(t\ÚrV.”ûE5Ã
&Ž¢1#Û²K¶,Yº9C2�Ñnk4ÙcI›N–tsFÆæM´´£—o¿çyß÷œÃi¡À_[rÚüò<ß{¾ï½<—ßó¼&“ñÄ}õ»’VÙ××-Ç5?‡hºù¼’™¿?cÆEÓQOJî¨u>h‹÷·°.[v�¶np\ëvé¦BÞ¢9bù˜ô€ÜïZî ÜÁF"psnŽÀÍt€¾X¤ÁÍÚ-ýx¼í®oH,o�–;:ejÉ>e½ËQu¸ ¬LšŽ»õ§lU#wÚSæ¬¸3¤;mõ­ÂªÙáöŽ¢Hs¸zv8ÏIã^{É–;gmZRÇ½öè¨z-ÜÖ4mËòêÏ×—W4Í×\­vÀÏ¥t(ÎÕ¶Wk{x¶¹é³÷¥Ó¢\?Ñeó@vÂ@¼—á•J(Sî%™7ÔÕpçb9«D÷-SU¸e‡“6õ¶ÆÉÅy™9¡œ©M‘R°Ò–’šÊbG=æ¸“êÚf|*Í\¦?¤æ8ÏÑzé×8"BZlàÁÇ´-B�ÎU£Óã/a €
-Øº˜Šõ€—Ï¡¬†1
--hÉ"ˆ(
-"Š‚ˆ¢ ¢(hÉ"ˆ(
-
-Y¤c+“±¥)ÇøÈÍ8tI¸ÀôÏ%ú‚V]Î\õøƒºÙ¥E9e9EUEus¦e«UNZOÏÊÑ�
-'”Ûíx•�ªAÎDÂ�8i”çÞ•X¯Äö–*]cïX5\¥YyÑ†o
+<ò¼­ÐÕ¬ðÈvä„UZ¥Ã6#ÕÜUðËÇlWR�…ÍH@Wá7±‘“€£¿4mõ‹Vá[¡|P�
-*×©×¡œÝå^+BÇ¸nLÈŽi¿M±f¦É@gæ 3sh>àò.¸U“íÌ·J–•e:k2PÉrPÉrdÀÝ©‹ïÛ	Åšã€µñj«l·Êy«[e©UÖ[‡ti?¤I_¹pØ˜ÿ„rI?ðýÔ´‹“­°ŽÙn•¨UÎk¸à«,;’e7h|q»UÊ­2l•¬›µ#¹VYhÙd%+;e9ö²•«•÷­²É*÷jwó~ÌÈ«TYe¥UÎ0�è�å™¦·Á¶¸]¬hGÅºõtû“ña¶ÝÐ2«|l•õ²é¢&ûï†ù?¸g«³ñKk�‡¿|p×gýNÚè>õcdHíÝ�Dâ:Ûöû=YŸ×r‰BîYŒÐ¡“ÿØÀò­ßÖ­é=�qØ;€ÇïQ²•Ü£~5MÍìé÷ë2ËhÂŸ÷]§›YS¥1´«C´Ü©¥[�|¬s¯s€*0Þ
4¨RP=NEø®ÏÕ3<¹Á?�÷«€f ˜”a3WØŒÝ*ï˜c&Ï#²–Ü
-jpzüÿ8ýuÞ¦uv]Àg4Ïø.ê„(èôBÎ¥¨»‡:1¾ØÄû=cÉß J|—‰ß8›ý!÷—”îðG€Ë˜s’ªÁ9±gH…õW¨‹0Â€û¨p6S«ìw³ì9¬î¦æ
-c½@.à¬!–Ôên£ÇïUò¾Qðœ›-ÅúsE¸YØsˆ<è.Ö*U5þ0½G-�°>ÛƒäìÀ=©m“¶Y@°ÛØíZ`{&¶ÕöõÏ²�µôÿ
-—õ5&Ú>$’ý�öÅðÒmâ/ö[2Ø�‰è‘µ\Œß/ÇßÇÀ¾žˆ¯
-»WâÀ#@Ý>îïÉèJÇE»ÙÄÓÛ°íRƒv¼?�s…^ðïwjý!è”ÅÈÍu”•+˜�±ƒãòæ˜‡˜š†±v™“¿Ñßµ Ÿ7z{‘ÓÈ7¬]‡µOÎï`lžÖÑ‘€Iü¿AÖCÇ·O©½”äáyç¨p¿!giå<vÛÀm4]=„\è¦9ÈçJŽqŒU™<¯çáqá�‡¨Èwß£»Õw[l>gMw#TËRP>yšBÎi¬ó(~ï¦µÎ%pF•;/áüEþEè|ÖN Cí�Ü\dlËç{“sÖœ«Ìè'l«V‘Ÿ“õ¯€ÿ±äõ5À¹4õœóÉP_£Læ€ÆÎ?Âàá
-·9x
-û½›tÃ>ÂGþ™?×çŽùó\‚_Œ/ç‰�xOš»çIœ±Ù¦¼‡RjJš÷*ñÁóÉš‰ÌÃ0qµq'þ«Bž³ì/û±›ö‰5ÄßÂ‹øÎÛD�îiÄE¯pO±E,1çG…Ó÷øCÞ·ý¡´ŸB–¹ÃqŸõG¼WÁósã5„k„øùïˆŸ?ƒ82àž£€wJø¹•ùÒs‡Ð
Äks<8PÎÏù™ÖNQïuà>
-Q÷ìs{Òb÷0pÎÌ|]ËuÓÿÛHøŽc†y‰}=‘4ß[É¼/\Ä\ÍüÑ+u°56¯‘‰{‹½Ë\œ0gl.ýM…pâš»ÅÖáä¹ÇHæSŽQË]ìoö“�‡ùœkb²d¿ÔÊ¾¢Rc¯&í>&’è¤FÇÏÛal™$ý³Èé“ö¾9Å±
9Ä1³i²D,I<ÌõñÞYý“Ç9¾8F’eÌîW“Ù·ÇØ«'n?é-®&¹V2ïL$»4'�/ýáëŽQä ä‘‘\k™¿&’Ò‡q/—GÒ—�çÆHööãÆ¤Ü¸iy½ñe$Ç¶ÄÁD~KÎu{¾d™4,/ãÜqñuTÖ4sÅbKû¼Ñ	c��ü.1%y€õ¹ÆI��žßWÑ¯¨@½LÙ¸Íä«ÍÀF€õÅÀV£3P»m]¾Ú{n›ïƒ‡s€l È*H�$é'í$ò¿
-ùs 
-<	ô}0hr�.à@9ßCÜU°]/U¹wá¼Ïã¼÷áù78£�{?èŠõ²“$Ÿqfáž^Í?±{Ác¦×äw8�ÖR“ô�ìƒó¸�pÍhÆZë°Fì˜…~‘}WŽ{Ê;øÎôöô‰Ô‡VÔ±€@¿uÄøØÞ6Án§1o+Þ?‡ñ:¼÷Gì¿¿} ÷�ˆ·Ö¿ä­Á>Þ•g½œÃ­¡,o¡?è,C�äq>ÃûèXß„Üâ}þús¨‰S¨Ã»úùXñråÌƒ²Ÿ*Ô¹°§WØ'ø¶uu³ÙûÓ˜³Oî(Þ¯{ûû:žg¡ÖîEovú~Êr*å\•îLÈJÌƒ^UbôøèûfÞÞu�P‡[ˆçŸà½Y87sÛ÷,òûä÷Íågá¸¿Ù»¡®WÖ‘x>µßH^ÇäpØJ�x�Ð9�\|Rúßã>@…üå^”ífç|“˜»^nHæxÉgÿ-“×3¹:‰wËxe|M†�åÖDÒæÞ2½˜ät=Ôjô=Ü×ÃOÌ;Â=oÐ$Œ…W!Õ¹
XlÀó"¹_ËÞÖé|“~öè­,Q�[uî±”<ê’z¬ïŸìŸˆ7H·OÛ�cPbŸc5db4ÙÞ&f¥gàwï'R}DÞvÐý
-æãäœá˜ZFóÜÈ]2O¦³±žŽu‘/n²ßô‘Á>×�‹‘ŸœG��œÏ’ƒ£Å±çøü¦Ò’óÜÂÌÃç’3{pl7€_~gð'à ºè×�‡Ì>•î-PÅÞk*=í‡À.ú@]@ß=�¾ 9µ“¶©SµZDk¥|/ðU;ü<ƒ–8ŸBÖR	PÆœ`ÏdmJúï›ÿûPt“ø"˜sÅ�Áû(ŽtÔÄ@~YOÄ‘³_#÷e�üD…µEõÅ	˜ô³RH!…RH!…RH!…RH!…ÿ[(¢ÿ2[æñMT[ÿýÚ$l¥ìeD°-)k"T¶¢¥BqC�&“d ™	3“–
-îâ®ˆŠ¸¢€¢¨¨(ˆ"Š"ŠWÁ]TTÜžŠ>ß™ÉP<|¿ôÓÉ÷ž¹÷l÷ž›˜‹Yh„Zù—‘|Ú9h¤ à�s
-|9r–Ë#ËD¾Œ²œƒPÎZŸseþ:Ÿh—³Çç šä†|¡mnŸa~n7Ÿ›  wµÏMÙ7w³ÏÍÐ>˜ësº;eY‚C}&ò‚“}ÎA“`Äç\´&}‚³|
-Ïõ9„‚àŸ‰|�Ï�EÏŸ› Mp›ÏM‘Üís3´
îõ9y!?.6GãPgŸó‘ê&™a  ¹
-„J<	ç…ú{ÜH¸e¨Üã&ž|¼ÇÍ„Û†¦xœ'Ü44Ýã–Ïô¸•Ç³=níîEhŽÇm<=ó<nëñB�¼ùË<î(œZåqO¾ÎåÆY?7¹œGO¾Õã¦o§ZŽbÆ'¡)Q=®;j2Y¯hFÄŒjQ%¥Fº¡)–¦FÕš¤¦˜'é
-¢ª£*1ÓRÒ–ÍDt#îi˜XŸÖbjD³]y­îªÐm%b¦ë-=žpd¸Té÷UŠÜ¯J¥n˜Ž¬QF§j*
-•ºººâ¤/*Ž˜©b¥<™T¼¥¶ø`kV­-V&&D©mÆœ:ÕÒ\®i1˜Ö,§Þ
æ µªáFR¯ˆP©qƒÉ:­E•”ÕcºKQÝŽ$M[\”¨K5ì˜fY2¬Ó�„„íÑf¤Å
[©³tÇÑEM»qªÉÿ2Z¬ß´„\RVZZ(Ï²°÷ì«”GMqdB½íh)[#Ù¶Ò¦¥:ntnÈÕÙ�«B®Ð’µš£GT7\Õõ/ª¥Tkšk¸B“D'k4+®YÊ+™–Rmoß¥|t¡8Ifl½V“�MêÍpƒt–™‰'þ.U^šâºøç¦@7”ˆäV•ï©K·£zÄÑMÃö·ÂñwÝõÍ”˜uC2"çªÎÌ:Ø`c„fëqC™àd¢ºé.–ƒ”ù6%›Žqþ—Éý™¨Ò2ÚX-ªgRÊ”¬p°R.Gû…µ’ÁrÚJú……K9·afÃ[÷eÑÁÚÿ¯rè¬îw¶G¥êÈ"·H'Ôé¶ÝSI¨ÙR1k¦J’Å)Ïd,cxeÏl§^j¼.¡GJ�LVmÛŒèî±ôª «ÇÝn3n©éD½ëœ«°¤¬Øö”•”
Ë±ã¸¹’zŒ‰!ÏÝ�pÕ7$ç]ê(mQ¹i´AR™rp5¥N¡;ÐR¦;³PB¶%’ÔT÷¦‘j0O…›zÝ½)oxP}ØŽ.5dÊ5å_l5šh±µdÒ½§l)í"©+=&ŽŽ]œpœô Þ½¾|þFÜÛ]”=µše»Å:q_>ôˆ2JS�Œ8êÊ÷q¥ÏÂp3•ßÆ“Ý½f¥DoÚ´u7–áªaŠÜKÒ~aBµT©Kn?�µ®‘,kÊ8w3^.ªLEfq­*“’siðÎ)Òª{c�“Ó´üñgWÊÊŒ—›\�W›)ÕÐU£Ú½eœ®*Z°c¡!
-¤PIÔ &2GþþóÝIÂ6¦É(-³¦	gä½‰z‘
3ÍðŽðúðâð¢ðÎ
­
-l\q€ŽyWvE k`X  _`H 4PæÏÑ�¬*š9&42Ô+TêØ°VÍö6Þç¯•èƒC|¤wr‘ùuH�’~Fº4•ž%Í‘�h‰Vh�6ÒUµCÚ£:¢:ã0tÁá8
-ºâHtÃQèŽ£qz 'záX¢Åè�0JÄv_ôCÀ@”¢ƒ0ÇaŽÇPC9NÀpŒÀHŒÂhIíœ(I¬”@ªp2Æa<ª11	§`2NÅi8gàLLÁY8ç@•Ži6`=F
s¥OŠHt=þ”Îè/éˆ¢l,ýÏ.¼&‰yEºŸWÙLÚ‚æÌgüÊ–lÅÖlƒMØˆ×Ùo°~gÛ³;²;ãcÆ.<1�­ØŒ-xq*ìÊ#1�²�bwÍcð)ö²{²�e!vãm¼‰·X„‹Ù›a–°ûâköÃÓì�Ï9Se£¦É&'9�¥0X†»ñ/"8&�“¾ð+L—ƒdqlÏ¡Ærž€ß8œ#8’£ðŽ’Ux‹q)fc
nÆ\†g°Kñ,Öâ9<�Çp1^À‹¸—ã%¬ÃJ<€ñ2áZ¼‹÷°
ïã\‡íø;°áqÜ‰ø±WâIü‚Ÿ±ßã*|‰ŸðnÄ·¸÷àüˆkp	æs4æàÜ„y¸·â6ÜŽ;pîÃý¸O±‚cx"O’R©e%ê8–U<™ã8žÕœÀ‰œÄS0ƒ“y*Î•B™‰ó0‹§ñtžÁ39…gñlžƒÏðUÖ0Â(.Àù¸�.bŒq&¨s*¾á4¬f_0Eƒ&ÓœN‹6fXË:Î`=ÏåLÎây<ŸðB^Ä‹y	/ål^ÆËy¯äU¼š×ðZ^Ç9¼žsyoäMœÇ›9Ÿ·ðVÞÆÛyïäÞÅ»¹�‹¸˜÷ð^.á}¼ŸKùäC\Æ‡ùår>ÆÇ¹‚+ùWñI>ÅÕ|škøŸåZ>Ççù_äK\Ç—¹ž¯p_åkÜÈ×ù7q3·ðÜÊ7ùßæ;|—ïqßçÜÎ¹ƒ;ù?æ'ü”Ÿñs~Á/¹‹_ñk~ÃÝü–ßñ{îáü‘?ñgþÂòWþÆß¹—ðÏs]Õqm¤A´}ošAZêÞ«{�
-¥íµG!PZ
--R·%Y`KHh²êîÞž»»»»»»»»K{›Ý…ìÝ_3ßÌûfÞHòû¶í±¶ÇÑm‚vpÁ�$"	$#©HC{t@::¢:£º¢º£z¢z£ú¢N@À@Â`ÁPÃpŒÀHŒÂhŒA2‘…±‡ñ˜€lLD&a2¦àDLÅ4œ„\LGòáE
-1E˜‰Y(Æl” s0e(G*1ó±±‹±K±Ë±
-ªàƒ*ªQƒZhX‰:P� BhÀ*„�Ž(Ñ„f¬Æ¬Å:¬ÇlÄ&lÆlÅ6lÇìÄ.ìÆìÅ>ìÇÄ!ÆÅÉ8§â4œŽ3p&ÎÂÙ8çâ<œ�p!.ÂÅ¸—â2\Ž+p%®ÂÕ¸×â:\�p#nÂÍ¸·â6ÜŽ;p'îÂÝ¸÷â>Ü�ð ÂÃx�â1<Ž'ð$žÂÓxÏâ9<�ð"^ÂËx¯â5¼Ž7ð&ÞÂÛxïâ=¼�ð!>ÂÇøŸâ3|Ž/ð%¾Â×øßâ;|�ð#~ÂÏø¿â7üŽ?ð'þÂßøÇpœmØ– )lGÝL`"“èa2S˜Ê4¶g¦³#;±3»°+»±;{°'{±7û°/ûñöçä æå0çŽä(Žæf0“YËqÏ	ÌæDæp's
-OäTNãIÌåtæ1Ÿ^°�3XÄ™œÅbÎf	K9‡sYÆrV°’ó8Ÿ¸�‹¸˜K¸”Ë¸œ+¨°Š>ú©²š5¬¥Æ•¬c€õ2Ä®b˜êŒ²‘Mlæj®áZ®ãznàFnâfnáVnãvîàNîânîá^îã~àAâaáQžÌSx*Oãé<ƒgò,žÍsx.Ïãù¼€ò"^ÌKx)/ãå¼‚Wò*^Íkx-¯ãõ¼�7ò&ÞÌ[x+oãí¼ƒwò.ÞÍ{x/ïãý|€ò!>ÌGø(ãã|‚Oò)>Ígø,Ÿãó|�/ò%¾ÌWø*_ãë|ƒoò-¾Íwø.ßãûü€ò#~ÌOø)?ãçü‚_ò+~Íoø-¿ã÷ü�?ò'þÌ_ø+ãïüƒò/þÍxŒÇ¥�´E¤�¸Ä-	’(Iâ‘dI‘TI“öÒAÒ¥£t’ÎÒEºJ7é.=¤§ô’ÞÒGúJ?ãAÒ_È@$ƒeˆ•a2\FÈH%£eŒdH¦dÉXãÁ2^&HvìÑ"“d²L10Sešñ˜É•é’'ùâ•)”R$3e–Ël)‘R™#s¥LÊ¥B*ežÌ—²PÉbY"Ke™,—¢H•øÄ/ªTK�ÔŠ&+¥NR/A	Iƒ¬’°DD—¨4J“4ËjY#ke�¬—
²Q6ÉfÙ"[e›l—²SvÉnÙ#{eŸì—rPÉa9"GÝÑ –‘‘›áÎ­W|áPÐ•[VUwn¨Æxn×yò|ZØ­¯¨ÍIyþ�®øŒOÝ•ïSbà|ãŠ¢»¼æÉíµCxÍIÞV¸ÛkG+tD+lu'ãzÅ:xfÄ12£J	»ŠŒÇ¿_uYÑÝEv¬™q\ò,GW±â‹êª«Ø$•\ìpI±‘ÓUbùK,‰Ãï.µ+(5+H)­�k”p´> DuW™u¯ÌºWæLYnº<åJåN…u§Â™+Öø¬Ì\©ˆÕXiÕXiç¯4ó·«�ú”J'w¥]þüx.ÏÂ¸îZdRIZo¾bU¬É*vŸc¾ødýÖdUk¤ª}WµFªÆ£ªv˜G˜šøHkœ#­uŒ´Ö(W¼Ñp(Õ�Ð›BçœF “�áqiVs4{4+s‚�	¨‘ÈJÏJGÛëœmXXÝ8]AË´\A'Û b|¤éÆ§T­êÙõ‡¬…ýg!ÂfŒä°3nØj_ÄZˆˆƒYÄ	Ó­¼º³h=¶Q«Ö¨�7j-BÔ\„¨3»§É±«°ÆZ€5­³@ÑLh+•jM›�™51'Q�èF/uÕïŽZ­L4>vÕÑ>¥!Ñ¼ÓRã!M‡IØ¡)=Ñä³%û5Õø’Ô"±ƒµÙy9IV
æ³Œ˜–«$¦´w3¤´Ž�Ò�‰å².Óíÿ«ü˜ÌÊÊÌ±åxÓ>6gœ%ss,9=/&&$˜%úê«Ì
-
%%^`ÌlÖb(‰ë˜É$m(É­ÌŒƒ§¥TCwÇŠ1dš³–ØM³E†’äSýZÀXC#®ÕêXb›òh_À°˜äŒï´*Ò�¸Áš@•Q-gçÿëµp8N7­þ*°ãL¬CƒÖ5%à×ª«-TºÓb�Ò"Q£Ïº›SÒ>~¶)aÅ¯ù”€åNm9YÎT-¨«FgmoZëÑf 44„CÍêªh"Ýi±c
æqDZëÑr{|ÍWç7š¯’M=`¬®‘#)6ÍÈæW“ª•Ú°¬U5ÝU§µ`BiP
?Þ`BESÈT’*ˆeK,EÃ¶¦5Ú¸r­ÙÂ•CZªW«©Õ-`‰ÖÐöz¼�V¤§¢ÉHkÌ�fNÈ³e¾-½¶,HµDÒ[¨éqjÕ­Ôª[©EZ¨EâÔÔ8µ`+5½…Žê ¦ÿŸZ¶M-Û¦–íMÑkCÑˆô›(W‘¹ø.Í©ÿÒ]mÍi#K¸ÊµKb|ÁÞ$g¯¿¡„¸=JHØllã2�Ä~Ù’�lÉD!ˆc~ýé™ÍH
yaº¿izzú6-éóeˆ‡‰RyçÝÑËàmh�ÐºwñïÞÅóÞôyïêß½«ç½ùsÉ¡VÐÒ§%¦e@KBË˜–µ\*ã¬Â¨+ë"¬÷e%¯‹¬Þ•ÊÌ.±zW¶³+ÙŠÃNŠ|ÙÁF È@“ï5÷¼²×òŒîóDËgZ^È_êïZ�Oÿ<JòÜžw·çmö&›Ò½VOjr‘Ö–ær);¢	QÏ4ùÎñi
Bz‰é4H#¢C—ÎÉ¸H.ò‚Ôéä‰|ï«.ö>TDeÀ•ùÃ�ì¦ŠIrLy`NH4ybP;IðîV­o*	äó°Z/çád–LäãÖhu,êû–ïŸ,‚iò½oK49~ ?Ý‡Óä•üD¤kì¹×ä¾@åþþ}F•Ý)Ö‘÷š<ê*—Ho=ä¹²gtOŒnOëžhÝžÑ=Ñä‰g^(&8T™'á0Ì3j‡&”0Çœø\kÈ€_ŒèÐÐGYÐ,æ¹rÏÜõÑ‰g*jO*úçF*29×‰4užebŠzžåa¤ˆƒsy8Yåè~î±¡�ûÅ^ØÒgZ^ä²ÿYÛò¢ãôÙÄéE“ûZršQ�©
-™ùò…Ñ45¿à±™2 tI6Î(Ã.�?gÆŸ—Úž™¶üÊHÎ�ä•–œIcÙÜXvÅ-›ó¬¡šWÆÐÇ„gž>N
-ìá Ÿ´Ižä38É1¥kZäƒks³…!o¹4÷½Ñ÷]êHÝ°H-Y¤nŒ?–†ý©Ñ?ÔúS­Ÿ¾
µL%eüP¶ÞÜ~‘ÿMë4Pº•G†\{FÚž•ŽïÈ\beâ;âñ]1À<�Ä®ìÁ8WqkCŸŒ¹Þ5Ï›q.oÖ†®ŒÉÿÙ1•u‘/}‘²¥ïrÙÿ¢oú=£J_é�|¥å+eÍ+U÷WÝ_^3ªüÕøÐxvÿ«Öüª}øÍHþ0’ß´ÎZç­‘|ÓäÁ]îÛmcèý;}ÖFŸugâµ1ddÚÏ*;ì×Wñ®ýú&~÷­*È¨ÇEoAÀ�œ„ôZ^‚€œ„ô|^BrÙÉ‚mìÀ‘
›ähÂåi
-'špy†Â%}Lx¦ö8(°û¾¦4V¢®DÿÏ?ˆä„�>wBÈŸ{%ä^ñwx%ÜÆöûšŠ55ÐT¢c9àF&p#¸Õ	·z°Ãêd‡ÕcM­µ—o©îÞä²«%ÞŒÅáM.§9Q©Ÿ†ÉûY¶É¼Ÿ%pàÄa6ò†>tòoK�gúy&Î1Ç"Á}¢ópœ\ç˜Ò%-3Znèûi)—?Å7VÕí@ÿÊë;WÿÝŒ¯}ÿ¿aÿìê£Ukõ6¼œáçß|Šß_h³müù“¢]çOG’nõ`Šg¦Äµ{0|ˆ^ƒ9óÖ[€æNÃ4}®ˆ3­nC—Á*’âV£©—\½mÃ*™'é/Q’¼ü� üCP/‰½�ÒöV6øý8\/Âeœ,hƒøTe`ÄWk~ °	ø›aŸk�ü–ehäg-SÚñ…[ÛdSþ˜;©]üxb˜«W-Gç´ë°ŠÐåªTÒ�H7b:å�˜Nu#†ª1¥t£á³j�º0~ÅËÉ)¶°\©B\!â…ÑGBºtÂÒzÒf…)AŸÌSà'ïjDð‘áÝdvÿ;¡=L›õý4<É,ð?%^«�Lèþü{¸ÄFìœÐŽ‹z–sÈœ®[u‘y®¨qþE m²Ko‘!VÄ›¥QJG«	ò+OÃì�©yþŸldp½
-²Åh˜nZ¯±ÆO	oC:
ÒÈhWA–6VE˜Ck C†Ò=m›U‘ØúMlU±|’ùj™L=ÿ‚jØ©Âà�§8Ìà×ƒ±áÜ*¬W¦=}EbæÄ’iÀÝõ¿„ŠoÂ†x*úN
œé"
-‰³À
Wªtêp ·+Ä5À_¤16%Ú„;= ¦¾þ[Fî(1ls‰Þràs°XÇÄ¹pÌî'A™Ø.\®éÁUFúð-Vô`0‹å.ytÔuLç£—n¢„ÁËcü¼T;6Œ‚5)p0¦+¨½&\G™†t5Ý†ë4&m.FÔøÇµà^ûÇ­Ã“ð�â0Èát¥¼…nóÞn×Þr[`”´±^µ·ðQˆµ·\^Œ·\¦9o¹Ì•‹\~(¹=HÈEtR·Ë(!]{ú¥FÚ»ub• ¶–ÌMøJ¬ónê6a‘¹¦Û‚M·a‘¹©ÛÁƒÃ§@ô›ª]µÀ{»ê¡=%Ì?C”T.Œ”Â¸2ØGÂ\¥{àm(«ÉÆ†är“˜C6xìØ&ó–²&8ƒÚÐ�$RšA.øSõàšù;â¸(„íÐ,Ú…
o”2[-‘©kÃ0Òf|"¬ƒØƒAÿ Ô�ó`9Á
-™³�.“ÇU~Cê™À)C}è¯Ôƒ>söÒ{æ¿ºß9„EÄ!QIÅûÕ±|x|pºÙp¨
1‹O]ƒp|bñ©w!œ1ÈÃ!‹A=X°m&8dCÈÂh7aÅÃh‹Jâ>3<Œ6ÎhÛaÄq0ÚF»éÎ0Úxf¨1£Ýƒ8(ÚÔ°`òÌþ‰ƒHÌLÇQrÊ‹¹áÀœsg‰\(ÿ‘`Ó‚a8‹¹ájÕŽM:¢éÀí:e˜o“»�ÃiÅ«4`xâ".GÚ5>“�ŽŠÿÀGwLh†ÿM¸……å…éC8Ÿ„K¶WÇhmí	‡ønµÎà	ç…GL
-´!È�Âë5xç<›ÎT‡@CÿÔ§«§!¾Ù�`Ç¦œ‰l¯
-Ž+f¥Ì@ãX€—ªð¾$­µ(¼®Ä‹Ú-|œX
Šr_Á(^€?Œ¶xfæT Z’¥‚ZÏ…àGEé(¨Vk‘Õxœ—
]™åj�ÜÚ¢"©á±EEÞÞ-øÂbïàÇYú“Ø;Øm¶÷T×¬áÿXÖP<ƒN¤GÑ(¯N	Pƒ‰(Dè-ŸfóBäU°r#¾3Û¾Å�…ûÖª6Áß3œ_
-0U†×„~¸•)ˆ·°[pJ^œo|–Ï8ä„,eqlñšÏ8Ä„;6É•˜.ý„5®ÎW,œ
´šõùF®½‰«ç¢‡ˆ¬#+¿§J¾“ób³Ãë¤Q¯�cSŸ]§§XC*(µ$”Û’ƒCÉŽ ¹øæaå”Ü²'²Ñ‚·¸˜õø~i4�ÿ­
ü]¨uÁŸ±Ûúâk¦xÛžø¤)ÄÑ³aðÓ {
Hvl*—ta°í'’m?¡%»ü„Ö`j~õîî~µÿ¤à¬øÀÎÂbe}?&‹ÏBÕÂ¢¿Ùºþrë^Ø�nvÜßeVvçfþN7ðMf¡´,±zE—ŒY(Ñkœ®ÇÛ†ã'Å¶á¨o—á¨³ŸÒ“Ø�o^²rÃiòªçÿtW]OGÒ¤!)$"mBH“6-NG¬wý±jUÉû…RZU-PT©Ú˜
ÞÚx­µIRŸú§¢<�¿Ö3sgÍÎØ~`ñ=çÞ™{gïÎœáï
-DÉàßíúÅ©ñ®ù	Fu~hTá#0ÎÃZ
ÐÉrC„�¿ÄâŽ¥·Ed¡F³-HÂDvQ¾<¥©JA¡I
%Ù¦'´Ä×”÷Kª ðÄ×¤C>yÉµVP@^ãå’—V5àˆ<Í7½MÞûiï¸€,ò”Ð=‚ªäU¼…ÚäX *¼)ÚIK<tE;éP‹¼Jµ„y•j	}ò2j	ò4k	É»\KDž¥Z¢mòÒko¹ŒŠÂ¤Æ{Yÿ$ˆ‡�	àÔ?°$
Ïá�üüM?�…m¡ñûg§Iž­’ÙàyÒÎòã\´€ÐªBÕôO†Ð™§²íF(Up;Ã<;y’te‹ØÍü²QÒKÒx…�:oõ�x?ëgÃ5‚š<SDJp™@—‡#òRCáÉFZúSæ*N�X¼Ò`jÒžÉ	ËÏÁv·qÔŽ®„–¤ä•ÆnÑLcj�P¯xLÐà-ŸÇFE-\f&*Â‡”hAÄ§EE�$ñ~fÌQÊËoé)S^¾7CIø>Ï&–Ç
-ïÒòàÌÆË£öa›ï˜Ç'ÎüŸŒ­ÇÛî?†¬ÃéörŠÚÃùv0œÜ®,ò@ÛÆH› Ã“<Õ�mŒiÎ®T%gulØüdâzçá¦k^kk>ïšEÔžNjS§QåQ:Š
Š«ªm¸Éõâ<OŽ
Üå™ŽShæÃxd`?¿Âh;Fßît’ƒÁè,ïŒÅOf0U£ß
-c‹�¡3Á­ó£N2q1Pdƒ_L!éFá6ùÑLÎå3¹ß�uCu=Þ�äÖ‰CÆz	Š4­êÖ6"<l†Ý47!£îIÐùýYw(ÈüInƒ8§$»ÿÞ¹ê=Eã^sEŸtŒ»‰‡í|ÚÛñêÜŸùv¼oO!©B¯)"§­ŠçŠ0�Q÷„ß+Ýhu}K4ˆvoRDU4‡FÈýË	š|¯Ýy¨Ë‡e”j€Fígê•GDüèb
-KoÂáh&‰þ39õeVùK]8)Üæé4A:¸Í�à¸¡ÍšÛàTy†ã|–<«’U“gôn"GvB©"j²¦¯^Ô;ë¤T¬+¶ÒIV¼¬(„ìÊ7mÇ=?;=�j—P-uÆè^!
îS3á»v/>]'¸>†;K†£4ëI„;& mÒ‹¬?B$²ÂI6¤!m‹'§Bßü¡\_f	þœ`(Wñi!k’‚Ú Êáoã7ç4e×ø Î“þÏÉë‘1f�˜ß…J2‚üU·“)AMb´ /$åPP7•Ã×,8-PÈŠ¨îoóA/>ÄgÃä!—ÖYUÉ¯’aóa7¼Îò·q~¼F˜#±W˜@€7Îªõz ŸžÛ^ÏšÍgý„ oÉW4º=À)œ‹Ÿ‹r1zH]XÖ’4¥‚”¶È®Ê§-ŸŽ:�Ï¦|ú7é“m©ÿý•zïÙíÊÜv�=g•¹�øgáï1»Ïc+•�ìö'Ûa
 ÷ò-Y�m±�1²Å^hQì#{Æ~TNÅ@_±c ¯™­‡}`¤r·òž=ÝÿM×ƒ÷Œ	tŽÝf×DžŸÑ�Kü°�Ùcö€-³ùÊ%[`±]ö=&| í;ì?Öcûì$"ìEx?aÙ
-"…½„ŒŸÁ^C¤°—‘Þ[gw1�°ï¢F>›lUÚ+(§Šd�ö*ŠûŽ=ÅlKÒ^·	‹Æg—HY¸†Z·�Â:Rö'X�ƒ<"ìëFÂ7°R/J|jpÓHxÞHè––Ð%¼Ê„5½‡!nb¥­ôÿD»ù
endstream
endobj
92 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
90 0 obj
[/ICCBased 104 0 R]
endobj
91 0 obj
[/Separation/PANTONE#20Process#20Blue#20C 105 0 R<</C0[100.0 0.0 0.0]/C1[47.451 -33.0 -53.0]/Domain[0 1]/FunctionType 2/N 1.0/Range[0.0 100.0 -128.0 127.0 -128.0 127.0]>>]
endobj
105 0 obj
[/ICCBased 106 0 R]
endobj
106 0 obj
<</Alternate 107 0 R/Filter/FlateDecode/Length 497/N 3>>stream
-H‰b``ßâèâäÊ$ÀÀP\�˜ì“˜¤ÂìçØ˜À 1¹¸À1 ÀÄÎËÏKeÀß®10‚èË: ³0åñÖä‚¢ }ˆ�RR‹“�ô N*/)Š3FÙ"ŽFN@v›‡“‘#œ]’ZÒËàœ_PY”™žQ¢`hii©à˜’Ÿ”ª\Y\’š[¬à™—œ_T�_”X’šTµ8@~u15 ÑÉ„ADd”„…›Ü´C‹™™‰"†°ñ™˜YXÙØ98¹¸yxùø…„EDÅÄ%$¥¤edåä•”UTÕÔ54µ´utõô
�ŒMLÍÌ-,­¬mlíì�œ]\ÝÜ=<½¼}|ýüƒ‚CBÃÂ�n‹Ž‰�‹OHLJNIMKÏÈÌÊÎÉÍË/(,*.)-+¯¨¬ª®©­«ohljnimkïèìêîéíëŸ0qÒä)S§MŸ1sÖì9sçÍ_°pÑâ%K—-_±rÕê5k×­ß°qÓæ-[·mß±s×î={÷í?pðÐá#G�?qòÔé3gÏ�¿pñÒå+W¯]¿qóÖí;wïÝððÑã'OŸ=ñòÕë7oß½ÿðñÓç/_¿}ÿñó×ï?ÿýõÿ÷?üB†ÿÿÿƒYÿ!x¤‡Ë¨ÿG´ÿí,<ì
endstream
endobj
107 0 obj
[/Lab<</BlackPoint[0.0 0.0 0.0]/Range[-128.0 127.0 -128.0 127.0]/WhitePoint[0.964203 1.0 0.824905]>>]
endobj
104 0 obj
<</Filter/FlateDecode/Length 492593/N 4>>stream
-H‰¬•wPSÛÅ	-�Ð‹!”H
$!ô¢¡÷.H¤„Z½HÇ‚€± ÒDAá‚JQDšÒ›4AŠ Â=è»3Î¼;ïÍ›yëŸý;³÷7ûÛg­Ù€í±´5u ¬H¦�µLìŒŒ]\‘t€`ÔÅ-8�`nn€:\ü›¶ªÃ±ýÏóÿQGÜ‰Án@%
r´ØÈÅ K…Q¹dŠÙäy�y(D7/€Ö2…†ÝAfÙ)Ô›2	dQNr:@åì2î7ÆT.ßYGÀ�¦3D©d,@½Ëñ/Æt¸W‡ìéâG`¾Ñ�žñ«ÏŸÖ
-p¡Ý‘ºfz–9e¤¸�•‹SÀ+¢q*8/ñ?þ„ÿ&
-1œr8jF�½=½(HpE$Á=À•ˆ´Š¦ý‚¥‘þn2pÊÎù«jôbÜ^Ìþ]o ¥¥¯M°þ»q ØÛóçÚ�àßÎG­-�ù?Ÿ~ù:Aì—‚Dç?€0£^‘­0à¼å*àM—NQùyPp?€2¿2õ›þá›êW¨* ‰Pjs5Z4’£†m1Ì33u1×)cÉcMc»e÷ápæ<ÉeÈMàQä•âcáÛàh:ZŒÈŒBzY	kŠàDEQ<Ç˜Å b»âk’RƒÒoÑ­2µ²¥˜\l.\Î
o,¯ €T„)n(�+w«Ô«–©ÝR¿®‘r<þD!R3D‹¬¤¤KÖÑ�48og”bœirËô¾Y¹y•E�e“U§ußÉ�6s¶ë§~ØÃ8…N£�ðÎªg4]ô]ÍÜlÜOÝ=|=É^Þ1>ñ¾i¤L¿\ÿÂ€¢À² *r]p3¥3¤7t4l6|-âG,šû,êö¼ZŒÁ…S=ÿˆˆM¾TWß›°’È”„N6O	MÍKkHÎØ¾Êq
wÝ"3àFjVYvgÎ\.4O0_¥àä­€ÂÄÛ·ïÔÝí½÷ù>¤˜÷¶Ä°Ôµ,ªüzÅÃ‡�•3�!U‚ÕêOŸž­I«Íÿ³¢îE}Ï³Éç
ô�M˜f�ûÖ€¶K/sÚ+_µuŒt~yMÓÍõFà­p�Ø;©^™>l¿Ü{ü€üùAù!ü°ÜvTö#ú“ä˜Ø8jBh1Å?Í=Ã1³?;1×2_´�ðÙwÑt	»Ì±¼½2´úìKÁÚ…u÷¯ºâ›°ÍÅ­îíÊo×v"v]¾î)ü@ís0€þ·R%B¬ BÐMê·4å´)t~ôÆ0)F†EÆ.¦Ræä#þ,æ¬86.¶ø'öŽœé\aÜŽ<r¼L¼3|/ø³BŽZ d™—‘ÝBÂ"dQk”Â1¾cb3âÝO%¥R¤£Ð¾2Ž²fE,ÇˆÛ–›Æ÷Ê7)<V¼£”©|Yå¬*Y�¨n£¡\í†€Òä×‚k3èPëìëîêméo,N
÷˜t˜¶˜½0¯·¨µ¬±ª±®=YoÓ`ÛxªÁ®Á¾Ñ¡Å±ýôk§>ç‘3Ó.«®ßÝé‰\(OŒ—š·��­¯)Ô/Á?' "°%hˆ¼J¡A†*‡Y…ûG$FEµFOž£:/£u�x1á�²Øw—¶ã	'.[$º%…&'¦¤>MëNŸÉ8¸Ê{Mþºefà�ô¬ÊìÞœÍ\Þ<�|÷‚Ä[�GîPß•½g_téþãâ±æRÕ2ïò¬Šö‡�à�1U¦Õ¤'IOKj:jêê¥Ÿ™=~‘ÕÐÐ8ßoÑh%µÝ|ÙÕ¾Õ!Ø©ßô:»»éÍBË;|¯m_xÖûš�þ«CôÃÈùQƒ�ŸHc‘ãq“iSÓgftg¥æXæÖæûª>_]Z2[–^�­L¯6~¹¹²nöUbºñq³fëÊ6é›îŽÐÎ÷Ý�ï�ö’xîkýôÿ		‚‚LAïQûÑ(ÑÒÐöÐåÐ»Á¤Á; ‘1‘É†Y„yýH3Ë5VO6U8+|–½Ž#™Ó‰Ã
å~ÏSÌÅgÊ/Ì¿)Ðq4$¨ƒäC®µ
-çˆŠê¡QßŽõŠ•‹'JøHKÉJ³Kï ÇdÚe+19ØX\ œ#ÞP^IA\‘G‰^iWyIeLµOí•ús�êã¥'
-©šç´´]t¬uõôÔô±b†#NcfZ“Ó³¯æ+–3VÖŸNŽØÙ~85`×oßï0è8zzÜiÆùó™/.[®{îP"ƒÜ“ÏKÄí£èK ™øÙùÈ�‚ÒÈÁ)M!}¡³a»,‘¨(Õh‹³^çbÎgÇT_x{q)–á’Dœa¼oBÊåÊÄþ¤�ÁTí4ïô´Œ'WF¯A¯KfZÞˆÌº�Ýæ‘§Ÿ\�«£póŽà]�{¤¢«÷ë‹§JKñe§Ëã**?¢sàPÿ¤úéD-ËŸêu¤úœgmÏ×�FMáÍE-}mÀKt»Ý«ØŽòÎ�®½n¡7Úo‰=±ï
-{Ÿõ
ô/@?ðJ
©
�Ø�z~$Š‹Os�9•=}s&w6wîæ|öBæçŒÅä¥¸ås+¡«~_\×l×�¾ªoÈn"·àÛÔÛÛß–v¦wÇ¿�íMþ˜ß_ÿé
U D
-2-¦&ÑÈÑìÐ6ÐÅÒëÃ˜a½YŒNL(¦%æª#‘,VkÛ
¸3»û*G
g—>7÷0Ï^_><ß›@ÊQk„bJ°$¤,wˆ\uD‰¡6Ž5‹eˆ»I(H2HŽKÕJ§£½e´e²;˜÷ØJ\’œž / ¿¥Ð£X¢«ì¤¢¤
-W]TkS/Ð?nyBš@K×¬×Êß]	=½Iýƒ<Ãh#cU“}Óq³Vób‹TË+Gë¿ª§&
-à"°x¢îéáEôE`8l¨¬R,èÚèbRTDÍ×KzBI(�„@(RC�Ž
-ÈÒ›H—ªè"Å†«‡ì1oæ÷¼yÏþ‚ÅÅ
—–]úzyÜ­Ó½ÆCã©ò’y|ð+á¾·®úÒ.û9ûÛØ\£^ßqcóMJàª[:·~Í¿	ém»]»øyai÷Â£îs Ðo� ?ä{#ž¨æ‰{WÉëŒæCÉŽâ<âæóªùÝ‚BíÈ
"«(ñM	Kš]3·Tf,�&'©‰/’&’õRL•©‹û L¯ÎÍÒz¼9ûhŽW.˜Ÿ_VÐ¯ž×l,²}â_Ì+Q—–ÿ£båÍªÄ§ÝÏWWŸ©á×6Õ­úã\}tCÓ–æk-Ù­ŸÛtÀ�5]ú¯ÎvÇöõ™ö‡”¾Ör–�LŽç½œ°|Ç|?8iýA45=ã<›ûiÍç{_úæŽ|Kþ®óÃïµ?·/Dþ½Xt1ï³Q-ô×—N¨6º±²oÑ].‹+= º¨ç5ª‡Þr½Šê Ø¾	ä+*ßpéÀ–ÌÀ�œÁ	7¸Ž�Ó¡
7±’Ë5ð4³Yå†è2MD…!·"»ºzˆ-I¸Ø .¤Þ¾¥ˆ·>1!$?˜P�¸ö�9Ô+’¶¾…F…œÒ'Ðœ $•¯åŸˆ´�÷sÒaN£_Ìbg8SaKbmk˜Šõ»`‚¹ù/l–«Çv‚²¸æp:&·¸Ò“®Ié€öFµGh ¿HÍCHñ”–õñ'Î8Â+yÛþÂ;89†EÐ,Û{Ž®PŒ8�[R^4™€û“V<Ù
-žKx”l’qQW°2:õÁHGüáª
-r¹;A;bÊjJãÏ
- ß¹ü/3?¿z(HËÖjàUé÷4rà•Ò6©\žtƒ¿tL(¸¿Åí÷­¥Ó§»!Ã¨^+!d	¦�Eü„Ï�ƒeo_ÿ8�¯7Îç}/t®g}KLªsÜàurcø.p—‚ç»eŒÓŽ`qt�•
Ø Ñ3,Í#®|Zh½Ø80Iÿ»ª¾î5 ]’©^üK=¤ Çœ;œy€•±åÞy C¹ñŠ¸1ÑóTxA6G�¯Åä6åÂáÙzW[h
-½­>ô…œÞú<1¿�Þ]¾^~ÐÓ|äh¿å¾	ãh¦±O#P©T�
->$ÆP«@½ø%†€»hÛŒšþ¬o²�K/è<UË¥«[ó:èé5â„pzgE>{ W4yw8”ççãfî8eD*ïR£€By�á;`¹ˆœn¦—½QöªèòÁ€šÇtV×ñÜy:Þì_@Ï¨ÍgaôžJ³»çí¢.ï?ÓÜö“c€}z5Mœ7üD¯ñ>ÒX¶På Ó	jª§2è{á89
-ŸO
-#/Áé¼a¢^Ÿ#ü�ó¾ñ„.’yš‡?F—Pgq?ôè:KÜ˜1b4²òûw�ß˜UuF¤ã]ÁW¢…qP¡&<Ég\|Šô¹‰KÈåW®à'‰ÊS®E< nÇª‰}”XL­'ÇD‡{-IáõZkÂO�—oŒ¿å›Ê—á÷=»ßÌi
-³ÅzÙøÁ¬ž“"Ì�9·73g `¿0ú'ÿC‘Åw%îÆ|®¾€WHoçºá;ÅÛãý±ZÑN–*tº³€Qï½˜ïû‰2´‹ûÀò%šÎ±£ü
e}|ïN JÛ.ïHzö,7“‡d«±-n3‹Q2Aû¥:·{Ð´(©—-ŠD:ŸXŠþané†šð…ÿžGê8ó=øxöpç$~:Cþt–›Ê|¼[ý¨(–‹æ)�/Qš¬7´¥Æy£¿Jj¯!cQú–KUäJÊ&d-oê­+®|"ë c3’ÊlìXö“ÌYT™aãƒÚ)‰ä{RIÈ,Òœ0èQŒdÇvE0é¤E1rH,§ØÀ  z|Gž´oÃrÊ²*Ñé¢µåè™¼Šh{äCVÞŽ$¦õ†!w’í<WùœCb$Ó·¸wEÿM¹ý.ËÀ=´NbpÍd¹5ª©,I£«ŠÕR+D¥ÖÂ†‘ÙAÁnˆQúVwþ’bâ —+’,lá0™.%â	»FSð£]gZF1÷ÿ²=(§N¢#O'%'‘ÐR>¶¡:åÂ=9ÇÝµ`ez¤}1ìŸâm±Þ’À¡€�…pd¤7ªlY‰î1-uCýÛrÒj‘Âz19þü"z/ó
-2…cÝâaZÎnûpØHuÉ|
-z­P¸à„ðÏ1iDhÖÖÀÿT´ò‚ÀøL.×¬‹ÙÇÙY�ìeP]ÈGÖ&ø¢G,ó,<îÀdÄ !æmŒÕH·Á7†9ª¹/8ÄxÜRÊË&¿•õs�HçôzÎ^B#Meï&h¸?Ë‚ØœÏô$V¸ÃŒGøŒ½ŒœÃûÍ·“wðfƒ2˜°’ó]"¾6ýÅm–îäÜæ}R³=¸bÉf�ƒcúÌûlqÆÈgU¸=dè0ØÕ’W™N{DÄ£Ù'ª!ƒ<eÌxã:®‰TRìÍn»§Þe•‰ŽGÅ1ë…(’ÇßºÌ0æÓ.3H:o©�ÑÏyºGŸðb¿28KlaÑ¹�6Õq„ò…"5û˜ìgÊkOìnÑnæ©bxˆ}íÈ¤ÿ/àP%
-€µ¶[JžÃ¶I6®Wè%QT+å™B¢TH›DŒsfÎûÌ9óž1cÆ˜ƒa¼_!òL)µD_Ý½•›ÚÝ¤­¯ºµ}÷ÿùÛãôì/ôö�v÷´�œ&�±`:ù°gb®¿ÇVè³Û6"w5š|¸½|#ý)[T´�ó¼ÔäL8ÇG²áð›
-ƒ'Á×ü->ñ`]Ááò`
ÐÂAÑ¡ú�-/�s¬"> £†¡£šôÂœBUuF.{Tá}Ø—í)�N!ñ"Ÿ€GB;†¡džl¹ß…[ôLû¢p‡¾Ù€¬næªí ÏF9·
ZXcÊLä8ëx§ëØçÕ§ÉÀÛeø®W [©ƒ÷o@ŽÄ“1V’L-ž†±—#áC&èÑk’¦<x¾kVõêi#k8×—üÂž6¼MÉvÐ;2s+»à†Rï­²Œ—¬Êy*{x×~à=rãVãøö [ù7Ä½º“à`	ùZ¶´I–N×-�e�Þúw»<�<ÍrïK%ý
-Æ7“Úp��=z=`�n™Lh(ƒn¥)Ý¡ôa&±ˆs´÷�¼oì“�@Z¨lŽŠµæê
-v>ü*ë¼ÃKŠ•&vV,*pê¾$€i;´RxŸ™Ù¼‰_ÏPG?+\Ê½MùbL6))r>=@x5*ÄfŠƒvå ]Å^ZdžuÊz]X’?ùP4Ï1p°9�Q¼~¶¹*–^*ÈýÜ,0­À‡˜#Ò%8úÇb»Áµ;«Q'p“×*$L´îE¼Á‡f"òÞµËüw„ ¾�þŠÇ•�S¡˜þ‚ìCƒóæˆ½Ha€ÍÁÃ…h¼:è-"€dkªà>è¨uœÁy7C/Îí½Ïß)¼dô¦£ù%Šx®†Ö`ò'Šqyo «SYØ	"&¦]‡Û…#6Ø‚5;à4ÍÚuÁãã¯½ªƒW£y�
-²¶–‘ý§tžk/	GÃ	™ˆ‘«Á½&§0ôÏ,ú#ÒBùvÁ"Rá95ÍÖ×9oQåm@°·ŠÑý;/D«5„RIêP™–Ô+-GÂMî•#Âº¤™'uh¶èAt0"ÈÜ;ò=k Õ´Ÿõ?{üÐ-W�eÃ_]åôÇÚ‰[jAÕ
)HîÖ>†íðAuä%WöüÄ#Ôº´>ªž‘´ïƒÚD.žÙœJAª�û1~ó	ÿSçÌ•ô�V—ª§Üþ†É	â‹a²ÀsôUÙýØB�èÄ
-äªª/j)Œ+6ï8ÅË¼=wpüÄëmbÀnòä�vþ\ÿß�žtGO½¾Š«íÈûãÍì¯x ñÔÅ;è`uKJ’£‰Ì„w¨ÝÞAß•Õx~Ïž–l.�›É‚Q!ÿ¯±ýËhã0³RÈ¥ûjEëã•GlsÜ¦5#ëJ58/Gü
V/ /•é"N—Úà1Á†J;mh`˜$¯ü?§,ÛWÒúqµ®•ËÝ$L$ý·À0l®ûJVz²íÎq+Ä¬ñß¹ÐˆAÊaiŸxØ!ŠdpžTŒP¾/HêÀå_zõZYs•˜-ždqN
-……‹²ýø©…U)$�YäÇ­,H -ŠÏºgæ,7‹—xeIÑHhÙð×6­Ü	<¥{*ÍM…Ä@+{�à
Pšõ•w�/¤fID.—¨¶‰ ÏÝO-M±°e¨µÌ™ðmu+MÂ­´y’!ô“@*ÊD>×ÈæOxÁ0ÿLÅAÿ¯%	èòv[üè·Flr´t@Ÿqª×+Ž	/4·ÈôürÍ
-‰ýˆX8Dm*Qñ�äÔ/�éZB–\ÃÃÏø@ša±þ8~Ír;ŽíE=,7 îð±þ!ùÅoM‘2‡ÒDõ�˜”üÉ[.Ü.R°ŠùîeæÚ“7˜t—A};°— ¹Gü—bsÄW·ÕhqÙ2‰A—];%ÏÒmiø"í©°+g‰=Uÿ¢f¿*l‹3xÝ²œó¯©ñ?IÈaå~
áÄ/Ø&Ç.Ñu®óè
-ê¶¥
->�éúÖÊÝêšê'¤g«gUi¢ÉÊ
ÜAN…¬¨€—¤Š?oO%)�†“€,z¿~U¬Þ¶
3¦»^GÄüjË)È€·öZÈMÛ‚�FiPãånQY›¼#ØTVðìtgÏùSVê¶D¹^éÆÁOË¿Û:…ÖJO»ÊgÑ+SÈ¿×óMnvõeKêßù­l‰ou"ô«†ƒÌ‹ôï†'gÃ¸SzÙ‘[Ä
±oÿIõpkš Ðº¦Â½’+/ÎeüM÷=¹ÃÈPm²4¨?EþAô˜àåüOí• =Ð¤>“Ë­¬=â@tV¯ßw{®[²u)jW¾ÙÕ>'ÛjµŸcJ|ße”ûÜ57—î¹¹RÎ1‡Öa7ù/zÎï£u�
c\VËž‚ ëÝBßb-ÕC~}È5–®Ö°G©•U*»Š°ëÞZù$ÿSm¾Æ©€«à«ŒL"CÑÆ¼ÀÜ+›g~>û£dw¡ìÈEáÍ¢�ûBø`Ñ¤ß*†]vQ)¬TóTîÚ’×W˜ºÐ¬æ~E0!·U~JqÅb ¹`•,ˆ<Ã7q	|¡?�ŠðæÄ·“z\wþÈ5‚‡Í)r-ø¼ÓC÷#n[-V1/ÙceŒÎËS�ÃùË¤ípm†‹Ø^ß/h†þOœÀC•0Ïï“eÕ®Ž�ÕXÚd#GŽQŽä(–‰HäJ‹3È`î7óÞ¼yofÞÜ÷Œ†q-‰Eß¦Ý~í¶_‡ÚŽO±Z©öKÙïÿWÇ>€Š(û‚C8Ç(8÷>¶=%Å¡—•Ð¦x®>Ç�×‘/@'‰Ž3E»��³“êÖÀºâHe¾Í´‚½¯b#Áô‚®°ïÓ“Ýë"=Ûá³�êÝ¯QMcOuä…‚A~­d+Ê¡^ÄÂy¥µkù2® è²œÍˆâöpRt€åÀ“ <vë'÷Ã¬iÇÑ‰¡£uôeªê•ÝšGr¹zD|Y’H1	ïbà¹/ùAÏS4ž	ùo:À�†>°™ózdÜsÝw²B8uŽ9ô†]ï7ª}íCê«²Q]	’)>«^ß6&$ËGk¢Ð{’±Â«¼CØ\ÚôL£æ`È£Àn œgãŽgš wŽ
-Ú;Æ.ËŠÊÃr_Õ/C:—x)âP£]ëa„Î¥:åª€Bø“Ü3-âŠ—c¶pöcî�Ù€=Ñí#Ó—÷­ã=Z"#§û‰jÛ%"£÷÷Á�b7KJË�Ð¹cúlše/Ø_ÐÜ>Â‡*½¢Eì7ÒÙ@+V�Èâ6Å¸„nvÂQGM]wTnGÖ<2Î
¯œ!_,õ>«‚PŸ®è“§áVã­ÔwN×ý5»[õ,ÀÂ*–Þtëg”ðGœvR20ó‚ÊùªBÞ'«½ì•ˆ­Ç†É«÷†Ã+¡¸�
ù×át‹Gj
x§£1j”MÔÛT°¼™n"Æ×üA§ÊKF—¹¬óo¢½¼¡½�ØUkûˆoÈ±*éhÕÙ$é�üe1³¡%õ˜°¡Ñ#*54NíæínR¹®çÎ�7â¶‚äÄŽ�ëÈ
-ÙVÃ"ù8¡µ%{4G(«È«*ÃdîÍ+ù~¢?ÉŸ§tž’ƒ#¨¹Âÿg˜Gþá9w[‹wŒ“ßºÖ4Ý‘Äˆ—ºvÑOrb4é´¶ó‡×¨=yR:•pâŒ(‡bHY-È $D~‰�)þÅÜŠ5a:GâXì³mrã�É]�¬Òcà^vˆzˆýKS¶Â8õ=U²ÄŠË3c7™Éßðo1Ê÷‹‘UôNÿÏ¹uôÝ!8EGpý€’²Ò®69ÃEsúu|?ÀWŠx5É»á 3FI
åÎaàºä	~Û¸ß•×
-Tú�C¯Y¡
ôbà–Y#´tÓh‘ë±G:‹tËW5-êä‰BÛòGô^®¿p–w+Ù�å.îÓóœ x¿Z¨t#4rˆìûæušI_o$éƒ…¯t¥š/˜©*†â-©]öV:S¾IÜ#ö<
-Bq’¥ñÃöEÀd›_0ø7<H¨eÏ@.özæjÚŒ®Ì˜k~ øKfÚÉ(U%êâ5Y—zþtŠ¸@Ñ™3#”Ê’Ö¢>¢Éˆp¼0É÷
òeì,ØÎþ%ã(ÝI›kLñgu=½Xåin­¿##ÊÎŠ·è´9®‚ê¯W"Óò©ˆî©½o;èƒ!„tàÞ%‡-ôIz�¦Þx`t’o¥[!�Ö¦ZÓ?Q÷�,ÙâYjÍwÌgW	t†ùCOT¾ÄmW²}‹9Ó’B$p©qøŽžL?¢5LRÐ�õDõªòÃH|]’ÌgpO©“h¼—zì… ªkã¡J$Û¨
-—sOk½|8˜ŒCØ	ø"¥µ´×ôrÕ¦�âqÞc›(¦:íˆ/kÏ~%¥”Djî“[¯´ihH¬–æ5nß›€-7Îíˆ87ýŠ_A%ÍV¶þÜ"²Rñ¿þÓäjxªûwòÚ¶áŽ£Í¿œ3ðÍýÅ"Íöæ±¬6EVóÃ„÷’Aò†°'X*¹Ì{™ŸG~�ŸGÆZÞÙVA‡Zƒv}&ú(lÝ½†6ÑúÉ$¥>®YÔŸ¡n-ZT3(º£ÉÇ(±	D‰;å³°&ápÛœ÷ :Jùÿ�÷�2gkSÛÄ²�}ÿ'¹Ž]œèV‚É
-¸W³C÷;KX´_µÄ="ßÅ¸ÿ·XÊ°	#ƒèÕÞ�¨=�O‡mpê(·eë{Kù� óänK¸‘¿¬ÎÓæºžbªª@mfŸl€“_#va»„^X¼w4"fø›0À²µóa³©AÒ°ÞUÒ·`œ™,."Ÿ4ºÏò´ÏøšÂ*kÄ”¹Q¶~·$Òpw‡fÀ›Þkð3ü3îv¤�RI’Üž	­=§Ñ |ß¬oÿ·ìSÕ-Kòma Rƒõf@Òû‚ò8Š(Mµã_æ!^3<.Á¿áº‚ÛíX×©?ˆë{Ä»ØºÎ�óùíçµ{ª¶h÷*Ÿ0”I²·é¥
’�8Gì.6´ÇÂÏh½ºy›Ñüˆ	MãBYnÔW"v¹—ŒvÞéhZn?lš©LÐ,6ž¼¬´ÒXÒS¥ß(i)IfÚ“Œ®H|½ˆ°E˜�ÙÀ¡8“MÛ€]é)>ÎZêþÁ¹É¿Ý³çzKó“=¹Iñ£ñÇ´É½ïAÌKý)äjT|å§‰~Ã/‚|x7®‹éLÁ|{R.YX©�ªÑßÁv»Öß/h°þãù€‚iqM‹’ˆ:=cMÂYCgHZ¨Žðr‡q’qü¸ÆÝeôÒÒùN£fÒFz×Ð.R&)¹Ï†¤,ÿ³+†ô.Ob¼Öp.5^WÛ¸&På4^ü?þ÷7Hž‘~�(+›PjÅ™Ÿ€±v“$�í•J½½�Ó‡é¸i�|z•³K�:mS®†�`ª�R×¥½�<E)¡¥�|6ù�Ö�â'ùš†‚~Î˜¥ƒšÀ‘ÿƒX”w¼íˆ³‡=·›‡Ðz²††þlÅ­Ó†E_•©f…ÊRf¥…rDÊ¡…E6°�/…G'Î™Ò…–Ö—Å†1�ü„˜“»¼H�z†Œ¶úŽ
y`±èŒµl5­6‹}_¨ÏŠ�Qó¤‡‰ÃDk r‰"6kœœˆ·'§™0ˆ³Þ–þˆx;�„ä“»­–-…Ý¶j”Ix±±]’wk–¬ª�Â^†¨B�]Qy£øŽ#D	Ÿâ�6%œŒF'‡˜‰Œû–$Š™•�)…!’g»7œÁ…)µöšowþ°è˜+jí¬/•ý]ò§Á”&Pý£o’C§ŸU‘
-5â›s�ê'n—â�W*•BŒ‰Ž6…n‘Ãºì£o„‰µœ žwc°‚�Þj\«Ä›8]q§Q˜íP’¢ù–ÙCSžÜ•5©šô“—'Y—Q’4R”Ž0j�f…°‘º²ª9ƒàµT¦ôv¿°.£ÀiÁ«f ¤\è¦ë�ìP¢‹›qBùžj™B5nš~—‘'C–Í”Îq“Õ�ª½Œµ…è�\º€±0ƒ&µ­–v	¯éªi«¦z\M¦�£\O�¢$ …B—�þž5/š
›p',–Q—9‰“=�é	Œ†�¦ºL¸r‚{´ç´wuh¯°°�hxªË¬‘[Ã¦=©O*¡Ì¥ïB@�¢¢Û4ø™¬ž±'•è™C›’¿�ö	=‹¥†?�ºÀ�ì´º»štæ¯ƒ·4gûª‘²æ[T¥ü¯NÍ¡„«JAù�W¦º4Ë™^¡M'•“šcª’Z�	k‹B†^ŠiÇK| }ËÁ2|Nq2»h|�d¡¶|¾X!±}2K£¬;}Å>¿§§~q1Z£o8#ŸÏ€)Ÿ�É�gõ”§‚.‰óÆ<‚ˆ}CÀL‚(p¨º™�Ød,µK� W»°J�žKJ«o�¼>v¦Ü‚1%¢ž‚~#žëƒ6Ãœ­ƒíG“yƒu‰QÅ`ˆý|Æ¿oˆpC¹Ä‡KcË´‹†�Wb¯’†Jüª¹…Ã>5¦&…©0÷¡ã…Ì"òž†Jâ›°†)�’nƒÃˆíÄ³�||b¾ÁŽoã¹ŒÂcv³å‹’W®ðŠªJ¸ª‰í=ý¥…‰h0Î¡=‰("á�h‰hþšÏˆÐ‘ƒƒîˆ„Ä•Î{í¾“üoj¸{’;c³F�˜Vµ®P�DJh©tŽ"=¿¤Þ�:0¨ �Œ§"Ýœ¦ŒŒ6™×‰ø2�Ž„0‡ýÃ}›ê{b½•™¾nà·ï—�b…²³•ŒVE­µ“ÓJ¨Ò’N=~¤8‘0…Ÿá�="ã›à�Z„˜Ó‹©®�™„„‡ŒÃ¢2zì½&Ÿ�nj·uœûb²2š~Uå­/˜^IÁ¨E–z=F£§”ê0fŸJ“Ü"è›5‘¿Æ—ô�ŽÆ„Ë‡ÂÂ¨›zq¼Å¥…mï·
-¢‚a¡±½ŸœU€¬³�Ir§Ãšá=£!™0Kž½—N"ðš™“í—0�†qŽ…†—Âq¯(yí¼n«¼mi¶ª¨]a ±P¥U¬>¢?I§GŸ¾<Õ¢¡�—03ž8š|"üš•ó5–��ª½�|…;…üÂ"µÙyh¼!²lô¶Y®f`®°òªÀT®«Ú§¡HÏ¦Ý¤Ý<£¢3¡‡0�Å�)#™Œ—¨a•ð�Çû�…e…^ÁÚ¼½xñ»à¸ l•¶´’`S°§°™T_«ˆ­'H‘¦‡©F<{¡Ú¤®0�iŸN#™(—µ„•{�ß-Œ�…‡~ÊÐ~r Éä}­f¤ÃÖ}‡Zì½é}§OG¸D~
C¦²Ê~œ7¦­¨H+)¨ï€Ñ¤Ý�À¡œ‚•–‚j~nÏ„
-rIÈòƒ;fSÂç‚œZ¤¼þ‚KO·^‚?Cm±æ‚]7{¬Â‚´+§ÿƒEÜ£Õ„'û d„+ï”Ñ‚©~@Î(Š	rÇÿˆÉf"Á÷‡»Zv¼&†üNÜ¶Ž†‚CG±†67^«ò†4+§(†€å¢é‡>0ŸN†?“¿‚ß~/Ím�rÇ7ŽifÁ+ŒôZe»g‹ÉNÍµÒŠêC:°YŠ;7R«5‰Ø*þ¦g‰Ñí¢Š^žW‡¾…’Îƒ}âÌª•üqÅÆw“ùeÖÀn’"Z/ºª��N µ�PC¯•ŽF7>ªn�Ž*û¥™�H¡2Œ«¬�H‰Sî‘ÕƒU}…Ëõ›ÈqhÅÊ™fe{¿Á—/YÚ¹ô•=NZ´W“£Bè®Ñ’F7#©¤‘I*ý¤Æ�Ë3 DŽÿœ.ŠÉr�Ýƒ®},Ëk¡§qÅ;žÓe-¿,œ3Y‘¹V™ãN³³—òB½®'–E7¨ö•	*þ¤“âXŸx�üi›<‹â�ƒû|äÊí§˜pÉÄ·¤]dà¾ ¡ZYH¸Áž®Mã³œmB–­‡š}6û¨S™+£f–­ƒž¼’Ì¹šf‹OB�T„;|¯Êr­—p„Ä8ªd’¾¦ÉXú¸0£ÃM¦²‚¡@Bp¬ìŸ#6ñ§´œÂ+¢Â™@·ž”|™¨‹ƒ“Ž»„r|`Ê³°p;ÃË¯ìdN½¨¬SX··´¨üMp²¦EBP¬g£~6é§-Ÿç+-¢Á	<Ô{ð$*Ïö6a”­Wm¯Ü:¶
;^h½î(ŠÒz’ÊUfæÿÿÿþçüçb†3Æ`Ü×7)G®‡H$ÑIéÜŠõè³�ôÞ÷»[±éµ:.mj­·ru‚ÎpTâFgýÞÊ›ÓQ_:®×=e4ûV}<C4­8rø`•²tŠ¹»ìká×Ý¯
-[s¯ÚÐt©wü`”¹”¶´(â†W~—ø˜î˜kypÐÄ	ð¼;ŒnGN5¸¢|d>C»?1]@Í8lÌ•^|ŠEb†?‹±,Î¥kÄz,
-0î0ë‡XÒÏ
mÒ[„<ãòê€?÷ûœbPAõ‹—ƒß©,¶êC]	IGeÔ_£œß ä�Å.´��1€^IxOºá³â/¿òá¡¼æ'ä`¼cÖR.ú1ÆB×8-ˆ¹	øÑÿæ¢›x*g;Ô—~ÉèKtÜçœ�ŠãCP¬ì^W.ôßTª
-‚�¥D©Ãw’2E†ˆkâä�ËH±Øý|0`ÄW*q"×]|P&XbÄ€Cüî�ë\Ç1=Ž.k¢ã´CÕ¬„ÄŠIUl(÷ha^ê�ëÈŠ”�àKš´ÉçòJüm—XŸp”q‘‰–}P³9åV£aÃ¢oí^QþªŠ#œÅœÿdD@@½‚Ï†þPÞŠÝ
óäYAÉˆ~j±�‘<åTŠ($Œ8ø}ãýÖoõ–#ŸÙp•}ÛköRù5­)ZTî‡–ç
ñ" QvKÌ1ØT5qî!œ®pönA–¥Ýu:‹XIO3’`ñÄ[)«¨mÃ!{}Sl«”-­�/kã˜ëZæœœÒ!:Ú^°Í�tš s°cæ‚÷!X®˜v²€[d¿1
- qIØgVZŸõ°ëMÇÓ&Û·¹¶”d6Èg9~Õ6Ü0ÎhyfT1ä_äuVÝÍµóz[©qÇIøŒÒ™ÑE%é^¯d…Ž°ª¢š7³M»‹J®²åmæ²yÎ†›í”€#«Á"ç!#møYsèzQª—êÉõt¬ƒ—©Þ1º¡õÉë¦Ö±,Ÿ7Ý7e!�þqÛ•õvða±˜Þ“%³f¿»“F>àœoJ‹åô×ÔV@¶ZK¯.ä9¦@�Y¦ŒaÎƒdË·‡¹glÄ�úsg5Å…×hå”7\­œ§ô�|[²XÄÌ‘BÐäA†¡aÞ#¤7¶Ìq„´ÆbÌ”¤+®÷zµœ*¶&3(¯VcÒ—œ.«'·‘•
-&1O¦Ó%D'™�M”�	çDÉózFˆHÒqKÞ0;J‘5¯‰çâõ÷7¢øGÍ‘¶d†øQX"/!C\ü�À8ê"þ‚ïwv%>Á+>øþ„·r'‰÷Ñ„™1žN[MîÆ¿É¢ïâu©ço…âœ”ˆb/üHR¶l+¾W²š|�[‰…‘{p»„Í�Á÷ŠîÃÿ)Lv˜Å�i¦CØÿØ‹pœ™­×¯Â—gšß¬Çú”Ç+1µ¼+µKL‹!Ô˜@ê|m#–š¼>`V(ÙôS<¦{;PXVüKÓ~ÌJxéY'VVŒ÷}Ábó{7an·WÌTý»4[•ñ	�ÄÒ¿\Ýˆ™ËlÏböR‘çÌ%ùoNCl:‡^‰¿ðÔs¯ZèEÑ¯ZQý-´£Ä3ï3ª*ðHqB¥6ŽJÕw®¸¡ÅÌÓÅh‡ü‹gÚ›:gÿÕ¤¼73½âï÷ s·ø=? ¹õWë¢Ñ�*vnº¯¼)™�:ïA£Ð�y=‘èÁlÙiC4X•í¹
Q¬²×¢.273gà‘ˆ�ãhg×Îîq4´•Wë„ZÜœÓÁtm|’>x©xRºÿr!øPàï
sê˜ðÿÌ{P¸šù"ý’°±_PÅ yW;êØó¨f3xÞ^’CƒšÛéS�W)²ÊÏá ³ì”ß((\Á<25;í}À�­Ùy$RrýŠFŽë|Žê_­öº»Êì*@uN$ž‘-'à?À¹†‘ðhp®
-÷‹Ê0¦8^`lÿw`—Yl…l•`�¿‹×²/õl…p¶Õ	qÆò28„§óu°Ì{�l»bÃÛ‡Ì�Ž µ ™9M;¢¨]w[cÇ]Â�™ˆ|‰ÇÝîB[¢´v�À‰À4ühâLÌ«%BÀ"½HP—gép"ß?˜û‰èešs1c·‡»�\cÈe�±£›…kE‹�Á‚¿
-ª£ùŽBƒ7)Ø*Ñ§Çø7íÄ{>Ä­à�ô»Ìõ Gÿu‚£Ãlk(Š67aR¾Ü¶‘c‚Ÿ¥Sí¹|ÿ”­•}<()2«†îL¼/Î¤·ˆ£áX.�`s©�k$Z<%¤ò…“ùS0aëF~l7±'Óy¿ùùª¥¶i^£2Nç@¿H×Sï¢·¥•&xpyRäF}NÖ„5Qˆ¤ÿd-µ!ÑÌc%Ù˜À·™$âcL#‚Öûùë
-Zx.š.m}1K¥êææ©¤¢y®�bˆ³�Š‘ÛÿÒIé¥Öœ˜%sSBÜqr’¯MÑ—8mr�0)Y¼Û–Í³ôýRëò“Ü¹BßwW®X8J¥e3Ø)}U[è)W¨Oø’{e•î«‰ÁTS› âpJ ‰JØyÏ‚G5º­¦©êª²5\E…•2ˆzPÒ$è¡\
-ÒY¤F“ºƒtQw×ÿd˜^ü¡N€—«kÉ+²Jµ*òè6VDòÈy•«‘[JºBÈÛü~3ó{?ç=cÆŒifhòˆEòJ¨¬cËçp¥—ŠÖn­|\§ÕVŸt÷ý¾ê P
ïŒrÍfWð©,Õ®¤‰»ÿBõ¨;Àá�ÙÕ?Cq×9eÛXc8ÚÃŸª+Í‹àÇš†SOó“¬æåë¶…úñþR.óœs•+íÆ€}t×ÏˆÇàºŽÍ°Õ�³Wš¡7Û”A‚˜v+dœol6\äòÍê9)Ý<º:`¿ŠçZ™2^ÕM{Þ×¨8v³ÜWô½A1üit¦}+4~ï²iDð¢?Q‘)pìµC6ñ3:å>áõ·˜§lçímø~¿8Q=¢ÓŒéž*`¤ü{3®‚~|wTâ–¾ó7Q@AXÍË-´Re1…CØÕYT•ŒL/&Nùa%Çã�¥®!Ÿ±ý¥o<šÐ.®Î†Dù@ÏàœhLìX!´�V[0|ð r�öãÐrÌÉ³$`MªŽ�ÏöãÁ[²­äq<¾GÍy:-RÆ÷pÖà6mÇY{,Ü”E«Qž"–Ú� ëH'dWîc|N±ÀÆá´¿×£¿ÁË‚5è_¡îãHtÙ¦„Nöì¿Eu×ï1QBÏªÔC¦^6KJè0h’H£lsnã»‰OÉNX>÷�Ç>/C
-1wE¯ÙtÁHtß8»Eu¬%„®UºTT¨l^*!æ%�Uø�Ø,»kF�Ü‚¶0†¸¿!wiÇ ž%»Ýáä"›I(s¹“À\×¿kn§u6FrH(	&U1?OP|¹ ÁvÈôIÑèNIò¾"ä (*ÈÎbóÜ Ø®äã·Þ0'kÔMÉÔ¸ÉRßOž3
-ÅÄÊK›yéØ´vYV:¬^tFÆ”.{ŸÃod%;”ÐÉV·»Ð:‘Ñ6’ßC&õ–1nÍG�(yƒ÷%¹ªÖ^øÞe²OacDæ=4O§N¼ƒi6ì�‚é²×;¼ •ÂË­L`’¦Ùfò7Qk{Ž2f7‚žPI­"ÝÄƒ¦Wì(^\	$b1ÕS¿ ›ª.%.F6é™Øøÿ;oAAj…[² T>f+â(ßn_úIß‰ú^Ê»Ç«b¡ïøÈŒá»[nq1ëû3œ�ÉÚß�†Ÿ™Bb7C¯
Ó�§Ó|·ïøSÊç¶µ<*â¦/ýãÐ£«¨%Ú‹DÞí½ÌrÜ±«´´oýõ|R×”ul®¼êsª»òU “ Z_éfÎ×ª@Û^ðu°Põåµ6T)#ó:�ìÏ‚la¤äma$ðHl^ä‘ÉzÛ'ú1`ñëX€úPÒº}�¬*%]ib‚›d9‰¿&»Œe�@ÀÕ—Š}@´v^¶HdnKœ�n©(
-¸šáÌ–ŸŽ{ÑÀ]1µ¤¶§Á—®Á„;ï„Õ×øR¾ç
;e#ZT—"?�ŒhpiâKŸ�
¥áBzÞ’…f�…Óþ�1z†l…RIPˆË<Î…R­Â1èÛ•b„m«],“2éå;%Eô7T°HM>+ñaŸOÎ­b¼ñw?äRøŠèÒHÂGQ•K+6…f[e ùðÛvÅ&Å§j¥ô�|™ê•xRºš4™‰ýŠÙX¡ìßÐÖîè%êkZ¥%ÔNÿßñhr½‹ º¬ŒHz¥µOÞ¢[ÅWJkØ2V\¢^ŠÅJªp�“sÎºÓ[¤þGFH½Ø'ò3±YÈñçb}ÌO.	¨�±´š„ûñ=×“ägM‰—§¥�•žÊñ½Ö!ôÒÎ.grÊW§s¨þ²“GœÉ ù@dÞ+M÷wÆ8â|oÔA8a½
-6'ðG¹CgÕ5É‡ÚE¨èþ•-h-;^)(pdÖéíÏ”PYÚÞÃçˆ	uùž_ðTeû¶.ô�<Ýe	¢’$Zï�Î¦æOrÇ¶àJFòÏæ·rG‘ª¡‘°ºÚ¬|Gú±)+ME¹…‡ê±îéž8ÜVÃÝ�ŠUìÆad‹ŒµÎ<'z›fdï{þ0¢í
o™£èLëXÃf4iòüic½õéQrªÚph)W•1ˆ
èÅ~óh¸Ör£Qœ´fYÄXãGÙý�/“¤àN“4J´³;ºÏFt˜_äÑù×fNû’�
ó	áXë‘„‰.ûøÕ Ku70¡Œ·6	ˆWM÷ô•yyÆÙŠ„ü\ÙÓrNA2RPv«Ð7oAq¸È!-KºP¼èPŒx¸øY-|PÒæû™u-Õ®?ÅÄp…(•	¦5Æ]Â¸„¡H{‚Û'ÍWçsßÃ^Ê÷Àš‹äj åôyé> #!Sì®*üÌô0¹àÄzošÇ#,úÉ,~vÃ¯:9¢wÕ”ÂsU
CK”ðW¹²WPÛ)Pb‚Àƒ—E8ÊŠ w_{zr_¿˜€Èå‹	ÚY¡¢ŸY«{X~“Þ ¶*û/µš?¯9÷e!ÄÚÔ+s<>þ­ð&ÞÝÀ.F§¶6Ò»ÑLç1jªXî‹÷Ã÷¯:UøËæ*$åßI“…OËN‰{y/äÿYf?‘Ö³Š”»b�	‰fRow¯gJÈÛ[9TñÜ¹•,$~Zž‡Í Iµ3Ú!M‹ö¸úžZÄÖ)¿”%‚ƒr�ÂáÂKiˆÌ&yNl!ñäÀìŸ¢#»äÌ"¶ÙçÑ‹?Ô	p{1¦‡«­É(n?ˆ%ÇÊ#TÈ3Byåm#©l™aÌó›÷û÷›ß¼ßoÃŒW$e»Ù-me»Ò¡rlw¥º´·ÕÅ©½ûþß�ì`n“·š9Áéq§#é÷»lª#O#Çé&¹&‰EãLœýI¹ó
-š–ñ*¢&ÉÖÃ/x ü}âvŽ²„u±†À�ÞLæ7ü ÔZ
-ÃÛÚ¡Š·±>òk$G-)1="üþY_w:¢jË±‚Lå¾Ãi¼Ym‚ž!ž	;ÆÊ€ÿå}ŠÑ¡b©ZFr'^å;h“¯—»ôÍ°Y’¶Õ¶g0hE6¦AûL%eÝüOº©%wAÝž€a?U°BW™¯¤2ï4Æa:ªžº™Qcáªœ¯~–yÊ¦/
±dâWƒÅm_À¥½‹§Z!çîËÇÿÃ¿lÊqá*ÏãMlX[ÚÍ”+lÞ;éƒÿ�):É|UùÄK³eý×o3§ÄãWÞáÂß#€
-Ž×ð)ö‡Ùln…•ŸÂ>fÄ†Ö3Ô_y£èLø3ª�’Ì€ÍyVÉùiŠi¢¹‚å¡ß‡�Çk4[p§¶+·áÞçÈÂZ~É®·´NìW
-WðB~çÛl^Q‚%Â¸k=×LzbBw	ž’-Æ„lÆ¯º*Ð
-«†B…D÷Ò+R<ñlÖÑMâÌþMÂtRVˆ	ô#Íyù6´_v½È‘uæ-|
-GôoÃ
-%ˆ>¯•7[T*Pu2Gn¾.ù(ù+àšµQäO^Ú÷ÿKò«�#‚6`“ŠŸŒº.³m@Ž6?eÏÃ·™¬´YÍk7 |ÌÜRO”;1òKöK¢éöCX¢oØç}Ic‡¬ã?£¥bVxí*r7k–2ª«3æ{ô7Àê}M¥ ;®Ìä=®3Ëš¸P1YlçÔdÎÂHvòÞ^�ÍJßåàg1Í˜·Ü‡L>²ƒ¹LÛ¡=mz!ï‡¬úbéÊ=õŠØÖü³â	,;1)ýÝ,º%Ž=3…|~ÇÞXÅóÜEâ�q1o¸[9^ÈiæšUSléw‚z�XRkTNÍPàå…'¶JeR§¢@ÑÑÝŒ1¡Ÿp4î‘@¾Ù•ÈK\Æ¼æ4ñ2Üüi´Çê|S±õŠ`D7nÖ.ê\þ|�"P›ñm¾4QÕXØ!:#ÍØ
9¤Qq§ÑbÄ.'î$œ€™g/¢Ýjèjº«ê¤)²¿‰?ªcÛÿNF¨=ºRÎ%ÈŸ™5µTÉCú±Û"/­ÏA%Ô Ú»ÌŸ•›ƒ¹u’VÌmvøÆMIß@V¦õ#Gxt%CG:üT³ýß5É»í5?I†­'ŽÂLwn�|ôÍ± Ÿ­Ù|†ë!Á\d-CWÝnÑdô…ÍølÇ[¯ujoTõ^¢6Ý–×ÔDJ(½?X`y÷µt+¸`ˆÝÇÏÐËƒc8ÊBŒ‰e€úÝ^ÓbéUòŒþþó�œvRs-‰gÅaƒš¦>ìru³ƒ{’?­VµÜK3(r[Ç÷Ü“Â�|í%ºÕö_#|FÀ|¸=I–Þ§i›â mô¶ßˆƒ�0Áûlœñ1¡¢êºî0áûü8Õ1"í+9LìÛÓ(á‘âŸÁ«¤×h_á�öUÄK¾ã¥4µwøÈFw÷Â#Ë�€÷¬qy²ê�Z)ÙvÔ¨
-"kSÍ²E²~Ïfñy,pN<ÐÁÐ<°²6’e’Ý½XÏYÛ»Ì÷mï-;˜§
uŒ¤ÊjÍÝpÔ]É¥cRƒd94Mô˜8�–Hjh‘èpM³¬Åq:)ñÞžð=3´«UÐÞ¶Õò·5¾ÔOq}šRŽùÈiÅ'¶!Å.gõEW‹†˜Ïó¡OL::Leú­½Ë¾FM�ëq•.3J»\%|¢ÙGäÙè£/î)ÿ¤^•yS
-‚À7%TºŸw#ÚUÌUúC•œßÑ‚sì×0Ö}*Ú‡´(ºÐjWA­,Ó˜ÂëT“î£´»¼R�òrë`]²Crz5_óVÁYA9ºŽ?ÆÍu¥±ÔÂaûyK$mÌZiŒi¹nª×%4Œè4êì²Q5Zq%×!ï”'çJj$;£ªátÑÑ€ŸÀ
-aú,ß›�p½Ë,¤¾ƒíñ=DêŒÕ·{nÚäk>ùR—g,*C¨ºc¹þòL57iRâ¬X�Z#üEæ€oÅÉèžP Ý?Ò¶C_Ø=†~¥¬v¾ðÇ¹{*N†é6u™ŽW©ˆ–˜Ã2Ù'£{R‰¸_irUª€R(5¢kx;$d#›¶DÛ^ŒvS¢:ÿ2r[i¼<W¯ÔÎõû•Î©’í…‡wÊÆ¬wü.n4]�¬¦hûÂält9÷š�¬¦/ÑŠxÂ‘¥æ²ó�;výùò¾jìíjG)žëD´”f{×µ¦'8´yø˜ðGÊWm~ù—„äMSÒE"Ãù70½]Ë�¸4OØÚ‘5¸…�|îj/@Àž@t'ìÅ–("2Ëh8@$$Ôj˜$§pX¹�¤ð]”…¶—mú¯d¢£Ý%WàOöâ,¯í¬1õœ{O?òmS�ü´hÊŒ#�eíÖ3È#	(õ$ùNx¾¢Xã{OZ´löß¢ø»˜ø¾@çÏÃ‘¬ÒÍ³ë»"ûGÆ\íœÕÁÀ˜tÚ!‡n–ŽŠTûÓºÂ1ò~Z“ï%I×ÿü÷†—9•å†zïŽB„‹u¶ ‘-±å�ãr©­]Ž�f@©&�\YË¥%ŒRMN¡:‹g@W�…Š—2Ýš‰þ$¢–ò‰äc”õˆ¦M�S„BŠÔ¶(—Ó~g±l–qÿ¬à”Ieš¨¡’†Y8¤š‘
-LÔ ª�¶?øœñŽ…2Ÿ™o�œ$�–?�9—”Šž¹Œa„ŒŠ µ¿žs}Ç±œ4ql¬s™òe¨-—¬X¸¤"•¾Lk -”?§œp’r2i˜ç‘@$~•¤�Ã“2ŒM‹’„Ê‰iµi¥}°©¢ppÊ¬Ÿ¼ds§Æ�X3£¶š§KûŸ»˜†?P›û– 20˜l•,$i•’²å’|�ÊdŠâ„ÿˆ¶µ%«ä|_°^¨àp«Á¥ÓcË§j¢·W £SŸûK€ŸS�€>ñ›Ž›P1ð—ø˜ý$N”˜•û‘ÝŽ/§ŠM…,‡ô´ä²ò{ª°¯„oi«{¬c6§¨¢W£¥ŽKžú¢Â>œ›1 1·—–œ2$6”+—‘XŽ;Ý‰Ó…Q‡8´§ºc{¯ã¶anâ«B²zb¾¦Ý®¹Vµ¢½«VJ»ž²§þ>Wšå£Ö1Š—FžÄ$"“Ó˜n�íŽD	‰q…oƒ3Ânw9wQ¼òwãka·»x‰_[²ïy)Sf®VyõGq©ÜzÜ:ù¥«{Ë-ì¡Ø|É÷ž­}ßèœÁKŠ’Å€ï‚«Á`}¤vØ»ü}Ëjõ¶Õ}ñ^ø²~S­{~kG%©~Þ:½¤Îk-Ç ï€ö�¨€ò%›…�äð‘™‚G‚Àm„vE»ƒ¹jsµøƒ`^—±<ƒR½¬¬‚íFß¨7‚ï:‡¤ƒ-§ ƒiõœ¾„	Zšk„/J��‚æ�Œ¿‹Š\u½º9‰™i÷µ$ˆØ^;°qˆRr«å‡‹F §p‡:V£>†Ö-ŠŸY†Æô›ï‡'‰™q†4™�¥ƒ�¾á�¹u;¹Š�„iw´rŽO]É¯¾�R«1Œ#FQ¦¸‹P:¢„Š¥-kžšŠBû›ŠQÉ˜jˆþŽ±ƒ`€œ¾`–ýtÂ¹•Qhù³â“§]H¯$‘ÿQŸª‘� Eö¦�p9Ý¡ÙŽr-L�ã�Ñ šI�'—a‰Îr�»ƒ¯€½à�+tL¸‡›hŒ³e˜ö\Ù®Ÿ–ÛQ=ª•E©¥�“Œ9§¡D’@-2�F‘g ™”�“X–}‹FÖŒêƒò„½r£^sË¸ äh²ôžf\f®$›âPÙ©‡™ÁEZ¤þ—á9p ¼–O-œµ”× ˜ñ‘Ä�•´‹à*Œ7„+~ö½©£s>·¹¦æg�²‹¤[é­±¡APn©žÍE¤ƒœ¤97 <šÈ,ýœ-˜ %˜Y“ÈÀ•Œr‹ „[~e¼Â°Frº·c­g²2©ö[{­O¦ÌP¨ª¤D»¤¡¦9ŸÐž¯,æ›¹š¨ ,—Ù•{ç”oŒ¬‹$„ƒ}ß¼l·XrH·³‰f´±ê¯á["¬ÿ¬tOÄ¨W©sD€£Æ¦8ÜŸx¡Ð,Ô›\œÉ 2—r•Å“øŒ0ÛŠÁ„£w·ËDxÏlGÅ¬y`èÀ*yYU¤ºÊyÝJ‚µ—z�?h°†{3×«Ç|p'µ§t}t££à~–S %€?” �8wˆÊ>~ìlÄ­~£`¾¿/~~U€¹Ñ~�Jb´¢~Ý?K¯”Q3ÅªÎë'¶¦i€®Ä¢²�¬¤žÐ‚?¬’ë�Ïw;É8„ókÃÃ°„:`r¾:ƒ¦UZ¸ãƒLJJ³¸ƒ.?8®¨ƒ73¹©áƒu'¹¥tƒïâ¡¤„Êì� „8
‘Ú‚vâÈ>ŠîksÂ°‰Ù`4½>ˆçU>·øˆ*J<²Ï‡¥?1­»‡H3·¨ù‡ '¾¤‘‡Cü µ‡®
,œ“…óa�é‚Iv”Çs�ëk'ÁÞ�p_î¼hŽU·%ŒñJ±úŒ?¬à‹R3§¨ŠÕ'Ä£°Š¶%Ÿ»ŠU
€›x‡”Í�ð‚’vkÆÍ–¹jìÁ6”×_£»º“T«¶m‘ŠIÁ±<�M>Û¬�E3Œ§RŽ…'Ë¢×Ž7YžÁŒ¶
äš[‰HŽø‚åv
ÆBœ|j£À¦š/_b»$˜TaµÎ–I€°˜”ˆ>­«r“43u¦¢’8'Ð¢‘T…�êŽ¾9™f‰ž²Ž#ƒ-u®ÅÂ¢CjUÀ Ÿš_º–�Tµ7šÑIC¯þ˜ð>ƒªÔ—Z3c¥ÿ–%'Ú¡m”#²�%�•…˜�‰Ñ�nƒiu`ÅG¨j¿ž¥/^Ðº¢kSÌ´£ŸÕI¯h�±>\ª>›é3V¥c™å'ë Ç–¹ãœm’HÌ—ÐŠXŒÕƒ�uÄÒ®i½¿*ªç^‹¹•§ÔSŠ´$¤ùHÑ®ç¢Ÿ>:©¾ C3K¤Þ�
-'ú :˜å›Ò’ø—1Š)–ŒXƒÇtÀÄj´wi|¾È°¸^T¹5­=SV³½ª,H§®§?>©V£Á3B¤sŸ�(ŸÈš¢1›V“6–±ŠIÈ‹óƒéé¼ybtÛÖPyåuãÂÈz_vÖ¯zÍw©›A{<x¢‡K{«y°rí|#zŸ^|�{yH‚}|E1T}I|ÔØ} }=ç–w†'ÔGx9"À×xà­3yv™‹z8…Êz‘xq˜{"£\è{¯ÄG†|*à0�|Ö‰#”‰ðÂ*Å6é�vS¯v«!^Çæ.¬zï•B%yDD¤2æúîï›oîÓÃ8&Æ=nãÊ-•#$”N)±[Û¡Ý—V×Ö{¿¿â—Œ¿¤Ê�Møç_"Ù&’ãkÙÅ®]ƒ½È»òà/ŒÕÎ¯=üH0]°#9ÚÍ/Ÿ€&øVEðx„óGØÀ³ ÀûÈú™fkÚ½ÑM¬rÕBÇk67Õ¹ÜÀÙ¡PdFqÞÊiä AzçÂ0A¢<q¢ˆƒ~¾éE›œÏ@ÿºP- �Àf:œqK§ùóJöt»+OhXÆ×ÌjžsìÓÚ¸õœUéyK EYöL�wüL¿Hßl›‡JÄÔEà èäã:†k©çp9smáPks!ŸYªbµéö¥«Ùòì‚Ç‰Ê”�[lIŸ[L«=üå ¨Ý–v+¾¡n×HÐ)§m�ÅÐn†°r¬Å—[V_²ŸåXÔ‘Ï6Ñ‹#ì‡: É�S™m~<HÌhó_
-š¥·ýTJª?À—œìLql�½~‡±ºñuókÆÛºo‹Í™-•¡j_–ªô±µgC8îyI¡=œ9É~€:spÕ¬£Ffò{£èóWû8)·»ì›4ŒÒ–üÂ.fLƒ›Ê†õSÍ:4…mY¾:cOï
-¥qdùR¿íÀºÜ}[§€hí*‹“­ÜüÀžÞwc ß7%¿_ÞÏHì‰.Ð3×·§®dÎ5‰««v4¡—�Wì<VÄq*¾å;ÃiÉŸßjL³ßREœ=Jåý
tí=Ó>ÿú˜}“á6xBßÂxvµPéÅ¬ïÜ�±°æ–göîº°cnì©
-7ßN\±ÍV§YgMÍ`TfM~Áo1*ã:æh‹g±¦K¦ðxöD:�âÌëðppqRž™/ÃÕÐG¿—x-<µUŠw#<ëI|µzp	sFc1;TÑLb›Ð–â%˜#ú‹ú,æ…¹bUX¦8‹¡Ø£P5fÄ7ûY`“x‚Ól×X·b3ø½{W�Váû¾vd\èÙ˜‹Ì	d…!¨.õúDCÑX>5Ñ-àÕÓ ³¼`_ol
¹àts&+­s0K2öÎ'¸AåÙkO*ëëçá¯
-7ýUd�ì¾A‚¤ÈjD-Q&Ø!�ÄøÑÔQï•¢	B‰ã”\·ÆÐÃüÂ	3h(;óªl®
0ƒweXä{Â!i¿)¾‡5êÅÐü$uÛ™µÈ.ýÈmD&»¾çWdXº×Qˆ<’ØZKµ°ÿV<d^x»§:š?T;itû¡–ì¯²>è«6l„ƒ4“ñàê4Æ+Ä\e¿ç8 \áèŽüSžaÝOˆûÆžƒâ*—Ëžà�!¡†}S|IÇ‡\
-hÒ¹8¡ñœ´¸x‡‰‚Õ‰Ï$<¦~ìðPÙZ?„wJáQèÔ”Û5F¨vS«:r�]P"†¬Šéœ6(F�ž ^]SðeøÇì
>çá“Ï:áÃé1Ö¡*Ù››>ÀL·U§´hý\ùÜÞøWŽ-[·VL�•Iìk�IéHl
t²0,xÔœ÷wŸeÐ\Îqô$óà**ä&6²(Ðw$×®|­è~ë<—½´½ôND€§ëóYo@cuhì"h©áA(¬è�w3$Ï›vƒ¸Y­«Áò?‡ßôqz;�ï*Ÿªú¬²Ü�©Ë‹„� ­Í”åžo\Ã/×¸í�,
%Þ)�ga‘ÃNh{NÅ*/P©0õv§(»=�£Õ
-Ö0?êöó¹ìER.o�³¸Èc�q¶¼ïÀ¸�Eä-è¼�™'lÉ$™mÅ'’ƒšŒX
-<áÛ�ö|!b_µ„7ƒ°sD¼¤]üùÝÈñ&1ôbì+r'¶"Ø”\„ÁÞ§¸7±™-¶ÜrÜ•bÊãMÃxsüwíq¼ >½"˜ìãý‘5Oã±E"îÏž½˜›Gþó�G¶­çú�2/#w5m_ýÿÓûQ–ÍäwƒRrRq£µ‹<$Wú¸ã²`­„K—þ(ÜËýABc>%îŠ÷žš%ªDñ‡ƒ	•0×ëoD²`ÚþßD€ œ²ÿ‹ï:PË�ÏnYÊE5ýeÛ¹+ÓF2WÍªüy"9u/£“pQÔF¿$¬äÛÉðé�'‰ß•í>à…ârŠ3î&ÜÙÿ=70¿¦™Nüªû½Ä@�9þš
-‚¦màUà³Q)¹¸!Ý.ê.U[ÞÀ™©–_ñÃ
-?»KøùFJ4ÆÛôª‰G†Œ¦ÅÄ¹‡âÃ„YÁÍô$Ü�''ø™\]�»fGÙá63�¸IúAv_mf‡axª€"C%Æk4BbT4T–Õ‚"k<·\”æ‡{”dq	ìsÁ«ä¬7/üd4V‘óî 
-ËÐö{lÄÎh¾ØíÇÌÒx”ZÔ]¶âÊb[~=ïi¦ÌâûŒõfìiÕgÆò5F°èb(²ó×§øŒ9éÊÝ;ÐOÙ§íV¡i”¤GÑÓGX_}nŒÁù]wõÓ¸ik§ÊÓ6fâ:,°ÖpÁ³ª�ø‚¾,¥@Ð±‚kî±¨îbmuÕFRž!²s—á37€:!Ô?ª§`CWÖ§&`':¢±g˜UóèùDtÀx4D‹ªLØ Â²ÅîëÐCKhÝÈÓì�ÿ#Nà¡L€o×osÖRé 
-ïmR¹Ò¦U”a9B´‘û6c.¾o¾ûšoî1Ì8gÜ
Jè¢VÒÖnv[[mçFªGµêív¿zÿÿâB+J0Ì2ïŠNðh¨Ä¼É�r/
–ƒäœ²Càyü5‡(œÂÞr¥aåDlG“x“~±H?ÿ‘«IœµŠ�‰¬.´Œ÷È©½ü�
GH;A¦ô!þA0„ãs„AµØRáxJ8*ŠÛ›Œ¨Dã[»à×Ñ®~°²bÄ
-†ÞWª†.Q{!�®»¤£ønÝ(1_Œ³9ø±WÅ'ÌIl–ÏCwƒ'ïCpð^¸~þ¸u%^p™†î€ãV&È
¼>¸œ£úMÑ„y¬6_E%.Ø×x“èº»‘ÇA0Ì1©¾‰æ„Ý‡·"¾QCÍˆ‡‹ò…ŸZ�‹K¡+gD¥2²sÏ‘KtO°té
zå°nÂf¤•9•›	?¡ÓÊàí”M˜d$n|c-ÆG\ÒÅÜÇzx1�~ƒÏèF;°ÉêÄšBtBóžâ"©:Eˆ³¢&'>"3$vAƒìP¨rfÞm©#t±Ë&pšê´ÞÜÃJN8×Ú6…6n©^�Ôy�OçÏO‡MZ,»z¥~–ðŠPìy$î‘;lÙ*¶”ºº|”\¶ÎÜñ7¾¸ó±‡­
Ø’vßª·¨U³‚ðDl?ñÒá�ºÖ,"uy	â)mÜžhqˆšïû¨SÚ:�wd�µ¼REÜîûŒÍôéZòÐkÇó4cÈS¾>ÓnWž=kvËì�ÜããKÅPmGÈYp²f§o&è]•á¬Ž*žY÷V.#^žÃLCÜæxTrúšz)ïsÄÖÁÅ=™\ªí||ô¥øV+w]¼ÉðmˆÈÔ‡ùZèüœ³�ªçÖc&r~ï¬ð2fÌAc‡SÕ_ ƒîh¼eà)ç>tèÄõ£Ä*ÓïqQàtÛÇàë`°1xó€­wªìÓàÖ�+IÛ¾:¯hYK½¢ ¸¸ê�*9…÷³£¥ÊßI|8¶Yké^nT|
u <?$�\É«Ø\D,âãk8+à™?Â‚E½¿(·ó8Æçòxþ<õ�RŒ�`þ’ü·\#- �¾£=âIFx1¸�Híó™Á£D�×aç*O4¾Òpb‘Â4Âd~ Pµ‡Á(dšyÚsÊi!h›1K­W&ÆAçÝð6p½O	Vî^cƒ~i‹Rû{äòEÄ•ÆÇÒü�r®¤w…/1vXTY1uíÌXHF�b?nˆtw*¾1ó1ÃæÁ§'h\kÑ
ÿÝö²Ù««–VÈ;˜X3HJç2ŠÒ$ê+ú@úb”òŽõÆU¤MÐ‡˜ë­Gsð9�EŒØ´Åè3j:'¨6¯·c—iþ’E1Õmñ~ê¹âç’@R&{Ä�Ø#
ŒÉÀ—ITA.è™/½7#÷¨‹NJø5åe¹ú}~,^ÛèX{MÒU—-]Ë,Ö�(aµMq8¹Fcü>¿¥Ú¿¿kV¬Ü¥CA™µ×$�Ír*‚S$s,¿à±�+¥æíÑz½ä`‹;‡îm¶P«ê±¢dbPæà%Õúý°@ÍÍ]6è
-U¤—žUìu
-…nI¹–Rð:^ÙaÃþr¼]J–™&™	:£Ã¾Ò�m‰)Ì%Ò›FÒšp»ú˜}ûÐ	ý¼� 2 ýèešd';(MÞdÙFâÚ¶÷¬îŒk
�¹Û÷”ž¦]�*‚HÐ”PPC¬jß™úm�>‰ÊwÎE2jÿöìƒ½ª/;Îˆ?*,oqSë6wønµ”iZM¯¡fOdÈI&ÿ~¿ûEj<†uDû¢Q­Kk�µM|Ï\hF�:ŽŠ;TBËY€Ä‡ÚCôKu;ª£‹w1/5Ã%�•>*¤t´ðˆ¢¸ìcšHVÆÝ=ÁÖ—§ê™7<žLkù2‡XÚF ]ØEœ=m¬™,ÿ­úª6�ÑrõU¾“è¹²ŠßPà/WSEÒFÁl´µä†Pð�ñyzØS¿Šî8øQî:³/ñ~`~ËÆêk€LSµ
0RßªnFáŠSšï+d‡ÔìŸ@÷wQ’ÕÀ•€lf6�§V�®kÉdÐ`‹Ý¯jŸâ»ª¬5)Ø0¹T5Û 8+ŸF9yá²¹ÈlÊ(»£±ÞñêÜº)Ÿ,‡ó,‰&¸×L‹Ù@°!AëÉ~VŸS÷H¦ñIe"3Äo“Ñ%¹±Ò4*%yV¢ Ó"_Ñ;Sa8¸iq»kÿŸÂ¦Ì&ÐmÈò&×*ƒF¯‚Ô^ª·X·bBéÏ“É.Éç$±ÒóÉË%¶¬_d�Ên¿C^¤36^$‚©LûI|yÕÜIB¥
3Uþu	ÊÃª+z;´EQ^}±¼NW—�°%ê'%3¥mD35+·ÛžAFI#7òñÉ'û_1„Ùmžë1ËúËšÙwE¤ŠkˆGŠÕ
eÜéÛZaV7ûUÍ…ƒf‡Ö5Â‚"Ômþ/ˆ)eÑÆuøwòŸìÐØ"óFèæYwIÓ×µX¤ÚÜq
ÖËÇ[Ë8ƒÒfÃÿ2—œn8Ÿ8EOÖöfQëk:ýsX»pÃÏØcuº½åÊ’ÌÿÏ@}ø5u ?T†U<Q¢D±ÊPÙ«Š2EE†”)C
-(	+	d�¼ìä%/ïeo2˜Q,µ x¨uÔ�çQô,´j´¶þ¿Ïïó½MÃ2hÆ¥À(Yè«§
ˆ$½¦†aig_åcþ˜÷Ol,MçŒëþˆùÀÞª¾ÐÌäÉ+Ü±Œå¢w_½§Ù1�jœ¥9CB¡¹u.�öÑ‘þ¿b…þ§ÄÍ`hOqîÞÁŽŒÔ
-ŽÌT£dý®ˆdîVÞvÏ¦÷Ã¾Ë\©f&Qãnœ©='œÒ›°Þ´�¨®¡Á¤¼T¯¬¸*÷l¸—{_"orKõCbq‰Ñ¿ˆ6à«üÅÂ#½Y0Ö|ÚáîSR½ê®aW °édxGj†Z†7×Kÿ&D”�ÊâS¹‹ÄÃÍÆ=DøDKvt:”NtòO€Äh_pŒô£ãZÎ%WIj»@¾Vk�äG­¾*ùE�Lþ‘<QöNŠ¡Øåì@>S"R&D}”cQB)¥Ýß¼ÙºÀÛ:ìXÃ~IuT$ê'™+ù{5·m”MÊÇ/ì)y ]Xö­äÝï{.²OI-˜QxÁ Þïø
‰ÞÆÿbºãYözEöIbxžo~­ŒæUb.ÉXÜ”#™NAö(lc³’ ZVÔrA6ó³Ÿš�cJÐ!¼,¦Æi9+x)�×õŠ;¸kÕfÄ‹´J1$‚kGeNÂW‡IbP@Îv‡·€É›…/yS‘jð÷Š_ï×Ê¥s�J˜ÙôÉ3]œjŽ³A­xLRdÈ†k—H¥¸ôŠx¢?H
ˆn'„��kd,˜.€ü6ó2@-:œ3Ê+r²2Dôâÿjg�ylÕ¤~°e¯|^»îD°4\UYêŒÈ?d=eH;“¾:‹‰÷ùOa…ïî˜h:€¦:=§¿`Ø#¯µ?vŽ³ÂTí–ûÍEòžö‘ã9’É6MI2R¢íÏ
-†Þ«Þ'ò]Š¼ˆÃ|’ì_„{T¼½–Ý#ø¼t=½�áƒ¸i©}f‘ªÆö5A Çvij¤½Õ©X…¸µ÷dª!S)q… OK
-_àû¨0¾û¸Ë¤Óh;v´pzi"0ÃH€´ûÏŒnUìÿ\×§¬þ¿äX¯¢Ø~Øy7sTf‰J0Öåá¼'Úi_WÎ ÂÁm–õ›ðáÒJ€Ï(et½¯ý�>fÝ…]‡mï©Û[½¿-©S”¯]ÙÐ›‘£ü£ñc<"_�Ûæ.©Ã—zÿ„®Ÿá;Í÷–,ð¯’^AÉ�wpöÀ3Ë6œ
-—iìÂ‡WáõøÿRj|púI%ª¹(ÞEÖâ:"–·L{+à:âe”—¨‡ôÈ¾’g£„áãdOÚ˜9‘Ø”g¸FŽ:fÕÕ“§Ô™db:J‘J¾¶[úåp×Ðd”RíÝ"ÒQfQÉPgë”ýeîÕG°ÍúE}bÂÒõ�ø¶OôÀ£SZp¶0JØd9ìÜ½IrpõG<i¯½‹¡g
-U.4hÎ�zZÓø›Z_´�ð<dmé\¯£4œmlåvMÚsÙkÖÅ]�’�,·�1˜ÈxÇ@AÌ2Uð€¹Ù¡Žý(ä§Y® ‹ZW´ï‘êõ×!»ÊlM½ÌÿUYf¦eÈóCw‹…<Ïªhšû�·‹�ÎG©Á9v•Ãö
-@Å+±PüJ‰6^—Ý¯_¤Ï–ŒWt¨�éü]ŠçpÈþ»ÒÈw]¼Zè!*g½~¼#Q}àVn¡£'+åÌóúä
-ã	mzÝÝœêaù¼ZªÀäDÙžý©ÒIj\!bDª‚'¡7¢'^ç5Pê<à¯v,gÊévœó å	2n1ý[£ë0„”‡©ãt…¹êŸ÷õK×)KwN _Ì¦Ai¤œG¾BõóþŠuL'ºû�°EoÞv}ÄœÖU[Ê¸ª?MÄÜbù=ußvÉUÝÙ�xFã¼Ú¢XðŠaIª›‡-Ž·=™ínN:óq³að´f£.Ê–Wf§ºØ5”óL.±Ù{UB7%ìtƒ
mÝÛ'…O5v^kÀ8YÊÄs
ŽïÛé¥Œžü0ù„w¶!¬æÄê.vÝÍÒy‹©~"ûžq®qõƒþHSNì
-'ØºEéŽö°Ê.>­—ÞmÉ]Ü$h$ç0�¶Ã…Òzm¸ñã��|Si±ùaYvªq%áÒž½Y[®iÉšS=Ò’»Ëz	D>´xÌ¢LÒ#ú‘æðŒžd·šsVòö’«¦ûä6„‘›Sµ'É·b]T%¿ ù÷”/y%7[£]²ÄXêª%iüLj�j#]€ûW÷=®fµõ&0]Þþh=¸§í0��’¡yxÆ\PÊ‡ ‰œ<dâ?�<R`—XxXš7M|ò/gßíÅ­­.¶®áÈŠ¥íIì³YCúnö²äGšVSL¥â)s6¨D:Æy€â@¦Éå,Œa˜í—rZ%õ­mX4Ø”ÙA˜ª ô,š5žÉ
-Ð¯á÷%—«aÞ@Œ³"‘{/è[éV®ŸG+RÃYpy-Â²Lö'80­›lK‘‡6¶w¡¤Ç«–[ìÅ¦¢"ãVøa¦M‹&}V;ç¢‡äçý�s-xÙ£¾Ì¼j$åäÙ_a�Ð¦[z_ü
þ÷Ÿ¼u÷«¯�‡jl§™›Q^Ë£¾™S/ —)G“œ–•i;k™A“Ô.¿–’¤!b“1�x>�Ø‹Ú‰„€Ç¯¢¦]uG«_£ÙiÁ§?¡M^.£Zž²R¤Ÿ¶œbGœ*šI;˜Ò˜h.}•¤–h!B’ª’ÓQ�0ŒbPˆ‚„E€¯Y­Bt¢«ªZi+¦õ§m]££¤xR)Ÿ^¡ÐF¶›ÐŸf:¼˜s�.C•?™�!%’8”Í^�¤Œkƒˆ	„gb¯´ztªÙ±h²¦¹­Ÿ]3¢ÁªYQÇŸ§bFc›†¤ƒ:y˜' É.”íœ!‘Ü–Yi�3Œs¬‡¨„ƒ{W½¨rp?¸¦sBe
³át`Y´¯|u]NZ«Lv„B÷§@wÃ6ñ£}xú*@ z1“�y{l
<›1}8$�ëµ{
-¼ux£oï·‘y<d»²ãyÌYa®ˆzPNª_{B·¦W{Ð6Ã¢Œ|¤*.Ÿ}‡¬œM~ˆ
‘™×â��À�z‰»bon¶�&dF±ì@Y­šNMÅ©vŒBy¥oè6˜¡¢€T*ž&€ßÁ›@�¥
Ü˜¢‚=	Ž·‚
yæºn…Lnìµ—…cÞ°ö„ÁX®¬ª„bMy¨ˆ„1B=¤„6o ¹„*�D„>ÓšR„Å—�„Pg�Î‚Myi¹˜‹©ni´ÆŠîc]°*Š,X;«ß‰aM§¼ˆÆAï£°ˆI6:Ÿê‡ä)öœp‡¸è™h‡ög–z†<ÏŒÛ‚“xð¸è‘¿mÝ´�•bÊ¯†�eW´«9Ž.L¤§�2A•£Œ\5þŸ8‹¨)Ý›°‹?ü˜ˆŠÔ³•h‡ú<‹æ‚Ýx]¸]—ÕmU³“–6bL®ù”–W@ª©’òLA¦‚‘—AH¢o�j5Êž��i)È›
-ŽÎ—Ç�Hô”}‰w™‹ƒwÌ·ë�ólÏ³›ðaÐ®|™ëVÍª&—ãKß¥ý–,@ú¡è”¬5”ž“g)¯šs’<—�{)“®Š@éŠbƒRwH·Œ¤lK²¶¡ÚaP®Ÿ‹VV©«�+Kx¥�›!@¨¡m™W5Z�‘—Ì)’™ç•`–{‘}T’÷Š],‰Ëƒv³·3ª“kÌ²]§î`á­¯¥FUï©C¢˜K¥ D@`¡ž;5(�$›¬)x™q˜!•õ“-v’_Štc‰Oƒ¤v¶á±jkZ²®(`‡­c«U›¨ï¨J×¤Ã¥‚@& °¢’4ÿœÌžÆ)c™š#•‰“³‘‘äŠ‡�ˆìƒÂoðÆ}s|e*Ápt+Zz¼itïOì·nuÕEf²¨vò:Û®x-/À©»yh#ý¥ßz¦.¢ß{è	ïž'~ï’@€
-oñÅVy�e1ÀOyÔZ‚»Pz"Oì¶`z”Ee±¡{B:Ü­|/È¨ª|ó$¤²}ìl¡‚	
-Wœ¶€[n‘€øo²Ä%�e¿'jZ`º4POÝµR]E^°™ :Û«ü€/Ï§�€ˆ$-£›�6¢ K‚.
-²›m‚eß�ü�Do€Ã…§dÙ¾…ZC¹„�OÆ´;„JEP¯„$:×ªÛ„/Õ¦‡„:$A¢’„�ÒŸ8…$šK„0B��‡oDÂ0‹£d”½Š¦Yü¸#‰ÅO…³P‰E®’ˆŠ:·©çˆ)/Ê¥“‡î$Q¡™‡ÿ
-ž$‡Ü^™$…Û°Ž�ÑnßÁy‘Rd+¼d�ðY“·fŽ«O$²‘�’DÎ­ÑŒº:©!Œ/±¤Ä‹“$^ ·‹{H�ŠI¿˜‡^#�‚nnÀÁ–òcÇ»¹•,Y9¶Ã“…NÑ±ì’DŠ­*�à:P¨v�î/œ¤�9$iŸôŽŸ|œ6Œ]—	ˆ)†ŒE‚bnÀ œ£cn»šƒXæ¶+˜�Nƒ±O–­DJ¬�•5:$§Ø”/‰£l“$tŸ@‘s­›gŽ;Z–.ˆZÚ‹�‚›mÍ¿ž¢tc#º˜ 
X˜µœ�ÂN9°µ›¢D«õ™å9ú§D˜y/x¢Ñ–Ù$�ž–”Ûš¦�òš•kˆ…!Š÷‚Ëmp¿1¨dbÖº%¥©XUµ"£Mû°1 ±CÛ«rž»9×¦ÆœÐ/j¢N™þ$Œž–8š�éÏ”Éˆ©[Šy‚òm¾Ö®rbŠ¹Ç«HX ´¿¨YMÈ¯Æ¥ÇC±«£X9º¦a N/_¡äœ„$•�’—ö"™��þú”FˆÆŠŠƒÞðu²oŠÌPv“q¹œw_r‚¦ÈxsÒ“Òx±u*€»yYvŠmAzwÎYJzµxÿD�{Qz.{ºzã{×{SÜ¢s™y§Ê>t¬z2··u©z´¤ùv�{'’1wR{³Qx|Mlxê|ÔX4y®}PC¨zZ}À-ezÃ~	ñzÐ~-ÚqÔƒ¢È sƒ-µµt;‚Â£9u(‚i�©v‚1}üw‚jÙwä�ÕW5x¼� BÙyv�l,Øyà�6Òyç€ûØcpm�9Æ+q¿‹å³éróŠ¦¡•s÷‰†�2tüˆ�|µuþ‡¨iÁv÷†ÇVKwß…ëB!x¥…,[y„i¶yƒwÖeoS–ÖÄRp¯”´²3qð’© s�Å�Çt�{wu,�lh²v2‹ØUnw&ŠTAzwòˆç+ôxX‡ÇÀxZ…ÍÔ³nt QÂÄgXS‡Ð¢(ŠLÑRp²*à§¥U™
-ˆ›!²”!¨€¬$$wß›{C	IÀ„0BØ{„Mˆ ²—ED[÷ªTì«¤~åé{çÇQÒf‹i­ÅŒ=Šê~ŠŸ\CœÂ¤çÊP/–PæÛÈ%‹�`vÖ¸û)ÞYõˆ­ÿªç/ÜY�4T?5hMs¨qjq¥‹+:‹Ým¥'Ež)ŠÌ�£Ì/kbîyú@}™“{øDR²3ú9ë†‘´>cìvv’SÇ…þñäÆ–ÍMt�†?Š´65ÂÝ)�`o&Zª³š•]àdç?qûFå4î´Û³}�lA©(hú|âýÞõ}üäÃ]f��´œŽŠ;ô+Í´Œ
Œõ�¡@æêê°‹.¬Íå+ý»“¢'n¹ÀŸ&¶oAç\šÑ!ÐR\;u"Q<ö°7!iað°2‡æÜÓSp�¬>&ØÎ Ú´A<¥Bùì‚˜©®ùÍß‰ÕR±ÊÍ@Š[mû�»r-£àFæ†Éã‰ÞÓÓ×Ð¤¦	qC[òüH¨|ž¾¶Ïƒ–a×L¦øµ³ÏcF7öûÝf…Öz¸}˜•wØ”b³QÀËÜ6#Å­“cƒpºiËC<Œ¡*þŠË˜V¢oøM–yF¬¾Æî'ü¡€@¢ÎuÿžXBl}Øöh�Ái6;8-D-`Óþ`‡§›Þ£w¼È	³FM…ñ…ŽÂ$vCcÖáq‹m¼ró$ô‰ ››„'qÅàÁg[N†Ã8§ ×þÄ‰i4D{…™åè>¢ÁÔ2äŒNPK±ÔGÿíØõÁU†;PomBp:õÈ ¯¥Æo†BvÂñ:ôkÆhC8|Zp»@¾Ã_à+�þnPyš�_@ii¿úy¡Ëiæ1&�o½€)yš‘Ø®É´�-w·€SÙuÝP‚$-_Íg½K?§fB¬ˆ±X/zQ	Õ§Ô+ƒv ¸[+Ð�ü3(¶-Íóú]àt±Y—!¨£(¨µÛå¶yÛ ×Ü¼eè¾¬‡9ÒÊh
Äôrµo/r%shÿú‹x­uê/¼cP‡Æð}ÇO±:k««€¸ÊÕÕ�@ÝÒç9³`YÑsî3ÈC¡•rz• ê'X–“çkŒìËÞ¸?i½<cý=2’d0…Œg¬ý›µ·%¥ó$ë™RT•pj»ejÐ¸J;u
-ì+ã0@‹×œ‹…7tŸÄà«y
-—·È^ÙôŽ§ÈA©Ô`qrFª˜·º:TZ,ºÊ¡2Ðm¹•�	T)qÎ èYëKÿ|_iY	•”î÷y{’.øªü§uðXN’¡.|K$F™À�^ûk}¯fÅVS—–TêØDÝ^7{Ñ·‚¢z~ÄgÈ¡ê�Oô Lê²ö-*Ý�Áy“†V0]”?3mnHÚ>1GFÿ)�e…DK®±þ¹ú˜ÚÈ;ãhèØ²Á_6¨½¿AÜêç÷Ð§²ã;‚áµrµ¡l%ªÛ™:—$Q§FÒÎVwpÞ04sf8) w†À|“ÒÎ1âÎ-R‹àÍ“yÔkx‹ƒšE‚L¦ÑƒºÝCìôˆÇSýL]…Š*ŸR)p”Ìœ:Œè¥úR›‘ÛŒhò_´<ò.9�]òQ’ŸqçAJü£¥K„êþAmao:Bäõv/2ˆì«0%!;¥9¤)ÙLÍ“kÈaº{‰œ‹˜&µ(}ï{¤9åìlI:RÑV*Ò…ôV‘G¨Ü�`¶«@Ö*aÛñ/³­ø&’]ì-éad{KÚÍ”½5Í-üO¶oØÛ„Åós’³	îk«˜ÿŸ¯gÉNOíï^Òøæ—ÄÑËŸJ5ˆÃYü¬Qâhæl:á/ú=y%qNX¶D2D^á„Z@:¿ñ3­¶ãész¾Ä0o²w=+,šÎáüü¥bž�{/ó.—
Ž¸Rú0q”¬	3Âç³NyÖ–âGá.:dù’Ø*ŒÐK%4ÒU=…Ø£Š9åWìuÙÚ"gìŸb{±3öUÁÂmðòg5ñ½¹	g}ðxÙFO]¼RòÊqÞ—õÅ²fvé5ãg�W]±eWC;S·¯pF«ê™bHy f…å•lO0Ã:Wœ¹Œ½“ë�€qÛ\‡~Ü#û?–¾RÒ¤w›ÌPw¯@—T²zýÚšY0ƒ­ldüÓ®ã£–˜e•:Þ
s/û:ƒ!ÅñÇg1•ÂØ!›Èw³<†¥Ë<õ>`§…›®ÜEÕ½Âºshs÷jù-´A…g¬A›ZþBŽ #Jü†>©µÝ�m¨ø÷øEÌ§tƒÃwXTa´¥)¶)Ô×A?
-w©GPáXkm
-Ê¬É_B£®IÑ¨+	°Ú£ãž ¢¦ø�t°®üØ7t©j§}7¶®DeñÉß£o†Ö]º—3î%¾j¸%˜Hn-æÏÐÃE¬ô/ŒGXrº#3,Á+�b=?ƒò^ƒ'N¬äÅC%ö}¼Uðss6÷òpÝ)nÆé2Ø¥õÚ|0¯ %�€ÀŒwiCð^Ô0m¢oÂ#�7¡0÷3:|Üž+Â¤ö»¸»ñ sWî
-üýºÂT’mªJocÛÖz§}aÉ
Ò¼Øˆ •WÇ–ÀS<cöð%
n¹*DÌÝJ=†§ö‘ü}ÊÔKä„¹fê^JkÝcN3«ÊHCÓK«yÏþÇÀœ8B™(¯ÔæìØöU¦(-¶›’Œ#JdIQYGÈ=ns|÷9ßœfÆ†Á˜È-’ðjE¥ãõÐk+¯ÚÚlµ»Ùm•–vóÞïøá,U„I7¤ýXd@\PQÊ'¸u=ÚG ßNÀKÄÃêE|lÆ¡Rd‹ùZðœÙõe$ÿÐ³�Ñ¥-’Ë´aÏá)a^a)œN'Ÿžƒæ¨ôèGP=Y¸
Š#”îW¡Õø¸M
8„g›‡�nhlg6r§<¹Î€„)™²øvYZûÉDAw¥.ÉB‰bMôRèsÑÚý0x[Øì–Ò…6à*ê™9¤âvK×š�Ú(¸Oë#Gà=š«êRÌ�†”É–à“²ÛG‚A¹ì|À[0T2´s˜o²ñ
-˜Yó‚¢­­l´Ñ­�ýVÈb ïjçátÈ³úÇ¼oÁÛ•Ÿ’üÁÔŠQ*ÐJ…$æ;i€+_l³FðZÒdþT°�ìn-€s:Õ?@¯[—KÝ ø¦\(œh¸ÃÉ“ëŽ$fW¿‹|tTöú�)êþ�6À2•ïæ§‚4¹™Åb~+y«%vésÒÞ‚t=öwhUç*0[^äV€+'º�:ý«H ¢ÖÊ?øL[ï6"¨Ñ,ÚÜÉÿKñ™…?ˆ|ÒìÍUý%f‰SÀ»ï� W7+ç
p½L°bÎÍGËz¿_½u\7®à�vÑf†¯WVY¸ófÉ7­ý2ûŒ¤š	žå$}/ZÈž„M]nç/aç—ÄqÚ.¿(ršZS0åGÚ±]ß	Å”5‡øªDaò6È�l~&‘ç÷kï‰í
-þ)á2×
-[À!¯ˆ›{�þ¦81aˆr+9iFº–îõk#q×»"¸�;m…{ñ&…è˜Àïœ—økÞµª}ÌK>Kl$¬ãÇ©t_‘Ó@ãÿøí*ð�ØCœTø­ÄÁ®VØ
 Âz7v¸dr]&4–‰¾Di„OQŒi¤
¨½À�‘¾l™‡pâÄ;¼—#K}ì&<¶c[w[oAÏÂã¦,äÌ6|d˜~BSá[áaj’žå}"/Q¿f�Äjå©×øøÍylŠ°_a¶øÈŽD4w·6B^âÖ¦ñ°5iÐ	UŠkå/éÔ2oj�bËZ¸wÉÍÒ•™ÂF\sòoÜI6�Åß±ÃQ%}Ùe¹O�Z=E¨xÓj¨;¯�¦?U
©Ú©G
ù˜¼¨Î,½A¨Už$®U¸�Ü�µËýÃö£�¥i>ÿB×‰/º4"a¢$«+0Î8˜ÞçˆMõ›h‘~T‰Riu+‰a2¨&¼d”°«¢ÓõøöŠ™g°}åy‡«ÑåjŸ`D/ÿÉ%—í±Ò@3âJ³Å`<‘[ûÐrO‘@­ojÆ›‰iCAñ
üF½ã™ËØ-�y\úH»4ôt©Æjß âYÎs~ŸTî²:eK¿3û
-xJÐº‡ô’ó²£äDg&v‘hh½\ô
-ç6ý™ö+5DÄ¾GÑºáÐHsÍ‰}¾ðdU„3	Í«åV>à‚œ2
-	]Í-jxP$Ï#ËûâÐâL�mÑNÜ«ãyZ4æÙÒ›†ú4êC¦�Dý°÷cX¢»ä¼j¬ôµÚ6”µ™Å6Dgm—Z–á¬HSd}ŽßWlÉ¾[üoy@nÄ™&)Î™Œ;-~�Ÿš(Š.xèÝÂírZGÏ“¬`z´¤nùr�ÑY—oÈÿB¾ ˜)`cùÛÂÐ¢zÙ¶¢mi•°xC,WôS‰eHÃ)5ñ¶Ú—¾Ý>B¯ç>dS#¼ÎåY„½ ·Zª¼Ïí�‰ÊFyûQ¶ì	ïR!,µç-¤jÅ"~üñj‘ìÐoÂ*�÷Þ*ú˜ e;�
-¶²‚ÉI`hù]<¬ÕnVÜDÂ¤»ä£Hb,ýq(È”ì…¥4ŠZáöc·G¸üP=s÷ÚQÕpêv/Rçÿ0…‰!pxe_ÙïôŒø¥lžŽƒ&¤¶”!?FÌ%GNw33äŠ˜Â""=XCÛã7½Î’ïq/Çß‰)ìË—ðÄM�9h;òFƒ—±å¥¢.ÙqY8Ø$I-òBD/ÄµÉ#L¼(>f+ýšùúào”Z¸ÎËŽL ×;ÖþT
-ËO'§�û‘{XzE¬|H³’©”>P‡�cU)'ItJ&}>‘wÍ§3d‹ÆQ%‰{zˆç¢÷ŽÇðÌ;–-Ö'L5žCXøjõ>ù©Ú^!#ÍªIœWhMsfZC&9
-3ÕÑW©�Ê�®“ÍeÏ÷°‰L¹±£)î!ía™cE2'¸÷(÷�¯h* A)ËÐÍ?+f×ÿ7GÎHtÏc„fÕ«¢-(Uå±Ž¤¿úúî+ÄbîÐ†]Qx[¾Be’b“ãÐ;<Rå,êŒ¤ÉX›5oXôáÜDöU†}6)AG÷é-�dQlÝë :âgíÔî0\_éè‹Å–»X^C7ÊÌLŽ§+½e¼¾8²_"ï9Ë³õw>ÏÞ \h3J0§ÏùDM“óM�;Q[ïà9ƒÇÔ˜8¬ÃL*Ëfd@kR9ã€rLçŸáD�ÐgÎñ5Ù�ÙBuJ®CÂaÕ&NOÔlÙ¯ùA�ÿ‘Mîš“:mÙê!þ¾˜·v•¸·Ä°Ìžâ;(àê'y
äŽ*—üëÜÿ1\ß_M
-€U–¨H‹1(ôÄ"àDÁ HÙ €h€²dC„’›äfÜÜÜ›ÜìABf¨¬"­•ŸèS©Å"¨ÅY�­¯EëQŸÿÃ÷Ë§Ò´“«FTÉ�ã
-Ï¦ñÌmØß”«q;¥K›/G¢(�:þ�ƒøí'Ü·bŒþƒƒ^¸‡é#jµQŸótk¿ü²A­£}¬R*SéYù˜<�~5ƒ‚¹22]’Ætä¤¶%/pNìÜò—ÃÌ+Ž‚tÖ¬ô¥¾‡í
Nh½ØÍù*{]¥YqxJ<+Kî¦�K£€G/4x1%îÞŽÀv®JÔÎþÝ1ŸÏaçKÆt×„ù\“&I0GIWþ)ˆ­�÷ðáãO1„÷)}…„Í+Ï%¢þörD"PŒc@?�CŽ£¼NÎM´_·^Âç(Ô6”Ú”¦LAòÊ¯È¿o>î-}ãÒrÐ7"ŸØwÈ:(<b)\"¬	Œƒî	—ã¸ÂYAœ“3x‘{1i�ªA¶ñË3½IŠIyc¹�ÂÆŽUH¥A©çÑzt8–.Ö ÙÛ;Dóâm�nP<,Æ	…Õ)\Æ}#6h÷€^Õ¸~†Œ)rµ'¢dêæ¼Q©�²*5ù,o‰ù öÇNmß/*•†ü*<�~Â‚*¸Ä	â=a«æU'�5¢ª°üÒÐ.ÿd
-/+À†¢£ï%­úU)lD¥é�©†TÕ‡_ƒÞ+T€0Aæ�+çÏ îNg9Sà.Ñ˜FÛwž9­Â[§I¿É»n—Z°ÂöKGÓ%ñ¦ÛÉ!ÑF—ýoá}]x¤×LD
-(úpéü£è:§'"xº§98\ËtWÎØ‘‚å�ý²ÒØFÛúÜ+’e]É-âÅvl?
-{˜N„»C)­áþ¨jÍû]¹Ü‰cVA)Ý•1-êöÅª'õ}¦©F	Ép½öc®—n±NêÑD6lÞW¬<CnÛF”CM.~ÅØJí×o±áæQ;ög
-	�¿“2VKCnÝ­69¯¸§u¨1;§Xû¢©$iµ:ŠÂŒ~­omó’I©˜_ŽtŽfq‹”ÖÒ¯Ù;‰V3›Û:lÔTºÉ¬¡^«}hÔÒEwô#´ÓÙÃšEúžïšT‰ôÙh–|ŽA
-›Áú[Öú%Kž·L¹‘$IÌ?ì› uÀ*þæö“žf2Y€õ5‹†À­ÈEw
Xš½Dã¸'ÞSÖ»¢]åËb˜F:Èüwà_·nô;¶Ù~F¸�]Å´\8RûÚ¦ø´·Öû¼…ïctÎ¼Â#Éê,ðcâAÅ Ø»W+K‰aÉÒp‹_šr›BÁP‡HA.‡°¬E®6_iûF<Q½³5þ¹�­-�nW��îQ¬‡Öí
À†……[?J8‚?GD"øÙmAœÁ§;Hùuœ‹Ü,3ª�PÞMò•U,ý&(˜Óü!]~ØM†Š’+ÆžX¨¸`ëú?˜ãûDü
-ö^ã3„$‡»<+g‘SaÒ)›ŒßjË*Ïê	jRAˆ¦DÉÊ¢(ÏÈL–ãeî{KG¤Š­Å(YrÂ÷1Ý´f�è‚(ÈÏ[Âõc#¦YKlÓÃlÛbÅSÝ#Cg~¥ú£>)óº2I»1Á_vZí¾ûŽ4^±u)j'·ú6ÀóÒÛkVŠ6ÂVÇ,°–›˜Vb#Å èê¯ÖÉÛ?/¨;Ì±™;o�ƒñ�²ÌÖÄÝ5’g:ÏÐnÄ¬ÎóÝ7Ê}Ö,�4ðmG6÷_n)ë¥	úyÒ°§Ÿ_Žé2lùÄ(õñîäŒóŠžŽÂøh™³¹s·‡Ä`…‘L]º¯ì£xí¶Ã7»¸z.“ùÕ©”ÊQÒ»Þœêì²±nEÍ£cû:6Ô¥¥�4Ý¨¿·Ò`j(ÝaÖ�“†4k¢›ÒðÉªRÊÀêMÊ]Ô¼eÞâ+-[Zbú_’ÊHq6ÏZÙ†®:2+¯·}Ec]ZHÛå&:¡µÕLQîÈÐžk¶†dªÃ¨çðùÊ´»«i_”V.3Á6æ$£¾o‚ê^Ï°ÚQ-¥E�å4ÿ<7Ë*š,µÇø+}3a«þ$}r‡£æ¿RH˜jgK¾VÌ\¶zRffm±Ã‰l@$]Ý{‰%¯ìqf�,éëh`�=ZoÞÀ:“ºÑð˜5sàœnX5ª~Ä…¸(�J|‹|ÛßÕ³5vh’�G»a»Ï÷©}ÝÆ;WüO{ïpî
S*8Ÿ"7x�è�Dí"˜U¤ÞÏ+„ 7�eƒu®IR
-wÚî�ð»�æeó“jwtpO1ÁòYt37¬­z‘²¢•…ÆÎh3„HÔjYhÜ+ŸœÂÓ0¾`Ò•#©äÝ¶�¼b? &ZQÙå~ç)êµTKæt·y É˜þ1r)–¬™�G^T>„ï³äQ0O–N‰\PP€Ù+›8žÍ\«—6´zº³Q-*Ze^PÎåxe
-Ïdœ¾P&ŠuÑÄb~‘õJ¢äYð!Y¯‡/”†!]§�1h­ý>‰“@™îj³VûuºF¿'š™ú¡lºq½V™„èž©m1:õUåóHœâ‰¢8ØQ¶Ev¿Wb–è\ï#Ë¡³¼yNÅ¿'©«°ŠÑÑ×á\ø‹Ù×Üuä/ÃHÛö$w§õï˜u©îÏˆ‹
-–æMÐ°óÊxoI&v}!®‡&ây¥¬‰Ùý¬ÿhå«Ž\¹0Át«Ûx„óþ÷žc¥àL´›0£UAå˜ é6�•,�«*–’i™l�È”ôŒúŠÉn†ƒ¬t¸µmTiy´+nÙ^Ö¯ÝpLT«ëq¤IG¨#s>j¤t©2Ù¡2v&&�žXw™+œIxù
-Ì™+{SÞ�;~–s·Rsªi
-²ðt²^y®¿u«S¼ª×v�Hú§w•>-£xx°2µ !yÎ&Œ�.zó_šð| 7—µ~iŽ€ró¶zh„±Ìz�^­©{S[©Ï{Hª¦|=ï¢u|Á2�Ÿ}|&‰œ~NŒ™¼E––h€wä�	�GrWµ€?gø°Ã€c]…¬£€{Rð¨Ï€‚HR¥€¬=¬¡l€í2hž�=&ƒ›�®´˜¬‚jé•B‚–PŒ!��qÆ´%†rgk¯Ý†*]«Å…×Rz§ó…tGï¤7…7=_ Œ…28�5…&wš3…%×—¨…¢:”„Œº‹.�Øq=³ZŒ\fß¯ ‹·\w«‹Qÿ§=Š7G†£‚‰š=Ÿ×‰2œzˆ¿&f™fˆ§ô–¸ˆ‰…“†P!Š9‚pš²¹’KfU®‚‘>\ªr�"Q”¦ ŽïG,¢å�ò<ÅŸ:�1Õ›×Œt&W˜¶Œ-
•é‹Å’‡Òy‰h‚Yp²,˜LeÎ­ô–Ü[‰©â•_Q'¦“ÌFÏ¢S’u<{žª‘L1¢›C�`&A˜�›•/�;ù‘5ˆÅÃˆµ‚‹o}±«žbeH­qœ¨[©\šÞP³¥}˜ùFk¡Ç—Q<*ž#•ß1gš¹”³& —�’º”ˆ�;
�uˆßˆ‚¶nò±4¤®dÊ¬ÿ¢‘Z–¨é nPM¥ž@F¡OœQ;â�°š¤12šD˜�&—•Y“ú�ç
<�Õˆó6‡¤‚Ùnk°Ì«0d\¬ ¨‡Z;¨Œ¥öOû¤ £ŠEÌ î¡b;©�Rž÷1™ä›¨%ê–ž—r“ˆ‘¤
T�S‰_‡A‚õhªÁ‘nn^x¼ôo{TY¸cp�JW³äqà@W¯ŒsP6O«ZtØ+¤§Šv[ >¤?wÖ«¡íy9Á›»|@�%hzÀ=tq^\»¸uTI·6uÃJH²»v˜@N®iw›6Nª;xº+³¦Yyè j¢ê{$ \|h=š1~¡L�W€4h9¾òzd^%ºszšTµþzéJ*±˜{Z@<­L{ö6H©|­+¿¥0}€ �¡¯~tZžö—ª˜Ó€»ÌŽH€Šg÷½¿€d]è¹F€>Sé´×€.Iÿ°x€B@¬%€y6;§æ€Ê+Ä¤�7 ® ‡�Ð¢�¹‚ 	
-—�‚”<�Y€Ög¢¼Ê†J]™¸L…¿S ³Û…NI¾¯€…?ì«+„Û6¦å„Ò+¿¢þ„ê ÉŸy…Aìœˆ…h	k–i„I¬Œa�"g=¼‹Ü]9·ŠõSF³
Š&Il®³‰z?ªª_‰5ð¦ˆ«+±¢$ˆ… ážŠˆ¸5›l‡ä	Ê•A…Ò‹g�kfï»9‘u\ê¶Ä�"Rù²ZŽìI%®�ä?q©­�5Ê¥cŒz+¤¡iŒ õ�¼‹ãsšxŠ
-”B†ÕuŠ’�©f™º‡—\™¶•aR®±¯“ÏHà­T’q?9©‘X5£¤¼�x+• »�è!œþŽ¼¨™›‹è
-`“`‡Ä‰Ü�Þf3¹òœ¿\@µwšÇR`±˜ñHš¬¥—K>ÿ¨Z•ï5x¤”×+� “­!œK‘VÓ˜Ð�¢
-š’–‡+‰B‚e·¹q¢~[æ´î 8R°tžH^¬œ6>Í§Èš¤5R£“™*+pŸ‹–Ö!›³“†÷˜$ŽÚ
-É‘í‡K<ˆÅ‚0e9¹¨P[“´}¥ŸQæ¯þ£-H.«‘¡>¤§RŸ254£$œ­+aŸ™_!›8•F—šŽí
-ï‘f‡ehˆ`‚NÓôrj3Â.s%l5°Vt#n#žbuoîŒJuôq¦zvÜs[gzwÆtøTaxªv@vywwæ*�yÿxäfz¯yoÑ¾oœtKÀ*pïuH®|r/v@œ¤sPw0Š¼thx"x¾uzyfPv†yýS_w…zÓ?¦xd{–*xæ|fyš|`Ïmœ~¾o#~"¬†pŒ~8š÷qÉ~_‰Is~“wt6~Ëe<u`~üRuvw'>ëwfI)“wäNgx¥EÍ|kÝ‡�¼%mˆ†ÃªÊo†
-™gpq…l‡éqÅ„ævPs„jd:tRƒïQ�uƒu>Dv}‚ý))v÷‚ŒgwÍ�ÔË~j�‘
-ºOlJ�r©mê�ð—ßo^Œ�†ŒpÆ‹Qu!r$Šc9svˆ÷PÎt°‡Ú=«uµ†Ì(Ñv'…ï‚w„8ÉÃi š^¸¤kd˜§†m•À–in�“¨…<p‘µsûqp�ÏbBrË�ýP
-tŒ?= uŠ¡(Šuw‰j³vW†cÈ hÓ£»·$j› ¢¦&lL�£•%mÚšÍ„o[˜!rüpÑ•„alr4“Oasy�£<©tŽu(LtÝŒðÝuÁˆ?Æªh,­µÈiñ©T¤âk£¥¡“÷m7¢ƒnÀž³rp=›c`¤q¦˜7NÆrî•4<>sõ’x(tO�gu@‰ÓÅjg­¶y´�ii²£±k­È’Öl§©Á	8Ô‰p¶Ú"GÇËV_¹©lR¤´…�È‘!RÈ1÷ÿ>fþÿ™13fÆŒc3îœ¹Bùè¥ëõŠë¥}]¯Úš¾¶ûX½ß¯ˆ6ax4HÙÎÌ®Õ±§ìµºóáÛ9ÚU¾¸ÌÒ[ës¯ÃKmySò
ã	ÛGÞöP™
¾«mÏÒõÍWÏælêÚDÙæžk#X‰Lï¦Çö²êŽ‡
±ßêí}œ¯•ëÎqKç/ÝÁÃäõcHúå+ÅÝM™Š±g53Y;‡ÃÕ+²'î2rcz(æãN‡wòV@óò°8¶ºÞÃ7”S¥ß¾®ŒkRnµ4”·MÞ5ï>•Ü
6dóš¬Ë\´t"gžÝE±7s¥¨ˆcLíÃ¬yšCQ˜tÝe‹;Cå®op1\mù’FøÿôM9ŸÎÞky+ü @À£$z	îFÀJ(Œãƒl‚SÊ�ß‘äð44�ñÍÀl1/W1cVø·æ­Ä£z&yOqu]&Ð‰Oõ�(aK½„v\öèqëX!<Fn
-“#ydÞÎ1t#9åº�¬6`GøGp4âc]Ï¹„èNM;ï¸(Aí
ø?	ªÁµBóà_Âðd=tC8ïàeØ@íô@"h®Ë$¢§×[ù£RJuq5;ªè´ãD+×qÃäoUã<¿üYþÀM6Í¸.‘þžÔ	~•<?¸š–üäÓäýê’ßSV9È˜ðú0ƒ•TÆè Ù¹šäj!‡WÌ,8Îe¨Ï�«yéª¹ý@\Alâ¦¸yÊƒ}\¡—²×.¡ðZég«ÄB|ÿüLµ!®}«Q§Õ¹³{µ_•[8}åRÂŒ;Pê–s…w¶øn¢	Ð«6èkT
-ï~(^Ùáb‘
-Àê_0SR>„0ŒÍ¡­#,“†W•ïÙ–µM
-Îr½ŸÇ]SÅÏ~Â³« ŽîœK›¬mŠç¼#À›j½ócðµªÁê=ôBf3¸“Áé>Ô"dÂ'µ£,²Ežod‹¯b¦U�}¶)·XO%ˆyÚªÅ!J@U~e‡Ñ¼vîÓ‹@ëœïqnMî�!¤™Áü©ï{Å ëçn…ì3Û²cêÈù¥ùi–wuCcüžS�:d°Z7´£˜Òú;K�w%7¬·@kòœs5ã·NËº‘Îò'ÌúA½Ì�Õr¶a°{;‡Né9ý­3ñ©ÜÑ&×àÞ`íÅq »íœhJÛ­ÁÛùÑçSÉ×™—ÚæÈÎ¬×º#¤4ç³2€0îæ$ÍjÌ9CJ9œ£gÈVžóKò0²£‚¿ÚéäÄ‡ƒ+ø£HÏ`&~Ž=Þê„÷sÍ*Ëñ	ž¯¼ÿDa%ÄZ�“�CøC	B÷‡l#n#W·Ï‘+ÑKŽÓd0–½øy	WÄ F´¸yæ€™V\Å0FþjL�M£¿a�ð¨¬ Ü	ŸŒoÁ	".˜�Ï3Ûy„;áXJÄ“j‹…Ä3þ?ú$&LmB�[B›òÝèzúšt¥h1CïÓ‘§|±MôÆ¸kXm4ŠÿL½÷ú‚§P3ŽGqŠ´ð!©°Þóp´bMÃ-øœÜ¾t±Ïw•$!2ÙfèòFz$Ó�–(b_¡×ón-ÃöçÙzñ±z1éè„�[X°ðdaz�=Y¢­�n½Ó„ƒÔQyKáU?ØŽüZ°'c+¢UÜ‹]�ÚÊ…û3QC~ ×"tN¶ÑÁˆ~‘R§1ƒ8ºë4¨Ö­¯5BÚ©+HR.½…MJ÷í0Qâ–	,²;’€ˆ
-=§P«‚¬mµh®bÆa�‘OZÜGÿÎûÒ|m¸XsÌ©½^4>Ö?Î@©Uóz¡ÇÚ½'a8µ¬,¦þ¨Y¸
oÛƒ<)¼àPŒŒ[š¢iê€êH60€?[^¨»ÀÄ&=N×ýàBG
­'ª¡i]æa#ÌÒ
-@LÊžÿA’5&iÈ6u”¥3ò·ôQûsÀ¦ßN=®…ÀŸg6P“`f«+ç¿à‹¦]i@'ëRG@ßô=»`eU¨§~Qaîàƒ–¿!:éÇ¶W¼�‹Kª¹€ý_5¨úÞPKÀÅÝ)PÞ>›-hÎŽþ7TÕ°ÁÞ\ãë¹–W9ü'i6[Æ"‘²�”¸%Ó¡v¥È˜Yœ)
-ÉIN0‚áa–ÝI
ý”ý! 5Üö€Ótê9Ÿö¯ÙÐáÐ#³$ÚùÖ1$ìg]0dÝ8.ê{t7—MOÓ	¼"nmŒž¨aðóa1%…ý�T*²ÇCJ¢ûíÖP¡˜©Ùyj^ßö�^ˆl©n¤š‘+…ÞT,š@�”
:ËbÌ´S‚6Ü,ºI Àkü0áå±J�A\´ý,H!Ì­ä\«› „RêÌÇ(¬`H°‘:.pá§üØqüIÊýx¿�Ú5Í¯¡¶îká×Rîý|=åm;ÍWRþæq|)µ¤YÌçÈf+1~¤ÌMÊß"Í%gø–’z–ù6ï[*‹¼“—eFÞ_ÝgN>û¹‡“OE—m{ÈQ¡y%yI¸°é)/š§�O"…mr#yBAÔ�¡J#Ó–ôQ´¥äz9éGzæÇîÍ!dA[‘~Ò¶2â»dÎüi"šnwµ^å½ÄX¹Oþ(ÑYº/"ô%¾ÿg¸ÞÿbJ€'›íGëÕXm„lz›Šô@ª¹EIDz^¥ÇÔôššç9sÞ¯9çÌ«©©é1•”66j?×Ç«Ö¢e³,—]wrUX»>>%{Ýý¾¿|K@‹);»4jwë@»îñÖQ°ŸOZO€'8Çey`2ëê:<@ü}‘]bQ��¶_èÑ§fÁyÖ“’hÐµ>"ë!èRû é	èYcÝšn0Rë}À•ú»Ë¶ýü·®ÁÀ5ÊÜæüÚÕ\—œ?f¥ £�U€¥µ¤$
0·ˆ³úFuR(`¯ï‰º	ôÕyÍæÙË>|‹\»©ûcúæ]m4�Ó«¤ ¶{RiB:ã‹õÀú¶³™ù€okd¢ØÔü"*ˆ±>
~–ÏQu�IàªP¿¤.µþ|u–7çdä%õT_ºbB=Ö»I<©~ØýEÆ=õ�cn‰~êÑ£›#ßª'l–À•ê¬ÍžÕñ5�®uõS[7\pÊâËBE™bížâßÕQL²ä^É:§l +ŸRVÔ&y“ýÒä¨rQÕŸëöÍ2¹G4Ñ&¯sNÁw©ÊíÓÚßËçÔ¶3÷+Ji}¿ò¼ò/jZú²xˆò«öË,"ódå‰{‰~yG¤‘ðRÜX;�w)G="q‹ªÏù{,xÚº“Ë?˜çÓUŠ>²žÒ)³É!å´¸‡tUÙ3Dºzï.#>8DÎÆÃ�ÎµÇ°`¼GÖŽ¸ ô™íí	½5ñT<‡øŠÃóå8Ñ»5ðêtß‹vÞÅnÃù–k³0'¸Ç#½Oº�È<Õ2ŸPw�ndµ»O(ÈaY2~…,Ôâ«ˆoÅ0"fçÌÿwøèq¼r­MÀý<V#ïðP—Ûˆ:Ü¤#×ë}7Q¦“£µø·|nu îÆ…ÐX5�6ˆ>ÔnHÈDK˜ÈðC¨€Î	èBŽP.ˆU%X‡ãêÆdBfÉÐ�øùÚÓ€»™«‚0‰):¿}`è8ðMÔ{ÄŸEñ­[Æ�KHCæ²±K_Ã•Ú0A¤#^Z}ðG¶>lžK0ÂzA…ŽÕKÿ„¨Ø�Œ˜7Ä{"‡LA[
-áCA€#éç-�nr•fš,lpÀ%Çœ¸(l°í0”…y´ž®L@•-ãyÓÈDSØ~-’ÓÐò~eñ
-…óS4cš^z
-×]Ø5‰Y&p÷^G6
-“t�k¤èåÎÁ
-º¢Î‹@öÄÔqÄÑ¶NôÌ6…„I`aƒÅ?bê¢—š�`P³˜l¨{�Ýi‹0ß>#x…z)Fî�X™Û�Äv–¦ÂgÚ®‹PxKknØ<èRó¿��ýØÒMšñ¶à8Dv78™…NeZ^tj5¤¿ªLÑýG2’w‡——õìá–WhEÃÚ?¥±›mÌTÕs_Ž‰‘I„;49‰Éuˆ0%•å±Ë
dù;�D7^y¸b3o�ÚrïsqUc©é¬@,ZÊ¼–Wnö¦?(ì¾IôåwÂz«ê„Ó3¢,­}ox({ÍœÑo”?½ù“Šså^\ž2ÿÐSv­Êk­�¥z'¥§Ô­›NÑ€ßÏ©P(L¤6‚ßÏIÁ¯@‡Í¼þ˜FJ§éš[êQ®Z\6›M…ÖýsRëeïíg –Ø›ô\èÞ¦Xj¼xÍ’…ó„¹düxN>Y^ã«³3Ô\~qUÕÃv*Émá”óžIÄ{RžÓëðüXj;¾,ô&©Àž¬9N\ÁF„…D¾ÈÙD‡Œwùxñ#—ÀY”œv’½Zòš¹ ½žãNÛ™W)+(ŽYC“v:+4•¸C�Y“M,¤…Ù¸šœrNFâ"ÃI~‰y?Ç©‘)LZ‘iIÉ|ÆË`ÊN¦]õ{ªÉ¿øû;fHwÎ2IÄ°äše¸L{Kx`*œõÈQâ}Ç7c}¬Ð*–72ë‰â`º¡ÈÒS´Ù”ü#	šÎí(%,F§ÔS>?cÏu„0°
Îß!.ÄVÅù½ˆvj¿nEe6f�Í_¼‡^ÓôuæUÊÝŸìM~j™‰~@¬ª½âˆ‹j&}TX®ñ/áj´”�ßÀ‘ÍkØáîB¤_›Òyºzˆžn/â©aûÿ2=È�#«vˆîæ¬èü¢u(¸{X/õñCß˜G…s�	½›‹;ü9!çŒ¬¸/~¡uì�ªžO÷ž8Yø’�§eèIqÇÜÝKˆLû­íoñRÛÏÁQÓ´åËÿ¢fK�ûKÖÃ.AÐÁòDcg�¹ÚT4X}¹n¢øzQšù™¤+ã¼i¦ŒÙ=Ë¸ªB¼½X�K}6ÎÓùT
{Ÿåƒe)žñÕrtv}Iýœo˜.��Û-åpÕ`-\ñª°¸¦Y’þÂx½ŠMŠ78W�mûM'“¯:Í{*Š¼�p^Ê†…«8_•í“ª×¾ª¯—@Åu‡ä+¤íædùÇ…I¡øWºÐÐ§¤-ºªCÛRy…:((‡óf{3ì—À/ÓXðì']ä5èÓeƒ‘šÐÚðx%]
-~ÌŒ%šàƒáú^
±ëÿAótë
Ž‚"‚ÜXÔè]¥�ƒ-¤™iø†ÓgÄ4²�®ªËÇóÁæ8|G…Ò´Ÿ˜3°Øå´"Ýìÿ×÷_‡pd=DSÒâFEK”¡ˆT¦ƒ)[d/ÃJ™�sI.É].—»K.‹,ÂT*Vñ©Õ×W­gÅ­µu<õ9Ñ>ë€çñýá«ÏGIyñ‰ð1iá²AH"MÎPq¥ÿnå_Ò}^õò¹À1E�‡«„î„:Åc:hÚ¶~ôš*}k·†¦´§KÕ2¥gÜ<SÁY–©QxOWúTŒ�½ŽÉâ¥ÀtÝS¼®•ŠßÅR�Ú·ÚÕ/Ñ•š‹Ÿ-âJ{¿SÃq	�
-†#ÿV%@Çƒž*©P•ÿIEˆRè=A
-Èüä©ºj“¨%Ï7<hÖÖ�+«C5{tì‚lÄ¿˜V7añ±g ôr¤YùOMOÐŠdØÿ8XÑ½×¿ËVÉ²ˆOŽvÁ"ì‰ÍÞp}ßŽV•h–›«·XÕ„qsê/Ðg2;6I…éø‘¡Ê8üCP)øN{Í¿O~J=Ý»(�m•n%´=¿¾BÞ%hø%]n•ÝÈ%#La}�-Ðº‹ª0SÖÒaÅˆavÐPBTøëäÑÈZoRòDÆ8m œ'Ç–ì¥××£É}ÜÊïq·<_ßqÙS®@××1•·lAKùŠ]æÆ7Á`=Ý_*F"½I¹Zj:y¹ŒÞW?Íz¶ÎVZ–5òÎ�1J’ÿC–³×ëR›="Pf÷¾ÇJ¸Q~s0wÞ!÷•�þë·J�·{¹»/Ó¯nS{9‹Y~Úô¼éLÞlÄ^œ\ �áàkŽáÜÇEX#?"p\*hôc£¶–«î'Ubqþ®‡„qèÖóÜ�µ–å¼¸²OÆa>%·‘dò_o:­£	~_“‹/l9±PKoíŸçƒÎ:ý~ÖTˆžyÄ(•m£máöa»¬½WHÐ«Í³„/ËŽŠsõtÑþM¡D�xIÌ,LÜþ¶ÑæQ5ÛÎS½‘M»zt)$åâù¶"`¬¹Êr¸±Sh
-KÈÍq×Á€r#‰§DO[ØÂû5}ÀñyîH¢4€­Ž”&{zƒ¿‡Ek¬ÕÞ&‰ù©ŠRÓkd)Y%V2@q3»œ¸¡(Ùè‹9Àw1>h?h¯FFÁªÀ‡êf¦–Àå&ÏRù#`T˜Þ>¢Íe
˜7 kv¼1œ×ÐŠ¿èùÈ¬¬«ÄZ5mŽM‚Ó£ûÐ™„äC^�çàªÇÔ(V¡÷ì‘Ï—~ßZÕžIþÍ¼i:¢çíXjXG|(Î×=ÁEYñø6{ÃT­½�¤Á5a×ÔÃÈ­@<_ý˜ªP5«6{>‘µH³Zä–ëVã³)Ñr}{)ùo³w‘YWc\œiÇ#Émë5ZÝ‘Õ4Ó‰Uau
-îXéQU¢<]ôš-}!e\–ªN�f¼ÑQ´­ƒ,u,.|O|²Žf~‹�²\Z?
µ›Î­®Aú
ïÂæÀ÷ô}�s yØ%*_Iƒƒ¼’¥)Î¿`þßž£�£¨÷Ó6_Ò·;«�I¸\¿l¶a
Îä¤ChŠíÍê)Ha{~è‰¹ÏT'	3•¥è‡çzÕIgKwó{è5cõz®ÖºUåwòêž´:™
ƒébÄ€vX~fÕ®àšršCi‡éìË³îë?q·Lrê(|žÛ#õ
-‘/×Ö÷[cW}BwsZå�k>K°å™cYÓpÚ¸µ„?f¶r´+"�¡Ü4'9ƒŸ0Qç¨&OÂñVtöä\éåq¢êø]s¹Á_œïx>[2ìTÞ�´Ööþ¿â	(Zþ_Ãô–¬kÝN4
-œLÇÄEF¡)»"Øôäµbµv×¸ðÛŠÇ¡<¿Ãæ.|œúÔ²BT?×È½Xî ¿hLâcÛÔ€¼´íÖäcÚi».ºW©¢$-lŸîB€BÿÍ5	ð+—Ø_“òÆ­³$ŸSËÌY€oÜ^,^ž­rhéÄT€(ÅÊ¥)4¯¤þîg•É’?šsºøÊ"z`G¬âyÙˆ=\ÁÏ£·�_Rî˜HÐOÞ—OÐqÁÚ|<¨Ð
-À6JrU>Çã{E10¿IÜù«ÝÉpê�Ãe‰6¹úVîË <šRo|‡ÆþI&Aâ¨ãÄˆê]ÈgÌ¥ÚP‰îWÕRjÕ÷ÀÛ¶°†:WéÎÕüä#t¥ÝÖx~n™e&61ù/c9z/V¢Ô\Šb�·!ç°‰HS@ê�S µ—²Âcè«,ËÏuÀ2½†âà›Œ%­ÛŒ“sÎ˜!rg2ÛpU÷0vª>Œ�DÍÄOày!
-­
-ˆÐl×dRÌp’*Êã�<ØÍÌs-qwTÛÇíGJ*Û_Y¯ä$˜ý,÷“'ŠÍ×ý¨;b,^vO'Ï‡¤j½tÑ¾ÈíZJÔ¡Šñœ'»œc;÷l?o7t=-~Ô®ui³¯™ö8ó7u’í«ÖíÔ•X×.ƒ°Wæ¶�h'y`Ö„‹�¡üÍSÅyn�‰€?ë‡wïdTõ µ[�{Ô/Þ\ß»ºáþúÐÎÛŒ½Ñ×œ,yÄ�íBsò‚í­ì·S-¾\¦��Är77d©ho½ß� ÆUaý‹˜Á[—î®aµnþ¦ûcÓOIw]}ìYÑf‡#�°Z
ÜîZBøÙÓÜLm×DªÞC˜á–§nnûG�rßö§ÊÎ½79Ï
-ö÷Ep/dtu]æ9“ _]lÏ ÿú÷.}œoz—"ç™ð{¬D˜|Ï	{“ ~Â×‹l€ajÍ¯‘{a«µ{¥W%¨|%M,¤¸|’C$¡j}9ž-}°.V›M~S"ë˜Ï–è÷	Ú’f€ìJŠ„€ßj*®“�H`lªº�`Vž§�qLµ£Å�vBÂ x�˜8Ç�8�Î.+šV‚"è—Î‚€±•Æƒ6
-/‘1‚ê¶‰’�(i¢­¯‡2_æ©ä†ãV¦J†�LE¢ú†0BcŸ²…ò8~œu…Í-ÿ™‹…Æ"á–ñ…ûÙ”À†'
-{�	„´ˆ �jhû¬ñ�_`©-ŒRU±¥˜‹�Kä¢JŠÛBŸŠ=8>›Ë‰À-Ø˜Ü‰p"Û–1‰vû“Þˆª
-¼�
†<k‡Ñ�¢hc¬H’Ú^Û¨…‘ÒU>¤ð�ÃK~¡¡�¥A¼žbŽ°7ú›-�à-ª˜:�K"É•‚Œå
“Šå
-îŽ.‡d²‡!�Ògë«®˜Î^Y§è—}T½¤O–"K û”¶A]�Â“t7¬š–’]-q—¢‘‹"©”á�
’^Œæ�g‡|î†Œ�ûg[«žè]Ù§Z�9TL£Ä›ŠJ¬ l™ÙA	�8˜S7gš—->— •g"Š”W’¢	‘ÅŽ’.ŒÁ‡�†‚fÃª�¥&]c¦á¢õSð£T ßJ]Ÿ÷žó@ÅœÈ�57/™«›R-–·˜€"q“è”»‘H�‘DŒ=‡žF…°‚7a_¼‚iGWÂ¸RjºN5´6l?D¿°9mß;E¬Qo¤1½¨�qz'‚¥@sEw¢‹tøb xv£Ñ˜¾zŠŒµ~Ía-»oGW–¶ópAN²èqUD¡®ërŽ;3«
-sé1»§KuY'˜£çvÓ³¡xLÏžÂyÖX— |úŒ…Ì`Ü¹•u)WQµŠuÀM×±ŽvpDu­ªwG;©Ïx<1±¦yG'§¢�zjæŸ¤{ /�;}Ï•°!Œ[€`o¸N{Vø´M{QMŽ°Y{§D9¬x|":ì¨–|·1œ¤Ä}`'®¡U~žZ~ý„›á€9”n�K‹·€3`·M€âVŸ³B€ÂMC¯I€¼C÷«m€Ù:»§‰�1�£°�c'¯ <�Î7�2‚lØšœ‚î�“3‚ÅºŠÀ€~_­¶e†fVL²Z…ëLø®c…‰C´ªŒ…J:†¦«…/1`¢Ó…4'¬ŸS…b[œ0…Ý(™q…tú’„U!‰É€Ã_gµ�‹îV±‡‹L·­œŠ@Cy©É‰§:Y¥ë‰;1D¢ˆö'ªžŠˆëz›Q‰l˜q‡�J‘	…›xˆõ€þ_´³‘uU½°À�/Lr¬Ú�C=©Ž#:(¥0�l1#¡]Œä' �ÏŒ¨Žš„‹ò¢—ˆ‰ŠŒ�&…ÇÂˆA�0^º´—Ug°•xL&¬”Bü¨@’æ9ò¤s‘í0ù ­‘/'Œ��u—™ÃŽ”Ë–°‹HÂ�[…ì‡©�[^Y³TœžU¯XšÆKâ«j™BÃ§‘—²9Â£Î–…0Ó •}'yœƒ“§œ™�Èì•ùŒ¾îŽ²†
-5‡,�~^²±¢BTÑ®Å K¬ªßžB•§œl9œ£I›0µŸ›™'iœ–6 ˜˜’�•fŒÝ	Ž*†!^†È�šÉ ne¸o—gŠ§
-pïiî•írl(„ªs7n;sGt\pBa|u€r0O-v˜t<w‹u®&ÑxvË
½y”wxÆ¹k^nô¶mpx¥2nºqï”;psQƒ+qxt£rrËuð`ctw+N<uMxS;GvUy[&ZvÓz
ÍxwztÄ‚ix¨³îky9£OlÜyÎ’žndzh�ÈoåzÿpÔq]{•_`rÊ|Mat|ž:›u5}
-%ñu¨}:
Ûw{}fÂ}g�ò²i8�µ¡¡k2��‘ lá�Y€zn‚�;o·p�"^mqŸ�L˜s€ã:t-€º%“t—€w
èvž€À‡e{‹>°HgÂŠ; iØ‰C�©k¤ˆ\/m^‡‹n™o†Á]~p¥…üKØr…<9vsI„�%Js¨ƒÛuÖ‚t¾Ûd6”w®ªf ’¦žxhÒ�êŽCj¯�P}ðl{�Ïm…n8ŒW\—oÞŠíK%q\‰’8ür‹ˆN%rà‡UWu'„­½3cA�”­.e®›�#gè˜Ÿ�iÕ–L|Ûk±”l•m}‘í[Ðo.�ÛJ‰p³�ã8’qåŒ$èr1Š×‘t‘†“»¸b}¦¶«Ødå£‰›ìg l‹íi�f{Újûš�kµlÒ—¨[nŠ”ñIýp’^85qJ�
-$Àq“Ž@Ãtˆ2ºuaß¯åª§d@¬šÌfx¨\ŠÝho¤³zäjX¡)jàl2�¬ZjmðšSI|o€—'7âp¹”N$›q‘Dís¦‰�¹faD¹©¥c¯´°™Øeì°W‰ögâ¬ziÍ§æj)k©£ÅYÕmkŸËInÿœ7�p;˜®$}p‰“ÅsNŠ/¸‡`±ÂJ¨Óc0½E™ey¸O‰:gn³oyii[®¡i•k8©ÜY^lý¥@H·n– è7foÕœu$ep&•Ç+sŠA½åt1dK®#ufãž2uÌi`�õv„k±}‘wAmÓmwýoä[ùxÆqÛJÁ	<Ô‰à]*Dm‡ÝõêWÉª-9:¤E"%¹fŒ™ÿ}ÏîÓ`Ìã¾råXJ¿²ñVwm—·»¯zm,±j³[Q^×KïûöÐÙ�÷ÈíHºG(ÙŽÊìE4k¹ÐXø—Û×�gÜJ.Ô/üœ
w€$í„”@Ox·P
-Ùyø9–ƒVìðlxãZâk|Öý]ö”ÙÜ[$HC?œòžÇn–W3¸^û#4Ÿ#`'â-·q%;“¦Q/êØ®fÌ›¶Ý`Æ­èrwO�Øß'¿erÏ©øuìtK¬àö­eJ°Ÿ4±@ƒx!ïˆæ”@/ÅÎI_!Žâµ;§ÑÕâ€
‹±yâ@÷8,Z¼Äþ=±ƒýílK®³z¼ÉÈïQ{–¦¼T¨ê/!¬¼‹G=JŸl-ø—ÂxÈö�ÏîAÂå‚ 3ºF6áî„¦ÉrüpJº²Çš;jhi´Î-+
-4OäyÜUVX=�­æoÌR�NÚw‰‰PŠæF¤V¨›ƒ<žªÚm1*GPìš<ø´,çyyfCï”%ÌTÏ/ñQ yM&_ÔY8·8$³	8Rt8¡
-l/ÐEÚ@Cùà«ºx·+ðˆ6Á¡[§´éöÈYÕà]ŸÄ«Í0B¹lÕ)ùqþ³
-kdµ Ö"ÈøYØm?ø7hk$"ÄPˆ!(0ö,ÜàVoÕÓãh‹JÿýH¶¶}nÝJîŽ–ÖâÞ£ÆDY"?¢ÞÞ”×U=–a-\Zqá`8�g9ñØf\
-YŒ|7j)
-[°Ý¤þµó^¶UÏt­sNo×¬!�Ûá(rûZ7C¼¼5�y'âºº¶g„Ï«…AÏò®€;Ð?JÝŽBžÅ†þÈ�z²c*K×?]³3'¢7¹(Ÿ;Òó‹ä\îÞ®4ð*ÿ|ÛûôKNsù�­B¦!+|p±F`OWpÜ"Á+&Þ‚hÄ¤ž=- {Ó/5Ü&§2Óå™=£(£²yA¨+õ=?9SJ}à	t*€Dl¦ïB¸ÌÄÖUÁ(ÑµvÉ"9ö®‹Á½sûê>â�yŒ1ˆðzÈ­‰V î!�¡eQ¤6ô§£_†ƒT–¼~”þ7¸FÓñDŒ]C“¿w¦¡Î[k…>D3
|L‰EH¸þ-ÄÃÏà“'ü‰Pâò�ÝÄ8YÖOª¨ÌõÙÔz™ë2j�Û=£�Ð^
¢uÕ)È>QJá$Ê©$~è=Q¸£DÒp7Ö!Ç²aaÎ„žEý?’ËÙZ—ä6¶n¾;u�í95~VT^€>)Ã
-x\q‰}‚´)¾œQžüÊñ�Ø*ùá¸fì…lf…wÉÌþ…D¸,Øå*'}=?ƒúBò°up±pQÅFð‰þ…~)ôGþO¢F¸WW/œƒh´†´4^£�ÆÖªÍ¡ÃØkU§ÿj\©u©ÃEÊŒùmd¤ì_Í?
-¯—òÊžoÌuºQÈÊø€)†žÛÃE)Ç ÄRp!Ö%õ~¡‰Ø^Ý€ßmlD+s‘bW4�óŸM
-I"´¯ùÙÒTqµ`h…�­µ”å­�•ì;Ú¿2-�Ñ"ÿ1Ì„ÜG»?û¡XxÁA—ã˜s~±=‡pQN5F
-T-Q¥jauã!MÐPŸNiÁ‚.?B+óSÿ€Êú÷O a¥_…B—›L~nhw±Ô%•ºÚGâíªš“~‚y]wJäBçŽê`Eë}²
´oŠÏeÀ7õc©[ _j$û“à‹•‘Û'‘ê²(ß‡¨	èâ†|6l³çâûTçBò´½‰æ6AëÙXÕ+aO÷.â-PÛÌ5­ßé†²Ã÷=…ëDÛMHPµ�o5r³¬ÜÅ1OÙ+qkÕ­fIRzjYœÄ)ã“.Aü[6FÿW|’{./]LäŽmÇlcüÅ»Û�/Å1à3Ÿ×âp9ç´¸é³9.îÃ�4F‰>ò†KÛØ¹ü³š[¬�€GiØ9Â—üå¬5ˆ¤XkhvëˆÀÛY_ô¾�ŽÝƒÍ©fsð›ëì?©%
iÌx³yœ‰@vª
'}™Ì“7Å´áŽGŠ˜„Õ>’yCü¹­_äA^óñí¦ò9zÑÚÚÖM4Ì ug(.�›¨ëô�ò'z	ˆOÓ¡Â}LÌÕ”FºFäÝO�‰øÛÖ3^¢¼3i¢Ï†IfWÙ
-EN¬¡Ö†\$¯,¾K*ä™Š,rBîŠ�£VË.æÜ ²eXòyªI¶iïÿ¨�Òw[ëè8éÞZ'Uq²h¾°ícâ%ÅÕ(>–¯5$¤î‚Ü‘˜Ñ¡j2\ógviÒ,8<Hþ®ÞLmS[RåYowê¶r'š*R<²›CeyUó°YSaÑ¼Ò¸\ú’p5Ô"‚*Z’õ+ñ  æ°
é«ßUB–èÆƒÉí)¯Aj¥¦�³�¼§µ¥^)æV`{++Æ±gåÅ’Gx®……5ø`Ijæ{"Ð””E‹Ó÷¼'>É‚ÉÔ‚;^©Öçq8ä
-�Æ¡N(�•7£—OÖéï`ÉõâAl¸ÆYð°Ê¿3Wá­åG•v¥�÷¤°ÛRFwy­&ÞËÞý¨]=ùB)+«D÷·_Êÿ7:Ñz��ÄršzÁ›ØÝC†ª%?à¦*Áî!üS¹f‹ïÿ˜¿óà¶S[x?j½¢(S:PKÑ­š¢ˆt*téÖñVïÑ{>÷ï9Þ÷}Þ£÷M—J‡”ÞÌh³®5ãÚ™"
-)dfe$)™eÇµûý¾ÒÔúÉ5£ÿßœ–�JþÔ
Ù\“i©C
&Ñä)Ö¬ô‘õâùÇGø®b^ï†üQñðQCšBâßñe›@Ò|¸%xD2Û,ZÓ*µ«ÿ¸ì²„­É³ùMI}{HÈìÏ³Õ^ k
-:°³ÔÍâ%Â(Ê©$µ°–”–‘é?‚'¼þíŽ °òdðIðW¾Á;ŸFs/‚…¢K->#™n¢\J5¡d[ù"téÄûYð`¬L-‚¥UÏÓ®�x["!ü¼Ÿ©.ôvÂÏˆ¿áÞÂoKh++ì­¼¼Á	¤	ÜÕÝÄ'áVxšh¥U]'ÖV'äá7Ä	»ã|IJlî!ÝÔ�ý.ñÃ~�;pcýòn«
-Ìê¨kÄåóT!8+G¡6|³|®²{¦HÉ+ÆŒŠ+»­±h(4f[òGg`ŽW':¹“h?|Õê&š€Úb(~žÀRðãŠÝ˜®«ÀÐ!|_nªÇCR×¢ñ¸GL$º·<…r±9¯ä6É}�œÁY»"4Æ3Ö£{UA´MVvË—¢Js^ò‘‰ÚÏC®Ñ�))ˆŽú°U�¨ì@_$‹ô²AüÉ2î(|›Œµ.…/ž†-Zó‰ úS2K¤\'+ç#aZïœ:Äž�Kn„'Ô¿lyªLçáóÊ^ÏK°’™æÞ†-[kì:jà[�r5|§~Xj_©[P¦†Õúgß€%AÒœ¤¿´¥×¹ÄÁš~O1ô’=Â½íTU[?…2Eo	·{'8æ°�ÄÞÜ<\Ú/iB³m ?Â“b Á:»èèœñÍ¦{P‹ÁÞs”¦‡¸‡ÝlýüEÐ"R }Ýè'¼¡‡G“Ä‡;M%SPOÛxVÄ´º$ž…
-UDç@q
ã›*¡Õuí÷÷Œg¸@±\›1ß_a"YÍ91ˆïƒÈã½Õ8$é•–$BñÝA™c�oç‡ÄXÈ®m ê³âuËÝM+W›=šåu	\žü˜î_ó“ûÈ6}¹ŽÌý�Úm’öt±ci¿Z_²+ë¾
-*ƒ(Å¼ž¨�LKe÷Æ4z–�»_¤Yázû^ú½(Ñ|œ‘hi2KŽ^ìÚ²N±«šÃ«.iP-®´ÍSºVu%|a‚ÑQIt•ðÿß©›Õ�îFj¿Xiÿ€:$©²ÈM¬ú4ß;«ê¢1e»ðüÀü ú)ã=V=˜àGÛˆ'¾>E¥J¦ýqò¢tÊ½œL’�:Ì#såZ‹ëD,ÌQ¿REI£•ÊpY¶ÐÄÄËÍŠÅ´X.Ï° Ž),vU�Oõ_»’Q�³¿¸µ¹Ç�,ØÝÁ
ÄÁ&Ëµ¸¹£Ò+Í0kÄ›YŒ
-0Ú‹/ª¤J±Ð}+È^,"þ8x…íŠd@¶Ûï1�å¹;¦t$6c�-I¬C”¡ôãÍÑÎôS~1•LË
-%d5±7ŒSE;g�ù6â5ÑN¿„éáöÿ|vÇ#ÀeË!ô!±�YH/Ö(~¥â´Æ*!©Ñ)h#¬j
|ÔôÎx‚T"JñÏJÓ†)0nGðyŒÈa–O‡Y9¢^`%õ*§Î$'L¯T�gÆùw@€!!ýaÔßÜñ=>£Û>…—j>mPb¯Ø»n…X»Ô!mSY%#C¾!ïµ¼•='—4‡Ut€Œ¦ü|K¢¯aOº+aW—½c%^^[^†=3ôlX‰í¯qv[Ž^ÓdVo{PfÉÜ®=2sp¤Ó�7B¼l{™—Bµ
-Ò¼©Ù:®ûÜØ·ù3&¬¬¿ŒN_=@£
9Ë‘löW«>Ø`	¾ô=‘F€­½ëx„®»8÷*>z„L[€‡µ÷Ä`�­ã›»°¥Í±ë%(ÓôU;ò°¶×ÁžÔh­nÀé ‘Ì¯Ï›'‹¨ý£@Ç5º½Ï[\#/ñNãè^”íÙ>©-áÑa#÷JÒ÷-»ŠŸåºPÍ
-mÝW·ˆ
-Í²éXY°ª}^%å=ËüÊÖ<³\7½yEÇî0­¶jÛö�wþ\X’zZˆùUÍˆÞ»š«âÄÉg•—7{BmTtàÇŒ	U¹â5'øËþ©_%œ·ß_û­hI*OW¸�VÏ‰sCU×%�o†òžTëò_¥—ÌÈÉ`Æä-æId$,À$5“~u¿>UVjÒKßäDj„2*¥™u–¯‹} �?
-MTþC�ù.aîB®.3Ìjè:Ç@c~”¢¶h°þ$‚‰´:ä§’.Íäuö^¶µH¾«^�úÄú*GÐü�Af5ø\¡§ÑŸ]îÑ˜çU‹-ì‰L‡pt]T¢Ñ†PÎ¾c‘ÃY”Ú@V%/S%�®1zåßÀ£�$f!hõ)£½�È¥�Ê,g˜$Á:‹bü,þ6ÓÞÐ¬è5e¬´xœ]ª>•9 R
'I•Í*›kæ€rGð]È´ù¸Pãä¢$»è�œ)ÐLZœÀÍˆµÐ|­s­-ßÄþhxVÌQWÔÏtT­Ó§'Ž1uÜ­}[3,¥n±ëÈ«ÿü÷ñ Y„û‹YöƒÑˆXî�fƒU| �”šðqÈŒ5™sg;Šá—Ü\_‰œ–Q=ˆo”qEþ‡I’Ö:†G‘W-q…U�& „_Ž`ðƒŠ"€âƒx{8�¡øpö‹» f‚Šjž[¾‰"›öP³‡ø™áE‹†Ö—â9¥…Ó–-„Û”7ÞƒÚ�æè‚‡‹nM€vƒ•z`Œ•©'pC‹Q¦¹eìŠ
-¤D[;ˆ¾¡ÃPC‡—ŸKE.†xœí9U…uš«,Ú„x—|¯ƒn’íá‚‹jo€ƒ¬zšžycp,œ%ere‰™ÞgÆZ’—ªiôOe•’l&D““nX7É‘àpY*¡�‡r1f�ÅsÛŽ§uÄ‰{Dy|œ®iìo=šik¿d¼˜<m‚YÓ–2o.N»”3pâC„’Cr™7f�št1*u�@u²}ŽfwÚ� xÝ”‡ô}"xa›p±n3˜÷qþcÊ–äs;Y	”átcN’ïušBõ‘vÚ7�lx	*IŽy.‘�*zK
+‹Ã{ó
-†ø~Èw[™¹w\m2—¡x#bØ•šxàX2“©y‘MV‘ÂzUB]�æ{%6šŽT{å*�|¥£Œ}t
rŠ�~Àq†€<v8˜Š~l2–~~Va÷”�~”Wm’œ~ÑL¬�¿!AÏŽì~64�bÓ)ãŒ€3¢‹€¾
«‰h�XÒ…9��u:—w„™kM•†„ia-“�„7V¾‘½„L�êƒáAPŽ ƒÎ5ÒŒ™ƒ¿)¤‹FƒË�Š(„%
ØˆRƒ¯+„[‚$tM–¡‹j�”¸Šs`~’Ô‰ÎV&�ú‰(K‘�0ˆ”@â�nˆ5}‹ê‡Ÿ)nŠ‘‡^‚‰_‡x
ý‡e…¯wƒž‚Xst•ó‘•i¹”	�Š_Ë’&�}UŒ�MŽlK
Ž‰�l@sŒÏŒ~5$‹M‹­).‰ï‹cˆ«Št†”‡n¸‚ü‚„r°•a˜hñ“v–Á_‘�•cTç�³“óJ��ô’‘@ŒA‘E4ÂŠ¿�(ß‰[�50ˆ�"…Üˆöî‚t‚©qå”ËžÀh5’ñ�^b‘›STW�0™‰J�u—Ì?›‹È–(4lŠF”§(—ˆÝ’Ïÿ‡~�^…D‰‹‚‚Çq$”8¥Ÿg“’{£b]Ú�¬¡1SâŽÅŸI¤�
œÿ?I‹f›4'‰ä˜ò(]ˆv•²Ø‡
‘)„É‰Œ?�«‚ßoì¦GcIf£Me³\ xgýQÈ�ÙjGT›UlA<À˜ínk1E–äpk$ë•MrCg”ysâ	j‘?vŸŠ{{ïo¤ŽiÓeW¡¤k±[ržæmxQ5œhoFÔ™÷pÍ<Y—šr„1•’t$$Þ“íu¯�’ñw	Ô�¬yµo‰€}’n!¢õpFd� 2q§Z±��ròP•›tFP˜²uY;ï–^vŸ0Â”XwÝ$Ï’¬yÌ‘‘zB
-1ŽH|†çˆ}mP¡švœc³žãwˆYíœKxbOé™ây E¾—‚yð;|•0zË0y“2{ $»‘ˆ|yö�Y}e
-ƒ�~ÿQ‡™€hl` t}bâ�Ä}rY9›5}×OL˜Ô~)E8–|~�;”/~þ02’3p$ �ƒó�:€«
-Ë‹á�J¶†±�(k‚Ÿlƒ-b$œÐƒ4X–šNƒ/NÀ—óƒDÁ•¢ƒ:°“\ƒ /ï‘_ƒ9$��£ƒv!Ž8„	ŠÇƒ\…Í�fj»ž�‰Ha}›ýˆåX
-™„ˆvNG—.‡öD[”ä‡‹:^’¤‡4/¶�¦†÷$fŽß†ó.�Y†î?‰Õ… a…
-�œj�Î�g`Ú›DŽ¤Wy˜Ï�ÔMÊ–yŒòCò”6Œ&:‘ý‹r/v�þŠá$AŽ.Š¢*Œ‘‰‡f‰†¬¥„d�Êij�+•‘`6š¡”†VÜ˜*“iMD•Ï’0C�“’‘9¬‘a�/-�c�*$�‹ŽR‹Ü‹Ý}ˆC‡ÅÞƒØ�ðh½œŽ›á_šššwVQ—ž™LÎ•>—zC“–
-9\�Ý”».ìŽÞ“‹#ÜŒÿ‘iü‹B�Ð�‡¥‡Ñ
ƒf‚h›þ¢S_™“ dUá—+žƒLn”Èœ²BÍ’”šû9�q™n.·Žr—9#µŒŽ“äêŠÅ�`�‡'‡Ú2ƒ
-‚)eS®}c”\ªøeæR’§¤hHð¤˜j&?0¡ lB5WžÉnf*ªœbphš†rC\™†sáº“{w¿Š&}#d®¬ÈiÉ[©Xk�R'¦m[H�£$n÷>ß ;p¥5�lr\*’šût6™uŸ±—Ñw/‘âz�‰å~Ud«&oòZä§ÜqPQ›¤¹r›H¡ÎsÊ>‡žîu4Ýœ"vX*u™­w¨F—¤xõû–Kz:–�x}‰«dcj©ÃuýZI¦‰vøQ£swßG¢ �x«>"�±y…4“šãzl*O˜p{XO–c|M=”ð}]ñ�9<Wˆå€;b²¨ž|
Y­¥h|œPˆ¢V}G0Ÿz}�=Åœ }ù4O™Ò~*,—]V•Cºx“­€œGŽ�C¾‡ø€�b§��æY¤p‚P¡f‚)FÊž�‚-=r›»‚H4˜ò‚v*–v‚º[”Hƒ,¬’Š	ö÷ƒ–•Œèƒ‡€Âaq¦®‡¥X££’‡kO« •‡#Fq�Ã†Æ=*šõ†…3Ü˜0†])ð•®†X_“o†™Ù‘Ž†!Ø‹ò„§p†G€ù`ê¥Ù�gX)¢ÈŒÓO@ŸÑŒ2F�‹|<Þš9Šæ3£—zŠn)Í”öŠ#X’©Šõ�«ˆf	
‹†¶…��(`n¥!“>W¬¢’aNÉŸ‘vE±œB�t<‹™‚�“3a–ÍŽ×) ”GŽOD‘ï�4�ÛŠr	5ŠW†:ñ…�P_à¤z™.W1¡l—öN`žt–¹EY›œ•s<B˜ã”Q3'–8“])w“±’4/‘P�Û�*Œ)	T‰µ†O!„™�q_P£èŸ.VÃ ä�{N�ñ›ÜE›š[<˜c™2ø•¿—¨)V“7•S�Ï‘ûŽ›�ˆ	n‰3†`H„:�‹Z&·md$QM³½f
Hj°gý?t¬•iö6t©l-a¥ºn,#�¢Üp7Þ ©r
 ž/t:E•…xÜ‰Ú~<Yþµ¢jQ ²k‡H<®�m?L«nš6[§špH-^¤Ar#©¡QsÁ"žôulœ\weÅ“æ{V‰–LY­³òoüPÎ°�púGò­r?©£sD6;¦4tŽ-R¢Ûuç#ºŸàwOZ�gxºišºzŠ6’v}‡‰Z€Y"²{uÊPd¯vqG¢«¹w->×¨Nx	6
¤Ýxó-<¡|yë#Ážzóˆ›ü|
¼™G}ž™‘3t‰&€X¥±Q{xP­ì{ÌGXª‡|1>™§"|±5á£³}A-& O}á#Ê�J~˜¹š³r—ë€}û�ü�<ˆæ€Xi°<€ÿOÁ¬Þ€ðG©�€ö>`¦#�5·¢¹�Z-ŸW�°#ÔœE‚(ë™‘‚Ûe–®ƒWŽÙ‚Ø@ˆ4€+X(¯4†pOƒ«ì…ûFÜ¨�…¡>.¥F…n5”¡á…]-ž€…m#Ý›c…©˜—†­•�…A§�à„8”‡h€dWÕ®I‹ØO:«	‹
Fœ§ÁŠ_=ù¤l‰Ü5l¡‰ƒ,è�´‰R#Üš‘‰Z2—°‰
ç”¢‡9é�„¬Ü†»€•Wp­‘GNãª4�?FS¦ä�S=¾£ŽŽ�5< ;�õ,Æœí��#Ð™Æ�8D–Õ‹Á“¸‰ Œ<„Ñ†)€¾W¬Å–ÄNŽ©v•pF¦$”>=‰¢Ë“@5Ÿ‚’v,¦œA‘Ý#Ã™�~P–Ž8’ðŠ…L‹—„ïK…±€àVœ¬œAND¨×š„EÞ¥‡™=^¢.—Õ4ïží–ã,�›µ•{#¹˜Š“Y•‚�ÙT’O‹
-o‹…s…P€û¾>j	_î­ÿk¾bÓ�¾mSe¢�wn¶hJ}	p#j»l{q�m[|rñoZIôtAq~7�u\si#uØt£Ix�u¦»Åfäi««ßhëkž›çjÏm†‹Ñl€o]{™n&qkFoÂr¹ZsqStKIrÈuÅ6ßsùw"›t_wÛewmx«¹‹d's@©Öf€tEšh©uNŠEjˆv\zFl[wXj'n#xNY€oÚy4HGqmz	6Ar°z¾"?s{vk{§·ƒaå|a¨dj|�˜vfÁ|áˆØhÏ}1y
-jË}~il¸}ÊX�nŒ~G�p4~D5´q�~i!îqÁ~U•u‰~Pµš`…~¦Db²„ú–äe,„€‡sg^„wÒiyƒ´hk„ƒTW¿mn‚ôFÝo&‚’59pz‚+!¶p«�¹Ït¿€Î³ð^}Ž�¤®aR�<•icïŒ†f8Šèv¥hk‰ÛgjŠˆÓVìl„‡ÒF;nG†Ú4Ðo …ð!–oÈ…4&tƒ²P]E—r£<`&•t”!bÔ“Š„öe2‘¾u gy�f0i­ŽKV4kµŒ¨E¯m‚‹4vnà‰®!{oˆ´ps}…°à\F W¡ó_-�¹’øaã›)ƒædO˜¯t°f¤–Gechä“çU�jù‘¤E3lÎ��4(n2�”!cnPŒ°rþ†¬¯¯[w©H Ò^d¦‘éa¢æ‚écŽŸÍsÍeéœÅd h/™ÄTòjK–åDÃl)”03æm“‘Å!Om³�år“ˆ®¨ZÁ²7ŸÝ]¹®h‘`{ª¥‚bì¦óseJ£Mcûg“Ÿ®Tni¶œ4Dekœ˜î3¯m–	!?m.‘ƒ
r;ˆÖ­ÊZ"»Ÿ])¶°�J_õ²R�bbg®rodÈ©Çcug¥‡Ti<¡sDk)�¡3ƒlŸ™´!2lÃ“~
4qõˆí³‚p
-_S¤€q bM•Tr)e/…ås"gèvLt&jdf�u+lÊV:v8oEFw<q63uxs!‚x‚tX	B{uó±Glÿh¢¢‰njj³““oÅlµ„IqnŸtárBpfe]str#U:tªsËDxuÒuZ2ávÄvº9ww‰	zyìxú¯"jrq¾ Žl&rü‘Îm¼t0‚Èo)uTs–pŒvkdEqæw~TQs@x†C¾t…y}2\u‡zRùu¿zº	¬xò{Ê­$h\z™žÀj:{�4kø{‹�im‡{ýrho|lcEpˆ|ÚS|qþ}BCsX}Ÿ1æte}è¿tŠ}î	ØxÒ‡_S`ü!#Ày¶"Qj= (¸@D,ˆ€B@Qe‡�ýöË{¼—’@ @PŠ2«(ÖÊ¹PãÏU×Îsžž³Ž¯ßßðù+ìÍ,«Rs[§•ÛÕ!Uý|©êßÔa�ªŒ¹THqŠd»jMVðLå½�²è«‹	˜C×6À8�âÃÂÓ©Æî£_Ó§æZnœÉÛ²�·¶rŽrD0É,Š‹¶Š¹zKæ#À]7”0bÚÏ‹™�I›¨„,šã> Ö¬:Ú•Pr·ÎèXU6ÇöÜì_Q“­8ÁûZ}^²Xp±jC¡Nd1�d®”D›Ä	¹À@åìHxÑð*�ùÁÜ55{¿he5~å,tŒUŽs“;äGyßÛQñFþ§º­.á9[»Y¬°þÿ˜TÅ‰$ÀÙfW`6È0¥ú|DiÝÜÝ]ÅÁ»ûFJùí�ŒËt;gË\åÜÖÂOtì*ðÎhxÇö]«/ŽG$ÛmŸ#£™õiàZ€Såã»�¦;ÚŠÔ{sì7K.ôŒ>ržv:È×Ü‹‰Â¿ózvŽçŠÖ�½hµÃï/¾ÜÐ1!y[ï¸D2jÝä›‹êû~ºP4éW?»_Iò€‡a%§lŸ™ÄMë
Îã…wÆíøÿëOÅß]mýk~çµ¬‹¸*Q5–K¶_9ê]]V¬0ÿ±cö¸è3†‹Kÿ©x…äVH–K-¼/…ÙD°PÄ>H\Ž/$iàvÄ"Ùè,ëwôÚ¬(ÂvìÙ	ÃÜ³�76ïYåe4Tð‡¼ý"
c.É�‚\ª3†¤[à¸5]Ä|äÞ¢Aâ
-ÆfýL2ð`¯=òt"½Cú¸ý_P(è2N�WÂ>äK$
-IÚÑy(šÏÂ¼±=é�°Ïø¥5îø#éÃEli+q�e’#3¼^ÉòdÏÛ]é—ú$ ‹hÔ7�F2‚è„:ÈcÜ/Û¸#�ÝKBOÉq vJþbá;\§ØÊáVáIê”Ñ;ÿ±é²Úñ	:OÌ¤Ó¤å`½„_
-AtðöÕp5ÍÚXˆÐ]}=E»-´c&ê%k¦¤~ó–Ç(N[¶à¦±Æ)
4£â§†Åx©Wðò@¡îFÞ6È©‹Ù°¾¦u®f#Oµ~W£ý+	­ÔÄy_#¼T¼Öwüöš#ÖçB¶•¯>(«fbK%Ë,®rÐ˜5ÛìàySú†É0£2xÕbœþymbE#‡ô#@Ê×µò4½ª>-à4z¨Ú…ìhœx{]8×)9lÛœ{dX+Ó$PVÕ?V•Â¸eexozÌúü±2Ÿ±¤u4ïâyµ/­ÚÏïo;I;…ñ­�,Q�ãjÙU‰O#?w1°Ý>5õ>ØS{)ö4\s(¼n±º±fÀYæ'Žê‡£\Ø[Žógv*©!Ag‡6Šfì¢Ë¾ãNsN‹ä|óîÔr0 q4¶J¶§…‡ÂßÔÞby@çªÝ‡ðYºš¦}ÜÑ½æ·<ë¾pÊOÖÛ
=6wÍåXEÎœ`	{Whª'ÐÑ:»	vŒýð	rÚ_|€r­Œ›Ø]W«Sþ$ßa5É¿5«ÓKQ´MÁ�Æ=­ÈæÕçWÐB¿Ô§Š!ñ–ØL¥/€†
+s \¦·r7¬ò0W˜°ÛÍwÈ¹\¿ª'd=/–>LN2�¥²M¢˜2¥¬G2+§Kîü7ÕWž
®<$?Ž„ÑŠ©è0ÓGƒõyŒ+)¢¥é~I’a™/ÕG¨Ä<(z@ì„K8;HÒ½õY‹¾LI–MÅç¯—¤)aQ²‡D*ÓWö’øÝ3[Q'g4f¢Ïp¡©;&]®ÁIéðˆt:Ñ\š/í&S¶Œ1ä§õNbXÖs�äÉ£Bß“#òAæ_È3òqÏn¹KnïBØüÊp4®¢E¡Â¦Wœ¬Ø¹ŠK%¹8\ñ8{BêOy$¿�ž¥X1K!ÚCÜ¦b™b•è9!û]?z¢_h8Oè.È£‘÷ºmzL{½8“i³ƒðHÍÛäø�jE¯´^ÃÍ%ÜÔg˜“¤¿¨{½2ekUsjOW»é•ÐËWÙ,ø½ù½X„\5�h[åðæ¬Ô8²®3Ü]�ßÐ	�&�Ó§ùÂïé~öj"ÛÕGmÀmû¨näW¿žü¬íi›{á^äžU´éÚ_õ`ÝLfáF_ÀÃÌ~!—q³ÉÍÿ%>ß˜åu�ÐÖ À"çAí6pGK1ö?‹noä¼AVÛ7nb¢ßÖ­J2¡wlk¢‹1“1`Oª'ûßÆ(S·7ƒèÔJ¬¤¤iO«.v0¥Áû»´‚7ÐUç­‚Lø—–˜,biêHb¡¹
?D30÷º7!iX®Íè	·4{/#R´æê&	soƒúÀîUâ»AaW� Êß•^×þMÖä;ç§Ä“È‹¿¨“hmSNHú¸>Ï5V‡zgK'´í6‰úJ~‰.O]P”Cº«ÆKCDkU-e'
-T¼ÄM3U¾‚¡$oú¾Ø;*‚¾-(¡oAnÓUqp ûsz?n°ž¡—•	4×é¹åíÒ6Ú�Dð™º%ì.˜C
Šk³X”P$®£,Pòòý”~» ’² ÂéIÔ)lýdÕINý?Apc¢\§\1k?Ê6«¬î”J—¦CÑ©Ò©¥ûš¦9¿ûþ¾™i¦é®)I¤h_ëáÉM„Í’£Ý'Ú–ðÃò´6Ïsäýÿ†y˜uÅV*s_Wúa�’€’›˜OUcöJl“t*!”G†µcŠïP,Iyi�&RÝåae@™ù(vŽÕ‘Å\â
R¥x­°BÚ•WŠ/!GUê,OdØ±A�öaVè\ðÉÆÇ¨Të0�ÆÃn|Âz‹
èºE·:„À› ÏÈGÙ-Xˆ†õÃå¨23nEOÅƒÑÙÐBøæ³Q‚ø`EÝH2¶—ßŠ8bc:t-î¨=†0¦X(x…•6C®tca$¦Cvn‡ú¨�qO¡IêlÈ lO)¼þï¢üD°ŒZÁï€]¨%“ÈnbJ“xè”\ª>^¥ý´O~õZóÓlŒó€V©+BÜ¡|®ß«êææ8¬…Ž°z~”ÌÜµ\_¤ÄjÕŽ†xVõª¾GR”ÔÅç�?þ“>ÚÕ4ÇÖ�åúa?xN·ØË	ü }gÿü¤õæw€Fu e>ìE'q¾Ê®v<Od<ZÙ¯jù+ð}ó7é+ºQkŒÕBop]íÏŸÀLƒÐ¾LÒÏòk�í.K#tžV°ÊÅûCÎÊî»&~­òÛÛ˜—«êÜ’¦LŒ31Õ@FË‰àÛ@oS�§¸×ÐoŸÕ¹ñ) L·ÎrÊ¤˜Ek–*ƒzˆã•Ã»¨Ü÷g¤-U5w6Æ8«fö<F�à¶xOw ¨åª½7ÛpŽ¨¾ê,ŸAÖt÷B{={Ü¤9•“)1U_ÍóÊ_È}.L»Ç…‡Ä(Xcé™àõì²òÙ
æÌùJžà	Ó+y±$—y*u6UPS*Œ�QGæ¿�6rÚ¢ñ;Q"Ûý†
/+H½Ï¯H‰î`+#6Óô™ªeûébéeÁuz›\¸¤ƒÎPÄš¾%ÇÁô16ª\\aNŠùZÆ¥òPî#úÇª…)oh?©4ê>õ³l"hš’(6xDQîJ‰à8µPU¿d”ü
-”š‰ˆçð/TÝ$;¯âèÅò‰ò
-ªE1™óœòTžIYAŽª:¢H9À•‘>`ºû'rd'ØGü	�óæ#0k6H,AÛÉEÔ7ðeÙ
·—%’a×1ƒ%‰ƒÈð¶J"u|L8¢œû>b>ú›Æ_a~¼ïð£Øis[|3žˆÿJœ¥¬ë	e_*$6Rv¢Ïø{òÝŽ
-|€¼·õ.'“ð8²Û=÷ ëÑ¸)ÙÃóÃŽ�ûÌ¥˜‚x…À{´ù*\¦9R’ˆ‡kD.ø25�t{Ê�ouÀþÁm	x€éÙ·çX%+0_–Ç‹EG™ÕæÐ”7ªÅ®Õm’}‹í­�*V`JÃ–ì2,±fMsÒ›E¶¡_ªgŠÐ'Ú·nõèeíj»iÑôðRP·ÍüêG‰�ZŒß)õE§[LŠºÑ‘¦¶¬“h_£i"ˆjêe‘«ÑüÚ¿ýgÑmÊ-ý®&ÖîrG?�—Œj¼-<‘ïC±NIUšÓq¹ð-*lŸÎ²Em�S	P³–¿"Ž"Ï›Mü»‘ë�Î®Óˆ±ÞhG#†G¼x\{Ë"I§º aÔ¤g@ryÕ
æ #û]3»�Ã�HSGrD‚¶ÍúïDD­7]ÿ…85Ùí„/×ÛóâàâêãbE�F"ëþ—]PuªÌI*œ2,Í[‘ù“þVAGBŽ®£xÍ–;Õh©Ñ/TÛZ>î<ª™ÿa›¤¹(Xd¥±“ÊL¾g¦€,hÒðC~£DW“[ø¨àµÞ½Äjç}Ýê2“íºê…åŸ¶ØhçŠßoÔl�Üp®Q×IÛTõVùœE)\½Â`ÒM�BU ¤¿^¶·r«®·"9ÿvu½x:ã¥Ö É‹Ô4Wý.Q÷Ê26EpOä�ã¹håbÛ�ì{UÈ¢6Ö8dº”C¢€��´]ìX=_v5oXk)�a¢Y­¸÷Aí£¼v“KUÝñ½Ëöœùì·`§­ˆ†”‹Æè/ðIS9ù}©Z¦=ÖUð4=�×î›êh(Ý�{ÆùsóàÁ07Ö‰ñÍdZ�kN·™h°m"}¶¶¢&°½¦¿�\¡øªI&ÂË­Õ !É}Âõº´v‚0ÄV³|bOè&ž8æóŠ>A9Ñ´71iëK]"]¬ÝÉ_É@3W"‘øCþVÎ}(sà@îpîJv€‹Jíc>°ÿŽ™aÙÒÐ54Á.ðQS2ÇœÂ(1£´µ#§˜ZëâoZeà]dºìWPÓ_º�íÖ¿ÉIe^èíR-�L!�Vg…¦F´z'j³æ†Óò¬Æßæ+é¬~f]@¸²fgðy$#û–h•¨˜w�‰»ŒÌ¦—”<š¨{=I�Õ¶†øS9Þ·È®šÇr¹>Õæ.¡¨~i-Æ1µ£Ù4¦%û¤Q,�{ñ9&»mPôžî5ú&�SS-\t9Ý4!œ l÷ÆHÛúËŽrBS—fÓ‹ÿV#¶–aS£ùL@W©üÀªbú÷.{QíÑiŸ\BÉ;øÑ‹Éíó…ud˜q¹w0q´e³c±¼±Á†Á³jeÖ*Ð›‡¢#äãªÿ3LßMÇV* ¡‚©¬D4€²•UA@e#C†H `„„2_ò’¼‘äeˆ(T-XQ�z=Q¬Þi­-Zk«Uru�züŸŸ¾ß[-ŒBvÞ )-|¯ë-ù=³]ó¨Œ–d�”?‰ŠPôMû•;+{(½h³ßí
-êÄâØ“ ìw8+ðxã*Ö€!¹4¢ÜEÇ£(Ü¨«�gÜÃ¨(1[ÕZ©Ž<©te79 ¬:Š~Ì¦º=‡kíëGœX*ãZU+tÆ:Nós%VŠ17d,WõT÷'ô*×ÜIFN±oöÁÜÚ8
-
BëºÝ ¥œgöWeïWãþ–€ÍL@só X†Ç"Ø}ù‰ªþšÿ¤G*Ãjïn…\­{µ‚iõ_&BQ
ž”­ŠìF’û:ùXÓrgðßÜ|p„ïWEÇ
-(¥Õ�†ë{ª•û«Ó„È‡¦eÛ3`SÓàVË¥Ì(Ö6[Sœä±Í]î›d¼\‡T©™�àÏˆ/ô••jg>BóUöñ/ç�Bwòß¥þ/ÖÇÿµ
-h[tŠ]‚ž£<\ð‡÷´,Sà¶
-Ï;H%JáS'Ñaé‰ÊRòWIzBr2ÏÉ‘°S“a‚ds|Šbø¼%PÎ&Rdû�ÓÞƒ |çN•ž“X9œŽ‹ç,ŠDaBã¬’Çì;�Ü†ºrKa²H¹…(òãîÊ_Ë/DŒË†ålÀYŸ·DzEFs÷”<?;Œ‹§%§-:…mÂ+K´k)~‹x¨s¾‡n¨ÆRB<åÅ¸ry<z9‚#[�Lù�Žð'ïDéJ¸Üí³ÄWñ­Ã±k1%tÎîOA†[\ŠÓa®a<g=¤—'ÿKþPçg%ÐLD¬QLëÏ‘êro¢T~t›dð¼ÃK‘AæjIœ-©8‚,ë8¶÷"4ßö8û´â¼Ù'¹@¾ÏT·í´,Ìx=ü1èaˆò�•uæ5O%ŽØ·+€ú½Ã?"²ìKK?A¶È»¼´sUaOQ@»±˜žuÍL#ìt1Ù•5ÄúfËBÝu3ú'mZe·—›†Ê<é2�=`•èheÍÊ›ØtI‡S©k!Ç|ˆž’µÞ”_ÁÜÁ5æ01Ýú¬Êª�m	“í7Ž]ce{¹¨[Ù+ˆ^jÏá<Y�[B¸wÊ°¶PFu�ÖôªrCæ^ãOUISú[Õ1^Ú{¬¹�Dì-ðÓ©iµ¶^ö*¿ºâ%Ì³]U6NàpÒyÞŠÒK­FÖ¹ü±–
-¶E†Ù°»&,i£®¼6;Z¥Öqƒ'Õßpzü’U¤úKä�ètÃE½ŸØÖ+šÓq»¥ürÚÏ¦Mõ¸=oŒËëIŸÕ;4t$´¾�ÑÎXZÓ²`¶JØtËÏ	}ËEÈ3ÈÙædâ |�·ÞvTnÃïÂ�“„¸%Æ×¼e{"õÏy‚ôLíkÞ£DW
™ïÕ­NåƒÁd¥ŒÿÔ÷.Šì"ß…Ï~$N@CB¾|)Á»…‚á’@Ã€s^‡îà–vSk	¸$ÅBÄï¢’TLñLÐzJ<çÛ‡øˆ?‘ÿM¡ÄyÅ Ê.´ƒxšø°`a¤§ æÙêìä#i;4>òì„`õ^ÙýÈye§Œ„!Ïd$_.\
-þB>Ù‚“Ä÷ò)p‰]•4\²ÿ�ØRèYüN¿Yõen�v›’ŸúV‚ÞØ>ª2¢øH5ú;”ˆ„À­¾qÐ·°=S$@ ñ•ÜJ¾ß•ˆ¤uø‡"®0¾¸@ÇÑGæ<Ñètñ©qêamÌö"åŒ†�Fa¤ ;¸]½Á—­Pe’Yò£h'qF–•ÚõIÁÅ»—
-K÷Žj¯™Y9
Îô!å‘:°Ùî¨ÜkôÙú2¤¿³y^­X?«0iqäl9YíAü�?Ú
¤Z‹`á!¿ÐöØ¶Â›YEÝAÅM;]94Û¯Y‡FË*Â7·‡”OúÿÚz•O1´ŒW‚¤r#‡©rL6°¤Ö*CÝªÅ&K¹Õ=!´™ŽÄÐ=w’:!_Ûv,aø…Ý7k+7ø›MÌ@ŠÈÌò$Iõ>sìÒ	jú­Ñõ/Çæ‡ùç�îfXfVÙ!ì˜«*‰Õ´	˜/Â€Öå,©¾ñû+
-]?TsŽdÖQë¶8ÎiÆ9·­CÐ¦Å1¤—xŸòWvõWÈÐuZLOšo¯eb¿0;×\óhé«ýŸÿrC.Ç‡²M—_ŸOêÕŒ5 NþØîÆY›@8¹¹oQòßîÉ9œY7›þ¦ãg:©ªm]ýÅ˜c¦
pècMcu\Oi
-¤øh)Ü%¤LÀýÛ©Zõ’·Î„<ùÃ‹B”—×ÓéÅíMg´Ëš£“pæ¥Í£1»ZFx~¡|ƒ×I=¢[ÍÿŠ²B³ŠßOúI½OPäÔ§®³ùUAqá’6ÁÚ¼•‡¬EyioÚ"Ebg««¨7ú“ñºh04FˆnQ›´1b<…€‹ãITûÅ?8=D»ÄC„Ur7±?î	
-sÍv2BšÔ¬ï%F™¨`wô	Ãs0/ÔBw\CMÖ0A‚÷‚º´&ý©”‚›�	H�Ô†°[p7�0’ëÝNE†Óœ[Ï"©	·[2àñè,Ã2xKÈˆvº@]‰uCEÞ·TzÈ“tíST8{ÀC2O‚%.x{ñ)Áw9‡ÚÊ5@j‡é
6šPcÔÿì÷‘ø@	–N‘7€”�a.í‘ú�Ì%µ�è�Ö�ô�.‹ð‰à¥†è…+:ƒ>€ÔXœ·™RP:šU˜H(—ü–ò?Ë•³•Ü7O“‹”ë.È‘o”%ž�[’3Ï�^�D<‹L‹HÁ†j…>`‚ä€îS*²7_&Jí®øapBš«Îc¼:%¨Äf1Ÿ¥³hu)¢Ãjá˜ \m+;ž´o:"›Lr	ã’�wP‡E}±Rò°eJ¶¬õfØBe©êh¶9ô¦øj§1€£õlª(ý¡
-n´µž•p±†œÅrŒ‰™Uu*Z�ðyÓ†ë~ÑRŒ®!jÜJK«1l9B¨Cm­9¶¥UoB1[¢[pâ(ðŸtr‹Èœôt7Ä›uÕä—‘xDÃ�€|†œÐQù¬opŒIÚ©™q–A°¦¼r´9s£Òsñ1+ Ýu1(Ø�øvxÏ›uwÊ÷™ty3•ÿ{UŽ<~†W€Qn«vIv¨:vÜAh¥]w©99¢{xŒ1Ÿ�ys(Éœ«zdàš{f2˜|}‰”ˆ~=}�	Ñ†€Q8©Ñ{¨I:§{ýA-¤.|g9
-¡W|ò0èžq}Š(Â›‘~4ù˜ö~ös–¸áá“3€ÙÚ‹ì�x…Ð€Pô¨¢�Hþ¥è€ù@û£'�8á X�<0Ï�y�‰(½š��î —ö‚s©•œƒ(
-’ƒ)Šù‚á…—€Pœ§”†JH¶¤ä…÷@Á¢*…º8´Ÿa… 0¯œŠ…¦(¯™µ…Ï —†Ó”•†,
j�ÿ…lŠ!ƒ«…U€P1¦«‹‘H^£ï‹@{¡/Š�8~žfŠB0‡››Š
(–˜ÑŠ –Šî“šˆô
œ�ý†ï£‰_ƒÐF„È€/OÅ¥Ï�ðH£�&@= U�s8N�ŒŽà0cšÊŽ|(~˜ŽL •S�`’Ã‹K
Ã�"ˆ|Ðˆ½ƒîv„U€POd¥–TGÄ¢[•@
-Ÿ£”8'œÚ“X0Eš!’Ò(j—k‘þ ”±�’�,
ãŽp‰dôˆ:„�ƒù€j³keÒZÚ£ýg�^”ŽiCaL…jñdcu€l¬g3eÄneiéUŽpl�DÈqœnó3rÜq 5s0rw	w¦t±bdx¡ádBfÇ’·f]iƒ€hhk`tjemyd�lUo~T•n4qiC÷oës52qDtÉÞqru³	<v}w®¼^õmæŸÞauoR�øcÞpÈ‚f#rKrÚhVs¯c�jzuS°l…vHC:n^wr1ïoÇxr�oÓxñ	_uwz¬²\Gvãž_w‹�fa¨x@€©d'yq±f�yÀb”hßzsRÞk
-{BŽlø{¥1pni|KnU|0	~t�|ÉªÚZ×œ`\úÄ�á_É¿UbuÑp‹eßa�g{ëRiÁïAïkÀé1m8Õ&m˜	ÅsÅR©%XQˆ¯šÏ[Y‡ØŒt^I‡~a†„oqcÀ…ì`¯fT…SQRh¯„»A`j¼„&0°l<ƒ•l'ƒ
--s�£§—Vº‘h™kYâ�å‹8\ðŽ{|ù_Ø�6n}b ‹ó_âeMŠ²P¬g»‰}@åiÕˆW0fk]‡KkV†•
-†r„ƒž¦DUdš˜4X§—ùŠ[Î•î{ú^É“ÿmža£’_'db�/PfàŽ`@ziŒ«0)j—‹&j¢‰ê
-Òr…N¥0TU¢¿—*W­ ‰ Zä�|{]çšólÏ`Ë˜m^yc’•êO�f“„@hP‘C/ùiê�FjŒÛqœ†»¤:SŠ«n–EVç¨2ˆKZ#¥zH]+¡ål `žÆ]çbá›¨Oeu˜®?Ñgµ•ã/ÓiW“qi‰�MFqD‡Ÿ£bRò´$•†VJ°;‡ŸY„¬jy§\‘¨¼k’_~¥]pbO¡JNÄdì�¼?“g6šm/´hà—
i#‘Bppÿ‡¼©Pk·Z{›lå]¿Œ�n`÷}ío\dop°fï`'ri¬P‹s\lE@Gt¡n´/"u©pÜÁuòr'?ztk§h(cž™i·fŠÕkNhf|\lñj¾m¾n…læ_pnüO™q•pø?ŠsrÔ.ŸtttŠt=u]�xìww¤èe5l¢—gn9‰hõoÏzçjÇqcl�l‹rÜ]÷nDtMN¿oõu«>ßq�vò.*r®x
-Yr¯x’ºwëzR¢øb¬u]•SdÎv:‡�fàwy˜hÛwökbjÊxÊ]l®yšMùn€z\>Fp%{-Âq]{œ-qR{Èíw	|Õ¡3`Œ~	“·bÜ~1†e~]xUg6~ŒjJiJ~½\kQ~íM9m>=´nõ4-fp3Dp)%<v?4Ÿ²^¿†p’Ia?…ì„Ëc£…ow&eÝ„ýiAh„‘[;j3„(L„l3ƒ½=.mõƒS-o6‚ïo7‚�¡u��cž3]NŽÌ�û_Þ�£ƒ¥bVŒ�vdª‹jh\föŠ^Zzi5‰WKèkFˆW<ºm‡e,ÓnW†‘ng†
-÷tøƒ@œ×\—"�Ç^¸•a‚•a>“¥u-c¤‘ñg‹f�IYÊhQŽ§KÔ÷WS‡`e)ê©ˆ  X,Ï (C-(8€B ƒÌ{soîÈÝÙÂ!ÜˆWõxÄžj}VÀ=žu€Ç=pàÀª­Âóù|?~…JuÕ„9àÒŠMÑnUMù†Iþª£ö)¾É8e¹Õ¼¯`âyõ~~÷¦hc�€ßÔ�§‹.6î‘vIâ6ªò#e6W|ú]ÅAgpÒ Æ-ïU«&�SM¬èùþÃh[LÓ®
ëvuU�àû¶Ž·nŸ…ÙE![ÒðsK]Þi�ûR:¢ÕžtPùÁµ+úgp¹Ÿä6U‡ùÆ~±U¹/äÿ~(©òC¡ºýƒgñè=yh¿Ð¶sPÒ"þ°½%/Vš±%5}’ÜÜâ—„*q÷”è0àRýÉïÂœš÷¾w0À¶gó3äÆ†¹µ�¨•oµLÆÒD>>C|F^¨	”6o˜OWW.!¾ÿ$Õ�ï ñôOÔ¯jSðDÚùÝÛÈàý-o!Zôªæ\))2éÔûegð›Èe€Ì.ËŸ€ó 8½P³BÍ$öÅ¨hº‹ŒÇÇ�$‹ñïvù¬é!Ð
-«ž©<TÓ��ºˆ�ðU5$¹�ð�oy�(ˆÙWTcÇ5‰ÙøkB4}¡æéú[ÓO…ûLg–0•îEö¨2SÙ…ßÕóÁ"ÍMt¶ê=q½¤É³ëãÔ=ÔÑå=èrº>á
-æfÄQoñjvlÐK|7»Ú¦%Üƒ†²(.¬¼CÞÇ±ºaÊíÜMÄ\¯�)>©ú¨-ÍÍ�ÍÚûË§!ctÑ	(¬ƒ¢Z1¥n{Ðs¬B×ês–jÖ×ÿ*!-QöU2¾ù!w\‘hÞ?|Í|Ñàsø:#™^.ãÔ#Líñ—ÔE €)!è5ê6�˜Föy.¾ø[%¯ÌO:¼"…m‘ý].€^(îÙ-Â×À‘²#9çUdißÒð”Ò°x¡ÚiGMF*¬]Aï�sÖÜ¹Êô¼n¦è¢kªísÉç!¦Yú¢vä-XsN8MÙU-É‰›«F-•@k*ŽÇƒ»Ëu‘OÕ§íú dBÙ¬§‰‹‰3Vx¯ešuP<Ø4ŸÞ/Û¸X'÷ß˜&@ß\¹ÙµÀm'’öFUçpÏßûW?�<¢]U4 fË��"øVYí<áäÖHë$qÊ¶ê‰¤pËP'“µü§ø¶"¯iEöx ®¡7­¨7Í@D]A¤Fk3ƒà¯•×FÆžÖ2Ç*×>Õ²A´k�J)én›
-ôK{v„Ê¯lý1k¿rï¦È´DnÊšÏS}n8)ƒþre½‡]Õ†‘¹šÖ®l*-ÿQéÊÁOd“©W* b@8›~(MÍ¾ÏH?¤íe>ÛæíamÐ°ˆcÜHõø€lŽBy>ÕÑ³Ó¡/Ê°%iºK:éB/‹ß’I
-}ñ;òp"ëµ[ÕŸz“.€‡æMf<‘gcÇ óG¼ÖiEÔJÇI4[IX,X68—ŠÆ3Uý@›f!Ü\t›G¬}HC{RÃÈ[¸pîªYs1"…žAú˜h#¹Ùë80§kÂàA7‡ ÑX=1€®Å*ë1™æ4¿‡ˆ+kÃ4 Ù»ÄNÈ©ës’™ô‘ˆqd?ƒl¤–3g½Ç²NîU•
-bÖ÷Á"æ¾æ€º•*¤—½[ø6ŒË[“…‡p.~®‰Ñ¦Ì¹@Dh·òn´mäL] 7ÈœÓý¯Òd�Ÿ
ËT}Æ—¸
-N7öÊêÍÆîB/ä®±cµ	mÜ¿8�16ÎÉÒÌ0yõšóFMÀQ"Ñ¨õ>ÏøúËÛ�1v·ÞÜXöË…ËÖÊØ\Ú^0S}»ÔoÕe4ÔF§ÂVZÍ~‰gZ×óøxŸe à”FaÑúL¢	“Ë®WÜ¯MÖZ‡?Z¤[ýXê„j«~Ù€ÃŸ++VÅ!+*À”8ÔXž3»
-³Úsy‘xhYSÀYühéO>ê½y¨Œ•iìÓú*·6¬D`R}›äªª«î¯ü«p¼3=³]írìM>‹\©	œ�€^¯Ú9õ#&ª¬èÄƒí´Oe´�¥Õò„­nnžâÅf³º¨j)‘Ä¨¦4ÍÍ_¹Gg.„ë_'HBÝý¸h¢Ówj7zÖáÐ‰5T>ç)ž¥Áö›Ìµ;ƒµ*ÖìlSÏTmÿV²lØš“w
-ÚÔžñ64û%‡«O5:ãN '7®žºMu^ø.ÄV~ñyGÞµ¶ïÒûäwéBu½ü±h‘îŒ`®4K×%ž–?¤»#–Ië>È/%×O
-fÒçª†ôÛàc~í†ÕŸ<Pƒ“H+}ÍsÕÜ²’Dõ'N+m—xq¿É¿æýWë	,Ê`µé*öçTm-ì˜•¢½…pá©ºP,Âï™Î�ó<Þê9ê¦m­U�Ì ýX×1U¨¸—¹ÝZÿ'›¢¶¯lc 	‹Z¹@ìJìCÕ,�æ:ˆÊq!ÚYd¦g‘ÎÆN´\&—"“éÓdZé)«½¤=ñSëGÒµšçéCÌDò‡EÌN*4ÖÅþ‹öŸÀ2ôóqKÙAò<¥= 
1#µ™b‰z­*—¸D
-Ÿ“&Æ�IMgãÓSçÙ;7Ò '‰�Cq�~zÃ¬ÓæŒ“3�µ'¼¦p�õ^¦1Ø9ýòßx›aÈÓè
3w‰µ†´uÉäXƒp…Ž<m0.øBA×Ì®ÿ3Pç1'€3QM²ŠA/õRoÇFIJ)Š
-Ýw˜jº5MsßùÞÇÜWÓ}(Vx#W¤íuV,+iíZµZ­UÛ‹WëJ/}d[ÿÀóãÐ°ã®ÿ±ÛŽ0‰½³‚¡a?b}¶êËVÂ<e{¥(M™–ó^¡x–*•,U 1?K*V…Š¤êÛõdk©W�ŒM8VËÉV šØ‡~ÃO6ÊEŸi}©¿0Cßœã%J×�NékoÆì�,ÔŒ…ZHnk¬×/•2Õ‘®û¥Mª¿‘å*W[/-È2ä4®¹"ZÁÇ«ùŠÊªÙ Ðd¾�²Y„V$DŠ÷§CIVZ}oIÚõ «·dT§w<.íUGYï’È*x€ÛÝì,Låõ7í+¹Ìi¨d¾<¯ëJ¾.¯�.
TÓCâÅºÊ_J²´b`Íœ$ÄxÞ±M¦u°–É}É°—v”œáùÙXâÇ�=4Á	ršk“™Â‚¦˜è5¢ô›{±sí¾	âúê�5£â.s�ãIÉCbÝŒ“¨Z1œÕ-ºªpf®8ÐC�¹{²%Ôòü
ÉcäÍ"«èÕ$Tro“Le§øt‘)œæÐH·ÎžM6óCçm z¤Éð1ËŠfæü7%b{‘€™B0Jz“~Ç§Ø6Q;ñ9»ƒ¯á½Ü\~›¿Çå3>%xož°±æµãG�ãP*¦/9Ê‰1KOGcÛÊjöGc¡å™‰³X0oÙNÄ€E
-Å>ÎX–èƒË†J¢íßb'¤(��µ�åÏ%÷7^RÀg…#û=ûX üœˆT‰·ì˜@NKdA×‘!iƒ÷0j-;â2�nLtO”/o è]˜º¡³ÒeÜJè”l~¡?Ô'{²WÍ�	x½<}Gœ:EÀÍào-<e¸<EæA/é™H|—ö™A#d'@gÄ¦Ãa�(EîeÁÔ.þ´��¬‡ÑªÍ½P#z×;ú³té�¦±:gb�–�H ö‡.S³1ðõ8›<™:—ù�ü*Å�›�¨Í‘6 ‹¢mN/’ý^ÿ?‘G]Z¡Ed'½ÂI?K%\Aì’Éë&Ë(Ù”.5�¤kÏf:÷5ãòå›5;#òJucà[ù¤ê½×1ÐOÅu!ÁU8ý"xSÁ²¼Ó“˜'½Uy‡}J¶Ê<Æê–Qc`eº;ÆÆw`Ì€6ËÃô<¯9 3º0åíAú
p�*ÉÊÒ]¢)­¡¯tJZX/a­’Õ9¤�í­Abe²‘ª×Û+9�™@{ÅG/`ÔÔçÜ0pèƒò:õ++È“ŽK’ÿPºOr§åcn‹4ºù«t£t°‰ë&ËlpÝn”=ª	\
Ôp<ç€ìªL—5@°é,}Hî©µ±ÊGˆ×âpý‹¬GìíºKÌU,ºöLn`ºV3”¿dÏU�CáÄ¶ëêÌ’3ªaöz�ª:�Q©ºÅe.Â”=ü‹ÔEY¤ð‰vSî§Òåš¨üê\;5P´8­Nõ¸$o÷„*¬´c›­òxÙl@€2ˆ»ÌC®øÄ·d´)í‹~Vøˆî[hÈ*9KªÞ¿*y ÚtàÿÙ*Mìg©'•‹8ßî^¥PsUá…
-{~úÆ^ªShåE¡"3ã2¥¿²u!¿“þ×bš0CÛø>Š©òï‹;Ñ¼$æÕÍ¿•2H%	WîÊ!'Eü°~R'þ~c¹K2çáL®•­f�nÀZÛlB'Ÿš—ŠŸ…'xj�¸­¨�¬•´3i¤›´%y––�1§5�D„È·ø¿"ì@÷'øðc‡„¶õ8~<¯FåÜ
DWx�ð„ìwÅ‡à¸äü0Ü³ÏC\·žÇÿ‰Tøkqä�ûìšÌ¸�
 lïb¥LsÄèØt¹'FL<Æþ$&÷ecçˆ—IÕ˜‘ø=Ärˆ_¶†c>ÄCÿl)1è^ŽÑˆÇŒKè/ä×¶Pq…ÆBóðƒ?Ì]#-XˆŽk÷žFÏ«[çÐƒjÏ¨9Ru„þŠf¨"üž¡;•Ãî!¨¿ÒÌ8‰Ì(a»eÈ ÕE;†ÜÇûË²Ð�¦™ü]èBSÂÞÈ¨Ñ”(Cú
ç¢ÌH·þ§P
-iÕýåw1ëüÜç#BmÃŒxhp;_d­RJû
IÅß°ë¸¶!ï_cÎ’#ÞÕ‚ÄùÈò*ÿ¨MÈWæw¡[ûŠ¿ø“©qÝ#ø¾ÑÈ`¡~�]\§zii¿&—NÁw›÷ä-‡;š®e-„=Úau½fçKØP;j	WÕäûÃXÕëuáXs/£zj´·‹…ÝÕ‰–áÂ‹í\™5Í¯ü7Ó&SjöÌµŒï4
å�ìh3VžÙRf(.‘¯wÔëJgÜºô§5ú-\‡S¹ ÛÂ‚zt–.1ŸÍmÍ�«Ï_—Ñn|WX÷Ö0Rü:rV¥4&ø‰îDY‹o—v¤üºÛAí^Þi§Tmž Ù&I5&æ`0©dÄd(Ê7FØ”ÞaXÁv�[§§sæG&é”?NÑÚñú}÷kb*7\}Oäæ„«»Å›V% Ã¾>ÐµâK%çJö¨>›»=í–.žw56]›-ðŽ8¤
-õ©Íbú×sª§’l·<U‘´Æ©Mõ7Åõý×ô�Çq<€€¨€¡P¢¯Ä¦e*S6A(K½0¤2KV $ùî|“oÆ7ßÂ,SDDëºâÜÕÖC¼ª§Õ�ŠZ=áp4÷<ø<^�÷ãñ	àŸXú
$ÐvÀÉ"Ÿ½ç‰‹å¡éïd'+¶'¿“ž«Læ´ãÏª’B�qs~²O”$°z—k?ÖRÄ
-Å6VÛ\F'ófnC8KûT%îË™�y×´¤;I#ÉAxžàÇTÒU›‚a�jg·L`¡Ì5ED_±ìQº¨Ýf¹ N2+‚­�+°8›cˆ¿¦âË�ÏI�’@pC„ÉÀ¸�Uèm�¿E‰Ú‚½®Îˆü�µù²µù|j4ë‚¼!®A0Ìfo–Ü‘ÐS±OØÝ$sÌkŒ1CI,-ø'dûfKâ‹¾r™ƒBí'àpôŒÍôOTkv,EÖôßƒk÷Ø”",Õ[#ÿ9QˆfÈC¢uÈI¢78±!,7/Âµ2Èå´ ]´„Òmî‚¯qŽÙp	=k0&Ã³&1k�š‹£\êB"
éQ?ŽÞÏ“¯‚-á<Õ§ÍÃÐÕZÄUFÙ·‚#Š ›à&¹ÌpÃ®ZŠkÀì¬x”Ûø’»hhHhA,u1Û¦áÌzã Qè÷º+›ÕP¦¦Ù¥|HeÛC`¹Úf äß/³ŸÃF
½ÅAQæ|óS.sWFãátÇx¥®/sUdžöCÖX I]lN¯'Ÿº�WàðD­-˜bF�³…kVªÈ¡bKc1QV /j\`œéÝ˜”ÉßyT�õ9î¥–ŸSqK³�{)¤Šl=­È·¼}U£E$s›ŠY¯¼§¼±?ÂxQ¶­’¯€Zþn�çÞ;†µ»ò®Å­Òô\Œ`Sßòøÿ�<]Dxô©âKJxJïýþÌ(EUÙ3º�bIE‘I2þ¸:A/8	‡3bµ~¼×)Sq±=EýG‰]¸�””êü÷©6–Yyø(þU®pp”W¼a‹UÁtQÌ'L:$­‚;4üXô4=_ƒ”­Na©ÇÊ·Ç&3*ÊÂfT–•¸ßœâbU³ûc¹�Œýž(­>Å�u×§¥_7L^c"¶^hÏ¥õQ&ÕÖÉRP=»FeYs ¬B1*HñÓÊÕµ¦î�ÄÎÚ!öˆ,^XÈô“Öˆ6ÒágÄv¦>hEs×·mŸúš}NW…‹÷p:ˆ‡Â,äg€~a
-¤¹gÈR€öQi"hÅôÅ«@‚>"iƒV˜V!dK¡ÝÀÎÔÕAd2)Yé…¼æ8ÊŸ"/C�g‘G¾drÇ�--Dî±8cºK¤(“>�5!ÇLûàóðqÚUð
-€r¯*d¿$Ž("eu1Çˆ9Ylh¼ìWéß£ÒR¥Û¼UÎÎ—4K
™öØ!ü6ý=Ú%±5…MQ&í3
-ôsõ×&¯$&ÉËHŸ˜(ÂQÕòEf œõ-Áç”1n—%/çÙÑØ´Â‡i…¾ þ¤BnKíLß@¥h†Á&à>ðëßû†õW&ˆAípô[Z72(MÕüì»ßI�¹µIÒ©Õl7l'ùŒi‚Æ)‹­Œ�õ²3K—�óh±AÏwÌt-p]ãît¦³"‰®íþ¸Ør"kÀ;¨©)§Â%½¡-ï[®[_pÔöÇúxÞ³ª:iq¾‘Dñ±¼G_ÔL­ÃŽ¬Ž¼Ì­q)?üž5ùu‹:gm ¼©/—çõ¼áHþ�«þ"ÏŠU©
+
-±½[—Râ¿b‚ì'�ÞÈ3ª½ù)�m{ý¶7´Læm�(l,Ø¸²á!�å…×Ï™;�k-ŠX»5ªÒ;¶o)¢Œ0w#Û+ú—ÄÉfkÌõ[Ô‘<ÓÃcÆÎ6[^Ðh\œ@é6•Lz±´‰ûyÎ:
Vö–µ•ZZQÄ0!ßVÞ7ß¯œç-i—­�Ò7yOÜ“ìÐ| ô]lrcmY@xš®¶¼:ÀI{²¢ÛsT3UyÓ9‹bWÍ±\ÈƒÕÆ:•°ÆÏ|@Q*x¿ä‰Òô‚ %‘MnUÍœû
«øDØë«ýÔ•Ôø{ÖSÇËœƒÉÁ8ËQU^{–©ôv™”[‹>o“”!za§^ 5<zsrëŸ
-/‡µi
D‘þ”f‡hÀs�ºSìî¼NõF|šµQ™D1²_-¶È&AÊ˜ÄppL/lh‰°î2t3fQ{
6
-‹Ôü	»ùÇRx»§ÙW9)?Â§Xk%ð'_nŽ”XäHGà)ã_Ð3p<ÍZíê¯ãi1TÝU<-t’šÁ9þKÔÑøß<Tý¸‘ÓåW¸ËRŽàËA—œ°ÀñëØ2ãEä²œæ•	=Ú[JÃWÍ#Å‰PŠZ®Øáw…Ì—O{ÜTþ[N:
)8r.‹Fœ!>2p™¯¬Ä¢S2-¹kÂB²‘�´ÈØ–àZ7®9=ª±¢¦BãÕ)”«ŸZuR�zt+�ÈE§y/©²GØ¨\r©LÞiqZâ-�0	…§	ôo^ÿnjø¡C‹i¯Fí–y=ê>Ÿåí2Ò¹.ûÕúž¶C¹Ýv­—œé'[jxÕK§uJ¬
zT“¯ôE½zÆÒû¾Ë\žqP• éþ�]éÕÕÙ¼÷’ËávÛ|ÆúŽÖî}%v—šO¥iú®øºG{ªl“¡µ2‚ÿÿ­FEY¬—‘s7ì·Ê\"€Ùe“ÏõJmÿ‹A:}K:AlÞæ8šÚ²‹65#•f¥eBZZÞ™©©  ÷ý¹DNã�C@@ÄƒL³YµÉ+k¶'kwÚ¬Æ®)»Û²tlŸ­­6›Yþ�÷Ó{‚YSuÃY9[çõºŒ¸;®»Ü¤è�NiØAÛEá¡é¶ä”OX}€]¸8°ŠÉÜEè¦Þ2öžÔØîu¯aû<&®"v'óÿ÷Ä¹Ip<ZÐÞ#,[h[*.ð¿bl•�ú>L)ü
-‡Lœ¹ìÏWð‚Òž3ü””Ç]L�–ÜùUýiÏyZ¸÷¹ý¨¨ ú¤Ã_|pi®•#ƒ¬5àM>AçVö�„@öÙÞV!
-º‘
s)ã�èl¥ë¢x
-"éh�üq ¥÷b‚lyÀR¯%°ñI@Ss¡b»O(PøÜðŽI�e+{¨²HÄŠ®™&¥Ó½ _[æ�OBTíØF]|®}Û�Š˜ü¶EñÒ·-W•	7õåˆOˆõ	Â^™b:Þ�¦øŸí\TÂRê]SJt±Ã¦|9àØ¯"Åcl	ª�1²Vˆ¾É4¢ÞÒ5«.úù©^ú„¯zÍ³^t�5Ÿàƒî{Zÿ”\ç¨6ú ]¡Í‚píEZ[<¥-V;sÈ Í§{4±�%ÚIÕkŸp^á—?Ú]iÌÌr{b‹pÀõÐð�”¸ŽS/ôœÃj8ÁÛ(†ñ@+Ô€Š¹`	×÷‡Û§µC�r-Læ¼>�ÙUduea;“-Ïà®(KùæOísèaûUó3HEÛ�¹#žceµÄÅÜ7gìác?Ý›@¯fXý­OÐ+üExFÅ3×¯D+jÀ¸�ìÁÈäT%n”ÕOg§kG˜¥”W%[XèWw$²gÅ8g=ûIÜ2N''$Jx�§X�IÂ²;Îcoòš‘„2r¨ä%ÉCõ”[Œ(Œ‘¶°öf1£Ù™8àçdÒav1O
¾ÄfðÕ!Ùõ}õ®¾y”…Öï¸†îdŒèŽ`@¿XŒÿÂnd.#	9éh-å÷e1™á‹2†™ë³IßaX\ža:DƒÞéÊ&n«=õï®Š~!ˆmÁÕo¦/pÂ¬é�†ü=^*K”žA×‹—Á†oÅçÁÅL’dIˆƒ?$%õ†•ÿKÂncT’÷M?U�KùÂ�˜ãÒÚ<®]VT=NÄË†‹^“äK¶«i+äy°*ºQ.ï` ä@È,ï‰üC7µô¤z…u¾Bªz ¦ U½õ“è8@�Ã®RmF½$„+ßå�~Pþ¸=Š² äÃVÑhÊ�à*z™â·P/UQî™/¹m°xÊ/N¨2ª€æIÁÏÕÃúyjæ†>µ7­K.<IthQˆòŒÆý7•Ú4
fÒŒMÌÐŸ¹^UUç÷{wÛÿb—•¶™”é•j
ä?Fq-*JzØ€lÅ^6iwœÆxžô¡yz“Ò¤«©�t£aßp!M‘îCÅÁnKSé7IQµÿ‹³Œ…¤·§“�5ÇídHíý¶˜‚ÇøSÖx”´Úœ½D>g:öRó
î0*g\£rMìY~èºil_ÚÁMÜû—÷˜xÄªÏSrPõSwz•£6º££ÀŠûŸc9b	QÐ6½@['Àg(WZ‚Âú8Dm“kIz8Í^":òô€yÅ@÷NåÝ>É\�Ú›P•Žay~+(Åa]3ðÇ„ è9’Ýž
-ž¢ÐÍïÃnq¾ÑöwÏSwVŒµfÑî£¸j9ƒ‚‰¨·2âDT1‹Dô¢v°ßPFk8bº~�;d¯¯áû³] ~>»n.ˆ!NâyN7ÔNXÊÉ™øCÊ+T8©NIQ—S`ŒYº™Œ0?4°¹ìx<'‚ƒZ7ÃÝÌƒ�¹gø� ã¢!ÈmÁþDmm¡6ÒÇß‘™ÿä
Qì¬£¤?hÞ:iŒÑËÍÈl¼é2v©€µNR§ª?ªæ „è wÂÏ¢EçQôYNªñ,VÅío"Äð~çrH•‚-Ä·”özte>í²P–7Ï˜iÐo›ÎŠdëâXÿç‚ìYq[p’0VªkW½UtÚ°	“&–ÊK±_$k8Ù¦d”0Oº#ÝVÁ¡n‘ŽçeÓY²�Ûê˜H™3ñ6`—½e².ÉÞëêóå)2ZñN§f¯2LªÍS~]·÷@±ˆÿLd*ÞìÿžüJq7w�¶E1±-˜S&0…„î)xÁŸnÅZ{DeYóJ]êˆÞ,
AŸÓ-°·btøõ„ÕÚÖò?Hç4/s¨+5ÙiCô„¦ÁD9ƒÚ´$"ÕÓ!Õ‚@UDÛÄþ»­m#r·5VYÃ5?b¡kwµØp\|ˆi_9ƒø£1:çeMóó4m«~2‘@Wêž�lÌZí‹�¾Vý×Öþr§+S#©ZÑÑ-^[�s¼Ú1;íQØ«¸emYe³„ËÖ†$9Ï<‘¶�JlIN¬ �4>cü½ÙòŽÖ„ZÇËº¼eM½•É=	""JîyÊ\@ÓÜ
-ì.l¶sMY#Áßq3'‚d°yÒ)ÇZm‰Å´¯-“ IFžñ^hï‚Fgù½ôáŽúmwÀÚp9Ñ7Ä¤ÕŒõ^¨½UÛÑõ¨,_Ûé¿{Š¸àÜ³õå[Ç¯‰yTMÛ'ÐúÓ–Ã¡5<™æ°ÌÚ\aÕïbcP%ÒÊ:ú9;›Ó‰KÅ}àþ�ˆ*WóžP€œ�‚åôÂ­Ûë3ÿÏ`�øÅœ(ßjJ±:vç“cÕ3%Þ«$’(DŽè�Jº§iî™ß}ÿf~s4GÓ1£Ñáëƒôx"Çn²<ríz<"^žÕ–u¬÷¾Åx37‰À1|æ;„q¹Ë�ÄîZž
-†Ù8€W8SóX.yÞ†>ÊM�ˆXå”Æ çj­„®Dî!äEÐ8™‹]à;SZ¼ƒ¥]OïÞæ!”ï²¶+'+{Ùùª‡ê_�"ÀÞ6@ác©ÅpZ¼¦ÍÀ×DNÇ.�ƒá§©X¾3éAý‹g×Äi’ªs$á7– ™UÑ
-6 Þ¢*$òë€E¤tóQpŒj‰ûî \¼�bnI±H¶“ï„_Ñxóî°BîPe»¨›ñ4µKÂ˜ª\F±§TQ
-‹Fž×¢Òk½Rrí©¸h·iq<ÄÝ	
-CîéâùÓ°ƒ:Ð5’©Õ¿¨ž5<)J)Ì7�9’[Æå|Ù#–{N9ÃX‘2O=Ûxpõ?AãÙˆ›ÐQc_�;|Äø€‹ž0»î¡Ÿÿ,¿ž÷›í¸QPÐmË ÒÄYÅ¯ñÒýÅhÎ{ùCë‡M6ågkÉêõ„uZ„Ük9>gj³ˆù…Èc‹¿ë:ÑôcY[.[Å|……•U¸¼ðÛŠ9'aì%9I²Ëå–äOŠe¶U¯ÕN¥µÑÀé’Î97ÀÓ%ž|\üÎ-…ê³$•îÎÙÜªÎ_[×�Õ‰xµ"Ùe1»­/û¤´ß—\¬ø¦ªgUƒjnej„«úi…Ëœn`ØÎã·ÀU¥´[
%´b%?d‹w¿Ôåçåîú}Z°s†,¤pÏvçìH©[ýxr |Síøª%Póõ¢êEŽ´9'�èª#ü.xjy¥[/åjm°=ÍjÝ¿�û!·iï<4]¨lm•ýÖìžuS"lÒ%
È:¶^å«hh^Ô¥j«³Î9ªîØ¶ƒÿ3t "Úíwò¼õ¤Ý‰°eÈ
dzv~Ÿú6¯CÞD],x“3“6H¼’!&V>;öë¥[hdïö€¹tÙ»H{ñq–è
d|Yò,ÿ°>Õc9x‚D$[BÄËþÈú…\£Ô%‰©õx¬½ŠÿÄLGÔ‚wÌYl¥÷AMï<¤Ëc¦—¤€�²®Þ x�ÜGºÔ^’1ô=è‘ù3�%ê‰tdh¥˜¤°¶ðrŠ&6®Òþä1ï^æ*E»Äryš†âª—ÐmÐ�DÂG!=+~
ßÃý·Ž K	:¡+#{Wôãý4/<„c‚Íä~vš÷ºœmuÙ¡å¸«Ö•Š”„}¥j¢¥�À˜ÔÂgÐdvöV¸’IpG¾hŽ¯X‹Iµò7ðFn²€#¸z/
-æÆ\>kŽë›ïÊöé2ûƒú
`ŽjP¿_4TëG2Â¡pÃü�[ástù?ÐpÃ‘,¦4<q¾q†Ïr’1æóäìgã�É.ù�5�6ÉW[çyJ‰å¿¢)êå–[Hà½E´á´Ëâ¿|âoþuÁ|4ÏÜ.X‡ñÌÛ|$Ä^s6¯›•™lE2±ÞÞC¥#v/µ^X¾¹ IÅ/Ó§¨Ÿ—žØ
¶”¼‰y‡–D…�"ˆ­AŽòm|¬ø¨õ½ëæ©yÌ¨,Ì¬�M¶HúkÜU]òŽ{ÂÊiÕ%é‰ªU«âo—*�c¡û`ØY¸¥¼Oà�¬.ŸêÓŠ§—$»&1”¥ÞP/*Øé žŠ_lÿ¤ò•Å4¦
-ýqõ–´ªˆÚžx
0¹Æ3&<ä@Ã¶Ao«ÝÞ°£RíÓ‰
”­p-b¾³œÑ¿*pìq&Ås[n)k¤Å»ò�Éëš’ÓŠ”Žüø5Þ0N¯C qí,þÊ1Ë§ƒÊ¯¹¶Ó–ÛEÏ´³3¤T»Ö’=E�«Ê³
-_s¾]é ŒßÈõÊžDCºheGè)ÝI ÊoT?NÝbˆEÜœf+¨¿'Ñ}ù#½»h†ò»Xü<'{NfHsÓ$*'­OÔ<PÛ–�ÐBàýÐíüÙï'C¯OmÔ}�G9í4L§>�è”âfòšb–¢†:¯JÈCi+�œêÎ¬‡Ö¯cXgdé2_¶ó
-y«ÉÂ/øÝÐ\"Ã§ös	T�ó=¨uá^an`.¶	ßûÈËÒ‘k#	,hs,•‡×­¤cˆ/K›_jsH;s‡¶ø]d72¥ž“´ß°EÎ°Î®›¤m„{‰KèL4–‘1˜ƒú#§ï _¤Ä¦my’íZHÒT„Òm²ß	ú¥vÜ3†�àn8rçõ4Áaí¿á—°•3HeÈG�[v;­#6µãº_Ö”˜>!êIè¿™FÅ¦øµQG 'Â|6º¸,ãÜ�7Xo`‰ù+è.8aö�°°ÃìšõycMþ„…šîÅ}ÀÓM?E­$D¦¿ß%—šÎøÕ’õ¦ÛžMÌ_M=.ÕZÐT@QÝ(›K÷ˆC[Ký³Âàk%%Éªÿos<®Ë²�Kžãhñhp+‘Pl÷³ÍÅJÏn³†ºi†Í;éYÊÓŽ¹àLucujá8˜R%Íl‚®Wf&½EU¤ÅÍCÍöÌ%­X[9Œáš²Ã~$~µÌËóuÛ–ÊóÕ0æËT¦¢»qªŽÕ,D]S¦œ¨�žä€¡m{W?Dn:V,Q ¿W½
-NÀú*üþÇp}þ5y ÈH°QD
Š ¢¨lE†lY‚Á È ëÉ³Wòd2DPpÁQñÐÃÚ�B=ÁÖ½j±ž¢â¦ÚšÂ‰@(={züßW¿7?¡rv­ï¬·@ž‰c—/Ðþ®>Qþ²­¢ê©hô ¡x¸êÜþÖ¼ó’Ä½�©qÒþæËqíÕÑ»?¬‹�‹šV*¢w}³°P�Öï›m§ž0í”Ð€Î´¡žæJ:¨#J|)˜÷÷|)•Ç¿–*¦RKÇ…QYÂçk�(PÔ±üuA¼˜ó=-
sÙIï«fXô·šX@…›xýâ¼�?X<Š[Kzò	'á–”r"´â^lQV•»FJtJþ¹¼ƒ˜’ýÄ¹Hî�ïqyBÙ+�²hÊP½E”±+­(§œáŸ@�¢þÜt¨jp‹['y´¡«—
†Ž`ãò-çã™J9ç:Þ¥v]D´WYã¤9©4AKÅ+EßC—¤>;zá\™5G?”K“o 9Š‰
nÈ-•,”@ÓÕ·—û£×5^œ›Ø"0Èu;^=³I'aEðI¹±â�æŒª«è(W¿Î¶@_“És¡ÍŸëa8ü+”
A¯üÞ eð5Îm¤©uÝ‹%a3mNâÿ&RäÑjoØ³¼°‡?òîÏ‘Þ­g5�hRRX€ÆL@,LÒ
u`¯ü~€ƒp)ç,Å?¸ÞCS‰I[OÜƒ|_í«H«°KES‘<5J©·ºE”)q@ãGµÅ€š!ª/„ÖSüê ozç.”Aç¹9"*Za[‰)h�Ì_1Ëp²l@¹Æ`Úž¬ÚlHÊR©ÃõÖÄ€­7ÅxÏõ¡!lÍ~æ•Ÿ`Îsî€YÌC·`¸O÷µíIt˜�n«©—y)ÕŽQÆÔ¦dþ¡
-«AFÕ~–îè+€½ùCðcàš9Ù/N³ÕtƒÓ¯‘™Ü²aŽ¾ÉvUÑŸ$M²�»W”Êå‘M›}Å�1™Œ²h—mÂoçÝhF�^*øÀ®;æç´Öq®'-oÜ¤ÐcðŒE¨§Ö[üB¼ßZò[5¾)8!ïj™ÊRkÎIÈTžÞ}):SÕ×”Ì¨™]¯ý\ç†BÎ`~] ›
-4if$"×µaR?ãÕ\]i£1 `qÁCC¯6ãýg~×æ½zsÉ™¨…úÂ³«2_D°ï2ýÜª×lµ~Ÿä­Ó\æ€ÜŸÅÒÚ€VñCf?/©f2ùø¶»Œ]INúˆîTÙxü9�¢�ë"ªìWsu¾÷½.B†³›u­ò�N"�½*ŽÅ¢Á}U4ý ´LNßæ_¤Ïˆ–¦ÛÐÍU‘›>Ñ°$%â&]*Ë_ušÊ7q¤¥»‡¾­28}G·jr§…44¿2˜«–/%�Ÿ¼Çd“t2m
¹·ºqSÙ¦Œˆ#;•W’—ÕÜCä ‘ý3õ7ÍY§”æ³Ò(û(Z€çË_òq£’ŸûÿNÕ›ªÁŸ¨ŸoüÿKc~™ðýV9iP0—"ôð
-öïD72Ç9’ŒÃXÇÉ.¢iú'	P²#
½‰rC±¥pRÊMLÞ¸;ˆô„ça7ÑÊ ³¸+æÉ-Æ7cçØá|\åL‰›YÄ05¯|-lÅ­E²�àç0ÈEâRJ8:Ÿtˆ;‚–‘)aÑÃdsŽN�¿r° jƒ×,’ºéÜ‹‹èKM3 “Çë…g3ül+\Ãdo9
¿câ6 éŒ]Ø¤]7”ˆ¼×
rƒÐPÝ°—7ÆÌsÆºtËlŽâÝô¢²°ÈÒË›NY€ìˆ²xnI€FÍÆØax›éKX9|Þ¤š�pL.É6¾ðâ"YÆ¯\fbÌl~Ã#éÄÒWá.îvœÝ Ûúlßy%yr«¿Û™êÞ„Ã¶u‹W¾‡µ.ÞSsÁkÜhnsY‰�­'ö�•¦{[Ì…ÿÓd6‹·‚š‘=QÉÁ¼¦ñØ2ð—Æî0H´«aå Ôß`Y2}ª·z-‡¦j:\âQwÃÛ(ÌLkKáúÑÜŽÂÃuã3³þQ;ÆËOÖXùòõ÷-_JÈµs,ë„ÚæÓ¢H¾y_Õa÷ló+I·ýˆ1\þvºêX8¿¤¼æ· ¯ÆŸ?3ó¾E x”Øn>P¯0½¨p_c4ET~ðÒø“ø³Oš±S¶Ø½Îx·zÒ!^ß®¶�nòòYnÎ,9¶í¸éœp^Æ¸iiEyÂS#Ui‰1FÄÇÖØvHoì6ØT_ñ‰Ò?Sìv¿ S­thfÖ�³¦S»&+½óO(1;c¾ÁQò.a‰Þ";=¬÷�„š˜ÃJ§€D¦PÕâãÏDîcL„&ÇaHû'ülZðÇÏò}™GÕuyC£˜•Îc•ÐfB×¯:-ÐI»P®ÎS“à¬}*}¼µ!‹G{nuô§`‹E�véì€Ÿó–i4ƒi§µ-à­ø�Úè›¨IíØ2@÷""ÿ't-åÃ¦Õ˜›G<�‹ý×QEÝ#~eRµ° t,WFbº4:w�×R_p2ª…º‚¿©§Œ„Ü¿‡*'Æ|æPY$æQI­¦Ö;v“SÔ8#ïR9¼£Ô2íŒœ©¹Ú°ÔrJ[Ï!ok%Q	d§–
-É&am›Y¢½æãD¦ê<=ôd€.Êq˜ÓþÀºô
-êü¯‰�ãx$Ê‚”˜Kh�•KšÊ!T@ÁpˆÜ  ˜Éä˜™L’™$$�KÅ"u±(¢µµø’ªmu·]¯—¢T¬�J[*¢Ýé?ðþåù<_ùVH•é.j\RCÀ7»„Á§èdÔxm	ö¡É› �Ò|Å`òÒû=˜�¼wmùð¼Ã*Ð ÞCYÇ¡A`ŽðO9Úã×â¿mðä¨2à¶~0ü2pCï±q˜Ð™}w_ë>ðþ°j1×#@ƒf›ÃfÐÖÙøƒû kB
-°Â—pÍ¢øý€ ‰ò¼L¦p°Ö8°ñGÀ×ð³ïVÀÛÀôžmšÃs\›îiiI€î¶IWBO2z­µig?UYng¬ß`NË,ˆDLs9âÐVãàþv½�(¨Ø�N\+fÒ6D)¼¢-Ú>Ãˆj7²êzYOú3 œMþ¾Ù3ûÁvÌø]î@Ä¬áh~L¨�ÞcÓp¨¤tÃGúñ²k4¾^ZþbÅE�Jh·}]K'…eMô=ÓÆ§ûYI/
#ù‡b¯…I¸¡d}H»/Û0ªë,1ßhg*%´X­±*ÉÅÃ$év="}óÏÚU»ç‰®â„¤u8QšëªÇE	üSºƒÎ!žÚ‘Ê‰!ö¨JÍÇÂ%¾´xÍíš—-è�ºj»8FÖD
-q`Çî5zkEÞÎÝ!±sL�ö«ªþFìIõ‹à“˜{ML€«&©¶›Ù‹ž¨›¦íEõt—:„×pbi¸šÑô)8ÈÏ¤åi/ÕÄ%N`sµ:ÁØGuƒ¼	M‘ôhpÚ_ÐyÙÐÍ4!i2+­
-žl4¹œV?l–êT4ð-ùw Jj?Æ•­NÕ@²—�hà‰QÏ¦¨`RÜôÀþP1•°È¦Áêcà+—_UÃòß—ÞT†B7IaˆìÑçò»	§Ð-P†`
¢…Îñèðô&h
-Þ¦àùê^…�Y«vU¼ YT¥Œê¡ìWv-sVT+Å¤`„()zä:ÜšÀE<àÑCp	BáÞT_‚Ÿ
¨áÇþ"U/<Ã,V¹#¶´ƒJáP¹ŠS0uúF5Eá@ FÊrøŒ®(þ:¼Z'ŒNWWë8\ƒê[í­ P%ÐBþIÊ	m,3KÉ×2iŸ+Ža)Ôhõ^V©S(9òsPä.D}Æ´%¾DfŽ¦ªú�ë¹BÅ¥+â¥˜Òƒ€˜©
-þ-íô§î6µ
-Úª¹¼–�©K(°¼Ú›t«[�Ö·=­sWÆ²ÈÎÉ™ü0M›9‡f�ÝÆmøÑS-ÙE�þ5i~[áH3N•Küt-’½d“ý�£I»:ÔÂîØ;íD¶&’Õ:ž›¶ÎúIÞ4çËP¡ŒE˜£JéÉÍ›Ë$n®¦3åŽÄñ©%l¾ŽO
-Às§µíi®9–Õº1ß1BßÒR˜:`ñ.næXš?/ce˜D³ôh#¯ÒÎ-ÜÐ/~îxVß/¹±ä©FS�,jLH|hý¬¨,FÙB-Aø‹fC™"4¸9 <‘j¼YéÉò2hÄ�élBVÝí–ŽÿPó‰ã‚öYÝ}Û`4¦Ñ‰ŠäÂD/ËP9[ðÌì_ñš�šÎ‰Í!ÿ3VTSØs‰ÈgŸ­¹OÐß¯¸!ú5ÒƒN,M¶ÊCÖ,RXQj›ŸT_T˜ š¾¿ñãÚš�fb¦e_ÁOJ{|é•õçé\]EÃ¤Û˜¶¥ÑÁÉŠþÐmÁ+åä>@3%þ…io}¤ÀÞèÔ�À{@\•…„ìÆ­²Wì}Yã°ÏM]LL�Óyn¯±(0ÓérQ>bç¯öƒFHá<)(ŒK�ÓÑýÄ((æ™pHîâ­O“KØ
ºPùŒÏ%í:HBOÅT÷µgÅœ=à/”žvåª\e )´‘‚/ñHÅŒÞ‰ëTÇy‘újjð”Ž¡b§j©ê"Ÿ!ÌN}Šž…¾€ÝÜ·!Óð‡Î	ê“êívG”ƒ*&)H!JÜ~NÓõ›¾Nó3wAÇÓü|Rë®ù…½£j&}z5«4Ñó�EÌÞ=þ�s®WÝG>°»¥ôRm#…,Ràè��Qm:ÿ“{Q»Æ°p¼�í¥áã>mh<îE/ABõî2˜¡ÝäÜ©Ú„vØÍ+zUBRØQ¦£åií|üÈ\úñPáááiÎãƒ’ìc¾áÝ{r3Ê:óÍWüU”ìr¼=­”f¿Ô|±bÅ‚WÖ’Mþ·iLàwæðù‡?ÎZeô¼Ý×Êîz—àëÓñGÁFÃ§â,�…6Ké�.ï¬3åö&y•”òV÷�4šÒ€wÑ'}“»œw¹çB?ät×XA
§¶c¢è_ûöJž1Z_‰6xz[Å)Ô­–QqŸýˆAQÛìÖf7èÉ¢žÈÝ£}{ä…(/®«³X’ÜñeiÇ¯ý†ˆÏú©uºb-#ÏººrÑ3ÀBTÝ¦J›'$Svø˜TgÓ‡Ñ	RPB”¨Ö.³È–û¸ãËò¾Çö{•|ö›ÖwâqÖ¨•U�È(´äKîz¦6_[N3¾•nqÈÔûÊ46£³@)‘‚wÇ½ª½\ë�åÕGƒ¶…Jž±Zk×±ÎZºë2MÍSÒÏ<	SdýÂÊÕ†,™Åáœö¶$¹/÷#o±Q¶Ý=Q§çæµ¡Reðˆu¢¾š}µÅ¶akØ+‹gM-�Ÿzž7<m­ÌÅç�;Ë©˜V/€çþOr}¿5} `W�ècY"ÔÃ�D«ŒAÐ€€¬€Bößì½'dCaˆ(.¨ã¨ŠÊ¹Ðê]UTœU¹ªm¥V-õjÑ+}zõèsÿÀçyxß^ËÀ¬0:+l»cØ_”Ó½ÜHÎtŠL±Yƒá#¦ÐC¡fxGÓIyáßm‰‰ëo=`™‰!¸eÖ¾ˆ7Ž•Ößf…¾YAÔÝi9Qø[ç}k]±#ÅúU–§�bË‡nž¶ï
|l¯K�m£Ù?ÄMøØö_bú\B{Gdv‹Ø6»n‹aVHíÂ9žwô;‹òÖ¶O9�Y¼P�sê
ô¹bÁþh—%5£éòÄ'yQNQÌì›sF2ì÷mÕÿouÉéÎO}«Õá^_t(ôÞûGV}°Æ·jöŸôåƒ÷·­öaR‹|"/5~£GæÆ‚OœþHŸ�hcÏ
-[,svZHGQ	�ƒÔÅM0ë(�Š_£¸Ç´�ž±Ï³wÑØX7ç0óVå(ïgn�TÐÍ›^] ¼!t%�‰³Eo£Š5é²ÌÞLì8ÁÓÖN¸J¾Ü<EÓ¾—o¦¥3GYlÆv 
°fxåãœÁXþQJ^5ÄJW$‡…2Ù†(ƒúœ²¢gnãfØ÷96Xd®'¬ç
-¥ä…üíÌ|êá`—Ñ,>VÉž/
åGqrä«ò¹
-Å¹d*ÿG¥>êˆš­!wM×/²<oÏ‹¡ÆI,LrS2L¨’U1òÉMòÃè ­R³É˜QU¬—²‹Ôlè Ñ4&ÃxÍÙ¨oÔKô+:áÈç*°[R?©^e£û5)âö?šçô"\;Ðx™BÑË?§¯×Ï�¿g¶êCÐkÔJFp…†µ "•ÆøEøp5Ü´Óµ ®Ãô­ÝÐmN™0Iærßlæ5."]7»Ê3¨Ì}ðAÆó¨�©4ŸN6q,æ“ ‹ÊÎfH{iÅ?;Æ�>‡U‡¨?ïˆúÑì–mÔvìtKZƒ”È´ï*;FQØ3àlÚÛI(ŸQeÃ'NÙÖÍÏUÜ³æ„mù‹yËùêÛmË´è­+[¦¼o)“˜>Ï3Ôê¾SF&×ºnÂ‹¨ß9Ÿ@¥ô-Î¥É/�C>¿S‘cû%˜RÖÛ³_ÅêÖkï„!‚xÔ©�–Bn2î¡‚ød^”´µõ0Fyã«€†h|oÚ’L6Ç�™ÿB>ÐÂ
4•
-û6Û³+wÀÕ¯�ÃÛ“ù–úãÝ�È?¡Ý�ƒ¨R,ÜR6—¨á¥dvC�SÿîO\Âe=õ~ý©|�Ãá?³¹ù³2ÛîŠš}^µ°æúîkü[÷E’ý�z+Q ¬fÛ¶Ò	Â�®xÙ…Þ¤BBü%],]ë`4Mö/ÇÁ%C‰Šw)X�Miz°-JçŒ‘ÎR/òÜ´õ
Å‚bæŽ²Qp5/_ÜÏ^©’%reïD]‘ÿÐ}&ûg{	ù!Êá¡e’Ú5�"b™(ŠØ,Cås÷s–nàðÖ…„RÑ—+cEÉÕÄ)Jzo^¢.MùuŒ?Å²%…Ø
˜ZÀùŸNßÆ{Jæ1FÔWÅâÅ›5\­”ûŸ.»9(Ð*7‰Ç•Í#hû5WüU˜LÁ:[%¨Î‘HâÛ¼|ÊÏR2I@wËÆ·*X‹[J®:åŽ\×¨ú
-‚æÔã‰™"¯¦r^�vƒžÐÚÛ˜¡ð[z1‡”—•:ü„ê.˜´_ý%ÑDUkvÕ
1ò´ŠkDÏý¸«{Éàü ×$Ö¹úcóf4aã5_V}ÈÐÓŒCSŒ«ìãN˜p×ø’0@¾jÊ­Ñ™4Å'™U¦aØ([bú7$
pš—&
-sþŸën^àù¶Žm›×7í&9£éƒ½ØŒ_c�ÀÿDª´�¨UP«lœâZÆ[ÌÇÊ³>†$±­ƒ‰×ù{¬;¢^¨A–ßÝÇ‘nŸÎ”W¿×{CfGó¼ÙVìÏj<’0í®AÎPâ\2Ä{Ú#g?`‚³XH-)š7Ù²TªØvºŽT¿o4Ön…µ/•žiL
>f=Â4¤¸kø›þ…È=¤™ÖÃˆkÔ‡>ŒÈÈñB
-™R:©šWîj•?Ú?8ŸTé�5´Õ�zðÒ¸†9ÝªIÓÙ‡£â„‡‘8RRh±�L‚aé<¿‚gŒ´-O²sÏy:@·•Æ–^gqåÉ½·õÓµI»%*¥/Š9�ÞÙëÇÅâb{V —1]—-”†Ž6šv¥=‘1Ö’Žrë}ôù‘ÊŒ–ó¾O¸e¨xó-ÞHS²\+ÈÀMñBÉ‰W‹PGI²™xÄ2é^ÀœsMöžGO·ÈŒÇ-V]UD`�åbOó¾ÛÇž Ý“¾ãœ¢¾b�åŒ»¸ZA<»¯æ¬ð(—º‰(&òÍ)’<¡Ó×I/Hpq+•+¤öˆM¥t}B‹¡?5�X–Hbc¹€‡Làá¥b\£ ¼úk>EÄÙx@X(áe�ˆÉJÁSâ‹ò»q¹ò!ÅéÈdýUíG3ÉËOÕMRá‚iqý„èƒÆ|-!aª€téËê.B.ÛÉ¯R|—])œ§ÊŸ¾P—Ç!dõËH¶¾Tï·OâÛåk�$¯'Qk”V:†~Fånâ°–ªmU
W£*ÒqCZ\Ök>E·
-Ü#Ø¤»'’Öèk#Çt]Æû6öÝM	�¬ç
-^‘qúw´ÿQX§oMÆ9•CP°A£Q)<†…‚XP.¹”›	äž“ÉL&×drß"÷½ˆÚºŠèªhµè£.[¼±²j½@ÝºxUÑR¥ûdu×à÷éýð
-ÙÓzey ÒOæ�äÿÇP’â’§bN‰þ0†�z¡q#¼è¤”büÑ+K3jš±F—ÏZ¹x$
±JÅ.z·fw±*¬”w—56/†Wk
I>,¸gùoŒ²¼!í
XÞ.z�Z,.¯Í
-Ëˆe1e•ó�*®ò¬S%^[íW÷Œ5ÉxQ·�ÂaÔväÅ53É<þ‰ †'ÜëxJê8:‚b$Wì£Þîê[‘™TÚ×ÊÇ˜%-HI;Ñ¬aÐ4å•ýÂ²6†çÂÜ¤ßä8Þñz÷ªàè¶0ÒˆpÌ©KÖÖæ{oU/´wš
-K�¿>R,ïVˆRÛ;§˜cÕ=©eNfMÛîÜHNI«²?ð ¹=¦„ÿ¼)�ôP¸¢Ñ7h²ßÉñ®ÃÚÏ·kûÊ”Á”Ø]i" rß®:Ó3S–Ä8Õ=‘3Ínë¼�ôXÛþ6&ŸŸÕ–Oš´6O]DRëý½¿Ç©öGÖvT[¬š•öUøˆ²C´›¬ay;£²ì©¢…}.g\ÙÌÞ8�í’ÿ²^µOô�(Å+àÊom¦d…»�)KeÞ/Î¨ŠÂ
-àW@4)±q&€*K�JßVo¾'�'7F)$b<jHÙ„Ü"æ`	è�‰ê~Y¥»Å¨Æ=�·…6îÅQ
o(Ó…K‘ð½ä[	&nÉžC§�3l2&z)ªPÞ+ë'®VlR$ðñ4e�ûkÃ§¡„%z"§
-¬â;Â°9BÿBQvñ8Zæ‘��<�ïHœEUÊeäwÒ˜žè!Sªú°Oø ÇC¸î¼îgUÖ*^É_
-™Jrõ:0+(š…bU@ÖNx®H4#Ãj9ù(JÖÐ—»ÐZRÀeå�ŸÇ	½Ìðom/sFýý�3¢9Ä�çiYU­v¶(tê² £ž˜H„·èÈVä´!–è'Q—(^•žáºAÓc
—þØ¼Nò‚õÀÌæ•s›ÍZ7ï‘¹¹p¯0ÐÜ—Ù&ZiL¸
-¹Ì£ä*Xi~KEò,«)Š äY£°´««CjQä#3¶6hãxÖ§ÎÒš¤Âü³ŽÑÌhá+/Á)ºïð'§‰iöQb$œg?Ø$§Û½<ïk­¶y8ŸÖÝÔˆ$Ð¯6Þá¾bkô¦¢Üè†E'yõäŒ'‚‰mÅ	ÕàCg=9ë~!¦‰±ºÚÀÙpM…×
-­¿íŠê8µªó,ÜY½«ÃÉe3;ÚS¨nœå­×8@O‹"ãoü¹frBèÛè"GŠö4zË +õc�Ó²Ìº,/ªfÀö«*ª²bÇZµ¿w1çWFO\e?;¥;·`÷Z§1ã§µ_O²ÚRÉ$ðcË€R›dƒ¥�7¼j4L{ f>ö¸4^²Ru¢ÂHÇÚUŒO0b
-òÕ*vcúœ&_ÿ½æ'Ádd—¶E´—P¦[+~î·ÅÐ!ùüönØZ<TîF»	›‰ô?9w•Ùìù•‹±îóü/°wü›æTc ïÂÅó#¿R›!_ã…Rü:tŸdz7¡¹?‰�‡Í ï€)6.£
-˜åÏäj°ëREô|Óå^dY<€Bã"ÆU­2"a3$ÿÎïŽv»ò·¦ví<ÅG1¼*ºˆx@—X˜ä(|˜â’.� [Jd4ixšCÞ-»µî­â²BÑ£¼¬¼OHÇªU~þ5,|Ä=ÍøB¿H>ò¥‹Á}�Aæ`êa†ü	e52¥$æmGÿ¿h©ï¥T¦uõòÅxo„HAR÷Š×4Fÿ
-uº.Ø½ßoô•Õ¾À—{A6þ�Ñ
-Áê±2:¼JÓ˜û;rZ»9C7h]ë¥]º£y²z–‹ô.ÿoñlcŽG°Á`z&y^F/Á~�ÚÈ _ûK�AµÆ§¹ œfZ•:¹oâ¦ÑlÓß#¢¥Õf‚C–d†üŸ«$w¹þg‹…¸éö)þ¿x·í—èÁÂp{WéJÑR;%ç=ôÚNH9ïµ½Œ’¬°�F„¡I¶+„ÒdÛìvÊyëéÖ»’^öÝúKü0¯Ï¬Öóoo;X2 ¼åü-§G4ìÌKAÄ�uGâZ‘5uQ�’ÜÚ›„AªmY@ÁˆŽFOÝ+›/2ÍÚÕv�gçµ«rñ†Z¾)Ù*8ß¬Ê)hR¡ã�ü89\Ö`�˜‡˜êÇ	$ç·u,0(÷Ô–ynÔ5Ûb�ÙÜcáùr*º§«º�±®êb¢c('Xø¾=-%@ôgëdM| eàËOðDs+á'É×
ìV¦ÔýÃ“¯Ë¶å£z½º4‰oÐŸ¯XS-Õ¿§�—l1,ddn¾c °»’£
À½¯ÚŒkw×ø‡Du![M2ñÐüßÍ×$sŸ«V}@þPï¦9x«4¥ô‘ªxÍKÖD1QKãžÎ¾®ç;’Êt0;fN÷	º»úŸúÝHtÝ°	
õÉ1}-_þYÐøÀv,Œ}†{]	ðinxÿuQ~LÎz­¶C–�;5©ð¹�æƒäáj‡¶_:ëŠå�O“á¶á³ GÊ—
-¿ã*h¢—ÔP¥V<S˜�AÈ…¬
ª2´~c ¾þ$×ù_Ì‰Àñ)É·ÒtP1ÑŽ¦t—”j;”îkÒ}ÏTsÏ|ŽùÜŸ¹§»l²ËcaíJŽ„/}cñµewµ¹²k_–°¤¬
+ßàùÃûñz¼ï·4ÁÛ	²—�»gA£
-‰£
-Þªì¶¼‚¶A©Œ(²
Ý!x(†E»Š÷HHx9A2_éƒ$Jž&�îP”(t!mß�ÿr/yÀ÷ p´Øqd
;ÌuBÆø†xˆù£Â@ezQ¯è* ËæKâÁö
?KM�,zžì8œâ%ÿIõW¯¸¡št_®Ü�œw<ìG�sù*/3³%‚ÈÅU#5þÈ»Â±Ú×hgV�¨óÞ!~…µDm’®Å&ƒ‡dR¼„›*×á×Ü]yD¶ãS%N<™{ÞFŽ™	ðíTså”¤;Ýjxôå,'¡5}3ñ¬HGå#~DŸ	ÖIé~.G–G_s·—¨ç8Ù(0uõÜÇÐ}µµÙQÜ�^^ËgƒpÁ¤Ñ<³¾æ´áP"Onð�üMt\?œ"Y¢/ã2¥9zWw;Y°ÞÌ‰+ïÔõX-‚âµ³	¬‡Î¨ØZy©é\þ8¸É#sAõŽFa¢yí²MäNao}O°»8¤îÍªç¼®À}¾´Ò4í/{i­âÀïuÛÍ=±<(Wq¹Ý?_^5öÅ‚Œ“‚cmúj"[7EŠkï¶T}!Í¹«ÆÄWš¤î¶’“�eN²òº.«j°TÿÄ<³§Û*YêèôÒüëj�ì•&úuîå„ô¾¯u™t}1È£Me‡W”Ñ'+¿aêå‚d»lõå­Å¯ê.ñàLQÐWåˆÆÜÐ¼#Äp¾(�$¦Šèõ‹ˆ7¥¥éT±:`/SõÒkœl®Ö³ÉéÚ1;’úR4Â¢e·>5	–á¨oñü��hiŽùT$Ç¯ÁU{ÃO`ƒ‚É[|qm¤W®Õ°=ð¿$|»ÝÄw2g¦šìVŽÏ¨kiœVy4·AeÁŸLíRíªaÅˆkíëpW¤C4ì¿µ—tz­E·ÈòÙó°EògvƒØ¤2�yž�A3ÖT²8#Ìæí·‰Ù)� RÉbGa¦Ìom¼[þ•ÿjU¸â½CuHa›! Án@ûæØãéÈ�V¨0ÈOäü¨lVZ¦F€Ák—€S�¿ßh/ìë9§ª¼ØLø6âÊòA,QÖ>–�cŒeä™Z”(kWÍÏaÉûTw’·)."­1—”ß¢nag=ì×†c	ž‡Á	ì1Û
-Òâ¬Rø&!œÓ�Âd%WS™…”ä.Yš]-ã�§’íåqäû˜bE(µ$L¨\J%ù+ÿ¦4žíÀ9ê¶-˜M‡°¡Qúèœ§H}š1HôRÚ‚ßÄÝö¬QÉ€®+©CúJ÷eŒ…ì‰ncØJùcÝr¿Å�…§ZÙ£}Ç^$é<XGÁ¿´Ç-— l�ÆÌœH¦º’E+ëogñÄ[êë“|$×ê]>?)ªCÖLÊ~5½ðcÉÇM¸§Bñ£É‹ÍVJŒS¬k`´!Ârƒj«ö½Y>E]Í¿ ôh³ÈüC´«5dÃ-ñ£Þç¤ä~sÞš+2fî;%÷l<ç)P,l\Åæ(N5Ø²žM1–b•Ÿ®Ç¬ï¡žæ�™âÓÁLžq8Û!ñ”1,wsÔ[‘ÿ"ä®þmq¨O³~[™tY¸^]Yæ|_‰ÿÞúŽ~kMËlk��dÿ§&gåÓõó~É(Ñ5æM'<ÔEYFùj‡Jž‡jéòó>VÚ”ªÎsm|õ2ç[Z]-jãª­ý<[ é�Ÿ˜�£[ÔõE™é5ê¶ÒÙ	Žjº|s$¬Nªü;x«ÚG�çÝ®^Zs„³_½Zø‡ó5µPü§Mº‘YÎþ·ÚøÔ¤_®”<]q(MO>¨š\_HNW/Z7B¾­uv f‰f{ûRâç9µVÚç<L‘òršº ô±`PÂÍŸšTó¸w­UêYœÞŽ?†Ÿ·®[�?�.ÚCüKÖÉý�Vxp’©òç[Ä1à±M©,ÒÈaÔwF r�÷2�T
-ÊõñŸ¡×C#ØÇ+,(ã�Üo±v(”‚Ý‚sœ'p7•Èv>†Ü°ØKá[fòIöSÕBÈ3E¨Ú;ÆíF<àñB©öÍBF>F9¨7g9
-¡Ó.Vè)ì†mv„pµx�¿"÷Î#ÛãnÉ¿ÀŽøwq«áNÂ-ÂU5�€Uqƒ›®ºNÆs\‘Pò¢‹BQB[9z�vfúàA4ü!k'ðVc‘œÑdÅB‰uøU¨WC¶Â~š&®?Ü­éâ8ªkî¹ø«ÚtÛíÈš›ÌJl“f!Ã‡<D-ÉZ¡<hœNú@_Å
-@ãåð6°Åò!¶ÑŸ»:b´âØÁÞ†.10n¸n{±×¯d¶b6Z£„,¢¢2/*Z›ž&5)É¦ŠX7 ¨ñjx1°½Ñ+0oøš;¼ßÈ±†„õ�]2 þº.Û{*ÂÈdö¢�ZÃ@ºRù-ÝéHâÎæÙîÑ§šÚr÷¬iiÔä¿ô³k8PìëUÐÀ,+vë­?\™äð¡þÿ¶Õ�:ÇZ7ó
-ƒ\úûÇ9$"1éÚÆ^kÂý†ê¼‹Ñöõ_Ž…¾©û©¤ßwsÝŠò6/¦iWÕF·O0á¸ÐÔ®·š4Üg˜ŸÓ�*}Ú´CiMu…ý	Ž&u‰)ªÊ8^¾2´Ê˜]Ùþ‹õý×ä�Àqœ½áXA�A4¡Bâ A%2+H"Ò "$¬@˜�„„'ãÙO&aƒT@­¸Š§".Š‚
-âBEº¬xœ¢µJP¥=‹ÇyÀ?ðþáûúüðeÑˆïs>xŸ%òò’<
-ˆUù­¤5D@a‡-{Q"1uEâ�¹&Ûö)?GÅáÏ³7…àb¾Ä·É“2Ï`ùbï<Œ[Xì�­*þŠŒ±„v¶Å(«¬Ú4Y%ýb®ÉäØAôiîƒ-ß 5‚ÑÐ4¼ Ë_€LÅ1Ó‘®â—Þ~ˆLˆz„ ñeŽ¤$VÙž‡÷—ß5=[‡çšTÄºÀ‡Šnq‚‰’ð�A˜+¼àï
-¯,}Ïüú Zï½º/–xD@'Ê»IMP‹äO;k(Xnf™È‡ç‹ÚÊûE	‘zð²X’ž,oaßu’
-Ÿ)°Tšæõ_�[±Õ#¢H §Œcº(\Ì8 Mùí¼óƒÒ«âïH7åZà—k¥·¬ŽM(åK|®)­åG½^*ÍQÅ¤b–ôV1¬µ«TÚ‚—Í•<(nAH“€�òPXð)ùeè";F~šö9 ï‚½Éàz�tybã¶TÞ‚4Ú]W¬@‚Ì†ÝðÍy!ú¹¬�ˆøR¦Á[ƒsdz|ˆ½T&Æ{}0™ïó‘�ÆG=
-dg‰¥n¡²=øU»òTŒcn¬`"¼Ahßn~”kï¯ªµ{üþ¤Ú/}
-€}Z¯[À÷ši1ðXsÉ�ÜPÇÚSeWcsoùD>/DÝk:²=*l´a–ógÀázáN`�C�Cò¥U+kÆS§iÖÕ¿ó<ÈÕ	Y6ŽQU/r,Çõî‚gF“ê<¡ï'¡HŽ
-ª÷I¤‡í¨½±‹À¬¸�oGõöÝiŒ'UQë¨†¬¬2¹ò¿ÍªŒP­ØšÇEÖÆqÄmÑ’OÂ"Ù•-`�#×)ôtÕË´ç�îóê|7WÞÍ2c4ëŸå”Rô‹r‘ÝuP>Ëñ”vº°Ì
-Rý*\a|ç–ŸkÒ(²×Àã�‡ÚW¦d¥nôÐgçt°~Ôá¹_h»×¨õZ³‚a²«¦¸hÈñGõHÉU«+]´Öø5¶T:9×äâHcÝG~MˆLç”×ãß©]ŸßÅB5……<†³ú»bªB½¸d�ü™
-)-sr"~y[»`
’t“pä™Ëü’iš‹…ÿ±Ò˜�ûgªcJPVŒªN8JO¼+ *ˆtÑ>r4~£ÜÎ‰‹»HÖ…¨/PfÒ
-O(,ç…Í¿ª~*w¨‚Ê&ü—{Å,–;>U¾žþÏ”„RØ¿¥»ÈyXTîÔŠª�GÖ=ˆ‰‚dò
-¶Vž^0"@2¼o—þ‡=†ÛVL2'±\à0}��ñ© Z.ßDÖ"O«�!žÊè˜úB›!æ‚°U¬¶ÇÖ)—³ÛPƒò)syî¢w" ø�Š#¨”|®„×8/ƒFás6±�	|Á´l‚9óÂçWQÑ}‡<EƒØ9HÚË<EgèàH,‚ªƒ&±oÉw |œæœÞÀjm´ m1mmàò!Ù š*€ûÔkÙ�p :�I@­êtz¡® V�ÕçÉÏAH�éŒ*_c6=Êz|…é]e\;/íoŠûËlÃ8ë÷–ªÄ	Æë¯“´CÍëSwSV7�¥«\~kœÌ”Ú~¨çæüm¾Óð8ÿÓÖÔ”Ž|&dIÁ­!;Îú/Û»=i�ÕÙŒ¦ô3î5=Ok§iÌã�NÃÒ¬xWVýJ¾©]\ÍA¤ù}[Ñ[##u­øÿK¦È
5Lá²OïÉN³d%5þ”ÞÆØÛ°=s­¡î·ìJFm{îb×¬šÃÔ®¡Ê»³°ÔîÎqTžp®êþ ÿ¦ÈôØk~Éd¾¬/ÌFÛêŒù‡h95§ònR8Õ`þWy•¤ÈÖîŽþMÉ‹mê1Ñ¬Q>V¡ž«ºÓ©úåDø]¯Óæ¦3Ôn$3¨Õ
-<i;ªÚ
-ßQxyñ-×Ó•¹ÂýöícÉâ¨*Jjn4�uÉDóKnò®½š_îÔÀ…ÑL°:°èÃÉð¢¤œÆ­ì~¤¨ôe×Y�V¼ÆÐ¸Jò-ð'@Ÿ1=ªðŸßT�”4ûm«:UêÆä”e¥ÓJ?Q;-SO�SŽèÜ$LRˆæ•´É~H¥ŽYfb'nÆíÈ€²{A¸_EÿÓoµÁ´ü3LÿP2KŸÒ5I_ÓøZ}Ååš¦øHR¨³å¾îÄ
-ÅCËshhü
-ž�œ„îÊ& ËÏJ/”ÝfºëÂå½ôGZs@ËÕ˜)Ã)ãjèIºD¼„Ö:cw¡q+[ä8ÔÄŽ�*XOïox¨3ƒŽùÌhÆàlú-õ!ø/Zžê$RG™!n¢q¤÷øAtÄá<Ú‰Š¬âáadÚ$ê†ö-µç°wŽk®ã)>OÔñëô•Š¤	ˆf¢ËÝ¿¨òu[�}Mô:L"C8f¥ƒéX‚I]šj�Çc“zãöI<“§8ýyS©);G¸ûww§tÆ±x3»eá«³Â2f×©s6æøyZð™¹�wxÔ¦õÒ©¢IC_¼MB?âÀéH¢Š£ù)ÂÜô]±iÇR¢¹Kx··9¤õe=	âÅò{|ïe	iº,nA�s  ´pØô�TYê¬¯Új–zbÆ1ÒãËÎ|µ#ãß~‡6[˜ì•ÔÉ»(å‚àóÐâ4¢àÖ[“`… ¨�!
- .¢" 2.’@HHÙÉ—½÷Þ“$$Œ0PÔ–ºœ­{VQ<±UO=õ¹Š§Ï¹ª`QîúþŠW¿6ƒ}]©_’Ä¹«†D%ˆßkâ@±æxCFã©ò!ÙÙ�ŠµBÌwR˜àOÜ2yµ€Ø¯xZ‰¥L©ÚŠ®ÓšÅYÌjm}êO¬NÝÉùÓ¢íz„0]0}mH(=®ü§#«|·z­‚riÌüwU0í^
-Ò]Aõ“úõ÷‹J¨#†‘,=Ïx(µ‡1f’D¥	Í¦û AS¤ugÝ�ÅS”mvË4¨!¾šÑ¼‰Ê)ór'ö�E‚
-%[ÆSB­Ô¬Z³õBêºß–ølâ�Rã"Ø�)<çŠ³žÜ„tÅ«BÊ~tÅñR�¯\a¤—Usœ_�µ¸içóBIë¼™ù…ã<�z;OF=ç9_…œ7À\©¾´
âº9–sÅI~‡r=ì˜ï%WQ‘äÛH¢£EµÛ��j�÷S!‰ç2'Éÿðüšúž¦ó£‹x“žÅ³Vë7×¼¬Å@õ-Ï,ÁE¨æÇŠÍ¥¡M—8ÏËwÄ/•‘�ŒŠ	,²!·‡ÿ³~YÖbÒíºŒ%¥ÔïüÚè=¼2_È,Ÿî‹‡ï=—7ÞµÝl,¸Õ¹@^²{‹ž£*ãµ%îG~Ü<£â^¢…ZHÁG6ÝÉª$~
(—´S¦É1!ÜÁ:å¬;:»·ÇËÉ=º#ÕÞÐÕ7G¾»Øºí'ÎØÚL”!C;)'1¦-ë8\[N–šˆkU/¥èš·ÅTqó³çéy/ÖwÒËPõvãUÕ€jŠµ‚§çl%Ÿ �ò:€2Làc¡
-ºDõÜ+*	Fð)…&MŒ ©ÞIÉA…¶U�ŸC%°¬Jê,ò1%
@ÁÜXÆA`/â(*¢¹b¾gÃMþsÍ˜°Gò-yJÔ"Ï‰ (K}AÖ]ÚáZDõ7F¸y€0À:(B&qáì‡´þ=Býž‰XÇ²K†6Ärƒd×TðÃ”3’EªÓ$ù
õã ÖdÃ~�}UÀ0Eaïˆ8²&ü]	ÀºLº.ƒãSï+âÊ%ôQåÃ|«^mOáü ™J¦ñòtÐ‚Ì®O^a9`†Õü†ŒWx
Ch­òƒ”ƒ=«Æ2/ã§4Ý¸d„v¤ì,­F7ýÈàÂÒÝ¬vchr'`|�RM�ÁíæÏÖŸ]®²·š>€Üf„HX˜lãÆÓêS¦¸Dâ3¼l=¥Ïü;´èµØÒ9ŒçÖÙÉ2v¾Õñ^ÂµÅ�Í`Çl'¶Ô±X×Šw`Ä5¨q‡�±°ê¨£µÚŒç:~€Ÿ!½vœ†bh¡ŽÑt8�ãx“\ÏJpFG–‹[�zP›©Ì9åP—¯½£=ÿµV!:[1^L×¢÷6c¿TŸ÷ÆÃD…gt)e¯gS:Hp¿K>Ã\ê¾¹S4æÖƒ>ûj¾·oß8ÐD×|(ý¨-@ä7öï*i
ßcû°”úAx6Rw	šDvû_§+h‘þÌ”y¼ïèü¢ÕµKC�F°'Ì6^8½å©½Ißî6–Ýk‹|¨ˆÖ.,¡jUË
-x4>¾é4…Ô0¥wPs©)xú¾Å|œ°ßÏi5t{.Ú°‡{KÕ×Jò¶ãáû¶™ß:‹°‰˜u[p°	\A›	šJ¼Þz!ý¥®¥<¥™¾¤I7¿S˜Q¿:äª!ß3îªçL †uŸy¯:%&òûðGèýÂrö„è@‚
H4¬yyWe«¸ÖU©òá¿>`Qôˆ‹Â,ºFiÙŒÏ¦šâ8D?GHÓR˜;È
-á[¶Ÿvàq]Œ'UûøNö·ÒkB%?2/N,þwå.i´$�•eË~
-ëÖŒ+ü3Ùöý:ží	e.�¡¾BC1'ôN3­€9ÍOÁæP„;6Mòz%ós5‚[2`eº¨S¡Oœ)Y Z6¤Ö©ÏÏ<gŸgLµfáñ‰*2É*ükÖÔ$1@ÍnHñèKL�<wÓZN°2,gŒ'P]‚œ”jˆ	#"¨vwØMÕÝ§ h›ÓÜhÞ�Í•§)Cðk}¼bÒbÕ\
-”®–UN4gJZ™gt3s¸˜~ÄË[g@%Ül7æ†G*ÃL@�ËzÙúÐT�ÎÐ
ËŸamú.?l�y¤Fhe%õ?&PIý¡ézÎ"–Í\ÑqŒ–ÜÄ`>Ì2nPDYŸY^ÛÿgLGöÚVÉžcÙdIµÏv˜´ŸðÈöu‚²À¾¾x°ÊnÈ~Èø·ý„Ïzë˜�˜ÎKvPÃGäÎÙÁ*K¦sÌPŠÀyšd‘¨Iœ=XÕìž&ÅâÁîã(Ií6S©ûÝùÙCô7"gî¬ù#‘Ç]V3
N•yjFƒo›7×ô½e
£R	2¶!��ˆ¾]Ï$î¬ÖÖu#?¦üÿ*^M¡ú3³8_¤™Ñâ‹O<Ä!Ô>›¤/¼hP’y®û„n6Ð*ù
áneíª¬né"Â°±ÍDä þç¦ÅsÉ¡Ùh¤Fä0ýhÃšÄ÷ìõø‚”ác�˜¦^÷'­”Ñ½BB-ÏïB³ŠP;Ü„)ÌíW�NÜ©¶åß’(­ÝÙ¨�-k!7€oÍóþ¶œ½<�þ&ùX7Ôn*õ,4î‡¢žÉz%àª_Ø=Òü^â€I6"5ò6`åF°âóæº_T9Ü´åGÔÊÿsXßoM
-ÇÊ¨@ƒFïM1
-¨ %P²‘²wÎÉÉ9™'{�l‚àÖÖ=n•Z±¶Ö
-ŸÒZÄª¨8n¹jÅ¢xÝ\g½¥ÿÀç§÷}ž/˜N0£NèXäeÓ0BŸh´Âp]òºî*lbN’e©œzÔÍW—Â,QÓò��‡Ò�‹§*Ý2erŽê<™ÀÑä+æábŒª¶ "g³!L#@¸rH„
-ù½H4TGDR¸”*«Ç>]&_ e ðKäë¤k
-Py…P *VoÀ•è‡´½AÇ±AÓZ´•£––C	¼.�ÆûB±h3ÅU0o¥PêWTåúÁ}ªÅéw¡êwI^8Q»“°P@_àŒºMú±`<–fÐ’Ï�Ëàvƒ²”ÛÎÃ«zjsŸk²JŠ§hwå¼’ŠÐ÷é~Ó—%q 8ƒƒP?7:p}¨Á\ìshmÏ5!ôP]ð”q]÷„3ÀÞ£Zåç±
gKfÞ;sÖŠ�¦ÏÒ«¤_šmI\°ØRGÈ[­ø¨­Ùv,ø½}Ÿã•êI­Üºˆ¢k­Î&bªáÐlË‹?ãm_æP„=öé	œ½-‰'ípL%ôB<Çº(¿f7¶7°=wW…×ÌuS¥E´Uî6\¯u
×,ÌõS1…«q}C}!ÈvMíqu%!–ë.áO™À=?jH=êÎé¶ñÜ)Êšªô@šdï*kãVÖ�º¯Ck‚7TEOØÏü�¨ý¼û~Û¢7B�?1©I\ì{:³\ë‹ž«®öB#­Ãž)Š3ÛæJªÿÛÃBiÙ-ª;ëõÍÏŠN±Ž4O¢~Åí_�²è}“>é‘<ðx¦x˜-U]òëB‹­&O–‚^¾bs�øÛªƒ«Y„Ú�õG«uôÊuä¢Væþ¶KÔ
œÛ­[½äXÓ˜Ô%<Ùrbf¬îŽÞªR4¼5Y=LÕQu\å'Rªú]Í(ë¶ærÝþêví:¦°(µs'g+u:Á–´³z—øöœlƒ
¸Š×ßB™á˜-
-9>±jÝ¸bÆêÚÅ{�Ÿ?0Qe{¸ªDµ€YøP
ˆ–AšÒä´hí
ðé::*oÅõ�=á,:Õï‚±Içs“E3dýü=ŒX¹X4¯?‘tÜSÁ¢¥ë•� ÞT�š…I�§²oCïªC#f˜£Ðè	Á\&ï—Id‚çR
- ¬ŸþC&®X({%×å½ˆ>ë¢SÂ©!Jœº˜T®*Ô¼Â»þªgfD½ñWCJP²³Çš5ð‡áÿ¾(ZLÏ’d(½åP¥ŽÉwÈª5ë³ìòÅhTÊwð�Ž´T‘¦ïÅSo3E|e8bvmr†ÚSe{9#Z?–ÏBùu&á÷:fÙ9I˜Ê2
º,²,ÏèHÙ(�2ùIå0Íì‹Ÿ¤"[€È�ô¶ÃÁX>6
ÜÉb˜sxùœ—æ�´A¾ÇWV$|mÙ›÷¹¤ÆšE<Ö‹)z™Øf&±¡öùñåŠ1ûÍHD7„�Á°c›óð
#çXÿÁnÑ
-¸�Ø�Òk"ö(o¥h»3†Ò.wæ¦ˆ€gÎ’F&rþß†Œ¸�Èït³]ç‚»SÝ8é:âßÁc~ì_X{–}Î×[êåi}¢¼©ÂxßLJƒx‡÷÷®ô´÷©¤yïÄ_Fâ½opAh“g,d²}‹›'UÓZò8ªú
Í‚Z1«vµ¯4�ÚÔ±ü6ÿ—¦I…È@SØ’Ó�0R;`m¼4}
-¬lÇQÑi¾c5í·Oò¡–¶¾�ƒ£ç¯cÖÆ0gµ½-Å±‡Z;—wñN®ù…!\ÓÒ�Â?l	!uKÏ7#Ó©ò‘&Ön †(m÷Ýû�~ƒ¢RÊ�ex°êŸµf£ îâÊûÆ>&¶|’IÊÅgŽšg	6Ï¿c~&¾BµÜNÅœ·mƒÈ“7`s­‹2tIµaunv‡ö:cÇ*
-z€ÝSÒ©Óòîç¾Ðó„¯3£4É›ù¥ÆZð<q¿©@Î‹µh�ÆÉ÷í«ÕÇ&Ó ¸OÑÃÙÌ‚”�ùi585QØW|PS*áçÆiÀƒÅô“Õ
Áç‰*ýÅÛØ“_u3,Ã6˜,í¢€<VlaJ`›tWuòü¡è–Rý;G¦„G3®j(ŠGd£Ö¯ºF,A×k¶ÄChB˜ÞrÏp{B°­Ò�3òO*™~^%—Ç*veÂ?ªò©· úZª|©Éyjz�X¬1êKckõ…†æ°~sŸåïgÙ/ñˆúçúÝÒ>mhe7¸]ºâäÑI¨&¸Bßœ‘†üiè$/P:Œ7ˆ j—i<özÕ‚O3ýd{4Ûycð�Bƒ±’>"FMA•¤zÓñK@›¤~!–„ôð§–[äéÈEëa¢[mkˆ×n·£á>ã†9œ©Î¼|Ž½�^ „ì*ÚÅ˜#§ðªt¯Ã‘}<áHÿ:Œ‘ÉS`¶›¸9íÌŒËÕlv>¿h\âÚ4€p­æEq×yIu�ü}^\Å2a¯g¬°YüÔs&û�ì9š~DVâé ÇÈã=Wˆ?ÂíÞÄ8¯ºÇK‰À¶{Zƒ§a×·ÜöÝ&[]øPþ› $`)¬9G²Ý’ÁFSú6�Ð˜HŽ‡ÂÞïÉû£âzÔ±þñˆJÃl_Zp±ã¦ë7î',nÛ)Úœï[O–ÿŸÆ:ÿkâLà8ÎérŸ5‰lÀà6r®€r—K	È¡ŠÁ@È}MŽ™ÉÌd&“ƒp¸J]ÏÕzðÑºRª­U*RD_U·¢¢¶Åû¥�ª¬Åƒ²/ƒû¼y>Ï÷y:Öú¬?žZ_Ò>�ÖÀ;Ñ6ßÎk«fÎD¶>™Ío]ðBnµE¸!š“ÄÀ6o×ÜDY¬b-*c,{ƒVUžË	Dk«eìQ´sõtl5æÇ•‡¿À¾äuRl”�y·âƒÂ"ç1â¡³7Y¹Z
-þR™RÞV•=‚újeÙ¾p@Ý¶”ÿÂ]õcºõ¥
Ã1Ä³É@á#¿ˆ<½O`[$Û]Xx©r“½Iv-K}²vªl§¬ÛRøJ›XŸœ• �â]Kaë.òE1Ÿ€½‚—ááÐz1—²æJ7{?@Éo¹àØ¸ºóƒ P ŒZgYq\Ei8U¸ðçOf¶¨)Â�äCšOÅK£¿Ö&HËãº9‡’*øxÀþ.§Ñƒºýö&×TÍHŸ	JïÊD#›9’Ío•¤¬$9]uR>-ž+»g5n@&e…fF}Ü‡)´2W
-Ò
-·~°ÓU^âÅrVi¨Ä Ø–?#SNf4Ës€ô¤ÇŠ½jKt¢rBs‘1ÐtÁ\	Vúô€nÐ-WTß†Æ|pßU‚a�´„%jËòqŸ.>ƒ!Í=“öÊN�Ï¢Ý‘ÐuÆ	¥¾HÙ¯Ú¥¿ìóJ{e»^‚ûÊá°ò0ÿßú­œ)Aâ•ï!@ðô+b>ò"I$uAQOeèã{ùC¬‡rIYlPúfh.ãØ<*4Mü_h¸AtrÔü&âZ^WÓ,1�þ¹°×è–”#–c£Æ¤!F1ãGÙ&ãyÊŒ‚EÖøšÕïHbÞh-™æÀÂ¿$Vîå±¬ý¯†Ÿ­íyå|£µ,}­ ÙêœÄùX®G]ßµœeŒJu–{Ôpy±5Ôw@]lq›·	¼kúÎA€Wy•+ëûÛ‡ŠOñÌíÞy>�ùmuéIM­G’<Ï[ÙQgD·[0nIþÑr†š+ûgK¼ïs`°ÙoÞ)1opØˆ{¼JS6G¼ü'ò÷2ÇÜrcåŽ%ddu*ëI[=°ø*™Æ�
-u#·òjƒ¢Må|¦GŸ‰+ÜéTk*“ãö×ÿÛò+†‡g–�7L®º‘sÔ0Uó.Íl¯‹f¹à!õ9‹Ëq]ÃgôAüiÓ‚ b«°Çã¥1YrÛé¨ñ¸ÊÞƒ^Yvq©M(ú
Y²æ^ö;å¶§^GFxIñZ´ ñ*ó)zE ¢·b<Ñý Dƒ‡4Ì3/Vø;»+4ö¥}µ¢´Ôë‹ÂÀ'¼sÙ
Pß/•MŠãÝàÝ"³S_*ÙOêßËŽe"Š-žuØ. ÅyþW°ÎÞ$§ôMqÓÑB¡æ©ð_Y×µ;Ä0{L× ]wdÉƒ˜JÈQqƒÎ…†U‚„ð5Ã³õ×šœwc“ðìÁ°©dDµ]º­ àÊfU©{Ø˜&Lå§Ñú ³LûV}Ÿ.Ö]Ð–õ€×t‡½æé{¡ß\ÐITd¯ú‡’<°,QÎWoÏ|¬òÑt±£�í�¸u„îfŠ&<GWk} çAwtùzš×*G¹T <×$ç¬,âçŸ•ûÁ�™6
þ>å©2KÏ�R‰æß2J7©q´/8Hó;ìµ2à—�—(ù(¤I²
‹òË¥y†]™q²jÜ)å[¹/��Vã}ÌP•3Á¤o¨Äpp±ú¼ñs¯q°ÛøØå¦~ÈøÇœP<*ê4Íæ½3Ó2Æ%×Ì)m2sxì}y­9�ù7Å1³‚~XùÌ|)Æ,4ï…º)s–k€>ÇTùQèfµŒæ}-·3‰7·¸¦ˆ$Ã¶ÞØË²x›‘I“÷Øú€bÚÖ¼ 4Ox—ë„ÖP×tø†©mNXö¶UÂiÌÝØÒYæ»ÔÇ6^Ù—Ø`K­Î‹ZÙ<¾z0Ü½y„N½Ñüž·ÜoÄVÌ�s[`=.;ÌZLŠóö¥�(zceWHs,C«º—Ô[ªjÆ.˜ßÔý%òŽùn=�1`žlX@=m‰â¿ò{i	w»	ÌÍÒ�Žµ¦GsÿÄTø†ÄjÈì?Éˆ5ëÒþcœâF&äŸ¬û5"Ý	Fæ
-B¨_‘í¢}þþä%©«Ûr‹bÐñ‰jÚ—öQÁ,ÈmËÎ5<áy§eÆu¬œÖÔIÇÂwŒ"|H’LÝGPeµþ±„Y!p»OÜ~vœ0.…âìM†$#ÏøÚ¬ndZ°+õ,ºHÔÃP«¤%âúZ&bDc
-E!µUQü…p×=/×9å½ýfáÅù-p„$0+KÇSá!ùVŒ>]I�8¡¿ ÚÏX„Ô©©W�sšÓþß¡»t5î[°°À©ÿœ;‹|?Ý�òhæ1ðS€–êîQãÿ€5#¶A·´?0è°M÷ž:ÏBËýg/ø¨ût]íôÚ�føbNÈûBó•®(s•–®dkBEñ§u8$‚ýàFxMÿ;-ªCfráÃØ�4¤÷vÎÂ0¢à£°˜@Îg¼VW¡]lBý+¶6~§Æˆ=Š´µ‚­KÃchºÛ„kÀz&Þ{´èÇŒÎ&ô¦ñÇ9á³ª2ãÚŒ.Õ qœ]’•ñð’Ü!Tß!_2Øš1S­Q»Íìp„Ì,�Ÿôa¦>ç~´Š´~Ö)nZŸdð”|ëÿØ,ï &³-€§A¤���’ÐB"PwWl( ,Uz	5��žïK%!�DYEŠ…]EDVP©ŠOt®¬mQqAX×òxÀÌ›7óÎÜ;sîýã÷Ç9¿¹÷|ô1Ëù*ùFJÌ=#EöS¤¶khíÒažJÚ¼
-Ao”ôj¡˜Jqò%{Zpr™à?^æ²ÓlÝÕTÐcOVIGˆÒ9®øz¸9ð{1!R…³SÞ�yk\©Œ7Ðþ¢(IÕ&d§Òca0)>wó’“ðMÅV{ùV+�öùyÂÎ?JœÑEŒ¨V ¹H3öÎ\~;~Èøù�¤F�õ²C©�Ô]¥™™ÌI<œ§³ä$m“³¼ ¼Á%+�üÙCU8SíÔ\˜Ð
-íÕpj…˜ä³Æ·
-‘i:TÉç7u†8/ç Œ-ÚO¯_zi¯lÜ,ÅÆä¯Ý+‰‰³óÐ�'œuú^|,¸ˆ%©¡–Sbqz½ñ1”ñL§Ft!›¯Þ&¼¼8½t-ÓKV�o¨~N4òÒ’î
BóÔ'„•~@u3j,'…öY‡Œ„¶9
-�)Áqês´®ÀŽ~n
-Í³�—¬þsƒä––ïÃ')r÷ð|fqlÊ6²ý¼“sÕò#„¤fš�!x ëŽÐÑyàuæ4œþÅÕ_îÅú^OÖ��#¯&rwá)©ÚÄ6ÞAZŒío,¯
§Á·¦[šdðm
-ŽèªøþÌrô¿œS¿	ñºVYœ–<òSNy>Ÿô™£¤w�pê
-zm§9Œ1žÁ\09ÅMaoÔ�ä>ájjXód|Â�nY!è³^1£ÉGX—YU¤aV»Ž(bõp²mß±�¸›qÙõ<'“×ìü½uœã KƒÅ­…a¼¨b™àw‰¹‰×LŽf®â#�f¢A
-1—	@(ÛÌè.’å$ˆ0µc¥ýôdìJa¢Fç©ÐQÊ ŽBZÁUá{²cÁ�$+h½&ÆŒˆ÷ÙÎ1ÂÄ½8*cA²Ï4”¹S"Ó»Éº&nÇ 8[E7×¸mÐÄ2ÁÇçˆÍ±{Â¡ð  §ÀªÎ0\™¦Â½ªÈ�T7í>ð &Qß¥|>®©R“µ�#Š`
-cÑjmZÒ’ÕŸÈæU»ö’**ByN†,ÂG�î²�Qh<ªÌ*Ö‹.•Å{èKTmIÛ1•éi!(G¹AÖâO!Aæ�,9¹ËûpyqX)¥Ì0âqP5ÝT—<ØÏÆÃKð	±„âª¤ô{•ƒ©ƒš€¼?£Å(4Ì]¬¡[0³ä$Ûë¹Ê8z½[ñ“Ø9b�r,^lWê$.àî)˜)ÉØ5
-LÚ¨þó"rFˆfL!”=‚ê”ìÉ[$ˆ¶1G—œzå+fâ+Ý(Eï’tˆè"ƒ”HÀFž�–ƒ”MS”Ø
²ÊÌfƒ5…}Ù¯4ÏK¨4+53Ñ•‚:RØÄV.WÒËU’Òãæ'KN{Kx[XEyXJg2;q“ÒÙeXº487Ë€-QÒr´LEutªš@ÆJ�Åê¹áËÏyé£Œq7c)6«‘ð@’”
`Å7s§p³b-[/þ1cÐ':J¿«•-Ä2Ï¨Mì9½°V¨—7¹Bè«r»~½£ezDÁy�#a'Ý�*
-èØûB:ã®¡©`˜EÑ„Z9/ÔÉ�oö‚ƒþ+„2!�~Ûõ¶àcá¼ „yÐ‡úXñ8è${ÄL:ÊùjH…°¼tm�"Õ‚Ž¾WŒòl€ŠØ/] #®%¡¬âùÚ >ß
Oâñf›@ä`ØÍ¯8h+ùa‚ÓêÓü8Á â@¨Â;þ48ë:Î/‡:|‚@hò„éx^­ˆl–Ê»$6X…äqÄÚc<–¨íÆëyÃ/ð# `™ƒ}ûöß�™œç¾xC!µ`08ìãÿœb1ƒ· äÈtT�šŸº3ÚJÃƒÂ|Ô|©5®= sE·Iï¨~‰�À�¾*Ý(Ö8Ô$ÐÔK6#šë™ÏZŒ¯î²<�+Å³­’­ƒmÖ¸ÛÚX;{¤ý'‡ÇW„Iâ§ç—6×F·jR‘;Ã#Ás‡—··CžõyºvÈ÷Êº&¿ãë+6(7J7�þ¬€üÍÔ-¹[s¿£~Ÿÿk?P²]¹£rçñ]§v7µîißÛÜr7ôÑ¾aÂ¿D`"�£¬£�c<c×íˆû!~wÂ¾Äè¤ÄdJ
-5•™¦K)%•™ÕYµÙ?å4å¶RÛiÝyýù£ô‰‚?3Ì/lÇ”ðH|?p.H2E
-q­¤M:ZøV®]ä¬RÒ‹�–üª/�/7:à^±§2»ªø`Ó¡þÃ/ª‘Gñ5¾ÇB�g×ÊOœ¨k?9Zÿúâ´YéL`c|»¹¢åìÙþsS­øŸ×ÿu‘{©¤­ærK{ç•ÛÏ®Îþªqmu—[÷Öë=Ù½â¾Ã7ÎÝì½õ°ÿý Ú�Éðê›Ûöwˆ£.wIÿò¸ç9æußë�×ožãI®�œžØ?&­Ÿá~·xn:e4õõ�É×_þôªð5åÍ®?IÓFÓóo{×ñþØô!ñ¯ïfæ0so>ÍŸ[8ð7óSÜ?�Ÿ½¿_M¾iþÇX\ŽFZ#çP#jÍêJt¦ÆQSKó�Ö€v£ŽB7K/HßÝÀÄàoÃÇ«®5«L
-L£°fÚfSæ�‡Vç[îÁ¹âuðÓVCÖ-6¥k¨¶!€·�¹Ý7û)‡!Ç‹„Z¢Ò‰íLq‰rÝíF&Y¹k¹Ï{<÷õêò¾@®ó©\+óåþ$Û÷;r<e=V>H?<@0A%BCD
-EEþFúGöHôIìJáKØLÐMÉNÃO¾P»Q¸R·S·T¸U»V¿WÀX¿Y¿ZÀ[Ã\Ç]Ì^Ó_Û`äaïbûdef%g0h<iIjWkflvmˆnšo®pÃqÙrïtu v9wSxnyŠz¦{Ä|â~"€C�e‚ˆƒ¬„Ñ…÷‡ˆ@‰QŠc‹vŒŠ�ŸŽ¶�Í�å‘ÿ“”5•R–p—�˜°™Òšõœ�>ždŸŠ ²¡Û£¤/¥Z¦…§²¨ßª
«;¬i­˜®Ç¯ô±²0³N´lµ‹¶ª·É¸éº
-»,¼O½s¾˜¿¿ÀèÂÃ>ÄlÅ›ÆËÇöÉÊHËqÌ™ÍÁÎéÐÑ4ÒWÓxÔ˜Õ·ÖÔ×ïÙÚ Û5ÜIÝ[Þlßzà†á‘â�ãyä`åFæ+ççñèÓé³ê“ëqìOí,î	îäïÀð›ñuòOó)ôôÝõ·ö’÷løFù!ùûúÖû±üŒýgþDÿ!ÿÿµl%ã¥m8Ðšc	,	ö
-ÀŠV
#
òÂ”g;æºŒ^0Õ¨{N"õÉ�qE  î!Ä"š#p$G%%ø&Ò'­(Š)j*L+/,,ù-ß.Ç/°0š1„2p3\4J586(788ú9ì:ß;Ó<È=½>´?«@ŸAŽB~CoDaETFGG<H1I'JKL
MMÿNùOóPîQéRåSáTÞUÛVÙW×XÖYÔZÔ[Ø\Ü]à^å_ê`ðaöbüde
-fgh#i-j7kAlMmYneorp�q�rŸs¯tÁuÓvæwúyz%{;|Q}h~€™€´�Ï‚ì„
-…)†J‡kˆ�‰°ŠÔ‹ù�ŽD�i��‘µ’Ü”•*–R—z˜¢™Ëšõœ�HžsŸž É¡õ£¤E¥l¦“§»¨ãª«4¬]­†®°¯Ú±²0³[´‡µ´¶á¸¹=ºl»š¼Å½ñ¿ÀKÁxÂ¦ÃÓÅÆ-ÇYÈ„É­ÊÖËüÍ!ÎDÏeÐ„Ñ¡Ò¼ÓÖÔíÖ×Ø+Ù<ÚLÛZÜgÝrÞ|ß„à‹á‘â–ã™ä›åœæœç›è™é–ê‘ëŒì†í~îvïmðbñWòKó=ô/õ ö÷÷÷øìùäúàûßüâýèþòÿÿ·p+è¨l3ù¿„H	
	Ò
-˜^%ì
³zA	Ð—_'ï·€HÚ£k4üÅ�Tãª q!9""É#’$\%'%ô&Â'‘(c)6*
-*à+¸,�-i.D//ù0Õ1°2‹3f4A55ö6Ð7ª8„9^:8;;ë<Å=Ÿ>x?R@,AAàB»C–DqEMF)GGâH¿I�J|K[L;MMþNàOÄP¨QŽRuS\TEU0VWWõXäYÓZÄ[µ\§]š^�_‚`valbacXdNeEf<g3h)i jkllúmðnåoÚpÐqÅrºs°t¦uœv’w‰x€yxzq{k|e}a~^\€[�\‚^ƒb„h…o†y‡„ˆ’‰¡Š±‹ÃŒ×�ì��‘4’O“j”‡•¥–Ã—â™š"›Bœc�„ž¥ŸÆ ç¢£'¤F¥f¦…§¤¨Ã©â«¬ ­?®]¯|°›±»²Û³üµ¶@·e¸‹¹³ºÝ¼	½8¾j¿ŸÀ×ÂÃMÄŒÅÌÇÈRÉ–ÊÛÌ!ÍgÎ­ÏóÑ9Ò~ÓÄÕÖQ×˜ØßÚ'ÛpÜºÞßPà�áëã:ä‹åÝç1è†éÝë6ì‘íîïNð¯òóuôÚö>÷¢ùúdûÅý(þ�ÿÿÿ€€éó€€Ôæ€€¿Ø€€+ªË€€:•¾€€J€±€€Xk£€€eV–€€tA‰÷€€,|ã€Ÿü¹~×‰¼ç¨~Ëˆ�Ò¦~Ñ‡½¾~ó†§¨â…ø”…[56„Äj_M„.U�bƒ�@Îp‚á, w‚$ú”}ß“€å…}á‘LÐ’}ë�=»Ë~�e§~#‹è’z~HŠ�}×~t‰Ai8~¢‡÷T¤~Í†¡@'~õ…2+Îƒ•ø‘|×�Bã‰|èš"Î¥|ü—/¹÷}”†¥s}F’2‘}|�ú|“}½�Üh,~‹ÆSÒ~F‰¡?’~…‡p+…~¾„ðö¦|§
á±|0£Ìá|IŸN¸K|g›Ï£í|�˜£�©|Ý•Ž{m}+’šg=}€�¯S}ÒŒ¶?!~‰»+l~a†Wõ{›°àà{·¬ËP{Ó§l¶Î{î£¢’|'ŸŽw|k›*zj|¿—_fo}“œRŒ}q�Ê>Ó}ÂŒ+{~‡¼óž{Jº·Þ²{YµÉõ{j¯”µ„{ƒªh¡e{¿¥Š�n| ¹yŠ|aœe½|Á—lR}’¼>‘}rŽ"+ˆ}²ˆþòD{Ä�Ýa{¾È¯{·Î´N{0±Ë K{l¬Œv{´¦_x½| Ðe!|k›HQ¤|È•°>Y}%�1+“}mŠðüzçÎhÜzåÇ8ÇtzèÀ)³!zö¹UŸ9{.²Å‹‡{q¬6wþ{À¥¿d˜|ŸEQP|m˜µ>-|Ú’4+œ}3‹ïäzÓØBÛ	zÇÐ[ÆgzÂÈ‰²zÉÀâžNzü¹vŠº{;²w[{ª–d&{É£Q|›�>	|š”+¤}‹ðïzÍâÚ*z³Ù|Å�z¢Ðá±Nz¤Ô‰CÌùp–u>»¹í#%4cÜV5)ìöjjJìö:‘6’.Íô;¾¿s~¿¹§™jj2Õ¨éV¦CEŽJ‡šV‡+Ç«Øð,o]ï½Ïñi
6(S{.ËÌ}_gHú]äW¹æð-‘´°ô—ÑPî¢­¯Ä‘Ú¬Õ%âAiþÅM»>ÔNþ˜Ö{ë+qú¦öü&’¿çCUro¬ž–*ÄøpH¤hƒ«„ ™°m7:†üÈËBO"ØxQOi
-ña²àæ;|qÛâ„Õ7¦bÿÀ³¥×A'¾)åˆÇ:�8€%XÜ¯¡èulêÖ4
-à¼}èD0áÕ¼[ùé~->IápcöOYdõ1ÐËöæ€XFÊ‚™’Ðäh3ýSÄB4�rüEŠº’·:"¯ñë<;$;:‚¯×¯ékÃ"2 wP™þö\%°Uç¼Ð:%#yƒ”+“hÔAZqØgºwu"
ôˆ{‚“ã«^!xÃH_�mýÜ0Î¾J»œÊÊ¹(ž%Ïî@—éªh3Ò­yžx
-1¨¶ò@äº]ë!ûÄ]€,‘¬\õ~HÎÿ×JÐ_ö©‡?›¯L@M)åùèL£D�"%9)€„ey%ˆ‘
Úöƒò�:h§~!¿ï>	n`÷¬úN¢N<ÏÙµ÷£/ª<›ËP·2Ÿ²Cˆ±Ï
-C<
-¦�8ü1W{ªîÔ{‡÷ÃÝ7;7Ã*U™[+)ãM…miÓ³m ©¹­«
-ºðêR2bá•:#~ÚÌ]ðËb/B›
->Ç?�Ss{Ã=á°¬jÿxkzš›^¨ØÃ[uIêŸN·ì;3Ñ”«¹=�ª&^É<ä»šîo¸¤Ò‚WÂÁÅñxM�<¬ži€ýOC/2¸ECm*wž¤dJ‡'çni‡Ý}gÓOÙ²¦x1<tÑF'ÖÚc#ð²JÇ“44j^æ]Íãøo„únH¦~Ç[±§Ÿlƒsî^A]zæ7ž@·ÙšàÚgmìÛ‰	¡7prd)“…¾„(±ãžsÂ�íO�ã9A¥Ë‡ßÈ“Äü®SÒqâ¥{ì&qYéWÉgñ@–+Ý›¶ƒÄ)KÚƒSEdt<ü"qúì?ŒÃÀmö	~Ä­Ãþ¿÷ãAÙBÛÃŠðGM#ÌBÜ¹Ä‡þ€ådX¨QL@¬#‡±Yñ©ÄW0ÖH¬¥þð�¸E…�Ë¹ DM—.“×¶W1Ù2n£‡d;[b.§W0ž:7j¥„ƒ
“hîÉ"ˆr	mÇuäŽ¡Ø]bß[l2ÀMÌýÁJ6%#ñN¿ä½vé˜ÎU÷Í (emúUR!2	£Ì!N€ßcSCþÀH¬~
Ø^šãZôd4w?zÇÕL�1ù¶‹$Âà[7DÏ×»žÅÉ/»5‡ÈiéMh±T½õ„'¨°†¬ÀŒ²¿Õàû­ë°�f¸Ah(Ñ3ÀgöÿÖÚB¿>›X{„2åM+HÊðI½‚Pëó¼4#ôx06šî‡¹ªfûV r]ƒ¶2&n2FÙß¯dæVn†ÓÙå†;Ê£xfþ¿I;“Q5›Xm„à`\�sì˜c2EAVð ]î+<¥Šÿ	=.Íà²ˆ„öûÝKò¼qí�ytH�õüKò?çdy]D{i�rn-<	%c¯ó4±VlsNg�0™6Â´O³�ßŽ.‘'p
ˆ“dwßIs‹mËSzó¥µÕWÈÖzWc
¡®(¦ãéeÚ4VT8k^äí<p¸e—•(¥}Ë/@º•Û¹åð8ãn�%©nßxmˆ^|CWu™45¿<s™ˆ¸°IÎÃC«-â,ºÌ)gÏVðAßŸ±z¡™)|Ñ¨¹
p
;±—'©±Æ^›DÏê˜rî5IÝ”å~$¶]ž$KÂ7Õ—ˆ]0~•oÌDWÜ³mÎ÷NG§ëëø‘pÍvîu˜dMÖhíS§å¿‘?Ÿ¬ò
ä5+Äå2Y½Ø¤“Ó<cÇ˜ä´¾ µô(JHRôÅå1¹fŸá:Ä»'1=¿f£ŽÂâ«ŒÊpð—q©<Pò
-é°+-�=6ÄÜ“ôƒ9t4úÞ§�üt:ô’ã#|Z×]¦i–f\‰Ue³¿žûA‘ËÌÎ-�=¤d{¥>Ô¨xÓDÍ‰î’I�ý	Ô"ÉÇ�LÅ‹]–öØ�c?fÆlºæj¦j§5[•cê/
-ùŸÊ¯¾Ì]1GjÃ–ËNˆþÆðØgGÓW™Ãû,T$=ì]EN£:÷àuÄ°£óÂwvèÕÇ
E—•Áú{å‹ä±™6ÙCÒóÚ¦�åhfŸþ()VÞ�úLûÈuû&’o¥¡Þ›‰,f¹³RãŽÏ@7¡¹ËW}(\ÖôNñ:__zQ>ùÌ
-}–Ô3û¦ä<SŸiIù(q×ÖFq¨!uK`(É(z­ÄFé�s$Ö/yË™ö�½mOTW*Œ�ç¦’È•Ì\è’…²Ãù¶t-˜ë›bKêéßâ(D×··›\¯á
-bð^E¼ó6,•íàØ¡£Ô»;*sÝò†4ERõ–â(ÙÑò½™Ñl¶¡˜™$ÿLKÏDE6Pëõoöúu"�
Ž«>;/ÀeŽ3ª ßÞ†TgšMü‡ìÍN2_‹6Ã‡=^9•üAðÕD‚”UÑµ­å,¸–S  ×‚T]DA°`AT‚ˆT%¡L’é3™Lf2i$!	ˆ   œÒDÐç
-‚¸žb{Š}êî�zêý_�Ú³÷![JR? ×&�­ Z;¼±A¶†…ýßHîQaná@(Úß{�.êYÝäOÅwL/ó Wµq‘xTþ�ÚÏåd±ˆ“ý `Tk
Û
-î18mL–~ážú÷HŠn·x`,Föì§õ}/Ã©˜k?Ù¢É¥�Žª<Ü§å8…¦d~€G«%ý	IÊÄ==Š'o\*½ªùæ_!9¡œá&(ìÇ=zçNåæ4Õè„¹÷ÊùêQ šQyˆ,ð\e¿Ø;û’B*LþM¾//eG9ž?~£?¶&¿Ê¯	-8Èó‚ø…QWeHº.hU’�61÷ø‹›Éf¥`§Ò@²TÔ' @@ÙqñË€pƒ
=¤ûåÂ­€„Ú�óWTzö¥á€æ6Ú_º€óBêØ6¦¶Ë´ºŸ‰PÈ=)žŒOÇ-Ãe×7ðPÏo-&%x[A/É·.'Ýcå�ºOšÒ<k�JBíf0f	i’Š‰eœüöÇa9qM�E±.dnX=Òµû9@w@1o¯¬KæÕQ§‹Ñ{œ×¨Y�Ö"f¿pNÊÝJ-S-9ªH¥Ét›<–u[Éœí£X~",ÙŽö€’à4^Žl3(hß«ýhõ¯�Rû›¾›ƒYMÑ-ÚGé­mã¸§ÚÈì²Cð§´p{úB^:
-�à_|kÀwè.žAÚ	qmË´å•Ñ5+¸geÉÅ^l¨VøÓƒ¦‹…"ª¬ÈWø_×´<Œ#ªÈ˜Ç(Aß5Âˆü¤/bø<Þ%i4l»<]+«;rn*×XÝgšÃNª¡VÒÊÒö9•h–	=È Clb3¾Vës]Ï~
�„ý}¾é ÑÎû·äÂ]¯E[„gŸsµÂÏ˜¿kgÉ§Ñ©•#ùåeû˜NŽ³üœ8ûlø5ú.òY³4ä#ô–áûFÉFäq¼z´õ‰VÛ)ªºÁ5ü«©è.ó¦q„œIÇ�wÌ+§&UíH•ƒ6Û�D¬«ømt"Ò¦÷±A5*�ïr™�j]ê(‰Çæµ´k+®k*‡¸æ+núÌÓKÅÄF:¨i¬ø�üM-šò„8[9%aÓ–ämû�(
ÏBŽBê�¾3dŠÑ¥³$.XekD©{îÜªçæ½¹Õ¡aHäCêºDºüCêa±GÚ|ÕOâj”¡y©Ñ›(&vˆ#1š�K/`\ŠááBî"W²ø^]ŒÝúo€$��®SÝX!œð„¾lÚf¥&;‚iâ �ÊW£OµËExð¬9Òš„UÌ1õ!/uEYðg<K›�ÿÎ•B[S~gž‚çx4œ»í9$ƒ‚—ã�¥ßøÇÐ$©Ô¥ê”Îošni§sÊ‡M+©GZ›~@¾h‰Q7
�?™ÁìÆæïÏVÔ ¶Âò©piPžeðƒ‘�`œË´UöÛ…Ûw­{Y¹ÑÊ½Òè·³•è.Ívå‰ÜC*…âÔ	³ò¾\¾¯W±†¨Ø:ŽÔa=A"ìÈk¾3’ó\'�½à®…ùJ±Å–kÜ`¸£NÖ}Ð; 1ê·šùgN«ÜU¢ãCÊtåû}®ÔM… 
-!½É{A^‰ïäOƒ /]Àõ�°þ°++M1|-¹Á¥ëŒæH8MÍZNW³7tÂãnÊÙêU{UT:ëµˆP\ÅV’:ïï0‡Á®É².øX]˜9íÜ“’ÃÍÊnU–NPVIÔ1ÖÃ9wY©éÄ1!Ý­—ìu «‹¶Ô…L}`%z‡ºåý
-^CLuEe	È†ó^æ”F�u£¡ýüU6Q^=ÌW»Ú—g¿g#Jà£6Zbz³g¿üO}Ô–5„?WxE”½û çd¡k™ìgtLírsòå‰–Í†Ææ[ÌIÝªú™F=¦úuöv¡�>ò‘Ž(	ˆ¿!×‡#ûð¿µ9�KÐMì?¼›!«¼×µMÚ�Zj6™wuß1gªÚî+m:÷‹ÒÜóz ëóŸê£GÓË·ÅÇË�Y<"Ex‡þûúQt†ê�·
J¡¹JQŒw®û¬C®§y}yy®]Y[BˆÉ÷‹ð¬‹†MâGpm¯¸=>„KÈ;9–qÈw	ø‹ªÍåù‰0\u^�¦>¬>P5P™Þ—�±4d},�..^Zø)óQQiá»ä›ZïÂo»­ªkÀœH™
-¬0Q‹€“ž·‰ñ@µs4rSâtvse<:Ñø®l²PÁY½àÕ’µ&JÈœ^4lM^ 1ƒ>»Q…Êê#fÒ/d!±r­ôŽçE¼@*vNC‚¤kªVT4*ÖîÙHyÅX’ÄGð–Œ0ýL&8®ùìÊc;�ˆð2:
ö˜&w†Ü<-øxÐÓƒÛeÁ•+©3‹úlŽªX9c™Å¬*<nL¦�Ó3u_©íI�j#©Ùù†�Ä‡ÃŸ1Þº>²
-Éöd1zàÜû�“íÍF™þzi‰þi0×kÝ
- £—sÊ®S²“’&©ùôù�‰Ì0µgó�'Ç®S‘«±zOæˆ8‚Š¡-ö1v Ôª{XºÏ²“è5'š&ä·ìúá—ÿ'ðP%À»ËÖZÝµ»a¨ìh~¤Ffe£Ï-©Ä:KŽ¢"DˆÁ¼1oÞ{óæ|sŸæ6ÆŒkÜÑ—�2¥’îV}ÕJßn´û­Ú-k¿ÿ_¶GbÊ¼ 6ÆOñ+±¶ˆ*îÎ¥½™Ìq¦Ý‹‰ˆ�Oît7hgÝ§úLKŸô��`z‚¾Õàô3•3ÊtõßAÒ7Ê˜Œ"²´)>‡¿]ôU„ç–¿×›YÆ~äECˆhš{,Ø}4~¨O°
IÞÖ6å1~W2ÏU.Wâ�gó¤zí†w‘—r4î)6.Â/sª…>þ³Lwî¤W	üŒÙæ^¦Â:ã†ú°ž9É—ú:Ô-È$Åß
ös�Ò\ã�tPø«æNÜ1Œ­¸~’C�ø_EŸb#^§a>ë…»\ƒì6œ¨ßy5Uœ ÿµ×ˆœTw<­à)5>‡“îkN_*ì0`GÿÄâk…;³çe[üe¨Z�ïuNdO¸7Ð"&Ýµ¶¿ÊAá|ówåÃpL¹âÛòÞ:Ç
-V^†ö!ÙåD¨ÊL:ºI†T–‡-�¯
-üÞË¯^O8Ân§,tý‰ñ
-p×6µmÎæ›r�eÐYóMÊÕòEÆŠ%wH‹§ØÒ®¨Sì±&ée6´Nxð&MòÆ€„0öÀŽs`øR#4×l'á2Á®Æ¨ŒÞn^Mç\Œ34ƒö\¼HóWæÒ†cý¥	´ÌÐ8a8m%ÉÆ­é#°(5¸�ˆ¼&^}¥µ�ó?¤q%«	|^_ÂÜS&5¬c¼8KSÏ"CÇ¯á�#×% áÐ%‚ô{$:wœ"Y@'\,²–UûŸÖ­¢ÅØI+ÀŸW˜fy/Jê¹œÙ3�ÕÅì¨ã›YÌÎ#q’$tkH« �’¹‘°#a³Œ®ÆÁp%XëØÒ­èäq¬_Ë¾ ‘Llq~ézývÁû3^ê¥˜íC>Ãe~)~ÍÎ
-Éà?bî#íâŒ2ÜûÑiØ7
-½¤T~-uñ\»Å®ÞPC3“%yºé�ÓòZ½hþØWr† ð0 ®âU‡láŸg÷“œ8YLGBZ†”»9@ÇésÊ¤–CõÿåÌYxÆmÔ�ºwÚìÝºrUOÎ\íAù¡TDN8¼Iì,��ó×ò‚ü~á,býFˆA�WÜüéÓP³¢¸eW3ÀùÖrÚüR×eZ]<­óÕÝÌ	WÍÕ¦¼—Ý•ÛiDýâÑ`ÖÁ¿í×Ï6p¢­èG·,:Ž–··lìa'["[)ÀŽ:ŽÕZü½ö³ÉžmTué]Rrd´ZÊ!?Q�ìipvJDôS²ãyB$#“åàÑƒáQ¹kóüe7Ö¿-^]µN]žmc‘Q{ËÊÏvWQLÉÉBµïc^Š¼•šàÅØ6Iœ…½ž¿žÎpgM»iéK?Éæ¾ûÐ=�9`Unë¢ŠñÂËg²ÏÉ$žÜ•´K—V™pð•¾jùþåÒ™ªk¾…ÁÕ<|?w˜’íbfú§Ä©½›�Fi‡È«ìi	vúXöË²&êò�e‰#Z3ðMt›ò "hX€¾x�¸�¿ÆÝHur™@j©ˆ{)NGÆÚoAe•ÞÍ4ºªÀÚÀŸde¯ƒÑ‰YZÚ£èe"�„JÌ´�¾üùš7x;çb�ÚuãYM�ðI�žýù®�À:A4M¢
-¶™cÔe¾7îFø	óš
-X½Z1
-™ƒŽJpôaâ;þð-þ6{\çJdDÓŽ
-÷ö¬a MÁ'UL7¥ðÂó¹æ,NnfžÁÈº�ÀUÏ0£ô*B7ƒ¾K�8âì-ô
-ÿ‚�L§ºžGA_Ö�É�Cãm’ÉŠ�Æ×¢âs¿×O	3~6lã½MÀ©s8�äÈûX£�?‹× ×‰X2‚Ÿc
BÏ]û‘UtGþÝ¡ò·ÙU´ò–ÆJ9íÜ™úJ	–‘¯o>ÿ±¿öþþ.ò®)°C¤d¯%¶ñÞ °ç:V²	·¦ÒíüƒÝuMt‰
Ð»•ohÜ®–ä=®ß¢Ü˜þ^HúàÇäZHT5&{Ê¯
-¤‹|¸‰D=¯œà¹�9ÆÀÀ_B˜´ë¾õ.øÆR?vñ´uÂp=o�iHÓ‘ž¡›V¾ŠŸ¬u•¹GUÉÎ‹2ã„70=‘Ï[Çžñ$2óÐÃ¸³�šã½íRÚ>‚Á6Ç¦¢²»V�ù§\ƒ‰lô;ñZ§ÐÜŠ¯V
+K¢vË6I·zƒD·�[æÈÜÌüƒ’áBÞÁ®œGZOëó¶7eñÖ¢&[®�)È\|¢J—d(Œ'¨ªÕ”È�ÒÛrvà!^¤!–qKy×=#Ðû¬•¸èkøsbh'9”rãòsrYñƒ®[äÖÓklÛÈ�ñ­–Ê‚Ø4©jY8I{¿Ê®¼P�áÓ,YMÙâ‘�
PÆœE¬B@ÏÌÜJ=G‰èûLu,ŽëZôæ[ê1?Ë+ 4Ö©® ‡}Ö®ZœÝÀŒ�FOÝáQ‚-¦¦8�1­Tzw –Ußés…ZŠf;½éã9Ñ-rúÊÔI‹7xñˆÝ8.Ôœ¡Y÷~R8Ñ²}"ÍÅá%ÕŒ¸,Gÿ©AÑóW•ìþêÂÞ"VD‘¬D_dÏ5ÿÉà§ªxå×è	CaBõ=H¿÷‰¼‚~Óm?xH¹ ³=EKEWõÿOÐT½ðÒv¹ß>Å}œ-jNá¬H�0ÿÿøô�sQI¥Œ‹÷Fa 7ŠŠ;¼šà‰&1…•{‡Å'¸�"†kzŠÁ…,ŠŠÁhšV~}»H—ür§µ[•¤g¯Ç“R[ãª[‘=Pú¤î�>F*Ÿš�M; šE‹c1‰”ß‰'å�‡¦ÑŠ…óŠÁ ~ºØ�,r7´âšMf·¯G—x[Œ©×”àP¶¤f’]EûŸ�æ;‰™À�w1�”X‹(
-Žóˆ¿ ‰ˆ† ‰®À¬¥Á}˜ºv¢WqÄ´užñfK®Ò›—[0©\˜{Pp£ç•tEÍž”’w;s™D��1’“ÝŒ–(,Žx‰Ã Y‰‡5‰3ÀY«h}º§‰qF´£¤eÓ®bŸÀZÌ¨çœP$£n˜“E�ž•
;`˜Î‘‹1š“lŽ(IŽŠ¸ Žˆ¨‡µˆžÀ°ì|œ¹Î¬”pØ³Á¨.ej®£¾Zs¨‚Ÿ•Oá£›ƒEs�´—s;P˜j“h1¢“�m(b�±‹‹ ¸ˆUˆˆ¿½¶>|+¹‹±^p³~¬ne­·§qZ,¨1¢¾O¬¢²ž(EQ�a™’;C˜•1¨’¿�Ž(u�iŒ9 Úˆˆs�¼ÍZ~v0Æå}ÎjñÀr}±`º
-}ÙUš³Ì~BKg­�~ÌAT§di7…¡6€.šú€´%”¾�B“Ž™�á�dÌfƒØuÝÅöƒ
-j¦¿ˆ‚l_Þ¹&‚U`²í�þK5¬µ‚A0¦�‚.7u e‚g.&š*‚˜%;“ï‚ª×�É‚Î�9Ë‚‰ƒu°Åˆ;jx¾�‡#_³¸T†QU:²&…¸K«ñ…=A¥Ï„ë7iŸ©„ª.,™q„_%[“7ƒø�ƒ¤�)ÊÌ�#uŸÄE�mjg½Ø‹ß_¤·�Š�U-±t‰|K
-«Bˆ‚A¥%‡¨7dŸ†Û.1˜Í†
-%w’”…*EŒr„e€ßÊ” u`Ãˆ’|j1½�{_r¶åŽ±U°½�"JîªŠ‹¬@ÿ¤pŠO7bžSˆý.C˜‡«%¦‘æ†V’‹Å…$€‡ÉW™æu	ÂÜ—QiÝ¼s”Ü_%¶2’œTÇ°�–JÃ©ÐŽ§@é£¹ŒÏ7c� ‹._—m‰6%ã‘4‡pñ‹…Ú€2ÈÍŸ tºÂNœ	i”»à™^âµ—–^T’¯g“ßJŸ©/‘w@Ö£�$7d�ŒÜ.x–ÕŠ›&�œˆiAŠ†wíÈP¤GtsÁË ³iM»V�D^ µšT]®Ò—J}¨˜”9@È¢†‘k7kœvŽ¨.”–J‹ñ&G�‰N…Š†þºÇÖ©Mt2ÁM¥SiºÑ¡q^Y´u�¼T&®?šMJ]¨–ù@À¡ø“°7z›î�p.¶•Ë�>&t�¢Š#¿‰—‡qoÇk®)sîÀà©ÁhÅº_¥i^³ú¡2S÷­Â�KJA§ˆ™„@¹¡~•Â7ˆ›{’	.Õ•_Žc&š�AŠÙí‰@‡ÐÇ²Ës¬Àˆ­äh’º©
]ê³—¤USÑ­\ŸùJ+§#›Ã@´¡—Ž7“›“f.í•	�Y&¹Žó‹o ˆûˆôÝ|®zoà»|ézâÌ‘}3{i¸\}”|¤)}Ö|ž�ú~
}/{·~K}±gn~Œ~*S,~É~¡>ò~ù*Þ(€ò~{,„žÞx{ˆ„Êo{ñƒt¶a|k‚ý¢`|Ç‚·Žg}‚„zX}l‚JfB}Å‚R:~�Æ>L~d�p*š~«�ð5yøŽOÜAzrŒ¾ÈYzê‹C´‚{b‰ï µ{ÍˆÚŒï|4‡Ýy| †âe/}…äQa}x„Þ=¸}ÜƒÊ*\~;‚’î;y—ÝÚTy�•gÆ}z	“²Âzs�õŸzé�‹‰{f�=wß{æ‹xd4|g‰´PŸ|æ‡å=4}a†*&}×ƒùìlxE¡›Ø‹xÎžAÄÃyJ›±"y´˜!�¥z5•jŠ>z¿’ÀvÆ{M�*cQ{Ü�˜Oø|iŠù<Î|ñˆ\*}r…hêàw–«TÖöx(§Ã3x¯£¯ªy(ŸNœRy±›Æ‰z@˜HuËzÕ”ßb‹{n‘yOl|Ž<†|�Š *(}†ÐéVw´ûÕ…wŸ¯õÁØx'«®ex¬¦|›,y<¢ˆyÐ�Átózm™}aß{
•<Nó{¨�ï<H|;Œ¾*8|¼ˆçàvÊ¾šÔ$w@¸ÐÀŒw¿³)­-xJ­ºšxÞ¨‚‡yr£Lt'zž*aFz±™N�{N“Ø<{ëŽÇ*E|t‰7æ†v·È/ÒÐwÁ±¿Cwy»M«õxµ˜öx—¯†$y'©sby½¢ü`ºzVœîN9zò–Í;é{ž�Â*P|7Š6å^vˆÑ¾Ñ¬vÜÊ�¾'wEÃqªèwÏ¼u˜x^µ™…Oxê®«rºyw§µ`Ez ®Môz¡™”;Æ{]’Œ*Y|‹ämvAÛGÐÀv§Ód½AwË†ªw£Ã»—<x/»ü„¢x·´!r2y>¬+_çyÈ¤!M½z_œ;ª{'”*`{Þ‹ÃçœƒtxðÔØ‚åy‹Áü‚vz+®ö‚9zÒ›á�ñ{ƒˆË�¦|?u��r|ðbA�I}šO�~?;Þ€é~Å)€³låw�û‚ ÒÌ�“‚<À
-�D�å­#��¥š;€í�Š‡Z€¼�€tL€ �sa1€��dN/€x�N;S€Y� (è€5€÷ãe€Ú‹éÐÈ€†Š¤¾!€F‰v«h€$ˆl˜°€ÁX“P+Š­µõêÇÕc¨à‚u}*ÛC+SÀÁ�­ˆ ,A@ÙäßûOB!@Ø#È&2*!Èž*RëªXQk‹Nî=Š%– ¿ÈŽ&Ð,1j= 6>ÝÇ�ØÍ@3X”¹º‚ž�-„¾ä¬›üRK>v'A™¢Ï5#���“gí@x+´›7w~dËžô�ÜèÉCZÈŸ²³‹„B‰|s%Š
þ1
9Å�ûA«ä©�SàUYYµ=X•«“3	dgc L¼3a	¬Íº‚‚ýü¬CÛÀ»ìn»ÀÔ”yø–ØrÏ
-l¬ªíÓËf;~–¨7Þ“ ~~5åf$|Zf‡žD®u`²ÀÄöÈ2ŸÍÛ@–$ï\]§G\@]•‡z˜ªš«ÈTeêì º¸
9	4È[ã÷“y#'L�ÅìY{Ð@ø·m!¸‹¯c>î¤zn»Ÿ:>
=.¶ö´+�„Eù)àpm…Äp¯¸'^Êåç2�ó…Ç%€"q¿ôJšlã€?¯Ío÷é™[:ÀxŸé`�ðëÁ¶`‹:¥ÌXÙÔ%>Ä]RC°¼ˆÓKî_
8ËmÝI :²u$ÂióG@3zs(Pöý·ZOr_öx•ÚsÇ.MŠ"¸ÚæÓ`/WS÷$nw¦",8—»X4ì¾0”m²5<Å„ùÅÊo~¤Ýhî¿¬›ˆn¡¹}ƒúÊDnaÏ °ž+¾‚›¸l“QlW^SlËí,ýÞ]—{· Ùv`(ù`þøÏõ–€ÅRé¡·ŒUš«Ú–6H[ª°§<Òk³ÉäŒ4Ä—(ÌŠÿÄÝ}|wtÝG°B`ÚFƒ¾Ž;êùß,dLáßÿC¯„«Ú¨¯áÌ2!éûŠ5‡À:¸æž[…›ÀùÁ01Üî¾]‚Çl<ÑHx”c‡ôÁ¿Ï4S/˜Éþ_ÈgôhK¹†º¦|O‘OE¾¸ŠÜ`_aì"–ˆ/¡¸Ÿ[�µZÏ#�±eœmˆ'ê4ý”Ú!¡û¤µHÓ¼žê”dàJAPÖ'ìï	��²ÌÙèoŒe�'zšúóà42ORÖ9H±�c?Å¤×·�´<ª÷!—Ýh$ðÞ\¯â•øÊìG‚z,\¬æ&¡ÃÂü³º¨§€
#s<îÁ£H
-sÊú(¢CíãügàO¯J‰Åò­šc„AÉï
«pW…LQ†Q	üxôqžyõ–VÅ˜ ÷Ä·þDÒ„k\o#ßòwYÀyÌ1Ž3¬Kî�ú‰(SÍ_~ƒ««gë»±Ûå³…	˜~É[^0š©pÉˆGžä+£ƒ‘ŒÜµ‡}	×5nÈºcõlÇsâœ€J©¨‰1"º­é×*<¦ñ•
-ÄÕ^ù´»JÄú£Ë6¤ó~QC”ÙXàé¯�59Ï\
a1d¥…æFœDè0�4Îû.§w‡áÛ;ôëœ0›uÁ.ôÂE_&¹ZcœÖˆØ•=�œ‡GŠÚüíà˜üd—+°ŽÔÔ*’eÍrPh%sr,„øaÐµëö®×©ÖýÜe‘o�Z·­§aDÒ Ÿº¿®Yé#¥Ÿüa“Âi—¨3Wa•ù‰Ò8"p„5õÃNuÅ††£jÐ1­B–Šêv©©)$¤õaj Ü}qYÄìZ¹äwš+~â²‚dVA�‰øGÊÙÑq�øfJN÷áÃÔXÕ�¬ÿ¦ÙËCøMé+X„ç–þ ]Í<Ì˜ˆª§‹3ëüÅTwÉ!­€0ËFb5hg*Æ&!‡Ñv…vmÉê‡NÔÒ‚mP`þ oòaôØd(5-�ù	jˆ,¡žC³~ä¼Îù=Q;[žÀ8ÉT�¹ÁÝÃ/…§©G€`ˆÒ¯~Ç?HzË|Ù·D.5Ä´º©tÎD¨¨Ãøw¾oÈ]˜Ø9ŽÐÃþm©‡-¡y¦Uè5tÃ�W–Hä­~'X–5TÅç±Ç¼ì^Þ0YÀ¬`éOêtf‚¼Do÷u!jÈ%§—¸Œ˜°¸Ž	p¥i#�…\ü-ëk�çŸÉ…*
ÙWR‡œf¦Lò/"–N&»Q®Y6§_‘–|ÿc
-b;›äâ›i¾…3 U¦È^ßo#HVêµ¾á½)2,obqùVi4³]vw¡>æ”'¹‘×³WŸ6!úEI>_p�àŽÓz¬•·Ïâ<ZE«L#ÉÄBß
�qMhK9/¿¢½,•Ý\ª—íA÷!˜+%•oºKžË�%Â¥É>)x¨x³cvL0bquf	³åÈ7”ž–æ?jjh>Ãó®?^êÆ\­Y#±¢Ê¯ G)û’êóRòÇBQXñ­ð~�¯–F8F¡_DîæÈ<ßÙÌ®§ì=Ê×v~Õ´ƒgÔ¦¯4bD�ñFzGÝväù¶Ò?±“VBa_ãÝ…Jïh¬3ï’ãZô¢dÈâ+¤XðÜlJ¿ÓìäËµa�†ì?ÝwJÖ3AjÑVj±Ig�Ýuï>Leà©X<½¤Òë–R0ë Ecrô÷ÜCB„qfû`c¦½Ç’Ÿ02Õ`Éj¯ä;1;/FPcêqh˜4Å$„¾µ‹¡Ïp‡ò/)¶_¡uÀÑÝy¦{´ÈQ«™4ÏúhÒóÝ“ÿj|ŸÛ—2¦<.�LU‰³$ži42"òLÿ?ÃõáÖä�`œ§RÔº®Rç£‡@*‚êC”!`(`@, 2DvßÞ_’/{ @¢€2]½Zç�E¥žž«WA«ÕRÔSÄó�xŸ÷ù*òdR*ö‰WSå•q‰!ÄÑª`�$�èré"ï?àl™°ß¡’†Û¨¹,ý®æ<‡Jsó•ÕÒj¹”å¤}….´S6mO$y[&�Ä,™>ü+¬@¬ò�¼YÐmyoŸ‡n-’ÜrIý|Ôš®:Oe®)ú¡C²dæ>49‚þlÉÈ'CÀ„„{¸
— çK`²Hàñ¡íÀßzZ´iLZs‘z.ífñT¾";i§b‘-2�¸(!µ¦·-htBö		_€ÆÀÁ�‹a'´‘	ƒÑÝašmÆÑ/¹rušiP¹[•FU±Y’�tc?¸‚üõ&í%Á'#„'19N†u#7ÐÛoàd%o˜�]#šk�ó7ÛÄaÅký3RÈLh…UkèÜobÈJ2m%ÞÇú	}±ÙÔÅ01²‡È‚º°<øî:Eªß4Îq”ªêÎ2æšCÄÆl^^)¢®æîÈiZ·ÝJ|—jlk;ÚÎ>›OP×ú¡|ˆ×"—OÆª/´¼kŠQI�õÑ
-Qã<Š‰«›_‘CUX…y§‰F|×sÜM{vë*4UõWè�pë`ÇH	ï
-08±Jm?q¿ÑWßž¤óS|õ‰lÁÌL‡wy	µ¦Þ™û„È«áï
-ÇNíñ�èLí—¡…ð¥, 
-l §ó~­îÃ¸ãþj°ïbÃ7*¯®&í·ìãÎ"4ž¾ÛÊ+«£\¯r„ý©T'VnÝ†\5¸†.…çqŽ€Ý`&s�÷¶º�êSïù¡Ã.RŽkòØîîICwvŽ—¾&[ÝrŒø{‡kªÛ\û(î1b0µ‡Œ@5l@¸œµ|=¥:¿s|¦íÕáÖ…ESÒ®ýÓ(/µcº[e²ò4Mty^îÕ@…8uX!¬Lˆÿ‚þ½*<$�TJÂƒxª4Ñk?ê.3wèjnItvžÙ&Ôè
MÒ©ÈcÝ© ,RÍHËr®«Ü¥ÿJ]Â•ùÄÑñ2`Ã8ñZöDÐŽ�“§zi‘ùX{�õßðêº!ÓèªZ¬¿í„ÿ¡M)�æîƒÀ÷£Ê"pýÎýìWÀXìÕtl°y@™@‰±^½ð3àÛcW¬¨3µZ“+ÙËmÒûNè‚ÆŠW—ˆ¹ ŒøÞO1„6ì¸È HOl>ÿsC
-þz!(A ¯»p!¸­UjÁÕI¶ÆRU›êï:ƒâ=Ø­™É.?\¢jþDÐtE"5c‡ó9!ÛòÙ‡=ß0
/F3h8üÊ{24U¶l·xšÎÖøÝ
€âº•º@›Ú¦>_LªÖ©ðl-û@‘¶]Nkþ	G¾Yûˆÿ$"çÐNï (64{˜/×¯´ºúl"ö½ö®eGõeu˜1êÐYå/ºì½Ã¬D­Ü6J*»¶Ì%F˜»ëÌ@M„#Éx‚·|„hŽŒ›UGZ-Ÿ*š|>¥¬'å�¹—5ƒE£JØ»w
»Ty[uG³)¦™P*»×Gb!Ì�#½a°-v~0wø˜Þ¢[gÒcZ‘óŽì9w¬(š§©eU2Cï”K®L„ªëÖM ¿+2sáZ*Â»äa«œsÌ‰§Í¦é†EÇŸÓ3´‹ÛËæpåG—¦(]Ã3o2ÚÚ´”j³yoôMü�.}]?Ú¨\à�4êÝÜÃn;bÌ~g?3FëG{Ú(‘fôäi6·µ�-èQy“)d2¶'ß¢fÔX¢!üœáÖ:= ö\þödLÞ×�z|WÓcGÍác¨½¿ÄIµóJYé)ËÅ²Ü‚�FCùŽÌ"]AErr»z{¥0jô“Ö2[%bÿy$(Å=]1‡l¸±½	—øÔ_’d‘Å¶
³ä´yBòs�‡á®ÔWÜ©í—*“çpÇ¤ï¢ä
-‡,g­Ý,{â?…¸//ñ\ƒ~¨æ7�&(O7Q÷
-r#
-jƒ¶ªkæ�àê|¡Á»h?|sî€.j®b6Püœ^$ñßñ@´gºH±‡4<%«µê"/¶þ„«+ÿ0i0î ¡ÇÑÞ=Éy�ôA… ~‘'Y
-Ÿ¢ô��ÿ¿NxRÈ#poý¢†=ªFÍµÚžOÇ-±†²tå&7úå�3º”<Ã¡'—$RMÂ»"“Øé˜0XNÍG^ñŸâ‘ð1ÏD®ûÆ>jhQß¨MÔ}–å–&¯ÂÇ¨åûßêpåÒô�j„õO|¦dh¿Í2:Ò'xiÅýùÃØTäùî…+kÛm¶ãÜcÛ{ËÒd©4­.Wé·í�Õ}­iK? ^Â-H,Q.S”o¶2ôPð"rÎ‚ÅcW¼øðz$ÓæaÏjêU�ÚNØsà‹ÿZ×2�á¡ÍÓi¯ÃÓ¹óº©¢qÅeîÇÍ‘ôÏ
- h„¸IGó Oˆ^)ÐuÔ¿f½}Cë€ÊÅ&=ò4�4>-=m0Õ
åj«­£iË¹|Ó\Q©¢Xç»é¿t·:è!acù7Pš¬öª€ŠÑ{ÖT»û‰Nå[\{$8nîhî/ymÈpÌÉ]¦
«§v›¸e5®"…¯1ûÿÔ‡[SðN[‘Z=E“ 1U�(
-A%ÈR† ÈV* È†^’—÷^öÞ{B˜2�àª£ýð«Ÿ µpZ«ž'ÖQë©w¿?â·›ËÁK<Q­^°nãEf<Û¾VFßUkÓ“Q!¿H�9ÑÒÔôž’ú\Exg@…FºØö{þzáœÑ¹ßÀ{®ÉÛ�Ä~+÷ŠÊ€ßÇ63rÌk]´9è±z«ûXÝk^¦sYýÐh{ØÕiMOKˆOõ¾MYG*ÔÛš¦�È«[òV‰Ý­'"G^$ŽÍ“/¡=ÈJj˜j{×ÁÖ?¸ÕÉ¯Ífó&ÅÕÎš–“@b¼Ž@zš÷‹ª…\˜¾O6L¾Uü%¥ RÈÏ¦¼Ä	Ø¿S¥èpI[‘2ÎUG›â0;´bê-kð¾6Øx0—ëµ" 1ï€r(H›‘­ñQ)°#²’7lÇIÙ �‘�W€-±ë`�òÑÂƒdgªíÌá²Ïš9æ—‡¯(#Áœ´3R�áˆ�N1¼"Sxáô2œ’uŽöSáiµòÄÎ(ÁNV·ÝŸ7HÙ`ñân¯q¾e_-;¤ÉcQoWØ‘½i$aï]Ï…˜ã‘¸ gb…2ê1
-¦œ^-c8=²È£v�ä&¹ÐÌ�Ÿ~¥×
-úŽõªïóîr+¾ãú¥*$vÌ.³àg„¹€‹…ô¸.ÄÎc~?0Š¥çqm+Ôž š&¹Í›a§ÓõÛ¤´cëÕõâoEËÏ	Rc$þ¼ô]¥‚rö£ˆÇœA„�FB ¬À`!¹íÄZüà\Û[Ã�Ö¦)­ê”AwOõÿžÕ+ä¹ÃòÃ’Â”i±KX´%ðæD\àd°�ã<ð¬L½Á9‰Ÿã¥C
-‘mý¶_[—™¸æUÕ3:Ž>¹ô7Õ„º;w£ì“b]
-Qœ.¡ÇýÄ7f#äì×ÜDÜ(œ‡üxŠab²ÅaOÏ"¦ÝFî¼Þ’n:`§VãuÉ–�ÒTU“þUN§¬K}!åo¢OrJÄÏo�¨a›xó¸AØ‡u/PÈÈ†–ŠÒ¢Á2ð™-½—Ûì6¡]®*«î[û¥’ŸU;Í/reUú€ä^Ñ˜
-·Ÿï/Ý‘É.Táú¡klO “±"ñïÆÖé7{77T4^uío?yÕîi|WôÉ’Ú4›}Z?ÓüKÒ5ukËÌ÷qrtë³-‹D×È±ßðt”ïPÖ)j}6œN_ß³ƒTÚ¸¹ó4Iq2¦ýéVQ›™FÞ’½H@¶&5©Æ(AßûÈJ)]ø?E¾Ô,–{Ÿzuq¶	yÙÉ´Q±»˜–×Àti_œènÇE>¦J–EWT$mT-
-bïH‡€|üap»ƒÔ —#_R®¨B¾ºÜfxSý¬ã)”yk«a’
-e¦•àõ¬x­Ä(«ìØ)†þS0I'b“9FÚÐû`"
àü«ï¿¤í³{1Ï«>Ê‘ÆÑ[o±cW[YÞ™w´ëái‚P19b›$,&€ŸÄ€G±¥œ¯ùht™~œ³§¯Iªn+èŠûêd7…—*þ²¦ñ'†W<ßÌ“'Ÿ¯HfÙb	âÏðk|ß	%c©ì*p}
-dØò>_õõRWˆ2©nqÇQÙ�u–»’„‚5†fá›Ì%šÕü‘Ä�ò›Ü–Ø5b�ƒ·óÃ¬‚õ”9�YÅ”€g=é0^ ºnè&kk;¼Õ7ˆO,5Š¾|“ÁWz/Ã©î/Oì•—1/ÄË¹Íx%ÏÃÁ:Yõ0
-³Ÿ‰{X±½§ÚG(U.²åà™‹v§aš˜bY¦�ÍGéÊéŒ�ê=2 ±Dö^Œ‰9'rñGñL^§;ÄZ‚„cÈà3z7¹Èã®èŽ+g°ö£Öñò	óE£ñH»þ Öu`V5§¼˜ ÓI¯ÇDÙÂI|÷3÷1vba0f�È�ì™ës’q�ŸÜ>5vûGYy†™f?BÐû·¨,šÑ½÷e9ŠÍ1•¢ˆ�x"w�†½ŠÔ²ž`&À`h5ãÏó±
‚fý0Ø¸»º°AãÛ£á]SMÖCÉš�4·¥³¥a·ŸÞØZ­QÉIäPDÊ"³ƒ®	„ÉÛB`œöàIcÍ›†D¤ÇUïûÖ’—–Þvý—¼#÷ƒý²(­Ò<KñN˜ÑÝ¦Ð£Û”7¨KCÉÕôœ©-dÍkªmœ>sníQ“q°“Æ¨¢ôhÁ¥­®MÀõÜ^{ M7¯ „nÝJŒ&*ý^(,Y(ƒ}ù¾€µ’…úè…cÅðtSàÙ[ðWU>=
Ð–Rl'‘™Ÿ[ÝN]©™Š@ÿX{ŒÑ�¡¨ Ï‡ÂâRzm0ŽWI›Ge!T�öht�7Ùh=Â¥TŠ»/sp%ç k2÷Ÿ¶ADŸÚotÃm	‡4ÃPyôù3#”+:î
ÞÏ½ÌØ‡ÒÀ·ée´¦ÑH‰¦që€NôC%ª{›àYI’Å÷Éé±p�¤–ýØž„ M+(z�|=Ì•ŠP�W0‰‹aÔKÇÀïFT±
ÖÉÿ}rÈ=,EŠs(Å˜œÃV¡àEê:È»?¯p†¢—ÈT,C¨V(†¥ÁfŽ€iEGArÆC j$Q¾a_ŸæÝÉ}î$Õšâ&Zšó…u™„œ2kX(¼]íÏ��ú ûü÷�¦/¤’‹&Å�ˆ¬tˆ†}�æºí¦*vÅµS¢ýkÌ¯ÞŸµaª«œIV¡¥ž™L– �•öBœ››’Ï8ç–¨�©/ª‘£Œ•&áŒ¥‰ §‡³‡�\º“«§vH´ú§ïk[¯ƒ¤`¢ªH 6VM¥9œLV *˜ÚBs›6•+8Ö–D‘~/¯‘B�è&÷ŒIŠtÐ‡^‡m€Üº<±'uÝ´­¬¯k¯:¨=`Q©ø£ÕV	¤çŸ›L#Ÿ×›rBRšä—?8Ç•ó“/²�ô�'	Œ‹"ñ‡‡Å{Èry&p6Â‚yke ¼•yÐ[Q¶±zeQ_°Û{5GÇªý|#>@¥'}4÷ŸJ~,™d#”“„€��Ë€õzÔÇq~úpÁ‰~¹ey»¢~›[0µÂ~±QC¯óG¯ªl>1¤Gï4÷ži€~,-˜‚�#È’¦�uäŒñ�ïz‹Æo„®o»À‘ƒòe3º³ƒZ[´Þ‚÷Q.¯‚ÇGŸ©B‚±>)£s‚·4ù�œ‚É,?—¸‚Õ#õ‘á‚Ì-Œ1‚Ñz7ÅyŠGoo¿–‰#dù¹½ˆZõ³ý‡FQ"®;†™G™¨i†>&¢¦…|4ýœÞ…,P—„†$‘3„m‹‰ƒœyíÄ±�Ðo(¾ÇŽ9d¸¸ìŒ¼Z¿³0‹iPø­pŠAG}§�‰->¡âˆ%5œ"‡&,i–P†+$R�…8½Š×„cyÆÄ
•nñ¾"“
-ds¸A‘Zp²|�EP¶¬¸�¨GP¦åŒ!>¡+Š¢5›n‰+,Š•œ‡»$��Ë†WŠ$…ymÃƒš=n¬½”—²d8·®•AZ-±à’÷P}¬�åG*¦EŽé=ò �Œô5šÒ‹,¥•‰"$Ä�1‡Uf‰‹…ÀyÃŸAnd½œEcø·"™_Yë±L–œPG«„”G¥±‘¤=äŸú�65šCŒÐ,Â”vŠy$óŽªˆ=§‰
-†KxÉÂˆ¤ n¼� Êc±¶™�}Y§°»šBPªó—DFå¥$”]=ÙŸp‘u5™¼Ž”,á“õ‹Å%Ž2‰Þˆž†Âx|Â¨úmÕ¼¥*cr¶#¡dYl°>�²Oäªwš=FÉ¤«–á=Ñžú“�5)™I�),ý“ˆŒê%B�Ï‰ÌˆF‡$x2Á«­»m™»¹©Jc?µÄ¤öY<¯Ù ÏO¿ªœçF²¤J™=Êž›•H52˜ì‘‚-“1�Þ%_�€Šc.ˆ‡sêyzuÖáyÿv
-Ã²z|w°kzîwÙ�#{bxØ‰ß{Øyìvx|[zæc|ä{ÑOž}i|¶<C}á}x)7~^~Zçãw¦+Ôáx[&ÁËy®–y ›zz6>ˆnzÌ}u6{j¨añ|ÉNÂ|ªä;´}<ï)}Ðþå´v(‰Ò¿wˆ¿ÉwÍ‡¬Ñxw†8™êy'…�‡yÚ„ùt	z�„Y`ô{Gƒ±Mý{üƒ;4|¦‚S(ã}Q�‹ã°tå’ˆÐÏuØ�¢½õvµŽÓ«"wp�(˜hx8‹³…ÀyŠNrëyÐˆê`z—‡‚MM{]†:Â|„¡(Á|à‚þáÀtœ	Îýtö™S¼BuØ–´©�vž”9–ýwv‘ö„ƒxT�Áqày-�“_6z‹aL²zÖ‰':i{¦†ñ(¼|r„tàsd¥yÍdtT¡ùº¸u6žŽ¨v›F•±vá˜8ƒawÆ•4píx©’7^wyŠ�7L-zgŒ-:'{?‰2(Ñ|…áÞ�rÎ®ùËúsÁªª¹ct¨¦n¦ßuy¢Q”’v^žp‚fwIš–px6–Ã]Óy ’íK»z�9îzå‹M(â{´‡)Ý4rd¸tÊ�sU³\¸t:®S¥¦u©g“wuò¤´�pvà oRwÏ›Y]<x½–§KXy¨‘ì9½z’�Q(ñ{jˆNÛÜr/ÁÛÉEs¼
¶Åsð¶I¤gtº°˜’Vu�«€tv‰¥—n‰ws \¯x]švKyI”Ñ9“zB�D(þ{+‰OÚ©rË=ÈrâÄ¼µŸs¶¾=£Qty·Æ‘ZuY±v˜v@«mÝw%¤¦\8x
-žJ¿xö—†9qyÿ‘)z÷Š+Ù¥qÔÔœÇrµÍ`´±sˆÆ¢ptD¾Ø�Žu!·ª~çv°gmQvå¨ü[ØwÆ¡wJ‡x³™ï9UyÈ’Š)zÎŠáÝsÔs×Ë¢žu¹©xv§qkw•5ex%ƒcyLp�yz^^
›{eK¢º|g9RÎ}H'…ç~OÛ5~7}mÉ�~0}™·­~/}Å¥§~8}ó“Ÿ~M~A� ~g~žoa~–~ï]~Ï9Jà~8Ü0­'q[éÙI|Æ†ÛÇ’|á†µÑ}…i£ÿ}#„É’(}Q„N€Z}„ƒânK}Éƒr\+~‚þJ2~a‚…8s~¡�ý'_~Þ�j×‰{Å�ðÅá{ðŽb´4|Œá¢{|7‹x�Ê|tŠ:*|¼‰mI}‡Þ[Z}q†¯I—}Ì…w8~ „6'O~o‚ÑÕšzá™Ä%{–º²Ÿ{S”o ÿ{w’?�t{¾�=}ÿ|ŽHlO|xŒZZ•|âŠiI}Hˆn7Ë}¨†o'V}þ„:Ôz ¢Â–zrž÷±zµ›íŸ•zá˜ûŽ.{1–8|ä{�“ke{ú�ÍYá|lŽH“Á	 ”ùð÷(•ì‘¶×µ�­¶VrEoå*ÕPXR$]ÈQrÌ÷ÍÌ÷}ÿïþæã¾ÂÐÈw”	BõÒÚ6=¥c»S¯s?Ñmiˆ«Z¼žÍ³I«¨üë2¨\ÿc—ôTç^;¯ÒÆï�#O4Ê€›
-m…Ï„sµqùBio—�h¦Z»y¥H Xè%º+)´!ÅôÍa{È¿iEç„×Ò5JèlÕÛ"{èåIXfû—Ù
-�áÚ¢ÑØ1¡uÖ,,Ïrô-U]wuq2Ö&[t�yqídÜ¾ £²o¹nàCQ
™…&P¾a¿äôº’/�C´ö±ð•â9a«…>¹#~a‡&Ãu®h�bŸÍIQ;5Ø)¸tñŸíé‚'çV»A‹ZWÌ€‚›|%æ�¾æ0´žS™#†¡²øÐVøuáv?abö²µ�…oUsmD¹Ö�zAæà“6 h¼Ì×‡
-Æ»ªó�¡%çL¸P(©)HPõÐÃáu'¹Ð¸þìû^h—³vPØ¡†lÚDn’˜¡tYrÏyWª+Å´6˜ü˜º®x™æ'›&†Ò“„wˆ-‚SqÉø4ö—Â¯üT¸“hÞÚ00"þ�7
-RïÁ.Š'|ÐaO&ŠÖ’‰>‘¬0‘ð�HSñ±¬À#Äm±aø7ˆC˜èGÊ|ýÎå3ø=ÌÃ¡7fãäx[:áIîÒ_Æ›ˆ[ùS¸±K²Ü'fAÑ€Ã/Å„ƒm8ê,poßì	øäR�Õ-ï.¶\
À¯ÉéÖ[ø&™g•¸(ùšÇ‚ƒ\/{,`Ï	vbýL÷áT¬„ø�Å5â3ŒE’7\`NÄEÞú×^�'Ù[Ï®©™¿VvÓŒµ¹Ë±:•'SŠQˆÓÝ1;Yß!%f&]r}ÏÅø„¢0z[ô5Å{ƒrÄ×KÏÀæâG-EØ½Â%ºõ’–Ý…ñ²õô!t2Ó!mjPw¬E5Êð;””=õ~Œ&HRœß£[™Öæ¨9t1»­ƒ›]°8ítÅslF‰0K�ê‹¾§‚Ñ¤¼[©P÷lÝ�¿P[
\€Z¨¼¥è\ù¿œ¯!�¸‡Ö«MôšbtÝœ¦G˜™þ÷ò³h±®.3	Ý¤eÉ tÖ	eÊ^äVAáW¤7G<éÐÔ{;!5ÊçJD-mµÞˆüÆdt÷a~g4�Mhwã
­ÝVk¢Ù�<­²%ÂCÅÑã—œÙÏ ‡¦ƒ”HtŽ•×HH†Ÿ3@6Ê!ë ä»p›×eÛP�2ç®–å¢¦Í!‰Hy]'N!Ñz¯äAdUE{ôdaÉOA–ˆy~‚W2+³Þy¯ø“ÒÔzŸx˜ÛÒ5„Þ¿ÒS?Š†t7– #í¤º‰m±ÿE¬êî%»‰W‘ÑiâÑrã�=âá¢#^áâ+Ù#Î>â^U´u‚¸”{Þ“&o>ö¾©Yæ~< |Hr7%#SÏRI5›•ö(EÎ°‚_¸ÒhwP¥‡I/–ì6:%ÿ�[­Å?!ë.À²`øDÃé\ábíBnHÈj³ácâæ”(áx8]+6ÚïJ
ˆeAFä4b¾é+i‰8­&¶¡VÁxÚq¾S:Ÿ°¬·çîã}¥Û�§ªë™Ü<£¯�—É¾Ô�ÞI-§w’;@Æ&’à@¢ã[¼øY%�çÀ¶s‰d�4¥ÖÀ¾’(±aþäBTiôCÖ¥ç0IÇvRNtÅ>š<N�î¨'Ú¨lZD‘+»q"ØŠžÖNq|Í@ÍÏ¬k†Qñ9fµj½ÒŽþ�Aë©C²×GCÈ© ª™˜äÞí0'\Ù¤�u8IO:æ€a*ÊJLˆÞ6S¶­àKuSŸ‡Ò59³äTKf"%'3ö'…’–*—½SD‚Â8Â/H¯näãó8…ã1°›ÙcÕ‹±Ô·­å¬¹µ>’ÙXò¾pí^4$ë¦¼óÄr25çB¢ˆhÈÛëBÌT¿
-xƒG(�=?‚jÙ<Ç@ì-çh5�-¥�Î†1ÓÕüªåôƒJ8ÿ)5^®“6�÷JnŠòÈyEö	UD`ž<R‚—g=H_3Ü<u PÁ8Úaù’¿¬>¢�ŒÛ¦³)½rš.­û6¯Ÿ’ë%'I™ÎBXE´–uÇ�áo‹FÜÅýóÞñ_‚“Y°çìÿªŽ³±Í2
ï;ô»´ù+C¶itSttKnîµµ�á:IÃnøq´Ò;Þ¯Ô®ˆØ
->Mò1ž«ö4Áê4b3f¼ŸPö÷Ó/Ÿžb�½²Ó$×ŒZp–ÏÍ ç6ÆÁN„“Ay$�Õ•íí¥2>üXåÑ‡¥dmpèGû•|Þjä3'l¹’5ëXô)ÛŒ7É=ùaª/)ó¥îJ‡To‘£œK£¼¥OÓ¯GI¢!S~5{öðà˜X!ºFM‰ú—Ÿ"UÈöæ™š!(_‡©'à•¹ƒ*¸Ž»¡ðþ¿�„ÝñöRKQb„%W!6ã±ÎâJ�Ó½È¶5ñTònùâÚÛ�Q
-
-*¦T—ArN¸r&ðfåòýà{èºô.˜qÄM
L÷„°ïÀìíqL&0ÞÐN;ã5þä80]aB¤�e
cêJNZ®PþÉ6f[(V2·™T™†þ “ZÐ[â¢¸Fªj·–
#¿l›dŒÉíb¨¿	‚°¦ÀRÅ…Z«ÂÕM‚zjŒq0* UQ†,‘%bÙ	3!�—¼½“—=HB2Å‰ŠÒ
-n-uàg�zT«ç�n­R­ØÿïkVAÊÏ^BÐE¹÷p‘ê¡º¤a5+`_iiS„D’O©G•ƒ@Òùr|1š2‚þ„½ŒLEjPmÐ,Xˆ¬™	>‚^{%( ã�‡j—) ~�é4L×@ôí}x!YÌ«¸DLPuç°&æ|Ê:4�º1ˆL!ÎoüêÆÎ‰Þ‚yÈm/¹â4t°‡}ãxåÐ2a¶Å\å°D@¤‹±¼ünÐ]Ë½‰hV$sÈ3UmÄØIßØX	E“^¢aå'LåeW ð‹Nˆmmi³Òo›¾QGP¡õ}à×„ÓR6†ûšGrg¢¿ŒIoFþUÝÙ¸
-|M—‰ú•vb­×Åä¿ [|(ß–Lwud©|ÉÑ–xå\"ºqmÙìwÇêœ(Ta]‘‡øg„@Ï5�‡À:ö¬¨^Ažöº
ÜD{ÛÅlÀÉÔ%ÑåG•lyâà/Š@bjÛÌÒDÌØ”šÝ€ú:l‰áKïö1¨I%P&¨‡E r"=Ïë1@câ¶ÖíÇÖJ:¤GÉÀ$x|@à·ºzÅ'±´¶Ùó�ÑÆ›‰;áNûÒíÍP¾);0œ§9%*P0[¼F�]øäö^k~‰‡m®É(®WmÑ�–MQò´õåe³¹Â
- g¥*¸òVâsf…dööj¾4!ÀNÌ©nþŒ­–Oâ­G‚jmAÉ8ë!#)9Ê¼Ö»J€'šSÒañ˜ZS
eod+e�‰kèÙ“í‹È<¹! /¨‰ö¢x­olÆ·œ4/hK¨t«n`¯à~jÅ“TW,+�98wÁÔÀñm
ÄEàRÀ$ìð@Ø‰¼S¸ñœðdEø�tS(æjž¢ïBk(ZŒÜ¯äæ ž%+U3`*³•ù
-žœð”ò„ª¶ùÞàü/cá`ŠÐŽ”)ð®C¸²¼é½‘eeÆ~ýx&™ÌÕØè…òu	Ù»+&ÈŒ‡´ÏIØAj1ï°søAä/½9øtœ?í�×Œãõ—
¬s#6k–i|dçT¨7§0ïØüŒ…ôtÓÎ.r>9ƒûàŸüCÐHL(„áB¤‚¿,†Î6Xu¶…z™n‘¥ázMAÕÃ*\_¿OÅàZÑw%”A}aç2â0»õ9öõ‹ÿTäw"G(…>b³ø©Ê·pŸ0D7ëJ´×œ…X8—e�•~T­´Î.ºÂ¬0~Ú{™òÕ=‹¯#b¹ë[1¬ˆmÛ0€#Ì‡Œ¸†_£¤g=dpïèÒî×b­ËÑÜÜ¦év¨¾¹ð/úvÝÓ½sÉaóúøéø¨>cë|Ì�ƒ6 Èr¦Km"ÆøV¥7šãpè}¥¡µ1]¿"¥ê·›%¬îÀ’Âpšrö¥¤Ú–Çâí¦ŸC{Ð+ºuÂàßT
Â@ð=õ-ÿ˜â)æfÿ—¾û´ˆ»¡åwÂýê¶ÃPU»§ãû‚:ö@bº+ïô�[‰Y_‡¢”Á´Á®ç’„ðÍ¿¬8‚qöÿ5¼-ñÔ,rXÅd]]aé3É4sU9¿ÐÅÐT±/�¯½[y9ö
ç)ñØÒÇKsýîP×ª¯
-VñòàÅwÐÛ5/mœUõ»Z/°VHžTM51R°`¡þJµÿž½Úi2—ØTušìì–dæ„\éç¤æÖÄ	DxC­�ç|”Õ¥Õß¨½ :msÔÞƒÆYÔµ#•óŒÝµ¾�Ò}\Òjb€õ17U�@ZÈGf&€û•’ O°Ÿ¨˜î™ˆ€
-±Uäx‡Üf›ê�tp¢ù<T±ÉðÈgu¡ÐÅ47®J�‰SMŸ…4ÓRPêNŒ€³ÞXµò¢'	ÿ©ÄÍ/áôÿ´n)5¬œdæ‘gËÓ
Q™wUÛ‚»3¹˜"ú:+GËB"©H¦ß"Þ+ðAŸCRÏóp6h7½±÷k¯ÒˆµY³J1ÝÔ¤–•ÉõìÑ<WírfNêj†¢#™ÏÄpðKª÷ñÁï£&�/š‰,ðƒ VãcûNK¥³ú›ŠÓ7†¥¥§ôiÚþÜÍIŽH©«ÒvÜeÔŒgp=5�¼çÛ‡ïÇÛ~ÈSÔÈA°Î0bwq*É6ËCû±ÚÝÆaë øÝ'ÓPÎAÍ.Ãä›ê´6hG.³Z�I:ÀW�O#ÛkûÀK‡‘Lƒ«írk,Ño©ov­‘5Î:ñ?uíö™ÙrŸ-�)TéFÿ¨'ô-íñÍÏÉPõ2ßDìÝ(X‚,#¶ñd €ºë½mêC‹ð7–üŽmòcÆ]-±%b]N£(;™;îà'ËT³¬³¢ªiÐp³™x¯±ûzaß±%xˆ,âAo´]WkÛÝ}ßfñ;’!w7.é¼¶ÿ¾NÔúeÖ'iÜ�ü%;hoˆâÑ!æ¾Í‰Ä	Ý Ï(ÆW�¸Áf*“×¥|�-ÕÊÛ›Kâ1Ù�A±IVÐè^:´£CRþUÖ:ëXEVR’	«¼é­çKø›fs¤ w[Yý~y•.W,²â¡µyT†rÍç«Uë¾–`Ååv\º>°Î—~Hì7©¾qN—(s~;À}!¯ò^ÉôüÍp}x5‘ GwÏÎ¡OÜ=«@7
-DEDT‚K¤)(.UR„	É”d&É¤÷		¡7•õa;Ü;;*²–SAdmwç)kãü¾÷{ï«Ï¼ŽY�ý„ç<ˆ]%­tâ@,µ�kœÖM@Ì‘nc�”}O÷€¤RUo€«»ÈMì%‘I2;5ÄókÛ®À§è‡O22Ö ’0}Ð(d·Í‡²˜7-ÅàÓ’O†g`Av¸=öuª¢¸âÞÉþä2"Äý\¯7!“s7ðšÏéò9ŒìâÄåŽ9x¢)ƒªgÌChUI”!’_ü³Vó‚ïTZ‘¶8\–
Ÿ�ü«x54<!˜gHsøWÁ]>ØÉ5áÎf–l)w¢ñŽ¤²šbÇÇŠa}¿(úÐŸš\Á�½�ÊXI\ tŒÿ>b7ðXÁ—YÈRÒ2~8ô›Ï<TˆÎ5ÏÑTp½³UñUõ¦K
-¿¢q}”ôã¡#ê—â�{×+šðy´kÒ|áìNB§ƒ[±IÞiïBò]±¡á¸Ýeá$5~kð¯¼hÊ×2Š"u÷T'²î«A)å¤b³´‰Æ�|Ï�Ø-:+<Œb,t”DäÑy¥¾I�;LzÛ�Ú77ÀÖ³�•n¦¿™FÁt½2+J¨)O	•�*Sis%zaëgQþ{p&æ%p‘V#/øfßÐÿC°ÏÒŠ³/[AÇãŠDã][@á]˜eofŸjÌ O>+çižÄ:%4å¼­'DîÒUÁ¡èeQ"‰€hÑ_-˜Ž$cFÛ»îì +½�sì¼ÑÖ²¡°X;c»ž¹C¥·Ô%gËwb3$sÕ-[ÙÂËrÿ`OÁÏ�V iêÛ®D†ø´žBÆƒzÏöåëÊî´ä+)@ì›*s­¤ÊG‰,#¡:jg¶Ö—©ß’®$Ö|¡tICêŽå°žy³PÀå5uÇTsYÕmg’Ë¶;K™7ó?Úè5ÇÒ'-qµ›—hu‹w~§I¨›Ü²^‘ÆºHi•äÕw°…*Àâ}ƒ…Ý†<éŠfÕ�lV3ä‘_ÚTÐÓËÍU’Ð£€‘WÕBöê-ä:vÅñÕí‘‹à_
oþò†SˆGg´§n–ë8}ôÍ= 2o²Ñ®Nw3¹¸#	)º®j¦ºÅM
-›�½æ.¦ØÄ8c¿
-¶qÎ2¿ŠÝ	'vØ°–ÚÝ®hôüQºýÿv^ŠuŠwÿÇø�7oÏk�;²mG´Š	;#£CzŠ/G`&0˜`CnqMP_ÇÉ@�µ¥]¼§Ôj/ýž;`Ý'ÌØ?cÌÌÙi™èé˜wJ-?/L"=Å[DQˆFà¡€O˜¤$¼FÖ‚ðK»XÕÅüÜ²^ñk©‡í¥l(7Ô2"Ø/4Œãö¬ÑL‹<bz•+ÂŠ¤áhE$Jáq‰ß£Õð-Ÿu°Šií?´Ì4çeñÓÆV;rÚ,9Êåû—²~ú?5 $+¦TÑ,z%`¶ðºž„ÎB>øäÀ~Ð[®µm¼±¬ºÛYeV–ŒÚü–/ó­(Mo˜¯²Ð4+åƒ1?("$Caî’,Ñ¥HX�Ý"†òÕüE>84ó8oÛ´NzõwÎu¶W%ñMw­Ùz³Ãø m�¾K—KwW©Þl¿/*?´ù‘ä/âß(©B/a<q+ÿƒOôò
'¾-¡Ã§Jäxåò,kÒ5»e‡šs¬ORoë�cñÔ5Ú;Ûír½²oóiñi©„²KpS„·ó> g}®AD¤ ¾üÔ�²¦ò÷¯(/¬êšW±,kvkDåš”‹ÍxUIÜ5ëãêá¨³Æ-5þÔÛi-LN’?«{íGÓë½j±kÀÅú rõt¹­oS]¸¦sIMHæqWRÍ¥®½­‰ÓXçÖeFé‡XáÔauOýäŸås€…~qðÒë.úžý�Õ~’,.'÷.‚vøôÌ¼–b #%ÚvÐÄåZÖDUëEìêiÕÛF.•mmXà‡‰ÚJ¼ƒÐM
÷YKO¬…¾-ëîYÎhÿÌÉôt‚Ü÷É3Mp;ãÖ›é\fTªî4w;µSEä.!×Jœç~½¢Ùœ+Þ¾˜3Tg8ž†~*ÛØýº¶`¼-ŸŸ�Ñâ8ÃËOv4 &Ú+OD­Õ¹Á�T³òTBæI‚ƒ~�„É ¿÷ ï1×\Ôß"61z»lxbAfë9átÅ±\€'G7r0:Íb|†zE~ÔfðS…Šˆ“¬�„Á,�:LðàmµÆ~‚’ÄéZ.OËÞJ•Ö¼ØŒ‰%ISÖ·¢ZÖ×‡Œ¼®¹†1¨,ÅþÙ"nå-õß(øæRD¬]ÖçÒé�öuZ4Iù•®“Ê?f6Ï“ãI2k™tÍÛpW¼&Ò¦Iþ—Z$¿€�";Äkù
-ÿTL…ˆ	"„]¨Q÷í6¿9ÖfÜ•ïæ¢é¸éÿ±ãjCÒfË´âqìC¶,4²J}O\EÝ+§�“]x?æîÏÀˆ<ˆ0÷Â»kö¾±Ç—žëxØ¸*OÓ2ez�®°õu‰S±&2V«ÿ¬ôˆ¤«+¥ÃÔhÙ’ÛðdÁæ§&àø³®Wç²—¦uHš/åíl16N¦Ól7Í]–p}|l¡¾U­‹$«ýå·¨djÉr;þ�°Ü_‰Ö£s}þÏ@}x5} VÑ:QÜO‚ÎDƒõ4
-a©O#%åz
-(*D[…0LBÖof‘= B Œ0Bd�6FTÔR�³<=©\`i‡8¹ûþˆïùZÅjvõe˜ƒI3ôyqÆ¨ífnÂw­Þ¼«”—õ%àÒ{'J_Xþ3ÜNˆ-Þ�®ÛúÕÒÄüƒ}ÔÚw¢Elgÿ)è¿i=3põb»
-¶&|×²ÁP^ÔÕ"#¤™ê}hK¸—ýßB8mÛ/�âò»„™þß¢E¦´Þbovæ%‚°"-½{DÈ¡–¹@!5ac³��N«mÖ“Þ;bEóÃW–=¥˜E§Ewñ¤¼Q1É_¥ç‰‹}É²ø+{¯ÛO“Fîº$m¥ÊÚ~”îHXÒ´Xò+åNM£DKzW-I
-_[úJLàª%kð§óü²?ú÷êz³ùšÔùÙÃì£ÕwÒ¾é|¨ºB=ø3¬¼«§øƒR{aHD©L“kÂ½K×ÈžTÖK²}x±™*­ôŸÑÍ•®ó}®•ØYŽ>“ÞƒVÕ‰Íå'�·ºs<ãá†LM'%åÂjµžT[Ñ¤Â>•P•§F«§â ÞarÊ‰Á¹‡e˜½ª-Ò3¬ˆÞ{y‹hÑ¨É+ÙØêgÀÆï¨Ô� :¹9n’´b¹6$l²ø’º†`- «6âLK9
ò½¥2G¶(k¬7Âú%uº}ÜbLŽjQåÇMÖï4¾�yWýPÿŒD-ä¾
-»_¼Cû‚Pny¨~�3
-”¬9›[1×”‹e–¬Êžî’ñÔ¦ödÛÊ¤ÙæÏÖÃqêŠòM1îjŠÙ›´ÇþÎP6dsêü	µ–­3pŽá£:2 _[«œ‡ù¤(’ûdQz¾¯¨I¥¹^•�MºÜ,)ÞÇªÛ`��1;†,óIßÚ…fß°+¶ ÃBkþXnXàZƒV“0¦%+»ý°Šýr€ù¬ûµ34Õß•[IK26û—5ÄEÖ¶¯Ža:Ò­NÒ"û¦üØ°î¢»Æ	Bg¾B§ÄÚS_5Óª8¿Còò£Tî=Æ•›^¼‹Y±].@ÇºêŒ÷q0y¯Á7\¡ÄUó&³6Á4ð@r9²Ê¥lG>Â·CP7òWÅ7óIÖ³!÷à|ÎLé¸Ï}
-ÿÛaä
 Qæ$ ¹›½ <Æ4tš¿ ©
-&óµ14$P°,4]*@qtZðþ÷YÖr‰éú_ìD	Æõ”#În©å‚ÙÇ�c<V6F40ÄSôQ�.v�ê…bèp;LCšh'Di"ãÝIf£öëµ¬…G[û€úLEçˆ*ÜqS”¡B7�¯8p~0ËcN¾ëd?^]–RB2áÛ’ý82‘ísgšaËO¹º›ùÕÞ
-°¢ŒX{;MOÐûrô¹4��Û¡ufÞã=VOžü\¢
-<¤†v*Î„øÁGefáHô·ÓûK+.ç1ClÍÍ“Yëí²X½–õ¹Ãì)³ŠÏáúçdLñtè	ðÿy�]ê3Ä'ÐSÅ0N‹,‘Í®¢¯r÷o`è«pMfæ_vE©ksñ—ûta)ŠrJ,äŒMÜû¦·‰7€õz[´<šAl€äª	œn’ÇüF<¯kYì¾Äð¬/kü3ãÂÞâ±¬ŠÊÚ*ÖxY¢ãàlyéTnF31„×`ŽŒ>ü©÷&Š ¿k&p-ð�
-Ö-¯ó;»÷\TÐ.Lƒs^Ó¬­=‹XûRca�Ž÷p»§|nš�;·ø›ãM<²åKÔ�c|J<>È¹ƒsÃ›”¼¡™ÌçWRú˜ô„¾œú¹ŒºŽÖ¢6æý–{ê:¦~#ôö™êxÚ,Ça‡�Gp_©£œ1OE-:îWhR÷¯Ï™57e½2úª�guc¤¸#Ç™¦Î*ÕŸYÃ­+!{m]&
áœ¬ª>6Ê-/ù%ŠÁ{c#n©†e¸Û�[í9L@Céµýd4–ùSó6”ÍšWúZÏFsÏ¡“œ·|/~ �‘!äg¿'>æ�CÑ'‡àÂàG‚:d»Tˆá“ní†÷€aî#°|Û¿ƒ*J|�X8R;ŠÔÃÓHê�4§ÿ„ÊÐ³Çgøø+¢ø2~W°H0G�]&�&†–ƒ%bcßQÈOœ\�B6ñv¯Ï×€°QôV#ËE¯Ò¨ˆ]4~|3.‰Z‰‹®ãùgEv¬7ÿ£¼¹HT{DÀ´J[;ª•¦Â/Ð2E�:*‘?„2á]òu4<"‹?–‚È¥:²Ý)q=DG²aWðÅâ—ƒdÞ“¾ëàaè¯	úV5”KUŽ�ÃÚßÀB�†’*…·«áI%™ì‰TÉ]A%h¢Ì»‰¿X’xÃÎUÛØ�»ydë}gï­åDP›ß+.€»Œ�À~pLŸžRUäâ<àÍóÈd»Ê”Ž¼P�°h�´÷zç�ªÈö!®ÃþºšÎ‹+iÌÿÀ{[¤’U^<˜œÇ:÷Új¤ÇÓ¡Oº”È x@{$h"WÄÆ¡DÙç�³ÁÛ%âú×,tìâÞt,Í»Ãc–ãdf`KI"—
</”ŸÛ
-väwÆ�CãøÁ{ðY�GÐ*d›f6W¬»*ãxºnµíç¸Z6W~á&×Ì.ž‡ó‰ÔÈë©Œã˜¤´û,Œ-ÂÄQ!|~ÖAìahÛ=�hg± Rú?ëýÊ|àx»j¥Î¶ÕJ›6eŒœÝœI¨ZB…BX¡B•ÈeÆxnßçþ<3óÃLÃän\b]"×
-©ŽZ]Wâìé¶Ý­–N�¼ºiwûõó¼_~á…˜Œö>¦Í.sÏ©õÆWÒÏÚžh{¥µÍê¤,¦Þ-c(kyÕHÜ²^•E…LÊ1y{d7ëÖ9_…´9•+Yx?ÿì|\Fò%»“î™óÏÙ-3ÛÏ¬ÌŸ’îéXHþ)[Ôü"c­ìf]k\dÖqcxˆVÎ?ó6Í>¨Oqn…"5f+óàõ
-ýÅYä¯‡ïwú�Á©Íµ[‰ûiÑú1BH¿ÃªŸÌ™'a"�Ø_‡?È::�_“?ôÎÄ{¡pç9ø	¸],ÅëPÏ‹ˆ/e/ÛâYƒÕ8ž*×ÝŠoÎÞÂ,Á—B¤&à
4_^Á}¡«À$Ïë!>�rº€›aóÅ9øBìîyG€ƒŸOæ‚pÖx	¸€Ní�êgð5ÈxÌÀX\XŠÏIn¸“WˆÄƒœ�‰‡ˆ«€€ïíÀ¶òñ-÷0WÎX¹sdäÂ$¬iÀœ4ýS§ÇcÅbèÈà‹X>uqóØ9ÊÞi6I"âN`AœíS¡‘yŸ�pCwå²åhxŽYÞ4Fˆ4]µ6mU(Æcg gxc°5:Í…oF±
¬‰ÓR,•.aÅ”¨×Q¤MŸ½Àµ,i8úEn?Ò�?‚»!Ãš«GF�©œ«û$¨“ðËNE•76[ ýüÇÿ¡ïÙâ—˜˜†Îü¿¬xÜx1)�,5GÌ‹þÌ)El
`#²MšúI×ÆÈ‘SšAïÐy9¶ž=h„*Úñ2ªã
¶ÿ@Ï0�§Cay½ƒ-ÌÔÔ?�uF5×”íÇ¼àkEc©"xº0%zñÓ½	’!ÕyrÏ$ä�zÂ±Ý L²¡ñlß©å°EkyýkxESbQl_/²`·ê4Ž«¨H	„5%‰ÑËà†•�Sˆ‡nÔÓ)Ð@Ž$òXÙ®C-¹¦®·Ðð©gu� ¡Ëcç ‘•
-zÜ°�a³ZŸÃ…ðÚJŸ(æJø÷Â9WŸüQÇX¤DÝhëƒÜå¡ÎI¨îüòã ‚žÃ¤é+¯@E­Éð
¨¯¡åðLh¼æAÔ|Ø½|*Ð®<ö�|ÄD7á¸
‰Ï�aŒ4(D§ÍÆÃž
¼6ua‰§?rQ}ŸíNÁÌdÆ£T?æ;)ÝIƒ¬YAó©‡rÞCOùB_­ñ"OÁ9¢ä*Ô£Û‡›–Þªç¹e²E%¬V»�Ä(å0êFßÉÞ�²Š^ùF]¦*a‡À=ÔRÄÂÃšÔ#×,&¿AGl–G±ë�+`ÎÇG˜›XÌ±¹Œ5Æ¨æÐVŠÌ¥c7ÛR!`ÑÞ)r„t“	 à‡.â5vxA°øL_b¾ù»YY­'ÝËL–Ób&Jq‰èÐKê: Ù™d¨'{×�Ë(y€q–2ýa7Kj®3ÉÅ6)x	QØfE§ç4WwS�Ô™.T¨àÄ3ä€r<{˜ôWò Fùæ=	”ÓîÐ6}ÓGü6³Ý¡gh›||9ÑÚEuè;«‚(Ý•£·É¶ü{œ?ù½æy/Ñ‘kup'á§ŽØ}«ÒìøoQôoªÀc¹IŸË~kÓÊi—–0Êª´ÝhJÖ[éI;Én$Êô¿e]%œt±HüzÞï»gàtnÊv÷&6ƒ·ÊA%÷Âf82ûN˜‘�5u7È5Æ4­@´”KgâûâßdOñ~CsÒi<FODîÅ-µÛÍÀ]Í×›L€^¸åà¼56Ø-6©i”ŒiÊ)¯!n×æ§!5/i|°ò£ô/<ºìÛÄ)ð±h}D7è*ðö¢õrorÝì°IÕ6±	Ær�Í¤uGr™�ÐµZä!„i£‘
-Ä¡:SézüËª´D_PWv=ÂÄ™û[�ïô[Ü°±<™Ãl¬F8#6Ç¶ð*‰ñ^ïÒv"¢ÛGÓ�_j[Ið
Mw2�‚Á:EB/ˆ¯²ïËK‹ü°§†î«°Zí¡Õ/°Cê÷b¶�om^ªéO¾V±1wIJ©Ö^Í	§GË´I§<Ÿ¡J
-VdHWGðeçüí¸yò�nýÌXös‰‚†Ö2ªÝÓ¸#×9ócY…ºO6+ï¬°Köž”e
K÷)ÎÉ/&†ñêìÁðwÜè‚_÷¸%2ë�‰”v@O[wQ"ìÞO-ê{ÈíÒÅ‡:hÂT®¨œQL£Í™;ù[Øç	É\;¶/Ü�­ÆzüÌ˜°ÄíZ²$qT	²~EâžõæÂuº«¸RÅÐÑ¹³•>Ô4ñ/…9¥ÊâÞSnûóØ§ä‡]æ9yÂ7‡~GÆºÑ¦¤…$”²$.‹lÉwœS½ˆ"'e»ŠQŸV%ŠÏâTìOßÎyóñm¬+'„Ýc¶³E¾óè$¦Ê•¥Ý$ñ ¨^QQB^©]«òÕ-6<RZä#‚œÓÜÂžpgs—¥²j>î¿L›j:l5}Y™°MM�óƒ®.”	'‘ü“\Ì”Šb=»úµ²­èda»BeHUíãã
-¬Ñçœ›îü‘Ö%Ÿ�³bÜ5�?Ð‘9_m³¢Õå�¯I½‚—˜uÜ.Q)^Áˆª”ÞÆ¿¦ó¿˜À+ÙzÑksm5“£fG¯·�N:J¡RIºœ•i:¦cîï}ÏÌwÎ¦¦ššLe…}I^6,ëÅ*„-äÍzÙ>Ú%©X¼û<¿=‘&=áfÍ&“±ñÚbé$z«º¨°¹a¢rÂwõÍ;f@cìÙèh‘êÒÚvp
uÛç��{v+ÃÐ¥¶6âcÛ÷F	~³9‘ˆÆêlýÒ™h‰5Hð#Rh9š}.3/NÎƒô†Òè@°‹ýaí.à¾ÊÅgPù;)õ¼§AÇÕDw§—AŒþønlgÛrÉ?Qï#/NˆgÃñlxeí¡¤çÐF³CÔ-0O¯[û5€kVø\TÚ©ûž/ÍX{IÈÏšôuxÜ©)¬sû.\##G3‹àa{qýÚPœ$�¦[¢Ä ·É-xØÌNø´)óéOžS
-!¾Ñ–k-h1‚½@Ou9Â=R'¶ hLÐ©fJ´Ùbæ´($i„+»µ�«(ú€³bWþ6Mr�ã„d'ŒòÒ\Ãr}¬È€hƒÊZÅ£š´ríáÓ*¶B›ÕHß®lHZOqÄ­›~!*%�AÝØCéþš âì„{kª!Lò³î‚n…t:Îò¥ƒ•ƒê=²×˜•ù€š”OKl$ÓåÂM‡ñ+òÿÁØE9¥ø…S
¯R
-ëÆô��¿V¤åC>ÈuM(4«âžJvæ?£{AEæBÊÌHt&@ŸMspð)(	­îþ%ð€Óœ»P3ÐXkÒe‘zÖ—Í"þ€ÕÂ§ü6sÍŸF»c…{RHíØ."¦#O7Z1™´u�£øpDpç@KÀ>Ëam'û“f¶¦GCA¨êêÕe}ŒcÏó¤X:|·™ø“Jx‚+ˆò�~ØWøœÀÇˆmä÷Â®H,wH@5[´U“ªšHÓRP£ÚgðMÐÇ´ïåP4c»ÞˆêMÂnÜ™~¹áZC>
-lE8x?ÿ'¨}ÆÝ:Ãï«ƒØ;V.óNý°¶¨c¦j\DîthUâÁ&²ÅptW
-±Tç?€Ñ¤m(Gý˜¦@ÜENð» ux.lÈs 6‡Òãê¿â*íŒµaai85TÛsà)S-Ëø?gò‹OÄ¢t÷78#ýšÂ@oxó7~8D\çbQ{U0ØE;ªCÛÎ(~fR›§—H)�mÑ�@bª~uÏ«	�@ßšVEG�SÀo°“j’¯uÔlî¿�éØ6S¼æÍi?*Bõù„ƒ‚Ã¸;Uü„JnùÇþvâ¬­6ýî]÷gœí¬ˆÜ‹l0äœ�þ£±ñåàz·Wyë7=®O,8C=²4Š“æNa\I´‰[ôëþßô-%Tú)m€($Î[ý°l(¢ŠÁ+0ÿdjƒ8œ—J,“:ºwa_ÊŒ5µc¥3ÈîšÕ"ùñ*²lcqºq^yØþEºcñé3Ø­•‚m
ªÏb4"‚î–Øü}I@zƒW€�Ïô˜‹Æ*²
q–K’¯	¼z±¤]VcÂ¤>EBÃ)½/A{Yæ˜–¡)–¶yªüånë_Ó_È[üÿNÜQ„ñäØÅS�tÄ®¬ÕSstÄš—ƒs¥£ø(¤õÁÀõ½û
-øWê÷j;Ð¹µ™©šÖÛ©TÀè7AZƒñ�z�d!p^;VýŠ˜Žm¯JÃ‹%zÃv£°M'Çfå^cƒÑìTÕ{äêÖoéûÈ²õÉäXê×‡�óL¨	ÚáñV€Ø7Õ!ê^t»é¬ê¸ØjØÄTú´/hÏ\'M+9²³T%$Îoi§p8üŒÅøÙñoPW^
êOpæCÏ çšQóE#‹ì7ëVÞÔ÷èœµûØe9‡4|uJÊ3Á¨·DRÔÅð“ÄebÔÀìø
-^B¡¥œH(¾§~kÎ¬�‚eÆÛÕŸ+&õIU�‡ÓØ·Æ•Ù—Õçt=)YÉæÄÞ¡„ªwá¹D:�ú%b!$‡gF<°{œ|ð5bW;šçÚF!­QÜðmÅBÝd]L�†ÕÕDd»ªS«¢wÜb¼[b3(gíÚðYø”ÚÃo:@ÏãÑðÂƒÃ€Z4CåYÕÕF‚çŒ>Íaå‰ºv[_þ6Ò’%SiiÙG÷™�c^“]†ía§p;K¬F	¦�'‡…d§Ü„Ž1ñUOÌg^¶sËNê
-[ÝòØiMãY_¨~°ö$?§c!EUaEx®®cÍ4Z½“W¯¦ü9A¬�¾b.h,0–…Xý…ëó.Y>=ÌÌ4• É<ã5Qäæ:Ý�eoB]5½Í¾ÃÌKqáÊÏÔ*éV7
-/—§PWŽ%=ÊÖÆˆÒ»"a½£èYÞìš‘²?öœ«ªpI²îWFn^§„<QOI,¾Ìé ×J2G¾ÊíÖ¡¨%Ï7e‹1E{ƒ¯dN)U÷•;[ýVòaÏbÓ[©*i‰~B¶&zP;_v'ä¨:@^é{—ÎVð½bˆÅ+÷µèGå5âœíà"ï²†Î%íµîÀôƒDµ‹ò÷Ý"ÓRå‡D�Þp�–²ñ€WH¥
-ÖùÞ¤Î^ˆy€ÚDs�~üj#…µÉzëØ‚â~K*=pÓœˆíºcÌAr�u"øuô�.		c†¡qßnŠA^
-¼òv¿Šô€�°Ñ†>Õ|éûº«ÿþ÷Œôr›½‹Õg˜µŠ°\9•Ë‰©Q�’äˆ«F¸�‡¡;þ�U†—1¢Š�…˜'�‡Ù„®…ƒ×‡	¡L”`|1ž@’»q[›5‘f€˜-�a[´•G�ËQ’eŒ>Fd��Š¨;ÇŒÚ‰1‹Š‡ƒ'Ÿ‡V†>„”„³†) æš {f�Ñ˜xp¥šÀ–JeÞ—¶”[)”Ñ‘îP¬‘ó�ÑF	�-�§;‡Œk‹z1j‰£‰Y'¤†ã‡Tl„…s…V • Íz”�xž9oÜš_›”e-—N˜ÖZ‘”h–&P-‘Š“vE¢ŽÆ�°;:Œ�á1<‰?‹"' †~ˆ‚“ƒº†„† 9¦úyÒ�%£åo,š ¼d�–ö�xZ
-”š8O¾‘0–óEGŽn“Œ:ô‹±�1ˆêŒ¾'š†+‰Š³ƒi†¢ƒÇŸØ­y-œÙ©`n�™Ì¥ d–¯¡ÓY�“Æ�ÿOd�èš#DþŽ'–:¼‹k’0ïˆ¦Ž!'•…èŠgÌƒ(‡�ÿ®‚mpwuª^o"lã¦apÄbA¢žrNWÁžðsöMx›Fu¯Bô—±wc8‚”$y.q�›zå$¶�*|µu‰Í~¢�;­&sêvÍ©%u	lP¥Evaº¡“w#WK�ôxDMšVywB³–Èz¬8g“?{ç.}�º}-$íŒO~wÛˆö×€t¬zWv¨zëk¤¤C{ta, �{ìVÖ�|†L»™r}3Bt•î}â8L’o~™.‡ŽòX%‹�€4ˆ:€ð¤«€�uP§€¥jù£R€°`šŸµ€©V[œ%€ÁLY˜“€çB4•�
-80‘¯�0.‘ŽA�a%GŠã� �‡–�í~æª#†Àt˜¦H†SjO¢†…Û`ží…SUÞ›b„çKõ—Õ„ˆAï”g„!8‘ƒ¼.“�˜ƒb%mŠ:ƒÍ†ë‚ã~9©bŒ®së¥™‹Êiª¡âŠÖ_užI‰ÍUcšÂˆßK’—:‡ýA¨“Î‡7è�h†+.ŽŒü…L%�‰–„€†?ƒÊ}s¨Ò’†sD¥	‘$i¡R�°^÷�¹Ž"Tùš6Œ±K=–³‹JAk“I‰Ü7Ç�äˆo.‹Œu‡%©‰
-…ÁQ…­„”|·¨\˜Qr�¤Ž–uhˆ Ô”ƒ^u�8’sTŠ™·�~Jã–8Ž‘A)’ÑŒš7ž�lŠ£.~‹ýˆ¹%¼ˆ�†è„…1…C|§õžqõ¤#›Ægç c™a]æœÁ–ÕT™A”ZJ�•Æ‘ä@Þ’a�\7kŽýŒÑ.g‹�ŠV%Æˆ$‡ù¯„É…Ú{i§Œ£ÅqY£Ã ügY ž]iœ[›S¦˜Ü˜J+•d•
-@›’‘ï7<Ž ŽÐ.P‹3‹Ç%Ì‡ËˆåÒ„t†XzÌ§)©lpÓ£o¥ûfæŸ¸¢]œ	žõSP˜‹›mIå•—ã@e‘´”97ŽT��.>Šé�%Ñ‡ƒ‰©î„0†¾w„¶Mn'm–±‚oÂc·¬äqPYè¨‰rËPJ¤=tmFñŸòv%=v›·wÞ4 —~yž+0“B{d"™�
}|‹~èw´ñtAm.°OuWca«ÎvcY˜§w_P£@x€F¾žþy¶=ZšÅzõ4–‰|=+O’M}ˆ"ßŽ"~ÅêŠ€v~³ÃzRl±¯1zåbòªÀ{oYA¦‚{êOÂ¢K|ŠF‰ž}>=<™Ý}ü4•©~Ã+k‘t�#�R€MI‰W�uë²¼€;l.®-€\b�©Á€qXá¥‹€uOu¡W€–FQ�€Ç=˜÷€ú4”Ø�2+„�´�q#QŒš�µ�ˆ©‚ub±Ð†
k«­K…¶b¨ç…QXw¤¶„ÚO …„~FœL„/<ö˜0ƒÝ4”ƒ�+™�ýƒJ#…‹åƒî‡õ‚ètà±‹‡k(¬�ŠÄa‰¨4‰îX¤ˆüNÂŸ×ˆ'EË›£‡_<Ì—‰†”4“s…Ë+«�T…#´‹7„X<‡Bƒ¾tG°g�ïj¨«ó�µa§™ŽdW¨£jŒõNtŸ@‹¦E�›Šd<¨–ø‰3ú’â‡Û+»ŽÂ†£#ÝŠ¢…|~†ª„ws¶¯Ù–Ij*«e”™`¯§’ÐWG¢Ú�çN#ž´�EQš‰�_<€–s‹›3é’^‰Ù+ÃŽ?ˆ%#ýŠ††¶†)…s:¯X›‘i®ªã™z`9¦…—CVß¢N”äMÌž,’�Eš	�`<R•÷Ž3Ò‘ã‹Ï+Ã�Æ‰˜$‰¬‡{å…¼…¢r¸®à Ñi9ªqž8_Ñ¦›„V„¡Õ˜¯M€�¸•ìDÒ™œ“0<(•��b3½‘{�•+Â�`Šá$'‰LˆM…c†r8®w¥óhÒª¢µ_}¥·ŸrV:¡tœ(MB�Z˜êD¢™D•²<•7’e3«‘'�+Á�‹ö$6ˆÿˆü)…†rlÔ¾]o_c`¹[pŒZ&´QqÔQ:¯@sAH“ª4tß@<¥"vš7á x]/»›z%'û•ü{ç ��í}Œ“Œ%,l¨½ucF¸+uÑZ³3v Q,®*w“HŠ©(x¶@<¤!yò7íŸ{@/Øš|—(0”ò}æ å�ï‹5€@lk»Ñz½c¶ñ{Yñ²	{_Q­{àH{¨!|‡@7£}E7õž~/ñ™~ñ(^”Å!/�€€nŠd�:l-º¦€]bÜµÎ€9Yü÷Á°î€*Pí¬€:Hb§€g@-¢€£7ú�€é0˜)�5(†“4�ƒ!pŽK�ËÇ‰­‚kÞ¹¶…Ôb“´Û…=Y¯û„¼P³«„XH7¦'„@¡$ƒÑ7öœ<ƒ—0—Xƒb(°’mƒ3!±�‰ƒ
-ˆñ‚îk€¸ðŠèb;´‰æY.¯1ˆõPkªUˆGÿ¥f‡c?ð g†¸7ë›�†0)–ž…h(Ú‘´„É!ðŒÏ„2rˆ6ƒ²k7¸+�ëaó³ZŽmXé®ƒ�P-©©‹µGÏ¤¾ŠŒ?ÑŸÃ‰r7âšàˆX06•þ‡C(ý‘†8"%Œ0…8¹‡—„]jç·|”Óa¨²±’áX¥­Ü‘Oñ©�CGŸ¤�©?±Ÿ+Œ7ÖšKŠ’0A•k‰)�…‡�"S‹¥†&õ‡„ðjˆ¶ç™œaW²—JX_­8•O´¨Z’ÖGo£~�É?�ž˜ŽË7Ç™½ŒÇ0G”àŠÉ)4�þˆÛ"y‹)‡(† …nj¶fž@a±‹›�X#¬ª˜ÏO§Ç–3GD¢ô“´?qž‘C7º™DŽÊ0L”iŒX)I��‰ü"˜ŠÂ‡»Q†C…Öi µø¢ª`¸±ŸiWò¬7œ@OU§Q™;G"¢…–N?X�¶“p7¯˜ã�ˆ0P”	�«)Y�2Šï"°ŠoˆUr…ú†*ÔŽrXj…ÃsilŒ±¦tnn� ,uapWŽ®vYr}?wTsæk¸x[užZ-yjwNH­z}x÷7{•zz&|Â|(ÒboçtzÁ!q@u{¯×r‰vxžzs·wn�/tàxi{úv	yjj£w7z_YExi{MGüy�|66¯zÑ}&|}êÐ-mò~ ¿	o€~,­ípô~CœÚr?~l‹És‹~¡zÌtÚ~Ûi£v+Xrw}=G^xÑe6Vz|&{y‘Î3l>‡k½2mñ†�¬<oˆ…à›Wpö…>Šwr`„±y¬sÉ„+h²u7ƒ¢W±v¨ƒFÑx‚~6y�Ù&zï�Ì>jø�±»fl½�ª™ni�‡™ÛoðŒ‰(qpŠËx�rï‰�gÄtrˆ8Vöuö†êFPwy…’5Çxô„.&&zr‚¢ÊŒj™Æ¹Äkß—]©m—•˜ro-’Ý‡æp¼�ÌwwrKŽ¿fßsÚŒµVHukŠ¦EÜvùˆ‹5’x†k&Cz„ÈðiI¢Õ¸LkŸ¨§¸lÝœ�—8n€™˜†Ïp–¿v†q¹“èfsU‘U±tðŽ@Exv‰‹^5exˆ€&[y§…eÇ�h¨«Ø¶÷jy§ð¦|l<¤–mæ Z…Êo�œ¹u¤q3™earØ•{U't|‘×EvŽ&5=w¾Š{&pyW†�ÆGh-´»µÄiö°-¥Tk´«¦”ým_§+„Ío
-¢ÉtÉpµž_d°r`™óT¦t•yDÎu¸�í5wjŒ`&‚y‡—Å<gº½—´¾i…¸Y¤WkB³”
lì­æƒõnš¨½t
pH£‡dqøžCT9sª˜ìDŠu`“‚4úw"Ž&‘xÜˆwÄ`gNÆi³éi"Àe£Šjåºd“LlŽ´lƒFn>®vsuoî¨kcŸq£¢ISásZœDTu•Ì4ávè�Š&œx¯‰0É$xci»¸ïxÊk×¨šy=mæ˜yÂoÝ‡…zIq¶wzÓsŒf^{quSU£|wE|ÌxÎ4g}‚zh$”~L|2Çv3s0·vÙtV¦Öwƒuv–jx2v�†xáw¤uÎy“xÀeTzWyÖTÏ{&zèDk{÷{ó4|Ç|à$¨}¥}æÄòtU|dµu(|¤¥
uü|ê”ÞvÑ}6„¸w£}�t«xu}ðdbyZ~QTzH~°Cã{63×|?$º}ÂírÛ…C³/sË„·£^tº„9“nu¨ƒÒƒ{v“ƒusŸwƒc„x|‚ÃSay‚‚gCkz‡‚3›{‡�„$Ê|�€úÁq¡Ž!±prªŒÍ¡Ås°‹Ž’t¯Šo‚Bu¯‰Xr“v¯ˆBb¨wÀ‡/R·xØ†Bøyï„ö3fzþƒÁ$ä|‚q¿op³–Ø¯ÝqÌ”½ Krà’¼�±sê�å�t÷�q�v�HaÓw&‹}RxL‰­BŽyo‡Ð3:z‡…ç%{›ƒÙ½éoíŸs®vq
œ Ÿr'™ç�Šs;—Q€tU”Æp°uq’6avž�¬Q‰wÑ�B3xÿŠƒ3z‡ä%{8…¼‰oO¨­+pl¤„�Ðqˆ¡Žqr¢�ÆsÃš|oÙté—+`mv “ÞQw^�ŠAÞx–�)2ðyÂ‰È%7zã†;»Qn×°ˆ«÷oê¬oœ¦q¨\�^r¤T~!sA Notjœ<_Áu¨˜&Pˆvî”AŽx0�Í2Íyl‹•%Jz›‡8º9nh¹ªêoy´M›§pŽ¯�Œrq«ªÍ}MrÒ¦nNsþ¡._.u@œGPv�—LAKwØ’@2¯y#�2%[zaˆ¹FnÁ‡ª
-o¼
šÙp1¶�‹²qN±|¡rx«‚m¹s¥¥Û^¶të OÅv>šIAw‘”j2˜xèŽ”%gz2ˆÀ½l~ói.®b~¸k^Ÿ'~“mt�ž~Žo`€~”qCp˜~ s(`Ò~ÈtþPùvÏAI?xŸ1¶„zT#Ø|;»~|Ër
-¬“|ÍsT�w|âtŽÁ@Sg`¥¥¸ñœÕ²TcÙC‘)Ê��
-
-A¦�äå½ÿû½LV aPAÖ9zw¶‚XÔS[Zzâö®**özí÷•ÌƒVâSø	¸]r7Oó«Ô;ð¼lW¤¾~£xÖáLã×Á€�/á'ÎH°¹hwG¶³©ÄH¬\£Å®€™P–<7¤Có”ßÁUX¾»â«ýày¼É9âŸíÒñ6âÈ`¯ÌÈ„7“ýÁÌ¨Ý†ÆÓ}j_ô,�	ü±¯éÍ9II[¤±OÔýˆ@M�öý
.£ óh v,¾žü¥ÿ-B©¯;„üª­þ§,Q9¢œ”]Ua«Ñíòñì4t�ŸNNÃvñÖÉØ3ÎÇ·0ìç/á2&Òîl§}ûR¥|å,ÓsdŽ6ª*Q—§e%“¨¹LYœp¤�¯þ!©=©ò¿Œ%*:|]€™|®Ó¿A=—b7
-…LÝé7’+õþ­ziDÍ-½£ôfU¾Ü€ÄëæË#OµßgµÊ¤e ñº®Ä=<}¨žô™À*”§`³<Ðîboö4HÜ[Zâ%}Æ$�¹t›!ˆ¯”~W·Y�ì«Þ*ºƒ¼Ñ¹$î•×º…]CsK·øT`Ž[§fì¦r‘ýà÷¬;]|±KÕì qm\1!é7må”ÒF©ÔCz§aH´×ÎO8!Û¢‹Bgh	Ÿt¨¤Å‰ÂPÕ�ýr`Íß>$Nî3W‰¯u§jŸKBº²-’[ÇÚ$9Òü¯ÌTdžábÂäZ­gès™Q×à3Í){ç”Ž9iBí±	ù±“{Ä_œokòKÿ¦]-~wz�y.¡NÄ—¤+Ú‹2nHZ\â;¬a<T+‹ªÎ÷¾Œ®ÓN;…£ï‹kìÝ°nÅžžëœ2³¶e˜ÍúQ§bí³'ùOLSî3$—YŸ?&š¢OI\Oï+êÛIÏ•(¼«©!D´ÉŠR£Þ6íTè^Â4,j^ËX%*-èÚÂŸ¸ÚOl&ÝF½’øe¾¤RuB8u¹j¢œÐ¥ÞÛ(3,Aø;y¨mž’gàøÉ@êY\SÕ ›ÒJ¨PTÅSs°%Kò&Ö•1I6‚Ýñ<‰ƒ·¡VdÔyÝ'÷â[…I?üï¶kÈ�D\WYN1†q2‰Ê/· ©Æ‚˜¦6ýŸø™ú&ã+¢—Zw…è¤,CJˆnÊÜ«œè%ß¯}ä�¶DÙß9ƒ+«‰XÅÝÒVÂU±”ºJ,—û>'fòÊÃ«ñÿr·ã,ñœ}ˆ9±�yù¶Ìqa/±‘~`‹ÎôÂã×•Ö½Æ¹²%1xaIiÄS‹Ž>Ä£Õ—yãáª¼}‰xºÒ2Çyù	Ï—¸‘Vá§ØŸm›ðn&µ}1|R^ÛÇªÜ‹·ÀK:kÂÏk?LÃóe“é(¼Pò"ö[øHs?x6¾@uÅÓˆ;)…¾�o³½€ogÕm#0Ñø—2ì×¬†nuÍ¸	n®þ¥Àzè­Óþ+2c×Âœ²Ž]zØXüÈs¼¤^)<(lÇá#Ng2‚Éö³Õqà¶‰VÏ#Í.°|oÍ£u™iæàVÕ§5œY)ßõ
ÜVnæ9¦K…;!¯üŸí¬äñV%¨éN®ŠDW¥jÈiï?�ŒÖÖ<ÈkÒLX}~Œ0U{�w+Þz\„óJMBGè¡Î´›£ä;ZŠAÄà´.½¬2Ø�|Ö‚¯;üsß{r`ljª�®	uÍA‡�V_íQ†ËË„KÀ´Æh·®‘?móÔez×lPÛg‰Õ/•¯³ux¢âQnyþˆ|"_•É?=ªŒAy³"I�ŽJ¸¿bS‘h`šÑë@úµU¦|QUŸRYp[¥WÐ….ÐQ^Ut4ï,NüÝÁî±Ô:ú·‘-fãeWÝ�1
Ø_2ú-Ö•t |×2Cé€lÖoTlD^)·Êýe�ØG>õÏà:Ñ÷Tì¯XOôÖdï¬etÐÁ=“~
Ÿ$t4^e}‡ê'RŒùòGÄûÊþ3ù•|œw ¡×¹Ãä‚œ^öi·¿—ùHúGå2‡É„�èq2ÏÝ™Ž"YA5BVØ,£\ÉÎÆ{ü˜\_±“ÿR¾€×r><*;Á*¹±ìæ>’:Î¸²#{‡é^Ö+°Ÿöf:ÜÞP˜ååCs6¡d5e8ÄÏ,™,Åùßã’XNÓ�Ô2·ÕEG†UHêBºI¹n¯5m/ÿ=Ð›êç‡ÝÚ)oN+ØGžeÓl$¤ãÒ°™Ó”�²•ÝìnfBûPÚÅø”}Êš¢;J�RRèUÅ‡÷h©vuEÀå£<ç–Eþ ,"wñ+mêˆ>vo½%{¶á^é;«0aLrÍ|É0ý­^�% 7U®Lî¥ÚÊÛ÷XP®¥ŽÙä
M››¹_e/ØBLÈûmÎ‘\Dí;6ÄdYÒÌ46»ÑÁôo��âtlýFQ:u¹fEòÊO7‰’7´ÿÚ1M)Õ¹Ž5É‚å¯t·Ã?òjž1S]aÅ]LXûJD›LûÅKi3cOæUÔð!	!_Ö
-"g’¨>xG=i¥�u­#ÚJ26|&ÜUe6ÿÁù'ÕÓL_¯FsŸ™s*�ì£vúýÉp}04u vèÕ*CI¸i!€ÆŠ‚" .†¢JA‘„Ì—¼½3^{ƒ Ö…ôÔ�ºªbEz¯Ôr\U´àj{ß¿øJÀo¿Ìñšè=³ô-uãëô++å‘qº>ë�O³u&ÑÇÿÞÒ]žï=T½¶èsVš�\¢ŒGò;JÇË
-›F0iýžóôYSü0y¼Äñ‚H”ã«wâ
-Ìo½¡b<Æ‘jÍåJ�ùBÑ–5>;T
-î3DËž•3wKÖåHhYiEêå\6+>’èUdG0¸Fymµª^#œ�:kÚyQðZá`J)3A†ÃŠ@½�ýH9¿ø}FÙ{ ”: ÂR×�îêä¸SøOADvZóZüÅµýBgä p˜g†·ê,öV£ §FY¦˜™:¾ì{ªK·v¿‘,Òå¥¨]{œî¤Þx}£wßG~ÖozÀwôoêÖß°Åþ�^$JhoÑËÑ C—É‡HgöI¢‰‘tã¹ðo±V,&7ÊÑD˜'î@â¡sBO8’ðAÐL«›Äô2ºŸþCsžÊ¡Ý¤wHÊ1kÿ“ü»Ä	»M,ŽuD¯âK6~ˆ\Ç‰‹áKè"árè_ˆ+?¬�…Ü8Ón¹ŽçÓB®@ÝO^3=“Î&lÆ¨,_\ÊM–añÌG1,C)Ã¿Aˆâ(8ß \…¡�üB�‡›‡~UVHµTÜS�‘ÑöïŠÄÄb+¸¯{ÉÅ$=B‡L.1‹‘ìPx&<JÛÅó¡Ç¤Dèà�|‹¾u3
Ò=�gÑ"j}}˜rŠxXÓP˜�·Uögvcdù¬¤HTjõßnCŠÍ›6ü	k»VõA:Çï5XLØø§ô©èã]:½ÝŒàä“VR) �¦½íxlÝ™|,°šKìF]*\·7+²¡
ö6=^ÅA>ì¿1Ð‹¼É¿¦wÆXÃszÖ‰øi;Ú¤ˆ°¶¡‚ÅøœæŸ3êÑ±ú¡ÄÝÈÍê³Û~€o——mÈ€†-‚U™à¿
¿úÝ×�RCüuwqWãpÕùœ¤¢bu.©ô³ÝÉo+PX:
-2®™ÍÒ¦Äp£Vv|[2–YÿÿÈß&;]
-ŸP
¬èÀ‚µ<CC¥K
-CöÓ‡–*VYKe\~WTü,ÃÑt¨4í³ZC‰üþÖV±m½7Õ©ì
î%FÔ›Çp/Í€Çh±iåÝrJ´ÉËte>–8EvÞógJÿôhãÕ¼ÝïYµjrk}Dý ì'rTs)ø$á©ýJÐ‡I�.�tä¢î
-#°Ûµ0Ðš¬½(wåÂ÷Ü>Ón`÷ç€A
-´îNaXÝì-ST¿NÖHzéN7â
-ýÁ: —{t ú	ê½­Y£w±ä J]ÍøöÁ	£Ö¦�g›àð]_ÓWáù[ô”Ô–Lh s0†
A)‚iôSÈßc¶@Èqëê‘n)×N”|bj%óò}�æÄ¼ÇÏïò¢EØô'ÇüÂæáã¨$8Û‚}g Mð-ž4{ãVO³
-q¦°âtÓ\ÃxN¾a%«Ú+c
-·„fêõíæ6Ò�L
½„àÓÁáèu¬Ú×ñDãxI�Y‚¿´ÔTÌÕn3ëí2“´f8ËãröÜ£'L%	žT�Ü¼�à,T…½¥ðà¥h
-aöý|
-;Á¡ÈS|ŽE\§Ód˜—ÔDúÒè\ùËþ)vmyöž•´Æúxgy�KŠî'Æs¡ÿÄ,ìâ ä%¥¼�ãðßy-`#Úˆ-ãúZ&Ô¤ét“PúÊÐU¿u<3T³>µ™^^é³Ó‹ÜoŸ]ˆßàº×
bk�Ò £H-$øô–\Êëwa¡h—u4J5`Jk‘J9-YÙ—ªáfªˆú¡–¿ãéV™ÍÃa›j�}aÆƒ $‰=.x�£y÷À%ØW¨W“ G¡jª÷È5KçÖä×eoªÌ,¬J!ííÒ–ø)Ë¤ìëMóÌ)%½kÝ
ýòë"’Ù¡xêO>W»-'ñfm1Ü`*Ú®¼ZÛ(í-Š®ê—‰³,¾Å­’ßlX©w¼’•ŸŒ:eJUˆC^°�•="]¨NñFHWíŒå“ØpÖ‡•¾RÜªÉ•î¯<VÖ³o¨|‘¢V’`U)¹¸7æ'*[Tª±Pm¹Æ:jªEvªUû…÷i"¸²"sÓý¹×¹hö–
VÇjz
-ÀŠ*-oŸ³}¾V‘Üaµ¿Æ›&�Ü¨™3ð8¤‘Ù¨KU““ºaïGø)}ÁŠzT:�îµ<hH>Vµ:‘¤¼B2“l�PRòÜq(2ö¹I…D¶°w ï�BÚ9‹8r;äàýw‚æ®ø„\õá5I?ù‡•vB�7j‡ßÈøÂªÁ=’”ÜlŒUit<r+»�SÓÈI@t"n>±Øìá‹Â.º=Õ
Æ´Ò˜ŠW†OòBì©Ìt†«e„þ.ñ­¹ˆªŠ]hœAÊ#Þ0_±!s¨ÜKT@øcs|<Ñÿ “ip3<
h«ÝlŠ¨"ÏÒ—‹Ùú9÷t�%Á”‘¨0=5�i6@ÌûˆÃL(¹æ{ò’íÀÏà÷|üÐ"l�Œ|£=ZÕT--î,Y™}°×–T¾ùóAnð/ÿø•Uè�o’ÓL.Ž�”BF‹ÌŽ@8‰’‹å/#‡N‰˜&%…‡e³‚Ç…e|Ôš.¡prî—Šžèi”òœK_>’l™“Ui�–ÎKÇ�«“ÿAñ‹n‘8=‰7Ž.ù†õ‹,& „±ˆkÓ‚t…ò|
-™Ä§orF—0¤<h†” ¡^Ä’�ÍU�´š{Kt�[—A­‹!“‘8ˆí�ü.Ø†­Œ‡&„l‰Fì‚3†ezÆ©‘hòpÜ¥Îkfñ¢7m\ýžãoS ›œq	Iy˜Ws?�•/u-5³’w@,=Žõya##‹ç{†‚ˆø}Ãy÷¨odp0¤dpçf_ íra\y�³sÍR°šuNI —Ivß?V”+xq5¤‘z,WŽ{®#gŠþ}Póˆy5¦®u´ot£*v±e³ŸÉw£[ëœ�x‡R;™ty„HÅ–Hz‘?“7{£5“�/|¼,n�(}Ü#£Š1~úU‡U€$xR¥�{Ên¨¢|Odÿž¸|Ç[O›™}.Qº˜v}®Hb•N~:>á’M~Å5€�\R,‚Œhè#×‰|€„«†«�)w„¤˜�ðmê¡!�ìdT�Ñ�àZ¼š¹�ÊQ@—��ÉH”}�Ó>¡‘‡�×5eŽ �Ü,�‹µ�ê$ˆË‚ú…ü‚%v×£»‡×mA X‡Wc·�†ÏZ4š†;PÍ–í…ºG¦“Ö…B>b�ä„Å5F�þ„J,Ž‹ƒÕ$&ˆ#ƒj@…Oƒv£�’l�Ÿ°Œœc/œo‹™Y¿™^Š†Pk–S‰ƒGW“Eˆ†>+�W‡ˆ5*�r†Œ,�Š„…—$D‡“„®{„»ƒßuU¢|“8køŸ‘ÑbŸ›Û�YYD˜ÊŽÉP•Å�EG’¿‹Ä=ï�ÖŠ?5Œóˆ»,…Š‡@$X‡…Ö®„=„“tµ¡÷˜ÊkSž–—b›S•X¼˜>“O’•?‘F©’A�
=¨�^Œù4ÕŒ~Šá,o‰”ˆØ$b†§†çØƒÔ….t¡užYjµžœaušß™µXD—Ç—6O.”Ì”°FY‘Ö’&=jŽ÷�‚4©ŒŒØ,X‰4ŠD$i†K‡Óûƒ}…¯sT ü£Öj(�· ìaš��üWã—f›NÝ”o—þF‘”ñ=7Ž¤‘Á4…‹ÊŽ�,Fˆæ‹z$n†ˆ—ƒ8†p ±)i‹gC¬Èk�]ÿ¨˜mˆTÖ¤±okKÙ ÎqnCœés…:;™už1z•Ww¼)"‘ŒyÞ!"�Á{ó–Š*~p¯ªo fË«nq]¡§[rŽTƒ£„sõK–Ÿ¯uzBî›Øw:%˜x³1…”Kz^)N�…|	!tŒÈ}¡‰>;oƒ®Iu–fMª(v”]-¦,w‹T%¢hxuKLžŸy{BºšÐz“:
—{¸1Œ“V|æ)v�š~!¼‹ë0wˆp€MnÔ­%{de¸©
-{õ\®¥|{Sº¡\|ðJ÷�–}|B~™Æ~9ï–~³1Ž’sU)˜ŽËû!ú‹*€žÒ‡½�Dn<¬,�2e-¨�D\4¤&�NSQ s�KJ£œ²�\B@˜ç�y9Î•B�”1�‘¨�²)µŽ
-�Ö"3Šn�ÿ&‡‚/m¼«L†®d±§C†L[Á£^…àRíŸ°…fJR›÷…B˜5„¤9¬”“„H1ˆ�úƒî)Ì�[ƒš"e‰¼ƒJq†Pƒ
-m ª�‹ød5¦�‹([]¢±ŠIR˜Ÿ‰WJ›TˆxAÐ—š‡£9Ž“û†Î1ƒ�c…þ)àŒÄ…3"�‰#„p²…µƒÉl’©è‘2c»¥ê�õZõ¢Ž¥R>že�=IÂšº‹æA˜—	Š—9k“o‰G1w�Ù‡ù)ëŒ<†µ"°ˆ�…}è…2„nl"©P–`cD¥O”¾Z�¡p“QÜ�Å‘*Iqš#�[AX–~�‘9@’ê‹¾1`�W‰ë)ë‹¿ˆ&"Çˆ'†s„Ä„ükœ¨º›{bÎ¤Ã™^Z è—-Q…�:”äI*™ ’�A –�Y9’xŽ1KŽé‹­)é‹U‰l"Ù‡Å‡G;„j…rk¨1 pbb¤K�¹YÈ y›Q?œÉ˜IHð™6•Ž@ó•¦’Ó8ù’�1:Ž��0)çŠÿŠ€"ç‡u‡öX„"…Ñf¹j”]=´€l1T¦¯ämçLY«LoÁDO¦¨qÅ<•¡ýsä4Ò�ev
-@˜Ïx;&”4z`5�•|a¹‹J~Teß·®pM]³0qkT„®§r§L?ªtD@¥~u—<” áw;4âœHxò-f—®z²&S“|f•ŽŠ}ó8ŠSse”¶Fuá\Ö±Ôv‘TR­_w]L¨èxQD(¤_ye<ŒŸÈzŒ4í›7{Ê-‡–¦}&Œ’~Ké�žf¦‰z€ve0µ{o\…°¢{¹T¬7|Kå§É|¢D£?}><|ž§}é4ñš'~�-¢•¯W&¾‘9€ 2ŒÐ€¹ˆ¾�^dÏ´€Ð\4¯Ÿ€°SÎ«3€¦K­¦Í€»CÜ¢H€ã<f�³�4ò™>�L-»”Ó�‡&ï�h�Ã wŒ�ý`‡þ‚9d}³)…Ú[é®¾…PSŒªV„ØKr¥ø„|C±¡{„5<Lœîƒú4ð˜}ƒÃ-Ò”ƒ�'�ªƒ^ ¸‹Jƒ*±‡Aƒd<²KŠÏ[«­ò‰ÊSR©—ˆÜK@¥?ˆÊgT“‡P­Å�£öµE‚¡*2[qÊPp óËüv�2H"{dHGEAeH‡­ÖÓS­¨XEEj}ïþ¾Ëb´•7”)á?”’Ž�IÛˆb‰ß_f¶œáC*X(ûÕcBsJâúNQ™×žñ¶-·ÀN¦¶éý“W5<Ê¿»´V¥5ÇdTºi8á„’õá�g¶PÉï�iDìCÑóë=]5«åëŠoe±eŽáB2yu3fR&Ýnð0\ß{·f¨À-æ‡
-@§	›-qÊÿ"ä¾µVûÍ˜Hª)\÷\	zFªKóÇävÙÏ$Çw''Ro5Ý±6'YëñBÉÞÚ;æ«ò;ì÷b‘	²óQ¿OÆ�ÄG¯ã«lžéê EA%ß-ßzâïVuÙÎTS©87)Ë>m{¼WX]e¡GO–“ÍsÃúŠ—ªC®X:õßû}6R´·|Êt+ÕjOPõH™Fh�}’ÇA&|1œý>ûSƒ…K¦3m3<³]™Ê@¿€ÎœÙ,_è¿üåóà�@z�.„=B1òŽˆàO°÷ýF?{Û…@–‘Óo¿Áåí´â8øgäã</ðk°˜o…¸™Þà×pß�fÈˆ®$%"+°´àP+žGÌÅ}…=×3hrãœ/C‹­}ËÐ…ýlgÌ&;É©ÇC"Þü6å{þ˜�–üÔgczá‘"Ø�‹fˆL*æ\¥f›sÆÚÓ†ršj’ws ó!VIN\Þa69Ç�Ïåºæ,Ï8Ä{,�JÞ,¨“ÆÄ@tiQ0Y'=H4¡ãÒ/z„YË4ŸÛNR3Ôï«.Ó5ªÆq&[µ(—Ä*7ð(œuŠ„ož\�¤ãÿ!3Eß»òê‚·Â†ÜSÄ”šSÐ}Ÿ2lžq|™g"TFÒŒ†dƒ™¡ÖÛ¥ã,T·„{ŒMÕ
-Ž×s©&NòIªˆhè¯°¯€WÈžï!ò_Í+<mÊ¢•¿£¶Û¨ô.ËVÉæÓCŽè1HŽMq.ë½³xÚ¾è•‚³ê#Ao¡Å4ñ#R$;ÖÙ—±±NÛBÊ¬­Ž.Èž®˜«?@w.ùU<Ét9é`·>Ý±]œ@�ð’Z°'j@�ïtÚ¥÷vAvË�—´'
-OG7¯Î\Ð_Ú–}ÈNÖí£±«yâùY¹xÊ**n=ÚÀn±$ Ü^Óp”œ?ª¿ÔNi†¼ƒ�yŠÒŽœãŸÏ?hZC�ÙRr-ëN‹%ŸMo˜E0æ×¦¡,�Šæ£žìðâénªuST_h<ÔÖç#Þ»à!¥äbýq^7©1™âtq¢Ä)+ûl¡ö5§5TXF/?5Âr0»jÓ�œ—ßÙÿw~Ñæ¨5ü`³>È2ucÞ)p¹*ìò˜€K¹ÖšÆfS*þ�´W†ÝÐÌ}R#Ü(8“ˆ”sîø*”ÊIÆÒSQ ž;Þ’‘×^KE<|qg7÷9àÒbá/a÷•Ç<¸™z¸†÷R²"(ì^Ø|tÌ
ñ‡Øè>¤;rcc>�ù¸§ymv
-û;ÿ¿¾k²s=áÙR�Ž\Óò�¨Tô§àœÃç
ƒWà=û»‘¡$D‹E!�±»¢A¯ÂÕâì›�¯$ŸºÃÖKÞ?å¼“|ÒÞâ…Kç	Ïó¥Ò¥¬6AŸtõ&ä&õÞï¥~‘ÎÈéú@" ]ê•†çKÆÎ�2­ª–†µÀVåDQûŠ2DƒqÝy¸Ž‡ËG™çù¿ÉýÒ+Á=²Ü}r¨;ïöv;œ÷MÀ'´4w·—_˜“un#Óèo/c­/pØÞCúpõfÎ–üQŒË=¥Å×ù�kÚCA™ª3þ
ä¥LÙ¾®—�üŽºÉ˜^M˜)÷n{.*¯#1wØ¨ÖÖkK˜Ê�Í2»¡8gÂ¸€þ–Ç×¿J8åß�ÁÍ�³ðF•1à*ÒªÈòº‰ùÉÜÏ´Žê¹µNeÁbam.�P®:‹¨ˆ™³ÇZDßÄ}`¾J.ä#†‰ø9 AÿŸˆvè’vC@¯Úá5…Þ“Ç´Ó¼ÉÕ÷é¯ìÃ…BfiM¼bà]Ñ·±/”FÑî¾“ŽÔ�¼i‹KœQPk#8P‚®7À¿Õ,#.Fõ
-’Ã—Z{Æ^5Jgž˜µL×ÆHy(Ën_M²Ãª©œ‘28æÉŠ¾�DÚ#¶€Ó†ub¸Q[GôD“•î­	Ô Ž›U‹hÿžûË4ÀhsÌÈT¬ˆæÅP0RïL�áð«Þ¤.åù–Ä>ã¿°©#œÁ&SdféæƒP¢òvûì>%¶ÀWfÏ³Îâh…ªH¼ˆ1†Šñ€ý¶0š“I¾#¼À+Œ»&Štn{.ºýé¿]œŽ<÷´KæàkÚ~BŽ°<k‘§ÀK
-Êà+:Ð)Þ:ÄãðÛiì5¸+õ®‡FâV	ÃÊ6‘ðúÒßEdÃã<GÅû…?·vAdðRU7ì5˜+áaX'�Cp„
-M¡îè.j#Ú‹ù¥~ƒåâ+cq<ÿwA¸FøpÓáS‘eí—¢6qúi'A—xs¥7X-¦š6B¨¸P¶_Gà�âgÙ—‘‰ûa2j•Ü;…I%šð~œ*9»é�p§¤gíz‘�ä—æ~ŠÂXn¤+–®‚	ruîä+›ôþ� ø€kêNl]­Zq´öª^%Qi¤EÊA¦" L­ 6„ìä­ÿÛïeBXaA9”ªØêÏUkmA°j='Žª…;ôÜUzß§�d‘ÜßtWÙ©iMÐÆ°1¾ÀÌ^§@ÎÒ”ç	ô0u_˜‚µRA]{•ËK«â­r›L�a	¦œšótÕQ­§ñFÎÝbÃ‘Ô'Ð2½#æüŸ¿Î	à¼=÷ ÞÌ„�ÅVÐM�‘
-ïªöºeaÅùÒh_þ�t¨Ñ²wÊË�Í#Ç[«´&¤Æéf4¦Úcl
-¼ŸÐx:�SÜˆ°`nì�!'w×v(zë—Y×(‡œvÂ©¬úKñV=R¡ÉF5ÿ¶�§Ó¾·I¢'!‘e(°Ž3ùxâH†¾Nøº‹}ÙqS>¥ÃéÔ+<Ú`‹»2°9oS7,TÕQÎ[’³šÄªÖ”•ZàH�vè•Í
-L„î[º<ó�iÆXáct7Ö>(ãþ¥¬1Ë;»Ž˜×*NvŒƒAå¹¶�åªKM’UêÛuk’»´ó«¿ŒöÓÅ;.�Œ¥ãžIðw¦_Ý§ Wøïw?�¹ô/«>&:xÒ„+¾íIË•’½§eÃ*ùn�¬N5Õ¤N×ô×vE�ißU^\;…”=ö‡Ëgî‘v}ÁÞ*Aò¶.Œš—Ûn=Ex“d}§ô"Ò_³Q2V¾8¥�Un‰ÞH†«Ùµùäfí1ñ)2º%ˆ#itMÇ(1µ8ÙÙI¸”øX¢ˆOd¯ð6b¾Â*ÿ›X¨ItÄçê¡äÂS+‹:JÄCs×~N¨áNq?Ñ‚®T#ØpûL°XÍW?;4NÓ LÛ¶ƒ�MöAú,3xóI÷pO„�òÃKP.`?€ânü9Èxb[6jÁìUrt{eÌÆA&Æ” ²dÛíêÃá’A0îŒ<šñ±;>…X+nÁ··�ðƒÄá–3HW¼DúÙ Ã|ôæ)úšÏX¥wÐ~&0ó:6“žH´a*º!2£#bA&õHìç)Òm.¢>k�—XÜoçFüMið]ÄaL,~€<3ìÌœ‰&êe[¢ƒ<qKæ°€iØ‹ˆi°�Ñ¸ƒ½tQãu(Èq±|+t·<‚ë…¥eû¡ÇðUÛôâ¹H„µ`grØ<¸5
6}‘…Ìþg°mü}±äÂÜ*�?ÓÐÐ¨+¯+²ù8CÙ.èLõGºIØ¯âhQ(¼¿\—Ñ†ˆÊ¼·ü„·>‡¦˜Ëýyô‘1H,Á
-øÿ¹Á®³ÝõVÝ¼Ö?Ê„ºýÍþL7Ü Ó-�Õ²…(ìU]Ÿþ>P±oKiß^‰<(möGq³]‡Í5”ºý†™¸š:³¶©+Åæ­[¿g=¤lë×¦@QÍž— ëëÓåptÍ_	ƒðÝÊˆð „µÿ9¨»õ�8=a|ë6ŽEó™µÍÚ�ƒ½¥ùÚ{=§hW�¦ó˜æˆî¿íö‚hHÞ’°ã=ô¼þ]‚¶Õ”nx‰øT¸øÝD~·•‹Å(eþZ8ûT?£!É ”|oŸ¥ßœ›Åšy&ÿ±n€»PZ8ÊýSZ‘±œUÉþÜ2�U®Þp…ÉPù>¥Gµ½¢$Z=s�A‚fÕ�äž�¶UqÅÒv&€½'“jÍl’Â¥à
-3¤H_Ï$¨U	‰ô
­û†]´\7ì;@Ï†9QÕ‡~éº�Ú‰=«ýû�Š)]À\UwS·…æœ&�þ[ûKþ
ºVwkG	í½Žï£î!.a¯)ºÂ×BEaA¢<jˆtm'OáY5Íô1t¥¥—V¡]d3½ª·R?a†¼	J‹M~ÛM­X¼€œÏÂœä9<Ç7‹tâ×D%d!êúéOªv¥Tôns"IÛ‰j-S“?Ò¾ySIŽž¿ýIMÄñä
-ê\˜¹�ªò]M¼¡rDRâ
-å-û¨é•GÈTãÓL2Á€û‘>^éC¼Ó÷ç.%.ð/¶‰ZÞóÁsŠÐ3Æîö™ 
-™k¢b3O�Lé�
-‚µ»îœíð"Ô¥E<c]–“Dx˜ØÓL;7çáo¯Csñ×z³Ïq|œwíÄ/³gÞÃ;6á×kÒõ—ðÛU$ˆ_®°Ëµxo¹!Û‰W—Ónâx©!ö	ŽYÐÐY8iÊ÷aqÌ°M”ˆòé‚<†•–Gà›$ü0¾½aºO©m‘µã>53%q×Ê‚´|Nù™X9>§ìãõ]økŒO$¾Àd…ásô·çÀn³=ÜíØÅý	žµ
-ü§ÙZò6dHbÁ@­ õè®ºû!Øç(YŸ
-úlo|æƒï,&‘8nôÜøÙeq ª'�[Z:Gà ¶Ã»$ ­Ò¬!PØhJÍ;j+6õ�Œ*jý"�[¾ó›{@Z#Z0S’à9€øöòNÛ’³z?+‘‹¢U–¥³e]¦»E’#ÆCÒ¾Ô‹ÜeÓ=¦L	Qó¨ºÎÛÂÑÚñ•oÙ8ü‹Ÿ™Óèyû*Ë£¢hî‰¹GºQ™8™oI«Q+Íºd�*ëRÝõùêÌM®¼J»4d)§×ýî-e[á¦UŸ2ƒè®e+™© ÜÖbŽUÖ²&“—j1zhB¥Í±6m×ýÿ¤¶&ÒÀ”Â.VW¶H=	 @Dƒ( áT@@@åF¹¯�;$!ÉÌ|óÍL2“;�@¼wEÝ¥òXE­ˆUÖA-ZÝzá£]Š‹Ë¶ïoxƒâÔr"¹ñä.l>¹…[nIãM[Ý=Á
-I®c#–.=¬Ú+)	Ô„¨½‘E>‡—!æÅ×óœç¦””Ë0²éã®U8)!R0&µßÂléI÷P¬^âx�M*­¨ÓÈ<¶’ìC=VÄ}4�–°@×çÆCÔ5å[¼ÝÓúQ—°]½e9†¢öî±è8jç¸€nBWÓýd7yù@“¢ú98GZñnB?"7‡ÀðöÞ2pÄØƒ5øÁàû¾ø¼Eßƒ"÷4
-uòGÌXŒ¢�¸£:){GX*¯ÖÛÃæ<Ï‡´dÿ8U$îyÖÉÝ¢»1%ùk0Ä,‰K>×ÑrÈ¸'#·p¾S)Â©rál¬—ÎÀlýBÝ6¼SWX¦4æý¾ \5¶'kWþ9Ú[JoöG)y¹�	™%;Ý�LøÊI+û§ŒÐÜî&µÁ™ýk÷á&V)
-xÆ›ûôØ�þ@òŒ­µ�FÛUmA/Ð•Ë§aä'Ü#e³d¬S¯,Ú‘�Ð£k@ÂÁù‡kƒs=%O±óÈ>lËÓäLôºáYT%¨2#T>[ouçÊŽR¸Ó=™-¼BôãÃ'w65àßÛ\c2º>•¤cÇ:‰l¶¨m.éZcÊ‰rA¦‡ƒr¾æ�ÏRÙ/Ê5î>²¹Òé•ôO}ÓüÇ‚7’2ƒu1SÓ¥[Sf[rH“È/ÈnSé*®$]dÆ«\v
-hnMm Gþ]Ý€wå*ps»JœNÀ´&O¢ß°’oÑ” ‹ª°¨>«QT¾,P½­:”õDWÃKr ÏÔ…î´V¸7,æNS=‚	ï0’+ü«Û[øXÜÌZŒS=< cªß‹�5�kSªŽªýëº‹þ­<^?’µ–qØ$EKcBd«|ƒPÇý9$÷ J›ÜÙ¶p•¤‘•~’>ÁcµÞ�WE‹Ô´Ps [9+Š+²f$¢w™ù´µ¸=á�\Ù”É¡¶I–p1-¹â½öHEl^)ã²¾[°Fc)#gT•²�Êæ�ìcáfA¬2N+V 	©T’q�,GDÜ"1{¯…–ÈßÙQà2Íúfüÿë/ª9ÂR0£ðZÅ0óX^P¡èÅ?g|%OÇu»‡Éy|sD&1¹ÐÒ½­ñRìWvà`-Žt‹ATë™ZÁ2æ"}ªâ+:]q'@ñùHzu–Û½—Ì#_DX[ˆ×CÐNqÞƒá³ì"ì;ÜÞ±­;[¥T7ÚÀe–k©òHÅy�[>K^ êH{C9(WÅ?'Ñ†ðcðœÂ*€ÄuT5gðˆ×læëµ¨%Î’ù0³­ËëhUK._ªØd$ój©	½$-“4kËã+ˆ}ê”ðh¨tÅ�Óœ.lŽf— ÷ˆËŽ}H7>!Ma;êÒ+;VóîËûÍWr'©ÓæÔIÒÓ¨‹_?é^ïø„?Ò8lû.+#9"¬C!cç£"ò©ãC$
-%cq´¢vFñC—‰·SžÛy2·„ZÔnL£­%q`Wó†½8©»¶í8 NàdbÉôoìý¨/u×ñ²ÎI®tl,´«�4÷›ÊÞš¢ËçŒŸñóSzõ°b(v@ë]å·½Jõ¹FïïÄÜ¯ûèµUñ£ ßåuFøËš#Äµ&²éL[ïvÍBëŸÊÏ•y6÷Uªrœâª¬–.¸Æ?6F½Pç´ÝIù¸~Þo�¾)xî.¿$uyKÞ�8,�¯$OÄ]­Ï«3j¬ZºkzKc�åuVû‹õ�õ{�viƒi×]ÕsÁlØ]ægaŠßSÅ˜¨Ï+‘šlrqe¿K%p½Ì^tÊD®W/kNoÔ•ðaæ¾n��hÕžIõŒhjWœrL|+LD?o:èwQ>/©óÊ¦¤{\cˆHY ÃyA6	›[
-¥›ªÖƒ¥UÅfýZé™ì�ÚeÒ©=Ñj+7æ'æ¿2m›¶•=ñÓÊƒ¶WYŠ]+ 	gY€1tGãÑæt<õ@œ!gMê"Á³ì$MèH¾¦
-Å1ÅLð
Säa¿ûPÍX¿W"1„)\)|+`E,F0h$E•ŒÊOk!õ!ë†š¢<’”Z’cC·gBõòÛpÊ/�²†^;	.^åÚ‰óÀK‚Þ
³†§š¬ŠQÝµW¡IóOå§¬ ÕKælÒó‰æGŸ¢+Ø¡±òÔC¿Å$ ¡—¼D„ºžáRÖiŒ>7„v7o®X¡‹7-x­‰×[eW%iÃ“r¾Z­ •ß‡ÌS7é¾÷Éoä�½ìà.rÁõÀ‰ ÖCt?Q/Ó_l·*/Ñ›-
-âÔZ^fº*6Oœ¦gô™QÓ
-G­eH•«"|Û‰ŒÅÆiü�\íú#ð$#X¿¡BÈ­»¥ßxx€O›Þéœÿuu{mÆEeUë…ÄÚØü*ªG>hø:¡–h>ûV©Êg'ð6Å+×^ìåìh‡úÃ³µÝGÊ
-1ÿpXÉ¢<ÏƒÞeÂ´±¶pþàîSvåúÿ1\ßoMÆµ>êS´gë„„’ ©QYA”D‚¢ÌÊT@fÈß•½÷ „ˆÁª=žÕëÕY)J‹Vñ|�¶”¶ž£‚U¤çÿð~~xÓ&Vƒ5)Nªi�<«yÓZMUíh{„9!7sòÿ)ý˜7ÑtµëÂá{5ÃžÚÛ¥vçPý©üÛO
":Î²¡©$}«‘ÚBOZªÓ2É¨§XŸR•‰œhÌ¬ÌÍC…KðLãËÎ��«ª_¹(M@É¯ŽŠæ'Œ¯­ÞÖè¬Ó¦_™²�†¨¶ÙÄQ-À®$Oª¦9„BÅ^^v‹ôþ
-BJ„»IÛÐÕ[�oXëJâì1¬·‚`ßÈŠ5Žpvòôþ\k¢Eƒð@ò]Õ~#¡U.T`K— Æá!Ñ¾ºk˜SÕâxÂwëmXÁ²<—È¼bx ¸¸3L÷©ŸXªjÈ—•qÂ9"ûJT‰µI²E?EBâÜ£‚öóÀëÊ¯í³ÀŸEÖt`2c†3>ºwŒi›mb´jh#û ” ‘­öb/#Ý-¨ÚdÔÿÛù_©³o'H±EB(±ä~i|�¼Êü@_†íÐh¾…o$ü­*€7“­òÿAí‹T­ÂN!«@UP?x	D×9ÃÕø
-ƒ�©¢¾5¯LÍ¥iŠÈ=^Ý%ùÇ;24qÒw	·•7$“d¾¼¹J0Iþ‚Ï`ßÁjè\Ð#0
¼_'uÀwù¼u\Ï(¬5oÕ>Í1ôjJöÐt8Õí´wjŸ21Á¤L—›È²)éA"Hö†­„Qð·Á÷!NíÏößl~åG¬ÚÁ§¦ASMN•!ÈP¹û¹Ö£+H;¯Þ¢¡%RŒ©Ö‘ãdLù�-Y/½¶F†ƒ7ôw-Í^äÊ9ô›eÄ1{Pj¢Ø49«õÿÝÚ$£.
V�é—$$(Xš=d”,D©"Ô#WdÏÃB¡	œPàÚš3¾'KÊB¼þUìýÊžºš‡Ùîçµšµýh=Hi±Í4¼Ž‹4ÍGbÞÂZ§pIšË¬ô�ÊÎõ€IYcMHÂá…ÒÞ^ií³ýÑ]sõw³½Æ†ZŽ3²	¦¤[OµðâÖ˜ò˜<’Ÿn�ájÕ}y(Qq€Ç	Ì“fÊª%^OÃT©¿' iþP§§ùR6Í•Óºšö¡ýO&—²Ú¢n{»`LfsIë´/¹~8‹ê8ÏÚ,o¬<'a
-YU/ú2™�%Šî;mÞ|’»Žå¦?hÇ±EÔ/mßqSÆÍÍÜºØIÃÞQJ»ˆÏÄ
+GüÐ/dÇ„\ÔÇÈ¿DÍU´Þ�¼Üâù®s¼)ÆÙŽB~½ÍÊÿŽZid¤¸MbÁ�Økzº0“„Öà„£¸GÊD¡¿K=FB–‰+*½žMâ¯Š9�×Å�tSü;=Ä±C<I
µ.ÿœrÔx^ü"ö„N%^ …©�+qóŠÝ@0#Ý�PCðûª+CzvIû¹_"y/ÛZÖ¨„¯¥OY2aFÊNã? ?bÚ_ €©ºD­“ûÀ3ºÄD=ƒÎ�«*:»ÙJ\‘ÃMRTçœ/å†,±í–¬+½Çì–^LYo¨“LÄŠµtä5	£ÚŒ¬�Š�£àL“d%TûÞf8\Aêú�ŽR„ïàjCòðNŠz2‹hóW�é%¦9%!yRW>[ª¹ «'­QöJ—EEËLÈ F…èáª \ð´·| cN.<çš0öåÞrôèÿÊ|dåëbÒ±¦JÍçÉ§õÙ*KìvMŠâÒReŒìzI.™Ãt!Jl„n–ã:u¿Â<×~ëT®Èi>›ÙiY0Šw>7>ÓS“5º)­_,^}_å‹y£¸¥ÈŒ"K¯ÉVbNÂ‘A�“JŸ©¸—_3t²êU¶Ì§>Œ¡�ö•×~žz [sÛf×xãòb{wóq±¹�Y^©ßÃšY¯Fs‚äûøœ’ô“þGdù©ƒ!uaÙeýëëÇh'<ó
žTjç­&Ë¶Míúy�­’y†H0¥°î…{uÁœ™�Õ
-Þh€Q–/p¿=ÁnD3fÚ›¶g‡z‡š4¨Ç×ò85Ú­`Üå,n›&£­Él91Ëˆån
ŸÔ~Â
ùF¹A@˜—ò„½Åü¡•L#Ãê£¶í£?è«aáiYÝGÙèÔåNÄ¶õ7–n	ååkÁ|vÄZM¸ÀŒþH±]èÌ—‹ôÅ+ŽÏpï3Òú±¼8º½7ƒ×Gè*à“(O\ü+Û–Ù‰‚"2ÁŒ.&Jô›…Þˆ]ê]¢,tŽ¼EôSà 2/n-x,šf,?†ý@/õ|&ú�:ÝY+zJ¹Ò^-^?gcˆ©äM¦1�èÑU‰OGpUbñÚ(;. i@F‘Í÷¾™7âM€©ô˜t—zÉÝñ(§Š�Ÿ±¶¿Ì8c/x•xI{ÔGô)ÇÁbô-Ù*�Úwƒ‹‹è¾Erežº¯LÖž5×Ý/½LÕw|/Y ÀŽiIvü¸å)â#ÇÞ!Kˆw´ká¢ˆëÊDè"ú­TaP\8ì,|ÑŸ¨‰ÉKí5¨¦³ÎtÝWRK;–+ J±/?Ñ²]V@Ž1�&jÚ$èˆ)…ù(#™‡—¢|Ð„/Ôƒƒ¹¯<úÅYÂ®0m)u‹+G}‡’dUÙñóqÅ]òÿ¬¶&Àuuœ¢VQ�¨'!€�-‚
-("²GÈÞ_¾™|‰IÈN‘VAeˆUQqÕ¢ˆ(Xë@±µÂ�\µ-zýïó¼,ý†°-/Ì“ºŽ
IÚm.!Úu¯ó *FU‘êÕô¬ôí¡Îú0kï¾ØÚü¢Ó‹«¯^v-ŸÎõ-,Ù–÷Åk­%Õ4kË¸Ymøzã|Ã
Ý—ÃÚ†ó”jŽêCO0K•	ŸLãDPh5&î-,€Oc|–/L²u: â9dÖ�D~`ê^…† b(Ê³óD0Â¸d&vçüa9�b9«¯²•¼¯Ì¾Ü}ü_düåÂãüpÁ3‘ £è‚6XÀCÚašë™ˆFŠÿE˜ûJlçrDò–ºh¬šÁ„ JS7[wJù\6ÒÍóã3ÐËéƒB6ÖÃâ3!ž&iòtBP'.ÄTÒÃgš²�á`³–êƒwVðèvüOcsP�‡±?I«¹A<éëôÙ‚½2ßý½ “÷€U².ò(Ü-&:£/doN÷eþ¤Nkü‰R¨.û�¶^•d˜ËÀrÇ%«X×rœîÂÜ•i;øqÊÖýÂr¥_pªè‰âù¼RáFESäê®-Iæ­
‘Ù;MC¥âœ?�f]�a aÓÌ~};žCÖ­Oóò´3öÙ¿©‡ƒDaª:²²æRˆ(òJùugqº{ÉöçY‹Ï”PÞXÎiëhpÁ6—ñÖüž¥asó–¥Üã>5nÛç&Ø§�	êºµYäBˆ¨ˆ�ˆ>—Ú±5Í¿&ºÎ–¹£ªØº–²¨ü…¦†Z_Š^ÅõÌë¬‹–Ù)�ÜÐ|jôþeÓ¥ jp$+À‹Z*qñQU¶ÏJ…¯Û¸�Qì”�X»PÝšó®ú{$šn¬ 0—°\Jg'·qÚ‹ê¢Sù¡Ûƒ¢…C¦ód¤êCˆ“ð”º¥mfÊ�¶µµUé?·./òÏºÔ´Hõ8'Óî[iÓ5Ÿ(³¢r$Ù�³½´=z>ï^ä"„ò½ÈÐùŸ/€Ïi,'ÝR¼Î„{�~¨SkÑe…�¸¥ÚNyùÝx&M_Fÿ›I:––ô�}·’u“')aN7¦�3DOM±ë	pž6öT�€›1Ñ°F˜—=UJê©c:½¨ƒÑ†5�ì½¬§Ð{îý”ÄKÝ�â@àv
-ô”lDä®VÜŠýÞQÈÅ˜NvoÞ¶·õ” …»SóYØÅ@cE„«˜—Að.yºþíŒ€Kq´MõX Þ�}rí–Ü‘t¶aìÀÛnÎQlÑg4«Mü)èâ$„á1Æà3:/yXŽm�’ÀÁâý�K‘1	Õý&Å“\IÒ¤:ÆgñÙcÖ„ÄÇp.J:T�<&îý%ø¯¦¯I—&eˆr¥êÈ	(J:pq”Å»w£½²J×Ob�l´õ2}gnìÑ_™É¹‹
-¦ÙqÊÛÊ?¸k”yàï•2†ö«à¬réa;`UFf‚˜Â�	')üÝkÑÍòû„�Ø´œÚò-õ¶ÑV
0–šòXd}‡â:ÇQwE4Âý ¦Íå�jÆ'…Cê¿ö>õ©g,ƒzTsÜ�:å„tL£xÔ|-çdÑóª�ô–mfœ¹µ@/¿À&˜_o¹ëòÂ©á|Wc]b¢p“þË^žÈK—à?ùjìîJÄC5I0c.¹[š„”«+¦hkËÏäÑq¥™G®³¬ÀÅÒ•cáAi	7yæ™{€&c�)Ø£ÿÖ‚{5ý„ïÑ›ªøÆ@Ê<ûæòA*½ÖÇ”A·
”ýÌl­Æ²/•ùR^rZ7'ìâ±,ÝÓ¸™÷§€Œ—Ü™0OWHAêäÿl Õ»ìqÎÝ¦r#N_dÿ(sd®«�ØØ¾ÕE”nby_ü_m}·'UxÞ2ßßG4e^ážDÂ{4\ãSÏÎúxje™SNÂÉk†h¥-)�ÑÒè(ø†Õk«ÍåLuŽGø„råžÕÂœâûþËD�ëÝ _Œbâ|t¹æõ?l…UZ„œ}Ü<Œ\¥Úåh*#ø€ÍdE]�µs+FÅ2Á†=’4 yG	
-¹‘†¥$Dí.Û$þw“‡è#¦âØÉÂóB 2NÉ!,åY„-H²@™3õ „¹˜7˜½û³8ŽÞá/‰D=H=øAlÜE&¥I®6¬¢‚ûe/@2Š®ˆpÙ"ð.xM ‡F`Ê<ø9r ~':-Û
`~ØS¿q1K²šÔ,ÉÇ½]Úðni’�Ë7b¤ÒDÁ(ÖgØüGLÇˆ’ÄóaP%±f»Cí¸ç!+ü	ï‹øˆî—fûÕaÇ¤¯I¥âg²4—GøÙÛwÜ1EŠõ&?S£ÜTJš'‘ˆ²ŽY‡ÀãŠYq¯`Gù›	¢”û¥¢ÿ“w‘tâ]ò#®‹%òðÚ±~gq� 3iõüÚ»bƒp‰v1@MR¦J4¢¶Ç…AqªñˆÙð°j“ß
-4.7ƒ$Åº•×HÉjÅ‰švláª""×1ÿ¬†Çë0Â
-n¦—›ÐfÔdÜ­5l8x
-lÕõ„WÃ!Úƒ¾�‘~õSˆíRq\ÅâvåäÑ|¯ì¥eÇ»dLÍà>)~€6ós,—Ùÿ-8�á æ¦ƒdp™ÉòëÅ¯æCø�ÂÈEÓ*§Üi§£ÕQë¡”’èáQT*'¥ç9§Nçù{¿çÕ9=N§§n¯	µf¸>†0WM6Ÿj«­]ÜÂ‡;ÆDÊ²]Ä÷óùÆFçÊt¡G¡S’¯7lðê@ÓøeÍ´ìF[×;×æ–e¼JØ$…®—^i8Yü‘*©ö�õ„=*ù´¶¬
-Øz/o
-Õ€Ê.øfÃ”ñ®W?ºX¿øŸ´lcgl•‹|æˆ×Tr´}r*
kAä r°Éõ€ƒ:¯¾;9^ëRóÉÖÝíªªÐm ÑúÂ7Þ`–xM"ú;MÍÒ“'º*wÉ±îŸØç%Ç^�jÅÀá×²ß•y­³êTsMß&MiN×·fê{pèZ0¼bÒw'4UÖî5‹4¬­
-ü¯lIõ5bu®ÂðT AæiÒUÅs/¿”½„8¯ÈO>O.PNoÍ j˜�Xò[`™ˆ¦Þ¥Ê�úõm¾€î.ê²m@¿“=äÍXH‰t«+]"ÄfTN–âYšeI¯ñ!�SÌ‘:†,$†¡9CJ�1Aùjº;+{+iø¦:”[„è4`)òVû§ì
-j2²ü°U`OR"v
-v�)ÄS0ø>‹Þ±D3î$°“[‰ŒC	àfèËŠ�Œ1ýÐ	ìƒ­Èsé„~!)Fîa²ÝgÑÏq¯L�ÿÜŠ¼ˆÃ§È5‚Aâ$ùï†º3”Òz8NµÒXEõê"¡4êvÑüõhÿaø.í¸Û
¹D¸¥=B\„h_ƒï£}<kiïz±VbøÕ«#
4p†Z˜£‡
-_Baü‹Ìqx%_º‹DæsÿÝâƒÌq»‚×£OØ³"»ÎzxÆà­[;ªÙVQTæ¬ÅÊÓÈ]�5Dè-
-½A�ùN¦?”g:»ó5œg4D_Gd†ÝA¯ÑB½«Æ’¹GžîÏž¯éR×Žšæ4�5B"R;P-WçèªäÀ÷·2ì`ù¼�4dñ‰VÃ÷ÍñAW‘§F¹H�>Ô×{¶b·¹öNÕÕf“ƒÆáÐ+<U+jøBe×ÔEå_Bí?dÌ#lw.‚’+Æ£Ýa¹5.È†�æ3¢"Ôdô÷ìÅhþbõ×ªÐŽã'j´½«ÒméS>Ðžnºœ/Ô]n8™njí;ºÀûÕ’¨Ø±reP>âie¡M�žw±H½Ñöå7Ý”A¡^Ø¹}®ÙØQ©ÌÐ&¶=Ë;¥“4oL_”6ªvì­µ–¨Fè¤­&()?,JEfÍžÓØbƒ_M#÷Uv”i–Û”Gø³CbõZV[ô¨`>»V^ŸáÀŒ*v40íÊÉ¨0�úl“¸71±P§Ç0‰VÿÉø­5òŒ‹LŠÝ¡§‹ë”ÏèŠÖ¼º[y<Ý‹®P÷%>§í­Í—è`,ð]=î¡ÈÄ?Åæl{¨U¥C†÷¨ Uj¦¶©ï•S1Ú]yïSqº+û2©d0<1‹Ê�NmÎ£Ä;ðªmRÇ±·kj�ÐT>#Ò@	‰¨„â)qöQüDŒÁ³¹Ÿ¯‘‘´¯HWôLÂ2	³n^IVâÙ�íä
bƒ¢ˆ™5½T(ù]…"z8-."�áÍ¸ŽÌ,Ã»IÛÁt|‚J�%Ü(×„T¢„Úy‘¸FÒ�ê2d>õXàH¥=Ê?E1~�õÇøzh5¦á“ŠÄ.sS9îÄµ¤FáiÜŽø~ü,û42“ðdÍ�qÃz9b˜¹*ˆ"Ý¹e-�'ôï–ÀÕhE™X>ƒ>3‡e_ÄvšSÚ±.£$>_m8¹/×ç®ÁßðR¡�Hã`�–8ÊÚÊ®ÀGª§èùHŒÍˆ‘›UÎr?4¢‚Ï^ŽvYß¤¸`XJãÆ1«y8âk|±)0àN„<þH¿\ÐBláêÌ7¡7�·)w¸­þ•.	¨ýK¦CŽÙ'èPÛå½u¨­²&ÀœË÷FH1»åý€+ørS¯Ç�†*Aþ”GMã�ª­…Œ‡ÝZ¢µ‡á5õJG‘õ�.Y¿#]ui{}Qo»%N€vU}±ó+ï¨ÇN•]x�qRpïÔ‡§¡¿ÛGTC':R´ËàøöiÜßü*Ëˆ$jÜ3ŠÖûnÿM±·nz†ŽWÍ°|«Z¨Ä^šç	fpµ~¬(ËÎN¢ÚÍq¹
-]—)¡ [ÕÒB
Gä}{]õwèv›ÞOåºÉ‘·jN‹G¹)@â½‚“ÃÝ{ØßÐ1ÓãËÂ>r�Q,óÕH±ZªÐ�(Ø¬d} ²iO_£¾´}!ï 	?ËaÀñ5ö
¼Ä;˜5¡ë<V³<Ý˜kXTêˆOéUÊ~MW]R¤æÓ5�$7¦S$wsÀÛ,ìcH®aid¹øë†¶z§2—ñ�=ŠÑcø�ÏÖc×¸_Àdu"—e–±Ópüþ¶‰L^ÊŠÐðmîÌ/Ø§áAL#î!îfRgo³”œçqšþžœãfŸãAhËâýªhÖ“ˆ*è`‰ÆÌ×A¼MR2~dQì1z–ìû�¾E¹‰«é6
-òæi)õ£ÇíGGp'˜cìÿÞý8—�QF1^ì¯ùýô${.s#ÝÁ–ï¦ÙüX1Íú‡µÓë˜iñÿ	‚¨&Àj9ÐêiX•dDDb„a	Á€€Q–¬0d$¬��ùïýg’– ˆŸ=ª¶úê©ÔÕgŸPôpPmÕSŸ^O±'Öç}_´h'áoØ
Ëê£{UTO»×—A	”¦ÂZMžÍw€O‰™bð,#ú	ÀåÑÅ ;’ªÐ'½`ºÅ»ä ‚×-q­Ýà 9Df!ÓÒò=`©álþb0ž­Ê˜½7‘t¥NGsÀ¤8$øˆÿ0Ìb'¼§Qd×;F•ÀEíBé-à±m@2\±^Ïk¾5?Í¨zŒŸD«�vöSÔ,ÐF¿YPä|À!@A¬òò°4ð$`íå*UO°4(éZ!ñ’'ò–{dÆR€o=»ýÀ3¯‰x†šàÀFúF@?àK¦x?Va�‡€Ç \‘,íT7 ×·¡lX?Û#È=¬ÿ¥3Tüƒ~ªÝs»Q?m}%×Ï˜ìÁú¶( OŸÊôþK?… �ÖÐR™l>$1I¹&nesÙÃÅjn®†­ª�'1n²žÄ#Ô½ÆD�9Üüœÿ3aPäºà:•Äsµ"`Þô¿*VÁ3öW¿¬ÛjÈ«.ý“
”‰÷ž§çéCÔå¦¡Ähòˆ|2ò6aW,ð'qFÌ`M¥×:ô°î”~À +—/°ïxµ<æVãýRý}sÝ^gª·eiú’R!¨Ö¬ÈC¸MõŽ;¤éçJÐº¯zä7ýg�Ž5¶lh~ÉHù5t¾R[’J´"{v“ûT;)¢Dý�P‰ë5W#Ø�v†?�NëÞpIÔ	øÒk‰·h?ÍTÓoô:­ªZLyéVCd˜Î˜s‚HÓ¯Û¹—è‡„k±N`s¤�Nòo¢ž`8÷(’þÈYwAšlêÖøù.ØßBzÁ
E×\›³
-—Â²4³Ãò„sè,,�\†n†%üóH+\Ê½�Â5œ$è¬Sç�÷H¸q
éBúU�ÑÄpÑF¼™àî¦±!¼'m
:‡»%Ô¡[1(âbG_ñOÂ/Ð2î8yÆ ¢UÕ’3Ž5¤±†UÎ¸Š}¹ÏŠ�1³»W Ÿèë©§ÑíÔé„õÈ iŽ8†,'ªùp
.æÎA£X*grA[»ˆ}¶[õÞÑf­ÌÅ¦­!…Ÿ±uæþl;ZmrJÍAÎ$ñÓˆs4¢6QOøjè¿$Ÿû;$Æmœð8æ­œÄ/uÝ“Má.�þ1±#¹A-öðì-È‹¶¯R��4ó\|;<b4D$À\–Ç/†ŒÔCîspž8Ãùb•îxøÁ+²m˜±W^‘Œ>ìq.ä ~�Í»î#Xû•”qøµmY|\lñ�p‡&Œ›ù)P,“Í}	~Cñv½ð$eIgPÉeY€cƒähù];·RYPÑTÍËzc‰ª}µcÀ”.‹{a¥áÌ¸|}Ð[z¥â™_)U]ð˜ÀŸj‡™Ÿª"é{xõ±r¯¶¼ÚßóG,m2×¬|Ó�
âA†·Mö¸>V(ŸçÐ½Ê¼eÔ"U®Ÿ„hÑõÇë—´ìùÒ;u;Ú:ëm’hËýÆ”¼ÏfnÓëÌq£T>˜|†QTÄíf8­ëÃ¿ lªG<¹RsÌ¯ïÔ5x±(`›\ØvY^[`]ÝRSVb–):ó„Æ	å?3ý
Á­ï’#‹:,Î‰vÕT…=#µ]¼-„@7íw›Özþ¥Á}Í[­Ej²¦É<®	/í4…hær;Gµd†ƒõÔE']¥-º·±ç©Mú¾°kÄ$°ƒ·WüÞ`¾àˆ×ä¤lJ³p@{õaÓ x£ä¹1\Èub‡¡
^ÌV(7i?ubcUd9t&ì0áÝå…a7aWT'zI‘hkl4»ãèþ×Æa<¦$Ë ÂÞìÅ˜¬Gü]‡¥&}M~FÿŒ�'FÑî0×¡q¼P,
-yáŒ¼BŽy‡ÿ�47›DlÞ~¡áW¦¯ø«§g÷.cÖÒËÅ™Ô!ºJî#Kb�	BVŽ½Æ­¼MèlÄ_„Ô£ÿñš…hbƒ‹Ña]YÕc7/û2·M“{´ÌH¦¿¤<¡"51ÁÌÄü„wÑ¥aQXù˜÷5I´øgÁŸq?Ž34…Î×ž;Æª³Ýí¡E=L¢­m�õÀ:™ÞN¶›?Š"ˆ\“gŒ4¸…¹¡Ÿ˜Å¼%ÈåäŸ"xœMŠ±²‰’*uìêî€¢`úçŽ¿rnPûÛ/¥g’›l2Ñ"ü½uyŒ»iR…¾CÙ{Ao5�ï_ç’Ë8"(w–Ún+åW,?À”»Ê»^Wþš}©£¥Ú”¶Þþ¾.CxªM[ÏÌ[|ï‡d§å½�î,£¬óÉ¦“Õ÷’¯s©ïUÕ–—tU_.xÒ¹¥îËìØö9YTê·6¤A-,¶ú4]\3Í¶¸†ì4*%�Û™jÔ§‹j�=*ˆx}fí\�NÊHL]_Õ—lvŒ4nÜõ�]Ñt7u[Ûfy§p©yNQ%è0žj�IbMê¿Ó
š§>3d¡îŒÇE¼ÐÔút½j6•Ýîh—ÿ;_×ž¥ˆØµÆÆU6¤\¶¼iý>á„iLý…@bè×d†Ä0m_ öÿÔ‰_S‡ày èÊ*Š��!¢Ž*IDáÒp•†+\�„\ïÊ{¹oHá¡Â<ñ¡³–Npj™+xUp" u¶c[uûþˆÕÕ¿%¬CR:Î”)‹è�æZ0ÇÛv°.7mÚâ+Š`�Dï©ú‡âë1éÚKõºÝõ€$5<”ÂLÊQé[B|Wö
Ž¹É
…¥
9Ò�Ù'¬ikÚQózéGv€Ñ]ÆLø¯îŸ2{Œ�fZ6¿ÛS5#�
-A—åÊ°¥§|ŠP
-;qÝ`†BS0dKG²¦,_€—S§Md°5yÈ@+út[ÁúcMùJµX÷C�Ãag‘2 �`…Ô€7ŒEÁV!™•l.DGRŒ¹è®äcú"¥1!G+@æé'Õu3òÏXÜî¡‚^†
ÂO!:á´üÚ·òš,—u&î˜©W;ÂymèÖÜMú—®_}%á3ÍM•‹^¤šÆd‘Ì
ÝG~§Wº‡]€�Á?Æ@4êÏP¼ïð<-«Í¹	¦5&Gbð0R“Útëõ}û'4:?:U•©‘GV£¨j„üD
ë‡æ”ûSàvø¼±ÂeæKÍÜÆåã7
-‚9!zÌúER†ÖdNØoScèk±·zrd¢™'ßBRU'Ãz!*"ÌÓˆÄS$Bã¹Ë§¬ÙM™ë;bòªokõäEØÓ¼ºðy|‰}ŽßI{fûk©("Ì|OÀ"YÏ«ð[J´K5?ãO©>Ô
øÒQv=7·ôdÊhiË/|phÌ•Âb=q––�m¬(k¦�³~�ð5)ª8¤Sú¶šk[Z57êðø_°ñW¾=Ê‰5çÛö‰bNÆÊ–›¥äC1M“eX"ûGÁÕ¸‡
+U4…%´º ÂÍ˜$d“Îëäuô-êAqXÀ^ô·ú_ü~�Òþœˆ¶=«Ò«]+ËSFœ‚ª;,¯ÆÞ|j�VÓL¿Ôþ�òÆ@E“†´bq÷–÷ª[¯J”úƒoÊÎd-³BgÚl³{­=%É±»cžmDùq1–«â}4ãBývÊ”>J²‘4¦1IW†â°%é|ÀEe¶ìŽ_/¼VÞ•õÔu½~)­È¹ �ØóöÒ5Ì<"-‹s3ß–>‰Z2zÉŽPÆu²1Ò¤ú;yt(#ËÏ,"§!~ËP¦Âœ•ÕÜ„¤­p¼ö±�û�#Ì@kÀŠ½g^0¢îØÀÊˆ¶`‘ž¨7ŒP.Š‰�È'À\xÈå¾iº¦¤¥69¼�%ö—
¥ˆ…ñÀòÁÅºLt¸;ªOï‚÷PúµîÐ0é¹ªŠ­R.‚w÷ÿþ"œŒ7påÎ9ÍîTŠ=FmM~ikSÝg-Ä~ŽåAÌ+
-Ñ½CwPš|%•4�=B"Ce6ÌÌ‡>B'p-À�à®»s›ÑŸ3Ñˆ<’MÖ·ºiÛœ«5ÆFžib£òt9ªE
-¬~„Õ’¦°4åBÕÈb	”@68÷- ‡ÈÇõ¹õ6§²aÑ²3™mÍ6©þ¦IÃýØµ®Þ?*A;§=N©V«¤It“…šXÙh„âá¸À¨1}C/'9eøôÅ¼û,y×j^q|vGJ‘O´´¥–ÿuÎi)ýŽ| aB0öØòYUsÐ]Ãq¡hó:M�hë&=–]?�ö¼7“7Ÿ¢í¾Wøžu¸3žï¿»íLÉ¡h^óbYuÖTáCæÚøUfâ'¦ëBï`o=¾Ü\ Ö‰G7}Dó$SiÊÓ`±0…ÜZºšµ¢ãRÙ™x·Ö�E4£	®äQ§'ªÓÉ|ëçÂ"É¨­+NÒ­ó7_P™${|³•�ô§´UÝÏ÷Øã�í•¿c^ngU%ÄM¸îT÷G;©Â@êxƒ®ÖN.7ÿ&
-"2
"q°Bë!	ßüoì‚Ôè{•M¦"]&áJvÕIŽð>SÜæV{%ÎÕl¯»íæøƒè"uÔV+¾J›Þ×�ùz…äIð%M�ôx:ú\6íçŽ¬”§rNåÔ{³éáõ•LfË›úÙ8a“QRC[°o”®£^³ê¥§ÉÓY"Ñ¨ë’-/¨ÙrDñŠM~©0KáHõíŒ•Ï²=ÛÃä˜x×²üiÇÙ£XI{ÐHWì¤Zn*
-Èãa…“8 �SÜÁ«š�økJ!°ÝÏõœ¿œ¤Ãúäñ6
-Âxãúú>.Ü1´Ñ†2ˆIí³¬�|Èm†&ð!ñ{m4Øò%¶æáç‘à6¿ "¸‚ÃïÈRmH–µ&b9Œ�æPôlÜjûkt
­ÝÖ¬äQ�fr‹Ü¢�ø§4f8?$ãB—¼‘,hnx4p<ÚÕ:(yW‹D[Æ¨o:¦9ûÈ¾EÍ¦!ÖWªDªÊÔ‰±ÈMz6ú9ñ¥f%ò!DŒ>„g"à%h·Ì‚Ü�žk»eú&iÙ5aÜÎHqê{b‡a]­ÌzTóˆ*6ªEd‡n{C\TkÑô=*@ž$ÁvÄ1Á�PÁùnž(èt²¸÷l]'|s7*Çø¯ò÷ÕÎ–Ü.¤ž ”�ð}2÷
-†Js*o”ïýSõ•ÙC8_ãIŠk‡Ï²s_|õ±Ã˜X�iyR�VtÙ[¤,öÚùJYEŸ–Ì”Wf+ª0è­(¨úzïŽª35ÿc ¾š:W+gQôÐ‚£§M -iŒÊ‰²* ŒàB6HÈÞyyÉ[™�ì@!`˜‚" T\…©®
-Å*•sÔUìiëh¡jý¾¿ÊòVR¡JSWw3nÊ¨»XÐ_¹’3®3ó…Š!„/�RA’x¸‡æ–B?Ýä~‰áqýÊ=ªQJòOM`H;f×fXT”†.nºYLDÏVt°`F“•ëUeÀ[ê >YtU}5XªÔ86"òùÚ˜8šâ vœÀëuÂ�~ô¶î·ŽÍ|´1š�ŸñD2ÃðïŒ‰œéøÍÂïðR…;ñ§ù‹%Åøó´_�|"Î¼ƒ�Sò øñ�§h:îþº™f°ƒ
‡Ûm;Ü×'­Ã†Ö	ëJåJn—ÅÁÍwó¤bÜ¼:
’˜ðØ0Êx’’Í2¼]…Ü2|ÒNÈ{ç¹U¿½ ­<ÝÕJ7¸~,ù€ÙäT+6rºK8�üã¥½¹£¢^{VÚli§õQ¬]ÞbA(›•æé¡DkÔî½šÛW»²Ž²=Ô7åôÁUWñ¹ÅíÞcyös¦ñ^¸�¹Y¢™N)µ[úqYZ,Mj_JIS†[~Ý‰�L½mƒ9}»ÙµdZtcµcOacý�žÂ¯
”ÃžïKf³xI•²œ1¡ÐSIeJ®ÎØÕ@WY?…ª¸b»z~`¾Ôz#ûM»¾&=ßÐ6§ìZÁ¯Í�:9cmS„|ª?ÄãvÕrÁý*3•(Yì‹]ls…QRæRièc¸ÓÒÓ:38Uûòžu&—­*(jÿT{�ÞÑê8™Ïw]dÉ¸‘
šœÏh
!uB|¼òhÌ[àÃòõ”µì‡ÏfÀ+öõ%IjÁš†{RÝá~&a^/y"�àÎSŒƒûs9O•¢©Ü>è{éOT¢–Šqb+”FòEÕc„H\«éÃîkŒr¢êÞ‰´¼Wª„,$àéÿÅ.Ð�Ž°ÇAP>/çž’ªHI½S 4fŒ4‘Û±WX‘£~¤>Ôfä}(
®
â¿‘õ8ê„/åÛõ‰'À·r‰ôŽÒÍzŒÁKrˆàC¤%5[ù�¾Œ«ZÈeØ¿Ô�j²–Þ²‹½n®ær‡KYˆ`*Öž}�eÉ&U$+@†¨dËå]êg)?(žiNGë`Š¶œ,Cót±Ä*«î—æGL·~áŽkì?õ‰öoyyz™¦ZÐ¬o’ÑDÏõÃÌÕÒ|FÖY _‘’¯˜‰gG¯…¸8@f"�8Lü{�£»AÆ¨õ«*˜[ŽØÔœ7–Uj”/0÷HYÂæ„b¾$Ã4˜õ…ì‚‰šüL6~5©<nŒ 3‚¡&$Ó—¼lzC×¸7VF0I® k1û¼ãžJÏË(ë•8wJ½Œ1jfÖËfÙb’­ò«_Ô9%É|�L‡[Mî6¶È¸±±£h»/Þë_¼°J`)d
z=X-—ãù¯xP0Ë}Ÿ±@ô�kV&AJw„'¯’û•&DÕ)öÙ2ÉEp¬ER…˜T;K�s<“Œ˜ú3—9U›€pZ|gÄóù9UIt“( âXF—ätùgI?z'+"KGÈEÐm[øûTfcƒ« »uÈH/m6y™™M§ÑÎŒ†VÆë¯Eéÿj|Ñ’Dïã¤½@@¹=*üÑI B^{oÈ8ºÎÂ®ï)ëÔ–§½iÿÖø°x°õ/c›#…S¼ÄÆœ¢ÝB¿:f†Ÿøº�–Ëº½ñQë@››ø^È.›2‰Îµ.ÙÕ¡H*˜YyA9ƒ.´Ž(Ç˜GTG¡ÎM‰ãßb¨‘	Ñh¦?¶Dz"É¥¢Ëw­e¨÷*u$‡æñé”.K5¯ñàÏ®÷~,_Î[jIÙ–¢8"ž&Þ¢üKšKWÂ)ÀþŒuÈ~ðuÒtŒÅ¯
VU#%¤ÍL¬†§5ª/5œ‘dJ>òÄHOKûLÍ@< Ïåƒ`˜h¥"I1TdW@Úm¥0
	Û`EÞ¢—×\Åv©Ä$T¡¾C€4´‚úÙÂ? w·¸
Ž3R¥ùH<ÌA©ÂÕòlSá1Kµ-ý(L½uÃbøµ&uM=: �"ÉT�n6¡U³Lw¿v£ @»ÎEÞÓ6”L‰û´“P»Ô§Ë$|Ýá‚ç`´>0=]ªç®?é¯a!oõ“$	v	_N¸«öáŒêó<¹y†ã{hêÅO‰d&@Y'á™Âùù²|ãý‚UòÍÆ¦­Ç[�ëS <ÃäšåHž¡‘`q†(b˜zQÉÊ�ëè*ÛÉ'—�Ð&—^Qt‰iöÿñ<R�íÕv' ¶ÍÞ
VYƒŸ*»-#ßÁgÌI
-ô„i±XÕa\´#‹=QI--ç*úu'[<ð†v×r’Ô¹üiÈN:�-çäOK¯%îT.±y
Þ`ÅIJ4Ë<F¬Pe˜bª
-Ùsê.Û¹›jzµ·ùVŸœ/<^ÅæFˆ'¼+h liùï[ò<×žÄ\Eµ#)ò 4d¿KR"/¬6â1•Ÿ9ºRÂ¢5Slç8MMv-�w¯aX.~^7�Ó".¬£} ­¬ŠßâÜ¨ø*ñÅ2÷¿#½à|/´Ù§Ç°³–@¯ƒyº½È6—3¿-HcæÑ›û€»‚}M›8¢õçò[¥¡5ÿÙ|
-PTž€=}‘*(Äùê½À/]O|õ7ƒåÙÕ™ÐÕØº!*f]˜ÎŽQ`D�Ž*"Ò!0Ãô;·½÷½m
-Ó@�"R,D£	Q±°¢Y‰…5‰ð°�Š
[” Ù¨YV]þÀùvžsˆ:S÷aËè³)‰»Ù!L›g×.!/.[‹�méod�‰žÔÅþp,R[ýWÓK�8ƒ~‡Eú˜!reíi/p¶aAE{á3ì]Éçê~ügYUaÑ$Oï&•ªôu
-°Ns,|>å¯›åÿ)ôÀ²Ä%ô<¢F¸ˆq#Õo´×J�Í+�‡ò‡”Z7ªlWµ ÿQ#�Øk­ÚKü¿ÈÛ„>rz*ìpÅQ¿çÔrÒK¬ƒ‘ G(£7AÍöbu£ö�iP3¨›
b‘ù¨Ÿ²E�¥æßG•8ž†5Í	‰øuòTXé®øõ€ê®˜¥¬pPx§ïT)¯«ª—RÎä<�‰Ú¥¨×Baþ�îÙlAQúñ?`×èÖ°�ˆfžß.²‘Ñ‹­à>óHøº³qÛ¤Š5ü#ƒXy™Àªcùny¥¦‹ÿ:Ï
ñ5©½º*ž‰÷Ãfð™«÷áïë§"Æù™â*�ÈÝt“PÍÜá
-aéK«„ÿ ¨´ðØ�ês_éaõóßr³´‘eE©^ÈEÓ‘¸Nt½ñ·Õë±;F±ß"Ï�/®'{õ{ÝdÔ2þ‰ý�¬¿JÁ½•Û*— ¯”Áwe÷TËËsŽih{ð¦}È|ëH\¢îˆ…_=K0;ûyàÃ¦oÄ�d®q½[¸¢oŸ&ý_ývÎ©ôl]/ê®5²e*Ÿêy9®ê›Už›–iémÞkÇtŸ—{„žG´Íô}‡—šÇÄMÄ‡É7¾hÃ¸Í]·»‰]SêÜ¼N§–ßnx&­S6Õ—f·¨“kï¦\Ö|¨Ž^»i¯ÜjC³Ê/ùÞÁlS'	ß™“ÜF@ˆñœ5­äHÁì–Yöš�òŒ£ÔEéÑ¬ÈV
7„§ÍÎ­-B’ªÛB³Ðé•¾°.{ï$AeaÜÿf™dåž¬SÆu~ó,;}Å\Ë²6ævaMNó{ñž”÷ì§²£kãØpÅþ;ÔUË}Øï£(Œ›‹©\Oq*’±‘ßÈ6A´(H·-¾ UÂ?eÙôZù�!Ý¤¬ùš×”…ø3ë‘—Ë]˜Xª(�‡Ÿ±ÍÔBËUò¼ÌŸq!r!’N)§”dRþªYIT‡æÛ�yÐ±­YO¢¹«žÑ!øŠåôEòcË¤€�ŒykÍ4~@ó›¬ÄïÚâ‰ne1E–£ØÖZàƒ�Üð3À'b;)é¿ê¤’	8F5‹éFØ-è`ÂèÑ2oôñŒêÂZÉ½šx!Hù²œðf^&Æ¨ýÄdÜÊàØª<*‡¶HîA	ã>Ê1¦C0A`ãŒ·t[ØÀ 1œƒz&á–Õâ¹°Œ7ø.}=EüÂibÎ�ÿäàªÙ �ã%]”…3‹º`:W)£\“a7âTv�,Ô}V–£ BÓHá÷ØbSIFîb|žü˜p4–Æ$�3ÃÁçÁTC²¤¼ÖŸõP×õBàÿ­·igU#äˆ°¼]¥°·NC7Új·´a[­|r	žk‘FÿJHÍ‘Á<©-›/�1ŽŠz©BÃÍI»£ôWùVMDm)^§Í¨~«0"äv]A�®µòú´k›Wò¬¯F7âlÁ1Ä¸eX’I¾7Ï]¥¦˜Ò„ýÔo†NîGµ­ÉÔmp“?ÒÞ®Ÿ—G7»öqúqÔ¿ú`Ò·XzÕÖè4\[ñ*x.a¶ã’P²É:]ÔÚË	ÿ )ÎQuoÏn,TãÞ2M^ ÍjÎÌ× 5
-éYºž—“¤èëš‡Ñø‚ªÁ•Ï	IE·DD&ØŽ‹€ÜÜãæD!&½ÆT—ñ‚ð1þ’-UÜ4úæ�)È6\*ìK0ßM’eãQÛôOƒŽêíê!ï0}&2è£Ä†\Îê=È	nX+v[¯(r–ŸÐ»ÏOáGeKÓ^ðçäm‰‡ùZ•8Ê‘G4ÍAj>S÷‰w‡Ù<5|$1á*ä£)Ž-äLR#jâÒKw•Z¹UŠÖ¼,.PeLsçü4òÄÜr$3²‘Dc‚¹(ÜÇ{%—BºzîäJÀ„«–ãácæcf§Ú¬Ëc v®¬–!s®�iÔ
mV1§±ës¯‹fgOƒf±Q È;€%)»çiö ¼åz†½Á,ƒOá N#Ép˜ÐJà;rSN\R»h<NxNŸ¥NDô3s .°—)¤}¼—0'èQÏÌ[¦]0ƒ
dµÔ*�ñÐÆSÆV²‡ºÂ<È¾½X�Th`ó2à
vo„Œe+èƒÜTïùŒà9Êdp*Á:f×~NÆ“š� Çh/þ	üË¸1{	µÒ8}“šj3œŒ†5G|Í‡ÀÍôtý!ï)4®ß°x*Ý¯Ÿ)°0"þÙMÎ´ûªUd±M_ìHÞ²þ�eE–ç)¿‚G–9ñ•k^~ŽzZ¸"¦X¯pÜ˜¹Ø‰Î2§é.ýYâ&¼�Sµ­Uª/sÉ¿W®Þ:A~Wq?…áåD¼ôÚg„C*Ç
-^Qcæ¯H”e.^ÿ0>ŒÐù†bn¨?¯|‹ÿŸ¡ú~kú@0®VÅ­õÎ•!R0F¶deÈ”°‡ÌBBÆwo2™ZyÀQ‹¢TZ±ˆU±žŠââñô¬Ô�u.,ŠruÜù¼?~žw¢QTØ_eªg2	ý’Ú’Øú.Çá�ÿ1$Û…†^ZˆÕ�Hu‚°Ç´�x¸˜ZHîòÀ2\¢ËÓ6?U”êJšz
-3t¾3dzT5mŸŸØ¯�ª7olÒ�ÕL„.68ìâÕ­Æo,*a»±‡ùÕÃÝ$¥<—»™ñ;U-ák•¡f§ìæÂ³Ì³¼ÁL=Qð:±’ž_2MòœÈy!£d®‚0NìS9”ø¨f%¯�ÒE°na?Ôº,æÇ|Å
-úhÁpÁMj ˜Êˆ¤ø²	ÇHy™C’@ü¤t1NªÖ€+¸L#˜°›Ú¼lƒ^Â¡—Œµs)¬ä]Ùò´|ÑÖ+äür·t%aP.K˜Ž?R-Ýp�«p	ñÆú*]Z±XO@£·ôÞ5´Ð¸’mC'šëD‹²Qþ¥òÉŠ§©�§À†4+âs±ŠÊ½Öc“uÜà?Ð½Uµ8m˜"¨EÆ�zÞÒbe ›ÁâŠ«Ø°ÖG6�IuÁù3Ð‡UbéÔ®÷Ü|–E]@çSÈãX@Rjº!¨GV'Ü–ÃC`ÇÞíP�¡2*ã _3óÖ".
A´ÀëÍÈj03j<^
-Á—¡o|à6XazìGÀñœrx6ü›êoD€+ÝßEÉ¥á=h[êBkâŽÃI¨6òì�¦‹ßÂPŸ€Yðtª€††‘?ÝÒ¡n¤Ÿs¢�óª…°;}­„€žÐI9O ãÔ¥T´Ÿò‰‹�¬¤=r/¤&ž‰�Aå„¿ÿ¨×@(»ì¦„Ä˜ç>´=´m”`;Y|b[‡râÀw–÷[‚ÏÍƒ±/ÁGÕÇ#ÓÀ»ŒYƒè0ÿßÀ'ä+�|@´¹`?8Ï»1•²l¨o)�ÊºÔìk`JÍ«-`¬#-¶L±Žts-âDPnfùïÕŒ· ¬¤RÝh°‚Øå,åøRÅ{`tgNQ7poœ]\o¬N®Ökc³€?k%/��Ž9b!8ÇºÇŸ™=Éàrú¢›\AÖ8o…ønåÒ:V†½ˆªÙš}!ë¡ýlÞ_)Klë§ÆDYÎ•¸…7™cä±k!fL!õ•Ñmª|ÏkT‘rí$Wé±fÿ4*ÜûòþbçtfyZ�Ç%—Z¥w£6sÊ´á|æ‚’³6ˆ¶«ŽøJ©M´çsr�öµë‚¯o`•á|“¸|²­©D]pØ*3gFš'Êv%­îSŠ^Î4nû×úNº@ý8è-­ùìI†êØ^Óˆ }(W€‹�9¬³X2`”�[~Tto=eÖlKÊØV«IüÈ¬«ÐoÂéU•_¯S.ÚŸƒÚI~U¸¯Ï—ö¦�7–s3±rÀ‰=m›å3ªÿ§y“?Ä|1–~„¾­sOÌ¤†ªÖlšLŽé7‡ýN|6ÈƒÊ	žQçËÂL�—ƒ·í°3‘WÐIYÃÞåi«Ñ‘>�ÚmZ‘p“ì5�ÛØ@Ya$áü7H„G€˜ïW˜šíå�^�š¸�è4x5»‰�¯—–Óñð¥<˜*†GÒÒ†8%ä}ˆÇÆ5ø'd]X(î�Hƒfa(’ç3Š"¥^ß¢~ˆ‘{©@šÙOà3Èù’JB"¹ƒd9é'ý@ì!îÅ�ã#"y„{œ°É˜?*úòV\ä3€F`Ý^bdÅƒÇÐaŽFw–, å–%¹›ˆ&³FªÇ¯>_ƒ»3Ï%�ÀÌ½ˆþA»ˆºÐ(j‰Ïi¤‹œæµq!¦ò¦Ã0ÎáDA#Xb±Žø¡fwÎ9|Øa“ÎÄ½í…ñb´9KRÐ!ËéÐ¨Ô¼ET‡\aÎø´!!´«—7ÜAÖóÁ®„'GíÀ^=ÇßoŸ’“ˆÇ7d§v`­u›'Ð÷5c.ªp°BÕÈ¨-P¤CJ-,ŸFø>óÆËN¦†y\è9ƒCC©¸¬ððÎÙ².o?˜�2Ð ÎÏŒí«ÓÊ"{kä%Lð¸½@ÞxÝ
-*ú…çÌûU#üUÌ¿+ç¹Ì¡>Uy/‹#·£
-þÞÞœï‘%h(+¸‘"©+)®Œ
¯Ù+sŠLµŸ)kþÞzG)
<`Y¨ž$ì­NÕ´óSé]ºL—$ò™þó²N"Ïä(øº¡±Ä/3©®Q–�l©é*Cc:“MOmâm§ƒã-•êÑ@Su_¥‹°—ñÒ%óM”UÏ¸Ôï�í¬Ù8ôlÕu)\3l5ÊÛIƒŽ¥*:ÆÕV¬ŒPXnkn‰ß›}µT`³§*@x†fëñ›É�Æ:—>‚±¤ØU°?¿¸vqÅ§ô;Ž¤Ê°$‰­]kŒÞk]¡k‹˜mÞU5 î¨^h˜È§wƒ„=”ÀTÈÿ•8
Ô¹|Æ3ÀV+¶º—×íh×—iŸnP$öY«Œk¢Å–9Æ¿ÂOU7šŠõ(
-œEuƒK„§Èð"ÿ1	2ºúaûa_Öª€äÍ±WAÿH;a}©³,2¨wÓcóBxV¸ž9Çˆ£é
°=`Œ|÷
-Oà�ü<¹fas�í‡ÜGÎåjmJ¼"í[Ë^”ðÆ¬ÿ?Apu¢¸B¥WÛV’Œ	™Â¨ñÔŒeF¹^†-Gr'·q
cÆ˜{æÿç>ÇˆðØ¢-m¢Uz…öUÚÚ~¥Ò­Õ±[íJÇzö}Ë6©©�[Ä7Ø}ðE¨Š�'‚&‘°”:ÛƒdŸ9pxLV0pÌµX•¨³?ëôø‰ÔQí2<!SÄn±wàé#|sE�!ï‘ûÈ“ ÿÀ�ÈZê÷P)¼Ãçop$%Û€åà¸«UùÜ–-Ñê¦&i¢õ+üð:Ÿ˜ÏX·Ö5|j„\GâðûA‡`WLKí_ [(öÀYøwòqÕwÐy×ÓÊÃàØ¾OšYËý”u«Y?…'™1cØC{x;2«wé‡ok•AVè{õ	ª
T`÷(K�,”LQ%Ã:×Ie!œ)jÍÌM¦µ²²
ß>·UåöE[+Ûo�*~Â(·ØÊœil“7Â7Voãñ¼†´ž‚Vw?T{Üå0Ê—tfÌ·^Í
Ý3Ò²(ÿù·@SQ‘&z[Ãê’
a.u–²ëŒfG®ŽÆ2´ðâ|stLÁJ¯õáe÷;˜VœOX‰ÔJdìn9[ôi±ySÉ¦¸™†“e{£®Ö—W(YW-K+O2¾6¶ð>Ð¨z¶`»oµÖNhô&ãc¢	’;j”ÌŠa›ìSzOóÓòú$¸‘ÏÍˆãZIUîQ–—¼;,©©ƒß@¿cØS“I[§#ÖnôU¨_‰þòŽÁþ+&¥!?ÈJ	Ð]ù—´�M{ª×&~²~àâìêúW¢¾27×±B�Eµ9ôcú@ÑQÚ?´+Äó¾Fü�4Þ›�NÉl$+ü«üÑòP|J«jxW›š¨­?"JŒ=bQˆÃ"/›„"k¹!Sò�nÕ…H'hŽoYŸo7î,W{·¡NŠÒ
ØG¹™˜V*ÿH�±ž‘‰7ÕárûØs•ˆ4¥ò×Ìi=_‘AWj—iKÔ™Jšï),MiõEò•Ÿ=C�*—XÜS�¦*ê{EÂetÆ:™„À`d²Á0Oëš�:GÓ
-Ðâ@·ïÚ˜¼Á#èAßRâ8�	ÈR=ë†ÑÜ„
-sº�=bÔ Fô½Â4j/"ú.õÜ»åöv÷½„ÚA˜÷;Øœ÷H @ü¨šÝRNYnh·$¬5�Ñ4³Å†sê—Óºgj7f‰v
Eß¦ÞŽq¶¼ÂÒÑßŸ²kƒÔïòà‚Ë <W²Ê¶§Ä™?¯Æ�™Ž±·\õXÄ�.Z—ÌŒÓ¨´.tO|X=±e}Œ§ùþ‚,BolX
…#Å0Ð“\YªdhE’ó¡©¬EqÑ]êì©¨ÆŽðÜÛa«ÚV¼bŒÙŽp</4†–øÖ½äó™4õðæÖ§éù5nM”ˆæ²“I¾$žëåbq�±ù3Q…Šø¬_ø•�‡š~/{xÞÚÀíó¿bÉá(‹�!‚Êõ6�w-Ã�«&‰/¹Ô R%1òßÙEs±†vçU”]kUÙBV�MTÁÀ*Í�ƒõn¼WþwMÒ(~ú·ÂKëoi>Š×»
áDi„Ëu¤Y¾5a¼(gÆú·¯¸9Ø2Q‰±ªš^óòyÖÇ|V`—åR�‡ÿ#ãXíjJŒîšx‰§£zVòÜí3¶UÖBð€o*6&Ä¶/âe³o¶n­n�”ÚòøoYÑ�†š<Fl½Mx-ð ¹Uæ?cèŸ¦Tj’Ò=ÃñyY‡û4Sþ�;)×%8¶u	ËÙ­-ÓµÁ‘‰Í^"kSC�Ø‹ÁªC%›»MmÒR—éOÉÂ(-šòO9î©ˆvG�z%•pÊV~Ž¿Ðš!
`—Ú¤ÖÈ€¦²5¬UÖ<ÙQF�¥Q¾;°×8*K%ëž)Ì”Q�“Òßó8V¨<ç>¿Tí$./¨Fã‚”gÙÍ”‘v�öÊ9æl=GåÏð6ÿ âöÞ¨Q7ëÈªÛ”)uªjÞóú#àãþNb‰Á`PïÒoˆyÖd…í"®Xç¡ÌŸë* >ÆrÓ8„¶ÈP.u«6r£ü…w€W<çQgPEr‡®‚!D0Úï¾hÛŒkbº»pÇ›Õ™½–ztŽþÞd‡rëô¥ÈS*Cs	Ø¸_—x-ÔO
-ƒ² G¢�‚ÊÝšfºîZLuÃ
í…~}žfœi0O«ŸÒ§�9ê�ZÝ$N †h¨èÜFgG.{Ñw¸Ÿ”ÙA'ˆG� púðÇÜ]{ûl#ù†tT×R8¼o»BS|=çb•¢ä„<s9µ8;çÊJÍÿ2W=¬8<ÉßYuÇ?«æGþ ÙYÄ}7¸�¹ßµélÎ‚<{Í�¼î‚IùÒB¯b]%£¸­””‹”z–÷ìé+ª¤DÿV™Ãk.®^&pðß,èF’ƒkSD¶.}úEµá^ÖûÒõ7ûçÊc¤Gò†¸t®S¡¢jEŽ•Ãæ=Nz]æÅïŠNä:ÔäÛU=«uó_Ì
�S„É¾N,åiÕk«OFRu(veŸ•¯�Ôæ´ŽV|�ßYóËþsEÇ„&…•‹ì£ÆË¯‰W1z*J~OªïJ—“y5·dÛJ.××Õ§­“x e™VI‡8.û†Ô¥|MÞJ)’=[/�M<ÀÑÈöF¥–]�õ38Ü/ò¯üîV{Ê3ÈGjÂå]iI™ ƒeCÊNà<â�>üŸAú~kò@\«€Š½ÊYì©H-†°d(2j…"ÃBB>²Éþ’/ßÈÞ;!�„JEëjk¥úèµÂQÛÊi[«‡‚z.T×]ÿ�÷§× OX†BÁÚ�!¸vkƒþÂÎ%�^—?ËŸÔoLÏ·éÆc' �7â-2¬Û´·¿¬Õ™Û8Zñ­c›yaµ×^&K§àl>‘zÐ*Ìd‹¢Ì]wÜlÈïáÇ™lé«DŒõ±/ e†=‘yˆX¿¯ÃVå«j¸P^ÓxÒôa¹ácŒRäÆx{j�¸®PæD'¾ìöC»&ŸÍ3Z¯¤ˆVZ¢ãHzLÖH5‚3Üiw¿Ú“éù“XØö¡1mWmóUÔOÆ5¹¸³Àˆ7ƒ¢¢7xFK‡ÙÙõ¦üMÜ‡ÎÈ´·ÂÛé¸å’Ï,Õ‘Çà?Œ¯÷|]¼²ûOèN°k‹ÁXéî¨AfH€ŸÏ�OZ„”�h“M´R'ëHciþr.èNI›¦:?Š['ž³¾Œ¼w›&üÏwˆ�vKÊú¬ÑOWŒu;¨º¯ó)wÅ×žWÓOcµZJ‰¬”¦þ¼WÜE
Ói3‚;õqÅ§í•‘30j>Úuœ³¤ÒïC¹gI\Ëf>ÀÉ^
-—ÐŽðO‰Yó�Vq+§´,rðySp“èLê$Ú#'|*;�„O*F±Ç{ÝÌuµæF?›H—›Ú9‹„9yN8O/póÎRü¢ýÂšRD|œÊ«–®ƒÐT/Ãs„¬+Åáäïä}í(u”“àéc@<¦1€u_`F38I"#—Ë3‰Áš^Á(D*é+áÌÜ«’hXj\ƒ½ ¬@/È�àŠå©JÈ¿w»×RA«õ]ŒCR#²”�‡‡8"N/D¾Ç/ÁòJÂ„¯eò\@ü�üPÊ[)Uq�ˆ¼PNâP™Y½ u–Ü#›v†ä'uå´³
-Žô9S¤xS§©KPºÈQÜ9UX±U0¬êÉ™�©ãR† ³úa!’­Yƒû{¢inqVwë¦œ5”Ý;-�š¨ŸM1ë²÷²¦u¿“@Î¸n xÿOÝÁœ}¢�=å€ä‡°>¤Ë‹Ä0]XsLÕ<Û #�¬µÅkÖ­F(ˆö‹e€u“ù‡eAõÕºÇæün~€I—S%
-3žN±KÏ	˜`H�(ÄBôXÓƒÊ}
fû*Rº§@½™ÒQÿZ²™úƒËÇJbÜsÆU—Ô…Úÿµ#ž—o#æ„ËíD¼Ï,&dHÏ˜–DÑ3†Ã¾‘
-ykˆ-ª:®¹XÔ|ÕŠuµ7¼\¦ŸÚ@©ºÁ®pÝä¶¹·NFÁ)q´õ.¡HJ6F|‡J�§¼ÏË½�
ÖÒªòŽå—äÿø¿Çjq­‹˜«èìÝUUJÖwÞ=EíÜ…žË[‡L×›6ø£c
¡Fl%FÜ@ÓMíÞ,âXÏ#ËÁ]º‡”�7uµ€,ÀÔQÂè¥]k›©Šg%6{Š8ŸoÅÖüÿyZRh ßJà@m]¯ÐEæª–xá­J�ãWGbj$âZ`9ôwI;­žušbÞ­fÁ…œŒ¢Aä2_µ5ƒE½ÉÓòpÉ$>^1Ï¬þI¥•­ÙÃ+¨
¶ÿƒÿ‚¬š¶1ŸˆÏ€ëŽ2-âK<RI„‹–Â›ÀÃÙß¢CEÉ'°ø>>N~#…+;åã¾­uÑueV7†ëQJøáüÓ Røžð<C%º	íò‹ÏJ~ýœ
H/eçÀ×‘KÉ*tÄÇÉîÈ¿/Pü®47v1) l¾Ë>.~­ˆá<„`ƒ(¡»…aHråu0
õ^“H°ûY·¤§ä™ÉŸ#/î¿„Påùp�"VØð=#›”Ì/d™²§uËäK…U\’ügÚQ~§ÂX%| Ì(,+fY ªÚ“£‘u>£©ÿ~NîÓØÜVj‚fÊ¸žþ\‡ý›µ[¨œ÷µJê-žPÛ\¡ÜÔ~SðhÏem–Ü×^K^s´÷ð%è v·Lª}WŸ˜-<ÃRšÌ€Ž0sÌ^¾�=l^L�åRLæòGüÇÆw<‘ËeÎþõy,é™ô¼¡OG·é/á*e‡ôE®pÊºúŸõ!Ô4×02ÇXíìç]d�w´ÔÖsÄvI¹”f+([Wdˆíæ»I·¥¦xùÍèÁ¹e%Ø¹¶fùî ]bmŠÏ�$ÑcŸð"™
ñµï×u»¹å‹xTW×öÂÇPføÒö iê³.Æ›Èœ†ûQ6ßˆ:rÉ[ÚñZ@÷¯€�4zË×ÇLÜ]xØ³¾Xâqî@Cßv— Ý�›‰�jç÷I— j{,Þ‡DYŽâÆ±s¦R»ŠäêÆi)½]¼€úC‡•Áhñ7IlA‹‡(àæ6·“1�ÔÌp¥;1i
-tÎÇwÂ·­ó±&óüz	TiÖß‡ÇHd”�œñ&P-
­¥bs˜øLVÈ‰Ý+¯àƒ[X
-DtxC ²S2½Vu		;¢	–U8¿{�ýº2É8í+ø�4‚éå¶Ã™u;�l„Á[HB=‚�Ï4ØPšñN
E­S¨ááè-Ê«}u€:Vd6°õš“`*ç²Ô+îçÿ�AÑÂÊ6©ÌÚ™	?•ìÚöHEû±gˆyýOrÖ]ªx&÷­&ªØÊV‹7)Ú¬®ƒw!DÔ-Q×©Å™ÿg°>š:S±NED)”0ª¹pœ,�¡M,¨LYQ	�„¬÷òöÎK^{Ê¬gÑã\XE½¶êYÛZ=ÔVÅj‹‚Ü‹ªUÛ_ñ}Ðï›Ë%Lk…Íè˜Ü‚úáÊv�ÝKÔP	Ajj)Ý!j¡�³ÓœOu'Ñ³L�þ:6hQÂ(*7·{6v�”ú
-¦Ô²Wˆ½<Æff…6àÇ™_‚Hc»E¿Ò‹9ªdkÑ}æ
õ°8†5€k*öla»)�sWÜ¢¸ÜÔ‹/·]VÏã†£ûÑYÖÅ¡îbU5×¬;|C¨mÖa‡²0ËáGiÏ
-÷…~¾Ð­¹hŠæaZÊn?"†ìyÑMÈû´P¦´ê$2lÅ¾%µ‰™fRe0q§¨¾Bm.×M”WkÄ†À²¹Ý¦5¥½)y€ÖynõeKeÉÕh
|Ð1ªD„A_ã7…ù¾»É>ûJ{†úYÃÂ½°±îœiP7£)¨Ô'V?Ï
3òUHÊ$ó‘Š‡«·€÷Ê•Ñqp@é™Ðt4ËÔ‡3ŽÝ¾—I«i«PÐzWiNµÌ4ýS+o
-(˜U\¿Å=§Ïp­îur¯Ù¿æçÕJPWõy´´¯Âú	ò¸,<h—8gø¾&W8¦òwTÚIl@3o›«ñë¢�ŸêÝº×-9Œ!½IœL™:L«Ã€?jÛ£'AÉUgBã‘ÏÊŸ�b¿•Føy‘3=Â	ª0«“œC]PæbúïÊ9çhV…åŠèÛš‹ÉÕLŽ.|Õ¿˜³ü+˜O„,ã¤�[@$7‚®óî²þ‡Øi›Àc”kñJbŠ*Û´�øJ#W7’
-íÌœÙÔ¤â¾õ¨CÆæUïÑ syy„³³�ŸòÙ;¸Óg.w’’ñÙHFáyÌEtC?FéQ•€çÛ³%D¬ùûu¿“bp"ÁFyÀ�Ë}èÙè†3wüõr‡�Ž}Icu±œ3ù!�à¥æQýD¶åw¡VHš…cõð©u|ªHð#Îa÷¢FÉ—2Ÿö§æìdbé6Ÿ/Ø$VÌ~	|�$Â}–8”*¾
-íÅZóà{x[æ)4˜øtíuLM~öñq|?ÕµŸœD7†Ì¤’™º€oi'[!šÄtqÃ™žÒþÐ~`7}B7d‰eÖ*_B;™™³‘÷Øek“Ñ�ìî�3±ÿqžQ8!å!.d=÷<`„±jEÉŒ¿uˆÎ4ØF-Ýæ8ÛoÚwÀ„í¦r¥E°�ÚColIØæŒ‡>±E­Áa›\:A<°I]¨�6/Q-Ýms£2ÊÀÿ›ÜÊ¦kWšo–Z6·ƒçéŒÇ�—s~’î,)ŠïEã=Q¾Ø ðFzŸP	)�žämû>Ñ·t¢Ý‹¤õj½@7£g�Q›éyõœÍ^ÀžÊËNKfEk’/ô¶<;žC:ÊfD¾ÆäÎ^é0>R¢&9‡DôŒz!L&NG4Õ:ƒ¼Ñ½h¶)¬Ýô¹ùQÝþŒPð@Í­ÄPíŸŠˆ+%‘7Ð�òéUÜZšA.-!}½¨ƒÂ„¿Î¼õºyXßÜv¤°ÝØØÂnJ7ç6-I—6\Hì´üQÆKàÿV?�ü…+Aé þ·²�ñÄgƒoE;ŒÔ~ «¬â·)�æAeþ¦G|²êdÆ~U¡(1�—éø•|¾á|D_,�”ñß@ ¿Å6=óa¿-‡”Cl§Ò�±7T	…ÿæfkäG¸(íÜô%œ¾xè“V®Ã¸oÅQn ÃÇ¬ñ�\ReÝ†zûwð®ømïe¼‰:‚ÔÝÂÓkÚ¤=¡áé[ú`Å3FnÜœ¦fºÍ-k^±Á«+’Ù:Ø+ü7Í“Ôq�øÿ~«7yË»ÜÚÎ,Â¼ˆ6ãBãm2Á,*ØJo!nÙ�úíg¬¡èôý¸—ÌZ¬'¼žyEäK¶°{(wÿÜzú„÷enŒÕ#�°Fè¾á®FTê^b)Ú“k$Æ±ÁT¹"K©HÏ¸]t^Ì¸Ò©’&f€�Ä"¶žmòñçdÜaør…„õãè •«ÂNÓ‹rá»èc)NÂÊdÈËÉlæa\6µ’-	O ¥œ�¤™™Ç¯fÆ­Ù>Ûc�€Fá4ë¨~:ò‘*êà
9˜“§R&ã_!$ÌüÖ¸y¤™ß¾˜‚ùc’äûÅfÿÈçaó°¼‚¦8ã‹ãáç”|Jz²+Ñ²’èäf¬ÅqR6ˆw8ÖÄG…ïÃ]ÉB’¤™ºi¿$¶Ò¿Ú
>w˜sö¹–Hðe «‡+Ïçý;+]³=‘ÎŠiÉ1hùTY-ö¼lrláí|6FÆ—ü,i òýâFúEóÈ>r o¯�°ÐõyÐé:QÖaøaÍ¶õ�Ñ�ª=e¹˜¦²"¶o-
»Dœ-‹–Ô�/œ­â�´_ÉTQ³DØüZóµx±¹Kù
-hü1Kg7®?Œl¯ûN&EÔŽ-ÆCªJÂNºŠ$I%¹½ÌO|ˆºâtåÒQ–©¥©ÙRÝç^ÅÓ<±ÓUY›µ¸$_õ`½‡ãbaÚêGºîËèqaÜøÁ?z…f@ûÑ[aÔ·è¬àŽEø¾ý.¹ès¤+]´Ó.*±2BèÔeÊ„Ô¢×ërì2XßMÝÇ Pk�($H¸1
-&È”dd#+€aBÖÉYßï9'›mE[µUñª·¢Å�òºÒZñZÛŠÒÖªØrE½¨×ºj-Àóãûy}Þ)F¢>ƒ‡«�7Á†º6Ñ§0ª¡ž¿.SçyÎ„º0VxiðªµƒSòe÷ÁWÒ‚Ð®8“¡Šj‡„¯ALmzÔRÀS
-.*G‘|¢–ó½À\íÏ à‚x±€'ª­I'ÈªPù}¢­&-¿’ØY“>HtÕ”À"5Œ¬ï"Ž7î“<%†5JQ>ñRÆ‘îÈBÏR2Ò0Îv"7c‡«S0¦þ´ÜëWÅäíÅ6ö¦»álõ‹
mxœvÝúP¼QGKzñcúó¢hü­Á™ND¢2ÏV‚Ä¾`o$NããU:Ã�Ú§¥t•îEî”Ñ�Ê zÙ³Á
s7”GÞÆä¨P¢ÇÎ¢ŠüðåX/?8â9€�Rö‚K.¬´"qç5r's“R|L6Íp”Xßƒºe‘[Q
qP?¥`BäŽU�~vƒT{Žã‘äö8¾,SÓ/¤Š¿Ó Þå k¨[iÍÈQjw|¶aU¹Ñ°ŸZ.á "8*šƒž…Ûø…˜æ{ÍÄáJw6¾
-ÎR8ëfXFŠºnK]Î:½Ô|7M ¿lÆÏEŠLu‘ä¹±[üÞÐÊÜðŸDW1Žüô-örÇd”Î=û	oÞ¬å¶XŠöjo4ÍþAG5õ¥^ÓÏ·éOú>[tÄs¤È:]ü‡ÁÙÜåÿÐÐc
-ã—¢™Ìm/ô%ýù”nH*~Ñ”:·ÈOëß±?»Qûßv¯Ô­ºÆV•t§žßÜ1¬¿gŸÿÙisõ3$YVòËïM©^‘è!¦É½	‹¡gU|hz�ÕR8j¿’ÇÏ:iëÙÔ�ÂXaÉ¼¸Ëæ2Cø:sÎæ'AÃ¦Šê!j4Õ�òÙÍUùqbè'šn·4:áUL·±îÎ²†Mf¾·ä•N&_37–�Æö›ZCa?�TŸ	jgîÔ}%T2+¾ôù–Ö«wqLÔ
]§[/%30eæ}ò�M‹LÊ/e
-M©
-i²ÐØQµ/VÄ\¯�VÆð¦Î+‹¦žåÔ#u­ÏU¢}È9ï Å,'¨C‡ä¿••
"æQµyc=S^kI²Ñ?+«cÑ±
™aÓ©þÆ¸ *R³Z˜
¯è–û¼…
-d)çœƒ:³dàö ô/Q~–_C»7øe\ Nªz§üªÙ1ëàSè×P£}ørôEÂTp¹èë,h0×Dc‡X_€ÙÄ¼Ò88¤¡óÎÃVí¶Œ@˜¬Û•h�ÓôÍÑcàB†ÖƒBƒ:ðGÀCK…‰äLæ+$Ïá±Ü\²�eýŸ,#%
 
ÍóÁèHú	0+Hô&obW£;È½x|h0Y…ö�	Ä¡”$úF‘lÒ›k$&É²…ÄMà]|œô¿æZÉàCz$ñº$\$~…‹¢S‰>8/t±Î	ì$ìàƒ0Š°‚g¾é
qÿEhÀ3v9Qþ*ö!˜rg‹L\Ù0ádü%A‡?4G/ÆÇ˜;!ãø(SHâãôˆ0B‡úào©ÃÜ!bµ‚½…p„§‹öá\{wN.±/‘5àa¶‚„5¸�Uu÷³À�oñõfK`
žcR	ƒp¥1Ý·71aÜßñÝ´„Ý�÷Q9EXJÛXNFµÈxØö°á=Æ4ÿ#ê¶ËþMÈAì;[F`vÏòo¡w2s}«p�±�ûÏ`Xìk¸šúmÓ³-'²Þdmoœ·=uMÛÚB®´¿¥µDÆ5=)û3ØÙž«¨h¶Þª¾)Xm©W¦y'™?V]ZvÅØ§
u=Ì˜‘-›ÂÛü•ùºU^ì™ÒÕ<!_)]ÛDU,ŽøÝîRé$9k=PãPcIS~$1ÏV-ôFŒC–‡³Uÿ±Û<Úf+ØÔå™þÍå’'íŠÀ¸^Ûþª/#tÖâZW‰Þâ®Ü�`šPù
-"�ƒêSÞ»™.]œG6½
9í&§º±ùLS¡â5öÕÕ¬äÛ'µkâ„–§JAÄ|óÕ¾ÄÏÔ×èàcìÒ¢˜]º8ïsô$Í£™:‰Æ»uÃ8/oÀ†Öõd\¶ÖÕ«’~¶(T¬ØAs]ãçá&¥ÆKüÊ¨Ò˜Ç�z‰ ‘îD†¼ïOmÓ<.À	lØí-\Mˆó–X¾W‡fÄ˜ïiìIefíÙX…É[w97Fèo‹/3ùÈÛ€4….äR=˜/o>œÀ×qfB?"Ž%6r}n�¹Ù‘~Î´Õ Mr0~�®�õ0Î@¯†K™ L%>BWâ.¢×Ô~ü¸ NuO×o8� •ìdYÉw@�sÓäGŒ¦§ëÈ”ÄL/Ùs�~C^_JG‘ïÅíTX)zÇ@†@	Åá%‚N°‡SÁ%Ö7$^åÔ}èw²»L%ÃIL¦�2®1Ûéôõ°T	Ý)ÖÁ´Lt®¤&ZÐAíà•Gj=’Vø�õ˜\÷g¿føÖÙ2Š¦,ƒ‰Ó¨–´˜ÊÏ|0ì<Ükz%.…S„èè0V	0àÄØx�¤•>ÆÙEò¨»ì%ÄEJ’
éðæ»2u¦yqÂ µ¢É7&Òv×°p¶õ�8
tZ®‰®×¿œ¯¦À ÎCKV ì! hƒ}„‘€„ ‘=Â„@dïüvv„!Š*zUKAAmõ	X¬8Z®«Ê)N8Qžw÷ýŸÎh»°˜`P»™óÑ\�G¼b44T°nÇïE¹Y’í¹Œ7i:¾T(’×Øÿ¬ú;®¦uWmqÑÆ­ÿ7AdÉãTáq&ÿIàzUÈòÖêr$“¾hŸ|!o×çr·,çŽÉm¤´zû3=éhë©ºø¸Ûqv"ñ–ågN¡ÙtŒÏÂÇ.
-ÐÀRÝ¼¸Ãû.Sy¨‘^eLÞb‡¡úâ¾½»VN›m=ZïšTd›i°’Z¸^Äa³7˜À6¦
-xº^)^hÆÆ¥{|¾Fƒ®Á¿©òóŠíüúÊÌ{­ý
ý´FÛÎUÊk4ï>©Ç,hú@D�ÃBwB©~QœŒ/Óm•òGÑcr³O’¨ÄpÞÐGuqî�Ö^îåL†í9ÿ0m•5¥YJ9hþIèFb™\D'ˆl_Â$0tWdnx	F‘O>FÆ”ÌR½ÇÕCñšÒ\Û;¡ý•µN¤IýÕ|W|‡"0UJ¿"Q
wdTb™¾Pj°ËŠ1|'š­r
-ò†Ÿ¨7úLAû4¹¸QÐ¢-Èé³êekè�7¹wªÂ´_±š’lLPüEÚ ÿSÙCÌÑ1U}¥NÄA Íš 4˜ ¹âë9h�¸à3�C±d«>Ð©¦ÇêþT’ÕDS¾1|«±�þ¡›Ö¼$Ò0P›C¡ÚAü<¬
-âBPîû=ÈxFjàUö¼9<•ñÑ8
­§¾7ˆ ù¡>Ê��Ãf¡Lbz¢äH)Š¿-²�OÀ{¾¥ÀpÄ³XÚ³
¦8L”±ßpROêMXùW�‰½Šy b2�:4ðÂÃ¿�Tðå C`-¼ÑW@ÐNOT{
-òÉv7&š2†F1Õ¤»`¸BÞ‰Y.±§Ñ&=™ˆGÊt,°ÚPGÈ	-
-‘|ß. .ñÜ«•CæL—=´¢k4—ÞòÒ„$·mÅ�qÝÕ1E�cµ»#oÚ§Ù	a%-œ{ÁÎÖˆ&�ÿW&©h©W’þoéV÷.¬_QL?Úk*¯H�ê¹º-�2»ÏL }é2Ö%ÅlnÿƒÍˆœi[ÂAÂ¤¶ÍüSÁñæÝ‚�þÙFw‰«W›n@öÌý#Ú«„é™»VTO¤2wìªM¤X·‡²&HS{Êb¾³/å.�œi©äÿf¶L
-tÁ5¦dqž¿QGúÅë6Ö«`yÐ‘“ªöŒë;ž³ÞQÿ»ý`ƒ/%±³ˆ“Nj³Ïñ$1.­ü¦�È«Ö×‚—af‘895:Kíþ§tgå“Þ8ôˆrÜ£~­6d”t¯çºQÿÕù†÷€²´}¸i€Äi«4[–‰â"¯YöIV‡
˜6IŸÖ¿”ÿîÿ	›PbÞåÈ5µ§Ç­Q§¿î²©¬ž�Mž±SE—HE­Î’o‰ÖsÒ–È‡fL¶vÙ¸QÁ
žÕ½QÞˆGïª£½÷!Îš
-\¤Ñ²Ó�uºKŽPÚÝ¤ÇÉãmËeÇI4Û=ù ñ½å˜b(rÞdQŽ†½0d©~qÕy©OPOÍ€÷¸\«Á5ƒ�€Ò
íç•qÔµm7•/È}-7Tí¤hë¸:œøÒ|X}.ò“±OÃ_¡j—…�°\mg@?Rxùà ³€w¬ž¦—Øi»SfZ�ud‰m‘Ü,�AâL?s‘_£`X¸·n˜RŽ¶�Ü€+ðiPëCƒ( wøÂé®m&ømÊ¡–>Ä•œmBÜc¿˜GáOÄÆKðÍ(ý<�=‚9!Jä%ì°¡“>ð”çéì†œ6Ÿn•é	)RÛQÝ8ù{Ë}]aìSÓ<öˆxÉè‰5F9ê7£ÏÂÿÿGãCìH¢
-ô€Æà3>&P;yú¨áŸ[Ëfsœ[æ*›
-’á®ªç%Å’Üš-å±l¯º3Û^”­dSkvfÝi|W•|ž7Ö8ºqmóþw¡"‰€ë;%eˆÏõ¸g0ª¬OJëÊ‡Ák¬mOEÓUdæ<ëv
®îa©cÝgö�¬U
K8G“#¸~|}Ì`YPºG˜'Zðý aI»ßæg3i·¢ÇµWZiN=Mh¨�6´Ô�UýÈ9Çðª™å;lÙZ×¼!©¯q—�SÈw3C]Êòó[å²®…ì7�ÏMÂü[Ü_4óÅ6¾@À+sh^R{½À%…LÑÒÌ¡ºýbi¾!Eò8f%÷®¬0´¡¹B~Â/AtIØ™–µL$0|ÌMƒêƒ…d‰²¹´ä•´ f¾|HRÜW¥•½ÍÜP›)?Aùƒí«Posž)7…
-šzT+ýÑª©ö‹tL5¤ß�í£z«Ræ³Õ‘MÅÅ[Ô5Þe5V´¸-^}ˆ~¸&F}�¢«�RÏ§84_‡v6-×$øÝžÕ°ì¼t12¢ãg¥ ›”âÜ	ø<_VxÎ`2 ‰"n¥/GßÂ$ƒG(Y¬
-0‚xºQ
ü:ÂG�d‚°N;ÝFM;c¶`ÜÌ“\Ñ‘Ã02x£]†ˆêÉ’[ºÅÂÏAØYúÒêÔN‰¨Û�0‰ã
�áøÐiþ:(Ü¿Yèú´ÑªÚ	h7�ÓÖ&¿�Õr�·6ßl[]M+~jÙXØ_N7•d\¯ÚoPSþÇðœ¸5uw¢R°®Š¶Z•€â(1R!`1 9$	ä '¹^’——äå½äå¾	G"ˆ‚Bí´ŠZ­nUVŠ :¨�~hû¹UæD¿¡xRjAK·ßð‹—/òMý—JìÚ4�÷ÎÅž„Ç<�‡óŠÛ¿¬zI“´™Ì9%i­xMãló)ñ}v\©\È;Ôp–ö•8"˜”�—Ùj;Sg”Ó�UI ‘ï@ì�p‡wsã’\SÏ¢*yAýÑeØp±êH¸GŸk{*°œGÊ7ñ–8Fk‘ì8Ùòà®O#”‡j£’¶C±ÕÏcƒõÞ×-õ•M¥øš%Ò–²›Wâ”éV~ª$¤ò‹&Y»ÀÒ6Ú v!°5‹«·ª¯ne~×$Ü1ºá¶è¯ÌïÃ€<çW?Qt�¿ÇòJ²ET��5J:+ÕŠyù‘ò2•YÙA‹ÔÄƒµ;îhŸh
[—Âçàò„ë¨]ý
-[cß/ä2*í>%Ÿ-‹1ëE™Šn
T9©|+–ËN‚¹eNÀ…
-*Õ:Ý­<Èlø€4¬w¢´„>DaRá¦sKÃ!Ö"Õ˜wœ‚ýØþ1¨d‹juÛDvI³þ³_~Á Ú3ª|ŠÌS^kRŒ�¤Z�‹K8oðš�ãFŸõ“à[f*üÆƒ±ž"iÆ2”£fêŒû„=â1ÓNæJ#îÙ´›×QŽ‚+,á$•Öf™N„¯ZÂµ£S¶kõí¥·-î]ew¬ttœsÀ:¢’òfl8Á¸HcÓ0¬’_l}ùŠ{Pãíe$	tÉ~<a
-N´¿Ã½A½Ž]2æÑ¸ˆÌ0O)2ÃšöÄ([*jÜ#‚T!Ñ�Ðg+¸còkä­®”tÓ…’øÐR×¦Äeúnç³*ºÜy¡–\¼¡fÆ™A7Ö�‘¸ò`@
-<äû5üÁšj”Þ ~ê³æçÉª<”uÊ#Þ:’Dƒx'õDwŒ¹ìšªÉ.<»?×Á+Mi\l�–¡n ŸC
.ç'óê,ô,ñªšùkeKTJ0_ÝCÂÀW¾ðD¦î;¯9¦�Ýóloð�Ó~|_üÁcðmîV\gK›Þ(�ß˜S:/„"vÏIuÃ”S�“=~r"¢³øÄL"dÏ#ÿ¿igºBö�JJ:^ÃTÆéÃ9
-!«·ÕÈ³WüµùxéˆpdÿÍÝã’ÿ†¦(ïï×‡‘:ÁÍ5¸Ä Ž\½'v²ÔÛ]_ä–R]ß*ÇËdh„ZÏ‘*à»ÿn@�¢ûôBSºwÞ
lÉ¼‹ðÔ7ˆÍF‹–ÿk†‡Ö³œ1æÕú¥)œÎÕò<þÃg@¡h;°Y•!¡ñ.ƒÛä%¥0”­äæMè 7SÿSË"ŠÐt˜ÿÜäD×¿4ƒ-\ùÅ7í˜äR
œ%“Éß(Â½ÊŠŠkÊßÔÙw
-,‡ÖäB÷uHæ"½¾MÜŠD¡ŸÄ¿1úM`t*6e>ïOàç*Çl«E±ê}då=M‡ì­L¦­à>V¼ÓG•Ì¨:á¹W52Ä–qR·Ã˜JŒ4DšžÄÏ£_˜£!Œd%ûŽq«õí–!þ9ø±vRô%‚“-–˜P2w­|�±°„¡$˜D¹%`,fÈ�k	fÊ¯pŒ¥“ð1òÔz6úŠ©ÅÖ_µ��o^`n¬øÚ|z(øÕ’/M?·s¤Ò)ë®âÅ´õêÏê¶Œ2D¶]J™Õ3íé*B³�ûÐô±ƒâ]T^âÚ‡ù8ï\\htÑ%rQÈEbß�\t­(fÊ'œ¯¨Ÿ©âœ·3¢4JçÅ”9ÝçÎ.`p¶à„Æ^gƒ{†yÜï4u°-Õ3šLÞÊjFå€�íkfçUvWÝ+š‘MWá¨
-e‰WLž/xNê–»!Ô
-Ý\§‘áºâþ#£ „ÇXéAlà>©/®LÐjçX÷Äçjþ\ô…,:@§f-Õ³äàj_;q•6XE%ôÂ“žYÜ˜1Â=àÊ¥§·T“ÊS‚aœ—M‘â!¾¢qË#zJ/‚¤@=�£˜«¥“Ÿ¨›Lb¼6®šM…[ªT1ÐQO§³­TØ±í(c·
ª9q­b1Àëmž`QDYM²¢lÉÝ†ÿP—(¬Á}äÇê¤ÚKÄ­ÐhO˜€¾î˜�èa/Ã+…ŠKÕK*sk”º>Ž±²[‹ObÝ5„‹ý	)–6ïJE¯©éE&®úfò8öV«Æ/¶tÁÏÖuØvÝî ŠÅAï©N‹…ÚÉ’ò~Ý€<ª�³”„œ&äCpKÚKtRKI2õÃ4<ÞB)ëÞYK1²ó–üžx#º
ø]rSuV½P.eƒ·€Ûeÿ€>WïØ[««ÒœÉy®ÒmHëBZà–ä^c7ºŸ�µ›Ôë‹-ó÷¡¤ø›aVNQ]WvAðŠ�®ê†Ê"ÀË:m
-º“v6ë× ai	úCò!´ÇÔ‹g›ÍæõÍ×¬TûB1AG‚ÿ.™Ð·rüB€W‘$&]½ÒøÀØº3Uûƒéû´Mp±92¹¹lÉÇÛMaVÏúIs‚í²uTðÆ”«¿(þ[®8-íÃ¾ãŸRdš
Œ3ÊK–µÁm–o³' a«2-\/°}”|ÄðÌ6Œ?mäÛ±è,¬Ç±ÉÒÍ_éØ®ëe9ùO’OÞ¼ì¾£•±p;N`êDÇ•ì.Í�Ž;Û&uÁÿ1\ÞoM&FD¯žU®@8$Œ’'âA²w˜…@PFHHÂÈ_’/ßÎø²HØÔÃq×îãq *W¥ŽGë¡�ˆÅ‚‚8N
-ž‡ÔQÿ�÷×÷}�á‡ÁDÓÆàŸ¡Û¦tcRbãÀöõÀï¶"ZÍ¤-™+­?b=[Ú#V[còƒd	–þ4©rµ%>v7_?¥=`.^‚*Égþ—‘{d+úSÕ¦æ> ´º©é?ÂVÁPãg¾î¯Î¥Å"³c4oJ*kHc(Êì‡b¯é¶ŽðóÚ`+â£{mÁüß"³õf»îÈUµq-³Âµü+íNKí`ëH©›p°eS^�d¸É˜&qŽÅ^R]p„†ßÐÙ±�hÝ>ëý¯‚�\ÙUé¿§OõÎÑ]]õ‡y:qNRÍÇ™¬Qá†Ž
y6ÉŸZgÒ¾�ç5‰=¯â4ŠÃïiDŽÍ!ù:žÝå+²Ñº/ÔÁ¬õ
-ˆ[vZøbïâ¼„‡«X‹ˆI°œç‡–ÕŸHYÄX’’èI\$_ çà;j–þëÛo˜„'P�zœ£Â´¡\K}XÌÿ{Õi]~íXÉcˆ-|ž›ÃR�”jä”‚Ý‰¾RéY8S+ ‚ÄAHåGÑ¿@IøßJLð½Ò«Ë®+PŸN²i]$œ’•`¹l<§UwFÉKž†Ã�Ùè
-¤WÓÓ°Xh5µ?…8üý—¸ä�¡â[ò_¸t¶–«*‘¿¬ü0£¼_\ªÁ�‹9îàFMorƒî*¸/:¶A�ôd4i¡^Æîc¿«‡é
-ÅËª	Ù#YŒZP+25c•Ÿ«~F0{�	]cv‹¦šIŽ�Hfô*H‹¢3îI]À¾$T?|PÜ*œ†:¥O%%°]°WÖ†H+ª-h3HEbÙTµ›Hz£Eð¾¨W:ÑF/‡MzUP*7QTø×Fš6¤~¥þk©›h¯ÞÉ"õÒß/‘G|‹~P2
\Æ@d8˜tNã4,F={Œyt!tÝx ˆ‰<0­ œÁ†L<ÍÖZ…å¸$En1ð³Äƒ–Œò4™‹ù×¢EŠù8ƒPáfqR‡úG3=ê†v™|M¡(r$Dxd'e« 5XCotwÖ½sŠx¢=ŽÞ²»’ÿ6Œ.Ê™
†ò¤=1I£ö´)¢.kk¬]t³®ß2ô
üÖ²Î?s3Wc‚
íYb�Úå¶@^–°»eúSCz5›ûdö&ÃG¹Êy'©@`ÔyÍLÃzz«®ÀÖt>d­ò/B/Xþlãïd‰v×~ã¨ž­ÿt®e‰â’ö‹…&éTë“¬7
-¢Å3)pm¢F
iÌÎhú.p©¡0è,°©?™·ÙrM“‹³Þˆç‰µå^¼ã“ý¶ÌDè«»ó‰;5Û²õ)Â5	ÓúJNF2(ì°'FõºMýÆà°Ï¢i7ãH›"êAf¹–ê´�s;ˆùÔ¾üs6(òÌ´ã"id‚œØ¬(�TëWÖ°yý#íÙMÏ
— 	ßJcú^eg!B
äVûšÁ«„?lsÂ“’ˆ‚ýÈÙ¹ŒWh�²4Á;ÌGæàg´;ÃÞ Ô@Šþ:2îÛk¸ŒË”ñªèE½\‹I“8{Á¹¼ô†îŽR^°š8²^£‹Fó@Cd(æ„Úh.ø%ä``61�õû~4¬"^ªaå·u:u6PWuWsV³¶”
-®ÖZó
ºrð]ÆF¨BâMˆ'ü&òB1Úzì>¾2!hD“_‰žcp—ÿNq
-üP»G%‡Rª|Õ^0�åÔ8Vþ*í4;}Xb©ñLhOŽtG¬D:m3æ®Ï
ìÁ1C±ßbÔÈ”È¦qfÍmÅU|‰�¨:ËMM,æuinêkÒAP¤¿yXá^Ã]Z&Ê2V>ÄçüæˆB“ZZ,ÝNÚj‚ä\ò@åœ’A)Ù	|F¶åå«‡I<=N‹’Òx7]")ˆX†Þ“Õ´2d€äS]±:²žŒ?&ÉQ‰{C» MFkÈ¨”+Bí?—$(íqyîÀuÛ¾t/ÍÛçq¿€
V,b	ª±ÌÒÄH´¥ŒŠ¾5�RÊð&s‘d­è×­ÀSJk>Zé*�iú©ø•rmãþÜÛÀ
-gsÚSõ{7¡]h¨ŒøM7e�£!ð¨Í—š�î³ºPŒx¦eµyïðæ+©è8WqR´g÷)JZ»s«ªZ6¤]WM–¸›ZÌ9õ‰€;hVXcÿŽZ�²mŸQºð5–½Âì[ÊãÿF.•s*¬äÅª„â@¬~šsšdÖìIÉá¶Øy²@êº¥‘T*~ÝO~¯6¤’�té>Yæ0äâC7{ï™aŽ–ï4®ç�0FßÚçÙïŒ‰"ï”£Tš»ÇxLAnQ?#¡C&6è 7]„>‡I:¦yã­üÁêI"°ö/e=Änai‘‰x&~™ÍÑÈZSú~eB,Ó°˜ßRnèÑž½eÜ
-iúŒWÐ0Ÿw¦BüZýä…(Œû+zLÒ´}«�Ý*|ˆÍ)ž1îá&À=Å‹ hè±ÞÄ(¸mCo„¬¡Ó†hd0`Ê0ƒ=õÍ16ê]ëžB;6nlU‰¶3¾š^X€k.1êÑ9�—<„�‚\bæðFxÿ–TBŠ„~Ôç`K›þÏ@}¸5y'V¡z�­=­!�0B‰Æ‹Ê’=
3ì!È–H û›¿og0-Z,Rp#UÏUÇ)*ê£'¶NëÕž ZW-ÖëûG¼<ÀÇºù[Á=Zú¹þ+][~±áˆþ÷ô=ÆSÆ`Å5S·);z6ÔC�Ûäƒˆéó�@Mè”·;¦ÃÝÝÒðr�Ê
-B	]ÉJím¸%ï˜ž‡”¥
‘¨»¢Ø¨DÏD5bù!P>KÞsx¯ÒJ¼× g	¾ƒ]%†Kñ3$]ŒiÒuž³öÑ§ìÒ½'>*fD¤sT­1‰
YdBÈ
-ù6èÙê?'½³Q7j†Û!,ŽZ-¨À©Úõcµöœ0÷k
à•+µ÷Ø'kOêX[T€!›•ÿfÜÍ<”7ü5³Å?Nd–{«‘6zØm½C›_cSôšõÅêçus=k±ºei÷4OmMk!�·õTÔ<½Õ2|ÇðÊ"�Ó¦"s¸*4À{Sˆ/kv›D1fŸà<ÖE?+úŸzÎ¦9}5ûšÞ¤mÒx4ÞX­ÝÐÀEŽéFêÃ‚/JlÓrØø‹µÛ?*´Äz7Ã×¹I÷Ù¨Œm<Â*¸hÚjS^ÌYcyŸÕžÚbQäUÄ¿3Ü`ñ��?s+ÊÛV,cOTeIv²ÉjÏæ­fÒå9sÒpž·—±Áhá�3�]ÄÍ,ÈN¹Åî*Ú¯`]KFÂ¿gŽW&¿j½ì³ ºGÒNßÖÌò<BÐ—Ñ[LœæÐVäáºÇtZQ\M'—ø¤¸Ò+Ê^ÇõRo*»Â¨UA µ[-’}O5×þ&ÙJÑºkž7)Ê¸_¨¢Z`ƒSµÜ'úÊU™Ç‰§•w“1­’Æ‰ˆ?ªËÂ†ÉY5;†HÍ¯²ä½T²…L2’žS$Ýv�‡P§.òžP0×l™ŸàýjuÒ8˜[Û´³Ãh°Qw% texjÊ”ü“X	‹Å‹òZx—x€]pzIJ€6?…´1Uè;Ýé¤�X™Á%v-vÒXŒnê	¨Â+ i™	¿Ž¤H€PtŸ8|‹Ïrý‚ð™ü¢ŽØœ·î7=I¿…”AÃ‰�ð…˜·h9Òú½�DcJlµL…ÝÇy’Sx>-.Åß�G®kGœç›‰™ä—¹c�/IO…íð±Ä6x(ˆ9„¬ÿ
-½ŠôÞè:B++Áì‰»’~¬—Œ3xyÀÂ?Püó ‘ªÍ­0ÙÑ'”Mÿ¡'ƒ –±‹©�ôhh'<H8 }NVˆFÓÝ’!l.]'îÀ®ÒÕ®¸�NàO?zYÎ´aÄò»7^±\RŒ›š-c‚ ¥æÇ¡ôÚœ³úOøî†,ÙÍI »]|Ëf>ºžÅ}™<@åtêiüTéoxÖ§8hì¯¯‰™oRÕ™BË¡X¹z
-^i­“å b.y‚:š+ÄWÐ÷œÒõ6Ì®¬Â·3ÙyÍâô¥©hãD6/a{CoÞxä©ú²ÂÁwêBJ
-W.µyUøI×YÝ«Þúœ¶,Qzpæ(ívçƒœÞ˜Ï°—á—YÛê_ä.Nù©Þ¾ !a^�CÑxd�mA©$Ødõ®ÐÉ',1UýÒs�ÚÓg€ëÖÔ{cÇôÏœ_±q�b. ™gm‹¤¸ZËKæÇÃ–Ãeo".š_T
v6«€ü(×¤Î’JÙ'š0ŸŸØ½Ìc„9nâ¹È˜Px˜7@cúŒ'æmeãÉZ³c%7ÅÕWME¤r3«Wõ³xM½e>hF¥<†Ô§úŒ0ŸÏ‰ìénØÃe��ªœhG¼.Ã›-TíJºÏÎ¬¾‡0�5á¯™(MGK�éPy½ÙP$u ƒM‰>¯¨q8D$£ö£ž.{(€½v* rÁÎt�¯Y˜”OÿC;Ç£íôùá‡¨‹†A™TƒÉ_JeA»¤)7Dè»€œDÛEåä¸ƒË(yÔ:õ�G‰ÃÊIò�1?q”ÜkÚ{™ü
-:^KjáÃAþd.Ò#÷#£Ðo¥<r	vÆ×�\„ŠZÈÏÀ5¡;É'úœ¦H1¹CYM„¡L"M$`±&"_HãíAŸaÀWîBÄƒÓR!¡ ”¾ÑDñLôQJ¢Â4¢�üƒïKôPµJ{ð7ÒœèQ_Ä.Î”1|.P­�S €:._Š©»R/@Qo}×�Núï¢p�vbÄ|Ú•ŸMÄÓžiÛ°Î¨¸�ÛsßÄLà®-ì1.â”�wñn®|ÞÁþ[ê�ßbK}uÀ��!ú¤3­Âà ãÂ'Àú»´èµº…s²ÝŽ9ƒ%Ø²Âú°koà¬ÓòQ>ûhQHå¸ÂLù²x·ßs1>ÅÞžyÌ$¿cäÉÿmý$�¸Å%Š¼Ú‘Ÿ²cTä¸Šnº\òpyW£°â„ät=®jõ²³�ÖÝöZ7èâõ–ÙÆ—‹¿áî#ë’‹[îäúÅ«¾,8YÕ¼g½0$­É£tÃª”†îŠË›êýU^’>Ûiu»—ØªÔ.rûÙbg€·¸›Ð¾ÅïÙÑö¤³›fÞ‹{Ô´·x"â}czÙ¯!3ì*O¬â×�Pµ-×ÛjÔ6É%«—¦É+ÜüT¿ÕÝ‘»d²8óØKÿg¸>¿š<Œ{Dñºh+	I#}Qc%aCÂÆ3F È„¬wæMHb'r¯ŠûªXÅqê88®•â@ÅŠˆêiqâ®·ÃóáwžÆ8B*ò‡±7ËÇÕ,§ä8ËÅ~	6G”d7k±Þƒ1bû"S9ø¨âExŸµW­	ÍÃöh¿Ç¢ûôJ2ôÖ#Ó¥L¹C,¹Â¹×T\OLˆ°çËâXb›@0ŽãbÕr ÑªÕ¬
-¿†iu)¡�¨Y_¬EvÖ‘Zá)�p™¯gŒÙE²g�­Yñkü$~JÕÆŠ¶k;¬žÚ£@"¶º!=|]§ºÑÚ‚†Ï™(¤a8ÂÜD¤A§-×3x�ú!‡†ÏÔ
-âOZ3t'X~Ö0Äp ƒú¯@"J1ÐÃß"EÆêÐÿÁ[L;‚ŸCïÍ} «¥ŸXQÁCTkŠþ{ëjŠ‡Ñ/†kÌwhªÑÊ0 ÇL 	6Ï[6Ö˜ï†¾†,Äy�©àkp‚¸<ÉÓc>f{'*¶$Æg!}–ß™CHÈfÔÃ;À�@*~]F†: *ZuR8à>èA`¨„>ÁD˜˜nAÆ‘™ì$Aâƒà£È5æ)˜€ü—Qu#�L¨9µl8Žl£þª9E† «;ÁYð3âGË$Ü•î
_ÂõlÌÅq_ _q6s'”d}ÉÈ_[íÀZðˆ•´,äb­Tžåú™â¶œùû4{-Ç�}þËA„ÀIê(É}”à¹õYþÖ™Íšâm«óÛç
-E‘?´¬L¦ßœ+^I[´þCÝòÅÅÎòàE�š Õƒ
Ñ¡~Ë¬/±¯nåŠâ{6Ï\f¹ÚËh«Z»*ñÈÍºê�ô0wF­žÆq‘eó·8<”ä`»—v¦ÿU<MOù;Ú á5»n“°ôj|I›¶¼—Ån…EGV4ƒâŽHO·¹v}…”¦U:ŒŠ;‹ûìMêÏä"ü‚î]€—uEã?ýÑ	ÓŒä—ÿ¬œŠ{Õºªz;s²Y&OÜíuÝÀ¸ë¼,‘æ˜TŒÒ”M^êÖÅOl1º²ÛÚ¡?�†Å¾|Q’és²¥¥_2?®³ùÇº"æI·SÚÌøÅu[¾vÒ”×é‘M ú+mƒ­OÇ
-ñÆçëÕäÌmÀÜh¡©€ DŠÌo“çmx*½'t×Éo0·»Æ•ûÇ�lµxÔtNK¦§Ù£t{×®ïÉÆþ28‚¢�¦•ÃˆË¼›p>hOq*(.Ú5¢ù�‰9UZœ±¿é…î!ðÄé£è¥¶ Æ´ÇÖvãüó5)‚Ö"·Ì'Hø‘å*á%ìžJºä:Úàä”êc˜uBcc»}·!·åyt%¾ÐÄóÀºÌü�ŸÑ8KVPBÃH\8¼G¤Bí�<é¨³ÜXçáð7	™ÙöËæ5—­Êüx†¯´è˜Õô£¡çÀC!Ï�("è",‡6‘P¨ºCäCá°Wì €‡c³�C|&ÃÖÝcXð\8xn]×ÑÛ0:¼7,y,YÀ�ƒÞBcðÒ(î&Á!¸%)Ùþ½{ÚöýÌ¤à§1o†ÚªÅü€çX=6�¾Õ¡caeHºkÉ*˜�f@Jd‚tœBDÄm þºQ\ÀÏìÀŸíá¾0Ô”Ðø«¤SÂW…šòm×KÚø’ª“åÇÓ(5UÝ1ÓëÙ’ŽÈ\ù)D�Q•ÔÀV�Nó´Å#×‹?ˆÝä¿/ÌÐwÎôÖƒA¥L(<Qi^W]é_=šÊ¯>Q-«UH«€o2@ÑI¥)SwökµºA÷óìÊÒ-è,Þ½òœ*¿Rô�º„Bïêá:Á°$?×QÖ]÷%e¯è°ÌÅš¬9¯$Çêo©»¨>Š:ràkM³þ_ë)é‰bØžM“„j_äÔÑkãó(Ò�R°(]î•ó Ô©xŸB¬Q
±q”æ0 «kÑ¹©3åõÒEDu¿!ÛÙÊ¹$¯„–fÌS\Öô­-T‘%i¹GÔ¢’ž‚¥šÎœÁYíÎÞòÜ†Y¬èªWú5@^­­QM
”½3œYT¥^jšæˆJºÛPdy™Šëg¨d-×ï¯©àõ7¦
-þÊ37>æ�*N7¨9¼2¢Ñ“å/úÃ¸
IN›˜Ô<Y±irÑMÕYó.ûÓ„
-Ð×|““UÿÉø	ôoå~Î”ò§Y>ñ’Š<,ãœÙÂ™–!æÑË5@)ñ´Ü Ú¤Ã–7ä¥ª�`»—…ÿÛ4–\�û)§Ò¬VMõ»ìMØùâÑÜÓØ\î›‚ßQ{´Ôéd~ªL„ß­5bxõœ´
-&kUßCø‡˜·�)"ñ®ë“²85ÀÙ_­Ê:äÅÖœCM$nÁ4Ûeö£’\Å
-¨Øl¥×Å#è0õ£t:²—|ByFqY4Ðžn<�àØ¸]1Êù³åFõœÌÒ
ÃÅ±¼�õÜ}ù±Îì1A—c+ºbŽý»Hq
N¦-¯?ŠÅ’'”[=îË"u,5²ãÍ[ï+Lì©ÍõU=Î¶ábO±5“»!o×†_ØÏäõ« |‹£32B<ÏîMË¯—ZÛƒ(eh¢saÉHæm°Px–ç­ÞU~…¿V<!ò-ÄiÕŽ’�ÜaI@y;¶îsÕù¨«òÙ’“ª`éþ%í�Ê2’[¡ý?ÃuþÕÄ�p¼ÚÚª[Ï-
-	
-Á(±�nEHb¹Ï!÷=“Ìd&÷Nñ*‹Åû¨}*JE´*õho°¨»ÞRTVm»øJË®ë_ðýíóÞ7³þ-ÿGN“§^Då¿³Î•Ü#êÀ~ÙQ®¢CÁZý?u§úxi›î¡~Ú2¦©Ü›¡CP†ßÁ·â¯c‹±Ïj_³ÒY®[¼Rà*tXX­¨Wy%õê"a9ðHûrõ2%Ó°³dBóÊ\IybØ½&²Aþš`µ¾@‰¸©(Ã~>’ÆDÔÙNnõ –	b¼\½Jéö­Xj4[
ò"ÈRbUi5R"z
-¢%&š³P²¼µkp…¶Z§<´‡Ž7/pLa‚»ÌRv³%V±�/°:øÝb)<HømJ&+�¢.J¥v»AüÂ”éÈ&´XÒ�›që‘»£‚’Š[öšAG¿2™ª¤˜Bþ×mOáOž²Ó�²9ŽÎâ3Š€“OYªyãšK\dä» wîÄêi0Vžõ�±Út�ÊØÉÔzÖÊ'±¯{öól†ç}†äŽg¤8(·xc(	šéÞb¡a»H‰†¢¼ðtdšwÂ¯.Û®E—VÂñ†QÆ±Ð75`µ8”Ê‹æOî¡õ‹Š¥5áÀ^Ê|uEàK¢Üí¿œ’®ñ{ñá~ŠosIÓ6›»¼©ñ°¡‚Îjèþ¨Â×oæäŽÕEh�¢¡Zc±8aSòUÛÂÄv½#”•‚©ÁülÐ½/‹Ù-mÈðÊåfèûi©ë\ÀFÖ¬æ«\�;eÍ|šW4µ*Óë U³ë&/è?�ˆR¶™o„N$|ç)^ hIÇ*D±bqûßõÒÊ¬¶;ÀJ&¥¥�›Ï¡¯gÑÔBýÚ¿KdõMç(Vå®'ñ?º®:rJ¿¹%òaÂ"xZp<¨VÀô˜Rù’Å2"êNŽ½¦CÛ$hç^ÐwJöÑæÏ×œ/*KUW²½–Wº+™…ÈnÓå¤ÍÒ·ÎñÀ†ø·I¿æ`¶ûÀ	þ°!E>&¦¨Š%;Â¹©¹¦ÀWz¥º¹ð ©P÷*{TbâfÆÂ%Ðñ¤Óh<7b„yŸ
-Ë$µH�x(Ô�È<òw2�|µêû­*Gë«8 ]j(.L3hÍ1äæãPÆë‡ðÚ¤ë¶X”ŸiÿÀþ›‡Á}ß„?h5�öŒØ¢Û µÈ:ß±	ò‡¦KÑê<ðqÁ^ÝiË;2fâ#	CÐ´$é’fâMX®s
T�/,¹^3¢9&¸þ)i‘TY\Õf`Äúf¦l@Œ4-Ý6J®0ÎÃô7Á{ö±ä)°Øé‹?ƒv¸?r¶2�H6ÔËN¶áÔ×xƒhŒx@F­º%c`ƒ«¦*Rí½Ó5qŽmdª!Ö¹!cŒv5&WZ{ÝM8Š÷Ô9<’KöWÍtmWÇpÆ]ÏÅ©‚Q7¹ªZòÄ,ï®ùÝ=H½¯žêY@^ª'y"™ÓÌ+<¿'¬i^
³õxÚ·ÓE`“ü\%`WÎˆ¶ðm˜õ«xG`a¹¸í¡žRÍ÷ï"/Ó™üÆL’i�Ÿš|ÄrÈOÀõÙDþiö¨
-UCªYÍØZ/ST
×5‹È¼ŒÚ.ÖNQ8r£|…ìiø¿Ôï•ìð2K{>T�)7%k“Ÿ[*ý¸qÛŒÀL]>¾îŠé>½b-¢”²¾iž)ü…;»i'Ë lmÌ-O—ÅÕÿL=¦ØW§!ëµù‘‰ÌfcO¸•�‡rðiÈÍÀ8z}åƒ�d“†–ÓFTF3w·d
-·r–¬_Ä¢
-®­Í)Ÿ)µ­)¡U$7–“½škõ•™�’Z6!ê
ðdwð�ãµNH÷€}+«MUjxÂÙ'Ê5I},#¹¸’
�«y°<ÛzQ5¼”‚¼Õ�¤ŸÅ2LÏæ¿uH-s;]vÛ	{®ò‡iŽQGø=Šß´*1N¥gÊ˜©F‰|l…×ìSëò·Bwuÿ"=�y¦ÊônÛÏÐÙÄ;ÁÇE9†6aÉGÆˆü’¬O¾C'÷ñŸkì*ÚêÝ¨6¶¬ß¨Ö?ËÇƒ_˜N‘6[@�é;�M°7±ËBiqÇ?3lxñ3%h¨’EÔí5[äDí9þÇÊQý_Ÿ¦Ë”^¶DÅyß™|–V5ÂCémp�“ åv^Üû�³>'¸d8©Ï÷˜hÀÙ·æ_xò.ÈO¨:e�Sú½ö.|8Okœmã�Ê@.öAú.kÈ~(±ÍærÖÄ½³/qb=Ê[líÕUx¯ì…¤ÙÅÝÜ±¢Jz²T®A±ËyËõ÷ì�IeæUÎIéW,;\‹ÿ‰¸ñb¬Ëã´ô°Ÿ:Z„ÏtÜ–å‹N;©Ü)²\çÚkù1WVi¬:ßÕ�7GwÅ]HZa’¹ï¤¿¿�+i:’çMŠ?€z‚nW=÷§jNr¾1é^a‚ï2§]ò“ï ms
ü^áGª4ßú¼(í°¯•Ä4nòm]8*ðu'•Â§}—ã_¢#¾QˆÈÊ«ÝªIa¿‰ü%ÍàwGØœ1ÞG€êðç%}Êœ�=wB|NRþÊ.û÷’l°( À¥£_ùŸ€ß®¾µfB½¯zOÓ%É9ž§±�=.’4ÔÐ²d@}~ÉNX7/÷O
ZCràðèBÈ]MÚìÅñPnàXÌ8ÒŠÿ?ÃuþsÂpœ^<ŽG‹g[ºt0�£CM)MwTJ�©™®™æúÎ|gæ;ó=æ{ÏLÓ}©‹E–xxÖ±„\©vW¨Hâ±ÈfÊƒñX/±Ëã?øüøþ¨Ór¾Ý_„æ–6™Öÿ”�o8’1§xGÃ´Ä&ùÕ:ùÊIõ›šÎåuºYÕÎÜRãÔJ|I7r¥üÞ"ç”é`Â¸4s*pÒ´*{¢˜§ˆÆ×¿F%¤·¡tÑ_	;±AùÜ¨\¢þz™9tõ×R�P W	C!~.½–E¸—ñ,øA”¯ŽÐ£â}…¿ž|¶eR8m¯iR>Ù¯–F¶c6íýÐ8j�ùH�iÜë;ZˆI]#X7¢òæþ¨ì×<•æìûäßäì×U¾XÓ
í®Ä;™ZÁC‘qHŸa{èwæé¦f�6xõSkqÜõ[†O­Ó?T4+:�ªŸUòÏ4ó³oƒ+AÉšz»~oÜ&hšà�Ã±pJ¨=‡ðGpîèõŽT“:×§4LŸÖµÉ*ÁVùeÅT}´ä¥ªÜ0š¨™gÜ½ºÜ‹ã–‚Qgþ	ãì÷PR�·ù7š}ÈïeÄ6ºÈ-žêc½Á‘¢18Iî ;‚¬–Ä)PTºî{uÖ¼ÚG;ÅÜ#x¡»Œæo…ZÈ/
0Nm÷ïÄbéWÞf|Œ¸µPq–2íó‚CÄé’øâV2@|¸dyl] r;%Lí6ÒSm`}‚o5Ô3T(mªc3ü£¤ÅÛû8žayë6N^³vj�$Ö™²m…�,ïÄ\é'Ë»¬^…·õ«ÔJuºu¹ RKXe|£~�µ5´ÖxÑ:àˆüj‹ñ3ØªÝ—’:ÛM�Fœ^"›] -?‘×Q¼¥<&ËVr£ìZªPP	4šª2W¾N7l
-m1rìMáˆÈž¾ØÉ¬¶;¸ËI×Ò_€ÑÜguáÒ­ùKj£òdEÊAV’ìTujj°ry•F :+7óA¿âbè1hOùÛü²|Éâ(³SYš{ñ«}ÀˆþÕ4)])™Ý¨È[X¨k¸›µ@zµ^œ:WÖþ)HÜjóµà©jIhÄ¯š`„wTœ\,Æ†Ê‹ÝO{Ëx_î*<“…›¯çhò0ÈUf¾ÃÿÊ×¤ Ä@±!Ö�ì’³+š¨auepó
¸Õ7›C'<gZö#Ý.>Öa¼h�—‰ŒÅO®¸'Wˆ®}‚…H[“ÌE
-÷UZ¼UÝ²Â“œ
ú;P†_9ãçz&±6âRo¹Mf©Åaa~Ñ¨]ê+J5y”|\;nRŽ$
¢ÎÀ¥˜{Øð,¯/0œ!šz}MÔ:ìI1~Ïå¿ìõ“j9øwÅìÂëºãª‚õeÐ–±Î
-:&ÅÁÓô`Œ<€yåØMXÔƒ ¾òíy�®!Oº®`}™ùJgÀSÛ\ðZ;S§ÞÒ9âÒ;
_$^7ú›žÇpàx¤—Wˆê±cA=æ]x«ïâ¹ÝsŒj§ë]ë‚U*¢”-ÆÁ‚ê+°¯p¥æB§§ê’Ñk‰¤¡ÙÌ‰~eü
·óÒ1tk ß[ø-ú?^\ò3+t¥[Úäj¹Ýü1¿A9„wçœÂ‰ê´‡Ú£dNb°>€
-ˆî†öÓ3y«`úCÐ8º—yï7ÿŠ}ç¥"K,/ÝBhÐz·äˆì;]ò^±ˆMÎIVídkÓš4ÑìPÂà˜% z·¡ÑRÍ‹0ñ-}F†­”_ Yk}çµƒx`Ý´ƒí~É|i¨ý¾/ù§ý|ö#e„½9-KýÂžŸpUÛm�®Õo·/äEõöÁ‘¥ý²±±Òq¯^)tk¥•vÈvýR½I2OVPõ1»Y1«J”æ®ºQù}ÂÍåŠÏÑ´®¿àÅ@=åÿ^
-ÿXžà‡bTÙ!¯	Â½ìon”ÂNÊR
-ñ
sÄÝÒøúß³3åÿ¨;¾æÊ'µlÂ&à¯e4¤ãTKx±PLUZp_å×„q*ü¼çâ·Ëg¹½¦¸eN²ÇLyæ}qs0çÒº+Loî…5ŽÌhþÏñ«Ù¸âÞ¨v¶C>6i)P¿äj¬N:GNžõŽ‘·è²í4ÛyC)D¬—n!šEHÞÒEÜ—u‡Ü]È[BùHÏÇ5S÷±QAôêka™Fàæ°vh>Çlaà3¬¬YäüÚ¦"¯cèÃÂi¹Ç°®âYÓÌûJ.¦"øfåiÁbÐÙEžÏ†i¨QÃMn"ãdúÈib“0Ž‡Àb"ø.)VX™ÎÈ‹D£ð�²/S†|"SañÚÃ‚jó='Ò„O@ûÂV‘8Œ»’êE¯r0!¸Úf+È÷.-mŒª6Œh¶‰#ÁÆµ¦úŠ	�(A0Úe‚##ÌBÄæ‡¿Åhn
-¹oæÜ ƒÈÇ™£ôi—Qö»¿`›Ž€Øõ¸a–Éamt.M™e�ÉØgH †GÎG_™?…-1Ÿ'6såD5î3“J¦‡<ÞÓoX•k«´ŒäOh¿ðCøLçaÎÎ¸§ÇÓ’OA·‰ÄØc¦Kd*i§DažØ!šà2ø.¦Õ‡OÚØ~Ïp:ÛòÔÕÎ<²¾ÉÏöÐó„:-D7fà:1ã˜l2Lml™ÑÎ.àß…[ØÃa^h‡EÈÝb¾e�î£ îY�{j¨~[–k7ƒÙF%×ÔÎ¶M9“À¤­#ãÿ×‡WÓ`7'¯¨ˆ�0„r‰!/C“à#aE!€™"„’�ùÛ;ƒa[µ«ÜCï''ÐZ)Žs¾¢â<µ.èá³ZÜhµjOï¾ÿâ‹j|CÜLW6³ˆ{+7˜K‰WŠ-}d`Ïö˜T%8È†¸�@¹1²*%{C_!,òP©¡vÐ3+‡aÈ}8ë§†Qweú¢¦÷Ìó•«Më˜MŠS–‹Œ*IlK¦§G;é¯ã\“´<òø‰:Ã‡Ç¨ÚÒ˜WûŠü’ºÞ¶Š¬õW[±´§M�¾î•òæMÞŠ#Žw~’Ü:àII¼ë¹íqc®Vfgä=ð}˜�o¢~+™ ^æò×0TWAÀêBJV<+µŒ¼T .&¬gË<ä¾©¨“<Q_Ä»N>52•`9¶›Âì¬ùÔe`¼ø>«¨2o'TrtU'Î®�hÿ‰¯U]Ä³kÖÉ¸x·áƒ¨ŸnÚÏ»A™8ƒÄ�¶¸°)2ËyŽe Ï@Úµ#pGùÎÜð¿+;tï~5£�D¾¬mW•£¬úíÒÛhÓˆHƒ¥›^ðna¬ÎM¼Ýa	çjà+Ö0qn+º8«ä&ok“tNðKÃˆ¦ÊhÔ©üàEÆqénxÒŒŠ‘¬‰¼	´Ó~Ÿó;ÖâÚ^†gCª�™D2TøÁñ÷ú¿æøœ��ße~ti�£š`…iByT[>H	(Õ!Šƒ×8ô¼·HµËÃC›Á‘ðÌO†äâ…èÏ…"[�I¦aO3Ofnvè[|šÙN§�¯ÜâÚc¿"mÆ�”H~œùÇÔ |>ü>:ˆB!}Øwø¼‚¡–4Û	=i­´?É”Ú6;—¦œ´?t©•
Î4À*-tíŠ$à\x&_	Õ"¥1]ðQtoDº{2…	‰ùZ3ÆëÙ–!ð?“Ö9Ð¶”ë•:Ç$Pªs¶"÷Dj á—‚Û°1gá%¸3¢¡‰¡qèñ$ÿló4V’}È¬ÂÎelµôâü”*k<nVJlWñ“Ò4‡‡e¹TÅ‡€)âAÌ4ä!•nd!é
-]‹–‘ó›Œ[i*»®ù=íÉ(5·Ð@Jr‹�§äX¯Ðr©Ö¾ŸŽ•:½ô"~'PJ½�
†‚¨KûáƒT{(�~Fä‹›Z|D¶ÀøÔû<ƒo‚¼ëR8¶gL¹Ä:Ã£“jlïÜc¢ZÇ÷*þ×/Ì±X)ø=q®¡-¡½Èu;o´U“Û³ºÀ·¾`{ê/]Ü—<àé/P<¬õg“ŠÜßÔ<(Ý	
K¹ùÌ©æÕQ—sÈîb¤_ðfÆ¬È}èÆ‹�U;™w¥sRë°¢3YÎÌ¬’*ÐÃ57’¢iw=)Ðz£†[OGZ¢gÑ3m?²Ç©ÿºJ‚SŸ þ\?jYy•îy§Ò­�"{«ûÔHoí°ü_d[ý¸ø5ÙeD‘=æu\ˆì³EÉ¿……‘�@Ör*¾Ÿ#ÀÅÕB]TóXëÀY†µ	_Ý¨”cøFã¯âËøusŸ ˜Xd5q;½cetÑåú–O¼‚¶±02ù G—áRæu¤³‘«]ŒÜ46©cÑTÓ6¹=f¹&>‚)mDb{
Ü~|‰ëXtÞÍûšB¸¬s„[šýÚœ¹²›hN@¿ZžªžÃ¸µ_.FxvHü=rÍ™#�¢�€”{ýED�aÛáé°q<ÝÂÆïã‰Ù(°Àš“étÚ.i`PêX¡:¾tn”³ Ó®Çâ!x¸F�‰¬…Æâç g.zÃvaïCÖãk‰ˆìPgž«.cØù@5j×�PuT/Ÿ"p™ø[B
-ëàJ´*þ/ˆ3rV Ñxux¶„�…tc?¯þÿ©»ÈšŒzŒÆhæ9ÕèUâJÀŠdØ„øØŒ7@%fÇÃ±…cBÚÈÏÂ=h7YrCÈýY6)Ìˆ±ËÈ­)7~ä}Õçlj®ìµk%ÅŸZ©,Á&ð8eŽG¡)ÊÃéFRÞðƒ¨Œª
-™Æ©Ô¬?YÜ·Ò§l÷pÊ€}¾{£*ÇäÎ“=sÖ»Åç]—™+‚] —ñÅ÷@ffçüúLøä-]ŒNQ'tw¿¸žû$Uÿyqá‚äSÏKË%í½©’¿µùªÂ¢VOm'?Ð4\‹�áµš#Õ¯UºÛ}Ü™ÌsG€—uìE‘[{ªÝ¯tyruë³ŠGŠç¾×U[$„/º6]¨÷–7ÌáÇxÚŒ·cyî£–�HÀ`o}Æ�®É`ŒY/Ì4û>–‡iÓ|³*-É~ÞÄêAÅ>]{ORäžn¦¸�u|3f‹Õ12›4r?=â„ØBÚBÁ£t"ÉØã	¨Ú«t¯ªÙªÞÁLŠ
-&·‘+‰£?_
-t¿y”/¡µÖock©ÛŽ‘·¨Ï�:vÕM³ü©BT™CWÕý®ÑQ·¾PçR qŽ‚Ge™²%þÔ2Ë^aµÔ¶�¿ŠüÉá�ÝDö¸ÞG-%a(‹½—ô!V!Ù‰¥§Ÿ$g4ý‘ò‰6ÉÕaD‡%KáOPV±d&ñ•=V('ö9£ø&¢ÆŽ8$‹*#<H8û5q½ÈÚE<Á³ÒMØ[Ëƒ”ãØ„uPõ»ó?öÊ<ê}�ã¢NûÞÁ k(jº™j‘ŠödÏ¾”%‘d†Ù~ûŒ]hsK§CNZŽb3öÑ0‰(ŠÊžÈAÄÝ_:Ïsï=Ïýç>þõyž÷ßÿ^¯×?_Š+yü“úÖ`ÚæGÜ�§I6ÅA#eÃÃÚ«žåB•íð*h¹bìo³Xì¦fša€a˜ŠñSàÍ‡Ü
-ôpƒq �‘A´37e‚°R[ä‚ûÔëÁiÈV%bÀ;jÐ{xÂü³Œacv„YÈ„ŒÓ˜�,�üŒ¥ì7˜`¥‚ˆ¾À6°rSpŠ×öà#+@w¸Så8‰%XBL$Ýcø�fŠŒˆkÌa\‡mÉ…ŒA¸Ì@ÂL@6¬}ºi’U…´h'‡Q
�}@+zP¥LD�	¡�.ºÓ|?�ˆ™î [bqÆôLLÎ¢ÅÞH<¬›ÅD°.=yÖFì•6Ÿ%Æ²4€`ì‚Ê¸“%\;ÑßÍª“XéíQ¼Úmçnè~¹Ý1ž””0æZHlŠ7öÕ³�»î³K{4¦Á?V£4Zñüëõ%‘ÑG¢ƒÐ§òOÃ•Æ{?\I²¿lœ’x×ÉÞpG|‹›<)þ’‰g3±/Väý›c{ÐÙU !‰´¶Q�!G]¤´Œ3HóU pV0Ïíe$Ø85¶¾ôÐÝÒP&NÇë6‰SãÝKì‰Ž=k¡w-Ê>€«s<RîÂNÍÍáÅ!9ªÆœôP‰Ò	öz�‚'[�švÇY{’�šbÆÏ�Èw¢|UI»£RÎŽŸEÞ
-èÕKˆ¸Ô¥ãvñ‹¦Ç‘:©Ä¦U+EbuÌC
-)˜%@3��N÷Ùeé×CˆÄÎÑIë#nöËÃ«/é¥†Ë…Èèp8‹¨©š‘ì54’*³c\QªA»Yé
-½è%�bjIñÿfähM>žE"pÄÁ·ˆõ�¡žˆ�HíÓÉÃ„4MÍ*tˆq\UŠ:±,”	¨<0¦¸y�3Õ
÷
ºet˜“E>Ä~âF’go¡*Û°¼Ð&½6ì$í¦N'šÆÒ’CÆX;Ôö là¹²rRWEŽÁûM¦Ù(e�{OÍ ïÂÌÃ¶�Ö¢Y´xb?êIÔ“¢šÌºk‘dV¡–)²TPá
-ÈBù\oW|×ÂßL^£•47£µ¨½’¬�”2—�Vá™2qQTõÕ`)¨¬{N…”´`ø,«&‚×ÃÅÊ5°9b¨øöFRMzÖ}£•p�OVƒƒÁû¤åð2èÜÖ…�þY,gë†BÏ‘ZùÐ5¤HM
-%¢K”¥P#J ÈÂ+Ñ�¦êÐ\f¤e ödyÈi'-…V Î[WCŠh¦¾dˆŽè&Cê˜†V´3Pßi`j*ZˆÖÔ¡jôºŒÌ·oÿ^ e›~ró5ddæÉü÷ý¯÷<Y¹ù~Z¸hñ’¥Ë–¯X¹jõšµë~–WP$()«¬WUS×ÐÔÚ ­£»q“žþæ-Ä­ÿØf@Ú¾c'Ùp×n#ã=&¦{Íöí?`nqðÐá#G�?ayÒÊÚÆÖÎÞá”£“³‹«›»‡§×é3Þ>¾~gýÏžº|1„B

£ÑLB0‚blNxDdTtLlÜ¥ø„ÄËW®^»žôÏ7“oýrû×”Ô;i¿ÝM¿wÿÁÃß3=ÎÌâfórrù‚¼ü‚Â¢âaéQY¹¸âiå³ªêç5/jë^Ö7¼zÝØÔüGKë›·míïÞèèìêîéíûØÿi`ðóÐŸÃ#£_ÆÆ¿NLJ¦¤ÓßdæÍ“••“›�7øiáÂE‹ã–.[¶O±rÕªÕx�µëðò
-x‚Þ�‚WÁ³à]ð0ßËÌ¤ùÑæoqfÚàiŽ·<imcçpÊÉÅÍÃëŒ�Ÿ`P0%”Î,<*æRÂåkI7’ù55íî½û3efeópÉÇ¿)þpœ‘ün‰kâž¸(nŠ«â®]Ý¸moîÛÿ	7üüy—Å½ÇÆÇ¿~�ÀÝ%SSRéôœ¿4ç€¦4÷˜ñ4ÏÆa:Ë•2™é=Ì=�ÜŸíý°‹ç“×Îó·ðÎ×¾Î¦4×séíµY@gM&ÜWõ˜=Xù(b´âQÌÄl7Ç0Ç0Ç0Ç0Ç0Ç0Ç0Çðÿ3˜Ï0Hq)Î ÉòŒÉöºù‰wúAWîþ;¾OY«À¿¦IôúŸÒú’O{W'`u<Ïû+¸ìáâÇã³Ý_F?\(®GäÏóÆ@®ç½n�WÎû‚Ó¥o‹½Ÿý!ô¯k|ÔXWÒV•OïªÈ…>•esþäg±¿ÌvS¹æšS|œ!gàâÙî£9îI�ôÞ�ì¡gQ»Ø«¼¹Â§¦®ô|sU¥½"ŸÙUÆG>–ò8Ÿ¹\dd¶ûÁpg°ža˜ä¹†á»^ÿ\à–Ö't{ÜUáÎo­vÕ‰}k«JƒšÅE¡í¢|VçÒ—ŸddCC³ÝT®Å08S&r\ØcyÎW†Š�S>•»<h¯qÊixîZ^-ö«—7‹Šim¥@‡0íÉæý÷rXƒ³�„o¡ñ�a*×Êa*gà;¡£…Ž	ƒ"Çäîj§´æ+~Mµ›¸Bì_'zÒ$,¡¿))ßò�®£÷ŸÑ?ÛIø5$‚¿xŽÇóàa¡}ìÇJ‡«í
–w_6Xç=­ö‹ÄµB¥±XÈh),Ú²
-éÒóÃºnÂzg»IÁÃî)þI{I®Ã…/…v¬Ár›ðŽZëÄÆ7îUÕÛæ‰ª½Ä%�/ŠÊ¨¯
-KÍ¼Ú›‡EÔö”Ê‡ùÔÎÙnR`¡>™wd·g˜Ø­Âz«­€––±K_Ai'Æßïéænîövs»WæfnfïnwSv×d“cbA°w±‚Š½`ìbbÌjŒ*‰ÆŽ�"EŠ€TAš‚ˆkŠœëÿÜäfnoðÕ‡ßû÷ðÝnœ2yÔ¡t¶>ÁgÉÆùÓ~¾nˆ›7ÛÍÉ5aØ9æ&V®õ¬öé§
ÐÕCš_èÓ±%òÍ²h=J§mnÍÂ9ï¶&‚ÆP$ñhÒl	Q”£dOwó³´/x™3Mã™ÆgãYsgµÏ¸û§÷cÞW��m8nQå¯Y¸Q.^qG³M,M¥Œªl¼<MÐ'M•vˆSå­Âeƒ E]7‘ª}ÂO×�ÕÞØ�/ö˜^.{,Ÿ€µI�½Ù%IºîZÁYñBSÍ½ÄÙ˜‘A
ŒÞ©„qZ0~ƒ&z*…Ij$pÙ�âDy¥(YqV»¬ÛŸï°=¾{-¸ën0^ò‘­]Kßv¯ ®B	ÖÐÎ¾¹ÈÁúHb£&ŠötÊ|¬„r*§¢¹1|”<n¢Tž 8+çÖ…mî�+V�ËE…ý²?Ïq3�æð*'lÖõ,µµX»ëæ‚«gƒñúJJ)Ñ„Q‹4ô|u$#O
;«·¼ŸÚeWÿªZúç÷ÛßÒÜSFv!Å=o|«Ñ«�†Ú%0æ¡ÜYföí-4ùaïÍùæ†³
A¸LC>}6ìÌ6….¿×Zþò…ðí×××ˆ€¼çÀÙìð,òÚóqÅšçó¢Ó7�‹Þ/²l öôð«T«oÂâß�d	ìI4Ÿ0üÃ‚ç·>Ð‚¦Ã°Ò}\bí6�ÙÄ§aí¸,ŠmÉ1‹�÷•3ý•Zí«GuKµyúÙOªºæEifQÐüÂæ¬ó†ó†ó†ó†ó†ó†ÿ«÷¡áÊ‡†áè—Pr€‡?q’Û¶©ývBÙ†Ïf›q¢¹¡RÅì`…F×ÚÐQeV5ÕÚ”ÏÐË‚æ¶åñç}lðºNpÑ)'øø’¬Æ1’ØºEDô­Óˆ‹ÄL¦e)0ŠdjZ?ôpFƒ­2©^ÔØ¦ê[ìœÖ;ã>4Œü²!®øp$áñ¿IpôkrRÏ9…°DIgX)Y¼yJ¾ÄH.™š%=Ðê�Ó½�¸ÍÏ×¨mèuRzÍYþ¿
#A±E‡Äøê2¬ù
%±k�šŒ[¡§Rmc™)˜gI�ìr¥nìþŒ„Pi%uÔ¬`š6Úš6œà¯ÿ¯�r<SxHŠ­Ú¡Ä7¾¥Â^m0’í¬Ò/ƒa“ä²ç'zQÉ”‚W¦ç0Ê-Ø�Ê5LOãV{»ó>4Ñ@Œ.8 Ç<Ú¥Æ5¼c$´o±áýk|~y2ƒdVÝ£éä
-Q‰BÈGéél”¹�‚ZmmÜhÃ6¯;ëcƒ÷€øsqD‚æï�FWîÒcžm³â0oø°îU)kÕfÏjriJE!_,.‘sù(™]fn¥Û›éµöfj‹ÓÂ/QÉGä¨{ï©Q;cÐ§o¹1è
	ìå’ÑeÐ#Êé,¦XvOÈO±øe:»x¾…Q¸ÔÂ¨Zj«_tÖiÃ€ä}ùCÃHdÒ!%¹G�(wp"k¶„Ñõ+Jx“ÉÓ;­ƒ“%Êo)a	•t^©¾�S0ß<–okbVØÐÌŸœŒÜ8m]H��bDâÁhxÎ.3¬ô-?üÑª,ºÆ¢�jÑš"±R-l”?•ÎeI‘Rº°PEàè_qòæXyÖzÊÚÈª²8ëç†òÇ†cRlŸ’éà„nˆÃP6Mx•Þ€‘Ã‡ø�¥HçÑOHÂ|%–�ÔaÆsÏÙ¹óuì’ùgœ
-“³âÍ'ŸË9rD	ŽÛc¦¾å,©B‘³fŸ'
-›_û„!ÇRÃé4E�,Í•ˆ²§:&²4M¼Ì™§ãÙ†Úñc-·Ìà,€tó³ãQŸK'dÈ-ê÷‡¯Êü“
&�Bå2¨N`õëd"ñTM"�4•ÁÅN¦‹;Äir´0Mõl"MSÃÏÔUó‘új~‘ÎY'd×ÏŽFA—Ž)~à=¦oè¦1?ã‘ Z¾S*\=gZ:)(Ž¨I¦ö+“9/åIMÒ$I�8IöX”<õH˜ªz(Ì:…tÚåÖ§‡4ÐÅCÄû^P{€Ô‹®ÑÖÝrÖ*¸žl
îÄc‡ztqdÌtüXƒ2~¼V?Q%KUHa’ri’%I�,“d:í€vût¯ovØÞ®+r÷´.þâ­[i,‡×}Êšÿsœ-¼½s>¼=A¨ÓERªÕQŒ‡*(«\Í)™Šå)âyŠD~�á´÷÷OÞ�y~µ)rûZ?ÑEºy5„½ëžAq€ËqÁO;–[­]OLAØJC0¥!ëBÉÚðÑ<M$5W¥å¨céÙê§í2Ý~÷Žëö·¹™üY¶~ég÷zØè‘g:nÇ¯¤ã5¤ºaÜP½ÆÜ·B:‹Í¾½÷LþØœ¹€Á,cÐP†1d8Í†K1Dœ‚â�åàÜøí¢ò›_+ì_þ�»óí­Ñc·PB´ï{æ×o{>¨Úò¬A­yÖç¯x¡³—¼1é6Ÿ—)�ŽäßWIVÿN¸5°f	îJ°„:m]tùWªÅÏÃw|õ%íøš+¸Ø¸%Ô»eþ¸çVTºíö ï�{UÆæ�ZÄúÝ:øiOÂªWCœÔk7EÛ}›¡+þ§ÑÎú.}ô»þèyÝ!±@ot0/ßLýût”v~€q|ú¢/:Ó™N÷hg;û¢�NÛí&ÙÙNÓæ6k¢1›£&‚'ž¨¨<£ ‚¨1
-(à
-"àÞ"(*^€ˆ"—¯xÆc½â¯ÿu}Ó—ì«}á‹ïûÏ<3OÞ‡ºpÊ;ŠµR-X¬ˆo7•¦ôéóqr‘0:ƒ'MjqÅJ-Ž¢Ò¦W)U–R‘ÃšÎe[Ü¥áÒpi¸4üâ
lÈÀ‚Õ��å8È”#N0i—V¾QQ³ÊŠæ/2ãÅfjrŸ¾2äfŽÍdæ*µø"õt:E=�Y£Ë®UËójU?£Ÿß]ì§¶ç†:Ä+À
H>nÊÙã†¼Ýä„W¯ÕGñÞ±bÛÌUI=JÚ ®(cT›“£Ôd�5šªf2«Z3”W3ÕWP£é)¨¶8Àú÷AÝ…¡2pá Á/é„‡ÌÚç¿Ùâ…1×¸Ü¥úè–yvB—‘ùZ¦+OWh³•"yz*³B;’[¥•Ti;
-«´âŸdøÃ¹¡2ÔB®7úŒç›xÒ@Üç•lóCèïÃë—yQÂEn\»©.Y2ÇÄÏ¼ÍšTåL�)º~C×QÈ˜m!3f›È�¥ý¿æ
ag�>ñ§?Â�Y´#DUlÃX«Âþ;atÛ|cb·�“6 ¡gŽçN÷�ŠçÄù•ú&2]Ïƒj Óç,
°!Cý…�CžWèG¾7öDè›ñCS@á‡æ êfkhÍZÛ+î²Ó´(Žo×	’ec,ü¸„Jœn&çéy…4c}Q…‘
Å*ª0XÚOëk 2°a^ Ñ+ä£wÜäƒ?lñËßm,Ûja¬w…³W%ž©7F¬n‹—6¼k¯ÎÐpË²
Ìâ7óôbª™^D3ýœ.WÏ
u?<CN…^±ÇÍÜm¾¤ýö€7;Ý¨ŠuixÕ»¡H®n0R4Ú+ímNmâ¤MUÓ3ôoÞæ-”¼¥,”–Pçß–PÍ–vnà\êažg|Ôi“GÌQ«Wê�Ø'{·Û¿h³U¶6A5O¢9ê1´h@Šé·Ç+¸Âä);MŸ[I\ÈaP
-Ê©ó…e–ê.ÈÀ…yœ	ÜƒNšÝ1‡"Ï”½Na[âŸ÷~8„üN…¦ÌÎ êGUam=#¡$FQÓ¯.á'Ïê3Ì<š9·Šf"Ñ-Ô]¿0ØÛ‚¸ûG¡kàq«[äA»{âN/¿.÷',©Ãˆ}P¹R‡ªP£[Å£}yÔM£"‰±³øV¼!­“ªÏn¤ë³9•wnà>¸
-¸�¡îö±	p$‚‡ïv¹ÅmÈ¼’–&RŒsÈ,Í²lx.¤®GÞÒ<ÕË–G
—I£”Y½˜\Oª.½‡<›ÙÍœ!ˆ,Ô_ÿüÜÐ`oø0øI‹‹ïA,t[â¹¢ðŒ6Î ’4ó^yŠyßŠ>]0G¤oåCæPäP±,b‚(‰Òdö%kˆ’œ©¬þr5AR1ei€\<È |ùòHôñ¡ç%rM6M¹¡§Ì.8Å²[‘ÄäÅÍ yU˜¨vÝW>&ÏÏì¥LïÇª2¤éJ‚¬p’ +™°4ÀùÏç€÷ð
-h|fó±ÙÉé ÃÉuCêì9¯tñÐ˜0ŠçLÉ¬Tdð¬hë”(m,¸—<<˜5¬ÀCŽ4f<m y7@ÅæXàþ÷3ÐhsðlŽÛžÛïô:8.�:<×ì|GWžÆI6³Å‹°r¾Þ«–­õãW¨üEEãþÝÙŠ)~)-N–‡�$Ëc‡S†R‡R†ðx�A`ûõY“Ãwû�ö6kò'gæî?[±
êß~š(^w"ñá¶Þ³–6ãÅ+R#Zr&½;ðc>=)£¾’RŠ	‘aG"dXV¯H°8À¿ñéY“Ý?�ÛžÞÚì·»©×Ü¿1¾dõBºc*Þ³O¼Ab/ÂË©FX5yÎÉÒ¸
-pj÷Ö$¥‡;�èŒ™ðíÂŒ#»1ã!P‘]˜	ŒÅá­ON[¿ÿj·ûÑ7ã÷þ6¹xÃJºcåÚ~h‡ì=Oa¯¿È¥,9•æ›é½síëÙœx­KcŒ.Œšrkz¥öl	W{· Õ-ajT¨Å�¶Üùý¡øÑ_Wåw¿T™¯}5°uóaû‘µ»àì	šµï�X¾iOÌ_µ'§/Ú—'™ŸÑc
Ï«#õN¬ð9çºP�K=
-Ú&xÖ�4‹àÎúAù[Ü¡Èêw[’»ŸjæþüÙàæ¿¾é8ºm+¶n,ð}HÙ¡]\Þ;~Ã.'qõ1³ô¸½ø„‚š·§š*‘Ð6þ&gºŸÉ…ákreø˜<˜>Ð‡-m¯óÞoç¦þôë¡÷ÿø¢ëðú·MÀÊ†ÀÊ€5’tj‰;°Nˆÿð¹ù�²n›¸ö(ßoõq¡ÏÊ“"ÄŠ}±×²C±ç²c‰Ç²s‰û²Ë÷e˜Å½ùË¯+_ü¦çàê—ÍàÆ·,pÇºÜv$�Û¸Œ=¹ùêð6xÿ~²ÿ®uª÷Î¼ç¶Mºûö£L·­Ç™®[Oð­§DØ¦”#ÑeÓ)ËÒ@å×ŸúÍ¿ƒJ+@yîhð@À@DŸ1ýÓ¨ü]º|³4²f-?–·DLjYHÃuš²úŒqýÆ¸R©1®BfÄÖH�	\©.‰/U¥
-ûÇñ–ui¸4\~á:d B†J8T!0 : õ¨EÚe Ë6)ÕkÅ1
K¤Ä–…Œ´NS2¡ÏŸ/3`KØÊCBí€!‘7 yÍ—�ãù²‘ËtÈÀ¸õ£á A&<Ô""; å˜�ÊÙ«E—n1#˜ÿc—NƒšÎï8Ž÷˜i§uêÖ™î£íëîNg{Ø‚î¥è**‚‚!œáJ€nŽrF	‘39rr�„„@A„’$¹A9~ý¯³³�}Ö<ëƒ}ð~ü}Í|¾k•8Ñ2ƒ¨˜ÏËh›!SžNß¨�"”ê¦ˆµº)’@7š.éx éëË‘ôu[Ù2° C5dàz£�D˜ÔCQ8uWÍ|Ã�¯]gã+xùBqšz†ú k:ƒ®�$•ê'I,ýDªH?HnèïËmèï¢ŠõíVÎ|0°0Ôy
-ÄhÒ‘84gOY²%Ä>~ÍÇñWYÉÒÅòTÕlY3�MÓN¤2
c©l£)Sdì£ˆŒ]T‘QM[ò¬°þ~p~0ÔÂ<@½wh@ÅœH‚	ÇLö;IDÑvCLå†(žûŠŸ$^ª%*çÊ²ÚÇR{É…F}få Ž,Ôä
-Õy‚�&º`°ÑÊ~4p æˆ@ AFŸHñG24y_–¿#‹zôFŠe­‹q‚ÅzBãTmfÛƒÒ£¥Ñ�šìRS…cRÑø&�o’<ä›ÄVö_Ã­+€
„�DËPÉG�Á™ïåú®"‚¹©ˆ­^•ãx³‚ÄÂKSë+<ÓQ�-´"³‚öxXF¯ç×
 øùufklÈÀ½ôùæÄ$�ùG7"“�éÊêvsDñº*¶b©ÇšR$7	I­=¬ÌîÖ2ŠAZ@7èe~>×Â-àZØ¼–•ýhàB'2¿ð#Eî@˜º×By£ÏÕËœëŒ«S%4¤xUg]Z·¢šl¨gR‡k
-‹ÆªŠXc•…œï­„,ÖôCd� üOä¾a‡Mþñû-(âŽM~ÝN]éÁL÷D×˜ÚãÄ½Êä–V1éi7CÏªÊ63yã…Œò‰¢ÖDq{œQÄ³&À�<ÈÀƒ|˜+�"üŽ>˜ƒf?ì®™²Õœ¶ö,œ¼Ð•?a¯6tÇˆ4j\‹BŽïâ‹Rû+8™fz%eœR^2I©`½ 1Ùt{Üš~bÀ`@æísØ„@¿SùF¿mÀmtãW¤3æ¡Ù„yÜ«‹¶vÅ5‹[5µr‚®X”jÊæfŽ¥s
-&2xìqJ5g,§Âº ÃAd¨ƒB˜Ë‰ÜÓû}³wàn›Oøf—ìjpüÜ0?ñI7ŽWu…	äºh%¯+®ó‘:±�¦À¦KÓ,$Y¾…ØÄ!yÃd.oÄš÷�áò÷; vu>Vxxî«¼¶;è5­è¼�y1ƒLZ@Ñzf‚*[ÆCêCaŠªþ¨Ž‚g±Ú¬Ž„Â’)¥“nJîf¥©ƒé²ú!k<ÈÀ¿üà;Ø©«Ó¡Ò¾Ûæ�xÝíå¿8àç÷bÊ7Ô´ˆÄë^QÛ‚ËeS!|Ž%LÎ’£�è¹¯�1¤ô¦<Oé¥ñÚ2¡O 'jDkú`¨‡õ�AwØW¹¹liÜàËzøä„;Â´à­[óIëXóÏWÌ£ª“!õUŒ¼p(´í�!´›Ô¥%èûˆýZ’>¿÷¾þqAÏëµ&P÷Ï�€Àî3 t°;jrµß}sXÓÂ¦-÷n›ç]�ºu·„Î-/rÓªo±p6 ¦f%(±Ê©¦ uús´oëN6`Ÿ%Ý)ÆOñÆÂ.Âór�5�zÈ ¼ò)�8~s ºg·ùô®ÝÜÐ�¯‡go¹èÖî†tîÀR”›9âefí¬O-sÒO@õ—e™Zˆƒ¨¶¤��Ü@dgÂ@B'n€Ô‘8˜Ýž8øð‰5ÁùÓ@|õÜ±ÂÙv§ýÎ…%ý­ó#/¯\î_»é®Ùq
-oÞƒ6<©ìe/&sÖ£&oÊ‹Ÿ5îÝ@²øÈ“†ý›ãM�*¬	ÓkŠ‚Â©°æû-Xs–UÑ¿NéwçTN_¬÷Üø|lòÂ_õ«v×5;7Í‡w¢${pgÃ-·tÎÈ›w­ÊzéÆ!NºÇ=°ciô¨_c$´Mô#–¨ÆKBcÄ(^fM@òï?ùõ³[�öž¶ùØ¸|ñ|×Û+-G7ý$'ÎÑì=bé¦3%ï•saæ¢ó#ÂœKuÂK;fÎ‹˜òà‡Mz×c }B^  B!“‘P±VmOí©íÿ´`´95°øÅ'O·¿ºÐrô�£8ú±ÁíHæ¾C
-mÛ!3ãõm~Õ±(nÉ©4ránEè¼KzÎµ:xÖ½&pÖ«ý
-j6 9…©±¦#åÅß¯õØþfhö“SÏ¶ÎŸU~û¥Ø;²Àu&¸J=¼ž�¾gOJÞ¾‘»q37|ýýêvAàªSrÅ¹Äå^‰ß2œá»ìÎðYöfú,ûAXÕv§Í¯F&~÷ËžÍO?R¿·='—¿d�K·à[*¸˜ì"“¯$D¿»JÝ¹–´mŸ°u“ìûÆ!Ûç�#Å{óNŽ×¦3Ô½\Ï
x®Ç†”—U�ýöÚõ�Ývð·32`û°±e›k¹à‚K*¸ˆH_E�oÂCŽ/Å"í|ß_MôÞ¿–ì¹oŸâñî&Þý�Áí�#¾çDtÝs†ºG‚í¹Z(=w”Ùœ¥W¿ÅN.€÷eˆP†L>a¢³öÃóßæÆ”of&±×ˆ÷…«8²l›§XŠ)Q.ÅT4/Å²š—°åRœT¹ß¬œIlmšHik!¶+þ×~6ülø¿70!Ã#ÈPJÑYÅ��È‰ì5I¸šø½�Ö´[Ýÿ%tÔt~Çq¼�Ù™mw·Ó™ît¦ÛÖÝvt�îN§Ûª[ëŠA—	G@Â BB�îû†@	�Ü!!w€@ B ‚-(÷­"¢È¯­ãôa|ðžÏ÷ák¾¯
œ×õ2¾]½œ QÍ%éTS)�Êq²ã�:È@‡u~U0w@÷
-L°P‰€F}A�*Þ­ÄÕ=) 4of’k$jû21_µ„¯Ð.Æ7èñÝb‚H·DèÐÎ%i´S$½Æž®×X3Ð!C=d C†jÈÀðòlD$hF@:ã%SøWó´ÏÞÌOæ¯Q2dËÉ¹êEB™~_oXHàÃÃ$•aŠ¤ÕÛÓµú!ŠVo¦j
ŽèÇþñ'Pjan ŽD8hAáA:í�ƒÉÛkÄVîÔÅ³¶J“Z×rÒ¤ËiÙª…ÄÃ|B}×<�×=O”w=HQwÙÓ5�CTMg_¦º«›¦êv4Pÿ:ì:h‚ß<´¡â�úª“óœ‹-ÆŠkØ®!r×‹ÉâZ–ò©ÈðïÄZãt·çAr»ÑNV-¥±�¦2vf){´ÙŽ÷ÆÀ€
�¡2pà~ 

-„Á8 
-K9bh|lÉ.7®n›Ih^­J>*ÌT< ÆH•½¶”FÓÝT¡É’®0™2¦Îì“:GaRä(ú
4¼1|ñÆÀ€Áîˆ Æ	:éPIÝÅ>ÄW¯s‰¬&©u¦’Ú>–—«·PJLæ4º¹/�gî¡¶›õYò~U®¼¿=Wn–¼GïÈÀ‚¹Üˆ�Á@}$%È"ÒŸI£ó¶$qå+Bý—Ä� gÈ†K³u½9…&µj@›Ù4 ¡I9²ižl@˜/à¿GoÌ·†FØ5Ð÷dÐ‘…9l¿•°/O}"�ÊZ—Ç/¶ª§ù·9£�iRsM¦V_”ý¼tPšÝ0$Îå	ó$CmK§@êp€ñÖÀ„l˜àÃá@êøJñB·«KÞRa(+j\ÞCe|Õ„˜Ø<ÔB’­²2»WXXháå×X9ks¡ÈÊ†bŠ‡™ïÑëäkÃiÐìz½<A»¿ÿ¡"(ì@‚}ªA7t˜Ô¥N\æŒ[9*Oh2’Åúæ4�´žÖÃ-Ïµ0ŠËFèÅL[m‰ÐV[,�º[[$²:Ú;2p\¯‘—Ç‘‰x¡¼µ§	Žz¬GÇ¯1‰�LQÔÉî¨ŠauÛ(M)ÛRÕ|vF«.ËRYQ`+)«µUðìÅe|{I©ÀVZ"q4À<þ	h|khq½$Þî‡
-¤ßsujW‡
-ß4†F/ßÁÄþÇ‚¦Øû"ËÍ\£N™ ”Jn«8­dcm#e° .ÇF«)§Ö²Çh5mc9•üÑ¼r�ÍÑÞ<
Z]/™Ïõ—J„÷žÖßÿiWPÈzÿ-ô‚5;eGeX-aeÆÞhV‡>NÐÖAT2$É]¥­äZu„ÜX4FjbØÉlÁ(¥^`£Ö:`AöÉÏ2ða�ä¾®j?Ï]ÂwË€\¶†"g'cÆî¤›m¡%ÚÁH¦Ø„å7âÕ*bgžô¶™,L³&	òGEõw%"+™'Nc‹¬ŽX'þgh‚Âë;|®îk}¯?1úy¬Zü=N ¼&"¢†gýÉÝ÷QÅòQ4£eÓFï�‘uÇ2´	}‰ª^�kÁkëã
¢�Û
-Ù�‘tÐÑ@#dh:õ9h†·ó/TÞÎÏ:½¯l˜}®Î�!�§"<G–"ûIê¹ BþtH=ãšW6.£Y0º$3¶'®?©{'»;XÓ3,0áû•=�Âäh€}âcÐZ.žògöµp§Ç½žçG¼ÎLÍz\²-ûÞ4o!£
ë�$Ù
-*¿yUW5‡âæ>–�î…ªãG#;±6B7v”Ò…-éŒµ³±v©gÕ
4Aîéc€ïü·—J�“ÏºÜO­ZÜ¾Ÿž¹zÊ¶ä»³í…2ìøÅË#2x›ÅuKÈú¢9.u:Pœ4�êˆÓàÆcµ¸ñh³Õ±÷*TqleÜ„¸ÃÑçË�2ˆ/û\ëöÝVßµof'œ��.^>wgæÙ¹ç¦Ø÷&òwnÒ6|KK—|ë³æü8¤„? ÃN†(¢&0Q“xEÔ$I}?[3UÑ3Å�9hùò#ÐöÃ�.Çwº]þ¼`»ð»±ù³Øºt±kÏÕ¯ãÕ
ŒðÀû6ó)<«|^š³§“y±‰³><äÀ@ÿˆ˜FKÂ§£¡ðÐMEÌd‰"gŠ…ŽZ¿ú%œùÃ¾Îå÷«ƒN¿¹7÷×Ï7Ï}ßµwéjÇ‘+RnD³ž»%Wì¸Ñr7ÝŠÓVÜ«‰‹7¸Gð&Ìœ7|ÁCÏ¢x¡³èÖÐÙ(hã¡RZBç(\G‚¯äç>ÝîuúäþÌ±�,ÿ¢{Ïé´òè²«¸°€KtÅ�KRî3JÚöµ|â†kvåzuÄ’;½èÙ²àÃ^@°PóA¬ ùPVÐB$T,3h!Ñá€ä›w
ç>œÿìçÃk'~müéÔqÕÑ…3Bàc‚‹þåàbdîKç„´½K©Ä�Ë™ØÇWò"¶\ŠnmÀJQëîå�kžþk>•ÈÕ›UÈÕ€*Äj0Tx%b-Úá^u|ýÁÒÐ±ŸÝ]þí=»ß}ªzõÏ¯„Àéœ½VÎúå§P28�%¼ü1fÿGRØ®óÙ�Ó§&<€ã¾ØY·Ý·»3[k§ÇÎ¶«][m×*µV9„„ä6$@8�@Â!H$@„3�’'!!7	‡UÔ.È¸jU¶ÜTð@~ûŒãìLgöEþ€¾ø¾þ~JžøÐÏ¯Ÿ®Šþå,#ò—@fÄZ03|
[¶ŽUº‡–äq‹Îww]›Ý½ËùäÃß¿>øg9|õ7!:Ü‡|ðu
Ç’àHJx¥'¿>–÷êx^ô‹Ï½Ã¶|‹B·ü¨Ø-*f3ˆ²Œ†¥oFÐÎmF{Ü•Éßír>Ú½Ëðú£ÝrøôOBøì“zøûÁ*Øœ
-üràK¾ŠN„&ÄÀ7)à•
-ÇÒ0p<=NfœobÐŽofÐÎ™ÌÀÿÌ€�À,ÿ�`4ŒÇ{ï�³o/Ô9LßÓp1(8¡‰ÀŽÎVBáN%®êEq&çi~¾`=«¤k�PÝ·ŠãˆWp|É
-®K²’*FSJVðzÉ*Á"^Èpˆd�Šï’Üý·ò&<ê7Ão†ÿcxÿ�¡5°C¡!4¢‰P—@Ù©¾Pù¢ŒÈyVHæ¯çw­¦Wõ­àÙè¿EºŒë’-§Še+x•t…0$]N³I’¹œQÉí¼1ñlþ„G5ÔïØ¨¡Ö×1Ð„�ƒ¦¨4àÆç;¥â%#­îY)©e½€Ú¹šEï_N»([Â7+–ð�hÅQ,§™�3mòû9ù­<—l¦`Lv�â–{Ôï}P5Ôùø@S`0°± ˆÂ?>x)¥¯êµ›•ÙM4JÇj^yÿ2‘%_$ð	�ÊE‚T¹˜®\ Zçrì·È£3—bªht`’::èIÐ€QC=j¨÷ñ†–€sÐŽ�aÚãH H.Þæâ™[¬Lî“Š|áZaißR6S±˜Þ¨Z t ói2d>C§ú9Û¢º�çPÎPœÊ)ªS9Ns¨F‹ˆ'ýÏÐpôKhô9­�Ð‰‰‚îÈèŠËa2u[€gl5ë7ªóZWJŠEóä*ùƒ,2GlÓÜËkîåhÔ?åZÕÓvdŠê@Æ‹íjG‰Mcñ0hD
Üý{ 5ð¼OB{@tc"@•¢8âNO2åyžþ„O¬[á�ø�«©ÝsÅtÙòEä&©E{ƒÔ«›ÉSê¦É#ºË…VÝX±Uk/µêFÊ¬:C™EïIo¼·†fïÐáï"lˆ£@ŸþJœB~*Â—®uY-$Þ8E·’iZ
2UÐ¨¿œ/4\*�&
-õÍl°–š‡Œåfƒ®ÂlP{pß¸¨�ïý=tøA?²è¸yþ¹üi]J -õ;IõwùE­7êÊú¯Ð«�1Z�ÁQÄ7Ú¨"“•†˜FJLÆ¡r“QC7•t“IQéYoMŸïjhõ>½g@Š˜˜meâ…gJ\æê`å±<³|NLbÝR×x%}c,ºÊZQc.ášõ%�m™Ü¢)6+éÃfEÕ°Y‚Öïa¿2´{}�¾ ;ÊØ¨HbÒr!}	Áç>P©?É³k¦{ÉüK­4‘½¡\i¨aTt¶EQ!°Éèý6i¥ÖÖÏ²‰Ðzª
Ö.ÞÞw 54¡¡÷1èô��ðÀ×Èùð-MBüš69u^�ÏœÓ§ÜTf0¯Jr›Ý]…½#üÒA„C’Ô°¬½ž³›Ñíìd:…L�³­�©w´2õvOú•¡Óû[��e¸ÿ+M,ö©.>fÙ�”ôÈ”Š¿kÄåOkÓ—9Mö¾‚}m@Ñ\>ÔÃaX[YlWsM››Ç’º¹µw#Kãâ²´£\–ÎéIÐ„ZPC3jèö>
-² “;H„ßK]Lðº!.bq$1ög.ñ–5‰|Í€¯r#Y<“œÜ�ˆŠýÂR}[ÝÚÀ©q×Öñ&jØ½L2^S§g]Ô¸kkµ.OzkxZŽ~=>G@qîûmM¤ïÖPtÀš)óØžvß�˜pÃŸûƒWi×gpõ*R—\V ïê¥êxíefS¥»¼‘=YÊ^*æ
L–6"õêñJ¶fÌ“ ùƒw€ÿÖ ò9ƒÁß½ÔEœzfŒ<³l�ñ8–pg**þúäy’Û‘RaIkPé³:úTyÒVES'¢™Ë…e.J+k2¿M0IJ'(mêqj‹z¬˜§q{Òƒàï�àèû~
Hˆ×ó¡°ãæˆ“®¨SsS±§go`Ïÿp5&Û6‘X®s¦ÖKÍéÂŽ¡lI£:OÍP˜ŠÄ4'©¯Ú�#nqgKÄ.’D7šß­sRÚµ£ž-¨¡5´{}ÒÓ‡¶µ˜Ã›FìÑUG¨×£Ë‘ßÜù7ÆçúmLŒ{&2køj\éÀd2»Ç…ok¶¥÷³ŒYªi8WM±e"U¢¦Éž¡ë·eè
Ò Á’+1X=	øüÚPC§×>8sàÅæà†%äÐÂDÈwgÃöMÏaN]š�²Ü	Ï@f£‹û~Œ¿(¸’,`OâDå.Â ÙNÔgXÉ&‚�>‚·sMx§È˜ê2ˆf³!S7bô$ †ö�Þo?•ß¾Mã¹ý+£�ŸÍýøÑ�û_\yzrt>2Üð *Mv/Š*¼Ãª¿y¾¥r:¾‡r-Iž1•ªÆMåèR®–é’¯7h“ÿÕ£IšÑ©S¯:¼Û®ñ$hC
¨A|ì“m�ÿ_7¬g?~xÙwÏìÝ_™?{xt5ÄÏ¸û_vê4¨éÄŒã8îåÕvZq;íºc×­ëîxâª,·	÷Ž@B @€@$$„‚9„@B	 ‡â�H�KDwµ+‚GD0€AQžþÇéô-yÙ}ñyûÌwæ7ó4ÍRª_2ÏMøú€Ræ“@9u"D1NÐ…?¤6„�§7ÇótÄGb-é‘ºž4q¹.ü÷¾zS€ì›ÍPu`4XÿÍxÅõ¯³7vþküèŸn¿°Û×»èbuuíÙ¼äCP½ñ‰-x³ò^{åeÎx—Òõ¾ä'�Jâ$V�ŸˆÒà'èü$KM˜Ô—©ÂŸ(•áOÎ×˜ä»7CõAóõV›�‹ÿ´ß1yïÐ–Ñ©cé]´;xuÕÙ¡å½»Ÿú�I²êN/X9�™½à.`Ì¢ÏR¦=%zßJüÓ`î)¾û”Œ +°O3Øgü*œ¾DŽÓWTš»¿‚úC;Þ^µÝþüÖ�/Æôßÿ¡oáø·«ö­àŒRƒK P‘…k(:ç­sFê¢/î•[aäK÷ü/vÚ_‚™ÂHC¦ÂËƒ§ÈÒà©iðtš$dš+y‘/2¨v¹Þzpó\ß¡Ïî=ùóç7_ÿôÇŽUË½­àpB
§\¤`TöÜ�ñi«§ÒhKŽYQ‹(>áµ«0ôº0dÎ»(h6 8pS0K@DûÏQŒ"ÿ9ÖS@Ýî/�{Ì~ýu‹Yÿüî¯®­ÞÙÖûÔ`uR–.`À+B*XÇÒÖléQ«öiø•S,Ì*;ÈàÊ
xƒÎñ[ôæù.úó}C8¾÷"‘çý&†çõ&>Ç+mÛÍî
}i68³Ý¬Óø�­­pdW-Xü �£'
-à¨S6óN�ã˜88IŠ„_bÂ>ZÓBÖìÞ90üV�R|V]Ó¼ŒîižF/¦§Ñ—éad¢�žénŒH3ÅÝÎMfýw>7ëx·cSü}›
-öíÃþïóa¿EüdÇ€ƒn8ìK‹,üŒBZüÀ*ÊlÈž`ëŽwp¦ž^w£º­£©®ë^ß8—õ@ªó:Æ$ýŸ™u<ØdÖ´¶m“¾Þ*†ov
-áÛ=lØs 	öžˆ�}öáð£+xú#-Þ`èÇƒÝÁãV¡.`‹u{
-ÃœÀ9Ì\ÃN�{˜x"|Lœ]Û û»¯!óè��fol7àx@–?Ò‘	’ˆiëqîûÈä#�]ò+([Áœ¯`d¥x%T‹h¯`;D+¸^ÑÂ@Ùi¨l:êVéÓ˜ÑÒIÊØ†þßð¿Ô`¾
8ßí6Ò�nggWÈñð®Ø!THE^CB,ç}LR¾‘È*YÁñEË¡Å’eL¹t9T‰ÐI—±$Ë¸k’å°>ñ<q@<9$Ö“GD”;e©wE.ÒÀE²�¶­5ðQ.�‡ö�oð‚c!Ï€”èì5Z‚ÐÅ,Y&äH–pgÊ—°RÙ¶F¶„Ó!ÚeKa]åÄ›å3‘Òg1ÃÒ	êmÉÚ˜ôž	 Ç|+ä 
ÙHÇÖ
-òP((t÷†B,ƒÈ�ƒK‚ŒöZR\ž‘’Z²LÊ–ðœXnÀÕÈ
a
rþr¥�ÐS9y³B3X1A‘=ˆ¿#K­¡ß®Üð�ÒÀAx6–PèäÅîžpÖEA‘ ÄÑ�Cd}`RrW’Ï.G³¥†p¡|_¦x�W(æ	:Å+âÅª¹ˆUÏÉýò	ê°üAüíÊ1úˆ|8q¤ª?é–b#ŸøHiXŸ„bÇSPêŽ†2Ÿ (
"A1Žö!�È4fÅð–R‹^Ó2$³Q|ùélõ4©¢f*RSó<ªµZOîªž¤*îÇßRŒ%ÞR'
W÷1†kºCÊ�iÈýÎrŽî¡õ	8çdbôi�ú€4˜ðQ„£‹‰)A4gž�P0Ã`Šôq\ùcr¡r‚,U�Ç¨TcÏ«~§\SÝ�RŽ&)‘»=)ƒªë©µ&€\ó-�»×xHC¡ÕÏ r²Ú*}}¡2÷N†#/‰‰‰óÅÑ™3¹ñyÏØ©ç1²*ïÓòT÷¨¥š1j•æM«�¿¤IèÓô'÷kºSû5×Òú5—˜7ë.˜àSƒià#
EVÇ@‚²9Úªý¼>Ô‡¼Uà"*‰´—âh¦¾˜–3!H-ú-3S6Êà©†ègêû¤Ú>z­®7©E{#¹K{=¥O{…Ù§½˜Þ§mÎèÕ5™HCÒ�‹4”XY€eÕŽ òC¿S‡jÃ¯”ÄØ)ytòci<û~£p”ŸQÞÏâ¨ºS„ºÎäÒÆ†¢éJŠ®érê•Æ‹ÌžÆ–ŒžÆFVO£6óFS]fOãFþÛ @J­�@%Ê” ñw3Öc|´øÐ—õ¤ÈgµÑ´‡r*ënYRþ`!SÚÍc+¯°øºÌ¢æfyËùtuKSF[s«»¹žÝÝ¬F(³º›kLyHƒð?
"ëÃPå|Ôžv´þ.Ë�Ïù&BÐtS~Rû›26}DFöžKwä³jZs8:[ØR—YÖ¦Î¬¾ b7µ)³:ÛÙ]mrNW[§«Uf‚O
ù{w‚ðÈ ±>ÕÎÇ¡ÎÓæ}c€£¡{z¶ï£o%�Ÿ'’ïjÈÌE¼ KÊ],I¯nféT9üÖªìâö
-NÅ¥rN}»”{¹]œs­]Äíl/ãv^,ã^¿°šoþÔPpd”Û•ó1Ðyý²Úüoöëë«éàxÔQ×£{ÖÙ×²ã8ƒà8bAé’B:!@B€1‘( %		½ŠJu(‚4éI0"°X”U±ê0AAîþÎž=ûhþ�}øœûx¿÷åº›mñ<>ÙÆrïàÐ·øÖDõVI•¥yM…ÑeUÙ±µÅòÄæ±¼3G\ ÈW(2$ÍŠt‰R‘.V)2Ä]ˆv]þÓ�†4d˜ÁE[c¨:~ê‰G?µ0lßµ3í'”ÞNÏ»<):X'n7qEêZ�¤­"4÷J‰¨´üÜéš‚¬øæt¹X‘’’Õ%–•t%Ëë»’ä�]É)
-•8E©”HU�º@*Ò�Ž4d™B‰í/pÙù�¶‰d6ßF·˜V2¬_v{ÙŽôÐÈ÷T^Ü¾6¿HE#/¹±68§ª"¢øbIÔå¬sg®Š³”±érõéôÂëÑÕê¨ÌuLzçµØT…*^®Têò¿†(³ýj�÷/·�}è¤šNªéf¿÷Ó­†o’‰wº™~×•œˆÖÖ€¤ÚFAVYmhQ~¥°J^ÝW§æKÔaùyêÐ‚
-uHaÛµð|…J˜­P‰2J] 
iÈ@òÿ—ìŒ »÷sÙø}ÙøÕ?¨ûÆîá-†ˆ„¾~GÑÍ
-kPú'T´ó2Î_=u!£.´2©JØ *�é*MR	ÊrTüòKJþ¥EP™ª3ä‚ª3ôœn�¾edêAáá]Pig°Ò„3ü¨p3œºá¶{|�¸ëÑGó;÷	xõ �Ý|Ó3¤º‡_|�›–£àJ[Oýzº1¤.¤.²…w%¡=°.«= ¾¬- ájK`ýõfAÕõ–S—Ô­º@†þ:ÈB.š~5v?|iuÙ5{ÍeçÄmì¶ÑÑc;‡ž;šõŽà±ÉÞWî1‚ÊîxÇæ÷säòÿ‚8u@Y˜’_ÃëkôïˆkòSd4ú)K|U�õ¾]½u­½õ��=
º@&Ò�ƒ4”šn‡zôönëtŸ£Þóaô¦û8î¸õÊÅ¤kœàÔôŒÈüõ)•_ø�“6ä)Mdå
-osŠOÞäVúöÕøÜ<SÃ¾•v™u§¸šõ[}•÷`o%§ïV¥Ÿúfµ.�­¿ò¿ƒ
-S}M3ZïƒÚaóË{ŒÝ|{óc÷”«iÛ$Ù©v‚æ^ô%0óU”<FO�0²ø�™ç9�|J½ñË=ŸÄ”{ŽÈÊ˜£J™ÏjK˜ÏÕÅ^Oî{
–è¹HC¡Ñ·PkºyA�ÞôæÖ‘uÃ/ŒÖß™¶ØÒ=‹ù¹}ÖÅªnÆ
_úÖÍ+wšÀ—¼!DEOº%�š ¦ûNPò<'˜çÜîáˆ„óŒ×™ç“%ŒÉú|Æ›y:Aþ–o ÔpãÊU“
37Ì¿y:úíªß¦ömìž·ú{Çæ@Ã]þKÊ›Çú¤Ì;ÎÌaE!sØîŒ‹Œõ–˜é1EÏ¡¿açÒÞðriSBÄÙÚtZ6ííù,ÚÛêÚ»f� i¸l°ö“ò—Õ¿ßÿ3j`rûšó‡6w,ÛüØ Å˜–k0˜|�E¦qð‰Ó8Â¿8?9ÆúÌ9'1g]¥ô²œúÞ#•òž“J~2•<.'ÍÄ"¤2Òln
-i¶HªmY³ruêé­õ¨»#ëQ=s»×u.ÑokÃr°1ÏGXSâÀš¶�'5èÎ’½ÈsÁñ4ý#6ž2OH ÍQ‰sÌD·9N"a.0‘0’à:uÖõcâYüGY¼.KÕP�TkPƒk‘ýEu.ïÝP&[ËÀlO˜™ËÀfÄp0gžK?_°æyjí‚èËöaä/NBâ.’°è&r]¤Fá=¢\YQ¸En‰/Â.…G:/Eëô¸…è[�ê~¸Õ¶¢·ú
-l,…½Ûraßž06‹…ýè08èÂŠ˜1™pÔ‡Vþ$°
 €=N|Àñ±@8Ypè'ð8‚�'øàë4x
…º1¸Õ6¶
-uþ²ºvlÌ�]“‚�ÁØ}0Œ,`¯Œq8H¤Àa*Ž0ð`ÉÄ‚�—3 ½�Ãr„ãlpaÛ�}Èl4ÐÙvà‰`éÔÛ¿
-Õ>ŒBÕ¼F¡ŠàOk²`ó1è[¿†{¸ðÃ!/øÉ‚FvDØ‹Áƒñqg8„sS<Ì]íÁ’€7;@mÁ�hND+À-O²Ñ¨:A¤Þ&Û©AŒ@`maö�#@Ù\8álA0"ãW¨g“´d¹XKÊk‰%È¬F4ˆµäñ
-¹'y…2�¼è>”<Ï¼Ÿ4ã=œ4åó8ñ•ßhâKÿ±„¯ùÃDHC8ÒŒ4[™ƒÐáˆpx’‚ü›<Nøò£€)Œ_¡Å'k)2‰†œ+Õ�Š¥r¢Qª¥($ZJŸDC”|òðz žf'¿ö}š<ÎKzÁ}öU¥·"vêAèC·4ƒ˜cvpÆ1ntˆ¤ûBëŠ€¯eœkhÒ”eJ¶l™R$_¦T!eËT•LCíOùÌLù—×�ô-û�tÂï‘dœ;"
x&}ªD#
B¤!l¿!DZ˜B,ÚÎ"§O Âi"¼ø à
-Á?8Në#^vO–¡f¦}¡^L[¢U¦-ÒÒ>»+R}©óžwåïØÿ”¿ö{(?ñD68*æ�ÉðÆR¿b�†H¤!iˆ9j	vÿ&tÎ£’Î€·ÓkkÚWoË™Úš·vÚ^ÑÖLSR=_j5*ej…Gxà}à�(
-("ˆˆ(‡ r
-‚ ((Xê˜'å‘·’®–©ece×ôê5Ó~÷·ý±ÒŸÿ?î€áã
Šü/2ä†%�ÌØ¬�˜´üÑÆ»°BöÛPNÙ›PIÙëPMÙ+”©ìeØUî‹ðîjä(g9f’3Ÿ0Í¾›|›}s‡3–r›;’:[ætØÐòá?†Ç	Àò9Xþ€‰D*áR4î=“÷[¾èe4…³Á*^Á¡äÿià=A[yËÑ�åË1Ãeew’ÿÍu¤Ì–�¦ÎðÒgø}éÓN�<è@ru9Ð�êv°<�®Ï)Pæï¸È��%¨˜w´¨´×Ä$â*W¸’˜Ç~Ãà/Eñ„Ñ2áÃ�p>Î"xßÎŸK¸É¿�t‹?•:ÃNŸôcoUôd8D]8ç:äBÂÁ= Èí àzº¾¯ú#€yé}9*ò
�y^��ý„ˆ-XÄY÷“iü»ñÑl|¥x&A#žN¬ßJjO%ßO¤L‰nb§D×qSâ®ÌÉÊ_²&%mŸò¡Ct ýë{Àt;xžG€È×Txÿ^‰øM„B­òÐñOJâ3héy÷H9Å3Þd
-³r,™_5‚‘K‡RôÒ›©Vé@Z—´?}\Úƒ›�^Ë—¶àÇe¶ì1™5Ç9@ùêK@†äÿ¥nû�Ðó0¨ò=ä§ÞËƒÎ½’¡‚V*ÑQKü¸”¹Ò´œž>NÌã
âè’éyoºXÙƒU+»2ê•�¸6åµÌAE+~TÑœ3ªl$Œ(ë‰#JÓgüÿ@�íø> öüÈ}áUoÕA>Ï«Q��hÔ|U|ü,?5k¢$“6H%•õ$×ðLe[&_}5K®¾‚×«mÙ6µ5§Wm!©ëICê:Hmî�Z÷ :ä»n4Ø.Pß$^�Ê÷È‡š÷×º Ó+:Ô¹E-yOí¨Äà†Ê3
-ìÌN;•,iÎ¥«	œšB¥ÎDÐèŒD³®ŽÔ¡ÕçjµyƒZ5yP«‚(ó�Tè@�tØßþO ó:4ˆÃïjŽ½¨òX6¢¼ç�èó³5Ñè1y2¶¯KéäâÙWŠsÅ
Tjµ�ÌÔiszMžÂPM6Täƒ2¿ß £ô¤”~½ä“�ZgÕåKP0W „^û€qèm]àÑg
Á'YÂ<çÌagtÄ�:1½WšFnf±¹D‘¡8_UM£×Ê(cEbª,Ð™DVSÕnPoü�‘Oí«û@sÙðéÀ„}DðÝ@åµ÷£qàM}à�+MÁGl¨ã·­ÁˆqSDxŸ.>µC•’Û\…+1	s*4œ\eU1µVXÈ¬/§	Ì\šÊÌ.l0—Ò;Ì¬Â^ˆ½¡´ðºés>¨Ð�ûTÂw�×žFÄ¾—��–›ƒÍ·†ü4}å’Ï°%ÕkŒÅ´j“I%¶¸¶
-/P‰
-!'¿¶”Io`0¸Mt†´‰Æ04Q‹[›
-Ý�4F�¥°¨×L/²78
-¡
:p`;�î
-´^»ß×#ö<·]Øû¨õÒ¾{�‡'Û.þ<ÐŒ
-í0G'7×%ŒÚ´"µ*“'©Ê‘q…¹::·ÀœÇbÚˆ¬ŠfBi�-›m…tY	¬î¦\f�%�Ùë C‡B×- ¶Èáß½—ë[b×ÊÕÀ]�»fí>?Œvž±·†·ÚÐ‰fs|ŽÎˆ¡ËtØrAu–”)%hÉy
Y|º
Ëã5§óU¶4�Åš&ìnÂòº3¹=�Yœ‹3ŸtèÀ‡m*øŽÿ½v¾¶!¾Yn÷ÛqÿúÙ¿9~>8h÷?ÕÙŒ´µ…Ç×5ÇàU�‰4Q}*—­Ï�Ð4xM¶‚hJ•R“¥eMI2Ec’ÜlITt7`¤ö†TDè(rYŠ Cìk �oûÝì¹mµñõb�÷–Ûc'¶��ž†Ùý<Z¯_ºØÐ�Š­iGã$-q”2[»È’"&™°Õéz¼!QG©�«åÔÇéåÆXC}]l]—!¡¶_ŸXÝW—¤tCt�À¶‚Z·­ï¬ž[~í8½éÁ�ûÇô‘¯žû:&îMÃ�µÁQr{–ß…&3ÛcKÈ­‰B\3F‘hÅÕÄ4‘k£¬¥º(›T‹n6Õ ¯th¢mÃêØú›5±Fç:”ºn
-Øf`:ºéuËÉ�K7Ž­›½³{íÈÜÑ-=w=ö\�õ>ntœ÷S�_Š¨	Ie
†‘
-ú"Yöh^Rw¼$ª+MÑER†w—(Ã{$ò°Þ:ÊÞ.
³OTEþ2.‹l“;X.å®šýÿhúiÃÓ.øÚ{ŽíkÆæ÷¯»¾äþ×öEïÝ�ÏºiæÎùVÞ	¸Ì™¹˜DsegO†Ð0c(vÔh” l4YtyŒ /…Lˆ…!SzA°£�|kŠ:<Í¿<0-p°·®âïÖÃÞuoZ`_,m_3¾à²æÆò¡
í+'·YW|öêŸœ;.{|Q¾äJ_8Ÿ@˜ÈL½!?zÉ@Í…•†ÜOà?À³ƒæKƒ¬ Eu	r©‰‰|ÔWŒœŸ-FÞ»Ãtp¡ƒbçÚ�×?­ôn^3áX¿¦oÅõ‹k/Žl²½òüÖðêÌAù‹ŸOòW½ýÏ½Q¤g>	iÏ|q1OÏ’POý©ÈgAEž£«†ÿbÑù—ÿe¾Î¢š>ó0Žÿ­öLgtzê:ÖµAE­€ ¬a
HØB€„BH ;Ù�T@A	n¸àXEÑq_ªuwT`P,
-XÖQëB‘M@žùŸž^çz.>7ïÍû½ü=y9�ý;
´ßfÓÎdþ[Oh6%3§âÐ7Dë…iDÃ½/‰ÛÏÿB\Xùåé‘
³jG]–U�n²-uóÈuÒŽxD§�xð¸#ž"æˆ·<l„ª¦Óu�C‘´!v†ÿ�0ƒ:œ®£çhýFŠ5~#ÕjßÑã*ßÑ3f¡j:ÑZ7…x|m*qëñ4âÒÈ,¢~|Õ_�LÚÎ«ÂË8ØåÁÑC§@1œ#xp‰��kcÒC2á#§ÉÆBåÔ±(¹ß[î;.�ûŒËeÞãz©×ÄÏ‰]bÏ‰J³Új	¢áüâÖÝ/ˆ‹-Óˆ:Ìýâ0,¦WbÍüb¬³Ü;-lÝÒ°žÊƒ]h6D1àG‡kB (‰þðåû�–ìƒP�7"žˆP�˜ì�Ôdw¤óÝ��´	yf5ÕÄíëSˆK�Sˆí_5˜5µ‹glÇòù¹Xa¡†•u*V;s±Ö“‰ïý°¥ÃžÇH?lŠö%Æ>,
-bÝA�u#v˜±®`³œÁg9AãD%sî^&ˆ+âdAÔ¼›J”cÆÔBÌ™nÀ‚¹*,^*ÂwV	X¾>
-Î›±Ê=k¼©°¦úÀ.À�p	rƒ{°+¼è.ð£;�âˆ�„Ó7‚I·›Ä5ëê-‚¨o"ˆƒ/¢¼Ÿ˜’�iÓ2ñÕW
-|ý�³¿ecÞ²|»ŠŽÅÖþXfïƒX9»a­«+lÜœaïî¸xl€Åž”õð¥Ø"€bƒ`Ê:„‘ÂÍ‚`î×HX21ä]Ír°×Ý<_opè!`E1žÀ]$D€J¿|‹äð©  #�!ß®’Èà×"­U:F!
-ë�ô‡wJ~‹ê÷Åô¥™óÑ�òg‹lˆß¸IäÞäûx�DG|QlBS„TJ@5Èá»Mé€¾ÇHgð»&õ¾þOäŸƒZe£¡/dŒé»ÈNé+f·¤›Õ'é2B²�·x.bÉ.¹õR\ òö„€#
-±q\„'A—I�©5?~»TðÛ§õh:üO¥ƒv)�·•“A�Ê±�VÅ £Mñ>ò¥ü³KÞÛ#k�ëS˜Ñœ¿#‘lˆ[³|»µHsÙ©—Ä4›#À�á &Qˆ0‰Á:ò?£z2`‡æ3­Z3xX3tB=|^ý‰~Cõ)ô‘j8¬5ýCd[úkæKewl—²=¾WùŒÝ§2ç�†¤EsÀ&w–pýjÈ�í‘îåe€?$¡¢ãÁá
-�*›S«Æè¹ÚÑàíºz…n8¤F7zL;¸ù_Ú�a×4á4¿G´ªß0ÛÕ=q�ªvv�ê§WÓ”Ð§5©dŸlH Ä¶VP;¯‡ÎÓ:_¨BB!‰d}Næð?±S¤ÃQJõ #+c ¬@ß¶+óc¯þ}x­þ]D}ÆÛ¨Ë¿EßÓ½a>ÓöÄ½Ô¶qº´-	ÝºF^�þAbw¦9H›=É‹f#Éj)6+‘ál�lO'ü½ 	þ¬ŠˆÇñùÉâþx™ê3Cÿ&Ò˜ý*rGö£ª²{™‡²zbê²ºY2»ânë;ãŸêÛ8�Ox]™�»²î'un&ÿšcÄdƒ`ál¤¬\µ�%Îß#Ïs#Œþî“[è£YááU,ö{q¢è5_¬ìe«õ]±9†—¬¢ÜŽXSN[\MÎ‹ø
ÏÙç¿pnžqžšy�†‡ü_sî$¿ÜrCÐ‘w%Å<HÈ!Ù�ºb2l–#Ïi5
-<í°Íßu¬€î;hyŸÃz¥æò»%"Y{²2£•›•ó”“Ÿ×Ì)36%ì16rk�
Üzã#Þ5ãÃÄGÆûüvãÍ”vã5aÛÖ‹¢ùgSÍƒtÖtˆÌ‚Ôr!²­—!ßi¶Sl&wP‡Kè”þ"íõVfD·!!¡]+Lk‘Ê5�)ºÜ‡I¹ù÷‹
-î&UÞæ×Þâ/ü9ùBá
Á�Âë)­…—RŸžKkÝvZÜº­NòK‘9�‘
©dƒÂrr­—b›“%J)kÇwQí?–Ó]ßîdøö–0C:
-XÏr)
‰êžL•{S”UðSÊÖíWSJ‹/«‹/
-k‹/ˆNŸO½^|6í?Å§%-ÅuÒ–’c²–’ZùS³ 'ÒÈµÅ|­£Äi9Ê)V£»©6ª‚_U2<:MÑÏwp"›òùüû†4åÏ…á²\WxNœ[r&­¨¬^l*;%®)«“œ(;!½Tv\ú°ìŸòæ²#Šæ²ƒÊæ�û•Íeæ@>s:ÄfBkñä[/D©ÓwØMY1´‡ºöí¾`»ÞýaÎ{£½ž–Ç‡?,NJ¼µU$¿’-Ë>«UœTf•þ(ßZ~TVj:"ßc:¬8j:¨8kªQÞ1íOo2íU5™ªI•ª¦rs ˜ù·?ôóPh½»œ–LTS–ð[õæPÐº®ÃaöÏk"(�U±a÷v&r*JÏÿ É<™�žT—QzP•[±/½¨r�ª¢ªZu¨ªR}ªj·úz•Ió¸ª\ó¸r§¦¡²LÓ°Û(É	Ù�e1ç|ÎWTvÆñ?KÅ�@AmKE,C@{$„0‚!aeÊ–=Ã&€”�,%			 pËúJ¥XµŽ×�õ(T«–úkŽ÷æâsùœçÕ¦ZÐb³ãßIç�È}×³n²þƒ_ãùN*n¶=Äg¼5œ9Ú}h *�ÝS–Z.,Ìª?ÆÎomÎ.çÉnàÕgóyuÙ^MÎ¯:g–WõÅ5neÎµ6Y¾4$i«AÑ®o ÖDŽÚh:íø³ËMç‰ÄS÷Þ	²á­ã¾ŽS¢ ï‹<&}¸%*¡¯>>[\•\Ê-K¯k,b·ÖäóÊ­Î=*,Ëí–æ
9yÓ‚’¼'÷j;'w–'¤K’µU¡DWêM4€k³õ�§½Ôë¶ýÑ)ÒŽ…wýë}û+Ý�ä1!#t€{ îxK\V{CbIKUjMMYVkYq~{QA¹(¿ QœW(³ûÅ9Eã¢œÂ)QnÁ´0/F dHR¤
¥ºjÐhò
ð­·¬tc5žŸtÑ|0ä¡ù¿!×gú½ì.IHÃ]aÁ}Âˆ7:£­5¡¸¡!¹úpuzKAyŽ “SÜ™VRÓ�Âáv%—JºK/t&q&:SK&EéÅÓBY SMÒµ7ÃaÝÍÐl¬ºÚa¥ö¦×QíéigÕÅQ'õ›#½‰!²ÍXÿ~�I­»›Åï8˜ÖÄ�+¬:šXYÜ˜ÚœU›ÙžX™ßûSEwLekwtÕñ®¨êÑÎèªIqlÅ¤(¡|ªC–/
YÚ› rç&8f¬ò±ÓRåÕIû�œÅ®Ÿ¿l©zõ~çåQ’åð0Õ]2@è8A?p´'"¥V�_&ˆ¯ÈmKjLnIãE7²E‘GÊÅ�-âˆ¦îŽðæaDóŒ ²aZp°F6È–6äjo„Ú�€g´á]Fùù õÚß/Y(ÎM˜«L\ÁéŒ]"búÏQ\ºÎøqCÂ�œb&VH"Ù…Ç£ËÒÅñõ±‚äcül>“_ÖÎhoâ3�<ºð—Þqí“w­-¼e–+ä¨­ƒB­õÐðÃ:¬}{ÒTéÑ˜‰üüÌ¹«³¦/Í8|;4é¶·wœŒo¿èçÓ|ŽÆ¨:šP<ÈÌÊê�(I8U)Ih¢÷f¶†örZC$�-!}âæà¾á¦àW�„ôÜjÍ5Ë¹ªë Tk´è(ýÓ¥§ðrPOîÞ„*º1·]¹m´~ä–í¶7œ÷ˆf÷a[§(^5¿ìå\¦Å°/„¤'�ÑŒ„W„�‰©
:“^O;[\8ÒP8ÒQ0:X06Spv¡’Ö?_#ä«®…JM%àm—ÿ«ozx~š›]ƒ&îª¡s‹k­4»púmwÜìêoyî+»A¡åÎR¤Ìø'GMÒØaa%�¿,÷ŸH)ß?QXî7UWê7-àPgJ|g¦Š©Ó‹ü.ÝçÈ…ªk a‹üg‘:Z\ƒnŽ+¡É¹5èüÃírC�Í×õ>vÔ<"è5=t³¬¸Ot-X$ù¥.�YÑ¿Râéw¨éw‚ØÔ;y¾óIy>wós)ÕlÊo¼lÊâÉ,ï{ã™^¿ßÏð¾ý$[(SQ„c*è7‰º9ªˆ&¦Ð¹_×¢Áçº
-½K˜MÂ%»íÍ/q†•/ð¶…Ï	îéÏ\übžºÑéO=¢ýŸ�}žú¥z=
K#ÿ?&ÍóYFªçóÒÒ‹ÆdÒKQii(qß«éC¤¥Ç	²@Ýz¹?DÍ�–G“—åÑùŠhàOÔóv÷ÁÊ^õæ+�Ê;“¢‡ŒeGbÜ2ŽÊ|‹	|KˆðY&F{.{Çy¬$¸ÿÅHp{ïò>+Žð¾,–ðwcŒóq´ó‡Á(üÇkñ¯Õë6„nKš“C¦åÑéyEÔý^C®ýÓ.å¦öhT®ší,ZµØ›±je·jíÆZµõ¦ýkïïó/6Äó3�Iüìî”HgˆtF$b# #ÜJX¶PÇ²>ÓN3d™ïDhf¡‹WäÐàœêº¯€¸°Eá|¿¡vo-Ã�é`l¦6,0ÃÓCô+/ØRÝëOB x9‚w�=øÙAX�
DÑ¬ ™fì@”˜A³LWO!tùBC³uÏ#ÔöZ	Õ�ªb9hmÈƒï4Ò@W'v2@Fv0vÚ{]]Á‚ˆ=À™lî^Ö@ö²ª—y™ËËbÈ¦�B6�<OÈÿªŸG:3‰PÏ-„¸‹Õ.ËÉq@Y1TÖ'ƒ†zhoƒouýAÇÐtÍˆ°Û’†¶X0v°3¬-Xá¬ÁÎÉpxspÁ›�Þ¼ñ&°¿‚ñFÀr2€X™FÆ’\Gˆ¡º•,#¹,@J‡@I9”7Ã¦-TPßFMWØ¦‡ƒïìà‡=Ö gb{ÍÁØÌÌÌMÁÒÜl1F€Å£DÌn côÀ£4™ x«Pu´€h¤#�èƒŸ½9ø¹8‚/ÙÈ>àÎ
-çøPÀe1À‘Ã‡Z©£RLp”0{š	¸óÀM1Àé6ðè@xF_uö7éUØ2ùuèkÊ›Ð%Ÿ·!_![U�ú½xH(æúà/mð'8€Ÿ´ÁÛŸDF âÂÀ)SúWÌÇ©V`…,Àõ²Ài@jŒ	ø	&8Ï1�pŸ®ÏŸ<^Ðßy¾¢¿ù�ïúŒjúPã8ÞÞÛáÄŠ
-ÖQqT*«–*"{oVö&	áOH��BHÂR@à*R@q^Š©¢\”¢(({¨-V.ö¹9÷Ü·ñÅç<o¿ÏËŸïlÔ´ÿ|Ôxàƒ ÒÌ‚­ÌÁCßt`„9áúÍ‹öt†  _ðŽB�+Mÿ'DDpÈ&�ƒš'Ê‰àXK„“�Dpj#€SœÀe¿ä6†_ðšÀ½ñ�ÆMÌbÇ‚æ±#Áop†@Ôÿ¼öXA¨ÍNÀ¶Ü‰#åîè@Œ@�®œ“Éà$£ÀÉ
-8•’Á¹šü·ËYòG×VÒ’Û¿HKî]¤E�'Ä¿<_ÞúN¦¦ñcÁ³ø!ó„g¡óDCc¶
-B,ÍÁÏÚ"öïâ�ßÙáG º9ÆßPá¡àOÄ€'›n‰Ô�®Ú’«’ö7mÑ½’úÁ£žú—G3õ½ç5Ê‚÷]ÊŸ>ýäw¾£¤™€IÒXðñEè,éwôe Ì0À®_(K3Òo^Ü¾m@;´¢�ÛÃõ8�|=ƒ
->jÉ?šüÁ›Gï™ÆXðÌaüáUÄxç}ŠñÖ§–þÆ÷}Þï2mÎÿm6 �:8B™¢£f(OÃfi�"fé=‘sC§o@ëPúÍKÞ·Øv»9f±.öÀôvý›ðƒ‰X@ÑHïâó~)ÌY_kÆ¯€5å_Âœ8Ãœ<=t1z,¤ƒñ:´—1ŠzA›¦DLG?Œœaþ†™ewbgÂ:Û²"·o„è½–Àµû?Û€Àùp½N~`úüA‰@ÏaÈ„)tc<8‘ý:HÌ
ÎåŒ„hc^„VÄ£êÙÏÑ-¬gaí¬¡ðÖÓˆaVä«3Ó‰�Ž½‰ŸBÚñ“Qß¡oÀcœ=›!áàvHþy/¤8Ù-
-=�ÿÁpŸe£ƒ'(ì(–IçÅ¡EÈ :yVˆ„—#ýáµÈãˆ&¤/òò0ªéÁ!÷qSÈmü·�8•4Îkû é"7¯òV3àî±€”ƒ[!ÃÞú£Øéû…�£s)þN|”ï>D§SHLFÈí�’ðD)ù÷1Z~¦’ÛÀ¿‹»È¿ƒ¿Å¿…ïçwÇø×È¯—(¯š©¯›>Èk�!jó:`X­Áî
�þÃ�ÚïX”ŸÜ÷Vîa7™éwlTê>”ˆ
îG¨øFû‰Ï»C%ÞÄË“~%¨„í„2á
b�ð:©Ix•tCx…Ü-l£¼6ÓF’é#Ég/Sê>(úì¦uÀ¶ZÂÝf�i»	r~Úº�ë¸kVénóZá{ø¹<Äq ã×“HÆv"Lf3Žw�š$¼L§^¢äŠZ)QµBôí¬¨‰Ö&º@ï�g¥ÕG§Õ2‡ÓÏ°†Ó+?¨úœ¾!Öj5ˆ¬×�ÜvÃGåÑ-ïTŽÛ'ÝöŒ¨|lóBìûä‘Þ]iÄÈŽDãj'¾•ÍOnŠNM?Ï�‰Ï2
-$õÑ¥’ºèZI-³YRÃê�T³ú%•ì!É©˜!IgHRú	@[cD‹5ÀµÔï^ë5�sÀlQuÔb^sÂrLçºã¹Î{ï¿ÕAGäFxÞ–Â®§Ñ¨­‰ì¸ó\nr'I\ÃK«Ø
-yEŒV~:¦J^Î9//ã\——ÆöÊ‹cŸÊµÈSy2(W#ƒ2Cþ×@Ù¸ø–& Ùe
-Êkß1›)q°-w±ú½ÜcgŸ.àð=U˜[»‡j“RÈDL¤.)VXÅHÊãR³JYŽQ)4H¹¢(®^Q×¦Pq»ùÜEžž’;�“Ë}’mÐõ
´
¦�`i²]&Pðýê?u‡×Nž:fö¢Òiã“J×íÝeþ‡nkÑ.×
-°!Í9dbC&ƒs&-&©L/Ö’²U<±2/>7?7^—ŸÃ«ÉÏæ5çgñnçËx�ôçÉxýJ)¯?×`è¢ÍW�ÐÒ²¾5µ�ÉÛ²C¦ã•ökž×žXû¸Æy[W…ïÁ_KQNmLPc>	_›CgŸ’²4éHF^² ';!µ@*�J…êA…:=¡Q-JhW§&<Ôß>•^AšàQ¾!ÀXm,sHÙ²;W.i÷ÍŸ¶3~UsÔx°Á~Uo�ÓÖ;Õ>¶×O‡8¶”D4°UTf‰‚É/�rÒ³Òãs2R’T)B±F˜¤Ô&
-Kµa½–/¼ª�OîÖßž"AÒCuBÒÃBC zõJà˜CÚ–å Ü¹|±xßò™*Ûå/ë-h´3¹ÎÑ²£ÎËæru�Cãép¿ÚR|T¹†Â(*`Ä+l‘D†dÅüÂø´T"Ê*áˆ4%ì´šVÚÅbfúoÅ,Q·–“Ú£‰Mé-2˜ú†83#o^;¾~_¾çë‰Úý_=k´ù¢¯ù£Î&‡Í7Îy|×Rp¬¡í]Y�‰(.#Ñòu´8Y!3%UÉ‘ó²¹*–4©˜–™YJÉT•R¤U%dYs1IvWG–vk©â
=Ã0`™®¾Ù
-�mú
-ÔÛ¾|W±ë‹W
ÖÿxÚºíóîKVÜl=¶ñò/n{ÏûýTÓêYV‰.¬Â“sNQb3JÂD
[£Bò(y
A™QŒSèpyZl~S6ÿŽ›×«Æçôª	Y†Ût$­_Ù_‚ÎêŸsÕß|>|aÓg�®X|Öymÿ²WìÍ[Ú\¬ë[þKw�þ5ufq@\Šã¾�¨,J�MKÈB’Üä&¹7¹II@EE­ˆZ•¢`t°à
-ET¬ˆHG?R¬»(â2
-ŠRµÈ¢(ˆxzÿóâûöy~çü^<¤è¼Jtðl4•SfJø©4>eKñÒ�ëŽ­Ø±üðê}‹6ì7l?`,ÌÛo8tüß†C¹1‡¯çÄz’cÌœkÜÿ(ÏX3Á¶M
¹#†Ž8Út”MCÿ»85ÔNCWë½F]ª™Z~%Ò½¤[TxI)È«Ò�»Îëc·•Ç®L;Ÿ–|jiF|iò.CÉúl}É�û¢OädëJ�íÑ•žÛ­=ùÇ.íÉçYºâ–ÝÑG›÷X©ã¿ƒ�Sìà?Ól>ÿ2=97
-Ý¯‰®_Ÿ€ªo1ìÎßZ4éä
¶ë‘k"ÿu8wo
)Ï¼¬1¤_Ô'¥T×.©Œßl¨HÊÔV¬Ý©©Ø¶ƒ:¿o;Uy$S]y6Cu¡~›êBËVuy[Uö2ÓH7öN²µŽGÏNÛ¡Æ*;t£ÎýÞ0†¾?]lËš|Ço›��ï³ïŽ„µý&ŽmºFh×\¥ët«WŒë55K6©jVo&¯lÙLÔîÝDÔJWÖ�Ù ¨¯MSÔ?[¯¨y—¦¼ô&ÝØ:ÖòÆ¢–"ô |ºyÙÕÜ�.<�Î4;Ù?÷¶ÿ¹…é˜óŒí¹ó‰€¹ù‘X˜Ú$%—6*LÆ{ä2ªA—B4,NUÜ[•*¿¿i
Þ¸{5þ  EÖT–,}X³Rúðé
-¬©k¥ôn÷*k kŒMG�-zx
-¡[U6¨¶ÞUÝ³CeÏÆ âv·…í¾ãòÚ™3³^³æoyÅ	ZÛ¹ì…7¶ŠuT+§lU/Á[�K¥/–/•¾LKÄÚv$`¯Äc¯KKÚ«b%Þ6‰Þ´›„mâ¬ÈµAOŠºs¡ºj„þ{Ë�yd‡Š:¦ ‚î¹£r»½'euÎÙÒÍôZ×œÔÉâ™:ÙRê=O%ïEc�¸QÔ¥1	»ãL‚ž•&~ÏFcä‡¬ÞÇ|=¯÷D4¯÷7÷Óm-çs«Æš–B„Êºz¡K×úµÑo¶C?M³Í1»~÷Ó€çÔ|œ×
ø{%
,
-2™ƒÙš�Ð(ùK&ä)…ƒ"oHNq,*ÂG±¾¬T‡}IW…ï$C¾ ˜_‹•L¨TC­ÂšÆ]»€ÐåZ„Êï"Tô¡ü¿F¢ìá)#¶Ã,ûÍ0wj*Ìw^^ž&ðñ§À/D�l10ù`‰¸À“°@„….e%
IX|/ñƒñBÈ-„B‘œˆ²æF9BÕt7ú¥‰þ¿¡½íl~„q#Óaš}
-8MNg'Ì�§/ø‰À'ˆþ¡aLàÐG‘€ãRŽ/�Ðs¼!�í«Øž°!Â2#�Í²¦†î ’îàÄ}„>AhO+BÛ>!›õ0jd2üÃ>&OŒ†éÓ	˜9K
-sÜàæÁ†W,ð	ß@ð÷ó‡`ÿ…ðOà,€¨Àù `€:`Ä¸A‚¿$û;Ã:«ªê:IwPðˆž¿¡­¯Z÷Ù.42líµ0z‚ÆNÁDLu
-‡s‚a–k¸¸ùÒ»ñ�y^àåî	¾îtŸ!W`3œAÀ˜
Ã	”îŽôçF«@æ0øn3!ÜÛ¸¾n dÒ£ðèÕJ#€KÑ•Çaº
-æFï åÐ~Vó¸BNÑÎÉ!ô¢ÂêåÞ€CøSXí2ˆè‘Û,â
JûùìcÔ0öÁ
-Àé:Û‹Žîãâ €qA‚±@ ×$Ö
-„mPBh&¡ûhù„% ¼”vV	¬ß”qEìÛ´Ç
-à¼–s»åžïÊz£,².ñü½ Ÿ1„®ŽÀóœ"oWÀé›WÁ\Ì1)�A
-Ü$ú�ïI`e¨€µ‡v@‡UÀ.!�}†Î¸¿À»Aó*-‘mÊA~—Â,èWôŠåÝ‹üfQ¾‘~(éQtÁü9 ¥wAz€:ÂÈ¨0�ëe H¤ßOUwœ,Zõ•[H
óŠÕ_"O«-‘çÕþeÕ�àÕ ðiŽzAö‰:‰^Q¿²T¾“¯ð!U›üÛ€ 3ˆ\AÌ˜JzºwÐ³‚Njy$ÈuRÇ“ LÑó7j-üº!þ¿t‚ƒZ³ð˜¶?ªTÓU®é]¤>‹ë©O’ûê�ØÿÕÝÒU§¬OõP·)©bPÛl�3&�ÄÅðyN ™?býçB|˜7Äñƒ!FÆJƒ}QÄ’ƒØ
-­Yœ¦ïeÄ|íÑï×�Ö÷`%ÑÝÒ_£»dUºN¼Vû^~WÛ!®y«èÐ´+û4­„Y÷TeÖ7©bPßêé“sv’îÃàá‰~.°<Ô’" c
U¢~��èU.Óõà©†.ÙÆ÷²,ã_x®ñ�¼ÀðVQdx£<ó'QÓNÔè_“w¢ÛT-Ñ­ê]‹ª/æÕo¼¯5›néÌq7£¿
(:ƒŒÎ už	Œ�ì;Ö„0`5w¡%YÒ—¨ä÷˜ôò÷Úí[2ÅØN¤Ç½"¶Ç½$²ã^�ù±­ª£±ÏÕ'M-T…©™ªþ›îúŒkòN8þg¢(ÈPŠHŽÖýñœ­åÜ¥Š²„ì<!doòOHÈ df�
a( l‘Š*U\<·ÖZOO½»^ïþÇç^Ã‹ïûßÛi7Jº‹»Gºÿš4÷‘r%áíþýá#20ˆ[ì	#—@B /L^éEýaÊŽàÿÈw¯ù,
ÝòŽ±ëuRÜ¡gJÌ#<›x'¥MÆ*éwqÙÈm\>r+Î†ŒÇU#7â›‘Ÿ:‘±„!äþ2šøNü;c�ø�ÙGú�ÜE~Ïê¤ÌÆM7
ð…ÔeÞ�¿ÂÊ7,�ØöÀ)þ¼ò}ú‘ùö™(vÿC6)r‚ÎÄß$
-é?ãS™×ðÖ¼™5’XÈN,g]"Ô³†ˆm¬ŸˆçYƒ¤1Öù«�üŽÝI}Çm§½ãž¦ÿÆk�Lðõ„8˜´l/÷„Øz˜¹Õÿ“&$è­zÿêçÊÃ›§ÒbB&¤„C78Hü—~‰"eÿDVð.�³øçÉyü>r)¿‡RÅï¦6ó»¨]üs´Ë‚³´IAý� ùUhgü*ªOz#ª›Äûz@ü^�àS–/„ªµ‹þ�µeñ{Ã÷¯
û–?ÖZwOslûx:>ôŠ”{‘Ç¢õ3…œn$UxŽž)î %môÉ¤LÒŠÔKZí’&Æ ÄžtKÚÀ|!­M~-­J~-«`Í&úx@¢ß"ÈXÓ‚§k�Ç?�›½~³|·äyÎže-WÜÎŽÞrM�°(�r´_šD>Çç±Ï°¥¢ædLfgêä
Ì´.¹­M®B«Y-h«=ÅC+Ø�Ñ“œ©¶i%Üèlþß@]â	EKÝ¡"x>Ô¯vÿ”³Éã—üÞO
-v-™´†~uÃ¹érvÜž�LRdW:ƒxFÆaÙ…"q-E«8ª´
-Ž+ãX±“ÜrÌÆmÄJ¹�X1o+â=Pðž*¬ü§Øqþ³YA‚ÏBˆø.„Ò¥ó¡*È
¿™÷áøF÷—EÛN•†xÝ)>x-?bãEnW¯žÞžIOlÂXÌš¾¨\,CmBLQ,Ð)ù¹*« T•/¨Uå	ÚT¹‚‹™áD¦YøXešf>V…Of‰Ó
I> ÜÔ|5÷Ëª¹ï
-×»=³mžw¿lÇ‚qÛþ€‘¢ðõÇcCÎ™ÃZôÔøºL&£ã
-JP1j•¢Ê\±Jmµ&Q¡Ö >¥Õ‹[tYâó:�ø¦N+žÒjÅ�4ñ#µFü×A’÷BÈòq‡iþsaÖ—.¿ç­ty[²ÖåqùF×‰Ê­óÇÊ÷úÙ¯í-ŠÙÙ~°ÑLÁUét›šÍ·*rsªT©OÁtZ©N¯–æe«d'
JY£A!ë6`²1Cºì~6&{�…Iê³€äé®Ï|ˆ}á
-
�sþa
v~}âkç©ª5N·k6Ï­Úíw¡<ì›NÛÑ­…	¡uÇÉ1å„R”Íâæhx)ú±R•†fa¨Ê”ŠšÌr´Ø,CkÍRô¬Yœ:2mÒ$AïdòûÙ2ùýL Å{xO¯Ÿ48,üÒñEy°ãýº ‡õ›Ü.ÕîZÜWupU{yô6»-þ@e)º4ŸNÊ·0ÙFGªÖ
-2ÒTR½D�YXV.³æq•¹lÅ™\–b('9ã/6iæ¥ß3ÎR½@±÷\¨^2æ.uü[i€ÃÓ*p×¾\mÚè:ØâÓUº¢µ:rKí)ÜÞ²“„ÈÂ*Ábe$ërYbÌÄÃ$zQGƒZ’Ôê<D�›G×”åÑ4-¹TíE;a¡©'ÌˆjÒÄPÎÒ¦R¼\aÖb§ÿæû9¼-óSõóÁx‹>½Î¥¿u§W{Ó� Æ†ðM•µ1»KªðGòÊÉ	Ù6:CUÄÊó9i¼�1ÉL£2‡d²äM'ÌDs“‰`0&ZîÆ{’~ZÖÌ`’Ç|˜¶h4ø8þ^ä
žTº�ÛvpµÍv¬vîìØáÙÒ¶/°¦5lÃ‰¦èkCÜ!S
§©¤ÐÒÊžÈÆ’3‹y*r¡4+±@™�/0gãOd%5éŠÎkã‹ï¨ã¦4	ySÚ„Ü)ÝL ÇÝ
fx8ÁOðÆ6Ü©�ÆZ�ÁPçÐÛ³Ê©­gë‚†®ÝK+Îý¸¶¨=â[Ëé˜P]sü1¬‘H–ÔQYìj†„ZÉNÇWˆUñŠÌ¸
-“
-wÊ¦ÄU6*b+û±˜ÊÛé1Ï°XÛ“\éÌ ÐÍjÝ?YÝÀD…¸nwÃŽ ¿Ït\r°nšW9ð½_Iÿ�¯s{Ã¶é»¢öeœ�‰”µÅ'rO´*?±‰)ÃÙ…hŒK=Öd@�5—¤mn�E7÷J£[nŠ£š_I¢ë^É¢k_¥ÌÊç:Cã\ð €ñ0rÚtÐqÑ4�øƒêÑµ®¶‘>Ç‡÷g…nR
Þ%ˆ
-ãõÃ!½q”ÄnBrl�ÝÅDu¥
-"»õüÈî"^DO'¼§›Þ;Î:Òó’uäì;î‘Ž™A¥‹ã›<î”pÕÀàY:huU7<Á‰[+çäßü“§q|g`æõ½ëÐ±ÐïøWÃ~@F#¢—�&ÄÇQ¢†ÉHø0›qä²9<¢£) …�ÖPÂ®t’]½N:tå%1tä3åÇKŸ©3ùCÀd1cµ\<@O­Ã úº3(™tÖ© 'ÓÔwõÃí~©þGw}>Gu�a?ÈØŠ1 $Ôµ5B½lß½wËÝÞ´Ú]I»*«J‹pL7�`‚)‰Ã€p‚ƒ1„Fôf3Â4É$ #@€(F¨K,’žÜ?`óá7çÛ™çœ÷�3ïÅ,|H§–5*$®ûjMö=½ÅxÏj×ÝsåhîWäª,ÎQ7®µ«nµ©íÉfŸ°2M7-Ê¦_Íò‡½VÙÃ�lož²wpç;B®!äâYBŽ_!dÿÏcÈÎ†qdkË²©}úo×¶ÇOZÑž²°-3¶¬•Ÿâl	­-”\ßÂhÕ­ƒ²ÕfR´šäíóM²Žåúåz=ýr‡Ž~µ_KužÕP¯ëÔÒ7­*éëNÆ›†�„Ü8DÈl
N^&ä`-!ßÔ�![ý†lìò»¦‡óÁòÞXßÊÞÙ¡e½É1®ž´$k—«ïŠU½”LÞÇ(©>##î·«DEŒ``>Ã\®ä
mPp‡¶Ë¸ïöÓ™ïNÐ™žZ*Ós[êMÝ>B.Wrú!‡¯²ë6![²¾c<Yíñ·d8ØgÁÈ´É%#ÑÁÎ‘¸HëHBœ~4%™ÍÈ !à‰A	`D\Ä°‰ÓP JÅ\Q2–
-ñgA¶ð°‹7GYÕ\ojŽrö<!G®²û!_Ý%ä‹Ç„¬ì;f>?S|Üš”ƒ°"Â´ˆ‰T n†	ñ¤&rÁKN‡8%ò”$hS`I�G^JJSf`arV&Ec}R$¶%Fb‡WçÏ°=XCÈž:B¶Õ³ço$dÅ3B>é#c+0n|||ì˜4Ñ??ƒh„†ŠÁá"zzfF&#!*©ÑñàÆÌ„8&Š˜hèb"a�‰€+šƒ²è0v`Á
-ÖªHoŽ³=°ï&!;Øl¼OÈgO©l&¤t€Œu‚Œ·‚øè0þc>ôc‚?¾�i˜œ„àÐx„‡ÍÄôðXÄr¢0‹�$éœPÂƒ@³Ÿu˜?Ì¡~p„ú¢0ÄÅ^Aì�Ìè¤Ç‡ƒ—8
‚ô(ˆ¤³ Ð¦�gã#Ã-Bz¥©ŸI‘ºŽµ™õµißJ‘~€uD‚ŒS¬Kd^#³^î1x/E#ü>á0Xè@0$„ O¡7 ‚üÁe¯‰a<âÔHPâY�¨Ó ´òÁ+d÷žO!c�ôµ¬/idl§‘¹‹µ�·Šu‚ï‚ü«¬ÿJFM’aa‡Ø#ì‰Þ‹Äõ‰ ê’@â
h6/*‚a�Æq K™…häª4H-ˆ\RæÒà-‘ƒ·Fî_Øu›ü�2ð÷Ê 8Ì:N�
-ÏÑ#¢jXt‹òˆI‡$íÒi�¤Oú^Ò#…ä­ÒW4(o ò?2’èPÈÙªäh3¡V¦Bi€Î£ )—Cô©ÂÕ¬
ÊÑå°èïŠ÷âïÉÅ;É1ù�ôŒ|ˆº,¤êdýt#Ý+k¥»äÝÔ¹‡ê”�î�CÞ¬„ÂÈý `3ÈXêØP90óba”'Cgàƒq°9‹•#T¥Ê#]¡~']§¤þ¦ ·«úé]ª>Ù>¦W^ÅôÈO*»—”]Ê›Š·Ì=E'Ó"ïPuËÚTEæ¹
-ªÇ¨½�‚Í Žstl	¡ÈáFÃN% KË1dSïÔÌ€rž¦W±D×­X£ëRlÒ¾Q~¥}ÍìÔtªöh^©«_ª«Õšªví5U›®�iÖ5+Ÿëº˜§:�¦Ií}=ôõ¼82N ôáSa�
-€kv0Š2"P ™5œ§JÌ¶ˆ{LNæ�®L÷JóC‡f•±Mó…¡U»ÙÐ¬Û¡¡ÿVÿ«þ€î¹á˜ö™ñœö©éª¦ÉtWóÐÜ¬y`îÒ5˜<Æ;&˜¶Àr#YÞ@0LèTd…ø!?Ò¥³P‘6Z!Š,Q&uåù¯ìy«Å­{a\`zf\fybüÜòØôWó#ó6S£ùŸ¦æ}¦{–#¦ËiÓ/Y5¦ú¬;¦ÛÖçæ[Ùo-µV�õZö¨­Æ6jÿÁ>êðš_hƒý�Ã>%Ó}1/n
-*S‚Þ-Dt/�Å½,×¥7Ù¤Oó
-4msÌ÷¬‹¬w­«mõÖõ¶ÛÖÍ¶ÿdm»•½ÛVg;h«µ·Ý°_´_·×Ú¯:Ûkr:—C¹s†óÎæ¾wžÊóZ6ƒ‰­GAÈ$Ì�˜ˆOfL]’ìß¿”Ú¹˜ŠjY¨N|2ÏÊPâRÜÉ/5ßÊ­tÔ:–å]w¬q^ulr^ÉÙê¬ÉÙé¼œ»×ùcn•ëRÞ×Å¼Ÿ\ç�
®³®6×iWAµk¨ðXþPQUÁ WÐOõEvÀd”ŒÊiìœ;Á³2qr×êÌ€öU’ðgËU±�‹-©wäÒµenãOEss.çšÉµ²è‚k�ûœëK÷Y×v÷éü]îSùÝ'
-ªÝÕ?º¿/¼]|´ðEqUaOÉ¡¢þÒýî¾Ò{ÃÔÉÈñŸˆŠ �°ˆÃÎù1¿X?¡smºï‹µ¢ÀGŸ3Ó~YiJª[ì�\ù}¡þRE¹ƒOº—–Vý±ìû¢
åG‹¶”W¹ÿQþo÷ÞòCÅG*Ÿ¯8P\[±¯¤©boÉ›9»K»çì*ëžóÍÿ#›ÁÉþ9çú`Yø‡øSÔ½ëâ|Ú7¦Lxºét×{8ÔùðÏ`„n”ŠÝj#tAä.Z—“Kî!—¹3Ì˜3F342.C˜Y—\×JnIW¤Nw¡<�ÓÙJ§-•³íÓvÛïù={þ�ýãõ|þü~Ÿçýþç½oÝŒØkó}a ÅõÜ×+ì8ÂPÆ±ˆ^
-%á§”Ì”Îär;©�ÒJ’RO'Ë©ÍÉ
ÔÆäNjCÊ M™2NS¤<¦Õ¥¾¢�J}K«ÆÈÿ:Œý!ÛZÚ(gËŠ¯…ÆšïŠw®x^j¥ý¤ÌqÕ”ôÀ7·Ä»G…áÎÃ¹±û²Ãº©ñm4zJ3…MmHãÓiâŒú4£6­ŽQ“ÖÊ¨&÷2ääF%yšYA~Á”Q^3Ê0')¯3TAÁô°½·enÒBüÍøOb#�¥RS�¹rsüãJ;�{2ƒëÒC;.‰C„D¯î¼„à6Nò‘ÆLjJ}Ffz
�Ç¬¢
-³*¨RV9µšUFmb•R»YRêEv	í>»˜¶À–Ð^²$´_³Ä…é¯EÉz:ˆ½Q	¾ÕøP²Uý¥ÌXí¹™út�­öí*÷�£2‚éyiˆÝYq´g§0>¨™OŠ©ç’Iò,zºŒÁÎ*¥ó³KèbŽ„^ÎÓÜ"z'ODâ	é·xú,O�ñ‚+ ¿àèÿÉVE`]HÓÕFœ
x$2T_º·X¹÷¯Úm¸u{WÜ8å¦¹ÊÏxPlÓ-�ro•Ä(“¢kø©I2�VÂffer¹B¦0·€!Íã3Oåå1[ù9Ì~>—9Îç0Ÿ`÷Y.—ù<‡Ç\ä©‚¢õV#ª®ÊÑ×@âMjËe°P½	f›á®ÒJsL±Ýð)ßm½òÃV�å‘û›Jc	uÅ‰¢äÄùª(‡žÅÏfçðXüül–DÀbU	2Y�&ëŒ ƒ=" ³g°;ŸÏ`-ð™YÏrUA±º«}Í
-Ä_¯ŽŠ7àÞT¬‡ÙºÕ0Õ`7›,ñW]t•>[»kƒ,[«Ã]”1¾Õ'ÂN–�âÅEiä|-““ÇÌeò¸‚tn¡ˆÂ-+"ó¢T^—(…w©0™7U˜Â{*HåÎ�9óùª øÕ+s
	ôÔ>Kõà…|%Ì(WÀ½æ
p­u·Æ…ç5½M^›;ØÝTæT[Cô.¯Œ.‘%JSRy
-“)¢ç�l!)?¿()ÿÄñ£µE	¢ø‚áÂxÁ„0¾`Np”?W�˜7¯JZ©�Ø«4�h
î�L×âa²7ÛôàJçNµÁÇUÝmž†­§íP4…8È•Qž¥µG‚Šª�ù$«,�N=Aã“dæÇ‰ó
-cÅÅ…±’aŒ¤M@,Ê'ßãGKøÄ¢~l¡j(EKñVª}–èÀ¿+Õ`Z¡wZÔaìÇU0Üm‚;Ûm§ÓÑå¶±±Ó×¤¦-ÈFv:ÜMÒH<T Œ�äÔ%%ÒkR¨ÉUV\93‡(ËåG—Kò¢Êkr£*Úr"+†¸w9áœˆ²En¤t‘§
-¢jj"¾îµTfjpp¿I
®wààb�&ô÷}]}ÖZÍ½®ëëz¼�*ºý­J~q¶GúòZcC™Í	qi
ÇR”iÄz+²>';¼^ÂWT³Â­™aŠsÌPå]Fˆb�RûŠZýk¦*ˆ‰×ø"Ò€'å“
-l{bÛïJ7¶=~:ÿ
´[àç�t«Îyn‘ø™‹ú�r{B½2»£‚È]±Ñ‰�	IÄödrx[zzh7=¤ý8-¤]N
îh¡îL;Üq;5¨c>5 m™ØüŽ¢
-â¨ã^<ª¸Ó0Ú…m?lv´\YÊQ3uùˆÝêÒ«û
‹.{›å]$Øf
¹Q†B	Iƒ‘a1ý±±á}‰‰Á}TRP_6)°Ot,°¿21` ùhÀ@¼ÿÀÍ8ÿ�¹#„¾åx¿žGUù³à‰`B	0Þpñ,@ïy€¶«õÿÐùí­¸ÒÛ–ÚÇo9éóoº±nxï¡Žû9'�xÅŒ†„�D†]��ò¿šF<4’MFFe‘„±Æp¿±Þ0ßk7B}ÇfC|F—C½®~‰Pe^0]ƒeÐ‚epËÛŸ�Øû?ÜÀAå}<”<Ô‡¢G¦ø¼G{×²:K�vÛ‘4yÀ6æ�ïþ°	ïÀ‰Pa"&Àw‚pð#ààd¾¿Ïd)Á{Jéç=}æ ×Ãq¯‡¿x˜zãã1ùÑO•b=¸Óðÿ†±\hº ¿‹ÃÞÇƒðé:È�3ÂgÍ›¯¡ÌÙ$>uÜN|êj:ëáà?ëãê;àîý4ÂÓk.ÁóÀÅÃsžãî¹pÜÍc¡z¿Ç³6W÷çC.î‹÷ö¹->wv]øÝE•‰:€kXúz.a¨¹pb
- à‰ð^é«e.mÕ"/™­M\²0ˆ^Úk²d¿ëÐÒ>kï%7{�7>Nß¿	tv}±Ïå]‚ó¾eª³ó2×Éé¿bGÇßªík·sxÎÖáý-[ûß¶Qå–Á%¬}°\¨½
P:	 x�ýB2>èi¤þa¨�ðÇwºQM6Üµ…ðqÏv¯O¶;Ý>9Y¸|þ~�Ógok‡/þÖv_Ã­m¾ÆYïý“leõgöž=¨ÈÒUZX¢&sÔcnŽ.íVå¯`ìPÜ89 œ`ÿ@{‹Ã‘�>­Ó‰@kƒÐ}_ddè‰Ì¶¸¢ÝÛœ�•±=²7±A.¦VÈÃÔùššcCi"šîD$3ÄØn‚øÛ�Q‰±’¡F•†Îtý�îúŒj*Ûâ~Å‚(‚"-EÂMrÓ$@Zh	IÄ„ÐÅQDQdP]`ïÃˆƒÏ®OTž:èÃŽ>Åë( ‚€àÀ~÷}ó>ü¾žý?ëì³ÖÞWñlB�Ê»RÜ‚ßÿ9‚˜^!Hjb¡‹ñ±0Ñ*ll‚aºœXàêŒ�/W?˜ç6üÝ½s÷¶û,t÷©›;Ä¸º‚ŠèzgXHp‚ÎPbÖñ¼o"Èæ;Rò¯ßŠ×‰ šw?€XÈ/Ä*ÆZ³aâTXÛ¡0ÍÞ½�à4Ü�=aÁæÜ`>ÁÈG`à¤ÖÅN6ø°h
	“@k?ŒfÕÍæù¸€ß<" ~n€b@Ì4ÌÐx_ð×ù)¿2ø–�Áo#nHûp5(øÅÕ£€^ðr#®Ù(ÏH@yK¡öø}Ç¾ùaà;ˆ ‚_?HØÿ2x»êMê|7À¨@ãÍLêT9~––ä,
- Ë¨à_L´·…ä= À¦õ$¨çÈ€]E»�ŽÐþƒ~§½ñ¢&
2¾‘úà×GR/Ps€†ïš¾s]€:‡oW`“g‡;Xb`Æø=…
-´°|PWãÊh€Ua@Û…�Òª±Qz-u„~œúãõ;£�2Ìl¢±“Yä~v7ÚËD{8£èg6�»Y@í2èxt6˜ž.Àõ"BÉYž4x28I°Ð�™Çe®düÅ,e|gnb³¶Ó‡ØûèßØéƒœ£´Î)Z?÷ö•{ûÊ{HýÂIýÌï¢t
-(ù£ØŸ< }àã½À$:m¦3ð<œA„gû¹‚„>B}@ŽB@<}„¯c
órØßxËÙ¼µì¯¼rV«W°›ùEð+³'à0ósÀIFwàF—ð_ôNá}ÚGQ;í}P'öF4@ïŽ2_	�ý28íÂËÅÿRN Äû"ÔÓ	dó] 
-s‡Hþ“ú‹céA)œ>a¯'0Ÿ×-,âu
-×s?‰*¹ƒvpþÚÏy\Ë~rœõ6äë�øóµä.ó•¤�Ñ&éd>pž‰GyOC@ð8‰<ƒ€èb{ˆ™iñ>Ž�@!B<Çs(&Ø·/2ŠÖªä~ëB¼¯x-.tH*ø/¥[ùí¡{ym¡5¼auÜ?ÂÎp[Ã®rŸ…ßá>	Ám‰øÄ>p7lTx'‚n…Cp“À%8€ÿÎ2‚$zLµ÷tÐ NÃj–{ŸJ8·SNy­`wDhÚÂ3E„/µF¬>�(>‰¨¶Dî>Š¬>Œ<$¼/«Þ“]Ý‘5‰š£žŠnEÝŒê¹’Æ(�6DCèe3€‡×—8Ú�‚`šøÎ5gê¨�4½ß@'t¥f½UK}Û•qŒVy²àqŒ!øAô"ñ½èÉ�èµ’G—KnÅl‘6Åì‘ÞŒ­‘Þˆ­“^�=+mŒk”^‹{(m�¿	½$ï
¿7q>"OËAvJñ#à"í§‚Êy
-èÝ­!ÓËz(g¾mO.uúûl.±=Cìõ4-}�¢ä5'êBš™á7äù‘�ò•‘W¥²+ŠM²ËŠí²Æï—]Œ¯•]ˆ¯—�K¸,;›Ðu:±=ª>±;úDâpì±Dˆ=¢„¸Ãf€ÈÉbìl@ë4LnV°ÈÓj ßgò§¥d›Ž|–Ck^°ÛÃ,™ïíñìëZuÈ•!ò’27æ¼rYÜYåê¸3ÊõòSÊ*y}Ò.ùÉ¤òIuòcªóò:ÕïŠ#ªgŠCÉŸâKþ–P“<’P�2’ø‹ v˜
-|×Ò;ZA.ÑrtéLË/s-ßúMzQÈ°mY.ri^ás=GÎ¸lL:§ÃÇEM¦ü¤zqÂ±”Ê£)k•GR*”‡Ô[•µê}IÕ‡’j4§’~Õ\KªÖ´¨ökß«öjû“wk‡“wþŠ¿ƒÒf2dØ[ÂbÂøï3ÆuÍß±fÞ„gÅØ¤{E�N¿„Í¹²$;Ÿ«¬7i#êôù¡´Ü¤ƒºŸR¤©«S×©÷ë*5ût»4{t5šÝºš�ºËÚº{Úmi¯µ[Ózµ›ÓµU¸J3 ÂÎRl¬ kúXê<np•«ÅÇµm¥^c[J)o—ìWK=/®ˆ&ŸÊOà×-T‡þ–•WmÌTí]�§Ù­/ÐíÔ§m×—§mÕoKß¢ÿ%½J4½R>}“þ¶~£¾]_¡ïÑoXð5½lA¿Y5u
-¤N™¹vã`¹£Å×5„1ïJ‰cZ7Ì@îo@-o®çÛ5”H<Î®Ž"_Ï­ý)YR�§‹Ý�cTmÏÌIÝl\ª¯4®2l2¬3V*�{ŒeÆÚŒuÆÓ¥Æ%Æç¸®ŒµÆ^c±±×`ÄÚXCºµ%äM…öczJ�Ž2{äÉF"Ò¼‰4¾±‚;õbYˆû?~–ùY#g(TïY¦�Þ¶X¯¬ÌÍL-ÏÊ3¬Ï\n*5g•˜*²ŠM;²×˜d™Nf¯2]Ë.4=É)Ìü”]˜ù9«ÐÔ“‰3ý(¬'ƒaòÈ·µ-š†t•Ú"m“�‡•¤i³ï¸†JŽÍÙ�ÁÄãe>µ¥qŒýÅJÑŽ•êÈªåi‰åKŒ©?/Ê1®ÉÉÏþ/Ùõ
õ¾Æü™)»¦Â\˜aÌ0„’[ã6™m�\C.Ñ`0fÈ¥%—Èå�„è"¢–Jºìnû$9{ïvkŸH�Kû;¥ö>é~yÎ¯uÞœÅ‹Ïš7³ÖwæyžÿZÿo¡¬0=_V.Ï“ÕÉU²6¹RÖ+WÈ.Ë³e÷2³Ò¦2²e3éÙ²ä›/ds¡T[S/D¥åmñ2-ø¥FþrÐn6pÕ†ë×éœ©õZÑS-´è¬v8T¶¡¾8JXU·¹,/1fWNjr^–<-Gž›••Q’-Ï¨V¤g´(Òä';äCŠùñkvªüY¦,ã¹œÈ˜Ãµ¡L[óSfJµ`¼RîÕ-„‘F}øîO–Î7­]|ºÁÓèX]€y[�xuS¥ÔýÀÞH¿}¥[CŠwm‹Þ™¿=)[•–ž–£P¤(
-•ÉÙûT‰ŠFÕ6E—*^1¨ŒSŒ(cÿÈ‰W<ÍÞ–=�•�5�9Fkhb†Ö‚Zð¨œ÷kÔ`¬A
n6/…áV6ål«ã¢žƒÎ&?fK}ÿ`m¨KeU¸ÏžŠqaY|DNqRBZQjZb~¦"./O“W–�w07jg§*rçeDþ÷9áù�yO³£TÓ_eÍ…±ê˜­Aù}—ŒWüX·n7Sàêam8×Î„¾öÕšÝmîzm­>´Æ¯¦QâT~p‹×®Q¢ÜªØ0ù¾„¸ä²í©[KÒ³"ŠU9[ŠK•aÅµ9a%í
-iÉ@ÖæÒ[™¡%�ä¡ÅÏ2¥EDá|˜¨¦Ž*5ø[)ÀýjÒûH÷¼q`¨s!t™Â‰nþÂŽ.—eÍ�ÞÆµíBNÅa±cI‹ÔcgSD@v}Lhjm|L|urrDeZšt¿Rº¿DZY›!©<’.©ì—…TÝÜ\5™*ÞÿbGðÞ²àòù0•¢ö&`b/Àuß¸Üpöé'WÀÑ®ú¡'�úž+*�ù±öt‰ì
-:$n9GÂ|e­Qâ„–Øð¨¦Äxi£,YÒ L	n(I	n<°]Üx$IÜØŸÔts[Pãd¼¨a&AT÷*QTû*i.”åÉn2ƒ*€;M×ÚÎ“üS§H÷ì×ƒÖ3ì
ÚÕýîe}FÑ)¡µòdÐºôã’�IÝ[6Å�
-
ëˆ�iO�
jWÄ}Û¾;VÔQ³UÔÑØq:*°ózÄ¦Î‡áÂö™Hÿ¶÷Ñ­ó}R<,#38p‹ì`¸` —tÏ3¤û�[
Ct¨âk–_pÖ-:ïa¬ôµÌ8+tHr�é—ø„õm÷ÆHD½ÉÒM½YaÂÞ"©°·*4 ¯UÐ×ìß÷�Ø¿o<È¯÷¹XÐó!DÐóY2×¿
-ÿ7ƒ‘f€«GÉÿï!ùGH­»B�ÊkFPvÝR½èºƒŽêš+5ãª§Yò›˜KB§°áo=ÄC}‡"…C	�~C�¾„¾+|†›ý}†{|ÃW|—þ*ð¾øL°ñÂ{?ÏŸýçú:ƒ±z€ëdC=§IþÑ!€&Ò÷ß¢ÀîQm(£Q”c<­ô1G½¤»®&1£Ò��x$ÀIx;ÈÝ÷v˜‡àv¬§÷ˆÌÃk$wƒ×�òõï4¹{Žwõ¼;ìâq÷¾³Çè´óú‘w®î·?ºÍu¯†Ü!ÙÁ¥äŽ“üCWjn”ŒR ÷g
�Oèƒì¡™zâ„õ’è	GCé¸3-h|½¥ÿoÁ¡ýÆñGÏ‰(G�‰d‡
öë'KV¯Ÿ¬³uÔÉw<hãöø®µëã_yÎ“¯øë¾µ�ëë®�8×Ov@æßFòëH~Ù(@Þ=€Œ	uHù·>%~ÊT3rŠ­#™âNÙûL­azN¹Y¸ÿæeåò›�çüTÂ[7Ísz–Â]ûLiµæùÎš™zKÇ™.¶Ã‹ó,‡—wXö/Ÿ˜Û¿|:Ï5rúúÎt�üz’_NòwþDò$=QƒØWËÔÂ_QµBfißlš5×Ìr¨^óM\^;Ò�Þ¸0ßxšÙ¿õ7³{lfû>’ÉŸÄ´þ `ð>”Ð¹ëhV;L9ŸL8Ÿn#ó\$ÏÀÀ9€.²ÿ&’_q àGù/‰�¢f€"ý¼H=uµüÑHÇ�uÝ‘aà„lªrWÚ¡�±
®5æ¢›	½�-0Ð˜…›W™cÜJ&¦SéX`DÃý†¦Ød`‚ÝÄÉyÎ’¸Ðr ’ä’üÌ¯ù“ÿù(›¾€ºjjmÀ%KœQo©#êÚâªåÖH7°B–!­ŒÌÐÖˆŽkŒLÐÍh
-©(20Ä-Ë—c‚¾.ÊÉKs�®î#/L•óœ¼pø¹Á€Ý?dý_¾x
-Àÿ5,Øˆ°ÐAs
R´íPC‡‡ÚK-qé2s\®Ë@ª
MõW!SŸŠúËÑšd:è-AW½Eè­«�¢ej(]JÁØoS‰´y�Í0D‡Š,Î
-´à­D–½	²ÝM‘@CÖf"ž�¬t&šç¥LdUõLd·dg E-‰Ëtäü™ø™öÅêï´OÜç¦¸³¦ï¸ŸLÞpÑäµÒf­�>Z�ß`fAEKö
-´â¬D®�1r]ihåÇ@Ž„Øj†™9Zªˆb¢Â9uD³Z!ºÍ�{Š‰Ü³Lä
3¿Xßb|¶þ‰ñÑæ1ýšþ†?K›å¤ýÇéØ ãwkdÎ…–tC´`Q‘gFEöJ´ã£�3
mLä‹ÍÐ&Š…Ö)l´V°‘WD>÷²Ñ¦†ý_¶ë=žéýàø×-©t#tqRæ2Æ6Í†™i3¶v±Ùlvg˜Ò¹ŸEnÅÁ�¢’]uq*•sºuò;ª£Ÿ#§{tŽ
-Õç÷}üþÜ¯?žÞ�÷çûù>¯¯>
®_P-®ŸQm®s¾?¹Ìúžt™ñ;ç<ãwÅùúçþ¯Ÿò±n"`jÝ;ÿ¹uoÑÀù
¸¾F„1à±Öx®³~Nö žë½`±kA i= »ÿD7à/wÿŠÖz|Fo÷˜EÜgü«Ü?ú×¹Øã6Ðê6�é@üƒ9Ž˜
-ìv�êu�ºå:Žvy‹s~<é<†�s
nÏƒ€Ç³ €4�ð¨ïì@à;€ƒg! WÆ„ÖƒP*âk09‹•x~Äj¼¦±z¯)l‘çDðNÏ÷Á5Èñ�Fä»�}oCy¼	=êþwÆýî’ÛKüM·aCˆga£ˆÇa“nñsÈxà5‚>÷qexÁçcV­8[ád(îö€â?/œÓg"ñ�ï9–ä3ŽW¡Þâ· ^‡åù¼Ûá3¶¡Ú{”PïõœÐìõ,ü çÓðNÏ'ÄSÈGÄäCRŸÇƒˆ!�û£È!Ò¤÷ qÎ÷.øÝ	þá À@­YBímÉ~ˆ]»06€�²ÿLÇ:NÇ�\ÆÉ4ÏW\ßQ’ýŒ”�~LÚæ÷0¢ØïAd¹ïHd-ê~T“ÏpÔÔ_Q¨ÿD�D
’Ï£þ$_GÝ%¢(Ï}û£'ýo’?cúÈ è·(€½‚��€•¶€w/Õ~	`9.\W¸?½m>p0ï68�Ñ(O¨,ß¿)¢€áh5fˆ’�¤äcîRv`nÇTabê0ÿŽiÆôSÛoQ�Þ¤ž	¼Ûø[ì�×6>
-úuãxðåØÙÐ‹±×CøTfÛÙ€H¸9ãW,ü5A²ó¢Y1rÉûd´ÍAèªG²ó0“áýg\"f€&î§e„Þ¤éCûh…¸ë´2Ü5ú.ÜzîWú>\/½w9îîbÜ|OÜ
üyÆ}|7ãuØÆ'Â©8@ì‚�Œ$c ÞAÌbkÀ±]Ä«æù:«i•Û‚WJÔâÇ2¬í°$ÂñŽ€æñ;‡�¹Îá®$¨½ñYá—âs‰=ñÅÄó	åÄs	5Äî„&âYf+ñ4³“tŠy–t’y•t‚5q”5ÑÉšŽ:ÌäX;DÄåKAÜ{I6ðùó¾¤}7ï}†Ë¼çžV#éë»j¢Ãï²XÄUÓÿR"ž#%�ek¢N³³É]ì¼èlCô1vUôQv]t'§%ú'N;å0ç$¥�{™rˆ;ÓÆ}ÓÊ�¤îç~‰ÝÇ±Í¼ÿ"—.¬…V@ÿÚSíÌg´«Í^oq2{”�0¿—�¶ê×nXqMCq¾¤ˆ÷í–ðp]Âäˆc|%¥313öp¢~c{b!íÇÄ2Z[ânZ+¿‘v€�¶�”ÞÂ?Oß+¸Iß#x×(g4æõÀ¨û@±¶Ü…ð–šƒ[Óél{“1ýj“û9N&·s|-ûôøå½›£×þœçÝ¥b‘%‘ÚÅRêAQ}¿p3£E˜›°WX’°GX‘Ð(¬cþK¸�Y/<Ì¬žeÕ
-¯³j„Ã¬]¢7›ªE3›ªD€Uù
 váB X0¨¬Í@Ö2“÷úåÐ“\[è^þèV��Å•<ÜÒÛ¢Oo¡!�f²‚¥òÃ(Å1{eJF£$ƒÕ Ö±ëÄœZq)g·x7w—x·J|ˆ[)îâ•‹áíòJÅ/ay;Ä_¸†ot«@deÒ™Îe[CorA#ùVÐ�¢•P_‰—ùå¢�ÅÝù«ŽçltëØšÐªåmØ›.¢4¨dŒy*»Z–Å«”æðË¥%‚2i¥ TÚ�d�¶&}/=–T,½(,’ÞJG…Òé¤é¬à[@¼%ü-Ì‡ïÁÊdRo�äY@÷ŠæAý;èj)Òì‚»èT1É¡³€êòcn¼_‹ŽƒoØœD®É�ÄU¦*ÙeÊt¾A±UX,ÏO.’—Šäµâ<y‹d»¢S’#?'Ù&ïOÑ+žJôŠ)±^ñ1Y¯ø$2Xó�ÌÒìk–%4–c
šA·
Ð�2¨·ÜÝ´{gà‚ã¥á+:JbÖ(dø4mg‡Ôêù‘•[’i¥™2v±&U�Ÿš%ÎUçH·©Jd:Uµ<[Õ$ß¬j—g©Î*2U7ª‡òõ„,S=�’©ú 1Øf–@iaúq‹9¼¸wJL¡þ23èZÅ2¨§arº*`þ‘
-‚M[YôÚfÝ«¾ˆ…Ý•Ç#–mÆg§°¶g)“té)›5[™šUºf§:MS¯VkªUš.µBsM-×Œ¨šq¥R3%W¥ý#3Má7ifòNABÐÀèF…	Ô[m
ý\ã�¨A[vì
-[v ’ìØTNó¨ÝÁÄT”p	ßbòsÅL�^&Ðf§JS³²T
-mNšLkÐ¤hk4í~M²öxšHûKšP;”*Ô¾Q'k'”âÌI…1 41é&Ð£,�›«‚®ÂÝÓSk�ªw‚ŽÔûZ´ý€[Ò\¹ª¾z#¢º"]ZÆÆøäœb#+?%15W)‘êÓU"�N“´µ8�¯«NOÔ5kxº#i\ÝåTŽ~PÍÑ½Rs·N¨xÙ“Jc@™ÍdAÿ»‡Ûp÷õÁíÙûu7X@Ç×@íM>æûC¬H5uTçòª¤zSÈö
-^DvYMcø/ÙeÕ™…áFT°è}§iº›¥�¦�fëfG Ù� ¨‚˜!¢1j.‰P(1àˆŠã
-®ãDÍdŒ–€F£Ae5,g>*ó#ÕþxþÜºuŸ{ßs¾ªû¦&¦ïÈHY¶-kURî†ÌÄÜ¼¬„Ü=™ñyekåÕ­^”wcU\ÞÃŒØÜ×±_­ŠÛ:”¡f€~ßF€öíÿÏ àú!Ò9Jj�2áD…�~éQWÃ}å¾ô=¥!æ_Š”çˆsÝTò±oöÞäÐÕE)q)…+““
-2Sãós2âòó2bó÷¤Ç”®Œ)8•]pcEtA[JT~oJÄ®Ñ‘;GSuÁLÐ›™CÛ×?‘üp�ô¾rÒûŽTVšAY•DïÀI§¹ßTz™æ_ÈÛVfµ¹<Æi}i‚fí¡ÅS,‹Z²/-1¾xmrLqÎòèâÜåQÅ»—F—&G–œZYòÏ¤ˆ’¶�Ã‹{“B÷Ž.-šX¢Ëx6ÀÓ<€û3ì'”‘N�ÞE:hY­!¨3‡½u³Nyo¯õco©çTEØgVÆº¥OðK®X¢M8º":¦lu|dÙú„ˆ²Ü„ðòÝ‹ÂË�Ä…•×Æ„•_�-o�Ô–õF…‰	:<«K×gä<Îdð-É€ä‰øOW;
°ï¬>�gAþëYÛÏ»m9çEË9(Ì:£µ^y:Òii]¬:¡6Ñ?ºfiHxMzXhuv¸¶fk˜¶¦ 4¤æ�6¤¶&8¸öjPPíƒÀ šžÀÀï†ƒª¦Bty–K2Ø
ÐDvàÚq€s5ß‘zäé~¤‡~uÕò®[èm¾æ0'çš»IæUoöÊ+�âäËZ»ø†—¨ú8uX}’OH}ª_Pý:¿…õ›}Öïò	lØïÐP¥	h¸¬öo¸ïé_ÿÊÃ÷â°Úçü”—.ÉYø‘œƒõäûO�¨¸Pr`é�[nÍ‚�·Y�}GöÑÚÛŽFi·ÝiÉÍÞüø¦Iä­;mc¤rac¼*àÖ2W¿[kT~·6ºø6ítöi*vòi>áèÝ\¯ðj¾ëàÕÔe¯iRxÞœTêò3ÙÃF²—ÉüÏÿÉz€ƒW
-ÿ�KzhÎOú°æÁ<Hoåê-o•$µ*(q­®ôð
?¸Å_ìß¢•ù´ÄX{µ.¶Ñ´¦[«Û>µR·åÊ<I=µôxt^ìþøG÷G/D®mbUë¸D—æÃdUˆ¿º ô:@ÑÛ›>ûÀÚ)í³añ3½øÁì¨©¡¶CnÐáÄðîðàzvø
-Ü:C„®/c…ª®d¡K×*�K÷¾s÷žÓ«®²ç$GÙ{‰íØ{�¥èíd*^½ý€•ddþ§ˆÿ(ñ{“ìÀm€ÏïdÿŠ_ŸëAl¿±~D?Ë x@hä7 Y °¡º:2œ]YŽo½Ùï‚Øvï¢Øò¡$–íp:Ófx=Ãzd;Ýj¤˜&­¤JG/šIÇn›JÆÚ?àÙÿïIþÇ‰_#Ù�;›‰]@êŒÿ@T@èû9³'L¼'†î“\Šó¤ÈD1%5³›’Sm¦�h²iwš%úÒ,PK3Ç8ª—›ñp�)¿XÀÆBc61fa5…‰õóu9Göï$ñ$þâßú3À'3þö¿ü�A} ç;³<q¶�ÍS ©‘+ä.� ¹‰JMhkÂE¥	ÝMèè·ÀÃŒ�1�b„i”yøéü9˜k4ÉÛþ¨¾FÎ!ñï&þ/‰?» mÆÿœø_ô¨‡@O5
³äseø‘¡ç	Ñx>©6²(äSÌÐ‚bŒVCt  Û|}ô3'$¦ÎÌ"lœ«r¤täZ‘GÈ6Lä(YÈÕ°‘«%$°�“F®ýƒŽœÍä¾„B:òŠ	‡	täWÑ�_GCÁyÂ
-©h~�:-zB�õ˜½
š�‰ÆMGDh:lŽfCB¤é‚\	yŽ„�æ3È˜(R°QäÉAó`Â"6
-SX(Ìb¢paÍÈ={(:H('T2Ð¢–1->KŸ_¦OZÞ¤OJîÒþ”´ÓÆ¤ÝÔéõ�tÜlP‚ÔK¤÷["Cä‘wYÐÑRÄ@KK&ZÙ³ÐÊ�ƒÒ@.J£¹(YÊAÉ6J6rÙÓ’]ì)ikBºŸ5!+eý);ÎzoUÍ·úž9fÝÀµ¾Áµù7cØö1ý­íKú€m?íÛ1úd¾¶AÖkkd8b:Jt´æÓQNÞCaËB…Šƒö~<”GðÑ6‰7m›Î�°Íæ½·ÝÂ“ïäŽÊ¹#vÅœa»Cœ!»
-Î;û*ö[û:ö ÃÖ€â:«ßñ«Ï±�ùÆ±ƒÙ£ìct;Ž±_*�Û©@^‡
-tA!m84t`QÑEHC7²nJ6ª¼øè¤N(ã…cÊ‚ae–à�r“`P™'èwÊç÷9}ÃÿÃùï�sïµË	n¯K-·GuŽóÊõ*§Ûµ™ÓåÖÊîpë`?wëãüê:Î¢Ba»
-E�Uh¡Ê¸4T0ÌPÅ0Eo¾)úI¨èëÀD/î{Ï@á�{´hÀ-Yô»ÛjÑk·õ¢÷/Ì»=¾2ïòØ-ìô,vx¼Pü¦®æ?Óœåÿª¹Â{ªiâ=Ñ´ðñzÁèÕgÞ¢ß× äž¥wÕ(#Xý”3©¨¢™ 7}ñŒ1Tl‚Z9u<È…õÖßGð»O˜Å+¯DËN¯4ÉoÞŸX>óþ\üÔg›ø¿¾íÿc»L£š¾ò0|ÙqAq©Ë ¢Ö *0HDIÙCv’�õŸ„$¡	{ÂN�%$
-‚²Šà@T\±îâ^�ÑŽõÛ9v<�VflüÏíéûáùü;÷}ß÷ÁX÷çX÷wxÝ#\çº‡øþÀø¡À{ø?Þ��{¾þFÜë�×â~Ùt�]Æ£ÁcxtË¥Y aKüÐ(è½$_”¹b.Ê]ëûž‹Yð†æÿ==jÅ‰´öy<wÃÓxù§�ãu›ÆgaîÇ›1w‰Ì8±
-s›X�¹Itbn�Ú0×I=˜«¤� +¤sA—É×ƒÆÈÙ<Jy|žüvë
9CBCO“Ð°Ù ØÅQœ/¼¿h*Xî�Š¼ßJ6ú¼m�?ÁÇúÅ!¬ú2�¹á.M´ùUµõ5}ÛUjvÈÔü�1š5ä­:d”Ör‘ÞržÞrŽÞ:B=Cf<;Åxö9c2|€1q‚ŽbûcÇLÐ¨0”¿Ð•.õ˜V®òøIµÎó;$Èû+ùöy�Ä¸e·´Àk\þ–1–,l”©Ý~ž™1ÂÌ�8Ã,Œf–E±lØ“¬&ìç¬Vì«û'ö ¶Ÿ}aG{|G/çÅŽö�;»ØS»:ØhT;çcÐXßyhÂøþù¨j±Û;ír×ìYíú"e½ûcm˜÷¸:ÆÿŠœ¼f4‰<"H
-æ+#OòRw
p³¢NðLQý¼â¨ã¼Êè^^]tï`t7¿=º“ßÝÁ?s”=¦�ÿl÷áÄ×±-üw¸C|wðw@ãæÀ
xy¢r_7T»Àe2m1ø6})xª÷ôÛ<¯¥Fù�j‰«Ï(™˜“²ÄðbÙ®^‘fw·P�ëfã;„yø£B+¾MXƒoÙãZD­qÍ¢cqE§NÑeB“è1Á.zß ü™X/D‰u¿JòòAž0ƒ9®S©sÁ†¹àE†/x”¹ÜÌ
-vËÜ9DOXqr}c2/¬ïl—)qmR¡E²—xH’KrŠIq9Ù.®#7Š‘ë%�”:ñ¥V<Jµ‰ïS«ÅßQ«Äÿ¦VŠ?@Ð�@iî°wTëåò£Þü-Ó<1z�»û—�«9AnöïðÊÂ/;a ö¤r¶Õ
-#[ÔrœÑíŠtJ½ÜH«“™éµ2£FVÍ¨–51*eG*dý	e²sÌRÙ8Ó"û2É,‘MCÐ„âY 	®^¨ÜÝuJç&2\À_÷¹‚9àægþàRÞ&×³¦ŸÁÜØ%½û(k:ö²‚[Ò±Ž=’Øz�’dSí¡W)3˜È~VRÀ.EÊ9¤žS‚´p‹�cÜä4/¹ÁËC¾æ™‘Ÿ¸fä=×„ œÙ là‰"®®“iÐ9¡w>ÊuwÌnàjþ"p¡pƒËPa¸wÞîE]Ÿ‘þÐ–�€qfñÃë
I15©rbEJ2ÝšœÆ.Vgñ
-Õ¦Ä|•E`VÛ&õAa®ºK¸_}J˜­º"2ªž‰Œê„FõT¢Q�ògƒò€ª.ßëx
-½ó¾úN�+šÎZÁ %Ì«·(za{>qe³‰ñ©=‡VkFUdH	%éJz�.…cJ1r´û“²5…b£¦R’©µKöjÛ%í€4]sIš¦y"MÓ¾§iß%¥k§EéšiáLPpÿ àt¾Ç¹ŒCç¹ZÀë\0T¶ô—…xt•îšßZBøÄQH__—ÇÞV•+ˆ´îã2´\C2×˜–*ÊHÍ’êufyª®T¡ÓÕ)Rt­
-�®_‘¬»¨Pé)ÔºWrµîgi²î½"ž	*n¿è`FþšA1ô
è~gË½À`ÕjÐ[µÅ½½2Ò·¹,ni£•º¶¦˜\–ÏÇ™’bM92ŠqŸŠ£ÏLíÉ0È“õ9J•¾X…èm*¹¾Y%Ó÷ª¤†sJ‰ážR¢ÿ»B¢+—ê§d²ô)éLPpý'ÜÂSè�waðþÅJøß¯v}¶ «v³[«
ëã¨Æù¨$T–11%^x^‘0&;_J2˜VJŽF¨ÌN“ËŒF•Ø˜¯«ÔB£S%0ö(Æ³Hâ¾;
-¾ñ[È¿ä‰™ÿ‘	f�*�ËDìÁÀmÌÞ±0ý«§~)8Ò¸ÉåPÃvï†ºÝ~Õµ¤U¥5Œ�•œÐÜrÁ®L«˜ +–3Tj¾4O'š2¾É¬ä™*žÙ¡àš»eói)Û<.a›_JX¦I	+÷ýG|Ðð5ìáÜÁõr˜¼?T�:èQ‡hv®vg˜§Í½ Ü¿¼¨�hªcm1ÚøØôjQlr¥”"+S²…Ö!Ï²WÌ±˜$lK¹˜eiJbY»„LëiA‚õ6Ÿa™àÓK&´âi­èƒp&“©<ƒ[¼3¸\
3h`Ð�:`s‹°·€ÚÖ­î‡#}KšñKÌ‡(ÙÎŒ¾‰ûGm£ JQ/!ˆ tžMËfÕdðjL¼[—a³s¶NÝ6Ì¤Ûn1h5Jõ&¹jšE®DÙ3y	{ø2€ŒÂ÷;è;@[öv7`ëüTtb\K:·ÏÉëˆñË>¿Òp„¶!¥•µiác“š“vóÊ‰,§†Êpèt‡‰Fs–Q©N;…êì$QœÃDŠó�ìø†@lzCŒoü/9¾ñÃÿñü×-Â¾¨à|ÿ`+ÜtÐænjŽPzÜõº˜ûB<³ûvÎ3Ç-M9FZƒôÐ1IÝìP^Wb$³CCëPã(éxrG.ŽÔaý×uÕÔ•püŠ@¶—äåå½$$$!„ Â’` @@U«mõ´2ãxê¨ÓÚŽSë±Z;£ƒcÕŽÖV­Rµ¢äˆ,î«µ.¬
-"²	þæö?ð�Ï_ï�ï»¿{ß;çÚ�Û¦¥°¥”XS®%¤´Ç;ò{­ÉûÆ“ö½™äÎ3ø/žÁ÷x¸ìg|Žàà{èÜ­.öF_”(Ðç¥!S—•š9‹J¬¢ÅÉò÷O:ýsN¸B²ÜÙî¹ÑiEYR‹Ç¦­°8Üëb’Ý[ÍÉîýQIî“v÷“ÝÝ>íø‹Û±×Q¶£ã“4âoñ>å?áàþ¡B<ÜÞ\ŒÐº2„>ÇwÁ¥U$Z\­™ò—êP¯«£‰¹UV:»2Yáªtú;+2õ)9!Ió�öŠEÆi•Ë
‰•kBl•ßÙªöè­UEº„ª‹	•­ÚøŠç±å£úØò±I®â=¨Ü�P	îÅçàBÛN!´á4B«*Z†ï¢¹×<ÐüZ1z¯Îßcv�‘õN]zm¼8¥Öîc¯u*mµï¨jçúÅ×åªãê–ªbë¿TZêó|-
?*b
-åÑ
geæÆ&™¹¾[YûJY3¢˜è,>ƒexÿ‹p¿¯ý¼ö�xí_U#´ü"B½†Ð¼Æ)(û–7rÝ¥PF³Ú#¥9ˆeo6ñš-ÂØ–iTt‹“6·Î¤£Zß§#ï-G¶-§"ÚÖŠL÷·’áíùÂ°öRAhG�ÀØñ€ÒÖ'iNT~¡“¸÷wãµoÆkÿúÞƒË}\‹Ðüëýé6BÓ[<Pj'1ÅÞ)�šðTÅŠyªãF>3òÃŸE	�]	dH—ƒîv‘úçs„�=¹]Ï'ü€kmïžo>Wó²„ã÷ò*GÝ×ÎV÷=š¤ï!îïÅýïªúæB+® ´¸¡o ”s÷[Jê@ÈÚï5Å2Ä÷ŒzÅx‡+8†a
W?¬'FÂÍH4_=j#|_§ò×3yÒ±y\f|1‡ÿ’#~³‘M½ÙÅÁoÎ`U“Çý|ÜßŽg¿Ïþ<û%
¸ÿî7áþ=Ü€Pì„¢†�G8LõŽw �,`Øj�s|Á�+ƒ@.¡\
-¢¹Häp!�í
9ì©�ËBð©7‚µ^¾Åvy"Ø3ÉÏ¸ÿîçáþª|Zp¡ÙÍ¸!ûïY:
-ïASBF‘‡�§�—¦zË�Å’ÁÅ&AÊæ�’Í-îØÌ¸�ˆMÇýwqûÏØßqs¶z‰�ÆwLÑ 4Ñ@Z±1ß� —þ2+ù øšaÈ­\íÀ~âu;Ìñq.Ð¥ +9o˜+œqæ&gTÒÁfºØCÌ »ŸcõÑÀyI÷m@ŠAªƒÌ_
’0,ž‰“&¿ÛG" —� ^!f
˜
H6 ÝN¼‘îâ�Ëöcyc>Gy¯}Šy£ò3Üùeî°âwPqŸÓ¯xÆéUpzäcÜçràuË�Àø�÷j1øª0ÔFT”)øÎ¤Áw>~þ±Ÿ‘ãŠÕÂ1ßF•›ø#Êÿñ‡U?ò_©öò‡ÔÄ�ú1èw‚ð;Môk.ðúü¯ó^hZyÝþO¹Ï4ýÜNÍñD‚Ç>Ò9ÈýÄ VP ñ¡@‡ß%(˜½Y:»2% }�y­](Ñ~B
iW’ƒëÈþ€<aŸn‹ð¥î{aoànÁ‹À|A�þ°à¹¾HÐTÆï
-:Ï\Ot·ƒ;‰Áý‚ö 1²-¨{A n}¨p?@"=#‚0_Dà½1E0f•ŽÓ¥Ã†ÙÒ~Ã¦×°„î1¬ º�_Q]Æõ¢§¡›D�¡ÛDOBw’�Ãö‘�Â’Ã�	˜N	;Lg…í¦:A[D³ %¢SØd n›Æé›&�Ü)&›´R
-Bh"h!Ä*¯%!Î(³ÄJÍÙ‹È™²®Èy²'‘‹$�¢–3¿G­¢;Ìëèûæ<q[ôVñ½èTKÌª9¦€ºs”jŠ)¡îXª¨[–Zê¦å®øzl']o�ÖXÆ}®Y@q5|¯Ä€r"þ£/@E@²RüˆqG°pÀ%î¶&JÇM÷éˆ�#o‹Ëõi‰_*kJø§ôNÂé­„õÒß¬›¤7¬Û¤¿ZwÊ­ûd
¶Ã²:›[Vk;-»f»äs5ñ¦Ï¥Ä‡òó‰}Ê³¶1u•
ü*m ©°�ÿD.‚…K€ƒäÀt	2•œW.¯;#Lø0%Ž¾—”*k²g+nÚç+µ/R6$}ªªKZ©ªIZ«ºš¼Au%y³êRòvÕÅäÝªóŽªsŽBuµ£D]å8«®p4ú•§´û•¥ôhK£ºbžt€þÄ[ÀLðñ¯÷ù,È¦½ÆgË½zs4Þ�fsZ³Ì‚[3’˜Æt—²Æ9ÇÿrÚí…´¿œs~Pí\¥«t®ÓU8ótåÎ-ºÓé;teé{t§ÒéJÒÝ�ÅégOdÔº3ZôÇ2º‚3†
¿¤ƒñ0v(B'‚8R½Y0‹ç	sI�W0O?ðõh›«õ¼='‚SŸ“(¾<+]y.+; Â5/è´kaHÙŒe†R×?Å®Õ†“®Ü®�†"×wÆc™;�G3ó�G2�¿dž
-=”y)ô`æí°Y�áû³M{³ bo&DîyØ¼¸0ÃËæ°ÿOv™F5u¦qü	›¸´".ÅµŠ*–@ �@€„„�›äfƒ˜@ „„% vv�= ²ADAP©c-[ëŒGåŒ§uÚÓÎ±=3�±�î£¶zçõ[l?ü>?çù?ÿûžû³{¡XOúNµ«¶ÀGÊ=pWyÌiEâò®,jçuœw`Z ñºŒ)½'ùZŸq¾ÁwŒoô=Ï¯ ŸÃjÉ#X3yë$aäAlÔÏ*¸â×/¸åß'¸çß#ø" û!ðö‚Ò…¿ƒ`Ø;˜½‘àHú>É	«�à‘Úî§î€Û/‡[)Ao\OŠt»’ÈÙ?!z]�$øŽàê€a\x?A±âÅ”~ÜÔ‡×õàmA§ñž n|8¸ŸîÄoP;ð©íøç!­øw!-¢_CšEÄï ¢À‰ÀIvÏ”vð8ù–ÖVµŽpG·
3<ìßÑ®¿šFß:¡fïUažC
-)y AIé•i¨§¥Y¡§¤ù¡�ÒRšEZMk—6ÑÚ¤]a-ÒÁ°féxøIé\x£ävx½äz�äz­ä9‚ ×Hˆp[8R }›„œS‹þó3Hp7ÓÞÏÞ7s‘f~Î—2Ã\Ï§ÇìÒð<úÕ¸o·21È¢HmOLoI00šå…Œ“rSDƒ¼>¢^ÞY+ï‹¬‘�2«äÓÌJùr”IþqT…ü	â³\N¼"Ò‚è_¢>BÞyùÆŸrI°pÂæó÷“®äû®Ï
u9›µc ƒ{°[+ôîH‘QZ’•´Fe*£îx³Fq"ºJQS©¨Ž1)šYŠnV™â,»T1Å.V¼[¤ø[l¡â+¶Qñ?ÁBÄØBðÁþ—ãŸ¥!çÌøyßJr¾‚
p­hLy;ŽCÞÌ‹tëÉá¸[2±#-é’€M"­Z�aNÒF—«²Ù¥*#§Xeâ©¸FUg\¾j0.O5ÁËUý‘gPÞ�7¨þÉ3¨~âTç·B°ûñÕ�óÝÏE çY@î7_¼¦J÷ÀXÙQ‡á’à
ýE[»òÙ{[sã=³q¿j½<¤B«Œ(Ñ¤²Œ)znžúD|®º”oP×`Ùê6A¦º_ W�	ÒÕómò_„iê/Zõ�|­úe¼VMðl!Ä@ú�u1ùV>Ê eP†¼·Ì	&L;aÔìe?XAYwºŒ¾¹£˜µ»ÉÈ;\›'ô5åH©%™
-F¾>™•£Õò2Ó²:M¡H«1ãM“8EÓ#VkFÅIšY±Jóg±Ró\¥ù^¨Ò¼$iÌB¤Ç€‡9wÐþ‹È»æMÈwÌvp¡Ê
†«=ìúªœ»Ìa›Z*¢wÔ—rTaÇÊ
-Ä”‚	tƒAÉÒe¥Æ§fèEÉú<‰RW.;®k�%êOIô#R¹~Z*Ó ‘ê>Ëtßâ2Ý/"™ŽÚòRð¹àêÁíRä|fäÈ?'jFê¶€µá ©»žìÔ^úæÉj¦[µ™ã^QÁ÷*,År‹e4½Q�š—§ÌÕŠ©ÔP,“jebƒEŠ†$"Ã±Ð°">Å†ÿŠÙÏEÂlBhËÏ*Ôt‡¿,£ýo ÙW�o Oº@O³;Xš}šOR7Ô6Dl5Õ±÷×ð<òª„¾™&	USž©*QqäE/ÌÂ…ÆB‰ÀX-Æ
-;p~áQ|á” ¾pã~Â�3~ƒÅ<Ãâò‰×øêÕ7‰ºxe°€öŸkDÎÕ0ÜÐÛ¶:;ö@KÇûúvÊÚÊVºkiKÌÎ‚&î�ìFì˜¶^LI®‘‡'T)£qs*3eòãMFŒgªâÇ™ÚããLƒq\óe.×¼Äá˜þ[ñ5‡]þŒË*#^ãq:À*ú>@7¸‰v¿†üs¼ ß‚œ£Ëš»Ý þ´©ªÛMÙ)ÚFc'ÓÍ`‰Ý§k�÷T·ŠÈ‰ÍRª¸IÁÀS¢y
lnƒ‘Íi¨bqÛbb£Ø�—™ìÆÅHVã£ˆ˜ú¯#£ëžFEÕ¯ñ)zî¢ëPÑîS�£ÈAO÷4÷!ïp…Jë~(³ú8¨ësú[t½¬])=qÝ‚£’SâAWbH\§:<Ö¢g°-–¥’Î²´…ÅtZiÑ�—B¢-‹Ô(Ë£`fÇjDÛÓÐˆÖ—4[¢÷èv%ê"ÊÍŸèEÞeE¢ùÈE+FÖBñ¹]�?êig8à¬¡mTŸ�|K1Ì~[2Ä;Œ�ãÊüØÖ¤Àh«ŽeÍ§0­æ@¦µ% Ò:ài�$GXßóaX?öfô?ñ	ï}Jë}éoË=ô,¡Ì£ì§ÐÞçÏ ;Œ´ŽTŽ!÷œ0Ln†ŒKû!í’·cò$e}âD˜«x‚¹�1v/g<þPÌ˜Ø“9¦81–v”1–{„>^î>Þä>Þë6~ñ0müÝC¡c„^ø÷AêèÏ‡ƒG_üÁ–Ûè;¸ÙŽz€öŸ@{ŸGî7Ð8	P6�=
 ™]IsÛA1wØN6ç³F8ôo6l3{–¹�9»›>ƒí
›‘»‡Î¨ÝCf²öQgKöRgëßžíÞ4{aWÐì��”ÙÕ�×þµ#`ú§]þWÝmËêÀutû)4ÿü€>4»Í®B³ftï(n!ÿ\\ØÒNà-²c/y¯‰Z
-Ü@_¢¹„.1·/q·Q–DÛ—�oXNßæ¿\°Õo¥j³ßŠÅ•¼2²ÉweÎÅgåîFïå/7[üaÓÑ…ç®¶Ü@ý›¸ˆr?sõÍ®C³‹ç²n$/ˆßàÞ!Aä½µ@ðÐ¸Û?ðrXõs&¯R×ù¬þŸëúj2Ïã8þãiéÉS(!@�:H0ÞAÄ°%ûÚVÏ[×óô\ïÜ=]*Ä‚(¨¨Ø°³VÖŠum 6ÄEA¥	”ýÞoææf�?^ä�Ì{>Ïó›gæ/z8Lð0MP9Qà_9“ïWõÏð(“ë[½�«¯.åø<¾ÆxW×2^U8ÚÊno'pÿîïÄÛ·Çï ¿ƒ³ÍÆÛ§\FhTB#n#4ø>B1Õ
-«å¢�ÿÈëÔ¤_�7­¯`|êÃ9^¯Œ\ík3Gó:™ãÞ0žqkøžQ¿Y@»¾]M©ÞPÎ�GH§¦
-Ò±é9©lj$z+Åý=¸Ÿ‡·¯ÅÏ}Ñy„æ\Ägos¡¤»%<D(ö1Ba5¼%�¡•ï k“‘ÚvÊ£]C«?ê—�AŒSG£èø3#ëFK:Ó)A×wÿÓ<’gÏ ¹ö\‚c/!˜î3L÷õ¯ìÃýÜ_Ÿ¼ýxût¼},ÞnÅÛáþ3„Bk2Ô#äÝŒ�g7rp†T�ˆt¥gZ
-´t4‚h¢(L‚$ÁxÁ,l‘‚uX>Vü•BÜßˆûËËšŸÁøâíÖJÜŠŸÿÜ¯CÈ·!M#Bê�ÈÁ¹
-@„)šŸâK‘ Ä]5æ�á~4–€û6l
-îÍÁb_®·Z)ð=¥@y³@±@ÅH€0‹À!Uh"Ð÷<@?r-ä€CÄˆ
4�¹PØ.èòº”ì¡O_èrâ3s‹°3Oˆ.æ5ñ‘i%Ú˜n‡VüÏÈæÿ¡þ„¸ÏzHAì.ž'‚lüÁbà&‹€3^œ|àÌå÷gp—1ÀËdzøëé/ü-ôgA>Õ-(¢ìÂ½ä'á!²Kt‚ì] ;D7ÈvQ5Ù*ª'>ˆ[ˆw";Ù$ªQt_ Å}¹«d*ä,(øw²8	ô!é!°Ó=’Ù¼ÏÒqíÒÅœOýVrºdë˜NÙ&ºC¾•n—ï ÛÅT«âÕ¢8F5+ÏQ”Ô{e%Ù¨¬#”Íä+G;]ïL�#p^:·7Pà¾“#ÎJ	¨Õ,¸ëXp•‚«‘—¡’/Î#EvçÉÂNçøíÎ?òÚ\r[TË¹ÍªÕœ÷®ÙÌ;×¦I]À4ªw1oÝJè7nGé·3ô+÷«t½ûCê¥{UãÞÌ<ó°sŸx¯ÚøU è
\pßM.™t*1øj% ÇgÂ;ZÚ­Â~ôL‘´xN½÷œ!lôœÃ£ý‰×àµ„÷Êk%·Þ;‹[ç½‰óÒ'�SëSÄy¡ÛË©Ñ•2Ït§™§ú+ÌýC¦J_Çy oáÝõíÜñÑm=ˆoêAÒ¸ã¾—XV!NBÓˆ Ä ùÎ¶úÇI›ÃÙÃhI�ßTQ­ÿ,a�ÿ|Á³€Eü§�üÇ�kxÕ�xU�¹¼Ê í¼AÅüûÁùwƒOñ¾È¿|—3¤Vp-äƒøJˆ�½Ò‹Á +ï¼$bðã	 \ÌƒbÕ<{Œ� 92Xü¦,û2Ô,}šÊ>ûV\Ùÿ¯âásÅ÷Âˆ�X,¾±B|+b­äFäFÉõÈ<ÉµÈ"ÉÕÈ}’ËQG%—¢Î±¿EÝd/D=cÏF5ÉNGu)Ê¢@y2œNô>ÞŽ?-F¦~ô	Ît›IÃiø“�_.ªŽŽgïÇ$õ»3Fv#vª¼"öù•ØyòK–_¸D^>p•â‚1KqÎ¸YqÖ¸MqÚ¸[ñ«ñ�â”±LyÒxUy|P•òè §ÃÆ—ƒFp=`õþ> ˜áCÉ�ÃÄD—EN4U‘/†xQU	!¼;&#[÷�òR\ªsyÜ—sqÓ]ÎÄýMõkü|Õ©ø«NÆ/S�ÏT‹ÏV1åªJM;T‡Lû\šŽ»î7ý¦.1ÝSï\ï¶ÛÔæ±ÓÔ£)2�g¡	´½A8Á…8÷¢ÛÊC-É"T—$CÕ#ÜÐ�¤@æêðhÉ…¡ƒO'Žp=iå~Ì<Éãˆy†æ°ùïšƒæj˜iJÌË5ûÌk4{7z'æ{îJÜí¹3ñ°¶0ñ¬vGâ-¯‚o^xå'6ûlMü¬ËM]Žô½A4â€‘=V½K%ÐóT=¶qÑÝ‘.èZº�:Ÿ),K‰SMª>8Ü¦-±ŒóÞk™êSl™©Ûe™«+²,ÐZ~Ñm·¬ÐX²ôù–}ž¥Ð7×²ß7ÇRæ»ÙRaØdyê·ÁòÞ?Ûb÷_o�€¬a_#¢arhKE¨fB�Æ: {cit}œ•OÐeãúó�Œ$Û?ÒìZlKò*JN×oOþÖo›uºžuVÀVë¼€ëÏ[¬K7Y37Z7f[·­·î
Zg=¼Öz9xuRuHfRcÈÊ¤O¡+“ tE�(°"ô*¡'ð½w¾kL"Ð¥ÉýÐ™©^Ç¦„rL(-?ØeÇh‹6?=Õ�“66psêäà
¶¡Ù¶Ù¡Y¶ùakm‹ÂÖØ2Â2mYýWÙrû¯°í
-Ï°•†/O)�Xšò bIJCäâ”ÎÈ_R ¢/‚H»
ß÷Æ"T‰ï;·§!t;?MŒNÎÐ C	böL‹N‰wÊ›8T³y\²oö˜ô u£&„­Nÿ.bÕÈ™‘+ÒæFe¤-ˆZ–¶dÀÒ´Õÿ—ê2
kòÌÂðùADA-‹X@AY$��}A@"�@$,Ö°„Mˆ ,BT¤j\¨ÁÑ±j S;L]P¬Îxµ—ª£ÓÖÑB/Û™*š9ý3Ü¿ïë}Îy¿ï}Ä{£šÅ‡(�âQJƒØ­OÇÔ‰ŸÆÔŠ_E×Šß!fŠ%f�f6cßËÆ
-®*±o©ð�­²…±b8Q8ïˆ*Òn°0Þ¹?ŸëÑ+OôÝ%K
êÈÌmË�G¶¤Pš%%1M’êØIc¬F²ƒZ'é¥ÖHiÛ$'hU’q’©8µä1ò3M-yK-—˜ßÃ,âîÁ7˜ÁMôObç/Å®Qj
£å®p¬|-ùã²p[}1mé%Ûmw�Ð§#7%°5;-´I–UŸ™[+UÒ¶IÕñUÒ:z¥´•¡–êeÒ}	%Òá„bé¹•ô
-S™ñ�©”Î0”Ò7t¥ÔoÉï»ð$à.fpý—Õ˜AÀ˜z¯\GªÖ�T†.Ø«¦.é.e®ØYÄ÷Ò&­mÊo¨ËÍˆª–gSÕ[ôRY	³XVÍRÉšÙJY'§PÖÏQÈœ<ÙN®l’›“u�“#û‰�#{ÍÌ•™,™û}¶`çÄ®”|†½ë�Ø?G‘£5Î0T»š¨	±ê­Ž±ïª`¸´•ó<›Ký4ªMÁU…’¨2EM•—›P˜£ääç¨y¹òz¾\Þ.È–ïÈä‡YòÓ©ü² Cþ
_*Á“ÊãdÊÍlK^‰îã¦‹q•—jð­_p¼;ŸÆö7xA_ýúùº:Š]G
Ý©¥šã^_!\½­<9¨¼ds„J%¥æoÍfÊ
-xYŠR¡TQ#JW´Š$ŠnQšâ h³bT˜ªøL¸)ÿ® 5ÿ9?5ÿ?<q¾™kÉ�¸ßâ¦0ƒËèÿ»ßéFÌ `°Éú·{BÏö@rgS¤­¶!Î±QÃr­©x©·%U¦†*Ôé1Ù¥2†´8�›VT$LUU%nRmOLQí%«“ŠN
-6Mð‹þÊKTýÈKTþ››¨4¿ÇÓ,¼“x®â&Ð®;_+ö�€­
ô¶¹AW›?©M¶ ¹•º¸n;syeÏ³¤!Ñ¯P³)X^›%­ÎŒÛ\™ÃN©Pò6ª+‰ê&¾¨bOX±Ÿ+¬8ÁT˜ØüŠ;,¾ú¯üW¯ÌÌ¶äQÞI¼“˜ý%ôŸiÙ�}ÙÓ1º:] ½k5±½3ÄJ³3Ú®jÝ©´�ã¾U+ôÉmI^—Õ,KkÌˆI®Ï¦'j
-™�šÅ×42ùš®žfƒ«9ÏÕ˜â8šÛ4vÝ÷q¬Ú_â™5fº%÷
-ñ»„{ð9æýŸtbçÚÐ‡ìÒá›¿Ûš{>MO¹º;Ò¶Lç ÜÍZ‘×Å_%ëÜè'éH
NiO�µm‰ák¨\­šÆÑ6P9ÚÎXv›>šÕvœÂj»ÅÔÞŽHhý>’Ñò…ÞlŽ¶ä.ÞÇ+˜Á8æý'{†�Þ=èïhì·…Ú7¨ð'•õ‡Y+÷Æ.Êëc8Ë>âºIöˆ¼7õ¤¬u§ót²0¶® œ¥+gêêÃt;Ctú
ÝH0Cwq=]÷UPüîÑº^S;ßm°äfðÎàÂN#º�íØ×�½oý°÷’ |ÈŠ‡¼¡phý¼Ü¡HÛ¬ƒ´%iƒL—”|Ñþ�ÞÜ}b?–>+ A¯¤ëËãõõñúÿ8ý€M?ìKÓ_XMÕßò‰íæ³÷•/¥ï�Ÿ%×4¸‹8ûsè?…ÞÃûqƒCšÃ%G±û
/„Ü7Ø2âGÊ	±Sì’ŽÅ9
-Ž±–³�
-Ü†Ï8CºÕ�ãk(öŠ1Ô®Š1´{Fí[I1u§Î»En¸Fù‡kÄ¡ŸÝÃ‡Þ®´ä-f€s7¢½ƒèí6´ÃŽc÷;�u Íè©cž�<¶–,Û`Í£Ø%ãâŒlç£È…b¯ˆ4ÊVD·.�0V¹„[–…{�C�‡—n0žu1^s9ýØ!xtfiÐ©7N–Œãî�ÅìO}Œ»ˆgîGoçIœÃ'åcy@ÿyáE2pLNÀ2­†ÉŸL3…XE›(6¦x»PÇ>Ä”´8x<}ñúñ<û ñ²EA
vë&v-œ´
˜0ÚøOLÚø�?X°æÒKß‹¿-ô½øúœGÿiôÀ3wã™[ÎT�ÅÐ�y y€u úK2„]³‡Ðë®|Ý‡ºH˜
-Ÿï?E�ï7Å¶ò½‘dµúFÆ|Ÿ›ó½oVÎóšn%8ÝGöœ!yLO�Üo}Mr»ùœä:õ+Ù’3è?9‚ß¤Q€�ðÜíè®ý ÝÙèNE7ï/´ka7î�ÀûkkXuo	¬¼ç
-÷¼	·ûë×û‘ÄèÄŠ‡BÂå¡„Xö�‚pzTKµƒÃc=Ø?»'“`ûä>Ø<š›ïþÏ(ú
˜ûf¾Ï]�îÒq€œÏ6O®Äß¿
xÀçï>xnË_,†e/\ˆ¥/V/|	û—ë‰…/£	›ŸX„ÕL
-�gå@Ìâ�x/þ,^¸ôÌ%äÎ{cöûñì»ñìM&õŸpþ A·Ýô¯"þ°î[ô?@ÿc—§N³¯I°hÎ†°�s ¬ç\òÜJÞ®AB*À[’�Ìáè
.ÿ¼t¯O½ÇÁs=pðì•˜»âK€ô)ºéèŽ@w º½ÑíöÀùû,ü`Á;À1$3‰³5²Y†x ~H>XÁœ‚ü—íz‹9mã~ÿæô›sÍTšjt>L¥ÃTª‘f¨‰æ5™†Ñ¨It ”œW%éDJEBTë´z7±ôÖ"Ëb³Žk²/"d‘´xöÙ÷º\Û^×ûÇg~ÿÍ÷~îß3ó<7>œ¾˜ üg„JÿQùˆjÏGðG/.Á&‚)$#Ž™GC°„Š ›‚ +$l">ÃVâl'þ€]0
0à=…wÐoá,üÝðB?¼Àá xù †½	"GòMüW¸O\C�’… ×0“� ×‘‰ëXEýë(¡€2%Ä('¡šxµÄ;Ø‹s÷ãÜ#8·çuâï¿ŠÓïCþ|†«ëÅyO±'"†C±	âˆøˆiÉCl[LÂE¬"Ç±=Š‰h3ÈÏÔ9ô?(é´ÔÔ÷´5ÔwŒõ”7dåw²ŒxMVýd
ñŠQG¼dìƒŒCÐÇøž1þ½ŒËð„¼¿‘}ÐÃzØˆ¸ÏA”_yˆrwdjÉGsâ›ñ�…
�pá"s_.†r>›ªXøÓÈÞ,Æ^½Ÿ·„ö’ŸEí3Í¥<l¤ô
-J)OÄÁ6â±`ñ_AñHø5Ñ#l�‡Âvx üî™ý
-wÌŸ·,(×-õšÑº-í'KDÿY˜ó‘¥	Y›r��Ù;âç(ÎGq0gÀ:‚ÝoÃìÅ1zE)ô'V‹h¿Y­¤öXçPÚäSîÛSîÙl¡ÜWQ~×wÄõÄmñâæÈãÄõ‘gˆŸm/Ý¶w‰+vÏ¨è£Ë‘çíóÜ0ÈšÏCb&9sYÈÝ‚…<lYŸ$öNŸ“‚ýØQÍìqÔ“÷gÓï:- Ýv^J»éœM½î’KýÙe#µÛµ”ú“kíŠÛvÚe·:Ú%Ií¢äí‚ä$­Ëý<íœûMz§ÇF»Ç[æi�ÏìSîˆsksGÜ/�çS™È‡M"X1ÞJÉgÞ^¬Oë®Çæ-Ï)ä5¯xòªw*ù£wyÑgyÁg5Ùå›Ç<ç[È<ë»™Ù)­dvHk™íÒzæéAæw~ÿfžòëdµùu³Zý±[ü^s¿ñûÈ?*E&G¤Èt8äBc!
-“44–Gý0ÖœÒ7FL}8Ú•~ÛßŸìÏº4:ŠÓ¨çž
Läv¥qÛƒ2¹§ƒWòNçðN¯ç�.âµoá}+«æµÈvóŽËšøÇdÇøGe§ù‡e—ù_Ë˜�½ì—
™í“!ó²y‰‚ðÜ« Q†ÂIxÆ…G
-s¸jG\‘{3ºBÇr:B#MN‡jm¡3…­ò$a‹|�ð¸|‰ð˜ü+áùZáaùá!E‰ÙAE…ÙE�Ù~E½Y“â�y£¢Í¼AqÁ|ï¸_,êÆõYîTŠjÈj‡Y‡|��ä@Šx6Ï¨p;œ	W'XÃùHÚ™‰Aœa‚ãÊ(‹£áÓ,…EÃSDÍÊtQ“r©hŸ2KÔ \'ªWˆö(7YÕ)«¬vEì¶ÚÑl½#¢Åº&â{›m7lª”½âJå€m…Ù–+‘]yøßþ×ƒp ^¨pþd<óEã{v
º&�€31n”VMëh”\ppR¤e“*Æ¦A+Þ«JY§šk»K•a[«Zn»C•m»]•g»MUdW­*·«Tí°Ûªj´/Wµß¢jwØ¬êv(U=v,‰|ëTùÙ©(9‡Æâàõ÷àü[:<oMÇ³†Ž€�Nè�ˆcÓ}ÉSCLc”–uš(qíd�}MTœcuÔ§*ušÓVu¦s…z¥óõç2õçMêM.¥êj—bõ×"õ!×�êSnêËnùêG’õê7’<õ'I®Ir'ý
�¢îž;¯á#î<ótÎ8eàÁñ8{8çMo4Èx»õa5:•¸jJŒcyŒÞ¥,Æè¶):YR½À½X³Ä½P³Êc£&×cƒ¦È#?ºÂ3/z—g®¦yÔZM«WŽæ¯ÕšÞÙš×ØG¯,
ú¤â1îÁ<ó]N8‡gžÓ‰xîM`ÁáD14%zRëf²kâf•†‰6eúÉŽ%Ó¦ºN5xLI•?e®Wž6Ã;W»Üg­v�OŽvƒïjm™o¶¶FºJ»OºRÛâ·B{Þo™ö®ÿ2í+¿¥Ú!I‡Cø=<ÂGë
¼þ‹øxíHhÃŽ%Ñ¡9Ù
-êS$”ÚäfÕìPÓ²„«â¸Iö±Z·<½~Ôºéñ>k¦Í‘fëÒüWéû¥[°B—;z¹®dôR]uàb]}à"Ý± ]gÐBÝíà…ºøù!p��nð_ðèÆkïJÅ=HÃ=ÀÍ¥@ã¼°;Í•Ø6Ï�,O
á—&…�(HTÙæ5®kât£²±Ò•3–éS—èÓƒ3õËeúYº¾pÌýÖ1iúº�¹úÃ!©úö±ÉúØó�dýà˜d=’aÁ_ôGá½€÷Á•$€ïqöI<w}ƒ5ã«Ïž…f°#Ý	*Ó}è›È¸…óÆ›¯O™(Î™å¼*Që¹Ì8]š7:}ælÙ|CZÈ<ÃâÐTC–<Ù�/O2”)fv*f*ß�‹�½6Îhx*7B�±h,òE/þ-Þ1\Â=èÀÙ­™øž�5fìÌ4…êÅö°e±­xQ;?]!\;?Â:kÞ$‡å)Ñî‹’t¾ócSg%„$Sä‰Æôñ	ÆañÆÜ°8ci˜ÁXkl›ß6=þ*öd¼>þO®Ë;*ª3�Ã¿™¡mè (‚
-R¤ˆ‘3R¤‰õ
-¨ ÒT$TÁÂX@AA� ÃLŒôÄÕÝXXk\Öh‹ˆÆ¬«bI,Ñ»¿ýŽgÿxÎÌ½çÜïyß÷ûîw¿÷�ÿ¼ÄO~ó…ñ}èá<\^	œ£»c-{
ÒÌc×žµZ¨Í3Ç¶¼ÉâM¹îÒõ«}u‹r¦ùY3-VeDÙd,�sZ–6Ï=yi¢wbjjÀÂ”•òù)¹Š¹)¥ÁsR¶(f§4(âRZ±)§ä1)7ä1ÉƒA1É¯c“?Ä&þÃð}¸½”ïkp†îãì·È—ùÀ®uRl/4CU¡­¨b�«ZI�·NA^�ÑšÜÐ±™«#­ÒrbR2ç¸&¬\è5oùbÿøôtylÚ*ELZQptÚfETúnù¬ôÃA‘é��é×"Ò"–½"ý#–
-#ô%p-,çžÀ#øiº�ñ¬OØ‡ÖKPUb‚ÊR+”–LQ),ž®™[`�U8côò‚ðñ©yÑv‰¹³§Ì_=Úìœ$ßèìe‘Ù9AY_†go
-ËÞå–ý•ßÌìßÐì«>¡Y>!™/}B2þô
ÉF¸Ïýà*kp.�óÀãw;�½Måìwø«\TVè£´Ò…•Ž’µÒìõ~º+Ê&KJÃÌ“ŠgYÏ/Šs˜]8Ï5ª Ñ3"©wX~–Oh~!Ùè’_7}FÁ!Ïù'=‚ó¯¸+ò¸Ë×¾œ”ûÁ3h�0B×bçþó>FgËö|d©ÜÄ¾³Jë”c�«´e+]ÕVTyk/Ùd°hcˆÙ‚
ãã+bl¢×Ïq
-/O˜Z¶ÄmFY¦{pÙ:7EÙWEY­‹¼ìàyÙ	ç ²+N�¥ýŽ%CÎþE\üŠ„nfò}àœbîßÒy°Š}¯’=×úyüÏ¯–`U�12wXaùgÉ’OiRµ¿î‚íÁÆñÛÂÆFm�š¾%Þ&D¹p²B™ê Wf:)••öÊ�vÊƒ6þUÇ'ùU]¶ö«ê·òÙ4dã½ñ½­×†OvÃ\a
Î–'èo£s?[¡�Õì;k€‚:ö}»�ôz,i‡ä=ö¢„WÕyõÞZqõ�z³v‡˜„íŠ3£.Î2¨nÁ„€Úä‰~µ+IþßºŠñ>u;,½kŒó®=fîUÛ5ÖkgßÏ/Ì§U¿·ð¨þd9ÌÎÁiÖý(Ý‡wò}¬å<Ð]^¬ÝKÿ~`Q“
-6c^óDÄ7;Š£›ÝÕ#øh…�ëÉ›fû7F�òiœkæÕ˜d6½q¹™gcîhÏÆòQÓ«M<�Ý�¹5^4tÛßkàºï¹ÑÔ½ïŒ]ö|4æ,ÛÑ“Ì¿�-ézëö›÷ÅMÀªföž‡Ù{¶Ñ­ˆl�°vk„´;Iämjþm¾šÞm
-ÏÖp]�Ö8}·Ö…ú®mKõ¦¶åèº´Ë¦´mÑqnÛ§íÜvDË±õoš­÷4'·<Õ²ÿúmûÃt†9½•5 ¿…­è¾F úPqˆó@oF+kpˆ;
-„üOjÁ§c4¼:¬0­ÃQìÖá¦âÒá£æÜ¡�:vDH:ã¥“;Ií;W¨Ûuæ«ÙvnT›Ô¹KÕº³Eebç_T&tvKÆŸ|¢byâ�ªåñwjÃ§¿�õ>Dïnæ¬¤·„ÞÕô.=Æœ";�Àï�³€ãj°?oÛã0é‚
¬.LM¼è)1Ply1\<îÒ‘ù¥Å¢±—²Df]ÅÝµ
¦]M0î:Ã®ë0¼8Ã¯`pþ­h˜oéo¡ûË6îIß°ßqÐ›Þ$œbÎÁç¯çK€ÍU`Ü�b˜ÞR‡á=èß½;V�u;A»{:´ºƒ¡Ù�ž$¨÷dBµ§*=5÷0ÉžSÀ?äïòÛ­ô7µs0ï�t¯cÎ+éN¢;î¯œƒó€OàB·-·¼
Œêôï½"¨H!y`Qÿ ßš¸ð@â<ŒùAä‡è7ÞG\ô�8Ñ�YÜÇôñõ±îõ¼­<	Ñ�Ew2Ýñ€™|¯SoÒO·å]ú¦¿Ðì$ü‡¼Ï5�g†ÄœØwÞçaýåàE¯¹	½ææó¦�0ñ7í#ìåZÛÆÜË8ß«XóT†8—y‡ÓíG·k7`÷`Ñ˜Ò«G¯ô1 ~B7K‰WäyOÞ‰ˆ1"¼çüÉš|âaQXLøaJ	7@¡fÚÌÉX-þ×0Y*ÀSM@°Š€X‰€±€e"9¤QJÝ¼ÅüŽ¼Á.†±/Ñ„!Æ´“ãxŽ3x†Ë,Ó]ò˜á)Ÿ|Jã¿ÉoŸA7ý£ÿcÇlƒ»º€ UQŒacX"úˆLÑ{äÑ]Lo½Uu;]µ¿�cï'‡8~+ÇýOð=~EíÝx„‡äñŽ¼ðà3•QÚ‚Äˆ11†±ŒÁš1LeþŒ!œµ˜+~�Å¢?°Bôk˜o!½åôn¤o+];èÙMÇ>ŽßÌñ[0€£û4þ…‹ä6úxõŸêe÷è¼ûôKõ´5}MAËLCÐž ¤Nê‚ª·ÚIˆÊï¢8ñ�$QôL’&z*ÉÁI>~•”`PR‰IúÅÛÑ'®Ã/â=è7ágñ×¸/ù?INá®ä<zTn¡[õn«á¦æŸ¸ÁL¯k¢kŸ!ÈdZ‚Ž†¦` ­!˜šHS©`l§þVßCmH&Wyª%y,[ z(KõË2Ð'ËE¯ìÜ—•ãžlîêlE�lºeõ¸£»·õ¾Â?ôŽà¦~'nœÇuƒ[¸b4€Kÿ¥ºL£š:Ó8þ&� D0,a—%‹aI0!AI� �À…È
�K"Â»	û¢¢(*RD´¸ ¢(R”ºàrÄ±Zëç´V[ÏÔN;s¬c{ì¸�wÞ~À:~çùø¿ÏûÞû>×„knïWÝpâ<ä²Ž,‚»@}¢îmOÆý¨$ÜÏƒôÊ'�ôœfû·µ6OÜ‰�Ü”„¯Ýµ„îEà¾‡	Ü£×�»žVpÇ³ÜöÚþâÕ¼w�›ÞûÀ
ï1pÝçáªÏÂ¼ï%Âeß;„‹~ß.øÿ‚Ìú¿±™ñÇmÏA¦ýpÒ"¸;Ñ÷$œakƒ³)È[–ò<Øyº’ióÈ—�<ð“ï­L%Þ	Ôoéˆ7ƒ�Èõ`3r�Ñ€Ì3š‘ËÌNäs+r‘Ù‡Ì1w#X#È,kùŒu
-9Çº`3Í^°9Ã~hsŠý/ÒIöÈÇÙ¸Ý·?öPŸŒ3�
F$¾å‘¿†SÀS�ð�éGøŠ†ÜæDÛÞI$Í‡)I—Â´¤¹ðBÒùð2Òlx5i†ÛHžæ¶�Ïr»Èg¸ÛÈ§¹äS¼!òIÞùï8y‚7cwŒwÝî(ï�Ý8ï§%‡x/)c<Üñd”‡/]¶x8 ¾À_N$�WÁÃP{p/‚øld^ $Ï	âì?¤,™ŽÌt˜ŠÌs8%,r8)¬p8!¬q˜nr8&lu8"ì¦öRÆEƒ”C¢ÊAÑÊÑÇQÑÇÑWK‡EO—
‰~sÚ#zOÝ#Ä—ïþ|@ð?ô×À¼%�OH÷ÖØ‚…h¸Dœ•DØ�‹)“Ñ‰K'¢ÓœŽŠ³œ‹uNŸŠKœŠMÔ1q-uTl¥î·S?o¥Kú©C’¡å{%‡–ï‘L.”|î¼KrÇy@üÄ¥Oü‚¶CüŽÖ+Æ]·Gÿ	ÎÄ—PÿI,ÔOàÌŸñpeýr0›àO˜J#��¢Ž‹£”¢.£Òô#ÒœÃR=mHj¤í•VÑvKëiƒÒ&ÚNi§ë€t»k¿tÐu‡tÔ­W:á¶M:ëÞ#½å¾EúØ£[úœÞû–Þ‹ÿð?Ãþ¿•Ãþ0÷¦pæ¿ó(L¥ú€‰ÔU¶Ÿ¢‡Ñ¤êpbmOÂ÷AY¦ÇNY.½_VHß!+£÷ÊÌžÛd�ž=²VÏ­²-ž›e^Ý²a¯NÙïÙ´w›ì†O«ìŸæøg¾Mñ¯!¸¯õ#ÞÃ3ø!>ëPÿ¶
-f˜»æ`=‹Ù�ét0žÎDF•öC¢�S×ÓúÑdzo²Ò«'Iã³Ežï»Y^äÛ%¯ðë”×úµË­~mòNÿy¯³|ïJ«üÐJ‹|* Q>Ð ÿ[`½üŸ�uòW�µ‰ø,ò»€ïáSêÞ„™ë’€X'Õ6àˆÆÈ
-"îÓpÉƒQKw(cWô¤%Ò»
-ŸÎT•[JN@ªlFK­he�mjD[ƒÐ­Áuè £=À¬F'™Uè%V%zŸeBbU ¿3+PœY‘Œ3y¶Î"<ƒ»pÝ¸Ÿ×0wMÁz,f
­ø$/€°[jÛ—-¤ôh$Î]ñmé¨o3†X6¨ƒ7ä2ê…¬ZE»ZQÃ®R4­ªTts*œ2ÅHH©âxH‰b.´Xñeh‘âÇPƒâeˆAñžcPà«ùúð
\3nÃþ¯èaÖ�ëÆ$¬ãùì/ ‚½z?0 ãØlË,éÎ�¦¶eÇ¹YÕrŸ†E@mz:Ã¬Ìb›°N9VZŠU†±Æðb¬#Ü€õr±}\=v”W€Íòò±/"ò°xyØoÜ<ì¿ayiø~„³øÎÀìÿ"Ì}Ó%0ë0¶€}…Ž`—ÁôXÈæ�víº5Ëšòci
Ú¯šlt¥Iƒ1K339ÅÚ0CF!o£ª<B§ª[�¯jáçªzøZÕ^A¶j\�¥:'P«nAžðÕª_W«Uï"4é8o‘¿§ÀY€þß€šspõ›‚Ùï¬#ÅpÏ.±}F°ÕÈ t–pIÍE"ÇÆÂ—]<Ý”ŸäoÌU09ª]v7/«€Ÿ£)‰ÌÒ˜…j�U˜©Ù,RiEéšC"¥ú¬Sß¦©¿bêLý–�©ñÕ‹|�ð%ôÿ*Ôœ-‡>˜àž_óV)ýå¶ §ÂtUZËÃl-e‘µF1µ²8Î­Ô ÷5lL
*Ð)99ùjž:/W ÒDJ­)*MÛ¸fƒ¶+J¡Ý•ª‹JÑN‰Pí
Q²ö±09çß‘hÎš�óy”ÀÐÿËPs¦
-úóç(¬ƒð[¶W@·Ù´Uû«™ƒÔWñíªLk—•UHiEe	^F4 §8��iÈWnÌá+ôzQŠ¾<*YW•¤ïˆ’ëûErýa¢þtd‚þº@¦ÿV Ó=È
-^óeùø¾†>,@ÿ?‡šgk¡�aH_5Ì|°¶Õ-ÖzoP_Ï"šë"Håµk(Å5ëœuæxme’ŸÚ¤`(ËÓCRK³xÉF� ÑX™`¬‹”ÛñÆ>~¼qtõzã)^œñWj|È•ÿÂ‹-z
Á?ðW8ÿ×áœ‡š§¡�=
ô@Ú7Á}ßbê¬ÀÜL(·†Û[…Kô›$NÚÆ8WuC¢—².% µc%UkBªóÃ×›�Ü8s
Wjn—šw„Æš÷‡¬3OrÖ™¯®Š1?dK*ŸqÄ¦W!â
-üwá]¼Wî¨yÜ
-ï#dgÌ;kµm0µ»€ÒPÔ‚è:ødmûZGuk¬³²EæžÚœì“Ô” ³f2â,yìXK	{�¥†cieJ,½‰e$HlùÙee�ÇñÏó<3ÏÀ Ü÷9*Ê
ƒ¢¦©m¦æš&¶jn–•î²Ùzy�¨( €rˆ¨Ì(¢À(Èå}å…«fbZ±¦–w–ÁÓg_¯ÅõõÚ?>Í<¿÷çóý�ßŠžÉiGz$~UŸôÙ½ž‰óžõJœ«wékPÏšï!sÛbîÇ%@&µdùË�ÔÀG«ìñ~†/¦fô&eÄ¨'¬2ÚŽ]9°ÛèC]_OÝkØò7ý/;p�iŠ~€éC}²éÓ þ¦E�I¦5I¦�~‰¦]¾FÓaã²+ÞñKïúö[ü‹_¿E�þ]:Æ5XÃìU&ž	dæQ«Ò�…l‰f­aß™Å¾k­Œ¿¬sCJŽãr"Ä1ëâä‘ëúë^[;¸Û«Ù¯¹Êåžœ5Î+)k’·1kºWBÖ,j�G|V†{¿¬B·¸¬�®}3]úf^vŽ]}ÇÅ�ñÔ-fU‡{—9ÿ{™¹|û^j-[ ådÎ(5‡}×z`B{Ï"{Œ.òÁEÁøSQ”4´(^~¥0Y›\øªCbáˆîñvŠ+xÇ©oÁ4§Ø‚TGCAZ÷˜‚•Ý¢ò¢vØGå×ÛEä·ê"Öÿhž÷Ä>,·Ã¡KY÷*rÍÌ»�Z½XœËyØ|\LÞŒÝÂÞ³TÄ³#Yü0ÀÒI–h)Þ¯îk 1˜‡ÚF™Gj#Íãµæwµá–¶a–y6¡“&Ä’«ém¶ÈÁæu¯Òsêž[ÛÕ=6?’õ%Ï5]ªfö�Ì[BnN�Î–4m#{ÏàýR e0r0˜íi|¥„˜*GDUù ÒÚáÖH!Ä'ö¶&K½¬Ã¤žÖÑRkŠd�&Z?¬Ek¦àkÝ,x[«¯ª&xVÞ‚gÅÁc×¯b—ªÈßÎ¼…E\‹Å\‹Ì<×Ì$÷Ý]À[•¬Án ©ˆÞô>ÔiáWïŸúx×÷�g}<áÞ0®
£àÒ�§ÆÐ½q6ìMÐ5l€mÃhê!×ý‹º
¹öÑ•3óVró˜y%3/`ÞYU¬¹È}c0¨è[„4�GÏ€ã)6M¶�›\ nöƒª¹7Äf„æd^Â|¶ðAÒÂK¨e6ÅEÞÂEÕ\Aq€¦KÔ÷/´ÝÌµÈÌÙÌ¼”ì9{¸È}ç0ºÒÀ98„ô§¯fÀé+@{�.hUñâµçCÌ¸È‡@(ð5É×†ð‘Î‡áu^Èm<Û¸ánÐGC¶qà¶¦Ú\ä²ÞédÏ'{3Ofæ1Ì<ô(�ÀÌ§Éo¼ÏÎ­ä_TWÉÿ†j£¾¥nÒË-zùÞh×·#�;¬É½‘ÀÏ|œÜçAx)ð€“ÿ€…°ó…60û*ÖüæN%{*ÙcÉÎÌ‰´ÉÌ=.0ÿeæ¿Ø’)Þ$óÅR¢�ºMýHÝ¥~É²zO‚�g¬ÉóáÀï)@�¼|ÊºRà£Uàa«ÀÝF�¯¬ �ZAœ¤`°¨`”  …ÿ™†çø~Ál<Ež`	#�°‘�ÈÃ}âg”à'Xp»¨½´tˆÖ¾Ä¿Y¬øËø•RþOäÓƒ+=8Óƒ·FA/z0ÐÃ@z!tb<¿œJîÇäÍ"k>YÉXFÆJÜA&99,E>YÅ,K)Ç-g‰öà;Ôã&šq×èâ®s”ëè Nãÿ¤À…éÁ‘<èAO‘ôÐ_ìÄpáÆ’=™)¦s”T²æ�“FÎrÒÉÉà´dsIä‘UDÖ2ÊHµâkÔâ
-Nã®¢•_µ²rYÑ¤¾,EìNZòí5Šä.+B=„J�ˆŸbˆp£™s"yï‘5“¬OÉ™OÿÉYFÎJr2q™µ¸ÄZ´r>.bÎ£gQÃ™8‰þÒL×g8k§éá¹'_’"ÛØ*’¨Q´¶²bï¤Vì}U6ÁÒc•A¸'D»0‚ùÆáš0W…qYLE«8¤4œ—ã¬´_IøRÊF³j=šTÅ8­2ã”ª'Ôp\>�£šK8bÛŽFÝÔÛ)¨³WPû’;ÑFq€¬¸©UŠ‡�¤¸»K�œÅÛáÂM]®i‡â’îMœ·›ˆ³ï¡¥Û4uŸ…ÓŽópÒiN8-Åqç8êœ‰#Î¹8äR„F—­¨wÝ‰:×ý8èv5n­ØçÑŽjÏÇÂnÏNÁê©UžŠØ%Å‰|/¨AìÔOüº·½¼„6×ž¸äƒ³Ñä='}Æã˜ïö›ŽFÿ¿£ÁÿŸ¨øµ‹P`Â�€ì\‹½�ù¨,Áî 2TU•A‡…
-ý9¡\K,Ó?”¶é—Ì=ÕTú_)îäAü�[ù.õ�^�6_\ôóEsP¸p¼g¢p(x˜X×{ŒXÓg¢¸¿Ï_Å½!‰{Bþ!ZCæˆU¡Ÿ‹•¡‹Å]¡éÒÎÐ5RyX®T¶QÚf‘,aU’9¬^ÚÖ¢Ú~Cµ)ü¾¼1ü¹¦(LÑ†)6]Rü!*!<fÂy¬FóÈ�Î‡È8âŽ#ÁBmT_i_ô+ê=Ñ#Ô•1oÉ»b&Éå†ir™a†¼Ýð‰l1Ì•Í†/ä­†%òÃJysl¶¼)6_S»ES»SS[c“{ÚfCì76¹±÷´9±¿éÖÝZƒb×%%ÂCr¿�ç±ŸÄ¾“:/âpœ&è…=	QªŠ„$ÍŽ„a¶–„ÑÚÒ„·µ[¦hK>Ð'ÌÔn4ÎÒçiŒtŒ&Ýzãj]ž1W—c,¶[g,³Ë6îµË2ÿƒê2
jë¼Âðaß‹X;!Ìb_@ Á!��B d�°Ø˜Ml±ãQOð"š8nÝñx‹�¦q›¶ic×�:ÓvÒñ4µÓ¤[b×il«ÇÌ¸ÓþxFšûçýî9ïwÏy½–rx-äü…bÌyF™Ï¶ùÌý6|ÿG™8fò1ëðî ·
-qÏ&<áRa8ì&;îd¹nçxž&Ê¼6	±÷!§˜	ÅDh(Ç‰NÊD/e•¦¬>KÄœÏ"±êc$6}ç‰7}�—üf‰Û~ÓÄ}ÿ)â1Õ@<¥N´ýÏ°þq´ÜÇOú‡8^ncö»Š£÷û|WØ-
�7K,%é®'y¼ÌÅ<Ÿµ¢
-¿U®Ä™« .rÕÔn+už«£Îqû©³Ü‘€îtÀw1`’kœà~7pœûVÐ÷fð÷nðQîg´!îÚPáKš¾Ðüš/3ÐÅ£ö˜ûnH0ëT|Oà;Â@°ˆbíN
-S�M‚lÏ²Ðw±”¤Î—TÍòk‚gø
ÁSüfš�§¥Mðºiã<}È("d„?:Ì?:Äß
-ä[Ãúy×è}¼�è½¼‡á=¼¯èÝ¼ˆí¿|Žýÿ¤WÔ¯à
-Ž··¥¸[áèß®öƒM	ÃÎTÍrZ©Êr7ŠŸÙ
-^Àd¹€6Q&#åa#d#}˜l	×“�áƒd_D?9ÑGÎDö�+‘Ýä)†Ž<Ïè$¯Du�?‹Ò–þ1Z[ú�¨¶ÒçŒ¶RÛ+"_ñYzQ„yõo6`
�u¸[átªÆÖkÃaµ6ÉÁ(Ûç6#É£Ä\êh%IŠèƒÒˆ~�‚Ñ+PGuÚ¢u‚®è#‚¡˜ÁdŒV°Û&ØˆÓvâ.Ç7~ßTþ‡xuùßãÔåßÆªËm1¯yˆ¼‡5øsçuÌ}U;¸rlá9N(Üá�úPX¨O°ŸU¤¹ä9^#5þz	ŸÖ'Ð»«ªG*k¢ÛEÊØ6Ñáx�¨3¡EÔŸØ,OlÍ3‰Ö™�¢3IJÑ¥¤zÑ�“Âß!e*„ÿNTm	Hü+>Å>üªàG�˜ušÑMX<Ë&žc­ÑUÁpLk7ÙÈvUî÷Ð+ß>yq�®†k—
-‰$¶¹º.A->ÄT‰Û’•âVƒx$E!žM‘‹×RjÅÛl™ø"[*~�-©z€|É’V}“,­²%!ÌWü½øÞÔþ¡à<æÏ-\EÍxŽå&˜k¦ÂTsŒ5³‡Ô™n}ª�’ ­/	m©0Ôrqœ²¦†©¨Q²ä²v�LÇ‘Ê†8Ù4G,[åTÉ¶8•²·8"é-ŽPú[ä¶Pú,E$±±^ó	zïC¬ÁMÔ¾¤Å>´¡Z1oá9ŒølZããm0ÜÊ´ï×¤»tÎõlo.ðoQóh‡Tå
ÊÊXyƒ”)U(RÄŠ&Ne]Gº¨n ½¢Î�.¨[N+¯ûNZYÝ.‡¬{—SZw?µTþ9ò/6YkKyÍo°wpõ½†úow`æDNàÚ·„g™Ágãž0Ü
-�ñvÝ§Žölw�–ðQ·5´�ôÚÃÂhISubå!9«BuˆS¦Ò¦‘ª¾´RÕxZ‰j‘ÃWm¦òTVv±êFJ±ê×¬¢ÆÇ¬"åSVQÃKÄ¶Ç]ìÃûØƒ+G0sê°Èqd®3þw¹Bw0t÷Ä@GOŠƒ¦;Ëµ©ë€·ò—*ï,	‘´"EÚª¸òÖZfik#‹¯iekzRŠ4cÈB2Ws2©Ps�Y ¹‘X ¹—�ßò8‘8ü„I4¿dM¶=>Â{pßûrÀÙ^ô"²‚ÿ§�£úû@7èíúHÐè“ìÕƒûœ•¹òþ_I/HÔSVÞ]É(é’Åë”	\�&±@×�ŒÆçëŒq„n#–Ð��9¨»}@w/*¯óQtnÇ“˜Üö±9í¶=~Š=¿ÞðÎÞÄŒ, ãƒ¨?pWñÖQ/hÕX‚]ýÇ±v4ÛU2Bx‰Žù—“Áü!aX‘^Y ¯�"ô-Qõ]Œú‘È<ý|D®~#<WŽž3x-,{ðnhöÀ£Ð¬¾¯éY½/Â3{_îñ>öÿ
-Æ±]Ô;=Œ^DŽ¡îÑQ€®qÍ$fŽ)¨Ÿ	ùL4ÈfYöâ™§Šé<wrªÐ›7Å÷/œ†jZžA’khÉ1èB²
Giû
sAYs`æÄÙ€Ì‰«ÔŒ‰�ý÷�ý™š>úu`úÈó ´‘—{¼‹5ÿjžØ@–Pwj@�ÚíÏÔGä˜{½¡r)„ËñP¶”êÀ_ÚïÌ]<èž¿Xä•·Pæ“½På—µ ÷Ï4ªý3Œ�~ûŒC¾éÆYŸ4ã:…cÜñæ¯x¥ÎÿÒ“=÷'Ï”Ù¯¼Y3Ï)¬™{\Å÷¿ˆzÛˆ	£Øü4æÞ€>Ôn]hXA}ŒCeëÎÀ7@‘™…f¦aNsÈ]ÏvÚ¿žïš±ÎwO_zpÖe©&•Û¤õH1
¸³LÓnÉ¦5×$Ó¦é²sÂñŸ;'¬=tŽ_ý§KÜÊ·®q+ÏÝ^qÙ€óá~�Ô�žÇ»€Ú:ÔnÂhXc¨Ø(:�ÙÏâY– ÈØf@ú68ÛiölKŽC²¥À‘i!�-UNñ…Sœ¥Å1ÖÒãcwˆ¶,Û3,[ö‘[ïØ…oÝ±£ŸþÔŽ~êoöa›ß8„�üv�‹¨y5ÍÈÂ2ÀÄ*zÑ = <…5°”ž8¸�~€yÁ
â­k�€hkDYS!ÒºÂ­vt+i¶[
!»J íj!hWÖcàoÝ_«(nƒ×ùà}îð>ûy¶Ç.Öù4²†Ì®£O¢ÿCuùÇÕ|ïqüu~vÎé÷ïŸú�:×�sÜ9�ƒÓNÎ±£¦‹üaù‘i’¥„¢´¤)It“ÊoQ[clmf×äÇÌvýîw/®¹»�¯ú£Ç÷ó|½ÞŸÏ÷ó~™9¾‚ç ˆÞÉÔýêõ?� À«Q—&[85{À¡9vÍ=aÓ¬�uó(›‡@ÑyóDH› n^Æ&�G1L#Þw†ºÌ!©‹ºûRUÅ@	µ–õ^±X´�g‘yãÈI¦y/0`ðFÐýÐíàr°>HŽ+8t8QÞlz!Ô_)õ6/>mÚxùµñ ·­§ªu?õ	Ÿ¡�W_ª‚ö
-·ñ^ä¿Ój€$æ�Jîr-ÍÀ@r5‡�Ð£€ïqÀµ
°ù�2¸ÚÅÀg*Ã.lÀÝ8�ñáB/D‡^ÄôÑÁƒ×ÁMîØAqáŽSÔÙ—ú�™˜9“™±T3˜w<­F3¯�Ü¾äö$×�\72mÎ²d_¤¾¤¾¦.Q�"à
-½|G/×ü8¤ö~à°þã ‹M©‹—q_ú.ô.°.»^ªpkÀÜK�²'2óðž�VàMr{Ñª;óN~óCÞ•WúŽºF}Oý@Ý¤nQw”ÀOnÀƒ àWÖäõß8(=e3~šBñ|ÊÃ÷´ø¥¸)8[Q2ÞRÐˆâÿ†áFã	&ãfá!æãW¤à¤á2ð3²q¹ø	¸‡"ÜÅÜF9mì �=øÐÚ)Ü@mþH=¤\¥k¯D6=ØÑƒ-=xÐC0=ü�à)Ì|j$™É›NÖ\râRÉJG²È[ÃÕóÈÜ@Þf2Ê¸n%KT‹oÑ„Ë8�Nn\'}Ã•.á9·Oø?	p ëWÜéÁŸÂDÏ cæHr‡“9Ž¬÷É™MNs¥0GY¸ŠUdårk
-È)"£”©+xTjðpÇð9Îóç:Î±jŸá1ÚIýôO ¤©\€Š\$|é!”ü¾Ì9˜î‡1[,YqdMg®¹Ì“LÿKÉZNÖJ¦\MNÈ(æºå|eªqõ8�#Ü�vœäÓmLÓÊÊž`-Ž“ü‡ˆYÈ‰\*HíÉ÷=FkÝ›Îû3Ÿ‰Ì�7ž¬÷ÉšEÖ|®ºˆœTrÒÉÉ"'‡œ26‘Q†T±utp‡q–¿;y:º°ŸšDÿAI�¯$HÈ·‚D°‰[¥è‰Òw%>ÜÏPÖõïäpN…O$±8-�Ã)é4´Éæà„|Zä)8f•†£V8lµ‡y8 (Ä~E)š”•hTÖ¡Au{UgQo}{ìî¡Öþ7ìrPã(`ç+	
-H'ˆŸ¿x•\E¸ã Ä÷
-g|%÷Çyeoœµí�“Ž&wŠÁQ—q8ä2\gb¿k"šÜ¢Ñm)Ü–c¯{êÝsQç¾{<JPëQ�]žµØéyÕž§QåÕ‰íÞwPáóX´ÍG•{ÿO‚#Ä¯ÚÛ¼â®ùò»Ï[„/�hwñÄIÏ8ÖíMô‹@“bQ0u�ñØ8µ�óQ´;ƒ–¡:(;‚V£2(Ûƒ7¡"¸Û‚kD[CšDe!'E¥!_‰JBn‰7‡<”l
-$E’àÑý@ò{ðÊSóºåõv6D‚ÖîŒÆÐ>¢úzñîž&qM¯qu¯1âª°IâíaÓÄa	âmaIâ­a)â2ušøCu¦x‹:GR¢Þ Ù¬.•lRWI
-Õ{%ÕÇ¥Ô¥ê›²|õ¿åyjA¾–ÊUV/ô<€×¹�}Ég»ù˜×k‹†³¾Ú
oøawŸ0quŸ~ÒíšÙ6�EV¦!+ÕŒ—mÑL–k¦Ë7kæÈ‹4ä…Ú%ò�Útùzm¶¼@»Nž¯-¶ÊÓ~d•«­³ÊÑQ¬ÖžW¬ÒÞPfiQejŸ«VjÕJÍõswà:ù_°Åœá•zl0çËl©ý¨
÷BÕ[¡âòp�¬4\oU>DQ¤‹VnÔÅ*×ëÞS®ÓMQæëfªÖêU¹º…ªÝ2ÕjÝJU¶.W•^h�^n�¾ËfEøA›ôðOm?¿f»L÷Àn™î™]ªNx­Ûl·WÈ<ÉÖ:”ßœ&ÎØl½»IP9Ø[#‚E%†Þ²ÂA:EÁ@ƒuÞÀ¡6¹úÛ5úÑvÙú‰v«ôñv™úYv+õóíVèÛ¥ë—Û/×gÛ§é×;,Ó—:,ÕW;.Ñ7;.ÖŸqZ¤ÿÖ)Yß)yÀS§„×ºÉ|MæY¶Ùclù
Qœ±é¥’ž¶qD±ÙM½¤ù‘}9F½ÍªˆHûÌˆa†Žé†±NâœÒÓœR
	ÎK
œS©Î‹
™.
y.É†b×$C•ë<Ã>·DÃ)÷9†N÷„Á÷¨'n³¯u£?÷ÁœŠŽä÷¿?wDåôTb±ÁÆ(äG…Š×XúXe}Ëf…Ùà�6Äìœí²$r”Ûbãx·…ÆÉîÉÆîIÆyóŒ)‰ÆtÏ9ÆÏc‘×,ãG^3ŒõÞÓ�­ÞS�—|â�w¼ã��½âß^ë*÷ÿ<³·Žâ¸Å6¿+–ßœl³[X“Âá
-äÇxbMLˆ(sxoYú»ýT©QíS,Fçä¡·$sŒG¢y´×\ÓïS¼÷,S‚ÏLSr·éæ´nSÍÙ¾ñæ
¾SÌå~“Ì{üâL-þLT—ßÓ#ß	&¡ÛºÂš·³-c¹ãXþ-£—Mô±n¤9£\‘(J¥–¦Žè«\Óß.éÝçÄh³ûìaQ^3,#|¦YÆùÆ[&ùM±ÌðŸl™gY8Ñ’øž¥ h¼¥,h¬¥6xÌ;G‚cß¹HÝú�ê2
‹ò¼Âð3¬‚€¬
-ˆl2ƒ‚DAvG`€aÖ�U6dW‘Ñ¸àh¢m£h´ÚÔ&®•F›´5©×f«[Œ�'ôOúã¾†køæ»Ï{Îû}ï9³å’Ÿœå’7N©�ã7XûK\û[¿#dPÁ0–­Œ£'M€Îts´e8 )Ý]».m¾~µ<Ð¨"9Ä¬X9½ Qb›Ÿ`Ÿ/wÊ’fÍÎ”¸¤KË…iÒ:W¹´Ý5EÚ+J’ªE2é!Q¢ô#QBÜg¢ø¸‡®	qÏ]â~™�§™äÖþ<×þQ.÷"Ù›Ãd›G7ãiÏ2AS¶ê³Ý´j²¼u+2‹Ó™¤†[åÊcl³’ãìÓ“’œå²a²,O$“•¸%ÊjÅñ²V±TÖ#Ž“õ‹ceï‰%²ÅKÇÉ7Iâ�®’„×BI‚f’ë²ÿµ¿'•ÀA²'Ÿ9È62ŽµŒ©)Ïõù6¨É
-Væyê”äúM)ÈYh’—µÄB‘e“–kŸœ–èœ˜šê*MÍÇÊ‹Ü%òª9KåÍî1ò
îÑ©;ÄQ©Ä‘òSnò«äž("åyí‘¬N0Î:|Lçq¶zCdé[t2–~Öè¡ºÐ
-EÎ()ôÐ*,ôÕÏ[4U¡1KË�œ‘œ+±‹ÏŽwŠÍJ.ÍÊr‹Rˆ#•âE£8\Ñí¦Ø.Z¢v
Uœ†*®C2ï
-C2ž‘WÂ�t�Ë—ÙzŸ¡kdŸ²�ô�öB �Ÿ5%Z(/5Cq™=
-ÊÄ‚¼Ro]Ei€AZñb“äá–ñE16Ë
-¤öÑË“�#”™Â0år×Pe…0D¹†t¹,Vn›½H9ä¬ü¹â¸0ÿ®cPÞS§ ÜWNA9šIÎ3ß§‹¹Øz¿Slág7i$µå@ùJ ¨ÒùU¶È©"³ÚS;µÊO?©r¡QüÊ%fË*¢¬¢ÊcmÃËd³BK3—*ƒKËIƒÃÂÒNû Ò·g–Î,=1sAéeÛ€’;¶þ+žÌô+ziçW¨™äs’#Èºv‘^²ŽÔUÒ_®rWë!³Þ
-iõNH©Ÿ#H¬Ÿ¯Wh ©1Ž\a¶Jbµ¸6ÑzamšMPmží‚Ú2›µuÖµ3ük¶N÷«ÙoåWsÜò­šK¾Õ_[Ì¯|bå³òåtŸŠ7“œ-ŽU³d�Hk-s°(æ(�ÛÈ¹³Hj�†„V;HÛDXÖæ¥Ýê¯ÞlÚfÜcØoÐœjá×”kñVS‰¹oÓj³ùMëL}š¶LóiÚgâÝø�ñ¼ÆÆóÖÜ6òjxlâYÿó´¹uoL'8]Å:Ð·‡¨ê¸Icç^º—·pæâˆ&ëàÜ×¥�èn+D®wBØzwAÈzíàîº�Ý!Sü»#
}»âŒ|ºRŒ¼»²�æu­˜êÕU;Õ³«ÝpnWŸ�Gç»SætÕwïøT_ÜqKÏmí£)ní?ˆÚ~1œà�Ãk€�tö�ö&Ö�î2ºs;�TŽDq=œ»6‹TFRÙ`Áømñøª|µ¼UA:^ª%ºsUKõæ¨õÜUzbU�®HU¥ëªjÑömÒvéÛ­íÜwXËió9-ÇÞ/µ6ý íÐóBÇaãëIFZù^"[I7ÇÁæµœ{é^A·b�ØÄl¥Ÿ£™o¿6<ÕÓà¡¶…»ÚnjˆÔ¾¡z¡`¶:\à¤Ž8ªSê\Á,u™ÀNÝ[u7¬wíÄŒþC°ê?‹�_ÀrÇ·°Üþ–Û^
-&8È<ï"½ô®ëâû`÷"Ýù* �ãiìN l7ð.à¹p`Ö�fÏ€Í°#¬‡Å˜>ì
«á@X‡Á|8¦Ãr+1u¸C­Ðêƒîà´÷Ÿ€ÖÀ%hÜ‚ö¾ï¡³ïé$tnÛÈ½È|·ôò}°…9àš³vq¼DÁC€Ï{€Û!Àá÷ÀôÃ€Ñˆ>ôFÌ¡;2ÚG] u”ÍèQÂƒxDBxàŒL¼x¸ÁG¸È#;€ÃÉàýëÜ„wÉ7“ìf®U\sóÝÀË*Ô€r/s0È}@o�þG�£€ó€õ	Àô$ w
-|±è6ÖÄec<Êft”�á›’1¾„Ïðá?ÃM7ÆâŽ1¡£#¼öù{s’�ôöôm{€U\sñ ûw|é�>ÑéE§Ë‡€í(ý\Æ”?Òÿ1á­ðgð‰>sà‡„‹BÄ^Àå@6l®²1çKwœÛ8‹<Î¢Ž3Žñ³üßÅIÞæWÝûy6qÍUÌq½©Ç	½‹NÞc€+/·ý`ö	ýè½D®�«ä¯ä3Âôâs}6†Œå‡•¯Ü€›lo‡±if3r�ù¸Ïð>~ŸE¾ÏÂÞ?6Iÿìàšë˜çb®9“9ŽãzCé�O¯ˆ^;zÍèÔŸð1…>�¿“’/É¿È-r‡Ü#Y£ïË€ÇlšŸ²6ÏÙ˜=çÁüëò‚uy±�ìžDs=
Lt50ÖÖÀš¨¿ó&‹ð–â’ñ_dqR-Ä�(Ç3Ôâ	ð-x„µøÝø=ø†óî¿±±0ÀPá.Ž1¬³øšÉºÅ¿nâ)Ã}C4ÿÝŒÁ�11+�Žün.^"ˆÞ(zéÌ OI_	}Uô­¦¯‘®6º:x÷
¸�^z¶ÒÓÏûîezàFðŒ2m—™¾›,×#\ãª®Ñð[40`º:Œƒ1X2†Y¼JÌˆýù‹0|�8:SéË¡¯ˆ¾
-ºjè©§§™åXKO==øœ¹¸Î\\Ã®|�Ûå}ü§Áy\dDx·óÌê§´žÿ
h10}ÖÁŒ1ØÐ/Ä·¬ÇÖãbèLÂWÈ¤OIO	=•Ü†«0Ž5ô´p{®£g=·j/=¿ò\îQI§iø!
-"Þ@AAM§ÙÔY*PQPTÀK ¤�—TL3-5ÍK–¥i©•6ÚuœÊÆ.§ËÔ´]÷ÒîL»§sfç¶Í¶{öÌÙmjgÏn—™eŸ¬�?>üxœß÷¹¼ïó<ïjLÁ-ÌÇ
˜Çãs³q®¢•aô®`d/£——Qùÿ >æ0dÔ€çÀÄœFaPWŠ>f£¦ý² –uªQ§u<p6âÛ;P§>†>ÔB�|ï\‚ŒÀq8‹hÅuü¼�»ãÏpwÒª,à¾8�ê§_Û€ú@ò’¡à?èè7µãÐWêf ¦õLø¦Ô©D7ê¬G�fÔiƒ˜“ó˜“³¸?1g`ß}NážøWó¤kp‚øŽ“¿�c>Oàˆï8ŒÑŸó{�—„KÌS<ªx¼¿"µ ŒsÜ%­€_øHáª¯.ùéáµÎÑÊaÑ-œñ¯�zœ¢·ÀIz;|Ðó}p‚±Ž3Æàhà8xæ‚ÎÀlð58ü)L‡>‚Ìïa?óG˜bzÂKÒS<Ê�°Üþ‘p?Ëƒ·ýÃáZp\d‰àlX,°sà$»æ9V8Á±Ã±ˆ*8QG"š`ŽÛ
-³ÜÍð·f"a:rDNÂ~ÞLòNÁï
-ìåýÆùaÿ)Œò �ð½?ñ’…%%
-KM<–;,÷wðù1––+ApŽ/€ÓÂD˜�I�c1J8›³±…phY)L/«€ƒË\°Y=LÅy`2®
öÅuÂÞ¸>�†=q{a4þiwü<i8þ"igü¯H;â¿&¶Ç?!â_’â½äþ7|‡%þ!jÿá],÷XZ¯âó¶ÀÅ8œ\Î…c+–Ãì
-1i&!ƒ8� !&ŒÄ¾„bb<¡œKt£‰nb$q=±;q1œØNìLÜJ%n'oOÚCH:HîO:NîK:ïÓ›tÇ§'éŸî¤Ç”®¤¾�I^ßÎÄ×|‹-æslu÷RÑÞ{±ÕœÆü~2Ž$‡ÁŒ8–´_ü±O”â3&Ê¢Œˆt”]¢ÊN‘•2$ZCÙ.ZKÕPúE�”>Q«o¯¸Ó·GÜïÛ-ÞåÛ%žòÛ">â·Y¼è×!¾IÝ$þŒÚ&þ;­UüŒÖ*òÒZÞð,çPÿ.¶–KÈB&Þ·°¼Ï¡-ÓÒ`˜LÀXê
-bwÊJÊiºß TEí—è©Û$fZ�ÄFÛ*±Óº$U´NIm‹ÄCë�´û·K{üÛ¤;ü7J÷Ñ[¤sô
Ò…�ôz@“ô£Aú-c½ä?ˆ—Qÿ†‡ÿOQ÷†à¶ü÷Õ¨¯ÄG‘‰:ìQDÂ°â-bPžLÙ–‘BÝšžéß%Ë¡o‘:dE›ÒJmiŒÖ47£EÖÀh–µzd]��²Á õ²± zÙ¡àZÙÉàÙÕ·ì÷!.ÙßBªÓþ�ü7¸:Í»Ä—ƒ{€kzŒAÎ·¹è?Ú2�­4ÛvªØ0 Ž%õª}º”«¨Yéô¶ÌlF«B´AQì‘[‚åå!ëåkCêåµ¡µòæÐEG¨[ÑÇ¬VŒ°ªYNÅ|X¥âr˜CþI¸]þ×0»ü_È�¬5r/óŸÉqì@íËù8V!³Øb§p=†qÙ©%Ã€Ž	½¹BèÔýŒÜ®ùµjRè•"°![R§Ô‡Ö(Í,·ÒÆr)aUJW¸SÙ^©lc;”=l»r˜S®œâ”)�G”(/FØ”÷¸Ö¬GÖ¬ï9Ö¬ØÖ,ï²n£ö3N Ó&¼sâzÆeé5A§‘íÆåD‹þç¾Myÿz]zà:­2¤:GËrjŒáê"Ž]]Q®vrËÔuÜuK¤MÝÅ³h†xÅš	^¡ú(ß¬¾À7©Í/PÃ/Pý3²@õ’kRy—¸�þÞ(8‹£ŽÃ°G¯Q´eíØV€s®‰›Ì\h1Ç‘šLI>u+©ncÃ©W„8òÔ¬²Ü<v‰ÎÄµêl¼b�ƒ_¤sG™u�I·Y�¯u{…zÝaažîœ0WûK¡Nû'A®öiTnÎK~nŽ—÷Šß¡¯×_�À6Ü‹È„c€ë~´£íi/¦B‹%š,1PgYAv‰üœ…)t»)#¸´ ›eÉ×r
-�FžÉPe4”
†ªè<CCL®¡=Fgè�É1ŒÅh³ÑjÃb´J':[ÿµP¥"På½ˆRåy—ø
úzµÇí2€d¿•ô hSK‰4–2¡®LîÒ·	gi2Ån“ÐJ­é�KÓ\¤aõ¼<³Y 5—DkLÎµ©>Vej‹Í6o‹QšGc²ÌïEgš?*L·…rÓWyÁwÈó(y¾w‰»ÿKkðL"�d s€¶lÄg#®kAPíà�³"ždw¼ãSj_E-^“`*W„JÕá¹%¹\�ÍÄÏ¶Ú„YÖŠèLkm´ÂÚ-·ö
-3l#‚tÛ¡(™í?Íz‹Ÿjý’—jyÌO-~ÎO-ò.q}>_�{™D†‘^d“çìJÔÇ1´ªÊ*ª8P^%Õ	Dq•È×´6Åßà”ê*³™ê
-[éÈç*~†ÝÁ—Ùkøiö~ªc+/Õ±;2Å1Ã•Ú"$ö›‰ýÎêòÇ«ÊžE¬*õr_qµ>ÄëÐ,2ŽlGºqoÆg­õ×Øk|¡¤––:Ö½MÊ¯KöÑ×Jü´5étÕº¬ Lw3ÃmOssR\vŽÔµŽ#qm`¯vu‡¯ví
-[åšf­t�fŠ«o„Š«?­ýó]ç3Vr¥7ì¡ÖIÔ:èÆ< }ÈfÔm¨¨®ÃûNÞ¹ñÎã	„|ôÍq kN$4ž•¥'•ªhRÈÿGu¹GE]¦qü;¿¹pä"²*ˆ¢\Df'ÌÔrí¢k™¥™nf®¥«–7D¼ƒ(0("¢£…šµ†¢eV¬®Ú¶»�²{¦îi·ÌlwË²mMöãäéœþørÎÌð{?ï÷yžßó¾Ïøž#—MŠ±ìáÈáÙ³"³²DÞ’�áÌ.
-–½±gföŽ°Ììý¡K»BÓ—~ØÃ±ør˜cÑÕžö…×Ãoè¼ÖEäU¡¸®%ÄöœåÒ£Œ‹1Üï
-Ô„¼h�Ë »ó‡hl~¦qGÞëÈ¼;oÍ»'8+ob§kj�L×Ì®ù=Ò]9!×Ú`»Ë”¶º1pèê}�©«_H]õAÀ�_¦ä^
JY~=ä†:–’xµh*Äó
-ØOÁþ�KšÆh4©Pº§Ø¤1%aíî«‘îÁáN3e¹o1œîQ–L÷�V‡{‚Íîž0´dF@jÉ\Û�’l[JÉkRI…%±¸Á2¸¸Ý<¨è˜9¡è]#¡ð’y`Áw–�k~´ÞÐ³ðsé	¨nþJÞ|Ïƒ=c­4¹„¹s�4fƒ”UiSfe¤Ò=±²{•æ±+Õ“eJñÜn$yî6{î7y¦=³�žE¦xÏjS\e™©_¥W}+öèW/)¦ü-Ålø\1eWL1ë®ùµ^=ªÀscé*Ø‹ðý8ìieÒDÆ²»<Òm›¤ôfÏÚ%ÔEi@]¬ú{çµ+Ö›¥¾ÞÛÕÇ;N1Þí�¡^Þß+Ò›£ðºb…ÖU+¤v§‚¶t( æun>§ÀêË
-ª¾êWsµˆÊàà;ö|Ø3+¤)Œ§ãáŽf4tÖKC¶IñŒˆ½›-
-÷õT˜¯�B}	
-ñ¥*ØçT o´|ãdõM–Ù7S&ÞŒÁf‚ØÔ@áïå0x•C‘�uƒé¶¯üÚê–<È]JOZ/-†ýìé°'z¥±p‡7Ii;¥„§¥>-RÄ) ÍBcE1h€´7e".í„{9pöÒäÚ)òvL¶³h‹´vÐŒ^—ZÎ¢/üÚÂË‰w!ñ^N¼ç×ƒ­Ô~ÇñÈ¨g¤ŒVrÐ.Åî“¢ž“‚Ÿg 9 .�%!ˆ‹ñÁX4˜†ÇÅìÐÄ¥¬“‹@'�¶“bï$À�,~_ä™7ÐÇ~UÃ-ÝÌûH¼—àù	<OÇïD¸cafÁL…Ïö£Á?ÌPtþKè(:†^±r
ãð#&]Ää8—ä·p)àrrê.(4ÂÓ9ˆ$Ÿ"'§0t’ENžö«’<mç}ôIOçYüüÜñ/P‡0í0²íÞ/K!¤Òè‚ùGtý	�B„–�Sú+CÒßÂRTÎ“÷2Z¸(Ÿåp>Ç>Îóò�'áçÙÇùÝ|÷‚_ë‰÷Â³ìYò€ßGJ÷Á½Ÿéxôšs\êqþ
Ö_n°Ð›è-tQbú}„Î¡6†¦(•‹iÒe.Èÿæ’ø5yù†fp…—ý
-we‡_Ì¹–n1s1óöâó@”ÎD:J×4^?hŠ®2g~Ëœùµ2�.Óe­Ô%åëé¢Jõ9sægªÒ?U£OUÏd»CW‹Î3q~¢#lí”>ÔY¶ù/t
uÿB°Ùƒ�=³‡(>Çé
-w„®è.¸“xò·úR³á-€³N.—.¨ÛÅpÊ Tècm‚UËºÛõžv¢½„ê !;Îüú>á»Dÿ‹ºõúóMuËÂ˜{ÈzêGõÕ7J‚ëä‰1pï…;æc°æâi!ŒlV\A
-òàêm¹a­‡å�Uc+%ÒŒûVJæ¥ó*%ô–ºX©Kßé¨ÇÐË7ÿæ¬ì!~4ìþÛ�ÏQøóA½£GXe6Œù0ã#Î*�&''µV)nËalÒkªƒÑÈú-¼>Ï‘�£:ÌS‡pÒ¡ÿ°«k¨ûgÁ'‚/~±â;ŒÿŒÅï¸Ãñ6Þ}°¦Â™	gœ'q¶Îr8« ¬Ñ‹ää09é$‰Åj`ý]z^û¨ŠÃü=­vµQMmdº•Šk…ÞúÓüüïÑ—è¼Èe4ìA<•AGãk¼ð4�Õfág.œ§à,…“Ç…ÛBXnXåTÁ&8õÚ#ŸvC~†'vá`'õá²™Jk¢êš 7ý´¾á52¤OÐ;þ×/v?¼¦ÀÍÂÛ¯áÝ«?ðŽì''ûL³µ×4Om¦…j5²µÇX¡#OÏ˜‹ô´¹L;-Uj¶Ô©ÉÚ¤F[›¶ÛªÁvB[ÞW}àEÕ}§Ú ëª
îöëÚíEÚþÙh^wtŠÓhÖ1S”:­u (]ûCFr4Ü­ÖÐûÕö°žîù¨v…?._ø|5‡/ÒŽˆ5F¬Òöˆ5D–jkd¥¼‘[TµC[¢ö¨&ªCÕ½NhS¯T}IžÞß«²w·_è+øhõgÑöhm/Ój;ûÐÆ#‚µ¿W?µÅQKŸ,íì;FMý~£Æ~j[¿éÚû˜êcç¨.v�jc—hKl®jbóTW¤MqTW-OÜ6UôoQyÿZß¿Keñïª4þ¢ÜñWM%ñÝ?ë"mõ£dZm:­Ÿã¦c¨´?ùÆQhÑîøhù©qp†�”7ñ.Õ&Þ§šÄ)ªN|Dg©*q®*ŸREb¶Ê“Vj}R�Ê’Ö©4©ÊäN®7'ï2%?gZ›üŠ© ùmÓšäÏŒüäoÍyÉ×Í®än¿>ÅûŽÜã·â8÷[ŽšÝ|ÞE‹mJ	WÃÐþªMK5mNË2m´�1<öñF¹}’±Á>Õ(³Ï0ÖÙgnû<£Ä¾È(²çkí.£À^l^ã¨0ç;jÍ.G³yµcŸe¥ã¨e…ãMËrÇ?¬9Ž+¶eöQ·_çì´ÿÛˆGËóhÇ¿�£w;{©ÏVÍ°¾ªr&™*œF™s¤¥Ôy§¥Ä9ÁZä|ÐZ8lšµ`ØLkþ°Ç­yÃXW;—XW9WÚV8m¹Îõ¶çfÛ²ÿ“\îQMŸwÿ†¹ �$ð#R-(Š�$��IH„@"„p5\ÃE„ˆ¤ˆ”¨ ¦ejÁÚZ‘¶Z­ÊÖvµk�zºyºug§[w?ží¬Ûéek×ž¶kë%{fÿøÈï$ïóý¾ïû{ßç)8Í*¸À”_ãöËßåúäçõÉ¿àõÊïñzóÃù´ÞÁûz,8[
-}-²jyBEE
-§Ñ�¢,ötQaÔ”ª$zRUÁWZ¹cÊZ®_¹ƒ;¢læîVzy»”>Þ�r7o@5ÉëWÍòûTGù=ªå˜nÕ1�ª×^Õ;‚ÕßÊÏíÊ» ü�÷q¥½mÄ>/€Ó°@'PKuÍkY4§ÑŒî
-è¶DìÕæEí))âŒjô¼a�‰?¤¶Å¨ëb|êFAŸºMÐ£ît«‡b;5c±^Íþ¸Í|\»æd|«f5¾YóŠÐ£¹-lRßºÕÿßÅ»Õáxwq8þ=hÝ¨Ä:XˆVÀþµ,”ÃcÂ
-í7hª\Få›X£†œÈá2g ´„ß§7zt•±]ºš8¯Îß¡óÛu;…­:Ÿ¨E7*òè	MúC	�úã‰;ô+‰.ÝšØ©û™¸^÷q�ö³Ä:í·‰õÚpÂÿùú~Wû%ö8Ž¢–ƒfä|®™Gã•I4Z™ÆÚeÞÆö™äÑÝÆb¾·\Û^nŒo1T‰<eŽ„¦²†ÄÆ²6qƒ¡Gâ2Kœ†Ii�aNê0,Jí†ç’jW’ª
·’leÿ–ÚJ¿•ØJÃùú¾»uÖï4Xó°=³VxL0^E#61
ÙÖ“Ï–Ñ]•ÕaQòZ+KMfC|ƒÉœà2V‹ë�N©ÃèIª5v&×™jã8Seše¬¦c1=Ë˜M/3&ã
Æhü#cªøW²©â›$SEø!·Ñ÷k¼�u°Ù ‚°ÄÓ¨cµ�Ø#h°VH}ŽuÔåÈ`uÔæD¶Ø9îjuŒË¦�¯«2&Ø­U’j«#¹Êâf,–Ž³Å'3Y÷ÈŒÖY…õ˜Ì`=-+³^J)µþ4Eoù=ø„)­ü/x�\j'¿
½:±ÀI°fëáïðÜ�zñ¹×) NCí®tjve±ÝNy´«¾ˆï¨ÓÆU;Ê¬µ‰ÙnO6ÖìH)¯i••ÕôÊJí£2½}Z¦³IÑÚŸN)±_d4öëŒºæwÉêê�Á×ÉjÛN¾	�Ë
Ø`Ó`ÌE´{‰¼n.µ6IÉÓ´�›2YÎ¦¼ÈZ·’kk,XÊ„Æf±ÁU�Têr2ZgKJ‰³'EãaÔ®Ç˜b×Br‘ëTR‘ë%©Êõ–Té|_¢¨ÿXª¨ûZªpÜOR8ÂI×¡qÑ�ÌÙ„us`
-ìÆ³>ôSZZ#ÉÝ–@®öTªkÏ`ÙÛsØUm…Ñ•­j~EKilY‹Q¤k¶‰5Íõ’bO³Tåé’*›‡%Êæ€XÑ<ŸXØ¼œXà¹�PàyS$÷üV”ïþ(!¯ñ«Ä¼†ûâ¼†°øZ3Î°­0ë;ú�·ú^¢†Nøý.Ù»²u§‘¥{ËÔ�iè*âè;uü’ÎŠØb¯U¨ôÖ‰Þ&Q�·S$÷îæ{§âó½‡ãò¼Kq¹Þó±¹;"Ø¾ó7‚œöc³Û¾ŠËj½ŸÕ¾Û¿ÒNôpšàßIÔÝ¶nx}DF‡�È6À!ó€˜Œƒ��ap3é·G”*"‹4å€�WØ_#ï¯äõ»¹ý^Áöþ¡˜œþI~vÿ!^VÿIî6ß‹Ü­¾78™}ïq2{?änéþ’·¹ë^Ìæ®1—Ñç3Ð�Y0Ù…¬mo2_?‘súÃD#,Òûã¨ÄÏ�ÚŸNEþm¤ðçGÈýE‘y~}Ôv¿):Û_ÃÉò7p¶ú;8™þ�è-þ‰¨Í£Á¨ŒÑ‘›Fžgoy��¾û×ì´á²Óv}õèÐÝèGDŸïÁ:€yô;
Æ =íŽ!¬â™ÑÈ<F¤ÛK¤ÜÇ!ùT"åM¥Òö©ÊdÓ¶@!+3 ‰Ø(ggªØNvz 5"mª/bÃÔkýÔ,+uß"kÝ¾s$›|•˜½ï3ñ¥ŒÁbÆ¾‹`ÆîGœ…ÞâÎ°=�@»}·@»~™k’È@îÛO”{€hËã|Ú4'¡ô¹G(-˜A‚9´>¨ Ô –ÖM”´tSR°“$ÁÝ$ž›¦„¹c$|üÅÎ®‘àÀmŠ™¹C‚ýŸQìô7à.�‚Þ0&Ð÷´½èÛ
íšÇˆŒ3DD3ùA¢­óÈžGˆ˜c|’†$$¥Rbh‰BÙ$)(.¤%AÈLü�ƒ¸¡Šù(24AÇðã£OAavá:&ñð?À§às:¾{€}÷A»ÚNôlE<Õ&R%Ê!{.¥'�$â.ñˆ½œH¬%ÁåMFd&hYpá,ã€YÆæ^FsKÓDOa€“gq!½
-cðK¼Ÿ`>¥cÐœ“ûp&A»ÚnhÛ°ñ³bèæž ÊX"J}š(ñ"þ„¢³0á+|€l»"#:CzFp†du¬¢ŽÕ›|
žÃ +äìE¢çnàP„ƒ?óÑ³Ña”¸k½g–È‡)kƒ¶ó	"úÕ.œ&Ê„æú"ÉóD1/"˜�Gx	`8ºÄ0ã/'ãÀ…!¾²ä]…)»Š:Öp®a³¯aS_ÅàW0Øåáû·ñ»?€;Dyûá}Ä:w=‰9À<×œ"*ÇWU«D9ÐL‡s‰(î
-QÔt1B!ºàÂ?fÁˆaN®%½�9ysã÷ùzñ÷æä&Ý[Øü·0Ñ7!róžc�7ÁÏéÀÿ˜.ó¸¦Ï;ŽBB8’ u•ÃYƒ•À ”p	’á"(‡ ¢È!— 
-‚'^¯
-Z¯j½6»
ÑusÖZÝ´‡­+:·Ug«k;i7{YÍ>*Ýk|ü=ü|åy¯ßó}¾ØŸïJ–L1}žÉ”Ùò[¤�¡dN=É�å9ˆ‡Éûí˜XZ‚¸uŽ:O]à°rQÎK:•+¾À»Ó€«¼,_ãed„vŒðÃa‘_ïã“�9F�DSTÏWÐ´B–mÖqÀJ#é_™>g%y’?ŒqÞÓEê�ËW¨÷¨«ÔŸ©ë"mîÀ-w8(Ü
ã ÉÑ}Ú1J;F™üQÛ(>:ÈYOÊ™WÌ™SÂµ’ò¥´x„|�éœCÓð¹øEøæs&­Â?9ëÞÃÜå¬û	Úq]øçÌÛèÅ-láÌºådyƒSç÷õ!®Q_àÎ™ï’p…º<&DÂgs¯ˆk7²ŸÇwœ3pÎüŠsæ}Øðìøä”’±�Œü

¸ÉY÷/XFÖ
-²ºÉZKÒF†£ŸaÀ;œx/ãÃõ.ñÍEîrß0}ŽÿéÜ³™wÌp-#{<F1™þÓÏhúf%3“¬Yä“QN_*É©å®�ô©…>-'«“¬Uä¬ÇÆâ<vpÿ½8‹£,�S,¡?acˆž
‘ôÿ³áÉ“|ÙJÆ×—Ü\g>®!ž¼údç.ùô§„åP�·˜“7±˜¾4‘³”åÙNoW’µ§‹SØÊOf7?ŸC8Éèqœ;ÆŒc>Ž’ø£~ŒÁcŠ§cíJö¼
}ÓÑ/#m¥Oää’QHF)èC9uä,aÖ[ÉêÀ/ÐCÞzrúx|ì¢p¿ä¿g±Ÿ±�•´_SŽ§zå™
´êÿcêÄôWE®¥¥oŒ¡™,9YÜm6EdÌ£È©ÆaÔ“ÕŒW™“¬Ï}ŒÅ^lÂæc�
0/Óú�ÌÜVÕvVø6Vü6ÒŸè¹Ÿ�ñŸ|Z—ž~òrœa,†0…Ü2£ÉK +•;9yÜ¹˜>”‘³�¯!«�¬²ÚÉê!g÷ßÊêÜÃˆe…œÆfFv#IXé½‚o©G”ƒ·yÄ}Èãö‚�7®O	…d{ÒzÉÓpP¨Ç>Qöˆ1èœ�]â™Ø)ÉÇÉ\l“”c«¤ý’Zü\Ò„-’eØ,íÂFé:l�õc½l7ÖÉŽ`�Ëi¬v¹Œù-t»~‰•Š‡èR8žêž¸Á£ä¢�?oÃ\S³È%8(�W/`Ð#;=£°]�~•
}ªØ¢ÊÅ&U6ªJÐ«ž�õê*¬S×c�º«½V Çk
º½úÐ5n�ã^CÇ¸a´�¿ŒåãoaÙs_Q�Ðúœã©n“y•­÷,[Íë<Ò^ãzÿ$¶7ûƒã<°c‚úŸŸ†-Ã°q¢½Þ¬óNÅï,¬òž…ï9èö.E—ÏtúÔ Ã§	í¾mhóíÁ2ßMhõ}-~¯¢Ùï7Xâw	�~GÃ¤QA½ßCÊ!¨óso²½\b{f£öq=À¼CÃv?É›:½/LÁÚ)ÁX5%ÝSÌèÒ$a…&í;Ú4yX®)B«¦K5‹Ð¬©,ño4úw	ü{uþÛ‹ýj¦þJX=õmaÕÔ›ÂÊ©÷�úO9žHô‘x“-ÿu^?R<Ú·±õnùï¹Óœ±vš=“Ð©
´kÃËµ1ÂVíta‹Ö&lÖf
-›´9ÂFm¾°^["¬ÓVkkœj—8Uv8U®uZ´UT´O4?è¤¨,è¼ó¼ Î¥�_ˆK¿£Oõ~([`$[º�ñ�æ•‡ívs¯]´eu°2Äº‰X¦ó´è‚…Mº§]œ¨NgÕ†¤ŠªC²œ«Bf9W†Ìq^¨›ç\¡[ä\®k—éÚÄ¥¡«Å%¡}’âÐ=’¢ÐÒÂÐsÒÝˆ4_÷¹,_÷­,Oç�å…8dWÈ6‡yõˆã5‹Ï^Ú²Šï;ÙvÛÂåX1M“õZaMøK¢ªðhñB½Y\¡O’”ëÓ%ez»´TŸ'-ÑÏ•ëÈŠô‹e…á­²‚ðn—¼ðÍ.³Ãå¹áÇä9á¿wµë¯QŸQß¸ÚÃËíaù%2mfâ��Ô&j
méâû6ÚÒ-AcŒÇø¡*æEá‚èQ¹!B\jˆ•Î�J�EÙ\
-£2åQ9ò¼¨B×ÙQe®¹QÕŠC³ÂnèRd6ºÍ0ìrË4qO7¼ážõuÏ=-òk·´ÈÇni··È<™À«ž…5ÈßËg÷tÎ´k)mi09¡Öä‰EfoT˜5‚y¦ Qq\˜¸0Ö Ë3š\f­®9ÆT…=&Û-;&Ï}†±Ä=ÓXé‘alôH3vx¦Æ®÷´ÅîôL6V&Ï(�W•Ö˜»ž‰1<£Q�sdç5g7¯\}ÔZª“¶´Ò®Fª†ª´(Pn™€RëdA‘%À)?A'ž5=Bj�7Êg˜ãæd÷4S¦gª)Wi3)“Íª$s�ÊjnSYÌkÕ	æíêxó!µÙ<¬6™ßS›LŸªL¦*sÜJsœCù;2�Ø€])ÌµŠjçßÍ´k1ÿ¯’×ÒòdæÚÆaŽÍy¶…9ÉÁÎÙIziF¢Ažj5)lV«G¢%Mi±ØÕ	–u¼¥ÜËl©õ2Y—yÅYW{­[Õ1Öƒêhë)µÁòõ‰Ú�ð•aúªèéÕi2¥ò<HcÒYT+×õ´cß—s]œ.FA†
-³3¼13C#ÈÊtJOIœ’å’”«°¤$xÄ§¤(M¶,u¬-Ï+Æ6Ï+:¥ÚË�²T•²J™Ò¯ŠH9 
-ORêmW¨;J}ò¿Uú¤‡”C5DæþÖB&ó0ƒ÷|ª™ëj¾ŸÏçÜ, ?[ˆ\»;²í?A¦}2ÒìÿeºÌÃ¢¼®0þÌ°Š,Š‰» ‚ˆ(JTâ’¸e”È":¸Ž¸0®¨ÀŠŒ(pkPÑ¨ècµÆ›4±m¢5�Ú¦æ©i“j­±jR«¦Ò.mÿxå¿ïþÎ9÷ÜóÝ×clZ¯‘“ø¼21Ù2ÔúJ@²uLð@kj«¤ÔÌ�Ö!ý­C­…­úYËƒûY7õµî
J°žì“z>0~ÂµÀøñÿŠOyŸÒ|æ.85“Ø‡4üZ†rù}:ViJº4‹`Í´(%+Lc³:htV´aDVœqXf¢éåÌA¾ƒ2†Y’2FôOŸØ/==¨oÆôÀ„Œ�}2
-â3Öú÷Î¨õë�Þè—~ÂÒ+ý¼%vòUKLÚwþ1“ÄLj<o'¬MX¢2x…hÌ™({
-wýl)uš4ÎfÒ¨œVz5§�†Mïª!9±ƒr<“r^2%Ú†øôµ�4÷±¥XzÛ&[âl6K/Û<s¬ÍiŽ±­ñíi«ñé9m�O�iÇ½»Oý­wtöUïè)ßúFe=4Ge6[ÂÚÎ•»•dIùp ÜLwýéø�Yø¾Ù
±ûk°=Bí5ÀÞ]‰öÞ	öþÆx{²WœýUS¬}œwO{šwû4ïîö\S´}¹W”½Ô«ÛœjÏ®sv{v™}ÌØyöYc§Y_;ÍøÖ«ãô¦Ž9�½áÕ’kùTzîb¸ss¨võuØãíø�\<Ï©ž·úæ…(ÞÑN½]ÔË£G‚¡‡ã%�hÇ0c7ÇcW‡ÕØÙ1ÅØÉ1Ç££c©G‡Ëðb^•á…¼C»…ï(rÁÇŠœÿ•"çÝ5´Í}àÑvî¿�uðªP)ù:á.œ‰ï…�	Û:ß‰%æÀó,‘â—I=ò-Šr†©«³½º8»©“³—::ÕÞ™¬�#Ô®`¼"ÒÕ¦`†"œ…9‹ÔÚY©�ü
-^~DAËÎ(`é-¹­àÅ÷¼èGmƒçFE³9�sð½°sÈ{2ì×±K¥Aùø¾|×J©S±§"KüÕÆ®W{…¹¢êŠSˆ«¿Z¹^V�k´\åçš*³+W>.§L%åò*Þ*cÑ~V�–aåEy¬¸†nËXø½ªçòm„Yˆä=‡šg“÷DØ£�Ò�Rb‘‹=ëR&E®•B*Œ²¸ýåã—·»½¼ÜQòtÇÉÃ=@÷P’b¸¸it7…u“ˆ»„�0Þnf¶#¹ƒXÆ
¶ô&º«Jò-Éc.£<>v:ìrÎ«I¥Rïr)ªïY)…n”üXÎXíÍ�æZ�ð·5\Âj¹tÔòá¯å#TËp«¥ÉkI²–kX ú'ãÃBÌkÕe†âut[kÙç•p—°×vÍ†=ö¨5Ò`^KØ u‡Ù¡Z
-ß,ùo•¼¶sÆ®j‡"ŽÄ±“8vrùª#Ž:.$õ|øêrõ4z=	Ö³hÝ<ÓˆÞåýóèKt]«Ùç‚Bzöê�û57}XÅ9¨‘b¶Ð0#vHu’©ö´ík‘'~‹´Ÿ‹ð~.¡:sárÖÄåãõ8Ä<LÃ"Ñ&
-ÚD-R‹ƒðìgèŠŠ‹éÅÕœGöyêzj@Î#Éw Üø�R·]ô¡¿ÿÌ&Ä˜a<„±Æ‡€‰!æàx¸t‚š¼Û“Àeì—€÷Ä§iüÓú4�Sõ\œxñ$qœ<§„æàÏ3ag�s
-5F®‰äÙfx¡G$sç8:�(%f�µÐ{è4z}Ðb�è“3-f¥Å0pI?ÇåôSâ¸Àð¿È¡»DÁ/ÑT—(ê¥ƒè¨òÙ¢y°mÔ:�¶C¾ÉpûfÌ¶ðüayœ~Îx¦3èWè7èt±ÅØ¹§†í2féJ¨ôFá*=r�óòw>79€ß¬ÂÜÑh·(ö­Üžñ‰çå'
-B‘z¬hý¨~º¯¡º§qx±4ÝV6žp¦nâ1oàí®ã1ÿ†Ç¼¦Uú+^÷k­Ñ_ð™_âäþ„Ãû¿{ù‰Ë}›�~¡‹º@ˆ7ð’�¹ù¿:ûÔó>‹¡Efœh„~P¸ñú‡ë�âÍTx°ràÌ�3Î"8Ëõ9óxÝKZ
§œ2Têw¸Ëó¸Ûs8ÒOtˆR�¤tçØ®«èÔLTÿÓÿÇð/™ô�ZÃí3–Ü’`×¼îejñ{jqA3ô©æÂXÈª‹É#_kœb¶¦Œ-ª€W¥_R‹÷UO» }ŽëgüïqV:¦»è±ŽB|®çüèŽ<¨qy¶ƒMn}É+Þ(òIÕ¯•®�4�õgÑ¹ä°�v\'_?×J²-¡e×ÂªdíŽÌ›:Â~f?šˆè ;Àn ÛýPŸëy·Ñµ–Vb?>Sùu&ò^ð’x{8œqp&ÂÈ„aƒ1F.«çqL—ÀqÂYg5Œu¬]ÅøØ¦FíbœâßSj ›zö£Ž.«£u�ëžÅp]E|ÒÞžÔ3˜ü^ ¯îÔ0Þ`x#`¥ÀIƒ‘¥·ˆcqì%ŽFâØC�î¢Gè�zú³ŽZìP-]Q§í¼±••¶°k›õgþz‡*=DÍªF÷à2µé-ñÄÓãwR¾pÃÈ±Ä²BxCáŒ†3Æë¬<FÕž
'NY/ƒ³ŽNë¿¡M<ÑR‘
¬XIvëéä
-öc�¾G?ÒÅÍôÇ˜wÖ—QÃx9æÕ2þäH®‘p»‘[<'m ¬á°Æ’S*œÉä1N¤Ùpæk#ge½QI-ÜôE-ç�5†F•~ªRÃ‡r?W‰ç
{ÝC�TäÕ¬«~Œ•0ògÄågc#w�É¤CˆÞôì ­¦žªõî§jŸdmò¡�¾ãTi¶j½9]æl­3ÏP¹Ù®µ–…*³,S©ßJ¹üÊTâ·AEþÛ´Ê¿Q+üßQ¡ÿG*øBùA·´<è>zŒšu¥
£Žñ~‚qÖ„v·|þÚá7ˆg[€™ÏsUµêªÊ�8¹['i]èP­
¥²Ð•†N’+,C%aÓT6S«ÂæieØ"†¨ Ü¥üðõZ±EK#vkIÄÛZñ¡mþCq™µu^Qü>íë“mœ`£€%0 #	$�„„@´€°	ˆ]ìÂ#âcÛìÄK`Ülu2™ÖmÜ:�Œ'ÓIÚ¦m:�´ÓédºLëv’I;iÚ¸nÚÄij«Çœyïñ»ß½Oß½ç74µûšÌ»OyYšØ�¥÷ÑæÞFë¿‰sº†ó+Øæ/"ž
%�ÖòvÒªRE+O”Ñr¾‰Ž8èhA-(S¡#1:\§ù‚>:´g˜Ò{&ivÏ<M«ŽÑ”j•&TÏÐ¸úS›FÕoÓ°ú}RÌª?‡rUYÎ{eøËÑJ±¥?oçh½çÏÄ²RÈÒñ"%=¹·„‹+h¡ØJóÅµ4WÜDéâš)n£©âš,éfÆK˜TIŠ-I3#¥KÌPéif°ô"“Ô<Çé×Üàôj¾Ï9¨ù5§GóWnwé P–÷.Ø¯Wa@›Ý‚.âüZÝ)Ü?�XŽ–‰i±,—k)­Õ23Ú*fJkg&´nNJëãŒjCœm”3¤íâèz9IÝ·O7ÍíÕáöèOr»õ¼¸þ¯Kÿ
^§þM~‡þWüvý_øíºÚu ¬àG&ÔãÆ‹}®@Oa;mÁ|‡ûKˆeÁÀ§9CMhÂXÊŒ+8ÃÆjî ÁÉM<¼>C€×kˆðzíünC7?nàw'Œó‚ŽÊ‚Xåš0Z¹)Ü_ùª°µò¶(bü…(lüúL6üÊŠÞóF
Æ,Æ='FO—q½„x#¶´™¡)3K)K
Wïe,:NŸ¹Š×c®á'Ìu‚.s“à€©EØajÆÌ�¢¨¹OÔf·šçÄËQqÈrN´\•4[^‘,oHýæ÷¤>ó‡RŸé3è+©ß”•¼iÇ8åBjñÔ!Ð1Ä²€XÒøÛ$âµKhÐžKývõØ5œx��wÀfáÇlá~›[Ôjõ‰ÃÖ°$dm—m=ÒfÛ°,`›‘ùk–dÞšUYSÍe¹§æº¼¡æ{r·íçÐr·õ_ÐWrwuVöØ/c¼¸ŠQg
ãß2”Áõ!ÜŸBl£8Ô
-©·.‡uùÔYWÂ´×ê¹m®*~Øi�µâfg£Ôïl‘y�ûåMÎ8ëq°
®IÖíZdë\§µ®K
-—ëë¬Óõ:ëpþŒµ;ÿÌÚ÷X‡ã¿¬Ãžeo�ýFàK�¨Cr-àz÷Ç ÄtÐÃ¥¸gu4æQ´±ˆZ=eœ ÇÈ4X„^·CÜèn�6¸ýòzw+[ëîT¸Üý
-‡{|›Ý½ ¨iXQØžVX^RT»o±÷»ÐŸXKý?–º/¡¬âæ£Ü‹ßƒu€žôcÆÅq1
"žƒ8ïÂ½˜_Fm�\
-TÔÐ0~9·Éo4øjÄu¾z©Óë•Û½aÖæíPX½½Šjß˜Ââ›W˜}'Y“ï"[å{Q^éû®Üèý©Ìè½#34Ý•¿d
ž,{ük`¬`y`�Ž´ 8ŽàºÇ.\Ç‚D‘�ˆZÂ;ÉÎ'o¤˜ñ„uœúpß²	í¡Z±5Ø(µƒrS0&¯
-õÈ+C£rcè�ÌZ–U„.H+B/HÊCß‘èƒ?ë‚wÄºæ»Rmà¾LëÏÊ_ëYpÎƒsÖh>Œ@P<B…=c4DyÔÛF
±<ª�’+VÆØc®5VÍ7ÇœÂª¨GlŒ6KÑ¨¤<Ú-ÑÇFÄºØtB¤�mË¢Ï÷Eo
-4ûýQPÚú©¨$r_\~(¹þÈ’�w¼%Ø¢Y0G¡ƒà¶cŽtÀw òtÕÆ¥äˆ?N¶ÄªN”’9QÎT&L\CÜÎ+�»ùºx@ �·	ö%MbHPš˜å—$Žó‹ãë¼½ñç¸E]¯q»Þávþ�«>ðžºã�ªý¡ð‘»ÞIŒÿ`NBƒ°«qp÷ƒÛ’ jìÁ¼ßKdí�©;“JªHQy²ŒtI#³/iåh’uœ’¤—»7á%;¹…ÉŽ:9ÍQ%�2É5&¿ÿóDÿ·eßIÙû{Röü�QvÁÉë~ÀÝó<˜Ç°Þ9pÇ:‰úÀîèF
`}}DõI"l’E;&%ÍØcT2V@{SÅT”Ò“:e"UÊA)å§‚¤LµS^ª�v¥&(7•¡ÇÇÎÒÎ±MÊý&íy‹¶ÿ–v~B9ƒŸSÎÀæ2˜§ÁÌÄá·°æ!°{ÀŽ‚Ý<€9F‰Lãðž“DE3<ÊŸeI™ÞEyiíJ—Rnº‚K[hgº–v¤}´=ÝFl:AòôIÓó$ž=EÂÙK$˜y…øÓ·‰7ùKâO|H‚ñ»$¿OÈó	hÜqä;	vØ‘aøNX¢Ú	ø¾i¢òYxÏCDù°Œ;…Äf¶‘,³›$5‰3e$ÈX‰Ÿq7ÓBœ’›�×ÍàåLíâ~t0‘·Ð`Ìæï`#ü’�VñØr=îò}ìØ-`»gPƒ9"Ãa"Í"ÑXÅ\ü;ù2Cüx¹•(ïQƒ‡ÐìOqÄæ¾‚Mgù)$wI\9‚î,6á-,FòøPüß¡)Œ
é�ó0ê<	
‚»l/ÖìÀ«Uà–�«^&ÚuŠhÛ"Á9¡k<×0®aø{J	!ŽuÄ±Ž8ÖÑhÖ±ñlàcß@r7�‹õÐ3xîe|€·1 À˜žý€hõSzuž7…Z÷‚Ýv3Ö\5Wn–°û<øëD¢à?
]‚.#ŽËR4}äã*òqÃ×³¢MÄ±‰¦·‰Íoûº…"n!øÍ¯á™×ðì;xnâÊG´ˆ:Ï@C`ÇÁŽ€Ýx’¨f•¨b�¨Låÿ™.÷°¨Ë,ŽçÆ\PW\/HŠ�9 3ÈŒ02Š‚B(¡ ˆ(H  ^ð’›¶–«–âj¦�·2µ›Omº.æZÛî³mé¶Ý·zž¶Û¶[neì‡ÔžýãóãÇœÏ9ç=ïûžsÈvÉº.é¤©ç²G{ûe”öÑ”?ÂÅCcü(
éÂƒøÑÍÜÍØC±÷dÏjž1ÖÝÍû§uq€—µ^»’|ÏYGˆ9�x=¤m<Ìp˜CqÝN91ÂòÔƒC‡Ñt´_&é¾<1Dz’œœ Q=IcxŠ|œæ~Š59ÝÌ3‹y
-£§øâÉgÑ5Ã®…}ìJ7›ûø—xâ¼f(.8$ú9�#ÒÈÐÅ €N¢Óè©#1JgðåyêäEósÒù	Oøq‘ùàåeüvq·ôA\8­«`—ÀÎƒ�A¼¸·áæhxCNPƒ§°Mê„nè…C%®sè<êEÑËèUjåµÁÒåÑQ±Ò;øñ>{åC6ßGÔÆG€?f�?ÞûÓÌ{]P(“`´¾ÑD¦±4}¥¦Ãæ±R}ÌLõ¡jõ�ë=Ý­wµLokd‡þ®Ný�©ê
-SÖí_)œ¿°xf¡^!A/ñ³—oÿ^WQßOê½1óÞÔ²Â¦/˜3?U<S¡�Y4 ÷•kŽÞT9Œ*u0`4ÃhÕŸ˜1_Õj(ët‰	ï"3^/áï(Ú³L«/è©ëÕ¼}Ž¨žƒöÿºÉÿýG&¸!ú‡Fë�'./¼t½¦©°
-`”À˜£Z˜sÏ3çžÃ�Õç8kàl êÍ”Ç6Êd7år�²9®,Ü“X:NtOèêûI7}ø
-}„ÞR°^×HýQãà¹Éa
-9Àš§F)ö+°_ƒýz"l„ÑL‰¶Ái‡±»÷R¾÷³
-;Ù6ûÈÄQ¶Ò³ê¦P²Èö¨7ÕÏÿ÷
þåþRb=z5”Fèy9ù¦žNqäc6öË°Z�ýj¶çB�lÕf8m0Ú±Û©GõK=B.öq˜ü†7]XØ�å]Dù°¾D×Pß�ú.§69gË ³2²Fƒˆ1f”ŽÉËg
-–¦Á˜…ý9T[Œ
-V¼ÆBíÁ�.µÀYŽÝUzˆ5ÙI]lçÓ6¾ñ ÚÊªýŠJºŸ
-ßBmn�ß¯Ïà¾‰þpc»õoõãäâ¹èÑb+V*œ,¹ÄR€å90Ê`TplWÃY§ÎR8+átR÷‘�íTé>vÌ1¼:£õTð:Ö£“ìwR…kñáƒþüØê¹'�×�¼ž�ÄpC‰m,qMÐM‚å‡“
gœBb(†s¤J85TA=¬&8mpVaÿ^ªôA>ía÷f•ž¡r_ÆÃ÷ÈÖè*º¦+¯çqÜqœî?òù¼‡ky·ÑLœ!pGÁŒ�ç†åƒ•¡�†m0æi½±P�Æ­5•kµi¾V™¨ÃÔ vóR­4·k…yƒÚÌ[ÕjéÒRË!µXžÑÝ–Kj²¾«%ÖÏµÄvU�¶kzuÇÞHŽaŽøý\Á»ø¼�cöŽý­v›6
Ó&[¤6Ø�êt$jMðd­�©ŽSÕ>0_+iÅÀ;Õ6pžZVkÙ EjÔ¬»v�š¯Wãà­jÜ¥E!‡Uò¬êB^Ñ‚!¨vÈWè;Ô§—Fq}p¬÷pÅt¡m´[xÞÄß7r
®2Hk~~‹:†FéžañZ>|’Z‡ûµlx–ZFäªyÄ,5�˜­%#ÊÔ0¢R‹C¨>t‰†.×‚‘kU3r‹ªGîRUØcšö´*Ã.©"ì=Í»å_è{Í
ëÓY¸Ç£¹zi?vpõoA¹z×Ž£ÕÁ—öQ6­5\­£"Ô2Ú©¦ð‰j÷©!<C‹ÂoW}øÕ�)Tí˜ÕŒ™«_Œ©VUÄbUF,SEÄjÍ�¼Oå‘©,²[¥‘§ugäECIä»†âÈ/ÑwÆâÈ>ã˜GâÈ×ìè^®¹µ<·;iÿð¥u¬YÍcC´dì(-­…ãâµ Ê«š¨TUGT5M•Qù†Š¨"ÃÜ¨2Cyô|CYôBCit‹¡$¦ÃP³É8;f‡±è¶Æ;bNb.gÅ¼mšó…iVô·¦™Ñ}æ§av»im&’´uðÜæ¢¿â]¾,?@uÎPÕ8oU•Ó©Jg‚až3ÙPîL7–9³�¥ÎéÆg�±8¶Ä8;vž©(¶ÖT×d*ˆ[iš·Ñœ?á×æ¼	ûÍÓ'œ°äÆõZ¦Å½e™û9ú6hš³/è$íÎ~uè¥&Ñr¢<·$J�¼«Ç—Z—MU®¡ªp‡«Üm(uÅJ\ã×dS‘kŠ¹Ð•c.på™gºŠ,ùî»,3ÜÕ–éî† Ü„åASÖå$<h½=aŸ5+áIk á¼5Óý&úÌšéú/ê³‡·7‰ÑÇœ�ÚÑ²df
|©Ç¯ÞÏ÷X4×¢Rï-*öŽU‘Çi,ô$˜f&&™óÓ,ÓA¹‰¹AS=ÖÏ�ÖlÏ|[–w‘-àmµMñvÚ3¼[íéÞ½ö4ïöTï9ûdÏ{ªçS{jâUôƒýü®”ë­p'íß
-ÔL»±˜¿ÕâK%*÷Tâ¨Ù¾*L‰ÐL_Œa†/Þ4-Ùc¾=)%(;9ÃHÎ±MIÎ·g$Ï±û}ói¾:Gªo©#%e�Ã—r¿#Ù·Ç‘ä{Ü1ÉwÖáõ]vx“ÿé˜”ô
úÁqÖÃp7ûY‡tj5¢:žçãW9ïŠÑ~»fú‡*/}´rýQ†¬1ËŸ`ž’–”žæ·¦¥eÛ'§ÍpøÒŠ‚“ýåÁIþÚ`¯¿9Øã_åHôoqLôw¡cöÿ‹vwÚvwê'wê7ÁîÉ×‚û[ß07M¡3©´Uó<7ƒ�ß…<ç‚”QNV˜²²nUfÖxCzÀeJ
x-¾@ª5)�ióríž@¡cb Ì‘¨q¸MWV‡=>k3Úm›8j‹üÖxÝ›ù‰=6ãkGlÆ5Ç~Û`¬g4Z™Í>@u¨ý�érŠò¼Âð»
-"‹¨€
-ˆâ
‰×hŒ7d×«ËE–ÊeEå¦¨‹¢èt£ÖÐÆ¦jÔÖàL’66&4I›1jkÒ$ÓDÛicl{‰�‰¶ô™¦ã¼ŠË¿çùÎ9ßÿ}çÍBË“™3±+))F-´hžu¨æÚ"5Ûg˜i›`œnMò~Â:Ë4Å:Ïw²5Å<Éj7O°æ˜Ç[‹Í	¶µ¾ãl[ÐnŸ±¶vŸxëÓë¦¸”÷Mq‹ïúÄ&ÿË»è‘ù0ì=°áÔ¥à·�k’‡Òmð—à¹Í0?•æ§YiÍ°Ghš=FIöC¢=Ñ8É>Ãk‚}®)ÁžlgO3ÅÛ³LcìE¦8{¥w¬}³wŒ}—÷hûs^£ÓN{�J»hŒN½iŒZú¹wÔ3÷MQKù´ÃÞ
¯^5¼2,I!Ê†›–&Y…,—æ¬�¦g˜””9H‰™Ã4)3JñJpL2ŒuL3ŒqÌ1Æ:zÅ8–z�rd£…Æ(‡Ûé¨7Œt´Fd2Dd¾hÏx]a+~«ðô;†ðå÷�aËy„ÝsÌµäZ×	7c¾»˜œ�çÁ®ÍÈ–±°ãóüŸ¢¸¼Å8c4Ú™ hçE9gi¤s¾F8m
-w®P˜Ó©áÎ2
uÖ)Ô¹SCò($ï¤,+_Spî
Y²?“%ë+…d=4´ÁÝ³fù®‚›CÎËa[³¤ù9Ò“Xµ$'üB)¦È¤HW F¸†*Ü©á®8
sMT¨kª†¸æÈR’¬à»‚Jrè*Ñ@W•ü]�ò+n“¹¸C¾E/Ë§ð×ò-¸-sþ=ùå­Ýp=0×Ã\�)å“³v*ìEyô‹6
{4±XŠÃºŽ,“B+|ì¬ ÷p¸£4Ð/÷dù¹gÈ×=O>î%òvgÈèfÑn|fÅf„y-Ç4–¿Ä¦¿ìc ¦È’¿«	æF˜nj]w%õN‡mƒ=¯ˆ”H“Kñ]åRá†­“‚ªŒò­ñ—±ÖÂ¡ÊÐQÃ…_ËÅRËeSË¡RÃ&¯¡©5«Y�0µÕ;¶
-·ž©qÝ4ÿ‡Ñ=må±jj]
-·�zgÁNƒ�{69'¹¥qkñžØÕ0¬b06Í¼‰ao³™ƒ}bàñàç<\ö<]M‡ŽÇú¸À
ÔÂCÏ6žÝ‡^`óaëß#y&É�_ªf%�•Pï<Øé°m°Ÿ&çië¥	pcà†Ã
öHþ[%ÃvÖ°oÛÄÐ·“p'ÃN3ëha-¬£µ÷ä€ka£·RÜV
-ÙZÏÿéGóažïä»˜ÓLÓ;î¨Z·ˆ^gÁN…½�œgR¾Ipc¤R°ì�üšáï‚O(g†à=Ôc/ChCa}ÙG_ö�{|àð;À†?H�Vòs#¿Ãç>û"Ïý‚ç¯ñÝÛZGŸK‘“GÒa[ÉyÎi
-Üø&iD«Ó¦¡
î~tBÏõ«ÝÄ<€Ë�!ôyÒ#`GYG—ï1Ázrœd�¼ƒ`Gøü<Ït¡ëª¤UÅ°³ùu*ì,u:ù&ðhô^Þ˜ØJ†^Ö�¥Ä.ôÿÄD´ãÃ „A8é+�¢&§éÍÙHeÖqŽ‹ù‡o'=édsuÒÌN‚¾t½‚ºT;ö
-ØÖö!ù&>KÈ3f KöêèçôÊØgB~‚Îõ"a4…áÄ  Âêg¬åfáuzóá%êÑÍ:.Ó“nî&Én]ì:¯Ø¹°í°²¼éíÔnù
9Å;ÐËû)êìg¼ÜoÆØÚ˜Qa�„1}lÒ~‰(¯xýõ{å*ý¹1LºÉÐüõø„Ëàv¾ôÖq›wõ{ãÓ£}ž÷;™q_Cô�Fé¾&âLgá†è¯ZŠ'ÍÀ¡åé�*Ò§*Å®Ñ‡øÜðT7qO¿ÁQÝÀÍ]Ã	½§6]eÃ¼KÓ~…¿z›E_Ñ;êÆ_uáp/AêUW¿þ
ßÈ¤*X_h¤îhœþ¤©0çê–Rà-ƒ“Eü|ÜšZFüJ"WÃØ ·prWXG7n¯Wv	ú&îô¢NPªóºÀ'?×G¬æo´«§O¯öë;¾`È5@Ÿ(œ§cõ>þîµx—Z¼�Ç¼¬tâçPòJï"~ñ+‰_M[6ÀØB‹‰ÛBËöÐº@?JÏ²u.°…®óÓç:£‡¨çêå?@A·ÐMùQÇPò‹få	°¦ÂšK„Å0RY±sÙ‚Äw±%Ëˆ_É–©‚±†‡¸;Øº»t
-¿{’Zü˜¿�ó­29ªÛè¾zwÁ‘~}Û—¿ô{t½E?ÞTùD�KœÉpfÂ™O|+Ýµ?“¨¹T¹€ø.^ÏRk`Té˜6·�Wx§ž§'?¤íüæRÁúGÌ=:õõ°ÊºÃvEœÞäýx«Ÿ×r
-…
+Î0f!ñmÄ·sTd?—øSÅ0JaTÂ¨†QOìmÚ«V:²�•æh=Me^ã“kè3ºõ5êéÓŸaÞè­^é
OR‹ã/œ\baM„3�Œž‚±ˆõ/!ò2™0r9¶`¸x#Êà¬…QËÎÜB%šø³GÛYi#Q·AØÊNn ý=B=ìwŽŽ~þéþ£ïHïñ+òBN‘¼ic‰”g&œ§a$³þg`,ƒ‘I÷sáÀ)�Sc=±ëycµ‰omdõèX»¨Z
ovµ¾DèÞ¿u•£äÇÚY®ÀÔîÇÕÂñ¿O^p‰0æ(xãa%õI8óà,†³”l—Ãr@\	kœÕp*áÔ«ÖõUæŸtÈÍÎªàÍ*'ó2ÝE_ÑÁou9€c–«æ®½v´/„k‘ÿ·òy³ÉGM†`˜j0Äi³q¢ê½¦iƒ÷Õy/P­)EÕ¦TUù¤k�O¶Öúä«ÒÇ%·o…*|kTæëÑjs‹¾gÞ/—ù˜ŠÍ�*2wi•ß‡*ô¿«ÿûè¡.2‚œ	ã*ŠàJeØÍ¿MóÛ¸v“<ü´É?Tu¢T3p¬ªµ.`†*çjMà"U²©<È®Ò L­Z©’ÁE*\¦¢ÁU*Þ¢‚àf9-û•g9¦\K§r,ÝÊ¶|¬¬�/Ðô½
-óWí!®ýï�†�¢s¸öêzÇ´¡^ª
-ù/ÓåWUÇñï½»{Ó†é+¯Í»›÷vw›Í&›GwÛd7¯MšdC6›&é¦IÓmhhÓB)BŸb©ô�N•ÚB¤”ÆAéè?Ž#8(â¨ÿ¨(¢2Š<ý uÆ?¾³»÷Þ=Ÿs~çœ{¾ß4·Â©›³\Ú–åÖLV�ÒÙMšÎ^§ÍÙíšÌéÑ¦œ¸R9I�ç¦4–›ÖhîœFòö+™ÇŠq~UCÎ4è|Rqç4àä­ëü³ú�ÿ@ÿ6ž†÷`¶€ãíX¥tíçûn®í¤_ÛéËlþušÉÏÖ–‚bMTjS�O©Âzm,\£±Â6�vi¤¨OÃECJ�k¨xZƒ˜ÏxÉ>õ—Q&`}é£§ôŠ+ù¾Ñ]ò†ÑUò'ô¡ÙUü©y…#íUØ!,ØQ76q|>ç¸6K_¶Ò—é•š\¹L©•ù[éÒ—[I—_	W£†\a
º¢FÜ3úËâF_Ù£·|Òè)ßft—ï1º*™�'ÍöŠóf´â²©¸j¶•¿nk-}hk-ûÔö6ãÜ»½¬íD³¬7}™â~ªÊÔXåõ©ÊQ¢ªD7VUj ÊkôUŒõUÍfOU«Ù]ÕivU÷™�ÕÃ¶öê”-Z3ck«¹ÅÖê>`_ç¾Ûvßo¹·¯q¿ho®ù)ú££¥úô/Ç#°ÎÂ¼[~–x7ÚŽ¶ò{Š~mäþ”ðdjÐ³BýžõzÊóÔ]žÕf»'h‹zB¶6OÔÞêé±¯õÞè{Ç!ßG‹o§£Ùw»£qõqGÐwÎjð=fÕû^°¾×¬€÷-+ày}b]ZÍ~€y'ô6ìÎ.´
mæwŠ~l@CÜðg¨×¿DÝþ<uúKõW­~�®­³…j›í-þVG³¿ÛjòÇ­`Ý«¡n³ì°ê_´ü�»¬ÚÀ}ÖêÀ£–¯îyË[÷Ëëÿz/ÃWûIÆEÚ?
óHPÚ×ˆÏGi4ÁïQ®¡~,P,hSgp±¢Álµ‹–-A·Ù¬µƒA{}0ì;,°/£¶1™±ºq2Ã×¸=ÃÓ´ßZÕtÝk¹›¾iÕ4~×QÝøª£:ø{«ºá½Œêú�3ÎÃ8óàgñ¨…u€6£q”àZ?Šñ½�ØÒº&SáÐrµ„òÕZ©†PµùÌÚP½}uh�ÃŠZžP¯å%¬šð&«:<kU…ç•á/;*ÂgíáGìåáçìe¡Wm®5oÚ]-·\Í[çà‡q;Œ]!|~˜¼…FPuU¢ëÈ}D…–6KÁÈ
ª�äª.R¬ÚH…¼�±*RgÖDšmÕ‘6{e$f¯ˆÙË£){Yt›ÝÝg[ý’­4zÆ,‰>l–D¾cG^1‹ÚÞ4‹Zßµ­ûÈqþ�°öÃÚkÖ8J´áõQ”è¸¶]jÆ×w™ªíZ$ow–Vuª&V¦ªX�*bµFY¬ÑtÅÖ™¥±n³$6hÇÆÍ¢ØŒQØ³Ç(ˆ5òc_3œ±‡äì~Vy]/+¯ówF^Ç»f^ûG¶{`†¹‡(²
Þ$Ú3Žº;¨?±±;\Oló­—ÜýT9°Tåyr
”¨t RÅq¯Šâ
* pùñ9ãÊ��*'žVvüVeÅkÅÀ=Z>pIËú¿­¥}/iéúßhYïß´¼÷ŸÆ	Øàí‚—f¬a&P_·ÔÑ#…á6×jãð‰K®„]EÃ‹U�Ì’3Y ¼¤K9I·²“~­iÖò‘ˆ–Žôê†‘¤®™Òâäœ®KÞ¡ÌäI-¾¨‰§´`è‡Zpã¯µpð/Êü@Çàî‡¹�±N¡Q¸ƒŒ¹vvó ’<ÃRÅˆT4&e§2´lb‰–LäèÅZ<Q¡E^eN4háDX]rLÊ>‘’™"H¦È»)BãFÂÚ8�eÇ4ú‹…÷W†¹æÌTŸ4·@êdÜka7$™ƒQ²ç8ÙoBÊ�’–N›Z¸õ:9ÒËeK;e¤9XÒ¼PÓ¼lÒMˆâ¦i0M¾Ko‘¶ìFG!jšlµùyü�‹ÛôŽn‡9o�1æ!êÝ;»™1×‹ª'¥ÒÍd¿´´ì&)s–ü·}‹˜<·ƒÃ‡þœqèÌÕ!6Ùž£±9:¾c:@±OI7?ˆk³/K7ý½£½ð¶%èµAÔ»vv€1»†kFÊ‡»œ¦í”ì·böö`¶ö�åöbxö’çörØpÀÍsøÌóÒ™g“ÍSàyj1¿•ûÛ}Çy–»— º›@¸ûWÒ­ok'�l¡ÖQv/ì6Ø�ŒÙËT–Ã-ØEö¤œ‹öÂgj1o.ÂXÄ³s(—
ÆA˜ƒø(ý8Ê‹ç›ìÅ=º	Ñù#G¸–gq®‡©ÆÿßÔ,Ì)4JÉ`wÐå5Œ¹vŽ5Àx‹è~Ömðï€6Í`d1zèý¸ËBôã8õø
-õ¸›zœ¤§8ðNñò9Å;MqOÓði:Å|œÄ9Ÿx–gŒ~©æyJðHìut·~�TÃxK˜ÂìÃðaÚ>cRJŒ<mé3ÓËa‡Xf:C_ÎR“{1¡÷aH¿Ž;Ï:½À�{�µq�…‘E}‘¢^dîÃ´°?ÎS‹û_Vš¹»™Àn‡ÝD�½‡XpsØN‹OÀ?}�G	3ü1­D—ÏƒÀˆ¥¦K˜ô‡0æ/‘¥&ß¢—1—y>Áf»Â`¯Ìó��\æ—ŸBW5	{vìµ°ëo%Üü{¤%0ç®ñ.^ã<„ùoAìóPò8zâšXnzŠõúÌõÒ³ãç0¨Ïc^`m|�9yq»tÐU
-x•Æ^|RãLQœK°›èž‡[¥p³cæ%Ú{=z�õ?ÆÓèÄÓªç®…Äå%°Š!ýˆµòëõLók¼;~N?~ÁÂãéõ;ù<ƒ iéÿd‘8–ê}²Õ»ª&	ô–Âÿá¹Ì££¬Î0þ|ß7B @²/Ìd™L&“É6Éd�,“É6Y‡!8I	«DDTPÜ(TÑê©T­Ë©•VOµØjåTk­u­hW[�Õº´§Ë)îG”Súlÿx’/_fžß{ï}ï½ï«÷ÕCw6L_ºBoè:”Iý�îäwô¹¿¡“ù5]Ôkt;¯Ò½B²þŠó%åE:Åç™°çøY~>£·è)?ÕS�žüJgžÿÇ?…>“	w‘þNŸùŽJèÈªô'úª×Õ©ßÒÛ½¦Œþq½@ù�Ò/‰ãÄñqüœ8žfã<Egö$‰ûS’çýÕLàã¼ý±~ÏÔ� ¢ÓLå9ý*†ÿ �§·Þ¦Ï|]:.»^¦¿{QuðŒ£Æ NQ¼cLûj¼×²Ó,Ç&ü·ã¿S�Ò¥+|„ÎôaùÌÅC,æƒ|ê{8Ñß˜™/ÐéÿëL¢÷ÑÑqÖãYÖãgÊƒådUpqèÀ¿—Ø‡ðŽâÃ;Ž÷$)9�ÿ&HÛñ¼””½’Ô½V÷±‘ï¡ß½›¹¸‹oÝÉlÝÁŠ~Kë0äÿé¸œÚÌµX;R—õxL`eÂqÀqÃ¨…Ñ#ˆþÃ¸FñŽ±]âxOâ=�÷&</ÖíÚy/[ùºÝ›™�;ùù}Vç˜n„ôuý�B§ÏŠ›‹Üc?—ÚŸÝsa¥2Ž<Æá„ã…Q�++Ü…?ÞÃd]ÿþè�&`Lã¹™ŒÜ¡äÆ×8PoàÍõDuŽ×°ZûXÝ}z�¬ù�>«7`r{�3ç¶Þýg�“1-€—	Ë§F5chÀ±
ÿþý›Ã0¢øÇ˜ù8ŒIü7à»•²S{˜‹+ùÔå¸ìfæ.c„»X�Kõ&:�N¡Óäù¹m}†ïWGàmg�âx)°ráÁñÀ©…Ñ£÷Œ~ÃdaNÆjSøn$‚‹5ËÛ|k;#ØFFl%{¶°c63ó›õOVîstš}Å±væˆµÑóq¼â÷�3W‘¾�o	¼XN½pêà4ÃèÐ%ì•YöìÅ�³Î8œ5øOã½•Hvé"¢žf×3ºuìŠ)rb-»|-ûc’ÜœÐIã(;BpGë!J’Ð>®ž=”(Wš6æ0§LxvÆä‚U…{=ãi�Ó©Î¯�`"°VÀ‰Ã™Âþ—ÑUZmTÜ8¬UÆ7ž@ÇµÒ|W1ó„bÖg:º�5àª»•rh?×ÌUh7Ï—rÄÎ×Ž„m·R´ÅÊÕŒ­H�W®éój´nNƒ¦æ´6!¨‰„>­™;¬Õs—+ž8®U‰“OÜ¨Ø¼Y�?o¯Æ’jyÒaE“ŽhYÒ1�&½ŠÞÓèü52ÿ¤‚wg6×z.ãçê¿ÍRšmãÝf®œÊ‚�ó“4=?]S
-4™ìÔšä
-­Nöé‚…MZµ¨]ã‹º[< óG4–S4åB-£èMe•Òöh(í€Ón×À’#ê_rL}i¯¡¿¢OÐ—z€«þ›p÷sÍîáŠÛ‰¶ò¼‘kf=±LËdúyZ³d±âéÙO/T,½L+2*5–Q¯hF‹–evj4³W#™ÃÊÓ`V\áìõêÏÞ¦Þœ+Ô“³_Ý¹ìêÜï*˜ûuæWGÎûèufŸ2î£üúÌk)}v;)ïÐZÇß¼§t×ª<C±ÜùZ‘›®hn�"y%Éóh(¯Fƒù
-çÔŸRoþ€z
-–)DÐµtJAûuØw«Ý~½ŽÛŒVÇýF‹ýq£ÙþŠÑdÏhZú1:eÞÍ¸o¢¼º”(;WO£	5&±¬$–1bYæ˜«Gª†9
-;ê+t©§°RÝ…uê*lVga§ÑQÔg´��â˜ÑZ<a4—l2šJv™
ÎëL¿óV³Þù³®ä1ÓWò²Y[ü.úÈò}iÝÿ ¼=pg)Eg(¿Ö¢8Ï1Þ-'¶Qb,µ©ß™¬^g†B¥
-––¨½´\�Òj£¥Ôo4—Ì&W·Ùè2ýecf}Ù…–Ï½Ñªuï´jÜ×XÕî[¬*÷}–×ý#«Âý’UQöŽUáúÐæu}a»þþrrîvÊ®
”kÐJž—S–Žò¿Ôë1Ôå™§OšÚ<¹jñ8Ôèqþr¯Qçñ™>O³Y[´j*ÂVµ7jUzã6oå[Eå¬ÍS¹Ï*¯¼ÙrWÞk•U>j¹¼/Z¥Þ¿X®Šl.Ï¶Ûð¿Öep·Ô�(N›Bû¨QJ°béáAžÛªÔ\½X
ÕYª¯^*_u‰ª«Ë�ªšÓ[ÓhUÔtXžÚ>›»6b+«]esùÖ[¥¾–Ów•Uâ;dûî±Š|GÍÂÚÐÛfaÍ¶Âê“¶[àïÃ'Ü{€ödEÑ êá]'¿[ë©õê-Õù¨ÆŸ®*ž¼þ"yüe†»¡Êp5øÍÒ†6ËÙÐc•4ŒXE�+­ÂÆu¦£q»ioÚkÚo2—6Þm4þÐÈox½eäÕŸ0óêOZ7ÂßgŒ
~ö­É
-4‚úQ�ö±¥IòÓ*ÔR¦W¶$ÊÓš*wk¶\­v9¥*x�¢@�á´ö@ÈXÚ6d´ÅŒü¶µF^Û6#·m�‘Óv£²Û¾­¬À#Êl}ýY™-'Œ¬æÏÍŒñ
-Ø[aMÁZ+ŠQ7Ì¶Vz.JóZZ·ŠzÏÎ9rª¨+CŽ®|Ù»ŠUÐU®üP�rCMÊ	•PfhL¡	¥‡¶hIè
-¥…*µë.¥t=¬ÅÁgµ¸óM¥tü[©íŸ×3Ö]ð6Á›€�¨n5wÒó?%±»›¾£×ÔÒ¾$åõ§)'œ£¬°Ca—ÒÃ•Zö+5Ü®”pŸ…£J¯Ö‚ðŒ’Â—i^x¿ûknßƒJè{Zs{_WbÏ?4¯ûS]
{æÆgœËÑ ÜÔ»nu¯ä¡e+¡]*’²F”6ºP)‘-Šä+9R¬ù�’"µJŒ´(!ÒœÈy. *ë4Œ?  yá¨ÀA8 œ4AA@Qå~98å"‚ˆP°Å+ŠxIsÔ\d6ÍÒ”´¼5–aë¶©­Õ¦n;înš³5ÛÎ®¥ÍlÓä^öwàÔ0Ï0||ßû¼×ÿÿ}ŠäU2_ž%
2Š0ÅìòElE…B¶…‚Ï úZFÞwj‡{%|uðU+Ÿ+dÂ�wbº+ÝSˆö+–‚lÒ¨2
s•·s”9ƒäé´ÈÃÉ�;"'‰uˆ‡emåX1å§r´f¢¤ô&Eg‹´=Ôx—ÁW3—ÃYæó,¸“áŽC¢M„7¢T
-F&™*ÐŸ•†Us¹×péÖpé-äbY8p¨Õ0Ô5$·Æe´TÄd5B®W…`«D$-¸Áþ<T+|‹á[€Û6�—‡î„;î¸£Ë¥H§‚d5U£?k¥Áu,>‹Y<|—ü’@ŠÉÅÓÈ¡ÛÈa×8u ¸�kÄñÆÅ¼óÞÝºù–­­!VÏ&Y÷@+¨ïBòìÅ ît;³w,²,Š0Æ-”FÃëß#ü„¥&–¯&rÑÌ’±2`à²oá‚kq]|Ô¤•Ak¥¨-ä¢¥ lWuð.ú®™žh¦'šÙæ›þ®^©$ÞRP÷¸SàŽ#æ	”2Þ1K‰©:3,R41 ,µyrÑáÇZüX‡ëñc~lä’ÙÄáÚNMÚIr;¹h_ÂsÄíDíz6×uÁ'à¾já¬àÈ†{&.'s4ñZˆw,¼þ«¥Amp®@; ÅXÓ¸pÉG§·´•ºlcáÙA]žÇ�]äc7½±‹þÜErwax7ìd>v²9ï8Øf·ßQ5uvT’^É€;	îØ&Î�Vf^ZiP»›¯l—káÅ&Ø
h3VV×B<”…œ…ôØAú£‹|¢7ºhøCÛM.D×~@=ö‚OUE­mõÌÜiÍÔ€˜­Äk†wÄø]œ;Ý|..>G.¡ƒ=Ðí/�Ã.qÂb~_ŽÑ«'¨Mùèá î¡ùO‘èÓ�œÚŠ�âÃ“§Áe9©uqgÀ=�rE“ã0Ò@œ>{ÜœÝ|¿róŒ9¢o@�=nœr‹•³Ôç9¹È¢z‰åè½ÑKÓ_&Ù—	²—€Þ}¼!;9ÏæQÜqÄInáõírÇwÄ-~Žƒ“ýB�XÀ›àŒKœ€à-@›!Vás§ß0¿×FH7XX?ffÏAx“A¿MÐ·)îö�#¨ýŒ'òDùG…¡‚¢ô@“ô%ëktÄ—hªûhˆ»rè/hˆ;(ˆ?¢(>CGÜFÝÜdP>¥a?A}DÃÜ@[}Hò®“¬«h¼ßòó¾îé
-:ó×°½.ƒ^ðÿÁ¿À?ÑV_¢i¾@ÓÜU4|‰ú“fÀ•O>68œú~\Ç�«øñÆûøqõuå÷.Í{‰z[P¹‡IÑë:ÏÓsº…7�@_?Î¸áâ‚¿�;èÌ[×8b±Ëd¸’á™Ç<ü.Ð;èË‹øñ~œÇ�s(¹³øñ&‡Ç¨ÍÓïëPM|’\¼F!�S°cX{•¬¾¢ÿÐR}?ãßð~în]£WÐw½
-$–¸¢ù:ŽTìgÐrÙØ.Ä¶�Vtb»ÛµØnÀörl¶ÐBk‰~3£²“6>ÀèÁ“Óê¢
-¿$»Ñ™/Âý\üœÚÄ-Þh«³Âp�ƒÃ
-G,Ó°?k™ØÎÁv!¶mØv`»ÛµØk€q£ÔJ7¬×^jò‚öðÓMeNp¤¼�W·À7tÌÐ×Wüƒ^w‹÷ô��q<ÅXÂŽýgð=ŽdìÏÄþlç`»�#Ê†}ö+±W«ôÇv5i=ÚIM:yÚÁ—›ÉÒ&Ú©ÇF}~}ýpåÿ=÷˜w�Wÿ±0”8àÁ~$¾Ç`m
-Ó±Ÿ®­ø±?:ðc3~lÂ�vüØH¬×R­£G×P“5¼Ù†¥çÈÞj²ÛJ¥[ôgð<}ôõ@üÇÜGÞ>÷ñû<¹ØF_t2#
-ƒãi8báH„#Žtæ`?‡ˆá°ÃáÄf5ìõj¦&M<]�‡ËÉÔ22ÚH-¡Ë–yØ A_ÿqrÒ}íõ¸
-:ÝWÒFùÀ5’X‚à‰€c"qL†gªVâjž,8rà("úRìÏÇn-^4ªŽ7a¥«5T³šH«ú§é#2öøüOg
ŽxŽ³ýC¸Æ†ÁÍQ¿Žë¸ÍËuE{bÅ>\!pEÂ�õ8x¦i1³R‡‹ð£VyðÃã€£Jøï|¾¬ 
-RNuËè‰R¦ÙÎ´ÛéD;õ°qfõÀÝíÇ5ÈµÛÁ5³´r¼6ól9ÿ[æ9N8ÇÀ
-—®¸â‰!	®4¸2ä4æÉa¨Ü£T¥d÷¬S‰g“Š½Ö¨Èk«
-¼ö)ßë¨ò¼Î)×ëšr=?WŽ×ð½^u]µ¬Û¸n×sõ·‚åcY½XëñkëI­��j�Tåà Í÷—Ó{‚Ê½cUæ� »O²l>3U2dŽŠ†äªph‰ò‡V(oØ"å[¡lß5šë·UY~û•é÷Š2ü.h¶ïupO³|¿å÷:l’öÀÛÁõÖÆjÚÄõÒÀïZþ®âù|©é!§ÿ0•ù™d÷QÉSãU4üŸ¬üáS•7"U9#f+{d¶æŽ,RÖ(‡2G-TFÀ2Í2µ)ÝÔ©¦}J3UŠé¼¦›>TrÀšðx¬nbÞ	ïFVŸV‹´4œØA%;y^Ì
-Ž/%£«È4\ù£•;:LÙ£­š;&FsÆÄ+sL’f��©Yc³”˜¯�¥J
ªVJP£’ƒŸSRðM3ïU¢ùe%ŸÓ”àkŠº§)A�Àc$Þíp¯‹ "YyA5p²ªÛñ¥_
-ÈK®ÙCÙf_e™MÊ4›5Û¡tóDÍ0ORjH¢RBR5}\†’Bs5-Ô¦ÄÐJ%„5hŠ¥Uq–ÍšlyA“,GŒXËY#&ì*¸kÄ„>4ž
}lìgåê„¿�µ|9«×"0”‚"žåáK6¾dáçl‹�Ò-#”f	TŠ%LI–(M
�Vbx¼¦„'+>"Ýˆ?Ï˜<¾Ø˜Ya<YoÄD­2¢£Ú�‰Q{Œ	Q/OGž1¬‘Q‘ŸÖñßÖˆ=öb3\«‘I�.‰ ä±þÌÃ—LþŸÎJ–jõR²ÕOS­&%XÍŠ·Fh’u‚þÏu¹E}^Qüü5"øD""ˆ¼XÀ…Y@‘E++
-‹
-²Ô"ZƒQ•Ñ FMR[‰�šhjÅèØNLÐÖFMM“Q›&“Ä¤�LÍ8Q;mÓ6f¦û[X�N‡9À>þ÷Ü×w¿{ÒÒ•š˜e˜ç)¦b#ÉTi˜’êŒÄ$�‘�¼Ö˜‘¼ÙˆKÞmÄ&4b’NÑI—ŒhÓ§àŽ�xoÄnò¾þïÁ¹ÒL°îÔ€JPÊë¢vm>ËáoVŠ¡Ì”ÍL	RZJ¨Ìæ(%›d2›•hÎ4âSs�©EF\Ú#6m‰“ÖdD§wQé›ŒÈô]FDúczÚI…§]Ô´ÔOn¾c„›¿ñ$üÝØï€Óƒ4q#ªA9(æuÈ³xm©?%[&Êd	QBF„fdÄ)6#Y1™EeÚŒÈÌ¹FDf¹1ÝZc„[5ÍÚ®0k·B­;5Õº_!™¯jJæg|¬)–Û
-±|cl‡C³û�4'’ ”€B�—	¿UJŸÅ¾ËšnÊ©³Ç*födEeOSdvŒ¦g›nKW˜-K¡6»¦ÚJbs)Ø¶\“sVëÑœ.åìÐ$ÛsšhÐ„ì75~öG
-ÌúJ“²þ¡­ðwÂÝ×2¸Áå`‡³²dKf¤[bŽËz9Ç_áù“–?USó#5Å¯`»Y�Ú­
-²çi’½Xì5Þ^¯qö�)x\ö^ùÛû5:ÿ˜üæœ“_Þu�Î»©€Ü¿j±®…».72`!|¥ äÁ›o¼IsØ¹íð#›Bç�Òä¢q
-r+Ð®ñŽX�s$iŒc¦6�vÊÏáÔ#Ç‘Žf�p ¯ìÑnå"DÁ<6¥ÂkÒÜ?€?©î6øá[ß‚\úŽl 3ŸHñ…èŽ"iZ1Ú£ÄÐ¸òù;ƒäçÕ#Î(�pÆËp¦'ÑÉCÎ€€u"àœìòÎÍ4‚¥MQŠ(yWš�óïh=¼ß…k)qVóh˜G¼s@ÜéH“CŠA®…#_§8ÑÒè*Õ\&.†½‹AçbÈ¸8Ì.
-ëÂ¨‡]èÌjÄd5"®S�`«B(-dcª¼Ìðû-AßÕ8=pÕ’ã
-0Ÿxç‚¸3ˆ9…pâÊ¥éðNÁd`5ú«F2j¹ðkÑ¹u\ln¾›Á^ÏA¯ç@×“‹z‚pã´�éFLºrn\[Z-blÉÿ)ƒà¶Zá[ŽË‹@9ñ:@>ÜYÈÃ4bN@žEÂo æüÝð/cÁi`Áhàro$+ÈEÚÒ=<h½‡ÜCq=óð°§ 3›ØŒV â‡
±†ß@~KÍä¸ŽX‚RP·
n1›\R4¼Sá
„7€ÒMð‡iÃ•¥§•`5~´qÁµ3x;:4{Iî ‰íè»ö>GÐ®fSlE°®¢/WÑ—-_h9|5 Ì_@Àm¥•RjéJ
-o ‡øWÂOYYÚ°‹ÅQZ‡�áGçD/üØ€é�.†k
ßEQ»ÈÅÆqû8¢v=›c'=ÑIO<ö™ÜU´p‚B¸³q9�˜ãx$ÞI­’_;\k&X,±‰åVHLi‹hÏh.úc‹X/ué#OâÇ]	î#¨>ŒmßÂçÔã	¶ØmÔcë¯µ„:W-&pçÁm!æÒÞ&§ßz§—o‹oÙõ.½½€�XöY@À.ïBN�<MN¾Ï2ø–Ž~úcçõY]?�ÕO`ýôæ^øá!¾óš´çm-¦ÖÎåœ¸gÁ�Lž#‰w2¼þ›þ‡³ÏÇµ<öø„À^Ðöù„É~–äƒääµy‘ór„|å¼¾B¡¹Ž’‹£=¼~15Î«
-îb¸sáNÇÅ8rÂWÆöjxÑÀIúXÏ‡EÈAŸbÜ°*{…Ù°@:ê
-˜ÖI|9MNÎP›Aüä2äœ«GÔQØsœÓ³�“Z·•b"æéÄïÈ=¾øžÏûø^þ?žW½\>‘æJŒ?äÃ°h=ëpo‘“wXJ¯²„\av½GÓ_ç`½Oq¯17¯=�ÊÑCü|�žø3{üEë6Zâ+tÕ-´îhˆÏÐ©Z ®£!ÞcÓ¿Ê!½‚òx—Cò+T×Ûhš_R¼K$ð‰û‰:�“?ÓE�ÓçDg¾Ûëàø	xÀÜ7ÑV¿Gg~®Ý@K|ˆ®z­{-óŽJtYzur]÷&
-ã<~ü?ÎáÇYüx?^§y_£�~ŠÎ<�‚;­ã:Å§'ñþºæŒ>óùð7ÿ
ð:óª&W<±ð¤‹ž<b˜‡ý2ìW©¥Óøq
-?NâÇ	üÀ�£ÌŽ¡D�ÐÌ¯ÐÄ/QÐ—ø9LÄ‡ÈÔú’ÒþSÞ
-<€—ÿKÀÔ$N‘?ZFc(m0‘p$Â‘NégM>íàÀv­Q©ñã0u9„/àÇAü8€ÊÝÏ ù‡y5é×Ó�`€ctžãtü�Ýˆ›>þK`œj¹Qðâ}öc±ŸŒ¿X²Ñ¢ØwPé2ìWr\\Ø®Åî2ì5ÁØ¢§¤»P«;©ÉWôaq;ÐK=¡»àþC|è‹ÝÛÒÇ“.ƒÆòd0ö#°ÏñLVìç`¿ûì—a»Û.l×bo™¶ÉCV©‡ÞØLM6ñN7OvIYí¢c7ê�tÍ·àþ.ûŽÓ1ßì÷�ƒ]òƒ#û¡Ø�Æ¾	kéÚÊ9éQ.Àá€£ûØva»›ËÉ@³:é�uü^Ë7×àñ²×A†Ûé¬6}þÂÕópè÷��=¾QØ;4GÀ1–ªN†#û±ØOâº˜	Ç,*žGÑ:°_†ýJì/Â¶[­j¤"-tÇZ®Øn<ÚNvöR©—Á­Ð5¾qÜ÷‡ÆËa¿wô÷ø®ïÑI.Öi–Bàˆ€c)pÌ$ÛY°äj%~|?šñÃƒ+TƒÝ¥d£™Ê´©¯Ýd°ŽŠz»w	Œ‹©Çbý|
þ=Tƒ}ŒÕ�\7=¬F¸Š×�¾žÛè‹U
- ž xB±Eñð¤Àc�'ž\à)†§ž*ìÖyââéj2VEdé¤J:­‚S¼€Ó¾@Ÿ0ñîò÷[†ïÖ¡m\»ÇsEƒVþ_É{üib^4R”\ÓàŠ�!‘xRáÉ û³áÊƒ«®x*ø©Áþ2<Z©RªUBUçÓaÅœ*•/¢'Š˜DEÔ£ˆé°®�¬c›Y×M†4sÍ4ðz)ï»¹vêFý—é2�mú>Ãø“û!‡“Ø9œÄŽ'Îé\Ž“8—Mœ2®PšR(7¬å*WYÛu-ƒQÆ´� ´åÚ¦–«åØÚuGÑÆÕVR«i´+´©lLš&MË>^¼©<JìŸïó¾ï÷ý~¿Ï©‘�"àË†«®bõ…”ËâTo¨K=¡-êëÔŒ°^ùÂg«3|¾:"ÆÕ±Z­‘[ä‰|AÍ‘ÕyBîˆ‹r‡ß”;ìs5†}©ý\±»áÝ˜Nÿ¹jÇ¹öGù;—ÏÃÉL.ƒä2¥¾¨$ÍŒÊPOt®º¢­š]"oL¥:cjÕãV[l»<qÝj‰TSü<¹ãÇåJX­†„­ªKü–j¿/gâ)9®¨:þCUÅjü;àÜ€ôY†D_œMíüB’
ð�Ÿg½äÒ�ª®¤XùSÔ‘hTÛ´<µ&ÙÔ’äPSRµÜÓ]r%·ª!y†êRúU“:WÎÔ1U¥­ReÚfU¤½ 2ÃA9ÒNª4õŠJR?÷T’òH/Â±¾5Hó%¹ø=3’ðÿL¾ë"/¹tÐ—6C„<i‰jJ3¨Ñ�­ƒEu»jr¦×ª:½Y•^UdúUž9"‡‘é5®�Ý´IÅ¦çe3}O…¦²/ËbüH–Ì?Éšùw=ÿ&¸Vd9Rc^Á”]ñóßu�O+Ï›É¥1+Dõ¦XÕšRä4Ue2«ÂT¨²,‡YN•f7ÊžÓ®âœ^å«0w‘¬æå²˜ŸV¾ù9å™Èl>®ÜÜKÊÉýP99w•›óH»éýÓp-‡÷1,ÊR£tó'ðXÐX<kà75 */Jåy‰räT’—­¢¼Ùòì*Ì¯”5¿A–‚VXº•g™-³eT¹ÖeÊ±>¥,ën™¬¯Èh}C™–‹Ê(¸¥Ì‚»2æ?ÒNêÜÇ¼±'CÀ| 
¸mR=¨æy(-Sqaœ
-Sd±•o3+Ïf“¹¨L9EµÊ.nQVñ™Še´/P¦}BéöoÈ`ViöýJµ¿®”âw”\tS)E_(ÕöHÛéùZb�Ã7»8ˆï 4ð�”;ŸAAi´Ì¥IÊq¤+Ë‘#“ÃªÌ²Re”9•^æ–¡Ü«´ò~¥”ÏSrùMG¨N«Ø¥Äò}Š/?¦¸²Šs\S¼ã3%”>Ôú½
-[ô8±G°Š}`r¼4‚Z>W{¹d­ÀwU¢9+#d¬JPFušÕYJuæ+ÅY¬dg¥’œ.%:Û•àœ©¸šÅÖŒ)¦f�¢k¶)Ò¹GÎ#
-¯>£ðª«Š¨ú½"+ÿ¬�Ô¿¼”3	¾!xzáéÍ T¼6¬[>Ò8»ïWªÔúXMoHV¢+Sñ.³b]6Å¸ÊíªU”«E®n…»†êzL!.„³£àÂç5 ÈëQ)õ¿ÂÔ~J‘´þ	¸çÃ3ˆ
è‚«
4‚PìðZ°m¹õx/¬lª;D	ÍQŠñLS¤Ç pO¶BÞÍôð‚Ç
ð4´ÃèÁSxînå|^3b¼é}ð	÷@k¨sîjôÃå­åg TÜ6ìšYnj’Ò°±ImøŸŽH…vr¹x9Ø} >†ÛÇðú(ÈG²>~äÃÄzñx^L£ÃæÅSx1B§0–(§¶Ûà�ž„{\³y­´Ãçu ’ší”T€UËjÅû´ã?;¥X¬JX7ZO‹‡¯›Éæg“÷±‘ûè…?P/ùñ™~Ì¤ÿq~ƒqœ¹ ’z1(Ý˜�®ß1|÷µ®ypõS§Ï=ÕFpR³ƒš­”“oºÿÙ
¯îçbà²äÂ›Åe2›ˆ^Yz1‡^x¸°Ã˜É!fbÃ:„RÂ”ÍºD”lÿ=-†k˜”{áëÍ ÞÃPsKj¦”x“á�%\ø,ø)�‹Tú‚c.½˜O/à¥r˜Ž²Ù±‘GéÅ(ÁF{À\ža(2˜Ë¨Öùx÷&1îj>uÀ×Ú�TÃ]BÍ,§ÞäÙøOxÃYZ„1Á"°8”MMcäñuòXBKÉc‚5y‚
=ÁâNÐÄ	_Êz,ÅT.ÁLŽ3—ãì�±«¼Gsè±ø@+¨ƒ»Œš­ƒÌ¼)ðÆ0ÚaNÂ ¦ˆžŒ»–“Ç
-òXI«’¸ü˜�µ\0ë9øÖ³ÙÖÓèu4rÉ¯{’g¨ÅÕÌÄ*ëJærÅmÍ¢U½Àá®"å¢9Ì¯¤Â3&…,	r²¤XâJBÜ
-¹8%>7"È6Gs	3Û¸ìw0£»Èc{u'ÍÞIQ;¶ý)ž³[�J[X�Í×4ÐÇxÜk*¡fóbö ¼1Ë¾Â¹!È¼[ƒâwØâ´;ƒ)`V¿MO^fÏîe]ö“ÇwÙxûhò^æb/…|‡_f�¾tšß¾«~ÖºnÜåpÐçt~·6Xc€ó™ ß³Añ0/‚—Àž (ß4'ÀAÖçì™Ãˆ°W¯qc³í,èQzq„^¦‡Îªî¸«á.‚Û´^Jd|C·k|î¿†gŠï\¯ÊÀXN“CAƒ@H,„0¥S¦åtæ‘9Ëºœc¿ža>Ï0`ç˜‹óu†„ßBãÒó¾r°¾y›˜�íRä7ƒ¼{‚œ‚|‡‚<Ç¾Âs*À~Þo�sš2¯—Á{ôä„úuò¸Æl\c³ß ð[œY787¯Àåèÿøø›¢õ%:þ>žæ�²é3üÌ<æ§h÷Û(õ�QÔ7Qô×q¿a“^e³üš�òKÜÈûÎÏšw–ŸÒÀË4î"òm=Ï7çõÒû'Þr;IÚ“:	ÜÿÁ}ð9~â|æG2ê–,º!‡~‹·û@Í¸£N½‡køŽå
-Õ%ÜÆ;äñ6yœ'�³lœ3l˜7ñw?a€~D3O±p'iÜqžž êqª|Ö×Á«à0ø¼w§7õ‰zâ¨Å@fê(†£RÔ@”VâûˆßKü–`˜øs‰=JÜ1âNÀ¶’åZ¯#ÚBüÝta#óC–ò4ø¸&q;“ŒÔ$c<©¿ÀÉ
Š
p®À²FÂ1�ø&â[È½§^Ã×ýÏåÓæ}†ñs4§€
Øcl0ÛØØœL8Ç$!‰›IXš,Í‘¤ÝRåÐåÐI­vìªI½èEµv›¦I“¶)m/¦MÚ&Mk»]4ÑÖ)½éÍÔ‹ìg°&ôðÙŸ¿ï}Þ÷ÿ¾ÿ÷ÿ>¤üÆ°¿Ë³Øß‡‚[Äæ
-6�P:'°{–2º¨‡ää>›è5Öâ.oß%š{dõ.úî.ÜiÜŸÀùp‚Ÿ¶ôç[2`¿ÛVl;±íÅv+èÐëøñ?°÷Y�ïP÷¨�»(À;è»Ûøñ*
ôï[ääeþßäÉM
-ú:›¬ô¦žñùùÿña¦„ßÍl¯73[á¾r±]†]vë��Â~'+ÜË¶Äþ(ö't?6Q�×ñã*ëqE)Ø×©Î´˜M2s‡j}¯ÞÙªÚsTÝ9}Í÷ç[øUf{ý¼ži=·¶ZƒÛfìVÐØö€ì‡u	?^Â�‹€cŽq*q»{°¹H&V©Šcx±ÁŠ\¦J¾Í·Gz�*|�ˆST^
-­›‚?�÷àûx˜iµévx5Ó–¿ÉZ¼È9§Jl;±Ø€ýì‡±ß¡SìÙê‡cŽqìOs¤í%Kì”Ã:Ä+¬ÅA¢9@U KTÛ’>ÿÂÛ¯Áó­VóÝº5^Ìécb�µ8¡8Ê±_�Ïup4Âá×~Â�UüXÁ�ƒ¬Ç2~,‘—E%µŸ»IÞÚ‹÷{ˆjŽlÎ±#fYõYvøŒ>_�ç[9 sã)üYÛÜé#28åàÉÁZö-Äa‡Ã‡—ÌûáicWtÀÓÏ€æ5‚ýIìÎ³"Kìœ#|;�g—” Ã	öÇU?Ê¥Û�è?à¿[kp‹£î2#ÀGï1°F›?È¸¸D›]PñäÁU
-�ë5ð¸ái‚' )ü˜¤>&¨�qê4Áß(¿Žàáì"q²gPýÔDÝr'�¯OŸƒ¯t®qçié'9ú×J•¸&ù¾§€fŒFø
-ˆk\UpÕ�.\A¸"puãA<#ðì†cïV–bd²›šèbu²£;Øùí*ít„v}¾Ôø¯Â¹Á1›âÈ_f<Ýfù¼›ñl‚ßø2–kÒˆÑ¬aC¹veÙÏªS¿¡A}†õBê1v(fìUWö.uš&Ôž3¯HÎ²Úr�+œ{^¡Ü›jÍ} @î�Èù™Ù¿WÀøw_èá%øÖ}ÖÃÀ\åö¸>Æx8Œ?ƒøç¹�‚\õå«7ÏªXžC]y.uä{ÕžP$?¢¶‚˜Â…qµš
-šçå/ZVKÑqùŠ/È[òŠKÉSü¶<EÈ]ôXõæOÀz…ø/Àu¼Š°m�èSŒ	®CÕðr¿—ßcøÒ]fPgi¾Ú‹Ë)®T¸¤V­¥K›å/«¥¬K¾j*Scùœ*È]qLõ–óª³¼,§å¡j-o«¦âç²—þ!Gù3Ý þsp¥à]âˆŸ` áÔÃ8Ö‰?Qž‰àKÈš­ Å,¿¥\Í›š¬uj´6ÊS�»²]õU;åª‘³zFµÕ‹ª±¥d·�“Í~CÕ¶ª´ýDÖêd©þP–ªÏd­úR×ˆó,ü‡…÷;‘Iuä‚^ÐÉ½¿…ð'ÀsÍö,yíyòØKUo·ªÎî�ÓáV­£E55m²×ôÈV;¤êÚ)U9du•Åù
UÔmj‡ó¾Êœo©´ö}•Ô>VqÍ§*u<Óeb\‡c¾½È“ÝnÖô�n¾GAÈ%ùù½	x€«Î¤Ú:³®
-Ù\6U¹\ª¬o’µ>$‹»KîA•»'UæIªÔsXÅž³27\S¡çž
-<?T¾û=åÕÿüMù®ë"ñ�Àî2œsH“ñÖô0wp
sÏš€8¹çh0¨º1_Vo™*¼UÚáuª¬©Q%Mù:döõ«Ð—P�o�ò|+Êm>%Sóee7ßV¶ï{26½+ƒ÷724þUÆÆ§:
-þElO#G›˜qAˆð=| ÔqÏÎˆ\‰”+÷çª$P,sÀª‚€CùA·rƒÍÊ	¶ÉÔÚ£ìà°ŒÁe*­è¼VN�Vä Ãp}ãÿ5BâÏà‰6à?LÌIìObû½-¬×h^î×s­ñ£=‘pŒÈÅáåEÌ2E*dŒØ”%˜(ŽFù1ŠÆ‹¢k¢ˆÅ(st”Îe`�""åmï°ÀœØa4oè©ÖymŽyxpÄáèÍÜópuÑž!´O›TŠœÍï0)»«0½aÍ$FQÅHVŒzx §�ÏÌÐ1cMcŽŽq*Ç˜º˜”:I BX=Ñqâ[‚cŽBØ	OóÙ¼|v!íŒåÖv©¬S¢ÉÔK“ßIíG?ô³ÁØ4qŠ7N@q^ä¡ø@ã
¬‚3±4€Hø)Eÿü�øúTGàNÂ3A|ƒðÄ@´ò½™«›�jà­ì†¿ýEx¦ºAº!¸aè�nŒMž`-V‚ ÆÑw‰8@ÄŽQcÇQDÛ(bi‘2Ìô6„ƒO´×<cÄØÏk] Âç×FÒê$ÚŽh*$Å&¤‡¶9T'8l'Y‹)ºéô!ÃFŸ£.æ(®¹´aôÝ,ù˜IÄÔ4u9�PœfjšBMþOµ@Œ»á"Î^ÐÉç0W1»ˆ¹šPÊ‡à‡×4÷$˜³`ÎÈáÊÁº�ºHR4Ò%ëêâk±„ñÅ]€|, (˜Žö£­’ˆ¶$\òcÞÿ\ó¸šqbíáÚüýÔ!1;Hg9¼fxMi^Lq$ó®Òƒ`?âÇ*~¬áÇêó(9IQì)êâ(†�LòqA»Æ´vˆ©åSìêïÀ?5Å�€~Ð
B¸í%æZ^³À[8ÿ¾'fÚÒÃöÀÑÌÀuŒ¼'/'ñã4~œ¡66ÈÉ¿ARÏ²�g÷pŸ‡O3©®S§­'Q'ÿ¢	ò;Ä#} :F? f×5H¼fx�ÈS†ÆmÎ4í†Ñ[€RgÐÝ@_¨Ó‹$—ðã
-~\§Ñ_''×Hì5‚ºJWxá2ù¸ô}ž}ŸÁùc%(™]pwÃ$Çb®f�‹à5¤ã<–á<“áº�|/ÊœÁ{¾¹%Ä/½ÊšÜa¿¼F^ü�íòjú>ãøB€�CH òI€�$*PaÖ‚­tü1kuv[§w´œëÙ«Skwuk«mµ�¿fÛµ«óÇ¹iÛëºN�Ûnë~Üv×k§[Ý­wëþØfÿØ™½âíŸ÷&ßo¾ù>ïçó|žçù<oüØG‘ï#ÈO²™ß 7ŸàÅ½Lò{è»ÎkˆVÖwÜab]Eœð³Ü4ïƒYÎ‡²ÿ-®�YòxV�¤‡â'³!-Rh…zŽ<y��ð0yz?ŽQèGÙäÃ�|›ÉùEœ}á ôüë„»ƒuGH[k.%ÆÆ­ÙuÒRÿÇ÷¹¦2zZ¨luF4¾Ê ~’Ú=E;Ë�pš=™cÁslêÜ,ÀØÉ£êeÝ1Ö]·‹–nšÍ®uWv�û4/þnñ±�H•y®cà;Y>Ž¡Œ`|Pv:¥yy¼KŽüŒ!è2
ñ§Äâ"‹¾L,®°ÀKûQÒMððøTyú+süÇh‰?¡«>dnþ�‰ø�LË¿¥9ýš™ù—éf÷ËÊEŠä=’õ]TÝ;¨“·Ù¼7Ù¸ólØ9´ÕtÍ)tæšâ
ýop�Bé¤p?¥£ Í}#Ã-¸—Pfý-q]uY
ºÄìþ“ú;Lïo¡. *~„Ò8‡gñã4~œÂ�9üxƒB9IÒ~��ü.êíe6íA;ÎÓ£X<¢¿¾”ƒƒàYðO8ÿ>WÀO2áË×ÑgÑºgˆÅibq
-eð}TDÈ‡±?¦WˆÇK4¬4«ãð1ÆŠè0Éü"	uˆdzžX€m?o<M”žÒU>Sh«Ûœâi
-¥#ý\ç²[ùªrñßB¬Ê±íÇv´`¿Û½ØÄêé1Ê:VÀ±›÷`{Ž
(™-¤îVì�”ÚM:?Ãÿã”íYÊ÷7ìÒ¿I·Ÿ)¼L±¿B�Š5
-^J'›æTÀ›%Øuc7@)4€¾w`»—Y¤½hªÇQ^{Ðv»iâ»P¢;ÑV�áÇ£4±h¼Gø¿�7f)œ‡‰â«�Ñ'”{*ƒp‹ÿh6í¿•-Á=2à·›Nlz@-hÄvŒ6ÑÁ
-{°ÝO›ZŒýaì�aoÖI²rš(l¤¥}…¿YÚÛ."³Ÿ]:AÆ\q}¤2øA¶ÌžÉ–âÎl+ÚžiØµa×¥mò� ˆ`;ÆŽ'°ßM%ôÁ‘„c{£Ø×&öe#Í}wëñh±XC§‰ò™5E…Mé_ Åw)<›/ýtÚ‘mMÛ²ÇÀÄb35²I¥nàAÝ‡ðc=~¬Ã�µø±?¦‰ÇñXM~|žÃm’_®ÂÒ]Dk‚�'Cï¤bÆ©¶qöcþ4ec¿#{Ð9àoÏSk¨‘icÑ‰íJP�ý+�Àƒ#A….„§æ$6GàYN¦Nò-m!:3dÍ×y²/_âómðø¤2-wgöHøR–;}4§�ËIp75²R&ÖaÃ~ö«@
!Æ˜<1Fš<ÝŒ7ýp-Áî2vf‚Žv/Ùr?U´UdR?3@}P�ìG¿þnfr }ô}•Ö¾‘cfŠãwŸ¹ó#Ër0&#f,ÛápÁáe=xÂ06ÁÓJ:àêÁö"ì•;¨ž{ðìêb?:©�õÑINt’…t£]72ÇÂCð~‘Qh-m}¸Œ1®ŽpÒãc<ðÃà€§/<xÂ0Gájƒ«û}Ø]¢8Ñi'Š­ìhŒ·�å-¬¸™Ýo¦F£ú1ø|ªGáß
-çFF ÕùVøÁ×IŽÞžõáßmy¸Lp-€É	—›uùàª…«®f¸âð¤=$:ËØ©•<Y£zr"L�†¨ø HÏ¬ãT	ê÷à=Âz¿×z1`üY^Ê|	’Œë}Üw32wâO‚#8^`T»±H­›b†25çV)j¨VÄT£!¢ú¼V…óº2¨.ÿvÕL(P0­š‚-ò>,_áyŸ“§àyŒçå1¼/OÎuÍÂ¿þixW2ž�2r,}`!Ç~‚ïÚð§…ßD­9j21™ÕPhWØäRÐäQ�) @Q½jŠZTmî”ß< ¯eDžâ	U¯Q…õ¹¬ÛUf}BNë!9‹_“Ãò¦æ÷å(ú³f°}?<«á[Áè5Â¸ˆ£¾$¸nå»(þ4ò¼?Cö\ÕÙò°YT½À!ß·¼6¿ªl!U–4ËmïPb¤œ�¼Ì1.‡cZvÇ•8gesî•ÕqPÇk2—¾¥";'tÉumÃî8&á[ŽDYŠdëC"tòÙ¢|×€?!ž×âO5¿õ9
ªrÊí´Éå,Sy™GÎ²Z9Ê#*-�ËîºM%®!Y+VÈRq¯ÌîM2¹gTèÞ¥‚ŠÊ¯xYF×yå•ÿJÆ²kz�õ­ƒã.¸FáNzˆò Z¸nä»à�Ÿßx@(wå¨´È^é�­ªRÖªYªêeöÄTäY(“7©Bï˜ò½“ÊóÝ'ƒo›r|�)ÇË©à¡;WqJW¡³*¯f¤À4öÇáñQ~flÐš¸ƒZüñóÜÜÀÉ}‰?OV‘Šªí2U»TPíS~MPy5Q	åú•`ž ˆëCy-Cb€Á°†�³ú,FNP¯i3kZ�Í;à\ZM
2'@hä>jxæ• œ{;ÏŠkód
-šdÚd±A!œpº0C×£¯Âˆ†0Ú&ÌÀæsÖ“ß1ˆÖ�Á'|¨½ª�ðOb{»Idbw1M\‡A-fý<ó×žY‘qEá<išIIÝÄbšp0ŠÞ�¶HÍAr^´4MñÉÐÜDGŽ2KG™"øÐ€Þ¬¿¦õ¼¶Û#ØîÇv'ˆ�FFñ ¨á{/psíÄ¼
ùVaþ�ÒÜZh.1Ë|ñ¶³©íéDâÇq´U�c|�¦hÛÚÛ8!Û˜”b§yŸ8D¯iŠWVÀ¹´­ƒý8ˆr]êàôƒJ®Ëq	¦Í,1¿UÊi§‰'h 4Ø.Û|3é&±zXFzØ�ö£!×}7Ï/9™»öÄAÃ>Äÿ¢I8Æ°?ÈÚºàhM‘ùm
÷.¤š=;ü,/§“C¦›C­ÇH±ý4Òb1H,’$q’ %y)É~$´ƒäÄ"ò²ŸÉ¤7`bèŸ£	àCïuMÀ1Œôèc}	ÐÂ«îƒÀÇ}Ë)�Kxó‘IR¼�$±XÌÁ¶”F>LS¿�XŒ‹Qb1ÊFyq”ýXö96›œf2F”=CC—x÷c-g}‹‰m7\í ™ûÿ²]î±MžW?¶óÙI;qìøÛ‰í\'!ÒHJ +)·´�6�¡°\É`„†Z…Òµ¤ÛX¡´…ml¥-šviÙ´1Rv©ÖN•¶	�h·?ÖmÕ¦MH«´o¿×þ*õ�	="þìï<çœ÷œóž'Áç1çÏ¡	%^ëg¼„Å¥�MÐ¦.vüXÁ™´s&sÁ¬¦Gºè‘.rÑE]8ÞÉ«Öð="ö!äCl-í³v”ÄÊe¹]æ�:ÜžJˆ9Ä«žô ¼VÅ»ô3N@©³È`ÐþÉ…c~¬Ç�
øÑÃ™ôÒl½ÔE†{îcñÂtæzê²›ÞèF$®{›¦¼)÷ç|0gµ÷rÄì¥­¸ÏõGœ’ZhV%«Ô‚¥­
ÆÒ¥–¾~êc�sÂ�-ÔÆVzu˜†æp·btl~„E‘Y5DMl¢.éÏ�÷åÍ©òm³à."æ1;‰WS¼«?Ç¹ô(>cé´ëAj£ø±?vsíeÈï¥éö�ÜÝ5†±]¼°“YµƒMzôU¸kÒB®›@-ÜqÎ8DÌ.ÊXãøXSqö|[Œ¥3Év‹°ZÆ÷K¡ÉÉ!úåù˜¤6&9“¯’ì§ÈÅ9Ì‹‡Ø"Ÿ`VM°[ÞOà®`qŒ�kÏ:›ŠwÀˆQqn7ø×¸ÁsÀX†Õ2xÐö¬‹‚Œ„YJ0œ '§¨�3øqš†‘{�Ÿgs?�‘or?'MÄ]w	Ü~bÎd” ,RqŽœû
¾'ÿ—GÇPBáEI‰6JN^ç™!oàÇfèenz±È%|�À^Çàù“RÏY'àÁíÜjÄ»×ˆó°Áùôçb£µ“‚”’J
-4®Ÿ¤PRbõÅ	.Æ +¼ÈUp�¹þüø-Ð¯i¸zdÂœyZ>å'wÁ¿Á?Á_ÁŸØãïˆ“ÛhÌÛl­`Wý€]õ=Ã»4Ê¯h’ëuŠæ�ñ3ÔÝOIàUøûëQ§WHØ›$è
r�ö5¹…›ÿa£Õq_'�ouùœŸ€�Ámð;ð.{ü/Ñwï ugØ|¯³3_ccÿ‰4c‘ü?~€—Q=ßGiMÓ4—h˜øñ:~¼†Z|…C|™D~W¦8–ÓÏ4Çôžœ‚ñ$¼ßÏ‚gÀÇÉ¸EÞ¿o'ShÆoù°•‹lçÙÜÏ³Ñ¿Šçðã{Ë³(Ÿï0°¾MŸAÏ¼D½@Ó>�'9ÔçÐ5Ç9Ì¯s€_ã­)"yFþBvtô­ŽúÓ)3�|sTà-pÉ8Ò³É²²á}.vƒø_*°=»s±ÛŒÝû°»»ËQp+°ÝAÙ¬ÁþF”Ì&8†i—121Ï1Næ4%ö&åýGÚêS Sv:§¦“sÊœ3Jì„QêSbÁn–EÏL¢©&Q%“¨–§ðãIü8ÌåõŠë šj‚³9ÀßÏ?Ã�qÊÉnþÚ…7*+£dq;•4"ÿ@ýéŒ5OuêF8³T©OmpL€ÇÈÅ>´î8sM5NmìAA�áÇ.êc'uºƒKô+\dÛ¹PFðãQò±�Zæ\¾ÌPÛÌ¯†°6ˆõš¨ŸÓîãô{áîêÕRÏ�£ÆØgŒ…Ñä8´`ÏŽ=7'œ¢ ŽíJlÏ–/¡ö†P›Ð˜ƒÔÈ~ôs.½ôL�tãE?WÊ»�j™$C§¸â¦Áà.W�Î3�§©‘3ap�ãQ�*5¢{ÅŠ=ÈAÃvœlÏÂþl:³Ž&8}+6—a»Ž.<ÙHV6sÝ�ÉJNïA*©�óXNÇ-—¿óYOâY#þ1c,«­®uE©«j
=Ò…Öíð�0ˆa?ŽýJì×ÂØG#XˆÍVxÚàxoºéž*w”§¨â)*è,¿º
->âóÉžž<5Ž5øÕ5¥Vµ¨5A]Û(ºÐr±îa8bpÄá¨€£†Ê¬Ç^v[ø·Žd¦‹Êí¡j¶áá>*ù(Ut\‘yôG#çÑˆ�ñÌ-’\ÔU½RRëŠZ[˜îÄ`Æ¾
ûV)7ðÃ†'F—Æá©€½{
ðÌ‡cµ1]WIQÍ¦‚jé�ºªš¯bÚÔ0jåo|§'kpèãº]ÃXoçŠYZù»…g¬É²IÒàÈÀ'<nxüD†#†�8ö*±[Ç\*e!ŸT†Ú¥œóHP¹eôGœšˆÓqj¢L~>w“×ñø6pÍv Ú¸ö[ÁÐÄç9<¯çû:³	.
žLx²‰ÅW®xŠà)ã_öï¡ƒç3MZyº×ÒMƒ¡ƒ#T^!Ó§�iP(?¿ŸÈVÁAVÁu¬Æ+‘+K©U½Ôó¹–•¨JÉ)ü)·Z$a±J™Ù.qS\yRLÏa)k„È#xZHÆ
-8¹0¤&òMýx»�ÌSTÔ·Àeñr3yåÏ2Bœ}ðwÂù@ë:Wì½ Ôòy+{9WŠ?Åv“Ä2Ò$j³ID³K�æ’°æ•�’ “|­LZµøµ¹âÓZÄkm�­SÜ¶>q¥�HNú~É¶§õŒ8µiqZnH¶éŽl…#ö;à[Æ
-Ø‚tœê”„äs”°’Eñ©BN³³4	ØÓÅŸéo†[ò2üâÉ,wf©äfV‰Ë>Gr²ZÄáh»“ÎÎî“ôì±eï«ó˜XgDËš–4û;¢eÜ”ÍÄ¿þv¸#Qæ#@5(%<‹âOßñÅŸk¯+M<9VqegˆÓéGŽW²rÂbwKfn¥däÖKº»Ylî¥¢y:Äâù¢˜ó†Å”GxXˆÜ/!Ü¸!]×°7eük±ý \‹|ÔÒ .@ø?b<+À— ßûAžÇ,n�&9n«dyÒ%#/KÒóÜbõæ‹æ�Jš¯L,¾Z1û›ÄägQö3eL�Ëw€IàVð³ðy/b<7¥Ÿø:±½¾$Á\¤Z
(çïbÁŸßðÅë3‰Ûk—7M²|š¤ûm¢åÛÅt‰)È�‚ìŒ!ôU¡F(…Ñ6ˆ„p7à£oÂìÓaÁ >ØXü·¤þ^__3r ž¸
-Äù;
-ð'Ÿï|ø’ç7‹+`G¾E2‚i¢…mb*  "$3J²¢¼E×ÄÐš14EÑBÀ´‹1õcˆƒ7B”Éå–ŠâCáþÜ’Gào‡§ÞÆB´¨%„áY³¾÷‚\àäYf�I´ˆEL1šª˜Æ-¥¨âMgË¢ Ø¡Ë˜n	¦m‚éG•"FJ¥øPŠÅ7ðëŽ¬ÅîðµD˜G¼^M™)âs!¾„øÎ< ›g™|g%Ts	C4Î@-gpTÒXUUUñR5çQ�Æ«F×T#`j¸}ªúø·B%Ëz%ÛJËw>”}$«ye)v›±{«w%(ýûUÕô•F uJE­»—BXAj-•*›ÔŠ‚ŒÁ‹¸�à¸t\GEm;Õ
aÉÆDe»2B­ÚÞ—ü°Šž™Îþ˜3áœ{ÈòËûî½ß÷Þû>bçdäŸ�EÜQø¯‰Ï†OC|Œnj�IÍVÃº8@õpÀ †È‡ÙT0Ž‰E˜˜iŒ�qÆ¸ù˜x��nit,ú18èË('¬mƒµÍ°¶> 	Óð~–�ï´ðú|>q5�f5”llÀ^Ã3xÁ‚à^°Aœ=ÀClÜ8l5ÁÂc†NÅƒŠi46@PO-ÁúXŸ‰‘p.I#~:Ÿ}ŒÁëñùˆ9˜ÿW�Äe&ŠKLy™±ÁÃ<¬P‹p Ú¡Èíà…DØ�°òa‡Û×Ãœ
êÒ
-gÄBt-–è`-°7-d”-´±c0öÍDÌÉ€^�BJG¢´(qµž¸ä"µ¬—:Öìqé,A}~†ËÅ	ª36²3¼p†(güØùX†Ž`)jÂué€sÊÝ»}:
-¡†Z}&ú°ÿgƒöt`Þk¢‘NÆëq­é†Âžn0–Ò�ixV€‡jÃ9Y�CÇÅî/Ü!Ä� «pN¬DM¸`ÎüçÔ
-ƒËË(sÄ2ô W˜ÚÚ¦¨AüŒaAÇ%Z
ôËéf‹4{«èæËƒ4Ÿ¨ÓµÈ‹üð��ÈÉF$Õ‹úÂ¸õøá7è–¾Å³¨K/ìOO)e�
¡÷Säybë@³&jKÇý¼WÌÕt</ºéÅ¶G‹‚ÀFº)@^¶Â�Ø'ÁÈÉ$z;Dm…y�èV��o�¢yÂTáŸN™ÂkCàÄž€Ø¸f(ÆRÚ_Z§»¢ÁV6œ=ñüéx›éfËbøP6§�Ií…á8»"±O"'(èp˜º%¾Cç¶ùÅYr�2ec? öÄÖFìá(_4êJ­(!E“ïK7|dè¶Ó±BzâQÊÁË*šd2,��éöÌiøqý9l²30ú´#E�„  |ìžû‘š‡Ø3‘çqð[±Õ½è¸¸æÃF­�ÄÛCÇÂq‹‘…Â€Ia”ÄZ$¥–Î€Ë pPñ¨�$œã	Ø„×Pd±8»¹p^9IÍAìIˆ=
-iÒXG{HëÜ
„õÒF†ÑS”r8Äõ§R/ØjÔÏˆ®({*
ÀÕD‚Ç=ì•;Øt(ò-ÙBQ"bÞ›jƒÑ:ìOÃGþù½÷?øð£ÑZÚcuÆ�ÿxâ¤ÉS§MŸù‰î¬9s?Õ3˜gÈ461�Ï2_`a¹ÐÚf‘íb{ÇÏ–~¾Ìyù
-—/W~µjµ›‡§×š¯×~ã³~ƒïFÿ¿lÚ°%hë¶íÁ;¿Ûº{Ï¾ýaá‘>rôoÇŽŸ8uúïgÏýã|ÔÅK—üéŸW®r¢cbã®]OH¼‘œr“—ÊOÏÈˆÄ’¬œÜ<iÁíÂâ;%wï••?¨¨¬zXS+«ohlni}Ôö¯'òÎ®§Ï~yþò×?ú§Òÿ®_M�(fÉ# Y“ˆÕcˆì	D÷ŸA”Ï&Òõ¡Ýˆˆ7#êÙ�oEôÛÁ€%Ä'bÁðÀ•˜àN\ð†
ëˆ~ÄˆoáD ±b¼!fì%n€%~|O9	GÎK.O~€)?W¸°%žø’DŒ¹gÒˆ5BâM6ÌÉ'î{JáÏ}bP5ª#5�Ã¤vâR7±éÅË_ýÖè“¼Œ†L­w1¼ã=ñë•a¯{Í²7<{Û´�uíÝ¦½Ã³·,ëíX/Ãzü¢ÔÔÔÕ),Ð`0†ˆ0â=MÍ÷á…ÂŒÑZ°cÌX¢t–À˜B\Q”’Ò–^Å¤p¦,q$[	;Éu•›‡—÷Úuëýü7nþ.tÏþ‘‡Ž|üäé3çÎG]úÛ…ì–øk¨Ð×«$”EAª"¡2¡B¡´N†êhh„Üæ~ôøq4?ioï€ìÎ®®îî§ÐþËóç/^¼TéoKg2ZóÇ·ˆÙæÍb›5-ûHß1A·¾NÂÝÓ!æî—‹¹á�bnD—H�ÈnatäSÏú
-‡ÿšC†£Uh6¾YÁÁzM³pq¤,m	á “pw¿ÆáÀ€qxÜÃA²€Õ$±öj�CºCB~/¢å`Èh™ŽkRp°òjÙEÈ2ìÁÁ§þÝ"”¸ýÈ!“æ�eÎjÌ²òlÛFÈ2íòâÖ7H¸¡„CŸñ(s£Yl2®1Ë|~CöB�É¢u‚Eà°¡IÁ!fŸ\1ÊAt²Yfõ9–îõÙ6áµBë¤Ü¸
Í’˜aopöpè'­�&‰±N}Î|3Y®…›,Ç*â¡Ø29'Î·U³öÊE¯q‡¡¾Fcs¬,×Ì´6Ÿ½º6×"²Rbž’çûH"ÇþÎAø.ý€¡Þ�†l£1uù¦Æ5R–ÛÃ|Ö¡9&·²ãüÚÄ±;o§„opè_Mâ¹Cd9ó´k
-Œ™U…&ž•…FGîåëó³<›E±!raÌ>ÄP�’YƒkóôFW?¸£ï]^2ëXqžQ†„çZ!ˆÝ%€ƒà  [‰È~ƒ,{Æ ê‚ÙÝ/Ñ�_Z6Ã§äþÔSù…ÆÉB�ËíŒ›þÕ	ßµdÆí{’.Ïˆ	ïJã†wñ¹aÝ©¸…÷}EMþDõÅ“µî–OaWÌô“ÖèÝ3á¦å-Ïà	×ðÒ¶”òxÁ×S¶ÕD'Õýt#¨þRRPã…Ä­�ç·7�Onì+*ŠF«—–�Ñ)ªšj-­ÕÝ$j1<˜ZÉ¾˜\âŸ$õæ'fùK8¢�ÒË™~EgÒ}ïOó½w”ïWv˜ï_~(usùa~`ŸQZ6lpQ•ÎDiít{q«¾¿�z£Þöx|Å²ËÜR·ØK…É§ò=ÒŽäxŠdyeí{çì¯Í
ûä…Šý€M}FqåH†´nÂtI‹®mZÓýÆÓ…ñ�Ã®ÈœOœ­rºx´ÌùjXÉŠk!E.7¶ßv½T°š·EêÉ�z§H×~¼¾¢;Yoˆü–…¶œgÃìä9¬ìJ^¾³íúª¨êXo~1'°\Â	kspFFGÐÀÝý;žö /ç¤ŠƒŠƒŠƒŠƒŠÃÿ‡TÂÁœw¶%(8¤qïƒC8t$‡.Â�g¡ÝAsèL!¾ŠªŽ[C8<s0ïþ}‰ýŠC
-áÀk¦<uñ—�)Ëv¶%^é…œÀ
-1'¬SÁ#úU>‚Ãà[«ƒomD8Èo®QUqž„C¥‚C´‚Ã[^ôGü×9´|ÂÁ	VFUÅ{¦ßæV�ƒü?pxÖW�„C*á`eÔÁ·#‚Û’�ŒÛÑ�ÕbÎ~p ½àöÌœ‘¿±_§AMßyÇA÷ÁÎîvmµÇìÌîÚîtê¸j·xÔ*"­¨ 
-(ÊUT”KäÊ¡r	È
Õ±]u+‹œ¹ïûþ'ÿ„$@¸DÂ!$  $!ä ÀÖý%¨èvvf	ö™Þ3<âûšßòà³¸{ß”�i3ìýh†g7YG�!Â€!
-lŒ±Ì/v¯øÅÆyßÂf˜Ïc»‘ç¹h ñ´P‰I‚ÑùÀÞcsü2ÓåW3Ü½xû¶ÏØl?`ª$ž*±‰CtžQ‚É7ÂØB3ö–kÿK[ïÅÿZÁÖ3±l·
ü}Ûüƒ�3ßL==°z�tRââ%è\p?ÏƒÍ';K¼¸;ßèÞ´À0m3¸¾zF@õcJˆ ƒÑ/Á\5Â`wŠÁ;ˆ€AôÒðæF¶ËjoÏzÁ7[§<Ÿ=óxõ0ã·“øH‚½bã®™D¿ a†ã²zšïú�Nøµ‹ÚBÏ?œ®gûßá¡uòõˆ	©.Ïa‹Ì0@à÷	�ûK•­8×eµ^°û}-äþ…Väq\+ôNÓ
-|þ9 w£Ê…G; â‰ŸkX4”üOüíhÓ¼­«´Â]ë&Ån›„÷›{]Ö(¾ù¾½sYÈùÜ8�qEÍ£f�q(¹OiäìI")k
-KÊÒ¢ˆ™º&b–®�x”ãp:¾ËªIÑ—ïMH\7�5»ûŽÊ<’:6ÿ?tÅsåAB–ø|K�ÒÅà¦õØ—�¬ÔÇµŒ”ájz²¦Šž2òzêè]Ú•Ñ»ôŒG›‚¶8�K¶­•ïÜ¨iuõîîß”,Ûq‹Ó·¯‘ÖD¥*¢ùi¢-F´Ö
-:îñºoóâ{nqã{opªJÎP²ª’{Éá&ÄœFä[ÞRº|Ö£Úà'�ØšÌ™t/§{ß#ª‘¸Îpr][8»J!ü¾9BR)‰�•Š#EâèÖQL[¾(„%9ÜˆìONƒÊ¿üöÑ£O¶ÈÆ7ûs�»TÃ�k„q¿›È¡€ï÷6þð0_ÑB-lû–•ÛÊÍRœæg(ÎÒ�+M
Š!n°ý]§žÞukO>uá™¶ùÒæÜ#	VïKMz¿‚{c¾7oûT
øÕf÷E^éñÇ¥t.v“;CÉˆÎ0P8(çpÝÝ¿vRª?z_`Üô}~çâ3�à¦g^±UÏ´ïôž…ãž7Ò5^w’†ÿ?è[3p¬6º? >ª?¸>²ï$(¬>²?ãpÏ°¯Z »®›§z}¾@ñõY „ ¬Øðò)T\�¦1‰Ñ×˜.ëjÌ}¨l*RÔŽËi¥5%IM©~pÝ×–›àº
-³ÕW˜é­á­á­á­áÿ6ƒ_Ô�IÌ¾Æ4`Èéik*V4M4×ë$µ%3pm)¸]f†ë¯[Ä
å²,ËìÎfØ³vžæµe�â³hÀ�†ØzuÓ¦ªé²¼³)»·µ©`D†,ÖJšJŒb$Ø¨²Åì»ïúŠ²æ){ÖÎÑ<·ÌS��´h@Ÿ¯W#L2UÑ�¼Ú§@æ�IQÅ1
-lœ×î¿n9Ð3üë†y»áLù$ú|ƒÏR¡’�!³_ŽÌŸ€Q%¦çËÒý²Ýi º­�£íÈ‘yR ÂŠ·bÔè8f/êbK;2c@†Ì›³Ý€.}Õ`÷ÁÖ²ç°a¬tÏÍvÙf+ŸÄœkPcÎ3{Ñ‰-í¨´*O£ÀîE—üÌ°¸÷wü´hxÏJ?¸yîU6ºA�=ÇìÅ$´´£/6£òtÏ
æW
¢Ÿ–ÝO„WôÃGæÈ+!¬b
-U¯ÁE3TØXE;:®éat‘	FÛKßÜŸ[©Ãf°Òö.(6ÃéŠ)|D½ÉPáÏ)Ú1ÉRTî4Œ.†"3Œo�Ì«ï°rÃ,ãà&`8<G9±h „×iát!RÞŽK�¢³§%è|#Œl±Ý zC†—V†·Í�`%žªÐÏÔŽ�ÎPûÈaÍ„Ø¾fLºN‚É5ÂØ|“D/¯í×ëÎ³t÷wgì+õ¸Ý #�®¥ž"÷ÓCá.ÚÙþâŒË÷Ì"l±eÑPú_ÇÏ
&00ŸH'+ôÔÐê'ŒÂcn€°›ÐÝL‰™árL"l¡°w-¯nÞ•´@úØÙÂ°þ:Ë<ä=KóO˜¥„”M3‚ª&x'Ðƒn› °¦Ç�BÄ,=d7”¼4A\LÉ,SbabKÍ4lÙ²›'¯w¶0Ý×˜Yû7ZXÀ@?o¢éxþ•úÔuµìçI…¡Bâ±€š>& çNòˆù:áÚ4	ŸcÀásg°ø<–P`ÀŠ§1ÄRýr›£¬w63÷®1±=6šÙ^‡,Ì£ñ®_Î˜Ôçºªç«y«7G(káñqYiƒ\F¶†JË|‚¡¤�7�Óž> §Oþ‹œ	ÊyZCÉŸ¨¡-;+u½³‰åö{#gß#×ÓËÄö‰��x§ªzvU´ö}Õ)ý˜i¸„%*Yü+ÉœË*$;u°†™<TÅHVße¤hnÓ/kn32@Ùê;Œ¼áåf¡­wšá¸¾cà}ý™�à VäÖßµûB«fg%Ôï^Çêô'Ó["x4i¢/¾ÐÒ Ll¿/Hè¾ÃKè¹ÅMèýŽ‹PUr.ª*¸© ôÞJnÖ²31þìdàíú�^°÷S�ÐcÿP»«_›f{2ôÔ­œùØó>ùQšØAE¶FsªåQÐi”ä&%/Gµ”ˆÎµA1ÊB(NYÞ©JVˆ.µ-7û�N:Á—¿™¹~2¢Ø½C©þü¤Û•ÄÔî/&�øÞÆ?xÐ‚¾Ûõ-ñf{(½¬-”]Ør’—«8%È–‡AY²³P†,R”.;Š%.;ïNOÿÃ.�5�ŸggÚqë±ÝîN§�ÝÙi·ín;³»®ÕÎŽ£¢¨KTPÈ!— "rË)Gî@@HÂr„\Ã™ÃHþ$�h‘p) À¿?�Ý™¾#ï}ñ}û{>ó{žþ}ÛÔ¿‚&¿=ÐçÜï+];Ï_öÊaÌ]@’­ç«“çêËL>­Æ¬ì¡K¼»?A*ä/LÑŠ’õAâ$}ˆä¦.%¹©�»ÚlßïÝ¬�þñë!ÓTÌ÷éú�>ü­“×éë§SÈ‹^yø9/äý§^•9/RÚÄ™ÆdÓ9jÂ˜-vô#Æx™mdFƒXQÆPP(šéj3š=nãÐ~¥r|ýeÇú¾|ø¨>q…{ÄàÖ<R‹—NÜËrœ,K±�ÂÅY=‰QÓ§k",gIaS>äkS—(¡“þu!“W@Pè:ÅÕ†õ;Ü4öÏwÈÖþþE|p/>t”:�ƒ!Š·Çf®IM^vÏ‰q/
-–àYOÔU»7&Ð~`¿ˆ
°ù�°þ¶ P(ÖßîrpóçÁô½ŸÀ,÷oa¶÷q˜·^K_mŒÁ:ël”dî4)­c¼:³”�«Á@OÊŠ‡
%e£Ð}ôTB0A¥U&¨¬Ö•SLZtÝ˜[7ªr¡†††íÂÒW›€¡ê“¹rZçxM¦b´2W;ŒË7<A�JKÁ|4˜�7CeD3T^kÖ¡(f
†bRâ\ë­�±wÌvÿæœ9³C`zXúË–œ“šØ`k¹Åµ4¥ÉÌõ™J#)wp¨*Â�éQ%ºrÔ”‰ŸÒ¡ˆS:tÍ”W;¥$ÔNö¸ÜòÙG08Ç¾�¹ÀÀFxú*íÖIÿÐšÄµPSefj–j¤1Wÿ„œoÔWŽâî[0å3œuG´jÕVEeµµ‡X=ó°ò�K½3üë��wÀ.a«ôh¬“×`£%r-­)2Sk†z¤524æ�êH“Äb«_f{ŒÇÚWTÚU•¶ÞD›¼šhë¨">s%˜ú™Ìîñ¿Ã1˜L``DaœŒõ6z<×BK’™hiÀ�m€ZóMƒ�mmÑ3
±tVCÄ8TÕG_
a®«–0×YS1'yP1+v¡ÿ3ð6\ËXcF¢�Ìè:3–ca$ÊLôÛêaZ¦¢Ý3
¶N?®/²?ª)y®~€vö“pÎn
-n^FÆÍKIøç¢‚CèBï
»aÞÏÿwVj�UggÅp,Ì¸Nã–z˜q×ÑsÌ´‚
µhV]wß©"£{ë1‹rPGvALÆ9ÛkñÏ]	nöƒ0œ9sýC¶ÞÂQìë;;š=Í¾Ñaf%ªF˜©ˆ‘e çY5ô"‡ªùþ¢²¹ÒÝ„Z‘5¢—¥õè%!»ÐFÂÍ»Ò/¾Ç_á¶÷Vhú:;¹È‰ Ïr#YÓÜh©™§aß‚ Ö]Ó3gFÃ(p(÷—ú[ÊV»¨å/;›‘/Ä
èeAf‘vãJpëï€áûÝ[À°[ÜË![ì�ôuNhù"/Œ4Ë‹`Ìð#%ãü¨~#?AgàÞädX4ìÜY«p©ŸYº.k-_“4#_¶7¢Vxu˜%6»À&a�Û
¦ç�á0x»¿1lr‚ï¾â…”.ñCkæa4k{¸pBÑ3&Š~<$N‚Ä·ÍZÑÝ§ýü{Rváª�Q¾ÊoA¾äèÀ@oo·_mï
<?Ä&7(í?¸dY€¨vC¨Ï$¡m–ÎkÇ{Â#}ÑƒZY’¹_”þ¬»-žÏÉ[áqK—™ô2­½L·ÙîÒ•Þ¸ßïÚ|c¼3lð®¤®®¯ˆ‚*ç¥AMvy0{F�!ú´=1zEç-s·8Ó*ä9¼ìE¿x�ÊG-41°
ÍXg]nÞ•`ú{ƒàä_6§Ý7ù¾ˆ×ü€”5a@ÁŠ4ï”’mÊ«-&�¯p@�P(zb¡nÙmÓCIÖ´@˜ionËxÞ$ÈÞ,(uP8‰IpÔ4ƒš¶LÿÔ
æíÛµÑí§�¾1¼j¿œüBâ—» ÷CÚ•—+&ô>-zýE±R}MÑÝ¯øðÎhGGÖ$Cœf¥ïØIÂ;EXd#‰�ÏˆÂ
-[%‹h«dn?˜ñ©Ûß®×ÂS_oÃFÛ%ÄšøbÂ’üBú¬òbþ$t†`;ESéü$]êðþÎ¾ÄAi×�ažìŽ©QzkªZœ2CgÌTIò¦«%%–J	Æ‚‘TOc$¶Ìü­Û&ÿ‡�¯€áµÐëÈëvŸ«/:ÏE;g“&!¯lÃÄ1¢jô¿ô.}€¸CÙ+VÜÔznCTyÒH�,Ñ„ïHšÀv¤N`;³Æñ�f‚¬Ü„–áÍhaÛÁ¬OÜ6?ì\�üó+‘×‘5‰·Ÿ³÷4Â¢óŒ4LÎSÏxTËÇ¼ièj»P%ç«”Ôþx-©'ÂwÅ#åñÆ2y2(ÍX.ÏAv
£ºQOPÝèm³÷¸½nßÿ›5ñ‰?­K</É=½­Ú“çžLü«¶-�ÏüT%2�§¶
ó8º(iÓãÈîÕu%Nq]SÖ9XÔ£+7RÐ›¬/ìMÓöåõ¸Òw·Ûºèß¯J�µÚñÓ!»êØá¡ñý>êÙCñò�ÑSï
-îÄ¥†1ˆYon#êR´!/Ö„ôæ�ÍV…«²TQªLU(	”¦ÌRç(\i•¿Óí¥ôàŽ•N÷/ç{ÝÿiýîÀ#û_ùò‘Ñ’ç=®ÝÓ:í[[;îÛŒõc–]æü�ý:‰j?à8ž™iÇqœc/uj}çõ½ik_;­¢NgjtÙDƒÈ*›²CÂBÖ$�}_ ‹‘Í„ˆa		BÈ$ˆ–EY\ý÷¯õùæn=Ìá{ÿ¼ßí7Ô^ éÊC*3taÝ·u=éºXBwº.¥;},S¹›VÛö Ö»=~ùôþ·¿¶�ÿiÿÈâŸOônlßú>Aºé�Ë[ñÅ’/ÔUÏ{7cìX(‹?Ëì'N3HR¦e7�AòF¤<Ñv'Á	‹•'“vÕ\×Gˆ'½û…køð¾Q×¡ƒ½ý¦}ç;)8ÍÞ:›J\÷*À¯xa‹yrÎ4¦ÍŸmNš=GKpx3cí¾¬›?;ÚÈ‰²s"­Hn¤5œi»ÎÙMÓÝ üñCýÜ¯öªÖ¿ú]ÇÎÑcàyŽ	N"ëÁ?ãp['ÓÐÿÊËzâY’²tª"þÑiBô¢W]øÂ�
a.oâU—/)Ôu‘„t^&#�W`a°hÒn2ª>DL÷ ÔOìëÜ9|°x|MG=ë�‡_98~
¾‰ÏØúGêÍgßåÄ¬ŸD]ƒäêé²�•³Ø åó¸ËK>¸KK—–.Á‚+—Ba‘»J¯ù1°ú¢sûÐ>øý~:øÃWõàð±rð—Pàë€ÛàHX"ðˆ�Ü9‘úòÛ´ ç'3Ÿ�ÊØ<“ë¿y.ÏoÓ'ÏwÃ˜ç³”ï³�Ì»°±«@ÓgúŸæß†çq@½HÁ‰ îZÁ‹ºë•k„ÄæåŠ[¼EL¦Ô…Îï˜Ë-R:²°½öŒ*•=£^mÏ$÷Û³hýölŽÚž#TÛs%js�L5Q(W�ÊûÜégÃÏ†ÿ;Có;˜Ð@ƒ24Ãó_’ ¡)¼ÅŠ™“Û9‹.ì±çbÔ¶lü 5»NcÍ&k¬¹t�5�£±æ‹4fTëàD‘dp´D20âf€
Œ7†#¿lh`ø€fh @õ:~­9±i¹1™·Xs[æÄçt9JQ½6té€%¯B;“[;<“Gž) Ï xÃæBÑÐx‰xh´¬E«)kÝPö!ó‹½€

Ïc€	
h ‡ç½dB(Ð@J—9k³»}ÖÒbÍº|Ä\P£3£H:3š¡3ñuã¥ÂÑQ¬pTS.Uá„£½n¨ÐÀ‚4p¿?XÐ@NìðÜ-nlÅ:çy™•Â]¤¦Éœ$h¨ÉWYpEZs	V7]H0˜
-IS1Ó0‰áFq|ý<_¯‚uÃ”nöÞÀ=ú?˜!	€‘³%ˆÃ­n’–yÐÀJ“:iY]"4
-µÓØ²1SIÕ„±˜49…aMêpÜ	mwB
ë†uUr':ÝÐ>Eö¡7†€
ßÀ	‰‚ˆìmQ,vC˜H\$sñÓ$Nvf§ƒš×giDk§«JõFL¥q²”dÇ²¦´Uì)u5{ªÖk«fïV¹×{øï¼�8 ŽÌÚÇ”mˆãWE7X�„)­.~z‡ƒ“Ûk¡¢´Óõ%úÉò
-ÓDÉ<‚gšûk˜ÓÝ¦¹v—Àœ–W³L27{kàüÄÀ…Á•XÐž±Ó…Ùl�­_mI`>'‰]¢Ô¶YAÖ}+¥™¦ë'«pÓãX²u�@·t×Ò-0E
Ý"«aÌ´BK‹›ú[Ã'€ïqNy4ˆ®Ä€Ök·_I"KžIcjŸHãhÿ‘$
-J’s-éJ›(wÀÌ+ÒMËM\³½§Žjo‡Éa’ZšM\K³
-kè3hq'@ß‹Üwáƒ_hAF¿–\Mß‘…=—GžÊ¯S–ïÄóïÜ�9)�yfŸE‚ÒÙcOuíœ¢¾y®&ªkžÔQ¼Zª�SC·Â,îôÞ ðøÍ[Z¯D½’…¦nËÃÐ/á•ëmQä•öëìÇ]	â‡Ê¤;NUz§µ'kð�=ÙÚT>Ïn$-°È.V}Ó<ZÐÁ€{Ðáî?1ˆ A
Ò�Èù•”-EhÁóö0ÜfWDÃSe4uEÏy4œ"°�¥´ë‡Rþ­Ì™ 
-çªYÄÅ2i�ØHv‘šæ›ê)³MuT[SÍ­ãàAƒð4œö"?ÿ×² ðmEpÒ‹ö�œÍ{¡˜µžkÕËQ
ÇIvs"×0‘ÜÖ?”ÞG•5^Ûží(ël˜¯æÃÿJkš¯!7Í×6Rfëë©v˜Í�ÞDÐ >}´øû¾–_
-Ûj»œøì^PÆÚýôÒ`fAƒµY¢‰ãÖ8žf"Y¡¾­jQgê+•é¶
-%Î†»G³Uˆ©v<‹âÀS¨ŽJÕVE¤¹`BÿË=Ðð9h�‰ÿ…EòEçÅØµžK·–‚3]ú°l‹%o˜ER5æ(q·!±ãîPZ?[�ªÇ÷¤šñ=%æªû
&Œ’aÆJé,�n)§ÃhîX{@
âãŸƒÖŽ¹ß¹­v¿ 
¥ÄrÿÅ8çXP‚Ùê[ w^¬t1•¦I›>¡K<”ÜOî¿©+ïM6b{ó�¸>üdyq²¨—m,Q°¦J…,S)ß½^½1¡¡åø~ ñ:òJáãõüž�ÿªÊ'Ø5ê‡œ¶žMsy,ø7(mAì»¦©ÃñêšÁ¸Œú†¡D�i(Uë1ýÕc%ýä1”šk@wðÆÑw¹nµÍþD_~$'öÙ™#[íÞžk=ç|8tîü´Å9æòJX>_¦tùðÏIL‘R¶!º³q$º·üAôƒBè@
ÜA
æ
£5˜¡B
A‹Ò4ksùÃÿe¿NƒšÀÏ8Ž«vmgÛgì®;»�ÑŽn«»£[µ<V<T” .ÄÊ!„I÷ÎB$A7�\„$$\A$Ê%(”¶AbˆÂ*—àÓÿÒNûÒ¼Ý™¾ø¾~>3¿WS/±¨•Ê-�îÙ
-Šc;Auáðbó…cf=îÄè³“Øþ)[ÏÎYC7s)U=åÄ—�]//{F”óÝ5ýº„Ïö¨.o}xYÑEïŒèŽyÙ�ÒÕÃi�ì¶‡÷[Ô;ÑfÈ÷låñÏWµvßÌÝ?{àùàñ/l.vÎÚzëÞÙ1Õ³©r£3¯tÜ¹„7JgüÃ¥–õÔUÙ£™ñØó­Ï·5´�r�ö˜�Ši¡÷§è9MŒ�<‹zS½	Š=›×êN~öVwf×‹^ë¯žþzD?gã [<ã£^º&ŸsJ.5]áæÓÇ®T$Œ8I"†PÐ†jê ›†òô¦6ð©Š¢	¤k(ƒÑu”¡5eˆ­²$“ƒYWíÝ¼Ro»Ã¬?º}ðùÞ¯ô³‡­uK'ÕëXoÙŠ­dáR|î+û¶Ñ>/Î`_È|~¹,äŸxyÔI|{äšÔï™›Ì÷™§ÌgÄWæ;B–úŽÐ$¾£Q¨±%ýXƒÁ¬j¿Þô¦õè¶áÑÛ¾Þ·K·ü7õ[)Øy­a)ÜElDêlbìk\Ã„ãR¦ìø¤É‹>†ËÂ[WŠ=ÑFã×Qî%îã^%îþÅÁ¨Ð"KQb0ïš¾¶{ú{Ì#ó?mY:ð'5ØX‹áû…pÒ5Nú&¿ÿžµx*<tÁ6Ž<w:Ùgæ,ûæ+l&Ñ|>ËmúÇÕ„ç¸˜®r]L.Áä†òä¦ý8„i’E
k0˜g�¶`ºM¿µjYÜó;5Ú%‚Ã‡òáÈ™L8‚gÁßÝÂá¨uÝ&ðöêñÐ[K'ÂˆïNEº¾=CX8ç¼p>þê¼}‚Ó¼ËiÞ‰ueÞu�å8ï‰ºiQƒ�Ì£¾_aZ–¶[)a÷§°çKüy:ì³Ž‡oÏ…ÁAG
-rõ…#7=à(ÉõÃ1²óÚIªÓªmˆãÊÙPüŠÍaå"ýò²ýÒò†ý²3Ê•qqÙåiQ�:6aš‡1ùê«RØ¾-þ°ƒ
_îŽƒÝ°÷öa½à[7øîš3¾áG=/Ãq/{8åsÎøžœŸ\ðÃÁeIXø�t\PDÒYð°(ÈþÍ&ÈÞù	pÿòd[éØó�èè‰.��àù>Æ'u1<0gžFÎR¢Ê_û³ª_‘ØR3‰+3“òeæÛEr³¥Ì E)efrƒÌÔ,�n‘ŽÒÚ$#ô�÷Ã/À�D2Ä"CÄÏšp6(ªâgƒyÃÀA�|¦ý+åÈ 7“‘!pÃ Aîo8ÈÀA†œ};�‹™X;Hs$›@†4÷ˆ÷IÞ)‹q9ó!ÂZDå+J¼t: µÆäŸ]kòç+MEJ¹Ri
-”Õš(êÚ)jcíxh³b„Ñ¢dÞS<± d°îÎ_C.2ä CÎ2ñn�E€,bøZ†WÊbòíœù8ªp&œ)2‡ÆÊL”d¥‘|Gm$óêŒ�EuÆ Q�‘ZSgÖªÇi
ê‘°fÕ`„NÕÙ¬î± à"C2ä!C®õAÈFþ:äü!‡È\ãx%/fÜæÎ'Q„3±Ñ43Zþ2$Q=”©�¢ðê_5LWÕO…(ê'èZí³A;Ù¤é‹jÔ>ŒnÔvZäl³‚\dà!CžÍAà C.Þøˆaë<¯Ä%.‰3ŸX8“HMGGÖ	u/‚Ó&©yM“ÁEM“!ÕM“4UÓ(SÛ8UßÐSßø0¶¾ñ>ªÍ‚6yÈÀßÿ9ð��‹|¼ü �H_/ðb-	HÙ\rÁ;¤rš.7FÆk&iiM†�ÜCHQ‹�&iSë†¢4º¾X�N§ÑÝ�¯kÑ¡šã5
r7[A€|dÈA†»økPDð�"íC‰Wü²�tç'9–C­0§1åÆøX��™¢›å¶�ÓŠÛ&ò¶áHuk_¼úž>AÝÚ– jkf©Ú´(
KÕú±6<dÈG2ðp8â�¡Œà
Ä¨ðŠ])'e¼-&óçò©eæl†Ô˜]gˆNÒ�Ó9íÏé%?†+:Ç)Û;YÊö{‰µ�(MRm‡2©¶½6IùÑ øÿ1äÛ%ø«PI¸ÕîT{G¯V“ÒÞU’óÞ”¿„Š_fEª‰,ÝsfÖƒ±°2ýÓE§>QÑÙ’T£¯O®Ñ«Q
-”,YÑ)µ ÿîîÿî"Cî”;8A5Á¤î� ½±&õM^”pª‚
-gÊBE&A¸Â�™Ð4›ñ ?RØõ0^Ö¥K–uiRe]µ(9J’*{T•*(² à!ƒ
-¾ù·Aˆ;•xG�º¸ƒœð¡Æ3l½Æ›µ\CÊ\�‘¯%Á¥/*˜’‘ü¸únvÊƒÖø¼ÞæDqŸ*MÜ+g‹{ÅlI¯ˆ-é©H“v—¥Éº,	xŸüÏP€ÅØÓP�w€—n¤5¥;mUu+æ'•oêŒ:€ûR|wLN¯ê/‹Ò´å±:”i™�¥iåUéUåéUý¥éÕýÅéâÇEéâ^![ÚSÈ–v,à£Ÿ7ÿ‹­Pˆ…ÈPŠµ	þ(®kÊë>+j"uQ{3b®Á'aº9€mÐò†4T‘^Ê¬ÓÇ¶WrSúîäåß©dV
-2EOUü±_§OMxÇ`]ÙíŒÛÑj»vj§ÖÑz­‚rÈ}„p„+'Á�€á¾D@ä%!á6rrˆ¬J9Ã�ˆ±‚‚0„@@Aä»¿éììì£�@¼Þ¿ßä2iVREßçø£!ç›��‡6ä¡
EÆW@‚µøTãè´YçB]o x¯4SØ­´°Ùg^±“�}->Å-µìÚûåam9y1ÒD^êó›¼Âñ¤4ñXêíâ‘Û©%Ci)¥w’Ëû?Çÿ4ì¡öI(1Ö…*;³�µ8û÷
NÄÕfWÚRÙ{®‡Îœ¢ÆPÓ;:½Äu�Y5â�OÒÊÂû£D	ãbñWP4—Q<·xøfZéà­Ô2éç€ì]Ð!Ú�é$”›^úTcg¼ñÐÞFùç´ÔæB|ÛC¦ÈÆ(ŒñiWN÷ùî£�k…�Œj~«%®6 7¸úÆP`]á`dEÙGT:�S:“Y:È½[&ýÀGrì„üû@„6HÌ.~¬Å¬7ÙšË[ímæº�ìdãDûñWxÏ¾7„ÈÖWÄ´êIŠH4t­òv·gsx³Ë¿-¦Ï¯SÔüXÒVUÑ^RÑ‘_ÞÅGeW¨ü¿ �‡6ˆNì…B�ãPeñë‡zŒ®¢ÅÆpþ7¬‘lÔÁxô•½kßœ³oû"!ªažœZöŠ"Ìž JÝ›{¼ž^ïŽxÆîIïè-og·V=
|XÙ|ïþo!E’®ÐBÕ mø
-Ñ†Ý£[µV§×Yž[|jyQ6l}nTfaÙ;�¥´/;\oP8q%è•/#ˆÒ&H’˜aJC@?ýÉõþ 'libKÀ€à±¿´¢…ÕUûÄ¿ùA»º¦�]Y­v"��6ˆOjBÅåÃõæÇä­¦Ç_K��ŽN\ê�7³mWXÓßÛWÊqñâ·Î<žÌI”ðÂ¥"|_ç?Hmb²±£šü†Rü‡sëYÃåõŒ�†&Ÿ¶úfßªy_ Pp`ŸÒ„*½ï”ÍÆß¿íÖûnì_ç�öÎéë·­˜86nXzU­cC‹—nf½µç%½²Ëç¼Ä•<wªò%Õ2F<ë£�µÞ£±¼Çn×øŒª}ž—WÑÇÕÐF?På£pb´¡ôôž�zÃ}‹ºšÏ_Ý×7wáTûŠžqã¦‰kÕ¶•wÉºM_ŽIH™ÃÜ�y�OcÅÌI‡rÏ		m‚zŸ6á+¡½‘Ð_ÄÞ£O¦TxLæ”y¼,+õx)Qi]¤†@ñu¸ÿËî•Ý/§†ŽìêsâÛvÅÅ3�›úfÕ`Š/Ù¶ðæ¿7I]6çrÌSBÞXd°~·Êõ”aÜ§pb·)beŠ†b¢‚ÅnÓÑ…n²¤7Y¶ÈM&PI.F(ß¯¾Qjçl÷a5éÌÁ¿µ+Nß¸yé\5˜ƒ‘K6\õLÙ¸ÀUE…Ê�ãýLR<æÌÒÝf-³H3¶|Âk§ükbŽë
åËw�	ä»ÎFeãg³ð³I*Í–¢
’ýj‹mß"ƒ“HÇòáÝM›g¨ÝsbÐ1É\2èRc>]ö
ù ÈRêGz(¹”%£ü¢Ù-ç«d§ÛÜ;§TÜ!ÕaÁ=ÅaÁåŸì°žä°©ÒË
-yÑ€ Ò¾�èþ^õ¦ÍŸÿ^	g€–Îè'Â¯œw	‚î¾ÛÚÞ´�:þ¤—ƒ\ÖõCqkFöJÓ(ÛU+vË±YÅ¡\9˜U2Še­d¢üTš¨B�¾V5¤mX©ÿ¤©~~Ø-„ŸÞ…#Çà˜v$œ0bÃ)´ÐÃê,	çÝAÛÃt6Ûz>ÖŸ™V[&,Ë-–Å†e¾eçg¶åÈ2ÝÂ£¨,“-w•¤�ÒÞ£†ÔM"H	h¨@óËÛ°ÿëð�CáÐiü¨M‡#$8fî'mìàœu¶„xsÐ!šÂ’	’�Á„r,(†`ífv(G7}  H*ut¨!õ#Rú;‚do#êI°cW4h|_}ã_¾Oáá‡ðÓ3²€“æ& euÎa@«—mõÀÀî2Ùé‚™½XÙ_¬½6àì/EP	¸; Fó¯}hDjýAúzÀ¶ÀB€	ü\|À‡²íá»I
¸õž™¶Ž�O_sMÍPºff*ñBTQ¦’p/SI¬Í\#5g(IrjgÆ;ZoÖ£']ÆèOŸVáÏ†ÿ4Ü@b55þÛŒ6¢
�¶$¸îâ
Ljð¶ÚàÎNzOŽ¸³Fˆã)ñ©èvfÚ�¥$e)‰T]–’Ôœ¹JîÈ\r–1OëÊ˜ñìáMy÷£¤ÿÄ¡
Ü=‹6p´ŽA¨ž„™c K„g°ÉÁÛLÏØ
Oÿ¤u÷°t%™›µJLæ¯y9+Ä<Á
-©H°B–V(sV(-9r÷þ<ýÆ«+{Ê§7û¹¯T%ˆGn 
ÜC{!mC8fÖ�ÅC”“„’‚¶è1LVòšGo•ÍW�sätá29W¸L)*ÜîÔz¡Â½5ï�GGÞãYî”o—`‚Ù›;ä×›;¨Â
q{vÁ
´!mˆÔ»\S+ˆ³q…ŽžÀ!n‡^‹Ù`û&­ùòVèQ‚ejB¾œr§@î&@È©•òk�¢Ez«h–Ñ‘?ÍìÌŸðëùwç÷^ï©	»v@<Ú�6pÑ†˜+º�`j‰gHÄÑ!ŽÀ•³â�´æÏæ)¹rZ\Á5M¼ôoÂë4¨É;ÀxDÑí¬ÛQììQwÜ.j·u¶U�±kP<@AGÂ�rß  B	�„îprBòæ"$!ˆXë‚Ö£¢ˆ å2 ‚Ò¢ü÷§³É‡çûïëÕÌµ\ár-ÑR®%FËù%q€3™jb?Ì0wŒgšÙ?d�p†³­È;l	6�`C©ã×€èzTº_4Ÿ@@CEƒÊË ,²à·Bø{qµ¯Òr[,ñÎËhZçâ&1šÇ_Œ•ñçãu�S©ÆÎ‡™C¼±¬aÞÍì¡ÎákC|Îz üwùŸŸ"l »|ªÜÝA�7
-Ô ¢@5&
P#ðëe±¤·…©Œ×Ù¸KÊuîb\e×BL“p!¶S¸	g’u‚Ÿ3»Æ²M]£¸A�)gP¨Ï1
-5¹Öûh ïÙÊí?$Ø@q>jÎŸ
Þþ …
˜dP‹Íý@‹)}GL¢¿ÎÏbZ29‰åÂ¹ØÆž¹8~Ï\‚Z4‘®�ãŒÝ7rDÆ\COžA¬ÂÄr¼¡ÇZ 6”Ã†
-Ø@†
UÎß�†óg@³7´¢Â@+&0±ÙëõÑÅoi‰ÔåÒŒÆ<žý<�Øý4©Fò$™#�HSHÆ³ôsž^bÀë¤š|�*ÐÉdp=…:©µ@%l¨€
•ö{@¹ãW€qò`ÂßËòñl4°/Ç¾ïˆÈ|ÛS°Ü˜Hž¯J¯�.Ëe=Â—îdR{og´B·®Š¡œV®Ë×Ê•…ZHVØõõAÂ"-Ä/ÒÊ­õÑP	(°¡6Ô9;�VwWÀññ���üÐ¨5~dê+^lÎBG"a†™N{ÌÈeŽ‹ºÌyd¹W¯ÒçðÕZ¼Z%/R«Ä×Õja±ZÅ‡ãk”ìâ>…µeûØ`ûÑP	œA»‡3èDzaPÀº(<|E•ð²;öêARÁ$7­ü§¦kM£Uù|])ATõIÚûÅE�VP¢ÐòJ-®� ìk#¨4-µÊZ
;[@…
T‡¦‹àxœßózB�ï$a˜%iä•9YLò3YBöCaéÇŽ«
ÆÆ<D½Þ+(%÷sJÚ	"C+Qnh†k"BúF¢¢¿�¨ÔÖ—ª4ÖÔß
4ØPåp´¸�Ž‘¿Ûº4Øë�ü2jQ�
}®ŽŽ~¬º’5.�'Žt¥×÷µ_ãöÔÈX‚®®Œnb�y&:Yj¢“dƒtRï½Ln —A:z™RK'nÞG6TÙÛ†ÃÀrù.û 
p]“º/©B|fµá¨)Cdø}}XæMeL©A’\ÛË¿Êæ±r%õuEý$
-y„@i1—PÅ#¥’á²r©‰T.3’ÉrC	ÒYÐ`
6ÐaC­ƒ=`»ÝžGë
8±¢D¹-ö¹?7…]œ
ºœnÒE•¨”	ŒnIZG+?[LmËÓæ×•Œ\««¿‘Ý Écˆ‡ói’¡"Št°¸²w ¤\®'X	TÁ†*»m z¿hpüp]¿Ú�x^Sø{¥õ?1kB;OÝ
->{ï®/fôVpjÿöºTCç¨’XµÒtQiW¶&«£À”Æ®Jå‰³X2ãµFÙ ®FfÌ¥÷à©rƒµþo`À¦ã>ÐuêÀz¯÷¡�ÏáE#ÒaæVÀ‘Ÿ'¼Nß~„2ÞE'C?^.ä›#iÌ�ØÖJM¢/OS¦Hòô‰Òj}‚¼»?µG©Mç)t™m�îj¤Ï®…tÖtÛ- 6Ôìß
Ú÷‚îÓ_¼SzXÖ{~ùbÔëà£G—¾›FºŽ<óCk$ˆîáÛÆB)Õ?D0‹‡£»2	òX=Nc¬RE›ŠxƒJ’k”)ÝjU*W¥NoUi¬ªm€a·ÔÁöÑ¿lHÝ>Óçñ÷¹ás{'¸ýmlúÂ7æyä)ýÊ¿÷yP,w*(§îq0™ôÓ€»Ê�ûo”8r,KŠ½K‘„ßç‹#~EÄq}:i‚¬¿7I •[ÔlC€šÝ[Aý�]€ÔnMqfÏKã)»'w¾ÿÓØ3ç˜Ü�ôË—Ü!‹_ˆ`•Ø<�KùÅŸœ?ã_—òÝ5Þ…}”&ˆ˜(åG>nâE=éáb'L¼ˆÛ¦®¨ÁAaŒz@£Ú<P»êvÛ€–ý;AÏÑ�¯µ®œ¾å°c|êðnó‚óAýÊùãÐª§W÷
-2¬í�O
-ýõ%|‰Å›”=ëSÿÌ¯%bÃ›Œã„Mæ°Ãž–·‡O1YáS¢¶°gúÖÐ7ÚÃošÙá£fÎf�zhÜe8ö;~…ŽØÎ
kswr¯­yÁñÏú—CŠõs.¢÷žHÖú,cÝ#•øÖ#/où1eÞ“õÂ§>tÍÄLG4‡L§4‡Ìà™˜™Š&Ìó¦Ì~=æ…¦.dj´!äéÍMÛhÜ‚Ì][€pŸÍ’ÎqïÞ7æ÷¢_uú\ñÞõ[8wšÎø2€–´á–œ¿v—ñúÜõX‹;9|Þ‹2ëW8‹©AÏF3Ð³éô\~5zŽLGÏ×ÑÐ*zAAA/*7m­�¬�ˆ—Ð'ˆ»£Û£sŸ"ô+_ïT¼ÿn_7p>ÒNžf€È2p24¸Äe®»fÄ¿;�‹}s¶(dÙƒ€^ò.ó· È~–P²¯%†ä»”—W†\.%"—é¥ÈWíä«ŽM[b!O…ÄX¿
bäö6„nõ¯6ÐÆ¿?Ç}-Àép5pr!'O<8˜þNÄcß;§ÿz*õî,Î÷íÅ<ŸU$Þ{�¿´ú?æë4¨é;�ãø¤V×:]ÅNÛU¶]]µxâŠ¢Ë!á"G0@Œ„Ž¹CÂ�b ŠP@ÁêzQP¨QÔA¶vX¯Új«’|ö¿;;}Ÿîƒ÷ãÏëÉoæû“ú½aKw½åKv½ÍûN¨Ä>Å™ê'#AtDÏõÄùáD>³iÄ’O
øÆn?V¬Ò`¥³k<“±ÎŸƒ
aL81pŽ
Æ6NÜ¸TËNÞ.³o¢�9€ïmå{™#øßšcø;-ñ‰ž–”D‹”ça‘Ymð¹™ .Ü&ˆ£Q‡93ôø|nì¾ÌÂ×K3°x]"–m�Å
-�H¬ö
…C` 6„úaÃ[Ã½@‰Ü	�(x3ÝáÇtC“‚0¦+"™ÛËÜ^Ô‡ºqŽ .Þ ˆ¶{Q;Nå˜a“‡Y³åøÔV[»x|±|ìX¼)Ë¶ùÁ~‡7V{îÄ:/w8ú¸a³¯+\vmÅÏÔ-ð¦:Ã�ºAÔM S�õÁ._%ˆö‚¨Hî?#ˆ3a#1+	ÄÜ8Ø,ˆÀœE!˜¿„Š/Vxã¯žX²Ñ
ßlÞ†U[¶ÂÁÅÉtóv'¸¸n…²ž”õð¦8€JYe
v“…[
é³?†`Á\ðì>gírD»nA,yÛÇÐ°‡�ˆ.By© 	3 ”Â?_j™ÔC
-øh&;­@àE²^……v[þŽ> ½{Hö2ò¾ìiôˆô1kTb­ÿCÆ¬ÿ>ùÃ°g»3âHCœ?
,ÒÅâ",A€`Ò¨�! ŸÜ.UÂß@fT’%O“]R"¨Wi6)Þ†
(^…É_DÝ—?‰‘�±F­Ñ¬™H³ý|»ˆ_»ìm›Áõô—ùÇ‰‰æ"2^º@‚`©Ò”“e	,Q›«4æÀz�9¨™¬Cc¡]Q[‚ûÔïè&õëð�¬Ì!Õøžûª±Øåhì¨ÊZÈ$
BÒ�DÖ,×e’<Ü‘´+¼à(p"ãÁÚ+@D²ÔBg™ƒ5ÙÓ´ý¹Ó´J²úÜéàf²ÎÜé�ïsß‡öçünÊù™9�ý„5¤‹»¯e�hîíÍ¶ÄÏDºí$/ZiàoqDšû}ý‘J‹@bø>pâˆæK-»EêéÐ¬¼÷!ESÁú‚©�ºÂ©�æ‚©Ðï
-ÞÓ¯¼ÝÝ—ÿKÔ­ü§¬�¼1öPîèÞ¹Ãœ‘ü;û¬	iÈ˜?©‹lÁ'
ç�ÈÜA�ØÇ¢ÀÝ0ö‚ÇJ;Ajf
-5SeÁ$½°h2´¢x2´®x’ÞR<v®h’q½èuTŸöË¤cß-Ý7\8ÿ@{›{¿¨/Áz�Îü"Ò�F’×,…hózÈ)Û¡ôò�" bzÌdðöIÌq©š©(™ö#¯d"¬\7V[:Öª›`œ×½‰è)yÁê+ùÛ´ÿaü`ñPÂp‰‰7¤»‘8¤»Æ,µd¤A<ïO.´EÊê¥�99@íº9^^ÈöAV(’ÈDØ™–„$õdL¦v"2»ô
£ôÀFÍ�ßÂ[¼ŽüGù/Ñ½å�Ùýe¹wJywË~à”÷$
èJ¨¸”rÇj�“	iH_8ÂU‡Êq
ò(ÎÐzyBë„òmh"¸ÓÒ˜ôwžêwnºö×UÙÏÌ"ýs¦¡òéž&ý“˜3úñ¸žƒ£Ü[ƒü;}I·õÝ)¦ÊË©¦ªóSÕwè¿)i‘†Ì•‹‘í¸E'è¼w 4€
-]hø´6‚ó6‡%x%�—¿Hä�'ÈÊÆØyU�â*ý“m<4Êi7ŒÄwî&Þ2ÜL¹eèüpøBZÿá³ÂþêŽôþêSéý‡­ÅLÈæÍF&i�­øùŽöÐQ6¢ÂÛú_óA:}¢<"æÕ~ÿyGüXž’ó£P¬{�¨1Æ—¹Ã­®1%´ÖÜJ¼TÓ›ÜWs%­¯æ\úÍÚŽŒµm¢µ­¢›µÇ3­%i�“1iPÚ…"§å8à¶U>.8øíäazÐkCdÔ‹ƒ¬øÇ:ŽðÇ‚då=¥¨Ø”®4ô&Ôu'4v%7¯¤ž1^Lë1žõOeöm÷=FÖ(é1%½õÖ‚ê#(Hƒdá<¨ííPâ´•nkQíãl®tSO§¾¬‹dŒ×°b2pøJ“d¦|¡öºBZu)#Ûx6M×Ô)¬9Ö‘~òX»¨»©Er­©IÚÝtTz­©Nv­©Fv­±Zv½ÁZÿ3Ì‚”4äØ/B™Ór[…:ÇÉ† ×WMa^Ïš¢‚ÆY#ulî@%OÒ«^ÊWv*”ÆVqAóñÌÊÖFÉ±Öé…–:yWË²ÃŠ®fƒâjs•¢û˜^ÑÝd-d‘%i�‘†|û¿ Âéo8âf�ßõo�Ó¶¼le¸�Ÿdú>:Á
-nŒÙ×_ÃÍìÒ§äŸ-É8Øš'3Ö+³[«å¥mEý©JegÛAÕå¶ªË'ËUWN”)¿o-Svµ”*¯·Ô¤AEä¤¡ÐþKè�¾B�Û²éc¾k~;As|ÞÎpëˆt9½›v»uÏÞë
œŒGø¹§ôÂŠ†q�!OÙZª.ìØ¯>Ô©Õœì(Ô\è(T_<]¨¾tª0ër›6ëÊ	mVW‹µHÃd‘ÅÂ?£ØþsœáèŽ%“-»ìmv?Cw|tž±uè\h`_{TÜ•¶ðÌQ^vó‘Ôò½¨öß|×y<ÔûÇñ/ÊÕ¦{Ku´9Ýœ"I*[–fÆÌ`Œacš…3cd‰8‡6;•¥Eå"KbZê´ï¹J�)‘öºá>zßß¹÷ŸûOóÇóÏïãóúçóx|?;ó7ÍÌJoJÉÜÝ¼)«ªyc–æäæŒSM)§RÓÏªÓÒZëÒÓÎÓi6LÔÇæQ`f„RcTÑg­óœû¦‰oöâ´ŸEw›·ý­³~¼Í’�:dÝñ#ŠÔŠÊ¨Eãl-üµvCþ¦¦øÜ\Íº¼2Ml~KsüvÍÉÄœS�¿e�nHÎ<«Þ˜ÑZ§
Ò©†Tª!…jØe6	‡l¦~?BŸþ±�;»ï”×ÏO;|L:¯¸Ù^éðñl=+
-jh^S}"lKÉ±ˆü‚ªè’ÔCñÕqÅÉ
ªÂœæˆâƒ'•û›×î=Ý½ãtClÞ™qÛÎª×ç´Ökƒª!�jHŸ1{Í&¢ÂfÒp}ÊÛ�©/ÚÜ§vßdÌ¼u‹µ´ã*Ï£ù‚0ðè9iÔ!MÈÆ=�áÛ³ë"ö%ÕDŽ¬L¬¯ÈRË—Ö‡U5W”Ÿ;QÒZ§*l­[»³µ.*_;dêé"ÃPÙ3Æaßüñ¨^fø¥�6ñu+ÃðÉu—q÷ºí¦_îb,>s×“]ÝW\qI¤*nLÊm
ÉÙ¢‘Æ6*Ëeê¸ÚuÆ‘à†ý5AM
ÕkÔËj:ªÃËÛk¥mG”EÚ!KO™†£‘;Ýç�Á±%cÞkœ
z.ÙŒî|d©í™ó´óOX–�ÝŒêNž°äŽ@^pC”˜~Yš‘paõ.E[Ø� ó1å�miåÒŽâ2éEõ¡ÀŽ«‚Z.—…Ô_*­ù½"¬âb¥6È¦²©†�?�F…éè¡†E£^·/Öízh¤s­×zlû+š±æÇ¢î…·KÙ3oßÝ�}B³úÅ%uú§DÞåÝ^](¾½vŸènJ±è~aQ@WýÞ€®Û{ÄWoJÏßØ·ªùzI�úZ©6Øª«ƒ­†£P4Eµ³tÞ�2!]wÈõÞ™ºíƒË5ƒ4“úAwëÊO×¢×\Á¶WÜÐM½ÜØèÞ¦5Ïù9+Ÿ‹óý{;½É‚—y‚¾ÃÛýúÛ¶	ŸÝÙ.¼ß™/ºro‡¸íî.m�«C�;A
ÉõXrÿ‚>¹þOÒþÖt´æ“ÝäúÏtÓÊÏ,Ûâ�,vî–0å;4þ=;:ü�{’ä7UðV�ÍÎñŒÉñ~›’åýnO&ï}M:ïÃù4þÀÝT¿§]é‚û�²´A>!Ø3V§§Z—ÜiÑ#W®Œ"mƒ†Dó/ƒúûi•#NfÅ#.öy#+ÜRGVø'ÓB"†éªÕCŒø€/îÉüOÞ›yÅ[¼>Ê¶p?Åmöüœ¶‰óy÷FÎ—ÃÉœ¯-I_ïüæ=øàWm°“�w	¹WOÈ•óºäÜíQ¤iÄHçÌÇ•ÃÚ¸6æ¹°³O…=;ö¾*8Hƒá([ù}E¤ï3–7äïùÍo½Ç·À÷!ùz·¡øxöpjs¸`säP,s¤>†ùï‹ÑÚí%¤³†š¯!äÜeÒØ¥Kj0Y·¿æÆÛ`i–+›,¦GÀÚ3K+a'õ…cˆh2Ør7x)YðW2¨d \IG¬b6Ê]�îŒ"J•L›‡ÿ äZ!çÛ	i¼MHÕcBJ0AoŒÇåÀdÚ&˜Î�Ç<+%ÌVc#–>¬}<a#p‡£ˆš˜¶„®Ô~R'H¤Ž•8 Rb�±-RÅ6È]©Í�c„´�!ää5Bª»ÙßGH>ôõÒ1~L2Œ&ÅÂxV8fÎ„ÉbÌµãa¾³,L,fÑ±Œúð9pœàâ¹L®=<¸¶ðá.ƒ�»«¸K ó\LlVHähÓÑLHËï„ÔÞ¥æ?"$·Ÿ�”ïD/º‘ÐŸ°ã¦¬Ä_gòadÊ�ñL¬h0]ê3[,´·ƒµƒ
l–/ÅrGk¬p²Ói8Náãd¡“9ÍªÕ©6BŽÞ$¤ô!yO	Ù2@tâ©%È_‚@ÆAþæ½©lL§Áp¶#&Ï±ÃOs—aÖ/Ö˜3ß
-¿˜YÂÜ|!-X€%f°³˜gêPa,œ÷…sÀ[ø3ZA>vB¦L„Èd¼¨'^Và»:‚ïÅ/€�`1Xª`0Ã@O
-WŽ…”2hµ”
-ÐÏÈA¿Lé’ƒù‡îOÃG¸=á_|^Ê>øö…½ñïë¾	ý(þ¯�÷g6ÕàËp„/—
o!œ 	ØTƒkÕ�"m»‚j fú_ý¿
”Ë
-0º`=–Ãã©|Ø«'ü3ÿeø{¿>Ù€°?¬/`à‡ k€5Tƒ˜jð¦üìAH[!‡�€ïUpkÀŽ“Ãu³Œ­*Ð÷PF‚QCQGÂõŒ
-®WU`>TÁýQÄˆ×“ˆ¯üçÊ÷‚^å@@Ÿâ¥¨_Ñ³r@ù#ˆc€0#CHfOßbl-!¥n=‰;"_jÝ$àÉBá«{C$˜ÙQpÝE9
×êh0ÕQ`�¥\�‚Ûƒ¨ïÜGk¿ù<YûAð<òM@¯ê¥¸OõTò:ò±¤í�@E5È¨)ÕàG5H—Y ØÙÁlWúxC$–À74Ü¨¸'Eƒ�ÖJé:°ª×�­¦´ÆÂíf,8]1ÃÞÝ1ŸDŠžG¿’ôF=“¾Šî|Óõ¾ë,ª	ãx±(ànÅ©ŽGÜZ—Šc«E«ˆŠ€²ï	KB û		KB 	�AEE¡"†dmYÆvèÔª­[osæÌk|ø=ßÿË÷pÃMƒDk+@;ÚAø&'pqÔ>@9èïÝ ÚÓÂ‚!
>ØD8GN�ÓéDp—�à”‚î:£k$ðø�gˆÏÿH|}qŠ°øˆ02›ú8üYêdÄ<a$r�8„\ ™IË¬ã`‘Æ†Pã¯÷åvH:¼p'ŽöìYˆõ
„ˆð(À$‚7�ç88“M…3rÚ_g+iÏÕÓ>œo¡¾÷ê¦þyaœòkÀy>t†<1Gþ	ùŒ2ŒzNí‹zNëŽ~fàŒ
ñÆäFG@ýs#$íÙ„Ã_éø7@8spü .	‘1Ø¿“‰ï/0ho½3™xIYo|ÊY¯.è™¿û61_úu0~g,„NÓg�Ohã¨9Æ`ô³'fŽu?v–ÝŽ6
’­,!aÕrˆ26 ·®Âž/€îºXÇÓ¸
Š�àÃßÅ£âß 	¿“ÿõçqýÄÜ_üK¹?Vs_]ã,„ÜåÌ‡�²#±Æ¢Ÿ°ûcŸp;Ñ�yí˜Þ�ø™ô–O¼±klˆÙàØ¬êngàºº@ºÛAH÷p®·ç[z@ð«ÔˆØ_0)/Pú|;íiˆ(c6T–ñ8L“1QŸþÙÊ›FñÆbfx}q�2:0m	Ó™·°Ó™�‰Ó™×?R,-!i¥-Ä®wü–ÕÀÚ½	ø®ÛAäödy|ûNè}úUz€ß"3µ@D'ÍbñÔ‡1tÞ’Ÿ9ŽÌŽ¢Ê„ÃQ—„CÑ7…ƒ±}Âž¸)a{Â¤¨%q"»1i"ûn"§>y"ûò'@ª±glˆ36·8BÚî
�åúˆÝvÈóp}-ñ>±˜ãïµ 
�åÄÆMQpÄQ9m Ž+êAgçv¡‹Å†8­¸sMÜß!nÃŽ‹›qãâ†ä1I~,ïRÊXž.uLR�:n,, ÙÞ0ëWÕÙø»Ö�ø�3HÝv¼•yøMæ}ôE¡¿Çœ$Ôo:+5ÊMLé£8÷ñŒì¶D~þml¾ôVb™´9©VÚˆ»#½ž<"­O‘ê	Ã…UF•ÄaiqDZN)0å
x{À®[	Lç• Úµ
-mú«ØmÛk…ÇÞÿ(½]Ÿ+ü�ÏÈC=Çó£"ú…	É÷¹xÖm*%ëF*WzŸ]\‡—ËkSªä—Rå5„^¹–4(¯ ÊËÈŠ•”Å¥”!Y	e¨È þ¿·Ö8ÎŸAÎNG(:´þ½ÂmËËŠÓ;þ­ñÚ7«ñ;2Yì1TŒ
-ëÌÃ$¶
-qŒ\’è2�YXMæ—V’
-”jr…ªœ|E©¢t(K©}J9­_)£õ+Šh¥RÚ`‰”:(7HK- å3HY³x›W€dç*(9´æÏòï6-jOo}®óÚ9£÷Ý?VàÞ«Šn—¡š%‰´zajfUµPÅäïåTÈh¥êBº^]ÀhUç1º+$Œžr1£·,—Ñ§Ê¥÷+ré¥¦–Bê
-k ®±þæåPàbÊ¯_W[÷s�ûçsuç·NÖy~õ Æï¤AxGƒi�a)z	ž_."ñ˜*1›_™Å*¬²µUvSŸÝ©å³»*ù¬nµ€ÕS.`ö–	˜}*S€ll («—Cæf(r±ûX~påKÝQ§…ºSkgÎmkðØÛ[wñÄ]]ˆ“&
-]§Ä�*e¸ô’<B¾XDUe¤s«Øi¹5Ì4•žÎ»ZCãuÔ0ÒÕ,n§–ÍéÒp8=vO¹)@1_
-Dc}µ
d}n
ò¶ï*Ø-Ö~kÿ´áûUS7O¬jvßehðq»]ä{­&2F§ATªÄ4©<E’™OR0²Õ„LA->³¸'¬½”$º§Ç:t„C5)½SKáui¨iÝjS€jl ÙYÛÉr7Y�rû²?tûl^\ý—íã›ÇlÆ8ìÔwç¤ËÝf¯£�
>µõá(µ>:¥X‹áä”'åpKRKRª6>�§�Ë+Ô£jjb¥íÕ‰¡:!ÛP•$ìÔ&º*ñü.�)@36�í–Aš“äo°€òm/k÷X>o<`1Ý¾oé�ákÃ½Û[ÚÎ¹rË÷|Õ��HÅU$.¯6–É×Å‹hœ«"VD+Òª¢”R-ªLW‰,¿«Ž.íVÇu«Ñù]Ln·:>Û4 /1Êòe p´€¢uæ´[–üruû’™Ömfc½›—ôôí·oëùnëuƒ‡«þ®ÏÙ²;¡…7Ã°¢ëHëJ¬__S“¢ˆ¨á”…ëóUá—ªaµm¥º�RdE¿¥èSFËúTÑ…¦ÃÌhË­ ÛÁJW›½Ñ¯EÌ7;!Æ»—!ú‡×›ÝÙc×<ü�óå�SÔ=žîÅ†‹�9í�qi­¡$RK$Ó“q#©(¤‘)n’5k¥A7[óƒšFóCëF¤aº¡¢õYdÙƒbS€el`ÙZBž½Ù»ŠˆÉ+ˆÑVKDÿ€¢cÒ	Ñ2½ÇæÊÔá�ÚŸŽï-õ8.:1£ÿbµÇ�ífEÞ�ÈêHÈñ¿OÏñ7äfùuiD¾Ý·3}»
-ü['E��ÙAõ?æ×Ž‹Mb	dX›C±
bJg†¾aŽè½gŽ¸7l‰hy²Ù¬áéA[ýÓcëÊfOþMw�~5}åa¿¨§Š‚"ÊAˆ‚�,,IH ûžÂ¾E¬J•ŽµŒ¶Óãèh�3Ú©µãô8Z�­¢ŽUGl©Z¥¨¥(E$ˆ„U*<óûÌ‹ÏÛû<ç~ï÷Å]»¿3ƒ³§C(ÞÖ.6Vü")µ<�×hîëê
-vÉÖî”¶í}Oúëg;$�·g?îxWÚÒ½CöýÓ�Š+�ï+/þö'WPOuØ÷ŽÛ³£„´RÏ[—f‘ëÍ³IcÛÈÙþUsNÄ.<6À	8ð"9º¡?%qGoš¸òyº>ï¿@Û#ª”õ(7g=³l÷ÚkÄ}ïoõª
œªÊt4WŠúº*Å�ŸWgýÜ[“}§w‹+ØMÜFòðKBnCÈõën¤ñÞrzp>ù—3ô�£#ô%FÁ
#¬õu#œ¤jg¢¨À™¬6§äÊ�Ebgv¹`DW‘>VPÁ«)Oo(K�øGIÊä¹bîTKo¬«Pð¢·PÐÓ_ì
-öÒNÝÁ�Ó„üï2!�?º‘ÿ<œM¾˜ôr;ò&Øcÿ›Ÿ§é!uÓ1ôêiFBÑtß4Í”*¦9ZñLJk*d¶dm‰(Îã`«•‰½–xË�ÇysZrXè1%¾é5ºòäo„Ü;IHÓyB.5rº…�Ïr‹fý+<>@ˆ÷v„Ñª¹®Qq&Ð¹JÄðÅˆËÎGž‚U"„6ä&ŒŠ4±Ø¢Þ€=*:>UÒñ•"7åÑ¸ïRëç„Ü<KÈå«„œ¹Må?$ä`!{á1{¼ÜkáçõG®ÌGÈjVGË'Bdô”dläqÀæ3‘"`@ Œ�T¸za4òëP%ˆÀ{üp|”±G)'Ó]i¦Þá•K„œm&äøÏT>uöR73kö&¸»—`Á¼}´ð
�be¨´ˆT„Ò�uqC}F˜,:’ØQHgG ‹;fv(ŠY!ØÄ¢a3
.}w��sÔNÜ%äP•ßIÈ¶ÄÍ>Cæ‚¸›0{¾î^bx.KÇâ•Ið	dÂ/8�¡t„¬‰BXx$¢Ö†#&b
˜‘«�ŒŒÈ dE@áSÄ
-Fø¡Ü¥o¯r’šÁá„4tPùÝ„T7È=ÕAâ)Y”âÍÆß�˜ë·ý£à�å�aðZ�`Ú*¬¦ÑA�¶Œ åà-CJàR½!	X¥KÐ.ð„Äw	x!~`ÑiH`„‚›LWÈB¢2l³ñeb0¶J»[Š
ŸÈ°áåå´1�””VJ·±/¥`¾’"Á)wL2•6‘=ž1™5,˜r	ºùž�.óBz°¢hàÆ„‚—@�ÏW–ŠDS&XÅÙˆ¯‘�Q¯@ìÇJÄ~Jù‚ršÒ¨ÄÆ&%­”.â
-p†àËç�ÊÆùã2§pRê½–
¸ýüy�S2¨\jŒ¼õ«ÀçDƒŸÎOš®^„„BXÕJÄïTƒ±Oƒ�‡5`× îå¼ñ×5`ÞSƒÕ©{@�ä—ªé´Wª	þˆÒ™9¦O(z³&UÏ]€�ê  :hËÁ[=bfÄiL³Ó�¦#Ù&ÇNeÔéÀü³Ìƒz°>£|¥ûœœïôH¸£Câ#’úµHÔNò_iœ"§f0{LÝ+×<•ŽëžÈÞFÏyP.[!ÕA€ìuÁ�Ç­ƒœ‰(Bµi%¸åÔùï‘ð�		ûMHü{’¾4!ùŒ	ÜË&¤4›�ú‹i½Æ)¾Ã0"Ò;$Ný3Ù¨á‰|ÔØ®3ýêr<çB½t1DA¾È
-]	eDôŒµÐ'3 r!Wˆ ÊQ!£„:¿ÆŒÔzR>¶ õ°iÇ-à�²Ì¤_°LgÜÈ}ÃoÍ}-è1�ˆf‡t(§G1œÓ¡ræ¶©G,-Úk‹v4ïm`ž7š¥‹�èµ†µ°Æ†!/)¹ü$èe™P”È*0AXe�æ×åÿžÑ�ÿš `Rp,Bx2,ó\þ˜øªm$ë®m8ûižCæ°v«†¬�4¯l÷uÃ?é‡›�Î¢\@î\è|ABuÐQ+�¶%1«PFíFq:¶ìŒ“V>¥¶š&¤å¶Ñ¬­ENñîâWâOJ†²�JN;¤_
È/½PÜ.ìSvvkÚu/‹ZC%·LC¥M9Ce×Ì/Ë¯æ¾¬TƒÏB(ü—Âàƒ’5¾°o a'Õ¼¸™
-qêd¡J2’k6i‹mŠÍ%ýò�åÏåû*ž)•w«þYÞ¥>UöT{±´S×\Ú¡ï(m38ÊîæV|ovT^³Øÿk°_È¨ry0z/„f…7òý— rµj×ûc{
¶¥ÅLÖŠ�vE¦£Ø¨îµX»öÒß´Û+k÷ØÛuµ·é�Úêÿm¿oøÖÞjl²·˜Ú«î˜ªnXû7]ÉëÛ|ÁÖWóM~_Í×}5g\€ÍÃ&ï0.÷B©ÿbl]‚:ºêY!Sõ©Q#;3™Žm2ÞóMzYg¹-§=¿¼ø¾yKÕ=S}ÍO¦�¶ÜÊ9\û£ùxí¹gjoZ®Ô6Y[j¯çõÖ^ü?Ýuþõ¾püc0CÑ©Ó¢ºmçÔ·"$•%²o5–Én,ƒ1Ìf˜fÁ`Ì‚“8"‘%Dè!u8Y²•,¥¸uŠ–[=Nº-÷|î÷à‡çÏï×ãýùüðùD½¤·Æ¼LoŠ}‘Ñ@x‘QGx™qu
0JK†n€á[ô!i‡Lß§¹¦›a®ÕÎ•<»_ßó]Ž½Êö>õ<3Ðu†0NŠ‹Š¥PúñŒô¾ˆ\fod1ó6^ÅêÆ×±nEu°:£Y7cXÍ„ÅÌú¸…ÌÚø…Ìê„…Ìª„ÅÌÊ„EÖj`4Ò†4DmÖƒ);taæ>]˜kbø]h¹í“Øvï’ØÙxQèe1—è0ÁÃÒc£î&“ÈÝñiŒŽX6»-VÀ½[Âm&TsãZ¸×ãïrëãç¸5Äy^Uâ<¯‚4ÏS‘žq•¤gœµÀ¤!ÜP6éÂ´í:�³W
-ë)²Øü^vÆè¥üÜ�y™§é#±Ÿí0?Ä÷;:¢›NLj¥¤0¼kÄœÜZb1ÿ
-ñ¿:±ž_Eêá_&=ä«’çø
-Diò“\9B–ü4[ºƒÁÀ]˜°i=ÌØ®
söhC±±î_òãËŠÓ?/–;îšUºÿsL†== 
-öºÍÇ‡µ³ã¯g$gÔPiÙ•dv�*Y T’Ë„
-r�°”rS(§Œ¥)ÓÂâ”iAaÊL�8e6_D™ËCðWc‘†H¤�d¨YÛ´`ÞnÌÉ¡uf^Uœ4˜¯²ßò¨Âåà�âüÉ>i�G§(2¤‰OH¨å�èjv)�!”RsŠŠ¨’b1µ²X˜ÚR\�:PœŸú°(/õQa^ê”ˆŸ:-äSg
-Ö	H~ãzH6Ô†ì­(Ø¥ùM~óîÒ‘uÿ®¶Ò�­µÙ4V}î—�
-ß=
-œ[«4üb½8&®*�˜VÆ%óŠ˜4Q~:[šKÊ³éJ9—^/g§ß‘gÑÇeYô	)›þ°˜M{TÈ¡M‰ÖãÐ…4P
´ ïgM(Þ©±¢8 ¹\e‚~^g¦5Uoe0|Õi__µ·egE€s£"4°F«*Œ§Jò“8ù<ª�“É�3˜¹
-:S®LcÖ(RY]
-*óAYc¬„–1!£gLJ2Òe¤?*\
ŒG£a´¾¤mÄÀÜ-P²õIµõgÍ¯ês�ÆêãMú×Ïîé©ó4o­ösª»ìW©ÄG•È	Q1‹W@Ð³iòd»<‘S¨JàVªâ¸íåq¼%‘=ZFÊ+If�Ë(ÌIÉZ`‚&ÆmX5aÁO¨¿å[ÕÞWnW[¨ß	¦Úþ¡6Üf¾¡¯ÅnWG£ÛÑÆkªk.^PV…G«¢“ø¥ñL–„”G¦Èbó™åø|�*²à’2BpC!-ÅóGK£³ÇJÜqy<{BºHDˆ:Z0KOŠÕ¾+Ár�>˜mÑc�F ÿÖQ�îŽ3F7Ú\L¯6ûØ^jð–]
	TG9—cÓÓ”	9ñ%ä¢)£$TZP"SÉCä-²à’’Ðâ	I˜hB‘?!ÅçNJÖ54!Yyº((Ù–+Ö�Çõh0ÞŽƒ··‚Þ^SíöÛ6[ºœŒ«:<mJ[±â&\PvCh\ÆU|*©:–ƒ¯$	‚/§]¼œ_ˆ«,ãªš…�¿
à.M‚J‹‚¥S¢�Â)qˆxu�„4¤a4aÞ:µ%0]­Æš4À`—:è»g:¡û­6_¹kÿ‹²×Õª¨ÛÇ™ßéçÏjÃEQZBÉ1�‘Ìà†øì€ß¿�Ÿëw]‘ƒmläa›†8Øúy®ÿ•§ÙOrqŠ9>®lu0Y]2Ñ¨obM0«`¼ÛP ùûuiƒæÑ}µÌTÃ§÷J�ÌòûÝ²îúøR{±aq=�ÄÐ®�4ÿÎæ…[TÖù®¦owÃ§ûzºwÏ Í»ëOºï�Œó
‹,lÍB&öÊBÖj ¥y(µE“¿0Ô@ß-d~?
-4M Aí´ªbÆDWöø„‘à¡�	gâÜ©´Q7÷„/\øàùhÿû�$ŸûxŠ×}
-Ås�Gö.Iò©OtðÑmä
ÑýÞÛ$ÏîeŠWëÕ»õõª`*PÿKÀt9#uÜk ù{5«ƒ+ÓP±¸U²hº^´h¹�÷üÔÁôgö–‰O#ç\|f=‚}f±x�Ùðh÷¹¤h·'l¼Û¼$ÒõYm¸Ëó;aÎ/C�f>F:�}ŒvéÿHpý}u�
ÀS)£È~o »€–?¨™På¯×ÙÛÝšÂ·Æz¼·Çv¤¿±<DZ¶¶ˆ\:e°dëá½ä„u]òÄ9-9¾‰	:û6õ¢Ã;>Îá½2Àþ?ÍþvF°vß_°{õÙÏáé
-ÎáÉê^#;˜DîÁ@=·;h½@íÊ£€ä“žZþg#4gåÀFúÊa#ÒÊ‘ƒøs3ÜgËS>+ÖŽ®+¶îg¿8{Ûý×Ç÷ô× _›¯ëotïß¼¬~TxZþhó°üß¤›Åßï\­¿|u9¹òmU3rkèm ¹‡uCÈüI
-çÈý¶Å‚[0©p—>îß	íÃÁÃ&>ðÈqhnã­mÏ@»³ÖÐÙÑú8‡ANfÈCø(¤ŸýÌw0…*{xÃî0´=ß!>œYÍHw�3¸ÙÀ5äTcÈüixÏÈøŽV'C=-Ü¼!nÿÉîÞé÷ïw†�í¡ÉxÌÜ
-ž°0‡g¬ŽÂsV¦Ðûÿt×wXÓ×ðŸW‹Ê‘­l”½Ã!ƒHH€VÂHØ; P†Ê#KÊ®{ ×:êlÅºµX­JkUzñjÕjE±€(ŠT(‚È÷ž§çþñù÷¼ßçœ÷œç¼twÈƒ\�ä„Ê@G4ØcqØß?Ðìp]£îNŠúŽÜƒã?RÔ^r›îSTãŠª (õ57ZR £'ƒ¡QLÌÂa±Œk[:hp^á
OgÐ\\Ápu×Õ"Wû¿¥tW+¹X¢ÆÅ-Î&ØIìÒ¨ë<E}{�¢ö÷PÔfrMäªžSTá+jNÆ'j^2¨1˜£�ÏC¡m3–XzÃl™;¬¬�ag³N6öp·µ�¯íRÐm,J¡µ1dVFH#å|òI¬"ª5:Ezàà-ŠÚÚKQÍ�HýgU0DQi£ÔœxPó¢@Íç�Òa‚2ðµØÿ0vƒ–é
-h›Ùc‘¹-Œ-¬`a¹Ö–æp°4�‹åbxYè#ÀB,ó…à›Í‡„|
-’L?C²FˆXl¶…1hË-áãi
??;ø„8ÂGà/©ÜÓáZ—Ú8¯cÂi3Î»Yp9Ä‚k'qž·«,¸ÿB<fÂcˆ	Ï?™ðš	�ðãS‚§‚<ÁCD’’ÁŸd ¹[!€ÌXþÁŽ ñ<àCƒw*ž!p¯&µšØpÛÀ�[î8ðø†Ï³Äe¼nqàý�
Ÿ6|ßY¤>k6ÌiB&˜`Ž±ÀÒ"C’ÁÜŽ–$ó.ÝÓtÒÒtr­%þ ÉðÍeÃ»2^õ\x¶qáµ#ÞûÂàsŒ8ß..ünpA»Ï…(üGC0ÅA8Ó!`O°Àå t$\Me¨®ù’§e`¹Ù€Es›ã¦(ôD&³Èºe<ÐêÂá×Êm±‡ÿÃ|œà#ðAÝáºzÁox³Œa™› 5ÞrÁæ!|€¾&/ÒGÉì@Ú™äà9[�ïkÓá‘àÈX`*ÉºÅÐk#Ô,}£ÁÄ!ßD"äl$˜?D‚Õñ‰ý$bšóZð!tR0ÎÿM8ƒD>�„ð‰"Mm žÙ°mÍÁ·3‡hÅRH¼mÍpCyú"bÙà¥ðÁÉ�])«^2Ëj“Ì°·I>röJ¦C�ˆ§¸'ÅÂ.‰'y?GM„?ŠzÏ)z'˜¾ÌŠ^gÅ¿‹g£•ÌÆÜ�F¬&ˆÑ×#×Ç<+SDY›B¶Ü‰žVH¢;#>Ì±Ò3É‚A–x:¼4v’·Z:Ák‘Ž‡o’þÉß-”¾‹èŒ�¼ûVøcÌÑýèá¨¡èÁ¨‰èçâ�Ò‡1e½Ò™øž¸™„ŸeŸ4‚T_¦Fˆ´4FÜRc(L ô°DéËôP¯Y¹ˆ1%K—(%c¢"Ù[auÂˆ°1ñ•¨=q8jGÂ�xÂ äëø�èsñÄ\—õÇÞ‹ë“Æ=‰O¸7•Ô?-ÿ)qZq-i:åJ²fˆÓÓ…Ðt1¢É^ÈÉó’io„<7SúÛÌæ³]'³"ÆÒ¤Ü‘ÄñKinü@L¹¼?ºNñ,¦Uñ4v«üIÜ—òÇqGå�d§åeWå¿Æß•ÿ7a@~'a<åfÒ‡ôkòIå%Å¤êBÊ_ªs©ehÉE2ÈL
¡²0@�Ý"¨]ŒPN³œZÉ\>¦æû¼Î‹fdÈ#ûY²Ç‰ê”ñµé÷â›”w6¨î$v¨þ“ø•ê—¤NÕíä.Õ­äÛªŠ¾ŒnÅXæ÷©ãÙçÓÞçœNŸó­ò}îq•fHÐÕ�ÄÄÉÆÈµÐC©­>w2øTëk:¾*Äf¤šç:P.xZœö GÓ«,HéI©È¼©¨ËùIÑšÛ­Ø’w=eOÞÕÔ#yWRÏä]NëÎ»”þ(ï¢òMþiÕ»ÂÎŒÑÂc™£…G²FýH$¢I†42÷™ë ÒF«Wè~Xë½x´!Øb¨>Ì¡oM”×Ãê„�;¥éâ›ù¹Šë™êœËÊšÂ.ecñEe{ÉyÕŽ’³ª%g2N”œÊø^}2³WÝ™õR},{¤ô`ÎHéþÜ‘Ò½Äž¼µ&HÒÑAÜ’EÈ0ÔA©ÙBÔZ-@½ãÂñužú¯¾4îÿ‚³ì·u"§Þµ2úÍšTáµ•YÉ]…E9gs+JNf¯Yy"»¥âxöæŠ¯söTÍ9Vq$÷BÅ¡Ü[_å½¨Ø›?\ùï‚áÊ]Ã;‰¯Ê5A²Ž6ŒôÉÌ©�
-Óù¨[¦õ©Ùaþ»õnÚƒÿò7xº�er¿-Ò±§%.ðúZ… «6#ñLy~VgI©úhauåÁü†êùm5û
-vÖ|Yp°vOá©ÚÝ…ÝµE¿×n/¨ÙZ4X³¹h°zSÑPÕÆ¢¡Ï5�\[É†z(0X€j-4XÎ›jµ�÷fƒ³VÿVíß¶1ïlØßh‹¥]nI?W¯”u®ÊÍ8\Y\²¯¬¢j·zÍêŽ’–ºíÅ[ê¶•ì­ÛRr¼nSÉ•º
êuíêþº6õ‹5ëÕ¬þ§z`UkÉ@­&P�)ä�(ÖŸ�UKæ¡Ù|î_íÖs‡·8Îíëp×ºßdp{;ßæÚæŸïÚ“¸'[Ò¥G²•ûWïª*«ÚZ^]·±¬¡¡½¬½q}Ù®ÆÖ²£�-e›Wö66­ìkh*{Vßô?¶ë4ê½�ø=CŒ­“,‰ìÛ3¶2YÊN‘�0DÖj0hÆ>&kŠ&)J¶VE�öÍQ='-R.%EêézêNëyÊÉýüÎéÅóf^|þ/þ×õ¿îûúý¾/þß¬ÉÂÒ¬—‚ÒÌ)¾$MvˆU”ÇL%¨H¡hõC½åµX�2ÖbB}Ðb§t«Ù]çŠ8ÀêÌ®p×ã51í¢�œý¥©›[rªó¸…ÙüòR®HTÌmr‹øÙ}¢íÙwDÙÏ„Û¹ÏË¶s_”ð·Mó·MJ‚1rr¯ ‡\ÅyX¬L�«V…™u˜Ü¯#m”Á6[Å­«—\Ø¿–uJêÔµ;zmkm|”xGrJmY:WX˜UX˜Ï«Èç•Tåòêª³y-ÕÛòzª³ònVeå=­ÜÆqsÇË³sž—åd¿(‘äŸåh˜« …eó)_ë~‚·âùðì <uèÂ­Î¥òWÚ]Ÿ9äg~ì@°Ãá½Q¾ûâ"víLLÚQ•¶µ¨<ƒŸ[Ì­ÈðkÓù•uiü¦ºÁÑÚ¤Âë5I‚ÑêÔíO+7Œ‰6ç�·ðž—I‚±49L•‘Å|yêœHÞí¢Á“æyð¨]�hÁ�£Ö´óGœõtúÐ»Úí[Z#¼÷qBkölL(«OÉÈ¯I/Èe	“ËójâË„uÊ÷ÔÆ	»kb…Wª8Â'•JŸîH(%
-žU$ñÇ…’`�†›¥ç¡€FùX%O÷Pa¸UîvIÃÀ	u¸Üc!ÓwÒQõè1OãCÝ¶{;ÂÜvŠª8°!VÐ””ÎmLã¥Ög”ÄÕæîˆ©-«Š®k¬Œªë­ßyY¹óYyTÕ¸0Z4.ä”�—Ç–J†di˜%%…¥Ò0Qðxî¦Â­ãT¸Ò«?ŸaHŸè³Wn?í¦ßÜ³Æz÷ñ ×ÊîÿâŽ˜hÞ¡ø”Í-ÉÜ„}éü¨¦œÒÈ¦²Òˆ¦†’ð}�EáÍ—aÍcü°=“…áõ“E‘5Å‘U’a‚¬,æP¨ï+ž4<h¸ÝMºßßÝëœô\2¦v]´Uj¹àªÝø³7«º/À±ôTˆOþ‰ÈðÌ£œ„Ä®ø-Ñ©¹áíÜ‚Ðö’ü�ŽÝyÁ�¹Á�s‚ºÆ¸Amor‚÷ÿ›*~�Ú ¦Pç!ày
Àpéží¤û‘îuþ,ÀÉ«Tèê×¡´þb%/¾á¨Q{Í�^~Ù×nû…÷­çBSÎDÄpzcRÂN'f�ÊÊ
-<]”¹ît}F@ïáÍ}Òýûž¦­95“îä÷Œuí¿e|·UÌ©e£»î’3øå(ÀÅ>€S—:¨Ð2¨
-â»f2uƒlá¯Îú‚ÛÖÜ›¾N©ýþ¾±×ƒÃÂ®EÆ®»¿ÑÿjFâšk‚�k®×%øÝhÛàÛ.Î·ÿ	Çëú§8ïóŸ|{?&ù�ü�,	òÈT‘3¸Ù	p™ÜAéŸÝ¤ÿµÜ‘‚Ý�iP3ª+%µPŒ,×Ê~ìl–6ìf7ä½:üÁÚµ÷CBüîs"|¤Gx„{?¬õn
ñ|t6Èãñh ûðû Õ÷fÃÜf#<®Í®—d¦`d7À¿‘�;8Kúç1ÒÿÞh’‚Êg4(ŸÒ‘â¿b(r§l4Ò^ÚÅM:Z‡M¸:LxºùLøûxNFú¹¿Lòu™íã6Uîíöj¯çê×Ç=V½¹åîúæ­ÛÊ©ïž+ÇÑÇiý$¯&w°àÆ’�3'®´ÝØs r„Å¿)@Á´Ö¼­3FJi3æ‹â¦­Â§m™þÓ+l½¦]VÏx¹¸ü±ÎÕé}ô*Ç÷©®x.+>îp¶ÿtÀiùç^Çå_î9Ø}ù}û®`O££$Åä.žþ‘�öñ @Õ0@á@î'9JÆW5™äoÚJœo†ªaßèÚþ³,cÏY¦ë¬½õÊ¿\–Ù÷b³¿²—ÍE³m0•m…<[K¬\f�–Z`Ÿ
­™øÖŠ‰_%ºÝF2ÐÐK2ÐÙÐt‡Ì"óG¸/6ý)MM@%Ù(TUFÍ…kPWÃ�´Ié5°GKc[d›ÚàJ3Kô`°ÐŸÁÀH3:&š™ —nˆå¦(&ºMôñª±>’èêq’�s?2Øü+@õ2`Ûs€äW±_A*¥e×¡¼¢7.X°
-ÕÔQSƒ�ºZÖddè2ÐZÏíôŒÐYO½tu1HG9Úš˜¾D´Ô±’‡&MUì�èÜÙ<@2X{ èïùãISQo�üHù!Èº#(8¡ô|;¤-´F%Uª¨ÓQCÃµ ¡¦Ò55ÑRs²Iqt^¬ŒÞJ¼H9ê4Ü¤&ƒ¹äç¤DE’“$ƒIëIKÿþúÿü¯9�v!;,G�·APb!üdŠ lˆÒ*º(§ª…óU5PUM«-D5E4R£!CMmTUÝúÊ€±$Aò©éy&æšhÆZ‚fKuÐÄA
<Ð Ø
âLÑ`õóÍQOÈDý�L4h"Ú˜hx„‰F½ÄE&0Ñä!ñÂMß™#ý‹9š!ƒøñd ý»92þ’Õ”Ñšì@7ÓD¦ùdZé Ã^MÝÑ4ÐM9fh²‰Ìà±Ð¨Ì�k	±%š´DÓnK¤÷ç-Ð¬Ÿ¸Oâ1n�æoYÈüÌBÖYhŽäÍyó_+dý)®$;Øè¨£¹©&ZÑµÐŠ¥ƒ–l}d­2B¦?™QÌÿ±]ïñLïÀ¿$•\B‘SN—ŸÓï„_ÌÜ7lfîs33c†�Ù´¯f¶¹lH.¹S%•nºê¢ÓÑ)ýN©ÎÑýW�î!%‰Jéýûþþýµ?ž~ÞŸ÷ãóxÞ�ÇlRíÀ:ËÖà`ýVX7àÀ¦
¶û0Gpð¯Ó8ØðæìÚƒýk{À}´ÜœÝœl˜Åüíö“N€›Ð<—ÞÒì­,Àñ§ÀÙÚœñ«ÁÉË
-ðÁÖàÀÄj%cP<Øå9‚]©Ø×bv`§;œÀá�#àOb~uÇ«ŽàtÿÍy?ë<á0í2ëðÅpŸ�ÿÁœF	àüV ™ƒÓJ3pZ½Ü×XqÝ
-ð´_D+ øÛ€[$\¸Ø»€“«´Ùœ«ÜÀ¥Ñí›Ë.×9×ý®_ÝŽaz\gÝ/»Ìn»|!¾tþä1î<á1ã4N—1"¸½ö÷d <×È¦KÀûÂî–æ@ÆP±÷ðÛ`	T·€ÕHaxðd»1•0GÈ"ÎÔÓÄr�/õSž-ÄÏž{ˆŸ¼ºˆI§	“ä‹„	ï÷qïgî£”÷n#”÷aoðxI¯ÇT Ýóò]
ÀëÁ[!$‹eà‹­Œ�µffû„:¯y=ãg©L÷/”$¯OÞÒ¤wùƒ÷ò{J5yÌ§‰ôŽÚNzë{�ôÆ÷¤×ˆ_¯×kÿžCO=_Œy>õŸ&?öÊ½ �ï5øõk>&F@øßýæ&jaŒ5¦À²6ƒüJ`x®û;"÷‘éþ> ž<êŸî3â'£ûP¶R_6P_µù<îôyF;Fyržò8ä:åQÈÊýÐ1ê��iÿ›4ì…à¾pî�š&@56’¹)/[ÑË� ~µ$þl<œù4—°f‚Mµe„¹‡Ç’_„ðýž†dü’ø0´$àAhmà½°æÀ»a�·Ã»‚n…Ÿ
ˆø=è�ˆA×"Gƒ¯Ð§CûèþkDœe½;è'5?¬ª™1D˜Ç\R~Ô‡´u†_…v¦…n+Fù”uƒÜ‡'l¦çƒhžß�Hí&=;ì�È‚ðë‘åýQ
W£Ú"~gtF\fœ ÷E_ _Œ¾E¿À¦ÿÂœbœa~‹>ÁúÆ<;Ç<ÄžcÔü—B 6ÑXæL2ÓƒtËE ±Ò›Ê´5Ët^6$!­z"
-¶¹Ïg¸
$ÄûõÇ
-Âÿƒ2.Åä0‹)Žé�©b�g5²Î±v³zb»Xgb{X§Ù×X'ãžÇ‹›dwÅÍÄíçÌpöÆÏp:fâvkX!Æ†À6ÐƒÔ¥]¡ûM¶vÁ¤b½ÞˆoôLá±ü?²@«I¤Ó•4¶ÏÅ¤äðó	¢˜³çG•p’SšpœSÇ=ßÊ=¿Ÿ{8¡›{(á2÷÷ww<±#qŠ·‹7ÅkåM%îà}Ñ‚Œ Â@¸úXÖ1�Y:39«tÞ«Öé¾*°Ó{TH\r+ÏM¿<Âá"Êò>—žÚÍOeMB¹‡yÊä¼¢”N^%¯‘¿'©ƒ¿;é(¿=©—¿3ù¿5ù­ 9eR°=å#¿SŸò)¥N64€¨Å‹!y1öÆ: 0ÓžR¯Ô~³yí¼g%Öóï•¸ÞØìûcŸ*ÌîÓ«{S<­+#%f¿PÌëd	vñó…müÒô~]z³ MÔ$8(Ú.è5þÕ	†E5©ã¢ªÔé•©„‚‰4M€†õƒåÞT½ù 5Ò†<S­ÉÍæZCe–Z�*~Ò¾Yá¢¥ÌgÅ…âÛ3êhâQ%'pV³òZÄhZcº"£AX$©V¢5Â&´J¸­v£[…WÑ2áK´TøNR"Û¸Eø>£X8.ÒB€�å½ôE:�m õµÀ+1FžW,EîÕ¬Õº^ë¤w©Šbq®œ¶þÄ–(·ƒlÿŽÜÄ¨–l·aS†°zcZ!Î—–‰K³JÄ
²bq»¬H|LV(î“©ÅOd*ñ©Jü6S%EU¢wU¢±ï@(6ñó@ÆÂy�£‡Lé!ƒå‹�‡5‘›
«�+Ûð{ëÉæ§«ƒÿydk¤Ë¾’Xj[!—¾=/%¾ZžžV*E3‹PE¶ZR¤Ì—T)s%­J¥ä�R.éUÊ$0ÃòlÉˆL¾ñ�Tžñ6Sž1úÓ×‡Äyº€êjÏä/@·è *u�»õºÈ�¦•È¥fÜ‚s�¤¥'­ÖÐwWÄPšKãÃj‹’âÊU©©…Ê4W&UdKóó¤Ò2U¦´Q%‘vægH{òEÒ;ùbé`NÆ¦a…$óu6ŠŽd¡è›ï]›G-ì?èh�h#�Êäní<d Q¹Òj�ô¶ÙÍ?ÕêiÒÕ°fï¶p\k“´­ŠC«,ç±Š‹ù)yêt‰4Uˆ
-Uš|s¡@QW˜¢è(HVœRó”ª’¯òR²s²!Ešôu¶&ÀXˆÍ#2äZÈ,wÞ¯D��m¤¿E¹Ø¾éé°Õ9ÞNXr`§ïªö–Ð
MM�šv`i
7Z]‘ÌË.M‹‹2ä)ê,W¥.ŒWUpÔ»Ôq'Tì‚ëylõ«\NÞ`NBÎ�2Q1¬H”Ëÿ°t‚Ñþœ‹ • ÈíZ¹Ö„ }»°Ü³×éîüYûp§«Áž½>+ZvÓlêwFºmÝÁò+jŒ§çÔóÐj�PP‘.M(Û”[šŸÏ*«Ì‹)Û™S~\É,¿&g”
ÿ—í2
ŠêÌÂðwQA–^è}¡è¦èn �fkvÙP‘*ŠûEMÔ1*5EQP�J!¸P“èD·©Ñ²¢FË…5ˆ‚ˆræÿÙóã©þªëÖ}ÎýÎùnÝ77}Ssîä
Í¹SÖµ¬ÌXk	~aM³VÏ×Óæ¾½”»Qî9
-pºlœ¨�Z«Ð�>TÌÚ[-ßq,Q¿épZÈ×ÅñË‹²¦ÌÛ?sÖ´½sMÙ³ôË´ÝkW¦îÙ±"5¿xùÄüê¥)ù×–$ïi]’²³}éÄmíËRóˆÍ–à:°àá&€[»
-.PöªùàD•5?É‡’“šÕŽ;«ÂÅy'b5ëÊ’M+KÓ£�šš}xZVFIÎœÔâÅRŠ¿^˜\¼}ARÉ¡yI%?ÍIü×ÕÙñÅ­³
-_ÎMÜÛ5?éû’vY‚sÀº“úÐø-À�}Ÿzp¶”²gÀ±3”}j°ÿ¬bè®:Û-5Á¼õg¢¹§â|U'›gV¦'L­˜:9µ|Æ´Ä²…Ù	åk²ãË¿�WQ4-®¢ê±
™*Zè¥Ö›5áHÏôØƒo³ãŠº- >À£
ŸöàÊAêÁ1€3•å§Š)ƒæ_°��¿K¬·ü[kóÏ‹þÌU¿…Jÿå9ë\œ)ólRdjmzbBMVZlÍ¼I15«Òcj·¤E×˜]w"%êl}Rd]KbØÏýÃ«Ò"Ê?LŽ,³äÕªO{p½€zð@m@%ù��¿à"À¶†!°ñ&ÖÝtž{S7~ñu^Îµ÷Ì†}j}l`ü•äˆè+S£#¯ÌŽ‰¨_Þ°)*¼¡ 2ìjy¸ùÚå0óÕ–Ðàú÷¦ËtcƒÎYò˜öà¿».
žƒ2êÁ)€ãä/¤úeÀoþ3rGÂò&¾õÂ&ÅèYM:§Ì{FáÄÆ EÜáºÈ»qÆ°ÆtÿÐÆlÿ�{KýBš6ƒïïñ
~Pêôð‚!ðÁS½S¯�o#úùÜA“ÏmüœÁ³ÐPD= 8]
PVG3@þ]W6ÞX}Ç
-?	óšÙCg´HFg´(RZ´Ü	-ÞÒ°“"¨%\Ðš õk›âilËÑÛWh|;òÔ>PywV)½_\S^t¸ë:P¡mC¡þœƒ= sXó@ùKÈ¿›ü›ý·5ätŽ°Êzã8lr7×&©[<>¦Û•e~«â¼Õ‹}ß¸zÂe^½	rÏwSäš¾™ºo…‹ê}žÔ£¿P¢ì¯+>Ü)>¶ŠÜû„îïÑ‚ßéÖÑVÕÒüF3Hþ¼ëä¿EþF€ìGS_[Y¥¢Í°xt‰lÛ`8ú¡K�
-Ž'zòTèËW`ß
'ðå˜ÆsÁ	.sáF¶÷±XÎâãE&Ï-8G3xòg€£ä/¸°…ükÈ¿�ü3þ˜ô ©¬cÐz¸GŽ
-Àqc½Ñq¼Ù(`¸¡Œ)C%KŒ^äòcqÑÌdc<ƒ‰NŽ8—‚ä[ÜNÌEôÁXe7OYpšÞ¥¿ ÿ6òuûÓóO§çO'\;@D	Dîƒ0Ê­Çxàˆq®8ÆNŠöã…È²ç!ß��R't§à¨uƒ~ö£(4ÃD;kÌ´œ?pÕXÀ­ÄvÊÏ¼°ƒüký÷Èÿ ­`B@HX?Â/„a#]F‹ÆðÆ:ã�qië€cíìÐÑÎÙvÃQ@^yUäõ%Ìä‰8Ép&‘cº³P$e ß�‰B%yZgd9Èç S²3:e±Ñi!±šÖ›èÿï8ÈÜGs�uœ¨ä û�%®r�s—ƒÜgÎÈ{éŒü~6òqÖßpiMWY ¤Œ%–0PäÊD‰Ejgäzs‘c&¹èü]5�XIë
<älç!7Ÿ8ÈCÞQ¢‚ZqŠ‡‚óD=…wx(zÂEq%}” g@‚ÎDÈ!xýBKÐƒj�P
R&Êe,”)œQ¢£{Ó½âø(Ê ßÙ|. p½E[‰ÝB
-Qr˜øQˆÒj!ºÔ—(»%@ù#ºvò?ºöòûÝ�×çŠ¼^9
-Q�ÅŸƒjªA*f ›ˆ‰J1r6*=¹èn [Œ]Ó‰l1Ê—HPþ±Y‚®;¥èV A÷bâ¸•TÖÅ7ÅTÄ}êvQ¯ú­¨[3 |­Bñ+J_z ¬ëÿ€†=Ê…TñèÉg NÂB½Šƒ:£µbÔ¤HP�å‚êùrTçä5Ûä´{äýÚ"ù{Ïä}^åòw^§d½º_d=úk²nÃ=—W†V—ÞÝÒÃ€¬]�®mztoÕ¡â™•ŸƒžTƒ’ë„z¶#ú&l0ðÑ"FŸxÙ€w†[¿!GñÎ°LÙcX«ìöÎS¾ñÙ¥|í»_ñÊX¢è2–*^øU»wúŸuÿË¿Þ­#à®[«©Ùõ™©ÛíIÀ€ÇcTÿé�Úûþèy×d	êœìÑ“åˆ~TK0s<F0Ê•�^4›DýAÑòSšÇë€éê®€EšNÓjM‡éM[àvMkP¾¦9ø úyÈQõ³�JÕÓÐZÕóe�Çaw<†5{4™ßhï†èî„ ávzßEŸ«aèû9h |Èâ`‡ÑŒq˜È·Å$™=&j˜ïãŒü7Qá²Îð$U›9Óë¹yŽþ©ùKýã°uúGá[u#¾×Ý�,ôjŠ<âu/²B÷ÇÿØ.Ó¨&Ï4¿ì`Áº —ÚÑql§:Öº‘E„	YHHHÈBø’�Ý$$"$‚�A–°È¾†]@Y¤.U´êq9µÓ™Úž™ª¨Ômª¾ózú/Î�ë÷ý�ç¹¿ç¼~pû
ÂÔöë„k;®ÆÜßñMÌüÎô5O`èD%¾X¶†¢|<r>ºÿ�³ÚòÖ/|Íýë’ù„€¿Ð÷¬»KÞô=‰½ýnŒxç-¢6ð1c×·DkÐURQÐReÐ7äÆàKäöà”Þàó”3Á3”‹!Ó±ß‡LÆ>Þ=Fy»çFÅBÜâúiïÑI_´R�÷r–ú@ÑJoˆ­[ðûÜïAÒ¶¥?òCWÇ!~z“ÉÜ6'ºDU„�§Âg¨™Ó´¼ˆ³4{Äd\
n"®7FïÆ�Òq§éÓ‘ÃŒÛ‘ƒŒQ'¿áûè�ÐÃ€1]ñ0¦ƒù>pú†häZŒ>P¸Ø¦|äñF±Æó‰jƒ÷OŠ-~÷dÁËnˆñk/é_Îpx!S,1nœ©ÁŸaî�af‡˜ÄAV9q€UO<Éj#õ%ô‘zÆIÇ®‘ºÙ?“;^RÚ`ìQŒ=‚hâ¾Y²’|Ð|¼ d¡;Tù»½Ô®rûE¿ÎýýF¯[úÀ/«£ÖÌÈ¨›'’ÙA#QÔ)žœÔÏÕSOpM´®5î·8®‹WEïà5ÓÛyÇè­¼º#ñ½%ñ_Œ¦Ägñ
‰0¾–ã«ù�Qõ€ahT/(ðò€r_W¨]ìòÔ¸Üå§´Õ.wÓ7¸]MðýÚˆ[5©¥|>¬dž”ò#{’%”N¡šÑ&ÜÇr²Z„6öa9»IØÀnu°ëD§8µ¢sœjÑ=N¥è)§BôšS&zÃ¶#JDoœ�~¨‹î^0ÙÓ
ª}\^|ÁÃô…àfp#s�Ë¥ÌÎšÃÿp:�ôé€žñU�šÑ.O¦´HåÌF±ž[‡eðk0‹ 
-+TbÕ‚
-Ì!(Ãú„¥Ø¤°»-,Âæ„…Ø+AöŠoÃþ›˜�ýÆsFàYÈµ¤î®o´žàaš'¸gö·³¼Á¬å0cÝê=–¶lðqý‰tú¶gO³VD®SIYUr5¿<Å˜T*ÍÄJ¤6¬HZ!>$mÛ¤ÇÄùÒQq®ôºØ*} ¶HŸ'çH_$eK^ˆ²%/…ÎÀ˜w]h®.ÏR]Áwè­Ð
|kñóWƒ)ÛÏ‘¼ÝKû-„µÝY´-SBh}š€X©3K5
-~¡R'¶É3Rrå™E^"Ï‘×ÉÊ;ä™ò!¹Y~En’ÿ[f’ÏK3d¿J2dÏ°Ùódg ÙkäÔEþƒœïN&@ù®àr¾;8W¸Œoö,Y|Ü†ÿ¤ÝJÝÜ”Í
-ª6'âK÷'1¥¦ð­Zµä Ú¨8 ÊT›TštU¥&MåÐU½ê‚F§º¯Ò«+R•Od©ÊùƒâW‰3�êá
EÀíõ^ä[Èwnfp%ßœ/t“öå`¸l“{¿=haWqÔê£‡b7Öå1+r¸‘E™"Znº„—eTHÒõ:•A›®Õíµê÷jËôjí½BÛ«—k§u2íZ¹ö‘F¡™S*ÕO*õ™3�îæÅÀu^À]ä�×¬È¹
-‘óØ‘s”/§*ÿâÚs8Ð·­·²ÑNþ¬ªˆñ•ÝÆ	·Y”ìƒ'Ý,ÃtûÕ*¥Ñ¨O1dÅ†"#f¨7&�„ÆÉT�ñž^dx MÖ?Ò`º9•XûXédt—€ËÏÆw=à²
€™Æ+�sTù�ÞÚ
.�µZª#>ª=LüsyYÜ¶Â’„Ý–C‰Ds^+Õ"IRf)”˜Y§˜ÌÆDS�‘gª1pÍ]©ó˜Žm¾«eg<ÜËÝÿP“¸ï‘šoœS9ƒúè•¿ïá:šÁä]S(¤½ùë½AwÓ:àhÚîÝÐæ_YGX[\Mû"ï038«Œ½¯DH×Âø’|*Æ^
Û’¡cYòu,kµ–iíÔÄçŽª¹w”tËœ2>kNÉ4Ï)Y¦ÇïÀí™íáêšÁ¹2Æ�{�j »Ù´:>�Ž-UGCÙ›£>¶5Q6f×3ÒkØºJ>EVžÄ–J“Ù%Y|qº‚Qœ¯ —TÉè%Ò8û¨„f¿ƒÅÏK¨¶y)-w^g™OqbÀåGêbêA1“UÈ»P~/ò/Gz÷w.Õ]ÝJ»vút„¯Èi‹Ù`rP·ê›ãCMBR½€Á©•ð5jQ\Mz2­&?‰ZS%¤ÖvðckGy”Ú;\Rõ|"©â•€l)$½9åhè&Ì¾›ÚÁh=(¿«€Fä`‡Oø{ßz—‚¾m>9½¡þ¦ã‘L=FÚ¤ì¢íLî`FpÛ¸$FkƒêP²(Ž´rk.‹ÔZOjm§ÛÎÄÅ´Ý¦â�>�‹j†ñøzÈ$Ô¼Mpfíáú/¢NÔ0Ô‚Ü³¹rÐš~ä^ƒ® oxÈÞäaÞùaêßÂV*£6`Ä/¹'©AŒ>&ŽÒË'{SH„^‰Ð—ƒï+'D÷·FG÷�DEõßÂázŸF…‡„=Ý�ÞÉÎüuñjÓ•œnà$Êï<�f0@ÙÖQäŸSAÚßÿäª;»ÅGq6piòTØîDägôqâVò-?Æ	‰ïŽ×…âÆ³B"&Jƒ"&Žî
-Ÿ
-Ü3y3 lüi`È¼ë4Ý5Ãœ¹�zpõp¼€A4ÿ”ß‚´ròÐÈuÝ€bÖHg×»‹f¿ðå\	øÛuÕä•Çqü‚@É“åIžì	I @€@C@ ì»,ÃR «¶VëÂÑ;ÖéØëÔÚet´Zu\ZWÆµ.u«
-Sq±ê@Qê(¢smßL¡/>ïžs¾÷Üû¿Ï9—+jpùæÖ§fÔ�´¥Ô—Ú“ÆÚªÂ]çg‡¹?±%4®	‰¿°78îû‹Öç»‚�õ/lŽ³°?ƒÈÁ^ÞÅ•téüí¤û¿�ö¿8DÏà(!¥ýwN2©Ñ�¼ÞÄ#£šUî¥-~¼ü–qVËpEJKœ.¡%Í8¢5ßÛZaŽ¹ñ–9ææ“³mž1úÖç¾Ž[ÕzÇíïtÃo·k#n>7„·Âhk�y°:z¯§g@û[hívŒ�¹Ç	ù#íO>OÈ˜)»éAŠ:Øa#;´üô?&±ÓÊÆvF(]±êÈ®�ýáHmØ£r�­{¼:ôñUÈã”Á=ËÖ'Û¸ '§åAOïÉzúd–nq„ÎàÞmô_@ûk²¨†�yu„Ì<Cû�¿ôK›	É¿OÜ²ž{{¤ô±¼ø>µ ºßWÑÀÚl2ë€CðÂÅù!SnB±ÌcX=¦Iu˜+Ñb©Xƒj‘µŒ7„*t±ÿß„l§ó÷%í/©%dþ	BÞ=GûÝÿ_ú¹m„¤>$n	ÄÃ	/Œ�
ra4"Å&Jô“¨-Q IÌ"W,F¹H€‰ðñ±«}¼°ÓÛ5CìÚMg€îÿ2Úÿð$!³ê	™r‘ö¯RÒJHömB’îó„¸G‚x„‚xÁ�ï/_Z°B%TŒFãƒPÆÑB7$ò}*½	¦ò	fSyË†ØLû+h!íÿ™ö§^¢ýk„ß$$ëGB\÷	ÞEÜlÏ‰{ ]ƒ‰®AÂSƒð9o)Ü}„à	¼Á<!§]
íš¨`ÚvPÉ´�O[£¨	^Ó‡€^/ƒ,HÅs�†+àíT€ŸÎ�W,o¯*)<g‰áõ7x3à/Á{•>_Q[DìA¸ŸSË@TÏ@|��äé!$ý/½`  _]ƒ"P�…ƒ&�ª€Ä¡€8EQ!f´ÌdÂ™Rçˆ!úHÉb	$+$�®“€Ý$»]Ù>1äGÅàÎˆ¡¸"†òŽÊÇ¢Š>¦_	æ9Q/1%¡¤ÿ¾:4þrèÍ~´VT‘J(•PäQ£èº&Ò=šÁ‚ûÅ‡,”ÿ`¡ZF­f¡ÞÀB³•Ú#…ö[)t'¥Ð_–Ú%}†‡’ŸÏÅOõ�ôèÁöè ëÑBþx˜´tœŒr˜
røùr0ù+`¶«`ŒWÃ7[C™†70L£k|�ƒïŒŸPKè·+¹¦/¹óy¿ß.ê ¼Ïÿ¸¼×rQö, MÖÐÅ>
-èe;-�wøCA©øCýÀï×`ÖÈ`ÖÉ¤–ÁJ…˜8„†*£FPº�EÔëjNQ
ÎTõÍQõ-Pýd]¤z¼\õ4x�êIÈ&UOèvåãÐo”Ý¶Zå£°FEgX‹â~xw'¬WÙnƒæ–
º6ô7l0Ú
R²ç¤ˆ¤œÎ ŽájD&é`ÏÓ?¥{>A×cÿƒ®Û>[÷0b¾®3òS]GÔRÝƒ¨iï_¯½çØª½ëØ«ù1ú˜¦ÝyNsËÙ¬nuvh®G÷®FÃØ
óð»ì€ÿ¥A`QÉFÛÑ¬ñr’õb¤XX$ÚññÚg1Y†GÎRc‡sœñ^L•éNì,S{ì\ã­oÆ-6Þˆ_áÛ¿Î·9a‹áºk·ášëˆáŠë¬á‡ÄfÃÅÄS£«×RŸ€À³	°ž‰Gð©x„† ‡TŒ!ƒt™¹Z!Fú‰rBÙ'éNUgrªáNb¡¹ÍUéßšø¶åzÒËÕä÷ý›Rþî9å3Ë¥”Ï-ß§®¶\HÝp>mG@CÚÁ€si'Ï¦7žL¿g=žÞZ›†°c©°IEÄá—Ò~íç=ˆ£oÎToäKø(QñQjô~Vbe:
-#e·s]šæ¬\sSFYàÅŒ7‚3«B2ßµ�Íšc;�µ ìTö¢°Ù_„Õe¯ÿ.§:¼6gOxMN�ýhÎûáÜöˆ9O£öåÀ±'Ñ»³áÜ™çŽAEÏ ‰¾÷ry|¼Âxâ5Î³´Îóa¥…ßþjsý•8ù¥â,CCA±õt^¥½.obÔò~ï¨É{Ïq4^ô·ù£å/q,XåÜ_°ÁùMÁçÞ‚C1»ÏÆì*¼³½°{ÄÖÄW a3µþwC!F$Bš—7Š<i_0ã¤îOßTºßï;¬å
«×¥±1¢s•éÚºŠë±ÒŠ¨ÃÅãbM‰ÛWôNÂžâ÷¾.žïÚYü©kGÉ2×¶’µ‰[Kª«Kö%n.©KÜTz5i}iWòºÒ�”µ¥HYM­ü
ˆ‘íÎC™‡ÆòÝú&H×ÛRÒ6IEš&û»7LrêÞJQ—p ²4j÷«£ãv”OHÚZ6-µºlVÚæò9éË¤o(_œþUùÊŒu3ÖVìÊX]Q“±ªâRæŠŠû™Ë+ú²–•#ki2ÿù~>‡<úÖzÍÝ½¼éœìIÚ¦òÈµ*¹0ÝävjzÿXUw`RŽß×ã‹#þÇuy†5}®aü	{© ˆVÄ¢ ŠHq€‘ a„•0$d‘„°	#pXaCd¦ÈjÄ� ¨ ‚xªÇª uõXµZl�§¶Šã´½Îiûž‡oÊ‡ßçûºïûyÿ×ÿ>Î�q=ÊRq}ÕìLÿnv~@'»œÞÎ®¥à´Ò÷sÔôVÎ‰ÀfößÙßªØ“�õì™À:6	¬eú^6	X¡ê�PÜZ< üW
-ðc
-þgË4á~†ÜÊ¶„+ò-:²<–¥ûZ�HÝ|DÊÚ©ñ¼;„ÿ6~jPOÚÌS0yÕ¯�QÏëdÖñŽ1kx#L%÷&³šû3³’û–YÁ%Œr.	-ã’à…-| I„Ïqó}/ø6›wr´`<o%\Ìß¬}.ÏÍø¤œfÙ›l§N‹pnOâP[âãD‰¡õqá5Â¼H¥°ŒU-¬cU
-ÛXåÂÃ¬2á™¨Áx”Bð4ªHðgd¡€D á³`Ä�¢K¢@cZŒ¤<ÈÆÝ‹ÿû7ò5àrÑr-þLsP±sqÁ‹C¹A:³Ã·µÊbv«Rø5	fU|
-«\œS"VpŠÅJN‘¸9¶@¬ŽÍŸŠÍ}+=AþÇ–‹æ¢å¢÷Qò¸¿"åqä#}þ€òö0‘põ¿ÆíyU�›«ÔÎ–oÔ(s6:Zâ½â‹"úº¶|¦ScN”GM×¯2-ŽQœ”]� ãþMšÇÏ‘–²¥û„™ÒN¡Lz\˜&½(L‰$L‘þÎK‘ÎÄ¦ÆÏ²Ó$sÑ!Á �»—ò{x4ŸAn>Ü]ÿ(ÇÍUi§«×Súª·ôTz™w”X73¶ÔDºUårh%Y‚Ð|™$:;5…/KÎ¥$+$II5’„ä6I|r¯Dœ<*ŽKúV,Jþ5Nœô–/IœáÆ'¼ã,„0ññžb÷sqó\©ÀÍ…ûsh¯!¯³�#µ[õºk<M÷WûY©*Bì÷–F¸”Åxäó‚²sD¬Ô¬D¾T&“ˆÒóéU	üôænúa)G6Ï–Ý•°e¯Eœ´)!7õ­€—2Íã'Os?„D€æÞÂØÃ?1ƒqô	·ß0nŸ�z]èm°uƒ£N»ÊÃ¸©Ž¶ª¶&hcEuØ6EE”gNIl@z‘0BšÏåç¦Š9òœ„hyYBTN£”•s0>2çŒ$"÷¶(<çU\Dö”02ó­ J6ÍGx2�¯ËnÏg€þ/Ôâþ;ÖD�ƒ-ÐÑºY«¥ÅuQ}ÓžOªèëJêŽy5‘îÕlZb�!,ÇÄ'	#ÙâpE©8L¡1‹ÕBfñŸQ|‹¢xÉ)œæ…æMó˜93Ü…�X€gó=äã[À.¡ÿáFÌ÷WOî®vshíÜ¤¡êp6PðZVºßMAKˆ}Vc¸s²*š*ª‹
äÔÄED*ÙÌê,nhu	7T©â„(Õ1ÁÊ¡è`å-V`õ$+ r6š^6X<¨ø˜9¼…3îbW÷b¨?´3è@ýn€fõbØ×cCQtÒ-S{˜vû¬’wnHmg8IÚXîÜV6�Õ,f4%„7fE5–„5ílR3èMC!ô¦[Aþ�“Á¾ªÙPZaø)IØB^ã›|4ÿ+ñ-¨0ÔèÂÝƒpÿa€Ú£ÚPuÌJûìµ
-Ž¹,’÷z-O=â»6þP�=¯‡¹ƒ¥ŽòdtsiA]ñ]™þ]ÅþþÝõ~~Ý_Ðüº}|»ozÓº&½÷tÌÒ¨ˆµ…ø#ò,¿	˜Á5ìàæ?ˆú}‡p{ö4â,;	PxÚòNÛR²N;é¥œr3‘œ¤ZðüÖ±N90úÃvÐûÙî~}¢]´¾ô]>}…»|úkÝ÷ôw¹y÷ŸÚIí¿áLí›töì}çêq„x¸÷Ï…L`7«ðšÎ¡þz?Ô‡Ôœ(:�y^RG- ñÂ&-Ñ…m†±£nf‘ç©–!#~¶þÃÁö>Ã‘ŽÔa¾“×pòç»Gò=G”[<GÚv�Ø{œÿÌcä…�ëÙw›]†ˆãŽA²uûî•â`£Øÿ ê÷¢÷ÎSª3˜Á0@nÁ¤Ë‚1ˆ·¤D�oÒw2
-s5óó² ^ó[³kŒaã>Æ±q“Ú¸ŽË­w^¯Xër½ÕÊåzÿ§Î7®®v¾þ‹å¶k3VNWˆµãeb»�ØÁÅg1ÿãÇÔè½ù@Õy€¼/Rq‹Æ�°îh@ð} ?XIñ}h«M}è`èñÐÙØåán³íß˜o{a¾õ±I[æô½Âìó	•©ãÄá¥ŽO¾4qxò/cûÇ˜Ú}G–m|@–#+>ä2ÞÀHÀ)Ô?<ˆ ÷½è½ð@úUÑ
€è;!÷|&4ÁëcŠûs-ççÖzN/ìŒ^l]l?é±Äî¥¯ñÆ—aK6¼â/Yÿ:m±í›âEëÞ4Ùüç˜¡õ¯×Öþö\Í›wúŸ¾$«_ÃUc˜ï@û@zW`öc’›1ß þÚ€û¿œÿÐÕØú§‰–ÃÔ
-]»)+ýõSë
­ßn1²šv1Z=C5²˜	2üäÛÀ|6IÙl¡žÙ\ƒ®é\¯îÒ÷_é˜üõ“¶ñûYäýGœÁûëGý.Ì~ßE€’+xƒ×Qÿ6êßCýGèÿ·Ÿœ&¦AcÑÖ²%F:k‰©îj²Ro%Y£oN6è›GýÅÄÐiz:$LWƒÄé‘#Jm ÝZ@‘;š@î}Äæ¯FýFÌ¾³Ïþ þ.ê£÷ô¾ç)ÀÎŸQÓï@Y7V´VÐ^A´tÌˆ�®	Yªkø¶ë3ªÉ³�øM ‹2� ‘
‚ì�0 a˜†!œ("â±ˆ¢¢ˆÜ¥(-RW]”WO¥Z±VëlÝ«.ÔJ¹zÑ÷ý€œ÷Ãï<'ç9'ÿë¾Ÿ'9÷Dt:Xb®�€'
-ÆìXÌNG…˜]�yµh…@Ëvb~æWŸÇßî}ÁeBÔ¸ö„Û„D`¶ÿÐÚŸ2ú!–ýDÇÅˆ.çààL 4¢
3ÙÈ™#{ÌöD!˜/Çì‰(3KQÙ€oÃÖh>°±ß1 ë‚_?EIäÉ`)ÔR‚q‹@jè@ê1¶m£Ù�Zõ€AÇQ7ºŠ~×ò
-}D ;ˆèýu8à<;lÀÅ+ÝçðâEÂ¢À9Ô¸\-H1ÎQ‰sTãutÐi e
(;¨ »Ÿ
-zíT vQ�v]Fw©ƒôz´~½¿h ÷ï~ íè#�ÐZ†ÈØ¯Vàà~°=À
-áƒ¾œŒt.Ðs9@›Åú|}`,c³–úëÀÚDv8{èÀmC�tà�¦ò.Ñ>óoÑ>òžÐúùïioyƒ´7| ¿æé¿æ}	Œ0W4Jb3>˜‰ù`jƒŸ]…` £h•<h¸ÀŸÎA)„‹Yƒ†5ú­aod~6ÙÊüK´‹ùIÔÊühÚÁü`v’Ùov‘ñV|ƒñ§ø1ã…øý™x�ùT¬'bà<÷Ñ`b!€Q">XñþekÉ;'!XûÁ2\£ñþ$þ€¹ÖàÓ¨bî‹œ÷–ËÙï¬V±ßZ¯g¿±nbÿi³�ýÊvë¥m;ë…Ý1ÖsûÖSûkú�ìêÿaÿ–}Ï~�{×x·ìAð›nÚ�p80ÇõÛòÀ�oNB.¸™€¾£.c…àbøÙAnØï�.|ã�+xå0“ÿÂqï™Óƒ§N5��ë
¹4<ti6xàº‡û»[÷¾{÷ž{7çŽ{ç¦ÇCîu÷wü>70¼âÆ—ÝÀä'7õº‚ép`mÌGÜ±wúðY`Ê.øºò?zù¾ñ�?÷H6~ì1Ùè�çTÃû^s…w½*…·½«·ÆÕ	nú4nølüê³Kð‹ï!AŸo§ðªß9á¿Ÿ…½þ/ú½õø�Y·/˜Ÿó‹³>`qÆ,‡ƒÑBðÀ|_ì|a\D#KýO’1œWÁÞ‚ÇþaÆ÷ýâE·üU¢y&×‹L®•‹®-ý\cÚ\oúcH£ÙÅ�f³¡ûÌzB›ýzR|>ô’ølØ]óSa¯-�‡Z
-¶GCÀ®3ì;ƒ¿.\.øåëÑ!†E…8!u ^L{-³c<’ºqn‡
-¯KbDW$JóKã5ÇZö„[u‡WXŸ‹Xf}&â+ëÓ‘ëlNE6ÙœŒÜis<ò í1i—m—´Ç¶SzÓ®Cúbt»ôó˜¶Hp:ˆZ#ÁùÀà‰{Da@”.º äRÞ§Qž$[èÞICïSør.É#D=1	VgcTößÇä:œˆ™1æXL©cWìBÇÎØ*§obëœ:d
Î‡eÛœÛe{�ÛdÎ‡äg\Zå}.ûäO\÷È>¹ï”�Çvx¶üàƒõì{ñØ{Sôtú'2ÈK‡ÜK7"¿¤ÛQ~L÷Ö?Ÿ"1>•$·þ.!Åñ[E¦ë…ÖãkE‘ç!Å<ÏƒŠÅc$ÔŒÝ—P?voÂ&¯Ý	;½v%¶yíH<áÝ’Øë½-ñÁ¸Í‰ý>M	àÛø_>G€=&Db×š@tÞ«ùÏú73uÉ¯“˜¤WcEº³<'3C„�ªËÃiIN•*ÏýÉ9ãö$OõÝ•\ì·#¹Â¿%y™³²6`«²!`³²9 Iy  Qy4p£òB`ƒò^àÚäwAõÉ´­N†Àº D‡2ÜƒTB
åçÒ7E‡\Î¥’ÿä›“ïµn´£yA¼öì¨Q2Ž»Õ©c·Oœì¿5=?hsúÌ�Mi¥¡Ó†mH«[Ÿ¶&lmZ“¤>m�duZ‡dUÚyImÚoãW¦½¿"
$+RAR�
-aU©:Ü¿ÏAA(ý¸w°k\Ã³~o!žs)äì496ÃEïÈ´nkA„Ùî¼¸ÑÍÙJÏ&�:`CFvèºI…áõêÙ‘«ÕåÒUê¥ÒZu­t¥zCÔ
-õŽ¨jÕ×QËU§£–ª®G/Q½ŒZ¬”.RAäÂ‰1>êÐsx6´yxÎŸ†ù3ñ¬�N‘oç8RÚfû±öÎ
-7i™&³k*˜àÞ0%ÝMödI­&OZ3yFLuf‰lyf¥|Yæ
-ù’ÌµòE™Ûâ*3Zãd�›Ÿñs\yÆsù¼Œ¿ee[6	¢QÔp�ïB
-ö½,ì:¸þKØ7º‹±ï ®¹|Ò^æ ³¿Ô‡¹s®ÄhËìXë
3]×LMõûJ;IR5%'ziN�|QV‘¢2«<±"kiRyV]RYVSR‰foR±æhÒlMoR‘æIb‘æ³b–âŠ&ƒÉ†zÒ	¹›‹�{çÌ>S†}u”sÈÁ
-;�ÝÞŒæòPAci´ÅÚb…Sm‘r\ÕtUèâBMtE~^|Ù”éææ–(çä.L-Ê]™:3wCêôÜ]©Ss¾I-È¹˜ªÍy˜¢Íù4A›‰Ù @ñÃA¡¼UrßƒËE„ü€Ù§æcç[@H[¥>Ù·Èšl_ìIÛ¼0˜·¾B*®+�wXQ’ìµdNzpÅ¬iÉ´œø¢ÂåtmQz¡v¾J›_¥ÎÓ®Uåæ·¨²óÛUšè.Ó (¯,ŸoézEöTVE¢Ò
-*;‚ì ÐH‚;(ÁPAqDPhTP•p#h.@M&qI†JÌÔè$*Ê¢ÁåäXó¦j~<Õ
ÕÕÏ¹ïwîí{Ò¾M˜ŸÖ£^�öfî‚4Œ]´£‰9Ã¡~dž¦Ü¡>¸¾–æòŸßDsïfºë nËh¨ÙâÂï-š)ÝY`¶mS˜]Ñ†èIùëçÎÈY—4+3{AxúêTÕÒ+f¬KNÉ(HIÎÐ$'eÔ$'dœ˜§Î¸œŸq/!>c0^ý)Æ%.GUÒrŒõ#<¢ýØE}p•æ¾òUDÞÊÀg¥
-¨ÞæÄU–N—mõ3.Þbý÷‚(§ÜM*·ì
	¾Ÿ®O	Y²nqLÊšô„„¬ìäø¬ü”¸¬²dUöþ¤Øìc‰1Ù—ÔÑÙ¿ÆGg
ÄG¯Æ¸Ø•¨R­ÀØá`<Àý4ÚÔßPþÉº„2ØN÷m¢ZcUŒF3M·¤ÜÇ `{Ðè¼’‡µÅ1®+ã=S7ÏLÉ_©Þ°,N•›™�»1aNî6õœ¼ê¹QyMq‘y_ÇFäuÇ„¯ï�	ËÁ˜ˆµÄš‘ôìz�Ô—höl-h.8B3h5±«Rš*[(©š",¬ô”oÜ XWf·ª|ÎÄeÛãÜ”&ú&Ï‰-J�Š*\Y¸!&¢¨4:¼¨:*¼¨)"¬¨#,´¨;4¸ ?<h3FåcDð†‘<ý¸'³¾Ë§¹s+À—€ã•‡vTÒX¦Õ�­ûFCÁ¾‰ÜÆêéâ¿iýŒVï	»|wä„E•±®I;ÕªŠdÿ(ÍÒ ðòU!¡åy!¡šÒ Mu`°¦) XÓá¤éö
,ëŸ5kú—àìYÅ#éù¸(ƒËôÎÑú¿¨h¨¦¹kÀŽ4÷Ôä4†¼Cã™µ•:«>÷Ô_^ XTj›t ÊIµ/NU=of¨v‰w°v•O�6Ï{¶¶Ôk¶Vë¨mœ í˜ ívóÛÓ7Ã§
-=¼*ÑËkzçßÔ‹×¨Û·Q´þä®'ï^šC·×ä¡Ù«A™�caE£3ŸÖè&ZØàm˜x4ÐRu$Ì.òp´SH½zr`ýBå¬º¥}Ž«}ñ¿ú=“|ë�ºøÔ·9ûÔÿâäu¨o¢G-NžñºN¯Aåp~¤®Ð8¿“2 ãA€ÚÃÔG¶4¬?�Þ°´ÅµØ2É-.u‹»$úo£ðæ@‹ÙÍáÖþ§bí}N%�÷j^F¬çÙ\hïÑ\içÑ|ØffóëÍ?[¹Ÿ|e3í8Ú+�áx×&tÎ÷t´WP”ÿ	ò×‘[{Œ28	°‰ÜY§Éÿ€úª6ˆn·c"Ú]„Ámnÿ6oï¶@“™m‘Šémjs÷¶Åæní™Šií›Ì¦¶W˜Ní8d¬ìh5ríè2œ|±×Øå<šM<‡æÎ­h1œË´ÿZ÷Ò^ CÀZ÷r’{ÝYš?Ï$Ó<}`öUü¾7ŸëVŒÇuGÞ½S©«ìôOî”Nº1GêrcžtâÍåç›9§[¥âOní9ÞnÑ›pû–®ÃÍgzã:ßIì®¡Ìö*Ê‡s‘zÿ4=ûc�tÐÚ«ZŠÉ½žÜ\P}r
Àç&ÀÔ.\ºÅàü«‚q¼kË�¿ë,°¿ç.´»ï/´¹)´~�$´êIŒ}˜+ó°œýègñ¸�3|�3ëyÃ™>@Þä>
-†s–ü'É_Šúð@i+õ!¹Wv,¼0÷;€°NßÜ~pîpxÊ�ý)cÓkÊŽéµâ-z'ðf/§L^yò†}Á¼~_/é_ÊIrXñ@+¨cuÛ�×Áàk†À4SþG)û}_ÒYpžö!å¾ú‹ÿIþëä¿Mþ.€i¿�ÿ€ýC«–oF�z¬	p¨à¤hM—BGºOåôå#YÀùD6H‡>Öô€ñÑ3‚&ò×Pö6M=H¹/¡Üã)÷0rû�{Ú]'ú¸ío¿˜~F†ÀŠ‘¥K¹Ç¡>yM	+Â‘ÜnD yã‰t‚A¤ƒ©ñðø>'ÿ.Ê¾ˆžûZ{*å®þ‘üwÈOëVÒºŸX“Ûì9À¨—’! K(0<ÕÀð_ÈÍbzoLŒ%œÈíA„tQCº  ý(añ�'GÞVŽœ�ÁŽ–æ(EPJüDQ¤š§ƒ°L€°†”ùB1¡a*‰j*¡–8B'ÎP)mÄUâgøOà=ôàýçíÿy{9êZVrdéÆQS¨o1B¸BÕ‘*DÈ¤:ò¨Ž"ªa;±‹jØKÔ�»Žh"Zˆäü–œ]ôý�a^ÁŸô×kr
€Ìÿ‚z6ú(-G‰ÕA¯¬­ªÁƒ²¦,æR
‹(‹•TGÕ±™ê(¡*ˆÝTÃ~ödßCóN1CÐÊü	W˜7ð3(…^xIÕ¼`�yÎ"ûœCî~$(£�fr44‘£ÌT†r+J?‘¡È]Š:bÆˆ�OÑE.]ù5Â÷‚�‚·Â-ü�NÿF·’{­WÍ
ŠjÙ~Ñ¶Ot‚}%>Ë¾_b{%7™g’{Ì¤/˜'²!ö±ùGú(x0
-÷
P84Tè£™‘245”¢¹¥Íè½R†F¾4ˆ¿•¨÷fTªîÀ¨L�>Ã\áK£A¯q©à¹Éþ™ÉþÓîw³zî©Ù1î‰â÷›¢ƒ{¬èäzÌï²wÍŸóÝCÂ;–¨ó“%êvY¢Þ¿,Q443–ã})ŽKÐV_ü×eÕô™Åá0@ Ä…Å²)�D�H �$ÿ�=!@Id	 kX
È¾CÙA–‚Z×V7”©Z¬ZÅ:Úº[§vt<Në±ãŒúÎë·ØÏÉÇ{îïÞûÏû@gô^O„ë‚–¿w§ß¸Æ~sM°}éš†î–oýÌÝ`õ�Z«§ž­–OÖí´|¼¾÷ÓúQÜ#¯½¸‡^q¼gq÷½Ïãîú\ÇÝñy„»Ezi}ƒô_›k$H¸J‚Äo}àòËÞÐÎè†ú÷Â 	‡‡AkHY�‡dw›w~„ßý¨Ä$6ñ’ŒðdƒÖö‘o¶ÍCÿü½�Uø»MÖwvXßìÅß
-Ü…ÿ>h7~)hƒ<cóùŒÍ5Ê·6W(÷m¾Ùôœx�òÖ~�Î‘áÊy2\u6èSàzú£ú›Ì­`¸
Òp"\,§zYÿº™lû˜I|@Ø”D¸¬#.…,¿jX~�Zkw…Úbw™Öi·Hë·¿6j!ìû¯Ã¯X?±â|øÅóá·N‡?[9öÇšÙ0èôUt>Jƒ.3úZÛB
-°‚È·b,- ‡`þ†½ÚüŸL·e?Ñ}­~Œ ÙÞŒàÚ_¥Ç­\dhW]ŒÜºúëÈ¢5QkÎEÕ;že¶9žav9žb:�dŽ;�`M;Í²Ž:c�s>ÊºáüÖ—Ã¬×®˜Ðmš	Ý§˜ÐãÏÀ@ô™§"çŒæbÍÌ^,ÁK>üŒ­?p½Ì¯sƒm¾á°þÊ9Í³•kO±Ó>›ãäºç”ºãVºå6ºÏp�î_b=îG°a�CØ^�Ø�ýØ)Ï}ØÏIÞ#Ï=Ø¿½&0èý9z�q¡Ï(çSàf`
Ày§Ù+1r>)÷%àG\—º›]’‘­ÎI+N
-y.Çq3õú#‚LïC‚ï‚m>Ó‚Ò>a3iRØIÚ+Ø°G4¾aB´Ã¸hÖwLtÉwDtÏw—ð¥ÿ ð½¿nì@ÿ>þ§@°ü˜ÁD<F¾sùÆ-äŸKñ8°¨\Î©psÊp»™xŽó!¹dÝ´LIš”¦øï‘foœ�ŒË*Çdu�#²¶ aYwÐ�l$hP6Iî—Í�û¤äémJ—ô9¥Sú?J‡Rv ŒH6ÒÑ0`öB†<C…¼yßw)\Ö˜�…-ŽàdªŸÅÑá &ÆqJ%ôÜ­TøŽ%¨ƒ†ãu›†âó6(JƒûU!½ŠÆ�nEGh—b0´S±;´Cq˜jTœ¥¶)–¨-qÏ¨Íqo©Mq0´ñ#rb
-ŒB»(àï	ÜEõo ï[ÌD¾ƒ~Og¬Ç²Hæ‡3Cl¦tÌU©±î#Z™ï`r¥W•Ú­Ì¢u*õáJC„QYÑ–ØFoUöÐ›Çè�‰
‰'u‰×5	OÕ	Ð«`"¼2†™YÀü­ù^2ÊÕ½Š|ãB.gs8žc¾Ìó2›ÎÛl½''Òa4sÐIHÝ©	”­šÚ®I§·$çF6%3’+Yõª&V­ª3ºZ5]©šŠ®PÍFT—c¶%ý]–ô†Uš£‘†)0˜¿’£9 n"ï\DÞw¾y/ú«ŸÑÛ‚Ežà‹"Šåç…t»¡|ŽKOŽÈ»#+.¨U§¢6¦¦DÖnÉŠ®Ö°·k·qËµµ˜AÛŽ•i°Í^¬H3ÃÓk.òòÕ±<ÍkNžÆä©at¾2M�\`ök<ÚÅt´y(ä<gJÑ;ùßá+0Uæ&¶..'ö³�:õ‚umy²€ÆìÄÐšLMd….�]––Ã+N-æ¦V
-R›…y©=ÂœÔqáÖ”#ÂÌ”¡.åâ·X]
-Ä2R 'cd›ù<E»x'€+¨÷…2”A9Ê1mXöl_F+7ZTÐl»Ñ«ÛËb=šŠ¥~5úøàŠ<£$;…]�•ÉÏÉ(ge¤ºziº®Sšª•nÑ”jtó’dÝ‰Z÷J¨ÖA¾&ò´i3~¼IôÌº…v`õ>�j¯DT!ïEŒÕ8‚¡Z_óžšPüŽ*¦Cóvžk�ALÚ^G)-V†çë51Yùéü´œÉ–ì¹:»&N•mŒKÊÞ%OÌž–'dŸ–)²ÿ&Ul})ŽßúA˜�ù‰™0Ö”7è&¥¡{(@Þk@·€ê~…üs?b1Ô°ô6ù˜u6[µ6DÚ××q�«ª…^e•²@}yuë¶dfjI
-O]”%NÔÊãõ•qqúV¹\?(“î“JOŠ%…ß‹Äú	Åâ|È—æÂXS^ ›¼�æp
e°€úŸ«GÎ×Œœ±ÑÛJ�íž ­�Œkh� V·Ä¬14ñ=
-$~9µŠÍéÕItu¥–�Pž!�
-ÄRC…Dbh‹
ýBQù_X>+(¿‰ñ·½ÀbËÞóbK!�_1S~Q£]@»xe0�úžmà�€	D/bG‡hÝùhØ¹Ñ¢º“†7t°ŠŒØÚÜv‘·®U¨iN¤&6ª£äõéq]>&¬+ç	êš¹üú~¿~2&¶~ŽÅ«_bbµÏ™œêwÑì*ÍÞcLyŒæp³ÝšÁ)Ô÷Ìöí`¤yo7zó÷"ïé_ªHf†þ`Ë¢>ÆòÜ^¶cF7ßCÛ%õUvÆSäÉ4‘1�Á7æEñŒD3öÑ¹ÆÉp®ñ�c\¢Æ´?§±Zß…3›aDT¤›ò}‹®¢=<ßˆvÕ?‚4doƒý´P=€a„JF=€~4Ð"g”f£a®Ðc.Ê!Ñ:ù ÜO8�Dæõ§sûsC8ÿçº<€¢ºó8þ}û¶²…¾ÂR”¶Š
-¬�"ÂrÂz&F½è�gŠÉh.z‰gt<£IN£±ž%œ¨Š«¶Q	,ö�hŒe, ¶XK<£ˆ±üïk&™C‡ùÌÎÎðÞçûû½ß¾÷~y“ºý!ï+{VÞâÄ¬¼5	Ž¼Ê.™yÇ;g,¾Õ¹wîÓ„´E")e¡°·å4ïÕ\;vÌå,Ò¿!($¹tÏ\üsðq‘£×X0ª8Fz¯8IõÖšTÃÐ"‡ÿÀÕÎ�þ«Df»†Æd¹Þ±eºFÛ2\m}\ÓcÓ]¹1é®ÕQ½]ßtHsý™ZØÜ>yùÓèž"¶G¾°µåèdÎ"g ’}ßLwI!gq%ç€îik¸û­åîÇ�ôm·Ã6…bh©M1¸Ô®~}SªÁévøe¹ûõq
-IÛøWkª{”5ÅýIh²{jH/÷Âv=Ý®àžîm–îïÍÝ74™íë~	N\+BŠ…µ-5ÓÙ^ûmôo¤wU1g±˜µ˜âÆnFlþÄuµ¥ý<Vd{l
-‡'I�îIñJöd™zxúûtóñµ{Fø&y>òI¬šâ�X5×”PµÜØµªÌÐ¹ªVßÙsCßé›Ç&[¹ð‰Û*üÚ²w>ç`{@	k. wWÑiôNØ|@÷0î¤¯ï2÷=êÐýÛ Ø«£¤„ê.r—ê^ªN5™êŽ5¯iâýY{h¤:¶v¼*¦vº*ª6OÙ¡v½²ýwäˆÚ«rxõ#•õ Ð„îÚ¶lçÜm¥ë^Iw.Ý3Ê9Àè*à-ºÒÝ÷�|èú=sB‰ðÓXÏ#ôL4BÎ& ]]‚ëœªË¹‘<7
³áw~|ÎWÀx¡Æs÷a¬’ñŒP´¥œþMô±çKX÷ìJ`òvàï»€wè|È¡;õ�xˆ;„×–€ÿM|`jƒ¾É]SwhšPÝùö¾ñÆwk6ÐÌ!kfA·Îóóg"^b3ý%eœCö|ÿísÖ=–ît¿I·“u§§ŸîXºÃé¶üx_ô÷m«
-ªV¤Çàq$ÐORH?Â—’V>}´ðs+a1­M/±žþåìûÖ>u0Ž=Ÿî!t;OÐšþsô_¬Wó
ÀÈCÕ·¹Às"^ "FÂ,¢=I „/©‚/&âÂ¿à�MT¼ÄJ~äî¦³öñÕÀÈÃÀPÖÝ�î´ á}½	ø5³ö»€’õã>yú»¿-
-¢'A$šô ì‰àÃYðf$¾ü-Ëÿˆ2
-D¼À ©ˆñHÒ
-d¨(†ËS|"	|Ffð˜yäk²”¬ ElÇ<ÃÆªÂ ÇÈeü‚»äÅŸx‰Çm ×($+3„2C3´g†®ÌÐ[#Ð_%ðfÉÿ ÿS2�ÇÌ&I½t­â¹Ö¢¥x„
-´`/â(¹€¸Mñ+?ÿÆý6e˜I¨ƒ�Bb†`Áñ:�fp2Ãöâ=æøˆ9&2ÃÒ3Ì¤÷ßôæòìËè*äy‹y>7î¡?a7«?LÎáÉC&¸EšI#¹Ù¡kg^F¡õ7…¿ž™ôB²1Cö"‹×c3¼-?Ç‡Š'/µbŠÔ‚é¬i�‹è\B×rzVÓ±M¼�ØÉsÂ
œÅu~»ÆWèºÄ*.(…ô*Âh¾>a2è…ÉÇKø†x	Ÿh�Ð'j…¦�æ©ê5U«<L~ �TÜS�UÜÕL’nk¦JÍÚYhÒÎÇMípC›�ëZ®i×âŠ¶—uÛqIWƒ‹^uh04¢ÎÔ"�òÒI?¡8á'äãä˜ŸPþŽð5
-‹N/Ì*�1h…Õ¬¡‘Z¯m
HÑü×/GuÇ÷Me“ß»òõ€1Š«�¤ËæÏ¤‹æÒó\©ÁòµtÎ²õA…8T‚ÓÁ¥8ÕÎƒ“í¾Å‰�ÓÒQë
ÅwaåCáBU&ÔÃ„æÙß¬7«¬ÐˆX­ZØüT"&DÝÒ!Vs'Ü®¹aÍTÿh}Cy!l¸\ñ�âLä8Å©Ÿ*NFMU�š%ÿ=_>³X>[ Ž]-×Æm�kâÊ•Õ¶}Êƒ¶ãÊ}¯¨vw¼¯Ùaº*›ðòØ„¾2N*Ú ÂÕ^"Šþxî|IJYØõŠÖ„@ùv|„òj\¼ª!&UuÚÖOu¢ÓPÕÑÎ#Ô‡»ŒÑê:AS�0Es0ñKí�Ä9Ú}I‹´{“–hwÛu»ì%ºö2]•}§Îc?âUÑí¢×VûOÆ2û3ïÒ$áãN¾^ADKZÑ‘{o7(ž§@z˜¢ÂÝž\I²Hõ	QŠãIÝÕ‡»eéª{Ôïï9Ü°§×(ã®ä��Û“'šªR>7U¦Ì0U¤Ìó.OÍõÞ–šï½%uµwYšÛ§4­ÒÇ�Ví³1­Þw]êmÿâÔ'�E©Â¼*E˜]¯@¿F$BiÀÝ>ÀeÞ^z+P×ËÇz‡K5é	ê½éé†éô©ì3Ä¯<ã]ÿ­”eŽ,ÍœèÎüWàFÇLózÇ|ó:Gžy­c…¥Ø±ÖRäØfYíØärœ
-Záh.p<ÉÏ¡ËÈÒŒ—]Ùƒ^�dr×Éê¹w�ä­õX–
-59!ØÓ/^åq&¶æôõ/ÍhÙ˜=¬Ýºì÷CJrÆ„®ÉZ”3Ùº*gšÕåœc-t.
-[îÌ+p…å;KÃ—9w…/É9¾8çzDnNKä¢l¹�,èû2¼²Hnfçß Ÿ�˜#¤f€„=ÍðŽ“·úÓeÕä™Åñ›("¢«X”Ev
-a	�„‹	�„„H�Á°…�°²)È¢Ôd*u‹µê µ.µ*¥{�ÇÖ¢SÏéÌéœžNÇqÚ9óÎíF>üÎó~zÿçnÏsÿáö³i±ÛÍ)ÜÝ§x™®S<©ûOá1Î;¼oŒWåyŒ§÷åµyóŒ^C¼a¯£¼)/ïŒw?ïªw/ïcïîŠO÷WŸN.áÓq�ð1$¼×‚O
-ùßlÌz¾¯Ðï<DïyŸÜü¾&t«Ø‹<+¦Ú�2§2“v�gðÝ�¥‹¼†Óå¾ƒüb¿¾ÆßÄ¯èã7ôò;)=üJ7œÒÉ·øï¶§Ý
lMû6°9í—À¦T"°1•  k!"�ôwÌÁwûgèw>’ãŽ›�^Ÿ¹KÒ-ð®Ìƒd–ÛNçE;ŒI8ÎÃ¢÷�ì,ß¾¬\Š1³`w¦ú@§ 2Ø ¨n´…´
-zCZ£!M‚jƒà"µ^p‹Z›ñ8´&ãgju¢Ë ‚uéÄdÿ*ôâ�\ìCÀjßVÜ(B¿Uˆ^ã�X®pRd3^Hß2’·Ó”Çu3æføvæˆƒÚE²�V¡2¬YXÞ(ÔEè³›hõÙ]´Úì!Zuö4íHö¹Hmö|dEÖ—‘åY?Ñ4Yÿ
×daH(B]å�5ãàk)ÀÇ¨¿X‚5P£ßÂó¥
Ì”¸À„Š²n´„fT»ÃX˜¼·#?Í§U–½¿QšZ/) Õä¨¢t9•ÑU9õŒJq;£\lb”‰O0KÅg˜*ñ³XôS)ú[´RôºRDD"kù=ày&Àç˜ƒ{¨{ó0îÙôœxž.%ÁdÙ.8®ñ#–…Ûõ•Æ8v–$º´*S¼Aµ‡ÄaGä2zE^³LZÆ*•VÇª¤Íìb©‘]$=Î.Ìµ°å^eËs—Ø²ÜY²Üß™2	-—Q}•`/<,cn—¢×ÀUÇŠ«è;xN—ŒUî€a­7©_Kµí®`8´i8Î�¥<�ZUz@•RªQäF©
-±Š©â
-ò+9ùò†™¼+A*I�ÈßNË/sDò¡ìEœHö[¬HFÄˆec-?a/<Á:<Â•ïÔ¼z½†s€ç	dX·
L5û §&ØÆ ‹ÚÒ\÷f]åA×#åi~šÃYÁ%êœÈ‚bK¦,âHš$±¢6Y¨0$g+“2§ŠK	éŠû~áñé…¯Øé+£€ˆA˜«ü{á¬Ã}ÌÁ|Ö½ßlú-<GSýfèÑ»AGCÐú–úHûúºØíºš$—r]Š—ª*#¨°B‘§‘2E‡â3Õ¥‰j]_Ýš”¦HLUOsRÔãyê{l®úy,Wõ*–[B°¸ÅDÌZ^à=ðÎÁ]ÌýõœG\-�˜ä(ÒÓ¼-oAKkYß¾±º9Æ¡¢1a—ZÏuWÔñýe5YT±NBTå³Ò´ª¸mU<OÛÇÕšØµS¬díf’ö.#Qû,:¡â_N9Áàh�²×¬à�ð	ÎÁ-Ìû5Ô?�þs9†ÛÚ
¸ówî€ú.o’®3Ä¦¢#z³Úç¤hKÞ#kMõ73Åai
r:W_ÂHÖkIúæèD}?=Q?™ ¿ÁÑß	‹¯Æ®{[CD°ª	K÷š'x7cÌcþ/£îlz>´FCH{7@ƒ ºo+hûÝ@Ó´NÕG³Sô²dÆ„]âž[fWºOj§0è`G^H¢AÊ1hCã
MÔøŽ¾à¸ŽÉìŽóA±†;”XÃ³fÛË Fq ª™ŽjzÍ—8�w°çpí·v¡çBÍ1¤¿=‡	àÈ €fÈT#Î ñ%ŒPmò†£ìEClGÁ`’sêÑT·ä�,/ŽIêÇ6ùÇš*ýY¦F?–©×'Æ4áÍ4�÷d˜n{0úWÜé½/=iFÂ;¢›ð]ËöÁ"Öà
-Æ}5O
 ïDºQ»q}×qÅ	ÙÄVÈ�tñ$…œ5fËŸ`læžˆwLçîb�g¸ÄŒI\c…®Ñcå®Qã
{éãFúø‰·"ÇÏ:ÓÆ>Ü1öýÎ°Ñî¦Ž.!ÃÄÞ�¡×ÜÃÞ¿Ž5¿„úgF&��Q¬j×¢véêÏ ÷3“�oq‚T‹p-�äDK¸-ÛÂ´gš9oÐÍ)Ž4s¶S¸Yîf.Ýj®E:·QÍÇBÌ³o›·8ýÝ– ™_OŽ”)b{Àá´Ê"öÀ•>ìEÔ=�šÇã$öáI-ZC¥ ç@êY€¸ë�yÑ	¢­@·RÈáÖ°õT+Ó6Øšh·ßÊßh•l¢X‹ì(Öª�Ö¶�þÖ![_«eƒ�õ†�·õ±�çù_l÷�#ì<Þ%6¹¯ak	õg1Þ“§Q×`Æ îaÔÍ¿�iHºuýçüo8€ßÍ=àsÓ¼æCHûæ£Éó	d·…t²ë‚”¼wAMÚ³POrY4’v/NƒóâØ¹ðì¼ù3éÍëÙiŽXçôgbý*ïcîÏMã�€ñŽ£nê6£n%ê*Þ]à]`] .ø}àv`çØöÈ¹ÀÖ%Ø²Dû%lú$‘ÀFø
Ë
`³|Ö/[€¼ü^Ïðq~¤‡�¼æ"êŸùÎ#j¢vû%œ…÷Š1fÉÖà&{ ü6@ÀGœ—¶}`û5é±-Àc'|ü]ñÒø6—\
-Ÿ
-q9Å¡û~|\ÁŸ<{Ž¼ÄïßþÏYÔŸ9‡³€qw¢v
Æ¬Â˜¥óü[ñw"îP¸Šú_¡þc»'¨ÿðÈ_�6áð?¶Ë*ê+‹Ãw
-ÌMaèMšH�¡cÔ¡Š½"
-" QDAE‰€‚(Šˆ+¨‹
.F#êÚ¢$ëªh¬	YK4cyûãìâ²99s¾38sÞwß}÷ÿÞ»úD?[=v!zŠêsÑlÂ/õãe@²0©?pÿÛ÷5 ç•˜÷"¸çÂ�Œ|G ß“ºá¿ÿUøo ÿðŽ¸‡ù:}à1x1Œ~Ñ+¢×¶Do‘“÷¡Dp }Ä&ÄP|Ï e‡>ÑˆZ«ÆÜK^.æ�ŠyGÂ=söº/ÖóÕG
-5àUt>ÏÿK?ø
¼Æðya¦ÀL¸ 0\JX)¨uŸ`d©ÎÈL�‘©ßBFÖªŒ\TMà1
-å0Šéø](K@¨µô‘ l‚º´Ñ;j§ßé8Koéè£7ô+>Œ^�_ÿxƒ10D†ˆÁBÀÈ	1ø † .#%bHÅïæ€Ïá+�g•¿)¨‡£‘^ÓVŒ·ž} “^Ò?h€.�GX¢—ô¢ý#òìÀ¯ÁH1è"1b0CˆÁ1LFˆ!	îÙpæÃUÇRŒZ�e¨ÂøµX’ŒÝ„ñZÁn,U=¡ã(•úÝC&^ |Þ"ö§0¾žãiÃ¯…µÐAÆˆÁ1¸óù!†©œß)sL‡3®B8J0þ2Œ_I?#}ÈÅ�ÈÅ#ú+=Äz< tŸ¾†½›~ ;ø<¡^dë&|ƒÜøL¨­Î„jjŒ§*d*&0Pe<+ÄàÌÿ@¾Ü7Ä %¼ÓáË‚g><Åp,¥»ÈÅ´ŽZ8è5Ã±ƒþIûQ	Gè*�§+øï%ÄÐÃý�¾Å¬º1òyTÜ7Ã`Zðkñ„LƒT™X¨ÂÄb¦mÎ§nÏ{)ðä>U™ÄùIe=à'Ò•êUÍ¥›‚Bº.,¡kÂetETI—Ekè’h=]Tk¢õíô­Æ~êÖ8B4ÏÓ7#nÓiñ3:©ûŽs\�qŽé1î×ºÿÓå‹˜üÆÄgæ<3×à½31à½Ð·æöé¸pîiO [Ú!t]C—õRé¢A}g8Ÿº�Šé¼ñ:gRAgM«è´Y�2k¤“æ-tbÔêÕIÇF�áµ¸Á9lù˜{Èò-ï %ã°d*íLeŸ%Sn3�ß†¸ÌŽ8oÆ¨P¿µýhnÂ¹m4†®šzR�ÅÎ+çìè$î)Ûî	»n—]!÷˜}	ï¨C9ïˆÃ*Þa‡5¼NÇ
¼CŽÍ¼Éßø%_òHNò÷K®ð÷HúTwI^vJ˜p»„‰Z™ZË0Ø(äÀþ±Ør°�<À÷;õZhÒ%[K:ï0Ž{jìD~—s˜ÊQ—ÕÃ®©ª‡\3_ºÍt/´»/îw_.Ü+]-Ü#­î’6ŠÚ¤­¢�ûE;<Ž‰Z=zÔ¶y<To–¾Òh’2­Fw¦µ	ltûl4ràHœ~7ø±µÞòAÏå…#ÎE@çÜLè¸‡„÷•§� ÃK®Öî­Pß;>Ac·Oºf›O¶æNßùš;|‹µZ}—hµøVhm“U�Ø*Û0b‹lëˆ&Ùî�²Ã#7ÉÎ�l�ÝÕ®÷Ð©óeâZ&^;ž‰×ùç~tÅÖw/ú¾Ëè».`k=3�K]ô©ÓÏŽ×îç!Üíç¯¹Ó/td«_´Î6ÿdñVÿñÿÝÍþŸë6,ÒÛP®×P©·> N¿>`³~]ÀNýÚ€ƒ5þgªý{
Vû?7¬ôûh´Ê�­œÈŒ*&2Ã!s0à‰#Þk8^ºÃ‰NMEßˆžK®MíÁ6œ¶`WAk�L«90P¼90Â`£<Îhƒ<Õ¸^ži¼NžgR+ÿ‹ÉZùbÓù
-ÓêÀjÓÕ�
f•ò³Uòv³
-ù	óåòëæåSžš—Myo¾t23_òÌ†<RžÈpô£çû>½zž.Ð‰þ«=\ƒÚÔ¢pVÝ1^scø$Ýú°0ãÚP¥YMhâ¨ªÐt‹/BæXV†ä[­)¶ª)³ZZi½,d�uYH³õ’�=6¥!ÇlJ‚/Û,~lSüÎfA³.
-bVÃaîXäàFr€£í$zžÃà® »”Bj�5£-q~CŒ—z�ÒO\dòED„ÅÊi±Ö+¦¥Œ^ž1¦,<Çnix¡]iøbûÅáö‹Â×Ú‡o¶/
-os(œú•CÁÔ‡ùSûòÃÞÚÏcvyal°â-êïa0ú=Ìý\2ÖG}Ø“„^#�OÍIF´)Ùž·.I*ªIøL§2Nn¼"zªe™Ri[•`_™&Y™5v�bžS‘¢Ø©PQî\ ¨rÎWltÎSìpÉQüÝ%;â‚KVÄ#çÌˆ7N™L’9�9‡!úQ‹÷Pß'�NC¯ƒkOûL¢�xÞ:wÌ4}ªŸ1†³&ÍMP™*¹<y²áÒÄ‹’x…í‚ØXIaL²sAtÆ¸üè¹nyÑ…î9ÊR÷lå*÷,e½t¶²E:SyP:#êœ4-ê¾{ZÔk×´(æœÓ"™ÓÏpåº�:ø.ëgr0›¨Ï›Ó‰ÖgèÐÚÙ6œÕ³Æ©®ÈðÑ,KÐ/I
2/J	·-HRJòÆeÇ§I³â2=gÅå{ÍŒ[è=#n…wj\­wJìVï¤ØýÞ	±§½ãcîzÅÇ¼òˆ�aîÀ5!†�â1ÞÅ›±xÑwvÁß�«N[6Q3ž7àJº6K‹ª²-ie¶¿|Ž—úâL?ñ‚YrÓ‚™a6¹i‘ŽYÓc]3R’=Ó’3Æ§$åø&%ÉËeq‰5²˜Ä&ßèÄ½¾Q‰'}"nƒ—^‘	Ì#*žI�Û}x¯¡ÏÍB¿ÿ�<ÔhÌEß‹¿«rE´rž•Ïsä•æyˆŠs?Ó.˜;Ù(7+Ä2kv„}zF´KÊ¿Ù.÷°šó<Ž¿ÏéÔ9�“è¢é®èbJt¿ªJ)1.�!!M¤tTâ(JIÃSrÝË 3´ºP´]†1.ÃóŒìš™ÝÁŒË®]3ä»oÏ>á�ùãõGÎãûú¼?ßïï{Y4/hîÂÃ>PgD¤¨s"§«×G&«·DLSï	ORëÇNQŸKPßMH}’¸@‘ÀÄù"`€{ü®sÞ»2€V¾=�åðÍ¹Š÷\²5(Ë1Dq®
Ö­)É_í/ÏÍkº"{¼Õ²•qŽiYIn2gŒž“1; eijè´ô%áIéÙ‰éE	éá“Ów…Å§×‡Æ¥Ÿ
ž”þmPìâ'A±i"0v‘ˆ]ø–>~W¸;˜»‰Wß£y|k�j²™ó=º6ßk
-]‘[à#[‘ªÊXež–k›š›8|NN²GJö,Ÿ©+æ&d-‰ÏZ—U2)ksplÖÎÀ˜¬£þ³Úý&dõúŒÏ|ì½\øFe�eo¹Íyø‚sßÎÜ'ò9|
-ì&“âBú‹€¼õ¦X¥uB–ÖKºL¤H[ašZ4ÑjÎÚx‡”‚©.SóS<'kæyOÒ¤ùÅäeùMÌ+ð� )ó¯©­9â¥ió§éõˆ\ýØ3<GŒ»Jx�Í~Ë7\‹=ìA+ó6ðÚ½Ÿì ëéß¬.á�“¥6XRæ.YXæk¸ 4L9{S´ÙŒ’IÖIÅ‰Žñ¦»ÄhçŽ¯]è­ýÈ#J›ÿþ8m™{¤¶Ö-B{Ø%\Û6"|ýMç°¢G#BÖ¾r	.nAùo¹Êµß‘œ¢·¾ØGç6Rº‘ožRúù,I¯ä»c«æW9cn•—tVU QòÖ“)•Ìã¶Ä[O¨˜fU1{XDù‡Náå™NcË×«ØäVQcZþ‰]Hù›àò›Ö�e�l6½²÷ß(üJ„ã¸Ï°ç�t*ãZ$•›�
tçÑ½l°€O‘Y;ä˜^k�iµ®˜Rëm_,�Ù1Î$ª&vHxÍË°š™VÁÕ©VAÕVA5yCk6ZÔT[øW2ó«nâ[}c°Ïö_‡Œù¸ßbt•°ôÚ*†Ð©á¾ÄÜÇéÓ‘jRVÅy ;›î´Z`ön ‰O´Ø:&èì­sG¤ÎG¦1
-ÖEèâT~uÉ&>uóy×¥›ŒÑ­R�Öi•^ºmÆ£ê{Ö5)<ê®ÉßßûPá¾§_é¶K¨\w
-“Ú´ìÁ~ôí!U¤¸Ðì–ïRÿÌ8ÄÂ�þõ*øÖÛÂ[ïŠÑú1’Qú`©‡>J6R?Yæ¦O‘¹êÕ2}¦Á}¡Áp}…ÔY¿O:Lß(q¬¿,q8z_jwø…�í!ah{P
ÐÄž§óà.î‹¤œ™‹˜9{?°ø 0ç0{PŒ?þðlœOÁ¡ÉöMÃ`×ì›fX7Gâ½æxX5§À²e!,Z²aÖRŒÁ-5ÔRUs”M÷ :ùªªF! ±ÐÓ©ÓÛéÝH¯†Þåzöà8{ðçàv
-Ý¸œlÏfä]Æ�u[Á ÛÒ/Hzxì™HxõðÐëá†×Ã…Ý³—"‹ï¾ÊÍð>ù
èo8Æ^fŸw³Ï•ô®o`è]Dï¬& žÞpz}Ú7zí»‹€ò" ¹^<
yè®ÙqÃuãe”Ãã€›<Œ{¹÷rãéå"¿Å�7[I/ù…Äó7ÔÂó‰îít—°Ô\æM§wöi �ÞÈÀ¯p?Oÿ—ô3Šòk@zƒ~Çg^ò½è3ç¥ÐøÁø‰=ù™“û¼ˆ<à¦ÿ�ÜCÖñ€ƒ?¸Îÿé
>j˜»ì$°†?/cæ¹ç€)ôF}N?óŽd^{þ7‹[€ñwÌ‡Î>òwòáP|r<òÐˆ�Kàépà{òœ—´ßy0¿øxÉ°Ÿ‹½Ÿ¡ûO¿a³W°ç…ü3“ó<Ÿî©Ì}‰ßÀWô3¯=³šÑ+íüñßƒ×Nò+yLþEž¶/À+k@x^XE2áá,xˆr²ã
öÆÖ
-�÷ä6|‘:ñe:F*&ˆãï3‰šd�R@6�2¼B%úùÞ}‰Z²/ðgüŽz–Ðˆÿ ÿÆ%ÒÇÒ‘~"þzYÃPÖ`Î,Yƒ#kðd
Á¬!†¿O'ó9ÂzVÒ¡ÁoXGÏFüåtU1z
]»9žOq˜-i`kN³EØªÛä!yÁÖ‰?DÀJI?k0e
¦Fv¬Á�5°†hfM¢s]‹èÉ¤#OPHÏ¦+¥k~a/°÷Ù‹â —Ç§\&M¸‡..™oð7üŒ»¬ø.m¯é#wÞAÀŒ}P±kÄ>X³†¬Á[òÌ8™¾™ô¤Ò³”£­¤GCO—F	=›é©¢§šcïÆ÷Ø�ïpßân¡7q�UüˆìÒ×ìæu¯‘¯ÞAH•¬AF?Øcú‡pM°Oæa¶üÓ˜k=iôdÒ“CO=Z~ž›èÙBÇvŽ¿“cÖá
-çã2>Ã—8‹‹üë¦?Ï®}Îùè¦³‹t¾ƒ�ËBF¿!dÂXf ƒ¥ÂÀNò®ÌìKï8:è›Å<jfYÊ+qyô¬¥§˜žÍœù*:v ‡óÑ%9„NI:$m8gp	í²>œ1z‚VÅ+43q9¥|‹¹PÒo©°„¤ßB!yfb�û†t{â–4×e±¸"OÆEÅ<\P¦¡Ç$ÝƒrÐiZ€Ž!Zœ3+E»Y%ÚÌ«qÚb/Z-¢Ù²M–m89ô­î¢Áú)ŽY‰ž%Gþ�ô5Â†D*¸Õ>uà§oÃ-À\Ž;JÜP
Çe3?œ·ŠB§M"ÎÙ}€65N;.EË°hrÊÃ)§µ8á\‚ÿ1]æAm]W¿B±/f5`@H€@Ú0–?B„$’Å"@È,bµØ‹0ˆÅ,Â`ldƒ�ñn/±c·qì8I{’zÒ6ÍŒÛñL3MÆnš&m¦ÓÆŽÓ×“™jÜ?~#½÷Ïwï9÷Ýó}7gÑõÄ%t5q
mS7ÑêÂ%êÂEÚCÂyÚSÂÚw›´Ÿˆ§h8é$°A}
…ˆø.Dø2¡?¿‡ÿ¿�òA�bcÑ{º›$&ÜI‘n¦–y\O«ò¸ÊhðxƒÙJ¼Â´/±ˆYcÄólñ{žx–}„´•¾A:�~�t*ý&i#ýÒzúOû¯cìWäU6î}„…{¯0_û÷ø‘¹—
×¾´…}ÌCèCÝO‹DwØtÂ
Žˆ¸�!õ¼ÄSz]àë¼Î
-Œä3‚Fòia;ù”°Çû¤pÈ{]4î}B4ã}\´ä³&rù�ñY]óY½ë»,úÌ×)üÚoAøÒN€fù¸¿<¾…óE&Œ»È[�ýÞƒß»ð|[‚®í¦.eexžÍÊö>½Gî{R¬ñ;!6ø»Äõk’æ€£’Î€UI_àŠd$pY2¸$™tJVƒ$›Aó’7‚IîÏH>
ž?™ÿrp2þ3Y¯Á“àêçC@û±F¼üe!d>|vŽ?ºˆÅ£-)ËsCºÛ×…å¬b%Á+˜6ä0V½Ã‰5„.b–Ðyì@Ø66‹ÙÃf¤3áSÒÃá“Øzøv1b»1†}1²÷ËÈá½ÿŠÊÅ#~f0wóFÊWbé ÿH…Ð}-·`ôoÃØ½ #£ÓE1h]‘F<Z$ôY–ç-ÊCçdêˆY™>rZfŒš’5îœ”µGOÈz¢ÇeÃÑvÙdÌ¨l1fX¶c+8;Xp+¶¿àaloþŸb»óÿkÍÇc¬yxô�ÿãûtèƒ,èþ
-2×/aÌ^Õ‚¿„õl)‰h]‰ŽiR<«yÞó¥’ ™’ü0GqÉÎƒŠòX»¢r×¨¢>~DÑoSt%*vJŸâ¥§h•b-Ú¢t]Oì��Ø&šØ*ÿžb)Ä€ø–B<ÎÍ·pŸB
—#ô òä®Ëð—°žuxwL†–u4Â‚Žã5£Í
-˜(ÃÂÆ4EÑÃ*uÜ`©ŽÒ_ZCíUšiÝÊ¶$«²'¹K9’Ü¡œNnS.§X”§RšK¶SK¤˜‹ÿ@o(þ{²©§T“OtóWèÃ%œÅ}Ý3‚Çûu¾¼¬g
Þ-‚ÑBÍT±='*3ýÆöåî°éd;ûµÊøîòrZW™!¥CS—Ú¦iN³¨»ÍêAF£z‚iV;™&õ:³N}™iTÝcV«>gV©¾K«*ý½ªO’Ü<ƒ³÷9œ��ÀrÝ…Ü·
œ;zÖ³ïŒ~h¶.MÖ1ˆcµB[Mvp_U~”Õ ˆk×«i�.µ©¢†iÖšÙ&m§NÛÇ1jíÜjí·²ÜÅÝW~‘£+›£-ûø[[öS«ÁÓ*48ÝÍ—2¸tð=ÔAæ›sy?xl3ø|X‹Ö2kòF“ædßŸêa3óÉý
â@k½4¢½V¾«¹¦”j®*O­«¬d×ê¸•ûZxûôV¾N?Â×êgùeú£|�þ<O¥ÿO©ûM†R÷
GYñŠ]Z�3†›/ŠÁCÝ€î[-ð-@þ\VšÀãÁz&›ˆh¬%
[’	ý-\Oks–{ãÞÐf³,º¡¡„b¬×Ð+kõl�±&£¼f¿@SÝ)TU	•ÕS‚’ê#|EõY^Qõíyõ§ÜÂª¯9…•¯Ø…œ%7àL7OÕp/BÝï�î�6è°Ö
-5¦,àõáy¨#õw&"k'›ÔÑ‘éÓÒ–lnÍ�¬mQÄšTIû+˜jsWÙÐÀW˜ÚE¦�ÜäàšV2
-Lg¸ù¦·ÒóL�YÒú¿°°ºYX-ÎÄŒ8ÃÍèÃG
p/�Öv'B›À*0Ø�!°å=Ýè@Ojïax4÷Èf«$ ö€4ÌÐ%�Ñv()ê¶rzq«�%·Ôsd–VN¾¥Ÿ“g™`K-Ë,Ì²ÅØk¹•škyLÏiyNÏnzI—4âtÉþ×ü¾Å÷¡ÍÐ%ˆEëÀa`°õ€~BddÚ‰‡R¦!.É8˜åkÈ
ÖöD¨z‹c=šDY·>9ÏZ—ŠY-©{­½ô\ëÁ”ëá¤lëišÄz3QlýuÂžÏ)»;_&f¶ãÔÌ6œ*ú�áÜÝë´ÎõC€`b¡^°áí#�yFª·ï@Æq
-ªgyèíB¯²1‰_é¨4¤hDY0¬ŠÅ†uñ¹6#%ÛÖB‘ØzÄ¶ñ¸=¶¥]Y¶Í˜Ý¶›Ñ™¶O¢DƒÏw
-ú_ÄðûðX^/¾ËÍC¨ÁÛ°çk6è°ÌÃ9íî1„š"dt@îšöA3Ñ¨l&©f8ÄâéLrátŽÞTAp®£$LìÐFf9ª£v;š¢2Ý‘"‡=\èX8N…ò'oìàM~œ1ñ,˜;þ"4}c�âánÞ‡žß†ý^¶#tp`´;AÛqÄ0¹g²çR0*\ŠCK©é�˜³”EÞãÄ|3�ò�SÈwVe8Í�\g0ÀqÎû§/nø±¯û2ù0æ¿òI;ôƒ_ê,îOŸÁÝ¼uôÎ‚ÞQ`°OA ¦Z@ÛèD¨|!9D¢ì5Êr…¢LWºÒßÅóàºÄ¤tWžËUâÅpéÈi®z¯TW»Ý5ä™âš%%¹Ž“hkÛDêÚ‡DÊ±?{$¬þÛ3~÷Š[ÆÉnîÀž¯‚{	X¦A×¶€Ph›W G*9Ž�t¡ÌM„X[Dô_®Ë¨É;
ãÏ—„# ‡�$¨ÔQA[	+IÕˆÐ [êQ–ºhQQQAE)"Ê"TD”"QŽà­àQZ­UÔ]¯ÕîºŽ£mulu½©U¿}@h;;Ì3	Éäÿ{�ÿ÷~U=ákî
�ÙýÌÃÐÇ,ø˜Coó$¡·yºàežOs"<Ì™p7¡—yU'áZyŠ�ÏáºC\ÊDI·ö1Öµ¬ÍT>•AŸ“éó‚Æ ˆ*B+]50¬ðåºêÕ(íÐÓâgK_8X£‡E{‹r‹	¶MÓaÝ42Ë
-H- 4Ò�Æý|ø¹ÀÖsQ­ÿÂñ75Ð×ª­ÌýÍ%7�Ü%;r?&7b7`¨-À ½€šG)ö‡ÉQîµÍ®”7›
Ñ�-C¡cl¾ÇXx�ñ‚£s-<¬ù‡ƒÿP�Ù~¥^wjÏÌ™…ôw¹)5@<¹1ô5ª	0’ù§ƒÌ™}š·ã€ÃI@Ö
-6ê´ŒEÎ8ãÎ!ˆÃðY$ç‚�¶Ž�€�÷îE&ü"ƒ{�Î\8œ¿ÃïŸQÏ;Ucfvyä¦“»”¾Æ’;…ÜÐ#@pàOn¿/÷SäóÙ9²ÏS©KÔeê*m¹îÈ¡PÅ�Ä¸Åñv‡u"whÇ]^ü»Û8´Ñ±ï¿åûÛÔÝN•3¿Ÿ72d/?ÀzD§Ñß	äêé«?¹ýÈu#×�é”^!ïF—þE1´\åÀ¥“gS÷¤Àgà!—•Çƒ�gzà‡ƒ—,D/3(ÚÑ^G1˜í_ujó¼ž~§’=ŸìL™‰1þ€Üam€†¾ºÑO»ëÌÿM2h>—Ïwú¡ƒIñšá'êÅTƒ!F»ðZtÍ¢–bƒY”E`1�bòÅŠN‰pã¾«à¾ëjõnßõ:ö]‘û®ˆñTMÅQ	T2•†·Ü3ß`=^#�›l!~á¾ûeÄ›ñõxŠƒxÂíö	®Ó¬Ô+š(vêa×k·È·áHhƒ#mð¤
øy BE’7ƒ¬Xž²�¬D²Rñéä­#/—œ|üE<{;~FCRËÐìÃ}œ¤.1T?ðïS%2|¿ëû.‰èIìiƒœ6ô 
n´AÃÏ‡Ó¿QhÇDþz*Y1dÍ#+�¬d²Òè]ÙøyV!ÏÝŠ;ŒÅmTóŠ4âZpmø7ÿûŽ‘¹ÁS¯ÿA7ºD>saE™;ÚÐ‹6¨éóþ*˜±OÞ‡ôk&YsÈZHÎ2rV�±†ŒL^Íž•Ïs‹p�±¸‚J>*uøãïøhEO:Çhž#ñìÿI„Œ6€1ùÖ.Â[xò~ôq™^ùò¦ñ¤OÈšGÎb2–“±’�çgdd‘±�çâ[ÆâÊqšùøûÑÊ;ñ%þ‰ôâ8#zŒÄµüAd3`@¾ÀØ3Ï
-²}Èõgu¸ŠPf5Š¬™äÄ’Oï–âRHH#g-99ääóü-<·GQÃ(ìÅ!~s€ïç�ØËŒ6‘ØH5Põ]e]|[í,½�¥úoOŸ=È@?¯±ô+‚¬i¼e18.Ä¡E²G¥I8"KÅ!Y:Zea¿uöÙlF“M),¶Õh�ïE½ü$öØ]F­ý=Ô8´£ÊIDe—*ºD¶TìáiO>î|œoñõ†­„–;£M¢Æ)kœ´×£Ù!‡�£pÀe&ö)þŠ&åX”KÐÐ+õni¨sÏÄn÷\Ôz¢Æcª=ªP¥² Ru;U—Pæù#J½^
-Û½Da›§(”xŠ’nuð_)YjÔ,±à
-už%îŒ«Z]ÜÑì6<µhòAƒOöô™†Ú¾AM¿OQ­Yˆªþ‰¨ìŸŠ
-ßt”ûf;|ó…/üŠ…R¿�Â6¿z¡Ä¯Y(ö» ùÝ•ú=—øŠÒ|_Q–ß_”ý­K"ÛÞCòo³¬^ÎvCµa«cy;ìã‚¦þÔ
.ì4J0—T‰’”�!-:[Zê?OºÝ?AZ°\º5 MV�)+
-Ø Û°YVP&+Øm•pØ*/à¬Õ†€ÛÖ9þÏl²ýE›,jÝÐßõ†-æþ –þ@¶4îž­,ïG‚8[Ñ–Æ!=P;L�ª÷†Hv¼?RV:bœUÉˆëâÀ)6E�³l>×ÆÚjØnÒ.µÍ×¦ØæiÓåƒ²å¹A›ä9AÛäÙAÕvYÚýv™ÚÓvÚ›vé�OìWŠöi#ÞiÕûïôÔ‡¥Ÿmÿ
-Ûþ#[ü8î:c€:Ú³Kk�Š‘*”êJ¶êFXoÖ�–èÂìòu¶ÏÓ}Ücƒ>Æ!Gÿ©ÃzýB‡,}¢ã:ý*ÇL}¦c†>Ï1]_ì´F_é”¦orZ©kuNÕ}çœ¬{ä¼<ø­sR°èœ8RtêÖ£�¼‡l÷¹w~eâ¾Çñ£.”s>ÛîÎÑ”zaKHIÁØaÖycuv¹†qŽÙ“ó:ÃG=×f¸df»¤æ¹®1$¸¦R\WÒ©†EŠa³"ÙP®LS¯\6æ„rÉèkÊÅ£V.ýF¹p”¨ˆ%ºvë§æÁÀ{@þq¶Ø&î~5œkÂ9WÐ®-¡.(˜ÐWØ>Ô*;,È.3tŒÓgãÃ\W#•«ŒS{¥£ÝVç¸'ã=’Œ‰‰ÆUK�Yªã&Õ"c©*~ÜnÕüq-žq!—=ç†<PÍ	ùÕcÎXÑ�rëÖ=¶Õkôûò�rÜ¨›TFqÎŸD>í*ˆpÀÆH5²#ËÖN
-”¯‰øÀiåD£"e‚É=)<Jµ,|º×’ðOz/�ó^žà¾B=?<C–§žV¢Ž
Ûå3;ôˆOLèEŸèÐûêèñ¯zG�½fEOJÕ¡»¼ƒ—Éúš{çAŽ€µ¿vð}ñGäÓ®�QrdOöÄÚ)%«'¿g›¥s\þáXÅÒÈp�Å“"½â#¦¨çGÌêgŠí;×ß/Ö”¤™mZ£‰1åj¢MÅš™Íšéj¦MhÓLýÓeåuÐˆl¢"ˆ²/ƒKŠ(""8Èƒ2
-pD‰8â\a\‚:¦.Ub¢Æ­ÆÔ}‹ÍjZ›­MlÒ4imbŒfé—3h[ÿ8|3ócÞ¹÷Ý÷Þ¼;í‹àÜi�sÓð_+·©Ã;ÌÿùöB!}ýg'¯Û‰e-ó²:¯·´ä{KsA˜Mcþ3½ë´cûTå&ºWÎLñ.×døÎËÎ,™¡
)Î*+Ê*Ÿ•µ(<_Ýž§^‘£î×¨w‡gO?ž5ýz¸zúÝ0uæÃu¦¤ÎP!ÀJ75×{±Xä·<·ÂâYC,-…¶²´ÈS‹ƒ¥N7¢WUQœseá·²‚d/½všoqž:hVNN˜vfaDîÌ¹*�fAT¶¦!*K³"jºf£*C³K•®9™–}-"5û³ðÔ?„¥ÎPBÒ²”`²òW¬7¨Áë%¬°€™+WÛlú^bYÊ³¡¤¿Ôê¤JeW©�u,›ßW?;i€N—:¸ 030g–&,;??R�?'*S[1,][7,M»|XªvCTŠÖ¢š¢=‘¬½ž”wghRîƒ°¤%B&ç(ÁVnR‡ËEœKó8 6ÎåŽ	Ízü¼¯)s‘…åC¤b~„MYyto}ÙX]i¢{þÜïœ’t¿¬93‚3ŠóÂÓŠ‹USuåQSt5ªd�1r²n]Ä¤â�Cu‡Â&ê.‡LÐÝN(ü>8~–_ÐC�•¬¿ä~œvd/låú»VB#T?+² ÒAÊ
Þ2Ï*%†½ŠŒvÊ¯Lè;³bò€¬ùi>éåjÿ©e9!É¥EaI¥eCK«Ã&–6‡N(]’Pº#(¾ô•€ñ¥—üÇÍûÔoŒþ{ÿÑ%Šÿè90û1o±Ï”‰®äL‚h#ÔD*«¸ïWÛÈœwÑÕÈ¬Z•m^mLoMÍx—éÕ“Ü¦-šê™²0Ó'iáL¿‰†Â€Ã¼€xÃ"ÿñ†¥~ãm¾c
Û�1¼<h´á¢wÜ‚[^±÷ÅÌW|¢Ë{låµ?�ï ®í°VÁs‹DµøÓwrÏ_â"¹M>¢i*YM#í2–ŒvHmœÐ'¹!Ù-±!}@B}¶×¸úï1õs½G×WyÅÕ?7ð7õ&ÏØúN�˜ÅÝ£_è]wËí™šûî#«�UÊ€áUŠ§•‹Ì÷ÉjÎF|[¡
–×±pWâžC»¨mÉZn'-2­%@¦¶DÚ$·DÛ%¶ŒsHX>ÉyìòT×8£º_¬Qëc,q‹6ú�26õ}ÆØê:Ò¸­Ïˆe/¹_vÞyXs·“ê¹û.‘MŠkD£ÒúY9³�s×‹�Ô�çó<—BM“H9îBZ4ÍJ‘´5"“LŽ’`ò’ø¶ ÛegŠµ‹1ÅÛ�2MviÊpnÊqf*vŒ2U8ªL
‘¦Õ½Ã[·Øm=`Öz¶WÈš�í‚Wk´RqZ¡8¶(NVN‘ïÁ¥Ôßzž+ qu -ÓãÎÃ�Ù&2y½È˜Mô^.2Üì-Qæ`Q™£$Âk3Ôœ`jN±
1gÙ™lÍ¥¶æs‹�oG»Í�Ž½âÓ~Z¼Û?ï�÷l¼×+¶^ë;èeå¾}+8›ÁDÎËxÖ®bpÑ’eoIé ÷Ü"2j›Høv¿�N2Øâ)>–ñ¶DŠ—%ZZâÅÓ’"–â¾K'n–
-qµ,‘>–6qÞiÇÇÄaûÛâØùwqzáGqÚFG³õ1‡píjÙÄs5,11ëDJ62fzO¼‰xc-"*ÚÃÀ=ôŸ¿q=`/ö]nb×5Dl»ÂÄ¦‹à..]\BºøÑëâpë¢ÐŒ@û÷³èÎ“ð-�{ð(=ÀÕI®ë™ëå¼®ãßËÉ¹°SdÞ)»EÆíq@$ä ˆÏ+"ýÓ¼J_{”¾öX?Ä\�s	;Îåã?x'Øt'j`5Ÿ‘È±£|ç].I_ÁC.
-¿ô°ß–Íü6le?â]ˆW�7�\Ó»D&âŒ9B
øºïq÷ß‹8¾†ÿ4üÎØˆœu9ÇÅø<Ó‹\Š.Årør»Â!|•ð*‹î*‹ê
-_áK—?âþ	ß÷°k'uÀ»’y®ÇûìKœ‡X8“qÆáŒÄé÷ºˆÇYüð^‚ËpÞ€?Â[vü»Š¼7èñåü&µù0AäµH7qt³Ùn1Ñ·¨I7uŸ÷ÐÉGëÈ×ˆ·¯ïL¼)ä9æŒH%ôÇé�ÏñºÕï=áOp>„O€RË[‘»ÔçË!"_©D¾a�Üãbö-q|·Dä>›ë>Å½.ôÐ�{µ]|‚3ñ5 ß´s¬¼Ã®‰�£ÇÛÔÿãÿ>~â²r>ƒ»ðPfaŠå[x@,�h˜~ùµQ¸*¬S¥ØpÊØÛƒ"ô›ýè÷\éyÝè7}ø,â`2¨!ôPÕò‹4ÈOÒ,�d…<¤Ï| ëèQÛaå.ùNöÆù7]î¿èR¿!È¯åùßþ/_?…"}‰Á…œˆÁ™¼ø,b`"¤ãÌ•é3I9#-ÄS‡£Iî‰Ç*R7áÙÀØ›™Šô«{äKºÙ¿É)ùœsG>eÊ¾ã¯ò?n?~bèMvObðä³@ùYFàOŽSqf“Ó,|s‰»G5Sß@vKq´PŽçk-c·S¢mòWy‘åÑÅ29Ær¹$æÕûDù>ÙÜ`t+ïÁ»OP¤—='1ˆ­"ŽÄà†Û—¨#qÆáLÂ™INyä3GãXµŒÜÈiÆ±‚åÙÊØë{³¼Ã\¼)ûäº–kr–ísƒmô%<""EÎÃ¹§Àm��9ü½xïŒ{ ÞPrEn	8ÓäÑà)Ä¡Çñ,Û£Š-Y‡§	�Ï*mrQ6áxónŽ�—9FNËkDtŠÙ:ÉŒÇpô	¯>áÿs Ö×Ì½9»I·øáU‘Á|É¸¦ãÉ#�b¹ ¥Ä_ÉŠ«Æó+ÏeÔÖuàó$�@‰±HBlF¶YÄ&,K€@„‹Bb @lFìH–Yl6¼Û8ÄvÜºnì6I“´ödšI=ã4këé¸ÍL›&v“NÛI]çõ¨0ýñÍ{sG£ïÞsÏ»çÜa´8Ñó
-¼�ùyóâ'°ŠŽó˜•[pÍ71'^Ã¾Š«»ŽÙ¼‰&7×vØñÿFÿ×ÈŸþ÷©{áÞ…âìãàÆâ]ÈAŸ]è1¡§	wº==èÀˆ�¢kWíB×Qt�D×þÿu¸‚¿¾D<„‹”/à<õ8G{ùuäìnÿ<âþÊÄÏÝàS|>¢¸�?º¹¸Î=èÍ‚;TÜöÐÂMº^ó®ƒ-F\gØ`“y®úÁŸq¸ì;
YGàkÎù­Ã†ß&œõ¿kþá´ÿïa%ð[8HÂ‰Žï@ÒžãQò�µOxìº�üP,¾¸O†;¾±p+ ¶‚ràZˆ®pÊáRX
\o„sm°Ù
ë‘ýp†;
-kÜI8Í�…UÞ¬ðÎÀ2ï*çý–x¿„c¼Ïá(ÿ9Ìó_s<’˜å‘”™¾÷ø�?,5&cÙÙ‹}þ.,q8—Û¡¾°É‡«üD¸-��X%œ�ÓÂZ|œŠ¯…•]ÍÄÉ]ÄrÂâxÂ±$'…‡ˆáqDxŠ˜^"f…¯Sf„ïP\Â�)ÓÂ¯©S	ÿ¡N$�´‰]$íàßášÿˆþ�Ò±íC&öØ©[X†7ãèp1!Ö÷áôÞb%)—r"IM]J.§K1RRêiGRZió¢NÚœÈN›�Ò‹¦h‡DóÓ©ËS©ç=&D7<ŠÞôtŠ{Ž¥|å9’ò‚>œLÒ‡Ü$móãÿ�b‰{;Ëzöv+rYŒ½�ˆ€3©Á°’KÏQ2ö{Ìg*=g3Kè‡Å•t—Øä5-nòzEÜæ5)îñšÈôÏ÷vföËZòÍZg‹_eŠï3úÅ�}™föf~ÏìÉ Ý0ºÓ·ù
-cð™sP‰1Àè>/çlà\NãøI‰,J£`^–H=,{NKs½§¤jÆ„TÇ—|œÒZß1Y³ï¨Ìæ;,³³ec¬Ù4Ë.[`�­±{¤×Ø]ÒŸ²mû?ðkßÿ%»mÿ¿ØV	Éju³o›/E¸ØnüªsÙÄòv®ýØ
--ãø19æò¹àR©Sùéôñ<c,Oé;"×°‡ä~r£¿]ÞÐ'·ôÊ{»åC�]ò‰@›|>¨]¾d•_jÉ½dÉ}?¸1çiPCÎ?ë³ÉÄ¿^¶ÍSl½`.b«ñz)ÆKý™ô«Ñ�ãst8¤ƒÉ¢xŠS-ò)”0
-äì>Ua@¯ª4¨[YÜ©4‡t(-¡mJÇªìç´(�‹r†Ó¨\«W\«UÜ3å?3æÿ!¬:ÿ¡Õyd\-'ƒÜ<‘| Á¶ÛÐÈylW±[Ä¹Ìa\•Ð`BN],1\šäÑ¯3z59ìÎbe`{‘&ÄZTÖ¬6†7©"ÕÖÈzu/·V=Ê5©q�…K\Cá9®¾ð·¢à=n¹ê	·Lõ÷ˆ2V¦$9H¨›/pïßGç½*l‘u=À‰J¼oá\\›	|:*`¸Rý•{©½^¶r)ËªËl.U‡6hK#êJô\S‰™o,iŽ2hºzÍ� R3%(×,tš³mñ
�¦ø�¨â¢ßE}Ç+V“‘Hxqá6Ÿ`¼ ÷®Ûnd
Y¬ÆûÎgçâÀçP5ìFô…›1�n5H|šªäþu•ªS…&ÂP^Î¯,3F——5Æèt±Z]¬Fw0¶Xw$F­[‹)ÐmE«Jß(J?(´ßòZ’«(!#•2ÂÍcÜ‡÷Ðû#3À%d9jÂ=¨Á>Ç‡ð½¯–ÝuáÐQO´Ö¥x4Õf1êÌ9ìšEp•±(¼Ü ãi«ª¢‹«êbÕzk\�þ@œJïŒUêçbòõ§£óô×¹ú·¢rôŸñ³+ÿÆË® ¹ÙåHéæ7ë_ÔÜ¬Çï9�Ì"“uØg#:›<¡Í-Í1ÐØœH­µdÒ�MR_}C^€®¾0TS«�T›+£Tfst¾©%&ÏÔ#79¢sÌ³‚ló)¾Ì|�'5½)1}±¯æyDVõYòÿüÚ€ùˆW‘-l{Ï"‹øîBœøÞ‡ØZZ­4¶ùC];Lí»‰êö4�Ê6	£ÔšË.nQ4k8
-KE¤ÜRÃË±4óe–nžÔ2ÆÝo™‰�XVÃ÷Y69Y–Ÿ‡f6}’Ñð<$½þ‡Ð´:’“V»ÍCŒý½VÌär™BF¬¸þv€Þ7ºjº™`è	}o”õ$Sµ=bzQ·Œ©êÊgçufÛÊB¤6#GbkâdÙºBÅ¶‘�LÛáàÛJ`ºíZ@ZÇÏüS;~ë'j{æŸÜú2 ©…Lj&ƒÜ¼‹k¾ÓpYFf�ƒÈºÛºñÊh´ã½o€ÚÁ ÐFAÑànB5˜FË�Ðsr™ÒþÖ¾þR¿L»Á?ÃÞèŸfïôKµ³Ev+Å~Ò7Ù~Õ'É~Ÿ™Ø÷coï3æîî—¾Â.’•ÐI²Ý¼Õ†¹€®ud™FÆz0ÐÝ‚nó Þ¹FŠñz¢t2!Ï¹ã± O$$ÎªØ)óLw*¼Rï‡ž‘ä¨c$::¼÷:½ö8¦é»'èÂ±Ëž	coxÄ�=¦Å�|ã;ô’3HzG�7÷Ð·Ù‡û€Ì#“èBºšð:bphÇÑ?	 ™¦@†ËÒ\‘ rÅC²+™Ht‰){\9T¡«�ö_®Ë<.ê:�ãŸ9`”Ö‡]ÆtÔ±¨4íÐòÊL%%2Ä[3‘[Àñ€QòÈÓÚÒ2³¬­4ÛvmÝÊÜ2µË¢C×u³é=H¯zío^Ìõý<Ïó}~ßïóéQ2ÊW2Ñ|KI¦©{É<SlÉr£­¸ÚSÜhˆ.zÞÐ¥è=C—‚¯
Qù?›"—yÌ‘y/°£[`5”ÂR˜GÞYä=	íQÒ°bip™Ô¯ïé2©{U°b«¢d«ºE1Õ½]mW×j§¢ªïVdõÝT=E�ªf*¢*WaU
-qmT�kŸV¾­€Š‹
-,¿¦ÀC`Ù
v/åyùÂbþÏYF
ÐW"�,—†bÍìÕx¿ÕÒÍk¥ÎµF…¸äî¬÷Íêèî¥î4ù»�òs��Å=Nf÷tÝ´®øQ-Æv&r-fqÍw$ý?ð´±•¯¬C¯òa~5(¥Èy”Kº‹:€%’ê¤¸
R61t³ä»…¡³‰!¬‰!¨‰!¤9„š‡_3\3ÍÖLQ›XlKƒÔˆ©mø;ƒÓó¦+p½�†R
u.…\rÎ!çr»†>DwH½Ô—ŸÇo‘¢±¨áÛ$ëá�à»ˆc7Cðž`øÛ}�á£…¯…C¶%ØÔ½$³—î~�ß�cPú	®·±¾Š;š|Ð]@­³j©ùÞ�nz“ÔÍ??#Åî–:µHŸÅ@ÿ9ø¼/Z€¡üP¤ôRw=ÓÃc¯0Œá:Bã¡ÀGÖó¼ò.Ÿ_à{?µQ»Ž}@w)ÏF÷QtÇ±u#vQ4SÐ‹£„�Ñ
-<ˆþËh†WàUx
H
#"ýÕ_z;\:Á�|’½ùÃÉ)‘ÓÄqš‡î4Eÿg#ü'á\5èSçÅä›�îä}œGä˜Î×RÑŒG3
-½€£èóêÀÛðRÂ
-SÄÚð¡�•>ù¬³t>Nú‚ù†Ëù[âøn¾ÔJo´Gë~x½�*ê\°—^ä­éä;öEé.tí´p_éò&ù£i<Ñ®u
-N·ó!œ�³ðœ‡/á´b\~Å<Ò¯×aPõ‡‡gÅCóyÜ°µ
�ñ›V<¯ž×�×7Aôƒ¡0ÆÁý¢,Üâlý¯{U¹úþîŠŠuYå¸Ù*ýˆÇûAõú¿û®ïÍò5…û’ ¿äÓ/Xå7ÎÃçp®ÍoZ‰Á—Ìí1„ÃÍ�ƒÐŽîhNBg:ëg«¯û-^÷^÷ Sª¯T‰N
ë×é‚X»>Å•ž¥aÎP´3Dõ1+~À)øG;YˆÁÐæ{‰ƒ×!º®hríEŽ·¢›Žî}hM@#CñºçñºçðºŸáuÿ­<t
-õ‰ÊÐp¡±Åz4ž¦Eö²}/ë$ßå×ïèUñÐ¾7x³´‰Aí1H?ËŠn$QÇ¡ÛM'z#ÐƒÆ$4¦¡ñsÈa¡ÞgOÞcON²'ÇUA»®B§ŽµuL;u”ýxõÃD|�];ˆâÿƒ®é7}/ßË‡º†SKõë�Þ@´î$“ûÈe<«MÑ[Ê$�lÉ¹TzKtDËÑ)%ë•:D-^ÔFŽ�m#ô,Ñ´è#ªÒª=ìî”vÿ�ö´é_†‹ð‰È3ŠÜÈ+='Zw£óÑÈ@#�=Oo 7ö³'Ïª­r´jX{½žQ3]Ñ¢­&O³b3�ÓÄ.oAÍKc;¿Õ µýÑúÞ—…\#Ð�%·>Ôk zw u¯öi,“Ð˜FçÏ Ú³´ƒÞØNol£OS‹&ž‘Föc3J›øæF½¤
Tr=
-udZ‹ª—uíxõ€~<îVŽ|_Û1ØíHjÙÝ~¬4„¼†£3
-�	ä4E[™j4f«Á4W›L‹´Ñœ§
æb­÷Y©:ŸuªµlÖZË.­¶R�ïIUû�—ËÿŠVZ=ªüWÑûŠ£þGý‰®ÒÑ›¤ƒ!ø
?µ
Õ.S7m÷í­fë5vLWCà=ª£
!Ëš¡ºÐ,Õ†åhmØ­	ÏUMx�VET¨*b�\
ªŒØ©òˆCZqR¥º¨âNWUÔÉ£B(hç®½shŸêÁ±ŸÀt×GÛNbÚâ§æ°H5tŠ×†Î©ª‹¢u]†kM×Qª‰¯êèGT3M®˜'TÙmŽ*º=©¶|•ÙÊTj[¥b[½
-m;T`{Aù¶ãÊ³}nXb»bÈµyŒOuû�Kä}†+÷x
-W´$1ÛõâÊ'¦ÍÝŒª�‰Pmlw­îž¤ê¸�rõ¸Cñ÷Êã4”%<d(M˜j(N|ÌP”˜c(L\`XÞs‰1¿g±1¯§Ë¸´§Û˜Ûs«qqâsÆE‰o$~jš—pÙ<7Ácžÿ;_ÄrÕpœ»•ëžáªkLe¶â½:bY›¬ê^1ªìÝËPÖÇn,éã4%
3$ÝoÎOk^–<É¼4ùQó’ä>¹)s|§,öY”Rà³0¥Âg~J­enJ“evò~KNò–ìä³¾3’~ô}¼�Ç7ËKï|î½bpµ3þ´xG Æ�z³±¬"WŠU+úE©8-ÞP�Ö×´,Íá³$-Ý’ké»Ø>Úo‘}‚ßBûd¿ùöLÿyö™þsìýgÙóügÚË¬Ùö5ÖöFk–½Åš™öZ‡iiwÈHý¾ÃÔTO‡©ý<Ö)^úz¬gÉ÷ÄPÆ�tz –×«ˆ¥’1¤l€EE;)PwÃ’A}ÌO:úû.t8ýç9†Yç8îí0Û1¦cŽcb@¶##à	ÇŒ€ÇssäNwNs¬
-Ìpl
-š<pwÐ¤�G‚&øWÐCZƒ&Üê	œÐ¿�/‘ï[w2
“¶A=¬æuåíÌwÄRè4jÙmáÊ½Ý¦E·÷2Í»-ÕwÖmƒ¬3‡¦Ì:"(kè¨àLçø�éÎÉ!�:3C§:g…Nv>úˆ³ ìa§+ì!ç†°ñCv†�r8ìÁÁ„=0øÛÐÑƒ~	íðx	örš|ß`ôÛ?òÆ(ZUŒ`+;
-‰%žº+X‡Gkîð_¹.¨(Ï+¿Ã&‚¨ÀŒ ‰jPE4DDÖaÖ¢®Œ(²0Æ­1U³˜Mms²¨ÑØ4ÍÖ$Í¢¦¶Mšä$MÒ,š¤íIkê–éCHN[ç9ÿpæŸÿ½÷~÷ûþûNðZš9Í¯1cv€+=eh�5#¸Æšê´+Ó*LiÂÊÓ›i«Ì¥iæâ´­æÂ´}æ‚ÔGÍy©§Í¶yçÍ¶”¯Ãl)×�¶¹žP[òçÉ÷Å|ÆM¸öÀ�yÌVÄÒA,kˆo•-PËò,jÊoX”7Õ·>71 &gÎÐªlkHEvŽÉ‘e7—f:"Š3�‘…™
‘™Ë-ù™í–ÜÌžÈœŒ½‘YGfdœŠ´¦¿aMÿ*Üj½f¶¦yÂÀdMõ˜ÎRûç
-uáì‚-ÐU@þÄ²’k‹Ý_KŠÂÕP4ÆP_4Ù§¦0Á¿Òž4¿`^pI~¦©0//¼ ·Ä’k»}DŽ­>*ËÖ•ik‹J·m‘fÛ3"Õö�%%çéÈäœ³ÉÙ"æd]
OÎò˜“3=aý¼‘K?–p&À=pl„öbi5±4ó¹±ÔGF-pÜ¤jÇ$¯Ûñ~Ž²Ù�Å%s‡§s‹láÙ……–{y”Õ^�joŠN±»£æÚ7ŽH¶÷Yn³ŠL²Ÿˆ˜m?cžUð¥91ÿª91ÏcNÌà5tžvHÁ^lÉV®ÝÐ-eè—KuØ„êÊáª¬ŠRyUŒ¡¬2Î§¨2Ñ?¿bNPNyZHÆüì°4GADŠÃaIvÔXn+[lIr´FÞê¸#b¶cWx¢ãPØÌ²ã¦„²·ŒÓK¿4Æ_1ÅyLÓ
-x¹”~Dã~ÆÍ>Øëa54V¢ï”ªj¤òÚ•-ˆPqÝÙëb½rÌðË®½5 ½&eè¼êÌ�dgž)ÉYjžítš��a3�«M	Î
ÆÎ�¡Ó�ÇW>­êÍaS+¿6¥âJðäùž�X‡'´ŸçÑz�°î€µÕÒrtë _�ßpIE
¾Ê_dTnãHe7N0d4Æy§.J4·!9 Ée
šåÊ>ÓU<ÃU<ÝÕ0<ÞµrØ4W÷Ð©®ASÞ?dòÂc�±õoÜR÷yÀÄÚËC&Ôx†Æ8=Ãúy­Ãhíƒ­Ð	­ux>´k±‹å�èc×r°Jé-C”Ú¡”ec”¼,Ö�Ô2Ý'±%ÉoFsª|sv@\saà”æÛ'7»b›W¾¥¹ÓRóöA–Þë³ôI¿ñM¯ûŽ[ò™ï˜ÆËƒF7xßìòôs’„Ý°ÚaÚ�hW5á7ÐÎÃ"Y±'I­¾Jt‡(Á¥îñšæžb˜êžé5Ù�ìs‹;Ãw¢»À7Æ=ßw¼»Îgœ»ÅgLëzïÑ­Û¼oj=à5jõã†èU¯¢WþÕµâßÞ#–y|,-¿~žX,$Ïí\7À>· ]�v9ÚöUR¦ß·ßÕŽ÷ì¬‰�&ÅtŽÔ¸®�íŠÓè®Yº©kžaTWŽ!º«ÄÕUm°t-Qdg›Â;{Öq�Œ¿TÈú—Òþ±B×^Rh›ÇºÆãGZXØ
-°
-£]MÞ¥hç¬“æ­—»¤ÉØÖ±›ñ^=þ
-ï5ÊÜ-Sïx{§*´w–‚{S5¼7WA½óØ[¯Á½+4¨gƒ|{vËgËÃòÚô¬¼6¾_Ë{ÃUùt{~àÐjö¹n‚u°œÿ¢]AÞ¬ÁéÖMRvuü�Rô]’q§Ðç/ŸÝ¡òê‹’¡_Ù7xù÷ñÒëã`ëcSõQØ>´‹î<(í8FÁÏr}!mc‚Þv¾×~n¹ºÛ$7×%Ô»ºS*!çlla25~»4q—4j·¶W‚Uôú9Cà~ÐýF6ƒØâ8Hâ-A-,ã;9ð3î=ÊAÈ´ºï^LÄ°÷{`®¥Æ=hvÀŠnÉEÎåäœO¾©è&î¡Ð¼y¿N*A÷aŠ¡ÿ`YõÃð#xÛGû‡¿ÑA±ƒÐâ8Êa{”Mv¤•ïHæðýÜwŠûßá·ßðŒ+pM;YßÍÐ†n%«ÙA
È7ënöÁÖÍqJ‘�HÃK¾¤Â�ÍKž€'á)o"cÉÁË`t2A:Åº<Ãaš�všÆz†E<u„ïË}Ôâø·pIÛÉ·›Z¯ê“¨s5ÎG7•<Ðœ„ÞÈÇ¥Ð§$ÿãè�Raðg…gá×ðxcðÒ0é•††ã×PßâÅ|†Ãøî…>GrgIà,qœù>V/ºí÷°ï•�oº9�IsÈ/î„4=óiiðO:/ÂK0!¯À«ð:¼	´FWz‡õyŸ>ùhC;=ò9ÃÐ^>–JYì‹,ìEâ¸È/¾¬Mp&Pç&ò­A·Ý4t§“ßXn	G3€�1^ÿÕ9÷ƒÐûC¿&¼Â'?Æ‹Ì[�ôíé;†ã«s¥ëÔÃCž�@òÊsŸ5Ï;¿çÍg?0ÁhˆƒÛ Šu]UºŠ×½Œ×ý¯{	�ù/µëŸêÖ·Ú„WÛªh§þ†›ûZ÷â,Õ\èîsý—÷w}Ê“>‚à}xÞýÁëùáy
†ßë!0
-ba–®(Í´ÊÑ©åI‹ô
ó+­D§
�õèl@g:Û(Ãnýwù!nð÷=æ]Šö'î|›LÎðÔAÛë'ß;@ùZð€1h&�W
-yÙô¥Jô^÷SÕ£±�eh¬Fc-�,ÇF–¥Wçµ­»Y²ûôõ
šø5ýŽúT/ðÔP¸‘cøNƒ¨iQ�&¯8}¬$ô2Ð*Ðñº¿Çëž“‹ø›h�å´c+
-ëhÍ.Zt­º�êïÖóÚ¯ç8@~Åzœ$‚§©þ	²:ŽÊ�ü¯>'5ö&â`4G¢9‰œf’Ï<trÐ(æiÄ^Ëi`K6Qé:Mo<Coœ¤7N¨GÇ¨Å“Ôâq= Çøûw%ú#¬Þa]£S<ÿÇO1\‚ðœW 9F�ÛXôâþÃs™µu]qø<m 		I @^°AÔ,b“É �!±I¬Â2H@„dVÌbÅØñ
-Å¶ãxÆö4Ž]'“¦“Nš4®[·“I¦ÓvÚ¦NÛtÉtÒd2mÓ´I›×Ÿ�§|<$˜û�sß½÷œ‹|LÈÇ†c¡Ž8öÁáƒ£†AYá˜„cŽ£÷8f`
+â2=�oŸCtWñV.#»M˜6a½ô”‹[1<ñ=Ýv?ÂÚ|kó5ÌÅ+˜‹—°.î’®*ŒØGûáè…#€l‡àƒ'Œ1Ç
-Æ?M`ØÀ~Q¯Ñ¼¡÷éì“Ýó_Ìû¾„óãÇùãˆ{‡¿uü<>ú¾M"Å	ð¦À›‹‘Œð•ÃS‹|\ðtÀÐO�Ç~ÝÀ]Ç;YÃ>9‡uq†Nbüóøy+ävî}¬Ø_c÷|BËÌ´„Uxô)8±éORÌ<üJÃ(?ßÂÑ›Ë`^e(M;‘cm2t�k¦
¾�Öõt.¢…ÎFvÒéH/�úé¤p�NˆÆè¸hšVÅ‹´">AËâ
Z_§Eñ=ZˆºOóQ¿¡Yé§tXúÍHYš~ÊÇð=ÂQöãd”p%çæv¢çÏsQÚÆÑyI
-­ÉrèŒ¢ˆNÅXé„²†Ž+›èX\;­Äï§åø^ZJÒÑ„Q:¢š¤ÕÍ©ViVµN3ªkVÝ¥)Õ[4¡z�Æ·}JcÛX:B*–yÌ‡	D¿HC¹Ñ ô�›é¸ó¡¸ˆx6ËzœŒNoÛE'vhèX¢ž–w™éèîJZLª§…¤fšOvÓl²—«ý4£¢°úM©gi"åët(å,�©¯RHý"�¨ß !õ/™õ'Ì�ä¯8Ád–Lb9ð\ïh1(q/ä!w</d£ÇE<§RÑß$‹h%e-íI¥…4Í¥™ÃéåÌtF
Îhb&3Ú8g\ÓËÓà„4!Îhæ4g8s‰3˜yš{@³É
h^àú5¯sû2~ÎíÍø+Ï—þž7�å{Ó¶x„RÿÐ€rŽ6ì¸„öã\ÜˆåJÞ²†OG²âh6GMÓ¹ÙÌd®�s(×ÌÓVòBÚ:ÞˆÖÅÖvðuÝü�ŸÔ
óºI�_wDÐ§{VÐ£»(ðjo	º´¯ExrÑ™ûQ„;çKÀFtdoñ+¸î›°‹‰®•`þñ<iDo…XÑ†Ìç14“¯ )ý.×gpFõy¼a½‰?¨·F0TG
‘~Ckä3†}Â^C¯Ðgz
ãÂ.ÃœÈcXu6Dú¢6ý«¢–‚wÅÍ»ò¿9óX‘S·ÅÏ�û(«·Qâ¯”að\Åç£ˆe±LãïE:hÚAÃÅ©Ì€)—×oÚñŒÉ"ì5ÙD>£CÜmtFí7vH<ÆnI§1 é0†$mÆi‹qEê2®K›Œ×¥
E¯Hë
-ß–:
-?”:öþ[â0°‡þ	Qï"÷ï¢åº…öï¢
kÏe|žG,Óˆå�½¶EHCe*
-ZSY6¯§¬ ¢»Ô$òX¬Q�–*i‡¥!ºÍÒ*k1{ä.sŸÜi–7š§õæ%…Ã|VQc¾¦¨*yYQYü¹­øÏr›é_2›‘�¶mñ6Z­W+ÑbÚñªÐjƒEü>ƒx&Ë(°	¨¿RI}ö$òÙ5Üý•y‚N[‘¨­Â"i©°ÉœåEc¹3¦¾Üë°ú”5ÖeµuBi·.*mÖÓ±åÖ«±ee÷b-ecÌ¥Œ1[>W˜-¬Ülfå–Vþ¾—kpÔ­�c`LU£ÏFlˆÉ_Ã¡žZu;v‘Ç‘Æéphù­µ¡³¦DÒP].sTUÇÔØ”v{[œÍÞ_nÄ[ícñ¥öù8³ý¤²Ä~Eiª¼[TùÃ˜BÛb
-+>W–³ŠBëà»[‡µP�«X‡Á8¾Äßüxúpeñ4JÈÝ´�Ú�{˜æ¦l^SSAD]£Q\ÓPm¯¯TTÔÕ)ËÍq‡'¾Äá�/v„âŒŽ9e‘ãÙØ½ŽË1ÇE�ã�<¿öy^Í?åyU¬â	vVñ}Œ»{²	ûS`ôã{/®ûÐž··
-©¹-žœmÉÔÐ¦á8ZóøU­…B[‹9ª¬¹BfvÕ*L.Wl‘«SYèê‹5¸Fcô®YE�ë„<Ïµ)Ó9ïHµÎHr›~/Énü,:«ž•eÕ=Aþ:·À<«`mç!0¼h…;ÛÑk»‰š:yT¿/†j=‰TíIc*=¹\ë>ƒÀÒY,4¹­Q…îêhƒ»IVàvËòÝ½2�{$Zë>,Íu�Êq_gw¼(Êì¸/Ô´ÿN˜Þú™8­…�Js±’T+ý<×Û°'Á2|3 ÔAžN¢¶ýD�Ýè÷qm«ì‰¢ò•õ¨ÉÜ“É˜zòx…¾"�ÞW™ïµ‹tÞq®·]œãëeù†D™Þi¡Æ»™á½‘æ½-Hí~‹¿§ë·üÏ?"Ô�¬0ÙÍŠór¼×)pLâª:äÁ½n7Ü.‘£�¨W¥’€€Š‚1´7˜Hú`*åsmPÏÍ	–ð²|M N�l¤»ù©Áþ×S¼”À
-79pž›ÔÿMÎnÿ›L¢ÿ}fgßß¹;zXþ+Øîe·»PÀq0ç"g/Ü­p×÷ÙƒDf\ôÃD¹£bÊ
-Å“&´›2Bé”ÒÒžP!“*eÔ¡jNRÈÅÙò0‰¡³34Ál]"Õè:Å�Ü¤¸áïQìÐ{¤ø)°Ll�åÄXî
\I×À2÷�?ÜäíÄõ¬î²¢Âƒð�¥NrhwXB‰áÚN¢íáR…u”0m¤øp9)Ãun'“…C$	/�xê	ÿÇv™FE}^qø73,¢`ŒQœXeÑ ¨Ê¨@±ŠÆW"Š ˆÁ
A”MÁÈâ£	Fl£�ûR�­66Æäm6ÓÆšZ›¸¤íIr¢1q9™>£œÄýð;³ýç}î½ï½ï{oq‹¬E'dYö±¬…ÿ‘gÁ}yå»ª?×¢•hZ˜#eâw
-ì$Ø#–J±ERd‰Z*õ¨`ö«2ª}µ¯|ª»ÈÛÙSžÎ>²:#eqÆÊìL”É9I'êÄ	çr6y
€í<råke×H¼Ûè‡±KM‹8—à•¡”Ãçô%äìÑÅäÀ
-)ª\
-c\
dDëR#uxQò¨£ñ«g¾­§©ïIa‡>ºl¸h8Ø(²6´!Ÿß�lö&
-o0†ÇÚxlXuý¤
Ä¸šÇ›òx?—x§À�ÏÃ+¥ApûÖJA¸Ð ù­•¬ëi_B›¬ÈaÇfæÛ-Ø±…&d‹ûæðm¢Èšn±ØÂŸ73Ünb˜ÝÈ€ºáEºÙõ.Õã•0‹P.�¦ãóä*òcáF4J½`vƒÙ‘1Õºö6ô
-z5[
éÒ×hwÒ”µ`G—Ý.Ù]Ø.6u‹¶lá÷ý<×Êó7øMó}­fËáæãs>§¬¦1yÜ(Â
-³;[ùD³ä‰4¹4;h7úzíuËSÚçÏÁ 
-¦1Œà""G9ø�QlG–ñ]ÚÉï a¹„èè|¯šUœÍÄz>Ï"ÎSð7±IŠÆÏ~0á=Å6ú¸Y¸@ÃÏè:†Ž#ÂË E`”NùÐ�ÐŸ!GÎö•Î‘ïq!´Rp­ºu¾Ãqö2º©•Äzéê‘8Ï ÆI;¨E¸Q0CHO–üa™2Ð)tý	�A¤ã‹{0¢9GçÝƒ’‰F™ý¹DÃîn¯Ò¨}Ét�Ü¸NàoàëØq�E¯¿£2b�Ç¾fãi|=nÜQÉŽo=av‚çáf�mã´¶ÉÍº€þ‚>Báe”’H{]w¯ìÏ·äÉ-õiÊîaÇ}
-ÿ>Eö€€?hAo0iY˜7�z4÷z Ž¨ê‹bÐH4‘él:3Y†î2cÞÑbÝf¶»¥&·r}+'ÓÓjæµý—)ëß$íMæ«lÞ5÷%ì~½ÄJCŸ!÷û‹èÃÇfÞ_ÔÙ`öÑ=
‚™ ˜ïn1ë~£4Y0æÃXcŒ0*p½ZW™è®0MþƒÉïïLgŸ‘´%a>"hçyº•[YÝ­÷Û^ßý?6üÄœù#sæwê3ëŸÕWk"Œé¬?[—•�ð)_Ÿ2c^T©>ÖJ|ªakêám$5¶ëô¶ë-æ4ÿ<EôNAqë��éq8µð×?;Áì¡²—5†Ãc*)�Šýs°)²�”Ì‡Q£Œµ«HÛÕ:É´{‚y÷¸^£töQB§(¥O(©¯u’[ûÛ^<²¡Íá7é+Üö0mðzÃïYx#)…$Ï³þLý;ŽbÇì8Œ‡T£Œµ�P×pdld'¶sŒìÖë<ýVÚE¢¶°»;!>.7ÿAÿ‹¶ô>//˜�aÂì‹?ƒa
ƒ1ÆDÖŸÆúi¬žÉúóˆø"0J`Tà}
ÙÐÈ1ÚÄqÚB†ÔVv¥IŸ“)·�K›“Û†ïúÿ¨ÄÞ}XþF|õƒkƒÙ^$¼X8¿fÅ±0&«Y)0Òñ4FŽ^ÆŽ­ÔJ9º™=ÙD,6r©làÉuXÝÈ~4àa=VG…­�ü"Z�îÀ¼Ùæ¿û¨9Ùvî“'Ü'ñ­'ÌpxXqpñc<Œ©fÀ˜¥õÔÊ:je-µÒHnÔ‹:ÕÂXc;QÙCÕ¼É.}€u7UI¥UÀ.oÓ×îc¥G×ßI®âµ»­�®…òe…¸½ð-¿¢a%ÀyÎ8ÏãO*œÕ²UcX¤jc¡œ¦RU™V©Ò´Vå¦m*3íÖ
-Ó	•˜.¨Øãš–Yî¨ÐâúY7áÂ5óÇê¡n\G¼oîÌÜÇõÓd5k³¡£Ö›{¨Á¦:Ï(­öªŸ‘ZÕnœœ¾“UÕ>E•íÓUÑ!Kå~óUêW þ+Tâ_­bÿF-óYKýw+ßÿMåù¨Å¿ÒÂŽwµ £ëg]íÊÑÄÕ"íAÍ¼ßB+°áiú+ŽÙF?o­ñïªšN½äì¡Ê§¢UÞ%Ae]GkEÀ-HVq@ªŠºe¨°Û<-µå)ßV¬%¶•Zl«×B[“æÛ~«\ÛqÍëvA/Ønh®í®ævs2ÛtæY®•Cá\ï\sMa´´"uñµ�´;6³ªlOª¼{O•öWIO‡Š‡ª0h¤
-‚Æ*?h²ò‚S´88]‹‚³´ d¡rC
-•RaÈYcÈ
-ÙlÈÙeÈ>f˜ü¾!-øšafÐÆÔ —15ÐerëS˜§¹ê÷Ò†½Š6Úá÷§ÅÂž•ØV�-¥!~*îÝ]…¡¡Ê�4äõ‰6,ê“`X6Ú˜–dÌ	›jÌO5¾>Ç87<×”^`Ê/5Í
-¯5¥…¿dJ
ÛišvÄ4-ì=srŸ/ÌSûÜ1O
uyLyæ‘>€{"Jz}=>jD5|®¤*Å¶’~Ìž}}”ß?@‹"B4?¢Ÿ1Ç>È”mjÎ²�0gÚÇzdØ'yÌ¶§x¤Ûgy¤Ef[R#ó,Ó#—[¦E®²$Û×[¦ØwX'ÙZ'Dœ³&õ¿jßÿ{ë¸~.ë¸¾(Üem…ytûÀÕº	Õ¡ªhø|_ä ÏÈÝ>ÐªQ�•ãTÖ 0ãÇólGŒGº#Á:Ó1Ê:Ã‘ä™â˜ê5Í‘ê•ìÈôšâXè5ÙQä5ÑQå�äXë=ÎñŠ÷˜¨ýÞ££ÞöNxÅ;qÀmïÄH—w¢ÝååÖ9˜iušiÿ6 ZTAVBÛQ€-‹±/7Ú¬ì˜'”û+ÍŽ}Æ˜k7Ïˆl™3Ô39f„÷”˜1>“b&µ›“Ò.)z¶ï¸è\ß11K}GGWúŽŠnð½Íwø�½¾	CÎøÆþ¼]ü [ÈÕ.Þ�¢\>†¹/^Úž@ jTŠ
-ùn1¶ä¢,žÉˆï ô›RzRú™“‡EY&ÇÇxMˆOð7Êwl\Rûçâ’;ŒŠKó÷?¶Ë<ªé3Ã7ÃH©;RE‚,* dQ`XCP‚
-AYâq%**¨(`eÜ Z·"µS­ƒØÎ9k[wí¦µË¨­­Ú±3g´ÓÎTgœŽhmæi��3¼�„pŸ{¿ï~ßï¾3}I|’“j½Ç%­÷NLÜá��Ø¡›xR«O¸ªÑÇÿS£ëÔèãœš8tÞ½�Š
@«Óðœü\Àg•üÍ–"2�÷Åij™’ÞO,éCebz¨K^z¤*'Mï‘™š¤ž`HÕ¦²|Rùºñ†"]’¡B—`˜§‹7,÷‰3<ëkØî“r@;:å¸&:ùMÔø;š¨qNmTJtjß"þ¾tFÿ	Ø¬Ir ;ïg�Ï4~NÍÀ{fºÉÄ¬Þ’—=Xr³C”YY#]'d�qKÍLðLÎHÑ$edx'ótc�“uzc™.Æh÷c\æmlÒFŸ×D_ñi<¦1áŠgDúm¯ðT§&Ü€RœÚÃðöÂhÁ’4da½ÐB4•¢©X„Æó¼<É1ë$Óì'Fs�"Íî’bŽî5./Î=Þ4^­7MÐÄ˜rµ£M…ÞÑ¦Rm¤©J3ÊTã5ÒÔ¨Ž0móÏÝï–{Ô}xÎ·�ìÛÁ™?©‡e8½†�^¿‡Ó–M/Àª‡µÍeŸ�ŠóD&å‹˜°m™Ìü/1ö“äÂI*®ˆ/å¢/ŒU�±$¹G[Ò<#r<GZ
-Ô–ižá–J�0Ë÷PKƒ[HÁVUpÁ¾^A“Þî8és×¡ùß«ò~r09=†ä:=;aí„ÕÌÈ»^5šƒÊ&âwàšáO11o[U2Öê+ú’AS$£K"‘ÖÑ.#­ñ®ÖU˜5S5Ü:Qbµª†Yg÷
-².v
´®ujmuRü²rpÑ[Jÿ¢Ë
-ÿ)ÿpñ+|èêgqª8ÝöÃÚJ�Mh9ÌùÖ•Àž4ßYLýØµ$¬RL¹Hd…—Œ°õ•Û	³…ÈpÛ(E°-Vd§´•Cmfå[‘r°m†Âß¶HáWQ¯X±Eú—¿$}ËŽHïÒ‹Ògúß¥OÉ�ŠÞV§òéb§Ë^X[°¦õÔºUÁ-§æ©°Í°�¥xØúx,JH¥«VùH€}€¶È3öPd�?ûX`7H{ŽôµJo{™øVÍ]U�h«6ŠWåQÏy]<f_Ï™·Dm»�œâUáTì†ÕŒê¬ô"šwú4Îìì™a¦Hül‘¨*‘Ðyx¿"ý«Uò´C'¾Ž�¢soG¨hÑâåHOGº¸;Ìâæ°J/ÇQV×°Á˜ØE;t²ÐïrñÜ é˜Þì)Ú)[a5¢š2>F6T;Ÿº�X¢D;¾o¾Hø"‘@‡ÈÀ¥"O-q¯õe�/É3xÔáqëxÈÕq¹×r¹ÕrÈjÙÐZ°v!—^=ÂW-ß“¸3¶ä¶Èâ..§l‚µ9P%5—"ìì¹")ÔwÜ ìª_­ˆï*BJƒ+É35âo6šÈ£‰`y4q¹5qÐÖ±©ëÖDÒ�Û†EÖ`"ë/eŠ^õ€ƒÀ\É¯¨d™Ð,~/†m&õôÅìÜQp‡a­Á{6Šx>‹!i&‡��D›Ècylf=¶0Œ´�G¼.ÚV[+ÍÜJÀ–þŽ¹ÝŒ¡Ýx^dÃ74Á=‘õNYC­5h*¯f
–à{I{õFÃ
iñ‡Ù¦çfe+ì­èy´íPr¸=Ev=ÅC‡AðŸ6òØ‹¸€ÛÙ“vš¹� {Ð¶�ï°»Ù�]wøß²
-æ4‡Ö±R³™šS©7nø&zfŸm"jJPì‚ÙÖ=ìr¹¢—äñðû2ÚÇ ¼_Ë@Ìø;†ÁƒäÑÉC·“KøMˆ¦:´–÷édr?ø1º)ÒqWêà.X)RAÍ…´oÖî‚îêâë÷ˆhá¹<âÐR˜
þB,+K0Z�
ÁÐäò&ñQäãÁËìËiò8Ë�;ÍŸp’ÄO9�£8qKjXëªõ<›¨9ŸÖMãéá†ñµÁèxn¯öpºèH�9Úmˆˆ‡N£³ˆ£‡áùˆýù´ŸÈe†Á/Éã:…º,ø×ìÉWìÉ5‚\ýXª©yk]´[$—z“_á,rŒƒaúf
øšâXçL�z§Ç�½�Î¡èt}Ž®!®¹IÏ~Ëùýž^ýyüÀY¹gébñ»¶ˆÜgS»:q9Š_|¯�çÄï:e
-E1(Y~ÂW=ÀÏÜÃÛý€§º+U¸Æ…rOu[VàUWãàå;\Ï78¯›¸¢¿Ð07pk_áX¯â¯>“oå2‘.ñ‘.¢�Ð¹¿ùk©ÑùŸÙ%Q0aa™áL‘¿á©nÊLù3þòOøÜë²F­\ÁÉ}†ãºÄ¡½ÈÁù”æý·x�
<Ï¢½/_óz�­rvë=t�ú?9t‰Ì>Ô@æ#¨+f
-²åK<æ%)&~5Ì’Éã<yœ#�pŽï‘Ç»¸Ìwp„g8¸§X‹4î1^ß&Ë7Y¹#PžÔáÿÉá?è;q‘¿ŠŽúüå	a{£©'V:¹[h?+íQN;Î¢-ç-ºF-»–¸ÍTßÊQÙÍ±9@o°+¤ƒŠ:ä!GËù+ýÌ¿‹n¡ëÝ­¥¦Æþ0©%–V2Œâ›åu)ä˜Xå5òx•<:Éã ytH
1W²�ã�²�‹ì·\"{ùf;Ùï¡;Ú¨´
âOèÿß=ü+èÃîöW±~¾ðž�B„(®ƒx8©T•Eü|®¥ÉÄ·¿\^$�vòh“jb.£úÕ²‹=ÙAnçÓmd÷U´Ò•[ØåÍPŸÔýîõÌÿ ç¸î¾~¼¨©?¼@Xá°bà$1FŽì”‰ÄŸL¥%t`9ŒÙ0æÁpw«°V6ðÚL&ëY‘uDmb?©¶jìŸÅ�Í
-	ûýøÊytut_¿*êó¥.xÁðFÁŠƒ“Ç(›$Â$ù�L…3�ªmp*á, n
¬¦C›yÝ&«Ø�•D®¥cWÐÝËYùe°kzÄÓKþÈõzÂƒk×�ë˜ßÛyíî~$©áöeE`†ÁMM	pÔ“	'ŽEê¥N)œ™tå\X‹áÔÁYG§>Ç»vVç5:æ·Êµÿ’\­±Mžgô|¾|þl'Ð'r!w“Ø	vœì\ì\‡ÄNŒsun¶IHB‚’—@�nJ¡-ƒv´�6¶U‹´uešÄºJÓ6m«ZMêÖíÇ6iê¶Nlû±•¶|;…GŸí÷õwž÷ò<Ï9˜a¦Ç™ýqò‰?±õþœ¥ìm¶ß»élI¶D–ûkz¶Y•’k}†¼Yä5’Ó‚S
-N*ÝXVyq\íÇ’Ø‰cb	M‹š1ÕLa^šÇœt³ÒâÒ˜–î`JÚÀ¤ôSLH!¦{ˆqÝÓÉOð!Kú¶þ�àµäçó
-ÛÍþ¾ÆØÎê58­MÃI}N$›plS%ÏÔ`1¥[Z1—À‘ÔÌ¤!nÁ´aS†#˜L[ÂDÚYŒ§]Ã˜á«5l`¿á]DD8í?N“Ÿ`È ã=¶Ù²œßek¹E\-¢ßâ÷Óy”9”GËŒåxÚf$2²°°Õˆ¹íÌd:Ïtc:Ë‹CY~Lfwb"»±œÆrb8�ÇHÎ³ˆæœA8ç*†r^Å`ÎwÐŸýú²?Boö¿…žlYèÎzŠ_�÷­Ê¥	[þE>O—’›m÷ãY¤$YØ¡ÃlîVÎ+ÀT~T!VX‹ñÂF(jÅhQû‹z…Hñ°.> OƒÅ‹Bñ)¡¯ø²ÐSt[è*zS=…¿WtþKÑ^ +ÛóŸâ]rn”óX(µ¬Ü{>WvQ[ñ·yŽÍ2¾ÃF‡ŒL”äb¬´#¥BÔä"&·bØäUšýŠs—2dPö™÷+{Ì“Ê.ó¼2h^QÌUíæ›*Ÿé[ªVÓ�U-¥ª¼%UÞ�²ú	Œ²úù¾]AIUI‰WÅ= –øy�¿Í0ž)ŽO”+0Vž‚K"–baÈZ®°Ú•!k­ª×Ú¨ê¶¶ª»¬uÐÚ+¬a±ÃýÖY±ÍzBÜk=/z­/‰Ë]±Ñr_¬ßõ[Ñ]þO�»ì±Æm–Ÿà¾�ùH)üåßJ¯b‘ŸgÙî§KŒã£|F*“0dß†~{úì&E·Ý¦ê´;Ô»[l·7küv¿Ôfï’öÚµ^ûm³=®m²Ó6Ø×´îªÚÚª¯k«+$9+?�¶O$GÅ’Ã*K‹,Ý#×Nàz5ó †÷�˜'h›c<£Œ'Ìç€S‹¾êtt×ä"XS¢è¨±¨üÕv±µºVj©nÔ6;[uMÎ ¾ÁÙ¯w;GôuÎ)}�3¡w:ŸÓïq^×ív~MWåø�Öæx_kÛó­m÷ç:›]ÖÙªdÝ÷Èu§–ùPœqñÐ¢Ìùy”¿
s¬ŸÏn—Aw*õÙð7­õeJo}¥ÚãvJ
îz�ÛåÕ×º:’ª]½IW$i�k2Éî:šTé:£·¹®é¬®7´–º{Úòº÷¤²Ú¿kËª?Ó•9å'Øàû_!çz=m­ÉÑFî1NDø=DtÑ*<|Í›ÐêÝŽo<^“¢ÁkU¹š÷hjšë´�G·Ûã×Wyº“lžpR…gBoñ,èvyVµåžç%³çu�©émMIÓoÄ�
Óë?“ŒnYktÉº7É}“|<ÌÇfÚBb’!i:‰ö½@+¥q³O‡F_:êý¹pùw
-5þ]J‡¯Jm÷Õh*}�RE[›ÖÒÖ©-oÒ–ùb’É7§)õ�Òìl»*Û^Sµ~_UÐúkeþÞ�UyÞGbžG–¾Ä7È}ƒ<k-¬äš!ÆÉ&úhÛýô�@S€š?¨FMp�YØÝYˆªN³`ë´)-�NUy°^mîKƒA±$8 ƒãêâàUað¤² xE™¼£Ø±ï-ENàWBvÇÇŠ,ÿ#U¦OVg¶Éâëä|ž|§)½‰)rŽƒ”À]än£]ótu=ô=}€-”k(»B¹(í„©—PÚ­0†êE!¯² Ô¡Ìï)rûG;B3BvhYÈ­c{ß«ØÚû]¤÷üéÝEz×§BzPV‚²òò­“o…|s\ëÄ>Þ¢�Ür·�»žÜŽúÚ¥Ò°ˆâH
-
-£ÛQÍG^Ô„Ühr¢NdG‘õa[´Ñ(Ò£Ó0D–�¹€ÍáÛHÞ€~ègÐþÉýÿErHFrŸ,¼L¾sä["_¼‹~«›¾—è&·�Ü�ä®¦÷ŒÐ÷Ð¢ ïˆi±-–ŠŒXÒb…0L˜‘:Q…”‰Zlšð")¶ºØ¤ØÄñ£P�Ÿ…bìEc4i£?áeû„èC("ŸC–q�\§iK�’o’Øb.ûÈÝÂu×Eû(PNkRLëš}H›¦ÿœÑAšIƒ8“
ÕL1”ñr(â,6q^ò8/Rœ/�3èÃ³ÄI&=Í4ÍÛÔ}ýŽþ	Ðÿxùd\"×ò ë"1NÎ0ÑÃuûÈÝHî=ã€å `œØ‘ÎW&ÏªE‘h3A�›`ÓO	öZ‚ÉœàÁ&ø²Ä$çã"/4‘4ŒsïGÃì§L‚Ç8Ë=~–|ÓÄ(1°Ÿ{ÀýöÆxü{Åaú>òæ’7c‘Þ�vQ}œ"k™bk…žre›ü6Š€SŒc•Mf•…o•‰¶ÊC]åBVç8v–ónr>Íë2•ã	ªè%îÃ’Œ“Üãyb’ˆ=Üï6®ÙÍ5Wñ¯&òæq´ˆÉ+ä_%ÿsÄqŽqœ§<ŸòTô\ä~\bëŒc�Åo�‰v™}™¸¾Ì±8ç›œûÿûg¾ƒŽbí1–8<ËõÆˆAžs€knZ`p½eäÍ?l=C~r*/�w�¸Bðx)pÙhˆ<—ÉÀ‹„/Sø|…Âã…À-ü[L¸ÛÜìÛ\Ð­sãyÜ¼Çyp>Ïãú#$fxuˆNéáš[—€Z^!+y‹ÎÛÉ¹éÿ\—	tTõÆï›™7ÃÀ¡,ÈB–É2“e’Éd™$d²M2!„�²’’@€$@E„@•6²­ÛAieX„Ù«"X¬<j=ŠJ…ÚÒZ…ZÔéoâ´jç;Þ›¹ß]þ÷þï·™úûø^t±#ß.½[&YYYÉÉ6r²ƒÚì
-f1Ã�A€A†ð^j²�ï%{qzðiÞ¿Â…ýø‡ôõq?s#1Ws!ñ:à�'ÎP8ÇPBý~®§G¹€
°×/0‰Øò‰–s�È99LmŽF±(rùŸ`ŸäÐŸ$É'!8‰ó'P1'.ˆÿXz©ñœµÌ$ÒT¾‘^ÄÍdâŒâk¦í"�>¾A?Ï0ÏúÅÐQpÜ/N|é…a¡&r–ú¼ÆR|�³z‘º¼…ïÒ'oôeŠyy§È¥càœtSãM'f÷z‘X-»ÉœcàSaïˆŸç9?cá+HH‘Ó>>¿H:þ.�wÁpu”ÈuÎê
êòÃ4ÞÍå€dAr?ßÿ?ÍûF€`ì`2(E�UËçhªÒ†6ì”¿ e®¡/?A)ýusõñJäC”Þàû’÷(ÖŸHÔÛ8w™o^”¯qÑ;Œóà,xÙ¯yˆ;ä	’/Ñ™·$In¢ïn «®¡1¯Ê8±ßŽý.B]„ý»Ðª+ä-ü¸DÓ^Dß½‰2{Õ{ÅxŽâýžd�áW§±ø/úñ8ñ>|
n‰Î±ÄF|ñü2
¾ÉòŽ”Köë°?õÚNú»äUòq?NãÇËøñ~üŽ~�&zžƒ|’\‡é¨ü‘ãsCÁ4ô=üž_�¿¦¼#‰m\Ñp%Ã•W<åø?MNI=14a¹]ŽáÇQü8Œš<„ÂByþ–v€!òŒ<N»ìà8áÉYZéªì–Û´•÷ðñßø�Óë@<ãášDñÄa‡'‡V(ÂþìWË~üxš|ìÃ�AÎÇüØE>vàÇvYCÿœñ#äIFÉ>*ó<cå¼ú'#ÆË‰ùßøã\ðõ¢%¦ÑpM Žh,$Â“AyTØ-Û¤ûÕØ¯Çþll·c»ÛåYJV2>×q*60N##»d#™ÚÃTyÖ¸ÿ‹›þºào»Ãþq³G‰i<ñ„ÃW
-\Yø�G	zà˜NÔÃÑG;ö»°ÙCw,“õÔä~rqß\‡•µDÔO5×pªWsêVÃíÃ½àSþ_ô�ß8Ú><†uÄ6š¸‚±W<iðäÀQˆõ28*á¨áÎ„£Ž8º±½DV‘‹{xs7¿ü)õXNå–QÝ>ê±T>ÞaÜÞ÷�˜#ŒûA-#Yóí•à»6Ó§dœ¡ðÅbÑW<“á)†§ž*xjái 3Záé„§ûËñ¤_c¡‡.$³¨r7ý1_þ*ó˜8]ðûp)@ä”‘Q<š«<ÂXÛ4‚ëÕÀõ*
-¼#±t'œðYá³Ãå„+®â¨€«Zz©I5YD.ð¯›·ó”ÕÒ©È\¢êà4ùº¨�	Õ¢\“Í-iÖx‡ñ:Wÿ®Ü�\1�³Šlâïý¬FýãX7ðg•A••š1²B"}jŒ,Ñ'I¯!]zreá…² °LæN•y#j¥ÓØ(s�s¤ÃØ-íÆ¥Òf\--Æi2>&�Æ=2Ëx\ê�L˜‘×¥vä—À+µF¯œ†÷ÀDjÀH�ëe=XÃç•<[Î»>|Y:*P�2É¢EH÷‹Ì›*�ã²ä'ã]Ò1Þ-íAiš.-¦YÒlj•Ù¦yÒ`Z"3M«¤Þô©5=*5¦ÝRm:&UAoÊTÓ§Rôðã|{#Y	¸f7på¯5³^ñ·�g‹ñg+É‚«2ÿÎ±Ò*b¤}b²´†¤Ksh®Ì-”ÆÐr™V%3Ãê¤.¬YjÃçJMx¯T‡¯”ªðõRö°T„í”ò°£Rú†”„^WJBn+î¯âžèUŽÁ½3–sÇJOþ-¬  —ÿwãOïçNâ~Ÿ4JZ#‚¥)2J£¬2+Ú.õÑN©‹v)3¢K”éf�Rm®QªÌ�ÊTs‡â1/T¦˜W(eæû”óCšâèíšÂèÃšü¨óWÔ5M^ämm^„wÏÂÿ”•:$°&²ß
–€îDÖožÏÁ¯V¾Ó(
q&©�Ÿ$µ–8©±Ø”jKº¦Ê’«©´j=Öríë4m™u¦¶ÄÚ¦u[»µEÖeºë:�Ëò .×²M—H—N—÷‰.3ößºÌï0Â³•tkF?+Ïr°ˆ«¾´ó¼_A}¢Af$�“êäP©J6+•¶Í›][fsêJm.�ÛV¢Ù*Õ[­ÞekÖO¶uéslKõN[¿>Ó¶YŸžük5-iHMMzMMI¼ª¦$|©O±zõ©à7ðl�w �:88 t€fž5àK-ï«íZ™š6Z<Ž	Rîˆ”R‡ESì°ij¾#WŸç(2ä:*ÙŽš€,Çì€Ç\ƒÃ±Ä`w¬6¤¤mÔÛÒ~¥O²Ô'Ø_U­©«Ö”é­6¯!!Ùk´‹<
-ßúzyÒ›E@+Ÿ@-ï¦ñÎÃçò,£”8MRœ.Ù±ŠË™¤Íu¦©ÙÎl}–³À�á,HsVØ�
)ÎŽ€dg¯!Ñ¹Ê�àÜ ·d=©ÆePc3ÏêÌ©æô[z³Ãk0§y
;‘g¿ÄþÏ�%+²‘e9ä4�z0�gH…RÖô¢¼Éw�“<Wˆä¸¢§ËªÉp¥ê®L5Õ•g°¹JÉ®©†D×LƒÕ5Ç`qõèã\÷¨1®tæ¼'tQyÏh#&ŸÑLÊýPž}S
wzõáY^Ã6¸7ÃÕG˜ŸÇž��5 ¸YÏŠD&ëÄé-™î`IwGˆÝ§¤¸“5Éît]¢;Wµº‹Õxw¥ë®ScÜmºh÷B]¤{¥6Â= 	/Þ¢	-Þ¯„½¢L,¼¢LÈ¿©
vyuÁy^u«OÁyo>ó®NÐŒ\¬Uð–‹ä#ÛrÊØw‘MöŠb«’$O¨$xÌbñ$(q»&Æ“­‰öj#=ÚÏM¸§EæùÙeõ}†ñg…QÁE]aYDD£ŽF­V¢ÆHåp¹vØå\¹A0PÔD×´QcDMt¼â1±ž�›4wuŒ5%“q’Ô4±vl›T­�iŒn?kÖNÚþñÃï÷{Ÿ÷ú¾ß÷©3²5"çxd™ó²"Òk@ê2§\–9ù¶Á<ËÛ­’7`ÜøZà«‡¯ŒÜðÚXƒg¦ÿø‘Kã2¥QÙÝ5Ü¦xû@ÅÙc5Äþ˜;ÆÊêHP4‰‹r¤h Ã.‹£Háö™íKÕÏÞ®°ì­
-Í:¤Þ™ïªWÆ
-I¿¥›W¡s¼†Íð¶Á·¾Zb-�3d‚TâN„û‰,â·£ýrÐ^y’ÕÙSQÎþèŒR„3Ná®Q2»~¢þ®©êëJ’É•¡§S½œ
-v.RPþ*ó7) o¿ºå¾©n9Ÿ*ÀqM�ö{2f{µ®•p5k…M*9ð¦ƒYÄý$ÜçJcà†T²¢}Jdr÷Vˆ{€z¹£ìŽW÷huwÿTFš)À�*C)—¢%Jë	�W‚€*F¼±%¢5]_KÎ»Rþ­ƒ«®Äêù ;›À�wB>ºy4¼HŠÁdD™dª�‚ªƒd¨á²¯á¢­áb©a˜Ö0èj|‡›ÂVgœ®®¦É“Uˆ×JDcÂ©üEÇ7[\é}µÁõ.Wƒb�ÒáN‚{
-Üã‹Ñžó¤Áå’ÙV+õXÀ‚Ó€®\È¢±=×ˆÆmäRiâ’ib¨5qÐš(n#Æù¸±‰÷Úøf@ÀÕŸå"¼Ê0$µ^-‡«Á‰k 8@
-ù~ª„ó¨J)^¼&$kÌ±ž0ÔÁ24å2ôm3|K$C.Vjå‚YÎàkåP·RØVrÑ:ŸgÔ£e#ï"$›Ù\—²Å/¹…­ZJŽç«äƒtò=ƒ˜Há˜:)Þ�‹ˆ	ùo†÷g`x<VáG~¬Æ�5ä£=ö‡ØÃðóP‰ö�Ž¯EÜ¶ÓkÐº«?ãÛ›Øø^MÄZJ€ƒ˜“k˜´Ñ8âoTü„äã$�,±ØÏd+‹.uÙÐSÚÈR¶‰þx‰þè`è 7:8l[HîVrÑ�Ó/óüuïÓîªÎJbvòJz}ø5 ÞÄ½Jêg��óç—\8ü/¥eñfù¯€í¾eÜÈRÊrº‡åðU–Ÿýäc?ƒø‡î I>ˆñ8¾oÏ©ÇÞKàšsi#9 UÉÄ<™xGÃ;˜8Ípû8;ü|>ž�`·_`
-ùâ#?ˆ‚×-§#,ÊÇûJ¯G³¬²˜œbwR“ÓÜ	A'ÆNCÌ|.«šÞ*h•2HÓÓk™Eäv8¼‘¼ºC2ìòóí÷óò‹ L üàñ£N?Þoù"á,}rž^½À’ò.�.ú³‹"wÑH×IpNeä;—\§®§ÈñãÄËc3œ=|qiÄ&¾ƒÓ~žß‚·Á»à}pœçý¢�1¤K>KŸ\¥W¿&×¹¾åÀÿ“¤ß ØkwýÄCÍûßè"@x\ß£%¾CëÞEÛÝBËÜD_Þ@)øTÊ7¨‰¿£fþŠÂ¹Šù
{…F½LÃ|…RûEºD’>×‡ú”·>Ñ}Ô…W�sà}ð6øºëÚê.:ó¦FÂ7Q×Ñºß(+™ðäÁQ¤/U†ý”[½>Ã�‹øñ	~|Œ"ëB�~„®ù½öÀ~÷iú£>Àê{~Þ·@'8ù?>Üßª1šˆ'®x¸Æêrñ9ó¢ÒàÈ&ÕyØ/Â~ö«±_�ýEØoÆþ³”ÉC¹^¤lÛ)ßAxNÑ6Ð³×åËüqp‡~äÃmðp\TOb	‡g0<#á™ ³z’Ü%Ñ½‰�øñküøu9ŽÇP”Gðã0jðªô5óAjr€C´Æ½|½ë»©ì.a§ßnò,b9ôµ˜‘\õÕo4®x¸ÆÀ5	KOqôfs<lØ·sTòô*ý±?ö uwáÇNê²eº¥ú
-5ÙÆÏ­¼ÝAV6Ó/‘éM°¾ø#üÎ«cç(ù[þõ‡Ç¡7ñ„óõ`xFÀ1ž&Ói‰ØOf4Ù°ogTåa¿Ûó°]­�Ôe½–0>WÐ�Æéf­ãkUh'«ítñzs
Ü�pÃÿÿÑóEn¾
-"ž¾ðDÁ3K£á™ˆßSá˜�ý²�Ž};öó´–º¬¡?VÓ§mjä*i¦3ÚèÒõx³�Ìü’«æ*õ%¸ÃSïðgÿ‘>í?{üã°CbêM<ápÅÀõ<cá™„åiT|&)pdÀá€#ŽbìWh™ê¸V“�•Tæyºd+^ÐBX8=õD^÷#\ô�šÃþ¼Å-ø®‡µœÓÕ
-ƒ/kqZ®Qp�‡ç	x¦Ã“S<™jbv4ª7vkèŒFÍÇ«Z²_M«èš
-ºªœN/×ßÈØwÀK½:o`rýîcÄoe¤½Úƒ¸VØñð£•3Ò"3|Vø†Ó¬O$ž)p%ñl¸l°fÃ•§JrQÁÏrÞ˜G¦ÝDQBF‹èØBN�‹®s1eœL¼|=^½ça“´ƒ+fƒo+ø»%”ƒg‹á
…×g,|#à§*C‚*»MSyÀL•¤Ê˜©ÒÀ¹*6ªÈX®ã¹ŒK•olS®qƒrŒ;e7Svàe¿R¦ñ&¸¼z¾¨�EZÇõ²,c¼7±4àÏü«RmP?URyÏxÍë5Z¥½'¨$d²ŠBU:[®>69Må™\šk*SŽ©Nö°¥Ê
-kSFØFÙL»”f:¡”>ç”Üç
-¸­Ù¡Þ‡8	×î(V
-®ÙÕ¬„-¾µ�¤ÎÊŽÉÿ+ñ­œu ¬oˆJûYTdŽU�y„œÆ*/|’rÃ§)'b¦©ÊŽÈR¦%_–RÙ,µJ³,VŠå9Í¶¬W’e§fDSbÄYM¿î¯¦`f²jì€÷CXÏ†’ÿxVN~WÅÁËZVŠ/E¼S,g¤Y¹QVå&{ôheY'(Ó:EéÖDÙb’•“¡Ô˜¹JŽ)Ö¬˜jÍŒY¤§cVjzÌš³CS­G5Ùú;%D_6$Dß1$ò¢¼†CðlƒÓ3Œþó­Å¬>µ Œ¿‹ù_Ïòñon¬QŽØ0e
‰TF\œlCG*mè8¥ý7ÙeÞt}ÇñÏï(B¡nØr´ÔÞM�¤mÒ#¥mèJÛ”ÒPh-¤œ,R@¤PBk(Bå˜È(·Îy¬È”�¨L “‡M§(Îæ‡l�,{¥„çÑí�÷ÓBšÏûs?ï<Åa(RÊ
eJ™a”Rjp)vCƒRl˜¡æ«6Ã25Ï°FÍ5lSs©f%¼«f&\P3ãoª™q>53Ö§í%îMð­äü[Â©1�g~f:÷%?‘O2\H‡šdEœ)!R•:X*Sc¥Â˜,eÆ¥Ô˜£Ú�6µØ8\+2UjÃLc´Ó-ÏäÕrMsµlÓR-Ó¸Z³·j©/ji©o«Æ”ÏUcòwš)É§›>½þN¸Úá]d¦€©ÒÆó{m7þTñ¹#£�”e�Rs”ØÍ‰Rl1)Ã,Yj�%OË³ëC-ºÕ2:(ÛR”i™¦›-sôtËÝdyBK5oÑ’Í/hIÇÔÄôójbÚ
-ÑäÓ
FŸ¾ûOÁÓŠ4Y�…LBL@-pò#ù¬œß‡g÷’âœþRh"6kœäYS”\«YÍ±Zµ,k¡n±ŽÊ°V¥[Ç™¬SôTël=ÙºX7XWi	ÖÍj|Î56ç-%&ûS%:ëºmñéÑfŸþ±>	Ï£9H!+RY0	Œ5`$1T¤$�[/_•ü‚Éµ
’[ŒdÙ’‹-MÍ°eki¶Íh®§Øªôd›K7Ø&k	¶YZœ­E�µ­T£žUî/Ø¯É?*yŸHÄÐëjx®O·úô-Ä÷8ÜKà™Ït$ÁPËI>
-”ƒ"¤[A‘H.çqVI1—„I†=RÒì	b´•{¦’dÏSí%j¼½R�³�Ucì
j”½Q‰´/T"ì+dpÉ&X²O‘Ð¢?KXá5	³ù”°Ÿº‰8;à\d£pMãÉ¨„·Þ;šƒsÔ‚lJ+’”ŠŸHRÅ`I¬ˆ‘xG’Ä:2$Æa•(G¡é(—!Ž	wL”AŽ™2À±@B+Ú¥ùF¹·|�ô+{SúŽø£ô+ý»„ØoKH‰OÙ@œ­ð=ßLø<ÈDo9(†{hñWÀ�d2T¡=ªƒ%Ê&‘ÎH‰pÆË`§Q93e€³@Âœ¥rŸ³Z~ê¬“§W‚�KïêVéU½^‚Fí­ê ¨#ÿ Zåe	r|/A>YïR¸ærþO‡¯žXk@%(…{ÜÙ#Ñ=H¥d'ü5"áµº„ºC¤¿{ ÜëŽ’·AúºÓ%Øm•Þî"éåvˆî®Õ…¶r!à\ˆ§ZDÓXËDIÍi†�ËÉÉé¼-«àm�kV9;	>7¨ú�¸‡Âm-’2Ý�TŠ‡þ«	öôÝÓ_TËÜÃ¢õ0äÚCa=õà°�9ñA€p�°
- œê¹êÞ§àøàþÿnI\ó‰ór<ŒU nÜYcEŒn‘øñh/L†5ˆô%<mÚr::ÊËÃæå¡ó²L½,:/Mî¥¸^{]`÷°È4„Ü´§|ÄÚDÑd®§Iä¡á¶ü¬š½×T0ÔZJŠà¶Â�FÌ	H£!ð†b®¯þ™�h¹Y}Xì<¬ñðÎæQiâ‘™ÃÂ™C£7Qà&rÑÄ—›¨ÇlåCˆ¹Y»"­ñ3¥,ƒÿH3ù}w%”j~–’ï<b6³aªH$¼¡ð#Yµ&øç‚ùà�øÑŒñc~´ðÀ,f©.¦&-¸…@Z0°}·�Ùü<ßár]À7ÿ¸%sëH±NäçXÀHÉ°I"™Äœo¼asDú�Nu¼˜â�ã‘KÁ2ò±œ#¬•£§�G¾�¿?V²|W0èµƒ\t`¤�z<FO´½Ìß£"ZÿÊ÷ÿ%³à›J¼u zŠˆ—­´‘‘x£áÐÿâ»| 
´ƒ`UÏÑÉñžä \Ó�c�þXOtR—�,ùN®“o|€ŸKD6làóü—üÚ‹à¦ÌœN{€ÚÌ1�çtâ�ƒw %ösvøVŽ]ÊÊ‰ˆ]°©ç¿so!'Û¨ÍsýEv0/;ñ£‹G`'ýÙEqw‘‹®•ü{Ÿ£d¶Ÿçˆ¿*3Z¦z³HÌÙäØÀ1AœýžQÖí§<[cŽ ºsˆûÅm†èº#LöûE}ò9y•é¦.Ý<ÝÛë$ú ÁuwŠ¼†’xõ8ø\¦Ò[.j\A®ó)W¹�†÷>bÔ7coØàÛõCž€ øx°z8Ýá‡ÀapŒœçX<Áî8Á¼ž¤áOQäSx
-sŠ/�|O<ä{4ÜvbÎ&^y
çã¾~ÎÝ`_€ï¥×¯‚ì7ax¼Õ#RáF¿h:>çÙ#_Ð«9„.³”¯Ðô—ú2E½É•Wz4ï�Ñ„�`BäÊ-ôÌ÷hªÈTAªu²\EA|Ë•ÿ
:â
-*çƒò
-ïK”ßšå<	ü„}$ÝrNN ®¾–³X:‹ÕÀ»àxü¿šÜD[Ý@[]GÓ\EK\EÏ|ƒ¶»,£ä"úò”É§øñ1~œÃ�ñã~œfxN24'ÐwïÑ@ÇÑ5ïP°c$ê(ßø-–ß„Á�×ÁkàåÿñáŸà[ð:óKL<qò¹8�®úó)‡£ZÞÇ�ãøñ~C±Å�#,®Ã,�7ðãƒtPÖR¶Íðì¡„i›3xó7y¦À~°t|¸®ƒKàcpVî!¦Pù½DÁ•Dxòá°Ó,:±ï¢
ë‰c­âÅv£À�ýø±—E²›aî¢&;iè_ðÏãñvù#õoù9¬~l›>øc¿>¿ëi3®b‡#FbÈÆ-:û•ØwbÛE¶ë±=	ÛÓé€FìÎÃn+£•Õ±šòØƒ7‡ñs²Ž*¯ƒuíp-À:ÐâÝ�ØKovÑ›;ä~8ø�G®l‘BÖD)ö+±í”Nê²?žÂ�µäc
uYÍcò8zw5YÁ'+ÈBÑ´SÅÇèª6:½
î»ø:0F‡£îÿþ•Go>ƒÖÝH_¬—X,¥Âa�#Ž"8FÀ1û£±ïÂv=ö&Ërút™4ÑÍLÊr<YÍóâÏÌ>YDW.¤»š™°f¸ïÂ_ÿ·¯qßYƒþ¼®g5÷�'žHbH„ÇO6–óåQù/Ïeuz‡ñç7 ‡r(Ç#03Ã1ÂÈ1ÀÀp
çr‰È±â‚
-FêÏÕÕu·ºÛ5nS][³ní¶é±¶éÆv³mÒ?z¤M�ÝôH›´Ù4M¶v›lšÆzÐ2íOæúÍû¼ßã}¿ÏSO3mpX€õwkY“ZÒœQ“E~]Ôy-°â:cž,ï×/©Ø}°úü,”ÿÛOc_B#é´Â‰)–xRàÉ"–|xŠÙ{<5ðÔÃäƒ£�È»á	Â1Æöi†OÓ<½��O±ê$ÝC¦'è¸q}€Õ§ø!\_[áð3úÎs­�[Íkãò}±¤Dø¶Á•
W!ñ8Ù¿.\^¸ZàéÔ^zc5™€qŒ'Fùçn²6Ì}1H†ƒœœ~NX?õèç¶ë‡¿¼÷m®õ«Œ˜›Ïà(mi#R…ý,ÐóÜÏh«f9«Óôç”Š`)ƒ«Š8jákÒ5ÙM.†`äÛžîgç½T­›»³‹žè 'Úé¼v: �Óè×÷T#)a}ìŸaÌ­€C`žÏsñèL~ŸŽˆÐ”)^{Li³j4¼@»7k(Â¥Áˆ
D6¨?ªE½Q]ê‰P zL�Ñ3êˆ>¨¶èãj�¾(_ôëjŠº£ÆHn™ˆUù1x¸³é8/šñ{H�%dÐ<˜æó$#oœq3ÆGc¢´;f‹c34—«¾ÍõÆ—©;¡J]	µêLlV{b‡ÚûÔš4"_Ò´š’Ê›t\õIU›ôº<‰o«:á}UÅÿ|�U½•‚4€ïœ…úg‘dúØÃû¾b_AäÈ@r˜ú¶nVwršºR¬êH)P{j±üi.µ¤ÕÈ—æU“Ù¯Fs�ÌÃª3Oi—yAÕæcª2_�Û|MiwT–öžœ©¿L¢”'*M^Õ-8®Àuf;RÙ3�ä˜£¼D®÷±Ÿ~�›Žôµe$«Õb‘ÏbSS¦CÞÌ25dU©.«NµY-òX»TmT•uRnë•[WTj=¯’¬«Ú‘õe92¿¯BËoÁ'†=ã‰aO_5ÞÈDžÁÞÃyôc~�>>lp³?Ïø²#Õ”�(oÎ6Õçf«6·PžÜUÛ\F•ÍcTÚš—­Ã(·
¥¶	£Ä¶ßØa;j8lçŒBÛkF^î[FnÎ÷Œœœ�œì9Û¹ÖUÓXû"<ÏÁ¹X¸nSFäž×hç»~kõaª-ˆSMaªvÚ³TiÏ“Ë^d”ÛË�R{µÉio0;ÚLEŽ>“Ý1f*pÌ™òGL¹Ž³F¶ýs†Õ~ÛÈ,¼'KÁà¾aÉl²ä­š®Á©µßìÉ$Ö`YÞ:xß¼|_Ëk5ßUo”«d«ÊK2TêÌQ‰Ónìp:
‡³ÒTè¬38[MyÎS®sÄ”íœ5Y�ËF¦óŒ‘á|ÕØVò¦ÒŠßUjño”ºã¾R‹©ŽUÓkðŸ…ãë?SÂ9À2 É»@+hµ 
-WJ+"UìJP‘Ë,‡ÛªBw¾òÝÅ†Íí2rÜ»ŒíîfÃê™îa#Ã=mlsVšû´R\W´ÕuKIßUBù¯”Xöw%•>2’œ«ÆøOÁ}ž™2Î<½ÈñvÐê\h]¬[Y•TŒurT‡)¿&V¶šdåx,ÊöäÊêq(ÓS&‹§ZéžF™=�Jõ*Ù3¥-žƒJôœT|Íemªþ¢6V[Ñ;®�USLåmr¯ê%â>ï|{á¤x+ðÂë®j|–ÉŽ4¶!K­
Ñ²4$*ÝkÖ6¯UiÞ¥xK”ÜX©-�õJô¶)Þ; XïÅxŸU´÷¸".)¼þ†Luß”QûS™v}¤pÏ¿´¡fUà^�o®	âì‡¯4×�°î²Z4½”‡e²6á=|áJn�U’?Y	þmöç*ÖïPŒ¿\Ñ~�¢ü>E´ö(¼uTF+¦u…Æbú˜ŠÍ‚&”Rã_õæ}¨³ð.Ã5×qö?œ^àn¸‹áÎoÆ{µHé~ü2¶+JQ�m¤)¬Û*S€ƒ ¨‚	4
-``x¼.Œ[f­ãÐ�ÏkG-´ý"öÐúP'à\$¿{áä¯]ÀêÁN¸Ká¶Ã�Ý?Ë&¤¸)¢Ÿ!d¸¹ÌÓ×/´AW�¦
-P�?ñ™A¼Up‘FÇ¼
à¯úQI½ïìŸ¤îOÁc}žýäw®>Ðšø¼‹×
-lb-·KÊè†Ÿ%ã¤HÂÓwtãú0ãÂç2�à¢›àOÐT1ÎÇñ4ãÙ1ÔÀÊh¥4r�à€<=ÑÛ�&¿Ã øámàµŠ˜Kˆ9¯W²À›o¶5b~BC,p©“‹}ýißCe–!3·vÙÒèsxŽÅæ‚|O=fñV3˜¹iŒã>TÓÔ¬ñO.¤Ç:ÐÉ’ º€xˆ¹Œ˜ù{¼Éðnš”6LÁ;h3D—X`‹øƒìãƒv‰},ÓËÔd™"/‘‹%8L=�å9Lì"ÊqáàcéÙ‡š%ÎQÐ:¨s¶ÔEÌŽQÎñ¦ìƒN
-[ã\ÁÒS�Å�+k‚‹º<G]ŽS—ìã$û8Í%ššœ¢¨§æä,8Ž@x…g¿"Ãœû+ø·öÂ7<H›ß0÷ñ8ç€<çð—Tx7±}ÓRˆoMÜ±"“uÁð|H|¾`0x"ÂôéË’ËÃWØÇÞešê2ö0¿Q�KxÝßãyúòÂ§š MCÄÜ1Á}@Ìeä9�xÍðÆ…�ódˆï\Hð¾^
-‰ï+àÕ�¿
-®‘“ÏS›ëœ—›ôé—¸ˆorènRÜ›$ô&Ü ×ï"âÍ³÷5AÌ½´L3­[EÌrœI'ç†çCœ—B|¤+OÈ\o„É­�9XèwÀWÉÉ7ƒwÙÇ]zô¯4×w(æ]‚xçMÅ0TÔ0ùîàë:r]JÌ9Ä›oÔË!Î«!Ñ#Äõ?ž53ôvH”=dP¾C*Ý[3nääGìã'¡ÿ—ë2Žº¾âøwCICŽ
›dsl®%Ùl®Í±›c—M²97„l¸Ab¨Ü* ÃMp`¤ …ŽmÁÁZµÒŠ)ÖŠuÔb+Xik¡R´
-”^be¤00ÛÏ†uÆv˜/»ûßìû¼ßû½ßû½ÇÅs’Ãö‰}jÏ¨W¿fªzç„¦Àn‡]OÊ–à^±MàkÃæá¯ñ^ŒcGÑP„õ*z
±½bYÃÃé¦w©¯³
-çi�/Ò$|Láý„¼´±ÐËñòO‡gÞÿU4JB™¨U!I›þMw~�‰àŸtñ§H\¥Ó¿Â!½Dÿ	“ÖÇôñIÒL…çØ°³íþ“Ôi~ñ[,�Do£WÑ:Šþß‡[è³Õu¥ëfšÏ˜%þ&7¬&8�0zužéáÅYüø?~‡ïãÇ)üx—CóóÝ¯HÖ7µ_¿$€¯óÿq}ÄöÜfCGÐóèÙ¯ùpQ9á&f«¿È'GgˆÅåd-�¬Ã¯ß0�œ`jy?ÞÀ�×ñã8~ü?^Á�cŒ!îKÌ5?!�_Ô!½ÀjŒ§ÏësÒõ.÷iôz2âCxíÿBÑ™ámgëÈ€S£F-/ö[±À~�µLÅö,lß§çðãYüxFßbÖB„±Æ>¢ñG(•K|
-1q…ô=ô]´Ý€y�C'#iõÊpŠÇÃHÅ~Šð¿B?dOË‡ý6ìwc?ˆí©ÓYØ¾�x€c´Û«°½žÝØÆ‘ÞK)9ˆ~Æ?Ciù…ˆ½Ú†¨Øúz;Â>9z‡4F"öÓ±Ÿ‡ý|¯"ºõXõa¿M»‰Ç.òc'~ìÀ�Gñc;~l£¨?BadO6CÞˆ…�D,œ) ®‡û•Ö¡ó‘£4)-O¡DJßnb±“¼Ø¡,ìâw)ŒjÊe½¶’£ƒø±?6áÇüXO~¬Õ<Jú"²s%WÊ:®–m¼ÛË=Ãëk\7´œS¶öW:
ëçþþ;\†·£­Äb3y±Qi0¬0Š°Z£F+m"êmpØb6gk™ÈŒ¥x²F´…Èì"[h>™4â§í~Øa
 7#¥ç@¤ô‡Ù[•–+ñpRX‡N>;‘®€P§N“ªV7œ>Ó±=—]YÈÿ+Õ?�GÑ>Íä„Ì`×§ëSt…ø.u‡#WNøê_‰áë8|U†¯éeÄb‰`™ádÃ)„ãÀ'QwÁñhŽšY}œ²b
-vï%"óÙ�eT´‡5‰ýè#“zÉê‰ìG�>D_ Ð°Â9øåtg,×qœôZÎûÅ#i}ðéÄb@qð’áe°®\E°Ê`U³–:Xã!·ÂÀ
-òo¬yTÕ%Dg�ºØÕNv¹�ªÐÆùhÕïÑ?ÐmÒ�hƒçªÝ–@;‘t·ZÈëŸçò¼f�ˆ†9Ë©¬/^k³Ã«`mµðÕchV·¡C�¨‰êŒš¦ö¨¹j�Z$Ôj5G
Êõy
‰ÚËüõ)t…ŒúQ¯àì†»…ke5­ÇÚÓÔÏû™<›†?ShK&ÇÅhRÌcÒÔ3Êª	±ãˆ-UW\•:âëÔ?^­Æ6µ{Ôlœ*ŸqŽ¼ÆEj4®V�qP.ãÕ©:nHU±§Tû©*ã®ózG¸Z¿
o-éJñ§MŸƒfdÀåY�Öl"íH~N§À˜u$fª-)_­Évµ$W¨)¥V¾�¼&¿MÝª7M–ÛÔ¯ZÓBU›VÉiT¹i�JSžVIò1'ŸFWUœtCö¤�ö±ÖíðÖf‘´_VišÂû^Ú�nžwâ[¾´™GÊoNT³9M¾4«¼éãÔ˜^ªúŒj¹3êåÊhV�¥KU–>UZîU¹å•ZT‰e³Š,»eË8¤‚ô!å¥¿¯¼´«è–òÍ!=ŽíGà¬�»8�È¿;®Q7Ÿ;h?ü|×Âßø²òdÕ��ªºœ,¹r
-T“cW•µRN«[Öñ*ÏíPin¯Jrgª8w¾l¹+U�»IyÖÇdµTvÎËÊÌ~ýU™Y7QH{YãÂ\Àˆ2›Vc2êAÈÏ3_ý>ß×!WA¬ª’å,ÌPea®Ê‹Tj+S‰­Fv›ÇPdk5Øl=†ÛtCžm@VÛreÛ6*Ó¶Ké…d.8ª±§46ÿŠÆæÝ”9/¤ÇˆùFl¯€7Ÿ±`f11@ÔŠ|¨¹ø®š×J{´Êì	r”˜e/ÉVqI¡Æ9*tT)ßÑ`Èu´¬Žne;¦)Ó1OŽoÊìX¯Ô’�J)yRIö—”P|R	E—•Xô%�iüuð—a^x\tÔŽšQ#m±9QY9ý^¹AEñ*¬4)¿Ò¢¼Ê<Y�ÅÊvV(Ëé–ÅÙ¤tg—ÌÎ)JuÎUŠs©’œëtOå+ö+®üˆF•ŸPlÙGŠ+½®xGHÛÍ†¿^?£âd8ä¯`æDu¨•9¥âjzÞfŸÚQÊv%*Ó•¦WŽÒ]6™Ý¥Ju×Èäö*ÙÝ¡DwŸîq÷+ÞµH±®‡ãÚ®èÚïËPóß’¡ê‚¢œ×4Ây[[CV±ÆpgÑ‚au &FµT‹*aÛi‹›¬u’¥a„Ì£L“’½%zó•àµk´×©xo½b½~Åxzí™©(ƒƒg¢in¤Ioàv¬ƒÅ]�ÜŸä›Ú{ìXÓaM`�­ð¼¨U¡2Øã—rc-^æOŸ4¦e”âý‰åOÓHŽ¢ý6EùËdðó?àïâ0ME0-Ü<-,ÍÜÊMt'¾ãÒø?ùßniì¥pçÀ™ì–ºXg3jDµ¨¶vìLÆ%s‹”Ô*ÅuÄ(ªk4? À8\r€ b �çÌ™]°]Ìx]K7qçn‚Ì€ÒÆðÑú!~âƒÿ¶ÖÀ]g?ë…ÕŽ|¨Uy˜»	
-agùác6©SŠ0ö0¿LdÎí¥˜)î}´IäIll±èãG}Ì4Af« 3^�a5ÈÀdh™HÇ2�ÎµûþÞÑ
-8÷Ã™ú_²Ë(ÊûãÈ¢kÄevX�åZäÔEXQQ"¹A�8
-¤&AE­&QŠ©‰�h“ÚŒ±!É´55µ5‡Æ¦ÉØf’©iâ˜´IcÓØ:IÍö·Ë—™L;Î#û}ïó^ÿ÷ÿ¼¤¯Â3˜Æb~/àgf)5 æ¸ðÃ�É�Jiá©6�—Øçê¹L,êèÁÛ”2ØXM1—çR�¹,²�,‘�¨“F–§ú_òþI<ýPsG]ð´�ßjâ,Søìã‰9�˜R¼#à
©%þzøç‚fÐÂ¥ßÊÅ:?Ú¨I;C¿ƒšÜË!ï Àä¢ƒ—Û©G{7Ï°H¶±¬.`YkEÁµÜ`(ÞÖ½¸Ú*ÁÖRÈ§�2ˆ9¡J²Í�¿�ýÓÇ;Ì´Eˆ4
-‰�>Á�Kñc½ÑÍÐéæ wSäå^Ž�e�|ÏR¹„¾ìbqì|
‘€¢_ô�Záª³ˆ·¸q;«Fr’B;¼-Rp›Á¹tùÅöÁÁÅÑSBdB`5uYƒëðë,ëhæµ]³ð`/KíÊC<±p�w¿T|5ä¹‚˜=Äœ‹Ë©Ä;†W"8Ú¦Nƒó>ƒ¯Ç/4±gˆNŸøãØ!²¹üÈÉ„ØV.ú>üØÎîçÀ÷ÓT}îã|lãÁ-¨çÍôÄF¶Š‡¿P#õ­&æ2bž@Ì.òG[à
^apö|üb›÷ÁVÐgˆðG
Aìå»Àr²!v�>}š³ò‡ï I>@`Vògt/õxâ""î5s5.!×ÙÄœHŽGÑÂÃ|¼ë}±bÛÇ·ý{\»}\`Ÿ±üÄXNKÒÎî1zäyÄÁ‹Ì�Ús;@.0zœ‡��•Ž^U5ù.£Æ…ä:
cˆ×¼Ñˆ³ßàÜeðí7¸~jˆñgÁÏÁq
.hÏƒiÖ@Éõ*9y?Þ`n\¤&—9PoRÔKôúa¾Y³à.�;îÜ³2FL;Œ8÷±ýÌà;jðq´XH—³“ßYƒÓ·°^¯ƒ75¸H¾O¯^g†]c_§?ÿJ±¯Ó× ¸6€ªÕÿ ˜A´¾E?ßa¯ºƒ~ÿZStíþjúŠþSTþß8¤sX®Ó´×Ø‚þB³^eCz��æ6–+ð	ú=Ûä%}‚šöòÉ‹Ë^Ôµo¯ð–÷ÿ|ø|Å>ñ9:þûÝghøOÙ#>R±>d;¸ÊÖðÊþ”þüx?þÀNu?.qH_£�/Ð¸ç)äËl®/±×œáß)Þ:‰õS°œÏú4=xÚðá[ð5ø'`jèñF„þ¤8œÄ’	O!½Ê>õ;¶£ß°ÑœÃ�³lYgØ‚NãÇI†Æ/Øt_à
°[×cÄù|´éEJz�¼´“WÀ^°Ü†óøü¼
^ñ—5ŒFéWäâ4¹8¥ZÍMË•bq±ÜÃöXCK6À1Ûí´ébbë&¶•´îxú86{øw®—¨Îû~Î]`ØúÀ¿àû¼e´Ò)£½�)XGÈÅavÝgè‹g”A¹Øwc¿û3hÙYÄR£'ðc7~ìÄ�ÇØLw0@¥&ýìmüår±™ìl¢b[¨ôx7�‡Àzp¾Ëà×F«6ŽÂ~öÌ=äb7}±“]÷q%c-ûùØ/Âþdb˜GUØ­‡g�ÐŽí.²p?#t�ÖòT/–VQ²R^?€+ÿ	ƒ{�1úý#"Û#ð9Û�ÊHÎÂ~>öÝ0xÙÓà˜	GuØ�{™XÊxïÑrÞZŠÅ%tA'Õì¢«;éÍN¸¿Ã#÷>þ�Æ8ÜdŒåµœÓ^r±J‘øƒÅüNãfa?ŸÊ»áðÀ1
Ž™Ø¯¢#¸N[µ�3ëó¤
Oçcµ•Ì¶iYo¡ûçÁýN£u—1}Ü¾1Í¸ö_‹Ý
-Ç]Ø�Ï±p$a=Žl®Ò2_Ïd-àÜ¶Ò-ôG3£‰oy³žê¨ÒæP�º½š¬fêTÁ_åŸƒãðG?#ÓE.L3¸±
-‡…xlð8àI†'žñðù$¸JUKŸÎQ%öë°ÝÊ§Åxõó�îÖ�Á!•õ½þM7yùéõ÷ ¯¾kw•‰¸Á"®›v¤êÇ/[šè‹Ffg=ýYGMj©I
½Q­qpåÂ5�“Zß4*RW
¶›ÉÌBM%¢RêQêïâƒTî•P�bz³˜ÉTŒ¾>ØÎµòC®ýŒõÅHåülB®Ö#�jñiN@|!šÍY­T\q0%Á•N\YðåÃçÆƒR&z9ÿÏ†«ûíþŽ™HçN '
-Éx>=‘Gæq"óô%ðjü[áì½©‚Dî@~4ƒ:Ÿ\ÁÞÇõ[�?ÁAº{H˜Ê"5=À®i�M	LVé�y†ä¨$h‚&yTdš®‰¦Jš”ojS®i™Æ›z•mÚ¦Ì ½Ê:*Wày¹¸]\º	îhqo„ïA¤`ç(òêA¨°¢1ù{>MC’L
Ö”�áš2Z%¡±šš(wXš&†e«0¼@ùáÅÊ3—)Ç|�²Í
gn—Ë¼\iæµJ1÷)É¼_‰áÇ•ú[9B¯*>ôsðí Ö
p­àŠ_ˆ,n5`˜¦ …<¬%<S<2@E!šaQáH›ò-åZR”9NÙ‘yÊŒ,Ò8ëT¹¬³”f­W²u�’¬Ë”`]£xkŸb#ŸTŒå9Ù,¯(zä‡²�¼	î¨Ÿ8×Â¿ù×6†UÌæª/Sù\Ü1è<üaÅU^”I9QÃ•=Z™Ñ±gK’Ë–®4Ûx¥Ø'*Ù^ª$ûL%Økå°ÏW¬}‰bì«e³oÕhÛ>Y£OÈ}A–¨À-EŽöj1®†	œ­ñô ƒ€2ànPÀßsãØ9x&36P±aJ�‹Tjœ]Éñc•Ÿ¢Äø,�u(ÞáQ¬£\1ŽÙ-ŠrtÉêX%Kü#Šˆß«áqÇ{^a±W>æ¦Ì1^m!¾l/†«™µ I^JA(9ü=¸@*¿;‡)1)Bc“¢ïŒSœÓ©1ÎÙ�y²9')Ê9]£œUŠt6+Â¹XÃ�=
-snVHÒn
K<¢à„s2%¼«à±ÿÐPÇmm$×÷Ã¿Û�HàJäxY25@.È.�Ì—�*Å§iLºYöt«l®EáÜ(Wš¬®ñ²d¸ášªá®J…»æ*ÄµPC]+äzX�éˆá4¦r*;o
-"/ù3$¥õäù>¸Ûà¨ƒã¿\—
P”÷ÆN88åDzáŽûàäŽ�<¸=@E¨„�ŠŠ1Ú6FJhŒcˆIMjk�Ú”‰¦m¬™ØdB“6™hgÒ¦“Nš¦F›Ñ™d’jÕ\ïÝÛN§ã<¾Ü×>»ûßÝÿ³õpT#ƒËA1°3È&dé=¬O)–0I²FK‚M/zû<™k_ :{¶ÄÚ-Sä”Ùö*‰²û%ÂÞ&á6$Û0x˜`¸
-ïBn3;¯ù‚»)ß'þ
p¯�£¥€sUp•°€|�wº•ÝËŽögm‰/Ž­K'Ñ.£h\iéÊ�Y®|	w!ÒÝ€¥ÑÉòädÚ:ÑóNö<'Zz¢Ü�.âÆ¶³oÚoÉƒð±¢vÁ±ÌÂ€Ç
œÀÌ¼—ÃÓw*ÜIÅ"zVmY¤D¸.ìvUZ�±
-¾\YÂ³ ¡Ýhy7‹‹›åÌÍ­TÎd.Eü—\ÂO|pÝ–b¼žv8ê	ÁJ�Xy/�gÆ"v?dy¦õåð³BFVq©x Õ˜š—Âò‘TùpÖÇ—¼~>cÇ«a‰©aa«áf®>ÊïÎ�lTcåuü¼#›àéá'-ðÔc%p�"^›yfsz©H2éÕWÂï�¿†K¦–K­N#²”\øÉE=Ã¬‘n¤°ÉE#?jðñ>m=¤ŸÅÑ�2ñ³˜ùQlu¨G>xïÊñu•„~RÜÀÉk+È)£'y1ü¤V‹ÉÈ%ð%‡G.š¹ì–3È[vmšv íÑVÅÀá‹+Xd[7ÔAËSŠ¡™¨	¾•µäv1.…ËÊøÛ
-ˆù^bNa=Ó×Áo„ÂÛ�KÐÁÅÚ…«¹ôÖ0Ð{ª½4Z/ÜC@=üx
çÑMMtS—«'D,ˆ«Øw;¨‡•ßÊjxšA-¨"Þ`!fÆŒ¤.1Àï¬V•³PfAqÑh=é#ýø187tñ)CWi¶û9äõ\‡�u}?51H]°¬ö¿	® TîH;\
ÀGž+‰Ù�Û¹õÔ@“H¼Ñ„ÖO·ÊyëT±EÛ!2ÔÇVêc—ývüØImìäLvPPbt;Fà‹Û¨‰‘çŠ,©›ÿ‚hº)-ðÕ“g/1—4P‡´´‰<ùIŒkŸÊ¹lT…Þˆ*8áGË!Q©$,"{8›1êt?&€4ý‡ü(A�À^ÔêÊm”šØM]îº!ËI“Ÿ�+8c;1go2ùÕªq*œÛÀ•k—*<{Á¸*Æ•eà€º<IN¦èÛg¨�ç¨Ñ£4ß³$ù�=�Ržš@Ds“œÇÁ¿I31{;è¸óˆ9•ë†Õ8¿ûŸØÀ>0¡r=&U1>h7ù!xÇÁ	pŠ³™¦_ÎàÇ+4àÏ)®—ÉÅÏHÚ)~x’}éñ÷�Þ¶’k.ˆ7â!uÉP8WcSøžVE8c&(Dý,�!>J�%W‚B]YØ…,«,®øq?.rÍPøoSÔ3ýãoòãó¿/ÜNÞÊ…;…˜cö©±NþOŒ”kRhù©„–²ipZåR–”sà
@ze¼#¡%–ëQ>
¹Ê¹\¡6®ÐW	ü„W ùìªVþa ÁBg�ÜA
ßB)�‚þe}ƒáð
z�Æüœ‚ýŒæø”íëŠæcï#ŠäC‚¸Ìá¼ObÞÅ©|óm,¾Î€SÁ½"À±þË}üKÅ—)×EÏ�OŽ\e§ú;*ý¯(÷�’1¨>dXü?> aßÇ�ßQÀïàÇe†�æ-¶¦óÞ9˜~%gåU~uëÓ*÷1pTÑõà.œÿ_�àðgpYb±ŸŒ}“¼G.Þc¸È>5ÃÖò~œÇ�×ÉÇ¯ñã5üø%~¼J>NÓ¸Ólª/Ó4§ÈÅI
-çÞý	^cÏ|ÎgÁS`_ÃÇÄdãâ¢|Àùàñj°mÀvGž…}–œØ¯ ôj(‹¥Ø_F9® L:Éi<ýðl€g„‚ëQ21ß	9„Õ'`yÎÇÀØÆÀ55îwÕ2~E-»—¨‹ãäâÇìºÇdÈVÊÓIºåç2E}fã:Äv�­óÃt?ƒô1ü˜ ¹Ç${aÃ£=D0*—¨–o12 õœ\€S¢MÊ†¸B-§´ÂSÁÖÐà{<¶S€	ûyŒ#Ñ9‰Á�}£Ê‡}?ö›°ß†ýnì÷cöw2J÷âÍa2sR¶pŠ›‰z3¼
-6��à¢Ê¯´ùuü@I{d‘h±›@fS±�ò±o£œØ/ÇþbÆ¨�jôÃÑ$ÃÔêF.´
2ÄxßÊÿ»¨%;?bìÿ‚
ôOà.x†p.˜÷ÐøÙ¯Ž`eïTGåVr±Yæ`;	¿ïÁ~&ö°oÃ¾Sñc?úñ£�sYË¹|‡}·‡WÝ|{ÞvÑJ"l§’Úèžv: î•@yN«cVáU¹Q<ÁëI¹$œb°hÀv
-X@divY�]øÑ‰R‹ÝxZ©ÔndÆÝ3BåîæÝI<|�l½Áósà½@ð©Œ¾CêhV®¥a0P_Ä‚ä]…}öñ;˜àÈ�ÉO‘»àrÃU�¼Z‚í&¸:ù«¯†ÅË	Våb:ÆÃ´ðP…¹	AUÏ…Ãy"1TnEª(’E‘.Ë©‹fr±Œúldf4r&
Ô†_réP\¸J8�Jø¼ð5À×Æ«<»Ÿé¶ƒO•J~†ç4ø=^_� ”úcœoG
-­çzé %*$ëÃCòq	¹¨“8¸àJ�i\™på3Å­ðÃWÎ?�”â™‹“EYµSY6úÃF7[¹Ü,ô‡…éná°àÃAøwÃ·)Ö¯E¦!?Z‘B
<—ðÚËûÕ|î™_4|s™RFøR‰Ï_6|fb,b’–ÀYg\ÍRÈ)š©¨|:'�.ËáÔ³9ý,:!SþÈó+�ýØÿ\‘Æ½sÉ<ñëáÕü]…TuãSß)�!¥‘ZqEè¥8bž8"Ò¥(2Cl‘yb�²Ja”SÌQ’¯©•\M“dkº$SÓ/÷jFd¡fTÒ5“’u\R#^“ÔðËDq�)|[Æ‘;;àYÇŠÐÍ5ßÂë7†Ö–Jþ.å='Ÿ-Â'ß+Š�»6N¬ÚD)Œ�/æX“äÇåHnœErtÅ’¥«�]­˜tÍ’®[%iseþœ$Y7&FÝaIˆ{Q±gÅ ½$ú˜«à#þmpÀÙ™„äOfý`]YÊ@1¯‹xßÊç…ød6„I¾a¶äâ%'!Y²Ò%#1SL‰²0Ñ!é‰å’–è•ùÆe2ÏØ)Fc¿$G$>ñÑ%>)±	/JŒá¬D.K´þKF‰oö×Â×þo¶ë<Hë‚Œø³Üà¢r³»Àî»Àî²ì{Á²»°»\º€"—
-
-!( $Šh„Sv ••Çhê˜wf¨ÕdcâX¦2b“35Yš9¢æØ¥YšoŸßîÏ™þh˜/ï¾¿÷}ŸïsÎÆ%Î”'B‹Ó­ÁkLó¬ÒgS Ô÷&çõ�‰yC#“?*
-óÇÅø‚âWPù51¶ 9FÌ�‘KbxÁÙqZÁ‘[pi.8ŽDÿü;¢_ÞãÑgì‰è;ædôc~°mG^ïi²o—Ó ÝZÞÓ¡*=+ƒÉ��Â	}b|á�È/c‹òbLQQŒÊ”ÆˆÌ´–iˆÓ3í14³(†dVÆ ÌÆèŸ¹8úf®Œœ"‹a¡‰4áQ¬;kÜIx?öóõ6üçâ:³È­“±_ZA ª¼Ÿ“!ã=ËsÚŽž40F”œÃJFÇi%ãché¤8¥´"—N��¥-1À‘Ô¯¤;rJ,Ë%ôr‰ûf’Åp¢%°øßrL~ûð_ˆ
ùK'Šù3�jÓaš¿Ë¡Š¡òK"F9¡†•÷�ÜŠÜ\92
-TÿÊLô­,‹œÊjŠ;V+k•öè
-û|…Î[á©°ÇVèŠe6„RÛB	?Lþ0vã?÷Y8‘ß^Ñˆ£Æk%”y6	Š ÀóÑåîÏÊˆÜ©ýb@Í�èS£€k%m­ ÕR[%‰Ü»uÖZÝ­ÆÑR³LÀjÓ¸Úb>õûô¤C…í¥â_±ÿò»É_@~Ì€iPn/�bïýÜÃ�²¹5ëúEÎ
¬^a5HªF‰Û$PM¾Üä¦iš	vèFÝ¾Áôi0	L¥zB½I9],jéPóQlcëZò—’?—	ÍÖï:¯UÞOq.Nò:Áû±¸G�ëŒXïmÒÄgjê³4ÔÙŠ«•/Úø¢�/Úiwg¶‹G«Cn¶	Ôb¶8–Z-Ž�™thú3?ŽÍxV‘ß%Œmìk€WzV…ÞçÕáçÞ\b6ão1@Z5ùv·å\¾èà‹ùšÙBÅÛ)±:ÕéG�îÌ…ÚrbÞv°™Ìskv<bÑn“mý$6àèöõùìk�PÍÞr(öw¾m¤Ë�1@ˆ�$¿‡É ã‹.Í~±f»T£?C£é–äËùb9_,÷ÃîùÑsP.3‘—ª�¥G4![ãÛób:tfc
¿.aßh†éÞO…Éþ'¤#™’ÛÑÿSÞ.XËz†º¦ÂgñÇÙôXC�sé±^LÖI°uŒ;·Ír†Ï6È{}O}®r�®:æwòae6V°¯Zgõ¦Q-_—ñõ?…7oÿdx+3£°w¡`–¥&Ynz—œõ°‰çÓc‹:¹(i:òs«DºˆÀ;
e_¾@NœXSÖ#6Ùâ7º(6þ'–±qÌÆÙÈ×U|]<O
°7o¿„w%œ�rj9–9²`sºô¸Y-™nßÞ%`=öÊ�}b²WP÷ ØMù]úÄ%-k¶×úÔv[ýöc‘puàœÍæZ6—°9ŸëNÅÛgMjç§œ[R¾dÙ¼$]<÷ÀÞt¼$‹©z9$.×ª×kÅä°¤:ÄŸcÀ5úÄA=û€œ¸B^î/ºØÛáã1®ß	¸ákÙ¿1µ3Ylw¤‹ÞeÿÃ•,ßW§‹8÷:hÂaÓ»I–T¹úMþ¸ÙºIñ}[b}Á�~Ýö|ƒ~y½x|ùÕè’[-ËÕ_O×Qì°5]n/Kí«Ò¥;Y|¿ÒÊùÔ{Œ(µž…09´@‡X8Èz–{-ƒòÇ#rôaø§?À÷qÜ=ý®‹îÎ_F‡ÜªÇ=å10Z†ìJy¦œ_Lùn€oü.)Þ³œ'Gš²í§ç`L§äx9¦nž³ˆ½h >§Øžá‹§yL¿:æªxâñhÁ=
w÷0å›sMjëWSÎä¹
îLùî‰Þ£ô!ÐúãhÊ™¬?…§¢÷€<¿†WáM½ôM½ë5I÷:£ÿÄo yí^eôàcø7|ŸÄ ÏF@¡¿ËaºÏ[\óâ}Íáo
-ô=Ûÿ»v÷·]@'%ê’ôu×ß«÷Šäø­ýõe÷ÝK”<ÏÇ/â¯ñ4‰�Áýp'Ü·À'8?„ÀßÓ×¿DùCã;üÛîˆ·mÈ'mÏ¯Û™ÿ QýŽ¿±»¿¬IüJ±žP4Ç%ïó’èYzü\ ŸÄ'%Ê.Éûÿ±ø#m²Þe…1Ë½É]‘¥i6>Àù¼“¸^�—á%¾xÑ-qœ/^pË¼à:xÖîþ=Ž¹0žtuüÄ=õ#Íãq>9ª€Ñ,¾G�éqŸ$¾G‘ÜÍÒ»<½ƒ¤ïÄ?¥RVje¥u––YË†ÉºUü>
ßSi*ýÐ�ù¨ûîhäA1ùåÂ_Ë�Md·‘=Oêwñé2òWðëj)³ÞÝ¶Ïîåì<,¥¾†ó.éõ�ÞpÓe=Í*ë¬V’uße{Ò%±ûgðhšÚIÚÝ·óÅ­1œÌ˜•|XGvÙ­dwh�Êf)ùËÉ_-�×³mž�ZÇÞ¸Ndn–%ã{)öË¬}xwÃ.¸Nàz2Mñ„÷¦´Žô´�¾dæÂ(r'Äµ®£Ãô8D�kèqµ‹ë*ßwÕ•rd?=.§Ç>¹º×�·Ó.ßÞÉ³ì3,Ý&ò[ñnI±Ž¥¶ßš´6¸.mÓvxy$ót2ÇB!”�]EvUCŽ9¼¿ÐÈX‚gŽshpŽíªflbÍëDu­¬^‹÷øôõié_Ÿ¶Ü+£·ý'ã ÛäÅÖBæÈ‡ŒÌ+#*ùu˜q´ÈÈ9¢°ÏR²W’½N¦n1êv³Ÿ§Ù�Æîý²ç8|Yï{qwêû„_‹êI«ÖºzFU2–×Å£ëTMþ8(&¿ŒüªX%OÏ¢Ç
-z,—nùq†ËÄd	í³¤KÄÊÊù¢Ý!òsUû|ÜRÜ’úÿ@ÊŸŒÆ
�ŒLã«gl/—Ý|ÑÃè=ÃxY\†£J•ÖanÄ3›Ìyþ-Æµ‚gÖE;ÏµŠh‹Jl�&�¢Q˜¥3ÍÂß‰’ÑwYjÿú”;Y‘’µÅ6Ø³:uòÅBù¹@Læ«×ùr£C­ÌÑ;ÚÅ¥U/��e–w3}³‰¦�,©—uÓeP­xÔ¨ªj½¢F%Ôê†uø|%õÁN8Ïz¸Úr&,êÓ»º%+\²B¶ñEkÆsÝGáÊÇU„k2®r\Ób†ÿë|ZëWÕ"1�5Uzh…ì*WESd}™á6E�oA¶ÉØÿ¬Ñ¶Õ*¶Îê±b~˜mÉêîy3�}§�/êã\ÃØ6ß86ep•ðD%¾Z|ÍøÚquE©xL–UUM1K3*¾HW+2Ü
-Å£PnÒáÙ»­›q®>Åªê\X`Ô¶ym†zÏê¬g5>¯Ð7ªûŠ©9C£*gDTääá›€oR”æL¡IuLÊiˆ‰9­øFQÎò˜�³ž¦Ûu¹+DðK*ü6Ú•Ý'xó]¯Ù8ÈÎ�8þËu¹GU_aü$›dwIvÙ<vóØd³7ûÊn›ì†M ›y’€1D!�˜±H˜ P((�H‘@EÃÃq˜©h}
-ÐvÔj‡:€¥Ô–±´uª3Ú-�Ž-UatºýÝ½×N†a>îÍ½wÏwÞÿsVÂ·”5a!£O;ˆƒ˜ºÆÙ˜³g³o Wˆo‚³Ò$h2KÀh_†C¼F§”QLq›ªÅeŠI±©Yœ¦Rh‡iTòLk%Çô°ØL{ÅšqT,é§Äb¸(–”«TÛ-ÙÿÈ…k€#~«J‹ºº�÷Õ ”ËŠ
-|¼÷d§J™5]k¦¸-9â²J±µTœV¿Z«%ßûìÉµõˆÍv·Xl+d–m­˜m‹Ñ¶W2¬G%ÍrRY$5sZæ²
ÛÖ`ï0wÂÛÉÊg4ŸÃ5BÀÏÊà
-ïKAI^ª8óŒR˜g•|»CöÉ³{%Ç^!6G�XM’éè³£_2÷Hšc�¤:¾+â ûìa¹œ99ÙÓà†lÁþû±uŽEp·1’ÏP	ÀS(â%¼w‚‚Â±¦InQ¦Øœ¹buI–S‘YÎr19Ã’ál�´â6IuÞ!)N†E'Ã±“êwÒ	‹ØyÑ!ÿ<:¡ƒýsÙˆý÷aë8zÅ›ƒc ‚¬m> ïœ ØùÛæ2HV©YÌîlÉpçKºÛ%Å+)J%?`9U˜£v7‘›AÙýNä$*e8tý˜%?}¾�õêj†­‹‘ÛÅøÛXJ€Je<+ÅèTìÜg3žf•Äè5‰ÁG"û�åüìVþ `¯	°´˜£ýì6>ö<]ØK7ôè °o–¢ƒë¦ŒÃ?Œì>øÚr15 Ä½(ð•ð®8¸Ïá]–WÄä7ˆ¡Ü¤KÎ¬,Ð¯ôƒ03tU;`y¨ û†è‚!æ ‹@�“ºüú]…ä–¬Æ®A¸z=Ô«ÙPGxxæ†³äsŸÃ;K~L5TÐ¸ªhbavÌZ’*ŠC£83Ê‡uì4uÄ£®Ðí#,Mµ,ƒ5,*5œa†ò0:T2A†¾–•È¿Ù]Ènd-‹€
-îý˜SÆsºpŸË3£¹‰p0S"4·:v˜¾hP…ÛX ³QÆN�ƒÜsÍe×¬g2¨gQ‰½Ða“d$!#|Þ‡]m¨^Â Èß>tqƒ"îóxf©1"65
-àjiäPi¢ÉµÐdæ“íXyÑ�/:ªupâtpÎghaQlá„j~™ßQMèÐ˜�AìêE~3¶Õ©aä§A8= ˜{;Ï¬¤˜×¦$yASòÓ³Nõp£Ù÷“…Ä¤�˜ôà>èCá¾À2»�‰ gß2)t³œu�å·Ä¢“9Û:á˜Çç®U5ä¼.žÓnÄZÿ<¸(5Ž"l]ÉÃ¹úß�è±„Ãe�˜,§Ð—äå±Œ/#Cô‰%ëùŽ1À¢¸˜é½ÿS��Eøµž®8+ÐEá>®Èlì5¶êx·>HÜ¡r&0¤<#äÇ
-â²=î§NÆˆÉ‰4†a«Q~ÕbÞ�ñ
“ê(=b„)þž�(Ê¯¥ß6�z8kðµ�û"ÜgÅÞŒnÝÖ;gpbÃœ6ìPöŒÚðEÊ1ÐŠ¬'OD�ÍäÆòs3AÝ„/6bÀâ±Žž½–¼§>×ü¿�vìl‚3†ÍÜ»:©A>Oÿ†wè6ÎU3øÖéÃïF}ÛªãÔíNôxœÜØMLvØ�$Ïêc‚x<2ÉðJNl%/·|&íø9ŽÍ5ØìÅæ|\fÔyWÜÆ¹AçSïmßð�Çô�p7@|r8;@l’§G8ŽPä‡øOßÇòB�>A¿ÜG<&?”vr+FŒƒ”�›-£ºÕá•YS„Cã{ô6®ý¢-C¸VÂÌJ¥-/JPŽ£ÇOé§(ò$öq¦äWüÒ¾ù‘Èóg%Ž¿ÃÄXÁæŽ·ÔtÞm:ç®|ê25ƒ‹ôf‘ÖI��ÖÃÂx]´ÅU]¢~‹—©•KÜEjä<A=Ë&qÅOŸ�9Ä9w±5ª1Ý®ÛºWçTíSÀ£·ñÑn“¢Ê§.ªoêœêâz\ï�Àp�~zÝ-òO’þ‚}…À^až˜þ!S¾0M‰|þ£_oJ:›i6“^1€Z¾›'_Ñ”nÒÔ-éóêuŠò3’õïS‚7Í†òü#Þg§¹Ìör‰Mò]y•®3M'ä$x<‚gÀ—pþÐ5…®…La+U¯fþv…w!xêä¯LôÐ¤ÞG�Ë4§÷ÐãÅú;v™‹l}Ðã÷,r† ž&poá¸7äì”'ù��#àØö€kðýü
|þ.ƒßK²mÈ.B®W~Íä~Ž©þzœF�_27¿IÃz�þ|ŠMðzG�×ðÇ+lŽ/±A¾(ÏÂŸ�¦ïÎ/“¶O‚]à10¦gð2U _íÏ“á6ƒ<à"ÕüÈ“
-1äÆ±§
ÙÝÈ^DjàõAü;ã·å°ŒÃµ	?O`ï>¢rŒÿOcóU´Òx·‚Íà!ðG¸~Þ'Á+à˜žöÏ²[òòå›É!6‰)ô8€O¡Ç“ O Ç~ôØË&:‰? .»i*»h`;aÚÁÝ£üê¼µUþïik	ÚM�%dœ×Óúe=õ§ô2Ü£—å÷Å„¬l®EüíáÂ‡5È�±95RF­x½ùi#ýpâ�QZÙj¸¤Å|mö³å<ç9¶Ï±™ÌÜ ã
xèØKÛÒËr»Þ–6%[…�kW;($É¼jd×aÏ\<ßL+íÀ¦^8�!Úú½ü‡k=×a†m™·Þ»À€ŽWõ–3©·]•W=Ôö¬E´<kD®8@	vx�_Žü*dGië
TiòÛñBTÌ0ÿ¯B£ïà�	ªù)2ø8ÞºÄ·ˆ`âÿ8ªû^åß¨sßFÀ°hÇä ¤3²³A>(�£ŽräWR¥µdD=^ˆ#¿�ŠéEöÝŒ+ðÎ8O¶‘Á{ˆÚ‹Ò"¿BÛk|™H¢Léþß¬ó+É©™êÑ©ŽL¥èŸŽäL8rà(@~	òË� 3+‘!"
Èo&K:éh}IïÔãÉz"ƒ¥Žê‰��3·ŠX²Ohñ_§Û¯ò÷‹6®¨ã’:6©ãS+¾h&&qê$.¹ <8Ê‘UG”ó�=Ÿ¬í¥‚–’5+ÑpƒT�Å!*+H¥åOà+ž%øU‚lÑ|0¦ûž£;9¦©£¢:6ªc§.Ý‰y“¾%&Qr#Jß¨¥Vj¤/²‚pÕ 7Æ]3Zuá¡ñ‘‘^2×C}(TµBõ+tT…ú(ƒßvˆ6†¨ãÉRÆÂEŒíŒBqð?öË4,êë
-ãgd†u˜a–tX\�q�D$Æ
\1î#M¢ÑªScVãc¬iŠâS‹†5.u©ZS[MÒ´q©[5u‰—éïSëÓí“��çyfæ?sÏyß{Ï¹ïiÃë>kp†ÄÐƒFÄñVxÙ‰å –“æb½fÄÊ`íÄèFv½Qê)vm4ßª ã—Áj‰”:pxxïñÚeOJˆÙ[Úƒë­3hZ‚4�Â(“Ä3ßi¢7ËD¬J¬2ˆ!^"ñR¨ÞÄkËÚ]‰‘Ï	.$Ó§Qm'i>™¯[ÀqpƒÛÀãí£X»ˆXù\óÝ°`íY2@HMø,�gNÆˆ8“Ab5’?‰6‹Ãh“(c”D�nt‰Ý˜.6£[Â]$DŸ'Vý@	2ŒC¹˜õsÄ¤{ëÁp	xd*ñKáY@œÜ@F�`|•ýA
-hâ_bA4Ï£ôáï#á~¾n›9DÂÌjŽ«¹±XÌÍ$Èœ)æ,ñ3çŠÉ¯@|ü‡‹Þ�Ê÷›�QdÞôÅìø`n_{�Âdâ…c?Öïaå0d¨¸@ïc�ƒgÀnÑK˜Å(!Á¾b
2KPP�ÛÄß-~–D1YRÅ×’!>–Nb´äˆÞÚ_ÄJÅY8uŒg¦(�üw’ÞÞ|M&¿˜øO²~6v¼�
R@"ˆ>�6r
-
5ˆ5ÄG‚C|Å?Ô$æ°ñåA#[¤mNÑÛ“DgÇ³Ù©(;&ÝN¥Ùè:6<¤�
-£#…’ƒ•9+¿•1Ä/"~>1º`�Ý 
êñ¼Ž‘Xt;³é%$Ì(Á6ñ·ûˆ)ÜWŒ‘~¢‹bÃ¢ø‚#4T‘ƒAÉA…;Ä˜ô(ŒjäL@äŽá³�!Ÿ[2’ø‰ß“X�¢ØÐ4qØP¹„ÏCí±„$ Â ¦H£KŒ:¨q²ˆ“ÙÊÉ<Ÿ
-ÔÀÆàâ¤Ë:Äâ¨¾Xn„˜×9Dsc;Î‘Ó†ÖýˆÑ�˜í£Ù¨$ó?Ä°d$Ÿ‡“KX„N,üà½)Z'ÆXš†“�à[_8®�zñ’˜­’’sMþ5‰Ž—D÷uÑéÈ‰ånÊø½÷{_JøYob=Ë>ðó4Ð8yM>‘<³+9ðÞÄ3C<Ç9¸hbÉÌ˜MÑ"�ÂIƒP:_Lg?ÒÓÃc:?�s™ÆÐ’ÊÀ�LÉ8¥$rHÂÅ&y¤�Ÿä±ng$Ì© ‘qØpy„ƒPžòÞÄ3#�‘C«'³Tsòh‰­ÑÂ�nÄr³€›ýpÓáÝœ	77�{ˆH+´aÍß'/ö"�î‘þ|½;i·sñˆõ“y�ÇX>�aÄ
ä3ÏõÞ¸Š\$
ÜäÑ-: EgšKg3‹Ä³H4‹/e1[eq&²8—�&ñ]œŠ›!ÅMÈ$‡L�ôfí®É¼dý4àâ§	äC\;Ï‚xfjJü´‡ã‚v #ÈR+g#[5z
-=—Cž‹yÈ%á\¾˜Ë0Û“3‘ÃÙ
‡Øå]€{Îº@ÞéÉúY¿hÊky8‰�”V–0µÑeh—g{í2í¢]êÝµK–QVž@�>èÑŸ=H#È&@¢€pû OôçLô¦6z1¸åâ"{R›9é·¶­Ø&b¥¢qcUÚ´˜>3ÃW§âvÖLD6ÈyS»è•Ù)Ð× òŒÃ¸dJÙ“RÑˆŒ >†ó£¡¸³bn¨Bê³€!±€ApÀ=É"N&G§é¦�OlkÎÇÙ¯£÷q�k¾fnúiF§H3|ƒµ‹¿T3 c•!âŒNál”³'åhQÆ¢e7y€Èxúåh\ûHj£ô ùÝ�ðÌ$fs´NTí•ýõ{ÀWÅí«ñT1K4³Uª™ž±šS¤pì±	‚]™Å¾Ì#�ùìÉ<6vZÌB¼çqÉôËiï` kùÝyé€Î™pNa�pÈ{(®2V”fúß1¡á5¿Ê|MÊ€(CÌuäHÔ`¢"m@Þb_–R¯KÙ“Åˆüä^¥>òãìGåF‘¹'¤åÛœ³Où„ÛX¨é«¸Žy(æpsŠ÷Š“+Ñ;(,«m@ªÐc}|=…V…àà”×àžß#á•ÔÇò:ÉDïdö8’Øæ¡ÚžNÐ´­Ð8*ã]ù¿±Ô@¸Rê‡C5(©Aqà¸y‡'¤f´9DO?N=JÁDð½lì´¨]$RS%éÄvªë]i=Iã;Cãù½¦€rb¸­�çåÖƒÍR?,ÖJ^h=XVa”9	NZ²\'�Û\|×[ˆ\Aôó�=Ë]~j‰<ú§3}™Ì~þ�AÁÖ�Ð0{xD”#:&ÎŸÐ¸‰+9%µiZzó­2Z»Û´m×¡c§Î]º>–ýx÷=sóòŸèýdß~ýüIáSƒŠK†6¼täÓ£ÇŒ7aâ¤ÉeåS§=;½â¹ç_˜ùâ¬ÙsæÎ«|iÁË_Yôêëo¼ùÖÛK–._ñÎÊUï­þÅû¿ü jíºê
7}¸å£_ÿ¦fÛöÚßÖíØ¹ëÓ={÷ýîÀÁC‡�ýÃg<þ§'?ÿò/_ýõëS§ÏþýÜù‹—þqù›^½~ãÛ›·¿»s÷¾çýkàÿ#ç¯Ó+Æ¾Šrœ-Š´
Ö‘Šv¬â�ñ$Å¼™¢Þî™Š|{Å>úÝÿè¥è£$(@ƒ"%Â`¥Âd¥t¯„˜‚Ï()~Š3”?SjÌGŽŸ+=^S‚,F‘eJ’w•&kåWJ•õÈ²Yé²U	ó1Ê|¢¤Ù­´Ù�8¿WêSòü}¾Pý
…Î(‰.(�® Ò5¥Ò-%Ó½ûžñ#Ë•óƒO¡{ô0ü—÷?r½D§Óë
#4òõ5™ÌèàˆÁ‹5BÃÐÃŽ"‘Qh‚(¨‚,è‚0J¯4õÚ<"ŽW¤é•¯J‰J*T2dØˆ‘£ÆŒŸ8¹ü™éÏ½ðâì¹ó,\ôÚ›‹—,[±rÕê5”‹ª–ÍBÒËñŠõ½$KhÂ¢0…*\Ïœ…í¹óð½x	Æ—¯\ùÒW¯]»ïooÞ¼uë6ÜïÜ½{ïÞýþžµ1Ou²Ÿg]+»§ª£ËS�ÝÆ³µWŽçãþÅ÷ë•}÷É°Ê«;F-»¸sÜÚÓ;&Ö|U;e÷‰š©GŽ}Tñù¡�3Îí©~éöEC
94äÐ�CC
94äÐ�Ãÿ�ÃºGrØ�íöÔäåÜ¯ëW|gWQÙÍ=C*¯î+]~áÀ¨êSÇlÿbß¸}Çv�?¶¿vÊ—µ[Ÿ=WµiæõŠïs¨&‡µä°‰¶çõ¸»³oñÍ}…eW–T^:2lÅ©Ï†¯?q¸´öðþQ{w:öè¶º‰'«·•�^¶¥âò¿Ø¯³¨¦Ï4Žã¨�ª=gz´®­Îtª N;A;‚HÙDŠìa�$,a‘M¡T6uØ\Šl¢ ‚k ¬�@ lekH$€@ €€bÙ„gþåpáÜÍIn¹øÞÎyÏÅ+k›ê¦áä_V€¢+?m0
ôVM0ïÛ-oÍö`L°)ž•ÓE`Ô·:7T4ºvPk=úÓª¼‡cÊü¦d
(›†½@Ý2”è\Xc\ýÐjl;×ƒöZ?Š0¯ºìóºñåŒvÇ:Z³KkÛ­çYõÍÁ(†Ï˜¬mh[Šš”éœ_fëë.tÙHæ¾£è¨¾QÛÍlnU/®¤€C¨!·85½h ržÔºõßgz
-e
¨[šòA ªÉ¯3t”›ôufy7¬ÇÞ˜øM›G¶�Ù$×ÚeÑ¹öEÙ]¸ÊWmv|³Sk$Û¥;˜åÁ“5 ß	ˆ¡1¨�\aêœ›oÓ×
-EÓFÞ}oÍ"ê'¬ž•
-1™¹<,-µÇ¡ì)Wó¨ßx¯Ñ©= Þ­[Ö€†
-Ïì�Bå@WûîC�ÎYI7JcxÌÍ›7ôj[0
«[&P‡mÒÒ0yÏû°ôè.{FX‡Cm`¾éV±MÖ 1!†"åëejßÎ7iÿðf¥Æ—è£9‹×=ÙïŒïÑ§,b3G­_%
Ù’cøjD¦8¤Ëðëp`y¶9ÕËÛ¹A?³Š•¿ZbªŸâhŸ½r™³€B×¯x”/ÞÎ™1{ürÂòYì°ÕëÈ!ë¬P¾
ÅŸkK÷êÁ–¹"÷*kEÇv¬—œÙ½^ª¼®Aíˆh@ãD×´ŽzÃŠ®E9 ˆ”¥k)ó&áqó˜¨qtRèˆej€Ð*Ó[`�ãÊÇP<š¬},þfÇjÙéÏ—*•¿ïTÝ×3~Y¾ñƒ–zh›æƒ.áõÊ7~Ñ0$ê­IT¨Ä,æ±y¢÷:ÙmÔ2ÅÙˆƒK’µ•²£rKŒSŸÍ4žÛÃ)íkž¿tšê—óAÃ0´íâA×-jÅÀ/qøÏ‡{Íš<t›6ûÍ	ÙnÒ*ÞNŒy*k‡äÞU+ìôŸÜÕ:£t°êãÅÓPQI�Kzqð3:´ð!º~«ú·n.] ~¸DxoêðÎì¾Ýú?6óÖá²¶P³_n¬ýˆ\‡X~wõ²âa(�J…óâàßZpéF ¨[û‚&Î
®7ô<Ö
¼ìÖ}lV�nY­šÞF¯ ýdm¢a¯\×›¿ÊÕ.*|Qÿ<œßŸŒ‡)F€’Z ütÕT�‰ n…M,®à­AÏÉ\,ÀÐÕLÜLÁÜ]Ö ãØg�©ð�ÁëKò@Ò9yÚ@5·š�+P�ƒ–ó¼¢²üS%é!ùã/ÃÊ‡Ô
þÝÊ‹JìæF¤qëI¼bßt¾´m¶
Û†mÃ¶aÛð2�íÚ4düiP•‡Lme hA¡™9Ð1D(rZ.ðx2O¹ýz*çuŒt—!|Þ0�øˆÓËë~˜",»ój8Ï?U(m›ò–!
1di+
1›šC©-ÊAË¥n1stŸ´©ÿ‚Ñ¼ æPæ½ßy©=Ý‰�…íO’&(ÁIbRàËiƒÌoþ×��
-õ5¡ÌÄ6Ä�J\ðR%1vŽáIš¬ð-)þ…% ¶qsîöw‘¢FX‰±SäÈg’÷“Ç¥
È[†LÅƒ�®zrµÎ]_ÆfëL+âË>x©Ö)öm�[†¸Î³x¸Ú§nùYôU÷7ÓÂ†‹RJRâžÎÄ=x>)m›†¬OyZŠPŒÒØ`›®ÕZ—°Á‹Í„¸·-.™®%C-ìÞFßŽÖÚnuE¨(;'lêyzÂì£øD‰´mö1�Eë,”¢~þÈ22Yn@»,¶`‚ç8q“½òP—SiW›+»©É³½ªÎ—[À¦‡L&”$LG¦?Ÿ”6ÈúÄ�¡zhˆ¡¥¾Â¾a²Øbá2ße<ÅÃÆ‹ìÉÝ½ø’Ævç:F“k­îf_:ÓG[î/~PþPNO—¶MC6bÈBdÕï PëÇ�•z——š�:Í�%|« 7£6ñ\!6ó÷>½²Ã±†ÖìÜ’ÁvíI¬vD0¼Æî2î�…V&ŒJÛ'†�­ò kþ°R­§ö¾ÕÐh†kê4>b48aÛ.²#±ú
-‹:ñUäÇÆ�ÎœèZbÿ]¦‡0�,ü•ùXê 1ä †lÄ�«ò-”h~ÿG�Þ¥¹Îë†b‘1aXbØ;eS?ŒI+åÛSsºq¯ÚñuqÍŽ-õÎÝ�,7ž?+€ïÇ
-çId½1ì�Ä�¯ò÷�šgÞ5]U™â^3™4Ä.ßi�FGWŽÚ¦Pv¹¯{íK8Õ[ñ
¡M„6ÿzb·Oýínïú»R9ˆ!1ä*~*Ç—˜š§fÚ¯^èñg¯ã;�X³�
-Ç¬“IC¶äg<»‚Ç=Øòûûš_[q
ÞÈ6<š½[Ü›ïHä"†<…Ý�§¸ŠU¾^¨×81Ö§{Ž/ÖCu¼7ÀÕ/ú—Ì™F’Å–O“†­Ó¢¶¹a\ÛÂ;=˜2ßNû*÷G±ýf­s‡ŸÔAÞÑ�@‘ß
Å}Ë•Mµiüm`DK±cî*Š½Š²/_»æ›ûÎøÞK‰ù“'c–Éá"«ôÀAëœ[|ª;SäÜ‹+!ôº–â{}¤(GwMþs(:ûåûâ>!_íH§DS‰½¬ƒ*]LÞêfÊ†�±s&‘Sæ±AãI·G,S=DV$gämpƒö9X�S®�À]ê€vxÊÿe©òÇ½o:/ìíÿ/ûõÕd‚‡a<:Œ®svfÛîÌ,®¢«£¢®(¨(JoRB ¤I‘Ž&ÒCE”&H �Ð‚D	MRB(BJ¯"   Ò…ÿ|Ç3g÷ÌÞÅ«½ðâ¹ÿ�÷î=õ‹hQM¡ÎiæÁy&hÚÇ¯èº‡/ú#�i³×—è‡	L’Í8–N|AHÅ�Ù0¬Æ¾¸5þvÔ§’=2S�¿}Ó9rð»†9%Ù2P>–gÔ fçIá éì¿¢ëáŽìá21Øþ­i˜õ,:‚8c‰{ƒ»…}MŠ²|mûÅ­”lA½«’]×;¸m]ÓŒüå«
-;¹pâH*œT‰e½PPÅPAÝšNN«:WmWôÝIŒ¼ðË&>VËh_Ë%?ÌÎÏ|‘äÿ¥-þŠê}²Õ<%+S±r`s>ÈË2àÈÁX8v’Š|à´áPÁØÃYÂ%¸`ƒ-{KÐsÄ€¡“9;›�™‹éÆÕd
ûÅõˆdPâþ
¨GïwnàÁžÍi°÷×8Ø¿�¼á¨Š×´ƒ“P6µ5Ô±& �3m¼èÁˆh&$@q�öw`Ê}©òÛ!IIRÎ…]Uà 
!“H¶#e�A	YN¢Æ¿�
aMGDæOÇ¿ðO.£¦W>§æV�RùÕEµ"W¾°Æ™_'m_
_
_
_
ÿ÷†´Ï†mp10ÎŽ®
-ä˜@žYö”56™¶ÄðI˜MbOEGŒ‡Ç”=J¬	`
-‡ý³ëüî7<¾Æk8<~èÂk’6HÿÃÀ@Éˆ!íÜaÈÖ9\}È·"×Ž²–ãF[ÌôJœar^&†>‹¾Y1~»~0˜Þ2Ä‘´QóÚ*É¹O¯p[ï_½'–6Äð
¤#&b #ÖYyÈÕV†c}àa‰À³¡¬8‡.æ¹'Íp¨Y“i!E£IÕƒÑÑÍ}á‰íÝ¡ìî:ßÌÞBJfož{îÓ÷¼6iûÃnÈ8{¸Ú§áÁE=à[�‰ò©Ð1lá>ùî›|ïœ‰ì€’‘4š°?1²µ3*®Gr#u 2˜=Àõf÷gxgw²¼sÚ¥
Xˆ�%·	Òä·B
-bà †{Z§ ÈHJ,«¥$ÊJ©}ØB‰[òk¾Gî8Ï·ìYöõúnVx[ó�¨žê¨;ƒ%‘éC™¬¡¿Ìº_V—´ýÉ�ª´²ÔBb(1Ô…‡ÂG�ò¾Â.l¾Â…>- s_”z–<ð¯oÍ¡µ
-7zŠãc†x·™ÃŒÐ´á„ëýñ×3{¤
Xû¯��²ÕÀ}­“Pf¨³ZiŽ_©ÂS–jlÂæjéSB×ü‘êkå�e¾¢Æ‚ë­NX÷=úÍgw’žß¹Å½Ec
Þ¢±û¥
Øˆ��ÒCšÒ?!Wí7(ÔR‚rí�ÕhürŽ2ß`>óørÊ„Ø9 ‘üPòÈ«®¦Ø_R”ÜÅa…
%%ÇŒE'¤Ž…F¦
‡Þ`
JÛŸéJ;!1i*­Vh¿¯3Ã-4aÉ³bøT»Mêh§·«Í­¬Qä^W.ðßãt1sƒ‡¢ÒoŒE¤§ŽÞNŒM’¶ÿXò[€¥¸òÕöC±¦âJ•¾Öb£©ÕÛVKòt'>l|èRJÿe®¤Ã¹¬¦…,ä=ÅYßÎÄƒÜ°Ñ0sÔ�‘þŒJg
JÛgCÆ†EY(PÝ·V¦y|Y¨¯1'1Á¾îÂ\�Æ†
='ÐÛmò„�¥%—Ú¼&r³Î£#ZàÓO+£=®dùrÙ>Y}ÒŸ
6bà(þî«îý(ÐP˜oÐ»ð¦ã¢ÅÄ0úÊè+LhÇ8.Y4HÊ-í´-Ékµ¯a495Ç‰\Ûi5ä^ÿê€~ßêø>/Af�g1§[ÚÃzÈD‡¶@Žâ/ÀWÝ³\¥ñïY±žúä ‘ùÈ+c×¾tHÓ¤URù3BV~7‰Ïl³~ÛlÓRoûÄ[èØå^ëÙMFt]­ctPDœviƒLÄÀA™‡~®âÏ«¥ª»Þ‰4¿ìÐU×7ë›5ri}gôè¥eoÇfõx	í¤‡áR­ßcëÇ”†Ë·J«KC�Ä¹1^ìÔxWê€³c=dÉmbà�Øñ¾BEvºåÂ�‘!íÓÝSzf’ECgá‚q “9†e&
ârovãÛ	å­¤W±�È±Å­ÞALÙ‹#ë.‹c¤²Cöî��}h3�Ø:'Tùy¬ó¼\÷„†rË;ÓÚOúŽ¥KFÔœ³Hú„ERÔ–<`ÅõêÁºuJÚmÊíž:lÚ=Öí!åÖíá¥
r¶¯ƒÜÝ€{èûeÁñ'Åg¶öŽªÊ‰g.œ©YÑ2);î}ÏÔ9ZÌ:–6Ž¡ûŒX°¯a³p\Û¾K¤>{±�Ì#ôùàû®Käm[ÜÝßÿà¦‘Â¦þ�c?H¦UþUó^ýLœ7ÊMcUçJÜ’¡_è[“pê´YyÒ<Ñé…EŠís+&i”˜ŽµeáF\XØQ$o©ƒü­((Ø%³X±_f¸ýÀúÖI…-µKÊûŠ@õt6œÕKA>n,h:„}Ô½FE”9ã§Ó¶¯Í£HÓ–1ø)|œÕ«K·-_9Ü¶xu‰"uÀû	µV´sýDó¯¨'/ö|+\8¶½÷eÃ)%:(kDƒª)
Ô‰¾ áHþ¤Cvü`àe³t‘J\4
À-˜bç±Aó„ Ì;›`ô;Ç`ô¼³Ô}ä�š­ýÕ1¼	%šÛ·©ïÈ†£{“AA!
-Õ‚á”ž7¨ Ýàwöë+¬éC�ã8ŽÖÚzžÖª§íQQÛZ±nh�(PD�M€°‘
²‘D‰ÙCF ƒ‘!„@ BØ F¢$`,‹D†ä=ÿ‡Ç§çÜþïÎ…ßûÏó^ýÞsî ívt½ìÀÀÇú½±?ö=&ÀbÕ2Ð|Õ:³êd¶ê‚äŠº¹Ú-
-2É§
-�Ïwm¨]ûá‹RøéŸù t Ž‹†ª! ¢å§
\á,Æ~³²M;Ðq0ƒK—MÁÐÉLœ�ãlXgC°u1{ÔÉînT=Ü¬ \ùfSìù‚Š;Sá€b4ü¨„ƒÃÊWà˜šœÒ²�_u-@ÕÀÔ��à26µÌôAs	t1z o®ÆæcqÌQÄ]›!wÿç�ux'¤©€L�£@DvÉô"äÛYA®‡dâW“"â_ÅÄd-^K.˜ËfÌá¨¥³8fÙ,ŽË™Á	Ê§ƒ›¸£þ-Ò+­¼÷–J4}4|4|4üŸò1d#†tÄ�¥qHÈ�C5Õª-Hîž�€_ÍÀßz™@ÈY $ÏEd²gÂHÜéPzåt§j*¤¦úqp}ÍÿFA·gÃ�6�šÖ
yû>‡œÃ; Ce?äªÿT�ÍäÐl,¡ÈÕ¨~øbhÂ‹ŒëÄùÄxÆSBjÅdd®àIx¡pÏn˜ÀóåÁ‚ænßš–F/As�w]=š ÿƒ!1d"†|u%(ÒùXFÚÀ²²¦³çÝ¿RˆK\Î»–ÿ,3¦d*1‰?A¸Ý8~�Ü6ÉêxÎëê
â‰ê½¸=Õ¾üöJA3šÃ&Èß·uÝp[e�Õý‚
-°
µ ke—=VJ½Âß0ƒ’–‹"Èsùödæ­;ã·ÒÚF£‰=ÃQ4I$GÒŠãHøþ1'°²‹}µº
M@ú` "†,Ä@Uÿ	˜”�c 	æï+<Þr=Â_–ù'/²B)³Å×9Oòc…#)‰�ý1’>¥¿'†Ý_Á¾Ï	fßgà¸=´�ª4ý× ô5ä(+B!b(A\ƒóPeŽYáÛ{¼®r_æù&?+¦N–FpG¢ëeÙñ�¢¤Ik\®´9ž.«Š.‘1ð%2jGLÆóDhZ7�CbÈUÞEj¡TûðôÏ¯Õ˜cÞ
-ìÜ_
-\Âj¼Sfø��ËC+2£„}äØŽÖÌDImRæ@uu�Ï¤F±s‘{äDr{Ñäÿ1•÷MíG(Ó>	UúçVk1fo„¶îËõÎáóõž)“B¿ÂQ>Ž+-‹vîÖãÅ¼ôÔv
-QÎHaÈ‰†<#ªTš~�#FÓº�üÁ��èj?@¹ö	¨Öÿm¥ÞÌôU“µÛbËeül«{êD‹OáPÝÕrq%¾®¥äz{uAŒ¸4'q°0#sˆ’Y<”~‹>”H`
&Ø÷Ñô·!1�”wSí{àjÁ%�wM¦&/Û­Üžw:à§»]SÇ:¯4rº¡µÂòÈv.#º¯˜7�“�<œ‘�?’�Z<BˆgÈ	q¥R4eÝðbØåëìài{_wIýM›‰ñ’ë:'¶ÃÿÕï”2"ö¤J:ü8­
Áwªùø¶NT/‰NH!ÇÇ“²~'‹E¤ÒF$• 	(;71�Uù;(=»øZGß5è©½è26š¿gá<ýÀ&l|È1ypÀ�ÒÕë]&l”q­EüðžÛœ(Yƒ0tƒ‘>Å 
‡ò�¬šþ6�C¡ò·À9»o­Fóç×-zgúŒfä§‰ÇØ�áq»$Éˆ3¹EêÉæ÷øÖ0Û[ˆõ¸î¤š°þ¼ëòÈª4yD
óA0“5pµ€Ý�& îÜÔÚ©o€{vïJ�¦ÒR‡îéY©¡Þ“Ç¦£Óæ8é”MBÇ¸#©vÄµ„-ó¬¦ôù4¥uø‹-Wï…7EÊÂZSd¡ti@
û~@9GŒ&(@û¶Eé+`žÚUgv¿jÒ<ø¬WWåÉˆÁ…Ñ§FöæÍ‚»ç°ñÂ¿ló8£Ž,ªÜ¹*£ßµ1¦Ï£3LäÝÔ"ñÅJüDD±Owy¯OO„¦uC!b "ö©«‚3ß-Þ=ÿý¤ìâ‰GzÚÏíz—M‚šÍc+¦¬³Çíh·‡í+bêÂî9¶úö¹vyõú‰<z#»Üû’;ÝÄî’òv4AÑŽ�P¤¸
-•¾îÉí¯Tw=í;·ç÷?´ŽÈftµ»_èÛ6¿1ò¯Z6‹¦Ï`Ós&¬)	£¶%×†ì*ìk½¤.
nýÞ�®ý¡�.Ò˜giv½“¬Pˆ&(Þ±hŠŸãÐ¶µê“ÿx~÷ôWcr�]²IÍ£¢%íÆU=ëªU}Ö+ãÈ¼yóÄä)lÎ�?­
-p£6,ï»r×!'žÓCÏJÇ¡ ¤(žÃP2Ï~8§M@ÿz0?�²C[_5ßúäÞ/[ÿTý¶{áüñÆmíJÐ±d‚®é­.uÉ”psÎ<%lÊ2ÛoÂŠìþØ¶ÈiÌ‘æ0æF·óeØŽ…ÒmÆnÒlÆ“PÌí€µwóÿà'3]‡7Éÿ8üYÏ3ÕÝ�ï4Nðàœ&4Íòà‚SÚš®_ÌkC<~É„0�IôœµLs~j}ÛaÚ>ÛvÊ%ÇfÊ+Çj*)";M@”|©ì=›–š7ŒïPè�9º­éí¯{y zœj¹ a�çmn‚¶þ½žÀ[ƒPÏ—&‘ÎË˜h‡%ìMÛEÛXëÇ8ì‚[œå‚OœÅBpœÅbx,š l›ÂJÍN…¡{[ÄÓ»76¿>úöë$ªéà8Ï±µ3N«X;ŽŠU[ÑÑ* "#²É@‘M�=²$@„²¯�@!Â	!„„%a„HHpDQGiÕªàHeQ¡ê¯ÿÇÌëóosèá{ÿ\¿[ZAkO5œü�:zÙ k–gð`x)LüÀ"Èë½5æÒ;;¬ëÚ…(ç5çh§UwÜ…U/œãª?Îa5g¿ñI½iùBå¶x£ÊøíÏUúWö~ÆƒC[kàðn
-=”Z'‰pòlèXƒ¾½/¸\c0óv+_G°õ·‡;¸pÜÐ¶à‰¶?$tÀ§t§KEE>¶Qe`ñ¯*m ¶©öm¥Âw;³@ý@Öˆ„£º�pÜÈ´-Ü@×Æ	ÎØÛƒ¡£-˜:YƒùE œ­ÀÖÙì],ÀÉÅÜ�<>©qñ•Á[Tðå†:øfS	ìØ’»v$Àž}XØ
�{Â]gÐ0p€Æ¶ szæ–pÆÂ-ÍÀÄê˜Y™‚…•	X£Œá<Ê>)(Øöä«m†ìƒÛ!Ukdè�\Sm(°5†|7{Èö÷‚´p	ñïbR3ÞFæ“^GÐŠVÂk¨ËvÉ2FPº„é¡-b$eó!Rú£ÀQúL€¼\á#¯P¶?þ/
$Ä�ó?C¦þaÈC…ˆ�äj¹~^�Ž’ââßÅ¥d¼�Î+XÁ–R–Ã«K—ÂY´¥p~Ùbx7ýf¸üyÈHÅlàuÆ´ÿXå„�Œ©lP¸m#bøäªo‡4Ä�«ÿ ›žª�!P\ÎÙÇòC1�‰OXKNÊ^!dQqEå¿DV0°õ5/±­µ/±Âº¹ˆ�úÙPqÃt ¤Qæ;Ü$ñ©W6 #†Ä�§þ5dhí’ÞA šºõY ;ÛB©÷e(Æ¼'EW³r—’ÓiRõ<­q>ºš=Íá<�êlù)¢§u:´Ÿ'C÷µ
¢¸=�C,e[7"†|Ä�¥õ-�õÔ�f¢	•(¨¼h/Ï÷e�˜5j$ñMÁÕüÅ¬”òÿ$å4<'sŸâüŸñ¬Ž'¸öÎ;B¡,¨KÔ�î	ƒzùí¡ƒ-ÊEr4÷Eï”#ŸU�ú'Ô8Y¨ñôXc^Á¼)�H\¢Æ’HIŒ¹ŒLÖcbAûÃXZ÷}\mß]|kÿD¤ 0¬½¿3¸½�&êl	ïã)Ûº�¬ög ©oƒ<M5(ÑýÆÇ ÖJQï.y¼­À,Wa*ðsT"óQn*ç^R–ðfyp2–!ž °ÅÒØ6±(’/æ†ñY]¢†È�²AñG’æn é~Lã£Po©,{«5¶û¥×M¾a¯B_ÔD>)¿Zu¿0‰;•‘.’óÄ’øRÉPB�¤?�'áÇð†±¼áÚ¨ŽÞ*œ¨SÙÖ
Eˆ¡1"ºî~¨6úš,uß·ØY¾åºº/µø„½lJ|Ö„%ÏVÅTOÓˆ-òüT¡8-[Ü�T$íJfJ;¯q¤Íñ\iž+­ˆÐc»DÊ†þô»�¬¹Êu÷A­Ñ`[œþ•ggñšïâöŠï6ßv%ñq†|¯W5Éˆo¡$wuçdˆÛÒò¯·¤–É8é�²ºdŽ¬ŒÀ¥Æµ
:z•
(ˆ¡1"†bÍ�ÀÐÝõF‡�c¡³&8o¾ÜéìºÐåú¬Ë?q–BžæDU�ÕÆqè‰�rê +;{´.“"¯Éª–Wd°åd"[žÏÉO(ÛGU hþ˜§¿…FÃCZ-N½í´5[ìvryÑçò¤Ï7ñ¾0¨PÁÃ2%M1Í¢ªøŽÚµ�š‚ôQz.i¢4·ü%—u#;…5‘‘ÄÍHjR¶ß
dÄP¢¹ªOï–áÁ÷mæÚ¯E6¦¿^pž“¸ÿ4ìM¼Ó¥`¬S9À�f�•ÄþŠ’”QraÖ�<U‘SX§¸–Õ¨ ¦²å‰)­e*b ¨}±n iü
jO«ÇPý×vó+}6&/¥ŽNOÇ]ƒŒ]N˜ �ô„2D,«…ƒo¯®¿ÚGe$^Ï*I›¼F!ÝL¢VN]-lPà³Y±™\©²­¨ˆ¡1Ð5¾�úÓ»€{öûU¡™Öâ�µÑü„½ã£[ÎWf¦<âå2¿¼qP9¿ÓÔ ˆâÓ91½ùõW¥ÉÌ¤	#GÇ,Wà+š&±ÅìqlWªlP¢ú_C±úV¨ÐØM:;?ðÏîÝk¦ñreðôöy»ÿ¾€žšq#Œ(¼s…£hz³8¸�ÙÞVÜÕ“ÎÅK¬x9Ž•9Ý\6ÙÌ–‡19£ae­e[7” 
-b`j|
Í:;Ö:
ö¾Ÿ;òlÒJïÇY›Û�üe]âúf<³y
-ß²Ú1t}©$˜—Ó&"
-±CQ±£�é£áÂÒë˜žfi0·UÜÀT6(UÝ¥j›€ª¾jŽ©Bë©í+=»çe¦¼k©=ó³5êÆœ�¯ø‰SLû¬[fã=ÏRú-ŸÚüþÜdº72&Á
…HS‡‚eTqð8{=(@wtö(Ð
1ÐÔ¿‚Æc_½k?¥º0tfÇ£›&{ï<2;9ñ…^°õéšwˆf?½˜VñØ•R0ë^�r×ƒƒÿ×åö`…_wÀdx¯ÿdB�Ÿ"·ÛWQ!ò™júÈº;”
ÊC™ÚçÀ8°8G7¯tkùT®¯:óðÌž‰¹sÚCË–(áÊ‹óÊË\pL*ž¿HÊxìB'<p­›qçøO{ó¼oó½¦ñm—§SÚ<o“ywjc¿Þÿ™PøŽO©§Û9ÕI=‡n¢Ë)ÔI¨“ûý~¿­!¹LÌm˜°æ²Ù•
Í
-363Í5CéU9åôÊéQ§žt�¢"áûìôÃy=ÏÏëµ?àüðþýóë§9èA«XUP¾A
Ê·®ÁîU‹½Uo‡W=üÝpÝ�—fÚŠcÙ¼½sãœcpõg—8îg|Þ”-ë•?;ùYÀÅè?NðÃ…^
-?]4žT‹'ÔžxD¿„|TZƒ||I *¨\¯¼­+@¨³âcç¾åüºoÙÈ„ázÅ´©ŽlÑÒ¸qÉÆ±jÑ.�»è•?ïš’óÑ3+UÙûÚ¯0â’2RŠšˆ,;1_†œ8S8‘SðœUð¼Œ«*¨úN
øZê’íj/nh"î>Ñ^>ðÞðÙÂ1ÝF05â�…-¬|òÀ6”±gæ]qñŸ<	èiRèû*j2ˆŽœc¼‹ÎóŸÄ2ü&3”ré¾S,šª@°Â-j“=ß!î=X…œÜó�Ž¯‡4áˆ.LÃ/–t0sÍËÀT°	‹‡˜È—Ä“óž8ÔœoZà,2Ý6$Ãw6ï3“á=›¤„O÷š#©l©v5â¹t%âîÍˆ¡wÕ®ÎïYÝ6óÀ`ÐÀèµK†ã1`Ö!A`.h?ðŒöß/@b<!ãáJÑwÀÆ¸AšÊ^6©!~í[†UGÈ¿lYÖÚkx «Á†½;¨p`ÿY8h„…Ãæ§ÁÈ>Ž¹!ÁÌÛ,ý<Á6ÐœN¸‚Ê¼QÎàä¨ GUB££²{2bhx9Bþ¯eh¨W�æ6lÛD��Ûð »'öŒ„&ÁpÐ,­½ÁÄÞŽ;¹€¹‹X»:€½›=8¹Ù‚›»-xºÛ€¯rŽ�îVâ¦ªë×Ô�£„èƒ:‚ëÔ‹aÃ
-lÚ˜[4@kWìØ�ÝC¾°ÏÈô�¹ÀÏ¦pÄÜL,mà¸¥˜[Y‚••ØX›ƒ½µ8[w%/•}ÃJ h­ƒÝÍ�vpŽýDkCÈUþ)À2ÃO@Zb$�M‚8Z`ØYSI\Š©'-a®ä.bääEŒ‚üs‹ò)z„:…¾K}ñíñ©ô±�‡UüÝðwÃÿmHW6dÝ¹Ö‡�êb †!ál|¤f$C"…°WDZŒ-§,ÄÖÒbÅô¯±Œ¯±ýŒ¹Ø›y¢oç¿A�0ÿ~�õ{èý‚{!TŒõ+€ªµˆº€7Ð†Ü£{�nu˜Î¦�ïçôÐ@ a¢€�Šƒ3Äì…$&ýKB	k.¾ºp6¾áÜçx)ûs|oñtÜuÎëèáóOÑ·¸cá#%wBGJ‡Ãî«ò”
4Íµ�«lÈ2Ø4“ÝÀ´4€"åožóu„‚�`DG-å&ã¾ff¿¤Ñ™Ÿ“Ùœ�ØÊÒ™ÄúÓ‰’‹Ó‰]oã•Oc†xÐÃU·OÝà…ß*¿9RªŠo
ô?t4€h°òLt ÈR8ŽG�ëmÅÁþ‹…Qèù<,n6Ÿû‘@.úp¦ l*¹”÷+¨~‹Õ¼ÁÊ.MÄ÷Õ�E+êoG(.DÖõD
óå§o•«ò•
eYg�õ·Ëx[€RG¸àm·Tä7�ž-JH�a¤‘§H9ì7xFå\qí¶Bø4±¾ñI‚D4ß-‰é {ÅÝQý
²˜¡šÖØ›Uª€üïÿlXeU+k×b?”;ÏËv¡å;w!"r†—:U”JyMÏä<Ë¦ð¥2Æ°Ü+÷±Õ’ß’D’Ñ”Î–ë	Ý-]˜î)¦W|%n ^”p] 
-`~¯yÊª²�®¯lã�Pf±xG–žÖ_ª‘>ŸªÂ#Þ—ÇâÞ”¤P&
-ñÜqrNÍhM|WÔzW.N­—^Ok“öâämÒDy›(¾«Eˆ½ÖX—4X§ŠÿiÈ××Žñv(·ØÕö†µîV³u^Óµ¡áo1¸ç•IÔÇœ´’ûùY5·ˆ¹¢|¾´/�+ëÉttáÅ²Œ™×!«M’K)½b>®_¨
-`)ò•
4�€¥÷#”mƒJóÝPcÿó¼ÐÍâSƒ¿çTCHø«ËQ¸§‚êØÅTî› ¤E]94i;áœ¼•PÑÙ’%”7g·ËëÒÛå<œìjù™®–i}Mªø«�®l(Ôû'”m¾¹.ÔÙškr5Ÿiöõx×|ê¹(2e¼>–2ÊO9?\†¯î-Ìn’ÒÈR‘Ù)Ì)é®'Öt×‘Zºy™mÝÜti×ù¹´8£§YP l`j®þÖP¤·.i�ÀLgQhg0Ûìjö¾ÍÇíµúTž2&Š!ß©Mâ(*ÓøW¹™�Í,b[-�ÞÅ'³ûxd^_µ©¯„$é+8+éc::˜„.‰*þj`(Øz›¡ÂH.™i/4Úê’¸Ÿ¼êåú¢yò±ìTÒhËéÜá†DvOMjUk9¾AÈÉn­b‘»JéÌ~­LÁ¦×)
-hWÔì+ý”ìöNJ¶\ªŠo
,eCžÎFàèiïÈ�Poºs^l{`¦ÝùØÛOçgý�Á»Obï´£IÍqç®^N®W§k.f¶–»
-X4#¿xˆÆäQ˜âÁLró`&©µ'‹ÔÑ¡
-(ü¯®Þ&àÙBÓís›ŸÞË�L^
x8<¹á�º¯NîŒÈéiÃµŠ°ÿa§Nã¡N8ŽmìÚxmÛVl§ÊŠj³î;Ç„÷=c˜qßŒ+ãÎ5Žd�­–„´¥Œ°ŠýCÒ_¡T£ö�ÚRÊ†MŽïþüŸ›‡ÿÿïÇßÏ£o]mTí™Ê¸kEåI72Š9=ÉÜÜÞ„B^_|Q}oTî•;‘Y��Ñ™ÍmÂ Ö!ŸhÈ!Ê7â¼Êfü¦³máº¡ÜÌ-3•—VÆ‚û¶.C}®A·;½“[Ûüò/óƒ*ª®„Õœ®‹¾šSÉnKæ%uG—eõF–Ÿî�àÕÞ	)m¸ÌmìÉkn¸DC�Ì—ÈÛó
xŠß FyÓòUm™�m†{¦ï˜ž±8òø‘µÓÝûN�½ÔÄÆ.z^Í
fyÅõ Ü†°†´‹Q­1ÕìÎÐóé=!Õ§z‚k.tžoìdV4µ³N·¶
-…D—hàÊJáŒ¢.*o\lÒÚò¡Ó`çÔ}Á½!Áq‡žQVË}·øKý^9çz|ËJÚ™ç³Z/'ðC›C¢ÛR;X×JÚYüê›L~ó
F]k+£ª­I(’\‡B¢¡DV•
-på'©¹6Ío_÷éKžïž2Õî›°´½1në×ðØ)®ê¡{öéA¯Òœ>ŸÊäÆ¥ð[,>³=¢•Ñ‘ÒÊè,jñí®j¦ßn¹Nk½É§]íhŠ%EQ$#Ž2Y	Ôì—Xâ+I¼ëV—|1¬³qxÂ`oÿ´©ö­×æÖ�SÖôØE—œ2òÇ\‹9#îg£†<ë˜ƒôŸû!×¼ÿ�|Íû÷ª×peƒçhó��Îß<ºº/
-%DC‰´8~‘ý—äÅçÚ‰Mþ$>òB}cÿ´�\ÇìQþ{³ãuo-¼+^[‡s_Ù¦¤M9äÇN8–<w©ò~æYëñ”Uçö,®ÎõYf­‹ ´ÆEpá‚Óx[µó£¾Ja ”h(•CÕ®õK�{×½¹-':*Ø·þî�ïnÍëËóŒ´kçŽZþòÑÔ£xÖ"0óƒu\ÂÛôÐ7öŒ—Î§©“Tžë„_…ËDD…óD2Ïi2—ç8Y^î0Uÿ³ýÔïeÂ@Ù”I¯GývÑÙ›ß“ž>’"
ü© ~kN}+Ygí’¾VÅgÃcEŸÉÎY‹¦¾I‹aÇã™³¶©Þ3ŽÙnoÝs�§éùŽÓÁùÓqyoSsíßäØ¿;{Òn¦>[à}-‚_7‹~æKzÔ/Nº÷ò;‘Î�$šVUdj¡±¿Ú…Ð#gÀÀ&F0ñc-›‡Ð­£ÝìÙÎó®‰sÞIvsÌ$Û¹°$ÛùøD›ùô›…¢xÊÂ¶0pæ+Òb½i´ãÒ½b¤Î¿¶­kZU�¬Å�2<(ÿÀ…šJ:4�ÄCÇ<úöþ0ôðÂQW˜û;‚`·âd³âLYñ	±^a_	#°ƒ¬VÓ­V„²R)F½N"
ô~Aêz²žÔ´ºc}-öIñ°_ºö¦áða6”µB fÄ€¦9º6N0p´ÙÕæV P-àài7Ïcð&øyš!˜j†ª)Nxcì2±ß!Bê%5Í-Ri1vH`÷–TìÛ‹ýŠA8¨BÇa7(:@Ý„msKè[ƒ±µ)Ì(&°¢�accG#¸¼)†`B¬…1ØB"u÷‰�®�‘HuË_‰ð°Q,›%9�Þƒí;±[Îû¹@^Å5­ ¤{ªGL ih]#C€LÖ‡Yd]PÈ:°'kÃÕXžBéé!µ< öÇI¤ŠQÑ|ˆ‹q ±!R›XØô½¶È:a›<»šCNÉ
-*F8¤vJzPÕÔ�†¦6t´4¡¯¥C-u�µÔ`¦¥
-K-P„‚DIqÄIK!|ÏV0ÜƒP5yDQBä1mDÚ› „fÿP*è	Ð²@+
­2´K!ði
-…OG(èwÃ@	[ñyþ7M>ëõ<bšúGÄ¤ûdäs×—kúÃÿPCÒq°‰†Ù­<$‹µ£qfZˆµ;Š/[QáÏö‡oF0èÅÄÞÙÐ/F‚~-
-¾7	½Ñ`<ŒY¤?ŽùH{ûÎKû’ú<nÜí?ì1×É¸µ ™hˆß*‰(Ù-=¸±ªû�¨É¦H¶!ƒMµA$ËÁÑ,09ðË�]e”Ç¯0ª–ý.'.ùµ$-ùu%öLžó>ñÖçQÊ”×ŽÀC�:âþ‚3ä1‘´œ ˆ†h¢!Rq'U÷‚£wi&êH§!Å�‚x?*¢ÂVB’¢—XÙ‰‹ÌSœOþçÒþö¯K_ðçgÌû·gÎùßÍšaeOùŸxŽæ»�åÞ£
-2û<Ÿ§®…hC"Ñ³{3b·ã„Š,2t�}T'� “¸dŽ/u)>4p1’»œÎ™àfýÅâåÌ2«ó>0
-Þ3çÎ0ï¾bÜ+Ð†JRœð)üíINíYÖZ�B4$mÝ€X¢!^qÒTvá¤®<òÈÊ(°:‚<g«¥,�Oœ À¹øöldJÆLpNþt@iñkÖ¹Ò?™õe¯˜M?OùwñÆý½Îô{
òz|”vøŽrÛc¹k‡hH&âˆ†$d*ïDžŽ
-ÉJ8e©·\ädù)ßÛ}.; ð='’=ÍNÌzžQ2XÀ{Á*?;Î¬þõóJåSÖÍÊQV_e?£¯²‹Þîc°¼Ùÿa	Ÿ9Â]RÿÛÀþ‡ðú
-kúÐÃ8þKEpàÀIA=Ñ¢ˆGE@‘!K–„Ñ°Å  36D!„I�HY€"‚�ˆeˆÕGÑZÚ:ŠpìQë€_óøœ‹s—‹Ïý÷î}Þ]›�°��èÅj/TÛº«ÕGšßÙÅêóU\ŠyEJÊzž›Yük*�ö0žÄú9¦’3ËlžŒkkžˆïiÇŽpcœÞ(ESWô¦0v’Þ;U­Î×†Ü-:�¥j îß
-ef;¡ÊrÐíM¾Ô»Z¼¯÷u~s-ÄŽý¼›õ´0µä_;‘Bd�bËZX:w8‘ÃJqq7¸}Ø[\Qì-./NÉæ&Œ1š±“tu€¸Fª†lUC¡ñ¨0ÛTË]À°;ð©ñ¬ù"ÛÛñ5+ý²>âÒLM\ÖÃ²dòDAM‘M`¤’ÚdÉ•¼¾&¯7µ�×“ÖË§ò¸ØA'q¸…•4ÚÐ€«Sˆ:š�§jÀn’ñf¨4Ûµ–Ë
vÆ8.ÇÞ´z9Ìµø=cc¢3b2§ª“H·KÒ©ù—Y’ì‚¶ÎŒ2¾0ƒ.äg6;²:m™‚Æ”#y¨½6EÙDOmP
-þ¯�l¼	ªo†ÅwKl[£w­Îÿ~Ýáiÿ’�ö™á†E>`]Ê«M,ºšVÓWœÝ(Ê'´µ]&	[²«Ä|c'û2_ÌÊéÓ3äâê´~eúpËÕt%[�¯
ùª†Ã�Pºo#ÐëAƒÅÎÏÍ6{ßòœÌæÅ6ÏÅ?¢žðC#¦Z"Ó”
ñ…rZJU%³¡�”ÓÆÎ/Õç–w_#\ë¦Z»iy=Ý¼´»$S.&g
µ“³FšÕ�+_´!Ïp”ïÛµ‡7ëÄŽ�\›=o„N¦³×Ý­ëñó|Ø>Ö~1uˆ[Ð[�«PÓ™œŠln‰ ª&’z(ÄjI9‘-)-KŠòz%DU“OÄßâªóµ�¨j êeŸ.ÔÞóm:NïzÝåhòRêfõTæãq¯'£b’åÜhbKic¤0j2[«Ë/‹JHDIaa¹”XÄ�æ“xÒœÂif^oo6A.ÊÎä©…:ß@�ªáŠáz¨Ú·˜¦–[Í·,
-­
æ%ûŸ
ºšOz¹MÈÂ†ºÃp½ü¨<7¾‚ÃÆÕÕ2ÒZÊk²„ÄŠÜÞìRF	Už^ÖÒŸZv]–¨êÀ]éïL.¨Eÿk(2\5Fë€uhýÞñÍÝ§vÎÊÏ|ÿÛm—£÷•žgGo¢Cå}¡‰�]s¹‚˜2f¶¶ª)™STŸ.ÀÓð\UA?¶ª²[Ó$K vK£)’¾ØÒþ®8ò
�:_®lY
dÃµ@7ZœCk?
-Žmø«ïäÖ#v»žL9™sw¾¥ð
–%tô]ÈawG–Ð„±ôÒv,›ÐœÜ‘Ò˜q=Ž™×Ã¼ÚÝÈê�fuöD0¤×#©rQdÕÍu€¤j(T5”êÃH¸uÞu]7wÓjãï6ÛLÛšŽþìê(÷+ýãšC³ëúÃ‹)’(jAWLc† ¡=¾=EÕ–ÛÁ«èŠèhì¼È‹1í7Dö Ã¼ÅUŠuVi‹\5X
�ßk-óÐz#=¢ýbÔ|Íô/'ô&flL†»Ø÷Ü?‡nŸô‹fÞ	Ì¬	-R�n^ÁÄö]j�”$v`$—zËøaRfG˜LÔ*j
·„òMê@‰öJ(V5P
VAó¿4?vkÎ
Ô|òàÐ·“Ï,õF^Øï—þádÃêîËšFERïû¥‘ïúsÆƒ(¸ÑÐºHe8û¼"®%D™Ý|»¤9øN='hLÐ8®dŽ6HªWJU
%z« N_x»V.H÷¬˜™4Xq÷w­‘y«­²y»„³Öœ.^ô?Ü1¥3çp„§(BÊcßÒ¨GhjèÃFà£h¦ÿtF=úI1ýËµºå]ó›¬õ}0IóŸªVÊµ5€¢§	ìíŸ:·#/•ºÈ½½ŠySmÙ‚ÅáÂiÎíNÕ¾vð(ÿ�sqÎ-6ã•gzÜ,*ó§9èÏà
-ôlÔU¿ÙTŠï+b…ï«ÊrŸ9V™÷\g)jþ§¯gwÉêeµÐ7i@ÛFä‘ü[dêî·ˆbî;
Ù{Óµ¢¿�ësþ¶2¡°¶*o{–øÎ�ùÎ)»è±è™²èƒG/|Âó|°yÞÙy¨·$ê-5×k±9çÜ¢ä²ç;^¨Z½× Ó]Èä°&¢|¸
-‘½ß£)Z6YÏY>¢O_>~ lÙâqùä™ÌåÓç–ì#–1!Ë®Ñè%¯ŸÏè$Ô§ó¸sŸ.á<?%ã<?ç$y|&'z|¡aÝ—ZÜ—ºãÕÚ*ä1A&eˆbìD¶°ÁîU0Ö¥�‰~)6Îƒ£GÓÁÜ:,�/Â)¯ °Aû�C0
-ÜÎ{‚7ÆÂ]á‚JtøYÀa\ÁŠÂœ�zÞÕzÖ„ w»D1¬�Èî¯D„°Q£	ôµh°[·ŒvàÀÞ48df'0pÔ&Ì}ÀÊÍN{º‚Ê\Ugåëhß3êk‘>ö�àc§:Hv��²²—:÷ø¢”#Hÿ8‚Ÿ H¬[I=-2ìÐÍƒm)°gwíƒfþpð
-ÌN¹Á1[g°°wk{°w´g§Óàád
ÞN§Àßé$„:YA„£%`, U­Û‘+äöëüê…à¸s:÷¦)%¥Å’J$BBQZÜÒS·Å>‹™1˜3f1‹f˜“u2#ƒÉX"#†ÛÕ"ÅÍ-*=I=‰Š�.O7]•ûy¾·ÓÏÓ?ðüðúùó>çs>?|!óß(`îœ02‚©	–-‹‹UXeV›Ãº-?ÁF×½°yÛ.pÙ¾Ü=½ÁËË|¼·ƒŸ÷6ð÷v‡o7øÙÛ‚¼¶ÊËpžßs½ÍÀ ±ÇÀ â)2ÜÀ æ$ÁC:Ì5Ž‚f(0Yq–¬
óuûaÕÆÝ`í°ì6{‚½“8:»ƒ³³¸¹lgðvÙ¾.Nàçâþ.pÈyù. ÏêòE@°±ÔfkÀ»®"òóFú{@²R4.Bã�CpRg„Aˆ"BÊPzaMˆ„w¢!üPÏ£èÏáã˜a˜ÉÐw˜Ñà)ìÈwü¿á[CÂ·†HkÀ:XAÔV; íp„˜ýÛ€xt7à°€Ž
„0^„¦c LŽ…°Ò¯Fèp€º‚èÀºèÿà¿ ‡ñÓ¨7„©°1ÂxèÛÈ—Áï"ƒ'	úcá<ˆ[nDëå¹i
P\l!Þ{rVn{ØH¨ �ƒËÆZLTPEÑ€®@ÔÅü�i&ÍbÚH³Ø;¤ÏØ~ò4fˆ2‰~M
¡…ŽRŸ…L�ûCß‘ô&Ò�4D!
1WÍÙ˜^�µg+0ÿå´°ƒ@Ž‚H"„1³ØLÊ¬"ö3¶,î¶&~ÛDû+âýcD}:¢/a;ÀE1Ã^1ûCG½áoã„OÄêƒ4ÍÜb¬–uƒ%0�××s=ðüœ�°ƒ=2h–LÃ&ò)3ø“ô�¸|ætD1ë®ŠýWŸøw™ó_\w
-×ËÃ>ã¢’ž„
-„sn£Ç]èñ}€edtsc Y™mý
-ànY
Âíë e·¤ôa ÿ,8C§¦É‰qï‰bö!‹ÿ^)x‡/KžÀ×¦¼Å_�ãÛÄ£øž´!lŸ¤/üÙÉÔ€¸óRp;Ìi�xÃÖØHCÒ@^kL;8Y‚ØÃ$»áä�í³’ûfR°'>pÉ„©&m‚,à�ÓÅ#„ü“Ã„bé+|Uæ¾A6ˆkÉz�»�ý$âßÙw1�³:±O¥m¸�ÔüKÁü+¾>�h4ËŒ�²vpìÌAä´Ò=¬ Ó×NýäþéÔ±=ÒÑÇ&EÑøq.�>Lã
-‡Hbés¢,ç)A‘ÿ„P&Y+Dl–÷Fÿ.¿õP~ÿPÞJxœu™øTúKÔ€¸1j0Eà,ø§a!Ä­Y
-IvË@²ÙdÛÖ@Žï†/yþ®ÓùGwOe‡ÿ<žAÄ½ÅÒY)}qIÙc$§ïEç*ïD«”Ý1UÊ.²Ny‹r]ÙAéQ^�îQ^Œ~(×ÅôeiIÏÒkIÏÓôùÚÀDè«Í y�H7›CÎ¶U ÷±›Qìwy_xÄgBzx8—€}!¥Ðú’RzØÜ¬[ñ"ÅMjfQµ@u=ö¬ª5®Vu-þ’ê*­KÕD½£ª£ôÖP{ó+cŸÈ*bû3ô.ÒÀB˜«–€xÝ�9.…|÷•+}l¦Uû�&Kï-94¤ÀaúsHñ÷OÒ„·„lÙ
¶@q•.)n¦å¨/Ò‹ÔMô*ucB£ZÇhW×ÒºÕq·‹Ëâï+Ji�rJh}Yúoþ\`/]‰–‹!ÍÖ²Í ÀÝâ‹j§ÕŸê}å‡<_k‚</Æ¢z¢c»³â’Ú%ÌÌ+^AS¢¨ä+³¬–U 9Ï*+¯f×iÎ%¶hÊY�šâ„[eEŒ»EJÆƒÓ
-Fož>HÃ��¸Ô¸–¦�n»òÃ7óõŽ5Så{íÇª<†Îú?Ñ ÃzTQÔ9•ß"K�þ’Æ9­
-Jªx’r
'·ò,WU¥æUW•ð~­Rñ:*å¬ŽÊ|Vwi.«G™Ãº_ ð¿5ð-A†­	œv0…b·¥5Þ–œÛ³~D{Ðu@{|ï£s¨�nu$ùF!…ÛœGO¿ cË«Òø%¥É¢Š3I™ÕÊ$EM� ¼F.ÐÕäÛk29¿!:5RÎ•”s¯PŸ¯
¤Ahi§l�Aá`j×%ª¼V¼ÕúÙ¾Òp~ÚpÔï~mXPG>¦¥„”Ø¨Œ—Ôä1óÎÊ8ÅÊ4aE^Šä|VržV–\ªÍHÑj¥¢­8é†VÄï¨ñ»KE¼ÛÅú@Ò¼�kf)–Æ�m³Îl2žÕl5}_ãe>Ö°{í`³¿ãã‹GvÝ®	l«‰ˆnÖD³ëJbS+”	¹ª<¶*/“_!•ˆjSSeõ¢ÔÂúäÔªzAÚ¯õ\QëNr{
WØ©á
-»Ôú€àkÃ[A®Í(¶7úTéb2Y·Ýlä¢¯åókûì^>ìÛÙt¼¥Cl¬&2«5d±º„–] dž‘åqÊE2�–›.Ñ±Óó™Ò2#C§£¥_kˆOk«¥‹¯ ‹;5ú 
?i�X.¹Í|PÛÏÿ«ÆÙh¢ÑÃôU‹Ïòþßü6Üm=´³ýÒ‰£Í�(B]>¡¼:&¥¨"öTN)½Pr†¥áÉ¹µ´‘Žš“ÝHÉ-Õ‘ó.4�r[ëcNµÕ’2:*ÉÒÎr}@høð‘éÊù °6ÍFÃ?ëœæ�^r_øâ¦÷âG]¾v·nô¾ÖzìÌ×é?Ô{Çñ¯8’º\JW'´(DFÈ „qìŒa³o˜aŒ%B¡Ó‘6-ZNRZHqÔ±¤sJ‹:Õ…tuU.©äªT§¥ÍVyŸß?pÍíëÆóöûõøÜø>_ví%±¢â\TjÉïªœýÕ	;óN&Ì)K+M?šY•xdÃoê#»�+:zZU|ºFu´ñTÌÁ¦ÊØ‚—Çæß*Ó¨†l#}ì6ÕCÑÝ‰
-+Ý¾Z[Ý®zG½ŽVºÁÝV†ùõ;�®uÿ
-9U/ˆ,ûC–rð¢â§Ýµª›O'ìÏªJ.Iú5ýdì‰ì*åÉ]UŠ_‹+5Ñ•
'£Êo–G•Ü9]Ü\¢	6Q
9TC¾‰.Ž›é|­±Ð~ÙJûÏ;ÖÚm�m§Ýjw3»úÀÏåLKóä-®´¨I”´·^¶vë•è­ëêbóSÎÅÅžM)‹:»®<²6ïù¹¢2ùùS¥²õÇ¥gšK¤Uw�H+Zi‚Íz:Øb¤‡Bcœ˜3i°v®VW“	yÔ1“4ÿi?¥áùŠ9ç;|+Û™þ%÷9Â‚žzûmaFöMÉ¦Ô¦ÈÝªe¡¼>©HR¿¶XÜ°½HÜxøˆ¨©ú°èÆ?	ï
-/µí^x˜¯	r©†¼ß¡xÖ$TÏ"ï®�‡wõHs§©Vc·ãÔ‹Ýî¦5�Þv¥/¼<cqóž°crÚÃÓÒÛxëãî	·Ë[å{E­êÁ½Ì}üÛòùm‡öòVýÌýïµ=í�wGÜéØÁ½ùt»&Ø6Yù†Ú(3$/k'“×uIóÃÉ¤±g¡vÝGGƒš+æ–¾gØöx{îzãÏÞØÅ”gt†$&¼bgD¾ŒÈ¾çr_Ån�x�¾5¼sSnXWÁ–°î_6sÞœßÄîiÞÈ~ù,‡ýôÅzM�7yO%¯«´ÉƒËÚäÎmÒðRŸÔõ[~WóÙazég—y…ƒ+ìv
0Ü7ö{13û|ù+ûÊ^V¢¤7,�×'ÊïSfrúS2ÙÙìÁ�kB‹V‡~®Nùr-�5ô$•5ðT#ìÑÕúPFHÛYBî4h“†{:äâÐL­š¯z¥c¶3
-Ç–ÎÛ9æLÛ8æº<sÔÝ'iÔ3T9ê-�ŒDòFCb8c¼¸Ðq¹š5®V³¾­VÛÇœøYÅœ(‰e¢&&�Š@üG£‘C„´WSû—	i¸5‰\x¤CNaÖ¤R˜M9€EFy ÍÝ{ëÐé‰pñPÀÕOV8¼ÂCÀg‚-„@ä�(J¼È«…~Ø ðÅ.¾Žð|PÍõÁÙMž”Ò|Ž�ÆëZäâ=Bª;uÈqiï‡‰þ˜ÍXÓÕXl™[»(8¸AwÃ2ï`¸ùÀ+ÐLo„ÿ^°'dÁ¨˜XäŽƒÜ°%p
-Và°¿&-§	¹~•�ºfjÿ!ÇzµI¦élƒ‘~6fOOÃc5ÌÈaaÍ‡µ=¶NApXî'7/¸z0àÉpƒ/ÃLÏeàxº@Àp†œá•)îÔ'Åm)r4ºQGÈå›„Ô< öŸ²¯Ÿhm…ŽÎ:LÑ_CŒfIñýÜ˜š³0ßÚ¶^°²wm©+èËàLw†«§¥ðq²G�“B�–€K·…„n¥£
T]i ä·BJ©ì{AH.Õ°D'dŠ:"èÍÃ4ã ÎóÆ?zÀÄÒó­\`¾˜ŽE6KA£ÙÃž¶t
Ëh6p£YÃ“¶¾4KÙ˜ƒM	ÓªéÓ 76×ÒaK‚ï´÷%à¸ œË[á‡ÐÔ „æƒ½“r�N)aU”ZÂÿ`!â¥5Ü'”n¸½,ð†Yc¼QÖwœÕñM£ÿ‹†8Ãiˆ¤x¦àÚ.€ÈÑw[ˆü�Ág <Êœ”`p~
-gG(Â°~Œ�ˆJÊ6¸—(×ÙàµP³Áï¢ô²ÇùÃœaþg€7ÊùÀ×jÃ©ˆ2ž>Õ ´™ùRD»Ñåç	ÛB™?xI!à®
CDn¸ù\ðŠyà�à�šr�A=å6BØÎ¾æ�
-?ñ‡„ƒ‚>ÁÁ;þ° ‹?Ê£pÿÄÿ}*¢©�¹	¤‹çAé°*×ÅPù8Bâ¹Äâx6k¨½MBð÷ˆ!8,ž”I&„Õ’oÂsÒqÑ5é˜è¦tTÜ&¿’}”õŠúäo…‘¯ŸeÏ…#¢g Á`*”³§CD5D[Í�ÚÞIË­�äí€x–b…ÔË�4M8!Z/åEŽ‰D‹W(FÄg”Ã’ËÊ!É�˜/’û1Ò±Ÿ$ïToDU/„½ªÑ â¡xX®	
ôC5ˆÍ�¡²4A²Ý<¤-³@š—R™Ë±’ï‹8g\‘,ù*ÿQ1,ÍU}‘ìUJ‹â¤å	ýÒšÄ>é…Ä^YCÒ'ÙÝ•dÏ“»¥oRž‰zR‰?%Þ—Ä5Ë†”š ‰jˆ¥"ÌF¢…1Ò—ÌA–ËB¬õ¤!+Èk"¼GWE²‡â¥ƒÊU_äÆ¤Oò�«>È
-SßËŽ¥÷È*W¿•�]óFv5£[v;³SÖ‘õTüúÇ6éÛŒÙ‡Ô[òÞ•M‘êë`åßô¡šmåüYH1ÿY¶&Èvž�†5rècëÃ~Ê’…ö§ÆI?&¤©{bÖ¥uGåþÅçœÆC�7ÿ»ï£¬Š§ž¨í®}lçfµ¶C…°È‘sŒqŒ1†¹cs`fÌ`f3r5µ�³U‰M­�£ØzPv?=Km»û{|ö}óâûþ‹{É%ÍGˆ3g#ää™ð¦ìéˆ6ÊTde6A�xIŒ\Èì…½ÁõD-c:£W“µ(¿Õ vØìn[�ux+ ßhgöü•Ñi=ßçÌo9!ž+ÄØÐ_0(ä<—1
§dOÀ˜yã°ÚX””6­¤�ÀoÒÇôÐ41#´øínôµ¾�¥Žy�WÅ.c´(s€Ü8$l·ø]6 ç�- ·,—]ÝŽ¼/òr^a»ÿB�¾6GLD>Gcð£H"U›ÇŠe³b…¬þ89ë¢‰ÕßÁº‡`õ 'Yê¸i†
-1GmŽ_ÈjˆƒÓ¤l¶Z”ýf�¹k ´Ç¶ýÍùvçïÂÁUþ•So¸AçY°ÀçÔxÄ�1˜Š£ö&e³zì;	|NW‚„Ó‘¨ä´'Ýâ´%ßãÜF�sš&Ø
‰ÓôºÄ9ª<i!S€Þ8$n±©öÖ ÛÑ0nœ£¶ŸJ¾Ýþ^p~ï²Èóø‚ ðÜtqäÕ§LDìP
-{Ÿ€ÍéJ#±Ô)¹Ü[¨"ž
-%ä·¦Èù-èf~Sj¿1UÃ¯E�ñ«SžV¦¼ W¤ÌS´©fÆÿ°öV€êh	
-Xþ×6„Îö¿VœÛý¦ÒÃiNàú³ ÂWÃ‰…?`$aº)˜ì‰xVKz6ï:†Q¦ÄðuiA
¶^ ÀÞT§?H0#1f¼Xˆ™,(ÅÌäióÏ!i‹%ÀÙ[š£àì·e_oZ«8½õmÕY‡E…ûáéj—ÑŠ0Ÿ�Ò˜¨vZMGgµPÒ™JR&OŽËVe‰%8ayNQ.Æß(áï•—fhÄ¼ôÑ2nú3;Å`c§?`6É‚� ;šÞ~ó¿ÅNVï«¾ùb©Æuû|Ã¥ýu¾ÎYˆW¯8:²“�D©ŠP¤z½:‡À+ÏÌ	ˆI	‘/å+¥ÅÄF)‡Ô%-"K™¸Çbîi	÷¼P�¶q@ÙZ‚L;sÀr0%ûÌ>Iþcñ›âäæ×
ßÙÍ´\Ü=vÝç›Áškž=•°pµ‘ÔÌO&Öaò%ôŒâRj¦ˆCÎ­,ÈbË˜Yâjz–²:Ÿ¬–å‘d9¤a)…øD@!Œs)„gŸÒL�AÊÆ�lg
-L€`ŸÉÇª#fï”'¬š]l§nžw|Òâ}ª¯>È£Kª’Æ&ÖñU|tž°ËáÐ	"zn¶ŒJa(²)¥5Y9òšÌU
‘ú@�#Tã³4åøÌ§%Ú¬©@ÛZ€œm¦€³Óˆ÷­)›,73›¿ålýL}Öaøæ•w›.«•á×šåpd�™Q!BQù%6“�!¤0I2<-·6=�£L£IëRó›êÐôžZT^¿"…:,ESFÊ>¤o06æ o›1àýÛH¿4|¯<høú†“ñLçI³Ñ.×ýj�£Ý*7UShP}}¢R�À–U&RŠÄèÂÜR¬€ÀÅW¥f×&(
-ÅJdQCm<»«&®ð¡Á–Æç?n|È01é›Í}«(Ýað—l—þjã^ýWêCúÏïeòèî™Ýë¾ì¤nó=ßt3øª¼%"FÜƒáÖÆ“é²$f–$µ#L—"K³±¥Ìš˜2‘.¨—Ã…�ÕQeƒUÑ<My4{´L€31kP°Åˆ¶ë}¬Ý©»¤rÐ™ùÉAçéÃFýýÎvÝ÷ÝŽ¨îx_×à+ù14ªä,…ÕK¢Ô#éµÉ¼ÄjŒ^Eª„U1ª`2¡4²Z)‰”wTDÈ5âÉHY„p¼X€76d+#ÀµÕÒm:ÿ»¾
Zl·�&†L aÍƒ»šS[nž;p½ÏóŒìžŸ· ;(¢¨=,)÷6�WÅä&·Ä³áM¨ÒˆF¼(¬‘.k*„6×•…´´—„´ŽòCžqC“ÚÂÆ!×Ò”Úèü-ß½R™Bc=F�æ‰!Ô;î ×1~tsËS×=ŠÇ—N‹†¼=8ýþ!´ûAñ¤žP,º;";¶3šÞžÀ¹ÖžÁ
î qƒ;KÙA]µE�Ýí�wFXmÓŒÀÖÙ<mÉÈ°Ìõ€ØzÙ`�©
 G}úÐƒq#¨kf—®jö˜eÝÇŠÉóÇyÏÜÝè£ÞY�}á©�ÐqƒÁÄð�pjÐCD~À6ÿê`.Í¨$Ï¸†ê÷¨-ÇW3Bñ|EöëY$iÈ†ú ØDgI¦�·êBÃÝzPï°>Ô9g
-©÷(_³–.:ïä/¸:1_^øž<{Ù'í…g8bÊ;!|Ò7-`2˜à7	'ý0•JüašBðyÁÅ{ÏÈpÞs73¼æ‡Ò¯Ì.¦y�-¡µ4=Ýß…:ÐÏJzt[êíÕ…:G
 +¶:ÊwûŒ¤«N6üw'˜o�¿"¯|ç‚]>ëŽ\r»
-[r�þ¯OœßR`¢Ï,Ék99éÊ
-)ñÊ[V‚ç;1Òsµá±Úçþëxìå•¥m‚¦dô¸‚të@�CºPë„T÷»�®äÃ—&¼‡¾`¬;í$¯Ÿ8Œ]?}
-¹ær.rÍÕ3hí‚¿ïšG°×º_˜Çzh¸û‡¸ðË1a—>RB/ýÁ¹ø‡ôÚÅOÍÁnŸ~
-rûs:ÀíÏŸ5+‚ ‘êkƒ ®>èÿ|×YTÓWÇñ?sÆÎD@D@ €„}�°C²²' l�°„,A
NDQqß©Ë¸T´Ct,V«Â¸¶p¬ë¡ZZwQDE@�í7ÿ3ïñáóxÏýÞíáÿ¾cF{õÑû¿n�‹y(¶uðq®B€wB‚³%AT<1t’Xt°8Ip¡HK€Š�*NV²ã°‘‹}©±8ÁŒÁez:Lºw„ nœ&ˆ‹—	¢­› ŽõÄÞ�_™m†õ#Ìkál£…»“
-^Y úŠ’†�&"¢“@‹�Gb|Rã£ÁOˆ‚<>yñ(�[Œ¯cÃaŒ	ÃVZþ†Ã&ýÜJ—.Ä™›ñí]‚Øó;A4
›™­ÆÌË1Ç\;ë8:dÀÅUwO6¼¨) Ä#0˜†°Ð(D…/F\x(R‡€ax 2ÃüQæM¨/–‡P±&˜Š“:È38{• Z~%ˆ}¿ÄÆÇa!þ²f3Jñ7ó\Ì²’aŽs�˜ppMÄÜ¼"áéj0|êç‡H?*bü¼‘äç–/|_wÈ¨nPú¸¢dÑ—´wÄÉ.‚øæ>¹þ^‚Xõœ ªÉ†b3²AÌÃl63lSð÷y±°pŠ„µs(ìa¾›?\Ü©ððXoŠ|)QÜNqÅŠ3â< Åc>ØäNàö%�ÙÌFÚ|;${‘Cü‚B3š
-:#É¢$æE#±’†¤U¤
4$ï¢!å
ô–h0ÚHç¢Áì$u/AjéÙ°H#Q`OFM³5ÅAÔç/ ,Á›?÷ÿ
_W°‚)`-¡"5%tA’•ä¼±H^‹”ÆXÐwÆ‚q Ìã¤Säul'uÄ€õé
ì§¤·4pFhÓœIÚ$´qÒ§/€œlH'R<€íã^ ;Ò£|�–vz$˜Y1`”%€Q›fC"R·%‚ÕœöQRk"8ÿ!]L÷&énÒ'L§õ'Lò†Æy“	c<$‘>¤#ÞdX[‚ï8O'ð¼�!òwƒ$Â¢Ä@¤s#ÁÍŒK�vM
-Øÿ ƒ³™î^¸‡éH;I:Mïé}:ý6}2ýÆ8ÿ
c”?ÌáO2ù`ð‘òF€$S�im�£-Øäõy9AîçŠÌÅžÈˆ€˜�,<9Wu*Òlð6pÀÛÉ™N?È™J?Î™äŸâLðÏqÆÿå|ÜâŽ
-çŽ_s?
-‡ÒÞ'ÒÞ§¸/E`=�i
-²æX@H6ðÜ!£ÌGŽ¯3òÂ=�ç‡ìÔpÈÅqç1!¨àN	êÒ'kŸ[cÂfá¨ð¨ð“ð_ÂÑYÑ°è²hHÔ%?¿÷IÞŠ‡$/Åc’§’	A¯tš÷P
-®)È&Ä¶¹ÎC6ùTTT'¨CBã#¹‚Ø)E6s\VÊ•ÔHFÄ«åCâ¦ŒAñîÌâC™ï%-Šw’¶¬É…¬~É�ì7ÒžœWÒWÊ§’Ae¯ì“¢GþY~W>%¾•�)È±š‰ƒ
dÎvÈ_h‡2hC\ �ö‚&%hª”G+Ìdå	?dTeÈV(û¥ëò^K·¼’6¾”U=—¶=“¶?•^Q?–Þ+é•¾(í‘¿/º“1œß•9–sC1‘y5kJf
-”dƒ”lÈr²…ÚÕU‹ì¡vBÍ÷éš$ÿ±¥Ü¨�} (_ø:·<ç…b¹êIÆêÒ?åË{e»*Éj“ŸÐödœÑ>ÈìÐÞWÜÖÞQ<Õv+4×³Õ�9Ã…sFsÏ+?g›‚ÜÙ³ Ÿg�\Gh\­Qãm‹º ¬Œr_™è3´‚>°\’ôªRÉ¢.Q>Ê­*} ¨«¾«hXv[±Ew+kŸ®;ûˆ®+»U÷sÎ�º›Ê›ºëÊGºNåëe?å¾Õ¶ç}(=“7¤jËÉ7y–æÈ Tóæ ÚÅ
-u^Ö¨´›6F:}ZïùnMjpŸA÷¤6›÷°J•sG­)ëÎ¯Yv3×ðõ5åzý•ÜúÎ¼úŽ¼ý¥ü3ú‹�ú…÷ôíÏõ§útß¾­<Yø¾¬E5Xl
-òÉÙ ¶Ÿ�K<­Ð`3±~±ÃÇ
qno62ýŸ­F?Z­`ß­-PüRUVz¥´zÙ¥"}Ý…Bãªs…›íª=†³E‡
gŠZ
§‹ÏÚÔ]†ïÕO'ŠŸë�÷é«û+©ß•›‚²!‹Üƒr{KÔºXÀèi�õþV£›ÃíÞm�u~¹�îóÇAÄýÆÌÔîú¼Œ«µêâŸªµK(¯YqºdÕêS%�ÆÖ’íÆïJ÷O”¶[ÊÎ�—]3+¸æPÙãúýeÏõûÊút{Jû«LA¡ÅL(í­ µ·ÀJgs¬¥ÌÂ&?Ëáía6ý»hŽÏö¦Pîâ‡ýºYN¿¾.Wz©¾HõC­¦úÔÒ¥+NjõÆo5ÆµG5›ÖÖìi<Tq¤ñ öTã~íåÆo*ï5î©èmØYñÄ°]ó¢v«¦Og
-TdCþÜÙ¨¶3Gý‚™Xï1sruÖàîP«¾æh»?$»Þoæ…tí�%w6åˆ\«*h«/«<¡¯¬;¢[n<P½j}sUãÆ½UÛ›vWlÚUý]ÓŽêóMÛ—þ�î:‡qãþÆ�G®R!wŽÆ8R®ä¾#÷}%wÆ1ÂŒû¾‡q…EKK˜úQ±¢M:6a“–_ÛÝ^O±ÕoŸµïožý{ç�Ï¿ïû}Þ÷¯ïƒêÚ´õÊê´MfåùŸò+R_åðòO†	Ì”E†‚0Ö¨
-ÿÙ¬-òÛ`Ï«S©�>…GÝnäïÚüln6†zOVGGŽ”Æ§ô¦ätæQ™­´ÜÊÆLfmµ¦¾†Ú^_�9P_™É©¯È¼S_J]­-ÎØ(g¦o1é?åó‚gÅE1NzfËŠ`É!!¬SüÜ¦%ôsYôùÀq‰'ƒ”ƒ÷û\H·:ÏP¦ZC¼Æ¢Â«â’ºK“²[‹ÒutZUeö…†RZyS1­¹™Aëm.Êk.È¾ÕœO[n¢g=©¦g>+Í£nñ‚qÜñRâ˜++Œå±Q™¸Ó¡I|ÛThsØHôñ°¥üâ ³îL¯·%§#È}¤52´¯ál»:1«¡4µ¨¢ˆZÅÈÏmÌÏc¶æåÖ²rò:Y´¼aV&ý+#ï!+#w¥žš³^‘Aû±„<'.‚I’b˜/#„U°õ0ÿ‡5þWCZc$¡‡£û†µ§¼ÌÇ.¸v„w³bÏµ4ÆS«k’ŠËÓ*ó˜YMÔÂmç*Ø),vrá ;±ð?í	EÚ
-–›ó¨N¤o”ó‚çÄD0UBeˆX+ÏÿW»á×þÃ|Ï/«ð­q´‰Kf²³£öG8Ã¦#~Î}½¡í]QgëÛâÒË¸Ó/Ô¥–S+3KsÛãJJ:bK›:bÊúÙÑeœö¨ò{mÑ%ËMÑÌµš˜¢§¼`<7Cº¸0K`Ã>Â—.y¾w—öÃ³IYx4¥)pûš‰ôôä)õ±1·ãƒ#g:‡‚|›û#¢«zbRìsyÙ­É%)�iu±uÙ­µÌ¶ðºÆ¶ðú¾Ö°†É–Ð†¥¦Ðº•ú°ªõª°Š�2^0QT³Ä±|/[d`§W
-6¿�ÕiaXšQ#ÌÞ4–äL[«_u6º8qúkÔß»v8$¢d02‰Þ›�ÖÏˆëL©oÏjig4³‚;zëƒ:'jƒ:ïÖ²×+ƒZž•6n2yÁ$n†<Q¬–àûÂÞO‡ˆðxBîÏa~A‰ojÁ`Ïèœ¥âW3úìiJýU�²‰€�£¡ñÔ‘jÂ¥Øƒ	¥AÔÊ€�¢*ÿÁúJÿÁ‹å~Cãe~—î–øn2ýzŸøu½ ó‚)"BX$BÀØê!ÀÊ?Ü»&ó¸~OÆïZ2;Ðuç”nÓ¼‹EÅ·ž.…7ÎdMÄ&]
>9‘8Wè;žÎ83^Àð™¨+ô™ì)ðæ\É?ÍY¤Ÿæ¼Ìõ}Mó~›Éf±L�ïgVî_!ÀÂM>¸~WÆW$áë5M¡žc¹–e+Íê‡ö'÷\ì³=|’o{GDÏû&Î§û|M;=—ší5—Oó¼U“å9ßMõX¸’á~{1Ý}áešûì¯)Ó¿%ñ‚¹|ü_jÖ»Ü¾Æ7æù`ü{"\ÚÜ½ÿ=Bdmî­Ù4SfnXä¬ÛQR×œÜbV\ƒ{F{/ûÅ{,G$¹=NNr[¡'º®V%¸¬uÅ»ü0ç¼¾xÖéÉ‹Xç•ÑÎv"yÁb€ÍV€G_Ü˜™˜\"À¥U"\|#ÏÇz¯)\óŽ,Í|k|8ç�)õµ¥Yì+ûà—öž>/\Ü_x‡º¼	s~æôšêøº$ÄñMk°ÃÛ¡@ûw×ìß¯øÛ½ûÝÏîåg_^~©Xí¸{`v
-€s›Û? ûG"´nËóWï¨‰2·udr¶ÉJ©�éÄ|41þ`néý�bïöÑÞÕé£»‡ý¶¿—Ýv¤×©�OÛ?è¶T¹Ù|êpµùtÙÅúó¬3åËº#åË/<=eÜ˜ã\›¾Ð½Ðü»0Tý%'P´«(–½«.“²«­³KÒÚ5ÐóÞ5>îºkfî°K¡Øþí`CA[K°=‰Q¶˜jcŽtŠVY™!ÛÒ¿>iŠ3¦øÀœ—‡}óW¦n\¾Ðó i |G�¯%‰™¸_<¤£På` j¨œF-ÔÓ³C#C
-š[ Õ	S´79�n&ÆÜ‚vÃOaÂq¤ÓÇb#26’±Ç€Œ#ú¼,pp�ûƒÑïz¿çîPº@ÿ„tŒG	ñp”‘òGùý¨ è„*ª6¨¡yu´M�¬kŒÆ$C4'‘ÑZ�„Ž$]ô$épËšFéÁd
¤i«#SK
kŽðrã*À•[ýÜ´¬”=È}�ú±‚!( vE$]QBÖ¥Xâ>S<tø*«ê£º	µÕuQOC�44ÐTC­4”ÑA]	=ÔÐOõ†©ÀsÜò”ªÌËä,ÀÀk™{ÿ§ÜýÏ’ßDý�Ü^¢NÖÈ/e†BrÇPLžŒ’uQæ�Ê+jpo£ŠÊJÊ¨¡¤ˆ:J‘¬´�•äÐ\Qm¥ÐQA=I /Oè,·)Šûñ„–ZèFKU<i~ÍíIhê£�&‘†hrÞMó
Ñ¬ÂÍ›õÑ¢‹k€Œ'¿!£%G-gôÐj‘„V+$¤lq½?ŠÖÛ\ê¢
êþÍõ—í?tþ
ºÈþŸî:�J:ï8^ÙfîKiZ9••í¦¡†K¸ ¨¨€(¨ˆ
-"‹ˆ ¢".äŠi¥•¥™VfåãXÓ¾¯SSÓòô´L›ifeZZnå�ÿóž^|^ÿ¾çüÎ½ç\ðC<�‚ï*ðw^
-~›œÀ»|È.à�€o‘x«Pà³›«7¦~#ø6»‚ïWðëDœsÿëˆû.ðb`û_7üwþÎãˆQ¬ÿEüÚ€Ïòà´pë–Î}`ý×�y‡á�`2=À·Èüª<À§;4!»¶Ã
°gÜ ð*â
-pÏQ“ø^ÔüÔ8~5¨ïA°ñ[0¸ƒ‹>6×�?G{À¯X!ÈÜ–CˆïZÀ…mlì&àyB@†h¼[á�µž€kðüAD;‚N¢'ƒ.£'ƒï ?E�…¼C�„|ACý%6
†‚;ÂM Z›iÀ.±ƒP¤ƒ´zD �´y5„…¸B0
x¶à¤Àçb ¨3\ƒù\�ùÒŒ™9‚'ÇŒÎcFCoaFBc†C»1_Â1ac¾ýá°ù#¼ûHàùþ€„4.˜Á¿Ù!ÚÊëº¢½WB$ÞˆOMô�$ˆ&Y�c¡E�£¡:Ü÷°:Ü·°}¸áðVÜPxîkøÜâuü ñ¾Ÿø6èq ¨—4†ï‰l7ü_Sóê€lex¤!|á< 9Ø@¼Ó|`º8@¢çr``��FDOPâüFHü a¢œð•¨$–…}&mï'í	ÿDj!~$%ö‘ÿ ½'_!õ’ï“»Éo"Þ�?G¼ŠAÂS*=¢AàC`õ
-Òd?(vÖ�Œ4g…
ð�í��^
-ÿ5ãÌP÷oq1~ƒ4vHdù%;²7¢ˆÚ¡£uSê¢»(û¢ßPZc^Q~�}I¹@ÿ'ò.ýYä+úã¨þØGÑ£Ôû1q'ÂoÆáF,„è‘–f@°›Ñó-��¬”ÔåÖ�¶Þ$b_§aAÈÆÏ*¦/!‘Ð+ˆzM•Ó_Då%<‹,a>‰ªa>¦Ö³þKma=¤c=ˆ>Íú;ú&ënÌ3Öíè¬[ôÆ5ÆÏèKˆ:ÇòY�ô�(KS ÚZ¹{S�•&]fŠµsAéf?¢Øì8 Ç¯ŸFñêâ3‚Ÿ³8´Çô4æƒ˜,Î½˜î_1¼Û±;x·bx7è­¼ëq�¼«q—xWx=¼ó	ÃìÓ‰£	'˜ôæ$
AÕ¨HC¤�%°�»W¼ÐŽ¦ Zc1‘‡²ùšçãð!7pUW&Ùã¹ŒŽ{(HŠú‹�Ê¼™�Î¿Ÿ›z9^+¼¿Ux>a—ðlÂ~á™Ä£ÂSÌ3¢“ÌÛ¢Ì—¢Î¤�”cIÃÉmìæ!öxÜAö] Y˜mž9p¬M@¶ÀTK�A³Êt¤ÈÕês±—}O1vÙ
ÉõQvŒÿ“r-•—x�“–r:)SüK#=Î*“þž´MÖ‘´WÖÎ>$;Æ>.;’|UÖ–üDÖÊù(iá
-š¸CœîwÖ^îSˆFèÖf�bm
-û9 ^2ŠW
•n0ë+GÏ{SðÛ“’ðõ÷44ßëÙ	¤éœø“"!¿ƒŸ.9ÊÍ‘·q‹­\�â w§¢…·_ÑÌkWìçŸWîãßW6¤¼Ë¨Où”¶3e µ–?ÄÝÁJÖbÌM ÞÊDVs Ën6.žý£ÔÉp@·Þø]µ‡å‹»‡•akþÜBõ¹¤a„�ÊfÇýGžÂ;œ&‘´•Š&A~V£ 4{¯`›ª>µAµ;õ°jgê)U�ð¶j‡ð�j›ð}ÆÖÔOiºÔA¥`0EˆE˜Æ ±2„Üù³@ë0s´rù¬O5k
»jQ&Oë|mîÖV]«ˆô:«�#tæ³bÚT<Ns†H²W*WîJSåÔŠŠò¶‹têÑ.uµø€ºJÜ©Ö‰¯©+ÄÏóËÄ=Y¥â>ùÑ§4­¨_¤ÐÍ��mfé–³ ßv”.šþ­ÚqF_Ýê™¯ê]ÕožûgmˆÓ¥jÊ¦“±AÇ´LÚA
—Ý�“*®SJ”5éÊ<�T­)—”–I¶–H÷j¥Ç
-‹¥‹
-¥�‹
-¤]yIOf~Z_º:íƒT ›Çd(,fB�
ró-0øº}±Á»úÏ›ÖÎø»ÑÛúz}Ð²sµî�[cp‡Ë£š´É¬]šaMŽXQž™ž§ÍP¦i5éU[Ôò=%yòÃ%9ò3%*ùý’lùË‚¬ô·9™²^e¦ô}†>gj|#CÈ´˜Åó&«ì¦
ì\4µ«qñÔÿµ¬š~§ÙÓòr#~é©Ý$TûŽhì�êøˆ½ìÄ[x‚Êa†6Wš§ÎR«”ê²LeY¹BYW.W(—ež(—fÞFü£•*^çK2º³%òž,}€�4¤þÿî5Ÿ%ÖÓ&jl¦~¬·�ò²ÙvÊƒÖ7n2?ß¸øx#Ñ¥m7Õ¯©–AÚUÃbTWrù¥%‚ôüBqn–:]+ËQUˆUÅ:¡ª¦J�Ó¤KÉéÐñroTòsŸ•òU/ùY]¹üÌ·9ú@¼©ˆgÏµ©”[N­µœÒÛh:åi«á”»G§]is7=u(`Q{K˜ó�}‘˜={èaÛë˜ôŠmÉÜ"_ª*ªdZI± PYÁÑhªØUUI
:Vaû¿l×WXÓYðì;«(E†J!��$T#U)ÊÚÇŽ
aUlbY,XÐ±¢8VÚŠeulË¨ãª2Î¸*`¥	¼sö>¿çù_ýÏ÷œï=oAjîÍüÔÜÛf®¹qfö«ì™Ù­ëAòÈáX:ÄF÷Ž¤·†Ñ³£fô¨ÜŒîœçÕVHG\,÷·9u*LPr<ÚgYBXá‘¤ø-Å³ÒröÎù~ÅîôÕ;¾ß�¶}E^r^NAR^AþŒí‡¶'æ—oKÌ¿±5± aSâ¶æõ‰›[³7ý¶Ö¤
ŠÌÁƒ°y(uìLÏ�˜Ð£ƒè^Å Ö½&ÐÕK¢¡g/øZ«q>X¡Ø}2.8ïÇéSÖ—¦¤®>’¶`QñÜÌÙû2r’Š–mšþ�œ-ÓŠ
-6'ÊMØ[¾1~ï�õñûrâ÷´®�/ü}eüŽ?2
ÁÜÁƒ±ÖÔ¸w»)5°Þ÷¸Ì˜îŸ1¦›—Œ¨ªÚ’Î×Ÿ¨RŽ=rEÇ+º¨—åŸ�Öæ–O�\{*qÆÒã)sçM[’R:MBÉ’ì©%ërâJò³cKfÅ––¯�Rv}õ”²†US~x³"¶øí’Øï‚…&¦XolôG!ÑÓCDNÑ-Öýª«ˆ~ºþW:u“oZzC>jÿ5
§°6D´¹2ÜwÝåýò‹SãÓÏOOK=—’‘P>{Yì™E™1åY™Ñåy+¢Ï/‹:{fiä¹ºÅ‘çE–·gD�ø0?ê¸aXF&Ý[ˆ^Õ—ÝfÝ¯–u¯ÿwŸ“wÍ¨ôÇøÀÑÈ�wU6[îh]³o…z¯¸>9hÁµ¨˜™µqI	ÕÓgÇTÍJ�¬Z˜Q½fAxõ¶ôðšó'×žž«¯­›£¯mœ­¯ù˜¦¿Ò™ª¿Ôe²È¨¹€íà ÑÏ'ˆ®] º\Ctæ¶1•Ô›Ñþg–´ë™ËÐ­Oe9OÔŽ™�´’Œú`Í¬‡“ô	÷#ã¢ïÅÍ¿—œ¢¿—ž:éþª”°[’Ãî›úïS‰!õuÓ‚ë_&?ür¯/.äç~ƒ¾æ=gwpÿ(Ñ�sD••Dgo•=0¦}OÍhç+k£­­NCr^y˜g¶Èí3š}³š4Ši��ÚèÆ0½¾1**´qzLðË91ÁMË£ƒš7F5ï‰lù1\÷ªR¯mýu’¶¥=, ¹/4 	½dwP˜èÖi–¶ƒóuDÇîílDÍf´¹ÍÚ$»�;|E»ë˜m"»™mRç„÷
-qÔ{µ2ì½NÔ¦×iÛbÚSý;2tšŽ5ZÍ‡m~hü>žñóýTç«þü\­þôÉGý©KeÈöng`;¸ðO¢ãwˆŠë‰v<#Êmb”Õ=ÖtY�íˆôî˜Ôg›„¡cT�Ø-´ÇËS×£–izu
-u¯Þ[õ-ÎÛ»/Õ[Ñ—áåÕ¿FîÕŸ'“Kä§Å2ÔxÊð\$C³AwËX*ˆ.U³þ‹èàCvþ¯DˆV15ZŒïÌæÂrD2lÌ§‚cž}\àá¢†Là
•»Œ•T	Â<<ã.Â¡;æ	„Èt ×Õ
»�ÝPÂwÅ'W\5¨Ž½ƒ+W‰N³¾OTø˜�ÿ‚(³…haÿ
ƒÍ1rø˜�ÒÃÊ"Æû�cç
žƒ®\Oˆxî�óÜ vr�ŽÇÇdqŽ\¤r�1‘ƒUvÈåØb�½-öÚRy‰eð:Ñ,»~!ÚÈv�ÙD”þš(µ‡L@fQ0Š!ß`„¹
-£-e°'Âx!ì'¸ÀÑ–;.Üí8�²ªìl µµ†žÈXVž’mÆ`ÞøÑX>nVTÁ2PÆ2°‡e`ÓØù/‰æÿF”ô–Œb¿‘Éd6ƒ4L
)‡Ñ(O˜š0t,±äÂÜŠ+k;ØXÛ€3Î
-<VT\YQY�„Âj8ü¬† ØÒƒÏLkÔ–c a=SÄ·�”õ]™ˆ‰ÒžA|xÄ¸À#•YÄd9C´•Ï]Nó .ãArÊÒŸ¸�Vq!»9²‡!ÿ¯¼~w€â#ŠnöÞ°ïc¾yÃÎøZšCÊ±†Äi<¼œ'@án/…#d:gH¢\!Ivƒ8Ã
’5ì{“¤….�íw†¼„ùI>¼*œ ¸Ê\çÁû>ÊçŽP¾v„ªƒ; êâöùLìõÁÄ¦[
CàÇf�±äÜñP9ÙÀÇÍ>r.”ÎPDà•(„|¾;¼V
-áµQE�¼÷ºAyÄÊã®P�u�ê²|®9C}—yê<àÛÊïómç÷úu9uû
8ujàôUÞ

�†Í ··‚ÒaüØþ.¶�L„Æ�ýO/„*AÕO¨–3Á'Ïê=ð=ä¿£Ìi!4„ša¿ÿmaŸÿAO@‹ + MðEÛ)ø¤|ÐÁµC—Ž@8‹Ñðb3øÙYAÇrÂrêÉA°º!ücÅÐÌ’B³HM–lÀ³´?`§ô›v¿´W["éÑ��të*$]�•’ÎÀ›âÎ _ÄŸƒšÄ‚Þ‹Û‚;%ï‚ÄoC ú_(Üß„BhØJ[Kh'X ÌÎ‘Nã%²C„’} !Q&)út”=�+•]A”_ƒò•_‚‹”Ÿƒ+?…S~)Wv„^V¶‡Ö)ÛB*ß…5*ß„½S½ëT¶ê-“!o‡´)â?Ù®Ó¯&Ï4àOXE×Vî££µUucS!�l$’ÈKö²!!H!ì"¢ …)¸±X°h]FÜP‡*mupA‘Ñ�£ÖŽúÌûäÃïû}îû:Ïy.W`$:Ã¾eA»4Æ/_ikAÆ–å�Éá¿bwüÃ}�¾w«Üÿ6Z6]6c{c{…k
-‰k�ëŽ»ñw#âß¸G‘¿ã^E�Þ‡ý÷uïh<Üý�C�`ˆ+0*(F,	„„Eó!mù|ÈZ9_Sv®øÊÜ·î#
»í¿djè›¸”ðWxñ�xí¡q¼	ûo�~‚¯ŠþïˆÃŸÄ=&tâzq£qWqãGq#q±wHï±·È_£nRaø?àþë	p¯+ðàÂxÍ%%hd/›ÓW@ÁÆ@(Ø±ôOÞžUïRn~Í$…<£%GüAæÅ<&*ãFãsˆãÍ¤ûÄ2Ò=b-é©‰t›ÔN&Ÿ!Ý$_"Ý Ü%]¥Œ“¯P§ã‡è_p—;˜\L„®ÀCè±è.hïE–úAq°?”oø¬Ø4#ÿáÛIqäúq^ÜwcFØƒÄÔØ»	bÊ0UM»A5Ò¯Q‹è¿$T0.'Ô3†hÍŒK´NÆ ½—ñý:£Ÿ>ÆèeLÑ.$ýE:Ï„„3LˆëbB¬+8Ì…¬ùs p	úÏ_9ª×û}Ôn
˜Ò†,~®_õ›¿å�ˆ¶w8��»ÊâS‡’Iƒ‰Y¬‹‰ù¬¾ÄvOR5ûBR#û\²“}6ù,»›9Äîb>`w2'Ø)§9�Ú–
-‰'S!ÁƒÎ@™ïÓ|¡}Þ5+f}ÍYë;mØì7aØ¹àIîþåÿÊÂýí–Šú‹˜‰HçR{9bæ9vfj7+—û#«�ÛÉ¶!§ÙväTJ3âLéDÚ8‘VÎ-¤™3Ž4sgRš�¿’‘/4’]�¸ó í½¼y>Pµýçãõ¿¼ÕÞÿ9¼Ñç™y‡ÿcó¾ »y1ë®e‘w
f$ì‘¤’»øæiDÁu¦éø­iy‚–´bÁ‰´*a·QxŒëåž:�kÂzä7a=ïRÇû�RÍû”\™þ™î
-ŒEï�„v-á\o¨^è	
Ë<>{¼.Zïõ¤d«ÏCëžÀ›fìš!#ñû¾,Fdwf
-ñ”,=¹E$AšøÂ£<½¤�W µóÊ¤µ<»´†×"«âwÉ*ù?ËÊù£²rÁQ™`9"øÀ)ábºñóÑ,Ìö…R/¨ô€¦%î3E+Ü^–®q+ßäy·ì‡€«ÖƒÁæøíçŒ´°Žlá¤š›Ø¨ríR…¸Z¤•W�J›°XU&¬R6©J„ªbáEU‘è^†EüJ^(~+,Í¤¾OuÆøCŽÏ,¨ðó„únÐ¼ó®df¼b%f´zƒûpeè¼!Û�•½VÂÖ.sÂ>g^rlSN*Ý®á§U*%âRY†Ò*ÉÉ´H
-Ôf‰MS iÐäKœ“¤Gk”k�Òç™éY®ä�P/žNw’æúA.Ú÷2æx@CæsQ xcT/#öun×kCüª¢¾9W†ßÜa¥în1'E;Lœ„j}:§T+Y2äÊ|…Fc”³reÖìymv¶¼%G'?“£‘_ËÑ(žê4ŠW*µ|Jš){'tRýÐ<zyAõlwhòÇ|´Î•þà‘}6¸íX�¹Ò°sN_]Ä²®ªØMN%´Éšx¨®�M)7qÙEz�À¤“(s23tZUŽ>Se6¨T…ê˜A¦ú‡Aš1d�dŽé¥/4RÕk¥D9%qÒg£yôô„:·Ï¾`²ÔüZãî;¼Á�¦`Ìà±ï|Ï;Â–tØqZªI»åŒ¨ª±Ä’Ê,Èçñõ‘B�-Ï’i5F‘&Ï$ÐÉçiLéÚS&®v �«5"ºç:D3‘�dNÊ]�I>>PâáõÞ˜i‹x\îîÛ=Àí&Op¥å[Ðß²}V÷ñ}‹œ�ØµMõÄïkkhá¶Šd‚¥”“h,F­Y “™$:ž!Ã˜ª×ç§è‹³sëòY§‰ièÏK6Þ7°Ï³Xú‰LVö¤ÂÈöFóèîþÕèÆKxX�·�ºƒë-n`À¹œwnõîhÝØÜ|pUCa{¥ƒºÏZ—ˆË¯fÓ²ËÓR•GxA±HÍ)Tè“ÍÙy‰fKÃ\k`¶åÒ-}94ËH6ÃòRÃ8üZÅ0½‘¹Ó<¼`&3ƒöÎGeÜ³pã8üì §c!ø±s“gÛéÐ€ÆöÈ•5­¸-¥Í¤Ýæc4l®#™¢¶sØâjD�V!P&Ûä:zYvv‚Í’•`«ÕQËÛ4”ò>5¥b$“Z1© –NI©Ö·"W xÀ,žXxPÀ0Ú=/£Ý¯í>]Ýþ ýì:÷ãgvú×u…-·ub7ZNBŒm”Hm#Nv‚™„ã LOBk�))õY*rƒEErÔ*HŽ6ÑÑ'�?:"!:&…$û4�T3ƒ¸%ÀíƒÝÁî ;¸Šv¿ŸNp¶€ö/p¢?Sß·Í·¢gÏââóQkMgcvèºâ÷Ë;)1¼ÓôV;“Mkã¦“Z%ÂøV�0®Í,ˆsÖð	ÎÖt¼³Á·�¤á�“|ëG6áÄ'¦+0`žp¿½A#—Ð\è íÇ°_^*¯lò¶íZ�iÿÊ¬�›•ý1¡üÞ¸ìä8Ú¹ÿÓ]¦QMŸiÑ©ŠìÙCBBH 	I�,„@a
"›"KtêX«­cÇÖ[[;µ­Õjíè¨­N]Šc¥(¸—Í (:V­´*(›ÞygùäI?üÎûáÿáÞó<÷ùŸs‹ŠòªËË²ªç–gV¿1Ëýý{eîšu33jv”ºÔ–¸´¹jz]ÕÃ®}È÷Æà_èhÏÑÔï ¤n/ÝÁBvÐþõeãòÉ¹ÉäÃÑØ-±SÞ<kd/<m•Vžthg5¹Ì…�YÎÜ†ülwý�«aN~zÃ¢|gãŠ<gãg¹iMÛ³S›f9š[3M}nGÃˆËQ�toÜ¤Y¼DsÐ´�î`ÝíŸ;�²¹‘öÏ³cÈÊ¶ñdùU–ÏÒ«‘vj‚*¯³:ÌQÓ´ësÚ�fW[NJZ{Qª£ý¥Ô”ŽW)ËSì—?µ'_ÙfKî¬±Ú®^´X¯Ü5[;†Ì–v$yã2ÍÁéM„ÛEw°Ÿ�=‡	ÙÚ@ÈºÓ„|pÉ‡,»6Ž,éf�]Ð-ž4§[TÖË+èÒI²î˜TÎ;¶8{Wz¼µË“`éž™`î©4&õ¼aHúe¥>ñî]bï.­©÷˜&¡¯S�Ðû ÖØ¯´l äºƒZš�½‡ùªž�Ï©þª„,ë dqßxŸWúC^¨àûÎMë�dg
¨„©Z©m !*qÀ¦2>N�1<ñÄègªtƒs•qCK¢µCï+´Ã_È5Ã»eš‘£RõH‡D=Úá�Fz‡þ“�ZB¶ÿ@È†S„|xž�·Ú	Yx��¹�~çó{ø�+A¨¯Ü7„$\3#bE:"40Kb�*Q"G�â*Är,É°B(ÃZ�_…I±Ÿ/A#ÏGè šfð›ã4ƒ'	ù¨…ê·Qý«„Ì¹IHÙc2¦/ŒË�¯o:ý“Á6�ËÔCÈQCÊS!š¯€&L†ø0ZÃDHçáá…¡ŒËÃ<f³ð>‹…µL&¶2¼QC3¸‹Þà¦fB>>GÈÛ­T¿“�—oRÚEHþëç€Ï¤$Œó3À7@�€`%BBåà0$0E�°P°¸ˆ¥Zf(¬Ì ¤3�ê‡²_TOÄâ ñxÛ+ßÒØBoàÓ³„¼Cõ_û¿~	ÕÏé%>ÎQ2ÖJ=ÄƒLÔ€LV‚øÉ0Ö_Œ	�Lâ!0˜MgÃ78Âà©�OBtðxÄ�ER AjA6¥ÐŸ`ÖTo –©„	9í™Qr¢bùˆ4
- q„#Â#BD9}çñ¦+Ã ù„é<È¶p!û‘UÈkØ�eCqŠ…¨6&¢o1¡¼Ç€ò1åiè3:´§”‘ß±ìÿyˆŽ`A%ã@¥ä#Ú „Â.‚<WŒÈ2ÊEˆ\ŽÈw…�¯¦c_†¨¿óµƒ‡èoyPVs¡<Â…ª‰ƒ˜KlÄÞ`CÝÇ‚z€5ªe«ÁRƒ1ø@C=DŠ™ˆ± �`C«àA£"Ö&†*Ke)¥2Ê×ÅP¾#‚ê¯áˆYK¿ÿ�òµêÝaÐ|G©ãCÛÀGÜÞ3ÝuÞ¨î.wX×ÏÔ�rôàôSéÁö´´ïF™ˆ0ag!^Ê…Q#€Á,F\†ÚÂHh*dÐ,”Aû–qH [ÝF1ô[Å0|#zfØ+z0|4þDøˆñ\øPÂUáã„na¿é‘ð�iTpßÁ½D„õ%‚ï
Ä1ƒ¡æ3`ä…"‰¾V	¶>,&1Li‘0æ+_…øùQ0.U<MxW>bZ-6}9”¸9r0q»ìIÒÙã¤ïeæ£Ò~ËiéCËeé}K—´×úPÚc•tÛÑeƒøN2D·“þ<ÐSzN(,¬Øi>�b\J.ÒáH±Ë`Í‰~j™3l®Œ}bY3`YóÈºJõÐö™êWÛFÕýämª{É;•}ö}Ê^û!åÝ”feOJ»êNÊmÕ-ÇCÕO©£Ñ×S¡¸–y§2oÀÀ†‰úHa"ƒˆÜð`x¢˜ÈÕ…Ám‘Œ83”�…š‡)/ÅÝKY ëu¼©ûÅñž®;uµ®+u½îvÚfÝÏi;t·Òªô7Òêr6è¯;[
�ÎŸ
étm#ÚKn¨/ºs>JoÀÈ‚5”ê‡ø#Ÿå�baJå!(Ö°G
-Ãå¦Eõez´=®²øÛéóL7Ó_O¼îZžxÍµ*©Óµ&éJÆFsGÆ6s{Æns›»ÚÜê>n¾˜yÞÜ’yÃr&ë×¤SÙ#	Í¹04åB×�GS›Íó �zpûÿ·o•0§àE�fËüŸÎŽ
íŸ•Àë-±Koä¨¯ç•$tfWXÛ³Ø[³–¦\ÈZáhÉþÈq6{�ãLÎ&Ç©œíŽ“9UŽ¦ÜZGcnsj}î•ÔãywGóm‡§Á|¨¦ºé0ÖNGüó 14.ª_0Õ/2&áüI˜'™òdž2à^¥�y§Â&üWyft{Étãù‚rûÏ\g³gQF£gYF½g¥ûDþÇîcùëÝG¦mqž¶Ó]7m¿»¶àxæ�‚K™Õw2÷8÷ÁñÏb$ï-…¥ªæç�5$Ù~SPê7/‡LÀ+ÜñÏ^O|øšbr÷Â¸Àë²p~œ›!m™=Mß4s†ýDqEÆ‘Âù9u…Kr.Ï«)\•W]¸Æó]Ñ—ž}E_{öWyªŠë<ÿf»Lƒš<×0ü„U§Øê¸kQ¤j8¨ˆ ì‹,�@Y +	Y	�ö%	{�-,‚ ›€  XW{*¶p*ˆôœjG´Î+ˆÀè±¾çíô_Ú×ïk¾ç¾¿o¾»›ú/ÒyêÓ°Nú\p{ÔÇ“ç˜È·�‰<[™ÈÃäñ…"YZ –å2$^m†7˜~PY›ý–²sÙó”–�’]V�'øÙ|/	uâSÝ®±Ù—¢D¤>F¹‡žÑM×Dœgè":úÈvFcd[TgdkÔ7‘ÍQÃ‘MÑ�¨�Ì×äö‡�
-¬ç ÿ:ò3ù¬úQ–¯@<3÷¹	R­3^Lßbü*ËÆäIö^óÉLçU#)>Öß*ˆ®É"\ûc£ý»ñot[ÙÆJ¢7³2M¬ü¨FVYÔÖé¨zvkÔiv_t-{(ºš=]ÅyÅ¨â-Qô1ˆTÁCÁ˜ C�?Î�Š·Vì
-S”he„R×æ²×¦5[	sw�iœ>»“åµe05Øî’’ìÜÇð='æ’š"Ú™˜øèÓ¼v
WÍ©âsô\=§‚w–[Îëæ–ò®sOñîqu¼ŽŽ¿ÀÐ	~�(â£°B>"‚--ÃÔ‰—£¤•„�™«àµf5<Í_“…¶F#‡Wi=7^Éüº7-Ü©=‰æÝÏ©“
-¨UB)«\ ä•ò3ø%ü<A1¿LPÄ¯ð;bó—cs?ÄjOZá<[+|ÏPÇ~ŒTÇþN1-,ÓØÉ–¡”°�c	¯ò,á—"K/±!ÜÑ9ZÜ(t_?�°³+›t¨%�êQ¯bW%ð"Ke"V‘8žŸ/Jæ
-sÄa±8GX-É¶J2…%Âï$iÂÇ’tñ,?]¼ÈN½g¤Š>Ð
A$ÜŽ‘)Š7#|H7‡_µfð°Ð~:e£åÛàv™Ãò+%nk{ýmÛsCs"OÔ¤G”%s(E‰–V.dK’I†,M’/O‘TÈU’Fy’ä‚\!’'Hþ¯�½%Êæc%‹¬DÉÓD6Çï$Á)MsYÆðK>~*1�ñrS¸«ß
-ƒz{ó�òã«»Nùmo)
-9X—Gq­T3üu¬ðÜ”˜è,¥H�’ —*åÉ		qêDy\‰BW§�È;"ùu…P>¡'üW&ŽŸŠãÞñDqCP¤é2$ãO*#˜Vü\p¿ÌF«ŒáÛÚMpµv¿Yoµëçí•¾Ö�¥Ä}ÕÅdçÒ|šO�†IÊÉâ2RÓbù‰*©LªT(b*¾¢PÅST«¸Šs*¶âJKy/‰“ô«œ«|#æ&¾åsçcAtÜ	-¤<þcwâÍóc%†k	0xfœ±3éªs¶j©ñÞR§ÚSQv¤¸„ê¥-Œ"¦çrhJ5Ÿ'ÉIcÒâ¬ÔÔäè”ÜdFj¥ŠžÚ’DK»¤¤¦�*èé/äô´ß$Œ”·Fò[¾!ˆ	¦H„W™ø€3øïž¡€ËM_@Oónãö&§•

«ëv�ª!9æWF¸e•1“u¬ˆ¸B›Ÿ+bjd	4u²2R­UF¨+Ms"Y3OÖŽÈÉÚ)E3+¤dÏÇP²ÞñA\0ù¤x‚s˜ÔáÝW…wÞ~×ðþìk[	�í¶FMç-j[ÝÖ•7ùí(l Ú«ëÈ®©54¿}t˜°œÅ>%àÓtR)¹X%/ÖÄ…é*daºf	©d@Z2*$•LÂJÞqI…‹,RÁÓ$£¹€GycøÃ§n6áÝÓÐÙe-¬¡®ûà²Êó.«‹;¼­µçíÒ[B�g)^’z0·ŽI¥×Æ°ÉÕR>©ZZ­„ÔTðCjZxÄšKÜàÚQvpÍ“X½À êÿG#V~¤‚d@˜Â9LŒTÜ>pû{ºšûðöXú�½¦ºþ#V¹}î›2z|w)»ƒ¥�¤¼vŠ?£�N"·rh!-¢èàetP‹SÎlm¦´PZG#N¶ÎPšÂ›)°…òçðXûç
îàn´ôcG?@=Þ€å×­@7hk”{ÃÁ"óÚ±µIW=¶Ë.ûí�¹t”ÑêIî‹ öF‡ô
-ÂNö&†ù÷æ�üûJCýúšˆ¾}ýÁ¾G}ú^øô,úû\@~ÇtúŸ7ø¡àVîa@7ö7]Ðã
VpÇÔw7AÆÝ=æIÃŽ«dß¹lŽù§ÇNÆm_{òPà±à[$ÿ›4ß›<_ï[ñ˜Lo¯¡/¯¡FOÏ¡‹î·GÝ<†^žp¿¹tÜ}¹ºßø+ÜàÇJÜCœÁµó¸‡Øß†ýµ·tw²G�A5a		“_KìµàM8®aÜwþ2|ÜmwÐ˜�½ïXÐaÏ1ÊQ�1¶³û¸ô¨Ûý4§÷‹Ÿ˜8sèøDŸ£ëƒ×‰—ö.ã‹öÇî¡¿åþ×v\Ä`=ö—b¿f y‚ÒGæ;µÞˆýÌf9ujÏ*ÒÔÁ
'§Žlózz|§Û”Ï^×)¢Ý±g4»cÏvÎÏ{ŽNk¾>:£ßå4Ó¾óÈ‹›_~ùÈöÐôÜÇgŸlŸ¡¿0‚¿·p¾éèÂþÆ!ÜìÏÅþ”û²Ÿb^™óÍ“È7›W„ÌÚXùÏî^ë1»³Ëì!k§Y›CsÞ;þñ–¸Ãažfc?/Ø~ð�rÛ�w¹Öûª·î[8¿eßâÐf»¥‡›ì–æ6Ú-.l0ä6îÀÕüàþ5ãç×äaêþÿpŸÐçŒ	áWšÿŸí:�jòÌâþ"È–��}#!‹„E($ˆ!€	["�ÈÑHDq_jUZ«¨µR9*ÚŠŠ•ZÜ;(�­¨U;j]Úºëè`U´(£Ã€²üç™sf¾ ~çùôœÿ½Ï{ß·Ÿå•:  %HâTÜ1ƒaÍ`´pâD¡H«a#O¨B©@�|9Vrƒ°™#Ã¶-,)®Hqë='È?p¤…ÌÉ¯%ýW‘üOÿŸŸ¢
-Ú)*»›rÍÀ0÷ñð1þ¾±àøk d†CÆ
-ÁHŽ
-á²rÏÃÈÀÊæ¡˜ÅÁf*LTù3PKg ‘ÆÀ�÷4¥¨F2ÿÛIþ:’¿ŒäÏ#ï_JúÏ'ù–geê¥\@¹kAyFÃÝ;^~Á Ó`ùË `H e
- drÆd"šAC<Ã&OdÓÝa§¹b¦…%¾ÖøP¨zÏ¾“dÏRÔz’¿œäÏÿ_~ÞcŠ2wPTÒKÊ%®�r‹&5„“‚AyÉAùÂÕW?.¼i,0H?\š/„4OÈhÃL£IrãH®‘ädÞœ^¦½r	bA„<˜iB­|£<1Yî¸ŸpÁûœ
þz[ ¨€ð[&„ûý•ñ	ˆ¢Cr•ŽÀ4HŸûAú/¢ÏRøHáÓOô}¤©‚ÙuU*a|Hc„LAbAlB<KÑÄ«¸�Tsø�;È½oˆ¦ÈŽ0tœ8Ã€ü÷ü¡ì CùšÞ¯|G{§­W	¿ÿêù(Å,ÈelK9	âBÌGp´Jƒ
-‹ò"1äå"È	!_Á‡âK”›¸PnãBµ‹ÔÝÈÆÈCä~Á§X¹0r›Ùú”ù6´‹Ñú–Ñ
-ÿ7a9_T"FJØ±ÈA„’‡ÈHÂÇIš.EHžê©�PÏ— d™¡k„Û @X­`0¼ž?þ-o`Ô~^D3·/â$÷]äN¯æ§[ÓÎ~õŠÝõ–ý2
-ìÎ(°þ$^|F’Â,DóCNmºpbuD›dÐØäÐL‚f¶l@³TÚµ*ðmô:IoôfIÏè:ñ¿Ç4ˆ»Ç4‰ÞÄ½‰mþ3ö'a—öWa§ö‘à¹ö¥à©®WðDÁcøíqà=ú¨…,Dq c3 ç2‘$e!)„CŒñIAÐMPöi‹T=ÚéÊníGÊ×ºåŠ®¸µòWqå�ckƒþ[ô"~oÐóøƒ²Žq-²§úÓ²'ú«²výCÙC}§ìAB¯ô®�·
�ÜJ„äF"ÄC!Œô¯e1` ÃÄ¥##�s0iQ‚Aã8iobšêµ>WýR_òB?7¤#¡BýÄ°JýGbµº=q³úQb�úaRƒúïIûÔ÷“šÕ÷’TßM¾r+ùAÈoã;Õ×�½ÁWLP]6Aq)ò‹)
-z²÷šè~Èdû"Gì‡¥?lìžL�¨+Ý¨è0e…>6–Œz4~Fäã¢È»Æå‘·M_DÞ4mˆü=¥6ò·”zÍõ”½šk©‡5WR[5¿¤^ˆº”v;êBZGÔ¹ôžˆ³?mFh›êS2¹C †¼AÉ·øx#�å…b¡ì
-ß·%aþ]1Üg6ƒôa¦E}Çœ¯ù=Ý9æzúÜØ+éKc/gTj/fTi6×hÏ›·iÏ™wkÏZštg,Íº6K›îÔ„kº“Çµf¾‰ýÞ:8º%QÇ²y4£†ÂXò©dç´y�€�é'ße²oÊÔ>¥QŒ‡“ôü[…éŠk95³ìºóÖòø³Öú6ë'	?ZW'œ´®K8‘µ9¡5«.áû¬=†–ìC†£Ù­†æì¿¾Ë¾ŸxÈöJ0§oì�\h÷å#¦)£‡B�Ù÷
-¼H¾¿;fp†½›-vïœ­ôhŸ9ÊçNy<óª3UzÁžqº 0îdn©áxÎìäc9›s>3~—³Æt8g½éPîÓ�Ü�¦ý¹M¦¦Ü£)É;›²7ïFÊž¼çÆ†ÂÞÄÝEÐcwC7’|}‘5Ü“<ÝQîç†¹®Ýø®ÏJÝî/Tÿu¾Žöó,£¸­,3¬Õ‘§m.™”t¸pzÊ�‚yéMK3*Í{«Ì{
-kÌ
…ÛÍ»÷Xv¶Ôý`ÙQtÕ²½èóö’îÔmvŒßjGâÖIH
-&oLtó@©‡f{».¤»¼ZÌ¢þ±Dàrs©ÊõòâXß3“'æXÔÍå91�Å‰�gÚ7“fMØeÿÈZoÿ4k‡}uv�½:{›ýëì­ö�Ù[ìûl_Û�Û6Û/Újì�l5“_O¨q¦mtÀ´q
-Æ…tòò©á˜æîŠyžT÷b/êy…uÿS:uý3¹Ëùec¼~XšÄ=¶(Cyhž-ºqfaÂîiŽ´Îé™Û¦Ìµmq,ÎùÊ±<w“cm^�£&oƒ£.½co~µ£9�ã\A•ã^AÕ”.[•³?³Ê‰ŒµN¤‹ÇSÃ0ÃÍ¥w¡;õ´bug™;uc…'ui¥”:½2zDërëHEº¼éã,MÃ‚üqusì)[Ê�ÖMe3sÖO]PPí¬(ú²tUqUiuñÎÚ’Ï�
%«�‡KV:Ûì•Î›öÊ©�•eï&VNƒuE,CÁêþ²Ë4¬©ÃD–„�dW
-"‹Z”
-È&ˆì!ì[ 	a×°X ;ƒ
-ˆ
-ˆE–jh]`Z­­NÇ±PÐŽó8ÏÐŽŠÎŒJ…3Ç™ðãýýÞ{Îwîs?ÊÐàùA€iú×ÿsé*¸_®·+MáZå•¡r�¹Ïºž¢ »NY¸Ó‰Üh¯c™‰�õ’´ðê´Œ¨ŠÔƒ±eÂâøRauB‰°)áagâ!ab¡ðëÄ|áƒ¤‚´¹ØBÑ»ÈBòÒ0x9BYHÅ÷Y- Þ+¸_¡w«”`¼ÖFkíW_¨ÞÉî=¼Ç¤»4`SÛ'a¼¦|�G}^¼UVJx™T],ÉI(&ˆÊSd¢áQ›0WÔ+Ì
§fŠî¥fIž%e§¿‰É–¼�ÌcØr0LA… ð¯ Pß)§¾Q­·êàZƒ>\n°Q¬wÖì©ñ2ê¨ô·j)Ýv¤8Ò­º Ö¯ì@ÿPNZŒ,3#)Wz05KZ"Ê�ÖŠÓ¥-b±ô´8M:$J'Ä©OSE™ÿNe.D‹¤ï#—Cy¤›…9ê|SÔ;ïWRçª;B�ç¾l´^uîèVwƒ‡~kÝ>‹Æª�­uåû]—Dû%„ÈòS¢³H’%99¢Ôì¢ôäìJibv£4!»[—s!=6çÛôØÜ'¢ø¼×I	¹oã²¢–ó¿<¦<ÉxXF3¨¥ÞIþ¯›†Ž³a ÅR±ç¸#³£É]ïøÑ½f
õÁöU5áÎòŠ(¯‚²¸ œâ$�¸(-)© C'“I£eeQ²#‚üNiDþéûóÇÅ³i‘¯’ùoã²…èåPßdý>Ì€z×Mò�œ ÎÑÊ„³íN¶9¨¶~êÆ9vÜgmmc Mù¾ã¡úH÷51þÒÊ„ý)åÂøyzjDÉIxI©$¬¤A&ïñåƒ©¡ò1ahéL2¿t>>L¾Vü^°L¢=äüDY¼÷a�4ê^©ÿõv®†î“¦Ð~r³rsçNv}»·qE«¿UqKˆƒ¬i¿KæÑ(ßÔ†øÐ¸ºä¨ˆI"¿:/%¤ZžRÓ�\Ó‘T3˜T;X;T3/®YÜ\…aËÁ4€_h?VLÒnÒûwvSï:
Ð~FŽŸÙ¤ÔpšÇª:å®/?é»¡ 3Ð>»�ï$j�ôL8 hN
-ç7‰£‚óbå1�M
QM‚€æÁÿæñð}Í3aþMó!þ�‹AþÇ0p9o2~.øþÃš®Òû_<E38C½§ i€

ƒŠUj¥}.œÂ^/Óœ³~Öâž m‰Ÿ‡¹
-º{ø]ñ��i¡þ�¹ü}�%¡~�öëêÚÛ5àÛ5îïÛ5ëçÛ1ïëûÙ¢�o;îYÎ3º‡‡‡iGn´|EþÁ^€Ï©¶\¨½¤C¦ ²U.¸ÄÓÌ¹èf ¾àmžxÞÏ.j0ˆÇïwè‹ñÞÛ'ôñíËöõé+öÙÓ_ï½§¿ÝË»ÀÃ«ÜÝ«ÖÍëÜ+WÏÞEÏ³¸‚Yú.~O·øGÚÁšÿ—ä?ûu¯‹G©‡–](º®²ëŠÙ×·0Ä×œ8‰WÝLW¼-CGý6û�;úG:{
'îòÉØé1Räì1Rëä>ÚÆÛ=Úï¸{tl»Ûè¬ƒëðk×ËK.C¸‚‡”ƒÛt×º.“€üÝÔA›Gª©§þ9©’»ú ¼ûÑêø;[X‘“<Ý�	S¿	¯�¼oï³q¿Í·w›ˆµw��Ø»LäÛíš¬²Ù5ybÓÎ;ç6:ß¹iåtç±¥ÓÄkKÞ­%+Þ·¸‚ïèÇ(#´ÿóäï¹ðé€úëÔ?©‡æM¤ý ±�TA0­¯6m¡8m§á;µ�ë1µËÐeÊk­ótÀ:§éÈõ;~NYÇ›É]Ë›)5uœm4Þ>{ÚhÛã+†O|<óÂpËô‚Ñæ)4^Î7t‡W(ÿÉßKþÏhöGnÒ¾8H~ñqªÁsœU~sÆª^sæ,—9kís[u·ýê¤¿õWƒÍ¿ùÚÿ3ÂÀîy²¾íóÜ56/Êu7½hæZ¿ìåXÏßÐÙ8?£mõò%Ûòùâ
-®Q‡úÉßEþcc‡oÈîHîÄ“?l à7EŸ·êJîo¹ª;ßªo·^sË;KmÛ;ŽõÂv®åï®\óß}8fïC9ëãuÖ.f²M–äZ&K�šÆK=F8Ê2Äê†ø÷|ÕOw@ûï&3ù+ÉŸÿù�ÿùgüžx¾—¥UJ<d¨lE6ÃõXÑHÃÍ´Ö£•–	Ú³
‘§µwkqqŸ¦6FjhbKóé‡½†ÉÀ6Ï©©áÈ
-.\8MþòWß(¼�þ'òOðìý€Û?vü?FP²EP¶B%5sTc¬E-u#äªë£!‹‹ëXT^ÉiÇREžºz0€1j€éD¡*`µ
-`Ó
-ÎRþZÉ_GþCäÏø‘üÓäÿÀç€Ë€ÃsP°[E+z3zS5]TPÓAe†2™Ld3UP�©ˆÆäÝ@Ø�×‘ð w ¹DŠ2`æ
-Põ-8hhÎECK]ÔµÕC�ízÈòÔCõ.2ã9È”j#£€�Œr-dÖk z³²ÚY¨qJ5z™¨užf ûµï¨¡öOª¨óŒ˜WA�·*/¿k:+AzC3š˜qÑÄ\
¬õP×a
rÝ× N�êÄpQ[ÂA¶LµKÙ¨S«…œFMä´j ÷äé®Ï¨&Ó,à/Hï„’„R¤ChÆ„ÞB	-�BB½•ºt¤ˆ¨ˆ¢‚2¢ °Ž}À®ƒ#;º*Ê±ŒÎÚfPYl`Aäî3ó‰Ãî|ø�÷Ë{Î}Þ{ïyÎû×ƒ~M0Òü	uÀŸSÂ55 N"ÏU‰oTˆŸTæ‰ ü™*ŸþÂŸõÍÌõÁÂÌ,È`fƒ’LüÐ˜™0âá�˜aÄBÔ¯*=0Úˆã-º`¼SLöjƒéA-0ÔÒ1M0EÆ4Í'4¾’Ÿª1ŸVûHþ¨ö�¼¨öžjïþ˜XèÃJ}°1Ö‡U¦`ci«\ˆ`E7‚•áF`Á!YJòZC —£sÖ£÷[ô-·ã¾YîÑ]°Ú¯ûÕú°Î¼õ�/6§µ?¯º¬ýiÕM­YÛÇZïl_iÎØÎiNÛ.j¾¶ÍWÈ”Ýÿ2	Õ&è�£!œÑÓõÂÕ�ÎTcp6;"4þf›CüjWBøb_ƒÿä°ÉpÎa«Á¬c§ÁÇ}úï�úôß9ÿCï­ó	½7.p3®×q¯]â¦\_ê¾p�Ã=£,âž¸îW
-è>ú?ÀŠ¨Îºà¡¯TC “p@·5ª»xø›~£D‘>Sx¤YJ†é{Êz“7nÆÿqo0šöh%¾òè ¾ôì"Lyö~ó ¼ð:†¾ú,þÙêqü“Õ÷ñ�¨/ñ¨sø{ÔEü�5€ŸX†·‘[Ë€ú~ª­­šjª
!Ö8tÁõ¥›ÌÒÂÌßPÈ¯©bòïkòÌ_ÐJÍžÒjIOè›H¿zo%=òÞeú‹w�éŸC¤û>GH÷|FH“¾WIw|'ÍnùþnvÝoŽ4î¦×üÁä*2æÆ?..úº@ÓBõÕÔ!BO
bŒÕ!ÆRk�é€ûÀð"¼4{á³òß~|Ë_ü3-ïXNTXÞ	¨·¼Øbu+p»Õ¿‚öX]êµú9hÐz<ø¸õµàÖWƒoZ_	~js1ä�õùÐË³¡°r”ä˜/žºÚà‡ê‡£k“­«\‚2$š«Îql5_Ç¹é=cú=�´¸ËàÚÜ
-•Ø]Í³g;üÄ¨rkt¼Öêx9l‡ãÅðnÇóá}ŽçÂ‡�Î„�8�F\sú!â¡óÉˆiÇã‘_ì�2Áö{&ØGƒõÐ2@ÓÔ„%UˆUVž–"
æE¦Š3B+åçÉN¸t½Ûl†Ù?cX¶cQ|çKÌtÊyæZ·3ÌR÷‘¨÷¢šÜOEmq?Ýéq<ºÇãhôa�ï£�{G_òŠ¹ã93åq8ö#¥Ÿ.}lp:ÈÄ~)ðUÓ€”÷8J
- BWmš®ülA~*Ý|Å#©�Ò„˜ª=.6¹”m{&žK9Í{�Ë¦�+Xs$®œ6ÄÚ@û;«™6Àj§fï¡÷³ÒûØÃôì3ô^ö
ïïØO½÷%| îå,zvsÀ½‹Äu)PQƒhL	ø
-+ UEn>K›ÉÑÅžäà±É+ùŸ³<5.§GELëüx×á$>u�›æsˆ“ç×Ç)ò?À©ôßÏiðÿŽÛê¿�»# ›ÛÐÅØÍ=¸‹ûSàNî£À‰oý:’è< nç�â¹„(ªe-‘œÜ—Ll:O{’¯Œ=”©a7×YÈ�­uW=›çox"3|å�”å|H˜Díˆýz’³‚º“×ïá•†ìâÕ„vòšBwð¶…vðö0Úy}Œm¼£Œ-¼Kam¼{a-ÉÓ!-üù€>ø¶€¾Y´¥ \^¸Ø
-”uÐ÷£¼…2×½‚ØD�26^l†](¦(Ÿ.ðÑ;"c˜ÎŽuÜŸÎ]Ý-MñÛ%J
éHÉ
kDl”G¶	ê"[-ÌÍ‚�ÌfÁ~f“`(j£à\Tƒ`"º^ð2²^ø9´^Aõ"ðGü–&š“ŸÏ@Ye�û(sÝ.‘Ãn”*`WÊL°ÑrgÅc¥Þ:ƒ…¡¦ÖFÛuç&xvf&û¶§‰CÚ$™‘Íâüè&QIL£¨:¶AÔW'j�Û ÚËª
°ªE#¬JÑ
v…è·ØJñÇÈJ	0*¥Œ-1˜"0¹÷Y¨ë1ì.Ê\7ÊÑ¿v…<v¾Šˆ�ªvT®¤iõÿ-Ø¨§˜i³k=Û­]–äÝ’�Ò”‘YŸš[+]Ï®––%TJê8åÒ6N™t7·TÚÏ-–œäI®%JŸrŠRgc‹Ò€YœaËý¹bLn*Ã ¼sÕ¯Æ°Ë(Žn0ÄŽÕÙ¯¬¥jôVºÊ#-;Jâ\Ú
-¸´¦|~P]®8²*+#®,CÆ)I/N*J«æ¤5'¯Kß‘œŸÞ›,K?ÊÏMû‘Ÿ“þ˜—›ñ>!/s1V–	Ìå íB*šC>Ê[ôÕ«Ã°ó({�lÔÃ†7®’ïoôRë©0è¬	·ØVëÔ\š°º¾ˆPµNQ*Keäd'æg¯ççf•§dg53³¶	Ó³z„iYCBiÖE¡$ûAJjÎÛÄ´œ…øôˆEb–Bû(ÿíÂc4‡‰?z°å�FiB™«YØl%×Ûì¡ÒÕä§×ÑfÖZmßXïYS–äWV"+(”Äå­ËHÌÈ—¥¤æ•ˆÅyµa^›$EÖ%áË%É²sbžlRÄÏŸá	Ö~å¤ä‰[
-í£ÜL6†=,Æ°›¨WQýsÍ¨­(sµ©b}[,°}[(J�­>:[›CM6mŒ²©«g¹UÔr½‹*“Cde¢˜Œ’4®¸('…�”TP%M,Ø,åî–p
-Ä	…gDñEw…	EÓ<nÑ<‡[¬åà¿t—iT”çÇïÌ0Û;û
-;²ã°*ˆ(²¨HAcÜë’¨1ÐhAÔ# J0¢AŒh
X©c€Æ¦ÇXÓ\c‰‚¨€Š¢(Hn¯rŽÒöÃoÞoó{îÿÞ÷9ïMV×j€k›.SZÈßTHÑÞ¹ÏŽë ¬ØÇlÿ¾`éžÂé–¹ù±N[v}>Ë›;y]Nê´ÛÓg-ÚºxÎü¬ó“3?É˜“™½pvæ®Œ¤¬ÒôÄ¬Ú4cVÓ|cv[jbV_rbÖðì¤,4&ebÂ»¼½:ßöa½y4´û�¥ý³®„vŽåeP\æÉ)(�$Ê+	×|±?ÚnsQ¼ÇúÂÙ†U{RBïN›™–·È˜œ»<9)çãTcNVjBÎ®rÌ‹Ï=67.·iNÜŽ¶¤¸Ü>c\Îë¸øŒËóå·7Ñ,R­{(ò×ÓþWK;hù!€ý‡•PpØ…µ³Â_°íP¨"ó`¤õ†²YãW—$ê—'¥ïK�6oïÂ˜¤Âe	ñë’â
-²gì2Î*,��-¬�‹)lŠ�)l‹‰)è‹ŠÉŽŒÉÇéc¹O÷RG6Í"ÍàÅ}”Aí]U•_VÑÞQ-€5v°­Æ‡›Y=Y²¡*Ü|ue”ýÒ#qžI)_¥LI*O�ˆ+[:3¶l]TLYVTtÙ®È¨òÒQåµ3ËÏ‡G–·O�,í‹<0Y‚!cé¤;áêÛ¨MTýa€ãG*ŽÑîù5Àë²OiáóS®ìõ'ý…«ë¦(—žˆ°Ê8íœRï�xl¶aVMjPTõâ�Èê5!3ª7‡Ì¨Éž^S4½æØ¤ˆš¦‰ÓjÚ
ÓŽöÂ«†Â+ñ¿¸‘EÐ~÷%e@õŸ¬¦È]z’28M~Ú×Ÿe`m£-¬lôâ~Ôh/8¢™w&Bglˆr‰iHðŒ¬OÖGÔgø…×¯ò›Z¿ÉwjCî„°†bŸÐ†j¯Ð†sž!
íîS¾éw>=ât
-=Ær5—2 œ£ÞCþÚ‡È½—Ü9g6Ñ.¸ò"À‡­rÈhµg¥¶zñç´Hã[‚5QÍÓ¬#š£íÃš�Bšç;7/snÙàÔ²ÝqrË>ûI-Uv“Zÿj;±µMø}¿ÎpqÄ6àÚù�áïÔƒÎPþu”{e=Í¹wžÈ¼°–vÑÅ´‹¦\á€Ñ$ƒ8“-;ÚäÆ�0ùŠCM“•A¦píDS¬¹¡m®E@Û"ó€ö5Zÿöl�_G¾Ú·ã°Jí/Ê	×ÿ¥ðiïUx›^©<F5¡y—ïiiöþLþjò—6RÎl¡Ú?ùÀÒRÿ	`lˆ¼Í…ˆ{*Vh—
wR—³Ð¿Ë[¢ï6È¼»Ãäž÷£å=säî=‹dnÖJÝl•¸>,»<ª¹<ú–qê½Å8>ÚßGf,çþDsHù×Rö©öªýª}ý%€e—æÿ�Ø0ó6@Ø}€ ç"¶á¹š«´x:2nƒîbç¾Ç—A»—Ó%º¡±õPšÈòÕ‹×ÙBó×…íp_3ÜÄÓwðÔ#O¹ª‘Á÷8Cþ¯É_Aþ¢ïè=hØHµ/¿�f"ÿ
òÿrÀÐ,ý0‹ã‰®+ÊùN¨Ø¡�Ð�Kô`4èÏ(1D(Á(!ƒs<üˆo†Ÿò8¸“ËÆƒ\Ö™±°™¸Äy—“”%ù÷Sö¹”ý§ÿXq•ü”½ñåß	Üà÷Àó°Æ�ÇÁL‡lÞ8ðÍQÊW¡F E+ú0upÑ]ÀB>`(0–Hå®4Ìäî&Êˆ¯Þã(ùKÈ¿ó€Ï)ûU”ý‚ëä¿0ãeß ïp}`?,kŽ�A�ÀU ðÄ„Íè£œ!¯‚° ¯-áFnb*ùãˆTò-#6²7½ŠÇ+Qå¤Dµ“
-å.*xª�mP"+‚‰r„t)Â*Rm!lcvŠ¥|„ÃD5YuDÙç‰Ì�m"~å »ŸxÉFöoìQúù? ÂY‰Z{%šÛS¤Ž*”¸©PèOg	W"?A�Ü4rVH�½QŒœ­"4Ëc�[(D^‰ù‡øÈ¯â£à8…§‰s\dZˆ«Ë¿ÍF™^Î3ÈyÍŒr†ä¼üú—wA�ƒÇé”heCO[:‡³Õz5*CÔ(�U¢ôŠ—ÈPô±ÅYb”äŠPº‡Aù~!ÊË…¨8"@å1âUgy¿©/òFÕ?q‡Õ·¸Cêî ú¹Ù3õ³§ä¾åÉÿ-É¯³T¢�…mÇ*Ôy«Ñ*Hƒ–3Õh1—2úP�Ú52Ô~&E‹m’Q‹]â7–{E#ã0ÃV‡˜×VG…¯¬O‡¬/l¾ê~ä?Ó]ç?Ñuóút¼Gº7ü¶Èï!ºíPÐ5´!¯£F�ãÕrtÑÈÑÝV‰njt	Ô¢c„í�šßì¨FìV(^Ùm�¿´ß"tØ!}î˜/p*?u*?q®=v©õ»œfzÇ71�\/1]Û„Ý®]Â»®L§ëæŽŠn¹£è&=oŒ´
-tWÊÐ[.E_µldèï¢D½Ÿ½BÍ‡=bÍ_¸§hÜ—¨{¬SöylV<òÜ.àµ[~ß»HÖí}@ÖåS!½ëS-ýuÂIi§¾QzGß*ùEo’ÜÔß“vøÈL¾odW}Qv…ø‰¸<tUÉQ/‘ �ã…ÃÆ‰1ÔQ†A^ÊW�“µ~‘½¾³-züšßó_¥éØ¨¾cØ¢¾mØ¡º˜¯ºX¬ºxPÕ>ñ?d—iPÓgÇÄ«Žj9ª„›9È}'„nb€@8ÂDH8”D"7�"hPK]A-êˆº¬VP+Ã:µÓÖuw¤ÝN·;®Ú­ÝgŸvß¤³/>¯ó|Ÿïï™ç3î³’tÖg?ëû?ïûÿÀ÷>þ©ïgÉ/·ü)ùç-L†¾·R ïü¯$Cg~;¢—7$®õ‚ŒMž�ãç	ÙAëÞÒÃ7¾$Çù|›šæ÷,YàÿUŠÊÿ‹Ôü­+ƒÿ2¡Æÿ!ÑpŸØ°D<p�Ôp—4p‡t:p�<x›<x‹|'pžüdÛõ´ï·Í¥½
¼B�—(ÐöluÆzo€w4�®_Å¾kÞ‰·yüC¸Ëk•µákFªÏcÛÿsªtû"5{ç]ª>h�V|›V|“Þ|ƒÞ|�Þr�>2Çp„|Ê˜¹Ì˜	½Ä¸:ÃX½À|:Í|ržƒÎ²áÎIÜ1Éþ=ïé
)`-¸¹C©—+Tnrý—ÒÏõ;ùN÷o2Â×®¤'m\âÓý¸¢àyŽj×uvÞ‡sìÒ°Ëœª°YÎÁðŽ5üÜöðO¸½áÓÜãç¹ãç¸GLñ®FLò#ÏðžFŽóüò¡Cw�À¡Îü–9'\ÑÓîòFã^h6‚gj?ð8s—ë’*Þû¶Œâw-ƒ|Y$
¿(Ôì™ì=/4D�q“ÂÜ„¨	wZÔ‰õG�‰ND;DSÑ'E³1#é1ÇÓ¿ŒJ�ÿ{ï€F""úÅ0Ì˜æâ	ùÈ÷ÀåUÏµ.à+­;x’½<Ì
vYÐÆx]Ó�|gUì i¹8|J¢Ä�Æ´±ã˜>Þ�íO8�Õ&Œ`–ÄãXkâÖ“8ˆ
%`§’ìØ…¤>l>É†­à{°¿'vKÞÆ•Âè.)ŒBìuÒ�L®ïÔ¬j‘o!ïûs¡+XÎ÷w‹v€E8�Kù„÷¦µÌíaØX¦,zD©IRèðƒòÒ”~YUjŸ¬>Õ&³¦öÈ:GevB—ÌAè��#¶Ë®[eI-²ç„fùëäfLDÄ5)`¬3�…îA\þ‰2ø&ýóKÐ?ý÷KÜÀ­²ðiù÷%É§
-éc:þîá7 Q%öªsR»U…¤.•�Ü¡4¦µ)(­ÊJ³²‡Ò¤¦Z•“ÔFåešEy�fV>£šU¯HæL˜Ú�	ñˆ$g ¸£{ßþšA1Ë4y×B×+ýÀÌ�H·sû“ÖŸ*£ú�sC
-Ä{m¹òÄÎl
¡U“—Ö¼¯˜fUWÒÕu‹º‘iVw2©YõêS¬:õEv�z�mÌüšmÚ÷#Í´ï?d“©Î@pû%€¿¢¾@çpyo5òÄ£/øÄæ:aLXç8�¶)LPo‰(²³Hß¢Ë$Xµ9svã`V».«š[“ÕÀ3eµòª³úø²üýYÓƒæ¦ \óDXžý’mÈ~G¯È�Ù(®¯5<-`�yßíZ®!.Önçêw»Œ×Åy›HïÛ«XÛ�VÂZË°ØF½2åP�†R«ËcUçêy•ÚýÂ
-m�¨\{$½TÛ-.ÑŽˆõÚsâBíuq~ÎJFAîüÂÜŸÙEy�� 9ÅÀåE6rNÔƒGÈ¹î¢Ù7!ßALZ&Ì¡ÀÑã1x�¸ÙVËl7òw©ãÌ9¾¶43í€>‡U^P (É/éŒX¾Î"Ñé:¤¹ºcÒÝ¤4K7'ÕèI³ò¿OÏ.ø‰—SÙÚÈtJ�ËjOPî›�ï Ù×£�ÿM5z‚1ëNpÜŠ[c?œº±«�¶µ¥žz¸&}O}µ4±ªRE*7hXE¥yÂ¼âb,[_)ÓT¨õ­ŠL}¿\©?-Wè/Ëdú2yñwÊâ·U1äfC¶3P	Àß
-Ñ>¢ÜCÞwÍ¿Ò„2hF¾ÑìFZÁ@Ë·žf¼w›•²ÅjajFë±¸ŠA_­¦çVæð÷UbJƒA./¯UHË›CŸ3ŒË2³R±aI"®XMÇ*Þð±
-È•T@¶3?íC]øõPî˜‘s¡ù³È?Ïvp1Øél�á®	^Mmä÷Í-Ìm5Gø»+Å¸³,YwPEÑÔeq5ùéc™Dl4IÓ�G$"S/&2�‰…¦Ùt�iQ$0=çM¯9Bd‰Œ�áÌ9h'ÑÞGÜFî9×À…£Lô0„°ÙÞ�½»\šm±–nÂ¦º.ºÿ�nhY›è£‚IBö%QÙ¨a`–<žÈ\*˜M"¾Ù*ä[l|žeŒË³Ìp¸–E×òœÉ5¿¦qÍ�Êm€gVÑ»øíágÔEtþKÝ|ÜÀørŽ~:×�¦cAÀ2å^?�ì]e§l)ïcï(´	Ârº3¢U]r¼¤CMµçÒùm%Ln›‘Éi³28í6:»}ŒÊjŸIcµ/’™m«$fëk³¦"Rœùz>¯C]Dwp�ÿ"š;5„¼ky×	¬']@ƒc+¨u„»V�Œ÷,?AÜ\8L÷×qC2�‰"¥ÒXQ&žg×Øö"Ën$2íVÓÞ›Â°�áéöÙ$š})‘Ö·Oí}OµÁ8jÏïùíã"êá|'ÚG;êâ0ê¢€cã(ƒÓÔŸAî7±ìŸ¥“QîIÞ9gÈ>ªSŒm’qÞÂ1q$gT�cŽfÇÒú8ª£:–:ÚCíÁQFG£ÒFgö�G—>"9V#I'ÞD‡áÿ±Œz°ÐŠ2@ù_DóÏŽ¡.þ—î2�jêLãð{s—„¬7l!!@ØBÊŽ([•€ŒÅV·iG§Nk·£s´Žãè±U;®u«
-UÁ¥‚C@\PY¤ãˆ—QW�*ZAÞyOçñœ99Ï¹ù'y~ïï~ùr?ò®/XFgÑyN€O÷1ðQ…'L«03S+b¤yû’T¹å)Ùe6c†3;`¤ó=sªs²e¸s†%Ù9;d˜s‘y˜sMÐPga Õ¹ß?ÉÙ`J*m÷KØûÜ_‚þñÅi uxŒÖ^eu@³ï*¦J©ƒr€…³üñ0ÀÄj)Œ¯1À¸šÉ˜šéèêDÕ¨ê·”*›×Ð*‡wRUž1±zšwBõ†øêú¸ê•^q5[uCj*<WŸq�­jw�9òÜ3ú0ê¢*r|5ýèþW�¿d/­ƒ2Zûi˜Kî™ÕSé<š{ óŒF5ê ­1H’Ü!$5ÆÉã‡«b34ƒßÕDÿ<™øXÕ4WÙ´LÑ´Y~¶Tvö¤<´éŽ‹¥á™"ä4ªÌ§Pý&5›i? þKÉ_´`#Íý-¹ÿBîÏ�|x`ü){#@Ú€øfboh!ú¦�$âfz3F°´X¥æ–tipëXiPëdià­™B@Û|Þ¿m%oj+ä|9ÂùÜnf½ou²†Ö×¼¾PYPNþÝÔûæJ€Uj¾ü'À´z€	
ÙgF\H¼
-ÕÞ!c,n’àÇÞœÿã@Þ÷q¸`|'è;S]§�wïœÀkŸÎàÄ®¯XM÷
-VÕ]$Qv•ÈŸ]a\ž=ad]½¨ 1ùhöÕ4û"ê}õ>ý4@^@Î¿ÉßLþëä¿r °SŸ 1ö«Y}¿'çÑïÃiûƒyFÒÃiÇãHŽÁ±,àÀÙÄ2°€('èËñÊö’ù×Ö,¦ÙgŸøˆzÿÝyò_&ÿ5€„V€ÈÛÁw|z�ñD�¸!°Xª8Ý9	9À rGIäÎ òÈ;“X@ÐâCÚt°xEäß@Ý/¡û>‡fÿÍ>‘zÏ!w¹ãÉAîÀäîpïû€QP)ÁS†d	¡%ôD ù£ˆdrçS	Ú‘6Düf(Q ¢œàè=„j†¨F(Æ’jŠÂ'¤›# ,$å·Ââ{áb‡¡˜(#*)NÑH\„_‰.¢�^¯þ¨$·ÆODµ/åð§fbåHQ!äPŽ‰r„2„Ù”cåXB9VQ†õD>e($~$)q€¨!ÿi¦š™>h'G'¼€×ÐC®gÿƒyÔ’ßÝ›0ˆ()G ˆ²h…ajd³TÈL .¦S_PŽy”c±€Ìr™ï8”lâ�ÝÊ"·“íçö²}\…äTò’«gzù‹L×ÆtñO˜Nþ%ó˜>Õ!ý
ÉC—� ùõž„‡==	“ˆá"º&R765*Ç)Qþ�å3]P>GÖ§X(}¥\*¼T­â{Uøçê|®G,äž‰{ØnmûT{˜íÔ—<Ñž—<Ò¶Jî»v0wÝz%ínÈÞvGö–'r­o�òûºiÐO«F?w5øhÐôŽˆ>CD4¤iÐkŒúµn’ò…çy�ç,—.Ý|Y§××Ò'úåB‡a­ðÈ{ÿÐ{+ß¸‹ÿÕXÊÝ3äÚ}ê¸;>Ml›ÏM¶Å÷wÝ¯—¿bBþ²	…KÄÅ·@?ò©Th–+1LT`„A‰áAj´D‹}AÃÄç£5OýÇ«:üÿ |ð™ü^à\—ö …²ÛÁKemÁ«¤·Ì¤-æéÍ�Â��áše¿pÕR+4[…KïÜ.„>”6…öÊBÑå4qŠ¨Eù›`°Z�a2Fñ.¯–a‚Ž®&ÅëØ0uwd‚ø(|”x7ì]M[ØUKÄÇÊë‘³W£þ*oŽúZ~)z¹übôwò1›äçb¶)ÎÚ­øyP™¢qÐÅ™Øzå©Øÿ(ÿ{OõÓàÕ±Xú_Œê*º�EÕ›`Í?ˆuÁ$VÀT9�#ÜxL5J»‡™å÷bTmƒ‡‹×ÛÅËCò4â¦kÎÆ&6&ÌÏ$üM<•¸D[Ÿ¸B{"i�öxÒíOI…Ú:k‰k­õ€k�µÎµÊzÎõ°õ·ƒÖ§nû‡ö»í³¢[¹]�C‚1‚@Š#3¥,f©%ÏGëØé&¾5%LÖœœ¨<7ÌæÚ�œëQŸ<Åóøðººá_êjS¾ÒU§,ÔMYêu8u¥Weêz¯ƒ©^Rwê+R�úò´£ú²´3†Ò´†’´Ãž´WúÝ#Ðk×Ôí|Œcd˜LçÞL�ô�a™ž±2xìPC[¶Óœ,iÊ¢¨·¥¹Õ¥çè«FM0VŽúÐçà¨O|+Ògù–§Ïó+K_äWj[æ÷Ûj¿Û÷~{lÛL?ÚŠM»lL;mÇý‹2.ûoÏ¸oÚšñÂ¯ }ó3Ñ'?�o‚Vê`$°8˜ÎqtÖxŸÎ\ïqpÅ¡€³ãü™¹1²š±É®‡r2½÷ÙsM¥Y“÷fMÚ“õiðî¬?ïÌšoÞa_l.´ÿÝ¼Ý¾Ö¼Õ¾%¤ {gH¾½,d‹½Ö²É~Î²ÑÞnÙ�Ý¼.ƒˆ€µÙèÿ&8ü·˜çäoË¸:™Î�“8Ÿ'ÀÉI>P;)R8”gËÞO7çŽ	Ø5v|H‘ã÷¡Û3Â~p|žï˜¾Ù± |“ã›ð�Ž•#Ö9¶G¬uì�\ã8¹ÚÑµÒqë¿T—iTÓgÆoµX (‚Š,
-BÂ aIBÈÂ[ �DÂ’B‚l	;Ù¬"Q©hÑºD­ãÎbÏXÇé8n—9µgTÚ™)N[ñŒüçö[üðœ7ß~çyîý¿y¿®Äw[:“¯]I„'ÊÃTD4XñsiÏÄØ·¤÷dØ¹rÍà†Ä	.I},ÎäRmÙÇÑL¾«>-Ås(5kë¾é¶=)Eþ‚ò€>Au@¯ ! G #w	úÈ�‚aJ‡àE'8Ø&˜l<jIù% 9å£_s
-±µ)…ð1Áó�É8vNdßÇ¾ñmö9¾ñä+ál�—ÙIyÐò¯¤Q+õ¹—Áì$Ï�Ìt¿ÝébrwZ~`gš2¨C¨
-nÖ…´	[BZ„ÝÔfá>j£p4´Ax&T+¼¦>«þ+¤.í”Ú4"µÍTÌ~Mx™‹ ÿ.ö¾É€«
-|ã)ìáT‰iLA±)Œ°ßŸÏ^7 ‰÷è§úîÊÎ¢´eIBZ2B›2ÊÂ2ªÂµ
4MF½6c½:c$¢*ãTDeÆµHUúƒHUÆM•ù�ªÊ$‚PS\ ý”ŽsÀþŠÜ;;°kT\ÆóL™
ÊÝáÈŽ«áRšížb–sOc‡L°µ%/�Ò Î¡j²e´QqD•¨"ªRT­µFWˆv3vˆ0JE¦Rô
³8ë>«Xô:Z‘ýž¦È&Â”ÙDˆ©þØ…âžb÷Ê°k¨0ì=Ôãêep´r¬ô[²¯"Ì¦¯ŒáØ©äº¶%ú4È…äZYu§$�^‘+�.—²JÄU1
-q#»HÜ[(Œ•‹Çb·‹�©ø.êÇYîïQÛs	:*ÌTDÀ+œÃÃbì[èÿVfPƒ½u¼ÚÕ¬ƒ¡š­æUÔåÝêè•íå—ÆÒÏ:EŠeaFÈyN„b»ŒY(-ŽÍ—ª¸2‰†'‘èø¹Ò/ù9ÒQ~¶ä?Kr‡Ÿ%ý�#’þÊÌ–Q92‚nªü&ÿ�sø>³î ÿëµØ{µøÖG�jÌà€Ö	öj½Íz5ÁK;j"í›w²×jÔq›ªÊ“}ËKÓ‚
-=¿(�%)(àæÈËâDòšøLyk|º¼?>M~8^(ÿ:.E>ÍO‘¿ä¦ü7FX@0Ò
-ˆHSýû�]À9ü¥ç€ÞÿT��¯	ßÚØAGðÜ×´úš7“:›(V­õtÛz
Ë©º–çVQ•è£¬L¥È+2ÃóvˆY%Û9iJe\ªbg‚@ÙŸ¬ÜŸ¤á'*OóJ&¹	%/bKÞ±•‹ÑIJ"ÒToðNzŠ»x3¸‰Þ/µà.¶cßÐaßÀ³¿ÝºtîÐÞî¿¤±5Ì¦¶™±JÝÈq)­Oð,Ðü%5éTQUv¤°R“¬*æ&¨Ô¼xU#/NÝË‰SŒå«'bxêÛ,žú9ƒ§ž�â©#ø*‚fª%øMâ.ÞÁ\Cï:p»°sõ`ïÅ³«{)´u¯‡¦î­æu]!Ë*wEÙ—éØkŠÚâ6J[’¶d7	Ó²Â“µ’¨xM“¯Q³xšF&WÛÃàhFq´‘±ÚÛt¶ö9�­™c×-†²ëª©^âîc“
x'¡÷³È6ôãzðl0ƒ†�ÕP7àEªì´*ë£­(ÚÍt”õp]rº6§w¦ø%wdÅéòÂ¸í…´Øv�ÝÞÎnï	�Ñé©,ÝD0Kw;ˆÙþ<�Ñ6Oa´.’-D€©fñ>ú3fp£
à"ò'öÝ0Œ=´{ U5dªaw(ÚfQ´ŸºL6eŸ³—íœþeœ[òžd¯¸�t?N.9¦¯�ÂêSQ˜}
ŒþF¿Þ/ºÂ7ªrKdßsŸˆÝó>½‹>ôâ=À{`wï
-æ~ù'‘yä ÀÞC‡ª±�–±„¢QgÈõ"IŽ�-E‡Ãm„‡I#œ5¼ƒ	®l½Ðƒ¡ÏñŠ:Pà©¯ðŠÐ×{Fè»=èzý&š~Â=\?é~à…kØÐ;×Ðý‹nÔAâ}§Áp.bö§‡Ž![ÿ@ßv¿c•XÇòOˆÇm kÜÒÇ}Ìã�Öñ'ÃWpN0˜®S¤!y-Í�¹>Ì [j([jÐ¬¥:×„†�ƒ
§Vn;¾Š26ïH>º¸š<J8™jgp¥3@ÿ'ÑóäîEæ®qÍfp ;iÊìF;à_Ü±}Ì™)VÆðÏÂŒLÛ#ß>È˜úÅ˜ûÙ¨°'«íŒ:[ãàçÛŒ'VøoÚø^xöÙ–só+|Î.~î}†°5Õu¬¡Fœýiä;Ž{p
- ¹MÈUŸ�±^FþUìŸ7I6¹¨Së xÊÓŒ<åo±m*ÔÊwŠi½e*~©Ït†µ÷ôvk¯ér+Ï™&ËÍ3–›fÆ–lœ¹já>3ká:ùË’
·>Z¹Ü ¬Muy¿äŸÀÌG�=€ìVô\u	 ø€d'ß`O„à�ž,aãC{p¸\y‘\QHëG’Ö=æ‘Ö>I'­y’OrzZ	«Ÿê`Õìp˜=ö³ßƒÝ“ŸÁîÑ’Ýß	3S�Gþ)Ì~ôÎ}w »ö
-@É5œ²S‘ÍA6ý;ò÷ÞÜfÖ¼ZN¯mÁñµ38¼ÙH²ãK²}K%Ù¼�!-›€õœ,R�ÅÏ:ücÖã#	�Í=xû€7Ä':�ü±¯ñNÄÌ»Ð·}—![‚l!²¹÷��l
-²½‘íöÀù‡9»÷æ`³°–-8�,Ö’Ì<HðÁEøÀXÀKx/À÷xùþŽÿ
ƒþm¿úDäë‘ß‹Þ¯”OÈî¤¡o.²éÈ&#ûÿl×wTS‡ðû²	SB@¦,‘PB-©DƒÑh$j�
-((¨¸•Š
-¢"ˆu€[?Ä�{oØâá´V”úÓâ ŠZqT«÷wíïÐÒžßŸór8‡÷½¹ï½¼{ý)»e;=¤ìVñKþ A€A("öÄ•t@éKhHÆq„@,#ôÀ#]p<ð§Ê:z'œ( ï>å=‡×L
‰”Ýç@Ø=?*×í@Ê–¶ð¨�¬·@ÿÿ'æ/bG““M¨'HÃ*Ò`„ôƒŒËþÙžRä¸K‘!à)Að³B!Ä’x#¹ãèëNe#|ÍB(d–’•dÅn"ÛÈnRKŽÃ'¸¿C#|€äyOðïÿäS¶ÀUŠ<nTƒ7Õ*Fè#DÀGH¦:Ò©†ÉTÃlªaYBùed5YOgÙL¹»(·†Îy~ƒóðà
Üƒ×ðŒ¼#í�¼êÅ.Öh%“¢ˆp�%ÿëE0Õ ¤^|I½J5¤R/²©ŽTG>ÕPDÙ%ÌGXÅ|€
-Ê­¤”í”¹—²ÑyÏÀK¨‡çp—ümTÑ3ÊzJ~!OÈãNÐ†²í¤hk/A‘ƒ%îX!7JŒì~ÔõbÕ�ÉùSØ �õŽ)`½e–0¯™åL;³†ù•Ù/™-ðœ©†6¦ž2'¡•¹O˜ÛðˆÕ
--ì7ð€Îp��L³™»ÿ€ŽöRt’Z¡ÌJŒ2[1:»ÐçîVh.Fë8Ñ'«�‚ßÄÉ¼7¢tî+ÑDÎñLv›$ŸõTZÄj•–2O¤«˜GÒ
-æ¡´Ši±Þ	¬kà¾Í1ø�ÍeøÉö4Ù=†[¯™FGdÝ$
ŽÈþŽ|Û	ºH%è&£Wˆ^!úÈèè)F÷`ñ{¥è•³VØædä·ÊFs9�çüì<•}¿kû'—V³K1ëŽër¦Éu
ó£ëFæ–|;ó½|Óèv„¹év�ipodê»µ°®z¶³/{"ç¢'rÏ“sä¬Ç_ÐC(F–X|ì)äaˆ=ƒå‚wþÂç>
-Ñc/�ð¾g¿Ùkï¶wçŸIœFß™œ›Ýó9ßùqnø•pêýWr®ûWp®Tq¯ìâ^
-<À½xš{>ð÷LÐ=ÞÉ ücA¿Ž¡àp
-þvç1xô“ÂÁh•Röû^2N[¸'¯%8Xp70Fð}�þü†àa‚ú�Ñ‚k¡Y‚Ëa¹Â‹a³…çÃçÏ†/žŽ(žŠ(�ˆX/:±UtT±OT§8*>¬¸">¨¸-Þ¯xjµOñ^²G�’êH”ì";;Á ÀpÊ�Æ³˜wj¼Œ³aZ”]YM‘¾œ›Q‘‚ëQ}Å{
’œím–žŒN“�Î¶>ªœj]§œc}H¹Àú@Ìb›Ú˜2›š˜56ÿŠÙd³7f—ínÕAÛjÕ9Û�ªF»íªÇv[ToíªThW©BÛMÿ@ù<ú)c¡àeí;¤¹/šúH AíÁ\V‡òÏÄÇJ�Å%ÚŽêPoéR?¶ËÞøœ.{ÔÓ«ÕyŽ;ÕŽ;ÔÅŽÛÔ+d[5²Íš­²*Í>Ù&Í	§
šNßh8¯Ó´;­Õ lµ?+×`—E=ˆ¦ýK€ûš’hÎÖ3Ð åÃ�Në‚yuý•ÒýÚ/ö$$9íLÞu{BªË–„L×ª„I®•	3\7&Ì•¯×.”£-‘¯Ó–Ë×j7¹­ÑV»•këÜW%\q_‘Ðì^¦}á¶LûQ^ªE×-º�®P	lìð�òïiç©'W±àÌg¨3pjGYíJR;l˜èR9`ˆûzÝH�
-ÝÏµºñž«u¹žåºY^+uó¼Vèy•é–{/ÓUx—è¶y/M¬õY’xÞgqâ�¾E‰Ï¼ê>xêÐƒt#îPE¯ŸÏ= �ï–™ö^zµ\&ç’iïLv€ý#º³ª“Â-Ãbí6µ.k
IåƒLÞ+’,¾eút¿R}¶ßRýTÿbýÿÅúÿEú¥õ«
-õU�ôûçëOåëƒæê[¾Ö¿÷ûZ�¾yzôîìóuxJ=hN;çh€k´{žK£“>H±�=£½™m)aü�£T6kÍýœW˜x”‡ø1,œ´Ð0®G¡abðÃŒàù†üžù†E=çV„ä6†Ì6T‡Î2�aø6lºáQÈ4Ã»Óc ñ'~>¿âè>E;'e_¢Wý©Lš13h×HÃŽt¨LïÉ]÷U´teŠFV2²¿ûâäA¾…¦aAó‡�ê9wè˜Ð<ãø°9ÆÜðYÆÙ3ŒÓ�¥Š©ÆŠÈ\ãŽÈIÆÃQ�×£²�?Gfß„eÅž¤GgŸ´-4fü@;ß¿)ÿÜÚ·hï©¥tW¦6gÉa}VNùØ^VËÒâ§jå½OþÈ!AsÌÉ¡3‡§DL3eDN1åôšlšÞ{¢i^ïSqôÓêè,ÓVå8Óe†érLºéž2ÝÔ•1#H(	éð6‘îºÓiç¤üÓ4fÔM¦Ðq[66æt…µ9ìå"…ÅY±v…c¿pÉOà5;Õ8Í2,tòÈ‘Šœcz�7g)3Í¹ª±æ¼>éæ¢>cÌ+c¿2WÅŽ6×ÄZÌâF™ïÒñ×hËŒJ�
-Ñáù@ºè:4P.Òèw‚ö®ƒ´î¦cÕ².W+sý˜’Éü¢•Í¼	}�æd&zLÏHòŸ”fŸš9vtŠ2-%£Oªeb|Še¦z”¥@=ÂR¦6[6ª‡[öª‡YÎª‡ZnÓñ…Êdù=Ü‚½HT�¡‰®C=õà¿\—{XÍÙÇ¿{ïÚµ«�®*2)åR)$]u±»HiJÆd£•KmºM)Š�#—íÎHreÜfJ3gÊ�ãNfœÁ™$sÌa�ï<ÏA�?>ÏóÛÏ³ïç]ï»Öo­u:‹k!¨Ëå]ƒl^¬]h‰•Ù.’ò…Cå%YÊ‚y*ëìÌ¨æÍ‰í?gV‚ÇÌÔDïé3’’RRB>Iž­JL^6!¹8ü£dMØøäMaã’÷©â“uª¸ä«£âS:‚Æ¥¼—"üR„ïð[p•}ø�5ÐÑ,Ÿ}(ªˆ6X•gŠŠ|G”æyêæúçf‡Zf-ˆì=÷³±ýRÕñîÓ3&xM™3É?qÖôàñiéªqiŸ…Å¥†}˜¶,,6mã¨±é{CcÒO„D§_	ŽI“öÒ?&MøŽíÆÏ<~_žÅõÀ4Ðy¸˜}(ax¯äñsY±¥Å}PTì.Í+a8¿ Ø,#?Ü6-7ºoJvÜÀ¤ã‡$fMôI˜7-ðCujÈØÌy¡Ñ™Ÿ‡ŽQW�QoŠRï9z^C@ä¼+þ‘êvßÈÌ.ŸÈLá™ñŽ»ìCsðmû@gïŸ5KyÞ/4|.-“¡p‰
ò–�,(ó’g–*ÓKTV)ÅQöI…±ÎÜò‡Åæ%ùDçÎô�ÊQŒÎÉ÷�Ì­ð‹ÈÕúDäîžÛ0<,·ÕK•Ó>L•Ý5TµPéÎ�T ‰5Ð±öGé<°Œëa°‘Çî
-
PH²5æÈZá„�§,}¹¯"eYˆÙÔòÛ‰K£ÊâûÇ–Np³xÊÐÈ’^á%™^a%ùÃÂJÊ‡ªJ´ž£×]ÜàRÒê²¨Ý5¸¸Ë5¨H¸¾ã2¿ßsþÕ³ö_Ñ¿÷ïìÃ`ýZÞûH.Ÿ3×böšÞH];H’¼f¸<©2Ð$qµÊ2aUT¯Ø•±}£VŒw	_1y�Jó7×PM¦kˆ&`ˆ¦|@°Fë¤©q©ip
-Ô´:,owô¯èrò/N~Ý¸À5xŠsàXpp5×Ãz`ëFÞ{6±›�ù$•|ºÅI[œ0i‹‡lÂfÃøMAÊ˜�á–‘bìTÚq}B´Ÿ8iSúj3µyh—öñ×®ïí§­éå«m°óYÅvÄºv[ï5]vÃ+E¯îœá¬�ý?Ìñï×r=ðzºa;çÂ@ÑN@M¦WñîW-GBµ
âv» ¦ÚS6ºÚ×0lW°2xW„y`U¬•_ÕÇÖ>UÓzŽ¨šeí]•må]Uf9¼j­…WUµÙ°ªúCw¶šÙÑÞÃc[—ùà­Âbð–wœ*e
x
¬å•´f°�¾Êj ¬ÈÙÌÚLÙÄ}	DÔbT�-Bê\0²ÎSæWç#÷®
VxÕŽ6ZoâY;ÉÄ£v¦ñàº,£Áu‹nu«
]kwª=n0 ö’¼ÿ—¿¸ìïR8ïFýö¾£žóï+Ž?Ç¾“n-�Ëè, S}H®&ðj:æ(0òkÞ?äðl´†G£#ÜÝ$ƒ½¥ƒd.º(=g]‚¬ŸnªÌI7[æ¨Ë“:è–K?Ðm•ØëKzéš%v'þ#±«!µùFÈz~-ôÞp”þƒ;8vó»H÷*zâ<8Ì¤wÒq ¶ÕŒ8
¸8ý Aï
-Ø6÷DÏfGX7»ÃªÅ-a0o‰ƒÙÅ$(/Î…ñÅB(ZVÃ°e7ä-§ ×ÜýÏ N@¿éuôïcÝ·sÜ•t—áZ¤7ýöàÿð;x4.Í€ý%Àê
-`|C
-ý[F�Ý²�ôV?n<žÀ�@à.7Â»ÜÛ¸´ñ£ÓÆÅÕÆ·}GÚÈSòü-Øó�ûzÖ»ü�G÷º§žøJÄ?ÿs€gà|™þkôßLîz÷^ ‰xd<ìEúó÷p �Ä
-:¸>áÄÂE×Ébw6âé�·TÓ¿‘c_Î^Ð�ÁqJ÷ø³@äyú/ÒßJÿu ×mÀ’^£û€ìº’Nòùý/˜Ë3sbÏg7àÏ‘ÀK’_ñpöŠ›Ñëå„O ‡ß²…þ•{1û­fÍ“9î�èý#p•õç˜�ïv?fô>$íôu�'ÿw¿&¢;úÄ‚8/Âƒ˜L¸)öFðã+Ö¼EÀÁD Ï_óÙHÀÙP`˜�@ˆ¾@¬L`’T`†D@Íÿæ’E¤œ¬"ëÈf²ƒiìÆ+ Gð:t¡‰ÜÀüJž�?Éä÷÷R{¥�Ø1;æÐ›98*<™ÃHæ­'�È’™Ã\²�o’%tjèªdì
Œ½•–*ÆßÇ˜‡H=žáþ‹«ä~ã¯ßøF'ß|B:Èãn¹­Rè[™‰sèÉ˜ƒká'ˆdãY‹iôÏ"Yg>½‹é«`äUŒ½O±‰ñw0~
ãdÜãhÇw¬À%NÙŸI'±*èû…ÜaL¿‘™±005R#!³g™ƒ7sP1‡8æ0Yú3%Ï‘Io�Et-¡GÃØ•œšZÆßÊø»ðoì§õ~ÂIÜC3Úpw™Õf~“¾ëäÚ{ó&Â\a$”
-aªT3;CaÒÏP1² ýˆ–=ÃÇÒNL—<ÆlŽi>�ŸÓUBO9+-n³·ðgÀ\—Â5I#þ%=‡VÙm\Öï@‹â%Î³ÊçXí&c!9kòa£0¶2…°‘{…\Ø[;ƒ×Önògf~ú&²‡ÊqÒû&I’{ÊTÜQªqS™ƒëÊ"\U–áŠér´š®Æ%³
øÑl;ZÌkpÁ¢ç-ÐdÙ„³Ö·ð›Ç8mÛ%9i'¤�äi°²7{úÿÇt¹F5ueqü\Hä!ò° ¼I€DH <HH€	$\LH0ÂÂ;¼1È;"ò* à©TÔ‚Je`¬0•eÕjkG»l§­³Æ5:vf:ËegÆvZïl?°Ê‡ß:ç~úŸsöÞwï¿7ÚBP™ “ID =é
Í�ôÊ×Ÿü½Gé©kœå·®©ØWnYØC=zài@ŸyÑ§Þ­èŽOvÛ§»å{[÷ÃnúÃþ@™ÆV)°�¨KØuê:¶B}Œ-Ñ^X.Ò^“®ÐÒ� Ï—6AP�á�HYlû%Ôû‘¹{A÷²xBÙeù˜mñÀ_bñi ny‹®µ¼¹«Èr-¨Št#¨�t=¸�´ÜEZf$-1‡H×˜¤EæIÒUÖ,ù2ë2yžµJþ€õ€|�õ×-çY?Z�!¬g€³,ÂzzîÿVŸƒÐ«(øõqÁw…Y¡ï‚·£‡L*v7$œ´Îm¹&·Z	WY/EäZ/F”Z_‰¬¶^ˆl´™�Üos‰Óms‘Óo3Ç±9Ï™´™åNÛžã^´�á.ÛNsïn=ÍýóÖÜ—vÇ¸oì¦¸„Ý$‡°;º	‚…,‰H„½‚Vó4¡oâúRˆ¡?r¬Ñ�h/´Æc‘—y16‹¼$»~ú¶‹1ÙÛæbòígcÊíÏÅÔÚÏšì§íg=§'…cÇ…'�	ßwœ.:®;M¾vüà4*øÅiX@¼ÅqhYüÊGè¹ô¥0ç§ t?¡Û"ZKpCK»¤1×vN$v8'Juší}ç´Hë|BTè|Llpž×97»p÷¹Œ‰‡\FÅ“;FÄgw‰çwŠWwˆíì}¿ó èç}"â-.½› "ö2Z(´Û/ÓA‡¼×œåw)ÎhA`q>%Üú¬Tèp29Éy*I±óˆ$Ëm\¢s{WRì>"©t’Ý%­’.�C’C%cžfÉ)Ï^É¯ÉŠW—äsïNÉ3¯’ÿz¶KÀÝ$!Ü6 ¢¡íB›ýVž<×'ÐöW�e8Ëåt4—IÁÎâ¡VÇÓùöGÒ\FSSÝ‡Rp¯Y¶w¿Lïc–•øöÉª|{d�¾Ý2“_§¬Ï¯C6ì×.;F1Éf)mÒkÔVé]Z³ô)µIöo¿Fáx7J	¯
Þ@{}wþJ	žS‹ÐÍ\˜q�«Ðæ.dÙ¢µ:¡f’�¨¢ìF2ã�Ò“ÝÍŠ=>=iJJWš–Ú!/ µËËýMòÚ€6yK@«¼3 Y>Ø(?Ø Ÿ¡åWµò[ŒšÔ'Œjù«€*9A¨eƒÿ@>…7xš·Ás­‚÷\æaN»�Êñ@“9A–£û8¶šØí}ªD·®ÌTŸv<ƒÖ–®hI×Ñ›E»•»ŒŠ† :E{p�Â\¥cV*N3
ŠyV™âã�’=
-)Q¼*Q¼a”(ˆ@ `ƒAždBt� }½Þ¸Pó•ÞMå»¢±|ºÅ`^„µY'pìÚ—°Ó¤–y·¨´†½{éu™ÙAÕ¸žY‰—…ðÚÐr¼•]Š÷°‹ñá°BüDX>~1\�ßÏÅGäâ?„æâ¿2sq"('üjà›,ÈEu>íeð]Àl9xð�ÅÎh¸Øë/boé.àokÏ¹´è’<ë÷É©ÕœnÈÊb–ªrB‹UEáÊÊˆ|ecdž²ƒ£Sæh•SÜlåy®Fù{n–ò!ðÏµòlµŠ`iTsƒrÈ…}à9áÞ« }­¡K5à9a�„sŒ”;¢C
-ê-!(�ÚÚZ÷N}A¢{u^Š_¹NA/Ö*Yùû²ÃtÙzŽVS•­1F«5&žJÓÏSjŽò25³<\³ÌK×|�¡ù;'Cós8®!Ø@ÈÏ A~RqÝ«àýæê:ëXø­*;ÔWí�:ª‚-Û*96�¡cMénWC±Ô§¸0-@Ÿ�3µyêpu®Ž«Ôóðœ~FNkŒ"ÇÌß£ç§éÞã¥ê–x)ºÏ£St/8©ºŸ"ä9DºÁ_ ¿(@hF½Ð½Ü„Ðû-à·š†o³Ñ
-uÝÑ~#kª‹°ª«‰ÙVQ%v)©HöÔ—ËiÚÒŒ ¬b/Òr……<yA%?µ ™ŸRÐË“ŽEKg¢’¯q“
-ïs$…‹H*ø),©€`'å¡|q¸y°VõúÀþž	¡)àœ£«Ùµ5ï@M-þ¨®™M®läm-mˆßžo”¸åÔ¦øfU+ñª½¬´ŠìðC>Gj¨à&š¸C'ÑðndbÅÙðÝ†%TÜž‡ˆË_³Äes3_C
Þ�<ø¨¡ÅýPPàA�æ0ïÃÜÐî„jø¡Êv–e©‰k�¿?Ö>§u·‹ºEê‰7¥QÓq†¬^ÃJª×³�v‚±‘�Pß"®e‰ê§ƒãëƒâêï1âŒÏé±u¯éÂZ‚.¬ù�‡�ûëð+­‡NˆCx®ƒ�÷ƒç‚}s/BU½6¨¼×÷20}o8YÛÃßšÕ%rÂ;%®i©ÞÒöj¢I(6å1D¦rF¼©‘gêŒ5�úMÓ4�i‘"0Ýó‹ÙÿÜ�ßöÚ�×JP¢[~ã3xƒ5ˆÁ5¸ÿ%3ÄFÿãCàû†ê†µ~¡’ÃÒ:#Ý e²,U‡¹VÂmòC	Û“û¥®»*<ãÍ*ŸXs®¯À\æcnðá›»¼ùæOžùŒG´yÑ=Ê|Ï�Û÷Ü•ÓóÚ=²›p�ì"<6¸
ywÞû
-Üyô¦ÁvLŽ#tx|P
{= ž°E{'<PÆ¥M„‘dã<kÉØÿÙ.ó°&¯,ÿ¾äKH„=,*
-ˆEIÕP�—–±Ž£µN«�ŽŽ­Õ:¶ê¸ÖE”EA$,Š`Da0âR1îÖ¥EÇ±.µS—¶NëvççS·yžþñ>üÁ—óžsîw¿sowKÎ ¯„ìßùõÉåÿZÖ8SÖ$ÿø¬™†^YÉ~=³VûôÌ*ñŽËªõê‘uÌ³ûêëžÆÌûÞ1Â'f•ð}N×ÀÁ~WÓ_NWQ>÷dß…B`™BÆÚ€áEÀÐbO*ÅÀâ(©qÙ\ÔÇ¥w‘E×Ë6Ô=Î6BßÝö®>Ö6Qo´}æn´-r‹±e¸FÛŠt]k´]
-�j:|«‰Ê¿¯ë”'\#×	·çìá»WK%kÞÄ«àúbÞýJ�Å�›€‰ä^Uß,^ß˜ì^èeE\e't·wWÄØ{ËÝìT]ìIê(ûÛêNöT‘öOTöyr¸=Mî`/P†Ù«í¶R´­¸¦ÙÜ*oªà�Býœ«Øú+XoÝ9eÀò
-`.}SìÀ¸Jà÷UÀÀjàµí¼ò~¾Ã�stD;G4B&„8,R°#	AŽÑÜ9þ;§ÃàX_G.¼[àéh„¾î2ôµ÷ ¯’~ûKjè¯d¯7²Þ<ºÓé\@ç§tŽ§óí®A�àbw‘{��À·I	7§;tÎ h�ápqÆBíì•sdç((� 9¹á�|Ñ²Á¨é$ÿá`j%âU\çrözkÎÜ
-$Ó;£–k@ïz“èíOoÜ~ êÐö`8¸ŸäSÎhˆ�¡üèwæaŒ‡ãæD!�ÂæÑÂ�ÞBÑ9lþŠÏÜ ­/°Ó_ôw {¿tÏâc“ê�w÷Ãö–F ×A óúéõ?
èF}Žþ’‘“K:
<Œ´çÁ<†ÔÐ8opÝàæ»É�ÎMæq“ÅÝ8N.¿ ”}_ËÚSù¯¹tO¦{,kÞ$¦Ÿ5wùhw–õ·ntª.Ñù
¹J¾%ß¶˜AàsùÑ¸ÜeOîð€ô�ñQ
-ÉsÑ×½ Ÿµ¯díŸï¦Òý>Ý#èÈšãYs—fÖ�ëÏZ]éT\Åwó©“üH~"ÿ%wÉ}òÐ
xðòÁC»E8˜’àÚˆµ/æ-4ˆ·Ñ­@�0µ€QHP¼!	Œæ3ãÉT2‹, )$�¬!kñ¤�QŽGØŠ‡p�x€3Lç*îág¦&þ�{¯ ÈÌÁ�9˜C[æÐ�9ôaƒ™ÃH>ó'ò1™AÏ<ÆOfüTü‚’MOZac¼MŒ_Iã?Ø’}¸ƒlÑ%Üf“nñ—·á·’/sðf^ÌÁSÃ¾0‡(æ`b™Ãp>õëû�®itÌ¦c!)t¤Ñ±? —žÆ+áòTp™¶á{ìâkr˜¯Ëvâ®0Û+Œtù7*O�PºÒ¯¥ßƒ}dáÌ¡‡R ŸôIt¿Cçxº¦0Ú:æñ•XLÇr\ÇJz²èYGG!c–±ò*\ÄÚ›pÍ8Ç'Ï1ó¯¹b_Ñyögž!tZ�ÐÈ¡�\„Z§jƒJHí™C´òúHw1˜5þ�QÆá>¢g·Ä,nÇÏ¹-—p{® 'ƒŽ:ÖÓQÊ¸vœâzœDŽã4Ž1Ã#ìÚaæà¤³‰xá¥Ô¨…'TÂW-/Yx„(ÑtRü$÷”¾—Ð;Œ¾1t�G³4gÓqZ1§”qR™‚ãÊt“×àˆœ‡Crœªr4©kÐ¨Þ‡Í—Ø§½Š=nwQ¯pxìðÒ«¸d¥•"D§¸è§¸í&]s�ÆE]_4»Ái÷‘8á1G½>Äaï¿â ÏLð��¿dì7¤âCöúçb·ÿÔ”ag@5vîA]à	Ô}ƒêà;RU°�*ƒ…b©xÂúC¡�Z#�Â%ÜnçŠ+�hñÇ©€ž8œˆ¦Ð·°¿Ýìmÿgìûõ>•fKuHµ—J5áiÒ¶ð5RuxžTQ"UFTJö‡TqHQyA±)ò¶²$ò‘\)d[¤PÙ"^"ÂX$¤Ÿ£ýÄ^$ç£$4‡ºâx‡¶hŠ4J_D%(ê»UÖu©¬é6VYý¹*zŠ\3]Þ3G®ˆY(oŽI‘ËŒ+å�Æ¹Ô¸AUlÜ¬*Š­QÆ6ª6Ä~­Î�½á²ÎøÀ%×(49$;æ%¬_ñˆþïøY½Ø—cÇœ4ñÎcT¡Ñˆ]=:+jãLª­qÕöžÃ\Ê{�Ö”õz_S?QSÿ‰¦(~†¦0~®vƒi‘v½i¹6ß”©]gÊÓ®5•êrL[uÙ¦½º5¦S®™¦ë®«â[ÝÒã…[Ú3V<CpÔÝŽ.÷ã³òœ?ˆã–co?GN}_l7‡+ìæê2óëÚó×Bó·óÝóÍ¸¯3äžkžªÏ1ÏÔg™çë×˜—è3ÍiúŒ„l�•	6�ô„-ž+Ì;=SÍÇ¼–™¯x-5ßõJ6Ï§,~Jß_F~þYûŽ–SsÎá¼óñïNæ²=Q»µ½´Ñ£.Lìíš7 QŸ; É+Ë2Ò{µå=ïËxŸ•–I>é–i>+,³|R-|—Y–ù¦X2}—Xòý’-e~‹,µ†…§ásËEÿy–;†¹áG|çôI+{p�u7Ž�xïªçx©y‹gÜ7uØ˜‚Â¤®òº7âuYCúy¬<Ä'mÐpCªu´ÿ2ë¸€¥Ö	ÉÖÉ‹­Ÿ.´Î
\`MœoMšgÍ
šc-m3Ûº­Íß¬�Á3¬çC¦ÿ�ç2�jòÌâð
;¢€ˆìK†@Xˆ¢€È	H€°%l	{XKTAEE­
-¨PGâ2 —ê´‚Óª£�Žxê§sl«—SOÛ3N«£Îôô›ô0<'	ž÷½÷¾ß{¯ð¥k£ðW­�qÖ&2N‹¼ŒÄ5œŒ6þ?åcÖÁÜuWíYúüLS“ºÐa©¯ñPf¸Ez´ÍNq¢}OjªSwŠÔ¥#9ÏmKr‰ûfQ…{»¨Î£MÔâÑ*êðlNÞéÙ”¼Ÿ­Mc×‹¦8µ¢YN�è�WµèGv•è�ˆqn‹ü€:ø1˜ËC›UŒYs—mÇi¬e\Î¢a¹íÏõaõËæ;³×-Û&�³ïÈ9ëÒ%nmi9ž-b»I¬òÒŠ5^õb­w�X·ªFÜ³ªJ<ÀÕˆ�p+Åg|ÊÅñJS¿à©R¿çªÄÿñV‰Ž*•a/ò"g1y(D¢õú°3'Ðc-£XÇ…í-ð¢>E°é¶¼µV[å±víÙB§fiª»63“S—!÷®–q5’r^¥¤Ö·BÒê[&éòSIöð•’a~±ä¤¡äŠ¿B2 �|ÇWHÞñ†¼yŽ<<@
Ü�s¦3'ÚŒIpï!%ËhW‰'õ”wEX¶ÄØ6ç%8ÔË“ÝªsÒ9•ÙÙÜ²¬|_•TÉ/‘jŠ¤��Ò­A
-i_Pžô`�\z"8Gz)8[úyp–ôy`¶ô-?[ÊøŸEžàÜGþo•!UÈf¿Ó`¬óâ±»Ì’zËÝ¨³ÌÏHWfÞ¢Œ²n(Ž³¯.Hr­È³UyRŸ"¹œ¯�æÊ*‚å²zAŽL'È’mHeû²ã‰ì‚ Mv<
N“½	H—1|à—žÃøÎóíï=ÔÁ§jÌ[uÈƒyh$:‚öoñØ®1¥N�mÖø°ZÕSmE¤UuY¬]…Jè¬,Iñ,,Îàææðs
-
-‚¥ŠRAF~MXz~[XZ~OXªb04E1š¬0’·C’O‚“òÿ ÊgüøÍóòð9êàz
ÎüS-˜5ÐŽãu7ÖÔ
tµöÔZçMÚÚ “šš5–•U16*M‚Cae²{nyºwvi–ŸD•(V*)%U¡¢’–Ð$e·`“r_ˆP9œ¨œJPÞ
-ŒW~_òš_ÂøÅ/à;Ï—ÈÃmÄàö}Þ3íD`=¤#Ú�–|Kæ�&kjhò¤š&£ÊÆÕæ*mÔ²Âú¸¹uIÎÙ5b¶¤*“›ªÉå'©‹…jMP¢º9(AÝ¯ð�ÓãoÔLûÆjnñ6¨¿õ‰©|åSÁÌÃ�)ÿ�û¨Å›ˆÁUø¦á=ÕAt¬ç¡“¨kykªo·¤ªvªhç±Tí¡&…ï­[’Ûk›Õ"t�4§¸¦4fp6ieÜm/®Aí»±¡‰«íòÙ Ý»*F{Ì;Z{Ž¥½ÉŽÒ>ö\WÿŠYÇ°#kÎ"s¨ÿëÈÁe¸¦à�èE-ì Ý=D-ÝDê.#RuÙSq—)º‚Œä�æYÑKÓ·Æ/OÞ"rnNw�ÓåxlÐ²ct•ìh]£g”®Óc½n¯û:ÝQ×HÝ9—µº›ÎkÛ;E¼÷Êyu+ãÞÂ¸.rgàã6äþ3AŽcîG=‚®=˜;ñ¹#c~ßR’õ¹QVŸ/+£/ÔD¼3Ò"iGìÒ„íÂå±½â•Ñ½YŽëzœ"{*œÖöh×ôv8DôöÛ¯î9º"¼ç¬]XÏÍåaÛÛ
-º_Ù…t2+‚;ûE>E¾¯lÅy€ÿ$¼cƒD÷í[@Íæü,sÐˆÄC+(eˆCICþ¬„Áp“ØÁ(‹è}ñV‘û’­#2mÂòmÃÊlBl[­Cö,
8b´wjIàÞ–ý�,ýwÿlÅßÅ,õëc–ëyfPáŸ„Î£}†0ŽõŽ`öÄ«ä1>Ç�ZPÌ¨#E�zSäh +btµqØh´©`Dh<’f8"·QZø�ÔšóGtf¾#}¦¼áaSŸáI“UÃŸ{þÆØëàÏ¦œŒ{?c¾ÈUä|þÓï#ð>J´gŒ¨ãiP�ìˆ’~G´þQˆÞ‚ôä¯ç�ŸÞŸxúpWmä­ßdä¥Ï0bëFžúJ–‡¾…å¦ïe¹N¼OÎ§ÈñÄ­<ñ�Žÿ‹å0þ+Ëþc´ÈEø'á×Aà‚«w‚¨U�œ$Rœ"JÃˆºñ÷DáSD~ç0ž7&gƒ-9ÜÈÁàCö†ZaXOË
‰dkÈ e†²2T“¥a3Yœï'³óãd2}‰ŒÏÍ‘ñÙd2õ–L&™ÿsî bp1€û œ}ðm†¯vu§Náy¢ÈD�—ˆ¼®9ý�Èúc"Ó™%Äšq šå°Ä\Ä³¸gQð³(ö$ù6sí:À×¸þ‰&åøï“ˆûö=w?¼�pjá,5å\$}Hu9øˆhÕ‘Ë‰–ß 2¿E¸èÀgfh>mñ°u%úÍ  œKÅ%€à½z€„ßCQÍáŸßÅ—î>Áßþ^-p
-1?Š}ž%Úw3¼åðæÂ›Š½ÆÌ…Âë¯ëm"»?YÌÁ}Ü7'zh‡fÄ�è‘#Ää)Âg¹üg(üg(¶gØÜ³Ïð»GàÉãØû�i<—ánƒ[�8çc¿iðÆÞ$
-ƒ—¯ë]ìNó/á{¾ß€Çàà)x^`-?ØcPA~~BL^Ç½A“ö—òÛmx�Âƒ
¿A^ÞÜXà–µë2jîj¸?!’ ÎqXj8¼¼/à@d¯Ù¼KÇàù›ï»y'øü^„˜^ƒw–D¿81ˆ	ƒ¡�AƒÊ A`ð@fððcf|†œ,ZiÁ�½CŽ¦Ìÿ¸. &Ï4Ž?_$Ü÷n„ S�¶� A‚		I8Ã}É­
-(ˆ "EA¥¢VñD±Z]QKÕuÇ]u;Žë¶ë¸ÛYuÛ©[­ÖµÕoÿ´µëv˜ß|@&ßÿÿ<ïó¾ïó�ó.ÃÒ|¦I ƒ*°4ƒvÐ¶`’Ý†èæÝé ý‡Æè{:GÏ1í>£{ô=¯ûOÁ“·€><8Àƒ�9KŽðà
Ó9,IñYÐ4òñ–
-hÔÑKj‚Î:zA zïCoz»ñþ}HÇú†N#5WèkúÒ4õó’þ…7=ôáÁ¬�[xÀƒÞÅgÐÕB/:9Ð(�F5¼¯¢oi-¢kƒV'´z µƒxç,Ó(ÊcËv‰îÓ-”Ìdã9Ê‡¥/Àç¿Úð0
9àÂƒ5<¸ÁC <Ì¢(¹‹†^´2Kâ¨€N-tP-ÐiGIvA§ïïG¹îBäûé§Ûô;úŒ®cûü�nÂù
dñOPü#¸þ,�‡ô	úæ<Ô<ø2¯(ß’"6¢ˆƒVtrK1¼WÒ]ª‡N¶f+4: Ñ�÷÷á�ƒ¨‚ºF‡é*�Ájüž>Å7&‘©KX¹‹Ð¼&Þ‚µ€¾ñX>qYK‡5·a^3Ìw$D¬è.Bljè%!&#´òGtª¡³
-:ké2­‡F'}‚ú¼ˆ\LÐ0�Gmž£Sô1œÁ·?BÇ9/è¢ÇõÑ_`í¿5qXgb^¹`;˜ÑSKzÈñ‚v(âœG7˜(ú7Ž®ðRiÒ,›.™Ò¿‚ÎókéœE}lÙBg,7ÐGVÝtÊj�´ÞE'¬Ðq›q:j;IGlïÐ¨ÃWtÀéÚçÌÒ^0âÌ2o`]¿;1/p¼=ôÂqã�£ÇžGw§ÙÓ-ºf#¡IÇE4á¢¦³®‰tÚÍ@§ÜMtÒ£„Æ•tLPOG=›è°ç::äÕI½zéC¯AÚï½—öz§Ÿô�ÏŸi·ïòýžôe9;ÀèÿÖƒ˜q¤=áÈ›AtWÏ-!Žv>]xÒ„Ï:ã?ŸNFÑ1aJaFƒ3™ÁùÌ~Q³WTÍŒ„¬b>YË‡´3»Bº™�âíÌ x˜æô‹Ïr¶‰¯súÄÿàöŠŸñzÄ,o³˜5ëù¬Ñ7!ˆôçA\}óÆt�¹Ðøô`::ã=ÎÁwäÜ}3ÕÜ=3¸»g-çíœ•Í”òvHÊyý’ÞvÉjÞVI¯O²Ñ¬WÒk¶E2d¶yö³îÙ§¦uI®NÛ(¹g¾AòÄ¼MÂò×ƒuSÌú™W¸êÍÆñ/#º‰k÷J$zÜÅ¸RáåÄ;:4×ŸöÍ�Éž»Àl(,Ê¼?Lk¾-LÏï3ð{Ãrø=aEüÍaüMÒ:‹.i“ÅFéz‹i·E»´ß²M:b¹N:fÙ*�´j–ÞµZ#}lÝöÚº!Œý?ž†âºÁq~;
-W0®Û‹1èó1ƒŽÁÏ¨Ì‚ö.ò¦�‹¦sûÃçš¿/“[öÈ¢­6Éâ­;e)Ö2£M»ÌdÓ&+¶Y'«´i•­´m–5Û®•m´m’õÙ5Ê†íVËŽØ­’MØ×Ën;ÔÊ¾v¨‘ýh_½�ý‰ª…¬Ý�±÷ wÚŸbî;—€þ2½•}…‚G;£Üi{”ˆ³E1Û¼+r¡Õ†…íúˆûVy‚C³<Õa�<Ó±IžçØ /u\-¯q\)otª—·9ÕÊ{œ«åCÎUòQ—ò³.åò›®eòG.%ò—€u.^Ì:½á«ù¸ŠUh% sßi\÷ÇðÜ�yÙ®v¦-1�L§z¦Y[ô<«¥Ü®i©Ò±!Jë¼R‘äR§XîZ«Èv­VºU**ÜV(Vº—+ZÜË]%Š~�"Å~A�â´ _qÝÓ¤ø§ WñÂ#7’unox€µ¿³-tÏ§�£;„çü=[bí©+Þ�Úâfðšµs-bÂíêÕ
-§šh�k¥*Þ½B•,(S%J“g‘²Ä«PYã•¯lò6);|rU[}²•#¾™Êq_£òšŸAù¥¯AùÜ;]ÉzO ˜âKÑgÈÁe´]g3QÙè/1ÿí†—>øèJ´¢ö$ojNsæðëâØTÅF8–k•nÅ1Ëš¯<MšO®&Ë7GSà—¥YáŸ¡Y`Ô´¤kzÓ4Ã�)š1a²úŠ0I}?0IýÌ?IÍúêÕ¬ðžâ>êï†{1ë�ƒY³ß>æ=xéA>6¤šSKª5¦‰˜úÉ´*ý<«²ÄÅ…º(WS¼Z�ç“«÷7h
�Ëµ&aª¶,(E[¬×¶'j{D	Ú]¢xíQQ¬vR¤Õþ
Ï§ÂX-»Œõ~S|�u¸ž†ýÍSù˜9Ñr�€ü¾	yi5r©ÑèJõF!Smx‡W¾<Ì¢(5ÜÎ”é’©W	Ò—ù¤&$èuiA‰ºl‘NW,ŽÓÕˆcukÅËt›Ä1º!±ZwX­»$Vé>Qéž«t¬0:ž
SÜÅ:\3¢íFü'Š1s¢Fº
¿w kà­>Û‘ªsü¨<{·(ë=sSÆB›,C„SzúR÷”´ŸÄÔøÀ¸ä”`mr†X£/Uë+§«’›B•É�¡K“wˆ£’…D&_Y’üWÑ’äoƒ–è_#õl`dÒÏÜÆ:\†ÎÙB¢ãhÃ?¬Ä~}Dë‘�UÈGU¾
•å{SQ¾˜ÉË›m–ešo•ž»Ø>%;Ê5!Sí›ë¯1êƒTCÈRCžXaX!Ž44†,1lE‚åÆÑ ÅÆ	á"ãÝÀpÃ¿ÂÓ_„/gåjñäà4b?R…Z¨E-Ôa?àÙuøi)Ÿ
-JÝ)·4ˆ2KgòÒKÂø)Eá¶	…‘N±ù*užÖg©)1 27]‘k
-’ÿ—ër‹²Lãðï›NÒp’á49Gå¤ *eŠÉjæ©0Ó.5CD0•	…á Œ Œb*	y,SA×v­Öt½ŒÝÍÝ5ÓP#wUôÛ‡Êkÿ¸/‡Ï™÷~žç=|ï“œê3)9Ç{bŠÎ+.¥ÊsBJ‹GlÊiULÊu·ñËî«Æ-}FDUô»¢û—9ç§Y÷væn¤»~#×BPÂsùwz:°<M‚wÓìðNš'’Ò%ÒÂMßX#Ÿ™:YñÚûS^]“èô²fŽÛ$M’{Üêd÷ØÕï«b5Ýb4®ã5U.ã4ÍNÑšSÊ(ÍuÇÈU½Êˆ÷ž9…¯�ÃWÑÅœ`¾‡ékÞÄµ�Çs‰mÀ²™mÚZ>[Æx’²­0?Ûs³}ñzv˜41+Ú,aÃD«)™S“3_³�Ë˜í“ñ–r\ú2etúÇ¨Œì‘‘•öÍ¶áé'mÆ¦_S„­ïµ
]÷Ì.d­h’:ÄÙÕœæÚFW[²ší\@¡Èág
Û£%|þF¾	þ�ï€ùžHÈ^Í—ÅçÅ˜ÇåÆ[Æä&XGkg)"µoÚ„k—ÚŒÕjc´Y/…i·[‡j+¬B´û-ƒ7Ÿ”m¾&ÌéµToì�-Zûg‰/
pŠsp”µo¥§�Þ=Å@i	û.’õ!û®ÀB¶$3É+E–˜\ä„‰E>˜P,Œ+Š”EÆ™Ž-œbV˜hR8O¬[l¤[e¨Ë4Wë¶šùëô¦~º&ß‚ã2Ÿ‚«2Ÿm?™xoí7µE4'tfóý@s!ça'P¥ç¹Pä‘4~N.æ‘~Ž%áåÖSîŠÐòÑ.Ë£%å“¤~úéhýl©�þmé(ýr©—~½ÄSŸ/q×—
-ª²Áµ´Î¥ßÀyç=Á©¤_¢üP”*‹EÙíœ÷Ì±±”{²’óPÍ³q÷$YMÞ!³ÈËlÍ¢j5Û³Q†ð48ÃÝà
7C\
Qp1L‚“a:”†¹iXû:
lër ¨ÛëÚ:XÖ…ÅG—!ßs–»Ã²Jü�Cô73Ïz¶¢»é(¦#w/k@Rê�dzkÐ„6>Í€s+ 0šÃÊh¹ÑF˜ÃajŒƒÌ8ã<n2ü­ë†&¹…EmnááÃf¶é&éeÒ�ÉóAŒ¬o#ó¬5pÐµ•®ÌýÀJò6}3é‹7¿C€ê0`°hg_{ÌŒØrQó2Ü1š„^ˆ:¦ÆÑÁƒ¶ƒ®ƒíX-_üQûÈwÈ#òt�fÖ¸ž¹V0GCÍ¡OsXÜÆ½@ç:£é<xt#�–§éiÆðù\ÆCnð…’— /ºA„Á¼˜uÏ%ÜüÝ\tÝ\ä]Lðxþ¿{�ü2Hã> šùÓ�KïÚ��¥G€¹yZ0þS ø$àÅŸ:²”Vçèï¢»›ü‘|IþD®˜_+€¿¸ßò’~�ã¼ }Ç‹YünþNzíað=×ø·©a­w±Î[è^Oo
-ó]@ïtzcÏ!g¹ÏÓO§Õe@ÂR²ñ‚Ã°éã…˜ô�¿“[¬Ëmà/ìwY“Þ8à/CY�Ÿ7}œü>&ÝÇ¢ö�DÏzocÞè^É:'±Î‰Ì7ŽÞÐ‹€7½ŽôÊé|ß
»øžü“ü›ü@î.76ªÀ#Sà	·�‹»Exa¹NEº"çEäú›ag&Â†]Ÿ
»@;ö»*A„šÏÇ‘idYD–“T’I6‘|R@Šñ¥xŠJ<F
þƒ}xÄ~÷v˜}ìBûX¬ŸÜC~ã>¿Ýû÷‡¡`VŒÁ’1X1ÆàËç‘ä2‹$á9’Ñ�Õ)�®lüZú> «�ž:ô¯šcïÅ=ö»wq?â4îà+–è_,Õ#–Lü�[/@/c0c¦Ã182o>CçD<ÁúæÓµ„ù¬ÀÖâ>2ðrèÉ£cn£ˆ–]»‚cÖàhäTµq‰çÔ]Â
ü
×å5Ž:ÀÕa¾F„	c€	aŒÁ�¹ÑCßTúf3§…t%ÓµŠžutl cnrNnpNþÊ9¹†2Ž½ß°_±Wð	·Í9nŸëŒä·ÒStÑøÿÐm:äk`Âl„~8ÓëËFÐÏ¼é›Ïå¿˜£-ç–XCÇzüYÜ–›q™sr	:\äœt±çY‹/Ð„Ïqg8§ð5N2ƒœ�ã4~J:IÇ0¢ð«ÌŸËræoË\=è
f~±tNcN³éJ¢g).`%³KÅY¤Ó³‘ž\z¶ÒSDG)Ç¯æŠl@;rUœ`$_âÐàì<à“~´ÒÒò¢)ý¦žÉ¹¥Ì¹½$`î¬¯’5õå¯#XÃxæ•H×<zÑ“BÏ*zÖÒ“‰£\‡9'‡8'mB	H*Ñ*1 EjÄ~Y'šd±Ï´õæ`�?G�\D-©F”CxÎ#åGnåïyÜÞ´çÑ#Xkk\T8+Æ)³XtZLE»åë8lõ&Y/ÁAëå0*4hQ¤¡Ù&M6Z4ÚnEƒíÔÛéa°«E­}j:°Ç¡»Gö Òñ!ÊEè•"ÊEáWDú{�y¼yóÈóã‘ËWÏ%wëö2œQ8¢ÓÁG”8è�—hr�ƒ}nQ¯Z
-ƒjêÜ× Æ}=öxlDµGv{èPé±ÕÐ{6¢Ôó(vyžC‰'W­W¯Päõ\Rè%Jt^¢´Àsˆ'Ìýï7ùÊ»Á×
-ù,”w}Æò‰Êm^^hö	EÃè	0øN>ò›%TûÏªü	þÉB¹ÿ{BY@ªP�!ìØ$”| KvTH
-Õ{%ê6ÉvõÉ6õUéõ]Yžº_–«M´¿ó�¯º[ô_�a¯3‰~ÒÉÏGøÊ1ªåhrE]ˆZ¨�’T„ÆKËÂþÇs™5}¦qü‰$„3$á„$*Š˜p$H€Ð	Žp‚$r	„3œJ¡ž(Z­
-µUñ¨­[ÛêvœînwëºÇì1»³»ãìÚn;»Óq:öØììîŸùýøåÇïû¼Ïû¼ïû|õÌCÒbæœ´’yPZËœ‘60§¥{˜SÒNæ¤¬Ÿå’�²ÆeXûd‡Yc²3¬ÙUÏaÙ�<e�Ù²gì>Ù¯^©{�žøbŽ€�ðœ¿8öïåB?úDKÉLz-Y@ŠÆa¹Œ9+Oóœ‘g±§äùì	¹Ñk\^åµOnñ“7z�ÈÛ¼†å¯Aù ·SáòîWÌz÷)}z—|ºw}»äŸøÚåOý:ä_ûµËÝ/I~É³³¯ ôðœä¿^ÇË²=6rr<-�æ3¢3éqÌÉt{Z¦÷¨2×wXYè;¨,óPVûõ+wûõ*mþÝÊ‡²Ï¿S9Æ±+g8{•Ç9íÊ¥€Vå­€åÇÜfå_¹MÊçÜF¥›Û˜êhø�§ÈÁ¯1þGEðh9n¢ý¹úzú[Ä1¯æÐt–„\Y[<F5‰ì¡WÒ|ú35þ½™zŽCUÐ©ªàv¨j¸{Uõ¼6U+¯Uåà·¨†øÍªÉÀ&Õ‘ÀÕ¹ :Õ� «ê£`‹êÏÁµª¯‚v©Ü�»2Öà¯òŒõ1ÆýúïTÂgT¡ÝÃõ4Z�#ˆcZçM.��Fõ›Ö9s¥ž½9)>]Ù™œ½YZ^›¦€ß¢16kLAMKpƒ¦9¤^Ó²[3 °hÆµšùÐÍ™ÐjÍ[a&Íƒ°Jõ…ê‡V¨Ý‚Wùæþ´@÷N
zì]ð¸žÄßsÈÇ„�E£970z
-âXö|¹w›>�cÓix�9º ºœÂ«¶,´Vk«ÑÖÍÚVa•¶'Ü¤¯Ð•iO‰JµWÅ%Ú÷ÅEÚß�‰Š´ÿe»Ã@è*¿G
þù¿oÆ<À{^Ù�y°¢Çâ32ÈYH=Æ(²—lóh+Nôj.Lõ«/ÈäYòµAæ¼|A•¾DX©7‰Êõq©Þ&1ê»"ŠõÃEúéHƒþDd¾þrdžþ½H�þ7àK‰N÷½X¯s‹@ø*¿E¾™° £í7Z®3à(b™B\Cˆ£§"€ìj«ˆ]×\.ó¬+Mñ­5fp«‹³‚*Št¡¥……¢bC¹¤ÐPY`hŒÊ7tDë
Îh�a*:Çp<Zk¸•m¸¥1ü
-|¡)øN¢)p‹³
-Ü¢Už`~­»h³®5c=´ À!´¡.ä£ù°›}©Õ,¤fs£®:žY[%÷®®Lã”W¨�e9‚ÂÒQ¾Ñ¡3VGåë£³�íë³ŒýÑãD´Úx,*³t9RUúNdFé“ˆtã?%é%ß·8½ø%Ÿ–c_Bî@ój+ja/jÌµað¬±µZ=©ÑBuÖõTkÝîQeIb—×¦ú•Ôdòfm°¾:O˜c*g™L‘jÓî¨LSk”ÊÔ™arE¤W•¤U-‰•UwE;«~žbú<<¥òÛpE…ûÿü´µ+rsj¡µÐE´à@¯‹4‚8ÈIcƒ,M|27E�©)–QÖ(c7¤xÔgptuYüìÝz�ÚZ$TY*Eé«XiÙ#JµôŠvZÇ…)Ö#a)Ö¥P…õ® Ùú8$ÉòYHâ®o	5îÐÿñ9¸gƒï…þ¥nÔBÑ±~Ô#®CˆÅŽXê�S›•·	ÉØCEmñù­Éž¹{Ò|²ö¨2[rùé¶ÂàT[… Åf(l-¹­'$Ù6”d;˜h»ÀO°½Í“Ù>åJ›>ãíhü†ßàŒ«w­ò9x»{#ô—`‡NÃ�çÂÕ‰6¼ñX`×ŒÁ”×Eºî­ŒlGSÝµ“�Ñ¥òUvj9)�Üd{/É^ËK°Û¸2{w€Ô¾Ÿ#µòßa?ïo¿ã»ÝþŸmÏ|·¶¿ðßÒææÄ¶ºV¹�9¸…ñ¾½ó£ð\ã¨GÑ$è‡]mÁ33b2À&eú“z0œ2‡6Rú`#u0™©LóLrj¼œy>Rg©O¼³Æ'ÎÙì³ÝéðÞæÜçµu`ž;pÎsóÀmÖ¦þŸ³búž±6ö¾`oèv{¯w¸}Vy×ŽyÀø/�¡&±?O£_…ïš!êÆ}Ã|žë'ˆÒ\L’»ø”4!¡Ä‰M$�ØÁˆw)Ömw©˜[]¹¬XWk“«Šãj`ntuzlñˆŸ]5~v]Äþ[ÉþŸ1Äcÿ`ˆF_xˆFÜÌða7k•ÛÈõ›û0pFÍ¢a>L4:æ1°D% (À¶96mž¢˜9	m˜ßLëç¥5¿“"çÕÉ\C<WFásVba…Î9)dv†‚fOÿà
â¾ú1qgžoúkâp3¸S/¹�ñ_†þyè�:†yX ?AÔl¸¯:N”‡kHÀ³M |Ñ“Bù¼(¦ÀÅâ/î Þb
-qÕä·X@>‹&òZl$öI±NŽ“Ç	|x^÷8¼î±?`üE÷
1»×xù¾ˆ±Ÿ…ÆÂ)äà5¬XÁ½ÀŠ{#®Ùg‘ƒ×‘ƒsD‘ç‰B.ù.3Éc9ÿŒFð"Á‹q@�MN
Ð,›_nxK(´%Lî|àLíÙ'X|Ÿƒçà»5®ÁÏ'‘hÍAc4Ðh\"ªúeÔÁ%¢—‰6¼Av•(à-˜¢k0×™Øà9
á
-²•m  !YA7q®`a¯ Ù7�‹ëøÀµ�0ùÃ†øÂ÷k\ÄØÏBû(ô&/b-@«i3ãuô2¡—xs°B$ºEÄ»CÄÆpÐÜÌ
-6o¢÷Ð�ß—½�Æø4F¢{€Ãèa-À&ó…ý‰ýð6~Œ÷þŽ÷Ÿ¯qã^€öt‡ ÙÍZhCSÍdhÆÞ%ßû/ÛeÕä•Æá7	¶Yˆ‚íx4™–?H !„%« È"‚Š€ˆ,
-qAPª¨Uqì¸”©:öhµŽ:ÖÝQë¨í8µu™Z·ñÔeê7¿ =Ç?æ�ÂwÂ}ÞûÞ÷»÷¾D’/áÿ
-Þ¿€cà8ø+øœFNÎº�GN.ú]šHt%�.'×Ç
l@7°&×‘äkìÚ%pwˆu˜wÜÍÈm%¼ÓàMÃ<�˜gÈ!¢À#D£à” …B»ë8?ÌE€åE#†±Ê�n!–ÛhîŒD³„ËêƒP¢‡ñh °!?Æf÷/ßLü1òñøä=˜wÛ ö<*Á|3¢	Þ0xƒ0ÇÑ§ˆ<Ïbýí¾+Ã®süüüî�ŸÀ#ðL@ô�ÓÔëkÔÈ›84’È;`óaQìŽ!XrCÏ+FÏéŒžÓ=§ž�! $ƒlPf‚jPGo¨	�c½F¯û’ºè­¢_h-èGg»ƒþƒNóúÝ§èTÑ]úßzˆÿüÀ�ƒ18!ž�€(�2èWÊ‡¯#Í�g=G�ùŒZÐÅ¶Ócôº�¨žÕó¤b=@w{Eû#�¦;èw¿GT·1Ò»|n
Åà `‰‡8Ü·1xá™/œé…c~&Ì+¾)ðÁ3“þMU>f·Ž�°ð,Ã’¬ÄØ}»ŸnÒ§tƒöÑßQ¸Wñé
-þó2F½„Ñ/‚sà,83!B1ƒ;æ:ÎÌ/óŠ†3	K�	O>¥ˆ}6Êa.F®£ë´žV”åbxºàè¥ÈÅ9ÚŽ|†Wæ0�ÄÓˆø8Fþ
-ÆÃàËw€›ÿÖOðs±ÎŽÈ«óôÇüÔp2pÆÁ—
-ÏŒVGs0‡xêáiÂ+ÚÇ¼¶ÝðôÁÓO‡h'Vã:€oíÇHö
-„ÑÎgï0œø	5†rF?�ò9
-sÄÜBáŒ†/	óÉ€'žbT[9<•ðÌƒ§žxÚ‘ýåpõÂ³�öÐí¢½X•øô-ýë±+¼
V;[‡ùÍÿÜ·‡^s!ÜRÌu¼j8øLpYéÏ”O><%ðÌ„§
-ÕW‹/€«oD'\=p¬£-øÙ�om¢£ˆè¬Ð}<ÅÛcß0k8C1Ð¶	ÑMl·ß`û¿€Wû¹À=ëoœzÚÃI �¼4ú”ŸC‚i´]PJ[fÑ‡jêÖÑ&amµÓzÇ.Zç¸†úœ¶Ðj§=ô±ÓZå|…z\P·ë+êrc‡X>ÌKlõ°½ÞòÅ–‡íä4ŽžcJlãˆå/ú““írUÑ€Gm“i³gmôJ§O¼si�w!­•Î 5Ò
-Z-­¡^Y#­’µR�l)uË{©K¾‰–ÉwÒRù!êTü�:|îQ»ò%µ)YŽ�VŸ·<•b[GtGïi5ŽŽ¢@ÜïÓn©3
(FÒ–�´a”†Ö�ÖÑš1fêc¥•¾™Ôí›G+|‹h¹o9-[IKÆÎ§Î±MÔá×Aí~ÝÔæ·žZývP‹ßjö?ÇYè‡Óèÿ·ÁŸåÖû³¼z¿·<„ëŽ—8ú�áˆ9>×àh�„ãœ€6úËhíûïQïïÔÔ3>‚Ó5ÞÀY�ÈéHãtdsÚò9m%œÖÀYœ–Àjns`wa`+wAÐrnCP·>ho~Ð>^mÐ×¼š Ûüê ç‚ª@VP9ÌœÖáŽ•k8VNáÈ?C´ìŠÂµ#w;äeõ	õLò¥e“&p«Bx‹TQ¼V•‰ß¢²ð›T6þU¿QUÀ¯W•òëT‚Zu­`žºI0WÝ)¨R÷:Tª7;T¨f«Ogªo
-ËÔOE3T¬¨ô¾‡çr$Ñ‰X¬Ž·A0`Â�×¡5ÈÉŠÅ´D3’iÆs[4¿ç/Ô„;4h¢…u³°6Ø*¬	ÎUçŠª‚‹Ds‚ËEšjÇYšFÇrM»c™¦Ç©T³Ñ©D³Û¹XsÔ¹PsC\ y,Î~X;Îv¾CÎP¸nìOFÐn³à^…cn%âèŒQ[„‚š&�ã4DLä×†‡ç†G:Vj�NÚçYÚTçrm–óíTq©vº¸D[áR¬�ïR¨ýÈ¥@Ûåš¯]ïš§ý£Ûía·líU÷,íÏàW·Ì0ö7\¿Åuç4æ~8u`C¿‡þ³?
9@]ˆ£MÏ£…zoª�Ë©Ññ*u
-gE…;•EêÅÓ“K1“äZÈØÜ
-˜÷|¦Ð=�)÷Èej<r˜&I6³T’Éôy¦3žiÌA¯Tæ²W
-ó“gÊäÿV’ÁzØ¹Mt¾ƒpfcÐnÌÂÝq,ÁófÄQëAsM£iNìxn¹Qí0=&Ô±0:Rœ¯7¸åéã=rtVI¶.Ó3S7Õ+CWêmÓWz§é¥)úÅÒdýÇR‹~»,Q@¯»€×ÞñQ¬/;W°öÇS‰À¿WÐí¸f¬ÇïüÝ�8q5�› ¦Š%•'¼Ç)‰Ÿ(˜få™"ÄÙ±:·c¬ÄfHôJ5¤I­†)2‹¡Hžd˜­H0Ö)â�‹qÆU
-“q«ÂhÜ¯ˆ1žWÄî�Wò˜V¤pup4µ�‹÷qúŒB¢µø½±´"óG…UDeV9•Xý9Éx¹–„Y‰aÎ¶„H·”xƒÄbŽ÷N0[åæ¸,Ÿ¸¸e¬¹\i4×*cÌ­Êhs�RgÞìeÞëÃ˜Ï‚»
-&î¥œ‰cåŒiÙ9Ôàäoj¡µ0µ–µ 5ˆ£,]@Eé^”Ÿ>†rmÜ,›Z`K
q´¦LvM´FKÌÉqÞ±‹<Æ’á£·LUê,3”‘–%ciQNNîö‰HîW„'.K>#µü(Mz!Ibå!‰¬,œBÂœá˜�Z˜‰V¨÷l|^€œTá*ZŒv%/Ç�rrFRFÎûœ´ì‰üäì`QBf¸Ø”¡s7¤ÇzémI²H›M1Ù–§·•*´¶jEXz³<4ý\—{TÔeÇ¿È‚r“‹‚¢Ê%nŠšš¶j¥§P‹	IZQÒAaD”KâÉ DR*ÍÊ¬LËUw;Y[­§­Ž—Ú³Ñ–­i—ÍÙÏ(�ÓÙ?¾g˜ïçyž÷ù=ïûmNŸß4~þ�ãæŸ	H›% uî�À”LGÐ-=ìz‡}ÖA˜�K¥]Ë°ahÖd
6i5YDM²r½477DçŽÔƒ¹q.s¦ïÉ™è9ã±»|¦™gúM1ßï?){nà„ls`zvAàxó“ãÌ6ÿ4sÃàTóžA)æ^¿dóŸ}“²/û&>zcPÂÇ`äŸ�åð?A
ŽÒð÷=)íÀlåê[Ãëêåø
>_H]2�z  @s
-#toa¬afA’ëôÅéîSO1Ý™?ÃgBþßqy™~©yÙ~)y‹ý’óK|“ò+Þ‘¿Ù'1·wB~¯W|ÞiS\ÞeÓØÇ¯{�ÉuŒ]èð�Íqø'Ç-ôüŽURö°±\ªæuï—‹™ï2¨ÍÌbý¡8TÓŠGjjq¼aÒÒT·ô¥“ÜÓ,Ó¤Xî3%YòJ´<â•`É3Å[–yÆY*ŒµÔ{Œ±ìòˆµr�.z×8ºè’qÔŸ®{Œ,txF8LN½J½aÅºVÓœXÃ†*f²VJÄ³ LšÃ÷SJÝ5¡4@ãK‡)­4F)¥w’JÓ]¬SÝâ¬³Œc­ÆXk–1ÆºÈ8ÚZì6ÊZî6ÒZç:ÂºÓeøÊç]"Vž2D¬¸hVòƒëÐåcø2‡»S‡©÷ÖÆF/TÓ�µRý&f¯%ñ]ð]Äs±Mä7‰6“âlÁc‹TŒmŒ¢mÉe›hˆ²Ýmn›cˆ´Í3DØrCmE†0Ûj…VÖjHe›‚*(`íÛò/ÿ\k®) ÌaXípqª—z?ÇÚXÒØÁf¬XM#ýÈkÑföK”a—¦£4C|v/…Ûƒj�Tˆ=VÁödÙ')Ð>Cþö5È¾@¾öÅò±¯�iÓz
¨m–{M—Ü6¾.·ê�PŸŒë–{•ã–zàw’s;Ì¶&ö¡Eªje6òšßŒ÷ã³{Ñ$”Èû(ÄIÞ­&y¶É£%Rî­±2¶&ËµåN¹´ÌbÐsø´Ðì-4Z3›ÙD2MíÒe#¦±¯Ûp�!ôº©ýäµow¸-mRí©!3Ê@ÓP*ö0f—¾[¼Gro7¸â"Ö�bp\öNæoçáÏài§áÛWÐhlòîmlv>wûe&†6bhûU]ä·vëofmÛ^i9Z„ævH³Ð„}RÜ3Rd§Ø%™žå"Œ]Õ~âè6!.ÃÝCi¬Ñ·/`=\<zˆ£‡C ‡ÓCÃ ûYè¹cÃ<ß²?£_µ�wQ¦­Oó,À±Â)€³Îl8“÷Kw`H!ø äuCÔÿEô¢¼:ÂEüe?¾—âWã9ˆ¹ˆãbôzbÀ¼ÎCvŒM|�Å^9Íï©ÅjqäGí%ÏVØµ0Ëà-é–²á=ø¼t¼ä¤Q°†¡ŽÂ&©péçÒ�ÞDo¡·Ñ)LÂ»þ\H¨É¹X.Gã¤÷é�ó:ç¼°'çÙÔó$ðþôúRm°ëaWÀ]
-3‡â'wÃL…ýš
-Ï–‹“óbK1xN",D«aj¹ ³?¼¹(c.ra¿’‚yâ¢ö5‡Bƒ �ì£ð}@úN¢³j¤4ë¨q	-¢®sáÎ„;þ
zð„vJò�gp²ÞCçÑ‡ýúýý–1ƒÙoÒ®ô¶oØŸ«§k‘Ò�ôÈ¹,ß$q8Žíˆ8zðY^x^O<¯®kï‡ h”†¦£ûÑÑBôZ†/µê•ã×é'UëG¼î
¼îu=¥pt×ðxÿÁ^Åþ›Bõé¢¾æÛ¯ùï¡¢+è"úì–ßô 7bpí�!E¡$4Ý§›Ê„i†•ÃÂúOê{­ÒwxÌoU§Fß¨Vœ6Ê°W_á>/Ó°ñ»_è‚>'"'ïú}ø;9d ƒˆÁ•÷ƒ`ƒsÑÏ ¯x`ä²þäQ¬/µ‚\ÊtIpÖÃ©…Ó ¨Î.}B-þ¦C´Èq½Ï¾Gtg©à»Þù?Áví�Áù7lÌ˜Ñä–Jíî"§ÙpæÁ0ëSåÁXcù¬$�2•p6Ðšv�cOÎh-»—
-tó¸å±9Ëct‰�¹®W ü^GoÇÐ_ƒÛ1|'#\rA‹%Âœ¤�5‹|2hý,ýE90Ã("‡å:IoœÐQ›ÞÐFXõzMÍ¬¿K/«‹1ò"Õ8©ƒDþ<«;;ð@¿ºûõŸ©ÉÞŠ‹|½i÷0ò‹�9ŽGp9Í†•	çÆC.9�C‘Ž¨„QU
-©\½ôÆAö¤G�¬Ý¦gÕ¡NÈÏÙÓ¬Öq«S~R;Ô=hw¿œüë¨]êÌ> çèÍSÔâMjqŒZ¥/ë8óàdÃyN!�g�Uk¬
-XàÔÁh¡»µ“_lç¿·±âSZèèf:®	²S[ÑÏN¾;�ö@écÆí_=o� ·äEMCáFÃM�9•#âXÚ§ùäd&ŸEP
-a-Õzt;½±�=i¥-ôEŸn1t©ÁpX›]N«Îõ3Ù�WUë~S5mì×÷Œ×+ÁÒ'}çõocs¾ÌQÔË3Ò­uºÅ«Ã#]{L×NÏÙj3=¤§¼²Ôêý˜š½ó´Õû	mñ.V£�U›}Öªn`µìT;p»j|;UíwXëýN«jÐ²ù_Se€Ch­Sþ}ï³(Fm~+‘#…×—¢9êùÏrW‡ïíô­m�Éj	š¬­Á3Ô8ä~ÕÉT]Èm
-ÉQMH¾6†.Quh‰Ö‡®VUØ:ÙÂìªkÕÚ°•‡õª,ü¤V…ªÒ¡Wµr¨ÃàÔ
-§Â†¯†SƒÆ?ÇËñ	ƒéðñ�c9öù®-l°š†
WCd¼ê†§«vÄ4mq¯6De¨*jžlQ�ª"*Wk£
-T>réÿh®ö¨&ï3üæ~#�ñVï$I$�„ A’pI!\„&  )jœhmÔ¶*X©Šà­^:­ÓS�®÷®µgÛéÝÙìv<;;»ôœuu[·nóÛãaûã9_¾|ßù=Ïï}ßïý=/�©wÐNõ.Qÿ€†5ÇhH3ËÔ\eE4Xš/Y}š?³·ižrz5§W½ˆÇé8ºò�ƒB©ø[;öÿÌ†@Ó	h;¢I ƒ©+iÿ†4Ú›žÃÚ“^ÀO/aÅÒÝ¬�ZkT[ÏÖ¶°‡´íìAm;¢�°·kÇØýº	vŸ.ÎéÕ�âôè.sºu÷¸�º/¸º¯yíºóBZ†ÿ<‚õùü÷q´Ý‚í¸œÃñ2ƒÿŽ"&S™Ú—¹”vg©)–•ÁÕçqvè‹8ƒz7¢÷rô~n¿¾�»MßÊëÑwòÂú~^—~˜×©ßÃëÈ>ÄoÏ>Éf_´fß´dÿLØœýGa“þ_ÂF=#lÌZÄ—ˆÿÇà|Ç�¬@*‘<>4.ÂÜ›Ï¦q£’væ­¥¡¼tvÄ˜Ãí7Zx½F?lÜ$è2T
-¶j†&aÈ�=ÂVã h‹q\Ôl< j4¾&Ï‹ë�·%uÆÏ%µÆß'Ô¾—Ô˜Eä2’/°ßÊ‘‡*Ì{5¨àT5,(tLAÇn<±$Ò`ÁJê/Heõdq»,yü³M4—ŠZÍnq‹©ZÜlª—4š·HæÎ„zó@Âfó˜´Ö<)­±KôYÎ%V™o&Uš?Mòš—ä5ý`½ù‹øi	Ñ»ØÿÛµÈìß9X¯éÍ°¿Ð1	1èˆÚÅÔg_Na‡šµÕ¾‘,Êå·Z„�6»¸ÁæJØlõJk­5‰5ÖÆ$Ÿ­=©Ú¶MVi‘UØöÉ=¶#r·í
ù&Û[
-—íc…Óö[…Óú�ÜieäÎFæ"ÿ÷}øÁ©	þ¶µ«q:öBÇ(tô¹øÔåTQ»kµ:ÓÙM¥z^CI¾°¶Ø&ñ9Š¥UŽò¤
-{µÜk¯W¸mŠrGXYæRº{”¥Å/'—ŸNv_O.r|˜\èx¬,tü]YhgEE‹ø‰µ~ü0Ì¶Á_âz÷»¡cúº=l
-¹´Å½šÝ©¬úòLnÍ&ƒ ªÌ"ñºìR·Ë%+sV(œÎÚäg‹ªØÙ¥²»¢ª"×.U¡ë%•Õu*¹Àu5Ùìz_irýFirþ
`”¦ÒE|„½Þ…å¼ÞùvxlŒ¯à:-ãÐ�Žèh®’R zÕU«Yþ*§²2‡ï©0‰Ê¼…ÒRO©¬ØãQyüÉ6O“ÊêÙª²x¶«Ìžñd“÷ 2ß;£Ìó¾©0xß“çz-ÏñüU‘ãf9åŒòÞGÜnA_ïF�™0¾ÉnÌ{�ðÙÐ1€g!h¬¯QMÝª®[GuéìòZ=×U“',©±JŠü%‰V_¹Ìâó)L¾€2Ï×®4úLžë?(ËñO'eû¯$êýï&fù¿’fúž$eT12@¾±’‘?Àú7ƒQÀcÀÉ~ô%Œh“ø=Šÿú—6hñ7sÉÛ¤ wÓ**kJe•6ep�ž-P ´’ü†MRcCURnCCRNC();ÐŸ¨Ä¤Y�©„ÌÀ´$#pE¼1ðc‘.ðH”^ÿD²a3#M«cÓj™Ä{[ˆÞÂž/lCoÜŽzÄ(LÀþCK/´´ .UÐâ%Pqh9ÙC)diY–`6'?hâÚŠ„9m.‘¾­RœÙV/ÎhŠ7ûDºà˜P< Ø<)Hk»ÌOm{À{¾íW<Í–oêfF”ÒÄˆÉäàxæÁyzõ8Šy£Ù^\wì@=F‰1žx¡±°‡Oæ°’òÃ«ÉN¥Üp&K6r2ÃVîÆp)Oöò7„ëøiáV^j¸—÷|x”«ïç¤tç¬ï¾È^Û}Ÿ½¦ë—¬Õ�á¬êxÊ[ÕÎðW†Á-äÿ
-øçFÐ›^@=î":ˆ±ìE`÷Ð³Ï6A�ñÑG(#²”t‘u”Ý@iÑlJ�šXš¨��-g¯�úÙk£-¬5Ñ0kUd˜µ22A+"¯Ò²í´tû=R
ü‚–ô}CK¶=e©z6À¹�ø_ÇpOïCÄ86µß®¸oÝƒ¹zJÆ‰Œ1¢ô1­“ÑÚ±´z,…VÅ´ô\,—VÄ
-hY¬”–Æ*IPrl+)bQ’�½HÒ±£$Ù9G¢Ñ;$ù9	‡ÿDâ¡ï†Äƒ]ÿ<8fÁycØ‘—P�Àè!¢0î1y ©Ïõ€f‚hù—ä“2’M.'éd
-%LjI<™K¢I	'Êˆ?á'îd+±'�À	ß‡ÅöžFp1¼î~ˆÁóî®'Ø(\ì]ÿx^ïñ#èMÇð9Šo÷5q¢Ò—‰ò-°H„qÀ¸XÀÅa~â8ðã8èâh®q4ÞøVøñ‡O`q–1cxŒ�ÿ[àŸDûŸÒÂä<3¯¢/Gðêqï¬@îÕÀ2 á$Œ‹4
#8�™rú9@�E cfdFdðÿb1�DžÉ‰9lô>†ÔW¾Aâáf�14‡½Î‚ãø$¾Žð dý@+àŠg‰o¥+ÏÉÎñÎ�ËÁHˆÇy˜áùeŒ×Øâ±hÂÐ|PÌHè<HÎ#sŸ£ý€£?ó:‹ýÌ€+Žõ÷býA¬ß�õë€2p˜�ƒD«/).ñNz†«Àµÿá:Ž�FEôC˜â›i0D¹8ŒaÊn£ÑßFs¹��ýÖa<›Ç;€GxÍ�ïhÜÇÀ7‰G#àêW\îËDoe€kíuÔän‚ïð6ð#àp@x1Æàæ=À�ðbòró‘žèèø¦ä!ÝCää!’þ6ñÉ‡0O_á�¯é5pO�7Îÿr]æQM_Y¿Ù’übÅâTª,²K	$„HÂ’°%QDRö]DQD…"ŠZkQ«UÇ¶ât¦.££×±¶õt;êÑz´µV§§â´c«S�z,ío¾,�ãé_8œ÷¹÷¾ûÞ»ßF0KÀt€iS^à1"°D£œÓcÆc\ç ´Ö‚>‚Ðò0„0I"¢ëÞD7`¾Š„yBŸ~ƒ‡é.Ãaø»(þ0@Ãg Ohì`7ƒ[
-n>¸fäw=æTð$£¼óOq°�ta‚w	º]ƒn@· =ºÝ“=@¿>ÄàüÙÏFðŒà€� ±G°Ñ#‡à´Dð¼xN¾¡g¡ (2@™�òÀ¡UÓ¼ÝÏ´þ¬Î±‹ÃcþD}ð‹ôÎê!|æàö~€Ç»‡Mû7‚ÿ–nÂiþHÃXåŸÐÍ	]‡®ŽùM.÷7ßËš=EB:(Ì<pæbýr¬_GhÝ§VúÞî­g5}÷/ÚÎ }÷÷5\ám8µ¯àX¿¤Ïèsü×¬v	ºø”>÷¼OÅ0*˜¾È/¹i½	9å€áÃF
`,c	Jß‰œº±
½à¬Å–lq]F-.á]@ã~ÒtíómÄÒ»¿ÓÓü_¡ÿ’yú ¿@0c°µz°¬àäÓTF5`4‚ÑFËÀYIÒ‹¨ü½Ç{µ8KC8.GÅût+EFéÈïôt¸Á‘/yNB~þØ¯Ô/,3Ú0'Ž@1V,Güµ¨ò|:ƒ8N!Žˆã8zãìÉQÚH‡i+¤=¸Fö£§ÐWèOX}:j´ß´w<†1ÝŸhå[c-î…½ú˜!¨a,xz°,¸r‘“ŒÄ_AE‡ÇôèÛÔÖrpz°ö:¬½WékˆbíFvâP�vÉTz;ˆ¯NhÛD aèËÑ£
}ŒÞ|½y†�[ê—^*X™àä#§ÙàxÀ©§œ&ìþ"Ú…³²=º{ò*ús+ƒø�ÍˆôeìÎKèš�Èvý‚cé¸�æ�ëí®Ú‹Ðy\ÿÿ»þ$Èu**f4˜:z�ÒÀÊ§œ9àx@©¤-ˆcql¦Å`u‚µ
-œµà¼‚Ÿ»©«ô!£^tÒè	Z…S½ìQuC÷p¥ÝÂ5i:®<\õ§ðÅ“|PÏCž%?¬
-fxz°2h3'‡6qi#¯ˆÖó<4À¯¤µüzêç7SŸ �z+¨GØG«„›¨[ˆÊà‘Y.<IËD—i©ä[ê�>¡v)KmÿÚL\ß¸ÊNãÉ;Šçf?Æ�¡çð¤Éø´]0…%3i“4’6Èhc¤~…•ú&9¨w’“V?3—V=SJÝ“«iÅäFZ>y-óî¤¥Þ½Ôá½‘Ú¼wP«÷[´xÊIj™r™š}¾£>#ÔäÃþ_·ñÜ^Ä•~ÏÜ;xràs_4fìYxòQ›MÞ2xÖ�ÖL
¥žçbiÕ´$êžf¦.ßLZæ›KK}]ÔáWLm~e´Ä¯–û5SËôvZ8}%-˜>@MÓ·Q£ÿ5øÿ�êü/PMÀ]ªxÂ©
-`9Uþ,·ú"ÏØ§“ñœP=žu-ÆŽ8ðQ›þçEÔàCÝ3iÙÌHZ˜@m�)Ô˜A‹‚²©%(ŸšƒfSS�‡æURCP#Õ/¦Úà.NMp?§*d�Sò&§<ä(§4ä®'ä·$ä1o^Ë›ÌòGu5}îq3z {�ŽÏí`f|Ôdu‡–ÏšLí¡þÔF-á±œá:Îüp§!ÜÊ­·skÂ¹Õs¹•¥ÜŠˆZnYÄBn©²“çQ¾È+Q¾Ì+Vîá)óç(?ä»•_\ÊŸÎV8¦pVx	9¿þ1üÆÀ7²0ÓXQŒAkP›.Ä±$JF-ÑÓ¨ILõª(N�JÃ­Réyª4~™*“ÿ‚*—ïQ¹ùóT%‚bU• HÕ$˜Ó.tÇ¬ºb^ÆìåÇåÅ| rÄÜÛU� Vl�×§xRÏ€yÄŽ}ÀèõGh+¾¯ÇßzÛRÄ±P-¦µÕjfP¥&œ[ªŽåyÔZA±Ú(,ŠÏÎŽÏ¹ãDÎø"q¡ºL\ ®ç©[%¹ên‰]³^’­yÍ+K³ßË¦>'µªoJ-ê‡RK<;®8Öë£4ŒAÈÿF®}3vá‰,ÀŒ8V¢6mˆ£1‰OÕ:o*Oò'OÒ,Î\]4o¶V#pi“E‰&q^¢U’›èð²'º½r´i–¶Fš©m‘Yu]2‹n�,]·]nÖýEnÒ�•µ7 åÆDvL©	¬ì<ò=ŽÜ€½wfü"Œ¼Ë× Ž.Ä±qÔb_JSšgô¥"cÇ•¢äâ½V”£O‘déÓ¥6}¶Ì¢/”gè‹™4}%c6,`R
�ŒÑÐÏÛ˜dÃ[L’á£3|Îh
­žetÉãz58†qïm°ßÅKÐøìC<�ˆ£qT"Îât/r§O¥Âô”—ÆÍISñ3Í‘Å”,I7™¥f“MžjÊcRLszS¹"Ù4_¡3w(´æ>E¢y‹BcÞÇ¨Í§˜xóuyœé>gbq©¬"ÞÈ*ÎæbLEÞ{O)î„rÌØøìÅïˆc>â+ƒUpg	)?s
-92ý);sÇ–ÅK·ÅMV�8Åš*Õ[,ò$‹ƒÑZÜŠk©BcmP¨­íL¼­—‰³
ÊcmC2•í¤4ÚvMeýAeù•‰Ì`™Èt–9
ÆábxNØ€Ý°E[ªÑ�ø\�X– Ž†¹ðn¢‚|.eçN"[®/eä‘9WÉ5:bùzG¢HgO‘$Ú3¤j{Ž,Þî’ÇÚ_�ÇØëe*G›4ÚÑ+�r¼âé’('ÄáŽ«â0û÷’Ðì_¤¡Y¬’Ÿ@®‘÷¸;ëÐ�}êá50Š·VÕ#¶Ä’‡½ÊpIÉäšJF×Ò»Â8:—Š—àÒÔN½(Ö™&V9³%ÑN§$Òé‘(]u’×q¸«GæÚ,uíÎr»>ãÿ�í2�Šò¼Âø3Ã""Q•\q	š¸Õ½U’*Œ¢8‚Ê€ #2(Š .È¦RÅ%BdQc­
-Ô˜å´iãÒ$¦51Ö65¦*¦‹&j=¢Éô‡`ê=œçÌw¾aîsï}ï½ï}L3n9÷ŒùÞ%ô{ÇÐév×w°þ}ðV¥S�KÑ[`
ÏËx—‚/sù~*¾Œ�ç¬æ.fö×æ0Eš#ƒÍCŒÍ##Ìã�ú™_rêcŽqîm6;õ2§8…™³Mæµ=Í[BÍ{�Áæw�AsÏãn:Ì~ìkwö�µw8FÎW=¼»‘§[s˜Ï À&eeIIR,’ñ%r4ŠszÞâ¦�_EX‚ÕÏÒ[},ƒ½,Ãa–±F“e²1Ô2Ýb‰3Y’�–,C€¥Ðàg©P�ÄzuK|[¾ÏÉwÁ
ù&<2ú$Ø¼ãíŽMÄyþ8w­”*òèKäP>ŸKs©Gü™�\üY¦4ŒÜô[â$“ÕS¡Ö
-±öT�µŸ­‘ò·Ž”Ÿu¢º[§¨›5V>Ö…ò²f¨‹5_�­›ä‘V#·ÅoÊ5õŒ:¥\“Û¢¹'Ûåžd7!Îýð¼çŽ5ô2¨	²r-õX ™ñ'z•4"—K½ø_?›‹|l]åeóW›Iž¶þzÎ6Tî¶Ñr³M–«-F.¶yr¶¥ÉÑ–+cv	ƒ½»m•‰XZÚ,eÜ‘ÒË°Ä®ƒØ¬‡§
-îíé‰Rê‘ŸØŠ¥ä"z¢ønd!ÚCðËt,è(Ç/d(çð€­`
- Ø(¤|8#«·KyˆÊ•·\tæ
-ôîòðƒÞÈçŽØ@-”Q�›©…-ü+Hç9¡œ~àýxüzá›èK(^´\©`+eá(eñ(�.ß†oi<Ÿh»‚,ÆhQ=ƒ¹a¸
-»öûžMÔÂVÎ¡’¯p×Ægò6jDñ~ˆÁÀ‹w.€U°ðUºü¨Ä�JüØ>¨íâ¯d¸no½|,<Sl•m«¢èµÖ-×IúC�]u¸W
o%´ø5RÅ±¥3ÏÑ`Ïƒù©	øVK®€¥ÇAM+ÈG
ù¨a)¬eñªå\jñ£®ub¨cÈÕ1têZN5œÇž“Ø &ª©‰êÇªÙI°_ŽÝl.­¥@˜X'
%}½öJ=öIîûDoÀ{`Š¥—Æ~
-–ãC�¹xXDXPYÉGµÑ”À3ÍÕH.!jx‹¡„Š8B.ßWñTÀµžlx’à™Ïdx†ÃÓû‡$JÚØWS;Ž‚7Á1€Id©�KØ•åÜ‹¥$H:Î’|?þ€2ä> ±N‘ø?Am¿¾Ñ6¸7Â™ßbâŠƒïç‡™GðEÀ—'<o?,íøø=Àò@Û!§¤3œÏ9êä¼K;ë—øq™Ëñ*}r•!ðgÒŒW0tù3•Â½Þ%Äß(M£dÆÂ9Î`8»¾G´r�hçù¨?dÒŸÀ§àø+øÐzÈ:é:çs“z½&}K¿ÜgQzÈÀm¡É[(êïH@K*Çø£æµËtÁ`	&�WôZ÷1Úî‘ë;-ÕCÙô@+Q�hµõú5uuut‹¢½‰2û…ø5‰º¦úŠò–.‚/Áðgp¶Mo>ãC+<€?è‹*|¾	pM…#Ž8’õYáÈÒ
-‡c•®£Øþ�’û'êñ+ýBÍ¨À+¨ÐK:çoô¹>ãïk}‚Å3X~ŠÓàƒÿãÃ÷èÌtæ=…áy$\cˆ'ŠXbàˆƒc)º¬%ú;:÷"~\PÇPˆšÜHl›à«äx^‡çÇvŒr9M6®R>€�Rú~ÛæÃ�`r«#¼]áæWˆe¹›ÏT8frìóÈ_"öS)‡t¬/ƒgñ¬Ö)ÔìIÃW�ý]”p=íÒ€ïÓFŸs2·Õzú� á<ån��+r×ß8�shÝO4®ÑðL¦$§c6±Äë=YÈr*<éz?ÞÂ�cÊ‡g=e:¢m:D.2Hðû)Þ}œX=§[ã³hå¿n´—rkYŸ•ñùW( _Ã±2ž—‰'†Xæà§ma<¥Â’AfÃ“«½Ôh½ŠTK}îÑNUóf7¿ØE†vrz;t—ªµsZv¼lCK;s{kµ¶Ú)ÈåsðúÃÙ¾Hb×Oá™‚Õø?‡Q�@¤xRU…¯áÇ.zeµQIŸlå¯O6ãi9‘”Q-%°ÓaÅpoEà6œW�Ò_\¤Óà¸¡mUâô&�!pö‡ï¸ÆÓ$x¦Â3ž9°$Ð	m¡g7ãG¹rTJm”Ð'y³ÏÖ‘¥B*c
UTÀi¯&óyp¯jÇ5ÆÈŒÖ?2ÒÞïÁ¸e¤4rÄ—½r#ÎîX	#á×8*21EÃó*ñÄK\Ip¥Á•	W.•QO;žœÐr{U•mhÖ2ã]e9Ø•ÙŽf®»³!Œ[®Ýw{ÃÏHû%£¾Ž÷»]ŒÄê	o ÊŒ}Tì©
N#µÎy‚
-;D©Àešò]f*Ï%N«:ÎWnÇEZÞ1]9®6e»æ+ËµD™®•ÊèT¯ôNGeíô‘»_UªÇ=¥xØŸ`¸ÌØíÏøLþ#‰ŸÏ:®šÝ&®z®À2÷*róÕZ�PåwŽPžçP­ìò­è:Q9^/+Ûkº²¼f)ÓË¬ï…J÷^,«w–Ò¼W)Õ§H‹|¶*Ù§VŸ&-ôýPº5k~·{JèfW|çûr
!Œó#£Ø-ù¬Ê>ÁJTÎ*°Þß Õ¾žÊí œ½µÌo°2ý†+Ã¬–øORZÀ¥Ä(%`¶’”˜¬ÄÀ-\¡ùAë”´Eó‚öhnPƒâ‚Oivð%Åß5Ì
-¶gµáÓç©®µcãX&�ÖÁ]£¹Ï‡qŸ²Šäs>9Á�”Ò]é¡&¥…F(µçP-ê9JI¦	J4Ei�)ZóM¯*Þ4Wæ°DÃÜ°4C\˜Í0;|�aVø&ÃÌð*ÃŒðCÆ˜ðãÆéá�ÓÂï8D‡Û¢ÃìŽ­øx8×=ü¿žÄjÅŠÓº‚±–ÿ—í2�n²ÌÂøÍ¾#HekYÊÒ6]ÒÐ„&�4�M($¥mJi)4È–*[,È@”½U‘ÖÑ©²É¢"‹2:0(B„uXÎàèœ93zÅÁ
2¿Bõ0çÌÏù¾äû¾÷yÞ{ïû¾÷ñÐSð,Nnbé:™™ž$ÑŒþ2-#CîÉ°*"f‡b’Ù£¨5û•5æ ²Ú\¡o®VŽËŒ(+3ëUc3T¡ÌÅªò¬ÕªÒ¬§Õ%Y;ÕÁ¬6õè¬óšQ™_�„v”ùÞfÎFÒÚ”�‡RúkðDðV[º¬� c¦U)ÓrºÊdK²L²–	–lEØbSŽ³WUZ¼ê
-K±:d)U—Yª4¥–‰š1¹Ó5ÁÜ¹š@îƒÚQÖUÚbk«Öo}AWd=¨óæž—ô^Ë
�Ð{sú£Ä~?œ/Òblãx_7–<pÿÿ-FÛ<âQO^"¶N2ÁÖSÂöT©²™¶\UY^¾zLž[Ì+ÒòÚQyºb[�Îo›¢÷Ùféï¶/Ô{íM�ýIƒÛþ¼a„ý€Áe?¾4¸l×�®¼D;‡ÉÁ¾2j¡’ZO-€µUÔ":âè˜‹Žiè˜àÒË8g’T¸úI™3MQâÌV�vØÔ#ó]Z¿£PWä(Ö{e†BÇxC�3bt;ï3w.0:]+�×o�ù®g�v×«F›ëŒ!ÏyÑ˜ç¸f²9&[~Âô<`î;Â´¼´À­à±j�¶|!:f“£ÉèW¨–ò‚®2ÆÓGžAŠâ‚L¥¯Àªöºóµw�Þíö†»KŒNw•)¿`’iXA½É^0ß”çYaêyÜhõl3äzör<§õ9_²Ý?³G$L9à 1x™¹o¯¥ÝÆ’<Iüè$¬Z@Ç}X•:ZÒ±Ä+àë,Å¾žâó
¯/]Qà³¨FÙ5Î¢ºü¢"½½(`È+kZTk´úf-¾y†ß2C¶¿EŸåßªËôÿQ—á?¥M÷}®K/úÉ�æM�é5bð|ÏÁ½a
-õ8{Äu¿çñ=ñ™HžBhõ
â
$IA ¯g [9,�§¶\ëh¯.wôh}N ¤ÏLÐg¦ëÌÁ]Fp©6=Ø¬InÑ	îS
-žT\Ð¤ŽúQ—ZœÐ§ŽLöÃ±›ùoƒ{}Täñz¼×%´À
´ãQžÕ£2bå­P‹3ÔUòC½Å(y!³"7dUæ„ª¬r�Ú\^¬É•kÒB5š!¡iêÁ¡˜z`ÅUjÅZÕ€ŠÍÊþ¡½Ê¾¡Š¾åŸ)“Ë®ª“Kšä1	íÞ‰ìÏðo�ûéY¬	ìá#`1÷1þ›1C¤š¸” ÅM\††Mb	ß%Ùá~’N“ŒpŽ¤…íŠÁa·rPØ¯L
—*„ÃÊ~á)Š¾Õs)Õ‹}Âk¤w˜Ó/üŠôÿžô÷©ô¨ºª¸«2¡J›Pÿž¹n‡ë™9ÔãýØ@ìÐÃà¡4Ì™‚–q´ã£ˆ‹-Ù�®ë*ëzKj]ªô¯3K¿ˆUR"NIŽÜ-½#Aé©’‘ˆ$EfI÷H\ºEVËu¤æ¡Ó¤ãÒiâÇÒeÂéR“P´ãEâþüç³?bƒ[$Òy�ëìÔ#zB1|±±cÓÑ“5H¯è�Ò#š,IÑAÒ=š%Ý¢6éuK—h±tŽ†Ä­C´^tÑ¢™ñ°¨f´ŠrúNQL;"Ê©‰rÊW¢ºçº¨''d'ü[ à}[ºûÑ¸\ä×KEîÅÕ ¥m¼“‹ž�Ä§'ñê3‰!–$ºX_ÑÆ†ˆ:fUÌ!Š›^Œ£Ðb$y.ÌeÀ9x«9ÉÙx«™x¼{¿¤à7d;co†kÝ
-Îê&Ö%¶thà~êJ‘J4�DOþb¼'ïõ}P¤zµqšŸ87Î§‰gÜ:\â€‹XÈq6Ý8E´ˆ.âã…�1±-lþ¸ùøÝyhh@Ãý×åYojyê7¬‰5Ô¯.â:óQÖ$ÿ•®ñ Éú°È tõ& M4ZMÐ�ÀÑ€5¦r�Ž&š�F6ÖF6¿FbÑHQ¯$�+hù&ˆ‰]J×ºäE‡†‡è­{œ­-ä�p-
`*¿«š‰2ÖRà æ·Ü�h3:šÑÑŒŽfâÑBCÒBÒLNZØTZØðZHx3]‹Ç\³“`åP¤‹_õ¸.›sýä¡•)<E¸ž&E\kø#¸ÏýÁ�@ËsL>º4ÃëÉËúžLˆÆl#:6>‚Ì·i 	î†­¼÷cÐÅ?…£i½*›àieœÕ„iñ&ÊÔ�ràÖÍÔ!i¤=ŸcÚ›]xþ6lWM
òŽ6ò²3ŸÃ�ÚØ]
XT»‰Ånw½Ä³wx�XìøZÖÁ³žåŒßÀøSA%~8ìŒ�ö‚H¯"FBˆMà�ïÃ`¨8l:ðÊMCÀ!¬¡øÍ!µú:
ò!Å6£7ÈI«�"kcB‡ˆÅ!jóà'ò8œ�ð-ØÎ¾_¾Ñð9vSðô�§ÓË?�öw€!n–Æp¼þÞ£NNbÎÄ¼ ã|@äC¡ÉÉyŠío��ãÃs§eÜq8ïƒ³Î1{¨8³öŠ¤ÀÕ¹�ëuÐvG;Župï‚7M¢ÈYÀòÇÖaÉÏ§Ôë¬™KÔé·ì—Ù3¾g��Ž+ÿòž_<ï-(@�2�øä~æš„q«¼á¹"³pJ
rçò-NæüÌW8�Kxš/qB)ÚÏ)š$ìS‚ôo„}ÄÓí|Þ'Á»ž÷a½äº¤Ébƒ«P¾“€|�·»$µpL‘/¤žñç0þ<ùDÊÇ¸·É
-<ë*ù'þî¸²ñ™àPÏ’¸S¸Ø?óö{òÓMÎwÀqðxóÿhøQ´ðvg^©pYàÎ×~æRÇxæS'Ç_žÇ_žÃ_þŸû>nîîî4nïðô]bqŒÅs„‚}¶6¾<ÈlÀò3^ûnÓp\ÿ!ŸÉð¥ð•®apÂ`ü
-æRÃ<"ò6þò:Ž¢ã:Kœ²\Jä›
³ÿã?C)ïBÅÙ#a9]”Ý°µc×mhç¿¾ìžpS²ÿeºÊc›¼Ïðó�i$!÷å$Žs8±�8N'8Îá'ÎéÄ&�Ä¹  PÂÑÒ@ á^a@9KP2Úµ¬k·v0UeS§­šZmÚ!MÛ:uÚÚmš´SßŽ?&ëõgûûü{ž÷~_DòÉ´Ÿ�6³ËIŒêÒÊðìfJ‰1DŒ1n²“LËi¦éVzqöðÜôÂ1\Ç–Ž+|ÝÂeð%ž~‘¾@Ôó�åå>1ÿMùäq(ø0ÌUZ/Ž˜™Ä+Ä÷aç).â4£�=<?Èó‡hí1bL²tmÄ‹äq	;‰1ËóçYBO�ÅEœ¢æ'i¡çiÑãôò1âý?aÅ¦¿A3�§Üí‡% Šú%Ó@�ÌÄsÇMŒ&b´“1‚ÄXƒÓäqŠ<NÒ'°�Ñ°›8ûp„‡øÄ<ÿ}€šÌ1RöÑÓ{›{‰=ûX>} ?[à*ðžü¨ÜzX
-\C,m˜AÌ|FX	±œÄ©£>^êÓN„â‰³Éã9ò8€MÄÚNŒ=ÌØy¾Ÿd´^f¿FÝeôþ‘w?§hdûH>&ö‡qÔŸíæíD–\–”…ˆG-áãâ©[õ21ÒÊxj5qê‰ÓL�:¨G±‚ŒÆ!b�kŠQñ$±v±zÌÑ;Ç™ÁÈì&­ôczìwXÏ,Ÿb†‰ÿ@~Oÿ³ÕÝ6ßcy_`û})•í-†»KÿQÖ¬y¤ð´\â™‰UNK»¨S±š©O±z±UX…-Â06‰k1-Ncƒ¸SÒ,ÂÒQ¬“ÎaBZÀ¸t£ò¯1¢~†�îkë´‡ò1ßc«}ËÂ6de,¦þùœ-ÉëËýþH{ä8ìR20£ËÇ¶ˆlYäÀ¦ÈLGz°á‰LEu"Õ‡uQƒ˜X<ŠñÅS]¼
¡è=Ž>Œ5Ñg1¸dKï ¸ô·Äüý±÷(úc4ü‚-öN)mÀ6{£’3>¯gøý˜‰3>ÛÍ3lO-}[b’°16Sq&L.³aí2'Æãk1¿#	­NðcMB«‡0�¸«7#�´ýIóèK:�ÞäëèN~]É¿BWÊ?Ñ™r�ÉšÐAyŸ#àÛN¶aŽ_×Ü´¯'ùý[Ý,m²ƒ>šNSNŽÃDJFSóJ³`(­«Ó—c ½«Ò½dt`eF/ú2Ñ“9ŽîÌiteîD§þÚõßF›þ*|ú Eÿ‘Ð¬ÿLðêï‰^½&z35ñ.õ~‹¸79ò\án{ÖÃ¹²–#V5mÀV·ÕÌÙ2WÀHV4†²R0˜�ƒ`Ž	ý9¥èË©DON
º
�è2ø„Nƒ_hÏ
-m¹#‚/w½ÐbÜ.x�sB“ñ„Øh¼"6ßë�¿ëŒŸJµÆo¤Ú\M®5hò»Ë9ÁK?p=M9Ê‘cŽãàNÞÛLä±:?�üôåg¢» ]¡£À.´T¾‚:±¥ IôtˆM…+ÅÆÂ!Écš”êM[¥:Ó¬ä.ú–ì*º,//zC®2} ;MSœ¦¯g¡¦84åu¾Eü—Û¸ku09†nå(L3õœíÈc”<ú-*º‹cÑiNC›Ù€³IðšKÄf‡ä1»¤z³G®3·ÊnK�\cT–[&”jëÅiÝ£TZ�)ÖKªÝzK-³þ\µYÿªÚ,ÿÕÙ,š®Ì¬éÞ¡í_#æ5®ç9~ž¤âçgÉé)ò˜"�!ú¥·\D›--¶d4Ù²à±åu6³XSZ&¹J«äj[�RekV+m]ª£,¨–—�©vû&ÕfZ-µQKìU‹ýuÕlÿ™ZlÿD-.ûJWlÓ"ŠKµˆrÄz¥“#j/k×�ç)ó}Œ?WòXG
’‡ŸöðVFÂãˆG]ej¹Bµ£Ht:J%‡Ã!—;ÜJ™c…j«ìÐ•Töë¬•#:‹s£ÎìÜ­9«¦ªóJ¡ó»J¾ó}%Ïù%¯ò+]žCÓåUhoç;=¬KŽÛ«�ŒÇ WrÙLãôÍ*òì¤½jT¸\±¨v¥¢Ò•�
-W�Pæ²Š¥®rÙêr)—G-vµ©E5+USÍ°ZàÞ ä»w*yîƒ²Ñ}N6¸_•rÜ?•²ÝKY®/•¬åššU­éÞ Ýopô~‘cï™!ÖÊ~Žž»­Œcää3íôWí
-ÏbØaóèQâÉƒÅcŠ=e¢ÉS-xä<�O6zzåÜÆ!ÙÐ8%e7î�²çE}ãY1³ñ!½ñ'BºçÏBZÃRj½¦¤Öiêë´ûuâ]
-qÏcNPæ(;¬«\Gi—9¶2Njh“Ò–E0·,CQK
-[È÷™`ô•
-ŸSÈñÕ‰Y¾fQïë3}«…ŒÖ°�Ö:#¤¶>‡äÖ�ä»‰Dß]$´ü		ÍŸ	^MŒoÒ¤Wiÿ«Ä¿0Áœ˜d}æ*²�²cs‚\FÈ¥�vñò¹*ò5wË0v-�¡+	Ù]zèýùÈô[�î¯@š¿)þ&$û»�è@‚-–ù·!Ö¿1þÓXâ_Àâ®wÕùDwüKÚ5aI›&Ü¤í¯ÿÜpb#óró’23
¬_Ïœ /?×VyV�K!í’X„”@’iHä >`Â²€
±�*Ä<ˆ´#*@dp‹[ ÌB	œ€ÜRÿ� õýrß? ô~µGÃ
ž™X/lfNlåÎÇd–2C™äZ4@.í¼_K.6r5Ò6É#"–†¢J@d(‹BFèBf¨¡
-È!7Ä]ˆ‰†©ØðÓ”cTˆûÄ.-«¹„ü�Áþ%å>®ñü‹Ä:=ÃœØÅ¼äãÏ>ÃÍÏãü­oýð$ý@ŽÅä£ßÄÓfS:aî¹a6µ0›o˜Í/Ìæ®¢°è‡™ðaÚ$;¹ƒI~XËÅr‚Ò8'¶1N¯#_Pîá
-Ï?Ïµç×Ñã{™—sÀî}ŒÇYÒæo�»�zÞ/ã1yÛ�”ÿ‘]æQQžW¿ó}ƒà®¸@FdfØÆ%ìˆ€QDA\qÔjDtbpE+îµ®1õÄš¤¶±Q�QSÛ´6MmlÚÚÒ&i­¦§™þ†Ï1'<ÎÈ|ß}îöÞ÷>ä§~)ËÐPËúà,·.pÉÖqÙÖ¹..¿Z4U-Í\K¢kHpM‡½Md	bn1âl!l5y¨vÊAâÝß®�œK\mt0].7sx-Fá[Ï¯Œ_Þ@ºá
ú�†á€Kv
—mC` 4p¨h¢XÏË«wrè´«Þ£Ølð+Øf—#?$î=pî|�^@ÖƒE®ÒmÉM$˜ñKüy®7ÏÁ2¸?6³�mÆ~8¸äÔÄÁ�u0d4Òf¹	’f¶Ä&¶Ö
ˆÒF6úõÿ•ýpµm'¸¸~iU|Ÿ¼C$$ý�ÂoâÏ±L»±‹exWo¾³˜îflÅ�V³ÖÑg¸íq
@rÑFR[÷ð,=±ã‡€¾ÜöTÚ±µ“25óÓÊ½´(y Ä´‹íñÚýÝ‹.M€>ÿd>Ä"z˜>=Bu-‡éîñx% É�“äcÇø;õ8‚¢9Ü%­p8°[�ÍEØ)A:vã‰Œ uCŽˆô8
-¯"6Ü8Nzp
-œöà,Bá\/–Czµ“ór?ÞbA¹HM.q/Ñ\—îâàx(-ð­ƒ«žJxŠÀ8¸,ð„ÿXÄû>.ÛgÀ9�øp¡\èCØ—Å-N®€wÄ-V®svoŠÜ¦?îâÇ=ÜÎÈ]šì.¤w.‚›ÒçŠãœâ*�3N|Qðéàêéâ¹èáx\õ1éD
-R>pÃ#Ö(5²Î-öEHÒ«�ÉG×x„-—Ð—ðR“.ïz³[ó~½€DHC�äÊ×hÝ§R*Od&úp®|)QŽµÒ…šù;Šão(«Ç(­¿¢HþB£~NÃü	eúœ ÊÇüúk¬Ý¿·Áup
|×oùF†Â†"‹“¯ÐU_ u»Ð2�¥µX&�ÐuD×=D9}Š¿Ç�OP?P^¿åà~Œâ¼�½ƒÎ¼%o’ž÷åž¾.ÏH™Åç$}NÊæÄÃoûð?ðQ‰o |AÄb„ÏÊÛépä¢Ò&a{Š|„®»‹®û¥v?n¡èn¢ºn0¸~!Mpl¡L»)We;E	¯ÀuŸ’~A9i%7Îƒ³/øð01È¥�¿¾Ä¤“_‰^îI<)ØÏ"Ž	Ø/$†RyWfÐUpÌ‡c1ËàX…íµDÞŒý­´ð^ZùÇ¥“ªÜà(ýYŽé1Ÿã°Ç¦65ùü¦»¥¼ycy&#<VZ~ÙX³c¿û¥ØžA”UØŸ�ýÅÙepüÛëå59Ä0ë /ðÔ~¼n'²=T¸ÖÝ/àk?Ó›^q·ö5êqEúÃŸž|Åa%žìçà»ûEØ/Å~9#k–ìÃ�vüØ‹môh«l`”¾.;`ÝÆ[-X{�ê9èÞÍðnzÿpð‘çx]õÅsÒ“ñ3”·Cà3Àe†'Ž±päà¿�(‹à˜G9™ŸÏ|:a	\+àYCE6Ñ;èÔY‡ÅµT²�n®§ãëá^íÁ#Oü×¹Š¢q��ÓÝ#Qe÷‡WGLáð™à²Â“
-G&90Øe#~4áG#~¬§.ëdì5p¬¢*�üÛÂ©i—åT¬ŽªÖRíNöR¸]XpýÞdÄ¿Ãµw�ñzŠ+ð¨—ûJhÙ.ƒ‰-Î¸b±šÏhx²àÉ%;<EœŠ)D_×l¸Â³ûkdÙ¯ÆÒ¢šÇ@�Ë‰šC=f3uªàŸîÁý3ÆØ%Fû™Pø­ûý¸þo-
-×­ô�×k!ðàŠ‡ËFÕÇS±äÒáš×T¸fÂ5ž8VK%© ‹3è¢éttƒtÓk*Ó®~nÓ‘\F®!Ö�W,WïVV£f®â5>
-qö‡S‡Õ0øŒR­1Ë|%Yæ*i2G'UÚW¤Ò+_*¼ŠeF�2™Þ£JÊz,’©=ÈŽ÷)ñÞ.ÅÞt±O§úÜ�‚ž�dR¯'À)ùà}ø/3ÊÏ°‚µ²×�äjw­ Üeø·’œ,íã-Õ>ƒenÏ@©ê¥—ŠÞ12£�E¦÷%e}Óej¿l)í7AJúHñ€R™< B
-TKÁÀ’?°Qì¾Ûä{¾%Ï·S^ñ½%¹ƒ>—œAÏ€³?…ÿ«×ItíA4eŸ[E6²žÖ““:ê³€u Ò·¯”ò—iƒC¤tH””‰“â¡‰R44U
-ý2e’_ŽLô›(vÿb™à_.yþó$÷¥:Éyi­dëZd¼î€déÞ�LÝ2V÷H2tÏ€SãÂUb?Ïºó£Ö®×Ý|náÿ�6r�À
-Êš:›udÚ0)Ñ
–ÉÃ†KA@¸ä˜Ä>Ü,†Û$oxšäŽ“œÀ<É,”ñAÓ$+h¶d/•ŒàIÙ"cBökF‡œÕ¤„\×$‡|¦I~ª$;•ä §r…µïÜXÎ"×ê>Ö¿�ÙÔ�utíîôdÖ^ü¨À�WÃ´2)d€ØCt’*¹¡Qòrh¬Œa•¬)’9b¬&#,G“–¯I›¢^©I	_¬¥_­±éJ’¾]±êÏ(#õ?WÌú‡à‰jwªæ0§ö2køiø� Kö²úmg%ß”ã^‹]+ú|ü(7‹Ò³y½ååˆ¡2."P2#Ã%=Ò(c"4©‘Iš”È4eTÔx%9Ê®$^U
3UKôBÕ½JMˆÞ¤ÆGïQc£O©¦èkª1úSÕhø·ÖdpjMQN/×šuþCvVOÖ¾­H“�hÛÕü­©2?¦áG>~dÇøÈX“¯¤™†Iª)T’M‘š$c¬Æj²(Sª:2&S5Çä©ñ±Ej\l¹6&n�Ö÷}Õ×¬âÛÔ¨ø“jDÜ{ª>îUû/­>Öéãôê$÷'àì(`&!ÏZÀ¾¯Â§%øQ…SðÃNÍ2-ZIIè'6³¿$šƒÄ’ —„£&ÞlVbÍÉjŒ9C5ŽÌÕF�,Ð,ej¤ežaY®ê­Mj˜µUa=¡„ZßU‚­¿S‚-_©Áf§—çÉÿñIÌEVÎÝ%ô#hD­,dÇÅ�
-jS‚Ÿè™ÎM¢­—˜“†H|R€ÄÚÂÄd3h¢mñš([’ò²Ë(êóãÏrß‘K”C…bÔxÔ“UŽ ¬
-A\AÅµ(à-56ÒD­€Š¨<ªÆ“ÑÄjb¢¡2š&Íä¨1iš™˜ªÍDMœNM„þV63­æ�e÷¿ßóÞßûÄŽKtŠ‰›ì7Õy@Ül§(ã|§HãJ§~ÆC_ãvC„ñˆ!Üø¶!ÌxCaq÷�BÇu9‡Žír9EìŸÃlÌ£‘¯°îUówÍ,êÑ.[±/—8™‰I"52"Ñ]Cü5(¡·&DêW	±ŠNjèŸ8Ú•oè—h2ôMÌ2ôIœeO*1„%-WhRµz%5($é°‚“.*(ñº‚î‚ã»œ‚&t9Ÿ€ç ü»ó™MôD!³‰¿«ù¿”5x.qÉÅÆ4je16ÉY1)¾êŸÒS‘©}Ô/5Z}R+<u¤ÂRÇ+Ô”¢^¦…˜f(ØT¤@ÓR˜6ª‡©N~¦CòI}SÞ©ŸÈ7å®ü&vÊ/¹Ëðþî‡o×<zÂ.ÉæÓ—`RuöÌ�KOŽÔ8ò3˜¸õ5{(Ì ÞæP…˜#ÕÓ<PAæa
-4�•¿ùY=•‘.ßŒygÈ3£\ëå–±U®æ9›ß�sú‡rI»%×)å6¥KG�¤ûào\HO Aj—pG€U¼^Ä{s°+[’ynq‰Å–°éÎ
-°øÈÏ,K„¼-Ñò´‘‡e”Ü,ñr±L–“eš¾d)Uq:
1•�`˜ŠÈº	Pì�:ÿÞEÔ#rpë2î)$È°r9}YA=bK:¶ÄcË0äZâÂÑÞVw¹X{È`e�[¹t­ÁðîF¶R8V
-z6Iž½¬F@nê‘³/3¯0ôØ\r~?ëfî^ŠEvl©d6¬e>�¥¼.ä=¶˜°e,±yšg#°'€\¹– £J|—1—l1—m1ƒ¬˜Ë¯˜f.¦ˆçÑló0¼ˆCŠÐ»…;Bjî%ÛÛoˆÃœGjÆ÷&¤hÃ:úòÉ†¬ÚHO¬Ç•ç¥LlIÄ�á+¥ÂóÞØ,;*Ð¸è¹
-.×r�òÀ¥[N,Ê,erA++“–làÐ:
-!¹ˆ�qá—ú|èÔ«¤ªîúú’pm¬eF¿„üŸƒ=“øl,ö<��ØÔƒ9=±¨BßVrRÅe_Å¥_Å%SÉ…SÉp©¤±*ÉÇœY½™Bk!ÑÔŸ!rï2ŒÖxvÂ[ÇÇ›¶ðu°Ij¥„2y?»†�(ì
-¶Iî@v¼ä€�EÔ†6B[/Ð°”ØÈ‰�‹ÀF,l‘� Öð…ê=8z†æû€Â»Câª	¾ÛÈC=oƒe ��Yx/åwôˆ½�2•ºÛž‹é6–Ñºž•¼ÔS£u,&õ\ˆ
ÔE±¨'˜uÛù>[óVêr½±ù�v5ðUJ¥f'¡j$E`&¯§€80ˆÿÃ�/@*tƒòfUæ²Äd¯7ÍÎØÌ’ÚÂÔLmì''À(¢w3Ÿ�ç¹Ïyþ{mç¼ZÎ[Kë.V�âY¬ŸÙÇ<âqRè´Žà 8ôxùç¢G8êe¯cÄä¹9‰§Y>ZYŠÎ�“³¾³ÕY?s´³@}¥Ípm€§Ž�
O2<#à‰„#�s�Ÿø²§A+`ä 0»…Éë�t\mÔÉejõ=ìøZî*=r�‚º†£×øâÕUÃ¹¾büÊÁœ£á‹&e=OIn­ÿÅa?ÿ¼o‚·Âìð.¸Ú‚ñÏàS`0§w¿!/·°ãÃöƒçÅ§oŸy¬yÿî D«-ñ}÷P&ý-ó£fè*á{”Éwèº²éßAÑÜFuü÷-ó&šæ”Ñ×Ì$ì¯ÿ©:Ðr7Ñ“�ô'ÿt€wÁÁÿÛà¢+PÐ4÷ÑwwÑUß¡uo)�³§qvž¾B±|‰Rº�¢ù5uõñ*ä”ÐÇ4ì‡hÝkh«Ôâ×N ÞãÉKèš6ÞÁ9pö	‚ûàŽü°:uß¸&à‹	2õzê}TÒUôTv\ÁŽvì¸Œ¶kcp½�¼ˆ:{‹†½@,þ@ážãçu’soZa:íÀqpÔaC'`ró„à%…òÂ§žø×3ðŒ�#	Ž)Ä.‹ós9ßÊÉœ]ÂÙ¥”æRÎ_¥Sè»“¨ÃzŽí´ImsŠ¬\¢¥¾¦µ~Ò~X›Á>°Øù™ÚäSÄWøJ©’�Ë
-À§¸báAÌŒp$s~-2ûs9{6gÐª%œ_Êùœ¿
-ÖuœoÓ«Ú
-G?‡ÕH!ï SõDº^;¶9`÷ÿ[p¼ï(m{[½�ÖmU/ü‰‚o0\£à˜€ý)œ�®½Ø±›¼4Q�ÔÇNîìh õZ
ÇÆi-•Ñ@•¶ðªU›ˆ¨
okð¼î¸
ÓŠ¢�m×úx¸ã_ œðÅÀ5ž1D7žóS°?
/³´YÓ‰z<ùðÃS
-Ï2Î®R5¿_à©õXû<Y±WK%Ý²†.[
÷/ø›£•ííÍmFæºÇ_Ëãqìƒo!pFâÏ@x†Ã3ŽÊOÀ�8Ò¨À,<žOÈ‡§ö%ð¬$+ëéÜßbÑ²tˆN>Ç'i1Ý]
-÷/ø˜ÒÎUs�ë÷ãõ0£­ÙÀ}Ž
urÅO|Ã£ø4ž_Ã‡?‰ð¤Â“O––cÇRì(§>Ê´ž
-&H¯lšÏIÅxUD„`d.µ™¿×‚uaŒB®Ü£\w-¡\K¼·Í“ý;^”'ÞqZøbà×H¸Œø”„©ZH},ÀŽêcýRÄï¬Èçsˆ”•|ä‘Ñ™Tô*.—þÈ¡§ÃoG;¼çYN2J‚=¼®gy™1_ÍŠ´Ö••ƒœT�“Åê_,\Ca…OF¸’à2Áe†+®™üäÃ³žå²àA6c¯àçÇ•ihS†á†ÌNw•îôèRkÏYÖ¯×X}šÑ”�¬¥[¹bl¬‡ë¸öV“Åž®*qê¡B§ÞÊwŽ’Õe ò\†i¦ëhÍp¯·geqŸ¤iî™šê1]ÏyX•éY,³g…Ò½ž×¯—5É«I&ïcJñjÓDïJö¾:3þÖÑ\Å\ó{Ñ”
ãˆÁHbÀûk°¯œ•°–ÌññÐ,ï åú„Ëâ;@Ù¾ƒ”å7\™~c”ñT¼Ò{LTšš&ûgËä?K©EšX¦äÀ*%Ö*!h—âƒŽi|P›ŒA_€@—Œ�]:ÏÊur<y`nJ¢Yk±ev­Ê
-ú²Ë(êóãÏQˆ"FäX®åZ`¹V.åd=©
-Á3‰ÐhÄ#6Uã}†1†Ö³DM5F£Ó$ÒfÒÖñ˜˜L2&'™Z­ÍL2�±ô‡]g;Ì3»üw÷}žïýÞ÷ûÞ‡±¬–½™hR…Ÿ�ÊýUæ¡±þV�š¤Ò¡v•ä¨8 @E�N–+?¨R#‚j”\¯Üà%Ê6¯Ö0óV9Ìû•a>+»ùð/Ùƒ{{P�q‚õ„{/–`£p;¯«¹b_AWÓ0Æ_tT3–MÀBŒ3÷“Óì§Qæ�‰RaH¼òCR5<Ô¡¼ÐáÊ
+VvX™²Â'Ê^­Ìˆ:Ù#+Ý²J©–ÍJa IŠ8cØ"®‰w�ÄðS/Ž³îýðvŒf¶Å´�a®c|	/gÐ1-k„ŽÒÈ¾*´ÒK ò,áÊ±Ä*Ë’(G¤]‘9²GéÑcŒ´è
-#5zš‘3ÏHŒi6l±+ŒøØ�F\l§û¾û™óOSLL�)6ºÇãèHÎx÷<…Ï)g¾çuEïHîÄðÙltLAG9µZl3”kõV–Õ_™ÖÙ­QJµÆ+Åšªä¸aFR\¾a‹/5âŸ6â¦Ö„9F¬­Ñˆ¶-7¢loÛ>#ÂvÊ³]Q˜íŽžðSx|�Gk~Þ]Œ{›*¨G°_û"ÏÐQ‹ŽJÆÁ2jµˆ¾q${)-q°Rƒ””![’UñII²&g±ÉyFLr‰�RnD¦T–ÔYFDêB#,m™š¶Aæ´·œzR�©—”zÛJ¹o
-Jîñ8Ìš÷Á¿s"õ8‰s‰1¼•÷‹Ñ25äh{5Žš) VíŽ>²Ù}g*«=T1öhEÙm²d¤+"#ÇÏi„e–!™•2gÖ*È±@�Ž
u¬—¿c¯|'4$ó¢|3oÉ/ã¾ákï1tQ�pnÇmÀ¢¾–M¡'ÐR÷+l!9™X&�¥^òÉI9‰Éé¯Èl_Ed›–©Ðœx™sRœ“¥ÀÜBäŽ•îùåÖhHÞsœ÷Šæµi@^‡úçW¿Ü¿Ê;ç{
È¾'Ÿ¬c?<ðocüoŸ�×- ùéYžW£eâi4Z	­dzÇRä©à‚A
-*P@A¸übåW˜¤!…™\8B�PX!ï¢éêWT/¯¢—äY´F}
-wËTøøD7Ô7ÿGyŽèÑo·÷À¿e&çãlúð*hš…ßAK5ŸU�—r5Œ=K`BÇò+í¯A¥¾òqšåíŒRg‚žp¦ËË™«¾Îy8]2�&©£ñW£_F'f¦”�½”á{Ô7er,þEûàØßæyØ®ùœÑõhM¼ŸÇ³iè*GK!#¹�¼Ä %ˆZñqyÊÓ5H®@.S‡ª‹ÃÄ…¿sÑØ.ÄºX ‹¹šÁ*aÜžÂ8”}H�}ÍßÌvðï¨ãžzŽ¾|�³¡‘ó	4aËfó¬-cæJyä)-höcyOLîÃá9@ªò! 
-pÑTqÐWqèTQÌ•®¬®l¥¸1³™N&œ%¹LŽã™"ÇßSÛøÊH]KÊV-AÃRî	lHM_å³b´dò½8òÌ²’ÓL†Œ™\ðµµ�€\Ô�‹rQÃá[CáÔ°y3=£�MÅïN_�™ÄTMÃ MezœÂ^L¾¯Ý¬w+Ü^ælha^@î^ë°…SÑ2-ÃÑ—Bn,èñÃªy¡I½hàbo õxÜz�zËÿ.˜ù$ó¹€êh¨:6°Žšx–ÅÍ[ÃÁ‹‰�ó’|Yšu‡uü¢�ðlYFO¬älXM_bò~ærRÆóäg¢ÏÊ÷‚ã�^=ŠÅb‹}hf.ùEC‹"{²ˆºh&Í4^3ÙDR!X¸“K€‰uôó·XË=í€k3µ#ñµµä€×:¨©”ñ8žçQJIh
-_!
æ»@ÿO6òÑJ>ZÉÇrt,gOZ9LZÉE+ÔÊ~,#É-[ØìCGÝà&ÓOÚç&¶iÍ>ÚÙFþ�%-Z'¥ƒ(à�>/ ‡X÷8<õ±Žúh£>Ú¨Ñ6.™6zd=uÑN.ÚHä:‚¯í$éç8¯�´�R]¿™{
-yÍ`ï'm¢…�XA Ïúõb‹´ÙƒÁ÷ql'';’wÐôèØEŸìfOöpØ½IÓ¿Iâö°;Oð½«üæŽ6ò»ÕKy<LåýX�Ãû„]’y·4`lø=èpþ{Á[nì{oƒNútŠÔÆÙ®j°�ä.zô¹8ò¥ÖÿUâ?Oìjàùp$;Œ˜;Ý†ãw`?8ðÀv’.·1êÅQð.`™:E½žfü€ž=ÇPô{ržé¦.ºY|7?<^­¬§¾YðM`
Åp¦Ã	ÏxLGá8æŽÿ�£×�§ÝñœÛ¬õÆ?�¿�ËääÌËWì×è×o8øop |ûºt“ÄÞ|‡é^�¡ðÃZp!IúYY8³‘ú�Ùý“ú?ð¹g¢ÿž	ÿ;¦ý›¸�o™þoà|®ã‚¾Æ…}‰Ÿ¸Jq\aÃ.‘¨‹úPt
IÿÆÓâiÀGàx<®ážL¸�Aº‹Ï¼�¿»…¯ú�y]N¢¸ˆ_©ÏqŸá.®à .£ã":.àgþ‚«üØ�+<¯�úX»`ß��<EŠ.é¢öòž'Á1ðûG4Ü?N
œ˜7N(P_áï®âg.ã1/�‹OñuÆ­tã–>ÆÕüçÐq†Có}\å)­÷pƒ'q£'hØwi ãäâ(ÙÅ¯Žù0l‡ÀAÐ	öº5ü¸ÁÈ«X§XŸyó…/®¸ì:«<xJˆ_Fì
-âVw:ë˜IìyÄn v#±—°òJx5¥ÜN›ì¤uÐJ§i©Ïq|?ñ¤G;Àv°ôòß×p‹µ
-^ƒ¼
dMAðE³ŠdxÄÏ'ö(ô—Ñ†Ä®"ö3Ä®¥mçÒ¾
p4Â±ŽV*â7plæo/®÷Š>Ulëà]ëÆÐ»~¦	ö”VgÝ%ß…×=(ÖW<ipd¿ý¥Ä/#Óã‰_ÉÎOƒ£Ž¹Tc<MÄ+õkž¼F]¬$K+hšVV»Œªk�û!nÀwÉÍÚÝ~½­ßItèI8ƒYK¤6É��ˆ9¬£ý£àÇÓÿ¥»Lƒ¢¾ï0þ¬Ê- ÷â²À.Çrì"Ë"ì"rÈ! €àÅñàPDÀ"Š�FH¢ñ��Zc4išÑqÚL;ÕÌø¢Ó6é«N§3ÍôMÓ4/ÚÌt23ôƒ’igÚŽóu¯?¿çù}Ïç‹×7‘­àt2>ºÁéçìdÆä&£°=HTàÙa¼½_ß`sdòKûýB)ÿ|¡½¼¿Ð/¿hÉþ:E�¾M�LÉÆ}²Àq�ãá.«Á¨ ju£ð8�ÄeX½`òoTû`·—Sú¸Ñnz¨œnª»‹êïÞ~‹ø%#ïþRÚ#ø:­�6�çGÑ"îŒ£¹‘…;¥’qÙTa8pJÀ©Ð<úáÑ�=Ä¥W;ÁéÓ.íÀ+�œ´�S;ðpÞJô[ÉÍðçí1ãö§±´mäØMÆÿeZüÙPF£‡±
öbnf~K+�ÓÜÉÍ�¼Ü£ÄJ°jÁjÔ+äi;ÿ·ñk±OmÂ‹‰h½�7P
t½ðë±‡Ë¥{VF-ý*6Ã¨;ÉwÇióøg„V; îÁÝâÁ³‚eÅ	–,/X¥`U�µ¬f°Za³Œ~­ÇsuD±†ŒZKNT‘Ud`%·‚ª¬˜ïY´ñgá'>ÀÎðþMäØdÙ!äÈ r gñ"¢„/£À3S	6°2ÀÊá^ù`�UƒjÕêµÖ°YU‹¶©rÑ­1Ž¨ÌøšJ|ÎhµÏ
¨Èø¹¼Æ/åõù£g‚y—�½ö#ö7³é1�Æ?}Äh2­%ÀWÍ¾!jô�ÑzßÕ-NQÍ’LU/Y¡J¿•ªð+V¹ÿ•ú×©$ YÅ*
-ì•'pX…AGµ2è´ÜA7”ô@¹AŸkEÐW¼>ÁætüÛÈà«È®ì#ö\Æ�¥C™ø€ñßaF’›º?U‡«"8Nå!‰*	IÕê¥ÙZê’7´Pž°R„W+?¼Qîe­r-ëRnÄ~åD¼*Gä)eG^WfÄÙ#~'{ä×ÊˆxÆç9}\€<`¸Â.y®œ\Dzåó!x
À¯?µ¯F¤{UŒQ%‘ÁZ%OärDY•e—;Ê)Wt¾r£W)'¦RÎ˜z9b·*+v§2ãe7M*ÍtR)¦k²ÅÝWrÜgJ6}%kÜsYcçq÷›à_®$ª�y¼YC.2êûá±[³Y‘È×r;g¼¿Ü¦p¹L±Za²ÈiJQv|–²â]Ê\î•Ý\®ts�Ò6+%a»l–}J¶L(Ñò¶,–we¶ÜS¼å7Znù+öÌ`N˜3|À½o€}©u	<U‹üeE:�>xtzX‘òÐØÈä’t4f²¯œ‰ÁÊJŒRFb¼Ò“•šhWJRŽlIJN.U’µF‰Ö�²Ø¶ÉlÛ«ø”1™RÞR¬íŠbl+ÊökEÛ¾TŒõ©!Ú:g¸ƒÜ¼î…zò±Az›dU†Ón~{¥„\ GjÈÕÕäª+Ó {j€RR–Éš§¤T‹SS•�æ�9Í­åéÅŠO¯–ÉÞ¤X{‡¢3ú•1ªˆŒi-Ë¸¬°ŒŸh©ýW
-µÿEaö'
-OŸ3ÜæÎWÁŸa9ÙLM`¼ÿßõÀ£ƒØ4«µäH1±ÉÅ')Ž%²d…Êœ­ø,³LÙ6Åfg*&Û¥hG‘"•Šp4*ÜÙ¦Pçn…äRPÎ”œåïüPKœ�åçø³ß*0{N·¸ó0Ï#½O°–ÇÆ· 1YW»ñI;¿7Á¥.EÄÍ‰O’ó}ç
-Rtn„"]&E¸’î²+,/GKó
-œW®À¼õ
-p·ÈÏÝ­Åùä›\F÷¬n„ªûSòþ$£ëùäÎéæä?˜gÛ˜¬§Ç°±vê’Õ¨^ípiBWÁ¥�¼ÉÂ'	ø$Âã§ÐÂ0{bè±Èß“*?¯C‹½+åë-•Ñ['ƒ—ƒ‹vaìyE,k^/âÜƒøõ –
-Ù7žê8—À<ÓI]²
-½¶“õ‹×!>wÁ§n
UŽ¯Üë¥4|bÂ'¡å¾ZR,Ÿ²(-*£¹—ÑHÊ(är‚UÉ2‚\ÆÊ·cƒz¾ŒIXŠp/aJ—ü‘ƒCñ]ÿ��î¢G#ý�î†6Ø¾ká·:¸#És6üM®Öe¨
$Yi¢µ»ZvÌ;¶›ObœVÃÃ5ì55ýØIÅ"YÍQõ	‹;VÅß¥5Oõ.wžûkØô>8@ù064@oà»�p©Â7ø%¾f¸„ã;ß�~d¿lf 43l›i¦M4³&šI�¯‰†·²pä†=Øa‹iT=‹É:”c~¨{®€ìwöÓXÃŽŒÀá ýi˜š`©ç
-¥‘¡�†s |.¾ÑÑ�/ÚpíºvšH�­�æÒFÑ·’ä­Ý8”C[Øk¶²Øm¾ÇR‹zÜˆ’mz®KÜù,Ø'Gá0‡Iú¯=|ÞŸjÒ©.™ð4ï•Âð�±Ò¼õ2Ø{ýxÔI!1àºþÝäE…ÜEâì¢ØwA|'—Ü�"Ù~�ÆÇ‚¸
õÜñ78?Ó…Cp T'ŽÐŸxd‚ôà}ç÷q\Jqá
-ž±Â'
-®~øÉúoÛoÄˆÉÂgˆÁ6D~‘ŸƒäÅ¾  â>ÚO^î¥6ú¨Ï=�¹ÛDïÍðõ™ãp˜¦&°ÜÕó:>€O5|VÂ'�gLp
-ÆGˆÈÿ¶qü1Ž?ÆC0xŒã�qDÈ‚`_ŒScÄã0Î=)d±AÁ�|�Óÿ©óàž>Aøiëç}Ç[Ì¨7©~s`x…aÆ7À›·©ÿa/¾GœN!¾¦ˆÓøc2E�L3ˆ¦)®i‚:Åƒ¯³ë'/�ý�‹ÿCçOÑ›(ÛWÏâRlï›NSÎ|ŸË«•WF¿|1ÄýK›¼gÿ��£^Î›êe³ÔÉ,1¹H£»DR_$À³3ÂG<÷óµNññØ,î!UzxÝ‚UcùX*ßÅ\$0ÍÛ¥ÑOj³ðˆåê¥]ý»¶°üŸü··È�Ûâ;ÔÈ]Šþ.¾¸ËƒïÓ«ÞûBSœ;Æ™}œÙŽ­Ã¼Xç!9pcþ¼»ùbùáLìöÂ2rga)úÎ>ÀH{DÄ2ùú?£f?aðþ‚Z}H�<"ÑáÌGüñÃO5	Ö ¼;±FðJÀr€c~O
-ùcþÜ_,€/Ïþ×åu�†ñ‡Ër™¸
—`a@`F�á"2à�TD�Toi’Fæ-o¹’i^ñ’G-]ËMÛ4mÛ³g3×vs«MÛ­sZ[µ]Oµµ{ê”Çµ6öƒÎ�ýã=?føÍû<ïíû}ŸW|‚ìUì,FiY—Áñ‰µAÁx{{»ÌÌ\a9ýˆÞ¸Ê¬^cÀ¯Óð×IÀõSlÖú?óCE¡“õ´Ä-tÕ7hª±3ÿ“
ú3¶ø›lØgwÿ5s�ýýjçTÖÇÉG(±P›—iŽ÷)ØŸHÖ»{Mq	ooƒðì
ìWØì§ø?b·°¯ÆöŸ¨/Øáo¢gn 1?Q-^ÆéC6ú4Œéø÷â{>~»Ñ«=úZâ*ðMôÄy=
N?)yUsš½æ—¤l@ç|Ø'±~ÂáÆ
Bœ3DWÑ4Aß]FG¼G..É­·P&Po c~ƒÒx¯Áã<Î’�WáqUv}÷
-û2CtŠ~‰‚žàW/’µãdøˆG±CØ³>ƒ±‰qb�K_ùŠÏB62Y@.üWÑõðoÂï$üNÅïÄâÅ÷|Zuþ{ˆ|¥žC¥¡&‡ÐxùæYXî#¢=Tv7¨ƒ¶ÛŽ}æçØ_ïb‹œÞk©×¨ÇitÕ)rq‚¾8®"¸�Äw
ãW�ïF|OÄw#Û‰ÿYÚ‹Æì‡ÇnÔé.tæjòŒ¶i+oõÁ|‹.’�Ï8ÎÔë³�·½$ªÅ¨øÚû—wÇ!ˆ˜¢Á³€•NÅø/ƒ
üëñ?ÿ÷Sù)`L£K›áñ$ýÑ«Çô3zã	¾YGôkÈÒjºbÑ®Ôm*6@÷Ü}^õ�Ïyß˜�ô�ÿ!æc?¹ØM.¶3#(2›�Ç0Êá_
†ŒñZ�Â]‹â]�Çá±Šº¬Ðb&e…–òVl—Íb2ÛM¶éßzì…>»ìås>ü£¾#�ã“_�¦™‰³O6±€QJ,åÄQM´pÆ�ÓN+8�àxÁX¨Ôd>ìæâeyé¢.¦g¦þÁúñ6@W3«�-¡?\5Çxäónð·ú®¡'
-n,%�—–8¥à”ƒSÍ*á¡ãÀiÑlê2Ï3Až®‡a´RxjÇkn¥Ã'SýItâ$ðí<Gé™Ž]Ö Ã<ûY‰¶ÁçIŽY®k°‰&oqD–L\6°rˆ©�˜œÄRÎdÔ€UÖx&e",ÚÁéÂÿBºå1N¶
LÒvºøLÏj¬®h§Þðí×\õ§XG�²và8Ý‘ÊŸõ\¿+È·-±ƒ…×ðR©z&Xy`—¬
-°F‘…5ƒÖÈ·ãxsÙi s¢MfGqÁÕprTë�LùçØŒ3Ü\ó‡óï]³[Y�{á³šëîQVÕ…¬‹^rÒIMÚC|fð¬`e�•GäEÄåËM&jUÇ§ZÞ¨!+UTÆMå*¨f=1‚K×Å´;9J9éKô-ö£Nçq}rµDìÂú†³VÀekÐb®»y‰ì4Ô«5$@Í~aÄž…Ø¬Ä–ElÃTí7\•~#äö¯Ry€G#šä
-lS©¡KÅ†n
7¬R¡a‹
-‚ö+ßpRÃ/*ÏpM¹Aß(×ð_½æQu(£ƒ+«è:¸,s°S±"{©S;ò¡…>i7¨&8BUA&U'©,$]#Bìr†¨tH‰Š‡”«(´VŽ°q*›¬aá3”þ�ì+•eÜ,›q¿2"N)-â÷²o(Íø­Ò#ôøÏU°¢T3‹Ø&VžµpYÊ*¸°�5˜Ú´Q¯FV¢Ñ¬Še‘Á*�ˆT±1^…Æd9"3”™£¼ÈBåF¹d�®VvôeÆL”-æ¥Ç.�Õ´\)¦MJ6íSRìI™cßÂ>•ÅtK–Ø�ï0Z¶Ÿ5g[½Às5Ÿ{àõ üfÀc2ý2–©FÆ8ýå0…)Ï£“YÙq©ÊŒËRF\¾ÒãK”–à–5Á£”Ä%'NS’y¾ÌæeJ´ô*Þ¼W&ó/k¾¨ó
þ¾…qw÷!°÷4°[#7b�³
-?‚¶�ç¦à1‰~i@2TfIÅÔ&gh°l–û”f‰Sª%I)IéJNÊUÒÐá²-“9y´“›ŸÒ.SÊ\Å¦.UtêFE¦î‘1õ„ÂSÞÄþ&cÊwŠLÐÏ‰û ¸»�}hÚ
<W±r-A.Î…Ç4äëýôH=Ò©‚NN²mJ±†)É#³Õ¬«UñiÙŠKsÈ”>B1é£�Þ¨ÈŒ6msnëQhæ
±íR°í¸¶ß*(ãcg|­!é:FüÀÝÉÚûu¶r3Áw³ù_[è“zjSANŠèáLæÆœ=DqYQŠÍJPtvŠ"³3e´ç+Â^ª0{•BsÆ*$§UA¹³dÈ]¢€¼õòËe‡ÌeQÌaáËaK°%ûzžÕ?ø;�![Z9›Ñ³+øûa¸xÉK9i�K=\Ê©[9Icnâó#ž§Ð‚¡
-)ÈP°#OG±nù;äWÈîXˆ8-b—.ZÃß„BVÇëØ‡8ckÉ¿­#àïûÖîÍœ�Ó¤å<»ùì…K;\Zš¥:¸¸è›\r’LN¢]
-)	S`i¬üK^'�âdˆœ4�“FwÒTN~ìœÎª.t…‹[ÈÉò\Ê\ògšÅ·uü~0·ñê&(¯ë‚Ïn>{áÓÑ.5óN
\‹ÉY}’X‹î«öW€›ÃÜ�qÑ¸Sî5m%MS9‚Ï¼ä†¼'•0öywe‘/gK(»‚}%�¼­ƒàïs«—{
-I¸nçÖ=|×6ƒ¹ÄM5*˜(Yqk"'!ÔGõhLÏ}‡‡ÄÃAâáà­CKÔ1àu4UAÔá°n†pÍf0
-aPó>ÃNªîèqïûi¨ö’²µÝpÀº¡9D÷Á¥ŽwœÈE;î,p1RæÒ¬– i—ì.¸f.ºf÷&×&·‰ÁnËáÆÑx��b½Òx4ÅX6µ†÷ˆ�-Îó½öAqx}‹áÐ‡¥Ô[ðs	—FäH%ïâ&
.&òÒ	>¹Q—Y;Ú²
3•\´
½w¨¶18ShÞ)4Ð’×Ê[¹�'£k&!"'²-µ\‚óðü^ý´ìv(>µœó‰’­¥uzxÎ&u­|ïá§.¸Øáb!/ðñ#o\æ¼4hèJ/}1‹‹m}ÑE_tqáuq Ì¤�g2\3 =�@§³‘tî„?®ã"ÜoÂ÷ŽþÇw™ÀD}¦aüá�á�cF®ŽATT((µ@E±
-‹Ö‹V.µ(¤Ö‹Ój×UmlÓScSè¶±Ûmë66Û5kj³éžu³µ»ÛlÝ®iØßØibºÉ†<™ëÏû<ß{}ï{®>xósO'ýéIî*Þ¯á»2´äó{*~‰ÁG!è1à/9ÑèÂcN c;:¶££
èh /êñE=‰SO<¶!¾ƒ[¨�ÍLŒ›˜Þk?Gÿ
Á××�·'A!«ås%zŠ:(!Ê:¡]
-Û+ùì¹7X}�ûß;ÑÆØ†Ž6t´1x´Q«­\6­ø¢•¦×Jâ·p�¦ƒ8ú�˜úÜÁDßøµ†àí£dzÀnPW‘¾ñè|~KASäb€.9Ñåzý1œßw¹/>XttsÑuqwÓ+ºWÚ…£;OR€¯x&ê}_i¨ôóìëheËp×B�l è¨äôœoïÿA>À'ƒè¤g0œÑ\Ž“Ðƒw’~r¢—�êØ:6„,é&†ùM¼®äs˜Íûx¾3Ïg\Ãþ	8‹Mœú~æZp·†Ñ1B~Œ�£4úsÔÈyû<¾ã¡Ñ	žùL=ØÚ�­­ ÊYº [‰Ø
-ã1¯3÷†§MF]‹È˜k!:žQ/€—Á«è¸H/¿Hÿ¼L­ŽS#Ü�àŸ'ÞÑðl‡c-(‡'Ž”êûÆs÷Ù½à²û¢krÚw.…´<½.º%'¸’X#¤·%¨|Y&€>¦^§V?¥¸o’ì7qîÍ™¬õ?¸+?6Âp¶»þÁ>ó%;Ä-&Ø?3Eÿ‘Iþsö‡ß±Y|Fƒø”
ç·é'l!S,×ØÆ>b§ù‰q•€}ˆ³>`§ø%Ý/°ö.WÀ8x¼îçþ|
¾dŸ¸%3|1bú…k.<àYO•Ø­Ö{lSWhVï°�¼�ŽŸ£ã-tL°�Ž³™¾©A½Ab\Æy—`¿¨¿à¶I6ŒI\ÉüFîÓð/@÷†WpôvškìwW™ßßÇï*žEØ-Áf96+9G56Åf-aÙÊ™Ùš±ÿ¬]„ï(©q’pŽÁ÷)tƒtºCzM¢l’”ž$Å'Ù<¥‚?:#|€‰�ó„òŸ1ð%Ã“�íù¤DvK°[ŽÝØ­"E×rž�ØßJê6b¿…Òh§DzàéGÅÊê%¼ò!Ÿn«^'Ž�#àïðý0Qð„ð«àu¦š7œ!¤c$<v8fb¶s)ÁBl—`»Œs,¿·Í±Û
¢£}4ó^µâ…b¿:ÈSO¡úÑê‚­Sß­É{Øœ¾ÿ¼çJå×\é?&w|æ_(\6x5 TìÏE.ú°¾„¨—ÂQÇ#pÔÐ27Â±ö�Øßƒ7h/Êvs‚V<ÚÂi›ˆü.¸ÀuøÞwñ¿â*ÃaWû9Ž/úðÅv»§‹ggÀ‘G&¹ÚG~´“§{©—=l¼mèhEG3ù±Kõ¨h&2û¹ÖŽ¨�ÓlÃ³u°m!ó6Ã½É…«p½ål%.þ³®6HÛæœðúÁ9
¾h¸âáIâ,éœ%S�£c':Ù>·££ÛˆKù±™¿Z~Ù€ºuxéQN´†xü„xTSmUTájø�¸â.]b$»À(2Ìus’k‡nÎ¹éá �:m£Fšd!Ê6¸ìð$Ãã€%“säâýEZ�?Ö¡c-ùQC5ß¬æÉGðE%–V`µ?L+'eTB)üNŒÒò�Æ¸^N™¹R¸z¡§-\×p»q#ÖBàç\1œ)�3¥p&lóàÊ…«®%((Ã•pÕðnªvêAN²„xS)ETp!Ù_H<
-ÈÍ4\b¼`ã:àº?Á8x,êûk·mÍø…ngôÇª¾­$7–Ó7–¡ãat”¡ã!åi)–Kø[Ì/E<YˆâExnñÈ'ss‰rŸM·ÉÒÀ¿=+Žk‡1ô4;Ü8ÌUÛ‰–Ý‘Üå&Æ®œµèXEL–k*~œ_$L±p%Â5“.žÁy²´¦|¾Éå‰|‘ÅfâÁ¹dê2+ƒ.‘NN¤“itÂ4ºrª³gÂ;Ê•öSFá~p�÷ûù®™ñ£�kf#>©b$©`\[J�+�ó…ÂÅÉãà›ß,øfÃ—×"¸Jà©À~
¿Ôá­f2¨‹'‡ðÞ9"9n�Y·ÉòÿèÆ­aF�¬%½ ‡÷íhÙ5“0�™†8­´0_“'Ý•çé£l·`øÂ4Ç-ZnñJwORª{šfyd*Å#OIžÅJ4”+ÁP¥ø)›çµK1^�²z*ÊkL‘SÆ>åº,^“Åû[=çYV³ãùŒH ›=n/£èNÆâ-Œèk‘W›É›…Äfž¿§Ò¼�šé¬do‹føX5ÝÇ.»O²â�Š5æÈæ[(«_©¢üV)Â¿V–€ÇÐ)sÀ Lçì?¡ ÿ
-¸­ÿ»:Ç˜ušg¨€\`=ëb=ÚÃçèØÌn[“JÈ—ÅäM92›Ø$è§˜©&Y§†+:Ð¦ÈÀDE¥*<hžÂ‚*4d©Ì!+bÚ  Óš;äoî—¯ù9ù˜ß”�éºŒ¦¯ägúNÏqöSp0vb—ìäu÷Œ»è¨E_5cÇ2r¤˜™OŽ8ˆÍÆ"k¨·ÂÍ�
-3OSè´(™§Ùe
-MQHè‡å+0l‰ü-+ä¾N>�É;bŸ¦DôÊ1"�ðËà×ò´üUS,w5ÊùŸ…»ŸµìiöÈÐZÂÊÀØµ‘±¼Š8•¯"+*±IÇ'ÓY¥¢¬™"üaR`d„"cå•$ßè£såm-–—µBÛZyØäÃÂbc~³1¬YÙy­ì›Ö[Rô
sî“Œ¼}åÔk@¯-Œ[ÛÑ²�ßV£±_á“|’Ž;#ª%Á]±Fcƒåg‘WœM†øDyÆ§ËÝž#7;Î´cÐÎü˜À2;�…d:‹Cª�á/þš÷øFgáz†G{yŸb—Ý_‰Þ7ðÝz´­Â'åh)BË|´Ì¢vb¨3>1&ùÈsF Ü’˜�“Ø­’)¤d(e¯üC2‡I©uÒL–Én€†ådn§¤�*¿ÑiÎ}î£¬c=«Ù3ªè
¼6¬¤.Ñ²
--å¥Ô%Z29Z:"É× |bppÑ8hš½ƒ„u$E�Á�éàŒe0Ãf´'C{:q·e*fÝÑ)øá=‚ËÐÛA3¨çóz¾_ÍzTÊ3Ðê gìäI(µã›GóÌ¡™gûŠ6›âÍ¦ág'•ÍYÏâ0Ùµ€y>›¥-‹e"ó%iîÙ®óàª«;
-àßÈI ’��1*Ð(Kƒ,A6…‚AE�UEˆ DDTDaP¦…¶Zw­etÚŽŒ3uìtªµNít±*N;M?!Ï©:ýã›÷òÞïÝsîw¹÷Š©‡òÓñœF˜uó�
­¹¯Kàp½óéºˆ	¶2\�Ê¦j#[ëÊÆ¦à•)cèö1]…zŒV�ÑûÑi´f¥ÙGÙÀ(�Z!Â‘LÒ¡‚jùá'þ:f¿€¹MÉjµN�Kj�¸Åû9R8—JË•µŸœ·ÈÀÅE%AÉŒ©Kö²ÎÂ¥;I=&©ÇDõ˜¨'&*ÞO°À„[5ž‰Ç¬Œ¥ÜÆà0úëØg+ºÍ#µ¨Ö¬Ò“bñrs‰Ëe¸Uàx¾­³è:[\sæ¶D¹H¦ËÅt‡ùUrQ%U×*í4=1M3Mõ£©@®¬ÔÑÔÒå¯[œ’žøu<¸ÌL¬t6h™Mkq0B+´ðü5–Ái¬ïËý¼.ùø¦ããJV(1¯5�¹úbN†èæp×Õú¢ÚàTèÙ
-7ÙkÙ€YÎˆ™ÌâÕ/áMMW�Ž�°àne½j7:#7¸«Ð�í³ËoW2ß—áX,/]ðIZm¢¢5ps5<nÒ‹ñX¬?ã±Èœ.’‹…ftá´ˆ¿A_.0ó�ó¨÷¹àýE4Ân Ú¶jÙ
bE­G”­
-—J\S½ñÉ‘›8“ß�5‰XÝê²J]VÉÇj½±ÊŒ¬”‹•j¥†ZaË�-3·PðK(ú%�F¸
ÛäÀv»×ÅhÎÚ¢L÷#|úkå~–Ž1ý¿¸;ßü¿á›Ð§Ÿ�úc£ÞØÐ*HóF¹Øhèî²©šF—3q§ù\ûçhl�ƒíëÅ2ïç(×”zãƒS™(™¸Å·£.õß‹oÞ '
x4¸øïwf5è‹ízs»&kp^Öë‰º—­÷QÔïDÏ¸¬¼¯BqŒ$zù¿‹ˆoÇƒgŒ‡^ìþ?Ñjö$JSûˆfgG³wŸÃu¿�>`Ø÷k€}jvw5½µ~w›ß-3Åxq‘èc�‘ìh%‡Û¢I4'Lˆë�l‹‰x"OŠƒÑfØŽàqÔÙqTo3«ÇÍÈ	}qBÁOpSÇ_‰;­½ÄÚÕb²£¿õó¬�rà{k¶š CÂ‡[×Ž]r½Í¤=Ÿ×"[×f\�`¼¦.o„oë�wÕä=C}ÊœžrVœ:DÕÆwâßâ4íúýü7Úù/é§ÔãÇTìï¹„©ù¨û÷¹‹ß8$~Eù¿cHOr@'
ÊÛ±ž›ÛoiŒ7í
	{
ÉW}úr|†R_×'ÄQÑÊàìÿˆ/Ä_Å§Ñžúï
-¯8~K	Ÿ¢’M3¿CQÿ‚cy�xÅ!ù/:¨^àe~†ÇOñø	'xšã¼î�£AJ‰cøœ§ŽòxGøšg!ûES‚Ã¿Ø¿§¢]¼Ëg¾M;¿A¿¿J™¿HµŸ æÄM£òŸÃã¨|áês^ÏâñŒëOóOÔ'ùš'4òãr±_‘šem/OñÔÖxH4ŠÓ0?K`¿'N¶–O¼éöÒ
^‘’÷…q¾µ/¶ö%ÖkÝIgÜãc¼L3Ç×„Ç£\î^<öðwÇZ£sœz8{¸ÍC²òšÿ>U¥#ÞÂÓ¶p>-\_È·Vn9mk©Ãêq�Ÿ9 �ñ˜MÊ^5y˜¯Û…ÇCxìäe9¯ívÞ®�¯ªÇ£N]¶ÆªØ¢7î…²É“÷`½Q&ïÒM5|ÍzØëÄ�âÃþ+âx¢Í&Fo/¯»+r¬P§wÜ¯&uüåV<¶¨ËfýQ«O7ÅdU0fÂ˜ãFë/µþmq‡OoóËÕ²´Rõ–C»5þË`/Mu«ÞmøÏ&ÆüÑÄ´ƒ×­‹,xù°ŠÍ}TyŒA0†ÈvŒ10Æ»2&Ûù4U˜c.ŒE®µå*³ŽÛÛbzvÉÐÓ®ÜWMÓ':¹ÅSmñfbŒ�$Ž‚½‰ã°õ¸Ý|æJH‡Ù^¬8}­|ŒAö0DÖ+â&s1ñ¸A>æë�y�æ`P�ÝlYºÆŽfªÇhÓUÿªøÊ“-gâç®Ýç\»O¥´­&ð]WòöÙn†½u‡×ÓîzÉt?8ePÛÇ�¸N]ªåãZu™E`]
eºOª<9ã+ìbŠŒ^.Ã“LÔõoÇÃo�ãdñ3®üýŽÓÝ®ÜusJ~ëÕL^ÙgªÕ:Û[.¼"X½í©Ÿ=•Ák¬°*aM„u%¬™°æÅ8ÌÇž©Ø§Üîi‚G˜ø
-'A…±‡ç¡Oë�R5ðº�ü¸§µ¸,—òÉ~ÛÉgGûË–Ã<E²ÞÖ9°Ê`
†5$.5/•Gûf¤'+äb¸†©Ç�{‘*—›îÁN›ÁNƒAñ¥h‰Ãd×ã¤ðn¸…$½—5¸Ýâê]ÀBPVì`Ÿ�`v•¿|XE°zÃ:r¼Áð†ÅP»½Øå˜ÖuÈ&â|óQ¦'è‰sÍè¹NÂþnƒþ­ç5ì}¤ß®�®yWJ-I¼—•®ýÅ¤Ð\9™AM!MÆEŠœfÈe7x=ì­ØÞÎ†×ÞðÊý­€U	k²O¯>Ó9}UôlÕ=Ë	ÒËÔ—8mKLd‰Ó±ÄYqnS¹^äkëÄ=$àZŸ-wÕ.”“ê"š"�®Ò7£ädXR*¤L9Ì�×^	¼>ðÀèÝPÙk’o®ÂržN^Ië#?©>ò’šuÕ1þŽþd7_Åð÷’�,É6q7ùw.Ëäå†ê@šN%ÉÆ‘í#È‘tJŠóRÒâœä¬èÓ.'z·+ˆ^É¥Q’Ü7ŠÚ—EÏöåQÐaDäwy)Ó"'õºè–º$²ÓÖEVZ]d¦6G§ÔcÑ1åd¤§~,þ�ó°{Ø²È‹ûÄÆ‘æ¡B/°(‘ãç±úe¬Ú/l³–ý³ÛEiFZ¦gE�´î‘—^¹égENÇs£[ÇA‘ÝixtÎ¸422¯ŒŽYÕ‘ÖùæHí²6:tÙí»4Er—ç#)ë—‘”ùQ´Ëü2öÃÛMrng‰¶ðo¼®!Ç—àu=~3ÕfŠ~©Ô7ÃÔæB9égvŠr“#';-²²²"³K^dd—D§ì~‘Þõ‚Hë64RsÆD‡œ)‘ÜýÚHÊ5]¹Dy.ÁœKœu'zºóz9ˆèöyìƒ¿k\›äÜÌ¢Öx]Í&.©d.aEÔi²zUê‘¡rr¡~í×\²{¤Dznf¤äu�ùE‘œß'Úõ(‹¤Å,�Ôæ´�Y-dŽz:mzÒo…td¡S¹à-‚�ÇÉÿ<šìý!òÿ~�ßKrÖ°f«½¿—¹r2ÃR“åªRN†á2PŸôÁ¥™šQší‹ùšbÃS¬P%È•h¢R–*j©…KéÇ^ÌY/ä,†¡±ZB¿!ä¡èóxÔÞwÂ®gMkY€õb•÷7ùlŽ%fÈÉd\Æâ2—2[,Õ'9xü—ý2�ÎñÌâø“XÓQ¥5	µ!i�X²¨JPB”"±DB,ŸˆQ_R�Y$iÄRboµe”	jë0-R£”N;MÇZKZK‚"ó{¾ïKò-ïû™é™9Ç™¾÷œ{Bî?Ï{ïÿ¹÷>÷Öt§¡ºáCK¬
Å�¤qãÒÜ¸v#÷¡(;–;ËÚ‹,+î¼†-H[0)¸âƒë‘Ç·rC¨K oá²ž]v?uCð_†a/�øâGžxptCòµ¶73w[fU/š‡'ÍÌ“öä‚¼H`/.Î‹óä’=9Ü‹Ö‹eÑ‹eÉ“Å 
ƒq+&%îÂ£D,²�ïfÐçŽÂ4Õñÿ~:Œ½nºrGí	Ë•<q&Oœø„x	üØ©üêáËƒãK3ñå’üht¾\ž/úˆOÿfž÷e!óáUîÀ€Þž‰¡>´-KI™¾™Ž«s¡LÏ
-2ƒŸº(òa=šÕ¨7¼tÂ�ÖpÒ˜û©CU…Ñ�æÙ•ÆÕ•Ç¥÷@ÁÐühpìVþ$¼?äÏ!þSP^Bæù—™’^bjêˆ~%b	.fóÝ4R7…ÒOÆt²ŽI*ã[w|ôÆ×–Ü—a9Á	c-Í}.zÃEoî#ˆûèÅcÓK6r¢'„õŽr` »f Kew–nìy]ŠðµT,b
Íâ›©±øÀC­gL@'@]¿ïƒo�á¥
¾6&œÚøR%ÔðˆÑÄÑÁŽ4Ò(¹9.‚ÉÍÍ�MeÖŸì//”ƒú%¢L'}Y úìÅçïñ±TäBQßL¥tRh#z`q”räŽÅ§îØ½á§¾:ÃWuîˆÁ…dAG£p$Fr'#¸“pîd8y1œ¼£‘„Q£¡$P(9Œ@†ò‘¡ô©!,sƒ™Þ2Í—Š…ü:“µ+5‰|˜#Ä¬dÞËÙƒ?}f’”T+|iOµbøÞdÃPc,&š”ÅxøˆÆ�h·q4ôq$cáb,…EaEáìŠ >GÓ§FmÃ÷3ø}[äðÍÌò�á-�£|"ñe¿…ëk/Mñ§.þ8â/ƒ�QãM:Ý¤Ó¤2Æq/qø‡q4÷©p1•úˆå>bq<†ƒuÔÆ$úÔÄãø_,rh]™éôt&4M`�
Å— ÜõÃ·–”“3>UçO…Ô$ÓOsM2©¾\ÉÓ$ò4‰ÇVOÏÒó ëId=—8›`É‰YäåLzDÂe‘“Å=dcB§`¹€´É ñ©ú<~9¥š†l©©&MSPóß§ÃI~dÐÃÓhðéäE\,àBÓ	2mçíá�øN,ÈevC§¡‘”î îm‹6Akå�JÃre\¤.6Óòÿ/1-(<
"�>šGÿÌãNäÃ°
-.V’€+/g£ZvRÌ›€ŽG‡¡½ø{o~6{‡Xf:g¹IóLˆ\‚ƒE“AÐ¤kÍt�0.K ´e±IïôÏÍÔj>
f;y±�ÄË¼å€Hä\ç†£}ÑNœïÆùõ8×±ü¼wMgÊ%ˆk4,ƒ´[Ætãr&•3,Jò'á±FWèûÐôŽƒ¼©G¸“ã<'HðB¡Ph)UªV«^Óé©ß=]û™ºÏ>WÏÙ¥þó
5~¡i³æ-Zº½èÑªµ§WÛv¼}ü:¾Ô©³@—n¯tìÙ+èÕ>}ûõ<hpÈ�a¡aá#FŽŠ5.züÄIºÉSb§ÆM�Ÿ1óõY‰³õIoÌy3å­yœŸ–ž‘™•ýöÂÜE‹—¾³,oÅÊUkÖ®{wýûlØø§M›·üyë¶íïÜµ{Ï_öîÛàÓƒ‡?ûüÈ±‚/¾<QxòÔW§Ïœ=÷Í·ßýãûþyþâ¥ËW®^»~ã§ŸoÞ¾SRzïþ/•ý»¢Åÿ�ßÁQF\C†\‹˜ëÈ OÔ
dØMdÜ®î.#o#CoOì¾2ø—eô]	¿‡Œ¿7¼&()
-Ã%	£%c¡a‚ä!F1
&$€‹dIÆ\ÉF*t,�|äHB–ÀÈrIÉjÉÉ{�ò¡då#hÉ—¼ì�Ä|3•Ô’Ü…œã’�¿Iz¾†Ÿ¿K‚Š`è‚¤èGÉQ1$Ý’,Ý•4=|Tß^Þ{f^ëdPø¿ä«‚°
-ÆÌ(³àÌ–´ÿ-kÊ¤)pfC™5cV„•ó%«(¨^£FÍšNÐ y€ˆgêÔ©2œ] £ÁóbdJàR$+†T2Òb•LV åµ~²”¨¤á#FEDŽ�ž0)&6.>aÖì¤9)óRÓ3³s-ygùŠUkÖ½G¹ÈjÉßJ€†ø¬RÂ !)dV$Q&q(‘^¸Hv\¾B¸W¯ð�ââŸˆùæ­[·	»¤´ôîÝ{ÄþËƒ>Òâ×DM4ÑD“_#·c/ùîæc·þ[®h¢‰&O–Ü¿Pjß¾-wK‰=ÀÅ%±9Eö÷¶æn¾c÷÷ÎÛý‚&šhò„JÉþõGív&'Ú±ÿ°¸_•ÐÝv…&ö‰ûÌàçÂO–æ_·ëDÙcÌšh¢É¯‘¿¶oÿ4}Ê;æ‡»ßìútÂçê€#É=D�<uÀºp!š½yUÕÁ4¿jBT{ý‚à\\p×ÖB$_S[�ž:+ lÞ5@éÙsç®Øu^ÝIM4ùMÊÍ›óíÙOe{‡Û ¾Mï!D›EªûCÉ»ÃŸÂ)æ¸àp¼‡@lU¬	’vÑq•Š½Xïl4ÉTœ6 ªÍWlèâdD¼¡8šøœ0õ¡
-âÄŠ	þ>Þ½Ç§ÝTãaÁú•ëvœº§f×D“'PÎm[½ØÎ|ps£î/×‘_©6D6¦n:¬S³™n(ÿg“Ô^÷å=Œµ9æKe{¡î)#àÕ]Ê€ÛíÂç}e€ÞdM+Ú¯ù•j(w��E…$*F6­D+v�½ÓË�ý”7¡¢5£ZU3¼Î*‡QöÅ¢ñƒû�š‘½Iý6î_½þ‹ªQMþc¹ñÕÁÕçƒókbvëà¡6ÜŸIïe(ßŽÛ•í%¹¦ÇÛ%K°o´éíqÅŠ€…å•¦¸	Ý˜PQ›=*´¨´WR²+Ë¿á%@@% j¶‚½H˜ÉÀhs€NÐ¼Š`à#ûÆ•ºÖ•ïK
-GÜÛ7­ã³F»ƒs�RewödèÂBFêfÍ_tN å¾6áhb!?�üYÍv%?+aì�@ï×Uì‡;×5äd÷/íñî¦¤®¯Xz%©¾åYïø–`_He]L±-œ²²œF•€°«¶ö»Ñf¥¤P§››|ŽØ6›W÷;mCÌ5ß³Yhc_l	°]s,í"ÊÚ~Ä
-ÐÝæ„z™Æ£x[n—}»6ªSƒÕ¡v#/¥Ä4·1#9iÞÛ+6ì<¤h×ä7&—�m[�•©P7RÎ
ñi$¯–mÖKÙáRž’cï+Ø�F×­ÈÙNÇóÝ+“ºîZ…˜×E²-`I}sÀh[@”EeÛ<ŸE®€n6=èCËÚôüÆb	p±áÒªº…õ0¶Ú°Ê
-pÂ�ò¸OØ,JV€8kÀNµ-6sPiÁ¾•3‡¸Õ¯×°EÛÎA!Ó­F¹~ª àä7ç¯ksÊÿ‰Ü¿xjÿ¦ýÊ¶KÛ²§‡÷lß°º§xßEVÔ·¯R‹Ù\™pÕ—ÛÚOŽq4KÉ©¶€ó×_]·¶oÑ?D3›Uêƒ–u±Á0ÙªpÒ­nV€ÉVöÃÿb¿ÞÃzÌ¶8€¿ˆ™Tî
åVîJ®ÓH×ŠÈ�\JäZ¢†&M3H’&DD†L9¹t8(¤Æ½t*
R1¢#ÓA¹ÌžŒÛû]kŸçç™çÏ™s~ëÏÖçyßÝï]{ïµèÞD@ 	ØC�É/Ò)¨K¯
-óhI@ÍÜÐ»¢áÿ¬ÂÎûnºUÔ ÂY
-î§ßìã6qÂ4¯…KB6î”N”Úø+ÅíÔ¸MÞ.v½.É²©+ÆYÕU
:’í/¢é¼«wž?0@]PÝòÙÛ]¡$k¡ oå[
-œHUÓÝ]Ð˜€þl!y¥™ÖR sAÊñ¬G�ÍÀ×d•Ð‰Ñ‚‚yL¥€ö»)ð$@4 €}ð¥L¡@X7o^ß Byê£FM-:;3P÷³~<“r);¯°ä…,­�On�?´5QšÊÜì5ªG«Š¤c-�£3;V~[
]é�V~»ÛªËåãXš¿à€ÅújRqŽ$»
mK¬¡U¯KÂ™(û°ö€¶ »pCÀ:zHÝaÀ‚üŸU)¨O€%už!˜FAíG¶iúè? ‹p&@ç.gtˆÈ%@,# �â5c’‹“ËOŸ¯C7îà@2eþ#:tÑ‡N6y²ìßáj½þ”ìöÇÆ×Vì%4ŸÚ«a(H¹˜ÜÂü!ZÕ¸Ð¼‚`.dw¯gÀoš"Hc@ÁAêÎá#ê3@ÎÚÞD"àç`‚HB\«Líæì)XEÀ&
-}XDArCÓ))¯'ÆJúu4³°d5UeO?z&IiãÄ“Ü”Øõe™ÜøÕÞcz™ý~F¬àéHÇ&ªo9‚¦oºà…Òè&ôF¢—{+j_C†€�Jkß1Pég§PNÈã`;¾C—f¸"Ì@?´S+Q´G�ÍÎÚåô¤ 
˜�Ù„€Æˆ¯	0 @Œ"‚1Á
.Ou›9ÛÇyðÚ-;÷Ågr �÷ŽÂ‹·xŽìj:J’<ì?¢]�7Â$Ÿ¦#É½Cò>•ÈÇ^€ùpZpŠ>y`äîŽæ`€‹,PÂÁX\¥	�ôbÀÁ$þ´q/�b8ø	ÀuÖ«)iøÞÄœG°˜�T‰ìÉXG©'àDsö "j"¡@Dµ0…ñâË:å‰Šå-J‹NÝ8Ð‰ü”}²??<é;ÁÆüÕB·¿(ýâ<’?Ü…|ìÞ˜�#ŸZQªcënÍ*Rù;o‚ìâïî¬q•úÔFÐ‘?¢€#ÿÀÛ å€ÍDHä`€Âz�ÏeÇÀLü| ãÁÑ*LF RàBÀæ
-Œ$€�¥Ý(¸1A]
-DyBœ^ÞiÖnÜ¦Û0�€Ýé �÷ŠSažc‡ôïeÝÑÌ´nµOi6¤~ˆŠ�~Ô—U\,K–Wü¸q0€ä|h ‡å)ˆO8¸€_¼d�rç '¦8ÀA™lkÒÃ‚�ø)VÁRª 8¢Ã‚Ò>€Ò®õÐÄVz–Q±ÊÁ
-Ä~õÍTëÓã”7¿Î_ø…l‹;•õoIRïÅùYW~<sòØ¡¸ï£¢‹1÷lƒçÐ.-ëU}÷-Ü!¿Ò”•KWÃXžŒ´Û8PrÕà¦„G4ä À`&�´ÝlçÀ@Šd•HV‰¿µä{@rŠáDÆA€$>Ãà´WÊqWéÇÀqÉæÄ#¾|G@.­Dúpƒ(�ý(Šn½–�íœæíºÀòåñ¯+·µGÇŸ/2v„.ó�;kº«³ã0‡~6v�>ígoú1ùÚIj ¹™•p5øIfÁ;pÐ€d|¨ PòñMÌu>ä(YðˆN$ÃÁV|k’.'šƒù.×g`aÏN{â+Æ!8Ú˜‚áÄT
-l	H ¡9"Œ~s
-D¸ÙÛœži—Ñ‹)®Î‹VDÄ$f–ð¤6>d</þ9÷ZÆ¥sgÏ$%%ž~¹¬�ßÌp´µj×ÒÄ¸¶Á«&Ž˜ôÕYI6‚'ÔbyR/#$ T
ÖHô´É°W
JØ®P”å°ˆþàˆâÅ�=€õàˆr´2ÆòÚ0 @v”"X¦	3ÑJ�5±ÕH(óÐDÖ8ò;R‘ë®«µøÌnœ×òí'húeœMÎ.d³�6þëâÆ™ƒÑß.Y¼ÀÛËc†»‡§¤×NîÝÊPëá¢8ðšV¢Õ@²ó°§M—'X„VÆq`@²ó°ìc4�ôFÀÓ¾€l†�“T¬åà>€¤æä(sb ±��ø©n°cì±›¶k�ˆ-í_gôM­†x¬Œ¹E�ˆ7m~@ØÎÃçóe9müÕ¢´¨àÖ�œìÌŒ«Ùy÷ U”°ÁoÖÄQ6=¬-;´iÕ¢yó–­Ç«ÁæöÕXÍ¶Vƒ¾+”*ðK‰ Ùy6HÀs5H’Ì07Õà¾d§àüêÆ6H|ÃL{b�+¤ñEø“ðF^“‚©ÒS0�3! -Åsª¾KÖ2ï75”‘ïUÝØ¬K¿ÑÓ­Þ{öÍ¾Œ'Ï_/–%´ñ¿÷2Î$ì�Þ±nMHP`@`ðºm1êô×]ÌVû¨Â»ª‚tæK�¦u¾$©Á^	Ø¡Ù¦À"rà`.ClâÛ ¤f´P8€r$‹¨†`»1®²ó�Au5€<*ëur$@é÷2¡glþùˆY+v§J‚CÓ®ŒÜŸ˜v›§´ñÿ¿––<¸w§ ïöÝâ§$u5."È÷7×ñcF4À~à�Q.îGÔ`Åg�X“2Y
N°šW5(éÈ�,Â•Á’w8Èö9Ÿkb²&TQˆo£ä�ÕÄªz�–2Óµ:–’Gl~3¢Ô1ë3þËMGsH^¼XÕ®ûà	^þk÷$^§¹×q>ûþÈhC$îf]8}ì`ì¾=»¢vFíÞät:”Õ§Á6Ý-Û¶nÖ¸�±‘‘qÃ&f�á’­‰ûÂ[ØÁ·&‚‹í4€'£9¸b1Wq¼=À)è\þàñL¢ñ·ÞÈÚœ5R1]¹i±ÚìMN¿YÏñ¾›�Ò­žëmXÍ¤}Ï¡S}×Å^*’¸º2üûã—óËd9mhã�Å¯ÏŸ–>{.I¤ŠŠX´tñ‚¹³=½¼æøø­ŒÜ`�½•™©q-=Uá§¨Á‰Ú|óþ E¶l€wÌæ`	€�Õ˜à$ŸÅÆ¸ãÌ€=þKY+f� †½£‚,Òæè¶@~í°¶o“5Û:x¬ŠË" c†�¢Ô0é`ë</46í±à‘0qÚÂà-qgo½�$�{’±EÚø³âaANÆåsÉI'Oü¦GOž¿þ­UýuJcQfRLx�¯—‡»»§Op\~Û2±ò¬h9KEAfù ‚¢`;fïµ	r?„€‚ÿ5,,Ö& àD *Pde“Ð‚r±-\’WÛ;oòîëh
-näåøä�½’ë~þlðuÏ®›´âàôî(ìÛ}é9¶ª`Œ‚A	žŸÜ½qÕ’ùsfÍ˜1cÖ‚¥ö^FkVïMóqµ³45ÐÑÒP×Ð1²ôÊèFQpKÕ,Ý Ts”	(8ìE@ÁËvt¿QULC)ÆøLbêÑBbO0\VÔ$´zÉÙ·h
-žÔÊåØÄuœckçz�%07é9…eÕO]wúY ø±tÊšC7ßc—£`H‚ïÞ¼xúôñ£§¯Þ~Å"½möÄ®ÖÆºÚªÊªê†Ž)‹wÜú‚ª`¶“¥¡–ª’¼”¨�€€�ˆ¤†GÑ{0²?j+çI6†‚©¨vLRG•fÓ[‚ª`»/²¬npõüû¨
-î
-Ae™”Ür&ïz†îÏÓ,€’ìRúîI-+Îaë_LT2÷I*ë]qC3üœW3uõáÛ_°Ë‚Àß—¸åFÁ(–àÑµó'�=zôÄ±3Wn?þ„!ÿkFMI^VFzzfzvaEó¤%‡î£D½úŠR"‚|ÜlŒà,h×‡ª`‹'JñÀlÛŒªàv�BZ=¨jñÙ×¨
-þM1…ÊŠXÄwn¹…é�ma@I~›°¢	;bóç­ju3ï¤ªÉÎ¾Ã«K:îº‚K¾]ÆÖq£`à?l]¿fÕÚµ·8záæãß
-Þw&D†…„GÆ&§æ–ÖM\qøÍO4ÓMy9Y™À€¬Oå¢3ßÑ�ØÃ–å5oZ{‹#îÔ«3°É˜øçô®»†Õ•æ;[e·-<ð—?Õ¶.Øu
[Û
-þ�»ò·ì(£€<ðùý»wï¿þÁ-¿~ö¬Ùó–®ÛµçÈ¬ÍÿïÓC|üC¢Só¦À^‰¯a�6*èY}G?•mŸ\?wÏ=œ®x>³yÍ	¼-„Ûg0ÛW£`È†ƒÀÿ;­2
endstream
endobj
89 0 obj
<</LastModified(D:20160217132237-06'00')/Private 108 0 R>>
endobj
108 0 obj
<</AIMetaData 109 0 R/AIPrivateData1 110 0 R/AIPrivateData10 111 0 R/AIPrivateData11 112 0 R/AIPrivateData12 113 0 R/AIPrivateData13 114 0 R/AIPrivateData2 115 0 R/AIPrivateData3 116 0 R/AIPrivateData4 117 0 R/AIPrivateData5 118 0 R/AIPrivateData6 119 0 R/AIPrivateData7 120 0 R/AIPrivateData8 121 0 R/AIPrivateData9 122 0 R/ContainerVersion 11/CreatorVersion 16/NumBlock 13/RoundtripStreamType 1/RoundtripVersion 16>>
endobj
109 0 obj
<</Length 1110>>stream
-%!PS-Adobe-3.0 
%%Creator: Adobe Illustrator(R) 16.0
%%AI8_CreatorVersion: 16.0.0
%%For: (MariaJose Barrera) ()
%%Title: (TUF finales.ai)
%%CreationDate: 2/17/16 1:22 PM
%%Canvassize: 16383
%%BoundingBox: -11 -877 1326 10
%%HiResBoundingBox: -10.6055 -876.8867 1326 9.09863
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 12.0
%AI12_BuildNumber: 682
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%DocumentCustomColors: (PANTONE Process Blue C)
%%RGBCustomColor: 0 0.509359 0.790461 (PANTONE Process Blue C)
%%CMYKProcessColor: 1 1 1 1 ([Registro])
%AI3_Cropmarks: 0 -870.4004 425.2002 -445.2002
%AI3_TemplateBox: 658.5 -435.5 658.5 -435.5
%AI3_TileBox: -93.3999 -1053.8008 518.6001 -261.8003
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 4
%AI9_ColorModel: 2
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 2
%AI9_OpenToView: -397 136 0.5 1196 636 18 1 0 77 134 0 0 0 1 1 0 1 1 0 1
%AI5_OpenViewLayers: 73
%%PageOrigin:352 -831
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments

endstream
endobj
110 0 obj
<</Length 12330>>stream
-%%BoundingBox: -11 -877 1326 10
%%HiResBoundingBox: -10.6055 -876.8867 1326 9.09863
%AI7_Thumbnail: 128 88 8
%%BeginData: 12182 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD2FFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFF
%A8FFFFFFA8FFFFFFA8FFFFFFA8FF52F8F827F8F8F827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F8FD2CFF
%A8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FF
%FFFFA8FFFFFFA8FFFFFFA852FD2AF8FD55FF52FD12F805F8272727FD13F8
%FD12FF7D7D5253527D7DFD23FFA87DFD0552A8FD11FF52FD0FF82852A8A8
%A87DA8A8A87D52FD10F8FD0FFF7D5227FD055228282752A8FD1EFF7D2727
%275227522728272752FD0FFF52FD04F827F8F8F827F8F8F82752A87D7D27
%27F827F82705527DFF5227F8F8F827F8F8F827F8F8F827F8FD0DFF7DF827
%52A8FD07FFA84C2727A8FD1AFF7D27F853A8FD07FF5327F877FD0DFF52FD
%0BF827A8A827FD0BF8007DA852FD0CF8FD0CFF5227A8FD0DFF7D007DFD0C
%FFA8FD0BFF282777FD0CFFA80527A8FD0BFF52FD0AF852FF52FD0FF827A8
%7DFD0BF8FD08FFA9FFA82727FD10FFA8F852FD0CFFA8FD09FF2727A8FD0F
%FF2727A8FFCAFD07FFA852FD09F852A827FD12F8A87DFD0AF8FD0AFF2752
%FD13FF277DFD0AFFA8FD09FF5227FD12FF5227FD0AFF52F8F827F8F8F827
%F827FF27F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827A852F827F8F8
%F827F8F8F8FD09FF5227FD15FFF87DFD0AFFA8FD07FF7D27A8FD13FF2728
%FD09FF52FD08F8A827FD15F827A827FD08F8FD08FF7D05FD16FFA800FD12
%FF277DFD15FFF8A8FD08FF52FD07F852A2FD17F8777DFD08F8FD08FF277D
%FD17FF2852FD10FF7D05FD16FF5227FD08FF52FD07F8A8FD19F8A827FD07
%F8FD07FF7D27FD18FFA827FD10FF277DFFFFA8FD07FFA8A8FD07FFA9FFFF
%A827A8FD07FF52FD04F827F8527DFD08F827F8F8F827F8F8F827FD04F827
%27F8F8527DF827F8F8F827F8FD07FF5252FFA27D7DA8FD06FF7D7D7DFD05
%FFA87D5985FFFF27A8FD0EFFA827A852F8270027A8FFFF7DFD042752FFFF
%FF27270D85FFFF277DFD07FF52FD06F87752F87D7DA27D52FD04F852A87D
%A85327F8F8F8287DFFA8F8F8277DFD07F8FD07FF277D522727522727A2FF
%FF5227522727277DFFFF5227273536FFFF5252FD07FFA8FD07FFF82727A8
%A8A84C27A87DF877A8FF7D2727FF27277DAFFFFFFF5253FD07FF52FD06F8
%7D7DFF52272752A2A8F827A8A82727277DFF27F87DA8525252F8F8F8A8FD
%07F8FD07FF27F852A8FFFFFF52277D5227A8FFFFFFA8F87D52277DFD05FF
%2777FD08FFA8FD06FFF8F8FD05FF52F8F8A8FD05FF27F84CFD05FFA8F8A8
%FD06FFA852FD06F852FFFD06F852A8A852FD05F827A8A27DFD06F8527DFD
%07F8FD07FF5227FD06FF7D2727FD07FF0027FD06FF7D27A8FD07FFA8FD07
%FFA22752FD05FF2752FD06FFA827FD05FFA2F87DFD08FF52F8F827F8F8F8
%27A852FD06F8A8A8FD05F827F852FF27FD05F852FF27F8F8F827F8F8F8FD
%08FF5227A8FD05FF277DFD07FF2752FD05FF52277DFD09FFA8FD07FFA827
%27FD04FFA2F8FD06FF5227FD04FF7DF87DFD09FF52FD07F827A87DFD05F8
%287DFD07F8527DFD05F852A827FD08F8FD09FF52277DFD04FFA827FD06FF
%A827FD05FF5227A8FD14FF2727FD04FF2777FD05FFF8A8FFFFFF52F8A8FD
%0AFF52FD08F8007DA8FD05F8A827FD06F8FF00FD04F87DA827FD09F8FD0A
%FF7D2777FD04FF277DFD05FF2852FD04FF2727A8FFCAFD14FF28F8A8FFFF
%5227FD04FF5227FFFFFF28F8A8FD0BFF52FD0AF877A8FD04F84C7DFD05F8
%527DFD04F8A87DFD0BF8FD0BFFA82752FFFFFF5252FD05FF27A8FFFFFF27
%52FD19FF52F8A8FFFFF8A8FFFFFF277DFFFF2727FD0DFF52FD04F827F8F8
%F827F8F852FF27F8F827A827F827F8F8A852F8F8F8FF7DF8F827F8F8F827
%F8F8F827F8FD0CFFA82727FFFFFFF8A8FFFFFF7D27FFFFFF0052FD1BFF7D
%F87DFF5227FFFF7DF8FFA82727FD0EFF52FD0CF827FF27F8F87D52F8F8F8
%27A8F8F8F8FF52FD0DF8FD0EFF2727FFFF5252FFFFFF27A8FFA8F87DFD0E
%FFA8FD0EFF7EF87DFF27A8FF277DA82752FD0FFF52FD0DF827FF52F800FF
%F8F8F8A852F827FF52FD0EF8FD0CFFCAFFFF4CF8FFA827A8FF7D27FF7DF8
%7DFD10FFA8FD0EFFA8F8522752A82777F852FD0FFFA852FD0FF8FF52F87D
%52F827A8F827FF27FD0FF8FD10FF7D27FF287DFF527D7D00A8FD10FFA8FD
%11FF27272752F8277DFD11FF52F8F827F8F8F827F8F8F827FD05F8A87D52
%7DF8527D52FF27FD04F827F8F8F827F8F8F827F8F8F8FD11FF7D005227FF
%2752F8CBFD12FFA8FD10FFAF27F8F8277DFD12FF52FD11F87D7DA827A87D
%A8FD12F8FD12FFA8FD04274CFD23FF27270DAF4BF8F8522727FD10FF52FD
%12F8A8FFFFFF7DFD13F8FD10FF7D5236A8F8F8F8535252A8FD20FF2777AF
%A9FFA8FF527DF8A8FD0FFF52FD0FF8527DFF7D52FFFF7D7D7D52FD10F8FD
%10FF275236AFFF527D527D277DFD20FF27A8FD04FF7DF82727A8FD0FFF52
%FD04F827F8F8F827F8F8F827F8F87D7D7D52F8FD042752A800F827F8F8F8
%27F8F8F827F8F8F827F8FD10FF27FD06FF7D7D7D52FD20FF277DFD04FFA8
%F85227A8FD0FFF52FD0FF87D27FD05F827A827A8FD10F8FD0FFFA852A9FD
%05FFF827277DFD10FFA8FD0FFF27A8FD05FF287D27A8FD0FFF52FD0FF87D
%28FD05F87DFF7D7D27FD0FF8FD10FF27FD06FF52527D52FD11FFA8FD0EFF
%277DFD05FF277D00A8FD0EFFA852FD0FF87D27FD06F87DF8A8FD10F8FD0F
%FFA852FD06FF537D7D77FD10FFA8FD0FFF27A2FFFFA8FFFF7EA827A8FD0F
%FF52F8F827F8F8F827F8F8F827F8F8F8277D52F827F8F8F8277D277D27F8
%F8F827F8F8F827F8F8F827F8F8F8FD10FF27FD06FF7D527D52FD11FFA8FD
%0EFF27F827272705272727F8FD10FF52FD0FF8A227FD06F87D00A8FD10F8
%FD0FFFA827FD08FF5253FD21FFFD08A8FD11FF52FD0FF87D52F827F827F8
%27F828A8FD10F8FD10FFFD07274C272752FD20FF7D277DA87DA87DA85252
%FD10FF52FD0FF852FD0A7DFD10F8FD11FFFD04A87DFD04A8FD22FF52A8A8
%52FF527E277DFD10FF52FD04F827F8F8F827F8F8F827F8F8F827F827F827
%F827F827F8F8F827F8F8F827F8F8F827F8F8F827F8FD06FFA85252A87DFF
%7D7D7DA87DA87DA8A8FF52A2A8A87DA8A8A87DA8A8A852A8FD18FF27FFA8
%527D527752A8FD10FF52FD10F82752F827F827F8272727FD10F8FD07FF52
%522727A8774C27525227522828A85252522727275227272752522777FD07
%FFA8FD10FFA8FFFF7D53A8A8A8FD11FF52FD10F8277DF8522727277D7D00
%FD10F8FD08FFA8FFA8FFA8FF7DFFA8FFA8FFA8FFFFFFA8FFA8FFA8FFA8FF
%A8FFA8FD09FFA8FD17FFCAFD0FFFA852FD11F877F8522877F87D27FD11F8
%FD2BFFA8FD29FF52F8F827F8F8F827F8F8F827F8F8F827F82727F8F85227
%2727F8F827F8F8F827F8F8F827F8F8F827F8F8F8FD55FF52FD2AF8FD2DFF
%A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF
%A8FFA8FFA8FFA8FFA8FF7D52525227525252275252522752525227525252
%275252522752525227525252275252522752525227525284A984A984A984
%A984A984A984A984A984A984A984A984A984A984A984A984A984A984A984
%A984A984A9A9FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8
%FFFFFFA8FFFFFFA8FFFFFFA8FFFFFFA8FD2DFF140E1414140E1414140E14
%14140E1414140E1414140E1414140E1414140E1414140E1414140E141414
%0EFD56FF0D140D140D140D140D140D140D140D140D140D140D140D140D14
%0D140D140D140D140D140D140D140D14A9FD55FF1414140D1414140D1414
%140D1414140D1414365A8584855A3614140D1414140D1414140D1414140D
%1414FD56FF0D140D140D140D140D140D140D140D6084FFA8A984A984A9A8
%FF84140D140D140D140D140D140D140D14AFFD55FF1414140E1414140E14
%14140D145AFFA98514140D140E140E141485AFFF14140E1414140E141414
%0E1414FD56FF0D140D140D140D140D140D14A8FF14140D140D140D140D14
%0D140D145AFF84140D140D140D140D140D14FD56FF140D1414140D141414
%0D14FFA90D140E140D1414140D1414140D140E1414FFA9140D1414140D14
%14140EFD56FF0D140D140D140D140D14A8850D140D140D140D140D140D14
%0D140D140D140DAF84140D140D140D140D14A8FD09FFA87D282827270028
%527DFD42FF140E1414140E141414A9AF0E140E1414140E1414140E141414
%0E1414140E1414FF5A1414140EFD0414FD09FF522727527DA87DA87D5227
%277DFD40FF0D140D140D140D145AFF0D140D140D140D140D140D140D140D
%140D140D140D1414FF0D140D140D140D14A9FD06FF7DF8287EFD09FF7D27
%27A8FD3EFF1414140D1414140EFF14140D1414140D1414140D1414140D14
%14140D1414140D1484A90D1414140D1414FD06FF7DF87DFD0DFF77F8A8FD
%3DFF0D140D140D140D60A8140D140D140D140D140D140D140D140D140D14
%0D140D140D14A9140D140D140D14AFFD04FF7DF8A8FD0FFF7DF8A8FD3CFF
%1414140E141414A9610E14143D14140E1414140E3636140D1414140D1414
%AF14140EAF5A1414140E1414FD04FFA8F8A8FD11FF7D27FD3CFF0D140D14
%0D140DA914A9A9AFA8FF84140D145AFFA8AFA9AF14140D14A8FFFF840D14
%5A850D140D140D14FD04FF2752FD13FF2752FD3BFF140D1414140D14A9FF
%84140E1414AFAF1484FF36140D1460FF363CFF85143614140D85A9140D14
%14140EFFFFFF7D27FD14FFA827A8FD3AFF0D140D140D140DAFA9140D140D
%140D85FFAF0D140D140D1414FFA9360D140D140D14A8840D140D140D14A8
%FFFF2852FFA8A8A8FD05FFA8A8A8FD05FFA8A9FFFF277DFD3AFF140E1414
%140E1414FF841414140E1414FF5A1414140E141414A8AF0E140E140E14AF
%A914140EFD0414FFFFFF277DFD0527FFFFA8FD0527FFFFA8272E14FFFF53
%28FD3AFF0D140D140D140D140DAFA8140D140D145AA90D140D140D140DFF
%14140D140D14FF840D140D140D140D14A9FFFF27F852A8FFA852007DF852
%A8FFA852277DF853A8FFFFFF5252FD3AFF1414140D1414140D140EAFA914
%0E140D14FF140D1414140D85A9140D140E60FF610E140D1414140D1414FF
%FFFF2727FD05FF52F87DFD05FF52F87DFD04FFA8277DFD3AFF0D140D140D
%140D140D140D85A8140D140DA984140D140D14A85A0D140D60FF360D140D
%140D140D140D14AFFFFFFF2727A8FFFFFFA827A8FD05FF5227FD04FF7DF8
%52FD3BFF1414140E1414140E1414140D85FF3C0D1414FFFD041436FF1414
%0DA9FF140D1414140E1414140E1414FD05FF5227A8FFFFFF5252FD05FF27
%7DFFFFFF77277DFD3CFF0D140D140D140D140D140D140D3CFF600D14A860
%0D140DA95A140DA9A8140D140D140D140D140D140D14FD06FF52277DFFFF
%A8F8FD04FFA8F8FFFFFF5227A2FD3DFF140D1414140D1414140D1414140D
%36FF850D61A9140D14FF140DFFA9140D1414140D1414140D1414140EFD07
%FF7D2753FFFF2852FFFFFF2752FFFF2727A8FD3EFF0D140D140D140D140D
%140D140D140D14A9850DAF14147E850DFF84140D140D140D140D140D140D
%140D14A8FD07FF7D2752FF7D27FFFFA827FFFF2727FFFFCAFD3DFF140E14
%14140E1414140E1414140E140E14A9AF84A90EFF5AFF841414140E141414
%0E1414140EFD0414FD0AFF2727FF27A2FF5252FF0052FD41FF0D140D140D
%140D140D140D140D140D140D147EFFA985A9FF36140D140D140D140D140D
%140D140D140D14A9FD0AFF27275327FF277DF852FD42FF1414140D141414
%0D1414140D1414140D141485A8FFFFFF5A1414140D1414140D1414140D14
%14140D1414FD0CFF52F8275227007DFD43FF0D140D140D140D140D140D14
%0D140D14A8FFFF8436FFA88584FF5A140D140D140D140D140D140D140D14
%AFFD0BFFA852F8F8F87DA8FD43FF1414140E1414140E1414140EFD0414FF
%1461FD05143684850D1414140E1414140E1414140E1414FD0AFFA8210D36
%7DF8FD0427FD42FF0D140D140D140D140D140D140D140D14A8140D140D14
%0DAFA9A95A140D140D140D140D140D140D140D14FD0AFF7D28A9FFFFFFA8
%525227A8FD41FF140D1414140D1414140D1414140D1414FFFD04140D14A9
%AF84850E140D1414140D1414140D1414140EFD0AFFA827FD04FFA8F82727
%FFA87D7DA8FD04FFA8A8A8FFFFFFA8A8FFFFA8FD04FFA87DFD10FFA8A8FD
%16FF0D140D140D140D140D140D140D140D14A9140D140D140D607E5A5A14
%0D140D140D140D140D140D140D14A8FD09FF7D4CFD04FFA8285227CAA827
%7DF87D2852FF7D4C52525277272752274C52277DFF275252522752522727
%7D277D2752522752525227A8FD15FF140E1414140E1414140E1414140E14
%14FFFD04140E1484A95A850E140E1414140E1414140EFD0414FD0AFFA827
%FD05FF287D27FFFF7DA87D7D524CFFA8527D524CA2287D5252537D277EFF
%7DA8A27D52527D527D7728A25252A8277D7DA827CBFD15FF0D140D140D14
%0D140D140D140D140D14A9140D140D140D3636607E140D140D140D140D14
%0D140D140D14A9FD09FF7D52FD05FF7D7D27A8FD0BFF7DFD35FF1414140D
%1414140D1414140D1414140EFF60615A615A615A61A9850D1414140D1414
%140D1414140D1414FD0AFFA8277D527D527D5252F8FD42FF0D140D140D14
%0D140D140D140D140D145AA984A984A984A984A914140D140D140D140D14
%0D140D140D14AFFD09FFA877FD06524C7DFD42FF1414140E1414140E1414
%140E1414140E1414140E1414140E1414140E1414140E1414140E1414140E
%1414FD56FF0D140D140D140D140D140D140D140D1436A936361414145A84
%360D140D140D140D140D140D140D140D14FD56FF140D1414140D1414140D
%1414140D140E1484145A60146160AFFD04140D1414140D1414140D141414
%0EFD56FF0D140D140D140D140D140D140D140D140D840D14848513603614
%0D140D140D140D140D140D140D140D14A8FD55FF140E1414140E1414140E
%1414140EFD0B140E1414140E1414140E1414140EFD0414FD56FF0D140D14
%0D140D140D140D140D140D140D140D140D140D140D140D140D140D140D14
%0D140D140D140D14A9FD55FF361414143614141436141414361414143614
%14143614141436141414361414143614141436FD0514FDD5FFFF
%%EndData

endstream
endobj
111 0 obj
<</Length 65536>>stream
-Þà¹¥ì·K¤µ-rF\`õ«;7Þ³ì|,È¥/Š_~®DûÝ„®¬S<Í[ûÌi‘½K?¸¹vË;�Z˜£ùœ¼ˆ2Æa“F|AÄt|w´Ëþ´Û›¼šsœµgØF¹Ä3¡êˆÞÕe7¾X­ÿz.†XÌÍI?3Ï×ÕÙüÿÐõ¦[ÊËºîÔE bßÓƒ€
-*�ô"*vØ‹zÿk®5jîïìýçIËª12Ì„Œˆ·Â ¿cø-Gê? ßð®;î  wKMîÐê|#¨ÖþÁ«¿�çO?\:åjç®ý Ú#ž¢¹¼á|Hœ�j3ÁiW¾�R‡Äì‘zN–ŠÍoÏá£€N�÷+#9n,:•óTÈ‘¼1^î+Îh½ú,FµZeÇ‹rå‰�ã:PØjbJ®	ŸQpm“á�`È¸10u­>0'bõ?àïð!ì|
-w½»Á¯hSÄ°à?Â7!~L/|4$gŸb¼}íÏçæËFaB¿´jï^UÚÝ,—7ˆ+-ºE˜ò
O—ïy…—ª†Éu"‹ú†°O¬æƒ=ôŸ¤ñì“Þ©Ìz…6Âæ8wÄôcjÁ,ªô;Ã¹Îæz·*K«ÏÊ?ø*Ë·d]±7Ûçâ±ZW"x^KŠôŽ—,Kš�Ë€4Ó p`‘]Ì2‚å8ÖÖaç¡Ì¸(_¢#ÚšØQ³?u¤ßrCqˆ(
µïØs“õ4ÓgÖ<fÀôt¥£9V +9³ÓÛdÛ«—’ì„éÕÞ‹GoB
ª½�2©ÐåH*ÿƒG«¼KŽ[ÃˆcoµŒV�n'\<4iî÷ù»í6á“d=»¾±ÈŸU½ì5#U|�×©öÒìeQŸÜt¼Þ=þ€Pƒ¡±µÇý,¹™pÌitÅg=€#jß)<}¨VÂµÈD}0¤
-¯²»WndwY,“ÝY¾D&…Jñü€—t\ÙþþkföÖëå‰Ãà]S²£ÈOf³³´•Íœ§°zù%	ªdí¼éØ¥ç…‰L§Z™ðE³;jÎÎ8»tÿõ”‡ÌRÞŽ{[¼#Sò5—íyÂ:R}jr)qMë„Y+ôt—XøƒÐÏ¸}úq{ý)á÷S
-þƒ3+~v»Û¦·]�ÄÙ:¼>ÊQ�[è‹y½¸6>šÉ™«£$Ø¥?5 Æ’Rg°™G÷:áo‡üHÚbUNßl Eq¼°4][¯‡Ô4¥6;a>û�9ËŽ g†mwj,‰“ûº�½‰còbô¤’Çrù|v—ü?HÖÊeÿû�èÀ�×§“[yQ*…ŽZvÓï�eµ�Ë3òý3"$€e± ƒÉh}?Œä•úäŒ¨œÅc×Vêì»C´Ðèá”Z;0Ä½ÇqxÚOq*šÍpjUZaŸ‘|ÅüPÌà¢³Ÿ¨hX®Ð"2�(DrO�p8
-ûcÁ5`·Ô.ÓmÀè¹Í<v­Õe×:ý©-ê±ß)á“ñàÕ7aBçO)rX¿�hfýd9ši±»ªQZê³ÖÃ{[�Á‚f0ÁØ0²+¨ì]Bñ]ÂlÞî]´dG²îLcx›Ÿ§° OßÐ~
§ÿ`g½�ãJÄ¶»ÅóÁíü!RÛ¹Óª[sbèj[£3•ŸÅ:÷Nj‹Î#`>/âhà-çf0™/™Íºì£Û�¼-GAå%lÑ[6Ñ¨ h9:±ÈfÔ–�IUµ‘Ú6]gs(wx'Wj°Ô¾
á¦—Å]ÓýãúvÏ¥õ½«iÓÛ?ˆq\ž•Ã1ð9ñèUÃÎÑ�ûÖÖib®œ9P‘¨2·jà#^›­ÜpˆÞ¯,®—\w:e8‘O¤>‹“q)&èÊ�ŸˆÐŸça™2«p»ò@ d‹²�*º2µŠóî%ÑÝË	Éw
¤ºhþ0ëØ�Ò®�Ž_IÛ¹-�ÿà÷;‹Ô8œ@øž]Ü#A_lGÑ÷z½Õð¦¸WÖ…Q3?á
÷ÅôKC§K]}µBÐÚÂƒ}ÈbËÓ^BÇVh!Íž@ZÄÆ]3î�:Ï†ðêÌër‡TJÝö›RÙ°ýî•¶Xa›^tî­EñÜn¯“ÒóÕe“#
-q³´ÚnþÁRO×€=œn^M_?„†¯fÈòUµkçÌqÛ‹'C Òz? }¸
ºÄ{:¬¢õ*—ëÞ™'ØÅ4ÔqÉÛö™¹ÐÎ‡[³U<�üæJoìšÕüðÖˆÃ5Øˆ=¨!Lãa}éuÙØmëíþ¢\S]s\ƒ€×¼j4¯YSEœùâ,æôôËJéå*ûíËúßWí�ÛÇrï¬Í'�'¥ßµÇìˆ7A>/ŸÆ‡…
-dðµ\›]siCäŸi
žÅ¹ªU©d~¿ŠÅ<Qy¾âô›z…Å ü>^�eÏårå<°í”»!W*â·ÈÏ½8Ù{$8™ö
pB!8)k‹àGMâ3—â0#`1ýv;™’éLlGB­w³9§íŠÿ¾­TÂðâÙnÃ�8+w€ð˜kÖð«†œ{Ù»Ï¥aèƒÅuûÞ·pŠÃ
-[h¯)1¯ÁÎ,w]¼79¬Í=@`¦�YçX€,Tm€‹w€lñÙ�¥æ,ƒ¹þ^�§óJœ³äoŠéº[±,÷=ÞZZ¿Â¿F=4÷¦ñaTDa�.e+ÖÉ¡�RcgI¹"Ü^eŸaîÅj5<Žµzš¿äŒRî^4€sU!€Ê.V€’*ã–
Pr-Î°þÔtœý–oE%!@�¢ì½±G”þÍ,~‡?¸Ú)X…œªZ˜?Jàæ�Þ²û+I�{ÆyÌáÆS°vA�ÜeÖhìkÇRÕî�2«[¯ÌÅ'×<\é%9¼>€^%ý|5X¨d€Šä¯š|EP„Ë@!×^ïoÁ*ü­±ÿW°Ý}Ë‚'õ`í£ËÊUÎ‰xtä²Ï2Ž/zï:;xìú°.'D;¬œ:�vî]­&–JáäU8\?�œyžòPMê²ý¯…ÿ úÕoGÙ¤Ð…ø–ÙŽ«mŸßBÛÙé$Û,šÊ`+ÿkòã«ÐšZêJ†îã«„iÊ�ßBÛí+MYì[¿ iÚ/0_E±?2øÚ·Ðö«ÛÖ¿e¬ÌW·Õ�6·Ô-ÞÞ)µ.‚ÏÏ©?ýš„dxŸ~]³žÌþ±z2ö’A}þ‹ütôø‡_|-Ë¦×§Ù«¼˜¡"e@¾Ö.æ™��]†à™ÙØ,e0»_%´—G|åeã«Úî­Ì®¢ÿ•—W)µÂ·O¿Š¿³ˆøå6ùô18Ú…GQI÷„�vÒ�¿Áó³8ÃõüT¬íé·’?¤éú»v/&³kž¥~iï>þ®¬ü]1ÚÊÖ‰)gKÄ˜·Ì<ð[³,~uðÓ¯>Ì H)©ÚÓ¯¨Ö3/¨îcpPƒûª£F÷Šnlo1žnu;~\÷d¡p•ÞÃv†´mùŒòfÃÎ¿$}0¾¨…çæÒ]×g£ìDgd£,ÿ�¾ËL_ÃÉ4}µñÌP5|�Ï®ƒ±ng¶>£ÌLîô­°¾r}=u³lÿÊsê|„õYÿQ”ƒÑ�?â-†—ê­n-Í«”.�kË=8­Î—þc6ŠÐãŒ¬´âé>�“]“G'|—‰ÛúxG´ŸÀÊû?àï�¾ö#}×wjöj2Î`‰é»ÑqÓwAŒÒ×TÛ¥¯òúöüÜ×ïG8ö
-÷QË©ÞÐºÊÁ“¼œŠ¹þRk£ó‚¥3jÂêé�ÑÖÉ~ŠÙ,'Â™E‰ûYî@xÜ�A“,Ùç?p1Ù�E{¶k:ñr;ýá¶ãa|fÙE¬ÐÿBú@+}oÞÓôímFé§Û×ÓŸ¹ýO¯½ÿêÉWâúˆ�õý&îèçµ3¢òçÆTONwÒMÞ¾C$¹ƒÇ�htÏGéÀ3OýP)€ö~sÀ‚}½C¯w’'w­É6Ý*°¼íÎfäæ®?¤µËUÝpõ9÷6+¶^XE¡tˆ¢ak¹ŒŠÉ,üCúþtŒÌ²Ž”~"RxRÉycýþñQí<’k÷V;žR!º$Ìyñ:Ã¸¸�ç—æn¿û ?à®=ì2[õDññf¤]ðÚæ!9Î†H£Åúåž7kº–KV�ÔLW}ÜªFK÷‰/×;Z·‰9_¶óxÑiŽ7ÁéHo�o®¸®þðí8íŒõÐ4§¯\®a¼róÐå6ùõc�6—ë+‹‰²<ŒnŸx7¥‹·-Œ£…Íê5Öïþ]ç™^õ?6EB(E|#Ñ—›Yê,'T1wq7þCIœÇƒ’.º�U)8_ºX€°‘è=ßÇ¹G±µýÜ³oûyîµØ¹ZŠÿÁÀíìý•;…nvòÁ}ßC�«¾Ñ¬dÁSê¸ßÑ¾ß!Z¿?Âe5˜iù¨21ëËº ¡\:ôjm;\tï€DA
�W{æÛc"ð‰Úhí¹’zôzxòšûóBi^È±°.RÁYÍo/&‡pÖ(N¶Ü«ìÖç³ÿ_Í¯²<ûjxáÕ˜ZRÂðáA`ìÞ^:A½ØVYuÆ¥ÅRÐÉ"I—ïÀØn*¾ý<w½õ&@¯·­
çA³9™”ÎÔ]Rœí–ü±ç¬ÙÙÊ¶ÇÙ–{<f�¸	ÚAƒìö±0² ËÈ5Mt4ÓÕÅ˜uÜ³Al„ä¼r4ûíp˜'>þ]^	n²tßòþXAF[s=¢ãYóD¬–Ë—´lO~p+N÷Þ„Óyà×KîrYo;ëMsjÎÎD›Íš„4µ§sÅ°;ã�gi»]dÞZ·ì®4ÍSón<a¦`Ìn›®þn7‡:­-]-¸WØn\Õå©pQ¹Ñéô¾Û=å|t¦ëcí°3oÊÖ:Ô'ÆöW‘ aËVÝÌ<rp¯ÍÏÛ’[7ònw§v²öQ5¬³:B,ø*÷L38{†’áP±n�Ÿ»£{ì'Ô°»Ó<sÕÀXÍ©‘po©åã ¯L*·Ùt'ö÷S©9Ï|å´‰7ùÈ÷/ÿà•/%Þ³:)†IDpÆîÂoÔ�?ÿ«‘Ú.å2�-�ÉyŸ´o¹«¨¶žííèj](`Z—Wõûd²®î�¿5½õC_È§±VìT•×«¶ZAˆ…2±‡±R'ÜËTšŸrr’¯6dÅ¶éüîZÂD{ñöÈ=EË¾Ý¿¸ýƒWž+W³ßv¾Ïã›sÖÖŽ7úšË}¤åÁ„¸…™Ç¿Ü˜y)5§±y.mhíœMB­¼u6/iÃz¿­ŽJ0¦Ät‡Qêl4•RX’“©Ë*0õ¤K¶’ð”ü€â}Tz‹ø¶_Üæ–š|F¬1ñkùÝ„ÙMÒI^b“ü¿}qýÃïís~S€s�áñ,¦cUÃïr¨¼ÿ.5ÉùÒ±HG\§? ­í#ßœí&¸æS­ä‰ ²m7›S98"²ªX¤t‰­¡„6A´§MH7‘#¸“çrò9Ô¶C?Ç¡îTÆÅG�:ÚtT¹>6âG†}¶ûßáþÅí¯BC_Ÿs—Â|I}gvtcyÅò¯”FÞ‚.SnÍÀÑYçl‰^²\ƒ)R[-BÓ‡²Ësùi§z®JWGÏr’FÿªÖ¯3ño	?)dx<œç­ÑêVôFUÙð™ÍWî¬
-\{P‡†ª»†-.‡Sºfhß¿¸þƒçºÃ¬NEð¶Îv]ö3<_WÓ€2
-ãy¥y$gÇC²¬=>2>4oëÅ^k­N¦ûËT!Ð�”9Õ²8»ÚB®tGÇKË Fã*ÚçE°1æ<ªrí˜u†ZC�×i|Ê¢qtóùôg�a‹}M?<;ïì/ì¼ª]Ù×hþ‹Ëîí4Ž±ýðãwµã®êyÞ\Üû¡âçÃëØ­;;ÊFæqÇ¤^ù¡J-ýTcã*­�ŸÈÈ¼�ŠN´…Ü£[ó9âwPç:Ü²7¸å§ÃþãÅ	}žìÜ
-|H;¦OCOz¹˜UinØëÓ¥wÅ¥9òv¢9ª|¥—Nç’eâßáWÌù‡CéÄ9±ìF-y`éÑW½Ri;ž%±—ý·°«‡[—Öª|¶ˆò!ñåk^ÝIÜ¸lÅÉ�Wd½Êï‹rkx~\áoMoc¬×{3LÿñtÔ=+tÙ,»½
6ÞôjÎúFízX™j§yÄýÕ´'ª);gJÜG¿8ýáB5…Å^ƒ×Á:š=Ýe÷ÅØÙiÙsVº»…çcÛx(”Á®„ŽV�\™¢ª0…Ë¾+ÍˆáF°×yR´÷¨A§ Alm€¿ƒ6ËœjÍG:Ñ«£KI³‰@ßžI*>¸$»¬˜í>q)¼„8�Œ“@hdO 0&�“üƒs^–;L
-«¸óöBtLÍü~%4œé`:6_g†ÒÖÑQ¦Þµ+ß:mNròC3;art;œpÎõ8§ý;§
6ŸÁkÙ nÖéu.×¡ö—	BªS¼G\Îüˆ0ô�N hs�ßæ·�2€Ôöû_Ç\©c½"ž`TÚ=bTRÏüþïð‹dd°Ñï7"™9z2Ç¸^™uÍ¬öÇÆ"ß¥”#´e‹àjâû¶¦…Å˜N*àÁI¬¹æt¦–H°‹n 7¥q±×ÄÞ��Ô"°Î„Ägº5ÄIä©`¯=ÏpÚcsgøÁè^	Â€ë]Eû-f…\þ€,!d�,«­Ý‡eï?ßHXBöÆr8>wwS9[1ë¹%':OÔ{²-‘Y”«“P†ÇõcŸãc¬sÈ¹ãÜÖ9fÃæàDÇõË³×¢9€D¨[	>¼ö>[0Æ ;Ë=j–/3t5btÀ»Ï-D-æ()'zozÎ®™L×D|ó‡�UV+�‡ÃÅ³t}0Y¼Þ3MÆÇêJ{R^¡q|‰*ü©ÌT84ôÈ!±>O²�Ž&;Ü*>-ÄÅ5u*ùGwÜõŒ%£:d¢&Z*€²Zö¹'
ñ½©V’oÕ*/¤´W7s¨µÝ­º	¦Gø‡ß¯N,OF'
-¼ñ1šÇ£ÉÒ¾‡¨eÏï‰a	-ú¯<j?œê`¾òsìòi×˜M%%é]³2îMÏ�¼µ}— ¥ÞÏUK{”›n/Èx²|ÿ€ðv,Ââ´Ù�›¤IC‡÷K€Õ…¦A~u0¿Ð=¥Û…�›Ù1±wÐA�»Qäÿá÷	!v€7þ0÷Ž]y;YY½yÉÒ„ûYøåµb„rm‹r7Ò©³‘©æ{J¸z‘wøQ'qÊî…91Äóƒöåã‡…Ô¹Àƒ’º¶‚ºò<éê§í³‹èµbçŽˆÝ/¦c=¥ƒÏ>a;¥¼l÷ÛYlŽµ>à{ÚòÔšÓ¢?g»•ó7ÿ…å¹¢m¿Œí¼ªîg×#³6–ÁËVÎ¥£$åŒx0n—ø�Ò½S�d�$àÑ]fW¤¡G…lÅ¦…r:q0Õ5ëµagÖ®Éí—ÛíÞ�^´|ºk±éö–¹²Ø*Ì—psÉ´‡ÍRèš�5Gíã
-Þ¬o®.,ßz½Ñ‰ÔÚþì(øiC;øÃ�xr�¥ÎÉvºL¬×RÀ•ÓÜf*Tf1Ï£Õ%ÕÚ^·ù£ÞÏf„;L'i{M*nFumòè
-llf÷f£^©ãuIÀõVC‘jÊl“�Éµ.UŽªç�x®êþ¬"¢ˆT¬ã+³Põeg'äÊŽMeEÉ’JM	%Fþ;[^æ»ºysô9}3Ã¾SÕ^5�XéiŒNˆ=Êî—€ê“ôTê¶‰ù¹TDv} í8î-iò—z\SÇÂ²ì~^Ëâ’<íŠÃOû®…1Žëva«TA¤FB†»“?ø6ßin>¹S2€rš–›×Û÷)ÖžW¬Ì2€Ù1xàÊÙÿoS¾>]%\¦¿
ªõœÄò¼lÎÇ§;Íòž×€O;Œ¤
-n�¨f¡k×Íg«.Nõö,¿«�-6›¥¸|,ƒ¼ÒzÎËÜxŽ×v>0Ÿ.—+nÏq_B?$sêgOñ*@”ÊýW ÊI
-PžÎ°Ð¢º±þ0—üoåðŒ¨qO£ÊQÇé¬_]N¶×ÈäÈµ0ak’&S¨c•=TïÞ?`®5¼5µÓO*ä.Þ£ÚZÌtØÕs6_õí]b¬íB/¼b3«g+F|Ð@v?@ª» çV =È¸¡äå³Èë¾�·h�÷²ü‡ÿ´Ð.›«bªFüQÏvg9QôH¬Ê�ì{8b¹ÅÍ½\ílleo÷9+ÁhŸWõÓ 4,ˆ9½ˆ—¶Hûuøo,Ù'@�¥@a+ ,Ç¨ûôô
-t
è5‹‚S÷«ŽâVôˆ.ø�dkÜæS=Ý‹G	ôËß&"ýQ‘©G½ÙÇÆT‡0hµx®Y©@(³Èà6új’»¥=@¶ƒlmäk–Wþ™Q…#@	êý?
-îásy½j¯úm�@gÈö·‡Œwß>ß²à+ñ¿EÁE?ýáÚ¢ð«(æ¿êbñü+‡F_�þ
-ŒË¯ÀØü
-ŒæW`||F‚ÿ?”Ð¼÷m�°LÝ"§Ôjpx~FÒ%Ã"}úÕ$ÿdv•l÷³AÁŸyé9~æesþœNÛoqêå?Jèï«ÿ¾v‰iÚK3ãzî‹ÁW	2xvfaí+0Î._4÷Û½Al|[8`_%t�R:yúbúdâ¡ñÌÂì6ÿ18øÑ£8]Å÷U'9ÞùKþž�Íß+†Û¸ÅX‘Ê©·ºW€·°Ý/¾êhÐÜþƒ¯�“qf^oÅf{_ãGßÂe=³1·È 3\¿:8]I©å´ûÌOÆø£(sô�?�‡÷Š¦Mn“›&ÿ€·º5Ó®{|i_¥t;¿¶ÜÇòÚš·w—„^/j.È]ºaµ}¾ÝÁY´Ó}ÒuOø¾ü?‘¦ëï>»É×Bÿ®XÏ§¾Æ¿‚ýW?gÊÐÛ¯`ÿx2ëùç¾j)ÅÛä:©_¥'ß¹$Ô½t}‰:_X«6
-F–™ï°Ëå„oÎf’
- —¸
x•P‡i'?ÓgþÈ\úÐ1o¬û‡Áã%íWTAÿø÷Cûé«Ý¥¯VJgÖ
-Ý4MöDú*1£oI¸ü•ëí”Z<ÃÇ`»‰oq×Ë2ñKBò·³‘gÞ'|�’t<¬&ÔnÔ:ú­td;æU»w\íþ¡h®Æûv™î+ÎÇÚ	@k±«Öi»TÀmk%Á1lúÃ|N6hÿ6YÛÇÍ8Ë+	Åý!}í\†:™¾¬”¾o�¾Ypš¾¤ýà£}¯bÝÙ%ÙÇóÓýf„‰«ÊÛcžCÅH÷«OûlAy'Íí�¼B?àVþø¶íWéXk@\=ycr¾½ÁÊérý¸L®kR,ÖV9GéE`¼—<º™†›™.‡“Î@üé{b
Ó·®ôÒOùÌ¦û}_vž>Ú¼5¯ˆrÆlašäð†q(³¯ùnGU7[mŸb}ÚK7·÷Üà“YmíÜƒöê3Ü¢+¿ýê­ò^a…$DÅ=«-W¶;_V^ûu{Ýû6ê«ú¢MÖébÉG‡ˆê=JuÕ³Ýt:U÷ÿ…¯yÃôÓyö¿ªíä˜'é1zÔF7ÙRø“‹°ƒCt™]kÆ‰1Z7Ýõ«´\ÿ€« v½DKüõZ®µ2¸¬Þšµp»èCa³5Æ‡D£Èg`+pÿ¤ù·VÃó1µ·ñžPx÷H«Q�Ó®J» ‘�LL§Ì»ÆlýôÙØgµÌW~‡_¤¿p:~åj�z=Ã^?	Î�Î±´êW#ôYÝBË¹žÛ9!Šr5gYs;ë°¹%O‹.(¾¤2)ø–aÕ|œÝu='K=Š{Ò?àÜ»€Ü<sh¢»x`º;˜‰sgU^n>®ÞgqcZ�Õ•c·tj)‡‘k^Ê
ÛÔ7ËDè“ñ‡€Í¥p+)7…lŽ“°ñ¡õ=�e×Ø£±U·ÊëÜÍÃ–“À/”‹eûwN�<±Žsè=æùSRp‡ð½ê¬Â|Û
[Ø,^·¨™0¦³¬ˆ¶l9º•¤‘k©óÜÚ¼æ°«i,6åÐx”hZåfŠÞœ<í“®æ«Ó™ÆBœý‡ïNËé‚Ì3•züAx§ý­9†È
àÃíÕpÌ”–
ˆ‚ƒ+Å�¼y¹eÌr1tÖÐ'ó•³-ž¿Ï«vÎžVÑ²u{-:²°yuŒž‰~ì�ñðWƒ,$šþŠŠ®NW�•ÄÖUëîEuÉK¤ZŠßŠ2a_©FMº%ßó©ð>;¿ø‡ÿ,fRÐä„¼ÉNÏ§Ü†iU{ÑfÚ�ÂCZ/×g¾ãy…ÖÀåvwu¶«†¾Ýáå­òÍÄ¸áÛ˜mÄ¢þ®ku}¾ =×^âZp:±? Â�‘åÛŠZöe<-•Ÿ¦bØ(ÈÇRˆË¦+Kç¼çKšmLHþÞ¾¸~±'°tØ51NÛ÷ÑjÕ+1ËÖFÀàv-V<O÷.?Oè™´ZM­¨ÎM…6ú{ý:ë¹Å)ÕÀÕ.¯òÕsUÙô�-e¾Ñénö¦Ræä£Ù—e¥©YÒYY.$øò:Š7SÌ‹Øñ�ü€‚²@ÞŠÁä-å¯y÷ÿÁWŸ�{wRÙ+Š#oXx?Žì‹] rõ>Ë{Õ]½Êl¿p)ërµE#�Q[g^×¥V”fÇP‰ú>Ý=;Ÿi‹BJ²btÒù�Ã’>›Pâí­EË‹$!ÍŸM�âÀ`âmÈÃ$Ÿ7ßãWëŽ‹å«4Š|Öñ¬Ž*6øÂÿCÃT¬u	RÛ!Ù‰¸.I«Ixš]ûþkõÄæÃÍ¾æ4èRÑ†ÜfÎš£±4†V¢¡"¨ãý´õ¯ÒEß½Å»ìD|m×·æw'Ÿ�‹Müb’íþ$?J'ãÁ®¢�V-ÊUT}ÇO®··o1-®¥�ãaÏÜ×p˜ÔÁþnjc©&åmÄ¯‚¤¬ªi(,n�ÇÐ®;ÌÙ†ní«'cëœ93°‘«´‡Çª"æ¾|;ÉxO"!+OÈµs“|
-”ÆChŽVfUž
šºmŽÛ=™k=Tg¨’ûÍÀ`ó·þ}&×ú6Eq?`ßî�N†~øÅ¢oC¤ÿ‡+:]ê‡}®cÄÀt¢FÍ‘/OïÊÍ¹§…Î¦'¹faü,gÐËu[‹X ¯Öæ§é´ãNéÖ„×"‰,ÙŠcä6>/ïQUÐ
-Ü¡LV¹6ƒµ‡ÐÃYÀÁö5MèÒÚdÝÕ+d�qbXéPf
-%»ÏÊŒ•!Z|á3,wü/\ÈòÚü÷‰[›Â›×–�«+ùŸü–s'¼ŽÙHŽ­;Îi‘Þ¯©yÝ›o� #ÐØ¾
-9ÛÙ�¹]ëÂo/î“ë”›Ààº8—ú³ž×`ç˜±€âP? Ã^v<½Är*]rH¯·¦ÖÇ,ÁÅ
-Ô/ÐƒÚxÐ«Ê”ÿÅügzsšíŒUÙZ—'=D0UòóÃ€sZ�™)NÔõÁ”Ì}ë“÷µÒ4�qI8^LER˜8ŒùùdÍï¢û�ë<„ÛÛ�RÖø<Ówêeš›|Z½±üA©í¹Û§D]‘¨&òtÉéŒÜ’ò–%Xþœ 4s”ùJ"ñý/<â$îNÅüÖÙÎ Ðþ­N_Ø =�¯4�³/³.j|VhC�'µÜ4ÉŽÅAH|Uá¾À*5e¼
-£Ù¨~£B®{Ùo³|ß.³gÖK×¦ØÄ>½	“€TódTI!âlÝiB'p�€_ž…ß¼æ·˜õÇ3{:„‚=•ÐÃž¼ëbOÊpþpŒ‰¥ÓÂûÛÓ>)u�Àu\Õ,zh=Ê-L¯Õ†Ò<s2Œ_bïb5„ÂáÖ¯'ÇÉ¨±Ö
N+v½�ýp£>Poï™Ru~é	TóI&ò
- ŒšZÂï’ßÆíÖ‡üqüÄŒ°TÛ˜‹`FÝOOô3[Â¨_éI(ãû.šGåšoŒì?Úôl¾Ž¸Ý,¼h-Ó*¶æ´W�¡9Gò˜6.¼2x€HSÍ4»_¸Y«4®M&(lK¶¨é`_Ì~®¬L¹¬z"¦íÉ“Q»èzñÄ‰]bób\Çzë
-Šš2@ø©¢ì}¼@³ÂY’�.2ŒU^=Bû„GSÕ‚Gœ`þagJfæ„½ÈYØ·–íq¬ªÛ×+84úƒ¦ÞÛ†HG`R�Oþ¸�^œ®Æ�¡µÈ“ýOåÂ³‹e¨Ð›µ{Íë6;“I½Û�ð§üÎb§Úæ‚.ZÑíŸòeÔ˜.Á�p÷¦„”í™oHôoºÕ:\c]gj–}½{ðdõ±õýß"ú€Æ[™ßwwB³œÆ›Ó6½›êÈ²)æž�O`ë9Ä/—sŸ-?rìEÛÌˆd)º‘GyJí=¦$òœ[¸‹b–×nK´h�÷HEÝ]à®ðäÆ×àúâ˜Åcp=ìóÐžØš�ôm¡–O”»ÊaÏv»TEéœÏ©ÒÑ'ñôkþØ	Bôdy~?Å=§[¯jfî
UÉt³\ž˜µ&üÇ*rhö¾…,K¢ëÒ™:Yt�‚R³EbÀœÄ_Ñtˆ,)¡¥ùSƒ·ƒ�7VÇ%ÔvÛîiP¾uO’vµÖ»Ó…NÓ¹ŽrÇ¬�Âz €öƒL‰6!Ô'­W!/ü€-×N&ˆd\ïqz•m»øÐôâqÓ‹£"KOÛ£CA*
æ½Á‹Þî{'Ò|Š1ž›5�¸‘”¯/jÈ¤Ápófõ Nªó?`¹caºÙ~:‹ íPïm›ªöï­÷vSle�ÜbŠs®•[£³æbR¹5ûûU§•‹ƒ§]�r-ìÿ!4—`ä›•+›ÔÒª=‹Ç„ÎË„?"'kIìr×7_éƒ"óéuKì÷.ÜÞ˜Eç¾¼¯:D¹¶]CÎµ>·ÖbÉÔ½¤×,å?|cÄÕ§�jyâÖãÍf]„Î½Þh8¥°¶?6ñZ»HÕd+ÄUuÐ«V.ª�W@ *úuø_¼s-öªƒ÷nvuº‘±¦¢�•±<ztTEdðÉóu¦®°yÒ¦‡tu 3_Ù5�VØ*„
»v8N­jv\/«0û8fKC¼*˜’EBÏî²]ž]²Lš_ò@×(Ñ«bT\T'·"(^* —ð½Â¦–3ãÅëQXïƒVaž�ÂÚÞfQßïð¨ÓÇy“€O¶SÁ7z-:Íäçm!Oâ²:àî�FôKm©ýQ¹°j?áN<´sä%¬ïÆ§b­æ&b^.$RNíg¹î…‰~@àâGgÀèõg@‹œ ¥B�!¼hYhÈ§Å(ÐYÈ­f˜Á²[˜ïòÓ«s>õofXènU*ø¿¢òø++ØFÐ�V¥EäàS>rÁ½ýÞê»Æ$ô—UäxpK,×4ÂŠ‘³c�¬¼—¬‹»FE1€�:wS¥,ÃP;=&^ö}¯0×ì³àÕzÀ�3`·``÷mÀê·ÏS2úƒ{¼¯S›z>ÿ¢2->ô¶ÂãF5D21 ã–:×FìwwUÔê-ÀR¿1÷
-ââm7¬«8ˆkŽñ€‹ºàæ9ðwˆÜfÞÉ|1ˆke�À1ÈšWHd:H4Èfý�­"�Å…ð‹¯n™
3"G?þ#*?ÌÆR¨AGëWTf$®Ù#© ¡õäZé¸ûàÝ¬:Ñ¥ŠÑû]i@ëB€
ìßnœÿ•õÛ5÷Ýýÿ(¸íkfÔt–Mzì¡Õªˆ%=—nßu˜gï=eèñM†çè•¤Ö~ŸË¨\Wv,–‡äüOT&Ó•Nü€¨°µ;¯.þRWñÎàZ\Uå}^e–™w¿öü�5¥ÙæÜáa÷?¢ò£}¨Fïò?"î¶½êþ[¬Èßî»Ë¯žŒ<^ßG�A@~×Þ ‡3›?ü�Lû«ö~å»;ûUB¿ãÂü*¡áW	=¥)[Îý:hãÛ(v8ù­¶u¿
;uÁû<¥¢ÏâùWðýÓ¯ÎOf«<aÓÎ=ŠJ\»ó×
-ža#ß+ìgXÿªVÿoøUï_¡6f¾Ú"ù•CÉo¡mö­«_%ÔÏ0ýV¿¾-úÕÿ(¡nI>™Íš}æ'×Ñ#lÒcp(©�â´afç*êÞùs/¸WôÑê¼Åˆ±¿Õm÷r•^ûÏ%aªõ‹šwé‹ZÀµ»åoÕêÿ™]ûÁÿªŸ*ú’á“-ÍUð›ûÛ½¡§n~yæÇæçQ”œÒ�O¢æ-†vðmr}’·º²×=^ã®RÚ™\[Y0|QL»tƒ¾}6@Î;Ýy1:áñì�¤Âë•¸Íi+¡’êðøQ¿§³!vÿò�#s5fÈŒr¿6Žà½vú^ôW®ÿjö‘ùün‹ûªélnuC:^[3å~QÞ.p¾0aélä“Æxº“ÎÉ.¥h’ŽïDâÖóLBí+Ã£ß®Œ�y­.·®±_áŒ·¯¸ÖvÓµÏNÈ-º»zXf·û!-lå)n[ëŽ'ãòäiªª¿ý“{íz†B)Ûü^Ä÷2ýÝýé�?\²…™æY°þ	_�6	µ�~S¾óŠú:.f~¿BÍÒžÌk»˜œ·vuomåü‹“aÐûãîz=Ü\&€¼Aö¨³¾ËánmwP`•êFså""úØ{*ò‰�Œ˜—Mü!}ýl)W½Zš&ÃjúÂ÷�ôÕ®gé¼Û¿¯Dï|é‰ô˜Pq�;æ§5y¿BÊænòÊÍ·{º¼Ü¶Ím¬›ÇÍeÔ¼l�mó±¾‹Øg�3æfáÚŠºLZ‘ÏZhÄŽì2äËÒ2óÛA¸ÚB×°ÚßVBÚÎ¢¾à0*aÁ´òBƒöåñ_H_‹I_ƒU+}×8}g{J‡ê¾æeôµ:Íc^J«ûÊ6…·ò¨ÈÆ�ˆˆë…èkâ"y+ºa­VÀc—ùý¨ÏÝ®Ëå|-¹)„›RÇ�Ik±ã,t!•7tp4r“@Aû–^n7>Òe?.:sçX¢ÝOçD¹Œ>'Ü<¢á_ü¾"Ò73øÅw÷?�gï¶ÇÂÎÙš÷ó§Ùsû9²§[ºkl…üæÖ]A«÷!íG£(-ùn‡B™_,öº/Úy/	Tys öùíóè£“VÍ{Ô©ŽGÈlþ"öœ÷æ;Ñ
ò9Ëe÷Zì,;e`¶F¸Ž½%LÚ^k7æcÆ:ÀXïéûõÒ_fo²•GOÀüÚ8Œ« ¸“=ð¾UTü´v+D>rr÷…»ß_´O‰ì_wwÛ{¤ŸÀ#ÇõÍ|~ÃOsÚâî¢(}ÜþÊ-:Öîštœ²•'f“bw0«­&’-U=Û:J¹�¥´¼œ©WŸ]ã&‘K:Ü¨?G¹�>ËVéßUdžá¥98“Æ
-;lö%h«Gåê†j×>« ªŸ—c®�[tìvÇÇn3'¬ä.‚¡å›FàT({3Û|âdV.÷Ð–÷�ÝR
- ¥|5«ëóÂ
-„‰,�¾qçö¢�ÇyKwƒ�NÞ�‰�6²T¢È9#eUVx…÷˜Á¾øàªI8•–{êÜA½²Ø\#Yù|(Ý/çà’[½=z´Ü�¿ÒNå°�Ìêï‡i·€oAí×Ê4ôÂÁDôfØ!ñ2ˆáÔÝµXÕ{ãY[ówª±Ò•UÃS)‹.Ô¡6´”Õ-\+U¢ûš
-Ú
-’÷÷úPngç˜”$Ÿ‘”¬îü¾øø‚·¤þAØì™˜”bUž–;a‡ºƒþc¼ºz=uôt‡Ï >³,·NútlšmN3ˆéês¼¿Ôw¼Óú€xÖ
-Áì©r —SKÑ®¬Œ+ç¦R½Ö°©ˆÁŒ|Pè±<íÎMéd¼"	z
-OÑ„
-]½œ0kÚÂ/~@�ˆF£?<K—þèä�nwÎ'ƒõÂyQKÉ¡oÄE/7ðïn¹YºÎšF¿béå1f8¥o­ñ"§h uœ©e4Z(ãÙf3Ý¾wÇ©è½? |,äyºl•¤siHÚ†GÄ[]§EL^Œ„gémä„\Næûõ}’+Ó­qrŒÁFUƒ…‚0Z†�ÉnÇö›K†Wk¼ÅK«áŠÿ¼²ÓrqY<a�9E—�™D^Ï–>«�!=çú*Ï/$¥öà�ióLùrgßZIz»»or-xðž–
-dªÖ&o7„&�Pã–rcÐíªY4ÎRÀo°ó™¯¹zƒÛÑ�>'ÞDé‘kZýÉ®ºŽ�5ÌbjóQ½2��ìày©.—f{1›ÍÈ›G#ÕŽy�mç:êÊ¼eŸE©ÇÖDVÞ]MB¬Ï\ÄGñR úv<ñ"÷4É}ìûxÀÀ¸X8UF<÷jó›¸Šóõ1ä¤©ª�›Õ|Ømt“�Îík¤"1ý[|“¾û7ÿ˜Åc¿Ã/.6Ó÷GE7ù[8Z¶—'Ö§v¶[²!žxš1MtVš¾Õu5j(
Å#eõÀóš%yBšìg¿//Æƒ´ñ�Â��;@–Yðu½ôæ¤}&íN}ØÕhd ß4¶Ç·RŸ—Ö¹	{æCTKŒ÷ºÐŒwfÄƒ_Lþpî…MywþHÒº4ðÇ¡6}<œ@?àì°î•Í‡ÑxêA
;ªëÑ÷Yq}½&Ÿb	•°2>^ÖGš°[Ã—(hÎò:ää±¹ªƒñi`ôÈ{ÿr}Tª¬Ë{ó‰�=†Íf C¾oý€t1ÞÆ½Èz£"AeHÄŸ&Bo…§“?œúDGÙÚ(/¯ª‰;Y˜ïëp^æÈÖvÕ’1_O�tE4nùÜí–$«ÀÀÂ›©3_=9½ãrSÖy‘-8Ã“f³ØYõ	ÿy`{³Í…aõÅ‹÷+�.µïÍÞH¯ãT|p”`
rÿÆÖd9|È6º%Èv““²(_L~ñþ	w‚µØ]¦Q³g�Ãl‡n-F ËÂKe}A^Ê®û<Êç©~�ðú%/Rd«3YX)9._ýlû+¨<<[c€YÜœ�Ç·�é“zL—îßo¥õª§Ö�khŽ<H£ÙN\˜8iù>Ý
-~µn!nÁGÏcGc`„£~aŒŸÆáX¯5õ
{F¦ËÎÖ}fhfÇG2)êTú5~|}MáœHøß
-~IOB8©�+î
-ã÷˜=àºB[Xë­Æ¾SzÆ€‡Èëm˜ÁŠjºŸ™¹£+É¿A�2n^å.Ž™›¥ˆŒ‘îÆÏr±7=½£ó;	¡´¼æPzx¡4ñ}õ¿Ø'RÓ\—ë-åWýöŠã~ß¾È`âCY­[ë—d—­£à+ÛñjQ¼ŽâdTâeSè/¢÷Õ“§Ï~v3™)nkFoòvfTKÆ„¾½¬q+Š�XZ¹?0Jl€è§)4Qïx¡PFe4�]dq›ß��ÌuðµíÃ‘¶åàh¼þáÜ>*g#Ú
+ê?S7¶à¾e�H/>‚ò4YÍ^"�ç�ã5°�ùeì9
}CôÔû¯ð�°½f™’Ûõ„Ç[&OuE'ÐqÝÁ^` ŸOg+Æ²÷3Z»o$ŒŒ*2ä?(RªNxxµ}[ðHZ'pµ¤5!>ÐP}±îCu+`»{Üd~Ó��¹Tæy-èñ¶êÈ«rßìY!¤nËZY6í�Ý/¥u÷ÈO#bÃkØ÷ò�»h�Lk-zœô1êØÌÑ¤¶‰xüYb$l¾¨hŸ¿»ÈÒ¿/‘2X9Àëhð€Çü
-„kÕVÚn¥Ž5[�ÝØ=Ìƒj·½{�ÓàÅtÔtKÿaÍ½ë·7‹·dGª}5²`j9ºÊ”+‰‰ŸñxÎœ‡7a³K[Ð›kÝÛƒË•TŽòÒ87@ÂÚxNÉ�åk‡DÑG„'B¢C»ÃÝ…$¥»†Z]åÜ=^ÎŸ®bâõnÛP�sg¦jÀªƒÔ`ûfCX[—ÈÖ³w%þíëÖ,‹ù_RÅž×HTµÈ©Çjã`Ma™®‹.ùµrÌµÿ!Ñ-SqÇ!yÙXþ*y¼7~Þ0_Ï£á©UGFæ‚Ý˜€ÚhØïBd8é\Þw½ƒ²Å,{m?
-ƒM†ó½mGx±MP¸•C£V¯õ›ŸÄ}5ýìüj2·ÚÌ‹¯ÿÂooQDæNçöRŒÅDbÕæ³KŽW'´pF¹ý€lè¡û^[$—øœ`¤VQMèð—P‡L“®æWž�[ÛÏ2Ôh“iÍ÷Ã^+×VGÍà´W›}½î5ADÚ6–÷Û³Q&©Z}}ÞQõ±¡™µí‘8ÿ€5‘ZWk�xÛ®ØYërìï¶•l�Ï<ÅôBõP1¿èÔG2×Êæ@ëAoåê�xVjÁøêzzË[qR#zÒVƒ�–ÑX�+§C}²­>jû&V¨IG±^Mºs¤ª\lµk¢bå‚¹Nq>Ûò½'½Ëx�¶KNªŒJ”6Þ”¯“+Qu²Z|‡µÊüÅ.Š\¹ßZü€æç¨Z£Ä¥W£�MF)ÜâÌI«È.Ÿ•”:kÕÎ°Í
,%¯�z
£1ê×„*$ãƒÒLøbµ"{e<pø¬ÀlÖSaM=ß…jP/ç·¢Žü€ùÆñ<ÌM«M-×Þ+@+–´Z·hîË¤+[2À úHþ^¿mgW¥¾4–X +=‰ý)A�î<©ÒûJ ‰‘eèh
-ïEåærX°j�JN*½³ÏSØd›
œ¥9ÀéuÀ/B�RH¹²Ï ¤Ò
-€tu@ š˜a»X~H½Ý�ügÀÏ\vïgÃ"ÀÇw€“\ãÿ•gŸîZ¯9[[~îéDeSÄEeêÊöŠØRm<!Íºí[Á;^ÔŽâÒ*;öy
-òNÊç”wƒ�Û)Ë_´Þ(¢ÊÊ|\&1€Ï€“2€îr€å–"€å‡ktÓiÀÀ…`ÅyöÇ/-û»s	ÏP%~ñ+*[ÿ]ïÞh*×¾¿‚ù"BD{í%JR""»ˆÈ~ûþŸ˜ëºÖ}ß¿ïóÏ'ÓšS§Ñfœç±ÎŽ‘®	[Ë‚Ÿ“È¨ÉÇ^ó ù-¹‹|õ°—Ùúl‘¦ð£}Á$FÝ Æª6Í?ü¶5�®™²na+ù°Ž
-˜¼×L#Nb0¯`–D°ÐzX¹qìà6Òu4SÕÇÀÓÇ;àä58¥ßœ©‡€ëV³€kÂb¢þ…ë±Ð¹§Û�MçÙ˜N~í/¾¢r7Õ£9	WŠT\ÆV—#ÒéÄë(ï½7IŠ-åÝÕ,À–¥ÞÔ�>`§³!`ÏûÚ‚ÅRs
ø<ö|ãPüÒ­!«€Àñ 4ðÔ\+Áukôq¢l	»¹/œæPú#*·¬»ûWTæÞí4Ic…EÊð…ìí�ÇµUÆ Å	¸’ûàÀeüGJþÿÑ“ÿ´ßþé»ýÕmç/ œ-âë�ðñßÌlÏ Z1?^ÁÕæg­´I‚Ùé�ûn‚dÚà#ÞÍ¹¯öí¶…ë_-ìñ� �jïÿC	}ÔÔãQË�ÊÇ(Vo?<È±ÂÒëßßê|t÷áÐ¿§õpq“wáúàÑîªß—+ì�àVœÒGeå¢Ý�îE{4ÂsT­G¿ø¶±þýñƒOŒâ?úçW[´ˆ�úµ�GÂÝû,“öqF8Ü^¦œ½¿LéÓÓ»®S÷´fò792¥[¶3l\lª]ÕÃªóÿ>Î˜�b¬OÄ¬t8ždOJ‰<:¹ u¸j°{paö?
«?Ðï»|”Ð�žÜü„WCè94þŒÂGßî~v?»Í¯è–5Ê×«³É˜�rþ‚ôÕÒÙ¸kÄõ˜S÷Ýå�§š!é…Vÿì%¯©vÝkÇmbÅB´t÷ïÎ}¶÷q~ŸT‡°›Wj—.šÿg×ê¿í¬Ÿ?£H~tÐ\6�òÑA£o·­ˆÔïR·¯pRÍ�#:ŸÑazu"&Ùý‘žg/7‡¼âG«”Ž…m)·÷ÑRqŸ¶
-å�|ÎáQÀäèH½cü60i‹øuÕtsƒ.üQ«ðæ£Ž†^jí”arMïµZ‚ž²ºv5ùð¯Vû‰1“IP�?Š8õðÀI8GÔ‚=žªýúÁ…†íØƒý½_ZMvs|õYý' ›mÈ
w›H´�tf^B+k>B"€µSèeÖôfVX¹åYyÅ&ß.ðˆWuùî—›KéÞî/Ó^n»P€
Ùé™rŽúEz’_ü@ßÍ?zræ#/gÒŸaý ‰\dúyZMÆ	°]Ö¦Ù­ö@j› ´�XÂæš³ÎÊ-!^ð0‘i ‘åÒ§áõRº»eÚN?ÐB~
-·y Jïy3eåf¡ì•gH1Ó¨E7§èv2ôãµó‰ƒùœœìm~B_Ùñu`@c—•3_|Deø7Â'ênóÛ!uÑÑÝùxòI³›£Äi«ÝÞ¯ÐJr«kkƒºª,¥ó´º˜3+e‘]žÛó&ñ´fá4çÎô69™F{r>íŒ”Ð?À�Ø·NóÛä\Ù€I*Ç·®R‰°á=§B’[zbù�¦�š.�Q6¦2ü‹|�Íñ	ù´+—¯Eþ™=ÜÛ›û~zÝï¢äù›ˆ»ùk‡=l‚jûy_,š|a^„DrVVûâ÷ÍÈïUÎæä²Ì&µ4ßOä|<ò•pœTÀo²s/ž4<€ÑìuË�dÃ†AI†êîÔvCBòQm {6ß�»Ú·`¶Ô'Bô?�\/ŸïõÇ?ºÜÞç„Wz‹i©ëúª‡«¿]xËúfÎøü˜#ž\}ž?nmiòý–WëMÍÑ"½Œ”˜W|a9l¾ÈÍ°°VnùøÃ¸¥h˜˜Ü
-`/@ôm‰¬ö©´Ûvú�¬ß»­GWû]a{Ü€q¬N˜
ÆjMÅyù‹�úM%óC�ë­'ºí2Ex-ä ×²1	¢ù†'óþƒ«É­1¾�Ed{P>E�òU;|Ëm?[Ö`/¶|ÛŸô�ÆbÙ§›�sñnGg æî½û¬z#Y„íWÐÆíIs#Ú©m®mÉhgÒ]Úp’�uóÛNÑÔPŸ2‹±Cv¶Mÿ‹‡¤M¸ã-ôé�æfÈ�ƒóÈ²Y?�Y÷éìý�jÎ&ü°¼ôd¤}®Wƒ¼‹²r@4—bŸn/Ugp?š?Pï!\œž°I�íw»¼°¥=Úé.¿·äSýjeýè63³|^ÜqS‡ËUñÛz§“9��Xíœ
ÂÛDVÚô(C}¡_ññÅ¹¤“æ •Bî+*¯ê•26ÇÞó”ÏÍôÃ¸Vi/½lë2"ü< Qr®gïy#B°}ŸPìL†m[JCêuƒ£æu´13Ãë`e–¸Ñ®=·—Ngüz'ùØ!
çR¡±ö9×Ú•Ö^ÓÝyy¤sÊù¬U5± �ô”iùó!Óªq-ê/Î‡ÍïƒFT
‡ý'»\7ŠÄt�qÓãºU=ŽZxcåîÐ‰ÿ
ÈÍëèð…tRI7â’Õ@"¶ÛÊ²Ù.ÎõÎÎ¬‡®q°®¾AžAû<€£vå�žô›'½tèYm\÷PM„BkZEš­Ì´7l*�|¬®ª3øR[©2«ÓØ0wú/NY•vz2ã­Åû“_ â�˜¼ó�ÌhÝ'O®yÅWýÐ&ßíìYå¬|o^4Û�ê˜[E2ì€kµûÓRçÒïæè¼JzÚ®-4QW6­éN?´ê¦wo.Ž¨™§o%µ5,%�kJ£L‡Å4…�|8>r²í¨´lëóAå/Ž£Ø�·‡k˜ÌÈ«,qf'cKŒåk%=4ö¥ó€ÆŠkG€$ßž9RhÁøàa®wJ!Û—«ê£Ú¹¡Mø•ÑšÑ}«¹Ãa³ñOÕµ8]©Zê°olåç­Q^åS?�ÒMáù(7(™
-J}�ÊôjwÙÝÔøU5[ãÇ1Uã'iVzQ1ýõÅ¡F�Í¥)ÞÄ©ëM¯©�—xƒ³ãîk{öF}6ÓÉ\ivöÒ!žÍlÛe1LÂ§¥“›rsy­kêú€›�í6å4P+Ýfj.7ù�L—ñS}Ð_µû©›¯	•5)MÌ—$¥Nõ®(—�íŠkÔ$BA‡ù òýE¬lºÍp4ö•¯úí�A�•Z Ý¿!‡s¯V?†V³”öÍN+˜uH>µoT%­W­LIË”L³)µD9äJÜÞ¶ ù¤Žìúµ¦¹µ/LjÂD]K~ºKinpåqUƒt­ÂŠTÖÏ¥! ’¸ä£žâ··
Áoï†ßîžôÔûV½§­}j®~µïhR‡$|ˆmÎiçéî.¶²ßoº%å1í�3kÒ’Á^“¯–	Ï…f+ß'ÔÒ¼.(Öù"Ëµ§ÕžÚLÎ“SOœÁHÌÆÑ¢
-o‚�é‹€Ädê£Á’:ÂÅý�ã,–ÕÙ“µ�²5~±Âc	úö$
é¨/vå‘¡¯æ3¿ùU¿Ç
•Æ]Š9dð\\¬Â{¶éØÔÜo-r¤§ÊÍ$k-Þî­ÙZ³jY31Å™aöRm¬'—eíùnWW¬k	›BmÀïÊUŸÇTeÍY¡u`Ï¥ ‰f_*27Bg÷ôh2\4©x±x¯xÁ«\ñÆTr·ül¨Êã)þb{<©í [ÍYÿ¸“½¢žÆúwaœ¶—)ólîK½MûŽZ¾žjgF-Î,šÅwjì×�”ÒSDfS)²6&‚™D½ºNEÉ¼/”«Mƒ;ìs6{>e<–)åÌÐ¬D�»÷ÊóøÌUÄšBUÀ-RèéÈÒõjýJg6û"µ�S$µ`îÄø_‘~Ùn:ÚTHOåQùúÆ çåÛikm´/�ã°»Õ¥BÍoÁùÕP5æÃ‰rw;ù*?“Ì •ÊÕ¤å•²5�®j“¬  è\æzíj‹eáŒÉé[¿2iä¦•ÔºÒ3Í9Ó2òÌü@4´kâÔÒ¼Ö(•¨ü¦q"[÷-L»/œ,ªŒ,
-{ô‹àtg�O;úd¶ª×Üã3Äz³]#Ý5<ñbÖò¶¥îK¾ŠFöP©óýºçQÉµ_ó7í£4ßÛo1ù–pµ„Ó8oq…«œ*ó‘rÅ¯etzÎÝ,:;É©@ª-©fÚ�)x‘}“aÃ*‘:œH$œÙDT7÷Ú½dñ@(ÞuŽI¦ôÙ”¿X5hÄüªßcõBÕìÖBmõÅ¤Mbƒ_ÚÕ´©Ñ)3U*¶8¬%I“-åv#O,¼.›j9]<ŸMqçY³Ãª‹1Õ{•®düR5±Ü(TaüÔÉvºÐ#Kó¦Oì”`C˜yäF`k7�jé
-ngfnÝÇ[ì\€Ò˜3eJX¥œ*¢×Ýå_í{úYæ(Z¾$çýPP«„ÓÉŒ|ƒŠW=ÃÑ;óóúx@�ÄÕMµ|vêrö9æ"mYþ!Ÿ	Èï
-´¬äé¼_(“[åF{qÃøì,ãG¥dà½œîâÔ*Zb�8bÄKö‚1˜@ï�u¾‡AùUÎ¼Êã%S(‹D*ÿüÅ‚°³=ß[–{®ÍÄÞ¢PAÍƒeÚcüumµ¨ìN¹d
-Ëä½jù%ôØi%Ú©�dJ4<$=*l8k2ÒÜ+Ö?µÌ4Noíæ¢c}X+õ(  Â¥Ú-¿þ¸ìsÙM9mK·Òœ:!%ùÚ«#ÎŒu²» p	‚8ý‚Škw›œÉßÍÌ�¥ûã_2<ßí"”C;}ë’Ñë½×]Ý3�½,äA jÓÔ˜§#ÔaÒ÷ªAvVu»5!
}ö™>Z½·¦(�Ãrí½:–µÃ3¹Æ_Ð„¬TªŒÂz¥¸Ñ§r±]Î˜ÅÒ^÷&ì
-Ø†KÁ6ÒùssÐËŸ)~—?§¦ï¼30_|_½§©,2uS7Ó™Ñ’øu1øó%ÛZ»ÇG2#_á(®)©ÛZˆw/ŸÍwŸÚ8¥Î°E¥5X¡°oúUøØ�[p�Ezù‹ÇŽóƒªäY°Œs÷éë‘²h6ûŠdV*¬EH.¿Ú·'µðqmJ¯e1›n=sRz�']¾1;dòüö’ÉãËóµIûî X˜=CE³çBŸCÇ¼ÛÛ—2ÁQÔ‡
w;¾æ•|ýêÔáÐAÓ ¥£4œ\/y·\¡!3‰T+)¬ ÖA¼é·�ÕÞõ‰f	:»� 1½”à]d¾kÆ—€xï€8�i@l½> æè:Aïœ`vÿ"©ø>²rÿ½vmäÀÖ�Ç-Ckõ…(·A”ªåñè*ô
-·=3›ß
-í¾ÇX5u³‘p÷Ò`ç�­e§D…M—.
-(xŸ€døCPbÆN |<T)1ÜJ"n€ÒÂ t)ù%ýeª=^J®>Åå(@áé òÇ8ù09È·‘ýbxV³sgQÚ]òÂ6ÚõÉ7ñi—%�EãT?çÉ¹3¾ò[üÖNÏÊ¹øÜ/Ø½c;—ª_åô¶8@=(Ðh�4Û®Z>ÔÝ©š€vÐ;:ômyˆÎƒJùÈ�
-Û7A…ãPáÓ§Ö
-V@…˜õ@¥0>�JŠ/$°ñ/Üá		zÅîbÐ¹Ïzí_QÙ­·ØZðÔ0áìèy¦Q-Ü‰º�ÊKÚ�Ž£¶““ZÝv:ª8ò¿zrêV:'�ŠFÖAeRS@åèj€�á`„É
-0sL¼Ï³9ÀšŠØ%6HC€�/"`°kýØ°VNò_|EåÈŠ›9ßð#¨ßÂÖ±.×‰†Pµƒ4ÊBƒU†ìií*�„M‘Ø–ü\�Ï;é]iÿÑ“ùPÿƒá»˜=Òý£ß~û�¿Í·EhúQG[‹#àÖ�,àÞ9ðBlÞ[€?ŒR€Ùàæd— H¡ˆ”¿è…ÇìÖä_k×
[@»ÅQ…Kç›E,‹�O/§ä>f‚u®žé�ÓxÕ°A’*X¤äO(¿ñ|\
-òÿèÉÍ¾-·_«ÛŠ~BŸD€pI×Aµ¸‚*=>‚j¥]ú®•Æ©ÿH¶öxÿâ#Ô~FçÓjÙÁ¸©ñ!<¢ñé	}�ÿC	}Ô¨ì?Îöñ¨jaYhÜ}¸ }ü`õœq›—JŸÖ‚s
pl˜@™^Õ£µºÂ½ùþÒ×ÛE»q¹sÄ{ôõiã×ÖÓ_×Õ¿ø:±þ‹´Ú&öí·¬•>ãGÈ‹“(DéÓz~\w?k¥-Îa~wiuÉÝÓZ½ÉQ™ºªˆ¹„$\�AJ:Gl^9�rëœLDÆÉ”õÛ¿zª›Iõzt ÅúpUo§»á¡Ø+ŸùXˆuó?ZW?HÞ;�ÿâ­¶RLPÊýfXùøO(÷·,wïéf×»eÛ£àºªûm|ÑNÛë9ª\Á)æcèx’BøHÏÃÒÁÍØ�]ETüh�ØXØÆÂþm<ê{Ë6ûWç”4ˆVö·au´Ûê)6»‰ä5û·uõódýÿÛÁúQBÿ%0V??ºø=­6Ù+lVjçˆæôSÌ)Îñ$ê“ÃUî±WP¶{¿\�ws¢rÞÉ§Ú#
-*ÕäÁC>½Õ^Lv‹LêÅM'-–7è¼M…VÎäÖNÑ¬­®ÆX[±ñÓ
¶Âµ%˜W~[WÓã»˜‹
-óÿ¥ÕfR¿Ý¶(ÅsDsÇS5•ÑâÎîßÚ½¾›cw=R/Gk‹xëÁ�Î¼Ð‚–³õI]k:œ…««¾Ý¯ØÝú<Ìý5ŽûçÒ§ãÔ2í^óù•F y ¡Ìžk�Y¨Ü3=?Ž§‘¥§èŽB|O~A.ðÿ5”ðÅ-«a·ÃUºŸ÷ÒvðŒÔsÚo®´>5°¤z]]5RR^¾m¬µ”.dg1gI{‘õÈÁ<¨rÞžVüYX¯-gÈ²N;°²Ÿ¢¡uñ­’÷žœÌ<¡Or|uuÌÞ‘±ç	Fä	ïí}ôö÷¯è»ùµåó‹cLÝ¥Eç~Š™Tx`çèt7/»ÓMÄc«µ“½í¯¼º.¥Ó6½È—ðž¬±2_ÒÓNnÍûqk[ó­âE�œŒ‹žT¯ú2'ô!ïŒ]*?³jêy,¿ò„‡�üj’ø¦§÷üPAì0ûÌ™n³åÌÝ�>6iä:ÐçéË IûÎ_üFè×¢÷É.LÏ±¨½öÉ9Ö‚|?Œm¼½rá­µ”ŽƒÑ<àzÉèÌŒ�³ÇäNÙñ�M—Ç\LÐÞÓS«žÔº6ƒÖ¨ÎL:£Ì}ëË—7Ì“Å…»:ó[·Ø¶/ƒmyŸäÉƒ²‡cý.è×úø¬â&÷Æp×»ŒÑW�Mìö}ß¿øHàÐ9¹S±ÝÞQ)_¼®¹Ì|µœy¼³È½u¶É>ºþaËÎ&L08x¯é:¹^F³Qœe“œg¨NiÖ
Ë’ä"#MDêÈtà¥Ý��­Û·*w¿OÜ‹«ä3{§›÷ž«Ï û±»c¶×mÕ­÷¸V­îî»óåéÝU„ðÝÍ¾ýd/fà;¯/î™i%w¼vvð®E³!3/¿–yÚÙÌÌrÝóOsÖ˜\Î±é½-b>R9„Ñ{°«ð[\ñ¾MdYçìÀ¢Ãdµw[íÞÐì~ž{»®=ž,§¶(WÖtþÚ[P¾xë.Ö*ÔÍ#Ü\íÊ²YÄ§n§íTbc·³��ã­´�çë©öaÍ€/.ÛW<€Õ³¼%ÊåB Ÿ/ïYwÕŒ’sl¤ã“qJl/Óõ;ÃÂí:˜>²ïS&ñp˜u3ßã£&jO8—±S«¹hÍZQÃ‚¶±Þ]ºi««r¨k®ÇÄÄÔD9èlgÆ¾cë»±�ßYƒ(¢ÉüÒ>nGõ6�á®>h-öÚ=*¦µ‘’‡4!ûÊhüã’þâl©¾W‘rU^èËøœ\ÙysŸ
C”í»FEo÷�ëùÄa•8²ßÉ,kÍç¤²èEPîÂFŽ6µ&˜ˆWU:PÓ:èT7
ê8±ŸOÚ.Ûôé½Ó]¹êì]Ïjáa­·ó–ZÒ½×oÎÉâ¾™íwSjPîe?€Tu)'gòwsª¼çt)z5ÕqlfëO-2n$h>8dÐ§_U£÷˜ë#»&za7¹Ï_M½m¦:�®Y4âÓ�4ÈÊ˜k;Ãi­]á7MÝ]Ÿ;:§gœHóv…±plÑò�JÔÊÐÖ¥©¸«Œneµ@sÕ†Þ	l%:ª[¥Ó{+e³r= 9žŸ2_&•€Ý’vŽ	;œðï
xùv&vqù¾ø�ú”v{c„3íŒ]êw[¨²2Ë@?‡Qrõ+8¬ù2®={EF«^ËbkÊ••VfŒëÍ…(ZÍÜ¬1T[ÙöT-Ó°Ñ.ÎÊÎÈ§,K²]øtA×ÏFÉªW‚ ¬ÝZÒ»6Lu²@5÷ÒÌ|Ï3×jx»ä¸%’/’“I¯†Ûá9î_¼ã²7~Å®
aX·ÛêŸíÎž,-ŒT9´¿ôÒ^Ü+ÿµ¦—e¹¹ˆT3OŽµÕÔ›ý Ù(£Ž’Ô‰}¯\|Ù¥Võó?Ô™Z#‰f8(HÏ×�•ÄJÃ§£¤Ð«ÁK¬“™ÜY±?3_ü@û&‹ë	
-øy\¼ãyšL¹Ýõ*vF›åÒ–épØÕÀÍììGÓ®A—Ó6«b±6™ßî-Y\CÍ|l �m›À•½še<ÌJ25¿*õAî¡×™5lÿ@µBxÒ«#-%ñÐÝ‹³âä.BÆ#_m„Š°..5¡57¡Ø(=ôsB‘7¡2_|EúÕ,ÈTg:Ã½f€�ƒŒãž´ï.,Xñ†É}eIŒN½­?ã±æÓ»MK~n.Mx0J5Œ3+Dã�Ê´Òµû³Ã×ªY“$¶Ög^Ó¡³>¨ªŒ;­æï§­ Uá+¿�*Y¾|ŸS\·J4“Z?¿ìq0¾sxTÎ}�¼7Ïg¾ˆp$ª	Ä©k
ð‘Þ<ƒ¾ë¶"K3²;CÃ�‡¦þXPm­&‰n+‡Ù+5¼˜‡FÇk½²Œd?ZˆÔ„§‚IÉ”ÏˆÙî­Z…õ�"h»C›�òç�ê™1×Ý‘+Ž0�Û;ÒÌµRÁ™Á.T*¢;­<
-É;�Â:[y€Y†aÉeú‹ÍE	ähúOÉ¯öelØÙl€ã=ÍƒÕôåeç�ÒGm®fwµÚj7W\ª§¶‹Ô¼�=ø�|î—oõ!þH×ªÑ¼ eÄ*Z
ZÐõ)Çcù†Ä‘H½É:JÃü�˜ëÊv·uX0BÆ¯c½+U”i¿gÕéZEžÐé}êL§—D§Gj†Nw¥Ôáh4»Ò­6ÉŒPÔ%÷Î»WOñq·´£—F­Ž´)_ïþ@ÍVR
6vçAG±—Û±Ü?§Â:?¼Ÿj)zý‡N¶Ú’KE~ç¯0ÎÆ4ÛG(�b¸R‹z¥ºmô+ÀXÌèÚ3³£3cýI-Äg‰R®‘\ñtrŽ‘Íãñ@j( ä?°®¥|u~X<åqF°#ØàÛMmâ8²lóÍŠ×\]ófÃ<š|é"Íº�¡�š„sI¦{‘¨r½[µx©~ø.qËqÔ¢�0w‰Ç+/®ÌVRb^¢ë3J£–ÙºE5‚Å„Ê·r!¹.vnd+0Yì¸Ñ^ÓQ¦�;|·£Þ¸ÙÈ'àS¯/V9ÖýÕ¾“ì¢EeçU«¾­¢ÅÆE|/õT¿à5öÞÑ”#69ø×°!e[sC„o¯ªçè•€Îà˜'‚ìƒ½Ö6)fô2sÉeJt–J”:Èóäú�Ë$R­'•�é€0f¹%�Ê�#ç„wÇV'$ÉÂŽÑk‹Q¯ò½ô zi½~±lW;-ÿ5ï'çÙÓ/÷f&ö6÷þ%nß·� µ\<=¥wÞvëÂ‰HrK1;
¡“”<Ù®Úœ³·&ì�ð×ŒwsÿØ¼ÑŠKªiçs¤>€ÊD§{'	ŒÄ«¸Õ¯«8ÉL-ìôÈù˜ãuvXE½¥\ýø¬£\>µþ�Ê�_ËB”¿•ÞòåúÅ¯ú�¥’"k°m–lu’ywz»u¬ûÙÓª©½ÎcÙmïmi~ƒÛÂN®58&3Q²ÕJ]YØôâðœP«Ë3 7ñ!úôôžwüp_½pŠXCXß9–ÐÛíE¡Ã/¡¼0ÔË/ÜòxÚ\—E&¾•ÁC/•ê"Ñ,e¶Ç9²àð¢ò$×¼œ¿˜
öºá!ËcÕy{’d‘±ync{Ô2X©½›ÔÇIQ+žoƒ§ªXƒ×-‘Üö{Aï9G»ÜS.Æ
-Å:òñ°üÎ0‡²Ô¨?J³µ‘)ÉÚ²TÊ–Rd¹«+?ããnq�¤=E¤¤ìÛÅ3[@a_*”Ï†ïëû]’«®cØÜÏ~1p§;$k¡§ôbZÁâÝ®ö&ÇV¡„JŸ[ø5^÷|¬PÎ¨=™ÃEü¤J•²o»)üF1Ü\Íb‰…ÝBôf…Ž×ÝÀ09}Tv�?g‘BÞñT:w39ÇÉ��õ¼Æ"ÀùÕX‡j9Å„|^þ@��ÈÏ#áã•‰™>/ÖÆÜ!_/=s�œUsämê“b*"™™Ë
Q·’]šD|IIè8ƒ2H+[Aa*ß€³ãU¾œMyª­z²ë™E|v2y*3I¯.Õ0]d­sªíí2`Ÿ*`gà\ÚNªÑ
-ày5
°7/ìtëlÃM4—_ŒÌË¡ãÔç0ß5�»²ÁO×É¼ßÒr£«2pœH
-ÐþB ^£ãŸ›Ü)Ó6ìîk¥ÆøÍÂÇÚÍ¾"
-Nk]6å‘DCÂÌ@tóÍ-;ÁÎ„Åí/@Ø\ùJ6§ 4­ˆZ>DeŸ´¨üay	NIðOdÿ…ËVm£çàªÙëÝp}vßæT«8zÔý¡WwdÅñÈÌ§[ËyPãv9›™%÷±BŒÆ|ÎÃoD¦I¥
-Àrˆ4 k4H}”Ü¨ûŸ ¡rº±9Ã&	œ
 #ø‘À/rÇJ	.=@.í�A=ù[KÞÓˆ éÉ1ù.$ýz}ñ]õÐFVDÍxDOª¾·eÈÎ�´:Î/ü¥½ˆ˜ln¹ 	?¡¾±±�¿oå‡…“å¢�ÂQ¨(a‹ª{O^y)P_ùèÉÁ¸¨gÉtÎñ�§C@óÝ U¤èî^´e:€¶+ {™ µ(yOßú€®÷ï€fSð¿¢²]í:_â~EåÔ3�ä–"êWeZ?#œ/§ç¥–uÀŒ;Ñ¡¥àÕRDqÊ$ŸÓ¢-›@Æ, ·þ+ã‚dÆAEÒuPé½‡ rê­S(ÞS]³×?î
ykXX8ýããpi65�æª?sÃð/þŠÊ:Üð”Æu3äk+l@}½3y²ô ˜`•óWw_ÞuRc¸•"^•ÚGO–Jµ$
-Nþ#%¯›
Py9Í?
-î·#ø«˜2Z°³â
-$Åãpš]\X‘OCÀ·ò'À÷Rà'gð¾¿üT¸%¸~|z?
°i åAËÌ?ÚòtÔ«G”ÀYh{Î×tãRVßÄ¦PA3>´J­mp6ç­?�,³æk‰¿þý‘û×Ìá«'ÄÛC;<·Ú~X8þ¶Ë�q8 ÌÔ.¨&Ù6¨Vø<¨2…Z‚ØUVKÞc/�/>J(ùOƒåW²û6à�>¡ò×ñàW	×¿Jè£VL'h}—¡ú¬ý×gïi­_½Í‘qý&Gõ–ílôk€Ì«z¸õ®p/3¼„46½h×êêqÍý{�“•ÅãIq“£<5÷wy¬ñ·—5~t`ÿã§a•û(¡XöŸ@úó¿úyˆßù¬>¶xxi3¾û9ûv›©«këU¹ðñƒíw±³q7ÈßÖX	§î{V;%s#)ŽúÑÉ¼º‡«šêØ°8‰…µÞû¸}Ý§�|)ÁYÝÍ™Ú`—•œm(-º[==4·ÈÜì|ñU¿jmîWbüG`ôˆ‡0=‰÷´úÐnÙ6ì\Õ=ë_´“´>Å<º;ž$ô|¤çÄãàæH?Z${EÞ¿�¤÷QÝKq�ÜÍÉóí²}¥©÷¦¼ÕÞMmÕ{ƒ.âihÁÒ9$60º¦÷²¸bOt-ð*iñ‘¾øo�1õïïz.U£
vŽ¨)óñƒeÊ‘ž®ÚñC]ôöo}åíæøpºËöÆA¤^§Û­öìï·Èx|ÚtRÃkËýGhe'¿ý««k»—_±ûA)xt·t œîâRºçµez4ž,²ÓÒùš…j#—`…ÿ_ø«ÖþUB/Z¼8Ÿˆ‘ù>°)·Ow²¥H=¿é-2zT7¨ÿPBbñÐ×ôúÚ]¹ÈÕù�‹ÜåÛŽÆKŸ:Í–éA¼\ÌÙk¸Èz×Ý<Ó§9<ƒ3=‹¥§Q³Zœ¢§âûX�8¤:žÐè4¾´Ìÿt­þi]M†ò{ôÿÄx
ŠÏÓ‘ž‹½´y¯·ÚÍÚ…VZ¹®®-Êä—>É£‹9ÃÓó@`ø9ìóµ™žáÓ¨ÁkÓN¾ÞñcM´|i
|"²Ç³g?Ð„>,Â±KmbÏcw·Ñ{A£ZªNŒÒóŒ6œ+óÙPÉÃñ0»&._¸�Ÿ¿ø;”Äjínš�íæåê`c<ÛöÊ-@Ã¥�“½,²îv3ÅíiÉû§7ãÌäÔŽà	½�Ëc—8‘cöôf½G?[õ„{¶>z�uä¬1Jû¬5T2’ë
mê6ó³Í ÔŽç�^²ýÈÜsýÑJ*>'v6¾c1™ðÄí¶þâ7ÆÇ‡~ßîrýh’nBtª.ä‹¯ÌÂª×™¢Kg09éîlìâNèy´{ùœs¥ÇÞ{87I�<ÌnE7p3¸[È*ƒp…ñÝVä~ti¶ú�™o9‡l8t¬¼ì�)!îU°oŠ@ÛÜánXc©á["’\` ê¯ÿâ6Ïs×U½Ý }¶Â\¾�µK¹É8³mñªL;§sr­MaÌaý–Ä›;\(¥¥»W÷n‘rîƒ²1M÷÷ì¹ÐÇƒ'ê[9ÊéQ¾wpµÞ@Ö›ö=èöÈ
-?�õ:Ÿ|k2@7Vê‘”‡r5Èu³)‰7ÕätÖOsÕÑÆã]íÈˆR­í—�Ô|Åo£˜ÚšyñdŽþf†�ŠîÄõÞº÷æŸUOœ7¸áR'U’‹ ça?.æç$Wb‡ŽõGÏ­3öc³(ØÕò¢l½ïgÊò½oe
-…Zw¾©4»9F1ÍàîÌæ(œvÂ÷cÓ)Õ‰«±ƒ¼¼�5¾mmÖŽ~FñÕ¤;qã WšÔþ/Î²Ëís“[�”ò{npúv2ª@ž1×Î°UÊÈ®Þâ¹–mkŽ³™º=n¹[Ø"Èì­i»rï.F|ºÛZ°¹
-Í$·4[ú˜êln®Ój�²š†L×«nÛÞ5§mÊœoõþñqÓî%2§ñæœk�OR¯•*­×Íé>ulÖûø/Žî QyÃüŠÊ?Ð”Þ’[oŽ½&îöuø¨Î¥„ÞíÌ4mqÔî[�3^˜ëÆtg×›kÇ ïÀØSyƒÈçKíãš"Û4B1ú%ªKúÀí7µûsÜÑqÕo½SO?ÉÆ%Û6g+åÚÌ¦¦9UUJlc½Šz
$M¯”­kƒ“Š�	ñ/azÏ”á=/.DÃð²žÈRh;ìöÐ´'ç¢hÍ†w¹WÊöÔ‰pqjÄtcÛ>q�³~ëOÝ-ŽrÚÃ!šOðÖÛZWZÒy[m¥ûw¥)? ¶T‹¶
-O™q#¬÷ÃFRÙ]”N¡œ•ãºÍÈD@ZuøA�že“;�î¿�µ+s:Ô®å(Þ/¥±~
-"6ÇNgÂ[äb�‰ïó®mûñªeeï)É{ËZ§£¼º)•'ú-W5oz?h ›z´2ð;ÝTôw¾™+#è¤6»ÕO(×Ð©®D7US0¾kÉÖd2’Iéµª;ê\s'rZz¦÷”Tå[†ø~—Ñw:'Ñ×›Ç_ì´£WS‡Á§—LŒV·MR‰¨æhÚ%«gå6ý–©¿.µæÕöÙÞ›úP¾�4±p	Z™år¯®ôÁU-,Ð(­;IÙˆt�ä�é¸lç\¦~nyb½²
ÔÚ�;5î¥1%$u¥½ƒX‹ãTuA	d5gua…
Bs
ŽBsüüâðEÔépl°,ñ¤?Âk`¸m¬vÎ½oLm¨£ôºEÆÖ:8½¯·ûcAÐy£«k©æÒý�šËòl®¶Âî¶Qn'—Ð§Lq ]gª7¸6œÞÊÒó~&%QxòR
-”±^çŒêbÙìWó°7ZúuÏo–è‹/ÃÆ™uºÅ™,4O0<r&:Lª$ÎÌÚ‡/¶äŠä–ë!CM$y»]ÍŽz¯»<µòÏšÓÙwÛzû¢ÌêÚk€­Ym4Õºæ¨¬ùÊ~'…rOCŽuæ^küy$ñnçÄú©^ü�ªË’ˆWóf�ZÇ¶Äoé¡Æ·¯g‡ÛóŸÃ{Õ-k_½sáe†éÍãŒfÓ.¦^>~�¼bòqxO•ø¯�ÈXvÓïA/jE½´ÀN“;LT$£ç‹º.PZ­%wB®�ê�H@-ÅÊ žìä‰U��½÷Ò»:¿ˆ³{óYU�rZÐ:¯<¿]ÝQn?Û’‘½l¯5Xº(v™�Ñ÷*÷øðy}dWïôk;-ÐV«ÓRž˜Ð©ÉhG‹¯ã‘�Ûø‹õ„Í	sb¶'<Ø‹^}#+¨eýNlœ6»Ãu--55ÔC¡�¾tA>]ƒvýú<%óKí™ºÎ$?7¢R·ŽUø„]ù¨s~sqk™eOr¯È\«Î°Ó.[ñ ™L¿Õc›ö”KK›a@ÍËÏ3%Ç6L)‘êö1"aE�H˜3bÆÔýôÝ¬fqAœ^ƒ>*�ùËñÆü®Î¾qŠ�£Wùr»Yi©�5\A®¸™JíiWÕ˜Y¶”	Ü±˜›Z�°Qk;¾s'Ž´æ†j©Ê³Àæ’eºL×ºMÍCµJ)ÎV£rL¹Ow{A„Û‘Ï
ˆÐX�âØÅ;"âJØáèÙ~ñ5hñ½�Š¹‡²óêÕfùÈÜa×iÛ}>ÿc•ÑRí¶ˆ$™IWùšXÝU$¨¼Å|µ`T‹íÊ@(w+SîXÊ¬ÙKî°g†³þ¹"VÅ']gÐ4Õ�¹òiœ,fTŽØ,–
¢­æ-¢·}|>“ÃÍz;�ãY’ÃìêÉÁÈ-»FÏ,±E�8½ùâëúýU¿}"ªÜò¸ývSëc}×o®fwCî¯çµš¸*ðb~iÒÂÖ¾Û0Üñ¸êþ@ì%©©™ûs5«LæšžYõ=¥–ó'R# ±u�,Q¾Ñ%|?4h¼Ëok8þÆ;X¯ÖaÔí¼A/#ý�&s�2›«U>ˆE™·èMéù~¯¿ø�¾®ß^K»–û|�|v7§åÖ`dÇ×êÃi_mÇ[£>’YÊ¦2‚°}·*½ÚâŒÇ®¹Š_½4*ém¹K|ô©f¡8%‘ÝkE ë}„[ÈñŒ�:÷×„ÑG8‡^{2†ºôŒGÙÔ,?†í~Y8®¥·S½•ür/IËÈ@fgdŠÈu8@ ÛuùÅŒ™läážóK½ö|˜ÝÌ`ÛæckÚÊ¯í~ƒ(,“Š¯&¹¾R
™g•'3"ÃTå.F5w”,ùYŽ03´B`£ƒ“kÍÁúHwŒÞ:ƒå“]yL­/e08¾KS…“ÃgPÈ‚šIˆr-šÅ×ž›‡gü6ˆ
6™N³ ßãB)ÿžÃÑ$ú…Ÿ:ˆÒàrQ’_J-î×’Ê´ ÏšˆÔweêu¤ìÁm˜pYn]dè)ãNë0:J•JåI¶Rù�Ê©¦"•êg§U‚ú¡…4î±[\�YQè¦°­§‚¹Þ«Qî¤’?ÖµFž­�ÜPëì�Ù¦²wt%å®éäÌ÷sLÎõ³·Ugâ…å{õêA©Ø�Øñ£ýÐä¨0ÕYÃâníý–;Õ
å6¹$[‘*uãÂ�åQCï+.e‰vº€Ú÷Lþ¤¤JùäÓ+¹k«.æÜb¿™c·›nÖCoÃ¬pÀ?$]¸]fÎvî™¬·É§ÕKŽN…¬®¦´øê‚(%ïÀöÊ"`{KÉ)$Ó¶RZeÜÿbh9#¡§Ô“$Û�¯“H3¼7—òMä‡R£$uùcVoý@Œøê×(¤°d±+}ÂKs9É…£•Î¹qýžQŽË{ª�sR`'z00S1°y–K 6l-€-(?Át°%öN°Âæqu€Y±°Vï³’&À*Lò7¥±�àæ%xŽÜ‘æ¬McU4níÆS[(ê¡q¹ žb)¯jàR�}ô6­^Mwº]®ì?C²¨¿Å<ƒ¤2TÎßÁC“sàcù‘ È|�à	4àÇ½
-ðe'ú?ö	Æ)€_°äW¶�ðH|‘�n€«‡6À«Íä—I�`:u7Íuq©ŸÌÈíW¹ZE[>)lIÙHp•òyGRÝÊüÞ4IlÕVÑ±?‘¢áÑù‹¹(A29Ë¤ŒÉý	wòéÚ]>±ƒ³	4·-Ho²<´‰‚�>F¢zH.x8 q:ù÷üqHx|$h•qÑM@Dè*ùÄî)Áàb¯½+oö´¦ËÝ¤3íV¯ñú¾Ú9·vÜ1ÆTû¤÷°ûÌLª¤’:É°SpØl
c©h?ÊR§3€ôå, OÝ< ßPðº¨B¾(Ò”Õ|š€²›c@�¯Ûäº1^€:¡8 Þ—& Áp¨wTTÀ>J¯û0e^"@©�w‚nú�¨ü]õð_Q¹ÕsÏü€™F•ås½$œŠ?B3èÆ.b“e+'–}1½9Œ©Tä<¾Žt–'“½üéþÈ¸ó[zv–}UP¡3‡îT¦Å`À�LqªFr—€©ÉoÀÔÑ
-`˜‹	vkg¾+¼ý�¨üÉé‹hˆ¥¸ªQI&’uy‡½ ìÙ’g7?â&íRR¤?1üU‘ÿ¶EÜßVàO.>×~¥[êy€5˜ÝGO¾¼R€£à|Ï<…€Oià‘ºøRÉMí_n¦¸y“MMŒ¯¨¬VÈMµ®\�´�ÚE&ßä^ø=8îK×™åºØÏèÕ¬öÑ“¿]É£øŠ·ÿa.ñ¯Œûoîoßí§å–Ï�“�†ÍàïÉ…$Èé&¢ÔTÓ·7¨Vn<¨2�ó]+MÿH¶\üÓ°Ê}ôÏÒ÷¡óÜ?=¡_%tÝÿUBÿ˜Ù‚÷CX$×¸Ÿ§Ê÷´F79¢*·lG®Ö¨]“«µñ]aÛl]Bªo\´ËôÏºY¨·šœ,p~-œ¬™>ÒI®~p‹a÷+Îþ¶®¦ûºû+ŒÊ÷JÿŸ‡ø¿Ãçþí`Ä ßÕ²È��ég²‘õµp¸KÁk}“·©øªÆÐí’¸ }4{6îháHéÔ}ÓÄ‰ðYúèdhöH/„êÁÍ³µø¡	j,DR{ïcZoŸ¶GÉµ¿“/—mpZ:‚'ynÓÉQZh^­ÿÿ#‚þƒNùîC{›ÃsåâŽqŽh¯FÝhz<‰óàã+ûÛÇXØx—½_öût×}ÿãÀjg#õ6,lµWÙ"“>þ�ëB‰Õ¡¹v�’³r1=X¾ñ{)=kÄÿx­þ@ÿá»úz“×Í÷E;ˆð‰ð ôàB)6öà|}ï—ÊúN>BÝmÈî�MT]7ètë‡´]¬Oêzµ¦ÃåæÛ¿úýWëñµôékf™vß……üBˆy3ÍVgÈJkO#
¦äðþ¶®þ_øŸ¿:è)fŠÉ,v`çëÓNŽ…û6dÈôÆx“Å�X`Äêªå˜àÑÉ‰Ë·
ä¥tÉ´s6c,²èÎƒj¡?‡§¹á,¬—&3dY˜M;piåÇ:ùÄ®rš8¸ò_{Cø³×[Å{ÝŽç	ÒÚÞûÇo×êão ·¬–;Ÿˆávµ7o‹¸‡Ñú$ç+vcn–Ò‰?,ä[ý1W_jf¦§åd/ÓNN*ûqK&}b+3•…ñÕ’¤±Kj
ïÑW[žÇt;žpõFïÑz4’ÞÇùp^{m†
-Ä_Ý@dÝfça{gt´$ðã;û/’L)²ôÝÄØ½]Öût»énÐqY_±¡ÔX¦{°1‡½«3í@ÑØ·àS0qJ×ÝØÅ¯gÏ£OÉ·wo©‘ô|æ†sñY*é:ÌÎ¤($û¹Í\UtáUSèÅŽ>@¶¾Ýï ‘çÄÖ;p,J>÷Nƒ(ßs¸^­G¿ŠŽíJâÔæÒüì/î~Æ}œÑ�áÔû	ÏBËæ;Ëw'æ›¡’‹j+vrÒ†õ±‹
uÏ£ÎHzLÇCLn‡ƒP]ÄÞ]úQò½û�Ò=ÕG÷PÎ‰»Å¢CœÊXïä0tÏ©´ªöuh7lö5íX�ÉshU3•ÕÔõþ½[ƒk¸9×ã†©0´mæ ÙíKvðÅ6V‡Ã°Ë¶h^©€éÍÚ—“29/†ÔØ5yO8Ø(=êrnPë%Ã‚'exG[œC&5û�Ò,®{Î‹Ú÷*ëÆÅ"�‡Í]iëéÎò–˜Û–-°ºSÝi¯v3WþS`µM3÷Üx�–”�Mä¼Œ¶Y­´÷ùGò"”¼6®³ž~,¡£/~ 3?oû¬Þ¸­ž™(œ—Ê�p… é¥µ?TÉ5ê®FHaÐÎdÉ>Ž«rïB:ö½³Úüó5·$:¿±RWêÐ•ñÖÍb]`ªv2aqVì„©}2#wãÎV®¨Í´Ú1e÷ÚÄ`åë½d¯:=¦57]áZ�NÜmy8;m	GÔo¾[ïÉG–ÂÁvgšïeCs7~ßO
½Ì}®»íÜXì }rô�S-]ph<MÚ^Z�-é©uº
-5šMy9ë„ñ1ìèãâÑØ¥ŠW£³åßí*AmëÑ-¶Io‚ë}°dôÊô"iC4ßÒ¸¸Þk�¶ßí]Ô¬Åø�ÔyfÕÜ@7+4ž6šq˜ ˜û�BÓ�Äþ¬ž
´šš—ŸµÍXâö#wë»F¿—ê×zÃpY±Å|ºlù—ïæ¬·d¶¬aìþ?ÂÞs;y&íÂ<D!„"Ê9"	D9çxþ#ó¼ÝOÝkfþ\ö²1.¤J÷^[»æF·FÒi'iv†«Ø¿ÂËƒß™]oÞ¹¾½Þ�Ý7‡ÝÁƒ'ÜŒ$1ÎéªìÏ\ÛÚ][Ö�‡VÉ×·fu·ÆQ£¾ÎÖõ,õæLžèÍ>;þbŸZé³¾¨Ì¸]’·ý¹2‹»Ô4Zýƒ«‡“^—kØ™'Qwã°ÎA©žBÈ÷¯c¼ã=føÐ“fîÛÆÞÍÜí‹cˆöÓ�ßaÆ¶½¸`#è
-³¼à�Þ%sŠYkQŽ±¿¡A	ý¡Þjî×ÚõÆ}4žØTÔ~«¨zªR$Ê;Ù�¿ØnÂfyž»B™áó™ßôÊ|+nßÞN½	]£�k|P;lÓ>Vktd4-BÚ¢Ï§“¦û±¶M'A“¾“¶SÛ>6ÖJyž,tò¼›Aîó1ñE1g„%ÕÏ5–ÒÛ¸/j·0²4þ²ª«1ÅÊ'äWŠz>ågÒ¬l3�œsÝ¡4Ï¸ivÕÇ_l¨qŸ®ásf0Fî›ˆ˜7_ïoc�qf°½ÙB�.Î)ÿÖ'P/öÖÕ¬ÐròL»n‰ 2·Wml¼“Þ}#Œ�½~¾˜�åÌ§õ]H¤¢Æ£1¡‚ìšS4ë®ËÉª\“óe³'9õÑB\­ »XÎ¶qa;3|aÛ„mXH„­“™üb¼º=\"©SóÌ[ìzÓ¹\ŒASÊõzU*™µfžü»>¢=y”/;SâNÙO6¬ª ÕÌzEîô³<ÔÙ˜iÂî¸Väñ¨‚Öå®h·�§Ä5'ç›oTZ0¿Ï¼KÅHWEÿÕñ…�²ë
-DRžóá+¸q&[æÚ·³Çµw^Ìµ§ý	×îµÆ_,_�*5©°!è»½ñ¦ýàøAh-Š� ¾*XUN¡DoÐi'ÝC–ÓQYªL	sŸ»ÈÆ©’wõ+_li½ó¥¯v‹DÑ½êBžn«{i±P.R©¤<ÅjÍÎ
-»¹]Èb‹â�ë½ÌWpØå:¡Øbï—^ÂŠØëÌÂN‰QJÚ¯³KÉ<{Œ1F¾ácf€RãÅxeÑ_ïw¯Vl[ï>>hx%Ð¨µXØöÅ
.¹0K“v©9-›
ÜB�´øtÛÙšDíêjæ>�øÔIË@Lw}âÆ-m„½þ8
-dÿtã+£ý‡ëfoyöaçp¶�¨óö[&£ìö
&Ó'}Õ;Ð3¬R ­yÖ¤­xÑVxÓ–³}1Ÿ±ze8ôðOD¡îæne>¹A½V½4ªÝèa{™'$Ù™%ÍF­YÖoE¬¨I}ŒVÕ•¥)	;¨ÉöÉmIÞM�E¼Y˜Tõºä{¶ãx­{a%Ñ{0Ãaº{† ­L’Oz÷+¹£Ñ³e? ô= –»êŽB©BŽÜ¬.:YÓ�YÃ¢Ñ?€ÃáÌ³*•Ád›ût™@Ù„sèTc\÷¥Á,�h‘³dJGR�h¥¬~¦§tS’á•��:,I«SÅ··J]8K]¾Ý¹¹¨1›²rÙ[1ZAÚWL”¿Ñó@´CDµjn)Êgp…Bo­*×>‰Ÿô5qhÃ–�
-~¶…ÖŒ·Îæo­äøƒ)Þ*Tbûpx·ŸÍÒº±2çq�ù¤7_+MlÛgç’…MBíaTÉ{CDò_*"ÖŸªlòËt–‰¯>wŸšì@êGÌ˜õÒÊ¢bžð„vnÈšZø‰*ø'¹SÂILæ8q4‘hækA/]ü¢ZKœM^ì.®ELð‰Fù•ÕúåçŽî•ãz±7ióKª·G¯Ö¨s]ÕƒfÿÀ_7µ›ç[öWøÖäu•T,
-Æ$Œð¡¢Ÿ³ÜC†0ö­ã<«Ì$�ÑW’W±vLH»K¤KU·Ð�Üç>3’ts[¢¹Á/D¥fðÎ3)á\ø{÷±GÅ6±ÞõÔ*¿qV/Ï²âM9tÜ+ÖP½ÀFhv˜ï~ñGý¦Ú³iÎ–«€îš}Ô­†½vlÛ¸CYÕõ:-—Ô+&œ\£ÈIÈè7#"W`zy3qÚ<UŒ4ò�™»Ä97ªŒ3ïâÝq2ÀžðvŽõÈ¡ü¡™{yxiçÊ6ÇÑÉ—ÑÝ¨•fë÷°d�sq¹°¨¢W¹¸ÅR’Okäb)mdƒïšƒ©�â�žV|„ÅsU½äØ�¹†Uïð¶ÞÛš²Rè»±anpž7¨"cìü,àñ“hW›Y<êO1ìùÙ1X<Î*€‹VY³‰ÚŒ&+¶…š¾?,ÍwÑ¢äÔ‡âêœ{ý¶_B¶»ƒdBßèh8³Ë·¥Y)vêFþ,_Â|ë2mä[ëA£¿¾­Êíq¼×ëScé;î¶Ôø�ÍÌ8ššnÉÿ¾3‚Õ�O‘ö[l–h_œgy¬.®%Wi¾‹ëÉ¬PÄr{Ù-`!ÓÙ³p¼Zn¡Yk6ò—Ã¸—ï„¯Yî~%9‘÷?°"�Ñ8;î¼„lö û�U\� ü¤ñ„Ì›Í@Sèag³lÉÿ"jUÌRÓ.�ïµë�Zz–�íš‰5
^Â]e^¢U1duŽ“k]²âÜ%’~Þ!L±‰ç\r�î¹Ð’–{x8TÏÙIZBe
¡�ƒfƒQ²•CB DÉx&ïfÐ|«jîrpÛ¥˜€gI`÷…°½ÓXÌ\Ö„ÒŸ¹55Åï‰ÒS6~GŠóÅFmnÝªýºríY~hQƒBKù¨/—yBç{¤(0 ’éE%ìÝYdQ$^…s®p‚?uu“Y…Ñp°O±}"W†�¿Ußr€ (3E?	�R4ÓWR%È€ m€_1À7ÃHûð:éÜR)ªí–É®‘à<®ÜüQ€oß&&F´�;ÊBøTÓõ¥BMv‚V$j?ch¼4QÔþ4a$t×ïœìŸÎ�³Ímq	€‡ 3ø3…²´ÅÉP|Š–™âÑ$k�©½Ò×éÍ, 
â×;Jò+�„=dK?æ¹$bulbL§Ÿj¬MCÿÝAjw]yzS‚ß[M6›hãÜ“ö^®ÁK:áV¼©Q›bËæDÃ‘cÝÊç^‡Îr‡ýËWO†ö€<âG@¾˜ ò�gŠ-(’Â%¶x@YP
+üÇ;G@
²¹£ô·C©¨Ö{
-(ú”>Å·{€Â?K@ÔïÙµ¿²rõ
»·”V&ÆcJ/•(
…[BuØ¼D×(úZ11½ÎˆÅ½,Py	UŠÐr/�ôäíæhèñ4‹d­áÐ?"®ß@Ý¾þ^1z­ Ž
P)i#P©Ü ¢F9Pñ%TØôRW°ÞTp•<+úÍR\O€>—žõ–ºÆ}ÃnemªkÜtè­ídbìÎyðRcz¯ÉÍt{?E‡¶^ˆª>Ÿ�Ó	è¿¥äßçý+ö©ü¿2®Î†ßý+Ì!9�›mË19ÀÖ`	°“{çW·L’=`§X×K=bÀ§WÀ–0øDåáè*võÅŽµ�›9Å²«fÖ­bS�y¹ñ~¤f¥óU‘ÿº€õä?*òTø#ãþãþ·÷O|Âù74¡?<o]•�ÎJth„êõ„î†B2¨¡'$) ô…luÜcÅøOª²ð%% ´¬0È/¦jUOÄ[ç¥}gå‡‹~-sYõù¯€üoù�øo8ðWºýúnÇ“Þ¯Ûö›¿ûv+¯{kˆ�PR­ßRÒ¹i×¤�´×j@z"ÓýKŠëçW	-¤(þ[	¥sÿ«ƒ–&ßÓ²¾Çz]žOišÉ>F…BñOä@.€é›}Ì°7¤Y¯ÞV®h·d\jÏ‚}ÁcÌ?d®q¦ÆJ÷{dÖ‰™�WÇ¨îG~=&ö#:k]«?ðß´Õ?6Ö_ë÷qþÿA¿ñß£Ó”§4‘ªuîu�3KîÆú´¹!�Íé²e‡·óAì¿ÏÔ0†Nm(ÎÿÀ'&IJÇ(?ÂŽü"!qiT9H›•°á+e¯nÖÎ¸ÜªÛ9Ÿko‘Xš¬¸q^žýúµ®~SWÿ �
­?!¬¿vÖ¿ÍüO¿åó7#ùž eêº"�xÙ2Eë‚GBýtVØî1Ê•i�MöêîµØ%Øîr­×akß^—´U÷ûÆ{ƒ÷z«¼3k|ò€Waî�,ÏÎû}²¾ú®ÌŸaFš}:%{õ«ÑÔÅã47^§¹	Á|ñ	¬¿ø¯ëù}@þ–N©·?ÖÕoêêÇSñ]B¨ÜolÅP7Þ“·Öø÷ÿ¾
-µüöÖ�KÇUo6ªÌ3¨›Œ§Æ3™Msñj•8`µK�ñí2ñsÐ{‚ÎÙü8(úäèPÝj#ê`t‡ç&y¶+“üï“õé—oøêŸï~ñW±ÿ¹}.[ZÙù„ú5†nïÞÞ¯¨„>/™…üYð=?—zyšp™ØŸ3ñ¡+?ÞšWyŒ/®úœÖøo{¢°?¢¶Xcx*í!s¬ô·¦>D•Î*~vÇÇXz^ÞýÏ@DûZf­ö¡$ô‹:öÌ‚tû/ücRÖ’×·…?ðáiæFïÖ©/ÏÜ˜K»agš0­ab¿óâwŒóð\UCfïdåçãgº[‹¥»�÷?¿)s#1æûê;‘ûÐpkôõæörÉ3ˆæšÎ–²äGÝ•×ZwÑíæÖ	H¾ÔÁÏ°Õ>´§ƒö¡S^ÿ‡õÿa]ý�BX×^\uÁ¯(mj\e~âBì´è`¶÷Fül^¢´Þ—nÙI_}�E/Qò»^nR<GN®x��y:íûEê¢k±ÐÙVu´`U²ƒï{\;¤r›:ï¬V›}-æÁöš‘ÌÃçè|c="B9§z�Ïü×ÙÕ9Ë¸¡‡ý´nõ¾¢ò©õîÎ¾Wq£%Aú;jt°
-¥Á­6+ÇÒeÈô¡þPéåF3'B¦Ëz].;�Ý§Ÿ>8%mêx]¶Î­Ì®Å\ßÇ¸y‹
-·f$�ï&ÿ’²ás`#¡œ©á�ÏdÈ6´ÜFm@‹‚_7KJ7˜×Æ‹À!t §"_óÇ©¡·¨^ÝFAðÅ¥v©lözÞX,¥f;)UÎFÚ“;¢KÅrlçûP¯öˆæjwý|ë¥QzaðDmµé¹ÓŒ¸¤>û«V(}VQã3º�#í3m@ÓÏ²ž4ð}Ý¤¤k0ÙïÀñã\P,°š_ÿ¤«Xu{¦ôjÐnÕýÃý:òiÉ½xZ$<v¼ÐÝ»þòÿâÔáÜÓ7¤Í,ºÑˆ‰Wv?�š|äé�rgÏÄP‡÷´—LA3iå0~€ô¿„ !è�ìÊñëÛnÖÙU?pë‡qP’ E­:‚65ÌgÎÕ=k?«d/€ü“5/ù•å�ò®>"yÜNrÜ>Ùm;ïÖ{î(÷ÎÇÉÌ,Þ6�…kÃ«cð¿|qPíÞc)øŸÍ×�±Ø�ü…+¶Ïgoñ¯8ß”ôó+|Kñ§1)ïÐºMåùÀóY£VëiÕê¡´ª�Sûgu›ømè¶ônæ-•^D"g÷ÙBn¬šYç“øEgdŽ(Z$ÛDsŽ5Ô¶åû…¹ò”·‰ÞœˆuÏÈAÃÀOÍú»ùyæºxØŽ8ïÝë-‘¶ß©œô›q7¨0;	‘úü³u'ë¼tÙ+UÉ‚©Òb^÷Y�ð½è&7Ý—é÷]yá�\àFsG»Ž6N¶»:ÚSþv·ó‹|ÆrKå‚UÜ˜”YÅÛ’±WÎl×\[oâÆL»„�—Æ^ûŒz
-®Ú#¸†ÚË“°ÙífÐÔƒâí`œúž5ýVßÁäâT½šÅÚî¾€jÄ‰}Vé­‹x÷Å€qß™ß¬N7“;ºŽÞ
{zÍwí‚AŒ,wNL­’#¬ÌêÅ<˜X'¼õGd‡èÍÏ�Ð®zQÐ¸™f«½O»©¼µçTQfµ§<hEÖÇWÖ;�¦cË´®ü~Y]‡Ýì¤1Ð6qÎ�ô;­7í7¡*¬Ô½$G×¡T­¼YŸÛo÷íÒÆM\Úž…UÉZvª–…ÂƒºY³Çc¿šÆU^$z«¾XèyÙýÀZ·u?k¼F|ÔþTÌ+Ÿ‚‹+ª×ãåI²0ä\!íX¶ç$â2¹ÝEOÑbéÃ»Â¦í…ÂÆ7ÂF“êK)²³_CuoÕmõÛš÷¿Þß~*é¨dfå’CMØUÃ×Û1:WÈFœžÎØœ`ìŠ¡Ÿµ’§3S2Ô¢B¥§>½ÊP•¶ÜLÜZQ�ÖQN*Õ»œëö!iÎŸP	À¬ègDCØ�ôŠ	x|óaÆ¹rg¡HrgbåpçÒäNo¨ñÅZðÙ¯ús»ß’£lµ¾.œÔí<_�ˆ²«ìäÖ—�åK��ø§²A‹VgÕ‡š^1Á|¸ªìžêŠfLZr2ŸÅr¾8›HNu¹”ŠØu/úöõ*l×9 _äÃ†Mó4µÔ¸vØ¨Á
X�ºœ™¸ÚÁ˜Ø¬I“‰ù8db¼]ÿ�gó+šéµé6‹R¿©=ïÕ`ç-Õ*{¹±ð³e'¯p°åÏ¦ãÈr½Sð
-ZO�UÔ�¹”•±;³å©Ñ­JÙÅµ®Fb¹Ï…à#Íø£¦n~`žžÚg®Sh½Ù»—äYa{#˜‰Kðl¯2Fq%[¯is…¡´9:´Ùa´Y%êt²Sÿqƒâ©¿Ût:UªZò®Z;Þfš÷z$Ì?z²µ®•`ã8j~tNÄžê¥`5#Ø„+5^.ž.•Ã1�i¤”kóæÜç8a;a{ƒÃ’ygžF1s÷ÊxÁf+ºÛÆèéæ Òw©Å¢›®•T	-mÉur-’U±©‘UòÕ «…KZÎ¿wÁ7L»¿ØM7íÞé7ÜõºV½
-}ÍËØ#Öv‹²IJ§¬ö¹·ª\Ož/?rá
-¡šÃ±æðéÝ:jñLáæs<´
-Yñu5+>˜Uà¸½¡m�\¨¥~þP^Ž-‘'`ÈZñi‘ØÆë
ü½&ÈÅ2�ŸTKÅ›Ûq€7“^
oFÍÚøZng~à^õT_·”Ó¹WÇö�ªÿ44^µY«V™bzW[Âªªbyv˜<$´j?D¼?*ÔhNðíìYà¢ÂVcctî0£|»V1&r“¶çl�Z…1…VÍÕLn±øDâ�í‹8ÐB4.a?s¿+ÊAjâLøXbÝÍÆxS”Ë�c³Zî»V
-EñGâ‰ùDäM\}“DŠªV½OÆÖìåÝaMÊè`êGìÂé<f?OoqÛ©=�.Üí^ì« ”XÙshFL¡b6e�vº¬Kùa1 ·—r‡$°rL„}a†Ÿ?Îo�æwœÕó0v‡}¤¹R~¦^–¹ÉôFGq-ƒj%˜G¡®â¢PMôJI®ä!ùtnylõÍ©1#·æ&8¯Yµ7Íè·ÐÅ”¤ÕÈ}«è†ôH÷eÉ™ÑKá­’?t Ú•×(µ_è´�aðK$‰ÏN#šÚÑÁ/ÓKç
-¯ÖóóCL,ËËò žÊ
-yè¸M”Q��ÄÒ´þôKÒUîU\po¶Xt0³X”1Y�ßvŒ„óW[º\—¿ît×‰¾1"Ž#£šI£yF‹Ç"&;[//ëC†»¯˜'£»á™ÚP—IN�7¢rÎ@øµÍ¡8wW(¬/ZBù=tÕ²
-Õtböê¨‘ßE¥™ûJ«×’�²›â2îÅÒb‘G6QA°$´
-õ×§—?1ÃK�ô»d�dßZþ¸»ù¦5Ó{�<[Yx¹hƒ�¼Ñ©PµËþG3Ø¤È©Ú£‚KUÁ.ð�Ù(íÉ¬2Í=i—ÏÄi×ÛbRTÚ I©pAs]	”ì§‘/!q/ú`ÈÑñ^Føa!øœ¬Â¢åÏÕz’gfÓ}.-�ßpŒqhöcwÄì”Yˆ›§=9«q>;˜trl%ûN<µÛþÐ�°Ø¶çÕ{XŒÜüdï›ÇÞAÓE"Ï+
-#Dr`Ù÷ª
Ul÷ð$—â{«;4†s„ðÑy¾ýÎíòìPºÿÀ¹d8Ý›äayÑÆ`à®Ø¬¶¹©Ð”@<È<Ú�Ì¢2LÀßìA¹Yú€²;!AY-P.ÿ68{~ôá`ÝÏy€ÎæB[v·z½ÎÌ}Å¿§ó˜½~.«Æµ°ÕµŒiãH¾;‘JL®®AþŒžx4}]ÐiÛ"»†=ÏÝ_£4ù1Ø�Ç9ÀZ¯ÀÚì-EJqAV%˜m=Å§þ«ÁÖ¼aŠ÷`f-0«T˜8u†8€'Ê—ÊFå‰a6­kóZ»z¹¹÷Ö‘µ7Á×ô­ ØZÎV†fG!ŽÒeO€	ö¾àrº _Š˜~Úæ¹:ÏÂzp±×¸õšÜö)Úw€7.ÀC¢ð8bÓïžÀ›FàƒÇàÃê	àíLà~�¸N×Ž�Ó7Èr¿Ÿå5TvÊT¶,Ô¿ÕUÉ8Ï]„ÜõÍsqßÐ  ±¤ÀÞÉÜKy0—ËaÄ5_Ì•'’ü)Öë’ï®†»¬qÝÎÁ7ð�àŠãì,-ÿ¢ý¯ž¬ß€¨±Y@tÛ( &O‰jücÞéIŠËû&ˆyYD¼JÑ¬­¡ª@°¢
ˆì¸
ðû1Ú|ñµÜgå §ûÐôSëVŠÍÄ:þNcfø•'OÃŽ©�W¡¸­@þöTîYs(íÀÎùõê‚è×°;_RÞné<÷€lJ@F0 —È“Áò½1…ˆÍ»éozíßU)¢)V P¯¨,–þõý]äþårÞ2>¬jÑ»{Ó<µ³šèk¢éö©+52ç€S­£Eãë½„ÇÉ³‚ã|ùkRÎNðï9VõzøGJ&Œ ÌFúOƒîýÿØ‚sikîFÐÙ%h®bººnº+OSÜn€NF §Fú‹Y¡èþîèxŒºÕ~•Þ–½´·¹T_ýíl2èÁè‹Ù?¹ÏBd"mÆYå«$‡ÃFÙZæä4&(xrÌ2øþêvzÿ#%ÿµ¯¼ü¿¬ÀÃâ¯§÷?d\Ž•ÃÂ!7cÞ¦€éuo€ÙÛ8`s¢˜#˜f1fÐ€©`:¥eŠõç¿Deé¨+3n|4?0Ý`µ®ÆŠ_
-TÛÈÇ{�‡ªû¶âTä¿¹Àÿ7Çá?Ì·¿Ò-Wø´gO€;T_¿n[Ó­~jÖ�Û[ ä˜BºS-é€?Ž»€²À·îÙ?¢òo¦²º,îb·s9°Nþ±¤Xÿ6úU\ñ®5xf':hu›ÿjÃ¿N—û�ÿªÈ#�ÿF8ü†ðþ±Üþæ%ü‰ºTL>@l”+@|¢u 	ØHu¬¤~ÞN±inüŽJ)^þZóÿW	ýŠ·_%4§þsúØŸ0[}õŒ¡ñõ1Ê�ß÷¤4ÌÞsµ	r³3ì†„{úê]6ìíœÄË–{¨¼5~Ÿ¬—ÞÎé¬]«'fú�üò¤]æÏiY»„™d·È°$nVê¸þ'càßA_×êWý_­öýfîþÀ���8È¡Â{®Ê÷oöÞ›]Ñ¶º¾à=ép¦†üõÄ$øãðt>ïý§z{u¿Ëîj�ßÎÙqq‹ôå�÷�t¸æÖtQ×ø´ì­¨¥Ð^¶Ñdñ/"RN« Ó‡ÿ/ð'w@ºÝä[Wÿ»¡Èdnöv€^¶•&}n<;òé,/œ3>Ö12nïŒS¥³ñž§è7u,ÃW‡£åÙN—md¶\2«Ívqó¯§¿;]çÏúû5�)4;û´©âL½«Ô4»éŽaø'Û[NV6M|d@üÆ[ßÅþ�žü�½–¸~Í«Ç›ú¾~sWw¹°
oíË[ã#�\¶efÁo³â\:¼ÔÙ¨¬ÔÞÔx¼jÉ\z…‰²¿þÕb²Òéñ<Agôl¼µµÍ8@ÂóèàÇ¯µ» Ã6•–K·ö¼:àµå€R ~Æxæ¿ðöZ{s<}¼½º{­«¿žÞuu5SÏänjÜ¹[2
0Y©jn¼5¥Ò_Hø(,Iôð\“þí_5´¯uÀ_Z~üì±ô˜túŸþiØÉ…E‹§ž	·@4w`ú×;Z<Ö#d­RœOÝUmuü‹ÿˆBømãvN�Öò¬ÏìÙ'øÓ\wë�·zÐ…ˆóû{<dv£å "W‡8f’KÿÍŸ?p_}-@ìàž™Ù!½ÜäRŽæé!ÀvWnQêú%Öè¢ÇïxØìà‡Ã¨V�MëÜ­½[m�çš·Á#lFª•ü¾Òüï¨ä2«o7Û6¦Æ•eÇ[ÍÂ†m´@ÇÏfæ7Á´`õ¡¸Pí™ ÒŽæºGÈLOº>b-;[ßÚvð�~hêÕk›:¹�Ö¹Õ­63Ì5oÑïÌßŒ„
>'6ŒÕ’Öø$¢ß™ƒ¨-Á²žxS¨n–C¹žÛç)˜Î_\½Cs¿ãþ²
÷­¯³væßÅ` ¾zßB½Üð€þÀÝ•¹¥;[÷ vðÍÓhS‡§×jW FóÖÍušü3×Ó®4e€ÏŸ1³jh0³k@i�©'¶÷¨çVa&˜û	8å'U[5P©æS5¯†ž¯½jÀY»¸Š?9Ô?Ä;Õ•¼çÓàå~q:‹“ùzÛÓ)ñÑGtÏ%c K¹hÞ¢n]?:ø:º·©ý4ÛbÎk´Éßwt(½wBc¤^´zbî¬º™Uà`î¾�ƒæ;²-÷k>QÕÐ#;«n›æ¦TÚgÿÐ�Ÿ~È_rÞyP$<6#‹îm²ªºBž9Ïeæ™–>5Ìþl7BŠ«üÅa n6‹‡»Hg˜ñ¾{¶b•©²QiÏÛ'Aú´8X;6£áb>£é©1R¦¯zblrÁÜÙ µÕøQ©ù5LªnŸœQ%Åõ�t½î‡—^Û»èã¾×�wï÷q·G?°+\ä‡3àªYôÇ˜­}î‚�kžeÁ‡¡¹pj7ÓUÜ,eº’±ž´ä/¶ËÅdÿ•‡‘¼rzÈKçÛçSnJ"Ó˜œ�[}f.vu«¢lÒ+ææôk­*÷³ÕzgSö›³Sº°ÊÙëEË}t¬ª+ÁÕÐyÏ:]GM§y's^Omƒ=®mø‘=Y¶M¿ÌåÊÊ›h¹G›éE6p„­é
•h§½—îÆµVŒW4F®i_¨×‹¤¬éœ½Ÿì`2ŠµGäv‰MEhˆO¹aÎ‹ÙÀïÉ�ZP™«‡¶ªREîâÝ`rŸTu¥ÕžqÔûUv >lÚ&‚ù?°5÷±ºå°JÇ\õôØô­fbl—½•xë£~ØÞŸ:M–rZ»¥êíÖ“Õ¨—”ç)˜(2‹¿äÏýP‘G}J—5
-R¿X
-kj?® …^ÏmËÎÜæÂŒÂ•3TÛ/¸z\
-/¿ƒÎ^t)mÝç>9£ìä®í¼Õ¢­b«+˜Uh¦›ådïuâÄ	néM¦Ð×.	9Ñ:¦²Tï÷ öÜq:�)¯ÍV¢@ÈcW”äìfP•,¢<îê%º¨O‹Åd¥‹Å(Ñ¾˜ëÖm7ìC×^„íX·ù^=Äº‡'X�Ü]rdÚÁÅ=;ãé{gO[³tc-¢ëË\ŸpÄØC¡Ÿò§Wšª¢]+5[ãº�ªÚÏuCUœÏzÊ°¸)Êú:—'xf'Ã!v“¬‹
-‰K®…‰¥þ^ªÌç÷\oÈ“¡ðàNÅ;ùs§Œ©ÿÁñ*k³Bkµ¨Ä²×9½‹n8¹oÄ 6Ÿþ­°Ë»ïWöí˜~±ËÓÞÜ˜ÞÆØ»Ã‡~šœsÚu~ÃÔÇåÉ¨ÉÊ0Î™
-rî¯§WGêr¦Ú’m3±¸\I‰èù��°Ù
/Nž3|£� ÜénðCN\¶ÛÆbæ±[_™¾�V©}é¥1}êþIÍ·qNé÷Ú7/ï5æÖ2Ý)Õ¨KDx13Î;	ýúØˆT¹˜µ¨¿3(—_k7œ?«O§
)ŸjTTÔýˆ’�s,Hs6VÅ•Ø¶DtØö…­š4<™G|˜ßŽ¹³{[rm”:³·ÀøüÀ,ŒKL\:°•�ÚÈmEt‚*gÚ˜Âmôš
-mÔ›*mXUeB5ÍmoU«õZÏÍË«¯–C©ÊráŽ’AÁvôÝÇXøbPÇÖ^‹d­Êtî˜ö1Mç?²Ù0’Ó6	1r¬°=±¸O„Ëµ›å€½]é+ðÂ€‰csÆî*š>ÐÉäé|Q¦©ùzeRÅÕ!}çz$}eV&}¦¢üÀ¤�réC¤:ºMØm´=¤Íÿ�èvhKò…™O:æ±^°Ê�ñÇ ƒ÷UjüNÒm-›»x#9ïóC\ûEXØõˆ2le)îÒ}ñ{¸¨¬pÙýzzØÂ¯Œ©iXÉ¶×mÞ/c:ß'6”ó1oäZÃdÎ“ÄÎö5"ø|ÚøQîÒrß.áá|/âa|U¾Æóì¦{¤ù^8¥níx’§ ù{ê_Å*˜Äg´û`UÆ²“Ùd-®OæR¨'Á™?ë_i^ŽëÓÂ;^0ŒÒéI½_×i«­ÛÔâîTI¬wÈêp0"1õ²$êÓò™ ­zæÆO…;ŽW|YÁ®ÙCãìÆ¦|¿P…r¯ÚçË=}"—{\_þZÔ;.5ãžW½¼lÙÕ}–´ª]± _³îG\—7i™ÝnElè¬øS�Ÿs]·¼ÿÍˆ¨±æý¬ÂŒ*7ÑŠ¡W)Ú–D–ò´ŠLn¦œIboÎ'ªâ§¤ÚÇ[ÁnŽ]OÙÖm¹ üØŽÑr¿NHè{¨ZæhfÁ¥	e0¥ñÇàï—8¯Û¢u‹ê¸îùý%9Ö®Lšä+h}Rü(F®ñB²ã[‰¼fŸôqÎ¨ûÁ²bœ×gÚÉ^ÞÔÊzÃº‚Q2(h"$3<~vßiÃ™-lc�Ô»å¸Ò™”¥ëe‹Žâ�ª¯^±”¨€/å"§Zœ“è¬h/oÙ"Âòd¹ãyd9¥ø^ué®Z/é
J÷¼¡�Hvé
Hƒ)Â…Xy #tí&PÃù�ã�Äš�ƒ9]d±	,KkâˆŠ‚¬7Þ>Ö`ì®tQLèv©rüìse Ï4To4[+…%ó Æ¥¼ÓY�õñ‚¬q2û#þ¼Gv™¬] øxT ˆÆ»@²€Ÿp6VžL÷‘Ëpµ»5†ÅÜoˆÈ×M­=ÙkA1¶(·ºzãY49² TÜÐÎ¹:'‰ãiŒõB#­,ÊŠn¯Ðt'sBõÆòYšžÏÙ’Õ�ŠÅÅ!Šn_â‘õÇÖLky…útÖ*�va’oŽÄ]®3­¿àûûT†E–S²ƒú®“Øó,‚,Ì
-â˜ú�;¼óX4PWîøO+ã:Èh+m~J~ß²# éRÚçïì +¶än'Îq®;£öÙ+¢P<Dðüh^h¸«]þ´9\ò­ùäA.äº3­ÅàþÄa²ïg gU9q¡ÉøÖ‚à':ÎØrí–�oT@iþðAi°[wé¿Áâ}/e
-Tkiðp„F¹ãiÊÞµ‚z[Ô£ù˜R³ä¾(•›ôóì™z0pÉ9QÕóz‹_[…yY•½qÑ[&½üÙÍì¨]ï@I¯3‚rïÁ<ã¨‹]¹/`ÕËú®Rt(€~€šÂ©ô|ôbïº~¦c ›>ÐDZÒŸŠ; T¹PD¦¿9ÚÕ»ôê8¼ë˜ô2�´= å…·,	ÍÎ-Ë³ø‹.èÑêu¶åQn?/®È(1fËýAøgÜB)åm¦›Bƒòm°Nq?ƒò�~§è )^•tŒ›zŠC”ŸjúºÃþÊ;ÊË‚ÊÃuú.þèÊzXeîÌƒ2ö‘ëu™þÀ¾Â®;vÕi¸Çø²ªW;	‹feî1;ç*vóö"©uùRþÜÄmÉ…&zÃƒZ1Ê,îz°ÜØÐê§O¶[€�åkŠö`Ÿ×¯>†�I±5žá›)6S€Czú¢Û»°]GØLè,¦.k¢4À”–ñµ×º™óÔ�‘½ŽÕ-_·�*/ûMV`šCœI´$Oü6]‘±W#{+-ä¾Ð\©XÙ8ÃÌ2]i.V;¯÷Òïz‹8­‘ò³ÚàûÑ
àO�DN+Ÿ3€ +Å¬
QY¤¸?A5q@iëWé·À¯³;À“™�¾#WMÑëúŸÜjæ,Óz×luº55É‡†x5ð-’®’£"Þ[�3h!Yß§ýã«ƒÏ"ƒ®Ë#@`Ù:1DGþÕ`‰µ?ÿ—-x»d&wdÉ�©Ê€lñ ‡K�#®“"/ä:HçÁ
Mrröõ@Ö­ôg¶"’Î·Ó·2'>oº<~`ýù˜„ßˆŽ´^ë)•%Ýeˆë6*—s�qîkR†G÷Ù)SÍ�×ÿèÉ_)9|î¹@þ¥ßæ¥ó?"®Ð¸Ê<@€êI v3þWƒ…9ÐØºhÜ\Z(fmž9@‹Ý: %}	hËº@g}@CöÖ3ÐÆ¢·ÇñßÜg"wêKé›|QÜµ×¥Üß¤c*
g·š"x×ÿ?3p[‚ÿ%ãÎÊ B“<¨„kTZ*Çç0…-ª/&Ý¦Büf0@ƒ®tÀ”‡CÀÀÊå¿Ee�Èµ™â¨X#zØD—^N,t÷Y*-O@—!ðOþªÈåãÆû¦ÿ¿)¸ßøÏq»Bú€£ö;ÀÅ³<àókðõÃðRÿx UŸ)Ôw�&€»™÷?¢ò7þ‚X×él™Z#š*›mŠÝZñÙfÌ)³»*ä?Rò·
_ð÷ßÿ5Uä¯~û•nÓwÿÃrû=:­ÚêþuÛ.N@xJ@lŒ, &	�ˆMHâXRº¹õY©èÝÿ¿•ÐçSñªÿŠ²åæßd„ø¡.ÜÛÍ>—-»Ÿâ<sn¼ùÓY=”Nmè†Ÿ˜)T9Þ,„?òKD><=Ê8Ä¨êí?�îÕc·¿‡Ò’l—‹<°E†nƒ&nõÏ	YNËúªµ‹ˆRõ¯úÿÒP­øŒAÂ> {¤Ý�ÕÁ¿çªhç²eæ½�–åLOG[î?Ua»W÷Âq—PÂu—k³�_ï(+¶öÝ…7+ÑE6èÐ-¯·j‡^ãÉX\…ù�¹<{Ùú’Ù†ÓB?ó˜™3Ê	‰øÅ«¿èÿn¡4Ú¦õþÝXÊÏË¶’ÉžÏzbFozÿñúÜ^Ý.µ�q\:[¤;¬­·r­±ÆÇµöŠšÑ²�ƒÅÍWÇ‹´˜ÍcRZÎ¥“½›}Z�óL½uŸ3(Ze§Æë7?9™«“ IÍžøl<ÞzÇ×Ÿƒ²õRé?ð¯ƒ²À_cè7Óô�úq©õvN=Ok|è_VT~–íü¸°¸¹kü7Ð³Ýá¦	W—¦¹~]KìOÕœ¬´ª;ñ³ÍÚxkÕc|ÙìŒÞ …è:žƒãjØ&‹çÁ­%|3Åâg�5bé“›ô?£ÉýïáX?ðÿ=(üyDþ×Íx�æ‡ÁfÅŒ+jRjÌ>õFkš0�A2Ó·?³¼ŒƒÜì9
-‹#0<W“Ü�Ù'ÅAD�Êþ¼¢â˜�3¿ÞÑûAì�ÄƒÚ‡†³—¨¿—›æÂhnIq„,½Y×Gg§.º“
-�mƒ´:uuð»ùã_ý7¾àïUüêÉ«ƒ{ßÀÕô¾ØÏ,;Æ§yxö¦Öà,jþxlÇ1†ýO”ŸõÕWqÝ33`Í
pŠ�9¸u}äõìlÓ�Y'À`¸ƒï±b;¤H¼M�¦un×åsïYÍ[ïÒø�›ü‡†ÏQ¼cÝ)…rŽwŸù>NqüÅ×ºzˆsÏá·�3¨éó_­vp«yé¹ðÅ>ÔgÈ^n$	2•´®_°ÝÎÖ«}Sg¯Ý¦Ž^¯Õ®xÃsmM›ßX4ùg>ãÉ1”ÁäÚøŒ÷ïÆHÿÀ
hŽ õÄ‘*u³ØR‚yu_
œ‹äp9ÕVÍõÇºê3Iã‹økcýŠÊß;=#ñë¬�c½D4î2ùÜ:AñÚ!v/´ÚÔoFì‹	Ÿý¬JŸ¢Ñie·¡eÙ žXtX7r·ž[šqà fºç�m0¯­‚x[ó‰Õ¹ºmž_Õ€)æüC$à~(Ä’w<}¯­6F›ÕßîmV`R4Í?ˆl×ø&_,"DÒ'èy@ÆqÈd#‡A®|MoÒ+Fí.ËfÄŒ·a,,®�‘²þÔcŸ¯çæ,pŠoº¶ªeøš�cju–Œj@W\ÿÐ©Ôü�CŸzX]¯-¹�ùôfîm´ÞºBö~už³
-äÈH5]Åì‘¿m
“ë6t@ÖVr–Y¡(+wåÙ/6k„íM§uÊôNÕJ´„©B»MÉîã|eÚ€Æ­~=7Îd5ÛÕüòéV
Èð­O>ÝÁRwõÚbŽô˜7Îº‘Š
-®1ª›ŒéÈyÕ³?‹ZÃÖJ­®
m–cËäßks>À.¦Sñ cÕ]ú"u};¸Ç:�F�`‰¼v¸kØéÌ_©gûìú±ûF 2�Æ
-)6¥êó]Ÿí²§ tW5Lj�ª;�«DJ|šÁ·¨7WgP
-óŽ|�cöØØÒ¶Žk~ËR(Û\løt}1Ýš×2Ö‡FßÀè~¢ï.×�Nò…»ÖŒÕœz“ŠÊ%[éÍ#El†ù]yå7Cò-âóáfÑÞœ¹ù
-Æ¶áPlä‘Õ§¶]¼.UêPIï¾wc»S�/¤‹þ£t9oü³v2MþfÃ
X6Ìea&ZL*Æf½œ»iúþ	Ù:å 5í\ä[S5bµ»¯M•'5Ü)ýóû)8¦ «ý.ûK	È¸RŽëMÄyÎÿˆv|ÄR¼È/¦ó°Ù.r:GîÍ†ãÊ¨TËãß3»O¶.(x3ÚÜ†¶1�ÖlWæŠ‡.ÆÖAÞ~Ò»¯‡ºYÖÎû€ÖX*àÔÛ9VTAKLå•=øŠlÝBPx_ÖÚÒTJîµ�”'Ñi�sÂêÎT„²8qø Í�x‚Ë¾xë`Üaß#¹Ã¬ILv×Kg~‹rœv§qåV-*ÕH«—ñz‡Åí�P›ß23«¯F¦?ÖzF0çzxNŽZ'»}ª÷ú+«
-ŸbIheBQ²,+�-A’³'M—¦­À•ò·_W§¸ˆV‘X|�ÇBUÍ­ù]"Ýx2ßÎqMå@³—D²Yöu2÷áøÉôXczå
-ùÅ¸)•z½’&8-q´äê¥yˆú×V5ãª w³ÃÍÎÜLºë3êãÑXo6è¾Öi³‰Ú›ú{epjß•Œ:ÍÈz²F¤Y~�IwG‹îfÇ‹¥(«	ÕWÞæ÷J¹Æ“¶Í�Œ`ÄUæ£5Û-ÞnÌÃ(Ã•·cReü{Â=É1­°;­7g(­»{â‹¯÷û�ú­–g|€ÓAÙ{B.ää`ëj¡èroPà3×®
g¤>ÚÅX
-÷‘<ñÊi±©ð’ß¢çº¹X¨Õô¿?X$ßë,wº4eŽá:Ûí|æñY4I»Ä•á¬¸¨@ˆv¦
Q³é§
-Y#=íÙ#K�É…,¤Yš{éåZäàí{]Š,»?p˜»|�ê˜e÷c*��4ô›qú{íÆÝj$ŒˆØõ¥y¦ÓWøz!¢ƒìIÀ'àÎ‡¹Äµ‘wž½U3Ëï34S°Pù´KZE½“.�ˆbº¾Ð¹¡Q4˜’+ór ÑañElÕFàÑKÁï¨ƒSmã„SþÁ)'ðF‡"âÉbÒkß*wçÑQeBÙIš$d¡å®·{§Æöj¡@õì0•NiÐÑ§Øˆb5ái®·åÚ³õ•�V‹7óÊÎ`úÅŠæ
	:ÙNX:OÌdªX™™äêú¨‘e¡Ð!‚�8Æ�™æ'¯v~qEŒU¦Rùv3[?pY s‡ô…£|™Ÿñ2Úb}{S‹ZÏîÎ©—!ƒÿº©íùµÇlé¦Ec¯ŒÎó¥ä4ï#a‡7c¾™±»/
Yá#®˜�f+cK¿W²iá›^±üVÍS.¡¢dµÂSÄ®«òD�ohø1zxì[Øe‚�0.g­Ë=gz/‹™‚ŒŽ€‚A¹QWn»’–hÙ’Eå’„åžÏ{½æh>v"P…t¶üMç°ÖÜÒ/Væ¦xõ [Ùh)ìj‹wYsýt	{GŒÒZö*°¹ŸÒÖâ½¥–(|&7øûAbM(CÔ¯9?ñŽWbœÁº€—ËÝ°Ê}x˜Ž}ômŸú¨²Æh¦Ú¹–ôÙ)Wœ¶hM@½XàWd±`!ÄUÌâVäRDÈLN‹§FÁÍnïes×?AÚýø¾+ºŒîÓí/ùæ|<fÅY¡ÿW&ê¤K^R‹ÜlÔ±?Øs‚’[;¼5î_°<|a¼�dËýÕªˆ~Êi/TëO…(\+mÕ/åØI·h÷Sdy&Êv¡Âf_¨p¤çç÷cgùç÷Ý<Èï
¡˜¯?‹H§Sþt.ç:þý
-ñN�Ø•�æj}…oÙZ#‡¯ðÍñ 7aT©4 ¡Ñ%ñ.ÔÄ™ó¼]~NWÃ²\8ÏÑ‘÷Ü¢Zù=;é1¯´ø—³Åù0(‹PD!¾9‘r²�Š7ò‡Äæéür›k«…7	–}6OF6F#˜EO˜oßópwõ*´EñÐ
öi{CøÌ[e\N×îÞ…”‰1»K¥Ýy/P�¼b¥j'¡çÌc@n›^„·‡fˆt­”�ò­bqPŒ‘j†H
-;ƒ]êxpÊÃö#ß¤×ÙÜ¥sI/â3KÃÂ%+fkÿÀYÐ[�v^M2S=fò�‹"*€ùåÑÉäKÓ]ÆTÙO&i¹Ù¦~kw¾‘'.|Ž9“Â]T“Äôõ{‹µÞóÈÝvÍ@³ú”òƒS:�k|”ŽÊ7Kùë½Z¨�-/Ç�J,N±NvX¨²OœB´º�à sÎÌˆõ;Sh¾ÀÝP
-,)Å¥
-J–§¸í@Iúè:Ï…E•u[_Áw%‚’3’AQÁœÅ„9Çû?È×sõÜëìýgt·ØðR¤ªÇÁ¨ 
pž“ŽS]€]×_Ï¶eÞ°¿Zê-÷ÉœJ¥ˆlÉ…›®T1 -ÒGO…;�O’ž'7¼çLC�È×ùÙÁ‹#=Èî�I‘³ï"d5j%PYˆ. œR#–éàË`�÷euKïˆü„‘gcYæaJ ¤Å9íê–¿žâW½ð“óøh†¼y!¼ƒ•nV M§X¤ßzÎ|®sdÞKpüDöªþ3×½Eg¡ß7l½ÎÎ©>â�ñy1ì 4“	�Î£\…B{Z$BX€¤+ÕXæ-@*ð(uH{xˆåõd±��e-Rc
-±Œƒx_H]œ’_]‰[8 	<^”qñ»;ÄÜ�÷ª?–«wt×tâ¾]Ñºˆ’l‚‚J'¦oùÒ¯½ÅÉrpáªŸãŽ–‰Ô‚@
-â¥·^QrËx+Px‡]@NKq¡×¦¨Ô¾((ÛQœJœE€2Ó'@¹öP­¨*/Å2.ªF·bY­÷¬¥<@±Ãx-\02ñJ	å»/›’í‚Y£Q¢€Q*Ü·Šj¤yV­µlâíã+µàÆˆ³å�§êEÐé	J*šåPù}P#8.îÄÆÿ|ç€Î6ú€f�3@kÌ7A—.¹@û;è…„ÇÊ€^råXæ=@¯ÔM,oÐãžè¶Yt�ˆmÓ ™“¯‘­—‹«rÓ>åd§ †N^¯p!ñR‹¢�þ�Y^÷žäDì�0Šš¯‘Þ+šÆOÿ{¼¶Øt±Ññ:®ì~þ!¸‰-¸ /SíîÓ¾Ý³Ñ!À\Ç`	N‰eî–T‡€•^Ço®Ba’,­ë€�õ€y�Ž€YmXÀŒ{Õx çD¹m7«~Õ°†¦™DtHæÀ ¹ºád“¶Â6Ãú5#»Í-Tzz!`Ò¯Q\ƒ& ù»•¿f`ç¼ýCp“D‡_Œ[ºŽÙ¦W”iÀõ¦
-àöªËe¸g÷øŒ‰>ŸâÜû:\Ô»nRç×±ýX>³xÄ·5&ýÂÀ÷ëº»qŠr¯^×|RègÆ!ðÈ-¦3wºúLgF¥x£Ø8úSÍ·†¡ÛÄœ€ÿòÛ›Jè÷÷—?FÜ h@Ð�5 »S Œä"„ÂùQÂza|€*zD#–ë¦È‡ëßÉÕSmQ“¦ïu‘=ïû*•n„<zJ/‰žê#ø^íŸz’R’*ŠœäoŽÃ¯ùöï¤n	ºýÊo†B‚n7ÇoRA·¤Èš�À 'dÅx_rFºËyrfˆ‚\µc�œ%tc¹ïÿ@åuv¤(
-ÑÖn¦Æô¶D¢ež~š‡¢õûãJNPò_ð¿Ó€ÿü%¸	Eþ�øÞ&¡·‰å¶Úì%•[¥É¦€ò! :b¨Çâ¨#VjóåÕlÍ€Z¥¯ÿÿûûäïücš“LëõøX›ÑÃX<–wkýØÝJûÇåZ9Ÿ¾Ôöô¹Ð½|ößçìélœ‰“èãÍ~
-Gyù”Ï
-jüÀmK—öÏªï�£ßÝ…Âf±Cºês[zgÿ…lYíÍ¯X	�…y;÷[)óÃ:{·"]¹VN™x+—­(U.µ›×<û/¯§æø(/âG¬¶æWû1Åow!‡vÖ™¹lóØDjúµ!FpjíAÙÌšsTd
-âê\®çWâfé.»9X<‡ÛB»
„øÔ~+›Ù)Eú5¯zdžüo{í5^#zvºÐíÉûð,¦>mÅ¡û1aq{ÈóÕÒð›H¶Jkp•èPà¼Õ¹„Æwþ•¡íe—Dz‹g-´4��Eh1åçz†¡cè¤ˆÇ4²”ô”XxÔÄÃ¶Ú„ÞÔšãƒW¿�6…%„öoàÀP~ÊÐß
-à²aSÑï›ü‘”¬éák¾:[—ÍJ\¦/Ë.Î|#ŠÙù'Ès¨Í2áB}sSZ	“­½úæ	öÕ1·é£smj�ÄÃ´<¼ûúP¾\Û?ð îŒÚSXö?ƒÆ¹o‚=Ô­¼Ø³3z§‡¬ Ãßé±~ÅÁ?ç¿©«É,^;ÄÇZQåùÇ{fÖõì†èàÐ˜ºàÙÿ¦›ZH8>8HôOøêù<ˆÑm ÝÎïxÀwLýúWÃüëÙ ~ý«N<ÞéDeÞè¸¸ítˆÍ h{ôaØ¦�Üº�W‹»5µæ¹WˆûcÍ–:[4ÅwoþWPÑ¾o†&”1	K�;?¡gñ�PÜ¼¹¡|„Õ�vÍZ}¨ÿ.÷l�õ{È$×í¢svØqQ!lo]vÑöHõËúõÜ¾°ùsóÜÌß›-±üiÜº•tC~ùXðNÙ`�¨þ'¤JþØ®7}3óš×ÃJ÷SÝ±Q·)¹‹Ñù+IfCÒŠ‹§û½*§Ä¸NÇå5‘þ§µy÷¬w:‘mgÚ®“­CÍZÜ!ˆw=í¦xYTòcìmÜ´Ï¢ã�Í°ï›éhìC³ó¼ngÏQY}öÞÂ¥oº??p-ª{hÍe#¾Fœ	³êI5¿J?²÷0€³±Í_ëê$�Ê‰½vi36qÖÆÅÉ¿®ÕV@¥×�[óržÝ×3ÐÞÙô7WÁ`q
-slÝÎ¨’·(ç5ÏÁË…ZT+k.]wkÄ¡]¯z|£Q¥/Ã®{h¯Ç.÷ØÍ+çAzWiéÊ½|›TÓånaÇ8Ï™wÎ8pt¼¶+}¶Fü|ùë[M$9Ü³P0s	óî!#úÚ:T±u£+Â@{>F>4™OêÈ|yú8Õ\òñ¨n}(Uõ8:ÞûGºÜ]ä*çž&UÄ·¦þÀåÛÈ2Ê
-dÙÎ3¬Uœ�Ý©—>ËQ»4.ïG%hó^C/w*"GØ‹Æƒ¶Ñ›š·¢^¦gE}èn¹Z‹ˆeÁZÄgÀ¬ZÔ´4ñÆ3¾o®i¸Ín·8x�Ž›ú»N<§Äuj.1ö«Æ
Ó8‡•sç¶®ˆÏÏ±ÜÍ#wç9E?ŽŽ`éÒgÁ£%ãÉ´Ö¹¢M)bÙÛªípŽi£çnÙŠZÛÀ"îß«²°í‹‹ý©ÍÀŒR&ËœÑ*íËFËÙ­	WùÛ¦ÇÒFæÉ*
l[ìl4(Óè¢G½ÄÌv5j¾Ÿ¹§4Ñ¯´óNP‘¬´Wîj—†óœd†ßã2ÏÌJP”ŽŠ6‰ìE�¿ÙNÑþXÑ©
-[n³�vÐ�.xáR0�ÌQ5ƒSÚ2."é­›ÝÊß•î$¯·}OØ¡�ßDA3Wï‘–v«‡8þãò‰å�
-Ë'Î¤n±u&ÎY?äÏš—jï]q¼Z”µÆgè´Ý*MÑ‹W*¤µâŒíµíee=±ÖÝãÊ¢²àP¨7±[�5”�Ùó°)xuü6Ú¯6cä–ë\¾�ïtý]»õCzzjh÷4+Õ�«sëpT³C(•TÀÊqäêkÊÕwõ&SÍQ*‘‰ßù8=tH‰M%fë˜¼ÜòÝ—²^l.J¶uÑ5ß¶+»µomVjÅªåfÁWzc³ÙX®Œëu·7dë~Í÷�éw^k°°>Nå0Ý˜h-DŠ‚†
M]ð3[EÛÇšRy¦;òV—ÂX¦'Þ>ÀG �u†–ÄITor3oŠp�¥™oL
uù°ÔÙ^³R0IÙÚ®h¿*=½xtÒ£ÚÒ^ëã‘åí±N!h¶}³eã®)ÙÀ�¯j<®ÌëHq®�ƒÆ6~`Ïš]]>µu…TÇ¿fTLÇ)Å�P¼BTEöæÅBîˆ6ÜïÎZRkwŸˆwŽß‰J+xƒÝ…çÚ¼Y%&±œî¼iÐÌ›2’êÕ�ÓnÀÉ/Òv¶ÚhJ¯r¾š;—·ÒÊª·»có²ºwŒ{·ä_åT5
-›šn.R]Í¾àSuYP×*¶/•*W¾É»Võ#×Í’;Î¦ñÑÏ5Š{Vº¬®9)G¦±WÇËÂë”o
-y±1æÊlÃÍFé'—¹	¶ÌÜ,vŠÆ,U®qß|‘b±Ö85H÷=§•ã6R½<0Q·}#_NaOíZF^ÅW¥0�}èØÍçj 
-ûª–E+eµÜš·”êì4–÷Ù÷Rf[Ù]®qÇ/ÒUÅŸRnD§Ä>ÄeEu[¢…S…T££ó…ë¼ÄÍå«Ï®òð€Å;¹x+ÌFž=ª‘ÅéúuhP'ÆP§,t¦YÕ…h–µS½åX)5ÕÖTòj@B+}{—J|´ü2½2eÎ™ä
fÖÕá�ÐPWÚ¨ªÔH­,ûªåçšF-¾ÃH×íh&ÉÌ4ûÃÍQMç7BæoÞr"˜G°'Á•jÏ®„Ê¼l1µvÍ£÷�i�æôÔ’j¶Õ+y}ÌQ²äuâ±Ý¸c‰G7"ç¶XÜSênHÉiäï�ïÓ‹ÇÊ£%x+ãÔ©ÐÜ +CkéÉ·»j¥ÿZªUsg–«H�ë§*2ñ8àÓ0&‚qµ¼õÔ6ÜB7N:1î¬;)f[r³q‹ÑQ‹¦n”£¹ÝÍ Zá’·–Õ!åûhF4øLhg?ƒ�sY7öÇ9î‡øèƒCXøîìë¤ ÙŠTmî1Ì	±ËÛ¦ÃÍÑìRÏUêaãø>†N«]…ŽöAN|ËUñ¹¹•…ñ`àÄC¬(à�sŸÃ´OÈº(bv0´g˜r¥ƒ}Q’�)©®ä�õRiŽubp;8P‰&>~û!ž÷ñù^£‹Ó*‡:n£‰:e�¢�ÖE÷Þ»ÝÇG+†äv9€•ÕõÛâ3Ó£¡s‹¥žÉf&Êö�ïæÎ÷i ê��+¤ƒ°Ì-f‘­rz•©Kv+n16=Ñ�b8§.«Å†ÊÑ‘ìyÛ;ñ:^‘A–7žÁŠ­`³a×Æ²©ƒ�–mz”]+Û,•º¥2»®/e˜dêhz“ñÎö3ãEú³%O×¥ïlŒ]NªF/¼èö‡ï‚Tîóæ8\iXù5‘�ºÚ“îõySHnñe]
ÊÌî“±éÆíåP¹å«Nö‰L‡x{äˆÈ¿¤9>ÍëÜJ¹'lnO,»Æwtå\ßdÄl�VÌÌ>jvõ‘&‚Dp+½Ò�Â™I÷ž}7ý`K8§‚+œcÁ½ñ9Kµ`‰He3\b¶÷i¼�W§rüƒ½;»Iî2a{_G÷¨Óä³ú¹ÆV^…nJ HjBÑÀ§‡‚ƒ-@ÕÇÐB£ƒVæíav‹gÙZ´^gäå”ñ÷Ø9s9[e–{
9­�&64ºÝR•ijzZœàB2Y0ŸÝ
-)ø±¦¦µú!5µ†×À^WKIä‰“9ö0K ‹o#…”N¿àûøœM¤Eõ…)Ñl±›öÖ£Og½B>™]iÁ@‰û<ŸáÅ¦ý#­î¨
-w‡ýVò›^z0=MÒº
¯ ñ’:@i\}¤ìZ
‹EŸvRB€¥.€ÞÜ=@wd sÈh3h�ÛÆÒ¸Ö×}¡XyÃ‘ô«ÓšÄˆèsŒ;ªTÓ\ÉÂbŠï>>àÑŒÕbüý¢NÉ;²B@›†�º­k\ã(›å±›–*r],[ãÀî‹ÀP;mK?ŠåýÍêÄžË†ØQÐcYz[Iñ—Vç3ÀÆ°v)^E­°˜<‹?£ï¯ÚI|Øexì‰ÖiÀ¢Æ¨‚¿µU›>)¾á¬¥Çe
-Ö85d=\ŽÇbÔí<ð	³q¯ k]µ3�âÊHÏ\*ë{9€�ƒ<À£ƒð5Z�ÅêÆ2šÆòÞ|“¿Å2‡¾¥ØX†&Àg˜ðÞ x_Ž—úÏ¯w6€ç×k€‹Ep¢—uÇ‘UŠŸêb¡³†Ñ¼Õy¿5¢ ^äæÍÝŠÆ£1‹»›!ÝzbR´}t}V2B?e§GŠ¦§Pxœ„Ö’Q:ç¬'Î�¥b0ïb	Ïq,ïcY?±Â3±´@D;–AzˆöüˆZ‰„§z€(šÇxµi¨ÂU NÅ²MR4õôû�õ…�•~È7éù2w‰ã›iäçc2ßzv1<ÄüŒH*i£Û·RèÍâqÓ)& -­ÈZ§ÈÎµ
È�r[_òv<*-½c™à_ûÈäbé–ù$z€<L·€\i@Æ�9@6×
É.€,ŒÙxµˆî`<]°¤ÚKL"´µè…BrÂ¬ÃìY¶®.É÷¡3ÅVïE/Óâ_�8�N§*`�×Š¿P™JõË€Vî‚ûkÎwµêMuºG€Fõ3 ¹´Ã“€Ö* ¢Ëth14ñF�ž™€z¸ß¬NêPyêXQ5Ü—‹õbzJ:—Ÿ•²”Ê
-"åwÄ‹«9ä‰zVòƒ�0sQZƒtúÜnü©¦ñö~y2�Í7ÿ‡xòÝ
-½Û
ýÀf€�í
`rÛ`j<˜é˜ÌVÌ&\ù€™â¯ì3�fvóÊ€ihñgY¢
-±Ìšvc�Í·"i:±\’LýèŠIÑwŠ¼™£°Ï
-®¸H[ˆ4üÃ““z¾…üÂÛÌÀ¿Và_~›Ó_ˆû
sÀ#p¬Ì®¸1¾é
~µ	8‹ìà†]	pMË�{¢Âp9’©öÐÛ"Ur
$/*wÏIRZ)ö¸U2dáL¾P¿#œa¨	­@âÍøåÉ—`ùåÉI	EþFÿÞ&9ÿ1ßþÆ'übSüxÃ+€PfÚ±6@¨´Ò@W4 ´s Ô2' Ä÷¿¯–—�À6çÿ‚ÊªZÕùMµ$Ðý—Kâd:ŸF^Aá™ªvÅÃ¦�¸’ÿº€ÿUÃÐí?æÛïV‚›xpÿCp}·aÚqè©5�í¤M¹¤›é.~€ô@r±ì} êËAekµ,²x¥“E!â'²0[’éùºŸþEÛ¿T;©ç/¼M(òÿ€·ÿŸ÷÷odÂ¨íŸŒ„Íw¦<%5¼ÄC¹
”óÂ*Øì�²é@¹U‹@M+£X‡ÿƒ„&Àv!þfÛñŸƒÔiðøØ©ù*§6w¤úÍ„¼•©Û5âá÷•h#Ð¥ö€�óAƒ°37ú�§ôa�·"$žå§ºÿÔnæ
-žå�u%ÛÒÓ˜l\0?oˆéˆ_omµK±–ÛÄW›ÀÐ8DçGîÿ(”LßD;{C½s�Ø´v%š|)–Vp>(nçtÎ;Ãc‘&IPì.dg³íBì-7•WaµöR¹Mt°„ýq‹ÜeÕÂÔçòVµ ¥¼¯a‹7æŸÖÃœ�bsêäa†Lvxâ§MdJD
:±®ŽÎ�MöËH¼¡Ç›±9$é¦×çþS~¦÷Æ%ö�gˆ[´ÉQ�våU+këË.¡˜‹ÃØóOƒ)Ï�+Y�…2éÏ¬'ß
-ºÔÑ‰4žºñsd²-9»	uïãCdÇÜÞ”¾y°<äoíý~Ø•­tÂh}3ÝöÂbéþ/{í7Óôï›üë­ÒkEÜ´>\‰‹öb1 
-ë9Ôb³P*>þ	Ðà/µ¹ì„^rÄ8Àizt®ÜH<Ò°Ë£ÊàÙFóƒAN,ö?}­Ú7>¥f/4›Ãž�¾®{È¼ðê:è•í¢ëcÐ‰jƒíïDY_IfÈJœ¬~Mø
ýº“ÜÕ6þæ®F:cŒÅWitv�7w™ÖðVWFCùdÎÚM‰úÆ‹ßõÂ<sì!SæÚ]XÒó75rÔt’¿ú�“«Z¦Úô¾.´®­þ	_Í¥ýXºaã6€.�®~ãƒçtÕž!;	vvüW~_âÿVq“½ó3à¥Uòm£™¸j(Ý]˜¨ØEgœÞq³Z±C¬jµ¶Gø�ÖÁó;-îèš-¡6þÇ¿Ú\ýúWzÿë_�ßüqaóñ¡ù©‡A×‘µ&Çrr½E­0ŒGƒÝ<ôD*µ¨ù±lƒ¿’€ïÄ^›
ŒZø(“°ÚîÂ@.ms¾8Ô{4[\jt¥Ú�ïK6¨k)ÐÞ¯¼?6^ÖìCáË©‡ÅL­Ž¬Ò¾·¨`-ÝfºµÈcF5âÈ„ÕmÃ\Wé«st�ñË
äWÖå^¦X9·¥JË¨+RºÊ·¹ üËºú•ä\üþ2ÂŒÕÑ¹¼Ê&ÎÚöÖqvq~²ž]jâ�óð¢ZÙ]Y°WÏÁÔ�‡®+H-ªöÉ±ï³U�ë‹Uú<WÝ@šæ]î¾²*-uåTÄ÷¾Zî§àûþ~:ÕuÅì¸ôY	«X†×ÒØMÁ%h—çŠaýR*ÚÜbVD.ƒô_×j"	TNŽtß¸wžqêÛ†|ËM}hâ÷êÈœk×¢Ê­ýM�õnC÷ÐxÎ]î†l+ç®x©ˆ/ùY¾
íTYI9g`Ù˜£#];.W2±@*Aë�V´©qÁ^ø¡c£çÈ³¢6ÔµÜœ1·ˆÇôTðt*0Àç`ó0ªf`“›X.°1<‘¹ql)Ã.m¤;Ñº6”ædU·Û£a�Œïaq]¤ër—{¹|ë¯keùso;ƒBzTŠG³’‰’ëbè2‡"²câ‘…½¨+O=©ÀŠšØ"n´°íV©ýªræa8TL>53�óôåñ8¸�¿-½0¯àÛ£þÜ*i]g¶9]g÷]]ç†']ça }Î÷ÏÔ-]„¾y‘¸%`‹«+íuu�úãJ{8h•UÔ 	VilŸŒbX>•ŠÈæíÙ“m[QƒZÄ•
žÌ.ÍÃ€�ÛAW�&Š7£U(¾)>wóÝR3›WÐi<²ÐîFÔu
-6´±Ÿs5è\m«¶´ž+‹>yQm‰+Ž¾¨(XÊšÈÑtº�åt]z
¾‹ûH&xÏ[7�ÀË›ÊõnMœÑtÐ-Î[Çº½bsŽµžvò?°µ¦+†Ebš]`(Í5ƒ~¥a\ÐNß�Z£I¾—^-óÊì´Õ‡ì#nŽþÐ&&
´BZË¨³z…R3§¦¨,›CÁî)W®ª¹Nn7j/rÌíx‘ŽõbÜ·”øÄãŸVØ/m.Š¥tª«ºØö+çŒoEî½ ¹MY{ËÓâÂqºÖVÖþ6[6›A³`
-kZ3.»›nä8¢œW]9Ð‡÷ROOý‰6eç«XƒG›�Z‚6'5»K=•
-‹¤üÄeåšaÐ¹}XËå¸Ì¨ 5Ë§šxÝâ=QfÊ+¡_^?øw˜£øüëâðù÷`Ìç?è.îØŸ†y±ySH½ë÷Ø•tvë¤E.´É‚Ô-ðFÃ7ºÁ©œäŒ‚þ)~t}´Š´øÜ¿•4„…êjiDw”GJe[šË[ÅßÈôÐ?äùÑ-ÇmVé\{f$ñ‘bW ¿ó%=;†Á•
-o‚y‡-xÁ!ƒÂ•uÀ•`"¹]b"Åž°¨w;°¨}>ôJGVlÊâ‘EåQQÖÔ®¸´‘Ðbö|Ï¸{E?¯¯7=­‰–f[ýVž++Q#((d*úN¡vkå‡Ï Çç‘©Ôš¢KIªÉ;±{ÐÎ¢Ô^ÂtÓ(„8oÎ<7Ã �]R„Ãb~©Å¸Ñ(¤wTöB3¥&FÁŽGâÁ4=¦×î�:lZ‡.™‚ÅÀì˜HõXÉÜË`÷ØÚëÅ34/gÐÍ‡9_O?FuÙ¢me­ty'HrîhIù¿pÊR›ïâ}²è‰*�…a)šÅ-Î‡5_�Î>ý@î\Q#»KYOÛS-¶z·Ú–h–D›T£^
-Évet"î3"KôŠ‹èi³!Ñã™-qw”C‡)<D¿ˆè÷²yÝ˜Ýo¿þäõbj<ŒWOŸ¦(_]¡~E©Î [fWÏ	2©ˆô¢ˆj5cù~<L›¢z‹‡]³Ïwæ„]±ö‚Å›Î–Ùˆ­3C…‹7ígŽuªŠ¶Lî&;Œc�Fèêæ3ÆGLéˆ§Êg›B}›¦«lrí°Éîµo]ü�X/;|¦ò �÷R¶9ßšÔ`š‡ÇžV¢S¾²qK™=žm©C+º¨~îJÜb©][âáS/Ï•Œc…]…wŸ%Øt‡©53#zË„4§`Õ2JÌÛ²3­CÄâ„æE|´ÁL¢m³‚Å�oÐŠ"”]-­|v5úR¸ìª9\gW•É®y?OE¯za²å÷`÷(â·þÖìøÁTŸ.‡]µâ_}ÙïÉé–ZØ¢_‰¼5›)ZQE–èª*C/‹6àõ*Í]gMª%/{äm°þ¾�®€Ý‚.[ü3�ñ±Ãph]Èb6ÕæÐ…¿ÓQôBV³.e÷2[»ÉÐk%…ðMAò©“¡½ê:CÛõmc”nŠ5?—É–!0{Ø´âo�þÙ™Æw˜Þè*µóÆÏ5ßtEÐ]›é<ëe™a˜¬HóúC"ïÔ#O*\"†€õ}’oá¸ÐÇÓ¥â›¡í–q'ÔÙíÙ5ûNgÉKe¼{9>.ÈQ]–¾•î¤ï,9O+ÍÁz‘&ŸV
-šŸî¶³ômÃ®‹-‰U±xÏ–pý^8—­m~,éS5ª•»rÜ±ð¥n…p…qàÙœS¿äo[T¨‹þ¿-öhrø¤U“±Y¯f`ÙlßA—«•‡âÄ¾•­z§~–RñY¦>6Èñ¦žA©~à\¾™M÷¦zgð”Ïê©‚ÜƒYA_’`fŒË)ó\Š{}©	ºYù¨!‹•gs�-F~õaÞ6òV·‹Ìô|·f£@l!—Ÿ·Èºï£A7”‚JöÚ'	Ÿœ--ol–Ú<åû‚L¤™GJðuJÔ`¡¿´§ïˆ=è½6¦Ð¨ÚÙ@©ùô’²Ð3%
-ÂAv_Q@vþpAvP‚l;�lùN�¬±�?“´A,ý…ç)¨˜DžØŒ)Ü�Á“ØjÎ*3M°wüëe›�0¡o.·¬:%†%fùX•HùS	Ëî8.³¿Ž)XnK4F11’5…ôx,X¥Ð¦Y�eÜ‹å3hË:Ä²ù´-“­Î¿ÙƒhMõj§U¼@Y…(* ûÙÌ@öo«ì 8™F1S¸Ô³÷|ýlÕª˜ð-¾VÍ?œ«,U’JÔÕš„A§T%Kb–n|¸îò
-Aï#	0¥ÇÄr‘Vä±¸•X
:ûÓ´E,ÓÀt"K‡X7&€‰J¼”x¾z‹Ý�Ú]ä·±L¾ÏJÅjMÈ˜jùz×³Òa«ÔC0Ëå
-l_L‰þ÷ŒjtÓ%â#ÔXé¼Q³ô[–àî Å@æ<Ml;Œåvçž–´X\àdTxýÎZŽçJãXæÀeü
-pÚ�?£ßÀ™züÍlºK¸ØÇ†v!€MñA,÷+Àºjº\Û¼uràŒ‘ê¬î>Ûîä“
æ’ú†|É®Åýä|“”±Å"WÈ2õ¾÷è›¥
-p#nJ¼h€�	àQ+ðó¡@×�Õº€à7ß´|jKã1…ÆRÏ‚x9€ [ý/é…é=À‡À�xËÞà#ï“˜�KD6ÃdiƒädþPkßWþ®¯ôRQvÌz‚Ñ¡ºã®�Û×]%Ë¦ß…ô[áÔÔ<×þQx@hÞw¾$ÂÈ€è‡
- ˆˆ§V$Òo’¾öiç€ô&@Ö3ïX K@�%¨RGÇ€äç@â¥xÄqg€x0@ìÇ’¤.ñ9f|êóŒŽV/å >O’Žƒˆsg©	-=Å>;™AÖÇÚnúM­Z}jñÿ>h€„?y@Z\�Ãþ¦àU
P"Þ”Qª¹‹¾vÌœuž@àû“ Ö]P®¨é|¨°úT=ËJ]»€âÂPü�”P1wdÍéì
-Õ¢#”ÊÝÅóEÈ<^[Fh¼gÄ´M³†‰G|éOÄº`�*ÙÿæÉáí
-÷ÿ˜�XúKp‡=@ÏAè½²µ½ÆRÀt¶<`<ÍŒ}ê¦ØØFû&·†»«€ƒ& ¯Í ·}Ð3µj¾;1?ÓR¤r\?Óâ”¹=X¿u9�cù½B½Ñss¯6X¿aï�?9©&)¤7éýE·ß­$>à—Nìù¿	.Þ¶,?âžÓ\Ö§ÁeÀ¡½!à0å8<�Ç²µ{ëŒ»«¾Û/k€
”®ùfUÛ˜)æÎõçŸ,ïâÏ­ôÁÇqx‡<êÐ<µŠîý?E%Öä¤š%'�Ñíß‡ÿŠàý‡P~Ý¶f	ü:•¿®Ap§@ èÄ'÷–~çJ«Ç_~™&àWÜÈ@&¯œ{”(Î0Žb…Dˆ¹›ye›Oü-¦çÕoIßfùòäÄœ ä¤”¿àÿ-÷¿æOK¨m’T`
U A^H­Ê
-HUiš�?»¥¿YÒö|Ro@©dÅƒI=;N rîõ.hü¦]©OÃ&1o–‡áI›z?ÃýSÒ_”œTóŠü?
À_žüÞþÏä„_xû›ºû�Jxh- ×r; oñPÒ¤
”7J-ÞSÅƒ5 t/m ô‚õÆ¿n[æû·÷;­×Ÿl„}÷ù4ØÙrNËkÄYË+Ñ*m/tÏ8žý·q=�
íqCísìfôôáYÖ³m£Ç·Úd÷PàÊ;¤í™?ðíwÝ
1Þv×ÛBç‹�¸õÉI2kgí4*-Ùßwú¿>Ñÿ5öÉy·VCäVÚ.éZòewÎÜàû›øIœ¬k‡giìÇdµµÙBw‡4Ã-ÚÆb˜�®éÉ{ð;ZµÐÓoPìâY?ÝÚ‚æÆÅgÖ[ËÍ�Ñµ.Ì×1Dçò·¸ß<ØÄ·šD®ö?ãýû¿zæz›å±5×‡AftÙ!wßD9ô³©<Lt½Õ<6âf’°ìâ/i1 �Ê|ÌÏ´Y˜ë3¤ß¶¾‰ÚÐ	Ññ°:%f�úd[œ´'ôj9sÛålÔbî»á­É<‡ò­M»ÒÂ<û£Ã@û<>I]ÉôX‰kõoêjÒ€¿0ô›úÿ¦
)¸º�~}nœj�Y(ö'áBé/Ct8ßO‰éô2¡ýÇ8ÀúŸQ‹
- ‘¸ïf†]®…
ž­5H®ÿé
¤¾ñk½ÐXX=$ÜVºNæÓüæŽV¸q‡Ø6÷—ô‰±m�7·¿ißé±kã6ªÏæ�D…&ÆÐ•8÷íäMþÄ:æV?·ª6x6k0ÊÕ�ví5¿¹
-ò¤ß‡Ëi™ç]F�¨ÔÛv\trloÝá¥í‘ËgëP_�wZÁÍ–¸Ç·î•mtUJ
ž£B)Ð¡a3ÐÓöÆÿÌÚ;•àïY_n¹nöóêÙ¿_ãaêéÒ˜¼Hû—uõòzÈÈxu"[‡ÛÛ²Ž·=<à[‡Ú@môÖjžƒC¹)^µF7wòãÖÚ¹hŸÏøë5Ÿ¡oÂÈª–�mÝFÅ‹·pµ—‡î\¤æ²ººmÞ´ê¶Õ	ªÛv}_õä‰T¥_Jõ¯¸‡!ãîBJï$³x%Þßx#×O×I=Ï?pòS<µç
ùÖÛÚkxñÇùåÛ7SÄ‡Bœ¬‡vŽ¯#Ë\ÎspU÷ÐM¡Psé|±FŠ•ªÇ½*}©7Ý WïºÜc2©´´å²|_eÎ<`gPR3Îs‘Ñœ�³h::¾¹—>Û©ô_ÖÕ*O+Ÿ“ÔØ!Á>).q­ÖÃB©ë9(Ý«¹$7­nëZTõØÚ±JŸF�¸{hnS.w;d*-e‹UÄ×�.wóg®¬¤ž’3°žª£g³ôYÒ¥’‰sÕbXÓšEäPÚß_Úèåq¶¢N%c¹
-¬Z®šXÄù¶ã€NäNÌ«¿$ôk¯í¢ÓÃ)qÖ&åÕ¢JT=Æ¬¹ÜåU©ˆ�—_îê™®óœ�cgPÐ—¥ÏÜÜ–Æ%÷T‚"÷VÝÖ»ˆì){Qfl‡�áñV¢æŒ¶\q'¶Ý‹Z ßÀ2#¾jò�Ý6Zö 4ZEî’¿­Ù|×µÌ¼Bgy…&_±ÄÃÜn­
-'ÉÉ4h	ñ®‡ÕZ¯ºõ\¯rnïœ¸,Ô‚£Cï|ÉÌìÍbX~”‹Èöÿ!¡øÀr…\h×ÂªàÉù�yäf /ÆyR|­‚	eòÝÒ”ÐŸÑ†×Õ”¦}ölIûí¸Ï¯™Ük¦†mûªÚršT‘ç³ª"¯S¤"oõ–HrÑt\ëpôm}Y«¢Z¿ÒLß­r©h§ºíÈ¨hEþ�·ˆóM)x9¨`úhÙä>„÷`[&Ý4¤´ÜËw‹ò(¯d�PTŒ¥®•­öÙ6OšÉÄt\ÕYeÑù0Š£Èª
}Gvó�NnªËœg_9&»Tr:îäLŒb1¶?ð@¤%€ñ¥^l¨K·™‡Nþ)5ì•š/[”Õ1ÌcôÌ™ü.àŒó›g	Êðù®Í¨ús)tWm\SªšIÛ�v[µyo fÀ8TœÂxù+uÞË®ÿ¼æ¶ä“cr|<{¼Äk‘!¶&HM¸=Œ�Ðõ÷{Aá;˜ 
‡^_þyS¦½"…À
u\k›»*?ÞÈ°8¿dmÄ}iQ÷?pþ±{ªú»éz¾v§t°XÒÚ[
-ZºzÔÔLÿb)Ksl�Õåu[iËlr»¹;Í±\k%5Zƒ½$HÛ›ØîÝ�pÿ`˜ šºÀç‹®ÁMVQ|\8˜$Fì¬×<°EŽC™eko2ËIµÉ,Û³a/~� õ±¯Uÿ€GÎXøŒl—M³¥À•ü€’MªŒ
±Q-9GFÍ®„²¢¬‚ûE¦ÆËx_r>y,çØGÆ—šZ¦%^#²/v\e*<îöJÐTwÏ�FÁ•‡ 	à,ûˆ±óUF`QÂ,0ÓªÓµòyLíCíDq™IqÙS™b?j‡òµÉ´í‹ø®/Héê¶ôì:1)[ŒzlŠs­èf‰+¨‹°«*ne�22íç‰œ	”t&‹9I¬WóbçÝ+	ÏÊ¬&hÛYÀ�•]—‡†»!`Î![2>ÇX‡áÏLÔˆ{èÄµ‘¥=yÍS‡aÚ ÏS©FŠÏîˆèòŸþì„þôšþ¬S}Bž&-ÑîÂ^T'¯Å<EEg±™cØHxrÜ2HAq�®úËLõ%J´ÊH-—"Ä®wÂ„ÁðÍ	ÂUÞôrÕ2—ÔëL‹M³}Æ]´'×´w¹©£œyRü ‡�Ò¤È=x¢ã/íîâúÄþÀØø±ØciÞD±´ •°4¾ïbi7å¥×¶§ôµ¬ÏV‘]Å#ã6zzß)«ØíY�Ù”®J—þN{Rž†ÌƒàÍ«ŸåfÖˆf—ÎTb±Ë>�÷×íw‘!Ÿ)—®;YŸ:®ñ6Õ¨ªcò²/,ÈWÝ½Vï†¿î{Ïk0‰MÆƒÓ“
-šy_ºÙ²¤o²ØËf±ýÇÎb‹f'[FNãàs5áêQ¸_ã§X!;Š¬z5åß™rCËrµ²B)‡BN°xUìEQH±ÃÍ6#œ]>K(³Á4œÞSG³}_¥Ÿ¦I	ã©CvÈ�G<êû&¡ž®|$¾C<g×q‹MÕÂƒGM€– 
‘­dÞ¹ÌÆÈ•2T8ì õwf
7ní4ÜØ¹ÂVµ6RŸtFþáa÷ÒÙ]KÅJ3*4öÎ(Ÿ*ç*Þ²Ê¹S~`J¹¦
-ù{CŒ¯Ê¹‘bX|Q‹Ë›p(ušÝ2äõô¡ˆg•­Hhø'+[¸Ñ´*ØôVªcV·ÓAç¯éEó›e¶2}3ÛõÊÐåŠø›¹‹Îª�îL³ôxVg?0¤å3/¨ßLËÐcÕÓ¹7¨/©ÜŸ³k±¼­DfîÌ#µBÝå²tÝtÂûüRyK-‹ìjzeè(”Ø‡Pb@´`|¬´0,,XÙ„¹uè…Ž¢‡³�uõ�›ÙN‘ ãYr9,Jq³`Í-,Q£[ZAÃ4p?Tê³7ô”‰ö«ÀN?F îo_�uhð ÌHådG�$î»<ÂÚW»ÆQü|Ñ$l¨¡4Þ�9•.‹OÚ+�tT¹Ò(/2[úÄR-J&ˆçh›ýÆ§ÀèâJ~ß%"ñŒw!YäX�r?×óp5íôÝuÜ´²óhÈú¨„áœ2··ˆ;i�iºh,dÜfd
-Ôdr—x}Œ?Ë8U€¼ÂvøíX¹òÕâò\”7z`¨l¹k�WDEøv�·îG�u!A¤ÁŠý�Én_$ññm�¢KA‚³äþ˜‚/÷6œV+eÊ{E:59–…T¡ÑVÁì:,€bgWY%ÓŒÅƒ,m@–Ÿ±,p�å4
dÑSdAu2Wþ�^3[^™ðÖ™=r¯ï%RBKê5±}ëÈò8”ãSCR¨"˜¼mqŽºÔÏc%ªµžr¨|,sl¡Ùj�A�F4IAïfóà”ÙËã›Š¦r\,u%–µP(S�Ånƒì-œ‚ì�ØÇÒù€ì¥b™š {ÈÅ»±¸D ÛhC [i@Ö4±ÌWíÖFlÏÄ¯†®mWjt�Å÷±Ü%½jü‚ïðbÛ¬»šé4¿ÄsÄkîsXÑ;“ÙêÆF‘&÷BÒ[`þ<~ê<â
-9 Ã†ÐåQè‰)ÅâÖº
-»�Ðy,þé»/ã'ÐI…è¶c™ÄËCçÐ:‰Tƒ€r§@±ÜÑ±*\¸(�«>“+¥Ž´‡‰ß[TM<é
ódo“’q¸eñÙZ~�^‘æ@Â �ÚH§�Ëd!€1yô^¶/9€õ$`³V%–C`szK3XÿzØ ”‰å!¬Q-¬‰ÅK›‡ÀÌ.
0ªù�ùCŠ€>wÏb•N¥MŸ^´rÑ[É� 1’zõ}[H??µ_ðÝaz&>íŸ”ì6Kðˆxð(èsa`q+Ä«ê�ÌL…CKà$à.Iß”ÜØoÝªŸÈí?¶àÉcðiáË	x· Äòª¼ÞŠ—úZ¼ÀAãUÙÀ‰ô%^m±çM:?Eü‹Z=¹‘,Ã‰8|o:ñÝ²‚=ët³Å—	cS. ®4U©v 	ÅS»µQ€‹kâTŽHöÁEÝ¯782á@%@J> ó ^Ô<–Æ1–7Ä©ø¥=Äé3
-€˜K@´ñ¢Z_„ÝîB¿ÁIŒÙ¯û�^Ò+We?
-6¹Ž³ž	ˆ¸ï3õl�ºŠ¹èš,¤]©h\ˆ»«IIj
-ß­”ZqQóHýã¦ãÁ­É §ñM‘¼>š€‚ÔÑŸ0—¹ÆÒƒUÅx@E@É\7–ëPL?ÈS.ÈˆrbÂ_çpRãäÃZÄwŠŠâ¸0[°Û×|H)Ÿ[+wî5¤£¥Š©ùÒ~KúOþ/+pùZû/~ûuÛ²õ. ‹Ç) ûú7„7z†¶qÀ [0™RÐÇÇÐ§É
ÐQ‘t5ãºp›šþ €Îl¬|8êd4W_½“€¾ÌM¢$”G³a÷Îˆëµe˜•ó§(|ZùSÏ·”ù€ÿ¼ýÿÐí/1}Û¨|{B(À±Ó|2aÚ—[ž�ñòu/Ú˜9Àv°öiXvO=ÖóöûJ(�êÇí�9Ý';"tæ‹,ß¡Ù¸ÑøåÉÿíN%ªßwß~Kùï‡¿N×Ä|›ÀÛ„Û¦Ñ4àÍ>øK¡œì~î:Àï4ð{jxÿr¼³Ÿ¿õâ_
ºÒ¿P™¸Þ>Ô�½_“éù`CÃßvúW®Ä¡äÿÓrû?¨íÜ¶ILAÂI¿þVITJ@Šä	�Ö©;�ÚsH×¥rÄb¤™�É'ò@ÒNÝ_¨l_èß9úˆ’‰½3·~I­‘hõžü-ê·a”ü_ùoôîßà†ÿÅrû›rû
¸M€í¯Ñvš]ÅH~MPˆ»óÖÊ~ÅZ	@aª5 °üüÿ°®&³�yT,7õ9Hq¥§6­±ì‡ÈYÍnª¿ºVÎ•Í…î‰»øÌ�ˆã©¡—ãÍFîGy‰¼<�Ú�©²‡‚4±CÚ€Ý¢ý´¼!Æ¤µ¦g¦q«Ãr%î"bÕ¢FÅÅ@‚ò	ýu­þ†þïé
IäÀ=Ìö ËVÈ"º“£Ï¹.Ÿ¹Á°pìÂUç EùêªSõÒ„[´óhoˆÁ¦û;½×¡°š¬Î¥~¸£Ñj)ïš›x¡�š§¹qk>f¡!á"ÿd§‘­YSb%Ì'[WÅgíðÖ©ÁÿÂ¡ß7ù‹ûfš&oÉÿÆÃ~yãþãœ';ÄW›H~àuíÝ½­éÑ.Ì4¶—krñ¬
Ùù'hs¨]ÎÍ¬GQ
K5n3W˜ºé|i²-ªzUðÇÜ6ßµ˜òhØêËÁ³³¾ô?Cî›©e¾Ú_?LÛCVÜõ×¼š0Qî~_%öÚ$!y“?y¿þÕ/Í›C�Ãw²§m-DÏöÔM¡ã)1ÕV±öãÓÎ£ÅÝ†7Ÿ{ýÀCùÌ€Á@"ÓýOËôÇ*Oô¡ÏôlH»[×ºèÒ±;.Þªµ=:ì¶
hÙŠ«ú4[J<$ÿ–Ô<÷vËdz¬Äµš€ÑZ[�]HžÆ-F)7É†ýÅ¡_çeÜÏ« íâ³ýqn¤ô¡þªð;[V¨�î¢@uþ‰`§í­KÍÛôŽŠZ‹o[Ü‰=6["{mÜºÂ«ÑU¾yJÁsè�ž	¾‰lŒzXÎÖêÈ¦>öžù®ÛZO­·ð‰Ö¯uõ›ºz”Cz’Ì46C:¤8æ–'´?–¦¯‡¶·Ž»oªÞ­Åí‡©o®·D›âùÅÆ#.RntsŠ<ûŠhÉñÇ¦TõÍ´î×Ã¢Ò¬ÛY»WGVÞØsoV‹¼ÖúŸèÕÛ»JßÌ
ç�uU‚J£¸ß	3?püÇ²”ÈßÜÕ
Ñ­zI�¿”ñ[Þÿú¿
Ÿ"oQz=£±TÒºî`5—êPÕ­ßüõ¯~éh«#'ÖÊ¹7µ*â{oo´‰Ç°Ð¾áìGßÑ³ì¼4®”�%h;ùÃ:Ë‘ÓÄ.Ú<},"W‚û/ëjrœ“Cü‡''œÑëóA\Úú}Ÿ>êžN»rîñ^Ëá¢">ÛrW?Ÿœçä|støü*}æ¯Tiì¤‘´h1¬bTÑ¦xÞ^ø’l£g%oE-Ïù2ØûÀ/xêa`ÆèÊÌæÃäa‚2y$>!øŒ{7ÎËúW¨œPùæ¹¾^&ÎÚ¤¸¸®t¥|ë×mg`f�Òg†KÐ*û�aÊ&¨ ˆlÕ®½ðÊcÛas+j4"Ë†ûÂ¶Ó;<yr+ÐÏåËô
dòàš5Z…iH%æ»Žš×ŸëzET�ís`±œßÚ¸1�4Sü¾g¡™Òð¡A÷Þ3‘„„&&eÿ3Ø“+­Ü¬”`ÚbX®Èö¢F|IèY(l[¥@ßŸHh ‰u“û-£e=CJÇCÓnÑŠ¯Ê¼’­-õçª¹Ñu¢yÐ>ÛéM3™ù[ƒŽÏŒj‹(­,ºš¢8ÊÈ‘£á£%G£ÞZvM5-“°^”IDžå¶‹æ>þÛè�\4ÉÁös­[ù¬½×zëº¶¥û~ˆÎœs•(Q‰ÊYTÎÑÊéæ<ý�è1—çš{íªýUÕ¸hÖp :A~74œy¥ôE†¦Z/×ŽERÛU ºµ(Í'Oýo6iaßb¢“>kñÇü‰y.�óV66,Y~Ì•ã•~È5£žîu¢ÔÙï;óVgê°÷`YõV‡ˆð>ÝìrŠÀ¿Hë0ÓKGck$ï¼yZ—zf³ÄLK¾KÆõû\6®ÇæIgÞ—µàZœw>ÛÉ=÷Ï’·X¼Ò)•£"I›qÕø³½æãñ EÅÞg‹¹F‘ÑI•£žfèÎ¼iGœœ•JDVÝT:âGó¹ˆðª—ìr²Rµ¼ß¶jÞ¨oéônj6ó·�qÝÒg4ÒSAêuQ�Ï˜ö¾æJšëœFþjß5ü=Ž¡™©’~¯UžÏOUâ;:÷ë;¶—M�¾Ëiisô’m�Æf\�‘µ©el•vòÑ%æäŽ=,²ºˆˆïU9{»hÈ¶bô«ÖîE,=½IšÍùÆû"M«öò�Î«ÎØèè}*:Ô!—Yhîº~P§Òâ©Ò5ŒUzÞV¸â(#û®-‹ñáNù¦(‹‚™BÒ+7Îëà\Î_ÔEþ¾¸ö2¬¸®¸� —þ"ãofåÄ(EÔ�B±.Fd–dìª9&lµ}YßßXõ„I™çqR4m¹ ÝZÁÖ_P�ëýÑÀÓ1iVÐRÕeE#ãXGÍŒ˜¡²$�¥¼a£ß²äW^_$#lxñ¨1¶p±Y¡µ[w;ßñÝÁñÑT3†ä‘¯wïås©”––¹·q
-B“r²Ãµ½ØÄg•Ý>dS¢ÕÄ�ŒÙF]žIHoã>:>¾H#z?aú Žs:¶-m›–:ëEbj6[H+ËU)¯bµ,onË¶,G�C©:Ä–bcJ„+}	‘B›çcå�Í
–|ŽÃñJ—Mg¸o–|�%6ë¤¾Hôá]®%Y÷\Ô²÷EvöRµd¾œˆKétÈ“#åâ·n�V¶h:ÊŒÑß×“÷ãK›°Õ›Fù¥§šÝuHe]‰Š0ØjòÖÇYÞá	©¦Rèê‹§�V›ÉtC¸NJ�àÐ½ä7{nXºÜ9ü[cXÏ¨šLNžyô*/µia³ØÓÂ¤/ÒÂÔóèÂmU©¦}ëì›«ý
›=·9I”ãn/é9kºý"íÚ~¡›�/�h3ÚäÁâêü4~©œ˜½+¢*ßärÃÁ¤oÜç$Ý+Ëbó»c
-7£ã�Ë*Å?Ó§<Ÿ¿«šyu8¢dŽYï�Ý0}p£×ögnZ¬±….lš¬í—
âÌÙ+¢¹áâŒ�¤nz¥Jv'žŽ8[xkð{É.m”cÞÛô"Þq,ëT×Œø=Ë¦é4­æÞ'L)�—¬,…›¤_NÔbÖãðºy‚âŸšçEåá·¹TÜ�³ÓQÎc3©N‘YÌæM†gOºX¤–T¥ª�ÈzÓÃˆV·#á·ã)†wýt{N�3¬ŸãØ3(Fpçò_dÙW‰s>^é-Ò»”ÛKôd)š·¨´]/)ŽµòšžJlu1�ÐJÑ?|Ò)²/±5~Ü„h­sæ£ò•Kí[ÀÎ´>ÍfÞß³tÏ:ÃOoz“å\ÔbÒÉ)PU1^%ª×%.�æ¿w†;<ú¼>°$®p0v|Èú¡d¡:Ò-a@Ú¼	©Vß+)Æî”s_íeªž»ñÑè^rŠ�GÚjhÇHtêÇ2ã± l8™–+»9.�Ø‹«7.æÎl6Æ™‚/ÞéR×À©“`)­�’ÈÆ6£W¥è‘~7…÷.ý<öŽìêX²}_ÄP‘Ü(>3>J©E€bØ"�¯ÍÈÓ’ò\�¹>ç‹úx}Î2xzá¶VD76“.åHåyH›=íéè©—¡©ËôXT¤µÌHÇÊœ#xäÍã0¼±³»wa„&¿Hª¦ì.D§Ô}à�ÃÇãúŒÁ†­¥ˆá÷�“ÞËø4’b¨óºÔÅZ"™ß€ºÆy$×8PÓR
¨ž„¾PãY r·4Py·ZèÖêh¤ämhyžŒ^ÏÝhA—l“Ÿ¤�AóÛÑfCW6ó¶(WS,#^ŽÁ¿áÍQÅàÎø¬u¡“ï#ÑÙTN˜»–.@÷Ð”‘îÅ$
	*“˜è‡ÁÎ‹YôzQº¯€®77@7¨'’@ºIí_Ú@Ûõ ‹‡>G»$‡n>±.žÓUŸ'pzÑuJÃAÙŠ”:i}|[8ê
-çu¥ô$Ô'7öÔœç<îñfü¬§¾EñJtùú76Ê©ßÀ�Ø)úÆnSÀ¤.0%ÃBRL Yç�)‹
`¼Úçº&š`b¸†d�EçÂèÑž8}y@oOu §±qv6‹žÝ«t˜‡¦ïˆ6-”ÌØ¡œÖ©î"ª®’!×>�3‡ys<A{$³–¾�úöÝÑ­ï.Øè�@¶˜OŠ&3JÜ€90`áÅËÛ*°‰®ƒäœ6©—�4;Àš×°bìˆäDK¦M`)¬€d1–î 3]–cÀ4Ó=`üýÚÛºØ)g‡s4º©TÇºc%c43Ú¼ûWÊoŠ72+óîvÅ1ë¶HRß§>Ý÷ÀÆéÑ•=¯ W¹éØ>‰Þy€}ö
àT"\ÔÍ!	ó`¹ÞNK.�c—Wà¸$£Àa•
-°Weì�&PÿAyÀúo<N�ž³cÜëÆ§‘oÝèXÎ ]1ˆx3«®™]â{'´´Êæû�~_Ž9 ˆ^¥ˆaéöí‰Ž3}{ø~§0pŽ„W.¢wž,àn\xÑOo­|àSrIu¼½ßI¼àó'3àéŒ<C·€{Í?I­Ü©ÆwøÀµG{tDO>ÇÕ#êZ¬Ù�›ºŸLWõäüÞÑ1éüX½µtM$b»5�QWÿSÒ/T¦|h
-þðäÂ
½÷P7€?Õb °×,ñH„Ú¸BŸ_€P/ž@Èq’)
—È�`ºJ@x2%à_ÞøÁMH�qóÛÙÊÜn­?ë+ÍD¡ÑP7vÇ—"Ê4ÍSÙ{Œ®%)ƒ[!�×?¤»Ïýq*ÿòäXÙú»8tàR”b$�±4«ý„9HøtóqÛâÄ:˜¸'lgAÄ 2±öB_Èo@óKô3âé"91ÿDt˜îÊ¶ÏõQè¦–›l³,Ø(Ë(Óe‚HÄW&j Z	Kú7žüO3ð¦”ý/÷Çîšï€¬î& W½o�gçOú®'#y¸ ÷«
�êääÙêœöÒÝkƒt¨¾@êb±Â:{u´Bggâ½üDUÕž»f�ÙsÅ<1èTÝŸvú))Û¡+9,ä_ùß#þJoø'¼]×– òøÔ|@�zLÛ .�yP›™ÔqÕ^ ÊÍ(Ïô”� 4^L„ÁÓvÊ�Ohcq>‘œ`ú-2ÈfJ?íôÃ“}ÀÿJþgzCÈI£n©í¯Ï5„“nöów1}-ÅÀÐoU0°Úô‰€¾Ô9™ WÆUÐ³•
èœÍ€v±òŽ!Í1“¬O®JcÚß	4æ´õlö±ü4QûÃ“Ã’þBÉÿ!½á7z÷7¸á?ÁÛßpÙÐhÛ>»`%í?Éê¢,
-=]-½•å<žŸÔÙeÓ³™­Ù±ì‰Ö¶ãÓ[Š¿Î¶rßl‰t»óWNqèþm¢Ð¢ägÿ'·mXÈœQ>ïò‹l=¶×;ŠzªÙ:3ç¨¿ÁAWœá¡Îùx„(¶WÀ™TòàTÄáli,¤£îÇÚºµ�„æ=bãtùþN÷:w<7]çRuvYi…Õyk¥w§C4ò}Ò‘Ë±‰›÷ï-¼�¼ˆb‘Þ'4¿KŸ	e›½ÓöFr©Õ!cU¾ÈeSf‹È1Ç„9“yš6BZ®äÿá�ÿZÄÿ‹iCwh(—•¼ûä±Sõ~çNZ`ÇS<ÿ¾¦Š™CÀ&
-_ä>¹SË»ô‘©m³—WsSxìÛë2Œ»«Cj<Xž²�ÑÒ\µç‹È®ºžjû{64{`;''9ì Œ…ëŽäÍ}2¬){2…
‹1mC¿ÈÐ':kCchÃØÐp·¬�‰n„Î9X—^ÜbuHZ‡U
/?�ì¨Å5ßbç�œfC=¡L'¶¡Oæ1Æœ°CÆûm3$š‹�ä%™Ö¦8h*L½­«½~ä‚&;±GëØÃG{²ëQõDgžoN;ìæt3B&ºVÃ5ý!«=Ë-~¢ÆMáÚª„Ñ«a g¸[–ûàdFÛT®<*“A{$Ï£a�½.Mñ°éwÔù>x4æ§ v�\{ïÎöÕK>×Xw’XS];ó�yú¦tØùÓlû<—hmKN¾y¨ùÍ¦v> ÑEÃ|¤ßuK¦m¸=ÖÇ¼úËDCrØváòó	ÛÛi!
5ë
­Ù«;‰né.5x+�¹«E�”RH–~{•£{¬-,Ç�–¼m·›5¥Ñkœê¥~Ã¼”ÆhVš×Ai]‹CõP}�Æ·ªKn±Ê$ûæ+ÔÚ´Êóâ [fF¿´ªÛXI¸:™â¶S.ÿ¸VÃÔUžh–´KïõV×ºÍ«á:ùŸý§®�é¦¹~Ÿk�.ýF’bj±WMÉ“E½ŠOŠvÅ£‹±
-µ¨»å_L—ÙM=WZ•ºÅ’pèV?+ëkëNQ>ýšý\øÚÃ:šqÿ�¿ŽÖbÞ¡7äÞA..D˜\\Ä¡d‡åM,ë*ãèâšÍ¦ý–¡¯6dµ!­xd¬ýÙ“kùn•|‘ê·yV,«ÉmQ>VÏH–/¿f®ðÂ©³úøW|þÚßJ¡5÷Ì\�¾:Ù÷ü‘Ìº<žÍâ›H5ãÉÙ®7¯õf{¾Ó~$Mèè“Œ§¶}–Ú}14¬þ:XÃàß…<9DÉåón„ÆÐ¿ÖïW¼Üc˜ÏçâD¥’}OGíì0³d]æ9Ëâ+nó¡£¨òæúäåTñæ±Gý•^5¢xZ¸FéÔ¶“Re§þYÉ?�¹:ö�I6=¢’¸.âý„ÃÏ÷ñÇÖ¥âA%–‰?ö»Süq°ñÐº¾
-S%>÷Ø¼¶k�µay¨2ÕÍºô š¡6¦å±û·™öu*–Î‘LªlÇ|$ÕZJ¾:n-Ö\í='OÃÍ<iËUâ:Ýï�Ìý”pXò®ßg!“\lX©ê1ü8ŽG=ó^pæÝDÏÉEÏ{‡}O'—ˆ ÿ&™³3¨—ðÕTþ˜”Câ:k³ï	?0mjÛ,Ëî¡«_ä¿‘Ð›žphÚ‰?º‹$—‹Çù\1öÞ”«±a©ÓŠ¹ò°ÃóaÔÓçÓ(u>¬œyë}pØ‡p�øq‡°·£²d+äÜ±j9¶`žÖÕà³~Ÿ¯Ü-]X¸–.®Æ–.á«PÂœâðn,ÊßV1ÄÝ^NÆ�°¼Äu\§â�¹�ÇÞ«ó;æŠˆá»;õÔ—¥N¼†$qæÍ|â‹tØ[&Yu+¹ˆmíí ^±ËÉ~ÓVðEÏªy»±yZÜV¦%ÐG£SvÞúã»ÎëqãìhÃŽãëq+2×ãv’ÕÞ�”�ä9%ü�F]”Üú"Vê\ÈxßûdJ®ŒD—¿	±g�Q¯Û9¹‚zuØËýñ#÷[Dx²`oû&m—IÁV°‚jÕÒYÃ<Í³³™+ÅM‹k§�N±�3i\Òƒê²ñEjïÓ1Ð\›©“žqP©wñ¥Ì‡wI™�ê®’KsM…£N…cpÉ¦¤p,Ö¨w’ùiÉ_±í\?6-„!
ÉV·cÄ1y':‹=FFŠ…ÊÛV÷+º.u¨~[z*²7O3íˆ3É»q]%ßFÇ÷Iý±óY=¨ÔDí}¬©Ú°X~
¢ê¤³J©Ôó�Wr‰GU^MØ®ì{Ù¹´]ŒOR¹Àâa[ÐÄZCsdQWGátê¼E]b¢nP…Z¼“šùß“k;›jöý”d¡í7šåúb¤¤a´ÕP¢o³
û›ÑÝ§�úó�ïô~ò€?upWÍíŸ^ê;ã_¤êm	FY(„ äžº&¯–-1/!íJÍœ¤†±®ºÂ¹�Oëûæ»ñpÏÑCæâ�âå6
4øê8À3O>£•ižŸ.Ê©“av­âéš\:OÃìŠh�ð%2Z}Ðk\µqS>jäö´WgJs­fêþVeøÚQÉ—:wyý�\v´´çÎ‚¤oªxŒˆÑô¤Ð†xŽ¿§|Ôós¯l­Ë%NÛ9;¶Ù3Ó,Œaš…Îï®IšÏ4·÷Ôú|¤©õ%a”f–ï%æOP‹ÅÄC’Ñ9­¹—Í«7 ôw	{kéUöªf§øñ‹T
-ý`'o.îZ.¥Å¥´Ÿ+;©šó®âñ\~‹¦]'…ö¬Ëñ¶/ó½ÕÎâÞâ9Î%«�aÇo½ÂR®×eØLyJ–«oª4yY]êqÂ›	ÂtÞŸ�Y.¯Í¿œarŒUÚ¤Éy˜%’:˜¶W©„³ÊÓ†uª‚Ô«”6©n^jÎBã	áût”åMy'ie-6ÙóB¸úßk!²»}óAŒ¾sï!¨Å\Q¥8|—YOÍhÌ¼QqöÚMÑ¾³ð©mÿÖ$zDœú¿n¼îÈò\‹cÃ2�ØÞ™Àb»¥^ÜÏîóì„ªuÜSGòãøñ�z˜Èvý4ÌÁúp“$C”¬øÝÈMVŒÕÍXÝ�pbÍÓîÇ�Xœsn£»c½IÿÌ,èÑƒÉ-ö8½6î,-v0™*?“Rú‰$©�S9ÂšgÐïrÝÖ—sjôÜu†"õm©•€PÒ+ 
}Žè~c5›er\¼�¼>I?F›‡„ý-}ÆÓ{	ÚT6Iemµ_rùÈ^%½=<
-·¸µû"ù>±[qî±8gé­:e¸o~IK¼º§*%ûB~¢OÒˆg	¢5*°ø�l(x4;°±ç{ïb‰æC*Ë7�d+S 9âŒ¤Ïq 6Û*“Á‡�Ý¶Då)t¬ñÜó‹z;ñÔ�…(×™'¬sua°8
-ê¢&�Š¸«¾¤ºñ¾ŠÖ£yäŸ#qÇÃt·f3Éü‚^?É)U9ßÄ%;[ã÷æò�Þ–—/D7OpHãWÈ�¦9-Å� I1Ù³[Hs çŠä&Ùï¸@&tæëHñ¢IfÜ|<Zš¥•ÝŽ�R³‚#>ƒ„y;õ�/R'ù¥ ¬Wâ‡yŸ7×«Ð­•�|Â¦wìô8Z3|9º öylF\fƒöK# ’Éo$í;T&å
-<P~É@²O•R‹@Ù­OZ#¡WH‚'PŠ"!9y@¾ª= O™�£„�ä;Ÿ#
-É™{|·b™l5oùrÂèßòºÆ¤Û¼"ùRª/“/Ñ.]oüK/Ÿ¸ÔŒØ3¼¾þ"©ýÂXWr6ÅÑ£}é—<jC…{g ^—Ð¬I#)IH66ÐŸBR¯
·>Po‹ä	@];:P;3ÔžœÕ»£óËí>i�TÂ­eò;Mv·ÓVhûDôq&c¨ª-ÈUâDJÆ ýzòõÎ�Sî‰Y¾÷´ìÕ·Ä5u_ §c
-^F›Í®€Î@÷°;Ð³ÈgÇzßæ�ìU RèG+‡äÙzÝ_}Ýp$tÍAèV'�G?¦x²|ê¥÷Üa’ÀõVd?5óf/°Úl5BìýEÊñ¦Ã¨Rçæw–ÍZgZž,Äuclðxv¿o—�=--€¾-wÀHä;úD=Á€fŒIÀl’¾‹äé³uÛÀLVs`ºæåCz3s˜l:LŽo?£ã$	
ü�NhW˜¹—}0‰eÛÑ¦Ý8²ycb"Ì8	Á·Ô˜¾þí9›“‚]öÅq3*èž˜-0Äà³æ�±6`ZØ˜µqæœ¿ËÍ0`l=¯»XGÿ²—«HN}`W‘5°ÃåØbD6uL›îv�urg`£5Xm9BÇS¿¿ÈÄÛwÇÎ¶Æ7-{äõI‘Kª«dÂ’¹±"<–'–£
§Ëïò“¸-¾ÿÅ¼?u��#°zþl®uv¾FoúxpŠMçµ$à:·OwsÝ?q$ÕBR˜wß€›G0à‚½è¦-WPFÀ%àRT¸Hj‰FBœVÅq¤6|5ÍxéZÐ½¢žRE!ovCå¦Þ„û"éÝƒ ‰{Æyaãöîþw‡Pùq{ÿ�Êå(ªf’§ÿ˜oC‚ës:ðÃ\ø÷)‚©‚�[@H0+ŒâþÎÍG>¤wÇU€ŸnÀ÷:8ðµ:µüm|aÇG‹üsl[·KË„[Òé–—‘ë^>&`ZIgJÆP$âšÂÒWéã Æ�xñSÒ¿Ðíç]BRzÒµÐ~û–þÀÛGD9]±tü„ð&& n×§ÊÄJK1«¸ Æm¹êD,Æ�€F LýofeÍQÓç	[ÞItKcxº¦JÕxNŒñ‰[Øe-²S+Ë°0[ÌŸv
-yò_ðö¿ Û0øÇü¯‡¿Ðí‡Áó]�™óälù‚äI�Ï s×,ÈX»Ò5uiÊ( UÎE�bïotÙŽËôÜºSm¹ˆ4¤«ï¹ù!‘¦Î�lËô5l¥O!wˆ¶Ckrˆ’ÿ·ðö¿ÓQg*y�ZË ²qP]¬ªÕ¹%™Â@9ÐP‚S”úñŠp‰FNxncLb‰±RÇ:B*š«ÑG¤8eñ?–é�Ú†`û7
8D¤¿A	1ü¸mÿÚ7íï–Ûß¨Û…ümý�ô o”>èíÕt¯,€®šÐ^¯!h§ïhÅQÔz*åƒVtóè\¤è¡4dK[¯E¸>z¶ýTöëþå¶ÿ)¸á?%ü‡@Ù�ÛöcmýA¤›]¬Á¶¶¶ß�5J’`I—(˜�nÌïÜÌc\Ó<¤�™Ñ¹(f¥»ãçëÞœêÖË}(©ÑúpˆÙÃB%}®Ë/Õþ—
ùŸQ	á^iÿˆkãBjnFöÙÐžQŸt€}Nÿyg°C"÷¹“;»'�dÀ)Ûipèsð7ú1]þ�Ð} RY'Æã‘R�Ë–�,;÷wú8ºM¸Ùì:—ÆëËJëíÏ[«z<ËÝê5tÛ¦ïÇ&žþd#8x˜�°—,a�×,mGµâÑÍ*æfÖe¢ÖXi+j·ˆçj…îÝšjÿ¶ˆ_84÷¡kõ6aœë5»ùF3‹‡†¯/B­¸?Ë­ÖýT½ïé“0
-’|ôØ„–wxd¹ýP”üÝD%ËÛ¹q¯mV‘}s½��Ûky4VÚ¬=\6ÙötÑ«ù£Ò;ÌÞ�Áí‹œNœ!þ—Ç6›•…è&Œ«
im/Ð<´Äõ�Eô³ÿT¸GVˆiÃUòahè/æ:aàÀºô¬7W‡Äb´ÒÆ·õòä}2!Ñÿ½èð	bÈ63ê?�Ø˜8É¾–ÒØÇ{Êhëµõá!_µ‡Ú¦˜‡jºßÑÛ… °{µÞ»·	z¨_w'©Ö»KÍ‹`»Ý„¬6Ä´_äßpè¤Xè„;�…´vŸ\×ºaøj¸¾;$ecaØRGòt
3b‡‡¬Sj+·Ý¿Vô x4ÄQïÝ¡g½ä“XöPÇ¿íz}ø"»ÔX<wrwû‰Šõ9û“›Zò¾n6µS?ÙhZçbýÚsúµÇðp©Å)Ê
ý´jo¶J¾9©ËŽW
-™h˜¶]…®äÿxz&þWÚ€|éäpóÕöi‡jmóžˆdb!y'›‡ÒÕkj‡k¾ÑÔ¯¥úµuªÖ#÷C£Ä¶íZì}
-ªC÷4úÙ2+ Vò¹œ}"Ü-k"—„•(n›ãfQ¾�î~-þüãZuØD*÷Xn.ðùdhþÇþS!«
í‚?Á¦ïàŽÞjt_Tñ±ý]™¤‹�/²âQ=¼BÍ—l9Çm¤Òª¸ÑJ¾t´ŠÛêÞ)–µK¢(Ÿ^i¿f½r¾vgJ…fŒ¯Ìw"ÈwÜÊ<÷˜~_²ïCf]±ne&U§žñô-zU=öþÐ¿ÈðCzÕ;ha2lØ€!Þß¬«Â¶Yù“izQª…fÄéÌ‡?B2Y"yò�øû’{ŒÞ�\�¦!§D2Ü‰ê‹Ìsq)‹¯53)æìµ÷ãÞ¼d~ÂW}›
-RåXrã†³—«“I#ÙÌõ'Éf~Í$-~Dÿ¾Öè÷·˜�OlHð¾È‚yïfþZ¿?ˆf<>ëd¨M;åÍKß›—É:’hÏË)ù±Ç~×iß¨¬SÛvq—*GêÇ”üè^ÝZ¼ûtu˜áÉfj‰Þ”|)‰ë\�$
endstream
endobj
112 0 obj
<</Length 65536>>stream
-.ã}èhq×Š½ú"†ŸƒgÔ‹Ý¨evH2·_ëê	
ƒ>5†ÎÚ�2†˜6ík5%ß1´…ºÚKQ’§�k#	ÜÏúýä<‹äQJ\'�ZÂ¡¯ÍøcñîÆƒ;Œ½·Ô$6,ËË˜«DvÑI=vŠzFõåÌÛåä"5²ê'S×ì²'Í¬Ã£¬šïÕír®°­«_dø!„Ê?$ô“ÔðCBÙýUÿ	�Ç9bCÿòñ„’’¨Ã÷#:©Vœ¨§u“Qê4òœœÕÏ9ìmQŠøÑiõ‹Œ¯]ËÞž}[!`b¦ÊÚúìnbž–]0-£Sq“zÐ˜Ôô¸UÚjïûÒ6Ó#ñ&F§QžþØk?h>òa+†m÷q‹£g”:ÚW'g’çÈª½?þEBÉ·½ík”]NÄx$UÕ:ŒK†¥SÛ<Í«1Óâª®q]÷²†#
Šúc¿©ëqíØÕÞg~ª¹vb¯Nzý÷©Ò€}Hh+¥äÒNO™O:„Jw_õRùN(µÀ!‡aS†à;ôþ&:ã>#ÄõÛáæboƒêÞ:Œ´�¥ï•ÙÌœÖ¦Å¼ÆuÅ¢¹˜Ññµ§áˆ¦?v­ÇU—ÓÞÇœ¤¹¦§jøµf«žÓŒ«Ôsâ)¹Ä¶¨p8Õ’}/6‘¶‹Æ^*pT§ÐÐÅÃÎð%ErÖŸ
ï
IQÒ¥PPó‰è(œFç|†N´c®>õÕ8EÆá–•—­Ž³%Eö†3˜,õ`ëNµ÷†Ú°N 61¸¥†_ô�:iÇOªñnÊ<pŸ
-	�W£<%û©:�ÆcÛYW•ÊÙ…-VßI±Vä
-Âiï¶K¦üõL�øN«ÃðNDŽòŽƒµ¸Ç‹{r�7ØHâ©rN£šy§7Í§×ét4ÑmèJ4S4h{�çßfkÔCÏJ½¿|ï´”W^ªƒ˜(‹âb¨äî]$½ÖX^­2Ù÷+Ki»«l¥r¦rËÊY¬5úQf˜ÐììÁŠb2ßi�&ï$3).˜tKìû¹ë²Ã�…f¯,�wîÌdªHŒ—ÙzÍÎ¦4ÈÍ§ì’˜¼¢�Ö°’KUjf4Þ¿rŠÃÏ$&äÉFôÞ¸hiüºW™~n%oìÛT–²­¡TFIÕ¾¤ÜŒO"h]UgÂ¹À/…–iïø[Ç>ò]/ç£tãúùš)of;*½l–xª)†¾>��T:Ô:Ø-(	S®dE.2¤²€(©ÔW-RIÎd¹c‹ÊöÔB}2)ó®1b£±4õTBòOÆÙìEeéÉNÞlœ•TÍ®§bÃ/Ž„ËTíöóð÷Ä²Ç÷°ãˆ�¶ïsn@“[Ë“ßì˜Wo,YŠ“9$i4{]Æ«2Í¯gJÚoR¤zº	ãŽµðK/?Çí÷ú‚Ý‹*ƒEg­¼âNú|/¬	¾¡¬Za’H2B¼£aÞ…­îŒ“o�rÍ³"ä;;t�UôR4ýÖDˆTì!ß[¼îÍ/»\2Ý@ô¨a)®1f²­ñŠaíý�.ôŽjó¾<)¹ÈR¤Ve¢qÒtüj%cØ#ZÈb±Á¸CžI}¼pxôEÎV"€C¼Ø�Ë±Ëõ"ýy;½ùD,sŠ:…õB±Ìíž	­É*;Î!J›Ús)DvÅ	;JC.¹YöØ‰Üè0óx²M¯RBµ˜°7”üŽÌÈš[§iò@XLú‚w
-Ù'öØÖH,îÌ%Ö¸¦œüZ­~c&HúgÀ÷6øì–¼tÏ£™ž”…Ük\k¥8ŸGO±är
ƒ9ŒÇw�Ö¼Øò¥ˆ~–t*¾®«ó’*Å)7,0CvRZÌ¼VèÐ«‘Ö¢”èµEœ…U¿9ÛöLL¦X;¬1(]àÞW êú‡�õ�äjQˆyH6
 üÔ÷|"Õ’€@c h|ø÷?6´ìxoºMê’‹QÛ¦c×ªuÅ¾@©¹fû)+‰ÃIlÎã;þILÑŒ�G7Û”#plÈÒÔ8 Wçd‡*ï)TcaÕÂ£t³ƒÁ%ñpG@RÁÉé¨©oH|Hå ©š�Ì Ä›i#é¯€8ë/$ŸLH .CˆNŸ‰Q@D/‘Lö¬4“7ÎF9Åw,«™�u¢”¤ÿVzJµËêôÙ'hË·Å’sö„õÚ÷!ÃåÐcz—Šu‰ó`ÛÄ»� …aFîã¹"K^d{2rüØ9ÑNH
-O$+È�¬"iÄ‘¼| {™�ÕÛÈZ2¯[HÞ “÷ýY&î)×I¢™»‘�ìqç‹4£DTÑèƒIÉ5ö[‘áIpÎÊŽ�ïÖ+Žh¤fLžºŒ¨Ý¨Ú'�˜ÐÅ»×9ª±î·€Üäº@aÃ!P&¾ª�þF‚î1ªpÀ€jj<’ÆgnªyOÕJU€J­Ñ·Gâè;å3”Ä€bÒM ØüÈuµ|ëì§jÇu#6Íf³¡éÛÀFVy] ¤ïcì)ÚòäÌ?×úže¦+f11fG·¾‘F/ÙÇ{hÆ�aÏ 
T¢Ùª¾µdg@½Ò ÕÙèöB¡�4$$—Ð¹TÉºtÂšÍÏ/ŒË7
-Õ¿ÛŸsÙß¨—*ßl'oÛn#Ê[rÆ²ÂA³ï#zÆ¶pJ2
-æS¸SóŸ(ê63è¯éâSš“&Ùã1_À„ÞöÐ¡¶PÏÇè¨‰Þ´RúÐQzº<}gnÀH{‰nî©#É$�¬}`½ƒd²ú%?€^Îe W%t£èèv¥3,�ÑÆaäId_a³ÆkuvÔe{/‘rU|P?à;:Ÿ_9r&~Ó›I}C66Ø��Jð¢ÔU&£#Vb¨¼]u\`\tg1-ãÌºòŽ4°‰¨‚uàlâæ›ŒW?é
ÉùX×ÜKL0`ö1˜Þ½L°[S?ÀøZÉeC]pÍ6‡Ì�›Zˆì¹Z”Y±]ð1n¼n¡�l&RÛâMwÓ³O‹ÝÚè`âl�ŽsßAheþ›-¸6}»ÀàèŒœ³6ÿ„9t›>’G¸jr†d.—f€ãî1`7õ:°[•>õäÏ¹„Ï£»Szkff~ÜÔBé¥I'Iæø¡ÇC«7yvÎg<AÙû¿Ãî_¨\ëßÿî9i'E}xòµËo>Uàý¸üé”�‹Õ‘Œ‡ ðü¬õ~‹‰À—»ià£ñxGÅ¿ßp—Ì¸mŠ·d4†ó ûÇKí�†ðdY4Gfó˜N’­®þÀ±Rÿò§±BÒý[TÈ“ÍÀ?.àqR-gþñÝîß.ˆr¡b‡ì�8©,Ñ«ïÏNyb%A�] ¼ãÖø„Öæ
Biàêl¦è84ouÕ^ý'™:7#\é\glnz£dêˆ6Á¹÷ŸºÂvú·’><9Lrø­çðö°´ÁÔ@zõ‡ Ç¬=ÈÙùd]A†NüOðnû²É0 ©•4ˆïæ‡ŽŠë­ju»—¶‘rØ²R9qaPâcLé%£ª$NøSYzñ�’~÷™ûG„Ã¿m�öqÛþ:]l¥ÎOžŽ M
-T“2@ÅY@½4ú–îîJ¶+ƒ¢{P°Ø
-ämC·z’Ý×
-y¹îtÈ¢_—Œ*¸^¿çÉ¡59t%‡õ„ˆ4¤ÈÿkËí?¢	B.ùÙ‘Lw«"�OÜ¶çgôqs
º§à Ó§(hËv4?õ
š�ÐŒôÛ)z)Òá§K§J]z|VöõO]ÿ‘Úþf$¬ýùØ+í—Û†õümCDú±¶þ¶ë(XËUìÞq
¶ž°F,¹Xó©/Àìßp0“Aô‹Ô$"1ñä€9xñîí˜âO~òOc…éßà†ÐhzÿQÍ?€í¿v$û”ôqÛþÆ"„ÛÌ¡‘T©N‚A4Ã�!Úã4ˆ²œbd
-Nš$wgÚø]¿š.C¾ºMÿu§âòÇmûf›õ‘,[�{
ïCê>»M¸ãêF�»+[�.B³w:ËÝÒ'ÑÖ¼~_=áqxä¹Ÿd„ÝDGcšìíil„!$V‡ŒX\ž
-«ÅÒÜãè\BdšWCZÂÆp�ü	ý¸VÃÝ�BÔâÐÐ"ÒQô*>UïcüT}0R˜Œp<Åëî
PÝ]ú»�Úf/¥Ì¹3».ƒé¯)­¼Òfrmi®ðÆ¢#RÝù£B
fï5›áy?¥úé×x•®ñ£mî‘ÖäËü§ÂOÌ@ÈjÃEü?0ô“h†Â~t¥i¸Ù}HÃÖp5úª†1¥•6Ît—æ<?ž?Š©å"²^Ÿæ±ýâ>Ã›­×”êVñIöU¢ÆÂÄ¤GeÚä‡5ž§¥Ìeô#§wä‹›JöÞ=9×K¾“µîÄÝÌ:ó¬qï°kÞiû²·0Ä´¿‹øC‹èááQÃßº~ìµŸ¥ò?ñ°‡Ã÷¯¥%ê-û×²ä ©dúeT
-cÔè
#ÝNw¯]jTuæ©Ö¬ÃÎêËö*ÛßµÑÿ;½¶äÝâÕ¬©4IjÜ…†ycŒz'špk�Á¹]}O›§*¾š'¿È�Ö†•N£ïÜÏ"þýqÿ~Œ¡¡½öw£¬&úYäÝ’×ñ}³&ù·Æ©ÚÅ›Ú�@s¦CÜl4u7Ô#w/óI<èù…ZkVj±wÐ¨ÝN»ê“~e’™O*sZ•ç…÷w™ÝÉÏ’¯zLI8n-ÿÐ-5§aþ�êª¤C×jfR/E~˜h.B¿É°Ÿ$
-küüÁ¡áY‚ªÝ�‰–sl¤_fW¥9zuù.Ïs‰W9Ç•ÈÒªXbKÂ¾$ËZA)Ê§ªá×¬’]8uK±B3Úpó×A;›ï$gŸuâ�É¾™‹3Ø0;,ë¬+ôY|g+ê¤7Ó«žG†^Õp×©ßEü¿öZÔb°
-ÈÿXW?84\%ŸïÄ2é|ä�A-†^ïªhœMt‘8c$µU.HÕvÙ÷¬ü�uÙ2<øþ=ã‰µ·7¯Ô	/§öÙôª1’ÒÂuª§ÊÎî½JgÜZÒ©º:>%OSí˜´XÁHtŠùÉ‡ŽÖ$,6lî^1×š>C	MÊ¡½¶êB¯:kÃÊBLCCÞ˜^U·ZÚ×‘´€ÎI:�¤WMm[³VJ¾�»n-6è¼£ÃÁ8ÙtgóÄu:^%:™Í>þXnNñÀÇ^±÷N b®‘bø±íD'�W>êYÅž3ïY7‡ƒx"â§ë�~þJx�ÃKVø¹.CÕýñ­~@í_†Õ>�è¤ódü1�~¤.ÄƒÜTGrsâA^tcï
çÅ\™ËG'5Â�Rg(;9ê‘U÷ÙŠø1®ÞÖÔÞË»/Ò.»Û‡u@“«–Í–Î<³Yl�LKnàF§~®þ@Ð�˜–:™ÿƒ„†þ’ÐØÐ_¿¢žšº9ó†t	aèÇ¡zåï‘UÇ„ˆï¤éˆð,	v9Q�­Ã8«YµtÉ2Oó‚c6s�¤q]7<£SôÇ~\Ñƒê¥óCB‡­üÉÓÜHFU'}¢ z‰ÓB¥‰täCGÉD;Í�/‚ð–ïÆðJ‡­Ö�TŠ÷�ÐÚåxvgÕRìÚ<MOK³™9¬Œër»5aûm8"~C¢½õ ¢Úû¨Ðè‰<lX¼æšqY�tâºê9¾£RÏŽ«ä“¼ÂáxS^M’cY¤{{i»d1©\XÚ’"Vjh–vIQÌ¼´Ý¶+²_ØÔB>ÿÓ”px‰¿È¾k="~dö2Z£Sð§zPGÚ°¶ëkø¹ÛS'­þ@õìéÉy©zn¯Ìî¤äâÊM^�Ä§ì§LÉ#mgEQRØº.VÓ¨X+¹/R8í­ºÐ¬cÁÒå3ßi,ßiR|§Ó]ð�zf\ïAFh¶¹0þ"üGªlyR=6'×°oVm�ÞN#XhÃob¤zÅzOá4¾%ûÉe
ÍøD|VGrlKÛÉ=�¶Si"•3ÆB<,ÕµX+Ø{QRg¡YNÝK©büõ{Œ
-©îqe¢\Ðù8ýœu‹”ë&'ÖukK�Ù:KP‹÷‡Ž¢)(ëzëXø‡¢0�ÃÕ3–#ŠnïÊÌÍ¸õ„�6B÷lHhå¢–èIÊvßët£&êõXY8cZ=àØª`ÉBI:à;µä�wôìô‹äçêŠZ½=û¾Îì°·±nœ¢YÒã¥Úq†&_E:—KÔj½ØQ~)ER~Y‰S~%=¥üj‰¡Dm¦†}dÐ‘¸58ÉYt�¸U¯¯x²š©[s¹ØëÅ#Át…ósÜäo—X•�Êx‰{Îe®¯mË\|µªrà®ìˆ8uYwú0Sæ1a¼µdhß<Ð1{£sÓN­^žò‡¸õE’å�™&jÇR
?›1ÞœFÏx³‡‰x3 Jx³¯‘œØ|g6Ê¥ý‡‰÷Ûg1²~-qÓÍ®ZêzØ)ü˜›Kêª8.òÃeK
n@ÉUCsyt]RÍa‘™îÊE&“ñ�DËUz1(7é|Ý`<êÇ©¢7™Q}Ú’•üûL|o…7a(qoõ;ÖÝl]èÏßeÀøä0ì~Ø¢a,tm «�ÑØÕ5_³)åý¶c£ÃT°÷…aÄÈÞUÍ:ó�,S0M15äï‹c—”
-Mvœ£ªÌÌŸ—fZ+ÒÆ+R›¤^¤ŠW®HVÏ2©.”Ñ0ÔóÆ%7ÅÛ…Û�áëÅ·O,†qJžØ!H¶ªHfSÀö°Â]Ìêg“:sÀ(ó™M‰©lòB¬¬è,>­ã¶GèÉlõªêÍí)i±ÝL@=Ü ¤Èìxi0³Õ£J/§Í"-0~‰*%­"¹ŸpE¢Q[ð+¬Kx¤xn`ºX¬†¦pCç�Åw€§:wÀ?käñtN<røì�Ž;ÙàQr	¸ÚÎ¦ÀÎb°1µ¬�F•2‰{en;ËQKƒ9´ô0y‘K+šÃéŒï½ø—�»,×ëžªt¡;¬P›ãç)Fp«D4çÞ�i‹Ýë>¸l¥øªÛüt~VæHÊ$Ûà‹E24¿ÊÀ·ã6àÓèðFÞ›:€×:ès‰6:+A¿Èô&‰eâ¯c`GJ³”`FWs„y‘%o+t¬þŒ{7ÈÁîÎž…½UZÈ«”ÜÈ•‰“GûxG_ä±¸TÏÁ¦
-@ÄúU ²Ï.¹ð#rþ
-ˆÚöD]x#i
-@ä 
-ô3.au@H6
„L'� Þèü^jíåÀJUKÇLl‚—m»ÆÚ‚>,	˜âg„‹xšëþ±kÍ>Žnþ5`©y©Ãä@kÒ…Û¡FÉK¿Dœ:jÅÚ7ª±ØÍ¡Ê2HzýhIÅHj3 åÃHE¸")ÿ/'ãHö%@¿�7±:£ÓXwy ÆžD'=Cƒ³�„ÎšOºfmàEs´c¡¼Î²årÿqn·áã™Êì‡xS‡F—aÏf‹*gV5ât�—ðÎ7ácPìç>ï2+f�$×èm#P²ív�ÜÇH®+ ¯h
-O^«O$'È›©!™¥€¼è›÷Ó	�5çdü©™X€47›Ÿ4Ò^û‰ •Eó}G4D+´}‡ó_©ŽÎ‚3"6<Dësv²y
™\­Ñ£Å”Ö&õFPÃ»ŠUÆà|+)-| SgTáX¬…åÚ@“P
êã.�Œo»|ã@­b’±
ÔZÊ"é·€ÚèK Òó7PJÎŠÑ*@¾í#PÐO #:õpïH».=-=eÌxE¼µßâ¹½:óÏ½åFLeÎz[Ýctª©¿®-¼Û©ÕaŒqè`c®
-äÅª£Ê|ô~ùN¨Å¡4£Í€Ž–6@w/ g& ©²HöÐs5Ž¤_ÔÿH&»Ðüá–Â5
-Ô®×j?½¡ƒ‰è\«^ybÞÞSSc"UN®L‡˜hGV—ð�bºK†§±	YŸÅ¼'œ:0Î{�«k‹ÞŠÁ?÷�1'@Os oƒ506v¦•zsÞÓÀ\xX¬A¯Ö0Wt~Ìu>fgž€™X`´‚ôYEG¼Xo ·ó2:^v©|¯RÒ³Ãàléí`?Žïøf–Be…&¥—)ÞšH/&]ãh•ý*ÿGt[¿\0`Ÿ	8gºm£¢œšó‘œºÀiépìñ”Ði”Ð/++ïPñÏ)Ì)Ò@GäV»ÝLé”Z´”R®$H�è„z‘÷ƒ�õ”#u óüÑ[ÎÁ«hŸæƒ•ÿ@åÞŽ˜Ãßyò?Â~8iýc¹½}¨­~u-¿Ž4�õÆÀ�¥#ðí	¼'™À=wap£ŒŠ·\8{ßN~¾Âˆ�m¤P¡ó±,™Ñ-ÅM¸Ã“.»ô™pÚÑÝŸºÜãöOcýƒ'ÿæ8\[�âßàíohBhr�£g‘(·« zÌI}¢ó|‚­ˆ ²�a´A°#à²üwª
ürñ	epQ™Ç–£È‡£†F°ñä–
¯"Í_ÿ´XXÙÇ9ýÓNŸ¢þáð7ðuf$SŸ¦ä,½¹7¼ƒœ#�õ²
ÒùQ)]‚DKw—˜
bãÙ±ès‘rýNHÖùh²‹ç\ î»þ÷ºBrHmÿÐÑß¢BDúŸ(òkrý@@¶Ÿ}Èj8¨\UÈº l�uP*•5(šñáüò™H�Ü:AödÁ ×¢¢né0ò™Ö6[ó–Ó¿|ÜacýRÛ äŸ&úTó›¹‹ªù÷½Ò~¹íÇOúC&Ck«¨Q �˜(è­Vt =†ÐúžZR.‚†_ÐÏN7Œ&ðTM|t¹+ú÷$�éÛÏoåÏM^Á_nûi¢:z‘ÿÕ:ÿ“lÛÐh"ÒÐa+§>)Í?`ôø`ï�K°ãê
¬õX+bgÀv0
ÿ
-Æ–Sä³,·ùLÃªR�Ìþ!ða‹…u…íô·öq"£§Ö‡'ÿ# !È!²ýM´�3Ê{mH‘Ã[uR€ˆ�m‚c�Cˆ*£Äï
-±VNƒùÈC´Öž€sá·m{o€ã‹ÿúñÀ—°Û²êõs«‡F•ó#Ã·<;é]>>»µ…ÛßK
`iE¤˜ºJ9
Ý+'×&ô²¸u§[hæihA5*'Æ‹ØÊ_¼^ûÛtaz-¦º‡×Ä3Yî‘9
-ê=]3Wð6™anþµÔ£jRÅTÛ^õu¿0?6éÖ–k�¶w·}@»{e¨]p¨™hN<ðÑøˆ^»�ñèš]Ocd•˜]•VdQ‹••X_.Ö‹áî½MmÎÆ>fSÅÃÕã§ÇZUyœÅ¾¥^«dþ–ºd†÷7á_ž‘@„ÈùŸ>û+ÿg­†žRÿ¡Ýþ_·ÚùŸÚíÿu«ýïZèÿ¬Õ¾ÈÿéÝöÓj_äÿônû¿iµ/òz·ý¯€iÌÙ¼m¼UÙˆ£>
-(éZÛÑ…ž‡}‘Ì<ajA0Þ§íZB7¿ZŠ±÷�ÕCITJ�DB]ÙJU§žøÄpÇ³ÙOÍ˜ŸV4V9ß©–"ýèVå÷qöôÂQSîôä(:Ì¸/¨¶Óö$µú"½FVf<-å„í5™ÏU—µÂÔèN?Íz)Eƒ8[n'e§r"±bMžPËN�…Ô$ZÄwÖh'šv¶Ó‹p�îåùXÚpóê—Óy°f*î§�ë_ä8UÖf“�F^§÷ó…››�E5u§´Üa…áš›F¿7™œDnÇ˜»×î�;DjãîwÓ¬oŽ‡»÷þ4¹rÉ»lê:#ÿÚÞt[Q�]Ø>Â;:ûìû¥GúèŸïè¿8Ÿµw­]OÕzç\Uõç‚æ^¹ï$$ÌˆÄnŠ6'{@œìáÿG>Ð»O?¾ônŒ?þsœåò»ãü£(G�ßçE9‚üž8Ã(f‘è>\áïPVâ•ç²wô`’X+#6‚ ù½sLÚPNªwÏyÇ6š(šIÞ¥lÜ{¶³G{1E2Ëc[êxÅ«�‚E”X3J.IŽxº•ë`Z�VÚ¡”(Ìr+`’ï@×á°ð~ËZcv´ÖpØ@éS_›v«ÚÂ�Â°>NqÓÛlGž+Kså\ØÔÉ#¸Cf»Ú•5ÆIÌ‡>˜ŠH.s�!J×…ôÍ¼j+§˜Ó;@fQS¯ ª!µ
®Ç˜b
ÆIëa´»2¹Ð`°ò£˜¶�«.¢¶^Šf¥Ç–ÜQùEyïŸ*zÇní‹¥©Ð)çˆžîl-üÅò£8þî(F�ÅñwG1‚ü(Ž¿;Šä[¹!z€TN;@žÀ�³<Hõ4¹ÇÑùA«>çcÀUØÐ‹i1Ò¾Ÿf”µ¤å‘áR©…^UFMË�œ-œÏ’yÀ½Àºüïù/ã§šð.û«¢ŸÀçëò+ñŒ ¿,úùºü¹ÄÿÖìÿ³&ÌþŸMüçëòËñŒ 8ñÕå'þweÿšä'þSuù=ñ„÷Ê?›øÍwöÿhâCö?Oxû³‰ÿÕå7v¤ò‡ÿ¡ùÎþMü¯eÿKñŒ 8ñÿP—ß=‚þÖ™ÒO5ßÙÿ£‰ÿ×Ùÿz<#ÈNü�ëõJýïEs1}òiÙ…Ž½fàÚüÁßù<ðâL¿dOZ�¾U,Ô–z¸n±jGÖwbg®ÏÀ¬.÷‘�D��ÃoÄß5Õ„
Þ?^õž'—Àäž–3í¦¿Çç/þ†Nv^*Y%„ëêQªÒ—e>èJŒÌÒç˜”o
-F’¯r‰Ó2÷	D�Ïþåþunû·(Œ§H‘ G'–á#ïyA�­7¼v¿-8#¬ù[©¢žïû²Ò®V¤JA.Šg²CH4Dùç¸“\/æ]ð{A¾�Ã`6oQQ7kÿ%z(®—Ñ\ï¥çênêÞË\»G*£�Ò¦VÎž%%y˜ç»±mˆ‡!{ŸRö"¨òê"È·ó_Æ4sQ}ÿ—¦Ú�š�÷s#?ðŽ¶{I§jö,^?˜žPªRJKÞ˜<’8Ÿ¶ÝçA¯èÞŽ_Í,.9O©ëB™»ÎcÇÔá³ˆ ŸýKÊÎð?¢¹XŠº#2\3íµwL­,gtxÿH5Èî�—dRJ‚Ëaˆ:G%œ°¿T<DæÎþÌÌ«Ôa±sdv:è�Ö¿äãE©>ÈeäÐŠ±ÉÁHã·GMÌÇ²ëW
PJíÕ[»cIõtN?Ýï5yï6„3ß©ö,¾w6KÏ[Îgçf}<ÖJ�Ñ7D�ï
-þ%`(û0ñE5K-¨9RòÞÓJÍíi²¨E³¦,
-Úe¹ÝÜ-•»�ÏûŽx(çû->Ø
Z^-VÎ®4šŸ²¯îDÖôÖ¨<¿†ò‰?‚¡œÂÄS‰DÏ
×%+ïvkl•N	YOˆœl¤Üùõ™ØóGí9cvÍ»0ßŒ™ášÉ:]Ø_¨9SŸÞ–óòÈ¢úùo‹¿ïÑ²¸†…]¯<
-„�N}�>,®²~c0©YÌôÄ‘´î·Y¶Ç
[.½¶síêâpD³´ÇÇù¹“ø!‚ô£úø{D~Xú%„Vt:×±Ä!\£×MV;#è7(er#®Òn&#ˆ8ö²eÁefe>ß˜"'/ã”�eÖ³ÄØx±Ña
]ùýØñævÓ‡¼óuD�¾7�~°©ê;+å,ËªÄ¢jF›RÐÜ‰¢\zyŸ¾Fù«Q�3ë`óZFU,œeçÀ¯vÁcXO'u1:l)Ý�.Ü;Ø¸!ÿn• ß�£åvwâœLÿr×’É¼{ÛÊ­sfím¡ãâÈgvØ•aÑ”²Œ�ƒ<U+mi\ªQ—¸Žý¶«	Ý[¶¸ïL.ú¾�£§Â�A~zéðÀóÑòb“>£Ê�¹¯üày¾Zçºàõ;m>³5»LY¹LÞï¨S­)3#/vZ
hü:ï]ilÖEW«I‡˜Vfí|Ìè}šÿKD�Ÿ^rÅò¡n­¸YGž·ÇÂ¥›¢Á�MPi~àŸÓÐq„.º ™›˜“Jqrýr¿—kÝI<Së�ûs½]˜¶ëty�¨GŠ»ûÍVW¨ß�ÙÙcÊøq„Ÿr¥ø¸x,+ú6Ér*Ãfsê¢>Í‰9�á¾–zR¿ôìÌI>JÛ›b‚òvÑU{:ÙÖžVðæë|É5�½Kñ§ˆ ÿ|ý§„Î5Äæ€¸–.€ô_ð,hÂiÞ
ÞX=*rñœO{®,|¯K¹îáÂ&í~x#-å«˜¹z¦¦ÛÕvSãÆVW
xgq]$Sùãkçz_GùQé—D?¡A~YôšpäÿUÑOhþ8b_ý„fùÃ‰ÿq]~wâ?4a¯ü³‰ÿÐ|gÿ�&þßdÿ_Æ®‘ÿlâÿ«.$ñšÿ¦¿|=žï'$4ñ_Ìþ¯Ä3‚üáÄÿ½..ñÿz´üz<ßÙÿ£‰ÿ|]~9žpÅ÷gÿW]áþGÔh\¡hç	ˆ�¢ªs¹ò.¤Æ.MÛ¹«ï¹›Àm'´¬�éE‹ÖŒ¨6Œõ¼Ié•Í±¯Âé×P9ÜöF»”�Ícö"È·ó‰ÿh’Hzñ—ærô$™‡ËÑxB9æ”z¯ød.¤í¹ìûë ê&:qÜÎbíšiv¦m£Œ‰CmëxSå·ærRlðÂ�ÝÇ·kre~äŸ¯CÑ]ý¿DkU
-†‡¢+
ò…Þ4´^¼êoïhÂE²ƒâC¹K´¹ŽêC�»S8SzQ…µÒÍ¬v§�MwËþ*µyv²Öï bãÝ_>DƒÝ- è¬EÇõ3tLdÃµÝš.Ëªþ®?J9×ýµú˜
°�Yºgzc0bÔÓ=Ýæ‹:ì+	šñ^–É”7æ7D�ï
-¾„Q@ÄòïšÜj2­sø(àhàÛ0b~ˆ³šwÌ¯³Ž4ÏS�\Gœõ»V»òš»ÏºcîÒèÞVûÂaZÝ šYZZ©©ý%D�Ÿ^ú_ÑêH‚��‹Â>´¡Aî>¹„%;›…†õ‰wìU7E÷3]@i£®i=e8¡z·‚”é�â¥A*ÝlñÑý3Ï(ì½»àúùØï ñ{óCó#ûoQã¹Ø¥òé£ÔÊ s·÷j6Ñ£P#Œ«Êmw«HN+�ãÜš<ÌÛ6›ÔZ÷¸ç²Ú� s°©ä¾CùQé'ð—hµ´„¶‹tUc W²ºa‰žœý}"šq/éÊÔžjuÞ+Ëë*ª!@ÊÝ,Ë@Ïm Ø^Û÷vLÆ¢±kÝf�KÛ�!�ù:"È�Jÿ¯¨Ï\(:� zn‹^;g¥K�-;UTõ×õŽÈdAG.ÏÂ+zœFSîŽ_�
.É§”ÕÃˆðSºqe;¹�¬ÛÕrîï +F��Æ
-nnÿKBâ wÈvýf®%º©Ñ-ùXÎ³c³>*ªêp‘Rmäx§{9ní7tIæÎÏ½È�A~·hžÎÌä~ëÏÇ$ÙÙŽó"ýä§—~
-(ª6Þ¢0žáH1ŸKXªãÅGÅ£M�‹˜É¯£##êÕûÊ,äÜUExlð3:Ñ;FoÝÖKþ<›Í’rª?&¹toÈ¼žÓaùÔàÿ%"Èw€l?`â§Ñéårè4éoC�r²dtgr›ÊSO,§=…è£‡k”ÁOGRKî¶žX³j™Ÿ­ª´?Ol4j‚×…Ú°’9Àû~?Ô¹V¿0†¿€œ0ñ›ÔÜ(Ps}ƒ÷JWT„ºµžœX=þ°By!R3š\ž¦ÕØ|·ß%Æ›ñµÜ]¹'¥5?�ni2�àÄÐáòh_Àghï”ä{	†©ýäŸ¯@²O(ª¬×¾ìÉiÌÆ3�’N3ÔJ^”Jîõi{q<óé}�|5¹á-]� ë2èñJ›¨W95*Y·X_xÝÂ’¯‚nº\NtnÞýD�oçP…÷Ÿè‰9ª¢ºI$[ðÄ¼õX]ŸGÎ<i5%!ÔŒOœìÚ‘Éä¢½;Å¦x¬ŽØDÓí¿jm³—ÄOzg<.íYyD�6™"üßh˜‡šE�õ·RT²ŠüÖP&YÖEj›èÈŸ÷{¬¡pr³˜rõöXtÔ²9%R¾6Údò Z2/½Þ°"väËMlÏéþ™6ù†D@UþgD�OüÑB+Z¥ÂâéÆØãGƒWKU’üGˆ‹7@CdÌ�ŸòrÍ·èq?%+ÃÝ¨R°WöÅ4ÍöÒä™éL§¹U{ÑwÖôšXÊáµ©¯w¿Œòq6‰ îÅ&èH;d÷¶És†(Çê™}8r	;sëšQ-Ï%ªPŸ¬ð:=Ü×F�~rÁuºXÍ¤Û†3iÓ�k¶M—3Ñ.ÅÑz¿œoÃÖ®þ~ÒûqøexÂa\ÐN)+u/ö^Ëó jBívyÀ(`[×tß�£j8†så×àØ4b½Ì=“è�&Ÿ¢Ùj.CñÍ(Ö
-ÑÚÓN¾ù:+Åæ±~)7ip©~ä¤ÑSÅ¾­jâ‚H{öP>_>³Mòk?ñÐp°³¹Öa@¿ú"œ`p—vÁ%ªöœÜ[­xE}¿�8•Ð›ñ[Âjô²Ài$à×¥)ui–Žþ¼WIùdiºðÃœfT€ËûôæV„äâ€X£ãP?=O>«cºÛ4sž-ö©ç£?“kmg­ì´�7‚mšC*á5(IXF
-#ÈÅØæœ_Á'4ßuùEÑOˆü¿êò{âùuÑOh¾#öGÿ©ˆýžx¾ëòGÿÿªËoìH0û6ñš0b6ñ¿–ý/Å3‚üáÄÿC]~÷Aþpâ?4ßÙÿ£‰ÿ×ÙÿK4?è¾E7ï4€¿h–æ€$o: s(	@MC£Ô€k1¿Šwn”»{áÖ½«eLEi&näÊ†>hµõuÜ$ŠÍŠ®Ø1ÄYÕ¿„ò] Xá/Ñç&žaYa†2IAÑ™o’§àz¾]„†µ•ár]œ“¨'’od-l†1­—tëé4ô5›Fù”ágèà¯pê¡{Y*¿‚·&ŒgcÖƒÙy€îÆÇ9(ZAQíýÔÌ[ ôU¸Êéšc/Gç²�Ñ¦Q4çZ­¢ÛÕV]s¥­½Ûìª“‰Ü1Î2�ý¤—wgJß!‚ü¨ô§ø�(ŒçîJÀPn ‡Õ GßÊ ×N0a±îÞ~UŽG§û˜�,»©šyšké•éª­6ùEGF‚Çà¼‘•Â^~’Ö¶8œßxVi]¾ŽòíýL|Ÿ�¢ù;½ ŒÌ´x‚¢ã‰
r¿®ñlòQÓH&å¤RÑÒöNË`µ«>;òàž­>Æ–Nt]|?ƒíj��ÐÐÏ›ÖSÿ¥ùp¡fà¾÷[’êm	Yä^ÙZàø)ÖÒ)Ë£f*jßŒdÍZäŠ]�?¦‡ò€mµ¯kv\9%Óì!o”¸†30ý9%2é\õð#D�Ÿ^úÐ‘Ìÿ]ôù4‰<I�‹9+�{œÝp-ãµ€K9¿ñ„g.f�;Ý-KV«¯vr×î�VC|>’aZz&·•Å+ÅH™”µ4:¢qÝÿKD�� eÑÅ®›)\öœš¹rb
òiÍ
ÜI¶æï¶EÞ£E×‘zùÈ\Gß£õ¾ŒrÍÖÅŸ-*G©{Ä·îpôdûÙ³³šŸ-;‚ÌázU˜sÇæîWð_šÍ<Ôìæó°iâ¼W®ïšç~¢êó9ÎMa9×ž¦ˆ‚¹,Ûê%™íÞ
-ÃdC<9HN˜;õwDÐ`•?øÊ‚K§ÂéñR>N�lÿSD�¾þ�¿‹ö](:(AQŽ*€Sd.ÎÛÞ«*n�Áy[ás®õ¨²NéXKÆýQÞ_Bÿ\9ŽwbW]„ÍÒ¢½à+)u�hvrñ¯÷I¿1>ÿ
-Þ£å‡èVü%ºë<`B‹i1þnÎ>ÜóÍ¯8hç…\+0špà’ÕU”¼nWeì4Ü/R{¶žD8Ñc_«µÕÕçT{nÎÄêŠœd”
¼WŽï¡ý
- a³øÖ„ñ\<a;0p$Šm
-�ãåV-ôL8ZŽP«ñ­É½PÍÜ´„T‹]^§›¨ù{ÖC\ªëåã)Íéæä0M?³Ò‹¯‚1±žÆGúÿŒòÏ×ß¢0ž—;Œç.¶$q�#¥”ü]*±pS±žùX’zÉ¬S)NOìôÇ��HŽx½ìt¡Ô$î’—¸Þ/æv_V&ã™ˆF…Vl9d”ÅyàÕ²Þ���¿hØ-¾³¯C@\ÓPtê{áµŠ^<ëÏú*«áf‘Ó×ÓZ^¬Ò%‘Ü\…áJàÅânÃ,ZúlÑ2Ý‰|¾´†l�«j>×éïî¢ßÊ,Î½—ü~jýqø—€†˜xß…šñÞa�ƒ<)�¶¼†f-áHZªü@áì"¿VÇWÁ?nŽp_o�åÅŒ�Ñçþrk#Íém·*�Ö±*Ù•1Ñ;>jÅ^û ¶{‰6ºè^yæˆ ?½g%@&‚!àÈ�V�+nú°I&ú´–Ô:çûš+ WzÒ'µ5ííÀiÞÞL:\cUÛX¥ÙuÝ%Æy¤"È 1xÄz�F-Öí—ÉTçvä;£Þ½á¶€Ä9¨YM�Þ÷Êéæào÷øã1ŸÄšè>›wkjœ®1ù<‘û¾´fžCsbå×ùÌ¼W!�±Y8€AcÝžÈÞÝô½j·Õ9âµg¹f¼MXFëù�òíüKd[,CÃÒvŸ¬è\uKÕ)—²åÜtÖºÆ.…ýÑlµÕÝkþÞË�ï¯Æ·Ì/WÓ�,bsXï—•~Ülßº™ËéÚÖhJ¢Í^^¦— aRöh@lžŸEùQ) YŠ*ý‰÷Ìl8Ã_¼<oÁ•Ò¼tÌÍwGòÁn4ú¸[×á¼H–Æ—É2Ÿ:
·òcßO¸6ßÍ*E®­÷u¸~¡-z³¥‹ühO±`*Ra{‡¸¨¿@ÚA%´²ÂôAº»~Q°ã€¿
-óÎt4w•Í<Þª¯ö‚žcåÁ¤ ×ÇÃæ¾:î]ïô¨£®øA{I‡4“ö‡”K+ªz¾ÌZAý²j5„Ë¦Õ¸YÛoˆ ß|�“8\D[VÕLzR”e8÷œš
þ†=°j>îÑ™Ü9#c6§¼C�~hWcDÛ\ís4[m)>-µÂ±_m5Ï·ZóÕ»5šÇ”ÞnÒ7§á¾„÷ÓÑÿSà¤”bL‘J[jÕ±)Ú7Õüi3�Ð±šM�Úeä­+·þ¹M)]Lå4Úf_U{²V«ï9Ívªè7ã·"hœG¥hiôÐR¼‘T«Éº4kdëC²Šþ
-”«Œ*·Rä‰w%7Ú‡#dû&¬«}žèÏ&	»?â‹Ê¨Ÿ<ß'Òxÿ®Þ¶½hµbþª—¶‘TF\}HPÛzÆ „š¼lj“BC¬a6u­jlG†è+ßáýzÿ]úS|4Iœ’«�Ùc€ÍìÀ´qðI–Éw¸d>¥€wjy€µQHb×È¥Yôìnñªâì÷a¿DØÇî+e{µœÝN�k�35¦
²Í+
»]ÂòãKˆ ßÎÿ¥è'4#È/‹~Bóý„äE?¡ù÷ˆýKÑOhF�?œø¿×åÏ%þC3‚üáÄh¾³ÿGÿùìÿr<áœÿÏ&þ¯ºüáÄhÂ;ò¯'~½JCW³p4œŒ��s!4Ô‘yòï9–ò®,‹Ð–›…¤L<WÌÝÜF{d:QJuív÷}œ÷Röq^……G¯D¶ÌI†oªœ„à·¾‰¹WbÑRŠòÏ×ÿ]ÛP´‡¢ç8¥ï:¾÷`îp½B@U@ ±u`f�/­tçÀž<A
GËÔjˆXÃS�°²U¶a÷T�«–oƒnùufÐ‹*Ö’ëû¿À>óÎþ‡(�™ÂœgN?<ŸpE¯6™\ôD#4FÕMð@žªW¿y®ÓÎ"ÑÇ€Î Zì¡&~Mä
½Y¡ô•íÝ“ë}Vtg%íx8p•týÇõ_â-
-ã)„ÿ£é‘PÓFßûWßû3º§ çèû¿¢ä|Ô
-ìX~ã»×'œ n‡Q'±¥™Ç7	§Mù¼UÑ~K+Ñ¥Ñº˜G9ÒìU2LóºŸ`ôùŸA~z	à·cæ/Ñ19ƒ�³,Âœ×¢€Q
-�œò±Ñ6®êP³ìV9/lºš{ØÎcö•Tkš‹zyáà°¿Ä:ãÌ½Ïò·;ÎÑbýNÄ…Ì£¦lMI·Å¢tü—ø¦ùÎþ›ÀfJCÑæ H²
-WQªÿ±Ñ68©)åó"mžºÓ}öb¬µ%ŒR�$”£¶ÈÞ°²¿<fYäR
-‡…#BÞã[‹ÔdŽ7ðÃ4ñ}ù8|‰Þãu€3…)ÌþjÆ1@Öô{£í)´Ê[$¨ÜF­â�Y•sÛr`ØÃC/n®ˆRVk=ô>¢ò©‹}›½N/¼ŽâƒJ	¨³LpÛiïÎ¶½õŽMœ…í'A~T
-pKÊþ]t<ƒ¢;Æs6jÃPæÄ°èm¾omh�êv¶ÎEAÌ�µFeId”®Á¦¥%òˆ‹`FÂ9ÌaˆžìýÌÉû[»‰ÅÙÓHë•æ×(Jlþ%þÒ|dšïìvØ‹PTÜt@nÜ:Ž'$ü†°¡\±6ÚÚ÷iúaåµ¢	Ì3u—í6ráäõóxyiî>·*|+h\«¾|®±ÔâºÌ/™ÍâQ`Öˆ ßÎ?‹¿‹j°#ÝE¨¨	Ø4·0ž‡á9Øx—„÷´”Ž›¬m`{h�ªkx¹VBEx‘¬E4*û„/¨—¹Å	CfS�âi=‘sêÂž¡—ÙnþZÏvýäò³ˆ ßhè[´þ…‰W@"Fäb·N¸¦‡g?8ß^|¤tœlòt°¬jßÓ[T1.cÔ,v	JÇðxC
{g3}#2ãkYåË~Q-Qç™ÐJß'½Øy=éŠûÅ¿Ô”a<Ÿ$Œç�ž"í^ß£eõ™9
-ô‚Í¹~ò@ˆ;’«´º¤ŸÌê²ã©}"|I¶„„¢(Õa±ë¼�´îfÅ�ó4˜Y<I§ÝáÖ)3�)IØPÿä»‚ÆßEƒ9“	Ž›ùdh•@Çßå*G·WZGíéÌêXåQâ¬Çñ´AdâÈ¡"ºÇIÅ7wµNAaïHã´ÜTyn–(QÌäFn/“Qn‘ôý:4êµý—A¾�"efaËÍ¿Dw¥lœT2pD¿íÅÑÄÞVj=`1’ß1ZUå¨L¨ƒ.ÕFÀÓÚÜoè‘ÌõÆçóÊ.Û™ÈVVTÝ°d<›çä1¹Í¥Îqal=&ýK"ç¡€È7¡æs5ƒÑäJ›\W6ö·–3$|Þb¢ßhuJ½µÛû
-/¢4�]„2‘=r— Ì­×Äb9oOíñx^‚Éf‹ÄxÀwFü žŒªýýjëïÚ¾ý"È�J„¿DÝ*³dç¢„Eq�tÅÓ¶þÈÉF?¦u[ÍòFù^êæ$žàEÒƒmŒïîƒ“¿eûó“PnŒç`�ïÃÛÑ;Þ¥^›Á9Ÿ[u{Aê^ˆ–ûu¼ŸŽÂ úqbEâ�
-PýÆ°µ±W£ ?�™"Ê¼mÌqé¦‡íc¾oô·Ç§ÓaÉû«±x¾ª¥)º;âÃj-�è�ÍD·�eÒÝ”6(¾wuòF»3jP«š>	ÿ€Xd æ–¡aÄV¡…ÖµÿlõA�…³yeLnÕæA9_­ä±Ð)åv‡¢\ÜàŽ›[‚ŽÎ2“1ÛèÓç?_âï <´g©!æÚÄ=MÑÓýï§£?¹ô
€¸p@è"
Èéˆõ_²Vç�®¤qæ¶Œ§çë=)ìnïhynÔ3ÿZm5ÌSÇ¡ûËj÷´­ØYíJýãK÷÷69ÏkôÒª:ta½xQvÉÈR6�/þK||/©I2¡Ò¡Õ7öø^å5$0Î7g�ÄÎWAØ„ÎnÏÅÝ~CžÙË*¬åù€LÞÆT8€¾<õz!+t&º³oçÆk�.ö:'
-Î²$ª2Zk¯å—Ñè¿ ñ.Èö³íÅÚé‘N�0ú^ì/•b­Ph¸�käm×i¶ØU*ÛY¾Xd4Ïˆ…ùØnäVƒWYôñä´3uzÓv~™˜Ñ¥±² 6gaÕ
-RÂ¦µ½)B«1×Vƒ©¨?Åûéè?]äd†NijGë‚ÜMí5½tiìvï	
ã1¶ Ý’Ëcù�™a×=1.[Ja@¿‚RW×ªm³µ‡3Xš	ê
Š»ƒf+Ä,ªÕì]ÚÍWJé77kÜ¤ÇÑe3Ž¥Ø	Ÿ§d$‚htU°d¢EÄ.bòÈÇÜu{.Ü/Ð±w]Ò^Užjƒ‚6ª¹¸Ñï%¨GG›qÍV^U{žA«_G›ÇÞiÆoýtã<¡�:%IuQ¨K³-Ì<\êÿš°pÏwí‚×âTŽË§³ØÅ—Ìœ]%ñÉ’vÓé<-}üºÝæ´ìI=•i›Ë�¥¼í„‡z©}3.Ý„FRÙœêCbz®gŒÅ­&/rmRXh5Ì^›U�Ý:ÿŸññtôÇ—d,µ¼\5N=‘ÛMcGµkv¬tœå¡c+?ÜWó…^æV(µv¯Ò
-¥Öl'ûM(‡ÒõŒîvj“¼Ú{
-#ªó²8®’ž8­˜üaVYÕÅU¥D¦lâæ_`'l–Â`ßÇ’x ÃÔ Òþ°z–�ÃÀåÀÒ´P¦G‚¬Vï†xV_øf³¿õ“‘äÙ‰íÃc¶—ÐcvHÊ+7K¤ë¾F5û0bòVšeÓÚ#Ù{¾Ÿ�¤«æ×ñMôš°.¿*ú	¥×åK¢ŸÐ„+¾_ý„æ;b4ñÿ±ß˜øMX—?›ø×åw'þCfÿÏ$žÃq€‘ÅÖ‡æ;ûæŠözI€éñ.À¶5(Úû=Lr�Ã[:Þò—¾¹\ì=»Ò¹yÌeúðÊ}@<Ó®—!r.wlÔì˜ÚÌ™è¶˜R�e
-}è€ë—ÿ=ÿ¦x¢0žµ
-]áxöRæI€·i8ù­D€ùêFÖ+ôaN"H°Xç8Ï)LO®w!·vO;NH—cÎ>>Ã ÔŠMLÝÄuBu‡Hâž›º4b_ògA¾�ÌyA±#ÚmAQ©¾Oªpnþ‚ëf˜7€;p‰‡o
-q€µz8{%A!µ:xÕ¦ps@1ì—«ö±k#v;Eæí¸@7"ˆ)gØªêš(zGºÝ÷#Û¹rf°âõëøKS­°‘ö(€†Ãe÷ýÝüX€óè¦;D«qD‘K…bÐV2¹òÙœtq3j8TuìD—{>z­Iê‘ŠÊeKÚ¼Úãö‹wDì‚ËâUE®v“NÍÖéò
ä»‚Ÿà±äëo¢¹Z¼Ì™
@ìÑ) ¤µÃ{:X3ÊßL
-ŒW_ïá§8¯UÔ²»é|`�Š…—¡=7	Ý<�0½˜»ÔdÚobW²Âû§@¢îÇ8‘>’äø%D��Ã_¢nŠr(Ú=ÂµýX4QXïÁÓ÷Ž`5,ïiß½2´·K�Œ‹í%»wtlë\}ÍàTQG‰È¨Ü–â–¥<xG=÷ÝÅî²—Ë³ãN›�÷_ÀQ<úwMNc~0,@û-“�9jÀFÕ´_[.[îáB2"ï–r9=tû„YÊa¸Ñï)�V¥)š´¯:×‹_Ö­z<š'g��3âÖÜ¿ÞvÂíw€«×”~‡ÿˆâ±!	{ÓŠ†M Üüñ|bw'Ù]ÏÃUÍW}OQS^+³¤œscr’½›ùCÇˆ *Ø¾Ì»Tí¨×eÖ¾�«í¬,6-÷ôlÜ’Âˆ(Ù¼ÝŸ8Þ˜ì6 9á¾ŽwA±×ßE½8}!PÔps€ä„y`‡P´¾1RîñÅÑ¶ô$YkÞêI:wÎk
-RÞk’žAïçÚrr>vcÔé�ÞWá¾RÀ.?¾?"ÈF(d¶­)æRWÖ_ÀKEOtžƒ¡äÛÇH6Í¼
3Žä©*8Z² ªzBç‘rö�~(’5‹›âE}Ýbê}\ÊG3®§D"{Ø«/q»+äâ–9\
n·®™L:5Ý®Y®±ñCD�Ÿ^úÀÿ¥ag/CÑAŠÖˆ\hªÎÒ÷÷@ñbÄ#é¤ÙkÛ2èÂF÷ü¬ô6âMZº©+ì/ÏõòtÈZÎ~ËöËÌæ5n6ñ){f“KÉX.‘€[¬ååBœ}šÙ‹ºGÑq—‡�säÀîÓÈ‡+ÑYø�–w»$’¶ÇÇ kÚñòF;4Sâ}ZhŠ/°ÄS²V>ìóÜzÃ	¥×ŠÉ¦·ÓÕ¼Þg—¦eI³o"Èô@Éãésý~§ê1hËþ�æa5��s¾(N×™{ÏQöý¿W‰,eó
Ú7øyy£\½‹ =*Øñe§ûö²ùmmØX³}‰Ÿ.‹fÐŸ�Á`<kÙÆvr¾—7ãÌ°5_MvðSD�Ÿ^úK”Úçao’Þ_þØm‰\\�‹mA•ôg^<–•m9¤2V‰È÷õ¨€±wMñ—hÛã=�r;g±ZG.î»³•‰ä³C•¡&}=Ù›¤/"?FÇ»ãpî¬æÃù´7ü:>jýGó#ûZéû�Ç-T)ú�½3u¤nêöXì§c7@{Ê��’3Ë³ây6a…%w]ò‡8>c†-êc…ž3ÝÆH[Ôú£y?ØM™’%7ÎF�A©zž}‰ŽÎ˜}»ˆþS¤˜õƒMm›sÅÍiðÐÎÙäN}8·ÔºžJß•úøBÉêâˆ+‰ÅD»ÓMf¥�–î
kO/`Zåqº6,5¸ÁÀ-Tw®˜zôëë‡Ø¯‰îŸA~T
-ðuŠ®e(J…PôJ¼_Ûö½gq„ÙòrÓ5¹„~Ôã÷ &ë±fíº§n�ÓøPì«ÏíˆKçÃþÊTéÙùÊW#ÈÈœ•Jƒš~¨õ÷tÜo
¬c¿%iA/ž·Ì^,ž?&pÊ&˜EØ‡ÈþÇÇ°(ö<7‰TÓVÑ§Úëïä¹KR#1$Å¡«•â¼ÁIC·µf¬VcÞMq¥q¾n¡}
-gRÝË¸KvûØ½ÙMùÕiç¶½	�Ñ`bw†lÑŠ ‡/à·UÂ+"?RÑOÞ3›0óñ3ªÇcnIžŸTîú¬ÌlñŽâDp<,Ë_…d¬&�_kt2ÛÉñA#ÌúÝþ�p;h/öj«¹ÚžZ÷j›8T‡´1¶vôo)Ÿ@ù®à`EŸñ .Æ(\©Ñ““Éooúí?dM™U¤Æ¤ÉŠãî^8ºam;A!`—h:¶Öã×TIYÁÐ»Ô¬Þ9›P;ãCG{¿NXôRh„t�âR”�>£�:ã�å×ˆœ„¢Q®rZ�x‚½†c²Y‘Ü�‚)1WjÐ¯Š8÷�{®w¼„ÔNìÒjÉËW"­ÍFö^9fIêŸPûÔÍVÀ¡�Ã:Gº˜k\)ÛZè»¾¸T¥ôŒµüxŸ€Ðëˆ ßÎ?@ô´÷7èJXœö‡�9Êu•û«¹’¶ã] Ž¹VAàÓŠ™c�¢“å±‚¬"ÈLîøq™²6Ê™î=)­Úz�]Ñ%l»¢6ó-×òo¡µ]ë×V£œÐ!z~ó¿$>‹òíçvŸ‰Qs®õBAMS>*ù&ˆw5þ~…m:Á|-Í°Y_Æy.?ÕûÊÈ[+�Aüø¤ºc-Ùj/Oš.mª†éÝÖn®ßŸb)³æaí¬št9µ…è�›ñø^ý:Bãçqø}â)ÒNñn•Û„>g¢ï_ÍøÔíg
-SV*úâ\Ï?¦¤Œ¹Ã�Ëýä…�9¹�ÒlO¼ßišnµâ7¼yì�rÍøM(5Î£K­ÑC•V£‡E{�¤–›Ô¥ykõ
ï§£ÿ§à§xÈ#KVåÇíVJ—ìó X^o±‚†Ø’)ËÖrÑ
¯ÌÄŸùa3¶½aJÝ·ÍUÖ…âs±ù:§Î�óP‘Iå¦Ö‡ÄÉ¨gŒ›]“—Š_›¬g
³ƒx
sˆ4…	äã &¼®p+Æf·s7;Öåsžâ¥²Ý€Ž‹Ú"¹/W'+¬X¼vD£;A±&m³Cª
-~§ÙN®ûP®:‚^È¤6É?çU¸Ø\Uçe—©˜¼ï/ðì*«úóP)<‘sÙ> Ò×q[NCá|b½ó¡TØùÛ$³‚m1“O,’;õA&uÿÛWSø(]öôxó%–�F/óÈÔ3:‡A³^%=2m2…²½•ÊlëU)W¢a­ä�ÂF‰ï¼¨bxõÚÅPŠ÷¾CùQéw¨Ç{tÙ‰�ì‹"A6‘¦@–U8€f'€¶| ¥údÅöd“=d†ý,H;Ó:HŸ.cxKs©mx¯µ®á½{¶Âq2|†ãT=¨£^Î{4/˜¤äqÚ/CgÍ*¶�/áýLéE?¡	g°¿*ú	Íw]~Qôšp>ö«¢ŸÐŒ 8ñšïˆýÑÄhF~oâq‚YðÐ�·*à@×“÷·lP”AvÆû cnq�)n©ð¾9ÍÂ1áïCÔÌÝ!æv ®nÑ@]gQßàRy—K”P[PÇˆ•òg@ÏIÃ‡â7¶Ê�A~z	 AÅènh¦EÛU:Vö5=`õU`9s
-ÐG\‚‘}=A–�	A?Ä¦§u@Öß�oðSüå¸~�¨& ¶¤ëÊý¢M©tÖ¼ù½¸fI-_ÊˆrO˜÷ë—0¤ãy�ÆÞk®ó +¯;•æt$=€�å"Àôò`‹®Ðç0ªñJ9Ð‡Î ÈÂÆ/)Ñcô¾á•û›ÐõÒ�÷“åRÉ~±dÞÛ“¬¶–Š/™ŠÝá¬ï–Ž6¥ët¿„¿D�uj.r0¨·À’ç4|ïÆáäo/WOˆðSÂÙ“E‚å¼Rñ×Š2ô6jãòó@tÂ‘ª9MÎðíWKÙÐÍ[×«YÔ]*)S”jK£‰'_�ýå\:÷?EùQ)Àˆì/Á6ÐÁŠü>Àºö{Gð.8Û|o\VÙP¯¸F°:ìS>›«×¼q:O<ÍÚ§Øàøèe¼»%%dØ+ÍûSæ˜�f2çääç¶•FGS¿ä™º$VAôx|:–ð%@Í¶õÖ„ñ\
-ï52ºO
ÆÇO§�'À_ïÁ-”óDÌôæœòêëbÍyíNc»›{°Ö¨iï�9¥š]¬^T¯Ú1U¹½ÔZØ n¸p9?uõ´nÏÇ8ÒÞÏ`›ÔöKXuhÁìŸ`<w—ì>Å!À¼2\ç‘ š÷Fh«|Pº<
/(ËéâR¥zÝ¾dNK¦®#¿mqj�5X¹�‘ü½—«]ïIpxÜ†L2~1O…ð´ù�Ì?„½\6v;­wåþïwüŸ‚ïE1r88Ö…¢¯Z» ²ù�ÏíÝ}zrÊAÄzã�V6SÃéµbQVFòË¥4q&«knP‡#ÿeeó÷³Ó¶±~Øû‡dPºíæ©òNøËo«æKXgþ€Ù¿ÁŒ_¨Ù]�?vÛ2@ºQ@˜éfÀ8%ÖiÝ�Ï¥”�éÖ¦±è�5_Á–J<TÖ’z.ÌÏÎÓ™œ€@-OQq´?vjº|¸Üpo§câ•¯<ÇÕüz³·ùeù8|5,8qÇ	\Ñ‹ïÅrû�[¾·É3^«IèN¯g¦XX�k1£<Fû*¥‡ó{VÙ,/öê5=æëá!Ýd†{Å/÷Dÿ~Ø…’ÎWQìÌ¶ÏÖšM,¢K¦gùÓO ‚|;Ø”µaöõÿ%(ú0Þ/6ãáÒ¬6}~Ó`Ý¶Mhö(e§L«˜­i¡†ôäëý<‘òƒüDy|�J¥înÙ{uxwÆÃ»_5M–Û�jWVÌ°§•2Cç«i­1]á!5úþ®ø%€¹öéçûý–D`ÄÃ‚Tmx Z];¹¤=¦7/e8Jª¢¶÷WúŽ�'ƒ7‰�NHfÒßëÉX›çÑ}kO\(æz8�˜žàVêÍ¥öl<wÜâÚÿ@ùvþÏøK´ã$á…Ã:ŸÁ~ž¾²Kì°Z÷(¤±rÒGJ³–L2­ïˆhY¾mfÍ"­„\G|õ®ÝÃ¯w·Ž­Ò›öªX[i]£´,l¸ÖÞ¦soXâ§tÌN)ÕìLöi¼ŸôÂÀ6{çï¢49‡�ó½ßrF$|¿Ø¨¹�eiací¾j²åLJ‹çõâ�X–«—mUo�R±.µ_Z Å=/Ë:ƒ&¬Ò¢2-ãÓ—÷~n9M¤¼öäü¯Frk5�7uzœÉ²Ô—ðÖ„ñœ‚“Re€35Oc$¿2ÎÇüºS-;×AgñÈákÕ¨s/DbRbÆ¯’xz-ª\JÖ·¼xª±R™,/‡unK{™qÖÍb£éŒmŽˆ:6XÓýd°Z;sYi}Cù®àGØéãÉ% h·X�}h¶$±•Ãb­÷¨i£dË…ÅÜ*áŠª�L/~Ÿ[Uô²¯K¹ã]¯–à˜ì¶¥×)6Šë¹$‘ó}=Ÿ�ù=2,ÔŠèÀNJÍº‹¾lzA�õ+¯y÷KxïºQd8‡³iˆ^ù÷~Ë©®8Ñq»D§`Yxd4û7YW™§Tí)±§öPa5
-Hþð’Œºxà‹€hg¦)å�‹ëU¬Ï‡´_·20býFÊXõÀ½sé¾öôºû|½Æ_À
jª¹ÀÑcÛ`r1\õ%Ø˜Œ¢p´l<u˜ÊŸov;éœÅ#=ÅDr+¬fVÉE3KO›¥fÉ1ˆöôžê1Ú‹…Þ‹çíî9Ý`ºÝWJí\SùcçR™ïA~Tú
�ÚPÔ­@Ñuø~5t•	œZâæúúÃ¬¦Œ¸:0Uê^\2‡k�¨Gmýtw»çlî×dlåN·p;GJèkd	lÐ�.ªn7uÎD;£Ü2×õ«½Úðù¶Z8›m|�«ml´8~	Ï†ÞÇÚïÖM
-�§
ë	òéh­ÎÓ»z5©'tlR—“ q'Ü_‹ûm¶¦pÃ½n®Y~éÌÏlÑ›KÃíÂºù~�©Þ&S¨K/×Ë](¹EÊŽ÷»ïï¼ÇC•¬L1é£ñ%œÊÀ915Gq9Ð�C,öø€¬4Äàøûê�_c=›Š 'â¨O÷�ý’áîñöžYï—ÅIÌÜ§D>¡
ë—�ÔKe‹—öœ]>Þ@JÙÂÆ¥XÊ�SŒÊµ<íÒjñÛú¢Uoœ?Bùé%˜î]ï1@nÐŽ+Æ�Ž.È^ínê3ñ«¯'²­ì›Ý;Å�Ç«>S®næË`˜©*ïß/6ílûH9³�mlÚÉ±ôº¼ÝP›ÜBhùkAjmK¾ÙÚÒmÐjÄOéVoÕšÀ?÷¿€[]ˆI¾ÿ÷ê?jZm½dÒ;w®Ôœ¼�fˆí›ªšáÆÏ=¹ö¦›Ò¢–õé<³§G5÷Òëw/b¯£šZŸ~ìð>Å•­qk—»Ì›ÏµÂ6% 4tïÞ¤ã{ëý�w<kÆô9ö%"·AY0“ZlGi2.+á•ê®¦Ð�¿AÃ©Æa‡²µæ‰lÉ‹¤€‚‰9ÉÅ†ûZ	éIýnºCšÇ,]ŠD+<F‹Í×üViÒÖ­ÙŒ¯�^ã\NŒ]/·„˜oÉ³ym$/ó§ˆ ?*
`jÑs¸k=W½î0Â…Ž¹%tDYìÍº¦_ø¹Ô“&‰¸î8÷27ã
-oæØ�ª=WJóØÃõÆy”pÞŸ¢&Âú�ŒEëMÖäU	…åk“â¦á´k˜›}	ZxoòwuD®[rp‡ýej¹Ä~ŸUiè8§ #Õš£zlÏsÝý"úÝ	ÚÒle2lí)0iÆ¥Í¼.M«š¼$65ÌFwU�Í«¤�ž+æ6«¬UbjU
-O!ˆ ððˆ~	ò¨erWoçO÷ü^Üï”d
-¦2«pn¤æ™ã19fI!5ˆvéÎœx¿’òx+Û<vx#)»¹š¼Ø«3®TL¾V«@¡Y¶…r»\‰‘Ý’'’ýß-�KõdmV¥îª¸Ž7ÿŒò]�T.¬x±Ÿnï÷ÜfËscinAGJ‡Ž¤2.›	¹ß‹r‡Ô_2UEµ¿
-F=£çUmíº•Umç—ÙÖ ,y'úUª#•èûìµŽ[™\²ð’séÂq’ËÚx/ÄõJ.^Ô‹_È¨3È–G�™7c ½ÎäàÈŸ©}�¹L�º2×Rd
-�HO:H'HéF¤ŒFâÒ)35©p²…Ð® �j:ÇX8¢XÄ_4AÔÝä+�-$×«·}?!1d�¼}?ý„&¬Ë¯Š~Bîïuù—¢ŸÐ|?ÿEÑOh¾³ÿGÿ_û‰Þ;P”^Ø ÃÓPÔªåAf‹A6!œ@¶Š KL ³ÛŒAúµ=B×‹
Òx�|G¡Ê·>H'ñ5ÄVƒ´�ÎÕ|�®Ké€ qÄ+%†/§îÞüGbXÆ„{ÉšéL.Ÿ@ù8€ìc1^Ãˆj³8æ²²xg²§Ôd�ÕÂ©€l7:)z™l:lÒ(Hw:�ðlÇáhçlBt˜5;Ô ä ˜ªÙ÷nÛõq�´�+¼¬K[õ|f*k$nJý œ?�}. 
³…ñô˜Èœ¯p8^æ-ön{­­@×õ:@Ñádg½;È˜íg8ÞD öŸõ€8¢cß¨Pá¯O~~«kÞ£™ò½õk”v¶Ö#e]ŽêÓÀEÉV+‹“,Gç¥óíÒ
-„¼ßÞð?ç?Å[Æópr@6ÎÅa(ce�}9Pt¿¿äK±
€Þä
@KšèÅú+ õ÷e®þÞ�^g†®»>0.‡G·ª¡šÌ;¾³Ë]Ó�Îî…DL¿?Õî§š{•n§Ãé:4wŸÅ;bé
ŒèýE±Cd'¥*Œ"œ¡`IOXoR¼
×§}ŒNÒüG´õØ§J¸|�n8»SØ·miÇŽöþ!V3÷G' mëZXÅ�éÍ�¿ŸÀ_¦ö=!-oJ”Ï—Åý%œK¼ÄÍl¤°[gËWdå>Ô”Ú+h˜�šÚùý{Ix¥Ö	É'ÆûvMÖ<nÚ‰9Oì€Û§è«öèÚ­®•ÊØDÕkÌ’úéý†7E_–†¡êî©ÄéÞÍët«]Îko"œ‚u…?>Åó
ä»‚ïÐÆåö—(­Âðf¶u¸¢ß3Ð±«¼¦~\vƒâ¡À{¼¤iÎkW�ÚÝ:CX·ë±jh·
\WjÌ‘i«µtm¨ì†•_qõ$ô’!Ó5v�u
-ºÈåÇãSQvñzâ„«<Z}šïýüO&~üHt 76ÓX€c=–³a¾Âtý*]ã]ahjö%S�ZòhLËJ½¬ú»gM>®½ú=9ìÑ·Ìt2–Æ�´¹jÃøù:/Î¢G¿OüG:‚0`‘Í~¬#ÌnÜågÐ¾rƒ�Ô‡ñd‚Ìy´×ó!Ôß
@dfh°ö—mØ_vešsÄâËxŒØFÌÌÍÊ˜Æ§SEY¬\Ë·¬4)_ÌÇ¦zf{Jô,a"ò‡‚-èvlS	y?ö®Ûy›1Û‚;Xðl·;ûï÷Áþwé èMh!êÁnÿ„ññÀã$ðûÓ�‡ú\L¹­¹±¯ÎK³fxñ¥oöª]+w“Ó³ÂåQÍæ#ˆX±üñôÿ“ö&ÊŠbÁÚöì‹P™ÅyDTç	Dp@D�¥÷ÿ/ëô‰þ¿ŽîŠŠ8Q»¶¼æX™•äB•úÎ"w½.¿ÛS¯¿Õ=vzRÏ‚¢¨Kw¹Ö
sºnOìñŸd×Ó/™ßÖÿ
-¥LöË¦�™¿'KrGE	1`CSh®‚I#òüò"÷>¿åáâþ6ô/ßŠDX0Ð©–Ó=óRÐ®’ÝÐJl°‘æ¼´©2�µn»âê[ñ …LV‚ƒWøïÿ)þ
-'f@=²ß`“e®¾ù–ƒ^ð
-\�ˆØ`Ü
-q†—~ÐûMÜkä¤ïpµÑÓ4e­úËí3Ñ>·¥ËÝìf•f(åE†Åõ»�·Ö­=\§U:mï1gWË«Ø ¦½ÃúoWAv:_¡4k‡´"va›kßz¡ÓàU›høÓØ-[êÄ.}‰õíË6}�\r7Lƒ[	?lÃGv7‹¬VAHâUØÁ•Ñ]—!]”²§V[œU÷³EÐ.MçëÅŒƒ8t!Îí?Å_2¹bJ}ãcçoëÛÑ@þµ
bµ¾ÃB‹7‚év°¸­—ãñ×�Ó\-$VsdöèMÅô[º…«<ÂdìÚO‰…võ½X-l®åò¼99ðÓ÷{9šô|ÎcÓ´�iMÓÙüS€¬ Ðeå²Ú&rÙo¾eë¥%·×)ˆôÍ2âÑ¬v_ŽVó+[7?¨ëP#ÿŠQt0ÔÍ{7~­†eÑõþid¤Ü.æêâO3bôš`
-EŒí™Ù“÷Ì`8["Í�
-�Ñ¸!Öÿ?è?.€ì
qÿz;Ñ ×ù@¡ZVKÊGï¥Zú‘UW_®îfg³%îœZ:[­©§N+ÒÅ
ùVÙG�Z9öà½x6ï1´X�‡£ÜRx‹ò:=,zíêà¾~úuaû9×”�bõOñ—L�y:ò ·+¿þ7¡£¿êäöòD‰Í;(Ì�¥+P´‰GÕ˜�]sûÀ—¹Ëö†¾ƒÍ¦c?×x«‹b#óœíB)�%ò6¨ºÃ ¯ä<¤ßD…j¿YÀü›“¡…pì*0V½ñ§Ùå�ì‘Kàs¨Xyâ›oÙ[o#ÀIîÃYm_~XrTô�Ž¯­¶º3áóe’+ºšb.J/™Ü¥kDs°ÓoŠÍŸr/r�SïüçE!B
-uk¼áw‡|&ä|‰>½1;¿Çú÷9 Ñâ7w`ýA~q&þú¤?÷p
-Ñ&¸v³GÜ=¿°îñµ>-D–Õ·•Sh©\ì¬.=Ü[$”æNÅ¶;¬ªŽ%t–‰
ï‚Ö?AïˆŠh¯Ÿê½Œ9§SÝp§†2ãì#;øSºÁœ¡Vù
r#·
-hzøªkß|Ë‡ã´¶×wš°<z_ÃìÈÔY“ô'»rù!o:Éb+{}XÆ»ýa†/YsTiÜ÷WÕv=2¤-nÒ[>¸\Ã¸cºWf:ë.ˆ¶Ó-ÌFj7o§—?è¯ÃÐ=îÕPè«‚Â¾3ŠÒ9bâ×õåØ»‡£w]Ü´ò ¹»§Nk—¸Éz‚¦áÌ/*¡®ÌŽ÷Öf˜ÑF8p…;ó‡MwYqìNpÈ‡�•r&;+sÚêÔ6Ô¼õ}»­dÄS;œçv€ô×ÐëùÎ›Hä­qí%ßÐn0O—g²”ð§únì™ÖGv÷wº¨uê—ÆÚ7]©Í†s«ÜžMŠJi9ho‘§8 uïôTíÈ`aµãŽçÃ»lèF
-Â+´™˜é°`ã.Øí@óØv�>þ)í©7�ÛŠß´ÐCåòžnïÞ©ÙH�ê’=ýA¡Óô¹¥¸´.EãëY!¤¥FTæÇ†Ù˜,q¯3l¹çž@(�>·D+£Î:ÚOÛ°_µ[»Ôž}wÛvGÛ	»ËÕ)¶ÛM6­5'­ÃÀÑ~áýûü?rÔåòs¹2ÖÓôH.=IWë
Š²Q–GëÚU=‹ÈHLÈgnWIt""9jð¦i8Ã�«r�)µÚQIªÙfU¯ÍîîžÀfªá´uˆŠJËÌèV‹7“[‹¿Î>-LË fìŸâW•³LpUK¼êÂ`ªtŽgÓr¥ªQÞ�•Ö½½Ôuá`ê¢^Úæä~w?æ¦70ØÓ•wGÏ{÷±Æ‚v²S#Ö†Ÿ–9êá-ìÜÏ1ÃÂ´q‚waHMWªÌ Tµ9©eN|ð§¸ÏÊÎÆ’D9•gäÞÜïÉÓîÑí°Zf9à Â6\ÃˆlPíÏÜ^y4–‹Ì|�1ªž>óbW®ëR»�AÖ-�’¾5MGßJ¦ë[ÄÔkÌëS¿Qˆ7QÝßxŸº¯D]d[ˆ=S/îÜßøFGÿŸÿÀ9ãâi‰êŠ•ª«ÛÝM­ì´Ì"¢e¿çe—é@Ï&ˆ‘Eâ¶Ð7»ÇRož¿T:Ñ¯±?m0öä
}äæ¤t`óÚŠ«ûê²_/ƒÙ¸&wfóZ=½’ªÑa§VUÞÙUìiU’ü}Ôþ§ëñ›9l±1£ùÂUÑR¨·ƒ™piT‰ûŒ¶È`¤V¨G3Ñ€ó—ô£�lÛÏ–9°â¦»¨&�yõ“ª—3S«§D´ªöæd%9éŠ>˜ÊwX.“Ií-s9‘)g®z§d.l¡$”.Ã?…õŠqÉðšû•Ö‚‹/ùZÕ¤¥QÙí¦s\P‡‰ÜS„!Ö…3?W†ëv;µQ{üT›ô]ÙÕÅfíP«}h"Ë8VÚ„ì”�ñÜ+s´x+™ó¡_Âî\P´%áYV…¸à*œ[š£T�NF™àý·«¿È™²ì €HuoÔ€‡� ªã ²ÇÀ·àB!0À÷v:¬æä�öO€=`Ÿé÷ýJœ¼3§ŠÀ+ºñÙ¼3»@¯—›Œ£È�/÷g½V?oj\¾aýþ–ù�Âý…þ�Lè½þ_…þ�Lø]þ¯Bÿ@æúïB•�ö—PŠ‡B×ˆÝÄö0„ô¶QË¿~á‹P­28~Sö®º',ø2K¼,U î�oë·ëc}
ðfA,ƒ„š-_qqòŸòŽ¹=t}ëÝ±àxð‡5eÿäá ²ptQ?¾­O™ îc�-B„èŸ	WÌ€ØÝ •3Ï	À7èàýÎà-ëp6›ø@jBÜ…äT).“a8Ô’Qêá¼<ž~ÆEãòzÖw•ð‘ªô¯?¨o;Š}½œ2ûk±@ž�Í³ˆö2„á€�×þ
-�±çòF €4@¸­ïþÈD®eÜêÉð½J'Ô.(¼<úVS¤#¼rÖz_¡/Ê'.>ÔøYr¯GjØüáŠwá�
ó\_r†§>Šú¿áýÇ…¯PhQþ…ŠÚ @@�hPœµÔ”º@Œ0@å·m@.÷«dœë_Þ»úxå3åL¼`º…¸x_6£ûöÖ�ªé×Ž—j¦¥=Csã<×ýT§Ý~ì�îíâ‡œí©A¼wöÅµæ R_ýòy†2gO(S?<¡)ßê¦×ã"*ÈRsâJê‰sÉD»Ë¯Â¦sŒKÏgU‡zê¹^¹0¾Ùõp³üða«R›?@8Û<¶ëóé‘JˆÈ?õÏ‹èU`³u%ÓA¶¥í·âAþ¶>zš#ÿ• Q•·û…^vY@¹›È¶™
Èê—dO:™¥Ûü«TŽ×QXêÃyì©naÈ¢…Ï£³º“AOð*J Ý{¿K�ý“Y_ù#f~ð)—»>	ÝvT²O}Ê1ŽÓÁ`cÞcR2«L´øO|³mÿ÷PÙj¦¡Pÿü�Û¾r [û ëë[@é 5ÿZž‡|ô4bùÙwìÇ>µ
-llße±ÛôxÌ_ò®q¹Ç7þR ³ô¼~t6ç†žÝaöhÊ›Öb—h‡'c®÷­³°0v…úì¨êû—Lûw(£Z„VÌ
¾’æ·”±9‹’Psq½ ôžz.^=fË¾Ÿ^üýví×eå–SÞK’QwW˜äÝ´¨7>õàôÉ.OÇƒ³·�Súf®hÃØkÕœbtQ m�ò®Æ·ƒúfüøKè…€{ž�õéC¡	7„
-¿mécüªH*1þ°rGhFò^²üÙ„žÅe­ ‘—ÂÏÉÉ&ý�=^HØq¶Ú,?sg¬åµ2°Ê]6e’<Ÿ,¾ÝaäTÖ�¸±Ðf1Ö
-ãôð÷øAÕ…ó!åÏPmç²ì¦M)A.ÓÝ'×Ú3ŽY=ûìˆóîƒ €ä_«YóZ‹±«×%­àt:,ŸÇb‹‹M¹pzšž†ïõFP2>:×É†1œŽ
®šÒ·ƒÏHÓ
-’2ß”Ë‰Zó}%ÿ€[@eJg@Ñ‹d—V	ÐŠ=þn‘wøA“RæE›§A†<5aïçq¸¸I
-º?··®ëâÅíxÙ‡Ù ©pŸj”¢�0¾}¶ÃyDn©R­¦OvKNÏMÒâÆ7EQÑt�<’‘ü‰]^666\'ÿ:ü_¡:ÔØ€B»[²7è¹ÑÏdrÎÙ|UçAøÜñ*þì'-ßÏ„óËK¶š¶]ûòî\à¨Œ™Û¾“„Áöäœí:*D1I¥ÔpX§ÕuÅ`”x�&iÊ+3À+a•ã%;¢:ÒPEØ?Àw¶\å·	]yo@cxäjôäÉ´+ÅÛý™)èh0ÉõÛC½OÎ»‡£9#h+QÖ=´[�ënàí}í6_újc úëí‚z®SA‘{Ýmñ]YfÜ^õóåòÚnô ú�eqßc FÍ?À_2køày¤S€æ™:È�›Pæ dE/|÷KÂl=sŸ…êU=mž€¬ÖöÍ+æ«ð¶
«kzúå¶¸¨Q§yY§-Ä[|ï*žS­XÌ÷VØrq{V–%}ÔŸ7JJ{;
-áÔgñîXý…ôïó v%(´Û»€,™OÃÎ)@¡Îx–,Éü!b·Áõ1w_K—NzÁ;nP�2Šl]êhî²‚g~­òèxJ›'½9²NË2¢Ùs¥Æ^g/u•ÌZÀ'§»q³9éùQs‚¶/ÕIOÊ”!ÈÒPÎwß·¯Ð3ì-(ô,ÖAžÐf¯Õ$½{rY¨kJi¯›BN
-g´ÐáN‹Lff&�¥v~eèËNÝT7qþ$÷É‹-›Sk–Œ‡	?m›ãÁrr9ÿó�ÁzBq8Ó¸ú0ÿ)–†çÁ°1Éÿ¾B¡=Ç#hOm�€\Ön‚|ÿ6�£:ª‡ÂÁ9Ý¡ÿ WvÂÑî˜"Øc˜¸£w™J»ÙÜl"7”‘¶¤i,›‹F¥u˜X˜GýØÛ*Å«Ó¼¹W_vÂl¿Î1M!Ú¤ÊýÚÉ÷W×Üÿ?è?.ü
@-(tµ¸‚ìkÿ­°A¡Çô<Ò…›òÈbÓ¯MÏÁÙ\äˆ“Ÿ{6-6¥
-ÆéÞ˜ë•K²RSå«¶rg«ïv+‡ÙÎÒ×·>ÊOEµ¿V=]ØlcGh�'1ÿ®#YþÍ]8¾CÔë¼þ®”yÝ¡
-@½{;ØI¿•'Ý8È&¹½Jó'·Ý-ï7QÓ¯[ôè¹^õž9F�R>ð7�Û.{Ïá¦µ5òÉI¢DÕÖó6Öcw¼“ûËIüî~UùL·âôLÚ~õÌú0÷ƒö”äzXÉïôÐ•\ïõvrí²¥Åuƒ]³BÀ6Ÿ±¯Zð>Nçñøyƒå¹ïòæéžˆß}«S—AÞÈMpFSgAÁøÉXZŽóÓEëš,&ßÜùA¸­Íø}½>ïá»œÊ�ÆºÃ� ŸÏ�¸GžËæW|×c—Ã®+Ó�®ËeZÿÀúoWA¶µÞƒì	@®#R ZQ[·ï·c/‡É9·ÛÙF%Ü�³¡¯Oû²Š\ÇìjùE’ÜúÓ!-†«O®a„LþÓçÆaÒ�­D¥[à2§narH:~�/tüY¾ß)‹=±³x¼†�…ì�]X& ÑarÀÏ~«7ÈÏæc´Wé³•^ Ž/˜ƒ£>TÍy�ícyA6™æˆ–4][j­{kFô–íQµSé½â�å¦•×¹oüq§JÖÔvø¹yí'µø´×Ïl©Ý8ß¿o£¿ÝdãJ¼j×)oùYë
-…z~òŒôEÿt;cdÏw®nü9êv}r~sòÄmƒŒpìËsë˜™¶‘�Ùê¢4.øZ¿› U.fj™³íæk6`“ãkÍêâÈfÛ�TÌ¶GÛ,›ªÕÛ­}ŽTZF‹6Z»ÓCÿ7ü ÿ¸�‰|w*¨Å÷‚X2Ï(­™Îœy]ŽìêˆFýû|û¬¶Œ
Ú¯�ä…—óÅ\ÎN�Ìg,)idÐé“Ÿ¥(º+­FÅöæ”ÿîY¿=—86ÝœÎZ,Ö[‡âüÜêÝÐê½Õ|uk=æ¸.í™cî½ûzÊœBTšîÏœŠ)Î¬Ó„+¥#ãóî!»Y´¶ÏSu¶ÁrüZ^êÂvù¡{ÖÌy�ÏãÕvxdr½€§›Ëgweù ­]F6ÓiP-þ<ª0vaÍ26ƒO˜€+òô°Ò<ò‘!~Ð¦+ïZÍIý5øÄ!‹˜çÏÌ�éÚX›{·wó¸Uq”Ý`r�—Ëvq¸4j¥éw'*q\»sßš*&×Úô.³±Þ‰6úŽ5äÐÂ<ëÄ�·ý­9)Ÿ¢ÆER�ËºD5æ�i"ì6
-IeR÷uU­ûÛ²1¾ÿ'¾oÖÿïùµ™6çŽ×à–GÅ”¾+n¶µ»`«vÍÈ­ƒmaÙ}ÊÓKß¨~w¢búBæÆö
-·¨ÓQ[Å.Ëakžæ	¡IÁ·Ž©³¨‹ÌyýƒÖÛ›^“»i«VÏTÏÕÈœ†UU8¦ªþ&+‰Ó¯ClØ?€;lä¦Ç'‡,Â(–·Õu¥öËw®Çd�._3Oç�“5[(}8±Ì¤ÚÉv�´ÌÁkº‹å‘œ&“|­žòËU:Œ}`2å�kvÊÆÄÊ\î3)gnßq°ä7%ì¡À»ÀÃÑùØÒ8œ™É·÷}c©òÅÁdUm.åÿâáÇ�cÈÆ}C íå¾ûX©ö³÷LÆž”Žßz°ÒÑ�òX·ªr‘WÑûî­üqì ÌÑÆ³dÎõW	»«ïâ°ºÉÉç/¸Š—-Lšq)Ù¦êó{ü ¿æNZÏvs/;Û¤…îhUž´¹Jç“²wŸæÐçi×à;‘râYE…¦;ïöëbÃV#c8�âŠó²1NA;Í<©„ù'¥8¬ì7w½Ñ¿1Ø—´Ë_´õ!_ø,¬œÈMO¹
-"y´Ü—n›ûe_8'kk16@ßÜ`ø¬Ç´öw¿$l OF^öõÈ {™èkô¼C¼U€Fý#À2ž0„J–›b«‡%€5`=s0žV Æ€ÍÎç—[™yqa‘ØÏÚœ1~Ð_‡ßã÷Bÿ@&ü.ÿW¡€oŽ}@¡]X¿mCµb°…U[ðì2‡jxªöh¨Ó}’,Ä
-~ƒ
-�ž:«…ð×êÅÀ8‰„+›r„=û¶‹RƒÿRQN	©¯®ñÅÜç£+I;4þ€$P¦lÂOY'€YvðÞ�øþÓ¸Ò\}c°XÓ˜½‚Æ>Šë4{«jK€u³{€�×7ˆð0¹M)¯óÛ§n�ØSø{äí³M*hÅ8º<ksz°áöp7ÙêöØ“þ€X~ PÃÝl3´žûDmÕ&¡­~>8ç£À]Ø¶Û˜t\l•‡-°Û< ¿ow¯ŸÄžT©d˜U2>u^î_“� Ä×8FþÕ¾†Ñ%çÆ´¼cN°»M˜ÕæFƒ±ú{BÏH_‹=PèU†zöß$Þ–Ä}'"Ho±Ê_A³ðß©ƒÀ‹Ê$±¥Ã&!ŸÏÓËUKá+‡Rñå¤Q¯j<_U;q±¶˜D~tWŸ!AA�/Tàp�ÒÉ'£ñþ:ÑúYÖÌõ6	íùIv.¾qðÕ�ø¸È:€èoÙß~+Qï3	ˆî™M¨ûjöÊÍx-žëƒSä‡Ë ªôÜÔ3D?ÔS¶Ë•g}8`Ã¸âŒCõ™ß<@sêHƒ¸ÜrØçp×æÎSÜÆÙãñêoü ÿ¸ð7á ¨ŒGSô
‡o@ªNP¹ÑPõ«¨<õä­A¿fæ™�KvUÉdó¬[ö1Tß—ûÔ"ðƒ>ô8G<R-¦ïy+àvî0@8z}¬¥s½øöé\_VnÛô´“UÉ6eó£7xÏ~@$e(³ò­û%í²˜ý@�D
PÆi¨°røfXÇ¯ë²Ÿ‹+LÐ~*Iy¶bC}¤393@ôð|Ç×aìoïÌÍ«ômâ5j×kcÑ».P ^‹¾l{"¶¡Å�mU·©ÛY¶®ÆjaVKµñ�X
-–÷€hwÏ€4g¨pÔÙ
->YQµ’YÊ}Å+rJ÷Ü­0Õ®MlÅ­ýqja\¯NpºHÅÕí¼®j¯s#�`Þf^(x-fÙr·§ÛÈíŒ;Ð€§’yÌ“]å*^î_YcbttNø~Ð»
-…Ö$@ˆÍTËoøîˆ€,¹o‚¬=\|—�¯rÏŽ¢¦<¥ÂôóÆDù¹yQ¾<JoÍÓªÃí,
ÇéÉæ¯ýøbœˆEØ£G»dg
»{œåé…u[.÷ûWg(ŸšîP#êNÃýY`¡=õî
->~}dJNc »Œ¿ÁÆ2¹0ô1®£—gø‰GD`óAÓŸ-3ƒË“
-—^[=(¶Ôu›ÆãƒuSö®UJî¡¹ê¤>‡ç¹Ae[?4j°×îº¶C›Åª;V¤��ª°YªéÎ�M^†Ã‡‡Bù×P�²I…´-_þ½`EŒv	V«�Ý'þ³þƒ^»¤ï½_ÖÜéK+ùxÍqª)7Gú>©?Æ§xFWFŸ;a3;þºËom6Íni¡ÍNÏé¦¬jM_õ”æžoý~Ð\€ò«¿„šydË}ÐMáW¢­‡òðì”/~pzO¿T	ªÆ¼ô\þ#MìßÍð�“÷m�PwB·»Ý’§\[êô»heðÒŠ˜‰oüVÙTª«�¢¶éáZç’žü±¢ŽœqìÆà/™>\$P™^[|ó+ßR‘¡Ð./Å�,m„=Ã¾ÜÏ«iêúœ‹Þ~+·OÒY�aa¾Ÿcq×_8+=gGêF<r[U6Ú¶¢^'w…Y¸Ÿµþ¡èuÛPÛ2Ršð+œ®t~Pi8Ï5E÷„T ðêïÈÙ6|²ü¾L3…B�§, Ÿn'¹Ž—RÔR0ý1¨›Ž¿Œ„ä¢•œÛá
-Ö.¾ó‚ÉpÉÄàýÓ\?ïvâ¦:Uå50­µ¼¯Nw+«)9+\?=¤S'›‘¨³T§Ø•[§­ÆâžïTâmTúOü ŸRY­á(ZA¡«}½åøWbhçu¿ð‹çŽÇ6ÁøjÚ7y.<ÏÝO:4V¯[ÏZš;¤¬ÇhGU¬¹V6—KE[
-¢ŒŽú’”%�ëoN¯¥Ëq;/¤Iöµ¨Ö5j¾ÖÐÖlÓÕª3&R
-3ær !Ž¹ßÊ\ÊpØk œëvMœ¹1ÙýA_Õ9;
·Ïú>o©û«
-êwGÊ¸íW�Š©ñ·¶Ñßé}}‘ŸŽUõÔ�­3re.ÑXz¾Xärö*òô]¹¦�CÁŸ¦y5=éÝéÊ¸?5òckÿ€sòØZÈ? 
-Ú<XpÞLE°kÖs ç4»qÔÆ›},}ñ­ë—”_¯øÉëˆ•?dÚJóÝe£yO«.ûC¥“mNVC‹š-Ëg2cgúd|\xÓ‘3¾*£l\±‡³¾úÊõì`YÇ³ƒW!‡ù	‡}�þ'~þçÈó6üÌ1AvP‰¿ù–¹o!N.bGt?˜Èæä¶vŒµwD=çTJï´Ö”1lt«ú´;*[Ïòrÿ–ôÅÅè:š3Öj4ÁSÌ`à¥>ô÷åtvÑ¯�7{!Rs¾ 
-'”O¤+-4¥;!(Rˆ|‘ù=ù<@™ç´çQx�\UÍ'‹`Ð~fÖ>•÷b,ò—Of8w³É:*Ø,: ™¶½²ta£R�µÉ<;ÒÌ0¹…Ò”zÓÞŽ†W-ÕâQVà·…ìœ‡Î´Á§NEŸOÝC¬×Ëà…ž!Ùž1±ô×á÷TÚYÃÁž·�×“oÖÂ«F×š�¡&ÖnJ©X?c:èŸÊVug~¨æÝãDJ{ÒJÙöpT®¼¬Ö€þô¤5ë†�ö˜èn_ßÛ|úPêõP»3ï¡>0¸ãvîsG§‚qƒñ¥Áõ/ó"×gêð}VfÏP¨3µ½OÞ°Í±|¤c—Âýê"äÅ�ÖˆsEí##½Õ½½‰Ümyï½Ônb²ÃMiQ²ÙÒ¼S+VÇ^+¨êS½Æ#ø¶Î
ù~·ëÚÖìƒ½·wÝÉöáwsã9ÒÍÉãN—ŽÍ.Í<J@Ud[žÛ¼öIn}2{/
-©Ç™'[7wò8½àlÙ¨½«&Š­æ»E×´6` ëá¬û–ÊA	›êjâØ÷ôë•(ó\vd•;·‚Åv 2ë,q×)¿ÚÜw§-]o\ûÞš5~áýûüß¨Ñ[�ófår'ø~%o�{´bºô<ðìõªô4Û[Ý˜­Ç3íuŸì”Ò9¯JÃòs±�Åïéðífà¨”_L@²5”Ëå¢S¡‘B[V9¶]ü)\avlÌ>»!�Ë„ë.ËLã«û½?lñ¼ú«v‡z}ôÏ­ýÙ0á’þ\%wv½Ù=™¼”NŒyeÌêL-™©˜ŸRWbõe-Ùkt�º©ýcTcf±À×‹	—Oò ­ôå«�õ\ë}˜ÖQ&­Ý-û�ÁvµýµÕõ§h+³eÚŒ™MäVº9™þ@v!iQÜ=í/ìÌX¸”§Ëvm`êfñ�FQ/guæ“iÿ *þä&+©Õ‘–�TW›zBý0Z“ÕS™Ñ^/·iß;2ôHØm¾õiíË]¢…»*cM³<c­­ÓçëG¦?{<¢8¡š§w“oŽjÚêoü ÿ¸ð7½Îí¯JZ�º¶',léÃ¬L®UßìnEÊÐÞý¨ 8Ò¤µª!¿LÛÊhz^™âHéyJ=í6ÜM6õN3ƒ¾¨Í©…¾¤;C|¤WÓqŸxs¼n•›tcßmÒ|}Ñ¸`¦Ñ¸»÷Æìî#�ÙûÕƒxó¿Çí>š=Þ+Nàx¹»©¹ià±däü­¬éJÎVÆ@ÈKÑdQ^˜Í]c:'Üö¨†¼`Á€óÅÌ¨Ó|·§lÆ¶Ì0ß—›ô£ª5
-Ðç«û›Ñ¥.¶öÏzù“ÎÔÆ·†*<\[5¹WAØj­Ž
®ãÛïqîRøð4î‹Å­¹1Ñ{móæk/ÞÚ’JÇ`�ééÏÄç¾ãEo4paˆwIN,‹t[ïXù–9¬–šîÂ©6
-Ñ Q/¶]«§k½ªÊ³ãï[û‹Š>TÔJ›
-Ìòç\º–�Ù4.s…VæŠýÄ¨þ7¾¹£ÿÏ…_pè·5„“�4Ù“~k¦ÅŽ6^�® ¾Ú]y>ø4­Iù<9
>›µË»Ã�×•kî…ýðcO¦÷ÆEz?êåD‹ªÑžO~½¿_O•?n)g®Q2Å\	*å¢½šE2šsWµÇ…	ó‘
-ô»k@ðûßãØ(NG{«Nô5¡�àšŸ€rDåîµf“Žk·õd�Ùg½ËÄŸu"_°™ccÙtç;±î+…U52ÌuEï7eŽÎi%¡˜Úm˜w}=è—çäŸý9ç×{®‚Ü£”–ûpY'	$«NªÙ?À�oæGÛJº–grâó¾oÎ†¹Ci¤ÐZ³�
--Î_Pµv¢—Ê-ÌáËßx²èVj2[¬VtÁª•3çN£„ù¥V‘Óí\~Þ:9wä*™Ã˜–…Ý,«Ž–*9ÏDJŸ)
-ùñ�ä*šñoøAÿq`×Ô §õ ‡Ö çµ
P:Btp€D›&@Ìx
-�³ƒ¸øÑ„Ä¥»ÉÄ?ŒP øh±ÿî÷Š–pbÚŠ)€ÂNÐ�Ýè0ï'v¥äXéÊÉ ÅÊ¯¬õXþ_™#€Þ·ÉDÓ{û{—.õ„­�€Ä)(ÔâˆG�£€ä¼HÂwŠ9€ókˆÑ |£-*h_JA@/]›®P½°HŽm®ùÂkª¯q[Çù@€Å8ü~ÀZBSv ÐQxh D}_i€ºÐ	³hN<ù@ýèœø~—üš¨9ƒ÷æƒ@ç

b}¨^º©À�°ö@�H 7¹›—þ$!S™ÕkÜ#µøl}ô¨LOÖÏS‘þ
ßØøÿž¡ÆÃOPJz
-oPÀúÆ`Z1°Á�èG”j\à7è‘1@§ü3’¨¢ÀÖ0ÓÐ”fÇèeïBhÊ˜û|¿KlQÉñˆ×’ló¯±¬.âÙFW¢ÛÛÜ=W¦°
›C°~°kKü=ž+B™Å+”9Ú£àCÚø¾ñ±ü¼p¶¶¼È«`PEØýÔ³=—a›?ws€FéMr4;Çd ,.	Y<=_Îý�z�w­ì‹înñì÷#¿TŸ�ZE#¦¸°{ë»×sf9Rî˜œ€sÌ`LÇÁ=üFmõó7q9ð0©ü\|ÆkKÆW€‰:?*É@¡yèñ9	»xÑí±_(çÏ¼÷5.ÌòÏÈoŽ3Ñ29ÐQy›n>åloF³íú‘ˆ–d´ÆÎ·'éoPy'_‹i~ùŸøA>á¦[¤$hÌâþ5¹¢í£€Øòuˆã�À€’ŸA2Ô]ô5ièÕxNª½ÈçÌyT¶›§Lf ÇìÖ.a$Ï¢P­›™°'ô7:Ê�6y˜\î¹ñíñnwËácý"*¤âEStõëpö{\ =78”yv€H5¯€µoâò­õ­ÝÑÏÏYê™É¸ÖzÆ·”‹E·^~ÖÐ	™l8yèBj|N¹CÀeë^�9OÂ»P�?wÌ¿R¾-åê>ùœotâªqmëžêrŠc€X<	ç=\óÛÃd1þ=nÀfåV° ôÝ�ªF
-©¶•Û,÷zµc_í„Ï5�°e!ÅGê,µïV*?üAýáâ%Þ\7­ßra_çýÒíâý×EÜ±s˜CËg9^žú¾¯Ü”`©'üÐ“ŽÓJzfãÃÐ¬Ká÷øŽw…Æu(Ô}ìYLë8¼²€26]@…øêµhÝ­¨:÷°½t‘€RLå[×E·Æ�ÃŠ9öâ†½òí±s·é¸©uóîìKà Çù�ŽŠló„‡ÇÉqÊVæýÚ�ÝÌÐxc&gtD½ó{ü!NàìÔ–a¯,|ƒw�o¢mã›sÉ¹ÂÁl\uîûpWíÜËµSþäç¯åë³áim“uÓ$.œ,õ:µO’'ÛÙLÊ8Nç÷˜/NÖbk¥¬Ò¸X0¥Èè’=7¶	7Üõ¼¿%WV½OÍô×á?ð�:x}¢üOÜ–¢7/�%y�µë½×-ÄgB_·þÐ»Üiäø¾J¾Gy`¼«8*¶l— ¿o-±tß”Áì°ŽŸëCãX=ìµòèl¼åÍÓØõPÌèæ7�_A¦º³�xmVk´7K!ÛTƒSºö{‚4¾ÿÇ‡s¢HL;
-N@ »ô
-€.Ì{±œgæ¡1÷6…µœ›Ø:&gm¿!\”íÉ‡«›�C£µOrã®±[‘ƒÝA¥—;47ÛÁhféÎywÕÇ*ñþFG™U^›9YA}`Ç®Q+f�äùÚš”K¿ Ê&´§aªß7N€zào�½�â7Ñ–�T­Û?É?è=ç�ìk}wˆ½Ìq„œèl3gI×\eD´¹3w$»%u±§]òÌH+,‡Òfù�·êƒ»8ªœ/?•h)ãŠÚ®±köúaånp©¯LÚ(­°¹œÿ…ôïó¬ç§�¯~SÁ¿êhÊ\1)bz÷¹%sÃà´=‰·€êìÏ[uüpìO'}±yx©’Ñ3^uÝ›ù°�mî(ÕVëô†W|=]ë#k-ÎñA6ÔöMÎý³2øÀ2T]t·8tÂ8·¼LïÔïñ?2‰ròõ‘©LÕÙ�ðù&†–^¢­²á^Føû¹jÍ®J¯¤{½SízÊÅÔÛª>Ä¾û¼æ·ŽåT´’hÔ”Øñ˜ujD´WæëÖ—ìÇy.Q�ôFôÐþIÌ
¬ç7:J5¨Åí”¶‘Ÿ?Uj.ËUü÷Äà…ŠôPÝþ÷­îu
-Ðçy1^WDæqÌ¥ºþRÙ/Ú�€ßÅ%ž÷àa|ò5ð‚Eë…Ý² *ëye�žOkÒé¨4Åœ•i/î�GQ1Iq¾Æ»»yý~¾Î6µZz
-æ³Üt‹/©©|Ú––™¿ñƒþãÂ/bù˜Â®A¡+éûºô)ý-ÄYŠ6k®8ê�¹É©wÎìétA}ÛR:§p¿¿©­7ÜP›03Ë+ìkR^
FU¸æ_Þ¸ru¾>õ)‘ö´“Ï
'{m¾ž ×÷§µçètT‰ÑI3Ñ1~‹2£{þü€ÐøhÄx(3°þ'ß2þîó•Ÿ;´Rº_ð}åªÚ=Æµ/«¹-–õƒÉÎ¤›A8è�ôz˜ºÆ9Ùü0ñ¢d‹‹Ú+O»d\«Fmx.æ;Ã¼4šn�x;(™mx—~°@°~ÐBÒƒR¿ð”Z5ð{@¡Ñöå·dO|ýÖ_Í$Å§™ùRœõÅN�º¤öh®Û»c+FÚp=¶7‡-o{É4£ÍóØÊ(éQ�\eŠ^V´WnÖîø…1¹Yçå¶Rž¯YChn>©ô^ïÏ6i^;X)8�š	ÿR.¯àýÇ@?Ð¢‡ª}�K×3ñ’r¼Î\ãéxýÅ!oßÏÁl¿ñµAõÐ£^ÁÉ@ùŒA"f*.‹€˜oÜ35éô,ô÷‹«QV`zË\Ï0Øj�›œû=n=Z÷>åpf|8Ó¿#½Œ}Oõ2¢›ü€HÈ9 ²Ï
ìš”9¦¿µn*Hê&O«îyÿ ÎÎŒf	ëµ4Ûûcú¾Ü.ú7cÃ„þe-¨×§4g�÷BM[™éÁÒ°Q>0á%´ˆ^o¹¤¸¾¬U9¢—8bzZw�fûÔu*õ�°“@uORíÃÏç÷€�³°Ô®ªKCûqxtŸ×æª¶9#sÖp³§�e×ÄKÊÌpÃúîìoÆšÒÝiÐßïU{•ÏŽ.Ëz<gœ.$ã]ýH£?=³šMuÝ²CtéuºÚ¹ôBçÂã«Î¼ Û�9#¦:…Ó§Ø™I~¶3ËêØ¿áýû�Íæd[äRöí´HéÌaÙñöîÆ^/[Ó8Öž†ûÆº¼îñ*‡�W2=áŒå3iœæé]ù:>çñ`°ÖŸ‰Ü°;- °�uŠamß×½R[ê…\[š‰R»Ê�‚3`Ã·ÓhWvËR»Rcs¿ ÏK(3Ž«qVÎ;[˜ºTOá
-vEr²i,8ÝðLÑÛVù-¾I½ßŒì)ôDûun„ÙýdÂìA´:¹¼™ßyÝÙÉ¸´WvýÁF)Ã*a\`›‡I—m^h±•¨ÇcKï/>-�í3?hKs{­ÖKÎ×~@I·EüO7—W¡>tí5±ï.²0?ÅøûRò}£?ŸíËfJÄz¬ž«R�MøEú/~P8<e¸m]@‹’Ñ½>Vf»Q}œZ ¹Ü[�Q.ÕêHv±•îÖºÌ�¾IÌ¡.ÙŸe^gzú¼ÏôRÅîâýuÙÍb}“ÒLßã¹pð?1<�9Í÷C~#éá«!o¸¶¯'nž’ê³ne�”†ìäNûCU�M��‹\1½�Û*wÖ[Æx`2¦º¼0‚ð‚Þ+ƒ—Ù¦œMû3�4‡¢7©µá7)¸¼jx?h¸'vô{„™%=9o?¡ð?¼¾ïíBkº­\ßóT=¨Ž'Ãâ[|ub�r—ÂäVˆkÃMðf¢—p\©�ðí–Ø¶zÖsÁcGifÕÀlœ[ÙKcFHI#ÿHSR£~Ûã#C«/gÍk½ÌÐä÷ý}æÜþ=®õ[Üs\b-×Ìhxàùêx+ZÇ‘º¿“}yÑ%Q»Kñ|àú©É2ÊCöØÈ	¤Ô-vÜ>+ÛìÙª·°užiŽß7®Q¸‡õ2p5¹óTkõLÞ¬FæâVU…{ReˆqmÂÅ�*‰›l+‰7»üpuq\H=»2ïõÍ´’îŠÈq¸Iù^Î?˜\ö’ë™Ë5�±\˜_Ý÷Æç'Ô-ìÊõLÄ~`ì‰“j\V,R/'¢í]º’ÍR¥MÚõoÖjûƒÍ“ÃræÆ‹%¡¬é%ìñvŠöºBÜÐ¢­4Š¿‡-
-ÐõÝž‰þîÂ›máÓ“ó2ÞZ|
-¥êô<<õÐ‘ZÞˆ}³È½y>£t"•ÓØÌQÒòJìë¾2;Ôê)úøM]=•�±q)™sÙ/ÚÒ$,BÏøU˜4×é�xd~ÞŽ‹ùbºÂäDžëå*˜1£v´þAþ&ðÞ¼1–w‚ÆÌ>œì=pfÉˆò”vÊôPÆ
aˆ&'–rL;Ñ§lsíÆE¢¹šÌŠ\%±ŠÂ×bÙë°„ùÒ¨H†ýiaÒè-ós¶*åD.»¦å~z“�ÂÈ2tþHéóªGµ‹ý€4$)!¹ê!ý{ìeÞE‹">€Ëxs©5ÑÒ”^aÔ T†O*tW®îs¬Á	†<?�ºØÈeªLFB 8¶Úò€&õ‘Ÿ·štNì’9Zæ£B6²e*ñì*ù¹©õ”Ì<æ!ÔçmÜÞˆ<N¾Å6éªSôgˆß �l �CdØñdnði�`
dé	2ö™é›Ï2£õdÆÔdVº2�Œ«Â<>�	›u€¤4 Ôk�lCHu¿H
÷ÒcˆÈ¤]€�k‘/lbÕÍV‚[2óô_~þ
å¡Ðž3M[¤™Õ2›:á­ ‘Ða@æ~š‚LÀì ÜÈ|š ¤I¤BWÒþUSi;}€Œˆ9D_ˆä™YoÙo€¸Eb^Kúu�MðØä^£Ö¼{Çþ•ªÐÓó·læå@¡J
-}î]€D©@ÌV ‚Ô†’Á %añðÂ
-)€|øS±M©k=ˆç §*4åIÚäÃ¯´y_‘Är+Åo<9Ç5_£Å„‹½÷¼çáƒ'ºÑu.Z\r�ÿ@·-(t Qßß¨íb;CètÜ~´»-BÁW¨ÁÊ}³m‘�|ˆ†=!æð¯Ç¤Ÿg’a—Æ	øxOhÑ2ë.‰õ^	ÑÝâ¯ìü^Ž§ÂF·ÅG%³8z®ŠÈàYõcþ‹Þ/ü Ÿÿ
€ÞûPÅþ5È!ï"� Ð7sXÉËô“*Ô¨ôZçÖELh¢ý(ª“-�µÄJ\Ò×µqBéÍ¢ÚkôlY¯¬²¸ÄgþþŠgx•ˆ–Ù~å¹jÂ‰ó©ï‡a“:MÚz3>èTvÇÿŸ(˜òñÞÐÕ¾øÍ‚&�À,Ó8|<ì6¯l Žú04€ÊÑ%9ækŸ—‡û+k¨µøÌù\œ¿eÆÑmY“¢%;Ó£Ògg=#¸<WÓjò¬å5*l–o�[A‹Ý:¾>¥Ù�wóŸœù›[Ôzÿ	€áhÔt
-9mE¨�3>-<îÙ¿2¬€óô`6¹{¹ˆŸbñll€h)Xä38…•g�Æ;¡¢ÖGa“™ˆ�Ðµ‡vzXÁ'û¹»û
-ºs“ºóRÒô*)Ü\f6»Ñwmyñ•òè\'mÎ‹\½ó7~Ð\³šÍÿ'ŽO.& Úè>mk4„ÒDç°|M+…mt'ìË³êqØ<ä‰«çËAw�mÝ¯FÿÎ¥¥o“[èïû÷z¸¹¹Ø»�oõøza·äµ°GšçÇ²(œëeyæ1œ<wŒ€êŸeß>áÍuë?0aeŽ:c€]+ß¤àÚ¯Ê-ð …C�¢÷º¤o‹hÕ+èá&R½Gj?ïÂdŒø¤CÒ7ÚÄê×Â6Ó½ˆÙÚøüP«³ÜÔ¶^dŸmO•ò�›<Çi·Í¿*×Ér'+½žüO>æöyÁ¼÷�-S"´æ`óz—Æçæß¤KÍ¤:ýægK€ª/øXTž³0¹Õàz
—O¾3ð?èu1
->ç�ªžª¥J®n¤šn
-Éñ·hOOf0\�ð®¾³OtâÚÔ¢ü<z-—²®Ý²Š±2<„Ïï7*Ý1:íKó‹Æ?ðÍ¶ýßs€©×>4ë}ð‡«@§é}}N}3‚K¯«%qÏØŽ½rSö½ìÜºŠõýÝ{ù«—›.��SÏS6uH—�S,Û²®Ã†`ÃÑì5¥†$›Uô¾?¬ÅâíÐ¨lÓû�BUŒwAïízk†Ýö�¹¦>râŠžßËÿ	€™wd{eæ¼«^¡Âlæ×Ny^9^S6ÜµŸƒ»3iŠ·ÒL>œ™`tvÌ)û´ÇóöÛZ¼Vèá‰ÐÙ}üÆ*ûV·Ð2¶—nßèÌ•ÅnÎ›]o—µ·GzñÜö¯YZwZÛ¶6£§ßXß²Ø¨¨«*ZP«á;ÿŸØ%î<Wÿ›X
šrêƒ,ÙC@ÖFÊQ³Û©?°Þ±ëÏbv~QôÉÖ=d:®í
-Áw±Q194åfÚèfEl‡êLn;H	uÝéÍ;zö¨µYÙµ|XØmn{í¶)c$¢®ÄC]QÖJe­i|A~?jYy'ÓÄ¿áýuX ÐÉpÈÂêûºôÖÿf°¢I¡ŠáG-•
-uØ[¥ÕyŸu]uH¼dK2v;l 2ü	¶¤^Ìh3kOl–+© Ñ¶¡ÖÎ–Šâ 3¥9n«kí¢ÚkvSNäÝÛ-ÉpèW#SÒ`;Á$²ÚFþG�À]yþÍ4„Á·'?¸Ów÷R'òþ•Uª—xE®°L­ìyêu0•¹Þ§Y/ØŽªç—Väü�ZÏ”�u"”üé‹r÷0+“B…ŽDÉnìwÒ )ú¢Û>‘"½©å¥ÿt�ç¶¢J×¶�`Is$¨0 ¨ˆŠ€ bVT äü¿²÷ó½{Œ=Vÿ¹ª–M[7çœ¬1µ¸Þc“›`#lshnfHgüÝh�l%ý}aZˆ¿ß—
¤7DözÔâ©Ñ>7|Ê¼¨»*{5·Âýà›½ÖæöCÝ—‹‰¢wIæÎ®NÌd:¡¦ÃR\™æ´¨Ž›ê`rsüÅdÚeãÀ¿¢cmXH�<ƒ*ïþQ–ˆÿŠï¯	ùt÷Ÿ3ÇÈöJP¨’Æ_ ÜÇYêA\t¦™9Ó%ï]ÞöÈ	Õ�aãèr·É­f—Õ|ª‹Ï`üž»6¬Í¶ûLîYŽq>;fD‘þ!”ïÓç
-7J¦#ãÖÜŽÄ��ZZ'é3lµÑ°UçßH3T÷Ÿ(#Õd·ßóBƒø¬PØ1¹äve'ð^Î�a¾ow˜Ý<=éo7–ª›ûúØYß>£ã²þTÚö,?gÙ]7œÜ�++ÁúŒÄK75l=FÅ�K»ü ½Búý~¦³ìSì
-±þô)mÊÇ¼çdèßÏœàK½ÿ…ïÌþ÷qéqÝ®Á'p·÷çuÞ#®G'k‚½²£Ên½Æwl)ìÍ7£iË\-hÉ×¶wý!ær©¨7²ñR¢mñ5ÜâbÔï+›D.Pjº7ùÕî=.HÝ™±˜v^ÙÒ¾[ëÇQ·V‹ŸÝß 9õ¾þp¨3ß³nÈ:=ÙÌÆ9ÉÂ§`½ý›t8ÇÍ¦y�‹Í×.˜s[‹øˆ¦ÿ(NÖ�Ei­¸²«u+•ÓôR«Þ&L¾ð5o© ?˜�g÷aÂû¸!íu«Rø!Ú¾¤Ïµ HæúâH¦±¥�aÒGÔ®Ë¿¤5®È­úçLp7¦× [ÌnÏkå0?:Óƒ¾b8^\n<ËØáÊmŠ§ ¿ª¯‘Åb»ÉÚß8ß^­µ©³²éfoùð¾÷¦ÊåÞ6ø×SÂ–æ§åð©l«“™s­T�@\ìV9Ä­ÔÂxµRìôÖJÆ°]þ$¿öiPY²à¼�lvsŽêòèè ­‰?\—ÔÝ‚ú[»_CÌ®V×ÚÍië–yœÌÒi5­ŒßÛ±P¹Cf¸kD'yâzç_Ý\Zîàuoî;Ñ§Ù/÷rMêq­7©d4lmÊjO©¸qlcQãÝ‚Æáz~ü £:]Ø5	èYDª¿1/O%ß9¡G¼ï&áÐ«¾í¡ÓØ†¶Õ�.¡1{Ð¹åÆ–m?ž
¦wAŸM¸†±uò»¯Äk·[Œ¡.­Íž¹4”.7Š™%^ƒÚw‡ê5¸DÕ›¢ºíÅ¢Ú60ñZÄâ5Õ‹þ
-@’.ÈòÒâ!ç<ùô!¡™MvÝž7=�zÎæUèYþ‘]l*Ã.lýÕúŒ¥»uµ6»ÎºíIÄ´‡
-‘êÌùOÙ
G‚!¹iÎlæ…ÉV„ÎÍQ¬víPx’ß×T\FÐžUY`ìÀ˜í5˜q“4®ˆZ‰Äþà‡ø7ÿ/à/ôÂÇö3½0ëcóH¸i_Âº—Ïf:ÂFà«ƒ•q�<=-š`^Ê=s*—ÊÔ•ö#×(6ÕïÕáŒÙ&‚ïÓ‚ÍÂ‰ÒÄÚÁ6ö²ßóp¹zòkaEðk™¡y¡zîqŸ×Àà>ï~Ì}.™÷á^Yî“>Q öÑøV´ïâ	ÅGÐæßŸslË
û™ö–PýöæÖUº+ñNÊ¿Ø[Ï'Qó¡®î6®¸‡GipÙ&|oÅ‡­vçùè6Kã[_‹Ì˜7žy�Gà7q6q~p­›ˆs­8®rø~g˜º;ç7õ.Sõ.¾/Ô]§ëÎ%¬ýï—<žCÁnø¾É7wÈJZx´MÅíI+PŒ¥E­uæ»i«“‚­¯xõÜx=Ó3«Ôî96ÝT×>/ÄRâ±¢ÓçRUoVïm1«Þ;é×:¹Ì$f‘=tY‰–Ÿ›ƒ.›;j9æ,,sfßÜ¿ø!þóÁu
-ù#Áó¢7-Mg3zHÖ ¥Jë¥4û5'ÌèIÚ VÊUú5ë>˜µ@Ôk¤Sh›
-ò©fõÅRÂ¦¥¹nŽ¤ëÀš?[@1™¹œÚsf¢Ÿ¶L™+_™2¢ô£Ü(A€6=KŒ%];tm[ÏCÊÅIy~_lD—;>Zvæ C{Ì _qCïD7›(SÊ‰Êè´1œþë™>õ0¬q—N×Á³Is ˜^åÈò€`•eŽb*}¬LÓ£„­éqEªÆò@©”¯W…WÍƒ8¾+‰Ó€–LžlÅšKøÛÛ_ágß¨à†Ô£iïH½eM¬¡»Dµ>›m•ñV›ç‡WvÔ‘cm£wSÛÏF*^+öÑXrSWÀvw¿~˜ð'æ¦_o4ƒ¨Ïj¼¢Š5Ì%ìRM•;e1WN=´ZI¦�GÅÃj¾*ùÈ+…þ³˜K>™b)äÿƒâßüŽ¡|q+õôæFõÉÆ²5âê³ûž/�·­^vp«©ÞgOÓÒ#[­Ê£Õ
Ñ•ùÔ�°ç™¢ÐÁ:™Tcw:­XN+wJéUI®‚
,eÈ>�Âyî%¿æ§Rþ•v
$Ç�3*û>ÜkY®�nPñu¬@,'…ƒìô†©LêÍeòlÕç“’Tž Ã6õCn©1ÞM�N$Û¤_‹œ`µ®9Ž<óÌm¡jË^®XýYå»uµV"Ÿ°gžW'®Püø�\à¨Íì{ßkSñ©)Sb±§�­jo–qê*Óa}÷‡H{ë×)M!ÙWê`gÃ¿ÂÊ^ê�UlL9-ïL*“M¢f×XÆºÖ`µ.ì*ãÊá;>aÇÕfHÓŸePI¼çý‡(w
-“Gñ eƒBø°²¶j˜}{m�å(!¡ÄB	#±GˆgRï#‘&���mŸÂoÞ¨ˆÇ~c
-“:ºTW-[ú
?ÄŸ`Môñ:·š
-ÀH}	ÐàäÔÎ<:ê¯*@•~â9è²cÔ9z)ƒ@ÃC
-`D®ÑcV8µ¾qËba°º½X'ïl¼|BÜ>›PDìði"NmîXä5öÈ_pB€2?1”��ÿ…—{»%ÀDÔÿ–Bñ!@Ÿë@_Y §Y oj1Þ{_–B€1g&Õ+­ˆ¨0]šlû´æˆðâ³ÅÎ8ÄâÔÏDrãž†Ö…îSááäÀmxë$&¬R�BwæøŸ88vã�3`ò+°Ï¬æáÉÁºi:{€
s�ï½hj0+ÈÌ.–vTX¿°Wapt¡Cv±s–qº´üDòæ˜
-�è%æ7û¾Wä{|›¤ÿŠo–À¯­¤àý¯{]¨û:x»ü�ƒ¯Î¯¿€�,~?jB`þÖŽœ|«2qà·PdàUØÜxÕÞ@åØEkjÜ9ÍŒo^yúµ¡žám ïI±K¾îÓQñUC¤üói³ÙçóØø;.)°>…üî‚ÙýFm'€È®L@Ðø
�ïÅ™TÞÙwÎ—4cp�b—ì%q'ð¨hß
-ÊQŸH±-Íð¨dhAí¦a>ù¬Ã59¾ËûýªU®ø“mEù`µC+¯¢åÇ‡ÿˆÇæóÈÿÍa}®ëâ7ÞD£¯â“wA*£½ñ8f1, òTà—Ö*NûÃ}D½�G8êÉûâãp}yOæbù]¦Çõ×sZ¯Zç ?_åÔô¹xÆ“�›‡`�ÑÃÌÐ™û6'ï„£Ò·^©W½e@»|õ7õÂ_p{Ë}k¬ 6Q+÷@*}ùnc5ö Mäb�ŠäÜw‡5÷fžjÏÅûZ»×#‹Üž¯z<YƒOkjTø£Í<>‹góÑˆù�¥É}+Êë{9ÀQyÛµsÑu@1™Ëéh•Ï×È£ÏêÎ«�‚Ê²|š'Zñ¯øÑç`Uî ÌûD†
-E¤ä¤ŸëHßÅx_x‹?D8æ©ÞkoæAÕ¬ÇçP>=ÐÞ‰G»õèAö–y›Õë€Ûñ—ÓæÚ¹(ƒŒr)æ¤åY]ÚÞ)ÈäÃãkdqÇ.„û�ö­þ¥ê·jÇòÞÑp­ü“ü@ vI´Rãç¤­›2òºOû1(…WáÍ¿X:Ý	ÄãdzïÐ'ãz¨µ÷Å«<Îª]§€á¨<Ñê¸xÔ�†Žš×8x,û‰šS}«¢˜>f½®ûÔŽÆ<¹².ìO”Þå[QÕ½ä_%ç^Ö©¿T$bÓø¾Q:�ç‡ #Ò Óè�ã9ç6ëâ›¶b60�|óžYKÊå²Ÿ/OÚÁ°�\†;ù‰“úØ¾”ì;Y>íyú¨ä‘ñŒÙ¼Kk—§ÀÀ=¿Ä…[ª»Â™nÈpûÌjä–ÙÆe;\«0ny«�™¿ÕR¥E:ÊCdnóïF[éñÝŒ‡Ó“J=ÅÕ¡t÷îyá‡¸Rÿ¤ëƒÅ-‹›}ÚÛx»c¡qu/$:÷|qª“6¹Õ>óò–1}Î^å>›»°kÃ¯LKLòwSÂ'„ITqã^;5£oáùõ	»dþà‡ø7ÿ/ÑÏŠÿÄÁ3äaÈöãûø¹ÄÇa…q/õp}+{+d)úÌ\øÎ¡U­¨žÿÎ¯\•¨m·Ï÷Ú·WýöÝÚ´…è‡°OÆL©ºÌmÜ…SÝtÛXÃØ{EÙèO×º‘­eëB}–¬ËFaUÞ7
-Ë9üPµÑÔ_ˆYÊ|‡m�™bßß’Èsvýåg]ñò4«µä> �ÔeÞ¦ÊÇ†™míûx2ro7°ØêjZÍlÑÝì*ÎÉðñi`d»K°ù.±ºæîPÈ*Í.¼(-k¦6Ö_ÃÜö‡ÐÙ‹ùÖë„B-ÖÐ�ÒÌa�ÐP—Dþ
-Ø9k"H3i(ôV™~Ï_ý>ÕMá¼FA{D„·âRùœbáž÷wú¶þîš9÷æy™YÖùalzÑÛ^++f¿ª ÷ó²_º.Þ“E´E3!U(i¯/hÍªÛ×ÐWi5o×½Û¼Ý™³Ý^ÃgdvˆLýmü‹â?bÏB¡Zµ
Èú`þ=ˆs²=&x×vð�ñOp	îõç±•Ÿ¥÷¹éšqçƒCÏÞD›±™¾oõõ…<›K­:‹Xî5óJ|ãc[?zÍSy�í.ÍìŒ,Ïé©ÿxHÓSVÕ3þ<¨ÊÕFÔ¢zH&êÁˆ'•ÖôõWÀ™½ÿÝ±Þ’©¯µï±‘ßç’²×að¶ýË=_6OçŠ]i^"v·£ZÛÆ�iËj+Å8ÕÖÚª–7ÖÐÞÛFîLÆ‡éà^¿©Ê«Nnõ!1Qc¯8Ä„kho¤¼Û/è¿(ïñ%R–%)õ}øÅ�Ëý¯)n"‚Le,}/_€lf¿‹‹æúÄnÙýõNíruŽûã €¸ZÔ,ÙÖ¬g~“Ô&ƒµª¨S=š,WšíÙæLþø[u¼ÁÜq°›úÊÛÞ•z¨�‘Ñ½“#‘¬2Ck8î±K²bQôbqí9p¦åû Ce/ÿô,þ/RË
ªZíïFF(´{ß…ó³í=¼`½¹°©¡zpƒÎÎ›è!´lÉ\ÎêœÞ8_ºòŠöz“…éó2[«—·º/XÃo=‹a«oÅ}ö½[„ö©Z9/õ	/ç;yµw)%G9ßm_å<?8÷Î�¶ÿWÀÁ~„2¯·ìšÄ".ø++p„žöCœÃè�ÃgßÏºé­û’WÏ-J¿3f6•g×³ÛÖÕV´ÖšMÏ„¤OæÜÀ}„áfànV¶<"_n¯äú§î,ó	;O­™î,Ÿn‡ëšÜ½¼—›òNææì;Œa¹HÓ¡È"Ö…�“Õ_Ñs=»hªÝ85òé°ã]O�Ùkgm�îÖn| Œ«*+¶Y€žÅB"ròœêpuÚkhJÜo.‡íak-+EÖè¼ø�ÕæÇäNÚÜ›©±9c:hVZÛÜ£Ó’B{#¡#ù$¡lg/¡DËý
?ÄŸ.êyŽ¢º¬vÏÍ¨æ	´ºÂÁýðÍýéœmºËTy¾ÅÔìÉÌõÕdM3n^7Û¯ez©ÎtÒ§†ãP«MG-�ÖúC>¯w5*»”º¾þ!Zíæ6w¯ú­ÙÓ·I³ç4KMrI�CÙ^7{×åµÙëÉ‡f¯ÒÚýp@¡Šüf�tÿB'RýhOj¼Ÿ=}¾³¥†èÜÖÒÌ‘Eå¶®1mÓï¥ÁO2‹”¼«Í”ù»9�Ýº§4ÜŒ2Øß*³ÞŒFfí
þ™·:ËæªIÕh§1ÜÎ¯�¡C"�üx]/åBK¼i£‘7°à‡hä+çt§­Ã_ÇÐ�Ôì4¼öd„åú!Óøp^E69ÇPiÖ’˜´)ÝcµªÄ·…›cÑyžU
-ªÖ1X8Ã$ê±9ìm^=YÕâQGH]”Ö®üQ§Ò\¯Ù¹-NÞèM,;*"–ÝLQxtW-a^‘×ÂCbY<Å2U¿ýßµ²4ÂšX—/ô¡ÆñZßâmÝ­GkwÎ7zS®Ëì*’‚¹.¹So~ŒA8­Uêéñ¦?.÷Ì¬.ßSªÐ‰?š$¥ž›nã<D‡be¿›	Z62 kû–Nƒ#	ÿvGy~ÙÃ›üR�WüRÞÝùe
�ù7õzÿpÞlw¿GàÒ'q‚2~VÙ±;ÚVêÛ–E²f¡6­}ãÉÃ{IOµJ²–›sÖt~t¯ã'>£L\ÊôÕ_ìòv½&u—"Û¸\'‚ð¼d:üjŽ*<OK+îƒ]|î“—#ns	)®±ÖD®a(K®1cï\£±úü\]|þŠð>­t/´U ÝÚ‰ñ*¢^wÄ^½nõ;»~ÕªÞ~¬Ê³{MªOÏ�Nu´ÉûÓ£?µâO×XßBä
-F5n3¦(,+›—L$�k~V}3Á¢î‡;ˆäYï°ËL=�¢yÖÛgtÖÛ<ï¬7`>¬×l Åí$õih�#Ü‡ÙnkÖåˆvÝîæSuã¡éeór¯ÌÇûBqò!wå1ÕäQ/¬ûó¶îwÍî9�È1j@»ø­˜æ$ëY¨w/€eýJ©ÍHkÊ¨
-´” ¼{0§­@0§s†c”¢3ÅŒqe
-�äC_›ù+Îïa–öûú–qß£lî€æ6×†Ã®›ªiÃ1[PWªž…ã…ÌÅáØª�å0ë¯º8›ÚJyŽñLotá­½ÿ„–P°y©”b 3Y¤ï�§§I,ÓU»9§«ÇhW{ê“wíéÔ²µEçÞ¬±åÃ¦Æ’JP
‡òCüI~ÃÁmøô.@ÖA�3O¥˜[ÅU†Ög©¨†k•T23Ìè5×ûô}¥ÓC„Eë:°6b4ºXü¶%íëÙÓöøC0jµ÷¨½Ö¹°JhU`:ÙJ‚{tÅÜ‘R¥©ÎÕ
-Vù˜LÜÜËZÆËN6dËí3\åÛ¡âÿÞÕÐYÇØµ¡�lõW·Ö½³�›“Ò”¹ÎI¥»q°þ\{ƒ*Êí!•ë5ƒ¹6E$TùÔAÒØóì´¤5‘^Wc÷mU¬�·+;cëXòfÆ­D¾Qñ°Äñb0ù?g¨Z|¡„&r¡„Í—ù›óÙçoî,ÌO{™ì_ár…gw[Þ˜+«wÊûÊô)m)¥;3Ðþ|x‹»Ø’zJ…û‚€sò[ß”„�V9ò¬Ö™Û"ækËVG¬$>Þ*wŠn§$WWýb.êŽ
-Å„Ÿä«8«å´®ddßþÄÍr9÷Bc‘ÉƒM“-zV�
Åá|÷Žþÿü¿Øâ‡:¿© N}‰¹Ïêlú¼fwoA�­CÔqŠá£UÊgqm­ŸòËö<UbšþœAUL·’r§a%20aU­ÐËO›*§uÈBv)Ç%J,xPJÅ¢3ÆÒ2oI©ƒygç=Ãoûd�Ws•¦�›—¿Â,ìn™ŒÒµyIþä~ˆ±Ô	ðþÃ
-â?›·$shÝ«Šó;S	ß×ªÑIÊÎ¨ï•ÈÇË)A{›¶¹]vÙ»y”1ôŽ¤5Yž3Î|xMË\õ–Ê£ÈŸöìÓ†›ð‡@¹òìƒˆô‡xä‘)Ó#ñ¯è|˜È8_†£¿Ã3Á N2H·b„__"dˆ5ìc3Ä¨ù>ÈŒYd£m!Î>@üÜ %†8À‹ºPr+´Ê*Ý@ˆÁâ-Z=Ä°ŸùÑŽxzÿâ‡øÏP¨œûG(š›B¡ÍC"4_Y$T\€\^@vMâ
-oÈƒ~âÙð^îé9@ÀÐhú¼h&uh¹ý}×3Ê;@Œh¯W¨újÔMê {Æ�‰SéõŠés”¹‚cè«÷Ã_P_+Àº«B™«ÐûF­Ñ€ô0_T»Â‹¤BPVÏ´ž¡!fmˆpÐNÖÎØ�µ³J�!šO€ºæ —$
Ðk½ÐhË,U–ãím£Ç©ê}õàðC„‡uŸÉçí­Ž×wqhŸÿ
-€>–yX•�
-@?oø�B¥°Þ`052&Ö.CF°äç^wâ9ˆ}ÿ{/of0ÌÚ,Ÿ:A4€1P#ÖJR±CärqûÚ«Å)u-Fžˆ#ò(-ÃÜuä¼Ç‚{yM[nðÜÕó©MÁ“)�îÿÁñoÊ3 Ó¨BeE(4RZg?*ÀÛÝ-À‹6,Þ»âß­àe€õgM€
ð	ÀæÓMÜÁ</òÆïk$—ÉWD~ZHx0Ç©p8p`Oó¹7ý>‡•Æ{ìê£×=ó€ªò„„|ùöÍÚû±ÉñÑC<—ßdYxÝmŽ~ÀÊ‡"DPxaÀ|q’‘}÷'
°F½î42ç&LÜ™ÙÝHVöj84Âõû‚R»wIáÎ¯{]{¿ªÆòó|Ê÷ôs‘ErOæÅÔ‚P7‚U;=À¾¸~ §¶ÇcýyËP[ðC\÷Ç-¸fÙytíz¯¿`ü
-Ýå P{Çw‡ö¾û�—ß—�0ç@Ì÷T´¿�˜0—¥×}QPž¡ ÿAxè:ŸŸ�Ð}
þù¹Û”¸KÃrîNä¥Ú­;™ˆ·ÿ^÷‰h\FîðpžÀ©ï4ÏÝÀñµ¼}Ž:çE‡h¿|ý†âO°I\‚-Ý£¿ûë Õ	�Æ
¤Yò
-ÒDýš!ù®Ô³å'B;üÓìÉw´ç·:0¯~q¾¿f§æí2zîÞ—‚�`g5•"O¹X‚öØ¼:àNµ§ß;êíÂâ°–û{ß\¸��ìÛþÙ§„0òz‡ãë‹çoØ+ü¸eþ!ÉwT�~�¡thóÇý‘ƒ¼g¥ì#d”½;M�½�Cû¢ô¦ãÓÃõ�n�õÜðpX/�‡ÿNä›{€ûX§öÛ3SÙ§¸±èí@ xdS°v¹±yuÇ"rnóÂçmf#§šË¼·Áéóü
»æ*€#(té~C9·ï1¬ºûÝ„jO
ŸëÆy@'5sqtõô$EñolÙ·R]õ‡Ø·��µçúŽGª³Ón�Ø�{níc·x‰ç¦òN%àém`¹Ý-Cäu›#Ç¸„¤^–8ª,„¥#Ó.ÔßfëZ|þ†?¿%µ«€¸—Ùï¦6	däÜ÷ôÈ‡¸Æãõ¶�‡Ó¶Âë¹üÂÎt6W8l.ynŸ6
-Òn¸2‡n)×›;ÕÒ`³ÕfêÎ~¿Ög›«oŸ–á=Kìß&oZ/¡l¶ôµ¸�³íx“nL\cOçuÆë£ó
JvÆ¯u!Ý	~âj¤¸.”yèt@&è€<×¼h¼©]ž¼yþ!îÔt|½Tç!8$»€Ú÷f!í^[Qcû|Ó²Í=½‰…¨Ó…Ù:hÖÆÍÞ&½:_
ù¼
ÊÊcëQ¾•[ç/»šT0yUJ¶Ör6ª]—5É�–µ€c__\÷/�U7Áo²«�”³`A¦btÙ6u@Ñ}/¬¾? 2äî:±Å=œã7/?­Y©ÝX9V¶oþÄ[¦H›É¾gDŒŸÓõ¨\­&ÊÞ^•‹à¸œÍÒýù*Åúb;I/¢”[Y¬öyIûd�…¶y7Oš™û¼5èö‚ù¶_<~ìš×Ê÷×Ìe@fÈTýûø¹ûZíÖÖ½ÿ²Öç×1ÛZ÷î�VcÔyN7E[lÙ�ÇZ�õ)DäUùÕë/9;_Dj,ø5áj›¤pÒ–ôœoókì‡˜K—¨0ÛUjü¬'SŸíxS_!ƒ©¯ÂiöF?ÔÓ4wû
€0>�nÞ¡Ì8%*ûYÄºd�­ßŠ)nzßýü>Y,œÝÇ¼¶üb”5Ýñœ6ò=íûæ·KG¯Ù�f®Ôñ¼�£µÙ®Cof™}Ó›²Êuš=ù±ª“ÌäºiÒµñèÃ°°'¦s‡X>Æó‰|�¶å|2<ÿ@€B¤-„ùncì_˜×ÊÔâì)—ùa&±e_ó”äºwôs.´Ñ«”Ùô÷½òên
ëú
-Ý´4K»vˆ™Gçß“Ú&j‘/&ª:µÆ�ÀòÇ4s”WTÅ”º0,Œ¢$i�i½­_‹3Äñ2÷0LŠÿ7À1ÄC™Iéû$©·ûÑ¤hN;ŽkŸß8Êœå|¹ŸUwÕüÚÙ
-qü4wI7Š¨PXê¸Ì,õ‰0O¯Liš/Þz“JT*ïæEÅÜ~96OwhaéËëpÑ1pÒ69H
(®ß;[ÓAÊºú}¯Aä_.Dô+à¼Ù¯‚LOæ…êÃ×juè\æƒ¨r2JWúˆ£kzŸ�FNÈ¬ÂÆ)ïº2²
-ê•œ.ð\U#Œ\fjc2«Zmeùå¡µá‡ƒN�õeò³–£‚'ç®ÝGo,øX÷f*Ý©töJ4¹ë•r·W|Wìîm™3ˆ?ÉRïº[òñá5ïßûÇ	}ÖÏ§ò±U›W|ù&Tv3a o7ƒÊÚÜKÆÙ(�ÃÏr9%É6/•fþ³Á¨*­ˆcv±„ìyï»ý=û’{—|[éVä¼£�«–æ§öòþ Û9iƒg;mî(ší²´ÛË£f@,HÓn�ÄY|?[^ó‡¸<æ�ÒI¸ë¥Cº.”¼‹ö.8Q>%ÙD=Ð6#µ³_=7î[‡«1÷ÞT~:fyzB/{ÜÈ\ƒ^zÓîMóv‡­Ýdi3Õ&r´–-©Žy-<Àõ¥éî±L³ÛßŠ-¢®[™7[R…1ZYZý�6ŸP¨B¶<Þ3g}iasJû…ÜWy™Û¢›)gªÚÄ(¢ûC,ùí:Ëù��¸tV­®keÅØ7Ùa‡
-²òê7:ºÛkJÍ¢ÕiîFò¨™¹zÃŸb»Æ@TŸ�Š¥¹ìClär—ecÐbìÆÏ�~H­ÿzâÿ—ÿ�!Kt|Ðëíëäñ(ž„½Z„Í])îø­°ý8e‘P6nf°ª�ŸÆbë5ÎóAÙŒÔ‡xO�W‡la„¿èj„‹lW»ñÜ!%Ÿžç%Ojä®ã�xVÏš8…Ä5KÙ^Z¸�³‚XÊSº8<±œX\ÉæoølÙ×òÃpÛÎ¶Yü!¼‹\ú%v{“¦Œ›Ö%WïÇ]Ò[µÙ\#�™ÝtŠõ“úâˆŒ¶Î+=ÈÞ°|ož©VÚ›g™ner=®Q@ÞM±LÄáî	a6õwÂlÖx
-µÚ5ýCð/l!ðÏP^µ¶ª¹ª×”÷ÉÆ�Û¨û*œ„Í àSF±¸«¹·âÖ|�æ�=’«åý„è-P`´~ª6šÞ»;ã‡˜,Aå¨àù9öM¤h‡T;Q.d«·Có�bgPæÛÏ¿SB—×=sÆëûò–¯ÏÜ;Ó5œ‹œãÖáMãb¢íòuÖ?óub}øð^þ/O¼<§*Ó›Ø©’³6­¢åÍªycš,HÝÞšè|tmg§�¡/MÖ¹ÁL‘ìÀœðêI®Õû¯N£¬‚VŸZ �’ùJ	Ìf�û!8ÐnV¹MÊlrâžP8ñ¾ÚpÈœ:×mz™ÔíÖ”­·"aVoívv½µþøÅ½_ÈÿTåþ8­”\½{+m1GƒÖøæRGò+¾Ëf´ÕDÔ%¶MÆV3USR{²?8÷Œ…LoÂm§ig­Á²rmTXíÍGoðáš5“¨oõS¡žJgyˆ…ÌîiÂ:°=­³¤”¢–d?3Æ÷x›ñ�	ôî§}ï7üS•ézŽ)UÞ&ósÅ¢fry½°ìÜb§\SÓ€ÿ$c<KÇÃBáýÙZ®÷V«ô‘;x¼˜·Füc#>7Å¿´sÝí–¶ŸKXê,QÌq¹§™Q·Úa
-kÆ*M�¾¯ˆžØ~•žèî”.§«vŸ¥½ßðCüIŽÉL)z—'Yrb>©ÚéŽU5fRÔ·ƒ9»±6AÒƒx8Îï^dÊq·yÁ«mr»o5§D¶/ÖÏú”sØdÅ˜©ÍŒ3Ã=Í
ƒZ°tXJà2ÅšÖ]r5¦BjŒàÕá/Õå‰HW¹%Ò©Ä`¼¬}gáy¿Á§<6÷*©ØÎÙ«n&ºXYš“Y~®<UŽÃ1?Ã£z~É¬Ÿ¿w:Î—Fý�iÖª£†°ñ£.×�õFlA¦t­;Ö«QN4+®³¯4öË{�ÅŸò–©r;°eÂ¥åÒnrZ–zéTêÁá‡(‘Y¼,K$¯ÃŽ&R•­e&´9êkµÕºu,jƒøENæ'#êú~Ë¬™¾µwÏî©Un#1»eëõú�Ó?3M¥ÚµúeÚ«XMnTî¤)µ$×(½8¬SVálT½ÂXßò7Û‰óÕNæoÌä49‘sLVYfßgôñHeß—rñ7@�O$S´E‡^ë"UY�c‚R—f‚ŽúE,üŸÆcãØ¬¼õ�ðYeÎÐ;®zM'ÕLULsåN±‘/‘Ïl¹˜‹P&3Oõ\àìÙeÿ»šŠOÛ™Üü)Ùª~ŒŒ£³û´gLžiYŒˆ4…6ÊO)Maiù7Øi'`ŒÚ�©ê©�”Ÿ2Bí•\$ëæÑî-ø#\Å‚¥âò­µµ©ç¨Ô�Vçó7êW°£{*‘{)Œ¹èž¯¢Û Ç¤ô0ËQÊ‡L®t’q´4,‡{©<züîZu¿»V/,ú¾†-$~¦‡ˆÈŠ‹&çÄÛÿ
›òvLëÛÏ¤0«²jZéf›@~u[Á�
­3py¼gl˜Ë>\ÖêKÄ†âfÖ7Vk@qíe.°oÚ‘]öÆsJÌ3»=“z=�4-b,uM,8d,t9~9ˆXó=D¤³7ˆ	øl3ˆÈÔÊ+Âmþ€mü‡ˆ“é,Ýêg %¼'÷4'
¼'ÙÖ0NÐÃ*N0zÞfÂ'ø<'ùˆŽ–‡×±9N¤ç$NÚ”'ŠlÆ‰~ØÇÉ2w�g‰|K¹‹qšBœD(¼<bÇÝYÜÊ“K2ãŽ[å7¤¾‡_p³I˜¿¡ÛR S‡ZE)NöŽ'&i~K™«§8ÑÐ8N†íÌ]Ëqb×ø89.:÷Qœ¼JPã«³ê8É¥Î½7@è �Ö �á§
�¯Ä¸ÊN£NPÓÂ=ƒNÿà‡å÷Ký
i	X­GXŸëó-VrrðÏC ]l¾ç¤|½¤ÒD!|x]µÀÀf[H‘Ã!@ú¥ï{¬�Ùjœy[€˜©#@ü^±K’Ôs±m™õ˜( r”© JØ×²Úûf—ïBç£¿Ükñº€“ö¢\à×ë€üÆ`i1Ð�V…8Õè1@Å(~‚…Få ×u 7ÞK<k4öZgK#¶ÁÙ‰¥MìÇ’Oß 1­„ÑŽv°¨‡§ò¡?éñ?Äû4ŸwßEì:}UÒ�ÕsÞ˜O:ëÁëd®]™¯~ÔøL4W"ú0
-ß˜h`=¡0ÕŸL$€>k7€Úsä{/[ÞËvÄÅí”Ý‰vÓ§‘(>ýmÕÊÐ
suëô>Åçû»(¿Ãwq&â/õ5Î¿*ÛXxÒûœÔOõÙCˆÛÆ=1TçÞBëŽëæ­SHA{ìOòÀFFÒõÇY€MÞ€Mà£ïa
-¯¼¾ðvsß›F©È+¼Šá ˆØ÷™-´_·?zU‚Ñü	ãÉàûí¼Ý§,Õü=à*Üû'ì!/ùR¨òw¼2ÜÒÌR»ÊîÍº7÷|¡
û<Á–ö	.z›ß«2ŸX÷œ8Û,ãcÏ—ˆþLÄ,4A§�±;N‡á± c¯[X¡žšIÃõÛi6 ¤÷HÃTïv6Zßqåcß:wbKoØëußè¿¯ÔvŽ\ŽÊ+w•xþ<©}Ÿß?ÕR{ý¸˜!ÛÃj‹ìüq´ýÍuoù
u³ù
5;X‹EX•Ïu÷Q¤&¥)Äú¤¼uñùxÕ´x€×÷ü±»ToÝÂ”¿ö«{µå|¹Ü´s¹ü6N3+åžj­Êé¸pë�#;™«‡“>ðIû&>—÷’¿Õ¼CØ^Æ-{»A™pvÙ{d¹§ÍËüƒâßüÀ.	N|ÔÌC9e�r‘.€í2éQ
-ú›Ã1…ýùa‚ëãF"ÅäRð]ê4£êQGg�Ã:µèùŸ©;ñÏãb¿•BXÊžð��·“Kg/ó_;±@wÙè’wO^«á\�Îtûˆ’Í––é�ý®Ò®½D*[»n“æo˜gA­ó ÅIµïÃçò÷ôŠ\€Œ¨ºïÚxêH²ØÝ¨­>OWIx¬ßÙ”ßT·…}*¯³YÖ[»­÷]e¹U�+Ø-œ
-Çp%¼-=.\í77ŠíúÆLYq3K[‚³üfó–&æËîÆ™Ow›tnèÞ¹eý€rP¨ñ€Bß{ö»u2^o)£ææ)4˜Õ=JÆ¥|ó÷‡Oîì;ÑŽýÝpR¤œ›î•·ZuÉÙKvÙ¶âµ5°„Ä›šVë¼4[…Ôvã¨ÅÃ¦Sé†§-C†Nùú°S¥užBç«ñqb¯Jw÷Åvy—lë_@Oüÿò°Íi¤ÒD¤5Šû¾{pÈº¹x=L{8P¯ÅGvzŒGŠ½ßíÇ—]A[ÄÛçé@X`”Ï›ÖãRÛ8gW0¼»Û1¨Úq´>b8\÷×ùe¬Æûª]€áu9}9ñ²º¤(]S~6S“E8÷­Åª•ñ<öÙ.ø<aÿ8|Hu
-Y�NZ< S•~|hoç?Ä`ÚèvHF½3£Ÿ¼R1vg�;8ô¤ÿ¶>ž�™ÿ¤ŒlºQ^]t¢¾¼«QsY}¢²¾`3�‰X}±$kÁ%«ƒ¶iŸZƒ(s»·¢çø±4ú!æò6æD¶·›¹§ævæ¾zöo„hB¡çFdzšÈ¶ ¿ƒðÜZ^Ø¼–ÎWö¸™ªÝ=õ~/Üª‘÷lÃl<ÌöSM¾'èæìôª|Bú"P«‹•+pÚÆ¬´4«÷çR§=�i}=ëöw»Y&‡Þ¦ý1û™fK§²:šK²:²òKu8.ÄÙQšcþ?ÄŸvÎÒô*2;GoC«ùèÕKT¨S„’9G¤»ÉÝšm#$íXø2{5Q3^M¹¡××>¥™²8—^Nm–™ùiÿ8l«'bgKu´sæ“k%¶'åEî8~°J8®­ƒ¬òç’òêwÊkÚÊË,9ŠN#›ßˆ8‚2ç—" ‰›ð4ôMå2ãr©Óê¤ˆccçdöƒòMpit8¶—ýf³Äi=©Ðï%3ë#Z¬ÓóÔì�Ÿ¦bY-„OzR~Åqílw”×8œ(ìƒZ�Ö4·ñoã14yœ¢¦Æ
›Ú0CÓ�lˆÅvØ¬v�ßR%”é/Ç¹žÃßŽ�</6XêØˆœ”¿Ó:Äî†�Ùm\dV*³Z
-õØ¯jZ1X€W¶þÜÍ+øt¨Xää6Âcz>©Œât¹>LÐLkØ¬gûƒ­ÁÏ)dbõ{Òñ,ûõ‘s”]•›ƒ"2sCö?&Äc»ú
ß“ŽÆd±öÖ2H
vÉzúÄÛgâ@$C|ŸëâˆKC¿Â¶D¤k’ó™¾VíëN�.©›¶-2Ñ¬? jÉ›¦ÆL÷H�ÄR¶8pX½ÚïN\„öÑ;—•q¯8ß®ºêû³ï|ãÝ¡Ík®£‘¡Ü­Ünß—BcF¬ý†ï¢@f=eƒVµ�¿ÔJÅô±I8Äþ€WÑÝ´æ}~ˆmü<¬Îð(g§1[ÑÑÖ^Xéø<ïÉù×´àóŸñ‹b#à»™�[}åä¡U,uo{«ÖÑÚc¡½”µžSÉP*ÛVë·–µ¡3-Ë¯I’¨–à#»Ž&ª¨þ†ÿ�¡Èãnù¦�:EÕ8uHU4Â—Ó¨¦ÆÀníºäæÈ÷…õ”':¨è¦ÖiœýYÎÆ“ ÇÆ?„²ÉÈPz¯Rý,»#»³Î-×æâRQB†!ÓÂU¤Õt+­q³“ÜÌÆ^ªœ}âŒ6öJÔh¦Ï{µ	[nÖì„ˆú¾c¨m~õR¢ÿ´ùÑ”Î©ý¡%»j#D·›j˜}úŠe:Ë,Ãç«¿°‡ƒÕœÒ-W½ãà:^ŽË¯Q3ê}dg…÷Tu›nG›3Õ’ ×ð3vµ‘<¡¿/žòÌP<17CEÂQ,¬ßˆXð"ATÒû‰xâ)M<eðÙo€<UZT&w~‚\úÐV­”7žp„êwÌr¯éØ˜ÜïbÅÞÌ¢ÞˆÌ¶–™TfÓ‰1¶&lù~T�Mæ1Ø“B(—j�Og9Ôq	Ó-¢q(à”¨ø÷²pË§áÆ#A�R+¡²VBÅ>è8¡²y*‚ú‘—?„ ú­Åoø†léÛÐìÁáóŒÓ>yX¦wU¿šÚ6¦6ffýg¼ÒÑ]o.hRëYu~V¬Ý“×Q\*fÓv†Ýz–¯ø÷™Ä.[CÉžL’¦{˜8Ž¸Œ0
˜ÿd†<ÿ”°¿ K~QÌxææ&\8›ÕyÆçF<g&ž™ÿŽP]áÕËÝ2?Äa{=¤½±+§�•ƒ§¬Ýh‚AßÀ�uÌR¯óƒ©~f¥Ò¹2yß¦’’ì(uèq£u¿¸öw]ýŸÚ•¿7ÍÆST«~Ì¿Ô!Î³�Qà"-®sk¶Ùý!¸µôÑ9!Õ÷êŸ}Ô?>ÎÖ?s­_ÿÞóú§ù;©pGž¢>™ñÉÀÊ@¿AÌlQ/L›9µ‹¯ÞûÐö¸zWŸSëòCLø•VìÅû9»Û/�
-Óî
-o¯ÚxÛ°›‡0Ü‹Ó1{æ—£SÀ‰•-¨'ABÖ­E³VoI'©Þj7¦u<uÙ²Î~²Ž?¬±Ž†Él'O«l§¡�ü'ù®z@¶Ñ-ã•Ü)éðoŽ²zÇKÆ¨2e\·‹|<»øÂ}Ü¸–ö£L(†ƒ“¹ÈÉ�½Äw×½‡Ü&LrÜT�ÎB¬™ûÍÁóÖ­ÛQtdÝ$
-Øî±‰²™Ñ6Ïf”šÀøõýˆéfÃô?Ø“Éšï2}Ê÷ºô14'ôh¢ŽÃ)šÉýP³H—5‡ÙïéÙi&·9_]rÅ�®e™G¨²·à:êY¸/kzwßÕ=è´Ö»œ$¯zõf©~“„wÄ8ËÙÏêi´»fë0ùêèLŸŸ—˜ëå]jÛ4]ê|Ï‡©ÝK·emú˜ßjUM-ÕªR¦3Y¥ªõ2¿â�ZßÈÝleå¶æYÎ›‡ž[/Z#rÑõÈtÞ¼”öN>÷ow{ßE¬—óC´NÍõ¾©vÑX|�â,ÿy4G%‘Í‚K�VÛ‹Im>Ý,kt5ÜUß¨x¯ê§#ZÕÏ\±Z_Þš•˜oO+™=T„g–*'ìªYnö6ý2šl”?ø!þÍÿ�7É;YG ÇyËÛ·ŠÆL8æôm6JÍÔÉŒ›Çó}0?Ý
ôè¥ì¼m6h øÂ&%4ö2ìQàŠô,½¯VCeÂW6b¿K±¥þ¨Œ_7zÉ5§Ô•;×R†:'Åý«U(öõ[£˜í¨óbvÒ½N•F¾0:\…‹~ƒË~¬‚ÝáÆ¥Í¤N—f†%¡uQd+È8Ù_ƒž?w�WÛIý‡b‰oÄ[ñv;çÕ}o˜ëµCÔ¾[Þ+IvS(·§�J‰”jõb®WnŠ+ç++VÉÁIw™£¡—]2ÌƒŠ]—øFGw-†2zï%Vu‹L^��LÞ™Òoøó;‡™?1¥ïŽ²Z®ªâƒk‡ÃüP¼vÁ�÷¤þgn‹oê¼æœ!¥±£‹ýZ+{ßp¨ü(;
-þ.‘�
-çÕ(ÉO›‘cÒdšŠ�ï,™\á?bÁ›É¤Â¤‘&“\?•Ç›QÊè~;dhpé)|:ÊÖðjaÖù?Ä¿y‹ÚŒ+kÖ:4ÿ¶K©ßMðÃceùèñõ‘/
Ê[GÔŸ‡5×aÒSÒ¥I5òfËo8Ôü†CW…1§ù*Z7³Ë^âPbÞsÉVÙðˆLê-S‡MõL”pÃ‚Ãó….'÷ï®ÕG
-©
-ñì "Û™A[D¬×/¿Á¨MñÒbw&È)ýI�‘|=?{º?AfÀû®¸¤Þ›ºwA4z–ª�+
~Ð/õLèŒ¹ö4§Iž’åHq@Zãc/Ó©uÛi¹Îöˆ³õ’ñ›{bÚ@W�ø^W±&@5µµe¢>Dÿù�'Óªe›:T‹t~Cœ é"ÿ‰“*‹@HDü±ké\>™ìºtÖ)Sfá1è§ö½ûƒÙ)Ž�YLÅÀWò1xœj1P.þ�Ý„=Š?U|Ä±‘ÜãOŠA¼óñgP¬Aôø¸q®Ô£mê
�ÆbÂü?ÄŸ$N¨<€òJS8Ù$Ó?ëf ÚQ1þ,žbüi3–ÇåÜøSR.0÷ŠâOW€w51a¡“W5þ¬k<D_Š?»=ü·4\_`Ò1âO|óã$Ý!‚LlúÅrŒåh6‚&ªîîÐ’éMþ¯øŸB£ë3žA™ñ
-‡®H(ÐßxrƒkÇIÍšÄIŽÜÄ	¦ ¢Wœà¼<¿ÍÆ	KT¿qp.N¤•'£p'J^�}¼Š“íÍ�“ÿG×›n'¨Dk»W�‹Aì{DETìèDATiDD@ôþfí}Öëûó”#ÑðRíœ/•ò„Þ•;~â“’Tâü3×z•�ÊàY-Ç?ðãêæÆŽyŽþŸH>Ãvšyî�¬þcŒRM��H¤@ß¡R P‘’Ï›Ï®<üäN²»
-íb
-µïn( ´$jdL’ñö¾H YÅF½¿�§þB‰Y=¿¬eîþZ–ÉÏ“éÉ•Çjhv¢Íä:£ósnçþ,ÄŠæ4Ø‹;ò¿ð­1‘i”Nï¬@
-ŽÚùÔv
-Šy2Çä&!é˜^ì¦Àm'“¢�‹
ñV�0Øy-ù&þ¼„�ñ“Q—Ëgm¼å·êeûXÅ€òhç8
-æk?Z)JXµða÷~/&wÐÛÑ>Y/og¡=¿žÀô¿�½u’‰+e
-ßœæf~9Í�G½g*ÍÍÒ÷¼ pNH¸|{Ù4üz²Íbîqzå(8‘­mýð‘º“°GÜAR�¹àpmŠ÷O ß�éÊ¸�,ïvÏQ�·O^W•[Q1ú^E÷¦W.ÿbÜV´§²L<Ü®›Í/h<˜ýA
-¸Nši\äÒœq…ShB5RèQ¿)�ý
}ˆÍKóüä*7
-‰yîòów€GrW'fÃ?ÍMôëZ·>ÄÍÔŠ³[	®ÓžsÆ×^µE®×ðpºrbpuïp3qÛs¾|éÒnßNñÌh˜µ´JL[w^šFã07§w~ö)HU¿|nÊeó¹&ÀÎ÷»¿g±¦ë¤ »g³éÊá¾œ;ÝÕPv}d >¼KE¯^ÿRvïÄ¥é¶õ;vÙ6€ñ¥{¯.œ=ÑåìTŠ¶BrGðUë¶´õ'´ Ç6‘DEÏåRBŒÔbN^RdNÍy²Ôƒ¢?ÿ/¤¹
¦Põ	¤p[*¤ùþ¶—æ�Ò,Í{ôúé/¶›¬>ø,{½Ãóà1vÕt7òÅ¿`˜–ØéçÛ`õ\µ&+·mï7£÷älC5ê\^a¼Á“�Q¶§Óêi]OM£ûÑ…‚ÖÔ¤JJ¨ñ¾O©xaÌßv÷×5–Ç\YüAV•*�B—V&4K)’K)"Š‹˜)LÙh_#¨ûtƒS^ýE¯/Rb©ö/_Ì3çFgª|ülýT8ñm5Ë^õ@»¢º0ùµ‡™#µ^»Î¨q4T£äã;>[ÇÑ|s¥CYÉ×A\žË“ÅÁiïWØ²‡ŠÆP_,ÿ … ?S8¤¾­ŸßÍª)¢öi¡å/ž›'2´8¾ÕjŸÑåeg$Ä¬gzz4Oë|þ¦£¢«ISU\¸”ŽÇç½yÌMSL!mˆ�ÍJi–…DãÕÁés»•šY»¿ŸÛžË­á�?Ëa»Ö[˜K¡ýXI"uc¥.êÒ_P�Bã÷'…Í�"¨ÕHEz³ÐtLÏ§úxÓ}8r×Ö§Ðâ>»El{ê€s]ë«Ž{SíPÉÖÍ·\Œø@cqe•ÁÖ¾²°øBLvíÚŒ’D~³‘º­‹²Ým¡Ë¶�­ß¢,#-q¸8ME SdE€èq‚Öé,¶Ì
-ê²6¯}Ò|ý‘K‘ã«×vi;|ÞŸ:å`�×€óY
[¦ÓöÈS•7Ú A•#Ü¤-¹ä_nû<{íÖ!
-Jâ«•e¯ÛW³^Ýö´#¦è‡;>“Ò?sÂXyìhÔ9o¦§ícƒÌ°Úzx£õâ3e2ˆÜzY”™uÉYS�
"“yÂ�¯ñÐÈæä,CCnõõüu±V|IŽ×—�”_UÃ�7„ÞGìñäw25Ÿ÷Mm{•¶N!ÚÇDô)(Œ“qacõ
¢qèÚšœFëÒÙ_ò—EEà«—‘–e¯ãÞW
Täîçî–FexqÜ=˜/è?Há5óÎ†SŒ™ë½îS’ž\C­÷ºÈ¶9ãÝ:2«2S8uC¬§j ¾ü�•ô÷þ´¡IÒyæˆï“ë·÷ØZá›¿x
-Ä×
-Jiµ¢ŒæªYy
¸Í
-™r�æ˜g·‚(³X7weöû5Äð^�Ù›à‚Ùû3ŽÙ'óEÖú¿Å¿Ha_Ï:çH+?l­x«›Bâîn•—3~îBkY.ùÆ†)CÚ‚Ñã¬'ÌÞÀáw¢UR¶Ã"a
-¤u¸®©yxçkýäyÿÀì£Ã,¶«ÌÞ…;ô»7ÑJ²ehpèí¨‰„˜Ü“ÓåáP
-^á3
-ÞÛ5yôáº¦�Ö}�ƒ^»D%Ù*6žO»€ÐáÙ‹/×¶UoÜZJy1ï7‚ÊIØ‹Ð¸©oJ ëðuÕô8Án„Lì+/ú8”Ž£
-{õåìEõöLŸ-Êv¼ž»ô$ûóšaE³¿¯Ïk	7™³Ó"3wO(õ_HóSúnclú”n§î«†ÆÎd¾L·3
¡¨\µ#µJŽsBªnZk¸“*rÖ.[»oäÕÔx¯7:s¤ºL¢¿|:Ç`Ñr.œãE¥±ÎÍëeº4ãÙ]{øWbŠvŠ™µÝ�ìõâ,GÜ)yw‚|Ö¦Ë)Êì~±øÅüïëï(Ê¿n
¥zãòÇô’ò•Ø.LÕç™ï•=~Í\•Ü5#ùZG‹{Áûô$|Ê-DøvÖn–W7Øý@th-÷–¾Ì¹þü‘]E¬…))},x"C—êø3‡zcµE/Æ9ÑÙŽNØÈ‘IçN�þx\¹ÏÇêúÅì¾c¨p7ï­×‡÷ø«|—_?°�ÎÓ@S›ÄUq¶wXãx×/\;Ûœ’E|NÑXñ¼î8i8ÒÂ-ªPÒœ¹'<nÓ-X	&r(¾ÆP¡Œ�
-–õåë%{dJ”kaè|òæ<¤�gnx)ÝºÄÂÚL‰…¢ü'R„²²YÆïkWcßö¹’$gä^§>DêtÔ¼Ê
ldí^]Øj¹u]0íÑšŸV¯ÐG,2ŸI]¦óÎX°ØÞšu®Áu¢ÄŸÛÈ0Æ!QÎ!é�™b…a
Ù¶p/@&øJXóx³›?áÍIÀWÛŠ¯¤Ù÷Ú÷Ü=ù/~àßâwæô+zð¹¤·ÑÛ¢ú×Äëã—Tï‘réƒ×}7xêÔŸ"’vË›jôWÑj9cåÄ^Ñ§[}·¤§´6ù­AâÖÙç[‰KT
-‹,ãÃo§n‚·�e~X—æ Æ£� \¹Ú%õ:!Þ´WîÐúŠ¬7ý/<;z³èùÉp&NýmÖ7fzê/ú±jÌ.Y“W
-x“ÀþNìž|ÛÔ4/ÇwÔ}“}�š·uzyqrÂ|Óéf7M/Õ±ê'‚ÞælÜÔÛ@ä¸ç Ûð þ3hÔûÏ·Côw*Êõûc[í÷'J6Ãôû½e«ß¯ß‰~¿MþA¾‰‚îKÛv*~Œða~tàÒO�eJ{îÛÛMœœ¾n�ïúJ
-»/ö3ÀJL¾w—îm”åbsaz¢¦xÙLàýdG¸uýˆpÅ`£ë¥¿?%Q0ëçzï‚\í)aÏ 3=b‹{`zõÀ¼Qïiï÷îè¿�EãÕ\1wçSÀ¬[áçÔO@=×úùvÕâ~8ûBÅÏœ,t$æt_¹ôB2>KnKUæ¢˜Ç¦Ã7žäoI\©æ
-K‚ØOæ-¹§B9£—›µ¼;ø;µòEŒÙ.FF…–ß*‡®Ù££®‰4jÝ¹B÷ºó%‡ÿ®ÑÚÏÙÅn4ÄÇÔÁ¡’;VZM`ÿÜ0ñv:æýxÝ^�ÏŒ1-ì–+^’�ñÛŸíí$µ»\/×%”XÍ6CË?È>Qãéäô6âõäî²ÉZÝRàÝÒ‡Ì¡Õm Ìd0BÑZÞ÷;Þ†.þÀ�UÙA;
IÅþð°Î™�fÒßõVçÌ–×Ý¸zX¼ñ¨¢Ç¥1dPn;ÞÏ»'OæÙçqRÜ´n#6)~†"deWÈ¹A£wnVœ#ôZ�/²¡!¬;|`+þ3p;-U‹Ûá¤Vl‹°Òk‹ušo£wüÚzvÂ|Kº¶Ú­^¿ˆ6ãäÓù‹††P6[bhÑÈáQ®‡-²ï[7P\ŽoO[g+MáºÕè\Ú‘ÓŽ¹&î“Ò
-Œ¡ý€˜õ/}¸Ò~båöDW‡c¹Óóí66ðÖ>°­�XØ´ê^ÿ�›ï	ä7�µm®Iø¥v”}º¡/]§1¹’¹Ü—êõÙ’mÑùƒs;è#ú¨Q*�mT:l¡¬ßÌ�tÝ9Uî,ü�¬eK/«Ùú2T¶£U©Ÿi²¾T,c,Vy¼NèzáyíÏDÍÏû4¡^h •Q£¾Ø	ýziú˜×.lS£C¯Ña?¨UÕ©®jt¿ºª÷6•»Ò+›ò9k—rTwÛÿ…þÁ\V+ò¦¨”¤‰¤ç6Í@z²úmê.×�Éiª¾¨ÃÈ“×|ÿöØÞ|Ù\~÷©ÑÌôN­cmiÂê,›-ëT¡ö¬±•Â§ÚLsùŠ°lÕÊ‹¢¥8aG%|x¦‹#Þs½½[ÐÓê§@Z^»�§Öt!O³bb$‚Ìãyé´)2®)�ó½òïÌµ×;åTÀ¿S
Ä°f­Çµº³Å8Ä÷æŒB[¡0m)+vÙÌY7Cßj­žÞÌJ¨œònAy¥a­Ç­Ö³�ßHñ]…an
-”`h½¬vrÝzwîÖ*ö;­�<ì' ïzE@Þƒ£Íé«R©¶¬ˆ¢àj=`…[•èk~ø‰õq�|îðl=Y÷Š›	“�J‘f§Yöv%êKß!«þ2ÇTº°L•§OÕÂN›”G½‹_5f­çƒ=øô`�7ï0D±k#ýºŸ•±—!Q�a�õ¿îhO
-ÿà€ÑJE´e)«­+Ó´:¾ýZóc6‡*8Î÷EÌÙ0\§KKó&¤_GµZ
é•AŠ—†U`RÌÝ·bJµAÞ9Üz?0Ü€ðv.´smpÇ^»À°-÷3„c`Ø©,3°_ß6ÈD¡ÄWòåWré»•ËÔ¶çúË?HÒ=vMÞcåž¼i#üú–Ðêž¤ÍÚ-I„B�$&É(®%ÉxÖÏpŸ'É¤¿É +3IÈÖ5fÐÓÏ\’ph9ÛL’Ým�$ûæ,ƒ"$É¡šÅÉY!úÂ8Iä” «ãðÿDò®nüä­Z™PÇ“·h…IjÌ2­ƒUœ	ŽIZœt’$Ôˆ$Ñ€å÷*ÛqvEÍQ“Ä­ØIò`³·ƒnööJ%—aTLRôPOÒQŒ%é')­0IÊ”öäK2¼ùQ¬µ’wm‘ükúzå_ÈÞƒÿF„üüSü‹L™qO>ÅW�|Zi†be?óžÉ›ifÕ‹­É¾’Ôo/’Tæø$]û‡$Up+I-=S€qò.Ì¡ÇrònÆÍo»àX?Ãjœ¼çw*9¶«BBDœObõúš}œç“‚"ðáÎ�â£¤•_D7á^þ/$ïÏ=“¹†2˜ÕL¦\ý¶þG^|²Ÿ^*ÙjaÉ“Éûá¬’÷µ.'ïof²†xi2ÌsI®p(Æzp«Ç¤
-¢q~\¼Ìê„|Í½
õtÆæIKêãJ/¼È_‰Y4†‚…èó^vS¯‘MåFý.o¶õû°ÃÔþ ù,€{
-ä»X.L’Îp-!)p¢;)0UÇ)€<™ä R¢
-Ò)>qßÿz™ýþ*��äIsùÜ³ÚïœEÖ�lU‰î½mÀÇ$jŸ
-ËpÛlÂnªiÁë]ïÊ´‘øÚ’(ø�»jÞf=¦“¥-�–WàÆõ¢Æõ_üÀÿ¾N>I;ÓèÊa
-vü(�½O
-¾¯Õó½ñE
-V©M<¡ûçE)ª�Y±£Íºç‡Q4…ØD‚ýíT¸¿ñkõ®|ž­;q©dcß×kuÂŸÄó…ŸÏ›Û¼+·ÂerõÊ·ýÛ½©vù·¶ó°m§W™7íøŠ7ì×ªÿA
-HëLá&	Ó\¡¥9/ùjË~x>iîà._ö]=ø¡*„¾8xu}¾ƒoÑõó5¼ÍwþÛ³ÓäU(¨t½V�k�k£.ŸŽ‡nKá¦±|Z]P÷spv�žm'›cl©dXú�ÍÓâÓ6ó—gç¼Àœ¶áÄ¦áð\ýþ©Å\Í„¾ŽÏºðÅîÐ.ã×…>�Q”?Í‚a¢}256žÃÊ•^²\Ìm×.·‹ÈGOg§Æ€�Bï¼-ŸËhuZÖXÄ0ê.ÇæÔØSg«pÎ§ª—ª�¼ÁÑïãRSo{í®¶mm­{�Z_4ÿÅü[¤ �Ë4zlðµÆ’¶àJšèXR,¯ˆGç= ÖïßJéjìÞ×Æy­n’=|êš5NÏŽ9+»ÁÙbƒø\Js9ƒ!ò…“§k§‰v~`ýî“¸¾YS-ŠÎ+m+õ•0Þñ]zäŽD)ZÂ`
-¼ Py5ÛòìRnýAš›�¢ë÷–�@šç–ßM¬/ìé›5ôTòÙ¸QÇ{ÍE{Íž}ðssvÏ­
·v•O·¢sÖƒªsÕƒk¨aÇ0Uã1©¯Z:›íÆ‘¦=EGé‘2yž(ù<ËIòwÀÁ¦ÞŸ}–OÖ~à}½pÄv7ûÐÝñßù¢ýÿS•¥ùÞÌÒz¥úâ�JÔ7Fˆ¿Ðº !«¼­:qçìpõÉ‰¿qŒöx•$õ°yi_×ºçYŠ.¿|%¤OyNB¹XÇ�µTön4ëìÙíßÝbk¾ãeh#…%Ú�PæoŸu±²íÉaWL†	öEW”¿ýßñÒ=_û.þnjË?7ð¸xžA»×»Ð¾:ŠÞÍåìØ8mJ!®õéöò8îhÙv*†Oû+^vwþ¸ìZF-–Âž“P›,nŸ”Ðø�·½ë1SÁ=HÊœð6Gaô‚B!·×Š›Ó¼�n¦­i“ûÝ/Ð?H!õ¦pb½“R� x«—èºR±/ûÄú>³˜­ÄàQª¢`³wœÌ�™\2	nÏyÁNŠr¬º}¦#sÛïŒ<QfG‘ðñÉD·éœ�‹äòfŠ™­M>É
×‹a+Ëª€ÃŽ§É²ÇWó.¼ºÞ'Y�­®©5ø[qŠ‚þA
-åÇ×Ñ|ù¾1ÎÕsÁÔu>õÈ²É	q:³éRZAÔ\qÝ–íe4Þ¯¢#mAS%øºÖ5Sßœ>kkƒŒw·õb/F¼ó–ß<}¼#+/—ÖVœÑís÷=ãÖ¶/²Q·Yñ–Y1¶[ì6ßÁÙ®™å
-º�ÂCâõ}šp%à`ÒaC�ûþEÎu]{
-(¦I½ãã)<Âwõ…�²¨Ž‡:kàÒ#†â{GòÂdëHkKí+<Óxé+o9Ü�¼Ü¸M>}±ÑÙmy�ÅÉÌ‹eP¦ïkc:Ý <=|p'Jkä0rõl�<éÝ?ÈÆy§-8"ïÛy4¸
-†é;ãFÉµJµ•iøOû¨÷Yýš�>dÀ¬]Ý…¾ÒßÊÍ)èw”YÛ‡�À×öÀžÀí‘Ýf	³g
-�ÞjM´°”B¡&]½¹4ö|‰|šôbÙÝÈ‹RÜ.Êõve±d�î¼°žùÞÝ?Ha_K_�­ÞÜE%p{ÁÎ·§À={øÄ<m‘ÃQÕÚ¨©,[ód€¢´–qL¹£Í¢\\ðlHóœ°±Ä¬Æb¹¹§�Õ›FMŽìy9Û‘×…•²�E™�Á9£_+óÚ´Þ›­,j>
Ê7iÚ™NnÓÍ‹)L¬Ô™5µöúi>ï½£þó�µ¾w»ä‚Ëå|kE®±¡;¦–>Hå8'º\×»å·F´„YÎ®«l~¾jW‡»ë\Z
-ÒòlSò¢ì?µ,ÙtìYó|ò§ÇŒÉe±%‰Ýú­É¡µ�ßâg=>búeüÖmx‚W˜æä@]ÐIlG�?Èæör.€Ë|t
»ŸÐ�²ÅÇ¬Á–{Ú¾š–ª×ñ£ìde/4œ,‘‰’'·AcSîz|3Ÿ#¹®7¥™¡d¬)ŠÅEåŠîg­íîHJNÃ˜àÓô2>¡hœ«¹‘~Õj£|À‰sÀ±D±[<s­ŽòÃw}D*D¶Š�ôtÙþƒlý™åï‰}¸»™ÚˆÕõÏMÞ¸êx¶Žóaýxà©¡$%àô²Í•¦©P,–ËümÃv¸Ì»9\P†¼a—Ù÷[egë{^$ûx?«²†¥ŽòîÆ"ù½?t^:¤;ƒò°ò0zøu×¦p®ÿÔqnöH‡Uø\Vó`{˜ÍY­?ˆ«Kº¹æèqRr�Í–åNûnt>š§�ÐV*Û¢ºÛå_›í(ALa#�5—»åWÂcÞdN8 I´:YR¥
5o
-öŠŒ�d=ÖÄî–°–†2¤“¥�¯&Ú4/ÜÙÁ×í¹³^w°iŒ—ƒv�S3Äñ`Ó:–3¼[ƒûlüA˜žâ—·zO:‰áùÆV=éîojÞ�¹Q«èXa!n�k¯àÝ³99B›$­
-“óNÝ¥3…ˆ¹�-gSézf&#,Y�
-^WÖtm7†+mÐÑ4·ÿ �gÿÁn‘¾Ô€:äyFJ±¸�9n±�]ÊÍ>¦ÁYœü[ü‹^ž_î3.>-+å"C0‘PSWÿX"ßî>â+†`á~½”·«-G8lêb/fRÊ#TéH7
èO_­Áx¢ZÒ|´ÀCúrÍþj²¯m6óÜ�ýžÙ½„�F½DÊ‚	¹¿h÷ðôIöð÷YÆ>âê‰}Á>¬öEõüJOŠ/€p}˜µÇ0úõç`Õh*¡ì™oo7sg¡Ì³ÍŽW£ÏóÀ§Ê†þY4OÃÒ4Æ´&	VË½‘å²£¡§>çƒè¸`úû~cÓSˆ¶Ü#@Îêºö€ÓúžŽ›­ûØ¤0š`�ï1H�Â,‹'ò]£¶©t
˜)ÿÁïS.{vr^FHN_:0žÇ¥ <BéíoõÝÓ\óª¶gH-¿¤*‚Ï/ë~þ�çb¥NåRø™œŠLqD)n}ÈËxw í¯ÃÞûIO{`º`1²Ãm»gé¤uÏ'ôÖ�Oiw>kU»ÅÂyˆÚ³E©IÛG©š–CË£ð/~à__¼›ìFŽOýõ8ùÝö­ÔžÊkw¸Ù¾à'sõ4¶zÁ ì¼«”ÈéÐï‹ä8ZŸÇ>
o¤xÔãá~Šå+½± ¶0¤¿üÀÝÁ‘(­«,Z%?»Ž‡ŒÎ‚°ÃÙd¾Ó hû^U¸ö^_Úí–“´B'‚Z¡êåþÀžç>©!²bªƒÀâs¤ðêç€*ËlæßžDÁ_¯Íé™_k»å
-/rS°æMFl¡9!šßï!é¤Š>8�Ìµjµ6/„êN×H‡//êí€]cm¡’íNÚâZE’[Ò¼´$Jû´zÕA–‹5c#]6¸c6ÞLîÙ8ÂU Aì“÷œý¥óÖS_Õ9ÆädŸ.ƒ»!Ùy	ÕcÅãR/=Q—è¼�ÅœÉŽmG!ñ'{ôN·Þ0ëcG`»´§Ð† �ÛQŸ½µö ùj*ùi®94åJCk‡Ý†ÖMÐÝ4 vªS+ªÏšËr	»³šÅTŒZ‰ïeéÁ‡|Wi±•þ‹ø·øÝå¯‘%V®ó%¼ïo´�¸¬ê�
×m÷‰ãüáô„‰™oPD»0!ûÀºåw[±4ÄšG_ž5NÀuS7a_©9ÅÐªeoPeãÞ;»Jý,—*þ<A+ë65«´�÷¶êŒ]§È»ô¼_º¥ÝÑß¿åŸñ€zÿ�Ê÷üÑ™X…ƒøjÂÛÙ°–¬;»¼Ïœ©‹‘Å0ÂYß“Sp·"Ö†¶²;ê^>Å~[ZÒhƒt¬F}¹pµZÍä«MÜÙ—�¬–â‚l•‚/§$)è…F9Wúõ¼Ýß
óT¡¾Ê—÷³ÝIòÃµ¸Ü�ø"B­’ãå‚­ý�ºÒ’¼WiB
-À¦y¤"V?t�_ã›<)O�¸Of@L›³®;'‰¶¤ì°ù‰ZÕk@d¹XEh¦ƒò®ÅQ¥!´à‹ãÂT*ä¯íCÞÙ Ì‘�	µ‹é|zé�Eø¤Z†Xõ»ÝÓßÃžàÃ~¯à0ƒ!üÁ¬4x£´#ˆjÆ-æFÌÎûÇøïGûQòâ4[vÝ³4i÷,gÐ@ SmPX­ô2ƒJñxŸtÓÎ¤�,zp6æ?·>äG"×­�c ¹£³¯ÛÁéÇ-0D_ßv|…ýn´½÷3µ—©-jŽÙ/úàçöƒAË—Îg…¯?ÅM=û×ö­dYŒP‹Ëf6¾Í[É=!êPêV6(Ñ(*šTBÎ8^ÌÓÅl)ô�V-'.�øtÅ" ¯«™¸vÉ0¬|][4Ã“È´ö¾®­þÜù�pyeZg•ï½tÓ_—ù{œƒ)þA’6‚S’®@#I§qÖ™,é˜$¯fx\’d4{ex’d<igðFI2é2D1C˜½™¬˜_w”$¿¾­ôõmÝ8I¦90š}pÊ×3ÜzI2Ãæ.Û$™÷Íò=Ãç�àŽÿŽÕªœü?‘¤ûÂù»§÷Õ<'©WÈ$Oz¦‘Ì~G¸v¦qðÈàæ3�X3ƒ1ÌäU©œ�ÁÉÞGæ�½ì®H>»2yÎn�Œ?™¸zö±é¼šáüÝ›Ìjd"¶›·S-P½¼NÍvøÊ¥èi¢@øEô_HÞUÂJÞôÌÌ09'o¨öÕúÎª·9ð“ä½O’äø@¾W¡;�Lè~�É¾>ø˜Ï fo`sYC°hvW’�	Õo™ÐkLd®WH†�y5V¡�;.C9Œ{åÓÉþY*ï­ÍZ~tM.QÄ™V]|‹Gxj‘¼E&úÙfB?#y«=ƒá%ï-’éÄ$Io›z’î½$]4È"—!Ù'ÃGE�5µâI�ò~àò¥è5ãW¡ýÌ=­G¾ð\ê½úÃÍ“ÝcÇ�Ú2›,¦„yåØE‰î1c¥÷A¼OüQk™ø`HÄ�|ŠŠ•|xÏúúÉïœáe'Ÿ„~&ó{PÆ"­%ŸrKÞ�5™€þŽ~�™5ÿ*ÜNûgùãh–ÎÕ±Šñg4ŠZü<	ÃÖQU.ÏlÝ
vÐ½'<:þ�ïrëÀùj7Pn§yíê™"_cðq¯Ö;u¹e�¸�²ÿA¦+²S �S€DN)ð�½¬TÞ)˜[”¾—;Éx³Æ_‹Eûwô™GkáBqßÞ;{x¼§(}¾O¢ëkÈÎ÷Ç÷ëëftüÏm–Cò7äÔ®xËÆ´ã•îêèÊtÖ]Mñãe³‘<ëb{0ä?–¢á©ELZÙÌojÆ'þƒèU3¡�ñ9³U'Í5ÿ9Ûú~]-�¯>údÌuúË‰¯éÄâf$Û�g—´ƒWÞÞOW&Žl—/FYë»Í^¬”8�C-çHóIÉŽ¦ihc`½cˆ²Føâ`æ¡Ýå\lú/ƒ¢"ðä>-àToÐ©~»�ã?È.ìTÔsš[¡—_ì§C!)„OŽX×ÂÞ~Uõu9hyöYï»·—4¹ö‘q¤çY´eÄU¬Ï20¬Ñãíš§ÞÛ7§Hóu6—�Ï¹èö`Ã‘„ºQItìtUÀé|j€Aoç
Kë–^‘º“:¹cr{G™¿¿•ÏÇHÿ 7';Íõ?f
-Ñ®ŸÂ¥åû{$'òbT´î@ÎGz—Ï•ãñ‚ó¼‡íØ’þÈ<]N‹³_×†ó¹îŒ*�h'Îû˜ú½•»êmµhÑ�µ®1Õ×Œ+©}[nôI‡/’W´ÁÍ��q9”ƒË&™;”‚°¿µÏü[ü‹4‡„fš{Í/™Æf˜œûôU/âèa±Oÿ<èÞ¯«h:.„LÃ×�Ëœš9�Ô"Ë¢5¬|ÔA/:ù¥	±³Ys7eÂ²áOßr¡ÍäVdÔe,êí/É�Ú×þq·rGw)¨>RG6áíc(ç¶�¶üAšÛ·œo·6÷ñC¸²YËòðªæ];Œ|½™ðÁ9|`Ïœëlzº½Ò²&Mgèñ-Eo=æ
-¼WraÿÞ–XÙ»ã‚±g«ww[÷ß\ÅR H9	Í¹•íc¢[i°œÿÀb|¼ïDZÜ„·—|„QÉ	`�‚�Bë~«2x±çrä›b÷ä5–ÚÑí®»K¿zÜZHÿ`�Eï¥í
9ŽÁr�ËsG*œÜ×Q”Ùµú­�$(è~ûqmÛ#GÙºœg¯"¾"áS²3!Ì³ äê­ö†\³ãM¾Šë¹´u×Å~)åd…ð”5ƒ¿Èýâçÿ¼þÚôÞ×¾{†r'¹U÷UÃÝ²[Õ!Æ��
{kÃÓë'ÃráQ›f�ÿâT÷Ü~„I"éÛ][œ‹r�æ²ôh*#‡“7§êZÿ�7ù•h­Í¦é¯‹‚ÿâ�n	æ+ûa}u¨ÃU]-®8ì:ÜºÆ¤\ëææ3y6äíÜ|�e?™/öñi‰Öõ gç½˜©?°už¹û³[OVú7•TO)l†Ÿ½ê%i;ÊµÄluÂ…1��›éèN­}cÅ;Šµå+C^q½‹±Ê3—[HÄµA`ErSa»ù¨Çì–Cæfúå�A'×ã‹N^hž–÷ÿúƒïÓ„ûÓo¾C¿¤®mW_g[×Í¬ Âî\TNÃ»ô^9?éË�e‘×®óâóÛ�ž4¾'èNúÝµE]žN—³Uƒ-ÓÜÚ„y6à]±—UfwnZL>»Ó²³Mi j(õVC)¨µY,§¤,§Ûg´œêk(Ã)ÿô/~àß"…ÛX&
-z½ÕªœsÁë—³5¿55ÃçØ½¾ƒw«ã©mdi›ûÖùõØ&
-tùT^ÛóR›¯M7nÃ¼Gl÷s˜1}�¤é¡�ò”VÁ÷?0qóÓÒhÜ%²qŸ‹Å3Í/ý^¢(ÇñŒ{Ö¤Ù
-Bü™G{ÀÌc�ü¼zi@ðÛ5ƒ1óq½æž¾8#Ù2MºUÐNá�Ì®¢
[ôJYwþÐh§'éù±î¢JuÞ³­x÷ƒ4¸ÀZb,v{´òM¨Éò³X"‰Ì,JÑZ˜3˜¬Ì¼ƒiÎŸç}z×ÐÏ´¯+ävâ“×…ÚüÀ“—K¸$†VßäVØÀ_€ð}ì‘Ü§qruÇ®óëÏŸ9Öõl
-Ù«=åå*»ev[xÜ*ÕÍU˜ž
-ñšfÄüj�¦Y–Äî@¢CŠö€‚ƒ"± ò»éì†U—Ó ðZ‘�ÊkGbÓT›ìíª;~£t<&vVa6«ÝÑDP™ÑDÕí‘,_cpñ†Æ„Uÿ ‹Ç*âé/çOï’TÚk1Ù˜Æ&ëšÂ¶ŠµïòûÍ°9—-b/N{SJâß8/@®Ëy%fHbMêDëYN�æ†3�ÉG`Í&‡é’�ÀÎ÷Ûäur¢Œ`scóÒ%$
-nÚ¬Ö–ïíÅ°TNC
-ŸCûÀçˆB|þ zîÿVÏQ€cÒ·•uÚr�“ª%uYf‚ÆúÞa[x&ê¹XØØ(hð·¶}ç¢OïÍ¤w¡!³Y[–V|{Þ Ÿýi·Ö%&ÃœBŽHœÅ¹Ë
)5Øá×ZÍÀÙÛêŽ×ùøíY}°K³Á:—Ïæ±�?
-¿Ûüàu‘ø‹èôn^2oöIN/çÆgbéëfÏëÖ×TnÛQÓž
-…TâÖõº~\	Œteãú‹Ö;´´Kåò<÷ÞBkº]_»¯FFc3^à÷çD�¬÷gaÐÆa­W^?*AŸ¾xYUû]¶šM\ñ˜Á
úÝYíÝ�Á_Ü
¶ågñ˜pÞ?:âÌÑFD`*Ô¥¢îÑk{+˜iº®ë•yV¡›ð#‹É­r!U$ÅÏ¢Ž�È­PµÉ[;5Ç°XÂˆòr…ãÙ‚:tºÁ²¿=ÀÂ×ƒÅ'j/.^®Ù"ßM3xÕÞ€¥ÇØ»�+Ø‰},}ÒÄ_øåuñî|žÓ›Y«yW=öˆ‹J>¶Ì1èi—5ãn}½“Y<¶êÎU‚®®<¡�*uN×E£ÝÌºÍH‘^aLfA½ªmœw·½þ³Ôõ¸<ïáó�e	„‚}J%;F»I¥R„å‡CW·kYtÑÍ,îêóú�?�=½·oFÀ{7í³ZzÇRïq9´ÏuC¬îa½šÞx�qÊ:µKfÃíæw|ža5äF%ÏÀb6*	ú³+âë7Rë¿zZ§'GŽ©·‰�y�Ã 6°ëmeø<ºS�+t‘iGÍô±EÂò‚.¨Ë-å”Ç¸ý‚˜.Ø¸glO4|õ,}¥š‚ÞãG¶8{´¾s¬èBÐ'æ�¶ìÏz-�!ß¯Ë~¢Êydo°ÛðÆ»O¼ã-€þÀ}å{àB«vÏµM§[˜ï‡¨ÝJ—è2êg­ŸŽŽ–%ôÞq{f®Ã¤s¬Ã¡SYVÛ{¦A{Åy÷?ø}�`>èt	�ËÑ*<èKGu6nR:r¸¤¯¨Ê‘&`òs¼µÆ¦¢F4ù 	n	îððv3ý*ëöTªbyÓIP‡Q Î•ß—;õÐj·ý-BdX3í5öÜ·[	é´Bù‘´DBj¶D”a›Ï©§5¥7rý�›’•^ÿÀt—ôãÔ/!ÕXÝŸJíº}î{Ì;çéÓæÅñEa¦�ŸGHu2™>tØ)žÊƒÁÀÄúŠSYô&«â+t>
-Ê¬ÕóÜibk¯ÝÁ¹Gk«î�f]JÍý¹ÔÉ Nšƒù‡o¼K”ÖP.ï A°z¹"«y}Ò‰ä:t­Ú5£÷²þàwÿ¼¦MJñ‘*é|ÛXÊÂ¸û¦Ñ[›@MK�¯pS»ŒGŒuîpH®v)YËwZç}½-¶¢õÜ6è¦Œ#›†:F”FÎh[õia|¯çƒÓ»fŠP©¶èNÑZ	zfqrÕ9ÏwÕj1¸T®	ªpì†,ûëH*¯AÄ(·˜è/~ŽQç0È>š~þ1•é îq©éÿ˜Êû”£ÆT• pÉ¡?p/¤k�õv‹4��ÖÊ$UnC©Vá�G¿°µy¹ã|)Ë<Ž%‰œR¯¼xc×+ñ~·[x§UQ#Ñ¯ñÉ7oXþ¬n6ù3}×òçn”µËoñ/4XÛä”+>�ö;ËøˆKèþ�©ÜÀ”¹4.®'sþ5ŠåxØ;Im(Hµ©¨R³;Xiµïb×óÅáùÐ.hEÿ�£Ìä®òË"v€™êÌ„Vƒý=w?¾s¹NuÙ·`	ìÅ±j¹ÔÑ0@à-ÐOWæ©x›?ˆ^ÚÎÚYˆÑa?·,‚=�ŒÓÅyibö†Ì0²mç´ÙX´šï¹R©ÙVŒTZ2™+Ê+÷�”	äí�ªÁ¬A¶!Þ&9”CG@Ò©Ï\Ÿ¯3*€Ÿ&7ß=²ÌÀ÷Û.€ómÀçá	À‡Rà…8µ‘þ@^;KDÒØÕgÓÈ�Õù†½±Xùg¿w{o,û0 �ÐæîÔmQ£FåÒ\\šî'oMG	të´Òœr¸ci�×ý¯	:ýš 'vr£ó¯kû8|p�a·f°²ßb4{•ï¡çöGÅdéëŽfÅ/vÊæ	µ½ýâŽšì-×å�>…šu‰ØLJ\bfh«[6G~µS«&µÒ«Í#èèðåŽ§¹¿‹€ø£¾2Iðÿü^%+þÃìzmµ�	Í%óÜ×cÖ¾Û‚£¯e[ÎÔBDqõ¿óÿE’(Ô.I¬ù6I–­M’¨��ÚEâf$Éˆ¸gÀ$ß�¶V?I&�¯ÁÈ­2˜Ù'Ÿ¯o‹~wÛRn†c�!øº¶Å¯k;*f8¶‰‡ñ‡êÐ±ZQÙ*[r²ØR­ÒÑÿ±gGÞ:þ/$)rØ'iC’’$¥ÄL\1»<�_Ù§Laç–Áúd
-;•J7Ó…�¦Ì÷^&ê×`~~}ÛJövräd²Ï�ö#‘ó�wüY$P<rs¥8Çâ�éK“W~®Ÿfg¢f°Ü¼Úù#
-þŠÒåþ‹ø·HRÎ>$éNß&i–Ü&É½·úßj=ª™Æò5Ã×·¾>øêëƒ¿¾>xÿk/‹ë×¬IÈœšàfþ«¥¼�.uïuªÕƒø•ç[¯§Ùš‚Ï¢(–ÔëÚ�®x}žá¸�ØÏûÕµÚ%ô'°®¡ØÂÙÙÄÂáü/’wî}HÞãB†Êã«•Z%©«I:¨ý:ð‘ÕÎ1ë!É(†¿†}=Ãe�àÆ+‘Šõ:u¡Õ‹|U…§9hìŸów_}8£þéAç¦vt�.¼ˆCv�Ð_^À°u…ªAÈqÃMŸÜ}Gµ?°Ÿæ¨³ô{çÛøÞ:ß MÑøƒä­bJò;Ròv
-›Ø.y,+y_  yOY‡ˆ'p¢à›jí'Í"ÌzÏÒn9zT­U¶¾D+BcÃ»{ÂNÝÛ‘ÿ:Xûuº¿ˆsßë}ßçÇO_ñ5È'6Pã¦ƒÜÄ›ù'þJ•>ª[Ïç�?÷­K«hZNàÈ¦#Ðëó¿øúÉ­¥œ|øå6Á§œª)Ð£¯)�?ÅÉG¾C1yX!ÏJ³PŠx6®‡h)è½8¼ã‹ÂÔ?Fæv‚;ü�<O$ÏÌþž77úÕén­+
yßhü:‹žn=,ç.ë.Q½´¡;a?ÃÒÊ’½±jÍõÅCç|z–¬ót˜g¤îÿ"ùÜ´C
-`†˜.²KAB=§ U¼§ Š¿_Öö{Ú|toxŸ`gR�¯ž[…ÛTì5¼Òï^«Â|ä6NÔü²i¬)GÁÁÀãÎ~}wúêÁÙRä÷Õ"ˆZdj.	˜p]*Ÿ�;Ø7lpÆžÜ¼¢è·’eÿÀz“Qms[ÚZgŽ™�ÌkŸ‚`UJÁÔQÓÜjtIs{=Šç§Þ3ÆPpW’Zp+¤‡{C8àÒ‘¸ï?¼Šmë­©¸ÞNYÌo’-‡>ŸÕp}.BáÖÈú¹lTZEãÄŠçTïâw�7øT§‚&8•®ú¬
-ËcÒÊ§ÛÊhºò		.2iÙŽœ_í‘‚åöá{~²%+iÎè�S¨«»¯K½<Öš|¹«ÄÄð¨=yº÷¼oã‡kj’žQ8�FãtåìT¿{c}M¼Z¨§¬ÖE€�ºÛ {µßikGYêšÇï—ÿÀŠ*‹/*y°|rÛ-©Ë³ÃbSÙïiidí®ÉÜÛq2îîÃÖå¾
-¿µX9¥m_›…¨Þ'ý&[Â,íÑtž¾tõ�ü[Ï9Æ¥Ùxé÷úÒÄ(¨ªýó­sTŠ1®hÕ`¬Œã2-xy%#jM<Xã�|(ÄiYmÝ}50¢�'¼�]ã…Õ¤Í@m#µ½ÝbÐÎ_F˜õdqPP¯¿R[¼ü‹4×xê)Tìçj—;ûçþLôØIÀ»Â¸E]0‚›Z“h',Ôµ´GÏ�ïñQ&t± Ÿúa)±=³ËY¾ï¥Åén¥ ´€½µÔaÉÝöQçÕ-¶–L1nßîâþQ~ïYß`g²ÞLô»±�§m}Fþzf!Þ×ñu–Ï_—1‹ùPðöÞµCH.úÑ×öÇJ(K7K#ãÚjl´ç2Ò�*ÀÜä9õˆ÷®"Â;¾7­J�¨ÝÞJX·/Æ‡áX|Æsá­rœ0‚Ö‚êaCœLˆýÉ®²žWëÏuÁ ó<UðQ¾ìðÜŠ­�Úª3w;¬ü/n_xÿ"Íy#óÅ#Û7s‘r]KÄÞzÂÆB¤+}¦é×Hw£=Eù�eó†]ö\ÿIb½
ŠI×*Ÿ¦Rr•UgCN™Áúlm&ëby»äm×Xñ•úe»rýT]Õ;%›»=¦×ê)96HKm%TŠyæF*#�\/Ã;[+™Þ4ðþà·ÍÃ˜¡µÝ÷Ž——Ü9Øp�ÎŒ|bNí·6R‚X(³ödw¨†°)EK!ÓÖ'rï%¼6§p‰w†�æêŠÙÝ,ß¯ógœó[Á”k‰1Í†XY`ÑCóÀ<ñ¥ÉôTåNËÐýCãg¢N©ÅûŒ]v
-•c‹.•“æÁþ·ñ}šàÇóT÷¸û]û�åR8˜öh.ÍHfµCn;>ÂØ{rpka·yÞôí€ì]…IÕ|®Ïê‡¯m„óoó*:½6ó4ŠÓ{	:9¢sz˜Ã9J�Î·Ô9êËÓ2ÈÆþ2-'‹Eƒ*/ŠAa<§Qk?§»SgN��û·?H
¼ÝO­ñéÚ
ÍÖ1X>³\OÔŸ0Çª£þj"S-�Ø·
-öJê5t5• \q6…Ù.àk
 á6±]§R¢Ó¾S§�òºMAùio9]Ð“…yYS‹RMÝÌ�Ûó8¯¶‹öŒÛ’Ï©Ÿ�i{Ø�ðÉÔ¬i›ê_d™Å·ðþÅ‹±Ù‹o:Ó³‹±šnÍgYÆ§èVKxš;æ7KòPÏûÒåñCP‡Í9üœy×^û\°~½Xì@�´r
-
-r‡¥……ÝÑù¥ë¡3¯©
f
ÁšN×Ïˆ#£$‘Ýc×˜¼Fr0éŸÒÜX)ÐÝñÐAù±R*c¥½÷ÇéÚ¸}áý‹è±öÏ7Úk—�¿ÕMÊv³Ùò$.[’úù,VJ	œMwáª‚n‡H}!LëqMW}}Å?‡.+].!ýoj’šÐbéW3ïµ-O7Â In¹6Ù/ãqê6©1QŸ#m½UG“všµ>aHý7�$—æÐRD†@Þ”FÌpðJ‡¦÷Åõ_„‡‹cz«Aõìä€¥~æP[ÑwnQú5•^�˜Iýe‚ŠP;$7¥y²á3õøsÝFÃbäÉåN�º�xá€Âg^o#ùiç=+Nõ¸6&4©=‚q²OÌT~:´!}5\žÁÃ°<Ÿ98ãX/¼ÆLjƒ[½ºÀk»ŠŠ3OÝÍà^qýÎ–¿Å/urµ¯»dÚÿ]ï¹ *´-j>A=*&TÉ¨HÉÁ€˜0'Ô÷o¬µ÷­Ó§oÿX–U«¤É_
'Å~wé‹e8{Ù°–¬îžbz`v‚M$Pa´1nGWCq‡¯Iu©°Ëè ‰nã6qÚ‹7ñk¾ï×è›
endstream
endobj
113 0 obj
<</Length 65536>>stream
-ïìjÙh\«S+TF–>¬CZ“—�Ô1u~Ìî”á…u
-<eøŸ€2²ó8ƒ¶¥Î'o÷‡ïÅ›™/¬â�Öšÿ6}Ïr0’ýó†sÙtÓ•&1ºµpQ¥ÜTf7`&­6“í`¼OüU<8*z,ëÐ`WÎ+L2%´N1êbÔº–�Lä}±4É{D,IGˆ®? I!ý
-‘^›‘nï.‘Î{«ê†HíÁúÇêeºÝ„Çm¼ÜWÐhîál
-ÆXèÃeÑ²½YWÑUBÄF·Å¬9|ßö¬2÷_c¹üÜfÛ"6B, »sÂÑ3æÂö�Å³»:Ñyf¿œi´À@þÆÚ¤‹1IÝí‘U&Òœ…Ñ­¸%Øò=|Æm|FªK|«?ü€¿‹ßÏx¬ùj´Š&lc9»ë(ØðÔCÖºkMûÒHÓA‡~&RCŽ;4))�‰48*‚!`k(ä˜x¾bçOì�¥¿‹+sØÕS«,sä3R+?ÙèšD/o�Dnqæ‰\ÔÕñ¹°šâBpðr±åÐ¡±%Ç™˜�ÎXY—XY´£?ìÈ¾�·Y¿ ¢Æj:¿íb?™‘çQÓ³=fFàD×Úv±¯ðs¡)6Ç^C¸bç.ï–sCàv6ËÏÔl·O¿Ó5œÌ�Ãõ+é+«”`[ˆ/ä°†“†ÅãF/ƒ«b"Rð°Êe´E7Våó¢
-q!ÐÚÑÐÚIg¶“öyÞV¯ëÙ~?:±l1Övö)76¡È�7Þ©ÏÅö+ñ§T‘&£g±&HÛTjónR,öûó<Â
-1Éö¤-7ú;‡JÅfP>)wÎÇd(ìñÈ]]°U½0(.¡C„3i´QÞ‹íý7Ûc%ŽÛ­F/ENqE&�åioßnëÚÿYnYÝ>’…­L’YþÜÝÃâ;qo º±ú'}¦k¸`ª½vE5qŒ÷çñ§Ü…•&È\Z,Bß{N�ò^ŠDöæ¬A;U“£ýUÃhÛÖÑ¹”ö¯1ÖP	Áä!’áÅ¶îu~Ü²÷—i‹Ô´k3­’pÓ³Î"üŽs&2o‘›ý‡eky:Ì>‘uWòðì·&àÑaygÈvg6&Ã²ñ*w3¢O°Õ\¢¥Í‡ˆªõ.>ûulË¸$ºg¾=)�‡¾ '-·$Í—4Ž›�]phê+…g”PÉpÅáBˆ�›š
þÁìê+¦XþëâfÎÖ«ø[«möO£¦kýrs:O#:ºÃûäæÚóÜÙ*ºµ­v™^Ãá"uQ_°<WPrxç¤m *—‹rè¡5¹¶`wnöH¸ð6s©
-ÃE@#ƒ~Ø¯¯—k¥^kçìÚîJÌjªe%5˜x¤Ð!íW!¤³¢ª—5¬bÜqQ±WP!±]!óK¥ìQÞ¨LŸdõ³Qxü€¡ô~¤Þ¥4~Øle~šŒlõÿ‘ÊAˆÑô~árGÊ!ö]ºÃ|#<Öšü}[yØñ±üŠÓw¹ÕËe`'"¥™�ôJ…W^)FAÏþ‹‚´[�Ò¼²Y¹Ð€d~ŸÇùV«¹ÍM”B-wšnú¹“òQr'ö.ÿaZöêï Kt>Žoÿ¤ò˜�ÿt*Ó/±Ðídw1²·‰AR­¶Í”kºè£^¿ç*!]’Ò¼�¯
-»s´Ì]šãM›¬nÀ+rÑ‡2¹vò1ÒòY\¸~TQnT©ÁgxU>¦? @U.4@UÕQ†¹ù‡ Aè¼ëÁÛ\ááE#ÚÊZY—Zþ€¸ßÇìúñÌ�)"ÍfûJXåf¿9j‡Êî^%ËÌ¥4?N÷`Í+d•xÎä…@—Üu†ý ÞÕ'@�…lõç} +
-ÐÄhý¹è‰t(Ð=­Oz“îz»ÈÞÛi€¾ç†ðLç�³"zfõÊÝ÷¿Ryp»ôÌþàX—;8±dIËãíëöQoö#°X;Äè§â½å{‰‡?—ÂÈÃ“î+€:
c€Ž
-€a•Ààü5ƒó˜ú£0�Nûë“‰»0ö:˜{p:©tÀo[pãîX;
-.d@°gœôž´dæ¬ÎÕ•hÖW¼ùZÇ|�¤ÐW;(zÒ±f±.eÙEíÈ…ÅJ§5ÅUþ–?iüø}%=º&í¼öÿÂëTÒÏÿÛà~Ñ.þ×Ú"Y\èÁ:Ø$‹§Ëÿí°5Ç¿³7äÃï4»ñÒ´[ûÅ¢úÅðûå÷£}[W¿‚‘þ
-ÆíW0•¯	m§i¿Ðýv„Jß™¾‚ñâ~=èüëA×¿Ý¶¿&tyMýbö‚‰Ó\Ê¬°êó#©íçÚõžÓZ_ö’Sôìí©Ó?/›‹�wnß~;YÿÒtgaŠ9M;wñ»–Î' ‹Œ2Ìý,ÆÖ&Ãì‘ÅØø6ÚN¾ý«æÛ,dÐG_j§>xžŸÁ}þìmîñ3¯|¶�E£r|pìþ(jÜ'Ã¢r�Ûyô¼®Úà>¸•�{Å–â«ãMN­Ã­æ÷×¤ÓO®#€Øý!M_Lè©’'&\æÝÚwÏN!˜íòÞä’—Ëg�êßma÷ä·#¸Ÿ2Ë¶”EÖ=¸}I¿Ç­’u¯%ï¶ÁêÓ›|Ç—·šÃï®	¥Ÿ¯ê+~]á°T¹{#â¢ç?òE/ÈÎ‰æ‹r[kÑÉ©1óðwñ‡ô5ÒÆé‹g¤ôUÊ÷ÓTOØ4
°o ¿FüÛÂÜ¾üôÎ"¤³ã'ô[�E�Àîq“`n´Å^®°Éd–SÀó¥_ÖÏ&Ø²ÏØ²žîƒáòDn¬ä˜*§ÇÑoÐ•#sX‘‡�Þ”ÓöÈÜ/ÖÞ½º™ÄLÁø_Hßµµ–ÁÓ×é¥¯Dçî­ôåBAú*£Ë4
¥ý³·jœî1>nò5\Õg±tÑ>ÅúùÂÖÚ§»�Ç�©t§ŽÌîÞ=Lá;wè�òÒ!Ÿ�Y{î†˜ûâ\�&1·Û%•S#-wJ7lìêÝßœxW[_'C}mu%}MäºúÊU[ÚÒ÷ú=Nßçƒ˜½š÷ÓÓgˆ‚ôý¹Æiˆ?’ûêí®{-LÎ×H»œÜÞw¾¾c02‡ÙÄ¬î#[‡÷¥ÔD©c’»íÖïî†Ã˜ßÀûp;Ž‹“Í¹�xtÆEëÛpy\Ç"°òD¯÷úO~Éé
=Š�†UØ§±Ø“…ì†zVW~¿È‚‚†éGkˆ/_€]°^€JMÓé‘]Ýk÷îò‚iêâø~çãC±xÜ%ëëý¶ƒµË{‹Ì€ÒÆlÔk‡©·Wé¦M­|¥Ó‹?^øc–•¸Pö'KÞˆÝ(¾çQU¨íÛ²úZÔåž7]¦?k‡š6µò†>øžº%Ì^R^ÿCúyJê õëD�Wn¢;)¨òYž|º3ïü°ë°XéF¢èÛö¨ÕÚÅÙË
-XãiæpYnë‘4#‹]Î"
ÎíÌð–Ÿ·ô­4;·ãjÖôÆQó)‹ÛÐ«.!½kCY-Ö=:]Þ¾�¼%Wt½òòh»kfjºÒÇ4þð¬“þ/Æ|éèßa%ÒÎ)ló§°_ì„ÕÛµWyM¯;æJ³8’ÉÉaW'Y3G/7Ã¯<µ7ËF˜Ö×hèíÏTð¡ßl~Êƒ ÏBCQ 
¿8†^ÜŠÖ^Åx]]ùÑ/;	}eì#ÛTm$]ë"°®e¼›¶……%ë?àïâ•C)ëk¿³¯€y*TµÁ~[¾³»ã©Jl/à°½úŒ‡ü²²jó£öœÍ°Ça¦ëÃ5˜:‡w�Ý‹~)w�¼x‘oyÕfw•I­ãÖQŒû�‘MJN“Ót[�=Ïn‹·Ø2wÐÉÂU4�H/h24:êÞ�L�‘÷…;ÉjsçÙ‘9)÷úLÏ�Ec´ß�†²CG~C«õ�s¸µ–Õ¤ÑŸ£àa¾\Ù
-¼òVÝÊÑ‚Ÿ‡³K9û4,”ìö³^·®Õ¶ðEš�©Ø3éBV÷½"_5ºå�m›ü|’eØÉ¤°_z–>g÷}m¥Ì%Mj4œñVƒü/¼,íÎ¹xåNï¦ÏJöQX5ôÝù£ª&ØâåçÄ,¡àÏ�êœ	ßoè/{ˆíîÚÉÂiifbÝêüõÛÓ[¦^&-wóF�U#×”àI"µ' jÑº`}½LîeMò
ê¶Ãñp.nÇ
î˜ŽÆ+¾5jÉEQ�$²­¢#/ü"Þšš÷‡ï\ÐBqz¡Þ3óPƒÆ–*p£¯úb”<¶Ýù…›SFC° èöD7¡ò¦mô©ù|T×FZ'Ùù×Àø­­û¨AK£:Þ
æÍqc³ÆGåÖýG­Cn ž5t¬¢![·­†ÄþuSžšUWèk›—ß³Ä’C®8ý"�Câãý!]Œ±Å9'¯œä¨6¬
 pZ\=úòbBoÙé«m#ÙUÉ÷.-¯Ž¦}û
-,ÆfzéxF>ØFú înµZ¿|Ã­s–w@='—¢Š5ïµáí\lI¬F)Ï;ÓWJÊaàYr¯û^Jóq‘Š¥uE\†ûŠ¥jˆ•º~|áÿáQç¦á©˜ßz;3.Û«ÈÀ´èP5•9aDýpfÙ¨·¥Ìº3�ýŽåæÐ`÷%Kçîlœl¡ÕHo-÷? Š%òuHØSñsxNþ�í²Üó©†´XLâffOŒÁ©(Vc°©"³Am¨õð)òÇªÁðGTÐ3œÂ×àÿ×«õý[ÒaÓ²p.O;^ç}q¶ôáô½°ú�pÐ0w<a«Ö³ÊRf¡ÄI¹”�hõtŒ&…w4|ÔÔ­âµ“Ì6â«ÄWÌTRn°ÆÕAmmµ„DÞÒ? 'ž×[Õ1w1XŸÃîÓ]ÿî¶�>ù¾P}òŽúÐò3~ßéô½?\ž`Óß'�ëÿ6}/w#xòO*ç›Î¯UdÜ¾©Õ¬z5C¢„M–l�ÓvÝÕhtnw• 3%q+¹`QÜð§A�nBÝ¿xÝ¾•8SßÕ8Ía}Çnô²<§¯°�Žëô¦³ÇªÇrJÚ]¬ªíŸáØ+”m·Whíü;¾ýœß^;LN�¬ûÑÎ‰¯š1K¼ƒ1ïÁS•´<ïU6ŠåYS¯Q«îX³]Eµ‡
Cyó@¥ÚB”4'Ë“…}TÝótuåð£ôd_Ù˜Âv–H¥7«ô�^AQ™.¿Ÿ‹Ý’V¶:âEXvªæãÁ(O«ÉlISf¶TÅîTÎÿÂýÃ9�à³�EJ_C2h­ÝÅ%`¦Ÿ;
-ªÐPpÛu™2óJTÒå;
��Ò�Rï"!™eN“çwÏ×óülÐ¸è1o”»þ“œœØî°|ï�åÝ»[Î/Š�êkZg¶Á�Èª×Fæè}bëôxÎ©Óyx¡&&Z§&VU N×�E· ¼÷…ó‡c¬4ç[7ÂX—Þ‡*Ö”�Šš?Ì¹’ƒG*3‰£ ¬5›`éë“É2:ôgeVÉ¿Ïª$6Us0Ó€¿à£¨ŸB×
Ûë‡îr|»t D{2�•X [s¶J�9¥Œâ‡¥Ð“<&o“Û”´1éD�F•xº/Ž$Žñf‹Ä%‰elÿá DÕÅ¦t§K8±½9eíP¨óº7V-Ùz½½Ë#«:Ï
;—V
-Ñ�‘¤|(
ö(£m-õ8JàgìÔ¾Æ?`7ÒÛNm}>ÑÚkp£Œó!ï¤R!IßGˆ¬ºé~Ž~-L29àŸ1]Æ§ ‡‡]Ëªô…õ¿°o¾ÑºØhM£6ed™Ò¬WÜ@ŠDÃ5à™juß^_kÉAm„�,¸dU‚d•J2/ ¬r4›ìÌ ü^éxZtêKbEOò‡„Â'Ú…¤lõMøG³Hí&€.É|l.”qv9x�¶XT
-Øâƒw0ÞœŽ°R=6°Ra:ùÃŽ˜ï£X©ä¦üd‡Ó~\ó}UÐmÇŽ£±É…KaŒaû¦Â1j^„¡8—]/çcÚäm;ÏôßŸã€åh}Ü]�ªV§±�´Q¡#òIÖDp³ø,5îxßOò8Ø­Õ±eN%1a~°2ß5Ñué£ër”C¥©B£~¶·ûtò¶‡ÂFûÃ&Œ£å²©äæ³7jÏÂJµzÚÛtm_ÜO±w�F÷
EÈ•‹Wâï>rï�r?ÑÑ^ìŽz]ëHÌQi4v°,Ò¯·²«’è­ž^äælïÎè¦ú|¡ò.;½kª×Fk#ˆm'MKk«çzÔ†�Ë9Ö}ÑÜ�„ Hq„ åÏÿÀ*¶¬xq}”—Ó¹m/‚ÚË*>×\Ç¡5«>,}Ï/e5À³ô|\°+`U½jb¦�ýdUeNö¥­Î¾GQOW$³?Æù7hbU{ç£uµG×Ý¶Ý´Ë7äD²ÛHºn í ‘åcÙb5l]{TØ²
-ù{ÇHÓÙù&ÅÖ”&…ÿ–ãJ7þ7åIÌ­W~ÓÄŽ+çf¹±·5t2A¡Ó î²Î
-OäÍ ×ë!»*ß›mJæöï2Á!
/?Êº›œ¹öÁÞ)ˆÑ¶õÖÍš{-â¹[4Ÿ~yßô:Â3Ã­Òdr4¿çÛÜ}5m8Ü��yÍ¯5ún¾Û[¡­îüø»øÅâ¦HÛY>lí%½í<´ooíœ“D“Ægæ¨ï”S¤Ý½ÔáÙntÏQ~ãqÆt·ÛUïŒ˜ÃÐº§•j‹jÃíf‡¨ÑðÔÃ²µÀù7jð¬f7J…Ý¼/¡}]Œ_õjåY«)Ã.]«7ch$ŽVP3Ç–ª:ìUÄŸv«ˆîüükú^aÝ£?^•�Ž7PwfÕ?àø.ôm%îåÙe`uÆŒ€ÁoV—ööÖMà=�Ö¡.Õ†;ç\k¨—4>ÊÕ3ÚlV'7‘®¢öB¨Xée\!VLXö /)Ó‹Ü»–dø,å¤'Wì'nFoöFëGŒ¦M
-ŒÌ*ù‡ß™D‚a2¼º·x¶¸=¼ÕÛ0UÅõD<ÕôÇ^Zd·y¸Ô~¥2Ö¬kóm
6ÙqY/ÌyÕxn½ÒThØ`µ¸óŠ®Yô—üH5€|>@¹ã©EäôÉDÈµÑ—	˜¿pêžxËl8Ò“¼Jdïå Àn$ÃžþÅø»!cõðÞ}ÚSfù©ÜYýÿ!•]¥Þc¾Š×€.ÐJ›�KcðA¶P£rg³
-A	zZ¹‰…ŒBC¬ö"K|ÀïªDlqñr»Ù¢ô—%@"F
-�m²�hNHh»Èüª%K›ñÜ{¼_mÝ�mÙ�©Çcþ'•³f7†Ú›¦-\>nKˆÓ‹^�ø¹<CíÓq[b*×­É4ßJo.@öUÈr ·k o­@åf7€ÂÐ"@É' ¦ºÐ3h¼eX×³m¡1Khœ
š¨Ýºqi4ì‰Èª:ëe®êöY#ªüêW*O'±²éryÔH¢ZaÄù4
-péF¤ÐdÏ�Ë=xš€5á{¯Ì]Fý9@· ºÐ &Ä VÂò?÷W4ÓÕ,(w[èƒ’…	cÀŒÊk€Y<ó³_Qó4'“bk S<¿€N©ý!«‘£øÐ'vº.±`>¸}V¿âWeæ~Ïõñ}Á�ÇsÁå`]€0ö�–ðåTHT<¨Iü?£iÎ6M­¶ÿÔí¯c¦ßO@L½sE¿Ì¶Y:Õ´ó�Ìat°þæ¿mÁ[ü?mÁDê’Ûü!M»y%M;©˜áÂ=¨ðíýz»¥ûm]ý~=íÍ®_ZÈ`}MèëkB©ÁMèæ·Ñ6øÎhû�w ûµ~QÞg¯)¯ÓçG¼çŸS¨e0ˆgo÷‹fßy'Ñú·uõü?³
üÃÿGÙvîâüggÃ~_õ¾&ôkm=ëÛºúí¶NYp �aXÿzPâÛÌýó Ó
->úŸ½
k<óŠâfð§�E}=¸}²yÇ÷Ã=FŠ·ûàBÿúW7xJÞj§\ÕÏÚ¿Â³òú·õÿ¿šö×'O»ül?uê»—¿»UÕ³s³Ã}†ë×ƒw+Ï� |M(�ÿšÐûà$p÷Êd,Ý6¨¥Þj¶¥_2°®jºÊbðOóË±d9ÿEÏ5�d.¦g³UNw©IŸÈ�9<¦êÅÉjúÊôèÃŸðÿ†4=¦ý4õ}2‹�E2˜Äwgïu{_gøZpúkàý|p}, éu¯èLášHå
-{$|Ñ>z¾°y6ƒî‹Tîtì,^Yr¨ýÚÁ=|F·Ù¡wÎ­÷Œ¾í‹Î²’Þ™a2Ømz³ñ×ŽæÝñ®¶�~±MxAýEúâ‹½ôÇXšêm(ÛeIèËÎU‰”¿�ËÖóÃí¦÷¸¡-¯êÙžÍ\z<9ÅÏã˜J%àÈìªÅÃ®V³ê5¯W{îZEöE«‰'ƒg“Þm˜fo'Xq›°âhG¦½ÑËI´¾(ðemÖåÕ}üAWÂ°qjÖzqv
w–'aþ�¾k½nší"üë“ó0ž¾å�Mß½÷0}= ãY 9í¦Ðí‚¬pã˜NÎ!?vÃ}Ñâ¤²˜%»Ú)ºlGhôØ6s7`£s7p}‰o•µ9)Ã«û
BWÙ âWQÈÎ±¸££åôzõ–ìn´�"ª.V�‰Ï··˜�78§7;ÀYöýÿFú^ã
-m&ý0¹~úÑZ|úHêc¹Ú©×ñc#�\qÏØK?ù“êº¡mÇ|ËÛ ]"Z¶�¬¼âä‡íñ3ÎÍ¼Ü’kÌKKð™%—æÜŠ*Õ2¹�‡Pw¾{Òâ\õ&úìX9MgÚ–=M³Ûn1tÚm"H-…˜'žm‹?e
-¬ß{?zÈ‚*_³Ì½€~¤<Äû³=5>ÄUg.ÌñSœáÉZÞa[]ö×d|Ób<¸Ëâç¶ˆªõ÷v¡xÐy¾¯ é¼©�YÎ?Ó½ÒôJ÷ ©UÖZáC6ðÐ­Í;ÁË9‚Î;7€°ëûýü,ñû>è•Î3Ì­ÞOœ3¤V¼SN÷‡¯Y–^Àp;¼#hðžÂ‚ƒ„Ý	ÞW¯`1©­™Üú1­¸ôØHbzê|ÿàœÙd=˜O­»º	½’v
-Þ’qº·ðãÏÉiÁï§›Š·ìlêÞ úAÝµZ¤]Æxg§sêè¨�µgæÐÖÖ¸yÎ2$3oó>g’Å®h<ct`x�ÿÃw/S�x�Ï^<èÄÖ¦³ÓÅ+º±ßÙ9FŸ*¹å’I¸|ïLo¯øû3†›A¾=
üb?Ž½Á2I\ù’œÝš™>õ	ö‘Š¶^iÖ¬‹ÒnYf�'ÍûxÄšN+©‘Ú†�s«ÉÇ=¼&½ÏÑø¼¯Ýµ¤Åt(þ€¿mð6¿x;`t5¤Ûà¸¸ªƒÝiá÷64q"V…Å­¾¬6ŽÀüè:Ð”¢FdP(â‚'ëš[GJ®}|s»M—6–Væ#_¿š_O@ãU¢óFGê–
6&¬:nO
-ä¶«óþKÒK]ÜÔD{´ÐªTñ1V‚is´ÏWú£&�É¿PO¥š¤_Eñ¯œ$šç4É)ûía m‰×4;“WÅÊžŽ²R¢9Ÿ˜~nJç›ÅÌá˜»Ýœ}
-Ý¡…¿ú†Içú¡ÑI‰h2ët·“Â¬Ò°ÓKËñ[“*FA«næÐxX_·Æõý›�ˆ5/’öª<šªí'uZÌµ®<f|OqûñðE¡ž¦ô‡‡Ìœ´ÓŒ*�’Ö‡SÖSÈ–
-¾íÌ/ê™z® Ê»;íÔ´Ïîªk>GßkßèÎsš}–Ž¶zx3
jÙñxhxÉh÷N£ÞÕÓ+T´{)
oùbcHð0®<KV¡¥p$¿k` wGÃ£4;—«RßXu%¯ÅèQRÄhÿ�mþwñ‹âGG!(kÛ;Ë©«¬¢æ8êÎœã
ók§äÉ3óí fÐ0Óž@ù.ÄëƒÁ\ï\ÆiXÑSÏ£ü|x/«!±½ï•g?=ÿ€
-ç³;Rµ”“»[
-’æ„Ò–úÏ¸'fç¼"–-ØHO{;€|¦(ìº9ZPs’$4æ’ü…ô‡Ë£<ÑÐ-§o|—ÅÕØ”hyÅþ€YEµÄ|1•}Ð~XT­,�bºHzãDQ¥VôáÞ8Š7S9ô¨…œ»´W‡ãqéRW±üfßƒuh•µüTþD	p¹-òš<²~@îœ\ÖV�þmƒýÛe'fx+Ù—7éçWh{X�õ¬LŽ—�¶.Ïž˜Ë†ýÙšð†¼^µ,p7f¹CA_µ°V×æÌ¨-|ëÊ¡cU¥ˆiÑzÙb\Û†ƒMÉ]In¸`n|äµØzðˆ¸ËsÆöYëßaïÛÇ!Ï¦íÕ„eìzÔÓøÝ_>ÞßØ ƒ¬|!ý"«,¾‹ss­ÝÅ»ÿìwËå“ŸqÁ ±$ÝV @f0:Ý'¥tøÖ†}»6š(|ø+¬Ò9.diñlŽÄj-2„$è:¼N‚!g"ç¨WÛ°OîoÖGrïÞÇD*½)®¶{ywÙërŸÜ¨³Â´#‚ÕG§²| ±8å3Üå/Ä?œÀ…eo•³¯î5m��¼2í�Þ—½9•�É:ªýÕö¡íª­ÇèÌ0•paD	nwF«æ@”˜êPØó–Î·í²Ù »€õ£Á¬7]÷ÖÝÅ;ty^N;ñÊ/vªP3›ìSoª
-�œÞßg£7±É…nâã&Ý$š}zd™ò=Ž¿8V(×Ý¼ÌƒµÜñ}Njì0ä^®à��%c“;ž”oÁcŒÎ•¬ÝÊûô�eÞ�âºÏgg²pÀN"�JÂ¨ïz·	ÛÅ=¯Éµ°³â>+fÛ9&LÝºÜèQZÊÑMŸ¯S“ê‚¤Ú»šD^ÕÐ#ñz$ñs«Aâëm—´*méñ‹Á/~À}2™xëY4·¢Ã©8™ù«ñj&ºÇÏ®ku8³¥%°õTï´wPÂ—ö–¹Ý7Õ:€ío8[¾ÿ¼	C¶WyNºKZ¶;RRèCu:§Î ™}
-eœ3iM7o’6«Ä³aâD––
-­«þF	ÜsU<HöÀáþ‰>¼•ðöìî{:íŒü-HÎÕ<°æŒ\ ?àX×­×°ƒÉ)žWn¢"RÅA³A5yS)Pýt5ë³½»1~uäµlÒ‡4u(ÃZÌHQbÂ3�#Áà—þ~¶Ëxè9m¼'V8<_õl¾£³mÁ8¾\ÂÀ—EbàéÊÁaàjßÿÅöÓ~,Ë¶3w†#ŒpVóÐvh?ëgÎˆŽ1>ºúç¼Rpä“X_&'aR¿<~~@ý—sÅXöfuÀîªÝ:õì6AŸò�ÂÛ©E¤‡©�.~öKë‹Ïï?wlá‰EŒg6M¬`=4ž-Ç¨È	1*ò}°½™Dx[�lûÛÊö‡M Ù™ù�3À»¬öüÄkí®c›i”ÅÉÚ¿Óês•åòh~çoxgÓ÷²ê$Ç�ÁÞÃ])¦‰N£öèI
-äãE*D`}t¼�Ä6&à‹)Vz¤›]yØ•'‡V?ŸF{;Ðíaÿ©¶E7j×_ã2F(Ò\”º­yíüaµ<”Ã…¹xÓYœwýÝxd¹÷Ð­Þ¡¥LjA­§ú%ÎîbIéðâ˜1µí
üÕ¾[ë__XÌ•d"Ô½¼#I†—»D>ØÒ»Ñõô8iï¢£×V™|Ôn|˜=rØ,_ˆ6¬UÔðÖ9Î‰-CŒ¦-£ë¼~ÀæÍ)´švé{éõ‡ebœÃ9

‚pPÍûÞ‘žzÕ¬Z&¯Ñ#MŸçÙ!;	�A»{ú…²x`t/7§õÆ‘¢ÆÒ‡ìj™(4™l[°øèæ˜ï¶GæQ@ôq¬´.ç£Ñ2ÍJÐÂñÁ¦y¬oMÇƒMŠñ8½‚}Ø·V.Ü�õ[ãµÆÅ‰FoWÂ¿ø}EDíÅa6ËÍ�ùO–\‘™×¦/S;hv<£z¡µÑãðáä•=ió�]ZèAyöD=>`„66Ç No�gÆ³=^:d²1¡–µ×‘æ³lÒMZö98H6C¸;Î[p®ÕËÖÒ˜e%@ÄÞi=ÚsP]?;µÕe<©IÃÎ±V}îËÐVHùì[˜{¥ç2Œaoé�¶rì•bd�hÛ×[nYSsæ†µ*Ýær~þ€�â¯d�m¬Q˜9zM?_uáÞª¹„ó’rlp;çY�á¨P¯èûZM¾¾ÐZÍnw!5å%öFõØ­,ªÈ|pª\È$WÁ²]¶ok©”RÖªL
-Ý¬~)“­ ^òz]è³¼n%^o¼‰åmíÏÇ”þ(Í­ÇrVƒ²|J?‘Þ†ð‹4ykßðÊë½i=
-qÐàãh5×7µ‚¿vVÙíå²=V¦óÄ®ðÂµÔ-ÍsÅ™t¨ûµ
-M¢WXM¬Q¡z{„ùíˆ=äë§}!7®Qx®åõ\Ó=ïs£ƒäFK¯ô‡PLû_©ì’à|ÿšƒ`±Ô°hè‹[l80Å}§_*
à,�mˆyÜÚr¾�g¡ÖC×,?Gó!¸Ô6\îpîÃéŒŒŸú&äWäk†KÀL3Ã�ý:XQ˜˜TÈ¾ßõ_†uÃaÀP`à< Ï7 )XÿÅ¯Tö0´q±õìF©wª3•UŸ¦xÂñW*wNÞ±FÎv³:>K—ìª	f]Û­ð°b_«¸è†ãüˆ�.·ûnŒdï€o¸À/»#@�aÝ¨Ûô¥6]Îgß j8@4#€(Î¶Qr+Ù¶àï‘¡NýÂG¨ÉãŸTNvÓÕ¨
-ÿéTÎ�+¶{€4”
-i¶ŠÁ�Ò»ÅèÏS]É_V•{
-LK�pò{_ÍVÚZÈ1¾«±,~»:‰'¢dÃö’ƒ¶iO€LÐ*@åO4@±¾PÃ^Pj
Èð$j´šÔx´(�-”˜g2Àì/ŸƒnÆæ]KÆ.QXÈÛmhþ€ü»K‰=•.34£Ü[X"F¥–ïLÒú¶¢+�,Û,F�h–×¨œ÷Ÿ<4l€œÍ]€¼|€ª¾ÃÿéoOYA·„@k% GñkGá0~x˜q·	0ZS˜Á=ÑKF"áƒö/þIeK­‡ež„çâ2fåéŒ§S_%qÅ¡­—Y.Ô·‡÷£ò”>‡b¥QZý€y$f à ¤Öüÿî“ÿäí¾zü�µ5€¹Nñï#ÈT ƒ5¾³ïžž@w[@‡`¿OËÒiÿ{VÚüò‹ÿŠÚM/CüŒÇnšváÁ×…_úmµt¿&´ü�aü�áôŸŽÐ´/*ÿm´=þ~’?ügmý"ùëúŠê!ebûúüˆË×3?\äÜá=Š:Cßãöy|Üº³ûãÿšhà¶!gÇ?üWÓúôÝâ”ü6ÿÚÑ®ñkB³u÷Æ_úúö„ö«©_pÛ)í™çGxqÏÞ�žy¥:z,êÍIÖyp{1xÇúâ·üõ½bøÉ­æ8ÿ§µY»{‹î×Ž0=ÃzqA¢Ãêÿ6ÑÀ¿Ùþ£iGxñkBuôkÄ¿zyð5¡ç¯ïoRfáÞžyÉú<¸Ý²|�áü�WA¿a·
š£oò
úO«š¶ä+ì£Ë±Ó�\�Y×>›`?8ÝRôßþÕGzd4tøhö0m³Ú¡w5ÝCÞRœM¬ÿYžü]|ÃÃ2àÙíÔ«”o´Ç,ø.ùõàKó9-î²ƒsPã›|±�Wõá=.ÚÛÎ—Þ¢t6óIítç“æÉ)Ý±c*]È£¥�ÃGMû¿vô(ì¹ëQNbâ®%ƒöv›ïj³åm›p\}ÇKfsßƒ�^}Kd{×—ázð‡4Í²…,®Bé‹bªö=S¿G¿ö=úÌœÞ6-|AÜ<csvzLE*>|†TrèØË~�ðÏ}Ñä?Éà!vò›(n“QÝÂ´¾ÑKhk}‘|mBRwuW'ƒy\éq:i/bæ6½ý€Ë�S//{/Yæƒ-º<ñ9
-ÿCú"§Í4=òÕô;µôÅ%pú*~ðÔ¯^˜û`_§O÷>D>ò›Ûs§³’nOcWóîž¾Ÿ®E–ëåÚ¬¬7«»²Þ¯Èýúû­åmù1–érŠsË¼s)EÜ+Ë?Š!Œ-Ä<ÇÎ7ü|<WÊD4Käà:k ÒTwéÆ´M·ê¡y†ê!näj¿ø¯O~Ù8}Ë2žvïúˆ®Óæ½j–šgY–÷ÜqQÚÉO§¹9fCÕ/;\œÞM9J¾¾dƒÄ�ø]2�Jê}¹ÓÏv¾•ŠÇù‚o³½�e¹ålLŠàô›µéDL°ðz«ôC‚SõàY*¯ü·¼ý^¾{\lyàñÙt—úá }•¾ÏKú7{ÄÙ~YÅc¸ŒÒC´;îKp%»ïoGÏâkõØ—ªqN¦ˆhÐä¹E-Ç+sV&3Íw¼é¥º˜O1k³
-íçf’Ëôø•ô0×&àO‰vÑÏ{�º·8¸WÜ$}7¶˜‰[y®cG»Ù¶Ø£¡]³›Y:faÛÒ5±ÚˆÜúEú~ï˜4ÙóCQ�#�ÉPy‚[}·»nŒég°Ë+¡4M|z…lè%9U=<Üý}öCM½Hác¯´ç·îÊ5OnõmÞœm¸x;�üª`ï÷…ºÝjÕQkb°¬…bñØ´\xn<ÞË§A³p}D6é
-6Þùö¾î;Ëa®¸Hçc“HÔôÑÞ8åwuÕëœ_Ëh½Ù/†�xŸ¡«ÒÚõçu«ç	oKtå¼5rÔ¦kÙ‡IàÛHnµ°ÎóÓÚÂŠ§Ä¼Å¯³IBÀÃxîZùÐ``¢2yÇÈwž¾î$Ÿ««:GŽBmTîZ%gBc™Kˆq­¸ÀG»ØÁF;_G‘²ž48?}¬»ß„>³Å·Wü×ÕF[ð’›ùø4µõj–)=½ATn:	ô¦lí•,lvSL|OŒTÌ9³Í“i\Lz‡ÆZ_0ÄQç>Â]‹Yé­‰…°4Þ»æX©”éQ¢ô¥Ñ¨~
Ô£¦\Täú}FêÐlàÄ;4ÿ7îõ×’=±Õÿ+•×ÝÃ•ZB«[s>¹Á)us.A¡°:xÕÞ;oŸ eÝÂE
7ü%Ó›L7Œ¨/öäH/µãÔDƒqÇ›{o:Vy9J^êv4
-¼³zÊÍŸª>¿†×R±>4W©< OP²�väW3:Éƒ®È¶"¤i2#ÿ�Yø/®çà98¬n�]/ÄÉéÇƒéŠ^h·32MI)èõ›W}�wöé4y™�T®À³†è–QÕ•ß×wŽ<Í±zMCmoox.fCüÇÊC»ïêò¹É/«
ü€rçÉV¥c¢ûIy1ê3†XZžwƒ•èÕ]ËÐ¢„-—Ãÿpqj9y?ô8iýA~Y{Ì˜9ïÚát|©z`ôpZ	º6Ÿ*”�ÉFnƒz9LêãáË$F-•êoÕ?$ú€¢Ðôi,áÉ”»,àK³¨°�Àri-Fkê,–k|:X%Ai5O-ahÔ{üþ®küØ…×Üé}Ìs“)×þ¹‰i�_8wF¹a¢!eµPuáŸTÎî8XÀ¯ÈõG©•ï�‘¯Ì�ú ºcuáTÕó�B†dåJÉo×êÉ9CHàˆP²z_8ú`
¡ÖR‰@éHhèã„_Ýw&¾N´Ø‚û·ŽÀô‰ÙVe½b'béUÈ°iõÞYÑýñþ‹S¿Žv˜ÒÆq:ÊŽþ¿y%º�3áK½cÝ™€ÎÇøÜr[],ô¶ãÄÐRõtŠCò4äiÁE%Î i±ÒÌõ…Ý,øƒ§Ê|ë£éœÁ‡æ³¾-ì6ìsý¼°ž‚eG¿÷ÞËµ^¯µ$»sRº\}6ë,5>í,õ*œA!ºàÑüþ‹_I¿I]d¸ÜŠŠ8'zV/ìo¤7L’†M0`5ž;­N×V£6_»~}ò­™W€Ê	’xzØlF !À3›á.Éöïõü€M›w•e¤‹Ñwiv·i—Ýù‰9v‹¨švv\éT¨ÎÈ�: “|Î§ÕÅþA'…YƒNÀ*ùÒ»gÿûÅÚ>µ
P†Õh¿eÅ™WúÁÒºÑîa‘¶,™ô•wKF4YÝÎñ¤Ëä-Eì¬$V�nCÅ7”»‚Ý§ð|·÷É.®l�åçŠÔ-ú�qGx‡ÙôG¦¶ôwt2¸ßixÛ©ãÐiSÈ!åÈ‹n»¤‰
-WÒÄZµA^äþö‹=ÜOÖ£6Zœ‰Ž4
÷ûWÑõsG;—æ1ÃijÃËa¯œ9Ur
e'Eç!B´TÆNâ®Ûe«ï2ÁNÊt#Èá:bLIL©ôÈ,J7ÕÆ›kÒŒ”‰ûlä'¼I8›˜Å_
ÌÄýcù”á\Áý�â¯’€eÉGýÅî¢&ñjþ-ÐgGžæù™à×Ï®ƒ½>¨™7·å1R_”°ÃO¥A¥vãúù4¬þæÑã»Ô÷!ÌæíF¯;Ý�`±Gï·U�š§!iõ¢	ñXì}‚.1þZwNx O?x·^­ãÀcÚÅf9Áúè€®Ë"VØ5ÚÙy
e×þïâ[g³6þÍ£ýk¿‹§`à�ükSF7JøaûóY^TÍh &ÑŒ¿ «„³Óí½ÏÌ–6ÏhPw¹G�N
Júà‹
-}²ãB<�•„¿GÁïžVž3
-6ÇØÆå7/ŒÚº4:¨ôÆhyÛØ¶×Ä²Ð–Ž98C¹Õ†·æ/6@d‘&^´óé¨�D’;iƒÙZ¬@†©‰Ô(4TçÙxÈ¥öqÃ›Úíû>³Ó™tîñáÝ®Ì$ë|�ÖÉi›Â®<EøÐÅ§µÓ[4·*V”N&:H
-!:¸ë;´â\²D‚f+?`[~'x»6•‡HÒ§×ˆz8,6­#Â­ÃåÝøÅJX«æÂî“)k²cØÝgt›­œÌuõá³�ß

·ÛÏž£¡¾ßêë°[=ßv?`gˆ—oLó�ÏQW{S&Ý¶�Žâ³@c¥Ñµ�V''©­ìZ»>j{ÈžrVÈèõ¹"ÍP‘æ4�¶N¸!¶ôg6~_‘Ç»iÎZP'Êµ&ÞÈe÷ýßÅr—pÖœ"ŽF(àÊÄ;ô
-šý¼ö³XSûÚ1¾‡½þ¹4Ð¸Ú¹ßË¹sæ c�žÈe£êžôHãA„=�÷ŸT+›…
-9/¬Ý˜|ûú�ñíÁ·ÎTImM^¬ÝBƒé¢yë�M;¯~šÄâÃOÚà`÷#Ì`Zy=o�(7¯Umt‘\år"í°¼Ûä*¦{É×
›¹ZcCÄÖâ86#JáaâïzåÚ‹É`I›5Ò"ò^–"§Ó&.{t#|îíQí ziUj™Ð¬ž
¢+´IO8ÍFØ‡XfvÓ ñ·�Þ‰{4ò“{¶Çê‹šÜ©Ç-·^¤¯—Úò‚‚µ[.~QúÅÜ…/\"ÏW£ØsîIÇ±ØÙÊÐ÷T(©/…§%år€¸€�}ÛZ‘A“tÑaþª´®¶;ù[xšÕ8n·°�_óúî³‘f&vÁFaÖ‡ê8Dê¥åªS“*±VÝR´NPý˜?U÷¢R¨6gw¬2)†zE?	I¥-­Þåkn”/7ï¾ÝésylªÙð »Ÿ™CÝ�Ð,ƒ+KC»†¬Dç5@b£g%¥o�ñ_Bˆ�œ`ç6g¾&÷Ú-v6—ž³ª&ƒë*R£Ï•s2~U°fXüË·Ó³Y&±]òFÝAñ}
-Ìb–à|ÄßK)ªÊ‹N¿ <˜YaY8ŸÑ3÷øC�ÈÍ¸¥k
à¥5{�¦ú�íj(~øI®²»÷¾÷ ®*SòS‘v¨z¬„MºêõÊþ,VLýØ)²J�K­ºP�Î¸PÅL7¯8q”¯SŸ}n"Oà”‹@›_ @›†ûÖ&ÐFºk ]y}~@ 
¬¹ù&€ÜÉ
€$Æ%Ãòù‹?©ìÐlmÈ\3“ÒS—7-‡È%„²•YR¦Iyâ¢ÐØ!¸rŸ6JúlR=k¹XÇ¬~)@Í zë« 0ÊÀºâ@ÃÚ9ƒ™Ði±™ÁË~dFX®[µ­<€Ž(@ÄÐÖó d0Š¿ðÇAîðºvw0—¯$ÖÌzà
ùö`40õk·_¢ŒsÅq�à?×[-†¸o8Shüeúe(…õÆéç�îž0; l~êX‚g	ú}ax¡xÝþö[â�<à„¸Šö3œ,™	€�;EägÙÿi¯nu«\äž1!®v^áýè·¿­R¹0m��É ©‘};Èecò¹GŸ›¹¶®Áh5(û…†VŽˆ’kÓ
-ÿ©¼›"@”}	 èTM�DœÛDj}²Ù‚’?õ2š:y��yÄªyÊe9L¶Øzyv®y³ŸÜlè_Øïp6êÐf=òßc_Ú{ÈøŸTßT”Ê­ÛTs¯fo»>ÖFÔ".û›À«óµ\Ÿ*ù¿>™É	@ó?÷ÛüŸæ[b	PkàPo·
-ÐÅ´^™tüÜôi]è÷Œ˜ŠîL;eH@€�°Ö/Ì*�íÇný5ÿ¨º¶z¥È¿R™úà—_­bszê?k{–9”¿½,ï�Ø–fýSÉÿùÅŸ¿
ºÑÔíoßíï”	ûê×Áþ›Îa&¶€NôÿaçÞv*×†ûOpˆ"ÒVD)Q*¥�"!û"{¾ÿŠ{Îçyßw­ãXÿür`Î94jŒq�óì-2íéeÕþl<ö½ûÙ+�¾?¿x<Zó�ÀøµZz•q^ÿdÄ~¬–#íóÿ'ÁŠxŸßï”>Ûz³¾F[UùÅòŸÖìüîCï?¹|”�ÿæ¯Ê¹«˜ìk¿��]ö.ÚØý3ðþ¦
|ð}÷‹�WõÓFÿH�µÏ«ÞyY”SÜ?žÐþîóÿýáPxx9­vw-êî­{VZñ·9|èÝøýyðñôÖÎÃ«x|š—
qs.°}›œ÷�ÂâŒL*Û$nsI¢gf™›SÄ)béD®±ñÿ„é=6ûŸv}ÚÆG¥Ê_·í·¡ñÇhËô>YöýÍßçwv…F·y¹s¿†ˆ˜½Bº]¤ó¹ÀÖ”8+÷)�ÄŒË$˜o³'37úøWG½£StGz½6¾þÕ˜9€ó0òÑú!bOKà�ÎŸø>lZÝ½øº_ì6ìbøÅšô/Ò&á•¿"hîÓLî£„n>½wîYñ-_!-]àÑczVnðÇÓ;|!ñÉÌ"×ãUÀ^GzEåbfW)|¬QV/Tü¹€òV…Ü‹÷Jc·a*íìãÝ­šk¶ÈÂq6Øz®Í
-óX“‡kmå¤«Ø��Ü?à¿¯¿øG­ý´1—û´»ø¹Vñû»ãÑgå2®Ÿ’–Õ9^;%ö ™ù•Åä0G‹}HÎ6;é©í·j¦ob¾“lôügÇÏuÒë¿ÖäVÌ¬®ƒaaEG#8ô0]¾Í€^²·¿˜3em‘÷Ç‹yØ¡ó8)Í¡å6â
-
dhRà��|ñxôJù¿-Ìe>¾½/”¯�Ú-é“�|˜Fyƒ¤wÒæ¶È,ß['Ý‡²ºJW#-«c;dŽÉdéñlÉ^ábN_7‹¼—ìçaë}šCAöÈù0Û÷ðâÙrµÐ×«^ËÇbd85qw1%/Åóäjóïá!ÏKGÿñx<äÒÅG+Ô¡Ë6‹ß“xPÝ¯l°?ðqþ¸ƒÇñcƒÍàÊ)O*Ë·®¥õËb^ïÒó�é´ç�ßïr®/ÍöÝ¾:CÖ}Ã�%Íö±½æMÍš6›’ÏÅzâô�±÷Ø=ožç¤)P˜`®¿®nŽÝ{cáÆÇÎJÛN�Néd§#Œ½)¯/O>„“=Œ&£Z7¿î«G:Q´ïÝ=«<WÞšŒ'«¥ïZÉ¢À­Óº÷µ.Ïj×÷‰Â©1µ¦E~rÏ–û“¦S×¼É³>òÚ«¾ûºA¹ŸNæ—q8^Ò“ÝXÌŸÏÎºŸ{;åK³dï‚m#…Šd
�M`&Yæb’Bz^kznd¯¸ì¿x¼`;GïZùØ2¥CisÏmñ º¤×X#7_…/{â.÷æ"P¨Aâ�¦£ÌäÑpaÏ/»¸;§§
7î:ã~é;ë¢8iÍ4²÷aÑ±k8ê[ñ¹¹´tk°7“»‘˜¦»z�n¥4jšäh<«ÛžÑÒ[}\ÏzŽ§òÃE¾–
-a!?,0çÜw¾�_Q9*çÚ–l^Š+¶w-‹Ó8šWfÚd¦S™`Ú�ªG�;ïñŠ'!g«³XÚ/Z‡¡­c$²�I]Ó2Ù¬Söp4^L­Q³»öŒÉzmé¾Ögð¨w´úc¸x
Ã"»Æ´u®.hýÅm¢6B¢D•¨h‡UQA»Vþ‹ð{¸ìwyêØ¾yõ]¬ñ5@Þáe©óÎzcsòmw²˜´ûîÄí†ë½£€»‡u27yÓn†Õ‘+í)ãµ�ƒ­%=0®=¼¤·øÒÉêÃâ3o§õËzEÏ4¸Ì„ên7ŒTq¯J?@#0tpºL;²�:²=9¥GÍI®CÁ4Ê…/ÎDjDâËknnÖ‘
-‹µSuŽŠïtÀèÇ×pÂ™³µñ’kÇU~m^eñ2bÖTÆÈªxYÏ5tÙJ“µ–ºoá¼ŠÌðžwZŠ‚-9c�ˆêx@nÌ@¾šñN¦o�Dz¸�¬Ä¼õjÿí¿Ù°ÏÞ¥QoÞ*zàfÅ°@Pw‹_œî!Ãî¤ß^·—z±›ÜÑ™m>ŠÓL�<Ü¾6ÞÚGœ›Îô½0üWö¨èø©m�mAUÝq%íÝÔðAr3èÕ4Ú²35x¹ÁÎ$É›/†PXY}u›öspnÕ›ïÇ^¡&?Åðx„ÅYkteg>ö/~+¨Ó Ô8¬$Ô(¸ÈÇ·lá‹ðèã<¿3Ÿû:•çzæŽû^=_öÂ|òr¢©µ·êÒ3f‚3®§UKæç¿ØÚ™�E¡�Ü8Þ«Ò„xýÑýœµ{Â9â{ë%‹½¨ÿ€bÉ#ÜîhÏ…Cg°4p{ç�½"ÄãÛ.Õ±ªçA‡Šçkîf0/nLx7.›Å
-_Ä‚Åw¿Ú÷rCÍš�©\ˆ)§½aw³2¶™µÒ5ÿh:Ä¦Ã5ÑkU�[)£*—Èw.÷”&Ïìw”Q¹W,ÑˆØï�Dw Â´pØÀmA“i‘?X•7´¡Õ9Ÿ¦³N�Üm¸Û­|åšM1ÏN¦K‚ÍäˆþØž�ŸËv‡qîíN«}Pü ðEÔ¯Š½õ»¬ó‹ýbÂÌÆù;5I§¡êøÐÎå,Ç
~ûš¢,edò*DÛX]{K[D©„¤ýÒ­.’²€Ž<„'�èXG¹ÁÝ	•ãš¶Ùg_t8dÛ^â²™6¶;j-ó~¦Õ]Á³.Û]¦¬6gédZº§™r×*|�ÿâPeè^:ZfmUøªßþ¤QÞj“E>¹` 9©M½T�%WºüèÎ¦{]lz!¡�D)n>…8—døÑH/tèUf_Û'Â²à™lâ­Õ7O¡%VÊØ*F-‡‘05�Ü“}ÜTêÐ»¹rµ1låyú4[NèS`]ÒÚÌ7Ð+Qü ðÅMiUÈËÝ_í;ƒ_h¯lB¨C•¢™)l¯ÃÊšôd¢K›Žêáª³e¥	ñ¼òäË}q‡Y¿@m~9«´D_ÃiÜ¡›»W—k"¬&5âìÊl`ÂÍ§“bcO“’ù¨_+¸n<–z`Ÿ}ß¨Ž&Ô£4Í¥Xçëtïô‹í5‡Ha©ÇuÕox5]…CpÛVðÒœîŠÂK¹u³ŒÞªšb%gÂ±nyj±>rOvô`ý#þÙ/©P=ZÐÛ(7÷ã:ÚˆGEŠN°M“Ïj¯î´›z½‘±Òâ!¸m(Oànäû¸…HÄ1$G!6™=œb2»d3)�Ìºbî‹_‘¾rn‰?à¯ú-îÌ8¦ÊòòlˆÓÜ[¹Œà•ÔÏ,±Šš@0®Ë×¹uÈ½ŠAÌvþÚ.f 7³®À¦V”øºŠÐ”}'ê
ïÄPàÕ¥¾¬þ€ä,ß“\¸
ÉœÑ¸bU „k‹ÆWÍ¬�÷NË=ÞÛo¼Äa™±æFÙÁp¿ê··¡3m'YÐuóý}3B³
-=bwýåâéý€qg¤“£-.³ff,¸g7­u91
-x½7Q’¡/ÍN¡>¾+Ô$¾`äl»£I°zé]”ˆ"Þ±Ò‰o;Çû~Lqñ² PØ`�×°*»Þü€èáP¼£Z·øþ«Âî¡|Õïé¼6éz¤Úq¨±Ø4¹XÇôÊ¨[xS÷ØÛ¸xÀÓÑPeóýPmCÊÕmÁ(d;5ls¦íƒþüëÌ¨
RÙ‘ùÒ! ê‰Â¥á«�Ã8ÑÇvgc„)Öm†!të€F�€'†b,2¨�öÑª6ê·Z:$¿�Ë|~±ÜåuöÀ(yZ(lÓqÌ­…¨`�Ç.ûõµÑ¸<Ö—«x…°ÓZ®G­
-ÍõšúL5ÌÈôé6ßÔ½ƒSþš»’‚Zy½~&�Ëƒ;Œ©b„bµR±‰ê‚Gñª‘ö~-‰n^-‰{Ûš©_Ÿ5ŠH§~ÇAzH£vYTiÙUõÈú£Êì‹÷/Xi£ý‰Y�c#ìö­×8FÅøÑÔNÓsMî¼ëï®‘Èd.ÎØ4¼†XŸL5›Ÿ-
-DK3²˜Î‹D¹Äx¿]1´º}¡ÆðT¨�“WµV¯IävïpÈØ�
�f«0®>ÏBXm×7—*ðàJ•™‘ç+�rZÛäæÄñ„5ô
-«Ìå‹à:Øè,Õ 9—x¦Z¬ö
éIrª“=c$³YþQQ÷mÉ¼{
º¥ˆõªÈbQtï§Ea¢	ÐŸÖ®`?¬ÑL?­Ä××.ÕwÎªl7(T‚uT­ðr™®ä+ƒ.¼\¬t‚
-~y½1�eÀÒn¶J
-®ŒKÕíe_ª`EõÓé‹Yk¹7'ëŠc¹K™öÃ;? )ˆ„2<fàŽÔŽDOÕÈ\‡kÊ^~ÝŸ9C¼F”9¤Õ…šÕw+‚J«pøT¸7	‚ò6³Û”åy&)íŸà£¤N:f†¤Q³x.”Ók¬Hµ»vÁ	¶ëüã‰?ó-b‹ç[ð\Ï{æ=ÊŽòÌAÜáƒÌcì)c<6%Ýµ[«Š3*mM½-¯�¯¸[Ï¼slNKû±´›‘}¦—®.PË&>�:tªæðb}tkî.šã–š5M'?ym0Èî7 (¼“\w�Ù5,ÃÙþ<YvE¸Ÿ©²’ �õ@Ñ! P‡jïç¨�[³ÐJzøÅoøsegÎ˜œûX®¸ÃSí¢‚ŠÃõÐYí%3ÓBW•c=–sËµFÛ*÷ÊŠ}mií†æB„3ˆo#vXÒ@Z"é¿‚E}-ÅÖ°°¦Ð[åÒV:`Ó|7ÅÔ0³y0îž°ê¶`yÓKq]X‰¾ð€ŽÏK:´ÛóÍÜP°…£2ˆ(§+ØÝ`~Ã%vït2fÜYDìy6¨ylno—>Dµö­|Ž=™CýRð��âœ¡Rt:lU€ÈTÆ)ÔeŠë	 ²B *Y r£t~uü~ˆ<ÖŠ¾âxÑs—Ö	€sàû÷x^î—·&T–íŠ¦,Þ’Þo^1t~”šŽ¡?¨RÝ£7î1«¬z‹Q‰€éÌÏ"ŸÍV3 Ò‚ â*
-�:�ùq k ª
�Âu�Èq’È¥‚dŒöR'¹JO4¹nUÒOÏ1i¾Ò/fO€ä?ûW~_QÙÊ7®+Û'ƒ¹>ÔÄäYà:ÁÅ«ÒÈ×I:ÖXž½©vçÜ¤4ÂšF!s¡ûYeÑb2X4r·ý„Bà›ð@± F½�C•Z'#€z‹s ŽÝ�@½7ÌõIè" 4Îš±Ý	€&ª
-@—Ï!@Ã‹@Wäú_QÙ@­ùQ™õû|nC4Z†û¨þ€4È�38q%NHÊ¯JIýì²«HÏªfÒ¨)'üJÉ¿zò9‚ÿè·_î,š�Œ
¶š£4ÞéŸh¶¤Ïý’- 9%H ¹)
SìW@sÆ§ïYä‹_QùÙO¤Ê�
-íÁ�o3#’¦T	OÐãó§\ÆÛê²Àúnæ¸%5 >~«ß†|ôä¯Šüÿ2ÅÛ�ïö?tÛw˜j˜Áž˜ÝÔZ°uZTZuªû×c;úïfÞ_|5%ó#Ô~�Œ=äã	ýŒ��ÕRQþZWû¿ñ×)Æé—¹sã¯Ñ–ë?<PVïo±§ß}Hµ¾©·yEŸÞøƒ·øÓC²»å‡ùä*&Øë
-™zé²©ç™óžêg—ÿ¿´�_­–û(¡­�¶(|¬–lÿk]ý¦7´×ŸýÇ.¿Ì¢^¾ûÅ6zÏJÝú�ßw™kXërWÈèéÒî]`»;8ïéÁð¬<,ëŒx3/‰[ÇE‚Íž»SÂ7nÇkÏ(é]¥§‹¡´_b&N&ÿƒÈÇ}÷ëjýµŸ–U>²b!÷·¡ŸgúÛ˜ð`E¿³¡;¹ÍK§Í-¯dNWHégÏÊ*&Ã×»üÉƒeßÈ‰œ?°oëÑ)BÍ#½FØØƒ!fö´ù5ve
É9äía°‡¼e´Û´Åâ.Íí^hË[µÐlâ~Qúu­šÕiwMF#á«Õþü#‚æ²•úÈâéÉ…úÒ(î�zÊqt;>çÁÉÌ„›#:‡˜ÙšIÄFòõ0Çäç!oö�}HiàŠ;éÕ/ïà©QÛªYƒø7zAk¬“þ¸³º*iEÇ7;|ú>d®…Üòí8ä¯k5ÔÈyÈˆñ�V›ý«„–²  óž(N	óBŽ6>ý²)
-{¨*‡ü¨8ÚI�““Žä»ÉF—Á:—ášÜÿøW—ÇÐCƒóò=
-îKö¼óÆ&¿ÈObxÞËfÉ`#Ð�^M�™
-×·¾^³Òì41vÅ_˜DPøÿ£ÖÞßÜüy…”Crt²»Sä—ƒ×>ÄõüvUd£ç8r�ŽÉ­ð¡âüòmTzKöRSü£0üy¯fÍ{@el:¥I/KÁL…
-Ë²Áw¾^¡ŽÓDãîSò¤å&éé«z^h¹ï©9r}^»\N:»ÙÅðþÅxÞo_ü§ž|‘b#:%Í Œ™0žøHžîà1µZ'B.ƒãmÉ&»ì"?^BÁ†u«³½`ã3dåÒ¾^v[ÓDq;S2vÅÉUä	}4Ï«#�¹ïÆ®ÏœÒÑÒÍú¯õXËG'Û/§íªöfÐìØrõl[{½¶´ÔVïðù¥ýf<Ãwß6^äyév¼×'×¯V»ˆ¦¿Ñ�¦ºr õpÉžFãyØ¦#ÌlÏó{_/±ç)yg_“&ç=Ï7a¨ø˜Ëi>5ž¿æÍ±0ÝsÎ
-ND§·ìm2ìÊšt­ƒ$-¬Ú5ˆÌ´–{˜ø‹‡G–ôê÷ÜÌ5ÆþÙûéÅPÇ_LÞ•ø‹{®“Ë%dMËEs¶Çòå²zæö›å<o�Å"Ü
d/T|<Ú»“ñ,¿ñ2"rvA“~�‹‹VÞ)Ÿ8ØVX³¢¹Lý€ÖPõZæéèuÌ‘öF×L¬Žìàm�BÞ3Ü#êobë¬½|êÙVò«¯…äÀÓz¹\¤nº¹ó/¤çñôÅe7ÄKÇÖd[ÞE•{zï¯^áý¹,®¯qp8¯?šµÉ=ú^–rÆcñµYÙ{g´âÕãi&×8º>žÐ¨Ñ/ †·+àFK©Ñºãm�ó„îpôä¡03umU��µ^t�ÿ€ê‡öª|–Ê¡¾))Z^éŽýâx€ïŒƒ|VÙBÆ)òÆù‹3ÉµoªÄ7®aZW`^Ëå/¾}?®&í§k»B"HNe„›–Ñè¥½?ºí„½ñ|è7#€V­Â°;ÃÚ*×´¾¹ ÕímÑP‹[G‰Š·ž¢mJÚàT©Yã¦ò¥éïdëõ¾KwŽ+InîÚê¿DÛé··ÅC?Ó©_À^�ÖÔ¿èŒ_çÓX6‰¯Sy5ƒ_•Eå‘gõbþ>™A·�íl×Ž
É´‡¡ñ
-r¾ÎC·õ°x{&Zùõ|¨
-æ”hQ„¬X¬FRý$ŒR²­ŒL×:‚äN´�Ä´g£þ48LúÙ°î+îÒË—gyq¹o4E¨vu¥‘´íÂðò*ìöîå_3§¾=—ÎdØU_HpêAÅt{�à—Wäž‘£!�o^Oœj°V_†ØÄÕà±±Tbvp$Âà*_ûý·LïPòòÔ÷¤jŸÝJX?;°é¹í^Þ=õEñýv7�ò¸+ƒÝðöâä$ ›WŽ�Åc1®wL|³î�;è’¾~ð}u‰BÔonšÕ-µ,_èÌže¡Ip­.\­$6á­ç£v¶5ö†D_Ýßš–‚Kõt„‘o…òFòf÷cß_^î½¹¿~÷
-¹
(öºûRw³ÞW»x�ûý»)ÔÐ<ÏÇ'zÀã¤hvLÇ
:TãqÎ”Øgv�±­nwÀP%Lá_Ú¾o^~ÀïáƒóAù­uf¸¥ˆ”ù+*«µ¬‹…³ùÖKT…‘zÝ…Áyr×å±
-N%`»[ö¢{û9>éÊ/ò.¨×ü‹?6
-9Ÿ|r{:V¦„t¨ Aqã<×æ¡Óg'¥Ð`[»¼ßž!Ì¾�ÓÝgK¸@µVÁŽ$fÕ/˜Z:§À¯ÌªX9±×à9»ß«Æ»¼¨bU¯$´Ò{ßÁü6z[»Õp},e”½rÓv•~Pš:½îr8ëîräZÐŒëž'ÿÔ©—Ô7h;Û9¶

Êí™¬¡íNeÑl-Æg¡ÕejCfåSÎyë°¹]B�fÒ+
­	
�Ï)Æ§†FÏ.œ¿Ø‚Ç…�¼h'§9AÜAM(ÚTB=F¹úe«íû=g@7¢n?Ðé^¯x§�îÎ'?úú|,:{¾áÜRºh/§vgz¾µ×Ã»Ulœ
-Lr¯6wÙÙÌë\#ªiƒ†v<8ô‰,…´q5¯õK(ÕëS¯S¯›Ê´^·ÊÇz}@œ?H~ÀºµmŸ7÷‰Ùùz¿Õï®H¢cmÂAÖØo½Œ.T=àÆÒ{õz�üà»Êé­	˜ówìËÜç]Ù,XÚ¶–Ótµv&—æÎ<‘Íç~Àóeú¤�pšÖ­ú%(Ju:ß4©{8[Péy=‘¯�U ÙÞ&YñH¶¸<¤¸ŸÉöë”|púéÕÅªí?�Ú[C$æœú½²ù2™t[çÑ£r¶Õ‰”#NRWíú,oª¦Ôi¦ÁµÝc³gaÑ
-ÅÜš‘Óú©‰Lçf74©Ã™:mAåÞ‘Å¸bƒœ¾Ý.Éúw�Ìú1¯ž�? ÁÇ}‰ƒ‹»ØÆÅ¹¸Ã!atÂ¡†ã¢cWsZàçº`ýLëÕðÊ	C8dÛ¬š,gäôò£}ŒãÞ´_Ì‚*–„&7)Wv†4´¶pÆí°Õ‹J>SÝV�cÁÚÑfÐ<Ö¯|£<ó�¼ãk�Ì¾³UBàŠ(ä¤NÞ6§x	[°Í¹™Ád;Gc:±ÐýŠ^£j›�ÿ€`¢0ã^7°¦3nÊ—AÆU6RÝvÊ^m4§f…¡ò0îòë1_ô$¸=âëÓ°Ó^D«v«o$f{FMmzt†“þâ:1X×›H3¢€m&!s‡û“(¬ã´÷ñ>ü(ã¥F`Û±Íaƒæ]Á*ï¶‹üíÕ:­ŠædíèÅz
¿�!ræéýäLcûå Ä‰3—\ð1(¶Ç±o7­gfƒ]ÀZüX¥ŸÌåßqOŽÇFºŠ­ò[k4ÑW›oŒ$K¥mul×Ý¾6¥Ø|}Aò¥êŽÁÌ	—Š÷;¦dc�„G1EOv«vÝ¥ÚˆjÛ5â¶]!—{ü€ˆ�(R?'ZõÎÓóêø!î«M�ÜU›=d»@;�ž?Ý¯ºÞÆ&:cÜ\¶­væ]7úõ¢á�WNÎ©|Ü=f·SŽã�A36tÝ£wMê={T6(j? )äQ‡€üû‡§%†L—[TÏî’Z"œž5rõ‘«DVÕzïVZÛ¨zèvQeîZñ+çJ…�6r%ÛÂ|8ØÒk˜ï@«/‚Ë²ñÉ†šÛÞw¿>§NE3ÈbŒQ¶z„z:%©ëL/‚¥¶p µ†EÍÚdÁ¢q\~“-ìÀñ"V[5Ô(Úví,MgÈM.‘Fº¼ª>û»Kµµ»¤ýRT¬TáŽ"^Ék^�¨cZ^¡@\.�ÆÅrI6ÅÒæövKò	K•â{ùÅŒI¨Á¤w<Ê.Ê�eÛí”{&/Ù¼®Ìæ
Å]uà>\XÞÓùåµ:/[J‘6èæáÀã»:�Õê+Eš;‡©N‘¹PÍè±R	ˆ¬YmhwØ²¼n1û²Œ®åòlŸ-)ù|Šz

�i¯xâ3v‘ðº›‚u¾§#L¡®¬Zk®›Ë‰ƒ‚¥n~áç¸–æ
¦9mL"[ÍzºÊ(”v=-Y:ÍAvW¯ˆØÅ~püå¸j&,cQüé bØRªW³
-•á…—�õ˜ü!^´ l‹&šS‹ä‰²×‘è«·Í{�ý|OY�ËrHŽªÍlHl¤,¤"^FZM�iªT2’_ïfÖ›Å([|ßÆ_LV7yäG
3�+�FÁ´¸ÁX7*jÐW•éo±;Ì?[ô½-‡‹5í=a›¨¨“^­±‘špïQ«Ï£bÌEd6WHX8Û¯ˆx¶tZ™íø"f*§—
-Ìú¨ÝË0=Ü vï§¯¢3ÔÂ^¨­òéçÆ4jÒ¨Ô¸fú·5êæµznêínwœ¬=Ï~
-œk¢ñhHJ_^¬Z$šÃ×Õ®·æì§32U¬Ç6z!©
-jl«„n+hþ5¯³å×ë	`…yÀŠP%…H¥Xr†U•ÆÀ s`%îœâ\øIÔ,ó–ô:šè�HtY¬¥¿>UíÉ~Šù*ÅfãÆw(pnÓ$°:Fk¢GTÓP¦­¼Ø‹ôÉ³ùw¡5ä�¹¾B|è{Âzm¹¬\ává1Ìá¹^éxöþðJ>óñôRœbGx½ÌxG¤8Ú®paŠýÀU®�âZpm”~*¢€c‡€—Æ€gã¯ØNÕ>¸�Ï»²§ðcù�–Hë—Ã%ÜW„²°ÛË5˜ûùDìmeQó¦”
Ëã»TéÂ,]ŠaÀq¸,4M‘Þ8Áì`€è�@èÞYˆUÃˆc¸ˆ�|4ØbœHlH$Žª)ÎK€,›O€Ì¶€8 :@¸™ †ÃLŠiÞ¹»Ã�)öÍù�wóŠ»×™ÑàJen:+ÿEnQâ€6nÉ¬R&£°x/ˆ=°(7à¤t>*r3Ò!’î“©Xõ?¶à�ŒKeq ÈÐ(“YÔæ”u@Éõv³	Ô¥œžb¿ê¦Ÿ¾7à ® Ö'W�¿E@]X@)nˆÅ/ �®CÏ©’}ºx®á|§ xzksjµyÞÐ;>ÜTÖ7…l¹¬ƒw�DZTd²Àþ‘’¿~à)'|3"þ[Á�ÒSD×£9@ÆhÀMhÈ@h$h–¢hioügðn6IáS$ˆ¡Ò½…
-ÀU»_[Ç2ßÁºLºº0Â,R_Ò“,v¹¶ÏUHz¬ «»õÀž2Ôó%wÿ¸’»ñàW¼ýEºÊŽþêÉÿ8p¿Òí×rÛ¸Å@s1?n[P F!€¹Ö7@+½)�V=ýÕ­zì-ZÙ§x½¾¦ý5¬~
–_É®õAÒøk]½¸¿ñÿ«ƒ~2b¿nÛ-õ5ÚÞßÝ[çîC¹Þ�Ý”÷¬\Ñnó
->ºñ‡Öø–×zþ5DõåU<Í÷Wht½\¤[%{V^=4‰¹l?Ñsî4Å}ý8ð	ø³[Ö7rõ¯ú}¾ö‘Æ*àß†~•Púá°þ„Ù~6¡b'§‡—=¿î~áž¿ÍË—ò5DNµ+¤ŸˆË¿ÓØº0ç}ýÅ�•ØýwÎŠ[„–è@Û<%�®w"—ÚŸÈ¯r{Eïá‹|¼&[óÝ(ë×ºúOôê™6ÿ_cåsŽ=ì“¼Ù»ŸG·y‰±oùÁp~£`�M7Iâ¦r;%¬ô>™Y<^½xt
-^%~ôM$öÊ½‡Š|dÎDY}Îò–/îÅ{¨ì¤÷ÞÚî;ÐâÜ"Kû¶ÑK4¶&#éOîªGeÛÿƒÿÒjsÀ¯Êèçž…«¸OW]°qhœûÙM°IA;‘AÅ‰½àG~å¹üä* çÍ!?ºE{ñz>í6�ãeO÷­šÙ¾¶HpÊn°p�_›¥uiuì�]¨�Iîí¥_GåeÖ�Lça§p6b¿økXýoü€Ì«ÿq2ÿ4ôëã$ÁÜÁëèä(­|†Øa^{Èf:Û}ëmâ¦®6VW9o¯èCÞ=4ë/ßÆ{þ¯õ\ðÏl4ÛÙdù{ çkÙÙ¾×*ûzµ…OMÌá§ä™v'Wë~š84Ÿ›Ð:ûÅ¯‰õƒÿÐjýœó8ïñöþxeùyä—óé\¹±Çi«¼üô*&óê™ØÀ–ìÙ ü}Ðš‹ïn'Øp]1€i¦;ªKmÝ×á®5MÔ®;%�]âý¥÷°�½ûöŒÄå€5àfùÇB~!Œó«ÞÄ	ûÉÁé•ß‰í’“½Q6Ç/¾m¼å¥Â9‰ë™Müòþ��ðôjÆÚÌ·½�‰Š‹ÅœÊìçâ+s	ààþš!áœ&ƒ=”®`É(®N,Æ¼‡SžG]›î{œ´]ö•ðnvúî�…lzµ†Ý¬á@kØµe˜œÛð~Yj-z™ñˆEM�¥Q2îŽGfs¶‘¯ñ/ŒëT[|§ê=‰Ïý8n“Ñ~_®_|2ÐÃ‡±Ë¬wç�j3diÚÓD6g57s•#—}öÎãy[~Œó�–qzy-oozƒtF(YUk?°0K­Îê? gŒ‰%+~”˜é2�¼F†#r3ý±ñºg5@¯Í¡ÿpõa:ÆùÚ¿Ï4áù_|MÊGwp~îe´xY;³ìn9ç·“ùzl+³Cïótí4I«aïa¼Ëñ}\èM&NÉZ…vey8Xµä�¤¥òíaÕrvd
Ëã–KÆØD£Éu)}²è3zµ„á,½Œ† ù´µeŽ[jE-<«ýOûE-Ï²¼¢Ô§cÉgÂA´¼,Cq·™åüŒ^g`$è™ìæ’­>CpçÕÖmáŸÓn™xu�÷2A�‹t±cW·„fž–wtI´¥ñÈ;ƒÑféêBgGã›žewÀ�Ÿï@-,ì M<¾
•IUºV›*<ï
-ŠZÐ
-²ÚÚælß;ÉfãY”®S‡•™±û�ƒþÂÓ”eßëŠ‹S£v(¥÷Ë`[-®X#ó^À>r™¥#Ðv2uîžÛz²S!Ðº…ùëö¨Q<
 —±õZ
†–Øh½y3V·µîU­Ý§¢¦+äÁ‘óý1,ðp‰ÉVi�ö¾Lm_œ4FŠ}©‘Ž³ýIkôÛ™Â±7ã5°—[U±[M±°GÂîJ…RÙåñÌ¸U·ä,-ÃœŒý˜NòTäŠåÀQ6›¡yá;íÐ˜ bc¸P•žÖï»†Z¥§EóÖË�1[nå˜.êÃÓUºc¯·Ô4ß¹þäö.öÛ.\íÍÞÞëø<#.+¶(v'£»ÆŠÓn?ÑÂŽºg…ªk|ž}¦‹{�y‹Î©n†ÿ"*îžèÚÛ+‹�fu�}O:ž�Œlui�+éµ÷ÖûüPÌbuU)Ã¼‚>HU¾Ì[ºGä¬ÿJÈUŸ¥èÃGµÓ§ø¢¯ârÊ¿D(Û»’ —ºpÁC¥?¯HùÑá‡¦òXcäuF“ÓŽ»f›oŽ.û(ÎtÖõKs–á*!ËP…å¿Úw§RLÇ±¹ö ¡ékÝ<.¿aãñÃÑ%«§ª…,9ÝcV¦7¹ï££7‡ç®Öü »!œU¶½ƒ Äæ‘�ñ´†çù»“ÔW`ÇÌîÚ+¥ç”8–}t‰e¢�Ý~ëØªÍžÝGkN“X‹‚Z+oh³³ðúãåoÝÈ°»(£ÁH§ËSv­‚®tÖï6)Ô·£öëáûKRp#Ký€’g
-tŸëê]1ÜJW6– *�×{@Ð1åÛŠ»n{®Q<ÆìcÜØUÚï[j§5Z­�}Í˜–ÀÅV¡Ò°˜žæ…ÍÍúqmÊ²_kì#qð6öË—ßØ‡DØØ{Õå_ï÷RB‹ØÌ)1•‰@Êù±:0Ÿ–#"ƒ½'Z5²ò=5ú¹q…ûÙ
-×­k2T½cA+›k,4�mMÛ³�§7Û^µs�ú®%Lš§V¡Ý0½�2%%ª6åc¦Þ¬ínC½Xz£æ­§#qýÌpÝÊ&RÝ¼)“ë°n‚Eý\Ù-×¯ê™^(S÷[¦úz«¬^tŽuïm>kÆQM,P1q¬J¯k‰ýÉ4oÑä‰Á¶ËÝ¡ô:ž,:z{6%œV—¾O˜>¾œ5·ÖzÝ¬DË¨qHo®
-ä3ôqF—i”ˆ°~^®¹z/©ÛÙ˜QÍúóDNôD¶	®K¶É¼G¶afANXöëŒ{lÌu8Cø@�F¼ÒÞ)9¸È˜íÂì¬—dv©PÐBïÏó+D¶•þ–ÎÅê×9—é§WZ®Ýkw^„Ö*Ú÷Qs‡OÇ�¨ªLèP	iBfwuëÀ'ÔU^ÔøÉûÆÈiŽi“íE ”q‰ÎÆ8àËjÄ»1ÐÁ»¡ïü¤¯WÙÞõó/¾õ ¹©idQwàø°mEÛÜhv\]‡NYœ÷Ñì…ÙáG­Ê¾ÑÊf9´Õ
-‹å.³ÉfMÅ[ë�¡eÛéÝÀ|öK¢+ðœr5dKNGÐ‘Ì\±8ržŸ‚/'ï&.Jb‡àÓ[º;F_Yt—YTô,Té„ªÔý_„�¹ef7¬O‘ˆ�#!LÏ˜u_Þ
-#pu~hìå‰y¶{¥pØëÜ�#ÑÈeµ=×u¦’‰¸f-It2³ÕúÕMêá3é7ó1'’�ÈÛ�ŸÙ+¶i×2˜œQaÞ%éÈ�îUFDÕÚ2�aOõU-Ý�šN˜	#$aLÿƒ2J„ébX´¾ê÷¤è*ä«íkãJÆòU4ŒŠb93«MÄA¼S:ÍF¥Ál…a9½+�<ƒ5ðPahj;ìÖ‘4 ZF'sÝ¼Mú�)^â÷Lãz(=TÝao´f;åÚ‘~P5ýÉ
-5|²!g¶"VöùD¨Å±Qu’Æ°Ú�õéXyæ¸IåqkxócwÅúíU•ñ`lXwÌÂ7ßq«j@¯¨&Võ"ñ3!èFÏ¢Á±5�mF
®�“¦Ò9‡¢2Ì’ ‰D±ñàåvb`U:§gLó6³Ú	ˆ×5¢óˆ‘K{ Vì‘ºþÀ«w‚åªM;V^µjP™·×J{4#+™®À3­çÂ�"5þÀý£}·Ñ¶«BÓ¦}Kÿ“e4]]È/R©YÿùÜ�¬ê6Ë?M¡‘ÔN(Ékr_ï[U®©uL1�.~¯vz8j�ly&bÏæ“êÜ,«Œ˜ì+ï|©L·r®ÂöÄPó„ùž"ÃùrfR+)C…n­´žý’ãVIÊÖìRÙ¬ß0í^¦Ù¡k7‹<3Z„>9<¼¶å^Šrý~Žø1ÑvÛ%cÞ§�S‘"J¨œÿxz·³<r�VU¤��©ª7Ëµ«X+þ²¡VrgÁ‚,OáBÅ_•{Z—Kò*É2•*•�„Ô!Ô-ÆÉ*êƒò¡�,£r‹Ç|[åŒBÒ:?àç0ò³êJôä ÛuÎgP°¦è´3kyf8kø`:ˆò½ê;u2|sÂh»pPÏÀå¦I*T�©\xžrå>›�KÛy/
ÔŽÒŒI:¿�—Õ¨h8À´p~ÖÖk¢žó÷Ì*›o6l·©Vnf;j.wÌÏ³‹þú•]°v=ÇmÐ~ŠŽšãü¦2-4n²«ÙÙ¡�¶deÑ“hllG#7µtF–óÃe¡Kß'VÔë~Ãö……j«v¹úÕ
-øn† —¼»ˆžyFÌçAV†*`¶B9^ã™\uÅìr½Ó²üg¤qsìNƒ€�»,€Tši% ¹c¨ÞU¨†Ì¨Nòµ6T�]¨öOo{*hãÓÐm¯4ÖÌ¹[WôZ›ä•–ú${û›˜ç�\xjÕªÅY�«÷T¼VÙêûé£åJ¥¦ýâxÄ5^É#PëlÎ@�/)z¥!Ô¨�B’Rœl Öm.SlÓï1õ|Šc¨á=¨o@.ë;€Ì@Æ¨”¢¯ˆfX? �Ë¹Î)ÛZOkTò«ªFÝi¥°ÿô³KŸØšµ6F¼
-L¼x>5 X-Þ�¨EÚG.)ôlŠP	!t4d?ìè2P³é¤X­Ô¢®)%U¸&€òW@£€¢í7€BÍPKž&PÛR~ŠÞò+*;�½>1³§3<"eätV<Qw¤Ø÷ÈŒ€ã�Z¶Ù)F<oZ<Œ¸Vâˆ<+T¡Ìî
¾LµoæLï)’€�IÀ6™âÂXÔ¤X8WÂþÀž\ú•ãµ
`'{ôqoˆ
€ù¯€YgÀøùÀd`
öôM,¶3
gf(ÐÄV™<+õþÐà§s¦ÜŠ®ó;ÍšÍ->|Ç’õúJ)v`6ÿ>Ýðl¥¾ƒœC²=ÙdRø|þ6Ãô£ä‚Ðf¢´�‚¨Ø‘ÖÛ!¥gžÅe€0‡é§aDç°z\ˆšÜT™^ü]£%~Àÿ	—Ã"ÁÂ‘™o´�Ü™Pm;¬dÍ.«¯H*L:óvvÐ`TdñT/ƒü‡ø?D\~ÒHµðqÛ’{Ï¨µ»Ô`TÐæêŠOR<ÎuÛ 
{¥@õ�'@µûeS4¼ÅÐÌYãß¼b
-ß¶¸žAW¿©®ä¶Û‰k“q¤cò`61‹ÍUºUš¹æù+ ÿ£"ÿ_fàFÚ†“*þ‘n‡ˆ	ÐHfÐÊäÐûNhP­Ð`Ð°‹¯ô·4æhì�ÐX¨k ±„ž)Ì²®ã9_áè�ÑÓ÷½nG¸žHÆ’UˆZ¥êâîîU\toE#ûa÷�”üOþI•ø¨Ößö47ò¿Ü?æÛ¯ïö›¿ûµÜ6k7 ½ó«†€QÒIˆÙoŸs[Ôæ®ë¿{¥1�å
`žÐGøl|"LñÂ×oYøhNÔGÝPÿ>ÄÿJèŸm½ºå‡—³°û»;®ÿF°ëÏJçÞmßä´[^+Œ®!Z_ÅSÃ¿lH.ü$4¸ý™˜·$få›û�SÒeœ¹.þUh¿Ø‡LnôF?ÞJð¿t»¯êãŸÌ]þ³ûØ'Ê¶8ûFÙþ€w¿0¸Üø]÷uc>wÙàâ'r`X½À–‹Ÿ•»M�wÚLb&h'Ã÷š?%Üºw";åè##~Hw7fåeä£ý$ÊŽ^¥C>-
~÷ÅBV¨ü~Í«ÿâOîêÿ-0~Â•»šômžÖü·¼üÖ¯ÐòÎ{*¿H†Ï÷ö”°ùã‰œC×£S€žñ£_ÊÄÌ®�ŽüÑ[©@—àÃ/ ‡¼•Ãöâ½PßIo€Ùî¹¿E”²Ñ‹êxMî7»t^ùXW=jé7æÍ%ûtÿƒÿiaÚûîûú¾å¥Öë"ÛÐ±;Ø)iõ[GzÙîÆÌ¦«Fì¡Ÿ–§®·¯�`'=ëËí¾M¬·H@ì7z�×I¯š¬ÉmùºrªÅGøH‡©�I�ÂÒ§ÈÊ¸ÌŽyr²"È[�í¥úz¦Â`†Ø�µrùð?
½BÊê˜o¯íÑÉFIôîïÞ­«ru‹ø:õÉƒ]˜í5¹Ö…½—û!s”%{isš-øGË™‡­t}Í(?Øt¸e/¹ÍL…„È×+Üyj¢Âkr�¡	}½Qž×ÔU�y“+÷í/ï®Ï-Ÿé\ù9ü‚Ë¹�ÿÒ“û‡Óèe/£wZíÅ„šnâvZ ’á1
-½êêºd“%°àoëâ\|­«�œ
°™Zp)?î»MÛÙíi¢Lù�:O{wÿ8X™»;r}f:vÙwŒçÜ}3Î/Ë‰Óƒ¤œ½‘/¤-WgCŽ©¥µ×åƒ¥âÜþÈ™úc]ýškÉ©²ˆ²ƒ^Zñm÷�Ž²&—noùÖÄá‚¿²ã`Ó&ƒÂÛ"Ç)!·	�ÀoÏ£*9×oŠ.ûªÀã9[©�óóî„B­î@«coú�Ž
ïZ=KEÕŒuÝþMì<Ffýq‘5k8m¤i42ë¡þ˜—§z+ÿšßáiòÅ5,?““Ù=m‹6´ØÕƒ>¡¡¸˜\=Ø´rM?îž…ÉU]<�˜¥§…^M>ª50[8agµµ7â,²áÍ,±ÔÊìf!‡íÛÔÑuÖÄNQad’QyD^_¨á43”þ˜[z+KˆC_è‡\aëks©kùýª¨öÒZV…Nó�²íõð{Pdr><×ZãSœñ‰d‹…Ø.ôÙÒl¾É�ô™«ìÔœf`ÏÃ‡ˆ›uÚéåxÎ†×lßBöüÐÄŽ¼=2ÛÊÔ¸îì¥Ñ §[ÝóÜƒÞêíÎ?àÐßîîCnp´ù#[Ð
--¨¢®J,©–J[‘£@R*zÑ¨çþzPˆœlÐOF&j¦&��ÞH²ÝøâT??Ÿ{YkÞW‹>.ÊµZ83˜rZ‹MžøUvƒë î¬Ü|ÑÚ?Õ²‰ïBÚ¸…1¯?Ï��žA sØñÈ‰¶,±­8`×jÿ.Ô²;L²ïJu3ÃJ˜ ·wU10%ož“lÎN×üýûâ4î»ÃÁ¡÷:=vpäzY„3Ä æÌs4šÛ\`âµ\¦wm€õ[»)Ã¾Ú°îjÖÂºb¤ƒxQgñ9ÌWMNÝ@žôª°¹7å–Œq÷=`ë÷R6á÷F&oH,9Mä,Ñ/æÙ÷X!×{ïõrÏWC¼—=^[â|DJb!k;ÝpQÞuKÅ 'Èf¿%T¨§Îïï9‹ßžŸ½ŸTíhúx9¿z×ÈÌ~ówß	¸È›/Ú‹1b–52n¢ñÊIøPèUŠêfY@Õ§Z\£º²ù’5iœí™ý§ »é0«Ïú€á…=îâmÅíÇ? (<6—îª¿ºýr© lª&½É¼}�G3°Õ9îºC°gõ/M®÷5ö¶·,ö6×~±‹,¢Î'eé5�ØÎÙ]�­�}l±nzW6à‚¬óšK«ƒY¡00ØUUºTÿ•9rýr“z ~ÖÄ®õ´º«ûÓë–™çLøÏ¥PÔö¼ÕŽ<:äî#d;„¿­rvî™2Ë†ÀºÐgööK~/ÛÓêôÕÎè<Ý
-ð—ÚêìŠÖsK.QxÙÏ0…Ù¥bf&=¿�wÍÙÞº”†þp*ê°T\·	X)IÍc³ØÏ}\\ê¦+Õ;éh)(L[â#¿3ä±\×îŒº]�»¬»3Î–Œ{ß[ÖUW—öëx|·§S´ÜÎ¦
nóE§•/CF”„€�*ù{SÒöT†X9E`ýºÎtAQ¥ÙÚWP‘*Ê<ÊŒ (Š"(ˆâ„ó,Îzÿe÷{ö>Ã÷ç©î²ªMÒ$3"z±BÁ>ÿ‹hõBrÖìéÈø1sÑü¸x†‡÷æè?6ƒØ›½×Ùw†dÒŠ3X¾ºFÞ¤¹1±â~2z™·¦Ñ{šz”Yy¥�4õKz4”²ÚaªU&ç4×ò-ì¤.¨ÒSE<· ¬¹-£àS¬$;ùº#S‹ûDò2æUbc�óf‹‰ÂÁPÝéØÍ«èèÃøP„D»wÈžï‰¯NV~éµ´ÎüÃlk6[C¡sÖ¤sS¬œœçœ¦£×µbM/”TÕbOjª‹&ÒV‘â+k—*x¢ÎäÝ¸»—éÜè*gÏœÄ±<%&IOáÚÂ�’îÉ‚¬Þ>
-úõ¬:µÖþ<§»î"fz~6ˆ‘þŽ
-Ûº€ž?×î8¸®]¼cöš×Ý»VŸ">oîÝm¦,ŒxH9:¥ƒŽ.h3
-WÓŒo‰|ÊŠ=‹«òŽ›2Ýˆ;’·[ôÅ½›Šþé³î<rúYð/sŒñC8/ñ Q±ŠÆnsíê�›±"Á™É«Ê™³ËÍ€õ¸O¦ùþä¦éÄ0^ÅHÏ½²ÁÝ.Ü»¹´kïNñÐ~V3u«f8B¥“lsúpúÉ” ô†j0ùdTŒ½Iò~?Ö¤ÓÊ©ˆ—X³D±`´…~Ýø×Öñ%ÊIãäâÄ‹Å2w{r³)sÕJÈsp![eëõšÏb8´e6»Ê4«A™iÖÐ.ÓTsfã:sÆ¸‰ŒÖ¨a¡»ÆúL&ŠÁ½:U	;´éåqbkÕb+Ýaì\˜Ôã7\‚ó·Ú€¢‚ÒBÆ¤ìc^ê2¡*Š;Í”%QåKÛB«8ÍƒN²
-®º!bv%;¶þˆî,�<³µ,Ži¡I…!·•.íR×t%ÓÌiSçF]§ÎúÅ£:·¥Kuv“öŒêÂé¾~i1�•¯4ì�ùã­(ñìt†ŸYÃx‹íêžHtãy)‘êš½dw-g¥îÞÀÄÞÙ`„ÁM“~ ~t"´âôš3¹ùáÒàöî±¸pê1ÛGaÊP*·¡çB»ë{Žf›C%äB§ºGÉ£xï¼ {×AŽ”E%¯ I<NiØ�¢s8&Œ&M—K£¾-~£z×©€þÑ7*í›S|«ë¤~µH5£úœJXÏŒ:ÉKÐŠ—<?sd1‚"·˜Üv=ß,þÙX�›µh¯ºñi#Ê·‰åD	‚“�·û)C†�$eu¬/À¶‰h²� ßø¸ÃÈ¸�ul<;­7ñl¯Üœ
-1)� òHP¹<Û“z&ñG¼«Ì^­ÞÛÝ×kÕÓÀ<Oºé‰¬O¹—¬0%¶ÀOêÑ�[ZÆ‡C7m˜m’}Ši³OŸü¾Js÷¡IÊÄ&ï£¥G*ÙÓ€xÍÐ1¬ZG¬¢'>±s^&	Ïí?
¬Êºc¬°Qž?º¬dÔ:*5ÔZ”(jEf”!ü˜J}/'	Áó³]3¸ëÄP¶%W¯—:òÐâÊ­9wKµiN“®W+Ö°èÆ0³Ó�.®ªG@ùhcÔD*gF F¼¨™°TÅ§r»…CÃ¾�ÍK§1Ç¹º2Í+Ú(ìÈ¶ApH+VáCéÃí÷ù
-·“9·'XfÊ¤U8ÝßµqfÈh>Øªa:
é´ëMè,Žv¼Ž4_åe5¡pUŽÛ®FP¨!F­ÅáÓõ‹|6Ú'<Æ°+žo?Ø‚jÀXº•“èš›ò(¬Td'¾«Á-ø¨•C˜�tâ¨àC›Cþf¡Ÿ¼´©Pm´ÜGãÜœìÖ¹Ñv‡ä>Ù†©ü´©ø <Ê×Ëå?ÆÊ÷Y¯äOn¸Òi€PhwùiOYåS=#ÎÚ€�U t,ÂL÷äÜÂe™Nþ’!&xç„ìÙÖæúú¹à¿Ïü]÷²ù~6F¡—¹c my“ Ð *9c§·²3Úíe�í<cÝà3ØÐ•, :+�r
:ñü­��Cü±–€MÞÔh}­Wû‹©ö”ýÙô+º[övh¢:’3¤ˆÀSìm	»zÒ \¨±I£H=ê �­èÎ%Ý/*«äi³LýAoÀV•Ïé»4?Î�ã	È	 S˜rŠu
�S¶›b2ÄÎ)Òý‹l@V÷6 YoHÔI-“åqUõ­ê`¿�Øá5ê4ƒO¹Ôüª€ÓhÜ+ï´¦Q¬Sµãðü)gGÄFeW­ð«f’š.1y�‘c©ÿÈ«ûÆ.c£ÆPa�"¼¤H>€:¦w:ut˜‰¨%[O1uf–¿õäÕð¨uÔx£ª©µUAÒ‚ú¤¿X˜€|Ã­Eï[T¥ã¥óGlï¶�¯
-¸�zaÊQåY²�›õWÌíéNz&ä(ñÂìdƒúTðÎ.uõè‹·LïR|®€¾j™!šâÆ&«–RLm@ßá0¹á0ýô#Ý�è§aúø	½œîÝíâ€¶ë¿•+ZØ÷M‚Q_ÈaoXúuÀXÍúê€«—w
1`xqU‚�¸àëƒÈ§R±†¯°£÷à–«>È`NÔ	0/þØ‚š¤¨ÝR,~«£,œÇËÔøs°,lVí«¡›ã7`K2�âY,ßK_ ”ôß�H
-0O¢
˜ãxš¾Av÷ÇZ¢\"¯½ÇÜV)ILËåÊÅ¨<µÖ�zÒgz�b–Wˆ1¿ÏM¤{±¨rÂPàá×ô­nç÷ÄÀY8ÉüúoAwÎ®‰•7	lÀmsa
-o¸ÿu¾¥óÍí»uÀÄ1àŽ¹;à{pÃµ¸Qw¸îãþÇ\bëîûÎ ×kÕ··‚Vùð]²DùÙ�¤'í=ç±ŸG�6ê…|še78©=ø÷]þƒÿ)þ–qÝ	Šô[Æm«ÍÌ°ø>µüþü4*Aê8@ …EM½àWcðënð“Òþ·Ò;yçº«©<þæº]Þ!r4•ïEg;_Q^îcôûÑÌOæa)Ã´Dæßä/¾õÛJ[ø·
-8s×~Õ¶ÿ*œ†
 ÖÔ��òó,H÷HûÐ2Ù;™ªá@–Å*�§�ÞÎH	
»‰1ü±–ð£—n,.£ÜÛ…¿™¿Ýå†‡ìs¡Ž_Ð‹•FÆÞ•?¾¿£ø[@þ§Šü5sø5þ—÷«»ýZð~%·_«ÛoÃ4¥e ‹¿jÛ¼Úª¬œ€ÚV( èFŠdÔEëÔ(ù>ežûoµEúo•ÐQç?ÝÇ:‡÷×3Ê1…Ç§*�1\å~µp«¶t�ñ¦z¯ì:Æ=ïô«·=iÜj§¥s]gÞï-{—Ös?º¤Æ2ñ2Ü)a§ÃìÙ/ÈòIÚÆeí+!øöÅúÖj7;³ÚúC ÿ]ýÂ£Ò1þ*FK®óT§«ÁC_œç÷Êæ±¿ÕïëuÍAï+ ¹ËNd‘5`‰ä¨JLÂŽYîœ’xæg¼r
-a^ÿ�ŽÏÿk9 Úil×êôÓh¸¯\ë2d>jÑàÖìf[ýí±–!«—ÿKºú¿†©Nø‘­qìmAÈÚïÓèg£~¡BÃKÜ—38û/>…ygu|ZÞ_Ë�1éÝY×{í+‰ýÙ-„zv»VhÛxWÑÍN¯’*®sk¯ÐQVI}b.¥c¿5‹›Ñ<Ù÷hffù§3Ö¯ÛÀ?ˆ-èÅý�1>²Uó~]S›Ë…
-¶™s÷3G�Ücú.=[cznîÅUsÛxÜ�zÁúXî
~ý`k­ÑŠ_7¦Ë�¨Í—Ò¾µ^DLc7ÿtkÇù˜w¯ólØ{ÏòC?7]Wt²³BnBm>æØ£zÑ˜=•oÿ²à¯½ü?øÇ6î•}½´.Åíñê§Învµ$ù#]]³ñ$·â—3l)m—ìB=.¥y6èk³Ê£_Žj¿#ã 1]CgŠÏúÞÄ�B­&ƒ1»F?ÐÈ§û³á­3Ù¥ë>‰"|Ÿa‰™½1ÈÆãQß„ñS?¿b¯ÿÿ§t5ï¢þúX*u–!
-æŸö;þõƒåßÛ¸öz$S|zxLœü3;öÐ<JšÏ4æ<<™aÈÞŠÑÓOÄ(ÍtÕÁX9êý}3û±~«÷Í\¾.ªx"+~Ô³ñÆ:Ø9Ók@�qÄ?vi<æ{B?òÙû}ÕMúûe×Wf‹/¾ŸôŸ1þZ!l×üÄ]ùÐ :ÿ8;m–ï�kS|â8c1ƒ¿7FCélÌ#õflúK;õã’qëç§Æë
-­|9Ó[[%¨g£U¤‡oÚdà�M& �à{l_í&þ¤Òåï»ª ðžcnêi¹ðì~æîÈ§êf7� E·ßŽ›�°m’zï[ö>F22ù�¶öš—áãlÏ³COž®Õ3öàb:O4,>Á»Ü�ÕG#´rg·gÃç^°k<Fµ{Ï|�~§SÐyïºüõ}êÜBèÚ‘^ÐÓ{qài*ïŽ+,–ÆcF¾Â¶c«%·ó›‘éXäÕm­=qÒ²¹û½…_g\Ó‘•&õ’›öqHÛ_œý9¼ÛÃCw»’úV<[ÆŸRÙ¼5
-ªm.Š4$Ó�•]¡·6£_‘ƒE‚Ï}­Ë_ÂjGzø¶©¡ë~ÆQà¹hàfg‹IÛ„ãY;¿Ú­ß¥7•³;·lúólîº…l“ºq˜}Þf_‹rÃ×¯!d§ËzØnä~ º¬B‚õBê¦­K•/Ž¥Oé²NŽ•Ã|¦[Ëi[¬Gý‚ÔŽ5úðeD{9ÿè&®ùìH÷ä~ÎuÒÍe;B» KŽµÜÔZ›â©Ù"¦¯ÎÔÜ›…°I/s‘}êp±Í]…U#�ä}CÌ;×zß
-?Ök³A¬a«ÀYài•k“(éÔ LmU­†R¡
-›WÅ\Ádõê+ÈÜ[Bó¹|£îe†íÂÝ4î¹AMë­ �	\-8‰o¡+uŒ¬—É�¤]-½�ƒÉ0Ú<®ÉLKŠÝ¥š•Æ5
-
	�¸õAsâ[ïÃ¤o�ÜÍØÊ|NóÚt’ÛÕòšTçs-Í,ª fÃßp&.ÒåJkàyå#J­Ëî5—ÙÞH5éZ3ºÏmõµ-×?‹J¹{Ÿzt|~’Ér`aÓ¨çÎÌf÷áaªWÎD¨³®¢×¦iöjóÁ¼Ð�ægº®&Ñ‹™’•�cÕš‰�vuáÝ*r/úæº_˜ø»<©ìVÁªBã“cù¸»<ÊœBæ�äÝdAßèz8#ÚºÜ>.KQâçJZÀÊ?P	ˆ®Ud£öÅº÷›b­]÷9†ëË07>mûÄô0	„jèuÆ\©Ü^µvTó´’_
¹,^ë€­åj³\¯.á[E»=Ù´o½²7çµ
-½œÛiÛÁæí2·=øFºñôû03Óû%f«+™úµ4lM³%p|�Ú¤SRµÜuÒRg¡6SïP–£…¤Ô
¤¦Ô…ì,?NŠ÷ìà3VJÉýëØ�î0Lå1ófxæ¤Zu:[´{�vÖ*«PR]Î2Ÿt²óp¥æÉrg˜-WW±EzÿHÕJoŽ²KÃ‹ê•2¢ÞÓ¦Pw¬AµÑJ�#×³
-7ÿç]Y‰.®`ƒ­,·cËäd3‘Ü¼÷‘˜!Í§ˆ-‰éDµ/–¹B«0=­Ç™Qéz{"zîñhÙ1Ÿ�[/·ë-ïÅJ
-;,TW£÷¹âbÝôD.ŸaÖ�@ˆè*äS%qŠÚÔö
Ú{†Zc¼ª
-ŸÇM¥ÁÇ»%y;£æ2«{é°¼$–¢âù®‹"¯ÌBo\ñ�ûéÎ?Kž¹ê”~jücAW…Nž\�87œN?ï4<($AïÅl:ÓuvØÞ–g­f0TÕº/QsgÃãFI¿�¢R¯’>—óZeLcjmV •Æð^”w™»,S•{)IÇB¡&±uÂ“¢Ùùž3nÒb#HËì�ÖÍ¯nãbqL#Õ¢~š¸˜¯^¹XPX.&6&ç6Õ_˜sk¡‰Xç‡y§úÔC»r¡œÆü�ü˜š8‡Ç²mŠzÉ‚é=Qñîä]×¸ìQ‹ÛÉ]µôKF±åMAvJ\ò¤-úiŽ%
- £
-a9¨ðÏùÐæ£Ú¾Sü\À°8äU1ûpÎ¬ývËâ
-¨À°‹Í¢Â¢ßcÖ'èÌØõ-ÅØºb0ëQ»Ê¬»usÖ¼vññà~„#K&²¡77Ÿ~tª½ER›;žTð¬U®5˜S«Å—6Ö;eƒÛçHÞËþK:•H¼HuD¸k%’‰$ËkF.Ž?E£˜3D‹3ge—]2�>k�÷sõ‰ÓÌ¥i%1»Sô¾fétÍúÔ©9ÝS§J� ¼ç[£¼Tþ�¨MVb·â£Ïì†6ê]\ûíƒe�xè¸µl](.ld·½jµµ*pÆ ífÕUn·“N't/^®ôM¸?éÿÄg +–•7ÍUõ«À.ãGÁ²Xám2ÍÜbH\	èýmÓŒ|IÇó^Tgµ!¨¢-kä•H:¤èv·ÄÕQâÎÑo®ô_Óî±EŽrL‚
ˆ“\ø¶˜û£Þ$óíÔ
-*ö°nNçuóx6$ýÓßÂ*.R‰(�û–N	ŸŸžEhvÈp5øŒ°
|E2[g[¤õ‘L»Ø¡B�{o›êÊEŸ*¾Úc²WßïH	§Äc7D bÐ&Bem|ä×Ö¸N²0žt%<ãŽJx¦Ö+Mn‹34ßOâ�ÆÃÝ@_°K®Ï‡æ£2žÖak›e¡ëR¤§é>ùOs¿æjûß•Ì®™æ•Å»Á‡iÝyÚ}u1*)õ˜tÁu²÷”Hiq­y„º-Eø§5\áú\ñì°	cqé%b•›ÓD
-5Glzz!v…GÃUQDh¨éYùÒF\´L:<w<Pkwø�øˆ2—æ`—_Y
¾ê›Åk•f�:'wÊëLqF^6]º.i®ò>RþNï1Œ¤ÜbóDtäqp*‡�/­_…jNìU°øqha- K´>G­Í>A6y8ƒØ‹€Eˆ:mÁÎt=��0°Ó–8˜†U¹páÒhôŠƒ­�³!ß‰i¬°Ž¥4ómÏj?›^ù}š£ñ¾ËO–mh«y_”ÄÃâVyâH½ùŒ~‰—Uý€ç>î
«½»Zo'Š±�4}VCH¡aÁíþÀ+œÞçQ¡3wùk®ÿÎ‹Êƒø� þ¸nä^æ^‡Û
êKcêS	ÿÅp.NÅeëB/ìÜŠ¾™´·Q&h›;^³MÐ]]jÎº05Æc©¥RI ŸÚa)K¸Ÿü|†âÙ(Í,ª0^Àn}½/œ·ÇK¡ëdßùë	…ò½ŽF@ƒžQ„T),åFÑºžËf²~¶RQãÌ<ê�2xfÁª×(‚�µÀªŠnÁJ™e2°ËQ™ê\c¢5tN?ý>'¸JðêâÒWì5çÚ¹Ê
-Ò˜ÝV·j‘(ÌôÂŒrä ×Qù‚qÃh"ßqÓ:¬àã.ä>É0Ìeï“IÖT6«lþý:f,£pÏ 9%ìjý×E“€'E@ h9…×øç3p�¿æs)æ"Àwõô…¾¶xõ’~OåÈVq°;BF[#Á=ã«ö(ÒZƒ¡‚Õ±×è^Q^÷ù¤‘Ýl[¾›%vÿ^àäp.¿ÐÍæ±ËßOá(ç‚�¸¥)N@Ä=E=›bC"$@’a
�TÞdÞ�²ßñê!€83êïµ¬.]@ø‹ š!	ˆòM„”Õú§…Rë=Òúê€»HØ¨´}ÖíÊãŠT“Š~KÓ…þLá[O�¯…ŠNß²
-Ÿ¯w×cnº�b@)íÞo
VÙL¥¢@±Ú9EøJÿzÏJ“i@q‘
-¨b¾‘Â
ÅCk@áAú#9Œä}VäÁL/w!]9äy@ÖæW
-Üçó3§§nÚNšñ}uÀÎP7[Ñ¾ Ô	£W4ã˜hNÝ€Y/¸–H£dS(ÍÀ™¼flÏ;
-€.ÓÓÂ,…³M±»þGlÀ€n-X@;xé·kºM@·¡(E°´Ëd][r€ÖÌ: ÑÏÐ™ÃP»­¨Y©•bØûZKôwñ»ÖGlÿU÷:œyŸ&YÝqYÉFÅ¦�¦×B
}WÃšAi•Éb|ã+ÙÆûµÊþþ–ÂË¤Ø¡€Q`V=0ëLÉ­ÛCÀ\ˆcŠ%˜«%f—w¯¿Êá¾ã6K€Ñè`8'î½+ú£>½VÍtÀÆœäßÊµ<Ü
-p/? Óvšxëˆ
-KÌŒÌ®*¬éÞþ­ŽçÏßzrúå/v·ô‡ö,Ø{�\î]Ùl¥x
'…GÀ™Z!ÅG\uÞ\­½œ&æW$Ê€ÃÒéåðÖþÛb®CŽ›~ë½àëiÆGågRE—qDceç&VÂ÷’åûF@,Ê™4Ú¡œ³J0ö·vló¹¿øJ�×�Â¿Š¸Ü'½AþTrÕ7Š^:AÅÅ«ùëüò"À3ìðÊ|í`^ë„€/i'ÀëxþV¼pˆOV¯_s‰¿Ö+«lFð•-9ˆœ•Æµå‰ã8dBšÑÐC.¦jB…xSü}—?ïý[@þÖŽ¿ø?uÀÿ½‚ûßŽÆ>úˆœqqÅ€D¿, µŸ3 ¹;$®õ[•°¢Äë~Ä›órùv)øc.6Û²¾¾æqùUô^Åvæ¼¡Ê¼¡�uÆ�ª‰�NÇ³Èþ[üÿ§Šü�
-ø·žü?tÀ_Éí×/!„@.’1�‡¯;Pà=w]Êó¼*}ÎUÙ@U½¨»*ç>þw	´�ùÖÇ¾•Ð¼þŸþc_3Ûúöeg·ÇÇ<€‡¾¼ÙDÜ+;ˆ¹çR¸-è¢rC:Léº.Š•+Þ+Ö.;I±/TTr“£Öì%ì¤?9'åÓæ:óúq|6ê�õ/µ¯ÑÀ·Pû¯j-»9[i×¨üï�~aý%Ü”§:eë÷Å½{¾©oµCkqm$îþWÓ+ô.ª?x&î;çD�ÒwŽÃ_Ë;IËè×r d�iz!>­�vÐ�ÇÊ>æžö>ßCº[|ü®=„:¬|b‡­øCMÿé[¦ýÛ-ë«eýz±þ_}è³Yæžolð+Þ÷hçDÛÔÏüäîŸµSxT×÷ñ!ÛÞÌö•ófµ[ð›Ýv-ÛÆk–lviÐømœÌòµ>Væ`íåùUb]ñå­yfj2çúýPžÅªØ�åÇ¯ClAü§GÖ?øµøÊYÿ]OïÞ_Aã¥uwéçÒý�·£º<ÙÖ
Ù-¸³]‹Oi³S?ÆÚË«+~7–!;‹§wêiÌ?�Å`®_ãÑ<ÛÛÍf•çz/´õvº.ÇÇÉ®ß&ÔzÆ™Ã~Ÿw
iÄ'OwŠÓÝÿe4ð_nLa¯kjxüÇuõ+]ÝP£Üråç/û¥´¹ÜêáæYÿ\˜åûç4‹‘Ñ–™ÚÙƒ0Ù™eB-·¥ñ±~®ŒÙíÙùÔÁÞ¼­3¹k7z�~¤>3“Á'*®¨&ý¸<Ïõó†-ôî…È6Úüq°©ññ‹¨‡ýÃW¤ü¯þ©'ÿŠW7­—Ø\ÞjƒÆ|Ìèî,òáÔÎ ã‰“§Vc¥#ŸÄ/Ã�EžÑÓ'2ƒO?
ôwdG(Ñ�ušé›Y�ÿ�Â…)È¡U0ôÞºnV_šÁ®5öêxû^Ùv“^ëÝå_”Ð	Kg¯#g•©÷Œ™É?¸Õ¶§óW^ûµBX³“ƒµPwÉo­–àý`�½2fWKsÒ};R¯o ?ƒ~ß�qhAíyo]ëlzéR:;{x	¨}ÿîÛ³_ýê6×Mº[¸ëóW¢slGz½E/Ò1ÃýÄbÃ5
-íàjÇõÓ¢�ßÙgÑÖÇb’¶c±Ù®ƒœo�/÷~]²�Ó_s%Ñ™îy#F{vìÞè0¤\d0uºŸóbo]¥J�ƒçMÿèPÍnÒÁ½¨Ë_©^'”¨ÈK—ÒÄ‹4iá~&üÚ—õƒ›�«çv\k<Úùµ‹ð­ušÒµlæ)5w>[mRw·kØÚf?çB#™´Õ'«!@Ãê?Ðñ•m-6íO8]è• Œq¸Ñ'„½*S´+•{om"ï€Úæ
-]Ÿ=áé¾a=õ½‘\#»,µcsc¶óË}ÃYÔïmÙ^:­tDa?�as×A{ÙPWti{½·Ù§qmøšý©ß&C¤.C—¢Y\ÅÒÐu¯öÙö’šAãh-{j	Õ¸Ó’¾Ø×
-Óýò¹/g¨5�/ú´;�]í×Nß#»‹\:cˆØyÏpxt�LçÞÎ/ÜŒƒl\¸…ZDÓa»œ}ô»¢í	#­‘ôGå†¯¬¬úmuhÕeüàYQø-MÁ&µñˆYÖrxõT�w³Oµ@¿1Óê*Òd¢ü©U±gþ²BÌly_KØr¹ñ_lŽÛéy‘{/¶Sf²Ÿ
ßá¡?¨Î×­Þ~”|A o4ïí*Æ¬Z¶?Ø4éê(±¹ÑáÓv·B]~Ýð4ã6²iZŠãbm²Z
*H•êlY©Wa¬æ˜õžë›˜4VšÑaQ>`Ð±ÜÞ–ßÆ™aFq+úµ¾ôtqgïJ�>W(
ªc>ÅB,
”±°º/—hÖà×‡ñM|­¢X�ÆáŽ}v[š�R[eÛKä’iQ­Ò¶¼ùy]ÙéG+3Ôï5hkeª5ÉGÌU’&ŽÆÅJ«KJLô²;HLãü¹5Œîæw%ë7’ïë½C#.¥gÝ¾�ÌSû”UD“YËz%G­\ÁJ53¯‚š�-AÍ‡¦¨,dYXŽ´Õ#¦v·dÑÝ`	g½Ê†ÝçôR÷òŒ+:dP(ü@v�Î–‘ÅgÕšlÌÆã–Täó**³5üšLë·µ\ÔCÛ”KÏ»c”Ò¸ª}Þã–f4Ž�–#�‰j¶¥�ZPFwÅ=
-jÔÙž�?�LÔ&Ki�6s’³yñ’³Í‰’3y	‹Êdõšræó:œXÄ¡¿Y•–Áe£F]àZ_ym‹MÓùúÛ[Þ«K™Uèš5/s¶w0„~xÓåUô)
ñ_o¨pf¨fœf¤–Þyµš¹+j!.”•:Í5ôduäfÑ�d2s[Im“ºHLÁÏ‹�ú­(\vKÚd,ˆl&Ëß“6Çß×�¿�›üÜ*'`"¼>÷hiò9<èåµÿhÖÆH¼6±:ö²ézV»¿ÍVAZ�/Ä¥×›Ø”2Yâ¤A4}W«1£,¯b^Á$“›‘BË¤Vå¥ö¤©JLsV;‡}š¿ˆÅˆè= Íq2>ñª�+¾=‹-Ž¸O­˜iõÆÜ”®¸)³Ü&ynòN?eûpÌŒûgüÕ8ë²|{ç«bkêÕhÓwÚk¸j§K¶X[\áì¯«Æ©±+�Ì×Xƒz³¹
-/ö{Ûl™<Ì’ËÎ�xöW±x_aBOÙ2‚ø~KüÀÆ^%JvqÔnv‹ºršrÓ1ºç*†÷aç³Å"ˆQfV|ø1�æûÉ4*]*ÅŠO³«-·Õ]vô±ŸÁ8÷oï¶î§9_xˆõ[çµÒh;±†^•BY(¹G-fÀXÁµòD¦ÊõµÄÖª‘·KAj?¯6 wñƒ³ùt�ªD1+·x®2ìª\¾~¨±µ]Æe‘°:b¯á†ÁG…'½Ó‚¦f9�:V×}ÊCFwÊ<A¹—Z‘r7:7=³Ïü(‹Ó`€oü4ë	øòÜ5ÄíÊµåõ°Å�ë­útpSªd¯Š
-6½¨‹7:•¼26ùOf&È¼åµÂãX4°ó•‹[ç—?&éFÅ=Qf|hÆ®H
-½[T*´c�~û%ÑE(
R¯õ5ÅIË;yIï&ÒnTâžµ"œ©	öŸ8º8K„µ<;¹Žo…aå&dûN½ƒð¶¿|UÀ.a>'Í[2ñêy/_2Y©Mè£â;½cì•p¯žû<0{ã¢±œ.9s;Ø²Kjtf6\ïÎA˜æí�1LÓƒEyŸ›@q¾L^š­&)<¶!q�ÈÑ×‚¡d`V:^*È¬¨Ó„MøÆ&ø‘Æ&Ù5=‘ì-b
-Oå¢ðø£n+È¬)'—À²,¶\Iz{V×W�œÒªîiæüppQ°ÅO™fTÛÐÐ8ÒL¹•ÆÉTgÞz“WÄÏ“¢D?�æ	¥ýÔð·ª6ðágàããcS¨tÂÊó„AVU@«Û\­NŸ{–�<²<E²\úTzCd±
m8ì/Èå¸÷Ô�[å¤ÍôkkûÍq‘…{õJ€Ë²žc¨|t‘¯»â˜!·€:�“Åçžs²WËn‰G‚Ÿ	U ø¨/dp]±Pl:rh¬¢/d,ŸËšè|ßèü@(ÂÌ'È*!.t3ðöqpËÝ´`
-
70•²0yõˆÂ¡eà#c�'M'Äz×
-ûºÐÌz«íäáœïóƒ=ò¼im+½Û±;6J…O†”„Oï—b©Î¨dðõlôð1o�ñlè-0³0Þcùåî‚ZXòB‘]BlšÆüdñ°Su˜ºÞšOfûùdØ]ç}zA·Ø¥ é
UsÏî)†Bd�ÎtÓ8ºq:œ¹,ýuÁèIëÆD?ïÙx8¾]lýy[ÕZ»z¯¬êÇªºµaFT|õÍnÖý5Ù×²=tI�\Ä¾lzð^¼Œaç™[Nšæ/…�/ùKÙxå¨_€úÈ�Ì½ü‹”Ó¨™®åe�d1ÉÌDü”1!”)xªš)”°0c_§L|îä²9xRˆV¬ÊõYóÉQÅ¦º¦}ÇÜ=^LÏGÊOÛˆkÇªçtF6>ZŠ{'‹B–°³Œk,÷„ø!BF'/Ž1'÷®B~®´Â¢\¦¡Ì²å]y“…œ ÉTO“XÏ€…�¢©ÌùíŽ
°¶5˜›=¬¦Õ$`Åb`™Ó 7á“¢]l?-1à<€Ö¢Ø-\4æÛ¾íkÜÐ(¼ô“)œ:ÃZ�,)\eø"
-›V—¿w¥ñ“B¢Ý½lLoíôFR›÷\?Åvð¼LQ>¦˜½ÞÅ�íbŠWà¶é¥¸Å/×€KÙôUjZx!ˆö¶[m
-¿×²Î‘ýãz¤öúJMý£^i±è2À4Gåd‘SüT.M«#•‘œº0é�æsyb¢O¤�ð3hH^|°)Ím@L@„Ð Ei–"ØþÖ`ÃÓýb&EŸDû%Âµ¬· ¬Ê2Åû	ˆR—_4A&€HX6ÅNéA¦¼«ÓòWÜi,‘’s3×X ÝôÓ7Ó¼ø¨#(<”%Ôh±K/½—‡Œ5
-Áµ�fRËlõs
-¹ÂÜåß?õ').k@ŽÇÚ�ëÙ¯(8G¥p´Ï& §��1tH¯…{Y@¶þ¯"X�€DC�VùŠ�ÿ˜KŒdÃÏ¯®u÷¸ùèÍÏkÆZ4œÏ”
XÛ©3&üª3>«
-„	Ý8i•o¹¸ôYýÖ“÷ûP÷Ëð/è¯,XÛ¦ð“Ç7 žt!…Ç¤øè€zµÚ€zg&)‚3 in¯jâtÕ¢6€2)Pò£
-(¦ØNÏÊ§·ñþ¥î#¡Ö@#Œ4åEãU"¼ÉJÒ–H�£‡Õ*9¡o<JÏê…< Ø{‹õ0Â`Ðñú/Àb—âsf€ß,!€á³\ŠšžâáÆèÄéãn€)ïqÀT¼2`d6LáqôùÌz=iz‚Fßsÿ—
-X_žã«ü@°yº[n>V‡z«×
-FF&—;™|¦…÷®ÿKLW.!7®ÿùÓ¶Šc€m·Š€í_
ÀÎë.`¹`�ñ°/›ú­ô¾ÙZŠ÷°É,ýî&=šÙi:Ál˜�[ÌyL;ÓneüuÅb."W® ãœÊƒ×Q@2ú˜~ffÞ©zá©\˜,>¨d»Û¾þ
-€Süªm¿:`ƒÊþÅ?eÜ?µÜÖo7�¢"W7@Q{¹ X÷cPìêOPãéëw7Ë9(nŠ±&‚âL
-@qžÙ­%ÒÝò·ÉÜðèÖ ´#~|‰1QÜ°üÝï(”iÀáf¬f7Iüµ‘øGüOýöð¿úºýÖN©_ô_'Þø•»Æ Œk ¢âˆuQb—€¨?�@´�8›ˆeDœÚ½Ô±‘v\5Ÿ’×ñGT�A¾på¼cmNšÏ“�f­öå0y/üu“ø§€ü­ÿãü_MÝþeáð_MÔþ¸%|%·ßª-Vß¹«@@A´P,=úí•vj¾€r.‹@\ ØãPšìíÿS	5±ÿtk4ÿcf«,³||èËæýc]pÏ·zù[í8À®k®Gþ@W<è±—Ö£Ë_¨AOúÇr aÇçú9)Cî™Ÿ“áéV«ÏŽê¾~ØÇü4·[(%mW{ß;œaíl¿½öÐwý[�Â�úßžßÿ÷@eø�X¸Çˆ¯ßÄ¸qCÚ‰m$ÙÑ¥uÏ/÷�ÝžýÌóx
-óÉåø´Ž÷c„>?‡Oó’9ŒÉWþ XÓåÈ}åBp»…HK?Ðv­Òú&�àk«¤�z+~çÏ—·¶•K••ÿøÁª·›ö­Õ~{d}k¢ÿK^;Þ½ï••ü¸â(›¸Ï~æ'
-!¦ôëÓ‹ˆÖAß3Î>ß…Òë—®½-]ÓS\'ëcù<[{ÐcµJj×íÊGÞÇ¿�¯,Ôóõ3×o·ü,Vòä,?’¤ØÊêÓuU‰§ø‡(?Ð·FûÇwÀc2è5Êú·¼ö·Ô˜°ýíò¨.Õí>¦øË	ð÷f§…µ—++~ùb—Òö%-Ôã%½pî^™gƒ»5«<.öo·¬Á«×>÷ÎtmÜ{S|vL¨Õf4>6îó±G »QÒ®#þÜÌoÝ=ûZ5ŠT~>øŒWÏÙüâ¿eý×R¶ù�NRLM¾âÕ
5¬vVüBŒ‰Ås=Á¶³|:ÇÈzLñ8Ÿ™PËlaìaYl”´²ÔðæÞØaÈ~„èé?å(³¥H}àæà3àƒ±ZqÙq-ø}²>×‡‹ê|Z|ë­íÞÃ%+p80õ�±ñ=1·þ_×ÕïÿHW· ½âç®9ÿ8‰/$¿úéªÖù„‘Þ•Ã�1gQÄëÁXÖý¸Ä�ûfF»‡‹Šö­|5"‹f¡g£M¬‡o:T°k‹u˜ÈþÑ=•}6y5º¾Ht;·�9éHŸõÉÓ 
u?ÖrÇÖ*úÕŽ¢£Á?ø:ì£üs´ÅÃ¦³”Ö¬1«\aŠ�ÛÔ(iÀÌP:eäÁX<ýÊgU­ÜªÕ³áU7Ø5¶ý€ÚÆ¾GfÝ¤sXuýâ5�“;·ÞõÔ	¥÷¯‚~yQ	ÉxZ†‡ÝqE%Ýì¢Æ·M´[rÍ­í GrÐZ{Ëc¿öéæ.j)§éÈfë‹S˜•¦ßY\ÊHÍœå§œ�®d'§Ã[«
ÆÂôó£îÙŸô�-«ØM<SîÜÓèH«æ©ÃvÇ†Ñv�œí§›±Ýo›°7r
/v,<Z9Èn±oÙô:iî:Çg“º¾r?�}ÒNÏM©á—ÖVýóƒzXÅu>sÖs]4þ ²1}_vãUpÚ‡³¹}hO\*®û£;0ìg&D¦Ç³lšI—OätZ,ëŽuù�ÚfþM8‹:Ä9È–Z6…•š;«4Ž±ìcÀ4mOÝF2ý†¯V£úm\ŸÖå\gmEÕá©öYí_5ƒ€àZvßª&s©WóÉxf.'cZâ“IcKäñä*ëÁ‘ÝÜã|¡_ï£©Ó~ø#ÙzÚŸ©½í¡‚ûïvïÈxuæhå,j×CË&×¦ÃÞ¶Ç¯³�$<"
þu$êaéÈXÏé‘·´üQþ�jŸÅS¯èÓLÓÑ|£š†k®¹ðøÐD.•iÅ»Û
-þ8ßËŽÆÂÆqÒ
¯Rî\ÝéÉÒÿè~}±º­?›Y�.ÌÆÁDÓë…›}Îü�n°*v¢¢‘s¡ø”ï£Fö±3ŽüÓ‹ë2ð7–¥'¬Áz×j<ŽÞÕBn˜5û=b¢Ê…¬Ø«W!ì‚Tvî´nœ¡fxo»­_ô¨¯»$�ÇJ÷6.Éç0§

„×Jéê×Àa¸Q'÷IÑAÔ²VO³˜Ùm7=ÔÑåHµ•É 6­õzn_³»ä!{¹mˆ:CÜìîx4³^O9¨÷û ZXÝãßªõíµ®�08–Û]ôfœnè+�,•œ~¥«¨œÚTéQ
-Š%e;Sµwëbj¥S®¥e†f_­dÂ¹2oÝÎJ�6!yÕ9
-rƒï¹2žkî¥í<“MQL×Ø÷Ë|®æO?#l‡†Ðœ÷	ª5ÆnwÆ¨h´W½„nžÞÖ§þ®›ZÞÒ‚J¯wËÌ«94x¬3×{½É®ôxÎÎ%ÕÚ?´ÑfÿÑôTP§Oû�Ô¼ÓÊUDiVuyM2>¸øÒNã¦µñ�â±•ËŠìÑæ„¤Ã¶Ÿ‡6eRœ‘/f�qºx¿Öæ=X…mi5ñûÌ¸ëÅéºN£¾�ƒóv¯ä¬É;šöÅ‰þDº¥gµODN´ì†Yª&)î•Å ”(È§t—×ã�	¢›—vû).ÑÌŠ�H9ƒ©
-¢ã	B{3âïª°ÿ�xyÜÅW™`‹Ú|ms´»â&¤hÀÜøZ)Ä;Ÿ½�^=ç<XîgÛ^ç¸�»o&	=ÌìÖ‰æ¥ÆsuGkµ“T˜f4)
‹˜«ÆŸiWYææéž,o˜U,ÝíJrnÛ�x2¯‰È-¯wáÒÈgáFÁü=Ô)¾/wÅâk¹*KØ;
ðoÕˆ+Ë“
—{/¶ª÷)f9ãjL½†ÌSlßL]Ë˜:ûIsäé‰à£LÞNX³®Ñyþ×f÷rrZEº¡5€�#ªëAçYæËÉB+o1WÞÌTGj7¤@ì8|$\^zÌ?2Ò’W*Ò®8\H§bÉj<‹nüÛ/irIpªä‹ì<¯ê,ìõšLýr¬W\Ò[ir§É!‰SnfY¡˜8šRL_}Píûº@µ÷qaré³Ïaùè]û­öýôNØº3M�Q{»^³G�Ê?P½lŒ¹W‡C¦òµÖS|‰9S-¡GÝ<~ÀÝÂâH<¹©º˜r�/ØZn½cáÙóÊ¬\êÃ4X¦·cŸ¦[ÆQ¥¼N¹nË§Xö:'»“Òõ"ùò#zQU'¤’<"¤âçFH¼™'z
+?«Ò;šGá=<ª ñŸCfÛ1=nSSÂ·Ÿ…mÕšfÑdÔsN×ŽÔ^Yo‡‘pÓ‘fQoš6W8Ýˆ�¼>‹ÎˆÁ3¦wp¸¥©Ft¦ŽøîI±}�'…#Iö%âÖX›DHà!Ý1©™3®~ºì3K˜‘ÏE˜þ\\0}™Ë}1(VæŠkü9¤põ£eùðG|¼š};R †…žX)~Þ=S\2›†ÑrWuØÅ€«3¶€¶é]ŸHg–‡”×�c2Ùi+R �q;y7B.Í²?þÊÜ1<Š¹"hÇÀÆ§¤�]u„åøÕ5û|-(Y|öi0sñÎˆÕÜg«¼ÌŒF+3;X{ÇOïÂ
-tê'¯ŽŒÖN‹F¶Ö/·k¶°P òÍ*¥Jëú’]{ÃW#Ÿ!Ö‹êöMòR¿tHaûê}ŒñW'·ÀKb‡ƒ©vÁÊyë�å�Yw-\…²ì…6R—³x3¬máféóÛ/iw…B[)w{—;öµ!(8û3ÊŽ¼ü€¨ƒlODÌww²œ\=L½î�b)‰mpŸø5b‚WÊáqÉ•L½•—ÙÑâXœŽ®ºý‘„Ò*×ð’Wný@Ø´}¬<FèšLQ¸¶\!+ä~Dêî	oÅRn>údá î¥3AkùsÙïå‹óÛê¡•gîQNèÜ ?mBb¸Ü@Á^~BÁLx
¼÷Û%"Ÿž•ýO'Ó-¿îOwë‘çÖuÄ®SªÔm”û±¦ju|„Šw|—p–�)~l6±<š)#«ý£Žàl¦
·|È‡)¡8,¸}1.°J}“ïŽ‚ºá›4ß‡$ç�äg†Ë~ø¦‘Ý.n6«“ÌôŸ3yA@2y13•ò{œ™öúçlæzyDu<Æ¾�Ênò_°Û:6ï_ã†Fœ¸z8e<cdZzz¾�Î†arc‰=3#^‚ç"ë
TÎ';Ý€Â_Ë=¯j+õZ~öóìFÙq4Ÿesà°Í˜•Ì,lX–K=ËÅªvŠ× Yï�;÷û¤0r@L€ÌÏ#€,ª€DÃû ¹Û‘½ëÕÄý1Ð¯Ø¥¥3h…óÌµaZÉÚL†L çëš!w‡i®�nOº—x¹ùp;(VsÃN^ËTÕè×´nD5€åvÀ ¤—¢2I1Ý,ßR´ €>4@_%=ÅÉèÙ˜¦ø\ºŽp€NZ@{Õ@+›@ÍÂ§¸#\OÎŒ™¯
-8�ÆÑÙ	oŸb±ÐRÈê»Žn’mEžÂ=ÍîÉñ¹íÑŒ¢,¹F£(Ì_¥Ffþû\Ž¬ËG‘&À�ÔIÑ�RæÏ�‡�WŠò[ƒ½•ø`{ÙOq\l^{l�3óÎ6Àê§-Àôf`ü	“™$¯F^ô¡üZð¶¤À¶»ø�hfÜ¨µçñÖ(×Î=¥£*üLÓÓk¡/ZøÆã¼…½8ŠrãµÒ„„€ ôzŠ�—âÜDš¤(­SôÏ€€¡ÀßU"Å^ø'=ìðO’^Ë¥¶éòÍ|:VÝôZð¶u¸šCÎ\(Ü¥ 4ª•ºs‡Ò¼VI�ìcJ„¹)aûnð§}ÙþPäða}Ðæä½Ï+uo”Á²
ÈÒ¡™âí’Ç~»2‘|uœb¸Lq9R n):éÄ�$iê)’ô©Æ�ùwòEpQÄêâÿñõî�¦²ëû÷+/â’¢
¥”R¤(‘"""²—]¶ïÿ‰1×š÷o­õ}þù#�Ù¾®ó˜GÇé¿o ×_Ó ×&*ƒQîUÿu'•Ý¢ï^ùþmàfã£?
Üz1ÑcAM¦ñš"P¹21º:@
OðYïÙºP�\@6r›ê)�÷HðD©iL‚Ç§÷©7{€l¦ÂÓ' å2ÈÜ¥HØ›€ü£÷ùcSùåµùm1ç‹Šiï3V£ýä8^7Ö+L‘œ÷U2§•yIn9ÍÔN•œ:ò(£_ÁœV{ìP-.øƒ¾4ÿo8Û»3 fäP[M(* v¯> nã
 îe¨Ã“T˜€ê6–€jŠÈÇ9,—’9¹y¯?Gço°‘¹Ž‹êmûHW±Xˆøçn0a’’¯E¦ÒŠˆ¸
×Z…Çð_ð:€Â�þâ£'ÿ~¦Ï pì½�ycÂÊ÷: i½h�ÙÚ~Â€îú {í �b2­£€&3(<<ß©×Ž«;ž­Ú\«4º·C^®ˆç\.-ô5‹/v.ù
-N"~)©“Kˆ Åý?,À¿
-î?rþ†9üMt�`œ+—Œ�ëuÀ\Óßx1µÞƒ"ëeAQnVA±VJÆÍJæŠü1ŠÂÚÅÂ üg‹¹pXRRO(+žžê•[<W‹?Iwñ]S©e$:]LQtþ«ÿü?AÀÿáþýæ8|Ü¿q¼�¯A¦8h7\Î:®Ö&7Ð5ÀíÔ9ànÜåœì�6ê¯¿áM¢ÊUUq² *äšJñÐº{ ç<Éaµb;+lÖ(w-’ÿ\ü¿¥Ûÿ_ðg)_ûí7Âá#Þþæ%Üið­­„Ô<BsZÂyg�2v=!˜!îj œ–üñéÿl…l‚ˆÿ¨£•ªþðRç!ÎîÓ{u™Zß”m*ŠQ*¾6Ï÷çeÇ=Rrø@Î‘agë�æÏ´OÒ''M°¿‘q=©ŽÝl[‹<¢m nÕÙ…|s¶C½ûõóÖsjÁl‰@o}�µ3Sn}m¬¿ÖÕÏ‹ýÿÇŠRðjdòq˜Ëñ×u�S®DOm]H×pNçŠê]„›FÆ„Ÿ<Ø³9TÌaÐÔéÓã!Þ#ŽôÜ5ne°]—KéßÈ2(æVg§—q;/,]²£…û6½bx]¼]“þÍƒ…Æ&ÿ�øk]ý=ùk¯5ï_wèÙº×oÇXVÒÑ£ÞÎÞM«¸¨¶ø¯nYdcÕˆÖš^ÖÊA	g¨»tsä8|tˆi(žˆO°ã{ùy³žoçÈ:a…¾èLNÏÄÉÏˆ%T™šø¨ïGfëêÓÇ+ú9ðÁ·o–çIÈŸ5üØBíµ_©ñû&�÷ƒíš3ÖŸ.fù¸r2Ü}éâ¥T(F…ì¢z)äçÊ§ƒPÌ—ÔÏ‹3bžJšyÕüH¿×}›€
ŸÞá�‰Cá½	{,�ÆqWÆnq¼õƒcì‰Ï<2ò+ãäA�éƒ:ªY1vÃ&zù¶Ìú:X×ñ“^û›[ÝØÃßÔU^5CqoÙó€UÜ³þŒ˜ñË)ò{ŸÞ°ç	{ ïßèÕ¤~ù„¯zb26ùe†U_5‚&rqT5~¨Bveˆ~ÝÕ2aËE—g`„ßß™Ê¶O·oÇf{BÏ)—ÿÑ#ë‹ï^üøÆ?æÕoÂÿk^ý—uu®ŒcsÜô¼bßù|��»c7¬u]tWƒuc¼ëá±¿3¦×>¹Ÿ>œ¨³Ž]8!½sï„ýÀ=‡}‘=ö–<êÝr©b?&ºn½ƒ~Ï’3·¹­¼WGÍÙRIn7	Ø¾Z„óÅW•ÿÚkWçÚ¢±¨�?1ôò„Žù¨��ªwžúxze”¬ë¨Øß5QÅ‰LDwè#jöØ+ÔíÆÂíòbl{:µ%@ü«üÆ’aþã_U.m<ÌÐ0!SËx{Ý9ÛÄ­¶L®a¶È;¼ø�
[<Á¦Õ_óê¿qð1/©æÀ]_ø”_ž5ßCjâà“Ìèíl_CdB^Døx9v~÷Øó·Ã!i½'ý¢%Cãr'PÇÕ²'£SÃÇº‰n—fÛ çv›ˆöƒÖÎ¾x-òr›Ñ ³2èGîÐt$.Öã©é<Îi^ãYÖ$Ì4~›ÝüËº:þbkø™Aø||:xmLú·#ïÏB“3™HŽà†ÙöØÓrc{ÂødA³ÖÍµÚ»½n‰éÖÎâÑyó†Í‰´Aß¥¦SVÊz<Qªº[MŠ‚GÐÔ5)Ó6ïå'E³!ã3¯´‹:rLÔ°[yªèu‚+†�â¹qj»‰®™²€Õ¨´”ûbuíäÆóÆ&ïøç€o{~#'Q=Åô-6„»7Û[¾´ðÌ°Ñðà6±çC#êÑ»¦# GÝ•ÞWí1ƒžš„d †¯e2
h“Æêj>�¯#ŒV5ã”µ“ƒ“ÔÚn¨5òe÷d»Ld&�l«N½z¯Ä«¯¸F£öW„|e&=—«äÙùÔá{ÂÌfûZÝ›”«7Ê¢†>èà•rÏu¸
‰îÝÔ·xØ¢T×n²�tWóäË°!g7~]%–U£¦keÝ�îâ:=%õþn°¹ÕÈÇæ%ÛÒ’pÍV�Ú=W‰/º"`xYzljuIÊw;¢om<Qf˜m9˜úï²ªHÅr&CXBxÜ.­—=%(Æ‹:$…ÓâH÷Ç©ãÄM®—íÚ7ûljªüÚkµó1ÕŠ�ƒ~_Æ£F-Ý2TMYèJ™5ª4ëËLcæU�õbV¹qÛee˜~í¥gýu’¤3œ<Ýˆµ´˜)ÏëJ®\/L¸XXö² ËE“ßÌ;ŸÏî7¥ýY}—
-¹Ãïk‹û¼¹ŸàtMp�ç¸©®}Þš.F¡¾"?îõƒ½ök¯m5JÈô¢ÉUr¦6;ýö,wû´\-Ñ„^)ËdGªtè¾8=±žWÅY¹ˆa9kZ{AÎ¾Ü>ù6~N—íV²¾È�–V•ëé‡{ÝáC–º›âý•yÅê¸È¼Óf2RbÞ0¿I0»1¯û(žžÆn"Ñ›Õk¦fýK
ô$7Ý²´òVj[3ß,?n�FR–µèµìV%±&Î\¿VnT¼¦°Ú®m� wƒäü>�Køt4(Ñ­÷Š;“èžc=öÊÆ’òbù�“)>Z;ª(>’1ÖÛkèŒŒ­tÐÆ—´JŽ…°[,46c&8¯
-ZŽ�Zš¾Îè£�åõ~óÛ¹­T"GI�<u9«³id•–ÓwºO•¡z“˜ìäË;3”äQU\�x2âê%›‘ZœS“l6^H}V@e¯è9Ú¬(qÎªÒëˆ‘ëç“¦©4­:AgdÿÓ/I›Çj³”eœs*×/Å¤yXåóG¦Ó$©®’”~¾~1åtïäÍ�ËÎ=Åå°©ö:y±Ø0ný«Ç:¢šÐõT½¯¹‰X·Íd�y¬ÌÞ¸Mµø,/ëEi²1˜)´·˜´ºwhõxó
-ËâsVÐ!f[ÀvÆ…Ú˜þ›jQ7”ÜO˜"Y€9ÜÅV¾Xà§¹ËépÉ•8'n÷’NÜ¢ôüN~8ÉTÄ½úÃbpñ²­täÒPmóÇ,}Ó¢kMcx%ÊZæ8Ä”c�«âÙž—›�C‡»ò‚T¯ºÀÀ�^£³™Z£ ëõÕj—;TžÔ“™Ü?Æ>ÙñöËü	{òÝ-sÏ]$×,©\iIUˆn¶‰òö1Á'”á•‚b3v«`3n:ÅS-î„§jÌyòJ­ãßŒÞNßõÞµÉÂFÍ 9úú¢]«Õ†¾\æj—yñQ‘ý`%ì¼BŸãÛ®B7ˆb‰ÚJ×2•Ÿ¾j¤EfõüÉÆÍ|ñ‚wsƒZq”ãáz@ÜÃ-1²n1þºdSødÚÊãÕÚQü�±YÄ˜bº¸{´ÑàìêØ¬¢h¡å£hö¡Ù×í4I
v÷Q®6F=9¿XZëàá·Ï£c·éãµ¾]>µAnU`=r<a½Ù#9úª	ùs~TÊÅô¨’œWuâÁm
B,ÜÏÞxu�OqÈ¨¬±€_0d¸£¡ˆc(ºn•²kã¢e‰7Èì¬Ý6C^d‰Ú„”!wø(cBËÃœ!Ýq4V”óshæå[ß
¦§^ºöÚZÆžÚN„
šrå ×Í¬ÀÕø~
-MžM½X(XÈVØ†MíÙ¾H<Þ
-‹¿ob—ËJ
&

S›£î&É³ÕÌÃ8»~¥Â¬1)E™=T¿gÌ`•EŽ…l±OvâM/}+3aZèywèÉ%µ¢»±’i©Â
-æŠµ½’�·ÝµG_ˆoqw>(FV>­,Û%RÿÀÍô$oÖ©º+ÊOP'¥Ð$R|o§n‹ð®÷‰ªÚ×ð©£°¨ŽGŠmßR¶E!jfßE›™NE´‘ãLq‘®2˜Á}m´Nß6Ûsz8 !èùh“PEÚJ?0”J•ÌT�ú`>ÆÎ`þyý8}Š[©ic6ƒ€o=,ƒA.spÞÎxŸytëÛÖåÛ¾­uo‡�¾Èvõ¸+ò3¼pâ†bá’@©{z-Œ†ùAðl$çX#W-f:³€§*—š”Ñ¦š.Ÿ=šp�
Unñ(5‘y
-öÙ=X£'ÈîcdMd£TdÃ¾²cê²“²½Gd�ædåÅ*óç–òí…çTÓðõw¬iêÔzäZ_ÒãoÖ®œêfÊåN—Íp`læq5!Þ/ÐD‰½ÅÃü”#!¨y¤Sˆ¹/�Æñ(´—®'�Ì�ÛóÜï9@�Æ1Áö
Ð¾˜Op¨tP·Ú~&ßªî e•(]í=$Ó°ÂaØYjXÿ%ë¤»ð×Üa°ú½åõz‘öíd«ÄµI§Òè?E>y6 ÅúV;“×ÔbŠ×«˜™éF4ÍË4ÀÜM‚Nºœ@PØF‚]`1I`m\c€i<œ`‘Ì¬—’ùô}r&¬ª®ÆAo€åv%€Þ€Fõ}‚iìžŽÙBîë¶�S'ÛaÂCª5á›fŒ°æ-&¶¸%îm#ØopÃë1	Ð¶�¶àQu–ŒÇÀJ”€ûªpÇ­%ˆšï£6À[â0Á Hð:¼]%8àW‹¥KàeaðÂnpÔH°"À®Å1Àv Ùª ’Äã3ó÷�â3_°�/_òßà£Ö{Ýë]‡«s£iƒŠËô£¸ãá´·È8•tR3‡HÄâ!"¤u@xJ'Áh�àäbŒò`‰®~Jp…Ñ,“	– )™SÞMQRÎ€ !È*ÙÒç2Ù´Ó|
ráÄ
-\ÀÚš·™m�ºELÇ�ƒX)�s©u"¬äYYé•EºÀhnÚÛ_QêÍ/ÒÓÆ¼r×žöOlf‚»’ZÈKP›'nÜ® 7¯# 7Ü3 7’”çd>»±9=õü8‡+“È±5ärB2P@ÜÃÒ?|ÀkŠ—;*p†r8dë½y©.úL„¾Ylj�u)ÇŸÃÕ‘0…ßú}�•º_|ôä}NÐ‚ü)¹×äOÇ%ÈŸ±È¿�{‚
-òµ” ÖAþÚLæ‹³{�ß-’`^@ÞJ[ ßˆ“iÚ›ùŠUëWxÓAN¯äùbSE²Ö–ÔKQ3;lºæ�H´ëÛ1§Òéf�C«%B—ÙL®�Æ! ÒÏÉäÓþ#$�×	¼ J�ÏKöš *Jh€ªg“¿îlÎ€uPL®(ì<äuränVä¾ÖîËýi·kÄ'ÃÒ~¥‰…R"ëUÉyË5ºÈ€îâ%57¯øÉ™ü‰’ƒÓ™Sïô_î_&Ü€‚´ÛþoèèºÍ7(Œ#VÕR‚»
-çñÐ@¾§È�Oç/Z �œS 0+  	ÃÞÒêt;—«¢óSF¨_³mì×\n^æ�£¬ü,×«¢§Vš‚áiü—÷÷kûýWŽÃg)ÿhêöoüªº§�Œ«|"®`ZÝ`ÚÌ0tÿ¼{[´sï¯óh!€Y2À¬èÉ°Ô¾.à¤ƒ7T¾N�¶©còM¶ZXDFe8ÊÄÿÎþïïß‡�~û÷_êGO~´ÀR¹6`ÕsØáê8ø Žß§†gÀÕ�<à
p>m¿"±©·Û—²2Ù)„díÂG	é¤VþÅõ‰\a¥e�ã¾AÀßÅôäï²ÿ—vüµÿËýûÏø„¿É·M¦ö'(aAØ€Wð
àü
S��§@Pè�j-˜Y	îm„¡³ý?•Ð!ûðR¨r÷º}¯†m÷¦lz³µÚ«ËŽ«î.ä°q>[¯Æít®*Ï“™Ð1V?]2�nÆD�üÒÍGÝÿDøÜ²íò.,iòv-ú–ðg³«‰›
&#½H;)ß„o2ì×¿ú+‡þ/ëê¯Ûöî§ýWÝÌµyìS—öu*œ#~¯œ°1¢GchÞF¿€:]o�ôt×ˆõùv-Ô—Ûæ³µÝì*úaCÎê§5–¯+vS¸/ù	Â‡UÍ†Ý£~àÅÛÙŠ¿T6Ðè¹š«`“ýÍƒý:k
tL}{dý‡uõ×^ûï`Ó;9E‘—ÙÞÕí.½Û6ï.õ§[Öê\WËË¸)U—üN®‡%7~‘i- Õ™#^¦h ÝÐ)6š­kÌtfÀòrF,ìÃÔD½OäÀöí¼@OÎV¤OØËb=Žmø+Ó~þtËú
-£ÿÐ“ÿß7ù·köæ®£ÊÜ_ÆZ'½|k¿ðéÖep­gÐx)ÐÌ€ªÙ©™aqßÆ‰üäÜ&è‰CÒÜ„�øò<Žíjuì2Íú˜¿ôÏ+õ>-³ƒÑ{tŸŽd€o†AM¿‘Å‰pCmcÖmsõ
øÛ-ëëdýµ®~²k¿zòoêêGjü�C/UçÊ5lÌÖ’Ûžš°ãøôÚô&ìÞ˜�ù“±òÄXÝ�|A;� ±ƒŠý"³NÊ
•>âjÈsÑpIÖÚ±8 6¡¿k§å>åt'²µÞ·[–?í±÷GÔu%·³AÛöÔ¬ÿm”õ·[Öw/~­«_=ù×ºúí‘õëjôâGïþ©2ÄmÝ
åmËEçû“«°Úú&q÷ÉÝ=plê:ô)µí9Å×¡ÇÆð¹ë
-ð­Ë?óoû1[J)„å+MÚ‚Â‘ØQ±“n†í¢kjäñÐ^w÷tÛ`�V›ˆÝÎ.ùñ5)ÿµ×!Ÿ.úQ=‹�]²šù\”ì�ª›K#çDm©Ð;ÛR©Ç^ÔJ—¿KŠí‰’f½}©eù²f[Ð\ýøWÍQY“¤z
›ÎÜDwÎª½6ƒC›8®¯­d\
-ZdLa†-¨Åæy(M¢z<Ï^¿ÖU]@+µ¿þÕ]ãté.]T¬}ïo‚÷°‰ÔPyñq²ÇÄ‹;/�»±C=l¯œMYrêŽtTäŠ›¡v§LtóbÛFþÎ·vÖ]j™¬Q?Õ0ìÞjžGÙN“}ãŽû%OÒ•@óêú¦ñ^
/
™8¤~à´/Quµ0­©¡#�T­T}«è=¦¿ÖÕ/Öv7¹3¤÷bcÚñdi\fóÔP�¯Á€íCÏ)LCÛð™M_+SC·û6±Ÿ�[äit3è¸÷J*>GpÓz<v³º�r	ÍSR“¿Øð5¯Ô€6žXZa­ŽvºªÑçŽ²îC®BÜé fŠ�}�|o_²]£óÕób¥VmVÝ|W9|šù"¹^^mÝ™m_íö„ßØêHÙuøAÛâñÞ•‰ï¶äÖdA÷ÛÄnÝ7ì¢7ÖcO›i�©ºlø
fÓ€ÖÌ¡®æ¸‹v¸»Šž˜—b°EH!âr¦f
-eü–£q…’™T�­žgýJ•CæZÅÕ.¶ôØbcÉk›[ñ�_¢ßµŠEK„n…]‚á£;÷…òŽ¦LoÑó¦µµánÌ½ì\èd $¥¤t§¡£O‚îZôšNë¨'õd¥YšùŽªQ©žb0¯aÍ,�Ær4:Ídú}
-«gÿµ­réWTqë¯‹ôX½î’—T_â{OfD¹ÀçEèd•Ê*;«	¡{7ôUô~`~=™ïù\º˜æsp®ZÚ-âQÉÔøU‚æ>ØHs2Œî¨¿­�UH7zÃ÷‰·ÓW7seæf°þ*Ô&¤ÐU—ø¨RÛ9±(ÛåH©rP U„Œ×ú�%O÷,ñ½õÑo'—2…~R<†ó2r‰Ö‚V{Dü:„b>Ç0©Òîb~rv×%Î!•½0�ë\N–k×ïE÷˜eŠBwÓ*
-u’À_Î:›M�Ü“'óÔxØŒH§ïd…V×…ê¯½ö”íýÙ‚w
$´‡
-	¥ÕRÖæ$É;EyzËêb/Kú¦	Ø´ùìÒÞÊJš™pG_˜sÅ´¼ù�ÙËÞ=³¥Bø*&ƒ}”y¥†ï}…IÞ6�Ô
s¯[¡>šÐ…¬¤·õqÆO $5Yÿ¹ô‚:>uw�æÈ¹eM«›uµC$ÛbËÇŒžª•O?°ºÑB_vÌBKš¬|^XÁ:É·ür±Ô™—îT¨Éì•-©ìjµŠw³kËÇnŸy�7>SÅ/!=3ÁžVé^XŒ;p¡¡ßhjµcª!x¹}É#Ivç­¡Hç­EÙÊîÇIòØÒwI°ö2åÒÜ¥¢ÁÄ)g“vuÓÜ5Ë†€¦qMé�ïj~Œ†Õ¡ªÛ¢Ú<WxÒÒIöú<�ÅGêÀ2od%üÀLÕ>ÉôìrªÓJÿeB$kaÑ¥ÖL}F5/Ã
ELoWÒDðIF]2oK)wžqí‡ø>�é3!¤b’ˆk›påþŒp¹ábòDr»‘ž­„ÉÝ²ëM¦½ñi=°–—eË,+¹9F9²ö�o…ÖùMåånÜ².*wA[óÞöZÅx²¶Äb=TÊ «rç7ë¤)Z$•;8y{øç±�,%wA»§gÌ_Ä­”'aÔpï½Ñqi*yØŽŽXZ³	L^L^§˜ÿª/&ÀÆöÃÍ«µî_µE�T�g5q`µ{ÐUmVD“i`ƒlºæt{Éµ_©Î3¡Í)MöŽn8Z}(eìÏižÎTþÈž‹¹‹°ãsÎóQÍq+R#nÍj‡bËÅŸÁ6ÀÇõì¯ô6íÍ²œÎrè|ÞÕÐÌëâf—¾¹Oj1f°¬®ðzv9¸O>wæ`\“¨hØÎŽwý�÷Z~}ÀQáœ6›ËjÍÔhÇ×[ƒrV¾uW)ØËs�ôW;ò¸JaÅOrùnÏÉäJ”ŠÃ±Yø�ñWÊdññÌ“ƒ»V±iXmL;\iúèßnÑlûuÍêÏ*’<¢L¦
e•L>ö+›ÛÂ§êA
-É±À`„˜Cà-0îäNóƒóÐáõÜUÞü¬³Ó5·õ¶>‹I=´u\ž²©Î…þ(•‡¬Ä¯µB3Îs<áfñj*‡b3…ÊcpÈ0èÂÖÊhöbÈÙUßÓ³ÍZÜÍlÃddÚÖªË9\'„.�Sp/ä©tŒ�ªi¾vï@¤»€D�zC£	%¦y‘è§VÓ÷²éâÒ“ÍÑñºÅ]7C[aÇûã–ë�m]%Eµ¶KJËmHÊnèäÚç»ÑrVœš„I™A…'$(ÄÐÆáˆd›ë%–ÙqG*Ó¾‰ÄŒ„Ø¨P‡Ï†Ú†Ù½ÝO»…`šæßèòäê#õÞ‡xÊ·èr
-Z÷Z@Í§|€–÷¤JR‘e)¹Ž™ªî‘ñ¨¹1nƒó9}u€^‹ìecµéPÇxö
nÐ3í™®2lŽ“¥<ŒK¨={ð¬�[1ŠµÉ®Ù‘ð´bÓïCS®g`®©ç~à´»kÑÐ“ê” ï¹”!P9ê©)„uSiUui®@¦Ç Ó3P�q dŒdE3­R2
-x‚Œ
-Ê #8&ÈPçáp7uŸnMÝ{Óñðbë^ê�ŒÇNvù
nøÍÚe^^E–.]ZÌIIÝúç6ts,:¹û²+£+êœGŠò†*ü)•ªiwÌ7¯<È’p1AEY~ª%Ÿž6ÈRò$Áúó6z¶,>D9��¥_É÷X?ÙT€,¤Ê ¿�Ùóþ�šîSý¡/½zµãñnã�ÊÅìuz;ãõæÚª×é“v«µþ˜ŽÓ3ÄÊÛOâ]«.!§új¶}B™ôh>Ï€†vJ4•ÂŠW˜ýròëF(”i%Ð	¢@Óì1A�(Ìl�}Ôú {[�].��÷`ÖiŽAÖX,Ýî,�8¯õ0ÝC
-`íøñã7¸áÐ[]PS…·DCZ�º_Z¬ÓŒ>zîó·�bK~¨!‚àRÁjœUÇ–Ò	öüGƒÍfd€¾=�c'xLú®nzžÅ½�™3 ×R2Ëvï40’-2É–6Ðdšx�Tª�~;áùè
í†Ã~æÛ¾íÛ�Œ”@svnìÞØLöºUŽä
-ÇU.XÆþ�KM	/k�N3=~¢À«ÇÀ9@<Gñ	´¤XK;ÿ4c÷F�àìQz,šå>Ûr,ˆ[ÎM€­¤À&�`†G¬6êŒïì†þêRN2(Èwõô3guš]Ì,iw¸YW­³zq÷ÓÊ’Š�op³^	i’õØºü'wî´S�é[DÃ)Btøë* èGÙVí%x	îK@¤*—Û�¸˜lU¼T¾çzŸï–5_·É"Àu<™Æ¦Ïç0ÑEúcüÁ}}À]¼¯ƒ^Ó¢µSì©6Iu|±3p›\�_±æqƒˆ¹P>d™ œ@ó\¡
rm^ù'±žÀj�?û¨£9þ:9!?K o@ŽÚß@.[Ê&Xr ‡J: ÞÑ—æ[Äl›l¸;¢<“] QýTU”z—­t	í-™1{£›‹w;­^ßaríWVþuÄ�Z9�Éh:_¹wSè¡ö:À•­6ùîËüßÐ_�oú	êãÓ0Áeò†ôyyƒƒ|MA¾õøüÏH^±f /àW�§¶9�{éÉŸä.Z²¥[Tpf¯C£§³Æ´o“ƒjz]v¾Ï6âŽBñ»]oÞòñr½}Šèƒ1 ‡ÓáÇÓ;_Žþ7’ï“O·) Ô
-�óø'Ì!’s€Ï@{Ýog·—7 ×C�}¡
È6šü…Jç¾Ÿ4à¿>`Ytã|ÀiŠÄÕ*ÏKé’mœû¶B,‘\.sã»ÏÔ†ŒÖ€šª‹?Øá¿¹ýo|Ü¶Àûd:Ä'P(V“s«’Ü7Õfälœã¦ã4(4Tz
-Ôý
-Ù¨÷Åîaëb§SB ÅÈ¦æì×\Ù\Ä�ÝÞ„>ÇÍd<6?A|öZè`Ð*»�ÿËýûŸ­Üþß‡ÿPuÝèÁÛ }{U};€!�ÝG·Tå,`:l
0VvœàyŒ´çƒŸGÿðçÛ¼\¿Ó¯réÐÙÛ¨Û'Sç{=]¤bº1�Àÿ-ÿ1ÿ;½á?ÜÿÇûUQÅ+	ŠÞ°ŠOuØ,¶‘d6,€=RKÀžÒég	°ëÉ ]y?’£ÿõ×f^œ{cáÂ¡•^@‰Û�…E.Q…ƒ OýYüwyÿÿÞßÿ#}÷ßé
×£ø'åö•ÐhL@É.\Ÿ©s€z.àïÉƒ@@F2zÙÜüÿl3©‡ìÂÝ‡}ñ5¢Æ|CŒ¸s]b÷ÒŽw“³õ\ÏON*\c%Üù0<EmGâfý8¼[Gp¨öé½ržgv�ÛÛ“V~cBÝâ†6•uTÇŒ5½²Ç«³Ñ|­Ø›Ô/b¿Ö¯ZûŸ¹«ÿv‡~åÐk3º=/ä •=Ó^8Æ5¸yhªz¨îî�=ÒÝ;t°²¶„7émLðqC­£ÚÈû¶ÌZÆ†2[òûê"OôrñîU÷ŸmžÕxô\@î93Ê4=G&–héÂ(Y¥Ìó+ÓþuÖ~{dýÃºúGOþÊ¡ŸJ_whäeØåj‡íšÛ]6í×úµ¶¡
üí–>ÚCjñ¶»ÅÔoñsdTÔ/VfFºP›óRcº«WŒ©™Õ­)¹êöý¨9Mžb¾M“³ùÜMœwÇ½nfÌß2eï1B'žøÞÞƒäôèñõ¯~cXÿ£QÖá­…ÞW$[G•|{é¢§ÞâÝYŒæ;™ýÀA(ÌÖ³ueMÉ°yöéMã>aÕ÷8¶xÌŸµ¬÷pLÂó8·à‰7Ÿ½‡¡ðÛ2šœëÃ@FÚC5Í÷Ý°Þœºèj¶¬
6ÕßuNe'r¦Þ§[Ö¿2~»e}l¬_óê7½vä¥A²zpór¨€˜”+Geâ›æ˜?N;žx�öGÕÇØÒ<"ÓùÒ
kû�‹.öÇ¤z]7.×±>ÞûÉôÍ<÷ÉCslº@:ô¹Æõ®UéÆÃ¡Öå_ÇžíÉÜÂzÏ£—%£‘ü�Yÿn”õM]ýk]ý$Œ¡ÿ4¯6ÿ�»J]tN”Ä
-•û&AjŽM¡¿á«=öJô»ñ€uùíÛ�ŸÛžT]YïiugùµæÉ‚í['hø©¸ƒ¬×¨©åâB{m‘R›8[íÖ®�-ò#FäÝÃ®dšžú÷ÓW•ÿ€¿öÚéN®ç'ì¶‡|­«nXE?ÖÕøéØùMºÇžÇÙ¤âãoÃœ-¾ú´åW‡%
-ÆRGÍå²œ7L
Ÿ&ºÝtÚ¹ì¶‰èè¶Læ8n‘W07l>³iž=êÔä€üÒÝZÕ‹[Ió4Ãh¼·ìªá'UëÇ;JÍÊÍ«ßàÅÛ\‹¿š÷w«·Áã_AØ¦÷¦[|v�4Óc3ÔJ�öºEƒÖÎ"ày&1#rxÒ o,ÝtÊ,÷7Ù—XÖÝªXÕ¯hžÚh6ÞËf§!ãV¿´G“:mWªVL�UôÚ„ƒ?±µÝ¸Õ®™U3ªQiæ×º*Gs†XºÖ è)¯2¹Ì‡ÅÑTj${ÌÅ"Nv!Xwù¸ôQk­¡©¡U¿µë�Ãf¡uÓáßÝ•¢£æÕÖ×Æ{±~4dtê�±L×ÕÜUÃÎžPÑÓžRÖ½«7 ÖÌrF‘£	eüÀ2ÉNÕQÝY•Ë¼£ŠÛT!é±‹9Éëœ’DOÏ’ÄÀà‹EÍ_µ§4nxïòS¢Ì©Ð/Ä^º;´˜ÈJƒÅ¸m¾eØEÊÔ“»_W“ÒËÁGµ^
½:²ëNUôX£¨¯j»�¾«‘�z$ÛRý"3 ó¨:µÖ»/,¸" =LòŒ%I¹“ ú¬ŠÐ¹l•U®?)#÷ôAÐÄ.,`@«ñëïÔÑÙéôEÐ¼]»w‰´Fê™QæµÀíµV€:wßWFWíáäz Ïd�¬Fm×¯6e[¤ÍjrêVâ9Ú¯Yd(=V¤/I9ÿ�Eß$W¢LñûrÐåOeäZ½¯¥øµç`¼!�ÙÒn†Ê%
-it8[[ùƒWÎìy‡“¬ÓI›	¼Y‚ÝrFYð`\Ñy{ˆ;Z³_œµªÝJ�-$WåRJ§[Ñv|ÔYbÒ€s-]1¬¸(Ó/©XqUŒ—<=-‰~ëY+Ö±^FÎ{=Ù¦›) ·[—7Ê·O¼Óã’)g’qØ<·æ˜,wd�¦ú(Æ»aæ.ºæ“a'Nf$Öµè÷�\Ðþ0\ÉâJ¤Ó d&ý+Zð<¥Øì»¤ìšß«öl>áÍ­$cF¿}Œ5ÿÔX¨ëÜÅ–{ÉºIÏÁ%_†÷äL4vEð†0£J»ñ¬X¢R3ž³•™Äž£•ÂrÌJ+ÞÀ«SÚÙ>ãEù1¤Ú’–7ýcažß¿jT ¨%Ó(lz3È
¯MHãˆ\ÉÜøÁä÷Ížöç÷ÕSwr?×¦£Æµ7Øò®Ûó·¦vR;Âì|ó0ïÆ|5Ù(æTùKO£ùVo…pÌæ‘bûð#SÒ‚yNš©ÀGOH™®Ñlí.Ì^+dÓ�¥wz
-/lgdË‡wùCº|Ï:4×}Ã%â*ë:Ñ¿=Çø]t¯ø3ü®³:QOœñÛ¨Ãõv6þuCvµC^iÛvœŒÇšâ®7²ïÔ±v‚�IeÌ¼Zeô)•Jtõ”a^ÖèI×†ô«°ÈJ0µ"8”jB&EnU³Hæ—¶�?tÃZžNÅFî½KU'Äõ8Z|åã£�˜}ìMMXlrÊkDôG¨ÒaÎ¨b1:{ Fr‹L†œ¿Ÿs¥<:ìNÉîlåFëÒ%xÝßÍÑº�–ã›çÒ,•·„ÜÑ‘Øø–Âé€ž<`ªÙ}ÜI’ß½ó–w„sgì†åØÖ“$(¼ÇˆøC3¸‡ìÝŒ0ŸgC
-{gTÅÎi¹*LV#jfÝ-2FñyÊñ±�Y;ÉøzÝG{?°7Ow—î~—š;÷?þõ·î]£Õ_*’^Ë¥óêí<e—‡Ö’¢w¼•‰U¶ÌétaIÇ©¼Ýc"žÊ7ü±^¸„–!ì}î`˜ïLX:ýQHÐ`dTµ¤š¡ÝAVó£ ³�ÑCÆ8¸)dO?(„êWeØ¾œô…©mÓ—b�€í“Ü@¨zÔõ2·éÆ-¸ÙÐó�©½<×<,†íVé9ªé°,Ð?°ÚW©êSb8¾Lxº#Å‰s
-zÔÄr—ÙãŽƒ8céæóŽªûÈ.0’Õ^¥\›èÅäi9¯dr»£†ì;¹.B½Ô	Üm†»ôe=Ò¥²AüÀÐít¡2Wí¤ÆÃû2õ<Ü3P™ÜW¡[`X£Uú¸ôÔüª÷.
ævc·óÌ¨ôìêÔÐ¾[RNâ©Žg£‹¨g…Ïw§èkšR ”k!ÇCü;ÙcõÞåœÅ©iœiuç/ä�:ÀHA9ap÷˜*ÀÅn�O÷¯•Zº4›šÐ¹S¯.³LMŠ^œJÔžj	ÀãGÀ½ÉÀÎ(
àV™3<ÝáûÛ§kV¶=¿¶ZÚhüöM»Í¯ŽZã‰JÏ+ãÕI‰ú-ÚóE©3)Ê�³AQT–Åß¦e	âr†{Já˜¾†å{šg)hÔof ±6#S“ÅŠý�SU-U³M¡	”~�ÒmÅŽ¢&+Š^ eÑ�Z„I%Ó°i ©´ñÛ²ÏU[‡^:X[›;7™™áÒ\·4LbÅQ6ÉÑ¯VO,6§Õki mæLV:·ó—qžÇæ3ƒDÁó
-yô+JÉé{‚úë�3
-'Pr	&,@.)9A½�`?ÈUXƒL*z€¤å@&�|º™ ·‰�Cm�°LdœV¶�˜¸/¸óswÞÎ¬–Ñ[·¯©õÌ¨ÈÇ�†=&Íß¤Ý)\È—w›Ñ“7›°°Ý<¬Ü/Š(^4P¸”Mß“=–îÃg�¥î	ØT‚6
-2‹
2a^LÐj€Œ·±AfÌø	ü=È¬„d¾U”Ìâ7ê ÓO
A¦5?‚Œ2¦@FuÚ #œ]—±ä‡3vo·dlYŸÕÏßnßà#µá&äm¥ÿŠ”Ê|Q.ÌÁzƒÃtIÑ÷¸‹H¾’9lÝ4©‚ÈNkw�í÷’+©¿EAvS	Ê¥}dÛGã£Áš‚› A¶C^øÈZ,—àd€¬Ö™‚l»‚,‘aAztAæ¦ÌýÑ8åTnÜ»‹â›Ç·}[ÛÍd‡¡Fôæ£ÚhòhHøº�ýÒðÜxÓ¿»Êëu/ËeeØµM2…ì
-)€.Si€Žóh‚:ÐnŸK°¯´™n$Píë	@
vPyôh�ÀÌD€* üóÓ/	Í¸/�=™e�]7† ë_7ýûèˆüú€×M<Õ‰¢é«í²±!»ÕC=Ú�=r×�2m¾hV)£/êÔ©¯	¸î:™œU¡iß¤÷Q€í†ŸþbX°¤6%€
sÀ:’šÀi%ˆkðó³#À4˜4)¬RTVÜôFh[€¥sÉºîß2@G÷@íÖ¹/FñÇüê’ÁºBn“ëQ_vÉƒrÓk£
-Vq¥ÇuR`ˆmôÊ‹¼Bw�Ö‡ÅêVÍ†Áü-0?3t‚äƒ¯Mà¾¯$ˆ�?¦à~ÃKpX4Øv1N°È\-pæG°<x6N¶àía»X
€mûk€¹¹·3Eº—*ýmßÖ95—ùVå`¥‡üy/O/·ÜÕr*[,IqSõñãK°Ze¸J®Ÿ
-—ƒ:È‘HäàwåÄ=–ñ@@D´– ÙD8ê'8M±¬ì1^>1)çì“™ùã>€(Y7@�,õqg²-€¿¨à§êÔ\Hèe£GùOpƒÚÏƒ”û^XKÛNÓ)M
-C™.ô|"WóÁ={|+Ë4ŒÎ�ÇgÍ?HÆÔýh°ßÏ©U;Á«òPÑK 	ö�»•A‚cäîšr¨rÑhrãäF‘ëÞK W�Ú Çíb�Ë»Gi”Xjçl¼(ÙOÅGo­»Œ´§!æc»Ø\Â)v#+�®êÑ�åV�…ºóçÓÿÂ÷Û‚þù4'Óž! ò�â&õQz™¤>!¥w�•Ñ�ÕJòc€Ìmj ·“M‹zo�_Z’£ŠùÖoû6É|²Ú>ÝÎÔü}píÎiÂeÐŒA¹>_Â
§ŸA<ÿz»‹|<½%lúß.nsþOô� 6»# ®2” fµëé �®ø �Çb@Ý÷ "ÏÔ²ù¹ö©^”Q×þéŽJ”*<ïJ.ÜoJÓ
-4(\f•XÎ&3œ TË$ÿeûý?"þ¦7üUW=§Ýi2€¶òM@�n3@?¢'`2!˜ìÀôY?zšÜàè¶lýÃÜ_)hUŸøW¡Ü{%µÓ¹å¬<<lT²×á&5Eøù_:ñ¯Xüÿáð†Ü¯~ûÍÀÅRß.fÚÞø½»r`éY°ÒpØŠ¶ª2€•E«5Ë¹rãÔÏÓ\À›[Ä$:&«v©‰ž5_HkØýçòþ™Þð¿Ü¯xû7÷k¾ý›Þð5ß~|·¿Q·=¿¸soJÒ¥ã­	ø¹¼�¢	îÊ§WZwîý’mÜ}8�Þ”)ÆaN�®ÍW¿�.gžÎ•\ï+ØðÈ‡Ô47™ùÁÏgVÈJo÷Êv�ørÚãñùófý¬¯#eüZÓá,½:k'|åàxqÅnuy·/ö’?zûÐcmò7ö\ûõ¯þÊ¡Ÿ×ùÿså>Ñ«ßWå/d¿vú�“ñ«þ>òójæðnò¹dVÙ]ãJ–·„U7¤ÿP×ôü¬/ã¦o„Ó1ï®f-ªWµ·€†;x{<W^0G¼õ:¥Ç1ÐRôs¶VÔÌÌ@ÖÅOW&]iMM¢uüšjCa?jíèí^sW¿øJ�_!ïëj<@-w²mÞ¨`UÓë•“Ç¥‹ƒÛ¿ºemá ñê%5òÌ€šøt§6É)¹l2~¤[%ßÆ¢Oo'òäÜ^5&yjMØcª;Ž»ùá˜¿–ï1èï=ñ±ŒÞã:9’!¡3T³Ðþ1_+yá¶?ðßf^ßÄÐ¯Øø¯FY
eáP}Ž�ÙZ:÷§»Z<ñmtLØ½¿»…`ï=záÙãð6JØkT}î¡4¾d†Aå‰U(“<_†H@±®–aÊ.º”kƒµîb:}“|Ïœ¨[=öÎƒw®Ç¾RößŒ�ß–Y'ëWñþM]ý›û÷Mþ¨^c~à	»+
-žWLUFÕûUâË"SØvÑEj0HÆ ã±Î}3‡‡}r_Ø8v!¿wèSéÜ;÷j÷×ÞÝØµ�®+Lû1^1Ö{v-9k´ì¸ŸÜQ‹Ì°ƒM­ð°ÿöÈjl`ýµ®†­þ·uuõvÃª
ŒŒ�÷MÜ(86©q=‡‘Ë£W`Û5Ãß¶eù²Ù³ä´ãZÐÜwÔ¬7ë «õÊÔˆõ®½6£sÛ( ¯Ö®Çe[dlÐ†-¬åæy"ö›Ž\ŠõxQàu·¡+ñ5)ÿÀ_óêï:~ôdÏc ð5¯~�¡Ž�NÝØÉ%³2x[~åžîÊ)ÛAÂkÎLn\t{ÝºsmâpZ;;Um‘ç×Ç¿
-k}‡?þÕ¼ýQGßEWwåÒD{ÌëKMÊv£Æ{uy7ä\1W:ãJ9ËC5ì@Õx¤ø×ººràQý›¯ûk¯ý¬a²‘KßÄ¤]�=õ¶ø„gŸ.fµChjèj×&ö£c‹<YƒŽ·¦#4ßz<6Òº�2²Úcfš„˜dÃ×L¦!cN©´\©Ž<EÕè ©¬��­··W3EvU#ß£X¶k–ÔbçÅD®:Út^åð¨ÄÛ>òÅâÄ•éž~rca{"¾öÚ¾É¨ûnÜkÍƒ´ì»×Ú™Aß ¯¶§Çž:Õ¼3oø�LXšÏuÙƒCRïkÔó¤¢§¤\HžÏÚÎ…S5SÀ9çq™I¨ª£”¸JÖ*ëê’×Ú8’DRsÑ·�‹]1¼¸P³¬
-÷uy•ã/‚å‹lL®©ú�fA…´Eí]¥÷Ãnkij4â´È#×ÒãQ·þ/ë*nªyOöÉeåÔÈûh ÛâÈ«žýÑ´Ê¥G‹J<Ÿ­+Bv¶—¼æì$¾w³X”©Åë¡cŒ”UÊ	¡Ë–ôÙTx£²²K»Ÿ•Luzå¢U½ÀEkÛáì²J@l¦Ác©dÖ‡˜ÐûŒØ+ü±×š·cë@¦Mn†µrfRþì1’j&‰2ý
-äJ˜ŠôXjšøÞ
-MQ&¹¶Er·¬2ò@û²'h%cÆ¯GFÈo{W2e÷ÌEóðÅ1Ù[–uŠa¹œS+º�Øfge‘Œ.¼>‰ÏVìŒ$d|ßÙ5-/}7/\§Ô¸Z¸i¥»á0©µ6i›}uÙ=Èr4¤ˆŠ«L	ñ½ÑÉr`•h!tò,¿Â<O¼`)©øÌjJ.QÞàl7>I–ÃóNÑmFÌ#*ŒÄè[Úï�cZæS
=ôbA•6*Î('Áû@ijLRZ}¦QšêMÊêÀeçÎ€.äô¸'J…ŠÕ  B»3ŸCMáR<4T~=VÚ“ŠQ-u<Vœ‚|ZÐØÊ»´£Í {^ÄX1^ïrE×ˆiæ±?³ŒT8´ß‹«4?êµµ¨pBô~`
-ƒÄ	¹F2—9ÅùÝŠÏä)bÂåìNVÏ1…¹Ÿcè9 Î™%œ¾_OÔíð×Ìž¸V×—êJgÍŠ\ëtÏ úë_ëK“˜×ìÉØ–Þõw²ÇÊÙi/2ÙGñF“gÆs£+íwý�N…ï‚šÔ&TíQ
-cö9r“JÉœ’òfÄ)¹£¤µrÌÔíýü9 ¸Gõ„%Âž[‚Á*H[ÅÀ8;ú�Ñÿ�½÷ÚR]IE¿ þa&ò//„÷ ¼GNØÞ§ëáþÓçí¼î»)AÍ*LÕœ½{Ý³×Z»zŒŽÅ,¥22##"#B‘‘QËxC¡³¼�Bwh°Ù'¶-y6
-Èy•.”Ð`=‘·z
-BÆ‹ElIÄ½<ŠªS"Õò¦v©‡Àv§Nó›ºÛâ9/I;Pìj3·Í«`csbôø¬%‰ìF!1¶Z	Y™Ý.îf„x5@Ÿœ›tc‰"ÕCÅ…åGs2¾¦ÎÄÄ›³É=ÃUWYÆ3›øWC!Á”æ¡&¾<udG1Ö¨øOÍr1î§_°Ü<5	§wÑŽ;Ñ/91;›hþìo‹^ÚçèÑ<w—qçe×¶E(lÍ3
–WéSŽ×è¶?©Ó–VþLõ’C‚Š1{;9”ž”ÄŒHLÆ­ÜF°Ü±‰ge¯‚ÛEåˆ¹R‹–gÅ¢;©
-¢“û%ê‘övt�·"�DëÕJÁT«Üšô«E2¸Ëåò‹˜®Wu>!.ódL›�6á&U$YäW\ê1.Dœ¬N:R>Ú\¯JŸÃÎ!+ª#r¸Q§¤Ô³¬'÷DJ [,0ø,¸ðàöî)„¹4[
-­35DŸÎGˆœõë–ƒÖ¥,Í’7Îj¿Î³Æüƒª'KY]!Ø 'Ü°º¥�rhµ®&Iº˜]Ul‰Ô)‹	Ò1·ÆJVáJkEPbÑ_n$Î2È{* pkÕ×YÃñ&'DšOõðY£0ÁTj~¬˜noÐõN=¡•!E¢^)ìDäuY@ü•UÂÒÂœ�2}YoÖÍ„p€f� ±N bmÐxŠ¨°âë™²0®Ö‚“A¡Øv!ÕŠT³«s2wäv/–&y«+Æ¥–0Ð|š0åv]¾R¯8¤J„êahg÷9ä@‘H|‚•(OõÎ©!R\*â?…W–V*{°„Ø>º²nQÁÎô”!Øùc•ÌmÕ!3c"!€!H úvÐyÏ
-Ð…3 /RÉiå@/F¥¾+Ð+°ãb=[	Œ‹©×ŽK©�è�n•=êùÚº ’9…¯flu.¢ÍR/˜]mÝLûå@•3S”ï„–Pk=QUŸ,‡/&Çôq€
(€î¡Á"	°aT†`9˜–;lŒÚ èÇÖŽÕVááÐ3ŒÛ˜K´½\Ú
L¥„Ÿcƒüì¨´³Þ"¨¦"¥SZJGfÁ¨ìYC}Äu~^òü¦Ôu�7ý´­Jo=4Á¼è¨/,í]xð02†  APÐ�lxfx„ež.xà¯EàQ>Á ð¬Á6Éå8€Ç©$À…aà®úàtÉpHÕ*lK«Ž›Ç�žr¹¾m7ò6RQgÚc’uê£;ßÎc^Ž&Ø÷>ÝÓÞ'{NÛ^Î°'~Å“™�¡u¦´„ )€p–¨: \–3‚š‚­@»^Ý*‚¡{€àúFŽ"áñèð¹µg°g×,ÀGG8«q±Tó¦ŽÛr7™Y™yÀæõmfá†Tt>—%[±—‰îÙ\(D¬öV_eMé~õíª’cpjè{ÁðU‘ K¬º$oYÒÆèÄ5�ØÄ
-Hó@
C0Íâh­C Oq¢vt@œ!@¬÷e@tKpºµ$œ_.‘„xnÕ€ÓŽC9:žîÌ<à¼Ë»Ð2�gšŠuÅž”•…JäÔ/F}aóõóÎe0}ks—ÈSV´- ‡*A*QÝ*X?Ê=±ŠÞ€b+ ,‚Ác”¥äv¤î.BÐérMBr^>rawB Â§£x�-z	ÈäÎH�ž¤5Û¯œ*‹™\d{óSÞ
B»Ìá4\¥ú£ó4î:
-5hÁÆÆ‰¨¿\*[¹a¨£Û·ÜªÏÄSŽ<¾ig–�pd�0@‹
-hÈHÎX!èºM,ý€:¡FRp$
�"jmAÐØjJáU›ÕãRìº€’;F­‰(W¶(€©•°2'/yÀÆn¹MQµdŽCî�¤»³iÌ_³TƒV
ó�ƒ‡uÙ‹Á­µ=jôÉÅh“G-c»—5üJÀT€˜¹˜LêEh0^·‚t0Öf0¨–ækA0T}° èÁI.¹  ÇÓ Û‰ +ìÐD´�ìlÍ,à¬”´¡¶Âü4µæ99N§»gÛ1¾<'&tÝ(û7éAˆKÌÚ.ŽZzz¸«çAÚvv¨WÐèû[hú èÀ_’l@te�lP*Ö=é–ã5À2C`YÁXd.f'Ö³@f€ŽpÀaÀ$[C³8py �¼¥�½×Â
-�I2ÇöîR¸ÁVFò¼Åã„v²“ó[q6.fVDUu,ã<™V5+=€ž¿‚ZX„ �Öl;Á^¾Þñ–¯€5.à,½À*¥a“ Õ12‡ÝÃ
°Z$+`g6	°·‰àeÊÃ~ \J-íá¼GqxÒxaHÄ=…ó*L¹ŽïÄ´;›)xma~ŒQ.ì¤¡˜ænÛÊYü>Voxÿëåz7pe2Mø`:¶µl�å€mš€mËæ!XŒ€­Ÿ9¸“Wºáß
Ø8Ä]•W—ëÛ^°L§Uw^.pCVþ™P	K²‡š•D{S9MIÁ"¤Oýxi›~QÂáæ©ƒ�FÆ(àˆEHàð#Aà'eàÈ—Tà(À�Þ­?àp¯ëÀÁ¨;à@N¡âÜQKd�iQH¦Ï[6Ö¢=û £z¶JÑéNBÌ4�Zñ0nb½ÏôýPÂáëê
wQÝcL.â@Ù¾Þ
jÀÕò²F]…ž.Ïj\V.l#™yÀ©q¯Î‰;ÁBÓYpé‰…¶«Ôª§¬dòà#ˆ�°ØúÒú ~v}›Ä}^½ÁŒåþè^"ªfÜ¶S �{Ã‡€{ª€ó ëë]iS,Án
-8uI¸k¥2X<|Ï6ªyÀ¶u¥j‹ET‘¬-PÂ–Tw¹¿ï¡ÛÛê
÷—¨ö6#žl¦ß^.LC£ÀAZÀ[9íÏpà'Å6à×Ù#à7a/à·p)žÅj�XÞ®OV-úˆ[·l©Åmìµn`µ5!—2VMk%™_„çñÊ¼ïŒ×g’îlÂÅXµ¦öî¢«¸†½þ¤BµG¬fc=½ZŽe›e7ö-\–Ñ¡�bFM×Ð3<W1qØá§í!Òœcƒ~HäÍ²µFÜ’j9ÌhmóÐ´[îÒk/ÅW�;”VkaaT`í­aµvœÇ4U>AM³çˆ]q
¼ÜXfŽÞQ@›ú‡áM78èó­ÈoÔE#w4ÐMö¥ó4×§:KãÊ¬£ÜKct§ÇýãîLÊi]èv;Z†f:®E%Ø^ùIžm½…
œ÷çKýUJ]¯®ÁnT>˜ƒ3k
¼`fINUñŒKJÑ­Žõß5mÜhØq9�Û²,Ë^Ú¢n»9|xèh	ÅÒqM¼½Î@ÿÈ³˜Y[zaí4¯Ìjù6¸Ð<Tí‘f“$çF,×èjpGn„Ï«~½euk r‚Ž†ki»·ojMpÉ_­ƒ\_¿~I¯5g†C� ™™ÕØù"¡ÛuˆM¢ÓíŠZ²ãX5êÁrÇVã,£ƒFøˆNêý:«‹ëªŽ÷ÜºœÀ™	–š’ˆâæ•YÕY&ï¨ælÐ+Ð
-Óp¥èF�Û²•’Þ(¡±éÅf, ½WxÁÌK³ÌÖ÷äU³¦©Y¶/íwî®}àd[z¶F5›¬£�4Â\ï„™"µ4KTsl SÑráb¥èHÕÊë’Ô(W¸B·¤×²¸#Ë¾ò¤ä;´çÅf°½*�º/t¢kKž©¼H³ÎÜ(æ65›UŠ¡~–ÝF©ÌL&/wdÙ�þLZk9Òf}ÝKÕU3žl¦…UW!ÅëíùRw5�Ÿ�-3GÊëÂ˜(é•[<Ô»Îbà4ð Ç!�þ œï‹óxO“¹Qr™Í%˜c)«dwÕ,«›™Y‰îgì[‡’Öjâ*í:�ÆÉúà”Jê=Ú›ôã•T¢™””D�-;¤ól”:95`‚©½eK_€�1^âÉH=»¯)±Ñò-uµ¥Çä¼€ô¢›<>âw9jê„z,›¶¹�Ì¬à!3öµ‡M½.#ƒ5À¥*‚�OyN±`R‡#‰C?&%‚„”‘ÎãZù­ôêjÇ—äRLp’%¦Ô®{ÌgÞª®&lfêêfþÇ|›qù÷ôZ³By�ŸŽ‹M?ÖÉ÷£’œ£W+3ËSýt‘;ŒSßLIÊÁÑ<ÑŒ6—ÒyØÜJit”eâ¢µ‹Æñù”2b}Î©5¦”§Î«Ï½ÑœŒhm�¸G>¼î[a/1›†d8¯àa6s¿¥®Ž·�ózw6TWA¾ãŽö&p{®Éµ®ùfbŽÐÈ‚¾¨äÓ®-‘MÊ�y!DU	™”êâ('4Dj)tbìÖÙ�ÎjÂ$j?ðj¤äµ´¼7áJ4´éÃÐ9ä§bX°™N1�ó¼ì
-DœÃ€Ð/Ÿ’p�¾mÍ?ª�'~êì=ùÒQBðYqª
A[3AÏfÏ…ZÂ©Å×%÷Ä^uÎ*HI84è\/:æS~W
q‘�æ¥¥ÄhŽ·K‘b€JC›¿>çB²8ËãY9ØLêõÀY]·ûº'ô‹ë‘ ºÏªTC–~ê@í|é q’¿+2¼kz½Eé÷¬§�Š§’Y)œ®ÕpN.Õœ\»ä TvÊ£Q¼‰Lv¡ÚLµxÊz_§‹ˆÔ9ä˜­ ¤KòAN4•¨ÇU�7:«TœáuÛíùñ�'¤ç¾²¨¾Î‡ü£J5æ§v%É—Ji~ÖÎçø\¸UyÁ¼Z¿U÷º‰A×SINÇœœ�ÎÝ‡%Ø»›¥(é:o[œ+â¢9Vd§fN1àœfÉBªµŽ´–ª�ÓV±ºTC�Òqpˆ"�f–î2å«ÇzÐGŽ®—¹X÷ùÃ•Ð˜„ÃsâB?¿"ü”^£|ì1ËzµžÇêuã§§’pq/íóqrÆt�˜;è
-']�J,çBvÙªSÇ¨­*%u»2ÈB
cOÇ÷^ÛL‰&m¹èØrYÔbsØµ€Íáˆe[`‹ädÕLV¶½j´d”½y¦(ÒŽ%öÉ`¾1ŽSSw5êÂ{±àQ6AÌW�ü¬9Üz‹ÑÂŽÓÏásæìÙu^‹+â¸Ñ	Ú)ú	›cÔ"\ÚbõÙÓ1GÈ66�.X‹™NÓê¶#
-[)†wŒ¾éSŒ\óôá0ÌÓ‡cwNN-+}8[Í˜%P~Á®yÀ½©TŒÍ�\¶Ù±§ká¤%Ñ]`1*­ˆ—°¤‚ˆ§ÈûTr�z6ÕÔÒÝ”ÓŠÙŠ?€¹ƒ:/5{:²ÜØfƒåÞæ —gk1µBÙõlO¿`¬×iq0rÙæ£º¥›r+O��›&IùU²?kI1ï°“Ù�#¥Ð!™Ð‘ m¶!ÕÂÕZÑ;*šYÀE##9�{Ò¾ÉœL`ûÐ&¶ 5¸ï¿WDà5ÇpûîbïŒƒc»µíZ—Ä¾Ãn,“ë�MFŒ¬-Túè^ht°»×icÑ9p§œd¨A"i;%	Z‹ÖðLp:Áò1TÁ0Ç¡Ä ¥BÝÛ~
ÙôËkd3 ðº“äê�•ËÁ™#WHì91»ôü©¦‚²R«b…’G	ýqMw<qÞ]h¹ÜçžÝâ¤ü4&×õ>#dõŒêV Ý‰ÎM2@z$q¶Oˆd: Œ5»Ã3õ‚-HÝŠ®¼¸å1©9‡%„?sK#RßX˜“§á4•š¿B*¥�6£õt¶Ö¬zçëêµp�±e’ÙR®J…¨ˆS¢£{KtÝ*,BíÝRT#ãÝâ´ßÝ
õhGºîÛY+®ã„×†M"å”‹XþpÌaÎe°Ž®Z•>Z�¦ÈšgH
ÚP/â‹´¥1qàìÁ£ Ü—
-]€Ä“k€H$�À8� \�„9�ò<6ìTöÛ(Eû‰r^å[™ÌÖßˆ¤,Ù#1–(­›PÄ›€zL`‹–’w«ÊQwtes:2µVíòŠŽ”ù>ž#•
-¢»�Ë!j–¦ÝÛçbp:ÁŠ"ôúÕJ@PqD§bÔJE¹ó=@öqã<2r á#Mod<9¤°ÊN»Ú«4l�v	›Éµ|6³)d¶³“”²,B\åêl”l‡Ú™Mk¬ÚôêOÆÝ·nUkÛ.[Bç‡èÆ3ªQëÌâvÍku€
-ý@“VA‘…@çšŠI-ïa»J6é:Î­N]�Eà?Û¨ÔÙvÕV¾Ó°|ÚÇºÅ¢5á^i¯åŒŒrédw…ãÙÒÎÙ×³––¬›Ç:ä½»m•CƒÉ^t·L¸¨‰,Á�‘zÖNCÌþªŒ Ð#ØÀEè`;t#Úƒ‘¾Àœj`.¡	Ár°`	gõÌÒOT/@*Ï¡·….lBÍã`&åŽ­1,&¬H'§©A9ã�”
-É~¯!ÅsÎ9DNT·«!Ÿ-àþ²�
--W2šNØ¼Õ¶‹Ug'¬¼%'ËqÖØ¶Ù˜ª!8«›ù6Ó›‚
°]Ø°y/
-°…­°ý °ƒ
ÁŽØ²Ç?±w¦À.áÛé­`™z¬*¼ZŽDWJ‘N‡‡æn—Â
qË>Ïí´päHg—ËÑ4	Y{Â’³íXH‘$’
-nÒ:œähgT€ŸØÀ'vã/>‰ÍÞÎ® ˜ÞÁq€+’þšï:“¯V«¯#€÷ú{€÷#6€Ë‡(ÀãåÀQø®;ÎœAS•#‘ÑÊh�™¦J{š+Mðá–šb;98eÊñ|7œˆ
-~«?˜Dà6é
kkwÙ¶lºÕš¤%oŒÃ¹JË¨Ù`[bÞ˜b0„¿Û
 ØA��@u¢ÈE‘0*´"‰6!(ª€HAÖ%R
-|žN%Á“@`P²ðÃ&ðe±Xi‰Óí%8K�´œ‡ŒM3�ØzdVÚ½\ŽZ:Âü(QÞÑ\›•váþbÔÚ%s¤Çƒœ�PttÈ
·ä4¤²›<BÐÃY]Ð€ÌZ„ü€Œµâ€é2•> ¾!È8 ûü¥Ò±�"Æ\ú‘ êx£bÉG3¸`/Fõœg¾Ze‚llžÂ7Í‘X¡÷¥ÐpK/•vÉlpeç}©�´·’X×8.€&,P‡ÝPÚþc˜ƒsô[ZpÉ¨äÔHvg è4àE)Ôö€âY¸eñ“0 |™* zÈãÎ¯}È2Ý”{»Z¢Vj^ß–óB:d‚«ÕöûPk7çê
-Þ°¢ÎBe£±½Õ$�ÓL
-Á2MÏµpƒgÊ†0€AZ4 õ.èÙÔèþ†t�@ Æ�ï]°w-ßÅ�°[ì¹Íñð9wlší¬µKÛ5¬UÕŒk—<ài|Ìœl’ÊU—‘ÆXU�s(è‡‰:•õíÞçN—½¨­™JÎ©Yªß@Ï©“Qwôž½nÈyëJx®À¸õ‹9Cû‰YçúQÀ(z
-0S_0ÝÞ0=n˜Ú�ŒòF\f#äz€q¹ö€¡Ø�ÅÙ0æ2#öe’N»‹*t
-Ú•9M÷D"ËÖ×Â
½NÚ‹áC�yC“¤÷*^gÜ2˜reé¦fƒ+zæ•n—{Ýpã¦<«�‚¿qlŽgsLjÀJðcÀ§{Àž¢,`W»`×r°]—ØŒfl¬-Ö?hÖ9GËä	gô:p)Ü ubˆXë4ç¡TD…Öšïâ®‚óì°búHrJJAÈt½òV¤a›ý¤zƒñÀ—;Þ¶�-ÅËŒ'ÀñuŽ†æ·EeØb¾:°ùNK`#Ú4°ž2"°*‘>°v+L™šÕâ7Öd�mÈ&¹Þ1‚÷æc¿žÃËÛ"C¶çg©¢%¿CñlsðñÒ¶kõ†K‘†¯K8üüç|Ùö½w�vöQÎìKOØ�§p�PÙ×U7°OÅ°×<*°ç$×VÌ�¥xZ8ÞÄÜZ&£��²‡–®—¸³%à£çÖ<�¡ñÚòáª¶'Õ.AÜŸàgõ†ÛÐ®ÁmIGàl³.¶FéÝé¸@×œ[¸19g18ëÎ
pBþ\=0
-_²€¼BÖÃqÆw“”ì¬fm"3Õ‚Îoi=ËÇèð×Õîj6¼ƒ÷„\3
÷’r;tw4cœ³p÷ÒcÀ!9p‘rpÑLpx÷2IÇKG_¼ºJÑáäd¤û…6tPwÑ*‘¾ Ñ(çY°ÐÛ»÷Ê¿÷¹¿Füögõ†»Â
ïaÜûê
FðÖL¹5ï)ë‹yàÙÅfÀ›iØo™çïY/Ñ¬€�ö¯/Øëë+6Ó6ËnRÑÒ¦ÚÀ³áÑŠ¤23†êË«îjìn…,le¨…vÖp*QÙ-æÂShHˆwOT}¾²«Yì¡Þ8 ¤Çpì!±¶ôDÀ@ÏDëÚ©/z(ú×8‡3‘Žx)Q�w2`—Ö³
¼hË{œ5± »ÍR:5ZUˆêŒ®vgûˆ,@­®“ø¼©=D;Ý‚]b)÷ºº4}Á¬€uGÕ7.šyÅZšŒ§ãÎü<‹ªnàñŒ¦‹Ì`U,8kËëÜŽ•prÝÆ;û3šÞ}M+ø¼`wxý#¨fXu�tû£©ö‚=£ÛMµ
-=ÿ2Õ^°ßå¶‡j/ØïrÛ¿C5#«ù÷¸í@[	‹_=óH5¿H¡+w·‰ÛôâœH5D9
-y\4Š’¢A;èó²õ¤2±n­�ƒÝ©e­Žl9r*¼£àÆ�HŸ‹´WO+:$/Tä”DÚ_ÈúZÂÌÉ,‚Ôú„@RÎÝá®Ð‰GN P‹ñý¨"–%÷1®1„-ÁÎt¸�'…I15àêƒ¬Û¬ÐR¹ZØîÏ¯1K¦h-Û�¶}­<¶UÐ*º”¸Z¨ÂKrÃGËõíñ0mº:ê©•‹µíí)™�4.õ¢9×°ßvaú`¿ÙÒ/ØÈ#�Hj9;™[R�)=–j<aÃf=xæ§¹–Ð|Å^}Yñ”Ô•¶ÏÑÛd„ŠêCl_Þ[ÆÓÑ!�nî$[w�xG¢œ†ajj¾Ë¯ë¯tî­9„'q´4MV°AqurØ
-&ã>NyéHš—Lbÿ$õÞ¶Jø(“[¿35?f\£â¬Í¡lyæáì8›ƒ¯î@Ô·jheƒoG�4ZÚG£8FSÞ@$d£r�y÷ÝØ¶<]Å]|—²Çœ7¡tÂÉs6ÒQ�AÏ¦¥l@vŸ9
FŽ
-›d¥8“ýã2`÷•88[k+•…Å¦\¯•F£ÆÚ[Ûµì‡ÓNOâágÄU�cx¬
gEÅšl^°iÒšßªƒC†�‡N‰Ð¢Ñõæî¯Ü.b·žÃÉmi}Ôã�aþ�Î�Š4š‡¢Õ`Y/â="Èf¾O_èéln:¸m–P QõÍfð0 ¥©Î@ÚJ�è§ÝYç3LËNËl=ÔZyÁµ´q
ØöšÍ`èàG{Úš'¸/ãCû¡Zè…ìx?&îÆg™,ÆÏòšdo%ü)¢–gö¾· 7ƒ
-ÑÕmµ6U/6<yßòcÏÙIìŽ™æ �:ä~è1¶�Ô	•»#j*qÞƒæ«Zç–²Û÷‚A~œÅ+jµÃ¶™2¯¬Üäq½vðy)èÍT¬pÛ¤çÒIW6iðhi×ã2­}˜ØŒ¡‚—‡Æzvø”Š/Ø3:þÑT|ÁžÑñ�¦"ä±'tü©øû;Ó¿
¾±|cùÆò�åË7–o,ÿÍXŒt®ÕoaÙ…=bä·ºmô—cŠ}cùÆò�åË`÷Ëmv&ÿòEvßEùÙü7¬è¼%ÿ‚§å[¿hÎ�Ò.cûý¯Ñï–5¼Yý3PìË7–o,ßXþUÀn†ž°øTÓ>`éùgÔ¨ƒ’þº[mNÑPÁRæ~�ÞÝ™G^0Ÿ>ÔK¿h£)ôë^Ëú·fÕÈMÿêëò�åË7–ÿN,ìx6r�_*¦&+fV”ü
,¸=»tôgF}¡/�~6šÙ´<‚wÈ¸¿šK=×+ò­»_£_Ç¢YàÌ§¸zŸ7æéÅæ:o–žr¾/º­û}…Åy †&Êªöå„¶sK¹H×º›Eÿ/²úßX¾±|cù·@£Ã¶Ó[·í×Xê²]˜œCç_õX×=Þb”Tœgó+Ìê<´dÏ†"Õóì«nÙP2uj sôkôò\'‡
endstream
endobj
114 0 obj
<</Length 38843>>stream
-Pƒ‚–œ°V_Pls,J¯ôl. ŸwÉ9º‘Wj®öhejø‚!ëå�†x-ù/'Ë9Ñhå5˜-„Ïº«ÁîiÑ×ñw¿^qö4™ÌÏl�$½÷1Ž¿?÷~cùÆòß�Å¸´N“ê/±ðnŽñì[âÌ([ù•j�iôa§/¹¹ow§‡]›ƒg�å8É|…ž™C=LM
¥d5î‰J~ÒŽMÇãN,ö‚½úzÌæskž–|x½ñ…¢¡[«Ô˜’ùj-¼…¦ôj¨iÒ¸
-è“²\°¾¾•·?8C½`Œß%Æ`WhËñé ®ÕÉf¢Ûn²î>ìp
¼áÓtûÕ�íê«•u{ç±ÀdÞŽ•rÒó5ì››rêo-ßX¾±Üci#ŽRµ_¼èé¯Öº³îG­¶äˆ¸ ýŒº�¸q¾)Ÿ·ä]Cý€ùáÔ²5Íµ×D½y°~J)fhêÙW@WOŸyÎ¬*&ìQ"æS”C±O÷¡~5TPÕ¨©L?mÊvÝ½×WãÂN÷ó®ÊÜÀÈCÎJ£ÏV¶�¶ŒÀRød0óúúï'SüóUdv¶YvA�ÆO?­µlIªi °,‚ŸÑd7(R|Êê{ÁŒãÏ›6²ÈR•}a†±Šmíÿ¬ËK¿{ã
-ÉÝŸ…Ç¿±|cy<öFQúÅçM¼ÞE!……ä¨³d?Z¾Ââ…ž–TT/ÑOt‚Ül•3•‹ß¨ù³y>°†Àç€ºë~¢ÍdÍcH6ºó‚ŠPgý2fTrš<£«Ç”ÂÌõúê£,–§’¯ÎV¤Qá�ùé)*ûYÂ/g/,Lñù`*$05 Œ2=Otm%2NŸ­31�t`•§FùëE‰ÚŸó�Y{61ÌëÇ½¨äpÚrºZ†]`›nø±vuäŽRÇ^¨Gc£vn†±¾Ý
“9+_ëøÝ¡¿�”|cù{ai™.VÌÚ_0É&4ÕÏ[ºüUÍ9ªt¾O®>oçHSù××XªùÌ�tmw
-1ÂÎãÏ»©npSŠÏ�-_Ý0Ïwe¨r�M…ì·J~Øã™>5í¢ð=»�Y®žÓX‹dC—A€ñ»ºüìáÓ*ûpze=_NÞ"EåI •¾j)„}2øµqŒò»‚šÀ¼2ÚxÕN†?œ‰K·XäÞë6gGg¯ªñ©ÊZ•žò™}É�ÇåÚŽá�ÕÓMú_0¶QðäƒV;ýDE^Á&é�‘ÓIbYøÔòûûËÖ7–?¹±½då‹–�“„DÌ¨®W¨~Îwv}Ö6ô‡ËŸÚ<ÿ&bŸQ'CXzûç™{l^„)øÙ˜k¨¡|¹ÿÆu®¥bÈ"*Ô
-T'
-9¶„‹
�§S5¤Ô»(œ›‹ý¢SI°�¾ï‘Ž®22Õº®êõ‹’OìL˜:í•©A›õî±yù�©ðJ‹G’^4Óû�<"mÒé+R—q¥û=fq”e¡qûŠªù!Üø6³Ÿó´ž¤MÑ}d“�9Ìîñè3Rnhm˜-¦göÔ9µRTN–ªçßKMøKÉÏ7–ÿ[XØþÄš)m’q[‰4
-¨¦>ÁâÚq„.N¯–ŒžznRÙñ¢nzvSïÓçŽTøüz�Oõ�ÛÔòT<›É
-Ýk�PëøLáÁÙÞ3*0äÕfx’¦ÂöèÃÚo8S>¥¶¸?=#S=mu±�0ÿà•Ò¡vòÒµýÑ‹«…Çè1ÞÆ²f‘	§{tï½Íñ]¹Ø?Í{¿Ó˜Õ›u,Òã\è¢ÑmÊ³¯‹w¯þ°AakÌõ�VtµáúOº
]QzoÇòö;7’(cÌçÃëe–aõ®_7?¶àv¥ŸpM+™Ñs¦k¤C/Ø$»ïçáEV3Ê^?÷ÏÿDrò�åìöÓ6–#mÔjþ$TÉÅÔ^ZWéhÛ¨×õ<áL¸H‹\+â†�ÀD?™‡Ý'ª× Žq‹yß‹;
-}ê©TƒÒµ>Ê<¦p48îj”tI]ÞjfhH*j³Ët•�qÙo¾JØ¾…2»ÁÕ¶±<zd²åt±mŒ*Á·ŸÙ�©qÈ
w¯âVžvvpµk,�ÇXW1Á\çñ$6N7Œn‰¿ÿ ø×‰ÔBw›Æ‹?ø–¶œ´¹tÛô;ŽÅëÛn`5®¯¼ÏÍ	¯[K
-¾n©zŽS])GÌìš­gœËT¯nëŸ¶ÁòÑÝ(›�ÉÔ\*¸97
-Å?mü÷‘¼o,&ØYxÐ(�ãm¯33X>·UøÃ&ö6“‡f?Ñ?…aò™±7–8t³5\@�¦ÏªT2¬É¡–Gñ÷Éå€!qÝY$n½yÈ0×*iŽ¨ãÞxJÊ�øE$ÐñC¶€5ÑW®>B79kÚ*l%3»µ8ØìëEÊ�§(ÌKq¯Rö/!AãÕG…K+¯¹w=÷jê]+â�ñ}—6‡kyÕŠÏ2‡ëó¦�°${¢÷)Í†Ñ·2ÉÆÓ�ÒñÅUÃc³'®$=½"}š_1:—­]ØÀðü¸'”­;gÆË´ƒHÇbÛ’žøs¢³I~ãŽ’Ï¿*ÿÉ%ë~’Ó;Ds&|Š…mu#á&ïÙ»sƒuÃ*&¨uÖŒ¾�ã¯¯Á 
bÞ£^8ÈÇHE%J]¥ïQƒÔÊsC29G$s76ú`Š4¥-�w¯¥]›ÝÅÓ±d³÷]Úäìö¢{Œî«µÐÞð¹ÅTYÆ­ê·Ûy½Ú¸zO�|Þ¡_?Ë$(•�(Í«ÿþ�7|‰ï.†ÎÔvŸûa^ôp‰Y²iíÈäðÓæ¨< ¬OMCÇ®´W÷’§WÆ¦ƒ¨:
-�+ÎªµáÊ�.b}°¿’íiP'«¤”¢IY,—Î>fHW˜·²pO¹1–võ�6h|Æë²×¶�/Ûè
-r Ö9ý;1£¿¬ÜþÙ±4Dg·‡‡¶AQŠRŸ´cíÙ
-ã÷¾¾2•f
Ò{­Ó¼¸®G¤Õ`ê*m‰‡gµÔôb[øØCã6­€ž™Ò†¤÷Ü™ZWç‰7àq–vvq4^5ná¹	o×ãI³K[ét«hØåÅ·�*†»ÿàv8…ØU’Ïí—£“‹]A–Ð­MÇØ_?‘ ó
-›ëø?¸o3±¯ÃæhŒ+�n²Gë»‰Ù%_?ß+J¯=+W{‚â7ôxý¶…Äæ ïM²Œ}Š+ü@MóflãUO¶ú`³:gzï²ìì“s´ùÌ�Ëâ??fÇ˜ø§ñ�&{J¯:åîJœÆ€î\,µªÿ9$çÏ0ð¾ø	¶½wûÈî\m¿E™Ÿ$îmÑ3
-˜Ö®û>€9°¶¸J˜òdÌrL0øgÒ­í@w/F´]w]&}g!úf7<Ù‘=ÛÓ“MJX«pµÁ~Ï°¨6÷Y¯�…‡så–VÅØ‹_÷H\ü`p3©Øsœ>Ìw»Á3Éëø÷Î¼—ëÍf°<$�º,cÃ_yÍ‹XàÆ°oDQ³KkO(ÉÏš…�ÑÍc¸ù§†°<ž™—‡þ‹–6¶ýûTtÂƒ™ñ–g©6Â~ñžPì)'šJÒŒÌ?c­Å$i+ÁF²Â}|Ýè­‘9|e¤�û†€àºaw§çé¼lŸ+¹üëcq	Îhá§
wOsØÈ¸xÆ$]u:•¯ß{òp~¸1¾h÷¹vçõ7.†sc|ûjjtù�a÷¦!X¯­e¨/ko¶µ¾Í0øë>ûpz�ô®1ˆ–žMÝ8O•¹×ìÒ>×ïf~5Kº$¯3é‰ÓÕ�•Ù¸hÁˆå¾:F
ç­Ëa|È¹xwv^
-Fré²òpâ„É'+WtÄ“U—œ9VÃ§¼y•ÕÍ“:Ÿ	*k]6ß45úÈ$õ…ÐyÆ<rªÚ¶_´u ÓyLd¨QºÙ-™yz’¨8·Fð¹eo½×
-ï3c¦d•å£ÔÐÌ¢z
-©ùÆò�½æËÒþL�V³È©“ VÈ6¥•nwLöP
´÷Ck8–FÖ‡T¹³Ô[Œ\È‰W.D˜û@^ bí¯¬ÿà)_¿6\è§O7B4¯|Öz÷šyîõùÇ8KlT7c
1v-ßäéVÅ‹Í@ÔcƒÛ9è¯oö‚~øö-¥÷AŠ¼ó£íVhß)lL
-§ÜWì7ï‰¼j¹£Þê®Œ/¶ÂŒ*OoÂ+ò)u	Ö¬r·�[¨!L÷ÅVKðq•é•%wEø7¯3F8øµ›C…ûdÁ,c_z3Æ«.±ðpó€:7—íA~r¢„Í:éééš•ždå@À×wãó•h•Ce$ÉVÁ£uû6ã8ÿù¡¡¿»œþ�°Ä‹Ýúzï&GäŸ�úÙÇEðû¯x£L<G •’fÄK�[ ?Š%[µv¯v„38»ùÊQßÈ×Mw/È—
-où�‰ŒËNÓÓ0šÝ„C/Ik÷û¯9³kº”¬{cf%bf–‰‘7ró�©´’¯6wàn½væjá½û:Y™Y.}bKý‘²oA#’zkpe.Šˆ-4ï³nÍ,W­�æ43}"óW„�f¿<¬^´và¬lîó@®)-¯€¬>:_NÇá¢ª£®æŒ˜ñÛ2=å)kÙ}7´Š¹´V²>ù¼ÃF£u·z,”êŠò‚Íºí“f}IúÆò Ó•F
-™)í¨‡:u¾`
-u%—óp¥–[·0*,�!—vÉ›Ði½æÁfJÍqáRê>%ëÃ•áÖýÌ À}Ç³)m�Š|³áÕ|Ã7ûâÞœfÃoä>¨³Óƒé¼ŸƒÿI·rkyk*r{ö‹	^ºCZ÷¶v¥ho1Î'Rœ±¼ÏÔ~yy“iÖ`œf—ŸÆ>¬Û—çÑû`êùêSïCžÈWíýÄÝyË yêîØâÇ›âî4¶®ÏÜ�™¶Mî,ÕŠÆ>©Î¨�m�õJ*[}Ûè9aúó:[®Ï¯Bö%»þRõ�å_§F5–Ú”ÊUk®y‚õ©,®…ª÷ß‚ËÝ
m'ÆL^€\y_ƒ+f¶¦€¸ôÕñv¼5éêZÜ›ÝlîªI,Ñfã¾Æ-ÜAzÐ­„ù.ß¹uÕ×ÁþH+#ƒ=“4÷�Ôž
-vc7ºfÁ<ë�.Ñƒ£`¥s£‹­±±W™›¬\ùd&ëˆ¹Íawæýö—¨{ÿÍÎÄÚÊY^?û¢S?µŒnŸÆoÆB…ÚE“?D›Pë'/¹qL§à‹î€ói¡À®?ãŸå«–AJ±«›ûåúËòþ7–ÿ,�u¹ö8+óP°3Lv<xãÞn\É|Ý½¾÷[]”µm#+O›àÆoÒ§jMÉÈh¸|W¸Ï(ak¯7!Ì›ñZŽJã©è¿…gŸQ_ßìä>­eØMÌX�iC<Þ‚‘zcÄA,»À}þ(u
=|OÍQ“uéªÒRíé{±G
-�àð&í§^¦Í.mmìÞA½ñ4mÌú�%b-ÅÎW„÷Ÿ×ÓøÿjDÆ>¤�]gSÖw¸ùÍ·Ò=¼'R0{m|üÖ2~d	¶›°—‚;¾á¡ÿ“î¯²¥UùT<¶4€8m/Zùêge”þÊrñ�åÏˆe=]’j;Õ#G±›\Ö}¦"‘ÙÛ/˜ì6[mø8ÛÉùohFòyßâÐ[—ý¿ÄßêUüªöÂÝYäÍHºÿâ1§Ñ¤™e—ïG¥�Xo®¶Ëcì;vu·–÷ñŸ;*¾}–o?9%i¥ŒÔþW«6öÜ+lD/Qodµ½?ðó‚½§ƒâC
-Û Ë=õ~ê�äÕû|p·¬ ÐS"ÛÏÜ-Î™6B_¤ÂòÛ�ãøIM‡‘x¤‹£·÷ J¢Ù¬”FOQ p¬;³¢³êÑTj×Þä/À½ßXþÎX¨­§ÛrÎÏ¶© óáð4Ç$…y¿Ö‰Öƒ®@ •[5ýurŒ-ñ&;¯zäé6n/¼�BªÞ~fù7CêþüŒn›æwÛ¬_¾ûê^)]>7Y²çÛh-Ó¾uÕÞA·�Õ¥—§®7›ŸÇ`ÇëÕ®yT	…NqÕþ,àãh‰­'¨Ì\“Ë¹ªg¨Ø^Œ.‰(�)G—ÊE.ºË²'žØ0Œæù¸üJdÖ™FãWOs0Y­¨ù¬uSV¤ú“/†7‹#Í#êêóÊ%ŽþÆò?ËÚVŠ¡ýãÄ•mj.uÕ¨ ŠcT-*·YÄì [ëUUÞ[Ì÷lný,S±£ä¢#ëãÃM-ÈN^í {)®:¢Ÿ¸x;ÐlºFˆ¨ ÔþüL;ñýúþbÛK·'’™ì[Y½ÿ‚TÜ5)	y8.í¦Î‹Ôµœ7¹v
Õñ$Úf‚jq¿ºt‰{>žøYb�›OKõ'—å0[NLå òØ`$›1,´4«&˜po½`±�~.LmÑÀ“ÓÞ¨7mU\ùe-¦ýWóxÿ®ÿ�åïŒå°?7gû3šÓ?ÁâÞ¦k5`ŸŒ3-+Ñ�fbGH
V]©%ÛÃ7ñ šØtcBÃ§Û¹h*Ûmø†å	·poyuÈý÷ï
�fJ@5Goòªtøj;Ù�ñÛÓ¥Ììý«âcnÂ�’ÂúÕ3½?Cgémó<‡ŸÚîo?ì1•Ÿñº'I×­s$Ô»~y´Ä¾–sy}h"=QO’ü˜±qªªdŒIù×¬¶ÏeøHyuÛîï€eà³òuÁeéØðä'ŒÉ��èÕ+ŽNÚ…žo‚õ¼u¨ýUyõË7–ÿ±lG±JsšÈµsC½¢ÇKŸŒì;¨¼¿÷dÖå!X.¢uêÌù™Cšß¦ÅJ$¼ª>øY„·ßºåx“ª!­«Í…x²wÕ+lv+Ò.|â.¢Z¿Ø\ó¨¦óŸ¸ŸºáûæíÉëìÆ1iøÌõžxóljžÔ`tNN¥—ü�tÛïéé™´ÚÜŸ�•‡"›äŠÎ¬ËÎÊmýø¼N›Oœ¼Í^.³®l®Ák>‹Æ!Ð™Ý™ÎúÆò�åo‚Å‹üªU_×BžWE�½D[�«ú@!VÄà°¼O¹cZ.f+uÚ»KäZ¢Lé·GCØŸJóO”ì™êyž¦Šûj²÷¹¶c…k¡ÓF{¸­ïêzly,1Q�“lXKFnÆñÖ¹û’„
_-ƒ¡4}vÉÉ2‰ÓØÄ¶sîþJFƒOjÈ	Â¾ÉÕ,2Îîº°ÛŽ?YVo¸³ÄyŽª§§'èÿ¦\÷�åË_¯ ù•–ßM5]ÎlvxŠxz1s·Û”„Ü–ë£éÈr>ÊÄÔäëI¨üp/“uö9T&³¥Ïí‹Ûfé9EúÐÃCÉHyrºÄÚfê}îÛ�‹LørðI-!v;º¸Ïmâ±†\Áß2û	{…·ÌçÄè¶„[K„^ÃŸå"ÞøÆ•~jÓæHA‚½xE‡SÎQMo›ý´fŒ¬KÌyä¢RÔ(6Êµ==‡k ÞÕv�99Ü·ŸÔW|’{ð§ã—o,ßX¾±üX´CQJžô¨¬ï‚“ùD²êTvüx~­±¦ÏG>*–�Çµè	äÝ/XÎŸÀ2‹S½ÿ¼QŒž“["åœ
-;KŸ4+Z;�¨åÁÀr”Ã†’µ õ¬2l}±Á­TÏi~�Nòføx{.7´dúü6ÉRðž-Ï/%uL6#E~Á81’÷Ftí“ëºê3‹UælZl×Z›™;ôpë'hQG×º�¡ŽûJ-�kÀ·öŸÕÝùñÓ7–o,ßXþ¥æ»}+måp‰ê0Xq6eª™ç%ý¼+µê×òDh6*]H! 5=™ó“×ŒâÂüÚÞüª
€õ¤ÉCééUÖýâ¤zÅ<ÂÊ×Z»ÕOæÁiT	€VÂ"dûpêû°,¼rÏÙÏóçÄ/N4ó¼Õõ‚õ1ï£�~òÁícä¿øÊcùÆò�åÿ"v¹¥ûMn‡3Ë/ïue—ídü\¨�ñ:ÚoBŸJ€`WÙj!ç,; >Î«äâ‹3²Èf®'ìƒet›8>ùVÓdcñô:Ø®õÜ—Ú<Pl•DOä¸R¬ÿ²æU];=·íÿû×åËŸËáD�KCnþwùÒúáÏrfÿl´1gòÿ„_°aàË8]?$]9oÔíéGù Ï´µúCŸÆÔ6ñz8·ÇõÃž�O?i\Ó^ÕKc»¤)'MßŽÿü!ü°õSUUôÃT�š�Énc¼Ö?vðÿSu¦*'þ÷Gf½>O‡ñI?ô©öúVSô©Z;´íüiŸà¯Éù¤íŠ¾^«&†âxsÅÉ{®ƒûØÔñc¶†Q·êáÇa|<©ë?Œ‡“ñz¼U®¯;Ÿ¿í*KÉaé|Ú�Oð1œíu²Þ²¾Ö”^^w;Ï;pô­®,úF•ôÿØÇ›ÝZ­ªG}}6æðåÌ÷Ëõ¨þ¡~ Pbª� ]âãÝx¢­áoõøë‰ÄuHö¸¾ý‡z8BÄ'àýa¯ªãõsü¥Ùì¨ž’p±Ãé?ôÃ*¯ÎN—÷8Ï¯&þ>åÌf<WcýWš“Ýí?ÿ÷öÇF�jã_,ü[¿ÉË’Âç&iNïlà4Æól&þõ¸øQ5Y@{”ÿñ°_Î&uÿóóô~ñæ•ð›­Aùœ¶�^iðË	`A¸tÆ²ëÛÌ²¢6ÓÔÃ—‹þ‘÷•µ¶û¡èÆÈÿ×�ƒ:‡½ÿ+K_Õæ‹Ó¯Yö~Æ•óré•Ù¸ß’•§ôú1‰)}2>åÇÿ„|~yÍåúD=<YØ{6ýú]s¢_ðø¿²¾*æ:Ï/yK†/¼ëßO˜ø#;èçÓZÛª?Nêÿº®¦ûK›”SÓüó×qKÏ÷Åûd\&êGµés‚3�Tú�‰XnçíüR×Îƒ•õí©jHÿ—Cú¨eäÃx{Ü�êVù�¹äŸTyqÞL¶cm}ü‘÷ÃšŒ¡Lÿ€b2>þZ£“* _MÈ$°z(Œ+ùŸ»�C«PeÀ½çŸïlù›/JêîTãÛÝú«]êÃw¨ÿš¦ü5º«¸e¶
-Ü\ïpþRÃ=ãòßPÆoÒ	ª¯Ôÿ’õÓIßüž,~¦‡¿Þîî&x¿ß™&Ïó�ö²¿Øk6C¯~>cù mNmªï;Î¿F"Yßýš>Ïl³iú¡¸VÕé»)ô“ÕNãít|ø
}›ö×jã"Îp«Élgúïõ'=~Ýô#w}5¨>ökq¹ð \›ßÄSƒLOúñÇòÑþw¼„v°z¼ñ `Wó3$ñøðã¼ý1>(í÷~…aÁ¿]=óilªOÔ§íGý÷Eý¡š¸Þpµ;M…œñãúú†šþ-ÕD£®¢Q·Ñ°ÆK[UQ�°Ä¹Ö•ñam¶:oÇ?Æ;ˆf|±zá¦ÚQýÏÿW¿Œ-³…êO›oèFãÿü?Û[ãdRÕ@x>ê?fP;®á›ëí¸Ñm¿­‡•ƒ¶û €_m}Pt›ê¤¡©ÿñë¥½È�¶]ýºi	pgìB¿‚©~ÄñákAp]df¼Û©_«_Î¤�®˜ƒ½´„n/üãÅƒˆÿt)¢u}møºµñ?ÔÂy}Ò f€Ü;Ñ!“]EÆL&ù92Íx»Ð¦wlµÔ'ºIuøŽým�L:«O~”.�~|pdyÿ›½ùÐêƒ‹-joîu¬Ïd|I58ÀxÈEJx—	6CD`Üb³n¼d£‡Ôf!Ì· ›,IÄµ±íˆzëé„¢õT¸ÀE„|�(Dg…O&\æä8Äá8JKiÎ:Ðh``££AvwŒs.û
äÁá­Qö$ÎÓ•|4È©µ¸
-+’ÍFÌPå§mˆ�—’˜ÀwR'iÙ¹Ž•�môüú´`Â^äœ”8´).×Dó“fŽìäig(ïŸñ�J·“ã¶ÆçH?¶úÑà*Ù�
-GÛ†‘Xìœ$SÓÙf+9‚Æƒ4ë7yq]·„™¸8Å|ÇyCŽ.)Îü>ŒÍK?pÈÇø`>Ðá/|/e¦ Z}K4V³"ÛËZãéùó/IFI(ž
-_pÃ@0†¹qF,²#&'êÉ¸z¦Ã�,²(ÊxeüÒ˜Ä,¿¸`v:ìcþ ¡#Ad§â‹ÖÓ;Çò5|oŒŸŠ²÷æ
4úÑØV!6L¨°ó›^HãyûqæŽ”Œ“Y	ÎŸ=*RöØ€dã	•oºSA‹ÛÇp}�…ieUqÍ—7—´óX4ž	"Íë÷áºdº^$ÌÇõlL»‚k‚ôÍnÃ[N(ì¥cIºÞ¦·²5èW”×zeÍÆ4ïpö‘‚dñ$`:‹×x00{1›¼`Ž‰%Ã™¿™p2xýl&r—æq61ºtæj»2�u[&N°.)2]ûi†‚�é²80Wòç€a%ÑsÅ‰ÙŸè¿ÀI†ªF#•3ÿæ¢44I
ui„óv¼K%&KKFšÙsûÄxL ¢wR¯ÓÒ0“Ê)VF•BLv¹áêÇø~�ïL;‰Ö(rþI¢×Þ°é`õÞ™om;¤ß¬­K³ZbjÒv;¦˜0h^VÈèùK�LCäZÙdôpXÔ9¡ÐŒ˜+äóh/\<šeDÝ?¸'åíÄ?Òý�N—…5ºzÁLèL&¥µStd=)‡vé'ì�èÑ€|²ÄäìéüHÊ»•ü@÷·…o€ñ7#7eoÓb÷t:Wýj’ÄwT|á­vG�–ÔÃ�u¨åPàç@.äøIŒ|*6Ì:MnZGICRs6)³äÇÙ¿,¨¯¶ßäb¥�XHÆgYŸÃ™›L“ñé¦m*Ï'k�×ÞPó½oï)êˆi	Ý�áƒ£PKRj…©U%hh·c&4õÇÑÞ·Sà/ö”ÚY&~?àŠw	dŽú,®5¯¡-­Ý²‹B2é÷YTß@I®R{˜P¶“}C:ïA=æ†O±<�:
§›Xm”•ìZˆL^:˜ioL.èóhCÎŒ“	_¥õ‚G¢÷“»«]IÜ+´àšŸý	eµÇß˜²_3Þ%òP=†ˆXu½£?¶«ŒÓPý_]Ð¶X®]Ûõªð·çÃ¨Ìã¥x~/;o¶—f1bp³T“É!æ4 ÎÝªP¤<“»§×Õ7ž¯nvšoÓpMé	VVB�Š•&ìÊ„C^·ù4Vc£Û¸¦U¦ÆÔ€ÑD–r¹´5Lx(ó©1—9½½4—QL\g6c­ºïòÉû6ÍEªƒ÷TVuGÎ9�A09J¬]þ™m‡ü×æß¨Hõú7Ê_†Úò¾%Ù
-Ã¿¹‹ðoËøÇÉ©xÓc7üöî8úöî8vmGÎão¿QËÏA}Äâ/¿ýs)]ñ™Œ¯�½ýóŠÔhò>ƒ�/XÈM‚]þu#Ýà{™ùÏìj*]Ð_ÀÝL/=š}¿“ò:Ë úFÌ`å‹ùÀlr­ÑÄ¤„1î:Ü�+4ÿös]ÈnäãóS)Õ#táBtˆâÛƒÁÏe2foÎÊüeägï‹h4þwVßx` øÀ|ï3�^Öb¹6z[’+Ñ�^º}g ˆþÃ@/Ô1—ÓÃ-3\P]yÈ\—�ìð3¼�ñ_f†wŠ£è€üsr˜óãþ�D¿�Ëu4ïÜdŽA¬ýä±÷	½=z:ƒw±øØ­ùn7üÈÆƒ7y�ÍOµò�PÝ°äÇ5˜^ä§Jñf4ŸÈƒAY“bFß×ÞSÂû
-ég�wô4†œWÃƒ›ÆÆtßÞ¸“Ê·GO¹ÿ]ë¼¯ô‡¹˜ŠË”¡7zÞòØO÷ÞÏEÄ’è�†|æô]jñ¥ûºùùcÛXu6ÏAÛ2·»Û5br#52êt®RXjméý` œ+X09<Ét4à(ƒwoÄ|[š[©ÈÅŽ*ÅÅòO‹có¬�á‹™-çJþ§ÊŠ¾[)þuRŸ]l¸_3ü8§8TcÕ-�OáÜí«é÷]úã�|2ÆA,BÑ)ipÃl„n°8�hƒ S	¦¨OÓH5¸{*®×ã˜·ÙíR6Ð;O�(õªa'÷Øôg[9ýy7Óþ™SœÌ%•NT?ÛÍaJµlØcMWàbæ†½^èØ®lL`",ø?Ðv†ÖÅëù�¶�
æÑz~³�Í©]<Þ€áà® ­·Á#žDvk˜•œ0Ý¬F—50<Ì«œ§sI‰šæÌ	sùØÙÁ�û
gî2—Ë�û
gî»uç¬ï¦áïº7tJ÷¤œè% ƒP“í®HŠ€œ|eüd‹^Èß™"T|¾HMž�ñWón þ•šó|Ô×Õ(_ù¼Ž­Lø•gña åôºñî,@ŸUÔâ‹nú�ÞÂè®[Øé©œ¤Êë@Ròt\Æê§FÖk£¹ea ÍIöV:TX7^lV®OuÜÁ¯Î“²#Ÿ›ì â²º>•«€#‰ëm#î˜ùã™Ÿ«nc±ÒNL‹ÜYt8Ùú¼	Hß×¥;ˆù9ëÏ?™=<ây™Vá2­¸.ãig«0‘Æxÿ&/a¯ÌG¹¶rÿüä,Áˆª”bµÔt	�÷ÐÁ­¿9Ð ‹Ú»!òìR¡w‡Ï."‹ãÙ¤±é¢;Y2î7©í9n«Ðºx†û�Æü‚Ýá~cI¯ûéÙ~"à“ƒ>�$ÛóÈ…ù7¾÷¾}¼’ÏŠ•rú�íMñÃ
-TŠµ†Ér/ØõÑÏ�ÏeôxFZ· wT¬19^¯'Æ£9Ã$­ôÛ§N©Ž}¤'É\J3>ëÈ&öqc4îwí|u™këþU*.o—&œZ{Æ1~kx½•Þ��ýZz_0“pöÀÏä÷mi«”=Ð£_Kï‡�¼`†üÆ¡³7e Ö
û%1?\8’½¨û¶G#‚0ï¾Ú{NÈº¬ä]·¥×Ú­ÖøÿÇÛw®µ$>�ßÆÙV&:LÎ98d0Ü½ógŸ}«ª[Ñ’,‡ÙofÎ˜’Ô¡ººrusŒ*À%özÍ|N{tDTñëºvµr4ûûËˆoqãà»QnÉå’¸zTÀW1¥²Ço·Ù5ïÿÊÓ„%ó@Éåé…¢WñP[�‚–¯ˆFr«•=ÝùuK¬ã‡²‹é½ÓãêÞAþ¢y£}ýâ¯wSŒc/f)4ÂŸlGÁÐÓã�[vó7óÍûÝì"ºná‹»Š ÏïÏ5Zså-‚ÕÞŒtÖÕ=ùpš�¬DºrsYïíæWïžV*Çe0æO¹ª~ù”u©*L h™•Ÿ¢ùÊÆÛ1¾²Ó¼;Hç_¥¤­\lî7Ú§+�ÐËÆÆ�X+Vº_¶z£1Mâ`nv¿u=3wËXUû;]ÿk”öŠ+•­—W—xÃµÒ¦[uîîå~K\äïýù&Úî_£¾:“²_ï?vD{¥;Ž³”ÖÖ4ûTzzº«Ê¿ÉÀ;‚þ©©´úÖ›Š¹ðô’ëµ}vðŠY{+'Ë¨q�2|©*›*L·9]SÔÊ7ßû‡é§"Cäïÿá¦YhÞ•Ï¾h”I Ü…¼ íT·+Í�•ùÚ—K;´ä‹X/dWæ/w ±âgÿ˜ ’�«•-y>ß6ä[	æ‹hü«Ý6oŠOo d6JÍ«Ûý´
Yrß¢¢$‘œ¡þÌSüE[ÖNÚõ­ú‘èhÞ|\O©W sx²²«Ÿ6w¥|Ê ó/“_�ööërXÓK,N³ðúòš=ø÷\YTÂxR?�À~9Z~Å^–¾ÀÂæ�æÙýÝ™k´’63
{¨û´¢ÿ
-Çíêó¦ÒJf_Ï_1žçOêâá{Ïv?2Tš¯ÕæêüæÞˆ£öKuã¸¶ékˆeæ~³ö¾½¤Æ›)÷Ù;­‡�vnÀò�AU@DîT^­eZ-®mœüs|¢¢©»›Xú~‡mö”\ù^¾ïz:MÿU�»¯'Úk	gè?›£�jædú7ä”°vÞ^àïq…�¡£²%¼]/Íí/þ,N
-æóÅÌWccýñuuñB‘z±5¥ÝÌ¿êÎùÒEuÿïà�$ÌeWhÞß/‰µ·—‡W{A�êþÛJ¹ºm>õÍÒ9ˆ¥ÌµÒOûgÜšâ¥°.Ð¬âl K9øM¯,,¾õ/Úìt9e¾|ßî¡L½AÃ¦K~çæïÜZÒjöÆ¬n®¶ª{Ÿ‹×UumþŽTdº<½	>©-dgS÷ 
-sÚìÌ�ÜªW/ŸZõåyÍµ-5Hs)XØ0Ê¬Ÿ.<™/?é“à^ð¥ÇYl}ì±tUßŸ[o<V› I<^/ö#kæµª®^®a”g»qùït&¨—ÍLu_¹n‡41÷[ÝŸ©¯W?Vsß­…Ö}/ÆNe«‹ðEáô®É"÷ÇËGé¦³ÐØ¸<�[™Ï]Ñý²Y}:žå:¿i<íb÷¯øQ8°­6òd÷Š�µµ“Y4%ÞÝ…«éên®|¬ðy•$QýÈ—ÖLÝ.á±±¢´VžOÐ~ñ˜ðýbûðºje½‹Œ-îÊô`4–#n-j«3U£(¦=šRòÕÞ•Ž|a½¼Í4òeÄßÞa!@ ad¦Ql�áµVsóÈÕÈw‘m7º/Ò_ÈrÛ:Åw##‡³�õíy3ü= ¬KxO~†%ù¨çD*Dûh×W§3ó.ÜßØCãÞÚwþ™Ê NJÙÊf^>¯¤vm‰L;^}ý®o5wŸj¯›ùY´ÉÓRvöjÁÃa÷s0ÆƒtÕ(¬ÕQº¾a($/È¹L–güž\ÀšªzMËwžmJQ^5XÎAP�<ÿj§Z_µ·÷OÃËŽËÏÝ«g?xç²3—_¬n§/›EMÿd‘šê^ò‡ã!¥õC÷gÄiWöê[�Þ
-‡ÚüÆlã¢ÑªÎ­¯,¬ÖKÞ^v/f@,×`{Ånª\ÿºÜ(ÀÖ¿ª{å¹Å‹Få³±ö°ûÛXÏdZBnt“_dÁVÒ@êÚ¡äÅyüèO§‡ÛúûåíAŒ¯�o[™µÛ“•^ödä‹|	L¨öåÕ”¬­b;gúÁõß²«ÅÆ“ªM/þ.þiKß¹¦Ÿ{ÙŒËæY³â|ªÇ{a«±¢O7(­†rY×÷>Ú_³WEÇ5Xyx¸?¨H·¹�Ú[Q<hŸœ�|4wkŽ{’½²uu÷×º¹ü{Æ4Œ4ùB)Î¸Ž5í[4÷A›ÙoµV„ß[`¥ià^ÅcÀÓa¦úq÷ä((ž¯¤÷VýqYv%_x=BY©^ý
-OSnnÉŸƒ¡q¨8¸3_W^:0ï÷c�ÉŒ8¾9ÅðKèU……­/—sQ•H-ÖÒ�Ü¿ò=h5ÜmØâÜ¿êçóvÎÙ>a˜·‡«MPIk÷Õí�Õ[T}NèíqjwºyÚ=Ÿ¿=þ|i”›/©VÓüü×¼:y>s¦xðò�v¸}þÂDÂA§uá´í¼L~˜ÝéVöwþ³y¯eÕÚf6ûOÿXÛÍ÷û¯«OÃŽŸ=kO�§šr,]«ÿïªðŒ²—Ó¾7n—a7u3ÀþDÿ\ìvr‹ów•×EÛ.B³ÛÑ�Þ:°¥ÞßÅ�äÝúóÊHÀ·ú1¬þgõ1ã^-›ìœ>]ó÷˜Ñº(ÒÍû¿éŽYäì==Ÿ¤ó¯>�Õb¹®ÏÌ•ãÝüeïx=Ý° _
-Õ�åäèz—n†‹ÆzòQp
Ž·}}5¿¶½º§UNïh.ÝHÐË›v
-H�ó‹uá	Õ¥,tpQtÍT«Ì\ÆÊ9RÍë|s3oÂ®Ëƒž»è ×¼_Í{þpîkÖ<lžÏšOÇ?0²UÕý+–CcôT©¹âœ5ÑJØÛéþô¾0•ïºíŸ×û·_¾œ¾¾Wž?ÿÏê¿_õ„ÿ­*ýÜy»ýèZùƒ}¥móhý™×Í�«<Gˆ@Q¼®uŸþ}tÿ÷×z– dG7$0Ÿ/¿¤Þè þÜ•…r~³zï¯Œ¿$ea·"Ûví_ô`^^>ø­5Íö+:µn�Âé’ýTÊ/îiÏÉÌyn6YØ<9M¤’ùûÒN² µêÉüÒëþ¹ÿ¯’Yy5›ÌŸeÉâºyZ’;&¼ÑNÎ)=yv—F£,oß,	«7ëË8Vƒ2TÝŸÚ_3¿Ù9nl¬%÷é)Í¥ñZ*÷ÔUóæ ½Ø<®u÷VÊ½§…ÊåÎ¦Ù8k,?Ï/‹F©–}ŸÛ¯_®½5šç7ù[œ5YÏîòN£fJYƒýsM|'Ï/«8µT²pýpŽÓÝOfV{üÓšÚâWÊ™ÚÒWváF½þÎ'y»W£_ ½ø„Ù„¾á×þ—ï%aõº[ï­�)cžÎ
-s"McÛ×ÏEïÉ€ž�?ŽT©·i5j´)ùx~æí7øú´aM½Óûù™ï�ý\Îïlee?ã^ê´-^('Ï�B`§—OµU§ÓDÊ×­&½”“a�Þý\•óÇÁ�nÕ²3‡_o� N©ÞÌ•V›ëêÒ®þqÜ©’=ÉÏßoouúówSÉäRÉê4‘òu+´„å…�Nµ™YcþÑéôôBhÔvƒ:…¹L·¾*©í›{AsÚ3Ÿ�ÐNÓëe3½‡?÷Ò:vš…ýÒ·ªÓÇrJýMÃ‡ÊgßªVf—x§;é´oM•½ýF�Ânºk:�&RØíåÏåÑÝuÛßiåZ=|x*vzU<Ø
-íT/?î§©ÓDÊ×íÏÏB2ûÓ«ä{Á�îèWýöuÚK/�ŠA�&R¸Ÿ³éZ·4W$¥ËüÂü{ðL§[·êÌ·ö·Ô©ÐÚØeÔ‹|Ì?Wm&¥êrH§§×Bëóà ¸Óöìâ\§û|èëza¤´k…!xu®˜,=³N›¯-z§³½ôJ�Ð›ëëtõú]ýÎ}	ÀÇæô/ÿ\;k[—¼ÓÓbÆ7S]-•Î‚;UÎjBç}W÷uŠÜ’º]›þ3:§÷F`§ÛoÝÕÐN7Jß_…�NÏóÂ~çÖ%x®òU§ÕZNvz°öo-´ÓýMíàÆ×)öÂ»mGÂ•Üi§8sðp�›ìôèj±ÚéQ¦{ýE²2p®›Âqq¹Òi3¼büÔ;=+\ù:u$²6ó2}Ð©…tz¡	—·7ùàN·ÿ½VR[…ÀN¯®NÀj
�ëgw9óÖé¦pÓì4‚;mŠÓ'¿»kN§ Å®ô³Uœá�ÞÉYß¦É›¹¦Ì:½�þm{yRåçO®Øi¡¯ÓíÅL"õ}Õ<Y�n|sÍW>O¼ÓW3çë4õx>Í¹T;×¼ìaOhn�·±S¦ßQ‡#U·Š³òütZÿõ#¸Ù|)±N—3Í‚§Sõ9ý�ç<Iž­Ô7¼Œ°‹ÆØ:ÇnËý¢\KM/ž®®B§ëI_§I©¶ýÌ;­ì–|3}ù\l¾²N—;èåñ ÄÍËó'IUP¡vêî§Òï{Rª|Ü…<ý›KÊï_AOQŠ)YPÕ–Ônð×Jöˆaó_ÈÓÓ¡¹°ÝdOût�³E¡³"KŒÃdúüÙ²ÐÙ[VÂžV…ÎÃ†ö´.l&�
ç©cÊYSØ¾_ÛûúZØ¯¿þ†<=/ûG3É §„±ó’p°²™	ûZ“ß¥à§Iáç/©ó§ý|jU8:L.Zóo4å|]8z*.‡=íÇ³f5ìé–p¬5ëÎSÆÎw„³ý2ìëáòä,òôB._AO	c¦pu8/‡}½"\k×fÈÓë±”ÛPCžÞfDóFÚÅØÝŒX›»j…=Ý7v§×CžÞŠ[¯Ò¿PŒ=dÅÓ—�¹à¯Õ«�ƒù…ß³à§Ro'™Î®oÑS)½”YõbLêU“¥Õ•%öÜÏû¤ß·ä‚²þâzZ/æöÜXæá _ûìm1þÃì3¥°‡<©t×­q)¶d®Î¾Ð/—uð³,¦VÊ¿ézë`Y?mœµNgÍ…À„V½Vº¯×kå�¼Ûz»I½áhdÖŸÝ3ö2#§É$>‡–Î¹ÃûÊ›ÆGZ(/žüáÞ8öø¸`[ª3å‹wYØCÓÍž±[Ùñ°ÛŸi)½¸SäVY:.†ëîT}FKç3¸Såô$¼ÓéÖCÙ§�¹»%K'¤SPmÁÎ¹
ëô&´S´’ÚEÓ5×‡¹¹§SÒþíNezQûŸ·:m¿yÐ;�q:eûeÖé,B±Ú)iÿ!�j3¨ý_uJ{ÿÔ³ªžNÁïRh§¤ý‡vŠÚÿƒ£�yçªœvÃ;5¶vOÂ;E�"¨S²’ŒUÔ)®ƒ¬œîö­êL¥À»§_œÎ+¡ï%RÞ7çcµ¨\tâ½—Ý¡÷cŒ_HÍë’ÜL£õ¶vú¼î8hHƒcÌÅÂ¬³ãWÄÂ¡X°ÿ9çëÂõÀ7¢õËãüÊ`{.ÜÒÎÜ'µñý7cÂî×ÕTŠþÁå<¶ld&FyÛöxhûµè%�³
™^ûpþœKñnO\3÷™Y^>o`/—½¶kÂ®!/5SüŸÂæ'ÃÓÚ}¾>˜P`Ýƒ@7Þ�'—Ÿ»
úHrYX‹”ýJÈ�
-Íû‡ã“y\v)¯C��þéôŸYÕ�óÛIÒ+Ž¬tÏÐžý³ç6bÖôäÍèõ#žü—³Ï¬šÝ€ù}Ú‹<ÂúÙ–›á|~Hd…Ã|ÁiŠKähr� ööéW(e9t•HÅ ,áQœ>´s¢ðNö>Çü 2�½sæÞÝë2Y^ÖSúìc=§…/O|öHcC®F§Ñv!Ð²‡õdçˆ*Ãvåiá7h<Îhˆ·Ó?wAÄ]óâÈ·+ÝŒ;xW2Ó%`jËâF'zj	ÿäú§Vœ‰žû§»SšcÑ„€�P†ýÎ{˜8rf5ÇfLìWM¡Û{=�P"´Zkõå•r0�·7æ|ºº›Æ`¡å±½\JiÀÊi¡û{Xæ´cS2³P»ë…Šü ¦@Vzóî;ñ«oßÝIß1æìÛuÜÏïm�HkÄyý—]o³`ó¤LYÜ¶¤Ë¿ÚÓ“£ÿáƒgŽè~Ú€ùyy §©B-ƒ<™åY>tdÂc½t2Éí]Ÿæ¬®cÞ%Q¾û–äÕø‰–q¡¬Ç�×aV'½0Áä×4FguÛWµ9¿O0Å^ß‡¶x;›^�Öž© ý©o}_Íä d-ÞeB‡d[â0(©vf®ÊÖæâ
i&BV:‹Cx>_g#‹™:¿{¨tñÖ/‘"d	ÝÛëÃ±ãM½t�|M9ë2tc^�9.î¹
-oì1ý}21Œ
Ðë†™äc%s61Œù8Ú°ãž-Ëó»ôí3\¥ÚÉU(ªY].néíÓj|S0X@¯b|e5’�¹l¿®`MèuzB»r£ ÃÊÙP{Z•gç7:ca'’GØúØì\—b»ÂçÄ†]¦k¿Õâ<M¤b…
dˆ×-q(Ò88áéßöÆ‚lÃÊw°ˆú]êEH» ËðNÎ&úÒŒœ/”ãÎ†Ñ¼¬¸mÆïÀrjôë0—½�ä0ì#pƒÐ�µÃŠ½ÆTÿ�~gb0ÐÆ*Vkc3‡ó¿¬ÅgÑóûÍ§}ó³064Òi
-š¥ìŽ]~9Óøsµ—ÖØó�ÿ²÷CFÙä`ñ´/¾ƒˆ�Y|C"+l‹‡lpå“å�"kÈ-îA–wƒ—¸ólñ÷uï1Òz—äÙÊôtI¤/á}=ÂÎó¸d©ü²Èƒ‘.YÎùarbzL7Éûº¼|t°4µD*†ƒƒÄüFto¸öþ:ôrô9ö„ü2Õåƒ
õÒõ/ÓúŸ×�Œã÷é“/ˆu8Hˆ¿fÝñ× ä™`OƒW•^®ìüúTiyù0å’….I¸2²_q}fvÄ*€¨–ÅT$1ÌÄô/l Æ¼‚0Øo;H¦©yÅàhûeùp1;"�;”üµáƒ½Ñ}t^ÙMzåžìõóÇžPJžxò“q¡úäÝÐât$÷3X—Eìx]¸J¤m6LÔ¥¡ç™´+¿êËÄpvÏ¸lä°}w²?||¢Ooï¼»bIäÝ 4FþÖÁû%†¿Ý|ñy2nq\_<®Z6ã‹ñ�ÚN.îh�Æ"ÚÉOdV.f¬vŠÑ­$âJ>j¬4¢eÆëÏfûõÍ“ƒq"îšÖØ¤Ä
ŽË
-úãEåÃœ4 •èW@£8˜.jÖÇÑV Æ%bj'‡ãp4[Š�Z91ŽMy9š+#bØ4—£EhJè—–ÇÞ³ˆÏM`ïû²¢hl`;xHt+ÌF¦vâ°�Á£)õÜ+?æ-*r{¶Â,ªeìÀaÙñ]x´žèÅ·
-Ú<9RÀ,Dìœ«:<XÍ‹©™�“õÈÊ‘¹ÐX$“uâûqØìQŒì‡ 6ãÝûíÓ¯Pk:®*M«æMj
-å0Û	RíC[qû`ýíŒ‘áj
êÁ‘÷�íÄH<JøÌá�
í«vç�ù¥áít;ï—†·Ó�6M¸,t,¾“ãIè÷�Y^‹/¶4„ÆÂôû YåƒÅÆ†×ïûÖTœV'!Ån§7'"Å �±¤�%Å �±3ˆ¨•@G]_.ÜàvÄ i-Ã8Œ8]JFËB˜Ëc%Sè“†•Ì�VD˜,„�œÿ&B}Sžä)'
#”	U2áæ(êÉ.d:2,úÆÂðšnˆŸŸfwGííëŸD*ÖîŽÁ¶+-cÃ¸Uq-�âh™¾è©ßâ;‰t]•™GCnÙ7¨ª¦O,Iµ“Ó¢O,9™±ýÉ¡FÚi”Xâ™k,^éÏ]œíä99âæê÷ö<ÖKl£¸	SØ”±.C%ÔccáD<¤‡Dª�NÏ
£bäÃ)ù4fò-k,d³ßõ|¹R>¬;›q`b$
)Ü-ì¢ˆD(²¾ÜÛâÏŒi]’3_ª–[Ú~n¿Ý^7fþš-svåªu°´ÓLL¨†.º‚æ2‘ºè
-ºDj25tÑt¾jÁ‘kè¢+è©ÉÔÐEWÐ%O †.º‚ŽÎT™@
]@§ÝˆjÁkè¢+èXµàø5tÑtv…Ý˜5tÑtV´zÜº€xå—‡ÆF«¡ó&$‡×‘_Àá¤×…W`}G)Pƒ·7?C•sWAÃïÉ9ö¼áÕ~¥1<½;éØ¹äÑ1¾ó†×Å4ž,TÙôgšyL®¨"¼°|¼Ð_Dcƒò°úçX3£r.öüüž«Q‘ÞWÁÓ?$V3gPƒ<WCúòêÉCÍ
Åk(wôª9¶÷¿ýª’òXRÌd�æˆ±9ÛFöÔ˜�í¯‚©]¸Ò=Ã³n»
‘
-fïc±Û0ã�	5Jñ¬¤AÅn±RA©ˆñe=Žf†pJŽ[¡'kéNúô©Ta7ÀY�gÝIƒ<$±‹Lo§¯§/„¿Ä4¬Ž/¤„qxÇú ¥OoÇ™×qˆšnÁë&i#ZšÞìŽ1JÓÂ%›«*-V˜ñ;H�¢Žïê/nÅI$km;šWx_Îí´
-/Më†Á¸Té89ðí¨øí½€Í¨:¾A9ðñëøR¾õë«y¢ŽÏçÁŒ ;K-¢±61ÆeU¦@c�1óÑ&9ð”€a�^Œ€±ÙþÃaL§1¯ã—é$:YÕOªgbé²«~ŸoÅ�³ÙÖË
âaq±ÕÁÆínq w~Zõ{ay°1Œ½ßeÿîÕ�ml_sC5T†åÍ"²^í•ÃÉ B¹þòçô®öEF"Ì°ÐZ;ÿv
ØûÑÛ¿æ�¨’o!šNÈ•-|>Œ×¼ŠJåÏ4~üU±—½§_Êý5V^=2´,ª9T	|6V]ë.�‹ÃuÂ+¢üD#ëc/kA;ÞR"þŽ<ÅÞ®¾<$�½¬
çÞ‰¨s;w‹tŒQg
É:§7bPCyd‚‡DÕ0¨	ÑSˆGÆUaOÃyd|V’7Iyñ×ï‘Á’¤=2>{_Û##ÏV2³>;®�ÃÄ4Ö‡òÈ0IX"ßûúØ˜š’	Ïîˆ_†6Ø#3ð<%*C×#ƒyæ÷Ø	ÂëÑ×wëóÂ=2ƒŠs<:b'nyÎà,‰²£,{j¬Ô¡ÆR–7‚$†®I¬ìÈk²
‚s®äåC=FéhŒsÃ6(s62§7ÖÔ²1è3M¡“87ìÏ†Š<9,v]]$“MÄâEË‡©8õ£²7"ÝnKG}Åuý.ÐJ+®ó¥­�Lûã¨$wŽb¼˜â(õp¶±M¸n"ç�
¬‡‹Ecc×ÃñU_EÜhB&¼nÈÕëáüÖ+«ˆ›t=\DµàëáeCYªæxõp®ZÑÐR�ñëá\9ð1™ÙõpQUœ“«‡ŒñÅë´�>'PY�âm@.y\W*“•±ØGŒœHhJšÀÞ|ïÇˆXùÕ&äá$Ô	jåhÐêÇlÇk<Gµê‡¡vÆ®±§V0£{2ÏAg‡æÀÇÊxE|)çß†Í‹z8íŠÔ8ÛðtÔCa=~ËÇô SSâ§&§¿¥¡ùXhjr:–µ8@¯ûRF,œÌiÀXzu¶L\ë•Ú‰¿
Ã¥ØÑD¶áQ�,pšVhšõQß‘ÀQ§¡1>•ßóëË*BØ0uTEêíô^èÆqx<ÉŠÔãIV¤O¦"õâ{©âtq"©ÐÎD*R±�ñ+R±•IT¤bõZä1Ð¶žV¿æÛ ‡¦J2J¤ú·áõOÿ6¼þÇ¯åâ0¬î¿R
-×'Åþ+¥p1Ï‚³Î·+¯þ+¥pãÙ•qKá,»2„qM¨Ž{ús5&Z
-gõâ?FxTûì®Ä˜ì,w)k¼Â'o‚Dä‰ðVô-¢®î5Ú,Š±q0öí�æ@Æ¦~ý†Ä¨:Ì©ÿ�áÈàBÿ©ÞµŒ•TuL0²ò2Þö*ô7û†ä;éÛ•1Lª£°×èd�€þ<w£ïÍêx_ø>Þ�¾ôÚI�âu2·1/&�½ãdáèj¯
?HæªþÚÁ÷êÉâÆµ*”O^u.Œ?_ÝX´<NÞR·Ý‘Vì¶SÜXöÔ�õÒ³Ÿî[W½Ån™»Ù½×°
-;%{UìvUíThÕ´í�Nµ™DÊSå/v»Š*vKªá�¶Û?§v§rÿ}|áugÉËˆKÔvWö\�ú+ìòóo‡[N·þûøVŽs_aug§Q×Å=¹Ö´¯ÂNh]®†WØ¥^ËGwa�ÞFVØµ…Jè\zOë3¡�&/f´Ã0ô¢*ì¦[ks¾UÅíZ¤îé—U‰÷÷ë½í™®ïnô�7§·“1Þûù»~M¹D'ÎÙöÂ9ª¨µuáëBÆçi‰òJ¹
Ð`wæÞ}1¢¾Æ†-íqÝcõêx
-öš„ßcµâ?ª9:ç*¼´gà-žàW¨¯oä›ä†ô—�Ò×»äÜ$´tÃxávÒÓ#VCú<½ç�Á7Žxòú"®2Ëû´ñI]":¿˜÷¾
ºldÀü¬{¬úÎR¹5Î=#q‘î;r¿�å"žÜ>ÏÀè¼ß$ªé‚jéFñÃDWÓÙ$‘'ZM4µ˜çÃQMd•$&^M’£8ájºˆJ®	VÓE{­'UMTK7ô	!«é‚jéF“ÈQÕtAqŠYL´š.`M[ÔËD«é"b¯¬¦â¯®š‘	UÓ
sÎÕèÕt>,R-�7*:‰jº adÝ�;¹jº !ùóaÆ¯¦sÖÏáöa7æŒ^M´~ü„�	VÓ5åŽðN¦š.¨–.¬fdôjº±0»š.ÆÆ¯¦ª¥cÑÕtAµtQ5V£UÓiž�µÕcUÓÕÒyíýITÓEK¯¦ª¥d½_M´ÎÑ‘‘QªéúV¨}ô9H¾_MaW†¢cøjº Zº•\#TÓMÈQ˜RŠƒÝtjÞ+½¾â�Lc ŠR æ+ÃŒˆèk*ã>Eq‹íbÌûêâhãßWçà)†vOo¶Íyï	ÇÓóÀbø�$@z2Þ{7è&Ú˜K|Q]x¦}Ôírƒ® õ)8»5`;ÇX˜Ãp˜<iñ9L¨E$Ïš¯e¯E´î·ˆú³�\#$¯Â ‹îÆ©Ysev�Wè0øš»€{FBÐ?Î5wŽï"â¢»ø•�!×Ü
—Ÿ<ê5w}UœAÝ
å¥
-ºæn�âð×ÜÑIGƒ.º¥VÉãÂ¹¼ènÔd�3NÁ¨¥!¬³øÚû´n+.“»–g#4Ã{§ðÀB:_îá(¹Ö¸æcWÀnåþfª¼ .$‰cˆª4º›n@z[¼$2Ä�‹’cÖeú
e¬Ä³�µ.‘¢.TÐ¡k>Na× ìt¨2à¤µøÙP¤óO&ŠjÿÇ¦1ÀwœD¨•�ãß1ÉZ±Ö°Õ�ÙNL‘—H
jgØÔ
-»ibÔZö¾!…œ-ïvaíK7ÓWXûÒKŠ]q�Åºò×«ß…dtCc¹XÌÌ%»BQ¹ÿ�ë~Pc !YÈpôÙŸA�~˜‰œ
PïË­2åp’7NîÃC§�aœ½ôWPù˜Q�ðµ™Õ9D;8%€µ3ômÕ}ÙìZºð”¡árUaÓôEx‡)eèß†§_ýÛ`ÞM8ª~¸îÂë+�ÆÙ†ýµoÛ†á7Ü
¡��qÃ�¿òÑÇÝ(•7ý7Ü�~SÞ0õDQ7å�±
�Vü~˜á®¥ó7y*Ub@c¹á.î©æí‹ïq
-»,>ÊÝ€’ôø…µâ´ßnì;{0~a­8û–ôˆ»žßÝµ+Iƒ�D;ƒ¼Y1r®¨�‘k>FíŒ_X{<à\¸!ëÛû’k]—‡»2²Œ©?¹K¥£˜ß¯qï[Ä6²ˆé„Í%vS4*¡Ó»@ç�û¼¾˜6ØØsŒ
-u—ÙŽZ_XSzñ5Æ®ŒQÄtB~ËøeLÑ5�¡| ]"“*™ÒˆELA^T„ý=¼bx×c²Ò«Þõ&cŸIµ“‡?kWŽ›g‡:q`ž�Ã
-‚Î��¨ñhª u�Æ&uÝã]�°ƒk«cè0õ’+–ë¦¼“ëø·€†Å’èFº‰]÷CŠ:»#v�«³{—ÔÍ�Àþø
-tzx'—ô;Ë‹ôÖÍS¬î;ÀV’ùûÒ:–õÕ©¶¯$wÌY{éæ|ƒã¿<¥i?=1E…v�¸ï¶i©b×Ã-LÏ…ÖÃýüÝ”‹ðcì6éi×Í¼÷°yo×óV‰�EUþ½ˆ^ûÅWû÷¸µÚéœ¸~}ÖéCPiÉªþªí»æê-MëÍ<wÃêáŒÕ¥ïÙw{¦¾z¸,+Âsñ1ïEw‹Q7Î™BXåŸ63»÷.]ù:Å½ÏçQp8Ýê)á�¶7G¡�¦»ýÙñ\ùËðJQ�vÒ¡�þô—’¾NiWZµ+—ÅÏªvM«{úÅ"[?{x�óÞÕßû‡›Ã„¼©Í|_5O¶¶¨>sºãbKd.ªŽÒÉ­$+\“yï�­¿Ÿpeºè´I—%:oLäºÅl'Ýr�qPÊPÄta‰Un9Ö-_q1=�®¾›Y`ÝZÑçñÄÕtŽ)ìf–Øž¤óÆÀKPœLÈh<ÅL­ŠS•–5¯†«JÈÐ:§7=
•¥‘Ûƒó˜“o~*O+bHáÙl.},^)`ø�7Cî—ùˆ[éÙhúsc½¦µÿ0Lëæ¯I˜ÍÐãh‡ñÁž~Gtnõc¬yq�
-7nÝœH”ç´83¾¬9‰ã°vï˜çZS
à`‡f"Fà€;cÔS/6Èji†fiÅö�y“FÄþØÎ�ô:ç¡8Ìmkr6ò�<g!bÔÁßNoŠY7CvÈŠ8
-¿PË0|”ÓÎçUy5¾ü×ÊøŒA·—Æ¯n×Ûâœá-”ûZ½?Ÿ%>NùÑ]ø9Ž7Ö©L	¯n?ç †6îÖ”úžC”ú×ÏNªß�]Ê9ðÎ÷úÑ~	_ÁŸ�…:±ˆç‚�
2SbSÖOP½ª÷~±a†âal`-Ï0›Ô™#ØT@ärdŒE¤õ•{"¼ÃWÆÕîJ¢
-0`WÖ†�ª¯
-0n
`ÐýÈñ«ãÖºO	5�Âšˆ}EWX\,^`ÜÀÁw¤FUÆ­©²‰Y·p`�U(:†¹Q¯/*ê�ÐPeCá5€h#‡WnÏjØKùÆ¹‘-þ¥|Ñ·eMêR>âü˜Æø—òyîã‹Á4F»”/ˆ�MþR>—wô¿x)ŸÇ÷_»”Ï®ù¯^Ê7âý•C^ÊßÇAuý—j:º3Í ³¡ø­~}·˜Mâl¨¾[ýF«äê¿×/Úå~6Ôp÷úEñ©÷õ	œ
E÷ú��§ë^¿�gCMä^¿è[ýbŸ
5à^¿øõ•ª…¸Õ/Œ’‡½×ÏMð­~>Ëbä{ý¢‰!°’k„{ýB*¹ø­~�™*#Üë=µÁ÷WÆ»×/ºên27€Àšw£nõsngï^¿Xªcßëg•#»s]¹pcÝë½{=V’¿ühˆ{ý¢]�>6Ê½~A%WŽ«‚iãßë7ØÏ'yjÐ½~1«9Æ¼×Ï*G¾Õo„ûøïõ‹n%ð>¾îõhÅu¸jÔ}IÃÜëÚŠçvìqïõ‹¨8^…ñîõ‹¶ÔX®õø÷ú¹Çó&£îõ‹ŽÓ$&t¯_tÂ5éÉ¸×/²
-ÌM³î¡u«ŸG·ã^¿!÷þˆ÷úEßê7Î}|ñOñˆ¾�o¼º«•‹ïñ«9Cëœ¨nÂ¢¢1ïõ‹NlM¤·áÐ÷úEŸçá»—gä{ý¼%WþÂè¾Š¡øåGž{ýbò±1ïõ‹yt#Ûîõ‹Öé‡º�o”Ãt‚îãÞê7Âé
ý÷úE]ÅGŠ}dEê÷úE§�-6�{ý¢oõ›HUÚ@5ÇÎˆó^¿h5Ç_Y?ê½~>lûªpG¾�o¨*Ü¨ûøÆ.†·oõ›À}|1ªpå\Üë7B1¼íSó^¿è[ýœ^Æ»×ÏÙ†A·ú¹øØX÷úù�/Ñ)1ø€�X÷úE›ínŒM¬æ©ïV¿!ý–^Œi“²+ãÞë}«í—‰Õ<…ÝêtÚü(÷úY•UÁ·ú¹kEÇ¹×/€âHäáîõ‹F%H±‰Üëga,øV?¿GqÔ{ýFÕa†»×/º`O›Ä½~Ñ±®|Ë±îõ‹¶wÔ/º¿ý:Z÷7B8p¹x„©[‡+e¿k`>:ñÞ†ÛüðÒÓ—Ï‡‹³Sw¶½'ºšÿp£€Êì¨Ûé�ºí¹²ã^wë??K{ÿVÊ¿ëUÑ8Þ—ÒKÓ
zë©Vó;·?ÉÔE~.‰Ž dújõ9YZ|©æç—¾ÍüÂüÞiþàßë§Ðl¾”…æK±4ÖÚØm­Ï¡½k…ÎÚÖµÐy|¶ßºÏÂþ¦l
-kÿŽ„ÃÞó£p$ü¾	GW‹Âqñ(#œ³ÂåÝô¶puuò(\ïÉ¿Â�|’n63»???ÍòOïâs>‘úù?Ž~þ®�L/­Ï¡J°÷‹•�éâ¿‡ÕíÕ-óqåèòì)™›K�ìÌóoµÔÎ~{}îù55=m–·23o÷©5ÅœÛ¾{9i,ä¬BÀä_áKÙº¡I¤XÙ[µup�f»Ýùä!|]:=C¯‡å¤�d±vª¸®€¤RÍù·JÍA¡
-1Æ�UQßÂÍÂUöçg«˜§¹ÏTÉžääôŠÐªmÔ„ÖãýºÐÞÞzïÍ\iwX¹šäý-}7ó‹ÆÖ9ÊýÖukw…æ‘~M×ü	åínÁ§ly·�çÊ¾›Ì»ãouM­æºUÖ�‰ß¹dfù½œ,Våƒdaód/9Û0v’ùûân2¿;=Ÿ,–3økko·ðéâîïÕlâ+8—”‹ìyä½û»bä±ì¯úþÙéU7Ž�¯ò�Bê¯•Y]ÃÜž÷‹Öuö|6ß©Š¼vÓ¤
-0ƒ™"Ó~—Ô‹þYæš‰ºš¶e°�zé½æ�c÷w§Â$ÈÕÿ³^*áŸ%ûÃr¾yt²Š£¹3å«Vÿw[…ò’’i5¥MðFÖ5Ì‚ù{›H­Ìw’?ø(ï~ÔÉßÛŠîWz×~àôw	
-ØSÕêo[tÐ“Lá\ÊíÅœsuqž¿Þ®\ngë‹Öƒµ{!¸»È#²²Òeïåì‰ˆ›¬¸º¼'Ã@vs4ÂDŠ�ñî)�ˆÙexïgõ
-gMÀkWº/.ŠøJ™.9ï—×;»"ÿb÷�šÅÔ…ì9�åÇ$5gA¾d‹
-,£zàBŒ”]^™Ç^æååƒß½Ú[é)WÝ¹ì46Ö’ûŽÉa»³ë^‘î7­™|©IÙÕÖÂ›å�îv©ÑD
-›­©¿;³Ýöå™ñTÝÿ›ý×<{Øp~¢½¾7 «_­ðu9½’-z:P\(h,ë6Ñ	•Rc·^&ùr\¶ÿÚ¾»ÄÉ±h‘î1mâOü%Û¿ÖDsþ]ƒ?Ïx‹×÷-\œ3{çœ	¶]©ž‰®ñÜHWÿ¬ñœÉî�×Ùæýë·)”__Tk.gÛçBvÖ¤·ýT³`f¯Væ…£YGhQ´ÚªÜerþá¶Š}ÀeÉéTžËn#R/áŸÓc¬Ì½í_’û½Í'…ær©Œg·ustZoä�l«ÕÜ<28+ü}W…î]ECZ-É³7ÈÎÜ"ÕAGM_ZüJ¹nü¬IµÓ|“ë=ARzYOëBªVn™³ÓõËõê^ÞT¿vª«òónã¯ûÜk×óç+åÞûRã¬þ~ÞXÎï4�kßGÀaÊ¿¹VÇwñŽµ9Þú;3†@Bdi��Ö°ž¥}g½rô�¬ „ˆÎ¸˜§Íïh]t�Nª˜¡Íÿ,~ÁŸzŽº‚÷jM¼o¾úêJ‘ŠÓ1ïôØÃÑù`á}�©U `�‡Ä‘¯V.ü$€ÄBú¹ÀkóL¶Èø+q�ÂÓb¹±¾ð) ·\j•l¦x‰ç×¿ÕÞ¦?ZbqvíÙ¢é­,ãhíÎtIjÏóÀWò¸t› ;vt±y±ò	°V‘qÐôâÞ7üÙAK\½Û@ö±%°¬j§mvg´xw•*ÆÐÖ�µ=Gýtö‹ãny¹’kÆå¶Ô87·òËRVï:�yîçß"Rè!ovñtßµ¥ßÓÒÌF–ä¥ÅÅiXn�ãe]�rMèà±$pgÀ„¶Mßçb¼þ–g…õ¶¨Ch%!™ª¨Ýô®t˜PQ}Iºiž-Ès9¹	¦u¥&Ýl~Ýçí›}Á’yh0’óŸŸ´ú]Ý>‹ö¯ ´g4×:ªâÖŸþ˜R½¸ß|À¨hê£ñó³xï½7ûÂs#ÐëRýàNqÌ‚á%×›V7)w;ß 8ü„�äÜ™´îÂÁ’‹§ï–ÚÜ;ô‚Ê›rºCMðÔÏ–¿yíœ5@gªôöY<pBô›«êÈWÒRö½¦£¾™ÛWOj�Y»ýÎqØëtTŒ;Õæ+Ý’Ý¢Ž³þ»©ˆyÏõÛ·°Ñò-vV
-ªéô ›Y>s™pte3;3eþ}Ï>Oé0§Ý7}ã@§�sC|Jkp’ü,7™ÙðS;='‹Á¾mýˆ]iÃhÄ’G�¦;R9Æþ’Ž¢žTzçs–†ž=Á3–ÅàºwÜºî‘¡`Ev¡ µ�¼±P ”	d¿ôÝþÎNPcHhôö=·Às$äçÿÎ·mœxQPð¡€ŸÜâC‚¼²›Ép$Ü.o{�@·1#æÂe«°%	A�'&¾,®÷8õ×²6V/KÓ/‡1è•.�±¾ýÊQ ý‰€1î·7Ãè€§EØÇï‘RhÌËCº‘ÔI‹üHÊ°1X§ENÃMÃNƒ /Üiqœi°ÛaVÃ»+#F‘q¯Æ(4�¡µ°ÏSr7•¡ÓÈ/W^ñŒnÞD.åkÂÁDÄ¢¸“CØ(÷ûwöADÞ7³LÿcçÔvƒ,‚ÅqÞ™ÆÜ\wT¡P§‰ÐŸÆÜ˜‰Æ�4ŸL];>”@ ‡ÆúÉÔµ]GAeÆY˜ËHMdÝŠ«”•ýMŒÃY.îcpÎìŠ½Yg5Âw¼w	ßŽÏŽË³îå´PÉ0{Î‚Æ�†÷,5h"ŒqÅC,‰œL7.vyRïÊÛDnœýÉ$rÎ¡ËPLD�!ZÙÜ297]ŽB9ºaj ]¢$
-“C¹T9€[æ¤Ú©¸æúóò·²îü)ÏVêÌŠï¾tËÌ©êñ¡?ãáŒg‰T²hÏÐ;¼š,lgdk£çõ�ÊÌûâ¶‡%—…’ýù‘™·9—žYHæÏ2è‹ÞAG³”,–Óëèh^Ã^.š—8HN×«ÓA®í ÜGD*ûiæ:ÉU
’šYËu²óiÙ•Ðlž½T¨§¾¸¤]É:Þ Àª^þ·ó&óÑ»f©±[E*¬Û_•2Ÿóí·ã¸¯Ágª³\Gß>W€ãpLÅ^ò2Ýà>‰ÛoÃòM¡™5'Iå§bAøÈ2{¿ûº²‚‡ücíK´®¹ëhIÉ8�·r»DýÉ5C6æ»WÙÇú³ÖÚ®½3†Ÿè¦è³¾ÿÝ�,³ÛL
-ÒÍÖYº=…ÇÎÓZ~©p¦Š…ëYÕñå»AèÞ)Z\?¢ãE´òa¢üˆ±=�®ø!…ˆwù
-¸?°ŠcÉ‰¹úù™ËSxÆèMêÍ
-®¿[¾„#¿¤í`àtÿ©��‰Í2UÈWÝä1
\ËØ F9û_ÈÇJ6íS{»DRÔ=yGiGÒtÑyd=hHBY­äË›bEX¿Ûn��Á£aÊÒõyz�qZ+>
{µ(¶Ÿ“ë|Ó¼Þ‹èíy½m—�jgòª‹Š.ß¯×_&Q(÷4œ¼Þº9Ãí÷±kéÄ½â£1JûÀÁa/8¼ÚIh§‚Ž¼YÊ<=UÅû=YA/Õ	�û‚GÈÀ"gSÀ¢wTÀ]y�á*^Ó¸d=Ø„ý)©³RSzZ¼Ïùåù<HdyN:4±‰y«‚§oÂ×ëya£þReÙI,¬£Åù[ŽæÌ)tU^�«9³#®–4CžË	kåçÏÒ"žAôU7äê‚°Èœm×Íèâý¹°.Ý$Ö©EyùhkCº‘awß¶¤›ÆË"úã–…ÇÌIæRZÆ�4¯l0?vµ)¶¿“2¯°2{§_Ã(PÚ½x+ƒÅcK·¤¢³xñËñsõÅ¿x«98é’�?ÿ÷´/“Ï{a¡ø»P-|Í.´Ì™×�¼©¼JÍãÚæzc¦[Xk«Û—ðçëAJÙjì:¤âs®»½£ØÁ7Q¿•ˆPžÃ�•±øøæguÛÝ‹)¦÷Iíóñêáœ0"¶kßlš§mdÛ€Œö.»M$iöíJž£Çåçtsq4GWåò¿öÉ:ngY]Vz»ÉÜù�â^A2¥2PéçkWœÑvšcôm”HÛŒ\mÊxXÅ‘$ÏmaRia· ]?,Àê_ÚRãïüÆ™=ôÒ¸ß–8¾_ßµX¤õ÷æH×?¬PÃ‘¿/
-Ç˜»Eõ÷¨•Ë.ÍëGÅéÍÖÍfÊtç¬p=#Ë¢ÿ¶“Ó5]Pº
-Üoy"ÌØ_¸³­Ø%½“'ß.Ñ²3}JJB?C•
-ÀPKdK§½~nCº^KoÂÞ¿»º-n·VËÏ�Ó%÷±ÐRzñ¤çg…ÒÍgÛÏUk{G›$‡}ÌÕÓ?ÌO®‚n	œñ
-8ãŠ¦Ãxrê!]—nŽ�M‘£­2³œ/ÿSAW€U•qõ‹åK+5¹ºyuÝ?µS“š²hº�ãg³ø“Ey'ˆïŠW&µ¸{�%6ÿÌ9ƒïµÞÐôK¹³*eK³›<méäõ(¿ô6“„¹ÜHWº„LÊžíUðLHXœ?	˜õuo‘`,[v+€êÔ¯týÖ1a\K"ãò7›_&PþðÝæÖóÜ/zZqgô´ÏmZŠ‘À¸;Ë õl�Æ,†œº¯
-�×ZWwPÙZÄ`Õ%©_X�~Žòåfµ#Woš«82ú>ibØC–çŽ�7€ÕVñCÊ®™-ØÂ_Užý©ŠvrÂjÖ»tNØK'¢|I?gã°pÏWJ›'¤™ü[X(¬?ùXt@žÒ�EÓ®t˜ô™‚t�e5ÄgÑ,¯íË~j„æÃô›
L·É†Çcïs xk-4¨•¸,šö‹›IÿWX4òd“þ¯°hž	é0é¡Y´Wj®:Ü2G\…ˆÝ•oYsgZtÇRñ(˜ŒBg •‡³åS[ºztËµô<j÷9¯DÆš÷¹œÖ›®Ó`ÊÖcfot¦Þ%M�Í¢¹³™t•×5±P9)_«­úýBMó°èZ†tÛÂÈ;Ñ.ÄZ[l>¨æ�z9-YI.#�#sh�æƒ¯D$ìE¹ús³‰Æehì}
9L'F[ÏG¼N=7�L¸Êf¥FñiU,|Ë†‡ÉÞ¶œ˜8ñHhåØèæ,V?-Ks|øþžUä9yaT£ó&æËè°Ñ®@xTzm–Ö[î¬/¢œ\†/
-°¦ÙÝŽ	æh±%ld¾Ö��+â}ñ	ÖEÊ%k[¶—ãÝÊyP²åÍG½~w�Ì"<å¶@óÇÙ†b²®’][§PÜ»mNâ>WÊWëÚVîv>-öf_áéi‰%{Ð®,¿N—xÎ0¤÷_‡ù ¥gø¯—nŽÊŠK£ú²šçV2ÈKW‹üONm³˜ØñkadM ×A"EÎaõní„qj0|nl-4çNÝ¨§îì÷ƒCñÁ~Pr?xZdýQvGGpew¸RõÚŠŒ€š—ÉT,ØJÞ•×¼ª,XZEç�K‰¶·§½- ‡Íãy5’7§ãÖãnžeÀÝ}‰ˆ§Ý¢½Ã@v-e0W~·Ä“ä´:¶²+0±t¿ºM1qu—7{v.òu;m�é½ÿŠñá–…'eµŠ�˜ƒR<IþÃë!ñV…øªˆ ÙòPÍú
¹ñšÜl¶<Ó[ÈÎÿhK‡ÊVU¿|Èðœº³ý$§§ÓsÉ^—;kCÊþ=¼:ù–ÇwêÜê"¦,—xÖÜÙšÈô�q<�´ñv(ñ_çWŒ5³·×ü—ô¤b,íöþõÙ
-¶xV"G*Žûúúo�·}“=±ó}Î$w~ÜüÃ‹ý@±“!î\s¹9NÖ]Þžpo{Zêv*âœ«�ÁƒrêoÍÎ,½,Ó4Ði¡°ŠÔYynþ\å¿·v^ß¥Ìß<z¯úG³]?¸l5Þ¦ï«{éæ]qå˜t^`zÏe®8ü~in‰Œ¬IõØ¬±5¼ñ;l»ˆ»ŽåTÉËÇÍ[îª¸½.%¬ü^t6‚®WÈ{²{Ë<�¤¦­)k`õV$œØ~Â,/ŒQ[e_5dÂª‡Æ†5»¼¬Ñªm$g)úQKn6³T±U›Ã,­PÎr†kKke+glçâân_u�r×ú³�fÛ‹9„&2ø­¼;sÍVw‰��ºÂ?úÑj"U¿y­v­=JüuÚ–—“Byg%gU.ôþïRBWeyJ×Umª¼÷÷ÖýÙþù÷ôïcª�˜O”«k¢xøñðÙúévºÿûÛø¼ÿ{ï~üNU¦ÊÕýúÚš¡6º÷ŸÝ©ó1ê67,òIpUÒ]ÁáÑ°‰þj�G³ýº:³·xÛxN—üq�ô×Á7æ™Ãì0´�J®Î“©µŸÌ¬ö
-øç)KLaÎ+_ÛZd»æfÝŸÚ_3¿Ù9öm<rX™7íÅDªy\ëî­”{OåÕêÙFã¬u´¿Rþ>--
-K;<§™D… ¬ÜúìÂ–‚A‹#¼Íªs™måd!»²ÂbžÄúeŒ|<`Nýj2÷=óãö
¡'ÐºDh
-“ÑØI¤áš×nMk£èYç�{K‹y×WrûR½ú†±¨�.[�ÖÊîÜÏ¨ÄúiõL«‰ŸX�:[Ënûš
-0Ö"–€qÂn�
3h
ªTê ~nÃÒîl—‘¨¬
þ<¤fslqÊ;ç²­ä])ös¥w�žG«¹±z!b?Œ5Ê·s•§�ôak¡©¼ø*3,ng—…[µávª¤i$ñƒÚãùQq[´\ÔbvÝØ5�vk%Ý=h¬=,&ùn:=íœyÉ]­ eß®g,ÅáV±§~ë&¯»mÊÞ-ð ÃÝa™“ýÝ‰ ÞuÖ²ð”/&™î®¤%sM‚µº»Åxÿý P|i_÷¨Å"9àÏK ¾žÖ¯+‡Úî¤ôrg‰�æõAv=¸JÊ×0¦l~§¬ÄúI;MOJ®ýrÏ‰å÷JÛâJ~ÝŠÖ¯Gýºç’+¾5_K�ûMÖÛyÔ¨.5ŸS5¼8ÎrªUÂ„gÿ¹Ë¬¾§Ðèø$™Ý:Ëp¾ùWÙA–º
-¼tù ™ý÷¶”,~ì^ /5ƒ®ä¶xÊXlš*¥ål�£tì¥Ûoäs§˜è® ²2%rãÙúF˜þFn™çÜu·<ý,‘³HJ¯$/iÙ­8)Fí¥Ë¿…µò¿“ßÓôþ*y
-Ûk®�^D!ßêSn6Oè·X+·ÎøðñÕéµ/b©L[£ö•¥Ë{Ê•Ò(PŸxðÙ\NœN‹2˜‚,¶3†í¦ãÕDí'1¶Uâ9ó³+e®ø€¹Å˜§‹c·%Z»HÒ>ýÆŽ®ù£¬Ž!Ÿ’ùê±LD5Û¼Rítê]_†Ëi(ºªï��¾ŒìßLÏnb§?#;×.)«Õw+ïû3ç�”±Ôñ"+f©ãóTö¤Žk3ÉTm¶‘{^+»['mÑ¿fÛ(�tñò¿¥Ã&)HhKDçìèÛ‚�þ”ÿmäë…HÎÁ»“
Ì²}âä»S¢‰…±”èE)œ.–òv6p"åËvÒv†Ê€rÒ—òYá˜…;/œnbH¸r£€²o8
-ÎÜ(€Ñ
-ì›FéÖšxyá�YávY
-¬Ì¥¨¬¡¢�Þ©sµf,,þÒù'Dý#¥Æ/Wv~cd…'RùÐútÿ�U`|:G
`…r<jìkBœÎÇÏðïk¢’)Œ7�z©èl)çÐa¦AÕòCäè÷ïÊ‚ù›‡¦ÑK˜÷5À1èO,šÆíÂ–Ó€|þ&îsÈ6œFLTbÍ™H
ô¦Û«µ¼}+j"•;ÿ‘¿]o¶kßYþ&^ßk¿‰!¶›¾SjÇ¢1PP2ãÑXG)9
„ÒXdW+Â¸4–~ÎŒGcÂG6„Æb7ÑÉˆ»š„—Æ®ôÒ8«AÅ�A
�Åm¢Ý™¼]ƒàçÑ¡Â›÷�áªŒJ�à7p5@Á¸ã£Æ½´¿*ã­jµÑ¨$ù5�Õbk¸½Ñ7­#ZUŠ#î�Õå=iÀ~–Ê¢K"¯*¿¥ÃWwW©ñdÀÝS>oIäÈQDŒáK'ªX5wxBq,Š¸/.–Tº¸åIänB«nñÐ1ôsËûåµe÷Ÿ«Û+î?w«<©Š¬ÐÄwžŒQLÞ+�åüõIãï¶Ý©_®›3¶ç_]±OhêÛ5ºv¦nFÌ¿êxËùé•eRn~8þ1ç¬0™ßJ<$ÀŽ<8ýáU½ŽÁÍÍqÌ©â¿DV¡Ã
\Wá:Ú¶H'«»vrþCÑë³VÙ¶Ý¯OÞ�Bç?÷cœS?üžÿ'û‘ëôÔÐßºå›µÃ¦[î°)0=;:ˆ¦5�‚lˆ­�› áoñ:¼ç~Œsê‹`Æ9÷cœS?È«à
-ƒùèðœÍïÀ� ö!-Z§}Læ¬ËovÚG~"g}ðjëÐÓ>ò9ëÖ%f–þ8g}°Ó<ÂOûÈOä¬æ�×ãºGt"Â58¢c01œkpDÇ ëì£8®Áƒ<#Žkðóÿ.%æ)S^7?Ü!ÊD*�ýîïß¾ ^×ºOÿ>:·ÿéþ$Ä)qJ ÿá¿â”¤ªSº‰ÿ¦Tvî™úí×í””�ê|$R×åêÏoãßýï¿Ï�ÛŸÿLUt²Ù9\kLU¦èÕkxu~*C®áex’Å è5ï:¬&„©“ÿÿTñ�/øÑ€ÿm'„)öŸWøµÇÿ§6Öðà«ÿÀëðã@ÿgJ¦6§Î/…©lq/aèbÉ�©¢"©%Á4´©÷„¢h%]t°ã‚È2À¬�@îOïpÜ_	M5K*¿ó?Š†&éðFf+;•KtjÕ€xBt±ˆzÑF½€8%ƒVÀ�{1>îÅÜîÿŠav‚SJº¡²š¨‹bÁÔ%
 èý _ñb_¡Q0§Š’Ö±hfö¡']*é¦!OEÕ(É‚(\Ò„’ˆáö¢$›%ESËªX4šìmQDÓŠÃj'$?3%üÌ(Á‹¬5QSJ’
-mEM+™ª¨30mBÔ’a
-<–Õ’hj<–`uu]P¨—DQÕ§pPš®¬Õ�¦þ“�¹dÊô©TRÞ‚‰š†¤ðÖ4E„×D]-éš(±Ö$	¾¼§ÂdÄ~¬#Éˆ¢QR%�·'©Øœ“W$êU.é2©�ÿIhrI44œ�"”ÁÔ¦ø_tx]U¦þ'aBë¢	/Áªè†`‘™%
ˆ¹¨À;ŠÕ…’,Cÿ0r]‚E¿O8s”&ÈÀºªÀÀaDª©1l)¦[VP• øN‡ÉËø�¢–U�¦dQ,©2·¨ê%CSä)'nâ|Mø¡h"|'«@2ŠŠhl˜†¨L¹@¸]EƒÉÈ*¬ü�h�`OÂ~	 ™ÿ�ñK°¤°XELß˜z#‚ ~³
? M…‘Â†WuC–ð‡`È@[€V¡ˆÔ	ÈÌìT·¶·šS;?Ÿ÷Ý^oªöö×�ªgaGHS'ÿëfI	YK8xFŠ€ìÁ3�â`F2ÌQP�à`j€LYÑ$—ä56�"%™ë5 dAR<�¹@¼Ïû„(”TÇÕšøèêÔ‚À—ÎØì×œ	XmõMó>ñÈ8c|Æ":¼$�IH@9²®âÂfT$¶‚A;ßÔMÓð¾Ú¿›ßÃèBAÖ�t7>’a;áûÐ†©I¦øæÊ*lXMÓ(j@�º*…]ŸÃ–-iˆ37ð¿O›Œ�Š¦ˆk¢Y Vè°°Ð,Ð�ŽÈ0TØîÈ6kj.Ð=°=¹‚â~øŒiÂ®vs VŸø¥”J*p”)WcšüÌÛ©‚O�ÁÙï¹¦eµÖ?ÓñˆtŠ¨DK‚bV–Â@ùäÀ$Saˆ=�‰ —Ø®r ÏW@¬ÉÙ©òþïÏ¿�§©L­V½õmïó÷_uIñ€î`2è*‚!ñîàÏØÝaÂœÊd§NŽYj…Ð£0UÆ46Lgƒfé¯Û÷îÚÇC÷Ùßû¿Ÿ?ÿ±þ–¦Êø]õã÷ßíÛ¿ÛSâú‰‹”„‡„Æ»t:Ç½%ß·4&ûo¯ÒTÔ™FOUxË0@âY¯üÑ†Y?gí`ËÇ@Q¨™:°	•©(‡‰¨IÓr2Ø¯ —€UC'Àu$Aå� x·mØý‚ŠW“ôšÝöv¬¶_*l(E=¦¨£ºa(È*Uè[”Ü@8—l¢Â� ¼€TP&P¿ÖA?RE’!ª¡À®•

-l—#Æ‹ŸJÓ±5`jÂ®@É¨'@!ÞŠL[C¥yg€À'EÔ4< �: \HQoýMŠ‚`ÛÝÓWŠ�lB5[¦2¥™RIÓD•Ð=$xAª€²Aª,Ið)ÙPPQö©¬[ŸÊ
-HH	 @7ø´JCÐ2[B^­)RÉ”pJ@Ý ƒê…”((:LH•Pg$À§87�;L]Y*�×p
ëZ¥
-�¨kØÈg
æŒ‡Oi-¡…©{ ™1ãEqdÊÑQ©°1X4EI
-è~šD85bJÑL`\
-®€`‚ÚË� ÐAÿ0QCå„`JRD8èª½¦ "¦¡F«�ö‰M EÑq…À•)`— .Ã²ÀcÅ@
Ø¤.WÌI…ÅÓC~F‚eá‡"ƒ`:t…•`�uø€6	áX°võ„ª"ÃÁÕÃ±¡ÙÄ´,Pc ÃQM!ÅK‚Õ¾®©Œ–uÐGU…�’AkUHú#ÖÕ˜Â¾5S �VB¾«‰,ŽÑ,›–X“$”„ •7 *e=µ«iJð°j=,¿)jl°š“ÒpR­jv°U5\&SçÃÀ1âã‹�Uþ9¥é2û‘ˆÁTá\"vJ(EØHMP+°!ÍD3KCC@€/°?ÛÈ Aüh\�ØJªB¾–”Ä9”¤«!÷0iP0/Ci¤¸nº�+ŽÆ—†_‚ª6B€ƒ"­ rT0‘HR¡]cT‰A ˆ×™Ø˜‚H¤¥×d­‹æ.	šr4^œ((gSÈùh.l¢Ñ€Žª‚Êi¦¢[@Ð€ûß~Ogä£i’èÁ§ +
-"ûx’�ª¢±&!±B)n}®.âpÁØ‚í‡F N‹,DU��‚Žš<p�ÈøžÊA°èô)pe�(
�Ä€ wÕB’¦K¸SÐ¤c‹Œ]1ˆÞa4¶;AiF[QÙTaåuxˆ ØH#ê# $Ú@•íbÙe?HÜ `& æ{â,–CÑ‘jø®· ©T¢	I_±Ø—LË´B"YŽ¨Ñ"ƒJ$H"²/°<«"q¤ˆÄ¿4¶Ã{*ŠAÞš¨XdÌÚCƒ>Uà=D®d°•,Y�MÊ$ºP¹n”�çi e"WFo‰©OÁ¶UDC�„œ6Š
-­¢ øN‹A$ˆ’‹´#â‚(!a•€ˆ"À&d	D%NjjX�Á„¬¼I}‹ ØÞÀ¥tRè¬Àah&4!Ê$ñàK�øˆƒ”oYÞ”ŽŒ� ¬‚¡»Ã† ›Ë`’Äå³
-ëˆ Íõ"rAÒ&€¦�è
ŽG“‹@‰8)ŠH�:Ñ§¡2´Å@2ùs˜J§#‡7QÅAºBE%_‡`‚‰@}E�ñ«�Ž&ë¥¦Où©ƒ�p8žB[Æ0y›’HVê;8V†Q²†L»Ù uÃd §
èR“MN—ä=êŠÉ/À²$Eö†ª
-É`Q´$³mbLNù@I´‘d`ÛÊ|íy“�HPÒÎ’™Î¥ ƒ…ãX¤�ÀDKì+B2È
-˜0ÓìÈk… ,ëeúŸö×~Š†9@`ƒ(†DlèKÒ¸î¨¤&â@DŽúP9�å1Ð‹h/…©óåaÖÒjÈ–r«€êMz¬55`/ÀÜ/ÈHe&â4`M.�ŠjŸLÖˆBÒè=ƒ„®.ŠdÔ"íhŽx!2tE!±
ÈÓ`e(	,Ao“2{	}8­l~]ç*¶ˆjn‡ø˜Ä„­‚›ŒÞ#1ˆ³á. ƒÏÓdš!Ip>DIb«ÃÑ…¢>TNdyY”úÌÐ"dÏÎ%gï[3t•v”©ÜBQðÎ�T:ßTd.�…"jœBUE¤µE¢3Ë@,Y0™äM�ÁL�Éjà”** Ð† \–OÃg†f-ùƒ™Ö£¡~Eë/H†L
-“Š?ˆJhÑHa’˜UÙ%¾¸º¢jŒî4(Ûz°k¾nh[³=%}ÎƒÎ±—ç©Ñ²ƒ&ƒš:ì�˜§¦Ø¡½Ÿ+.  »2—$Œ†ž97µ(�æìQºKŠDíÙ@	¥*qvÈ–Àì›rFbA 5`{Š€ª©ƒÆ€ïÇ4\_Û$Åt7ï€¬aM¹€°•%TŠœÆdäÄ ¹ú´@8-tÄ¢ØqMô{KœÒ¢ø�ëSX_Ð†t�¼£îž‘Â™
äÙr¦æm8­Yxr:µ1ì…ƒa$tZa†tNdà4ïYÃÀÖl E�“ŽÓƒM`ÔBñÿ§+Ø?0^ÅÆ*9	Ý@…äµ
-š*è…4k Ã`F©Ê83‡Àr¨È·™Êb½¦j\‡¶ÛrAx—ø¥
éoˆ¾g7jÅ®œ>-Z-öÐì×œñÛ�õÏó>œ±LÃzŠ
Ubv,‘ò»(2Ç³¦�LRNA’#¢4òw0G_†m*ŠìKë=
¾æjÊúÛê¿²@àí{»t¦ˆDœvw6
nkX®÷œ	Y­õÏ1»œˆcònŒú�‘/�…i¢ç	
-¤H¶˜‚+2ƒÅZÝ Ð+˜(q�íÊ’€lß
”ArA«˜¼Õ’@ó
-mbA7$2ÁÍÌtE"–@ŒO¡»Ä4ÐæG(2€Q#Ï6¥£B�Â�Dü”#M3ˆ_"/CûMÇx!°ƒ)7”rQ¸¾T™„DGú4HT)~Ó—¦â¸@"F hÖ§0°z�t	b¢Ç¶ãZ¸ó-#	ªž…è_°ñ¸ r}˜„¡êDèÆB¯ˆd~$¤"Ó•\t¸EØŒM2l5à³ 
ŽT4ÄÝ ‰¹ÄÝŸ
-xü£FÈB9‹­µì¸¼g¸â2:	‘`'xA>"¸'„’_€ Oé
-R�qŒ„á|¨—˜Q1;ÓB*†�g’Ü™>¶¡$ùq¸<£ÄbÄø±˜�¾†
–¨V°�³2ê–šÎMžÁÁÀÑTØºÂ±þžDG"eTp%tgÈ¦ø_âh
-Z5&–æÏ™X‡è˜\¤ë6c2AÌBb[Ì[Š©IÜGêq1DôáF8€PQP‚N>D
6²© Ó
Í~�RªÊ#tt!Ó§ºNÁHì
-]Ùõ„Ž~
òÁ‰¸Á$ZzÝ£d`Q6(S2D•g3�ˆ”O)’ŠR�€ä1ñ
-ó�ñégA�©°XB4ý&z:MìS�¡L‚ÝLo‘…Ê$"úŒ"¨*y¡îa,bjØ¾S€m�Ù˜4:Zº€A[´¶™õAfhACÝÏ€YÀ§Fé>`µ‘�¬Ù¡àbÀq™�ªqGˆŠ+Ôk#^¤b0“E2yÑÑW+ê”L’I4�”TR}EÊ/B/¢Ê@† QjRƒLÖ=I
-"žU˜'‚X¦“ÂÔªLþ^ÊJt“m�CCC4‹ {‚>n0¥©ãš� 50(�ª¡(£/JÄ
„ìm&…9öí	T€ˆzDÚÌ`Ë³íAsBdU“h˜3ŒBÑ´’eMçé,€�(›Ìejß�L²¹UôŽ¡�:&>¡žÆ"P’˜¦+ ‰ÒKºLÉš�i(Á(ñÅ„ÇÓ4jMÖ˜WÎ`lh{2…1MæhfÈÔ€ìQ“mÁ°€4¤hÌ›ÃÌi-AÊX¤£¥%…ßðK®2At
-U‰`D‘._b`Ab-0±�„,ê¦ÎÒ×TÝ®Jâéfh9)´Ã€¼%IWÙªR	D70m¡ŸB­A’ŽÛ	H6�bð0«ŽDU„-ÒHä'è'5‘%}!–t“¦ª¡‡\%?1Ð4ÊæÂD6œ.ˆ®÷D•B»"Za¯ y‘ò�[F¶¦ŠÛˆšN=ÀR
�'ï‘jÃBUtkþèB%¡8HÔD†QŸ€j�gå‹ÑPoÇh¢ q$éš&H";×lµ4M‰M‹<Ð¨ƒ€©«³ÉK
-R!úÍ1äÂ@•�öÇÆ¦¡N$¡î+òh6Fq#�ŒÐX§°VÊ�Í%PRúÂT€Ñ¶¤¸ÎŠ²�ÐÝoJH $rW”L(€^N –,æé‚d �¼—°A–xÆÇ†\J§U‘]¡QJ¬A2“Ä‘Di ÈLASiÛÑFa$¡ûKÅØ©à¬Sø…MÔÑŸ„p�F�QÚ&ÕM�’#q»Ã/U‹u!SÑÉ‰!n‘í"`ÞŠNAfE f¤(+Ü¸Fƒ‰B¤:mcœÇÀõA‰@!S$²	”^r$njòd "°Jà±]¦Œ""G- €ª2å—A‹‚ÔÑô01V§P´
-6#*Ú°Á¤:&q˜†Éb“À‡t“G¹L‘Í^7­`‚Hf¶ä€Pæš2‰@Ê—Í°A;"N§b¬ 2·d}ª¨°/%–6À
œ!ª(óõÖÐ1‡ �'rÊÌ:6�ÜÃ�¤š€¤"«fm
-DÓÐ½ZMŸö3¾�¤Œ?PÏªL~2º$»�¨1Ÿ+
[Æø³Š¹-šÉ4*âO :Ñf’ðPeËD
-¬…´éT’Ž†Ê$
-ì9“è™e` F¥³p?’=±CÊ�%

wŒ$1ÍÈ]A×y¢Yj)†^%ƒcšÅé%ÒÍ%�0-qÞ‹ê‰91‘*Áä¨ÆO‰»ÒÔD&)‘ó‹&_#µ	\yºO}øœÀ™˜k®Zmš_#ÒÚ -ˆn©¸äMDmVAAÄ\ƒ(�"ÜªÄù(¦uÈB¥ÀuL nKrš|hd¢‹ç@6Ïõ�ä½JX“,QÙ F‚¯©Ì} ÉŒ�¡@È"Ö0S™9­:-:Ä8È-€!¨˜k¯©ŠÉB&KTÃŒ	I¶6�½8‚Æ¶†ÂfLˆ7‚ú9‘ÅaAeŸIÂ<Ý®ÍXP5ƒ�€uª¤ËQn8Ûõ"ËoAËœ/!¥þ¢�b°DP‘iÞôŠlÈ.µ1T™HFëÝ${DÀê&º–#�J
-YLa¢ª2¢i-EñPo1˜S”@–üÔ´CÜP,EÍ`Ù4DKš@n\4VŠ€DGâ‚m<J7`ËØÛQŠ:ågqlŽ½B8c–�é¬¦)èäDA¤¸`l0·‡
D�	µ Ph1Þï¡®¯ZžÄURD�¦ìaZ”[àt!Ñþ¥){$6„eG©
-¡Áb\ËPiv¾EY¦P©ˆÝƒ²F‚A9ˆv)êaNkz4Qñwzµ@È-0ÃÓ0\ÀŽ(c´ÞY£Àr;‚�îÏQiD§¤ˆ:¶êî	ÝÔˆÐía»@Îô �§5YN¯¦âpaÕ}¶—l :wðˆ5�zÂ†Ù¤ÑqÃ89ÍÛt@£ÿ?£9˜¾)™Œ}2wô»¦1E­dV= °t:ŠÌDÏˆÛ’¤¹ßÃü
-C�Ü�¹@¬OüÒ†¡/R¥×ìÆP¯¸YÌ;µ@HâÖØì×œ	Ø�õÍóÿS0‡¼¦É\œù
]0,7‚…ŸB/²a0DG0]³÷TÍBûYF…Jv¿[\bv¼Õ˜
á]ÂwTtiÑi	4yCÅºH§G„v·=2û=×œ¬Öú¦9¡p&eK(<°*G6L8×…{†l ˜«ÜÏ%cV¦>» €)–hà±lBÅì©ŽˆžsÐå°0CWX±•ƒiEDf‰&ÌJ—L‘Ád
fLã Aº„™¬*9:/4r `†>óJÔ“HÃÀp™"S	
-¼I³r�@¹B´º?5à-‘ö:n(-_2AÌˆ:~*[ê¨’x¾‡ý)E`©nÔ¹N:. �;/ÐB1ºH–:ëÐ·^ã+Zºnya1åMˆIÁR±Œ8ˆ‘G�ò1%´uÌkå¤Ó”M´”YJ°bª"Ç*Ò¶¤à 4Ï§¸¼£ØbLÛ´V³ãò¤!ˆ„�%ó¹A}„pO8ÕD*�ùÈf9º@èÜQâúÔà-JúnI©=ÎÌ`$:–ÍÑð~äàsb!iì�Ž8ƒ)ö…5Ì”ð�AÙõw‡þ6YÙ3üE¯ûþt¿ýHÁ›œÍ§¬¢mQ@]˜ª>dÜÚºŒÚ¾(¢¥ZÐŽ
-º?&´#TY6o è�e„"P³ÊN‚¡ž\ãâÐ·ÀÑâÜr‡85Q0Eî±ðÌÅÔ™ˆðLÅšèR§Ü?7Pd9ï¤ÑàÐA‚~b‚‘`2‹{Ü³�¬õ(î$ÁtJ|‘±j³ÎÆK ¦±¢7úÚàÛ^¦ÖaWí=d‰²‰µsð�(‚ö©¢Š`”.
-_‹µUhDhÑ€‘0™%0Œò<0ï¸dPž¸
£¯Ñ)®øÞ4X†§E“<Þ®EÔŒÉ]æƒÃŠê™Œˆ©
-Šæ›6BMJ›t$b21i"6D¦²ãeÙÎÚˆTÓÀðc­¡Æ›Í¡.ºÀBfæ¤
-�’SŒð@–h
-0$£ô©j&ƒI¬iD¡â€j¸í%†8â‡"Êt
-ü)‚À\ëSÐ†á0ž„+¢�ÊlAd"�á­d€¡+]ÕÙJ�¥ëì8Zp
*ƒª0¶)"æˆGù³]äbÃèk‰¥†xÞÄ´ZUr·ˆäË©î¾iK2œQ
-¦ypf#=ˆœW8Ó0ÚG…‚tg
-Œ8,D
-X‚E¸p£\0YZ�km\,Ã^C7Œ¯ö} sq±‘"…¢âe=è�Ð(WÜCM.¨Ãð04EÉÙaPÌ"Ñy E·E0�¤Ÿ®ù¾„º±3ú83>owº‚• Nµ=�–,�
-‡'¨”T_ùP«þNÁÎ08kª ŒÎk	3sUEç�Dç‡n“�+¼#b¾ò8mÓöQu�ëAæŠ½3Î
-m(ñz”t.GØ¦’­¢yÝ¤ª5ÚTó£“v'éLÎP²2Wcå}lˆ¢ÊÌXúUOˆ’‚çH<vË@(qÕ½Ôÿ%˜Ìúø‹tL"*¦øêr#¨DÞB
-ýã.Å”æ0Ñ_-1cv¸ËPùÄ/©lÁ`@ôœ„„
BˆKˆÂù’d•}) 9€‘…J‰t€–ò‚"Ä
-«Dœ!;éBÖXdgÐôÁC24�ˆzûä—Y
ø£ˆÁz™â;¼ÖRÆÓ�¿*,]ÉÄÂ
-Ê0ÐL†Ë÷XL³`trFšXÈ(Ò9&’À"¶&:�U+¦g çD�AVŽ‘d~*YQoÌ«ÃÙ È$'fiH]&ºùYàZQXÁc=aê¸Ôt:ÖŽaˆ×Ä¼anà*¬úèNg™YSÙñ8WLdáEÌ%•‘1­€jž0O»„ï‘ycÉÈ«£ŽÃgWE¦rlVyDßR<Ÿv�LaÇ@È–À…CÉKK‚�Å.í£“¸;™luB~MáHCc±MÉD¤_–¿�É(áˆOi:Í:m
ò
-ë?òCTHÌbæ‰ÀR0�PÇ�I÷,„É“ð˜&AE04nt%cíß©ø5•CŒ)AxÈ‹.‹œž%ždˆä  vG4N�q:éi¦n}‹)L/Â"9û´Ç%¢]’éðt[£tÑ
Ît0Á¼õåÑfôá›€	’XLC5•U4‹t”�ç€ý	–:¨rCŽ è(d5i¼i‚	9Þ1°ƒLŽ–Jbel©€»M±Ågé'Xj�"]3yÞ«lf@ªšb@Ód/j<rÎó
-L³¾ÕÙ±•OÓ©#2†œˆ[b2[h��Lç‡ˆà¸­…F(cÊ8CB$Y*¤~"Èf¡­ÁƒÔXb ñ¾)šNg· uL	Q$Þž‚)£3[¨g*QÂoe�ÕvÒRSÐ‰v¯!ëœL(¹‹`L‰d0®‹aí'‹£#1Ê`Š…2:…ÁvrŒÂò €
é¨Þ±ä‰EÇ‘©™”ò*R”ÈÄ´â@VÔMäÌ�ÄEvh.ÈÁTòôÐžÃýg"ÃhÆR‰Y›sÞÃ¼mãP³)­
H´J;AóruúÒ:†cBà˜
-f~²¼ •	,�Qbß$}5š)°H	%m£y¨‰
Áä±nåˆ®±EãYáE‰UMêìŒ¥¢ÈÓ¿0&Î3É0‰A2t¶»x¨Ï`uô´‰�…1K3ýQüÒyXÈ0�§E<?D¥m„EU¸sPžcŽE°ªÈDË
�5aId7Èth™Ãœ6…âJêÉxAb/ò£šh×2±o0j#d’O€Ä>æ
V„�haŠH±mŒièˆ*	ñ®kÃÈž¬1f+X’ˆÎ£BjD¥TPø9[¥ô32mUne©O­
-qþÄQÑDŽì“*HEx¡
ef€±1#LPéô«•Uœ);§¬)ä5ñ'/*¯c3UžìLbH¡­�<Ç`Ç,	ž} ’Ä�¥  �Iê)qEÅ`ÁrTåôéÿ«í\vì¸­(úúM<ì HÖƒ5n$£$ƒü€Ðœ–HAòûá^û�ÅÛ·
Ø-g&í¾UE¾Îs3)kô9Dz¤ˆzP†~³ lÖ•“¹¶	/¯`Y°-cõŽœÞ¿®Óö¤-FÉ¶Ú%¯7$û£$?ASéC´«ào€
G¾4{µf
Šµå_®7Øä
»PÎ.�™xŒÐ®´#ýp? &ýÎ[xBóØÈ#ó¾¾º²Ÿ­ŠC±a{Øè¤çÉó™Bib‚›­zŒöà’c4´Þ¼ŸtfªbO¿Œ¤¹Z5Aýé$	MK%ÿ1H%‚ò
Ù˜O³äú]Ô§�–äžº¥s²7lõ€Ôqt/á{`Ýk£ìn2u–0¬=
-¤bi–®b8ãw{MûeüH¦«t¥=�Î(™®3pžÈV­’:éó‰¯�[°Æ�òV»ª„ÆÌhV¹Q´¬^ì‰X¿rN�&4/1À¦EÑ$<z»yt.!,cv
-±¶!N{íû‡‰|/y¬857F©­e[—Ë�t»mX›K^ÓmóÙ|‡ì?-°jœr®öþN¨2©d}]Ÿi§€
§
Lï”Lbá@q>Ÿæ¨˜Ÿ¯ÊÀ[ï¿3aÑ"Í±	ÝmÂÍo<ªÝ¼ó·;Æ6²Sõy�·	lök;TËé‰'‚¢}o¢ó´tQ__¡:‘–t×ª6óÏìV�ÖOØÔÏ	í™Þ8$7}{’ü˜5³àÉ¶9–ãîq•)8IáúÌ„EƒxeGû¬¹Ýƒ}z]Ÿ¹¦áã,þíâ
-ÍLq‘ÚtÔˆtE¿Ü£§ÝÇÌ
h�¨Õ�&;Q™±°2ìB˜~)�yÙËÝ'l¯mºá)­i~ãJíüíŽ½|˜[yýòêÍõÆÇ~¿ñþ-;K–Ÿ™<V¶•rµ„ˆUÚä"gH¯(Y­ãéÜœ™`˜Ô�³aúeU*ÐV¦NP|XÏNàJfþü:2uñ·_îÖøhâøåÜ½xác��ðg!vðŠó•„§jgaîÌMr'ì'ññÉ¿Ãä³‚«mB3!’=³Î&t±?=É�‚�K,–’Ü)Vud.´‰Ê ;Ü€·÷Cæ#é­ŽÔç~.k¢±kœÕ&áfj°†ž=Ì0°Ò@ÂIÓÓEî5×æØÃs�HUq?$R¢�WP�$Ññð³Ýã)~™;�ÝŒvi¾B‡Üe%ëLžÇçq$ßb«(eí=!ºÎ¬€Ž&MÖ@ý;U1žYÍjŠJÝÊ@´{ŽÀ•1†à@O3X
-`1§jÐ¦Œ�½Í®7M¯L¨ßjºƒ&Å‹åº/è¡rîû(™0’˜Ï»§.Ì5æø®ÀÑGæøê0á,�Ü·€YjòýmcuED¦¸?ºZçÐŒÿÝ3hþ_2àVÊ+TW *©J‚ÖSZl�^àmWQÈ™x»ž~›þÕ¼%bCüRUlc.%qè:ô=ÀÛæ(Î»AÌÍyô+ Ü¡0)!oU®ûÛàôøÕ¤þôV;§¨Þ¹Ûñ:w"ã|Ô¤žž˜@E¹*ù33^"Ü¿xk	;Þ_™7
ª^d/pþ¾,ÆèÚÌ%AXw­£‹·jA¿cUðe!²�eå©Þ¢�Š×œúêŒZ‚N•½eèÄV:�W–Ñ©ÚÀFœ5Ëƒ…[E–d•YÎç½@ælJÄëwP3/çü¶TlDß}Þ1í–WëÒqŠ«*þ^öW}UÖ.±¹K&
rŒë’œX8åæž¬~Nùk ¨ê—az
×Å°Æ£§	 ~4›Þ•Ô(Ïè=xš¿OÐJÎS%Õö¥W·å™]oÜ¾×¨Î}‰�T§,mä(!wÂä9�>É´õL:5Ú�*ç[Ù�ÊV<²‡óL4NskIOÜ‚pgh¨a"H3O‰Úã6š:”ÁÌ¿ÛòŸÞ&WÅæÑ¿¾©¹½ïm[È›ÊW¯ÄÊýLJMÁ!>ä‘ ¢©“Ð„,Ñõ!\-öqã„iý÷¡š¡Ò—·ö‰k!ìM–È¼‰ˆôþÈçýt¹Àk×o´£oƒªNd('˜¬‚·±�¨Üý³o`×&:5¼ƒ?½Õ›ß‘
�©51WMžx.@&/zLå*çK�û¦š|¶:¥ô{^
«=.¾#KGY¡Ø^B›é˜–¿6©�/$Ã%0'o
pvšÏO·I¤�­{'~B¼òŠõ² xVö‘Yv‹*¶àì&Ø¾ùJÈDWv¶µÆ•
öcöË�	Â’1ítò¥É}ÚTó¤‚•ž´–êÀdAAæ“R/lDj—„%WP2�¸dåj£Z8A¬:]œpšºõiS~G�Rž¡®„¾S®òLe¯bm[pØþÆw
-í¥.”ä‘
²r�¤O
-…µ'“é+ÚªWœ…PîªbyòcºÎuŒ¢/Qò-î?A%­Ûò$¦1i¡GŽà¬xÈÑFåµÄ	ßöI%þ‘SCÚ8ðÅšÏo7:yÏNÙ“94Õ\ÔÅ¡bM±ZÎë>‰mË°ÃÙ�èÞM‚“Ð™1Ò'ˆåÀ,š�?”zKûb¾¡=Œ…'ØÅÜ§Îÿõ´„šê.ÂÖû·5”§Ä	¢<_ç›Y•ÕX’
-3Ô|
[UñÃa#îRç·ã°kEeŽŠ7�­Z5.ÙÚp$9&ó~8ß1Š;XÙÈDŸiíRÚð•%(ÜhìAj�f]ÙS€˜tº7ÅËòUqq•J:ƒ•]J÷u$³€ÓÜS,êz›Þ[›ˆg:øf<©At„]óšQl`òõ1ª.¢zÑûRk%õFGg±6•Ü>4P:)R®¤,
É„Y
-P0ŠªTI,ÏTUæN”«”K�Už1_ª*‘Ê"sè/gO›#�ˆåÅ¸ÈqÀ(›W}—†P¦NO—íŒÙP i2ª‡©€Z[ƒàÔ4Dlš;)j
!±Y¦ýˆ1•�VQë	ÚÊÌÒ1¨\P’rÈÙÔ'§S•m„šÉZÀóäˆ8	p\SÙ7‹<éê„�p!$Ó�ŸNéjÏ­{˜ÔêÂ™0k{ÔT…Ô‚œ<´Ø­']”[%âÔ:"¸nh“‰4ôá"Ñd'Åž³¨JÆTO;ô{m2(ègFså{ãÚÎŒï´^ÔûaêrÂ´¢N;:ÏújÖfÈ�ãGè¹»¨¿!®]‚áaïýàãNkS“N™]&Ú3}£J‰úÖ·[%©-N�Z‰�r™Ù�sDíûNäØk8§V.±‰	w˜Ç¥mü‹3´‡8—BÌÐm§Ðjë4«¶ŸÕÛ�üïh±«´ÙdE'z§HýWêE4(¬‘ÀÖØŽ_=X ›t+Må²/ÖJŸÄüGŽÊé¨­ì—€Ç'²l¾Bž•�íÒi%OÀ
Nî8ð8Éa@ÞšÒ…PW2;AäÎ2NAd#Á„µÅSîÈ]k€M^²l_EæAÝy¯ÿ‹�¡šÿSd¡7qÜv‹¤¤hPÂâ•òÇªÌ­•ã6
–Ò	üÖº¸®×Ç�Ä¥å¼ag†™*U£É#…éšã°vèÖ
-¬^˜Äý²Š<¡tÊðs÷
-µ0]Õv5ßX a¶b`¢×n(•$•®Þq}˜ÝCÂÉY^6ÖÈ€¡“§Ö7±Ôõ’Ìké}Ï0Ôvª;„Ó¶ˆàMP'r>ÙðRMOHÄÕ‚ßÏ¸b`—óÞ¨(¯œ6º](™NqÛå•ÖZ¼UlÎ›�¯ÆÌâ�gì…;§”æÆ®ã¬³Ý×LùWªYÐ	àDRÄÅÓŸ¿cÌˆß•c»9@uA•~ç|Mè6�Ãþ
û#ŽNóþ‚žÏ± Ìö~ÊwC !=
-óýã’Ç\YIÁó][ÛnjPc¾+®§ëLú,â��B£gA½Ä;‹­�‹E£Gö/¿‚üdØM�”sï�î‡‘îf#×E¾c?¹’ÎÕ…Ðhò	²W½iûb¤ÁlQ‹£Ô„§ôÖ„ÚJØÕÁÊ�âl‰ûOž=çBk­lµ¯2—F0V
-pzõ˜v»Kéµ,ß=*â:8Mx[`ÿ‚ÂàB¢ŽÙKŽ©À”q`^Y2rœQ@§ÕÓ±,â×,ÅU×Ûµß¸<f4b@ÏvÊž3vã¯½x[êÏŠ¾09Æ.¨7D’ÌÞ¨§·åÕI×G;"[BTëk™ÀÛR"”í=‘¼¤_¯ÇqL®Çk°Mþ%ÏÒ¤»4zBFß.¬‹`zUÔôÉKÈ×”˜¤Ëz÷¬RnÍ¡>¾pA½!Ï&°O‹ÛŽÙ3¾Ð'ØãÔü¾Ð¹*tËvL�ûrnÎ3S<–œ2HîQ€S]ãÃ…2�ñ}ýN!nÆ�·MÐ5ï.°ßÝ3½-…Z9}µCº®n´nüîêÃxÛc_ß-/lœ\8uDØ—”ãA>8]ÿèBŠ�¼T®ˆ¤–»²LÛ8ú>+CŠßùÆœñž	êßk“y»t§w)£[Ù÷Ó;$“v´künêRÛc/¿+B.Ï¥«²Ä²ËA¥kõÎN$ßÁ¬+SˆÅT=ë°ž DzN[C¦ûvÈŒœ±Í	dºÆÖEM¢òF‘Ö7­ƒÀ×Î¥u\îÀM:ìTÿ°ô+p´ýøOÔó6.#Òáéû¡`b&´ªÝlsÎœÍ¾Îu‚"íuzò´3Q¼Î1.í�cO1Ô¬$+*&hÜÚÑm
Y•’vVóîžiµÃx€!»{¬‹¸³HOñ8`ï>RKÄÎÉ5
¾RÑ1¬f.zàÚ8©ƒBº½FOwîÎhVPèõ’%•N3´¹|}~4Bš7ÕnÇko“OŠÑgÑ­9œ£ô0úš8{ä\*Ôá˜ Óµ6Ó£
-í-ÙÂ;6z¦)¼Flã’@éËz’Óƒ<ßö~ë*íþöéÇÏÿúéŸ?}þúáÇoŸþóùã§ŸÖ]™ŸÿÕþòñÇ¯Ÿ¿ýû—¯Ÿ?~ûÇ/ÿÒé?ÿá‡?ÿõ/þ-)
endstream
endobj
115 0 obj
<</Length 65536>>stream
-%AI12_CompressedDataxœì½ër%¹u&úùûüp„4á"3È›Î„#¸7IO{¬îuËcÏDÅÚÝ¢Å"Ë¬ª–Ûouþž¿óbg}ßÂZö…EVUk¤pU†Ô$ˆ�ÀÂº_þæÿúú›g/ï¿}NÚUó7³yØ^½½øÕŠ­«/noß½yû€¦_üæ—«n<i¥ÓÙów©ã?mÞÜÜßýŠâ/ñö/~}õpsõ÷o¶«õÕÃÃöáê—«_üRþúíÍÛÛ­üýÛß^®¾¿¹»ºÝ¾9¹ºù¥Í,C�_½•ýi7�vãªûUß¯¾þ5þ~u÷ãÕ›77ÿ±ÅdaÒ¶¾w÷òæî‡õý¿ÿjõ¢ëV/æiZu¡—±–ÿvó›í›�NíÉØzŽ'ó<¦îËI»Ì#Æ<¿¿~÷j{÷öë‡ûëí›7›ûÛû‡7¿Zm~ºº[ýúêùËÕêwÛÛÛû?­Ö·W×,^¹¼¿{+]ÿÛööÇíÛ›ë«/·ï¶/~½}yóîUÑëËíöåöå£}Ï¾¾»¼¹ÝÊ^¾ºz»êzììÙ]ÿÝúÝÍíË/ß½úýVvyœ{4‡ï¸Èß¾‘ÕÉBñ3š§ï¾x%-ßlß¾•¯—¹Úb9ÖûWöq¿øúìËo¿úòb•>Z¾ìÝvµÁ±üæï×E_dÕží†E~˜–6ŽÝc¯o~ý»ÿ^î¤œ]z~ñ/¿Ùþp#Àuÿ¿~™¾âáþõ««‡?b©8Ÿö$¶m\Å~8éÛ¶_½ˆQÒîßn_½¾`á¹ŽÃ|"‡Ã ÿ)I}e3õü—p–e ádnÛy5t³ÀD+ÐÓ�š‚¾”!aûãÍöO¿Z}y·ÕÃ9{xû�Bb”5êÿë_~óîvûðÛ»nDÓ¢§óëû—Û[�kÿòöŠ‡Â§Ëÿ¯¾½zøaûV ÷þöÝ[^°Ùf�ÓÿÇ«Ÿ¶8·^'øêõöîÛûâ_„ =â˜V]·Œ«Q~éfÎË}Î.ÿ¿��0Œ�?áB|-@ôÕÃÍ7w¿
-ƒœÂ:¯¿¸y™¡kêW³þ?ãd.þ·Øÿt½òéoßn�4To~]@i{òëodÚ‹»—›ûWØÿ7¸é+wH·÷?èßügþE^÷ºù—&,§ÿöîþíö�Œu»]-ãéW?nåÍ§g/o¶ò—7§gòçÓÍµÜ¶ÛÛ«Ó‹«ëwo·§_¾•«µ=ýÊº5§¿õ7®´ËG;½º¾yÐøþvûï§W¹�¾ÅÁ¯mð-ßlN·úê¶xuë¯Þèð7Úç¦èsã}î8|sz¯}ïµï}Ñ÷ÞûÞëRÞi×wÚõ]îÚœ¾ó¾/¯~øaûpúR¸Ýž^Ë~Ÿ¾y»}¸ÅW¼Ù^øNÿîövûöôõÕvàõNå�WWw/+»ôÀk,£½<½¾ý“@ÊÞž
-Íx¹Åe>Õ5øt'w÷o_n¿?=»8ýêÍíÕ›?4ÞôZhÍ«›»w¹“ý÷§íÝé«w»ÍÍ^?ûïýÃËï·2ÔÍÝ?¿ºzsýî¿X‡+iO³ÿÛ»í|äËû?Ý�nÿýúöêè´|+/ø[ßË=¾¹Û_Æ‚”o·¯î…´}ÿ6ÿ¦;!¤âæ5¾üÍë«ëíé™ÆY¶ôŸ‹Ó{ÀÈÝKYÒéöÿC@–-æ ö‹ŽÉßr»6¾¼ùñâ›æ{þ;ÿéû‡+=Ñ‹w÷\)oŠ¯›¿q¸æôûùà2óék™çþ%„g�ïÙï¯Þl}�üEº¾ýÃý»7"ÍéY¢ÅÏg
-¾¸Ýš/´ý‹\¿ðN_h§¯´ÓWÅxöÝ_i�ßj�ß–ÃüVÿô'%¬Äiñ¶Ä««ëÀ»`|v»ºæ…Ð+­7º9ýÃ»»®Þ½º½z÷Vî¡…?ž^_É{Í·Ä£Ã?|÷í!™b„ïˆ¦.î®ïÁŠüjõÝ!Â˜ø—Óƒ�OŽ ¨ýÛÿG'<iS®¾}x·ýö§×Ûæ_º±K×}ÕMáT¶mûoï®nå—ñôæN¸²›·?—[Å‚K…E“sÀ/M7w¸“‚ÞÞ\Ý¾¼ùþûSùæWäáN_?Ü¿|w-ãFF|Ü'ÃÏËéW¯¶?\­šnNAà~­ºe:½z-/ü{ZÅ2Ÿžoo…Ëê»˜€Z.ãlï~Ø®úØ¢ó­€ùwßüôê÷÷·ß�ê«/t»¿“íÿZÎ”¥ùòuCÆõëÛwò§¿¸÷ú‹»ïï›_(§ûO‚êävÿÇöåê«ßÿ«ü"ëæêöú~õr»º#u'-ÞK˜Ö×¿|tÀ¯o¯î®Vl—7µ×êkYÍ»‡«v…wñÇ+LÀW¤×?Þ±úúJþúþ	Î·ß{¸Ò¿æd´íÝ�÷2Å›rð‹»··÷¯·+¹–«ÿqõðúýs¥~Øæ)ø«ý÷	[ LÄk��mßŽ÷v(þô„‰®ÞþA˜NÁŸoòF\¾ƒdRoöWû½Ðo®Á¥<¬ÖïÞüaõíýýmuŒ×Û[ŒüòF–)2Ðÿìûé®œ*½Î·ñò_à„_ó…»¯îtÿ�VèÙÍ�÷å|ÂÃþ…Î%½Ÿ4� ®í_ú,‚ƒnoÈtÝ\?6‘ Réö?ûvúþæºÚ;á9pH„zóæ€JÀ¬Ç¯÷Õ=úXÿúvûÍOÂù½zòé¯„Øþ<‚íóÍŸ®Þ^ÿáo~ÿ ööÑë‹3*öR®Ò7ïnÞaA�^]ß¿z
nïªþ”·¸dïo|Ð”³¤/^<BVúvµ¾+þþ÷ m‚}E®^¸¾ÿÛÕ—BïÙìü.ôª_­_ŠÜò_›ËËË‹ËóËÍåúòìr¹œ/§Ëñr¸Œ—á²¿ì.Û‹Ë‹‹‹ó‹ÍÅúâìb¹˜/¦‹ñb¸ˆá¢¿è.ÚóËó‹óóóÍùúüì|9Ÿ›óé|<Îãy8ïÏ»óvs¹¹Øœo6›õæl³læÍ´7Ã&nÂ¦ßt›v}¹¾XŸ¯7ëõúl½¬çõ´×Ã:®Ãº_wë¶9»<»8;?Ûœ­ÏÎÎ–³ùl:Ï†³xÎú³î¬].—‹å|Ù,ëåL$ìy™–q–¸„¥_º¥�/ç‹ù|ÞÌëùl^æ¹™§yœ‡9Îaîçnn§Ëéb:Ÿ6Óz:›–iž¦iœ†)Naê§njÇËñb<7ãz<—q§q‡1Š€+‚ûØ6Ãåp1œ›a=œ
Ë0Ó0Ã‘[‡nhãe¼ˆçq×ñ,.qŽSãc±�]lÃe¸çaÖá,,anÂÆ0„BèCÚþ²¿èÏûM¿îÏú¥Ÿû©û¡�}�[ÒõmwÙ]tçÝ¦[wgÝ"Ò$¼ÖÐÅ.t}×umÓÊA¶ríº•
kå›Û±•…µ2vÛ‰„ÿwM»ú›ïÖYJïVãj�[þM„ãïþmý&½Óæö�7ª¿Hÿõ¹ƒ»Aía@ÞÜë°YiõF0šïÿûÿ»x>ØœÁZ¤ù_lZp~\çG½U'­üª‡ØûÎ÷tÃ'ç.‡>ûð_Ÿóé_ŠÔ{÷¯W»ºyV$Üãý6t°»,'úaÏxøiŠÿNÆ—+º‘«z±¾Ü´ru{¹ÂQ®ò(Wz–«}&—ü\.ûåy+¿Œ‚fÁg‚!6‚).Î//ZÁýEh�‚N¦‹™ãKï§?ñýOSü(nP yâóŸf¯©Ú_~œà›AðÎ4Ï‚„Îm)]Ì—K+Hªt5Úš}-‚ÆÖ‚ÎÎ­]žµ‚âzAuQPÞ(¨ox&¨pÓN¼8»\·‚${A–Q�æ(Ès$z¶^ë†NÏzÆ÷=Í�ÆâLv6¹ÿ´Ïî€��á£·&Ì‚iÏãnó^„K9´N°q¬<vžK/‚­×‚µÏ{_Ê1v‚Í£àõQðû,xþLðýF>ûb¸" ” Š…2ŒB!f¡gB16²GãåÔ
-%é…¢D¡,£P˜Y(Í™Pœ�lüÅt9·B‰z¡H‘«#U]emu}…�V*
:
J
Z
j-ôš4[©6è¶Pî†Ää$Dd\	9H¹s’st�tu�u%ìBÚå™vŽø©ÿº§=ÍS;~ŠŸ€§ŸÜø"ñæ$´tš*×P¨ë¹ìà¥ŒÝ	Ùí…øF!ÂBŽg!Ë‹çµé��jì÷%Fm¤'þ	¡z.&”}ú>	•Ÿ…Ö/BñÏ„î¯…úo„8ïy\8ïÎ üBhðÂ:è3¤g,žiç™�?ŠEqŸ.€¼[B‹ py"qø@ˆdÍ„³3>=€ ^Ä?ÂôeÛ”v|ø|"Ÿ�ÏÈgJÏÌgIÏ™?k6
/	žóê¹8ø¼ç_	áàÚ>0!t°)„’œWüÂãÝÈ/´Ýa¼
-Q;�CÙmžO¦1>¥w·G—¡›a}™�•=ÇñdÂRü”î:r;¢kß»É†}úù¤:Uùx?cO0cús?ïðˆ{|¯ôÛ»»«WÛ—«RÓªfé@£�[®e¢02R Ñ'ò	|xã6¼°ÂïðI GÈ^7
-G¤Ïìd˜3Ê1e}&>#Ÿ�OLOàÃë-dO« \%ŸJ?ç”€ôÑ9ôßÂgNÏÄgä3ð‰|‚>Í‘‰pxZ<v¯^Û…ˆ^x�
Å)}tý7ó™Ò36Â²ˆ¬E,ñ4qlW;.‹5&Œ—ÅšÆŽËbÍ‡	cÇe±Æ…±Òúv„©ÝgQ÷ØÔ÷ˆSý4é‡ùà³|Î>	æû!=›ƒÏùÁçâÐ©WžšeIjˆIa¶Sîš]ŠNIoaš‹ÍFÙé}íCý"È…@œœ¥
-Žƒo…—ùD˜‚1#Î'õ&*žfa?�d…~íT–c²¿‘Ç}RoWîæ0²g;�ýNÏNþ>MÅ¸Oé­Âq·Œ-dàqŒr�Ž‹É�÷û8"Ð¤mEÈ˜ÕÏ¼÷LžñÀ#¦ÁÿO<ð„½§?ð¤M—ÿÀ
-ä;Ïþm(nKã?î_¯õ�gÿÆîÜë†ÿ9„¦½çfÙÃ@‡‘Õ!¼¶�ÿî‘£SÞch“^ÄäH	ÒéˆÈ’¦HF¸'´‰@]P^Þ�®BhH¨@ª”X�\)Áê	*-9Ú.%]kÒh�/0%a bJÆú†ÐÔ’¾HôlCÎ4
TMé(›ê¡i$y#�‰S"·!ŸqÖ¥­Sjz§4�T�tO)ß9¹Ÿ59†%QÀ‰‚Ã@‘ÿú†`Û’*A<'»´&‡±$º8Q˜mŒ”Ozv›h$¨¤ÒI¡”M"–sº[vu‚_…6‘Î‹ºš‹CšB’‚Jß$XÐ#ÿPuö1mvó¡êìcÚì'òOûêìcTó¡êìcTó¡êìcTó¡êìcTS¨³èŸ~F]Â‚?É¿§kŒž;`Vòÿ×¦"£ùø/ý¹(žs6þ¬ý!‡ØèºEµàÏ¾Û�_íÆî¶iþ.]UaŠSo¬]hÚ@ÓÎ®/Ó£º”¡IªÕz#¸	m>›æú%+·ŸŠ¯Hå—>cR‚MT„é³$…Ø•búl’rì<)È¨$ë.Õ”É“ÎTõé¥ö<<_¾«>ojýùz£Ç‘RY%eJ©R1uD5µ«—jvQz,ûwï)‚ÝQy®Ùæ*Xáû{P*9öwU	-KÀ¯ãÜ:×qê:ÊDHxï$&-UUw¡(ú�·9/p?ÔB'S˜u+>i{!Xñqå9/é×Mƒ�+¬OÈÔx'ËØÍü¡mû»ƒ2Ì³Þú8‰&”hâ/e|—hÚc*êc
-jUO«rZïÞ%/[¯:é†Jé‰êhSEC
}™ÔÏ=õÍªežhW1ËJ²­¸u%ÙW7±¨‘ÅÌ,4´$SŒ-3’Å“ÑEÍ.gd…7´9�=¾l`�!–éi„	d¥aˆÉ^Ï4Ç,dº×4Êl’ù
-Lù%Í3m’ëÀ¶††šñHkÍ@‹ÍH«ÍDËÍLëÍBÎ­8ú$�¢Ô.ü¹lsìÊH{²fVÿ”˜ ¾ñ¥ž¦VÃÔŠ×¤4…òÄDBŠŠŽqìŸ!Y“LãAd>6.Ï;8Ý°ú>fÏØ½ÄðJ”›dÈ¯¤âå¿P=±z†ü4É–R>ÓÞ3|–COã?ž½ïÙWáåó<ö¼Ïþ7[?Õt]‰Ùàð˜n°9 ð?öÖOóþ.�*÷žæ©Ûåð~*~õ£þýÕ
-îK¶Ôì�ºa<ƒ‘lŽq’d$��|Ôaf]ºÌ4Oñ™É.34³ÂÀzNH%iÎ„9“e#ÊÏtvhH€�ú;<ßÝ¡9ìïðþãÐ‹ø”;ûTdñ^Ìò<4v÷=	y“~Æ;òçD\å¤'Àûžgük¶±û?åiàŸðø£ä�Xb$¦˜ˆ-fbŒ…XãŒ˜cMì±!9'¹H’¢rg]2?ÁE­kÕp;ÉL”XgJ­K2ùªùwC¼sNÜƒç’¨%’§¡IYÍË‘(i Z)ãBÊ�M!0UB-#„ÄúíÊ»2‚	††ž�ˆŽ ¢&9^=‚ŠJ¿œRìÙ|ªÏÚý¨M-ø4åWÀ­ÏÆ®Íž/ÙÞ'–Ò!9†pµû1·ÚügJ±2>DëNæ†*«¤$*òvvÍXNd†Âùôw8\!ñÎ‘éýb];ùk�Ÿâ‰ ·BÆ;:Gìzï}“c˜às†qÙy©rÄyÎK'‹�eñÖÅPÈâ½ä( x&`xÑÁû&
-èÍv¡è­[8”­Â.	]0…ªÖ€(�'@ÓHjx7Šä¼A€@�^Ðe¥Ê ÉJ‘•56×C'ÄûlÑó˜¢]¶hj\Åæ¬‘3GÆ
Ž…b³5=hÎéUs™˜¥ŽÞ7Â05ä™ºé€oš‰SÏÈ=­i�?'uAE[KçãŽÈ`§BòÈVá™rW39¬Eq¨ºòÐáQ]ÝÎ�©'Yënoêú¦OÐ§¡œyÂ™7Üè>qê—ŸÅŸ³âYç§IŽsùy‘<ìé–‰Öë}ú÷?Má»÷q�ª§£é©?ÙóyÀ½?ÿ]‰�&¡�k¹-—Ž’&¡…ë„”:¡pC�–.HöÓDrb'¤®ZJ§tN	·’8#pFÞ²è°+8TbCó^7é}Á!‹mâŠMÂ]SbÐÎ[–2gÅúÄƒ•ÜWæ»
-ž«Ùc·Œ×ŠŽÝ
->+ùÑ)ž['\·!ÂÑÛ~Ù$¤×&Ä×%×Ã>9"ÆôŽê3§'ñšXd“\Ý9q“ÿ�O‰b.ó³ã]ÕA4-wÄ¬õöžcA*p0¦ã½ŠÀ=O‰u˜Ÿó4Ïëþi\žó4Ïëþ—7`í=×!h'Ë0M¡§ò‚9š�?=à{ý”ÎÂêi²›qÕ…UtÎ·n´^'Ó´cåÙmþ8Öq>È:ÎŸÍ8ŸÍ8ŸÍ8ŸÍ8ŸÍ8ŸÍ8?«ø¯lÀÏfœÏfœÏfœ½çÏ‰¸žmÆyÆsxÀÍ‡?ÍÇ¼ü±®Ÿò4OëV½â†'3=eóS6A™*¢Î<’ÏÌQ—À.×E^V¶©Ö™¿Ì
¥(Âd¦2CÕ�â
“¹ª)lV³-àì¬²]­=”ñ¼²a]¸e›•+Mb>ûô„Âª•-[¦s�‰÷àË¥Ð¿PÓTj˜M
-ã<÷}6×ÍB“}g�Ý1îÜâ¾Ï�çÍì’•)8ËmQà³sÖë¦Ô.Ïl<rp.xL2›Å‚×‘à—…ôÖ[ä·Å{kd·ŠqY�Ë¢\æ”‚
)ä¹†;l"�”Z¨‹;BÝâBÝÆ„ºB¦Í‘nI$ÇÄ¹‹DxT�+‚î³0üÔÀ{ˆ³Õ2	Ä�oð1ßûénEy›#é"BµCÏ ½Í‘”G’F<�ú>ß;úÏhŽÃÉ2<Ï™^yª1rNäûg#í�4
Š,‰íIŒÃ+ç>>jŒ|ÆK§QZj”h”<××¼®žÍžGµ•êƒü¹<öcüšýXÌôåÛ‡žhO“¤Dpè>Ó�GnWãdv>@p÷Ioù¬ëç�`ºÏã=°§hŽÈýÇÄõ¼÷"²5*ûpìõE­ªtPYÕ•ÊÕD5•:jO!å�"‡uRËžNJèè¾ZjG)uPµ¯‰RÙN"„:‚&?`ÖåièNÏ¥µn‹(]§½¥ñ€ÒÁãôú"˜ÔBIÏ<\Ïö,d/í1l¯aÜ^¹WÆî•Ñ{u„Ý|tÂ×xß¡(¾£q|ÇóÒ5;‘|”
ÁCùêøú8ö=ÚOFlú˜#U¦YS,3žÒ™È}lç…Q(�|h7¸a:`mxBß�BåýÁÜ%}Wù•Èât<�S™É)çrš=çíqjžtíÓ=j=
ÂÃ^Ï“
qÍè×3FÀ.‰TìäRiŽ'R9šDe}$ƒ
-úæ‰	Tºœ@…O™A¥Ê¡ÒiTv©X*•É…›¡J¨R$UÉR“æE¨üåNŠ•Œ]Ãlv®8ÆiªÜ+e{júTS°]:·G÷éæ!
-{˜;ÁÞUÝ¥ù)Üþñ‡,ÅÓŸ'p0Í“ØœúY?öìrQÏxH^ŒDH©Ñ«Ããû!ãuÐx6^ŽçÐqÏáã@n!äK‘ÅÀsdrÔÐÂWç/˜UÊÙ:Ï^pQP§5ïš¥.HDª¡»hH”ªÌ^Pæ/°s‘Á`¤pìYHÇ„’5žÇà¢Êe°®òÌENƒ‘ÂyôÌ�Œ„G7n\—ÁÅ)¢¸È7RçÙIÒìe
-ÙI	r õGfÖä÷hŽ&ôxL…úHÞŽæhñ13×ãv²g~>Ýg[¹‡Ê$_åi!²bÏÑ¸që|Nýgªžl Ïjžìvw4<I¿Óì(xºÂZ]½£f3ØWú�ÂhO
OS©xJ%O©æ)=‡Ì÷CÖ÷4•
ÿˆ¿Tÿ¨ÿ€?ñ›#Vül¿wÛ}a¶ï’YOí‰>D1óÐ�K˜þe¤Re¢bEÿá56a_”6Òä4­9(ö–lÊ°»‚kóIõÙâisLB= 8~ìq®¦y¦›ÐÅûžæý]Ž¾Zgÿªmu»yŠwÍu»;šì4Ø±lRñ3HvX^Iã€ò”Îª¹jÇ‰áéÓÜ1écÎ³NáÌè�UVOé�R‡…n‚^K°Ê'„ú~/Bþý]?Jd
-Ã!‘IZ‹”àrhïÉsó¬œíPŽV‡‡¯êü—ÓxÒ
-ßQ(I�vÑ™'q'�f8‚¿”éñQÛw0©@¬T‡íÓœÑ»¢ˆjŽ„Õ|°­û	qBÏ³u7‡|�ßïÔµïÒ5Uª¶‡.ì_S(ÔJEZ©@+�¸Ž§UI²¦P�íçT)õa¥&¬öÄÜúÄÓÊ>Vî:õ|ç¨GÝ¢Rnîp‰zÔû©Ù·ÔQ‹>Ñ«©9ä§ôãdôÞŸÊ=á¸Ùèýu!ždù©©àÓú~<¨‘“ÖO„!ÆR6OÁ�»ÖÑ�.ÄXH'ËŽ™:©MJÉr
-WÕ¤…íå*OÈ"«Êw€nßF±Ewo^eŠhv,»©`5}åîÚCò£2éÇA¶0kEì4>Q¨uš�öÓº\÷áº/ò£"]x;‹ly‘cÑƒÌ_ÄuxŒÝ¡RšƒŒŠ¥qò»ûõ9ÞçDûÌçÙj¢·çéãÞ›»±yzòFÍÝX—‚Ø¤"Mg^bL¥š¬XSçÅÎSŽËµ×}˜R¦Ë¡qcA—^^z¹‡µ§½œÝ4ÿ2h[]ÄG�ìð2	þbè‡°‡ó£É–ŸóRJ¬o/s7NLÃßõm�/7õòs^JIö§‰¹š…ñ4Œ%î«v3›=ç%Kå™pmê�š
-�yûf4{Jï�Â=%¶ásÌç˜Ï0Ÿ`>À|€ù9dÓ¿Ö?À|€ùÌò9æ“!®Ï0Ÿ`>À|€ùó9æÓÀãÉ»ñYv
{çsŒ*�Zi†®*wß�y.žôì¥Jk*I_Þ?fPJûYÎO¢}³#Ï×¢úÚÑß&¥^òj°Ž;w#6l
-„8z½×Œ-êÅ.c‰+ç±¦ðÛ¼Wß5¥‹oW?]~¿þDŠ!Î®Ý*Q¡¡�ý¬`A³‹	ˆCl{ú³W®ÙÓí«ìê‘Š°•}mRóžÐ•]ˆÚ7×•zhnjƒ}A<Kè©aÇëåƒpš�s~r2Üîthn‡kœ‹¦ ªýÈ9« ç¢$§NK�’ž5»°£GÿqÿöJó5;ºÅ°§e¬u�u|Ó�§æ	ZÇó}/Žã~ÍžGF+ Ö;ÜÔEÅQu%(45$ìÂ><ÊYÅuc0°q‡gxu”˜£ÙA—?³âëÃ¥Ú'Ú&?LGzTú4ÿ—É]�Å‘ú­Ë¶,ÓÚìFV±ƒí‘»wøš
¹æfq¿jk¡@Ó²€Å‰AÖùCˆ«yÆpÌ·äyïi�"Y
÷-`ÿaÛœ±š‚0sð¯,ª=ù•�ã�ºùIë£üÑ³ø¡}F¨y”Úå‚jãÆA¨Ù¡aïå*yðîj>žŠÕ¬Ù¡bó*vù8KÒà¹õç€JQhÇ;ñ 0tDj)‡ŸÏ#*Š»Ã5;ÜÐaNè1«Úd5ïå�Æj÷¨)HÞ1è(ì�f�s®‰ß1Öù0ýði*µÂ¹Ï%¬áÇÄh‡ €šdž“á—0ô|>i�+Úgˆš'pCû�s,Ò[¤9Ìã‚
-ÀÈ`1Ê¤³fO£ôôˆ2TóÙ�¿9ŠBJ h
-rBÍí@R&õvüÃ‘ãÿ †è‰ÊûGìÁOdoö½�33ÇÍªïÒa]>8ÏAsŒE)`þ0¼aú›'rýOF…Í!eBÍ/�²è…ÎEóã¬?ÌÝúÇ|qŸùÞÓø%xBÆçñKþÊGñKsôÎà–†ÂCé“þ{:�Oj>û<àç?øó˜Í7æÇhf›l²Ù5×‰™ÊvšfÇ=b×P“M5»>‹;.‹É¾Õìép0¢;^‹�†þ6ûk†®ì½˜ýw=ËðßÒ�±òd4_Fóf4FóhœÝ"|¶ã×˜=Áñpo¼˜ÊÏ�ù7îzÚÉÆ7J\×Ïpô÷Ÿ¦øezòóÈ¿æ±?îü;�çjÿižÖíéÏÞëâ,�W‹äFä²,=/¿eÁ…Çu�j•Å‡€aY¬^Ô™×‹ê\zPÕC–JÓkÒ54{æ–lu=î„VjÜôªÆ×&9VXÙ•²èŠU�:/ê­ìÖZÙ­³rÖ¤2+;%V’;C®®’+«”UUÊŠ*©šJSTR©k¨˜ÃËnÕ”C…RŠÂ(Í~5”½â'ï«\r°ÊÆÙÁgýÈ³9ü4{Mù¯)êi}’§ùÄX=–�R^1eÿÉÈ•�0ºan}?O";…ÇJ©<ã�º¢ÊÐ�´rÉ”U±¿xm•q�?ŒÝ	ÄæUˆ"6±.³r°Gýþ$£
-W´êÛ“Ð/Ó�÷w{ü™j»Ìá Üª`ÑÝ$NEØØNÐXŽÓ“‡–îìƒÒè•þ`çYäS�'ÓÒ!F�uR·–ÔáxÂƒGº<g�ÿéæÿ¿Û·W«»­ìçêÍ»×Û‡7ï®~ÜÊFý“Ì,„±÷ÿu¶Ùweÿë,U VÜ/HˆôE„æ{»jÜgÝMöµë#4t'óØ†Õ´ìuÇ>þÆÁñ—áP4é#�;
-iøîËû»¯nîÞÞÜýðâEqBåš/_ã/AÿòõÕÛ·Û‡;9ºËûÛÛ«ÅIÙO«.Ž“à†nì2­†%œtËVašO„!èOuÆÿÿç?ÉÞñÇ.¹XýóOüõäÇ•Æ?É7¬~½ú—ÿÕ®^ê+¿Á•¶IlÌÕ+iÝ›iõ�e«-èË6VïßÉÿNÏÞžß\¿½¹¿»zøiõ+b•Óõýýíêg_¤ýøîâåÍÛû‡ïÖW×”=ûîÛ›Ûíw¿Ù^¿ýåêoå…ÿ[þç_û•æM±;Ø¯þˆ•öpÇ’‹ÙÍÓ‰°|úQAŽS³pdr9�¾ `(Åª›¢ü¥ïØ"’á¼êP_µ«
ß›ô=é5k¸"Í¦NGB£È2R+ïÍ3ÜÄÒ{óÉ„Ì3Ý<œÄy^xPY–fí´ú'ö'Èš"ýdRÁH«½åÿNº}�®]§èeì3óÃº˜¿—Öþ¤:$¤d:™Dè]Éô'‚ä¤¥�‚ÝåJ_|"ã§%öÝÉ‹m/7F^Pï1ÖÔsèI¥eÔå	¯Œ˜Ï!½9œÈ£ŸuD¶™jÙ™c‰/û„åÈ`2çxÒO6'Ž¡•½-ú	ê|•±Oð”cè#»Û1½ØÛÇËªÇV––“¡ÞøÌ G3#Û5>\ú,s¿ºÆ›B"uƒº(´r‘íeE¡—Å¶ƒ �QæeG±eÝå{eÕœSà`Â‹­l|â<²-­œtßNºu€‘,¤EgÃ¤SÊmh£Pß�ðÛC6 E–Öw<9æ½ÓÜç,‚Q@ÇtÌ­Œ4ÍòõÀKQá¯“UÉ®D¶(äŒ"óëbÚ kžrC„b®â"û4ã*6û8K‹‚ÀŒ´ÈÖ,i1CÛË¥îêòqÝˆ~rFˆüíÆE>cž¤e‘ãœ�æ•sÁ›qé@÷vã k“ÃëdíÂ±¤¿¬B~"3±…WKß”?rt2ºœ�Àb”‹Ñ#{Æ(Å*ZÝ ä§LF¹Žgk;™@îY/L‚´tš( bÕ˜[8%ùAoxœÂÉŒgìlÄ¶àÅvAKX´Xƒ€7²·è”Ø9Ë—eÑo3€sê1Ö¨k
Xž¯uD²'YGpölq��â¤?ìA^\ÿž(óp§‚˜¢2JûuàEì�:EÁÎ‰0¼‚¿È��9®LŒ|4Ö?ÈØ/ú ç/Hä…|p¡Tn„ƒô}1«ôò——]®ž°)Âê éãêŸ£/Â(R³ìÏ$óH}Mûôr3‡“YDtÜ¬`#wv
X•×dz¹~/ä|æ	À}`z ­1}°8_?cz@ö8áÆ^ÈÖÒ¦Ù¿'MY¯SªÓò÷Õé—÷o…(Ý?¼”cø[çå�îïéo¶W·¿¾zûpóïÒyõ‹ÍÙÆC|ûýýÃ+ýS"qB
_Þÿ~ûÝÙËw²�oÞþ$$0O_BP¾~i°ÑlØÿÒ>Œ«_ürõÏÿC~ú/ïø‘çüzŒ½Ü’ è´¤¶½2²×‚@·‚"aƒWã$(`.@Nz)IfîjJt�=
-}í�?å¶‡VÖ4s%Ëkýãj”;;Ìry…ç^É‚÷’+;ŽË"¯uÈÉ ÍBÈ9=©!\¨çD†ðZ2Ö(Ôcp!‚´zpÞ¼�BbäŠ
-eš.ˆlI‹”îB=VÀXÂ¬°ê¥\3õ²¿òÖ4	`÷œ]úE"`Y,�R N�©ÈOórF`¶N¶JöApßœæYiÏ8%,B– x_pÁ	ò_¬eˆÀ#KÚ�˜Œ¨ÄnŒ÷6bovžF.6m^;ŽBe¹?B|O /×Ùdm|¸TBi«¬BÐ*ÎGådŸf¤ô– ±Ðòd§ì�JåÒ	²q”qzHÃ†EI_“+9€ƒZ&{M®j&ìu¤	´2	ªÅôaIÀ(”3‚ŽybáBÔOdná&|©@!§è„¨÷x™/�$ŠlŽ‘ÒÁŒJ¹e;¿œ� /Cðn£ð,ÚÝ{Íú©€“ß¦V)¼¾f�Ê¹Éé&¯ûï2WÀwA4™ƒo>~JÌË(` §/@Æ4ƒ!7Œ µ³RuoÆ›…rcÉmŒ`GÎ…Àä¡Ÿ;ÀbbŸ61èÎÂé-€Øž\lq9#h¾�²Q~b—:œàg�8!Gè$à
vaŸ…ƒž�€JbûnÄ°€ì
-;�-“ˆ”"òÖÜ
-iù]Â" ÷±U¶œóË_…äÊV„ .…0.­œ‡–sÒ¡QNwáEì:Aéòz‹Û";Þãú
-ƒ:õãè8•oÁp�¡�;¨¬¤4ŒO;a4LSº¸J²Lër0d—AÅ@‡€Ð&aþ…g‘Ûc¨B¸`Ùð8 O«{'°>CRÂw!`+� °z}G¶²\Ù½äÂ6Èp<ÂŠá®OœÅ ü1ŽrªBe—×¹­²gñ›`…»¤8[.ŒE¤ìyÇP&ö§Å\˜<:Êb0.÷ix€‡"±� ÜoÀoÀÁ�m«–�·~XÀ»Q¶()€Ë+h}3.d¢žî‚²é²Ša±ýÀŽÊ²[ÝÃŽ©!{`WdüÄÊw¤«$¸ØÂöaXF¼!ë�ØM¬µ€:Òal’`+ä„_¹`–`Ã õ@ØáÊ¬Qgã-Àá]:/—Û4I§ôÅÿ.D�·;½o¿–sx£­d[=
-OK !×ß“~ñ¯0ÄÐç]�äÚS–°�i.�gÚÜ¬2ÒÞcÒ�òxøV+@h‡ˆÏì!õÚ1jÑWÀ Ëî€»d„
Iß•`j�#1Yx®¶,ÁÁ“Rè"xÄbïD	æ�8‰ßí*@$PuÚeJPM»TWŠKÀÖÚÅƒ”?—ÛÕÄÀ-ÐIy�!/¨ì–{£‚CBGÈ0ª„`Í„Ÿ]«DÆ0F�úa¬ðÒ À>…{AÐ
-%wü¡SðìT!AôŽ½7L9€Cþ6TŠï"R"Ü “ZŒ±0Ä
a™Œ¼awÝÅI‰Z"ƒðË^(Ñ‰9vTiÀ¨	NzV‰ÞèìÓX%œã,Ðg”k�?Ž”¬i·#QK&€Ã�]–gdrüe„ÔJrë�F”¡CX@ÜŒlã‚�+i;–€Ï€ýüZðÖfŒ SîGï¬¾Sä¦¾bX0Ñ4E/¹ã-4=Æøà¶q[*þH¨¸ð…cf£ -á	—5àT°­%/†E‘u7Ž
Û1Ë2�§£Ž…8¦dý°öÂ¬1ˆPâàk�ƒ”ÃM„¯à3…� œs£èÕv²×‰]X‘vTLí�Xc}¡€A¢3ÞxèËrqKzè[ÚØl¨Oø©ÆˆCC�ôÇ»å»E,ÎÓCCìb\?0Á0	º(EùT7%ùwšŠ0ÇMS%†@Á·´”_“ö ïT—iâ0È¸„X	=Ðr—L4ÂkÝ"wÀ„'èâÈ~”"–÷2ADÐËâ¢>
È¬”çðe@J&ôQAˆýt¹�:@ÆåG�M62@>‘Yfh^9?¨Å—™µåüZ,HÈblu'#(=t1�¥dhªl¦YÙäçÐ�W„1Bµ$ )b¯)qE];ªÒNq¶¼	X^ˆ ÛÒ
	‘¹†FgH�¸NËŒÐ2~wÖ/Fý‘ÃË=žcä¤$_‘¬)(±%ØŠNÕ¢�I-eÝz¤­Úè#õ Äï6£ lj¯«•…Nµ€ùDFZyáw$;é3¡«ZDžXå­À›Èc—·sÊi¥-³­
P-öÐ(¦Ýï"�/w#Z àÚ`i¦
3múytÎ"®p!«…õÎáBáôœ_Ÿ 
-²%öÑÁ°$3AÚ9X»˜lC‚g¨Ú¢Ð®öÐãµP[Vpýjüa÷§	¸ävÍ H%Ûd/ºeAV:¬üÂBõÚ8å{Ý	%l£t^þnÀøQu€DP}Ní’‘HÎKhdÒð&\Ó	çA;:êp0¸´Žµ:$o‡´;†ÜÐ:C½ïø¯Ú1,	…lïnÃ¥ø"èÈ
ÙB£9cžŒ“…‹‘ÙÓ„†¹¤ŽÜ¡“¥ ç4 "@ËŒ�Åõ¡Ë¼„•Ó*Q…
-4’§)±�2Ìù¢/ìý8“Æ&‡5P(Û$ÃI!Ã¾À©e}	Ð³UŠJKZªÑ^ÀYM'ÏHýQÚ¨¸·\'ºJbŸû%v
-÷€l˜¹Öª¶«˜(á¤wg<r‹ñ'{Þ{Û²1rJƒÎétàð"`Õ[F¨7B¬9"À�ÔY+ZÆ&pfÆ�\)! »=WA+‡µ´Ç‡»FA~“D2†0¡�-H˜ñŽ0\ï;‹	kœ°å“oÙ´n¡ù!³«˜r�š8Ñ¸ZÜJXÆ÷v‚	ÎÎ£®]	é&.úìVi$¹li““™fÖ¤ÖmpÆ³¼«ŠÅ¸z4ÐúåÌ?ZÚÉøX“D’•B¿éb$t˜m\Øèû–¦µ�£}H$]Tã2‹¬pÓ'ªdƒ¾�qF.É°Ä&"ÁŒF1Ô%),ulM”2�«o!æAŽ5™LH†ê\t£I.ÌÆÁ%	ýº7Õ„@Ý/p&+r¬ÁŒ~&QÂ ¨º	��,’Ì·‰¦Äú@–&¨S‚…
�ö,ri?ƒÉeaàHA€�³àI„N”;Õ ô3çL’7,”T*)žô†@ƒËðø(Ü8—ô»i*vÖôW•Â\�Ðâºãny@²5Dã­¶×Pô²éÔ¹
-£Bïc>MÓáý²~ÄÆÊ-åœ¹Õ×fª—¼~ÓÐì|'Õ8¶®æñý2UPµ­¦.²ÍOÊ$?×8UÇèŠ©|Ü¦»r�p×è$M˜A˜«Ê]£V«+Þ¨]7ç€ŸxÕõp-Ÿ_#WúUs}au%]­èW7kÓíÎúÉ	d5¦!‹¬è4|âêÐíd¥©a'×«:sõk…é\KëÑô¸†3]Ù[¡VW	;
-v­qBÒ®Z®P¹k å›ŽÚˆ‚+²�vlJu·‘WŠ;%ú‘Ã'Ý¹S,Ó®;Qs|Eü\SïDÒ•ùNH]ç_\7
8avë�ïÜRùÜjÌ€Y+œ_p›FÅW¸åÃù·�j)X™¢5q<nŒq¦Èm6óä¦�ÜÏ¬?Îˆe+QÉ°©%É˜:749ßçö¨Š?t³•ó‘nÙr^Ó
`GêV2g\Ý�æÌ­ÛÛ*ØÍrÎ+»áÎùélà+ùn·:î–BãàÝžX1únv4yÀ
“.2˜ù²’,ÜÈéˆ™A]Hqci%Ì¸IÕd7ººXä¶ÙBxr®‹Xnãu1ÌMÁ•¸æcëÜ¨l’Ÿ›ž+1w3AÒ�Ø.lº­»JÝ$î²k6››x›Íë¥<‚´`�]\æ*HuL¤ªÕ­(Eï,Å4ÌYDŠq"·mÉbüñ’bc)îKçDèfµq¾
-ãIu0
-iäÅpƒ~§`6�©"Æ9Ñ/WY'.“’WmLä–Áù%íÇ$3‘)u$¹—©RòH¦nÉ3šZæºZ™©oò˜š‡æIûRÕå­0eQÞ²R©”·Ö”O¾ý¦ŸòS*µX~˜¦ëÊçmê°}·L¨®+…sÆw9Èi»è›!Ÿ¨ôN°óœ=Âý›«Ø‘öÈ]œyß­…ë’K/ûÜýàÜ'CQ¼¡3ìCu>¹“Ð×lž†à÷ó|Ö¢Çcëò~¾v`Txñí}bÞ‡šd›) -z_Õ­Q¯ÌåB›¶äßÁT±ùå½^£*Ñ‹q¼%Íwmœ+[!×Ñ[TFZÈ¢ÉVÒÝ4�-Ÿ6ö¦ï4)5å~¶ö<Öî7^×{€ü�@J
³È ¾‰"Û
-|�·�†œ:PCS\”èÞ
-'Â}¸.œþ¦©¯¤è–%e°”§,a./Íûùò
~ËÜ=~ÛøYáWec€~{.?ŒŠÇ¼6Eô¨?÷JûžÇ±ƒH³]W° ‡cn>Òäqì°&\~0kGëeŸâãì|›�:XÄžŠÙòÖ÷sâ	S#96X;0"p™„øÈÈœÄ2¼½-L@�öS>VÕIIðêZu{­)†¼™T¸æJ€k‚d�,£€fÈPÊÅàú6IFÔ•ÀßÌZfò`l �)W7(ÁƒÑH_ì’ÂV\_…bXØáéM«Èbj&XÂ;ÓÖ	„ªê|80+N` GÁ|P#Xóeñ+JHî'�ÔÞ‡J.áõŒó˜$_x²Ë¾zèuUÅW¢u êÒ6cŒÚr‚´_ŠF²j_ñ"­w¾ÿÃl~ìvFPfª‹ny–8H ~æärü¾ˆ|¨p¤WŒ�Ü§U˜ q 5¹ÍD]Uu»½| –¼¡øh ÆaIª4_Ð#M—¾tf(âýKj�·ˆ(&ë©nü¶;º>Ù¶B'c­¾™"\Dlg=6= :` -;ÈeP5„¾—Î, -ƒ„À±Úrä.ñ³ô=…¯.ÑDD	¡Ý¯¢D®0EG(œ$wJŸ‡±‹QMæÈÖä—Ì–mW±ü¶|amò¥¶mÊ—¿ÜÍŒ$l×3"±“É§â·1ÙIgäeÐ�WQBMF†\ûør«JémkùŒ×h»e# -§<~Š6xñ(Y_²_^w%T¡øø|}ž—åÿòÛæ¯×o¹ÚÉCNÌû;ù¸»òÀ„¼X	8N�rÿ”è<2‚„Cñ,5ƒ§Irl§Híbká<SOoò¬…­”�,Ò¢ ¦³íå¨ºÅqxèàCŠ÷ž
-í¶ $×"Š�•�Ö$¡ˆ	\–!ÝzX€Îf‹a”±§™®SXÂÀ �ø>âMc'‹±A¸
-`{vz€ÙQCÙø>Æô&Ì{ˆÙauy0Ü
Ðñ›=­¢E¾u›Ng+™ƒÙ(¸@yŒÐXÓz�JZTDã{PÌ (ŠÝè½#‹ÖøgÑ²w”›æ	¡=¥¹vµ0Öua’ÊíçE‚=}ÿ²Œ[Ûv«0~¶BØ_ƒjª_¤¿õ¸“Ð™"pe‚Ñi†¶ƒqèÒ#ç¸¼ÕÃ‘ŸóÈô&ôÓ!ôŠ‘yì[Ë{ç×è¬E‘Âsççr*È¼ñ	"!Þ·É¡‡`ã)X¥(NþÇF}aÉÿ•ìv;éU„\DïQPÁEEÙv"û>i ¤°v1>‹úùE™¨¥…
qI.`` „îE²´ôÜ/†1õÅIû“ƒÃäå…ûhÎ©Ô¯b	C4—OôRU’If0S´­ú“Œ'4¾7h“±½ôÊ,ºµö�>T§ÌâÎ”mbsÓÂ Wu€-]0Ú0s©ÅB�0&†S7Þi´§ûf	>îtûÊM…‹µ�¾ù
-£}U�¸Wãê
-1²è4«>&Ô
jSÍvÉ”cè^F&A‰¾xp¸•ù…Y‰£y�ú^€¡oœï–ô#ÕÊ»Ú%Õ£ï*w6™…º;¡:ŒPºàåÚyÈ¶<=ðÜÏ€"�eÀSÏi –×f`˜×oÐZ}§Cµï‡C¾ï™ß�roóM²3(îZ:§ÝiJ�#¼Ñ�èã/Þ|÷›íëíÕÛíK œ
-Á,ŽÕ÷ÐS+\j‚ ’tz &*FxŒ&¢\•£-c4Ñª–B‹Ñ­ãŸ=FSþ—l1eŒ&(µêÏ,F‘ºòvŸc49V¤n¼ˆÑìã¤ê	�Ñìã U¢Ù#Þ¼q¡‰uÔêY„f?jÀ²ÍzyîL¡ÙÃAï‹Ðì±ž™Nð)B³Ÿ ›ªMá½“N×4ñžˆÛ]ÇìSâ—šXKs«hâÍdIš=|&¹Ö2B³X{„&Ãt)
Y„æþù?‰/9†÷Dî„!šcŠÐ0x¡!ŽC
-q· Ò"•»�B4C›X“yÇˆX_·’õÀr)…#�ÛÛáxåh�"s 1š]ŠÑŒGæ‡žDX5�Ñ¶[?kþ©‡Á~¢)H³ÿs°&¥¹—VyÅ7E2˜ôÕEÔ²!ôp PMdÊ†@«<±CN†ûºfH°l0Áëx6ø:ÐUfC až^ž–
’©¯²!@äêy=-ÂÞú-nÿPeC€EÁ³!ô üÐÈx6(Ô™ˆ¡Ê†ÐÓ)9BO­,ð§eC€â�Ë«²!0¯DÏ†@Èèžå^É»¦È†ÀsÀ6ýfuÿ²lØÉJöÁhéÛS2˜%H$,\È÷W¹€²u{,BCXŠ\�‹ªÂ*s!À8JDk¹@"¼6<`!OW¹0?Ì¸ž
-òŸ€ø”S!ì¥‘mÌ¦GUJñ04òÈB<È-ü \ˆÇG$?•,ÄƒäÒóÀ¥x�çÛkR<mùš£�â»_€&“âIJ�2\Šõ‹ð:(¥xÞU
-$)/RûäR<ŒÅä$+)¾3JåR¼zf6LŠï íãXKñ´wóM“âyxPpº�7U—PJñêt•V)ì�MŠ
z›
-)·z¦„nR<¬þt¯t)~ÿ(?XŠb*ƒ})^Eà®�§Àâ] TµÏ>H­¹z¹±êHrtL�3´šÍ`OŒÏ*)þ™Ð>�ÿ—¡ü9„ø½LÝìÉ"“‘xŠˆ•žvXçSPI¿2ò×Ó¢c@X†±<~“î‹e”�÷²XP)õvKÑ:¸q-z”1=x-E`«%	è–Íbƒˆé!B•DÀœ *f„/#aKqH¤GêÑ”ƒ•H’ð‹…4K0®Ð‚ž D(EËÐ(b!È�@ÕË%¡8b!VØiáæ»*BÛ"v^£µD¼S/Lç‚{7¨
-ú"mˆêVo#ÃKm±c0ë«S0õTsL
-C"ÄÛ¦¦Trˆu4›#Qzº$ïcaqˆ}<‡Á©#°; v’Â#Õõ¯bõ 6ÑKÌBú à-#ÝE5è#Ó­³
Ä¢ô,­,R3Ù“$n
ebnT¾NutR¶ßárWÆ;rG¬	¯1”…MÚïel¥µY&9B6¤MLM¬Zrâ[¹µî	·Ë¨)ÅƒÒñ,Ì¡
-¥§ê‹ÌÁ:¦�|Š#ãé”©(\Ãã,Å±‚ RqR¦2ÀŽÑ-ÔBb¹‚ÈôA47
ÍüQ„ÖÂëƒœ�à�DháS„n5npÆK,ƒè$öÅ•¦ŽßÂ�ÁQ]R
‰ÀŽ…ƒ>Ã&h±Çà$ÔÁ>(c‰¡`3FfåM‹rÆw1ÙY
-��íŠTt–…QÏ"ª˜@”eØ5‘ñœ�¡I{,|»·¬ee�·"¹1x(8=¢áneÁâdQ k–!åTX°RÜ9Ø<úæZ`:Õ4¸áëP1ÐvbAîlH(²`aðph%kWËŠ¹p�¨ç[d¶RÈ=îw
-²°|r¬P³Yè¾³§Üß
–¢HÐQµ3–'@½wå ,‘€7”é¼Qç§&E];©h^?YL›&‰Jiüï�ìi'Õ÷í×jkô•1îfò¥âò0º¹úžpþÕWØÐ|_àI¡'ß;xmJm¡ŠFƒ+A@ªSu­Ÿ%þ*—Ïd®AB=Ýn­È¯J€…˜æ* Ž0žˆgætÃZ¡4%œÏA·Ú.´¹V°ëBUë¢)Mò¥ÂìØS»yÈÿÆx“t5I�ú±NE²$+¨å+éQ­×Ó™�–úað¬(YPÑL-‘Y�YE7ÃÓ¯êàùY€¸e’*‡‹H©à\nœ’§¼áNRù:WÌB§ÇÁ�ñŽ¥á˜ÆÐÇ"q8A
-ø†ðáè-x™¸`™5¢ÈH‡¹emáÌSMäÀ:†Z'"%R1½9�Šõ½:ŸW´>mNíÓ�_aþ#™ÖPÑUktâJ*æÔYÎŠŒWEÃáá—s`'ˆ•ö~/™kt–f�
-¦.ö#BJÖ¤ªsñ^ÐŽÏšøIYœä7_3B}T5�óKpÄé8GÕº­ß…»‘Õ¹3ì¤Zçß`"©Ø¼nÐý3nü
->Ö¸E°šÐG”,¥ìhsþ¬%"$®,«Êþ%ïjüƒq¸p(hiœ%<§­’K¾”ãz¶‚Q?Ñ“D½%C>´êEé©
-&µÐy~2á£B_óþcT7fËs6ªNÉäT�¤@Ð?Ìä�)Ò0ã	×¢Æy•ÂÌ4é¦˜Äƒ>HU&		ïv’X—œ$Õ”²ðÅo˜c�jNV‚ÊÚ&ÅÉGðø\ÎŠP¥féb
U]ÂÌsÇ�Ó Ûd;íd%Ð=)Aw¢~PÉ+<$³G�‘4Ê%s¢Þ!¹ Ã…zÙ2Á8šuÏ’@½ßÙ*AgŽYÉ7žŒ%�Ž¹Ï·•áÌÿlì}O@`³”ù|-æóï+.³¤oÊ¹ì£-ÆÀ·¦Ê<�ö/çH'æiÒ!T¡é <@ÂOÒb(ò�—±’‘'Gm$èªƒ;zˆÁ¨‡‰$8®‚I¼S
-9±»�ƒRÒ…©bWÒ¥ò»t“.f(£W7GÓ¤«íñ6éú×)ŽðàC"9Á@Â4u~�„Ž<VÈð•EN«bŽïYd’áE�]Êè³Œq2ë¡P	{°”áé*¦Ê�¹‡^9º÷ð¬LŠ(.'ëåôÅãÁœUqcN­<¾Ì	š… 9Ù+£Ôœ8z4›ÓO�xs2[EÆ95.ú%‚íQvEK�W´¦¨=cŠ†ÄDT€Îkx  ³#K˜[Ê˜ÃÜj±‰Æþxø¢3IU˜£óRéÜ–‡L&–¬
-¬4¶Íã/�¯óMçþªœÎ#ZÀ§s’UNg8-|41¤^šxÖ*ÕøZ�TU®7‡²&Ö¸ŽxMüsŽ‹M^ 8›xð:¼VÙôœFÀØx�ÓM¬~Í›„ù5aÁ¢‚]¢(ƒ‡]ìH!Æ.—x²‹/U´²K9Õlr�>›°TÅG'�Êc¨Màò0kËªplÞ<lÛÄ;ìv°Šÿ6IÑÃÄ]–ôPr9«�sL=4=Ë®¼înâîr°GÂ»¨lÁò.PWõ.v{ä}×-:?·”Qü¹ÕâŠ€Â¬–4UæW(ä~®†ð±¼¥šÓ[}m¦áÈë7EÈÎwšo‘m‡iTòŽ™Ú¥ÞY×Îø	˜þ&Ÿ’©yêÓ4mP>uSeÈ0½R
@¦~r83ýT†DScÕkÚ.‡lWˆ9ð»Þ¬º"®^ó›ä8¿l¦§«ï¤ióòÝ5}_ºÝY)Xâ€¬;4T‘µ‹†M\Y¢WT^rU¦£.×xVÎ£Ž]wjˆÒ5¬:u=¬c]WÕ&´ìúÜ
-w»Ú×1¼k†�¸þ¸Ê àZf'(¦‹®2¸Ê:Ó'Ój;	såwEé\EîôÐµè™fš²½¦­¦“Ï48ií3•¶†Š˜[£Ó|³d¾À	5ÿ`æ†Ìg˜AâPKÉ²äVcmÌ’Ù3”Ôl’ÙSr?3¹d–ËM3kfgàÌÆ“y<3Õ¼ YŒ2ÏhF¥ÌWºñ©d?“…Ê™T·aeF6Yº*v×íaÎ»ÅÌùælY+Ùk7À9î&:cÔÝ�W±ónï3¦ß-‚.¸á°’Ü¾èB†› ]qKe%®¸=Ó„3xºÔãfÑB4rÛ©‹On^u	Ë­°•æÆZ×Üžk�[}+±/w3áÐÌÇ.>º‘¹’2ÝíÂh¶W›¼šíÚ¥XÊ:ÁiÄÅ_.‚tÇ$d"[îD)G÷Œjú,n÷TßÍ˜DÞCy£!Æ…Ü‡Ði
-EfAb}•®“ÈU+æ”)ppT˜6�n3K‘ó(ëÐR¦šèÉ!çì‰=H4³Á
-ïdú�<Ž©H|º2{€/ÊÔ-yíeòÿFÕÜäM0ÅNÞ¬Rÿ“7ÕÔD¾ñ¦Gòó)•M~Œ¦‘Ê'm*«}OL¸›<Ð\åZPÏºÖ<àSð5ü·R8v
-ÐÆ÷¼ée 7˜ÀÀ¬mÞ/v)á‘…÷DZ;ÑÜE·bž‡²0ô<e®ž—æý|ùú¾÷•y+è’²òTércŠúÏœ®æðß«ìû½Rš¿bo)"ùs«EüMrg– �]fšæô•©_Zzjç¯«ï‡ºŸ­€ä=ÓÐbËÁ0§Ôtž¦¡g)Ä�äØè©Hñgíûà©F�¯‚0¼“Å”Ø0žƒÂ&«SU¤%Y£/Úàv÷ËvÏÝö¼Hà�ðï»n)¼¡Lp —îy&�AÈïm)Ú¿8J%ãÆŠ¬`X/ûgçÃì¼ÁŽEÚ†W‰U.05vœºÍ
–n$?PF}ƒ9ëÈXp8ˆiR#§rðP]¿“e2OÒÁšÉÁ D&Ï²Ìul{^ˆÅÀãMÍÌcaòÊÈ�s/Ãé1ÞXæÑeð�Gæ#2AUHe?ZU?c�þ$Ãv:š¶Â�©Ì€VÍû™ûuI¨ÈcuZL­žF_Ê1¾6d{#�ìë‡ŠP×U~f°
-ßÔ¢ÓlËàîÊ,‡ÕÖâ…¡8”^"sê‡Ôƒ>Zê?LY8#~ò™ËDÊR;\ø*øai¹¹„3†ˆ9@¤J¢"{¿—d�ÝyÂ2</ÌÅóâ-˜<dI§ófXpºm—…¯çM-ÃÜó:,>�…ÌûA–‘õ~Þ~ŸAÂ"ô3è”‘übðïPh)X‹¼ÒÞÉ Þ‡ñËQÍæ—ÈW•î™¯Ûncõu~i}übûF9¨6Ô…o¼#?Ã9Õ	:jò“vôåÐà‹¨ ÆÑ¡C×ÆÜA«€Ò?sÖ€Ix ég’ÏY> ¾@3MS¨IãØ¦|1A
-‘R[Œ©FþK±¨CÊ˜%Å¬vdqºÖÊHêñŠèWÆÆÑ9Â‚d©+Èá½P/&4UÄÚ¢Sóÿ!¥�Iq»™Dá½à7ØQtö…>TTç��)C¢G¶°.¥kö•CØcŽÌòÁæ3‡³ïCâPlUDé<ïl)ÔË}ríÒ­‡V†6�t8-a¤SÁì�RØhÈBKó„ej^˜…ªæÅ[8kþÆ2ì5ï……ÇæÝê<ÖÐvµµÍ»o!¹ù„,l7dÞ›<÷3 ÈcðÔs&ó¥9úòV«Ï4�öÝp¨÷óÛQí¬ß"?�|Ïì”v¯£qî?GtoÎ:1Œ*ˆÔ	D4Pu)ˆ0O%
-yx˜XD©g™d‡ÒÐ{h™PÛ3ˆ�>zô»eáHÙ	DÆ�Ê.y‘q)g´"°ñi†'Ë ‚tèÌdæD†X”­ñ"ƒ¿iD@‚ïDFØ&FË¶oD@HGØ=ƒBW˜~È3ˆ ž7Ûµ"°�0Ý›§5×|ò–C¦ÍÞVë9DÐo˜ç"‡­›8¥½ÓÜ4—C„©ùaBi˜Z$µ'ùßI!²—Aä`ú�ö&‰2�²¨@C@5ùñ÷ÇÕ‹½’@_œvò‡ì¦9<ù„øp�Üõó'çûÈ¤>õOŠ:úÅ¸,&”ùôáî~Xýb½>»¾~÷ê7÷o¯ÐWoåÓBy�Ã_q|Òñ‚æÜ¬'3LÍQ-ÜP­¢yè-÷˜U4ó:¯Á­%ÍÙm.*šs$– ·Šæ‚frü¾—4`¾™ßJšAåÒ®KšØpy÷>`¿¦ù0«W_]ÓœÖ–v³šæÀp,ã5Í‘=¿³¼nå„3D‡º^Ó3t+ñšæpºí­¾Œ•4‡uiF�0/i>šÒÈ+š÷�6£W4÷n†*aE`º:¯h^"Ÿ\Ñù&Vˆ·Šæ#ŽBQÐV<ªÓ¼ 9J^³J”4Gõ”�ð‚æ¡ufÇÎ´ÓÀ Ù"µ’4GºæùQ¼ 9¼Ô Iç”^Ð©òP<4‡~
Eˆö�ÒÈóñÒÁ˜g!½*àÌÂ°–'9?B%–çS‚ï˜´‚î(–w9€§b®ËÍŒ71’epræ¬hÄ÷¼W˜•nz2è€">m—sFè»Éª{ZniÜ!øÈXöé`\ïæœ£: ¶ÉbÙæ,—u@ nÛ/¹‚p0‡GO‹`Tºª†phQ})Ã-¿vh0Zn¤~`� NhÙºÑÚÁeÑòy‡QÇødËû`ì‚''´ôàø¢næ¦âòýr¦ñ3J´=µŒävNf,¶¬å!Â

å…-»y@
-
`*}3eAçi³Î‚eJÇ”s†§|ês_´´ëaíÅ”š»ß:=…;1L–¥ÜR½øÃà4|ºT>ÁòÅp9~Œ–WðÖÂTå¹çCŸúž£Þ[¸­–Ë¾è—òÝþàM›[`ÈƒíPßôVðú)Ù?-¾EKÊÅ€8F«Z�RöÈE8s®ÿÀp”v.Z¨×³„úÞÚÍŠD¼’IªóZÁ�@wÈ%vXa‚@g
Ö±MÅ
Okµ"¸icHqV%0o¶•K]kq%©¬ˆÓ n]l8 ËŒ[•¼¹,CWÕî—TëÌË=$U`½+�n'°â¡E›iÈ5‡üÓXVÁQ@±Õu�c'VÓ�’¾˜*Zô4"¯¸U¾@Ëlé6r…¤f)Z¯¢w�‘È­ØÆ$¶}ÓŠrÌ0¹ ÃwÌðø@Â\€xVfZï½Õa~+à¯‚ìS«z§š"ü¢`ŸéµG–sbì5©—1•22è¥NÐk†áåP8<#h¬l
-Gšl©V^4ŽÆL¯À"¸9Ý_«Ô¼ï'â]ãå±2«úPm‰¥­:å”çÔ2ðìá¶¦3S¢†^ˆ†iÅ¼†Õ«YZ-¦õlz:TÅ!W½	Èp|•©:P<9¼\Ag¾ˆÎÚÞ2Ç¢l‡·Ú2rÕ?=ë8Š6Í–`Ø«e1Õ*ùXÞRÎ™[mm^�È×ïUŒv¾Ó@Ó÷Ã"Ù†yÝ¤r_s}%Ûþ\ƒÉÈk5UÇè5�ü¸½î“ƒ„×‡ªAÇÊH9ˆy©©†V’ªW/]å`íå­ôs¬òŠx¹,¿H¹¤Vºk^y«º’¹B—]Ý\ÄË®wQÆ¸@^Ì°E.f%W+1O®Bf*W*3,æÍ*lç•Ï+zq4Çœ¹ˆZ‰`½Øš#b/ÇæÈÚË¶UHÝË»9ò÷
-pN ¼RœÓÝÚTPÎé�žsºT7vúåEìœÆy±»ŠzQ<'™^8ÏÉªØ«È¯â3*íµúœ�ç–’àçVc¼> 3^G°â1¼Þ ó"V’ð@CÁÕx£1?^Ñ$¯”X1R^Q1÷³ª‹Î”yuÆŠyó"ŽÎäy¡Gç½ dÅ-záHç*]•åœ§× ¬8T¯UéŒ¬•³t^×«^V<±WÇtÞÙ+h:í•6+>Ü
-r·î;�¡÷Êžãï@]@ð"¡&Cx-ÑJÔðš£.‘x]R—Z¼~i)Ûx•S�¼ª‹I^/µ§¼®ª‹]^{5	f^¡µß¼’«Iy^ëÕA¯	[	Œ¹ŸŠ•^]ÖO+B[É§VªÖÅX¯fë¢®W½u‘XçKÕqÃdùK­‚n €ÖØ*í «|Ýå�ÑØÇ®Ïõ�B0!Cyq_€*cÛyŒV80-ds=d99+(ŒÅÆ`…¢­ðp`È¶(PÌÏ–©J"c^†«y­ã@ºŒ°k+‰&Tèôå~TC +„�…Ìø,2àsÎcï¯«¥-mâüPhéc]9ÐWy|; ÌÇuËÛ†)ûäÈ™·|Ð›ADÖ<b~;©H†©«k"Gðª¦yÒSKKR;tÐqÛ”íEPðã Á&ËžŽ>³eÅ5¨�Ð³r"	®ñâ8à <$gÌÜ
lð›¯Ý¤¬Ò—7.Âš5ôY/Ç{á(Ú%‘cß&~Ë®xÄš{ãñDøsõ¸«†."üWr"	«DzMXMÜ\�]ÐJ'ò\.Ò.wÙ9�E†7.é#
Ý¡UëÄ[Ix Òn.0g&�—†Å'!5§EÆ&¶i×U#ˆy²m5”¸˜xåíG¤t:yˆ `�”<(áyOL^ŸMl{Mj‘	’@(7%HF¸è|Óˆ¶f1#‚XDÎálÄ2Òœd6Ôˆˆ‘�<‚Þ 6§h~5±FÄ#]–ç){o¹N„—LAî—øì}…sÃ¨
-Ê’»ˆ`™ÞØØ”ÜbìLd.aã(�í +h¬Qd”!r/x¯á¼Ô,@ƒÙq�‹8Bí9×xå%0A·›	|Ásˆ–�ubŒSŒðÌ‡Íp“$r”z'0¦3
-CCìïÌi„M¸3&Ê˜Øˆp^2±ÆìFæx«Ê"Gˆôdþ�qè×üÎ`G8Ô#s…"ÞÄˆ£•—Ú™õ8ÄDj�©�#˜XGQdýã�ü9]<@Sp¸�ÚôÍ$nD‰ÜL$‰0b’5ÑE€Zâ6Žü�ˆ§�
-Ã')(âÀbúH
-KqÄ-ŒS]9Â,Ia‚ìzj¢5�´8‡O).ÂL‰&èaŸE~Ÿ³@ˆ�æ>’Gôëg€”	—>Xuf¡Ë²º¸°
-\&ˆmÈu‘#ÜÇ¹;&ø÷C86ÍdÜ0:ú¹Ã¢¶ãÐkªcÕ)”ÇqLûj‚{ÄÌ$`~Dîé8e›9õaqÉr|“0»J!ûæºLé#‡t{M9ÇN£*rËÔ©½§Rbø2\!‘R‚Gâ%Âu…$:gR°x?WÂøX¹¥œ3·úÚLñ“×o
-¢ê+©Dò�p-“m–é¢ª-M
-+ßø¤Ðò£qµWu„®ËGm*4Wµí€MRÉ9x¹ÚÎAÐÕ{¨ºÐAÚU…öI¡X]W;ú%rÍ¤Ý3W`—ÑÕœ~e]ê×ÚU¦ÕõwÕª£	W¿:&q5m…q\�ë˜ÉU¾Ž½\5\a9W!;64-³#LWFhÕUÖŽ|]­íÚÕß"w5¹#|Ó¤;Mp…»ÓŽM©˜wã
-|§EU]d§Yf0ªæƒŠø¹eÁ‰¤[œ�º•¢"¸nÌpÂì'Þ¹¥$ò¹Õ˜³±8¿à¦˜Š¯p“�ónÖ9ÐR²2EkâxÜ”äL‘›œ*æÉMS¹Ÿ™¯œËf®’aS[˜sun,sÎÏ�j‡èÆ7ç$³�Î¸M·ã•L©›ûœyu“ 3¸n:¬ø`71:¿ìfHç©³¹²ä½Ýªé<º[>��wiÅî»%ÕÅ7¶šä`&ÙJ¾pËm’BÌ´ëbŠ€+qÆ
Å.ö¸1ÙE#7:W"”§]ÔróµIcnå®„67†»pçsÝ°^	Š¹_’'ÝBï"§[ò+ÑÔ-þ.Áf¯r³÷@){¥\š½˜®Ö^s·À½4¯ê^¾×…y/ó[	ý^Ø•^/Ø^WØ
ú�©þ°+$¼N±é-ªÂÈ®Þð’Ç®ñÊÈ•ª$÷3•JËÔ.yJSÏ\WK35NþS÷T¥‘]-”·ÃTGyÛJSÞ^SEù¸ºÊ�ªÔjù‰ºò+Ÿº)Èö}K0åÑúÈ¾iU�dlÚÜá¦X!â²zÅÖÀuYYcï•
-„×µâÈÕåNˆ5e4�
ƒ¼j´~ûlÖ¢'d‹ò~yá‹îóþæm¨Ê#ƒ•	È§ðªn•ÛËz¸²ÑÉ’è-#»�o>Ð-eÕÉ#yCšðÚ˜X¶NH‘�JN±^R„AË¶Úà*Xx Ó-úÙâóX»yÝìÖG®À+û>zbßk¯V\�‰W5öV¯|ìçë’k¥fî§À’‡JÐ”g,`./Ìzåµ'à­>o÷ø½„ðD–¸*�¬Õ[Š�ï—Q±YÑ²°KuúE7+}ì#y�ä)+þs#Ò—öcQ!Yv‘Ô=�
+cW”4ÕÉ¹Ÿ��µó‰vö^Ï³¾ûVöÓ[½4h˜™ÄbÉ%DqÈÄ6¼ÇVjý”/²r¤ EÅ¬jiM>¬º)ZÕÑÁ* ¢Eó$Z¥T��¡ë­À²-†]2 Vu5@…„fµYAý+úä\�ÐgS•×€ôh]®Êä(ÛKÆ‚5#ƒèUec+ceH¿§p,Íöa%js¿TÄ6•*ÅÔ3ZE\[—•ÌÍ+·ÊºÕz^ß+Òë{åµ|«=õš¿¾÷^ØÏÇëWçèu†í¸½±C„¯¡/lìæµ�½D²·¨ân¯Ÿ�®pîŠÏž\§´•GÂÔé‹‡RWÕ¿±¤Ùy/˜Þeˆ¹Fr€Ø»Ìc±¯L•d¥SmcJ³œOîüt¾°“]§ZB_´§`
-¹Jr[µ"äÀ÷¶+ÊÒEtjõuèÍàÝé6owé¢_ûb,»Õ”~‰ÒÂò=³µÛu¬>1ßZÛŠ|³m»2(w5c
-ÛýŒMì„2Ö©¸/GNéÀ3þ2˜È‹(a'ãC±8s·\Þ°Ç1a�òKY,4•ùX>Ç=>Z-.&„Ö$Ç�hG-�b*8“sGÀLÎ4.hQÏ~T‹ƒ° Ì²Á€�‡îâ=˜FúÂ?tÉøÖšcg¶Kµ½f÷
-GC6â¸ú\DhØ�P†kÃµ„ò¬²QðÔ€xÏ3=Ø­˜Y—\t 	
° ¥��ÿê4Ü Ô21GM@Î¡�N6.mò]�Î+½ï{"èD‘Hü)³ÇÀ�DP%ô�”aá¼1[øt‚Trb[F�÷Ú¥W·]:ÝÁšLS„·èŒ(ñH£>ô#°¦N©†T`4T
“Fr}ø"-öÔû„ùœ†¶S¥1ýºiµ›æ£J¸×DÐ4’Œ²LšXÉPÐïh@‚(‚ÌB!7YÎAÒ4AÞe¶­Î$(
™*‘«§uœ¹ë×eì>ÕÕ|10å"-ÍÄ"†8k(!˜kojDmÌ‚w'mY¦ÕezÊÔòzDcÏ×G�’ÿTE™Žmë_@ÌÓGV/<\^¹æÓ­æ+ZUÑmuaqNTlxýXˆ^L�oDZ}ôçNŸ¬m°2ˆ^²œï´¾˜JÛ’O£[œ•¿E‹;Ø2§µÂl4I)•d;«¸-BX3'² >¶Ý)±œ»µö�6P*¼3_J—×ee…óÚ­üpý�V¦8ï…•2öí²ŠÇõ®Zeä¼ûV=ÙOÈ‹,WÒhÑoJ�R>ÒP@aRÌ™LC&èÒXØŽ¾|d˜f “¦°9£•ÂÈÛ†Žx¾eS¯¦Ö¼µ0©ÌÓ”·–'0&q>Ò8ÖÊp�ôC5Ë ¹w3 È#ðÔ3�å• æÕÀV_é€í»á°ï;–ïH±³ù.Ù	÷-�ÒÞµ4ÕÂÏ†:M?Ó·II¯Yz†!¢žÅ}á¬ªé?à„‡ºÂ ¿Z?zìryÐ:êËÛOƒ(NDsv&ÊŒjyEÞ·™fteJÆA3f-ï]J8S’ò¶˜’e‰™—†7œÜ�â™™€1D#Îˆ-pÌL%oÐO¾)0—‚ÞXË˜ä§OæÈû–¦/ˆêy¤ŸÙ¥7C›Bgøy) ²þL5”JÐÓ¦Æ7áü¨+Ù£ÊaÑD¦9Áû‡)Õ›†-$$€ƒO¯f:E¿Q–‰3áÙÒ{º8È'q?oðõÄŒ0BœWî-ÑI|
Ü3ÀÆÔ!vôøû�7„o
-KÉS£¯‹Ù!ßÈaëçÏÎ÷;–>G_’èk˜×4?^‰u ÒÒô‘Žu–TR%cÔËÇyë@tÐ¤Ø†u¦`‰T
í@ðÖ„þ%Ú¡åfŠÚAªxVØr´3§ª5Ú!5dmC;sªµ›Ñ
-³èœ%ÚA¿¶´*ÇT¹Žv ‘)R(ÑÎ’ôHí,©¬oF;TÉŽs�v¨¾Ó•$´["þÖ¡eŽ©þJ¬[ÏS«X6t-xkXgÿ4?õdÞ›A‰÷ÞÁ</öPÏÁ»Û«è»ƒyRÅW×‚h(ÉŽ½ÿ¦õ©Õ¿Sq¶*8{döó<kv}ÿÿæyüþš�ð
-LrÖS»¨V6æ;Bä=
-Ôã‰¨ƒŽêòÃ¢jŒ“­ö<#ãÒM¼©0õ‡úÉY¶!©H¬@†,æ= $< XVíókdHKUmÀ
£g ºxÁõ �Á�èå0§biL"G{±Ó”­ús!O�ÐÉõ…FÕÍA6œ8™B$Õ`a˜�·P8LÃW[-I¾òìR&¸õ÷p,aBˆ	x“h{¤î††és`�J
¦‚aZdûYèfjI:x�!ç—Êp[ê”*Û3MP¤³Ÿ¦m•Ñ»Ž>“»çÿ‘:˜®¬”[‚, ÒûJÔž¹rp³áÍ(K{¡ÊŒAøh3ÀÀLíÄÒs‚±ÚAq1ÖÐÁÒ«àE7Í–˜ýÀ"â€<Ì)4MýO¼AMŒ€Èºë£Üõ¡ùÇTØ`è.)ß¹~ÞDƒ§#
-×A�(€>�Bæ}{ü€�>R%³›ŒQ®-èvÄR*Czl:3Èqjœ%’O£‚¿´�%œÄ˜…ù#ÓMDŒ¢¾)ýˆ4&<+Î©¹àm®[ÀYZmšÚ\–Sƒ?c¶ âÈ|4À=²<bª	¸÷¿ÁòÑ0–ŒÇŠÌ}=/–"^âR–‹QŽS|gA4Kã½Ì)¤&Œá»ð_ÅàŠîBZ°	ä6i‡Y
-Ò(“¨akè>2¶šwxRs€@[taîËnId¤+Oàñ¤Œ¡Ð=¸ÚˆÛ¥_�4oøšnLyVàÜÃSA™'Zá§¶¨9£”ZhqŠHŠ�¼ž‰É…¥O¹®MHU
.�þUb„„ÉÔ²�ôyˆ”_Ë&’¥ÔçŽÀ*hÞê_±Š›â|é›XY�­ÿaD~ä3�ÈÒÓ€	‚J"‹XÅ‰,¦œh,r•a#K
-‹€uÚÂ�Â"�N·¤ô-¤°hécEaAdz$2
-‹8ý QÂ‰Â"ý}‰+
-‹Uhœ’X¤9šY¡ÉH,zèÖ”$Ùè‹œÄ"�›–q2ÛÇAýr*‹ìnCß$oêù$Šªé� ©/H,ÖOS«“ØžºìM"±HK§K-I,’½E†¨+‰íaÙ^HP‰Ý?ýObæxŸ™RíS§$Vnf2Œ‰<_–˜œÂÑB{[
Œ{!‚ŠÞhýŸ�`H	šÓ±o‘á’òUaìeÕªCËáùG5›%
-ÝÜñÄÈ(4‚TÊ‰ÂB²øD&�ÿÓ×?#�¥ï9Um%��(­VÊD`#åñiÌã�>j!ßS�k6¢N’&|KÁ;_X°Va`Š¹D`ìÁ°Ü’ÀÆÊå”ŠŽvÿŒÀFâ/%�Elsˆ:��,¤Óu™À2€d±¤²ðÝgl‡SÙˆ"áC&²™ÑÕ•D+2…¥‡3cá�vÂ[>¥»*H,�a
-U¿¤q‹íHÎ �ÅxéÃ�Å1¤#‰ÆFxXôüèLcé«Ì½q‹
-‚ô1jÀÍªh,ô/Ì5e4®ü¬@â4z­”s« ±Ø|µ�…�;#Ø�ÄîŸ£‘XW¹øçW
-4ªÎ³o
-4Z¥a‡rÃù�Í3Îq ®?£.Q®?£ëKÊ—ïê3úäÌ´�…"ž,©©ÏÊŒ%5õ*ÌýÔeõ&Æ)fõ/Ó�üy\}†Í8AWŸa7f0õFg¸F¥>H†—›úŒ~?H:ìê3LÞŽ­iÁ’úsj|FRŸir�¶PŸPó¶7½[RŸ±ÕôgX�nÿ0?Rö^Zé¬»´•Pè‘¸R¡	­¸úZ‹µ7ƒÇÈïŸÂ®íÅŽíÈ:2¤]­E{â8nÂþ3ËO–Õe8”¦£¯L%‡vs*¨ìr(J†EêÌ]5ÔJe¿%ôYåXÔ›™Šúft™«äP”P� “C»YiP%†¢}mö¾`O
-EP§+)ö:-ºªÚòZÿ˜|y%…â%â2—B98tC»>™•+1Úuæc21”%@¤áb(­"SšÒÄÐ¢›Y.™U¢/ÄÐJ-ïb(ÖÊœÚ.†2©ú’’QEô1¦²E.‡"+y¯Òa’CYãa¦SVDYa/É.‡¢„ FP˜Ê�<Q’C‘£|˜“Ã¿Ë¡Ègžrí%9!Š){Çh4r/#*œ£5�Jœƒ((Ó7hOÔ½Òh[ÔP2±\[µ ’5»]¤9ÉkM(£ÄÏG9>¾‘n‡%Õ ŸLæžæýÚ%egaø,Ì1ˆ…n—Ì­œ;-²¢oöÊ�â1å.A±ìžÏ4~~ (UF×}/ñK=ÔÚ)Ë†zœ.ÆW²p*�õRôÞZ>
¾] ãÀä-kåM	 ¡YÖÊlNæTn=Ò1•f�HÅrêøÙ1÷¼0ƒ§Du\2”=Æ�‡”1¯OÎuÑâ£Ž)ó2l¤
-sG@h?)p÷žãùUxéÀ‘rò�Oä¶°†8�|†UaNMÏE–�•áfÕC(S‘LoÆTìnÐV3k/„F¤ú· Z0íGõ[ê»ÁÇ�b•\dx'—Ä4Ê²Q–Cg!&‹ê°ê�!tŠ€àÎÂl+Ç›†Ü \nHì½†\;žîøÞ‚*jäJ¯ÓÍI­IÔÀŒªÑÈ-mª3‰™©ë|wGi�Zò‘çÕ”˜H"±
XÄ§ôV°�xh­Ð(³—-^]“uœSSÙ!ŸpAä&Ý¥Y´TX½ o¯ ¬ Ð¦BÕsª‰­×ª3½&òÑBCpífßV�BiL�
`àÌ¨Po�dýŽýF
oEÙS-‹L:7iH9©*,ªµ¦	¢•á†kêeí°¨ã”¤È
ôü~
æ.�ûÍ„7(£#¸V“†0EvÇÄÕŒG5m
-[Ì™
-˜g”KÈZ¬0ŽØZ:];kd0JIÐÝE†˜ÛT -fÙ,¿O4g"åã.kµÚYµzÚøë¨U™3´Éq�,%o8<ÇT^šÜ§dUP<³¼¦—A©Yº1àVË¦Ê˜&�2èGÒ{N!8®q†…s.©n=Æ‚Ÿ”¼)g…Ç×/V ¥S1ªß2Ï8l?v(d´æ§²£p-Síäé�sU:‹DVm.}C›äáM¶ è Ïe›
-�Y`¶Ëv½¾¨±Ùî	�ZõtòFh2r›
»+t ¥Ì	~Ð)á0³â+3¡x. ãëö¤FÏR�Êñs,}ÂÖ™f	öÅÖ9Îæ²aÝ†EÓä‘¼¥šÐ[}]PáÆ¹X9L©=Ü£ª/tW4ß‰wr�íÖ°¤ºXÕ¦"c�Âµm~LòG> æ¯kwrè­Þ´8”(m*þ­@�MqvhÑâtƒ#–`·”æª µ›SMGƒjr�ŠBä«ª{èëÂÄžÀGv‘ úÐJïvÙ E`¨Nu)¹î¶]^¦
-dÑW»à|êXŽ¾@ˆe\úiÊø9N©¿vœ‚”¸T£T¸§gÄÓ4fÕÏI%íxÙQ#k$•øº†T;^SI§Ç�XÅ4aÎÇ¢ß·$ÇÅŒÎ$nèš¹P!—X©É�:òÆâ8�ÛÌìNHtkcâÍ�à ­çÀÂäJ—~äråàt�ˆW`vˆu„]Âj"ˆÖºF,y¡¥<� 2ò‚Õ>ºm—Ö…wòàN4
-žJBï­Æ@7²x¬±Ì‚
-.±f-¢vDöFMZ
-vÆ[�í�fÏ:µÆÑOsn—šƒb8	4¡¹bÏ3Æ‹Á•†—Še‹S*}á¬�LÀcËìÜÆ°Ó›ˆFyØ¸I÷+u†“r½*Æ4,²�XÌÄÝ0&¸�I®*fâ<•¦Î4Ó!I	�±Ô‘JUx06Çuˆé,"èÌ<$\*}Kž÷†¸hó�êL|€éƒ’s%fÀU�K#4™A¹ç./µÁ•dƒËË‚Ý.Ñï;’SB(…)`K”Is)›öCË  –u
-µèÆÄÉ¤ë&â153ÀÙÅ@ûQ‹]âbîgb%Ö>Ó¤éö¨9ªé³QiY…2ÀEY2˜ÛÄ]†gžL,ÖÕÍ±‡ñÌþ©‰¤A ˆ�¦©¦¬Ž¦lã¾Bô§mÔÎQ0AR7†’Ú
-5qµ±œF�‹ˆ«Âx!%ÍPä�7ë”˜—Aô=2G…Å�ÿ’rö£x=´Ó°GF$–áwB­Îæ°ŒQKŽ3�zOæÔ‚jø^AW}¿ Òg³´Z?ª"R©0kHñ˜yN!r4h_WkC­Ö‚÷o ãÙ¢J©ü­ðÃ¡Û’ïÌ¬yàû†9û{–÷wLó d™…�ý¬àÖF»vv¦SÊ…žÏ}ˆZ/ÃLËîŠêp¿ÞaM(“Vp˜\è´8ÑTØeDv\Š{€ìSŠ{0!¿Zš3÷›SnA¿SÈÎ¸s»zP«$ê7«¦¹Æ¯0“Ê€×ô›>¡Ænbó2F@;µŽ5ä˜Ç.Xƒg¿w,Ä|ã½:³1ÿ5Âåx‡
�•.fÐ7¬baHsÌBIÀs
-Öb6{RF´È¸£rX©–RPøÈH›^Š‰À8n‡{DX´¦”âøl +ºÓ	f£C§o=™4Æ#“œ€S%:K$6-S¯1åÎvú†P¥	ÄØé ÜcF�^"¡Û¬±JRá7GS’“^&v³�BÏA�%œŠ#‹ö0�K¦öÞ¢|Bâ
-Š~ÆO Ö–ixrŒUýRs¸üón;·’[Œ«�¨8Úi8÷?
-X,2ƒ§G†·{­�c_3R¸<4P:OF4“ëØ`¢8ãT†éb
-ƒ76-ê:dì"¡Ï¢W�­„Z™|¯3ž¸€ÄþÎŸÀ»ÁwH]��¥œ·ÆïâM‚ÈïØ/ñÅò�I”3Þ“÷íœ9l4°¯qº"xQàB;·Ž+¨Ã¸z�­1§2ãþox¥’„ú”&Ñ%	´Œ)Cš(7h)¯$”3¡»ð‚`¦Îjy»�ƒãW'„ùÌJ<I^¬Ò¾¨‡žä*œµb“½¨dKç2¿g1G6“åÐO½’¸§X¢
-i�ù±%á2.tùK&Ç�ÉáŒ†0RÊ
-cÂ*ÀTDþi•åYžË0g±H¹ÖTìMÒ1�89 éÖ·!ÚØ
¦éºNò�–vA…¾yÒ�nm‰·hÂ=ëCb£ovHQèŠ|ôÂm6… /ojÒ; [²»'ÕÂÜYS/· |üb¨Æ[m!®q“|Ršú�%�3ÕŠwJº—<Œ5T³Y£/ÊT=yá¦ª¿Ï�|’˜·Ê”Põ–š²*o½)´òñ˜â«>FS�åã6%šC„ëÚ*Àq�œÃ—éí]¿WBª«ž]Uè0ï*Åên¸êÑ®�k'ý’¹³ºŒ®íôKëQ¿Ø¦8­î¿ëW
M¸
-Ö1‰«j+Œã*]ÇL®öuìåêáÉ¹Ùq¡kš_ºFºÂ«¦¸vôëºmGÑ®¯P¹«Ê
ã»6=Óº;ñØ”Úy'2®ÄwbÄj	ªèw’å¦'kn2¨ÈŸ›œLºù!“R³RT$×­NšÝàáä;[JJ2Ÿ[�p‹³n‹©X·Ù’í:û-%;S´&¶ÇLIÎ™Á©f Ì.•(7]93æ&®ŠisS˜1wÙ\–ø¿lU+ÙÄl|svÒ
tÆqº¯dL³½oRï=ýàÄÙºÕ°b€³uÑål�4f:[*ž;4�5ÏFOcßÝ6Z±ùnCuqÀí¬.2¸=¶”,Ülëˆ›vMD1p%Èd;±	<Ù–lBQ¶9—ÂS¶L›�åÖk—ÃÜÊ]Ékn
w±.[ÌMôË–õRDÌýL”ÌVz7³5¿K³ÕßÄ×ì`"nö (EáhÜ.2s$=&VÝr/Jñ;²BÄ0d1Q¹î8“ÿC¼L.ç.ñ#¿
Ó"¸fEU‚k@¢X�Î”†ƒÕ}Õ”H‚-·.f¥1"rØ³†™)7"yeW¦Aæ~:ûTŠ’ÜÏ*y,Sºä9M9s]­Í”8þ	¦ë¡)Õ¿ÔtBy7Loä›Vª—òÞš*ï¿©ªò9•*­|ž¦úÊgnê±}ïÌ¹›¹Ý[hÇ}Ï^¥KM²×£èUÏ›2Q[ÐËŒšhŽ¬@,Ö¢ÔªKeîw!e>BÆ?èeªcÊýe4òXr'{hKòœÖ¢›‘–æÝòêÕkíeÞ‹šdw;åe&d9yU·Íî,/ë^Ðs85€C�ëÄt×½¨ýŠC1PnI^'nV[QË>j”krÜÅ,¼>8€œ¢±ù)_„w³µûP{ßx]ïRÎ‘Â•�²Ë¤ƒ¾—=Í3�%m¿AøY!¨:–žPDâý\	æË�¸�ÕjÕfî—@&�e`•ç,Á/¯Íûåõ'HÞÿÎX°C€�,ò«ª©mµr²#Ÿˆ¦NN
0bÎfMÚï•Ž¡ÈZlÂëø`f$¶òCî ÈÐˆiƒ#czoÆ™Ü-‘
µ÷�pl]¨º­ð�àòŒÞJŽîÿgï]{®I®ó¼_Àÿ0_ÄDwWõ1ß¤7Š­„FEHbÁÇ2c“CÐ”ýûôu¯CÕÚ=CŠÒJB�4Ïz»÷îÝ]]µjî‹Œ
qè�e
-� [.=­Ì@¶Ïêæ77}·‰xÜz�
ÚiýÂeE‘t‘Ey#KLÛYk,6ÈÉivo2R�µÝ€¸¨EÙÅCkNuW(ÝÜ>›h¥Ú]aVÂ�6.O¯:GÜúÐyJ¤ �£8­Tgð.ØÙô–*uu¥1g‡í°�GÅÝÎÈQ²46oû²£6Çîæ¡~-ìnùÂ#àòyaäÉ££K—N¸]Óü÷h�Î;!_B_wëð’òzWAE)�•w÷RÙñ„pžìÔ'I(@]ÐùÄAjh;ƒ"/¢Œ�g°]÷5�1‰OÓ|AÔH±¤´D0ïã¸ü¬ÍÉ+ã;™3Cþ~\ó¦² yùD,DÍŸ9¯æãvtvéºAqËP\¼·Àn­è_ž¾WB�¯G�ì)=>¥‚¯ãiBº2]�.6Æs¦õ�ä"x’1Ðš÷Î�±H´A=™1dïÐˆÙÅv–ƒ??*_’ò•ñ.å•åÛ–WŸoeù•ùöæÝÈ7<nXNå¾æ„‘÷?'•|F9ù”g™“T>óœÇr\äE”ñ“óbŒ³÷Üùžc³ÿuõR·}ÒK}þ ¡[ßÑ	K	í?ê¥þÓšöJ7B6íe7B6íe7ÂhÚ›»²i/»²i/»²i¯t#dÓ^v#dÓÞÜ��={Ñ�ðþ¯–½Ò��-{Ù��-{Ù��-{¥%![ö²%!Zö²#!{öJG‚õìe;Böìe£Aöì•~„ìÙ›ŽM£hHÈž½Ò��={Ù��={Ù��={¥!!›öFCB4í�†„èÚ+
	Ñ´—
	Ù´—
	Ù´W²i/¢i/úÞòËôˆM{„nª;qhÏ¬ÎÚ3
$åÚ3jclÛe×žYÕ5î <iÏ0,�cÚ3kÄÝ¾ühÒžYI;	RÚ3Ôég¤ôŒàÞG„\{fiæ§öÌzy5ZjÏðÙz©ìDÓž¡LÏe¨ÏðQÇ5‰Ï,>Ï[0!ÄgÔúO”:Ågh[QDŠÏ¬ƒx¹S|fu
-çŸYƒ•—ê3a±3C~†÷‚¤È�ŸA‚NÊ<©?&+¯6õgXšï{V ¡r§íí«÷(øò£B�¦ˆ£¼e€?U€S¼åS~†åé¶9òS}æ»´_¾C{æOÖEÞÅ�C|f’þ®ïÒ3hWŸ�ÿô)=ó;¿Ý…gä¾ÖÝ&êLxæûníÿ:ýþymñCªaž‘†PGÌHC¨#f¤ê(3R
-uäŒB9!¹PG™ŽR¨#§£êˆéhètÌÓQ
-uÄt”B9¥PG™ŽR¨#ç£!ÕáóÑPê˜ç£¡ÔóÑPêˆùh(uÌóÑPêˆùh(uÄì3¤:æùhhuÄ|4´:b>bó|4Ä:b>r1½ÇÀ?s>úTÉMGÇ¤•ñ)Õ�’”ÍGÇQµ:XYC)£¯p¥¢�ÖÇ|g¥ŽÕæ£í;¿û°"xŸ�Ž³Êtüžï‘Žgøl´µ?ê’ÿ¾ÉíÚ¢f�"ÄCÍ Dˆ‡šAˆW5ƒ!¥^Ÿ–bYÏ1‹„ñ3	â!fÄUÌ $ˆ‡˜AH1ƒ� ®b!A<Ä¶Ô“
-1ƒ� ®b!A<ÄB‚xŠb{±]3H	â3H	âT3H	â¢f�Ä©f�Ä©fPžã?j.ùÄ¿OWï-dð'ß-B¾UÉÀ…€ØÙa[h�ñ;>áñ/ž·ž%‚fÕ!þ“O!âï¹€¢dð‡^ŸðÃ)üÿ@XïŸ,eP)Tþ,¨+•0;A&¥I�˜2
»|?¯–ž
Á8yÎ±5«ªÆ›—Ž�r(
-ºv×õ$þFYádovåBBïêRE•¢rû6uË-·åá¤b'F±ôîIÞr½zø.�Ó6ÒeÔ�'ÅX3Ü©`|vø�ŒO¢ïIm`å5àå•	V©Hµ_<9•ý¾>~#nÌæáf»8"ª~Ìû?[w°Ü×gåP�Â¸ÿÌÀœŒGÄ?É=�óIÓqT¡w“²Ïb�P‰äøN+öŠIß.�°¢DøòòÑRQVþLêö?3î¡Gõ×ä“j®C¡ìÎn›òÎªw�¼œ“;í“Ù�‘íjŠŽ\1xâ‰ça9*ò£rô”oÌQ–W–1¯>lù•9°ónäàÏ;6^’éÆÆ«”·¼mñˆ^oeÄJ„VFM:¶Á9#4ÅÌþ@µ§ªouÅ©Xútüú‚Ì»V¨Øu›hìÓ^’-ƒúáÖg€YU¡î21�ÍyJ¸DÏèªòS°ãLX¿çè¾hêd¯±Y�ûô•›¹'8Î¼vÿ‚ûèÉ²�žËéí”Ù‹Êåg^ö0¸Çªæ¿Ç«m*£Ú°—ÎS;ó â“��ØÞÍqYþ´Ù–J…§‡8iL<âJž••�7&ªæt…E\Ù,--®öÚ]²�ã˜†h–Ûv6jüržÝûiþ“=…–dø:‹nuL•ÇIôKÙîYïh•N;EgÏç~ßéÜŸ?¡¹XÔïRÿ¾/‡©»Eäùr;�¢¬3¾ú�‚áÿ<?â%"³^m8ÙB+f²¤ÝÃ�æ5¤dV`´�ø�r`ÏÌ¼y‰PµG§;¢YÝˆ&p:
UtcUíÖíMxSÕë¡‘7ŽÂ™ß%»±»ÒØãâj¤€Ö!ÏÅ	'š68�«¶ýšö´ƒ"ÞÖè`ž¾£…ªY:‘MÆÂ~€hõâ‘uä
-5«j[/¦V-—(šËfÊ€,/ÚÏ«2„9IÓ¿•ø_Æ„Ô7öÃxéXW�Û>|3-¥E¿y�ª_"ä›eöÚ’íðP6k-öZú®–SZO]–­mþK¬&›ó°û-mœn¥‚jfê´™ÒƒæÅ–“½.u	¾[+ìËÓÝÛÕ³J_«Ô	™?³Ï²>÷JžP'>³¬º•ºÖR)c]VL¥WëÙ9æül]4ñX´š¨ð4¬VI«ÞŸäªÕl±Ýá²&na%ö�ÏÚ¬-Ý*³Ã¢@îµÄŽãè¿¼øX�6YàEPïúµ¿5n=¼KÌ¹xi9N[5Õuô{Ü!Á—úeµëíuðÏ+ØV‘AXOãŠk±_J¹Y,ãû°º!«5§Ú›âð¸¯v·WWÉ¤]Wéc,*òe=S…•
-gCâ«�£V²ãäœîhxÆŸ ÷<Kï]zú»;ôf¨ÅÁ!Šj]Ïj¥a·^(î¢uŒÝ·5@ëJ¶Åä¿z[-idx/º¢¸=z%ø‰rÞ?åem§Æ¨…ò”S¹¸c}ãK{—½æ'~!Élg¦+¦®J­æ&ÉŠY;©+0ÿx¯%‰J²{7§è,1zÇ­Îðô¡ÒîiÓÍã—jO‘@2DSP°YÍ»\{è<ÚCåìš ðEl[oìV$zÑ|«ŸÓýGòˆM€úÙƒ#¼ÏÇk“�®ó¤ùC·—ôÚlºy‰0›r¼.æ«¢¼�g,Huê|V”Uã#šø÷òüÈ…½*ÀI1]HÁêýÝ·oã‰¬›÷ÃÓn!4çªÀ•à+Z"±iÌJÚyó;·Ucåm7VgZäœ‰Ïr?£~~3º]ºËÊº��>gßXÐ³Í.“(9"
yg·Ó¤O˜ìW}åîáÚËT
<, �	ébÓÂ·Òšá³{•®¦fzûÎ-<ù8Ž¤´uhÇg¥¥|gZóÚ˜]Õ†—×¿1A¯íówÆÍûA™½ª�ã–d#;[ï,8:1ŸÀ³0û`�§Ô_­ÊÓäñ«‹5Ÿú¶Y˜3Æ3gÚÕ×DwÞ<Îh°cq9­¦ŒÙ{·†“ÚŽøoÖà?½²¼#—7ùä«´2ãhéoÛJ‹„
-˜ÊKÉ5p£óÝ¥ùÄDÑýõ¾ºëºÌ“b5HÒæ\A±yŸfýø˜tTvö17i«²ŽÉ… k¯SÛÕ�ÇLÈÆ¯¹A“%î­)eN=¼ˆ<§Þ3ÚÆbvFDw»ê~{wfÌôk85c5PžcÛÇª¡ûÈ®AÖ\]è¾K!V!Jþñ².Iwúb¥¾�/*º‚ócÕ£-G‘š\Ÿá¸ô{�VÐqæ²Ò®® ë1N”ÁŠcÉNKYÙÓš«õ3}êôå_¢¹(hºÏš$÷wXf÷%­éæ Ñ"¡Ót…h<S“Zq™Z÷À<®³Mä¶¦ûEßŽW£/­m¨HoŽ=µôø(uÓ�.ž!o“ÄKÒƒl^E1¼LÚÙ¤¶Z¼Ñ•DËÑ‡×Š¥ß~í3Œ½ùwr/oz
ÅTSBv7z]\<£¸ÛáÍ„S~sÇû>ÜvÒÎjýž½{h›úðØìÇèMc›@ÜË
-ç§Í*]juŠ=Ç³ÌY&(¶%*Çmuór€å»b‹ƒ Çí©í‚4žu«t:™.wTÔgR[l;.*kvé³NÛ²Ó›àbóv†²nlï.aÀê&0²�"“�²V±•¤øD}ñó†­ª`r_Š@”il]™XŒ
[\=­epô–ó´KÜ,GÖX@™A•:ÚQ°uáH¯ÀfUaÏonV7«ºÑ¸±ŒÃ¾xÌQ-‹cÓ[«Ü7I,œg³qÅª6Z?ì0ìn÷UöGÄ»ŸÙÃZ=]Ö�È¬IîøIRæªÛ,ÐÕü÷Ë¥@òÐ;¡ö/¿ç2Î÷×óÅ<ƒZ«z^òå•8ôñ»nv£”Å¿�ž·G„”5$íBÂe†Š›,r&îx*�ãíƒ…Æeú4Iåó¼6ëá��XRDst\hD<ßã‡$´Àë1ÊH­e Æ"Ý�ðî«œ†Š•�gúH5GÍã™Þçv<·:Þ
-U!¶éÝQûuÔûëEOåý<´xýhâÕ5ø;ºei{½ÈjÐ¦c<^uê�®Û¼Í|÷3Îì&Æ¬AW[ÏçVû¼B“5êsÏ¦½˜"&(Œ÷³ÆFé FTÌsj£Ü¼;$fCu£#*Ó%·Ltá1«>#!“ß1ùòðO^Ÿ�7ô²x1…ƒ>]nïêŽ‰^O•©6×:•¥Ñ8ÖZ0Caj¬-b;Ó×nøuÓ:Å5èþÅj£õl“#£uÊ×<Ê1÷]ë¸/�÷:êvsÕOZ]S[«ì&˜%ÀÐX�Óòµ/�Zµ§ã|eçn¨f}²°ÏÝŽêX/zß¿
-gb2¸Ï±‰æ^lø&jóÒÂÙä(-}²àˆ¯×]ýU
ÓÇÅ½jxNÇŠAª	»±î€ñ–´g~ü*�4,;‚wîÊÑc¼…Ò\ø{ª(~Üìp)zÕä�~#-€Ç.Nø—T+«Á=ýPuSÐ¥èEø«”¼j+åí3äMSÎ½^ú‹—îêYácÔÛÎ³ºxYÃÅVUk:ØÖß¹¾Þu«­}%÷æù;3¥îñoêC?Ï¯bK@ñªjÈbã°!Ò}¾» UŽTl?6Àã›ý*ÑEïéÞl$ÆV†Â[Í¹Û!÷`Y¤ØéWÜém[Ÿ0ûx)±¹âž^å¾ãc®æÞ�ïÓ8¨]Ïˆ�œ>™µ;÷{ú@åæ¼ú¾P� m1®VÂÏò—c‡©‰<ú¥b#ªªx'r¯JgèóÚ®cO«päL¾v]{_:su;sLqí
-£&÷Ñê&È7·ÛY^TöbGÎOÚu‹cçNå{ÜÐØßo*õY· vW}&ÃBy!kg‰äedÜ�záÎÃÈøÄFl°{–;ãã¸ˆuŒÏJKùÎ´æµE|e\ÄaÊ¯ôhÍ¸ÐÉÛqŸzW#>4î~Ä�ÆŠXS}’“O<âVcTD|«žˆƒ�A±²1#¦VÇkÄÞr\g|.‡~ÆñÊ’ñ¾|�2$oZç·1¢‹ã�õd¾Ö§,oÆ3s’È˜gÎ#-³M„PsNÊ(kN[�-“[Fms
-ÌÈnÎ’ž¦ÒŒç|›±äœ’3æ\fîŒMçüžñë\2Î�+Å—9>V”ˆ›çÊówîU|}¬Pƒ�5,Cõe¥Ë�~®‡ökf¤êÚY„±{¢a¬Òa(‹ysÍ�¼Æð"ÿQý‡È“?#r)ßa).Ë°†kù›áþDž§ºI‘ÇEÎh¸\™[*®Yä †yªáåE>«zƒ‘÷^cæÆÒ³ÌZñ@=Õ–Žjfã†3ëI»âòfn/=ãÌÿ¥ï<ò„³‹�éÄtÅ3å˜Þz¦&‹SŸ)Ìôý3Ë»ƒL†–=D&M}£‘iÕÜ‰döµlX2K›ûšHäæÎ'ó½eƒ”yáÜFeæ86Z™`.»±ÌCç¦-sÕ¹¯ËœvÙþ�ã|�¹ñÜDf
-½ì53Õž[Ò‘Ž�]ëHÛÏ›[„–M…)6Áº->±OÖŒ«1ï¦›*k÷66Ý”¬Y­pìËéð6}�y÷.añáb“¯¹_{ìˆ0Åš€ODb
-WP b
-ôÐJ‹ÙR¸e<X¹•‡'ÄïÜïÀ ¤m˜¸9Î‘‡Ed|R„Jòû" òõ|UvÑ©Ûæ�Œ Î¸æ7lŽ�A£¼ùVÊ‡4ŸòYfˆj<ïb½Ë9øÊOÕÆ´éòŽ©èm¥ZŸ[v­Jnf<7zžôh›*
-Ü ëêg´4ûQn+ÇÍ*$Ù”ÃZÕê‡ÑèNr"?‰>Ô.åäøÂ°Ø3ŠëÊãÆµßv«ß¿qÜ	¾pÓ7ÃÍ?·Ïê^†±’8ÞýŽ¤]Z¢æ;»M5~|Rüû¾vGÖ¬4nÔ½m¤CdÙMË}|øóÓR€Gÿ…%?Î¯}|ÔÇ/üºÜzÞU^1��ç\ÓS�Ûx¸/•wšŽÅ«çBë�3ÃH�ä—ãÑnG([LOceã$?ÆR~×4Úò‚Ü6®Øíëw}>w¿åäÓp„YŒ7_9ÝtÉ®2‡M–[‡”?f7}|�ÿíßöõ4ÊèL{^Øã«|˜êCSZ??˜¤Þêò98¦ãò×äg}ü¾xê8‰*ŸšŸ7®©�„·Íz,¤/Ö-Ÿ}¨ÚH]r®EH§qGùf9B4)[hy³=e‡Ô‚Íë…:’-,ûém0d85”‘ÄRÅÅ«Ë�Œë �*§“.Idã9kS&Çn3Ü•2<væf‰2%zµAíÖ¥XSU‘õ#¹35VÖD›=�E„8T¬Ç/ßN)åíñ �~ŒãVßeŒÏZ]9³|ç°u¿2¤ãTW”×.èº?~"^½²dy+Ol³Ï�Û…j…Ä"ËmE°zŸn~'ÀsìÓj¬“Kûx�=³ñ¸ŸžPÎcDä%”‘ƒ:‡Ñvb„Á'PB5G¡œu¸%BsÇågQM[ûøN&Æ-R¥ymš/ã
-Úå‘àMÍ_9¯Öãn¨D™¼¥ß/¶º7¡‡¼«
-%¸"â¸öÒŠ7çBãNõ
ñ$YÐ�°3ã‰k×OëyŽ	¹Ö}:Çn“ž
b$ •xÍaH›—r‡9\¥‚¿GÒ;†õ8.†þø¬|EÊwæ‹—¯Z^|¼‘õGæ››7#ßî¼a9”›³E>€œQòÅÄSždNOñÀsË1‘×PÆNÎˆ9ÆÞ³æçäÊpý¯+ÉrôI’åùƒ¢éÃDfNiãý£$Ë$ÉÂÞÑ@2Ð˜Íå³…§½Z¥*à{öyYu¬ºú¬µmèˆ;E14›)ÓnŠÏÓ^nC•OºT»y}ì%À{+8qQM3žIT8Åƒê•}¹.)²Ð>nEË4{ÿ‚Ä6gCÓ€}à*üÒãaÚÞZ³¶�8 V·‡øÀj»Ëz*öÛ[%©hÙAôY…9áˆª¨eÜ:=ž-oìûVcÓÄ¡X°ö·ä€ù¨Ë‘`®'ëõ
_â9<Ãn:,ÚFPÿ¼w“÷�JÔÜ‡Á§Ù/ggvŠt³˜2»$t»ÈOq;óUÔ¥å†îrÝ›‹àÖé4iIQv©zõ¢…¥Y•�Åpm²ÒS+""'Š”*µ^�ŽZ†‚kû¼øµ‡)´éÔæv³x¨SH—óó9~™ž°2	LãÚŠë	?#ÒÝ¬ªoë.IO8‘0ÈhñÝ¶§£'ƒuu=¼f•lƒpÁô�ëÒ6¾ß+¬¢Gòç®€ûüÓü´¢^Úûõø,íêX%¯ �)ö¯whµ¶ ¦(ªÁOTé%íJ¶Ã´âðZ‚P½¾¤ ¸›\?Ÿs,¦	j7¦K–Þ÷á.½ ©qº¯�¦QŽ?¾F–
-�®|§�XÆ¡nì®åwÍŠ³TŸÙÔ?-õÌktZI»Á¶ùDö$Š›P>µÍz®ìJ¥}WúÌ-rUv§P¹�”JeÄ§ú|ô_~ô/'ÃÚ+ÚÀ¤ïd9áZ&5b9ž‡/¤Ü30kò,Þ°ß·æŠNÊãf9¹âw)±Ô¯§ÀèÙ)�ø ÏµÞ¡Äò�ûúSòÜç¦8ð€¶?*±ü¡íÊøcçyö�½ç±S]­•†Åö–3ž•BtèR™†òç×2z­Áƒ}ÅeZ¥ªËz&j5‰ªñð#a³—;6tj|ÕÎC¥–dqWSŠ¢ìUJ[$m¢çŸÃ<°j‘
-vâÇ±X‘ÔuNq!öm×¾Œ(�A§ò°¿0>ˆœO¿>¿¯û`\×jÒÎãÒQS£kù‰ÕŒ[±-^²7‰gÝ½rOûémLyïá&Pe0žK�¡9¶2wÚ*<>ëÜ¬ºxúNOpÆf×.M]œÔååSU¤u2&LÊm?ÓnÇéboã–!¶ÃqãÖž›mdãÖÚ8<45ÒqÔ¨›šÄjŽGž‡Å Ÿƒ§~£�±¼°†yñ9\Ë�ŒQ�÷"Ç}Þ¯ñ~Ì÷5ß£¼ÿã]‹gôz'Ã�øž-ÂúÕ¿þ³o¿ýÏÏtóù³ßþö›ßüê§ñ_~úWßüú›Ÿýö›Ÿ3õ”©f´;Ïçm_ýë¿x&œéãþüç¿øí·¿ÑGþöúÓ¿þ‡_cŸº/6+~ÇñÿÃ/~ùÓ¿üæ7_?Ó×Oÿço|ÂûÞOçÿýìÿ~¦È/ßþú~ú“o¿žÎA[®}ï÷üéßþöÛÿõ×?ûú¿ú›Ÿþ[¿ªïû–¿üÍ7÷‹oþþù’ÿü_þ•o¡^·oºþçb~ñÍ—òýGÿä›ÿðÛŸþâW?ýóí¯~ûûæ’ÿÍo¾ýûßwÜ_ûë�ÏüîÅÿfgxÏÊõ½çüõ/ž»þo¿ùÅßüÇßþ#ïÞ_}û÷~÷h@XQÎú�þ¿ÿâç¿ý�ß9
-ÿüGÿÍŸþEÿéŸÿêç~žýýgßüÍ/~å–ÿþ«ÿö/¿ýå¯öóoÿö7ÿêGÓ+‰¶Â�X	l)‚ÏŽEšÇ¢5ïOõÿ�¿ÿ‘µøÇ"ù˜þAþOÏþ?�ñï¿Z—¯þÝWÿçÿµ|õs;å¯b?5¦kz||ÓW?™­yE?™?á»­å~õ�~ÉýÿÙÏ¾þO<mÝèÇ™©o;¿÷¿³ý¿hcýl1ž™éùßË\	žR•uP†XMç/ÝøL•Ã¸ÙÞïÄ°€êÑ—]Ÿeê>ä¼ý#]ˆ^QU&’Õ«Ê½éL°*[ÐŠ¼u+IÐ™Ô¡Pº?Ëv›E³°£X(I?�	J™¨¼PB!Ð~ÙQ¦ÌË†c=í“¶è™�FÏ†ÓŒ›ÙUé€|œ
-=ã$NÌ’K«Èjûé¼âS/'©/
´OW[Lïã6/"ƒÏò$p‡µð¨�ê¼íÆ<ÓÎÃ˜Stð?›áÈ¸RI9uñÏ)ƒk=ÚnJï×áÑ3IˆaÑî*ÎÜÛigº”‡pYM5_ØÚÖí;½¨ƒ…ìY{N ¯ú|JŽ”ÈÀCR‹E_öë,À.Œˆ8F@U}-‘–Íj,tÞ°ž¾‰c+¶�.”jý)ì9÷}Xìt\'+×µ›¡ÛM¾\š—µ¶5ˆvXWåžåÕ/·ªËÐ¸”ŸÑºå!T›gªí–X¬D¸ØŸv�°ÀÁ²wAÂ½€ÀNQî�[a>Ñ!JŸ‰¿.Ñ›#Ãeu vž%–Ú
Xß;áBAÒæ†�ÕÙ‡Åî+‚…m�ŽãåZ#¦ßÄŽ†¥<‘´R²JÌßEJ\ã”WWâ•Ec|WÇßF‚O]9æÕ
-,©$6\�mM
-l:¯Í_½ç·é%b-”Ë´ÛÊµí'=Ök±3Ÿ§z[ûÑ²»e“ZE‡·}§âì6TÐÞç¥ìÍâh¿wK­Xë5zmJV¸A'
-€Õ&+å$}G† Ÿ—R-9zMŒŒ}µ	S•Ã\qL©Çm†2ñfNPER’Õ¸"\�O¨‰ºœÅîr'5ü÷j_-	*[4ùg¡eÚx¨`ªòÑ:,Æt¡ÎðRñ%ÊõWœyø'ÏÝUK÷ng*…¥/ªf»-í«3Á`/\¿´ä)È#y¶1¡’LP7k’JØû®)–´íbISUmÔ÷n³�(ÇŠ Í¦Xš[ìc(ÁÚêúÂ˜¶ÍÞr,Ï];ln&ìg>�Ä6‚·V7ÚH·Í-v›%„lý¯ªp±3)kb5cÔÁvEø¸lËºÓ-ú~ŽáÒS…©™°›_ºñYc6záG)®zyqÖI|‡¸Ûe(½¯ý´õ¦BëòSI�«(¾#Ÿ²ßvZ÷>7êkÕµ©éÝêÃ–K{?—PVé²V3è,8åÔåQJzñZ]ƒøk.0¸îÕº×›×]š‚›ŽÒéšV¥Sï\áÛÓ'@êêðELfÐŽÒRúîÓ3Ègga¤ôz�oÛmlÑT(Uˆg°õƒUí¶G¯¼Àßã
-,¡cCÎë$éæXUif’WiØQ|9Ý›Hã3ô¢ñØé;-¬®·½YO ömpxéÈ£ˆ`ŸúM«Ã°(•eg¹
äÓN:„j%9M‡õ­åyB"TM®{7Ì¤ø¨½`Ôi\³Ä´Î#OÛÍ¢Œ½ûCË-[ðŸDµ²€²ÝüÛî5—t
-»©öñM¿ƒ1d½ó™¹Q¢>Ý.éÚ¶FÅË¡ºCú	‚…Á|¹nÞ5Žj¤cžßJvQÈÇ0ìÞe§¹ñ¹�‹(h8~+e>ÝË²w–B¦èŒkbeâjúa¡aøå-êA65Í­!çOGÝúÜæ}TºÖ4µXc“˜Ü­¾×Å(O‹NJ&	j—úò\Ë¾›Ú&eàÏØ^¿ÒV/dë©ó%·O‰ÄÄ¤¶žùƒFè!ÂÖ.•tqÚÅâÉgY‘6~M‘Êd –è2­e;K<Ñ•‡û¬DÖXqÃZ0æ5ÕÅZ·¦gÞ¢�•|½ÂÀ¸¢L'Pp\v4þú¥ÙMÉá�eŸ±K„=FÆu]ÍÈ«ºË‰ åp»•¼ir•Gj§91Ê÷ÐiÍæR#èƒ·nséâÈØ­À‹ZZºôò/’]1UÖ]ú‚ê·µýƒe©¶žÈ²ÁJ8íÙHo9Áì�Îô>/Ãåp8ŒÜŠõ=24ýIŒ\âƒDQ_ž„·9»Zö*ü Ý?å x³òæ¸�ÚÅARm~÷?ª1K	ˆšOÅÄï’�T-2û&hÊ­¶UJïmó�LXt"Mtr^ó¸…eÁzØŽ›¦ßå™UZŠV{Ž_{ºÈIA@àÊçÍõ5›ù‘ìíã!PYÞ†E_H'€×qMòÜÀ§á\,mwSF¸³,
;ÅÐ]’ÁÖ/µ‹ÔJ~Î
:�ÔüÁŠGQ9¾ÑtÉDpM¥QZœFzç7TˆŸùƒdÅ5»Z»Q‹uCÜÍƒ%uU÷Òk®jè�lŠæ!â©ñô”ba¨;îU†ÐIº»·¨°ÜóÙÝ&À¨;	;—Ü-Jù1h¾æsšïh¹¦íqÂ5 VAOTCµ*§fƒb¿Ó`§5¾öé(&ÌSkÈwXW×ø¶0.Ö¦³¯z&%›œøöMXc7è,:/y½ó¨vØþ�íoX(²‰ÍzO6˜ÏÊ‡ßxœ§;f(�¯í¹œ0ÄÓÆ}Ný¶=“
-Jàã/ÖÊæyð4òžé	-‹ÝUq§wCg>Gïi°$
;y¶e³Y“ŒíNæ•²eËí•a!£žs7·Ã±©Éf¿Í»CÆ;�0^û­¡ïoÌM¿/>snuÄqÊpîñe<M*1Wÿa�¸À3UZÓãs ÀgöŽ¿íí¼lÃ8ºíÖ!<›•Ä,nFvg>×Ë™Z}�äËÎ¦¶ã£Øi›½5EÑã£Ö-­PþÞn—X÷Vœ¥w¨-æ�ê¬“
-‡Å<7ûe,*‹yW6µ®æ§´Õ’.¬�òSV'²
Ãjúµ_û*jÞI™Í¦ígß$é(‰o–>…Ò’àxþÇ½<%¢cÞÄÞ›E�Ú:@Ø»@Å›(ådñò/÷³(]î—¥Ò'_“£®
R{ž\Å“aE¡•5-ók�FúˆÄä¢Í‹èÙµ'øyK‘(èLë{ŠHGÔä£„ùì<‘Ñ7êírrhÉ(Å~
¯KñÚ�&kkK?âo©>Ð·Ê[Ç0ãŸ\ábK"Žâã6t‚ o­lÄ	d`Z÷—Æ›¼²c¿¨ÆÞ­&I~=kó¾é˜–\�Ô^í4Ê)]ÆCÍËìåOïÖ�ÄÝZHõÖ-¢‚f­øãô2qÒ¹û�^|�K0qÞÜ\`É0âòc8×çe9]wYÛF‘Äê}»'è7žÁÐÍ›~õ’€÷Q“ §u«2ÃÜN»h®Ñ´ê�kPAš4(°ÓÔÙð\äm¯úß:´ç¡SK b³ú§9–i¸½¥Ó¶{n\ùÖ‡
-_ñV°ø¶=Í�Šb¢O:03!ž­ÀM:‘A~Ó‰Æ?iSºÊkJ’U±p‹tß¶£Ve+�­Xº‚:=œufî½[õ«èÅqæ¾{ÒVì'&ïÅÛªWk—Ö
Æpß¶ÓžQ¼©@¹[‹`íûèV”+*€ Ý{ó2Ýe	z8iu‚µ²v;ÎbKD5ÖÛ€ÙŠ™é³’4¼kb´œ¶ÝEm{˜}%ÒpÊ`n%†5�Y,?š¤QwØL§ÃB˜«ûÃú0Â¹i¥"åÖ6Ÿ%ê:Õô¾©=tµ=`lÇ³X<:�‚ó,ŸÛ„á™_m’¶óÂº.Ñc�S¼ê:�˜ÆÎªXìÎ�-!°=ŽS§Õª:m‹¦¥…i$KÞS³F³ µ,^Ã´[[lßÄ�Ñ›‘?ñ"ð‰÷mÝÅ‹Çù–�Ð öÍÍ’%‚ëÛáó >ïðoØE\œø%^±ôE¢sQ”yœ“{î”fCL€£xÚ †ÁœOÆy”
-ˆµÞÖ��»5M+«ÿ�Ï»ÞO21}²z�Ýòµ‡aµ#ÇqÉÄ{ùA	ÔÆŽJ�Í�’¼
”§@ãùüÇí�ð40µ¨G8"”fogd3í¶ëdQ„À"ªBømz[C½™uivÜ3<£`^ÊÍ“=TgË3}Ò q'¼ïË´”Ò™ò�°dpp¿-ø¤ÊwáýèS·™3A†‰�ãˆ—*¬çf>µ‘wIlº@] 'sc¾öYµ�÷5¦¦ÎÓZ®�±8,Kd¬†íØ,)@®°oÌÆü
-R0LƒgWFéI�8eó86oŠ°{[‘Óçþ®þkb™Rôm7«:NdQHúeÎÔÜxzËkœioÌé.6–Cþ–s»}çyëGî†ÎŠÀÏtq|ú{-ÙE‘Ìr‹wZÛ™aU°CßÐ}�cÛq\†jT'-vk© ^çãVÁz
!i
·Ì+§•ú(ï§dÝ<OÊ¼utë·|‹º”á†ÞjŠtfS+qSîY=¦�la:¶a±¨ãæ#6¬êš%Æ¦ÄÁ"¬´Ü–w±3Ã*Ì–ºk	¨{V9ve÷aI½5#¸ nVKÌZbbYü~Q�*0,«h‘çØ_ÊjUG§·JlŽ	j?ÍùÒ¯TºË}¿ïý�tas¿ŠÝRR“ù¨žñw7.¢[v%_t'$îEüyþÛ®s³‰{:ê°Ä9�"Å-—Ý‡Ñon‚#½YÊò‡õ'þq–…‹0†¼Ëv™º¬¶ “å°Xbz¡²"‘£•™Rz½^©õ:P“¶Ýç°ÄZm9ï<îŠ
-þC�ñi‰ÄV‡°îŽ¬f¾Þ4=“ÁÒòÍ»h7¨©GÇV‡î2 „[‰áÞ3Å*óEðâqCÝÓ	½=‚a6‰Ór‹¸''Þòy¡ˆæÿ{¡ôF�›ë…Ý¾íàl}S~s'y»KçyÐ}ßÂ5‹ãØ'©Úƒ‚šzÓÂêH¤E'†‘)‰$É?ÖJÄ@"å°°ZÌ„…Ÿ=û¥Ç¥¸”(säcl/÷
-GDYÍ4^õBÕúH¦’m×ÕZ�îe�ÄjÄ
-UþÍxâ8‚ÎXL±„=ãîL�± 
-Š8œZ£AYxïX¥Àg=nÞWÜw«o�JÛ#>‹UùIvÎ-j–É�_¡ßI9µæCy¯Óîõ6ë¡øBN›=ú×-³úi¹U;\à­L¾šÕvd&´Ò7DÁ%ÑV¯	`¢ðâWbvÏ ±iæFei'ð½Ñ-Cñ=
-);~À}»âÇéúµ‚»ÞÀ“Åþ+"5Š5ò·…[ñºvažZ<Ÿ‹U95Q‘—Ë³œõ¥
ö®RLç&KG.ÎSbCVH6
- \þI7SØ.$=/Ú9å1”UÐ”ûŒU•t*>%�dº‚óøYôº�;Â6*s¸/KöVÒ6º©…§T…v£’ô—zX°‰Ö5‰íLë‡_T!Ãr¹êÏ²+ûîiY.£éÝãu>Qq©úÀtM«	!E”¬k¢£&Šp†d¢ü°S±$ÊeOÂï·Òkž¸°+_¥“|Ùc|–³¨ÒY%àK?Ž˜»¯c’¥'ãa¾åuøw*°³‡Œy�yY=†J©‰¼"ËvŠpZëÉN6ê`m¢À»Ež=o¸(÷
-Þ h�6'Qû¸¯ÖFuXH+RAÚH4¶è¼¬jƒn(½V}³lÏQ¢?_<§p7±¿wSôØ%í+™�ÅzÄþNÇ-V‚u[žÏå-º~Å‚là®æ"Ú³8óZ#n{Û|gŸÇÌÐîˆÁ-¶ù’Eš&ë2öÿJS,Þw(
-»xÑ›š-8Ñj5TÌæ;!b�)èF‹"èÝb*,ÃÊÄ0%¢®ƒÛ(ñ»Xÿ¬ãsu¿”©Ô¦ŠP8|MÂ1'A†š¾óÙ„þ>‚Œ>Z�åˆª÷ÜÇÆ<v*(w¨þ›»£¤+©bôJöÍ³vøG¤~Võwsƒ1ÜTiÈù �½­Ã1S„*%“bÂ­â:øûDš�¿!Ã•JšDäX%hŠ¨ñÈ]¯ å/öóÒÕ(?ióób±Ýs%“NÑ?Ÿs‘Þg^W¡P¤„-ñ°Y}FÍ#ìÇÙSe†¿*Ãó"aYL¼ª³+«´“:—á¶o;è6Ôi,Ôìå&¸);AºÐmãªå�‘�¶ÜÌÇ3ûò×“„>‘Z«éÖCë÷êw9¸›Ô°7K’`yöü¦X*²Õ×~¦y¥’#¢ôn,Jô¬JB‰tŸgXÄÁjÖï‘iGOàŠû®°Ý~D©C³x-‹®î»sé˜M¥Ið|5©VŒêÂºjÕÅ*	q
-dnùÁ›ÓqŒÐ#›µ ä‰Zø}EcR_ �0n•J>–®”*–�/¢xc¡I‹ÉÙäê%¯BP2�Ž�Ò-¸ç[”U!¥­ÁyøÎ­Ý¾ïÁ�”>”TÈš¤1Žp6	ÁÛÅcU‘O$Æ9Î*¹ÈÂ�NZ%âYª`´’°1§;PáNíÜÎÓÂ¢
-œªÚ�$5‚ûð‚8Ñ3¹6Û9`Q±Œ
-"7ó@TÙ’qA¢°ÂdÆbA7ù<\-U¾âô,×8sQÈÿÅ„q>›]…´é6‹ÑëÖëÐÚ›±±Û´?A¤kª8ƒ>Ù˜-^»tB­ªðÞ»Gµï¤ÿx7í¾MLÔ›×=ÏS.?TdxVk'V5ziÏÚi›ròSw�˜ÎbE5Òo”5ƒB»4„ýˆY4ªËpáO‹èPg`ì»WHâ#[Í¤Oß|¸m
-)GZ{ÏœÊóh6kÎ2Yä}Ô’ªÚu1•ç!"úÌÊwfH?¼ÎJ6*´´-á”pU!*uDgìŠÝi�ÐŒå¶í0›zš¹ãXl;†Ïõf$ätÕmÙ¿²Ûu™0r³ì9E/Æï{I6OÝpa&}Æa‘¤òe`�×,ùC.Í’!aj¾³ÓÌeÛ£>ýÅ¢X)ûexMØ¼
-/c”2n(äu×îã]/½Õ»`8ÎË1…v)6u3Æ‡kíâs¬YíÎš?U¸ê4òH¬æÛ:´ÚïM‹ƒq4p…né©Yc¾�…€©Ä>œ}ws~õ&Z
ävH6Ðø§«¡¼•ø´ÉÌ\V¼…A dÒn#~Šñ<o3ªuî¾¬xký1—b æ“Ú4½Z
k?Í�ÂÝ"l�µ’îÒŽ°¹~eL{Ê¿Rdcê§Ð.EëahõlmíÛHî“îÐ»ˆÇoÊ¼¼t‹œ"“|×f
§ˆ96òfÏ+¯ÍþVè£ªxíæÃ*))²=î‘4Q �´ª•);Tñ©ÌQ2U N³&–Ô%%A\#kµ/;íAßÝö¡*±ÝFé¢Ü6&VIi.¤òŸ›¯JëëTSe&W7ª½�«•…^F]$nªJ…tWS0RmëA8
-îÚ0m�Û•$9Ó¶Ôëˆ>\eÃs¸ÄÎ×[]È5†‘Kº²ª:L¥RkÙ1OÅyÏ¨<\]ŸSeº8 Ò5F<‚£(MäºÖÝ6’Gw¡Ï•4Á%|�tX€¥:GÕêÅ•ü\­k¸M
-­®µNõ1i²¿ýŽ_æ©)‰Æèî{E[ÓK?”è¥.r�b”·©§Ila3‰YÕ8Y2ð¹DÕ¦íÛØì³(È !¢q÷Zzö«’;F€Cef=©:€a<V[ õ
-§ËV³x�McCÑ®[;Wœ.©  Æô|û�U›g—;º¢Lv·RRM»„ˆªJ$çòk¤F5ÒZ2²9R�›YëºÌa#ž!U@B{8ËÈòRà§-—A"¼©ù´àcò”¥©FK¾Ý¦M¼kS D Y}þ§5)2è"G:K¢Ô]Õ[ªò^²lñ/z()M5Ùáq$TDÙ™’(„è¤Ö¨ÚHâ&Wô^5ÛIÎâ¶váFœž ÖáÒUr}1lË‘§m½<L³Yð‡�YÈ­	þ2ÉÄq’Ò�'LMÔáå«’am¦4µîê ¶°†N“D1þ­øª´&ºD[-5Ý•¦#^G«DtNí¶Ÿ9hÔóï:Ý�íõ?á®Ê@obS³ØÉ{²ƒä®j1—œg·vðÆ½G¥lu°¥r^’ÞV¬BM¤ä”
-ñbá—Ü–I¾g÷Èg^àòú	&ñQì³L¿vówG.RAûjÓ‘è*ÚEš&(ìÏÍ&±\	ý~•úÚVïtÂ�¶d6
õL­ç~´åc»4óz›«È*dóe”˜¿’Cú†b•hîí.¤íUYf‰®¬ÚÀQŸ«ix‹p+õæ¿RZrS\l|åÁ»Oˆ×DíUáLìŽ¸¨¬âô­ìvY˜ñ‹/ ÛmršF�HgYü½kWq®´¬³:Kñ„féVËsî^�„Eª
-”È©ëÌó¬˜b£&�Ãmy£Óµr7E´ßZ¦rÚä´�¡LJ=<¤dbŠLÉuºlZ*ûJœÞú+WebHüØXÜ}QF8`Ó–‚fÂh7ŠÆÂm÷Ú¡ûö¤<1ÂU1˜Õ*a‡H¼À’5‡9³ÒÉS]úHtSþ¦˜ù¶€Ãe5õ½ß½ŠdêªÊî)ê|šâLE÷VŸ³ìÌÍ6²*bC^H19,úSEUú3ªª(V=¥Å„¢ý½ZPõ¬¼!– ÄmˆÕIìÌ%ƒ«—SsxÁŠ¢%Xè>’a÷Æ\Œ7QW"àÜDBø$‹Q­VFªoŒ’Le=oã•X[Þ»:�Wó½7ÉqnÞË�S)ø¬ç•¾¥[ƒø�êÈ{óLeº¤Ù2ØPÝ½äBzZÝÎ´À¶zbTV�åy'l¿WvŸ÷…Š»JôÔÃ÷L�ŠÍ˜/îŽËªÝéh´¸¢Sw�p*xÄ€´H†Ë¾òˆb!VxVâ³�
ã†Ô
õ“'.52ù>ž»m!0ÚÍ�Åh–�ŸÏS!Rœho©*nÔ·ÆhonaÆÅbY,Wx<£hZ
-¬Ÿép·„;ms+aú,ÒR¡Ó¥RNÍÞ­Ùj «P,¬9Z‚1pX†m3¡g{™{d7W3T~oKwæ ªªÈhÙF
¶Jlåz©l³ðœŠL6#Êhº¿X§¶žÓªú²ÏËP[4¼0µ^áþ>ó.åY'Ë„siÔ-žû\Ù3´®%RÅº›ÆŒd:#äjø„•c¤°hW!\¤_P¹Óä€e�èõryF+ßdYæÛ-Ê8,—Ë±h*³Éf%í}÷ñB`6Ž@¨nÏÇ�;ä‰^î8Œpù¥Ò\um©í‡F7
-x•äÄUT¢�Z¶ÝËxvVýø^Ä¾I�ÉK£óRjêô9„ßÅúlƒÕH…+ÂšßµÕY…ÈSÉñîµ&Ì Q@ýóÉë†?aI•Í““³µæ+Å_Ô/ìï¾ÊËõÚ=VmpÔn£…kqQS]¬]Xðº3§ê(äìûa¾…Ée¥ðÞìLÅM…
-8#{±[L‰ø¹gUï_Z´õ‡rn^Šû´ÅÁÒ?‘¦[¢Ã@Í%T½³»$÷E6ÅŠJB3!ÏT«7ó¶w…êT«JÏ†+VÏÕú ¾øm5¿D
Ò³<BÎÁËï•NÖ`%ry9g�\S™–Ú!öMÍ?¶Ø³>SuFëÃ±™ªA6¡©h]åKR"e‡$å¤fqLu‰Ñ€`O›LNÄ`é²JTR.Dy¹ÑªøãšõYì‡4f)ëÜ25WÉC`0`�A·õø uÔ€îj8taäÅÎ³R>¾¯Ö:¶\ÍÅŒ¶Èù«Â„—”"AÕ\(Çu¹0,áhõohÑÓ«£&«>n7\oƒÕìã%j~â(ÈÛ% °ÁY >J*Nçn	3›ÓñN›ƒHÌj6ôO~dÉu5>­jv»l˜Ûö�ãØpª÷Ž|»D»›Ïêd‡Í9’¨½:‡NŸ¯„5!¥yz�ŠÅ¸{÷$éb	œ›wQñd‘ '@ïÝ24�Ëìž]ÖfO·
-"žµU.Ñ|yæl­ësM¨j|TËO}¥¤›%µ©Dñ/f[bö‹{­– P—D2)(²†ÚÛ^‹ï®†ª(U�ïÕ,ºÆÔgè§Ûî+jùÝY¼)A_M}5oY7QM‡•ÆXærŸÕ#al:º,’¦^a4Fo{H_<¿$‡’:y“:C¯%KÛP¿"Æ?d8úû¤wÿàš´vé`ÿóŸ~ô’Re@cbZ\8ì—nµW&¬ªÐ»FôiYz›ÑÔÊË´º˜Ÿåœôý×»º‚N�B›|—ØìOHŒý"ÒÇœEžõþÄµ¢éˆÓZL"Ž¢ÏêÉ´©DZê½YToµÓTaŒáöÍ­hxúsšwI:•’šÞ,gG<½Ew'Ä\džùrÞyU�Fã1`*©cÂ:£JißM—Dm]8ªº„´úÝ9v‹:¡Ö3¿ïZÿ$áãå"‡D;¼ùRòÚøs‹)›ÇYV¤¶ø—I—ÐKô-[W�¾,‡îN…-±æ5õ×V“E€†7yW¥œ½´2è,:T®ewmxƒoï‰NÃf`D;-Œ«OIÏÌó¼ÿä~,®¬š¤ö5þÖI$<÷5m\�qB$0VN3 �8JÒ°Q¨¦ÖìÅæÚ¦-‰ýbÐš¯XC”N�.é"iµ€âQ¥$K"zÚ±ŒÂÛ�šje¼²âtÿ}SÏÑô÷2Õ0…—ŽÆ®]"{[®xGÈä¸N3Dç5�×›ä‡ùiMíÕÓ0ßø4’˜Pc!ò[WDžnüs»äÏ7Ï]ò´ÖM¯Ž�qºVº±œb£¢[%_IZ­úBW
-™ÓUÆßý^VÃOúÅ¶j["}Ž]{‰]Ç(Î�a¹žeCwDcåÙpo"[ªhŠº><fÈxTZ©\#æ�{}Q…; þjG®©Ÿð’çÚ†\•¬æÝ7g“ÕT‰I‘hï{òü�«ÄÖõqæþ º!E½vµ+ZÜUõ¡T¢nÒ„°å•ˆ™¢o,fk3\¯í—æ•”l-ô…ª‰JÍœR·ŽØê=4.Í§Y4ñ–»¬ˆæií¥–sÀT7Æm:Ë_{ ¯]w¶%­¡½V*Ûfb2›“Z|0ôDÈ§žÖ�¦Hi\5ÃÎ]¤›ÑœXöèH;Í¹¡I@0R$4DB×²¸”—/ž'#7Bx›Ø°—êå÷ í’:A#hß§åæòèv_šï³˜Bùë‰}ù…R–ÖÈ±X™¼ÆY-+ˆXœ]Èqz²§`Yµ_:=X‘ÊUµ?gà‰]v�qZ�åˆzw,K$ÏÐ¬‹RÛªO=|CŒì’WaÌ[diÞˆréVX“-;/«þa &å:û›¬’—B5ý"Z@'"£‹m·/ÔDÊ’Â¬òh¨ÍT™!{8©†qRã²ì—}ÖÑ#v¨\8ë+Ê0ÉÕ“@YõƒÕ¥îBÐ³imï®MxZAYªçT ÈF¤0(¥SV=M¯>~EGy…†ìïuË×¾ï<m“ÇE8·y^[}õ(„#]C«íç,¦&k3r�®”½Ïsäæ¥åèˆÝÊõ- %]
-]ADv)H?#ØÁN­mD•ø‡šQ¥7·)¬½÷/+§!½±’onîÊá¡ˆ„ß´´b™J&†•üºÊûÈ¦HÙ¯/=äF[1YXl¼º¾Ë8Žh×¥®ØSbüÃ@eË(pX%³Ã–•Cu£Jih·Šž2‹—+	s¦•qQ^¤ûCèLƒ3ï14…Ø6¯Òüy[jYéµîw~7­G½§£ÔLKâíŒ‰—¨¬*Ÿ¬\|U¦Ájò¶Íê¶ª[¸cÝ£mõ¸}K…FÍŸ¸—ËPZ{zpÖŽOg¶XÞ–†–UbIGª¤-�ë½½^Þ$-cS¨:¯Ý:}>OÖž}{Ï•?äòLÆØª&ÁåÛ¶â¡ëÇf¼Øw…(ó¥RÂ·Da‘h³ò’ÔÎ«mk_MËS[�¹y'˜­ÎQHgæô,X!'>§?{5cV™¢Ò]‘wUÖ}µUƒþzêƒ¬ø�rŠ‚Q‘õJÇcÈv°	6…¼‚œÐ¡unÉêRü½o–m²k¥Ñè²žbj²(XBÌÆ`TT´¬¦Ã—[DYÕàƒRÕ©.8B^vâÊZ ¯4ÂP³”]ìm[Òusä�¤[0Î�ÃÃÒ¦yÑ¬Ê-&ÂM]�$‹n²:FéT¤Rj\*¤{æ„–ñf(‘Rö w¯ TGmQƒËuh—ÈP÷¬ˆÒõÍ”?ƒ¾,ÄÂHó «AŠZ~»åðŽuîa“Ö¹BÊQ”XÓîZµH-JW§ý¶U*nÖd³¨Óœ œ;v×¾–Í9éáž¹uñ–ô‚ ¢ŠKµàQ·Ä
UÙ8Ž¢yI¡ÚJXÁ‘æ¼f‘-Ep›ˆ£Òók¨©™TÕËzš:åæØ¦ˆy¼°»¸yËYwOÞÖP:wë“£ÐÝÖJÑG["¿¾z¶ÆQþ°Ø�Ü¬‘\V‘ÛÚáYÞMµm¶ì–)±3ÓJèŒ›AtÛÞ‹ÕçAd_¶ý»Xšb{9n1)6²û±
ƒŠ³’Ê�måÒW“è¡ÜÔ<HŠÆ�­
K�¦ëÊã�SBŸ`Ú¶\“…•;T·Èƒ "cUºGT9ïÖÀ}UAdZìZ×��ã¢À&Õ�yÜ]Ó6û-¥óxº~Ó«EQ›ë…6iúÓŠª$õá:‹q¢µÞóqªœ!˜{9ìPË­Ž±¥j³†p{›C>ú<ì’”·éæáz!ínþÐdñÖ=1•¤«ê²4µSûB½ídÙ,'ag¦•UšçG"ÏJDéÑÇ;¤|õÈ5§ù«„UJ·hV„†«×²È?%"så™H?t;í8­	Do¶›_Õy›“g×º»7uªìÙø�’¯£:<ù¾namó­Ê°ªG@8í-Ú¼�¶×tO
¶ùLÚí¹çíúº’;ºÜÙY6‹«Yiþæî}PªRŒG¡RõgSÄö‚ÕÁ?}í%‘Ç»°r’î[ç´”É ­Òß‘²E"uY=W±zÁÊß@Ú6p=
‹j¢’×ÝÐÆ¤½‰u#Rr8…ÌŒ\_A"©‘NÃß¹SjoSX©ÜX)‘UC	k+-B÷±šVºÂúæŸ>¥Êº�~ÜÞÝr†åË…-®Áe0‹e–î§4Û‰Èbõ®Ògª/Ñ©ßü­d†]Šc�{¾Ø­�Ú¢ÎZ·�ƒ¾ÛÅ>Î‰–Û#
Ð{ÌÛ6Ëm6g
-aQ©¸wß²Ø #Â~�íÍAô&í>[º‰šõPÅ9­ØÂ¶˜·KK4ÕÈ©óšœ ©(4Œ‰‘[šDžC˜DÏl=L�‹mÕÊ}ÍJ4¢&Ó¬§t‹l´¸þ"ÍÄÝ¥)"©::L¼“AÅ<]ºs®Mè-¶R!§–e_^cÔÑï'Â:
-5@)6ö:b“Á”OAÃ2Db±Yû…kÃ„ÏF¡ýnÝ[)ªG­¯Äaž×	‰*)]1ÅÐ“K”Eú«—/bƒG1øuZ!ŸŒ»µQEt:…eZõù`>'J9e4=¿S¥œEÕZHCês]+r8_,TÎÌ[6o�÷.wX@î©´8�R	‡ê˜µ’Y‡™‹oÛÖÕþ¶}Ùéx~‘«…�O$²ˆ×‘[H7^·+ØœÍb1øà«”Ñx«Z†#j�ºÝµ<ŠD˜uMeB
-)oãiiVUé¹:™ü©—�#ùë.?MªJ»õ0m§wCß&&ÀD=jQ±ä6âZ2¬:FQýMÜ’¦µ;õ³O{;i~‘§$ÂØa¥‡±«·�sXìIûä›‡ñ@UF	‘<û°è†¤æ¸ÑPX�\Z³þ?š˜ÑFkCK”j"Ãh!×[úH½|SHµÊK1k�šÅS¨
-»ªn,w?a	�ÕÖ
-“ €€„cnÛµí±!‘ÍÊyôQÿƒÑ$º+¿#^ý(�™ÍR`êH‘úÍ§ò–„O1°z+?¦ú½Í‹”»ÅcâÉ)(°kÊÑ}ëV>)þæNEÖMd˜oÕ¡Ý¾Ðî1É5/tÚGëÔnU6wU‰ÓÍD¾·éïÛæ³HÉ
@Ä�$TGèG‹ùìPSÊ=rUV›zxü¨çÍWQ*ËHÓ¬·Z+Ÿ~ÅiœfÔã¶–câ›Äu–ØŸ›Á¨â,m2Õ|B—b‹Ý!kS×??m›ö‰×á§í?öo1F–K(:ÿ>§�ŒÛÐbU‘¦Ò’6U)Â¦&e7ØZæìqú±ÄÞ‘OP�[wÊ:v/¼ÐR¦"@½žî£â�}‚D6WòÊ1ÃEºœKÊQš7œS€R>	r÷’$zMd8GÈZ‹pµy§’!W†Íë3ì´0vënQu8›+ŒèÛÔÐóøSôØ½¢´–øªÄj][\µi¬S–#w‰Ÿ»7ÓëpM•#B×*¶"YŽSá_ÉOnÞ›§R¡Kq‡ÈÉ…ÕŒh™Oãå‘CBÑ�¥m—ÞØd°ÓšM»ã¨Å
-ÈmIYÀ�ºõšýx=4ŒÞØ&±½ŸøgIØ[Avðú%nµ�Ì¿%„ar³­Î+¢æMNAŠ¡29(s²ä:Jö~‘ŸïÑC«H0Ã=Þ}Ûk¸íWu×…VÇ½ócØè¨¹ÍáµÛæu«ûæAZªš¥Ð<IÇ»IÑ˜ZÇúža.Í´IQ;)ú–›)´¨J¨íFÍa¬¦éÕj|‰‹²ˆP·sïC„$å¹�f“R$',œÍŒ«JtZZ¹^À³4¾¸JÝa%å´R
-: 
-`÷’'55—#²‚ïVÁîÚïñV±Ð÷ý�æ4ÎÂ"[Œzü>JßwSÿþÝÏ~ñ+è}ûû7¿ùöoý½”¹'ðU×ôý$±�:'xÂ/°ÆÃPÀbM*º,Öp`
-X¬Y.j‹�Ê~ƒÅW°˜,,fÇT°˜>­€Å°T°–7X¬�)`±&äå)ø,ÖØ€ê",ö¼Ó,Ö”¡ú‹µÌ°X£¼€ÅÐÁyƒÅ°V°–£mXËs>Àb²°˜,û6�ÅôY[+`±–2eƒþlÊ,Fø,¶^g‹8«`±É2a¬&«ƒÅ�z–Ü	,FHé
{\Õ°×UÁbë�Ïq~€Åd]Û“¥€Å°¼ÁbXXC‹ayÖè°˜%Ýg°ÚQ,6X,�ãWW°�´7XÌä&g°ØªNÅ,6,å‰¤ÕÀb„ï*XŒgý‹¡MQÁb’¡¸*WL¶Â“¥pÅd]$¹6qÅd=ï‰+†¥rÅ¬òà“+†èJåŠ­ŠÓÎ\1™/®X[C;&¬0ÚWŒ™ðÅ“qæŠaxnØàŠ½æÝX­º	vü›+Öé(/\±ÞzåŠu	x®X�‚çäŠÉR¸b]UÁŸ\±NAJáŠa©\1,o®XÇ?/\±Þ®®X&Ú7W¬KåjâŠu5†Í\±ÞÛ‹+&[áŠÉR¸bXÞ\±®ö‡™+†¥rÅ°¼¹b½�\±.áŸ‰+ö~Ž_ü9wêÉ?¹bWLGÍ\1/®ÆÂÃP¸bÏlýæŠ5ÑÒW¬©¼pâŠ5éî}pÅ53WŒ5±pÅ¨®õ¨\1Œë}
®˜3W¬õåÍÃølÄWCáŠÉðÉk¢�ƒ+ÖÈÎ\±FýÍW¬!$¸îƒ+ÖLôvpÅÒ0sÅ†Ñó]-à@AÓÛþÉc*)\±&øÌ1¸bÃ0¸bis®˜~ÇÌk)}rÅZß+WL†¾®˜NûäŠ55µO\±&ìÇàŠñ÷‹+Öz«\±¦êË‰+6W,�ÁãÃWíÅkèÍ\±FzæŠ¥aæŠ¥1¸bM*iW¬íç›+Öõž¸b�Já™+ÖØÔ|rÅáû™+öŒ“Êk÷öæŠa,\±Ær1sÅú²¼¹bWCáŠu)pÅ0®˜3WL†®XSÒ`âŠ1­®Økª‹µŽÂ”WŒ„cáŠQ}S¸bhú¼¸bWLR@3WL‚AŸ\1g®˜N›¹búàO®{ßÂcŸ]¸bdR_\1~JáŠqZáŠioüÉÓžzæŠÙ&;¹búó“+&ãÌ“aæŠé»>¸büÚÂã’W,
W,mÁcÓ_¹b½�W¬k¡œ¹b�VÃ™+ÖûùæŠqTáŠ	1[¸b¢¿¸bÂÇ®w¡pÅÒ0sÅÒ\1é Ì\±"­3W¬÷»rÅ:Yâ™+–†™+6ŒÎëìEg®´ßWŒK(\±¾¯•+&™‘O®˜Œ3WL†™+Ö÷öæŠa,\1…+ÖU�öÁãš
-WL@â™+fƒâƒ+Ö·½rÅŒw<qÅ†a
£Ç²»ºWŒoqÅ;…+&ñÌKÃÌKcpÅºš,&®˜pÏŸ\1žöÌÃ©\±ükæŠ¥1¸b|FáŠì~qÅ:ûþ™+ÆëP¸b¦oS¸b’Á™¹b
-W¬ŸíÍSÀpæŠa(\1ñÁ#ðX¸b]½›W¡šO®JJ…+Æü\¸bÃ0qÅ†Ñ¹bÌ~…+Æ—½¸bº‚™+†aæŠIKç“+fÆ‰+¦³f®˜ý²®ëHáŠ±>®Ø0L\±4W¬k<sÅ¤ç÷âŠé®˜´›f®ÚM/®˜d�f®/áŠu"dŸ\1m�f®;•ÂKCy­Ã\±NmÊÌëëþæŠõå¬\±¾ôÊëÊ�¹bx]3W¬)îP¹bÏf pÅºrÅp?¹b²Í\13L\13|pÅ0®˜3WL†O®Ø³|W®†™+ÆßŸ\±ÆÜ=sÅ‚F3WŒ}Ì‹+ÖB¹)¸b
-WLÛŸO®ÆÂ3ÃÄÓiDRf®XCpæŠ5)M\1¾/®[‡™+F¼ºpÅÒ0sÅÒ˜\1î[åŠµs}sÅšÄmg®X£¾pÅžËù®ÖÊÃR¹bM•ÿŸ\1¬…+†aæŠé€W¬IxmæŠ5©íÏ\±Foä‹+†µrÅ°T®Ø³ÚWLÖÂÓ™3WLþâŠñ
-W¬1~WlXf®XZƒ+Ö´DM\±vmo®X»{åŠ1i®X
-WlXƒ+ÖÄDŸ(b�J€W¬QVP¸bvg®Ø°Ì\±Éê\±•¬ÎÓ�yqÅd-\1,•+†åÍÃZ¹b²®˜,/®ÖÂãRW¬]Û›+–“qÅÄ4sÅÒP¸bÃ\1ûø™+Æ~÷Í#[¹bŠ5®‘ÀWŒ€áÌS qæŠ¥¡pÅ†Õ¸bVîÌ#˜ðæŠa­\1,•+ÖRšjæŠa­\1Y
-WLg¾¸bín\1naåŠ
ËÌÖàŠñ.T®X;Ï7WÌÚ™+FŒ¦rÅ&KrÅ†-¨@M•é3WŒiðÍÓˆ+\1^³Âkòå?¹bX+WL–ÂÓ™/®˜¬…+Ö¤Q>sÅ°¼¹b\ZåŠ5²i…+6Y&®Ø°W¬�ÇWŒ`×›+Ööóƒ+FÐ¸pÅûõW¬I„qæŠámT®AÀW¬mÇW¬mÛW¬¥„ùÌkíüàŠ‘Ò­\±É2qÅ†5¸bÍÒPƒ+ÆW¾¸bÊ!®–sY&®˜,/®˜¬…+¦Ï*\1ýÊWŒ`{åŠ6?ÖeâŠM–Á›ŒÆkJ¾bñçO®X£Š¨pÅZ¿+W¬õë;¸bXß\±fJªmpÅä]®Ød™¸bÃ\±Fà´pÅ˜TÞ\1ÖêÊcCQ¹bÃ2sÅ†5¸bÌ×•+FDôÅ#V¹bD�
-WŒàÅ›+F0¬rÅ8ñÍ#„R¹bÈÒV®³o®˜ÚWÌD‚f®XZf®X�+¦Ÿ‰+&ÉáO®˜g®í……+ö
-GDù÷rÅzô®X_÷®˜Ž+\±®ŠÒO®X§á¼pÅØæV®÷ýÍ“µpÅ°T®–7WLÏ±pÅ°®˜¢e/®Ã§pÅ:YŒÂ#ÚúæŠ³«\±~´®X?îïàŠž¹bDj*WŒÇ›+†µpÅtØÌÃðæŠÉZ¸b
- ®–7WLY…Â³’·‰+Öù—WL„™+FX©rÅÔ@üÉ“b}áŠÑŽ\¸b]ÙO®ýÉ•+¦_4sÅ¸Í/®ÆÂÃP¹b’$qÅ^+\1Y
-WL–WkåŠ©GºpÅ¸9o®¬ÂM¡pÅ@h¾¹bt2V®˜�…+Æ}}qÅˆ‡U®BÙ…+ÆìøæŠuõ€Ï\1Bfo®ÖÊã-ª\±.ñÂO®ÖÊ“¥pÅdyqÅ”¦˜¹b\DåŠqâ›+öÌö\±®Êä™+Æ”øâŠÙ<9qÅ4•®Ø{Žùû‡ãŠY¾àƒ+Æ<6sÅz€.‚+ÖÏíÅÃV¸b
-WL†O®˜ŒWÌ\1þ~qÅ4‰Î\±®pâÄëÒfüàŠ1�®˜¡™+Æ¼þâŠi²Ÿ¹b]µ½WL†O®ÆÂ“aæŠé´O®nJáŠõ­W®Øë™}ù‡Žë›+†õ8÷‰+&wÛ&®–í:?¸b²Ê+
®˜,ª
®˜>ë8ïÊ“3\¸bT�®ñË7W¬)-5sÅØå®…/R+\1¬ëvO\1È®˜ŽYöÊkíúàŠé–kâŠaéëýÁ£x£rÅlã6sÅˆ¿¾¹bbT®ÑìÂk’\þäŠ‚¯\±‰ñäŠáí¿¹bl�+WLáÎÂSàôÅ#BP¹b-‰ÄÁkÂ™|rÅ·(\1,•+&Ë‹+†µrÅd™¸böIŸ\1®¬rÅ¸c…+¦8Ã‹+F¬§rÅEœ¹bM|”®ç®Ï£rÅÁ¾¹b„*WLƒbæŠ‘—xsÅ	ÎÂ#ÌS¹b|ø›+Æ«\1>«rÅ¹âWŒ+©\1…–f®_ùæŠÉ:sÅd(\1,/®X;zåŠÙíš¹bXÞ\1®´rÅšT4&®Ø{–ü!—fü­W¬	§ÜWfæŠqÀ‹+&ãÌÃ âöàŠa8Î\1ŒÒvÁ“aæŠa¸—û,\±& ÷ÄkÂ-mÉk¸B÷Z¹b*ž¹bT!î;1PãŠ–yqÅ0Î\±&ß‰+&ÃÝîÂÃ(¥ÊàŠa�>hpÅd ”ræŠ¾Y÷õN®‹SáŠ‘îzqÅ˜ö
-WŒÚÑÂ£tí“+Fº£pÅ®XÓfíƒ+Æd3sÅÚ½V®˜f£O®I“ÂSjmâŠ‘|qÅ�š¹b
´×r$WŒGøâŠ)ð7sÅšŠc'®ÊWL](WŒ¸iáŠ±à¿¸bœU¸bLK…+¦àê'WcáŠqI…+&Ã'W¬…ÈLpÅì´‰+Æ¿¸b-ÕÁk
-"'W¬©æƒ+¦ùuæŠ5‘°'®X%çƒ+Æ$Öy§ƒ+¦rÛgÆN®ƒš	|âŠ)F9sÅš8ÇàŠq‰/®‹BáŠ‘Â-\1R¿/®˜ªf®§®¾Ð‹+Æu®X‰µ
®3ê'WŒmnáŠiÚ�¹b­­o®˜Œ3WL†c\±¦
-ï½rÅ0®×X¸b.?+6:´I®Ø*Ùƒ%¹bê1úäŠÉÃœ¹b«êa·Á#óâŠi·>sÅØ
®;÷¥·Ê“ñ¼WC#N\1r}g®X“úöàŠñ÷sEƒ+f†ÊÓIí\±&*V\1µ(ígåŠ™¹bøq»ïàŠ­JÓU®±˜Âkªµœ¸b
-!|rÅ¬WlpÅ¸«…+Ö”þàŠ)²±/W¬¥ähpÅðKÞ\1¥õg®X#˜4sÅšt³?¸b,!•+¦$[áŠ™'üÉk©K®~ô›+ÆÙ•+Æë]¹bí¼¿ƒ+V­z¡Ïhwq®X‹ª¬Â“µpÅd)\1,o®ÖÊkªpž¹bXÞ\1ÐÊSÆ¿pÅXÀß\1YWKáŠaxqÅ0V®˜òÉ3WÃ›+†cQ¹bX*W‡äÍkÂ­L\1?…+FÍØ‹+¦¾«Â#I_¹b½oßÁ#5S¹bSzÀ¹b3¿¹b]$™™+&KáŠéÌWkåŠa™¸büùæŠQ¬Z¹bŠë®X§!äÅÃZ¹b]„ž™+†åÅÃX¸bº‰…+&Ë'W¬+ë9qÅH¦U®XØ´rÅTFX¸bŒ’ÊSÂ‹+ÖƒŸ¹bœY¹b]í¶\±nŠPƒ+Fë]åŠõõþ®XoËWŒ3+W¬Ã‡{qÅ:ª\…+Æï®\1ê'_\1Œ•+f–‰+VÎK®˜¬…+†¥rÅ°¼¹b=—’+Ö—`ÐWŒWôÍS)gáŠé*
-W¬‹fûÉS#âÌSù}áŠÑ•øÉc(\1æœÂ£\íÅÓ¾dæŠµhx	®Xwy¯™+¦	gâŠñnÎ\1µM¼¸b²®–Êë’ÖüäŠ©Á¢pÅ,Ë<sÅdyqÅ¨¸/\1ŠàWL¹ÃO®˜…Ë'®˜Ú~f®ù²7WL:Œ…+6ä{�+&ø‹+F2¯rÅ¾W®˜i?¹bÆ®�¹bŠåÏ\1¾òÍSyyáŠ©Ý¦pÅXþÉSv­pÅd)\1�ùâŠ¡ñX¸bªÞŸ¹b=¸*3W¬ïýƒ+fÍ%3WŒlÊ›+¦3W¬+T7qÅÀ¿¹b\GåŠu¹i3WLéäW¬ø4sÅhà¨\1Z^\1­®Q¹b4 ¼¹b]¼“™+Æ�ž¹bj·zqÅ¬skâŠa¨\1,o®Ö™+¦†¤Â“åÅSÎºpÅ,Ç5sÅÔ¿ñÉãwW®oCáŠ‘}sÅ’ˆœ\1>ªpÅ¸„7WÌ¬•+Fr½rÅæ•+¦Þ»WŒìpåŠI¡·pÅ„ÿäŠ‘..\1=Ù™+Æø}qÅx
-W¬kèM\1æìWL5>WŒÑÂcMÿäŠQQT¸b]sòWW£pÅÈ»®G¼¸b8¼…+Ö”‚Ÿ¸bJ~rÅÚ¾V®A˜ÂS¯ðWŒÜQáŠ)Ä0qÅ^ã2ý/ÀSeÀ‹+¦Ê€ÂSÀÌ“áÅëêbž¸bŒÂÂ£sðÅÃX¸b2Ì\1;âƒ+¦Ïš¹b
-WÃ‹+Ö·;¸b}¿*WŒùöÅcÞ/\1ÞùÂ£ìÅcá/\1jH
-WŒWûÅSaÉÄS¹ÈÌÃðâŠÉ8sÅd˜¹búœO®ó…+FmÛÌÛh*ùäŠIêKŠŽq”6ÇàŠ
Ã„·FçŠI×�½¬3Ã¤žŒ¿í»“!Šcè¬š¹bRpþàŠÉ6sÅd˜¹b^\1Œ…+¶¡ž4sÅ6yà•+†ÔôÌC¦æŠ�¿'®Xƒ+†:BØÁC®]1„™+&Év‹;˜…uE¤ƒ+–†rãÃ\1“£oÉãÆ«ÐyâŠIŸ’ž‹¡X/×`‹ÉHo�ÅdÀs²kA™Èb²­k’ÅDQ`/d1òf²£Eaœ ‹ñ¸
-YL …O²Ëq!‹É!˜Ébê(|‘Åd-d1,•,öž>çzðO"‹)îõIkÊ‡Od1bf…,¦Uò“,¦|ÖL“a&‹é´O²Æ™,¦˜æLS_Ò'YLÀ™,FC!‹Qýð"‹¡MQÈbê-›Ébêû$‹É8“Åd˜Ébª�ø ‹‘™Èbê“›ÈbJž|’Å¨˜ÉbÜúB{=±/?à PÒòE£%´’Åt\!‹ay“Åd-d1E/Y¬Éý$‹©d±NH¤�Å^z“ÅÔ‹[Èb]ìò™,Æ&àM“µ�Åºd�g²–7YLmã…,¦�g!‹õP³.d1íÌYŒ]@%‹±y“ÅºD9g²õs…,–†™,6Œž¨W'!‹õ##¾Y¬+2“ÅTÁ7‘Åìï²Xƒ,f?g&‹1i¾Éb²²˜,…,†åMÓ^­�ÅúqV²˜D?_d±®7v&‹±	¯d±É2Mk�ÅøÊJãF¿Éb’„(d1Å»f²Ø0Ìd±a
²˜ŠY¬o!Ï>“Å8³’Å<+d±®0Ä'YŒØ`!‹—­d1"°o²˜â²…,¦­W!‹)ñ"‹ÉZÈbX*YË›,¦Øi!‹ÉRÈbvÌ'YŒ˜q%‹q­d±÷\ùC.ÏäŒßd1j³Y¬­çYŒN­7Yk%‹5¹N3Y¬µþd1Yg²˜N,d1}ø‹,fy÷‰,ÖÔ0>“Åš(NŸd1¶Á•,FR½’ÅZÒg²˜êU
-YL–B³š–O²˜¬…,&ËLÓW¾Èb”ÌT²�¤’Å†e&‹™u&‹5s¼ƒF¡ìYLe<ƒ,&=®™,F…á›,&-„BSqÜD£öäEK9‚<ª�d1³T²XÚ‚,¦‚”B£ÔçM³ZÅ™,†SUÉbÃ2“Å&«“ÅÚŠ A£¨òMkyºæãÖ²˜JŽ>Éb2²˜,…,†åEk
-}Îd±¦ æLÃò&‹)ê4“Å¤WÈb6>>ÉbMbÔ3YŒ›QÉb“e‚	MV'‹©µ�Å¨™{“ÅÔÝZÈb
-œÉbi˜Ébi²_ÈbŒæ7YŒ!PÉbì*YlXf²˜Yg²5•,ÖÔðöI£È»’ÅZô$YLB�/²˜”g²˜„YLÍ¨/²ÖJÃRÉb:æEk}û ‹©„¿�ÅZÛ¿ƒ,ÆWÉbªÌ*d±É2‘Å&«Èb|R%‹ñ�o²˜®£�Å°T²˜,/²˜Yg²˜,…,f¿ò“,Ö¤;“ÅXl+Yl²Ld±a
²XS0a&‹5�,>Ébz&…,f
-»3YŒÚ½7YŒ×¤’Å$UZÈb¬o²˜ö�…,FYH%‹
K™Òd±vï?®d1ë£ÿ$‹™¦ÐLC7q&‹‘ø~“ÅLÂh&‹Ej¸�ÅpJ+Y¬K¹a&‹Ñ$ô&‹™u&‹™e&‹™å“,†Ã\Éb²²˜,/²˜rÐYŒ¿+Y÷ü“,FÕJ%‹õýü ‹IàìEÃZÉbX*YL[»O²˜äY¬XÔb®_d1â÷…,FïõL#JþIcTÉbX*YlXf²˜Y'²·´�Å¤*òIS9ÏDë}«d1Ô˜_d1Œ…,&Íæ™,F›ô'Y[!‹a(d1ñI“ÖÊL#cVÈbTÊ¼ÈbYC!‹ax‘ÅdœÈb:k&‹és?Éb]ÛÖ‰,F§]!‹ÉðIË£’,Öµ’%5LbÛd±N¤}"‹1mT²XZf²Xƒ,Æþ®�Å$[ðI£‚¦�Åtƒf²Xf²Ø0:YŒÈU!‹õÈ Ld1Ùf²X_—BcýAÃTÈb2Ld1ýýIãƒYŒë«d±¾^ßAËÉ7C!¡�ÅÒ2“ÅÒd1ûøAë*ô¨d1ê‰
-YÌB®ƒ,F”úM#\Éb
-»²XZf²˜'²˜Ê8g²Øãv½ÉbYÃLÓßŸd1Œ…,&ÃLë¢%~�Åxr3Y¬/½�Åâï‰,¦ ‹)O>“Å:Ø'YLëçLSyäDOd±4FP—ÛDc>{‘Å4¬f²o~!‹è}‘Å0²˜YLg}’ÅdœÉb
-YÃ‹,Æ%
²˜zº'²Øø{"‹™q"‹©Ls"‹)ÂöI£�b&‹IAv&‹uõ~�Å¤á:“Åp
-YŒØã‹,Ö÷³�Å œÉb*Jú$‹².d1Ä
-Y,
3Yl�,¦˜™,¦oû ‹)=>“Å0²˜Ÿd1g²˜>g"‹e¹ÕL#ü[Èb*šÉbÃ0‘Å†ÑÉb=rHÁ#Úü"‹©üj&‹v/d±®Ê‚²˜ŒŸd1>«�ÅäõMd±ü{"‹…-Èb]M3YŒÉa"‹©<Ud1üüB3ÃY,�A“äßLcgð"‹µó¨d1jp
-YLÍcŸd1…,¦†Ò²=M…,Fèk&‹Q¹ó"‹’œÉb´ƒ²X
-YlXƒ,&ÕŒB£™òMSËÐL{v›d±w„ø‡Œ?ÿ‘,ö‡�ÅÎnåÍ3XŒ¢$æ¾°Q*wGi°ÓUð'ªØéE	»¼B)™b·+¤¤hcA•‚(&Ö1ŽZÅtD¿gž˜ˆ÷ç ‰ÝÞY“01y¯ÇUYbÊóÞ#¤0z@MA6/‹•ÔÀ½W”Ø!ùÛc ÄöÃJ¹ƒ$¶y…C‰™@^1á:Ös`Äpt¶û¨±~Ú—1VeœÔ@ˆQ™{î­Ä0¶³€†½ŸƒÆÇlë1ãÃ6�m&=ŒDQ,ƒ¡AÈfb‡±…Zî+Ña»ù¤ƒ–†S•Æä†Qw|¥„í†¯ÂàÉc.­$1ŒV�ã¬¼0l4'.LHÒí´0ð£­�FÍ�5ÖÛ�&+ŒÒ�µ¢Âš+%%)�j�&ƒz&RXƒÖvkC0Wô*œ0D?Ö}Â‰-ƒ¶Ô;¾$l‰w)úä¼â¡òÀ…q
Œž{ÿÀ�5SH4°/OÀÀ(�\?P`t,»2ƒ‘Àº¬›êvå€ÝVÜ”°˜¸À{õfÝu…¦h;ƒ<Œ¨�ìç–0ZÁsÚrâÎÙ­Û1`’´9Ï€}N�±PY
¯·ÔÞÿKOC7>ø_JVßë–ü/�$
-/'˜l„ífã­]f#¹mÆ€WínÀì½Ø®SÎpig€©í6`”ž(ý–0éH-§¥&¦ç²ïƒ¦½·sÀÈ†©<pF€É¨Ï
˜,Û:`ì¾Í0¬z&IÃ¢TEÀTr³ù‡gú‰Ä·v¢I[%Ñ³ïö~”_âQã˜*s;!À0Z¨Ý`:Šg0¦ú;`RWZØ©0õªÚ„—b«°flUà–h/<7½�3ŒÈ-a#O­vqÇ©qu¹‰þ…
-Ëÿ’*Ûg¡p_…üEæ“)1À_
-Ä³�sî—<<úY&šuùÚõ‹T—€~gDw2Æ„ÆŸ:Fù%I�¥%�'þž�_ió,”1{¶yñn³Ì´¯ã6À@ØPÿAœ:X_ù÷@}…ÉI_\ü½&ç‹Š!‘Ž'Ì×ZœNùâoïW×çp¡3ãëðŽÏàW.`ˆ/š>xógÂ—^jfð…>jÁ÷Ê¿'¼WØ‚îÅöO]nŽí:ãÆLl/Äh

ºáølAöŠ¿g°WØ‚ëEO±J‹ëu«-¤@½TLÆ™^„
-»iØßg˜‰^DW×·Í÷Üj®d[D/©s2[ÏD/e	p‚è¥uŽ’î z±Ê{"zaÔ
ù6 N’èµJCø,@/lêX
- —¼»ô’A¼ðI	sU°¾IôbžPä2ˆ^¯™+V/
-BTé8½HôIP"ˆ^T½((D/ÔtÔY3½0®´”ÑK"<jßw¢—¤zL6f½d´‰Î:ñ9«ÙÔ(Á<}.çôbË)óz±½µªEz‘À´PÜôjj1<“ç%AITM¸¸‚ÂÌóÒN–Ýwð¼d D/8&zÉ˜8/ý¥’tÇyÉÀiÂyñ[µ}
-œ¬;8¯4L8¯´Î‹�ö%�'0]dJmG1ã¼È
-k~Ç‘]ZÔ]ê</JŸ!²™çÅaêž—Ð®Z�ƒÓ%ð©VÉ‰çµFÇeZ¹
ÛÁóJÃÌóJcð¼¤?¢¾S'u­G•èòˆÀ#wfÍ¨qY¨­'Î+þži^is˜—
-!890]«æ¾ý*0/¾_!À<ê²±Á–´ÇjÇdyÉ¨µÈY^¢)ßFüRg•˜[k…å…Q;ó`yaÐ{,/šŸg–—ÄY›!,Åò˜a”.ûVX^Ôï×t�ÃÇ�(¯a˜˜?ÃèÁc9¯L2AéâÛÕX7³¼7òSò¨Û;ûƒå•†™å•Æ`y	/€+˜.y¶ˆM(/µœ×<ˆçÀÓË+ÿšY^i–bÊJNéR©ˆ4ÛGE ¤x·a[%Š²õ$y™
‰Î�ò’òÌjM0¾qÛ]‹ÓQ^äBÌ(/Eè(”I.ÊKG(ù=©}-«iÚÊÕIÊ¥melg–—DziOÎƒöpF]]/
ÊkåÅÌwZ…Iq®‹iñÍ$¯¦†• Øä$ƒÁ¸%§$õMwäe6ÁÓ%ËI¢.9ÈË~‹ÉòbýÐr /–Ey&ò†	ä•Æy5íbŸW5#ÒÐ£\»€¼tû‰¦¦UbI*&pâöÄÌñ’ÌþYp¼xñ5•¡�„>xæxi—ƒ‘G¡Þ×\¿H{Î0”w:ŒÁñR9®jp¼Ø5išš9^*^ÆÍŽ×*IZÓ™—›½
-L{Þ…ã¥èwÂ]ÒîXú:s¼¤eÀ+Ç,‹Eóƒãuï–cš0^2�gR¼ô÷~%ÄëvÞÖÌð"ûL.^w¸èNðâo5MN¯Û?/ø]ÒQ½ÏÀw!Ñª�Ò wÅð.‰”Þg²»ß›Îè.ÓFJp×áýMÁíb#Ã ™±]‡û3Aí:<ÎÐ.ÎaäÍÌ®Ó³�ìb¹cÄ.‰H=³Æìº\®;€],v¼¶ÁëŠ¿g\WØ’ÖuÇÀX—HEŠ8Ì´.¼öµIëÂÅØ#@l£õ™öô.ZV[
ƒÖ%«Ík¯ÌW5½—Ô¦Z7VUn­K
-º4Çuéˆx�RÿHÕ]%»Žë’°ÕáŠÂÂu©<do•Öµª±t‚ua°8PÀº(=’û]`]²vÿ8»‹ë;Ëœê³å4Î°.~€ÍÃëºï�éRóßè¢²Áå³W-9Ï�è–Dº¶µ�¹$ôÒ˜‹Y€�~”¢ÄßË•Æ r­"Š;>L\«éÍÍX.Ð}¹Þ³Ç]Q€*°\Ã2c¹&«c¹­ÑJäX.ý’U-’–KV6Â‰åÂbÑ·ÀraÙ–«U,—rŠó–Ë²>ü…å’ç¶`¹°âW•KÚ·*”wÞÖª:�ë(T®œZó(ä~”Cq*W
-•kXƒÊeL.ùš;ì(•W—ÎÖæãÿu—HÉèœ¶g³A<¢„åRì�ª½€r¥¡@¹†Õ \óÈ \ÒîbE,P.U…êy”KÚ]g§'hºN­B¹$ÍesƒC¹L³÷¼”ËtÀÔM5A¹˜Ö*J(—*J-×äP®a™¡\ÃP.Þ„Þ·Ûâ­QÝW�rÙªÉìVˆ-íH®ü;�\a	˜]‘šG‚²ÅcTR·Ð¸4Ò”Ëã¨Q£¯+q\zÍgŸp\X}Cæ8.Yvt)P¢3ßÈ&ŽË^ïc8.,
-k%ŽKzDw »ÇÅµù™1e7U2)p\“eÂq
kà¸P§²•,0[·G_
-�ë^Œ/�Æk3%•`q±ÕV`yFqÑc«Dc�¸ÎHzˆe³™Ã%„ÆýUR¸ØØ.ë1àZ’ûV^vbpIMpïÃ²&Ià†	À•Æào‘9ÀÿNþ©û°^™èm ïª‰5è[”ë²áHøÖáúV…½…Q7)Ð[BH,ÎÙ’æÛðÞ’áq}•Ü-jâB]I‡aÔ­a3è™Æqð´¤K9äQ-61§Qœæ™ºuzœ´@·ÐÖU"|fn©Jv±—OÑ†#Ò=AÜ†	¸•Æàm]»Ë©×mªµŸªþ™Ó,‘Çm‘ŸÜÖ°Ì¸­a
ÜƒFbÉ‰Ûb\ù�¸-¥€Á
-ÜÁ	%oKrúFj˜x[šD4?o‹3¥‹_x[„9T{�¼-zC´ÓJŽ–Ø?û]q[-v–ã0içÈ
òZfÜV·¥¶f[ÇmI‰—+šq[êê£à2p[ôÜ©Ð.p[¯¨n„{/nK»7<ê‚ÛZ·ånKÇuõÃ9nKâ¤š�gÜ–Fß©Æ*Çm1�êmKÜ·Ýj?fÜ–¬Û:h[j|'‚’´-,Ú+Ú–ž¢¦Ë maQ®(h[Šg¹?’°-ÆŽ|Ì¤mÁ³XÛ9`[ÏúôUálOS@<9[4Æ+í’œ- RRX/œ-"´€4ÎQÅ“³EüAAœÂÙÂjÕÎÙÒa—c.¤kI±®’ä3gKVÉxµÂ–*vÌÅtfK¡~Í®�Ù²ú¯ãHÌV[¼�±`¶DÐªœ-b>Úð&gKí´j3œ8[Rpgf‹Þ\if«)í¹ß³E³®•"fK¿È‚ªÎÙâ6›«1ƒ¶°JÌ/I[XLNÒ–Dºå‡Ï¤-¿x¦IÚ’……#I[²ho1“¶°*<–¤-õËaÒ·Ç&®™´E„ÉŠµ%ÀÀ)ž˜£¶ JJR¸ ¶híÓÛ�¨-QÖí¨-î­F[am²Òö Y[Mû
-œ�µÅã2âÌÌÚb}0(O°¶ˆj™þÈÌÚÂjjÓÁÚâÊ%Â™¬-¦X®ÊÚ’…RéÁÚ’ÅâdÎÚ’å8*jK�XƒµÅEhŽ
-ÔçYUÄŒÚ¢‡Ð'Gm©šCËa ¶4gÈéŸY[6Iö}À¶4‘Ú|á°­÷³÷Û²€þ²ØÃIú ÛÒÛÆ®<`[mñŒÚÛj¡4°-
-WlKbV3lKFÞÃ mÙQûž¸-„µfÚ–¦RÆyÐ¶x,*s	Ú–UÌ\k¡m1�kþÚ–Ö ¢èAÛZ¥«dr|9æ­ç}§m­ê©½®¤mÉ@Âu¦m©0ëì	ÛÒß·}™`[:‹0ÄÛÂG‘ZWÀ¶¸h¹fALz=³/?à° "y÷ŠÚBfô”~±‹Å©:GÂ¾Ú"®ÉO-œ­ÃK€³…áè÷ l©îçÜ*dßWa¿`l±hG`‹·T‡%·'Â¹"|ùl!˜$ÎùZ‡š÷îŠ×’è½
ºïÞåD,Õ§i¤lp­Ã%%’­Å‡/× kWÞ½‚µŽË0,ÉÕ:Ï¼ŽÕÒ¥®ª…Üº<ÿ`jÝ.•H-Bbåœ‘ZR Ö5Rk�Ìt"µðè•ë,H-©skÅ¤–B’Ú�RKÑMÅ&g¤–¢O‡—˜éõ\
Æ»¤ñ½!©¥¨Ã}]©…Åf�Ô’¥}µÔ«¥¨jµdQÀÕˆZ:M#c&jI©Œ�Cµ¸_it –"úä¨¥BàÛù\¶q 
\ÛIjiÜjç8µ$x­'ˆZ<«]¢q:ù23P‘ÁÞ¶¯’§u;\(pZ—w…š–|�nlíºïî…ŸÁÒº�(œPZ,«(ž$I?%Š1UKžv‘ óÄÑºn¯ö
ŒÖížCb´¨¯T½àLÑº# â-þfâK†–*0ïBÐŠ"Ìhéö8žKék|ŠÍ«Î³ìòäIÒ³ÎÃ<Š€g}Îz?äBKÐ‡e&g‰Ü{‚³(VTÆ×ÁY”�y-[†±á6‹ò1JºƒšE¯A´š…:ïk0³$¼xm‰Ì"n„‹5‹?‰T}ž	ÌFˆBsãeáÎÜk+¸,êlÙSD»+Þ.­/[¹7k˜YY”’J&Ò‡³„iÏ-QYü}·­�²Ü’«'(‹Þ¡IÏ%ª—èùÚ“Oo_·¤d�Í™¨Éº*K
-ÜÒ“p<VjŒKmæT�|9i½]AÇ"n+eŸ c©Þ˜+œàX¢x`I5êêÝ;“�ejøg+l,¥¾Ôæl,%²Œ  4~ÿYÉX„‰®–\,& Ô‹%Ýa´Ž'*ÖáÞU@±NWJ
&Û=‚3‹f
-òNÄbçÅû@¬ËEÌg1&€Àa]ÝÄ^ƒ†%®óvIF<ó°1
³<
-‹¿™g–i¢l	Â:Mo30XèA2$f
-Öåì¢€`Ñì«Kƒ`!u¿[2X—×"KÌæåH–p.DV'TEÞÏà_QJ|,4«h>—}Æ_+¼
¼¦¨®Äð�–ð««Ùj2³¯Ø€rI�¾"y¥‡è+eœ–³�¯”O¿Z‚¯8Éü¾ºËëÍÜ+šyd�½'´%ôjómìÄ¼Ú¢zÔ‘WÁž
-âÕnW6ó®öÍû�»âïÃŽQâ™¥RSÕ»"êD<-XWÄÑ˜Còë¨¯l{A]mÒWKÐÀøÕŠ……òáŒ¹BÐ`7�ÝÛ¤%ŸçÛÏ„\uk8žWÝãA¸bÎÄ�ÀKB7æTò­°©¢ØQ1—¥%Ýª_æ~Îp+Í×€Ãn…t{–Â`[éïu/l+Îi×™h+’JK»“lERsFy€­¨œY¤ªl\+–€}¢ZYÝÐLµ‚ÝÁ/¨²·-	šâ��"*8#­Ô¾tì‰´¢žE6ˆVšî[áY‰´,„¦ã¬$sé»-e×mºÀ¬”ö^ÎdYÉG`ÔËJ^�Þƒ‰e¥$¨Á²R†ŠY(YVæƒneeX´s�¬—Ñöq&Y)®$f�¬x]ÍW’ÕºúZWHVÕ*í¸5û6eµF]RAYÉªÈd ¬dÑ¢(+ùaËŸPVrûxËeµª¶÷îe…ÅJg”ë�”îe¥,¹6#�²Rñ‡¢‚3ÊJVE‹�d…A…9A²Â û4�¬Ävj^ìjI`r°ÛL²ÂrZ'ÍD²Â	Pâ$IVX,~ù|‡ë‡a"Y©�ÐzüŒd¥<±¢“¬$ðh@¯A²Š
@‚¬¤4g\²ÒNoõö�Yi£¢Èq€¬¦À»ƒ¬¨âµB™dµ
-]ÒÎ²’e[ÇJ'îgÅXa´ð€S¬0h©7ŠZDd¦Xg¶­RP¬0±�kDÙiz0O~¢Xaµz9ï³_…ƒñòëB}vû¤Xa]Ôž+»…*uY#øsZ4}ÆXi—Em·øŸ*Äc•ªsÆJUtçÑÆJ™•OÆJ‰{�Ûcµ*Æ½Þc%µ#}Q`¬Dma�™1VR2Ä×Œ•°$ŠKÆJ‚“Š‚Ì+ÉÔÚ­Žî‚PÃKŒo½"†3ÅJÒ‘V[s�I+·mÖŠr�Uí
ŠFËåGlÑ,*JwQ¨rbb¬dÕ++©iÙ|ê+,–å˜1V«ä}œhh9éîîFb¬x?í³fŒ•*5uÆJW¡!+kþÝzÅX)VlYCÃX©îÜ*|î(eiX›0VL*0
Œ•4wU$è+EÞx~3ÆJ[Ú*cµF—G`¬ViI�{áXiº‘ì +^OéÉJª‡™IV²*¦$+,mâXñ·²&Œ•ú
-n?Í–)%oïu`¬d‰�N‚TJ'ÆŠˆŽêðc¥ÔOtÆXY úê‰±R¯k_`¬HGYnÆXIôOS`¬\+¶%ÆJÈi½03ÆŠd™õ¸åq`¹�±REÑ�ce¨Ôý+ÅÈñQ£©‚¯´­èŒ±RiµÞ»ÀX©ÍD«V`¬Œ�}·Š±RVH90V–'Z®�±Ò™ºá3ÆŠ¬Ðî}ü¦·ÈE3JcµÆ£ŒÕzE,0VjHPÉw`¬ÈSX�ÆŒ±Ò™ý�±’Ô£fÇXyt÷«B±â2Ì%	ŠU“ƒvÞƒb¥dm”éÄŠÌ–¢J	±R–Që|@¬”+´
-—‰b¥’í;5ß	{Â9ÑÔ+rRö°gŠUÓÄpnƒbÅ}V…œS¬ÔTdÍºÅÊ¤8VŸõ�Ýº‘ÌØsÐÝñIÆ
-«d
c¥>‹1:ÆJ÷Z’b¥”°â½A±²ä‘(¬Î-yÄŠŸ­ñ+%†•Íw†iF93ÂÊá»®¯–5£Š$ƒaÅØ„>3¬dUîL±jYZ+F¹m‚b¥†³S:	ÅŠÄ«<£€XIV³U@¬Ä7µŠÔú!Kqm ¬ôX	ÂJ©
-¼€aeÂ™ç™+Éq?aÅl­5½PR7£ZvkP’ø>N{ ¬XÏU
-13¬Ø`("Ÿe\‚]/waX©8‡pv0¬ä×_["¬V5i®GAXI]ÊŽ°ÂÓÓ7ÂŠI‚Y`"X]YÔmQ†3æ!çW‰~vì…_…Š4ždà«ˆ(kéøªÏ¨íþ W)×ÞœJ•ô*åÚc+j’%·Gˆƒ^%Ãé'ŽÕ™^ÝDW1út]¥Rmé§¼žÄÚ)-t•©·ßW¢«ìˆã,è*}«v «0ÈM
tÕªë_OtÕzy‡<F·7Ô»ŠYV›É™]Ål/¿!ØU¼é
-±ý¿ìýI®4K³eNåŽ€0-¬j¿n¶r‰ÄËègƒàøyöU·‡0p�¶þûíßÌ�»ZH±W´ØªšŠàefWi¶' ì*Uep©ƒ]¥Wú´Æåòš[tÝÐU”_\F>"%�Ê·Œ®B¤àË²Š£ºŠÏ1"ÖFÙtLûæ"WõîN¥êÄ†Ï· «ð’Êè*Ý'tÕAi‹Ž®Â8<¡«°gÿAWilÌèª>Ýü4ÐUX+¼œÐUh¡]… ©2ÐU4ÏgrUÇ¿üh‹\ÕUZ¨åo�«$°ÉÈèªŽ¯›u×[�ÂðE»³«ö¿»j‰Á®êdk6»J†àv¦à™]%ïÂ®ZB¹ò!»ÊÏ7»ª›�EaWa»žÙUòDÿ°«3»
-!±«ôï_vZbWáÓŸÙU>ì*=.…]¥Fª&¨TXù3®ŸÕÔŒ¼@tø®$ÐUôÐ=ÞB²Œ’POÇR�®’BÜ(ÈUß¡ó¿;üO‘«sÊNä*Öüšò‚\¥
(á¶ W19ZtšBñ¶\Å¿I¾:¸Š³X¨%p•D¸Š&õšn�@@’Ð]WYÚÕ\)-¬r<	wpU£B«?\¥7[«W\¥|ÇÁUôEéAËà*Dý¿®B˜†·²8Ïá‰ÔL®¢MF/¶£«h¤ÑZ<ØUd?¦³­"q¨­7»gWéâÛªÇÙUŸ{öÿæc¡”¢õ=$v•Òð¯U8»Šã¸¹÷rròUPaWImÑÄoÛiì>C gåˆî„®Ò–Éº�®Òº—•õBR)¾éicLûéÈˆ+ª=1Ô	t•–þV(’ÑU¨Äû]%…çl¡«¤PzSÐU´I³ 	t»M®K «ºÙ%÷Š®b7Nõl «($ñè*mAØtU{=	¸ÐU*FóÐš³«¶’áUIõÄ9½ë,©‚JÅès=ÿx•vœ÷ð©ÄYßèU&7/Z˜–¥¿ª±«~U?¢©#ó«P©Ö~
-Mð«¤Ø·Ïü*öi}šê~‡‡q�_…µ¤E¿ªóÞžû·0ÇåU^Á¯JJ*aØjð«ô'Oíš—J—šŽ—Œ¯Â�]Ö:LQ._ÇWm!ã«¶ø*Êön÷~#æ­>œåïô*+¦žæfŽT
-˜ñ|ÆõÒ6ÍÍ2½ªcov‡ia'î‘f¿(nlXèUÄc)4
-z».¾A¯"��àUˆÍÁTVÈ¬Î·Ç­­�J�Ö…žàUDL;Ì‚#¾]eGíŸ‚®‚¦rz­Õü]žŸ	rÕw¤ü7§çÅˆ\5c'àª3ÌÄ‚[uºýQÁV�n„»¨U¬™®ûŸ­:£43«ðñaY·Dg]cü³ˆU§Ûõe^Yóf…>‘ˆþùnZ` ñ«Â&‰JBgU©ý(êÈ(h1º^ÿ§�ª´í' *	·ó§ˆµŸ¾>)˜*‰tÆ¥êŒ`wPªô×^û˜Å¨ÒëôÏâS�‡…Nžj	™N…xo6•2ÍZxêŽðã"S©ˆFAQS¨e¸ÛâR½¯f*•üI‡-ûãu�›’'�B$™IÍö¡]G¸:‘ê
-gÈD¤ZZ©T#B–,€TÏ•ŸiM½ßìGEx—8Là¨¶’qTIuÕûDk S¦t™¬k>Á¨Ï9/QEå4>Šêq@KAQ=¡Õãn Á¡2ž�Ì¡TÕbrŽ¡R;Ž%œ�B¥¹Ø¡z"SëªçŠÔ¸§x<“³T*5·D»¨ä­$&«XB"ÎlÑó€ŠJ›]¨§ÑþLôŒöÈÔÑ¶x{×ÞBO-!£§–è©ÇMeRêuGøBž"¼ÿx‡Üª°‡ Om%“§LmæLëVR=Ê��(%·Ë7'ðÔ}‡Ç¥‹Q¿°S×²rLÔ©kØôêÌ)ÜÆÝ£37Ot%ûÅÆ€¾òN©æ‹¿¼©kÄü’pS—Ûlêr—¾ÅšRÛ*7)£¦N7
-Yâ9¼Ÿ7@S[Hœ©-‚™:ÝjQ¦dKûQ†Lé¼VfM··
-»Â&Â”–Ë0…ø˜u(Û¥3Òú�—â‡5+w^t)Š.»TO«Š[h©õï–
--°R§·f­¾Q9QiÏí¥ºòa’ÄQeŠf½ãH)mVxÆPJØa…Œ'”ùx6%JEö±	&Å†Î‚ ®*wï51V-%¿Ú[
˜”^–¨‹€%eMànV±XRæk3æfI­*ŸE“ÂÛ–V‰&eF:n
`ÛûHÐœY£,ª†¢5·'e6TŒ¹yeš”©=ÔyûqnlSÊÊõ%æµ`R«L
-ÅêLŠD0c»Ó¤è@`Ôš-ù\žÌ“âÝ`ñ<):ÿ83xRØl™+LâI5Ì1Ü£Â^á×s}‹'ÅnK?;á¤p¯kÞ[
-Nª(ö0è<ï^4©öú´4)
–wœmÓ·#'ES7-pRRl—8©­dœ”©K¹wíKÜD pRøa<V”¹pRÔÕh�<©vy3ið¤WO[¤,ž”DöóÁ“ÂØøR¶î×XNiAâII|Æ\8)Þ6í*'Åº¶'…Iˆ–7�“j~ß'¥�)s@ÆIId?8)ÜºUÏ8)úù5Ùgœ¢Ö]Á“â´ö,oB>×Í
-÷âI³Ðßû4)ö(TéŽhÞ=l’È4©uÔ¢I5æ)7¶q3gÛKnœ”fc+ƒócTù´0°ñ‘%ã¤–8)-#ˆ�(Š¶üvšvºhë 7A˜Tü;³¤–æ(©†µæßí”T‹ˆ~BI¡ï"IÙºï|ƒ$ÅBQ—&¡¤¤¹¬™ŒOw”‚"‰%¥OæÕ””eŒ¯¾QZ„™	T"Ií�wvEñ` ¤–’QRK””}ü’Kg½È%Eóœr!òWµ§r””ÂÆ¶iË()R<1�’"Ú<Òm‹ P2JÊÄ1JŠ:J-{%e±¤ç)()ºš00ˆ.™6?ê1‡²R%…mÆ˜‹$Å¿5sIŠv¥×€T‹$¥Ç.ÝIRºn¼«�’ZBbI--`R„ƒ³î#œVZ%˜Ó'1À8JUŠÆ¶Ñ~ý;Á¤–2
-éP¢˜¨Õ·˜aR<YªOYG©ˆÂ­Ã¤š›Ýe–”q®…’âßÃ~©õ®é$ü"K
-±;)ŠŠêÜ•"w–”�*¾I,)}#;-öådàœ%µÿ�XR&ŽdJ$à:'Š€]¸	&e
ƒw:êñß4)-´Y¤fš.¢*
-š”up·±hRŠ²4Ë4)Å°è4)Â…o[˜(jƒd•aR
-"sÖQÍ+)&µ„“Ú¢Ã¤¨E™–2&àÌ_Ó«œiR$¬µÅšToÌ©aîÄ
-žO¡I!ê*MŠÏÑù�“ZuO'…S@·l«:Êv4LNj	'µEÇIõÈì(JÁß"Ø2é±¡7DÅÁÉÎNJMéÖË–pRˆº¬'¥ÏÒÀ4)Ö|0»'µ…Ä“Zb¥´»aY°m9õ$j]q¬™”?z°¸óÐž—!<w!J-1ˆR¸ÕÑWÞb-ùÚeÈD)Ú°
-¢”Úóiu�Ií°ú­Ì“z§�¶�“zÝe8ã¤4ìk4©Ç‹mõ·&4/Ê“R™e‘kêcuŒÛš�â28:j,35'GM/ü.à(5àt·²švYE5ê�ý7C¿ÿ4êÿ
-4jR>§ôšæîÀFI…¬¶T)ïóm<3ºBU¸ÝT³ÊÊÀ+Õ7ª–¡ßá�Þ^C
-eÉ9ÕòxÐ˜ul~ÔªbgØlŠE™¯)ä´íáU_ûúyÍ�âÒhì™×<vœ‰IÊmŸ´0RS;9‘îzD.&ô
Õi¨NêágkåùOÎÍ‘šJ MT³ÌL /oöC}Ê"Ì‰èºHRC%
*ãÒ••ºh„\|Ã=Â’j^P#ØÖ†IÑiò˜j4)y/�FÎtžT3ˆ�””j†pƒ°iD)M�*Ï@J©ÆuØß6(¶¾jVCmãóA–
-ª­á?à•}Žý›³„ËÑ#Çh·!,¼@¢$X¶ÒÛæ%u:­W)‰©~ß~Y­è’Í~ñµéR‚Ež³%Uß¶ÞÀ…Hÿ¡M¬ØÀâg.NT¡V¥jFb©wFÏ¥”.&,Jx¤JUH"Y=	
-G´×6¼·AfgJ_í¦±Á§±ReF
-hj	gM…¨–9êW�!†-½‚œRò+ñPìº*mÜ[:NA©ƒ)óõÖõ­ä;²ÔC5+÷mÆ»èøÝë‹ë§BÝ@P‰‚ÝÅðæMS:pThYbcP¸ŒB…b¯ÞeÝÀÆ7ïTöÄ
y·ûËqv*	TGv¼ö7WWèPÅÔ 
-çµnÝAžJ(
DÐ¨`‹·-p¢`õ‚1.uRœy1½DP~Èk,t8ªø§Œ™2Ð’bß��ÒkJc.´
-£©ˆƒ=[çæRMõ6p;Ôø¥û|1À±@®žÇ)»°Š“$¸õ`ƒ,
-*�áê*UQ´ögRÞ§Û}[Xªù\vÕ¥ÚSÎÐí´3IàK¢Jrf`©æÛâË³¨½ÁÄ`
ô¬[öN¹\B¶FëÃ,6S£%ÖYS…þç°·À©µ^·a6 Th=»ÍB”(ŒZÕèMŸÄõFi|*•Ô!>ªÇ„P¥‡E±Ë¬ü ž:�ù¨ù’ñøf¬5ÿùßtñt×€R}ïãø}žª¾ÕËŒ_VP©¤þM4^£HÇ=Q£MµH¹Ë/ë?ýÌöÞ^›£ûÄ#àn®ˆ…ƒ}âëgF^sŠ¥à`QÜ_¦¬ò”é;íxMCáÄ&W,Ê:â8óò¾"¢çò•+Ömùï{!�•”|_³¥Å™ê³âz�?D‰|ëä\Íäƒ-Ãm¡8,¥0¿¢Ð‘,eô×K£b PJ�›J=lƒAýó�ç�×‚6ƒéj­)«™vYõÁÜ	Lï¸œbÀ
-b)÷ÆWmUKÅl§€'Ö�ÓÊ³4×,Åþ¦ŒIUgº�ÓGÜöYŒ»[0§ÇBl‰'	~’|ð”ŸÚP¾xåõ<h©ØZ€rõø)[†2.;Žè%gòíUG»h©@dÁ#hÇ?)³í´-àhq|ìÃWyðâ©PK_íæÆ)4 2þæÖ®[é}#®’úZùŠþUË�‚ØËI±ÅŸ‚*¸ZÇ)M Åe‡Ø¦ÒÇ¥´gã®’zðjbõíx
‚*Sm‚Öìroê•Îü;ÖŒîì)Ø¤t_2Y¡‹ÜŽ™`°¯¦žÄG×7!D0U|¡†UÇîÊk:Bcá¯¤²L£ÐV£ËÔD#Ê»®$æYSöï0ÛÑEÀ’Jí°T
-–¤ü-,­ ÞãO…Ó” `I}·1¥$
-…¢;sEûV´n,2éPÁXóî]
IÏåp`2ßá2&ÌÓË­†n±°Nmö‰^·5?O‹yÓ'•è—)«sRjkÍU½Ý'K’iŽDZOÃEÙ0½ˆX¨1¼²˜áÌîƒ2¾v|ú>(‡­ÞI‘É«Ëq@„RAêÝS8›aÅI�E:^¿êï=Ÿæë¨É@gÂ§^£Ó©€ë¬–€cI=ïn�V§+¥Û¿‰ïéßÍÛõ8’?&Êþ"ŸþI—h¢øqûÂÚ&Ÿ)¿%Ãsg˜£¹u+4[Ýë7šxºiÂ©âVbÊL±“£U(œÉ<<òqªx†,{{ZÕÄ—jüÏgs²tØßÊæa}FÙÆÙœßÕœNe±öH·¢»¡ð'åà©¶¸}Ü¶Oì°oVZÊ¸7*k«²¨x	Œ*Mñ¦“¬ôƒþ>¸m…3Ùo:N™Œ)7PÊö'+ª'×¬­j¨múIí®ÆUêQ£¥‘T�û¥Ä¥½4a§ãTêðØ¨€—õ‰êkæ¤�…j“à°¨
-�K÷&V)wècÓ³NLLo3’µk«¥ã©H­Å¥Ø¸¯Ï
-w}·ÙÒTýtjoú›bÉ§ÛÃr¾[±3±;;óqqo›“¨õKJ²´ØªŠóµ	?Õæ{˜×,£š¾ÄßÚêÙ
-'vÃo:NÛ\m!õ°¨JJ2Oßêp÷eý…WkÞ>}Yxª3´Ónsn ––*!jg1§†Uuá¦j"¤ÖVÕÑÌ�“a`,¥OÑÆ	ªO©—Pì›bJ™T½8óp+fL£N!Z‡ïƒ¬uÒí{™1ë )×ô~lûÍjpd-£cÂ%Kês¾ö’øëõZï“Å´o;ó¡¿çhË/ì¤¿~Ï~äÀ¨ãb)itH²Ïì…~l+›{íÎšy³‰¥Ò/æW�J¢Á“uœ«LÂú“wof™¹H[|8ÎRà®Æ¿Ê�0YX?×¦m
endstream
endobj
116 0 obj
<</Length 65536>>stream
-™ÚÍ;�Õ0'ÊªZŠu`ð+ùZ÷nibbe¤ëƒc¬&_VFÐíh][Šz	‚¹•Ôfµ¤'»õÛŒ<Ð¯—Å2BXwäRH?Ž”ŒN·WóÈèÝjð¬|syÊHü™48ŸŒ/Ž”§íNEóøðPþ36ä½Ï­j3EìEO™m«—’‡�­*xŽ LÀíëÓM=¦ŠÇ.Í´ªúÖTì�•
 m™)"&Ynsê"ci=ÆpMüÔ4®ÈsZë.¢%ãZÂÿÁòòðw)Ž2ïŒ—A…‰V+Õ¿µ©uE†‘ÁQ¦·L™¡¸¾TúÎºBºdõ(ÁÒµ�ÂUìô\¼(É5Nzé´ì‘ØR‚ñ°Ï¢‰R_\U^=ñ‡…ôÎ6Ã'rõß¤÷ñl<×„õDÛc›)w£yÐ‹úØ§é)“²(]Rme¥¼É¼íL^¥ŽÿS7å"$¤º®ðÐ™bgÍÓÆfÖ+SÓ¬â¯�E¨º%•†b?ªW#ˆ]ÚØtÍŒÊTbHf¨=õú90')Ïvúß*µZr?ë�Ï½�wîÍñØä@épüÅ1m¯¯p›�ˆÑÊÕ‰Ú“˜K–cÇµ¹]R»Åå/«ÿ•2Q±uÐØþ=°œÎDRO…4ìó‡iF¢ViSÙäx–ÙÓÔ2k*@-ãÚ‹€†Š]u+_·ÆýûrñMYÜ.©;£ÓÕaÇ±ô—¸kŠÜÂ2Gó7ü?aK\¨vAà­Í€~õ|}+!À]ú	Œëý5o�‰�›Ü�¯7¶¢nëPo5Jõ'ÜcM½ºMÜ ´C
Å6`‡Ù÷q€™“gÅâPK¹ÞÍôÚêíõ ÚÌÝz#T'7Š©þ™¢ØåÑ–Boù>N—QK[f›EêRæfzmU´jíã¦:hY>Â¡Ñöñ°-œ®ÏêüB}´U¥2ÝÉ°U�!…VdÅô¹bô†ô}¦
”·»¢�¾›ùU °WEYà¹¤Úú:§ôe†7¹�ê8ÝÛ7‡bO^ŒØë8ÌU‰"_,_
-(â½K}œoA{ú×]`´o,ECùO�/³9ÝÇ)ˆJ,›Ê7qÚöR&aM¡PèiÏÕMî—ê­Å4(ub/å>7Þk«Šé¨‰û±½q\=Oª¡ÑÄ;hø÷ÕŠÔ‡¨³Ô£ÛqÏ©Ç½<»'³Ú¾¼=†�nx/”‡Äá°¤gj�ƒ²Â�r4Ô¤:ÔJ"¼—®¢e›Çl¥?Û	w«ªÙP®B/ÅÐä¢Ì	Ü®©åœFÊþÓÇØ~Ëîq†Ÿ­2dÓ+Þ·2îÈÈ%­YÒC¹Ð156‹1ƒñ°:ä³k'�xì”ÝÇ)›¯¡Yß<üw}›ÿš˜ºT	pŸ¦âà‡B¸=ŒÁ8“Dálò…ª7G¹–ëR.-Ó,“uÚß¼_~vß�¯yqæa~KSéB’yã2È×VÔbÔ× j»ÌIdÊpR³ž²¹à»“#°´»´²Siù¸F]þKÒ¯a…
-ÈZØW"ÚÌYø¶|ÞlžORÎ‚yzèµTF4X_Äß{r"´/b›$øw™Wàýot™[±8éŒ'ÖÕA7L–ñ+)×öOØj÷ª¥ai6Ë3“_ÑNï½,iÙVü™•¯%ž-ér~½úi©-£HûÆÖ•‹¦ŸÎLrÐÔy¡\W&`Xâ|¡¿”:xen K(%ü[tË·%åXîä[lVh8H,q%(èUð<ÿÛ¾ç´ñ;uQ �¶À*‰=JŠÞþkÒì<çVÿ_þq–eŒ 	ëÎ®$Òp"vRÆæBmõt+Ë©È.¯×ßa•
ê}œJ†“¶åô×qOTXÌ×ØK[‰Ä&ˆPU>I}—pÏP¢5
-¸Ç:ÞS®ÏJZw¼¼¹ô€ii¬¬ž‚#‹R_÷L�8ñ®.1Àtâ«•aWaE0ÀNêêµ—×&]íß§Ñ–mŠ#{9çi±ŠmBg,Ôâ¸pæè·Cº·rž›¶UZtÅ‚Ÿ6“(/A`ëï³¾•Bz1œø6iÉ­iC“êIU­&ÞÃéËß¨vÄ»ÿ‡,06“ÊŽBCgäŽ=Z)•F6ŽS@\
-…)RHè¡¬‚êÏÿ¤žtiå	fËúÇl�uù)ãÑE\,0TVïŒpT÷üËëM&Rº†E[s¬!&ñ¯©A‘5¦Ý&µM˜³B�¹i`zŠ¨”9¦u½�Jº06'+âë¥s#Á!l½ÙhC�Û©,Í”Oþè†;Eû|É®Ï�S0zØë©9ÿ…}ˆoêßïÕúë$~n$Ø‰,Ùõ$‡YZþd?.Á*æ¹‘`¨§ÕÒ�yü“`‚I!~�‰Œ¼Ó½Qx·ÕLrú­zL¢9‚Cªæj¥SEÃi½èB^[ç(rCôtÈ¿kÄW½,j5”UR!ã©2e…ÛUÝBè†d³f®«m&ØyzÂY_Ãª�õ‹Tw‚Ã9†ÇÖ%ÚÍLâÐ
R'œ€`'öE~�;'P<þœÏ®Ý&V§=»Tj²Púk
-@0j´z ˜Ô—K­ð>‘9-KXbª9ÐÂ_Ã—¢Z·ì¤¯QÅì4tÏ ÊØyáËüPß´x`;\ÃÃmKgÞÔe<î_«ëªN¶!�„@#)šÆ¦BÅ-ØfœÚÚ+10ù¸$É
-ê>.˜‚³o§Ž¬›­²BnMYÁºÇq`R©}4¾�·èUXE80)¶¶Ð™�“j«->O#ƒ
-Ô´·Ô^åºN” K¢‡ÿv+'}	«
ÔÞƒFÉþz9Šž¶à�ýmû5F<¼¨tŸÅº­~
«¡=7K´gãÀlœœˆ¶<}º:LÕTßA8Æï�f©	‚öÇÆ�i »	âiµÀ�qw3ùsz*Q¹› ‚�Xóž.jI,åU1
-Š¢�(#’>;{Ù¬Ö«{ÜÁ3ç2³/Ð€Xš”ˆ©2œêq'�Lú�@$èi–$ÏÏû±oµÈ`Ô‰õî ¦$²¢lb2tL+�Z‰lËsL/$“jm
Ãª6¥`ýˆÒ•$”ƒÜ
-�k½uKoÑ’†òúß¤s�3‰j(³ýT¶u&ÔøeTð«¦Õg~ïåü‹Ï‹¶·r0Z3-PØ wR“¶JÇU„Æ˜oªã”•‘2›>}³ÂPµjíôBiï,EQs)ä'FTdõ'¹H°X&ÜøDìSi¨±ã×D­ËO�o±qHŠ©FT‘}]2í‚Xò
ÇV¨Â§+ï£©dAÃ¤6¦c©ô
�`b�Ü¼˜^à…°°aÃêL¥aX£Û‰9LÊP¶%ÐaªFùNnFmÿ‘ÍK~å®tC×9|jÔò=ða»|mÈÎkg‡
æmÅœÚ¹Líl•4ñìü§ÇòíËª÷–b¦ÈÞµªb£3°ÛBeÄ´µL1#8ÊÎN]à‡‡U/*Ýæ¹ŸkEÞË‹é#Õw³�…åîÁ˜º,}¢·€¸ÆûÚJ'ÝI_£–ž,†ôm¥PùéÙgx�hw;îo¢±o¡
'ŸtXAâ"ˆMàFÚïxTE‰dÜÜ½öÄ!ì£Ÿ�S,h¾‡—ªB9/ß—£ûcš»žöJ�Óy”k­Ì€î‡×º/�¶¶iïÇÆß(ì@q�–Û0Äx(ØÅu7H¬J˜àÚ±	@†òÒÜp±’¬^Ô‡t}¸mUa 1=c·fÓ`8Õg­ZZª�'6tšžw³ÄôM:uKÏm	MBO;1Qá‘ØMª»SoÀât Z¸ô5Þ‘†žûu*Ë8|»v¿kÏ>á6¨¤@EôzX¹\f$XëP·‡5#¬N@}SKû<Þ §b<V&*ó§.ÿ3Jþ›s¶bÌG”vZL½lˆ°LP£–Ö6¯û,ã¬Cf”®8&êÔôÖœý …ÿNû�e]q*TZÛ#©Tb§¨ñl"h¸”Uâ¸Œº8§Ç¶©ô4Iy)`�Ë»VyO÷äÑqnOj©I}�‘×Ð¢V­‘»¥Ù(�ddDÚ‹š©'.p¯—ÎËÖ‡b4)£ùã3Êñî�«Ôû~]Õã$ÅŠÑÏ¦¢PNr¼ÛIPAªzUQÅ
-aWáµZ,ý)%ÍØBbïH)�‡dzéldŠú[nŽbåe^�*ÌûÛ½œ\ü¨0˜×Œš÷°+ÖüŒÃ–P|Lk6>©\\T2�ElRX¢Q øDiÞð<©†+jIU‚|½;ÿB(M¿Ò¹=|i+~%—&ûû;8»«Zø8½æp¿æ!Ãû“Óž�¿{Ë>¶‡Í˜Ý‘XíigGÙ°îˆvEtÖ‰*Ããt›UFÇ5²ÚÝQ?9½vg:ùF«J~•d_Ä2�hƒÌp{a�b·ê,`‰f+X«�SÇ­1òteËÇ<Ôivù~&½ŽRXòŒ<|cÈßl‰l´@ÎT]ÔpÇ}:J@Ì´îac*•Ýù$8ý˜o0ç]^9¥™c=v-êKõÛ™ÕíL`J˜¨Ë¿Ã5ø®ïæ™i´ü×ð¾MÊ‘¹²Ãm©ôð“XsAÍˆ�òùdïÅ�y[½–åÛå¥wBŸÄ@0�ø€xv£R%�íaéŽ'Ÿð±ô<i+\+<nÌn[¬eÌ¿T‘ï|6äl Ðo¿ÜþtÈö€�þô}¤g3jôFÈ*!îVZËNAžb¸�ûžø²PÀ£J]*{0‚êðoøPØXEDƒyÊ‚¯
>“zBÔ½×#«/kñN)*�‘¢\'®òvg‰µé@“»YPGÒ»E4R±®€ ±rµÏŸV›0(f"éBSx�ä¸"zëW^[é0hµæW}Š²L:Îxhðó†�>›ˆ&•ÝNs¿$)]i‚Þ’!…¥5Êâ¢‰†ä¡S£‰FÕž>
-4J7lýb£qÝÒ�ÓÑ.¯ê¥~G)\:ÁN=>�YçLL.Ý¼RË±�ëÁeƒlù _h’ÅIS8ÈvNê
-~ý/^
-b1®—�8aÓ~eZYBÞrÃ¥ÉÀ”­¬üÑ˜ÖÌvYÏþb¦b¡$ã¾½¼F‰~¤
-žôjdïˆŠÒör,ÆðÛè­SQ->J9uú+…(´—ëÞä4MK6”q9É9œ¾0P£ùÓÀ¢'ñô…Nc%ÇSöxo™Vî–f×Ö1Øi:›15”²ãB©ËE
-`ªÏÐ£ÍÍN«*]í3š‹¦¡Óf”—™=HRÙ2Ê“ƒ1|Fä²‹Ò®
-¥‘(•²jýÕP¥BÑf#R®ÇR�ãAÙÇí)=±�NÓ„<g4&2ò^+Áv›)Ð„Ÿ~Y.v˜Á9ï–¶Ìëé%TRX:WÞØ¼&‰§5Þ#&Ã=ý(ù&¨sÒ©w*§Qc";'ÕvÑ1þ¤¥Ü–Ö9ØÑ¯VH~¤ÆK=ä†”Šâ¡’ÀÔ~c_ÕÙ ;�.7kåì^Ýô¾^& ÎH#Ô¬&³«¡=àiJÍ(]â%L™ŠÃÜÙUÙýZˆãÜŒUÓv&•îNFØç´7‡3hd±â‘p×‡«Šôp±ê�Â?­öKÿŒÚ/ÕåÞ”2Ë;�cxíî)	uÖ°e¹ŸÍO“Jõ£T+‚oðòZâ3Rhò’ü4‰‡FJb¿
-Æë"ùº—éGóÙûYø´“<¬v‡*¡?Ž‚‡æhÖ÷ª—¤Ò’îÉhQ#w“óù¡§ÄŠê_wW¤0‚ò>m’Ðp÷8¨VgÚþ�HRÔàr]›Ÿ6µ$Ò†e µ–§g:äz&Å£R—zè¢zwjÞµk])Ï¹ÈA=ÍÒýI–SV*”Tþ
-Êáî{“Šy�j@oZ÷Üo¤l‰Ù¢ÈI�Ë�2¬B Ÿ·j¨,q(¢IPOdwEc®ki�µ	Äƒ¢ËûÃ®X»ÈH›ÑU^B|Ösn6µ¨6~;&–oAÝµ@I¹´¬²t_Û5?É¸>æÖB‚US]Q,¤†¡ÛªŸ‚ ¦aÀ®¦S4îx
èíîê¤a>Rv- jìv:•´§E¾fô± fÞR&K+âkÃWÆ¶WÃ¢Êò�VŽiyl r“‡gaÔP‰°ßÃ.Ž”¿]Í‰bI!­D'¤«…Î“×ÏdÒ²øë
-y�ãñøý�<œÔopclp�QÜŒÕÈeüòDÊirsÏ±ajÀ¬Ð˜8š¥è#<OkÇT*ÏÊç¯g»ÆŸš1vÔð€Çù	ªYõ¨�oS”™œšòŒÖü÷º°²¶qÒXë•y[U´âÓQ½ Êî“ðÛ�qÈ.°…PÛ˜öñú›—…€ŽÍS£†ÞÞÂÃ	Ë`Oo/o³ž§Û*&PÂ?�Ì«XeÞÆeÙÇƒÑF4¥Ê9“
â}lžÚ	JWo0S¶¢¯?³AÐ¥V�·Dõ�T;û#\ôVÐr£
�ì‰
và¥/Ë¹b�Éß´K%á0¤¾vÂ‹8ûã3*gªé‹ØZEËF¬¡Yº=‹§É€l·žZêŸª¦ü`§˜ŒF†
-¿g€nµq'hVó–X|Tä“öSrJ‘`}	F*O°çÖº2‡Ñ±„ÆSsÄšu­)MÔ_èÖxå=á	üh]n“	ÓV…ñàÉÄŽ’%«R-D-ÕÎ£`…�Íí ¤HYL5Rê„ÀÛknŠ–{Ì|� 8-+´œë«8[pKbÖº–PÃµå¥Ô¬[¤YÙZÖúì…U;±qP"¤9üA…Ë
-é´Ó2yRUÍTÓ‚©¦Ü?
aƒ¾ÀÇžt«d[(<÷é}	ºÙ‹©¦ä5&=d–Y»o¸4å
-ªvÞÓü¦WJgã'êˆæ2Ý[ì†{þŸx¶:—--Û3;Pì	W±“ç¯ÛØÏ_c¸Í÷¹„•‚$ëMàîü£šVrïŠ`˜s—Þ;ÚvŸÍWSÔÍ7ÓÆ[îw“qºYþpÖ´¡ÐA»D2”Ê[HOÑú
Ö#¦xáBÄhMl]¤Z‰ÐoAÅ€zHÒk=¡/Mß�&œð=�Xš<v¦!Ý¥à}P–®ÕãkàœÅ[¸žæ¶†•á
-€3Ívãßxö¿-ÿ_]£¢¡Ë¾M›’€®QÑÀ:Têˆ–¯t[uC�„=‘Ó0N9þ0~=›Ô…êÙ´qùˆÁÈNû‚¥<ëº™µ¢¨��@&sÇÜÞI>�¼¬vf5
-×²�žã=zjÁ"%lgsMáÝÛ«úpÓY�Éd;“y4ÉŽËÚ¸ë;œ†òzw÷‰Ëk·fÉEaÓ"ÚØÕ†¯Z»øc…]­ëô€Öq×‘ÁæJL—¼ò…þ]|S§)Va/«ªÕ¯*•¢;U
-<~¦ÅqŽh×g1ì÷~¤ÏK¯?¦æôÁkø8ðšSõ©Þ™x·’íï-Ô§$õdOA,þòô­´ÍÛªVƒŒb˜cƒÃ¼0ä<i;Û8O¶ÚgÛ¢¾˜‡üC³é¦+åv)ÂÖzØHÝOÇVï¾mÉ eev¤z$oš{ç‰½F³npm'«úi'F…ñ©Ía&V4rÇ® ™«è@�FÆV»5¼�j¸ÌsÐø*nºžÛ•èw§¼€œ�«Ýn9¨i¾Ç¡ä»±Õ>ÕvÊ:dK¨GGwãïúÙF!`m'}“ö¢ÙË �C£CíÚ´¶Ó¸BˆÑzqhµ€>‘‡akb^b³­V+'{•ÓŽ"!åx4¹J	d›¥¿1iòÚZ­˜,)½Õ0$_@U˜Y9J(¶Ú÷Âª}Ü˜¾0âçe±¦F‘fÐ»eH†j»‡×ÀmR,‚©qUaçïøûß�Pþ§ÈmDÙìá¼7ºm’ðŸ–4CJÙ4¼1+jÏÅ”ûb,™§feåhcVs-�etÃ>Önë¹¼f=E Žƒà&• &êaM:äH�¨YK¹”€¸x4“šf±Õk4ë€n0V¥¦A†}îÛNÄÍa.¹ÑwgÆ, ¥UŽüºŠÉå†ÊJžŠ� �|énèI5È°ÌM¹"L�•u*ö¢ÓÊ0³…BY9Øé^ú^òêÑý°E–Jõ©ÖøÜÉÿøŸ2²ô¸h
@7µÕ¾Ô‚÷èæ8<¬†×SHiZˆ¡Ð
õ¥ÔðöP4t¶Z¬çŠVØU‘ü¼Ý®PuOfàŒN	ß‰Oˆ©÷ØŠMé¯ÅP–ª	Ûë¦[mkßARV¹¡EtCÅUìêFt“ÂC‡™û|ãÂ4S–…ú/Ù€¿žÖÄo†q:lÅD�}ÖÂ9 øùŒÒÔ	Pìuc7ÜsbŒs÷õiÜ8©¶ê·E‡UFhE›Ý€nK ù£Ù½&÷ª8e‘py_¹o“ßÍs;ÉËŒ7yCwÚ¿­æ|—.ñ6+Mû9zTšs%4œZÃŽªÃöà9½Ü¾FG@Ñ*h`Â7ð3Eúsc{Ø§©æÌbÅ`—)
-x�s[¹Q„Jxouí[˜4±UY•~ÓÑ‹’jD¶ªªJµ:d£ö:ÊAÚºFßwÀ‘—uÃ1}šÛÚÜ4·¤>FM ¾ò>mçì!øaÉb¼4ç¦3­‚­»A9�;ÎuÅˆ|tÛL/œ›”ý¶«a]MŠ�R›Üœf§00‹vê±çFp˜¢/=‹x¬j{G9¢Ö—ì3
Ój1–ÅsC%Ž ƒAd5Å>î@j�s×ë�s:³­.Ô×rç¨¸^]aŽ'§*²îs\áf[O•’)Ï­ô-Ap­ÈuO~ÇÊsÞV^û²‘óØL7U«›xÚšo<áÅ§	…œõëV_RÕMªuTJÅÏSë(ž¦"o’cÂQg®áY«2N¼|LíÆ‡ÏH³­D0%Íf
ùúêõŒð™Î(òÛ#E;lâÝîÌm…G”øAxS­�½÷íÝˆ7*p¸”Y<Voåš×òV¥ÓÌ~qí=QaËYç¦A$	4ð'©\• 7U±Ýdæ©
›Vü¤a’ ÎRTê»ÆESI_Ý†¸¶B¿édïV"l›>û7Ofoºõcúë‹íIdü]Këj§á¸‡!Äc6ÄZeZ*Fï¾¶¾B¦Žižd3—Â\¡ª½Òv»÷m8S.ïð÷ÛïÚÀFO¹KUÔœ¬ºá&T½äÅ»i3oµšÓú�@7h‰e6	Ý
Ë¶"ßóà˜lõp4Þa	+bØ…ËÃ&có¦…ºžt\£mÖzMÁQCÅ ün"ÍdR©hw<&Nf•‚7©„VO‚®7ƒ œJýðd²'¤—Û‘ì7	~{¾ÄƒÃÜ�|?tØÃ¼2ð‘[ŠýÈi
÷¨Ê=èbxÖù0bCRú&G%õ2§tJqíõx|8T”W5lK±/«l”ã³®ÐXcK ˆ³ŠÂLÄÓ–Ü~sS¤'’ÝíK‰G ÓÍ±ŽSý2	.ÅëTÞ¼&ðÕÂ;=ƒS´Õ)_QçÝ­bÒ	ø´­Øwma4ÇE?„�­Óqmý¡†ôÈéàêÉ|=ÌóÏp‹ÅõŸf]•FÛ„8©øðqÓÍ?ÍTZÅØ”3½wÔ9´
‰S™§5	©—¯oa¸iÛºl¦âûrÓP¼«q<nb³TêÉáOÇ-%¥mVÜVE·°ÊI[Î;Êbåb€‡öµqq|^%©x¿};øBŒCa=®N¾¾Ê`»÷¦ƒ�Ö`"Å<¹/ƒÆÙ¯lVá¾¨q�`½æê�Šæ\¬Uß¬ö*’~¾cÙ*]ê“"âÀ®ÀŽÇÛ<©P“)?¸¢�ù~ÝaY/œð5¬yŽi1:kNp„œ^Êð¸Þê¦Àœ–.³ó¶]†fûôPþ3"˜¶¯ã¥·ò–Ã·ÓK)ƒA¨xWŸx€ô]!GÎ|HÞ›#göL4ÁãÈÉðRÁ½÷0Šœ’ðvíJ�EÎ¡Ü�<\ä§—ðøÚÔÞ¦POœ-ôTÃ¦)VýRïÕÌ-QäL¡ÎÛ�;‡+w(w(OÚ¸×™ä–Þ>t=qíWhÅê?ÚÆÈ‘×¬ B‘fG‘=‘EN«ôÃ.ÅbÈ©†Æ
ÁOcÈ�Ýk�t}—!‚w¦mÆˆÊów/EŠ•ÉsÜû¢X X¾&Ï>‘7G"¹¢3�á"47EN	Ì7”Úîäcå‘ñ’“ƒµ¢ïV“òÜ‘Óvˆ{¦‡ßa)æÜkE-E™"gêmFO¶:Ü¢BžQDôñ]a~�Çlpä¨/æùç®‘Þ�¬&#›ì¸y—å¶HrR½•ï6gFl»ÍY2öúõá:$L€%zgàm&)Vá‚oî0Å.³R*«x ^-ùá¦ûb¾d·±‡TÃã.[÷fÊIµ:CÔÓŽ›T9Éì�²ðçö0¦>+ªOQÝ^¬'¶çÜNž|xx{î[Zša[xÌ°pk�Wª˜ÞÇ©¾„mf8ë½sKv+ƒ¶Û¶ívSS?F¤O'%`L¹æ¦ËmU}©È‚šXÅ+t‚6ªæ	åŠj©áWp§kEyË9}ÝÊ“y–*ç(Ýf¸n,HUÏÁJeå'®¾�¹%š#U·F¯y{/9UC|W§èˆ°)¾}tDT¥ÙQdwªbú]ë·¿Å×�¤Ãà*ù%7ŸèŽÅî¾W­Ãd5AVL)r¶KáÚ,oúPUÖD0™?@¢îµnI*Ršý;Âpª‚2ÆI¨¯}ÍvÊ"ª�Ûm¨¸&¸s
-%[X÷ö¤.[ŠÞÖ~i)á˜‘^ÀJZKU¨ìözì_„£Õv»nIª¹f¨=£=õŽµ8Žgiz
-Ž†‰6˜áÐw€“ke0ËfÔ\A§[i=CÚHÉñ‰:!/“ÅZÂ1ƒ.4Rà/%u¯ÍÒ�WFÇnµZK±wx¸¹}¨{^8d>´mAýÑ-uõM�ßi@VX
-.˜ºxO\L¯�&ã‘ÃÊk'·ÏÃ³bDÚ6¦'Ò~ÐUv*¤½\e§òZ;·*Ü8äâÛ6’UûÕÆâN=ƒo³¨=
-e
-ÿA¦	eí:Ÿ+Îìÿ›wÓCš{)€Ù �µ¥B�É_—2TÝkÌŒ•R¢Û¸½[±ùÑËõ×a½Ö½ÂtÒi9Ýp7àtóÒQ¡Îr�²Á­5Ï*ËüœŸ_Á§;»··ÒAˆú2ˆ�â‚ÏQjE3Ê½Ãâ6Ã¯ãfT«’yQØRÚµ1uI=¬	ˆêªm·wáo¾ÖËÕsœÚ[ç¢œXp‰÷¡G¡yåxRr~\^Þ£ß~vsL	_›+"åÖá<›V§p³¹…ÞIAÔÓ,qíéÁ¥ô
¬KêéF$+ƒ¤ùµª©ªØ™Ýï}Üáõ2‘Á*—‰Çº
¶5ú·NŸ‡û{'P"'v­4/K/³‡
Ôp�ë–ø8(ë¤o¥mw[
*¤mÚu¯iZõú÷<½DVÁX˜ò¦AÃö9¡¶æMŒ2fd4~‘ö%vIht€ÝœQÄ+çQëÐj^WªÊÒ†Z|ã
-HGžSìš°a[ÍÚ²¡§Ò¶Avj
-ƒÝÔµ§w½yÙ³‚´€eÖg…-ÏÎG+@jË1Õ(ã˜·Sí–¢÷Å¶[ª†!w÷2tl¶:YáZhÓ·w´Yuwqr'¨6­Ý›å¿ë3þÿpîþ¯pîTiõåÜQU8wTÎ]Çù‡s§§»rîÔºZ9wZÆ~9w
-WÎJáÜÙ1•sÇ§Î�”Ê¹³…ó/çNËîÊ¹ÓëU9wzq~9wØÆPÄïœ;
…s×Éšýrîúö7tÎ�ab2çŽÕÔ‡s'µrî˜çûLœ;Ú”ïó‡s‡Z8w(çLœ;>köÂ¹ëá*·8wšÿ¶„‹sÂã‡s×ž»pî4bWÎÝV2U-©Î¹Sñåßüœ8w“>œ;ÖC…s‡9~áÜ55[\÷çµõÄ¹C)œ;)_Î�ÔÂ¹“P9wRþ&òÎ€ªÂ¹cý–9w[Hœ»%çN¿ºrî4·}9w
bjæÜÙŒ™9wIÉwd©Æ¹£<¶pît¯¿œ»&3­Â¹k2Jx*æ­`îP
-æ®=piÏŠ¹C½ß„¹“R1wí9þÌ�J„*æ®4Î˜;-;>˜»ÞÞÌ]µ�0w´ñ0w¨sgÖEOÂÜ}‡ß˜
-­KCÅsÇ­*˜;ÒósÇƒW1w#*¿æÎžÎŒ¹³Gÿs§W¤bîìUÊ˜;’¤ÌíŽs§Z›Š¹ÃJìƒ¹#¥›1w<ýs§´ß/æ­`îP
-æNÊs'µbî¤TÌ%FÌ�ýs7ðbJ˜»ï}ü¿Ïd
?˜;©sÇqs'å‹¹Ã ¾`îÌ%*cîhþ`î:¿„¹ëTGfÌ�Öˆ_Ì­‚¹ÓY1w�^•ës'µ½OÂÜ¡ÌfÌ�Ô¿�\ÂÜu’s‡òÁÜÉí8î�¹ÃÖ¬`îT÷ùÁÜ)Rô´3aîX´Ì]Ræn«�¹ë8ø:‚æN#MÅÜé«õçJ˜»­$Ì]
sÇO*˜;oÌæ)s‡2Î„¹ãÌæNjÅÜu¸0	s'á‹¹£V¶`î0Á+˜»­dÌ]Rs§¿P1wZÓ}1wt÷Ì]—=}ÁÜm%cî’ê˜;ÕWTÌ®Ì]§Ò?cîˆ§Ì�¦�/æNAéŠ¹£q¶`îð�ý`îÈ»ÌlÁÜi^ûbî¤VÌ�”Š¹XWÿbî¤VÌJÁÜ¡übî:ù�Œ¹Ó�T1wßá2&LUÝ|1wÊ£VÌ�Š‹*æNM_Ì�ÔŠ¹ÃÝ©`îp�ú`îPæŽ3æŽOÿ`î´¥®˜;íà+æN¹â/ænÐLš1wøšÌûîæŽ
{ÁÜÙ~cîø÷s‡Z0w(sÇ_üÅÜé§WÌ�¾|ÅÜm%aî¶˜;Å*æNIê/æN	ùŠ¹“—_ÁÜ©öì‹¹ÓasV¹`î p0wÃZmæN£bî¶’1w[
ÌF5s7Âµ·`îä·W1w*—«˜»­dÌÝVsGAJÁÜ©žà‹¹Ó7©˜»q¶Ìö/ÌjÁÜ¡ÌÝ8û�¹“Z1wR*æNÊs‡“pÁÜAæ.˜;{X~1wª¯˜;cgÌ]Rßj«†g¹�1wú_Ì�¬Š¹ƒÌ]0wII˜»­æ>FÁÜ±"ÿ`îô Ì[Œ�¹ÛÿÌ˜»­æNŸS1w”ô|0w¸IÌÝÀO'cîÌš¨bîð0*˜;)s'å‹¹#�Y0wR*æŽc~1wŠ‰VÌ�Üœ*æNCÌ–Ós§q¾bî¶’1wIuÌ�ÏŠ¹ÓŸübîø"s'¥`î0Cú`îLÍ˜;N,˜;û•¿˜;MLs§É·bî¶’1wIuÌÝ`·ž0wØ@þbî¸#s‡1WÁÜ
Š]1wYÌ�†‹Š¹2å‹¹c#W0wÚLUÌÝVÊ0°ÔÀÜQ]Y0w£�ÿæŽ¢ô‚¹ÇøÁÜ�E�Î˜;b"s‡=Ì/æ“ŒŒ¹Ó¤X1w0–~1wˆsgJÆÜ™ò‹¹£l `îP
-æåƒ¹£ô£`î¤Ì�„æÎ–s®`î¸1Ì]_æ\�¹£9±`îØ§}0w$úæÎ”Œ¹ãLBBsGWÁÜ©}°bîÌØìs§�MÁÜ)þ^1wII˜»­æ®ãØœ1wÐ½~1wzX*æN+žŠ¹“És'µbî0W+˜»NÅ/æNjÁÜau’0wðÁÜQ^R0w®ÌAÌ�ÔŠ¹“R1w*CûbîPæŽ33æŽÿ`îô
-æNU5s·•Œ¹Ûj`î:\ÆÜa)÷ÁÜaKT0wV*æn+s·ÕÀÜi3W vú_Ì�ž­Š¹³Ë˜1wII˜»­æ®Gµp`îø=ÌjÁÜI©˜;)_Ìi¡‚¹³DQÆÜ¡|0wR+æ—è‚¹ëÏü/0w{Ä^ÇÉ§ª`î¶’1w[
Ì�ý…Œ¹Ó‹ðÅÜÑÚU0wQæ–æN¡Ð‚¹#†Z0w[É˜»­æÎ¬	s‡÷ÜsGqÁÜá=W0w=\É
-æk¹‚¹3—ëŒ¹3»_Ì�F¿Š¹£¹`î¶’1w[
Ì�^ŠŠ¹ÓôÁÜÙ„œ1w
-&UÌÝV6æ.i©R*´bîtG¿˜;»‚¹£Ê6cîx??˜;©s‡R0wœùÁÜÙûž1wR*æ­æN_­bîTG\1w[É˜»­æNks§'÷‹¹Ó^1wz
-æNSõs'µbî4�WÌ�‚–Ì]Ÿ×æŽØfÁÜõå˜Ÿ1w½ß?˜;³âÉ˜»¤$ÌÝVs§PkÁÜéO~0wäÈæ¯ÖãH˜;”æµ`îÓ’1wüÊæŽfÁÜQ/ÙŽ„¹KÊÆÜmÑ1w�ÄÒØaßòƒ¹#dS0w}¼s§EÞs‡åôsg•Ö­oÌëÎ‚¹KJÂÜm50wÚ<TÌ�Ì�F¾Š¹£Y·`î¶’1w[
Ì�ž£Š¹Ó³öÁÜ‘¦/˜;Å¬
-æJÅsÇS0w:ñ‹¹S˜¦bîÔrT1w°¶>˜»aûÝtœ?eÌÝV2æn«Ž¹£¡*cî0¤þ`îh-˜;õuVÌÝ7ªñîÿ!ænD—fÁÜ�vþ`î8®`îpâý`îxæNÃmÅÜéò1w¨s‡¿BÁÜIùbî¸�s'¥`îÌ}0wzŠ
-æN¼˜Š¹c"û`î!¬˜;¹0TÌ�˜n_Ì�‚Ñs§°OÅÜ)BòÅÜI-˜;Ë˜;	_ÌjÁÜ�)˜;)_Ì	�‚¹³ê¾„¹Ú}0w 72æNªŠ¹£wûs¡`îÔ	^0wƒdó/æN­ásÇ/Ê˜;]ææNbÁÜI¨˜;Ìë?˜;bus‡R0w(Ì�ÔŠ¹£=½`îtq¾˜;…¿
-æbGÁÜ	ìúÅÜ©{´bî zÌ�®ës§hZÅÜ
vH	s§;õÅÜi¦¨˜;…Ü¾˜;©s§/^1wæ€ò‹¹Ãó¤`îP
-æåƒ¹#K’1wús§¿˜;µ©VÌU4sÇ¨ñ‹¹³q2aîJæî;Çøýïaî,5ñ‹¹ÓÓT0wcCTž@Ì/æn˜µrÂÜI©˜;”æ5cîì°„¹“ðÅÜ1œÌ�nOÅÜYÍÒ/æNƒzÅÜ1%ÌÝÀìësgVs7hâÎ˜;”æŽZº‚¹C)˜;Îü`î´†©˜;}ÿŠ¹ûÞËÿøŸB¤Ì�Ôë>æŽðœ	sG¸õ¹0w¨x¬æ…êØÀÜñY×ýVÌ‹å‚¹S¨³`îÀà|0w�¤XÆÜiT0wzðo+˜;E…æŽJ ‚¹³Çè¬˜;Ä‚¹ãOÂÜIíýÁÜ©¸¤bîlc—1w˜_~0w
-ÝUÌ�Â?s§øÛs‡C{ÁÜõÈÞ/Ì�v_ÌþõsGp´`î³~0wDº
-æ®/€v`îÁøbîˆkÌ�”Š¹Cù`îè,˜;”„¹³OúÅÜa¯W0wºbsGâƒ¹£¼`î7fÌ�ò/æKøŒ¹Óý¨˜;b‚Ì�ÂsÇC‘1wJj|1w�•KÆÜ)T1wDã>˜;=csGƒtÁÜžú`îôM*æŽÐSÆÜQûÁÜ¡fÌBÁÜYùìæÎ+h¯…¹³Ë•1wR¾˜;}ÓŠ¹S1^ÁÜ}GÉsÎÆÙôƒ¹£ì	sG_WÆÜQ‘÷ÁÜ¡Ìõ|çL˜;`C
-*ÌÆ¢xæÎ¬F3æŽV²ã½+æ®C¢Ï˜;*ƒæÜ˜;ºÍÞöƒ¹£–º`î˜DOõ;æNQœ/æ PÆÜáA]0w(o+æNªùŽæW_³€õl*Êsý`î4%·³½s§9«bî”4ûbîð·/˜;óðÏ˜;œ~1wÊ™TÌ�bÍsGÍùs$cîúÛ~0wF¡øÅÜ‘Û+˜;rus§ÄásG«`îTr×ÆÜ™»÷/æŽbÁÜ™AÆÜ)ÔùÅÜÑ°“1wŠÁVÌ¥UÌ�N¬˜;}nÅÜ¬ý`îÈ¶Ì�¾ZÅÜ¡|0w=\‚æÎÎÌ˜;}ús×ƒ¿¾0w4·'ÌŠæŽkU0w\§‚¹ëà—~1w#A`î(G~zÂÜÑ(O™õÆÜ-˜»µâJ˜;}×/æþ\ÁÜ)‹W1w¤Þ>˜;Š
-æNgVÌ�ÖT_ÌfÝs×A÷„¹£œösG9cÁÜi.cî(íþ`îPæåj	s'¥±úÎ˜;Ê»æŽÐaÁÜIyâÄUÞ~¼?˜;�VMáíÀÜQ–úÁÜi«˜;úà�™0w¾˜;ª
æŽÁ¼`î˜ÅFÿÁÜ¡ÒÎ˜;)]i‚…¹“ÂÒº`îlZI˜;	ß,aîLùÁÜq^æ®laæŽF°óþÁÜQë”1wêuzÆ™0w�|áæN…Gs§¿X1wš]¿˜;kÌK˜;:3
-æÎæ¦_Ì]‡þ~$Ì]ÛÙ…¹Ó:è‹¹£è cîXÌ+¼æŽsÁÜ‘ö+˜;[{ÿbîú‚)æîÔsG½AÁÜi(¨˜»~¿ÿæ®ª¼øw49æ®GyYÁÜ¡ÌJÁÜ±Üü`îXãÌ]§<cî¤|1wš�+æŽZ„‚¹£þæƒ¹C-˜;)s'áƒ¹ƒüV0wd¸3æNÂs§åJÅÜI©˜;­s¾˜;Zg3æŽ$|ÆÜa»ú‹¹ó}OÂÜáüX0wìr?˜;¶hs—2Ž¹Se÷s7àeÌJÁÜqæs'µbî¤$Ì�þùÅÜ)&_1wD“
-æN¾¨_Ì�ÔŠ¹¢2æcè_Ì�Ä‚¹ã"ÌÊ/æŽCÆÜiZ1w–W¯˜;*!æŽÔMÁÜQñÁÜuÒs‡ÿXÁÜApú`î0-˜; Es‡ìs‡ƒtÁÜ¹CeÂÜéÝÿbî°u-˜;ýòŠ¹Sæìƒ¹“X1w¦$Ì]9oaîPæ‡»‚¹“òÅÜ�å­˜;zìæN/ésG-jÁÜñ-
-æÎ:Þ1w×3æŽ.„‚¹Sès§a bî0Ä.˜;’Ì»�‚¹ëÑ´0wcY¼%Ì#OÆÜé--˜;J>˜;Ô‚¹“R1wR¾˜;:O
-æÎRàs‡òÁÜ)ZW1wŠlUÌ9ÍæÎøsG³TÁÜ)•÷ÅÜaËY0wËÔ90wJ:~1wÊ3VÌ�²sgå_Ì�!—3æŽìBÁÜéo~1wÔÐÌ-IsÇ·ý`îÈªÌ�åÙ2æŽ3?˜;¥Õ*æŽ~…‚¹Ý“1wã?˜;k¹É˜;åz¾˜;Î,˜;Y3æÎ#ß?˜;}‘Š¹,Ý2æŽl÷s§ü`ÅÜ‘§-˜;ò­¿˜;*òæN_¢bî”ØûbîcEÆÜéZgÌ}iÌ�u¹%Ì�„Š¹“òÅÜIÍ˜;úµ
-æåƒ¹#¥^0w–Ë˜;ZV~1wúÝsGn=cî”­ýbîÁ{aîôQs§¯ðÅÜ™úOÁÜ
«ìM˜;=ésG·âs§äuÅÜaÚ\0wó˜ÿæNéìŠ¹ãÞÌéœæÎmnÛÆÜ‘>(˜;�á_ÌIs5£`î4Ý0wÚ„TÌ�Þ•/æŽÊ§‚¹cý_0wƒ~à_Ìƒ‚¹Ó‚°bîtù¾˜;&Á‚¹Óe©˜;š³1wÊkUÌáŠŒ¹ûÆ³ÿÍhùÿÌ
Ì
sGýBÆÜ!|0wƒ†ñŒ¹Ó³Y1wT}0w
-æ¥`îì˜_ÌŸW0wR*ænÐäò‹¹ó]˜;
-^
-æNcòs§É¡bî42TÌ�êØ¾˜;-*æNµ0s§1à‹¹£D&cî¨|)˜;)_ÌjÁÜ¡ÌŸõÁÜ‰SP1wã½*ænÿÅÜaÖÆs±ŽcOq%Ì]RXm«�¹`$.ØÁb¸’`ñp—Ò8ŠößŒ¹Ãüs‡X0w(s'å‹¹›íøÁÜM•}Ì�”ænbµxmÌÝ<bWà˜»-dÌ]RÃ”–tWÛ˜;‘ˆOÌ8ÍcK•}¿…És·•r7–˜;Ãô�¹›fïR1w`¦§žxE°pDæÜ¡b¹ ;”ëÞ ;	>9mÐb³Ö6ÌVvhÓ½@wRX‘Ð�&‹èN·±‚î z|@wšè+èŽµFÝÑŒùÝ¡Ð�”
-ºûŽÀÿÝ)å
-tGœíºc‡Q@wÚýVÐ“îtg^Pt‡R@wœùÝI- ;b©tGhôº³LwÝ)°ZAw�Úº_Ð�¶þtG¼·€îh–û€îPè¥€î¨ùÝÑ •@w´PeÐéžèN‘€ºÓý¨ »ï�ü�ñi!'ûÝ©¢‚î8®€î¤|Aw¨tGµ€î¤|AwÚ³UÐ�ÖÝt§¸ëtGssÝQ®[@wÚy|Aw¨t'¥‚î¤|Aw4èÐÞºá�^@w„
-èŽ2ÏºÓèºØ³fÐ�
-	èn	t·E¯JÀ?¡€î’> ;mw+èŽZÆº³ÿ€î¶è ;û9t7®û¿Ý¡ÐJÝIù‚îØ ÐÝ¸î
-ºÃóõº¼·t§�Ý%%U‰l5@wú“t§ýÝáÉQ@w„Û2ènt—T;PaY@w€^> ;«„Ï ;Bwt§�át§`DÝ( »Á¾îtGx¸€îØàÐy‘èµ€îhv, ;)_Ð!ÜºC) ;;ætt©€îèØ) »ïXùoÎÛš’¿ ;­Ð
-èÎ\V2è®÷ñ_€îpŠ) ;œb
-èŽâ™èÎüjèŽèŽÿ€î¬H �î¨~( »Mìtgn`t§ÜÝõçÌ ;Bt‡R@wžøÝ¡ÐJÝñ'? ;œa
-èN·¤‚î–R@w¦fÐ9óºë3B¤tG}RÝYyGÝ)üÝa%Q@wÔfÐ�Ö²_ÐÝvqXÇõÀºèÎ”«€îB[ ;jj
-èŽ¾²èÎª53èŽ¨tÝm%ƒî¶ ;¾sÝqÙ> ;ƒ’dÐ�‚HtGÕ/è±€îP
-èNÊt§Ï¯ ;)t'åº#¼•Aw–ÕÈ ;{H~Aw*a¨ ;]Œ
-ºKJb[%ÕAwãÐ�ÊÙ¾ ;úè7Èº[BÝ…¸@wúøºÓýÝ‘ª( ;í*èn)tgjÝÙ~,ƒîpù€îTæ^Aw=:"èŽê¶è_ÏºÃÄ³€îŒ‚òºƒ„R@wÕÐÇ|@w}ÌÐMt§8Ötg{—º£¢¬€î’’@w[5Ð�>©‚î:Ð¿ ;¾GÝQ.W@w(Ð�©t‡R@wö+AwìèŽ¨HÝm%ƒî¶ »NÄ!ƒî0bû€î¸'tgËtcêºÓkRAwØÓÐˆŸèŽ}dÝ©Š¡‚î¶RƒPèNoVÝ™ÓÀ/èÎš2èŽš§¾AwØá@wf	•Aw‘¡. ;et§Z’
-ºSÇÔtgjÝ™’Aw¦ü‚î´n® ;”ºCù€îH„'Ð�(t‡ëÃèŽ7¦€îè- ;<å> »�KÝI© ;vx¿ ;¼è®(4ásât§�nÝiœÈ ;ï@w4¦Ð�”
-ºKJÝ™šAwxpÐÎ+ÐFt7ÆüÝ1ü~@wR+èãîºÓëôÝI¬ ;Þººã˜èsšºœ�AwÚAwR+èkþºÃ)âºCÍ ;N, ;>üºÓO¨ ;6Kt‡òÝíãt7˜áZ@ìlù^AwšÐ3è–FÝm%ƒî¶ ;-F*èÏ‡èÿ�ºs¯�sƒî’’@w[
ÐÝÀ¨6ƒîÆÊP$ÐbÝÙÂ2�îXŒþ€î¤UÐJÝ!|@wúô
-º³|zÝiu÷Ý­:¢u˜Ú‚èn+t·ÕÝÙH ;ê¿ ;Ú0èÎâµ	t§˜÷tß®€îˆØÐÝV2èÎÔº£µ€î,òõº£#®€î¤ÐÂt‡qKÝ¡Ð�nÐ�neÝé*ÐÝè.´º³ÈaÝAðø€î˜~èŽrÏºÛBÝ-uuN)UAwÞ{WÐ�\ÝQR@wÃŒ@wFcÉ ;”ºãÄèµ€î0ó) ;CÞü‚îôÕèŽîùº[BÝ™šAw¢fÐ±»èÎšQŸtØÙ~@wZÚAwXóÐ�9
-dÐ�b›_Ð�Ž+ ;B tG±Õt§°xÝ�ûýÝm%ƒî’ê ;ê{
-èŽ¿ùº#±_@wR*èåºC- ;>+ƒîVIYÝádQ@w”DÐ]Rè.©º+ƒ;…¸¿ ;*Í
-èNÑþ
-º“yÂt‡úÝéó*èŽ•fÝ…P@wKÐ�¶Wt¡)ƒîX?;èNKÊ
-º3åt·ÕÝaÍX@wàz> ;ZE
-èN3uÝÑ“÷Ýi!SAwtõþ‚î˜G
-èN¸ºS™ÒtG7UÝ)ZAw[É »­è®ËRÐAwt}@w4ZeÐ�îvÝ}#Öÿf<üÿÆ »`w/äÎü:Õ¦’¼‘šlÇ,‘qSÁ4]J	^§…ŽÙ¥:»Neî´ ºîu�õB®S«ÃqÚÒšÚsÀÞlÅ�[÷F=éÆÖ½tŒü³ uP¾}}³Nö©øÓgd�ö„Ó£ˆ•¨�æÞ¨û½}‡]ˆuîÄ×&Ö�ÃaÀºe•yuæS8þY¸º¨™_´:ít(`Ì°ºqÛˆ¶Xuæ&ÕicÅB'ƒê$ö{lN�„sÜSÇî«]™R7×²Ä!uòL¹šuqs±HWBÔõ`a8¡îô6Œ¨¡ÐÐ–¸ðt*¬~7uN)ÂþÃ¦ÓŸ-óXüf�é„G¹,_³-fžé–Š±ˆ÷e)†¥ÔJaÒaYsXÁ±Ù4\¶Ë]H:õÙ�«í>,›
-¼½$€tZ>Ÿ‘-µ‡:„¤[béúé½7‹3w›£ZÁÑÉ[eùåH<6†î¨Wüø'ÀsG¼KÑx¸wQÁÎ]–l_Ð9½¯d•3u®›Ëý†Îõxy‚9§ÏöCœSHÁ
08çÈ‰Í›î‘^ps¯•Y-Ú�Ûi^±æBØ­¥°ÀæÎ I„xEcµ£æîáÝ•™4w�0QwÐœú—(²	ÎÜg”Œ‰ÈŠ¡Ú|Ý±?cæšÚæ¹ø�™kçå7ÇÌµÓkGgÍâƒ^å„BH$8s�‚ä>+g®©Nå9ÚæÌIa9º8sRÆÑïÊ™kZU³Ž
Î\»š¥úgîo6´~ŒÂ™kWï.ÍµË+¥h®i�Ø!¤9ÄËÃ Ä0Q¦µ£Q›¼Ó”š“ÊMY 9)äDhNŠõëeÐ\»|çº@síŒÄ Í}oåÄ­Þ!WHsR	ê/ÒÇYã¸“æšG
-hN"©èš“Â*s�æÚ°¢­Â™kË„!@s�êÄ¹ùqMI}^ÍÌ™S�öÁ!ÊŒîl}Sæ.A]Î§Bæ.w¿^Œ9|âdÆˆ9ùÄ½OÌ)åªarñå´%¸ï±ñrFŸ•.§fÙ
\îôÎ›Å–»<	—ÑròÒkìä�,'*ˆæ™…nÚBâÊ-1°r·7�/Zœ^{Î3Tîz
±D™0a#H¹%$¢ÜÖ(§ßñzõ°rìª`zOwŸ‰�éz¬~Áä$DË<}tÑDVPrâh¦\X4È+§ZQá-y;�."È¼WT€8GNuf
Þ•cä–�)r[tˆœ6‰ûv6Ü}|/!äD(Áú&D-Áhs€Ü2?n‹Ž�S jBÐãÞÃ�™÷ú.l¡ãä‘6ÜˆÁ„Ëâ×¨ýá6ùv½©#‰,j€ãZ¿½¦ ƒãä�é{b\#º¯/pÜß4~h	'ÕÀ�á·×°+¾­Ð„µa}ÿS¸qéêZÜ8ÞøàÆ¡ÐˆŸÁq�|Â° -@
§œ(÷ýb
-Äs�ššŽÓÛ�cÇÇ©X‡(ËÇ×¨à8©­µ±Áqø%é¦/p‘Í‡êÃ¥ùèÄîc,®‡|¸†àÂ�ÓÃ„?ýâÆ:æ½¹q¼ÚÍnMHnuÁçÐz¯w�=ìbíMØ8¶¿Ú·/l
-V:ŽC‰°Àq¨ÿ,jÿÔ½]Ô8scÙÔ8ûPGk2+é«[éKPã¶’¨q[jœ6ê‹ª Á	>Å¦¥PãŠi'#¾��Óàß/(�	×¢µzaãÀSö88›´î»bã@wð7®êjðì/lÜV26n«��Ãø£˜ÀÁ5\pU•±qM¥º V×qBˆÌ±©qKÈÐ¸%3Nø&Ë1®Ýw ?3N_ƒ¨ã>¨¡Å6q?ÇJ¥9\}!ãPm†sd\Ç……Œk�w=dœT	2&¯J ãmí¯³‡ôÕÌ­)�q@®1œ=)çü§ ã¡:Ÿ|íËæÖùII¨¨­F<[|l†¦…‚Ó— g± ãôP�w'ëŠÊ—”„ŒÛj ã=zƒO\Ë‰LŒÓS`l†uØM ãö?32n«�ŒÓq¡
-N�P_ˆqÊhÞÝGi<;æØÀ¸å9—‰qØ5oò­äi6¬‹Çlq:Ëk;–)"x¾sã¤àÃ½ˆqcÿ‘üÜ´Õ¼´ˆq
-ã(¸PpfÉPd££&ç}ØéKã Æm%ã’êÄ8Fmï.1CÖv˜#cÆ1Ü¿ïµ�q6h:r`¶B3/ÎDáÔƒÇylû‚g¿‘/•xqdØ˜ƒ§…µÐâÅm%óâ’ê¼¸Î~[¦u)g]¤öÌ‹ã~(¢"	°ûÞ¸8­ÊÙá\†P÷±Å�=cFpœúmí³3.ŽÝ˜–)û¸ñXhdáâ¶RÆ€¥.®©<þràâšÊS5Â\\›‡×.®aYì€Öþ
ómr×¨.>ÍÖL\#ØáTêÀÅµÃ}�×Q*Ç!ß¸¸÷´TY¦Å¡Ý¡ýí$ÎçŸÅŠC!8$AK!,ƒÇÚèµ~4Š=$XËjâÄ‰áÀ›˜¸w±CŒ§:³:Þ�¸çõB0âäödtn÷ï½|s]qfkõÏâÃ)ÓE£Xàá´ãbm•épW¬Ÿ‡p˜@žK§ÅÉh8-E08	2œæRhí† ƒ±&sá_‹/.œfRÞòÀÂm!Qá–P8
-ž4¹®iáÈðŸ¡pz$Øš/(ÜßËh�k
-÷w–½³
-'ÕÀ¬…“bõf…kG 2N*uï…“À¤T8ŽBã²±j8�¾Ã"xÞþ–=îgåT¸¦`
-ey	
-×Ø
-Ÿ›	'�eîbÂµvù 3áP‡œ]ÅžfÎ„ã³Y£f&\c7sÜ‹	÷¾›÷¾•÷¾›×˜°¨fv²[k·m33®õË,�×Q2�¢|ú‰à�™þ¶Ä€¿5ò]ŽªÃ8£u7,ô·¦J„ÇÝÂí8]ÅÜý-)‰þ¶Õ ¿5­.^¯’Ï7?¦Qq™èo¨ßƒþ&…ˆâ¢¿I™\­Lká÷¾èo(F„þ†ÂR:Óß¤²Pø›¾ëc�ukÔ«is�¸Æßuœ²ì”,üm+þ¶Õ€¿Ù_¸®
uÓfº-v|¾õµ�à:NqÍá7+ìh›Äìœ¡ðäÉ#e	QÂš÷97ûm+™ý¶Uc¿µéCR°ß´0�Ì~“ú	ö›”ëŽã¸“Qc_ØoR}¤pöÊs;éM©$ÎÔš¥°ßZ?-ÌµØoºˆG”¦ào³•Ì~Ûj°ßôJlœéÖšWö›Í®*AUH ~oò[ü{sß–âÌ&UÏPk07�y·•á$è�4§uœŠù@ËõM¡YçG'ê›T3]êÊé8‚8œy8{}QßP
ìãKîÖÂ'¨oR “©oún~¦SßšÒp$Ë‚ú¶•L}ÛjPßÚñºUVÐÜ^
-èÛ{ó×ÅgºŽ#ßžUl–ˆoêX¶DªßnOê,Þ›ÆMjqî
DËûÏ‚½i'}4›Ý àOŠ.¡Þ®#žOÏËÍhô¶…Äy[b`Þ”Á.0oªW+”7å•[ò¦rÈ¨S!kqyÏ|A¼]n0³o—‡"à�qÒÁi‹ïvM+öYx7qùÂZŸ„Ê6ÜmiÎvÓXFYo`Û®ûG`•uØø¼Dàâîv8:³Ýîf;š‚v“ÉØ8îMvÓzÑJªì¶…Äu[b`Ý°C{ŸÝ(ÑÂ¥½´Nh2&«²�›QT·­dªÛVƒê¦‘íEuSÕ®L¢º)³f9ÿ º)¤d•Àº)‚qD±ÑÂº)Pf=P�uÓ™ŽWHX7mÐ¨__X7m%Ù -\›lu©ÃÉT7ú$m©‡ásD™Glö—’©n[uª›• Þ–(À~\MØ|©Lu£Kò¶A·ÂYy·³ö	ªÛ7äÁèÿ!Õ�=_;ÞJukÓƒ‰‹êÆqÔÕM
-ù³Bukjl¿i4wªÎQ¶.wª›®¾1§3Õ
u¶
uká)º n¶¯¾G…ºq31Þ¨›_u#tæ+“ÅtÓ#dù€º)<ÒºÓ™ôÐ´û¨87Â Z.œ÷épn„´6/87Š÷ì­ç¦�Œy'Î
Šó�çf9ˆ£/œ‡=M!l¨6µç†zÜ›æF|Ä²áNs#úú8%he?ÈB˜¤—ñX	Ûu-š›<:
-ÍÍˆTu:Î
«l:ÑçF‡2 «„sÃé2—ÓÜ¨–µÒU‹[u2ºç[inXÀÓÇ47~þT�sÃˆ/•yn¸Qg@7rÐ�ü=;èF$
‚TÝPú;6Ðmå"
-Ð
t®vÝÌÛˆ3<O3Ð�ÀµAtÃKîæ—;ÑMqì¢ÑMÁ{»ƒèÀ‚
-ˆ ºá>ë*#ÝÈ„ÒÃH7R:Ð¨é¦ÒËQÒMáSâ¨é¤ZFºI%³�ndÒ¨™¤5¬#2Ò�ì?k©@º­B‚…tC¹®Jt#�Á>�nú‚èF.ŽÂ�LtxÃ¨�Atk$÷¶‰n
åš	éfƒä87Ó��”ñ"˜nß!8Fï�éf¹ƒ£U¦›F3<W‚éÖÞHÞÓm™de¦›Dîè¸-�±˜n(ÛJL7TF£€ºÙq§)æYpÜËP7UXPuSÀÞ,Óê¦c¶uÓ n¤–€º1#¨¨›Òn”ù¨›TG‘8Ô­…�Ô‚º¡(E\ n
?óßg��ðúŸ„éÆ‰Ä*2ÓMüÔÓM_Ÿ…Ûbº}ïåü‹Ï‹üdßQ‰n2>€À@7*“Æ»ynñùÁç&q÷¦¹I¸Æ»anÔ<Ý³²Ü´6&H(7ÍæÓë®¨¹9†$�ÛãÔÅqcpÀÖ0n*à:û[)nò«�ïÜ7ýïãà5êóô¿Çüa¸]ÍW�pÓÿy<à&½½£òÛ®Ç >ß¦ÑŠ
-Ø ·‘i•Ý&�}v�n‹2ª ·5%—h-Êä6…Õí;¹­Eú|‘Û´â7ÃâLnk`7Ü!rLvkAn#j¶6Ép£E‰û"·5cB·MnSü�÷¤�ÛˆJÐ¤ä6)ÖÝä6”þn“h=šnC±î^ÀmœÆ“‘Ámúb°pƒÛ¦ëED'¸mDì“·­Q|ã86
-¾ÙvÓ¹mM™Qv–‰Û¦óŒ(à6Ý¯Ûsp›ZµYädn›*0ðwl›žviNm{ÂL3CÛ^oÅXÌ¶wxák Û^V
-±Móí8Ín™o«6¬(F¥XibÆùŒk“]?ÅBAk{}I±hm*œ=î§ÂÚÞÜ4V›þÍØ¨6UÖžoµ½—“×�ÓÆåq
-ItÊh½ê~õÉ=‘x	H›Êé¡:£íwÔû7g`uXRBšm«õ˜ŸMÔ8Ë1;ŸmzûyÁ³Id…t6’äÃÚÄXsN/¬.l¶éù‰…f›§OG±çgëðú_Ë­ék›ÅeBE!‡aÙôò¼­W*›ŠŽÉ=D—Ð)!òèÆd“%óådµ…d»ÜÕs!Ùp¾ç&²Ixû¬@6µöÞÏØ<6µP�¬+<[IO=ÑØs<ÛÜ0¶Ûí‹íù¡°ilc¸(l*3ÅäeQØTåf›Ž�´WîÂ—TaSÐ×-–ÂÖØšÍ
-ƒMã
-ûŠ`°5ç--#k­Œ`kø5õ{#ØÈŒYÛ£!Ø„�¿lŠ5=}ã×´I9.KÕêV+õó`w�àkW,Ê‚½¦…5Ù�@¯éU&L’Ékê;¡ŽÔÁkoÐ7‚»¦ÞUÊ3vM†‹(ø}ÜyA×à�OC#-æš@9Tq„(rŽA\“p¹7ÌwÍ¬Æ´¼ œf‘x–‘'Ïg†­=žÊY¬µÇë)ƒµâã°÷B­=QŽ¤5pã‡exé°„ÿÃWLœ5‘?y«³¦ú\šÂ^LæŠ÷aÈ³ ¬Ñ*î@ÂÆ .Ûdóÿ<ÝëÔ2bM-º@à‚°¦¬=AXSî–lb¬‘Þúæ«µ#ê‚¯ö\‘LLx5µ_r/ƒ®4Þ`«Í7ìŽ6Zm®ÊZ'«iì5¶™ƒÕNÿŠ«vFcPÕ$\~¹oå°C™˜jÊt¿¤š0ql4‚¨v*OÕ
â¶Z9f·¬VðÔFxQÅë¡ÉLS“ÅéîÊ–÷TmÁ°ÊO÷6°Œr&©
�i,�š
-7p
-ŽšªB†CÍFM¢c{1œV‡VãµñØò¶0Ô†7ì.†šÞ>­ØÈž��ñ¡¦Óúso‚š2[G7@�úÝ»W~šÖ1 Ÿ¦+évxšÕAxšð0Mƒ�¦}ïëæüŒ•zJ	Mfr½b—Y,£6}»à´�óqÅ¦×Uj¦¾kb¶|^ð33�¤<82C¦5Ýrj™ÖúòKÈ4M"6 2�œcX ÓlÕ;+1í
§¦iÅl™éLkc;uÈJ¸¯€]À´Ö|-À´ªÒ­ÐV—ŒÓZXb*AÒ ¦¡\
bZ£fÿ².½EL“jÈ™ ¦5ŠŸ_c¨áú*ÅÚ£21­…�á"¦‘¿·d•;ïj
-§L·ÓPÏ¾�i¨%
-`š„Ù–±ã:ë´æ6ç¥‘ž˜&Å¢v˜Ö†§r0MŠ‡’<c¤%É'ÓšFË°0MY©¦©êk˜…Û¦Ñ¯fÍyiJµ[j=xi*…3~væ¥)c‹Ùà¥¥€óÒTÒlÀáÌKk„)û½yi(³m\'žw¥¥I´€„—iJ°Õ°4ý“8L�¥QVGoÀÒÓPµ°4±1øÂ–&Õ|¨ÝÚ„Æå•'D?¤X£R†¥I=ƒ–f—�ò›'ÂN·×‡&ZZ‹ê� ¥)mf•óAKk€^‡÷ÿEŸÕc«žEKkØ&Í¶ii”PO’ii­»Ýü¢¥éLîñ¢¥5úl�§ÒÒþ>Êr‹–¦†=–Ö‹–¦F<swÉ´´zuŽMKÓ™žâó@O÷N_"ÃÒš²lô,M?|mé¿U$
–Ö¢¾`ÁÒL¨ån_åÄEKCeÉ´4)�-Zš«äÏ´´†A“Ã3É“·±<Žh&=ý³2-�RL¼}9Ä· ´´ÞwŽJK£}‘L¦ÓÒ(¿·ê£+Êk<˜—ii¬Á(hit¼Òiiª6³©(ÓÒØ˜t
-I½ó»ESÌ¢¥5|ÂX/'\ãŽ­¢�—¦ÕÜÚ˜F/Å
4ÓP	_0MJO¸4ý2i¦¥Ñpñúi6c‘Y~Û¦¥¡ÄG/Ï!ÕÚ“ë^´4Õ½›ImÐÒHrs3-ÍBãÏØ´´�¥‹–¦L™•ŽgZÞŽ4-Í��û¢¥Ñ1Ã˜’ii,¹.·4¿RU0±dZMgZš‘{ÏwÓÒŒmÒŸMKë`œÅ$Zõãö±£^ë´4Ã¿¿½ÒÒH«Ñ‘´4ƒÏ¦¥q&›»LKÃ™„ÈRÐÒ¨Õç™
ZZ{ƒ=Ÿiil„‹¶•ÇS´´öx%I¡¥q&ó]=›¯U -­‘�~*,MßÃ–)Kë,ÚîwÃÒÈ%G1Q°ÒI2+¤`¥Ñ&`s¿³ÒŒ²t�–F=ú»\þ‡
-Ì!1`iŠpÃ,
¬…•9,
˜
µUK£ùÊÚš,ÍÌNšS3¯Óƒ:¤¹Ûzð^ÿ¤LK“jaa£¥Ñ¦D¤3hi(¾’Y°42Ö-Ìª`Hl=›•F³]Ó‰•¦ŸmµwŽJÓë@X)PiÊ‚>·9,,RšC �@•¤ÂG7G¥é0
-T*ž––¦¨•°–¦Ýjƒ–F‹ÉöK£}¶ÍJÃ÷—6XiÖÝ6**­‡_n�Ò¸±4��Õ¥8½­(“Òô6P¾HiZêÙº$Hi½m®/õžÚðXm¾‘ÒTÊ‚~‘Ò4Õ[#GF¥©¬ˆÁB¥5ØìÇûOA¥5jÜO,YÞo>xRšáñ*¤4-†­o2HiÚlñ÷)�¸!3S¥=ÓkÓ#
}Çš+0i�÷®³bÒdÓH~&(iŠ?°Ô
JÚ'¦üo¬ÿ@Ò¡v‡Ÿ-H5�úFå÷òü;$
áö÷ü­‘xÒp°¢Ç3iêô±H@&¤I5xLÒPðBšsyÉªrÎõŒ/R,„4)”BZ{Â¾@ËÃ×;Š"M#±5gDZ§pù²¤°­·eB�t2“�¶ÿHˆ4½J–ØD¡1.} Ò†ø”^›��F%Éå-Rhü.¶
™�†zE)Áãg’fZ„4>Ëék�Ôñf4h‡¾ñúGó¸†§x¥!
—¯BHëì#2!-)‰ÉµÕ ¤á-Ÿ	i˜øÿÒ4ªBš¾˜‡ñœ�†“4QïDHC¤¢-i(æä„4‚L—•(­$áTVëHSðÜâDH“b—LHÓ;à½ŸŽH³ ²·ÚYëQ‘–T·3•­ZA¤)ìÿE¤a$_iì"m+åv,5if”ŸiðÁ~i,¬"�Å÷‘†Zi(‘F›÷/"
1#Ò@=DF·Dšž¦ŠHÓ�4×¼@Ÿ™ÏéÑþ)ˆ4ŒÎ;¦53i´>ÞM³¬°PO§ŸAH³®þ¾ißÑ÷¿;�üOÒ«Ùã™i
ÜÎ°Uµ‚r–L@s-
è�FÎlŽÍGCÐŠñÑ8QKÁÂG“JÔ2øhNïóÙ|4š™ˆf>�Æ0'µˆÎá¡�ÅGSE)ÍÂG“o†mä‚�Fš9Žøâˆ¶1žÀÌGCeí|4”é5‹4‘:Î€4%c,®ä„4:ëˆb"�|ÍˆZ¤FÛá¾�HÓ±åU Ò¾÷ò?þÍçEy9ZB2"­‘¾s7kÊŸ9ÎLè½„…„EF¤µHë-D�Ó%` rx$8Ò–±ÈrÒÚðq�ÏäeÅ™�Æònd’Zÿž›�¦ýÉÓBHCÅ+iRxì!MŠ^&B
éÆ7wB›\1AHëfºÝ+!�0©¨ ¤õ «,BšžpsvÍ„4tJš‚�¦ª</ƒtDÚV2#-©=\žºZ~Ö^7gF§wÀYh7;V2Á i&÷¬Z4 ­ÞQà[ù…IÓ˜jý.“†J{`ÒP4ú,Lšûö“Ææ°Ï¾¡_ýpK®À¤ájÍ)	“Öy{OOBX|%è_�IKJªÙØj`Òô'Oöi�?c_q$ÁžYß×íÃ°ê¦rß(i[È”´¤zê’šÅ;AÒT™9–µc@Òt¢•‹$�pÏg\/m
-­/CÒ†êÍî0�A
-7:¥üç+ÌÊ½@ÒSc�4övTü$�\ý»‰‘†ØœF¡�‚À‹‘Ö†W´F�Û§oD‚ƒ‰q´JHS¼š&»¤)Ök‰¢¤}GÊsÞž^‡YøhsÚùhgxÈít#«BG;/o:8#Íuo6Úé=²�Ó £é,ìØŒvºScÆ¢‘âo}QÑH,œï†¢ž¢€21Ñæëþì�D;‡–‚ˆfÇþO¢)çbðç¡I¸sFÈŸÂ™#p
-¾ÓŒFêC“€fÀÐô×^'8
-Maàíô˜í¢ …P hˆ÷F i²1ûèfwD=7í	´—I
-V³v	üÙûZSw†Ÿ½Þ�·¼üU$53ûLÑR"2}¶<
-B¼ßóøìroÐ>m�ÏTærÞÏæž=OÔ¾¦=:%Œ³oê™NVqÔ³­dêÙVƒzö>Ñ<é03Ì
-®D7óyuÑEª!û½‰gOÔdâÙãò<{†?
->)?î‡UpgJÞ[<Ðig¶tC\�
-V„Üpf�»îïB�=Ñ«\3ž:žèL¥÷$þƒs&"C¿È#o!��¶è�³ÇŽ‹]¦Ô/n¦q¢w´-âbãvXKÈ„³áì	Ÿ —©ŒŽƒ8ÓÝ6c›Pµð§ZbÎ–Rg¦¶¹gª™ð‚h—ÉÕ†Â“Ì7Âif1zÝìrï¤7»†Í²ªÅdÞJñäS¯*
;l&£WÚn‚k&“Wû[Ž5»FÔ#$ªÙåÓÁ4Svë¾`öwúé®û…hvºÛÊ‘clžÙÎl‰F3;£)`f§¡–™¾ÀÛ6ÉLaÈL«æÌ1C|æÆ˜�np¼(fü°Ö+ÄÚëÞ³iäE0‹g~YhA/#0ÞÝY{ºßEiÀÕ•§Ÿ*Ðe²çe¦
-r™CyÆ·LœëãÞÔ2 àÇ³adj¶âc3³Œ�ÎÝ¡ªRÄkLÜM`+ùÕ^êb–µþ¬:
�eÖ&ï¾Yf&AdºY&³E3þhY#X2ï
--3c"7O°�ä‰µL‹Å"ª¦Ã°>-SÐKµ-3µ‡:o?Î­¡-a€r…òD½‹õ-.fÂ€ªãŽê(V‡‘˜ed£ÛZ&�LÆ‚–5¼sÞ³bËTÏbñÀÀ–i‡e3n`Ëp63�„-“j)ÎÀ–I±<c`ËØtÍ§PË°lÞvµ¬(<œçÝÒZfv”ç½ eê½¶öG§–)&nÕ!›Z¦í‰5–µLŠyÄµ,)‰ZfªBzçÚŸ¸ÏÂ¢–áòx5é¢–QêcÕwz¯íÂ–ÉÞÙzO3¶Lª·«9¶hç˜Ù6@cºõ}'l™ÔgM‹”Ë]2µŒC¸Ì™Z†«
-™€ –)}æYN-S5�=ej™T+÷j™
-qµLŠ…3µ•ÕY`Ë8³=ÛJ’sÉ½¢ÒÔ¤�v@Ë©ÿãÚÐ2²�Z¶�hYcþro ·ø¶òâM-kŠ©“ªðcT¿ù´ðòÆ”L-ÛjPË´)#€²hdx´«BËTrcp¦KÅ3èÌ²-$dÙƒX¦€žE,k+c�ˆeˆÇ»�emzÃtË´ñµÆËD,“HuHËšÅ_A!™‰eúx{…ƒXÖ0g¿úF‘iGÎ•ÊÀ²]É³»�Ð±l+™X¶Õ –Ù°l]ÀÃ‹³±LµH¹•ªÄÝW±Z£f&b™‚»h
bÔæ�s« [J&–™:Æ?‹XF!([³ –5õCÐIš‰eRÍ"ˆeRÌˆÙ‰edÅ2±LªenX†@æ+€e
x£³Ï°LwÒº-X¦«hïtË¶’�eK\Ì2²ë„A‚EÖ´Nko«Ì2f_üÒ×q·oÌƒY¶…Ì,[êj,RpÈÜë‚E¦QÐƒ^‰YÆS‡Õ:N,eRÁ,S —šÆŒ,“ø¶kËZ,dçñtddj5çímŒ�,“Bæ§ ËôÍüL!ËÌ“gC–-¡ ËLÙâ•Ãun¡4krNÌ2UgX¡ü:Nµ¯».Ø(ôD2CË0‡Å- eZr9" eú¶æËÐ2gãªCËHº‘‰ç”»™qf}hf(Çµ¨
fÙV2³,©Î,£Ðfz–ÛÜƒõ7-³– e¤Úé
h&+7fU­ åiÆ;c~¬Ò¸':²ºûØµlÕvj�Ý³b¬)N‚Ô²¤$jYR�ZÖW^)hdf2›[•=aìí*	8FÎ –á]þz½Ì¢–¡R‘©eôš9ÆŠyƒu¦]y§–-¥`Ë¶Ü2•Ü™O\ø¬ªQHË—à–Q.K5§†Ìî\fÊ“FNZj€ËpdPÌ�v'vU2¸¬QQà2ù&P%Ü2-¾1uÉØ2-°ºƒZ¦W–€™Z¦*]p-{¢þ8hd×c~¢…Y&wV[‹¹HÚieô|$NÁ'”�å{ç››é¼„Â'SÛRw×1XE/­„Nö‰ÿ›¡èÿ³Éþë3þßÿíÿÿßþ¿ÿûûÿýþþÄ¿Î0›Ôþmk§V1“
-Ïo©Rþ^ô…Œ˜”óïqE	ŽÙTj^ESk<Zï,)õ÷çk¯èT�Åñ·ÞŸ
-WÊl*ÒªeðT“ƒ&j”¿Í"
-Iw;æïy‘âå¡|Úù÷^Lz-úàó¡;¢è�ÙÜöI‹h6Uø,ÒâŒÊ„ýBïòaÕ¹S	Õ¿}ö�4›JèMýÁÓÖÛƒ©ìoNžÚ"èAWË¸ †ó~6ÔL.:TŸÌÇËþDÇ´‹O>X³fµASÜ·Í5£ç1ÕÀfMx”ÅÑfÍ°‰RÛ¬)PªÃÍTkvv§›©PpØßª­ˆŸÂëNMç�ÏWòßØ<é©!+ü7ª÷ø7g‰ÚÄ#áÇLÖ¾·’x2–
Ky6rk«¢AG]­y÷ß=|£–øÄüïÜŠýÅWù±¤ê{ÁqÔ77««7š¿cäD–ª¨BK%æ�ò·ÈüSN{.¥tq�QÂÜVªÒRÉ2J�9£ïHÊù÷˜È3KÁŸRo÷e¸&ìH}Wcž… Ûµ˜gK|ÌÄQ¿úoì¼þ95aSc ™¿]ËVìºjBQTt§è˜˜“SnFPÇ—RîÈRoUÖ/´wñvP�îõÅõ»�MC“!F³ž7MéI¼/þf»©PqðÐÕD7�"ºá†¿zÃšXˆà}¢,&êsØ™ÎžDM\Q4×
-^û›«—VÞ.Mö‰}­|òfç´�ˆT‚vÎºµ!pâ£™·'uÂ`¾e�`Õ��=:‚U\^ÆL™œI±ïÀÞë5¥Ž¿1Z)”ÆŠ×ž­¾ñhÜ+n‡J#ì×4A†u«eÀÊ“÷*�9³P’ í'uåÇðÇóï¹–Â†Ïžý¿wDÊ¢£éáªKe
jïÒigRP e^Ê™AGÓ
uú<¼yb‚§oøºÍ²ÞÝ¿íç°�~Î‰ØÅh‰½�ÿßˆÅè‚±ãÔò¯Û0l44}ºëøƒ1FhU£7}ÜÔ#£ñ9àh“æMYªÜfŠS›„XÅ(v™Pø{ê83cóóðÍX}ê…ÖÅ›ôÇóÓ~ïãø}ž"†êeÖð°ØhRÿ&¯ÐQÌ‡ãž¨ÐÑ.]
-øf*tŽ&õo™íµBÊøK9Nªnp´‰ÓåëgF†U/¨šoeÄ3OÊO›"´�™¸ÿùt³èhSÅrÕÝÇ™	»%¨z‚Ži¦ljA·•}_s6“ ò¥JØ÷p/	}kq]�øƒ�Äm©{Ü8¥0¿¢�8“2úë¥Z1ÀFRÒT>*,O…*„‡=ìq˜ªÑ{p[:WàlÊõ§©ÉDªŠ*O³Ú5ë8ºÖ·¢kÐÒ’úXèx
-KqêöêýP
-�æš¥ØßT+?eG�À>‹q7)s1Ó’ØÉ$ñ“xXä;¡ÜüÔžóÅ}ïÍƒ–<‡”ãSë£Òv(ã²ã—r&ßžŒï¸'=øÓTw“B6£…ÛîP¡Íc¾âØÃºžnûjX‰RÏ©øqÞ¤¼›Ÿ¶Uy&kÃ¢¿@	6ßQq-êÚß¦e+¶øS`k>é8EÈµ¸õ6/%¸>væR»aÔ&Îmª¸=’3åª!G«¦ER›Då/3#´¤ÂdÐuÉ´%jZ<cÃÔ¦2

w…ÓÂZ‘vuòê8ÂSvdšøS“Ê2MÇ1º0ÁÊêªaW›gÍkï@ãEX05©Ô;K¥€JÊßÂÒ^{Œ/ŒCOS‚¦&õ9^ÿ<ð½R ^·"GQÕ+Zwm™òYxFLëÒ�ôðhÈã£OÌêpæ‰5ß»aj§öÿŒD2÷Ñè<U¼öØIéÇ©%O¸�ñpIm­¹ª·ûdI2mñK÷duÓm˜^05Ô^YÌpf÷A»A>]«nåð<<éÂÖèÇ¢çï„“àìikEÂ§ºš/'¹¯ºýª¿÷|2ÀÔ™àÐ×èt*€Ë{«2‰À©�˜Å)û­>x=\(Ýþ­° ÿÖòfÐw	{©Z#bª‰E!^äÓ?éØVJðÔôÓÙ$Š\ü–ü
Ï�aŽvß¥L….ýÁÚbwðí)ÿuVbÓÍøNY£°W
-…3a”Ž|œê±µ�ž‚§*œ/-Òú¹qj:ìoYòðbR?rªû‚Eè‰¿WðT½õ­Ç<þ¤\VÕ¸�›Ã÷‰˜Ø^oR.{«¥y¤i¢9‡ÒáÌý�%&ôƒú%O¶P8óÀ&íMÇ)>qñ¾ú­(vf[Õ&PÛô“Zb�9°:5’Þ¿B‰K{1aïã±|lTÀvüÄ«–Ï:6R
Õ&ÁÃb[(<.¯7óJ!î åÿdïÝv-I’3½'¨wÈÒì	w�Ã%'5‚FJQ1„Bƒ*‡-MvÍ&z{­ÿ33w·;«¦‰x¡¹htí?#bÅÑÝÜNß@ªIÅ?�Ê½Ur\×¤.EîÆNvÜfÛŒC:·½^þ¦)
«‹¿}5›b	ìÛËÒï©Øžr«*sn§÷´9‰ÜÃEYz},ênwÌmì�b£šNâe[]SaÇŠ÷ø^¶“3[KHýýÀ¦r/}î‡ºGÔI¿pcó7±È«ÖØ¡Ä‹€Ù"KŒ].•"Ï?™ˆ©6U…ËypêÝÈ�îž”ÒÁ;²|=g.e‡U¾ªúp^¿åã®2‰ºº%ÊŽ8îÔ’ö:¢õ‹Æ’rÈ6oälèš©Œc¼¾g#2©W¿í#ñÏë¶J.)Ûlsœ¦D{¶NÃMOêÍERÍJž�sF_¿ö+’bB°ú²¥ì²ÙíO–Ûz%¦rM¦ÚT»'Ähð4;®û$¬Ÿ<k±î¥ªÆ‰ð)u�ÚIéM¥]°$ìÖªd	ª¾85­jþýÜlÍ�éhWÉií“ª¦‰É,£×ý¡Ÿ¯&_³Œ0W®UQmCPÕ¦*³<Ó�Õ:æ½¥ÇhNÅ—Âx"‡î±«èÓú¢c´tõxežTæ‹ËNf�E�«áb»iáYm­Ðåòäà¡üòZ÷©j1…ï¥EŠêTÖa`¨2ê­!£Æd¼}Å{�huXBéð�U“_‘%ÝBKf…ÄOY­›#•wÚªèŸ€¶øŸ6þ]YîxKô-¹ðÏ˜—›K±•µ¹T˜he©¾¦ÀÊú,¸jˆ6˜zÓWSŽæÊÊŠ“
-¤R)'ÛŸ0 Jgè¿-'¥h=qß“®öú=ø@%ð%å°�Þ2�$4»9Û¬™É€Çe·ˆÈ®ê1[Ü~÷·X¤GË‡Xƒ]M_©ZŒH9KÛM9n{¤æCÝúä¬IÅ²’JÖ¦)›)ÄæØ—�Ì¢¹Ð®ÖŠ{·±{e§Ÿšü¯ð_³“ü×MëQ.$hkZØT½Åû·ÉÜÜ§bÆí¢ôIc˜êî=‚uÍç¯Ä-wzš›/×vZ[YØŽôŸ9*^@{ÓEloîÅÀ5©øðY(YJ“‹
-…¥�r›{1¢e“Ô.—†¯°™fT<Z·Ûo´ZËG¬]©F»Þ­Ã['ì€ô(å	‘Éú:9�ø¦àšÔ×Ê¨»Úl;L)×ö¾¹PÇ
-â*îÛÃñäìyjäÐb@W½ßnÅJâš.�qýe�´»ÓíN¶Ýí�©¨$ÔSUGe@íLp—ýi-ïä¹d…:[€mîdÛ°€:ïŠù¡†¢šÈéœê¾›å©ÅÜÙìjiÉ¡Ë¸“b·Gƒ¡üõs;rÎÎ&sN¥LÛT›÷´ÙûasžîÀÎòq³%/nT¢¡^Õ^gV­Rð]¢È×,eçŽQ«Rçž”ïð_èø£Õ+KÞÙàzÙ‡M*öµNÍì*��4¼1Bj;=ÖÍC±7ÏGì¹�R¿	/©½†@lSÙËLô™ªŒ‡{ü‚>9äJÓ‡PøpBùÑýË,Nçvr¢š/ûœ.N–—òþ�Ær…š³•~MîC=õ, à„²×Ib›ª’»;XÝ¹«|y<˜xõª
›Ô‹''u«¶Ýë=õíx–Rf÷Ú¹úBi³†ª|v%èÅž²sP†»³ßæ8Óü
‰MwÑÖq—wÏ™ÊÝgâ¡jYIæ¹>Š¦Éû\™Þú€Î³NáGcëy_Ëfô–)Y<õ~**Ü‡³
-MÎs‚;¹ü:C5Þ>YÙÊKJô­Í ¯ÑÑ±�ÒÐX@î–TÌ÷ÙYd^“Ç&õue¦ÒÚEK)ôKcO�”R�Í¾÷Ãb˜ë;}ße¡k­"—Ž”óæ"ïÉcÓ©ùž§5žÚåwV0OñxlCÙiŠ?‘P•3|ñÍg=-eŽËB38–†b·V)ÐeÝ®P p4S—MÕµ2KÝ“Ò´Óï’8ðnñ¼½D<éò\9-Í¼ËÀ²í uãÕ7GUÙ»‘Õl¤á¿Lž×è²OÅü¤{¼±®6Êrdw)(²±¬
EIÓÑbQo¯P¢kºÇ™‰¯l´k¶ eþg€Âx¶ Ë¶ùýº«…NP0£î2—®¨Ü4]:3‰ŽÅ¥Ô:s‚Ë�Ð,p>(mX˜êÇ ÕúbÝ§ŸÅ
ô§rŽFñ‹hY‹�Àw‚b9Ï×¿í<w¿çV‡%¨pÇêÖýU’÷>Hm;Å×û>Õ/~8‹2†Ó»³²w,úP´¸ì®©ª[S´2Gù¼ZóÌÕbî
-†“61ý¹ÝåZ¬ÃÇÊAl‚Ui˜
-öé=Úža‚k"<›ß ¥C8¯�8=î9AÙä	–ÏŠÀ¹YTOÎ‘—QêvOàÚcÄU$\›v¼±ÕÔ"pmrÓ´*#]‹t•£¿†Æ+;\UoÌM}*¶ÝÃP‹í¢¥ˆf*ME>¿àgL•~b¯»'_­f’å[ËÙ]ó‚»ôb$è4­R‘›¦
Mª]ñpÙHr×±þ{zµÃßý‹¼6“…è>ymRÍ[y{ÓJ¶“C\
-‰);é¶¼Œû²BÐ{(ÿßNèI·Vù�fÖwk­Ûïi<eòÚP±
-DC1wTõø‹,.´�FîÊô*•\c*Ô<‚Dßì1©ŒÇœ%
-”IlÓ[¤L%,P~×UÛÈT(j±d3‘Y2D™Ø6yK-6Ú�ãÖi£Ð	¼*¾¢ÃÂ–L¾�m“3ºÙç©9ÿ“Ü>ø7õ·ù{eÉõ¤sØ6©„¥jÍÂf–7òˆ2$lê†ÛÔöñÀ\~$¸mRð_£D …€Gi6‹’ÅˆÃK–!ùÄ
-´=%Ñû¬©�ãGÙòª�Ñ kmÝìynðžv@ïqª‡y­øô”ÎØ•ã,w»|Û¸n6ë×krÛz÷€³Nƒ¬e®¨]xÝéN©ÛŒ]¢ÕlPÛ$6= º!Ë«H+&ßŒ
-¢¸pÛmÇQ­'_�Öì8&ïËãk61h
-w­ö	m“zs«kµKLÌ®æþj6ŠÉÝ4 m�BBsœÃlëFQjŒ]0ÛºâeG±—q0Ûºº[êï4T/¶çI^Æî�}u_URG8(pUò¦±¨èëà=½,5¥ÓtäàIÔsÈ¶N¼ü•za�Ë­(*¨wc Û¤’û‚;Q´�ø-·.Š�m\Šlöd›T<;žF)Z�Ha-†r¸#r8ˆ’èåoÞ‰J'An þƒrGíhé(ŠÐ³íµì×qñ¡RÒL
Þ,bÔ�‰¦ì�@¶Ù8i9-fžj(µ¡¢[ösŽñûûÛ,4�rNb›Þ¦óÄß¸Ñô˜/�ñíÍ^ú¡D
íQæJÇâî¢Lb)7É(X"ZœHiô™ÑËÂè Y¿ƒmvXôžv
-ê�¬åJøTNO|„ÍÃJ&Q@Æ¢XËYºì¬°Mƒ:Þ¡ÆP‘°¦$¢·7?Ò0OjÔd[œc·”&Ôî©sdm’"C¥*5ðnK¤UöÖÙ,¼E1Êí¿IÑ{^»)K¥muKi�ØÖ­‹Y˜‡…†ÞŸåçïø¾à"UF6Ó`¶5Š85iÓ¯˜–3e;jån½d$ÈOØ6T¬V*­x`·yÍ¥Ÿh##k_ºZ`,ãnìáûÖÄ5VüªKÐí·¦àÓIg­[¦U&ÃìMš�ºëï6—€ïó±Tè¤Éé/Å²	y�„�pC”I Õº)ÝÝ–bR ¸Ii
-÷¢ÆMÙ%¯ñÄ¿Êb	Ú�ÛÎYs”ÛH ž¼"¶´ãP#½\Zºìô½ÞeB—	s“3ßNV‹$²™"|¯í,��BÄêAÞ€¹imÝ˜c´rÌ
ïè}X`ÓR÷ågUª¶J¼Ø¸ºÏ¤–UçfK‹Ò¬ÛïWf7ÛdÀÜplÜ·½÷ôÞ)¤¬Å­!�­y%1‡¢Ÿ°Ô
k‰ìªjÛ½f;íãàç‚æ¦3{ÙT�0/¾2Ý1‚}zúîqDØ¡ûÄ¹‘~o–R	¼ãAîaŽ\05¬@¯�sÓ~,€¡¯ÉÀUE$‰†—wHÀ)Èªý:'VH~²ƒpÇi]ÁK¡eéžZEA¿ÅOÐ&ÑmÇtÑ
-êº==´žž¿{ù˜Ž;Ž‘çÚ'ÔMïØëÑì85Ou¬‘LKºóN«<yåÁ®›Î¤œ�Î®Å÷¤ë¦‡Îfi°�<Ï}a˜ â/Ý�þƒ`c�Ó8-�Ó1ížB{ j±o·‹qæ0æ€”×¨mÕ£¨PgjqŸîÕu;�H´Áè‘¤4L~ÏI[©X6!uRÞHë»7oá«¬SÒçª5O&%/ò
‡#u×áNï
-OBŸrüõžowœ—+1”JÅyŠ¿`3™ŽEŠº¹®ü7£sXƒ”uÙ:Õº›)5ˆ5½ßmMkqd¥KÆ‚djÅ>,$Øü‹‘,Ò®êRåÆÙ’QÅ`¾IíT+ž;¯&ìd£IÛ,…6Lç1}®RO¹N[À]¥X6ÚéáTòIÎcv7ÔœLZ¯Rª04iaë’ŒÅì¥°1IPG™8�‡¦Ã•>†.wôPïY©ÕêkùÒ¹ù‘b°žgOäx÷PÛE¾›
-À”ñ±[-³¥Wœ>FV)Øhd^‘›·y TÃÉ¤ÊA>î€Á—Feˆq� ÖYö+Á4­BÎ€!�tá­{BÌé
ª•â?i=z±Á´�Ý£ï™=7÷˜à!
-*É‹ˆŒ–E�ªf	1Œ6ƒ£d‡‚háe ygÇALgµœ_¹ÅN;ZbÔíÍ¦tÜS–:,îlykµtÒù
$áVÅ2‡º7À÷”…L�{¾!³‘�ÛÈž$F�ÖnAG·ê>'NWÇÊ”ÔgL'º ]ö¢²ßa®<¡ãµ+ž`Êµ3%ê>Ý^ÈD¥¤ÎáÀáMC“;®2`›Wt’�lw¶[–¤þ‰ÈòV '(©|´r‘wTéi	[|,‡åÞ)cyxvðF2¥¢“ªÂx¼,²ùÉÔ$ö¶‘H\f
-Ù
-zïöhr¥=-�¢zOìÝ°W'Ó×àÄé
-X“wKŸLµa ¯¾�$Ÿ?£Œ ;J@Jä’Ý–[ËNFžœ¸´Œ¹üdÉÜiêRÉ¤À«®�OŠ@)ä¸I±¼:Ú*n}ì¹áCÔO�x’ï�Å?NÆ¦òjm“Yèr‚ã	ÐÖˆFÅ²@”2K^ª¹#ûÇÑlÈŽ_,9¡‘+Üm0tœüŠŽK™ð¸Ã�+ËŒ§Á\a&fðqšÅ,«±.ü8©,ÃT)ÁP‡6Å	¤Aî¬fZ£„ÓŠ‹t.3�´=
-†JE˜9öÓ³Tö
­´Ž‘Ö{[‹ZJÁ:üú21r$;‘‚¤õˆž�»„ËÃ‹—z�ä”yÄÒI‰&(“š²ÍjôúQÏ=’³î¶ÂäTšgñkþ¦Ò™z÷�&W¬K´¥ƒxÓiŽ¬gYú–_£ÔP<ör—é+”dßˆ²Ò¦9æc8©§­	-½ƒ¼<f–=>®}2å2k(Ã§Â´7‡ÂI`¶÷îi•Ã’£”°{q™aqv�«‚*GÂ!âÓS¿5˜q
-_«˜íggq•I•Ëª>|Sd*G~™)Q„$•qV…ÕŒá»»~Q(…’¹I¤TÊHö—�«‚P	ñYrÀ=ÈB£\)¶zÖP9MÈû•‰Œ¼Çˆ°íÖžˆ¼§tvˆ3º0V‹[èµ{•Lâ.RžÈmr¬$v«ÜÍILˆ{÷­äå“`~Åm_òiŽÝû�Ðk÷=Ü]Ü’�CƒýQÉEB×Ñ
-‚[·(</ÕåS»J'¨äPÖìÕ]QË)C•%—ÒÅÈ£à*–”)›k`åX¢EîáU¨/³ú™(µûÆÇ¡\ƒ ”hhugÊ5(xmº‡3øÜY™î^…ÜëËIÅS„Š§H±_üƒRøÓ’¿z�d99åÏ°¹[ÜI$ïöˆI¨´†%‹íA–“Jú£TË‚VÿýÃ“ipÐH)»-rYNâ¦›ˆów3—®/Ždî±bI²übd™ˆ½m)\»E/¯Jqw7ûÞë»—OF�šÜ":Ö¹ä„Ø
Yõt	êýãÕÅ²
°ÜN<@ÃÝ~ú"ï(žÇ¡63j¾ºSâ¬�\ÈÎh“¼[ç/«?÷dËnÎ†›NÑ¤h-§÷m‚å´f¶åáe)W”GïáƒºŠy¤•Š0z(òi)JÝ�˜ºò±H¥/�Bg'†Ö^æ©>BàÌk6K)ž"°î7Àr¨˜8dQ%(g@uEc®«iÂœíY,%SÓ�ˆn»è^Ûèª	òöò£Ah"ÕÆïÃæÎ¢S¨¿ÙvVóÎûš`9¼ë„\»5w¡ï'�Œn…ÊÑÛz°œ†ò…ÍH#Omw¯ É/žOfc¾zÓXŽÕñ
-7ÊóµG�1ó–Z6iüUêHT1ò\¶¼jæVV;Kòð@6Ôª�—gPåP÷2qs¤ÔÎTQ!Z£6WLCéÉí{2iYüv…@Ía|›ÑJÞº“©ÕÈn¦6ã`Ò·@‘L`nÝ&XÎ<ø¾à Žj©ë´…õ˜ŠåÄ$ï.ÚØwÍÕs{hºÞégY,}ÔxÊ§�)
-ÍXN�Fªÿl‰¬²pØ
êZ)»�n.9¨#}AAÈ“�ONI>»Nw+¾iüæ�Hyk–#‰ž¯Pmì´P¢&‰™LÛYÑÓi)(Ñ­�°y]í´èhc´9-M™=­WÆ9ÁrŠ«™[«Õhpzû;ˆa’ÕùJÔO5ÀrrkûÅÔÜ�Jê J{,÷%ZWŒ=ùMù”d—w†—’[
Ïwç›d9�ˆÙ*J¢W5¦ÛeÎxªwóÖ**ÐräY»ui%P‹ 9[Éq\wk.1JøHÉ'ËJÑ)y‚u6ÚÜÑ/\©j<qE˜ÂÜ+<6‡¯Y÷Úr/ë
-+8ëèˆienVóN—	f#\ñâ©Yž¨ÏœU©–@*Õö³Œ¾«´ƒè"e�åˆ©Óö@sòBÍ/ë¾€Sœš&B�zPÇ
½:"l9‚ëäE\æiV¸Öl
yØ®Ñw�<�fÝ‡t(Œžk3¶œNÁanƒ-gªiA–ë–Ú{ ÒÛIoº-*´\ó…	Z1YNÑk3˜´æ"´vž>pi@Z®Ÿîc~ŽÆXŠg[C	eÄS]¶wï÷°9Ú‘pÍB¶}5Û.ëv@ë²6@Vû1ñ5†Û|¿æ°’‘t…‹ñ°¼‚ïZ“³¨ÐtOU[N‹�së‡§Òmöõx}r›l9RŸ.þ‡…(±ÿ­Ðþ°5éNA°Öšr»G/m}SVF*K„‚eCàO%J¯G!ø…?šp¢+“ kÐˆ˜ë¶˜«WsßQ�}Ûªðå×ÂôT·šâ®P V-ûöÍÝÉŸý=½åÿ
-„9RªF,ÍDA˜#¥�—=Tø58žå³¡Nä¨1‘S1N>¾ƒ?ônZb¨-1.oÃG°¶þ½åê–�HÃXU0àÈdÎc›ÓKiÂ#ÃñZ5g·
5òâç½=ÈÛ©r©îþÈœ2ÿXl–+cÁÜÍ›ßjL¶ì(­x‚1§ÉÁ%Jê42�Ò:
-¼;-f«UKÆœŒÚÈàwS¾’a¸ùòÏØÝ:º;´Î=�Ì•¨‘ú¢51%¬G·D)2‡JÖ�¨¼—ïé~œ¨×±4ì Ä+ÝùäaRN:…ËGóqà°žÙ_¸Û2×-¿oQ;k
-|ñÍ‹Ð‡"f°oµû(4[£Ëg§f¬—!°Ÿ¢5½L±Sÿ+—¸½Jgtœ�w3òí$ÒDdíf#u¥s”š›tFêÓL)#²#Õ=yÅš�vå}RzOJ¨&)pÑ»í)Æ]�a;<ö¤hêé«BN²$§°/™ZCUí‰*Þ:á®ÊfÀÝîã:]‰‚wïob6®Š¨“8p:a~Q–§1Õ{3Æ\W®ÈÞ,h "�N_(cNO±ìö¡ÙÇ ˜L¡D­MÄ\7Ð‘åùÊËŒp\æÐjrÓÓØªØ‚0‡XléC¯•ÎZ¥ÛVÄ#¤l—&W)A˜Ó«ôZÛï|¶–,¦—C–Ã�:*Å¬[žÌ=jšÇß1·k»ÆbÝkêÊ\,Oat$CµÕÃaˆ9)æÁÔ¸*·ósüýÙ	å_Ä˜ÃËf/ç>s¬/öÝ�LØZûZ‡šÃaÞL¹T öuj¦T³bZ‚k(ô™é-byÅŠŠ¤ÈœTœ˜¨—¶x@÷ 8F‰H	ÈœÅ¹i²ãl9¹U‹•@_æ0ÞI­köõÈœþÞ¦do/	Wt5«¶œ¹""÷„Ì¡ÖjåßxHPºGÿ1Èi¶ã`ÌQ…/þÆ{D•ÚôëojàWTWFv�fòvóE˜‘¥q�l�Ç“üüß"²Vä²OÂœ’!nrA6ï
-ÎvzÚæ‘ÕTQb(A˜C½É5ÜÝ-'jsg«ùz¯@Hˆ3újê§â’û›R	_‰ï@aÏ6›Òo÷¡„J¶nóDdŸ´î(–rzOÄ*mÅ”q	kˆÖØÅl[çëÕ!QTÊhE¡L*	ÈòÜ­ŠŸ©žíDAQ˜…£X‡ÙÏ5rSwg7þR<çZþÖV¬ÎÂ>�‡Þ½›wXy„dmjÝKjmæ†xzNípÓž‡ûCÛp<0§Å®¥XÎí<®prÔþ¶4Ð™8ÄÝziÚålÖDÍì;ŠPÎÁs÷|{P;ÍJÌc@¯Î \Ì×5ér,ënªµf¡l—æƒþu�„÷W»&]®óÝvëøf§Ö¸-tM´Êš#²¨›ç6ÊÏÊBíp¨„n´•4f‚–Æv ?)4(àå¦  Ë>ÜÑCí†o Á’º]úFuKHk£Åfðå,¾[G=»?rÜõk½càòª-¦_N®ÂâW”5S•ÿT&-ß)«ºÍŠ¨_ç°%}5o²ªåËQÙ—¬3¹/ó±À*~í@…¬j/oAj¥s*Áí®=Ë(C½=v~:®Å–æ»yl›íˆv¦±ô¤VÙRœaÌQ°C?ƒÛÃ€Ï±ò{ÎÛš’-c”¶n™“}fÃi5›Ïš¬TKæ¶¦£·÷úb©TÏYÙf%•ðU‹7�ÑÛÃž»WÉ1a÷H‚ˆ=Çðýï¦“þA5ëhƒÛÂân&E Ø¬ÀNñj”Ês4È{’ç6›¤X309˜”:£©¤‡ò?�sdÛwLæŽ‡rY0G
-9ŠSáœ(Öq¬=QI¹ãÎ¡tÛî?IðNJ�çhcE«ÑçôHšysâLåXÆESÏÝ£ÖÕ’nºµLR|	Ï�
wö7o¦²“pÝú6$wœæý†B'o°•µSq\£#Äå}ˆ[„b”¨¥¯¹m·¦Í…MB¥M†µ¡Ú�EgÊá%þþøC£�^·ˆM‹bv2­by½.æ-Ws÷`çî~kë“p{Ç²©¨zÀS¦J‘*�k”ŒnFà¶Y†m²tWI››Ûêy­Ø$9TÊÇDÒ!â[×ò�|�â-k4=XÂŽèÀŒç¤Òéøæ_Ñú’n*Å"†.…SŽˆöý7q~7{¿
-¹^“‚¿‘ju^3»ÈÝ+îO‡nèfXÔY	�úFåž«©ÞlYñî¾Ý‡Ã—ÙEJäPìdA'¥í6ï]q[‹±)Ô‰¨".î¾uER:†’ÕióC‰W r^c;µ§#À%�Ò›§rž“Qgªâ0jmyÊ‡çy«eJÙ-ãŠDÐ¡Ø¹ï4;¶‹‚[w«Ä5ûã¾fI*m=™¯okzAÏh
-€â	‚æ÷5YuR­A�·{÷Oï*}Ù¬Ë66c]W·oÞAœb>hvªa8©Ûj6ÓÈ‹ÅC3ÅËmír×©’OÆ_�ù48Ñ_yªúøXó`ö²GZ¬ÚÈTWÂÞ1¦žµÍ�,-|a×¡`�+‡²Ž4Øj¾JìÙã(DUÀ¨ïÍ¯²X†ûà×±"dZ,ÅvøDÎÓâPÅr¯B[#V,‹zYL¢áqÐª *ŽéÃfudke2éGT0Ÿ··XV±ƒŠ›±y´8bŽ¥8ÁavúLªE^†³£;-efu·U†f;z(?†Gà¸ë²ÝÑ#½åôåôPÒ`0TåËõj]bF†ÈuxÌ³�ˆµï“hgý™š5W€hGÆS%zZk…½×æàÙYG(oA¨.âÓCøg·Mík
-U™$¥pÍ¦XLÝG±vùƒggju?}»Þ\9C9C¹"ÑæŠ¾Ý—¥½¢Øý¼¬ë
-ùÇ5�v„Á5+(Q¤ØVDO$À³£éƒÝŠA³ã‹±ŽàÕhv”Š²_«$w�t½®Þ¼H1 ŠÒäm;­/[³—Œ4“kîhF•2&…³KJ³r-Ú•É³ÓB×ºo(8N<VÅ7Nµ°¦îž%¬ÐÄ‹+§?3uà a]9}u¨Âº:N¥Lœ�©§uz²õÐ=*Ô¥[}¯X«ÀkâìÈ/jÖôÏÛFz	²|˜Œl¿t×±/hvR½–o·ÖŒôí¶Ö’±æÐÐßÌl]€%ziàn '¾:ëÌèŒ¶1“~Ÿ8;zÓ�Wö­ÃØáŠÄòÓz2x›­}âì¤Zž!j·ív²œÔí�´p5Š`ÚÔ±"ûÕû+B³cÇrõÙÊ“ƒGsÏi‘ALg»è[¨[Œ¡]¼7
-©8uÉ˜žÛ)¿„mf8+¾óžì¶²µ¿mÙvzWSßF	¤W�VJ>Àx7¤2qvS­Í;		ÅzXãi!@¡gÙ×(GdK5¿ƒc;kµÑ?™MYúªô¥#ÏPáu°hQæËm�®ÌR‰øVþ¶\¤5©rZ§–2¥ªudÀ½¬µRÄ:ö3FG‰‡7n¡ÿõˆ!c}¸÷h±~úW¬�ÜVN›Ó7ä
½«Yw¶ÒÅž¾�Òc3U“Ï·´\‹Â½ÍéC%<·Å¨;¬\R†zó<ýpÃQ…i‘9WÍ_{[ß)ó¨^¾””ó;�vZ*‰d÷ .[’ÞÆzi(Ñ27<½FÖÐ:‰ÞuÊB¥øåŠõž/BìçÌ[¢ÎÚfœÞiO‚Klw™ËÌBpL²ÁcÇiL;º\+C·|Õ¹YÎõ9™vz”V3¤…Ôn‹ æîe¢XCš%œ¸¡õËzkšç°†ØGÇê-oC±o¸ywûPIö<h‘Ifý"ÈÐ Ý¢†�Réj+!GÆšÄžS¯
0ÇvÊ>Ù<*†§}·¾�Ý/¨G–�iWY©Ü^Ï­œ¹{3×�”A´CÕzU*9èå³ù³4�7\÷µ¬:¯#ö¼ååôÄñ‘×E8Ë²¤BÝ—»¤¡Þfã2Êá»³"ð:�vVŠz-›•Ëj<åÀa’iOþwƒgGg^**.GlZC�bá[‹*×Ã,>z¹ÏNÛYbÇeÍÿp�ÒÐUÞ�êHµ¢,åœnqk×?¶Û=[Õ"/Š=L¥M ÝTÝSÙ=J2" JÎš~ó¶Z®ºú©½t.Ò‰Ûá�_OoD�B°Jêœo‡7Ðµ÷j-S¢±Ížr+ñWœ?pv4²0À„WA’E”K+råž8»©êÆÒ‰dF°š5ÉÅ�Û³Úà½l·Y>ƒªqÄªw‚Fg‡uƒg§ãYûw%Þ_©^f
;e;Ínˆ»“²´¼Âôˆö¶šh»5f²Ÿ«ý½÷HéÅ,L¹—AÃÖ9¡¾ÞT+bTgFFãAëá–P<è,;
-EH¹¸.÷«¥„ue8<l(ãûöB°A³“!Ã°½÷žš^
-(¯‰³cÞ¤¥8µëÅÓžå¤½½èñ¦f"”p�š9æ¢ Þsw¬ÝP”ã>àvCÕ0âîŒŽ‚ÊM?¼’°…Fù¹£Ìªz7(wÂ{cÞ^,ÿôXOøÝý) »×:ãÐ�Ôº«$o¯ »Jwä7Ð�X�tW•Ÿ@w"3?AwU…	t‡’@w¶MÝq´º“’AwÆ‚~Ý‰#�AwÂEfÐ�H�ï ;ÑÁNÂAw[&Ð]%jöº«³Á¡ƒî*Éö+è>ðt'5ƒî ×Ö½OÐ�”×m83è5�îPú^'èŽcíµ¬ »:ÚÊèNŒ××’ÐÊ¹¶ýú7Ð]¹‚}èÛPÒ¸‚îeÁªM5@wEVü®…Jì„Ê}‚î ü&Ð�Î+ƒîŠp+Çiá˜Ñ³µT/'+\Q{Ýð-ï »B	wJÈ ;)¯‰ü˜Å]¶cÝA$^AwCXAwStÐ�®:ƒî
-\¥wÐ�pÏtgø×t7•ôD†j »rF£ŒÝz¸¿ƒîŠì¾º+2F®O‰s‡–8w(‰sWÔJaÃ·¸pîPÏÛö4Þúµ½qîÊµ}À¹+ÄâVÎ]Ái¼rîÄÍ}pîj‰^>¡VÀÝçNCá“s‡š8wR^·¬NÎÝsø�©ÐÒ±šHÂÎ]SÙ~âÜµÚ2ç®Ñt5qîZd~ÎJâÜ5ò¡ß9wM‰2‰s'%sî¤<9wbÛfÎ]«×ç®ÕãÎ]£%™ÕÉÑ®É¦Jœ»Öêƒs‡–8w(‰s×èÒ÷Î¹“š9wR2çNÊ“s×êùÆ¹k4còvqîžÏñ³?ç¶pî¤fÎÛ%Î]ÛŽ8wR3çNJæÜµ­À¹«ô€X8w•ìÈ•s'ò“s'ôræÜiŠÌœ»×£Wæ�s'µÜ×Â¹CIœ»ªnuÎ�Ô×JnáÜIÉœ;”ç®ª,b;'çN$ôÌ¹«mrîª:û•¾pî`P'ÎÝTVÎÝ¢zd®âTðëœ;�4™s§S«×±pîerîÑ8w\RâÜU%W=8wR3ç¥õ…sW­Àí�s'5sî*`˜…sWi}ùÎ¹«­¾qî„Ïœ»EY8wS
Î�~!sîdÓ=9wU•Ä¹«2ùçn*+çnQ�sWå“Iœ;1ÃŸœ»J¦ÿÊ¹«êè–8w•lÚwÎ]%WiåÜUÕO%Î]½£EÎÊ¹«€JVÎ]UG’Ä¹kÛöçNjæÜ5º+¯œ»FïêwÎ�ÔÌ¹CIœ;”wÎ]%þ±rî*}EVÎÝs¸Œ	“Î�>œÌ¹SrQæÜáÍxpî¤fÎÝ�çOËƒs‡š8wì™8wýÁ¹Ó;•9wx¬çŽoâÁ¹£f*qîpÁ%ÎëîçŽ{âÜÙþÓàÜñ÷ƒs‡š8w(‰sÇ/¾sîì¸+çN'Ÿ9wCY9wSÎ�|™s'\Ö“sçð¨u;¡#WÎ�æˆ'ç®íå�sW9qîlŽ{çÜÁLNœ;ÝŒÌ¹›ÊÊ¹êàÜÑ¨&qîZ´íMœ»¦äâÄ¹kbž$ÎÝTVÎÝTƒs'äTæÜ©DîÉ¹Ó™dÎ]ëå�sGû—ç5qîPç®õúçNjæÜÒJœ;)OÎ�Î-sî@s'Î�½,ïœ;‘³2çÎàß+çnQÀÕ¢º^TïÄ¹ÓI<9wz±2ç4wâÜMeåÜ
upî•)+ç
-úƒs§!qî´²X8wãÏÄ¹›jpîtœÌ¹“ûöÉ¹S˜#sîÖçÎZeÎ=ŒçNJæÜ1i<8w82çNJæÜ±Í;çNÿ�9wò[gÎ�ÆÚçŽ2qîhÎ”8w‹²pî¦œ;†îÄ¹ÓO>9wœHâÜÙ4°pîh†ôàÜ™ºrîØ1qîì*ß9w„çNŸJæÜMeåÜM58w�ÕúÂ¹ÃBzçÜñDVÎ‘»Ä¹“ÿäÜÑÈ*qî¨öMœ;Õ	?9w,äçN‹©Ì¹›JBœ»¦ÄžÄ¹k¥À¹kÛùÆ¹k[{ãÜµ@H'Î]%/záÜU¼%oœ»J3ƒ…sW•H”8w²Tœ;ÄÄ¹3eåÜ™òÎ¹“š9w(‰s‡òàÜUA(çNJâÜIxpîj?Þ8wU«çN«­'ç®Žæ\Á¹“’9w¬Óœ;©™sgÊÊ¹cO\B+ç®ÊLIœ»ªi6qîä¾~rî´°Iœ;ùß3çnQÎÝTƒsWÉâZ9wõ,OÎ�^–Ì¹{&oœ»×}À¹“š9wR2ç®R_ñÎ¹“š8wVÎ<8w•î{+ç®¾Ì¢Ì¹«rÐ<8w•eôÊ¹“’9w/+âÎjâÜ±çÊ¹ãàÎ]eÉ³pî^Öéçn*+çnªÁ¹«Lp+ç®^ûœ»z·7Î�†•Ì¹›ÊÊ¹›jpî*±½…jWe7=8wUI‰sg·qåÜ-ÊÂ¹›jpîjdçŽëypîPçNJæÜIyrîêÝÞ8w(‰s‡òàÜIÍœ;�læÜÕ+²îWÎÝ±çvÊ(Hœ»©¬œ»©çÎ~aåÜiþäÜÉ¿œ9w8QçN.Î'çN®ÐÄ¹Ã‡š8wSY9wS5Î]zåÜÉãñäÜIÍœ;)™sWGW²•s'5sîPçŽ=œ»z×7Î�îbæÜMeåÜ
upîôQdÎ]=Ï'çÎ&ä•s'gRæÜMerî†6(U
-…fÎ�Å'çŽ×.qîô½%Î�œÁOÎ�ÔÌ¹CIœ;ö|pîPç®’3´rî¤<9w:µÌ¹«Š&ÎÝPçnªÁ¹«çñÆ¹“OîÉ¹“�/sîäOœ»*WÁƒs'5sîêñ¤àÜÉiùàÜÕýxãÜáÛLœ»::æ¯œ»ZÏ7Î�BÖ™s7••s·¨Î¹“Ï5qî*ƒíçŽyâÜI9·máÜ¡<8w¨‰sÇ±çŽ«|pî:Èœ;Ž²-œ»E™œ»E4Î]%°ôiìä<çÜUeQ%Î]mwæÜ)yàÉ¹“úäÜép;Ý*Âi‚Ý™8wCIœ»©ç®ª?\âÜÕóü€s§I;sî´þÈœ»¡$ÎÝTƒs§ñ:sîä©}pîëËœ;ù¬çNÎ‘'çNŽ¸Ì¹ÓŽOÎ�~™s§5jæÜ©Íð“sGéhâÜYã§•s7••s7UçÜYVîÂ¹£!õƒsGáhâÜÑÌ>qîž^íðwÿ"ç®�*Í•s×JãÜ±]âÜIyrîšjýçŽVZ‰s§ÛÿäÜ¡&Î]³.«çÎVìïœ;gâÜIIœ;sÎ�Þ¢Ä¹“ï%sîZ¹çOKâÜáÛOœ;<LÎi�çNnŸÌ¹£7ÇƒsgÑŽ…sÇf+çGùƒs‡š8wx`ç'ïƒsGÀ#qî,»oáÜé|rî¥±pîh!ž8wÔn¿sî  $Î‰Ä+ç®l~çÜÑ?qî¸¢•sGÓ¤wÎM™VÎˆÄ¹³hã;ç_]âÜ¡$Î�<Þ8wt‡Oœ;ëx¿rîtsžœ;Ü.+çŽ{‰s'WÆ“s'ORæÜAõHœ;Z2½sîˆ¿&Îa£•s§AòÉ¹“s6sîw<8wR3çŽx]âÜ‘ÚðàÜ‘’�8w–Þ°rîPœ;¢$+çN'‘9w„üœ;ÑH2ç®‘§½rîT¤7Î��“çŽ¡4qîžƒpŒßß�sg¡‰wÎ�²Ä¹k¢œ;ï–9w3çNJæÜ¡<8w¨+çÎ6[8w„œ;†ÓÄ¹S0 sî4ž?9wÔ3çŽ))qî4Ì?9wþ‰s×(â^9w(Î]£©áÊ¹CIœ;ö|pîdÃdÎ�Î?sîžÏòów|_dØ>9wR�³/œ;à}_8wR^†íç«58w(dÇçŽcç�9wË‰s§,™Ä¹“ËóÉ¹«ÅVÎ]e X9wJñ¡�[âÜI-û½pîHJœ;¶ÙzæÜ!&Î?°]çNJ+÷çNé(™sg+»•sW{û€s§¤’Ì¹«ä}-œ»ª¨Öƒs'g~æÜÕßÎ�–OÎ]R²rîðŽ&Î~Öç®R°rîê@hçN.Œ'çÇFâÜIÉœ;”çNjæÜ¡,œ;;Ò;çNg–9wºc‰s‡#âÁ¹«d­œ;ü�+ç®**ûÎ¹Ó~‰s§ç‘9wòØ>9wò;dÎ/ÅÊ¹STãÉ¹«Š©&Î�ü@™sW�öçNïXæÜéX™sW«~pît&™s‡ïiåÜé'Ÿœ»z´Ì¹CHœ;)Î�ÄÄ¹³Ûµrî*Áïœ;�iæÜ)/qîžÃä÷œ´«JUœ»
-ù»-œ»*üÞÊ¹Ó&OÎjâÜUb÷ûÂ¹“rœçç®ò=Õ…s‡’8w•Ç}~Jœ»
-‹~åÜU¨^ûäÜU}^wyãÜ‘L�8wÊ¾ìýp4’>õ¹~pî¤&Î]¥ŸóÊ¹C¹«+ás•j�Gƒs'Å{Àz8…dÒ•s'¯OéÜXçÜiÒÊœ;EÍžœ;�‡™s§TÚÌ¹SfÞƒs§ IæÜÉÙœ9w•EÞ;çNcQâÜÕ»¼qî®œ»J[¬•sG°nåÜ)ÒøäÜáÇJœ»ª…ÏvLÎ�ží“s‡1qîäüÊœ;ù:Ÿœ;*vVÎ�œ°™s'óàÉ¹ÓŽ™s§Q,sîðÖ>8wR3çN§–9w(Î]�6Aƒsg{®œ;ýÉ¹«A`œ»*ójáÜUø*ïœ;FæÄ¹«àÞWÎ]…¿ôÎ¹ÓØÝçŽ|ä«.œ;½üÖ›{rîp‚&Î][q,œ;�ë“s§y%sî5Îœ;…›Ÿœ;²çN{fÎ�lª'çNW�9wÕ,Æ…s§ÁùÁ¹SåVæÜ1†'Î]­åÎjâÜ¡eáÜI)2¿çNjæÜéd3çNÊ;Žüöí~ãÜ–mÛäÜQ»õàÜuIœ»B®ð¾pîÊ}}À¹{ýöç®*A%qîªÒ_Z}ãÜ¡ž÷Â¹“R'œ;)˜Ö‰sWéä¾pî$¼ÎláÜ™òÆ¹c¿z/œ»ª¨ÜÖÎ•`ý|ãÜ©â)qîTìtµ¾pî
-Ã7Î�*×2çN¿˜9wšëŸœ;«Ì[8wºÑ™s§Mžœ»
-ÿ}[8w5úÎÎ�ì 'çŽ¬ƒ•sWõ2$Î]¥÷ú;çNÓRæÜ÷Kœ;³½ß9w5hŠƒs'ËýÉ¹«ô3_9w
-2ç®žA7Z9wYåÃ?£ºÈ9w5òËç5qîPç®ž÷œ;©™sWÉ_9wRžœ»jý'ÎÉ‰s'«àÉ¹CMœ;)‰s'áÁ¹«ÖÇnáÜâ^9wžœ»J[‘•s'%sîdç<9wUãÈÊ¹S,*qî”ôöàÜQæ–8wÊÈœ;å>9wŠeÎÝUçN©ÝOÎ]Ã“ºrîPçŽ=œ;©™s'eáÜéÏ'çŽÌÂÄ¹Ã�”8wÂš<9wR3çüIâÜIypî$&Î71qîPÞ9w�@ìÂ¹S|/sîˆÞÌ¹#2qî*-¯VÎ™Î]%°rî´gæÜ5*œß9w­Ô7Î�j3çN5ŒOÎ]«ÛçN{fÎ]±ðÁ¹kŠ&Î�®<sî”úàÜµízãÜ™²pîÒ~ƒs‡š8wR2çNÊ“s×Fs­àÜµ-HÁ¹ÓGúäÜ‘Œš8wœEâÜ5ÀÌïœ;*?WÎe‰s§2ÐçNÃ@æÜiÜÉœ;%Õ=9w¬vç®F�ÐàÜµÑãmáÜ1ò¬œ;}¥‰sGEÉƒs‡š8wR2çNÊ“sGéIâÜY|åÜ¡<8w*8Èœ;eÿgÎAÍçÎ<ø+ç®YMîÂ¹S,ïÉ¹£/gâÜ�®ÎÁ¹£zèÁ¹ÃKœ;™a™sgåwÎ�1—WÎ�QiVÎ]ÀõÎ¹#‰>qî¨IJœ;ÎöÁ¹#ô—8w�X9wìùàÜÑU&qî(XHœ»ìžÄ¹n‘8wVs³rîZ/pîØ3qîÃ…s×ˆ¢¿sît"™s×0ÝVÎáîçNÞ«Ì¹£Z"qîŒ�õÆ¹#%?qît™s'ÿÃ“s“$qîà-œ;
-Óœ;+s[8wxˆçŽþEÎ�Ô•sGÁVâÜ¡<8wÄÔçÎp+çŽš•wÎ�®;sîôE$Î�ÂµOÎÝ@xÎ�•8w:…'çÎÔO‰s'`æÜéMÏœ;Êœ;ñçŽ®Í‰sg…~ïœ»fíŽÎÏ6qîp½=8wú"2çN_æÜirîÈHZ9wJjÍœ;M÷Î�R 2çN)POÎ]#§åÜ)Hœ9wÚæÉ¹“Mœ9wZueÎ�<Ÿœ;å&fÎ�<™sGuö;çNq­Ì¹Ã]±rîžþìïé-ÿWàÜá£}pîHiHœ;®wåÜ!<8w�Šñ•sG'²Ä¹SáÓ“s'5sîPçÎ¶yçÜq¼Ä¹“’9wRžœ»¶ßƒsG?ÃÄ¹Ó˜üäÜ5R²WÎ�F†Ì¹#†þàÜé‹Êœ;j‰s‡“äÁ¹ãã\9w¤¾$Î×õàÜ¡&ÎJâÜq¬çNÕP™sÝlåÜ1L=8wtk³FŸ±kŠcáÜMe%«-ªsî`ŠËvÀŽE°_Üœ>[©Ö,qîèþÎ¹CLœ;”Ä¹Ã÷ôàÜá�Mœ;ùä3çNÊƒs§o qîÌ3½pîaáÜM58wêŽ·erîNhVÆ¹pîàDê*KGÜØÁ¹[”õi58wÆ;¨“sæ�¸pî°±)BÐv8¦Æ
-ºC=Ï2Iw(ØuNº£ôýò†ÍAºC,e’î v°èÒýŠ±HVÒ�^&óéN�1“î¬]í;éŽ~‰t‡­‘HwTc>Hw¨‰tgÍVÒÝsþÙ)å_DºÃÏö ÝU¸I+éN^ºLºcÒ}�îˆË%ÒJ"Ý±çƒt'5‘îð¥&ÒõZÒ®ÇDº«Xñ+éN¹OÒ�:ŠdÒ¥w‰tGµÜƒt‡šHw(‰tG>È;éNÑœ•tG1áJº#Üó ÝÕóÈ¤;=�Lº{>ÉÏßñm!&û ÝUÂ�+éŽíéNÊ“tW-H¸�îp£&Ò�”'éN.šLºk@+VÒ�n=IwØx‰t§A3“î´òx’îPéNJ&ÝIy’î¨ÐO¤;¼‰t×¢yz"ÝáH¤»f„œ…t§÷ûIºcDO¤;e&ÒÝÒÝƒtG…DºkÇp=/¤;Õ&ÒÉŒéÎþ~#ÝMÑIwv9+éNÃé“t‡šHw(‰t'åIºc�˜Hwí83éŽ¦¯Ò]ã»]IwtÌN¤»©¬Y"‹ê¤;ýd&Ý±¬x�îhÊ‘Hw¸ÛVÒÝVÒÝ¢:Ù�ËDºk{ðVÒ�öÌ¤;\w‰t§•á“t×èŠ¿�îäÎ¤;9‚Ÿ¤;ÜÃ‰tÇ/‘îˆ‹<Hw¨‰t'%“î�­ÞIw¸pé%‘îl›wÒ�\×™t'Ço&Ý=ÇÊï9o+²ý$Ý½ŒçLº«å|#Ý©ŠíIº“šIw•ñf%ÝIy’îPWÒ;&Ò�î,I`!Ý)*“î*8±wÒ�ÖØ™t§Ø&ÝÕAç\Iwäà$ÒJ"ÝYžÎ;é5‘îPVÒ?ù Ý)(“îôH2én*+éÎÔ•t§d¡•t§,áwÒùIéŽ¶j‰t§Ë'éŽ^‰tGnàJºSÍ“t7Û8ŒíêùFº3%“î†¤;rjéNùKOÒ�ek®¤;™X™t7••t7Õ Ý©‰r&ÝUÚ9¼“îtW3é®’É¹’îÈ¢z'Ý!&ÒJ"ÝIy�îtüLº«´½YIwRž¤;Ü[+éŽþ~‰tg/É;éN	d™t§›‘Iw‹²À­¦¤;’qéNÙ�OÒÀ‰tG;È•t7……t7Ä Ýéð‰t§úIºÓ+�IwZ7dÒÝTVÒ�©+éN9™t§ûú$Ý)Í=“îj”DÒ�=¤;{®¤;ºx&ÒõºÒ�ÔLº“’Iwló ÝÕ¶¿‘î¨bH¤»Zû¤;�t™tGFY"ÝMe%Ý-*¤;)“îô‹OÒç‘HwR2éåAº3u%Ý¡$Ò�]å;é®Ò&x%ÝiÎÍ¤»©¬¤»EuÒ]Åã°’îjÝ? ÝñLéÎš,¯¤;e>IwúL2éŽþ´‰t§âIºc™HwJSÉ¤»©¤Á`¨Aº«wÿU&ÝY«�wÒ�uhZIwêy¹’î®™wÒ�õ„ZIw¡N¤;Ù¦™t§\’LºS àIº3u%Ý™²’îLy'ÝÉnÎ¤;”DºCy�î„/¤;ý�Iw²ÒßIwÊ¢É¤;-ç2éŽ¦rÒ�ÔLº“’Iw¬ðÞIw4wL¤»¤P…ÏŽÒ�µ]Hw*O_Iwò¿¿“î´Ê¤;)™t·(éÎÔ•t§{šIw´^y�îÈ0ZIw­ío¤;uä~’î¤fÒ�»éN¥äÒ�ÄLº“’Iwló ÝÑ�&‘î²Ë¤;eñ<IwR3éNJ&ÝIy’îPWÒ;&Ò�ît	™t×È9XIw(ÒÝÜ.Hw�nPìèÁþFºkòß/¤;
'™t7••t7Õ Ýi˜Iw4}x�î”ë“IwÜ«Dº[”…t7Õ ÝÉÁ•Iw-"+é1‘îZÙ2éN‹íwÒ�´LºCYIwÒ�ŽžIw­´7Ò�¼OÒÝ¥Çfõ|#ÝMe%ÝM5HwöéNëñéNyP™tgþÚ…t'Ÿ÷“t'Wr&Ýá±M¤»©¬¤;SWÒy¨‰t×T×ñ ÝIÍ¤;)‰t‡ð ÝIÍ¤;”DºkP?ßIwz”‰t§»˜HwCXHwCÒAýDºk²ß¤;¦ßDº#Ýs%ÝMa%Ý-jø(•V�HwŸ¤;^¹DºÓ8‘Iwr?IwR3ée%Ý±ãƒt‡šHwR2éNÊ“t§S[Hw”Ï¯¤»)¬¤;SWÒ‰¨+éßÝƒt§œ�Dº£Ap"ÝQÃõ ÝÑ›7‘îdtdÒ�.áIºÓv‰t‡4‘îH¶z�î¨µK¤;êénQÒÝTƒtG~O"Ýñ›ï¤;û‰tGšDºCy�îPéŽc­¤»‘R–Hw”\$Ò)Q‰t·(énªAºk3‚å;ëðûNº#Ó,‘îˆõ%Òýã¤;ÔéŽÂ¹DºÃÒ\IwCXIwCÒ�ýéNƒJ"Ý‘¤ë¤;­02éÎ”wÒÝTƒtGoÆDºÓºäIº«çñFºSºQ&ÝQ“÷ ÝÉ5‘IwTõ¾“îT–IwòÀ%Ò�Ò”ž¤;9HéN¥2™t7••t7Õ Ý©B(“îTËú$ÝQhµ’îªŠçéîé±þžþðÿJºûSHw§÷I ;}Ÿ×±ˆg³Œé�¹SþŒ²ÂWÊ�,#2UrG�B-Á¸Sá¦<Ÿ	q'|×ÖïI¸ƒÎšÑwlÑî•owSY2évàÀ�X
ÜNoV9®Ì¶»”|âTøT4t‚
-�ü`ÛµOh»ƒ6ÆÇDÛõÃ’ÛƒlG�ÌéJlg

ÛäÚíÞUb`ídì*Ñ1QíÚi#ß€Ú©
-Xn íÄñ9{ÍD;‰õlh¨�“g§ÃìåXqv»Û
-ƒf§úŽ£”Õ©yÇ¶Ÿ+ËNk7ž»£ìº³�Én+6-ÄÉ±Sö=ñtJž¬o;uš‚SÛ\æç;s�3óë¤©Î{àëÀêî×¤×)Rë™áuÕ'Õ¯{	¬†»NõøêŒ”Ðuâ”^½Nr�¾—QU½ÔCXÉuStr�¼m[�t§µ^KÜ:¢Ï}ÁÛm“W·å;¾
BÝæßRê´Þ/­½ñé<KkÐéTIx÷7<]µvø“NWãã	8�RAËš®©’µ,dºfî�	¦sjIæÒÝ–Ž5°t8x5×n®U+=LT:\ÿzÉC<nÏÎs&�¼{sÜrº.¿Ò&‘ŽÆÛç9�t�Q2&,Kš*²LìuYxtEåõÜüàÑ•~î-xt…æ¨G_�thûyN ÊU¯	¤+$.×=éJä, �ÌÖ¤“Ò¶zf ]é^¥1€tå(@º×¬iu	HWèÖû$ÒÙ>½ž“HWdHVgÍ’ñ tÂ}�({™D:	Ü·D¤“ÊCD:)ÄN‘N
-™_‰HWÏaDºBÛ¤Þ'’îù(?Ç£V<•t+’N*Îÿ�¤c;]�¤“2[¶¹ËC"!ëA¤“bKØ Ò½>\	HW í­DºR­òz€æŠ‚ÿ8W �òéTë3Du­ë¥NÝ¡Q¼_™F§þqj“=`t4”»÷É¢;,	3‘èHÐïçÑiéÀ‚08t‡Ç††NEêK:…­BÇ!tÊâÁô_têÒHMM èÄãÃaŒ§!¬º)z¼Ì@Pû§�•;�ß•èsG°%B”×ý¢ë£³ç¦0ÑsS3òœ®ãö,cÅâw0$ì˜•f 4Ê%Di=õvÚ�S^™s
ÔM8?íðâö�œS`åJœã»¢A£çï¤2xsSXpsCÚœ“æ#wˆœ¢ÔºQ‰5§	ºïmŠêGuQ�æ†°‚æ¦èœ9Ù7ø£3wSUó)AæÈ²ï–1Ç¹»õa·H�÷ðk¬„¹¢pRá1ù²¾�¶Â\©§ûîVÂœTl§A˜+ò”Rþ„¹Òb¼æ¤Z‰j4æ+-ø8A˜+t�>?%ÀœDª¿`…/>s(xVÂ\!îÐÌ¹G©�Æ|¬ƒ0÷ýb
-T¶ËaÙB˜«tº/uæ”ÔcÞ˜ Ì©;’×*-„¹J_²Ò&aŽ¾JVñè„9ú/zZ	s¨>\ZßíX}Œ¥="‡·æ´’¥‘ýÌiáì½10§­÷Ï\sº¨Ë[bp\íX�bôËíöotåË±L¦…cðåPˆ¬a%{ƒ0‡ÝVwÛ`àåPîÛj/§·î“�—Ó©sÓ^n(+^nŠ�—Ó‚þÂ¨
-l\‘W�EËŠ—+—ç
Ìí¢ÚàË²hä¡XùrÚŽìÁ—ƒgÌÜ8È×'FÚÂ—ƒU\a»ª»a‹µàËMeåË
uðåhCµopã
-ír•¾òåÊ5Àc;±Fööiàå†°Òå†p¹¢Õ'|º€Æ†Î~}Jp9�†y'ÇvÐÍJ›tZ®0r­l9T›áœ-Qüv±ª£mbËIÅ%0ØrRŒÅl¹BémÛŒÆD:5º:
¶4l83ÎÞ”¾OÅî+¡¢e3pÛ‡Í?Øù‹²0¥ÕýÞi34
f\!Ã¿·©ØÉ^fÍíîÑ¶ØÙrSYÙrCl¹B-ˆ¬×€Æ—a¼¢åô˜=6ë‡[nü™ØrS
¶œd7:˜qÈkû„–+ò>ì‹¨OÆ}YÎšõžÐr´
*î†÷¥d÷~­�–«pžú5;›ÉsØï}¢å¤Ð°{ åØÆò–¾oê©Å¼h95P¢óà`Æ©§�E²W¶\-îž›u°�–[”-7Õ@Ëià<½
-Å:·–Í:7&²\¥Bè>&Y€“åh?ŒsË™XëË±ÑúËÙ5rRXN’™B–Óœk¶P€å¦²‚å¦`¹Êz[Ÿ·{Ôé»¸‘“°/¯€7‘NXÞ4ÆL•2½®\9GQÆ\9
u^\9½UgâÊ±£Nrl'¢P�¶T¬Ž‡’Æ€PW®(�w[påŠÒX;åcW®ì›-ÌW®PÈê$lÿB÷óÎ\9™x#Þ‰qgG›9ü(ÛáRlÅ1š%Œ0ÃÞ^Õ¸båÐÎÐ^+	„~}P9„‚ÓÔÓLñÇ�”»½3Î ÊIp¾å4´‘Q<9å²ÛØn89�ªÝ’I“£®é:&Lî¼Ãð÷>¿G,®W”œµ¿š 9EÄJ½'GNv¥^ª„‘;Ü~¹xDN»áÅYr§7B9Í¥G-“ wyc‹�#×0˜ä4“Z¡óã¦°àã†ô8eìàHx\ÑtÁð¿ÒãôJ°4ô¸¢âpyÛû¬Üûvœ™WÈî?®I�“B^Ú Çj<cy4Š—J~|Ðã$0i>Ž-¸Å+>®È)gúÀÇ•Íû^
|\)ÄOô¸Býï�“€™;àq¥x÷™�Cm~8»‹ÚS‹’€ÇqllÔ§`èxÜ}Olµ—0î¾'*®0aÉ‡¸R€™gR\©‡ù±ÇVÍ¼#Ÿg+&nˆA‰Ó‚Œdµ�+Ê0ÐK�0qE—··ítkäs˜¸EY0qS
L\©Þ£+0q\LÁ-º`âPµ\˜8)x&NÊÎÝZ1qR÷&åÚÊÄÄ¡È”N˜8©V~ì”8�+åÇƒþVÈk¹œ]¥�¿s»ÍãCƒ7••7Õ ÄÙ/N‹iŠÛ%®0k×u;ù5›÷ÂnG‰©Ã†Ü“ø?‡[ó¤7ŽCâ¦²Bâ¦j�¸¢*Vl‰“ÓÂê«WHœÔ‹ç�8)ÇÛñ$‹g¸$HœT)‡r�÷„Ä±§l–‰+µ››k@âtm1�¸©¬�¸¡Hœ>	Å÷ü­ï™ q6»ÒKÝÕÛ|ïO@œ+îDw+�½A}Ó˜Gà:ÑáxÝˆ/ŽíŠwax8¹fy‡N*ïÞÀÃ¡tÆáÄaÏí¾2õ8ö‰‡“‚nàá¤°òMx8�›ïéx¸¢0\£ ÌñpCIx¸©®l·Ïk�}»Ý)”èp÷fFÜ¯ÝZæN«üz
'·‰R�wFP'ÀpjÁƒ·páNËƒT8­¤·rLØÝåé›¹0áŽ-ÞOÕÍ�ÖA„Â
-„›¢óàäâ’é>xpZœÝGI88Å•`ƒ§¬—m«'SheÁIä&
-NÇa
-	ÜNX ¸c·¤ Á�À/ZðP™Â¤ÀMÍ pËÊÝ'ß�¦¤«€•µùø"ò•waVÝ·Ú�pj>Ñ¶s"à4Uj¼œBÀ
1øoòÎóùDA…ÆÒšR‰…&c¢*s»Ýóþm(	ÿ6ÕÀ¿i$¦ÛöÀ¿É�jwfÁ¿)²fî³À¿É¥d¡‚ÿ&ÆfÿMŽ2Ÿƒÿ¦=Á0$þ›\)ä¹þ›Úö²@\7µß%(¿âß¨§4S+6£iŽ›ÊŠ›ªãß¨2ºNÐ¦\}šI¾_ñoTS’ªø·Z½:xàßž.çpFÿ"þ�5ŸÌì„+{8ÿV¢‡ÜÀ¿I!~–ðoEaì“b6Ç¿i%{˜]îø7Ý}OqYðo¨{™ô7		ú[¡Þùl™þÆÃdÔú›_AÃuæ–É€¿éÂæô·B]à9áoåÜ2÷MÞ;kÄÜ7uÉ&d4¸oU½d›'î›¼ÄÍ¾J¸orÉà{Ü790ð%î[�lÿà¾±Ùåpz›*×Y¹‰û†
-‡ÄË×ñ�X4Ü±oRp+'ìQ
²ûf©nÇ1°oU3®ß	û‰‚É=¸o•üb–÷�Jfy6WîD¥öMeÑ¤®ö­ÑíwÆ¾©Nš°îÀ¾qEú–÷M·Ù,Žü&•þ�ƒü&Wö ¿ÑÎý´�ßð¤é™òŠæ�A~CÑZ#‘ß¤âiä7Êµe7ò›nãW"¿É?E”j ß€Xœ\¹£ß;¥­tB¿©œ’¯{ ß]�è7Ý[Þ¶Ä~“Ã‹¥Â`¿Õh	ì7
�Äëû­ðôk²ßä£Lb¿IÅ3Øoú’hÁ:ØoR°#ûM*£Ý`¿¡h�1Øo(Ç‘Ño04:ö›NBcÔ@¿aúWô[¹n ú­�¸\ËD¿i8Ä§“Øo6H¶>áo¤6^8üí9Çèýýào;ØJ†¿i4£7KÀßÊÁÛ€¿Õ-Â|üM¢»ü´�æÈð7ù¶ü
eÐßl»î°7
-È7kè•èoªg³�Ñ9ÙHêô7
è4pKô·D—AcFÂQô7…ÝHóIô7©ä
ú[9‚„ô7Ú\¬ô7©€5þ†pûOcGZ;¯ð70ô]ð7�¾™wÁïz>ËÏßñ}QNçÝ2úM
gOZ[{S@2“èùìà7e&é‚÷M"–j`ß$ížÔ7ržÎ=Cßdã$æ›fópƒésW_¸rß™ø¦µ¾Õ¾©£•¬©Á{ÓÜßë�qo2ö{Ÿ´·Ãc³ö¦-¶ý
öv3ëMß®IzS}g¹[½—ÑçMµƒ2pÇ¼]‡Í„+äíööÌƒñÆÚó8âíe˜S4!ÞäW·sÄ[‰øù@¼Éä'þšoZ“*2ox0µ\ˆ7œ¡½¶Œx“«h ÞŠÑ£ËD¼ÉÁ‡’o¸%îëšˆ7)xÖâ
¥¾ÞJsÂŠü³Nxc·ó>3áM'&ëiÞt¿péà
W‚y¼É‘CMÓ¼ÉûÆz3oE5ž¶´œ€7íg±þ ¼éqXâ^ÞTÓÍ|¼©e`«ûä»é}Øék`x7ŽÇj¡»‘SÝ®	wÓ<Eòe°ÝîWV´›&ÜÖïIvSýÈF%XËü�öÜ×�Ê×5±n·Ûë¦B’%WªÛÞM‡ºéo‚ÁtÍªß‰èv~ÓèÆíq\QôÛÎíŠÈKÐÜh:²·s{ö¾ç¼{i"¹VðšsËµn>ÈM¤ËÈÚ¾F‰�‘ã&¿voVO†Ñ©Zµ“²¦â¦¦Æ[qÑnóQ Ü†À»öæ²~ÚJó°¥˜ømíSðÛ`Ë‹M>•uL:V”©H¯+ùÑámGô3[ÙmJ,ªÅºó~Ó¢øô†Û²$ÜÕ…p„2a.+ã�Q~U§S¨‡+)¾â×l›¨�½XŽ(SûYêÐ¶ë
×¦±Íâª�kSž©÷¢w\›ÒÜ M/´6/Ì¦
-Z›¼¾ôb´¶RNï¿ºÀÚ4®°°X[¡:2Š­4¸jä!÷reµ)
-bµtÁj#4fõ‘ÆjS[¸ó�ÔvZã‚ÁiS�)}RÓÖo[v&JÛáVÙ€´éˆ„C‚Ñ¦TMùI¢M…'8¡M)3Hh“ÇˆAoå³]ž_;ðlW‹Þ¿NgƒX¾CiÀÙDÔ�C¢œ©–Ñãh6êw§âÅ¸k]mÌ¢åe7ÛˆÈóåô�DeSÒÙáÈc,E&¸×eS³+-û“íò|Ì�dL¾“È(HÜ
-dÓ­¯zðØ” {hó>dêÂxn=áØNG®
Ûé«Ôc»¼�Ob±‰€aG±)kÅ¦à-áÄ•ÄF|ŸP¡ƒØ´Ÿ%ˆí:<š¸rØN·+†�´‘:!l»¯•WÛ~FÊ•#Ø4ö’³¶n§˜øk}÷„ƒÀ¯I8|+‚ß$šìW†¯)C^°×º[½¦Î¯êó’Ðk;�ô>
ðZÛÌ¹Üµê¾É„]S§Šîm˜ok$úzöÍŠ[½	‚Õ…¯ÈµæN�A\k®À5E›ÓÏoM¢ec×Èœm­NÚZ»Ì¼M°5| <¶¦fâ•zë‰›>Æ¯¬5íV/›d¬aŒ¢-õž¤5ÅXûiðÉZƒHBú¾sÖd�XN·SÖ<j¥¬é�ÓUÈZó
-’ÁXÛ›ù&b�b1…/±&è§¦ôAXk´HÎ|5°ãZé^íôÛAW»nñW¸Qy}EÎV+r‘ülµB¿ï«f¶š&¤ÁV#h¶Ó—ÎÙjfõî­fü¾s’Õd1[hz%«i_‹«YMŸ¶Y‡AV+Å§ÑDVËª¾eS(4q´Z‰«„VCe¸´ŠžØ@«I±0ãŠV“JÚü@«²Ÿï6ÑjR¬>jE«iþ¤áá@«À·h•·èÕNžnB«¡Ê{d5	$YMÂ^FÈ±W·ê6«ÞW²ZÁO¹_™¬V¨Ç:ë$«Iq_’‡Œd’\'�…¬V4Zbq²šÂ<öJ9YMi_Ís“¬FÁÉ4VS¬ÝbëV+te’gl«)ƒ1;Àj3`µBV÷Õ2X­DCêVCÙËäª±c?3VM"‰ ªIÀZ0ªšþÄ“¨jJIeq6¨jøiH[
ªZ¡ÈVÆðJU“JvU@Õ
-]¬<õ÷‡æ‰DU“ºQ
X5»…äâôð;�æÙ_±j…°¦¾>Çª)nFêüÀªˆ°íX±jdÊêX5½"–LX5r	Ë­Xµ‚¿½Ü«¦=-ó!°j%ŠžV­ìžø=°jªØÃ´XµÂJLëØ«V`´îmbÕ´§Íû�U+äé$VªZ!ÅL·?¨jºð±T¤·ÀM“Ý¹PÕ$’`0¨j¦@Þò¶`iÇ�UCÅd	¬š:’
¬Z	šZÂª2aœ²I ¼4·IVM_¨kÅª‘‹iƒ·cÕ8‹Ny¸cÕ
-7ŠÅî‚U£~‘P¦cÕÈ¿Ç¯X53âÍ[±jœÜàX5
:æ{¬šÒÍlÀ_±j,L¨Ê¬Z‰ª˜�U+ÍÛƒ$®ãŽYÑVÓ‡zYnÙ1âÀ¬d5TŠîƒ¬&¥.\5ýÝÎ–±jT\Ü¾›ÍX„–ï2±j%8	«¦d{‚Ý«¦ÄwªV�˜!wÅª™oüj«F‰ÐÅý÷’
-…Êˆ&¬M ‰JVÍ[×�Uƒ¼Î˜²bÕÈÃ.X5ùÙYö¬Ø^üK+VÍ¿ýžX5Üö,«V‹
V�r>ÃÀªQ‹Ã4X5ãÄß5cÕj<ê�UC±ÑÆvÙÓZ3,X5u˜4ÏR`ÕjdÜ¬Z1TLËXµ]’V�âÖWÅRIV¬{ò›�US‰„Àª‰¥lÓéBUÓy˜™TµŠÑvÞ“ªF09²‰ª¦È¾­USù†ÍýUSµƒY²+U�„ô{àä|•9Ì`T5•Ø_©jV‹>ô ªéV[.ŸQÕ¨¾Â/µRÕ¬+Jé«Vi»Õ‰U“âGZ°jR-áÒ°jÔ)™§Ó±j(nÉª!kÊõƒªf‘­kBÕ¨Ö`\ jºlKÇs¦š>Ë6p¦šÂ +RÍiÑ÷Dªé@ät¦šNÀF�•©†JË�•ª¦Ø:©°ƒª¦ÝAU£F�ô•ª¦À0ÖR@ÕhlmHªV›y­SM�bš R�K§‚@ªéõ5gâŠTÓ×@ú@ªÉÔ3»$�j…VW÷õ–ð©,KÎ7¤š2@1èRMS=9‰©¦¼""ƒ©V€¸o¶ŒL5™!¤¦šb¯ô‹¤Z¡ëO92RMÆ°NRM‹-srR�u4r[ˆj×nCúª�><
žˆ¾£gžÚáñ™�S“ÿ„pàÔ>åïé°þW ©‘$P�’6hj$	ð’‡JJŸŸÓÔNßqÎß
-¼N”šÞIK¤”šjÝ°„¥B™(5”v›‚!aÛ^B2ÒœÃ51PjRÌ
(5)ä'”šªÒlU óùv—Ø`©i$¶Œ£•¥¦)Á¬Œ`©i<À›7J™•†ï4±Ôd¸sÆYjJ/áÖ–š¾ýî5ãi@`~”©$‡·¡I!›/¡ÔPÉ`”Jë÷D©q,Ç´MVR¥‰ã>IjJ}óÏßi•ZÚ¾ÀÕØ“@õŠR«¬#V”ÚTVx×¢zÑMèW”ÝþßQj›yA©éÄÌ�(5ZNÓ>aA©!Ò"Pj(�+r”š™	‰¤&Ñ’‚¤VåÓ¡Ä<HjRX¸$”šZd[ñg°Ô`),µEXXjS
–š¸'–ššÍ?YjtœO,5uˆÏ,µEYÇPƒ¥fõ–šÇƒ¥FgÿÄRSßý'K
5±ÔPV–š„K
qe©Á„H,5)O–šÞ¦ÌRÓƒìÖZôŽÞu^’XjšÞ-Œ›ÉÆÀ6	”õ‡——ÓŒ^X¨Ý1i Ô¤à­’ÚsôýÙéä_DRÃ­f¯çBR“s“îƒ¤VŠÓI�¹ÖúY¯s2EEm‚Ôh^ 5v”)˜@jRñZH
Ç)UåR£š	×þ
-RÃÑ]LÍ£³ù�š2*¬ÛÍ
-RSãkp 5ªÐÈ^
-�Z‰70�ÔPi  5”Ý�kæiÚ"t¼’ÔŒÙÌÙn(5Jë@¶K�xÍ´µ�*/ÁS8KMOÄÌ«`©=Ÿåçïù¾(bj5!KMÕ¤”q–Ûé�–ŠÌ¬ÄR“Ê'9Xj8N‡@‘Í¦ï„R“[ÆX< (©€ª§@¤©U”'{,+r
-zÛŠ\«ðâï>QjZo”ÓAg¥†JO¬@©I±X Ô*í+•ï¸¢Ô¨H'/?Pj,rKk¥V­;wÍ(5Ü¤J­F°n Ô´î9¬%Ö‚R+4…8ä(5¥åYd°Ôe�©M5hj´ÀA”4†¥ãÊ05-s-i1Tr­0Óhj&´žqj‹êùu‹¥|ðÔ4¦ZÁËÊSC%…=xj(8‚§&ÅÎ~å©±8¬{�t°J)«–QÎS£µ¨õ[xj•¯·ï“§¦5¿y,‚§6•5gcQ�§¦Ÿì¬Ó‚“¦[M5ÐŠS£1�±™œl4¾tœÚVœÚ¢:>€¤Ås¡©•hÐ”hjÚ—ú ©á®#Z÷K‹B+Â[ijòLZràÔä–ksÐÔäÆrO45ÜÂ–cå45Öv¬Eƒ¦F,a�©!¥‘h#ÅœÀS“‚+!ÁÔpÜ^u²ÔüH&¶ÅV2JMþjªì‚¤&_¯5�	’Ús¤üžóö‰˜+HM`2ì¤ÖýÑ
ŽZ÷NV	£¦U‡AQÃª:Î	Që^$›jcXÖ#Ñ^úþA­›˜øi„øKø4ýžô4’ÒH \àiûíní`§©ÅZ¤Ð‘®c´ÇšÉiŠ¹”kŸà4	§óÐpù“8³Ý›ÖcÔ4	Ö*Ó©iúµ»dfšºHL^ZßÌg;piCXiiˆçd¥©FÜúÿ€A;Ãë9Ii—ç›¹$g5Nèà¤i2¬o”´èý2šþ_ž£3àgZß™\i£IAˆÇæµŒAH;¢9èBHZÒ”æBÔ.iW,š×5:�{�x4NÖ
- ðhSYñhS
<Ú}Eõ¤SÏ4 ÚTµÀÑ4‡�U"½¦ê9ÑhÊ`b[ÑhW8ÈƒŒvYË•ÁE£µäÑ3MÕ ¸J‹¦¸-ð ¢Ñ”v»3
ßu½íòb�@ãmÐba%¢ág#ðï@4¡‚Fy
-iˆAC“GÜ:Æ:äL&'éb+
–o+STylLøôÃšÂ‚Bb Ð.ïã3gBÈè¹$šž6ÙéC-Å³%	m*+	­D×òABSÎ„%DáLŸ
-7$š²¯bÚÍ“V
-Úa±�` Ñ�Þ[”Ò”ïðZƒD@c	N•­ó™Ô¿ÖÚ;ÿìh1Í,ø³Ã:Lø™rùÏ#Hg:ÕËRBŸuo·2D-Ö›|6„•{6E°gÝ›r
ê™¼ ”f­Ð3�À]&ò¬_³K,Ä3	XÍ+ðñÚ'ïLBqÜVj¦�Ñ‚ö8'ìl·„Ž�:‹¿WÐÙÐs†/@{”Öª)>
µ×
-ÜãŒ‚*gœ�Þe ÎÎÍ24WÀ™HÛ9ñfÐÃ·kRËTmÅaW¸;­ÿ‡ªLÏ1q¸ÙTÖO{ª7+õy°Í¬NÞ{¶™u	¢ÞÃÙfê¶h5ÔA7+Í-¬D7³ÎDÞ=�•ÿˆ'¼™ŒÅ$–Ãù?ƒn¦’ zª%º™©5Ôýôí¼7´PŽP®Èw±ŽPn†@~YÀÍPÈÃXáfD£Û�n&�HÆ ›Éj&Û5ñÍ”ÏbÑûà›i…eã}ðÍhmfmt¾™To_á|3)Äß¬x›£oFoÁâu·àÍ’ÂËÀ~^.=èf…žK$ìX¾”Š¯y‘o&Ÿ¸e‡L¼™–'öÐo&Åk�7[”ofª\zu¬O¢ÑBàÍhry6éÀ›‘êcÙ{t.ôbÛÁ7Sg¾âÄ7“êõjÎ7£´Ïl 1�|É•o&õjAK“‘¢aÝÚ:ÞŒM f­x3Úª�Š…ÏÈTx3eÓØŒ°âÍJ÷*µ�7“B"îÀ›Ê@·;ãÍP±Ä‚oÆžåš½$9xt—œ•¦&}4A7S­�e<G½3
-91+Ýlnt³ÂüåÍ�¼Ç·-5'Þ¬È§N[Mß¦ù3x³©¬x³©ÞL‹2£¶Œ¦d¼/t3¥ÜØ
›u+Öp³),l³!ÚL'<<mV"b°¢Í·{’ÍÊîÓA6ÓÂ—…÷Š6“ÈÈd3„â[ñ+(oW´™oŸp Ít¢4†Ì2­È¹S+ÙlŽÐc³có¬²@›MeE›M5Ðföû ›i}ŒC4¡Í”‹dN¼Pñ âw´™œÐ¶Ô[Ñfrî�"Ðf%zYŽUÎTV´™©­M´‰ ”ŠÚ¬h³RÒm&Õ›B8ÚLŠåw;Ú�¨ØŠ6“jÃ†“Íè¯d³åÑ!iƒl¦'il2'›é.òM´ÙT¶ÙnFt¦|@Ë
-@°»d¸³/íZÇv
-<4j´¾hSXáf‹.Cj¥4´L£ ?¸o}ÇvÊ1%4p39rfW¶™Ä»m†Ðü²É2c?½‰m†Zƒ[FÎƒŒ¼èÁ6“b‘Ÿ•m¦3ó=ÕØØš2ÒÅÙØfSXÙf¦¶µÇ+.†£Ô2\iVå¼ÀÍÊ‰òc;ùGÁ¶ÝL™KÅòþºÝaéLt3™›±Ìœn&O#6_¢›i;Ë²pºÉÛ*­‰)“ó´ÕóS‚›ÉQmmáÇvÅ³FÜlQ¸ÙTnF¢ÍîQn<Ûüæ½¿ÑÍµÃö
-ºY¥E»SÐšõª–“²_™n†Ê]ºÇ�x³‘Û•ðfòþZïÊÀ›‘œDì)ðf‹²àÍ¦x³:ãJžT'�sVÌ*»lªÜï$¼™úxÙà‚7C%#bÅ›éxtºv¦aåo6••o6Õœ•àSŒF«úøh.àÅZ¤Ë’Ðl�aA83åZFvjÎh+È œ›BlÆ‹£á¬lžQ;gÑyzÎd|“¼¶òÍÔM‡
-Šp¨ûrÅ›©ádŸ ›]‘Ø2õ¼¤na…›1šöe+LkF&ñ4c½å(³�ï‚d¶;0!�ÌT¶T½íØN�Ì¯,AÐ+ÂÞâïéŠþÿ#Äì[g°}ú·õÓß¤ê'÷û_ÿ÷¿ùúë¿üé÷?þôÛ?üúþéÿµãîŸþíøí>ØZÿ÷7ÿ×þÉNüËï~œûôoíó—¿ÿéŸóÓ_»üçüæå-gó:ôo~úÇyàooýå§¿ûÃ¯_wñøýï~û‡_Úø?þîÞ·}}îßº-ÿñ7¯‹üúÍúû?ü^Þ_ýî�ÿ8Žkà¿Ÿ=øÿö›¿ýÃßøÿýÿÍŸÿ‡öëÿÛ¿õýôw×ß¿þ‹ßýö/_/ë^ïëŸý™Éÿî§ÿôº¬å~ø‹Ð¿\ö/ÿî÷ÿô�Çùoÿâ§?~ò?^ì÷ÃöéÏ_ÿûßÿøÃ?ý t»”`·}úŸ^ÿñ¿¤?~Ú?ý/Ÿþ�ÿsûô·Úú¯~ø³Ó:ëtÊã©ök–•5§r¿//¹·ú¡»~ùøˆ_~ø-'ö¿þ`'U>ý?ÚU9¢[W;ÂîP¨¯Èžä;å/orweîÿTÆ®—ÿ!ªíÞ~*ä·Ÿ"Í{{ý[ò8ÈÛ�6°�ï¿éêûOP¿ûcyãý7ëmòþ“.¿ýf (Þþ
yäï~øëâmÿ'6Úl²~mäý¹¾¾É›å¡Ø!wsC~[öƒ|ùøØvÕ;	½{}ûÑU^Ž®9ë5sÿœ¼üèÇÎWýoþé¥8éÎŠ˜Çå,TJ*
-ðûÏMyý9Å–úãÒW9äTáÕñ�;¦ÃŒŠ»ä´û'·uÓATS{ŽÛZ-1y“wÀÅ«ø¶ø°M¤³¢%?šzÊYùR/‹ßÛ#ÜÄµG­›kÊ6´R{É‡¥7s¶XH&ýâ§ˆŠ˜è�sTkieß&“k÷’w‹õø�U;«f™‘~VŠ+²¥—êJVÌ§œ&jlj—uÔ?&×žßÂÃNKí¿ñ2Ø›I¯ndXz
-x?oñdÛ£yoÕD<FŸý‰½Vk—�Á¥RJ;€›8ÛcwûŽë²õ¸©/‘ý=Heg…}‰ˆGÖ®€
-†—XŒ
-ú£¿Tâ"c]Û-ÀTGä™HÒ×KÜ"ìn÷�W
-¹nþÀ¼ˆå<Ëm1
ßò>µe¹¢w‚÷µÒ‰)•O�Îïwãj•¦wlÕ¯ë.œVPâ`µ#kÝnÚkÕÝüô¯&â:áTq‰Çþ¯Éê´«%±Â~«*�‘"Gˆä]AtÎdÜï»›ÌJÉìŠ'C—‰õ°£VsAÿèoMOx¶ãl/¹ðüíÆ»cþa÷°*�ì¸ü5*Ö²�O‰•·�›ÅŒ�IHÓÀvÙºÂ¾Ðû8]ÜŠ}¢w„“t€Ã¯r€K�¾|<âilÜ;	ª‡ße¢Ê__ÅîODËÿÙ{‹cVíÙÓrq³tâx%úm�·³�L¯E»o«µ˜Áe/K7™6EœA¿vßô5úKMÖœý©7ö¦_í�ù¼»A$úø{»Ëðá
øÑ'éÝ‚@ö±ë¾Æ¬g¯5…ýgŒ™‡|³¶mÜ®ni…¬NÒÆÁú²ËlÌÄ·6à£ë¸ßÊdèñBì=>ÁÝ:=ØcÖ(cŸëkèâQC{ÙÆ>exñ�Â{P3‰¬Í2{üM½ã÷ßî€nÍk�÷×fð¾,ädîþ—XÁ{2‚Ë§?ÿ‡?É
-îÃf=ÜzÊæŽL3wÛ‡Êk¯/�ã|ÃìUX¦éë³ñ¢€¯or±º¨yøßõËÇGt{Põ¯'ýø©)¯®‡Å"¿-§}ÛTµ*öz¦]äõè�ÛãGyýÑç±Ãò½Ì&}ûÑENGCÃ·äõGŸÇŽ-Ã"M?ZCu}ë‹Yû¡œ~ôql·voo:‘t•—£›ñøÑU^~ôƒc‡‰}3xýÑENG¯‹-ý¡¼þèóØÙÄþ…¿þíoÿæëOûéH‚¾Ã?eHx�ÜhAõ
-ÒÅ¶Þïð[£}ÉÚé	¡_–}?Ò|ßFŽ&·¢:C‚Ôõ0`¢Ô—=÷ÉDL¬—HZ[ˆq*rÝÞò:š¼7
-Á´­Šgü·‚):j{Y™Ÿ¿þY¾u¥4û9Ýºÿrí‡mNCinÇHè°­‰�~ùø _üèJƒ¸öø‡m÷£ËkMy“ê�z7±îå4‘R$ûÁ«m~d|Ÿý<ÎƒÞK:�—í2N¯ŸFÈSc”swY5ú!ßÇ?÷šÆüÈÄ”?<ß¸M/k~»ýæÛ¢¨AsùºüB´tèã‰ôÓEÊœí7{.w»>�
Z‰mû¢¦oÏ=@ãqSKÝcÓúºbïz‡xÄþoW0/-ø«?¹‹`�m6¯¶]~Ë¾u^Y�‚ü[×Oµ3‹ûøz6ÕäÞöêN	ƒñ´s³»£8ÄíÛªÍ¸¶6?ÛZÚíg¡¶�ñmŒg¬s�[ÖYt^ŸÇ	÷�b}I[‹¦ï”Ë0s¾„|ìþ••×ªÒ�m…Jˆ›?ÎÇqçã¸¯æ—w+ï~°^Öð´=!6ß)Oô+<›Ñ˜µq‹êV}üiuÜ"k¬f—1^ ·›g|ŽŸÛ”ûÏôØö#ÛŸA;i4§ŸkW¼¯Ç§Ö¯¾|×ægAb·•�mg¡m?<ƒÏcü)w|ä´,ŒñçîÄ¾ Mœç'^³Ul-³5ä«W­nÕòØ‘k±ç§|ÅþéÃ_‹Ó¸–rÝP?
'FÙ›¨ Œ‰›38_£Gñ/Zý?‹¿W›!›%Ÿ6;Ø¶mŒwjûyø~*jæç@ëP¾He�xbóŒß~0Îx/=f¥¶‰­ï»,/³‹{¢¨»ß7.d|g=î=-ã%ºý¬OKôŒ×þ8·§·6Ô·cÄ¨s{ãmÆ½j_]nûî·zƒŽüÅo*=™¿||?¸Š\÷Ø>¼ÜÈõŽÏ…øº‰‡�X©Ž©»‹V­>ì‰Ï~€Ó'v÷Æ¶w»ý,6ýOJŽcD,[¸ëgpí‡à,G‰‘òuk?¼*gYþ�—æ«ËV¦k/îyûYÔv»øº­÷Ï�l�¸™ç—ñš]âe<ýŽ=Îàóx¦[¹âõR`<Ó�&ˆi°ÕWnÓúaIG&¼š¯DŸý¥Ÿq€{»Çã'Èeÿ¦D7?Kˆ½}úðÄæ¿Žp…	¶Ï·ð?Ø¶Ù1üL|}R1ˆ«rÊÅNÝ¼Dr"bÓûŽM·Ø´Õó~ôí¼æ #þie»1Ð&cNE~Õ[Œ\õ7nEl»ûYðÎŒ£ÆYô1h½�AœšÓMø‡“¶Ë¦wL¿÷~^1Æù5_î¹dË×*ß‡
-ZØÄ€ú2“}¨¯§ÙÍd…†uKNöG'ðã¸gWÙB×Ø;ÎgFådœñvŸÊÆ‰;Ñ·ÛŸ'ýŸ}Ëípqo=áÇÏ}™ÏîÞ}^¿¬ÎöÛûÖûíçA:í—�2Ç¼ó>ýioí<Æ˜w»h~zZ¼Ýñ¬ùÒ¯Xô÷ÂˆSK©ãÝ¶ù«‚cÛGÑ+ÎTŒwG�7þeÚWß¶�OüÃÓŸŸè}�V™Vq]Ûx"*Dt­¶·ïKb‹V®ígö²õÂòA—ßŠmÉoùðb$¦¼6q1Ë4›oMv“\�‚—Õßu…xU¿Ï‚ù¹åç`‘{‰™ìüvRóý8zŒSô`ˆû¸ß%Ó~Ç�lwØL>.Žëju™÷º‡¡¡–Mþˆ{ÜÝvÿÂ+B–ÿVL~ç¹D@úðüç„xƒ	‹+&Ä{»|–º«Ïªj˜×°m5&¹Óm¾ÓJ‰ãÝ?ï°únûäuÐ£ùTýZ«Æ|øvŸÇ-Mq`kÁrÑ[·Å¨Ä³ù»°íçxw�ý±Í[ö2ÓâÒ´ÔqXá÷ü"òüâ©•±(ÃªÖf˜�âî?ÿ2¼†ó˜1®ñ6•—þ”Ÿù,û�‰›ø½Ùã[ßöþó—£]çp1F´ñY^¾Æ¼=Þ€¸w[¸ÞÖ¼ÌÄí®±¥ft;5PŠ¾­nˆi÷qÆ<tÖöŸõzY«x¼L_Ë—˜3�Lgr÷õæ5–€§÷-–-§¾øç¾�ýëGÁ¢ÉF7´Ÿî>:Ú'pº¦fÑû¼‚~·8@ñ�:é7zÀ˜ˆ‹ñ:®98½=ƒ/![&¤uR‹C¼^°ÓDš±~ølã¡ËÍ¯¾„¯.ïµø Ñd°‰­ï>¦%ÿÁjèËüT�ŸÍÍÔó>ïù,ý=×ÇVj<ËSXi×Ÿƒ´rûÆð¨’œ/_Ä—1Ä�­�%zëcˆ{-7|ûóðÕ„"Èa¿„ÁÅuŒ·dŸ6ß/·­šûÊ”æ|U_È½>Æ6Æ’Ûq!eX
÷\Ô-ì°p€éê=®­^ó®sø\î0Pâ«ô>.?g XVÿ:�ë ÷/z‰eÏ·Fùq²ÛËMiw\Àq�
ï{ÞÂã‡~‹$—m;Æ!ÆRa+‰{ŸÇ=êÇ‰}Ï÷v�çuûä>çÆt[|°Ðo­Ë’¸ØñCŠ[ÎûG
Sè,Ë'R5‡=_Î2oÌË”Š'£:Yßö¸âk(wý…3pm?çéOWÞ¹ÿÂý›Ûª}Gˆ½}ðT>x°ß:ê¸‚vÇ¼�1œðnøÍ.~·+D-îs“úý«ðPK;B«G¢}7g«Žâs†Ú©ÏuÖcó.wÜ‡¿?O¬ù�¤³é=N¬ùs•ÁÄX©ßÃ�bYG%‹Ä=¾Qù¾Üa¤Ì«¨1æ/kË�/m+Ý¯"Þ:­{”Ê+ßòŠÉð54/÷¦
oaëËJÏ-×Ëº˜8W–u¿Ã8½�¯ïnÇ=Ü¼¬ÿž‰VQdËáA|»µ«sz»÷a†×žÌ­»O�
-½r,ø�ïÓ·>e=…¼õæÁ›ˆBÉ+oË�ùà$–Î«?JÅÞ8‡¥±Ä,>'–•_>>HLj4ã>øˆßHnK8�ÂìÅ~øDL¹Ä—�bG?”èt0†Ó±Æ}ö’;ºÚ@ªîô‹Ë½w—·›9Ñâ;ÛÇýì?x†3÷ªf«
ÙÜ‹´ð¹ÿÁ3F:b�“ópÛÇõ§#üØ>Ü;=.ªÔ�JJSLœK”j_�´c¸ñzó	‘®uLˆ‡û¾8ì˜·;Û�±œ’íóáyùR£¤ýô1ãe+˜ï
-Ù}·ùZM4^d½ŽÏ0Ì/w]¡º'@Öã›în·)ãè¸]l÷b¯±ÿ~V?-ú6ùAÝoý²TÍ®þàæ•yHT­ [¼lÛ�5cÑhõÅåÍÌ:N2Bè÷…N½#müþà¸þƒ oãMÙ#"%ù0˜Ú© °¸uÈ\‹Ò˜ÌáwyÆ‡‡õwíRW…a
W‡¶j)ßn3(t¼-šôO1ñ<F8h‹%‰pëØgýØpv„ýø<ƒùÝEàèœ�}§sé¼›….1ÖÈ§rIã‹.ã|Y‚}Žã—êab³ÎËN nZ[‚Œtüêr;ÆÂu·/Ib'àv–ë½
s%tT
›9¢òz²Ã3A(ðgïúí¶¥âYæb¢EÌíÃÁ¹Ùbây	~×Õ;¢Þ>Rý5äýã(-DA±L¼p"šÕ*ñð#²
TŒÏcÓ#6u³ïƒˆ3»Fé4šæW—ëÁÝ3ŽLÓ³¢=OAè@Œ¸ÅÏìŠ¯v®Ô9Àp9PûàÜÍboÌaÀ3«=ÜG
-Qú¦®ÈÇûÑÎŸ?<dL®Š£Ç‚¸Á×�Ý/ç£.žáa?Ã?£tó�ÓéÄPp)²MÎð«óþá+F¸ªž�ß:Ð>4s¿†|–¶È!†­:^Ê„vñs �¸ï	ñŽmO`gðy< iÈ—2¼ç²Êõ3cý2†¾ðæœ#ôï‘ðxHu8µ6_Žžãs[�ùöóó¼ÊHçµùÓ”‹s¼9ÛvÆ@+µ™
£€Ôüxš÷ƒ]½cÛ°®fùÏ3˜§ÖGbídâÔö9µ·§�‘æq÷½üü=kÖM•mÇ
ŠŒ‹Ã*2öÃ8Ç¦ªêð³É+¯�<ö»{Qu#µp1À#Q%7K¢�¼ÛHbÜŒÛE»^Dƒ¾I,¶‘º›/F-ko³ò$šM¢Ùåœ@˜~§C8µõ1b"È[Ù^4‰ö²KÜmÍ+±ßq€ÖÃöÓ¶g	y°T-‰­‘fÙhC~ž—GjÞb>xz·;°¬×úáF�¿«÷X.ÊèÙúýó?x_f�oÖ�ñËÇ?§óø7ÿ„1$KêŠÙD–ÝW—}é)6™Æ‘/.ÕÍp&Þ3¹jøß9®—¤~þø·d/¨|¼{NãËÆ»BÜÎ˜87Ï–’|˜�%ûGcÚ—Ï-&¿zÚÛ"±VßV™/.ZW
-ÄÝÝn’«%ëé
-n³¹•ÿk�=Ù¥qbWø�ô4ä
ü<–Wýˆ'}…yåN*¨	ô¸`r«i¼ð‡üÿ±.šoëI‚’4ê"ìiZû2R¢õ,–|yW¬c^õ‹°­^ãu'¼y”#òu¶£ºxXöÕemOí×Žp ¬7Lù=gì_¶û_±å~ºgCr,øŠE;¾¸LÍ”6Âðcñt˜�ãÇº÷¼Û<n³�2¨Ì;Ð,©�îôöÖÂ‘ÝüU&6cPò_¼wzo¿¸êþŒÅ£ûj�wœwX¢
-ï«šÎü°jR„©
±óˆS8÷X‰”Ó £–x�Æ½6¹•W¡ìþcL~&ª‘†‰î?½¼è*ÎÀÒ\ÃÓ·mwˆ4x4ÑƒN¬þÛ¼:sÝd·¦-Ñ·ËžNw¡š#ÎÄ~t?Ûk¼	-RñÄî‡¢k‡Í)Åÿ¦ç©íZ#Oà¬§ï»[^(­½üNëŒ·=~ä˜p
-‹,ÿèh3à¯±›Ëšûø¶×*¢øçÅ\aÛ’aè�Ê´:€™—÷)‰œ×MêïÛ¾y¾Ïj‡9X€+}
·�Û_f¼Iò~Æ¶‡%°m�7Ãã™cª-“�¼ÞÈîóK·7ƒ¦‘qÃ=áëPó¢+>O:›™sA9ÿäŽãò-=ƒ–“²÷}ƒÛ/vDÜ$—3.ÞQ©Ä´§°7óœEÝÖ¸šû^ÆÑ-%K½>}‘_ÂgÿÍ�Dº<L>‡	ÞÍ„·âŽè^Œœòk˜MrÒ>«�4{½H7?<a_õT`�‡³Ä!^bD-êñm_Nó�&³çi[·'±pÌ3|Êÿ{ï¶\Éqd‰~þ/m&�
Ð×Œl>QÅî6Í@R›¨æiÙÌ
D¡DŒ€§.T«ÿæ|À<�Oè;±–»GFfîªÚ HÜ¸[ÖÒ.GÞ"ÂÃ¯Ë=‚VÝ‘<Ë[Š�
-šùg“VšÊ3ÅÙÀ\å1Ï±¤–ŸtsØ(JŽ—IËl»;–eÊc�#ûl^½®Kžœ�¿4iNƒÑP\3N'o�.8$úÉF�Å©áWaAÖŠ<ÀÞ5¦¦êbÛjŒšº‹
Õ”œs²ÝÕ¢qI…&Ž�±û£)hk+(&¾íùÆ“Y–„�9ufóˆ”®�£å¯ñ>	ÌƒèÅ[Â2°Úµƒi/G‰¨¢Õè«…œ­xR%¢7Ó„¢³Ý.ùe\+ho¼ûÑbV�ˆqe›Åh9\ëìRÓRNãBŒÙæ…UÌí¢=–iÑ3#�OÆ1$û.©J%Ñ9#ìe{®o£Q¢—UÂ	AÙJ³]ì~oI}ÚQ%é¥NŽÜàÑ:Îš¤ìƒ®A›YoªTe/g¨Z®VŒJTxùÛ&Æu‚o”•qÔ‚y©£�Š(5{@�rHN›BeiOÍº4ú½!¶.šúÉ
-”ÆÕ*�ÀêŠãÐÇl† ¥ŒU_Íß5f�ƒäs»?™CÅU%qj;L¢âJÅ1[õÂgJN
‹7oÌEó¯X>öQŸRIà9�±k^2öÊš�È†¾Ã†ùþ™ãdï÷M¢jÈžz[ƒ¬LYÂrò¥“3Ð3jvÖ�Ñ¼º)x¹¡OÑ0*º¥ÑÌkcó:EÑ%ô÷M&Ïš§•x¢š]›\l×³öâ(Ñ\Ælû°= I
ˆ{ýLÉIm£ÁL^››Øð.*QËIlì¹^‚MÜur¬/nò!	ðmPsÒsl3-!Äna|@Vih›yN	MÎÔr±	ƒˆ™Œ˜ÕbÙK¶bZBÈ V�¶-£àq´Eò–2	–íÅ±&’¡Çn–Í˜Ø/ª½‘%Z‡Ò}
æáb¹ß™ªAŠT– ×=®qOÚÀgzíœK¢²—7#‚0z%Î9�ylëÛ%vPˆÕXÔ9d‡0}ª3I?5´ñä¬nÏ8}jsï£H9ƒ˜gEK÷í!™WÑlo’§qi¾c’Ê9'õ,JT¯�}à|{®óÑJí±èÀ`ŠM`˜ÅÑT«!&äÍÂ2×ä*=M
KX�GÛ4F�Äd¶÷è,÷�ÇærRy†¶ø’Â{�ã*<ÈoØkhº39pµm/G…¨Yjº@„¶ñb¶¤L1ÐÈ
-:B»;‰mÒ—é*s˜<¡!�ÓhrÝ°Œxª·x}í¡Å“ZZ©´"¼¹ú²Œ
!6Ix]ˆ!YÆ66|bQ\•ì\Ñã‰g2ØvÖ°ŸÚ¦FL{@òær“éË4� ¨,.ˆ³ÆÇùÄEŠÎ±];šÝ•iq*ídûŽ->äˆ'µ”-?ÂÃŠŠi /¢MŠ†¬ŸEðˆ= ¶Pq*qh6µ�ÀÃ¾fûÄàÐõZ‹/*ÚÎRœEÜ—¹êNK“-âÒÄÊxJj)ÎÉ*Gw%A@Žð^õþQMtöT£P\e­`Y¶B·Ý^öÊñ@VêˆT’ ‚‘›e~¥$,Íî¦0bÎÅÔ­%v¼11ˆVÆÂàédžŽs!,"H4jÐöMÙ™Ôb`×�
-#Žñ¤×šÕ:´âÝÒð„E��‘8‹…Èü9ûX)z�Ý:Žu4„!£6cÐÅÖ*ÆÂÓNRIw¡ž1)ûu2ÜMX+Ï¶z"Œq2U7…6‚aF*9DðrµB-’4ÁìC³E…¸M­~q”8¸<€ý-­¼hŽpê¼hõ¾@´*p¸ë“o_`IFÀ„ÛËJ0¡3h�>+�¦Ë4alÅ¤D`ŸÙÈÄ;Ç´ð„lêl¾h	F‘`+ã>¶¹uƒ½Î*]GÂ„ôIò9‰Èã£¶9™3¨Š™½H€
ƒ}À¨ Ü±U…Íá
>u0sƒ]ÞÏ”lµû“œÇ'Ä¡%p»œÕ<!}ëædÛ â½³eu­0’@b#jÆ†H8›T>ú yå2$ƒ„åò/mãŒÙl¼,*Ä_ë¾õJvî²ŸìA2
-‰�{§%RräñÔfß%sjX¦ifc}gJŽÙjV&µ“qÌCƒ¡z<ì„ø2ÍàHFÓ`ÇQÚ=HŽ4i
Tì&Œ«#ÄIMÚ7Â`¿±e»Y•j¸ŒªSr­ÕÇŒ­Žžå±–-SËäw¥çZTÉ‚c§™PöG¶ŒÎÊë‹Õíä�Îü'M—†sƒñ­1Â8Ãçbˆ0?õ\ç�ìÛ¥¹ÕŠªØ•·k
Šë¼o9ôlð5§)L¦U•+´7¨MhÀc#¶B{5F9‚lˆfr>{LX§Ëhh��í›
dS'æ‚ìVQ1¢WµõÆZêºÌåÕ­¤CÏÅ"µU
�MƒŒâwéý“Uâïl°z÷"qï3#G±3…Êuou{
«_ºb—¡Y³,<ñÆ>Ç&�­Ö<KeŠãÜ[ÃàÔØ>Ëi*M9ƒŒZ¹^Ú‡©ÇG£Ä8i˜ÕëÐÕLð®3#gC{sÕÏT›ç¦ö¤ñ˜hso;ÒíÃX­ÔjŸ+‹z3§Û!IL†WhÅ¶¡©„2Ø<4U††¯ÊOY2ÜbÒ…ÁzXÙáR8&DÕd–Î9ÉùÏ'bÁ·rïŒSð„¨–‹È�s@©�9‚ú�hgfLJsy4,.{ÖˆÓ�l%Fo0ü«êfµ�ùWVfUŠ9mV{…6©ÁßK¬ÇhA”æ£ò]ÂÏì0në¼3o6ÆÏséÓ„Ä•ÁI:¿Õ ‚@ß‹Fø¡ÕC²©¼9úóh�Š°†Í÷( !º¦œ¢³r�£¡þ¢“ŠƒØh@�,+ãŒ¢ç¥VõkV4ße*+(öÄVQÁ+[`fœKX½}€fÈßÞ°Aëµ¹#[t)´B‚±y� †öÍ´�xX‹­Í ‘ùa;,ZDl­Ö®Õ’Û\&cÍohÌÊxV=9à•$³è˜Þ[0m�0óÅ¦&Omjpm«õöZh
x€žàTí;Çâ¢·Jt«§Ç	Áƒ¡òxäç	£~VU7v…`SH^æÄž™rë¼4WÂã´ÎVš�r™ÃœsŸ­âå©çf|i2Žª‘TÄ—µûÃh5apvmµ‘ç6&Õà-ÍÇ¾öË8Ù€1¨ÝÌÕjt†F½
Â©MÂ©
-)[³«,¦¢×Étš,ÖÂþŠ‚­H{bÏºÑVLã~ÅÐS˜¯o9ææ¥™aŠ¦´ÍŒm#žFF£]ƒŸS3a1¹£Å¸ü•’å7&Ý�˜Ü`ß ÌÙê¦2[uš%?Ú•ÖwÊJäHk;©¡ö@Ö 8YæX2TDzÈJ9!¯ó†+f+äšöRï{Ô®CB´•Íë‘Äß¢¦ÄaùÀ8£û ×zßŠçƒfãÐaØ^E+Ðš�¦æc¶ƒ¾õk�ÑÆfgÂ"¼Ðûs«^aƒbýªÑ¼LšÍ›».e9á¬% £ÕÖ1™�n°õ<'ÀÍ¡.Ò¬Æ ìãÜœÂÏÓhZª%µmRyMC°…tèü@}°¶J<Ÿy‘g¦Ý8åùÑöEË±BüSt€Ãc—Ö•™dü§/‹A¯MSk’
aFré€mì¯nÙÁ”SS'Å"£ jnŒW¶>d&ˆ¨èÏ”<‡u”ghê»H[[�œ${WîhnçS'(×•n
šèu4QÍ™–V|¸r.É¦'ûB0¶­=S{,�»APƒ¡R+ŽÓâGâŽZ=˜Êµ¦ç�‚´Ç†Öæm2‡‹ §&q´ÿQRÍ�óžÙcd­êÄ¦VéjèáÔ˜Ú²Êè,¶‘> )/“yõJCõ>èæ/ÈÙ´jÌÞdÑµMkX§ØZEä¹–4ë;’ç²�Ô•€hñ{sËŸ
R”0y”JA!Î¥ã(
-1iÉt‘c·ìÓ¬:B±*19†K÷Ñ*[feOt’< tžQº*#2 kÄ¥1¥37´bèÑê™›�îÄäVYÑ W0µ¬D+@Xvîà%ÈIbk¹4¶$:Nym�ŽbÅ¹$·z4æ}�\ŠžZ§YuC'T§(»MÀUÕ•S+euN�{ÙM¸²ùãƒ4Š#1µrøíkcg9[é[‹ÇÕ„£as«TmqG�½³�,DV×eý¤ŠeE3Î	h]	
ÞæÇ–êÄ’›°óc×»eL®]Û<ÛNèdb¯™ås©KÑ‚òº°€èÆñŠSA·roÆÁ#äNL_ÄlXœè­SEVQ�«·à«f:ALÚut,œ=wÒ¸Ê÷ˆ1×�UhSp­h‘.íþdj„ÍTÎ”\†Yë%ù±ºH¿P“Ë3z§7­·‚8ÂÕ‹î|¨$AœŒCFšÅStå¹ë²ÚŠl»ò†eÇ™s{�jÎ€Ê5k>!x~Ð¬Ð\×ü…=Ö�j¿HGÓðC«~'Û6t„åöbP×Ù…á7Í1Ê¡X¥„u~y0�ÝoÖ„6R·QMc+¸ƒir¦WÏ}j­&)œpÐÒÎ#ÚvóàY¦Î7­‹£º&ó÷´;¯l2‰^{{À`áHÃw?Ùº%§D7?Õ
óJëhÃØÅ™’"ÆE4YÇóÀ¦f@	Î<"½dqÊij¯›Z¾—›�¦j$zÈø@
-Crl0…±Xë
KšzS§1Ç9 P´hV&\b”.ùBlØÔJ®fˆ¹0É.¼5Ùqx‘‡VÉu÷+"-SS"EÚ`‘gÉÄš×ÌkÓÜOG' ÷º‚Ù*1¶6?)¶€‰nŽYb�àÚihZ[|ž*Û8Sn
^@£”¬™Ý³�Áäå‹&ƒ3–1ÚË!#-b©U{ ŽÍÒ•ƒeäÊÑ’(ÞÚ¡‚rnÃÔulÛ“s¥Äf¬G…À&'Íä¦I%È-úd¸ïä:ÇB;³ñÊÖhÆ7ì%O>n�7¤ÃpI¢8E +„gƒ­£˜+öc3á!Ìã�óAÛ¦µzç•zŽ�½ y^Í1vº]@tmXä)–ÖCÐô5Ú…;ócÂ¨…°“äTäZ…üæ¡ó£Âd+FÍ:Úæ4è`Ö“@æí!×ú–•4›D…èu˜|nq-“/Ø©wµBóÄV$ Åb‹ {gx6bÑkµ.Ÿx£Í3qTäïoµƒŠÙÄZI{—ôª6®…„ˆ:.ö€,ZK±–“Mx#J¯VNH&§´QË­2�eóyþMcEeÃ©œ)9…«”ÚBçZƒ$­ÀÈË±aç,Üòà-õo%)Z¯E\+­Ïø
ÅD£=@Ë+ñ¹^_æ:L…ôfM„’Y”[o²�msÛ|É¢Ç°18C%2$`ð­^aÔsdŸO
Ø³	•âš�0à�i4D¢Ì‹²3Y¥9L–ø¤¬×jÀŽÅæ©›¯ëÂMØ%%\g’Õf|b<štl%{8.Ìî×r]Ög˜g'SW¥U\B²kû)BÁ\Ó mnƒõAÖð"qÚšv…5)‰†‚Xfp§‚Œ#O°±tšQå–Á{•<#t'â$�”m ±£UýQ�ØsµÃ*qr²dPùSÃ­jÌºÝYÝIq³Å *ƒûI"A8Á¯}¬¹ä8N½ÕW0%ðf"á»)ƒœÅ@ÀÕâ†€–­ FA� ºbHñ&WaôŒØ´ÞG·æiJ“Þ¼-Aer¿ku¾¾¨ÄÁ2¾
¨Z˜¬ŒpŒ¦ñ` ƒ�ê`F×UÀYY\,ãÄ�2Žkµ%o/³­?ˆ½©_ ­CUò&(É¹g$TSÀ°‡§†´d«™¾ÉP�ZJš±…iaX¾Á
-A:?�HûO¢á<´gòì/!ºÆ€ìh~ÊTÚ\I‡iúÎˆ¦XÃhMŠ(yM…bMŠ¨(Âì?éñÄ,õ©ÿ©Ø¼
-[@0Ä-[4>\2èböÅÜ/×àû¬l<Ù]é-ä¡Ak™%Ð§‡3á¿°¡R
o$Þ¢éU-åç÷7�wUÛ¶°ŠÔá~U@%®-ÞÐÅÚI�#˜šÌ1G\“’r%|ï‹6‚VùãÔƒd5­a–¥$D«vtrŽ‰
A”ø°bÎÀîð}}Ê	éÒª
-Œ
“u•&ªÞê—+yî3Â²´3%§dú+kyI%êy0‚D”YŒM#ù¹Ÿ!®5ûÄK“[¹ÖêSDÊ…~2YLP¢Ü¥\G×«Ã%’Ì‡*X¡Þ&m,s„!7Y”ÔýÀ1ÞÅªÀµS:®”sïÅ°°Ðš|²rTÙ+X¼
Ó•Ú4#ÍšWVo1!Ÿ{ÀÜFÊ på\¸;d3æü¼óQ•oª'O€¨e„÷í®!~«™mqhH«Ñµ&_8ós–½£ò¢³Žµ&^èb«)M­"†LRe=êUâçI/¾Å�¬|!}YK@M[NRX;‡†ÈÃšrÉv”•�!`ÖàÌ
-ZÑ°¬nn	rhF­â¡´³Ê�¹€äæÝµndßÊ‡Š–Äzœxd-z¼=QÛRr,â‡5CÛŠùqò¡kí×´Cˆj;÷¥éžq>cð1Ø·�iƒ”Q’›Ñ’Œ¾´þØ{ÙÐj«üÇp­ûÂ`M<¼èfð
-duÃ¬à@¯�ë;êÃ¨ij[lŽòB¹Í=áDµøb 7î‘b!ÚÒ¬ú–½µX�Ç ¬b6y - ùU¾“gs08'[C«l÷£�.ºíìgßÌ‹â¢Õñ!`d5ƒ>[?YbÃ5HÜòœ]
5âÙÙ$ª¥Al½§#ÍlT˜D”|n$P¢='*›ôô£v:kgÅ`Z2èQšïlZÏd
-š®`¥ªe¬§Pëƒ%rk
¢Ì?D«ÍhB²¢Õ¬[‘¨g
ŽõëÐ –Gí‡ñ!=V{€kuèbó±	‰	.†Y…hºÒŸ¶ ‡gyn3ZuZh–·N“W]LÐ††G0K£†l…ó§µÞ(9Ì¼œ5uÈÞ†hÿà¬öfJs£‡ÔöX”îÏlV1÷·±rþÍXS¾d@,:E2
-wS
[,›?cŒ±%Ø�™Ši®°†å0ªý–,
Ë£û±AV`=“€…·Ô�”7�lµ Çu¸ym´®Ä62†ÖÝ6Â>‹Æµ†»›÷¿°CdÎ^,ç‹ïÆ¨
bu�$Zª‰Ë­ÄÔÐgfI’<YjÌZý ¹ìíÔ+
aÒ»…Á�Ú%‚>5rCÞ�-íÚM¯¿¿cVø$
ðkG”Ð©Édž“‰�ý
-tt#¡cËa‰ÚÍc_ÈÑª2£ÄJ©yã%·¾—UŸëµ„he‚¬ª?ùX­¿B
-q­fÓIlõ÷±uPX}A×G²µ	Ú–I¨¦Í	¿Sb²Ž"›þ Än¶ž%é}ÃÀ°rGÂÂ»úMîú*í"Uˆ;´Ù`Ýr—™×Ún=¶ZE`j¥hª:‹­$QÛâãÅ‚—ÖÚwû~ÛÐ°úí¬»ÜNåá�R‹3#­ú`,-û=(ÈÂb48­µ»_¡‰ûŸþmÐ9ƒoLÝ)RÒ9iÇwÍíò5X‰üh±s�@vðàQìB­º$�Ú‰–¹ÕævtÈÞÒ±aêÚíÇ±uåÐ>u¾õ©�Z½ãö»æöí8KZú6Ã8&üÅfRì!
-F­KˆœÉ
�íÐŒØe3­
-d†R.ïvvŠÕõ±Œ¤Á¥\2âêóm\±ÁÜ‹¤[¬	²–1/î­¾Ä°äe–Á±•aÑŠ3"„¬A¬§c„õ`Oµžx›/˜;û•†¶m„ŒÖéÒ]»[3ÿc~V)Q‚ä,Pi%£µá1c‚}Ç<·Ã’‡­Þ?s‚5v�dw'¸dýÏ‰Š±½6÷)Oq¦®žq67€l¼îG—ZÛLC×hÁ«•7Y�~@4[	Mv­.S+Ù!Ó¶‹o5ø„þÙ×zšß`ÕoÎ·²šåw½˜û|.lLÁ+äV—â[­ºÅêRü|zGÊó‡ÙIySC¶þo;Ö™ Ø1²&[ïzÊ;['Ë¾c‡[/v�YÞ—MÎv?ÄT�³^u£6¥¿Q²úŒXg�)-–‹õÓqÚâVku{ìÖî"µc&ðºÉºÍÇa´kC«Hd²cç‡Y7à¡9rÚ³âFÉ®µÁ±#ú°MJ‚8e•‹õ­©sìº¯gY½mž8­Ý¶fB6q¡E0íøßÒ6bø±U�Z_µ:l†æ¾(­ÿðÜxh­D·_ð¢©÷i²ÊWª@Sï¥Øš–©­)
-šF•†eœ¦F^=ÄZPø¤Ö1ZGÜ‰|,ˆ5×eÌ-ÂÔ•gQBšCXsQÃŸdæHˆ9X»ŠQK	Q¨àÌ{IÙÏuÅ·~p.Û»xªŒz:Þ¾j5‚¹üêÉ6´ØÒ2­\#6ë°5	Rx¡¾Vƒ’‡f…9Ñ,Jl}8“ÿÐ¸¤óÔ²VôFÉ“³#u¦95>Ÿâ1g¬¶�ÐöþyofFÜ¹�ÕV•–!ohÅ<Ÿ
>cßªyMW÷Ï§Ukl}û.k=[{-®¹1²ö«ôR¤qfä–®,R?Cèi°Xç¨9H`W5Mä¥iñ‹Ý¯›Ï:(ÅBÁÙ|6’‡ÜâÖ©u`]S¼ôÆ:Ûý}¸÷­h�¢›%[æ2H�”-|Às­,¤a¡–Ð¡4>ô­«íBíÛ/x±:¬þo<¶žÔãJ>v‹ì?xr½VG×W›a¤ãqDR¥du’*ã)+�ÉgK2Ââð=ÎúGì$Îx]ßùû#T¢WnA^¼ÊR¢Ò1ÚnÔ�üß«¿ûßê‡þïc6/ûËq<þ
Þ‹“&ƒç+PÅ#gîŽ	mPKìÉgG_Öá×	7 a
ž>!wÊ[S}	6Õ_t<,©(’}¸ÑO*Çwäk>w8þÝGŸüçÍ\ëK{Ci+Ê@Ú³Q[£.§·ÈÉãk"?æbµ“4]]>´*väœ–ïW¢< Êá@Ëk£œ·|êL\|AOn_;?µÖr.»à=§œ8†´œ$,DtÕÈëž63[{iOjŸ7Û@úÇµ!÷oî¦äTBÚ\ëcv«§ÎÄÅû{rûÒù©ó€ÖC¿ø �àŽ~y”ÛÌ½ßcK‘ÛÛNrb5Ô—ÁÝõCrÝCAÈ‡Ô\ë¾cHj£‡ël9‡ªF âñïQºqÔ‹Šœ#,ìðf'D˜[p¸ú�Ñ:©ª´?.7²‘)B<ìŽyñˆ„äÒ‹óë¾·=@ª~#í?=ù('6ÎÃ|q$dª­yRúýþá¹ýóÑbŸ#È0Ž�”©$•Mòˆ´ˆ#ËšGYƒXà$FÌÝ…®MŠC’¯££r­ÏÍÀä‘mªj1"Sü¼¶è¦&Ì.ÚË»¾vÇ®ô/\	ëÂL^?¤„BžâbH	ºÿrH˜pvøY	Ï¥$CBô×ÈÄÞöƒq„yÙjÇ÷î½—>¬�ˆ_ÿööõ¿¼¹zýîêõŸNN„LÅÜÿáè·ßá/n�?}ùÕ?ÿÓÕu}ÌÑß·ŸÇÿpô÷ÿö›³ßÞ¾¼ÄÏ/®.Þ]Ý¾>ó×�ýá³ã_üûÍõëú§“úYo®¾yÿîòí/�ÿëÑßþæÍùêŠ‹o¯®_¾¹|�¿ûã¿ÿõëwóßð_ïþúÝ%þö7÷Ëã¿ÿ××W•üe}îë?-/ýþüú½\ûíåÕŸ¾}÷ñ«a’àâú-vù}ÌcúËÕËwßî=$½úÞG´ÿxþº÷Xþú¨Çñï{�ãß`ŸÿúëÏ¯_�íöÎÕËzå'‚kî}$·ßüïË‹w¿º}ÿúeý¶_Ý~bÞç½¢$«—¾{»÷R-îù¯{Œè±HÉwïß|óþúòõÅå¾Ó#·î9/öžÕ¾ãysùöýõþ²ß.¿÷1½¾ýòÝÕ»‹Oˆôy\oyõ®®/÷gãÅ=÷>B¿ïÐ^¿¿ùÝÅ»óïï0²þ–ûW§CÚwlßœ¿½ü§7—ÿç}Ý“û«¼Õ]ûH Ä}d »}'9/ÿ°§8™?ý#‹qÏ«ôåíû7—ÿüæü»o¯.öV¯÷^£«×�\^½þÄ\Æ?Àh>5ÛóXn¿»|sþîöÍÞšox°Íóâöæ»Û·Wïî°w~Šï )³ï'üý—¯Ž?;x€�qLðqŽãix€ñàþ,<ÀWoÎ«a|ýÛÛ«·ðà>°¸·Ôyz>àÞ!µƒxp.àÁ<¸€»»Ÿ¡èž›xr‡UzÜNàIz>^à¯Þ\½=ÿò}µ—žàÏÂëçóëï¾=.¶ÏË«ëóO)ÓÉb¸o-pºwºìÍùË«÷ûó¯]~ïCÚ›ëžŠ»¾ÿ6z¹ÿ6zù€æéonß|÷ííõíŸöÖÂ�Ç·;È´ƒL»ÿ!=»äþ¡„ƒL»ÇißÕx¹¿ßôò!§;D¨·tþfï0ï“ÙñwÃ‚>�-ÿ»W¯Þ^î=ó�g»?×TÝ8ì±ïþý
˜'²ûŸÊqohæÓK9îÍ�?RÊñÑî¶§¢™žrò4ì-".Î¯÷×IzõA)ÝÇ6yôéßoöæ²§¢`÷Ñ�…Ø=�ä÷{§¾^|{þúõåõ——×—w‰Mmo¼ÿÄØÞ‰Ê:Èí�¦Ž¾¸zûÝõùÅåÍåëw¿9ÿîéé¤›óú¨½³}OÁWŽí?Ç›ŸnñsßQó×þ&­]þ˜åcWÈ{‡ížŒ»Zü	Xâ/n¯oßüfññÅÞÞ¦ëÛw/¿¸üþêtw½¿é1óÚc—{‡žŒØ{D?�x,»ïÕ›ËËÿØ;@ûêêúú.Ø¢ëXÖë«×—çŸ°`çU‡ýâ7•²÷¨æî¢qý—ó¿~ÂøYlÃwçoî´åúÇÔ|w»¿Å{ûÙ[•½zs{³ÿ>âÅ÷>˜7—t§öÒùË—Wï®>…¿ì†5ßpÿ·÷&zù~_˜×>@Îãõþktqñþæý§9ý*u·ÜûØö·øº1ÚëËAì;Ìå]÷ï)ïÍ‘ß �ÙþY¹ú�<“ó×W7w`¶Ÿ¦>äòŸÏß¿}{uþúW×ûoæÇã�”læ‘¹BÏ6³ÿˆžJHä›ù�aü0¡à;pØcßýØÌ“ƒÍ¸½O7sïíÚí~{*ºé)gö¶FŸpæç¨–?pæâÙgöÑ8sÎ€3wZ­ŸpÆý\€3w”�]!?;àÌþ#z*–ø8ó‡ýA�3wàµÇ.žpfÿ=9ð#§ˆžüçKy×mö@Kù›Ë7ºÄ>=�~@Úa1žn–§³?Ýw<ì7<›–‘Ÿÿúë/.ß^¾~uûÞ7%vûS´C:*mïÁÿ(fñ“2X{éî{iü9ï¥½ØK‡½´ÚKèüvþæë»%>žÙþy–=ÚŸoO¿ýÓŽ?´£ßCÙþ? oÜAÀí'àòAÀÜp{óêAÀÜ?¾¹}Ë·l¸g'â.ßÜ~*ø4%ÜÁ„;H¸ áFÜAÂ=	w°án	÷öÝþ¿ïê8~|ùvÏƒ9‹t(|zéP>x(|Låƒ‡êÁçßäëÍåÍíþ'#>…&_W¯_^¾ºzýÉÃg{iúÝåù»/îÐÏ§»ãÞÇwhbÖtàib6œî
–xìmÌî �Ì�Ì�Ì>9¶;ØN?z'³‰æ<ŽÎ_O¹ÑÂ]êù·ÇûƒŽj~ì-
->5é?Rlù�B±/no¾»}ûIëú‰ÝWOÇiï‚û÷w!twÜ«„_ýßÞ_þéö‹ËùÏÿûï—×—o¿¾[3¹C°ù©›a…§Vxû‡°ÂÓ	+<cçÕíßôøà½>¤÷
endstream
endobj
117 0 obj
<</Length 65536>>stream
-º§ArèÁ½{\­÷}ï¯c÷™Ž]ªÿ=×ÿÿ¬þ®ÿûYýÃñ¾CýÁ}ƒžFØá±˜R÷[h÷�;¦ñÍ'kŸ^ÿ.cú™6vyÌ+òÈwÌ™â€aÍ^Xüïwï?!¸~1÷tbœ�E.ì`ûó'Ê!ºõÀ¥÷o¢î=�ýåÀŸBìÜýó'Ú“ô‰�z ŸX»~ î‰ˆ°§¡CŸY&íüÍÕ»oo.ßío<UMúÓôTéÓIü ¥=t‹ûßqÈB²ÐwÎBß
ø}ÈB²Ð‡,ôÜ~ÈBïÞc‡,ô!}ÈB²Ð?ÌèDÚŸÝÉ=dž™ç¿up‡Ìó!ó|È<ÿ«èn,öå�û\Üsÿ
-io�÷þÍ«jôÞmlË›î}p½¼¾¾ýË¾#¼¾úÓ·ïêßO.pÖÞc\ßöxÓ†/¯^½zÿöòÅíëê9½Þ_nî{Ü"ñ‘«,�Íç¦µî8¬C‰Cî‚;„à!¸�:?´1x!¸»Ø‹‡8ÜãŠÃ‰gðÙŸÞ\^¾þ¬Z——ŸUwõ§ÛÏ¾¿º½¾|÷Ù›Ë—ŸÝ¾9ý©lû!@wßÒ±ì2=ÿ�«›÷ï>Ñˆ¯ßcvý½scÞ{L—×õwŠ9vw<Xôç‹+:Žg˜Œ ùBÜ”3•ÝOp<ëˆM•»Ï=\óœbo¿»¼¨æ×›û(Œx´]NmîWÛÞøÎÆ]Gù�ÿþ]µéÀ(çÁœC0çÌ9sÁœC0çÌ9s~�†Ð�s4²Ã˜Î!˜óÈ}ÙC0çoæ<„„|n¸¤G™úRý¤§šúÑ€Çàx–5ÆÏ³KÇ}Æ¢HZ=á&ûwRxäM:öÈ¡IÇ#Ã?>ö&ÏòäÑ»â½ö|Þ:®¯ÞýËùÕ§Âûú˜«»
-=ô¹zl*ôÙô¹º«øzìÚó¹Ô
ú4è¡¿Õ³êouçe=ô¶úßñ°ßðlz[}þë¯¿¼½ùæÍùáô¡ýyô}Ú»¿×¡qÁ£0ìî¥qÁi”§]ìÿ	W­ì|Bõx�Û û`ÿò!N­NˆéÛW¯Þ^¾ÃÎxsùòNí©I�ßq¤?+á‡/î3vËâÜOvåé¬ËÁ‰{äNœÃßíË§ß^ÞÁÔ.¿ÿÐÜL¹zyÀŸ^}ï#:qiïíog=„™u—‘ìoú>„å;‡?m¯á�|ümvË#véžšãó´Ãå¹„?öÈ!üñ<ä§&á�Cøã1ÉõCøãþxZá�;„
-á�øýGôÈÃwÉ	¼ýâò×¯ÿt}ùîò§À�<ÃdïLè!:ð(¼„Ctà±Z‘pÄ!:päsÝý?ZTàAÛãüÃ_¾½Cû°·ïþz—”rõ½óÞ³n«ùœ„Jbžc¿É½ùï)·›¼sSÍŸY»É7Ôÿ{&uºÃP·G}âï²,ÿ±÷XþãM‘¹½:4>z•ôØ5ì¡éÑ“)6½/cè�dÔ¡[Ã¡[Ã�6�C·†�
äÐðè¡Œ�Ç®9í*ôÓ*ôéøÑw�$?c¨ËcY”Ÿ¼9ÏÓY’úèè‘£�†gˆ>ºÃ˜žúè¹`�žòèïß|óþúòõÅÕù×ŸðlÕWË>Ùê«w¶æ{ç„åÖ=çÅÞó£znYÆ×·_¾»zwñ	ÉÞçîqõ®®ïpÊâžÇ[öóúýÍï.Þ�‡‘õ·Ü¿Ž8öÆ(|sþöòŸÞ\þŸ÷uOî¯ùVw=˜=ý‡=ÅÉcôqî"4{$ë�úáQ¬§í9¸�7ðàÜÀŸÎ
ÜÛl9¸�OÚ
|õæ¼ZÇ×¿½½Úÿ¼�ƒ#xpšî]áñôÁ½‡vð~àÁ<ø�?ðoõ™Ò3ôï0¦§áž¸çâ	Þe$�ÞüêêÍûwçŸ°®^àíóðÍžbõ^Ú-<â1=•Ãê­#ÖËqhq¨
-WÝ|ÿ�%d„ÏM¦=Õ†¯®oo_j7Œo®Ï/þüÙ±�n¿;¿¸z÷×¸C”îi4ÈàXŸÛ¦ºÓ žÊžú'0âÓÛRw[‹g«�¡Ó‡){þÄÛoÏ_ÞþåÅsy?‡Bqá›»õ�ZÜsï÷¬{jÝ©Ú²ÚÞC\ßvÿ9‚½}Ý«W¯Þ¿½¼sSªÍ}/øo‹ÎæsS\wÖO ´�²{ËÔóÿ¸ºy‡¤]»þÞ—7ïÝÐâòºþãNù‚îŽ{¥÷ÝN {¦ÖW”Ô�¡sØ"žnã°ƒ�ôÔ
¤çd=XëÌCwÕCwÕOŒòivW=XOOÍz:O‡¶«?¦¾zì*øµ~2ù‚û´–Qõ»®Îþ=2yûÕýrh¿úÈ|‰CûÕÔ]cÅ�^{Ú¯TèãNL?vzè`þØTè³é`þ“·´}üNÍAƒ4èSÑ O'Tý·àGï(bh]�ÌŸÃ’ütßñôØâ¹ö?z†'ŒïÛZæéeºŸc§ýÓÜO­³Ó¡Ãï�ò7çõQ{·~x
-òÝúŸ]¿eß!ó×þ;Î.:à±kµ®·¾ý4Dð)û‚×·o~³Ç|Œ‚ãgÐåYÙˆ÷Z
-ø@êi·9y6=ENö6ü{S‘{	YÝó˜~wÿ¥Á$žj;Ž;[>Ï—å>æyâ‘§Àzýá>º…?ƒ\Ì};¹§û[=Aûû‡pßc—�ý˜ö.£|j[êi[àÏNï‚çþíÕå›ºzó¢(�e�ß�³ÿ?…˜§?Þ;‹À±u· æâž‡köþõÅïŸžPyvÌv:Ç?vûç»=<»¹Ÿ‹pûÕUè¡úoÎ_¿}µÿY�‡ûˆÁóØ�¸XØrˆ›<TÜDì‘ØÜ‡ÈÉr�ˆÆûüúú,Íc™’Æ³èøŽ‡ý†r€Õß}þk7|ý�¯_¶ƒ¬@J |ýÛÛ×ÿRÁ–E'BþÕåŸ®^÷8úíw|F”?}ù×›on¯�~ñÏç×ÿùÿ½þåÑpüyýÿûËÑûúŸáø÷GØùïG3lçßþZÿñßê�ÿ}<œútü—ãxü›ãÿñ¿†ã—¸ù÷G'Ãiô!Äã“àNË4¦ã›£xZÆ!;’¦œÊq:�Æàê5®œºâóq9ƒŸê.ŸŽ1ºã‹#Wosª¤tê†�}<nòîÔMC%Œ§%M¯H)�õ¦0œæèðœá4�Å×”J}õ©s.b®^úé?¼©’|ÉÇáT(õ!qÈãqýëÔ÷ä˜Žë[¦qCý’’ëûüp:ŽCý‹?õãXŽ]<­£óÇSý¾i¬/Ï§a¬xq”O}(ãˆ·!úc)Mõ•uBâä�O0™9ÄrÌY+±ÞsRG5ø)�ëÅ'õ)%×owc½«¾çd:†!NxQLÀIý–Á%‡o)œQL[Êq�µa¨y‚ióf-gÜTGÌõ¨³Ò(ëR¦àŽ}�rŒˆ„:9øÐ”‡å]uÙ\	˜Ü\_Z¿°>(„‚%©oË•?ø¶àdq'îóé´~u½¯N`ŠSý¦úÕÁ{ü¨_ëcÆÐ\ÃDŽˆÓàq_�Îà“|Í0úú.¼+Âl�ó¸â¾‹£·G÷u•kïâûï¾þE}÷€Éÿå¼Yõ«Ï/.Þßüþö]·×Õ]ñå·çß]þêúòõË9÷í¯¿ÐKþû/ùƒJ„zÑçgg;/ûÍ9@¯·¿º|uûF¯­›ýë#w¦ÊKô•7n*å0zÙInÌå8ŸNaÀTžH.Œ•÷êzqŽ*»™üíë,yÏÉ•�T§ÍÜ4UNŸ*#—ÊúÜ~átœê_¸“ÆºÿŽOê×ÍšÁºcÆS*ƒå±n©JÀ«ŽëJû\²l¤Pê‰u;¸ú½~:
¹~\ý€œë®ôuÀ¿>GÜáCåûº\›}œ°å¼K¼é|å£*\¬«X™ Ç	»¢þ!bR 9\Ø´¥>»NÈX cêŽJ9EbäøOFÌUe^LZ]òãJð.bLc½{$·•P?
ïÍiòº‘òXY¿NIÉØ˜5Ê�éT6V©Ã¬\ŒÈhàþzéX¿:ç4è6âc«PƒP÷~œÆÁ'»(p‡Äº*®®Æ‰ÇÂÄmQ÷ÞU7AÆæ­1ù‘Xç.Öå¤<Ì‰Ò´rÌP·&EæTål]<½î¢1y‘*uó“Tÿ˜!`ëî¥¸SÕ•­#Z36Q]©*?÷øT?´rc©ÜŠ“m_êÕ½^Èžõu%BüÖýHHà,`�.Ùé"‘É±¾œ=Äme´4Ž~ˆ.	3Viä±p•2åhÎ#¤Je>Ì&ÑUª·øù
-É±ŠZ+MxÂ³n‚ºqªX¬3”„‹ñÌb€VñU9UYV?ÝÕ]B19Ué;BaT^Á
-¸¡O‡º­øWõA�¶ä†úoL£ÇªÕ‰Mc�X|þ” Ôê‚”4�R‡áçƒËªT
†½ù]—œRy¼N4¶ÑäœpC€RÃž/NX±Êo\à¦@Ý81E8»×AíU­ˆÝK¶‹‰û9Œy"sÎÀI©î�P’0¹,FK¶‡î
-‰¨\*Ýñ±õ�Ua¤ ÃðEY±ŽÇaé\�Ïu ©ê}Q%Ÿ•(‘ê¨6`6”òŠíÀ‹•™‚…ñâ8ÁÆÀr�ØsuóÔõrÇÔóNXßjsÏo¬#ñžã­[íQ?ÎC@Õ�L$¤z÷@	æ(6OåÅ:³#$ne,?VAÊõÛ²žÆª!}ýô¡Þì„dqUàx©¾Ç§‰b®îê*+§T9Ñ2
‰&Æ j¼²é0ÖÑTM_
-ž�ë>ª“[$‘œ¯b�3YùÅ4u-(ac$(÷‰Ì—hÇÐJª‚aÖ©r4(F7ÊkD Äi$3Ö%±Xb(¦¦—s¸Ohœ`\‰ÜûÉùQ¹Ñe|4>Iäb.u	êGbç@“SžW~¯›¦N´+ÊŽ)æ	†OÈøæ
K×Œ	Á1@fÖ©ËYÌ„:wŽ,ç!ºë*ÖaùªºD.¹P…N}b]åF®"¾²2�ˆ]l�ºLX‡�«ßªì?Þð˜±ŠººïG«…ÀŒurÂÈÝSª¡WW¯TûW¿&Žß�½]75x$BÉ¤;X‚u°SŽQ·^5n°JäÎÊpÕN�ÂŒž6qÕqˆ4o«b�êÿPÃ�•¥ªJÜ˜Šð"lèÄ2R'W]ÉI“£øƒ~©;ºŠ6UêU~
uYaªÜªu*ëGùcØÂ®Ð(�)s$•â¡Ì¡ØÄ` I‹�ÅgCŠ§©®&ÿ+ÚÖuù0cŒ“Y/®3ëT©‰X…ú#dåE±DF—Éu'ÊøXDäP™zØ‰ñ‰µªñª˜sftÔHØü¢ˆ
-ŒuŠ§j·++Ö'N4J� öÜÌIäY5(üªèJTÈÕ$ŠªÜdÌpšQuñê#½¨ò4EîËas.ŒÔ^§ @Ä¤r{Àù©Ó½á:°"´â„!@†*Pn ãÆïõX¸ÊƒubGì)(˜‘¾ËTdz«‘ˆÝê`!ñ¡ªš¨�G^ás]ÏúB^uÁùqÂ…õe´jª!Rh+:HuO/Š
-r¦Ž”U}IÕwŽ¦R•{•«À]ßÐSpëž|f�ÓÓ$wTá•È°[öäÚÊ5UÆÕo�
-v¶×l 4Ž>®
-ƒRyl8L�Ûh¬¶…|SVU‹IñF”J0<èØ�“˜,ÙeÌYtÜ´ØÐÕÜ1«Õ8ð¢Š}¤.ŽÁÖ§n¸jÁ:eÁª^ë×CýˆìKºSªJbÍW–Án8~q�Å"-BU<�EÍJ*gìé•áÀÉ}ÕøÉ±uàAÌ_O/
;1’Ó«–sÂÌêTÙ<UkÖÉ¡¡Sg¹JQaÂºVnÂâ+t3'ñoÀPÕ;õ"¾V­šUÀª*ÜÓÕNÎ”}£ó­j¸Ä] ŽJ#wdo5F·&©QHF¬b¹Êm'&
”!|–ºnIDÿYç¡n�(Lå`ñNP>žê¶ê€öãHÝ$B™š${ù.Wªâ¨c	jð²œpž0r5¦aÂ”R›o€o«–B•J4¯r©Ž+
ÃaiW¹<SwŠ3U�ÁàEÉÉÜˆ�vvœÀQõ´Pe­aöM˜q$¸{ÞAYSõ»úÑÕ´M5§ê8!šãd[à+a8×
3”¬±ò²§ÖJÐhi,�Ã@À¹‰‚q n•ŒPI§©Ø~Ið·Ñ8ƒ±LÖÉk,_zù1ÀJ1ŠjÎf=‰·—«À¥\³yÑÃ½û8•º¬7Ð~•áŠxT±JŽzÍ(^Uc �G]8À"«"¬‡}Pg†Ö;¾fLå(Š”a +åù²b®]·xu·(+Žp�Œ›rªöÈ ŒÆ}¦Ù4rÜPFzÆÕÀ¡b¯be5œÕz­ï¢óžØ©ò¼^HN¤¡Œ€Pà&ˆÂUn¥AMÖLMéÀÛçÎ†a’E�AÌ"LlÂ:cuâ•–ºm±k©2¨J0
`³RLèŒudÇ�UÐ:X¨j×AOU.I¨¨þÂÞÄJåÅÑÑ	ªŸ%a$(ˆ,(F¯ð5`ñ¸aÙvJkb¤×ÁD2\e.ÑÄÙ±8ùzÊL¯÷ñ‰ÀÕºM”¶Ù9áø)§@Û¥Zê.aÐ0o\š”?ëò»cì8£yñÃ–|Gf„hIâRUð`ÆIl|T†éQ¿Hy¯je/q�Ô ^)ÜXåAÈÄ¨jƒQ
êŠŒ˜]JjðãO“p"‚šÉÃ¦Bì
nqõœÁˆU"ÒgA±Z€ŒÅTç¨@W5À‘>g:ÀÕœ›ÈÕÈ”Pí”'1Pf1e\I5×�ádT¡Jƒ�zŽöM‚$ÁFO)Ó0R¨ÆªÔv÷ºpbKUî±ê´‹ñlñ×‰N#Ã7ÀV^µf�.8Ný0€©»àÈÂîG¤Y´q�k�˜l4¡X÷’D�ÇÑ«³;Â7€²!ÏgÆ°±ÅÇÑŒ�Df‡Ù�¹°õ¡ttÀ‘f#~C7aMo![èuþHƒáÙâ°uÇÒQª"U¤>x*Òãóa˜D=�pùêÖwÉ^«ÞŠhŠË�52Še‰b‰ÞI`>sŸA{�Ìc|ˆÕ{ÚÉÍKD°jq¯#vCžL9Yl~’°³ìe†™Eû—4Eó;¡tN¯‡âg0ÈÍØñð¦«m#S_¢D÷ ×Õ¨î$B/ŽtJá‰qW×)‰#ÍïbÈ^¤{2kv¬û‚1zHí½�nãíœ Fé‹Zc`‘y
-ákÓ‘ =Tkâ>b(eD€¶jç4DÖ¬š‚º�R³Ðš\�`	Ðæ9¨ÒÜ¦¥Q<Œáù:Û×#j
-cIB³’ŸÁywÚÂõôj3ÂÇ¬/š4>™œÎ´cž£ó SÆ±ê-,ŸD²yXª•G¸Ùqe{V;#Œ¥jLnm³á¼çá3V¯³|28ÿ‰ úç¯˜g“Kœ8>cóÿª91'91wü¦ËþíåQ>þÅ/�ÿíÿ©Wìïžôš9£'¹¸]Ù¹Ë7ß\¾9_¤çv¦ãÜŽ\œ§s'ÆDµJëN§YQYÈ(g�B§ùl¾om¾ó5?åw°Î£%#‚`•“€Jü3…-÷(Ši„7
-ÎªR�Ø¬VX‘†(ÆeªÏIÇäU=â�[´%)«ª:ƒ„ü;˜Õò›Ž_ÐêpžfØ”%m4"�8%¢•½Á@eù‚òw‚EÁ¸Êí1L´ê¶ÇÛ‘¼8z5OS1U7ß@ØDÆOH/ÌtH”zœª:úŠN,G
çŠ/s�ÑP‚„hœ†¯*Õª/cEHuXƒ3m<ÏÄ½�7¦�·Àø.ð1#£€®V¤Œhkl>cÂRV5U·?f¼:±XÌ¡øñã„ÉFôŸ¾cÆnÎtc‘�§0EÚ¶P•Pw}¬¦í‹£Q1„r«Çâ*ÕçwÂC!�«ªÆ¾X
)0�+‚¹NÐü˜Âá#»Pb]�
-/âÃ«‡œ2ž„R�äKxÜ‹íÎtÀ;xëVèP# Zm˜h…)#úVE Äç0qÔ-ˆTB�r™À~Suä±
-Õu ßP/p}#ƒÂŒ3øWr¬AMc:ƒ�/ÕëlÓTÃ›nÐÿ4ßxMÈÔcÎòHËo¾‹/Fn"Ó§XCdO˜HÍL�ŸQÉÐº™Åðàµ�±Ê:<f�-TH£ÔEp­J	Ñ¨¯SQu·l@Kf»¸câç0Ê„h1ƒjž1„€¾¢‡ƒŒ[NRm!ÓµÔôò·ƒ²U-à†‘«íU a^iAœ Qg 2g`X¨ÅüyòòñæŸ3‡ô§FÜ]5H’¬NCòyS
-ÿ{C•ÑT¹,|Àª}�`iÔümæ§
âéˆ÷À|Ò‰¨Ž®u€GþcA0@rèC¡…¸Ü?ÌßpTio3'Œ ÎÍ‘8¯E’uta•MÙKE,/Øi²öU’‰Ô@ì9—Q‚GL(V�¹´P‚eš
óÇ(¬!Éƒ:[«[)Q‚ˆK�Ž1/o@ÔöÅŽOÿÈŠ×çLä©úŠþeH�7Ð{Ef2DÉHFÉƒžB)ƒO\îÆu$�5¹±zWgø’�RécëLg+ƒ
-Â%h.œªydŽÀVª²œ{Ä&«X—©÷p¡·#gºl;?Û9\Í4S¾ð°…WC€§H¤”/¹RX"‚7òL]²©>8#‰ÜÏ¹«³MR&©û€Õ”Œ	'
~Hº1@ƒVðôï�äˆ �†’Åã÷
-î)Ã FDÝŸü\ˆ�ÉK —,N‚äˆ\”P}AÇ@{‹C4“a¢ u-’5ø[7;Ó_1Ó  Ä|ÝO¯ŠÂ�	}¦x2c{°ÖiXlÆ÷N…W=rpu)&f‘8õ#ýIº£â†(:GÞûGfžÁ=æ£G7y$�ñ8a—ÈÊDÁÌ¯Ëì0…F·Œñ\f­Ò¬¥�Iµ1ºÖ–Ù?’�Ž-}’N5Ñk«
-}*Ò®ZÜsL‡’—¹¤^Ã8üQ§®yûrÞ>jÆ0�‹�Š,{®	Ë‰š<¸ò#£tm¨À0gŒ£
-e1'°88u§—	dÆî}]N)Æ� ¦*S^ìø†�";?xóÐ³#	ÊMxõÐb!©ƒ†Ë&³×sµkF7³¾ZÁžè.¯Ž<ì8Ø«Áœ	)$Ú¬ðd=™§CÊ�š›¯óŠte]¡ªée«1ö1 Z #ñí6èÆvN°æ´	Fbë"­¯%
vEáHÚ
.i”¸ÌLÌ{ˆ;@-žC)¢¬3B/©ÚìÜ^Y¬òýÄ{e@Hil‰†µ*‡ˆß~<ÌP
S½¥@ÕÙ.˜'*w"“d…¾’ù*¸ÂG†LËÊªŽª3õÍqQ¤àÉ‰†‹XD‡ƒo
™kºš¤•H‹‡ßíø€Õ®Æ Ð.§£ùž$$áBSÑIª
-–‚9Œ¥ÈÜ�±ò‰FbV0À Vá$Èä ˆçHÞ¼œÙ2Q_¥]³ó‘m–˜?&÷ÅÄÁVY;
?HšÌ
-³ÞX¤YšÈ¸Œ7é˜€”)ÿ‚(½g‚"';z´³%±÷²U©Ÿ&yÓ½¿³T×ç+q¦5*ä'1˜ÿÅÿ"‰);G2ž>”w±V_Y!�Ai•ç¢üèQV9à®gâ�æ�jK1÷S”Ío€o‚täp™½:!¢o`žÅ»Ý_°ùÊÍ8Vc•üÝ:8XiRH(Ì9†¹œdÇˆšeÆ'‰àuÜÒôžù¦	±[OŒß˜àq0¶‰È8/dš{á#È3L‘uˆÞzÁy ša8D’û‰5¶±œ©�±"RÎ|ÌÄY^Ôh}1D |c$¤(Ñe$ˆžz‘/uÎ
-€3
-:šÌÎˆïŸDM:dJ¾€¡Hí÷Mp|Õì§FDðg�<Œ'À›6G5ÿ§„FÝé’C6óÖ3Q›1­áT|¸Ž"ø�.u’»EKQØÛ˜_ì˜‡k]$ƒP4Vly,\°(’°3‘0?#"êHs 5�1Âì€Øe : ‰í'ljˆl0›%¬ ·ú7À”„4	v;CÊ‹eŽ�ˆðÆWÀ¤þÁI4¿>	Ê«o]÷íŒÍäƒÀöb/àß”Ê«Q~XH#h
)!yB�èÖ b‹<Ä¿æž @ÿxD\²1²=ãù‚¨…è‚Âðü»,â¡I03�
�âÌO>qÅ¡È1@Îƒ“ü0Jt‚™"…ÁŒDèÄ‚“­YýêB§n=Ž�‡fètáaª_À¥ƒÌ©Û‚QÌ.ÀÍ|Å`ƒ“”V•Ó‘Ø%PÇx²¥$è#,IÜÒ†Éhx/ y¢hV_ñQ«sÁBàeåÚ[†Ê.<Ž— Ë›x©ƒÒè9É(0ÞFuïÔ˜ÿ-ëÈ;P\¼d d�½ŽôóÔ®¨û×óßðP€q’—¸ÎvÞ™D9ë¿ÅQ†VóRó –À(�ž$&	çšv&ñ‰‘Á#î{°˜slUÈ.'zmÞ‹�”J¼ƒ¢Í“¡/áýéà!,›é÷G›ê&Æº�ÃNˆ¸ó)nGŠCB<°·w+_mâw„«zf+)ŽãÃ.�¾Þ�ª\vŽ‚.x6ïxPgøÚè¸]™b 2‰T�´‰~?rè…trDMnÂ¥`„MHutÝŒõâh3›ÛÌ*�ëø6L¾¤3®ÑBU±”I^<Ü¶C5^±MF«$âO½¤µ6QÒï�VaÔM”u‰•}eî"—1"è]÷=p#üp.fãª‚º€h´º„uMšX²R‡g¨'æ ²c’ØF`ôTÔX¢9ˆ€C USsáNˆ;«ïÚpÏ‹£
��íæÃÅ¿?ÚÆ£7ëuT[`¦ô…W€Lò”‹
-eP`žÄ2`	zˆX 7xõðü´
5sß®ÂÑë€õ&¨M©Æ²ftàÐgÎ†" hs³V•èsÒ
-‚Ü¹²›gží
-Wo‚Úg;ßËàø÷PÊ:W�‘2*1ñä�­ÌÔ]Íï§h F.8,J‹QÃ“Œµ€"YÕv¢Œ9ƒ‘%ñï¨ë‹t0ß……GZi3!¶YmaöØúæHf€Ë3ÐeCwjTgnóQ�j«O?#…ˆJ`V è‹EÎ“‚-özzÓTÝ©J�0(8ŠkD	Ò�Í‡ØV–zU4«1|”[¶ùäò °üU4b–è˜fÈÅ	|›28¡Nä¬’¼x QÁB ˆìyšK°Ø�¤.l)xJ(©V++2š›$�çiEñžÀ`!ìÔQä_RÁS…�€F=ˆ
->’–€0*ÎOŽŒÒxuG‰°ô@’06­rÍ�ÂëN^ü:¾¨~”¼™5Ur�ÓX¨·7Ù•ºIÖ˜uŠf›Æy±c¹Î>&å·!~Í¥¬ëdÁ&¥ ¸(á¼ÑÂßåQà
-ô�AeBºk)­<TÈÕØŽg`ÈJÐ±“jà+a kŽ;ÛÉ—ëéøþhWŽl�GÛ‘‘Ú•·Ú$·¾?¢7›	Y4Iã
¾åi~p^2C†x8·6}Þ©m÷˜sÙ‘¯úþhgVk›ùZ%™.d�%-P„7öW(Ù´#ÝsñÑp4\e:(X|2FY¸ U
ê¸
Ax�—x¬n\<P{c_ò+ÌwR,%°Ii1-´N|m“c«lÎ‹ÝŸeZè{„Qz®ÌTEÉœh*#	–ü„!.�É /�”†äÌ„]f�7 [A„öW¬`dtžÐ»"i01pù  â"5@˜Å”5P1JUHbHŠ{RàRvÑµÚ,#Ë¨9…%}ÂY"�0Ò É~/:^°aLh©—4ý
-w“žª}â©ØÃLô1YG�¯b¦åòøí:3x¨‚Æä¤â$L¿3S†ë™ÙÎÞfŽY§¨<GÞH*È¬öºX5„TVOØ�u7QVYŠf!f9ÿÈ(¥3´nµMŠÓW	îN-¯éÁÎt wf2u²Y•�ÚâàÀ¤	ºVCIÑ$T‹±0|{BuQßûGfO“·«Õ‹±±20?”!Ân‘Xš¤-Y½)÷ÁÌ¶ÈSÒL#LÆ(S¾b¦Î˜†¼©5±9kã×ó³�ÃõDöX<‘i1Hn”xl‘|
-¢bž‹”$ðølœMÖ^Ù²Ë¤ì÷G;R·Ûôî&I*U²fÐ¨,–Z�€æ“6ëùñÄß&zQ&±
æW	YO%Ï5RhÁÛf@P~ÚÏPÂ’ôVÎšM›øS	Ô|€vðÌ†­–¼÷bƒnFMa;[„­-�fÔÝ�b·%Qæ›ôôÅÑŽ$ö&Í½N…kÓ™•Aìˆ–ô¡·’’¤ÞÅÄaÙjÙ 2˜u¯5¶KPÝ÷G;�wlÞ:%­pâEÞz›ÚÞ‘u´Y`òDÏ[Ù<H
-	Vùö9ùuæþÅÎüþ:CûýÑÎDî&Ù»ÎË¬¬’ÑÛ„õ®´vQSa@é`(8ƒHÊ(Bè§hÔÅ,|’º¨ùƒ)„÷3LÌPÀÄfKWŽ[¾„8„Ì¹„èN¤à;–]ñ#ˆŸÀ¢(¯µÆ\ÒH<b�eªÅŽ„_$­‰ñ0*Ëé-rJGÉo�d�Š• ‰ÈŽ’}1¿
ÙjÆÍXdƒp7€)ƒ–ÝH¼¿M1ï{öƒ“Ì�¾ZˆíZmVôâh'œa
yØäÔ/Žv$Þ·¹ùU_Ë4<cÌ)Ë¶„ÍÏú
-1Ø½“­ÐÉ9hSFc çXÃQ¼¨ŽöWR
NÜ:j+Š D&ŠfLeT{É7¿QÃ‰¾-#Ÿ’Î“€wd÷‰
¿|>BóIØ©HÂs¢WVgF</¬-,®À\â¸`Ö{›ÇQ#Ý°áa-:õ,†r’I5fTIì_)-EƒõÁ÷,IFÍL]Ä$Ð¨äûð"îx@TQ¡‘	–q óÜHJ©¤ÃÇ¼uÖj^E¶,§~³8ëÐ€vImb‚äßšÄ£€½´¶PÐ)õ~Ù‚kì…èŒ%<cƒßXa<äû-Å ýXéÔ’Ú‹–+­êBB«ö Z�#&è³DQ5QFÔ‚ËHr0h	:gÜ±Wvj§Q+zƒ„·7ì âhÍ2¦Z2Þ‹Ì¹•˜h%DKÆpb ^±F¯#"zDÉp²‚]ˆHXA36à�Àã‚�¤ùI… -N$”@*ºYö,0‚
^PYòkØí#K]{µÎ�s¤FÿJ¬…�ÉV*ÍqgTêK·	1ä,|L;LöHÒBmóàS°hÍ÷Ev¡M68ŒRâû£5–bƒµX£èdvî°	mÑ³ÏÊ6Eë09Ú�qì{
ÿIs²Q‹~‘…ŠÎI‚×1AídµÛ²ÔM9M‚€Œû$ÉÃ‰)MM•Øè…÷$é¥Éo‚žÁj±Ö«¹ZoaWŽBÃ‘:á=½eãxÉ
-ê³­–ðãz#j‰ú¨Òá†`^šöãìíæë�‹ãÐvÍòr6µ^Lr@¢_VÔð'KÀµo–ìÑBi³B½lp1+èŒÌ³ìÆ"B,ƒ âK&q�•`×©±)ì¹Nô!rp]`Sc×3ÞSM²‘-gÀCÒ(fR‚YpNiâkxRùBL¥¨EÿEÿoÖ„">¨Ä,Z¦Ç€ÜDA[´p†¾ÿ]M•T¶ogØeõ…›1¬Ç)1Æ*YL…·úõþTŒ4´X�)Šù¤¢Ä‚Q�"=Ä˜žï�¶°Ÿ
0h'vH…„yŸ!Â&à�×Óôaƒ¼î)1>'t8˜$õëöïL&ÿv¬šBš’[`Ò\6ãÆ.E?á9šè„Ôó“\E›n†h3Ú‘Ö`¥‹9(¾�$Í)I¯`<V,¤ ÕÀ¥CXÂÛ#³äYv¯ôõ©|<ˆE]Ñú7Â@¿æx3W*(T]Ç„¤m~ q–&6Üt¶Å˜Ðž&Èg	NÙ¤þMaóEG»¾z=®åÐ‘{Ÿ�X<v'’”r)Œ­Ê&–DíÅ‰Ü¶Ç
-ÇõýÑçµ€�}AµSoAT“îh?…ƒæl%°c‘äŠÌ½·Ì¾iÄã]f­;GmË51‘l j2-®ö1×ÂÓ�»@c+TÙt¶†¥]ÔQx›"VÃ#tˆ�/iË¸z±Sä
-¶†Šõ`²¸Ùz.¿ÿ#ÎÉ‘ØÞMË»&¢D¯²¶ðÛÎâzž×ë°^) T0ã©FŸ
-ƒRr(¿56�Ý
èµ5¸m	~c»¶»²N¢ÌÏ‡ ¥yÐŠ¡’5™6aºÖX4bR–hµ5šm…wã:ÒK**·a8âGmªŠ$v—¸¿8ÒÎ	»k€Q"yZZH<b£æ+_¬îÃe-k´–¸ K/…���ŽGÀ
-ihƒ­D
‡¼8ê(“¬qdÜ>gýy@{t_¿ÙzèìwA(7óŠv¨dY¹‚©³()¸ÝYÝÖžíû£
àm	‡[Áå^l&é#àGìõ$]Ä£»AŽ^2Ž•¤ip�Š )¿«°†3lðL¯*bÆÑ¦?N`�Ø±£ˆ¦„Ug„3é¢ò1²£W©ò<`�Ø1ð’~¦WAIPÇLüÂÛŒo&
-à¿¼?rÇ_´¾Öªj…!6¶”éØ‘=ŽR¶;´w^£ðvõVp,Üµ‚lm@]àšŽNÂÚŠ‡A¡2+(nÚÀu6€ž¾†8Ž%gƒÒÙpVfÍ|î\-îÉôù‰Å‚S	ä„ÝRd
-îY‚W6è–]˜]@™-˜f“¸8Ú¦Ø.Ö b94Ê®$t¥tn™Çç-ëTÿ°NQ‹Å*œ”4ã4wä¶–{Û¬2Ý”uîy›ŸÞd±9ÀØj.'É8»AsWâÄnR›¼k›ÿÜæHW¹3Im®2l»²pË}ØMag¶a™“ÐPæƒÜ£²øÔ´ÛÀ¿&¶é�m
-a›hØd#6ùŠeŒZ^Æyöoâ72¬Í´Ñ&Î+·¬cÁë`ñ2žÌ{ê@FâñÄJ¿)XØ:¼ÉõZ…@wI—Ñ2Þ$ò1éÆª’�ðÝ¤–Ý:€Ä[V1¦uj@!Ã¯b,;¢0Ë¨w×Ä`ß¨….Œ@
-Œâ§­;¬`¡…Ë¼ö©W^7(Û¢žeÕÏ¦"æâhíó^íô‹W¾óÆÁ†lô"8A‚Tjn]GXº�l…¶ð0×èÊƒØÞº¬
-a–^´ÐÒ/ZûMkŸ†ÊÒkX9+Ûõ‚Æ,Ø]<˜tl8»¨y–µEzq´µY×6íÒ £�°¨¢XWYìªÃXWj¬+9¥„8Óx¨!üŽÆÝXxË¦cËº¥ËÒ>ší¿üëì¨Ï¿«†Ôàd<¦îXjP4G„ñ/±§ÂéIº²É[ Dšçb`‹!Ÿ4<·GÐc‰V¡;¢ ƒÂÍ2æhãb¸ôQó)èÄ!�‹õ*j)o4!ƒÓtÆ�Âåf"‡ŸHé`�Ø(}�*«BJŽêÙž1¶HÀ‚i’ÆèØpÝkB~%O’RBúûì¨�°¢ÖœœÍÂ2¨kFRQA
¤^R¦³hS)WQ”
d²¢wª�D,xšŸ!çu@WÒÌ"M~¢u‡ Š1&	º[ó]Œ¹¨½8?R’@Iš9×À%H´“‰ã²Í“‹+#v.VEº¬ÂaÍ3–®*Ô Ï“%hùÎ¨kPÃŸÉ6‘�!-¦‘žµ†å„3½”Ëd]Ô‹œ¬�4˜Ë^ë•ÖŒ
-ì_×ý¼¤Ó•Ì£ûÌF1Õ,åT}Í¢I9‰Îß4Bà‰ÔÎq’þ³äŸy’ŒBp¤;Ú.ŠìÈÚSAßCµ&hŒÀ¾úVbÏëa$HcùžF²¶ç¬F¤XÖ"5RŒb¨ì¾?·}Ø&ÀAå
-zÀ;‹–+l_gð—Ð.
-º§ì)�0O€QPBd† $à´&¬›#A�É5’}q{ÐjLœÊ¾O°‚`7ÐÍG”1+U)ã°_h>ŸÍ—!<-2¢Àb™Ì¤¬vZwc»ª=ÿlÇ;ÁÇA›5ÆVysBÝ6ÚY»c�ìÊ5;1S’j¨ù.»&6�üú]È¨.§#šà²Á‹X$(Ÿõ2/ñ[‹�H·Ž�ºìÏöØ³í›ðzønNPöLtOYC˜´ƒ¿ÐÔ�]‰èYqY‹-Äíi´f]ó|]{ËÙÎwó›¼m3+YÃ
-è:Q34.avœu×EmÞJœµ‘JGÒvÞÝ­v™½álÇ[ÏÛœÁQuStmžD,8�$œu—yMRedÏ½¶ U/:O‹{ÛuúŠ³í[õSkb½ƒŸ" g`‡jÿv•õ2>“¾H’Vh¤ ÓÙÝhWùy–ÖoÔÏ�vnî Ê#ø©~æ»ÊÉÊ
-i`ûþŽÕž]Ü(WÙãÏ¶oäg £!QD©aÊxây6_ É¡ËÁc/Ý}v‘=ýlûB~…cÇ$@1<Î½#�'R�ÍW™7JÞ�kÚ@�Æ/kw¶ËìgÛwŠaƒ*™Òª
-yÄÁ;©™v¬;›¯ƒTtË9«ŽXÐÆILÛv¯]Ö^q¶ãµglB Áë©ŒÔ›Ù÷²uÎÚ5žÜyJG±{ŠÄ”ç»ìšÐv÷ú]ò~/m&¡vè’1ù'†™Ó²�³ù2¯Xk<ßy­x�IÉ¤™ÝØ®jÏ?ÛñN±’¦·ÝéoÎß\œ¿=~yy|ýŸÿ÷æêÝåñÿüÅÅíëãéøíåÅ»Û7—oÿç/½PÕù@CT7,;¢ºa8ž˜<ÐM÷Ï3ù'ÿëìhõs¾è5
ÁºÉùŸ_ü�ß×¯ûîÍíÿú%ÞþöèDšž9 õ_N¹®6à§ÔNÌ?éŸ¼úÀ#O*èj>ÔîY>‰t??þPÏ‡J‡/�±�í¡Ý“xA÷óã
|(±1òP»gù$^ÐýüøC#\{¨Ý³|RpËŸhâCÝ¼Pa^¨îInZþüøC³¬~{¦›×©{Ð¸øõñ'Žxâ¼Fóµ‡¤þÇÇVð0×>¯-M{„¿>þ´	Oóm]û¶ù)~ZüÒçÑv¶Í
-$\½âdÒf]…?¯õgåîk½ ûi}[�ÿÁMøå–ø/?ôáo‘'úø&w|:Žµ�â¶D'”ïñAb ÊÉ ñ�¢t4C9è­’n"ëÓ@Ìv§W‚´ÍñAZ 5’Þ˜˜Y^‡ƒFåYY)lNo_awRkðk½¾S.JSÉ‹GÅÎ6JLzCD¹[I§ÁÇ¦á(ÓÜ>QJAÔ“&@ÊBre¾ÓHÓ<-3QhâgGy§tã÷VLÊ ]æ9	^&¡Òì:v+šõÕ)%TI¶iô«ëMæ+ähR/%…2*Û­#�q1²Y:Hô*AÊÃh¤"óè
ñ
-bL2ÔºzúVž©AÒÄ–‚8Œ&)?™¦·tW’ž1CŠM9j¨$td3…7"•Ö—q%KÒö­ ÄÑÉ˜
-Ò;»�rôÂvQ’Ã´%‚vgR$,ÕnmDmÉ§äVâ©ž	µ!EÏÑÕoór§Ï^ß ©*�Ä”±cóIo•Ò«î:½¼Â†À2;¡HZfœ5q 2sEO_àw[ÒD®Œ§$‘õßÄ`;Q’4 É©Çd·¬$9ÞAˆÌ¡�X&ÛŒì~ŽIÚ^ò¾‘çG¿¾ŽÀq<M
-§¹³tâ4IÚ¨ã×ü>H<ê¤°¡c›¤FT=fÓ›üdïŒº2¾ÌbÈe�Li$Í�åV×dšäÕŠ6†³Išt~éËÉ”g}š_à­Hv4Všˆ`¯ü+¿JÐî„$ñ$6#:²R]Ò•‘Þ¼dr¦^CE¬N™D¯ŽgSŒ²zè[OâI8z«».êÃ‚ÈA±Øå¥Ñ6ïÔ>WŠx!æå`3¯+GÒâR:ä)ÄyÏ„¸¸è//ÍMnò$
-hhœ�z5Õq£ÉÁÑž&¥ç%ª)3éÍF xh¡»	€›îî~†foáÎßßFˆª+F/ã¼égf“×�}­DÜbÓ8;€$œ/ê€}	ƒàÜMÆP�Áàê;ð€$lÒ;RÛ´aš‰ú)‘§t-n–cùŠ ²H?¥´Oa/ùd;p\ã´¢¤©I�Fó¦¿¤¬¤AeBdÂYÁ2�€�ŸF6$%ù=5™Â/w$“:lYkD;eâèål:#æ-‰H#Ê:õfÉÑP 5=¤ÔDd/$j�LIÌ”n¡q�3¨@"¨¤ÑÖŠb”š˜”#®@ÅÙ*è³¤s/Ç”ÂL2æšf’±*á‹[Tôòù<�]¾Ã•ÙL…–“‰6Óà˜BY‘ú±ÏÄœLSëI3_oMÀ9Ý¾M·œ0·XÝkýâñŒðF²±KðråE£�AŽ¼V9©ï €5šS¾IÒ;$�$a~¯ÝNI
-¾	lYL¥¼’Dªñ¼tCRÔá’¤·J—€ÅuÞ­žåe¾�È%fÔ´ú49£�È:_”w9P3“ÊŸ~F¤ün1wQ6î†ÈDO·°QrÒ5‹Í(ÕÍ5tj85Uç'­\–$ßÙ‘F4¶ÃÓ†¼`N¼Ô¹›æîx=jMc·#¢¼ÜLQN·Zn§8sí|sÛ&í
R¶ØÕ‘‘CÝüftðäwËp£ô£o´¬>ÑÔïdÂÍy-»Ðr1‡Åf2³d±|ª¸úÍ¥´o½ö,ùXÊ` ‡qC”¦�T�ì˜·ýzÎ×RED¶­ê5I›òYÝô¤¦•z¢*/<LÕ’i8¼t2¥ÜYkÀo÷3ò€­^­b¢t³Nn;§×ÉQÎ^Þ,^p§ö%ˆ¿2"Š7VDÇ±·5â©´ð^
i½œ™q&æ™gylö“ZJ¬LÍhê~æñŽÆÙ�~—
-¹N2N{õ£ÙfbKQHrVéÐ„‘a©S4ÒV:�Bbm2IyCé¬¦FJ1gÇÆãÚ–/¥_Ó¢
úqR™'~hV’/¦ž	ï5’ñEî¯3>óý•Bb7ÂîRÙ³ü’x*`ïî‹£ºÝ¸:’ëöÊLÌv§=Ìæ2²Lb9åQÏøè–&žJ_•n£4)h¤^ÝízIËcœ…‘tƒqÒRÖˆžMÙVDîo#Êþ¦©’‰ªÆ<KŽ N¦³D¤T’gIêtÑLT÷×tL%eg¢\%H¾9¢ì!B­‘Fúq‰QŒ/7ÒÅjJHÔÑKzyM,wìŸ(õ—$™\ÔÞên!?=á†	<©¦ä`MÏ¤nRfb›<^ºœbñ™WKA(X¿`bb,•¨¸FjB6oÙÄyaE.°™�ÅX¢]hášXÒ¸xµ…,Úç!ç?ÄÕ ‚Tõƒi,‹)éI½}ÞˆMMŒëp!Ì�—fQ …¡3ÐËra»Øò=¼uÁPæÕ.x�­7DFtHþâµâ¿’Ÿfÿ!:¥5_ZÜ�Ž�zR7'3±Í�=lžàöÎ~!Ú·ÙrÅi%"‚TM.¹©{ÏMƒzO¨¬‰³[)6UÛnSÑ³:uŠŸ14uÚýLéŽjûÎ¿KL¥z%xØÔå]PG4
-MÓ.Ñ 2SK»D)¶&©¥]€O��¢Å¿å„gPFl'ºF2íÃkËëû6³¬%àiŸaÒ‚}¥ø¹Þ0Ú°qj©—žÔ²/1¦v§J°q_
-Êœ‚±p:ˆš‚‰Òæ¤ÙšIÓ<E3QS0xÅ(#pMË2
-JKÁ˜�§–‚Á¬
2kC3>%öo¤¶.Ó´º.ëäZ&jPƒj@·½,–e`"Ê
-)›W,GƒÔ20ÀU�ò
-ËÀ˜7’f`¢´8âÄ9T*-˜@,æSL6å–[±Äˆ‘xk’#Ö—×	t•¯�IbËù�–„Ab.L:ÂƒZ³Ç‰Ó$L#•.	Ó-	“ô˜®b9˜$uÒ Ì9˜¤‡ÛÄÒr0š#Is+I\æF2ÿqZ^µC$H-‹T˜ïÉwFR�±L”Óqä3‚­)í2�Z
-ÆÌŒa°M)7H¾Î‰¢)Í–í\Ð4µ3*¦h°­�h©1~.«ëÄ9ÃÓ¦æ¯e�¶–�‰¶Ì¥e`àœE™�6”–�éˆ–�‰§±Ín²‡˜ýœÝÒ	¤I¯ÌÌ‘Öu±´LT#¤–�‰rpˆC3AÇ OZ2OŠ¿@ò¹Û2A>xÎÀL#tl[f%©?a$Û2rPb[8ði
Išg\Œ5I+`YÕ¢ì+8àJ²LGšS0�8Y
-&i²)N-“ÔNâÖ�Ú÷JÔ_ÍÙ¤±4�4·ÒI‡>#eoÝu‘eBj‚[ZR
s‚c*¼ÑvM´§s™–
-Us0U‹Éâ•Eû†`¬.ƒ!Eb ¶†´íä¨Íêb0’:ãLŠ¨$-ƒ102ÃO—	³c©�Ä[½êÔˆ×Jô9¯n6•hf¢g™‹~‰­0ªQ“­“Ó;Më˜™ØQZ¬¤£iDI
-[Uª;{ãTE”yN%¸E±ÐÂL)êòêšIïïÒˆ6tz¡dy³ùSiñ»"JêÔˆBJÁ„qÒ7‹AµãˆþªŒ²p¡?•ÊM�r^SÚJwDKaøS-F.-…áÙáPH-Úéuå@Ô¨¨W«¯´È©7E_9Œ¡Éž9‰!Í×º{ÑÑx˜/z?dv¤Go,]CJ¡9,Ëb4RŸÅ˜‰"8„4’~»±,‚KÎ¤ìœÅp³p3Ï‡ÓÕH:orþébñƒ‚!hÕÌÞµ&-7g¥H²QÓA:�¤¹‚0Ûsˆæ¬×9ƒ‰î#É 0¨ËžIæ:™0Ÿ¯ÓÚäþiÒM<–.‘š3œ¤8„¬C�Î6T½³˜ÑÕOŠ†¶š>ic¿&6ë£-ˆÚ§¥�šúm‰ŒÀ¦ÉÊ
"füi‰ŒžÔqT#Îœ'BtÁŸ9ë z>F‰ÕŠßÇÆÇmWHÒ~±£´ôrKE¶"_Ü»­Ò2<Ša¹·£Zê�îÖ`Çe™£ô™ŒF3ÓN«—.“ám�õ–¨¿ØP(ètË
õîÅ†2ˆÇbñáˆ{¿ÆqÖk=Ñ
1-Ä;íe\èÌp^ë
-$÷LËX&Cç|ê23©å7b‹�9ÓOs&Ã—¸P‰ñTúæwªS[�z�ºJÝÜ¶Î´@ÈIÝÍáTªØê³)çè@#vaNH!úÂèàYmËñ¯Í˜³gÒ§2ä(ô>V�ŸÁµXE÷ÓÎß;&rç‡ïIš¹³ÒÌúcg¥3„õ±¹ÕÚwdì2DÕ
-*BêöOÁ"±%œ¤z¤Æ	ÒÐÅHÍ5aŠq‘Ó’bÿÅÍ¬)”W´\0™ˆŸ2ó$Û.Ê'ï²ìFf>“º�0ÛŽäH¶­Žãbó…)É;çMÃ Ÿ;oeÉû©yƒ~¦ÙèéûÕ%[æÂÙñeIdU§Ñ„i	J“]Á),dÜ$7v¢�>sÈ�¼l”^ªÑ¬4<Ë	eœ!dY¾µä�Ð
-›ÀG«!5µ m�dìÅh‚[Úr`qs!–eñ
-ÁxðSºÜ�v[>_zÚp\–õo¤E~¼-!%ÇcƒÒRzðF^d¤
-ãF‹¥Ñ×¯ßˆCiÉi
-÷ÕÚKð"ŒlÅDã(äÜDÚD„Üì´tÊ†$©)”ÐR³Ó’vœQ-+Tàg¯¤A�dv…k$½UŽPY^W”‡ç§IT�o
³Ï8äâë$¸Ã1dƒ.l¬ºb–r1+IÏ�_Ì_:•âÙ5QÐ˜W$é)l\·ØBpyÔõ�ãbú’ÄRKóÖ3K­'ù.lfDc¾$‡@÷,Š·†²be|�–Oz v·1É÷nµ«²HÝVÓ	h¬;ß<ï–öŠ‰�–<IWe™D
-æfªu¤~fbÖY—|V'¡›
-­’•i±«,³XCÕcý®J§:KýòKçÛ…8®DÆÖÖD:Ó�|¯ïuc\h|ŠªÔY[à<ÕªSÚ¤ÏŠ§'5ÕU‘%Íwê.I3Ê¥Z”ã=ê3)Ä¤S²I‘8
ÝvO¯¡“‚Æ7Kà¿3ØÛ4ô¼Ø(éŒŠJr¦ [xYÎ<ZŽiËœ-ÃQÎwëyÓG�:VÐÎ¬=ÃÀ
ö~ÅX¨pW42&“-�1Sº@F#Zz¢{Ø ç7ö/%ÌÏÂöqÚ²‚CPÙÕE#ÜÐi¾f�ÝuÍ¢Âêæ’J\½¢í¡þSŠØ4ó'…xuëH@f#fµ=l¶šNêñ¯R¿Ò­�US,V-UV›Y]ûÅnžiŒÜ)mR¶%gš/Æ¨5‘a#’äœò¤¨qÏt¯‘ù›ôºV îØ¹™W3)ÍØ“™Xk)õÂ §peøò(½¥�,©µ…-íñ;|ž”ÞËèbº!JC�±óÐ¤OK·ëƒªèÅ®< h±ëƒjwÖ 3©MJOl%ÕZÝ[Ìb)‚»%³ˆJ·°a6¥HjjÅHîËîäá.[ðI!šé‰Äß.^,&Åâóä@ÚÕ0¼Êýy´râbNfR7w3±íYµ›°ÅžLî‡.˜Ioy±²móúk?¿%CI(Á<^š­‰ã´tôânšÊd¥íùyC³ã`£�†Ex;~êImNzbäö0›àî�ó:tßfëå¥§i¿ªÞ�ž�ºÑ÷,ñ€ˆB¢uMìeÙB»5àÆoæšÖ0×´º¹�µûîZ0{ç‡ß¸áÓ¸áÓ¸áÓ¸áÓà†Okà†Oà†O;€Ëëû¶%pÃ§À
Ÿ6À
Ÿ6À
Ÿv7|Z7|Z7¼žÐb7EàçÚYdø´nø´¸áÓ¸áÓ¸áµig‹XÀ%ôiÜðiÜðipcq]ÖÉ]7ˆH+à†Oà†Oà†O;€>m€>m€>ínø´nø´nø´¸±¸NzKà†O;€>m€>m€>înø¸nø¸nø¸¸áã¸áã¸a$‹ˆLËË¸áã¸áûâYnø¸nø¸nø¸¸Ñ"MÂHä­¸nø¸nø¸nø¸n©1~.«ë¸Ñ"€sðÎÇ-pÃÇ
pÃÇ5pÃÇÀ
7À
7À
¿¬'à†�àlÅ±�¢¥ÕtÜÜðqÜðqÜðqpÃÇ
pÃ‡
pÃ‡À�Åu’ëóqÜXŒÕ€>n€>n€>înø´nø´nø´¸áÓ¸áÓ¸áÓà†Oà†Oà†O;€>m€>m€>ínH‡Ä¸ÃS6âÉìŒr/=å…0ç,´ò”éÏä5eã){+¥^<lí)û¸ÃSqå)“—ž²‘ž²žòâfñ”¯Oyõ)âÜvŸlp7°Ž´õ”çyê¶ò”snžr·6æ)/VP<e#õž²Ñ®—4²Mï)[gá)¯‰£©Î•§ìÓÆS¶0ÑÂSöiã)Cq­<eF¢Öž²OOÙ§�§ÒÆS¦ý¶ô”¹«–ž²‘.–“²õ”×DÑ=iã)óµKO™Ÿ·ö”9Œ¥§ÌÁ.=åÅ¤ôÄ•§ÜM±yÊ‹¥0O¹[2ó”»…5OÙH�§¼à	õ”!­6žòêB±ûÖÄqW/Vk$m<åÕ0è)/F+ðbNfÒÆSæ/=e®ÄÒS6¯dá)/V¶
aí)¯J<åó˜¯¸"Žjî®=åîµæµòóVžrÓb³ÜñSOÚxÊÝÜÍ[{Ê‹uè¾mí)w«êgå»õ”W,!N±Y¶kâÆS6ZWâÐ{ÊnîìàæÎ]7‡Þ«½›Ÿ|ÇGß%•Ÿ#½•ÐyÉXhÚ±¡¹É&£P¢%¢²7¡ó’“Ê#ÌKÆ1‚Ô}AÊÜ„$9%Ù�Ä[-®“ä¶‚¤æQ.óg˜Í$Çd„æ%'µgqÌËdIÁ™Ô¼äŽS»Sz½™—¬Î�rl^²9< ª—œN¥g!O°Ÿo5Ò4OÑLT/#ÐSiœ9JÒ)Ã…ÎK¶dOëŒæ±‰Eš÷«Î™QôÎL`Ñâ²,GÄ„æ%§Óv8Îì%ƒ(wš“ÜÂ¡9É é²ÏNrRÄ+¦2ÚºHÚË…æ$W’ôp
�“œ´ªD=g�buÆÍùÍV4:'¹eúë¤_!"7‹.Áw49›<
-ÍÅÌZŒŠyS¹‘|ç#wDó‘s+ß2'9K—ó��\?Í‰óÖ|ä9ÕÛœß¬èdçYÊi”Ùï|i9ÓwN¾È=�š�Œ$�ì§æ$'í&Åïº¦ã ìœä¤>1Øž´ŠÎæ$'­§©9ÉI�ÕKNr¦çh°­Pmà2“ã
-¢»Îä}ó’Ó©6áö³—œt�}s’“�çëÍIî)ÍIîˆæ$ãY:»ê#ã�ú]½ß(�©¸.QçC.r³L"•:BWÀ/ÍAN<	EH-Ò2Êwþ1YàÍ?NÚaÁ¹æ÷f«§v�œm÷×ñ4O>Mýã¬! Å83›sëze]é“�ÃÕEéH³ÜˆÁüã¬¡ì=õ�³™LA¤£Þ£înó�³-Gh~o'fÿ¸N‰œ:?z"$Ì…æ'í6C544®—’Í?N
-]u¡ùÇkUºð�£(œ_@æ$÷ìÂ2§'Ú†®A—¢ ‚"áÝ2Yö^àqs¢›×È¾|®ï®4I5è²5“žÁ¶lÍ$¦Úâf9ÄÉõ­™¤½¤[¶fÒ’Ù¾5SÓ8sìLêÀ“3±ugÊ©	ug/�TmtÝ™rQe%1ŽË«¤ŸÛ3	ÄØH6~å¿¾;�²¶ïa×&<;¢·\ßâ'«Tœ�é<ÄN°›w¥žfç›ivàgJïÒqnÏ¤Ê§ëÎÄ£(IêÚ3egw6$¶Z|}“%ËV,PsrJ”[¶”áaÇýÍ@ñ†¼xEÔš·ìn#Õ®ï‚#E®ï•ÓH=jn&jNü#ç;Ôœàš�_ æœIÚ57Ì®¹ïD}9¿tLÊE‹ÕŸt+ö 9éfä–=šL—t=šü¤ëŸZ´Ù}�¦Š^×ú*Éir®ï½‡©#µH±ÎAwÝ¨Ë8?Mºö¹e—¦fÄÌ_'Ù,×·i2DÝ¢MS1£«Ÿi
áV]y’ßÒšñÑÖC­Ó¾K“JŠe›&ó«»lU6Ìý’Ô±T#Î¬gþmÇ &ñŒœS
-+†Ï�‘Û¶�¨êbOµÔØ2ç’.ä™›·JƒÌÉ™Ñ‹Ý�SwñmsR:È\#õ�¹™hÆ�Íu™sª>Æ¨ý´ØRÈ¾…å–Òƒ––[*É9&Ëõ–4N+yœfõ¶ ŽªàfÐœ•3«�$ý_–ê¢Ma7ÐœN{è@s3©�5bÍ¹4,žœÉz¼TŒIŽþíhâÙKÇ½šE2£9×Ý–’Ý³lÕ$µzÝÍè}åT—ÏÈy�ÎÀž¥1«B\ŠÞô�>Ä‹á¯�™fÎÏfrËxMSv¼àµ3KÇ10µ�=ºL€Ï1/8ÐËÃ›ö”.Ðˆs& =lÎ´—Îá÷îã,Lï)ÛíH¯"»Ù2‹íl9ƒ…zuÚS¤Ëàœ„Õ§ šPÒâ“M0áÐ2�Ô[3Ñ‰ö°ÙÚpfÎtF‰‹f©4ãEjkÎ`š /ÿðb7wÄ> ©9Ú÷]HÎ)ë.ˆ¢èBºUGÐZŠ’Äšîú9t«º/t±Û.šc·3©‹ÝÎÄb•}ÒÚiaÔFö¡Y¿Ò¿ta$óì¹¥)-Í~Vvx›•>L;YàgAô†™ƒ·Ò-®ÛøÞ|Ã~çã¬µi¹ó-jÊÑZôv&uÑÛ™øÿ³÷f{©$KãèyßQ”¡æAPfdžAP(e’aíî~›ÿœ‹ó;wçv¿ØÉˆ¬*
-WïÕ»»w¯Þß×-Y‘Sddd™ÖæSDC^ß˜o“QÛ¬·Šj
-çÆ’q†Ò¶°à˜lTaî)a‡&à3ÔÆÀí�‰QˆIç^Ê†5sÓ/�M¿5:ãØžf~Üž,
½…’M‘
u›B‹Ñp<¸ŠÙš¥ÃYÎŽ¦“Ü^Xk›å§¡ƒ¶
-Œ!Ìk‚¢ï(v
--eØjÐ<Ñ¬N1·&œ©³˜¢›Î�ŠJ¬á]µ“½ÈÂˆ½ÐÀÜ¦±
z­>íË`R„µX1ÀZRšy‹”l3·Óƒ%2n¶B;'Û:Ül!
-i’oŸa�·"<›¶zÁÈk˜éw~ú¾7Náïëá{.ÏQÆà<yÞ´WPCªUj©: ¾X¥´Œ§	|8vsÍ‰£‰å0/¥%­Ó—¢ŒMXg1&ƒ²ºÙœUFÓê™u�RFµ®´afZ(’¬+hÔ<Ê€´.o.ÑcŒÁìV ZL!ÁUN54%3‰³QfŠNh²J­×c¬¸[_áÅÝnè‹2†&çÚ<å’hæ@†&¥e2£jÝ94J¶ñ`Úf¶¶A«bd§ÜF¿Â³ìî:É*Eƒ}=éM«ÌDj»ô`$§{£"Œ�h3¶Wß-D�žYHI
Ë°Û­(öbŸ5òZ(”hUL:¾A
�¥¶S‚|ÖŽ@–fì²ã�5s¤o–�Åh›š<-£Ù6DÀy{mÔb™24–Yhn%‘fˆ´U6ä-3iô†¢1àœb³¤ˆ´=ÖŠ°H÷F×3ñfÙ§onnGy£iêdÚ)µE#¶&ÁáÝ­•áðÓÖú‚ŽQÔ·s˜�Å7ÙŽ‘7Ø¼GCõ;(o<RÚ-4RŠnb.]ûˆÀŒ#)[ãæ��0?PLs—™çLåYÓ,DM"~ÑÀš½ÈŽT«�Þï¡­«ËZ¦X#ù¡m%ySÚÛ¬8�Iž·èÂHÁ²ESÖ1j§)Þ¼gj¯køÏ7dË›žP;uƒpKÑ$m¢=Ðp³U6%›ÉoÊ66“!à½™`CYn‡ ¬ØÊö…
¬Ù–�^³Þ"(ÞŒIºMPô)¤ÔÃt†Vô£”3lÁˆbd�
-�µ�Ä¤ðÈÝd•ß´Ñ
�
™9
‘íä"ž‹0_3|†(°»Ó\ mÞÈÓ�Év~øbi+š·DÆ8R{þš#×ZÔBãˆc|[ÆÔŽ¬2ÛÉ±)µNh�Ó›sÈ0áíœX¼µY7g›]Å~òÆµðí#„`UÚ=ByzÍ`»:õ$0FúxZ„ñE /»-Ò‹&•¶âšà_f”5³2ÑûF&çeÔ–w!c±c–>³dˆªÁ�¿ÄÜ°=lºOL¶#Ñá`jLÓkÃÑ³QLK Ü‡eXJPFæzJ¸<=®e3M2Z¼ì3Þ›gÞ0²Òª÷·ù¨$¢­{‡»„f‰¯‹�¼ã_ÁQØ3rŠ‚™ÎÐÈ´VÛÃB,²n©`:Cã‹="ù¸IpX£í°"¿•&‘È'[§[}ÚºÜêq»ÃÝþvº{ÝÛ[x`,9›�,�¨»ö�0Þ¦EÅí¿ ü«�‚¸yêã's¯àô'Ýôöƒnû‹7Ûäm^/[}Öñªßƒ,„Ô±QXŒ×
-«@[4Ìu²}eñÒ…9SëÑ¸yŸÃzþ`ÍÔØOÊæ*±ƒj 6púÓ˜)þ½·þ2�ð/ÃvºU_p¼êÇ˜éGÔÌQ-êŸ²€_S÷þnKœzŸi±[Ëlö0±MÓŽ0fƒ0ÌÉlîó=k�&{ÛË¼½66êØ¦›m¢²–Àì¼½ú6ºØ¦˜mr²Æ†´nÒTÚÌÐF[aCÉöšm#Ú¶ÔÛD°M!RÌ¾ZÛKi[äíåß¦
kl_ÚÄÿ³Kôùžý›,â·©�Y•møa,üloQc¥�ì¿é
-lQG!°]ë—��Û@p%Í&p½%<oRÃ6�0öÌ_vÞnaímØg`±ø­9±Êæ·Å¹,™Åà^,/nA;xLÂ�·–]Ý·j·E€Õþ²c†1ˆ…Ò½U�ßê�·õ`
b"lµ!lcækgúOrxE_”þÇæ{$„×S…`ŽßF0g×)6Ç‘­%;é¼¦¬Ú{M�vâÝ"z<Y4óš¦v¨î5]nÑíÖ¨ÍÃjkÒ6>vèí¹í t‹^“É!½&µ-RÜZzXYðš@vHè5‘máÖ¸¿,ü\ð/J+ÿ$ñÒÌ«ÙîâsÃO^±“Æž«ˆ.V‰Q5šMµÅ¯Ž3RÄ8±ÙlìpG3¬Xý¢�ËúâAï¯j¿Nz³qrªõÆú³þ«Çá%Ð¬
š/k«•¾˜R�Ëõh /)”èd¦«- cRt]ÿu®[Íí&™Ï+ˆ*SëÇô°u”“ßh ªkã‚¶ZŒ~! [í¨µñ¨¯×úÚx4^.Fƒœ9‡ ùÿ=Õáö8ZW{.R…é&§:]ü-tcd´S£Ä]ÔÚôIsŒÆëÉhª
f²`Qòÿ­í­ÉÿXGtŽÔjæû%_~%?²ä�'RD�;Ž›ã@-²ÖœŸe$j|dHÜ>±Ê$x¢É(ø_·#”ƒ˜þAÎ,	ï#sf‰o·ªïuûxÒ…fõÍæ'fógÏ€Uôª�·º‰õ>Ü�éT›èÇp¡
F:Ya�ó bT3V-cý;6Ü£
@òQôBç  1ÙaÖŸ,
-2íN–pÈŽÖÄ^SþJMÆÎJŽXßV•…Hd»|©ÓØüò~NæÂõ>®"b¦•ÖQàÅšøY/¢J¯Æ¾n’LsëÅúèó�Åþ�tÆ2ÿSt·P!ìêw�øX…ÿŒVÀ{)‰?†Ì8)o8ß?�êJt¾Ï¨Îg’�ï-³
-
HBP¬Ð®·Ïg.Ï'•UÑª(°>‚Û¯røR�HB>|¶ª~^	î}
-¬UIUÑ…ùq%ÂàdNd·)Š‘Åý´G_zîpÇ¯"ÆÜXÝ®é½%<½#«ÜÎî#¾HœìA°¼Ôb™ÿõáQÝXß3ËDä‚ÃlËEØ5æ_ñ=ßîGßnmß[]ø^
Ä÷j¬¶™€ÀÉ:{¶í0Ù{½[ÞØQ¯wD|ok{bß[û‡ì0Æú+¾·µí­í¿©üV¯ÆñjëÚf·OËðCâE:¿d_VòŸÁždˆ€†ü–@1œtÌ26��= 2<ùCár"3ŽÜ6up Ù9
-ÿËün¹áïäÚˆhþÆÄ7¥ŸOÝÕý}“'õ¾wú®îïC€«;Ž�Î¦8é/(Qï«EÜçÚÎ÷ê&åÅ¬¯/µ…cA4¶ÿŸép=ÞUO˜ïVO|DÁ—Ñ^@6+ ó�)Ù
fÀCu`+"†�Ùpð;¾gïá €ÄVÉ¦ƒ/ºú�ÝìÜ,ˆïA	‡–9Z’ÇL¶a”`³‚¸iÖ^@zÆ6°À]Þ^bVÁ6Íš½š¿ã¯ñ’Wý¢
-¼…F0‚y88·D‘bŠœ[ùDÜC!=*óYUŽ¥ð·ÅP¸FÏq_ìÕÔwx�>«CQA”EZG†”ä0þ´Š¤²»úÎ—&'a¸gÛyþ“nÿSºåþ‚„ËÃþŒ’¶ökUDéwÒ¬Ý¶þ#ÚxëO:ü:4eïØãÛ¬Tõ8Ì‡vŠ„g„&‰¢-ÀûUÔ¿ ­*>^yÞj.ñÛŠêÏuú�Ï9éËš¯Á1|oí-ÒáÛ¬½µ£øÛò“º*™² J†ây¤1¿Ð—:|¥�
-4oÙ‡uEÙÏ¼®üÅÑZìjG…u¦¶²£ŽÚéƒƒÈ]¶¥3Û¾t»Euî´“7B{1½Œi¯)
-&]KxAKà7Mg
-¤ÂÁ-R{	R¤U²=$³HàdZÛ…f1b„mX·OK(eÃs
-³Z•
J†Vm¿��j–ØQaàøÍ6�	îà$¾‹$›ŠiÒÿk³±+zïêQ ¡ƒ‘%agMA¥zcUm…Öd6•ß(²WµtÂ]Å¿¤^S[÷Gú@8ºãQmf‹-­ædK­¾¯Ú–fÃ¢fCv6�Ø¤HpÛ™Þkdh�ÅÊ[(¡ŒÈo¼ïÇküf-j÷ 1.H™*MèMrRÂÓ×¬»½Å	¹ÀVóá“@ 3	ò~ã`ýœº%Þ¹ŠÀÃšfJèËq†>¥—ÀQÊ¢¤ãƒÂÊˆÄMF$c(8¡8ÂnI~zÝ_ÂàX
"Ó@|`(SyŒ3íç�ÞÌðê„¤Àˆ’‘S3|Ý€ý.I%ãa—$Ó¨@îfH�‡šƒ:8vµÌÀ@d:™¥1¸ :™×Úe4*ÔVDs¶Ê"
 ¯˜ðÉ†,AìbÅÿð»¬RÏ4Ùž›È¹¼®¯:§®%‘$ú‚Š£i�>…ÅÄ8æ"BqãÐ>Îa	}¬ÎùUÌK(kãñ
‡€eä$Á
-*Ó7N
-†•WÀ«Ðà…¶þ 2>>^P 4¼‘Áî„¤Bè
-N+û—ÝêOµÊß¢OTY#ÁMãg>¢õÉ
-%Ã8’–Šó#¨£¡wYW\†-XÂ”€È"ÃË
-‘Öº‡×4dYxŽ7BžáË™ñ[ö”mR" ŒX�eÙ/Al€Éž )’Éd—€)ïq�ú†ÒÌs@
-.ÜˆC%ó�´`?�3^í)ð˜‹¬¹`ÆcØL:Ç}²BÃåfþg’ÉÊØÊöð`Ì@z<¿—€àd¦E*l)	rÿHD äŒ1C�DâM%Býd;Å÷dÆxYŒ%dd’jDG„? €|�á½)%jž�$ÀP›ŒGâi]!$#qF@ZÀ:<F$Ûƒ5‚¦K*
3.1À¬ZEUQ­iŠÊ²¤†¨¡ÌIÿ°—E3¦$cnF|@éDã¡° o(¼Á–²U&�h<¬¡ì«ÀC v‰£E"P½Lë0*�fE…I©G+á£b™ŽŒ3_I@v�ø¾&)th"ðJ˜6Y+ÑÈÎ nqòDH¹GZ€IA¨RC¦…Exï"’6e¿,@'"Gã ‚g™ÈÒ÷KX‡ÆºˆM­Òçw‚
-Oøl8péºÐŠG“éJJ�&Rÿ,æÅ~¡Ø\øè�4�Bˆ,IæÀ ÂóHv²ŠÆuVË#™ñ4ôàU„à²€_2‚Ñ@¯Þ%�†¦ÃJôÍ½„ù"°aþC‚–[ôllØ˜p–†
ViFr\”ˆ2æ•cŒ4Ü¢2Œ”ÐÄ·°°47KEïã�¤o¤-N€FE4ºÓÖ	_¯ûÃý)ïáÏÄ¨ÐdZ©‚(~S �!¸$àTäË„öpM	£¤)@ ö,¤T†v1ÆÄ¼QÌ«Ž<<V&„ÆÒG“�"ÞÄŠ,
5…Ù%ÜàDÀ:øDU„ 2‡'†‚/¡ˆÇôD*
I$Â+/ÌD¹‚	‡2x©"À+CB„€^“‘¤\Àv<9H),#ò	¥…¶C£@<].L�Ù¬á}.Ù©‚Lƒž@%™†1dzŒüW�sU ÌŽf
-G­
-ì#<C„**
 *@Dèï‰n<(ÀX�¤1x.�€¡P0SŠFŽÒ}kM6Æù"£Å$«PI¡¼XÄ@–Èˆv�lŒUàŒ™Ž :x§Mê€‰BbŠfîA`TDÌ ¿y"žÆß!l“B²Å@#ìÃK4;á<¼€,H {öµÈÐ*ðr”!E‚jÚ:$ýi†ÇLÍ	<;„J=zd”¨(oCF2î[`H@¼2Dá	¥Î!då?2g„Ž!"Ä½—1�4’‚HsÛÉ�·©LpË�-:Æ.UÑƒê@ØP‚²DQ¡|T€—“Ø
-®3G�eÌC;bhXXRIÀ‡ò@ð4�4Li�>Œµõ$H4ß
-uÕ×!V‡ŒÉ%ð'bÌÖP.ˆ³2¤¿@_ ô‰Íò¸y»ƒAlö:OÓ§GD©DÀë¶2�Û6ªJ£Þ@	šZXäÍ4¢B›’�»Ê¼±¹1¦-òfÕ±ùm®ŽU‡œs”B1¿,Ùºp*0FNVxF*c¨r‚xƒí£&*3VhVB8”Mñ
ÆB
-¬Œ¿àÂ$m
-Tþã*,I�4[•hÆÉˆGjvg2‡Š®�çiÜZ8ƒLj¡‚OO'á«n„�E£Ÿ–ŒðOd¾¼W„·Üf6&ÆŠÄè‡¬&‘”*@¸€°zÈÊ$0Ô¬ Qe„z€‚”·áH"b„`<zdÜíÙ¹5x•¨b$Œ†H‹ds]°T5‚³�FViê,P¬d”C@v'aª¯x`ø		’\`~®�Ž°w nˆâgÐéœP&ö‹HÅy#dÎÈ
-
'O�yI¥Q©†ÆJ„ª°GAº	OE…[|+'žŒ:ÈöRôÔue( #w€%%Ý±ÄS6œB#”5F=–!¯ŒC#|VÁÌiƒ|ŠÅý&Cf aPI†],¦ƒ¹Ñw€„ Ñ`± µ£ô
D
-7È`Yˆ™#€œ@c4_8á‚ßDCB`hÐ`äÕAÈ’µ’_’@¨m§è“Ã›¤I2¸�š‚á‰¢G†ù¸Z��‚¶ËQ1K"Ãû»œ¡Y*Fî&Î8XAé‡ðl»}@¿k�ÆiÜf v`p[KOüüáÝôí>h,\@´G‰y#�²&}‰ð]¡bHË"D×¥–nÜ~4Þ6@P:Y#”¡ÀPñTdÌt×„3	
-žßx.¦�&è–6	*É(yØª"F�ã�”?P!$}¼KŠ0hÜ'WxCš�èÝ`ë‚™Š“iàéøHM4­$(dkB,f°-àî:";“€K¡’Í1fj–ÆPäX#âæI‡¸”˜‚\¤Ê0®%�ý‰i Á†¹–Œ¼Èô€³Ò’ªTmˆï‘¾
F,ƒM�U�@è¤cÔ2Y0Ã ×eP)!5x# …ˆñ–¥q¡‡¢bÄ9&ú
â{D’C+2¯Ò„upô›ÔÂ>)âå'*Ù)2Ò€áXc6¿‚!Ù­úéó~(�UQ€b…AæÍadZ€+Xd+6«pÈPY 8*„A5S*€1Iqpfü dã CË$Ú @¢Ek„DÓ#<=íÀÞÅ`xwcNô¶Í§<`�È¤hÁ-�ê*AÆ3·5×Ñ€–„”Úx´wÐðN(^ùX²ÿ†
-å ‚@5ÕH¢G€XóÿmÂy36™	©ð‚ícž2T|1²‘�‚¨P¡É.«a„qð€ìÊ¨ÏB¡¡Cáf›ˆ?©�û£ÐÄ|ßèJ þV5R¼Ñ =ˆ4Ê[C¾Oã1Âv ™OU3c„J/­ŽHw,–‰·%¿#M5ÞHrçÃØ}2!X#¹
-’	Ð²bHÈ°•yŽŽD1¶
-GóI¨ï �`R<…šœ¨âC£sh127ƒ‘¾FÁ™Áæ¦éÃxÐ)!�?>!Œ}ì¹”]Q{$+Ñ,hTÞ3bÖK†'ƒ”P«ðM=ËÇÊtgÃ 93�0•òGš“…Õb¨N§ÒL"\ì3…X#4¾€&
Ü]4„b‡uÝt'šyn`P°h"ˆ\2-`AÎ€Žj%
‰´7‘7„V¥hÈÈ ¢‚ŠÕúêSS£‘¹AÂh$¢h¦âi‚9€Aá’¦¥öM™Šl°r�vÕˆ�G(Á¸£¨±�x[Yª±F6XV¤ePŠ8¬§B¿5Ñ¤“ª)ÿA™Š*§¢@­Út»‘ÖiÈ?¢‹©4!,„B¬ …N¡e43˜Â°;`Õ ?¡éÍ7ð–†CKZ­1h:PJ·t64´,ò4Q<-RÍdœ
-Y)‘¥–P#¤
-!+Yûh(YÛ6�UC,n€ICAW¢'¤!_[â”íÌD[/MÇº9eÞpÛ‰Td4ûƒ‡XåêÉF( H@)0r¹€.Æ°ÉÄ­•ÎÎ rÜ’<¢@Å¸áä¤d2o„–õC8™*Æ»a­^è®CÈ^Â·`öÄàåpË<]<0×ÉxáT¦‹/)�­cTƒ¨Œ…Ýç’H-
->Éô¢£>t	“­qÔìFÝ,›a’¦¡ƒ€fX†BZ_^ˆ6V2a–§#hßtè*F:cqQ›¿Š�}¨Ý�ž*†tã��gèa¨½ ¨�ÜJ¨‚›œ%M°#	†SPað,áÍt"¬!gYìHÁœ ¦]Š†3#l‰&É!%FDn?·f-�6@œ¢•WBË+Ôæ‰^L'°$‚ñÚ^	Äd¸�€Ñ–XäühÆbðDþlêü¢š•Lã�:X„1]˜¯¸Æ†lÏfúPÁÌM/f€éCáÐ­,£#L44EÖ‘
-2}›�Â¡�y0�²àtƒ�]áÛ�Çzö
ó$ÜR"	Î
-ŒëÞÐ ŒÜäÌ$lpp
-F2Ð‡t²«‘Ó�ƒpˆ¤c‰¡z=lf�è½°L¬1!žZ:€q!~#¤'cð1hSVDÉ*0/Š×x°=ø€¶QÕf…£UTêK€/Ô2«Pßi^ä‘œL“ð�dÁÈô1e
-HÈ £³4ñ²>ÎÜÏœ‘±Ò†ŽšJ83ú>À‚�dsšp“ÅPU3Ì•\0YJ>TQ!»üfXy#îÀˆ`Ù© ‡^KŒˆÉh?¹Œåm~3+”ƒ’ƒŠ-ÏQg"H‘¸ÑxðµÈÔý†r
(w`ë	‰§r32	Bú	 uÁxÁ„ÆM�fŒá±ÔÜ+P',uôb×
-Í+f¹ç`£Â.YÔ[‚+²3É‰ªRùh
¦1ÍÀ|GÈ¨S4\�<�¡*À�,Q—2:ÉDp•‚Ø¡ pÔ0Ì£Ù“À2ÔJMY4¤´„r¢(/l–¢‰;�Ê%°¡�!B(Re#T=¾r ü—ð
-sp8N°íéTð‡N#…²Z°§
-t�ÃÓÎf)NP)[ç²zpBèO‚
‰£‘Üà � Ñ&#£Ëâˆ’?$Ì©„Ù¢Àd#›JÞ"üKí�®!‹q°Ûñüi µµøÁWË;ð ÆÊ`�#?©_—hGaè½Ø
˜yíƒ4(;d7RÐŒB·”2qcŸ�K è÷”ênçÐ%"P/ªé%‡ólàYçe°Ÿ€ÝH7ºŠ¡)A ½9Ìµ•Ás(¡âÉà	‚>u²?
„GÅ	ã&g˜yÑqŒ"¯¬P¹ŒÅ x`3‘Á„d§
-GÕaäO~cÊH€NÔB¸Fæ³u ÑSL¼ð.X¦éyeCR.Ñ)7ð^LR¡»~Ã-˜4P=°$Éf)ã ®%YX˜\´‰	|Ê`;Äð›ö9ê7ƒ„ç¨ìƒW8¦@ÀÚè#ð�¿V*ù‚f°¡Ix˜ð`ô–`™AH× ‚|L»@Žàý³*’šH¢ÅQŽ>²Tr\(š%«
v”
ÁAAU]ÁÈ�	Žm4­™ß9–Ll> Âe÷*h’àa×°‚uÔ%#‘%pçZìH`P#%DÂu–‹r3ÃS+)^4á%ê7’ŒdC<ºx¬¡
-À§¸lnÛÕ<‰†z²6¼Hq~¢
-€õy7^RgdÚê$ ¢I¤eÞH€
RKÆN~ã+%ówCÑ0gsTX"6šƒE0i‘Aƒ^	Q.Ñ¼ÍÁTs©{�.à–&øfG½1	ø,ræ$Ð}6Jg		ŸD�b-4˜dŠ&Ž(™	ðÐ°|%èœÅÃ‡Cƒ;šºÂxT¢N[Âz*ðò×ñ F ƒ”d óxE�› ‚‹�ƒ#2|‘�¨�~�²©ì6r	nŒpÌ‘+MÏSÿÝ°O‘’ˆC*�+7xjùÜˆ'¬Œ·| ³†ÁoPxyãügAôbºžèt†] ÐºÁ€%P‹ô �b|˜«³Õia£)ø—Åë€lØ¥ÖXŠtœ5j® 9rFAŒeÌ!ð^\Ç“£†ÌÒßÀ/êëÎEˆl(`	‚ŸxÆLî‡±7xmxð†’�¡ú…°ôä7¦ùCŽ!ÀõgšI3bò =•HŒä´ƒ2š'9*QƒxÈ+tÁxºVÑ®6­ü¤&0?0|ÀI�
QS,*”’À,!¡¬ª)œj¬HeHPzaX‘ÜpG€ÁÃA•¨ÕW¥<‘EO©Ý~pÝS¦1ÇM+6˜Wy$$¸Z^VÉ¸fi°l‘! 9‚7L,¬qDö�Ðl„
fq ÌêÃÁ0(‘©hhË‚‚7@ËÁð¿xÓ�Cæe^;PÐX`vdS<��Áláv‰-ÀÑ�™—dôÞ¡ÛŠ*2µì¢4!KÍþÈýøSA6 Ð» 2Txª¡=
-·9µø²F‚%““ƒz�â:Î•j4¡ä'	<P‚èÕÑµ
Ï?°,7ÍwÄDÖ4”	#à*êO`ˆÍE†T¾;°Y[æQÐÀ¿AÎCÌ�ÆáÍ@¨£é÷08¼ÿ„Ý«P³ w®@ò3ÇQÇ´ŠÁŽ×xñUžØÑ]+T�fKÍO–”‰ahàèaMÃ>ÜrñìØvÚÄñòv‚ˆT
-ÈTS›ì�™Œ�<& U*žÃÀ²ÈÞPià
Ó$<W
¸,8�ÁÅ#Ê3»Í£ëJ¡!ÑÍ
6ÙãŒL¤D>¿ÊDdàÄ„#`ºvÈj!ÒûÐ
-ÞkEaGDæ�WYtùHŽÝ. Û†u�—^d5Õœ
-Mè Ó¤@ñC­M˜Î|Ù°Ìâe<”ÑÐÏPM®„TlØ/oì¤[=Q/.^QaçÈ‹L¿5K‰˜ÅL~xKµ
GbèKt�»ÁsIEx93˜‚4Ä­ÝŽâôâ÷{·¦ÍûÐŒ£?›ÌgëéÀ±|Ôæºc2Ø¯Dÿ� <_»¥ý#ƒò€°Éê ^bñÁ
ƒª'Ïïqþ�è<"üìgÓòb4]‘Ú>-Æûãö{Å9|Qè—òxMþ]ê=,î¹£ƒYOwÄëå££ Mµ¡¾p”}áùø›ƒ~Œkãñh¸Ðæ�£¾Y'+pTõÁl:˜9DÇ|åìB{¾=÷{UØ·ëì€cŽÒ7m¬‘:üWªXÐFØÄ'UÊcmº3B¥¥)Y¾GˆMl ãÚ¢7›öGãñÌás$ôå7mª÷õÅ[UÍZØDÀ‘}-gä€Ø‡’ZèCÍ0è›£èÜŽ2Õíe}K´‰[N	Æü”ÝlÁ&¦WC'äBÇNþ`¾X3ž÷ð<ý‹"ÉÍtc²Ç:VÎ�z„tã5)v«„yàDÝ”6ýoMæÂ 3Ù"=ò›°uøã`öáÎ|öÑPÿ£žE«g¢yÁãu•�Ëä`0	þð®mÛÁêØx'«šï|¯Ûœ;¦Æðòc=·û#¦¼ÅÉlØÞôü…iÿH’|“‰ì¹ßã=äç8Ì'‹RÀaþðpáö6/‡Xë/Þïÿ.t¾3FƒÉí‰‚h»pÊpT›>*æ .Ìÿ�‘ƒ)þïÃ±ÿÈ±³âÝE±Øð¿ÿocÖEý_f
‡°ý“e_ÿ¦ÅÀBá¬?Z­K‚*ýB–²¶úu¬/÷¹éì_SüA„3#H HÖ�,�(Ü¾éæ×@Ü÷R£1™ÀÇµÑÔAh)}30@¼D�4GË‘× Á×-ÔVZÿù;ZˆiËQß6²�×£ÕWª÷�²¶X½ÑJmµ˜=ë_‡Æ¥…Q‘´hr	g«ªÞŸÁj)˜�GÇw†â1Ÿü!y¶b-Ò×–�„þà:ön[G q8.‡}êÿù"î �n¥‡‡¥¾òàøß©oTÈŒÇk”Ïg¿6'âc€R7©¤ôçN‚Z0sFÓ[¢.MFý¼™$|p>Ö~Ó&ðLKH3¿ÍHõÑêG­��ÿwÖ‚(ôß¿îÌt9
	ú#{ÒAx'ÌäWúÓCEµZ•bÓ¬öözî¬Fl¬}ìë‹ù!^°±
ZvM½dgƒ‚MïŒÿ%M ‚„Km,õä7}Z`FHg}G "$ÔëjýÞ¨{ø¤~ƒdk:�ì¡øhäf…?Žæù®ðß-ÓýN´üI|ò‹ˆø®°Hþ¢÷×0ü€ußßhØƒÿ}î§ó59Órå
a†%´Ic°íìû¤™Òzõ™8Ãü¥Å™­ &?…™?ð¨û8’Ò?Xšù‡‰-,Ú›ôòqX´¿4½ˆÄáÿ?(ç}�ñ+þþH¬ü#¥_™ãlÒom4™�-é—®ýß«hèŸ®Íhºú û•F0Öù¿“ôýß6}~çßoÙü‹êfôÉ‘,xh²VñÝ
-õFÂUTõ‡ónªUÕÚtù0[L>VÁ,0¿6z[õ² ´…M±ú–Wf]Ãy³4t¼A2]Oâ³ùH_n):¤Æ`6ý¦¥pK„”ÎVÚJï&ôáB§XóÓ²¯�õf7¥a@òE0ÚŸ�¦åa8o5T%«¢YÃ¡Ÿ&³ozº[^m�›Ï�¦F¯³Õ/�×}ÝêÄ˜ƒþ0&újë­Âö«>›fŸìNÓ›)ívÛ´wû“$~’Äï%‰Ôú·ß~u´åó�²ÔØ|ì_$
Îš,Ázù§k! 'ÉÂOµõ¿FáÝgœ’>H�Æ¸fûó”üÉž’?IâŸ{JþÅIþ1Sü<!áxƒ�Çðòƒ}ï é9	Oì}îLæ¨:©’óçAù“+þÁ\ñ�ã*,^çûÉXþû#Å½!úˆÞ,Þ§õ³ªÂÿd)?YÊßœ¥ütBÿ	,EØ’Rx™ã‘¥ððÚ÷ïs‡½æÜJ?…ÕÿÝN½ŸÞÔwÜ™±ÑR;–kí›þÓ¡ùwsh~8…ÿÊ«�¿Çð¦vÊ¢¯“ã0Ÿ3F)€œ‰²æ�ROÿ
-ök~ŒÿÂ\zM^Ì=þ@tØ®Ú~‡Ñ
-Ý§éjn¾†T9M @6fË¯ŠŠã�!×8ÜÜ�½¢ôO;_“Ë—õhª-|Œ¬kò7‡’ÿÀãöÍ
WÅñÙbª/–?jËU�i-ßn9VZ¬F}Pñ¾Ó\¼øÐ\ü·Ì‡†ì»
ß Åßóêóy6ûSÒÿŸàD©Ùx¬=éÝËÚOAÿï&èÿµv§IJƒ©ÙÂ8nð^
-˜RÀšåã8Žõóàúa9E‚hã"×qÌÿÀmýÀ €bå'ÿúqü«L8‹6˜­?9Øßœƒý•­ìWy EŽorA›Æôßew¤‹âïúæé«k
-Œ�u‹?eÏÌ»«à´{š9¾�¾Í­ŸÜûïÌ½ÿlùê÷"è?Ø“õ«ì|€ÿ³®°ÿÀ«"›®Í&½…æ˜k‚‘±ö“OÿäÓC>�XÌæŽÚ#Îÿõ1§@
-÷.«~½#¾æe31´^êåZ>6^/ì|º7žì¿ûËEßà³”%õŒ
-×Åt>Í5²Œæ�³ÅoP Zœl -ž?°§²ÿ‘L»ì�[ýÓÛLz®�è4%3ü6®Gòââ8’¿ÌÉAäˆéäôÒM}±AÊ.·½)ÏŽ�ŽAƒ:_~Íþ;}	o¿mÇX¡Éé`)ôÓp£e²ˆä�£(÷öhPSÖá¾1"±ÃTHŸË={É^¹o›Á 6íÏl¥@™î"EÌBÓ|æ®ÎˆÚ/´s´ñ!J¤'Œ˜k}d7	u
ôí/F×q"¤Ø?°æ‡èoë±½#ëCA±@³}
.ì©hçƒFÏIIádŠö¹Ê8räOs¼¥ˆFïçda¢}NŠrç(ˆ‘«nA)ØØ6”hN�‚ˆ½ÚaxñU‡¤h»C?ƒ:.Œ�BÁð­Á›@Ü¡ñsŽ1@¶úó‹vñmyHßRDÓjjâT¡8µ Mœ"Fy_äVqžÊø­¾�ÿlw/Ûñ�!ŠÍkÝ´wÆì]°Êv4‡`€ßW“±AáTpµ6P¬9ÆêæY€	´ÏEKcwá¿lp”Ü8€äÄÍtYÛà6T¹½f6‘y†§$Î‹›õà7­ñ¢}=èm³°àÄmÒÄér[[æÊm�hÎV°H:æR°C
-Æzù
$"¬­
-¢Ù·¸!S¿!ÍÂ¢hm!‰±ãP4%:
-
-c�æ.l
W0€mÃ,P£öèù&J­!È[åÍ!(¶ñòÖ”­ñš½Ó}aÇƒ$š[š·ËÆzmåÍ.m;©]Áÿn0&[#�)(½GByº×A¹¸Ãäëo_Ù�Þ´R$‚ÖôIó:4ƒ½ÚÒë›Öâ#�/kÝ±ÔDI�þûÿÓ>mðÍJF›æF/7Gÿþtr2LÉ$4Çr='2
½HùIïV„n>ô®íØ•-X¬ø]&i´É�8Y97&Ý�kÑ
-¯Ò4š�Ú™ÇdÝw9Z¬—ŠIGy1ëëË¥ƒÈ·ä´…^9Gë—½÷¾Ó~Ü—‹ÑRÇ(å¡ýü§ÁdD„íbæøS…×pê6˜L å5˜²
&Akòk0yL°7'í€½†·!øwF/lƒqïŒžßcß=·
Æ¼3zvLx»SÑ\°ì+mº²-š%ŸÑ*”ÛïJ"òŽ¸"‹o™Ç ½±ÁÇ&¼-ØÔÍÁf¦»›d0Jî{²›?°ŽôF•rÌŠMÙ÷{‚ïç‰¼+ë¿Ö+?¼(öÊ~¾}mÛ“jëšÇŽÏô•´�Cû=ùX†~¢)� ™ÿ‹ô…›][�	ôWÿþ?Óáx±»¶î�ô�6€À§ßt4¿YLÛ1¯'dÒ,h‹>™2ÿûÿžŒVºãÖÝ'ú“Jø0TÓ—·v©�ÿýÿNá}ÑÓšg7ÃÎûÓ2Ö'1ë¯'D°Oh+
2X™¿1yÕ–	¿[…|q6Ðßüt¸™Œ§ä³O[­£Þze&¬
-Dí¿ÓÄhßÕ�}JaÌ²æWø×ÊÊ¤å>š.»ß´Å2hký¦þoÀBùò8¸ˆJÁŒ‘,·~ýM±ÓMdªì�C�XÓWEDÃç²C{ÿÜ9NgÓ÷†lŸßxÖÖ_™›	ùƒ–ÿ?œ=ûáì¿´®#Èe÷Âÿt%ÿä�Þ_/W³ÉµÕÿN\ììÛ—' _'å?ŽÏ–ØáÌ#¬ã«äø‡ï‹Ä`ÿËåa—.þõ>�ÿäm°�þÆ«ÌJ¼b¹‹Þ›è£>>~ekY�.þÒ¤þ5À‹±ÏçdþÉS2�cïM§7[‘ó4¯?¬J‹ÑK¾2³×uþÜIúhn¿�×í×¯Ìì×?}*²ÈJ‚¿|‰eþ%Ž|äuµÙzÑ×cpßâO?óÉÉôga¢¯´�þÓq¨ÿá8†Íá+äd6fS��u}¬ ¹iÙ¼¯_ÌæÑ…®ÑÛ;¯Ïè��…¤/Ë¢DÛÆ«^0wu=ÖvVcÆž1RÁŒ{dN}©9nzÚÓ"ÝÓQŸLÇœâFcµ®g•£UZ"p¢ŸƒG§>ë¯ÍXªú¸>«Òqà¸Ê³å&€_9shÌ—«°;<:³Œ.V½™¶$ôm=¶)×†0°‹1UVè(0Ú¸ïC›"CsHTÿ{Ñ&F½ÿ"ö�ãé°0öøïÃË³¢_bé÷£OQ�øolW…cØÝÿ§è~ïžµÈð»÷¬Ï¢¿?aïþ8¿“YŽñ3’(ü~$Zü/à’œG&'ž71ÌKæ<çÚ``a�ö1Á0[Ý.ç³Õ”6ÂÏ˜ÈÌG~Z&š÷çfôjXÆ]¯fŽª¶\éãÚ³­Éh†eæaêxžÎúÏ³õÊ1\ÌÖóAGËÙX[éŽÜÿ2RŸm«Ž¹6×Žåh²&�Æõ¶�¼š�6ól±-‘Âw¼ß=×ˆŒÑÿ•Œi4 ­™S9�SÞmËÁ‘‘­¿
-
-·¾§_„]˜–XIyñ}HÖ6€OAmøÖ€¡ �¦Ë&®M¿iËš…'vkýÊ}©/¾éŽºþËÊ‘ŒVZo4­~}
Ì8Æp­~JqnV›}Ósð -?®Ð�ædÄ`_û…ŒxH–ß¨!o&·Uc�ê£^1GOƒ;æ6×ÓŸ£™²¶ �À.këÞR_¥fd4U °œnLnÛú\÷Gÿþ§Ž‰>i�×,byºjúj=w¤¬ñ ¦VŸÚ\-…u!<îÑÚVHßÚé†Ôyf«Fi½š“½õqvCÿ¯G—×¦Ãµ6ÔåÙÜÜŸ›ýÄrÝaq “Âl`[°Ñ’1;˜}e­Á²;òú7}üz§K¶•Ñ¦«‘ƒ@kŸ¬9aãÑTw,ñR÷òu£o¯Zü‹âêr<#Ë_ÕçëñÒÂË¶ˆ_�MÆßþZŸÍmß�g
-Ï¾’©Ê„„æ:j—„·t±Ñ2¡;=®�ÇÉ_VvýqøªÆæHÌLú/©ÑbiTQX•ô*ìg½‚¶‚�ÆÐŽa=)ùz¯5½?›<A‘dÒ-ôý•É6µéhùHÈÁÖë—¾A×«‘c²ú“'Kf«/«â×–Ìªÿå³�¤‘õÕàÉÎÇÕRãÙlñ~5Yf¿†uªš¾F:‘ùD†ùã:¤ßtÍ»k÷¼oÐ°�ø÷æoáùÍé›,k‹9_=Žú�åÅìa4Ö-Æl±Ž-PxþB¸íò•Œ°•œôôÁ×,'RÐ&A–ýpÛf”hm|â•9{Ë UÓÇimEøq~Ö×Æp*,íÂÞÛ°dú"“°CÚ?×ÁÇ½§+ø‰Ük³�I¥Öã±y
-ÏÈWã|ádIþˆÐ/7bÅ‡"ö¦¤ò&hÕ”>6§á›p¥¹Ö·0/ˆÂ¦´¾�ÇúgÐ@†»ÀÊ»ãhŽô4õdµ‘%¾ÌÞ€¾M•À¤µÏ+Áë¹�N„óÀ{èˆ;?û�bDE>âc6ªøˆ‚vCŸ‚Z”ñîHÌÌ2�ŒCâØ÷†
-Ó²�TTT…ýt›„?ü£/ÁN¿Ü;íÕ7ž�wiN¦ølm®ÿn¯¸Û¹÷‡—žéq6MÛ¼TïSœÛ'PëÐßÛ}´Q+óDl5ÕÜLÂ”³D¶^OlRlÇÆ¾@$u
ô¡z[æm„Í(›–Ri—7±½8(qC¹¨Ú•‹W %CÌ¬½'“nAÕ-aÔ®¥ •ÚMªžÄ¶Ô“ÐÒŽŽô9–XG²\û:šø<Ñ¿†(
-û)¦¶ÁÞF…ù®ŒöÞW(UÇt¶Q8£)*”`ªyëÄ~M¹6Î¦ÀÓ¬çŸjAt©�A½ƒ~µñøc¨åóhÞ#S|Þæû»`¢h-–:oñ1d.­šst¿Ö[wáMÁwÌÈ¬²¹Å`XÑÙY/3}˜96’É'ˆ~õxïƒÃätllËøj´ËÕØ? ö6´‰´OðÕø�Ãè+uæƒ	ù<ž~yPóÁ—§·Ä¬o­û|¾0ÀÞï`ŒÞ�“ŽµžŸîÂÙÜý²ú.”ý¢óÐhBv‹LÎÄ/®fóOGG!›Î?#…¥N~ã	ýa4
fŽ9!;¢ûŽ5Ö`@üh% ±©�£¾î¯¿ƒº÷�>Åmjfv>hlìÕÊ#C?æ}9NmÆVî#>Ð3\àŸ2T¹>î™2–eo´šhó/s®­åx=ëñÂ?±ìXïA�õ‡·×`.ÿ;i%„[÷
n-soB/~"dÁK×•Ýõ&à9dÍ×çqijn¸>¢ìuèÿ�ø˜o¯,£»PÈÃlëS¸oÏqÙŸ�û¿¾O*¦?]~DÄfEÔq›¯à�ù‘ukóÏñ`À}0öùpòì×§ gÄ|ji¾aÿ”rœ2ëÍÆøJBò+˜`ŒÞ2¾Åô”ðy³¶yÑÛï�5ã˜þb6ÿd¢9ö?[ÐgìŸìÚ)¢{ÚbùÁ:nf@xà§‡ÌðÊ6¥Ï`mG�ô.ôD[</·‡ñàÍy÷9¬moí¢‡éÊ?Ìò(Ì|ñ0›~Äïl¹î™û‘k�–d¢vãÿ[½}‚Lõ¡¶¹QóP×Ä÷.9n¦·5fûhÜ3ê·×é_>jDÖÖ?Àé+pJLÉØ¬…y³µm(ù->ÿËÜ¿å·Úxiw ‹]¯�øäpò8ãÜxSÞ¢¯
uÑ|9}À2¸…´-ôÀÙ¼ÿWA€å+Žƒµ©KÅ³·Sýc1ƒ(NËÏÏ„zXOûP	…1´x“R>9°Ž6�šÎþ·•V„úL?èOlâ’;>#:äÀ‘*]V£¼ê¸ugj%ËI‚ìãÎ8†n=Ÿhj"ÕÙD¿·dIº–ÍDú&Œé>îO~ý@K¶ÎV�ŸiÉTÔ|c{|vØU‰/ðl;ø›ZÙVãë¥ž˜õÑÁð¦n5+Ú´k»‘EÜ¸|Ë£_ôqY_€Vmã¦?™Úš.ÍDMˆº¤?rBÓJnÎ]ÐJxà•z«'j©ùÞ®h­/ôõû=Þê.ø\›šÚ'6‹·Èj4}/W„GZÖZsñ2Óg<¥µÛDb#³íh-žÉ(bB‡­÷�GY\9]þýöÅŸôÎ�"R³Ñiª¥f¬rP¼\ï;ëG‘ýCî49+EVâú,Vú
«üFþÙß÷Ü'ö÷OŽ�ûûî¬sÏe}1þÙ'ÿ¢rg8&É¿œéÈ¢’aÉ_®5|Í_Æ"ú%ËþþQ
-ÄT<ÆÁÏ{ø©¦âúâ…üq|?}—Çþ¨~ ±“K×s‘'¹ÏàkR\¸{·ðó@ÏáçÝæ')è�¿KÇX )ñG®®“¤_Ÿ?É×¢O°~’Š½³üÄ6ér?5$c;�ã¬p‚qéZŠ×£Õñ¬²ç:ËèÁ›WO•J ácôU+ÁuÃƒKÖëŽŸû™ã‹ìoöö\ô¿©øCçü7ÒÒü1Ù«3ÎT(y>arìi8ªôæÃÓØIÅK`Bl€É]‘çÌ}ç<V{(�¸ÛaÀŸû¥BÐ¢½Ð–”Òå“*Í[ý¹\ëËâ‚-¦Ü3…ù-¡‡G›Ñ»¤Y¸µÞ‹õb÷·ý^î™ßÌëçûíÃYå}¿§2Ú÷WgÊ¾—t´$ü7ãÔoNµ~À#AàâÛþ»
-�ÀƒÂ~qœë8=òRÙs9¯×ëÈ�ÚR{“³šÿ0÷2.¹Nr'cWgÈñG¡H²~4?9>.ju·¸ûÅP×™ôÚž—ñYö¤ÈFOO¼±ÓN¬Zòó…‘wY†|Åž6ñû³½âžËßOÌØ@Ü;0ÎPUaËçË÷ê=Vïôz\¬5ïq«ºç�¯7–ÃV‚Â Ê?‰‰B¾&öžÃÒu¹&Ë!·”—þHNi<…uUY_qêK[¾>«ßV‚rç:œ¹‡¡ÚÝÝù¹\ÏŽÏç·ñìE}ó„•Š³žßª“Hí.'G¥Qï*:]»œ±êi(¥Z?>É¾øåàþe’?=ê'Ÿ¥‹@ªXÓj—œ?ä¾|>t·ö\é’x¬fø§óef¼�*ÙJµp–“î}�ÜKKæò­‚3]ˆ\ÄçE�˜¿*>z¤ËRY=—•cé¬¼æGýJ'’–«ÉøºSóyCîÚè*—¨—çÅNCq&g�eÿÔ³çj^uù*Ê&R-÷Qàª5ðMÚ¹Ô	wÍ»ÂµëÙjèºi]^]Þž7d©ãl?w:¾«å]ì±1ïºï»ónÿi½¼ÏzÎ4&ÔvkÏ¥µ¯W¹–¼}±ç¯õ'UþyÏ5(-÷�uÎ{Åë�ë£³‡lóâ|èueCÃžœUã‘;:Ì\œŒ®#Þý§ 4?Í„äás¶R¸»¦Íð¸Ö'¬¾¼›ôüÇÑéy]rM'/�Y†‰žÏƒç‹=×¼ÞJ]½0‰aê¥wØO.ÂÝT{±Ì>œ5÷s‡/WÎýÌàÂYŠÈÕÏâÙsÐn—ê‡BDðËkWØ=�]³ÐÃä(Û[×Ž�RÁ‹ã«ÄcÀÍßU�îþÉahÏå	%EÏÓËÍð$1yæNVêùõiÉã¼'ç'OÞëôqÖ'N%Î÷0îúãù®Ó¿îŸxµþ*Áp)å–	×l4Tï³+§¼âª¢zÆ3ãj‡<yX!>¿nþåÌLÄf9[�Ä…ê‘žúá¾œó*Êé,©h9·_�¬_zgû‡�ìY3wÊ¹¢œÜ«¡²'˜>çä—Êù£îo\dŸîa_ºåë·ë|$“¹=Šúú÷w{®è°àNÄr�ýƒ8ãe»ñ§ãëR¢TÎ§“bå6—œO=õÔUoôpy1ÒÜé£ð<•î³¡çLî|Ë
-ÎÉ~vqpt›»¹,dóÉ |VðÆüáÂÃêè¬˜_K%¾8Èî¹J³|£[nN»îÊÅˆ-W�CNoU1ÃZñþªQWrÁLÃÙ?O5zÑJ¶Y`_ªWJª®µ&ñek�Vùviæ®åEãæz½ï÷ßt¤aû6Ù¨ò¼þÔ7fõ=×]3RËv#OZáÞ{’¸»�“í*Û^ô¢ÏÚ¬ïuuFýggávP?ŸÆôÐtðòp¸8?h¾³Úð²Úk=ú”ûòãP”Q.ä½}:‰u¦O7µh÷Y÷.Ÿ‡5ýhÏ5ŽÅKÕñËÀéœäç±©KOÝMë©øzæ[¥ÙmŽËÏ%o`0´��^.Î/^&‡Ç­Eª²Z¬_R1 EïþåãÃýþì)víLLC.çüRh¤ÚsÿÁK%AVÿðòÆå=\î?Ü¹2+çåÑ~õ*tT¼kœ«ÏçÇõP_t{}%¯»}=ô°'ÊÒs'I³)&ŒOúWÊÓip{:]V§„_N×ÞùiÚïË”Ô„ÿ —úk…09‰�ã:¸p‡Lhàßg¦ÝÐ!›÷ôœg’‹q�Óü
,_»øYè0+s·û¢¿\{ñð‘)œ…¥ÕQá^®Î–œÂñ7÷ÊÃ°VS­ÎÁÙÑ`­�Ýú“„'CÝýpp‘¿Bµ|Õw.ÜUOÎŸ[ž‹Â	¯†õ£bxt
#Y�õG}R¬Õ³Ýy,ý"ÄãÞÎl×o{ùDf¢y“þ¢s”|Œ$›©ÂÕiî’R—S‘ÏnY¯4Ê™ Ó}“Ý~œeï”…œKñ‰»¼ÿF<Ë�3òK¡qS½)†Ï™\ÉýÔ9+
Q_¹Re*ÁÖÑKÕ5tŽ�*ÇµÒÃÅ´~Ö¼[5\eæ¨1èž.šÅ›ùhÏE0;î·|ÓûV¯´ßm|bèòñÆ9>ZÜôO»ÞÛbµîœùâ¥;×Ñ¨}§óÃn¹-9ïƒ“)£æÎ´‡«îY¯ÜiøûgëÑÀ™{“NŽnôäêáqÏõàå}O7«»a®K=ºQçã£:¿ºì?ùôÕêiÐË?§În�ÇÇñÆr|»b{“óÓlzòòR9žVDµ6c<ÝýYÿj™ÇÎ¤ÞË~ä1øÒì*þ…R½%Òb>?yjôï§ÏÓþ<vßs&t"ØÍÑàA"©Leþñ0žà}‡“þEÎ—JO®É�&Åƒ�£É8è<ŽWZÉãiäèÉ�ðgƒî™k©y£ë™]é„’O’‚Ûy2ÓÃ±Ó¤Rî�ÎF�oR]yç«Îwùè›øVç·š?Ÿ¹¾¸"¾q Vy<a|œcn]Ó;V,ØAq}Î]un|;zâS‚vÊ¯´VD(2™á–Çõ³‘Øôr'R í‰Jwqï�¬HÒ�<ä’1%¹×•ù“ªª¹òbxvt3»<»òyüAÞYZ!õ)•/'¡eszp^I^‘ã¸Õª\ôÙçE8vJDöÅå|Ïi\õrQQêx¢£eç.–©¶BqÏYë%Þ™ÖŠ‰óDÚ“xé0WÉŠgÅ¤˜\ï>¥ï_….�Ê<}˜jÕÓí[g8s&×¸Ì<Rðg«ûº˜Ô|&7vžóe6›Þs„Ù�/ÌØÂI±Áuü¥àSè¼|àR›ån»tP¹ìçªÌÑð°:)^ÕkM¾ÎÕ/&e½qœ¹Œ4�ì8hâJ¼lÌ®�³dëz±œµã'ÕÄõi&´¸¹øÒžë¦òoƒÕ™»ãZ9O:¡ûÈ]ušv#ÚÍÍ} ps}¿:d†Ú€=q÷êm1ÑOŠ)m >´Üú‘ÚOêÏ+×àá¶g‡…çÅõc˜�ÎˆUF“§ƒkùúé¹ã©í¹ž»Ñpk\ÓOÆ“Ìq*4
c/3é¸s=÷ÄÔËÁ¼ìy™òw‹‡s³XD*ù¬w:R³ÞÃéB/:ÏÖÑVÖÇ†*W‰èa:Ë–ø¹ÈÄ¦QoVºî.÷\Y_£9{t¾´²gõëXöôö¢ëÑ¼ÇÙ´Ø¬f4-À<‡y¥–Ÿüm¿í´BB3º¾ÚÏÝ•ré¹—:ÊÍî§™gI½ŠBÅ\íä¨K4²îw­g‰¤”;;iÝeËæ^
-Ç©b9»¾:Ë\kÙþCýZ)yÏÒW™làškrÇy¹èŽN2^¼O§>A�]–3í«ûö™7^æ+O·ÕÌ]iîò$/FùI9Ïœd…ážëÉyPª7…ÔcÆ¿öÜÆÇªRžæžÃQZ‹Å§ÖÙe)¯F"™H?+GZS¶¨†f'™|“ëp,óä*Hò½'“)íÏÅó ·9¹Pêé‰Wõôê/•—z*zFÖ%½çü
_éäºN–O3îçYü²qëJ”Kž^3£ô½jµy‘*Îk7“L´¹>ôðÇGñBÑÅ-ÒQÌ<Ž»çÇ­z¸v”î]\7‘ÂõKcÀ6|é§ëâmÑÙ(ø÷\µðà¢‘9<6#Éä¬Ra^‚ËWÙñäè¼”r=Ç2îƒ}÷Lº¼ItbòRM7z—q­Õl�µŸ{mgºËÖêÁôÊÛì%Ki}•§VQç¸¶��ÝÌþcìlÏ¥²¥ØE%í&3'þë¶G^)ù¢ÖL,ÒÅ„×û¸¯ž
î®R¥JºØ¶¯KÍÐËµþñ¦Ïâuá¢y×¸
-§ã÷éÁm‡
/õ3W�/;•ôâº`o+| rßÈ)–î]$WÓX%Âö×MNg˜~å~øréê–¦'z:3Ó³µ&
-BÎÝH7„§eê²ž_]??LÓ½J°ªÌêþD]}ŒäÒOaoÄÌUc¥–š=J_Ö.‡âOä±ÁT®Ÿ¥úRh«£Å=#Ý‘®rU!ß;?¸¾œOéz-7Û‹û«›FIKwÚ®$[™œŒk·ë$“.]L†“ûáñèIoÔ|dbc÷=7UÃzÉW¥#Oq"ÁÖ3‘‹ûb�Ë§³/�ÔQæB¿Ñô»|ºš>H!È?¸’C·ÑôµØ¬{ÎG'/¥~@»È§çg®GßAö4“ìè�¹IMNÜxû3g¦Î­îrÅäÕaa¡Jjæá¼¨‘ý"ä2\$RW²×gvý”=boæûÞ,_Ÿd'­£ûÉ¨ªxó�ƒZ7×Í‹êýúaåÎŠ#%~`øú~é¨–kß—¢¹c]X§ú]þ"—âNæÙç³F@yITOÎIuö ÛÙ?Ýw_½9i½vç:Q¶õ g}³’»Ÿ{"Y]¶ç§ú]ñð9àÊ¾ÝÄòËáóª æ�½ÙîÅóA¸¾t	ù¶—½ÍVŸŠ–�ºòÞáÑ]6=|ì©¯¼ªF«7Ýé4'�Ä‹Ý~0äª´öÙìãÉ¡X}‘£RkÌM²ußu"¹È7/‹¹�æÉ¦3¯Y&�
-¹!™ó…œ¸žS5óÔrrìæNox¦‹zû6Ã>ö¸Î´ˆRy^mtû—Ùü�ó.œd»åñúä:{QËÍ/–Åù¨UÎ³Y±›é0OÌA¹˜öÊÙ£A2ñœïÅ3­±ÿf–}.z¤»;o~Þd×Ç\6ë¬kÕ)¹&«?*d«Yùòè0)«çÓŠÖðŸeý™IW~¹¹àKóûõeö 
º“µ£HaÙig×ãä u˜¯cWž“lIÊe¯æÏeù*,g¤¬àãsáhç¢Þzp²ÙãTábÏuA×«Jç®ýÌ*4)2­u}VN]åË™VÆyª$¼É®¿àŽd¯ûÍ~çù>0¸)\jYñDéTÎ¤à¨Å×\ÖYl<':Z&ßð-xgfæ¹cä+¾·®æÏ¦{®Œ¶ìiîÜåô¦¸¸.²)Ñî}~î^mÍ²Þëºb‚÷ÑÛðãåUö Ö¨fï=­V÷qÑÎŒžÒ…›}™4’£àY¦TRLžõª¹V>ž¹Ð˜³ÑcÁC¤>½,„sÙÊ0Ìvüµæ“æåúY�ëé¤Ü>Œ$nA¶œdîR6iï_G¦™Ûû¹[Žßè­Fþ ©gŠ=1ä.ñ¡$vŽSÙÇƒëq_ðž?<dNe1+ßœ°D¯;]cín~='ká®f•ãì´Ã×•ÃÌ­°/Ÿ–Ï…Ö*äîgŠåÌ#?ç’µEªœÈø¤jãÉwÑ>IOOòýâYâÌw·ŸhT3.¿oZH¦Ï¼•ú±Ëˆ×÷‡{®ü�’Ê'V�º;S�Ý„ó�dòVn_7ï3‹È¾žë)ÃÁqw”³'ß.Æ‚£—~ªö¢æºÅS±p¸Y_IÇãRîÜ·Žä{‚ô˜�ª�ç\À‘Ï3õðÅ…›c÷É®<^û–¹nü Ìøƒ¹YîðÂÎ•ÇÉƒÇ§Ù�«ø’¿z.ÔïÖóÛá¢yUXñ½Q~èí”ëíûçÛPy>›&Øjâ2ß”Fjî~ðÊm8ÌûŸ„»\ô±Øs×ÎVåÜøB¯žÇw=%|rW9Žzùe‚{h^RîÒÍeÐ™‰yoöð¼5(Ö¦ÍznàÉôÏ/ƒÉZáº¢–rQNZ“`0¿â•`ÎvÞ»cg®Þo†&Dã�¢÷æŽí7«ÌA4é\\–Úž`©r2>nåž�PKr”+]WZÑ\¢Ñy–Z½F¥xy<;Ï¹.ÆGÇÅØõ²àåžÎ
-ùfË­ÉeÞÛÌ©þƒ|+8ð4øfÞµçª<Ù‡ÜºÞ|ÈÈ�ÓJ50\-r™E.šeoËÉÚÅ]î8›i*ƒÆQÉ?P.²mW?ù0è>G¯o¥‹Z~Î<]?T–í+}’”òþiæ¬8w®ìí9BbQBÉ±‰×W¨>ûkëœŸ4¤Pm:+O”ñU¶;®�_U:Õ"ÿèË"Õ`á>zUòÞø2\>yµìÖ/Cl³5hKW9Í™j¥¯ÖþLcÜQžsbF™‡òÑX·Ì5AV&ž@¢ü°_‘ùâsVšJQý¥îJÞwSÑR~(ßw®ƒÓÎ±W«çV¥‡~‘ëæ.ÛUñvž‹Ü�c±ÒdÐŒµÏ²ó“Ñ•ä*5µö`)f³çyñøîxMä±âÍþÁ~!xw[‹VIÍ×þ|è¦9¬õ\åygèÏOrµI{�íëãNà!çŠ8Ã!,W$ó8peûÓÓ€šN¶«Ïb¸šYÞp¬ò6’Ã€xw”ïŸ´È)ÖNåÃÅÞí~œÈ`Ùh©ps:ß…ï\ñœ�HÆbû±s<Ï«Y­s3GÕ‹jS\±ìÙùáãqïò)^ì¬�©Šªæ}÷¥õ$}}èM•žŽ²õä'§Ÿz/m2—ŽG�¦oe5žá‹‘háNs_‡2±ö]¦2÷Fò/ÊÑ}àÀ?e^˜€�ï,B5ÝÝ8jæ’�g±>yÚí»Ô*wzzQ,.óaoÑÝñ²ÓXè¶°ôj1uš"&;º~nNÖ/Y±ËÞf§Óu>{ßöÝj¥œK¿º.×ÏÝhõÂF+©URJã³ZlàëÜN%^ÝŒrù4,ßäK¡N¯p.q¡à˜ÈŸ(z1_¹‰�¹ø;Ê¡š{…Už]_ˆýUíö²rÈL¦¥ïi¹ÕšÙ’¶˜Áœ¿À‡ÂÅvºS/Tºë`´ñP¾,ôOÒz¾—º:/ÂÓËÂÁƒû1ïcU÷Ñõ¼·Î‡ô²÷ËþIaÐy\Ž_ªëT"Wg2‘j¦"—+Á†)<Õ»ñËÓåS²4«æóëVõ8x!>•‹�c��—ª­�?=ÎŽ
-“ÐBÉÝiú°ïâ3ÍÛtÿ¤ñê¡«»…Ÿè•õ|/�*rI_#ŸäÎœÕÒ}1U�ë‡ÏÑƒÓ¹«ü�ä3²x)¬§áP)ÖbÄ\�W�ú™Èº�ö?§K/BïþvuqÔj	ûËÛâUúØY¹u´F{¨G
-µ±‡H©Ëî×’„ó]é¨u6ÌO*)eéÌ-¾‘?gÎË®¹™ãS\»ÇE“W·	mí+ñ§Zµ¹HvÊíXØ.¬™’˜Óën³¬çK…Cõ*)º•ºS÷0„ó‹…ô•pw5MU¦ÌM>—;ŽÆ¥óiñT]‡J“¡¯uËžä²�«š�)’«ƒòâ¼ry­òƒ`!yë¯$'¹Êõß!
-[±¿9+¬¦…z†{žäîo	?SÍ¢rvÎŽŽˆ†ž.ôª½ó‡`µÄøbÙ&ž:ïê|­\?•Ó¹Ó“fázÕ*]åÇµöuÄuÅ+W­—=$w®…ôªÈÖ¯˜ä0§Ü-]�n1Ð~PJ“|ƒ¬þMÑ9éÇ‡ëp1S?8)‡¯–þ®ÉÎ•c=™hfo’#aœ�»YöŒ/„¹«Ç®–ÍU;ýºÿèeªWçéûãlmQ´È"°L‡¦Î`õÁ•»l–c…Hº’MSñ»=þ\éN`ÒOçw¥R÷hŠ\Ìå^FrNŠ…æqZˆÝ4*™f#”+Ü´Ýw®A {™=SþZê%×¹‰2Œ��²·g•§G+—ÝìMö&îbËÂþä1Ù\Í³dW¶ÔÞ¸8»(×É@\¶í\žžê}_é’(³åˆ» +žø=ß?lîýóÇªÚ»é4Š£“xÁ9ñ;Ë·k5Ÿ½½I%ò—„)—"Î[-|ÛªÅòG§Åd1PŒK{.~5!û­7ö„ê�þâÝ]ôrÍõ]´:oFÖ×ÉÙü¥¤+áAEôfƒ¥NæF+Þöù«ÒƒV›$R³Yxª>Š•n¦vSÅ‚÷º8-do�¾óÄ�3¯]õ‰öš×ªs­«ôaÍ½R’•qârU¿Þ?­UòÇ·…rHt®3«ý‚¯|ÎçJÎCÖöM«§ÅEâ.Z]=ò­»±°¦©ü¼è¼wÍŸów�~¶z%zoÛåÖ
‘.ê½—/Ïg�âÜÓ®VóR¯”ŸOŽ¡�VáJ«Ç¢ÒY-Õ ›JšzØ,0§7>¶2`Š“ÀÉižKâw©ç¥«•Ó_š•öUù¾6=Õ¦{²–�O2}"[†æëÛÚøá1UÔoè¢Ý`ü•…/÷\¨‰gY>œ•#cî._u:ŽÜ•˜T¨žy|Õ\n¡µnæµöãEU)kÓG_Q´ãWîÂå°ªÞxÿ¦úPoE÷	ÆŠ®¡~«¼Ü»•jî"»ŸŸ]?7|nµ.–7B:w?î:÷§áÓ»ƒu6]©'ÚD«{Î‡®Ç=á¸ôrþð’¾¾ä˜«™¿Ý+Vµéô‚)Ì&
±ÐôbÙB’÷ž²%"ó;Éî-ïŽØûd«ÐÊžžV‹ÇJ¯uÜô^u}‹‡“r÷0“)”]§7··AW‰‹æqþ².¶ŠBE+L:J5s¡4îbÇ�ùîuéÜ»¸«Ì+³ËV!—Ìx•=×íú1Qé?]Ïï*�ºë¬Zî‹÷®ÊjTkÁLÚ{�ToÃ±æ¨˜©©Çç}…[¶–•»@Az
-ìsÓ•ßÝp+¥»üéQúðHžçÆ…Û«Ñ}3XiÍZ'ùd's‚m¼¶ž\äzíz˜¾Î«~±¼OŒR§™CÝÓ*ç²Á€RÊ6Ç™TÜ›(�Ž\Aï¹ÿb�yQ]ÎbdÖKß6X?—dSþúã£Wœü�mbrux^-¥¥À%Ñ÷³å†s^9¹œDÏûÓi [ó¥jFkpÕ©Îg;Ñu XÌè¢ëðPÝÏ=%G�û×ñS:¼(¸ÏWÅZÙÙñœ¾y,ŸSn˜ŠÖlåceü�÷,3bÙW×Ïö\ŠGU.rC¹Ô,j..éõŸœs£ÀE¿Ð‹v×7ýVØ_šÔ�.ëqù¹P¹÷¥JÅ©z¬&RÏíËêÜ{Wtæº£²æ÷ïŸ«BU-„íuI
-†÷9õlÀçõÙY„Ð˜ïî¬ç:�{ôüiNó7.8fÕŒ^èJE…OjŒvy›?ÍCå¨xV©Ä5ñ$&È¢æuÅÒðlÿRîtÛE¥ÿÿStžÉªQ^Á]„""*Šˆˆ&rÎÌ9Çý?Þ/«´p`æôé¯a,çUƒúI(jO?)½@ïIš¼š)TùéŒu¯ÎÞVq
-7¿GC§‘ÞÂ{ìA¶#ÉKBß…áóí¶…VPÂx÷J/¬RMÎ&´ªmõ¥´Ÿ�Tcé•¹Føˆ•ü0ï³�‚‘ç½¹R�ÃoÃ"i·Žknš?]G.½g¦Ííßý©xÃ¬S™�&³Z4ÞÉxdº(hÙØ^&˜/óIëZÎÜ1Õ¬Qzí†Î”ìg_Ü¬¦ý^íºèå
-ÍU'¤Ûì…%c>€ÂÎAüÊ¶–t?:WkÏ@Qr1I'‚_¿é�÷ÄZp:ûÁŽsÀ¾Zî‹¨è¸]ê Õigùõýo[ÇÌIR}õA´Ù,*yùútõÛt4.ºs°þhªQoákû¶0j”æ¾úÙLªé$ã–åÔ>öC‘ßo,&fà+eÕ¼ízøÝPi`¿=Ü0öm¦ãcgÓ�g‡³ÞzŽ h�6¨Ž×LÒ¯]vœG1b™ÑêÁÙ?MF‘ì#G©ÞÕºEor²ÒLü4Ø«‰ÏÍ9±Î¬F�öZ?}þ•ª�]™èØ‚ÌWµŠ ÿbð‹ö%))4‘dò“QCÒ®YäÃ÷xÅ§-ô-íw~˜'·½�’»/zhÃjsÑi®_ÎäGÉ¼ÉÎ·Òï¬,Å¢ÑiTš¡{`Ç
ÅÁY0¨èaIézËÿ^)¡©åªóÕÄþß©]æöÞÈ}‚C]Gñêã�U§d¡þl»¸ò-ÕMcµ
¬¨m-½ÑqXU�™1ÏW¼fuZ¦—¼ñßz·B•›‰ã×BñŽ—ìA=
-KÝZ”õzÙÌUuy’;&o�„ÊºÖÙxÚ²^ns/{f¥-/|3kÊE:+
§´p…ã›@½§¬‹N;³eÿØ&jÌh�ÓŒÿÍœNë‡0Öní¾kt._8ÔÇZË~"¿z�5qÕç¯½U÷ôhSpö×L‰>
œASÈ©7i€†Ñ$·V!:�ß—±~ŽÃ‘Y&�RÅVÏÂ‘Uj‚…çvçáˆÑMr•”¤‹€½åG†öybGn«³Ž]ç�[Z¨6*ˆ`o3ØùæäØ5LnvêÛOõiø2è~I‚C�:KèÕ
-”á}\ddñÙox‹n‚y57éqÕéZqÎ¿æ­n™r»Äô¹�Õ4½ª6K;«…Ù¡á¦²œž7ZÒlˆáŠ{®íÃóEFå‡!ù­£ÂIÒ	\ûéðòú�Wqãö¢�¸ÑÛ?X/Å{Z¼ÙÛ¯Û4›¯\ßTVŒùÔ�\Gz! ¢š¦†!lÕïiGCÇâšXîSædÖ?§Àrì±½¿4ö3œ¢�M’aÏ¼÷&J×Jkgì®îùlŽ*7ßUµMíç„óÕ‚µ»¥Ó7»L]¿Æ$ªx5'Ýø¹šœœ­ÜåF¹Ýi…ƒ3¶VíÑÃÏ?Ê{°sÆ¸Z�?°>�¤•§lÑ¤ß÷¦ÐËÕª‘oå`,¬%�–¨]^Ì¾à'ÁÖÆ¹šd\.ÛÉŒ×„«†G=ÓÌÅáÌ£m%Ü·y–‹zá;`ÉQßÚ©z�þ?åÙ×xK?Íë«»ÈGFœ®¦°–mÞÿÎûÖˆ¤�¹´
-�Ï/<Óñ±,WMß¶˜ûN¤òUi>žs1 o‘”ºŠçÔšñA)÷Ô¸A£Ìøê Xì1óã…¤LGã©g$·ê€c>[EÑfˆCf‰Õ/Ë‰²Zy‚µ[Üy ßµíMÛi5/ÌgµTÖ‚]>‹Z£2$Ü1QÑês
ò­(ÿ@æÞFÊê±¼�»(]q!LQuN‘e»q|mà°’¹ZÅƒE³ª-Š×Ñëkb·É5žîµ“Š€Õ‡Ñs�À§èã=
Vºé¬¯ünÜ$½2†–ó?ÐlÚ¦øí@ÛH,`1‡èœ:úF+��$÷K“‘»ud#+ÜUF?�¥¾3t;7»ÒFcÒ–±¬*Wç$sÞy>Ö 	nÝì^E~ÑS4˜j5Ñ]ÃÄcwM‚d\£!OqÖyÙi�èy@7f:ßNk#ß«îyj~ÉõT–Í¤' ¶åV»•~ã3öÖæ)ÔÕ
-ô4'Z÷!|ÑŠ>fl³êÖW0Z®É?Œ§ãvÚ@Ã{ÝëAKˆïiÅ±¥-Ùýñ›Å§^`ñÔ{
-ÇƒZÏ,×X:Ý½óáèv4Ú ƒèÑDnÁNŸÂéÔ;f:tJ¾W³[s×¿ö¤¼¨OÖš.m©úíŠÕ�lpö2L1oy•�Ù:jãµO&Þ˜7ðŸ Å2ùCn Û<WoÂ!Pý,½¥öyÐË‘Õ/Tyß 7‡þš�înLÜÎ†e,D›-á8/Þý�Ë_Ý¨Ïš�¥JÞ�óûèˆ��lÉ{=‘K¶ê¿g89u®Nx	lÙeÏ‹Ù¢î”Ÿ—pÍ†çÊûlÝ­{ÍYaÖDâ×¡Â?˜Š&uÖ~2t=Aß+kN/ðCH?‹Øóù¨§t°e*ž»ÿ½i–¦„(’ò±ƒ°¶Ù5ÅêÂ—æ}Û|¦‹�ºù£S X}âø¥mœ�º’µÐ¦™~¿¥à9ÒB¤ù˜éº�éOåR[È5Kýqé#ÉìKCÝ÷]±‘;»YÊ¯ýšv&{ @vÇWVÊü™Õ’¨%?zQ¨Òç¶í$hž;\3õ®Šäh}•aÐZÇŠaOtï]¢÷X|z<•%Y Z,ñl�©9•ê–Só¡UVþÙ!ÚS¿”³Ò-KÝÛÔ¦W �—åû8ž÷ýÿÛ9‡õ Ú85úõ!VSÛGÍÕ›éÙ*­–úäõº½Á3 ´òZõ'_2×²:ªõ–îÐˆæä4Aû-—Ý´[?d/)$æãlÈ<F'õÿOx=»wíaJv´µç}�:øG‚j£õ4ÐÎhkkÃ%n‘Ô·ûéAJ®ò·¸žX•#‘
-ÎJãéˆLÈ
-Z~¦žÄ9×cÔ ?."<§Hv¯zÑŸóÍ&c:ã’ºùù×¼m÷ßêö,BNXâµøô’`vÒ†}³ÊIp¿{üpÚˆUkž>v,e]«K&áÖ;öž��špÉ(£Ýß‹F{…öÍScóñõËa–Nø{.NœKÛ]ìêÛ"Ô*»1°ÙŒd»èùSªÙ"Â�×µ®§;ëì°}	Ûžù«mk¾Ëe {Œ1õC¤^^š2ouºjQAT¥?0à|;û!§y!èSDÐ~D-¯üÉykÛ³{_%)ÖÎ.];£…-­“QÍã£Ù^ª%/Ï s¶ŸÊñËß…)f£=áO©0´ßJøÕ)T|¿÷úêÁÛøu›Ý,NÎÜ])ë:šµª#nÇÎl¯wa,Zø]€Ñliðè§f5p•gtÝ§%$nÄRLÌgNÅ"i¼„^»=(a	ÍYÜ˜»ôþ@¨«c¯4ˆeB¨æ<½ªÙ?]YýòkÝŒO½Ò�Ï×¯yZ£¯´`{›$½¼VÏp¿òµÑ”>1ÉVï®ÊQ™8»qW'GÌÞpü´MÌ_é¾ä
-07º_™+PÛUeÞçÒëžP9¾qÙé¹vÊñ¼ñƒáÔÑeîÎ®ƒkã·DÏÔè,_•øæ�Oªú]/)Åm6ckÕ7:“-´B•ïòq6ßÍF-›OÊWWiSã˜Î:k+1 7#˜wÀÄbe[ù~ßþlšÄy]WÛæ$uÇ}+gøT	P–BÃdxùiKM³ìÓ/úØC�h*bÌ�?€­yYýp7`Áò],¨ŠVê¬»î>b¨ú`×Z£Ní­êèqÒKKdgÖ¯Ìj>ìxî�M£7«)ÉÞi´è_ëÛÒm”Šæ�^Š?tÓ[;ïàíï½¬‰=à†ÞÚZgEl»åói¶RYÜR—%.r¤ƒk-k?&²ÁyL³jÊh­(Ú*“÷5&É3ªø?°vEC*®.†ÉWßéýÔ¾:ú¨5è˜Rã§hy³É¸uqŒæÏPæÂjùfÏ_Þ(á�žŸ‘Ÿ¥ñM"ìWN5|õélMÿƒÞt}y6»MÔ0¡nWw•o‘_Ä<Õí5G‹ìÑ©IZ›¾zƒÒNß÷=Ñ“>ìD.ù‹b¢ª�Ùkô°Ç—lé»çÉµˆ—fé“©è\‘�	3F§:c\¥ÕKãœ#vÚuûÌ“Ê¢Â1ÌkâãöANÉ¶LËG4tÕ>
�ïÊ½Žƒ~ó©WöåM×Á£e¢àÚvÎf£õP]ÑBy¡üÖH‘§ûó¨RË4'ÝI—;˜…#ƒ›Ç4–Tqûë�J"í÷ï�*{*u¢1:ê£©A*Œ!†Qï}™¦Zuºë¦ÂãÈä’é”¹²Õfb�«ññ¥|@é.OùÁEJ� p¡Úˆ+nØôîkšuó¢6‰Oø²—5¿iwÐ­Ø�’«—Þ‡_PW›/U¾–1ÛJõdÖ¿Í!¯é5ë×:I«[8dg¥�_NhÎÑÞÃ*~AÞàQÈÕ—?Ã]—îFGL"yy(Oe•Qæ««|µ¦¿úè%�†åÛ¼‚~XJ>>²æ&ÓDš„Û‚Éæ¾|ÇjLH5	«îøY‘³î½*ù°Œ<ÚQ¡Êû~emÌõŠâø„UÑzÊ-BÛ˜Œšä±£\”+Ÿ>…Ø ¨~Vn,=�tÏy·Ž÷G®v�ÃÀ�Ö€î‡T•ÓöÝ:Xð\vàNSŸ”‡“9ÿþÿ;çC¯¶Ñ‚Ê²—ËU£F<Ekx°YÄ÷daÛÐöµ&Å®‚¹CéuoUI5)éU=¬ÖpÊ“j}­V‡@gTM��Ð�3ÖL-j•�ë�Ý’)˜_@ß_ÂDWçéÕ3z«mko#�*M0ng%ðy9µµ€¾ê¦'Yª8€‰Ñd¹¹E³é¢÷Í-²Ÿvv((µÍj»“Çüº9ÄV8‘ªT›Ú&ÀK4Q�ñi`7åìš;oPv|UÅn#gm¾&"/vG„CÍ�pØÄ‰¹Ì…Øú€W1y/¥-¡^¼²U§^¨‹±ÒÚKèÂ4Ü¬âiÌ±È•ÕvMÝèžT™™–e]e<´Cï�]ùåMÇS½+.†Ó�Ìî!1U'ª},)AôÉ�–^ãØº)ï‘¿hôú
-ÓÝ'5çzõÄòuík*çWÃ?pÝÝÔ<ATÿÐ7Žóþ…˜�÷÷Ý+‰µèÛXµ�H®_BX…7­ƒ~Ìm~ØÍ¼²Ftª“;1Õ×+“3«þæ!CTÖ‹¶L)]VÍ51¥ÍXüÿ|ŸûPYçœ½ï®x‡Îk9°]ÃâRn¹Sióò‡<½¬_ZsÕšUÙ™n*o ×ÕJÊêÙ#Cª}³Ø¶ÏüMSÄ_)ªÓv‚=—?�F«·oŠÍM°hXµÖÅQçµ®çw¢ªUí½ô[i<0òwó �^ê3[™Jg±7ˆÁ´Í=­�]6½ŸÛààðc¼ða«pD*çj©æcØˆ-xìÇÛzý[¶(ëŠaS :Ð—LAMJâK¥û	Æ?‘$CÛ…ÜýÇéµê¤£Ð˜Ë|%.r8ûüÉX«dÈVÂ‘“õ†×eõ¤Âr6l™éµ›ý�òÒ˜VåTô‡÷+øj¸j¤äRõV»�6UÉJ¾‘ÞëKÇKý‰Z´=¹ÝžnDÂ`7Êý^ÒxÏ²âWa”més“×˜Õ6#PÐð!µÏÏB/‡°lqõJ’Ü��ÄŸµÚ:×‰.Ò2¬êº†Îm1¡ô¶äøÇN)
Ë×C¹Û¨w;bé-«yw•†›ÜÔÉ®b?!D—€}±¼z+æ,öP]ÿ�ÒP]Î\‹$³51É}î§GÔb_º‚)O&È;ÖáI••«§j¥f‡‡6|;¸èç“Éž¯€W�œøÜÃÏX}©¶Ó4M_êz)¬yÖ5(FÑéºdäòh<*=ãw8ûÒ^«­:�²úz�œ¥9Êï¯,�pƒÅ]ÑþÂÂB˜n›þoüÄk£Å9�Üx¹’™^$ì<äù¼ÝûÚìbÆI†§tþ@Ïà™i“È[š«'ºf\ª=»ø{‘|'€f3~Ñ[´Ë~ytr~ð•¯çõA½¬o'o§R¾4GÇFkgß_}I2C=O¶œ¤¬˜1)-.<Uþe-�D2ýásÛØ×Ò–¯’¢›ªûr~�Â›­öÄg>[ñˆ�t½3u÷%²vÝôï
-ps�ßJ’Ä^:¨¹?¾c¬û<*Öµæok>],^‹ÏMaî€Ù8ƒ(,©x>-¬ÆÄñw8â#²#¿1Ý~¥~oD ù„I�^/>H€²–ÏÞþ3Ú´*"ùË7½·<;K*@úÚ�|:Î²åÛW=ÅÅ$9�ÔÃ•€ÇMî§™ÅúÈ!œIØGüÕBmA›ÃJzÞÞPÛ\´Xß·6(†mëE¬ä,EcsE”yv6²O.T)êze„ÐH%
-¡%.U’ñõÑÙÝ¥£x8.ïæé&â‘Õ;p4‹Š5%\†XåRCnŽükáR¤;±’j<4´ÏzžâBÌŒ¬Ñpq-²ŠÕLE³Á=ô‚‚Ž¼Ï"WÙÌ­ÚÖœ­Ê¥¤.«ã,¢NÉ�•ä«·±¬¤jˆjc%Œœ2º×£‘{|&J0v5e¨œZ¨tùìO«
-±]âàéSÏ0û.”¡Š’ùæ®:ÑÝH
-z›{Ì-b—#¥>ŒÞÜöŽ;Zû(,¸¸ê¾Ú¿\ÕJÎ¨.<¡5àÆª,î†J3ž[z´¨[“Ú«EþLàsXƒÉ®Ù
-Ò\¾b…ƒ)j´±IG¾À¼šŸ‰>peM¾¾M­™ª¤Ù'�7v/=îúZÃƒoh]Þoš~–J_Ô!ÕÓFN;Î’ríU¨2öx9Žj3®z¯ÍaÐQåìÝ”ú€$~ŒZO³ä(ÅÊ®v­¹œ«Üg�Ï)ØÏÁ�lŸÅcÓùÀ]g‚)k0‡ÊïAÎØG±7�u+ý�ÌlÞ®[0æ”ek‹4ÚÇ×îb¤x•‡Ì\9¬Ï¦�`˜s–•^K•o=dë’*OäêÏŒõ�ìÝjŸ’<ÖÚCVÚ¢‚ãt`Wæ3žHnÇ’e>¥k1cSx·‡60Æe&ZÊò·ÕXÑÍœáø,Sö©ž…EÚJEåèÅòpeìüpÒÙËýÁæN„Zâ–yÐ�)RUÛÉYˆ¬OóÉHO>�ìo;áð.'�¢Æ)¿.%÷ä+fkØ5åVC,ïÏö�Çý²ÜøÆ‹Ù› Ø yr{æòGîAwè~gr]© ¢à¿Æšxzò¤Í¼—–S	Wæv5‘›Ãå¨p1·5/å~#¼ÉÕ2’IË!Åg»[‘Á>AÑþšÅƒñOe�¸.ÛV�ÄœÜ¡»RR>¯÷ÄZï�û�“ÑþƒH€]Í"—ÕáÓà¾;oÏ¨‚.¤�ÐîÌìö¸–€À“>çr�ÀÛõaP¹¿éNí¶ÐÕXc»OOº­ÃäŠ¾®,ÑGç°¶ÃÎœïHŸ½v^km Þ²ß_n$§>
Ô½©[\çÎÅºÔWRUúÇj{ú?YKK=•;�Æ^8W…k—m].ûÉ£`B…bºº†-Á¬'úNéwÏUuñ¤L?ÏÊh\ä5¶ÑÅˆžØ­(‚XWUäŠÔW½Í5Å›Ñ+mÑÓ&ËºÛíè@ƒ{k�;·óÔÊ4~±ÌÔ«T¤åµòsrTéÙ£I‹“š¡¦oa§‚ÖòÐ®œ�‰*Š��rÑVÝ]¯óxXØGuÿ@­ýá³xÿÿô`Öz©Iõò1:#‹7Šl¼Tû�>Í�¦>ÒÈ–ò+ãyoýþý´ø“”¤à£êÑM+êo|5’b†‹Òæ·sèQ¶Q³wýãêâ™+T¹™EM•_ü'ÅT�ÁWy†&8¼-šOc„gË¢·ÖF|åº
-õ¯
-«NŽ[ÄV� ‚”º´Y´¯s÷óÃ�ê–tæªÂNý€|”‡·
-æÏQ´bÉe4Rbe@öØ¬'š ÿ¹(3þ:®>øVCÇá¬§~M™ƒÈ
-ÓPTöZ!œx[~/z$ÊgXøç&‡.øvkJ„¥�¡ˆ)«NËÉÿ;ðîÞò'NÉÌO³¥ü”?›MoØß¥wœ€T·¢÷Ã/´Ñ¢Ï>çT°2ïh¡Õ‚îf\œ×t[žvàçÚÍq³£°>¬÷rk`Û WVà
-ùƒÊ†BÌßmëê))E9Æô´¼·:ÜU¬}¶í‡šÙñg5š+Ëð›	éüìO¯´Q¸J«æñÚÓÝQA0ªÞ’¹ a[Tm%»â¶¿"n°z»UV¬K1JØ]Ôsj ]”o/4¤½dÁY'Eâ~Öd‘ŠV8ÝÆS�¿ZøµæŸ¼Ùö=–OÂÎ�j‰„§#êâCl2}º¿oà·S«BêÙ£`p^€ºøÿI¢{*—„ÜÛ¤è|*½R§Ö[9�îå)¿DéØšˆqÏ9…8/�'q} XÅwŽ9:NÕðF„¶èÌ¡ÄùRË*â@‚{éAWZômŠ©H±úRøßµ�zjá­…ËÈ’ÜiÔ@ÀŸ]¿É‹UãkF5Îvè�’ŸÕedÈ'¶7ë>)ß/Ë™BÕºàGÍŠ$¿‹v9¨u…nK¥õm9}ÿ@ä¹t
-³-‚ë3å•UÔ­©Ú,F<é‚}ËXh¸è,ôuúÕ�]9ª‡õõÂ©§mr—T«,´±Ð}âòé¨ÌÉÝ«—Ñ·_­°^KÅÑ«û´¯éò³«šåÊ«¢¿àj�WêÍ€ŒŠ§·‚8ä¯Ý(T9/kÒ3ÝQã­ÖÕrˆ«7rZA2µÁK…Uq†áKW²ÎÀ�æöœüóßª¼htM•å× TÓSMHóáow|—›C´Z©§\ñÆðbê.k”T•ùž«ðïküy94LÑ²“Õð¼Æ$«é>¸°¬RÙÕú,ÀÚ^ÝLþ@¾Ãe¼µæD_C´:¸éÂÕœb_µ~×;b�ÑÕ�9ÞWžð·½ˆêýSx˜÷@ýõŒ¼_6|›2,¼ú¸Òÿ,k®t†��…ÓxÚ¨¬
-A`ù¨Î™—Þ=ÄZÉüÞg-µù¬ªU|1Üé2ŽíŒIíGÄÒÜÄÔÕîèÓp†˜ý3R·ºÑìŒ¯p~é{
-ÕÔÛ¬ÓhŸãËAÆÑJ¥Ú@„°3vQÌØd=å
é>æûMøËUš1õ­ñö¼î¤^MT‡ùjg©[øFkQ	½i)ÒêËô8ºî£º÷àæªªäýQ×zr'mRmåÜ”Í*­”¾85j	ÓÑ·@›¯±®­ã/#4œ÷×I9yLi¬o·¹ªÛÜG„ñº¨ÙÉ?
Z¢ûãÕÁP!¯œ $àöî=ñ,¤Ýy³¶°6òcdèÉ¡\O�c‹õ¸RT²¶¸­,¹öå¯üÒõ}t~#
¼£HÚû*�•Âî¸¤©Þë\ž*Ñ»W§Ë‹«o&ÒØáÎt‹²ã‹õl}¶.¹43ÁÞ£[o`ú•Ä(´/ágbÈö€ô¹ýSZmJ„nÅyÔ\Ê#S%~¦—¥¶Ÿ¿æß²l7Ø£=„ew=Ì‹Y|æû�Üe¦Õ”å<•ÚÆÖ¦‹ÞBý¶òÍÞ´ôM,Ö¥Û�S^ì(ºR3W�¢¹=Þ^ÁƒsÄN¤†Vºª²E¯‘ÑÄƒX
øÓÜD fçº°`À�ªD/ÉUÀñ*>>ßuärý5-é5UñÑ8.fLdx<ûdWÜ8ÿgkù‚ÇÎ­åp»�L™ƒ–’«ÙC}ïÆ´ÒHGàßµE·+ë,ŽòØv1;i}hðÒ“ì€ÃÃ‰UçW÷kÇó#ÔªÇB/Ö�^NÌ+gÏô1y™˜ñq
-‹‘ðeëÕQËˆ{ê^Ïä”dÖ~W_AÍµ¶ëÊR“ýŒÞ?Oîê2«YUÇÒ�w®�}GÍô£‰47»"¿\ùÜµ~Cš3@­g2¦f¬Î`½†Û+Ló§eÃ®c¬FBñ È‡Õ\ÛÞ©]Þ¶À ‚„†¿ZD#3<peÍ›%wåï0Cêh�™þÙ´íÏ
- ÿ@�ŸÔ…þû,Êù�ÞšrîGÍ!¾Ùš=ßÞ¨B]½¤XÞÆò!¢­†Šö@ã²ä×°qj‘”z‰·æ �¾ï¡Uî&¦“&;D;ü¶sŒl¬±"ñ•ƒ™ >wut~µ¥ÞsòÐzT^7ÿÊZqr8SS¦‡Žú‹q`¾õ5úßŽ2ýÜíªo“R¨wqaÓw³•áRõþ]#ú·U³ƒÁok9î�ÕêP¨ü�‰V¿‹² ‡VcF0–›ó�ôÅNWÆúW»
-Is¢P¹ê¡vìÒQ™ñ‚–�2ZhV¾ÆWWÏ‡jj·`bC±Nå•¶u,Ý}Ÿ4Û¿e×r
-Ušãyaëgd[ZiÈÐ}MõWc«öôj·«õ©Î±pèÑ ›µQ´ÃòìªìV­F"å0#,ÏŠâ^Õ·gã'cLs`®	9+¼R¼Ÿ_¨e—½˜ê ¤°fâJ²ïä4“Èàpv6Ø{�V¦¦ýÎ<W~[~7dîÅÞ�pÕtT¥ld£Î¦v­ÔÆ¦îÖ†åEÕø˜‘œÜov�ÅaýêÃ�~«1"³š2BGWîÕMlp2¡ž.ÀÃ¥*åÜüM—-ÕÅ?™íA$tÑ´0GQšZMþ5§1kÝS;;ïmì³ë¤Ã�oymfE�=~»b$uNEm=ò€äÐñ&ûH6*øðæ´Æ-[Y‹l®�ŽV�3«3;,ó£íûý™ÙÏº'bk†6ît^t
ø•ûhÄ²iï+Eaisüï•u.>Ø7{H£g¯nÃî Žw¥,5Lëg®Ncg¸ôî�þ…Z¡!#6Ði¯@ZªÜJWÏ¿o%-â�†¾Êª;¯¯{®ý
-[NbØ˜}â…¢Ã(PlÙ½Æ¬dÑ"2™Èï`~>ÔÜxírš`KFÇ8³
-©/ s«ÑÚ�ºF·kÃ[]­ÂS°¦ü«öi8a¸†üF^
ÞÖŽ¾>Îè›÷‹SÜA:¤#°jí+Ä@óFß‡&cúoÿ¢Ãµæ¬rÆzŽ¶\ú²k|}çto…á4Ÿ7í¨2cdIÚNýÎÝ¬Ú^NJ“¼ávg»‰‘—zCÃ"‰ÛJ£úÒE¨[iÀö‘*`¹í©/³w‘5”¥Õ}ÞpÔü¥é§úi¹[¥i-O“öO7@äYË$ã-DÝ»&ì¾ º¨¿¡W†.‰íÝ©ì+;m£ÅE�U~¥SNå\É`4)›€Ý¹­~ïsé”ËÃØÈïºù�Ÿ±>Ó¯ÁÍÁ†fÏ½
ÄBž5FsGŸd£ŸÞÖ)djÀtÍÀ­ŠÞRM–)9³U1¡”[jçì\œY�—[ì·á}º6áÌÆ*ÚPv­;	•€é›Í¶„Z‰(º€XkÖ‚|‚PÌ:Ú
ß�¡Ìò*=Ÿ"Xé�}„Þl¥ñUº�mÏmK.7ž~©¦Ô>fm{¼Ý—zÂöMH«Ñ6¯Tv¬WO?Eæ$¬fè‹nT‰V*c™°÷?ŸýA/·PUf®çŽ{a„1»æ°TÖfâÝ)EøRT¥×”×r¹l1ó~©ýcÒ@�‡øÁ¤ì«
ì€,URBƒ“­�ì;—Tyq¢<Ÿ©ÆjkŸ¦w'ûnö£Ë9é«õ¸»´žAÃìÕ�ST…¬Ê¡¨1KõrÿúU™—½Õ¯ñçïêïÙcæ+ˆÃh£öx§OÊfÏåÈ7ÅâCÏÔöÎZ°=tSÜ†ÇµÆ&öÃ|�h{W¿UµÝMŒý£…oÙ|üß¡Ê@÷@ªKÒ¢¯y±Œ¡‡woGQñv¬qß�E‡.Súˆ}£¬Ñó¡åtû~è”º°çüZmøKž‡:öú<ôÑð*{Ö3=;ójÅóQ¡|)FI‰þÖæ{dèÂý™¥|K´ÚÏ£j“Ñ™hÌ»f6f¢oúqhûïÝÓ˜ŒŽ}c$÷J»Ö5ò°Ó‚®³©š*[{ƒï ì~9Ë÷VêxÑp\ÔXåLO™os™ÛˆRÖà*4p«™nÌ[´ÛsrCÃŸ“Q3ƒy]ÛÕ¾{
ÒkhÞÉª÷+ù?µ>9ñ¾ÙjÎùR†fÝÚlëºG7·«ÚúÁø¿çj‚ðæèmvÚ»
­!eý­¢Ê(­´ÙGÜ°è•ÌÎ‘¢kcKº»þ÷*ŒÓ 0_²kåŽÈ›�æIÒùcU‘t‚“ÂûêdÇˆ5D|Yÿá'ÓÒÌ[èH›·..µ�”Ì.ûŒwî•à ¯Óø«¶b'ç-e:¯hz(³…u¸Z¹/9¸ß%ƒÌlªÁ´=¨8™cÖ^�CA©HYå¬)�fAþ/ŸPFt\
ó%ín²·Bþ=ÊÉiuùÚÙÐž3í€2£Î‹¨›WžâñŠ’ÿü~=xD?¾ÃWRØYˆ8Í4¤†Ž‹>ÎÂž"oÑj­7äß\³URNF„ØMfº�WÞq¿�¶MŽ¸Ø’D=ØÛ¯Å‹nÂâ%Ãiifí‚XêëNOÁ›»O¼Fè‡QJÜ‰ÜÒ÷�år‹ŸiUK¦ˆ¨â�*„÷ÒùõÝ”­s<v’÷ Þ¿N¾>:ëŠT¾µ•E/1)c+�gö«1¾«5žFè¤‡ÊÂ…ªH³øËò›-	T~Ç¯âjùpMÜœQ¾ëþ¨X}µ¤wZl³ÓPîË´° zè¢(ÔîçÆ}ÉpôY{	êÌ•<¹–6¹[2p´mœ/<¶owhfÄ÷^9�:Ý^'Ó´VI,áæìk›}-8™´xÄp,hÞknëPºV“™ñžŸ±v2ÛLQ›Ù7·©�ã~~ª>t{àyUº­Á0ìèü$ÌôB¸€FögêäôèÉòEç×“òÖ6Ž;(˜qÈŒ›YIfÑ%PóªÖ­:|M„­Io)Í~�Ú-­·€¡éÎ!V¯íû‰¾«·UÝ—»kùî…ž0öG¡Á-\išÙ=ç$
ŠÎïƒ—²?þ6ç¦=ëUXçpñý>_h«3ÔAk›äv«�ãs“m?Ffçé™ÀâÞ�¨¿Ac-çfYBáÛß;*hý²û"ú]÷rZ4Ý}éÓz½:Th`Ô#;úi¶#[¼õóˆÀœGâ£vZ{±ñéÝHéÙ°ÕUa"†~p­s.•ÜrÓ;õWç±Yª�½Ó9î€Æûõ	¹Í&[F»¦ÿ�­Ê,Ëm
-‹šÆ°Cà;¨_ù(
-À¦.Á�ç=”z•3+rÚ;<ž+]×wäïïž
®:/›ß6»˜6@7:¢}SŸ�ÚQ™«¦ ;¥b]v§ÕÉ.�eþ¶÷BØ³{sq"O“”hc/»•�q[Ç¦QžiªÃ5�8…Ò) ›¥ŠÅp¸Ž<ˆ·åÄïòÙ°X¬”Ýcª¡³ ’­ÌœV6o¹à1±¯¬¡8=~+³¦xq1Æa©oØ_h‰šóSOv~�˜l/¤Gs�%FÐäm“rœ!?3«ÕÞ†ínN26‘Ðä²ƒbAoìQ™öÆí¨ò’˜?p4žÌsYko_FÕ˜('+QÞëƒcáÒ±yfç†B¼;{³º¢åœÚÊ^]	Y³¶¢”¡Ÿ<T²Ìz1ÂûÝQµŠfó@ÝÎ›TSÉ+joÿÿåc%„‰Žªþtµ^gûs	n�Ä™*#×’YRÇ\DÅÇŸü–LZ.*@£ùDûaG0´>	>ª€öH³¦æÌ/¯GXo›6P�¼UTgzûæÅŠ\©'¯o£¥•T¾·dZåeÄK³öª/É›dö.dÍ‘O4=óÌÌà÷!@ô_3Vß�¨À
†ï}gäÎšúh·yÚZ~»CV‰´GmjÜEý4îçÐÂÞÎÙwóÒÍŸ¢vö³6“ð¸húÌ®ë…8”÷,Ã;•ÈœaVóšËá30Y¶´$€VžUT¯¶ÅR®=te¾í>]lÔ+&âÑ0•Eá`/Mºä/0=°æ”mÙLYrÉUÔí`]„1ÓZgbÃ�š@	Ñ(Ìól\õÓ{=Ð[Ÿi7¨~p¼Á'žo�Ùå~ðÉ3²Y¡Êì}ð=f®½Qz–löQ¬ô¯ZašÙRÏ,ÄÚ--èDv�É{aªËñ…J»‹[_ú¬ê«�ÔƒF„u¢|
-Q›µOáÝ�¯ÜöóA?Œz®¿|<œ_ø-h¼Sx=ì´ªn­ä¹-ñŠjdTDê"¹õµ¬õí'Z8™Åz.s»„,EÃf
-òaŒ2¥rƒ
-°]gîÁÍÎ¯×Pà�Ç;PbÏqäÓ©ëÐ¶æ¢PðXž†u@¿õT÷×i•RÉ,’^êµ^T‰ôdá.^q«ïM|êæ·e?‚ßô’;Ÿ~¡n¸ó€áõgiâ�‚6|0æ&’èí]o¯¶©é¼P%
]ø|~ š¬fæ+qñØv�®î‡;¾Ó“:«T]îàußÍÀ–6wñËÂºß ‡Ó¶,ÆnÉ�Î2¥Ü\’™"Láó9f;±³a™·g¿tµß¿ÿÀ±®í)Y·N×h5Òñþ9nRòú†”ü#×ÛydÚJí@ÂhµS?”•¥ôªš[wQv£©ŠÓ¤”7ö÷ÛEö‘ŠW+~ß"yèÎÐž
-mÀõVUæÓÝ}´®Ú~O|ëß	·iU¨bw'p´<Å7”
-�!;·¶_W8ZIÇ«°•v}'F3L[|*�ˆÏ~&Å?�'ÕÐ—"aÙ´èüÚð2BÜú¯‘V‡›ýSkÀŠÙîËª"ç¼mj¹úÊ‚�T™Ýˆl,–Ÿj¬4ƒáäq]vwœÀÌºIôVt+¸�ÝÏÅ„äÂu1z7íï‘¿ý�eO¶*õÊsô6¨úÚ>Y?¬wNöýŽ4úr-Þ|(”î—ì ¯ÐîÅ„�&é—-Ij[úâe8äÙuœ·²­*‡ùT$Á0?GIi¹çjÙ®ècÙ173´�ÖjGÇ
½ÒÖÙÇÒzÀïcÐŽÇ®Qµ™¢gx®kºK·1¤PÄD¨vdOð$+_”è«²‘.äWõê
-]Â¼|¶í¼FÕ\ý�.ì�ßPß£þ Ñ·ö}sE‹u¶må[ÞXÇðsZVÃÓ`­¿ñí±“Ë»¢lC�ÑØžýft\àŸÕ¢CÃÞP§"]{•A†ø—¢�þ�ÝYÝ»;K¹»¿Þj0]6²T|lZ×ëG føT�Ó�ÊãùmÆ_ÈÅ)
-¹ú9!Û¼=b»Šx‹³b›¨Ö¯åá½¡ƒã�?�^›EÜÉÁÑÿ½
-»IdTWÍÙÇ¸¨Ï»ß–,.2'}l“iz¼Î�YiwjÅú)C#¯9å¨Åz¡Ô‘#?DÛd—dÃ/Y“±óªõÆÈ£jvÓœŒ-‹­�lT1‹ük`ÍTü¢^`Yo-4_­œÖS\•ÚÌ§ãk·Ó›ö¾”nÏP„íý&²ÚŸr1/U?~z»Ê{¹¤÷¤­I(‘3Ùº¼e/‡e·¬.ÿÀIí3kËQLÉÙ|tÙ‘÷&
-Êë-žÇ|d�p<)uW9JÇYÂ9õ•Dø…ùANé:†2'Mp•4¾–«U¥µ|Þ<Ü9šß<njç~CÿÀdµÇ=ºyàÕvì}B÷­XÈš€^*;XÒÞë6Y�-ÈŒTª²EœýDìà6õH$+;»éãGÏÊô¸³ÆeÝ&Ï_×Ü´{*`fœtü3óÿN//cÿzÊpB�ÍjC—V’_¹6úÊ…Bô¼�´XaüñLØ•¹U§§4=}ƒšij‚¡ì¾×??]}OÚ!0ßˆÈ†Û®tG�t�É¿…¿€ÌùyÓìã}cöû«•Xm6f¶à¯?xb¡ãÅšà-²ßü¥Á¢µ"³Wü0§­ç=Þ§ŽMöPc§\j>sÅÉ´7ª�CXàx?-OËŽ¢V_­¢�-çÆ²$éN«
„9b¬4ºÑÅR»Ž„xÅ&X¡®
k(ÖèÀôzÈ6s›fÞ8î
-&4Ðö^G7Ï¾‘BhKØ¿ç€�œ’×|™“ôØ–\¡J%¦gi/²AÒTóÌiÕ©kx»M™Žvä6±}âÞµ0ð-)g¦t QØÖÍ²ÿœµÔ –¬t¦Y(Ð… – `¶�iuøœ7‘´a<ù¨Ý?°W‰ë¦[.Ð Õ{yÈÁE[p>O—ø\Qƒ­>®_F¿è�‚ÿ˜è}œ^æ‚DJãéu’Ï{\MnC™%YÆ‡ü~tB«Ü:
-c®Œ¬RòTRëeEÞŸ˜7Û&Ry×5u\…µeãš@³Û6ÄÛ]™Éô¹j
7ó¢ã¤Ïœ‰kõ1��5ìîÒöOaû„œ%zídì&pñ|	^½eQcº°ýÝôïÐÝ\e–8e%ÂÚ¯vÄŽqÂ$é�ôœ7[Škï³•–ºðæŸQ’Ø»Ëà(@IêJ¼¤çc}”ûÙqP+oŸ¡LHëDä(÷ùîp|ÅÉg,KÅ^=EqLˆðURWÙFZ©¼¨ÉŸÑ�ìÛ§?:#&­T…sWºCQ

ê^G©;'Dº	øè<¯×»:LG€ˆ�dNwâ›&-ÖJáû‘3øØ¯±VUA• úÅðõ¾*©Á0$9M¢~¶¦Iµ/†¦´Äl:vÍ±Z2yRÐ¶Însë®{¦;æ=±&æH¨_Ê_C…ˆ®h>×cö�Ê¶¼fO©|j¼F·„iûŠÿ�¸J…A{Í¬ª5Î#Uš¶ÀÃ‰×f–;¼ì·‚¾’á¼µ›•ìÀ”·b…í^­s‰Y-	×Ek‚½¹	»-'”‹oî)©�×éD�ŒÎI¢„-—&¨iä›ÊÓ]ošYÍ§Ù:#¸§ÆèÝuñé¶.ÂÁñ©P§ªcOsw'úÙ¹É„\&˜‰õ9IKø´¿Î2h
ü¿ìÁû#käDì´U\hVVlÖ]SJp£‘“}ˆ²º¯‘'ØrIÄªf—]}bÔA¥MCÌBÝ#Înub!RÈˆŸmê@ÇÒ°¬¯ÃÒ˜ÏÊy¾:uíL‘5}ú‰/úù÷eDÕ¯›¥º“#µ|b=Dcº6kNXq¹£ûíÝ;Œ,¯@DÑ^þ¢ƒÖ¬Ü�"­ówpo¦ck…fL®£DÃ‚-‡ÃÏ7z/Lx~G[§
-kÝÀTEäN°A¸§âÜh'¦É‡nøâ`¤4‹ð6Aò«Šy`VMyFpÕ,{/IÕrLÈ@Á‘¬«ðHk`¹ZÌX�Ð5úx>ŸüÏ19‹rD
ÛéÀ¬:ò¢­Šô±£î71UÙóƒfÎoTÅK­¯®+5YV"�ü¨žò-Y±…ÕaÛžíÌð'qi'b³^Bp¤Oy[SQÊ.ô¿ŒqpÃŠR«*ÌëçŒ`öMWþ÷[0ç}±Ãmöòs«fJûÓäÄëb™Èo5§åc’î—ŸJÇývØorÙ€vJ�|à�‚‹Ê¤´I]6g6”Fï·#³6ÉæþÜ29×–-ihË^-÷Xíx›Éë]m/ÏS•0§øG~Í•ª¼
rýÿ~S©…ÜY®�
-r¾ ¡¤!ØéÿŽ;ä—K~Û–5un>Vros„åAç„üÛ[ÊSxX¢då®bV¥,¥#ÞîŸÉ¥òË�âíÀìaè˜c¶ÀçÝ*Ú%ÚIçŒY=Ñ¤ëäù6¶6^Ð…ncàX®@¤8ÛfÃ•v~ˆŒkp™¨j0¬õ&¢(3Nå^}õúu5�KeI
-³År92l?ëe’6_Ú’KVW~sÒ
-ï’M³lÁé1þÖþ@º/
ý±#$¹>‘‰Ö¯*!zÕ©­‹‘ÑÚöE1Ÿ™�DW¼,Vu"pY³cH‚Ç²úCƒY;ZÓŠ<+‹2´!«zv»Ò¹—d½äÄAFt‹Š#½fƒ9T®Ã”övÎ
©Ú6ýù&¹oÂÆ‰¥®Öp\êŠÍ¼­Ÿ¥	FaâsY'Y�–äkÄp»úô­Å1L¥­óëµv÷i×îŽ;É}fÈ¶l/‹ü’N˜ûE*¥«RíÒ(Ò¾ÀOj<{U#¤Ý?ŽÎAU€¢+x‹PQADQ©¡w{ïÝýæ/ÀALn9LBÂÓ8<©¼¾‡!b|ešª{¿”ÚÃË!p	vNªÑþÁ–QõšŸû7RN®
fO¹`M×os¯¼ÑS5§W²IÐÐx³Å­Òð§õ(x/•ÇÆ7v_%beÕÚ•zrÔ])ÕTzk›Öýz_iÏæ\ÙwôB|eÛÚìòiÊÃ¦7†½JféxÓý[uƒÙÀâÏÇ,†_m]íiE¾]ooÞ"6`UX¨�r}*Ì­îW?+ù¼¶gíeÅ]GW5V6ÓÛÃ}Ìt}>cqDyÎ1TÎùšžÃáFÅkÇa3™ÍYŒ$³ŸÊ
-ÏOÝE­º7ë”V*²=o6�ô÷‘öÞím”èÏor×”�ì/ŒŸîÝ»ªi$_a¹JI§ÉA{¸W…¾ZÔ¿�— e»Ë!¦šÈÏ'x\‡»0‚‡D#êSDßŸ­ÙÖwêíZ†ô<@¼Äµ ­âP¨^ÖÖ
¥F5M˜<pªÿö\¥–6á;û¼Æî±z«pâ´ËBÏ
}º_®“Vëî}ÌÛ8©qÃxYTúØ@àš™šáj ×+7$0X+?WÕ‹òÖ}%Q‡<ÎÀíP!r(®ÄH�/}À�ìuø'4§Ó^r±«mæ�ê»Ó›ó‹9Ê¶Ðgç�ìÖOˆ±í›$PßÝsGÌètù`m¨öÚW2ýŒc%€;P°Ò
bçªéI¡µ-G‹å•uˆ@ €ÐõP}AìhòÎ%Ðü}·yç×Ùµ�j~×ÕûI¤¤Ò1É‚è�âqõCÈ†y7p­pŽydqí”ù²4ô@wEMœÍˆžº+Ž—z½"ÒáåÆN·¼¡µ;xv{;¶i}îxžÈÚ­^kë¢×´ an…±ÁM—z†Ç„½ºÆÄ©pwõ¤°ž<(�÷¼�ÎÝûqlª]¶üvp;È}·±�Ú~}¨Sø}>²ƒžj“­D!Ü÷›þížüÀö9]úËíd-™PÄ¤›SXÍ§QëzXi{üQ•Z—åßp·©Í†‚}|Gw#”ñ?¹5²£S±yC£1æ³ˆöofú° 
7×KXšOï)Rõ�ÚFÐpÀþVÝ¸Õ,¯´œ„~‘»u·µªhö«xh]‚{Ïëzyªô³ŒŒñ¬ony‚õýf™¶;ç¸«íoôÓî£53ƒÔVÞ“5ßCe1_àø–�Ž¦V1ë™,üØ¢	î®éºO¸“&½U?f¢Í¿g³´�hMÓÓä�÷ZŒ¨cAçÑMÛ\ëÇlÅ<pMbÒû
-Ï÷ð„EË¤Ö§&¥|vÇR°BŸ©†Ï>—òqe,±"Ï¯¤lÌ¥Ï.½šäÓw*Cp‘çúœ1‹iQ—Xòj* #Ý©ßØÅuÕÆáµÑ?¿Q®—ZÙ†ŽêšÝíô™fŸ$…·Õ!âlÍ5PŸÁ¥\ú¨ÉÐ*š%Òéê2-¨Ïã]2Ä~k;à ’¤±ô§€²-+‡RÍ?Ž=x¾Q¸ÏŽš  mùè¯Á*NÌ~!Ö‘B�7¡†´µÑ²€ãqï’I¢}1°nµýþí±,k7`ÜÏºÚ
ül@]0_×[z�SKs”\ÍÛã´5+Ôxíß„Ú%¿J{@MYøzšüacòìmôûEÆú³ub$!õt�Z#-âA>ô�½zÃUXÞÿl}0>yf³»ZOÌÙ™È£±ü2Œ«÷³è-
ÛEÜöõ÷¸0ü��¾±¶ª¥—«ëkgŽ¸v2»öÑ«Öy‚O9oo¬¾ÒÉ¤1«, ÕÁéËHù#î½e|è¯Ñ*¿[®®¦üråÈjÿ¬ÛJè×$ïf“E&w½æŽlò’¬#?°j4ž°»o}k\\g<ÛÅÁðî‡¸o^2žöL…Ù™~‹kz<_üÆätõr
x#è$ìëŒÔÕìw
-†`»]ìp7ÿ3ÿ`ëÍdÐt-kJêµýäJSŽ!Ò+Õ«ÿÆrd¥§‹¾×Rµ(&…€KµµÎ¸M–Oõè±è3wÉpÛÖ¿ÝÝ‘nñp†ò¸É•¤ž‘‘cþí^M:í+o_ÿÊºk,›ï$Nf÷‡>.©ëÑköC¢bõÁKO^¼’r*ÓK*0ãÃe»ütld»ÕŽ·;™Iç˜œ[©í÷ùìª_†È¬1ãå¿˜Ë÷IEêŒÀÄ•‰�{%‡§ÈÌ7‹zÄtïI
-~ôÉ×�5±�Á« ÄÍ�Áý«ÂŸ¢Fe¿YlÁ¦©zBÙh¦èw*�êMo}¿íQ«å�?iÒ�VMuV›SU±~zµÞç5èäNÓ:­Çp”M‘cSêç]×®ÁÜý$¿ºÜÔª¬M^‡Eår"ù5õh«uÛ¡¼–P†2ƒJsxXçª$‰¢ºT‡Òâb\Ó{ÒÝoKcêèË‰ÏC6ê}d ¶XØÊ°Îj˜éª)Î¦–˜À³‘¨�±zŸÆoÓÂJpg&¶�ÆD�½±;©³jv¬´Éq7ýDã
¥ö’®�dßèØ)È™çKvÀ‰
-k+œRŸ;d²6gpy×»²[è·hj<”WØ<ÝØÆüi‡%”¾Ðd‹{n¯-ñ:Nî–f©Àt­cÄ‡zÊüö°�¶y›rÂp+³e#Œw.bJèt»�X_�¼‘1’(¬êÞA¢‡o/ÿØ£‚åUkó²ï8y³kÉ5rðsÀXŸP-Y8¥ç”$�ÎÖBÏFÅd¾V³7ü{¢,¼ù‡aM�°é—ÖXÉ�X—½tx§š~d”©m„‹m X	êæeiµ·®Bðtô]£cZ6ü�ñµ×ÓäoUç¦ÄÒ7ÏJ¬Þ‚þ%8Ãªìºæ"™Þô:ª'³0]‡XéçXçRùd÷‚äå«>gÂOUZˆlÛ]ìšsã«}/ÜmÁÇ“îƒrÔO³/¹�Ù•ý"Òm"íC_ùV3ö†ù´»HaíO.[9Ê˜ñÚj=†@.GXàkæÍdJ6-üíó²›054˜Mh§_½8ß3šgÁºY¨aªgKQõ™!ïüñ×Ð©ø‘ó»Ÿî&V€ßñÏ
fÀE	ïGa¥]cq�/9åÍ4|Ulúsõ&Zâ¿î¤27uŠxõàÊx»0nëo×{‡º÷õlsšæÄgAÉÓ<½,%PiJ™H¬Î„Ú)=Fòjr3h¦eÐ-îìy­è@/rÕNÑŽœô›ñÚÛÅ,KM¯ùldYÄ²cA®Ooå oÊI…s0äª<;wÈpÌ�Á¡“öNßbÝq%�º
iüÖ�\;Ôxíß™Õ‰ß²Ô¾4wN‘»)ÜxíŠÉ’l1ÒU¢ÀóÌTé1ÙÌ®ÏÿÖ]Ð»D¨�‰~¬f©àcÒ&Õ¹Ó›xóŠ©ûz¦N8êÑ›jþeYÃTi!);+us—FSC2'|ÐÁ.<Œ9
ª­¯ÖPùq„:(þ4¥½)çzY”y­tKÙ¨qÄ[ÕÅcöú ±uë†³ÐÐü6Wí:o
æƒM^?£³b¥ÖâÞžn:u Ý¯sÖiÝ±Ás¨‚$#�«lÄö»ÿßßzvß�´Õµ9äF±!ß.§åme±ºÿÝ‘ŽvQ-w»þò{×WÏAË|ä–ho’«îw¼ÙÆW$T¡�™ÞyÂe¯]Þ"®‚GëÉ)S'=—g9¿Häeáï=c�yÄ4{×ž©�XËbm�=6.uòcr…Õãú¬e¤àµ
-Z
¥WvçŸñÃe¨UÉnØ‰WœoŸ$ç>Ö¯Ì6•Zž/V"h�nmµV,§’¦ÿU7D)Xs'cgcµk£Pçyc
ºQ}ºù—•œlö,ùÀƒg´t:Êº[-ºïÙè3ìô³^íøôæ`~~W¥
Ï²¿³Ÿ†É7ÞŠèaÖ~Yc¾yÖÃÛR	£EÂ]ˆ…ªúës÷‚ëÅ[Ù¾">GŸÞ¤é#�Z£å!fW›+ëŠ7˜1{ÄwØ8¢�ëü#4„g¨ýƒ!Ñjš†Ò—w5©4œÂÅ½MZîèè4iÙUêŸ2•ø_l]š¯b¿Õ\”ýï~˜ó/û£�{Í#’ñÑH'w#R²çHg ·K1€gÖ*»ü¿C×Î«©ó^ƒLWÃí±Â|FŠ�è{62‹IÀÛlÌ¿œ`V.†Ô-¦åu·FfTÊ2G%Ç0{üÑ�£âÊV¯åhFVáÔ�9’ÓË¡ûNG³²aÍ
-_�?|ú§xñÓÓî2J[4îÁ

­ãN0¬¾…�.}ñÀ�Ïal/»g‰ZP� gíX§{k™ÉñvÀ�4XËç�'»còEÿƒÙºÚ8*“Õv`¿§‡e£�¶pu´®65ÝoKuvdhyN×ÃH„›Pº’r¾
-þ„Ÿ•d
)*ó°6îSE¦|0¹bêbÅÌóÐ>bâœF,…|ôñ]B¡•qðÓæû¨`F˜2÷>/LË3³»8ú{†W½ÌÄFçášã¯»ÎuÐ¼1Ëö¦˜z½lkýQ?zû-PÕÍÐ
-�	W>øå?l;K:,aÁñ×É`ÊäØGuHgÝè�ýùîJWòÁã1×Õ§£ÂÝ~º»Ok«î"Ýz’•®
-Šv°�žRLÝD¢Ê×kô<ÖÚŒ‹°Ð•^Î/'jÁYÕ-¥{%(¹Û»mÕTÏ-ÒQg÷"#¬.°ñÜ÷]9"L}Jº¢á!ûŽ…&~¥ä]M[Ÿ·… ^ÅSsz|Í�°¹¾x§dH�.‘Ùíàÿ`™?‚^ªq¾5Å¶šíÁ—}Ëø‘®ùð8ÇbÊE³~Õ?ˆ±¡³xÃÕ©ê+ðaê[WÐ¨´óÐÖNvç|	–öÒwÖ"Vuêƒ5Â”ÐFÞ”ìh´ç­Å÷R¬ÛìÇ²Ž�&0CÏ¼”6±;4ŠÇ›äõ05+Å{|“;ð@«wyòú�« 8»÷kËºK)üÚ]”[�j8rï�™/¹IþƒÑÊañ·40H½�ó¥L¨“°÷ûR“Q')FLÆû®ÎŸó&“F—€¯Ïû®t¸NnM/XdSKÓh®>x¬Pç“J˜IsO¾ôØù£Š°¹ó�‰Ø4Ú=$Á°j{½Ò¸$¶žî<îmî°ã:EîÂ" ¤pwh—%þ|å3ûŸcfÎ�A!Üm7+ôy‘ÊœÁjÌ:ë§à·ø�¬]?÷ätžìn¿^N&­Ïãb/*šÓ^›‹ð6!†s÷:ÙI=O_E_ãGõ¨T*ØÜúrNFÑ.RJ´¦M]ÛãÝaö”¥Jr
ªj]ÿsj gJ›²Ï^“Wßäˆ�*jÁi'k„•òÒî‰êöD~,wà³vösJŠ{ÚÌbødï”ô¯9¿usœjÄ~0ö¬Ž:Š(Ò;ÎÙ˜¾8;I½5•]>ÇÊ7hY‡µ¾&
-À©Ì¹¸X^
- Ï�ëøn¾T]¸U.ÚEyéaì—µ1s»í^XV}ç[ÚrnÝ@¹R“Ý´c�HBiP€¸™SÍ�òQÖö¹*—Y-4ïUiooÚÈËO1Òë£•RŽ©¾08à2Ùï¿ïFOwÙ;ï
¬î‘öêJ—õíÑ	.k£Æ‹ß�®ôÛ´mþnRñ÷"½ÓXWbq¨ÿò«¬Ô² žØ
-ƒÃs´‰÷¢)2ÂÍÇ”“ÖMïxÇxý¤Ä¥›�bó;-··‘ì„Ó¡ò=2!CºUd³Ïš–¨wÇUÇJ„�ñ«lòêÕFøûì?�×7Ûºk-Ûý¢Õ6ÍØ·ƒu±¦ÓöûõëßÍˆÙ³ÖËïÉ¥&Ãpz¸+1Úx³ Ex¦W¦ÁÉÓÛ£lçÓáÇ÷¼Íþréò}ýž«r·în�{@×››0iZÏ]wjw†ísùszøæ–v[Æ6}ÊæAä^a¡Q,„'òŠÈ�Ú¿øbgiù“övÝÇ;!ã¾ÆUÕÍôJfË™Æh×¾ÃÇ?¸V}tC;‹_`,Z6V©¾ô*dtª-�Kq$x³USkqx�J`}ç/ÏšÒ"û…F¸÷¼'‚ÝyÓé$7 …�õš®åò—¨­qåMiôöç&W}Í’Xc'av1ç’Í�‚ØNýŸ¯èU’Ÿg©ÚWòåªíe³=³Š¹Z¯–fO~ß"þÅr/ê%náçw\2†µ�~¬ÃƒhuoZkÀ¹*Ïãè,7ªCž›˜�ëÏœ¹çÄ–É½åÎQø‹ßÈÑÄß9ÀÏYèZ~«Ï‚uLÏŽ�WÕ«Á
-OZ’¶ëY²s(SœêTCnùÍCLòÙóÜ»co^~eú8¸ ‚A�
-“Š²´mÂ;©ósužeÕœ²5wvVg©Úã%ãéÉ›*7^êÊÑƒ“	~´M!t«c•ÂÖj¸€Ï'æ¨Îr¼ÇH>ÇÌdþ#Äîq¯Q›iÏ]½œ5¢ÐO{ZôÐZv�³¾WÇm�aÒ(Y±³9hÚå¢zQxhÏznTxhŸÉ
-zñíJE<yÍuñØê³VÝñ¯¼ÃKVÇni¡‹Ãu1çKÿ“ÒÕíLÙÓË‘~9ÇØ=T3¡}�çºwÃs^eÎ2ã¢�¾®.í‡_˜žÛDþíué½<¸$Ýà�hc]u·ÓzäceÿÁ:»œ«üº=&“ÆMVÔÄ´;»^T¥G^¯Ý®5Lèz%ýc{=¢Ä.)™{CÝ]§U7‹ÃÀð×éÓþúA1±�N=®µdwõ8¥	0{Ù'ò¦×çt48œwoëÖ
Â`½ŒLç.E%Â™çå˜¨·Ð�9ßß gzíEÈºò©�JÿaZËì	ŽŸñÚzc5áê•þx¬åŽ†vî¯p
Š{îÆ=“¼õ•Èö5cêSd‡|ÛMhÚqÇg2®®ˆòÑò¿úÙÞŽß�âé
-x}ä]‰u\Ýäûâ=ð#ãýŽÎ“’=PgÕ‰GÏa ²²ÎFZÃ-.{/�ÞÂÛ0QÂ¦W/wš×hˆÈY”3G`ÍD*«UÏûH½ó�Iy1	F¿Ú¬ý“ê“Î“sf¯»ß¡~„ßd¿…ÖWHªî×¯–\´<O«Y4¸:Í
-,äÓGc¤T2ðšnb9ß‡ú{7^ž±]”ÔÎ•Z­ÿÂ3¾Ù­]»×™ïöí€
-k÷·Û#�óåvð
¯gÿü™…ÜñÓÂ‘Ø4æÃ¥¦½J~î0YA=Ôâ»'£	e*“]ã„\ïLq,Þ•¢íÇ¼ïvqim5t¤`_tòY3©FåÉÉíñ§Ž]B—l©ÖÝ¯FîìÝ~/¤²q!dh%ké¾VÌ,H†™<ï¬”	œMOtNHcl�ÐÆËºÇNt•©‰e?,¹?˜«­}d½¼Q‰Õ¤º²žµ”ìwyý†Â£QSk#©˜ ð¸Ô­È]RµÜ0×K¤2ø…PhÒ–\*SX«Ÿ¢Z2U^ž¼yƒÂQï�>Â3ªFßÄ}«8ÖÎþô•éãC®öÓî§E«ÖÆ¤…’¨ŒÙM‚WVîÖ-«åª£ÁÂ»q+Y_§9²ÎçÀP	rêGwleƒ«Q^]êÉ|sŸèÐkÁÞ¬ì®ƒþ.
-Ïw¸Kê8SÐ•”Ð|{ˆ?±Ž1ðõ´*�Ü™{ùüƒ‹h!âÁen¡Ó	Ãù"€¯9‘¿Y&æŒH¾`ÖËØ3º'Œnv}×Øú&-Z·:ÈùÓ§ý½×}�82QÏ¨áÞÊb�7PÎo·�ÉßS¸ôº=…ååÖ°+¢Xœ”Òæ��v^Éövëp¤ZSrP¦jæ•A§>ÔÙ3wmff×Fn1ùÅÁ"Bu¤’ÆS:Qm¿=«.“JÒ®öÅÛu®ÊÜ5¨È8¿>í¯¶8Ø"�¼üoóÕ%í»±nÌ$p7J%‚wn�6‰z6§Æv©è[gî¯¡LL]T™$PO½ÝqÆWnìpHnÇá¾!T_æ)F¶V™ì×>ðb9ö±A¥³°±Åhë¨ú¶^ôš;W'Ýû*û	ÕòxgVFa1~Ú“çá5í-ÓVÉ7²Á$j*XÚÞŒ‡w�E;†Ì¢>˜WçnazyŠ«üØ-¶¦úuMvlCJm—ÐñþÕ¥½Õè-àÓö%ªVóï1ÆD�­±?-08Ø
–‡·NVÚEÁ/í�¥ÇÝý68Ì§›qZ¡‡â¢5Ê1�ë¥d¶©êÕ±¾+†“ÏvÚžÌwãnÏ˜½Ã¸ø.Æá›€¦íÐjÔC:ïþÈó¥zwºžxVO{¸HsN"…^‘1MQx›…`CŠßÊú)c/[_4l]ý÷ËÛãKö¬Ò5{×|§û>WJ›é“çT‰¾íÔâT…¢¼ê¾+
-§öÕýw‡úÿó*tÝ
-jÏöz)ÁL04�ï[­Ó%cF¶vßn¦˜_u4?ÿ­¸«¤&Ùz@Ç¡zBnL®;]<(0sMƒ×ÛàÞY— žµ®Ú‚¯vènñ¦q5PìÖ¬¹\5•>\|ü´òúdŒ©g�.ÖÚ‚¢Ž'Œ,B¨9yO\_CBÏÝß*~æ¾ÀQYï�­… ñe�-Ëø"‰÷P¬f�¾ÞžÒ)(OvÝx´.ëf1#’±Ø²Zwc¼ÕUñò�ÌÑaƒO@c¯µÝ;h,,óY×ãY-õa}žþS\-”·yY´ÙÆ*×ùGã›Ì’‘Ò(ÇN«a?ŒkµƒÄAPÞƒŒL•ÖÁs>c+óÍ)3‹½Vf…³6-€9ÞþÁÂlÃ¦Ó+Ûšc³W7…º2F×-Ý�“³…ñ­]µêXÅº©„o¦à™WwÍƒÚmùà6Œ¡õÉ1«R®Yý›zÁ�©ºÆÔ©Îx¹9áSëUÏU™óvšY4ë”ú¶�Sã×(úDt§Ó.MA1ïlåü:µ,Ì=¡®ÝP?Eœ[—Áí6æËYc$¼‡÷’—T—hfg‹w—zì5Wê9Ú$Ç›¼)µ²q:nO~„¦‹“øì‘ˆöÒ½—¶Cð6ŒýçÑ1OK;ÙÙq¶Ê×ÓôÔŠ¼60¶þt‡Ï“­þyÒš={*­aÑÊ½	úÜæ]P°;yû(�^ùUŒÈîHsà$Qì�Ò�5Šæ\!Ó¯°nT»Q;s?YK’."Ö� ~^ù	ºÚ‹yƒ¬ô~VÂ\ñ%è\f¿\yº¿ìÂØ—Èòžü›3Sÿ$ª[å™ÓYw5äó„ÝÄzf½ ¥ôª—~C}dï#m€ßª)Ó~÷Ôpýx6h£åD/ÚA)[;“9Ð‹*R¶õêiÊ‡þkü^'1P%~ŸYŠ€�FQÐûíeªÆ–”-9€p@	×µµ[ø)_ÊÕ .jô@ñÆæ9&UO\u×
-Ç‡;¸LTìrFmÅ)ô4RU&ño5”üÛÛßc#QWÃVA	¢^m<›^T­Jv#Ý+½ì÷:š(ÈŠª¬›½rÅè>5§Ì–%o3«^Ûêõ‰ÁËƒ>z	UL•Á}Î+òë,5°û;ÏlñßX±ø>Æ—šI{°P!j4D¼Sæ½~T	vìmpå¬^hHŽ&ßÓýÏ‚Mg‹R2S±»ø=Æ5}]ä‡ÖxŽ~ÕßÎèø½bîðÁ?˜¦ÃÀÔ7¤¡*we.–‹­2ªÓÎm"n¸¯»D»îÄÙjG
-gµs X×¶
-TQæ¤¥¦Ÿ`i)V—–¥B½§ÜŠ5Sù]÷Š}ðÜFuW>q÷ÿwéã ì+¸˜Kß[­–¬ë“7Ý„¤´DHÔÂO¿Ä-ÓæNV6Œ0êý–Àö®Š¢`�[µ}Æú?«­CE{oJåò$êÙéð‹ý-Êgjšw©r¥ÆÜ.øÖ‹,d…ëJw÷SU¾èÕñˆLŠä¨|2¸oåáw*$Ó±ëÏ›X×wER:�µ³0<�ŽÑ5J³Éí9 ãÇÈò$AÛþ½Õ|ü~ê!Þ¬el¥,‡ÛÖßpæzÌ;¦µ�@l:w˜)µŒÅËuŸØ›€Óã¯+Ñó6ä?¦DçˆçŽwñVi{� £:)ØÝQúïhÕ4/gd¹}#Î{>ö¾8Ÿòu_jÔ·‹ñÀ-	|YþX�´	�ïÖòªC‘w”æ¤&XË?Ñ	+ƒž±<L÷ÉÍIaé8‹®Cîô¢pê¡²¾Gmž0þNÈMÏA"Ÿ›e¹¥‹%«O¤�ñ.¦�™W”?kT0q²ö5¯Ž#Ð¼–©4¤î¨|î—ÐT {K¹B¶7\—‡hÕ€ßÔu=ûz¤g¡?_^+‹÷?x›‚&‚Úv£>®ì&1«ÃFÎÈ«ALø5~S—UãRÕysÝ` ô�ª¡
_ZÔöw;QÅ+÷ŠæüÌBó�¶Ò%V¥³Ä�ëíeC9XO®TÍ£ö>yyJj{‘†jö”gÊüR¹©Ë¶Ô§UC¹Ì{Ê`­i¬ªuéÖ¢´ñh}Ñrµ~6½$�‰M*Êes‚'ÝÙâÌ÷'UsmÝò+W¥²
-U5¶ôP¾Ôû@þíêæp#Ú˜!¸@®n÷êÏŽÎH§œÍÀ¿v®úxÎÚÑ�5™�^RR}<âNî�ìP?¨…ÒÑ—ŸïÔ5ZZý«öwfúæªWº­okSMíó«^7“µ.™§»ºgýçºBÍ§Žsü>bÃ7cJ¨îm…€RÅ'S£ölq–:3ÊÊ
aG]ÓS„Úý`mjvƒcÛþ½±ÍÄàÒmd²~)¬<sàhZ·®7/3Êµ|þ‚µK7{·á‰ÅDª™ìa¢½K…­òWƒn$ÂËÉ•éJ›Ú;‘OfhÕ•?¾ê+ºnrUÊ�ËA^h–qP	†Éç©T×Ã¥>¯}O¿]}ÅrÚ�@ý.GgÕFgÊ»»*R£ôCÛTIºª¸³#ãöddB‹ÆNî‡ÍaÆTNÐ—¶}y]Ó <‘µ~l…sqQTêŸ¸$ùmGóÕwÄ*¾;‰»Üþ¸cö�(ïæ²UÛxÇÞÌ)Yùh�Þ’„Aa:8Ùš,ƒœ5Å	Hôeû$ï®å
˜nL8Z/Øœ÷ŠlfƒÅâØ
üÜT&ÂÍ ðaíæÞõãFÙ+ß5¢�„y|0kçzÒÕÞh¶\#?Y·à‰½¡$3u‹Š&ßð$•>ÍiøC¤p×þŠ½€(Ïý 0¹«’¬Îp-QÉUåƒ2cüÚBŸãÖZ"Š™L‘Spjîü°{²�EÐXÆ¿¬{Öù—ÎÊƒA¥¡Çç$‚”ñoUk½àî>0æJKñØµòF,þ55/÷ÁX/×TfÚ6"n‰²V‚�:‡·¤m]šDÒyLòBiú@Þ~ê]ú)?”`xÙ©ù‹kýûSÙSÑ @Ë2³Û*�Ãíï9Œ0{?Ãdn
•,Ýf€ª&7pyÞ»jí	 zgƒíÇª‰Ú
-NÙÃÖµÆÁ1¨ÓOV¹[¢Y®ôÒ>×Ã>íî3
ÀÇø¥]®æÌÞVú9#¨Ê_´ÃØJðuÝX³¾Ö]½ÃN©u´J‹®v5?ûZ©/Ëõ1ív¿¹ó½óÕ�^F5gàÖƒ È+†¸ibšÅ7€de¬ÿ„Ð,™Ìéu@ÔÌ�ž<¤…Þo
-#æM%¼k÷ÌÀöÀ˜èÅ”h�ÇŒKÈÕ«h38´�YÖu ±Vß«.5&-äž®pOÓùìB­/-{lëúõsÈszÕäI•ÂŸ�82#x¤‰óår¶nÏ9Ïº¿FZ©X^ù9òÜºY$4è€·µö5
-ì‹=jhófö}Ñô­Åi i­ÕfÒ"üuh®ÀÆÔZUÆ�“öwJf·èÍÕ]Ò�L˜�ã†zì�wrå×^l=«êµA‘ãÙÏqõãÿÔïý”1;ˆÛ.0M­r™ôð-¸–HýpbuzújÚ¤Ùn2jB´òqñöÙ+_f†ªÉ­T�‚PÜ]ÕUÀK}¬ýÜóoF©÷Ê8$ïŸ%î´ì^_==¯K[Óì¯·jÚ¯V¬žÇdÙ®T+0³¿ØÔãF)“rópñ5®yH3X,ýüR�#õk¨gz÷µº9f}<ÁZ¬Ãoú¡«Åñ´RZR³²z«’½]xØèg…lÆª’<f”oþN°]\W�D>éÃ«Ó‡0yR#£ª’©O¶½ç-ž©n£}‡�Ø66ÇW6P‡³…í5¬¼h÷¼§ÊóšnlýWö:´-u ZÈhºýÝ&ãÛS×ñüö ÃÕ] U[•�0îF�ëµ—š£ûlº~õX±¯GÆûõ½Çzt—°éH4†ÎOVÓ¢û•Ë–îé÷j·Ü/¯/¥¨tjº£,Ò·�@9›§>´6£ÚE�"™õw~åð1_›ºEƒª2G“¯¡%:Ï}ÓïJcÔœº*±Ë]Ô-†Ü`‰:›·zz}aÛxÁˆ¦ZV)ðB¨}4Ê;Í^ÐG#Oè‚{¡>ù¸h“Ú
-Òãò`¦D(Õ–¥KIg¾ÒšWá‹§Ý~¯P/n'’&ù1(#ï8Á¿´‡z,è\iE¿]‰è’P3Pw¨èÆ|ŠlìõÅã{ÖëÇ;÷Iã ƒ�Ë‚k‡v;«ëë¬w6�²yç]=Ÿ{½6ž÷�B%T
-ÆÍ›õ½«
]‚^Wç™ÿ¶V«s}èÈëÑRÊÓUhjñÖëz¯w_âEãLŽò¦¼Â÷Õ|Ë—Èàë4†œBonÜÐ­Ë¼¨fËGÈH.ï"Æ³¯C¬¼ÒCMJìKþ	0g%r¸ž¶Öaù³À^“ÿÌ»îÕÏZ€½¡ïœÓ¿óÅ¸éå§½&î"q¿ð‡óG/vä®Sñš·ølª k&yÔzO]r-¶A^RéžïPû h
-h£Ø°™ÍÖ[+
¤¦ö�"\éF_#ÈvK½8Åªy¾(èCŒàFtÓ�ûãñ	�É­Fs>¤*×©G½Â*h|Þ
úÛ]O0í“ñi5
-ø£Ýˆ]Y³C4›,gíN²ü®8°*³C»Ï
Ÿ±Zyƒã±Ð—ÖO†ëÙàÎ�äÞV»éCß
¥½œú´)Û¶›7BK‹ä·Ý[j|ÐËídëÏ6~œµ¯Ðå/`ÐqâRÃ#¨mJ˜qÞ”¢Be)iî3¥ãÆ¸ç'Ú'Õ¦-¤Q5jÂÍq�§uôª9)>˜âb@ó[àmF¤µîÝÓQ`ÕA«Y�¤.R%ãœúµÇ{©qAþ{­�+ió
üû7©ª6öÕòö¢
¥Ún/AÕ,,øÈžð·  SÝÇÏïØŠ[/l=��dë»5·Mî0¬@í©,Í3Û„×Ð�ž´¥›ÒÛÞÃpŒ5¶Ù––jyÿ`ý�ö“v€#²YÄîVÆç6¶9aJ
¢~æ!X¼$·u¥”ìBM´<˜pÙtÌª,o}€~IâžP¼zˆ^¾Q+o32†æuá·5C»¨ßïÏ\•ä4§ÇK×ò‰6O´Át¦™µ6³¤"ôÑ¼Úùf%áCSÓCYÛ•Z´þÛ­†ØlúÜ¸ÿ!u©f·b¢Gnô©x«ý­üZd“ºFÖQ³9nçô*žérAo‡®a1¥&Glï©ŽQàdJÅ'‘2É\/¤ÞX�>²	ÑE{Îªi•ßñÆ£¯{Þü¢ó’ÉaÏ™Ö˜¾Ûfï�7�Ð‚ÌÁ¡Õ›Û¥å>Vº£|ûÜºk·>Eº‹¦¿�‰�>§x¾…4¢–+ÊÙ�Ê®	d×ì¿Å¯½�¡±<nNbã;¬#›ä¾î�Ün?ó+�˜–Â
-AHtæªdkÛ—^çæHD–þñ¼ÐL‰ÚÂ•ÜFÁËä`¼�ÃQU»×†Ëœf]£c;«SG»NaY¢õébYiÕÇÏ:?W‚Nv‡9[ffÁxsù3ÊóEêÝð½»fý�=�¸Tàrt
ÑÀØO§¬§­æýP9IÝÎœû íêŸÝ²öSìT6m°®Þ/�•l6†E@Sæ�—“Í´ml57ïÎLh®ì“xÊ!ú0
-µê·¿N˜¯šÙD—¼Åª]ÿùu7Ë*¸ÙsSÂºh›&çtñÁ´MV²&Ò)Ÿw¤è
endstream
endobj
118 0 obj
<</Length 65536>>stream
-_ôÑ™ƒœ4Z�Çsßø¼)EÊ|rÑ}í±gkì­I¬êðuwo¼ÛhàAˆæµ²=BQ):~“]˜L†î$çý©{>¤†)S#…“¿Lrb…¯¾W‰qÈ¬‚˜Äp]§ÆóœÅ¨ken“ëªR©`6¬:ªÒ…´s9p‚Ïãõø½u»xX6øÈo‹O+œÂ¹»37Î�î«iÝ‡ÊŽ½�¥|ÏÔ*™Eœ{‚²Ø2Í|ô£ÞËÇp†i%{ÞwÝJiê´Ûžœ;ñÐ¡z³“¢ŒYCé
-ôË®rê£?&…«ò`9ÓÂÏ”EÅ3³®±‹™ÃpvG•öÓÊÒãaÈu�úï}û�w˜_}H
-ºþÍ"­"ë®Í—†Á(üc­[£M«Ç‡;Öv
Í�í—¦êˆD£Ûëí¼¡jÆw+½KÆ‚>bFÎ~ùvÿ4�ôæó^¶Ý—
-þÁò²Ð„uxua-KÛ³ü]ùàà%3ÌKÅã§ÜÝéÇ¸µŒvþEw76rF»Ë_ß‡©•cN~—‹}ÿ¼`>›UÍ¶2üX[5€F…<ÜŒùÍÉIÜ<”_Wæ[‰VF�ÂœœõU£:ì‡FIz±†Z)¾J³uëc¼:wzënlÙÅœ?¦Ï¤nã³vS†�¾o
¸la¯ØåùQùb!2ó6[’£
-ûé5¿ÊÐ»°†F?HTt¿s³°v¦º g�uNÏXªí”ž_P"ínÞÜ’ëÏÒPáJ¼SÛq”	üqÀxuôjWšíÄH©Þ¶þìDŒÕ�æãýmUƒpéJ £ìº´z\ÍSoÅíÆ=´©,KZüf¼$ÑQs_<ò /.ÉWoÆ#]Zó¡ÆÙOÉ•
\©”P!êõ-]¶
-ài5®~²±*£úß.Îu±¬
—è9Lôƒm5>“³ð,ÆW}¶ÌÖ*¦™f /=tÑFŒQköªç¥CpâÙèAÄ ‚ùpŒÆdt¶OÅ!l’™9ž¼¿†�4X|t¬B®Êí‡!Loo•zÊm’³ûW0²Šrm‰Éó.¥ÏM?×ÊÖyÃE �¼<�O¥çªü v�~èêùWÑÒF�	æ/xÎÃ¯qñì,³T-ä},/n…g(ƒÎÓ šˆ_7o[Ùë/K+�¿ñTqÝ‚Aõu60ZV<iúûCoâ­RÒOìï%	Žtséf=èq¨=’ÿ`Ù·lˆ‘¿†½WX_¾ýƒ­;c•+•�É¨hwy5å¸"9ÜXÊ
>Sýæ¾€ªóqý-Ÿ¿ÜÑ�ÌE_àD\Q€F´jU;®›Pj
)Vm¸8jÖÎýð¢®»UÓÒýìWÜu¥¿]œ§ó¥â§ŠB7PÔì)­<Ñ ±u+õ=ñ8'_îÀ«¬Æ,}*×¬X%c¤¡…E&°zßJ£Ò8`&(7 ¢±olbûæg=°×õ…g>7h®ýÂõ×{¤÷s‹ëC{°6'O�ûpßN;O·C©3X>J}ËòÎµÚêþEÀq
-MÌËå•àÅƒÛjjûå|dôˆß×s+h8®n#—qH�Ã-yå°ƒ®»oN`LÎ Þ�m�r^&Ánàèïë"0O­®^¡ÄŠ«"äa0zèØõ¾ØÊPó<dÃ>”þ$…­U­?r¼÷¡8 KÕ²U*1w»3ÄMúxMÿvÖ‹^ëjUsP©…Ÿ‚iBö5�ŽÂ:(uè*¬'§õØ›â/|�˜¹íKùèÖð~g\&ÒØ©Ë¯Ž½¼ž»Ýw£Õ¶‰×±Œþ¾A¶ÝöÑrç‡)/§›p¥�]V¦Q2Ëú2}}-ãê#AùE·Üõ¬&Ê›wñîÍkñÎaFa«¿+Ý~n_Wdëíôoyë^œÚ`O˜»a£\Ó¼ÕÎffÅ8!è¢$›}ƒŸò>æiôKBw—…1Ü·œ« ´G¶W!ý7}Ômmq3»N5¼{£ÆâfQ‰ôi~¢‚ï–ã£nV­›V!‡ql%æžÒ|Ô1ïm^ž÷&çºËÔ@ù{jýÊÃÒ�+t­ß?8^X´Z-k^®Éts‹>sL{ŽÍk,´¸è÷P4ôý>*Y‡DÑO«ÆÁëÈiE;îºå´…×Î,ïC#ì³“âŸBol–ìç
¶K
ÉOx½C¨Uj4áæâr}3JNÆ5»÷*µ­«YŸMë§côM6ƒhŒ·VÐ‹ŠÓåA:]á…xØ´ù2G>ÿ¶î¨´ï-®^{FµÛSºs•wã¿7P9‹OòÀ‡¤¤Ì(fëÔ¾\Ä—ÐR7…(|\÷Ú¨\–åQ<e‚ðÙ%‡)G×¾%Þ¶O7Ù5f›ÊüøÑ\ÎÊMt#ðêèo“×%iO�Sòú;›3ÏE3»´çÆz}¨©œ^X„¨ïJlÁKÕ0ÒK¾ÐÚ¼!{õYÉó2"Y{¼/¸Z¯^{95‚xßlµØö°ÙžåÒb4�KÃg‰?çª\hõ:Ðöã
ë}È*sv=²ÂìÙaòu�¥VpÇC�ñ*s{šÍµcä7?¯Áw)–LÌM	{ç?Gšµ ÚCq:Œ‹†ÀD|>Çò!á_ˆœt\,m*íj'kég×%ìICãÝûM×�½f-úå´˜š´ 3íºŠ�UnaÜ¹a9�ÙË·Á’&¼4o¿ýÒ]½‹
¶X)Tþ²Ò·*NíY‰¥€nŒ¯ôŒ¬ý¬B–+Ý}bØ,³7¬úg¥[Ôºæ"ÏÎ&è¾@,6A}ï ˜yÊ§zÉxéÙÄÑä�U§?¡N-�±dÞ2ìÎt´üã-ùæZ¥Xç¬:äTŠWêÙÖÅf‘«d6P‚Ó”ñ"Ú²|ª±ß
-TvH\Áüf®ÓW&›l+SkÏìÃ|ÌN�ÛÛ"þyh/Ne¼Æ	æ|÷pò‹l®6x§Næ^~àÙ¥5N_Œîÿð{ËkX¶Ñ£ŸÔ³8êœ('EN.Š_ëý�U¼Ìì`û2…ælûMJ$¼uã�ÁÁíS1”²vrU^Ï»�_`—Ê`ƒ�xX;Þ·iÄ>Ó_ø¦ï •¥í¾9—à>Ìýt7«Ö•ke{L¬ÎNÜé‹ƒÐ2Ùiõ¢TüÓ‡n�iYOÊ{öá~ÜùöÌ=ªË_TG¿™Cß¾SŠ›`VÀ8a-9]É££¸M\žæažtJø¶&éÞT[$I€Ê2Cû¢jøË˜0¹yÿã´qIœÝ°à�ÈŽáìg²Xˆêÿ`þ4ñF·0J?#7iº:lÃµ¢Ú›ËM7HN‰*WöÑ*þå¾>RùÂY^¿p.²k®â�æÊ˜<™~2ž-	ÍTt)>Ýûò	cy�|äzÙí‰Ä9†R8^<”±f69áVIÚ®^'UìW—èª•¾ßÛ
ÔÙ«‹B£:íf‡Ñ°ªâyÒ¼5Èp4;OœW�ßÀ«J�o2¯ÑxŸk:CÐK�,îÝ±dT€ï6–ˆZˆî6Ïîò'\ÀøÆ¢ù={Ëå°£fÑí5&elWî3à0~ö4)ÏŠÕAÙ·^jLÚþ!”º£ÝÔàê½{Îb÷÷^íïOß(õWßê‰ôkUë'»×ðZk éÔÐ7b}ízV?�&©g‡æÊä¤S¬ºÈ·T)DÇò¾:´ãÑÃ|^N9À`G¦;î%Ì_VÂÃJår«(²_ÂMçðõØvUÆŒ÷“žÚ¢ž¡Eáïr$B�xo	ñx¡2]UüÐÜ�+~/ü»ƒŸp_jom:½ËÑrÿÐ±Wú®¥³hUŠ»¦}Ð;¦q}Ý«Æò5:¨ð²ÉzNÃkDºß_ëm
-rAÛÎV±&]”Ž¸Ør^§€ÏÉýºu±Ý{žS*{šaë
-½µæç8'>ëÒDçEg·ñôfÈ÷b»ÁÿÄÑµ¸ŠË…3ðò`‘yY-«û˜:Òã‰°uõ§&»Du0®ÄæÑÑ¿]Ú�SAOV®3‚ Œ~6«(!û·"Ú®ŒKD×¼’°ì#›�1ÑeP¸t
v}®›þºÝ«¹_óa“Aeßô4sœFK³°4ì\4,ò–J<žÅ)?œêìX©Çlh�ÄÂ½Vž`ðui"×>_Ý¢~ÄåÆï]Â�£	JyY6Nî2x=Sé–Çõ’Ý*8R½ã¿£ûFYê¶dö1^‰øšz¦wÖÚ•g¥ÿ(ºU� ZÁ/BDÌ
-ˆ "9ç,&Ì	³ý®Žeç¥sw¾ bŒÇ[€°KXøåFZÔØ%×¶ÝI›ÅÏÜ~y·c¿VƒCT“®§ÅÅE…pU"Ö›Ÿ’bP-}´H…ÍÂ!êô—´õ”ºûÍ¥T{ô.áüqè7²<i}z¾ìõ&[×þf@èçòÂÝmæ
-à‹Bªè367“Bî…½\ÈýÁŸ5¦O÷ÁzC¶>õ4r+Ï)A·-P¾Î34èw¯å.ÎÔeeŒ0?¯={ØµÞç÷VòKÖsÆß}áÆKþ•U+[/Óî½°<³ÔÔÇ*IåT|Œ{*¹�CpÎÎÑÃurWÅFñöÛÝdZ»†:[Ü¾.tÍ=à(<9õ#+èopÁÁ¦}½÷|²ÿÀÄŸ«Émùô2‹já2¢ÞÇQí@µAß/»£nã{\jëóZvm?ækäuµ×üGÚ>6%JW‹dÕúAfÑšÊYˆÝ
Œüö&¢o¹P4bE¨¼ƒi`Ý'W4Ø}4'lox,×›hë�^såˆFÖ+Õ›¨·Ÿ—!4‰ŽÐEkœýwì'�ù]yâOÉ¹ö.´¡ïhpå¸·ú¦ß~½­`·ÌoE³	pª[}½‘Útõ}³‹Õ²žyãQFkRÍKÀ}60’YDÃQ' ò«]ƒ‚!T·µ™Ámý¢â(-[ó©»y4›d½Œ[­Ø(üØË«'`[®pú›Uqý¹:åüqŸ_½üF€ñzxëLðWs7Ç›RÐdÖ„ûåÈ	—§wì˜qç:{oí5Ÿ9éwÜ«±èãcUòÝÍd–,-øj¥‡{HÞ1cX£ìx;£¡öÉÉýnsô.X–ø§S7@±ß‘pçar/¸Þ‚›}Ö �R¥ÌÙEˆ‚AÜ_‚F™Ìšºç[>¯:Z%.Ï«§XùÊ?pR‚R&çËep5z œÄÜ¿‘•gßªn'³ú-¯2�—‰ë³÷ïÖ~-n-H¿QeN~¢U
-š¾4}þhK»ù`¨iÄí=MïS+&áwV©'-™H´¡ú$<W°Nß¼­¤ï¤V¤õmE½Ýù9�õ-J`sÖÈ‘(Àám1¦¾�Û‘xnÙ™¸!,Ù+oI,”"ZØ
-ÙnHP ²C3Û€Na³*’SRþF;ÍµYbSªµ%_íq¯òr*{szPêÂ27Ý{©zÕIâÔB09:Ï>ñ|Œ=ñ³ß(ÕòáÝX­Ë&VV"gØôátVùV¶Ù°È/›caËó˜å‡ˆ§Œ�>·£>\:U»™xOßtƒùiÉQ‡8ßgÓnCst£šå¥ç{*"VÃU»­~M>r–ïU^b·´ rs¦ù7ëÙþ4õÞÚ÷èÌf{½Û&æ!›hkK¬Ååö5î±Lj©ÁnæpîÕÍåÐŽ´8ñ(ê†•Éyªé·¾dÖAbÁv„¼e¼NÞ/ý|¨µ)× ¿S7ð£—4£o“ÉÕÅ¨,D(dÆ¿cHýêüºÞ»MãÕ¯|ô³Íì�Þ°K3üÜR=ï¶[´·¥÷äÂl‡*ýßl$�>¡“]¤œ™|óýì
�
b6Ó²á_}®{<52Þ¶uw£Ïü
-à�þ[Ë´j˜‘uf>OlëØ£yžvŸ¢œÙ²µß>Ž]¥Š�°¹h-bm¼ø=Þ.ÍvŸ®Î…“îö¢úN­³QÎ °{-­tóß¦ººüžóì6D&1¶˜ºkf„'yÓßc9
-�°c±‚©~¯³y�ö©%’¾dõ®ÖB@%Yžö—6ùÂ'‹‘Ü3�ídÒCÿ ÍI;m^<™b©ßÚ;À0“Ý Â:Ë²\ ò0œUíÕz¯cGI{ðFÕá©y·ÎK+wŸ2Às‰z
-²÷\öž…·œ[‘
Ñ RûKjD÷ùAüm³~	·Õ&Û«U×£QÊðV£V�ä{×þüLÈYFÐ3ä¤ëGÐ�É±³¯Og%®1ZÎÄR¥Élr¾ðìu½üŠ�ÙLØÃ7‚±^R¯ÕâXü¾cDO=òÒVz‘Ø>’©³¤Ü;7
ˆð›\Ä/�¿Âv™e£›8‡f+aÎû€7!Qèï`Î^äwNÚ{#ù¯/\·y–à/5¥vqÉŠ„Rúkï[z ¯åk>Dd¸Z?nSÿ*ÆbYå—�…KÝ¹£8ýýEpÌiÔ�ì¬Ìî?Dœìý+c&§�ÚNª2BÁ0X?jÊ�ª9’9Æ5ˆhâ™’¿Â—dÛÆB~	¦N ÎÏÝ'æ’G5Ñ®?»-8Hp—*}ìªÙ�ˆÌn“Rhxžiøp*Ipù7m¡š<PßÜÀ-Ö¢]Ç
‡ööVÀÌ^ÜžÝ´£Éa91ƒˆ¼ñ;•ÍtlY»Ûr@)n¬§·yàål}µ£í¡‡õ
-ÓGFõ.~Îe¢*H_ÓZµ+û
-À|Ò¿ÿM48g]š©³ìL`ìgK—ÎW(ñ2*ÚûmõWCPÈ«Ê”\†¤mVYYÃª·*fëj´KAKª|„V6Â:b–~snÀÝ.!Ô/1¤7OÁrµÐi¿@�0TaP}ÃSJûLm|<;‹Ht-Œ@_´Íí6ãE;|ˆ¿ÒD}×¾ÏXåIÔS�íˆÌÎs×eÛ&N¯[ï…CˆgwÃ}U.à?P0È’�Ö~Ãþ^\Óæ
8—-îÑBÄ´{@×R<¤qŸ°×ìrü»§Åg'
¹ÇxðR·ZÊ‡½N�äsºô¡[Bõæ­E l¸c‚bâ§`GiÕh±¯�rH›A¼±Üz*ÛNÍç,½æ˜J~Ü Ü
­ëç^O^¤¡ògýw4
_×…$ôØñxøµÂo6QOx×°¹A©ªÓìQl¿˜àêØ¸²íh±~çr
ÊÙˆ[¶>{„‹,`TøëUi–æPƒ®¹NK]JŠÆïR«H— �‚— óÛju-¼W.Ù
-
-9IW¥è°QæÕjåÄ™Ž¼ù›dTI§ÏÛ7~�ŽÜßëœØÀš/á¹cÙº¢…‰ùÙ}ñ³år.<«M}6J›ÛQ^Œ­ç§-¼¶¿›TÿT_!2¬ÝÄdÑ�%óCSZ�>y_šô‘‘ô	i
-lÛ¹\Šñ@fðµ„Âç|!{y–Óê=õÝJWJÈt$R>W�íb V¸K‰Ç&ÁÙ­Š•*}ä[“Fúô%Œw­ˆ=~-êß‚a†‘´”D{ò 6ŸÍÁ¸~VöãnYŽ¤PYMööT»„uM¬C«‚ªÏ‚¤™™öSý¨ãå³¦‘y[’P�˜ÓÜOÚiHýp�6ì¬ÒŸ_¿‘úXãûB÷a?%A7±j¤x�?'‰¯ä™9í25|y+«ç4a#\ŸÖb|¼¿+²üwÖKØ´ÅÊî©³C
—ÖŠÑnBÎû¥Ý;+CnHÃdÙ›æÓ’÷'¤åWñ^|±™­rkJƒWÌÒˆ¶ˆ\Ù™VðÊ,dj'QRKíO‰/aŒ~þRòù�çóV¨—-èÍŸŸóg6|Ã‹,ª×+SÏÝ
-ÐúˆÝ©±åÞÏ}ÃÖ×ß±xtIxXŠ"Üj8Õ¦DkÏVãÑ]¸f³Ò¢ÍÔ¸G-#îC5øß6¼º>ï„ùJ„D‚+òù.v<r2!þÎÁÒOp2.±‘ÃçÊG|Ô´_÷‚µï?fRÿKïÁ½õë2[óÚH¢=†
p\	-ô(±¤ŽBßÂvÂaöq,¡Óþ@ï–EE]6‰hz-ØÒ­½(_*+ß]cgøˆ]mÑ¦ÄJ•¹VQw<`îü,eE—K'ÌŒÉBkUXÆ]FŠüé5~zn�oÙL÷§ûLŒšÇUïZÿL\—(Þ�ü»+
-^Ï
ÙÇŸ2ß_Cû¨�ñ«¥Ÿ!;þúù’üþê)£¢ÅÚ¨Ï’}i¢£ÏíVì�7A»U) Ú‹³¸¾ÕÆœïfŽ@ÎvR·6�=ÙÙ.ð¢,Kžç9dïÅ—ß¿X‰oãƒÒùŠ¾ÐSd_IÖ•ÍD^ë¡8ºÈesh-z—G«-�šï»r¿b3`¡y–\„û—�D\Uá3ŸT•Ú“»×MZ$>q�¸¦Ò/igÌù�$RqS™Ôž>a\¯¼ÜlC‚bì8£Ñ…¡œœ©¬ñùcŽí®œÌ&£Hvv+ÒØk*ÏÊ‹™¼Âf#y¸=“ò{¼Ðå|Š$~p._e8R¥1¤ê=-ž‚Š·Â<eÈWÀ%D9å´˜È2°éØá±ïù¼s¢äÊõ¸Yª/fàÉjé(³‡crWO]@‘—ìèA@C'R7ÝÓëorñÉL€/IjúJßÂÈÖ£¥Y™Ïi­|G\M2ƒ«#™
˜®¤¯JMýàuy™:øñÿ"}tžBr°^÷z]í«iùµ‘3Ï¿£_¸q
]I¨4‰ý{°o©µÞ¨ç·‡{)mu;Ô@z¡÷	Û.‡es6$oý>ƒP©O
‘e[²	ev=ÿ¤¶~mü0yEW¯³ny:‡W¤ÁðUxKÛ]Ýs·üœn$g–ÄÃáNÚÁrÈJW—dGYuZvâË¨ô1º÷…™DÅ¸É£JnƒõÇ½¦3¤ŠðmøïQÓFê>’zÔÖ˜®ŸxÒÎ!N6±FÌ�Ür–äR+žÍ
Ã	íÖyCÉí/\©ï½�yµßU™®�dÐpj	ànÇb.WoÖ±ÂCjµ¥î9¹ˆ]Ç-ûUdf£mUF$V2
-TzÎd!Ýâ®ÖMvƒ¥}3¾”ôîÆ°¯þ³�Š®¤–ßÇ©ÍÌíîÈâÙhª.ç» .…7IêÛ÷=S36Ð§õŸdï+cüÙXººIîÒ¥î¢>‹÷›U¸Š³ÛMìÂÐx¹*Õ1ÚS’…•£tçmñyõ×Â|uxÇ×ÜŽ%Üú,¨çb�„py·‘B,µº
-=<t¼K)îîÁ¡r´
€lŠÝ{‡NP#\‹këÝ–¦?~gÍò/Î�ºÖÛîûLÜºµ…°?öÔÇÏP²àÄùX¿«gåõ©ƒÝE ™Ðs îœC%iiã—€¾©Ö"óƒuÅz—•µía£æ1»ÍYS<½‚ž:—ÇÐ¨]Ég’ÿ09Õ5�Ç.¦k†L2ß·jwÇ þ=6¹êw<ï×‚Gr³ÖjªŽÒTë¥²¥¹Ê'‹Û?pú:*Oùb®u•Úßt<˜Éº‚™›¯:¸Pò†wÅ\€m­_·qŠ35ÂûMuPºzæuxÈU7njC¼,¡ÐVÕàBC­Ü{>Òö]5†3†ÔòIÓ;ß^RSÍú
-V~~YFáW•ûa ¼—<ä~ühiÀ¨+W'x*²Ð‹°'+»wç<¥žsIï–ò­²þ�gj÷`í¢;e;T‘ËrÜ-öÅ—ínAMO!ü&ñÏz¼š�·€ÐølÁšu?ÅÃÒ#¿ˆéƒÙB±ô@!š¸1äQ-U\­²ê,KÔO ówy'/jgÕÐæ#ÌWÄì,•\]‘3ç@´Â.*eh?;27¸2ê0½V­¡%ŸHaz›9vvÑŠÉóøRa	¦�l†éÛHµ{YRYDýÑ1èÑ8§ /L1ÐE�ð¬9Pø1¥Ë/
y/gÎ³¼Ã”Î¶~'gò…·Åq6U°æuÒQ"·PiŠ+pÁê€ß»ºs÷Jý;»9ugÃËZÈh´øÊL3ÃüëÝR€C)\´b-÷yVÀ¼\ÑxŸ9Ø+z) ­q2x‹‚àºün•`²Ôô™QµMùsiUu{É©1¾iÔåÇôñâáü	^Ã‡ çßÌ!‰~ýå­ßÓ‰üüèÅZ:Øäš9ë�<ÈëµDiaþôp1ŸÊ÷÷èn§êÕN?%ƒ•OÙÓ’.ìjœPGr-à+?9‰¼¦7Ó–Ü~Ž¡—þÁžz¾¼}]5ÄÞ•¶È¿™¿ßøš:¸÷­;Úílãø�F»õ“¹t›Fƒi²Üo9žñùÜèV)¯‘"<¯ŠÐ¤åèð}´o»à-UÇ·\{½ŸI…n’†<y„ž'ÎÉ©u&E%ÒÑë_ç¸’{‘ù¥Í\]áM— ,AA/Ð>·>„!¤ÅHÇÖy¨EÃqTËˆ#‹¥Ë[ë¯o[ÿ¤S±dç)¥Ÿw¹ªJY(—6Ç¾Ny#ôÈ
GýŸÌ£ÉI»´ïÕá®KòÙ™ šfÅóöÅ%e°‘&%–ÙJHº™r"ðH_%Ê®%Xª6õÅJïÕ0SâáÔU[òt©­åHŸuŠRQ“ù»];�Ð+tÕÞ*UqBï›µµ@ÝT±d¿Õ%qc¼=¾ÊôøåþôÆ·vÖ¦ßOU�SR›1Ç
-ë½äƒöóHì¯òP:³gmÑ‘ú³¾­L+EÓ÷±W7bTNõIWª¯×ïéÐjç_ÇÜ5Z‹weKL.1!›C4|T«ŽÏ��jðƒMG}Ã&ÊE¹¦Ã®&ƒâ5S£Äê¦p"Õ>¡÷‹J~Ôo+'®8%-V‰õ…íH¯•†ÉÛ1óÓÇ¤¥ÎZE­�¦Ò°ìÏPÓhKo50U£�»fÏÈö‘«³Uù>¶-ØŒBm)[Sxõ.žŒâb-DeÛi8v~ÛóN½ÝÇ�ñtºÚÙ¡´5*ÜþPøÓa,î‰H*)çZ <R³G?šÊ~¿ê»íÓ=
-gç
-¯M,á¥<ÝLö?ÞSŸÂÇa$ýPxK¯÷Y·UW¼SD0kFŽãÑšJF©]^��6Ö¬\•Û{ƒµÞí­£›s¢Iú:7²Ú¹ãvË×*ÖäÙ3
-»£ÚD�œ=%Œò[ÑQ©Å3øö·víÒá®ü:JRÓÝ²fÉÕ8S%@ÃÁWé½Æ^´Ú<):ùŒÔÕT‹¸p�£Æ$ÖÕi¯÷!ÈÛÔõ/Ïú]…Z‹aëÿ4·Y¡þ~ß÷W‡%Ðf?²>–’í¥¿’Ù\Æm®<X6,VföÂš({üð¶áLy1âÆÅÎu7êñ7OúF¯S�éõš_ƒ¢/I‚ÙtB£'ßÅ_á÷õ�jIƒµª„×FWØt0ÓÔÔeàí¡':NØ2Ò±�ííJlc~2*”~kvv�ºé;|x(ç°L*T2‘-{ƒÆâÉ±ŸiîfØ�.bÈeÝ’�UûŽÔ™�ÉÚÀ£Œòm|é÷÷„-d¤kœ‡ÕÅšUøŸr. âºöšÌ@¥0–ª“�UAf%U9mo°±µGéTi_KÊsÖYÿuÑ\ŸAæ¼~*ì¬]®J­æLÔ�¦Ôõ½s*-è³V5®™ÇÍ¼¤s�²©ýökÜj=�›:¢­¿·¹Ñ€ÖuêÓ~Ÿ4»4‡u¥™½çŽ‚‹JfËÌLûÍOÅ¨FS“Ðø£µN§‡um˜„ÉÍ·š	/êorcÅx,ÖUƒ¨¿nô­ìäÆ¸Nnu¬âƒ‰3Ïõ£P™êåîg×ü¼fŒ®2q®¹„RèKeò„CM?õÛæÄ½Ÿ´dD‘6kôpC\ç
-·¢tÙ’Í�ª/ýÁ“ÒÒunzÍÕG¯5Öd/–‹wŠ"@sÖÖ¶ã’Ñ^ojâ>ÆVóûÞy=é�_l~:~$Ñ’kny1Âô<sBš^¿öz?éhûá?e)Zþ.¾jÉy�4÷È¾oîÕáHCv…zj½NI;’3×Ét¬þD·ãßrj4´÷›kû—a�Jšn�u^›Tuy«9§OÑv½[³G«6d[Õ§¡ÄÂâxfš
-UU
-šg¦"Z1œVsCz*sñÜ{á(Üzz4›^&ÏjúònøÔÞË�ùÄcŒJÝÕ«¬iLQM÷³Ùç‘ºV3bÚ¬x¯WKËÛÚÈØ/Ü@VÏ<±G˜­?‘{Æ.u¯	‚º×{ˆ›“ëz~Æ5®¢Ù¹Øï!³•áõ!xQø±åÇð”N«V} ÝTˆþþLµ­°ä˜Ë]Œpâ™MÒ}j/û<Û,'ûûãÏàðjÅåËŸ1!–Î;ÏLÕ×µ±×€»TÑ@Â”5éSþ›V(òá91\•Ë¾êD
:BK€ìßXÖŽŽ�XQ{ë>Rm.\ñv+Éæö–º�ÙXJsU|›ÂãÕæYÚÈÜuôÓ#z±|-‰_¦‘8ã	X¬ElO�ŸäôF»Êc«IQ¼Mj Kó�öQì÷þžåÂónM°Úë–XWêœ4fL—*kJÿ§â¥ë$úUÄôæ5àlj÷<3ÏÃ*Rì+ù×©µ3.ïÈŠ´EØŽÍv-—ºÜƒ¨ep‰bÔíU‰Ð˜ªìoë0Üêçýë©Ù•H´ã#û”Ò’ÑÄ×Î³¤ý¦;^EY.Z+sÊê0ë\áa´þð;4ô#ç4’¬1Ö°P¬å™Š”×í®•�+íT[Ð@>ôÌð«ÖÚÚÁ«1C%Þ¨ŸÍLýe0ô2Ò‡·m,@2ï¶…M¬Z=ÑŸçjéX�ì‡ÞêÑ3Mûv5½•Ÿß6Tá»×Ãoüõ­m-ÊÐ^VE„11‡&¦Á¶IãËvØî¬�sg¼5�@\zŠ2èâàŽ”ŸÕiK×Ûv‘^Óc£#ãe8‡Þ¹jqŸ+5½ö=Ú^ø?ØÃçç-™+­ÕMƒ~/�òì˜çzÖ­ú¨N†Í¡Qè{¤A<5ÕŒ4ïøEü
­Û{Üâ©@P
-TŽÀFfÎóÞ`tÂz˜ó:7#yo)¬ôíœìeù�é»VõÛ˜6¡·e%…ðþÔß¾yï»fš×¶-PËj‘Ýs#ì8÷‹ÕœYÓ)³{¾�_:&¤…ë#.D³ìþ:ŒoïÚ™-ÀŠã´ÐLGmë]Þ{=“�
-=u}Z´Ôg‰@ú§7­d´7¸s¥]�dc¾2%KFŠ]î·Y7D‹¸ këyÇÆ_KÝÚœz�8;åå=ÓfZ³Yi±5Vó®ÓM`®&M®íû¶ï™·°gãiùÛªó�Epa—f	a;•®¶Åì¤Y*µß¿Ž+ªOÊ³–´ÏÏmñW$eêôóíÒª[ÿÁ¼®>>r0UNÉî  WÈš+ßïø¨rÂ—âX;®ìw™h÷8oIý.?·Öî]¶G®Œ[«¥§réÖIÅ'ïgß=á\�Ê•Ë_$pÞÜ[eìÒÆ±Ñ“ÜÔ;9“2" ã–‘Ûúfe}lñÑ>Îü»¼Þ+ó7šŒ!È¢Š|¼¿ôëÓ±•ëtø�•«éM–§{E<Ci~©ÂÁ:›Ö¥\*†v;ÌíabvúÏ^*‹òno!7©“{¦V	¹eržY/·ƒ]¨º£‹îå@&Šp7’4ÐÊ2�+ºT¢9õ½Þ÷ì5ÜÔ)Ûïþ±eŸX¬Òm´gß¦•£añ0h@B}lk]¹®ë#©+8Z
^kî®’ŒXêÔ+ü½œ^l¢T«bMt-'k?U€~Ìíuÿ8�¼òb_ê8Á‚:æª±Ãb™Ã×œ‹ÓµÇE»Š`nŽe«òüòÎö«Œ&NõÔ7'›˜µGã�= £íÔØÈ­nñOX[oâ¾AÛˆ`Ü7�Dvú_Ýy—é‚a¶¿êKŽ×úÔ1$Ýq9Ïo0§…3°m†^Úç{?&w\O±"|_³$hÎ÷9æx6Ïßrfâ`­·ö,n»ó†Ñ)%}¥LëÑ7ÕƒEætùïWQ˜G#GZ4_“z7=:ù÷[ß3�
*9=°wï]ÉLvù¨=tîœõì—1Ãüà{ˆ|$¶Ô$Iãê&×€Ë(¸Fû±[÷š$3Á˜—¯XuÊ¶—gHHZ·¼jl�­Vx^õëwÌuN½£n¼««_½ ë"&™žÍ;õò|L\µ!§ÕÜ½y}ò:|#ŠCP§ÿ)¬ÅšõÊAøx–¬Õs·Â³sá\áúß-S0¶Vö#ÌÚ~hØ˜‡†}­e,L�Ò“—Ø'^eùßš
Ÿf>õYTåRÒüÛøêÝµ{áÏøýîA�vÚëØìV,3Å	–­EÍST ²r(	¶^¥¡Öú(�oë¹öqÉíÄW]¨Ôn·@°"hô”'˜p[>\Ïy2ìæ¢œ¸�+„sG¦Jü½x)î¾½‰Œ9p…°…¼P{º1ç¹@åe‡¢b²;Ä!tÙ#Óöl•ðÆûu+
Hç)íoIÛ�4KŸ^éh‹²à­}ûFÝÚJ\•ê…)•Ê¥�ê¬ÔîæS
·Dá'�¯lVp²?·ž…C‘¡�Ò¬C[÷Ö!ÌŸQC¥°¹™ƒ2ÓSó·ádå´¾lÀt¯ üšQ*{'ëF­³l‹Ã{&«»›Ä\/ÉèyýB©»Ä‰=5‡#"Oß«¿ž*ÖšwyÙì†ÆY½¡¥‹M´çDmçy˜Ö\~šæóäã¥¼‰ŸÔ5¹ÖÂŽr(³ÛKÓÓöðë·ì7j€×ºÎdË’KŸý
-6úZ7½ƒOp{qÚ*ÖÌÇ™®#îR²„›×qVûj[}ÀêÚ�v…ÝåÔ4îåæ?»¶D“0N™ƒz÷ï²ÛËWÉrHÀJº¡V®ãu÷níÓ-UÛ—¨Ñ.iƒ¢ÆvÄ—�ž«·Y[Ôš³“.4²…ÅÔð2Þ£©�ýêYêÙÎ'yö0Ø/!f®y =&5°¹íØ”ß¡ù¾&àäYSõc0~ê•ü1ÆEà)2òé±�}çv»Mnpt.Ûs“œˆ!×Wì³]æìÑ0ºüoz±+æ!³Ä~‡¨­ÜÖÒ\-ëŽ‘™ã¨<XÁ‚ú‹¶§@‚Æ-æÞR1\È´'Ž*Ÿ %6×K¯†g”=ò
z<šçÓ›ìòª»m†¬ÛÑpv6ýÊg2ûwhÔ®›¥6_
 þ’[Q-w<xãÇ¾ƒfZuY¤² *=EñÛÞCþsÕ
ÓÅVèÊ�gsÐj·kJ-ŽÌ¦uVž˜Á*]ž¦¿›-Óh¶Ì£éâvp�ºY‹;Žu%{òåÈSîº|ÇSßý¿‚Š¾ðœÚèÜ–E²ÝcÇq�Ö8®dËËD·èÏd»%·BoÞÓâ~ü¹�ˆñÏ‚Ò/a’LüP6I‘ÚuZ¾cs½öWuÊRÿ©wÜK$Åpµº±eø;‹ìÛ�oýKHùþSŽÃM�ÌûÍ™2z)ó„EÓ33¾Ñ.I-v`¥‡ÓÞuW†b©æÑŠnômv-¯ÝŸéÜŽ+Á[[YÝÒØç›­ß‚l?±¿)3�œ2Ç¥lÈ¹¡�‚ç÷@à.1¥•žø‰¼Æ<Û·»<T|P]$À/0&¸Z¿«6¨
z%žÀ!•Oj×A…&ýë]<ÕåM#œgxIQÉªŸ1Ÿ¢Æ¿�·\]]6®?×Ÿ”½F?aÇê«1Nc.
b`¼µªÀŠF$ŒØ×i�é’€—"Ÿ8<F³}¯§ã•ò'`Xÿ‡�gñ]}ÛíB‘ÛÛûh?{ürt^‡'èë #ùØ·†O_)Íš³­ê©·Wì†„AÇþycÖ„Ù<ìçÝþ�¥Ž#ää®��Ñ¯š'ß ºË—Û(YT£Gð#£3LûE�aýH”PèiÃtô˜KÖÚ7v÷‚¢Ö‘YŽØ¦ZF¶¢ý—kñxý¼û™X»×a·gv·dr_•r@ñÂÜÖáŒHêcæ¯}K—Ô«_léõ>q§u&è‘Õ;;©q–ƒ}‘5†uw‘Û»èºöæGíÝÞ
-nZ2sVZXi4žÇ­5”ÅŽ
Äõ`«R_·†�«Ž-s¶ò®_í¨X¸}DÖ?p`¤p°§‰o…ÍÈ³ã¼'¯Ð5(øÜ¶*:ï”
ògÏ,€…9ãÌÃe™IvË¥Ñ «TŽŽæ¯J—‡›K0=)^ •<‘{ðÚ/¶`Wè>ÛÂ“Þ*ðËî£{´QÀû
è}êÚûÖjh¥_ë‡©»wŸÒ>xë0%›i‰=ÕÌS`‡løÉíº(‰p7FASùë£DíëKhÎ™¿þc"Vó³šGhR‘Ô¨`GÞåp©~·JV#�bŽÅqóHí„jŠugšC¶às§¥¢OôB;ßxŠ‹cmÌfGAkc^J˜ôéW;øX¦ý�Òî9³uÛ"ÓF›ŠÅxÉžÒ‰VgÉ²“t%È?ßâíýzd¤(]nÃé`M7×£EGž ÒÒ§ðS2´9©t´è “õ¢xÍÏRmœ¿¯à™ÍèõÞr˜ëßd6›øã4¹Ëy7E�ðDw^(VÈº„øgÙZ#“òAR�"JÕÔQ1•�*oÅÈïýœ¾ˆmBå?!8:½Ùð¸ý;£¨Nï×úÝ¿”¬ª�Í)ðÔ¬™uºHRâéÒƒV¦ÍjÕóm`SÓc§„Þ«U•$¯Í4¸ö�ÑÊ?@:`HÍD:,žEW[;�¹yè`|ñÅ:—gVÓößNâ÷ÉAÄ
-pÐ+¥éÙ¥òT±?ÞI3ÛÀÛvÉ-�ÐÛ¯ñÉkÞ1vŸšC¸X^äp¥g?ƒF¢�”Ä4€×Ó°¹Ž6/£$ÃÍ¿ÿô6Êô½|ÝÝ/8+À×½’ÒïªôÎó´jçÔÈžD¶5þ�jl·—"î¿8×L‹*;;�ùšÄo:ó–ý"´j²Çß–î;ó¥TÖÖùVøä_ŒõôíI´˜k¢cv+¿Ä	°áP¡O�íÑÊ2ªÊV«Bß½•[—ŸY“Ns!úCKà½®Ë'�^d_46åÆÅªN'µR´‡Õ¹IëY„È^FcK»k¢œÆðdpé±\;Y;:q¥3ë¤·´ëWñÈðw‹À[&N¯É:•ki•èÕÝo¢‹û2B÷Ar4WçFaß@|8š´MoktŠ,Î"éë·ËÐ=l¦¶OR˜×Lpàþ&t�|W‘l…›º³Íô°m”²e©q<¯òl©ùš·YÔb‰È{äÀl;�³sYö%ÅŠûý‰ 9.¬P¼Ê\Ü”µ)Y$­m_â��ÜTÈ•:$Ý’«‚ñ]_×+Ÿt§c¾ZJ¦!ü{—…Ào¸BåSýj-îµUá9<é/:|H¤#˜âÜEfÿ@å‡\¢Â’Ôíf(V›ŒLOk»Ž”hv4ü�ô^E/îû-ìºì€ò¼™üû6…sÃäeë-	·÷Æ^Þ�µ
-ìQœ•]¯Ùu¡‚ƒ§b÷%®ž+‡uÔRö §–ÿrðH
Þ¯:÷Ó^ª:¼!ÕTö3¡2nô$ž{ª<_„�‚ý({ê4/¢Ò2AP~ýj³ï³LÀNJI|ø !L•>WöˆŽÕž=.úV|ó\
-xKâM�š¶¡ÇwC¦LÀÚáÄŒEÐ‡�ï�4¦yÕÅk¯µ[NJ�Ð^|È.óMF™÷D_Ëy�ïÜÐüë®(³MÝšüâÄ'™Æn�x®áN¯ûÔîàëûÞÔÒýÝ®¢Eá“ŸæÎÌˆ“z÷àžz
‚e“•oŽ‡Váeó9TšË™ËÖÊ¶üäWÓ:B¼ÆÝôû¥…à›�Wã2$ªFð¦+¢lŒ˜Å˜ýBW°cF`=ÎCâmÇ·}Ûe7»®)ïM¼ïÆ�Á’ûÜgÚ„„}yÑ¼P)[l²ç“YÈ¡	Ú–WÁõˆôÍÖÎ¦Ò~hDç*“ÇTj[Ì“ÌŒ0|gÁSâZ\gÐN¸Éú¾öfr¹Ã�…_N¶ÜpÜñÚP£ßjl m`¥ÚBÛâÞ/8Ù}£¹jàŒÞo•Ìä¹Ï²@©&£—7¾O+ŽóÑš:¾¶˜šO³{’ŸÑ(Ú»Žïº[+¡Íî¾àIX…_SŸ…‡u§Ñ �wÇùü2Aw·0j�á~–|Uö2Èpö)È÷¨ü+¾¢w_ÄÔÔ ±Ëü«ËTsòY¸§ŒÛ5æ—•lraÐOÕýí˜ôNe/Û×]‚³¤ )f5)ö…Mº’ýS¦;2×‚'Ö2´ý¸½çl?—·x)Éó’ÂJÒ»:Ìã±:þòûÍ>»7;7á;ÿvbˆ»i½ÅEÇ\ÓG\‘˜Vä}Âg~–d$DSº_ýj£S¹ŒLÓD¶°ò{që‘„1ý›€r
ÜMïòUZOý—ðÙuSYÃ‰ÜýËˆ’:¾ã«½k+‘û®Ú³ÚúQ~ƒ¿3½³NYölH+”Ìª<úSŒ¨6P4µþ +BãÈÕ�CÔ&Ù2„|XØ§yn«íÓC�ö‰º~4ÕÞ~Ixäz�JÎÔÖz°•>i…H™4_üõßFüðƒ
-¢9qYJus®L„fóœJÉ\ëõ´õžž^¤“úfª­QµQˆÔèõÏLcÇôS�Ê¸ÿžŽzœ.nr¥Ü°òµAkbâžÒ‚aôÁ¨Þ3ì™øÇ†X‚Ô#ÑžXµ\n�z¤¥?úˆ/®¶[¸žÇÃ�>YÛ™¤5Èßlº½…n��œ?ÊNöÆ,¯œÁî6àísl‰ïD®Ù%!
-NË³Îè„QóÐœöEŒ:4»ï:jÛîží7�ÕBžôªõm±;Í¬¦¿úÖeÜâ®P9Ð,ï°t»ÝœßÖršY&6ä´¯TˆWo0^HB�Êäþm‰csÒ©ï£'m*½öKjÝ 1²š%’ãš÷ëÏ®4ÞjØx“&_ïv0‘.wXŠ™L(ïWÎˆãN‚7œ�pNÔ]w¿¾6c(W±�tÿ@°›ÚSýù.+Hnß—Á4LnÃÍ–SO=U}Øá$bÈ�çxºÄ`)
ûï°]†Y¥>øxê.î~.ü¸ñ´¾\�´�½–x}Ý&qþ—K°µÛþÙãÃ%-)£)òñ	nVáÆß‘˜h,¿˜Ü¨:éi�þû†‚='~]·öÜºç‘A·q/	î×1*Öü'‹©
Ñò˜G\ýÊîzjÏ	ü9éHDòú5¼0¯Bkø#F�åOp 8vbDhS$]lÖwë�Fã+~KkPI¨�,õLå^Ž:–¶×ju5½2’kÉ>uœÆ…Ÿ¬df›)iÄ0'T|lJ–¼ªL7]ºä¿¥u³ò[¢ö@-jüdusÃ‹Š‰=_R'	t®®TpFW}ÍÅ\ò6")íødÎôÚôKn¾#·?äß¸@N@�JÙJè)ò[¨¥4ù.€øþb%3]Å:•žâ<e/¾ü´”$R[Rg
…¥øý(›vu+ù'[¤Ž#g¢ä3—“¡”út!™ Ô²{5å¡s²ür&ÿºnqHxyÇ›®¯S½ùüñ¢Ã´rµ––v°¹Õ¶úÔik‘faC²¸zˆOûŸ…6œwlé“äñ�³ã¹l‘M�_ÍüNwáaÖŠµ˜  $Qß�a¡ÔÑ†iŒ‡RÅÂ#ŠrtIÏÉáJ²ž~ÞÙ�ÐŠ>ÉzŠ´Ü°	 ¨*«M›A_ÀËÔÜ•UoéÀYã)¼_N¤ÐjÚ³žÛ.]äÃüqôï©Äæ•h±RuÑñDÀÆý\$ã>í!{5ð|Ð×äMÊ¡&Ÿ¶þ´Sï	ŒÕ®ž…ÿÜCú}‹eDxŽõGÕÝD71ZämÈÿõ!¹s¿‹Ôt­ŽóJZæzÚìHÄÏ­Ž8Eõ©�tøÓ•Èœù"°Ã&äY‚¡
Fòüw�}B»"2†QZ“‡—ûñ‰˜Z›�»†�•.bñäþòˆ,Å{ÅüÝ³’´�¥y°‘×ä©{¡²ùÍô¿Þö‘»eßBìew9Òï`òpÅ7(©­ö�‡bY!»XéÑa`	rèrå,>Ü¢¾’Ëc¡1P8%Þ¸þêNm†R‚_iBÿw›’1²âYÀùÂØ4âÉë¹×‘�´7˜ð$Uo7­2âùÑHì|=%žÉ‰ÖB˜z�Ùô™¸€ª®¾ck3«ûÎýòU'ôëÄ+ó>ËýæyUÅ–Ó¹Ù©Wat?tUŒ#�°¨ˆmO-ÂÏ£2]£o)´ÆÊ¡ô¤œµäOøAã•£¶åyŽú…mŽ2åpYáÿ@šÕ–‘Øˆ8¥€‚ÑÂø uUVîâ»R»Ö]:·OŠ
-l 3Ž+ÒØBUÄPÓ7”JÏ¸£Ð�péíäJž(‰Š€§ÙÑs¹£˜õÂõ™ŸNÒ>…¾ /Ú�ªâwÓO%¨Ï\edŒ.râ¾{&´,¥Ñ±ËòU?gÒµ‰©Êˆ¥Rù{îdó;ÑŠÙƒ_Jã0ËÑ_Ë¢”ØØ)ä ¨ÕN¥¿y|ÊEb&Š±s>Å&l=-Ø£¦Ì´*™v•VM–EvEyÉþ®ñ@Ãu»#¯~‚?\wˆ�¿tH~OÜf;lSMõu%cù‡*~eŸ¸™mU:[Y�kYB"ã>ŽB¹»«šR­+£ÆÈ[ìd6Ã_“ÎËwôíž¾Ë~ŽÖÐàwªë$äGòì¯j›k:ÕË³ÓP†½Š'g#Ê^ë÷±”}>#
.}Öž>ÿÝ®6á–�hbž†j*¾ƒñpøÉÏÆ;--di¿Ú±:ØËuå"7Ô+Ÿó«©e¥ÏBšÔÍ�ùHÕ�­ö˜Ÿ³�(%ƒ“3º÷JÒ»›Çs,2²
¶©Ü;”!ª™wU™Qì_maÕ$ãôÊVrüºŽÝùw"ws—Kôr·S9ÈøÉ’Ï¤X-™£±Ü 
-,¤Ü?åÄ½TÚ;6Šåæ)“þ�í.¶&¬�¸Òe�ûâ@­·ÁutsÏ¤J£š¡ŽGNUr%¦ÿÚ·³eŽÖ¨Ká¯5J§îy/$�ncø€–¯×™sl"�T¨k-\˜˜…¢ÚßÍGYë.´ažigµ-lç®Á*×mÓ‰¯ÓÕH*t}ÈðÔ8	M»Ò’Â[ûIø~SöIxKW�’ÿNG?�3¸�HëÁæ	tšã¯>Tà£~Ìv€yÕÑBÅ˜ÄÊöú(fqÚÝA\û~ëjùT;Ž
?Pxç··4»Òëô/±*‡×}¥M¥R7!&®à5©Áu ‘üÁ9¹E
µ—IÜU|Zèœ/ßÊšœžŸñ#�ü¥ÀjT_'	û[GD¿Œ+Œ¼^-S„LI66-
˜gßòÓOL9y4Îš) SãÖCëâT_+‰?3ÁY·R¥·\j!£G[Ô¤Ùƒ
-;&§Qß¥›<ì{=5]|ixV]©ò¬îTud5®OÛ…:=7ê[‚Êô×	äS¯ï¨ë�H¦¯¥)5
¼¨–øÐˆ:ßäæ�®UQ-—ZŒ!þ¡2r¸«Jg.[éœfOµ„758ÓýÃ9¦úû€ªu†êKG5ïÍ?ê›
-£é9y©ÇòÔ®ÜOû(J8ê½ÔúÝœÁ).¦êªu”ïÛË‹J�CÕš2¦b«$Û'âf`ÜRržRKo »|}ªüôb0[×§zçv¿+O÷¶º°:×®/7U2a7©0ó=¢µj¹¥|û)£7—£‰¥ÿzu*ï.žóíoýd¦{	RNî¥.gäc<öÂRÉ,ÐíÝãÀ6°Óoª$ç\ƒc7Àõ¥%#?bV(—¦’Å&ÝÎ2æ ƒä¨¤['¡wÈ÷oJ&t±Š÷
-òUÂ¬’œDŠÅ5ÒVI¯#f¯5¬*DÃg+&YÛkg±I)ŽØ64¹!õ|d±VçBÚœo|+n¼_[Š
-}n”¸m¯´Ù(ÜuY0/D(ÅzùØAöŒöèšcv²ý\é€c¾Ò¯&+R×.Z]ÎŸh½æ|üÐc�Ÿx‡ã�QÈy¾Ã?_qè6Ø£ô¿„ÛÜÙÇVB­P1ù¦ÖÌJÔ|u´_9*cUÓÔ¼ŸDñ�¶ßÊhµýëtÊyáš�F
-úbrªî ¼ŸV^°ÒB"¿Ç*ƒ�›	º%ÿ°Ž›u¿dõN&,(êkñ„þ§ûï¦oÆ'—fÃ¸ËJWÿbœW©N+ßêŠ»º˜Ñ.CüLmzBÏvžzzàÉfCâ•ÛúÜ)�ÊØýú”›¡\7½~k­^Öå
-|�yu«>yP½^…ÒãÛ0ªø� *ÛI_ÞÌ]7[bÜ+±ó±øö}½Û WU¦
µ¥ÅèrÓTå±3¹y±ŸéL7[ÂEñz:)¢QOõçËä&—tJ�Oãoîu÷¸ÈÛªtIyZûžžåfE¥qY6píòàNeó'ý%Õ±7[¨Ä‘îÈcxûÔ÷ëá�uX §l©¢»JšðGR€´ÍiÇ€hw3%û;	9}ÝfšÕAÜ¢–èš²¢ªú4þst�kª*Að	ÎC‚"ˆ(&‚’sN"æœsxÿËÞŸûí®=]ÕU2t?Ÿ®§æoËxŽcg1èþ4Ì®"V`Ÿ>N³É#ºgÿ,ï÷kÙs­¿í L°Â~Ü·%añÄî`i
×È&µ‹ü×G³Ò¥Ûw&óªmš§V×W{;§ž]"ñ)A/‡gÇ5{Ç_æ®G§ð€Í‚@Ð°ÔBnã:hN¥^vˆF×Îo?ÙRðáÆ™?¡_Qç¿"bÄ68«†qx®SËí)Ë‰ýõ1_¸Ç5ôwJ¶©·§—Ÿç¶ßÊÏzÅ	ß”À«s:+��}|_…´Ô?’Ó(õ-cO¦nð{{«sQæñ¿÷_ œ®Û´«ˆôÈV¿ÜÚv­ûSTí4v¼.	¯¬¨Ee§Û]b],7¦ßv¼&:{}hˆÊeq?EéþÕ²¹†.÷¹Œ­†}€«Y�Úòõn‹ù£à>²"<Ã…Ž|lJ�ÖÓ®
-›;è uûü¼Îªw|§º±léÑ|�¸"Ä�É÷h}ÞÍ.Í�Hª§¾•D�üYÂ©ü÷\¬…‡DÙ`ýº×[#²9³j±­N�ú(˜2Û~îŠ
-PõáN
-r¾¡	÷%WjòfRÙÊãÃ³�«Cµtql±Ráº4‚Í@ÅÌmóBäÂ+öÅNM
­M'4èíb/fÎrÐ«=-ý‡'cýö;Ž¹¤ËCÍW\G&<þíI¥Ò4Õ•tÜ»Ü •Í²¡-Ó¹cn–™­n§™º‹€itÊ…g+8ªðýÞÍ§iõÅÍ~VY•OëIñaÓšu‹j¨mª’;Ê7K,¹%O}°‡ï®¬î`àa-N&|m]ƒ�Ñ%t�çêe££>o¡íƒ–6œ|Ÿ…S@-î
—í—.¨Ó¹›Ì;·¢ÈkY•d·R]w‘Î6Œù·ËØ™¬[)Ð—ô™ùkùR)<ÆÀÖ�†Î×=C²K…§½í�Þ	nZŠÑ–xøh*Aî¹u>Ïõ‹.�Ž©z�µ“²^l¨—ŸE”®ß)k{mãº=Á¯o/ O
>{+e«Ö;€î,’K½&t­®³:%Öï�P´-©~Y9úgƒÿƒ±:™YÙ�rmšYèæ±;a�ºŠHÞlø¥¥�7‹�tVîé½í°3Æ;Ù›÷Çráïl!éEµÓÏ¾åhÑÄì”«ÚIÉºÙ÷¼A�Š*ÿìÊyVd²w«Zm­†Š_¯–TŸÔµ¦|m:ÈÜt�ºnKÒÉîA;­\lÿ½9ÎOèÕøíç,ÿa¿Ë1‚hƒ
-ï4Òèfmæaj’ëSDŠ×òÚ�!'iOôO�ïwÜ•Ï�+Ë
-@ÕûUhÎ±°Lm
ó:£ä@;rŽI+éénÃµ-àvFóch7oŒèÙû{I
µÊ;âª âfåG6˜xƒQØ©vÎ©ç~ÿÁ]»^î
e:„ Öê‰a©>÷«ìmŸ^™ˆ¶fo®@ç-KùQ˜‘t~ï>¥�{ßâK¿'ñî2ÔÜ²¨/˜gþ"ýßœþpîQîQÏCª·™x™ºkóŠš8g½=œžÝ³MÏWg�L…“Z~øÓa4gPW¨æ€ò$ù‘Ó‡µ2¬Ûúô±†ôûú>­ëÊ`‡é–Ûíð2@Ô:üƒÝ]¦v,’T5C–5O8ÔHL.–;qx=Qâ\¸ìo®Œícyåú‹@M®Ûæ¦xµÚ¯|]87«Ø¥çim½Qâ€A�Ô#ð˜çÿô˜²üeyè+·ðñh³ýó{|UýÝ'N®3uÒ“z˜ž¾)÷t"{îXíÀ=oMYŒ×&Kýx’×Î´ôõÉ¤œ«Ôˆa"â2Årûi%Àmœ|êÌLÅó†Úv�ŸüÔà·ÍñËô¨}ºxùøv«’F«a0÷é×}��60ZM3s.ØHŽ<CA	Ã×ÓÒÔ
Ë¿OÚèÀ(W°ü©j§�»Sqß[2âŽðú¼o"Äaä�Ž5�9a°7cuÐ Fµ_~1L×Ç¡Ð§—‚Åƒ¬9^€u›ÎFƒ³y†ñŠ÷t»jS9(ˆU�.¸>/À?¸Úìñ°%¢ÖÝ%Ž†ÜÑÍÂ=Ÿj8¾cžlÉÛúg#Ð&Â†»¬æ¤­j·¹ßŠÃö�‹V6¿¯õÛ„8¼\l^ï¼]¹_«ÀzÇêÚ…ª9æ�K‘&öÊOwzÀÇÁöš\£.=«Ù~<ÚÍiZï�[ƒ\yúÊ_6Œb9q	j»ž7�ªÄ*ÊÝ™ÁçÚ�ÁêL:Z×J‡
§V–¾´QDÌ×'ÊÁÿŒ;gW¡Ž·>¾Þî½¢Ú³Å½áºŽt×	Ní’¥»³ìi;�±’ÀGÏwÛªØ¨ÜŠÔsãÀ†Ÿ,’×#xßF!XÝ
}r�ˆÿàÞKù=‚*�^9‹ž�÷ ¶öYº»5úU‘*{||òðåŒÀ®¼^X?oíûÇ¸#Y—¯›ñ·çûÔ‚«âx7pð'¡ÚÚ$Â.c^´"Ã‰Òc­d^5?`Î°—v.nÓµSkóœê*ÿÜÃÖP^åå§Í_YLv‰Sõ®ÂéåÇ~ëß½æîzÚ®±ÚBD°yÓ9CÈ}Í…ãóGézf�“
-	
-°ÉÙã¶‡Z€ïÅÝìŠ“Á0LÂn±t››Éh’ˆÑãïÀ®;áýb{>¯Ð¦@?§ó“:w
-2'x²Ø³x§cñªë:ä¼ðbÊx³{É`){&¯«UH�þW!ãG/î^³î¸@j'u¬p>|[äŠ:U5îT;>å¼+qm9Ö{rÜóI ëøm®š¼e^
-Z2Ÿ"3—ëª{Š*gÂaÎÜLg¯qÕ£•�3ÛêŠ–¨c©U
Æ±ÁÃQ¢ß�ÄÀß¬ÞÃRÏ)<ŽVÎyµÚ)8ÿ|êW¶$/yýÛbè“•ÕŽô·Ýí*¬`~£AÝåà5ñkdÔ;³Æ‚½ýõNnT¦Ùën2Ùšóú©Ã*˜ñV÷½Æ“P�çÂF}L1½èŠg:c	õªéG3-0B ¾“YÃÜ³ÐÐÿÁIQ+ñuÚñ-L³�>tÜ_KÆ]ØZô)á˜ÉB>m"õG±ô»i}—=›8½ðˆõ.: 6v`Ý€_.¤”výB~x•UëØ*ëîÿ:�3|äi‹²bd\�ßVôúý‘âüŽ=ê?¥C8£²3íã|PèÇµŠ~š£§ã›oM¶8>U+GwºžêB•RJÛ?{sÐ«öÊ“Kry.¥EŽU†—8º-™V¿:oŒ½(�j!¿Ó'�cÇ½Ò<ºø¦™“�LMÝ:Þ´C-+ë†�»MÔô\hÉPÀ‰	§Öl1cgöÝóÍ4ƒ…×~„w�-|%}¸Rì;ëÆ�êÂåÅ¼ïÓ[ûâWZm�öã³·,Í÷uî¥Éíðs²òÀ·…ËZ•réùŽQs!GÎåIqKœJ"²T©Ÿ†?í„.ÿ©G–÷„õ6Y¾“@™O�}@qeF7F^TGN<ÛFÀWº>­]3!b<©MyÿQž…Ñ.ŸÐa©JÇüÚÆ‚ª¢µ(€ˆõG[oã˜nzÖ¹¨/hnRÉV¥‡@NÎ7võÖÿ=øœˆ€Ü³×¼¾g½í;’Œ²K¥·à¦´ÙÞ®"o`š@—Ëœ˜% ¥b‡~/Êõ“‹ÜÒÓXkOÝ@†ÝÃ?à[Ù¤2¦:òÚØw gÃXŽî¼7WlÚãÊâIÉ
>Hl;6ËH§¢®hí^
-ƒfîIÛÑ¬×;A,Û©c.G6¶"�kkåÛEoÝ€7½ÛÒÄ«zx$B
-K¸�¶—_-uàyLªxNd¯úL×¯I.¦7 ŒFß½A£ÌÇW7ä¼Xæeh¾(¤’Ëk6ƒÄÒÛØCN=&gzàoÌýƒõ�ñ0�[_:½Œ‡?SŽ1Dl¶Œ×ºÇçs‡àÜ3¯·yËù�	[˜³ïŠqþ´§CbÝ5˜kåd˜Í<%“ÎúÉ´NÞkeZúìi� È1"¨=®æ±šÁÁgŽ´Ê�ÇB¶úÆ­ç�*8´û�¥Åë�áQJýl¥çÖö›œ’"3«Ýå‹[ZGº†Å°Ö“×­'’!o^.Xyô…lÂœ²}­û·´rÄ–�·Ò‘§Ï@àÒtâiájÃÂ1‰CDŽº§‰xú¤àÖè÷¸;­—Þï£D˜ËaÕ!q
ÄMS)‹=—pª�Sâ~›Üfù7÷MM¹!s8€·¯Û÷‰€$a×÷åJvzûF<g®µºîƒ‹ýcåþ¬ê
-�êÙ·[
º³»†S&;ûEmdþ§ìVç•�´Â)…g8	Süå™üÅÔ‰·h8ök¬H„ÆÚ	±yy‹ùríßv½mYõiÇµIpêï+çÈ
-f*=‹Ú¬•äuxÔÈyü80õ.bní‘øá+•hh–eü~8ŒCfð½
-ýÖ—�|°†²Ðïº>:uâü(ì¡Üä‡7o–#ržÌ”üÌTªÙ"®<5-:õO‹~u–‰·!ö¯šÍ.Å¾üÄµîûåò¶¬ÍÁ‹g™·ÜEÉëX¿ª•Ó|ò†ò‹crCÜ¾=O#mKÞï*Ã+Ï43ªGk{§È[è‘È™QùÉÏµ:ÆåI|ÔÆ?¦	©—4à²€"ôÁ±,£öå2n½P²GiHW)qµoö%«LÓPK­(á.ÝÒŠ]±£5{.©˜uv¦;Jæ�wà™ÔíH¢y�æ?x|x#-æ2o•UÑ×hE«vo.>µÒëa
ONêa½ÿÕ®ß‚MÄÑãˆÖ²XÑw˜Dà€€cÅÛ™ƒîqk•ì�*ÄO;Ý¼KÞ;.ª=@
-÷ª3¨‘U^‘ÒÆ§_(ÇInCÂÇ­ý·d8'¨ãÂH†1šÂ|Øðó…]/zF,ü4³ò~¾1sà±3¶àožíòÏ°�ÕÙ›YÖÃ}šâb¡úêŽ‰oMýªÞãähwCIæ{ŒPá�&]ð¡‰¹åy�ñjßWlˆ:±ýéß`lé(ÙJóQ³YèÕ³®2.¡J‰…;§v`RäÏUSø5,“6&Ö÷ÞÝ.1@ù:øX
máæ¬ü™ ½è:H‹f
qD·¾ËIÉ¾Ö7­’gÍºáêwûŠ”ÏÑ®û¨�0MÇÕ°Â¥O¨¸…B)Ù6òy;n“²û-ßÐÜ—¼ßfrïNKÒÍ5ë¾”/w¹Y·Þo·1åxÒoû¸;]ºn�Ù‡áòÇ¦HÕnøŽ�Çe�ëŸ{…¿é·j&£ÕÆ,¨äë|ÓçÇT{˜q;¦uÜN}o?¸ç‰-Ö±ºÔj™ž=�©Hù¶tTKî¢{¼û�êDO?{{"í9#ò÷Á9,è7Ï?Ð».)Avüë
•rârÓ„7f+(×å(¦–Ì·¡ÇÆ×Äª¶óõ¡ð³äºM¦^¸Ml(bÍ·”•ùqÔûÇM¤å-|;lVŒAkîŸ{áööš%åÅ¹RçjD¡”ÂÒhµ� n¡Ý�Ó ó[ëŠ@¥ŸI¸Û¶WÄ´O÷™×:4ÇÖÈ[j4OÅ÷@Ì’P"¿å™äùÌÊÌŽ­«6¶2cÍ”-´B5þs/x¬y:¡[­r=—´‹¼o–†ƒÕöèö$!·	>jéPŽáR.sÏ•ï>ÇüEÙ
-ó‘"“|O6³ÎX½àÂSUžŸ gñµ�vâ{o­Ç€wS'3Ýåœ¿.4â0©N‡çŸ®•ÂE*¾Zßkä&9£M'û…Ü`Î`”y¢óbRS¤³\ê¯+ºª¿ëÈ\Õç ÑÔšâÞÐÑ^}?§•Ò´:èKŒ¯
-†rÕ†¿ƒó7ÅæG–Õ¯‘ó5ä�Ù®±Ì¹¥XÚ8ÀTõñBñÊPØý-LÕŒŒ2¤š§(Än~k&�� ­¿¡2VÝ¾=n;aÎL–¡ÝL	;Ú�‰zvŠ}Ñ¹éÙ}ˆ­ÈA·?è7ëÉÉ®¸þA™; Y…2Ø:"`¨R`•¶Ù‹´¤‹sæátO÷ZÅ“T‹1œÏôóÚºÙ¾=‘‚ÌKX|è9Ÿ‡Rp²|‰âk7Ìí‘3í¦r)
-¶��½½û4×s®õÇlÿð
-ÇâiÉßÄ4HVî&Prx'º‰<×vªxói²¤ ¸˜‚^3iØJc2^5ÎÔ¦à1·ÓmeLJ¥ß�¦í8ïFqŸÂl±ï“ó3êˆÙ?ã£rcH‹¿Êb!ÛÐ
¼à]•E
ØwÛÖ¦êcN+ŠIÑØ—·†eõíì‹«ä†[�39›5øþì¡û·ýJùnù*ü¶ML£bf‹û%Yíí•cF›Oh3^ ¯.	ÒŸÎ?õ¬�ÒyÐM¸ÆºwgÁ_Žƒºà”‘Û-s8{Aÿ`Ø=\kÇZùpt?³bPŸ_E\z 	ÇMéóñ�¯S¯Dµë¦£ÀèœÁ&ô¾°8-4Qg³*1:­ö—~‹òÁ«ÚÚúÂéŽÙ°³†ì±Plm‡ügaÝ¹H8Üør@çþM®Y:�µà`5Ú¥#Änò›56p{YùºÀÂ‡T`ÿöÒ ×„ØÃvêd†tAI¹-­_YµÅ÷«¶‘?Ðv ý
-ôîv]k©ÛðÒ±l`ØnyÔ$ñD>8[ç_dÔ�†n{¤Xêó¨É«"?wÏ½Ê=�Xá.®bÙx§UQÍä¤AÖ(þóÖÎk…nð€òÔ	k]ø½ûÀ†¥Òó¶Ô¯`²—)°O$	uì©o¶¬)ÝóGµ¡ãy¬Í8ÍRëÓO*¶ÒeÕ9h%ÿ‡vÖ“üm”^z¨­×´P}“ï»¡­Ô¿Ó­ÊhGëÂWÊŒÈËµÒ4õÎÚ2fUý¨u€Q×¶¿*3Së½û‹=,“•Ùy2ŒV®ž�Mc¸ÜiúÚí–ˆ�Õ7#¹^kácŸ"6�®W2•óÓ~ëèUµ~§w¦ô%Kˆ+¶l�©zW¥‡ïI‡7;º5çñ�V±»êa^ØuÿÙØën’fþoëº?ä‰K¤Û{
-‡®DÔß²D÷"µ´W(çpÞ>
-¿oaËË±+Àa;XC5&å6¹i½Žöa‹Pê^_mK<ÓÉm0.Y"ªzµ(H@M¹ÈnÛ2ÚyûÊ>åì¸¤ðí�¼®¼Ù*K.¾v€Ù.P)�ýƒ®xu½ÏHgMÃ†ö”É0S˜(¶�Ï[tË"ææò*ˆ—¤-²]+zÿ&c·Ý�ßÇM•¹£¼ç(sS~—_ƒŒº£Â…VíÃ~±’»;¼œ*Õ¿>±‹Ãíc8Ky¢s_×÷ÏØ�I#í¥'˜»â}g\hT)6µg‡§´ùçE­Ýf�ê|tÈ¼OÚPòÝôÎV¬z�Ò?X,7Žº~3}x^¼K¡}ùÕL“…²©Ë¾»ž0A¶u£±½ñ”KÔÂ8Ý§Á­N¯•×AJ#8ž;‰Ù»dõ¨‡-¢{{cBã:kþÁ# ) Ò®S×yò§à©c‚’üV>E�¼ƒNÜj“¹rìó»êDüÏa¶ÑÔ*gõ_£ÁÛÑÌÕ)ªSõj´²•¦éAp+)KtÈˆ«
ô§IÉ…ºx®Ý—-ÞC˜Ã’xÅWõšÔ,cìÓˆï`½”þ8
ýÝ+‚!—dÒFìg|áÎGai`¤×ã>ÊG)¨\Fô±uuÚrŠ´à¾�x©ÍózÃ”›NoÕ³ñº¿çéeùü¨53#ÔÉ4\¸ïÕÏ¶3Ó»v]¾ÙÍƒ¶<‚¤öôz†çÇoÝ>
bÝÓÐFýÚÙ-
¢ 
-}g©äoA¥¸ÊAPUeâ¬öÁç1:å³˜¨Öô÷4P}š:V4Ò6ƒùAþz\ÈÚ	ñÄ6rY/ÌÚÒê
-ã™èžÞMMnƒ†Ø¹Ö’Eµòµâ
-¦+±³*j¥ƒmí™4:%U©œ9¹á
-UË­¥†/ú|ª8–¹zBÅgOÉúHŽ8Kk	™^Á¾h~x6­nÎ‡rÞ²1ÿ;_ÞœŸ_•”ìzkê\9};¾zýëÜ¢§ÒlÀ�Ë}?¾Q­ÍÚ­Y©»²W3ÿ­j~†®AbÛ³ÉQ/ò»¯KÉÙ?Ô.ïK-¢¨æŽçý¨Ò[YÆU
-§´ék	RCïÐêL‘ÿPyéwµ>ûMëÚdã9+`óÑã“@�)R¶�Íë#}üúËoê+5<#(­€¶«�?S+HŸf_¹W>dÿÚ¢ª¾>ž:ê’xé-ùäfžT5þ²)\:ß/×,–WlžoÆàÈ/¥8qìÊôh`Xyi"ÇA«VVÚÄ—Jk£~÷ë\­ÆSžFF›S`oš+õ^jOêÝåáê÷ž­®†˜ßI	Y�®CÕ¯á?X
-VÓ“Ð5yxX‘”œß©†÷—vr¯í¾Š}œ6ûæŠócYœÕÁ¥
´ˆTž‡Ìi=R¿þðˆNtÙ{?f½7®}#Éé�Æ*òN¤ÇÃu,¢ö‡—Q=%`ùº˜¥["½7&eàÃÞ–î6âEÈVÕhn´ê¸ÆŒBg°Ú©Ë»ÓøëSj:½ù¸kÖZGÔ×wîZÜ[Ïl–Š{Ùõ+=	»?_fïëg\Ož/ß ©HËRqô®Z£ò‰™¤Ã{eÄ;
ó£Øü‰£u£#aäaiH§&fMpU¶˜02l#Š/¨Š+3tœ§¸6îmP¨^°NÁ0få<#‰œÆÚùÕé™íŸ€À|†ýêö�=þ}DÔÖ<3õ§0°Ô‡+²Z¥·ÙíÃ·Ú'·­Ý‡‹á%“š¶³Žž—EÙØ'†Z™_fy�Jý|M~VÝ„ï:xÖE¯ÉèÄ	™«÷è _ íF�uí&v>îÄ`õ«þžSf¯Á†Æ‚êW�±ZVbÍ
-S)ú—Á Lÿ¹[jbdÂÚ—·Ž6^}íµ×•Ä»+«\Ô6]êõÞ\Öm�­šh’ú>èG”\ÞVÃ#£ÞZ•yn]¬Vy(§ºÿTs´{ÿ£õOÆx$ï�âß³$íè9!™ì!û<¹£:‹Í…î5_Œíè×Xé+êtúxÛƒ]ÁæÛ¬�BƒÇ±kíSd¥·#ëø>Óð²V¡¯ºg­X+Gr_‹ñ¦H�Pà0-ØÒeôÊFg,
£�M¹íÌ�¼§gÏ[Z™!BÇ¡3ÛP:T­.ª£i«b´.4½a¬ÑÑ�Ê­!é+Ñ-Øâ¾é:çäàißæ­ødò&ªÛÒË÷£™N¿Qr±æÀÞŒ…Ÿ
-O–G»0õpÌ×~Cu#Xmù1fáwöüj|ð\±³rv
-²¡tÓ®­7w¥÷ÁW®ÃŠNõïÇJþé®Ý+ÿù›,‰B×W¿§öÐ_Jsµ£—z^¤@r�˜@½¥j“~oAÜ<Û
Í@g«nó)a´JÚ€Úk·Øhµûüº†²Úþg?”ÊT™…Ûæöú­@%õŽª>Œ¦²}9l†¨2Æ4¸y¥Y¹c×´r¾hQ»¸ÃøìƒÝ8§Úõþ¾W†Òõ�/ßÕ¯ªr	ø~<ØÔ>TosMff}kúþÌ?‰—ëkÏÚŽE²KÞ‹ãßµÈš×©¼Ö_'jÆoŸÖkÀnÅ“uÅ@Ë�c{ò�~¤¡½R,Ãòô�÷ä‡³ž[BÎX©BŒT¢‚ÿÍ¬gïñ Ù9N¶Z×É©âÇé¾ìlƒ£²+ÓLf¨÷I]Ñö²n^ÚÞDç*DO•„çØ¼²ŠoÇu_ëü{óú:+�ù;|êèN3Ì‡Õj”µB�|ˆZ}ó]–
Ð_ìZÆkŸÌN3É¬ÕªéÔY™‚nÒo#úbŸMMµ3m3çÛÆ1:ëÓÒ´¿Í¼ñËnc–„u3ÎJ9>ÖŠ™•¹uã‚“½’:µL‘í�
-dqÍ‡z€	;ÏøµúÃÁH=VÍù©16ÑJ«ÑTf²y¥ke³=Ž5tð>Z  ˆf‹ÁMtK¬F§°Ìô­½5o±ÚÿU+r,.?zÓ'7¶ƒúÆRY<¾6Ûý•¶6nÚ`ß˜ŽiÔ®_Úkã÷ùeå!9DlÌj©&cž^.!_7^-9¯¼­jêîQ‚Ý¬Ç9†l×ƒ
-sqT¢ÝÏÌáÙ¨ýÚFo'ñ„›±Ø(ümx§½¹F6Øšà·uíØíqXÑÇô0ëS)
p®=3À·ÉŠó¼ ËÎì½5:b§C?Ë«¾§ éÀÐ¡†ùnhÛ…îæõîÐp—ÑßBCÎÙ¬¯¡ñ(i±£4/z¦¾£gElTª%!áa<ôçîvîŒà—fqmgÕs×wO�§Ámœ7¾žy/+gÑßs±ñ†0úèÛá¥ônªãFtæÔdÜx2z¦±+íÒ˜š÷ÚúuÅWék€áê¯í4j<÷
ª»¼_
\_}Ê±<1½Òtm#´½·�á8+|å.¿Ó:ç^2e}‰Ã2)Àúp°}öYü¥%´�úEðm9ºJQL®¸–xFžÅÀ|%‰~õÖ;ˆ’¢�Ñ‡³›Ø�ŠY²ƒŸ@o·‘óVoÓB�›¾p• Øsp’èðZÏåô·ÈŒQrU¥ô{¡ýî½"¤›
-‘v¹ž-Wm‡¸Éwqµú"N°_w•g¿t•)ê;t:õ[§v[1hõoÊÌöðm´+÷Ró”Aì`àªØ’ÝTsë¶·ôïÀËy#ý™1fOF!†ue¡†½#š¢°AÏ¢:ƒ¬m·ªOžnûZ`ÃŽÝ¾"GÒí|¼•¸+taØ#rØhà­åB¨Ûµ»jnóÛÚ²5Uêþï¦7ÃýÅ®ùœËŸ"­¯a=´?þÖZBsÂà”Ç¯à©‡…íFJlìl„²æHôùƒMÛÌÉúñ³±e0ÐÙgoÂØËµÎ£7$ÔÞ>k2¿¡nåÛÝKèöÜ¨£d9!R&Ùê¥l®Cèn©Ç¡Š8èºaÁí)bQV!‹e›˜Û‡„}6ùE6½f×Z`éX²çð¨ý´aÎÆ-š7Ç-©´©Zß/<·¿˜Ã¦QgýHœ·J-ãªI™¶VÄrb
â¦©eø6p;r~µZx›çãÒüï$ä™}‘ºés=ò½Þ9¦ÆŽÌ_Ò¼�ånŽ8µð^5¯*ú@‚É±7Y7—7¡dæïìé�»:j�Êò!Ý°ŸëÃ€x1,c±ÓÑ¼éqìt`îÛÍ"b­Ê§Š¸£“´0ÏÏ‹>�ºÛ–/Ó…yL¸-iSø`§=^ƒâˆ=fó2WaðX›^¡¶ª›ù¹MvOáýàG¿eÆPAœg,Æ½…“ÿ½¡Uß$ô;WèWSitç/.iïnk3�w+Iž;LŒ‘Ôôúg…b)<l-Ç4ŒÃ›:ÁM=Hw|j
-�îÓuÔoË¾abg«ÎÇéß	"ÈÛ¦]Ô9ÕOÅYz÷KSÝÙÜ`ÆZ2À:+“?ånòm£}›L7õIòLCšçŸ&Ê–®H°�ïÝ›s&¹¶h³kk/¾oï‹Z?èj\n,ïb]ü›ð÷#p–h«±´™ÍOîaoê¼—«/¹·¿^ºU•8�ªo°s·\»ÌÁKl¿~=
Uzì$qÒß{"ÀÃ®‘<‹„KÁÉ“‘v)˜<)ß1‰¹•x'~­�NP¹áìÐÑ¦Å®©£×IQ-jo•Ñ]¾Æk:Á]œóôWùÐËõØÕž.¡zÿÔÊÎ£=øQqºøS}3q,ôW5�¾ê£æ®æàù¼Å™ÝÝ&öJÕfS™b_óàåòÓÖ°ÿ8ÙOf—‘³!­RgÛàvúÁ’?N/é7‰ãm>1ä+µ¶»tý†õC™•2	Ú(ùžêqˆµI­dn[¦bYZ³Æùµœ|«L
#Eª°ƒŸÇis«”Ë¦
-¬öúÑDª*þÌ¥ ¶È|,àÞ\ªmàt1|_}*0+ZVÒ®çN¼Ïf}inv­Lõ–NåAÕ;òrUµ&Ø#C²‰Ü3[Öjö@­�áÀÓ–ÖéŒï¬àU^h÷Æ`èLƒ	åøØ2Üó™(Pi~G–?•�^ôK%§IV?vt?ošîŒì�J¾Š
-iì«üì[²›­h­±`VêÙºÔßY¿È–ÍOoè¥“9%Lã¸OŸ¡<ä<Òì(>ë {gæzeW±I�è¶^i¹èu4´Žè¸åžâ4Mµj‡ÃLã
-•SÚsàtB¥ßœ˜dU|Øƒ–hñbÄ¾YçžvQ_Mú¹7½Y<ý<¶;Ìj—îOÝOc~²U¬€Ýùågý²ëÊ©<‰¦ôM,ZdlÅ~[.VÑ[8�[žÝ8Úëöñùy#SÊ].mþüY––,¥SEàìFý�îh�ÖÞ<—Õu¡>40U¶Ç­=]öM~ìì£¤©¾Ýá�…£ZtpUÙ:ç/±YçŸ0ÙœV–UüAµ^Ø¾Ê|3ócÜ®…xŠæ6â¬~ÛÁ
#-Ga,´_É)Dwv3®#Þ[NÏÿòv›Ó>wÙÅuÎ‡WÊ¡¦ªõŽrcê ——šq©ƒ=nZ¯½ë;I;T¿òÄDÏû!s¾ûÒgÒßþ½]ûMÓz/‚²Bu¡µ÷½&PC¶›7ÕÈ&k�n7º(°­áš£ø%×øªP/Asã*zXê–p	½ÅÿŠäÊÿuë$;Õ'•~º>`­ê­OûT8�²W{¬™ZÿTzê8�¯ÝÉêö*S2:ž0µït®ýAIÝí:µ¢f.wƒ¼QškÞ$Ô}h!°=ìxYê­8ô°¢Ì6ˆ­tÐwáíƒjá÷Ñ
-ÃÏŒ 6ý9Ã©Dª¶·Ñm¹A)S¦¢ù7Ô±f‡-¿RUc¶1ZV¨^£à‡VÚ¹QÆ7hB®LíÓZë
-A¦ØÓÎ]ª¥�-óçÛLÁÉƒ“ˆ+u]6Í_ô=údõá
jê{báèóí1Šju—s'³ºÎ¶æê½ Ÿ·]n©õR×Ù‹Ï	Šv´5¹Öeû1ß;@.}C+zç¾O3-Hx9k¤¸ÊŒ7ž*ßRfw}Çöî×}º1–I­�»fíÉë9ÇEêÔ°^<·Glê:ŒòäK«ÜÝÚr}gY§XöätÆû^9}Æ^äí§ýÅßñ—q8½¹ËŽ[à¥««“›ÛýUJÎK´ßäŠSûÎãøÍªNÑr?ú:³îš²Å…qŽ—mÍŸð6LÝ,ýPöS©ê>­Â­öÔoö€‹QžÚª†ÖÇ‹kàçï
ˆ™ áßìHzØªBØ;^—Tíî˜hùeYg“ëô©5Î îÕž?±ßOZÛP´DßeWs¯KZZ8Ã¥ä„]NFHõ|))’f¹«üÒJ¹ð/Q7¬Ï�&€ÏJ[Û�pôún<PátŽ—#pâFûÆ�§Ù&ÊÕª³qÎ&õD›ý0¹ÕÏ¡>dü,÷ qXßmUh˜¥S¾„œ%ïXV‡èÛß\—¯këø“½.œNb-ßŠ‘S�ýN×ê¤ùCrY ÅÂEi[Æ=`žç¬,AHSÕ’öÖ[¿ïÀ»¦1öŽQ‚é¡Íó‹gKj²n¡Æ£äjt—Âê²¶Û!ûÚš·x<Rök�ÄFÇ†)PS¸×ñ³xÚ�œ3ÖÃî\)|Ç°+~ê3Uöª‘í×á0´:PÒ£Ø
-Mz1j?aûVS}�írÕ¯s?žÐRÿúý<‚Ê~-Ët»|gÜ=°=ÝH¦;Ž;10¥ªƒ½×ÐÕ÷ƒi„™Ø<ôŽ¡$i³ôx
-äÉm1ð¨ë›ßÎgOzQ‘±„è�by»zêBs¥53{)¢;è÷8åÎ©ÐÂÌW
-/ZþbGözdT¢ñ3H�HÞŽéúÐðïÄ×¼NlÏŒ	%tÏóý~³<:}‡¦ŸgBÁÉ%ÑD�Öd¡XLåò‰ˆõ·?à¦bß]¸Wp±£mÏŠ4Ê¼Œª+zðMiZf¬ªhs^¦�Q,ž–T×÷Þ2�ÐmÜYÓ&ð³}²)—�B¨Ô^ò$$}hÀ2Ÿ´õÚ=ôVéØÀPjK_ËöÎ`µ\/µ¶[Ù¼÷Uµøòüù¼ÛÁ�;2’½tÌ,-ªâ¡kÈAÿ™J ÛÝLó€aý.š›„s~•ÁÊ'Ž¢×¤¼ÏÊYvÏW3·oÌ‰°¶3º5h—¹�n%(·r{CþÎvµ66+¤tŸ})Z0r¢9óF:¯¨-ßlÂõv•¹®=²S™®û
qÇ%ÈæÓ³«-óiy1·ð™} �ˆÙÈòGå(,õ¼Q?\ßÚÁŒûþ±sRºÏã@	è·™{sd¢7K�vÛÏ‘ò×�ÍS¹î_ïÁ£IFÎîôâKèÒ,¬7~­í�–Ôjûqï˜AûU¶™±Þ¢Áyfúåû Òz¤zZXÃðJ}ÿFl—Ø<›Çš[&žpyvÁë;Ëµ00Ó‡¬•ÎT&7*NcÓ©Ð¯L«©­À­NAŒx_1‹øÄðrª\ÙLr6Ò´ŽîÖéB9­m4aÉLj®½çÁÂq.—*�g�Xùôœn{Y�6ÈI*íEi�`�½¥â'}V*‘AE�¸ k"œÊ*Ï×âP'�Ú
-¯ÙWàå½±ÊýHkS¿ëâ?
-©àuùå)×D®%xGÚ~Îÿ`åmøè(Í_¤ß
P!5Ô
½p¤¡%®8þ¡
-^qôkL ÷ì°Óp0HHIRY/’å^îÐ•:ÿÐj{ªÉeBñZrÖîD³©;û×
¯è´y(|í­†4éže8�ûÕCÁ}¹Xèµp í¦õq¿Ìæá~§ÿßþÝW`=p?ñ—åðw�HaÌt�8||‚”YoÑûb°2	ó^Ô}?~.„ŠÕÜ‚õÉÔ©9�Ã�ÖDÄ4~½v“Þ&Î¦2åµH¾ý@Š0é†9ÕsðlÌ�Z{xÞZ%éÓ÷çË“…ðC¶y™¸ünåöñ¯Ç]tû‰š<=vÐÉ(ë]”–è8÷ÓöÕ¬<mà6BCáSD¯[:6zc+þOxÍÑ·±¼Úƒ’yÇE‡ƒhqÄÙÄ�YÚÓE}Ýß¡èÙ™×vTÌõ’‚Çz>2ú8ñvÀ…ZmP.jŽz÷¬@ÜP³Z#Â0GŠG¹�½U1[ìÝ)×¥³Ýü–@·#�-ö6ÅGí±ðŒÅ=Å#ŸQoV~´Ç~mê•ËÈ_WÀceƒ“øôÜ­¹Í}ã»3Ð7Ÿf®EåŠ×ò÷;H![{­™›³­¾Õ¤~�üÛ ÑÎý-z´Ü^û÷i…,,›Ç.Þõez[÷ïßÚ¢†Õ÷ß•Ÿë/÷†HÓA\	lºlœõÞï‹€œ>–lNÄXèˆÙ¬a-¼Z#-<UI¾mïû¿°²�@YO.d©\¿ÑlúeaSFŸ+ÇõKçHr×6þƒ!ëJ�öò49š.»€*‰J+oý4µ#û_H„G';k{tN¾rÖ–Â|UMYg…bD}Ž)~°H€Lù”¢f¹£ŽØC-@?×U‘Ÿ[Ù,<jÁüyôÕ|¬œh³,¹“UjHSŠÜËvL:­e¢¾?JÄ8÷øÓ§Áòé|Õ=#-¢Þ]ƒåtŸº¼;ü™£Y�XÃò€Uã¸S½5b“•�öâ"Ï²8T{'¶—tpŒÂ(ú§jƒó;Œ´)ío9£�ÜBÍal²ý’b•åÃHY–™Þ"­SªƒÜŸÃ¸ôR†óU´®üí%ÓÑRûØ¥ºÑË:–Dï÷ë[A0œÓ[Ñ
››fä²ÑÖ´IÞrHäVeë™jkïdÈË:à­
-é/RêXSÈU«Y7 ‹œÆ|éc`íS\7r¬dÿÍâÆrZ¨Ns�ûVÿ/·~Ò±,ê”/=Ï[¹Æ©Óž§ë.\£ú¬13	ñ—Ä»A¨kÒf°¬K±‘
-5Øùêž+¬$0ˆwÐßwJ/âY¨Û�Ë‚éljb7N5«ík—«X&Øy$ž±®‘ƒíYÃõîMÐcVkÊz,æxX¡Ìn‹ÐÆîçæÃË¢XæbP,S¥‡gôoªlOÐ‰oÏvŠ5®ÕÂÙ­ýrjå˜õ /Q¶ÃœKz'rYéÇnÛÁÔ­í'
Ð—$2°9ð;±OÞˆ`Ö»“åž“Nüªßž'�‘ëoóÇwîl�ñ¦¶sùFÕÃæŽ±iwáòþvhB„…“3r„6+¸µË}TÜÑÂjœçì�^wo=¢Ù¨ù} •&?(´S*{�fZŠ–óœ#À®w)P¹�ÃZðSÇnEš�8wÝw?>@Ë5ð|ªôU¿XØŒódj!{o)©ÞÐvä×ò ÞˆµX)“uÒY¨Q@~W÷0.E<G‚ÏœxÅ�>E­„
ÕÜ»DÁŸÎ&mÜ�ÆnÃY½¦Š‰óÑ†NgàqÍ·÷ÈA:Œ9ÄÞhç¯Øµ×-ùqìUÅYÝüÊ¥B¨ qbºÕ²È)9”WÕûe”aP\½«[øPùëúÌXå×»›ˆôê€‹Ô§@×¥õuàKK5®Ý r6^Èû@A8r1©zwßU>®	7Z>CižžLU£CÐ‡“Æzwþ<ñn�ü&¢*7ÍéUDÙ†nm“†º�
\ò¤æHø]DOK¾…ºLàr'Iª]Âu\yLªruÿåŽúù‡šÚ
-©™#ûŠ–ôæ£ŽñÞ:nú÷è£Ú.è¨È1Õûà=¯Þ"iâ;¼’o#°®5|yBªq­Þ¿ŠÑ,s%˜ÿ�Ì*¢Hý×Faã.”þ,Ää«üf»o™�äYåSë.—„<²ªÉ¯À¾ôÃÙ}§ÑKÑB”Ž/
-º-½ª“¼´À<˜iÍe†gü%WœgµwðáªãÕñë(ßI"41ÃQö6ƒ8¥Œ*”�o.X|ˆ6í¼ì�dæAäŠL¶é‰õ“W£“Wê•8ÚÊ“É]ú*±íÏÚï ôxp6�Y'ˆB"®'ˆ0s�ßëÙÅ�Jå‰Ô?ƒvût]4œý˜–d�ªùÛ»:�"Ô�])<òPk©ÏÈ](vßz¹3WêfH~ÀoXj³(�¦ÿzÉ�Ø•³ˆY+Ø[ØOZÑÉ—4çë²;—¬LîÕ"·d6Ë>îŒ‡>&µ0Wú‰ž¹¥Á†VµhWD¡ÚÆ<ÿ„•�të¸¸7^»vâ{]"ïŠ¬uVv5oþ.^œ‡ª³Ø¼Ò�«S#´ßºrÏšÂ8;ùþB¿Rwðb³†¼¼aEK  nŸ0ªOœ£22)Iý´&?cñ•EÒƒ¸i¥!„Wœ¸2ðØnð!|êSyff­þÚ»\T{�Ykü¨ó“‚éxhÔµ“c¯ò5üZ\¥­î\4\Í×Ò§ÆÕÑï@øZ{ªìwŽeŠ)
åë¢/ÿîÖ#áÇK¨CUFÙvöGe¦.!©RÆ5{’9s•dPÞ’±fQÉ˜,È�S{Í¿®MÚ�!¨¸š¦˜›«dšâ<jT÷}q‹U$Ù²‚ÄøÈÎHf±P\öqä=½š*c€ù©ö×åÚJ¡‰ÔÛoÑÑ8ÜÔÐ“¸„´y»SÖÏvö¨hþƒåû¶KHx›.BžÊÓ[Ýd®Ò¯È—Ž2UïçÏSÑ
-�Á°Ì’×öÑ|©š'®R?6îª
¤›z./<ÈÂkšÁÎ�–0ÍFÁOi÷µßEHˆù÷ŒÏ(ŸPÚû™ÌÉ;epà–Q�­²âla®
Ò6kø®#«ðœ¡©›Ðë�÷ØLv´g:Í–)¬7ÊÎAÏGÑL‰ÆOªçÔW&–Åoâ¯Ð–²µ-z?Abó¸Æ#%ïÙt=î½GæmÝº©p­·€F@ïi^«»2¯+íNJÃ)�lZ„Àå[gJ÷Ì^â©'iûM>àø(µMÉ3åõsžµr9UT6G<§,©�ÎÞ³¾TCÐ6CtÏ¹éÝªéœß—¶¬Íª¥‘Gµ‡ÈWBDò!RvÍ²Õ’ö�¥MKsbZ rî*ðbØ«Ë±Í9J9*6mzìò6h›Ì?ù ¡ÁÈo^b&4)t’›¯åøw "‰›²éŸ¾Jâ�p/‘›{¢¸B
ßºTÙ)T9¡Ó|ºåjõ¤©'ëC³•´ÎÝÝ?˜¯!áÞÊÎ–mõæQXUZ}	Ú™\8°×¡ÔkŽ4‚ÕVþ»ÆüÇÑyf©ªDQxw€¨(*ˆˆä\dÄ„9ç¬óôûÙ«{5œ}ö·¡¨j±}È6yëÇÜÑ‹=q›wÐoÙ«NŸ79ºrž4t€ˆÇHZœõÀÄIÏUÙü±©ÒyêœJÍ,1¦’®®úõ€¦ým
-Å�¶£
l*{AÖëÑ&5'‰Vn®ÊC[œIÛ (b;4„fM;Ã�2ºqhŸQ¹Lëœ.ö¾õîÕœMQk2ç-I)YWwuWÛ ´V KjÛk¶¸‘LI/Üz”&¡·Wd¢é)°
-äƒWŠúwmþmò'üúýŠz>�Q‹±ËMTû©îŒ©<ï[;öi——NV0"EÚŸÎ|Ò3;¹;lÕÜHN
-ÛÏ×DVÅéI5Ríìª•@_i;t ›ÝïAkßòèf«iöT›0y¼ë´WKÆ�|¹ó»¿�X#9Özãå'H£R¦—>—DwnÊÄ˜­bà.Û1ddˆ	¼x¾™x¸f]Í¥VÛYh÷9	>åé©&YéMTìNæ“†;»˜Ì‰ˆs�[á?ÔyÚ—�y©'G]ðw_E-FeË…†‚ÑFb½­·±Ô.y:gÖPqUsŠ`‡‡×ÈŸpŽw›Ÿƒ{âB­µ›¾Ÿl�•Íy57‚*nt¹\uô£’ëEÞÝ]šÐÉ±&‰frÇiê‚ÓtÏ~ÝÄ
-ä¯<AÎ_g:©ï¬Õ¹ÇU¯ºŽ¿ŠÕæ�t�róº�ø-i>„äe³‚¸„Ùµup)]ØÏƒ�æû;¼‡9}ŒÝw8ÖÀ)·ŒÃÂ{#s™�·
-~t[Þ¢JBþŠŸMT]–®úð{½úõ}ÞïúíS©ÛRK¨—é«>;ï‡Íjksôêy¤6À#Ì©¯<ù™[÷Ô³0Kì®ã¨óÔŽQƒGŠ~¦¶ÂF˜M¼Üä!Óø¡¬1ª£ÝÚ…NË¿}¶þØî×5‚1V~½%Ñ†hJk\RÂ
ŸÝ¿ÙéÖÄG½¢h�“ñÊ®Î¾tßðq‡i Zq¥ÿøÓ÷¢âð5Ö›^Ék\ûóZðXL^ôÏÊÓFpõ“áãdÒ=f…Á¡¿ê?9ù ë44ó,–R7SWéÛ*”vjé™$Oã¢Y>Û`Åõ3ŠQí]ÔÝ
jˆ~Y„S;§›ãÉÈÀãŠîý{ØÈÐ-¸Áâ´J×mª¨�Á]›XË}ßèž€:é
-·(�f­ž'=öÚI\K�y ¶ãõ—^écŠ¼–§˜Y¶/�3�ÍeØþ%\#úi-³ÆÕîçž%ýÜçÎ†.øWfŒÆ^9ï{©-Ìw«Ö§¸ÖëŽ7¹¿Lc½K˜½aÀËg^ˆêð	·ÌßÐ\‹gÁ(ô(�”—ø£b•ib¬C¿„Rï%/³ÂGÆ÷KöZJ+Õ†DzÓPeÌ2Ò^z³•xŽ•¢we˜;²�šK§#›�ÐgV-­iµ—f1¾ÑÖz7tÃ93;g´J†i¨Nuh1¿	ßºF˜©ÉEÔZ�Î0ÑÁ„Õê­Õê
Ø{Ÿ¶�ò»*ó¼ïâ`<1‰þK4–…×\k-Ï±y|åˆ¬o8À—¨çÇòEW±Ð
á6*vmdW¦GÊ
-¹Ù·Ô7~¬m=?{vÚªÀ¨�Ýe²Ÿ¾½£¾¹L3{Ô²9'÷¬ÓK¼¼MÙ~ššÉÏÀ å.�î´ösÆü,Fu¢¶–Ž3Å<‹‡µ	¼$}ÜÙ‹\M;÷W M �UM|èk1m«¡µÀÌ/CF/Æû�¨2ü›iŸ
Ø²)¼‰f}¯Ø6è?pÚ<=Ú£ÒhX0@ß™6}Y¿ü¼Ù¡>]<aÚÍ½ûfñFÞ½=ºGô£q´E¾ôž¶eªF–'�V%2J>Saíó?”€ÖÃ�;¯æ"ö‡ðûxj€_U4DD»Ø^É°síI:ªg;å“gº ø-)ý»oº¼µŸú»Ë„5vTÅ©Ç’Cùøå˜ÝBµRÊ¬zÁ3â•÷äKÁ\{çàØLˆöÓØç}k8‹ó.ÆÚ„¨sè…Îƒ²ÁÀö
*¶WÌÞYƒïÙn·ý[Ç/½È]ÿjòéy‚TÕíÞ�OÍ¦êòËÄ~ˆóRž^_:Œj1}z*~í &ÑŽéê¡}�¹CÅ¼ÅÔ|*Õ’êò#pÂg §ÆÕ¬ê¥,jæ§±E«ß.P^çÅ¬†åEtUOåqÉ@×?¬¯Ü7ùåíïÿP!ªyD/³òš:VùÓ/Só<00œÉKßà�Qtœ™ð)ñ:>]ÝQAm:ªøv‚æá"Þ;Ÿ¹³D¢<¿ØO>¯Í‘³Vºwó›™:)nµÜ_NÃ.I}ìZMoYÄÀóÝ±(yZÉè|¤t­²áM8­"«—¦d¿jóšÁÃBù="Û)¯è³&ˆf¯MÁawr‰Ôç\?m¦¢cžœ-4nBgêd½ÑzÕ[ëXë—íÂGlÿTh`úfl¡Þ£”r®/}€~%»ß?)	ÆÌ2ûrX¸ÔLÖasrâNY0²¢K@¡%’”åŒƒú>Wå¤ºm%Êy‹,ëº—ÝÝ\¤l]ßT©ûa-óúS_63ÿñôç’FVÚ6P;�vnõÍ¡M1Ò>‘
n¨í�ÓH²¡¹ßgkn¦¡õkY^cT$Ôe{pÚÚ»›[ý]nŸ'[ÓÞi1°‘ÚE¤À½œ8x&ðvQnÅ^ìå|:‹Ê¾Ÿþ½I[¨»ì+&XÅ/meÒ	¨[………t7ã®ú]	¹*Ùò³@o?¥{g^ÝÁ‚°®'ÿ^=ò—'P‹ldS‡r›ã±4ò¾2Ösa>~»§Ç;sÓT«Å—tTá0#3_ûÑ¤­
ŽŒ»1šË@¹ÿ÷zfÆ7dnSkºø‹#6¹ÝË³§Ûö(/†ó$ØŠËX‚ÊHÃ©s3¨›ÝŠ©ÒÊ?KŒæ÷Þhb>GÈšæ¨ØôLh[Ò¾Vç*3õFDRÍ¯Ø$f<�à©ËH°`ÔªðÊä÷5?šutÏØÍÖoIÎi+<È_Ó4S´KYk¼,·j¾c“£�S¹›ÙÏj´ËíbFmÞö‰¶
-Å²cdC1W%°9Ëh	ãž:&¹n"iÉx’çßË³xLVßÀöŸŒ.RÏA„@³¥ù: ójj÷íàÌ±/«Û¿>á•%Zn÷ñ%õ,[l�ÓG¦û8áð†Þ„·9�Ê•GoT!3³¬­ì»÷j|Yšƒ9_&¯Ä`í¿\Õ<lõk1ë0ÿ°>!6yŽ
-Î¯x¨Çb²s×Û7­þÍ•^£ƒçZÓFÌ»¢£l¾}+¯d•‡Í•£ðømon#Ž*ÃÃ7ÉãâÃu;	d@Š‹Ë–¸¼¸.¦¢�Y‚>}¥J“p6¡£ø‹…›:Þ&e°®Œl²¸õõjv,‚é¦M“¬YÍŸ¡£b�ÿþÙËM.~˜šØr_Kö;¦ê`6n�ÖæqRëàµ›Òz�&;yÄ:•
¤þþ�Æ1†šÊ†MÌ
-…x %C‡ÊàÂ´-¸‰4�x[©ÿP(“‚�½êÕ—ÎØß~
ºNWóIÉNú<×DYÿUÍöôqw²û½Íä
¶J64sÖÅEƒ,ÏØžµŽ™Ð¹d$‰†×›ckôq’gönWÛlÅj[õœ-�â+ú(~oì['l
-´Çÿâ3v·b|�*pÍÒ]ÙëÎeëXTÉ¯¤¼bÐ6œ´s¡û	ý9·ž–ÙÑ Èéž}~9C·àØÙçµ6É9Î�rØc®}ñžåÖ|Øú¨q$‰kµ+?®‚È¬-á::­	 #zÇ‰~KÞÒÂ»ï.‘)e7–n$ß,©ëïÉ×¶ª¿°S¤ðÀ?¶l�	ùmlD¸îJâ4ïEEëRñ'¿£Ûýá–ŒóÌ\:ø×Z«¿™vIJ˜¿ÈŠõÛª/á5_¤v©Ý>L¼–Jð=ïvh]m�0³Ú¶çß<Ö;x*:?d¨{^c‡Âá™¹äc#¢PO¶RþR‘µ~Üã’¸³n¥†ÂÍ<]Knf“«Ûˆ�Ú(ÀûìÐ–.&Y1›¿šŽ©‡O1æFhîÈ.ôØ­Ýð4y3š&vYÞ	»t_‡“~zh{ŠßªÕiTlV2»ÑZ„_aƒ@6n
ÆèÊUw>´Ö
-öí“ýLæeÊé¤&-Š�‚œÆQ?¡{GW–ûË^œ}Ÿ/“¦pXG`˜
5ib¤öóm(›v*Òl°)®hØ¬0Âjú)»eèh\èþ4§r=‰�I{áÇ}Ñìî«µ|ô-ðõQ¡ž1»Su¨Wõ�7.ðÏ¼mõž:9WúÞ�f»ùvµ�PÜÝ‘�^MÆ?Ó2iNú~µ‰Òùuî(;öKzã8Ž¸RùpÕ¸9ÒôÚ`·®o¨—�g±éyëxEætÅ˜7‡§4ú¸»šxƒÈL¼ÚBç${“éÇP'‹ÅCC×7Äk¦Ûøf�íV‡îý“™œ=F†AßšîHÜ•ˆþ{#˜¶cÇnOH:ÿÐB<º
-Vî?ðþš–!oŽm=µ�—{,`™T.3#®¿‹®¿ÙQíÜÌ:ft;·=ºÞënÚD,æô¬¸Äx²Ä¸í|h=�M¼…�
Â0qlQßüí&_ÞˆÊïû~¿ù.a
>ÃˆŸ5×ð†§)ýÛ}›«½ÜU|4Ý^—+XêT˜oÜ©c	—:ÐöÜG_Ä[Ì~íê;p¸bo1½O¼\•íJ¿Æ¬·‰ÏiàóË¸�a¥ÎÌg»›Ž�±ˆfXû¹ ï\Ð¦úhì¾nÀ‚v$vSGÑõEÑ-e3¤ÑèÂ7³ôâÕšXè‘wzBÛÀE�PJˆw±í¢¯V
-Ê©Z)µ¦ûµ»ó‚~�Ž¢½O °�ü‰fgâÝ·{À�®Îî“ÏÆKßß·ó8j×zA(¤ž0Y·òs¹\×2Ö"É™G—ÛY5)têÈ70[ìšÎía>ä»^„Åbž¡Ö‡‚Ù9Ëv3Ö7Ö™_¤5mµ©±ÿ³ìŠ“ÍB�hîž’F®å„ê¯T¸o~½¨×4æ}'­ßöZ¢&P¬5š§“gaeN4S{˜ãïÚe6F†µð^îo õ¨Ë¦ÃªÇ¬Â,F=Ga©ëÔ‘‘e
-}Õ©v�éÁ1zT~Ù?¿ºDšŽ,¥I'8Aªí¯#~âŒæ<øÃXH:BúD•¬=Ããñá8x¿ü,¼~¥··»×)GÞ$Mj¨p�ée„ëÉE0ö×�túP�hH;Û[ÌJÉvåz`þžU=“MQKóæÖÓÒ–´Þúª>µj¸„Î*våØ…Âý›ÜËäµËç¨9^ÄúÏ*è�ª)ô& —·w3EV�¿g°ÝöÞðŸ^
ƒ‡Ñ¤Î=ßñúe$k©s)«37
C�‚WÉs{Ìo;¹{–‡EÍl¬Ñ¦¦dkX\ÙúðŒe¾,86y[¸±[ŸNÞ§ƒäz)ÝýüÖO
òšSä‘tRrÊgÏ/$Ð�m}%kš¿ž¶0.p
-Ccò®OA«Z“é»-³@ò¼\Ñ8*	¢eœŠg»‡rÞ²„=8oô¿§£ÛN¦Â£b×”K�ŠŸÔ,¸Û¹2à„÷NG­æ�ìYYktóìô±&³ÕôcsÃTò*j]úE«½}œÜ®5«á-E€L0Ù×gs_|Õ§ÈŸ¿ô¢µwôk)W™·ûÓ¾]<‘­[�÷cVwÄ´tïáíPýè£È™²VÉó—V+ÈãÀdÕj]±�iô*kzóÞšæ/{´¼ÊSò/Ìó>ó°´H?xË]?ºéý<Ì×Ûµ£ó¢Œ˜½|6/	œHb	™‡´L#¼‘÷:‰@<Ÿ=Ám6=¢LŒÚÛ~“ñ¨ŠÜ™s©7VAeèæs®\¡å‚êõÞÖÝoí=pn¹] vÙµŸ½`iÈ—v4â~ô°
yç½�­¥>Šº£VÚf&ämàO^KÍe‹q�TZYÃ�SÏ¡4*ÃÎ-Ï•ÞN)I@I�JÛÎ„Æ�òÊ�SKÄØ+ÕVË»;8ßöí£ßaÂtt—~ŠF£·z¡ÁofÀ­ZÇª;¡QÔ);*…¦µlzüˆ(;¹è¹*{‹é,q`lãŽ&"ÇÓAÇ�¥íÒ¥ŸËxÆG{¨à¶Ú5É¶º:E(³ØƒPôùÒ�‘A*õì4íè4ïÁEÐjú[|“Ü÷ã¥`6Ø(Ïä
•Gä±8ÞÕC¼üV#ð‰Ã-55*ZVÎôâª
-B_œðvMÖÌòw’º³Ü—¥‡ 2d­ûqÿ›m:rµuVÒ22�"p©Ñæ;Ë»¥†µ3!L¶t©V‰XW*ø-ë×¢ö».�ùœ"}sñhçBšH…FqoØÚu/Ÿ_QÍºÛud
+
–¦[¡ö(1§ÐKëÛ:Gh
ßvÔ`ú=åY¬¢]+ŒÉÜNNÐ5UAžkýèHq��¾‘xb`êÐ¥»�4Ô¸ÓD”dÐ¸‡–|TiŒ»•�oŸÙI‘Ä½^=›÷àý_m¶,FE¬%¶Í3²—œvR>ÐŒp6tbG:ô{u¥m²4Æ¦B
*­ƒ»Õ-ŒÌÛ}”ku„Ýu¬m19ø{³àUÔ�ÚÆ®TÏ%ø2Z¦N(V^nÇ±â&x]ò,v_1XhbÍå¦[¶õàI‹›k¼µÏ¼úð7c^&¶If9¼ûÛä-³ÿ-f^ïãœ”Aä^6D
*r¹ASJmúR[çßÃsÕya„¤—7ñm…�ÒÔª êãÉ–:Ï–<�¥éãàÆWTåƒÁßz½‰#ê÷Ô»»Ñ·œEáóé¹³¬IÓ«9äjâqìÎy”ðïtïÓôô‡;ñ{ÅœÇHùù!fÁóçÎ KÅ‹æóJqEs¶¾Ìf®p=)P«€GëVp>ß�|¿#\ýayÿËà¸¿;©–ýÖâû£¥ÏÉ¯¼/áhE:P9)yŸx�»¯³."^�$Ý�GÝ@HßÂoáŸCÿRxø·,µ/ôöÖzË®/‘k¼iS{+X4`Í›t†p¥A ¼ž¯`¦ëâÆÑ(¿ÏNà»9ÁBJûÑê€ü]ÆXóÝæØ‹qä7÷}–¯·ðb}¹Ì
-xûÙúK
„Ü…Þâõ¨øTº¯æ-Øà!íÚ?kƒ$Ymä^[¿3è,¦ûŒÃ�ð
¼ï?4Ý_'6k^FÒ)èl{ÒfÀ4*“ð§¤³ˆJP€š8¦'
�S”AÌóâ-#Jß¥]2Ün¯?ëìÚ·SK/ÎáÛ¡ »$Ïw{µ×e•2½±N¹öUF5¶Iñ‹ñ$5×ÞÚB~µ£ÏÌLËãêÊ7J°{ŒJ¦³a`éÈëíöªÓo×·+@9-ÇIÏ\—å§¡áSn—T72R¿Öœ¥.¼ÝÑUíŠ£…ði$Vöˆ°<º¢L÷Ö1÷ã¹ì�ÆÏÂŸuÂÎT]á½š	Üüîoô¶’‡.JöÚÞ–×þ¢?Hèj÷LÖó…ði7@y.a7«žÔs¯^ÛKZ¿g¿ªdÇ•Ç¡×E«-Ú`¯r"”JÝÖ'.WMãñýÅ•ñ€¬�†gQ
Á?k`V¿½cb=jŠV~BÕBÇ>ÊaË»tÊÓ|˜ã¼�üPIÔ~§œü]kY}/b–ÅÞ4ƒœy›k>Ýˆp%¹vK›W{/Ñ¿°‚l¦å(ŽÂ¶½>¬x*èÐ\‘m·YIJ|4m‡	³zníü¾´êÀp’LŸGR¥¦Ô½k¬8—¥õYyAU?oa	hÍÚ¢\RÑXí`8¯ÿ<¦cù@‡ß|˜.o`ãËaæíîVª …&>¢Ñï¾î6`âoM [QíP>Ryf=ä-ùºå³÷sÝ5hŸ;yøÌò?o8ÀÅJ�/¯–_ªwhÆíhß¶–­<:}¼�º§ÃiY
-êJÑÞlF¬‚±Üôª/w˜“’7�Š¡?­/}4C^3¯´«ÎÜ¥4c ’¸í�z•»Æ„Õ=·�6;‚ï­>·¬ß¼:ÕGÀ¨ÜU>ª-.¨°zÅ¿W7zùJ)|J°—�ƒüîÃŸÞ¢á:Ä´¶­ý‡/O×È–ÍrÄž‹JÞ>zøUÃ�Z}‹õ¶ûœ„½y€�Á	ªÞû"„y÷»E5.ô«è íªÉ×‡¨¿7lÿû‚;š46lqK-Äój‰VphÕÕ»(G�ù¢_1iß°MFå%WêMõ[qÒƒí,uýx'u¯PP~Iæ-Í»Óü:œUí¤ëq®NQ'¡íkÚþ‡*œ»Çú,³i’’hLÔM±zì�û¨„=,Ð[‚$½ÉKC¾ÏèlÂ‰_æÓÿg�U§?þ`C„ª¼[;ô}SÛÓË­¯³®]?HÃ‰b�é�úóœÇð½0õå£xIÌ«×(ž‡“ñY2 Ç!	m¹0¶Íà•ºVÝpXýÍÈïØý¾mèF29êVãZHË[ê@2ƒóËpöê4‰È„½¬kzXÍéB;	×BÝDVÖW)ÏüÓIû[5püË+´1è_9.kù7ð5Fp?J…‰Ô³êJ0M\’ÃÊòñÙŒ[XLÐÄFb%XÀ	»|µCýÑ«Á0ùeó,–UYÜmÓŸa{ÿÙV‘òFéð4XÐyÍYVXÃ?=²eUHJëülb{XÄÙmƒV
-‡Ýß7§x'2êÕGA7¼¥³)wg~uØùSüHË‡IÓÏ¾çª”/kÅ¾��¬çž®žœÏ¨Óì”â¤Èð)¾Ð…£3îÝéhH×n¥úŽ›¦ IA|C ˜JM�M¿±[}¹vú\÷€±~ïÄ7^Í§QkïÔÏé"1>Mâãå,¤ýÉªTî«Ø-?a<áñ¾ÐÛö5·v3ŒÜI‡tØÊZóR†cÒE�ú^ÚÖ’µ¾ug»æ½ò»År8ëã³ôoÅi¯e¤ÇðµÌÚ%¾?»zóúqÊÃÊjórK†À¹öáÛ2|ØûË�ùêÕ»QsSf$?­™—xu|Úd±&7üˆW°HÞÏ‘
-î-÷¾í
êÁç°‘þ¡…<NŒ=®T½ªó^æù@ñ~/ÂKtzVØ�Y6–I=2Fyû`‹Áûp¢¢žŸOÖGÈà -±PO?ï’Â–ì¼¡/Í/¼0t‰Nó™÷ä7ü	}¹é¦œù•ŸÓÙ_´{
ñëW•Ùo�ÑÞK¥¼®_4°›ëúS4H9Ÿõ¡5X‘§Û» ~¶e”Ú$‰°¿rÕØõ•Žør�B¼Þ¢¹^ääÚÊia­ÙnïHª|‰`T´ãR1ÐÚ	{2š^æZ¤!ƒf��n‰dK³}Ã¬Žf+s·Âœþ„ošêà‰âêá6¼´:*jÌ(Êà[Î;Œ¦}+ˆQ<R#µˆjGî¢ +³âž}Í•é!ðÕüÈ�©öqh	É£¡omXáØÝEN%uO0îvå#žEÁ¼Ï”9žLI¹Ê¦hÎØ²%Œÿ¾WÿšÐýkufÝõ>¥É¶¿Æ¬ÙM¸Í™Ti¥&g¶8½M¬Ûì»ãN‚ØY¨V¤Êî.¨s·q·_É¸—ƒÝzÇ©ÏÊÐ!öBµyïB¶¤(ïÉN7?µ¿->‘�àvà‹guò&-ôé¢ßßYH¡�nža„ÛJñêÕn¥
-Ö|†)Ò|x£;WüRC^«ÿ0»?€ÙœÆôÍÿ­Ñm–ð¢Åâ
-ÿ<œ¡zès<‰æ¨Õvíé- ¡*Wü�ƒIþåQ­¾¬,{q…¬:ìÚ�²íLMÑ0Cö‡×\w–Ò©Õ»«`Kp„…ïèÚöˆÉx¸V½oKÜœáƒ`Ç_&¨}^'yït¹1yøœlü”×øÇc>?Í¼>J†ôl€d:Í{ís¨ð¥×R-|áÆoö×t¡4SFö,'¥¨_’8	hƒA{YùlCþ)Ò
-ucq²„ñ� yö>j=y¸øNÜ»¸¤8+T‚€Æ"¥_}Õ¶]+¬ŒÕ»^ïé;d!6Ö�º@L0,žw:™”ˆ<½6ßï‘íåNq™ƒõ¸A%ÈQ|iT…a?!ïÍ(Ãêv',^¾Î~¹ƒã{Ý{HÅJ·tôS{ëÿ$DÂávô¾›0¶òfù¼‘E|�EƒU·’»Ø}ÛùjÁ£íµ5�T©¨„“æ¤-,Ý²ªÕçË©¹™kO²J¯95_˜û“
-EÆ 2rÞ¼ù«¦¶uû}ãýl9åÞ¯~Ö?ÉHµ^fYîÉ>ÿ‡JÖb�*Á9ü�ÙkµWÚ›Q×_í£ÙÙL}ldC{¢‰Ûî#Å«nôˆëcÍ¶@Ù˜‘¾8>,Í¾ù&ú5iíUØÀÂ6©úU‚ÒQîjœ–W^o9ž¯Té"À ’j|¾h7òQh:Ö\1õ¡ëÇ.®—ÝïF´
-VhŒÎ“µ!Œb×ÝHÓ&÷pfñïj¼½âWiUv”R¥±·9¯}º¹*³µgµ+ßRdé ej¯–jMˆxYßbÚÔ‡?‹‚¿kˆ¶§“g&ü¼!çëmõeVŸŽt¹¯QÚ!žm¼GÑ®ä¾kc½š½Ææ-õJ2a_öþ¼²°iíÆ‰�²ý›
�Úd™ÓÂÛ‹Yßæ=óDQ]ôík¡’'K'øºV‘Œg�UVpöagÜo”°íkÕðÞª½Íð_3Ô¾+}òE˜@¡@½Ÿ»Kzýö’cÏÉ)v¿w›ÒB×/gË³Óâ+Çëõ…ÿÍ5Í+”¾J4�Æõ9ÏË±À;ZýÔ°Ë9³á®üt“sêXDvA˜õø¿¨d…YÛtÈÀÁŒ¤5ç¤ß,�XÓÚ+…M°Zkœøü3¬¨à;9ßÖ]ñ2
-oi^c=DìQt»e¢ÁŸ—ßŽ{³÷r¼(:¾ˆBÃL»éš«2y5mé¢=?B3&4FøK	�›oc–q ÿ¦u´|LÊ}vñðéêT1~î²z;qšžˆ¸Ó�z¥“59ß°\•íHœºÉ@êjß¢ùDvýcÞ-Ùº±]Gf³*ä€9ñ†åuØlK­f69d aìßGŸžÍ³«é×é È5(ø‡«ù­×4_*I«1"¯YŸI²Ï`L©âÛqc¨t¯qM–’¼ÆÚX`”3ÙþÝÛaOˆ‚ûìºRÖ�BîC«ÔOéì`Ô;ÌU&á,•ŸØra<:‘Å¶.oJ=jœefŸ>Eðí^U7”�µÚÇ€é×-×‹YîW½:jÃkæ"7V&­]Ëµömê°òº?}{Óg¼{ÃZ0,LŒ	nI
†!ëú‡ôeS]®‘’14JÆé–íŽQvÃ>30”/öT³mþ­=¨ŒÖš8Üµ8P&’†˜=Þ<.zï Û­eT©sV0¢lÑ#°õùfN
-±bv ŠÛµðj}W\Q¾¯'—XcŠQýx†ÊVç@#w÷¾		÷ÞßžÂ¤vw¯bîxÖã)UªßÛ¾nySÈ7”%ä—Œ u·îœ²&âò„V°X·Q–/þïlnJ«ØÚZùÿ¾E\‹‹±MJóÑ;Òè$÷}{k¾> º;üµÂ�y„½ìÿÞ@à¬ãí;°’ù�X€áÒÌ9“¿®Rzl«*€ö/çÝ›UTëÊ�;¦zƒ"¦™6·ú¥úH}Š Dáº+\N}%�ˆUP©A”ÕØ!�ŸîÅ·ÇÅµ@Z/„—Y´Ï+-U#™Æ|í.vÖO]6û"ó;N®›7í~îð3Uèº4–ô·Ô:Â�ÓJ3c ÿCEõJEŽ·~�K.rN7ÊsZhúÇ5 ”åŒ;E�!~îÌµâ‡èÕm·;ñr*ìiÏG…,õêTä¡¢g˜gDox÷ÚÜŠÙÄj‰ŸÏ«b¸çSžÄ#¹ö•äQµ0ƒÅ>”~ÙK­Z
-³²«�@€¶&•[)¾»#?[-·zÀo¤VÛnÜØFÂüöÞÚ÷7ëÕJÊGŠ¿Ï�âËø4×�BôþfÜq[�5£¨Æòj4\‹uQŠ P™È
Í–ÝAiLbg?@�s3½Y+Oüiä€!M4jÛÀúåA:ÀO°\s¯O!¬ƒeò™<ÆJv4!¦·ƒg±6»¨¹*_ó��o.«e¸�Ÿ5�	Øa*XäŽ¤Q×Ä¡)îì’×B¡wÉ(ÈBùV^™t8’«\y6¹+ƒ	Êþ#<¬äîN¨;m£ZôQ–váœbg�Yï+›èÔ$®æ—¤,aË–mÈ<2ò�™Küt©š(wà…hGìÔÄpf6’›û.¾ôªÄ�¬vÄ2Õ»û8êèÝ´^!N@÷Å­bµãJC{A¿¿•ôxÕRµR|ÖïTzWª£U[››õ½1ù!Çv.ýå´¦á÷>TZ†Þ&*;ó}Y“E5­qæòvíQù4w¿/c§Óø¬£
Â­©ÇÎôlÐ³ôï\vŸæpiV:ÔÍÓ]FŸï*d>K®g²«¬XÝ»ÈêÍ_©…i!×gno´EQí4o‘uVËŒ…Š¶ tô’m]d¬tŽÜõ€|TÛ[WÉ“¸�Ë
-6Ì•JP2ÜÇì°óÔL´¿3Š „ ö‘5»¢/R5{”ƒ_Š*û¢ÊqÑQ<‰ÕbãAv•v[w"¿ê½ºÉÓ¾8Ý;3·
‹:Lÿ¡ÕyZ/9'ò85�%-Ázã1åT¨+•ûË±Êfëâ:�HRÃÍt%�ó¦Ëûý“6§¶RÜS.–>ù{ªv$ø¥ß…Ñõ®ýb¹
ÁõÍü=OžbÖ°ÃF×”ú[Åx”–M-DßJÆ‰ºÎôˆ!žî=Õ˜Öî¶Ò-ÍhzÖóœèûŽò®Ž'gÏ«®ˆ«ñÜ
úp±n9Œª2×µM•ò£„OkK+ûÖl)é5
-ñÂ×ŠÍSÚ.­¿‡ ÛhÔtB¿8œÁw?�ÔVúJm�Šã�Ô<À¾,KQÉ™Ty�d~?�·¥æP]_ÚJ<8–(•z]sáÑ]‰@zlkZ‹féÑú„úõÈêB0¾Tí0,®ÄIº&àugÇ¹‚-½¤Ùü·4ÑÙç˜Ê¨ØVx¢'Iù‚%÷l×PÓÞàÍ^«w$öZ‡,ïüË¢“�(å¢öeáê¾îg�å§qµhÕØ<wÍC+²å‡TÓ¨éˆÛòí(ýAüâ½áäÕí.Ú›ÙyÜÜPlE.ï§´Í@¥?‰¼’‰m8ñk™BaÛæ0Ãº%�’ÙYŽ{Òµ;ö¬Áév•Ê(ý‰?³¾ƒ}Ÿí)…™ÆTW=[LÜˆ¤¿­…ž•ûM{ŒR*óŽaÌhdïFdçïÍûºùV´hšA�áTÎÑCõ¨=«¼UøÂBiëÕÖ§kÅþNkŠñÅ5„QïdCHµXIÚo`ŠU*²¤±‡Fgãf7ÛÁÄèÎ™¥¡ka¢çxÆç¾_%‹uQ—[²!Ã¦eÎÉOÈV%U1ÛwúbµÅî—DnÃ*÷¡5®TÛ¨ÇvnÖüqfÄ�‡¶V.fÃ·�p(%Í™Ü¼?hÜ8}R¯xéß|~O¹6M¯Å—š…abØÅ��[¥žV«„Ü%¶ýÚ±n]²¤Ýù^Ã=zªCQÉ½Ú“™×Ñô}+ìc§hÿNÅ…±
-é 5C®e‡ÝXÓà¯ô?´vj
-?Ç“©“¹O¿:”’“³ßos¦ÇqÛêÁ#lÜLÔá“¿—?ú-[„£õÏ»mæöö›ƒEWÝK6ª7V�ÎL!qaJðiVq¿iÌ/,ü·ŸE»�Á»6@Òí#äG±áiÓ»Oå‘Žÿì– Â^ËË«½k Ÿ
ÑR8}æ5ÚÛº±‘VHmê�R÷Ñúbf­‡AèâVÇ]gËŒlŠÛó=n”sU
-pµZŸßX´Ï«_~M¸ä's¨00ý{2j#ÈkDbqéƒp=7¶]_®Ø™¨øh§˜ŒÖa>ãpÑwŒ*r[Tó'óCÜ~_-°–TNã¯÷¢¶ýKu°-²¥c¡dy¬Ñy°ÃZO˜—ƒÜ3cWt'¬4oYvÖÃ—¿¦»W»½»¾¿«s¾®Éß’ÉÍ}h»ÒåÄyÍPˆ­žýíÇwæF
C\œ"AF"Cu•u%/H*8ôµ©™D%6ÀºíV
-ÌèB­–óJ0†�ýpkí*`†s�6Ö&ôÇª2ïQ÷¢,q#\4E‰£~Í¯˜f„>‚d[+¨îºªöÙŠœ™ËÁw'
-÷ÈÑ†N&–lQž«•Šã•òDFŸ†¤*»õÈéßê÷ú‰�	Úì†Înr(aíþž4¨þv
õ›'¨¶Ï†Öê´5m
˜
ùL2å5
-^ö4ëŒºêx¶Ñ„nØqÿ`¬ ¿ÕûÏ!áßÏœ
¸Ÿ±áGE•0OZÇ³yd×ùž¸ž±»¿7šy&y�ía^�Ìq{ªÃSÕ®MÊq{¶áFF?®"¶ýìyõp5±Ì°¡.í�×11nëøVgÕÀ�Îv9�ôi¥ëÀ×aÛ|
Kå©dj’§`f)¯ìÌŸ˜}çï;Ð­­Þ;2¥…¡[Ñ¹Õ´Éî¾AxWífãó¥k›èsP˜oº´}~VgŽ	É¹ÎIznÝW—YŽP¥µx˜Ì"ÛŒ/[WûÃv"<{W–sðìâÅh�û‘°CÅ‹õ2­Öé.lT‹?{ ÜgÐø€¾@5—�ÍõzW2õPÍÂ“3M2œð²3M/-tó³X5èU«91%Ë¨ÑBm¶NÀ¶wB~ÅÆËë¥pT`�ÖWû7š[º¦º¬Ç�;¼1}¸(œn˜W³¨\ÓXóõ-÷þºVÍ+û¡êý+¸óÒíeu”æ$æ¸âN‰éÞ®*I:'Õœ.À¼§ñú§I½’#ñ€[e¦1{È=&ƒµp^™)`·€0Ùò…÷ddžÜ6Et°}ì½áÈ*•uá½0ŽîK«vnÚÚ�Ü4¢þœšÅO=ÌUù~e—Â†Oc%ìHvÒFá�&hÃTäK™z?ÌfÐj`îª.À¸Âªä�•«µ¢Q†øKìA²Öu¹¯È_M“î	‘ŒÆƒƒ;ki²�ùƒð7Cõüêø´2ÏMB˜¸sÓÂwAÓW4Tƒ�7‡sBáÓ6õNïËÙ¶ëý·^º Ã.È)Í3s–.À9‹Kp^1²2Vno7ò¢:TÜí3s¨ÎdþÊ99)\w
è}é†×¾:ÌžL·Ÿ=ÿö÷IC+07·×ò�x¼¥IV¬¸F´Zv¤‰ØULþ»Ì%Œšë�\ÓJËºDÔàqúéÝ3Ø�Û‰?àŠL§Ç‡YH·U0v,D£ûï½üâ`Ìk§‘ÐPHu
-BFu4¯™F.Ü�½£A²ìAÜÒ4£t9žÁ 7·Òçºfõó%Àèùù[½!÷«aøÈÆù0Ã@ºyÌP[f£€è•ÊíkÒN?CÎÀÚ¨ÞÔÈÚÕ¸|”&(JòÇ©ÞÐÜÜÜ¨ÿÈ	r9m‡64�,ÐVUÕÆ”‚Á•å�#ò'¿;Ìé'We]¸ï«}E[ÆxÍæt¼S� �É­´�¬�§Ýœ±�~ÊîØt_Õ�°C¨é­'»ë¨=™S©Ä3Û�5Õ0Æ¾¿'-6O»1Çeüã?´Y)›�=ÎQÕ©—�Žâ‡½S>Hw§ƒêz•…“³yæGÞ\é¯r¢//ÇV™Ý‡¥níÑk9‹û’·cTé¶°´$9wù´›Ú�ì/!`ƒqž^í»zaÊåõ¹ÔžH9<LM!snªÀ”‹¦µè_#q‡ '7d'¢]tÄSÞuÜFhó\õÝ¸jß§«†·¡íýÎrõ;%¾®jB';%ÒœëâY~_\b}õ®[Š€z–Ÿd÷¢9Å.¿ÐÕWÈ,ÏZSaÎýé#©nÙ8BI—|ÆÞUóCíû£reZB=½/ö™i ´×;‚pÅ´-ÔÞNòŒ¬u†•Ð|ÚkË*#íöª¬Á½ m­ÅQö‹}’’º3ì<SIÕÇõžø÷Ö³K4Ò/°Ï0öêeüëTGÐR¾+L<Ý=¡]‰wo]½�IÎ––D=_ÌÇÞ‘À�55˜©=JÇ¾hßºV‚E¹J+¨™;Â�"4ûn·`€ªÃà©Î$gIKèïZXÀ}.a›Ý.d)k73?ckí:•þ¡ÊS¯>ËÖ²Êjµ¾jmÞ’üîô±€oÚ¢`t‚	ÎBº�õh/ö!aæÏO¥óíXMÙª’ºO·Ñýmtmµš}ûÞÆ­k5ÛæpmÆ(ž×Û½›ÿÐâÐOžú7ìÝWàÿ�Ú*Ò>ÎfsÁM´»¦dÝ[µ&»>m<õÁ”jžI}N$�£™‹W¼2�Êì�5
÷X
-¼ÂòE#•Ï±X3ý[¶ß˜m¤¨mÕ�×œ{´‰ö:ü¾é°VÝµ±éø¨7Œ
-ý‹ÝÁpð¨±3ôiÛçÛuCeV\­[MéM‹.Vš�|˜ñÏÑ‹?Ú�v:¥îƒôy·¢¥ë:‹òžÜm6JGËe¬e«n¼¬�7¿{½¸§J–n�µ„ª!ø}ºG¤‘©ýr�3k‡Lê¾©­yn¾·p?Þ¹/¾�-÷=Àå9¼ýCé6\'ì"ÝÅÀä€ˆ5œê6í4h/A·Añ‚v‡¤ËG ¹EB‡=�¯g7¿Óz×ºÉŽøþpÆÂéçè¦hes«Õ[ÄMr†Ä\ùûþeÕþVÆÝ¼k}W
Ô¯fqÚ¹HÍ¦¾åâÓ7]
-›Ýïj7ÿÎ
&UÜ´õ”–Ûeî3óxáýÔùØ#¾V Ÿ{é�xç>dñõÝ¯rUR%±à\õïbVt:GŒuö8ÔìSºàÍê7o.žÑZ³Ë™^°3}]?õŠŽV=}áeÎÈ¾•¡æ=<åxˆœø&HOl7P¨ÐY¶NÝ?Uúð5˜Â8ï¸ßKŸfnèþoä˜oÞ¼Jê9@ªŒæ²Þ ÞßMÍŸ�qÆ‘k§øãÞo«+%Ç�:sH)N	 úÄÇ©óÃ¯ý°)Æ­�w~–ë&­””ÂÍbztwÉ¯ÃÚ	™×,uš°|¯ôAÝÌŠ€:Õ�ÿF2äJ»¯vWw¼zvÇN¥®ïãèÈUmŸ ªâ” ÒðÞxA�ól˜Ó¸<1Nˆo·G<{b¾šwO/Ø;—ZÎéWQGö×ôo�»þËÖîÝw¤µ&hç3î(˜2T¼:
-6©ÐŠûv/µHîÕ1¤^vw5`f½þ?«ŒàRÙÏ?Šß"¬T5Ñzþl‰TZâ€�Có+…upyµ‹‡d¬bôb¸ìæÛS©9ôä_à‚G[f®ï³íÖôC‚ºC3KÅ$Ï•SzþI©g8ü»;Ž¥Ó°cDÉ@£F¬�‹‘ÃOJÒeÅ�üä¶dR-Ÿ
€'}{ÌªŽìº¦+~hoø…pÒ™ÖmŸÞ@TV§ÝL†–y²p23ö/QùÇ?ØpßsÕï’[«Ñ:þbSvŽOow"×¸Õ/ü¬&•Yžc[$:ª$'»"ÛŒkGÙßRgqÞÒÎï­¢Ù¥¹!g3¿\ä<FŸÞÞÍ²¶Ýš—"ö™Ô\h—mVóÈS´Á¨²r°gÓ½åN_õ1œ{Nàì>èHŽÀ�õˆ³Žny—ÒAbÅV ØË4ï‘úX¯6Jòpçà-#OIîW_op½Ü;æ]Ý!ç�ÑmoÝÕàq'…!ò�F)ÀOaâMÔÔäFªÇ‚–ÈO<ÆóŸôp&ðÀÒÑ¹{ðÄ„ì2ÚõÂÏµŠ—2ÖÜoØ\ûOç¥ƒŸÉ]áW«TmšóÃÍø“í¤î3r^Æ$[ZøS¯¸’–îød×ë�Ÿ´ò�p»<]Ûà
-?3¼R±»o<·‚cxîV l+Hž’ŠÅ3»þ¸Ÿë=â¤%Vñ·Å^èÆü¯LÛÁû}S¬»õzHÆ»Š¾Ù»}À/v°V±¾óñð¹†> tÙU\ÿut.yß½0a&•Ü¿}ñ2ÒºO7ìÆ»‹‹>‹ú‘VÁsç�Áîc}q‰bÒ 
XÕG‚¾oÕ�÷¦Ì‹"™ZÖêÓ{yU¹ÝÂ¨‘ÐG‰YÒ›´â&i¼7ÿP)�#hìK±ŽæSÅÛ
-Ñ¤
ÏJ*‚…9 Z×]hÊÕf©ý]^”ì¸Ð¤-šw¹›ˆß>Åô^nƒg%æÈ¾@©»qUyFÇu$”
-—heIÂ}-ÐêÅð0«¾â÷Íý÷EŒþ)¾ì4¬…™µ»ÂžÏÃ‘B|£I\²Þ×ÆõÍ¬Ôt]`"|ØlÃ_RÑ¡a³JÎ4}åšãZÏìÌE˜‚¶ãØ133$33Ãý÷~Ï÷·çéŽ¢¥*U�—¥h]ûbÇÀ¿
S	Ù;ÀSÑ_îÆöÁŒªPdq´AóßCvÇó%MÏû53½ÛHú5‡h<Õš~NjŠâ¶6MÀ>R_?é�›?F¶KÖˆAä·{¿?±¼ø›«@÷75`#Ö{;køøyéÑ�É~Áí�¶\¦Àô¹Ââ½t2ÿqL¸Fî”óE¶q]H.ôÁîÌ€h•ù-xah|{“LìkS^¦«WZ+Pù�·Ž³œ¥Õä)ìL:Ýz®ó¤µ/Nm©?¯šYœ¼ã<oç’O•¢¢L‹ÿz<[‰m¦³ëïÉ»ûÜýÎ�ar'UÒse/J²q‘1´¶õ1ß_j>¸ì3±Ex‡ò‚­~à¹HÔõT ªh£ù4Ð±”áÙ%�û&èÉÅ8LZ›ï"÷y%Oªk­�œ�	j�þ�
M;Õ–�/R Ò_\4Ÿž—ðU@Á`a‹(ô~�x¡´uNJ�cÞ¥%J¬€$•`B“ÑÃ`$Ncm¤·1§á“á�\Ô¢Ixn–Û±n5‡0Yt108Û!©ï€oÇÖß~­Sô¨µ‰`©•Ÿ¿@¡ŽU1Ö…Ù85ägôãûÝhAûRmM|J1ìl*œ&˜Ø“¨ÆÌ‚`ÏsxfúGLÍç_�Å“3l7IŸ“Ø�;IvIâœ·³hïbÌ4Ú³DYž³•zåÛºÝ�-¥×�V
-æ“À©@ê­¬yfÕ4\K‘‡4û ;;“[	r‹¾ï«˜ÕmË®‚=�7¬é­ë$gÇâ«2X–Uƒ4ªj‡»ýˆ9È˜åK~#qOOãïâäWKÜ;�½œÜéY%ÛƒJ×J !³b¨]Œj/¯÷´Ö?¤îæÒH«nÒ�E�Göñ|dáÉ»¨Á£öÄãteÒ&ƒk‡ù²å�WÑˆG�í*õ+Hvºµ‹ÞíæA^zH.vn;VW›öa·*ËÝcf¹¯òßÅ�ðmAAa—X¾c¿ÒÙý‰eÊ?®5°Ë
->þ÷ŸœÑ¾jdŽ˜BàŸ3·eúÛÞ/‰ZÝ<ÌÚÖOp+ÙÒXóÈ'%G}KI®Þ@R™ãÍôJ=è—ÌŒ™§fÎ6ûqñÇXŠÔ”+j­ }Ô>5oFÁrË›½èŒÙä~>Vöã‰í,^ãjš¯è94±%ÁÓ­>Mx÷ÏÅwÐ=¾yåøÜ¨ôIÛ°OÍ]Ö~µ„(Å_Ô-[×Jåºj-×mãB:©ûR#’[ž1�…qît`…œ©D@à¦›7h—›[ÍÓ{|ÜD’Ý×^îÌu†EÆ®W‘ÆV³
-æ	ÃH·Mî\yýÊïWÖJI_»äÐ=¾Æþwò©Eˆq¼üé\úlujnÔR¤šë}‚Þ¹
5Ÿ}¨pª¯ï’{ú¯LÝ¿'�‚ÇÎÊõ‘Í{£¤Œ
-
îÎæƒè"ðŠáK°6ÊV /¸£,Ëy !6U|1gJbcaÌÇžÁƒ%ˆÍŸ8íü‘üì¡[EªZ¿X�wxV¨>¸²yB¾í]Âìªÿ¹¤ô]zï´%îRj5›Ra¸lg­5mÜŸ.	»Û%Åã:S.ÕJ”Î™cRÙƒËRÐ«ƒ©±QÄàµ¬x:¸¨ Y0³�Ô˜zÂ6ãù|IfŽïó$Ü¥Œx´‡J©ö
lòª®ã¥x$š±ÙVköáûØ{7vÊ¦®-#¢¯Ú#¤’×ß�åTÐ+vV¶xYJã `˜¢Scž&Ôð½Ó*<£rÚg¤>¢4]F…èª—'³�QXø	å56�‰œùQ·iE:Œ"KqlØå£÷°saçw¥ª3ˆB4Ë§ Ž­0
Ý¢ûF Å§èìŒ–õw÷TÖÝÞä*}Ã3÷�aœ«3^ž$¡
{ØÜ<¥n\­�º£õ— x™ÌÖñõ€ìõ]™ÛÊ¿JÚÜºBš,7¸ªÛÁô"¹ôébuªköoÿÐ(À~…öü•ˆÆßB¬J³yT¬?\Ä½–Û1Xš›Ç†ˆ÷-úñ1g¶·ž¶ÐPÀd^ÓÚìðnŸÞFY})ºËæ¾pt&wƒÐ“æc[æoÓ·«ì¹–ñØ…�)ŠÒc¦ÓBŒ|5:1hî|^sX"åyAO9tu“Dñ°,‰�{€´P4ú¶È±F9žaä¼nð5¤‚m‚Ðë<´¥³*ÑA�Ï�y_c°ÀÌ›KO¼í~¼yÆÒ¨¤ê‡™-ü¾5?+$OÙVÕøïôhéõAb“®êøó'mlæ©P#³<ÿl6me¯õ è0¼·bæ"¼Žý§yíõ°§¢™¾Z;1DOq(¬Û¢ª
-K—`a‚@ÝÐòj#¯H6NÀìà´”Õ3í­NP2þàg>e²;f½uvŸº8Üçª^¢¿-fÞ¯ÈŸÖa>ÃÊ-";UÝc½76¶ÃeTí=ú–ú�C¨«°n%áƒo¨?|:Ûfó�<ðØ4?N']UHIòù]_¤Z�w2ýP™2:H…'­¼OÄ«>P¿ß¶Rq	ŠŒöéÆ²O [JKÓl™ŸƒÒ‚£$t[¥Õ‰ÃáAxŽcS%F¦Ó®ÞŽ±¬x•;s:ÄRº
-KºÊ¾D
-[uˆC2’Z?íF{õËç4,œá�ÑF(øf}´—­h’W‡@bV€ã-ß,¹‘øø›ŽG5·Ï9P!ªKZºýÉBý¨�æ:¬tôî ¡áfçèÏÎf=½ÿ‘i^Õé¿š�Ö¥²ÜãÎ{CöoêúéµÔGô
Mïg‚Ìe¨¨ô»Ÿ¬¬ä,ã-ssÒm{P^© 9S¦vv{×TtöMÂG¹yT>v®iƒ+Vèd³W ö`Ú[ýû~�Åê‰ÙS÷ÀšÜå·hÞªÝ»ÅM˜Õü=â2yÚz6«€÷±'©¤ÍxmÞlŸ”å)Ÿ»¼É´
	Ýô4­¹9ªàí ™³‰ówGñlÒ!£nk{ÐÑ—Ù$QÝd�ŠS²ÇœÕ/}5Ðx–\7¤œ4åªV°³¨Ÿ…,€ª2!‰»±Ý­]ÏWš<»B!³B®û¼^èÌC3Ùê£ˆs>ö¸•î±ŒßË#Wî_ªî Âó¤I-ozÙªÒ©ÇÍûÎå9ï(r½TLã‚¸ÎkÈiÙÛLéwõ·tßš{4àïw‡ö:ÄÚS{ÐË<æxá’À.`~
×@á×nþã1î{·sI‘[ýõÉÀ³îcÃoKÅð(ÊY½îK�÷F»[µ~S’á‚ÃK-P]V�2ï®³�GC/œb,Z€òÑª`~Ñ»o{u*…!©6<yÕëòÍ`!0eîj=ÍéÑhºöí~U'ó×Í‡ûC0SÜä`*oB®üFù|×Ë|:=½âî»K(Býô>ð,ze\©æ°ÒºMm~Ù ŠxÑöPCa‡j6/�Á½rM§‘éºìpŽöƒ¥ì,6]0ê®5“a/¸y%³[ùg“fŽ	K;˜ˆäd¸½&Ã¼×U®|Vø}:œ&}æ¾–Ùì£nŒŽˆ™q¸íPMzŸêŸ®¸	Ø={3aSíðr Š*U²uº­&íŠU]Ëé»�SÉ(eÒy¸?•ÊM‚½ý’í’ù{‹s¡MìrnV[1´.ŽÃ­ÉËE¹'Ýé1¿^±²u<6Ñ|ó,¤f7–e¡�‹*3<EeË
Ú¢T-[²ÎW«Þ�:ëðvª‚ÐØˆW½ÄtK…NG¶º5"wFø+q©IJØM‡"ÚúN?W•ÅØ¬ZÂ rä‡�¨›UH´Iø}'Æw‹5Î'‚³¨�P†ŠZuyÔðÎ„ŽaÖÈÛ4
ô%s·þ!¶¸rÆêaáÆÅ<•d]j›ú¨ÚFÍ'›OèÂÀ5LíLÖkVÂêãz£cm¶ÙÇ‘Ö«pY^öÎriLÕs�G¼a³:×¹6+è¢¼M´Ïëãâ'ü=åqò�lßß@Ms³iG„Rmôm³y•¬|®ë%2/zTÓÒžgšóð¨k³K3µ[�Ý,›Ä[;l®ôºÒ‚¹y6¨—Œð™ZÝ½s.PIÝœÝ¯t=r¿�ü>¨í†«%XÙl]Ï¨

y[øMwÑõ§N¹Æ-Õ¾^5;ÎúŒ4õÆ~fqírƒq
ºÝIª{²pŸç}Ùô¶pQÉ%n£�=±m¼òàŒ�5Àyh½Rà±»7'YÐôâ½Tok)5·ÃÛûãªn#?º%([Û/Ç¼±ðNÇº?�~¾È[ˆµ«
Pó��¿ãš*%±ùÎœÏÁÄƒ.$ÁŠS>öÔyëõ
2¢µFÖ!¸æÝBƒÀä}Adãµ½ú�S"c ö’’[Þž
-IšÅn76Û¾ÞVb�ž˜Ò%eH³NI÷H4Ž/%å_q»ü¶"ÆÅL-_ÌãVÅ:`áù:¶õïê.×ÃÆ+	»[²x\kƒÝå±\;Il�^SÇxÝÌ´v-ä¨·T±žÃ‰9þE¾C¦ÿö]MñDôAî}n�ë¯¿�K~œð˜Ÿ”òMƒŠðÅÔpÙ®|ös{Ømï6‹¹O6±1O²ìlÍ¥ö�1žö[é-�Õ7ù¼Q_(I’ý¼üõÊàbÔ³y;N€^ug>(ð
n
-åßÒF§i�š'óù[:þ(L…jÝ¼ƒ§¼¨l÷Ÿ6»ýlüì°˜Nµtâ�Ëla¤Sæ¸Õýw«4ÚQÁcÑý¸ÐGÎ‚ÁêþK á[âLb´É©é�ípØÁÄA|«ëàµpÐóÒ¦zGl©!åàìNs¯æauØ…kà~Æê�[˜î€âJ4±õ¯]T²Ž…œ29š¨…ßPñY¢u=�°>‹Ú„u~	aU do 6Û@ŒÑÄüœå»£ìàÂ”"Â®Þ€“/uO‚ïX»‰F“±‘ï«A»'}ÎÀ¢#OÜ�"Ü_×Èd*Û¡5É„Â7µ®Õm‘°Eg§¦>âƒ=.4à% çb±»8,-íB2©m«‹’)·'C8ƒ¦"€lù94�Oˆ2ÏÑ¨Ð0v”N6ì�
-¾c“²ã acpã�¨�Š¯¦z7Î¼àÔlÙ
-åÚ–ý|ô¬m°©†F;q‚Îy}g¾]à¦±û”È#:»Tç-³{ãþ!5ñ<ÇÜ'ÐzagÀyKß|ÔhIjs©U¬áÍÜM¦‘Úý%öäY�¼æ·œy¹2év5ôÚ
-¼1ý÷µ��HÛóîãv`‘�!qrs}	
ùÂ#ÛÇWÏ��´¹Ü*j@8íÑ¾~üos¸Ó«äàÉ¿6�F†¥“áÅËÙ�MÉ LH¶™¸À½¦¼y@(l�¨#¢$Ò$·žÈ¯ß–° Î¬`˜¨Zg¦êéW?Èìþ£†ûþ3Òu +3ìõÀ†éøñ6¦ì×Å;H7
-U—[˜þ¹zDÆ™ß
-k¤Øø»)šºˆ<×’à5¡”0>åš÷j–€ ­µ5Â?ÌõGlFÏD_J"é�×at­ÔtIZ›šqoM¢Lû6Í(Å‡w�ªª\¶�Ù~ƒ÷Ì²‡¹Z6FzoúAšÌÍº6I¨SÕÑ]2Ù¼þ&�×ÎéOóG)þ]À¯ñ»6A^w*‘O’®»ñô•3|†·¼6|Ôå=>€4×€ö}1TÕîj`ón/²yvRtªÝ„Hn2éxM†
|G5g¹pÿ!‰û0‹õl<@7®ÖÃº„’N6»$V¹ö@%(.Rï,åjõI+}nfº†Ï¥ôåÑ1´u2ÜÃSZcsý+}UÔ=Vê]`4¬úp‹èy¢¨|C¥oñmÏXÐê¡±SÓrÏvDŽñx4ÞêºÆ/çìÌŒæŒt`³Ü®+®éh|…È�å>ïu/Áß$PÎ'.ösªvèMM¤-1ÚÖ÷ŠŒÙ5¸×—x®nâÎ–íý¥ò£ùcšK…Pœ�,°{Úï×Î+XÂ°ÿ±Oþ}f÷™Úïp÷0TùT7gSù¬ª&²7»QÐ²&óâ²³ŽÿC¬9›€vTé\›šA–í53Ú8ä»p]µ?ÎèéáÎ�(0¾¯§—~IÄhe�»!ÌÑÆ�±e†ß«$Î±’mÿ¶{Åò;³uën÷šÎjS+Û
-àzSXÛp�Ç*°¯ïAôMÞ£asäÓ*?´e9¯iÐ7ZÐi¨,—cÎ�Ê�‹iO^3®~˜5ÜÏ§Ðvõ¥4Ñ3&xv>ÚÚdŽì«
‡®y§:÷ç‘�ç*F˜ð7£pªr¡�>ðÂççÀË�˜d"2ÃõÑ÷¨;Ytñæ¹ÕC—]¿7*Á–£¿{ûÁ?�4»ôð¡š‡ú˜_¼=áÀV %s­M{é¬+\süù™Ð3Ü±²;A�„¨·ËÍ\Õ,â+–õFƒ±eKÆ¹ÚÊ²zXÙ�ßNäm9àJà»`NQu×¬çzcú„b§ÞuÓ3ÙÂ#?¦X/kŸ‚Ôgö³eM×Ÿ¨;Ðîæª5Û`­áuÉðÍ²ù´…ßæva€õÂgå`:I÷âÉÔ8ñq�âVIñ‡gêÓ´é³ùvÂ$Ž6
-T~’)N\ç?4>JÊÔ<¿¸W•{šõ˜ÒÕ—Sõ„+“}p4/™Zºˆ%íÐNÍv ¦¶2%S˜Õ×ÃÌOËo£QKhPÚn”¾&7Ao…l
-NNö#·ª>› È")E}û…x¥­ˆYäb­Äp…«J!Ær¦æ¦w!ü�u6›•:§fU¿4c�1}Qª0¾™|Üòqð|˜‚“èA¹úwW�$rî�‹ï:ÇÇI;c•‡œ» {.Á–çÍœîb¿îæÔRà9£Y7ü†ó&Úú_sÍuï)†+hTæ [ß£ñÐÌ°¹¯®‰É©Àþ06d¾õuû÷«¹D]1‡à÷F‹qûS¯ñŒ‡‚%2òÁ«fc¬|mÔ/¶KÏ$¿Ö>ÜÿÓÃoÀÔVú¡•ÓenÌÞ1íÔúÉ�?$×"cæ[ŸBÎ¬Vg)yNíJ<úºø[¢Ði+9Õx'»«Ó~´áÈ-±h#5f«‚\èŠÉXïË]–f­WfóÄÆ²Ï­À˜ävê×®à˜¡V|Jc?ç‘-ç‹Oûåç§™»EòAOm™€¼ˆ¸/ÚíÀÜ`¥:òðã¬“#n­ÁÏkþY(ïk`§=bM!Üíí>åûËi]Î­ú	iÏ}¤"cûîÅ�Á{Z÷‰ÚûÙoü6a�ê¯™S	‰$êé–½{PêY£+2e��}|Û¶+L#;X…"Ý‰S–¡[~ÂgËJ†»úð¿x÷Î?$�êo´wDyûE0›¿0s~ùD<„
-ß`f–kpmÈã†Âƒi²™Û¹˜õ×ý×	¶T	vjïN&6ãg°=®ö>Õ÷zÚ£©hÃuvÆÂ§OŠUŽºg#3·@†Ó'5:DâßòöÙyk5|¸ñŒª})´2iWêç~âzÝ•;âè›7Èžp ÏfßPIÕJ”L´‰f¼zÂmN›<Á‡Æ±8ýçžÄÈ9…ñ(X]¬Ã6
-ê¯|^�•Û½û³3j¾tëé}Èª¥£Ý÷4{ýk£Ô˜ìÅÎâŒ‚øÐÄ&‡ž5õwjìÄ"Ž¬Ó°F?“
C´­»ð+ÄåtŒÛZ£hŽ0v–Ž9.TmgœÙTâz’KÚü[	Ö¶ç‚Í»¯ô7>×!‰ÑêF›ãæ5˜Bö¹¶­•æFlTäFŽ³xuž´•ÿân¥Ý\/-¿Y%ÚçÂÌÒœØtJGU[vþn¢Lèr\u:‹þmûPpßê»Æ};�Ô©I¥>¤–Ã °›ãÿ	¦FÎßœ«à"Ëkj–2Øy÷.Te¯WXÖìö«áüÚ\Ð@×ô>JÝ—^V›ŒeÒÚã¡?ÓŒT9ª˜ÓáK=þÉi7oê·ýsoø9ºù©P}fe¬=ú0ºµúœ±øTñ2A¾áLü±m{å_½k§ù,ÍŒÊÙÑ“æÔðÝÊ�úÐ":Çþø*ãŸ=VôôŽàjŠƒ"~}°uc¤¸ë½^è±¦ëTE‡Ûv>aÙÚ`ÞùºUxŠx#m€@œ/¼ ÄýômÔüwŸØ¨ñu<!ŽtÂhÎXÜ�]@¨à-)?ê®hA…Âšõ¼ž´%÷ùÙþÝƒ=n»«Òq—	^†µßÞ[1T0Ê¿Ó¿»©42Ü­×¹�C•Æ'¶Fd±×Î”¥³Ò-¥ÉÖ¾÷R–·5ozµá¤nûê·Óu��ÞòNÖßîZdtjø—±™ªˆzÉüçU¹Øêqùuÿïyeÿd:ÐnuoU
`´^‹š“ºO_—À˜¡®­ªíÒûXßE}„ž[¿ýQ�ðjn¬ µ|™Ý”ká{ûemaºM™3›¿ÃÓ3ØÛOŽ¯5Ñ´Ò—ïkß‰°1P—Þ·pë»ŠK3ê�²«fÝÏ]õ¥Œº¥Mü:ò´•ªªÊ‚ÂÄ³ú§Pã6³RvÔkÛIbYâhû9�S8Pöq¥ìëeÄª\"oô¼
-nýÁ�‰$ª¹ÊÄPü­G:fÀƒ5¸KfòA¸´Üêliá¦Í4
-Tf¨oÿøë¾6qr2í£s€'h&?Ìðí6¾	úg%au‘p¯Jô	ËvošìW¹(JÿCq�þAí[(b­ùýh«wÆ™I­Úß¾$÷zj˜L£�…;_wþ«P÷úbFá÷0WEß¥$…î}óðÀ�é
–$
ÇÊ­°sfD½¦cú;€*a4[–ª¢qø™)“6ÃÌÕÛ e;¹}þU£¿‰:çGIÞìè»Z¸2>ø”S‡Ú'¼ð0F5¸t×mò‚š™‘láNpo,ºÙÄ‰X÷}ð€”'ÒÅ�[ºÎ†ÁÑ"ÿCüý¾7¤+½…Ë9(Æ¨ì6Bttá&¦ÅÍô#—Æñu9[Ãüt	(v·ª
-µãÂ^=ºÍ@ÿMV`wX5Ýe|¬@#%É¾iR—¶/·ñ#‡ÔN3+éàùßÍÃ?„Ì.gÒŽ]ÔñÛUé‰ŽãºãmÇ_>4—Èb¢v\ã¬‚òÀ{ÿñ‹^òäN
-VüÚ»I¥áí$kM73èëtŽòÚ{_‚¿)ÆèÂ•à¿Í_~ý}ó
-¤Ô*=|7¤Kà^]=|­°E ÕµÔ“�+0­’W½UvzQî¹3e=­'(¤šó=O¾r¯S{�ÑÞäµ(Ôñæè­[“rs�B'ûIÉŸøþñ½ù/Ð=åUW_t²Šo@«³»žÍ‰Ö{ºîúƒÛxïÁõüØhÃ{×¿WÖe�‡ƒwÕò½€SV‚·|ý$ðû5ÿíG+Â¬�*IÐ'Ãšü
]l¼YëówÍ~ÌÑ…‰.ç$e£rÈ½ÅÝ\§š¯s'4€KÝ¼îˆ[¨Ã‰æÃ|J¥S= Ø½æ„óøÇÏžYƒréoûÏg	ï[Ûò/ŽN—ÎÞåÉìÝõŸÍ]Sqû­mZ-8å�jXßký %Tsx3lãè?;Ã‹ø8ÃFò=ÐqºÒŒ¥ÔQ3é‡—³“‡Y·VY�ÊfÜÃ\
-ì*hçþ)ØžÄ†n`ÀB©†¼VÑ,_¼Å˜M€?Ë0Ù£Ÿ†±‡rß£$Kêj£'û[¬Qû‡ÒQÒs2K(ÌÕqþµçµžÙZÇ7æ¸û‡”—ÃZjèÒéëü=ÖZµ¹Ãé´ÖhOl~cª\R¿C£|¨6Ø”�{îÝ'ž“©§
Î‰i°»®c¢<5Ô�	ª[…ã�£,÷�ß%M‹ø”¶´Ä:¡‘\Ð©2Ä³˜NK”[¯øú°þ}FÃÙ�Æ+­»kâà9²UÞe$bµ�V5‚¥.ü0»â6†Î¬8xÀ:7²èÈze(‡‘j7Hz°ÑþÅ×¨|œhÄpÜçÍ3ÒÒÃ³žsuä%JvµránÒíÃãhÝq<oÜq«%ÿHÝGgÎ¼ÄA•dŽúFDºø‡P¨L¨Öú�¾Cê-°G{^³wn„d{W*_ÄËÅY—_Íà;±X�˜So	Ÿ¬"ÐJ TÞtßº<®\ðº+-:Ôµ™}©ãVpÈ:á‹¢çŒ.áò¿·9æÛ:"¬V®¿KúÁðUšÀçc�xí�ó	<“óÿHâ Ð7y“[oÖ­�w ™ùÄÆ„;&à1ÀÄNùñD4È*7Òòo=-*Ù{Gqà7Ý
þVðë2‹þƒ?ûªÏ¾ñjÍV÷{V;Žd!—PAàë÷ÞØ?Tøk½t›�ý½ÙÈüU2†Ú;�né]ÿ|kÿß%�r±o=—eÖ0Ÿã ­†UßŠÂ€\OG`°6Wß¬ç{l_¦NÁG³·¾ùm*•êkrù¸÷“•‚‚iJ„0Xºÿ/L£7µ"¼ž^Ì‡¤qL#{®IýáÛŠŒ\kÇF"ÝÜøåigQ¯¶-&²^ÀÃ‡KidÆ(<éTßÏTsùaÒ¯ëWs_ãø)G‚7[Ñ99"ù¿ýÈkz¨x•G±-vÙÆ#ã¼=~WˆŸÐˆQ0ªøUa¨€ÃûžÙÚü/PÎ¤V%±ž‚x;)¿FÔIgþe™¬3Røùà*jLwãôæ¥À?¤ªo„îs?%m¬”DÛ•9ÎÚÛ¸�”þ–afš7øÀ•ìÕ&÷ôïC^dÿN²ò<Ø4yµÇ©Ÿµe¦Úà"¢ÔW„õMÍ]'7Qn–„ÇY1ílßePprÑøÚ/§ÿmŒƒ†Ô‹Ù¯ºb”{¨âiûIñTÂUöÚ¤4à“›Å)øäª�åùDñ¤uÕp6{s=Žêñ·�4¡…¶Øã‹?ŽˆTû/ŸÅ¹„ä9K+Õ|DwNË‘Þau9q®ÇjŒEÉøÒ³u|§fZÛ•Ž–Pfù8¢QÉüÍvvvª‘ã«? ·N½¦pùëHež-ô¸gt×],ÃƒX ’º{€ù=ã8ØÊ!Öº±
®;.	L»j
-äÕ©•€z4Â_èþ†Fî¤7RCsåWþïà!'Î©›D³YïÁ~×�ƒ8nÍ½}?¡3!§è$B+ŠØsvÆÐ-”Í (uL´ê.“Fþí
3ˆðÃÇ©ýßÁ³/
œ1	¢ÍãâR°xÎ÷2»FZ7up7Ì÷î°æ#¤Ñ“j0ü|
-Tê\óu™‚ëßëÕ�­Wl½ýÿ=þ
-ÁÇO1¶g¢GV?*¿å/±(ŸIoY’©pÞ‚´’)gŸáœz¨¿²´,•×þ£}˜ëV .	RìW³åÊ�2"Ëü”¥÷áîNÁä%[¯‚êIª„¦c>ñšýÀ"ùRˆîÝeµ®ÚÁ‘íöƒÅè¼…Å6Ö	Áæ¯È•çþÿÂüäÿ�°sß0­£§aaØçÐ°MšDÿ,�áàïÁùë.Ðê±f†ï1&ù¼´)ÝÊýZø¬^�€\âØè>î‰7ÿ×ã™Þ¦¿ŽÁÚÀ	!€z‘Ëk¯]T2ºaÖÁ™£¸†&�˜˜ëXà^¶:ø
‘×˜,¨�àv…K'ª1c'ÖÇôÿÝ»Ï|’RxgÐ•ðööœ¼—ŒoO;O¢Ë³“M•Ñ?¤†LBVSÜî´}¸÷(øÄ ÃêŸÙ”>ÿÚÛ]qZÍÚ1°_ù† ”Îço#§m— >Vö*w0üØF=ìmiÃ‡ómÓ+“.£hØÁ¸8—¬~]ÌÀÃG™[_`‰Æ”]þn4å¾Þ¸E�=|ÈÛô±RÓ’xhïÐ±„O«{D'ªßYvú-âZ=#ÆI_jWC¾þÊV\ÈõøâÖ@
\ÿ½)<¬EFKBkìš3ŽKsù©é¯þ�ÈÚŠ÷Duªi›’¿ÒÕ‹Ê�MyoM:�ô¢k‚Ìí<b�‰”ŽÄü/Ÿ%ço¤8ƒ…‚íöQÍ8Ÿf§Lì <­@¸Uî©hê?�E­î|6£�d�¤B5ÅµÓÏê“hWÝ>QD;>YÇÿ¾%{6ižñíª�‹›È!Þ·~•çë’2ÑG5Lqì·úc’D£…®Acçë4âXoŠ)Än¢À[ÏF³p@X“ÿ;ø)˜žw’Lº3G±°'§u’½áázztvOéž¨†ÔÈûžú›cœ?ñP™ö§<ÛxKMš…ô¥ñ×ÙˆÒ›ü/ÐO5\ŒZäÉûÓÛ‘0k»×�^&Äý>Bu	xzá¯}Ž“¥µ)ßI õi’oGvƒÿ!�¿×UÛaÕ$ZÿèÄHY"5TXø5™['åÅÃÝÙmã%±«�õªñdaOˆÑÕŠ&eÇD>K
´B±-�é‚.¼ÿ\Ò_ õ¥K&#	PŸS„õœ¯ƒ»êwcÚ½ƒ¨ž rÈwôN4ñ^¹IƒpÒs´pˆqh¬òHhAÚ8˜ÂvíÿÂ]âÛÝn‘ŒµlI´ÍKÌÞGkÜjú·ÈSï¨“‚µš|åh=[Ãpi!;ºùŽZ�û58\ÍpØj0µj«ÿÂL×•Ï·é©+·»ºÛÃâ•D/3C•½Â‹©•ËXT¶1ÕöDÆ°›)££;U7ŸîíàOÞ,ãÌª”›}»%ëÛ¸WD�qŒ°.\æò°MäÊå46Î—¦ª.ã£<´úK0ç+__ª€ü7=»×‹š2ÑŽÍÐZ)z‡hˆ¥sù[=½£xq
’P=‹ª½û±Âº¥N¤ �^óG¼´:ME :ccFÎJÊ®>é™YÙXÛÝi¶í6QÞ”ÿžWjV¬˜CM@±MBÎwºYsâ™`×ï§™°òÅúiTi'³J¿‹%SuÏŸèòÙ&$U®ÁjG¼õ¢A¡b-×àÑÃ)mÚ>çÌÑ’æîÁE¡”býþ¹Y¯ÇöÍ)fcbOVÓ–½™�°}xUy¾æZN‚ƒ¾ŒŸg;Zn´—èxå=)‘hÝzÝiç¬ÌnÕ#‰]z�C¤…\|L†,w+Š×·¡Î
Ýå/¯qíQêY¼S¡^8i‡r�×†Ä¶<�zëç�TKµ]XzÏ��÷]®2—�”(ˆêQ!J:&Ó·^�
pk)hˆK™7NflcûWÉÕåEüõ…:]­a“ Ì÷
ùuõhÃ�A‘ÊTŸtà<ÑZáüÝ²ŒîÐs­ý>JSüÇšì¡¥½åÛ$Âòƒ+��ó¸´¾„6iJ£§ýø‡‹Ýµ…,*†éeâ€”BLpbgsd¥ðx^e)=2v´ÂÖî……—nIö7œB°ô†<8Þp,Ö¯Û](�A\^A™ºNz¨ì.È(‘1¬ð/­XBU–y…­î"¥øñ¼øUÑ~·é–ê3V¸ÙkƒÖ1È° tàÍ;çò3i¤åÖ"–À¬ÄÇËÜKÐð]•­ú¸l¿�,:Q‘í8ú‘
-Óö­pI]LOÏ-_ì:M˜Vgó[¶gù†´þZl[R�g!-Õ¦4|llÓŸ‚°ÒR©�hŽøä0�´ë£�C¬Û¿„£÷¨¥|ÙÜñyb­®ÕÐJ�Òß
UÞÒB9Z¸]:X#¾NÛ;õµ\ÄF~(‡þŽ£2áÓùp%ä™B†F…Cy(o:ŠRµ%9fã*?õom1_WÚS?Q£¤!˜ÚÜ¦*_ûm%/C3RÉ4Á³un¶lYÕø�Y«iÈ‡E�&¶yˆcâAõÝ•µr],É† šÛz‚úü¼ˆT\J§\¼Z—LkÈÚþJ�Kwò÷&×Ø¼öõ³ÀzÈ³Ö?ÛyoÖ÷Ú‡
-éSÒoÝÙSJ¿�y�mÃ$F��LÑ\ Q…ä±ôì4Rq k·ª»|eû†³ÒfuÎª—ç¨Ä«ežNq. Ø°Þî]Ì`ûV¶Ö—�´EŽ­êFuû0»Œeí–�¹R‰;¹vÚ«rPÞ6ú¬þp™=¿ÐÆt²A~k+TÚxï5¯= ¢ÆÈ…�Zðá³¬Íòáé¦�Ñ]Ì‘úß~Á#ä~+ÂTÞgˆ:–
ÛÓp±£†˜(Ô«®æ{SñšMk€�’8ùøáW£Yê&×Ï(—ý|8iðsøªt;þ›Õ9îxm©n]vaþ
-
-ó˜Õéêú[½A«×4o”Z‡øã¿¿·�;¼qSÀÎ–0¼ìZR)cÔi–Ãåº�ªß:‰ŠƒÖC÷&]¥
•
-Í?Ñ.XXdp®t9aUo~ßõâð»1yÍ`Þ)5ƒÑv»¥7DâÙ/rðNðËsÊ%ýsY9½kœ
›šˆé«Û‰gôå—ìüäG£[ßT"—8ªOãUÉó‚W¸eŠ´±!Ãø˜´¹g'8ê3ã{×4¸™@¤¯E£Ç;7:Ñ§c¦ÀÖlJPoMSãW´J0ï¥È¿¾fÖ
rèÅÁ
-ªÂ:€[à^h˜PT˜Ö¡©[vÛôë�N¥SegñQUúÁ.lóyk+¸Sšacaee¢¤ëÓS“|,¤ˆ`v”§«$¥¡_ZÄý˜8¿¯ª¢¿&øá¬,è|ÿ!Æiºç%ª;†�ÆàÒo|SÆCíbRÀôD1èq£}fóØb[%¿†ý¢«q  ÌqÏÏjQ˜—Ð¶;«»ŠîÁ)“C¶Ž[USôòA™"ÊS
¦q‘1½·Ãwl­Žuÿy�‹¹øt>½šô
-½›1„l€V°°oà>ä£@«À"9+JÃúéotÑÆÎ¨§žœÞXèÞé¦QèÓ­.w�Ü/“î?Ä<p®nô¨tTÊÛ“]â€¿»3”dçÚÅåûúAâšßµ]Ãšƒš�¹ü~ù»ÂËfX/ûê8&_ÖÚÖdšå:»ß¸5ë­ìeŠW�Ðlÿ¤6›NŽNCÄÐ«t^·BIHu	Y–Ç:uæUØ/òõ÷B	ù­ì‹³„ÔµéÏHÿ@®�Ñ:uR7KÕWI9¹âþcX“ùåì”¡àí’yÑ÷…úsþµÄ�ª8›K-æ3—Íu´u¥†{S¨¹Â14µ»ûÅi¦7¦ƒK!lzÜfïêiïùB¤Mñöàõ"»Âæï
e¾	Ö=}ký|WÔ˜_fú™”Ç�+?¼·4Ÿv˜ƒÒûÒ.)’ÆÏ7_ ªá�4ª!ë©éw·TÝªIZ¬¾ÛjPáæM®Ýä`sAˆ\Øä…®p�7PéNìmC®žŽü?„4ïœÖ§¯Šø¹ˆ‹Kg¬‰çM;·ç5$Ez0wr×+×F'gû}?âžJå<JÉe�|#‡;‹1ôGsÞÜÔ&ÑèëEòÎY’1ëóˆR�©×¨d•DPM\™c³bþ]z… úü²ú¦Õ1åk�HSÖoò'
‘¥ùþ%Ë`?’èº¢Ð·Ã|œ±h(ª:ßàÆžÇæã.k†"ž‘%ìÿì»¸«�1rŒ®t¨ß²ÍQRÁ^OMFÚˆ
ÓÂ”?Ÿy6¼¥égà-ä²0h“ÿSRðMzÌŸkšBê	ü YSÛÒ{ÐË¿Õ”±Ò¬ËßŽ!”Ž…%¦ÝîöŠ7­ËöÖY”ŽuèÎkºV·9²K1™cö+ÄõãóííkƒÁ¸Sï™aSeôÜ[:³Jl¶ZéCLÃÔÛc¤(rU.º˜1òwî¼UÞšÒ!çæ„Ž_MsÇµ
:ø­~©�VæÛ1WÝ6ìó*T,ãåt/@-‰qé=Ïj/hðÚk&!d4»:×š|
RÂë­ßMF‹O9Ÿ6-Sûé†o>Ž%æÑrò6{êhgýáÌ_
\ÄÞ§š¡·žùP­ŸO¡ZµÎH¦lZí±Å±ôwnîþÿ÷Ã€Mèú–¬Ÿð`ÌÚdwþ‡TÖ¼=²_Ælî`½(á�ó0“Me¶‡÷ŒJã7²ê9@)÷có"ÚS£g—zÂF‹&rÔÊîË~kO�ÇdðËY�ªoSÛô>°Ç"¸;BžÇ/âgP³~H·¿ƒr.·ŽÝ¥xÛIÏ’©¢qeOhV˜½!}Õ×Ï’8þ¸±;7—º~AJNåJÞ¶
/%Û»ž8` YšhóHL—Ô}+þC<�PÙJF*ß©×ýüö*S7n-åÙ�{W0k‡IÏÆ€¿í!M­Þ4
-¯ÂÓevó§Þ­ëÉåÝRë$¾IŠ›F5UJHuXÃ&+¯.wíÂ¶ëÑ9ÐØ6¥v“…F,/ÛA ¬­=ëªQ…v�nE¿¡õpù€» ºŒXÅ³�^�^Ô™ŠÔB¬…0ŽÒˆ½H)@Æ¶(ó|
oY¨üõöVòªP8ß?}ýýšµà[w²
9¾Ç{ÁJ\šïÆµ™:Ö&C:——IÄët,mÎÜ™5¯Ãj<Þ ¦²=»Äbú|ÇD¥¤ib3ÛV›mzQ r•ôt«ç4Æ âw§ÁI‹\¾I—]m¾¯“Ùhä…ƒÖB&Ít˜ŒFrÐ‡j-,¹cÉ!NîªuÚJ
-ÌÞ	õÉ0=‡×4‚Tža¤/¨ŸÇìª»ÑÛÛÏ…ßõ`ÙúIî[¾:J(‘’t´ÃT#ÙV­TRÚ7¢æT¿³.—°µ¶á¢«³ògq¹­37#˜}L/uú¯ÿ]b?ÎÏlñØL›‚I&ÙgÑ+-¸ÿ<l¦*õÖÖŽRÊ•Œ’N¼¢�·¾HýÒ;�ÆcpKœ´¾|C‘6¬�¹ùˆ_Í	ˆ4¥g_^†êd¹ôíâ=­U_/MÍ]zL˜Àèß›)÷©aÉU¨ÝèŽN´i·:ç÷r'½N­ñœ�¹� …þ÷PvDNoZÞÄLõÈî¶zñ¹^ô™+ïŸ7‰qÝtgÆ¯ž£ä·wC­FeX±à™üCêÓöLµÅ&úµu«-@Å1>œ+òæFž“V©±ÖdÞmÉ-Ój®ƒ§žuð.ƒÔ½°°
ÌØ}6bCÛ'S§úWæÚ8ºå¡˜»Î;ýíÞ?¾2@¼aÞ»@MIº…j"Ï^Yó£Vésf¡cÕÞ†ïÒ„œŸ¤Š[þ>ëÆj†ÉE˜íÐ]¨;Ö2�­Ý_öÚ[NÄÜï4¬»þµñ"cî`Æ~•ŒbZâóTÜ{²�´]5èÕµ9ö¸íZÑû(ÓmðnÂxx&Ã¤%”�Kƒðë»›á´²]¸$ -~”ÁüöT×Ló×wà¤,¶ÛYá‘¬xò·¡qÑ´þ~D¶jâß å¢¯+J­¾Œ+¥ Æps<Çp}TÃÿa~ÓÜsº‡ŽœðEz¬,I
Oì&È:Í™–
-­ÓzÑ5!t7ÓRá’¦¥F«Á\¿P½Ìaýê¨zd^th¹�®½‡,R_)èT÷Uñ)47Š¾
kñ6Ô.ò¬‰5¹‹1ÒeÕ`”6û0:eH¬#“Rßw @åP½x&,˜O89|sÃ{0®£{·–5zƒ–dVW‘¨]_aÊYaOiæ…­•ÄyÊjÐ7˜¶Ä¿!èÆ*˜ÊÜbÌ”;I?…º6’è£ñtçÍBéâëX,�‚ÂßìZ/Îœì$¾èjÃ×�B¦¬Î¥ä^Pù^ëá—’>-¹_o¾›|À­lÎ.^�–5�Øà€„çôào{]]ŠÕ�wSµœvªë(lÝ“¢5ÈþÎ™‘{gïÓ©[êÕ•a0*9 ?6³¤Ú÷!ñü¿gsnd|óu&UyO4•} 3k–0…°¸B�kÏ¾HÚ¾e/›aÞÿ6¤iEÙÔ’šýBjí\×"^ð'$‘}«GË"ÐËCS‚>¡
ÉòÆ¤>áRp174 ø|µp–¤[V£=1ÕI\)äBVàŒîÊêCwÀÞM¼BcÝ�"Ì#Ê$ö¿‡²½WjëÓ7îÈÕxT0Çšd�µBä,�¯¿–ëšyÔúb“ÂÙªí<{+k»�5s
\m[.¬£5ÉDÄ$áÞÎãvèÏUGµyÃzŒî©®¿“3ÿ½Ð¬=Sý½‘WD®UËÚq�wÔœqþ»ó•¹ÛÜÞ+«â^i<û”ÜÛpÛpCØÛþM›ï†…š°ÁNêNÖ¤K•�ÎKÂ<ô¼ìN	hddý+×Df”í5ø×Új&QJ%Þ›&xÝŽÖ²4~ç÷óå_ÔÆ[­ƒ€éW»ÕLý®Þ…êãõûóu¥AÔ=/e¾=töÆ`¼ °ñxøSvž›}ë”Îu`p,Œã^˜ýýˆ�¾ª,ÏÃ¹DíOµ°vZZ•õfÌŒv¬":^ÁÉ‘µˆ��C€ùÞ0Q­MÎ®!Ö¯Ì­ûá±€ò…�ïîÙð³ßb£,Å‹'r§ÜOõ'¯ÛW;:‹êJ“Óò“Ú	»c”¬CßcBˆ]a*P©[¯Ìª¤\†Ê'BF[Ïl”`£K`É…#š³0 ~X÷›œ_K[mÅßÓÞo¨¤õRÚoÄ£;ÞÅ›…þÿˆzÏ-e™h[ø
-ž‹@"ADrÎ(bÄ1ü9WÿÑçÝû|ºÛ1ìAQµæ\sÂªU"‡j·j=Ô�S� ™`ŠïÏ?¨¼\&ˆ~·Î•i½‚ñé’.‡÷ç·¢ä,Ö
-›4êFù`á©;	sìèOmÛ
-r[ËÉ":|ÔH^Ðø9·8ã=J4‘O?ÿiœgEÞ—ÍòÕ£Ü+=¤ácÉY[:á÷˜ÊÝŸ(µÞSoýÄüÂ–—¸H¼ò †î1•ÛÌ¹Te1YÏUXÄxâ¯LèâÓ¿*Ö÷®›•$®Ê3B`ÅU˜'O4¤‡Þ{vÖ.Ð`}q‹ËÊ<6‘édöä±ül+À–s!Å¼QÂl.Kªâ$Ê@Ò‰.+B²d“9é®Yèë|ÄyçîãÂF8eXêItû°ûµÎøCMf¤_£Ü®Õ-,Ëéø¥tVÇwÉBf{‘GL1Ð/D»/Ì‰ís&°`‚ÀäñTODt–Cq?„¸Ö*‰¯ì! :}ìˆËªôW€Ã+ä¯Ú™´ÊÉ’’õÆõ
BÚxñ�8%ÅH†„KT¾óßõµ„×zeNLo”(\gýFËÌå¡dýEŒ‡U°4’ÇÏŠ%÷ÏŠQÚ\Cÿ¯“žÌ¯e±Ñz47$Á^V¹Cåƒ
"íHßVç3iwðÆ’íþç(¬ÀêÑ sSizT]4NRÚo¡—ò4©™R7�Ôÿ¾”
6^¥Â#Cë¦­ØÖÄâæÚ‰ï]Õ™r\Ÿ|úlV[Ú"Ô–CÁB³r�ìÒo5D©d�ý¬ô^mR�ØjÇÿûJa4†omŒŸÖojü€�foM¦†…³à
-ïÔÐS3[>Ê¯ý*‹èöj§¥‹[KXíž*ô}‚ –7à¶œŒ¿+æàš†©Ÿlâ„s¸¹Úk_¸;+ûxoinc£R!#n[¾h-.ÿAúÏ™dü¥j]k<Öyu´<‘ ñ(×#â¤Óüã©>ùk6ªÝÇ#g‡•ÉœKŒAÛ:ÍŒÐ*ìÎ[¾:P£²5EkðåÞ²‰˜Y37‰%WºÁí¯Ç]£§y¿Ij2�”ª&$´6 Ô­Ž­{Ê�9Wªü�í}þ”{ðr•ÒLåµÃ$GQiýn3>0ªkŸ 7+{²†ú¸èÝ7µ6dÏŒYøŸÀ_Î05�‚3êi²¶ºoN_}‰ê
èg{€«»ËïØ®ˆU•yÅ£~�Ñ¹Ñ¹{0í‘6ú¼5Ð„7
~~h–´ä¹‹þÒø¶^(Vb¢ÄzK.þAã3ÈJ¢·ã®»•‰ó¼­”]}ÐæmØâpX‘T’yY•9Qøõ#ÕG´½©iIŠâTŠa¾Ïä“�/`Îdë=�û¥1j°êëò–¯ÛgcØÆ‚?Ü=×ê
-ÅÒ~£Vþý„Ù•­-nÀHkÛbÚ«ÞÕSRÿïÝœJÔMIb›”Gu¤ÃMWÃ‘”eð¥K´ì¿WÔ£LÑ�Õüm„®�ï&“¿º½`U¹žn7	*WåÊ^	ý–q¥“ýu»BK’^OÖ5qc¥(¯KkáªWGÒÈ	»˜»’t1ƒ_-é	¶Ç�þã¤ÅzcÉÆò6/&XhKùœÂçà¬KÿóZ¶qÓ‹ø-4ýí#Z&B‘öjû.”¢Wé0�çR©3™4ŸÅ´È:ŸkÒôoªe»]UðŒx(P»s(qX²S£êãñ?wÃßª¼“•ÉF˜œª.D½�Òˆë�XñW3Lö}Vq ¹+îŸÕk£ñ7jE’!É³£åç§zÁk™	äïÿÕ3ÕxµÎçƒ ]Õä½ÿºšwˆSçLõ‘¯ïÂs‚¶›÷®ÑÕÚ5³)Æ˜¦T[­ýM—JM–Ó÷´äìiFÛ¶^Ü…BI¶´t±Ä÷y’½xWYuuÕÑBù€0®Ÿ{=»Hî_~ÔÀtßÔR_Š�¸›AÝÃï¨ëÏ…§�@ÿÿ
-
ëœI•†œ‰j>ßßÌâÎ>«ÈÆÖb¡ž¿Í[R��‹�GÂ÷ù×‹ JŒ�{#™«í¦n)AÑ�NKì¿�Öhq1¼ög®‰×Ÿó™tÚ£î‚8;Ík´ú¨vk¦~1"läÖfKXšøƒáÜØ›l¿øÆ]³¹VÜËCeÿA©ÝAY7´¾Ì¶.£3úÎôóJê´Ã¯ªŽïÂƒÒSM»À“³+Öô}óØ‚¥¯uâfˆËë¾ÍõñÛÿ¯ÍuBö.Å½Ð[âCkÇo¹ß½�0�ñî/HÛ4“úq#‡%�‡«]¢Öµæ5Ž—ïÚ¶.FTyñqã]íµZNþR“®—Õ“ÛVñÏ«‘MŒùd¥î®ýí?¨MW¥WÒ]BÍ-å†Œâå{½®µÂ!
-›Z|öÜd¨	W§L¿sXžqõÂ_Avp“W),	B9­úb×e¤;÷÷MµtèNÎýöþ*T©
øªy%$ŽÓ	¤†C!+¿Õ&&å×Šªµ¬ø?¯>Bú(çuŸÇƒëx/õÃIAhåÐnÜoC½‰¢LG
„DœTîÖÊnÉ©ð¢Þ‹T‚H“RÕÂxg’]©µB:ýW(dV6‰ØÍ/´L¢‚Ù¥�cDªþ5”š]¬*šÌ5R:=IQ�›s¶½!GžsU±�b·§§|ú‰¢ºBnüÿw &é‡W‚3ÔÃ–0œH=‰°Ÿ†µäç‚ÝÊƒþ!ÃÕ0UŒš·‘<yÁ—×[Uûèî£l{[²ž†+­Çùãÿ†YÐž ìöN1cRØìº¨[«¨ÃGô“¤ý­Š†AL¨Ñ9zI¿k£^Û
-¤5O’—½3²—ÚJ§Ð^E*äó‡	è¢°>pD$Úú¬ÄU5K±G©ŽùåóÀ`	7a@ïÅ\Ê¼ã¹nSY×
-„*}õ%—Úï|©å›Aý¿B¡oµ|2˜å§+6ììÛ-»éÀ`ß?Z´z€Nòmˆ�zGj{Íñ?¨v
-ûO#0»Wy±$h}7ýÚfMåèŠ‹ÿ­o¸Ÿì¯®(=ißÈ_ìöB¶[Þ&	iêlÈV²¼êI|û1ë<-w{ Ö­)³ÓË§¸Š‰;µ¿(Ú½E[6þŠÕ?øõÅ,©Ù†¯ZcD˜¶Óµ½§·7�-oÖGÕ³Û0MsŠŸÂÊÎÇl¬³ÃxéûÝèBÛLF íŒÿ©¸S~'§fêë6Ô
¿4VûÍøÞh¤ÅØ+~B<ì§±q—d=B™tÞW#]14šô@~ëVFúíD‚ŠqˆŒàý·ëÃi²Ã3ŒF4lO*yíyaÁ�äé¹ðž#ùæÑàþÌ­þˆ†£j	ZeüÏyäz„Xr
¨·Ô‚×ŽŽ<{ÿ³=e«ü–º�öŸÝÁH.³/¦ÖÖ_j´š¤ŒðÄ¨Yä}½A-Oõ€šý[øk±=^�vâ3QíèÄW`|¤SÅQÌÅ_±ú®÷lîöã“‚H°Ýþ59¡µ*ÇÓ�+Èm„ŒÅÞ�ÜiŠžcUä•y_åÂJãÞ|§ÌÍ�¾‚]Ã©&íÛåÿ]øÍ\]7›zŽ4Õ·5&&³ÄC¹TY6—êžYõHíÓÒ{ÅÔVo@ñ
k(BŸiNð*Ý4«««ð_aKo�ÏM‰ºc$R¸
»â\Fð§0kÈåøò©þŒÔ¡ñºV‰›÷P‚wPåTNÊÓÆÜSºµRŸFžýï0WB±úú!]t®H³ªð ÛU„ß C¿g|¯üx
-P¼�ß«/Ç%MµoÃ’²3f0tG°®6<éªÊÖº`ý9{Zv‰ÿ†i¤¨¦sg ?æ‹ö&p�J¢òË/‰È•Ám.uÎÊ šÛUé¯ÿ:†% ²’¯òaE˜zëSy«6æFÿ;ÐT–µVôë,ßKwÙ[MVÜÙÍ»+]?ÚMŽƒiá_ê»�U6ZÏúEþ^
-�XÁª=ý;pÊë½j7j«)þâ»ð�³‡¾ÜïzÃîpÙêý~”Ø«KGÍ¸þÒÞ½qþX8§!åÂ�J{2,üÙŒ÷K½Ú«Æ[ÏclðlŸø/užžñØ�âµ
ŒÏêHuµ®Ô×nqÎôØ«�=ûSªÏ«K¥�Lœ…gÚ†y�-Rö¹³ÜÝ˜“Ëú¯Mûzú×·‡åê÷Ž�žÎt›û~íÜøô[»Qfê¸.Ø½ä¼¯ QœÜÉ}b¥±sXärñë€™A°J²"DýeVõ]ú E£nShS(Øø)áÌI~É–wr¿È÷ÒCXyÒ{[ÍÖªé[xµ»ç™k\±Aš°ÇÂKóŠ9á¿ÅI¥ù‹ïÅêv“nÚ$!Òµù¹v3ôh|E®ëÆ�‚ÇÔéd\¿s:Ê»Xëev×¥lOøf}£“�£R8ê²<n2úãÿ]x91•RÁôm§Êƒw�6îæSAžyÖ¨jîmÅT/dR0¿(ïXÂÀ�ƒè–´«gÛ‘Þ­³] a83uØWÿ+Vï”~YÊ—ndÑC·º¶ëÑÑ{"¯çóÖHª­¡‡~~Û58
ô—Ünž(aïý¿Ý‚�E¨ÖÜÚMK»µÏÿTõçqÔÁøË~+ÕF‚¤[` � Kß’1Ò‰mé[ýFüZ>fCVµ$3º�ªÍöâ®içF¨eþßs¹ÿ§â®}ïê=;=N:<++è’ökJ,|a:*‹
 	´”lä2Z”wðóm3êLª1Œ©r{ž5µÆÈZÀ„ÿo˜u-,ÝiŒY<
-¶T;ŸCG}—"ò@(B½Î>…1—Žt­~NÍZšVF×T~nFÚ�}LÔ×ýíßÙšâ¼Ýÿ™O$O5éjêqÉo4ë¸öæ+5|ÿ x�ºöÙ-Õå¶ÄWêbÚÑ³„]¨Q?Ù—)~ÆëÚùJª/”7þg ×øVøÿhr“þOi”»P¯”þÏÿùýŸÿùë¿ßÀhT(›€uÓÓRmð!Jñï7)£á¶|'}Ôó›
Õõú
J��.<šˆü¢óJÅ6ý Š>¹V¡¸wÖhU›Ü·óZ~#µºÕÙF£Œp�”ól„2Ì3òœ|FMk»¹£¨¶µÐ�ðl·xä™a¥‘G`ÓÏuÚînƒm{Ÿn·.zm;ß vèz•é§‡µ]êÔËØîLÃïƒÛ+Ó�0U÷ÔàƒNtbzaöCâv†ù|“A¢–¨A³Ô®GþrIÓƒ‚øè×‚×ÆÁ�«1„[²˜×bxŸøK}ÀöÏ5•ìã•8¯1âx¼ïïø»–£‚C²ØmÀ;ñÚ·$ËßørUå+X�¯Õî…þ¨·wßÕ\Ï$õþºÙÒóhÐ1"³¤˜“1ÿ²j¸Z§Z_.ÑÁÏW‡¨ôIç×=ïÜt¢<‘ÿ¥~Uýs¨�ó²Ò)QŸÓÏ®Q›ÅÖ~²mAŠªp+Œ²&|ŸëR½w!Æ�Ÿß#”Dr(/èé Ÿ–æ‡Ê?(M›ágÉ�¦¯Uu½z­v—ßg­ÕèòÍ«›«ýknÝ¸�ìð-êïî^÷šÙ ²ï awúÁäA›�é#i£ãv '~"´Ï :®Ÿã	\¨þãöº<ÿsÕ\sqƒ3æ6cöà½½ÿ,ï[´Â>è =îù8}ªK¿@Š~¿‚H
-sL8JùÜ‰of%ÍßíÐø‹E
-ÐÁ<,j6.Ù“�W®½¯µPy>·°7é!`ÖúÄSÍÐst¸ÃÚöçW`‰WBáÔªv—^©º«ƒ£‚S2«vÉ“c]¸_;õï�Žv­ÚCêtý‚ÄJEkâ�~§y¸íÀH«¿gù¿]iù»¯€u$b�ep/n³£`×þ–ßŽ‡É.vóÒnv©µ{ü+žá%õQÆgŽföñ÷°Ö¿ì˜Ý@G2—h<
™ØèUt8ùå[[9Óã"’©�náÔ£¼Žœ¥Ð�AîÒ§=:k—eÆ4•¨Êì?c¢ª˜mîÖKöhVNŸeCÚ+þR‰mÁvEÄÝ….¾µ@
-·çƒ<>oª
-Ì¼þöOïÚ£«ªÓ…Cï•î€ö.Ã=‘MÍ©i"Ê˜‡/LZÆ¯?¶»V¦²uºrf�UÕŸÛŽW•o?ÂŽ¾µ§¡Sê´´£¥é–uµ™Ùþóô!!›¿‡›Ÿ(S†Ý¹ý¬öâÁ{šÄ?E“´œ/Ä©×MQ>¸¤·é3XÎ&¾¶š\6æ©Ëõí&¾7¡6oÙëæ¹C ô¼»–ÌEÐn?zdù?è¾iæ°i’þQö¶Ñ©I¬�Ó±×#ÎúY\ê\ú¸$>»º˜­|=ú{øÆñ¶wË³Ré®¿iîí¥å#�øß³ù¡úÏ…Þ1^}¤•½²y¥�ü$X¸‡üV¢·´«ß¿\âþ¢äÓa
</\\#¨ô’{QYš¿Ðrî
-3PN ü‡%¤~K2xá¶–S²R^éJ0ÚáU¤i#Õy…kí:ñ)œÐ²ßÖû\ïVß…Ä¥Aý¸Kã,{�‚/?äÕPÐ¦j´¬+GÔ7¹ÕªíÖºÕ±Q†Øc5ÛFmÛêÔî:×IFÒ¥œê>G Ö³ôðÂQÀ	ð-ÏÀý‰I2ý/l®ÞóÓ!:ÝdMŽ3f(Ei™„³ß†\ ¢E�VC½�eoä^“î-½:}£ÚØ¬w‡L+€-æHAÇ‰Ök£l³Ï™[îµÕ‹SòÏ#éóÉï[CPïDD­ÒY<MÄ™d†
]îöÊ’üÀ»ª¸SG¥JÕD®§§¶$Þ]ê
-KMpÒ¸©ƒÜœ&^b14¦ÛÕËßþiû8e›ŽëµË.Á¹K·¿¸¼ùöaüÈÙò;…žf«Æ{f%¯s1¯·]Tn>ÖÑÖVs³‰oÿ¢ò””nð;Ù5VÈÂò,&%›¼½„àóü´ÜSÆqåÌû¥5u`›
-¨“›C¸"·N:EwdùwÎJú�).'{ñ{8�nór8$ßåQ·8éÔZ±¥Óiø’ÿ¢rwiî¿ßK¶Õ*W‰\Tn~Z¬þmñmoïtCSîyîV.>ôŸXm<wá{òâÈþ6&'*Ÿ­ôMx‹‚._õÓ_,¢€BÔ.À‹[oKÂÿ–ž-–*£‰W~º'�ºMð¾ëÿ ˆïÛè¾Üà0O•§ðýF•*¼‰•Ç¾TT£ªOè³©	g®]{†ûY]ìUKõçžá"álÏó©…ˆ›Qˆ¼¾åNS>5ïÍ/½Ø †¯[Ð¤Y0ËwOu¬ÙÙsØz,Ûxö.·3ëGwÆ­wÐ¹-Î—®ÔÛ4ºßM4éY˜:Å+yÆgH§ÞoÍklÉ#É€è÷ËƒcGäv²Þ¯Ëp8Ô�÷‘„“g‘+É°YC©nÉþPÙhx±ù>úÌeÚÃ"G‘;Þµ¯o†ƒGÂÀ?¯É4Üê,ÞOkìù“.9Õ‹F|�Œr>}ø–@JMÈS,ÝÚ“
-©¼.ÜÃG²0u_
-(E�R81F%~G}MLTó€=®÷††ªß¨ôj8mM1{Ïc×|¶Íº5í¤¨M]F´S††3g5·Ë®œVtƒ� w·ÂÀŸuƒÎ?(ß�ý´¢Ê“ivjßÿ8Tqyúß))FñûóœóuOˆêèŸ¡®�¸ù_PÞ³šBßR==ŒÖ“¥÷=V“M’¬[f¯¿ vÜdízuÌñÂ¡îD\Údø!ªîááNÜ_¿PvXlùöÑ¼¾ãSÏ¹Mœï—r<ˆ/×´æ_W,Ýü}ývW+ÒèÁP\þìWÒøÕláR^~9µüÙ2–ïƒŠ%ï÷Äý¿�—Â~±ö^ìk­õB­Ù9áíùxi]ø‹ý}|jÌf†jý~°Ôš†MŒŽÚ€Ö†½Z_k<4¡ERŸ¦Fß¶¦ºÅ¤ÓU/®qÓÏ‰º±òr¡a¾þgo3S�Ë_Ýñ,p­_0p£Þ¨ï�Ç~JáF@"SótÃ�Òå§ÃÚ ¢~ú…C°\qçð³­®Ê/j™•ß'ÞÛ�Ÿª�¥ñ,å{óÓü;MõžÌT•Î¯³YŸŸ	uaÎn£ý;ƒ×%Q÷,o¶*ëY¢w½§Ú°ŸÓcªg!Omé£M1»ÆÉY¹å©:àØÀô÷Ü&èþAªaÎ©� ÐõæSKÿzia\\j†a•¶_ueµÑí³d5=+·w·çz>	
-r?)_?M“‘Rò çŠU‘vESæ,u`YQi�[RéQZ½jþT-‰‰
-
óÆ¼�5À¹²<
¾çrónE¤(šJ¶¿·’M¥˜
-éþ¤Ü·vÕÊÊ×Ì»¼×€Zý•ö)Ö†ŽäØ˜J}éÞ¦ó�ùÛÊSUwØÑ“ä)0^T¨‹0[g›	äs1–5eAŒ»Áµ�N³?0•C…ùE>:DµÖAwÔdQÏ4üMÔQu|CÄ,6ËîWœF'<5¯‘°¬ÉÕ·â-&Î·Ÿâ*q³µÇ•ùa›[Í¡ÌÔ†Ÿ*—[òbõ�Lz�¦à¨µÜqpD&ö¸E*eŸ—Y�æ;úúó]l#›Ú-º.7q€ ½AëÔ·bù´•˜A
-¥$»µOmF€.ª\ÏG!Bz•CS—5Ó*	eÁLk€¨¨†‰¹sGÙ}&¬ÈÉ&‰û
a°üñùB1¯£�YŒéwË¸¯$g8e±_,MÅ.Á3v[¤ÃÞk7«;îyÞW1\øÜ“M|Ž™CE‘j¤³Öž�Q†ýš"h³½j˜ºL¦Ø÷`&·Wè`NÚ�º’öÎ0ùÅ.š¿ÿ„‘òÕæÝVùüu5è”/CšøçÓ�OÚª«´~9ˆÝÄÜliuÚJÊºÞ�vÖò±®©Gž¹é­=“±—|”k pçµ»xGðrÖ´‘ðZÐïÞïÏÒÕ0<pvÕÓÉaùÚ�1p›è4c»�WÃ#}šäcL±†|�m}RÂ<í Kªù8Þõºíªš?ŒŽhpêÃÚÎi�ôÄùÆ‡Oìm€ò"½“lÙx,w3oü�†§=AºbîæúÈlnR[x¥Ûâ’!!ç™fò®9K]�a¥Ñæ qŸ­�gß«½gŒ¾køÎµ/µÃ´,ú¶Ö myñØjží—åZ{ñ(f¬ÛŸãšÄrIQÅPI#ß‰ŒªBäèsPdõ>°ží³;ëR‘6µÃÑÌæƒ›Æx°[iúr¼1žã‹ãXj©¥Ñ³Ãzâ�ƒ½u)­7O
-uÑ›Dç‰Y‰f˜Vókð="iBÚEaz«r­§¬<ÔT¶Ùô¢pò… îiƒÒ—$"¸»Mq}ÐÐÉZ!‰sR·ŠùÑ Þ¡Ñîæ�þãäo¥gçî
œvT³ôw5â™¥;;ñª¤u_%Âè]+®ÿ¡Ù—VÙ„þ¤ñjPn·ri@ùúêu;�µ%5PF=GÌä/†ãe¸­ZVäeÇŸíTÞß��Ö»Ãm7÷~!OY
­_)ñiz¯B{¤úZÌXPŽ³tÂX=—Z2jfúÂSK»
S<®µ²÷rScv2œsŸG"µù®VNÓø¤‡‡[;4 ÐU¯ƒIÀlÉ,÷§Ñ$VwwìÕ0ühÇó:¥Æ�|8¿7·k6ÿ™CÍÅyªŸJÐÜ­†f†K;Ú!±ŒÞ^½ÔNÔ‚Z+„LI+˜•g�áþT?xF‘Õxh­P§_÷Ì#MÑÚ±õ]íä1|Ù£Ï ¯
”½ÖXÄ[Ã£ûR}¨“�ÞžÚË¤4VÔ¥Ò2FyO¯¦IªS-ÙôJãE�'mÕ1ÕQ²ÆeÐB]å˜/«góñ’F¹
-xÍÏ¶SÕ<•(s
endstream
endobj
119 0 obj
<</Length 65536>>stream
-º1¥ôLjÙ;H�½]Ää–D–�Ï½úåÖo]˜¶fh•>âÚ I_]å
-�¼›kòNO+VÓd�¼.ó£“IIÅHõ=‹0z£sQ
Ø]Ì™-Ušh¿U�êæ]»Ç2ÌhÇÎ¢©½¯.}äñÎºd]Ê´¿HY+†6oÖ*ú«\dwX��Y¹¿‡Fã!vE©4„
ùílô)ÊdC{4ùèç#;ÓëýKÚÐQÇ€4�m¿³5¡£â<3mg<†Y‘UÙîÀ6xþbô!ÖÖ>«Á¶@%Ò=™_êL»>IMÒwô.�M»¶­6�ŒŒµ4ô¾Ç[æŠ�»·)[Æ¢ú;ž;è~
6SFÎ„8Îžr#}óŒ°I‰ÝSý¥N>º…¶¢Î,4ã[ÃÑNaiÔü˜ƒ–Qj\HSi†ÇÂ¡>«3ëE†?
Éé¦½0ýíÃÍõô4¼š~Ý¨çtnŸÌÇéx4µgÕîEË9`Ô�<7°é˜]r51ÿâ‡÷‹Pb’ºqÆýkQI·Úº„4¢ÜŒz½·±gõá7ðL6×�™¦]}Šy@u¸³vˆ«4ÝØŠ`—4ÿ%áh9œõŒ½ÂžÌ%Bë9�ê"‘fË`	 7>UÈù½°‚eF
_r?xUF‚ÞâÒ˜¶{�{í\<mÕ¬Ý~<­]¼`´Ž…­�O/Z—ã}hlÇo,$¹è{gý¯k}¦z5Rö½’NÍ§=¾ì·à´Ø×´óA…ˆpaÌÝ6óÄ4~h	h…¦¨+€Ùß²‹U~lÖÇî]2*°‚q½.L{évûsUÝl�íL,fì‡ŒŒqIÂGAš�¯õ.Êð¬}]MÞxm{C×ûÇoËS<˜_2Þ îb¯ëCßR‚o{1¾¼½uDPž‚�ÐsjÃ"‰¼lBæþ?È[Î[mÐðêhí˜\ÌëãE»­ûp¼¦v`!iØ•a/Hx|wóv!—J€eGì@M~bY OÊÔ7FyL^L�Q£¦á�Ýiçè¨úÃƒA…fÁüû!úWïÁ,N”jÇ¸êµ3½VƒÖñ›Î¬óƒ!´ëkÿ6wß4ã£Eó©í…þÌ8­ÌÁ¿§7mvºúK¥ªM½b?V©¶mTáW-dPäGpñ.<2jö&þ÷DÁÆ7{œ­*».Þç½3„ÒÄ0–t¤×y®ßA@7º{Ëé,é2 ³“;ªS¡ŸµW©îÜetj{p
�×ö³¡T÷m‹«Ä?�¿^¼Ô1yÛ‘ù²ý§Ùƒmn?&@/ó
C¬_ô(Žó¦Fº©_–ÌœŽËÖK½Í‚�ZÛkåé×*æ–~Ã–¹´Ó²Ò±ÛÊÊØ×�ÂWÒÃ¦Zõ´ÔÑ_Ù�ïØ­|o$®oëàsBîˆåg1ã¬™hˆ{/joÌwÐ®«òiMÍþ¹fx•20ëh¥Ë©¬uZ†„¸	³ƒõr8²ˆ>_-ò[k»Më	‚m[Mûôè<ÒQæ>Ãm‹xXæ{‰{ô”œMkøg*ÇÊ�0Í½ù<È
{›r£ûm9uÈÖc¨'·fµ#Þ¶có%nîÚ¦®¶r»ó+Pyii=»>8œCÖ£”?VÍËkžÓ7cM‘¾·ÉgÌ•Ä�åeÑ0ÊÄŸ„®ö›�Ö]½yóÙfÐ·I³D¤”½ò›…ý‹C–·,þåñÿ wz�y?8œL’µú2¨Ÿ>ÓÓ'å
æª,FNt<™�u:)nÜ³W½ÉfiÐÐf|Löv£;³e¬Ó‰5œ˜ÛétT$ÛŸsRè1c
4J¬Wù¾¦jÔôKµ¼�yGwuì%j_¢Ä7Ã›²XÙÙeµL�0Ú<}vhMj¶â‚�ÂóËìfv`A‘¼k/ˆÞ«fÃèÅ#~D¬•"ïR¯MèL…�:ýÚ@°s®âj<6¬nB0+ÄR|¯xa=h†Ð%(Á=KœW^ñ
Ám‚Ê#]G¶”¿ÛìY^*eþVVUSáž¾Wjêp‚‘)Aé„äW ©á�
-â+T9ÙLç˜v[lÞ®hG·w�*Ú|_Ù_sÄJ&Út…?,ÏR Ît-h”}³/hVûågmVnãú[�Zk}÷wáfu(¦1€'3x^`ãe�SG'¬¹˜tdŒûwÄ®JÐ“íK÷L¿÷]Å\ÿŽTÿž$’®ÂÊÐPû©‹ü0TÕkÖ¬æí0‹OØ±£~&¸�\aî¨*�ïÙ´½‡°�š«ËÀœ–—7írêÜäMcu–vÆ»ñXµÓp¸Ôïó¶¥Ç°õYyåê]®ó¶»nõi÷]ä\Þí�zn‘ÚcÚ_Û;šŸ[ëpþMÖÒ²”y4å”Tû3ÇM”`.F[©DMÐ)ãú•¨ú%kwæß¥ËÂÕ2œ�ú;Ùó°êy¼w›ÙCþŽ‹Žç}�éQ”•Æ”Š÷ëb¢“¿S"ëÚžÖÈD~ÀS‡2¶Ül·V7Ë¶«�Ë³@«Yï©#½ŽöåUh$À~oÆ–vi“ÒéÙÎ×p³“øvŸŽÖöhú³�5šRB‹«ø§Ã×£óG<ôÈ[g3Ç£Å™]RôpFæ¬]yÄjî:¾óÎsí
|
-³’s2Æ�·m¦miíš…÷�O½Z2Óe…–)=WÌ®»�¿v«­ù#ì¶ì5„/Õ£'³è±üZ#ù“2çžúÚu™e@ØöÛéùçP�ËAOä³ÙŽçs½¸©7iÆ‘•Uèôó	vŽ�d‹Î'nÜÇÁ_F^}Ž‚Y|gN²DMÿ×Èã¡þò.ÇyÙº¹ß–Í©ÝŽ÷…»>z:>‰­TfRWŠ>KY¤ør°=;Ç‘ŠÖëË®�C«‹!'F›È?hz‰aÚ¸—èK¿t+Án8¾ûº+ø&NA3Ó¥¹å¬òŠ‘ëSE´…¹y7yË‹DBY¦üÝÝgàHHé7§Öv€È�û¦ßVM¹éXd­EýƒÚÀX~i@§aóDW®Éi;*U?b|D»ÃZˆKe.G¤Û“feÀI;mšÑÑúT³×fÇúðø_ç¥¾æß»-sTÁ‹…çemIDq/FŠ÷Âù÷L€dC8œ­ÌÃUnÜÉ]A§;Bc¸6õOãÐ²ç¦Ó ùµ0Ö}aÍ™on´Ç®7-Ð[ámP~¸Z 2oÙ`›¨‹,=ÖÕàb]Veˆöh
PÂ>Éš»Ë•r˜Ñ"e@Šî¿ê}iEËƒc1ºåêÀ,1t	±6«©®ƒÌyZÿ‰ÑìÖï,]ýrÞ{O\·Í&Xá¸Ìº.œ×
-ìó>óR¬ƒÊf6Kd…q%3`Ë-sþ&ßXFI%C*u\ý÷Í„Aë`0cG˜IQÐ�×
-	}Ð¬{4ÐXåvÁ„ø8ðnŒ§87³ùÕ_Ÿ!‹mNœBž¹3ÞHGí¾v‚ÑÙ˜XðD²á¬EíËÓÞ•½Ø•
óm	þ¢Rˆ¢#2ò�r+výw·kGe;ÜÎ¶ô]`ò—ã[+çÂ‰›¦¨œ
-jŠ’xJJµ¹ùc6þ²7™¹ l#³Ë[¸³‹y�ÍVðšØgñÆ�û•%â.�ÏB'€7+öÍî•×ª¡´)Y£í…‘-l(¸A„Y¬¾Ê¯Ï±w(ÏûDýþœôÃ‰ÕJ�9ºA¸Ùë)Üs½·Ü1ê,trE‰ÌÎ`b‰ãQ–’Ž.Âpž×ÌdÉ½ÂºŸÄ­Èa•DN´})2²%�§Ò§[½„:ÞÚ‹ŽØ¥/Ô÷Àœ™ßÐ]õ>ã­ëøø&5,³�C6Lê‰Á9ì‚Ûî‚,¿ÛºéÙòv£³æ+LJÝ‰ä8TïÁõT¸ÐÉa
tkëôÈá ô}ÄñirA+>kã&…ë„¬vç:�ˆÊàz÷ÃŽ²NÓ8²Š«žAÂ6DéÔCúÊÍÍBOžïtÂ2‰J	öÜÁ_ÐìÔóé£f-7²ÚŽ=n|}ïª	‰IF”ëûÏî&š-vÓùkÁëÍþ±¯I÷ë�ù]�ã Éç@r›�‚ó·¡h–üË¬ßùrÄ ù¾Õâeûï¼š�1?GÉSÏM0Í¸Ù
-E[ùE/C©Ü”``®+¹y›ú×,Q”vO49
VzD�7öR6=®ðsúdµÞ›Ç‹ ðzé­Wi^öÛ_ XDòEÚ·§}Þ½j.ŒÁæƒ¿Þ‡»‹¬ïù–‰ê[ÒÙ¿‹Y‹ÑÅÉ�g�ªºõÖ¯4@õ=í!ÆlµÂß¢“º±¿gŒ…¯­#Ø¶*y7ü]oýƒÄ]¶Sm˜3¿îªÒ©Ž^1,˜ùë½·}{›ôzð÷hœ¿ašÌ�CP‹ßê'–qC{1õü
-:¯úU1ºŸi�P¿ëå2ÞXóâõ�cÑÒ<²�D)ÿ9¦IVþ|[X#ŠhZìï·>Õüi\^áÄ\ˆW8*îq†WrÖÔ×¹ÕGw`P×O?nÕ3‘RJ©K&åªŽ‚gøršÙ®eÓ._íU¥>PÌXtî™ÝMé…�l÷lÈø%ä=µy‚ÂÁßæ¥Ý«_VUqEkøøòN¶ÍóÝãôYÕþü�EˆàÀ¢HXMƒ#Zù¡2235EôÏ-+|ålÞÿ]â]‹fÐ2Ìè.“á%ÌÂUH¶pfZƒ:+w°_{#¢ëï<Ú»qv£+Ý|!ÍlWÃhã{¿n¿“�Çñ¸
-yIû¸—çõš>Ö.´åbWŒîéÍ_QçÏÅn¹É¸
àSÀÝŠNmW‰¹ºž¸»Û0ó�Hµ¯fÝòo�¬o¹ÞoÖ|³•²–Z3ÀÙ\MÔš”“­‚^}þZån.vÿA¸¤·Xõý™Ó`²‹ë-«‡îñû+9)Œ-ŒÃañDÅ(ŸtNI«Bng¥}"£úaÐWd°¹SRêfOéh7`r0Þ«µ zó�Bÿƒ:»~©îó4p`ù¸má+™Ð�×^7Ãá 7ò/Kó
YŸ³ìæi˜Ö«¯±î´?S¾Ã¿­ÆWcÞÓŸ¿Û˜å6Ëª&ý&­¿CLéîP™ØZšx±úóþ3kLíòZ»v‚ ŽoÊ™gX7
ç•Ÿ"ÿ¦¡h�a<KjÆöú©ÇÌ×ö†l†e›Ó¥áN¶“è9luµ'§÷›Üì
‘o0÷®Já^ÁVòŠ^Kü^¸Ÿ«kÁòKŸAû£Ä;ë™Äúù"bÔoN��:fÎa‘´º­®M`»"Z£Ò\h¤4ÚÖMè–Çýùjä@üVq¬$m„äŽ*bL6Þ‘c2b¸J'cð”¬^g¾v?eú>¨¬Duõ_Åžlû£Vç¬t�Á!•�ËæË
¢Iú:d£	]Gž7†*«éFç|c‡®œæB¶ÕWÿÉ_ò—œakóµ÷Žñ=F]¸ï2&”ùÙq|ãâÜ`£¡=ƒë¢mEk=�Eá6„È0]úxR9¦j°wÆ�‘¸tÂü—»É¼¢ôo'­ˆ1ëzO2»J·ãVï{’LlÉ8†�¬qß
»�0xº\¤plC/Ó¦7m/fñÔ†-ž[7´�÷¸“²wÅ^%r�XŒ³ÙBggð©�Ol6¬éÂy™‹ê.-\PÕ#¸“—y^|ÅúÍûDÄö˜ÞìþŽ)É“é4Ìx6¨�q`l/ê-¿Ò˜‚®¬½ðþÂ(’�þëT­S~8¶ðö1¿±aôÑîÖ•Üã~Ràe’.5ÍÈ¢8:Ä‹ú”5=Žš
ÛÓuxð½ù€Z“JÃŸ{[£}s £Dv®ãoËÎ þhª³™ƒÔÈc|­7¿QÌÂrG]Ðª7Û¿73©%/Š,íîççõ-4Æéét:!sÊ<pßZk_÷­”^ÖÜ[ß[½¹ÇYSØ•‘pwo]�/l&#'¹�pêlG^•ì»‘Ÿp%ÖÝ¾jµ;L�–dýƒ†›D;¨ú<u<;ÆTÔß¯ý¶­ÎmÓÀªÄBó«}/•crdê;ã«ù‡“2ÿV˜\di{®)‡˜�ÐÆ…¶v¤éyö·¨VÅé0ÑfãOÁcÎ†ùð¨8�wÚæ©©U]ŽXšÆq‡1Òlµ—#cN²™�öì ÏúÉ	âi%6ëC{ã¼t��xžð©Ë:'¥ˆ]wY«AÚèê¤ãY[|¯,kVËÛ•%
š¿¹ÅïH\Ù¾é\¾ÞL�*wšxÓŸ^4ŸÛ=ÎxLƒƒú¡£Ân*õ Nß:QfÊ­ä¼oÎÊy7(-�êôø¤UÖN.c;Üä2y•±åU“C°ôNÝáÜ­Ì`O×Ü¥8kµ¿êÙ7âá™µÖ9vjˆ"Íê¤-ÂP:Ñ:™{Mx½žw®÷‹}²‹ã­°M‘_*3âH4nÚ½ûPtDpËï‰æ3YßpS9¢z¹-ó~1¡rCwìïŒfïâÝ>(â%×?C•D?“°U1ÝÖ8œüžÆ‡Íaø,xL»òŽËG Ñ~�Ô<�O‹'¦Lc
-L]c$ï‚…ZnSÆ Lý¦ëo£}‚cK ¿÷–¯9ëêtŸ‰ØhSC,W¸5okƒ.ÈêÜæh†°7#Àø¡¶�À¦(B¢±,Ì«SŸÛÑÅ¼ìâ)¿Ÿ(¥‹P€0º!>Wé	©”Kþz´îMÌS‰¼Þ3\ZlÎÎïlÛwZ¯½ì[­�ÕïŠ)@yAë¿²~±Ùœk|†Ñ~ötøg£Í„ÓS˜z©ËéÂ’iê™+ÇIj5tˆÐ-|Ê¦Œz­+fUËÐSÃ³,²‹P‹µrä˜¿îÿAså
•ÂŠÊÖ&¥ÆÕ›µR=ós@XÛÅð~A:t^ïò½}‘
û”x3¯g¯ÆQÙOŒÏ¬A­'¿Õ¸±½Rn»Yp�ˆp[uýSÑ×«Üüü¢Tf²Tõ3MiiùêM¶ï­úú¢¤{¥Ï§fôÌ47j–R±$aô¹öì×±%\ç®WÞXÚ�ñ¨“`ã·•´à
-TfO‡B!h	ÊÅóOìÞË/y_;ÁÝ›ý|QLý–íûØ«m9vµÊöjÁ÷õH®¢¾ãÌñ¢lTr¢P±Ï¡K
�s ¯7‡UpM«á(sÝ©ƒUWÄ×i3­þö¶2cbbþ|ñ`ÜEÝº¾ºÛÔV*ŠÙWóMäù5ª�Ç[­™˜mVÙÎx•É0Ê
ß+ï¼OðècÏÒ5 ø¾´ÍÝöÑ(k÷ƒn}DaE[�×?H=$mÌA¯¿,Q¬U�>w
ë£ýÒ0§†7ª‘Lyó›.Œ@Ë7»^;³²ùt\pAÕ›[¤¿4:è-4ýè÷5Í¾öú¶KÛ,™‰çþÈpk0Ô/V_¯�kc‹ZìxçP3`C6ö,¡c4=ÏjŠØ“B³ÝìF'_6zø{e@<Æ¯Ê¯1£Ö‘ñ�ýžIÏÒ¹RãÓwãßêzwîNæVäJ4,/hd¤ÖCtnb)Iƒtâð4m^n¥†‘oaÛìô±Ù§£|F|uñüÑ-ãHPm
-»9ö>4ÆTL=`6×§qòØÄ\<:•!ÐòõzÉØk°™YØüÊ[YSø5¸�Ý1äÍS\²¥­vÒ„š�žü*¾ê½6»Ìö×`Ü‹üp8ŒoäF8ü�TôÅüÃ(/”wCí]õ½*,eÿÕÌ©izQv*\Ò“©“Æƒâöó³m.–9'!3zGÏ¯ÕWÀðÃ^gÊ%]f0ƒˆËøÖýžŽ?,ÿ\»Ö'}ËzÅíßñ¦±ž1ár†VÆÊ£³ÙýƒbÀä�8ñöïÅäì0¾]Cè
-.È`J¾ýcÖ|OÍ�Tf]çö>1N¨Ó(@šk^ƒc56·ÚbØï¨f†/×ÏYøä'A-Q¹ƒ™x+ìÈ˜#Õë/˜h§æþÛlîj¾<çÁ{­#èÌµ	8¥�½™uýgÚÚºÓºl“Ÿ‘H×/ÔÖë·Éeé¨ZÄ`šÑö¹øŠ�:Î
[áa®e%©àäYa`ÒÎ±šÕ´‡²Xyvøœ!”Žµ_pá-WÉ¾šE>ëf;}ëÑŠHùn¢®
ñˆõø¢“Œ¸‰ØÓ¿•í%�w*–¤/Û^' 2Ch�D±ÈÈºÝ1‡Ú7Oõ¹ÄŠ:EÃêÃWiÏKE~Yb‰2³ºb�iñÇs\¾žÌaZfÆuð¬Ì*ÓGÞÙÖÊ7hÂ«óÌ½	:©g�fÏB.~‘‘5a¡‡ÎvÔBV§�Vá‘:ÏÛRu$;ËöG£´°£ÌX…ûßjˆß’0ecü©
-­Ë
P�€ZýìÛ‰êÇŽRÖ3ªSÝ¤Òã.MÇ9ãÎNšû*Ø„¾3Þ¨9t¸q›»ÇN0,«…‰9#-d:Ý1Xgßl3vÌ‘;?yT«6DÃ*Ñ5s1ý”´Þ½ÍV¿’ûÓ&÷bú¯3,|soïF˜$}ÿÜk
-ÔÂÉ‡‹ðµÐm@™¿|%ú5[/+í™¶“·lu†Là5ë]
lX6�%qL²AÔb�´sU/ŒÐX´<ã,W�F>‘óºR%sŠ—öò?¨s(åˆuîy/—Ìjõ&¹Aû&RF•ÿ�£óJSU‰¢ðÎ Ì‰  P”PEÎ fÅœ�ÿ¥ïC¿õ'Xìµ×¿¤‚Êâ
-¡”¦sÝ0ù´l¤›Úxõ+<�ëlÂG¿×Ëï›¶e³“ØÏápIí?µÔ�¢ßÕ®_y¿™ÇJ©6¶çÄßÛ·ôÄ0ÊA
;,ÖÕ×Éhé\ò
­»ŸßÔ¾ÂROZvö‰ÅÇ§_êžž°˜Û©çdqª¿Uý©m.f.1tâüÕkÖµnž'òñYfª”äáyq9 ÖØ9¼pŸb¿hÑ‘ƒçqa8Â Öô¥y†mq»f&L>µNñ¶Þ¬æ-½ROYíÕmÊ�ASÍ/U&rÛÑ§ölR”@'dŠmg¤4§uI’ÎÛUNž­ö½Ë:rûñöd›ª?Æ”ßôe}Þ•åU\nSí ù“¯N ŸûÏý>ûYr+Í¤ùŽñ6åAðtÛhI¿<Ûv›oþòÅ�ù·’¦3=HÃ‘C*—±ÏËÂs'¦ãÎTIzWYvïy€Å—t¯(œCHD}òJwhÑ¨ß“ÀSpãü0 U¦ówb6.h}Õ`·S¹Q¯v%>ë–…m}$b©}Dž¯Ì:# ›6½™Tü5÷)÷”ÊóZiµÓ°‘Ñùv‰¥ÎAÞÌDûrTC
-ñNATwÛ¦šâ›¿ùxƒIÿ®¡_ÁÈ•û�3÷ÇcÀ~avQÅ`>|ìM>oŸ'Ã¶øÕ�Aøl(óV.|¤®ûÍ¸-âŠ^ëÌ%Ø:÷è¸˜I­/}÷ÙPé8;…)‘!ß°Zt®Šy5‚²Yzu_.#ƒs'�‰‰ÏG?¶)=Øe·Ÿ“z»S:;ê‰q*¼1)Ê.}u3‰5ÿåäÂ‡
-1=I<Èš[±‹Í’½‡·G¡QX­EèXXœ3†ñ`û¼?¥—benÏ“ÙH9•'nÎx¿Ž”´"KB�O‰Ö~n‹r5ì¨ÕÕ‹N]ÿˆÃS¼Y\I`D––ÇÄ�ªC~E;A*"ë_iÆ¼h§w|(MO—IŸú8/¾~¤”²‹6fíWˆZ,]Ä(]Ü­É–²¤áz,ŽŸûgÐY$\LPTU\‹ÎÖ½âÕb¨*5•«ÂpcÏšh;Kp7–Úô²¾ÒU_¤‡ôÌì¢ÞØí„|¡)-º¸¨ï÷åa°`EXNÍÓReb®¶œŠç�Ôž^h�õnÎ£(‘iKê—üMÝb�½)ÄþŽ9/ôo·ïyþºsÁÅÜUÏÇòîUD±»#?XÓÊòNÐ_ÑcxÓe!º~¤™øéböð[¸îê$‹SoífÎw{s
¤ý'þ]f\SÏªÊ¯^ï_i9Rî˜Ô1ñ«r²ñº]S^©4ï _%¼¢Ùvò¾ÉXË!ýÛûãßì*›�§¦L—z	#0z(¿í³²ù–®»Õ®×PNÏÔUt±ªþ{ÜWÂýþ“ùË{Ì2Z§8Å=žz
-ó’;Eö¯ŠuTq¥ùl»¼ˆÚ
-0Ç5…P¯ú¹Jnžê§ë6•þöu<ÿV›£¥4“×Þªj3h¤‡­R’ß,G—®™*‹«.ªÔ"¼Ñ»Žd¨3;Rªcz‹Õ b(÷Ï¨« a"nuqL”p§åOÜw}$G=—v
ùÖ}ŽA�µ+õ½ÿ¬å«?>²>!Šð£lIùqœìþ•È�öRÁsÍ.åçî�Ï:µµ¥)§iŸ�‡e•žÎDNÊ
-m¢ÁC1¦®?“c‰Ö¦ƒïx¯Ýï…»¼êt=ùUàÚ5ywBGX)¼g1årég}lQXÁ�¬Ue7*¯�l=_Ï9›´-°–Õ»i(·œ>6Ùˆeã6ü°ÈkòÖ9õ3•3æº“–ÏÓY8·äð}í¤�mí¦éa#ƒëUš×N¥M¦Ê÷zÓ•Ç=Ò4¸Í;L…òå±ƒÊÂºì¼ÌíÊŽee\Øôšòr¬ÓóÃ[6¤í
-«£§3ôT›’•4´ÖcÄqõ\žÈƒëxî¦óXô�—K,wRöo§™î3×qVN#ÌšÏi:Z}´†¿¶kYPk:)žÉ’æå]¯vZ¾n•å‚ä�ìÃ.çxPm0ñ'¯¡rSºôù¤Y†Ã<”›hï!tû&çÌ?åE6b�ž·í¾^Ì,U÷‰Ì‚ˆÃÐÑª½™ÉÈ|ûõZ¥/�[ÙØ¼!cÌ¸(yWæã´äÚ°•——éThf2–"ZÍ*1éÎöQ&öú‹dýÕß/Š±mË ‡éõ«íã\“[çã(šyiõkYg¹Ôù\õf}�÷ñ+�£&˜ÜÙ¢à«9É•«RqÑÝõæ9ËwÝ{öÙœˆáöÔQ×?0WÕ"‚ÿ+­íªÄàAUàª¥½zÓA¤Ú®ü‚dç°WÌŽð�üËh’8ŒÎ1AÈMm¸}™‘ÔÊÁûÂ(çMítp­ÝT™Ó&o‰‹¢ôóå¿Ó½ÐT8ëÇm\RèÛ¡ßØ
-ìå8T˜f0½þüÖÝÓº¥Œ�TîÀóQ'JßŠPV#/pi5NZ™6ê(«åóÖ-}&"d×—ðÁ}-¯¸¿ÕOà±¨Ìuµ»£^¹³Z?
-”ÛÄçÚŠ@m×UcñÚí§Þ�7jX¡‘°ÝŒ¨.ùÑÞ¿rxÌ×Þm£¡~Û$SM'óSæ5^¦”{3Ì:Lwâ·HaSqL{‡š·O
ô‚#
©Ó^Í¡ÕèNŸ \}t§Þ»ê†&_Ðž”Lé÷ù.tô³9(×’¸f¶÷ÞGMíòEq¶×�Øæ”âêßjàÞõNïXÀÅîúCÅ`Kûƒ�v–šŒ¾Ð¥î
ÑÂœ÷’›ríœˆI�Ç7úE{~7×^wke»¬•n�¦2üÕ¯¨{ÒO­¯Qðº¬ûn‡§kß‚Ëð$9·»ëÚÏY2}Ey¥@íùŸÅçG9Å%ÝÃ·»+£rØ
-
-käR"ßYÙÏŸ’?.È­^<Ž§`Èëe0íÍ€%îÈÛù¿S¤¤ÑXs§
ŸQ|”¨Ž½ñ÷gÙq­¨ðœ4ìœÌo¬¯ý†Rû…M4Òý<¥÷Hëíw¢Kº8W–bà))YÆXè†w¸PP‰»Ú*v£Ì|_ÏäSø^$k8È
”(,Ý)/´Ç€Èi5îmbä×]—þA 	ÕŸF�§žŒršT-x©–GaW5eö8Xcb="]Þ®´•æDjw‚±ùúW2'ÎÓ—ËÐE“Ó!¯NPU	ùùe÷Í¯—�ÐÅA½låÚÈ.aHk¬XTfÆ,�ñà¡U7J[‚ýáæFJÎXYcò·~&éb[úù{r¼¥2NÞ–åËP¬;+J§¾j1`�çKÖèô²FZ¡Â4ö%|ÝÕa%‡�ý¸¶”V�jAU O�¸›ìäþ¨:k­{B+ÃSC¾y£½>óÒ4ÁÊÛH~‚j–ø4.1Ö´J£òCh
U 7qA!¥HÂÆÎJ^ÈoMÁ6C	¼†‡�^®+¥GÖ1ÐrÝÆúv™•a¡/Íd/7¿ÿ£yˆëF
ëôE&ÌT¹®­+ð´"üï¹Y€|ÛÉ3“Î ^ÞR¤0-ê'´qåà=›Ú!aóÆæ¼Ð®sÄWOu�˜šßBÕGº«E<¹Šò;VQô`Z¼dI|âÍyÈb¸œÂ´¾X-Ãø^òVîÉY^��…‡Uc9Mk(ÃšÇ_¦k#è‡œJ¡í¸üÌ�>814”cnÍÏ.:¥ÕÞ?öÝVµ“oî³É4“ì» Qä«!À÷IS“à�1‡SíZªŠIÐ˜‹ß†ùò›e8¿qíw¤zý=
-àÐ×àçI[Í–CÀ�Bë´'DøX>¶ŠÍËçgyÌT9#+˜z^LUW[Ú#·zÚ¯á[üôAk’$Öi› ¡±_î�žq#I
-ÐÇ�½ÙwLÍÔ«¦r¾˜Jò«:n¢õ:1öë,JöUí—û‰ïÇ#]÷Ý9Ï¡ä
ñiJôö#¯`tßƒà0’Œy½÷5÷\m­o¯±V-TH…e¼É)‘ù”S5#cgË?´Ð6ÜŒ–±bbã¯'eøo»gqÈA,üÛ\ÿøL,D´‘ßéþ�æJˆ½Îh·’zj~?j­N|�²²Kæ{«(Ç;:c6’L¦	ìŸíåtN%O’G°*ÔaÀ¦«%k‹:ªrO�´åâ£^£Û¨Òì%þBt?ÇM3f jï_§•W�Ô:\¡£
¥’kQ~OÀÉÀ+Ï;î‘TRÐ4žÍ7_¢i5¤šÍùá_	àgW_ÃžÕYz»ð²vËbS
-6Æœ"y}+:Eq™>ï:ÛÂ4zJ‚Ä<ç3
u6Â`zø1Ò=¾UáO;ÖZ½_t�µ¦[—QÚZt-!”­j-£qm{®32/ŠìÍ®s}Sú¶•þÐœd`´,jZiÒå:R‘ÍÊKåB²J·šFI©wCvüÇ±+V¸·90�ñ¥œ¶·3x/ö†�>~ªv®Ùs1¢=�,ˆþŒe»z^]ý6§þÍP±*ô<èÝ—�¶#Yåš[@ÓÒA2ÄÆumÍPÃv¨¥
t«Þa¬÷ú¼!Ûá7R¾ÕÔñ{ü¯Ä®)p†ò†¦Ôñ8S�pÁÞqðË+æf*hicÖÍdå'gÄ½3®/Úˆ§¡ÏyUŸøÛ†¦$\:ùº6(FŠ:YGfß�ªM•Ðƒ¬�A¦uÁ[å"ïA¤�§€B+×ùÔéŠöiº�,áŠVÈž?V
í-ŽXé!C“–zÈ;¶k©†žoç\¸E*~Èž*ß�¶©‹¬vfÖ“Á·áªÆÅ+ž|”™ŽÜÁ°ƒê²÷Z«³÷#g·l«ÑÖ¦1¹p¦i’Ð÷UÔ¤úýÞÁŽtÊ1°l•üæ÷=¨ýu-#SOc»v©÷ûkoT+Bö]Ì9ìyì©´eÖâ¥Î¬íËk«ofÆ¦(
­lß4xÅÕóµ«&_LCÒþIƒ¤lc³YN½‰¼®„?ö7Ò�=	·P©ûEÖþ›_¶4bÂBùä`3Š‚/ü«ö>‰³1Û[§�~hÞîžª1�Z®ìµÝ;ê3ùÅÅœþéLi³Ë8‹(êg˜kÃh!n\äã÷×U'·=’ê³ê¿’}oy	F�#Õ'ªCLI´ÇÏ¹ü^=µÁÜFì}÷�ë‹hñúé-õ^ƒÔ«›�N…§¾ò7züüÜ]?Wp·/|z	¼¼ìâ¨Éƒ'ü¥fšZ¢ŽqVYÑG}%:¿·¹Ùáe•í ?®˜p¡<³ª+öÍ}Q ¤\´A¤B©Ù2°ßÐiG<k'»© ¹D1¤Šª%Ó½§¢âAÊÓ‚¢äÉôoÝ+gÏ|wM(y¦ëÐâCÀB6ï6e#»]c5!“œ÷råµÊ�uü¶z¦Ôø[ërJ274–Íás¤*´Þ^A’o°á[a› +µÀ.}%#^³Œ´u
šƒi{/2ñË�x�é+©Ú•{4
ªÞ¾¨µÏGÐ>ä>šòì¾‰ì©–c{û/åøqmûP‡eç)àšziÞ¼ÅÛ3ˆ*˜¬¶À12wÞýWË‡ÖÚsì©íýA¡G6æ¼ïJeÐò¦IûÈH‚pWu%…•ßógD
*°üó+§¿Ÿ@·×1oÜËgt¶z¿ îèJç—‰	Ê—¦
-íÎ9£¾»þ¦Ûn\O!ô~3(ƒ5B¿ï;`õŽ•¬sÆÁL0³˜…þ6íMq	r}Ð6%·¨ÿîÇÿ±Õž>þ•Fx¨N÷ùs/ê7a
µà3V“�GóC'7@;c¿`H~]W´
×
-�³ÞéŸmºÚÞª1:#˜ÜÕ+éMod‘é,DOïùœê?q¯-*Q¬å„|	âç*‚pÑ`éù¾oÇw'«diÔ®{‹,$›cî]P¦µóÒá¸LÁ0øñ~¬:nòZç£oºQ| õc=œÂ]ñ4ñrÉP]ÿZô›ùÞ›Å#ú‡õ­Ž.Ÿ5w:¾Mœ3ß7$7íLÃó¹äœ
-¬¬ÝÇ7yx+ò�…b¥¢:Ý±ùv÷[,éðŒÀ+oˆè\ûp[Ã$›2ï+Ý$µ]&�k©òq�ßüßo²Ô�¥.óUÖ­g•|žlöZµÒQº“•u7ƒÁ1…vJ	Íz1ij
-¿¾€r­Óñ«SØ\ÒòÛÂä×C«�®dl¼CÙuÙÉ´½l'þËÍç´µ=ßí\}èô­¡vÅ9ù¯ÔFæWÂp–±¶?ED`ÿÛÏúá—ñ[v{j™7w!"‹YàlŽOZ^l®Gqî‘ßÌ¸Ä*÷Þ=i˜ûªFä÷°nÃ;÷¥wí"hË0OâÊ™ùÊá�ÔþÞ%�Ò½gÞJ®Ü^œk®oç^êaã:2g,ß¶x{o§ÅªZ‘õyJ™"–¶†£É²(ï¯ð)·pBÎQâï´óñQõNo´‰„£À[=]£mó4\ÁL•ÓÝÐthjÉu›·ÁjÅI`21:o£Ó9•Z9å1]´Ñn"ãâe˜S.XéÕ9r·ß€U�a¸èùðU›K¨¤Æ»vŽßßÿ•õœ¡—ý»YÒ�›ÁO½Ò°1Z—tÄÞ•H}ýéÏm¦j/»¹ÆVmvAÛÝ=¬ ¯MÔ¬uu0%ûŒ÷^’ÎR’æº‡‚y".w®ì05Ù¼3½è�§©uŠõà>-&Z¡3á³r%ŸZÔ�øÔ“ÜFíÑ´ÆƒeV†ÅAÝ8ÌÌü7¾[q=ùké#u�¥Aiƒ '×5Î’R-C��v1Ó~öÇðußMúQ7Òî}6>>¢ìm›çm—>®¥|½�7ßûÚÇ´°g‘
ÕèZ]^Ìa¿Ã=Ô‡fiB]…Ÿ.Óü`¥8ü¿³¬#�¿¬wç‰µLì&ø}guðK<'×‰ÕçHËªöš†²ZÜ£­ž3ZO4KûqdoËhÚ$ôB­õ,…TÆ8{ sw{¹¾ô‡‡WýnÆ™ö3’ë‰ò%\fMµL.slç5‹­ãþ2Ó§lÊtÐ¦àƒP¨ªp¢‡ø)õX¯ü€©åëö
ÏUãñå7tTÂ��°ìÌ¿êV¿öÁ&
dLý+¹Æ(FŸ,5…ëµ¼üGÑxvG“ê0ºÿ›¾ Œ~rH#÷!á©{âÝèÀYú¤½¬ÆßGDÚý{Ë‹UløÕßÌl7çæèi¸·WjmôNÙÌ’8ýÒ8Â<%ôLen¥Î=NSåmL °	NJf÷~x…Sª<Ò8¡Ühû&Ç‚.ˆ?»¸´‰pýì{d®-ùï“kì
-ºFØ#Ì’G�e7£°¿
bk
-‘“2ô*–GÚ¶õÉ-÷‹z‘Ç¶gÆé„Ë#bZrZ³Ék¤ŠþCvG×‰¹)…9Z2Ä›ü4Šo}\<°è1×•áq`«Q,+_øeªä¶õ¡¿xm4eEÔ*°ëâ×+?îO±òìƒ�µfƒ[ä
-å‚·ƒÙm)wu¯œÂqÖÌyýÞñÞ^y’œ¤¡–ù¸£E-ôˆ§˜ûWšÕä¹
-ÝWýk¯…5jæ*'Ø,!“oÕt¯ŠÅ`à
=æ±øÚo‚qKàfíÖÌW£;Ôãü÷™K¯$Ÿ_ÄKKÔ¿]Â|ãoÕW�ùï5Ë/üµBõ+Ò3Q‹Å
-i:ùŒÏ‚h©]¨ËñmÈvÞfŽ$µßHTß½4MôR:¸×ÅÞ›º�íCO•¤a}É¤íÁTóOÓ,5V]ëÙUT¥qÓµØYxØ¢±ª@ž¸Ë�7cÊœbõ’ýŒÞ¯ì*ˆ<NÔœÕ~{ž£¼›GÖwGÃî´b«ºO.½4[z¹\Öõe/èCç‹«ê§øV'm2úWjø…«±#L3cH�C7¯—nð«#ÓÖûY�5ÙxÇ83ðs­˜¹˜Û´éS�zÖ+A’hÂf¡bËôh¨mÄ`¥Þú÷~~ ¶™Ñ…wóÅPº¬Øž»j´0§{€}¾v.¿l6jÊYã{Æ8Ü™%oªèŠRxí&ûÐ›Ìàî²l¬4¬Í’”EˆïK‚F‚Óµ¼w•yž–»Wð7çê°‘­Ï$þ2ÍNz³y»P1Ìâ;G-¿jÑð6�¡FÔd[V‡õuPpÒž\æ�Íq%ÁÂÛ¬ƒHš®±]ˆÖ¢‘ƒäÙ)·N„—{‰®¾¥L/=¦r|Y—]×û·³B i¬/¡ßßøÒ8<y
-ž7caNR…&ˆåF(òÄPö;y¿£‹x	½™×¸Ò·¡Ôž§’2(Òv¿0g©\¨ø2ºòÿæZ…	ÑË1¢åKÍ®«†8êÃþk'Sè¤õêÊTôèÆPæÚwÚïíß./"
Ù¾-G|³~×¥Œ|–»;3Øh Å7¬B~—”öiBý~…æ¿’âo+�,Õdá¿ýR€Ô'PZŒ<q+‡�òó‰�ëó¥þ��ÚyåïQëX­ûíK„‘Êm‚]Œxè³.åá½€Ê–é‡–¯ˆÊÞÓA¸‰è¿’Hdê‡‡nuàd“c32«ÃáT_:ù4ßìNÑª|óiÒý‹Õb4b‹dA²ri”Žã
-è$u.Æzƒƒ²^Kí}VÖAéÊ:tgZ¥¥®³žL¾.ÅÁ+^Ôþ†[X³]çÕ^O‡Ô_ýŸÍyýòÔœG»¾�úR›L2?›hj;œŠ¨?ÛÄ5p'=qHçÙqöOÚ©×ì€bøn»¼dª¼âÜ¸J.Ùê“ØîÇ˜¤!³ñªAÕÄ;8bø)Ë4^_áïÉÈ²^~Ë_¿dn|+öÆg~þ97áöÌ‘)£Ã{1±êé‹kûÎ–×*åËSÕþ?ã¥„æC8W-håœ¢úÁ ëTX›Cm3›ÎÔ�=6â–‡Ÿr[kÔ*¦2�l¶›¿t‹{ëªÇ/¯š…þ~½Õ™õõÞŸ0êáóü5øÝ±{Ûeá_)ŠjG~¦C9F®¯
âXÑ}ûôä
-ŽÏèô`úŒYs^ZöÍãöœ¶U¹°ÐÕ[ÕË¯¡‰U
ZRš.Ã¾VETøÆ3å¼÷¯àçkåY>ŸÏ:¿g›�…ûîåK£-3xÛ¿ï[±ëÛhÙ9Yû½)©Ó`s»[‹T|_{¼Ž¨jíýCCY¯ëÐ+‡"Å‚¬g�#´F@ó9æ�‰P²OV1GÌ}3ß�;ÍB’¨™>°Ñ¶�v/Æ<%íümÖ°z‡MÕOmP€õcò†%
Ä©LNç¯Pü
-;çæŠ#*‡p_þ0sq×–¸ýýíÑH-¥/Ra+ç0�Ëè"7÷Ìfw[±ä±_úöBFu€\M…ëãúBìSšÔÙÆY2T!ºUÞ_•Ó¹lÂ÷]q�ïæa-N•ÌÊm8#•\0Q°@¼š�å‚G[ô•ÎT	ÊI}
µ7˜Ÿg8s’5g[“�ç¿@/57øŽ:€�í¯­|G‹«»b~cz=ì•×¶Ÿ³Ôj›jvÃ×WùÜóo½/]ézÔ»„ · †É9Úª™*ŸÍHR‹ò£±j}Î�ïÒ
Â|¡à7Ï´_î{7X�.-ûNz)üºXZ¤oÄ>E;aåìU¸±`<>z:yBA|¶ˆ­@zÃ™Æ)‚ñ¯@�è2ƒø#ªF}®»=ê´ÿø^à‘_6­ZÛóš=¢Ó‚	wÚUÚÎêGg€Q8/e[Eïz) c/Â7—’œ]ÆzA_^Ò
-‹½¿}<3†¡JË†
r
-E²Ÿ{_%>C×è!j‚rðö†ûã³!!; z½m­ë÷GÇÚ±U�¼è]bòBX¡ób*‚²Öo×ÊÉ¹Ïý€V­*¥éËRl.Vä_©Ù¿�.*™€µ@îÞ(<ª,ìN•¤ÕÕ›"óè©öFzÝÂà;¬qÃûíeÞU•óxd0í%5M1{­ÙØâ¡’ƒ¤¸ÒÔ9_Óß•Â•Zï>–söoÕ³€}•ÕÚ$¼‰´Åâ®Ÿþ&þ'Ç8L¹ÖöOj��—X®,g4&éÉZïÍèoïá"4‡-¼©5�5ÐˆÁ¸ÚÀ×÷×n­ù§Òº‰ùq¾Ÿ©ò³êáääÝ¸Ò'¼:Êá8ój›ò«§É‡žÕX_ëJk²³¯ôõü³×ãQù‚ªštVÁø½‡Y›ŠÀ-~á3˜«qù9£&ã¾—÷+
më{ÓÎßŒ»@´7N¿«æ.1MzpîQ¦s“U³[f“)&¤öAoõ7Ï¬¢6jÐo8ÜZøæ´lX©Pü­ç¶=ŽFË-1É{u¸è–_!&Ýú)ûçûiL…œ×‘µÞÇµúp·CfùÉLAÑ�©™Ñe&ÉÎÏ‘÷÷ÜeI�¾Î»­ûBŽ×ú+äñwÐ(¡|Ðrc?¢ÕZûW>W”F�Jí»¿¬â­�i_‘n3Î@†{³ÞV�²Ž“Õ¶¨SÂ}z�ÁÄ·›IN.ÜF»øÕSãvkQ³›�62Èq uµAñMÈ¿ú01s}¾ˆÁ(RÔ^+=^Y%KÝÓ!UgžSY˜ŸE‘µ„+g}‹NH
¯ÁNÕÌû�ô»on…"¸…+×”w§¼hìÉê¦‡ËàUŸ‹èË”½"³¾.,V,«%“ ë–óé£¹áØø«îÍÂ2X5±Uç[4²(xoºx±‰b³w…³†¹3ÓÁ‰zK&õ�êåÔ‹„ì¶¤ñ`ÌÖ¢Þ]+|�êHº7ù
#®´(õ_9ù/Y¨Vðüé:n?;fS5Êz·+>8,–ÐË§w�v£zÔÜÄ`ªÞòØžp‚	õž¹n¡É¼ðý-˜¯Uí×¾bbÑ¹´Æ5í‰/¾ŽÓx–ÿ•ˆr-ªQ†$Æu›=øƒ¸úA€LP•°jñ>¯|�fÌÕ“õÓ/ñH]õ­Þ§±¿®lõ÷˜52l)¾y´‰‡íë©CêþŒYÖ°4Çù�ÿTÁd•¬�äÛ¯~š�JÛî¨¥*æZÂ¸H+NänaOçæÐ…=Ëj¦Àæ¬³M¥«£RÝ¡’g—¨àÍŸ–Öê–aTÎ&ò,WKjéX8À{�Š‹ãÿ•üAŸOqç¾¹÷!_v.¥Á8ô÷ÞªÙzÞ2tá>œ”mŸ—¯1	mÖêøÊ—ªÛTëy‰«Yu¹^ÿÖ¯8}5òKêœ¨B/Hþ$ÍhL˜ß:ÿJLtºsNŒN�öÛÎ‚OaÓ„ýùåzD­onõ
‚}�^±ÐÜ/X¨²µœÃdJêWâJû3V
‰8ŸË[Ûé‰tã¹’ ›oÙà¤œÅ#wme•¼ú-±¢L	(	'#�°Ô·k? W~XMn£~ÉBv.Ï§(&gv/„�'Ÿý¼#Þºk6¬ë\C>î¥œÔ]túð„éKùs¿Rh—qNž/þöì*å²\^Îýv«"ü”Fþð�gu09§½V¤–”†*ÒÓEkáO’)¤#.ò·’%Ê3ðXæŠv{Ë³~®ëÍ[8’{ZÜûeGìƒ:ÃÜåò<2CKSñËæmf*1¿«Kç½®ôÄDÄr\äˆ
¢qý&*ú}ï¾¯ÏPy2�Ðã¸Íž_œõ7õ”‚cÈ+ÝÙ¯—¶dxîÉèéÝÁQ–^íRL`qs7gußú34ÕkAÓïº4£Þ:Cœ_ý¡�x�Jd3Oe‰î÷R+—ÑOZþŒV=¿`šÈuV·m¾úx¹¥_¿9‹�£îÒúßÛ·Û;VDb~P@ÿ	Æ».Ëâ–=mXvz¬Öón¦dœtµV„ˆt¾,GÝNÚ!…ö3‚¹zsËYÅž²ê¥³u/	�UJ¼íÇ¸w™=}üWš‚blŠqÞŸåþ Ç<€£}ÛÝ¬&åCÎÎÔRoº©ÍK›éX‘ÿÍy3–¶*Åóöš2³;ÁvÙŸ�)h"¬­“Ñ§ÎÏL!æÿÎÚ­™—+iŒ×%Mð�¬082
Ù4Cõ\µ0ýþ˜O¼ª3~lÝzèÞÁ(loÿÇª-±6,/ue…ÎÌ ZbLo’^}¬‘FªBGêç¢9†ßM!c~„8×¦¾ÎJëžº«¶ÕYß‹®!á¼¬ô,¹|oJn3™ú?j×{Ÿòbä³Ÿ®}€âP¼XJHJ=vª;7š•Ôa_>¼NÉpÏ0f~z^ãóÇfŽ­¢Éù>ã†ç—.5$d^ÐììIÕ—"‚¡?WCè¨Ð}—Â¯%±ž„üðÖzÞtÕ¯�ÛJ7.±‚™ÃuùÃ"†wàÈ’ØqÞï%ù5<k –Nñ»Ê‚ÞGb%¶-L,),œ§JiR`IáËrÇX�”:ÑõRQŸ1òÀªù²ÁÃyáRoËÂ»”Q-±•�Ù­ÿ“-\d¯�…Ý¾þ·oýnaXòz«½²Ñ*ËŸÏ¸-_"Þþ›/Â*uÑäÚâñZ£Õk;ÈøýÛujµ‘3®Ë]#¼)´ÌÛ€nyyÊ5#÷Û�šÍ}e×:.þ•H´iŒ•-ú©È›‡>tÛç»Þé£²”ÞÊµè‘Ë¢Ywé!}1]Sß7uJS}¹ö¡á Gnéì«}ó³n0»@pCÀUÖ‚A	õDOH–ø$åÛm¬Š`m˜³5ÿ�|—�U�[¹QJÃ®É ãÚ2÷]È¹‰c�êxª
-åŸåŽÓ$‰'í+�°EVùÛ|�V«¬[5º˜Ä"ž>æTîoçöDe—ê¤ÚœŠ(³{î™RÂPÌ¾.G]K_{é×8„Ýá\´Õ­�üdzÈXhÄLŸ ëŸ@ªaÊ|Y+Ž+ÞêH·¤Ž±Aìm+Îð/Ò¬ù·K€”Fí�Uº)i`]&Þ%¼¾ÅOvßá�Ø‹gU�Ê²L¡Ýµ“í º‘ìLÊÛk»ã¿„GOjq›@Ë€´àÖ¿ìYšú·Ó$¿»Ï­QfÖÙU–ÛÇ¢[1§]g+S¹@†èàŒWA–u¾Ëç¢Ó“KóÊqlI¹Ûkl£³.,v��Ô²¾M‰ZÖ›®XdÊ’$¬6Ì(ÿ:Z�†¯e£� D¼Éýí£¸†m¹ÄÖü­Øð¦+¸ùˆç)š£‹2ž{’#þ<ŒU¹/Ù
KZÁ—È§v[a¸ùKð;—‡™4ßÔ¥ãTÆÐµ‚jÇýôÅ5ªf=9±6½æñÝ@<>É�e$},©3õ»T€åTÜ^G�`½ÉÍ¥^é1•ê;ô:W’ìªû#\:ÊØgöÒÃÊ}vÈ³êO¯£µ~¥ó0¥„1‹¤bÿo5ž^µþë®‰üñ´-w¸Ÿ�ùçVBë¥òf>b7W†Ò…ï2ÊâP[ ˜eeKU¾`'Ô±E#Ä|é™×tÀòvÁîjIn´+Pä˜4®ÿ­æ�'Ÿî[ÙÝðÓokò?Šg/¶Äè]=È/XM”éÒjonÝOæëþ4ÃÚ- ÷<à¶–«œCü®òË\ÔÍ˜P¼C.7ÖŸ¹òÚeƒÆñ¯ÔÉy-KnDa7�âuTŒ|qŠÎŒHJ½ Uô	©$CG¶Fì´®v7ƒ¦¢Ìr¦Uª=èÝ6²Â¼B~¸ÿõ|˜/›ŒBß�yí;=Ú3‡‘°ô\¯ù¸nöïFqb‚ñÛ·ÃIÿñ±®°!R€v�¦µ]Ôè(­hUæßGIS*–$¡;=æ÷‚Î°7WJpúC[×¹¦•\¬è×ñgžÇ+X¦JÜî”þðžš¢RýšSdm(µßÎ¾ÝÊT?U7´’£žŸ!÷N,­wú|åw«²!
-5ãç«QK>Ê½Ú¤�ÈKG;\é¶.¦ÇàÏ�cïµR84ôìéŸ¦kÍ¶ÖL¾Uê/~Ö>?�	
-òi=—;S/k#†ûÈ»ÚÂ@;kC†í�h(ƒV¯£Ã¨Šš(ù©56’Z)‹¾º]’Ó�‹Ì&Mì|#ÿ·óäªÚÃüyù4¤�JÊÉ~Ýi=ŒËV½·è¢ìÔ~ùØÁü|8ë6”2ïñ®¹hC¶žònVYrºjx¸	9èDîWPE»‘ìxÙ�ûGúPï^ÿ•Œ<ÆÆ™|tXàÊðRçTK\1šâ‘°ì«'§¾·6Ê£Õ4Ü;Avv6½�k¯“r¨¬ÎÃü I¥¢åm¦¾~�q+ÝÌqí·ÇòŒ¼Mþ•–½Ýüº>UåŽü&77×-÷’» é²'u'Ê’>á©é.dévÜrþ­¥ºI Qò¬íé ÿˆÍ¿å$²ðêûèhßª©LwÜÐôé9sáËÃ›•q7Ì|ß;iŒ±ád–Jë¼
qe&Õ*¤èåø5¤¥Û~ð¬žŸy•)¡¥¾vuAË
P›T‚%xá¬4yÁ¯ëè
-ÊŽ–æ»K>®Å#ÀÔ½ÿwºùÂ`OÊ#Ü4vòèXk€åøŒÒÚ ™Ëñ*sþÖsÓC"À·•ÒiI©óÉb¾àçŠ•ßít¯§Í¹«HÀáEä¦‹ËVR÷6
-¶…1øWˆ«¢ ø+Ö]û´x´3PôÅ¯ª¬çØp!,¿Sõ°ÅkjžžÑŽLi¦Š‚9dgÜF™8üª¯fìïrÌ�z¢óÍr0×Û�¦B&óo{ýÌTy™„Od™^Ê³qLT¤Ò�‚Ïßê�#µ‡b>Òô¼T“µÝVY‚;èNkGk®¦x0ãÎg=(í!OYdU^ö�muêÖœ£VQ‘Ò�˜Ì*
-š©qàº¹ÎÇ6ÂŠ`jo­	¾¹Á@ŽÊ7Î(áSHRŸbÓ:i¾ß¨€)©_=/¨Ä™%óvï £ëïü÷Œt
-*®);K£p…è nÿý¦Ù�µÀ¸"0}ÿ'@®66Ž@)�:'`ýy�žjïW4U"}?náYØÍ`™ë)øšÊÍÍY0xj;‚ìh6·v£õÚ}4Q$¸ãÈÅG�·ÕÆ)Kâ€à¾/–_³-³Ùzm”íäz£¶½fSÛ'<¯0~‰\‡µ”2û…$Y¿ùŽB+®eùEÃ*ª±-o½ì¹oïŸ“oV˜ö� 7ÊE�ë}Î¿·ÿ•Ì¢1¿)¢8¬´*'¡¨5GúO~»ÝU| ½ÄIº>luüÈj é2âÛ}@-/K
-S¹ø•‹•Ÿ8;Ž¾ÉF¶WšûQÌ½X¡¬Úfbár­ ý+÷¯„<;ñ~SÊ3½HuÊ‹±[¦Áf‰ÞÕ"®Œ¢p¶¼çŸ'V/¶K•9·éõë‰°žs¥¢ô:e¶•Ñ‹^zþ,ù@5Ôyù|c§3ãö÷f¤íï)Ë1bm6¨˜/=ÙÎ¤ûs>«ç]QýQ�%éÜ]¼ÅCþü½H	¼)Å»	Ë¿�„ �É¶LÛl8‚—~G©#Q½ç»j¿£ü��lý–FbÒt²�óTú
Û¤J�<¼_A)Læœ{·Û4®¢'ï�2XëG¯ë9T‚•š×µÁïnú‡™¥èâÐÒf–ªIXÉÇÉY+ª¬"Y²E’k+rþ»�æmt¥°ß¼®H²ýóek‡Ð§� €åÈÔíÆÓ½BõŸÚ8ÕâÃq5ÛA^Â�šXîtÒªÝkàms<Øf/YI 2Avð><óM¥tÝ�Z\–Aíi‘Qq–úŠC�ž§û‰‘n¼‰¶ù¨Sõc
-kªb^=	bN­”\aD¦ŸƒšÏ×Æ°Ý~ŒÛ¯•Y„h©ZÈ4»ó¶7’²«ô³µ>Æ¶„›{”ª¦î`¤6üž³dVOzL•E8v]×®TÝƒ 9°zœâ•TûÝ@`&vS¨ÜZ�áÄ·²¹”ÍÏ·Îb?i‹G”1ŒQªŒ'Ö]T5ÄavÅKc%ÓÜ.ö�ÙåuDÏ„Ñ¯µeµ×„é¨‹Ê�5÷ˆØÔyXü¡Oª�CõÔÈ«NK«VD cÀÚgËÏh\­Á47œ³a.&wR/÷*“ÏW×·¦&a^hŽV¥
-4›*°˜k³«e„óñœÔ´dúÐG«âÕ¯)½­*Âby6,6^Žü9jP¿|¦þ;ÏÙ<ÿVU°0ÊÛ¶1â�¨OÇÊE-Ò<v2±÷Ö¸^øœ¶	/�hž§1õö¸pŠöÿ.ìÊÌ¶0áÃ°À8îƒ®Á¢AñÝíl22¥AGÄ½|úWjvó§¹6Z—ëÊàÁ×ý
6È/\°ôµI«�k{m"ÄT½{Rû¸ÃM/Å'á/­†ùŽueÊë›ë qµö´m�;yÃ�ýÑBYTÈ	bD»“ZtñL•vç÷	íCý½šmkiª#SÒ"Ÿn‡F\ùcù†‹plÍµ8¡öÝ¨cí¥a®œSùÖ”Æc¼&7Ý‡ÑI%ò“ë�¯ÏX–~k¯¬ydª`lÈQþ5}«ÄFš�Þw½>úÒLþáA�‘‚º—õz»ÜO2KZúMh,À»±æË
-J¬cKŸ&¢u;Å…0ïEã>ßpJe†SJ_°§º6-âÿJ|·”ï)#´úÓÚŸ£Ú	•…2®,=øI�emF‘‡þ¬‡tÉÛ‰§9L>mËœš•›†¯Ë)ÅzS­üû”³J1xŒ5NÑ�6tGá˜Ïâ,«1ÁùJäõÖ€€_r�ÄKHã¦?å™{®­ÂnàZ5
-½h«cÏ4f»µ-Ow·‡z×+_½–"=n«‰osÖKõÜÌ�¿[;Èµ=ôG�;î�^¦Ê`š«á	_î§€ ¦D	žYÚ(„:ËÍLc`­ëºÝX¾…]¹õÔ«§² 
©zoHªdN}^š7µ6ÁRr1�ÞpÓ"ÛàòûÆ¯±HAp™<>IšU2×x3v‰ÛueiÞ±¦P&mÿþYÜ°DßôS¿'©æ»=êì¶5Oë¸µ/í%Ü�Öe¸ìß{ ªo)·ÍÛeª>cûÜ�œCŒÿ~×iC½Î~oápFkeé“.ÝýÄhF®OeÒ$­ú×ð¨—sc¤:BË°[åŸ¦!¹u#!.Ÿ#µ�þî×gU›Ý�w-ªjV mÙ+sË¨Ï2¬‹®ŽÈ±ØÑ:èÏ¨†'6ÊÕ-nbô^�‡“r*ÓOÇÃ¼V”žiÆ÷Ö’eØ°üÑQÓM'ûñ\t}b¯žÎ=Ð¤¸kM÷�6ô�C–øÈÉ~Ÿåf|BkxD°ÚóÎ5gÌ$4š‡Ù öÜ¨£Äx$né¸„¾Ð„ÈqXíÊî\äÚ*©8¿³:ÙCšpàD$òN&›L/JÜª=�ñ4ÇOY(îwQÚAöf�<•Xþû“›$Î-'–'!aÝieÀ^wñþ>¬õùD&4BÚîN'U¼?O�ö¶�Å�Óq‡ÖKÒïù÷~ÿ“5»7&Æ¢•U²Ä=~–)1J‡ez¹†tŠk@_�œJ(#’™µ`h®:Æ.Û¬¦¯øè§^‹´­Ò»§”-5±¿Ð>ƒ)«JÝë¬ÊK­þ+MðÊï® ïwhŒ¤í¶ÿ¹Œ…Þ#-,.¿Äá|/+ütuV‹¼Ê6Æú@U®K;K9éxW¸ÂæÃX«VŽÎlMX�Ã:ß4>O^Ý®éèÃÊj¬Ïž›ô
-9}�� 7»+8(ØÏ,ßÚEw^s~zdÃ
-­)»Îò ÞÏòØô¦ìkm­¡ÚâOœþªrý`TS¡&Þ|­O@‚H¬d�©ò	)ŒÁ‘ohøwú{»âŒ¤SWS†ß‚Ñ÷:‹—Š÷Ùl¬äõæ
-VW5#…¥b
cæ_ímän4L^–ZãH_¸�]5ükK¶âBf•ŒöqÞ.}Â&sO!´•mZèbe«ë˜„*nÔ†ÒG÷�èÜõ÷-ZD-‡TÞ„}¡Ž*õF·�ýÌ—�Ð†<xòù³S»ÄCõªõgø©™ÙU�F?™¾ŒÅÛšýÇ`ywÔp�Ã?žmNKz@[ÚîSTÕRa8ùÛå…PåîðB÷jj«_Élãdç£ù2—ã™Û‘††YKÕ”ßÕcæ/ùyÖ'
¾×/ÊáÖØiéL]¯Ö!FS•Š
-ëÇh¬÷�Øi¿ŸÔOebR8k+™ï¶œJÆs7l?ËÑÏ7Â¬£�`csc¢)9ÛýW¢«dR7fçUÓ-»ÆNõÓUÍÌ¶pž[›%dÜŠ7RÐ´®œ¿�	¼ñN—9o¼œºÌuäâ¦X‰ÒÛÍå»·CÀÊZ.{Õ²¯yb$dðàÐ·¿•�ÏÛ§ÕHix…k¾OxïÚ…ç�Ót98»Kë[�Vz—ÑÌÃ±‘-Þæcfœ‰ZÌ|‚6ihÿ(0y‰»—øÌü>3¬rS™ñ¥¦Ú¨Ý]cÒ“²ƒ›nxömÅI‹;‘Êè8qºÜEå¾ýJúEg¹¨*Eá'¸a`‚�„J(ÝÝ bwÇû_ÎïãAgöÞk˜Ù™[7Ûýw,:p:ÖãPûë¶ùQD2ŒK2o´žª†«#·WŽ4ØLtŒáöÊ•Ÿ9˜Eçï‚ByŒÖ=÷î‘;ªâ¸ZÖ{=PHThäuk;LQ¤K¦A£…ªŽú±ž(¬l­wT/‡½(¬†§\ît•º6WÊª·\§ÔÔY´&š˜·÷û�WavÔ¸«‚†žÛ¶¥³›y3
0tÑP^ŠØnVÅ²ú–„¨4HZ¼=,�£#~²ñú|+ŽC£‹GW©,Wd¶utßê÷ì);Z£x´)ÿô²7Ì‘ô~vzëØ×ôÌõá~ÿ-phÙøÛ‡ƒøYR(m-k-oŠHÂ´‹!UoäUMÒßðð¸D]V‡oúýÈ–æ:ßlYFÒ‡ÿ€6vwwZxÃ0};
<Ä/'ä3ÇŸ”,—†u«À¸¸éB‡2B2ì7?*Ý°-óÑæ7sŒD+u�øût+o®‹"}ÒîíËÃô€ô>¼üV1©{èlÝhÐ†¼Æ
-¡&»W«f?3Î~'•úÐgoktoñæåíûÐ¢Œ°'¶õÝr-´ÙÒ½¦·»­Z¨¾¹›j<àÂBTAjàrèÌE‹ª$·†âÜvOÖ´ÇÝ!¡(·¶¯ D:§ZhÓüóé,ìÎn ë¡EìÙ2›×=Ë�» {­)ÎË«<¬ÏŸœ{Í0n"N Ï‹—ÑÃÎ×«"úÃ	�sÎ`/Í8‡^}é[GÌü…Êºkµ+m%ûìuõÖBê…`j::$
nƒy¿šÄ²×:N†£wPtÈóêCl¿ß™§C7Ô
-€¡‹¬»…ìÝvùo7`eØîÀ·/oœjñJ“+ó¥Ñ¶«{ÁÛ@IÒ{1¼pŸR5‘OR)äß‹%=«;±;¨äí#�ÁÍëÊ
ìSqp ÷bló•ãn®nF¥¥Dü |MÇIÇµ×I!óÛPz‰µF$m0Ûd„²<!Yß?Ž’Q£»|®rwÈŒŸH¥U®)BéËZy½ðÆÓc³èÙ6F‹ØÕS:î+ûø
Åv­¡þíÆÏ”[GÉƒ“þÎhv"Ï•ïózã	@ábg2S{.˜Û«-¬ô¢qs¨rNibç”ÕJ
_�A™šdoc%Ÿ„¤å¾™†7¾Æ2«Ê}®ÉçYõà“¥à9Þ›Ï—6zTÖÎöoÏfüÔÚÚµÆUÿI¶ÞÒÊ2ÐÏV¡ª]©cW£ý‰«á|!4[DÏ;L2çL7¢)«/°Â3.…ã-êVT%¬Õ66��^ˆÐSm†/ºÆ…N’Ö	Im¼½´ì)ÔeY‹awÇP5Æ*3Ýé#SxÌwÞ�|lÆ¶„å†×œšG&ÌàPñ	}‘üjæ½v+Æ™µM!ÌÂNÓÅ]»¯-‡ÐÈY5Nx4Ó¶.?«Í¶œöA�©�VÂ,”LrW%¶^ã%³V’zv©–{¾QôáË´v1´ó­Õ.ŸJ;B—‚“ã¯3ÁåP;¸ç¨U
-ûÔ{ÀT›î æ�óüÞ“{8³œþtšl:,˜£nv5vbz�LƒÜÏÏÓgËVMo…š¨ ÞÌ~°Žä¤RåÇß\Te2²PÙç&”²~œ|ÚÝ¹pÎ5±~H­ã:XÚôìMr6žŸvû°Ó†`ð¤£cÙ�·)²’¼l‡Ta‚/Ï¯¦Ù§uòk-ð&3ûñ7Hr[æW4îúxàC•ºeúTjNJO
-J„mÐUÑ.FT/Ë)ŸŒ:_-Wçî{Yûa:î-}+ÎC
-‰
-›	l~‰[²[B-Ò»ËMÁcFuEõôWÓ4÷¶íuTÚ8?êF³Í#Ìq9‹D¬ÓÎ’­ì&¦KÜÄ/fÂ“P£ê™¼Jû%²õN9&Àa{œÊ3«mØ§›”ƒÁ,ÓŠªôŽÍ�ñt>wÅÊ3é²™„Y Uvñey¨~ˆ¸F
WdçX7äY‚Ìƒº\·Ñu™´l$öþZ¯»îê¢*‡Ì­æ<·†Õ.§òÉ6žiZø±l­ åòÝØÉ¨‹'Ôr”§\™„£ØM†w*TÕVáÁ=âÝÞÃÍQ*-žF6)*
p9�mToÃG†PísJÿÓf´åURûntX«³~hÖŒªý"µòø¿ešj¤û©ù®Ñt%íµÞË©:î”ûv3¡µzá°ÌÈ:Ä-yòüjøÑÎ;k#ÌÇ£¯Á- Î[üvÒ<ŸÇúqä­‚w9WK¤ðÈúd¼´Ý½Ú»Àödk×ZÁ7×Æ©
žÄd¦)@âè?«–É÷¦×´”§UN›-=a¯,2Cy‹F•±í+‡�uz&üzãk¢öóæë?�²è+íþÝ˜�RiLÎ
¡• µ…æÀÓ~fŽó¥ÀÄOÒNC{Ó)z ÷æ¬lÉ‚Ü¦+õ=tÕÚÕœâUÊ«—¬§ÔÀí1bif�ïÅ¦¤£ØÍ(ÆâžAY¶Í÷Ñ+·åV²ž*9óì£Ç7×0ëš*aÞŽ/»²†ž^^xmTZm3xÔx{?tnÝ”Z-Œ�ÏŒ³6˜µö›ÒGû©L+Ã·ý…Pû
-ó.%æÌ¥­{b»ƒ¿Ó¬‡Ü‡glÂv5·½-ú‰LÿÆ¦¥ë«_På~<ëç¾ÒG¿YGF:m=”à’œi«ÄÄ¾»ôaG„\ç6ÿd-³0Ø“vËJ©m÷*�f›÷Á¢›^ˆÙÂÍ¹áëó¨õìÂ¹>Îó$Êí;¿9ZáÃœ’Ñ*é4uÉ&¾ˆ„_¿;ÑÃ!â¿\ J\»©%æui…õ¾j¾¿LÕÏ"aLÖ¤7Ñ »ÎI°/X˜¬nvO<=8µrô7Zt3SrÆ`+Zõ×àê;Y”’¦g$¸£¡YT%é\¦Öoº­7Ol «ÐyærÎ¦ìsãvä(¨Ù¯"–ÈÙØ?Ê½çc
ZT±ãÍá•º}àü_è©ý>’J2*²_Ì�Xi÷ÏêÙQfy¬kF†©ª–Ÿ‹Û|zÌ‚I.žlå™"¿äÎÛ�ÑÜìÏÕÊ¯…„ƒï}Ì©Cè”¸ÏÅ¶Ôq}-Q­qDZ‚K­†t
-ÔÍhá-–*\c�•™¡Åèßn'ÙÙqdìÔmâV'ÑéUÃ°£R€ê`aû>ûêúh¾û±¶]°[¯™Zm!†U»pÂgDêFpU¥Y¾ìÏ'A8Tô÷Òç“q¥}Ev—*2YÊe;8Ú.3ø*ï’^±.‚Ë‹ÓI…Å
ýÃÎ|¯îfkõGQ¢òFE36<a[s[´ÑtÚRéïWÆ½iÜ#ºOØØ2ým�_‰½›;Nþ}ÌP]!Ã£-�O�ø:ž¶?0´Ñ(Wù8'ûÆ�Ùè£ê6ŒFVLÕñéºéŽ”[meÚÊL.~ðŒ&Žát¥²óÃWµÎÒMfº'7{ÿÓôÊå–º7amEÌ’ù>Ïç,ß=¼œù:SF<5ÉÑ3™Úˆ1¡ÂwÉüb±ãŽÍ§zXxVÙö‡cðjDÛ°5t	Š–I°Œ¯ô³#ÀÿNÿ©­¬Cö”\r¿`ÈÅR+’I�hE.Ùî@T©Á-¦žV	+8%bë|g¿Î;†Èl@~­F­¨ÎõÆL+Ï
´WeÑòjâ[ùDJÕ{ýH¨RK]­òÂ á
0çÔ(š¼ªy°,Dýq‹Í¹š�Ö  )æ¶þ¢æ¾®TSJQ»ZT›ix–â�Ï¤NÈc?
-±<îy#x„>×œË,•".þæ±ø.ú­è}Öu˜±™w.X:6[Jß¨¶r¾½ÐÉ!•‰—ÅÉYßvgXàÅ–+	Øv5g
P$¡d,] ¨�ž—¹4X�™¬Ó„'¶)ÉµµcÊÇw�˜Ûµ(÷ÀF™Ì;Ê±ÖG2ØñÛ¢ƒgÓ£YéZ¶ÔÝ]KvÖÕ!yG>Qi±®.ùïL^)=ááÈc�bFh-­)úlú–ÏÅ*xlþÞÊ.tßBÒºìV®ˆ»øâ¢¸ôà‘´z½Ão©vêùªDÑ Z|•æµæ”ÞÙBU
ê—�LÏF·bº“…*ìŒ�ü�÷ý¢¤g&q8câŽYÎÚ25aXÄsûŽ¬Ü˜ëí[‘áÇð«wÖë¡´Iý×pO<®š�LYÉb*|êGÝÉi‡¿´ÀV‘ÑjGÎà%,~#Úÿ&Þ¢`š¸¢Ìo%�mr\E‚g´@�ÔÎ×h]_z]ù Úbí9ø@rß��uÎß>Ñ#ŽBmÅÜÒžÃ]]Ñý€ÂÅÝEæíÔ ìü|è‹Ñï[0—9SÙj]@Aâó©5TæÏÀP¥.÷êÇ>4ØT[jÞ�gFÀ/g¶‚ÖOú@³Nè·ÓîÙÛ´íP¬å®R:�$+L¼œ`›:].-Kñ.…{•Òž·‚oqf�©²�…%øÙÚ×j#ì¨œÏ¢Ù$¡Gí¢Hœ*}7á±[˜pzƒ‰ÔÀç¹Þ¯]r~r/Axí7Dëh�­qEz%­)´RkP¡cæxcñÍZ¼YØ“E#3a})”J#Þ›’ê'Æ$»+l5�yÚ~µÝ}µZ`öõC:§žÄJ°UàÍÏÌRn2¦6÷›£AÓË¶¼¬ñ2¥œûä”™MŽ"ñµk8Ü‘Š#ã4�¯Ì.…¾åßØC]¼
-=¬áÙ©uÄXZ‰ªm±+`€ùöÇ=Šyšßuš\>V•ßM¶®»QEk–$Ý"“7Ä éõ£˜ç��È®}šB½ÎÓ¯|FBŒRÏ•’fËõQÁ±¸½¤Ì;\ÄË¯{tN^ý/Dá5Pê€B˜ëVØ(Òà~RMM9k±þ»Ûc`ƒD‘Ñt4Ä.s“µ¡ÌÝ»!#(x“£ä‘¬c‹}E“¥Ë°�ÉúO‹½Ý„å1¹3äeîåµu!åU‡|)åÍ;¡<w¬*ýÙÏVèÖß{}°þDCÅ½l_J2hãkMßÔh»”¤ÇÑäâ•Ä¯T£¥2ÚÿaÆ¡çÀª8«ð²õÍì9EfªÐÛ'òãzàÇÅ¸¤²½ð§ŒÝ+!k»ªŽæ¤WŒe¢í·s7AË<ÓWÒ §î¾£3º/O—rCÛ(r¥³Íõ&å³²Ú.ÙT#ÝcšÏøo†G˜ˆ–XÑ:?{…J¿ØšÂÇHæ+aäOˆæô¸RTåÈ¨õ¤ð«ô_´êšxó­ÊU›dXüë.�ó®Ëz•	qÝri}ÜýÂò§Ùá ,ÛòÚ`BžÄMsþwB§Zr%jeKHXk8÷IØÿƒHáÚØc!ŸfñC®&7«¬NFÛdi|Jæ[öú]îâ: +ÎTª{¿²"íý#lWZÜ7®µp_M#¿ÔV‚âÚp¦ã¥þÜ-}‰”M’€Yâ÷¥]£Fï(ÂB‚ãèœ‡Íf!3òÌeDˆ§–^c>}Q(3÷,^jBW¸H<c›«ÓáÚß uIRi<6â2ÜœÜDbkÒöS7ÈQ—ÚÙð£º‘©¨NÁµ[¸W#¯Â{yï¿KKµÆ1ÙŠ×4QWÕjX¡E6^¥'>Ëóšæ/ŒK°'ä²Ä�Ÿ3"k·€ª¡ôÁ2^)HÑ:¸V„nA“Ï­§çÓûµÍøï´_ÿS™�0Þ/jú
-Û*Ü'á8©ú¢q/øöjÉ:2ñ¹ßcWDÔƒÜ"¥sÿ£OúæÑ½ørR«¼óívÝXQe"Çbð;l1Wj÷aÄ<ÙkMÿÙI¬‰y’úñ=}"M?Ð89‘ò‚!±³Z²Ú³Ö2épcˆý[4Øô6�”Ùm}“ùTïªùWö-º%ÂýÊCªe¥©¤�‹·hM«üe¾'‰|t•N<ˆªDú‹Ù†�W6È¨ôí�/'Ú™•þë«ÓQ&„}ª‰K«2—«ƒ»ij�Ëdd=Ôö}ä1tÛàåudöU�
-ÿîZïÍ°¤Œî¹ªB‡t.3v¯¬�·�òTÏéœõ)µœ*ÊÕxíl­Öx«U1V•£KY"úZ†jkÌ)ÊI¸«Ä~ÚQUxäT”g‡)õm�ª¨hö·Ï•òSïË¼ý�týØÚ*ŠcRYÐéy;�Þ°bC“·ú9Öyí¶+ýŠ¿¢êt-HÍÌG%ÝO˜>ê‘ZGÝ;Ê6ÜÁ]
§ÔÙ¼š(#c…%‘KýÅj(EúÈ
-[eÝìFTY!X]ð*áË g–¡p_&Ø…ºÕ5ùzQ\÷…þv®…½€R²k_4y6rI:Ó`âo|x1 íÛ€Ø(
Z¸üÔÁíZæqõR:KS˜"×ÏÊÄ¾º§Px¹Œ¡Ri£¿‰©¨Þ¼^0ª«¹}b Kûsœ�µ_?õVòeÙÐÍc?\¸?Bå×È)\ð..Û"¸*œ¸Ò�„Q
ÝÌðRSñê°O&­¾~›[ßb£ÑŽ! ÊG-ÏTúá	hk°} /ÿÎwòZÈ—O=\›ln«ƒ}ñJ_¥¬|I''C½¤`¥Þ|*kU'ú#ÛÑ#‹^ãh–FÉî¯ÇšÂáX¯�äø´æxÉ§ž×ò~ÌÐãÛªØÇ.<Tªó×´�œ¸Y9mÎnü?`&õ¹ò¼^­;²Â¢7?s@RðLYÖˆÎ^)-`9\%òIö^ævÂ˜ï¥g¿§|€îMô€‚Ý7ä_�a	üB?ËöOÊ»FDpwhþAJ¿BÇX:Zþ�¥4uÃeiboù*Ú7Âð{¼ÉþxŽÅçyçîj;H>=¢J¿“îêæ;PJíÝÕæíCëÃ·ÖØA¿5—'Ïlrg+}^úØ ëJrÚÊEU¢¯>¬m��Ûdu™“¦ï<�yAt¥T2bä_­<!Ž Âµ1[Ó}ö#ÄhWx~©wÍu½³YþÌööY“â¹ªÍ‚SÄsæ+�si«­yñ-ÅLùrÿœÕ�¾Ï{PHq®Õ¸1ïgßÞè¦Ø»²§—¾ZâêÔþ¦$B¶ÓÜn‹’Ïko¯¬–P¦ÁŽOú§CUyÌ)_½³F	U6ã±Ú€ú«ÒB5‹Aº$þÔÁ3M´soì‡+¬dèÕõ°hõ?<6F
ª£¥µ¨µ”RƒÛT—_�Å˜»º÷ÕÃ¸Ý;ZË
-¨‰‘g/C;–º{$ºJ…x’^ãÛôï³Êø¤±Àuü^ð1kÐˆ×*Ñ•;¸HÃ3ùVsp1§g³#©;ké­Íì‹¢‡ÊV;ZpE%jI¶nY«ï/®Fá…Òî®³Â¥WE+-æß‚úÔ¢Ynm«YÌ¸®fy¦ ©+U¢�Õh¹?Æ�`u§H ç­»[½™K’Ze/ùýí¯_Z“?õ‡©½™›k—Zt=5éâ[I»dO;+ØôoçÉów†ZÍi,¨Heœ£çÞ2Td�ªåc¾õ#üÓÎÇþUý}zPòX)0›Z1×�KEÛ—'}�ŸyŽÊ(IÄ&Ý]Í)lº¨vãP‰Òü{ŽüÙej©„ž1¹åÊ›keõém“¾:D“æ¼g«¹;PìZ
-Xa<'ï*+†kñáüJ>˜c´O/êØ«^�@,÷ÙJ
-rèÑ/«
-öeµ×ÿÐ9é†®ŠEß8.å�ø3E»®¡ÊoÒÖ`¼ÂGdæ4ÕÎ�x°ýÌ·ýÉ!¾(¯ö{1‚ºîÀS]ÙüDO@MYð†âÎÁV¬öÇðº»)©ÎÜü{æ6›¥7�½©ðg»å×ä©6VU^(ý£ôÓ£î}Þ“«²ÙVHÒø¥6Cœ&J¿i0èd†þuË°×‰¿÷P›·Kgª†h³f÷Ï‹j¹exg½HñÏ¬#&“;¡oüÅ{Ôµ¦”<}Z¯j÷Mayvº5ê7#ã™xFE8µL›�&Öqóˆ$tr2Œ¿âbñÒÞ’¾úUžšLyY¾•¥“HêÝV«‹ð½i[iä_Sñã¶}t4eý‚ú¦7¯Þî6™*huµ4–éd ^§VCaÝåIÿB¯€y´ð¾84£Ù)2ÜV9õ'›€tÚƒî}d5ÕúÃ€ÕO^÷¢„H-ÞÚ²qtó£‡�_Œl¸ø±†'­7È!}BµÖÔíZ	?‚Z¾@º2ÜìÔÝþKj O®ÚŸãaùWûA?5¾ü'u/�wÏ8ºÝšÑó°
-q«®ÑÑU]™¼ifÚi8ºS�µ£‹ž‡Ê�ßi¯çn­áŒuÏvÅ×èšÕQã?óÛ°½ùZ5žù;WÒ{¬eÍŒzï‹ÀÔ·ˆ[ó§}Òíˆœi�n(žÒØÝhˆTŽ§§.~aHÝ} l´_¡&–EÙp‡—Ô­·]—˜•®úá·~*ò/1í= ¤¤ƒë‰9=¨�Å0WN3W¬<ì
xØx–{®ú1p½»;]GºFg•ÒiðVGY 4È�Q;a_C®°
Ï�ŽNn0ˆ¿èÌ+äVË6ØŠ$•›XTå±ô[k mçÒïd<­º£ZkëvÞâIo¦÷½A¯äÜ™–äÞÔ¦Œî~GWù\é‹¾V=uµ+©-¦ìEëº°ú¥´QsøÕ`ëxn,
ü;Ë¦›_n¢¡cáOm…çE€~»|Š}KýZC§·D”5Ÿ¢Þ®Ýü”G8ÿ\	Mà
âS[TÜžƒ€êý`žn[dòª=TÚÃCp°ò}Ýw‡…G6úƒ2`¯[³vÖ­h¦.ü¥Ìe2®Ï[mÎ¼ŒijÕý«ÕH´àÐxÌ&¸ã[Œj]žßnjÑc“XW?Ê[ÝOî!$–SŸôL£;KöEU¶¶�Š•ï�.ï‚T.B£OlZäíB||•úl-5„tT3ã!£ÃêQg›3¾=6?ŒÂUbÀ™’Ï�ýä½­¸Å×SëçF+YŸ\¾’àLs¿sõÀx‡ ÜØuc¾¥E\"}^^¡¯'xýÑm¦�D‘6¨®%§ÁÜ7…“·ÓûÙ]ü½>}¦©Ö+5«ž¡3î}p…Î•µñ=.«„­¶uò¿'‰EŒkƒn©Æ)ODšù;Yþ==ÆÕá±mÙQ±ízóY0j¸/[“¢3HGàXÕJZß1ñNì]h«7¸½0�‡áàýöñ®nðÒñ ?³Ýÿ{çJŽ�ˆGO/F-Õ0Ïhl-,`¨…¢é
óõ3m}‚rl�Àuã©—
£šl‰ÞtþÑ+’xÓ�ê³4¨l½µ¦»š¬…¥ƒÓ¢ÓD«>{m
-�ëŸ{=¼×–´[Iæã'‡R¿9Lc!áÆéôÎ'�ª£á‹:èçï°…=F)¨/äæW{�e·Q/o´¢Qê„<÷®>jnç· ¬ieä¨ïk¹a?.]®¨ýAm@±çß·ÜëÒ4úÏßl|P/[sd.:N5Bøj®þE
-= Úíy;Çz˜–Á�uÞd3Š[/Ú°ú@(FŽÖtÞxp7ìß~J§Î¬è/6ßIÝ[4‡XÖ2¦¡ê¦–”êÃ.Lžúáå¯ÔÄ}….ºÀ³py(¬ö™)TÀ£Jþú¸ïq—c™{N»±Êú‹-õÇêïCØú©ëebÒøÀ‹3½2)EÅµ¯wÚûÞr¡uêg¥=1K‰Ý‰Î7§i
-B#[ï{/àÝ¨fÐäúC�¼=á^?VUŸöKLØ4?6ÞcpMî£n©2–Œ¬¯Mþv	à‚ªF9–¡ä2ßÎä¨œ>‹K¬·ª-c3‰ ¶T}Vwí�ôÕìr#À²êÚ7�Ó!8„Ý;—[*U°ÞÕ]ñíóå8Óã×AóaM¯Ï½ qÞÔ¦žË¶ ÎDðõý×Þt“9
}$SL—¼b!»Ž5Jñ^Êg�ÀX;¿32K>ë—–ÎFàÀáDy,Ž¦ê^ÔûH™?À·TzN=ñðbÆ˜=´D¥$×DkÆäèµ
™A–‰¬nö~´Ò¢ª�~ä»tëk5ÊóãgÆ}R^æ‹�3óßAzs¥bD¨Ý5Ö>µ€~e²5Ì"Çf¿a½ô¶˜2Û„1ÆÞd‡rk;µi¨Žöî±ÛÇúu«`²;È¦O¥ª—÷ê¦g6‡"	†Øø„šÍV'«;Õ°QÔº¼Ô$q:Æfm½áòïøwÖ@”+Œ.f/µÝQ>u6ÅHw+½P]]‰Œ~rÏ Óy5Iþê—
�Í‡=+eºMŠ¨&gí—^Æ&­;h*D�æÒQSTV³ÎÝ|®Hš;ÚEUÞÛïº5xÏRgõ†2™¯šWSÞOŽö`zÒ¦‡»ü3â6½17£ÓaDŠ]¿¨å«!@Ò²ÿ˜Ô5½ÙD!½nòí6QÇwËŒ–.Oƒ¦v™¤ûÈMÀ¢^vïàÎ3ž¢Xq™Ò-ÊanäÓ^Ó¦†å%ãµêµP¬
ª5°t¯àíÎô‡Yú m75¤'--|vR<ËÍ¥ÙªH—­¸ÀNªXwêµ�òw”*¾E
¦S]ž¡Ð�æËž)DŸoý=Û¼¬8i›M«ÒæS¿T„éN¸}¹1ÓF¼%ûÛË¸nÛ\>å®ç-çÞ8ùgÕ�
Mº�kÙ_+w�l},ÔÅ6oÚü=û/�îÄ¿Î¤özõÒ¥¬~ç›™~.@´ûñŸ—~½ŠÁ ÞC+£õi¹Ü =z.æ&Þn×‡k`¦Û¿ÞÒÖqé§"›.;lþíŸÜÜãmmôžëÓWq¾Ñr n^L=ŽòËÃf¶Â”Sà=,«­·yyq-rÄvJÞø¬6ÍwÐÚ•=Ø²¼°ôÎ”hwH®ó2ò_tS·x]7Ñ<óþÜoÑlvË4¥RSð…º×<éfÎ'±†¦"XŠ9GFàá�ºV×¢l–5$Í~å>ŒezÝíyÓ[˜Ÿg¥�ú*ývE+‘l¿5ONæêò)!Ã£á‚Â .~‘=ŸXÚðáÒDìò’×£hÒÛA¹˜íE¦XW³®û)ø5<tÿ�™iÉöwÁ­*J×ÅOž¥$äîúßÆ�·¥’ÿ­L±/¾·6{8­ˆ™Z^Fúe¢sV.Íi`ÄäÕšïkžÊ¼40ÐáUÉ›ý¡ª8³š§‘Ô’õNÝ³*N6[Çi¨6aÞ¨›ªêëº5[˜"6?jiJlÜ­L‚u¨¨wiè}z·Ñß)¦ê>º5|TãÂ[-u¤'îÐ[}èÃ£¤jçÛóh³¼£á'EÝj‹Ó¦�¦«ÞwÉï5|mWõ“×~ÿZ×ÓÏÒjMÄJ»7ªtG’oŽsðçñªÏ‚YW4œ-9ZYðs]ÖqÙ·s-#Ã/BëØ9:¦`¥ÐüŽµ(åm³þ”t®ž¨v¦^îÿ¯ë¢wìî'+lÂ�s§ˆVFÉÆt’ÞÔXo„‡€kö;ŒLüÓ.÷ú£¦ÛÕ¯¬k#hÒ®ÚSV‹1náÏÃùHNºÇ·["=ÙÍdÎäïÍ¢ˆ‹ûTû`Góñã±7­ÁS¨[eyrDÀá¦o¦­›�‚�>”ÿôH×*Ó�&ÓÇƒvŠ/?}íÏæ[þõÜ¼®ŽœÐ|•è
-äö2kS™Hÿœ¡K[ì!³D�+½CcóÏßVéÈ»ß†Bú 7iïçkÝ»$wjX/He^tõ´\gH4=ÿNŠ¶»‚˜qh¼EGßZCsÓ¨Ñƒ—7ZÄþ^h²Qbß(´xl&,ps
­6pmRÇq¸¡†÷¹ê¼uÐ!’O`GpË0µë¯ßÞ†Pß–³c¼{‚Vk•�ÝNÙõçÃÓL÷Û¡^Ex°=˜ÿy1�q*ipFObµÇ•_Ô+q¨PÒbêbËLÈçsÛoTÏÑM€>â¡\x¥Uc%:[f"=fFd)ºƒÛw¶Pêç÷Ø:¯šÚw&bÙëM®i}n_}Ä÷¥Y÷ŸõL¤€};”bç]ŸšÇ˜8(•daÔ¤l2¢î«¶»*Hº˜Íö]n
'§6´Á-ÞU|õ¥µ¬W¦l°Õ4sŠÌ¬|wï�ÈŸà;J°ª Ô`àô>�lÐ¬h®’Þ|u2|¼uµ;×7ú&hj¥ÞÖUâ>SÃ9G¬8FŒjê$
Ÿª4r7&*#>nuP_bÃø­U© Ó³µÿ�§îîfª«�žF4ÎZj½4PWÊS‹²Ò•áó­wÃc e6œœIä¤�ˆrÇ}¾êØˆo'€æ…¯Üž¡ñmPæk–F�ŽSG'…�*ªYÑ@{ãë“³l)ÅŽÍŽíC¤„¯ØwvÝÁŠ¼²]’b®áú¯>8>û¬`ÍEé¦óð¶ø:Sê¾/÷ƒv4w¶1XÄV²¢ïÚ„	
-�áÕÓR¬þN°·£™‚ÞÁÄà*U3}É?×~‚½QOõc��L›Z„[øq,Môòh˜Pï¶�š×¼£ýÊH{?+7¥©óîÜþ–ã­
-•[ÒpQ•ù`¼öÌæÖ%»nË±Dö°p†çû}u~‚ÙoÎ>V³7×º¯î2Ò_í£ _·ŒßÚÍQ@;h)üÊáQ±¶íÕüvÃ·bö7éáéÝQ¼—ìbÛúô0|	ÃBË½íÊ®~øÞ—eÛÄ>øÙ8EË7~—[}•žZê½9Ñ¸qH„§M�pWØÛ­ÉÃùB\Ñ7áœScì”1h‡®KÒº­‘KÁcG^H»W\^ÚëÑÚ¶î•ÅRïu7R¸˜ùs{•�¯;ŸâB‘¾Uýºßp*‰[™Jæp¹ØÎž£YëPøxh®%}/¡=[Ôéèóhî¬4uØyJ|‹/ñÜh¼K�Éf€®SxÿD]Ô!Ç;Å”E>6Ÿs;²jQ
ÉHº%'‹«s¹u]9¾Só[ÕÓæáfÊæû�²N+–o,�ƒ8�êóx`_Ô6m�¥i»kò¹îáy¢ÞåvåB»Ë^ õ—ïêD~Ö~�]>Lg <ã›Êr0,X…RÚebæ®¢1]Ow��Ëia«ÿÎ°;÷²qø>•”Ê˜3¼DbHúèuý`�¦��wxT~vz3ùõ¸Új¬U¨{*^æ:·æ/¬Š¥ÙV»I9P«�f*éû§tÓÇýÊüõwß²¾»¹�kê/	»¯êªké=7é3(\§zÐÒ·+.ŽQMot^¥x†0áT¯�ŸÚ©ñ~Ïõ§?ä^®¹xÈÝ;"ž½5†™¼l¿Òþºå¦òÑúÃï½[o�™À×ê8…'7fÃ0’ïýÊ¢Z�)Q£ï¼eTÆ•µ?�]e\È{/]ôöÎì Ïû‹zy©—š%Åªû)¨Ó½V jTh²Å�8�ÕråWã—M…ÿ3W?äôz6�­»q­½šî±/ï­íM�Ú]Õm8Z]`qLô!TÒ
›ÞÛ-e¹â4ç¨K‰QAP®=þ­^ÙÏ<ÌÔ§¶LYŽ?]ú¥Ø.áÃ¹Ñ7ÅöîçL:_·Ÿõë]c|æ?æ¢FI 3Ð­æ‘Þîìbå©ƒîï%ì£‡¦ß'�u‹têÝêûŒKl?³ÛtÅru°¾D˜—B™ÉÊ([Wƒ‘º5wº5»n`M5mùËÒ^{-ƒoK¿
-»�`Ô;q­fÈT$›Ü¹½�[ï¡¸—­>Þîhw›¨´”€S®x?T_S»VaSÄ“ÌDVßy�Ÿv©œlaÎ!RHy¬%�:Éf›ÌGoŸ»ÝìœÑ!á<Rš˜‹·(	½ ¾
L$ÃŠe¸ß­Ma¿¨Ê¯Ç{F%"º­ì·ÍuøÕÎ=;YMŸ×“%t³�’¾ÇÑjÜ$±MfÑlwôÑèrÙIí£ùRþËzti¶”±ógäÀréÚ–Ã¹­ÐûfÇ¬FŸ‚Æ¹‡T™‰rÈf}b¡SK¥v>[Æßrœ‰ó”¶óK9X^ªü¹!®Ôñ±«y•&tÞCEæ3ÌÂ;ÚÌŒIª²çv>ù¾Éé1%§²©L¶LëËšž5UÞw$&ªB6�F´”)8ÖÚ{{²ýìqk‰Q¶÷B6œ�´ïºWÇªJ>*qk}©Ø&¦3a5Î©0é«}ŠËãQ<qUíU‰ÁRPÿ¹
-üÕ—ª0[^�ÛÍã;•Ö“UC°½6sê-7·=¡î»ÓÙ,Sfš•û®¶»‡ÄŽK›ñ3ƒÍÔ7��ëTA´À'B›6cËÀâùÐ“žP¢!ŽÚ5ôµJe©µNm”¡æš³N¯•í8½0hL%“R¤Ÿ—EKêô‚þ«ë‘Kúv½|„?é{¥7ÐÛÖá–;¾Ö÷g-µùÂWšØ¶‹´ èt×ÈýÐšõÉ¸=Už‡®¹~Ýó¤aÌ‡ã5“JÆ-mTƒW˜‹¨.·§F÷âàî¦^jô4pðÒ•�v°B3è·?§> í¹z®¾½ÌMÌº[TåaU§SaîY”ºìø–ïñzDvAuXNÝ¯iV:Šß¡Ïü…³aúIê”ƒUgPfjº#Ìãòëø-l”´År‰d›U]›ŽFKÕ	Ó]œÂwÇ�RoØ}bK%eTàùºyý°€Ë—ÝrO1ÃWˆ†5\}NÅ4^:[£9?c$×l÷ŽÞ›ïÒÝªQäù¡¸-Ï‰Ã‡ÝLñÛ§ÅÛJëïø"‹v)|—xÑ¼žÝžÉ�¤ƒ?¼Ì =gmxëÎ¬Å¿ìD/�¾p¦bê{Ú å™�¼ØoLo|¬QÄÉÅZ÷<@î÷:±ÔµÍœ”•®F«žqûý=á5¶Ê¿`Bé›Ó÷’2Òk�éîˆ�cqhÝÄÆC.úÎxý.ÄÅ=›§›ÝR?ºKô;‘¸`ÜÅ¼>Èå—õNx+]b¨'/º�zÁc(÷åÛM°ùO9äõÖn)®tŠöåÏÊ{JÊNb–ì]´_\,_·kq�æQ"ÎGŸÊ¶®.‡Jµ#7Xj
-;/ÉSzF•/yù±¹÷À–b¦ì èÈÇÖhßôVYqÙ8`ùh<ÕŸRtÛ�hð�}=N€r¬xU‰£>
ü¹�öÊklR2†G«âg^µT« Ü¶žæ»X~ê¸Íwøãl¹�•W+üþ¡Á’Â*v[ró×ìjÊbÉˆ)òV¨^úR4°z­KÞú3ƒ§m/Vsbº‘u™o®£ùnliW¡Ç½’+ÜeªÂ+ä¿µyÓh”¦¹á/ð†ð¼ŸGÿ–ÞÝ}ÃÈ]ñ¸>îÝ	O{–)LºLÂ U¿^æNÑgïñÔ‰!·ÂžúËùe­�
÷�€Ç¡ÄÎó2‡—"òófdÞ™j†½<~ÿŠ½mx`0î‚uy ~ˆ•+Ü‡%¯Nè~ÅðötKÙ«x}×auò¼O	÷¿‚u˜=šž4¯ÖD7!œ<—cËmÉo²ˆ¼¬ÿ¢]†DÀF�ß*Û‰æ"ü<]˜ÛÜõ¾ƒ–áŸofµ+ÒG_qw.£.Ìê¼p—“9%n#ë2¨pâû—_à–Üý:”¥ßc¹X.V³GÖŠæìÖyAJ`ˆq—€2úô/ZVØ€ì˜%iŽf²h.\eÅùâ™¦xkþZ[.rç$†l•\ÕCÝE¿,K­·\ÖXà�††]NA'ªí†ò+¾®G…&ó–kâXèg�-L¿Bè´odíQ-»P†üÄEÀ¯á
-ÁOÌD8Ö¤ã®]Z¶¶ˆ³\ó[žÝö'�À^ÔÙ(ý¸kr¥´þhÉ&õöµËÎÍ”Ýuý £¬X§öž�%"š¼4�JÄí©•Ñ¸U?RvQÊ3ÉÖ\®ô�ª sAìŒWáš<^¶×Þ]J"/9¥ú iXÏ¹4,qªÒšœfÿ€þ1D2]vŠGƒÂò[jbùRoKýÃ—ƒý‡—Ÿzæ±è
ÆÚK’Æ‚r�ÔŒ3øFrGúLe—jÔ°_§ËËÇ^Uš‡èndh¯Èêßî¦"ÛZ”²>NAJ­å©â‹mûøôaM×Ib=EÔFIWQôM(—ÐäA–)DTæ¿AYö«“¸Ÿà¥—rC'¥Üâ<†ÙŸvˆúeqÀbR ×j…òkŠaâ~ôžjØkÛÒ0‡$ÎFWÓï¼éi•±ñ*ÆÍ°äX®«7ýÈ³¬×
ý¡Jnã)Cn”VÄåÒÄ¼úPìénn=±êÀPïMT<Tã‚ù…C#3ô­äê’ª~w„»xÔõ¦@;r³¾Ñÿ"Íò¥ÐÆ®ñu”7÷
-74ó�:µ´;ém.b³‹V:Q5ðå'>Éçg*j‚bf*YTe"|Þ‹Ñ==Æ�¤ÌL¼
Ý•Æ”>5þ³ê‘EÆluUC!sÇ¤2¥‰ž†‚È¶]QXjÓúMòƒÔ¶ÖoÖÁœôyVºš‰Ûç%è�“SvU—}lþ›{�Sç†%€]÷ƒøë÷¾'ç  œJ}Þ�Ù(:��üÆõžmøFšV™Ö•Ï¶9�Ä¶ÒB
-¾Ý¾µÊ6ÛÚ? ÆŸö7æWQ[ ›/Ö,ÀNöÄv+VSùÁ§_ôë
úÝ§¸§ÞøZ'rÛ;°JƒzŸ¼4gÆõf2§eúì$&ÌL¡�:`æ+¯2F6	×æE\ÌI{¥Ûë~8ÉK˜8<ž7S¶2a_R3?.ÐïFôì·kKO†h@%{ÖÐs ºá'Ó¤Åd2Ÿ‹•µò.7nSê›Ü	&¶H<æq+_
-CT¨µè‚ÞdáÚÔuÛTT°ÙÇ”a§š<×ùåÔ=²;Ùþ*‹s¯ìC�¦Å÷ú§¾’2´§v2ì)pÈQfãUÚ®¢èƒ ¢ìãeQ/è×±ÏÒËKÊ7phoçòãþ>*-Ì"bÙB±6›{
-8Ç;fPz‘œø[ÁN5˜ßÅ%y”L*ÜçøoV#O»¥ªù¯qïn]«Jý‹cQ®pŠÍüˆ„da%Èr0(PZ>åùjhÈÛê™Tˆv]TÊ•&ñ¸;1¼ß]™LÉ­‚ýšÕ|M™
ù§bC-œ^‡åõ³Êrc^Gd‡a‹ªléŸLJgÐX5­’z÷ÍŸìàá�‡B‘T·h€Ë'ÆwÆL¯~W³Ž‰+ðTÎ{;<ãUýöŽM¿™â9wãÉ ép·YúYÆ¨aó2dt‹±ÈÎ”ÿéIZÈ‡¨&Ð¤<Dl½ÕC?òþÙ,ðìi«š±’ÁâÚ&Ê•ÏA=c¡.ñµI¡ÛeîJËNéO~›/@(É5ÜXqf5Æã1þß"ü«W–[ýaòqÚ×áÞ§5í,—9t™T€¹78W	‰¦ÜÄÁ§mÐI;¹%¥‡ñTºÛÌÊîò@_®Ò“/m“Ó“9g-Yýìl~>¿o Ž@È÷§"�VÝj™¾ÅßfJš±Qüóà´•ˆM5×1çQr/�ñXJüÈ•·Çªý†7¼ÜLßÛQ†«Rû.ewõùõÂèÉ÷Äå_Y.ý’ìx{ÆR´¬ˆ?‡™Ùfu}›ƒ[.QÝº*‘½àÍÁ±+Í÷ÒŠ†õ¶C4K†?í-×ó‘yœ�S9»ÐoÜ­Âg­+b¡’¿vÊIFº…ÂHeï(k¡™sáµyó!iÖ¢7¿Bí\é@¬è»HžNcÜ¤dÚÛ{vÅX™�D�ä={H’J�äçaN¯ÄåoXïÙ|œŠ´jH
y³OÞŒÿDàoV–qØ öi!Šyú¤ŸÞÔ‘Ó»ô±Q·Ñ•�¿]”#½ãëû†ÔÐum<Òç(Fniò—kèÌõðã£
¾Ð otà€¬±®¹Œ¨×m­ ñ‘¾
-©Ù%4u_ÔX»?å‘ ªãŽ÷‰Gä¹@íNg­}ù¶óÛwE„~àê™’2‰XW'RI[µÕhðtùãDÒÁïÍTƒ`7HŠŸnrtª<¦ò´ÕoßÚäF‘à©®?‹§oÏqSîoi^µû¤¬éÏ�m.ªÜp'±\`ò»t/«câ>µÇƒ2Ù¼,
ŽN¯–S’’+%Eí§¸+âß»£jØsËÁ
-ªÜVuŠÞ¬‚ÖÓ½…NªšjtÕj<ã)ó:|©Ê×ÀÕ*¥Bˆœ@eU¼¨”Z]­|°2ˆnêbåS
pÏ9x‚þÝþ¶JÁ¸EŽ©‹Z:×¨!)ûd<cöéd§—}g¢ìTe:Üöf¾f“6¢œ{fñ‡jªÕðõO¹lÌM¤ôº™µt+3%ÎwsÉYºyäo%`ê¹ðàÙxìÍûßêZiNRu\€ùŸ£óÚRU	ƒðì‡0 ¢(D�L“ƒYÌsxÿÃœ»¹˜µ$UÕWJÿÝk˜w4ëP'æh7
-“¹¹¸kIýÈ'@|ý³iô³,\°û]³å…©6â—UTà²O‚ÞÏ”¿3BbÞ³¾ûÄã±i`¬Ü5™S’«2Þ7ÓïGûæ«Ûcì®�·Í°9Ö†q?Ç›ÑO4ipeÝÒ®‡FÅ�Ô0Iº-©ýÅáPÌÜ7i¦Oò3o{ váLñêL;Uìâ:”˜šúâœûX½mÎ1ð”ì†Ùè5�à}_Ÿ†-/!Lø]ÌAcCÆe¸&›H·p��n'8³ÙÄKá¡‹ó4ïÅfìš¬EÏ›Y««8B“=˜ý…ÕM²�µŸÌ�¿õbf±I¦Žô|ÍF„<+ß˜v•só9�ãÑæi–ƒ
-ÏßVð˜­-ýd	q5´Økæ÷ß¤¶X§+‹·mÒ§·ñzávÐ¿=™é¼ƒÆM8l�›×˜åªLÙäfÜtŸ
xrˆëì¢DÑ¯°Ar5½™ð’k5÷ç”p['“4	´…Uf5€å†rRš9Ÿ~ó ßFhÿFƒ®J!Ç‡Ú´�Ýç]òÄ›ø ¬©	.€½è�ˆd`ú”"%À!Ó*&wÃødÇñ'¬•U#ŠìÚ3GÌŽ\êij›oÛì2ÖÄ!«$:3¸–Á–lOéSb�
ÌÍ¿ésaŸo2¿<»jÙºdè4”±‚>œ„¬½!®‚3¿È¨ÅÆÂn;|M	ýnÑ°¿ã*HµzÆ¿`ü`FLzÉc¬W&Mƒ/U­«ÙÞ¢¾#Gù}yFÇƒ=åoC7³÷…‚•a6Ä±Õèë0:Ü]±º±Wqkù ³s´÷�
«;Ó+Ö5/ÇMÆ0ÖïÔo–[Ag±D¶<;Dëw»Jt¥œú(‘Šlb�™ Ú¨y-¿ÿp–
Ðœ[0÷ø'Î¢m]ŠëÁ:vÔû�Ðr÷3�‡ý‹µÝ®ÜØ»Ír
F s‘ Ýôõšá�Ãj�ŸÀ‹×´ï½Ö§ºEeëØÇLš
-:¸Í]s6uç©Ó¤D‰ÞVƒ°ÈÑo·@x—pŸ&0pBjæ·“áàºü–¥Bkâ×7Ã:æŽ0ì¼‹9—r0Í�ìU!êÄogOåÂÐêø
-‰î‘ï8wÞ“Â
-÷ZÕ…~çëk¤7˜HÐ´Nn¿ÞGÈÔ;´Ñ4¿b#�úÑJÙmKÁÒ¢Q*’›mgßµ‰ãÌGíô÷pBÖ*ì>ûZYž�q¹Ï¬ë|pdí=¶ÃY^É)°—p*øøÔyX]¶Ón¿›¿…‹„_Ïüž÷}4ã*‚�Jó8¿bò�\WÜ #¦©Ö¯ÎyÚp´âO—¬84‡BÚÚ¯CïÔe,ææÔ²2íû¥µÛ¶J]ª×¬á©ãrI7Õ{Øt¦êtQÍŠ¹J–X}p9�—Ù…eÍÅw00#°IH—[‚´1Ù©ÝB^~Ý¬j¯	µ÷¢ez½7æš‡R¥…>Œ½`{þâàËavï‹¹&w’ïÃkNß/íVÜ–ß~t\\êä#ì§hK=MÅ­C±ï-e?^¤CßÀ¬
-ã†Uéæ�æülƒd&5óöØ •WÚny4Ý ¬p�âê«Ø®»´wnJSÚ.P0GÌ Š5ïHŸW;¥üIözƒs[FK‚Ölºi…ZÕF?Èç­=ûg}¨�¿®@¥–Öé×GF½ƒ1ŽQg�‡Œ‰1C–=%æMª[,Ìf}ò÷©6Zø›l<¿6h%Á0PÀ(3Ç·ãš¿kî£džß»À	éËCzŸv{óõ&){ÓAcÙÄUFTÉ®`<Ñæ
-±ju–lˆº£�Éwl
Öý0ÉÖë�ú×#¸qØYˆ¢ÄåÆuünßcëÕ;Vu s^ÁÆñÚ†*‹ï%Àà¯›«„h5Ü�Ö¶®³NÊ(ñƒ
-\²E��g(/ÌZfyÎÖ{qzÑYRF¨ä”wÒÃî±¯+³î¶B”ö`z€m¼£œÀ¦ž† ðì9¨(§hðÇmß+Ûf?¿B7‡a_¶Z¨=^ùæÔm·B…=•Á®ÿ ·ø(ëàJ6¹w6Vn‚iÚºm8·y|”SÏÀ/yYöé…«§Ssü`” ©G�ú_{i”jâñ~~qþéØÅ¡3:��n„…(@×äog¡ùv°6ÇZiÌc¨ñ–`KU«ÎýZ~ƒ+wîÄ8m=ìï^¿)¦ÅÿB­¤ŽmR!½òk6÷‡%ïµ«’A_\¹«Ænb=WÖ¹aÍ=Æ¾1È!g*\½è|F8¼>æÎnŸõç^-'9RÓ¶Õ¢›ÊÓ¨P>îÁ¶Œ?™F}Ðö—SØvÄ·n„Î¹òÄYXvþ¡î!·.òD®œiRK€0òÿÖŠ6.çƒ½}MO
-tšaÉ4(Œìr^ð+mý‹ f€ØÇÛ¤˜ûªÏVZok‡aCÇ[mgˆc¸UH7�¤º½�óqÜàÑ]0ú«TnÈ®þô�Š““’¨zéSm—¥Ÿ‡ü*^÷Õj€Œ¾séšËVÏ�·úÎ:'öl 2ˆ«�m“è€AØ\Þ€^(/UPw‰¿X–pùöt�æcÙSKŠÍÛ�ÆUo-äœÆÝæªu>[øjÔÛ]ßþ!–‰­Þ
ÛD>%¿/êÕÕ ÏN¯MfPnHe�­8@Ÿ×fEoÑŸNú/¬}6ˆ[h»&V�»ÑšZ{{<p¸O¡Òb¶ÁøoÚ|zpìö2Èú2¬Ê¼‚Áõ
YÏ_LåÈ~¥I™n{fŒÏªî–1Ñ©¾y8ÓŒ“Pç¤³Ÿ-ÆVn‰�íÞ{Sìˆ„Å¨
-XÐ!o¯Î´r¬€‚‚/•’©6*ó*{ä![ëëœrøH2�Ç1šwÙiÈ€òt²´/ãÛ"YŸµnUÿ½¸‹<ï±bí“ª°f¬yºº#
-Ð?È³Â½=Øžóöx%ó åæžÎ¥b7²¥k9mìHwã�ƒóïÙ
ã7ÁÎûçˆµÍ!gÉ›èlxkÎÄ½']lkÕo­ë>eñéÎ·S±_Êþ_eSÒã“ÀÀè–œ–å`*²°�åIjaÇ€µi&|c
-©hµS¡�Ît(_‹
-ºIF~À<†¡‡ª:è¹ïªÍsdùL‹¤ßÝWçûVH½PGko¦Ž£¾+àReŸØE 6£Ìkk[G{àîÑóW{yûTO>¡uGî€P8axb·þ™
§ëƒ1½Þ=¯%Š_›2ãV«$Æ‰Ž®ö7×ºA¼Ð¦f.ÀkLr>>X�Œùí|IÐ»_u¤kqÐ‹¹é;	#¸ê²Ð
-<~Ø£_áÓéÄUÃƒƒS’{eˆ¯ñÊ©@m`»‡oŒÿeå‰I=¹x‘T¤KÐÉ©XºM��®v�FÀÞXNÅÙ�iw¦ðAÙwÇ6ÄŠüîWg®ëMÎ H­´s­ŒmvT]'ÈeT0ºÈoˆQk>²ÿA’7*¾Ï[oe¿ù±ó¤¦ªYomx‹k&S
Euœó^ynWõ38Aá:·#Àô€ˆTÙèÒ7š°¥ž²~¶êdÁmWö{·×¨¥�™SNJ~û¸<ÓÕái¬_ŽïÆ¥æg7F§%p*r*!ìýIš+ì’SZ8ëÇQù­·iÈ
-ìHµ]k¦o _×Oé!ÏJ	Jƒã­âÁ'‚¿ËU	Á»8GíuCÞJÛ\©&lÃ~Øµ2ó3>öÇïsVWZQ^bˆö»tºô¾è�1�K¼0¯ÔùÜk™[‚›»Õáëƒç|u¶`XCíø'ÿ ÄéB„eš0ˆ€j²:!ðEPÀçœïû_1ŽŽÀºn¡ÔÇp¹ÆB=îi�ƒöÃ
G>JèŸ
gí™iÁAWŒµGjíxyfÙäj‹áÅ©!ñüöÏ“DžÊ«‰=út›~jQXY¼ÛvÇ­*^ÝZŽ©!AÿÀi=Ú:'kæi³\ýŠ[v[	dv�½@}ËQÑ?mnµ^î¼øA>îÉb{Âls‡yTÜ«·Âê:³!˜�ƒsdêvŠ&Cð“ÎÂVïî9Ç	a�QsË2•®S{˜ãp^Ê¢R	¾¯.“ÍRÉ{›û‰/Ì€Ëï˜åÅ=_«®»'Èã?ˆR‹š³–æçþo‡:iO
-”ÛñAþ“öŠ
-çsÑðeÙþïÂ
úûZïìßËÇ±§ù6cµ…®g¬jeçÙhDÃØYÎ{³+ìÔù£Ñ¾kÛ'�¥U84ÑNÌÅW¡Òæ¯Áo°	ÖPÔÙ�_Á|‡×E¯ç†âº]F¦Z s½dÝ§8Ñ8ÌÒOgYn}Á¸,ä[O—ù§@Lü•mQRÓëÀN¶«žæoz‹¨¯¿ƒhñm°ž‰†ê7¾AÐäîÎâÎDaÂÔ½®=ZÚ¥œ1ª1�´Öé�Ý~ƒe¹þ2£óæ4¨qq¤@O:Œ+ãeÆ-^aQí•ˆ4xï—T[Ï…6©[#ï¥Ü«M".ïŒÂë™‡oI—à“{M%áQ¡�8*t¯ýTF>õã´¿m)w34"Löù36^q¬û™ÞÖ��Ÿ¿6iôm£ç	<Òl¼.µ¤Ù•o‘½ªÍýÍY�vjÍD³õ«4“J®®Kr#êy÷§ÚìÑ€æ+,`ƒÞšdúEóoÇœ‘‘z½_áÑìµ—©÷«Ga¢!‚@›‡…/$nH”+†TÉx¹ .Vñ£ Ø«¡ÙÙË�°€Üç]Ú<OÍ`0óüâQQÛ­du3ôÉvÑÝþÕ�Æ®h±÷‡l3¥,Òx;µÖ;OŠ·�B(‘�ºi­ªK5Lï…+‡¤VÏZ$ÚÊO£:AÖ‹ÈÃZÂ›‹{’?“&__Ö©ý©I.ÂM{ë¨Ç9[&É�'d}üØ@ü=#‹:Á½7µl¬B—¹n$ep4¿/à`ª�ªqÞ&ûÄ™·âk=‰ø+ aå
-N·©½Xaâ‚1ï1ª˜�û—¿^9[.C&Û"ìé'¾œÖœ/ú=–M;_%}Û~xà\ßvš¼0“ÀÓ«v°“ˆ©š�’ƒ—ïÆZž�É»„ãÜí.e¬7›OŠîuƒ”‚z´Ì³’>ÖgçAïÌ0[A»—ÛöK ®N~.×§�#kiÆy‡õ5[<±!RmËÑG_("PÞÿ±ÎuõÄ6˜7laK¿àc|ç ©9G�|îcn›ÊÍîs€Û_õ›ÚÝxwB¢~ñö¢áÆ×ë—Y|E�‡…›�'öDÉ~Ñkxõ�%éMÇÙö>#¡î¾æñ®õ˜ª¾K/f+fáq}¾* ¹*Ç!+ºiŒ´ÊüÔJÆ¼Í&ÌDÄ¹�m~¡LàÅ™œFœ=óÖçá¶3•ä�w:_ÎãUšß;ÇþxgWnÈ™|¤ƒ
wŽÐäy‘óÜ´*[Iœ4ÂOÚ˜§g™£ìÏ¥B<ƒ¼'·©†^'yÿ~j~[ ;Ý*‰ÀÛv¢:n?RãÔlJŽìUþ¾�²’Ùévs÷w¿vÇKêÁûÛ1'ñ‘tÁ0?"ÔÖ}yÕœÇ‡˜Ù
Xß
ê’WíFWÿNŒ‹ýá]ª¬‰ð¼±8š×STžù-$e&Ô£»ÊÓ—Í—÷]__l'Aô•Ù˜ÒÞ£ÎßjôdPübá�!÷11øZö5§�žFë‚™
�[û,^{J²ÙÑÆø¹øŽzÅ¢&l?÷žY˜ªñ…(Ð\¼
Ì*µBå3»ÉŠvÌ”ÝœüÊÍ›xCì7zV�U¶Nz¡üª:±åi~Ü‹cÉ©ž^–§®‹ÉZ¸-N4-¿9lEýÝÂ¥˜çëoÒSö?	´ÃKþaÍ°UÇËý#úrÍnû‹?çŒºK…¾þi_¨^‡k£Ý¬YM´KBöÎ•UZt¯J3+MÜ¿nd6�½;…^4N¾
õ¶MKü^½7I+§8@®?:¸0)µêo¦}:Üw&ŽLÎÓª+°ãð¡·�öýìíÈÈÎ¾Ÿ"3ü>	¾vÅõ¦.™¨hi„ '>Û –oµÝÂ›$ÚdÈ�1ZèÜ“¢{zŒ¸èNÜÔPwQ~aÎûÆß¯é3„>>~”aU¯sà×
³ýŒm¶Bâö§,„YÁð³Ø)Öí(Þn�“¿·{~|í·~'.Þxõ„î-ûR\‡\`trRò‰ð+à—gEqøípèÜ7•g¯ƒ½MEL+�$‡§>~¢á9y7“zïíU¿Aø«#—/¾»ö±QöÑÞu®ÂîYsGÃbÓ}¶­Z^Ö>ÖìNö¨^î!ƒèy×äÝA—÷ZL¶ÍNw5Å‡$Ñ-x1>$“Þ…Ìä.ï·`eç½c…2aèJðQu¦Ý`]'¼UÍžs«0¶õoN°{¸‘©Qa?+Â“oYÄZôC3Ã¢Þø|¢µ
-’T•{ë½PíU.C$)ö0²=,½ÆÑ÷0)ÃôfòÍëÚ�™—>3U¸æEU·¼ú?hRïó<c—Ü«Æ²AeØB‚°cüœ¯ÎÓ1ê˜÷W3bû¾¡Þ³·ßízc;eŠiîEÖÑE]W‡7íÚ�‡Óòžòp|Fôþí:1’U¥îÅŸ«²8@>q¸vá¹ÉŒíîù
-”¸*aAÌ¨µ3];pP9‹ÑÁx†;ÐGXÆÊÐØàÃXØ83PkwºóÞ¶n^:šºú™Æ*ž„Äÿ ædîRæc÷k{SñUA…èQ±Ä ©Ù¯¹fH2”d–yã‰vìÛÜÓÑŠ–àÿ¤a|™T©ý]©[jeS‹fD–¶‹&ô³|zŠùÇM»‡Ù3·æïäo�¡‚_$áÝÝ,YçP<OC;I÷ÍÃàôMë£•v@
-»Õ@Øo\ã›£;‰cI ˜Ú#,\†p3=\>€ie¯¹;õPû&@ AŸ4Û,{/‰ÏXRw°ñêeÜ–‰ö7‡È`£Sz8³�1ùD�
-Ê´‹Ø.µk¥éÛ—¶�–¬‹e0kí›y'¥·ð÷QšþQ›M!	¢©U¸óoŒº„:ý1¨8Ï}¿ìð±Ñ|4;<~Îx{öû{cÿÒÜ�¡­ÛÜÑÝÆ/ììÌíýo	+—ÐŸ¾ú­±ú„6\2;ÏùœÉh¾èQq+ˆ\kq|æ<v,®üÖwßº8 �Z~!«¿°Yrál×Û NgÀU´c}Á¬XxNÿ‹	­ªRTâç�ÚdÜý5;¸_Qç¿b
-R‡ÔÈÝ!J- –*ÝÜÊÇ¿_xí°H¹ó )xÎl®wÙ‚v‹{,�F^°×Çå³Òà,øXö_e™Ð·óž²Ûñ©ÂfÚY·ÞõÁÉ�¿Õ£—~_lI‘„Óæ?ûW8eyKjßýx\4YÀ æ®v„Ê}ûPÕÜÊƒÓfº�ŸÑ½¤Í^¨ã“§rùÒKïå›·êöWñGA¿Y	Û:tCZÏ\3±c®ë<RVß¿o¢»c÷Èç4Þ©„§œìòèkÃæf£aéï$Ùm³­$YéHÚPo©%üŠ©ÕÑ¯/e13abGn~Ù˜uJG`vAizã‡0çyG6ä*ç«í´<×Ænª¥e¶ÜGÒ6f³ÏZ:ç­*­®‡¦¥7tCLŒÕrÏÏ
kõÑd¹Ð®5ks[ñŽ+�>ì‚G?–ý}-UácôÿAâc7Æ,Í°Þš5vq*	Ê„Õk-=ßb}�‚…!-í«éoZ]´# éX&ÃóÀ»÷Š�J“@Ñëë®º©Ö»Éõu´,qœKn† þ°vrµZËLEëg—¾Fq¹9§¤iú¾£n¹ž1¸uBO:Ñ°ìïkykƒê?·ÇheïW\QÚ#ºÃµ¾­ü=Z”`/>65ö›z·¾Ìê'“cþA-É‘„x‚ 2ú6hÆ½
-âÕV¬ä¿ÇýX~ý:'µÁm%O³g˜JBÂ„k¬/3çaUšMÝÚ-©´>ÚâõtÔ×ãÎm1Eÿf…9†"M¶PÞ_¢…n²1|ùxrõiÍÝ²v	«¬ÓVd6mö_dóâWzhª.b: 0´A»¥žRÑ‹´×öëŸ"ÎÐR:æ&ãx´Åã€¨Ý(WéµÑ¤�ÍóO‘ý.«*#U
ÇÚG¹>ƒ½˜•¯ßjï<­³uK-®q.:ñŒ+ëÁh~™¿Pî<ÛˆÛšÄ²k9ªHÏÃx‡žWƒT™_LÊQÝä°´_J•4ý~pœ\û{Æzªê|2'¿×¾é-zxW;´Zrý«¶*¶7Í:"�£îh…hÄ|­?/Ò=]çÎOÂ	U!™^ª‰B…çsr¤yJ¾*4;.ì—!9SB­„—òg¬E#XÑ�—Ó‹®]?í¦IÊfmÞÇ±2ºørùTôöŒîX¼P+ŽŠôô³ÅÜÞ!õÞ�ƒÏÆ)U¦Ý¡N�¥b|ØË¶Nç)ex¦ý7í$~õ'ãòf”G$1¯‡´{AÆ–ú´D{OZy`NËžš®{]Ž=ËÃHßO]ÂöÈ$¦`L´ElÖÆsþó­Î¢³Ú�ƒjÄf�¿wGdøÖ°Ö_¶Õµ‘Á¤­eKJîÇ#C76gû¦O}™\¼DÑ$ÕéÄ0gú¶Þ¾?sHáWE\R‡Q¨ç”Ž>”»Ê÷3ç9
0kµ1
•¶ù}Q¨9Q±šÃuK{oá)«Ž³¦Õïú)œ~ñ�S-X
bÕ0„ÉÏ6u%µ·¤¨¨„Ý™ñL·õñ�VûÌeo,øÊÍ.ÚG#a¹Ô¯m{ŸÜ“õfe6&õótêÕ7jŒ9ªËH·"˜dû=\½ez¸ö(ñ¾Rqàx@ºôJ«.š
äQ«O;Òã˜hæž*±�ëyømI]?6'øª¾rUúÃeÜ[kº¥ÖµPL)YÞ]æµ@KßUÿ}ÙÉÊ¡6›åµóó’Òø®ngLCMÄ¥å±¦íîÝIÆ^l_/rSßþ.TÝ–W¹gŠ;øÊ%!ï/‹Ì;Åõu}¡À³/°m×Ùç¹©Öq%£kgæ[irÒ÷@3«˜KÜIÇKõÆh²ÄG±v³w«`l4Â57y=áþhõë¸²Ø¸[~jr\bQó`¹ö|éÆµöŠˆ4««ŠrGRe;þƒèŽ5Ë‡$²²™I®?tt¿¼©ÔÃùml7*Ôc0\¾ÛIQCÞ“Ê#ÛÊ«Á@‡qÍö_:­¬ÖSz0õ›Jî0ñž^¨ûœX+ÝFþæ9ªiwû$ãážÔ�ì5è?`	Aºå°>’+¯â7_š2ÉVŸ†‚èå¦^RÉæp&"°ŠA+µ÷ªÛ¥¼Š;�Z ¹'wžW�ôrÊëÒˆï×‡—ÑÅ».mXð	6åás€tÌ�1ê¤Š½£øXž>¡›q$­·Ü£­·ŠºÝŠYC±93m÷eÍ©îÊ¦j¬î8¾¾gúûÛ%Ó<xGnŠÑFA©
-³H?¯Î
ÿ÷æMµÕvoF‹<—õÄ<5üm{Z·"5žzãq
W�õi)ø-›b‰�ÐlH	&be
½<@Ëñw³»æOr=I¾º�œÞà¬x}®0gýq¢ÊƒQ¿ÿ4èÇâÑš04\\ç~Ó2®·u†Ãø)1û›ßÔì©úøYyÎÍyèÚ~Üûy_v™³¸è<Û]æ)–µv¤¹ÍÄ±¾oJz/ÅpÎ|ÄõV¼v¥ã*ûÔ*§çÔxU†ú•
-G«ê×—ZÅ§Ñû^/Ù5`¬µùm@éŒ¬Àr±ªëä®) UèZ“MžÝ»+f¹,ç†þµöx	ÞˆÖÊ*&&tÅãÑ­ÜS;G‚JcG{0¨n•;ÌµÙ²�i-Ã0®=ïêÝiÇèQ›’gþ ¿Æ÷m‡·®x®Ê}ÖŸQÊ+õÚ·wÉñ®D¨’ûEÕŸ|óQ–hõRÖ·x†¼èÒÚê¼Ê$gn;®âÎ=]qðZ7:�m§3½¦F½„Í�œüìÂ‹2ŒMç¹ý�
-
ì}_G_õ`8q%Á/‡}î·×ˆ#n«Ãõõ©³Ò²UEç3Þ
-¼Zk5Ó“ý¬ÐÁ6µ�£ÌJ]ƒÿIï:¾1åÜ÷¹‚òÛn«¡@n‰ûÚË¹ó/Ï“9O>Vd•;Mn©2
-O�ÒP0½V
-f]~Þ…=æ^0õóø¸jÞVÇAõ±á;Ýò�Y×¨Ieq?¨íCf:+ÿrŽ»‡±zõ.KýÈâ?(Æfß—æŸ™wY"ÂM¼ÕM¡‰ßH,¹ÏHÿhs6¬SDE´Ù�¢*³Oûl ¬0E”®ª_2‰ÕY‘jiðìY=³Sh­¬wë^ÞÄ‘LýXî8úâ¢æåók»¥ÂÈ5”@n�ð3Ö‘êÜta™[ñäúiç1ØkÚêÙJS��àµÂlg=«óyùÍ®áª«’T´:¨Ý!6cˆ×€’þÖXñÛ*…FÏˆ†ÖØ<¬µ](eS]Qv’lž‚ÍÓœ5 oÎ<_üðŠ y�òÄÌôû²i¨¦‡Ó¹k¾ßnS´+�•%ÄªUö÷a™ò»¯éý†o2écéD=§¤£º5b)ïŸõÔ—‹õÎ´º%‰g*êÌ�:O`?öŽUrj‘ü÷]è�z“uÑŒ‘¢Ÿ§]Ÿ„Á™�·ÕÈía�§˜qg&[³¿Oq³òÚÌD¹&jf(Vß&å¢½ªF†¹ÔF&è\&M�vÞæûwï›)*·âG÷AX9&†&Yg{‰ÞC {ÌÉ˜HP¦p‹­
pÄÊ[’q!ÛWî¼åMëKJ�‰mõ�Pz—¦µºO€©Rß3:ýUËòî²þP†k_m¾ÎzÄËF÷¹[Íq�têåööZè_ØÏÐvžp`ìD-£Õ#–7>p›\—&Š¬ŸMöÍr€ê
-¡)�ÖdÍUß‹ÖA?÷øè?Ñ£ÇÝhDðLN³ùÔÕÛ«§¡ug#Î€ž¨£4òK´3ÿ¾i>¶M»_½c&2³Éº3Í.`£ÖÕHo{“ü³Bjë 9Üä�qg†¿û/áq_QoOlC/ÑEº9”;ÎùY‰Œc™³›ô¸*Ùâ4ü™è…Ž"î´¬&}1Is3fÓà«ä<ŠÞ‹‹¾s7™øvæAzg¢z4‡<ÂŸwH>Œd|FÔšèÀ9ü­qùÞ®hÆ~¾à9ïtt²ëz¥ÚOÎ½cK·è¦—Îçq®JóóÉ�;Ô~iR�…Mf‰ÍIiD=É‹í­ãÖÇ‹î¨IHÄÝ$yi¼˜B1œwŽÇ)äªÞ~¤’u8´§#oG¦ºçH—Á‰°ñéQ¼é™èÕþAì9=ÂÒ8ÀŒnòø´ßÍéamH3æÜD·lÆ¤e¯Ëý�—P{Nº—5Ïî¬[5Ý|‡žlÂélµ÷£OemMùØtHÏG•ÚS×·¦¨‡¿™*•ä3mÄJQÑ3ø9³ö.èGÐgmÉÃ_§²ï°š÷¡¦ªÓ¸ð«,ÅçJÍ„dÚýi›=(¿²öˆKë¡¿ÒvÔñ-Ú-#kÆÌC´ê‘3Tj:ÖlSq'Øã¥æçò
-…Ú²ßCuÜKëó|ô…EôlSËƒG�v” /#d'¸åm`·1Ô8Æ¤>¶¤`£†P\¡¶[�-›û˜Õ{Á¸Ó–µ±¯�l›/³9ë»–Mîo¬:i�Ls‘Þ¬AÊ»ò’€Í
U?X]<,¢TÔ¤¬òÆ[[±¡õœ-‰¿­÷×{Xæ®ïje¡þ´Î4•;¿ÅUÂ�@´˜šµÞª'œ÷T·W¨Zãf[·êè¤ÞUg;Ë‰”›Uº·kÚîëzG‹TjK3€w´�-^˜U×á–t0¨�-ÞÓ‡Uø![Þ‰{^�ò1?Û§ÖîHˆ§ÉÆ¼û
-Œø{×Ê”®i~G¯¦ýã·¬Gúšh¾Ÿ)®*N5qûíIË¼Ø¥}o-€‚câµ‹¹ßžTq‹¶‡*æÎÉrU6’p�i©°6sªç÷žy±þèàinË†”›Ý¡î¯Ï†™’õ›Ô£ï¤§‡ðËÏx’IéZäb»ÓÇß¸S»]ÖPûp%Psè%2j}â)ð·;J›Fì^Ë�"óIÈf¬<ÚÊºç…°Q]š®w:õÄÛÛö›6Dš¶Bêä6îj®¼ù}L2�Ð
-¯ödÝ¼›V…=z³Ž
M¡­šæºq6ÄÔéäªŒ‘ËÔÔŠÆE¼/ùeèúóÈ4g+F+L_�ö¦\*¶ÚÐ¤­¹Í,˜òW¾¡”xvõRâÌþ«À�—ƒxh4,SK'ÅoBÒîI;“#Åö?¨W3–ëpú4=“ywþVÌ,¦~9­¢&ç˜†ÇhgGÿ./&ŸÚ²_YªŒ‰Ô5}o¤L‚ÖÑnâŒ*ÂH‚èAE¡n=Ä¾ö™%Ã¯Ûuå+Æ?È&îe¢ÐeA'ž³$·Á	>¹qo‡ü×etÈ²ËZôSêþ¼ì8ä·®øÊ¯­v³~dŸ¡Ô+¸€Òdzµ²	È‘L‰'tÝžÀP]¯±ìÅÏò|‡ eãä5N¢OÓž£0mOÿˆ¡Í˜+go�Ô­ºÜÓeDªÛM·ûê~2~d4H¨†ŸÆ¯*ÙÄx êÝ·‚ìT¦gÎ•]Ùá+Ÿîß;$tþïrÜ)ÙÓ‚cÈ÷ßqml«]ÊFZ™ÂûZ31øJ‘÷k�µnƒ1�^TØµb`O—GÍú<X¤òry½*XzVeídx\ë”:µ,×œxù«l·~ÿuZ–]$ëÀ¯Ÿ7Ý±PXàÖoL¿lZÊ$¼[ã ÖRˆöÈ;MeËú3;cÏÒ$Š±=íÛjÔ�ù6¼·[EIÁ»ñõòï¯Wœ´êÐí\öÔBzµÖ\ÆÞ¤¼ålU´z\uáx±¨ºgÑ}ØÕ‚èhCàÞÝb–A$�¾…§ŽÒ5€Ø¯+ÈÛ·=»Å©µMçy¯lqûé<Dul
xs†Âe\Dát²‘ö¦fî%¥è¥É
-Q•Åç™@ü;s¹m¥Æ¸½ý¢oí¸3_–Óì¼iKïÝ¯ùaŠ»\õÿ¦6•½åÓ¾ñ³e„¯’3˜·—¾Vë½à_2@b³[¿:¸Î|i-ÊÖ1ˆ/ÝjßÝã¹™YÖº·kµüóÝ!‡ÇÌªwW´…¹E°à$Ø½O]³ó¤O¹*�xV|ús’Õê…ëªX7ïPäŒýøäŸëÛrA‘ì˜É¡íž gjµ~÷öø]";3²�yjÐ–Í¾»«‘¬t'@ËŠ]uLs¥D|“�õ#›9)	ë±£:U[Z±XßÐ5pý�LV—¥ß­šux¹Â…)›/´÷Ì­­ØÍ‚IDk¼09ôaKo{{oÑìWXÊv:ì¹‡;ýàèÓ¾¯–ÍÓû”3ú­Ø)^õLsYÕ^Óø«]Å¨8œWc??ÐÃQ4ó?‹xÿ¤º™—*#]µÜ'
Ç'u3×3çuö4¸O¾Úó(UìÇ÷“àvëïít¹Vvñøé#=ÓšýXªú°§XF0×`­²k%^ÉÁiµÿ9Ú¥S§ÜÒ
læ�¯ú$Ý¼�²$‰LFv†UýuìVö^b�ÍÞ2ùéV¢Àýå¾ÓÐú~?$¼ºÅjJvæ÷]C·Q.óDîFz»½�öö¶¥Éª14[ÍæÉçníÕ­9&zà_™âŽ¯Ž…¥[ÃcðÇ^ÏL˜¶*…ýƒ\fó[Jm¼p³0¦4r${wc�ÊFUoä(:{"Ý/–V¯Ûì‚Õt/bì*mYÚúàYù&X[y‹Ù•_tuÍßR3r(¡'ìV;½¤šnòs‰Hh/àëœúÂ‡ÌÏÛè�«·ºj,u�ÓIFæ#D°2Ö¾º3°«ëÝÒËt®vòs¶›l.®:ì0qC·ŸíÅžmÞ
-#{Ên+v½å™úë•]N¬�^áë½ö8ÐI‹Ï�ÁhY
stô[E‡vK�OÈ»yöø{è4¸�íQgî
-Ó¶{'P«z8púúë	âe£�÷õµÝß¿µ<gIF‘#\ˆ�Az_—kî‡ZúÎÁX‹ÇŽüÅm‘§é‰/Sc‡^_b®äðâUæ>›î€¼qÁ¿ÁÀ¬dbBã>´¹â’·zï™1'än·ñ°äÌß…ªÜkÜ¼péÒû¤Â8ÿèN—A=[6”Îï”Ó‡7÷¤g@@zNWHÑ±ƒOj%Š!wý"�›„Tœßbžit¦¾ê1Û8Øïÿƒúß	Eüƒì^T˜I)óšlb òWAÍŠw¯©ëJ{e¬×¦æöG¬µ¬&‘1¦ÂõjRãüÃtz{Ëe§:¬çì-hÚž÷Ä�¢täþäMäU‡*-³™z¬h5—úmØ¦óîgº¨ û	#[øÚ$³T@‚ð
?–êÛ1)ù)Îá@“××~0q¦*bðK¿€œT¦µ!�çw7’’¨=•FÉßÎ,ßºèÐûzZ÷ZUØØ!nÏ.#7ÁX¯½ª†Ü&XFqcàt†u�Ñ©Ï÷˜o9YG²»é>bDu¡§ÿ¦Û‰3,à«¦ÿêÎ�sÙ’Ñ[þƒôó	ÌÓ¬ÓKýª
-è¸¯¯®‹ÈÒÜ¶#þË ãiÏ£w§m7Û�oc;÷
-Î{P‰sò>©&OWt{%gƒú„_NÍë~<á>BŒêx�™~=\ýƒüO5êJßâ£n.n%ÝòD‹Û´ß¾yMqÇe—IJ&Ž\´j¿·ê ×m†hA±˜•2Ï™¢ <»R,¯“Œ¾{•M08£3^ø…oi!LËz¬ÿ¹‹7Œu#â¡€¦~ÓS©“í¼ë7Aq´îØÜýT©¯ Ì°î¥Ã	4›eG¥sÅ1�³µ¯ ——änqÜ)Üƒ£WoÆ§�XÚv€±w.3÷1R=¾�\•‹©½x[iÓËÌ¢	|£1EÌ‘Ç‚Æ(þé¤!
-ÛI*^Q»ãž?ù]Þ|×]Âh‘.ûÆµn¿æ§]óç²+ÛmQgo¶Oóóup}ûK�`ýÀëäl}½ÀaÛ ‹tn~ñÔâ$dP>%T÷îòûD¹F©ûõ�±ppœ›ù"É#7qaZ±sâz6-~ƒÛ‹fXôý+!Q}ÿçc£jYöÍ[ï Ÿ¬[ì”yÆõ>12`Ñtœþ¸.:Œ§^l.û8¥¾íN¬�ßD+�´(DõÝ
m“ÇGV¿[šÒoücWwo1ïüþAâZFâˆ�Îš«¹7{ç]<öVtº›ùš¬YÚ×‹ìMh7?Üµ©[ÃMé+¨,'82ñJKð!G÷ää‰™ÜfœÆ9ý>ÑÉ»Öz�Õ³)�ðJ~Å‚OÏÒÂMKTü½6|lA4ZµG´¥J™®Üxè±>|»t·—èç¬^Ç��Ü»ÑdÌõó~!ÉI		E�®Ì³(,©êÚ¡nþx±>w˜4kþƒ´ßË2ÜÇDë5Âî+2è„"�Î�áÔnLwµ¬Äûõ,Å÷BÝÓÓeø¢feþ*jÚ¤L?\5]ïA±îwêº§�ÖçVåF†eWgsßçMýéèËTß—­�?´²*!AgX�Dºijý¸£¢úµædÁ¼ê ÌA¢RCeœÔ{7}²ƒýŠK³èU—ïÅ 1zŽ
-fòIy;mª$üŠ÷¦E&Â"÷ä"°jŠWMñóÀCÂ¬­y§ä4Ìø ¥þÿ3ÞnæÑ2/7cïžgË¬ÅE�†…fšét;ã°ŽvˆÔRjß3XQ¤ïôÔÞïw¸WD¤ß>³¿¾oÃ~Dãæ7ë›-–žZÓ�b0ØZÏæÏuNÛÛµ1]¨%ëZ˜bv.H=ëVÆ\¾‘c7éøiþìu¹óVuÆwßE^a;’_þÀî?ˆZÌ¸ü~æÐUíwÖ¢‰Ï$—xj_¾Õc�è˜'Ð=f.ˆò\Ô›y"ÏýjÈkA$\ñ3çVí>á��£	ÃÝ~G\aFN=·;qsu{Úªq9�™K3mÌ„ý|ÞÉéƒt§<
Ä/ò
¿³jAÒO'Ã/mNµ ëm¯Ü3™Â^uãýÍËjP”¿4·ò©mÝZexjáÀ|:…¾©Ùž_Œë4èjy³(°C@“cU)@m?ÄoV?xñ#ZðÌí4(®qÜï>¶?¦&o±)¥îüºßþºB‡À¼·ë4ÆýÝÆ~õ®˜‘àì
VÂe&°�{²„,¡iuàØÙ—›ëô3ðWÂ;OøÍ™’Xx�ÛuŽ-6iÁ×Jæ6<lsÖ�«3ÃÉÄöžo]:dð­5«’ôÓQ	oÞzFºÉÅŸ“JœnOR·ð8o§Ö|…Æ~³k§ãó@ƒñ™	ÙÆâ›‰ê3%0\äx`”ÙY4¢ÑB»?ÄÊà0RŠ5oœH• bcüî¨­Å¸ág¦Eöì�ž«R£Šsÿ7*Ä8Š\D})ês÷ÜhÏÑÞYÍB°hÛ{¢RD#o©25YVz\ÒÃ-þ¡µk¶]™�J'ã¡^Ýj»`Ñg—y¿jFyÙšzáí€þƒ°4>>Í²~|9@cc8ª�ó#?Ã�Â`ýEk�éú=|Çþüe°—ó-Ô•®¡VîÉÖ‘ŒI6/ùœ9Eðúã˜¼Yp]jû)£6¶«˜ŸšŸ‹ÍUZÓAË:ºÆÛÓ�„Õg>C·u“�6¿NÐuzØ…83ü-ßÔSêíx
Í?èò
-ÆøneQ½ÒÂ)TyÞw’º¾õë°vóÙ¾Xás†±–­=Ks�Eê×«µb0)8ŸžY™Î>Öú»¬zÛÞ+Ã±-¸Y»5;›n(¡cxü¶NVÍgÂ~H‡Ýºgj£C¼,<~o×v£÷Ý†¬—{2möMpNˆ®TÛ;2~/570Nv…F}Ðã‹;,€7üíº@oÿ÷‹‡Þÿêêì
4Š´åbîÒrè��äOÅì¼ñ~ÁžŒ³¼½z 8ðm»v-§Žô¢[èj%ÀcŠÞ[r˜ÝÇ›ê¥˜ºND^ôôŠûP7«°-?šm‘5
-Žßªó|ÛtrðmjŸ™ÛVä.v·;y{µn>µ)‘®"ð+$�3%æ	B·Â3RÙpTü‘23ÿ56Þ¯AÑ¨í:ÇT²\öN^¹ê8²{‡i4N5¼ºèþ²�mÌ˜Vy
¹*[h��®RŠ®§�È7l}h`˜gž,Ñ
ÃmûE(~y×aÜnËã™àº¹Vœg°6,:åo@ÚÅ—"-˜ÅÀÞØ[ÓÑéöàb¦”Reô×Ó'ß­IM>>&d¢Ž“!ÍºU©@‡pî½ÃÆ!{ÏôòoÒð‹IeŠL>›±»ðÆÑ÷è'Kš“ý-:¿—ÌÚ	ÝS’ek>|®IŽ_Fö7QÇÚ‰ÑhïZp¹zÐÍ¯çpC«o�“n€«w{-l‡ïÔœWoò$­uZük5Üª)o)#‚ífôw7ïiþCéÆÑíû%D[©énº¯ÏÒÒÿ5î?Ê7¢ÜðØíõ€\×Xl†6´/ã…Ý…­Žåç‚¸v®ÊÙ\O¦Ø(q2µH†Ä#5¨,Ø‡ù“g´�s»i¼�aËgJÕOýþ“·æ¬]ÉIÉYsç%lÓºÅkc|kuw|êZÆC;œ†Ú'é³ÕÌÎí¤EYG4	>{VÌ]Lšf×�¿E9VI›¬ÝeqöD+ûJÏRé…oKÓDë7„/•«RMJ½Qß8Èl¿¿,yF„qöèš¤uþÂ–%ã½�)^­:	}¬Dú©Þ’¡|¬üU¬5*HuÚyðT7ÇytÒÌ˜Ü?F|H'08Þçä"¦r®Êå&9‚°_œG‚|ýÌõµ0ßú›6+�VÑ›¸ôh~D‰EàƒFc�€×¥[~�VÊ¡Ð
w-`¡¯º´_¿@‰Ekù&!¾Ø¸çtã¤ÙªgêË®V>‘Ç!r„a‚�IÀö%+–àã®;ì/G‹€~ðrAÓÜx�èI/³t2<Ý�“Æ—ÃË…ldm¢:X;Úù}w7aª�çªTÅsÕ¹r¢€ò[�«·ú#pJ„Õ$ã|Ã¼�‡Ív™{óšzrË££+;ý’¼ÿG×™¤ª…Wpa@%šQ�œºÉæœsvÿ�y5?§j˜î>_ÒCuçëzP�©ò¨coœòÌê#ñ_È«A6|ßw­”èº`ÿôUÖ8'�¨â€b-¡ùÖq’ÇH·ZJ’ÁIM«1<5ÑfMu—þ ¾JÂ¢ñ‚UlI9žôMy/qÇ(®µ‰[?Ç˜”Js{¶rŽ[Œÿ!Úöõ°n2Œ”óbˆé;a:‡T4=iáø¥;(´åžƒüºªyÎNÌ'Jæ´kÏ¬×ÙËlÎÙíÛä™ŽT¶‡–†Ó¦²Õæ×w¤…Å,§Î:×¿®›÷ÕŠõéV|ê«Ý°b¢#çbœçÅ,a
G¢U4·VIµÓ;¹ÚÍÑèfsOÎšþÊ…•‰küN­®žç‘Qs{—Í§ƒ
-à—_Á¯e¤ï­™%q`«6‘#Ï&zM:L¢ö²:j[êÎ]­Þ3ín~(Oì<€"¢ƒòŒ«¼ú
-¼m§d®PHµéRsuL?Nèè†Q	]¡#´ì7vùG¦û`²ß×f-bÖÄni�†¢6Y.+Uç¬õ	%‡Zï˜äHÒñ‡µŽìËŽŠ#ÞiÅ'JG8'¾¯÷üçÃÕõ.#½Û[8Í…¶ùO¢KF“¿øŠ:“'Mî›~å·hBT¬>m¸¯m¯í�W•ÖrºSÑ¦Žº+–	t¿¦‡í×5=»yÅšÅK?­õO§¾CK¤oùçéf<»oœÈzŒÇ2�0N†—67±CÊ6uåYk¯­[ëû/@)š·GLÑ�øÀ[ÜÉ�QùÕÖLµAz®«ßræM¦„]X©Ý%ñ“‡i�'=!iOä#“;¸­%G)qÎTL…áÁQÃ<ó¿PÇVô£=²”©ÏPÊ˜‹Ñ³ÖÃÅ‰ëç}‹¿4ŒÑuÇöúË>H“Þhö¶—F²ÚÌŠù³KDGdœÎCÃ¸“%’Þ1Kâ¡ÕÙ÷õ•
-4&ÿøš>=?m3©é<ˆàñ�Î{aŒE'@ÏÉ«`ëC¾•›É:Ü‡Ît^³ÓyƒªªhOþªqž�ô*éÓ6­ÁºmZ«}¨îÅ–aÇÂ÷R­dQ‘¹[”o\F�æ¤1mŽw’$ä[ÛÅvTãÃ�‚µÏ¨ù¸¶é>¶»ßÕóXt/“q7~]&¢î¶&úáÈ^0ûx¶ÉxÏ˜H)ýâÂµyÏTŒP¾°¯–ÇmyGœ?Æ)'“îµØ©ƒßfjøâ¡‰Ã:¡wú/Ãâ»ßžP‡šqc7‚M¦Á«VFUKKÏ(:9k¬¶s®ºÁ†ˆ>\ß[»­•Ø9×7u¬ÑÛ;â)"MíoDÚ^­M¿UzX¢zµðrÖ½ÕíŽÏõñ£�A{¥¾Må¬UJµ‘ŽYRª�Äy¨Ù<z¿¶a�ýMvú#ÅÞX±œ¾M ëx»U9Ú6ÏfÓ§‹³Zi�Vì2€vt»Ê#´¸9ÛælVÖ¤'�…¥µÙ+Žßë°�ù ñ@º�·å¸nw±% VøŒÇÌ©\�i7±,�pÚÚ�¤2þ -	l(AWk/&¥ÏòìàfEÕœÂ©îT>õ2|7ZüVŽZÆËÜy­¹qàé
-w»®¶p€ÎsV±¦«ß›—¹>¨�î»1àÐa�†¬w¯ª%I¥ *�,�]ÌBmÁ;’I_ÌŠ;*ªþ–T®Ûr;c·DÛ?³©¶$šç_‘c~'ËR7k¢ø]¸˜°š"õ›ýH¯v¼¸Á¯ÚÈœ¬h–¡RX¨YügC½Œ¯p%H½©wYI‰!KÓÌ¡”ÔÝGéÆ‹DP}õ:g~hÙÖYœÄ¸»ïQ}zšÙfÅóÍß³
-a‘1­˜`Æ~ñ�¼—ºÓGláú$àm†Æ©{?Ðä·\ñPéAYµ‚± (ý :>ýdäÃ,?‹Mf4Nö­'¯òõï¬{=!¾^&{­?æ?
-Öú{¿2|%ý7ú²œÄ®'þs_M%¾7ª÷‡c»×Ó½e-*QØ7¸9¥V^ÑZ’î
-öó3ÁS7ç¢b4‚ì
¶áJ'1ÊâÑUŠêq!e©ÿº°`´zæ‡ß¦Xw]bô6d(vt-Ë­Ütyå“i>àË\Š]šÐ$5yÓ¨zûÎ$Öç•´ÈUýIxDu³bfõz#úÞAJþ>í�KÈ`Ts\iv¸°�¹”çœ›2Z]Tk‚?ÎÆk¸žh*•9<Ì£Sá‘Å£8-éö°>¾4!56‡ÓëÐIï�ËiøiûJ˜MÈßãåã:ÉÎ…Fó¸¹�s
ðN†ÝŸå%Kê}x…l•ÛÆæ¢í¬w98b»ÿYùÕkd÷«~»ªØqÝ®E~t¶'½¯ª¸ÑJ
Ñ8Nz˜w:U¾&ö6€ˆÍŒù
Ê@WæÓ‹×Vc;W­þlY+/§Xïy�l¦õ'fGtÒ¶g~XÇÝbmC^è'îz��ZÙ$_~“¨f|àj¶wœ¡¦Eäq9lì)û¾K6ÿßT[»U‘nÚ•YW»õ©’yT4°o{H¹Så£»>×·Sâê~\dý©<6F)Ô�öž„à'œLÇEßYYÙ<4íbbiùÓ4‹‡w†J™|­ìN³Ãàývîi–‚ÚÙ}¡á¤ZõÝ«Œ[ú-Õle<M\m'@c³Eºr~™öœ×kØ2gÍï¨ålï[(Ç�5®±Hµ£ïSø®Ïu;j¥ö‘¨vƒAÙÈT¼Ý†{oùËNgk äºªÝ×OÝ;Ž’�ñ{6Ö|¬…À}mT×Ê¹‡i“ƒû²›ÑRÙúÜº¾êÑ©0æ]k$f¦ŠÄh9Ø„Î8™wýšµÓkX­¿öFû=yJñ¼ ú'æT3ùÚäÓbG—ŠçhÇÄ?Ê³Ê©æÊÅ?g`Ä´ÖK×æ/àH …»þÝ‰*›UüŠ½·˜šþ¢™î7º7ËHš5À³_±Æ74Ç£^Ø$ËÍŠ
Ûš_<?Mœ³
-¤¿ÛßñiÀ£í#9?š�žÕªvÜÞS,?ô§y8IM±>ˆ–Æ71¾çÓ6óüÅ7ª6o^,E@•%Ÿ®GztV;�Ç¯—§™ÏÈºÅC�ÎZNë5û_‹Žô6œ;ÂâA¢¶MÓàÇM�ÏÃMã/mŸ2Õ,ú>é?¼q–’¬à9ÛdT¯.³X) º
GaõøÝËýç©˜°'[·júQ­P›�îOv¤ /ßuÊözÀ9/Wì‡þcGV°$e‘aùŠ¥Ë-noÐ›–z¦bü+m»}X8½5ÒÒæ#ûhÏ¹`¨	ÇFÑÈ=¾sûã®Ë|þ!oÌNgUN�Iw3±ÂÓ+«x¤æã%`FövªV¿6œwò†ZŠv1�–²µ”ô´brûÛÉVì™-¾R Z”›ÁkEívÔ™gµßÀ® ZÅZÔH@Eû¼(N@“]ÜC–{Ë–ö¼Å]¶1œñ�»õaåÐZ²/^�ùµmTè•v5(.;ézdØ·Êil�îÕi#dät?h	PÞŽÂ›¾±gºRÚñÿó^K·0¤y6¥áÝ…åÅio%hå%Z¶]€$7ÜÙøna°šPù›Q›7ö4.!Ô¨ñu`½‘Ðê‡¨'À�+�W[Ó„Ÿ'¸Óó–[ÖgŽU| ZI;”3w‹V/¼¹Z¶¯Ž²'-»áwN
íŒKN>GìÍá9ý‡à²8°_®u�ùµ‚xòùÑ÷�º³3íãB3fSýëMrÉ*—zßîw�ÖÜç�¬ÉÕ[²dìÜjmV´»Ç³C
YžwÔÀ*Ø÷�‡n$D”{:ely›>`½Å+Dî?ÃôgVéEJÍ¿iç«UÝ»Zû¶Àho>7³D0‹ÜçB¹žÂ�lÇyBÒÒ‘’`h0;ùãÎã|¼ãK”™oF£f©¹?7>ýÝ3O¸nòþ6ƒyú>[âPK˜ÇšXùñp°‘J:¤úfyéZåíÎž<·ó�*ÇôHUàÝÐž
ÚfR`\Ê¬e_©7¢V\nOó\,ey¿=È¢dXÔÚˆ­ÊjƒJ¿‰÷vC»]Ü¹x„ø5ç~ÙÛú}ÙFÜ†öàùÀ´Œ™óêë›ÙKæ‘ú2ÕŒ»Ý©ßŒùõ©b¡ý™Á¬6§B°EæÇ¬’¯¤wsòÚ2ÂÙ�èLÂU\#¤´fiN­™²€~6Š§`>Ö½ƒboÇ5�}—1¸ÀW�vêj¨þ¢$L®ä¨>;1U³o3[ÛïãrVÉÝ“$B7¤S7¬7oê¥ñ …mýóf
-:½(aé¹+š‰^ì.loè9ùÞÒ¼([ƒ÷–|‡=Ú®Î._Ø¾ö¤`Vz´$pmÔÿú`•˜��Þw¹·i;” JL¯_œƒG]ñÛÍ[&GöYQÁ§XXÖû=égk¶ð„Å|å�mßÁ�íŠ÷vFüîiu'¹Ð>»Xï|¤“u¹ì±€\±#œ‹×£m²*zkÕc8eHÙŸé´V¹æ“Ê¹”`÷ZWïþów‹_
hëRhßËñÀã/H±JÇùHnËÏXõÙ+hlG1w�w2J¨ƒ<^ëm!"#c�ÞÞ7ì##'Xýô‹¶\éžáÑ³#'eoy{lnÛÚ(wŽ¶„_û¼Ž‚ú}ÑNý~éƒ
->2ECÀ7Úî�îøûù‡PùÍûgÕÙøÍGì½÷>Ì¶`ÓâÆ2ßL°ñôê^²]{Hkm1qwÚ\¶—üãBZnky 08ë†û–œ°±9dø3q¬q!áûû&²[?{OHjÍM°¾7[6é
_í_þN[ù¶þ»æ…üg|óö(*Ù³æ¡NÓ]�g?]*Ë5�5!~ûŽC¯�rrlÍ²µÖô·©úWãO+×‘d£öe#IšÃÇáqj«&qm§uñõã/¶gé^ç{¢ë¾+Ñr¶€7–ÎÝ‰« j)Ú½ü¦Ü;ËæÍÚ
-‡T�RÞ$®¿ß�`õ¿h2ÙÉ,>±mäòzhY¤ïÓÇ¢½ª‰ÊµïOwœ=”¼åÄ�Š�kÓãk–=Ù+ÆWpwÉžî­½-©„M¿ñT0›ì¯H®òæ¡yþáY%Ã®·¨7Á«çóÖÊ>
-äç4¦ìæ½6æ�Ú|ó‹Ù)“Nzëîxf£Þ.P-|Ðp9eTâguÞÖk»yËÙÉÂœn§Ý·q p´}&™ÊÛÊÎ%.0y§|ûð^.yÕ‚Z~¹VÓ¸›DÁxjYìCÝ|ùsßÔÏŸ!é$}§sêš´Ð™:ìkMÖÆ½�bÅá#«¬ü"‡‰gÅ³ß¿*ã–ËÂ_·­_jè�hÿs¦ÏÍFeÞ	a<Éuß‘/íÏÝÐ|àÃ­S–†Æ
-¯²uç'"Ü«EŠ˜AÓ¾©{j¨»(ãÅæðu;Jg½ò¼Z2þÉ\ŸSY™S<`}˜
-¿
-Õòå\Ëî!BÝ^$ë
-¨Oö&¢ŽZG{ü9œ2m½pQ:Ç/pÿ€Dî% Ó¦Þ×ìœ´;Ÿ­¥ßÀ´Ìq³ù|8i(
-»/­M*ì}+âˆƒõ�Ì9‚s®8e0hÃxÈâúŠ;œrôÙAe/Ýß‘¨Â·'°µÒôSc‡ðèÔF°¶ßJÿ�Z¤§œ¾_X^®lÖýµõ˜EØ]¤k‘.·^Ikˆ°9}v2nš!ÄPwÖ�vF´$²·²‰ùæ*æÎ Ø«€�ÔÇIí1˜9Ô´™%>p/˜.kç@û>Ì¿K#½é€¼?¬OðÜ1F7	òoÇ,YpZ�)û“õ­ûTKsp8bD
îê‰‹�î¬“ ÅŽ­éÚaûO
-œÎ¿­E½-ü¯»Ãai°‘¢µ<û¶òÁ):`ž¿½:õéM÷û?vœÆéÔì%yËë.aŒ–Û�Ô­OÓ­ˆ’’~ë÷lœ·ÜCDä´Õj%ÆÙ	B'ñßö¶ðj„TÔ@Xœ^ØÍyKúßÏÊÁA¾Ô´|ŽõÚÆyì±è��Å“I€Ÿÿ•Ì™°{%Ós0àƒ
du„³ñÕtL`®6rû»þ¡áÃ@½lÇÌ!ì4mgPðhSæY]�za$»»=z¦ÿ­AúšŸHÓåîPOL×Vba«$:CùL
»Ø~ÛÑÄ†xJùôfõ™{1Êoç&ëÕ¼:oÿºvíÇÊ¹M‰z¯®�úbê¿¶´aß¶¡ÎÛæÅÇÊgG®bR'òeÍë^vµÌ.œÖ†�r·7«tÏ›b˜�Ü¬ã<ê8E\Ðµ»Ó2ãðÂ=Ÿ­EA@§äÑÒûöË¢†[õ½ÁÑGÅk!Š(qÅ7Û—0Óëí³Tºµ-ÑenÎ“ÜÄÕùC¶öóoŽˆ.*1WŽÀÁ§ªwÒ¨ñ„iÎœ�ŒÎ?Ä#3‚‘údi`i§ÃÝu•s›ƒÝš�í/Sç¶kï‡ò.²wµKÞ‘CE ¯\ÜVƒç|k×ŽoƒèýòJ�ÞJõÌNÉ¾”!ãZA—ß‰™­¥a%çü€5æÁ4ÜÝQêç~u^=nÁµdBxÝÚ&h‹1dAëãþškÑèÀÅF›å•ËR"^“=ìAòé\~Â€{yÙoÝgê}ÿ‡4&!¶‡qJkðÙØÄÄnwaO"îÐº ¶õKâÐ
ÎÚÄUO½‘šoÆ}·m^ëÎµ¿ó'²N8ÏïÄs”…ùa¦×\Í‰×?~:�^u¼òM"½Ì�{ü¬‹�¥¿„Ïþràªƒ	Ô×Djú—…É(âò<ó¼¾^ý0‚ÜDø¶3Tr{ø½cóF„’-·~ªaehâd6Ž{kì!™Î–Ù­Ÿ3Tºy2ï<ãÏZ‰‚ˆFZAt¬ÙFãýßøƒÅ3ròö×gÜ‹TóÂeÇ‡1²«)ã]ó¼c SYÎ°³[–Î¯Ü¨ë³eD7–8ž¼Fþ!¢örŽaÃ��2tëœ½ðã³{8IÃOÃD]oþT6�¨
-qn¯|·}|¼Á³•(æ[ü�q=j8I#ÐZ§©ø€Ux‡´§ež—Öýˆˆøf¶c«ÞœbdwÁöòP=“X5¬h=ÏZ/6™¹sKØhXÐœÃ¡z�n?0ÑË—ð)Ïr£}˜–K1¶–
-6OHHEåò—wGoy‡§O1»E}£±*�ßï^özrÁ?ïÊÌÚ…˜âsË™9Ýñ–rsh-ìoË�|JG¬&q)Ø�uïJ‡�¾,¿ÓGbz'G_³9N
w?ê°È7­qTù¹MêïÝ7tÙd]PÃ]//Ž�Va¢û;ÿ„æÎê&]“4R{ ù–?i´æ°03¹!ë©ämQŸ½Ã¯uªä¯®ÖRŽWû§~–ŽC;¦Yýp³Ðpÿ� ¯ß¹CThsq?úÍçã»¬0/-<ßÀD:y&=»»û¾ÝžÓ\Q—qÔxÛœ:ÓÊèˆ¾¯"xÊù ˜7Ù½zMš�Í9…�?µv|—¼_µÌÃLGòÜ›µ´eÔë H»«íZ¯BöâõÝrnÈK&h­NÁâ³«9¥Ê§`h?��¹î@õ�Ì’ÌA¢I»Þ
:èƒt KÔB÷ÅáÏmü(½J¤‹†É“º6.%hßtÚaßÕ6F¸Í=ì·~3ÿ'Œ*ªÖY/œýr(øå·´v‘<wÒÑLóªÔ¦Ýjt2qÒ)˜¥YýŠÖÃ4m8µÎBú›2C�\‚§Çüµ“¯S¿µ£·Y¥CŸ›�6’y-i�–xOñ°AûTì¥î†Ëé¥
-Ý>ø·9Š×Î<ûÔ…ÄÎÐÇîðÁ2uŒ“Š•¿Û³Ïpæ»…iGùâËvÀ	5ÜKeÐtøPkÞÝeƒ&[¹a@{éçM;Ïí«ÛQqÇµCÎ©N‚—Ÿ‹³E|jcè ÚÙDfšPÞùÿ	¹R…�¡÷—oJí´®þNï–ÝZYíÑä%vüüä7ÍÈeLQûoº³Ý…#pu1yì]œÞg6õË+¤¬¤ŽæÅAƒ¿{í¾¶Øö»$™%q×„f…=-Þ­ 5Ù�3~€b])6ÞËIø4)!Kù²«å¿GØ¼¿Ú­¦ÒÝº}z¼»;ŠªÄ”%–£qô(rûÑ ¨Âò¢¼kò%¹Ÿ¡’k’ª/1™¼‚wÁ*•š?o¬=Tœá’}îÚh/�+¨ü\O+êèöa¢»AÍx#eK:z©_Cm;ÿ±¹ýømD�ÒØ¿O‡‡š'+yAÏK/#*øÁA¯ØþEË¹Y•Í5qÝ«j×Æt×ƒ–ÑýZ?hïÞ:œÍ?Îw&ù`sR·f½0¨Y|æ¼“_º’ŸãÊ±[F\g_¥ÑÞ±d€!³þ!1Èz²Ù1	“�ŽIøC“_b$Ù*9ÏC½Èl’sb]ŸEÎ¯¯á­æŒªC{�i÷]C<ýÔö ºg%>Ì<…zhýkÑ6º�Ùn¸çþÞ²á`åê4Ï±�+a¯ûÇ‚Î«Y’à´«Xßk)¹!UTlw®åæÖÚÝNëE(ÐÖ<†Ý¯ôý¾`ÚÞiaëm˜�åe�‚»P£ü—|8þC˜ÞCkClß,{ƒ,‚×@z�gBèjÜpƒ/ùßz
-®:Mã¸VÅrÊ:bçÂÁyYï2zw:×Bt,Á[Ä©+Õ¹_®ïÆG"Nù"4²Û+?‰*ïzüÄCËé}­*úi¬îð>=«Q‘+ëRsÍ¹¯Šó�vÜÒûéF!Êùvy.1Ö°¹p©@T¼æé¹¬™Fâ8³ urßÁãcæ`~¬ÁËü”/ƒ½ýýmq
-‰Ïh$<­­é³_ýåŸq+jÓmÁnˆíõW
±q)Ä„»]þ®EÃUÁ×¬›ÑÉi×7%¬2©Žœo
-a4i¢*;)µ±„ü';6™µúçã—Ø�aø]·äSÂ¹æ^žïJMé+7/¿ì"ÎœÖ²È²pòÎ§lÃA•tvtãjƒUŽìa¹?ÔÛþ‡øN_­‰òµ‚	Jˆ^WŠÆ�Í÷2óÛïŽ’GQå*ºtÏK8¥[Çª	#9ãÛ³Ø÷/áXä°õG~‡ùÄd¤[»V
-,uÆ«ïØ¾×4su³JÖ]œØ‡n×ÒªÂµ•šBciúé¢±ÀNÝãÃÆ ¸»7ÄäA)×T^Ci’\¨Ç…OB‹ÐŒ�FÅïfEccX—õKõûŽ
-Ðª/y@šjí}
-¨Ãªö!+Oš³;¤àu‰Ee3äiÇNR!v“îã+¶u¿E=MwúÜsüÄŒ0]£0åi|Ð×Ì…à·‚iŠ}ªrÇÜ[¡Ÿ÷îylŽ-k¨�½ÎjŒ^G2Œc0³w½Ë°mòœ2–Í Ù¿Ä¥‹²Júè[ªõãCúLùõ‰ÛÛmauõYðÉF®ÚõØ±3ñÛnQPÍµa±Ùj&ªfì»Ñ†ÎPi­úF%ŽˆžËMºÓ–Ý�T¸k´Í_ö]®’Aá8E«ª±e€£�8¯k—æx]zÓ°<Ã9gµtkÒ¾åŸÕ¢v™
ùÜy\ÎI‰#¥v&þ!lsÿÀ&×ìý\^©+—+,�ëgï‘Ju²}%(Ú—s<€ŽÈÎì�'á©Û¦¯sx>yhôüMˆì�|^1Óò"‡7oçâ^Àƒû›,¹ËUý*—à…¢ŸYÁû¸uux52ÿ+.e_réÆÓµ•»FïlÃ½Ë†ì"<.r4[²•,ë•¸€ò�M=EOº“9ê�çG)…Hæú¹²od)ÉÛ¡û¹óud®õ°(ëØVÍ;·°|¤—;NpÇëúo#XsÒÜ�&[wÝqB¤ªoØ®K¤vÃuÅ�ëEwBÝþ9H8g¨lnÞ^0øk*(�÷f':æiÿ‘Ê¡¬ú,óîNç~9q[þjrdë¡»V½š› IDuRÍ
d—õU'¥„9ú˜èc’ýk<<La³ê¿Ã¾õ©ÿC¢Ü~CsµÜ^
‚Í´Üwß\õ—oÜÅ…·»ó—ª6su¯Î^Ú.ýÕW¸½ènÉGxê¹A·?E™S×­Áyl¸—°W•Gù¨¦p´Phsðÿm”n/×:4j
dÔ7üç†½*Z%ê
gh©_®ë7^­^åúñf lï™¡š¾ñ
-Jê¢û}÷±}�fm«é„ïP½Uê|Bª‡Æè r‘ØI2¶¤j?,°8”kû¿S/‡Y�ÎÙ^âœ{ø^¶]ËTµsuYëÏ¥öŠÛ¬goý†zÍv,ž–/¿·Y‰ùmŒ©ë~�±�KæŸÙ®t‡!­¢=Ž2ì{þ@…(Å1Ø	3àú+£ó7uã=Ý©)•x_ÖþáŽyÀ¾Q|%4ºÑ^èÀZ¥t%»€j=úÀ^å—–ß­TöXÿ;(€ñÈK\^QŽ]"3p*Ùz²H÷ÞìÌ¥€lY;’azCsÓ¤Û‹êÒ6Åˆ¤ÉúPkU¯	ÀºÅ$Àõe‡Ë4[ä.¸?ÿ)£rå÷ƒ
-�nú {Úv¶�yÕþ/~¢>?·4K»÷`.Å�:3mp…&fbi¼N@¢¤dx€Ø=r½õý5ÃvIëáŒ'œ£ôX?p*@ÃYvÒl¡çNêËÕ³WX 
-Í�¥-ôÔâ5K|{…ÛÕ:°€Àá»û)Z•‰dqbá&za®¿4ØˆsxC›ßt[Ž�aÁ=8Û6�övE÷Írô%tâ�Dc$p¬_…Žñ\ÒÏ�2âè•�€K=‘ß²Øó>WJ¾àù=a}™1æž�Ä«7|NºÏé,³Š^lï{4]­"M×}LØM­ Æç…³‹zÞÃ¯)‚˜¢Þžj]·öHœ,%�¿ËŠÓ®árÊ„Èºcç�wß:Ê\�íçGlµuéyë«sŠj],×hL¢»‡'æ%(ÕÊŽœ“«œlÓýn‡^€3Å™n‡_§ùiw„€ÓÔ°Úþe6)
-ªË1£Ë6¨^âIœŸ‡�«+Ÿ#;|ð)Lªµxúžp�N¼“á¿ˆåv]tÅíf¾|Ðµ5ú:!5>+ÏxÂôiOºIÀ¢x
uÁÛ˜ÜóïøôBèíÍ>Ô0ÙohzÚŒ�eí`�ŸLÞáÍóE_Öpôy6Ÿ{ÀÛ¬ì1/ÎŠ]5vŠ3êŸÂSO3fêýéÊ–)°=ÝÊ§±.ˆ»Q–Ä‹QþlìÏù·±V�;=ÒN‹ªa¾E;7ß"ˆbk•“/íöþ)yz¬~ï‹ÅšËugbš¶qëýT-�Tïª%rÀ<\<V�q@¶±Gï`Í�§Ìõ™U¼ÈT¿råe/9o-K{ø®Xm‹› ”t+O˜`?(ö¬E=.)ƒc7Ë“ã³™JNÓº wíGØ³Š+ùI0¦Õñ¼)|šÍ=ãÇ%–y~V€;_cØ;¹8
K±KÈtÑ‘àÙx8°Rrójqƒl•ã;ˆ©vX¬ÜjîJ›µ‹F‚hõ–£&‰ÞWK4æÎàè�{‚ï‹¸1Ü¿yw*ŽÜn%œÊ‹É00óÇzÕy´½¡Ú/ß;]T_–8æTÝ>®2v	¿'ÿÉµÍ–\ñÎ} üºµn;¯
-ñ³\Ø¥Êº)É;l‰sÁóÉ™×ÉN_Jï
ERÝ�×’Ò®ÖqÊ?.ÓwÞ•Üyb4¸F£z9ˆŽck•ï·cÿy_�cú[žw?j§æ×&«kx¸ÔnriÖÅ
ûš“2pÞnj¥�«Â2ûÉÖBðøIGŽÛ]–<Û]BL4óè±EàƒátÁ>/„ø»ÓžSì}B¥.®[V„Dn�EÑ’�aå-¿Êˆ*C-Q/Ëñ�kIÝ›ï[í\„Kö«­Xuéaf^ïJ±ßÙ�ìÐèz×¼uG^z-äÓV´
¥„Nh#EÅ^Ñö†Êø4Á^–;á‚�=mY�Í_cÕðå"��ÓÞÍ:ßÜuùˆYqÍëu8éáˆ˜YhàÞïëÛ·æVV­^ûÎÎÔèqØpØ¥X	Aøúxƒìª—Ú%ôRcšk¢}Ü
-mWäO…¦ÞhX©ÿ|¾3#›Oäi”*¿Žñ¨_yÕœö$³€x¤p1`Nç‘ e•§ÓÜC¾câágk×øÄ%|4¶N¿bQ�²§$ÞË„§üžß¹¶®µUð.ýÎZÔóú-÷É´RAõ¶•í^7­+sX~gšÆl}·8¦s¯JØmo­f«�íÌ&Ó¾{Òæz©dGª~]¼óN‰Lž¾µ‰T–¢­y&q^<õ×^ë	RÄA
È•Ü²Í�ÏmË9VRÿ¡¸]O¿ögÐW”œ×hDÃÏ*±*—ÝG5á°"îZc.9h;iÈnL~m¦
sFÓL­ÕF´í
õ¼™#®\ªrû1“¡’­Æ=y®™T²‹ð¦�‚BÔcÑ}M`	ô?^Ní;¨ÛéÒ+/žêx;7äƒU.w7†TåÞTQäÞÒÕ¶H²ÕÁ£ÉEŸV‚K;
}g*6›[Cç3îÏëÕìØÒ0Ïe¦pOjùi•¾ÃNäHä—×“IRjÙÓÑØ)”-Í¬oÑIµÕŒT8”“š5_7Ú‰¾D5Á8g™¬ïÖó>ó÷ýgVÉÊ•¶^ÚÕ(m½&Ï$šé9|°®ÝºŒŒº>Ü6Y²rrÆ£Shî>_+^ôA[Ê	Á(x†NÅu*/‡ó‡µqàÎªP5ÛÛ©N´,YøÝR„éä‰p[·\{X€�Swu©¶rêÄ¹xƒ‡§¿a¯?OÖ½ía7”’`2t‚{rŒÙÑ�QD+¨kz…›„Cxªk’mól°ï9¹ÜÓ·a¦/MRmå¼�Ÿ™áb‹dŠšNæbÑ>ü 3Z&i7Ÿöen¹l[-.·î‰ê×Tó«´/5Gø9â^{QÛš¬Ó*ïf@ë�r§*{ëLÜW¾ÿ×?&¤ós¯øKœáÊ®cRcžYì2,úbèÎä¯kÒZ‰w©ÞÕ)ŸÔUùÍòEmµ‹)ýéÑ£}h–3×à�g×aöhÃ¬zsÑÍeoÌ‡x'tÀËÍÜ¸ÈT5“©�u{­5E×só2�ÖÒ$óZ÷ªŸ­¤ÓãZ…
øõ=ù±õõ‘¦ÆÜØ2¿_²
¸µ^N
-ˆ”|µÿ4�p¬:‡géª¦Ímœ“ä¯ß*7¨ŸïÊœx�ÇœZÅèëç’•,Ð[czè£V…/Ýì ¿[àÅî«dÛ‹ûOÛ3å$�(ö£·ÖæS_U«#‹Vƒ›!F/[Æû)•šq×4Ù‡’¡rvº¶Øél»´œò²Öj÷K
ÉúÃ†�÷ÞÞn||0Sb¬­Ö»2x©-§VÎm\ôÉá>S÷å�`�x>2VgþÜ™˜kóìÁ4ïs&j»g†}ûá'w»˜·U¼M`³»ƒj:\èËÓ} Ìr¥õñßÙtÊ„Úuè;ÓEÅ`3½÷ÑñÍœT6Xcd™`Þy)³ùì¨þGŽÁ…ß ¶úAöY~ÙN#Çˆé‘q“,I…®ÃŒŽyí¨ðŽÚl#±S:g£r¹¤�ÎÈðŠŸ+¦ÚEN
½ŒÆp”—jÖ`tð.¯Pý˜VCÄvjÃë™}øQ·jœË­™ûão„NÝç?�¨–«±gÞp®õ[/-¿Îú:°Í“š÷¨A²‚!.º6úKZáOoŒ3ƒ\”ý­ê€Œ|OA÷âZSŒPeá~2ãïõBïõkqûwd$¯|—ÆoöÛ6:›;ïÒ�ÉÃÏu·ç/Û©XD>æo�{çj~\¡Â‚Ê5‚Ñýý~ádÇM´‰Üä»KØÍ­¨’1v©øø‡0¿wáæeœKšs.SƒÙsò¾°nÕó,TÌY#ÅûŒ¢tŽg_¯ßiOC;gu«PÍœÅÌ‰Ó›nÃi¯ÂÕ%¯Ž1‰.¯FÓ/ç½)"�ÿî„ÔJo<ìSSg]Ë´B�¾«Å'²¯àj]¹õi]‡v5©/gž&é¼gçQt™±¾ïWîÌÙ�éÀ½)/Sˆú�ìßÜX¶”FÖŠÎå"Ñ½V2oY;Utëø[AJÑYÜS‰M–“¯²œ2š*\&žíñµU{kU–:Ó6}û+sq}Ëv]¦MïÝ‹ÕÆÑz/ˆ‚¹BºõÌœ£´2
-z‹£¹ˆÑj�müku
-¤®7kôÍ~êÙ|©»bz½1Ûçgß°q—üÞªµüÔnÀÕà2¤?y éz:7™ú±Ç4úÔ£ÉÃ3ïêà¡ ì<5¦ÏË_�b8ÖÒ¶Œ\ŽæáœÈ6ó"ƒú¤-dj£™[û9¨æ±õ/Ù¿Q{fÔëGÂÍbAÁì`m|O«HÑB×*,us‰ê [t/okõ2Š–{,9ŒÌM’•ö®µµ…pRy))|?T@y×L>úØJ,”Dâ<ë>ªö¢P�Œûè6—-ÎdÕû˜Ë6iÄ
ä÷ŽÈ�cê½Ò~F¥jÃ�ÈþC°ç®õwqÜÒqµ&8Te0†óÝ£bTý©]—=ÇÍrÞÌm"ÄÄÂ4;ó)xC4»!ÌÜ`Þº�Ú™*VW.Ô.¯¯=ôw¾Ô¸•¼ÊÙ›þÝ^v+V£ø\»ÃÚºcÐ‡·&}â�èÖ¹c6–gž›¼ï¢3ïcE«Ñ:äëà:ù94Ë¾l²_hã(KÆpyüœ´®ÂÍ %¼… _`Ý¶¬&®Šç¿ér}Â5€±Â…F–®<�Ê¦sˆCú)á%Wç“ƒåíð”BãèxƒõÄ¶�eÙo××h6ÞÕ´¾”™ƒuÂp†Zú´vRÔEø@ØnûÆvù)üC83�[~±.#æéÛuågÐîd<ŸYWß™à�ŒmxSÕc÷¾wœ;öè{Q×¾_[SŸF‹FÉ3o �EÂ?>È8ÌÏm³Ö‰Wô†Vö>³V³k•›U
-ÁÚ…Ê;²ÛÒåí‘yåÙ¯{ª1J*˜Ì1/&­Ãý««#'µ›…yÌ§ÃŠ®µ9ó!Q€™Ü«:—¡÷–’5«j;¼ÍÎîY¿lÂ+82û„þ"'q›÷¬^—Hãl­¥©|;ªiñ¿~k¤µçBÜä‹MÛùgÔÐ	‘ýo@¶où»U‚J
r³ùÜsË£¶<YìÚ WÎMþÞ±º]×ª¸óP¥<Nâ¶tI{t�-òÅæ/Ò€R�½5Õ6aÏµ
-³ËœCÆÄUóe‡¯áÎ&L%~sôÖ–“áÝ6Áú¦ú�ƒ¤¿.KâöJž?x¼«&adF¾’¯a4»¨¦ßGç@�”çP³m
-‘ÁF\‰n`ª†áíÈÈn–¦±ÐÆ’)a¿©]Š®GqUöUá®6ˆkíÖ"·ÏÆzSéÊ~üæÇÚ’líìùÕ€,Fy,Ðcø£j^[~Õ^ÓöÃ®<:mKçÊÛÍÜ¿çnwÖùYNù
-9Ûï¦ôµöØ¡+M¨QM8û>Ï]ÿ!¤ÑŸ¬3--_�²ˆ¶Î´c{ýå0s2ßï�–ú°Î”7z¼Dkq�eOë°Àç-{ôa§lìl=¢´ÚˆŸdùƒ�Kûý}L°¹XºÃ®^Ï<Œñ5Ñ��çóŒ[»ŸEsµ~ŠÒ¤çS‹»2…Îxs«9a�w­÷5¯RËttýb{�EÚ\Á³f—AI;ðMÇ=?ÈíLã÷ìhºÉyó{—ÏkgÎplÖÝ³uÔ¡�í	ËÈ-r�þÅ2$²»A\‹{õ½3w´=|mfØi•$NqO©†V8¢–qk„!SºÜNò«Ö�Xó(Œ2oÙQÅáÚ'ïÅ›¸»mÎïüÊýÕng»±Œ›$UÙ9ÍDÃ>l’Tõã!>Î‰‚á±öÛ®QØ<­ÌNWw]¡I†ƒ+¬bùÔ`?ù^ä§3DÍN±hkÎyæ{E†MlÃÏ—°×ê:qbŽèo¹›y¯ÚaŸ`Õ¯d¬Ä†($Åò¶·3ýöìØià#ô	¤gqRçÑLë'ÍãÎËú„[iøqíqp�ÀGäÖÄæîœIP—õÎÙýÈzí;âË†Ý`ñm©J¤~ìg­ÙY´áuÁÿ¬à»›–ªgóu5é×�‚'ùJ¢÷ÃÑ¶é:È0ýûÜ²AM¶
-tŠG¸WäšœPgKÃ
5„Ó1úk¿O§š>Ÿ|¦0±ŽÅ&q6#³“ü¶0øUbÖSëZÌ3^te©ÞÓþ²l2ÔÂm\Öé‹ðwódc¡ç»¹fÁ5¬žÃŠ»¬æKs2åHç}¶zÚYSëÑC?°õiãIÆS@—˜XhÍÔÔ�eŒ"C2w’ª�˜¡zj�Ey:iÇ|-{Še\œ½M3·Îmîæsàck9b§8€ÏÜV²HñÛ´´n@B­ÕçYÖ¯G
»D¿BˆM(Û×
Ð+9Ž¥:ö¯,ê¦·óß¬ç#ÚÀ©4ØM•'&¼r!xÏ9{ŽDcÑ™¶Àèu í-UÌIðÙX€3²Ï�|ô´›Ñâ	ó{F¬�Ö§»‚$"òÀí$KâüÄ×�ÛÈßLá¾ù¶í4µœaxùÙ]T\ªRØo;Þ•ÀìDZ.bÛ˜:]Z¯Ù—ÊVaîŠôs°s(€šÅ”ª›ƒjÀ+¶ÓØDÜS8ã�uSÙ…A¤…Ößœ‘plj‡\²¼±¼œüBm§}¹pO&<ºæzŽÛ‡bÃnÌ›ƒ³s¸�§€Ò_Oâ:u§µn¤@»`†u”[H°z)¶µÖ¨ŽrÛßJA‘=Z6&üM2âÆ¤ç“àÝ¶í—1óÉcãÕ¨g®‡°º(TonÍz+€ZÖúX²˜�œ¶ë-í×Êë£žåGÜ	 Ö<\Ñâ"¶Ä�hTÞ6^:ðÜ¢DlýShüMËrÙ±ÙHRæíY£¯h_<fC<©Œ°V¢ƒF<«Z²8	{Ëá¡b)œ(ÑGMcá„­¬Õ¥XçÓv.KDÉ®ìÆôv2(º_;6××êx%0ÙŽµ‚ßÈ~ÿ¨¬J¤òÉ™º«À/öu}Õnn$m=6=abZÈçÓwDw‘¯–8-Î4cým¸õüMmä7ÑÏ�È:óaž%�ß0gu›JÁ’ñÃHÏ2)‡‹,,<Óy_Ñ"m¯ríéÄ5É•Â·ôöK»ëkçÃ@‰AGxÞðÖ½ŽZÉ˜úær9‹ê½ON]kÑåÀºÚ{µ1tÃr‡ÕÜÑtM.gSQK,%¸¬ÏP­ïÌdäÈ•ædßÌåz9GâØQý!ÞóV»ÞDl|‰ÚeØñÃ�ÛLÍ@Ü³Y�n`ÎÜ?²òæ$ÚÆ…G"Þ9ìŸ¿Å¾rsÐgM¤/kwn-Ï÷,ŸºÚ¥šaßž�Ç:!Ü}í·è7—¶£Æ�ÖÁXZ‚£ÉN©_à»qgX°žWˆÃ,=ZËí`ÙxÀ‘lÍþ!õƒè›/§uè^™ÑÖÕ˜Ñ<
ÅÉme¼èýäm4‚›ƒAÊlõ«�îw¶…É6:Ö¶?iAÒ •WYz~8OÊïE�úí+D�G!ã1¬0"m²P‘êEènÄ™zÎu'³*‘øÑ­ÎG9ø~º�Y”´äÙ!¼Uø*¤b~[ŸOW-¸¹%ˆñ@%¤}BÀ9Ómƒï;ybn²sù¨™X£?¸–ö›-tƒ‰
-J)íT‹ÔÇeó›/xÏ9Švgû�³»6x—·KêÛø&Ž”¸¾¥.Æ�«Sø[ž¦àÑ`»ª¬‹®ŸG:ØÁåó"œÒAË{S­7ØØÂ»ÕÑ§×lÈ¬÷w°èÊd\ŠÆ„wNlž!˜_
-ž~.Ä­p�z*F �|>ÜÆ-ô¬Ñ~IKÆ?]v—ŒÇRHÖhå9Ð½®é` q?êy[A×ç}0piSÐEêXÓ~£ßTóÍ¶ç«nLZ„ô/ÂÙ~Cë)NZTÁ,š-×£kõÐånsßR4¾)l	#–+.ÛtKŸåÇ}ÑÔ ˜‚T=<2˜ˆ¬?—;“¶»ú�Uûqc½5¸O›;,?Ðm8 Ü‡¥–)l›LL34EŸLý*óXÓ†Ëd@»ûQ&qÜUäBxÊÜNý*_Õò?yëÍ2¢fc0®ë3m÷s¯ãpV;—›Š©äè’ÎÅÇ{õk—�ÎÊ�JU/<Æ[5’‡[úê‘íˆÃÿ8ºÊme•0|ßEØ"%Hww
-vw·ÞÿaŸŸ{-723ïS2Ì»Êlýn�È0÷×£¯žIZo/86“]§Ïe+KËÎß5¤=26öÇŒ¾ç GpÈ+›zÔAJ°ZÛî4È¿“ÐfZ9?ÔB÷­VOÃƒµ°ŸSlP±l8n AëˆíÝŽW„`æ~8©à\qn»0>ÞW±æº^9|­îû„üi²—àå—³ÙCãŒ—w…Ù¬¦¼ý«.‡A=Õ‹\Ù±Ï…ÿ¿°…n¡âªóZÕ•É~Û/µ‡5`ë~æ^-'!.§‰’´ô—3ëJ�µ+&Ï²ì^O
ª­Ë‰ª7?×³¯?ÐYµ½*Õ·îa2-°ïW™Æë¦‡gŠá%\OÕ
-Â®��‚@kâöžó¨Müßýze"\ªzÑÕÚøruDN?{Ý€©úuº#”	q^�I/^îè$ðzÅºx3\w‹F
-äÌzÜÿ5$ú|y‚þßå¾‡VKäõÚ›ùCañök£=×ž†5ÛMùæ�&�=x×Û™ß Ú7�¸øÍz<¨¨]þ«\*˜_´*YføÉ÷�B!±|ë‡Õ±}ðk›J½Cˆ&áhìMz‡�×eÉ_ž²¦ÇEÜ­Õ´mÍÇSôß�' oèÁ,vZfPÜ—öå6u�õQ‘‘ýÚ‚ÉÕi…›ðPõfïï®=Ðz»`¹ƒËžÏ®àêGþvòì{¥õ5×#ØL#=¼eñ’Å¶Kw§»øÍ‹ñcÚQV�ù¹x«i¯ß�óçþ¯Ÿ¸¥³^?2„ð·N0Þ?[^³
[¨Ø…XÕn ÈV3ZÎ.[6­Ì%‘+ÕsEÍâq7^L;â>¼8z/½Èµ7t&t-3¿ïë!‡ýµÖ·ónØ}öÕÐ÷ð¬ÚýáR‰IK+ÍÒDÐOÂN£ä'ïÒî‹f¥d«?üî-ÊTµ‹“WÇ1ÊñQ…§ü²å
qäUc	ÐPµåV^—ûi#DiL�½}¾üâÃ¬9d‡Ú~jÄÃz?š-Ø1«óy¹þaö·@gQÿmK�¤pÆ‚p('Î2ï~¶†.Ê5ŸL
-B�øbMZü[w‹,æu9<Únjêç~Y+>e~¸Èu‡ê—ŠÝ?–Á’–aýq›8³G!Ë›ïœÅ�sW¼ÇÆ¯7ÌK8óÖ„y}¢ÓÄˆXžÖ_¶Sú
-áE¢}!üs?w~1
-n§q„NÇ¿³óG¬ÿ=ÕË [}~Ý…³øú�Öz(zß¬8�×	ˆ>ìÃãóáCwr0›D¥o³A­3Uwë3>ëóW¯U ß
‡yP¨XÛ‡<Ø�Œ|÷3àî>?$3`„z_ÏX�Ì¸åÀ{ñ¨M2÷=µnT:ÏÙú÷¦{ð}t)^­*æW<H†�r¨°èÔÙ±ž=_�üè\Ú�z»‡¨ìeñÝ[\>o¥D§¾Ÿêì0b¥È‹ûÙÅÁW9ÔÏ~•Ê{µ‘¯%¦$½ìˆ}·½È';
Ï_Þ*ÈŽ_W65ï5ÝO€ÝjGzïÎ‹Œ|ôR¸q1|6�R`0L mŸ9g<l”U%XòN0eyH—:à¿Î*�ŽÏSÕ?(���f:ºÛ÷¥�e¢ìÙ—ÖHž¸+%z”®\¸:Íy¾é»H©Q…"�âú”³F�p,�¶rsÆØ#m¹ÁUxN}-kšpô¨1AUÛm¼qã�{oXö¥Eë~;Í�X¤~1iÊÎ!„ò(cf”ñ‹‘Ý�
-”ž,Xc~ÿëö+¬"ÐƒtøÒ´à»bÞÍ‚30|OÛþÃ­½ržÒ\¨´¤ÉaºÏÎÕPãªLi£Ìëâ¦«Ø‹T´íßn¾Ò!±µÙ>vSÍX¥%7:\í5È«†Ö®ÝÇBr4i6KŽ(ªô`æU}d‚@ª™N
-[w@Ït[omš³dùxá�Æ©¸ó“ã11Â‘+¤·ÊVï±Ø†ô\oe29b÷Öü;mþï¹®lš1:Ý8üUØù]ïëûa)L+˜q$Û{ékµ»=eÝÞyÆÐš æ7*•Ù
”¿ÞsÞý u®Cw×›t¼î&Ócþ8ÿëónl¡{7¥š•-Í§¾y7»�‚MÞ+ü5lŸíª³"i[=!£’¬9Ø»ÛÞÃK¯µ—Â³ÔŸê÷®øã�ù}õÂ4„L�5{ÑÖ:·˜UÒš«E%“%â)Ù“ABGÓÑmÑ^�ž�Uô^(ÚŸ4»+n‘ý� 2’€\°¥	ê!=’ÀGðM³
-Ï%º{Óé7d�´ÒèÇ
·ÞÂÏ¹µvAö5üsJ�EŽÌÐšàŽ†$é´îÐþäaÇƒè“»‹ÁÑî[9Yœ�W–K
wÔøú±…G&q=,÷Iœçè³öÊÌ¯ÇË`ÿ Ð^R
-†)`ê<GÜ7@�oúÍ¥˜Yžµ�Üû^>i¼ü[ê½ç/p;fQ`»0¾Ûájñ§F‡d¥WB–
-¨yï—Äú?Ôz€ÔT¼ï&Ü{*…UI‚üÎa1a+òÄ:ô¢S÷~$6—�ÆÓ
-
æÔ^ôÄ›¿	Gë@3;è’nß¸Ð¤øýWª=Ú~ëIq#&_‡H0<oéÕ¿ZŒÃ#‘Ú¯¨c¨•7�¨¼¨qøRŽGÁ1ë¶ƒC¥«!+avÐFåçØe6Ñ�GoÃ.¸�X»ï¢8zN•8/L-sö¬~´;4¨H÷î01ímþžðVïÒ÷Ý§=›VÜÆÅ<h”�1t__¾v/üÒœH�sH}+8½L¿¼dƒõ…•÷¢­ôà¥¤�ô',«+Cf•ƒ`cB¥¯ë ä,Ð…‡=1š™¯ÃnmfÖ§UŽöë;Áy5ôùl†æÊh;�õ¼
-²£¹7ni%}³`j½;ø‰Áþ"ù*Õ~ÑÕÎüÖÜ÷»I,ÓyÜ�g¨IáÇB�6Í37™»Dí1íÜm›eÉÍT¯NésöðR—„¾À×°(]NßÈaƒqQx0Ÿ‰‚Ç?…à¬Iú¶oTÆá¯¶Ô[Dá9�çtõèNêól2Ýü�tÄEz.¸%Ýdfœ‰RÓo×…ª@ôXÂ’ûn?ñ•ï	5®)lg¸úŠº_‚Ï3òuöWÝ	6�^4ÄîÜ=ïÐ]¾Ìi•­±ÖÉB’­Û}U»�•eîY±k�H›­’�1�}Íþ— Fo¹�íêÊy˜JÇç·¥“ÎÆÝfÍ«¿Îk]¾zº\l5ÿ™	>rê]X:û±‡éðëî;�¨;wº½E�—xG—¨ëFžKå­ |½�]¨))7÷öuÈ€š°
-ÀpÜ³—Ô"»ÁÝ'ó(ž[í¢i#Ò!ñgW³ãmbÁ»'ÆRaæî ˜ŠòdÑ…7Ü©pJÞƒàX8£VZŠÞ^|˜L|édŒ¹s]Øx*8@º“ûoL�ë»±góÜ/-¯w•Nu5¾y™|“bZÙ•ÑÐ@opHèØ
-áôméÂóOÑü[¤$Ó´xïaÅ�—ž6³¼Ú�¿\Í¶iøKïÄY#Pp3Íøô6)ŒþôB?NÃsÔê}øxr¯¾œ$b`Øá½5ž=Ç~»ñÛø5Òësƒ¼<*"ê§PänØÔü£Nƒ‹r¾$æáùÃ¿KŽ	Âû›ˆÖ+G#uüÀáeV½e1?þåùíÚ�Dù´³êuÓ*™0y�r#rŠ‚iZ¾ˆÍz³+*yàì†±.–Œ|vXWnP¸h/Æðé¿�[¼àòË[+‚(ùC</{§:¤ú½fI83MLÚ� 
-†½‡ÌžK?m0mÓí¯Jª÷()F3·�"‰{ë¡¦§‹‚]³unw25°Ì8x6b,š Ÿ“Û=Ïf2N˜®ÑÚÊ¡¶ÐÔŠp<»A#Æ´œúœµ~»>SFÙH3ÈgW2èá„¢·ÄµböåbÆÌÏ¶zGqql±“Rö8oOúønUÑvÒ”±ã¯š$*`õÕš“ñÆ4Ý“¦èÈšv4­&ÿÙi¶åõÀùgGˆÙ¥�3´hŽ×µhcýuf¼†Hö1¥ÚªBl]Ö+Ó…3©�Öþ‘ßUIŸ
-›#»ÈÑO�/__´9K±„9“±Ÿc¸›Îù6´üž£�±5¡B÷Ã1sÉa"oÏšdÔúÉ-_+%õÚºÙ|üŠ&.[ßŠú;8¶;P«ˆ+Áä6ÿÛ¡Àƒ~¾LÝéizå·âk”°g®êWZí�Dž¡–ýøŒwÑN…»PÌ¸Ý–³t¼Y0ÿj¹;Ò(–.½p&EÆêÁ
-hQµ¬'õ®uNF¥¼Rf/áÊLWB\3#ÅÍRƒ�ô,_	Ý/¤ ‚‡CW?[¾Sá
-×çßùùI·.ð³SÙ¬IŸ9t1²jp2×.ÞÈ›]¸ÞjÅ§ƒñaÿËD­ðX¶|·GÑ¶BÁòrF02NÿÐpÞ·|­q±›Ô·‡mƒaÖÙê�*°�ÂþçägÁ¢d
ÆÄ3ã@è^Ç=¿6‹p‰Ž/bêöPWb5à ×~•mü»¾?Êx<F¹Ïr/F^c:Ñ«‡C
ÿuóUð"¡ÔÔG«-x€^…’öõ_�fW.ú^R<÷ÝÃHØ=ëž—¬n?í÷dêûÊ¥ûaI&“îßÉMýò™º6ü<š¾7èr[#M"˜_Ýò¬¨ÛÝµ…ûàÏøHî­~Çê¿Z/93Œx|NÊÚ²6²Î3ù*Üú0åöús‘ìöË¥¶òoWü{lº‘¬mP“èÝ ð~¨Tý÷«lË}a‰Œs©öž'zØ%öe\[*šHgFžÚ×µ¿®´%-\$'sOÔ!{Œ�¬v¸Ù�ÆÊHw—÷ÊËŽw®°Ù»+¡ò4àêÕDW~o3«é™gu‚=ò:ÑÃg:OÔu#Yà9w®®Hã“ÿNž,]K1�:€•uuÑvùb¸%r;ôº+P2‹b¢mßuy».­ßG¹!0*.û,òÌvj€æòÇdÆ¦÷Ñ)÷`Ö{`À–v®-�¨eéÕÞÀÂ~ëåSwº^&ŽZ¢‚Ôk=oD…©NsG=7†–¼‚‹õ4hJ÷rDåL‚òí9ÞŸ›�¸¿Ç¥WÞtÜUZ÷tÁVx[¸méMHöfÌï5[ˆ
-
ÅP šE¯JS'<š€†ìâ“ÄNvçšÜ9ý3éBNjU—èÒ?s—½L$àÐ™=Þº÷n:«”UÏªã%éFn†î¥|{»/¬r˜¬»ê×ÌÏ(ƒ¦6‹g3®QA6ž´Þ F¿a¼príˆý4"ËoŸG {«Qz¾4E– Š<øÁšh4dg
-öÍ!\ý|7©¾VÄÒ.’¸˜_º6ÓTª„–M_<?¦ò»0HüˆNÞ‰X6½×ÃäŒóFl£&þ]Ú¥šc êog}¥yjØÝÃE½iÌÊìNoyÁžÊ¦F›Ë‹ÃÛæ•ð¯jØ°°	@�6q¼ßºµÜÆÛV•ošòø�’6æ4C“ÚÎy)Ç€‹‰kí£E§\ÕžçI^˜U*874«µ†±xïÿ.®ñwÕ›·¢¿àr<¢Ö<Îbuûk–=:Ééh¨ªèîwJ~/„Q'Jrd{�}=&ª¼¬Ñ°Ž#‡­j«¼g~në˜ô%¿·Ã�ü{µÖfŠÅ*ÝÇMPE
endstream
endobj
120 0 obj
<</Length 65536>>stream
-7vÉ’hÝP¬ÃEÅ;À§8OµüÞÿ’Û‘ÅðbA»ç ýèbwû¶³žƒ�f¥&.ì—ðÒ˜-‘»;`EJ&•äasçó¯¦ŽMY5åOËRžÂŽvK�U­dkÊÃ¦Ðž0{Pp�«·ÒŽ”Û½ºW×‘þZë\­ªn62ðÝ4‰yÕÒi^2©[M/kÕÁÞ)P)ƒ¬LºÕ3û¶
-Qá»?ZÛrZ}927a¹†5<¶öÚö¶8cá éý²�•�uW>',4?¤�TØX’	ÖVgÛà¬¤¹œcq¬aÅºøµ²OVYk-ô)îLÝ<W©3ø
-*×Ù|üÆ´¹œîÄÞZÄð:3êÛI&ÜC1°�ã˜ÜÙ�x œíOëÝ·îóŽVÜf>,\(6tèX÷
-oÉ¼—5[ž-]U)Ü¾TŒ‰}OííAE³DÞQ”f·Í\>RÅ9ÄåØ¼8Ûf)äÎ¥GGÇV¤ç²uw´ªHò=}<}ä¹…Ü¹/’…:DV±~˜?†îg”MtÜs¶‚ëÍ$¯Ê‡cë¾²Tš9^SÖ–··ð›¬"(ŽŸöýrB"­7©8ÀÇŠ°
1ëÑgÿY%­º!EùN¾ŠÕ÷3A¿ë“ñ#g²RóÉþ¡²�)�ö®1�Øe¤Ž‚�Ö`ë%|Ù�ž—AÏs¬Q×…®œæ¾¡Ž†12mk)º÷8<ƒ††W®¹’8ñd±À·ª•ú)µ{3Ÿ­�´=Z>ÉpŽÇzrã79/×k41úñíÖBUs�Ár_™h:%k•îŒ&
>až¡ñÝ7SL|¦ó@‡ìeQcË¨ýqü[ó)%Á3›î»nWºá�h)œ�íµg§1Më9ˆk@-•ù[åqh¶~‡Ã„Xa‡[x[ë;sy'¤êm¾‹§#Û¯��°ýö‹”Ô3Å$ƒU©c±Ni�õƒGM--‡ŽÌÈšÎìÆL;duŽ¡f·q<Ä�1#GL°%�´²•Ö+È¦ÇÄ_n…Ìb×çŠ·<"ŒTuÐy�ïq1]žÝ/Š�–6¶R>Bü×¦@ÍÝô›öo:øúû83RÉ{È˜.ývVê=Ý@×+áå"ä²1hf®§°•=ñº*£�%Ç-³Ë®¦7&Ë¿çûÀÓÐ_h‚ûiE²Ÿ“¤×žu=ØŠqùãìJbÐgÕéÌø�ÑA•©;_‘]mÒû¬MRÊZªB²ÑDW%ÞœÁWÓ”O»Ž“<�ºè­X—uí�ª•Ta~V�8
–v�¯»¸GLÚ¦€Ïõo4Ù››+ó4]ÃóÌCsÒcËø¶Lpà
=0“›­”ÚÆ^ø¡=Ðø�Ã¾ß{‡¶Xî_­ÐÊm¯ó’6šnç6è-m¬©Rú×¼uÕ7f|í
qòL�hÙ|9ÛôQ“$‹­ŽÜÎw3}9ç×æf»'l+�ëÄÕÄØwÒíiå?3ÕE3mò¯¦íË‘Ù§‰kÊõ›QÞSêø×¥›ÏüÀ”Ù¬FKãfÉÝ&mõ–£ÝÝul÷ùYícw¤´¦á¦ích¯¦–:Èï×õõR8Ñ@k¨º-k*;†­F5q¹a	~é¼Ì¹­¬;k·õ¶bÝµ«³›<,‚dÛpèÕäæcm>	çÑ†P?µÏÄ—�jˆoªgÝw˜¸¿ÆxÐëÕ·ÆÎ:<FƒN‘îÊYðµÚ=cÒŽÕ{àÕh‡»Ê¾u²xÔ;§�²“ö{;#²$ŽúÁQ³Ø½¦üìæ=êÃ¦_wË9F‡Ñûc²osß™×âv0h¾­¿½Ö1Á.|XøýÇMuj˜xýÛÝï‚Uz¯ªqQªÀ•ü%OíäkÏrvãæœ�³ÅnnhkðCýM]„1Ú<}9®V…^°~º¤ÍezÞzëD¡/¾y«�æ}1íöçHeŽY�öV”YëÁ¥[ï±Ð½§©q�çf�Ô;¹nü¤ñ¡3X‰Ÿˆœx¬åÞå	ìÏ6°çÈÅ¾ÍHÌ—ð…!œzfÏq¡õ¯fx¢ÉD/9:“\´ÅAx	UÝâIçý­‹Ô¢žl
-émW¼Z	zª]as8ìÄîf4³�[9^ÛëÇoc,Ô´�Ã4TXš[Ø;w0P&¢j`m_è¾ÓA ûQß¡~sÍc!„ßf¬Õžæ(€º.Æñ!4ÙÔ—¶A7}w1§/ê¼"t¬å‚sõ!ÝõŽðámÙ[ebY
‡FnGŽýTø:¥œ­¿]¥ÁvãÄëöÝïÛ6jäËm‹ÇcjlÞÎÓ)3]âŠÕÊUc0šm-CÚ,”F9¨˜SLdí|ž³ÉôX³W«kï¿ìÿ@ÆÌž÷±±“ÞÖî¿´�®‘3O.S—Þ=Wÿ…Ï8¤%SËì³^žÄ ÝºWuE!Yî[öjÁMí´<P`Ÿ5�š¿ìëI Ûë¯âVý»3M?`Kú'wÔ©c1Ä%ð3Ï
cì¬‡´oj^_•Ãl ¸Í÷èb±ðÎbq¶O¹êLÅmT�ø�õîˆºN£Õõ¡ÓG¡Ü—¿ù87¢ñtâ_ç•ù'3ÌA—ÑLàaþufùl~¦W?Ž¸Õy£ä´µL¡¼'¯£ß×Ëª'ÜÖ@×«pèËŠã£—Ðò“4ð\çÜÐ�þîdR	æÊldôŸÄQnŽ›Ç€O?sÜÈ‹Jfê<ô[ã‹±Äg[äì[ýhOÆdz`Û�_ªÂ”Ó¯ï!§ºbµèÇß,}qªæêç¡‘˜ó„qUs“?îÙkÓ¥�ùîr~;„…ékðó—â….Ãë_÷™SkŸV_œÄ~‹²m�·9c=zI†t ¥¯´éo:±ßÏ8³“¨fYöÁH¼û©%l¦¼ÿÎ›a«$h¶žh6ôößß¿~ââ|à˜'Ð²óçAÌš¯‡¢Sö­Ž:»F:‰@Îpd—¢�(iov³ÿ}ðd¿úØG}¨ZË�;Aç»ã#, ‰}úÌÖÌÓ¯~2úPžŽ˜…Š™èL$¸?xÌîX—.%FT{—xDéz`’oº'ðèV›ÃÛ9nLÏÏ‰§n<ª¿QÙ*¢”å¥],°�“‘#““qèÚ™^RGq©Ú_G67mÞ"^ï6ÚzùŠÙî´·˜“ˆÓ„�ƒˆîM­Èoúõ­—=«ô�Åï5u,µÊ:þôñ5¤lüÑ$ú;{ït�ˆ-ÞÑÚÝu5.e eýí´¿™¡+3Á{©uÇš;£©;©Ôs¨ý-<º/¼B9láÖ[Šoú²V
-ìÏX;ªedÓ0~æéêÈCâ^|eÕ“,w£ÙŽx4ÜŸ
Þ;eþN�EK¶>qˆ£õr³B#�—fÖ]¾s½Û-·Fë£3cZº:ÜÛ½íYoÙ·±;¹ìÑ{w®Ù÷w*;Y»_ÁŽGQrúrè¶ŠÕ†Xºòzó.f¬›Íï
¢u§r[n­ó:[úêN:¶>¶=[|¹$
çmû÷ÐçÄlóz¸R#0�¬1Ù¢¥uòvç‡ÞÙ…ÇÌ²Üï%Ûª+v 7ö¥êßNÈÞ¡o­mv*&“ôØóïaAþGÇ÷ñDuÊ8í`+¤½õ”.ö÷
-B8ƒ”+y–•,\2MOf5�pîVu�o”Ümûk+XëË’øWã¨gãä�z5À¶µÃŒHðìËÐ%và#Æ7Š~
¨<�=›^[l~óvøcbò’ƒkùD„Â'”l-¨’åÂºCùú­³}h™¬ƒÙþ¤¨ÌqÅ&,•2£9"n&�UJJ¾|IRç·:5M_¹I“îH¦Û9åázÄBMk[4	O¸š g‘$¾7vM.\¯]xøP ú†½_¯ëÈïþðÿÕêÓ™;i÷å´´lðõùIÉqáiª©I˜7sBÝ+ÂÚñò+5	Ë—,MœÆatîý–6w?!Øt¢Ðzè§9û0�ËÏý YZÎaÓ/xÌŽôK,g@-`vª'w›,k„ùç©<`×K¶­&—“ç‡WÿÝyö­•¾`ÜgÖAï§›y“ö�.¥ _–}§…xña°¯µÎÄEéÌöï|˜·ƒ
-zs 1MÐd‚šŸúmýyÕVÞc´½¶Ÿ]ihnÌHööÙOó›P²·êÈ[[mD
d *ÂxcÓÌ¤OkZÕ¾]£°Uê³Á
-Ëoñ-†ý¾‹^±\g¶8@æ‡àTÏH¤³Ûçž›Â´z9ð÷\Ç-±è~qþ«š÷1d@V’ze.pøGë36EHx•ÛT¦Œ”,¯_>x�“5úWkŸ}²VÜYŠ{èéâ�¸zpö){ô§°±»‡GšIe¹võ•w�ì‚8­ |X¸QË®30½Ùeî ?ì;1*´èBî¾ìüêÄ{Î›‡‚•_ü#›…^v7	{t¶E>V®ÓÇÁ¾Øè–7—6xË1ˆràâ·Ü¦Ú%­éÜ]p
�.µw“B‡µ÷r‡¿÷<.åÌ½cQêž>t¦“]ñï¬Î í�Ž«Ð7©ü‘iwC´g¥â3é‡î‹{vÜV;F¹¿òZêv¹{cŠ°ú;ñX¡úv»hØÞ?Wð|ÆíØ÷dC*f),´pzÝ8L‘ËþÕøNå‹úÜ÷"|q“¿ÛöáHý9÷…¶W'Íô>“ßÃ¥³÷|v˜¶wD®S·H"=må—7!'½WöfsPÄñü^~¯d] Z)3îì×
Â‡[ùÛ[³ÃßñMPÞ	Cç®W{×�ê¾ßD^.3ši­æ:üêŽ¶lÖø4”zí]‰ÎÆ™°|iÉ}Þˆ+¶�Ö;ù‘_ÅBš=�˜›íyŒy?p&ÈÇy¯?3ðW6¿7ø”]qü4eA	Éíf6‘#Ñô
-Ûöé,ölV=0âº’G$h8mYt(ÙçÃé…œ¾/yw»�—·§ný]�)©]QßÜÇ¨×Còî99Jœ9\†7*?s‰5*Áå[‘ƒë’‚5ijÅ¼ AØ´êèóm ÆéüOrì‚5î’Ú00ûÁÓcµVéÑ–Û�Qè~h&ª!¼ÝËX…˜Oœ¶ôš^*«ý–æ<`mÄ£Ó¶g\GAÛß¾ ¶¿ÁÜÚµ§X17C Ë×›3uj¯àQ˜2YZUä�ÀëO{xdEÖ³•Ÿå¹Ñ%k¹ù0­`“yô®õëÖ²ž¬}‚­_@ÜôOŽHÏ¾Þ“Ÿ,U˜õõN)§ƒêiC
-Ngá°ýÉ¥:¤5í˜ËD|qŒ<ÿÕpÍõ9ë×\¥~õ~=Àá[GR™<½íøMŠ4kh~é�Ò¬SæT7H_tJ»ÔÆ‚5è¬q¿®`âÀF3;~+o¿glôJCžã¸yX¨X·f@ÑX ®FÈcÏyŽåŽÃ»¹ŠœÁ
¡î3u{�äo4û4´œW%C~^·`jœ}®KÎÜÖ=»,àL{íÝîÈ^z‚­[ÀpPÿÛq‡ÙE5tKÝ�ÄfÉÈñVÓsoÃºj¸–ž{žD§kb<Qw±½;qQ}ô¢¡W‰w]•W �èš'ÅŒà•¼¢èúó`sá!µÐJ~e?Qo7W½¦Ïl¨7£)Þ®YJ¼R2~àD}{E:¹?æàÃ)ô¼U\ØœlÐÀ.ÎoÃ6÷¨8¨øÔœS`ú�æô]!Œëg`-wU0Ì†*kD|ÝÂ,ã7w“bôöRßïMím*`ä}H¡�€{hÚ¬RgøgÔ)¬³›
-r�÷"·Ì—pcöõ¤öƒ¾bÝìv™³‹£ÝÝ_ÇÏHj‚î«Êðˆ^ÍýCuÈ¹SÃÌ�{€~‡Ïx—‘K+q´6†qÆ‚«PˆËÃö5štYØU6Mø�µnøTr�Ô­¡Ç×n,w�©ÐB_Àîç>ñ7ØcáæÜ[>ÆYd¤ç&!ð©Ám@î.§‹{Ã¥c�üÊ/@]-FÛ¨Å¾:…Ð¾þ}FŸÝúh´j6¬¿s- Í'Óõíÿ³ ãÛ8Ê„×k½S:ž¥EO¬Ùbðk4Õ Rÿ•ŸM²“Ì£È¨.¾t©D	¹¡½›ùÍWf ”�^kÌŽ¿öí’VýìÛaåÒ23TXzî¢éˆ°85Q¿� Æ6¼bò’œ3èÓPGÚ8¬Ï}CKÆÎ*�¼fÀ«ZÏž{{xÚüžÒüÈT«¹Øl!Dl,g%ô%UÏÂÉ¹?£/ùèhÖÄö:ø<Õû¿ZG¥Ð—%AÎ'`˜_¹=*s{x®~ý¾¹9µöëëÂyI�¡ßè^:’G¾5ã&°‡Ð»ù=®,´ùs£Up¢u€ôøãÅú0O9èÔº*ÖÌ›Gû=Ñ
-§ä÷èJ:•«óÆ> ßPæ8 íËª{
†^ÈêU@hâÐr
-fÇO÷»ƒ†}ð&ÍîÕÌÝRVN8sJ1
WÈSÉ0—¨
-Iq©…ÝúÐ-¯¨ä{Óð¼A¥fIu­ÙrônQäÝ‡³«jçá<¬�
ê¿uLŠoë
-ˆû‰ýŽ°:¬—Üyo-ƒ¼ï¡w³„yP³mxƒÄð�¨ÑÔ½`u6ˆ’*×oxë‘Ì…÷?Ð¶`�=½|ü€ã�¶÷È½àTüg=d&È{”½Úg½!÷šƒÍF·îÍµÀãN–+.ë7Ù_–W˜ÙðK6ì1®¿)Ñÿÿ#§dçvÂü1þk!ÕÓ±*X|ÃmiÞà²èÃeÞDýöaÜñøìSPÓ›þz?~iûÛãuÅ‡ía2üyã«89¡¹àVf6ô¾wðÕÝxþ§•·<*.vl"_à“ùš.y|^Ù�È®„úšØ*<UKoŠÖ?G�3qòÅ[gÄJ)…E
-‚¤Þ+o–IhUÂÑÃÆ½!OÚXyQ}WáÌx"Ð*œ\›ŸAuö-J¶ÑKªøÂÔ¾fõé ÍEo¢%Å_KÃ/%P„�AÊúƒ
Ða¶x%²S½ÒÔWÑ’½ðÕýRfÁ¹×Ð2•28é…mìiÅXè÷ë(„ãÊX&eÁL�Ž÷bB¸«Äy'Èwp%JÏFY‡-‰Î%î…>®�©	†ƒ°We¿Puö~Ú­!t
-õþ5/ÖqÄ½šª9öåð«]0¿úLí©4xªÔ¦=Õc!zëö<‘s³ó¢ˆpu\_á×£EOŸ‹ƒAÙ.XzÇN‚`†?2.´Ð’@;¯Æ÷ÂßgúMpžÁé'+._²N�Ê#OÇfßàÍðÖíjè-fp»4ÉÁî-Ñb
-œ£¾_‚hÜ$ Qæ›n>ë	8žKìYXØfgñ•ãê½B’›ÙÍ±xùEe®¡aÇ×}g+û{›ãÙ_#Eòí8Í?üÃå-¿.]Œo~›øY³´X‰ãæ /¼G¼m’›Qëy•;óûkf>É+„+åz÷kgS£j*UˆÅõ"WºÉ›8û|}:é=ªÒUcˆ�.lO_çù0ª–qr¨Wg;|×C®:W±½Ë.äY hÃÒ¸÷'îáÖ¿û^mÓh
^•§Ç�Å[Ki�J«JK®G™Íˆµ;:M�¹{YáõP_Ñ|gØ›>=°ÒYñ·–¡OüvõäžcûcÔ÷!õ
ï½n[ëz™�#Ý]½Õ&�#Ý‹hÖ°¬O!¯÷qáÇü8é‘Qwáûøù]
-ÆCb‰mžöÕÇCôÏ,5F ýáî·Ìt^PÓÍj­,vå—6!P›m•Ç{ü#ˆRzöÏ8Neƒ	ÜÕH¶ÛÆ°Ó=ª{G+X+¨±Ÿúb’¹etÜ§Q«9©�úÞùVöúhná`;ð¡Û¾®JÍ2Û™0£pÿŠ½àÃAÒÚÇPé/~ªÓØê^_GÏ¸ù^ýï,5¤MÖAš
-Þ¦IÔZ‡c€ùÑŒ;yìõ³k¢tãý=ÉãæeK>àŠ*/eëÎæ0�Ãrg¡~ŸNrl�H¤Wûa?žyqÙVª ·’s+_ì‡¼éu›Ýü—9ƒU-Êó¾¢Wˆ•*ô`lwÏ‹=Öy�B@kït'…['»­¡èÇÀ>Î*VV&}èöÌbàKNÝ8ËÀÔi�95 OO—
Cà¯Ów½÷ð²²HôÈåB˜kãNµŸ*_ÃN/òbÓ�ç¢ cßk[u£Æbº Õ±¯ê˜²v	nîöÃ—+oÝ~Ög´Ïlûº)-�t�Ÿ•rÿ2`=Hê‰i´•q#µh,7#Ç7p¸Ž{Õ�6Á;^Ï[•aÀ»€sÙùósè³�î¦m¨öDJ�Ò'Ó›26£¾,%Šš§Ë¹’5î3Ð¿Ztª•Qd^ží³<ž…"¹ÁÁìy%Üò{êe¬nþ�†ûùV&ÝÊ˜8Ð<ZjY†X/'Ã|©t–¯8µ¹QîÄ`ˆ¶5óÜGÅp	=Ëp[¯æ*ÁÇ
-¤®M·
-gôuŸÃ†ëÓª±eË\§i»�E5¹ßû9é×—'”¾`œ\ì#^¾~$gQÏ=qOd{jŸ\©*Á’Û�ÀåIí{ÕÆ6ñã6V$q �IW/ªâ£&ŽÆ›7Á…?Ä-¾H€Û™nf”o#ŠË•¼mÌ{÷uðÄ°
Ò1ÌÊ�©'¼¬ž±ß½–ô	ŠÐ²fLï®å%æF»SOdn›µÖü„ÔN�»—KÇèÔ]2Øïÿ¼•
�ÂnÖÞ!§•ÊyW±\(—€ÀN¼xéøíQUøvÎ{¯t‰&ÆÛÑ
 2ýµÜsãv¬å��TqE^lãaøt›í¶)>þP fÁx%Á°¢Ç¬oÛ+È÷¦â½e?�ÌÇ—Ë£7r7%fzè°ÙÇ•8Ð¾K’Ï¤Q°÷k®wØgÑøa6´B0rö*¯o{Àð¾pãWí¾íOè�v«ƒ÷ø-|@‹Ê'i '·ÉÊ-¾¥ñ[˜‡¤l]¶jK§†'³ÀJÒ¤¬eI·£Ôá5��rßSÎŠ_ëÏÏþõ­~Uˆ	[]0ëº=©(dæNÏoI‰ÆCiªh¡_#UqÞ¥�Ò-mÚXMÔ’fŒí7§c;Á ñõÂÐÌc†S‹ÆÚªŸ—kK+£Öës)ÆÞ¶F¨P”Ô'�V…-Åµš4†XÐ²WV¨§ÆUf"±•˜Ê¿å°­íÒ‚j¾Á­¥døÉø] "ñGÎžªmÉžïgmô#£4ëBfÈ�"‹�òªiÂU@”®Ó›£ÕtE±Àíü§"ÑnÃ~<µ_Õ]SÇðê®5°W3W1Ò«ÖúæÜˆ»Çiëë< e7Ì«Á½o®ð=o�=£ðc²yßÔÅ]Îç6Ü�ÔË6_�‡ÒaáL&Ð®]´ ì¶çOÛË[
-G�‘«í†
¾þ®ÕÚnBN
qº2SÕ'~Š;ê×
-¥•evÈ»•«&Li»Q¥�}´ÝÊ=õ—)Ìï=�\`÷5j¬™'ùx'ú‡…ó�Ø"Mx~�¶RbnŽ¢qö~X×ÔÎh’�£k£â™ÃS??ß|Qcº^ŒyË¨Â½DdªãÈG·öóx�ÎœN©pÛ„Pá0]½Õúë‡NŽånS¶Yszæ*~å?·Ø;Æî¾Ì³R.õ@ÓHeoß+÷ÿÕè²dÛ¥‰Ù](ÃgcêÀXÌ‘ý£x3*-ÕˆOÔbn-eµ²§×ìàžŽ§z0¨ñˆOÐW±9\,B:6âíîÀfòö"°ÄÐgök3–Þä."túÃ£²þRDÂSWnVw#Vd&šl9I}>ò6^^÷ó°v4Æv§­Á„[ƒ¾»D�´péáþÅªðùjÃí¹pC†Æ¯Òî–°$ÑÚ¬fÿjb1ÆÉ:8HŠÔ�d¯}I¢¹=Ætºý½!é±
&¿´€ëHÕ‡.ðz
jªCJ9ºâ�zH•GßÔn+ÒP,œ+Îá:3Èc‹a¥Ë&Òv¯ï°@å¶?S0º)™Í~ˆØúù´â^²©•È]ôëˆ1enR*Ž„Žque\oŠ§-ùbÈõOk¡ÓY	0ô2$±xÀ›pëjXí|»‡7‡¿=WÖË^¯‹•Û-“êÑ¿+ßêÊBp™;rËêiýÜYª-wÝRú,Ÿ â÷´Ûp3fîød`våOÏ88‹	„¹±ËÃÎÛZ8¦5ƒ?GûŒ¦"™Ç‚-§ÏRd0œ)Ë¯–
˜ã[¦z¤2U8â!Ð™eXîU—ŸU•¸ža›ÖH4íünÁ«îÃsŒþraœ÷�ÞÀ�´˜¦@ˆ]8Ø±·õí*3+ÖEž±8¨ÔffIQW�SÅ$æéà�ûŠbÔú`ÃõÓÀ9¢ƒ†…Gú¬u¤MÙ5kÇ÷ò'ê�ÙÑyÛ„-µbs¨Ï½év€uªðó�:õ×1Ç¨ã„–½(‹XLçC7W	Ú¸}±|Ýëî¾Y|}åÈ¨Õ.A>™’Ap/±u÷®ˆƒ§‡´á¾œ]Ó{|+{”g¿¨»Þ¬W§uŸ|¡ÿjV¾B^þúæq×NÀÆ,=¥I<9sÝ?xŽ&4¡}S„Þ�¯W–Æ=8ÁñSNî©ÊŸ.^t~ÑL«°tFTöóÚøcø½¼
-ßã—_~»‹bõ�q	Íó]NJŸÈÂZúÎßÅhÕ˜Hå²:—é½‡GðÎÛ+¡51è¦i†­�/éõÁm‰un+(hød¦tâÀ^ð�^/as;º¸ÓÇßiÀéÂKeÁY�êÚ8÷‰¦·s¹´Nø1×êDŸLJÕL©éD ã0˜¸º�m‡Rb£~P_Škl·ØàÇ½Úy.Æ<·o-ºVõSjwoÁö-úÓ*S¬~‘,�)@»u¥%.Fà^”˜Ú—mµÿ60úmP¡F` ©¡;äNÕïÇÑV;\{oºi�„µÌŠò˜�uìåý
<hÝ}òëÝQûT.f¬Æ¾J1�'úû®¾mä¸Íš¼…Ï »³|
áñòüJÐ¶rÐ0‡-o0µJ¥2Ý‘K%¾;nø®±bê*½™¦¢ûc‘ÍÛŽgÐªø–z¬§öüóÞ´¸Œ=Ú÷J_T$OÜ!äjöK»êÝž…š¾"½=ª,‹jÿŽxŠè³ÆôûŒ7äõ;6‹,Xþ¬>saïKöôî�öþ\øä`•_]tGžÒÑô†9tDÌˆ/§Þ�ÒNŠòþÇñ„ªgÐäDçrn­ÆBdjÓ¬Ñ¶Œ;jŸ©^fC�×ß[’�‘SVO2\êèlXámQ´þ«)Ú·üQ·Àüdýþ6áÕ‚²Ú}{2¬òFƒíÎ:ÒGŽjQ�Uª¬«0yø\Ý†8lÚ+as÷÷§uð7Ó•v$µ4Þ#¢ìô^³—²�æK©rEFvžóYª-àþ–FÖìR
#0–UøÈ|ppSt¬YS{¶F§ïÞêö^¬‹ŽåÔQÅKoÕ›,�¨«J?¤ŽZ¨*J­Êù|ýàYi­©›wµàäbŒ¢å)4›á]šÀ’’‰žp¤V¶“ºC¿9€•àÒX*â*y}Ó€øÀ¯m+ò%qr½¿ƒòŒjÍ`ö¥¾±ãÇé—7èòëÙ6S²å7çqÁ0–JËÛÖ±;ìySªk
-Íeçcù"‹6ûNEŠk¸¡\ÝÕ>üUÓ¶2ÇöGŽE¾n¥{H{ÆIØéÍ÷Õ€Ö^}dØ\X™oÈ™`Sï«àÅ‘_ä—T˜ö—by¿ïÕÖO¨ïV�%È1E»Y7âJ~+PéBêVÅpƒ�ªú­=ëµ]n¼üäëYð"|µÞOñ¹ídÁ»N
µAcÌu—�Â}|£Ð¥ïCQŠ^k˜BÍÞ{^*JœÖG„Öµ�|'_Ãpx»¨oãIÔ–°ï“nÀ@GÚ	dåÇ�Æ—÷æý©Ù.×bÃ³0@jX^lÞ¦¸/Æ¯nI±?â¯û&£¨ìýµ}mg¶ÜF—Ø92!jÛp’ãC×mýbAº¯Û»K’£¡‘WÞ™Ò‹V…S(2“�\e�yÒÖ[W·úÙÊÃ¿x¹HIfƒÜ]íÝN½C=eú±Kð^sÞz:ZY*ÑãÛÕë‹ÅQÏ_½¾FHmp­¦-ÜF›…¾mÆ‘é1<Eu^Ã­)wYÊÚ*-ø›õªÌæN“_ÿj-@âŽ[kúªj<îV–§„>è¥ö˜ÔuùœYã´+�½Ú>YÎ#«R­9æèý¬â[Ýal,)j«hRÑ0G~¦_Çi±Å7¿…ì½¢’U“Þ–µsYtÇi?©¡fiæÚÕÛ'0<Q˜“o!%ìƒÊ­:Ñ!çž�ÞÃÄít „|\\ý|‹äãtG™ç½ØwqtQ§¦FÉ¦r¨¨”è¤sj1¹õóÚqÖÇb<&”ŒODsqÂ­®| Í�ù¸Càõsè):‹ámê^_‹UQ4TOS] çþÓêLªN
ñ*cp«¯V;û_�\G×kR®júd"¡ãV?öÐ†<¶Ûß#ØòvßŸÇäÓ¦4o>“¹PÖT�Çz´<�…¯à»:“34MÎH@çœsÎaó_ýàÙÌ3^´7¶%�êÔ{Œ¨Š?¡YôZ2óÈ»‡·…ÓªNÕƒ�±ŽÜFžù½t¹Þo›�óîÿo%p}I\~�
\áÕgx”S""°Qç· 5íó*o¿çŸ/ÛÖ;)§nŠø(yŸ$èrÕž,÷õsR5÷
¿<ãLzº1›qûâï‚»«	XÿüÎ¼|ç&{ýÉ&ÞiÊö×§¶±Ð]Í1–¾\©_îƒ¯“Ón^u|ÝÚéáö3Ýwå;âºL£ž¬‚ùÏ¿Xå&ñvÖZ<•ÝK8B¢k¸òší¶óÜÇÆfÈÿý‡d”ÍªU¯~Ö>ŒÕî ]7ú®c9»Ë‚;ò¡Rçv»º·­2"½0ò½d]>ùÁ<¾”±ùW=Ä_Î«Âòîk¬xÐÎ›æ+Tæµ¡q¯SÍq™{Í˜„TcîÕ³Çwõ©Ó¨ÃþüáÍË)(ytÅ™
ØÆºäƒMÞF£NLõŸ+ú²f{�¼«2›7‚©D?T�»Wœrÿ×�É–§XÿWôÊî¡qýiDÝs‹IP)T3¨¼*èlX»EE—}{	±\xV¥ÊÚ‚‹•üú
-á
ÂTLç¬'µÀÑª¼ü;.ó[»°¶Ý~ØC>G˜Cæ¢êìÙüW$ð³°[u	8K”B”yŽ�‰ÛYzÌ³0µž�\ê!k§í+jéRÛ{îÌ›L=P«§¢°¾³…²u#ôX£nUZ—ÚcA¬wGŸˆÇGßvûý¯è,®ã’;.}7~àëy{›½÷0—�A&o¿*vîòØw!Ï¾@Ž$†�W	?Bùü$—.oB˜ÞÑÏùyÑ:×Ž3×¸†Xëˆ;'¥-»èfÊN{ÆÚãN‡bÍÿìèˆ¿×~Ôê.„Ž²¢•QÿëÜ%O=¯¨s£å©ŠfÎ�`mG@Ý²-»ÀH­»[!žÎÙ3¤ßo6¿æ<ób²ÏÔÆ`:ÃŸ¯ÖØÑ$ßw•.…Lq„1hë�xQpŸÉþLŽƒX«žöÑ®Ìç}ªÇÌiˆºý×È÷n/pôíJ"DÃÁK£â_%pL¨ñ:Ãé²Ý
-'Q~‡ÕvÞv‰^ÝjÜ4Ýéa$žRssjB{¦ÝU¤›Œøpw�ýM–=ì—�ÅTóuªì@÷ý¸_ÞDÁ¡µkâÃÌ¿àq1‰xx'|Ú\ÃâW›P%ÆìuR´ÞJ§Œ2ßMå3íŸÒù¢"xæú	Îx'§u¸÷oâDýî«Lzêy2»ŸæõnŸ˜üöUó–³ØwjÓl.–cÚ^Ú×�6[}¯�tµs]ã«Te*K¹u�:g2ÍU\¶/OÆ)*-“ “ô7DŒïäø
-‰FTj»ˆ¿¨4/ê(ØÝ£ó‡Ü˜ËÝ¬aˆ*ÿwRy9åïçVW\€”J)ÿX�8ç£èÐÿäpŠ_ˆ¯¯ª9XyTÆ¨þvÂp&za¯µ¬:Z”8fqÜ¨ôÆZTo 6výä£`2zKÓÙ;ÿ¯èÅõ&º+„Â\=×§ö#„{¶‡·õør8¢Ã\š_{‡ßõbñ�:<9š…š÷¶vo¦[ì ¨Òº}­RŽ0®°ä‡	!ù5£ÓŒVS$s|mWÉ±ˆðÇïÚÖ�\4š$c’§vgH.)®A2¦ÊxÉƒýw#”h/YüëäoÎn?üú8ÁlB9Dïåf´aŸ.qà½svÅâÇxÅŠùñMlä»�ûÐHn§Š?\¿.�r}[ÕW%»·�{d†D·CóàjÌÃ&¿*GŒ)®ð™DõÐªF·OT@7jþâÏ$çIS~n#/¹‘E%¢à±¯[ÅŸšîƒ4I-¨ÂŽDá2R†Þ&³ŒÁ¬¼w?zÆœñÓó?�Œ:óß`…‹äúÀlFý)þó
-EŒrãA¾2®øö "ÿ+VGµbjF¼
-¼B¡Å[ô±:¯[.Œ~Ó˜’«ö<j'Š•Ž‰~ÒeÆ,=ïÒ�£n5òÓ'µÁb¢¯òWº¾ýô›RßË;€�³¨�¨³Ì/°ÍlñpûÖü©	%Ø~ì£hß]~œ÷úÕJZásƒf!sl¯W1Ñ�òÌ•ºN”…Qüêm-ÿÔ8”ùZíæÅmÂa‘Äv”Ê¿3÷sÆ�8¾,aåûðrÈ¯(cK�:÷¬¬Ü
EnÕ\IáÒ¦6:z¿Ë¾#žya›œ+')�›è‘YÌIBÌD‡��<Ûqìcˆõ|ï’Ee[P‰fUþ;IÿL9=¾¶'
Ë/·<"Ò¯Uc®1uý¨p<ðÒµsIÕƒ¸Vð‰Qwß$²b#D¼W0öÕZÇµë‡{¹õ´è¼ôrç<Íòþô;mÕV—7ãÕ}›Ý•+:idÚ×d:„Mf1¥ß!ÿõä~ùG…‡F†L¤›ë›å$Ûzª¿Â2¶r¢“;=¶Pq@‚“z\È{yùÍÖBðÓ;x�æg®Ñ-½=¶¡
 1ôËdˆïø@ùUh�;9T\|ª‘ÉÏåhæ%¾	DÛF˜ëv©Ÿ©èràÌ³�ä»¥ˆ¥pÑõ|eÒ� ÿé’¢c¾TpÍü$Î@-|žÛ+®d¯‚	åPTy¡ß…¦õ+uÝ{>Š÷*/¿[ÍG`«]Ûô€³{Óy`.3 Gþ�Œ�&îrÏ¿nò›õ×DƒGMŒŽù!6Aã™S<oç—õpÒLíãWÿZs3ÇûCá‚à1ôVÑ)Øô9XüÂo7YöG¸ºo† D­ XÇRÕ¦üùßvTAq‚ƒI¬5nøHC¤¼L½“�ÌL‘o8»Šï¨0\W8%÷QØ¯¢ñç„“mä2¼³à@mûÂÐ!:�Á{�
ý»ÑÍÀnž"}^ü“$Aþ•Æ’É2¶ºn…±,	“†K­1Qñ0Iéó7?½Õò­ƒ;ÀC±¼�åGuÜ/:·†uúÞUÀúg—ãÕk.á ±d£`ˆz}é7Ñ|È·ØÌ#‡nnÛä{óÊ<ë~1O
-%—¹#òðŠ^Õ=DwÃö=K�¥…�°ÅÀ>ê(^'ó¿cžRôn¹w–è ˜­Ô¦ÐÁ–÷Ø†Ð›­kD_ž½M•tny‰\Å1ñÆ¨„¯µÈŠ[ü•Î&í´åüŸBêµ‘$_Äv€\·é‚K�dü|µ3)Ž=&	9	Žá~=ŠÉÌßâŽ;Ð¢I‚EôAžþÚ�IÏ¼ÊeýD`ýú«e¾9wO
-«]«uê<\bz³„ô§6R£+öC>zôuK•0X´"rÁ‹x�Wâ¸·ÊÑwJ
-ºyTÕ‡ºÊè"™®QGå£eØ…f)áÍ‡+iôrn­nÑ7ÞÝš
ƒøâ2ès§-ˆKà¤~¯ñªÆzT6*�AÅ‹
-ËÇ6>ìiGwÍÃÒDÊ¯NÜ÷.�j3ØŽÿz¦8�{¬‹Ïo[þÒeéÛ-Æ—Å2�ó××dï+Á¦KŽÍØ©³Í\ÂŠ1c²%›/ÝªÃËãŠÖ–%°×v÷×þ¦%~ÇóÔMJ_Žnó¯ÈjF�ôÿÂ~ñs ŽEí›kµ€’‹ñ1º©¯,‰{Q;ßRÛ™š,‰ R­2ËÁÌ£š¿=$Ë£ßøG¿Û-$�5†i¶Æa¥vÉb*÷€Á}µt$½õ	·pûuÏ÷üíÔ,Ì¯ù•z»Zªßz–ÜS%À´_X‘å¬Ð$Å%¸ª­ñ¨<ÖQZ2ˆÉÕO*•ÅþÀžÜ¢I¹�×ÂèÖØ»Œ¾V`É÷©d„ElŽÖ…e>¬»á•Ñ- ‚Brø2ZVÕ>˜çÄ"öSŒèZVüªKÃðWf3¬{ûn¤/Ìþ¿b­Ôõ¨ˆà~~4¢:K±e¢ëhÏ¥èzM–ó”+àþšª«O‘¹4BÀU-0ò•šÔôb>ùõ—†‚‡¢sã¡ö‘g¯âÌ=cùW9¿„¼åÐðžd‰÷œ{7éÒõkBþÒ’�Âf@†-E‚Óª
-ÆÕû×(.³8—›VÃ„ý0ÊþÖmÅÞ™…�ÔÎ‰a=�âÂuxŽ¬çaÉ²„�1?üU�0:�À‚¬ÌR
->Ð^õ&D‡oŽ€Çž…Wê—¥®Ó‰Iú¿[+ôåô%·F§(1.A^¢Ýƒ×r|” ‹Ñ$òÆÎ�F�V9î�ýOôþÿŠ'1+<ã´¬ïX®®Óc5¸¿�2øƒtÏ•>¡íW&¢�§Ø”µ:ÝðíB…eà#IîLŽš*‘dÅ¡ã“‚ú€(;:º¬sJÌ]óÃÅÒ^
T6§žuu8.Ôy4¥5�oÍ…Ó�R?ãÎ+¯‡jÎœdùl�Te-­¼î�$T¡ÜÂxý¬„…ðRŽÇ´Dê”XVõ7›ß¤ã­îWw…áñ_Ñ"’“3Òük—v$âýK@«ðcØd*{ÎsØŒß¥- (;íòK�“ƒ¡WÎÉ4‰zµM”Ï›Ee‚YG¯6Lºß`%…÷t†ÊÞJHFÎ8™“KÈÇ‹lèÇ³6§Sxýg†Qúfzðµ0{ ó]–Gqñ»|iÝÎ·b¯|^L*;)®}ýâZAs/[…Tà~ï¢w’â\ìí÷†èê×Àþ=å‰±ß¥FHƒÞ3|
-Uf©UD‹GF?ßŒÕôX3jAÉSòì=Vy›�ØÇùç'9ˆËÀ¯pd^ºóÖY‚§»Ô ¨:?™?†c½ä`uü�N§¦Ö¶¶é[£¥2ëÝ‚§bzªÒ­ç4pŽ„§¿A$”�KX»¬TØè™!èŒŽ%<�0°N]ÂFaØv°„6	¨ƒ,xošA9»bµàˆ0XÈ.ÔÖöMÊ/Ìg„ÅÙ�K@)p•a5ŒVyÊÌ¤é=¦„ýo|û…yob²Ø„%½Af¿ÔÕ=•K¢©XôÁ=DòÇ	»€Ë}ÿæú¦þKö* Ñ&žànà†{5ð°¶kð¨mç,ÙU¨¼�*øÁguçŒ»xý’
-)Û‘V�0Y‘ Î?æâíTšÀ!mm3Ñûf1PIâ¿wßÔiŒ�ŠOÕ¨ì¯ìÊØ¬´îÛžÂî×w1YTÕÆ9Ç·­Æ�ßòv=ñâçšß~úü}ú\Å«xkCõšVâÆ¦ÞÉ‹þ‰–F^beÛn€Y‡vÐä&2qN?)ÑVNh¥3EÄ´6™è‹qOÝÉ³t™€â~¸Â´A'�1G šw"Êà	5~·\€ô©b—ñ�]eñ÷\lÞØm2Ç¿ô5Š2ŸÍ®v©K[v61ÆgaÑð×TÄA…¶Ñê[©›ÜÒ¦‹óùÞm“µ$Õ:ï"³�N'Îâu«tL_‰´�Óo²ƒ×±ÚY…ý’°ÖšoÐ‘G
-3¹¶²«Ø/#ý[fGÚw¶§òdô"eDþ¨»è%Ž7ñÑW¼¸†5íÅ“µ¥×Ttq4w�2]Ï\@WJ7Ë^nˆ^AÖ¥,*gV{á¶£’Òmå@—&âÙ�9›OÌú2ÄûÝ6=‹êÆã[¬ìb€ÊÉ8×c°ÝTÅè;á¹¤Ëf/b�ëytÖLó*Ë1§úeë÷ˆÿí'®×MRï¿P<ÍÓxPfjÚ·´h5Ü4b2\Î•k+_q5úñM£¢HUœùz+ÉÿeRƒt¹6”ZA®ËÊ	oM?tYkC}X&âv‡Kñ�HY~¨¥$®¬þŽÚ-°ü&aJ%ý}¶Ý7
¿Ý�¤·ðÎ‚9
›ÁÀwø¤ì1æp¶Ã‘Òã:¯íIïÛÑœXOãÜ¸ÝÇªÄãFä'O¥“lÛk•ƒflË‰Ó?®vœ(�$¾·®ŽÉµˆëFë8Z¯ž4¾‹~Ñ·±«ÃÏ±8ÂoBP‹fÂ>?P:ØÖ¡Éù×„Šº/yÓå‘(Søl'ÇËgÕœü¹s�µýýÅs
$`-ÁÇ¯ñ “ßR„9y“‡�µxÀ¼Ê®	ýÉ;‚&.™Š}ItÐû!nÜÏ%ñ‡•Äb"ó³3ƒåà½”é4ðŒZŽ¨“ÒŒJ°…<E±Nüè€‹”;A¥ ªh-(–àž¸Ø‘çG¹çÎõXÞDBŒ(·T`ãË86#z'åsÀoB1ÖýèýŒzþÉn4øÅâ2ß‚Ìl�c©|ÚÅeäA¼øÛ(øïñJ²d@Ã+¥ºâÕäæ	hØ9Øå9�Ò|"Zƒ4S@øe?±ëâÓøJ`”¸Žë{Èek)4æjß¾hLXXÔiµ¦Ä/ï–žn9¾õû�ËÜægµÍ¯‡bÍˆt6¾çÀ>ª¿¶¾KXŽôRmœ&û³‰&@¹…^a½Lªp“—Ç¿vF1ÉQ­óV±„Ht,!“øf˜î¶ò˜ß/ ¨FqeÈäË‘uo²}uÒñ9ãÙ}­Oz�'àwT*ÍvûËC§5XGBöÇœµh¼Mwk'Q	nŒÓ{Þ
¼rUèôäÔ¼ÖÈù¥‡nýEÀnåt¶Ô*éï
-�RÝQäþÐR<Gn{Œ[ŒÒµQSm#® ÛjêÅ!Þ ‡½[À=Î[µ0ì_1ý\Æ>ùû²Ý š|èd[ÈG8ÉÑ "ØàÊ—eeYÜøŽ£E“^ˆ¡¸è›{`¶A´¿:×Yë%Ÿm·^x/Îtºä3�AúIòÚ‘o¢Ó|9YTæ¿T;~Ì;2zzŒz@±ÜgÌ×÷™5jº×·Ìe¥·3�JÕ«ªÝËõ
-u²yk_Þo•JÑÇ%È¸¦šÍîÛÏ'¥V0ÀU')Ñ»¿ãêÅÈ<råYˆ~ÐN#w™âà‹/‚>9;Ö‰ýåZj7¦ÁKHÙø%ÒíFæÉÜMÓM¤-÷&µá¨O�-‚êaùFmKïæî–‡PFG•cØêqí¿^œþPg�´Aí›Š"üfW”¿EoµYK<‘–)&¬å3Ô^æãø›Ÿãáw{€,ªð|´Â"…,uæguœbl±µy,@� …´ú-c\]«£Y~Y�'f’îwGH+ÃE<ÊŒq./+0¥©%|D5£K·œgL6Ú\Îõt	šñH5¦vòýû.¸+›Ä¥s‡-èJ>�B%ÞÉ÷LÇ(y�mâB8êÆøÃñNM
-ââQ‰a³w+¡¬ô]ÁO)=§ê™×Epí¡ñâvì&½Öäâáä¯¯1_Ñ4 G“‡ÏôäóØ²@¼Å‹ÓúŠÍ¢²kz$&+Íç	j„6mNu>¯¼¬JÞ×Ê2E;Y›áÛƒEY¾kM×†éÜ[¸“C¥~õPE$	ê¯*K¿…·—œ$PgXFCßéå_1¸N§{-§~	2¸>�ÜYÐôç}�zlxÿZ|—Ø[åOý¡…ÄqêØWáè\Z–ÞóÀwXöc¹B¶Wù[_/xX®¢Ã†¤¨‰9·šj_ÿŠa/j”l€aºþZ7æ{žl\Fï–sEUãPÌ 4ºAç‡æ3{ì™9¿¹yØX7«Q%m…Å2Ú{cÕ†‹Ý‰“:s¨Ð|è9ïŽ‘)ŒQzêë2Öü¾�Ø6Ê	=!¤4*Øß"Õ½•se²‘ƒD”×ÇVP§Çå:cnRÒD	šÏYpœ¯ú’'�Ÿ¸]3ðÛ`§vÞ&¾¶øj>Þ¿²µ´ÆÃ©Ô(‚9½©(2ki×ûvÀ[Ç‰è³•ññxq²°o%ñXÃ‡‹s©”¦QmáÛ:.Â¶ÚÞÑhÜ_÷,n|õµû�"z.ºµÎ*Ûcä`-\°¥JÀn>ŸT+""¤ùÞT~4žfÇ Ívj2k9ôHð%Î�§&-f7ehíÅ0×cN„ånüóúJƒÃsž¡A:À2_)Ž¶X
DØZL¼f­¾Þ×ñò¥]œYµ–&´§gUß¾{qz©ýÌæTÙ
-Õ:ìÆw>u.ôG®‡“*qð¿þ]H¦�Ò»þ½•ßÒÎÒþŠcºYì‹û¤Qc1cv”:YZÒ»Aõ'oŠQ�Ô�ÖÇFŽ¿'‹ú.žÊ«Ø3�è€³U…¯Îý+Œ–Ò”fé¥¹º®šUmnìe™�&v-«=VÛý+ªâ¶3««Ä­d¢Z8Ì	3K‹ªé9M_ôÈûÌ¶â9ñüÃ¢…%ž÷»v’n®/E¥ïWO[?2ò”®(ŸŒv®â5
ü¡è4{¹ÉÛ\	©Oë#$s|“±¢&iqQ3<º‰>p•ž‹qR›
-&ì˜8”"ó®Ú
¬e¿9órÅ3PÒé9Õ9zVÕü´l-FöÇËËÇ)ýéÀ­;@Ä0Ot{ý¯è¯fï8|
õ[ªÑ³¶÷â•1D�‹ÿƒŽi˜]×rüwÅŒáÚÇÕ²SL�l¾¡ëž/¸/:ŒÂ~}>a3|2&;åMØvÄ¯æµ>Êß‰î-ÿ}Ífž<Ù/œôæ±Xá÷u®m–ôÚ½àÇY*U¾»¦&~ï{\ú8v‘œz„µÏ'
?Eœø9½ftM&¼�O6aä¦EŠÌ¢t¢³QÆñƒ·ŸÎyë6bzÒ/û
-Píyu#©Þ`È‘v
-mØü×psÅ\áR‰†Ç%QÃp½	üøçsœhqÆS¶– H€ÍO9Î5ëõ
3ûìÇ{r}ó¼§Ó‹ð˜—žû¤ïd¹n!Ñ•Íà&¨½˜?rzH½…[
¶ˆœOÎ$œ|uDÇ	ÓÒ{U	Dô¢šW]™IÌÞDƒ¥¹qÒøü¯˜Ù&ÌÄoRðážaýÕú&D2­Úû›¶æ‹ècá^¥+±i"tfãùËÈ3½c­r¸íÁ¦~‰­÷¶TäÍô�/éî}ãíIŠGX(÷ÙZúårv¨ÈŽïç­�…÷a‚Åƒ’…hØšÆtÅ›J±Ú×&Ñ·li˜¥eøKVm‡½%Fèìópöˆò>½÷Øaþ›ÁzUnÊXEŸ†åßÛÊæÖ®Ýkôø;° ¿vR¡½kéòË©(/£©'éÌ�[î¿ñÎüãƒ¬ŽÜ;<’&öhÆôêUü�ÌA\¼áMÿPK«ü€MÜAÌÿ—UÛ kÿŠ:º’º™æC£½éqÒP(òi-uíÝgü”„iUïÅÔÛØ§uHcúîŸ¤ªþ,ä÷n]ÎÀW`ÿ¶·ä¡Ôkú{^Ð»MW¹´'aý‹×3³òÊiÎGpC¥	•]¥4È(Á�IédÇAm…åca·¨ÕðŠòµWïÑÛc”x®mmÚu‘¸ÐyQŠMß<ûžR pIyÄ#§àWWþ‹ÿžè†^ïÿ+zÝ³I…£ºÐsÞ-‡eÚfÌù—¶CÎ›úµ!ù6¾"Š–6ÖfV¥ŒïœI�g•F%¯Ì½ T¤¸9‚Q^d{D`Õˆ)wí8èÜ0=¢‡ˆœå}Œ-`¦í�“Òj±kÒ›†Mì_
ëAn;ZßÍ¯œ;};ûòà.¾ÈþÊ¦wwó,b¿UÉãgðý=VÜJÄˆ�ŽA¹(?bí´äu9óÈùóÔ5ÇqÓuŸm|o£©¬º?ú
-c®\5xŸ¹¤Œ;Á`ðWýò¥ˆ:¿~DÈkÊ†ƒžüØúzÚOÝè¸AqÎð¥—3ÓrGMõr½jÄXÀ³�,/+‰Ýÿö�8½÷!ï^Y¨è´{ß¾#vé_ç#y˜8~|çj–|¿ÑyÞƒ÷Z´õ†§½LòzbÃFÕ˜šo´ð¬îòê8ÃíBÝ‰ÐjÆ0œÿCžÑlÿnùH%‰Ñ@9cÏÜB…ã�‘eÃèSksê´Ñl9˜ªp€•¶ŸØ7uÐ
Ð/øÇÚî–71=äç aX7ìù¢Ç3ØN›™Grh·‰t]…hÆ3ÊnÁ£Þï}+Ä¸×új>ÞÞkƒvàãüš(†«]ºx�Ë¸ÄÙt™M3ìœagó}zÍw1%¶¯å&¨Qq‡	¯‡¿*4©«¹½ZGk6íyàT“ksþÓõ½Ä©ÍI«‘èð¼±HMvDðõñxÛÙô�ßú†Óí÷Ø‰«ìRó)Šcýóù÷ô>¬®ïàæõwÄ¬�yKmÝc¦Éõê6Wçsoø—"YMvØ.­	³œmÖºyNr§Ä–žLTæÄÃ~ã¸’/—ìWÂÄ)­Î{ñTö÷bGÍ=Ñ¬Ís¼6�Í�Ù°¸F¾;ó³=6~ydp‘®‰Cß™¨ušž0•_ƒ…ßè
µŒyŸ½X›­.Óç>]¢nj£rZxHn›ËÒÛ‘1häzö&9U¥ò8±6e‹
-ø*Þa7³yó¯^y™‡}dõÅïáèßš‹@â;ß�®©-±�æT™1�öŒÇ–¨»p?j…Tö6¾4mïˆÂª°kíSWÿúØ_Í5¤Èož¾Nøž#‡Et|±…pŽgË s�C[žUy’¡½%V¿Å«È¾lÐ�kv­X^Î‚±;ÁK?Ïû$Û¡‡¾Ÿì:�`{‹Kò¬3¡Áä'‘«”¯Y¤½;v—‹V™ŽåÞ™rLeréü†ÊÄ^!/¢Ö¸sÏíà¬Û”F‚�TŸ=ÿ@[Þ_jbàtXíwÅPß–çèü¸h†!ƒq—/7"ú¤ê-h•vYÖ0ŸN.£p¸¹N¾0Ù½ñ‡ hß+…'6ú:l)Â)ÀwG�À¶
'ïGø:Ï›kèxÀŠ·�ayƒ–Eÿjâ½ú¯²[cåÙ$„dÐuZ÷yð¯(˜ÛV-b
-Ç†·6Ì9µÒrtt¯?Á¹Ù41ì¶¿�¡‰»Zw7™87¤Õ‹ ·:»ïº¡}Kà­ÆcÓ.š_Gæºã<(7ÏMW[Ð7\õ3%ÙÌÖÒE­QÍ—¦à,¾•p(~G·0	ù@ÇGß—¹´¤tú¥™#Dy…ê3foÞòMP©µþiç	f9¦Ž×ïš÷¤ƒ¤�Õ¦rûÐïýpÕï.IH«Fb7uZ?ø›¹6WÞÕø½CVõõ¼È("\ãv~<p6ÞìÌ¦,øÅ‚é½|±ðšÎŽ‘à­Ìøa€Ÿ»®¶õþ-8kÜhúËâ%"Ñwzn×Mcâ×>Êî‰­SL¨–ìêÍyäÄ‰½±{º8Oêå÷�xR9ÈA
3˜?Iwq®U<Õzã˜vØ+sl"øÑñVÔÒš‹Û²~Úä²=fÎoù¡\¨<Kéö~öw~¿³-²ÔK¯áÝû]f*3«O­ð*ÇýÀßr�NÍ1(ÅÏÚÉl?©�ö¬ozAá# Ê°ºÞ™uDšçFŸæ¸ówŠ¿!Rx³ñ2ùÃ+Ž7¿^u€tO3T:÷Ru§ÇŠâÐ«I¢ïæØÖ†”&H«ŽùÛ=d¿?$0)BÞ¶#`+*XçÄ93¡[o.Ê•l-8˜ûÁ¼…G€Ûmoî”1³Ž·àäIc�ï6­ãñ¥{’T%OØ†3®'?ZÊ»Ô’ö>‚'w…äïÏATô·‘Z�PhÃX³‘ÚiêÿŠ¶æú5ÛæÆ7§dKÎâêwÕ~¾¸ñJ=v<@¤r$IÞ7¿jús¼#3-•xhPÙ´m¼“TîQ÷–Ñ8€Žû™ƒê4Ý‰MŒ!�H/£‹A0
œµ(õª9K>ËËdáy…<ä¤Ó®Â{b1¤
-¥ú7*ñS$\Õ�+t5½Üï»3Ž¸·µ? VPŒ›[QŸUx5Áf/Ùné¼3Çw^ºTØb†Gï¢Š~6ÑR?r%öL*RF/tå¤éÊ�”[Np­<�‡Û#›‹Åõ¥ï7h9Â\òeÛg¯êŒ¦LT—ôšÛâ§€§Â#
-�6¼ÿõ~zHEý¨Ï®FhðÍúYl°¸ñ³è•-‹5§`ÝŸ½Äµ"^À1Ÿ¯8²ãÄÅ*ÿÏ‹Öó„_ÔaºC¿¾aôÂ²½u»eQ©Ì;ÊÓù‰s™Ï½x�mc:}ýô”Îáq< æÖª{lUÅ›Æâ0wtî/mÌ¾¿‰WÓ÷½Â‡ÇX/m«Ç.…á
Y€Ó3×¥õ,Ÿira]qR_8CSß}Fµíý�Ov•ÒÑNgXO{—H�±èn¹c†<ÆröðŸ».F åë,f·\å&é´ýó¤Ñ©+¡þ<è]mÊãz‡"þÎÀcA[¨R])JG�‘‘Ížá	^ª%û_¼¥Ÿ(­¬}âÏ Hçõ+†òmÓÀ9?Q-±N·ÕÝÌì‡v6¹Ú4Îs†-uãLíÆ’¨àŸ?Nþ<åOµÊŽ>.:;·-Ù!PÜø‰}¶ú5àè‘+vîôË¢m¼€	r5OÐK«êÅxÑ}1YäW{í¯Mß¶0ÌÒŸÃ9m®áµ…Ù¤üW½A_ø¨¿
 “ìå>…Wø£É¾•ï¡²ÊÆ¼M�oV»ÛZ9ï|ìÅãZ
-ÔÎŒ.ëâÔí]u;4÷…½¬¬Ž~+n‚(zv8öÖzaÊ¿2… m#ö)Ç³6ùëÜ§Õh�`Î�5¿x-Õdéûúx4WëbòXp\�(øsNx…ñWsI«'5BÍü†ÑôVè¢>†œ£LY³‹ŸüÆmf4îÇ—Ÿ;›Æ¦2j:C?_9ïýb~q†FIx²Þ˜Aé™w¯„¡™ŒÂÍpÉ:¢}-Ä-×m¯Ý}éuÊÜ»ˆ™Z?ÜìÐi¸Ûw=#XL„àóº_5'Ž(•ãð|Ó´`“�M‚­|ŒöRåq§ÚŒ«$ÈìÎÛúÂ{Áð1Á	! v\}NŠSžÃÀ–^…ÙL„ttã£
-³xñ'&JÓ+�¶�/C9.=q�¸S`Û¡¨h4%VÖlU‰ã›)Töêêk�Ñ›dnãy¸JÇ¦Ô�¶ÛðêŽ\âÐ}*ƒ}e÷
D”=“íO­ó÷ví:×	Oxa‡î]¤=½š÷-·7ÊAØŠsÁË²ë„PVþ
-ÎÁÛÛºªá…ðŽxp÷¬¡>á²<½§Û;¸~îoÁuÇ™x}zIàÜ°¸ÈçúL¶“­ÞØNn(Ò¶”]w­ÖGð�Ärqï®.-/7)
«s÷CÕC¯Ÿxrœâþ¹B.Éñ9ÄZ�\…]Õ0Ñç`mÂ§»yšOUõãÝçëÕv÷o”ccŽ*•Ö`˜&Ö¹ç,ù-"øùÂ,‹ÊqÞ[¾/1}D;!ž3/r£Þ§w0J½}$7zs+JßçÚh†íA)þ-UE �}ñU@ÜÓXª];ÙÝ77kKî§â³vË©8®¬¬Àq<£ˆñ£û%{Ü‡&2;V®gzŽmª.7¨Ã§?×OŸö=ªtì\55Åªtæ»ú…?5f#Ç\ò,ÈŸJ™{¥½ô¦‚¬�aÄ&ØÐÊ<N~R(¯Ð–9>ÀÔ¸á’ªU›}?ªµd÷£ÐßL x%–ˆ3dFb„·/%–ãÊ/¯×Ã+ÑeÞùË[àC:wÿ;u£t¯(Þe±¨½4M¿1KÖÚc§&öl»ÕýI¬¢÷ÅÈU˜I?ÄZ÷)Šà]d3BDÑ£n¥
-Ô7y*ºw§}l³™,"®T5Á\0ÅÌ¶žŒŒ.ž‹gà—Ž³gM»�û…¯ ·ˆ†bß¢ï~$”~a~Ð(²8¥jÁ*ÐQy¹T‰Ãá}ŽPo~eêˆ¡š)ÀN8Å=+×H‹NÚÎ×ª7Ê»nl•‡!Õjiä8­Ï§Š«L3©²¤^ÚaU£G;ªùU{W°¨­œ¨M®+£1vì`vœÑîr²úÖrg�†™½½—BÄèA�ð«<ÿÞãcIçÅbµ‘MŠ¥C¬ˆ>ñ>°yà×gÇh�×hÊ[ˆ›ûŒb�õJ#LuÍ’ìªïÄSøÚäk”åSƒ¸ÍWK†‘�‚+id¤’Ù}9Iú¯vGÉ’E‹É¤üËLoò�ZýE:‹-{Q¶9Þ‡îVnz%k?­i¿
-ƒõÚ÷SXþ°¸,2°ÞŒöÁ—.
ÈÒ�Šà€]k‘Ö¼f
-ƒŽªúN:Ë§=‘Wõb
©ø[>ÒÎïWVä´lóñ¼Oü<�M‹gói§9?(’M—¹+“Õ>¬ã’„s|1çá8‰¶ÕÖ? ]L—�mv÷íï(¿SúÄ+LYê>uÝŸ}5$´“ÁqyönÉc‰³4JÈ‰#;<“ä|xŽûeË‰ð’UEWÕ>WµJ\áF[5U†-Çe£�¤¹ }B1s|F{yüÁñ@C¸´µ]Ø\«€Ãé&Ÿ§ðú=ã×r€‡ï2Á¸Ž¬ÍíÃŽÓ
¢×‰ÕE[uæopl~ÕÏðoüÜÇ_*
:¨ÛÒ‹¶ ò-€EFx,P·k_e(º%‚¼®Ìé.°Y“™ÊqêëQ­²	£,5k_qÍ™ÜiF·w}(µæ3Õ”Æ=ÀEÃ=§òpæöQqÚSÑ§ðO…ó§»Ç_çâŸ0ËTsáª\êAO(íöSkÖlõÃËhƒV»ÇrôC"FµtnÊ3cÊU£½ý¹2T?˜ù“wëÌR%D³O„ãvÁ}-6Ð!}²QÊãSìéGTk®XÚ­‘}>ÔIî ©éqçõo�Gø!I�c{ˆåÿ®ßi4ÈýfMc¿Ð³ÜPUKŽ)í�‡½gW³iïæy—ê8°\2ÛÉU­ƒ�}Øz.Ã²üì	dãºêgž�Þ‹¡Þ&j'$êïs¯¿Z³ÝhsOÀ¹+½ÑèëÈwƒ÷º&L‚[�ÑK/ kÓ™D€j°Pü«Ò\¾92w~G˜ý†7ºþ¢$ï´‹>Ôz­ƒ3�MòlŽ=	4Ir •¿�zøÜ˜¸ÏŸOqÝ5®‘+—‡¶d)¡8l>£‹-’!Zë—¦ÑøSK÷ðâ£ò‡h±QöÁ½Š ×z³¨«<„Ž§È‘òÍeŽx¹f Ï§Œ”Ã·3ð¶<4ˆV—ÃÕ‘ég­j®GR:)W _-D‘-ý„El·û6a÷”—€ÒWu÷äk±<>0žo†üTŽõXêNB_;âw�ó[L�FÝ ®t†4:1Ão8~ÌïDç»6ãB3Ñ£U	› )"úðŽË)ÕEzªìjL&íÅÜK¨Š/>]y—hýíÃ¸Ç
‡ýu
CÔê<¸÷Òå´ýxdg*‡Óa»UïVœ‘` úQ}4«Ý+Ø 9¹¦LýÜ,*uËëDÑ·[¿}ºú”â·ÑhÞnV�õâs�G¯Qoó±½“S·wªÒú£iT™øŽ�õê··ô'%aq»p>
-¿)ñ²Ä^®ëÍFFã,–Ö*Nû5ÛÄ)&¤QÍ·ýö¾Æè³$£o“2Ž]Á�Ó¹Ú\íàÆd.à¢ÑØHG|YÓ1ÆÂ~û¸G):ÓKüWÏ�YÓLœŠÞ6ØÔ2Rµå+>‚Æ ¸Gó\¾¬me³efÑÜZà²v×Õva<´ý_'ô°–âÊqIÜ.ƒ_§F³È%È{—Ý9©ÖJ'¤Á¤XH¡ö�'ztÇÿŠ‘+öØî‹š §’c~H:ÉCjêÛŸ{¼2c S_‹[ßwU_–šÐJ»[šùkÑ°¨s8Npß$:âEª	©›:¨|d{�e´®‰óA¶–ªÜúì½ÉO£xï)B{òW}üeô¢Û]0_®9óåQTY‘pXL"	—:`rÙô°ê˜1€m-sÝäiåö’Þþb/ˆáJó?’ÅÿªÁ8²µ°fYåfäe6
-¿S4ïRZXS§(ÚîMÀ&³þô=;3EL™#¥ä×2E¿æµèU-ú!œ÷ïvfT"€^EF^´£Âùã2Ÿ«ÜÊFy÷•hèqÙQæ4èÏ¹#à4Á|!×©I`C¬¡2¬n^Ñ[0XÁúLâÝ7jÖ`ÉáÆÔîÖ¿ë-ÊW‹�V~Í$)¦MÍ§ø¯H”úÛ
~«
,cþ@•ÉßÉ&x‘òÙÇ%8´WÝ ‡ÅCÁ]6jp›« ¡6Ÿ�Ì¯£Ý3ÏºFDî�å¹ƒŽÃ×jÑ…=¬°Fù�ÂÛ¾¹Ï¦qÈiJ@Œµ$×yOÄÔc	¥Zü€Ü9è;ç†£U1^K¥E˜pù3m´›ZÜéç‚ÈÈ5AÓ>»Ë�ùŸŽÚ2\ÆùJQjVå.½Kkÿ_QÓû[¯1÷<o�;[ãóŒÃ4mNÛôõvXÚCa=HÎüpA´ê=Ó³nŸv"2;m¾éRðÅkýx3ªo«1ßƒÚnð¥ÌÅ¢âÔL&Pji.$²¼Ï6¾
-j7¦5�Ä÷ú›âÏÔýÎÉEüíG,Ž-3ðöÔå<nß-¢Ò8æÓ¨qmÒ|2D¤Þf'˜ã*+%Áødð|q¾±{ÊMŠÕç›>�8Ü=xæ^ãI.œ#m‚¼Q2c}£¶ÐEkÝ‹
-½Z“ë{¡šïS
Ëþu‘øhÜ\ag¢#v§rœŽ=–
äiËË1k%Sb«ëùç6VŽ‹kKÇETÆÿÞ¯¤î|'´2_ŸŸ@b^^,ÐÎ.óÛ¹óX{møôè*_dì¦ª÷<öi—>ráÞÿ*³+\ˆxžX!#6þöÔY
½N]?ú6”7²§äeyÖwg…ø­n³/b„ó+'ák‹Ý›uüü9ÐNà›Ù‹M•RÏ“bØÿ+"Ró®e<³åõè:d~Ð.8ýÊƒ›Åà>Ð°k\‰ n™›²Õæ×�OÊ}¹Ú6¸Ü�	¸—!}¾xx-½ðE·*qE_0zÚÎs+Õ™8Üä!”&½±\�îZpÈ¡K ^ý³P÷.^8¥ïG KÛ¦�­%ò«‹èäî*åì¸`A¿æ¸qÀ£¥ÀCÁ§5(¡eÝÚÁÐŽ£M…¦Äï8Q¢ÉŽnE;¬}çž…`äüvŠëß�¾Ï:;°¬OÀìÒö¿"™ãÄ#æŸ'èYƒ-ÆÉ�l’—>øŒWžlä9°ñç\d@TBPÜA#JL½ÀÚãßù=®BÁ](Ã…ç@žå%|ÒëóðR8ÙÏezñ #Îâ:|5’x^oqõ„0Q¹›Õ-Åö´¾Œ‚’¼¥ßzFÇŽÐúe‚:ø�x•7c­•V�ú¹�°Ú½ïÄèïÙ›6“È°óûWT+ú<lžÖß�Ï¸¾ÙX£Ã}¯LqLEøÒz’cj${#|W\é�ÔîI3¬Ù6vþ«Æl’0(Þ+šJÁHÑA³äuQ€òQ4ò·žÙn�‹ÙV»9±B„ÿÔE‡.R#,S•ÛQë§J÷ÖÆVùî{·û8q¼1ŠZ}cNå¯ÞQ Îaz6š‰6ªŸ¢pÎýîÏµ5%ìoú�¦lãuçðé¨ÿŠ)q¿¤ê(?¿o—¤öW±yžj‡¢Ï¶â	~Å+Éâk€\NsêÞŠõaï­mÎdô´}l6Jì�[<ËÅä^Rj¼Þû¤µL9"ß(þufy Ô7nqrF6çÂ-êÝ?aÌISô+ðcŸúo>åÄ3Åíqµä6Š³~Òöó“${Ÿh‹¹¤ŒÂi[ä8Ø%¹j–Ò
vNŒoät«×¸\Œ†ÿŠ•		80hïÚÉiëñBåãÞ=¢®>IÊàØûÞ7~23ñ6¹ö¨%y)7VZÄ7ìLX'"•cxÃt¦‹.€xR…K4k*ûó.¥Û4Ó±RÑ¹uµ?Êó¡ƒ—¶`JžxÙŽ˜�9s?#ãxÓŽŒuž…ëÄx!d)à†lŸ¥Vå\Èÿ¹¸“«�„Ü†ñƒý$�Ç,óSXÏ°3å—�Ø…·ÓûFíƒ·õ›¯".J¡=w�Ñ.t�
-…ž›ï7äl<„Î{Šl³Š‡-
-à9˜–¹=£†Ú43P¹¢ê
-àË·)ÏO%‹Ê>½™�“ÒœC¿qnÐˆ¡õ{DPÈ–Rù1ÃÊÖw`Â£Ë¸}e«Ïb�u§g¼žS�›@Ýªîš‡fËà	ðV�pÊcuá�¼vB#E…{" !Ä‰¨4Aía¸‡ù;_ä¦Ï[.ÞÒ‹e™ÁO“zŒ�S\ë¥¹Èw©˜Tã8$Ë®¿‘ML¢å!ø"È-A3å9µOµ^FþïÃ£&Wÿ?äã¬‚`åÜÿý÷ÿ¾gd9§ì~r¾�ÃÂ…ŸþKÔ£~(‡}'WYê"‡
-×Ï6ÑûÚÎt]Q$m»GàA8à8Ï
-¢ 8�"
-È<êùáîì®~³3ëÛ»2óÏ‚
-öU.žÂˆHÔéý»ð.DË`ÌQZ¬ûýò½YZVÓQò\-§~À¤l#Èp­Ví>™·—‹Ö¡£•z/g?“ýñæQ�ƒ†Ïør3jž±ûxMT#Ü(d�IQóÓÉòÆÌ.5þBÆý¹»èì{9j3@Û´
%H½šÇÕ|v6Ö2Â¦À0›¨múl“ØîZù-¸±Be_9©Ï5:¢1è¨dé¡�Q†+£*ÒùX�¼Kà¸ùk}+wd¦»]Ü‰ÙIÉ_:¦ŠOH‹ñúãù0&F‹y“­¯TËÆ/>4Jît˜Ã<	
-ÖABV®aw¾÷c¨cŠïC~³‘l<—Ã¤óæ©•2e¡òÞ9¥mrO«7ÏyW6ž%¯�KËD-ŸôžÃüÉ¦ÉÂÍo‹|ÿ$ÁÍNÅDj¬G—èyºzÄÙ#"+WF;ÖRõ£Qïëô»ÔíÖºrb:9Ðz“IÌp�55Ú ÐÃ¤=ËlHy±CÏ�¥Á86#xÈæ˜ã™]�nÙ Nbù4ñ#R„J¹K%ÊR«_@®l2È†¤1w¸¿Þ%2ÔÌ+ˆkP‹ƒ‰uµê¤áz1Æ&t XôÝªf#Û.5é¸ý¨ÅóŽ2fkî´þê{ÙÊbú®Ý*ùb�<ƒŒ#¯ÔØw¶þî*‚ûûuüÝUŒA?ªãï®búQTÅ�q£N¸JöÎ¡Y\åBt­;Åî^<'zöõ™‡ÌÊ¡ºÓL´í£ˆ«§¨K+g7·�A÷«†¶ùÜérƒS“»LuÆÕ8–üßˆô±ùÑOh~{•_ÆßkÆ _ý|Å~Eôš ý?ü·sùÃÁÿ®ô?¡ûÓÁê\~O=cÐþC¤ÿgƒÿ
é¶ž1èÿÿ;—ßx#Å ?ü‡&HÿÏÿké©ž1èÿ7çò»{Ðßõ^ù÷š ý?ü?NÿëõŒA8øŸËyëüýéÿH3ýáàÿÉ¹„ŒïþK”Ñ¦Ù�¡8:°Múîõ–:˜dàÕ”ù`£ê4[ÆZ¿(R },³à¼Ð=(—�n
-áÝ¯f¶ª�C¹ý€¹Øöÿ#*þ[tEv´ºy½�å:cœ´`÷Q4VûUSo
-øH{î:”–°;¼’]-÷7¤¢�®&Ý“$§W„³5;| ýµÿË«bÔ
«Zhzt.d¶<8NŽAÞzÚSIK±J°YÖR-Ý+epí­JÖ\¯nÈÒà®¦??HÎ>_ü‘|=åGöê³ˆAŸýË‹6 Jfÿ%ÊšäÅ‹6ˆíB9#i.,låSû±gü¡’‰„p�­üñJâŽ™­Ô,ÆQh¸›å§¿1ècVÏñÞÿå¨ qÀ¿Sè›.vMÇ�\Et?9¬ª™\¡}[¨èèºR3i“­2— m.üÆ9ž¦õ
-¹shsðÀìõÿ6üCÎâßõ¬žñLXƒë³a’Gï 650{•ö…Ð*¥ÂŒ&L.…;œ™Õ®vå<�6tozÙÕãÔ¥³1Y‚ê@O˜ß)â�/!}â�‡Š÷g[ý·(µšûü´³õ›šlÏã�¥ûÇÑS™V¹ŠØ%iã»—Ý1OœŸ¢C‚»²oè£Z¬wÜÅ¯mãaÿn€Þ’kE¢'PÖi:pÆôÄ{j+G2 £Y¥ww
ºž¬[ÉlÅ¥-;�/Ý[ªu>ªÎè<@åéé†‹ƒ½Õ£ªÛƒ×Ìq8·H}‡ô£Ö/hú�€ÃGPÙ>4¢þ”šYÚI_=úª
z˜û¢ì<®�@/ñl*w¸fýœl)!‡$:‡JÚ(ñ»Ž’Ý@ûÇ‹-ì�àëˆA<h¦ JU�èƒ|^n¶Brº+âÊL™®›êóz‰?Š®xvå´˜6øò©È«ÈÞFí,¿»Dñ´�ó>[jæj9�¿A}¯Lû~”ÚÛ~ÒK¨	Ø¬ò£‚šëÍr#)ó—Ä} ŠÙÂÕ&!Ÿ<–:bb·�lüíày69Âp”õB/_W•™tYz™®ø#Ä Ÿú|~/7|þñ>oÂ¡]´IGƒÂÑKvrùñeˆ<Yá&¿Ó?!ÌXÝ;7Rããd]â&çÆqMq$ÏØ7u½ÜŽ+º·iêÔ<ýSÄ Ÿò;Ì¥æ={Ö‘ôÕù‘XT67f—I_Y&„ûc¶<.¯óín7èl68oSëÇÕœ1Î®@,ÛÚ£„¼Ý_\ ¦ƒÈë«Ú%óÃLïwÃë+$ê%„)�è8¼—RöIêSfA,ô�á‘ñr$ÿ:’8Wìh�U=Î×éçL,QP/„IYŸäçÊ=“›#E¿0+g¸Üt5�æŠô÷Ç
-w„4ó5°JJñtíHÏäUg#®x´pµ»‹ë™&«(Ì´ãr�§9ã¤`¦ßsîÔ:_�‰{Û“¦[²‰]+åàÏåÃþÄ µ:¹N�P	‚0¯üŒ‰7qr?U,¿KÆ÷–VøpÉ9›Êm^BŽò´î"\�EüµÈˆø@2Ïcñu8�ÓCúƒF’�_~7"Tì@Q)á/#Ôk€l„nñ~„ž/‡ îÖT÷u]VÚ‚ÓÖJ†AÖZúúéŽ­íŽÒºÓîJíK¥u“T†l®$4+ß�ÚæZböGc˜Ÿú)¾ý„fúeÑOàÎåë¢ŸÐŒA¿,ú	Íwú4ø’þ?¬gúÃÁÿÏ¹ü‘à?4ÿÉýòõz‚QßŸ
þ‹éÿJ=cÐþ¿ÏåÏÿ�{Ë¯×3ýáà?.¿\Ïô‡ƒÿv.8øß•þ'4ÁùÏÿ©s‰PK¿Eéo¢gz¡š¼Ø>¦z½Š
-&¢�6ÐÉ¨aÍ†Îv£Ç¶(Íµ}f½VÁÄô–Šðê­”T›£ïç)½ÿo‹»påÅê÷àC3ö®h´ŒJÉ^9,4¶Â.`§¸âõºªfÌCÈº»>b–ztC·ƒòðáÙ‰¹ž%F}­f[5ÙJï(gïã>w¸4ž£•x‹¿ƒ¾kø¾Õ³˜bþ�æaØæJñöFÂs.)ÌÄíü,›T(7Œª0íë
	›?Ú'd¥íýìA=DAuÏÇ‹Ó)’‚À°‹Þ„'_˜‹ýìP„ºÓÌ7Ñâ$ú&z6�qw/j!ž›šŸ’ö4;„-$Yjf”én-EéM1Ï?:×øEéýoIt{{Â•Ô`OSe€q¡÷{4Éì‡æ;ýQï0
-Šg?Ö½h„Øîðe$lù²‡-òÆ4ÍåàLöåôvæ%jÉIær/&ôÓ¥3’™}åH67‰W·½yv+�ïæû?hý¾‰Öó«ÿÖÜÖkÒ¿íbŽ+ì‹IWÒH¿;¦±›Ít>ElÔóµ±½×…íuÍå¶"æ`‹m|ÿ,¯ö6âÎ¹u÷ëˆA?jý·(¼ ž@”†Õ1Ç
™>û�ÂÔô­QÂ…ÂMÉÒÈeÇhæŽ3M˜ÚËûÝ¿¬äÊuÍ\‚'Ëœn•x¯)‘›;]ºvÚ+¿àV_åþÒ|§Ÿ<Â*Å/}…½g¸£4Ù÷Þ¦h®©ýHdŒá]
-¸\Ew©uÑæçã9OôqºÃe›‹4—m%ê\vDb?8—Ÿú)Þ¢ žƒê·z–ŠB?pÚ4éóSŒ÷ú*~wˆ=æY%r“y<ç¹
-è-§„Ò�WêJmØžOIx$Žz±Û4Ûev*µâlay„ÙÚlÿCÄ ï¢Rá�¢
€‰BÃã»—™NýÎçÜQ«s¶4¡©ëþ+W‰B£ ›²ŽH[ûU?Ÿf�Ž8º^ÇÅzÙÜ«ôš|%À»Ø9µ µÚUÑßƒÍÐ,V¿i2gº	ÆÉÍÌtŠY£í{5ËÎ.qÓÒ™�w[¦²q‰Ÿ$³ç“ÕFÅ1úhœfz¢¾¯÷ö…
dDáJŸ©Öª¬¹ájÙ@?Eìç‡~„¨T“‹¡Yïm¢ÒŒ�ÂêvZñy¹ßsÓ(21? 4qÛ:ÝÑ%cJÁñÎ>L‚÷—LK)œî\Ý³i/½¬·![D0ƒ±Îk…©g6&S/Yþ¯àýmyÿÞ�JýG1\%Û(ë$¸v¿èõÝBÍÒNjë‘8§Gw�¼×Ötz;c�‘)Èíyš+ýô¾�Ñvð¼Zì½*««åÍ’–¹u¦ÃB]ŽA`3Ó~B³ð€Ãê^‡Œ7ô@)Ë)'GH ½3+æ•¢rÂ¯ÛK|±kA(lÎÊ	‰½�?N›³u¾²püpZU,‹_¶Ì
-G½H�£ú�ðŽ�ô‰?ú@XÝ\Š�³-­Ú–+’ËàÊeM¹WÙüÕŸW'çóZŸ´„¶;–•Æ•¦­Ó&s;ñà~¡ãÂšiÌ¤½—Ñ9•b‘~õ&ä•mÏÉI£Gý2bÐÇ&àZ
-pãÌÒ{öü³U‚Ë•Ø�®rãÃç‹+L¸CÐ»7ßð‰P§Xµ>Ÿ¬jØ£#mÙ£°¸Ý^dv“æ\iÄs˜R3Ê¼´½ô±ùeø¾!#¾Fw¢AFz(;Ý¤v�V�r�á;8­p¾£ÏþÚ(NêË@o–(±=(’7ˆÉÎÉS&=£·rzºZM¡‰ãvÒnQËNšh-ÿ	Ä Oü‘ß™ðyWÄ¦íÇA	^7æbÌ.˜y2…Å~U9¸ƒEg‹§¥5s<gé—ÔŒ/	æ‹áN-M³Á«l¦C“DØ$ºé¸…»Š…'N‡7dï÷ y}K™U
-7ï¥›•cv),®cûà‰â6ûtëQðhÛê¤’Áî³jep™´3[mòG<¹TŽã‘ÍÇé9}Låð¦€Ý³5ñ1è¯ý{vãU¥ÈOÒA—Äâh¸>x¸¢n‰ ¢¬ëœðîaFù×‰DÆÜfÊ-7k¢�èñM‘£É�'1%…Í1¸ƒÌ‡Ú³°–úOj`¸ÖóYÄ ¿?¡ÐJ‹P4[�Ð4~ˆ�ë&!Q‹ÐñêÔ7eÃ}5–¡3Zg2ÖmÒÌ™$DŒÒÆCõŠRBküPŠAš[ïT5NÃÚüHÛ¤Rå)›ôM
-ñù-7éü>4ßsä_ý„fúeÑOh‚9ò¯Š~s.¿'øM�þŸ
þCó�þ
þ×ÒÿR=cÐþoÎå7ÿ¡ù‘þŸþC¤ÿgƒÿÇé½ž1èÿãsùÝÁh‚ôÿLð-¤\Éc„ï_(�Ð2ŠÐíEêbùáuï"=fRv=Àæ"”
z6¨éÕS{¬NMs×dCã<¼«5Ï\kúðê>ZÐ”<�#ó«6¦ß!ý¨õ§ø·h¹	À�>D£÷¯“EèY>l
xûŠê;çr#eª›ªÓsdcYV[újœë<XnØÖ67¡­T§p˜*ƒ¾°”ï½ÚBª<—“;h�¿Žô×~„"=BGÍÖ7ÑPJƒR’Ä{9ôØZõBéé¹É•²'‰¨`™UÅ0 rG·f»ÁƒëimKdj Ñ˜ºk‹q­�Ñ¸ÄtÖÓsµ1qÏœ¿‚·æã›æè €‹TÍ€Rr“÷Ó¶ïåP[^)^f=w8<%íë±Z°æ`6dRy®cT–ÈèáR3BóÉ=¡¼Úøð!�Ñj˜0ÄÝÓYJu~„ôÓCßáEõ,(%O„Æù²
«í‹â·GeÇ=ÙvÒólÁÎÚ5ó‘‰wAú†rÁu6W#Õ'v'nù¦Õ¹°	ª.î{ã>x�x÷˜/’�Ã]Ãjÿ1èc¡Í~ÑoEÝì{ùÿX78™ƒìo]Üñâ“tÂ¹=Øž–Ïu‹œ�†&M±äc{/ÏîÛÃ¤;k©™?æ“�Ú^‹ ð¾¿/õôòÎŒKè¯àßš¨ìâ"‚‹ô™�JÉÐÜ
-ìûi[“»øþ”³½~z�p¡|v²d·e¡åÄ¨EÔLÅJÒHF#³#>­tå@Öži¾A¿2Û­õÊo··0÷÷ˆAŸø£ÿˆ¶¿‰Ž¡ÆauÌ¯6âDŸïs¦÷Lˆ	WD%ÔÉUÕŽi,—Äc_è1è^ØtûA7N×Ñ	æÝÉôÉâù³ÃfÔLŠ½òI.5­þÞ½å‡èfúïŠR…÷£Ë<ö±Ê4LîäwjÜÃë«——#]oE{¾êô.·ÄÕñÎÇ®v.l‹‚“-(§�Ûœ BÀ”�¾²´ØCrE—xZ);9þ+ˆPL1¾in”3¸Ù›ùÐðƒÀi¯¾/s‡÷Ó¶.}wG-!°ïÌ3oš›lûÑ¿T†wØ§{—=¿­Ÿfô
Ù5ébóÑ¦·�ŒJEP<ÏTrÄ,sfòïûÿü}˜ÿ}\ÀÍŽBæ¼ê\i5÷;ýéÆGäÕÉíÛ*'j}Gèuå6¢ÚWGµâÙËƒYÒ¡â
rQc^ÌJîjT¿1Ñb“A—ìõÐçšÿ’¸ê8¸8ébÈh\;hfhÂë‹æ½d{´JÜAÓƒ�šÐÒô t+ûråràPTÈO.ð¾%!Ž�aoÙªUîTÂ6LêÈ€™7C´h^Î�{ÿcó¡¤c~ÓT# Y\åg<­ù�)†½lIKS:\Òƒnÿª¥ÇÏàfT3i©³">˜äŽ¤“ã{­µ&ÿ ÃBåJwG]�‹¹ä²µV«ôN;Ö?p.?;¡\dGˆz©kTðPJ¬ä%6HËžÇ£Y~’ª-…›q-:ÒN½x"nÍÂ_ÅwÛò¹ëv¬‚kÌž¹gºË…ê¦¯Ôkttè}‘È¬ó¿pUÆíu/ƒ�M€ßÙOã ˜å¬C,]Øph½¢¥KÝÉÍÐÃ“´Ÿ:w‘Àê	a¶æžÐææ’õäu	!�ËVÔå¨ApåçÊy·8÷ŠW*¹ßYÔ0íúˆAí	 ó¼•dÞP®Ýð\sB«Ô8Dš¸-ï%D›H‡riƒÄëPŽúu{Ù7� Š© rZÓq™]nµM
±û|‘¶{³÷š 
°Ý�W¡x¨ËŸÅûIÈÿmÅlxQ©‡fqxóžÕH±g/îöHˆªr§ÈsIŠ½™(WËìÑXØÛ}«|á7R³»ZÓŒ?_úG— †Š= å\¯÷þ…ÒsÔŸi‘‰Í´gf:{d'ÌÆ·ì¯ *&0Ì ”ùÃûétiµÑ;}•¾ka\;�vU¼¥¹É©´,ö­ Emn„¯Ëf¼·ì¬Õå_52ÿj”fJ)MÍWžVÕi€o˜ƒiÕ‹�þBú®áˆJýý3¬j¥©×W„¹Y¥¬¦2�×—À0éž³ªR;•iÛ·•ùh“�ošàý¥¾÷úx´ò‹¬b@sä'§Vé�˜¸…~œÒP‚à¯PŠèL
-Yü™/šÈ—ð~Þòÿ4„Uqûò}ÃìÛÅã³¨æºvñêíÍ9ëîƒS…Ãj»çD«r
-cåW
j˜¢Î³G@9Õ™U†Is²9P±ÛÀ:~\š:ž¸¿u,ÎÖxîz\9üø>è?\(('5H]ä†u;5jwbâÃp÷¢nÑn‡LPm
-Ï•Ôù£�•§�FR z…ÞOîûqš¥÷£kƒ<Žrtó€ÝËM›YÍ3V\7¯ýÛwˆA?jý)¼ƒÓ‘Ó�ËN¹k_ yÒ;½êfeŽJ²2³³³*+Q»yyÚá&ü¼²¹`‰ñbœYšsL�§3Ækó!uË’ï•Pr`&jÀˆ.=¨ŽÜ@°þ:bÐ_û¦!ª‹›¡yÌE,U^ºÏôw¯…>Ž½	³¯@3*'x³™�áqâi/†c©¿í�
-L¼3ÔSdk`>‘æ 6H´ûŽë¶ûÜÆêö›-Üû=ß�úê°Ç3ö+ˆ�Î�‹¢ÿŠ�®ˆG°­Ê’¯gÞ+$Ì
õžËùn—�¼Nûª:äöÈ/XVÖ%³PÑ|cþFºÆ)Ó<€PÑµW¼­?*ãñc7å™�Gw1½Â¾Áþ õGø©è'4cÐ/‹~ßÎåWD?¡ƒ~Yôš`Žügƒÿ|ú¿\O0Gþ³Á;—?ü‡fúÃÁhÆ ?ü§Òÿ=õcþ?ü‡æ;ýQâFDðËºEHo”��«;Š³Ìµ@’½Î%©;Â¢dÙãùÔµrS)0ûtdÀ�q¤?²H§Žx@¨é”�éëÔk2U}ÓÇÁK½Ÿº¹ñòà"Bp}!ËYâ­‰GH.¸GÈ~†ûïïDÛä>X‹Ì‘wìÂv«{`_–QhMènÜ,¶æ	™+)�Îö3ziÖGôÒZnë¥ŒkÍR4¹‹(9–g�` éG¢ý÷ˆA?=ôMt·L[�ˆ�jB‰C*¼—C‰÷ªí)°û¸ê…]Ýux;î@.iÉódÎû¯Œ�æáŒNÓ\ô–æ+È½GÕOM•ÄˆÄåÙð‰I•z«svC£ññÖä>4ßéïÜÉ¿DÑ´UŽôôýë>¬ÈôÝo	Ç=¥–/g4Keì,ÓÉš
-¾.Tz_Ô—)~T½fL¬é¾rPIBžÁ·!0¬wÅ0ÏÔ„W³]‰A›¯#Bè`!Ò{}þCs‚¨ î¡ÚaÛ2íËÝßŽjÎûYëÓíåœËÃŒM,”‚U !ÄxÔ[eÍë˜ˆ’Àf¹Î¢%ùoK}uÄ°Ê6„$¯œÒ3ýbÐ�Zÿ[TzNÁ}^¢ãfËÂä½º	«%áê{.nyû}áå÷¬“>¶aS‹“%½¶T”!žÊÅºr¹X‹|úR'±KVk§söQ>æ¶|˜EHáâ¿5¯‰Ù;ý}G‹PªŒ¼×‰÷rèú½n{	XY°¼¨…=ÝÔÐËØùÁ¸h0‰ªOÇ(Þ¦ýræbË‹—ð‚{ÑI´ú™ãµH¢‡y¦ï©¼•ßä1ó�ô×þgâNð¢‹Ð‡(¸‡¦pUöQ0[–?–CW�S„ !Ë†ß7ßÏZgü²�"[Ô»NQélöº„¬¤x@ÓþqR8Xû…SöÁl²¼½¤ùúMm½S:ùYÄ ïþ[ÔÈÎ#$¤�¨†£ïUÆaX¥„%pä�~'Á©.6é¸öTÏ%
‹šçµÃú™½ÝïíÔes"Ÿ§ËKs÷%¦fIÛv±¢mzíå“{™Ä"î%�Âˆï5Ñ4§¿×Ç<
Íäe8m~áû~çÄÕÍÁ�¦iiÐ"¥oÌ^F‘J»ÔÕ¤ãqñ„#þA½Pæ6Héw6ƒU…Õü^RW÷å¬ó9Ê^_¥«ûbÐw
pqfwÜÒ ”¡èA—æ
-
íÐ&=óž	’sA�}¶o©›L·ù½e¯ß€nªÛy]‚Â6<ÉÝÞÙëÆƒ×3‰)×¹-Ý,4EºY{˜K&ò
¦Dg¾†ô×þÿˆŽ\œJI¶|~Šã^_œ2Žt¥�–¦ÈšÑx5#5#i¯«½{¢¸o¸z?{lió¶.šÉD�÷÷>&Âìq1 â.Ý<–š[ÇÍˆ·&¡�ž™×º0u�ø*ÿþ4z‰¬{Ï6t!£9·‹¹5i%?ÃZpGX6¼¢{š7|s×jï\ÃÅ%‡°›EªÖ_Ïåôê<Ÿ–¨Õ}ÞŸTw0ô¾CúQë�.ÎòˆZÙ·(¨ç9e‚ÌÉŒïËXÙK,jmû^mŽÍj@Ó�ã¿(óÄÑ¾nn%ð*bvÝ5÷\»mÆƒýyUY;*qo¯æ‘^Ïãüm†Òˆ¼Øãì"5pâ_Èå½™7Š@íSàâl˜�3Æ ”å¼CÏ’i"HëqœCSå>UÙÉw­Kr0�út3{ea¹º§÷2Á�¹G~1£
-æzFÇ—4ÓXÔŸ_/d>›oóÿß4[‰NG¥e�RVCWA‰dQCz<g"ªÜûÄDvª¹ãexNÉ'm@Hû
‘’6ø®µ_­šÂš:¹éÙüþ€'s8[¢çsú~œßƒ™Næ[¹Äî¥³?Búé¡¿2ÇŽàö)€AÒbÅ„Õm[õžµŒaß+Š©óÇ©­æV(*;]ovŽÃ½wnû½×lðÛQUeßÏ[Ê0¹ìub‘Y²ƒÙ#óèÍJSŸ•f
zFYÚaö¨”9¼ÓÝˆ�K¢àXƒ$×YÍLéâBÁE0Û«Ä^7e§²-_„go&�ÍìòÀ2×Õöœ�æ,šÜâË÷/RP"Ùœ“pª25§|í½¶Øž8›Vµ*ùþwýº�®Iá"B1^ŒPGÀíSb½cÜd­Rª<S¥ëru«.gà~‘�jUP{4~p¶•?pc]Ÿ›Ë ˜V)èP‡çjn˜Ÿš‘�›p‹fŽð�LðL¿À·	?Êã=ò§ˆA<B9EŠJ‰C”2>urÝ~OG­ò�Ù·R¢ý
-ÕjÇÚMð‘j³Ô®R^†Ü!K¥Û‹Ô|AÌ@Ï?]—N!,Jþ$œïŸ”žZ)<�esýž ùÆ?;u{ÿkBß¯»b/ë�âÝK)¯-õ)í$[û×±¾+Tx,èÁ,�-¡eÔ{=×-çÌQimL¼ÒI%ºXÁ“9Y�†œ:’.´>":¤	pðF€fDÙŠ¨Të©~§ÇåLf‹«wm¾ñ¥Ãy‹ÃùùÈBð“9¨[‰?œåÁ¬k‹iÑ”g&r;OÚíë¢©Ý8}çùQîÒßa÷Nó€�Èq¨
 sRIŒS“¤ö÷ˆA?=VÅáÃ¾=ù«2;%××N}žg‹6qdS¾À§9âÌVäüy9 6§Eá^ågµEbM(�_F¥ù(ÏrS¦›Ó÷«Ü²ó�YæF´ƒêH§úNÚZõ�Lb�åÿ!¼ëˆªTî•cÐ•$/ç\¢T8ÚCeÑñÚžÈøràí&¤F0Ó©Wè�‰Ä£Øg7ÃFÞåö°Œ÷[ï•ÐVßM<;ýfëÖéù¡ÔPïeÌa¯S•F*ƒ>6_‡64¹q`ð3QõÀ�„ø4k¤�!™Y&·­<IåàÂt[kÂ1?Gðhæ²Åáònæu|šë·êP¶·Û¸¹^UóÝ§q+v�Œ„tù
ÜM(àXéˆä®ú	Ä µFpßèGðl&EðÀ€£¢."Ý#xn@L¦[¡æ¿¦¾M•h¯5WÎ3¹ãm!íäŽ:[#¶}³Ò©žÀ‚1¿•†�”•n6ŠVcªVš4ºFÑf:�j§ÔVù„ßú:¾Ó÷þ¯Š~B3ý²è'4Á,éWE?�ÿ9—ßü‡æ;ý?ü‡&HÿÏÿOÒÿ‡õŒA8øÿ9—‹6fJ³^:‚…J'|@éYPMNV^«‰³Î³.íl!ÿš{š
 	M€}àÄ¿ÓÇØ:µ{ºv¢º{Ë´•h!7¿Žžzƒ^/¯ÀÕƒ#8•šìQ}¯�ÄÑL„ägÝv–TÀ<Ã­·�¦ön·R>9‰Ììl§šÚÕJŸ†ŠyM
m“à©§I\Ì¬Iè�Šymž»ÀpÒÓX+ÓUúi¾u»pHí/Ä ï~Š^½†|ÜÈÀö…€ÌsTÛÖã½j›‹FêGÈD_¦>Ú{þ˜Ý}órqš%ƒôS.z·29öa~Ï1søäeæh³`æví†Q|ÍÀ1ÞŽ«ö-›
-jWr½(	à½ò½zI zÁ%yJ£<¬ÓR…ÿZ·EŒ`!fa–ýä7‡iÉ�úí»3¸÷Z-5+³33÷h;Æ½Œ'Œ{Ç)wbÜÓœLÔ�AÀ‘îÜ²ð³!éÉVéRcîÅ¯”2‡ý·&;Z‚–u0©WÿzÚv¡mœ
—ÓÚÙw—;Åë´ïšsÒÍ‡=â³–…o®1¿Ý‡±1£G5S.hv$´”žÑlÉòE¬Iz±[9oâÛ¢ØÑ¹ïf¯?hýßD­¸sîÅÀrJÙ7À$4
-?|Ø„F‰—‚ú(ûðv�®é›že]/}'¦bkŽë[Ê>HØ÷“
½î©9Q”ezQ•ès²tÞä÷ˆpì¦²§Q’‡¾ŽwoyCGoÑû7Q{D¯8g�èy5~?mË¾——E¿%wwÀL›HO,Éâöƒ%s–rœpY>wÕ+YHÛÒc3N^Ìð„ˆÖ¹ƒl”;JÔ:ÜV…Ä×ñßšv¥!9i
2_™ ŠÍ�UÛñûiÛ³¼
-ìàõrªäŒ³-Íš])C·Ö¤­Êš~#‚¦"••ûõÜæïb‡î¹Â³#§A9èô1ÕR{U±â{9<„ôÓCø&úÔ•o¢u
2¬÷*#ß«Œ%Žò·bsëçÇ“=YWn&ÅœôG‹*ë
-TßƒÑø•º'd1¬ÅÓ(ÑŽÙ}S9ÌªB¸W)¾ÓƒÕ“·^µ€¯!ÿë¥¬�ßéˆ¾Z•éZ@´%ƒŠz4úþ6Î~ÀÊäÌ;¤kgìovY¬\Œª0QÔSO¿ß
-Qtr”$	©Tþ¸W_"æ{„È×»ÇÖ+ºþ¶E‰`&¾Ù™K{Ó]Ö×ñ!!Ù@{k‚z.Ÿ@sáÛQ©x@ßŸ’ï�=‰A®@<)[¾7¦^$Ä¿ËKJ¦¹¹^—nFŸ«¥xÌ›Îžgñúš{M&—$Ù3;
-<“é†þÆƒIšöS€¹ØÏý—(’€zî! º�Û¡áqÅ€�È¦ßI`#Ê=ç–ŠßÖÆšjµÄú!ÜÈJW¼l—ÂIH·êGp�•7«ÍæP{1ë|–'
-ôhKÃ4¯ù7†*ÇeFÃ3ÿ ñ.Ð¬$ï÷ÊQ£Ì‚‹³ä€bNs¾¿ÂªÞaÓì9ÙÓ·Ð%Äè­¨È+Å®+-<ˆBÛ‹/{Ë·&�5‹_·ä²jãED³EÏÖùE4i^(?�ŸcÍ.èó×ñ—(À¬¡é>•’C7pÚÓ´ß)4WL—›öŒËb�Y­$(M¨¾¸›¶ÂøËnµßžä'Äí|¾Ú$}wÁP‰X<¹ã`.Á(1Ï‚Ke.5;ò"ît.‹žSÿ1èG­ ónŸ,í.ëà¢A·îMÜ avâÞA}?ËØƒP«„4Û:tgŠœ˜+<×â8Ý^–›Ûj{LÂ‹µ²Þ€92½=>ó+±èN5¼2žR}3¥–¼6—œ‡JByý:€&A|Ó$6�÷{åBØ†Uªgúü´ä»X½,mþLÍJ¡¬¥K;ü¶œ�©KŸ=Ò'øÑ|è\n"O–î!=$/&ÞšÒÃQkR+/ñI�hò„;É˜3XìY³û&®±�Í—!åÅ8–
p³›ªú»€ËTU\º}{)–áÐ¾¯‰š^¼S­.èÇ¤p�"…›5 ÷M‹Ÿo²Y�XUw�•Ní©1BªÄ6%¶ñ}šáû¥rÄ{ÌÖ�ÔÏp|b¡”ó	Ä ï"¤³¢Ë¦!ºÛŽJõö”2uv!]¹˜Ì…¿hâ3îÚ¦_yø>:�÷üìÈP’On§Óõò|Âè¾ç¶æH£]!ü}óýCjáŒ›à‘XÚ�‚§�âò‰Gíqòëˆ|7�ijƒK³Ö·O~óþ<²ðØ€¸ÉÕ£ïAì]#Uëê³çÒ_DÃSéyÃw=}<aµÝ »¡¶ 
-utje”,Áï9üoV=ü	FÕDgzæ	Þ)ºÿ�ô×þ'!¼JFHÀ¹*r]ß¿F¤CÓ±Î¯ÜŽRÖ[`Hxg©ž/Ÿ–H³·ïL^ïoQªA�ñäB�¶bfŽ¼&‰IS>ñÃË|�ÿ�EAÈ&žX¤p¼ïžX¼ï%OŸÈå?ûòŠÈ~h&ã=/Ar³J¹åžoµåÆ½r¼@«Wt2ò|ehë6¸}§ÈŠK^3tÒ†_s­©{ÓúØ°ñ§‘2Ç#˜³FÍïÅò-1"*‰ìHZNË#igöÆPØž|
-èÅ¢Èç¹jiƒÇK%¼ŠÌ>Ãp¼ŸOF•zîÃ™
-onkZ¹9$¢‡k“p­¬M©ô
-ª×ñèt�F�ËØí‰«ØìHš‚Ä±Ù©™Ãfw®ôbÐw
?pÄVQ©¶}9¹tYÙ)Ÿ2ÌÜÏ”™\�!ïnî]Ô]¹:©Ó˜`Ë$Ñ Ož6î£~R{›ÑõÄ³Ø�ïsCm�Ý©zá0Dµ‚00¨²40¶S@°üðKxl"T6ÞA�u�ï
ðÃ·¤‹˜™ ÂÂÒÀÛmfOc¿Ú"Ü�­Z;ÑvÚ\Š4.Nó‘¼Œ¦|Á'ÃÒ±00n0ë;-kÑg
•ŽA`¬û
æ¹é7VåC¿q˜^¾Ž�QÌ�il6Äõ®„”hMaqMU€!2ã±Ùs;Ž}ŒNêøÜ˜W‰Iˆ&0|T
-{£Â>ÓÒþª5XÝ�fŸ­f/Hß:=~/v{�ž8è>ã" âÝƒ`Íº1A}‡ô£Öï`Ïª|WŒ~Jê/®¬XÄ^Á~_�›â±š\µD]{FvÎÍÂ¤X…ñÏ±EØÎlXs±þæXþ×Jh÷iˆ¹î‘‹ÝAõø¯EÐŽH®KÇjg„ˆ�¤‹­¯Ì÷µ±«J½ì3-hP�Ž�Ó¦x0&¤é35‰ò¼¢Íâµ#ÕqNÞ=†Æ2Ôû?Ö{ûAÆìžF»›¼
-Ngœç¼NZYí+6
èg{-ã1¨�“ÉÖ�X@ëÌ×›~>*ŽædTD5#*ìýrTÌP‹¨8ö®Q±“WrT°âùPq…zPbƒ®ÇÖ+#wÃœ¦NÐÒ¿ëqN§ËÓ®vw:“¢@DN‡¹¦>ª vBL–M‚¸—õÅc‚>*·Fé;Ä µþ…Oˆ~B3ý²è'4ßëÉ¿(ú	M0‚ýUÑOh‚9òŸ
þÿ—þï	þCó#ý?ü[sþNÿCTŽW¢b{K�©PZh=£b¹ZÕšÙJN¡ïÙÖw7×ûÌÙ!=Êé,{`H	vô:+ö3Ÿ´�!æ{#g?§ÅŠé÷’1;mAú&Û.©ž†»_pŒ¢â‚lÙfTˆàjT<ÛËNuoK ùØ‚¿ëLº1( �ÕÐshuânÇÅ…³ãÆ~í­}°Çg€³fœ¤gã“”ýœ„%kÔ´«Fq8)ƒÂäKj•ÑûIh~Šô£Và˜ØìAG¡K�*ÐË1<ß(Z<‚‡!¨±oÝË~
+Ï\¿¾ �}^cí§4ÙÙýSûp2b�Ý’‘ÝwØ¼�PÂ:¨#U}T,¸ª¶[réžj
-òävÌ~	À.FEñLGE*i¿Ó§æõnT€è]³|'—Œ`¥äIQk;ó×½ÃÂk–ƒµF•­}”æ{»o%;1dK„½—%bó¢™«05�sþm(”ï)�¯J}–ó:“ûþ[t[t@æÛF³Ä
-LêŸZ„ô©©.€º3‡¥e¼#ûl&¿t¢°rzfkk�»cÞ$ÆŽ`Ìj¦¢«ZÕ×µ¤’ÕQ®)¡1E�c¹*ƒEÌgìÔ™kÎ^�ô]p¬ÂQQ½ÑsÅ�ŠÞˆÞ×kàXÐÞËËi€[#Ôó"î;·�ôÚ«ÒÒœ²Œ…»Î˜ûðæa,°�¶v
-guÔÀ¼RméÂS	÷…âmLW2ÙÍ^V=
}}k;ü¾iºÆò_špÑh¾×Ç^G ºÇÞÌïËg²íÀn¸·+†37‘h,íL£ÆZa«g\ÊC•½'½âö6.Õ/òõ°4ä|Í‹K�V˜9;“;]8~´Sx¼˜ïg®>6Ÿ(eù&ªµ¼¼Z`ZïrbÐz„¶¡\hdjmßCnc÷xIÎliÔé›ÊctÆ 8u§:ëÛÅ"–×¹3g.f®´½TÙùõìmGôwé—Ð\£Ôž‡["åîUD±?�ô×þ¿DáD¸™|pqÛÂ@›Eß«ŒT-VÌ~Ûw7Ì9wrSkvm“Æ§i�'ÓÌý¼˜ëbœ[œ�§3¢C)ÄÅé>�°–r?A™†¸Å# ×TœýÂÞ"�/á4ï­N„\kÛ÷
-ÉÈ¯Û’… Q@êîË^wíëÁšT¯Mèõu‡T´AÉ
-†S¶jÏ…#µš³Ýõd¯ø³åÁoÇ�^©�—š#_Ó‚ÇvÓÖµMpØ)£ñÿìÿ=@æC ZL®#8Il€¨ÑÙFè6o‡Ì{ñn+Be7ÕÕ-¥öŒU¼7Òö#}21ÛÎ®e¢<#ì>;nÛ-Ç/lë.¶ÓmÓ0ØÍnZ¿pOµuçŽôÆ
ÐœÌ%ô—ôY€™ø{ó½(’[t#4Mò ”
;°£>äí½àd.Ý’…Ó-�#ó=5Õ;e­ÝÆ/›A0 Üß?Ò	l»-ì{\2ué¯¥£0�AëœÚ¬nþð¼šÑ¥Óêöè	Ã¯d>A#¸žc�ë"÷Ðh¶ø]hœ{öÇ·7ô®ÐÓö”Ìò9]yt.Në.“³ÞµZKaâ)sgp{Ä;¶:à†Lµµ*ŠA}YáÖ]š…’®øŽ^‡6JòËÊhõ_ˆAß5üÿõ¬¯�(!õ"t¡ìÃj»mú|!¸©ÿ²ÙdÔG/ToBí†•ö…Gä^2‰Ñ`¿4£þæÉÏÚëBÊ¬Ñ
²“/o_&‡x›Ÿ­C;GvÑKYÜ"œ?¿†woY`Ê CBÙo¢;ëýqþèJYÒ¼HMÙNv¾rM#»z=¢´WPrçiùZO5Q°ÉÖ¾¦ÛüvshqéY¥¾´Ž«Ò"‘õr³¼›/NÉÕó}¤�[Ì
-ÉÍfžYïXà}\	ß4g­
€�ž½0ˆJÉêÑ÷§©«—@õýmÀ0÷0ØãÊ× øº•¦|éšÛòév©ÕwnãTÛ`ùfuE]ï%jß.çg7ïšžTP8OØék—X›­Å¤B=�ÓEÒåg…¢Ä}‡ô£Ö¿Áµm%‚×ƒmß‚è7;ïï†w~'�‰¸ˆV)¥\Ïm)iœ¸6='fF�â¡âJÈöh�Áh|­ÒLP/Gf55aÌ}÷Qªˆó™\oGÒïd§—I¦ÅÉòQ>|	Ü?UÞé	Üìh<B7<4äë%š2kYn­óG~£æú]¶a8~ç‹Ô‘>=Òü¡7Ê±÷ÐÉ1�ä:»Hüä´’£Ÿx7qŽ�hˆŒÑ¢?N–k«4:g£¾Cª*îóéKˆàéŒÛnË]„,ÉuM”ò1wˆ.M\¶ƒ©’	­Á|ß�,]ÚS	áŽ/3û.@›¬žƒãR”H¼f%™
ðÞ¥ï�ÆZ:ŽÉíŠMËY›â+tutiåüqr9×„ôÓC|°ÁÈíy<DH ¦Âê"x	ŒëšÆ*kP¸kÞ}³•�Š!NãÕ×ÁAÃôö|ÆRëjò§“§R4G—]à¯tÃÚÆfõÕ›
(v;]úØMiS£\Þ;�rµ8Šnž_BËa=BÊêñý^¹iB>?‘ëöìe5±…ø÷ÔíKÑ=ˆ·4kW·]œ¤j‚-C«hWÓ>9?ÐÖdÛ•ñ9çß±ÛS†ª×·¤øPK•‹Xq(4±"Y%Þ+ŠŽ½Áfn÷ò%DH¶òþ°×S
—O¹XPKè|¿p½S°�”"ÍÆÅÛb/-=nÅ Ý ª¬~¨ºË'%š‹éV¦N÷xÁOâø8šÀÜa¨
-§!zF®cŒé‚?0p4‰Ñ Ó˜L~Šô£Öé€7u´É]üNuè›Ì¸pPŠ,!^;ÉmáœU™ù©"´/»�	)zÞ*Lw]7‚f«M�'z‘ÁŽäœ¹jÏÚò½né%Öƒ*lû¶™úìªv õ>{0ý¾ýìC}'+À_B„\v}PÊŒhß¬éŒÆseo|åëõplW€cžÚ
k
',ÓµŽÊ‘/nfÉü’8¦êÓqmà’âÆƒU÷�…;é7®ê¼çO,ºÇçŸl�/”÷½¶‹�Ð'ƒ�o}	
-»˜—hf*^“³Wª­ÎD!íŸ˜xª	wÖgÚË×Zí.î˜6}2[R†ÄÑÞuÇ¹Ä¾=Ôçr}P;–ëýæÆmôxãÖê>ó»N÷ Ý>)�¬i7�d7Ñj²!Äø¿Gú®Á‹
-a^MK²+³«xõ,õ®§SåÄø»$S�³Æè‘ŽëäbÍÓ³ºIf‰Ák“Ý§Z~ÈÄãÙ¾Wžf{;1ÈtŸá-ÛôÄâû©NnYìŒšëÀ±Ú�±Ñ–vRÀ´‰îsô%(øy!\�š¤ž³¶Ó;ÚgƒøsE<°Lz,,OõÂyQ”’×©·ÊÜñó0«ŒŠê@ØìéÑo=F÷%úÖ{%Ôþ÷J(¶'ùlç$üÕºD¢5Ï)€e¶U¼¯óMm¾�cÐÇæ³�+T<C�P:¸á¬À�ìt‡e h¸¸GŒÔpŸ¶z‚§ÏëF!ÚbP÷K4¸Æz‰Ãèõ×À¬À³ßºÓÖ®U´n‡¦¶–NMª.�›¨'I
c+^L[¼5*‘¨¨�O ýµ²‘å_ýJ”?ÖQVœ(¯�¥¨�w&QÞ�ï£<fÞ£Üîà…·Ó,�«{Ñ§Óóš_ê�»ž¡ÌqméjŽ÷—8HZòÌdÖõÌ"p%²›tÊ‚ºZÒ˜¥¶)}Ñ¡ Ïâ§šïõä_ý„fì×E?¡ƒ~Yôˆýºè'4ßéÿ¦à}'*äp y¿°Q~è€ÿÌÊQ¡Ÿš¾Ó¯•€¨šW£<dúQ®+eò™D|ºÅÔ<3ßîx7Æ=†<-=f“Þ$�%Ýc´là1Þr:…"d	º
™YöéÈs˜zTŠ%è1è¯ýŸ"*Tâ.Y�ò¶Â�RÂ SeœjT0‡ó¨ SÇ¨0¥ô(/6¢(Bù@}ŒJ>-žëÞ*ÿþ¦#¯J	¯Š�V¯ƒW]Œn7Ç«nÑ¸ãË­,pÔ ã6dÓ:š¦µú(J+a~•ø,Þëf€hwUé›PÌaóµ÷ò2	 	Q!ÒLPàí+Ê/:ù@îÊþ²öjy«É¤ï:Xoâ:»×i�4×Y¡ëPƒœÝ'ÃlÔñ´ÍÇ^V«Sñìý…u·sÙy~Q�x�àë }&Lä†õ¨¸ÕQñ’;¿WGiÔŽ
-ÏT**Åîek¾‘t¼•±º7ž9>Ñ[9|n{tÚv¨Ø‘2píƒ`dLÜfß†�œV_øÀ�ì$oéãå	Feýà/Ä ï¾Ã7Ñ¥Ðˆ
-Õ8®ç82�÷ò2ý~Ìúò^÷¢"?Ï„ˆû€ýÕÐ-{�z½åì„qÏî¯e,.¿í…´R‘³1/VO2ñãÉWc)îƒjNõP8r}è–¾]^W8S/†rs?`X}ÿ²da'Ñ^ˆ†F½{+‚‡&‚YQpÃ�âOYŸM+E7à-Ôég’5ë¼,µÍ\ïëjó‰ëÈ¾Ì<–ùéáQv”»f‰U_uCð–; T’'ƒ]\¢V‰àì@KGôsó³†m@i‚ÌáÈ<�ùü«Á÷˜<¿ž·‰—£T­mÚk3fÁX.bIýdÕPØ|óaˆ…Žê¥º}%°êÓûÓë2÷£&�îyÜÎY„¼­=/f\
Î�åÀIÃ8	Fû1èG­ø&*™-pŸW÷Q‘BÁ”dŽvÁ$Tg#dÒQÂ2WüælŸrãŽ™³3ƒ'lÅ\Y/ûÕ¦Êw­æ}XÓZ b×j¯½#½Éµ¸Û²’Æ¤ÏR)N˜g;¸bû”´…8u2Žx¢¤d,ºÀð}ƒëïßŽ
-ûö!*jã8(æ¨³\„\i%¨C5ß}ž·	â¢¬©< ‚nŽ5œ:Õûÿ#íM·•UšvÍ#˜¡‚Š}¯ˆØ£"Š
ØÑ·J'©ç_é³ßúVÕïZ{Ví?9rÎ1¼�ÌŒŒ!Çç¶fQ£–â=�]ù0“Rô¸ÒNœJ#MLMYï¦�]\•ÀºÐÄÉ8;ÂBû-þ
-×ÐèÊ™C÷Ê¼´Ž šÕí˜S»a˜ÁoŸÔÇz…œçžZ˜ÓdËÖh­Ôô¥1o*Ïq­!á ]`ÖÜ½)Øm|Ë^4Çør-¸Šu©`;ó\/·´S+|žòÃúßz¡F*�Ë'Õÿ�Ð¶œ•†D‚JBóIƒºšÑ¥ÑzÓœñ~–¼âîßõ¬}ëÜ1CgwÕ»·kR’ªJŸaly±ä{õì\ï½s=“™�vÌ�…Ê\™ï.n2w
-·ÒñÝ#nÇkÒ¸þÿKf)›ƒ2“Õ7G./=TæîT«'þu(ˆzøñûŸÚIá£6À‡_¦SÖdÆgõ
-Ý/(�G¶"f"±|-5†ÅÓ>�¸ÔŽïnŽ8’çuLÏïüaìß/t%œÐ½Z>ðü¯Š/æ?BKU^e!ó=Ç}??Å‘¥h!Ò)ZÏU¸u¼f�	~Ð{ªw}æp”V÷s4']¿x£À¦xn"Xž#æz@oéÜÎ˜¦k»¢Þ°ëÖ•f¡ÿÝ³ÛÚ³ëbü»Äú·Žÿ­–	Pšh"\CšÔ¡P9ÅG rU‚ÝŠcŸ
·»òK¡�Î0¥·œmDD]>wqÓ$ÆŸrQö�uf)ø)ÕAë½Ùo’,Ã	�Ó[I“uR~3L¯ó^3Ü±È0¡U_ÿ „ gï5 ÄùtGDöÏ; Æã„�"\4P71}_½çZ’îoçb˜‹cë¡”ÿ’Føæ}+È¹�-¢G12»ò­~£Æt†�^«IØÄ–Ú„ï,©Zi±Êòí�.a<FßžçåoñÿzÏ@¡Ä2ª“Íèär‡pŒ‘û'ýxîÝ¨Ê�í‰1’uwó†>Yé�/� ·º¯»É¼yÂ´S{C›¿·­uÓãÌÄ_¬\& _ÌP5±Ùœ?ŽÞœrZØb±ZdæKì�Íþ0ÿŸ6(U.o8æ8	Ê¥ž
-*ÛsT%}ŸRÌ­Õc{}ÓÎÅ[îLS.ÜÔ¨-Ò¸WçõòO'ÒŒ�¹þ,fÙn&Z
-Çç²¨—ÜtÞF�L3³îoÌzh2›·ì93Ø
h_£~PêÊPæz:„K}­�ŠëæO
-†ßÓ€éëÔ/:èÐë´ÞC[	´þ œ“’Ê-¡ÄóÌn.7ö¦��åŸü)?VÔ¶nÏ})cM/#þ1T
-Èäóº4§©,1›zî~ÆÙ;¥=óƒþ¹ü 4Ö Pnõ}æGÕAµWÌ½žÕQ¢ÛyxÓwÝ!m»mÚ§ÏR=£Çƒ¨sØí´DúäQ}hîï]ÄÞö’MÏsƒÚÝ]uz=GÚEîîXyQ™±šÍ6Ç3ï<ÏÀì2MÉãÓtÀä¿ÀúçJôýJ6?ùÞ
-nÀ1_äâ~AløËU:ïö‹×·µ×-½}÷hyr˜ío[":ŸHm&,9#oãåQ^OÏ„²`Çqú¹JÂ˜JaÊÈ¤—Ït´ê~ÐQ¹zîŒÊxw1tê9iŒmi¬2Öí·%À-=­MAEI³GgÂ±ZI{Anãý – /ý`–pE°©µXÎ÷ù?ÆD£»W6JÉWfR›Ý–õ{r�‘ÂŽ'çÓÐ-pÊ°.¡Á°ªyò)÷{ä3NÑ¤�˜òp‹–¼¡³¹ðƒþÕþG€RXÈÀÉ™¥¾gX›Ð”ƒ×óÞÞöœØ^ô ï!Š¸`"ÝQ˜k'QO|Ž)ŸöÍ½qÞ �W¥÷r�³O¸Ú�W³;lVCŽì4ßÒ 
-ÇÄ3Ev†»*ÙY•‡Â†ì—y8ªÞoñç·$úöú–J<» êLÑîR9Íþ\WÄSíAn|
—$Ë«ys·ß¹ä~#¥3»•›SØù»³ÜLƒÜrT3ú+ò�¸ëûÎ¥o\ÚÜ¿E)ˆø}–àQÜà15ôó[€ò‚Éƒj%¿ˆ€¿;ºñÜoìÔ\ªéZû)Ú^­ã±¨~šñê«JíýÂc¹ÍàÜŠ^›M%Ù"5�§…ÑÈ-+$D(ùç°LXE\éç† «yž {´L¤åN¤@."Ò¹c"¨ü…ôo(?L˜pXÝÑ](6�YaIT%'ÞI*U3ïk4£«¼Ö-µö>õèl3ü¾K3Ø´K%\¿7ËÎ�qµYhÂ9Öz�ëƒsÕm·Â¹M¤Ç{¼/¡·a¬Úó>:­û(Û?âj“¾âê 0ñyq‹W»ø½‡Ä
W5˜MÑƒ›¤TªðÒµ§O~«¯ý¡°zC�DŠ®šH
-jD3³¬ÒÈŽ™*•¶•+:8Gy”²j®/YÖÏ¢ë®ªû:>ŸŸÛ8†I0ï¦MöŒ Hõ–Ç>Ó+ugûßâž*5xc½›ÈÊ•êbu£�/É¢¿ã±Sû²o[ˆ¸‘{¡wäªaªÔ¥+êSmjßCM2:Q÷Á “r¿•ÐG?kmœª,^8æÒïÞª1O÷JþíÞë|—éìKÝj|®u¼“Ú‚ñ¿áýo½`Ø…è¤$O‹/Ÿ?t¯Ê™ø¥¿‹V»Ñf’¬g+o9¢æŸs…šb:±±�Ãšì�xC“
Åå÷ß:(\û½UÝþVBíÛ·*ý¯"(‹ßôNÜÌ¶•îí©zíNÚ Âø·P9Ÿ=‰‹a
F°¼˜¹ÒEKv½»þf4ÂÌ¬¶‚Î…þ-7Y´ÂðÐJƒ9«õåù³�Så}êêu¡®j¿ãñÙA§‘$Ãöaà�Û�”7kE¢Gµø±·l&ª¶úA›—¹Æ4Ø�…ˆ¿Àîi`Ó|ò`Òy]â6?v2Š°@ÞPi�/Ý.Ð�å¦kd¯C?QCâ“Ì'–Ì{r#™W?D2Ç'Äy“Ìgés¢*=Q�Ø�ïC%Œš9:x»ú)6<f7òtE
ÿ†ô¿õþú™?èÿ±Ð_È„û?ú™0{ýÿ!4Êc*/€å–8Äó0å,~—÷g€ÕßÈ/m(S¾Yð»dË ÑÒ£T2_¯
-	–½4“|
,G, Î»d¾©;;ÁúNyü.;$ùõ<3Œ½b�‹\z?ÿ~Ð¿u€B¦…ò-(çúƒI(tðt·
-Ýñ`.¹ùzùvhC£JQB}ebªø2<¶	�^Æ£GCpß·™ï¼5½˜)£ðp…¯ÙtôPF5nc§Î”âûÎ‹Â_J-`r?�£†2�þw½ŽH
-Á¦
-–8…ñ•Øy&€¼Y�B£WœP‹CæeöFÅ×òBµ ¼ñ«´¨®ã{kÉÅLÚ–ãê½âFÍÚìåƒ	úz"¾ýòŠýmâl¢v÷—®Å‡Ö¹2
~Ph÷-8MÇŽ¾D@Sî`nŸúÖž¨ÇŸ:øÓÈZÖ’6ß8É"Î¿ Åè4“Žª\ˆ<:×ˆ.>ý-K…‡¹¿;Íö-ˆSœðaþõcF5.g›é½ínp‰Í!†<
iÿxü#~Ð¿Ú_¡Ð¢Ñâ
Gß€ÂA¹A�‡åo|J�âuóýtGKÊ�“{¹Wí¼ö;ì8b6à�cÅ±ç_œÔÔOõ›ë§˜g¡çŽÞ
jÜ‡Þâ´~;uÖKd_fú<u¬6sµå®bÿ 0[pô�hÔp
-~ezþç[OÆ©6(M5˜šâþ%YY=Þ­Nv…ê#8ŸØ'÷ãôÑ^Øc¼ž>i
¼Eu·ðŠÙxïZ��èVHÙ»?{÷Ä:ÓÔË˜,-_3@ßS¼ŠW¥Ò8ïÍ_–¨¶}KA£¾‡ 8¨IPW-
J²Ö¥£AÉi_c¿Ç¨QQì€Ìž�§¬DpU>°Z¸ôk‰8›C»tß�ˆ¶æ÷#ûø|ÒvWhñÖ¹|ÔÍ·š
-u5Ú=Õ{u•†º·$¾ƒéR/úhÿŽôÏö›;4«š…r
-½LePâ§0Ò/g¾åå9ózä«§ˆ¿0r ÔEã©R’íY†ï;�xÙQéý¶ˆ4…š¤7(ÒàÐ5Pë>ÑU®ºùAu,»¾jÆ…&ìÞ¹í·Mñ255aÔšJ’ý p;B™K;
-«î^¥ˆG@ù@ô¿1¿olâàÖæÃë€ýéM×«ÂÓr¥äaÇ/'4]Jô¹©½µR}�ªÕ6]Q¼Œƒ+�Mn&û}f/·�Hù®Â•ÕnÓuYºëv1?âFßË¿ãÿ)T�@©jj Ü¾nûÉæ`¬£W»wÆGöò,ftÉ«I¨yçqßµÒæ	æ•úb²ŒÔZËíDyK=ëœ‰—Q>Z‘FÍÙB@RÁé–«(on‰—òŠ¾žk§ÖùôèO¿À×[WŽþ
-ý' ´þè0»ûda¶¬ö_{D]…o¹½óç•ÿ¨ÜcÁ	³iÍN‘²m`§™«n›�§G¹PÑJt›.ÝÏ•b¢ÂÅ|bÍËê¶A‹•—ïí™‰»×Ó.Ÿ>óÇ–Ás1·?r§Éö7…§âB£¾Pl(S¸|J(›�Ü÷qþAÌÍÎó4ÌÔ›çRå^cƒœïç†!š³chÌ¾~—£nÆÓëq],Uÿì,ªÑ‰MR)> :%¾z\|Œæðó–üñÊ6ŽG²‰íâÁg!¢ÿ…ô¯ö*B{šiç�œœ=(ô3„ö„£%ùÛ,È^ôã~6wn<öv¦¼½Ev¤©Í¨hIƒ¾ïü 78žÞÙe¶ß�³Þñº)„ÇÔ“Dãáµ¶Wä€ØÏ6«ÍNþ€Ù-ö�õo
-oýûüþÿzIÍA¹47à˜¯³É–*âaÜÆ>µè-¼&¯î ¸[›Z½ÍiÛ1"Ê'ï©	ÊP¶/wwãðQ«aÓ
-bíó“±ÃÚ©nÄV¾§âmÜgãÝÖ/³éæÙœQj[g�¿Æ¡ÐÁç³ÐÁ—¡Ì!ôª•­”{í­t'µÏƒçÊ®ŽaÛüÀìH¬¶æÆj˜Ý«íSp•ÒÖY¾ñ•~nú¤Å
&˜µÇŠ¾m g�áÚ„³~ñûdÝF¿�	Nß†ëáºÿVÇësÝ¯_›×ä/ü ëø ˜wàýTrp±� |3,PQÝlƒ F0å÷½‡Ã•pçÕ¡k6@'z�‹¶òeyä
]—-‰+ü)®èpŽ)óHgk=ZY'Ëª´šÐy9ß®Ü%F€Ôbi�ªwb‰5#b7=b5Á{ä/ŠõÀE¬•ûóT³ågø=	ÍF‰âV|
-ÌëÞ³š­Ýo§BÃ,Â‘z¤ø•„LÉýõ.”Î§h’�ÒÕ•wvGP6ÝBK\É‰y¡îFp›³Ó‡1oÖGñÌ…t`bÎÎ8Å rŸºw5üø�ÐF?ÿ}Fe§fÑJ¼l‰Ru»ð¤wDÞåÎjgw�
-ô–ÛÍ��ß4E	‹EqsiÊÑ‘Oa:Ü„×Üm»7·õE¯Z<ð³##ž¦§ÝCŸö‡£hÚ_!ÅÉ»s!¦±ï
g‡�LÌæÿàwù/½ '(c”Ó
''i½|6÷	”á
yÔadæ¤\h®8± òíIGÊ6`Pºí†ô©¿¶ý4Û³;ø?Ì`¸ï‰ËÛqÞÞN÷“OîqšdÚ}’jñX.ã…±ÜÍ�“[0ŸOÞÇìxÚ3£_·…'ôI‹tï�ï)g•×ÑŒy!Žýâ”ôÝ.;�´½•ê"²Xk4n÷»Cœ{>7ã²ÕÑj·m£ëMÿämVºuÚRÍG�™¦VƒÍxjø‘Þ^i#}„Å£EY(ŽÝ	ùƒŽsâ›ËÇób,�×ó_Ï5_V	”ß{æûÂ4#J�Dç±½¼¥»TY³†{ÃîÊûŒ|Ä…}};.vÙÃ=#æf›D3(ZkóKÊÇZ‹é°û™�ŒÓh5´o«ãp½LôáúÀÅÃê¸Z$½Š1V××ã¨¸îoGÅ*ºþoøAÿÖŠî €f¹*›'“4+±âí®à1;4×§¯&¬ÿ�³‡Vö¶õ²õS:!‡u	Ã·¯º>XÏÆëábG–‡³ó$GV#�{å°vÒäÃx²ésÆ ‹ñ žåÁQ¢‡ƒã}u%›LùD²p²ü „RÁ÷Fð¨Vêt4ˆ‹[[6’êÀ¼—ø�†Wµ›œ#¨H¨-ìÂù¢\šGSlµÙèâu™,O÷–�C©7»¹Ao\j]ÒOõƒ¨2_¸×“ô4Rô’ðÜµD$ÏA$ïÏþ%’¡	‚É¿(u(ƒO-a»õ©¿l&u«àµÒo3KyVa
a³©¤ÎïT©È½²;÷õ”QæÍÆòA‡�yê*4Æ4²©‘ÁÚn@\ãDÊå¦ý1ánúh¡Ã•@¿ãJˆ¿ñ™d•ñÙ�"ñ¼BðøÌÙ‹ÿˆô¯6(‰÷TœFñÜŠaš£®§qù�gôà lËM÷üÖHÀ£2²ãæilƒ~iµÅÅòü¶š—&ÅdP¶ó‹"ñöÜr_¢¹®Î×]ø)sLõŒÕsÕ[v[Gˆ«Ü+esûéÚ�\bÐù@ù1Iî‰1<™0‘´ÎzmÊyÁ!~P¡ÑŽOg!Û7¹ÒmèïøJçµÉ^‹ï[N¥æŸó35YÕÏðÐ¹¿DTIÊÈô³c.�cÄ¼Ø[
-ËZ¯4:w»÷r8î®ÝÊª[ÝÎö�Pn6U°PxÁ¿€¾K{Sg#^k«‘ )Ž¯ÝÚrkpº6s¼“>¿ë9Î�Ñª²baê4Z…
-—*\/‡ÎAÒÀèËÔÎÂ5zæõÌm7è•üÖ«ËtÚ©n5f;lRì4ÞÛZÛ¿IÝöaÛ¤²hEJkýïøAÿ\¬)+ì´=Áp2²Y]¯O¹�&O¯r¬Jµ›lÈ1C¥zó¥Ï4—óá'¿š”llõ½1t	ŠLZ¨lqÌyî{¥§Êw™öíÚñxNì4À~—ö�ÜíNš»·"Iz¶ø‰5Í}7/‹
-QÅ~½>ìdaÓän›‹x<�D=°èèµýìÖßSÍÍÑ%·<TÅÂ<s;—ÆwZ¨�<~-Â¤RÃµÕ¹Ñ[Õ‡�o%ï°½Ï í_¢Ñ·:mñc“jáè}õ?ÕÏ]ãcúÇ†°JÎ�Œ“�Œ›•Ð?—‡ü©¬PÖv»Ómh0‡ÍâÉo‡�$Ó÷© ,ø†£Ì²’«�«ÎÇ$WÄìËó…Ó3a2ÚeZß“Á:�dCeÕ*+¤š‰Š ÍA>Î6>À£Ò£X—«\ŸÖœZ=ûx4kÚ.èÔ°ð�CÄÄ/ð­(²�+ÈYä�Ïä*ra�ù4gƒœ$§A®*Ô@–bI€Z«@»�— Äý¸Ñˆâ’…HªÑ{]€<¤)@ž•@ÞWèa:GŒ×²ý0"/§Xa[ZXþ…ª›O¤üþ
~!ó[Oþ?ú™?èÿNè¥wû�ÐJör´ÐùÖ’yÒ¸Cµ´çú^YM‚lŠ…2éPTV Ìä+³÷=‰
-ÍAy™:Ä°`SÍw­+r2{3¶ï–ú-ÚzI×z
-bÚ|äúªéiï³ñïym(|G?³Í\·œ¹ €üõ…>óÈïK�Ï`
�ë%chTm
�*ðÐ¨š
-Õ~<¸+?r 9¬	Pè	:}Á/´™q‰Ú×•×rø€Þ2Ú>N÷€ïõí§ ¼¡£Ÿ©–[æÛæ/òÞäò0^¹q3­X"–Ï›Íž«ïsPë¤ùý¨7¹\v²MÿP1Ò:Áž‰’Ÿd¦	Å$Ï&­—A6ˆ×²¸¥^ÅÐe_¥ÒLŠ«Óë=ˆ¸þýùùüQx³Ý²Ü³îÍ@3þÂú·Ž¿ð¡Í6´çúì¼>ìÔº,ÖC€9¯Àúnª=Ï@Nžï@öÑ¬ëé¯eCób{å%ñº[ƒùK\E™zäºZ/Ú^²Ó¨AM˜Ð¸×ðP$ï>ô¸ÎcêØ®[¾÷{+eZV¿ÑÑ�O–Èók1k…¬vƒBù(‚�‹ È( ý>À”J÷óþU“K\õWJ´u÷ÐÏSQØ^ž� j¥€Gjí ç0C?Q|Ú¿l‰“? l*üþZí8ÐÛÙ�%XækšŠŸ”_`Ù5´'5�S )£“_SP8<$PL}ïp+èUP2YÍûh1¬7ÑÎõNaGiŠÞ
-LŸH”ÇS€¡ìsTlå²D×ÓµÕäðÂÌÓküÞ£Þ%
*¬ºvw|¸›ä!eèjn£ªöø-þ
?èëXu-ÊÎ¿k?ÊBS¶`¤_hª ÈšoP¼j‰]Ì
ã‡ÐŸG�Ö’Î¦pðÓd|y(Röt´b»æ§º+s�þZ¬£–œ
šn95w<ºï‘�ƒ\­J9†Tz˜šAvUµâ¢¼—_`½³—ýÞyhÛo…îJPãJ¥t%œm¾¶ëÜ âÊãipå¶«§ìðÛ6qx·rzÝî�ûV³�$áX±´Œ­~U@L�|*æõÚîšéâ~fˆzÔÕÚBWm.­|ëÉØV”¸Sæ"�ÿ6¹A{zœ°é0
-}	Š‰¦ƒÌÉ’;£5â¶—ÃCâ4ù¨·�ß,Y·Æ>8;gó-F¢!~]Wâ•«çg2ÐÏ8§µšºFV„Zq"ZqÏ{IŠ�ª žæEJË²Èá¿áý[ÀÖ*´hr³áäÜ`¢V ÔK ÐHH½< W#œ­u$O““ºMÝíÞ¤ï]ZÙ™Xõù‡¹¨¶îˆÊ¶w4äçEyþ r»¿%n]ÌK½Ý“l<‰u†öôtË^îb®Äýù~šm€q¶G\½ƒBÉ.‚â¥F+$2t®åa’Žƒ…P
-SV®ùÔ—4î1�4t:™ûÂhÁp¸W§ÃÉí„¼ˆçØ…ÛÓ°„ÌðÜd¤—¾e7ÛÒUë¿ðëüC¯/«Înff}ö=±{tË8•þ Pã»šìo¹þU‚c>]CSNPªé(/X€v‘êÃ.íÚîN|ö¦?¨¡�Æ´VÍ¶YùxCâÀÊó·épx½bL½”ììýÌôˆø\Ë
-ÙKEõS³µžòIÝpq•c8œ�ÐÇKP]ü#~Ð¿Ú“Üÿ[¨P©€R•e@¹Í™IAßá{r@ýy¥\ò\ùXwºî¹c!á`¨¯NÝ¥rHeñmÇ»Ûlc.e-â¿ïN¸ò�QÆÉï¬¾1?ÇË'W<¶Ëþò0rLj¯Ôùù~úd¦¿Àì|ïù­2ö¡Ìµ¶å½=ÿk§¤_á0{H?—çBÎõñcÑ~&uÃ¨6êcŸžIñVÂÄÓ7û&íO-8HG +ÇƒØ¢o{¥·3ö¹‹îït²˜ÙìM�µ˜Ô„¥«Á"ÿ lÙs†¿À„NB›(I´§q8K‡Á„š'CÒN¤�KFJe}=Hõ”£ý„Ÿ"Š}my5­}nÈÛ-wÞNÙº˜ívEL=nå,lëy×ÞìVùxÓêp&xUæxÎLàV¾¨÷ÿ0ÿ^¾e¸ìßÎ÷á(4ül@+šÑK>|­¹Ž<ÏÏ¾î UHLªaZceµä~"‘ÂlÏÏ/›Ê†æy}¸>fMfWÊ¦™Í>�mÖ¯ª=ýnÞ%ú–n{tzrH­¤Zµ±’r½MòË}½oPÈ pÿäQ÷ûDENÍÆTˆ–÷#XSœxn°Ê<íÑK	Œ2)g•ètª‹R°Ä¯63ŸB¬5çÈb�ÞS'„Þ6|cµ&&‡åRÝXôÂX:Ü¢×TÊV„�ªb…<µ&¨ÚbY‘ëË¼5~Ð?—tHE(4ê>@ñ ¼$˜¤nV”phKúÃ©ôç$_TZÈÓk6#öã²@UˆÎ¥±«‘?(O”ÑÉaæ~(v³p®ì«\
-ŸSU¹?ŸÒyfÖ¶�Â4âÞ”ŸŠÈ4:Õj³}\«Ì·Â´ú|÷Ê¯ÐB›~B_†BŸÜöÕ.§… ›¬o7ÏÞîéG“7ÖH×R»Tˆ
-SÄ®ÌóS?ñG€e<îÖa¼ázÇ)=ÞSÊ9§ÆÓx‘ŸL®Ù4ôÉ“�·»M æNRºž™�ùUkrywjS¼^«üÐov5P¸Áx³$Q-P©«L”à6÷´š½£Û}{ÛÔš[ñNóóy]–“P(²!r¢{™‰kso¥¹Þö0›ö×BsL.Kx–œqCk0!Ãúh<NÈõÕœë}¬Ü‘zC2#Õð{ãñSëLRO¦ñð»üOû¿–¤ŠX*å4ß0º CaÇm¼'r§î´
f{Z+‰mˆâü­=®�ñõÍßàØŒ]ew—Œù2“k­
-›°=?ˆB{"ðVo¤q‹áKDzhêÍëÐ|xîpµ¥‡+¡Úš‡61šï?½_šr¡ÿy.i”€ò.j½žOuêS®7p<(˜Ö`WÕºHk.)Ôú|«ñ”yØ">RÕfz×¸1æƒD%:ï=ªÔ>ÃU§i‚ªŽ;±1¬ôÄéæ
-+ró¸\~PrólÜÉúÍø�uóÜ!ë«×”tF{ò…çÑøÞa
à˜WÑÇÚ^‹g>G[ëÏœ,‘ÏÑ*¬+½ÃùµÀUn¶É{ûz*“l®U;MS·ºhvwù©°èåF«ò#Ùb\ø|³?8àürÐ©7ÎƒNß½16O¼•oq
-líñ˜ú?èß:þ(æv¤KŸÄÝTKw0{iVNÛzÓÈ?•LÍ­‹K�^_ÛæðzÊ¬)ó°6ZÞö¬øÁzÞT’Å¾6yÏÒ«ÚçÙÙü‡lm”xµ©2qÎx}¢OVý·ò<÷ßîÆî¿“zªÓ­þpg²ý«=ý
@QÍÙ üXßÆØ{NÎV¾65ÝVd1˜8b¹ªö¯�óž=�tO88eË`qöì¬µhõ\6‰n0u#t×á ú>ä5è›©þhxÇúH¹ÑÆåø<Á´µÇ§®ãd|š|–Kaxî!ðYþ|ú@Éº¸Þ¶³<ZSÍçôz¿(©Ñ]6Ùz‰_óÑ	Åöà
-W¸#÷ù¼Êäç˜½ÜYÁ}žÆmwL‡<ÚºK�b×ÇÕüûÕ3:¤WT¥®½áºÝÊ;œv\¡Ïv\ó!u¶Çé"F:�‰9€¸“á[¹úuüA îº;sa7úF]”B�+ê—¾“”xUŽF‡í¥¹f‰ýŒc°ñRXî#ižµäñ½ÚVÈhF©ÄÐ5\Ïîßû-±ú£[�óq‡í?mÿÖÎµ;™yµÅOÏ½f¢?§ÍË²Å6¥“Ð”Á/`¿Š6Êjs£œ�2Ü‘Å‚pç×ksâL|ZÜûs§½Úéáz…b³eûQ^Í3Be=¾¯«�p†ew›ï=¡ì÷±øcÇã·§¶�­H"äžÍDÛzÍAá7úžùSQL
-u™íµêÙ€›üÆjVj÷lDj}b/ÝÙ‹áå�´‹–àµÍpDš¾ÏVùEÄŠÕÙ4s®ÿ ãª{i�<´ˆŒVlá˜Ã}+¡�^§‘DD»“2‡-~¬A³Íyªñ1yº1*óÛFÆÑ¸ú´~¿Õ³Ï�Z£:Ø½†Å“bÿ
?èß:Ô£¬ÐR–£™KpzÒœº(Q»£6?l²ç¥²ò•J{ªM^îˆmdƒäŠûý)¶{«z:êxÜ9�â …£H
-ŠK¡Ðb#Î72w«XŸÖôJ=ûp5ªåtþÔ5««^<ª–@n^aÈóH’=£¯¬c/ù±^šï|¤L~‰
-óUÃz¬çþMOL*KíòŠøˆ4ƒS%cÛeZ½}û@˜Çf¢Œ8¨«v†ºR·ú´Kõ¬´ÕŒªytìjée¹†ÐŸ•êÇ‰ÊìÈJ~Ðry¦J‡Y˜ý@Áw [G.M_U€îñ7È¹Ät²ØAèáà$Þe2;V’·¾weü2æt¡Ý@ÆÊ ,á¦Œ7@Š
‚k¤�Ž2Üm²ç$� ·˜~<„ð¹Þ]Ž�Ýü³X¿ü7ü µA®<ú
-M�ZT4€>éÈn›}
-%d(Þ|€"»4@6§*@ê2Ÿ¯LŸÚCÀ4IU-€ö!@š~
- ­ö­Ž’·6@–Å	Ôxebn¯ß"—„i;Kßü$Õ½=o¯ôõßrh‘ì¬íÙ²t�í+�}}O9ôÿä~4¨6	¡YøÉ±U‡jã@ˆæ
- 
–ƒðe€zw€P· »�ë¼atb´fyêû$_N‰qå
-î'ÑO
-]FãCåu{d÷çë¿À=yÿ¡‹
-==Ò Gk$ÈI�#ÈMzÈz½È6k@éÉWŽ¤:e¾;Ëg€l?*@.s š
e—A“I”“|ñÜMòíüìµ�»Ø®ép¸¥?ëÂsè¼�Ê,¯îªÖ¸ü#~Ð?�[±Pè¦…>ÈUj(È§³#�omyØºÙ ·>�Õ˜È¦€Žñ	@Qf›Ìþœä>žúÒ­ª÷Z—¯Wq,#±�F¥˜öß“(*Úy¹»ü6j¤· Gµ$¨1=ª´¼9w»ÝÙ£vþw€Üáe*ƒ+ó”)®² ¿›L@þ~ï¶ÍEä‹ïTëW Z­Ÿ`p£~…Ü:¦�Â1®l¦R´yóvT7ü0|JŸp?¢°°]–ëAøÊNÝÒ~Òx]ŸÃ8”=,šN­ÝìÎ–:ÿ &Nÿ�.�u¦7¨ö`�|óŽ¬fÌvÛŸ ÿ^g=jT_å#Ó‰«>2Š¸¸ÛÅÓ÷MyÜD¼½ZJ÷Ï×šë‹ÕëùiéÈSÈ åç0bðgFN–�i}rò
-¥µrg-S°øOçbˆ¸uÖ•Å†ûw|×‹¯A¡1õ]Tž
íØ(Ì©/A¡£K ÐEB€¹éì«Z+£�Ýb<ûþe]Ÿ>ì½~fÆ(÷˜¸]é‘=m�ÂôÀÃäãšâsW´Þ†s¬ÜëÌ�u8ÚA—Ìk¹BôI+fÑ£ZÁ$ößrŸ;\/åƒrA±éfN£Í
-¬‚
-}OÆÒHtØ5°àlv*~šÜtÓ�;ô
-õ9å–3ÄÖa¦ËÓÝ{Ü ±®o×2ùÈ>Üçˆã·ŠuÊ&ØŸ¶fêš.ÕyµByç¬t||àªüsùG€<æsÐ”¼Ç|âìn×@Á¬A‘bÔ„.aÜ: ©Ø�,Ü°Å¶Þ4ÝŠ#÷Ýú3±bš]ÂŒW;s`ò3uð5côÊ¸¢/}Ö8dõ|*ÓÒãùLµ^/^~væ{©«GáÍÖ™ŒVÿ�oDßs#
-Õ¤n´Šƒê™êkK_žá+F€?É6Ò�Åfšwk—]ÍŽöÛŽù¶xÒ@ÛÎDÏçDZ+¦O;•^;7µRËÊæÚy(õÿ‘wö£øƒÊ0º#$.m…·tØÜ$¶I_U!^^å4ÿw€<ñ�ö<˜ßâÝÛ�l~Ÿ’g@iŠ©q[eï�ÐO…Ð'cl¸îs…Ü�Á®l¥˜IK×æ\µ›¡RWÃ©ŽTZê*Ï£xÎ¿op÷Má6ÚÂyf„´;kÞ&X^±²²¼”úôâ\]¶æ§í==ýƒô¯ößòT–‡ËÞ“ÆÔC˜([ ”=0	“ËJN,º¼G¹Ù�œÃ�MYtQ0f×^]uFµ®|˜Túâ9žaÆ7fç·IïÃ\Õk‰¿bÅ¡|1ì³s)õÂä|ÏÍKçµþž¶á{Æ²ê„‹XnÌñÍõèßò,Æ8}$8úØ}ü=Åj?g^ì.#„“QŸ‹b`¹�c×»ãü˜“O+§ÙR©¢´6¹–ø}còmJ~ús@�Î÷
-¾8y
œ=5öÊÃÊàÛnÖç¢í÷t Ž”zÇDl�Žƒ
-6<›ˆ<Œêwâßñ¡ƒ†ü½µþ{€Gí)%L|üS0îPâƒ–Í	+uãµSz52
-�|Fm¨IQ:ï‚º€vŒöÅZ{½Ó-�|§tšpxn·:^Êñð±ñ ð¸sÈ€ØËF­¶Ï•(b§ÝýÅ4{»B­Üý?èß:þä/U¸C²
-Ã‚ïÁgmPÎ”˜(>zG¦ÎÞ¶jÝî¯3ª˜Jðñ5‡y§äèãabf-V®Ë>×8×Y¡ÃÅ†…ÿ ÇÔ"?ØË/w¶Ó|›Ù:ož]©}�-Ï¯þÖ)ÔóÛM· 6_ìZ›GeÑøwÀUÞ>�¼·VÌaÀŸsà›Pè�X‡oTcŸÆ¬spý¬ÃÙ7Ã�%jºêîjéÚÑr7M;–.ÕÛ¾ÎsG¶uL3t{§«\�-+™ÁæAú³MS†Aâ1G\™ÎÃ¸¯Oí
-ÌÄ×xt«Á¶ýÕu¼|þo…6x€eÏ*ô›ø>~ÞNjru’ªÌ<ìg™qøæfmMîÜE¯6xûUºö1Ç36s¥SìdÖUŽx­ûù¢ÕØº£F‹9JÓ
d@“•2µÏ«Ã
-ùhòRÛÁ2_1°•VH˜-®Æ­êßñƒþ­³÷ýåËÕA±ÑyÃÉÉ¶_;<3
&3÷<Ìï±5310áT4Õ¤OváßŒaï}©�gy½ÒAö›ö¾F«›öô3>zˆÅ�e~ßm/ŠLwHÑ�
=wÉà2ßfFö¼îäÐù&.£mR9Êú0ÿ€|2<LN ¸¥> œ–áŽµhäc�&é¸+n#›p¨;ÅêNá75IœEçºæKñ‰#Š.M6
-û"R(m›çWy=h™•å<«óíEªMÃ×º;íêtÚ£ÆÇIÒôÉ9dà›$E™r'3k˜Øü+à˜ONp±÷-P|‰©ï»[[Qßâ{�ûôÑtð¤^4õ›Ô×š/�–S‹øz3�'\ûgÿ’Üg¿ê#ì6cÌÉt‹+e­•©Ú~QœâãuiüùLÚãÑHšŒGt?FºŽ2Fz‡dŒTÙ±0±�ñg­gþ`&þ?m¸-¡ÐýÎ¥îãû.ÇL3L¿:U¯I¶{|8§t'ZÊÉç)q¶Öùkí)©'\ÔÜc.w
-wLCKm¸ðš¡¥Ó]¬TnÖåÉ<üQÝGŠyk�fÇât”Ÿö£ü¤¦�ªŸ�Ü´4šÕšØhê�ì¿NÍýÞÖ÷Lðræµãþ¼¦Ð;ÙÈ[fñ‰FjDIRFãÛº¹`Ï]yyãÐÆÔØ—Ã±·í(Ãp=bG`¹ö?ó¶[KM2‹zfô=m¸^Ía‰ž�É{7fÉ{�‘I&W�I&Ÿiü ¤ýÐªÃ¢Î–þ[s§ï�¶ói&:2Ÿ{*3¼™Fn.k~oëÊÂœÉ	«À/m·¸ä3‹öéP*7å”m%-‹!�ÆcUìæ‚y …ÁDúÑ¨À’ù¼P²&ökƒ­“ƒ7Ýv=O´rÛ`ÐÊÏköù}æÊ¨6þ?èŸ(¤ÃsöùzpÙ×=Vy+wùœÿSÃ+ßU± Þ×f"6O©ýsr°*Ÿë¿‘+#¬Byeö|ƒÚ?�û4S9ßG¥œì’�l'´dê%ÂÀªœÔ@Ü×D�ÞúI?íC„ÕþË¯D÷ævÿ ðœ	 hžÃeÆš.{}£2G…p§o},êˆ×}‘�N7zQ9.k¹Ûc½!9ë@ëê…
-¬‹8çhe´ú¬ÕA@š&qÊ
-Ï>`Aª%§å>Yô‰>ÙÞ2ý4’pÑQ|\t¯5|L}Ï¶ÅE,žþ;@Ñ‰e†œ�hÝ™—7Ê+.ìEJ
-økKÔo'apB8Ìì¶ö��o>§ËŠ6'vÑ–×0‚�Jœ­¥îy}
!ö„Þò„‡Ë9î�ËõR	Ÿ¼¹>ÅZ+|Úx\ñ\jzÇsÅf¶GqŸQ×¤¼Å¿zK¼Øo¶Lý§†Çëk)k‹»ëŽN£ËÔ?ZÛ¶®v{›²°1mñµåâHT˜"~6#g“b1›ßõÅÙ·\š‹½¾6»–.ù]zŸ…«²[i/+7ö;g¶êl^©ÄáÞ©k¤ýd£î¿Ã9Njp»99”ÜÅ•$§wÌõ1Î3§4Þ+sfI;±�Ä-z=¤úŽ>Mf(ØÏG®ÀÌÉ^ËYõ%1OãXÝf»vÄq�­¾¾µýÖYk·9ÃmEÓbÒêé“\óÒ’ÍË°?i2âö[�Uçû6“?—„•E¬™¶Ëœò°8[Ý˜Ã{u"§íùÁIßŽìlFdRtÕ 
-TrÜÕ¦Ú”kŽ¼­Ö$× Û—©î÷ÄscºL{;é4@oÞŠ¤ì÷qø„i
-™CC K—FÆí©uyËyõ¬o'5ª›ÉBl[5ìe“ÿ½�Ì_né%”Ìpqr{v°çÔ�í�3;zÚªaóÖüsÒÝ)¦½üQÃ/ÅƒI�þ³>½U�ÈtØÞmwRl®…£Óbs€u*�Q¹P¯OëH»¦ísýo
6*�«&?ZVK€ÙUòr.{Ò]-³Ó¬óïPú­ÊL0±�:Ÿ2íé±Htˆm’^tÖMŸ,Û®¾�ßéïyã%«z¶£Ñ‘ÆW×V•k—ií…¶©Ê-1ÕÆÇ`ôFæ>0ëÓ³öVùQ]õR~å~I½*µTê]fÇy´ä«ÅB©ƒÕ«E~Õïñòbð?è_í¿AœîìÒ¶'G]l/M¶ÖØiYYp™}w6M÷ˆ1Sžâ$ß;õ‰Œö{«Z{Ða»ÙâGM²ñÑã:\úh1�Ïªæ±>¯–^Åe…!òë2;™Òaj°ÅH7ŽE¼hœ—µ!`Ï�±QÓ6°L:ÿ€îÈ9@8tó­ÁªÏ@z¤
-¼ÍÚ‘O€à"2K™=€Ì�D@¦}­€LÁ!FS�ÉÈÐ03ÌÐ„2Ç›	2R>{ÿÙ~UA&Z|ë–H&X¤ÜÙ½¨gj—m‹
wìŽ
[ÍÅöÐëŒˆTÜ$›†2¥�ÐRáÐá©ÐvLC­ñ ýÔ÷îÁÌ³�Ì�ÎBÉVdµC�Œà± c5.Kdû�t=Hñ–H	­¤}%SùA¿ô:²�Ë¡õ}õÁqtéëŸÜôæ~Ð¿Ú úZÔ®l2©œšV€Þ€>c B™h¹|ˆÒ´¡ÚQ2ïc
-Ž[ ããCˆË
-d>Ÿ@
-ÃïésH�ÓƒA€�d�…‘O¦ö»þÒqrø*è§UL·¬}øHŽûàŒ÷Ï[ÞÞ>ÓûÛæPp„¶ =%ò[QD±²uÙy‡ÙÿÉde¨–r¡ZÎˆ™^Qè¤1ChëDIe¸djõ„$w\ë/îË/}‚¾^‹ê}£Ó‹â0rÂýƒB�ô.àRãÃóVwYOe†oŽÿ�Í]—ÐŠ]8Š»@ßMdÝräÐË¶¾Uð¹§@­æjUR_‹9q%™¾Aç¥�Êã×™Ò±µ9ìcº¿Æ,£DŽÙ°#ÇçÂh#D™¨N«áî%
þëXÙ?‡y{ïÍ§CÖY‹ÞÆ©Ž5æ/ü ëÙš…¶f,œ«Î
dO¼rG¾rai
-rÁ�\µ§ƒ,Ûˆ’|l¥áRÞbš?¶#çq%£zËš‡;	lÂÓ9!ÎHßêhN³‚îãóô_·áÇ?/µ’O”ýç°¿\<&Knç.¯{ß¾ø�Å—s´Õ‹‘ÈN�@É;w¹Îç{jS¾ù©€ü•›ƒüÎ=ƒ|Ú0_+«äÇUƒ}‡ÏG>„Ç°t½tÏ?7ë“ç[ÓÏ}=<‡ÝàöÌdËÚCò(ï1aåä‘%Ë˜7·=w™xsgxìj·}|c^˜˜Ñei¼Ò§kòŸ²L@CÿtüÖÁGÈ§–Èƒe`3t	°~÷ò²¥ÐˆžhÖ
` û—±”þþfq 
-�É¦×ôÔçràaíýÌ53Ï�»tŠ¼sï÷E‡É-§j<Â»wègmÿtlÙ�2³ð2²1�"½Ö¨Kz©8n®0ñzö7ÀLüÚ:=(T÷Ð˜‚ò¬Œ1`�,VÉjs¼Ä�ä©Iþcùi²ðxÌ0¸æÃÏ:L•-ß=êÒ±ý£<´Û/oaEÆZx¡#X3	ÖŠ9KŽ™Ê¢À¼}YWR/RÓ³EZ-ÒRÞÕÛs©›ö&blßÿÐŠÈNÒÊ4?
-Àj•(”+­ïD‚C¿jÏÍ1<lÁ­2Úcâ®[‰ÇÑ}Ç	ië„Äys°<Uá®÷¤öéÓ²ÔôL™Õ¨;uÑ
-¼¦«+�<Õ²±B•M;éÈ»~c.ÆáZL¸j«ñMjÃÛø˜#ÿ C™= ?êãg	TH·A±YXEazòhŸº’‘\&é˜÷ÃŒöÍwð}6Á@‡D[4CL¥+n]q¶/\©ù‰¼ëÖWR Ž÷Òq+
-R·,ñ$Ž€ØU�dñÑ
�á5¿QÈKñ¶èŸí!‰ÿ7ÀLü{9¤É@ŒŽ ¯q(dÄ7(bbëåÒ©yxæŒŸEÝƒ·îc§u¡tkU#ûjÄª
Z)ù9Ÿ£ÒÑÁJâIÿ4„w	ë$Óž
-i|=Ìm|½q7t™V®³{ÿqÍóaþ²ÌCeëvŸ8m{oœßS0HÿW€\¹eŽXæóO–ñ·q;~Æß;!!GR“�Önã–ÝÛD7'j.okeããË¾^â9Î¦„tÈd¯*Õ,]ób§uY¢£ÁÙÞ¨óºqgO®˜½ž¶ã¥Í?ÝðÃïÙm“ãÄe÷˜ íöz$¶Xóßñ¡æ÷6%…BÍJ½B+ŠfÎÀŸ’õ±wÿ¨Ô=N6Vf_ôR!Ô•ÝýîJø+ˆáCr¯Ï»Ô�óZ±Óv¿©ð{~×åBprœ‘¢�I©v<žï¬røàŸðp{óåCfxiìå_ßgªöïøþšÐ|‰x€Ý»s2
JU¼&Æµû¤ì|ßÝu¸‘}­š+C3œ“ê�mUîÕLçÿ¢ëÜÛNu¾þ
-îA"gJé$*åP!B"EB©†÷ÿdÿþØÏõ½îýÏgæj·o«u˜™5ÆÊÚ~öOSn]ÁªÑ
>5sódr/éŸ‘ßÔ9çNÍl~àÿµ©Û^®§ý¤t�xÒ¾0–¢Ú¤rºTµóh_Nq¨ü©Í5�!È¥Š|å¾
-%õI©fð)vµã4ö/ó=OœzØ¤¾Ìù^×V»­Už7ÅÜ4X]ë‹—1­dÎº÷ÌÌvHx*áŸÒdØHÐIåŽ³šÂ�e5°�¹:›CNoåá•‹)jEEÂ…8mäŸ…aºØ@Öø*uN3egÅ¬P{v_£z :ÇÚyÕÄQé±=·Y�'6åi–eï&‡õ™–/ËÔÛž©�½J4ÛoS}Ž ç­ÞÊ¬<’jY!X'ƒS£D­Ò±“ûs”i‘¹;í§�yh´>Œsÿ(èŠö�+“Á·ÒÈ!ø–‹tý[ ”‘ë�å}®•Ô¾Vb÷a«=Þe"f¹‘‚î~Üå³A>Çw}w¾¦eGŒÔ'ã%c½GìEÌ»÷Q}°Ç·é3(@’´°�KÇ—/—<í#KŸÅ{PÐŽŸþ¿
-–®}S±¥wtû¾k4÷2.sè^f¯™ËÂjÆ§<i•~`W›ÝH{ÅÃ²å •¹Y+»%qnçÖ•¼Î¤ûÐ‚b'TÈ,ùîrl,Ëcó#ÕJZ¡¯ŽŽX¿I¶zât=ÕÄV§´Â²‰·Û'é«býø�ÿöÿƒ4Ø�ïo®(3¥;¨ì¹�}³ï[í¤>ý�âÇa©;¸m¶vÜ*7ƒÎgºšÕ
-æâÝ¨¹ºˆ¦cÏ¥\M×0*Q­ÝG\�Èƒ)xŠ÷9òÚ÷ Ã¯ˆb…gr3º÷v²é¤-Í‡u_½÷Z
-ùU~ò1©ÿ ð°&éðŽ|¿K*;ÝGrÞ5²ÏÞ ÷¼Îöþþ$´˜“DŸ��µi¹ÃE'u1w¼$Åh9ç±÷nêÐQK�í<6i8¸ŸäÖŸð‡¿nú÷wÞ€®MCå.ÿî?pW(Âr7ï-×œ;žÝü\zuwO)ìîNÝç?&Ð¾çWíÔ5•G<¹qpí:–ÏÞü8t<Û!Žë×.·(—Óù¥ªö©ÁN¤E·²œÎ¼öq=A©³­¬úÏôîÖÝ—.Ñù",¥í¥—ÛÄ7î@]Nz£ENFü6Wztä`Ý9mÝGçÔWj[1WªÿÃü·ÿ	Š© ÷i*èÜ¾?öã–íoÖŠæ•`Bs[¹ÆÒî(ìÝ’Wa~=�¡-Ã	¼~ FãÉ­¨ÍUêÏ•ÜÒ–ÇÁÂù�ÅÅF?ôvsÓãUøÒñÕVÜ7WH§ö)�zqßg¯'jÉj£Ï�ÕH)Ç^óÅO§FVþ
Pä9
”Õ›óz½é§œ—	;ôÜvuìÞ¸ÓÈ~wÒµò¼x&ZUßK&®ÎÅOŽžªa­¯Æ9FçJT7íeŸ˜3&ŸkPç9Ë}§‘ëœØ‰8}±Xó�g1fÞbž™\:ò3úVŸ3º?¸2„�G=ïÂÌ,±þ
P*û3P©U�Ës\N<që”ÙVÞ/ÍŽ´-¢¡dNPz»LŽåÇ"ÒÓ1yV·O˜F®ÂÎxw„¤�¿-)ý•�ð;4¯s~¹º`ïÅí†™_–.ÓV£;3"”"jÒ«Ò°KÓ§Ï”¦ÃðB½-O0¨PàÆ—ÿâþÏ…t@¢�‡Ý¯�|óqá�ƒ÷Rtˆ[[ÜÁN(šz&-ÍÆl¶Éãy¦2è[‹ÌeUÉéÇö°:ºý9‰¼½uänåõ±:YM3q†Êdš…6õ¹*e­@†²ÖJ�êÊP‡êN�)•ã¦g*Gt
-d[¤€ÐØ?‘ÔîýõœWDF=çYhò?°�å³âf-Ä%êý¹?†³ësæMÈn=Vx~TŽÅMS"3ë¶ÛK¦[[mºì<z“W†Ô®¤Ì(xînI‡¯_Hgì¼IÇàjd_¸wÈbSNç²ÈPÇ¶—)äÚ˜Àß!ˆâÌŸiØ]¦]70Z=ÛœÇ¼U!füÊ°¿ejk~†e¸µ¶öð‹"Lƒ÷PÙ–SëK”P¯
-…bµÁac)¢OÐ¹ìƒ%ÝÀÛÞÓ·‡»¼‘ºúÀ%.äýN¨J¢„ÚTy¢ñ)Í‰f1ðñÛÓ+á·Ó«öüÀû¾9œvãs�ÛSÏ¸·E~MTŠÝ…X“ØéÝ¬ÖaÐÝø—as"$ý77ƒdä"Ý¦r)³ô:[£auŒ’ò«Òn×ÜO‡hž’4³À[ñgÜ
-]fÑ"Kã?Ã+¶Úõ3ÃûŒQdý4NCôC[NŠÇéŸ8¸fgaqwë ›Þú1(rFn>d~àé�2	Õ
-�0òoÖv€O¯ÏçW~ðôŸÜ£[,ãË:o…y²rì‰	U©âDæ…~ºO`lÑePkxæQèò4m
Õ›ùÇ`Û�ˆ�ß(ÆðŸª±V¨{«7Q÷ÖeêŸpôIÌízÚ¦kM²kXÏ!=S•yKåÐc}T«5YÙ@ºhs°Ñ;�˜uçe(Æê=ÓYŒ’ª·­´®þXÎ©xÅc‘Oˆv+AÜî»áNO©4á¥ô=°Ú¨�ÍYkd‰^uÂGU,ï.*ºô±+º\tÃü§±3×
·«$·dÙ4¾/ÆS7è¦:û^AZð–àòh§¨Ãn‡L.m÷Ë"9lh1!!¹õ²¬Q*¥|�®ªÍ|p›6ŠÏý¼>loW?pMaæ›j`-÷U,gz]Üå×ñò*S•8SZ«p¡ø¹·):è?a•#Ž[Qy›ÑOÜ¾¥Ñ+§:ôC7ßOöß
-‡|º)q�é©Ê2Ÿ¸D¹²ÜV0«‚ãŸBcË
-ù�FÃ�Àh}H±šB/ðj°™Q•‡ÍÓå×gËTí–Øz‘/v1HBìy~„äãÊ¤à®Hãç+)·I1Øý W3Bqd?œ ¾ch�¸
-–ï´woH.÷Tî¨Êî-�=güÝWŠ}.]Ãd/¹*ÈF]@9›KñT#ÓÛk³ô�µß{‘é\ñ÷€”^5áÁOòæ��¥ò¾y‹9ûRØõO|wáÚZ*(C¦›§‚:×€’–rä5rÐ¡Í§ÒŽ¦j¶ª”.‚¤8Å) j£ 4ŠRx]õŠƒÜ@£Ý
-@‹ò÷÷/ÐbtKl>†’ü­U�¥V�¼�ÊDÕºÊ½©Å„X7þ7@®·`S-r©˜«•
-rux	rã©r6’9Cü¾O<×õt3u™ ÕÎ€¸¥XÄEE
ÙôYô5�â%h‹�SŒg‰=rÌD ³n’Oè[,I›Lä=ßÕ¨Ê7ñ—âÒlx+µ¸ç³²ßýddÅü 7Ú¤‚j¼r°Ÿ
-ºh·—ogã=À•-rçËä„(}¤zÐ]zèxÈÈ+U� ÒŒ/ÉGC:v÷¶Kêc—Ðü$ò>Ì*:wN4ôÞÁëÒî|^
gS	±‡ßzÎ‰�yDªÏÝÁfÆÝzT�ý'@n¾c¿vY
ú©¿;âå¹	à#ø}Bìå
-ÈE�5È©”—›î3–Œî7²ÌR4<\šQuV ^œè½Th(¿gKoJ°§te¶íò?Ÿ÷øýˆ¢zéþF8ìÞØÛÖæz�8ùp¿f°ÿÈm�Å‹þw<ó]Ø‚¼ê>@þÊVA~¥t@Õµoýä\w—[‘U“Kðj</I8%³ùKZÕç\ñg3ÙGœ¹‰�å.7zÐcJ¿¿I}sßä_§{çÖOn½p�bâ¢×#ûè\Ës¯wn>(î´¾Õ�þ4¿äž!—Zÿ.x:Õ@~9ÜƒB�@a{®ƒÂèÓKJE[�Æ÷’ÞÝ¹ý\À­Ócùh>ïo‚ÏÞ;Ë1rÏŠÇæ|ëÝÃö
¶jÝÀév¤ _�«=W×£C®•¢^êDT8k«*æÏô{"©[÷¸	G�ï–™À™83„¥oýäÆm
-Ý× ¥ˆŒ7Ò¥ç€�Ô¡;
-‰ÅsúX·›«;TÙìoðM»H¸ˆ¯ÒÍ]|7©\ÆS;_C†>k‹1ï?ò«¡?s¯³Ó«UÞžR'¾»£ü;wüL[Í#4nÑ®Ëf;Î°ºaöõ7Cýn!]wÚÈ_¨9@2Ì	 ä
Š�M3®óýN¸P×â£³>�S�‰Edqõnƒí¥î¼Žþƒpo>¾|¼O‹O&ï%ÝBÅc.DëøQ%æÈ½uám¼ñA¨BËCþÒ?ºg8Ä«ûóž'íÉ¬NïÞko©Éÿƒøoÿ/Rk=ß¦PÚ+€¬wßÁò'ñ–YôõúÔãs4¸››9I×1�LÏÓ¹:Q{Áö2Pî|„‚çó�>ß®”ºëìxnš#¥¾??Uv¯Ì÷’}ƒÁÔž¸ìv÷Ä¼ûŽØQ…í2¯ã{"ðM7Î´LÙ7ÿ‰Ô+ÓQ</ÜFßó–æ÷¼e#{Móåk6V@\éÓºï9‹ª½[ïüØ7•ÃæçÇ47Ü¸¥§èî/r±oDöecËJv§¿QdGlú�í²2Kõtö{–IgGûî-7ÛÁåœf¯¹�5Åæ²±–¹º)ÍúòàÚ?`³“
-z)¤‚JäíÎ
”†µZGä™m×k·² `—©±'0}~à£@¼¦ŽŸÜVö½ïvmAó,â7«SÇ£ÍvÒ…6¹ç°dŠ½5j"p@¯åI¾¿.cýÙêô¼;«/ÆKÕõ+Æô¹©.ÂžVY´¦ô?ð.ø 
- PÅRAÍú½ƒÒ§½Ú»M.ý›yäz½
«~l™¸×[ø‚;Ble�ac›p÷�•
+Ž)>-_”ÇÊG”ä^ÕKx©¾NÕes™#Œé»Á­£®,•‡¹h_Æ÷ùŠ�ý½IJ:¹ˆžµ×…"uÍ‘
-úPEÒ·Aip¸§£åÈ¢>!SŸ~nòÊ^ô2Ÿ6Ñ;'‹®ÓX£Ý²mÎ¬®r\›ÅÕy»/‰Ã-G£•ž2sxÏãí™3ùrCßH4¥sØVÒ³ai1ãIÝO³W4 i_ÆòÓb¹OŽ~ú'Tñ»‹£‚â"]Ü”ŽÑ=Öªxrk1
-|õ:‹jÆË[5w|0öB�úiTf™‘j¦‹ÅJñì�¡w¢ý<‘ä“¾¹Â×Ùî‡³|µ˜�:®<-6µÖd0s¸I…(«ÚxoîµzŸJÔ (fRÈUóØÏðÿíƒ<µ‚(¾j{P.–ÑLÍ¼ù-r»Nì~àgú8–ðZÅAc’Ü1&+l½7^�ü±¾lU-søÃV‡¢x?• �7ÜÈt´ÔÆ!©)åT-±kÊƒMhEÏrƒñ‹?®ÇFA~Œ�Æé�ööIŠÃ¿òÊ)sMR×l§bö‰Çkq»¤Ö¿—rWÿBÜò‡SÎ³^î…í¨Xlm»e¢gzÕÞh…Ö³Å
-‘}»^šSé}ÜiŠ	í•‡39Ž_Öð6&£I2Z‹dÄøÐù!t	f[›¥±?„®ïpÙpØ­×^ÿÈŸ£TÐŸ}k‚; ì�p]Vý[UÛ>xÚÛãá"Ü�éäïLüÕ´
-|µ³VÄ¶ü/‰Qç›£²˜![y¥]^ÚF™·×ÖhýûaWÞžÂxÿ”Ý ÎÊ¥V­"yá4Í­„Ü¸)ØŽTñ›4\27É»ðÁoH3ño“{©Šu>ô¸tA9ÞŸÖ¸å^oÓÏâ´�…õaôn\÷íí,³í)^Í<i€^a›²¸XoÑ±.@ÝÙä‹†:£ëÑ›šƒ½¹ÜJ'é[ë¦¯æîgqŠ¼#{ôÂœpZ·D>Z=M�H_˜×u_ÄvîùŸHç!LücÔA9¸ñõSòï’Þ7üw&—Ž–²‰tçî_¼ÝûÚI,ÄÔÓÌ»FôÊöæÝ¸8HÖUU›ô;óq"sËÔ®Ýµä�{¦ØZÎ¶üòŒº½w£ïuL/ÛËrh½»ƒv\wW�Ý\:ýÀ½Î¨áõÌ-qú'Ò`—RACÊâÍ	™ç{}^¢OñÔÛ›âa¬LÕ=¹V÷[ÞÊ>M?”ò+<·E�äÚÑJc¢v
-c%Ö&#Ë'ç²·$ñÁÖž0«./%6çøõç„Î‡ëõ*W–+ŠªÞ9¦Šá�OÆãœ~áßø~›À"(qpºú™Í­ËãzâüL¤v�¼ÕuôlVÚY£²¹ñçºFƒÊÇX#£ªî<gÄtÌ�»j8Š¤qg	+ƒƒ[™öo³’Îƒ2ï
-
-ip¥r%Í÷;^¨]:ÃEüîíY­Sa–½ Û)«x‚Ïž=áÒ©xÔùŸÈõÑO]³µxB(4ôAWd<ñNs®æúŒÍ2ýÎl��n6¦ýã’ÒÏ¯¹}®fU¸�jzC§ÇfÛö§wYºZÉXˆÇ‘ÚƒûÙ	W¦´E§Ö™íXuçŸYõÜ{§+lSæÎTgÌôáùÌTÒ†¹évðO¤ÎI’Ú ©_tfD�zt“>Œù;½§`žÜŒ3nªJ]YÆyh»è‰“`vZ‡™	ö¨W³Üm�
-Äˆþ�åF}Ö)Äz6{�¹Êì=bµÛfÊ<ZW“Ñ¡ö)Å)að]¦_ê‰¢_ÚD£
Œ<QIoÓdÿ	P*¯†iÆ¿„®¿Žšäq�}Ó~šQ»®Ul›—PÂ–ñ|È/vÖÚÐ+æMf½åKy/x$¥ª¬›˜¸Üâm>÷nT›sì´ŠˆqÏªôo.iê5u`šÎUC
-\Ì®A™ÚcD™“ã�Êlß/rßÁ?‘œÌ·rÑQ‘ô¾µÏ\TÚP6Û'I«\ðˆÕ‚-¡‹üæ”æÈz©*}r±T¯#wê9ÞòbÂ‡%>O'5nlb‹3ó6½Z¶;ÔfCË70gTÍí(ˆ0nÔ#r¤
»ÉƒÉÚû¶›]†íb}ýÀšßøóyÛÏˆpû0&}jOÕÔ¶AäzFJ¸©'t¦Ü:˜¶\wºj¶6ÒGòvä[ò-ÿ6¾ðÜd9!?0K„D…f?7”Êí÷)"7ž,<�,|ÎÛöa‹žÛòÈù´åE¿Ñ.5©]{âtD­¢fÿ‰óËj·�òî˜jìæÎYhj‘¬AŸ^Ó«T»®-W~CÉ÷Úü¨¢·f²^öw¢Uƒ¼ž×hºR#&¡ÊÎ³0Ù?U+íAŒáíŠ3éçþyH(n
-ë`¢‘m¿ˆF9,áÁkDã·;Ã'NþÜÒ‡ÅäŸðöò•p¥igú<½Ýr™`®{ç^]‹œEiÜo¢•¡òi§ž,ïìBì•¸Mï4³ÝÎsùŒ9ìÜ(±u|µG,ˆf
ƒñÚ(·æ‹µÚÃ5‹Åmh˜::¿Àhçê¢ïIç™"FÐMG&Ð
W¡\ÅÛýÁü·ÿîu½hÛk‡§,y	Q«…+s‰S“yÛ)��F’LŒb]b
-ñHpÖƒi¯Žœ�ÎÂÄL†ë›6Ul"‡v�ß�ñÙ‰»ýÀ-r…¾0Æª|P«JäQh)Õšü{‚7óÇW¯!UëãF1Z­ëÞ*ë¥P£ú�	‘z5ÓÆþ‰ÿ9$’+RëÙXO­¿štòìíJ
-L½àŠU>ýN[)óžTìu'ÍµÌ&ffô-¾ª’ÃÆuBLH^oÝÇc‘õíV&VShHû†ÔbuoÑ=×+ÉðYSXý]kdn©'W'|¡Yy¸,[!J©ü:�'å—�nþ‰]Î#iÍÚ¤íŸØô†Å¥'<r�-¾E«B„=¿1ÏqxhV™Ï¶ÜøIÇ…Á¢ÕVZ�ã‰ÀÖb�B!Ë4Ü‰Ü©{sºW¯Äí~­þ)ËU,—UˆB¬•�Av^JÎe³Ä6ÚNÑšŠç"ÎCÄ^Ü³H>yÿâþÏ…Míð ŒÏ¨Ðš)¤ªf"hDj<{Õš|í´?Ë˜¶EñCë›„@c(Æ{Ðn¹ðn¸š“©‰T«¿ë¹ê„« ß]k>)•
é\)­GëjÑÒ&
D ØfÁ]
-DÞÛtølw{p£ I¹‰<Q ‡oèÿÈ-dÎC
-d+6²CHþîÁÉÈêŽ²#ä•B+�lïN‚,Ùêƒl}žþkþ¶Ùá¥˜ÜA–z¼A–.å@V”*)Ö(ÈªdW|ú?VÎdÝö6Åö’ðXýÀ±³C2q1_ÎGƒ~˜‹ÊzùÖêW€ìÝÅRA¥T†AÐ©o@ö¡-@öAöI' {ÚTAv—e@vÑûÃÙ[�2;�U„s
-ë	²Ë\d÷Ýb
-½²—²×JdcMNqŸ%¼ÔÜÅÎI>ÇÅöö
œ{öu.†ùW½»Ê…ANƒÿƒŸÿ×Ù·‡�,4I5züô„ri÷€Ö�€¤ù@lØP¹É(;ƒlø\�ìKµ}ž ûzÄÊp²Ûådw±š	¯žÛßÝQâbçƒKqß›Mã¢þÞFƒ¸u~�ûjú"¢Ñªð|¨ãÂ3]*žøÍÿ!A+U¥MˆÁy9‹!ÈÕ›ß’iiÿ
èVÃdÊß}ð½ ®°Il¨ë%yax‹ÝÂ:Žû·'7¥RäqD#V$<ªœ
6MZñ¥ÐEõ¥ˆ«M8™Ýýç#*¿‚fÒÕÅ¡È=yå‘ûz‘ï, ¿@t‚§JMh]Ç<È�aäBs`(w¹3]9eD€\Ãì'Bg?�%ò`FÞ::üÀQ5[^
-_
_�º˜	ƒdY'ëC5Ä$Ðz>Ë%ê©‡‚ð$v¶òˆ„üêAÝ§{'»	oÝd�	öØ	„§^
-
-#¡x=´»ÿÅü§�øi¥–F¿»öà–:ð±ú-à1	¼9ÌEt,wFBTu[Ê«1o!¦µvOý#û�¨;½?–ÕxPq6}¶U­tïéÆ=óP‰ø¶Õ÷Ü­×Ë
npm˜jW;®²þy^Fj—G®xVÏ’?UæÈé	äÂoÐª’*|·nß<È#™È/×G�w ø»;º¢*q¥a¶^Í Ì=ç—�ü ñÁän*³õmkîÜœõÏÁþ?„j¾¯ÇÂ •‹Êµ<½b‡™KÍhõÏWÁÔý»üÜû­ñ<µoíŒGûµÂ||�‘âaÇ8…Cï³Êÿ†Ô%ë© £àƒ*ƒüe¸…Q=Íóæˆ‡ya�eã‘}òAõnà°Áð*Ç®~ñ™—õ_j§Êñ¬ÕðÀ¿kÌËo}úŸSh…Ó¢ëV½øòÂ½•Vïß�þø¸±bë°»¶¯®ãuÞn±:.:•DöõÎ+oÙ3ü¾ß&\QÀ™�y53ýõ­;°¸&ÇRø~Ý	"÷¤yµ|Û7Í«ç~ØK}%‰þl_POd'Zx+;·=~
-Õã‘“±ëav£¿˜f]7¿-º}÷–ÎbnQ.QÎ úNe,öõ~²Q¿ïôüÞá®R°’y¶Ö½Ò¯HmÎµl¶¹4Ÿ´TBf�àÄõöñ’jüÀw^sW°©ž§ó?Qûw´²|2å‰Û�‘•3øÀÛýyØ:í•ªx·uÛÚÉí¿´Ó»0¶}]:ÜÖPš•|(ÇÊä”Ç¦+î!Ó>nó?ðÚ}ÉðZ2:¹ß�Ú|A‚|a”
-jÙS€¸+•Î-ÂàûóamòaàmYpAÏ»ÂiµòÐ#,Ÿh·ôÌ
-{å8ÙUŸþÀ;¢S_o�no)¾ï[kW{Xl6Öó‘ßtÅš¹Ïó”)¸þp}(·Ìui±¿­†É;³¼°qÎ¸�v�1­-²¿!
ÿûMb^Ùr©2!ÉpŸx¶z�Ïêr/ìÎ—kãŠ¥·™cèhëëº[áÍ¶}W�Ým”$}ËìêfË(sO³°:ëm]Ö¥ã9\�†¹ìªzi”~àåe9Á—�÷™7no­jx^Ìµ&˜G�zfNãñûŸ0ö¦Aþõì~�1¦bÚå}|iˆçg‡xÁ)YÎ!ZºüÀÞvG¿¥å°¼ŸH#lGnVŒ•}z‚)zÕÁºLÝ¦«Zë°ZªãÃÎ¸—£Ñêdî‹0‹�E›ïåçqÞlÌi)êèïòp¢wè g©ÁkÖKçÜaÒfêdÑè7xZ¦A¡Ûà’ôç ÑN4í¤+©Þž´¯&X>�ŽGd
¿uCvÑ¼×°,{Ð6û±Á­ÆÆ³oÜ�qº‚]”²ÓyÜË®ç´ƒìõM±éëÙa'œíª‹ìV�å©ƒ–ÛSDŸ'Çvc7‘cë¡ù}+ÔÆEãßð­M�‚'‰ßoÈE*('ï_ómlß‘ÃcuÁ{9ý5æŽë{÷Ç¾u.A[óÚ®n
-_]Š
-k<Ì½0OØì@ßìêŒ¯àúÔQ˜Í9pîdP\4¼Š´1ùIGKõjâ¨ªuA¹Ûô*EtUfbæ®à…gðO€|C¤R4úß
-Á‹ïèö!í,Ö�ïKšŸˆ[õèvz[G‹6×4^’|ò±øb­¼öË8ºœvjAí¦]½K8ÂÔÅ+ƒI…]«Z½­ÌUM›XÊýaœã0®fÆ$#TFñçÁŽ˜^6bÆ-?Eï:bøÎå‹óü§ùÒš¦‚ö=	Ãp‘œ6óÝ³óAgWízNÖ@†ã4Z	dìo-Ì‹7E<Î¯®;¼i´÷l{žIDfVXnøIµôS�¡16¿¸‹6J¨ƒ1bÌ›=´ Üy	D4°&2È2„ìVÖŠÜ�¸½ìV^Š•7È�_òö’ˆó€Rù=OWS÷¾H•™áýdY¦=AA$·¡…K›šñž%ôŒÐ¬œcx9òÕC³¸ODzrºÏºê³ø±q�¤¡eÒÃ�PÏNe©ø^IÞ¨æJ•kïÖ?¯®ÐÜodšMqÒÛŠâ„W6b°œ¾‚CîÎoè@‚b¾>¥AyñìÏƒó‹(·OVê‡‡¶éíŸúb¶ËÅýFº*÷x€cÆ ŠIyÍ0lz|öHMÃÇ¬Òž½QæuåC;”ú—*?'Gt&<!f#ÊÊO¥0æÓg.õþîôÖÑ~ÁSslË'jËGÖúƒøoÿ@aRAyf«õ�vm~ÌgÀ±åøæ6b”¶i‘T­}�lÍZQ–óÖ,2Ý™¹çB}¢ÔZ¸ŠfôŽun ‚y/ÕØµ¸„v+�zÀÕÇ½ÌÉ2ºÛ1ävÓg
-»¹$ÉsûÃŠâÄAoÊíg{³Û}_6_˜¿!
öR*¦¯
Cš¶øóº6àS.«¡‡ViìçG¯µÝµò¦¼5–«i”;ôxôÒ÷{žŽò ¢>Q¯M²=ŠCF:—G!Œ\�Ë<çôØ‡8“yçØØ�ãdüè°$÷w*ÙU›õ
Ze}eouäó~Ó‘mÓü
a$”Z»áõÊÀMŸ¹-G)@ëÎ=Ôv�­YÅ¼Â¯µ;[’TäÌw:µþ¬|œ}´;vA”¥…4F9¿ŽÉ'¢KŠÏ|‡æÙæ Ã¹’ÕíaEfÏ}{Æž'äžU°Í�UZ8Ä6²!Á¶©2“fnÇ�hË…›õ?ðß>@®6aÞ«wÁ+~Ã³w\Ý½œ ºÏ”Šå<O³¾Í1Ë—žQÝìr£çÈy¢�¹—Jö¶Ðh§\KƒA¾ØèOï%Œ—ÚDWÄùtFîŒ°Çªµ‡ÌÜ&Ås[¯lfÚ�ƒ+ˆiUhœiå
-
-=§…-­¿‡Öïì¯Åq±{+·Û¨Ï´ú±´®×�Ö>¨§£%ÔÀÊ¦‚Šð2BFØb[˜÷uÉmÏ§
ÑwTÃ,ã.*%O^å$Ôòa‚j/_+7:¾=h±h¶Â0x¾.Ò¡;ÖèÅ$¶èÅtt¡ÉVô¡In‹þÀT’Ž¨•Xä{ó:Qôñáý†¤J’Âe†ëží÷®ºÍ7l†ÓSs‡™òJ�šð¢Ww]^”Ùi³*j�Íq¯wN³¤a)jÜ¥i½&Òÿô
-’™ëœß1Â<À J;§@^ëRk÷:¢Ö‡Î’b§�bgBLepP¥2D ‘Ö•[·m‹?¦ŸÿƒøOs;ÌÛÍ?Ê<œ&hc¿ƒÆV(tkfCÛ—Ó|Ã³q
~OfzUWÇ�0æ§•Ù°‚[i&_ŽÂû„=Ä®?;×ž’0(ÌÐ´¹A¨În“®“É]þJ‘½[»Ÿb?#á
¶Oq~¶�®Pl;#Nh‹±¿ ŽÅØ%dï}ú
ÿSe�$ëÎ,—4vn77C¿Z[Æ¹Qº›#îšàÿ­äÊJntÈ'äàRód‰Xº�®Ä­^‰¾º�Éòc¥ß)kYˆH¡gÛ®
—Ú’"ãíRãÐm—hö[ÍËÛC�	ˆá3_ ªó+÷Õñt�+ë­ƒ7°åá7œ¬Î î^3õ¦½z?PËJsÝbžµ_�‘©£YÅ:ðÉp$å?R¸jTú«¡Ðør4èúóžžÆËwÖ“­ï)ØÒ�í£(Ü&%Ä˜;ˆz.×À¯—!‹kË××VƒŽöß>ŽNvÙÖ£%¶[³WUÃ^v‹-Ljÿ~àÿ™›¤Í­}v1³Y¯6é•gã§«k{óžV�—´ '±hYÊK³L§Û`§}Ö8†cº;å¦d‰ñ„²W,›	‡at¯X$¬clÙif�Qïn›EÍa}„šúÑD;í–�fákÍÖçxs{ëª)ôùopp8�îºøÛÔ²ºdrÛš^™8@ÇÏ¨t}½~`i�wÁQÏoVqnšl–¾¶6vRÛç+Cü®{“Vû=œcLE2Q®Ñµ›;S95óeëÑpÂÏ§Ñ7¨Rêdk¢>8BB½2Ófµ3Û5%'ß¿gGaIA×~ÃîsLZVé¶n­Ú�¨1/*pI{= ìèÀç#)lb7�—¦ç®ÚÞ‡#?­3]¸EPÅóŽn×C¼ƒã/�+1a:¤oÉÕq£ø¼iõJ|Ðk
-sYU+²«œó*§û¬Åe¦lŸ•2U£ÈRr5„ÒZûLKëIeñ¬ƒàáiÆ×rè"ÏÑ•‰®á¹qaW�å–ÊÞžù\0p\–Vâ+�ß”c²œ³øcEä°Ä¾ÐnYFî)×==®ÕÎËTén†Uta@”
™£Jë1Ùù�‹Ÿ€‹Ð“"B{6+¸«ã&ïY÷|Þ¿XéÓ E?óÖw’Å¨9­M'½q^ÉMû@ž^¤Ç_	™µ}ßú‡¸u�æ• epÂ	µ¤Ó±™¿Ê~}HÀçZø×Êc7»•_.ÿ(S%>.~®Å¸ÝPp
÷“÷Ì-7òr>‡•ä2DÔFÍ,…ŽˆÌZ_v2,q“àouÏÑoþYL>Á¥2T	¥K¥½!2Âk2"¿Ú¹€ƒfR¬ÒûÐ˜Œ@†5•Ñddìû«Œ<tSXg�™&O�Ù�ŸzdŽd¼~'Ùê×qÃe#ûM+:xm'*Wkîëd¿Ý×H¸ÿ
-�ƒÈäŸµï§ö¿]æÌëÜ™�ƒÌe‘Þ´�ï ãð¹×ôóÖ56…*§8¥Ïr¨®S6ÈÜ¬SŠÇ
dÞõ(…”YÄ+'ÛG±•ôô~÷»ŸœsÆÑ±QY‡·¯Q„¸áµCõv=†Mysø
©p™TP¥ÔYHÀ@_Ó «§kç¬>[�ì0<�l¯�l{…|÷“ëY<…ØÙüv²�Âd)a›lÁÄMz÷’ÀrðˆŠcñÕÈÆˆ-SxXtTëÝ¨üÖ”WZÌCM¹îž3ÙqŸxvwz„»…ÿXðcÿþÓü cçRA_DdgëÈÞ“ïæE:21ï-€J­È>Õ7Èžî�õi*Ùñª˜ÀîV�û¥Ó<FÂœ
È‚UòÄé~ù®p{ùiŒ¿Æ“KæUï�0(w›¡æ[ìóAAÃ'n’óé÷·wÆåŽ·ËœoV½Ü¸mñW¤v.•A–“êö˜ÿÔîô¾G—§)ä=€R£}�‚C‰]†qßy“Ñàó¯s­5~ÕµÎ,Ô>£uˆZ¦ý|o§§^×'7^�×Š}?Œþ¼ð Š§Ú=y6èûz»üÀ·nßÖaxÞ^Ý}pºJâ#¸x#�¹8åW¤æÆR=½íF*a¥rówÀå¥‘":€Ü¹&)„¢*£•ÃàÂ§Ïò|û�'QYÈÃ8jiDß�;;ÈZ÷ÞroÖ«w¾uíéý–öI°o¼sAa†”¯nD\åjF¾Œš�ùY­`¶?-TýÓS.\OóÌóêE½íå~à¿ý?H•Ù­hõ}¥ÝhÑ°¬ü.­RH^‚œ©çë
-ÏÁóy©¤Š	½ú=3±É[÷ùà!~
®©8½Ê·ºœæýíeÔ[¾»£ðñz¾8axn–²:G¿ÕÖ°Ó3Žy/Æ:úñ]íc¶Øó½aûz€sÈÅÝÛï_‘:¤Q¹ƒ~Ï†v@^,|+·ä/kä£Ï9ªß×çÂë<ï\vñœUº–™Ô—jD†>«{¢ïO�ÄøVØÙ©mH+/¦ô�G›ëãñ-·ã¦ÅÇ¬R…;J©`óÌ¸ý
-™~Š3hŒ­ý¸<öìëxp±µ<y¶›nýWHj ·�¡ _˜wA¡:™‚Â¶²‹GÍ×1$Â‚w·¢ö%H—ð¯K]�r>ÞèUR»Ä»&~|»-î˜=µú¾F+®£õt·ÏÌMçh-mgÐ=�öþþvÛ�µ*°¯�bkúß=`LÞ¾ŠCcKíƒµÚ[‹õóæƒÿ~à¿}Åõ€±cäm ¤iècvl¿îƒÀ~t®O;�7°{i–´ûÉxàØ­]®[åjŽ‡0äþáÜ¾.p²­xe÷hióÝ,Ü˜?éøH:û­‘Ÿ­DFBk]æ¡Íg¼©o,ªÅ›vg:3ó»Ë~-åÁe]t¿o§—¿äz\*æ­Œ�B·+¥ÖõdÀ.Ò¹2$•õúæ|ö«KÁÖ)vHÿØ3¥È-y3hßè¥ÝÃ� [£×¥¬Ä‘z[Tk¨kè²^˜¶êmÌü;9¬]«~[KÝ>Xy¯¼j$»<?í^6ÚðÖ˜¬Z¾�1ÍóB÷`ÿ7¤6×A^�qPx¬e€ƒy\Ÿ÷WKfgA5'kþ+ð
Ò!×,ˆÇ¾¹?Û(1Ò‘ßbã\m“ã¶-³@Í™µdšÂê”Ý�VUþ4]^ò`µlLK¶qkuÏ¶P^‹'yË/ˆ…Ï#ù1šSgò{iìéìM;ë™ißÿ~à?
€K›TÐóžL3úÇÉÍüõp*³»°ÈŒ.“7Ü?±§Ùì Ù/{¬K×9kÆWæLñx*¯N‡Vs©¶ã¶1E}vñÔïýÅãy´*§kþ9õimt`�Žz'·¼é™ý;;ë;�YÎ‹Ä©Ø––ÓBì&‡ÕÃŸÈŒwú
–ü(à€Èê#wõ�¬‡Á‰‘ÓÙ�ü
wÜ;Œê\LÛ²	+ò­Ï«šn»›]�µ`ÜçïÚ¢m�[sZD)ÝÜ ==‘ƒYOà´éþ0XNEy·Ÿüûe"+M �nZYÍÊœzy-g?°z‰J{U]bGµI—¿Ànœ
-ªWi€$õA|^÷•gFÁøËÍ^5OfÀÑùQí§¾²Ú‚ètØÉû¾®2u°Doò·‚.¹ò+úF­4fðÂhM‘É�žÈ§!¯ù5}¤Õ4k¦^Ñ—¥6çEO¹·û¡ÒZ¹…qÈrôx‘yOÆí�¸M1wþ‰ïhY@RA,“Úœ”Ã™¤2ýŠ—‹e¶>„[‡²ÝN¨¹µC–{³Œ]/«Æ£/¢VÒ-}†ÌòÓWu2˜°M­=qµy?±Jë¼Æ¡òT~àqû^0F+œØ�Èº7Ô33ì¼|˜õðq
-“"Þ¥xÿŠ4†Z5€ 
-›x$#Ý…S;ÏÍJñÔ‰ÏÅÃqo¡?ðþQ0„í§T˜lúÜÈZ×¶Gß«ùpnŽ‰ÏL¸ôáÉplÕ`”«)øLEGI¡I?Y¤;äÈ²<Ø­éÙ Ÿmä~o’‹ù*�Ò².¥é‡(UZŸeš‹
f¸)
èú7€¼AW¢­ÙhB�T•xÁ§·�‚&yw|ê¶Ñº[HŠ98‹æò¯‹•ðºë=·”Le‘ÏþÀZšäB<•Fl£\Øí&÷=†’†ïŸ›ƒq¿>Û¢ö
-]vžÂìíÜR9AÏPºð`'†ˆNŒ_
-Ðôû¶,äê±Ïõn��Ÿ R8e�5|ðr´Œ£âŽ%ôÆÝ†ë:hÆ«?sæð
-f}¶MjG.£„é0Ç}q°ÇÂŠä}È¦¬– óCš¹ëþÌS¥`ÒK||Ûcë³K÷s+B]kê“ÝÔ…•Û|Îzkü
-Pœ X{±Au6@üUæ•÷ò¨»õtink¶öÅ=ñ›Ãû´¿|–Þ³ÅÚêou¡ìúÓŠêj&ãÕHÊwø¾ —ÛNQ¼ÙI…_Ö±z/3Œˆn×Éu¹=ÊŽ9áa¯¸Â¼âuíÝ»#ç­ŽÊÃÎ¡!N~`® Œ&¿!�¡×­	õÇæ'¶áÃ JUùÌ^2»ÌˆølJ—vcu³[=cÙ»jónDš³ÒØ:jAÝC¨E#îÊ½àA‘šB}­¿)ðñÔ-vw¥B•Cè-Ú‘77¶SîbÖ¯ÚKvt­R¶6£ÌµKÌ5Û™²µ2­ý†txgñ'[5~àóüP,üO™�f#gS�þ±
-ï}¸VayÙ^‡ô"ËÌ³Ã»hLÔ‰²W‰÷á<foµpà~ÈDRäQšZ«t>öí<WìJ¬ÿ¾5Ùz·À0AN’¿{°Õ�Áh×¾Ë Ú;fÐÉ±I?Ê�>�óÓ=ãåéoH]Ó¢þØüôžùƒ7Tòûy6‚¶Û“ð1k†ü\.ø¼àzZºNN2F˜Ö³�‰Î)s¼©,Cqr�À_âœgc>³}¸CÝË±˜@˜‰Wm0ØP¢égÕëÓÏ3§õØwh=‘#š0k
*jíûÅß¦U.ÒLüÛü
endstream
endobj
121 0 obj
<</Length 65536>>stream
-QP¥ˆËT!�×¬¼ÛÙ¼M“·œ…8Øg…wZÏç]c]*VjS¥	±ÃñG+,†nAÞÊã•sÃÛëÂs¥Âýî"›Þ«S[ß?Ìô:„éùC©ÒmýLRqS83j•¯íRœž}P+ä›+ñ¤yf52[è¿á&‰Ä§ŸIáàéßŠûù+lwlºª[¹�±æËáÌ»W.“[CÊ©?Ä”L¯Ñ íXVve£OtÇ[ÞZXnWjgüNýL_üä?©DÛ¼)Æóò3¯ )i‘Ùtä'-Þ´Èn¡�Ðá†�ÐÆàÚüÙ·óB0ÿ
×&Ô/z|:•97QBvo¥„l<x
-¯táò™ï‹a8™òg_y×¬pÜ;e¾5ºåã¡-«·Q_ŒÑã˜ßÞëón“LövÜnéèÐ<Pæè}!·ÚûEæžu¨½Ÿ�«)bª-ò¢ÜFò·E)('âpÄrÄaó¡‰R„ð“HNÿàþÛÿŸÉBÈ¡JèˆãTq›ÇžÈ:ð:°Áúê{6ROuU2üáñu;êê#é�^]\×³ÏG3±[Y$cöÑf§ôêµ5(¨Eo~à¶“”ÝvQ¢bpÅ)ÂBšÿõZø™<ôð³ Lq¥ðrðúqõÆëÖ€hU§ßBÅ£úŽnÿ\tZM¥´ƒ
-ÕÒ¦
-Šé
-6RË°~x"‰õû8Ï'y"Ïb'Óö…\¼ÊôÊ¹~…kVŠÛÆì.�y”$R¤N*qÚ©süâŽ6x3�­Û3º·¦»N&Å©Új)ƒ…Ôyôc!=Þb‹b+ÂEãZ«‹.�Þð7¸�‹QÚ½_BÅ’:�êê©«ÅÌo É}3{)Po}(ÊÓM¶{òÛq9-*G?0ûôgâÖ¨üŠÅÛ;bðIÙZx0bTF�¢Éé²A×‹ª‡²¤ô@YäÐL¡ÛhZ·G·ÙÝ¦Í®W;4sÃ{¦±¯©­†?ù¿ø�ÿöíx£W·ù[[ß´KÅÈvÞùéuå#C�a•hœûTÒvzÇæbÛ™òÜË€î‘I�”Gë¡êÚš›}×§šÅä^î�é§ˆ×å¤~D÷Ëú “Û×Ë')¨ù#ï]“TµVK\¦z=0JU“�›ª6Ý«(#¿akÃºyá5ãMÓÅ™â²êºÁ¼ÒxêÔ¥¿äå�¨»]g¶NÖL¦vÞPý±µÇ§5„Ï>‚­—
-�ÕZÃe;hÝëµˆÚYk±Õ@/w+�}MªH[-qQJÎË]‰m</Ek†%?p±‹/‹Å.Q%‹P¤ˆˆ½&¿asj±�eL,+úÑÝÀyÖâQ‰Ñoýh7=òÈòhÿ‘�æ>Äœ,EÔš@Õõ¡EAÃËŒvË¹[ÃÕöÏú�Eµú»ªTÌTˆü'WJN.\ü\­bzU$h¡ø^“ðÙ6¸\pp‡9¬- ]!í»+D4âø?ø�ÿ4«°x«Í�Ý™àÇë{äÆÞCšËŸ£û>µ4dÒÝ"»hWåå¤µÈOç¨Ån7ÍüµeÖ‡ønY
LfUÑù¼Y¦Šg«ÄV-»ØmNDÀ…Ã·â¨áó6:å&ýÃ"ªæ=“ÜçQ†Å�¹KÔj)¦dŠ§�IÃrü’O©•I>XN>Ò(Ÿb^J¯™�äÓ*u~Ò«-=½	‡VÉ§Ò?¤¸Þ“OµùI>DjÅqG“O¯I§�ùæ ùŒ"-ùŒ«‹äólÝç²ªJ×(à+˜�€9'PT(’
-¢’$H’ ÷˜û=Uû«YûÏÓÖZËrØÐaôjZayÍ¹æo»½ôks…ô*~[)øŒ’8 ãåËg}oS'6ozÒ¢ßõðûŸä1"y K
-J¿Ú©”£äï•†9ô<ýê¯Cú5°üódù™~¯åwÎ6�ÿj5Óï³ù»CõnˆœÇ2'fÒoÔà2 °”Ò«%ÞSrk>ShTSh~“¹n6ãeôEßÏQ}9“ú2j•mè5ßÛðàÚÿÉï§à“Bú}ñP´ôRŽWË‘çäÙ2@µøá‘ãÏ+0ê“cU3oöS˜`)ù<Î’G“_%ÄÛ'ó$ã“’Ö¸Äúrx‹W=æùÇÕðêÅµBxo¶L#Ú.Hè…6„‰½
-�®½÷ãàžc^þáð‡ô{ 
-€>ò0oY)+€x++¬S2+ÐÄ.+Ï¿»mPdf@‚„©r
-Éã*×’2duãÕî3ŽkÝÚôýüNVïÍuÅ¼›$ÏEnC?G;ÇS¢Î¹¤‡þ‚ôB¶{ÿ†ý°T�d8ô±Ê’ôd’Ùx…“çÈ¯ÛxÎ¾¦~ï?I¿é1ÔŠ¡¬@ôŠYáô3[ÌsŒcVá{Vx"n¢.:ïxÝèïm­D.»îF�÷
Ù¹LüÀaž\-‚È/ltP8ø)Øüó}"ûsT½ïÈq=ùSM=Âà«¯™ýº/œ:f`œú,ãì­¦sÖ«zdÿ‹Øê…ß[÷ ,_*ïG4+¬2ÿà±Q“ŠZ°Þ-QöÃ /¤��Š°ŸâZÃÇžéÀ»¢Ü#ÒÁìu_ë×¼ºf^ÅPæ]�·.nNŽ©5­Ø¡—«·Ó¨ºe»�ÖVGæÏ!‚ìÌÖá�4(p>°Ø_¸?d…BVÈ#äŠy„ƒÖï¹“žðÛî;§ø©täè²y¾ˆVÝö¾ß |Ý!àjTq«ÃvÛ¡8b;zb3¾HYÞàB[‡·¶Ï§˜&ÿäË ò]Ã<Õg¾9zÛ !�»=}
-¢¤ö˜o­$myuU@ùX­ÞZüã9+rÈ
-2žWåã•½Ö�Óß£ww‰ÅBÄRÑÿ¬ºÒëqenÕ:¶#ë8éCO~Ö¯™±6éšãÞfô¿#Œ	"-tå,Ñútáu¸
-�5jS½kåæÜQWç{¦ÖðvóÑÌµ{g!nnGS”¢9…�ÿIvÄ<B¤ø»ÛÖ‘aV<ATV‚¸Ãû•:‡à²v÷/­ù>:ÛÓòjõÓ§iŽÕ±gÈfªOXQ£¬¡õYO­‰ÛÑÃ�ÉGS’wwíî+án>Ó¼ÞØ6eþÀJt<…
-
-Âåëy¾Aå�þ\ËD-ã¥ÛLç¥|Äà~áÿ�W¥
çU¹(eÅù	ýý‰ÄEºjhû©J´÷˜Ÿ—óµ7Ï¬æù‹AÂ“»¦�¾«ÖkëèÑ*Î�{·:/ßØ
ÓR"÷ÐWÐ.7º&_svÅÈ×ZþÂàA&Q»‹‡4ãÎ/©ˆTÀËB=ÎÆ7ZœëÓòá´UaþÔÚò«ÿOñ‡j|óª¼äó ˜�ólù¾ŒÝòrL\„t­>Š[||¡E�Zõ
-K�vfÜ8,õÔ¹¦WÌ8A2qßU¤{[Ê³Wiæ=‡­ïM.‹7@�ÍQis¦K$²WÌõÄÔl[|1õLìzb[àˆâL¼‰=/Žf<�f(÷_dÐ¦fÅv³ž•èöøŸ'R_TÝ2Â[rßö“ gÊÆœÔ^a1:)ñ«þ¸âçH÷w5º,—ÎçLOUød«VýÄ,’®øzP±×,B�LÖÂ[ø÷W¹ð#ÒËÇ}.ƒGo_è5¨âKN[‚5þxW/Ü‘_sÊŠ"õ»xGŽ“mƒž„ØrÚwíâ·üLéyC×æÀHm©<}t+¿.×É÷{•(™|ž7¸ò:µÕq,ö®Ý‚0<K¼ø©7¹lPér—7:æ€<Ia¯™°a¡•%`áv,Í'ÞA/ùÅCuM�öÏº³ÞÓN‰Í©rÿðÿûú2ß‚ù5—ÚyUrX˜¤“¶óÂ÷ë}®g&I•*}ñ�;w�,®ß»—4èu9[÷¶&úÓ�- ëOÈež�r€Eƒ,¤áåøøÀ—­cIa†‡Ìá‡ªj/÷›JzØ7ž¨¼Û5Y{×~U
-Ì±w0Ç~Åô¢›ÃsÛ0ÿRÈoÍsæ:ì$[¨1x™…èûÛÜt�<ñµëzM‚êßFNm*?Š[æBS¦x:”ªw]ŒMNžß^,¼mE=0³ýÓ‘ }³|ªìvk¥½ëÔÃsÜA3¦ß1[žeN›øm?ðætÂ²ÍxüíÑÙwOåDZº&ì‘Á©‘*g�ü®×œ×r�<³Nú6!QŒ´
º*Üùó¸¥JŸ‰´êaës[¾ä×Eâ™Ì}MDg‹«½}X/oßtè7ãJŸmÔJà-r,46'îÓ™ÐRz¤é®óëé
z¬a”ŽV”5V”nNW”1`rÇù�ÿ}�Ñœ•¾ÕNB[ÈžDòX;Òu	÷Õ^Joc³\—Õ¾1¾l”îâÔ¯s>ã½‘}õX-lŸûÖUs˜Áºäo’—Óò”~àõ
”×0‡¶VT¼@—%Ï—ëJá°°häºh>x—rH™r%<ç@/š/{¿hjó‡¼
uJ©þíu]»uN-Ñ­ÇÆCÃXÛX
ï.4‘R°�²´F·ƒs'É;’d¾d8ÅÕÅ£~*+{�éL‹ÏMz‹_4¸AÂÕ‚U“e½}ÛW£ö[±Gu[ÁdÎëô,ŠâL¢ßç÷“lÎÐñÍq3á\ÝüBÿ!oC›j¼/)MçuØ§O©æweÆ„jÇ�_7¬3}Éj¶‡/[�èžTJð�¤YuñÈ¯þaã}¤Ýñ0xlOcÎ¤óôÕY-÷eÁŒÑ<Ø|?3á«ÃÓ”›SL­¢äµBR$aj,	ò˜FÜ‘äCÜ[·qÏ{fdv+’¸—ÿòÿSd%B©‡ç…_²ƒp‘šS"ˆµm�ïÑ÷ùR@¢lIõ[ù{î†õ–�²Ú˜»×zËãúÊöûÕçÌ a÷¶™ÈŒ¾.WÖÂa#wÎêþôpy¾O’Ô æëIe¢Ù|²dbrRí�»œô†›_9Æikç¸nÞ
-óIµP£þ�•Œ¬•·sÿc�`45(û•¨]´Þ.
éõËË–ªŸ_®•ˆ¢óªòW[DØå¬4;´â
³X‘°ù"u™.ÖÚÒâ&Õ¿[ÖôÓ]†èp²”2|3ªñF¶éàÍ2DbŽA3Øný–±NCÈï1¬Ó\´Æžjàã<- þ‹T—i©Ÿç¤[OõZvOîïe)TÀå^`«‰1Mø ÓWÒñîÁY„Ä.Sëíå¥æ­’¾«õóŠn“Ê¢«žÔÙ93r¶øZ“õxéáÍ÷0Áö#*�&ÓÛc_nàcßÐ¶c–ÈãAÃ÷G‘º¯�,ÂFHX[Œ�gyù‡8Š„~Õé-å¯	ÓÅLÝ[t|»(@$ëƒÉëž»ªP(Ù&Wž?Çæ&«ïû´„2c¢3ßÀÀ™YW�_k½Ë|tÝ(S¨o¨óY4ñÖGtÆ�¸Œ~àñ ;ÆÃrµ9zÌxô6ÁõH¤÷ç‘¸A^£œTÑÞAQ,\Q(ö\-ÿàU&Ÿ¯5†g}=²Ç°E§
-Ço©9ê{âøú{Z#W¶ÈÛÁ}Âý ËÃ6žv73ôƒ¯k.±XøŒ¶›Ÿ‹7�ž&g¢†Þ¼Ó¬¨ãÐxY£øn£UFãSG3?@Ñ,X,Q‰‹D4Ÿº9è¤5.ýÀˆ²ä‡>¦9ÏùÜvë˜S³õQ_«ßÿ[Î3Yÿ8ñÙ—ú�6Zæa8—ê;æöº+e›¢•T×õP,®2™_j¿çöLgæsKÔ×Í#Þ]žOcáÜ’G	j¨ü¨»(A­S,›%¬ }äfÞ~µïsb™mŸðP•€ÞpQkÃ²Õ ÿ`ÅŠ˜÷Éúú~Ãíõ«Lyò+m	'ÓY!ÄKÍ]=åÍÜƒ/ëçlâ®v½}aÁcƒúÏîýé<íáDãÄÏðž¯Ç#žÝ£×ï€Gîq]Bæ§™�”Æ·àê•Ja¸4·�áò	ãÃêæ¸<[íûàÙ?Zš·úvt÷më€ýÁœ~q@=³ÂMºHÙ8#À™+�RªXÁÁC/øÒ5Åvîš] ñöFae7˜ÍÚ€4„ym²:]LLÐ‘Œû
-Ÿ·R¾.¶ÃÚcÁ,JVÛnÁ4ƒiÜw9£ØwjØßOÃE¿[<\ú�ŒˆzþÑ¬üÀ½þ-ä¤Èôú£ÞOÛºª<]^t­ âÛqÂn:3owRp�6Fy!\1nª	â�lôìÛÄƒ¿Î™ïïøâK#¨Ýiæ÷X1úû+`}bçý%o{aç#ô¸¹õ†WÅíÆÓê·o­î©5$»£WÀu2Iõ:Ù+up‘hwp†èþáÁ×H¹-�bÞ[ÖÕcñ$f~�Ó9ÿ½ç_¦½Q×ÏÇ2hú—9è¥,áàä;áat£ UÙ¡�Ô2è=p•¨ÐTÎå:”;]l|F;ßr4ëÈfsÛ!¸�Ø!(Ÿ'wÀé2lßó9o{–�vQªÐ-må«­e�ÿ4Í¶ZË±š¸É£RùZQ¼Ê9Ž‹\\}>AÛÛyh®…¾BÐâD64æ�÷ÉIÇÛŽàŒÚ ´Ñ¸
¼6ðì•§ß•*»¸CÆ‹B{þ!Ê­U}Öj>™õ ¹©DÃÑ?ëÆŽ�p�Îàq¯ûPÏ¯®÷÷£A-Â‚UM¶r
±&Éœ{àW­T/^÷T<º”3ÄFtÖ-}÷ pZ¸�OáÅãÈÚ�Š%Š¶TkÑŠ�K÷óT´Îí|rÚz¶ê$+îþÔƒRª½«ßJ
ê­*¦u‡•k•˜”ïÈ~U.ª>_Ò–½´ìyq©M*Eóæ EzŽ¯s–Û?HN3®‹Ù§\d­Míóï°Ã×_Û¢gP–(äóöpÄmFÅöf3l¹þ²7Ú¡³ÎmgíÛËníÒ´EëÚ8LÎ�ú°8Ój£êÀ¬âÍºSý÷«\|¿ÂR%³SØ¾=è°”Š¿k°M©YuÀˆÊá8GÁGÎÖËÂ?œâ˜ªpÆr]Ø£Ñæuh/NÅþcºbóAB˜.¹Qž73ƒ×Ù]v³ñàw�ŸšÙÓ¦]ªÓ��nkoõ°®^èÞºrÝA›ò¼ÿdJKT9iüÈB/µÏ�]
-£¶ð¾ðAßÎ‘–K¿¶ýß�´dðœÉ¡÷¿»móâ_ÒÌYyé‡ÖÃôÃ9QúiHQšÅÏOú�ÇõM³´1O³³K3íuJ3©õHó´ÈI³,y§Ÿ2
-¤Ÿ[Î1šéƒ?p^ôÇég±›¥Ÿ½C§ŸC•Me|yM	À´“YLbuYãòsX{×Üv3²ÕN´­ÿIúJAú1Ã<Â Î¹þþÎHúQúPŽ”ÿý­:I?“”ðæÓƒÞÒÏœ5ÓÏ©�µÓ8ÿB�s)ý8Q3•÷…nJ`4g:IÁÊ‘Jn¦²If\Ì&E¤w�5X´ßfÅÌ?å]§3(jå-%Ü›@'ìÒ@?êá?þ�Gæ„é·Eé/ýÒËÒïåYO¿Çê0ý®˜yú�¼vé—À¤ô;�õô;,xùw!NÍ$©˜Ìü}9)²çF¬V/^‚WÏAæoó´Ù¼é±Ä¾åLŽì`n‡¯<›
-‚�Ã�^óEÑëû£‘‡zi¦£ÞE’þÇüïëô[òð.í<Ú×0ÌT3@Ä;À\&0z¯3 ƒ	P–óiŸ-›I©íúqµï¾ßO°¾óV)rÚD#b¼u7jKg$ô&*þ‡ÇZ4{6L¡8>üˆ—¤›þi=Œ½I{½”ã¦õ‚¬âR-jì–^ã±£:£?¤ßC5È€™³=DYa0*eö5üçìŽÖ<+ûtJmO±~'nïfm G�æ†ÇÃ:
-"@ø¼bý¤ùªù'÷ÛñÇ‡ÊÀûà(æÉÀlêMžÂêuCŒÃkš./ø2ÑÝEõñvÖÍ(oûö¶’t¬}#=ý�…=ûÆ~ôËøPÄóZ´îï<¼î÷÷0‡Æï1Á£\œiq(ÞÖäBŸ¿Ÿ»?|ºšž¼{ç³¯€ékF6@W}´Kîb7oº•ÓuÖ²ˆ:uâ>±m0XØÛG‘±^T´ºì^}ƒ$2År½h\ÀVG¿–Z#�Ðë¸â)¦Ý�×ÿ!Ï+‹¸]òzdÁwž^ðïÁËÝßÁx:–oFî®ƒ·Bo½/
_3=¼¸‹7¤:t©íØLY/�üXÝ”‚žÜrSy«§–ù~>æ¨ùø]M“lfà8´6`xÔÉ)}Õ¡fúÒJ½!¨V‘eçAï™ñ=¿uñ;Ã�ð{{ØþKV˜¤qvÐ(ƒ6D9ƒûp?ƒ�;2Þþô’¢Mzä˜»ÕÕ†¶mÂ?ÃfçjÆÝ¾ndäÄ3ðëJyõÕ!–-j�Á­®•Ä[[ÕGîP­ê	þx®k‹GÃî3w‡9žïmÏ{ÞŽùUøù1ŸÃ\cI]Çi"g·ãD–f+üYÁ¯GËïî©Õ¬X:"éB×‰h°cQï¦ÐÇb”‘Õ¿”çæ˜:ïtå¾8kÔ½©«–gâ�çkí?š½}zßñ\áÞAîå[MýÖ_¼{
-o¦¨‚lZÓëÉEéëxÏò²ôM4y¢lRiªªõ‹ZùŒ.e2!ÎäNÎ+Ç"þð»;�šå•©Ô²Îšõ¬xw†1³�¬·\ºT-®¿éWÈ ´Ó¢or÷ŽIK·¾CkŠPfœkÂŠáuü¾fržAò$sÊrAÊZÒ¬^ýÝ
Û£ÉeÑž/.eïz<¯ûßÛ¹öÞ†§Vé]÷ëÖPðmŒüû€Øy�øC:û0ƒñ=�ÅM#]ŠÏ^ÄWü†Wºp�}•Âlâ¯NS[ìøÑ®‹[~ïí®gÏeb+ýžÜ¡õ)¹—Åæ�
×ûžëØ§x²�ZýÔš6;âžŽÄîb3‚®³|UæßˆøâÑKµÄ�CòwoÆ‹ûE8ò¿È ¡ššúÐï*c#
-÷jÑ+¥hätÊsç9^õR�º&ÕÇNÄ7ÖfW`ç‰ÂlÃ^*aG:ÙTôø]µ6>–xhÀ�ìÊ‰0ðëþÍ¢e}M.Ù!wù‡J	Í^‰É™ïëx§&Ð±h<z�ˆñÃŒ‰ÿ"ƒ®Qð»ßr^†’Æ±SòÊÅúËöÇKë™ÌBÃ˜ÁÏPÝRçâ-Ò»½ëÄ\bµr–çM9ˆÞØ8	œ½VxQh\
GÑ€½^°”%q:Þ®zœOÍÞ|ÐÔ7vX.»«½ù\s{zêk;[›f;fµvíZœC‘ÌËOþ�Á@-ÊïJŽ†Á8sÜáÕ¶ÐzÃ4	\Ò4ã»óîñ»GQÁ”wC.6Hôlm¥™è#ðV@–ç$ü{aI÷¢Ñ8èí–'.¸?—Ï¾A<à�ÆÍ]›*
¯LÎ˜ÞZÜmÃFå¾îÎñ&îv9rÞ�mÄÀ ~™ü!ƒ—Tò»*Vò7Â·Yê`›_43t
¡jËiÚ7‘©}®`bÖ.&Õœö/ž„ÓgÍå	ð�…‘»pÐMRþ�÷›v|ÛíjOƒñfºËô4'o,+¸°ZÍê&ÞR½Íèu"èì�mi<ÂeÒp­Œ¸êšÌRdM~Ä/“?dðKù$Ï’�b®Uy»–`,mã¾t�^ôï÷À³tÀ­XÒ+\éÌÈÕž8¬®0óý;;¶¶cÏ±ûæ	81ÇÛFÚò‡þ}sÚ”M:s›>=é"
Ûâz:ü}"uõ8¹£…uVKýz—Õp–5Ø+/kE²ŸsŸüY±ïcS-8.¼ž˜Ý³tíù0Ô6]¸ÝNö!?¦Ûà²’PÞ^zVØFÊjÄA <=V,p½ßÌ�a�:·I.�-7\e=•·êŠgöRÏ¶Ñ²6�…Uê‹æ¼2¤v:1›ûµÛq~¼÷�yWçGGéÎ�.”�•yQÂþ�™HLÛ~l¾L²]µ4ÚÝé÷Pôo
- ÕeiµÏçô»Ç° "è³ÎnÀ–ònéÐ˜�Ë]¯A2[4RXZa!¯1ÕX_–ë6x[4Ÿ¦AuÔûkÎVòr´Š3Äv¦É^œLÇAÊ�ž}�2ŠdäGø4É�8E§ã÷qü‡¬hOŠ^E}ë=þýulc.•lu‡mŒÛI’ù¼N—&û¶N}ý�òŸƒTá`¬Ö=<½ýxç�ƒÙ6¦zë
¾•öëbìsËú½%R]^”g‚Ù¸OÏ�’EÊ2’1)7[jüÀÄl�‰b‡¦'jP¼N´úž¨ù›ãr>èRí½+¿jÚ x^ÚÕW@f?ú$¢+rí|“ÖÐE8ù÷‹.¤íÍÝ*¿úGƒý4÷îj‹2|`’›Oy´Z?yÿò¤ü#uðŠüL<ÏOä5«ˆyá¨M–EÞ�T´0ÃÍRÁéš4Àëv•Âlæ~Æ˜Î:À˜n¥Œ1•E³7$ÏÄ‹‰ÛŠ:nX	Ì«½|iÍ¦cß§o\g3ö~vý9/¢Çá�'^s�]$pØÚnm7˜
z[lxÇè|pœ¯ÖÀŽ^tÖ7f–_öžæH JÒã‚Ó)uÇœÞÆÆ˜ðcíR{3©?>–ª³[÷Ö…$X…C¢=
-ÛÁ 3Þ6¥�1ÏF/µs~:yoù-7M¹rXÜO»Çó×�wfµgÉ>äwq²¼sq›j­ö|ÜGëŠX%¯&µœ÷Ûv*o¾{b�X|=D¬sØ)ãc(=Ç}>‹F:…s¼Î<JóéH(W„".šzr¶-tLí{ðÊÂ6zæù\ ×ú=ïWåŽu±ŸÄCÀ—1Çê•éñ°+o»Pä}f-òžC†`}½4˜þ²½1jˆ�gÓ¯',ó	Ë‹Æm
-ßc]!äÇƒÃS	afŒPaŒÐ›¡é|ØF/¥;�^Ê3ÅÌš�|‡l‘£�”Ûý‡øß×nG#“|‹�ºG«þ?+ô²ö®Ùçc“Ðxèù­mwÈ6¹l?“Žµ™jµd½z˜ÅåîŽ·(Q³É°‰“%k=�4Ì`‰Ë“×X<o°h6�Î¨TÀ5¿]<¿7`Ä&¢tŠ¢”o{„4W&‘ág8ß}*Ãù¢ÖúƒõvÁH_Ióà1¸TC…ÜI¾´ÕÜXLº�5šñi‡äífz±î+:¿–]bñ¡Ð	Pš¾Tƒ,gQÒLgc¬¿ÈÑy@/P¹M2È­OòÈ4ºäó!µX\¤CuôªÕñ"Ï+‡ÔçCËW]–7£d°:O‹ƒ¶iüá	ÈÁ[u-2úÿëóò)<û“ÂK †uãØÂÂËö»U÷ëúçºXöÚ&OÅ…¯:Ç—�Ÿ·—»Êe„ù¨ÁøËºÕÇïg·;ÂË&‚‚÷Ã)êôb¸¬‰»aÅ
-NSDµ=’ƒ=n�ƒúGîöíkŸê3ÃðÒgš¿÷ÂÄooÿÕËÿòÿSè«L|ßßÚ(V '‹¥m]‰OèæãsÚ4÷íÉ›ùåv\„Ìr1’x9¥6U�¬uÛêÄ‰K/,*<’ñ'
-¨¢‚¤^ƒ§N÷Í—çÈýÝöJõ;­t×ó²™”ã>{G‰{}Â¨öúä
-ïFp›ïòûë³‹TÒ¤“‡RøƒÚ½1Émà™l,ªŸsÐædïØž‰úÌàþQZ7áÙ�KóY‡¦ÎÚµ†JnŒÝ(½W;Odá‚�=PÓþ>ã W8Ôºï™ØéŠ­7ÖE½î²“Y¶s™|”Î…8z‚¡ö÷qüÀíëß¶‰oª¶ÁM7hÝa4ýÃÿöø«È�Z\/·IÂ>ÇÄkwÚ´Uz%Naî§êZâ[#F×p=>¹:1pœuÞ^úž¿?õxqqïŽW„Õ™lQ¿­¼fY{z¹–[*`·[j
ÅZ”%,[e±,4�9¯7×�vÖ¬ùz«±%—‹F3©+uw1sê»ï:üCÞ[NC”ë{
-:‰úãËé¤îùËå¹¡ÞGeÉ.¶ülfÑÛÉëÁçuZô	dµh�ú}OD:×ÖaÒµ`Û.†©Ðª$ïk³QIõ³Ýú+é&õƒz€àZX¹6jC.Eª1B,ª'Øå«£eT²CœU&…M«ØÃUYa‚kyÚX�Íæ©x¡&$@¯qvðë]o;«Úª›·Ò9(Ù¿ÏŒ0
-@�³{gŽèÉï³£;Ò‘Ój¯¥÷ðqÓª¾è†‹¼¹z>ã8×„†¦TÏã»V‘‰«U)Ø¯°{¯¬´ ª¥b½TmBn4Aû›IC]†�Á íç³�õg8�“>8¸®æ¸®Ó¢Xgàèv„ˆ!šóçêÕG”ùu×â	§7d°ñ`µDäLöYñ=î¯F¿i>øv£3v†õÁ~DþÀÕÔ\Ò•¯Cî* ?dËÅwC,š—ì3ÓçêU¤Çï®UH}Éð�÷ðá´þ»þ9ù]°Ý8Z¹å°¯œ(ûƒ˜éI>»`­F”ì°žé®í‘¤R8¹?“�wÄÆ¬D#†QýÁ	Ä;d‹DšôCéÖBnTÏ£I¿BdÇq¹!hi‰ÂH±þµFÐëÁŽAnMà…Q»Nx¿8ÿ]ƒíÛœ›�Z~äìò †…BßÉ£­Ns»[üCšµ#5Ív°–fóä‘¦úùš¦Rd¦©A½Ó”UÁ4¥kÍ8MÉ
’ãÍÒt:dr|šn‚üŸ--gf§éMÒÔŠÒ4µë…4}/*éEÜ7S|$÷’oæcÉÕ@Ö	T?
-ñœÑïïåÑ±"3Šýˆ�øŽh‡vú|ÿÿKš�jzú�ÆFš9µ<ä‘Ëã¦^9Î7Í�Jšuw½4«xxšUGëœË1Íú ”ƒåï˜vŠ[òïê(°5Þ‰’_¨„Ì@0�ôn9~¬°FLõ÷ý¸“·.Âëw5S´™oánû°OÓÃàxˆ?A¿çü'é§15Ó½2~×“É‰š¿æ­ôÃIúÙL‹égúh§´Š¥Ÿ½H?Eû�Nð@H”¨®$0ÚÕbµ¸pbê%qùp‹ßî~ß5å½kV½m[õfÔ|¡ýÐ½¿{G÷¸O‡ÝB_Eêá£Õ�ã�ùGêaˆ¾>‰
-¾ˆ…ð—ôÃíò@ƒ£–~¾¼š~—U?ý^N…ô{ˆéwÒ¦ßÚaš‚Enõ'ÅêõWššø®w59²¾_-jm*vøjv½°{F£ ÀfYÀU8(˜×Šÿæ^M_DÀ��&ƒ‰wYl×^ñ…Ù,«î¼ÛñíJ}�*´€mšêæíÅ²õ/ø‡ô[QŒô»÷rÔÌÈ€­–dÀ½]ÊñÐË€ÑOæ[fö¦7½eÔîö˜°7ñÁp<:û¢Aßý{}z—÷Õñð{ýÀ0O“éCÀbÛ%÷A�
—=GŸ_1gÕWNÕ_‹–#æ[OºfhÙ€‰´Ì¢k"lŒ«sèé÷›Ð*i`qÎïz2KYÁ°ù«ï06
-K4ÚñÀ$à×ÒÔ·¥µW((ûÜzŠ.u¯ŽQ€4ge
Ûj
={ó"ß–Û#3k¡§?å«O¶ùì˜Ñ>™B¯Gå¹XÂ3Gƒßª^0¿�6k¶ªº¨ÕE(=ŒõþCc5¯Åh®e…fà)…2PÅšIåþî†A%îøg–¼fÕdä–ÝÏì¶-¥°¶ö{øøô¿ýËs@"7Sp¦†‘v¦¶qö7�þ%Ž‰~oœ«%í^òZ‘…ª6˜LÕŠxÚ=Ö@¹3`Ï»½æ+àÖÕwe…+ôKÊàV+æcåoñ/y=’zVÐm#c+Î ~[J£y«KÍÇw»²»¬
-e›©ÌºOnŒâæ,ô¯7ØédŸ´9ŠIª¦-êr¹7æ“ÍÇ—Í«ï»�¨Ù�9ÐíõM«·ƒÒê*!Œa
-§ÞèkÜ«]®#~çÊøþô‘®�Q‘HN®HP>Tü!+¬.z^‹˜�AÏñ'ƒ—Q>ë‹7_¢Œ/Å¯«ßâØòÔhŽ²WC'_¢ê9}<±9}wÈùáÞ~Ð§Û±#Þ”�5…hö55ïz±œ KëFIÎÇð–¤0‡‘yæò¾<Ø�x)ƒ†s®f~vÚÅò©	‚UÑ¹½ÿ’²—–A¤ñÊc<}“õ”¢Áè–xp<wíýïÉdØ°öÑÔ-W}l wóë
-–_^?R×“uÜÊŸÖ‰“'å")áã&MyÏ¸<Ï¾P 8Õjv^=ÇðÉjRõÓÆ•†¢Û
gâ.$9ÁŸ¦Ð¿´R^æeQ–5.A†Õø�ÿ}��»ºñ»|¤ü”é¤b¹õãñb¿Zý‹™žk¦^ô¬÷£õlC·ûh_±I‘n{—¼¨´±º”w^w"ñd±‰|j¾?Ñ=•Í<é|j/Á—Ç±0gÝ…*�–Ô.—e‚Ãê«=ûq�%:Ë„-øzéxc½ÆqVWjÈïÊÅï“üTùåÒ#G¶{³Éù~Žh7Ÿî�òãáÌÖÞmxz¯@iZ•Š®Û;¯ãvj­+3±Ë7«�ü»V9ñ‚5P¸´…jÜùµpØoo°r(X1ó@ÒbçXÄQü j>ƒ=TÐæ}o¤J´¯ãŸâ¾>é7vv¡VÿCÑ†›Á©žz÷£:mÉQžãjùdL;{N}êØõÞ_œ«dØ™Dõ‘ò™þÞÚâA.þþ¢Á°eN¹T¡—–,–F,rËóqÓ·ƒ6>‡ÅçêîMÂŒ÷4€;›j7vL™Aw-9X3ˆ�˜î#	¶Ábo¹ŠPÿÃÏÿþ4ƒBØOêÓÉûU/HÊïÏ�5£Žþ}RÎdjÊðý�-EÚ7øØJþœc,„A³c©î¬Õ’²ßÓ‰ßÙÂé²cPýžç/¯‹ód(åÖþl¹Ù¦ºykJ#®ª�ZÜ‰¾0�ÆÛ×�wÀzNñ/ÜCÂh`/ÇÙµÕçXÛ)ººóÏj«Tù=?YØ‹ÜìˆêÅÈæþi¿¿‚0žU8¹hwX8ûaUW&û†4™ïÚÛÍôÉnË]#~;œ–¯QmjtVA\úbîhÜŠë«w×Pw:]Í9‡û�W%„±W%´øÍ¡«K-]Öþ�Á—cìƒîU·=¿¤šD•R´µ¬žïA/=*Ø•<HAÞÎL­íŠ\ÅËxŒÙ~mŒE#ÏÅöÍùqÌ7b;üž©ÍÈ™Ñ4nök¥Ž�Ö3»­mÁZ•ŽF´\F)¸xŽºÍ�	åðžbÞŠAí 2ÍÑK9aõ¿Ï&üÞœ%ìbXiÆŒŸÞT¦~»ÜÄ©}¼‚h{¡ç�t:�%Œ†Ò›#ë(O—/µýö
-t_¢�-¢º8-ÅÄt=]}—«RzÙ,«á�]lñòSÎYÓ¨öõæžÒýÌû0]�ñm8CªØf+É}[J<�í24CêÓÊÒ
-.¥¯|"d<“[¬é‹¹=ŒpQ.êý(ižžÏ”ÎíÃó$UÇàjå³¥Qá{hÀËÒ®û[[±0ÐßŠ1^Ã~…X®‹âœr‘Æjî—ãÝ,ª‡Â™gÊôdTŸÓñzù&%ûQ$'»j�P|nAL9TÎs1%,‡9ûYè¹å?¼÷Ÿ$p›
Æ4eí¡j4Ö¼Ý‡ÇÙùªt¯ì…ŽŽK1ä7ŸüƒƒüÉëXÕ¢tß>/afÈxõ
Žv:?ðúNßÐ¥9qê�ä,òujzž¯6$Qè‰Ûlr!`m§MÔ¥ãOµ>8)[R_·KS¼¦ßE|]f_øºRøâÆbVúC€×*¿OuNôÓ¸÷MeÌÚý6.™"ì¹S¤–ÂIÍ{©4QŽF½ií]Àx3a0*l2ýQ¡¡K³µªîØÁ¢�¾Ðù°9œL±7?%îµÚr²P£ž7áÆëÓæ³á�‹mUïƒµÓÆøÕ‹‰ñ>ùñÞÆœñþ~Ks¾ð¼ü¶,aÝ3uM‘ôGïý¹+“-&I«˜ãEè/ù‚ìÒyÆWö’ó¡™ZÚ®Ÿl½íyØýÐ·šRZ@¹¾pümwj2•°Æ˜x”6“I-P˜X›ñËQÙña_Ç=lc�‚¯—ŽB€ª�8%ÆFÃÙ…
GD^cèÛ;Çè[ ?¼VØË~bbÉüß$ yNw�‰ë¥U^òü'�—ì‚YÌ­í–Ýq{Û¦ØÌÙ€£ï{]im€e«ñ©PùÐ˜g|³qhöÉ©Ù@&+éˆa»ý‡i•ÏŒ¢Ãéö¥å‰Æa)FOü±Œž„ö£¯=’yk‘Vj„L
-ïÂ—Ôô€ç¬v*+CùH¾*WpT9qà�çŠ¬±80ý"±VÁíör®Ÿ7TÔ×Ë‰é/œÌ(nìÃ³K­’÷¦Öž˜Pc€¹ÑzÍÉmÂzÞ÷÷(ÖÝå#r^dò–"+a	‘o!F-)x†6¼­áp8}7¿°Þåƒ£/ŸÎóå5¡€ýH—Àì!ŽÚUž­üõnxÖ&[àÄä™8MÕ¯ìºêi·å®u°)¾Y
gRýô!µ:<yVÄÞWÛã!Ê÷Ñ4œŒ‘o2™!×3¿EHÌè=r´`x¿µÁ»?œÏ÷›añS»–õ¾û*w*ýƒùµqGu’§};?¦–¬	‘y>$Ý¯ôáà0½-4˜ÉÚ(„£¥;)Ñ¶ØæÉ¦ô˜M|Ç!)oN6®Ÿa~ƒ�à1².UQISZˆ¢ðC†bH-œÕ°\m°9Üu ?¿Î`µ]dƒSl
jmcÑÊãK38Y=‡Q¢?%©í>ÝUÈÎ*ÿ.Ò¦ø±OH·®re$÷}ÉØn`Gœ.`5œŸ¿}|F8›í´ÈîNÄ:ßñò±°A>Ÿ�?hŠ‚hXª¡Tä¹PsPÇ”Aßúfd«ŒèMü�û­mWï½ŠBØ{••Þ^�&½.qä»¾ýT»ì(~ýAug%ïv><Y'(ïÒ9Â/A&+úq»ðÎÌÙRwks|¥¨Q“BÉ¥D´~à	óZàø�iŒ‡Ua”ÑÛ+ªt0)mSwðìiQŸI¸¬çaR±×»ê�n8…†9ô¬ËÃö®;Ôr'^ÞìÎ©6:#+tFwe×ÎÚ±œw«�ñÿSüËý��íôPÚ¼�ÑIà�ÓÚ©±8GÚBEã¸ôâr¦`Óñd' �Ñ‡ZÖÑx#ê<X�Upl[Ú©ß	Å[7:/óOé$WÒí`·?Žµå=Ôh]iX°hƒÆµnŠ¡¶f³IÜT5¿Ù\LøE³l…|Ã˜Wï9�Ç¿Ü€M)–W~Þ;¥],�•›÷ó±SgpcsY7ÜÁŽOÚYÛF˜°¬w
lTû½|¦ÓÑT«“
¼Œ½E›”ã]kî§¦Þ))Í¥?z6ž66 öm4œv£îìh}‡ýþ*S½ýÝŸkGòcWC•…«üaEVÀ;Vâ- ýáJ¹í�Ô¢�¯xÙvÞì³Üuv'ºÓ«C".ñ¾™.º�ÎZêh>^ÝsÉj?pwtàu”Áº{ àZœ[µÁÔB«ïbaVEým%ím„ÊxÞ+˜ÕpË×™–‰Ô©•î«Zš×îtQ»2lJ‚7êXb˜dµ>”µü	ÿÿSüƒdWú…ÓÛS>|‰3Â=àÌ
u§äe?gÅVc5éMbtUPdØçíîéÌW[j;‚­Ö¢P}“É§"M…FHÜayŠE“Eúy?VÔ	
?ƒÂrâòêPì³G¿€Ü]8—û]`l<æÀØ$E`|Mm`¬ˆ 0¾­±?œƒ¸
-ù(�¼wÑÝN}ï±ê6�S>¾Ük3y9Òb,e|¸!ÌA7AÂfŽÇÕFk{†«o¥U(_�sVR+­RÑ¬°-˜�öèPÞŽA®>›Po0ðFçÈ<€ƒå{ï8TƒWG!°d´0×¾Ø³L3²?ˆÀíø=:ŸuÀL’¼Q¼
-5yN–¾,Ñ¦3:¿3áÙpcGÝÄöZ´iÔ_‚U®Ž6è.Cìí?¥V¹:‚�d—o‹+é/xoTÉaZ96
-àýÊ4gËäDgPÏœìw�™o8Òø]°×˜‹×ùý.y‘¦Ç™�¦ÒŒOÓIë˜3`s~×m	ø™³{ç|ŠiJRíœç8M§
*‡þ]µ½ço›¾/i:«ÜÒK±«§˜†ZÉµ:pâI?p|oq<s×ß·ÖåJïEðêD&RÁ£u²ßFõ³{Šê—¾ÚøÔ±þ‹4Í„sš•Ø<Vû
³uÈa¥œ�ù»žL¬¢œÊc7s£<²Ò<g¾M/ðá˜|!!Læ”€´ø{ òõÏÍxkÍz/ü—™ƒà­ãÚãa5Ü~ÄaØº‚yÌä"Ï’‚îƒ•ý€Ê{(®|Vý�/hH3ÆºäÈ|šµû4›[yÜTSM³ñî•få¼NÓ –×§¹i§RA’ëX™$ á-âù ÛþÀoÍ©ßÕq[ŒÌÏHŠh™¼E
b™WÑ›~†ŒÈ¹a{t�‚WA�(Uü\üa>bx#<¾¤:q}âÖp•ùÚt¡lf:	5þåw=üœÓO=ÒÌ¾Ó·¹ÿn]vÓÏ¦‘¤dSL%Uj$P¼êÄ%…¼«ïÍ$jd›y¸[�èÀ/<ÁÑÊD?jÅŸ÷ ÅGŽUÕKú½§wŠð×üúÌèø%%à5ÑâÚ«°!î4º¯œ²öâíu¿r·¶Û�ýtÓŠýÜïßÏg·kÿò¸úRú1;Bú­¬Îé÷R}¦_�ùÝü,¤àTù]«§õ¨5(·ß+ôý(‚Ç>š§>¶ì¯^r8Ù½eÇ¹wxwrgêéêh]éá,Ýp*\èÚ&Ev]íS¡ªV+p�çi/Mn±ŒÉ©?°~y\§8Gû~æ¶v•GÖ¿äáMóð°1›-àš·«›öoÃÉJÐ»AwÀ ,¨°—ÛÊëªnÛîÝd‡ŽËûY¾Qvcmäs~‹y»{«-&üóXúœŸ=£|3ùAS7‡ï±cœæThŒKüG—VFYŸš}Mw”úÐþ¡[ÙãQkWÝûfé9÷fU·oÎSú?¤ßóQü=º©°Yar×³‚1ð³‚/|Þ[øÈQŠ_ŠRH]6{ÃÕ§_ºf„~ÇF‚§¤1¶*+]nU¶ú$E9í†£'mÌ®ªºY«ê¢)XcÎGäÇºk%wKáûv:ëÞ\õFÞºÕòQ4‘ÛUØ¯91W>ÓÍ¿dòò—RŽÏ|¨aR±‰0xÓUç5[$¦mÉ‹|Ö÷d�ƒÔ8kÕ¢Nð�–6;·‡êÂNfc4ÔOóÍ}ûYî-™áo�9ßº÷ËM	ÛP^à^ßl1¾¢ï(§â¡)cY€KWÛKàý|»ÌK–“gâÚÊðÏ‹õþ�QIÈÀöû–AÐÙN–þÖŽáE÷ Z_²íÇB2ÅKjê$v‰Ô%µ�ú´v{yãî­7ÙŒ•álE^ã"¿ü�¯£%¿‘/ÏÓAÆ7A�ð*‘çX• ¼d]æJ;¸”¦+à¼T¥Ú¹º,�NtÈ1¢ƒ¤7Áë~-áÖ¡ÇƒÉ
-«ååw•Qÿ�“Uy¦ãŽ#¸ÕdKÛ	®ÌØzó:Ü¼ª�Í®çÝŽ3'»ÆÊ¹$gg¶)Wv M¡3vyìŒù¥ä«³ÎF»sõ±§ç©p:5>°":rß;u*¿ú‚gK¡ßvË|è#�”5wÚ•$nÜYÚ¬ÄBv2XæÔÉà_þUÒ†"Ó‘äÖžÉÞòM‚~"ž¶ÐgUæðØr¤rÔâßsz?
-õ–¦A¼”ç¯ê¹¶zuNë�Šn+%ÄÎáK	Ç¤…¾Pßó|Úâyä‚É\‚o5n¬û™º	;Ñ@˜-,×ýãôé/jkz9Pšò<”—qøï�ªý!¿%Q5Y�÷æK�ox{ŸDGó2®Ðú½EÎÔuÒÞÞ8ªt¹âÅ‡!÷Mÿ¼Õ�èZó¢À.Û
>RÚ}.Q«#îŒµ‰<ßÿ\{V&É-[x�‡ã�:œŽ°!ÞêÚÎC±ÓpoìFà¾æsí�ÅUf»f|>1î¹üdöØ$d:ßqÄt‚~ø/Ô`�¨Ðîn}5òöòþZ¬­‹[õ	´g÷ƒì¬®Ùä)Hóçêq¦¯ðK<¬ö	ÿ>@îéU–`WÍãí½‹íÕø°8n¦‡Jí¸Ü¯·<³¯·t~·=8Ò®5©Ìþ6ò`¦‹2ß-{y6¶ƒ	Nl„[ lÐùÌÌ1B:-ï?dçÚ~AÏN»@�L<>³š~û2�\š+§5“§èæx©ÁÈUôînžïóñ9œ{}�wyZ<,Û…Úž¬öÎFŒá®u¶pf3¦ËEô–�?‡íàÜ<o„ïø±A¯G—Î¿_ºþ.àêúZá±5¸©sL}uoýœÁûþ§ø—ß•e×+bÉ
-ÑÉÙ˜R§þ?¶îsMU¥kõôA bŽäŒHAÁœ3êùØk?»×µ®÷Ï]ítÎi	]UcKÐ�Gsv£qÊÚÎ_Ukæø@—ý‘ûš-�`Ñ:ÚIß{ZU¯ô÷À¬lZ®a\Ö¬ß“
-þêÄ»Èj>W5&O›ê´'¸*_šDJ¬l·Jq—»Ër›.É•Ó—4´Û—4¬4Ï0ORýáÝþÃcólŽ•ønÆrg²ÏÃ,æO  6£‰zC0zÒ;kÞP={.]3’¡äwÖªìÜúûããeÚøÔZ±ª½Èu–ÇÔ,X-{„Ò“µ®¼ØXª\mú–´>\©—¢éYÔ×;>�|Ïò‹ˆp&špÍugûƒpÍ—n_®Ü�Åe~h´OÓu°)Oµ;çÄ¨>íOÃû^òW‡99†Ä‰<"¼ÉÐáfRdKÎ';ûƒ“ÏæY¾>
| ä´ ¾”ÔÂ–©ÊKúÕ”6Ø÷�ˆÛÃe¯gÝO†p¥WpÞdÜ}pÖ¡KÆ»7ÿ™6Ï„;‘*ó€ªÈ–ýòå{åÉoóËù}à£ßO<V³Æ{27bi4#N?^cqb\Äè>zÎg)†Å#Xõd½èCy0FÑò¦½/Ô[í¾Y96ÊâþáÖzö�êdù‹Û+cÝ±rükÛTx¶ÅÚ<p‡\>m¸Â�LÙÄˆjlé„ñlé\³b'\e¼Ol2¨]þ8çif¶½ÎÆÓå|üô«D�"â[?` +®4†áúq‘Æ·ºa­?¯<;3+µ7:ýÎjÜh>åuÎËI­*ö�·˜…7­g“g£Ìu'Å&ŸQ�-ó«>³Ë¦&±Kz[Yfã…Ö7H™nêW–n
-¾K7{­­Ç£cFxúãT¼ðÉæÙr£Åê}ðcÇ&¼éôcY~ÃÈ•w®ãÜQYP¹VýÆbhºu9Ô_J5‹`µí¹_»K¦0x÷ìQè¦[âóð¼ÆJÑbT¾…ÓUÉ:’E¢Ô!œ¹Ô@kÎ)¨á^Èó¡\$‡ƒ„$‡²f“C&MÈ!KïÉ!B~ù›Ã¦'ë�Q¢ùNÝ3ïÖòÂD3íñÉGD—Í}p{õ�Aßé	æ­,›ÕÃÆZ½e9íï¤½ý<‹ðB}
-äøð¼‰ØE4¯0õÑü©c¿ˆ�—a…%�:-“è}6$îãò,c|"<ºV ˆÏ'ˆ«eá©~‰ðThm3ˆÃû~ö¿Ÿw$–Q`@“@ó¶ç^›R¶¾$éh mÞúÆ óUU›)W-Ï—S¹™°+Ñ¾�Âø*ÜøhµHÙåÉ1�ç¼DÙ
¢FºåD<T‚"È�!eÜ,üÕ§¦x@mx±Àˆ3—‚ºo`Q1?Åx¿µÂxÝþñûÁÌ²r âØmÏ¦Óî¢îûÍ39Ñ`N²¶®…™·{ÒÒ?ˆ‹jÂ"é)ëfÔ—[N"Ï�$/“ã|ÓÍƒè‰«äã;c ð‹:¶ß«‚Zq-<¬«8ÎîVžë—Í×Çf°ÉðÞX÷JÂ¨ßUt^¤}T´¤Z†Õõ?àúSÜÿïƒ{6%¦Ž‡qÁvfïƒ4<-Bÿdëžºðs
yw(S’5Å‘¡àÏžGÆœ«|*ÙBDNÏ”C4î$q9}ðOâùá÷óJ,F(&<j<V+º öº {+Tº¬ïhÅÕšhe”å2êbà!u&œÁÛëdþÇª¸/¤Q›G¹Û,	êQ+¥þÉÊèJî;‡ÊÆKÉè¶åö~Xé=b®-öˆëF³•Î—cÈêt+ Oñ1¡ðœ¶!^~û„GØõ�õÞÉ]f	­zç&ZS$²#	Ñ+¥!Ò˜ÊÒˆògxß�~¿¿¿'Tn[+:ç²¢Ûì�Ecn¯fª¼Âj9±ÆŸÈ�^7CkßÉÆkj1j­¥Ã½'GWº`ä9•>"¬ÑÍóÌ@*jÔm·f£r¢8"w$cl®kT-'{Ä¨G7ø`.ßð VàÎ™…26”EK:4Ä¼	„<+ÛÎm²ÈwnÖ€ìŒ€›ÑÁGåQûÙ'$ÈTÏÖ—ˆ;#Û@;6Þc¸‹œÒ3r;Tõ6íÊßÆ„ð®6ØÍä©{°Ét×€‰Ï‹a‰BŽQ°…_í£ÿÈÂàì-Ãp~œ@N/ÚuîËå¥ã
kÙxé�¨Xm§÷%ÚöÇ
¡ÍPžÝfhhÞš:“{‹Ç%¨•Ÿo{Í˜Éõ›1\þ1óî!\Öñƒßanû¯cÛ¨#s2Z¥‹zuÉ°[*I-úŠa Ñ-’)ª‹gé;µ|zPt}S\ç™G¤ö»Ô1Û¬‚�ZÑ–
[ÝÑxÕ‰ë¥™¼ÚŸ¦Øµf™}‘
%&åF­·×õw¨7µJvökûÇ�®õû[¥ÖÏÆÓ¤ìž=/ãÛæ}ræ§Å|pÑ–¾‘Og–ÒV}¹DŠÝ�Z-ò]®±ZT}A#³ynÅàìÒ\@÷\³µ²ñÒÐ@®ï$�®›ÐDª�¹Y³°·W½Ì‘¸êHý}«\ßÏ¥ê_fq˜ß6Ë0�K¼À½K|»ˆ–ø’Ñ+åCù#TÂäîC¤ýÈò—)=?Ù»ítiúïþ?EåÞë|­÷$hüriá’°/Â—ÎéÕæ«ïKcS1ŽÕkpÙ•ƒ…µ/u#çVœƒË\Qœ¿ªà
-nÃ`Íå™ÂŸª£XÌ¢ñBs¡.òƒêêš;­RnØšÀÍnê~"€È[Y&üh´3dâÿp_¦¿—§vªú¿¢²|‰Ï¶¥ò+¾ËÒ·T@	a%7~@Äê*` íW³z8ßjvBŸÊocº-Î#xUh©ã$wÙ�ö9¬ô¸ûzd)g@bp ù��º´H#÷ÈÑ¬
�›=á½<€Lü,È9–ËðêŒïËñË-i³Ëàê[+]ôØ@ºiÅAw>IŒ“;ÓD<¾ÀÈ	¾Ö:l#WhÖˆfZbá½ü©WÎÅììfçµÊa¤’ÍüE.75.ª�=Jìç3N
€’0"#–Ê—|€:5Oõ:”ºlS]i˜
-"€†¡C†tûcT°Êë´ýì�Yùš½Š|ž�F‚0ëé,ô¦º$	$Ú~‘íNðÑ«M™j¨v{•§w/Êòîœ?Aíð0£ì½ì%@=Ú'€^/R€žNŸíø_€v™VFœÍÉ=C5€¾½#€©'7€ÁôÀà%î»-ø»ÇöÑŠÿHS¶ÞÏ(yíûðûÓÐKS.7ÏÐOO My¶–!ßêh·Àe0rJÏyãÉ­±Á#n`Î£Ø‡½û¢C÷Ê‹nk”™ßÔ»¼¹Õ=ë˜±~\w�¿o¾um…köÚšÒýŒpr9òçärì‚ë‹Ux®~«£‡åßîéiÊÜ•/rö°’=dU'ã–½
®{ÈØ¿²>"åŒ1”ÒIB>¹UÂ=âúR¼/Ú�r¯Ø�qSoãÁuG¸ÙÌmùöèrdÆ~Æ>¾XÀcu�f¥Ãù"0Ï³SJgtY@NwEëe\¬“W¯L2èÙ‰ØAÑÑo}Â?ÒtÙÊúå§RÖÍE÷Ûkõ{ÄXî[`Þ~ëàßò3÷½U8_ŸÜòYyÛwû.ßèm�ä¨ër×Öä&\Ÿ›|¾ðgíŒ&ótoöÉ«ä¼±®…ÇT£G¿Ñ?>ý$ýŸR;L¡€<pW@>ä]ÌÚ'
g'½öH_¤`¤¯v+ëè«ØK_æ<û³qÙO_$IÓ³¾N{ìùQ•o7
.®&^/eçå8AçË´Õ9;<�Ÿ<¢ŽéªÅ™|‘?L{EñÀ—êê!¿DûûXÜ}…»Åh¾ÜÉdî¼]/¥ÂV³ŸÈf_ÅõÉŒ¬5ü
-†«ërì¬\¥Ÿ�—ßæ—ôµhé+&„ô�Îµô½V&Ëyúv^»Gr÷7½{;\NÓùõüÝô¢Ð¸pdÉ¸rˆ‚uëævÈ^vÄ¾\¼³;…ÙñÛÍæ(þ€[]Oµm“¨[›C‘o:²­Ïð|»Ff¹Çê&¨•åÓ?“‹pÖÌ¦Õ–èÌgGÑ›5Jæ×²ûGúVWYçÔŸ~º�~¯0ýÉì7ù±7›ë±ú\ž	Œ[9®µ?Kõënu«¿·Û´
nŽU¸¶�\¦³vÀ¶Fç&½ò §»".¾´ôùX_2…�µ˜ŠÇÑ‚‡*³yì@ëy�Ý“ErÿÞk 
-	xÜàCef&g':•ãÈZÍ½æ†£?Ò÷û,§Ÿ	¢¼€QÁ}73z&™\O½fxò×�(Þ¼`»ÛÈó
,i‡56�¦ËW?Èÿ€Kæ½©-ºùe{QØ=°¹Ø~PÉ2øDáJbRË·µXïµûq³ÝÍú¶Î:H¼Š²Av‰�NÝå
Ç»¼¼Û¨°6=	r4ñ£[eüËøÛ|û¨¾€èa½rŠ9~Î
Ù¿DÛ9ÔÜ+©mlpWã�,f¥Ón.å^÷D-å€Ø@ÀÒì0*×g�¢ó‚""´J1ÓÛF¦#½¯ü€áóÐ7ÂÉ$q‚÷gãaTXy>ù³ù8çr5‹tY¯Óá¸íBo{‰Ïp¼‘­§�ùÊÙ¦÷”F½Ñ…­¤ƒ¤òø^9žÐpƒB›Þ2<ö\ZêQlñõr;§�S¯)±&ò¡�IÕà3V[Á”"A>~Ì…¬_ŒÃÞdÑÛj¹“³Çëay<ÖP6ñv^ÿà™äõ3:†T;‹.àü²ç:b–JÜWpèÜÃöÔñ¸RøÇ+—k¿åÐàBæAíP¥R~{j“ä]d9Mô,{nSæÌ:¼ý©·ç!£÷A¡­Þü^àg±åd™‹K“ª°¨�µÅ¢3nÈGÌ37ÚkëŸîÈ:æåì£}×è‘‹EÃ™óèv¹¨½†/yÒ2³oGÅ®mó‹ ´r0³@ŸþñÝ�8ãûÎ‚GÇÞu¤lÏù£°¦F%jM»Y.žé™½y«SÊ™�‚®ÊÍ&Ë ¿ëøñìõéÝstš^s#¤ð(»®øj¸x¥
-;c­Š;Tf†AëeÙ+Û‘õ!pö†v]d]yä×–HÑ«ôÞÕ
-OsýM2³ú:õú�÷;úßCž_uÄÜo›}C�i)ø%v^/×àÙÙ±pJÓ1(–9k’-Ÿßï›ø‹2å÷Î“jßjØx
ƒ{§0Ì‘HÅîxÓÙ.b‰3‘´Ê‚ÍVÅDÔä½ÕßÖ
-“~ÓÀ–æ¡å]ÍŽ
”�3âÑ? �Ÿ¾~kÓ~Æ ÖÝ“4û#�ÅÖìÔ%;ƒ
ŒÕ÷ºóõôÅÅZF§i—†‚˜º­^7<«ºóÜÑ…™9´XØs·ädƒÇqÁZå�ò¨ TÔæÃjß¨ŒÚýæzŽ™ƒÆŠ6;û§h!Ð0�åé#L�uüq:k)hÔçDªïH6Õ°»Töy‰¿Ìþx4Z–ÿËvÍÚÜ�AÙ›­Õ¤_xu£ñÆB^*¶ü*Ud¼Së®º�¦ï8‡v/Ì­ŠÅîú;0wî·¨çÓ„Ð]–†šÐ@Û—š>²ï�@+„6ñZ|–½Ò¤ ªa0tÔ|n)³¸vPŠ%#'ÏWeT–ÔD—+�ê8CNäJ�ŸýqÅÆçP¯5‡k?ú‹êÑWc¤“%¬luŽúKtZ÷k1‘�JW^ËN@÷úvÒ~�­ª`Ïú¦®Lè=?èÎ¸éD€¦šŸÃrê‡€Ë*çcM%‹Í¥Ø•yú²\‘v–¤®?�T×…­hæo±eqPïˆä²è¢7¸)^Ær–±ùç×9q÷­YÇ]En0o2ž6ÃÃ�vÝ6Ñ{VÕC
u)×†]3,EÙ»ý½/†&œÜæº·6Ãæ�? Ê7W¥WqRY.(9i-ê©¾²ÛâN]’bkwzV§`ô 3?Ô_uïÞçÑõ(¯Õ%>´”qp»$Ð™v‰k'úãœã¢Ñö2;Ùú’„´•t"S‹èú²”çClÜ±{U÷)·;Nn³v9”AsäL{Óë�÷j¦±%t©ÜãN–×½³Ô €›ØFö¯ž5º•„ËñÖ0$‡v½Q�ýù4¥Þ÷ƒ×„›Îø+W(žª\¡4ír…21Ì˜„O­¢?Nà.ð6èé.VyÈŠ‡ºcL93èùõŠŠ�n3¬ê„ÎµaÏW�,GlO›^jÙ¦A€ «…è$TA¶’ÈÊÀ[‹û¤ºïÙÈò*`GåÙ%7tžgæP…‹*t‡+h*É&�¹Ä–úo›YBÝ#¯—'¦ªwKô¦Ub™ªñýæ#S5[~=ýãXéE“õkzÍ·fËž�š
-'»7>b4æN…Ê°(öËVÝsÑ¾•³yãÎ°šNOrCU0�±¼šå#©yqV½a¹´û^A—pÏ<«—ïXÞ¾ÙÒÝ…\4èMpÁh�ƒºt3?ìSûøR}QÜS�J$Oë%Mž"Æ¤:ÀzLµ¯—à�Cýøë\ãì%‡SÑþ£tbõƒÊ�<‡ª w¹V¬µÚÌ÷�KªcbD—Ñ}·)iùó¹¯T–œ+™àgÚ»`æ¼›Ö®kžcÄ;ïß.Œš>éfÀä¨AN«‘gÂ‚ÈañÎý€$²$ôŒ­OÜT|KŒêç�ï]‚ÀçmƒÀ'šKàÏÿcwª¹ÁrNÍ½øÂæ‡P1~ƒ@„©¤¨½H‚ò -<s&æžkzPyãßzrÿÜUäÝD“ö5z(ÂÒÝHŠ‰ø©±_pÅ�¸cÔ÷íD³õ•¼Ôx€¸·ø21:úAX)ƒ§­fÆøäN­pÚ»¾±5F±O¥¡bá”Ïâä¬q&lñ¢,TuäÍî›�3-8š5>ÉeÁŒb5B½lºÌ*—e¡¨&ÉR”aÈJû“$‰ÑÙÂ>â#¸Òb3Ú“Ê"Xê„ž÷¤³^	ok¼p¡�8#ÇM¨ÉŒ�„M·OãMqŽñýjŠ:'�§˜„ö0ÍB{
ßûcH0oÅƒqôò£@¡ýÐÃ+~˜,¦hßö¨²<
@ïï·lÔó5©ója½Û¬%tå®ñ3Ñ±¹²Wõý…ÔÂÒÝ½7¥ÌŽ8+ŒX´Xä±®’¯c`�ÃÐd;~@4Ù!*šÑ-wÈZ®”ZˆÂkRÝ{RMÖÎ«"XãËK�L£IêMµ«é¾ÅY×®¹2bâ/ªªJ|ó#·ØáCD}« ¤ú¢“�—)´ xáá‹l–ëLËzØÔ¥LHBC¦ø§ôœc³íj‹‹«*ÉçZ©µJÈj;€Õ8³ˆjŠRoŸx{ÖNðv�ÕàVÁg¡C­@1ü€¿Í/‹úù=��•AÎåz0F‹‰é¨Ê5h›­+õ=šïÝ�ô£;ÝßŸ|‰/”¹jƒ™=
-3´uD
-s÷&á_çûÍ1VBžY<†V[Û¢Yç=¼»ån°9¢óóÜ&Ët|õeÈ
-‚QsÁX¯Ô¹$;¢ãÐy±ƒ^*ú‰�Î"ö6šu>
F“«n+¦ÐýûÄãz!'¶ävŸ+
-,@¤ìfÇœès�|Q·V¿J>a"Þ¸KãÑGéaâ¸©¢5öm!MáæÁfBvëCˆP>tnÅî³ã.æ¥®”¡ö³ÖÏÖýö³^µÛãØ›·ÞeôÝz��p+ÐŠl‹-´¤?fOò=Åa2�ÞSßÍ(Ã2mB0^<CªJ«ÛÝ�.ósœþ0P‰¿áZÜáEJf£²¢ÎJ¨º;´ãt `h²ê�ÄÎè:ÔÛ“çÀnÓ“¹ßúÐïEkZeO-n}Zy¬5ã–N6‹òFi,j¼ß�âüµQ!ýz}µÜau•½³¿ü€¿Í?Û¾5¶ò¼»é—Õï_g¨¨wÇ<#d>y©ÎÕ|ž"sä[$ø†-iÙ!çÜ©T¯6s9–[–¶›	uA›¥0eJ¡˜åÈ�jB˜õ�8ðê�U&í5ðPë7”O­½?7ª6D±•«³´*n³·ª`‹R¾‚ùf§ü€=â�ß+‰ø�êj;Ê•´Ðnj¬mÒENUWo-;û¿eån¯7h3ÖºW$"‚I‘>WÞ·ßÍú¼Yözam@âêyÁªhU{Tn›(_!š›jù™–àòÄ'éÒÐ¤R-¬R¾UœKØƒ’;yV‡Oó,Ôa‰Ëúy˜=mïò­R'Ÿo¾ôú¿¨�ðùÞ‘Xs6î•‘‘?Nÿ-*¿Þ«i¯'„§·Cs¾Jµ#gã¥BV‚I1^åÜüŒòmw6Ë�„Ü.gñ;p•Õ<àVç
Û‚€Ý\ÀîÕqÆt`&—‘"v©v¤"[<n¶ÔËd92ÔÖï£)íÝÌ[˜þY™¨:HüSTæ6¯F=µ¸�—Ó £Y¼ÜŠñÉ¡nšÇUe\lÇ¥ÂÞ
-ºqpsˆK[>‡†~M<Ím¢¨d1?@Ï@ô ÌW sh
‡;Ç!/JˆÓ)ˆsoŸñÊýá¥£æÍ©vZ»þC/ÅšÂlÝ•Gÿ€ø¢×`‡�v¡V¾Õûh_yæâM©»)Í'NsCë0wâÄf5Hàd­$Òß¤ZxdèÖò’Teg3ˆÊÆæZßJoµ&ÝŒõ 6õÓn	žWK[êÉ®ÈÈºeuç“«È £Iô¨5„Àú¸Üî–ÆŸúþ3¿U&\þX*ÂÚ¶Ð
-“9p_v¢oÕ§©tf°	@žôÅÿWÁmGk€ê]÷5î½ê4ºsm@ï¨-@?ry€)$À4y`ðË`tþÇÿ_Qd.½Œã·ÄX”2Œï6Öç·À(î¾•Ðç·úÝ/8î<§å>öv]êQ4ûÝû¢=–ïÒ)Òï{9¸­‘Íð¦ÞNÞ­>z×	Ì®Æ«ºüVGlŸaÝ/Gv_¸@qµ}vJ&º+»þé®B~†ÿ_|{(f¬³`›‰™ŒOö�¾ÕæƒŸõ�Zg$·ì½ø…\î™WÎåû¢µjÜÖðºÕÝ~ÝágæÚšøË‘¾‰—Áç­^ 4Ï—nÍ>;`gtFçTpºKJrò*ãí‰XŸnG¿Ù)>9L¡WïÀ]aóÌs”áŒyWóþøj¿}ôé/Ô·ßßƒJ|ËË³QÖÇÎ"õóúñ×ð[Ö¹Üëj<îùËà})Ÿ/Ü½qFã{çtóY¾òÊêD¬êì1U!áHïZÒácúaÚ¬wxûM÷Âí°Þ-ÈÚ}»f¥òVË­�­–ït·õ¸«nv=Ñøij-Ø¬s=ø÷ì›hšE!MTýìíÔÏÝ¦�¢nÄ·ºC¬.P˜ßŸ¼âî|Lå{z¤7¯ÜaÚ|ùÁ«º�áBs/\«Ðn�—Ð�ôl�Û5]e¶êëmëÓžönÌ‚f­�¢7YC«ËjuÑèÇÊi¬«Ë{?…—1Kâ‚ò‹Ô©s¤iº ÒÔgé«W¤ÒW<’3ÞvÊØ+ç.c©umí,çŒn±É·j­m‚}LmæûbxÝíäpÙjíÇc³�ÏÆäÊ…õ1Kk«W«­áR§µrlYaˆH-½‘Â/I"Pþâ4\06“Ì£Üâ:çï½j"¶c<^÷l}‰åÒ�³ÿ€ÿ#}�R<}íòhúWÝô}i~ËËº{¯Y„yÎ‚zð¥¶O°¾µÝ¨¬·é“l´>�ÜÍê–ŸV¸‘<–ãtóY¼å3ø.Âê³²`oåæ|F”¡,'éàÉ\¦ØDª*b¼rÇf¬â×ñl»€—3CŽŸÑ`ÖnL/-“š¢–ßï°ÓGWí_¤o”&ÓOùÌ§Ÿ	ž­È)‰Ú}Í†Êù^Öº‡YW¡·ÛÞ™[Ÿï9cE5oñ1š³EÞGÖóâ?&2Þ½'•§þŽ5iXˆ•°23µI={ñy':>nxSOfzù”{SLÃ�0ôöŠ’ýÍ"xÑÌ#ø æóÉ‹œ$•ª0)9%é—ñ}‰¿¤ïUÈ¤Ÿ§"?{\¼\¥5zb”}óÃ�ú¶µ›tVÞlÂ-øÍHK–ÒÄÍÎ‹žå-³¾8_F§Õv!èí:u½g>^)ŽW•bH©P-vP;`M
rä€ñ»Á¨çƒìÖ˜ˆ³§;)÷¨d¬,ƒ«·E;U¯éÙÔ¨ÿJ¤QÇŽ”Ð=#®òÇ·²œMÀ[À<?+â å�Î®u*[UË×
jÌÅ
DÅÍuEŽ†Te8qu?¤Û•$mhäsôÙîá‹êg"ÉZáœTªNe¬êV}\oN!oû¼�^‹N»£#ÐÒFY†<t/`»¨œ;;÷ê¤2L›gb89"ò�–ÍþTkÿâèýv @é($;z{ôÈ¸ö¤NcÉ-ÑÂ¼Bßk³£ø!§^;îŸ‘×÷cÆOdP‹ÆkÉZŽëkoï™
ÿ2:öýÇÈ¢ö€{	÷ ëp�šs�_mÇ«˜C–Ivè«=yÈÔ§Y&nOÍKhóîhÅÃcÑ*>b°O¤�Ü™ƒÊy¤ÿñÊÕ`ë<YHÝ½.Øõ#‹–…ØJ6D¾0;¼Ò”ÜyHÀß´îD¾64oß¹¿{zë'ß½¶÷±‹Ù§µãÝ®‡á‹x\‡þ«�ì(×)ÙüŒjXI±[½…M
–ÕHÈ›G¿¿iµƒ¾vôvæ©LóÆ‰HEÃ:UŒ_~À¿Ÿ+ziž
-YV¹µ½)¿ÊÍÔ¼ö¡ÙJ‹ÓqH‚nÀt&5¹D{ýä$»®§ô�±Ýõ†l«Ú‘\KìÂ¦¹±Äfçh•Ôm @ìëT/j¾¯cF¥ßx„m³OÍ1³ý~w
›oêRÐÇú5ylu¼¢ä´Ç¦€iT“5
-ôLõ5·Œ?®(r–JS’7DiÑ[,*&>r`vö§iaW
-fÂå=Q»¯†7p„;Ž…á{‰ëv÷p°-q=ÏÂÕd4ëë¡ºè7¹áÖìÇ£³qz
n†„oawEÝÝ¦
7[˜6>ÑœFÙ#]
nÛÑ¨æÚå¥�‚—ÒR°¢KAN€‘QêÿñûAÂ¾9�ÔÕ‡�Šs�?±3Œ8#!÷öK~Ež¦Þ‘*î½?F†“ema–“«Ë$Ë÷û†H»fçöñ�aë>Óoòe©ã›ËN›4ïõ=HŸjWójÎmW”ÞƒpbQòœ>*r9ª8’
-Js©6?E0Ú¢‘y±9cµÅü’�ýßæoýwÛ÷2yRÒo¸éKž#þâ®•Æ&.?GX/8‡·ìxÙ¡ëÉ\è·öœf\¸¼¥�Ž±§M"-TÃ	«¹¼R;Èó1™Å0rùÍ¼¤Uh—¤z>hŠFoƒ‹­rUì
TÞÎ»éLöÑ›€–��îm-°+5ãfüq*œrææŽÑúbYtäØOÝ0ÒðD/1¥Ðƒ%òé¼È×gX0su«êÐ¾yqÆµÉ:I¬MõñC%†O^Ô7¡´.�cq—ÓWbKè{ƒ…ûèAò*/7·š€M4›žº<ŸÂc“ŸÜ
-ßïïóÄ…§F5cMsáR2ã‹þË±¬€ƒušÆ|#kòÌ]-»Ar�àq_�KîÃi<‡ÝÚøi)LXîïç£Ž‰8RsÅžÈŽúÝý„rµžÅ]Àz=‹CÁ�ÎI÷®6]b»ð>”{óô…¨pSLêpùñ„fc:§³Å);É¢¶Óž‘žý#¥0É,ˆ…œ‘_ô_²è¢vËYk ƒšó&l©Ñ¤t}åA2*•œÀ{<ì2Á^M](˜ö…kèO
-Â5Ö8rJÉ’\=¿t±_Ò=xTv»�löçýDŠ¸éŠ[q…<wüÙ^OÍ¢È¥2²riÑë]…¤5ÓPèFûæQ»UwC™Z­˜±'(SÇDjYúûV÷m¯
-!ÔO:®¬N¹¶ÂO¬�ðç«4•èþ­'3¹£y€ƒh´jZ¨¤�
-.¦”¬<É®x@¯jQD³;ž<‡<ÛŽ¹Â
-�~ƒ´„Þ0ÇÝp/7jO4rTÛgjä‰™b¤�+Š$<3†Äµ®~@Â-ÍÂy‹hÆI ®P[ûc{™Ü†Ër¾Ò�Q°§…‚‚sãï×K�÷gY´V#ûÞ‡«ƒA¨³‡¾ÖEU˜­[ò°p©EÃ\oèí¿÷Kzn»Ï~Î;§Ô£ìŠÝdâÕÁ½
‰ÐÞ™¸~ŽoÂ�ïšþ/]|¼à,œ’Ï	N)Ñ{çq{Ý{íNrÆUùeã­WÙú²¨yukFx=¨ ë¡Áº3Œãâ %S7ã.ÎŽÚ”¤Ïjq+çäµoÖ¤6ÈÀ=‡/ÐñZöøi‹R¹¢vî3j(©CšŽÉ¡îO‰ÑÀYâÏµ—�}œn,ØûP*fX,ÜYŒƒË]Ÿ3,wKžèÌd;¨Pr´ûÚKh÷´ù‡5[˜9Éañ±"úÃ“ÝäÆºéÖïØrGM§[»é@þû½$µ§YplåÓlRh”zn¥Úî¾z{œ�r.Ç•˜ŽÄhã•NwDŸtä�K�`àôÇK°)ï°|r¼aù9™GcÉo¢½jžÊéhqÛœ"ã”ýŽ!Ò«Û@*v@"å$ÀëÚ¾÷Ër^¹±Üíi¡Ñ6ÆÖtÆ8Ó£Ü¶ä¼«¥ ¾—ökÕ»>Ì³0^E¹.kF5D\˜]»£ëåî·ž¼
-eÒí	&þŠR&»1V˜."T,\Öhi^?#KIý JeWCª”ÈX)ðFÀ'°^|�aíÕ }m‰Bû<ÀAæìñ‹zÝÈÒuü8üîN?�´Ñ£¯ÒÃRÔnõO^§¨ð)ë³ü¡7j�«nÈ¾6<øª>¸JÙz«Û¢›&J¡å-M<ãABÁ„lÐ¡âç8DÔÂn‚ÔæùÞJßÝ°Q™¤psý)A]€¡¸êBƒ¢âB�ecß9#Q±co_pÇŽÛté5˜_«-x09º“ý6Ò\–ƒ(kó¬¶M÷T+i S~‰çÃçÔýtÚëlN®øJÌ´Ý
}Æ)åhçI–gMü³¢X¬º0Z]D«ÜeØlMèØ¿»�•ÅÏ´æV�‹f£´™ÏuÐƒÚjß7¶}·l«íÕÚ«61Û?`+mš­É²�eÀø/³ËMÂyå>ön«8 W§¨ÐÑß›gIY=ÊŸÞÝª\ù×Ø2m�JHò¾J`ù<á…øÂÄv«ˆ*H½�4—NvÄÚ—Á�×q©�Ü~„³=ÆŠ£6ù g­×x²kt.m1©Ò¦g¼uEµY˜<¢fÁš>	ðª4z£j'£ÿ±#!ô·‰ï�h¼™Åü¶j¥´y¯Ÿ:ZLäªr»\Ì	LT¼³zØQ¸„,pÐB¤y¹DÐyœn!´ÒºuFñi?÷|¹M—ùf‹«“psföè¦Ðvz�¹
	ùŒå;�ü€õ•ë*UjÛPmÕôÆUcÝ­ ö±Úÿ¸¹jÇYÖªmYÿ%œ¥Ù?W‰;oÅj]SÖð½¢V-°!º\ä“g%e:'øL„S<;ûhÝ £Ž×!Ýflm¼Æ"z%�j±º«k2|­7ª½wÍÔu°z<¸�ª5Ø U˜©r'"Õ
-ÖõÜ²7¿$¥P?•˜®U(Nç)RÌâ`ì¹I6öÁ¸—Ëg”Á_Íš,G¯Rc4”‡o­ï‚w^/¼„Ü¿6;Bh¶*\�†ÊC˜;^*t÷0lÑI+ªÃ^]Ç»ƒŠë…z)ØªV)GÌ‚b×ßÎ³W™·Xr×ÂªH…š,UòÛêÎ7õ'—ë8Ãn úu †�²ñ‚y4„ÄÒyž¯¿Ll\Zº‘Òÿ^žÚxËù,GVUfÅ{—ÅºÅ×d¬‹Vú§¨¼;‡ö,&
åT�T‡e—BÛÐ
-«ËTÈACLÐ˜73¦€î+óé�±}èªh6§hÚÉV±¬ÙŒôÕÛè»�Ïˆ³§.´–ñŽtÓ?g÷_ÆøÜØ8åY; Tg¨ÇŒ`(mÎ‘þUTVˆêûå½3af»f%?�Àê¥¹Ÿ”>ãò¬9#g%¾`!ß°³£Øûnx"84ß8Ó¼¸<)¸]ƒ|¹üÜóüRÜg,@¿J€ß@#cœý³{#[Å²†¼þ2
-?ƒ½½YsóÕ±ýÿ•'
¯Ž©Œ’ƒ¿64½­Á5>.3Ó(«·››;‚àý{öób @Âˆ,ùÖ“»ƒ@¸ï ¶ú	 ó¹@¢n µ6�ë»P@¸¨œ�¨|�ÈØ˜U`¦ë}Æåô‹S-W¶,ªÆÚÒ:¸Þsþ)*ÿ€4Á´`¼bè¾º~Z%üp©Ù¥Ë¦œ€¬…bøïzòŠÊÿGý–ê€êG%€:ð8@óÚw·­°�:½ï6úP2< �Å$£µü%M™Ýoô[`ŒÉo%ô[`”¾mão%4û+ÜòöüôÀoô»#´õ(š5ô¼K§&u¯Øw[#Tï¦ÞºÊ­>³ÑAèƒ«‘ÚÎµå�Çpƒó¥;ŽÏè<X�îÒãròªTþDl–Ð15H1cíS³2ý×®Uúx	~Àßæ…Zûáo%”ÍúHŒs÷[	MžÓRg÷(åë½bÕÞ7õŠ¯;œ¨][º}9Òz|òM‡ìùÂ�ºg§0Ïh2S«£¡qLÕÐ:Ò»Ùè0mÏƒwz/÷1Ú9ï…û¬¸]r_'ònA½¬ÿsëjÊxß£(Ãÿëæ‘ù^Âá[^Y?àó#Ìý»tàf×­.G
-=ž/z?£1ý9y%<K­zôkrãHoÍÎácXÈ�;šø!o9ô^¸ZÜn�[½íš–å­úñúÛútçmL0ŸlZóA–ñ­�r±º¶ª*¾†6nuÑWÒÊi†âYÏx(£]ûÖmÛßB3ñÝ¸,|7.ëwi¿0/PPœîBu|LåÆìðÑ³à™;À‡}a×p_t°çNz`ŸíšBò[õ�7;©lZq§¾¶JÍÖZâÈÊ©Qä
-ÝêÝ¥×rÕ%q¼ºÁú¶xÌ?^£<Ÿ’½Îœ{Yø<˜Ä¿õäj5£PLS_k¦éâøý¸Ó�¸b±—Aê2G¿Rîòæ[Ý‡ ½]Oo³cná¦=“µ¾×«‹ôÜ­Ðõí¸ôçË’Ø?¿s{-èK>ÿÎ§X¾4ç­FS(œo•Ž\(Çr¡<Š+‰»žiåëcV_#ÅÈÄº�ÈäõVÔ.t›¿d�Ã*é«hÕÒ×ìÓùn
-&ž…nŒ_[7¶y˜Ö‹•p·€ï�ÍŽŽñµ……VþîOB/ÖÂ÷î£PÎ‡s~XI’ø^\&½Ú%¥qŠå%q‹«¶ôši7-?kŒ¼JÔ/®;Q{™§¦6BËSø6…×˜Ýf±å³tÎÔ°Ùðßùa‡|v×ìü’¾Z^ã[·ES./ ·­Ô®^N/½t|aÔgW…¹÷úDóÕåc¯¡6ô»sÐôÕ¤¼\Ûqm»ðfqœþ€³ì-Ï£�’ßDP­r˜�âyŠè3¼¥<iÕk´>…ýþa}ÎG5?Ï„“‰°íÆ"Ì�+‹gË[+eÔÓ€üGú®£ßýüŸÎ“¹8ùWõÈ=ßÀ¾"‚×­žBûÕm�.¸~µ’Èy�í’‹,ƒQ¦Žß„@vCR·‚À?8qÀ¦+ú‰w>?Ý�ýL0ÿ™”¤Â÷^6Kˆ¬�«Nö6˜Ïz�ä®�ö7µ×«�k7¡œs¨MÇ…BÌÁ.Cô�oõ›¹µ›GäØ­-ë;=*—Ö×{9]¾ºõã<Žã{¬ç®å0B€
>'&¦'Ñ�ö/Ó!`8§
¼*4¢qMlÌ½mÛxM;Œhï:êß­—{&í¼k¿’ªsc÷g”/QÃg�”†“R<R+tc‡õE.‹-sý|ËšuÂêž[¸‹ÿ�òP³{¦0Ù«ÆZß¥rm™WŠ@²
-ÓSÜT´ËtÄØ`”–>Xb¼Zuo»ëª£Ã‰í� DtÝó­ïÿ€.JôgÎ-/‚o‡iusN6�§ýi¾;<6ËvÆÛÖìÚ'­"žˆƒyZuÆYõÕYñÓ¯fËÜ„i,bÒ4|ŸøåfÞPò8KbòÜÂð	YFõw#ÑÇÜnï.S¯ŸÄsë4<9##(=°.$‡xÎõ¡Oomû3ÝŽl¾°õí|òL¬^ù¹²Škp?Xh�ë ²GÒþº/eg¿_�æ.<ãf»
-Æ1ÑmÃ’€¥~Y[o+œš:Â„vŸÃÔ÷˜åc•÷‚Y�õ+¾(‹¹öÌžÆùð5s.A�_n³nŸzíÓ9û®Û
-¡á«ËöôÓâ­¤P—­U7rXö7ùÖ¸ŸeSs_"Ó\JãT“†µ=ØXçtçx¯é˜ÝB4ï&ð9ÚTÿ…$*œR%ÊS�P™f±œÂ{õÇ™fPn×¯ÇÜ*7Ø‰¡Ü:Ó‰hæƒîB»Njee•…ïúÍÅGƒÂ0¸Ò
,�Á2Þ1}±s?rT³}´ú†
[Î¨_]+Ë#ði¤=&Ó…6¦w;õ5½\Ô [ù¨À.)‘dBJa½`e±™7äÒa8“¸|—ª›Q-ã�Š£Lýqâ«Ro‹ô|~1¿l¨l†¹óN˜ÍÁ…É*"¯Þ Î®ÝR;C«ó±Ág¥2PëëŽy`eÂ8$¯»ë—¨=WU£Ä‡¥áÉQsùÓD‰`¦€ÙÈ”Eµq”Ëuæ))¦ž�}©Ö^¶D}P½ý�T{}o§·pì0­öT@ÛRK]N\?§;_óK:òäA;(îÈÂ¸5©^ÝÛ«¼~šÛ­]äÏ�ºZ¾WÐ-™uc8cPíy¹Rê;	xe†²¢š¸&—íæ@ZÕ:®T3_Ô�T"6-}×ÁM8w·9aX,×»7™%ºøf,ñO¡4æ©…ä©%_ÊØÁ? O­*Ô‡êS�WŸš%$»}ÂLý�Ôž¬O¥üè²z]¿ú\ÙÂG]ÖýáµßÎ;9Ãaùª–^muZ0¥ˆfkK¥
-â6
-ÅÞab|÷ôv>KòƒQ÷–Œ¦Ý‘¸]óÏÕíÌO´æ›{ï…*öç—»äDv¦).€]Æ¦È‚GÊ°HVhM©_öM‰SVù™#Æ'*bCþµ²9y¿ò®·[^†<¾]YÕF+î·9èh8'(ÕI£ZT§ë}C)¾EHZ› .¶¢-\h‚ïÞy‰OÛwƒ§•Ë�·©ÏåÛù„��ˆ[D¤3¿-J? S!>½zI]Z
nCºŽö7ÔöÑÉÓulÓ¦ëx	Ïh�¿lÏSB]–ŠšÃïˆD¨Òòl|™s2¹Ú%z´ìïÉÏÌ¸÷­Né]æ¯ìì+b!ªJo‰my‹—§JvI,ÏòLi!pùì±EŸé32À�èuW‹h
Œ·ÔNºÜ(³
-¨ÖÆi“GýÃ‘ÐQù½$.Ê6GB+±EBá÷þ/Y“¿lî
T[T-YŠžy�õ•á§5r'AnØeû—ÁFS—&R[D:ÅX-×Œ/Šèxo¹ÖQŠbß¬Õ…ëfuÇ´€ó€y¡Ù¤æ	ŒìÃY^IknÁ Ì	à’Ç�0ÖÈºòÐÎ„3Þ&Á
üQ™2¸Uœì®æ8)Øoœ$s�ÅÉvûå÷2ó&Ð“§o’b&M3n¸ã�ý]ÅÄ™xéw(h¡?	/Òr:6SÊSx'mûÌCÔ;¹rkÝ	8iñ9BØäu§Å°xjzäi|Òˆk¸â/ãc
-È:ò&�Ø+ô^XÀÕc�IªbÀ|6C#†}¢|¨¡RƒÑ¨ÖAYñÃ¼žtº¤ÎØ2=îœ¼†ÃXÀªñ‹qS‹�«òSE�dx×•©ÀE¸·^ï°;Ù¬Š|2êì<iAŒÊ	êàË9l–_mœŠƒ>–––S®:«Ã»ÿ‰v÷…2
-öM™w>22‡VSDÜˆw¤Ü]•‘2‘k#åV9û¿Í²´M�Ùm+�”­õ£{NkdGõÓ?\Á³ö)®çÊâ{£ 3ïŽ{¢ÌºéBßñŸëøÎÅ“AŽ•1ºÂÔÏùu4(éTeO¥‡}¸“˜±<¹ÔQ!89È"„ò‘âÅ
©ˆ
^—=^W V×g®wûh{Ø CzÖ!ƒÛ¿Ì·Å‹¥¦MvÐ„tý"V·ÖÈëc:…Ûù{ýd&^H¦z
-{˜‚{]frs	.Ù%Ý<1¾“Òýr¤àÙ®Fb‹Â�D±é§J£=ïÔEä`##U°`-nO2œÜèÝÏÐî��ÆÙ™Sš‡Úü{Ô9>Ç‡Ž%=s(W;ÐµÙø%0»þ”/êzÐ¸“¿µ�)ì³,’:\”%°[‹p¼™vÙèqå†j3MÕ˜Òs²¡ì×ùö½#[îð!(ß/á¹®\Ç@ƒ�åý…Á›×•�›ìK„ú Cs:§—uìà¾ë �fkíëƒ¦ÚîøiµÝA²iãÕj–€Gx©5ÆñÚ/ÙZy××V Û�<òVEÌ^Nµ>lE®®²Ž/6ÂxEÜzŽéÃÿ#ëL×TUš(}u©â€ ó¬(Š2)(8¢"Îâ„¢Þcí}úœþúÏk=¥O™’ddÄªeäŒto
xÉø,¸YÂÙ%àïL1zó�!ê�Ë!dTxÄ5säF¹Õ~ <.ÀmÜ[×{8ßñ§X‚d·Øø Æ˜ÔÜæ+Ÿ¢ÄVf³‹Q‘ëÓ°’9¾âJfÅåÐ…D~1OqgÜÍ‹-,®¬�^F°ùØ��w•‡_?¿L¯ƒš6Okæ€
¸ì³j20Ëº4*6”µ™Hû0¼·Â0Áe'‹¦[Â&ÑÇ°ÿö�+u�ÒÐeÒ ÍÉv�èÒ	ï½óI:ûåí¹×,ë1-£ÙiTFâÇ«Œ¡Ì/fÁvéÝy¦ÙoÙ¦{Aœ²1«Œ³�òköhÆ¥CTÏ/ŽkÉî^füä…x¼Å-âvïhØ›j8XÍu¦?Peþœ‡HZÐàó¸£Åx#�U*ïKR6¶-º\Ñç2Ü=Þt˜è±^É¹Ú«â=\‹îJ(ž¥­P²]yÅMad¶®…‘Ò}þbb«ý4·œ‰+åO/ÏrP=/y�j—Ç‰rá¥¶Ãn;á±¹/ØUSÄ·±wÄu�Í[k¤%>Ö.]kªSb½q1VVA‘÷»BÒÉ\Ò¾üÊL%Ý+órÔÃ å6r!wWs%»ÒÏj·n�9TÎ·ÖæŠ G)ƒÕüAcòËŒÙWv¿1ÊÃäåqóßN"}0.6fê­VK—êëôñ2[\Ó‡<2#ø>¨äoœQÆ­YLã„†/1‹.‚zæ¨<´~†pvª@ÝõUŠC¨C)I1€uÌr)<
P§Jú’UpÔDLwd@Ms œeP¹H¡n~áUáÀv¶Ë±j=J–¨·2#J=?VˆRKâ|mÍ¾E~�Þ~�Êä�"—X=Æ‡úäºÅÇKVó�qškTœiº#ƒ´&äR¤»
ý*˜)ê.`
-á0ÅÒ!…ù‘C¦;S…:)æSÀÐÔ)Å-Ä“C¬« Ÿ™ý/Üœ»Øøk–æcæôºmhåûKlñcˆª‡†T)]€øzB=i�Žx­/‘=u–¼:ÔË+
-ÒÎrí:`¼)˜ýNÌýVl–m–Yö[/ù€Õ{{Àž_·-;W€½½ÀeFÀ!Â4Er:)®ÂK).]�&9sÀåç»_ü9óð¾~öe‡hí(n6ÿˆÊ]>_j�[Ž©Œ‚ïúûÕ,{Qò>†—_vV½ìáš–l_P»i·û´G,5À‰[ýWòÝ×€ç;wÀ›ï<à—.øÕšL�ÐX]�`öQ Xtãëƒµv} t©E
-k÷ÇÊëU4ÆÚ®¡¤,çþŠÊâc€°ÜÊãWùŠnõüfyxžz˜í¶5p£�¸ÒÜ“´ÿÕ“M÷¿
-.üž¡Vžaêì€Xdß -S0 Ž‡
 F’$¼rLqÉIœJ@R«½á,Å'üE’Tý¯ÀhÓ_�‘øã¶•¾Jè·ïÀæ«„Ò«DZv¢§_%�eyœ}äÍ«Ñ‹Kö�¹k·GÜgõvàÞõ6~6¯½ÏE½\ë'í’nÁÖ…YeúçX-�ÎüöëŽ½±‰&hp�¤]úç›ü°~Êºmï\«ÿXW-úmQÿbË}•Ð¯À8¶ŸrèMyÃ[Åêisºk×MºWÞìåsÃF1tí½ø�ƒu�ýç¸™Ðg~}e£I9Ns+�|,ªŸä(QOY§d•;âóž<9¨I½ßV/÷=²�áÝA9‰;«Pi§�¯w4}ø_%ô;<ê«26+_%”ý—å§ŸÏwî[bhÝÌrx�„íâr­¶çXÙžÎ|Ý£	|}�üJø9e{Aö¨\çùCÈN¿ZŸú˜#û­8ÅöiµGíòœÝYÙcu5ÏÊ–\¿ôÍUcÝ
s¬ÖC"ûXó—&ý+NÒÚàÿ³®VáÒWýÎ¸ðëä�Û6ï[ü%\É‰S;Ç
·MJNïä££ÑqI¸þ!dœÕ^{56»C­qØa‹Z´µóâuK†µx3€ÅdÃì°Ž

Zó'­NH

¥ë˜^ùìJú�VÙÑ¥(ŸŠäý`½l²lCnqYZ•gò_üÕj«¹\
-ô;B}fÕBåÂøýB$mTì¸Äeî ÞåúîPÅÔmÔÀÌh3(eíu¬ç½5ÌOÂ	‘Ÿ¯>ýl°ò™üz•fwÁR(�å…]—a
{,Kò³Ø*éVŒ„::·à	;ÇöÙ–ocªë“Ñ}3»:Ü}6 M�b–ÿ�fÌÝËÿâŸ1æ2_ñ6÷Ì¶Ÿ;b““_ÖnõF¾wØì•ß
-ç´ÆÙéÕÇ„UÖ�Ë�ò\§i¯´Ö—%Ý]lëÇþ	vÞüÐ:O~ ¹U|ÌýH»¾�‚íìÚÍ�fÌ¾Oã~#3åã.<I–/~R%ÚúøóÉúckžÆ¹ú&¹ŒšÇÃ$IÎ%/Þ‡ïzÌ&çáf³M—žŸfû-K-¶vìÖümwYÕ¥
-ì^ìŠob~d!~ŽÙwN�Ýúœ>såVoúX¶ÓQÓME|äO^ç`5©Õv»I&óºŒœŒ!¼‘µ¦#<­Ä‹ZAv–íí[¥µW¹˜±{ê‡Y·Ç,sÿ"y™ônlŽÐYâÎ¯cIx^v=é°Ú¸�`N)c´ÆóËÂDOÿ2ÛÃ3ox!§ãé…ÿ�&Ÿò[žÈV¦5^¼ŠúX™½q¾&º#u_�Jfg>ÜbN8D&£½w¨î®6?'nd—Œøàj¯kæŽ÷úñâö…vw’µžs&=ÿ‹´®ü><x–¸ðçQáØ¾Þ³;:=× »Ý¡íŒ—Ú˜žÏÉcí4˜Ök
-p¯4^Þ{Øh�÷ØÜžU‡úmÓôŽÜ¦ãYÏ‹åž¥‹ã:pfèR»òì¸•òrÀž¸mÿÑëœûÂµûp^þ)ïÔ fÏUQ²¥�eçví°×ªâîÚ¹h±Û¡r…_Ü¢‹üŠÊ{â™)®åöó”cÿ8¿TÜ4&ûnö>�Nµâaœ+ÏQ™Ïç†•6Yñƒ¤]º‡	÷JÊý'Ë´úãœj8ï–ÒufEsàÔ6ÞØ^ žo7«°·Â÷Ç^ë]|t72“íjÙÚ-/ïéÚ·Ì¢hZ•Í#0{h=6‰ã<o\ºkØ¸´æ¥_\ÙA›8jüß$³;lW³÷|@7�3Éï,'‹Ž7£Åfˆq›»{ùl3oäÃýñÌ'œÙrÂ¦ó’-ø’­t–�Þj¿T{ªy0º›èÐëjvìv:;µÌ¶²0E>˜½P½šd{™1ú»kÙ`Lž×clcè¼#.´t§ˆ5iXÌi’ÅÁ�^)ýâ:O6³�ì3µ®ÇOtqÖµ÷lŠU£I³+#S†^dÈ�Ë–ÌsÒU^Naóv~]@z¥´ŒíêùgÚ¹ª…ír
32Ð¶IžPÃ¸öÇ�Íá¤Ç}®ëË­–‡³6QKŸÎg[…;¾îs�ì)ßi/{‹y;#njh˜Ù›²Ú®Ìà_DJkÈïØù‘Ym
-wlÎuåÏ$ØåN#ƒ)ž˜Qz�=ˆdÖ¯‘ƒ0Ù¸Û;`+£¢y.u+&U7(ctýQìÖtAî(Ú+ët´jÓµ4€ïÜNÝ9N;9&¶›Cô¤†¯êSmO§ÅÖ.s£Zú²©þ@Íc!ž4­MÿÒÄåk¦‰×±R
-þÅ©´Š›7tä“Þ`³™\z�µÜ+ò.Ø=<žùQÄÃ‘Ýê,×Ý]âŸ­®k'&]sú#(ÂÚkúLk1­z¿Ð�9;9ûTk7o§¦ºæ.šÚN2vkW-[\[4�†±oâ§i¬œ{oH¡nÙ¸¹�Ò`#|XØÑ©þpê …_ª�èÉŽY;½“×iÍ/I¾_™*fòaÄ1r½ê&èÏŠq:Æ³0èî•æÒêQÖÑ¸÷Ø»>F‹@«M7ù„ip»K¸Z†ªe¨ˆÐ<n‘Z³«óªr>J¦BÊ÷4ùÛÅ›58fµ®?™k] ¿ÞcL®Õ3²œÉ�ÜÚ|ÌRlßµù.¤ à_ìÏÃA-\maWet¢FÑÛ»2£Ó@2Æ�Åþ°‡drvº*{6<3b(ÍFÇ[øªe^Á³½òzYUƒ±B«\ËMb¶ÄzhÓ
÷¬õ'mÕë¢g·å7öäÚ$É™ZiUkìå¨™‹OµÆHµØQ«ÒÉ8?�Ô9{©PI
-’6¹ü‹�{¶äÕ–�‹~2gÐ±N…o7vOýlO]ö6/Ý³¢ÊÍ6âz0Ô¥Ën¥e‡ëc;¤Ý»ŠØô«åâœÂ0í4&7xœ-ËïÝ“eèÆÔê£Zƒ¶¯fue fµx<iÓ³RùÄ½[z‰•gNã«(ô(µ+÷òZèÑÇDè!e(WüÅv\Óë+äñ=�qæ¯²ÈÈr'ïAòj�œüG	ºV†uMæ3íé“®1ÐrÙî¼®»[ÅÄs3šg
-óž}ê‰%äd¿J5e5G«ªß¥¤ÍÃÄý»UÍ™«	Q6øvkìÀÈVuÏ÷7ƒÏh¯£:ÇyÁÇàxuµâ¼°óà¼É*›â^üÅf¶o7¼5­NƒbŒ©qû55ñÔÛå°¥Ea°«¿ÐnOËÉÅîÔnŸ+]Ðaó\-68Ýê/¦—Èþ9Í›Æ£X-}œ²xq„õ‹,fª<s†Z\ìˆ=nH»NÈ¤åM²¬ÞÙIs�g«E–a>³­ÆøõÞòb|.�ŸSãWúù_¬›ùº²¸ii²–Ã²Ç^ÙÄ	”â±{lå—ÆCz¹Ú\lôÚl¡µŽ»“×¤ÉÍ\áê—]ýõ^\äùP{Ö
-÷üGÚõÖßó’º¹,ØoãYïIs‚½ÙÉí¢°U¯l²€o
?Y¯˜ú¿0¹Î(KLÒÍåD¥-Å§b=
-$ý¡%úEØ¶«ÍùÈ¢ÅßN"?�+²hb¯Wï£å8ñR¯¡Á ½Ž‹ÝÖ	îiÊ]Uz�1ªMêµ·¹’•¬y¬§ÌMÚsŸ—Ø½Y�î¶ŠÜ)£ì;ÿ$Ù|˜Fã^§ƒÒèV»6øj°T° ‹4QëûP«€QeÜW¨2Ñ›‘»Ù="
¶ø$
”Ïþb…îØoíŒ0":ÕÒ #<ÒJy»9˜^ætZ›N¿u²÷–r?IZý“MôHVœ�[S—È¼ª­±­„™Ù³Hª×ç†n<s¬,dJŒR½c´Êíj3¾W)­ZiSèØä~¾ž’û»'MÅOH¬€#Äiº¬§YDô�gZ‰DP‰ñ‹H~±¼@¸:]qÎóøBÑYuvÏ.ñ	ƒ6‚tÜ&cŒ­ºÏ|:µ°ÓVªhÞîJ8<‰—†4V
-÷¼ÀN®ìçÝ~²Ù˜Ë¤W,´ßyjëÞ
-y>IÒ"ß<‰Ýh…ˆ\Ç"lî<"È„]ã×‰Ç¯S¡„èƒ„3q€ÅÍ÷‹Eî†y—ÚëO‚Û¿-O\I:lÍt?�Íƒž­ƒVÔlx�ä4îÉM+ÍŽ¼Ðnhó#	v¸©ÎN9p¬¯ØÜ¥z`
-üJíì×“<º÷‰?Ÿ%Â!ŸüæfhÜåDgŸ®†=Æ÷ÂFUa‰	7ÿ\yyh®2å·\eŠ÷íJuú^UCD€4ž¿ð?Ì£="G%ú×ôÝ�ªµØ˜0ò¡ºöªE	Ýq}NŽ�êÎ9è"]Å[\mcÈéªl½Z+;}joÎ§T%Z¯Hâì‰>·¾â÷ñ.Ážþ*ƒ�ëw¸ò=ñÊL"øJíÓmU2þ±‡*<E¡±¾GVRòFZ7‹@Š£!Eå4/¯_P:ûåõ™¾þbvŒ¦'”CÒ)½�5p¹‡î§5u[?é¡ò˜v§r‘íõ%b±5y©’Su(Ê$¹šÕðXŸµqþq±±‰˜n¸Ò§²¨øuz[ÉâùB›ÅZŒ„š�62+•·Öž(ëDY*#—N¶�é uAP²‹í[ñª=àâ 7¨ûO~Xì¯ú«b¼9übl…ÅÆÀO,¢gÅd
-'â©µ
-RôµÎ×úºQÛ~uxžàEa—]J CY�J�6ï!�ÀáA)ð÷Ô
¯Ô‡»<?�ñDJNµ·+Ñ`u-º�Ó«ð³…Â¨-ù×®_Í× }º*¡Fšÿç‚Fm“+Œƒ$Û¾Ñxv]íì:Óvs…Úuù‹!—[ÈÎÚ¥ð.�—óFM¥_í=Í_šé(vr˜ï.%[\Mx@E}ÚÈÞtÂUŠJ¥ÑeÄt^*v•,rïÏË¸ÃBg.C
-}ëäVÞ«›S|˜ÝL…yV«Ù»Ì~±¼e°ü
€^E™±@fó boˆcåˆÑ¦ˆžQKñ²aWÓÜò÷ÁÍhJÍ®ŒaÂâÎtI[ù<PISº7üVûXC«N(Œ˜ÙŒ-V¶.Ù/Ü,L¦ A¤ZbÜ*“÷™–Õ¹SP¨YIqJ?T¥¢Šëš_
–;z€âñ% 0ý�þ”¼%´Ó—ãWP„fŠ„|@•¦W@®ÈÝ­È…å¤H¿è«M²Ö#%Š6ü2‡t�‡”k
-%‘×}ë’æ0´1ÚqkÐ˜�ñ	ýrÐ6i0% õBuÕríW—Ž´€]Ú €¦ÊlŠNÐÕ�èZ¡èŽ5Oí­1@÷·%@§wNŠ»ñUz]'}ÞÃo€6wéßi6«€’Þ_[p
-GÇÅXî·=µêtûpc25	ŸÂ¤ò¸°pÚ‘ìà3¯ÍœW&J³ð.—š¹Î± ü@bÑ¢�Ð$`ò"¾ÃF™K€±
-mÀõ´6XF3À<¤`s›`+|°�§XsdÖb—)’'`[ƒ
-`U¬XiÜl•Xþâê�;ªjÖêv­³W®™÷x½
`é†â9>âOÊñîlþÞ.Ê§ÆÔ-JøÂÌm>a\ké�žÌfUÀ" X­ÿq�ÁïC÷ëé-‘cÀ©›-à&\¸ä^¼à
-€5{€?akÀ?ødLþÅuRà/ðê]�^˜F¾ž´Û¶E5šÕSWª.ÔœDŸZßï%á2§îs]Ÿ'¬èþš”Á�°Z€½XêõäVdüGÆý*¸õÛ_é6S€PÛÝ�0ë�pÍq@”'³ß>½gãÄ7G©øê©ÔöR‚_|0â«2¢_|ý–!“$5²ùý?™d3óç§IïŸòºu(ûÖ;1ºo)
¾#®Vùõ¯þ@×Þ‡§®¤/s—k]/ƒœZ»0�©œãV¿}æ7==J´q/š ûáécÝç'ùRÜ•X|óÃ'vE£‘âÑ;„R®ÿ?ø®ò«(²¿J(òµÜÒÿ(¡ˆþPvØ VOÌì¾%ÕÍíÀjÑ5Õûå*+¯sÜÀ™_P4)³ÅHÚå“�¥k^Žâ”µ«ôqI5ùcÞ­K_'$g)‡ÒØîìßîî¬œ?ÜF­Ïzk—¼÷–ÜaÄæjôÿk]eNýæ/¾®Õ_%4›¢úëO¤y(Ä¥nz�T½ö^ß®M—k­::ÇJ}M`v}’O…ôr\Áé2¯ËA}äâýVÉ™>Þ»ƒœÉî¬,”ßFÍLikÊ•ÍµS&×±	±k>ªÔÂ	%¶Cé6wÓ`oVr²üü@+ù%àA3#°A~�3ËP)Ð¿øG­ý(Uø^Ôr\²ºðµ—”±sÜÈ°‘´yÊ§¬uoBúdíµdÕßY`6ÜÚ�7Ý\Uo±”faZ½Æi¥·¢³C˜t½S8!f×Õ§?ŽWr<~­²Ã0ä§~aÖ®Ø²´Ìr½À7ÈzãÎ-DÜû‘5J|ò¼Ï§¸—þÅ¿:èïìçÀóS¿e/W‰¸G“ÂósT"?¿×žº�êuj3(
-Âzˆõp‚³êêãÆJ¾§•Ï’gûA~ByË°ÊŽ—mPõÛ†°\ +6œÔú~ŽmëéŽìÛé†ë“Ç˜
ˆui÷_Ô”Ô›“‰
'ÒGÚ¦˜ÝÆÿJqzÿâ¯V›Žð±,
-ñ5â2ÛÓ§ý	¥�½ÝF²p^ËàJQæëéÍž¥ ?z¦—cv§ÈòÄÏ­Â©:ÇÖOÅ·ËwÕ'÷o}6ÀžÖŒ9gœiì½)/N&‰G,&RÂmÆ~µ�ë`”Œ–�Sa”	f¶×Ú°]¦Æ?Ð°´·BokN)¶ç_üŽ1V÷çË…¹ŒÃSø“½»ÝÍU!¡t<M‚%³Y-KÓÅq~Pfwß†½÷ìjøÐ4î
KSþ³Ä&‰ 'ÕÜ–û�ÆŸc\ûÝOcœ½$­ÑÒGŒQ³ÎØÃð(‡0¡úÞö½Øz¨ö¼¹Ç´²pñî˜œ%N8¥ã¨sÑußåª§¾ÛhŸñ¬ç–ïËm>º� å=�—]�ƒµhÖœU=`Ôôv¾óÃ-úTˆ­§�9žLÇr2=7†PµFlTl…Ì°³	…aY;Ô<#¾6½Ê0é¸'1o¹Ä.š4I3w%Ý_ú÷áâØç^§ØyÎÈ¼#!3Ö~9Ã–ÅµogKø±·ØVo èÔõÖÐ$’WÇ÷¯=ï¡ÿ¶×Ëí\Î£,¦ùjÒ™>Ç‡áD®Âq^BÒÜr¸E‘§w©¬‡Í„’kg«•ÁÕjRƒnñýØÑ¥þ�4úüÝo;I:oN59ög�Ûõriag÷ò¾×ä½¸—O’|·]“è.\~ë–nufŠ�ieq¸€û¿¸Ä:¶?ïÜFOÏ l5·þíSO_S²;ñÇíö¸ÉÚƒ¡>.<|¸=ºÔôp°ûë§?Â^yçå€²S½çp{ž&Kv=�ùtGªpµ×”Ò+ìšZ·Siw»ðièYéûúùìÌn»™dçŒóêC4l¶õÛ¾8Ó]Ó8ê6�µG4úƒsÕ	à=q|Â|c–Ì¯ej÷MgAf:V±¼=*×…¶wœ¡=—nVÓšð.lœiR?ÛXÙ�áäzÅžQìnHí–.aíÙ9kUFsÑ<‰»ºIÌv-ã"?ƒ@_¿w…™îöæÒžýåE³…lç=j�™”U;¿?m/êïc»ñ,ßS�_œ‚û±²å7—R€–´d6¿vãÐ¹Ì†æ'vÜËî<åh8ïÛcd+ê-è©ú÷¬´.BœïÖ÷,ó¿!“3°Ñwž¨Á0©{Ã£óBEÒÆkº¡I�–Þ™í
»#›óq{ƒ¶2¥.j˜1€ªzg¼µyU•–6ýLZˆ¬î›‡ììþ5÷ñâñ‹#’ßáÀ<‘…“ã“in°Û�Poã»·Ü¡ßOö/Íñ©nÛÎ¯Fƒ®ÎŽ|»“Œ�³Áœ±>¤5 M0>§I‘Rêø”‚v²®Bü@í%×ãÛùq¿¦†Ò¢¥–¶«µ5ŠÃr¢M‹ì›Øu÷Rl®‚*ä3¨7Õê°1 ÛsÏ_S��_ìmxN„-á„ú�Kö9^Ó�ç´{ßÿY—Á·óñNë…ÏŠÒEëD×<âØÄt ´×@åtîÔÕý£ÝÔW5üœ
-ýbK×|´…"ªiYßÄ‰lC±g˜¦P²:h–ýYƒm^Òº²>ÜTžòé•åÉ±X“«­ù@%j“bpI>jŸ�ïÒëG¯Êµ12›e®Ï‘qéî\ÎUfýL¶íØ…ÛTë¢—gÃt„“fpHÆÓ^ÑÓï4*ß½²Ý*õ�*H×:Ci¥Ÿ+g¡�S¨i¡Ôp30Ö`,Så«ÕºÚª<…ýž\½g§µ9Ïlk¹I/®ÔµXmÞM©ZVúÒŸ†Òšçj¡[}ü@¿[
-˜ ²è!Ó…²}{Lk7� Ù·W¸àt÷PW3/Ù}ÃàœY[›åN§±›MÚEÕ\¶ŒÛ4‰Z|RhÌ¿68jð¬‹•æGžªµœ\+uà¨6×»D­Á®Åj0:+Õ–[ÒÚ†R§>	Å]ßDC­çÅJ)æ…ãÜ³…ã‚^	GÏ�Rìâ_lj½9»¸„Ry²
-ý§×Š»¾¬2~o3eû_=¹$vŸ5´™Â7:ÐM¶ÔÍXr[f�ñ›Äë³jxØ`[ÃÍ“\[Á×Zcv{Tƒøø©…KAêLï¨T–Ë¬h,i9ý†&tÏkW ú…%a¾µO�YîNTiÎ½æ-î^Ú,¹;LœRtâ_¬Ÿ)7�a²<ÖvúÃõ^ÄÎQ¶ˆß59ÇdÐb[ûdÔz'OÆUU’Ndå*$ã†wé=&ÙÖZÎBè¾ºšÓk8½‹{Çx‰•»		=Ì,ó»Oòôm&r÷E¦ÍyJ­Ïñùù‚·_'V*wóN+RfÖœèÌ¬%Ï™÷hdÞcèÆ¼{™Ûªúˆ÷'èY�&t&Í]—ÑÔ²¡‡£'øEí,1¾®ê¨/6£þ@QMßjåá@þDÖLÎîê«j¨v’ž]ŸDljÜÒž±‘çíJÅˆM*ÆJ=‰c>Ò¬ÉÌ>ï#ÏkS&ÛXèežzÓJ¸#è|­Ý¦óL~šÂÜÑydqI±º®´‡+ÌêÄ¶4´U<þõR÷ÐB85YrçhõòBM×—êÍèÝ”´@¬Õ§A“çùª]àê¨Ú>á	Õnká\ø[¦uá†“òƒ�žæóø˜ì%Féåcéf½× ¹“E…+bLµÕÑ–j·ñä¢`x�‘ÛE³Eê|2!u\Ú�i-¥è_«åˆÓ¦6,z¬öº;ÍñbÓÅ;“©!æN;L´V…5…�Y¡^ƒ�¼œ{¾ZÕõXÒî\ñxy¥qLp¬ àÝŽ³ãÄ<wbkpùÎ4rï7Ý*Æ9j-'e
-ò$¹ëªÕ�4HÚ#ÑëtM�Ü=EP&ºX[!ðI<ÄÏ4¶ÂÏeå˜B‹7FL+ññò®p8ßmØ7×æÍ³¦:§ut±¦ÂÉv­^›æ„ZëdÐÒ¾Þ©Š§îT.ýi�¿§Cî9uçìŒ¯…Ì‚ªìé]¨
qy�{&¤ñÈ¦³O¤wNtßš@³½J>×Ç/õy€÷!ôŠ;Ïu§'ºŒÝád€¹f‰q¼´M¡çBòæFÝšïÏçÚ=åµ1š“Npi9Mç‰©õ÷P—Ó³rÏ‚d8Z¸ežç‡Pƒ›8ƒõËœ“þMzL‡TeAmÑ÷š<÷#‰i§+Ñ;Ü_ø•ÈBxÿÂWp¦ßç°˜¹(˜÷àz?šÎ*	Y8UÆ×iîªH†�n¸��ƒ¾#l†ÎÚü:…¼�5Œ1ãÝ+·?¦oË¹ ¡>ƒÙi[ËrŽÂ“¥¶¼87ëUí´…ë¨ÂpUÞLë¬[_¤Ãç¸IÃÒÆ¤tÿÔÿzzƒÍ8Í3ü†¬68kmNØð|Š1¡ŸÏT&1	WªC“ªa_CýKÙ@ë}gŒæ�ÇY­ÒTQÉBÉß°i94˜ 6øpÒI«oW¼ºÙo·»r1ùÌ'ÔžªXä“£×ÚtS£ë\â…Ä2-XÂÉã&"g‹øí�oâœŒXºŒœÊ—Ç•oÛ!t~×¶hÃŸ‘ Y=‘Öä“^1¤H“h¹ãi\¹Ìï[°á@\¡� t<€{‰(8h	­R—8¸%|ÏJø6»‘øï+]1ÓíÍ3ýÃÇëN©—›5¯NyP¯×1£ŠzÍ–Àå¦µ4ÂÌž2ž�{B®dPAó0Ê!ªÁÊH‰³:em<è–)ô`Ó?ÌÒÍ3».õVÈ©DªÊ³Øß BŒð‚·Bªù¤¤y©¾™@²”ÙC™ë8ý,¹…AóPf~6 Ú�rSTGnb¶+¶žy|Ì¸»9ëÙðºQ›—¯^Æ•G¦+:a½ÍÍˆQ�Öªžèo³dÅ§¤¼P‰bÊ¥"ÛäÈÂp]Kóä‚ÐéÖó“½ÛÎWÍ]ò£³åh0Ï5=t›
“´®MZ6£Ïo8$¨pª­þÌž™ÝËÀ—*ÀŽD;…¨r0Šv£dý1&›Eº‹uÖðu×¢âÇ¢>� QÕ,òŽÀW-ƒ	G!íÆFÂ&Ë„FÚŒ–BÌç§¶ñÎ®/�©4¯Ð�Æ( 4’MaÊ)ÒÔŠÐËýÝyŠÇñ«ÁÍwŠ[úJ¥.‚�L@àjú|ºü½©üÚRRìºßmÎˆåR Ïµý½]á¢ƒ2Æ_+¹§âUS<®Þ°ºÔwT|$-ÒÙG[�ˆ…»7/ˆ1QÌ©œÀ)^%€l^s€l‘h
-“d÷$²—nŒä¸ÛOq›r"R„/@N…ôuÓ¨È¾Ò¤öYw€äèowS²rnk™·F½îlŽ˜£Û>§—§g«?NÎ�l¿°­Z.·ä_–2fÊ¤î÷ÚH¯(è¬QÆøƒPHZ/2v 8cIJPl)¨:–”n–¿z²¾§åVj€šw;€Ú�@í© îþP1’:¢€ÎIµwPOc¨N®q@M›i‘å\]@õKÓn_;ãF¶r*´­Âó£¼`$þ�dø@�DwU[sÐº7§H}8Ä>Þº‡è­}»Ä¶¯µ4#|0™£W®š\•Aº €V/é;÷žéï&è°#:ÚµýÂ{€Á'SÀˆù-`Zý¯Û–3`Vw0Ñh˜³°Ìú³±)ÀøÙfŠ^?Åbd	9@kaRF[·´ n4æÊ§zZbAZ­#Fïœ6Ä(ù•Btsagö4óèÐø�²•õŽÖ ÿBé²€1Ýôw‹@ø¯ŒËà
-`µ¡X¿4ìg¶E<g_À�ç
ÀöðdºyñdR|u&ž.µqžîSÌg&8
-ištóù^aÿ•#6¡œÅûˆAýå¾¤UG![Võ¬ùÐÇð«"ÿB£¥äLÁ_=ù_Gð¯—ë§ãYÐ; ”o/ hnó·Bˆ9¢S¼qz)qæÈ@ô½ú4Åpñ•¿ê'[üZ-¿ð©ïéc�ßÓ²¼^"-ö“§ÞÃÇ²�â+ÆwíúüÛ|5ãÂ•œ]¿þÕ¤ò�5¦ÎÃBÂžùMVŒ­$Gkž>Ö9ÉgÒ:*wrpyÅÿzG“ýi¯g°lŠ·øÛwuuŠÚ–Ü]Ú4Ñ/¾JháUÿŠw6–Hó­øÌª‡V¢Q÷¾%âáíÀ|×Þ+Þ\˜ÅöpæÃåùŠ&pŸ>Æ29ù•øã`]’ëüQ¹áCÈ®‘ƒú8âû­¸ûë_Å–ëêÖ.››kçen˜;^ÇÖá´V1”â	½’_Cá_|¿Y/,ÅDÐ¿òÝWj†ãÙUîˆ3g®È—:Q¢ºÝÓGyÇ%aL!ÓYì·BmµG¦âý«‘ÒøúWÅûæÚn¤¹å†ÙÕ>ëaEJƒ|O*„ÒUFV~z£¬²#O
-”÷¾½ëÜx±mÍOd[Ì¤p°ÿÁÿ&ø£à…ü¸FÜôsŽëfáÛVãÑcÞ)Ñû-Ÿ—v‡j^ÙÚ¹¤³¯æ:ÖbgÍb/œà×ñêã¦+ù¾�¯²Þ!–üuä'Ñ~VãhYšÇ·…žÎÙüÐ.äæØ/ûv¥Íþ@³é·fÌMšLc÷McOÓ!¯äþÅ.åø®½Ç}M
-Êþ˜ï}Î;ó=Œ7×f¬‡ån)œ`]låS]&Xr†¸¥o’eÉo(=×h/� ¥Ï-£;Ç6Ç�4ÃõmÄÏÒdÌŸ
ðéj;óÝ”¿ï.)Ù=Ç~-“×3zœ]æ´Ñ²9ñGÍÂç0j¥øòòþ�žìç†ÉŸ1Ja4Ýo™›·äÅq8©”—«ì ³ò£òm±•¡×üÐÌçü¨“-ùä>_™
°<9�í,3R%aÊß°ÚdÂ!�‰ô$ÕñgÌëi6.øîhYçû£fNÃVo9,mf{o«=c92y÷ÐÝó®E¶,»®'ƒhðZ
"Ýý"‘üÃûWOþáî 4ÒéTUe%Ÿu©&ßÿX-�ùaèGêa1 ÛítHl£É„	ïãÏððË¯cv´¬£übCå\¶órXZÖÛv
-¢‡ì²{0)ÕÅ"ÁD¶>�·á¬?àÛ>“�iäwâIšFF¶“ÅØ²'æ}hO¬â,E%Í#ç½´ÍnoŒ—‹ð•»AaÕ:y¤ý¨5¯Î˜ÃH�$Î¨;N+“ñh>VÃpwÛ
a>wñôNßÅ=RøÇµn"48s\q`?kÈ€·ðþMê2}Öï
-ÎCŽpÜuì×îÛÕ;µ�?Øöhòì¥ÚmUKJ·{}k}»ûVÇ}.ñ+*ÿ@Gu¥[lËm£8ð¯XÜž>Gga*f9f<§+ò¨˜o˜Ãr{>vOÜ|é«ó~@_o—¾Ç>}î™û8c)“uÄO¹hÏô
-bË(GØ™cƒí)DCL³qè=jvUy®wKÙÇÀÒº¨o!„u0Íþáebu�0zÁG5È^o˜â¾Ò¯ä%üEô©ÜÞ»3ýŽW…ƒú·þÉ�#ÔÆäX•œ"=D w5½b½]E0+Ñíó×ÎÜ‘�µí·Ü“�ÝŒn½&2zvCkôé¶ñÔ-�÷%K¯]*šyS¦ÕÌ¤%Î5ŒèÜÑŠvýz?Ït¶‰î´Ga�hÃ
šfJ�²lu&fØ©vµe
-oÝ„¹>¤4ƒ|WgñâÔ�×Ó™°Ž6äÄðŽ¯]Ãu°7øÁyÕž#w»ˆÐ¤»–¡e^Vv–�sgóèpéª4ñ;—gOÉ¯åõÛDƒu·êáÚc>fµ‘q‘;¯ÓSíLm¢×·Æ¸=wƒMÊÃO5çµÕ©6[ë}èµ:J²hušÈú‹ÍÁp3ù0ii¦äÇ•ÛzfzC/ÊYæà¾Ÿ*}ñzœZKe{ÁAmt;ÓžiUÌžkvf8·q¨ß¹Ù^OCõY{JûXýý«ó®_3�Z:5‹´W„jC)�}µõP•ÖFì-­˜Vƒ{�X7Mt+§TVzdÐPˆ>h\k‘b¹ùÅ®ßº--ŽfÕR°¡yuä2ïªé|ìŽb+£…Ð+Þ?„µŸ"i´4{&Ù1
-³užÃFš$!óÎÌ'7�lŽ9¶;««–†™·6K!ÛÒ,½ÔÜŸm¬‰ÑCV9Ý£ºB6ózãZ�½Óñ‚zŒdnuÞ2KrR,¦ï"�7Ó¾<Þ²¤SYª£ë-yÂ‹èQŠ'Ë‡zgŠõ_kÙË¹¨t·ýž`a“-a\!¯ÉkK“³#¿ƒv~8«êËZÚÝ
-›Þ>ü@MlbŸ•¨:y(ä|òn\;¨Á¬ÎH=nç¨:c«râZYz.ûµÏ$¿¬Õ�r®eçq¡ª$ªXU^'…;¯*çu˜b·ÞäRž»…$§wÂ:]/79ó&lõÚ§ŠbYM4®·%©ßã½:¨·—»£¶‡í^¥)·‰c…‰BQ`Ùè�u=>>u�x\ääš{Èi:jŸW¬ÕÅ^ËçéìW›Ú¹U- ¸#µ»m_‚‰(JK6!'¢è•ÑÊ¸'¢ùÌ4…ŠHÂ…a ¬Êþ¨Å#C£ÃÁ(Íì`
¬.úÉ(&uf}
ÈÎœ…ñvó�ï1øÀ¶šG5§òpìvîÕ… ;•«³Ú¼6ÏÖÖµ\³v¨6§â¥Z¨u©½÷rlîQq‡C¬ˆ:tCHJWÀ·)Øt.^»´òžY<wcóæÄSƒñ”§ôÓ*Å=\­§ãò¬fNîÃî¡ö§ïhØÛÀ7Ë"ä»¢?îY^Ÿ&Ù.ÖHkw?³M¢º®)´qîÔŸ¥©%OƒV¿6ŸÑÃj‹N¥µšÿ@âÎÝlDô´:	ÇÞ%�üyÎÀ¼Ó0)î¶ZÔ8·�18n�Ù‘±Þ±"Æ¾™Wôb˜×Ú7˜×›°Â[[¦è‡�±Pái#²ï^Ï„ÎB‡?Pwoì,“>\šÚ›‹ùö
-eÉÖ¾6G›Dh
/ÍCêc©«Èr®¥× Y¥W-zoWL«µ‘pª˜3�è™!OëòžsÓ|”ãºý;º,¬ØOpæ]—Ó˜ÌÌr3�É´ž.½(µÖtcûHh¨á4¤Ôuâ·CÂ>sºa‘«%’¥‰
-×o®×>­ìÕr2´ziäÑŸç™Òi|†¬ZN+î&‰u�ß(¢ò‡$¸tUfYZ®®ÞeUÚf!S4'{Gè¹ãßï©3ÎÓ™€w±óÞ gFFÈ'½°ê9Zü
-
½><µšÉ*¥Ê«>UÊ+r1©Iµ
-©UÑ6©Qï"5xë§ˆƒ—Jc¤‚^ãÝjÕÛì¡Ù¿¦ö¡ûŠº9Ö™fo¿ÆC˜Cd_Ü”jMäBUKç“(!÷SCÄ’½&P`esñXsÙdÀO˜O·´H¯XÖùlè¼)5JîTiÊfÈmÍFH=±$²$•›8´*Ë4§ŸßÌ<b
-Uš}<‚†ÓáÂ·…a”®Ï¾|êÝC§=4†lÃüöOVÒ˜Œmp¦1l˜ìïr­Àô
-’¾Ö*"î™¬@Mz5ÞžÊ� žÉV}Þaê6¢›ÓÏŒj/â�Ü&×=‰V“+q,óßP<€	Ü¼Òøg¾ç%Ùç±…Û›²�SÚü‚ÝÐF¯:Æ’lcKú(Åd>Kk‹¼7`‚³Ó$ÕÀ²MÊÓ«bÅh·m^QXåF×�ÑÀ«kyKèK*Ž™/ñ\! Nl`[ë1
f¾e4ºÕÍZTÇI¤anGÄ1:,‚Š6¸ã&NóØ»%:„¹“�q5¬ZyfúzåC“Êhè+"AÐ×æ\E_¾`¡S¶�Î>:Eíé$\V!WhºgfÉ¥ÉÚÀÕê›²©¢n¾Q…7VÎ=k„´‹Wˆ�ÞòN¼²Ì¢;DèUß§éb¼•¨ò+l�fm«=eÙÅ/aèá¼�ý@˜gV•ç)>TÆ6W$JÏ¢ïÛEg" 2f¶ÑLô"‹Nk‹(H1‹@Ë€G .ª—WEÖ)ïúpt„o™þ¼Ì�ºÝB²Ð_þÙm¯½‹Ñ<?ÊTÏPg®º!9Rì	«
-÷L²EF	šYò <rDÔÉ¡øÕƒi|ÀOê
-&€¦V™4Ú=ô³²†h½4ðÑì6\#Mô!ù–”Ãž]*·É+
o�R:û°^ñ	¡ t¨N“Ò�îÐ¥Cù¡–Ìe¡[2‡hß»­FÀ)$™£EÓ‡…6?®j„+Cqß‘"C»ÛÙ›�kcŒ•?q‰Ò5<‹ß`=©LK\6�—9ÛBÐÜ¨K!�8�Â,¨—×ò­S†—¯.¼k¡Œ^ªóÒ±ooKx¼¼Ï]�)R¡Rp™�X`‰žåi^˜Ý/Ðäa–ó‚ÁÉùá|¤å‡n`ý@ƒ7Ë¾mßÆ8?˜wZo×mõ¨…Ù�˜m³V2Aõ¯ð­ôpº}ÜÂ„ƒ½²•×³úBŠÍàY:ñ�w‰½bñÒÞ`Ezwb
-w3S-pQ±™ÚœñåÅ[kÍ8geÆÁ&×ø<®ÙUƒÎf‹cËlÈs-S6p«Éi�vi~vg™Ï”ãzZßëx]¦Úóÿ˜¾³Ã­*" §»Ø¨HóL`›$Ù�MÊß–H² ïÒé^»xÉ-åž
õ“U_ÃBf[óÑLhpP	X¬°µÚM±ŸlÃíR¬€mE`þNú�æÖÓç�x	0~ü.‘+ôÅ›†�(£§ÉÏÔƒ–7ê;8£Ædìõjísš†ÐpNaÙŠH™éÀ½å¤‚.¡c>t‹ G\åíôePûzø<‰¾`3)¬RŠ-ð"¦ÐZ)N6À�ô,ÅüðþNT²2À'ÛôYG	®Aéò†8K7SF—µ´Ó?±|ìÀ}Õ¼º“zî:îK§rôÇMMo•1�®RïØxYß¥¢K¿³Pƒƒ™],Ÿa'G@L¥GŠa6Åµˆ
I¥ÐD@\Nß~°Ä•°ñ™ú€ð1ÅðÈŽ§Ø*€ˆ¥ ÷- Žã Æ4“b×ÄuÌG£–è¹¡vV»R{Ýx×FóšÆ®†BÌÇ6Û”`�<Ótºö±ZŽ�2Ö&‹wÑ-C‹ê,›-¿Ÿ_=¹r8{rù•——WÈ#YäÃ£RœD@ADP·(>7”bÕÌe-	@µø& ÄËð«ôJÎPT%—âÈª\í¤]ã
u>�ÎÙ¼5ïÛá¡®ìw¡ß>œ¼GWÐ‚…?±�ª¢*—®°Îþ1)#O/ÿWOÖ™ô�$èû.[­¨k¯¨�Wté‚š¢@WG-@;¹ §úÐëdèwÿ
˜C†|ª€¡FÀÐÂ0™sÐq›ôáÚô‘è‹±—kcÎ"ù�”*»½ÔvÍÜŸ¾Ïi"ÍÈþ±ébÙ°k•­ÙX-¼C)×Á§Ô_)ù�ŠœÁñÿú�ÿWÄ}5·­o÷æ3ýÛÎažf9¸“€«­5Àiöpƒt±sƒ¤8·'§xš€ó8Ok«¸å–“lâÈWµ×ÔïüG�ž”ÞoáxðÑuøðJn¼I#¤–†upÙ»ÿ�Šü‹ûYúGJ.ÈÿUp¿6Ü?Ü¯tËCãàMñø8“Ð@ð'&nfÄŒ¾n[b€ÈÌ;@da7E}öÏWÍ•;ô«�
¿–ÛO5™ddýùQ<ï¡ìL?VOýÍ]»öO7óÑ»]£4›¼’³¸²èÂ,‡Åó°0(ÿ|Û°+Ñ¤lã‘´P'³ÙSÖ¶„:°Zõš{íspw‡F)ØYÐì±¹þ¶ÞtMUeÛÚ½‚q!¢¢Ô• R)•"(V(Šb…Özÿ‡Ì9÷kïïüyMŸL“0 ¢÷ÞžFÇ~aë»[—Ö#ZVÿw×Òþ—š¿úX³ò”W
-û(ØJãf]DýJŒÄnê¾íñÅÏÙóó¨`Ä§ ÜÜC\<!—¿d1sKbž|þã_µ>ùï.‘>¹ÿå_Å‰MjRì�:º¯ÖÖ#¢ÕŒ_ÞÔ]ÉÏu¸lñžá�ýµ®þÅÿè#*9ßÛ–TK©û‚±ó(aOõÍ¥qÌvnýQ°ó£Zßn½=l†;b>›léU¶IõI´á¶ýÕ?þUáÐßÿã_­_ú—ÿå_Ýæ—Ú;­DFîN/Ðø^›;ÁžûÏ2<9ƒgxê–Ê?ÞQ*Wþ‹¿c|B­æãš0­ã…›}Ò#ÔÑ‰~mävI�A¶'…'7iK¬®G(Ùˆ²¬®B6¯¯ aÞ^FB¹»,y/ŠåŸg?/¶jyº°³$`žèØjNl±mèaäq–vùÛŒ»´ÀtÄ
ÊÁkt­AÍïõ/gXÜþºVÿc]ýg˜×Î•ÝŸ…ˆ˜ÿÌXÊÏ¶'é­ïÆ4ÛªŽÝó
-òÛÏ¥ö˜ä#ý3)/¶òŒ˜'Í!3'ÖÃjèUúµYÚq¥™OµéÝs[Ó3´‚× ß	‚êÄËâöj8ùN.³‰üýÄàq¤–ã&¬>G±¾@FF™­��Ýµ7Üvš«ñéÿXW³Y”’Ó«Y¤¿ó6Üjf®¾]­ÅbÁ_Ø¹Âlî�8ôÊèa–¶¹ÛŸß*ý^>–ê¬0	ked"HlÍxjÉ
nÜ„šâ(n*�‘Q4Ô²öÍáÖŒºCt¿âˆ3½ó=Öºûôí[é§£™Ú÷kx¿Ï}Ìðœ½ŒW½û¬»ü×^;ë,÷[nî®…-­,#V©.¬ïC½ÒZ�ùè¹�Û‡~P¿�ƒ‰üº.ÇMpÞŽbõz!«k:Üà9D·ïÏ iÃÐÀÁK…?ð€8âeÿäV	ŸN«L?õU¡ïó=¥w��žðY»Þ+Ì^#/nÜïrûrCÝ \h›¨Ý¨�t2È~·‰ËÃ_ÙûíâÙú¡Á�h�óêáéa’?:eQ
-^ÞŒš„Õ™8Ö¾“¬\Ê/ì¡]Zõº
ˆä2÷=ò²ê§½Ë¶ÏÝŽIï>¼�{#ásó^ÁçåRx�Qp¿‹:ê*�v¡xXë6Ë«æØ‰Ÿ®cÒÔA^‡cÇîµ‹L.Šíj¢nÛIâÞé=»%ÛK8Š–«ðã…}ÃSƒÏ¬ÇOTcX7Ç÷ÂÈ@£Ê 9ŸxßÛ¿”¾ÿ.X½‡Éý<“K¼io*h¡bkåÎ�þÎÍïÜCwÙž¤Ý¾xt‹Ï8fý^p*eë´Ût–áz½Ý�ÌŒ6UÿôíÞ¼º°Yu�Z7¢‹YÕuY5Ÿf³“!ð³ºòi†ƒÃêPJãïFŒæ§Ëª7°Ý#oU:ð„¸VZôÏo»Ø¯GŒ÷ñbÉËÍO†«¯»
-èq\èX*·tPXÞv:®vèt'm»þ�nÙ¦ùá×¾<"ØæZ'Ôº#c	6Q7'Ý0ëãUßøÖ³�J{WjW1=ÂÏª®½DW/ÆP/xÊ`ïÌàûrÝ,/gc§ß¯CQ’·ZÍç·.ýÓ‰b!Þ·ÃÀd4©n\µkŽ�ØZ'ñÃN‡Ì'~Ûk�&vºIç¶o}cëž¼¶–H¾æëRHÍ`Æ½L‰9#ŒlÄÈ“¥Gç“¨9¨ÙZCVv^ZåæjÞÜ•ªi³öeí€µdÍ9¬;šsÌ5g†›Çiq[t¯çe°`åþ?ð¦_�ñz/Whw¹*]ãû€{y­tHpmf‰É6akÌ5º?ªõHñÍÆ»91ÁÔ™jÎYéKÍÞè-"8µÖ^xk™LòiîW¸ÙÖH\;Ä
^ë#U=_ï®ÚÖCåúZœ”ÁTC”ªô‘äÇ½ÖÎðó8¸û4ËúÖÒÎ½…·ã|9AÎô7E³7?uW—	ÆÙF¥Ó=ìòíÞlZ²«Í%mÕzçº™Öš¡K_�««—ÔÇ°e®As�<æÍö.kG<¿Ó¨IùôV/uñ©²¡šSnö´¢T;F~ºeE®¥JGúøq ÍªÜQÊM’bcÑ°ê�si7,5ÈP­V+ù6›|{ËQb ¾/Ü¦§=n�.ê@L‡Vù,»°o—9lMšµ¼)WTÜ€_-^G@Kj¡°ÚjˆÔÖ\¥ÚU/ËÚ@åJµ‰rÛ´æŠ€¶bù™ô¹.NSéó>%Yú%•è†æt�y¶ë«‹8ù×.Lj›Ÿ¯YÝW­f¹–]³ôE?Ã~¸´Rú6UòR4<m¿~v¦[.m�S�2ö}B¢V=éÂ&Ôxõ¸�CZÖµD7‰U©¦Ñ³�¢r£ŸÊB¦›¶ä6žôÕ6I	jìç
mwÛ4
-�Ò©®Ÿ¨gñ,¸¶mlˆ:ÿÔÄD“L‘ˆ§Cádb;ÁË­!�ŽA GwK ÇtOpÖ0"îßëø·EÇÀ?lû½¼17»X%µ¯`ËXÁì]1¡·
-ëFuýi&Û¬yÝ®úý«ˆb¿&7XK•Bh5ša×ãáÖ‘#â×l
jh*,Å$t“?°Hæ'7á´Ls‚çrX5M­jÕ÷÷:V|~4¯y‘a¾¼Èæ«¼XñÌ§/æîþüZ<]'å~)òÇTØ÷Š»�Ù9�Ü†=ÆÆœCçŠ¾ÎáùŸ®ôà£1ã:P–V–§d�”æl½ÚXD£nlS¥–å$-ñPŠÚ"iE=ÁKâqõJnçUÿüÚò®pæÇ�öáÅ(*sÓâ�ã›z“ÖªÇÎ1võf•åî•e8]†Í7ò-V	l—U<ßÇ• c·OÔŸöý¾[ÁÛfûúÖÖÔõ£Uœ–[Øñil^z+ãÞç%K"T�à
-„5JÄÔ+H*ˆ‡CôSïŸ7ŽV½F
£Z-*]~l*î½7fœD81NÑ‘U™Ó“ÍßÈ³\ø4ÓÒ^
-S*ê½ž´)·´©ÔhÚä-ÚÄ‹NÑŸM5û2¢„K”í–ó»ÝïâzÍhW§ºdªa“Ñ+ó§Aó,§Œ?ø[Îu÷Fë:uŽËµ“¢‹E¼Ð/yµê5T~Rä
nV!vQ=6Š¦µÃ"¦ÔVö`zS
ï´ù0]	’Ú7b‰êäh‡Â‹9y³3p¬•²{é*dw³k“ÝÙÃ›ª²Þbñkúv¨-eXŸÝ0ô¼È4ÝBQžãNNÎíoYÅ×È&úVÛ…,^„JAè/´z§–¡ŠÀ}IQá J¹Å`3rèÒ–}QûÃ;¤:~Ku/È÷œ#Ý9ƒ“´:ª‘´F´‰´0›ý){É*qNú`‡š2~‹&~­Ý ÔÎŸüç 3w7=ò_75T@:JaŒÆ5¨²,÷ë¹â-^5ænBÚ¿ßª£Èñ�•G¸oR&8è\äØÂõ]û3ÈóªÒèwgP¿vÈÓxç“^Ìˆ4,Ç„oÛg‚Ç¶_‚Çy¿PvvËî{-JÇÏ
-�µ:V_·u¬>wÆûñõÔŸM„°Û¼½l·üqS1’Ö›'öA+öD±ƒæjÉnòüÙëÊ¿EÿÌ){çÉ6Oƒ<“¢
-½S—�­ÖUŠÜNd/?Öˆkkjüféáë:ÆÅGy‰½ÇÊáGƒ­…O¬ñ-"ð›,:çOMT9
->šwo{4o,Š•e®R­D·V³Òì´í¬®~Ýé½:xV(­ô_¿·æk;ZVZ—r}W$òbîª5è•eœSÎL¥QL©#œ“/�¬Ï¢Ä�Wi¢:n	xm&IØGîê˜õ:è¢8õQu}ž¡°…m*+Ô¾VZÉ9_ÞPY67ž\®Ø�‡ìóÃÙ=µÜÙ­.²(i7jú`DJ‰»u’iû¾»fSs[-²æÕTÑ›ÒRq¶¯ÔºÕzçËçÄôÁ˜/òL^–½=þ‚ÌûÛoL6‡0š%T^²¦²zÝª}Z’ËÛ®—­…ÚE’B{ˆtâuT:•ß‡’»W>%Z›WŠýu^,r’Ó.ÜîÐ¼0tV¯Â-;#Eöq©Ù#ÜôA®´ï’’ØÁ£íeOký�µ«Õ¬)RyÎ6*èÙ!Tø½q—Õ¥í“:•±”6f‚6™ã®lë“’¤Çâ |éô, %oÂ‘Åô+pÅ,µ’
-�|–¢�–G6—Ü°©l·Ì‡‡ö%Ÿ/­rPÓ†	¨˜ï*¹xú9ñ¶¹¸!æ ‚ã�v&„^q²ßuDcbå7l·u˜s-õqWê2¬Ž¹ÚÑÙü·ìíÁ‹¸iv�)£Ú¡Ü†ûëâ ù]ÃÓa¼‡Áë”æÕÆý•‡sEZ.ø2T*4ÈÜ:öÅ\¥i`·{uN£³
ÀIê	ðâ¢°[Øåàlëm6g~là£kÇô¯íÛþ”±‰aFp÷Û÷LT¤†¥wy±Þ�¼‚|ËŒÝçóä8olÎ·J¥J½TßÀrn´ÈmæÌ
-ØfàÏ¼×�‹ìò€`0å,òåXD…pÁN@ ð.Ãøˆ|øc*üÈ÷¾J·Bà=‚¸©ÕvC¬--ÿžè2çjC7‹
-ÚTQ²†Hbõ]Ù3¬™¿£TÏ!øôi|+›æü^ºŸ§B½Ëm!$h.ñ,FÙ‘Ÿ£�ðýÈY$áà¶< ITÍÐï²Ï2t³¸Èz	’S€dø ËÉ7-D‚-@ŒáV»®¥±©OÀ´åž+}åvc{k6Eþ1hð0±çi·t'ˆ:[,¡ú¶!ô¾ý(4øÕùÅwhÈAc	È�ò%î) rÂP•Q)Ã‰GT%÷µÏ. ”ÖPöû¨vTc3lM@5µ) Äç	PÔ$û,ÂÖ~”^diÛJá»5l:j�\i ·òB·v~5�,µ(L6")ÜS+e9ST¾ðÌ7dÊúPFšj
-eÇ;ÙÛ7wÉP¿º8ùšü"?žÞš@º5Ýý4=i¹€^]C@ÇÆ	Ðçbö'ç¨
-è‹Üôæ–ýb;¾zN•3ìê€Š«9…ö­³]ŒT©S
û®å‹‚8œÁ-³Ü’ºVo2®RPµ|E¢8AÙR¾ô¬f£­ìŸ9Ã “ýÐ÷Ë0þÛ¬�]Ù`æ90W³	Xpè–Uf€•îGÀZ£¥—õe°öÓ¬:XVãŸÎ`ÅF=CÒ6+,qjVüF^½ÌE�)-‚ª²Ûö™îèÑ!>ÜBQ´P/ÝU‘ƒg^(ü#%&Ô
-?zò�”Ì"³ò¿¶à¿Žà_÷„S€+´xÀ	g
p#Ã\rŸwO€W³ïÂáà÷×>àïáð1øñ–¼Ë©€×‡ÎXwòMýF'É>í¶âã/¹M	¨{�÷ñ"�:eïnµŠ`åÔ!œ5é¥ä_ùÿÏ
-üŸÁÿÑoôäßvÿˆ·iTW“õ
-§„áþ–�È§c ŽW .†(#Jb2ïñ�ýÄþöO{„T|Ê«Só¡m_Ùw¹Ç8:º#®ðïÓ²Ür¸øt9ß›Ðý,¬¡÷)¨pªïóùcˆ¿Gù�#ä±ƒvÄ¡0(2‰þ,V÷Û:&íÑ0K÷œ¼âlé�1^�ÈÑî¿ú<Ü–ÿ§ïê_üÛwõ
4dñ¡m?ÖÕ){%†k)¥ƒƒqáæçîé¥ïÇ›‡ˆÏ…þx•è÷ñö§W§8Höè´wÚ9¹öeG,º·íI¼¶tÜýlür'·¾·;…øåZ•Õ××É•üèKí3Ó¢X)ù‘‘ß"deþOÃÕÿt]ïß�Þ÷-fë{Òz�GùzþøµèÊA;#t¢ßPqoe¹æÎ¨±¥—/{ã—¾îún}ýµ�¼FqýœLV!OWÐ0š/µWEqcG³[lÕð¸°áä6Oôô3wÊX)<µTHCe–zõáÌgáóŒ»¹ù¿
WÿÓuõ_{-ÒYŸ¼£¼»Ç	â‡‡­1ç�_l¼³zTQ³óB¨•UÈ¨ÔR{²\¤+ÂÂÎçêó¤•SæN©Ôš›Šž,¼z(ë†tRóg>YÍ¸³:›Þ{íåT¸
öÁk¸»õw.7	¥>Qrgõ<�¢`:ŽZè1ƒþø‹ÿ¾‰?cÓ ¿=I5/~ÙûÁJ¾,fËÂh²Zl¥a2O´ažŒák–¶=0ãŽ~azwÃÊTH<«^_~D¿åƒúãT›|Ç©4	k/mÍîú8R ö¸™'z£¸%LFF©³n­Ùaˆ&·× évˆ�CSÆ¯uu@de`~ÿ‹GÁ*^/imÿèÉ—koãÃ“ÖJ>õ	êÜ�k–ÚEw:¢À0xõ³«³~gÖ“PhÚHÇÍ\ã1.,šŸQ¬µ¡›…áÖè–‡vy€ÑÝ”$í%? ŽË,¾ø'÷¬úS´ûé€ìõ¹§2íÝ'Ñ®'äí½æ1íšfz�Âj�á3ûÅ¯ð}ˆðÆpÃ­ÜæR»ñü<QZøÌ¯ÜðàåùIXÝKã¨þ£*ŒbåâŒ�åg0´x:Hlx1p0jãŸºøÞ÷(öÔOûTÚ÷¹ê£ÏÝ¥Oï>Ò¡žðÖ‹Þkê¢^ -÷»Øˆ®R¸i.´¦œn³bNº…ýyçÄNú;…Uäâé²yÞöïWœßžÌJV‚›ŽžÆ,6N4	ùÅ{\˜�àEÙÄ¬·ÙœìÉ§OI«ï3i»wÜ½žð|
½WP˜z
ÍÿÀîwŽ¬ÜP%¶.´B“n¤Óçn©ß�Ø–?Ž�9pgÛ¡›:qíÄ‡ä¶Ãk�6ñØOíÓ¤u±½\¶Ò¹ÄgËv­C±‡±T¿tæÝØ�²kl±ô¸„Åa•ßƒ$ˆ®¾‡�>}Ÿž{ÂcŠ{õÏ4[!òºîBÑNí6É«Ù-|Š]'ža}§a£Î6gŒäíä¬¬ÛNÏNÚ¤^mog«Òf´wÁò×eÜâ{NÍÝbÃGôÈÞ³½Ñ¸Xô�L¶S°’>WjÚöâ{‹hóØ»ÓWUT~Mµw‹”û·³’ëMðàÞSòê�x»ù~5Ë.ºÅH"�ò¹Uí´¥žÜÁ+k£Ýí¬ÛmJxôì^ðÚ¬k°s«ª•cóI4fÍSRc¼�!í%}‘¥Rºzj4Z«FØné9tÚÜh“sÓ"µÊ¸Y9ïÅfåRÒ2°Æ:(‰‹9ƒZÝIô%µ!ÙÉeaÎù¢ž¢1y·:Ï®î<ÎÎF:?;YÐ/´]©„Û—}•·n¯ZÃjÓ|�¶eÖÛ½®ñÅ§þØ�ÝqVôÒË™®ùËH/(�]K_�sÑ™WÓJ[°–ð\ë<5õ¤‹–ê!ñD¥wòII;¢øB_Ìpk)Üé¨¯š£üb6&ew´‹Þš_EVÜØSÙ-úó„{¸s¨5^íÓmyiÓ§îÕæ®Èž«²Ù@Ž´¡ðA�Æ7IoÖáV+a«e(x·¹=°~£Ø±–\¤P#9u¥ž¡ñAešË›r-~²ºRáû,*?¸� ‹£³.½k�¡|î©%	¨H5ƒÕÌ04£6³žOs,ç
©éNëÍ°	ßÝÙu~Ä®p›•™·õˆ©%ÎÙ³	ôêÛÈÛr–)éÅ±…·Ê3�i¶QWÔN_ÖºäBWÏ½…­2·YWù¹…@á_û‰üXç"¹V)m¥÷^J%Iè}%ð:VªTâp¥§×—‹Ç ^*»Úzƒ2ÄÕ?pmBjÍTcAµç‹‰Ý_“²§Õ:¼Ó1<¬Ý¯­ak"æß¦´k_
µû<è%ôrkîÞ¯œvÌ}õRxá*k|Ye°‡DùI¹æZÒ‡!ì?°$
ˆ®”SµaC]é³¬ãz+ÝŸê¥üª™O¡T«¬œ¸7JMß™¾pÌê=Á-,a¡ûæ¹�&tÏ±Þ&½Å¥OnÿEô4±d¾ã^�,¾Ø‚5†MÙ¸¾õÕ„M[:Kšø9Û¨/C÷¥Üâ–Ÿ»QEú¬B’‡m,l¯Ö€žR×)¯U/]»fq¡WC¡ûDì´ H$J\"/Ã§@sIv^ª—ÁTûã¾Êß>Ï?{^¨R¹–LÎ è³,ÀÎG„»½oÐmvÑ„ãÛÜSÄÌï¨
…öüÕ²¶¥T;;‰ÚßsEð²-ü«òY#A:Sh”b¥®/ËTÍš>²<÷EB{ÈÂ©XÔºG:Õ4›ò*7´Cþ®mwü¨X¸q/SÌsA% ¹zR�Ù�Ô»¬|É­XÈš~Xyk2¬®³Ý2{y·¦až�éGàzÑ€UR¤«¶¨ó¸™/šyNßM"¹\TîÆíå×ê¾•,97šÔéY7äT³Å]Qt¤%&xB�¬úŒÊVyÐ«ó#u ý�¹×jlq�¾óØoúØpÀÄ¬Rõ.L´:¦i�S^�ŽP‡6´ID—‹Ò›FÞO’6(µžaÜš¥\8àkžë«¬ÖñÎhÕj„EL_WXøGOFºoÕïõOò› )Ï{q}]r’š�ØWñ _áÌöàêU0þÑ�pî]Åi®1¡6Ì®\6¯T�l™K]¦Ø�é5u^Òe¿x¤v|óEÙ�]9«Å°	#dHlòÐÐç¤sƒ¤³Ÿá¤“”ê¤±êÄ0o¡/ö•®[žT´ö€…ª¦
-½±Ö®S�µV{)â¾s–”ï}_7)%®á³Îkò\½Þøç˜¼XÀ×Õ"'UKV­}H¦%ßxzÝêt¥øiR»
Þ¡p´ê“‡¤7'»ÎaOR5þIœ?S„8É*ÑóG&ÁVé)~}ÞnøõÔÇñk°ðëVþÀ¿½Yú�;Ÿ}vvSíñà^5ZÍ3Ö<œr°Z­á/I5èSÝ;ñˆ’±À»%ÿlîãž¯œÀ‡ÕòÏ<£—.½‘÷8µo®
-_oj¤[Ùg¹%Ií?Ñ'+=‚=«Sü6]oñ¡\¾gq!Ÿç°çØna“za‚ÕÒÅ«íä2úQ‡<úùy°É9èÏzùwÞùm"bI“ˆ×ÍõÓzß,¬Üë\ß¨ÐI<öí]õvzÇüd>Ž8ˆno˜Õ£ud�ÖàA[› :É°@žÈa…¤{Šèßf~>|Ýì%åºX�«M°úb£_í�¢aQÍ£òzGý�QyÖÐPH¾+‹GÿXÉ¶ŸbEÓ-¦¢Õ'µÁ`.OÝéí[s¡þº©[ømŒ©B~–—ÃË«Ö¿ÎB?iîù |]³‘ÞŠèí8QŽ•Û‘§¤rÉfŒ!©'áOeä45Ç‚Øb1PîÔÐp·h¢y|oW¢SiPiz­¨RdÖÇr|Ã¾e£ÓÃËe2/#ÛµßCl™Þ!Ûþ+�lm™Bì¼^õk+4È²‹>ïØ³£H¾Éi—WUêÝ	ÜÐãÕKôJ÷KuÔ4œ¢6LYa#ò,M¦ÿ®°÷ÜÝc<¼ swõBU:…*Kÿ^ª´ªQ^O®lÖÜéÈ.ìèH[Y¹ÃÓRW¯mK²|ÏóRì©ãZ‘y•�ÂÕÛ®‹Ì´ó-2½-zŽë-úéÄ¡ë½Ž%e¥•P<÷�ßšuàºÍ,þ‘½³õÒ˜*G¶8Yo©n
ŽˆªæÎÐEþ;­”f÷eÙÊC{dßB.¾A¥£ÕÈ•¨D)/Ž‡ÙwÄnÓ—R Ä‚'"×Ï¦�y^Îí�ùÜÿBqFþ�!õ‚k,ÏG�ê;gh¾ËCù\Ù@ÝéíVk±�ÈMO.sJ0`1©ˆZ…Ùž|ªâ=½±Ë¢ÛátGÜ¤ç“ËõYys	G%ºÇŒw�Yü�B,nàúŽIòßvóš—�ö;¹SÒÒ5
-€ËéOLÛºb4
:€V†w€vÐr†½PÑôJ•÷-y/Pù¬óÎiÁ­ïÎ"²Žñ'Iã;oNžÃ^ß5µ¢p=àá»cg²ßíî±/±_Uô'–N‘7.ˆêÕ‡šKuvlT‹æ´·ÙO‡`ãò'ƒYXwIýh°n±žÁ±2¼Fó:Ù_Ï'ÀÌ>0WÆ†ÃFg€ÁÐg£òkú6›û½Õ<·"I_^jÕ+D­»Ö�ê„ V7O/Ê½–Ó?0Èj‚Ë«5â¤È¢ðè5'Ð2ìõÎÁ}€Ëê4Ãxpëq¸MÞ2_€û;àŒxÛ‘3¤m€õà�ËàN¼•£2L[ÙwÁifpäu8Ê¾ìom}O,íú‰•_Ów}¯äHáv“+\„ù0íhÛ1z–ïèR¬‘Ãª¿)<Éd‘WOå	èÔÔ> JæÔzþ£'×‹Ûâ	ºÿ„{…áae@>—á¥¢'w1½„€˜µ²¿sÙÇüˆ6fB�g€¬ HËÐÍU©ç·\Ð·Õg›EdIWb�Ãÿ}É8c_ì"Y-Ï³S _e|Q:LÞæ‚³Nþâq�Ï‡€¬’Q†æ�jxdûûd‡�9ô*€Ü¿8@ÞuíGO¾_<@>Ô ò� à^�/Lä)v¹Ö–€œ~€ìOp@Ú¸lXVoØ¼\Ž"'‰^OV?O`.±»ÞÕ)Š�Œ2ž{NóåÎyý*Ž¹ììç›2²ÎNùWO¦Àh(&Þª‘ìÿ…YÈß“_€š†0 Ö_P�ti¯º®öMï€nW@›år†­hYïZ)m”^~þ4Î’–²žÈó‰&â+OZ“w»Æ2å&¿àj
úøÔ8ü;µñÊ6�—Jü~òËññºÁý¿õdºXOÿÕoMÁÎð§ãÁ¿ÞàÍÐ‡Böö¡aÿ¶V«MÀv=À,Q†û
0÷(ûíCSó„‡ÖY6u’ W0gEm1£åL™OnÃ>C\a²S²µÏÚbK#õaËR*é=v¼0VùÁmžÿŽáGOf ç÷šKü8‚C­ð¯ø+ðÿqƒ,çc_»&àÈFï§{C3�·œÜ÷ÔqÀªà^�àÞÁpÜ%ª.EšÚ³V²îUÃZ:sÇÕ|;ìÑç÷Ò&rá^«tßzñ5)³Ðö–«ü«'§néGµþÛ\â¯#øùosà÷¯‚ûÛŽ×šð¾ú ª/Ö ·^@UKÅ",l€Hr@,ÌØŸî
ïJg³ûÿJ¶
äùUmæ	é#éc#ãf]Fî
í'ãô$ÆóK*Eñù®…ûÓËð�ÇWÎ‡ˆfÒ$æ‹·çŸ{ëý~ÿ�w‰ô;ÊÁÛ“ö)m½b	ÛÒk–Ùø•š¸¾wLm-œæÝ8`Ë‹Õw¸}¯B±IýW·�Ÿ6ÿé5þ—-ÔÿÞ§Uü_‰!…]|PbÏ#oœ^zM?~íZ'‰ÙKw—4:îÖƒëýMª×Gn+ë»-Ï×#L_­…ƒµ‰_]7‰ªZ}ûýë*äf¯•|ßæ–‘x*-3ˆúñŽB\=B¢Ega—¤xžX×ÏÜÁ$ì$¶‰ÿâÿZW‰¾?ßåãù(ï;�CÁ3À~[m–¶'¥ŒnüR¶v…ý•ÿ1´×~ú*dWù
-œ[Kíy0—…Éµéß³!áÃ_l•÷haÃùé]•óDÏJqbË'áÉ6®!}ð>³´{.Ï¸”¬NG|ìL…gg¼‚Ü;‘ûÅ�n™½üWËÕ7ãñkÄ?íL¯ã-½g³Sn¯WrZÚ-µGå²,ŒÕO„ÌäüÂ†4dîëXx2ëTèU4.¤÷–8ó	½1ãNõ×¿úþu°N…ë¢¼{?¨?÷ãÉwòYLÂµ›@óÖmÜ„gùq!®VGFùá�ŒJ°ÉðMGÈ>½üâ)/�g6‹•Ýj£1Åíøe­eÄÞ­ßû÷gN¬¼AHoýÙÌÇÂxÆÒãT¸$ip§gP¿¿Á$ù‰ü¥	4+¢ãH.ã&DfiJÄWÿñ¯"kEnMÇÚ• ;H:ÛÑÀ!Ëu´W?ùô-Î÷Ó‘Uûójwñ×ºzC=óp”wÞxë�§¹’Ï¾¸ØÖ—THoªìtDVjAýVÒ&¡À¶'P õÇMÐšŒbµ½!«vünõÁ~ˆn§AbO¯[>ÄaýñOÝ#äÓ—c±Ÿöo•¾ÏçÈÞ}s=áS©{¯™ÔòPÏu¿Ñyê*%&q¡ÍµàBÛHêFm¢›Áýâœ]�Z´ë¼«íÔ³…¹“¯aÓ{'KC>…ÆÚ'­Œ�(¡†vñ%« ˆ„°|�¤»ý´Çùý¬n÷îC9ì	¯zä½mí
kï~çúÑ
ÕNÅ\>]h�n‰ÝÂöŽ9q›àä(+�­»p:6S™uÐë2m'Ck;ÂCj;¢hehv~¥ù¸ž¤�ßA�³Á	÷²8]N9Ìâ‹O§¹¾OïÊ½ ¼×øZu¿³sÃ
Ðt¡%0»Q«ìt›¢çÄ6p”™8H"†�­Ó\ulÒÙµ“žsl;lx·OÃøk{"@¬tJÒ–/yòØâs¯®y�:‘9jQoS,­SDJ¢ñÚâÒ–¾~¬¨¬5Ä©x{bãâ2…ÝÂëÞ¿ÂXÒ»÷kï5šžÜït™ÍÈb•ëâ
âå=ÞÙ¶/lÇÆ?â¸�¸Ÿìû3¥f›¸â¦}d¿¡Ÿ”k¥Y)fqßÚÄ¼‡æÂ)ã­ñZ.ÏF£t~éß-^ÔC»ËèÐa§´"Wñ[MJZY	2¤•f<ø’±DïÛà°øÆxå]È�+'…Þsž¾¼œ_>»pÑÜt›ƒËÒ‰Ýý®cc³S;_^öis‡l†/”-I�ß8óAé5Sìë²ñ–û-£õ-4g]}^ÜøY6žï]‚Ö’+­ZÅ•4ÍbëÞ,¯W°Ö®|H
KÌ¬sÞ}µ[‹•BÄœrÞúh†-½,=Nð­½ÃD]Q}áÝ¨½�m
¤�Î°¶kÝ}¶*Û]ÅZÚ½š{°ª¨{3Ç£Ÿâ©dHfŠéóÛ—ÑÕ"´VE´Ñj�ëÍæ†­›Mó¦;Ú^s}
�ûõhl–*uý”Ë�}(\¡_”oñ�‘…Jõ'·|îCiâx'©^Ã
-<*C\�Ÿd­3iÊgÉ¿".å)£èì0ÿÓ>çv©Í3•½%Ü¥9Ù sã“[#÷®§z¡¢½[zÇÎ77'¯ÜD#â¬uæ«j$¨îq+©´›6•~ššò]ùvåLea¥Í¥€î¤zz¹5B•†Ù2£ë‘~SêÍrÛ¯öä!Ã®ÅIf0„�éÎh'Î¥?p¬XtwðÅUj~ìja~5§Õ\b(3m¥7µÓ¬Éª¹mß�Z2ùÞÕSøú¨œ‡ß-—žæIyäó¬,òŠ(KC–@Éh6ÂÍ¨ÝPú§ìì×£ûkZo.…Mm]².5c“äje_ Dû1QDÌ­ô…}HçÚ‚2HÁÙ~úî¡Î°kö¤^Ž¢)§½+í›Üøš3Ð½pi³o­GôªÙ.³lÆœ§1W½¯·Syï,�KÎ]z÷§@jÜç…Æ\œ—Ê{GÔ—ÒŽ­·rW±¶v€R3IÒwÓ†+¶%o,ÑRè:…³@‘¨özVe9¢Á_ï+/«Ä]uÇW©OŽ¯Ò&ÁW‘1¨jÚ°Ã–äÁ3‚î¸ÕbÉzFÌ×ÐpõÚÚÈ‹¤‰÷ •z�í™2³¸3Î¶iº!“Æ<!ÓL2Ïz‰ÅAÍâ?ÏKªÕŠØj¤p5Vèîºu�jÏ[ÕÞqÝ®²AqÈg	ñœ¯îFGîÙ~}¸ÚIDÙ�×Ù[wÙ\g³9§Xi	ãjÜ¤u<9~õU“\*ÐÙzé�ß%s¶]w«×fÇé'êe�,•jÊL¥Ïh7j,¤eX_i»Mmc¬â¾½LEü¸|
-.½Õ>?+TÙÇ¦Âk{Š¯~žUnb—®ŽÕ,öóô4ØÚzÆæ¾Å£ÙÍSÈ¯zµbZ×·)wbÉáºtëW2ìéq%
:ýzƒ’º¨ö¢íáç\2¢òõÓ²RüªÑ=y¯'£Húæ‹Ó†Ö�~\Ð‚ùÓ©.[0'XÝfÿÜ<U9[ºòB—}ruþ°_”.°ò¨Ž±�Øá˜Å{Ö`
-æ¾EÇ(Ü¥‘QmBmÅé†²>àF¡3³H&ò•';�¦E“ÂâLîæIW&;qŸ˜ÝîÉó’äñ‰¶y]ÒãöîÓ$îÏT¹Ñ�\ßÚQC;‚ÚVS‡"qÍ
ú	ÏªÜ·óbÞs�âçÌ*•Ë�‰:—,Of
-§¢
æŽÐÈ
¡([ 
-+X™Ä‹é˜¹1qºÕV„7œ§„7b#Î9<½�î÷O!îÛýî+_÷«1¤»JÛkæ?R‡)Ç´FÓ¬²hm�ó�ÆˆÇT~�}#Zfyõv?
D²A
«þaÕãÅþlÌ5¢MÄ*ëÕ†iîg	½&)]öO
-Œy¨Æ%’œ$q®y‚™#~m[6>ÀWƒ?0ÎŸJöðÚglÌÜrØ˜mÓ˜xÏëèÛ	§è´Ä¥hð	hpI±wáÛ®ÑºHm^õ)#z·‹¿6j•Ÿ®RiŽ¤»ºqÁ"ál¨“*ÿ¸
¸÷¦ŸÕb¬*Ö}¦T©Oi³£¯¨ÝÉÚQ8Ó9‘TU¿½‰þÆ¯_;�ÂÅžùˆÆÆG¨�Õ\Á@?ô°�NÓç•µš«®¿•ù‹%*óÓA«¨=/¨À(zùW`ÈËWò÷í¿îy»‹Y³†-®lJ_KjQëñê[~/ÜKcéŸö5QµªRnzY
XØ‘{´^.…¯Ò!I¥ß9Ñ¯ÖømEp!.Ø$ï`ôsàsè¬k hîâ‘•E?²¤ú«UàGÝ)¯–«iY¯Ã»réÛ~!›ðƒ"›Á@F,‚ Vá~BÌ·’CÌ³_îÍW»sv¬ºÒÕjwØ¢:W³kLÎ�ôWø.Ä9âkG<‹7èlH[&Ñ#ÝÉ¨Cpþ¨�½Z£«oÂ
ÑhƒBN|ÈâÕéZÉê OÙ€Êp‰DÙ6=A×¡TJÌ¯]rP9[•%"Y­‹§VéVôJC¤H‡¥Z!å—½BŠ»"­~ßEwÑ,y-fmÿºÓ�å£L6)/WPj›Ê»‘í—Z§4ÚWoñuÅÉ:5côh1¦ˆÒ'¸ï¨›ÍX8Ëw*EâÚ+Ób€ìråb/øMéPhKNlßŠgfô-z×C©p­>ˆ”xD
~7<OÓ|#¨ò€‰îi
-
-7
-Gã9ô=0ÙÙÏ7°àûÛëÛ®-�šnß¤zó÷°,£YßÌ¹Ttû~Â¿˜sÌÂJH£ïÉ„H_��£[).vV©Ûnµ‹Yüé¡9†Ÿùî®µzqþSZ²£HÖîšÏ¡ï¤fŸÈ-/U"×êj`�,[ Båûü¨ …(Ã
-(_e”÷¥1(/;Pî.�‹�æÂ=‰Íã~Š+“å–
-Âå]Kpúú¸ÈH¸°½[ÓÛ<'{97ÀÞaâW–ÑEpojnnÅÈçÞ;·ºÝ\éÕ÷�ÕN
-6@s¹]éša‘(£ÚB†«*%[ûÙKº•§õ•S•x¡�Ê´=•~ñ*–ølÍ›n v(jýW—CjRh…çW<Mˆÿ.ÿÊÞT)áã“6Í¶êp€tÄ¼[äÔn–ÁæåhÑÌ!ÍèIw2Lü—)@ßTœÁ<dX?ú)å3´‰×:@¿
 évÐ«¼èîøèB'Ut€Ž®s€¶¼{†G‘-%7iµœš!¨"cR4f5o#¿EœÊ6Ï4n�wDõvY¢‹97+£ÖhTô™w/ÿM«íœ1�èºV†•°(»þ°¨:YQ°Øý|þÑ“Ø+C»�áLì)JâÀ^Ü`§Õ`g-°õ“ØflÌ#€
-o�ULÃä¦våxAiÌ[dcÍMñ<O!~ú@^ŒE4²ZŒäZ½“_—uÙÖÑyñJ:¸ó^Î¬Á€³àæÓ¸…ûï·€Ï–+€oAðT¼fð>€@%@” R‘£]@T6@ Rú£ôB·ÀÝÀ�˜›á´x<Ê|ŠP¿-´ÕGÄˆ²Z5é:ÞVªÏUZ`WäKÑWæ†Ô<VÊóÍ¶ÄbPçr’3í>À?Õ ¨–ÿs”VoˆîtˆqvÊˆIy
ˆUóˆcxÄó
I(e@
-[�"×Ì°ê²%ÅÎw@ê=�
R$“Y±@BH>ÃŒm^pZÿ«µ‘ÒhlÜ6'ö×‚‡¶)B;IÂß+òYÙÛi©OOö0”£\V·L±\OþÕ“Urñ¯xÞ\ý�)Øß
-œN€ª @±6ôãé5O( f¨Ë¾¨Td8¯
¼÷ÿôqHu@Ý³´–:P@-7Åß>M–-yñ¶Õ¼ÔÁmÃ0»å#«ër]…Ì·”
-l¶öa…’“ÖpVÿŒç¿ôä:Lü/Gð?2.©]-º@;÷< ÇèÇª
-œmF=g¹¨flã _ÀŒN?Š"3¶ãV#ÀèÙ,3†YÎðÔ ®u¤²äëâÀ>(ÜŠ¸	Ôå[ qhÏ e²ÅæS£õþ·éÅïh~ò;†_+ðok‰dÿþ9Ê¯‚û×ü+ãþÕrÓØ2.Ö[€]7†€}w€+ÅàhW\Còg7â/à¬	89¨)ùm¿WïÞ’Î¸ú…‹“L)…xÛò¿�/†ÔÍëmúWOþkMþ{ø¿*ò_ýö¿\ÀÿÑo;ƒê�žü+ÞZ†	ø-2Ud“€ª7+€ê{*�@@ä+¨¦)„r¿–áiü¿‚-_|Ê+¿ÇX‘¿m)L¾vîeãâƒC¶[žGð¡wªoçÃ£|˜NÚ¥7Ob®·J�Qw³·Þíý.‘ÌãÎÉuÓ±<¶Ù¦ûÙÒñ$·I�UqÃí6èúÞþ°káTiÄ/Ï´âúõ1[…‚_ASÿÿßn?oÿK	ý±®>
-v¿v®»ï%­Ï
-§ T/"²@
-=ºšè7AÚ£ÑÜsÄÜÒ+¨³á6iw=BÓ~ürNÃ?ðÿt`=eÇfïÑJ¾}×+h„$Kí�œ—…)÷ˆbÉÈEÈÂ//¶Ú‰] kAŸ;•ËlN$Óç?þ>(ëo¯�Ÿ†«·-1=ý�/ýÏpuüšÈ:ÑÓ(ÙzPù°ñ‹ä}}7¥ÜzTé•ãú©…¯ä«D/µg•�²"LŒô¯$/¶Jí§ÿª¤Ï“VÍš;%ÕùŸþ«½Qè¡ÓÙ,uæËŸûÄÉó~Æ]Ê·éˆ«å¦Â}IA�oõ/MB¥Ë°zÿÅï@[…žG�°øÇºêåðn\?¸Þ2â´Q‹ú<B¦ýmÅgY|™'ÚêžŒÙ'¤w!4óñ°8ãŽqe:¢#|*¤[:xù'>øûü«ßæDþ"Ö8RÐî¸™¯GqKGFi±n­Ïchc}lˆ[Ö ñòó?ðÀa”ä/~íµ¿�öè¨íüÞÄÅBùÇz®‡ôf©Í¸dmOGä¹¼zïIpärò1Û‰üfãHb.ãìBº�Œö!1óýí2eVµ8HÚReàà&9 Ž=Î÷èAÍ§ÓµÖOýw»Ï=±Aï>ñV=á›^½×<$½@Ó­ŸÀš¥ð¿:èï¼~UÆ_­ö÷þýY1˜:2‘Ÿ9Ö¾õê(V,e„,]cˆn:��ƒº=ÿäôG¾GÎfý´7Yô}v÷¹Ûf×»÷‡ÞH¸\zÂëóð‚Æçã5rHÞý.„ŠjVV‰»PÜ»‘qlu›ªçÄ�îÂ1HìáT‘s�ËÈÌpïýâ ™A _i�†]b:"äüD~_#‚nƒÄH?þ©ý.ö�×ç®E¶7ªbµ?°÷š�ŠÔ†û
m7Tš®«ämß…–Þ¸Û,9Ónaã/œØ
-bÇ@ã½ƒ$é¥³íBÏzÁ vÒW*mâî±öi”ª¶W\›þWVÎ +�×¸,SJçëf†³±¥çG#ÒŸæwŒãÂŒøžqðéÃuÓ»÷—{/ç©JË·-öùn³p«tk˜rŒJ‰w�=UïØ.wÐÛl'^Íl;ÌO÷¹6q5=Û«šƒ¬hêV:™.,¿~Øš÷ðq6G*ö2^+©`úœ6å¢¢w£¾vê‰:HQWH‹É°¨­¾Î¶>K§·ò8ZÎ>²áŸ{£Ùtýãé�o3š÷'ÝÂj9Èvò£„nÒvÒ=¾ÚÄåÙ÷*Ùô£€Y~­@YÜåÌûŒM"Æ+âT#hÊ†Ñ(Z=4;=]©Ì&­¨³‰ZM2÷Ó«3îQ÷¦Áºp¹Ýhm;2[š]+O3¤7
ý2y5	HTx!�
-‹Êç<Ð?�kö™éÞ1Û·¨ƒ…ÙòJ¢Ø·O½ «%oÛ¥Å½¶;sÔ8ekßxÍï£ß?ú7Îçu¥œ/éÐ®Œ¶¢6I¶
-G’mÆ./4‘T”´­o´4ôá´ÕdùªSûÎ•Ó–Û+ž=|Êé!-É¾«‹²ïážÌ7é‘Ã²ìBzTìoØ›çÅqi7Ä~Ý¿®æ7n�$×NìKºXZ·115Ÿ§oŽXÏxƒüÈpq®çéòºÕùcs�¯ÍrWyi;ª�ÓìÏ¸¨äqEí¢?>%åìì8¥'¾ëòu–×ä�ÌØÒ#1|iìDóÆûýMÓ™üjHò¶ÒÈåë�ºÚ:öêªÞÛÖU¯ø¬ÃLšNº×Ú°sìàÞwˆåœlÊom¦ Ìÿ�°óÜVTÛ¢õ¬‡˜"9g”¤Š¢(æœ0çøþ]µOísÚ½íþùªv“ÚÒdÌÞ:}>¦�YrÆ†äµïŽ÷NÓ…‡Û 0�ŽêÎb¹èåW×í4Ï8Ïu®ºûH¥¯¶Ô&^ÖÅÉÂV-æ½^fÍ®Ô”Œ×x”5,dj©ðõ¼D7t$Ž³n~ž\ý,Žâ�ÌòÐ£3”Œ˜Úz3ˆ´õ¶°Ip~iëƒô Ò4�†2]szi¨Â5Ò×R'é¿2ma¾Ÿô_E£ü&Û¯æYÙrµ Ü¶ýúÈj�ëÉ�l>�æÆÔÃþÑx‹«»a5WoÊ½=?{:â‘\Ö=KJoÌŒ7½5Û†Z �={+u?:=T	å4ŸëJdZuE�R«õ§ÉGôîx™r¦ÑÞât•nSþy|N^’¼uÑ«>wèUØÏøsdŸ¡bÕºÎï%ó1º‡¦�`]Ã&°±>iòK¹KÛ¬§KÇ,�îß/¼34Ý@´ Ú"“Ù+—]IgtÔTÑçå¬T«ŠÒ™vå›ž^È™Ø¹JOÿ€K}ØÈHÆìJÀÄ0É{‚ÒöÅlÝx>è€IOS¥;²ºzpö²uÖ(;ÏîN?¹ÇTjY™§Z5A®ëi·UÑQÐÌzÛY?ãcmk-—7YoÕƒs9©âârSšä(Ê•Åä[[gä,ZQ¤çblI¦t÷%pUÛbÎiÎE}&Ï‹0]Q¡`�UK‡¿è²óã›€î‘t‹[K™0gîé
-_è¤Š/otu±Áz›¯�™ÝÂ•¾ùÊ4#c4ºWô‚^ò²$-3&TµjIo©õ¶5ø�•ó3?•ï)m!góÚFêÏµƒdzî]J‰Ã´8:ïIÎ½a†È†€…•"¿×_¼0žlÕÜ:“JsL¿(±;‹(³;y?cw´~á5%–Ì$£ea<§ËÒ²š*¦VÍk�‚ÆÛ\£¼ŸY:�îãb1Ò»u%³V4O«¡�‚*­÷¾¢îOu¹+>:Ò@Ý÷Å±OD8šÌ7olz=ñËûæK‚�Üc<ùîq\ÅŽ3ËP.»Û•êl­¶±‚(í˜ãyœb-Iddv[¢/‡pÂÈ~f¤—"5Leª%¤Gû­Rò¦|uØLmc·vó™i·žîV¤ÆœYeMàqO¹¦æŽÜ�Gžd•ƒ@Ì×ü†0;W‚Oe�	·ÁÚkŽ-õŽìžÚ<ØÚ
E˜S–£™ÆËSyçè«OUé6]éÓÚö²¡µ\ÒÃP=áÂQúªêRúÚQúxs¢ô6òúFhÝé¥î¦¹¸›½ä…¾»±zx4ýÕ“©ÖÐ„N¾¬´É«'½{~^œäèœà	t‰÷ºÆm:\ó£Z¿ÄZâ˜9mŒ%£pöŽ¾ÂÝ®OStFºToB‹”áø&ÐØ'‡G¹K—ãiûÌƒLÓc†˜Ì²1™Â½m‚øQOÝÆZ¥¶òè¸8ä²P�Šù‹}kÓ¦í‰Ž_:Ýû~5”ëQ¯HÃyÏQ•Ëñ+lkrÁfê°ás[aÎæ¡Î(ãs›îp`H=ëé9Õ—¸
ZÊ‰iÞ“Ì!Óäê“éà‰i1£²W"ÐMÒð/‚Ò/r—N,ó$¶²^6¶²W]l¥[œ(ï!RdÊcÐž#a©ü~ó:ÿÊÞNU™di­ÚUÏô®!÷!6é.Äˆ<~U#òìaR7˜f½`Ó�q¹Hõ÷Õ*•ë9:�z$¬NÇÄ¾Åæ�=¾$Ä;N–M[3M
-+ïÎ*Æ„JÝ‰½Z½$‡ÀW*gäÈAøŒÔ-©r-äp+”Ç�k5.•4?£s´ë5_©Ü™;ž-à¾×_á;ÃÍË=åV�5¤\„b9,rÕÁ3Ï\2M‹h°Næ‰TžpUÌÇ—3>ü�q
-—ZXÅWûK¦ènÛ\£?:!Çãù…È
-†Á­ŽÊÃZ¶c¦»ƒs9­ÛFzÝ&kh�<w�%l$hà
èÕ7'éìa±ûšèKÀzRz¶û|3Ò1ggcêÇ«¯ð­ID®'?_ãH,,�*ÏÌüÛP@�Ö¥‚E"ú1‹S�®‰†T)�œÚ-‘ŸÝÜ6Íôc<ë§{ùãzÏ_kÈ&±­óàN9lƒH!û£’þ0ðu½ðIzš`xxÇ`^C\€»Ýp{©Yù\DT¯ÀMÉ|Ý¯¾-3_;é‹Û|�´Û`ªªM³/§³–P’ 'èA2G¦™³KN´¬�ûÊ8‹Š–¬¥ûÄI‡ì]œKM…�—B£},T(Dé&ÈÏŒw€èÁ@„y4ÁNDÝt’íJö<Á;ùÕîqÉ|ŸPÝ XxÄŒKÏûD.¬Se"§vro3·¯œ³ëlo­5ØçLÑáì@œmmžmAu¦m;Ê6W¾"˜z(ŒôsÿPSÓ];HÛ1ô>®NÒ€,Í¥ sƒ9 óI'Bæs¯k�Ž¤&˜z€Ìr­ñ
-�‚õ$þ	Æ> .Åi‚ó±˜;…²Ãï%Üz-¥·��µS2Zî–í�ÚêÝæÒç‡uhtXÅ=5hPÈD1é÷ÐÃ=•‡³“¼Á£8Ùß;È
-�s€"  D=”Ñê$Ø�e’«Ås‚u
-P–Ä$ÇBYý, lÚT2EÃnlÒ€B\�O29Òç3äÑ»»¥ª"åZ+7ÇWì­—FÖE;ÉÑV~¯ÎË¤‹aÆœ¸®ôhS™GÄ"ª¿*—~`¸ÛØ9"Q º“¤ÆÝÕÔž*êáV�Œ#@³¯> 3ê,Auhç|tA…Œx@ë¨™ 
-mP#@‹ƒ# I
tê˜4Ô?JoÚÛêRN˜:¶~»àÆÜA@6Pó7µ=é$ç~Xñ<�M™ìÜ�Ø«×ÂjÂú‰)AÈ³[´FÙ€nY ÇnòŸëV	Ð—]
0ùÉPe¨Â0òh	ë¹Œo<3\alÁÍ^0-ªž`<L ÞãiÀd«9Àt+Á5ùgb„ä®�©`ÙÕ;i!­�]ë!�½OÃV³˜%9g„_#5Ü»/ê©E!ULª[Œ¹KþV Ù*)ïÈ‡€y™`±f°üvX�X¶œÛÝ¼»qÀ>&
-`ì'Û–=Œ[€=ª1`_/Ø¸*v¥”ÛÜÛj\P„ý’9u±ä ê2ª¼|ë-–*á•“·Û59¤V8S¸?Vº©%]müVÃbfã?zrgÔìvû�-8ý€¯˜ËÙÀ•Û[À5Oði‹ŸšPÿ„9,K€W²=ÀÛ·OŽC|^Ñ¯=j€ÏŒ—€Ç¤�nÉcÞî/€f�C’×Z-™�‘ió¢=éQiq&˜ò}‹tÈ<´ÿ«'ÿVó-ä+%ŸÃÏÛpÿq¾"îßöòkÄ-Ý€ÀÍS é	 lga³”àÖ"€˜±q (ˆÙuˆBy„wrŽEPç-„$Œl˜–d°N¤_=‚Í®Vi²?0ÚîGh>>-ÿ­'ëùkþŠ·ÿø€ÿ*¸ôÛ/þê·ñ˜!e�äÊ@ZDÃ�v)Ÿ�ôFh ãÇ�‰NÈ©Ì	H—í'z7iôýŠ˜Ón�².cáXáekÏÑÈîŒãâ†`NÝþœ�¯žüµ&ÿ—tûÑ“¿fàâþ?a¿
-nee
-k@ñµ)P†¯PÎ¨ä6ª5YÕÎ¿�Z†øëþ_ÉVÞR·	v ÎI%OµdšuzUã�¾{hÃýÊ^�«áÎÚ–[Ûü1×ÝÌåÜpg¤ñšêó³ÕÆTã;æ×qˆ0»X˜«ÉS¹Œõ¾¸–ÕÏ’Y%tþ¨ÕèyOX«³w3•ŸY÷b4ƒzÊá7ö#ÓNæyTšxðSü›6ðwm§¯z<éØq¯/Æ·Ti%ì6¿�ñÍ\¼ò¼i«�~2â0=±—Öv×R»¸Ð6QyÞãÂêì]ê³¡6gP+èLó�`0ñ€3Ç9g>öáh;Ú¸½óˆ�ã÷p_&È¡°ó“™ÅàRá ’°c‚1ú‹ÿNøZW¿ÆÐï§Ýë8™~Å{s:\FÈh±h£íüQÞ^ç=NÍ†b
-�æo;b‚ºÔ˜šÔØx a¸/–>VWœ*%}±5ûŸÖ®ß×Î³Z¯§®[=ýþvß=)îÚ xîB£Ü™ä‹ZÇA�NYBûö¼„Ÿÿâkþ�íµÿ1†ÎõÍÛžæ/sw‚÷&Aò®Ý·F¼C|?DôfÕoóó]ïÑ˜Ÿzúu~û]‰j˜9C]¨¿MvjžñŽ“zÒd’æÛÉ4[ù�“¦˜Ó[qÑÈ·|2,ÿ¾ú5Ùƒ¾�öõ=…òÒŽ„[µÛ8u¶‹¿ø�3ý¨Œß˜�)Ò¢å¯ér‘/®¯íïjO?¿¬O®B÷XèL¸Òq€ÚlÏsÙ^ŸeG-ÏÎZTœ‹›�Œ)ì6·�öÕâ9
-ùê½qj”_�Hn¥òuŒ×Û™%[×žw%|x;ìYÕJí=YtjÃÂgÍúZ2:¡	N
ZUZ	�/¾gñ40Á»[ap*.±ž~º¼;ù—ûlÅN&ÝÜ
²É®=!
-Ù0	û¡Ý8…ûbC>ï+õ¶ºÃGwýÀaò/;¡þ¾ökïá{\æ�y
šAquâR»ªƒËç*»¿_ò'Ø³•¸†d*¾àzê´k•7Íê®h9ºdÒ¹¯kõ‹ïužÌµ´”ÜÉòº�t¡NåÞŠóóC”Üä«†|¼íëÚõyõçÔ†œ.$15h’“ª§š­"‹ªÌ‹M'Hz^¯W:åŠÏö«j?m”7áª]ÄóÀß7oÓØ5tU:õèC‚ð]ŠŒ-Q¼ŽQ¹ØÎ…bE:Þc±;{�e—ùºVHö%49‹�I6k„ñ1¬–§¡þ¸tÐÁ ŠÌÆóÀÃw»¸û—K…Ú¾^åM�‚Ë� ‘þ>ÒX?T,Ñn®ZŠ²ùlI~•¬âuPsŠm«Uô“VÅë9ãºû^,;î°x»6%m\hS½&Á- G^ræ�‘ûQG#èxªöLSŽ§!Ò¸ôîpÝw´~}õäz†*L“òj�ÀÃÞ�ŠO
kå€ë5ýPJ§Ö|V’ûM±mœŽÅL
-º{�1
<!Òî{.&s1wèehZ‰laR6¤‚Ã8š3¯9†ã	¡“�£¨”÷•¸ž§îÈ ·éZqŽ}·.ö~øFì0W’í0/¶ˆ<—¶ˆFÏçÏ85ÃÚÞ ÿh(;19cÕi�ŸUÊB¾ç×Ñv½��_¼v;ž÷&µéiÓV}Z¦‡:ÇdvŽÇƒ“ƒÑ[>yA>óÔ•Lå6m	Í±Ož°÷}“³C³([§qUÿ�­(¿p-5³]{f†—Æcý¸½À#ƒ‡ÌÇŽaÅµþ>uN=cßÀ›Õ@~ÖÆ
-ØWÖráK7mPÌ®ƒÈKá«²›žòNa²8æÈzö¹.»ò¾¸nä6Íc7ÇÞ�C{ß}Íì¤uˆ­ÓÞZQŽ9™×3ÛµìÛÌè5Ôè
”aøkInï†nwÕ¢žÖ›QÖn“ÉVN9dð4�ñæ†šÌ,¼^2Q ŠµQ‚ÝªS¹D£eâ¯*Îm÷þI¸,Šú¸ˆ¡DÎr;
-òëææ™|ËÊm=ËÎqeÍµÅ®^±šx)2o~¥kf¶•¡ñ¬¶f†ñêÆ?°³�>*].zzsyd§*�E_‘Y,+b†¤ºº¶º¾ŠSP#u‡õ§*_z•#]F”úô©*õÙ¼¦Hž0Vêóî¦µîÊD8¸ož•Mqq(µíå"¹Ç&­Óà+Ôæö�r`7;×º×¶ÔÛ[7ïüÕ6^ÔÉ3ÌTÕÇÕÔá†ÜÏÎdk’ÅÚÖ"³tjÛ¹¨µu}öÐ˜KœRwˆP”â•ã¡”\}E6gEù
-Á‘¬9æDz ‹£¤—X|S«Œ8˜:5ñ
Só¥}³6„ðš#Ì_å°Õ9�jwQðæóAž«�¦­8RÅ|œ®ñîR–a-ã¬>ÞDÉ^tí9Y\š”3¥Ö<ÔÖ�¸¥±Þ¾¯ÖVû±*”¥ñ@¶ŠÜÎòÕs_²¶
-`©§NI¿'-ÎÐ“Ñ&Z¡]R#ÁÑr{Ù¯!~^/(¼G¥ƒ˜Ÿ—â)?÷©]$oNxÕ‹z/?zT^zPY|õdûÜXEæ³ŽU{æt§ñ°²^ÆÓ2¾D(Ú¦¥Xê¾§¸ª2e%Ê¡|�Ù-9ƒÛ=©yãXJn�¥Òñ^´«×›˜ˆ”àD
-! v$ñú‘ã‰šp+¡Õçü3¼ãèfbƒÝKbƒý*`ƒ…=f·è~×Èp1ø[ÿYê…ƒ‹AùEžg¼~òTvÚÍÆ¯P‹ž´BfåLLí¨ ˜ƒ¤D§©&ß”­-=³+W2Û²hO¦UaÊ­"Á9ÜzüBzŽù"Ä­xbã�¸UÐ{qåÌ
c·‚g«¥Àü�YžÚ—™z•í2ßZÑç~ÑM Ð*“óéf>=¤›š½®õ!^©òö³ØeÒÑ9©fôÍþ³ÜÐgð®’Y§©‚V­G¦*!@•o§¾$õ;¹ä-&Ž¹¬0�˜¶€¡9—/e®\ÉV9†-&/ûGÈV{«9ËÑ=S_s7FjUaú¢-º…r:u/zEªKnZTv£-É—3{�ÌâÈþ+&˜&gŒìŸÑU˜nùX¹ÞPžÞèNî¦�Ï¿þdclæÙ¥;«h»TP¥±gÊ�÷V•RÕœ(Ì¤Ç/µ»Ì­�»Î1£WŽ­±X‘9†dÀHg²N_šj÷¦5¸0¡î³ÎšêÖÎJ™ù:)r0Új¤•=BÚMb¼@DÞ¬Ý¢|Ö^x[î%8Ä5ñp¿y¥ŸîLOíóxÏ-]!úúl¬~ôäŠ_+«ÇÅµ ß÷SJÝúªà–x‘§Ø%ËîAW`NpWcdwlÑ­ÓÚ¥ÊÚ§ôÎ®F¾]¸MZ19"!?»$&týHäo‡7�tŸëUwß‡üŒã£L‹só)VzŒêm(t#•òUbÚXi9ZVIÏÀ¿i'…åà²ÏÉêæWøÎ.X]«M-_i­'Ž4´)¸Ç²ÊÈE`…sƒeä»•ôÉÔ#Ö$ò½Õ²¤�ÍçHèU+ŽÕ”Z6q/X÷p‚OÍ°ø˜Œ•~£zG7×1ŒSR@¹BÕFXÒK…CcŸÓ“u3¬'‘]	�Ü,é.ve+z·§³�Ö{[ëNf_á;³Ñ_u5Âd_îiI‡8É¥Mž†L•
Ã£Hß`—¥Œ!D‘éàÁèÒð"„˜ØÊÁŒ>>º­[!Ê]ÜöŒZ­R×v+¸i�°šbÞéÛ¸–Œÿì1=¼õ‹ý6dBÄ
-íöUC†ŒU�ž¹Y¿|¼£¸—Mùmí,ýÝž}eom?<Ö•v‰ú|‘:ìEa¾ÇY�i‚�D=»%žL_4NJ=­Î=9Ší"5{¬v#'}×'~:;LúÐ—ýè@æC)W_§rqå’‚ý=fŒ,¬Ö°“Ù+’u€yýÀLå0$?Qm`4ùmì†»ø®ùÈ)d~k¦ÓÎô�ð�^ÖåÞ/‹SàøUöi³âSÍÐYu)“¹Hãñ%wbÐk?pú~{ÒÐ`y!ˆzj©|˜`vyà68à²]O0ì\�–	’i6®œ`€«y1ÁÅ8[ˆžtJ{F/€3Àb¨’Àíß×–tÁÐ¼[OMÞê^™f¸^¡û¾eÐÆ+Â¢ì¹\µqÎ1j=«S©¤m!°›&b¬³pëŒâ�õÚ&-WfþÉ	nÀ_\!�WI0ù8Tñ74J�_'Xß~fÑ]	àÞM°h|c$¿Nn)€wz*Àknp÷8öÐ¢‰äÅ-7G¾Í–åô¯ì­dùY$Á(ðå�WLÆdi³ýX«yƒp‡
cÉ}.?"Noð6
-Á”Dh€˜fì�ˆí¦ˆÞIàN,w€˜c�
8ÙxÑ,bÉõ?zò`¾Dd#€(CY@ävM@h¹e¡¬a°ÝéßoFÁ?m~…ïæ*×—ÍÁ¸),‹H�Ï§»ÏU�DæŒ…ÕZQ*W	©­	HùöQ­I…�iÛ: ýa�ÑµÈ‘%¨ô,ç€“‡
ÈIŠIPN6ž¦@v¢ kÔ	�nLÒ(Y€4Õ ¥ó._?­Óß|ï¤» ;ó�vtÀLéªæ@œMZ­_á;“Î”ÉÉeêa[ûe#*eeÓ)q£€â‰ày@á¶(¡�”¾ÏÊ£J€
-ó5@õm@Í_c@²«�ž|è_uÄ’¿ëÉ?\>m@ÅA¨ò	œèÞUÑ@åï œÅPYçdw«5È˜õ×l¥°Ùir†^Ê�›ýú½•Ú#¢ÒK.À£š\}D].sÐ¸Né Ôm«€ªõ4@íö: îWÐ,bZÓ]@ç@WÖ
@·± 7Å ¯«`Òô=Aœ–DÉÆ¨™`°ô‚ôäþNt£\t¤Œí?î–µ,¥¿1ß™}öqTzEb%zqaÆI©î€Ýæ¿Fj¤µËùÒws€†ßfRˆ�û£'_`Èqék
-þèÉ_·×3È¶³¬óº-+GÀºó7`{"	Ø09H¶˜œy¶8î¶dîk½PÀ*�,`™LXøºÌ£õ6Ù…ußÛ½5¥ñ¾$£å´Bly¾“[Òƒ^cLP�a¹žŸ

^þŸ¢¾&åÿèÉñöëþÇÜiÿQL?".À1Î
-p¹ø¸–˜ú¤7\&4à)Ý<´~s¸;¸$Q€ÛÛ9À- 6àúãàZÚDKƒ?njsŠ<„ŠG™G£°!	µ2C›™ášžFÑß’þ£'ÿ�x[V&ÿ•ü÷kÃõ®®vü3†�ÀË:G³j!ºB/~aŠ@X~ÖFBã2‚_¿¡,Ñzy³¤Õûî�JîKLqÑÊ¾SÓvõˆÕß•8='óÎ_‰û¿õä_éö¿s�ÿ“ãðÙËÿ,ïö/Ï«öYImÍÉ(Û@ê‹Q‚}¤A”ÒÉÕ€¤HçóHëð
¤IšÍœ2wAI8%pWùÞ[?0Qéwnˆ‘níR´ýsv¾zòßÿ©ç[ÈÿÔð?9ÿ7éö«Ú²ŸÈ›t(Öµ”x¹Ê¨„5UÌ'�®Ñ*
��r1 ÜõÓ>þÕKÌ¡ïóFb>«eaÌIèå´ãÉèä�òhêïõøãRÛæ÷Êºô¨UVpkñ>çF±0³ZË×»K9ÎmÚšÌUk1ïñ¥ÍìÝ(fÖµv›N2ChŠôOôdnÉ™	>”Çq¡�©˜‡>Y?ðˆÝJÔàT_cÿZÌ+¿ä.'¡³^´I)Þ
Ië°�°ùû	(iuE4Ó€\Ê‹»ÐÖ+q®ïGÊl(Ž²3¨Ù7§ù{ÓžÌõº3qß�â'Ön–Ç~º_m
-ýh`«Þp_:L†Âæ¹D<}NÐGú×Ïµo+qµ÷è66¿A=_üµ®~“a¿n‘­*ÏBí£Z#LsÑ&¤ájŒGÓüu½œ"�Ôaâ¾°Û˜_ž£y@Ã½wE†Âê„"fOõ¯µ˜é·…ýÇ¿º‘{=å”ùã_Õ¡B"~gbk�2-
~àä�Ë¦íáÒ³�Ç±—�–Ï†ëÃý_|küÚkW›L®òwý©	ÞãŒaˆMíAD-ŠýkpøD¯¦Û}í(~¢Wé¤ƒíZO4îLÌô¦ã¤ˆC{žGÏm!nm|Î½Z±§~ü«ò×¿íkU%
-…‘Ù8E[¯©\”`2¯_{ì½Þ6q­Þ¶RÍzÊŽ¿ø¬Ê”üñÕ¼¿5þ
|Œ¡_ëj÷½Ó�IöAv�!.¶ñ)žiÅ-—ÌªJ¥æ¦T©6ÙM-ŠöA«	‡Fÿ×¿*_ÓúµÕ]ÖÛÚx“ìE{,aÏX^BŸµaî
-Õl„"«O«Ñ0«IÖªÈº3	æ�ó<Þ6O€ñ5Oà0D_ÄW«mÏ-äÜÜxþîŽBÆ¹4"Á{×¯QýgÚ¡ÃGg%…�nZõwÚ®
ít¡f§‰RuR@+Õ¤¥«È’‹‚yIée|ãM+>ç-+Ô¡½ÿ~É_f/ç”fê£Žfzº/¼ðJ‚ã¼tñR”«š	î_ðp_ÀÈolËGzûÆ©ºú|ºÏŒ
endstream
endobj
122 0 obj
<</Length 65536>>stream
-jCã>©Nr¯U™cÇ`î©�À#Jé_µˆJ\'³¤
-µ‹åMm©–a§—ÙÓÅöCe—÷…ÛÅ+�:¯r)Ò±°xbÍbÛVÞcjÎ<+oÝ÷rqwß±š4Œþ4ãÚI+áB{vãB„(Lê%5AEKžÊ�ú=�-jîêm97©Ù Û
æ.U|j^/Ü¼ãïëû±ÊP\:µ‘])Ê—’ü´^ÅkßƒŠ™”‡z�q@z½|Äºïy(¸C¯­¸61ü¬�­b»à0qÁ™×öeÇ¡F>n²ý¼¯––yê¾»æ6=
KpÉæ³å8È?ä¸tN`Ð_Ù»í¥§o…É¹sÛjU“ºh¿tjn½¸ØÖ;%ï1Õ<#½j»ÃÂvàÚØsæB1±.84º+ [îìÌ«ÊÝÁ�â+7²PÞ—shžºÉ\�)²9öÙ”íÐìë¶˜Ú:V”V,ÍtÌë¢÷qB¶KÈÕÌP!n<¶¬i<vX/Áêh<ö<ø^î(TÑUÍö.Ã
-]z7KÑ-{�wÁq‡ÎRw¡E+[@Ö
ÛñØA1‡ã�º‹r›æ®“ÔûðÎ±xf‡Fji‹ÛX§s°˜¹˜×™ô0Û®•2q5z~ƒÑßÛ�¬«K·©¬C§f';‰žË¬£z÷,òL‚«Ÿ™'ƒoyÁ»¶g±IŸ>«U@Â³Qéüœ7=Ó=W
-…_pˆuÃÈÓîCÎm¢ž˜coCÍ³±m�×R }Ùl;ûš™AM£W¼vƒ|ô÷™èÃ€]ê6§m³“ºvü�³ŽäÞ3óV�ÊxÚ„ÐâÞIÔ|S°4:Õ¨¨›ñ½§Na£rèR9l‘Q9<\‡ßä‹Z.è¬Ê5¼;ö^ëv«à*‹ _‘a×>†%ËºÐûÏ
-ì*fóæM&x3Ã£ç�5ý½º™ºÍÜòÙIíæeƒ²(àê¯¬´3côµøL5Zcu‹ÇG•ó÷wå rˆ"vmV>'�²Ü$ð’t+æûR‡9ÆRfž}H™~J�2õŽ+>¥[½q!ö·*vèl|ÙnLÜñÃoå7|3°ûeÁ|0É­2´U#5á=×Qzú\g²Î½(dzUËqÇÒÊtÇù�5z;-©Õìªªr¯CC©[‡¶"ÑèHnv¸…¬fí�ÔY†7)[ÚÂbÿ†²¢ÙñtaŒÍKB.f;üŒn¬øL¾ùBw,ò˜¡z	ú�ºo_/uò¼<
-Ö¸àF+ZÅÀÊ€nÁ°^WCO55‹{Ï¤o+×im]ã	­ü–XuGó’räIM‘’%_JWV7_êr…ª”}vZâ 8ˆy˜	ã6Hö" ¨xåg‹2ÄãÒ‚á–W4Ã•Ú~‘Ý û6[h1ËÊË³»UdfwçËÌnWm…�ÞÊ!¢®½aC;4CüÑ“S)è(™8¹S´@ý|g¡†¸J)'j‡*²3ÃåVÉJÝñLßì.+ZáÑÆçcA@Ôc‰Ÿ#p�wçR›‹ÅÜˆóA'æ¨ÑáÄ,úfÙ}�dBcª2bŠpé(ïE´‚\“gŸºöÝÕ¶(‘jËË"u�Ìv
‰¼›yÌÚ�\ññWø¶2²b¤kùB–††¬QE9ãeN¾ÞR¤ôX4ñ½ÖÒ"4pÁ!tŽŸ—-™ÇwVææ|Á2ÙÍ°T`»Uf9zÝ`ÂÎ½Çˆ:3£“ÿÏžVüÎ�º©)ŒjßsùÔGy²ˆ:iŒÚI»ªá7bøØ$“‚CÉ%ŸjVñ­r-ÝfSX°×Q2ÂˆÇsÓ4ÉT%»ˆXGÛÖ}]ï7Eî(&'‡)Úã<" î#Åþ	áèê†`ƒã‰còU¦Ï™�FGÏ‡E+KÖ£n%«JuäV›ÊBÇ	Ù/¤Ö?0ibÙ+	Žc„E°@¤o¦…O;«^Ð“ž=ÅlQö]k.^H-£€æékñi¿ÖÎ*ÜŒlU^5�\nWÎ’4î¨‡‹­+ª¾U$3K²"œ“?0_4p˜+ÛqŠå±d^'QB«œCR�~À“¯T “ýqO'ÍÊÞ!Fû«OäúBDÀ¦;Àg©Á/lRg,+º,F6Rº–ËZ¾>G(SõOÉL|‡Ê¸-÷*�J°D¯E0=®óÛ¤•µ²A'Ò³Y9ÃoG¹hŠ.½ìŽ,æIYK¤BpŒÿ€¿“NZ� *{  Ò¼ ‘Ü6ÏEñÆgž�Á±³ocËf¯ˆ•ÔM
£ª‡®çù9Ê�=’¼m^H­eÑðñ1ÈÂ�zª”¾\
-Ýt«rÞ¦[NM_¦¾	K·wP×‡Ë7í$wdÂ¡iªQ2&ß
_ã'G¾÷h]JM«²à¦.,W!4œibø+/�ƒùãIäË“îv0ãg
-£ü�Vî@AÙ.m {Ý( ÂÐ«ÀQ:Œ`yÓmZýÀiíd]¡G4G¡žJI©wÍÍ§†Â%JY«Ü"e�1�¦’Ûø-ûž¯²‹KaI5Vö¥æ
�<i62»ä«29ÉK¯Ó3+Â/SâKù5ËÖš2A·Žs$¹ÇÞN&EäÏ›'×‚ØÅVË
ÊtúU…tÆ©«Ð™Poqp!£„VSÃ�ÒIÙA8“Ã|œþ¨2Up t7(ÌÏ<?
-	òÉ9Nñet.Î:(­¬n$¾Žï_á[«´ó¤²nIW™�Y&¹ëIªgMP:(î•÷o4ˆ�¬,ÁzNRiÌïX*G¼’¹˜VR(°ŒÐ½i'èû=€fg’`³èÑH%Hº
ôäæß#€ŽªK€¶¤ä‡6šhúÞ¸\¾ä‰ZšVô³T˜ú•½`Yßy1;è¼I2ŠŽn×XŠ´ƒÅ$—F·îð�H´ý„úëÃÌ@ý
°rXóN¬Å$}I«�M0rÖA»“`>X?~ôäj;
°•lYšÉïÆa0©žüJF‚Gèâºt¶¯¹÷Ò@‡~&ét…oÉ�¼0ïn³ÉªL´”ã4�"+W8äã‚ŽG©töH?Sð~ú8§N¼p€K*p³®¼x°^"Š·ì0Á¤p�4nÏAÀÕŠp
+%˜ÎG€=o8ÀŽóOV'[-'Pà³eóÅ7èä�ð½�|qrvœ¯'�­£’F=w-‘˜Þ+_|9öh,­g‹©T¾uK*ìHN2
-ðCŽø³/½é
–@dÃJ‚M>JPÙ$¸?!–(@—, ÈjŠž$Øß~’#�	Éñu�Ã\´�i:˜g‚Gµ§Ü
-ƒº¨,¢#ßMÞ/ÕÒÖ¦ïŸ%sï†Œ­W9!•Ö·+4å$ã7 8,GMJ
-ª$ Ú["ˆ›m2Ý+’¾Ö©j]@2�Y‚û�l$¸|•^4g%xÖñŠ€xko@œÞ2 F³* ZÅ…ÕÏ»�xs­î•ûJ§ºk~�é|yf{Ì¥½ÊSVž1ðÒ­¢"§ñ^H÷F
-�r–S›ê'ß’¤¦myEÒ #QäÐ×Ï@¤(ÂjJeb1 ¤Â9Á”œE’íh¿(Yò>�ù(i€\ðu@öŸIcÂ†|È2¥ÌB½ˆõ¡üÊ^Ú_á›=¾Ÿz×§‚ `º–«PHaÁ&Õ€1Íÿ•õ@”}DÜIP³wP{¹¨G¥úÑ`ÙcÐþÜÙº
-	Š8 gÐ®_´‡ômÿ8‚ïHº’P[o§/Ëø!S“íXmÉ4¡–ž]³ýL;±È�Š?0Zï\réTÊ€’îüSÔ,ÎþÑ“¿Žà¯‚û×üULS³òŸÀàR¡˜Áj˜“xlr�– ™äXÛ`SìçX˜Ël˜Mî˜)Ì¦Úwã]ÀÐQ§Tö”¬p#ÕþL 3»sëQm²00Bô8ªúi(SËý»¤o5¥Ûâ¥òÙË®þµßþ[Áýuà>G€ƒíàÔø¸–ñQmOà6ù<à&—p�j¸n2nrµƒ8#(N¢Æ€#—×ì¦ìÞ’Þ2ã„{qáNcN*^&T^EzXˆŠQzg+¿§è_zò·šo!Uä¿áÀß0‡¯~û_Ü�ÛÖ8}t[ëøç	B¡"¡Kz@¨M{@02ûOæÄ‚œozÅ€¿Õ_Ú¹æ>å\½}æköbK¿ƒÔßâÔîWˆ6XgÕ¿þäoQ_Uû[ÏJùWŽÃÿCÁý—lú'ùÖ%€¸J©@>�L$
-¿~Ü¶Ô†’=p�T.�Ä‚��&¦fßmH,­ç¶=}žÉEŸß¡-Z^@¸Á
þÔõ=Eß’¾šö·šo!WsKjøOzÃß¥Üþ‰½ý“œð
MøäÝþm[Ó,P¬(Ê»µÊYOå‚i@%o!P­Í¨´“júú/ëê·íW½Äìí~ÞH0|<éKü Mô¾‡�å½¾¼[Û	7ÎoÜKÍ]S=½ïsHé¿r6áüÄÑ\?ÌÛ¿ëfY—ýd:ÑNËxŠô»‰—B®ã8ŸI�©yÄ�Ê�JŠGì6…÷U’üfô¯­
-ü•Cÿ•6ðÉý.ñ´8Ât›ßÅËÕ&›Y­Ø�wŠC(|~ÔQ´ž^hëöù¨‘œAM†�æï¤0™ë˜<Á‡°6ö¡WvLMSæ(@_¹á¾ør‡!…•§€ò�iõÛ’:ì=ZÅ¸×Ó¶·î»Ïã=ýå”»ïa~ûÿfØéî£ã`úõ7wõ«yÒöú|ß_Çò¨öý¾{6äo:‘“Ñ}"­ql²Ã15–ç£MÞÝ÷^þ48•µë@ÞÉ�~[Þ}í”Iÿ$Ç¯ˆHO¿eˆî0«Ð]ëeð�‰eÈdbdÚs'ÈµñE»ÔòÉy½EmðQ3àÜ]3à5²õúoÂÀgy¬hß¤W_ëê×ük]=å>.µÙ�fW :_L¿ÍÞå^O|=ýÂ»Ýw+t‡Z½Ù…z�~UGm®ÎÚø¬·|¼úŸüÕÎ©Én›×h_í?£�_B�Sc‰6äë.éúê×NJªk/Æ{V®X{OF­Ú{joBž+µ÷¼%8öaƒî7½ö7
-ák]ýÚB?ÚS{nQ×–�B¯æ¦(bMvm°Ñ¾(u”š	®n#7¥†|¾VëmõTÿ³U÷Ý
õ÷cð/ÿª
³ëV¢²nÁÜ÷S¾m•¸z’*Ô‰Í•7Ñ Q¡Î‡[…ºý“;Ú‚¿X´q=÷4ðYë«á5Ù•¸nÈÇæ¬®]«q¨?ë‡ÚÐìßkvjÕl#jÐDâª'§T‘…™	<Ò4|]ÈWâJ1¹.Ÿ­új_OövêeöÜiùûæbà‡êyV:õÀ¦¤$ï‹b;g¦¼Ç¬I{=/mx�ÒóKò1¦{=Ÿ´¾øÆô!•úÕj#~4ÿ|¿ßÛõ«¬·Ç[ŸÆåM•�•ÞÚ”Ùcíœ`ùò÷�SÚ®'¬tj?¨R”y³%ù…ˆÅ¶)Å„g½Ç„Mvåh÷½ÐJî°X
-]hÝèüÀ‡OœyxÜ8ž$=ü2¦üZÌçãŽ3ÍÇ]I°¾øªòßÌÚ¯³öëZ­Ä¥8,³¥üUBKòýP)jïCÃ{Œ@×ëå¸Éìpfé¾gNÒØ»ÁÉ…bÿZ˜øá³€lý·3¯ÖÓŽÇ÷q?Né¼/Où<uÝ*¹M˜9öE¸vh)U[„Â®9ñÂŠ
-ÖÝR°+c)øºd)ÄùÓ)]×ÅT‚&ò�”øjÞ¿5~ÔÚR¤N]ï1äm÷=9.´$SÇu+çÌ+kßÁ÷ëj>ïÍ¼/Á½<uaÆ¹@#g9öÁÇö¾§níÐÈ~`[…«u•Ÿ–W’ýÍº˜™ÁÇŒñˆ�²a0°¥¿w¦¯ÛB³¥Û"ëÐ¹÷Ô¡‹'e'm«‘�tÈM‚êý{¹¿þä¯í·åVÞ·¸äº kYÉÇµ��§Nm.ÇÞ’#Ì†šu´-+²&K�6¾y�\kfÛyGfÃ»F¯õ
ƒÂÇú{ÃÎõa ­uè í³“º{Í:Rdæ­	–ñ´ÿkqŸÕ5ß¬•4ß‚»
Õ7êfÊ¤ÕÍ,mª�·ÕÀ“ßSYuÊ­žüšgœêžSLµŒ\ð>É¶X5XK‘V¸ÙÎ—ã1¯’FÏ	ú{5Jž}}XÞ:´Ûæ²“ÚÙÍ:ÂÓÏ"çt5ã© žÁïhK‹»\_óucªn†IØáAÙO{w%,Üùl‚¶)Gþ»"+Li ]w¯ƒÔÇ¤t=Œ¼XºÅv=Sê,*e\ï;-¥V(tL/WÝ—L«¹�+ÆBYì;„žnbéìd»Ne~gæ�5™Á¯kV‹Û—Ï$ê¢©›þËPÎ)ûIª „™Ì^å«rTT›²BúR»RžŠ�}g#öÂÃU4$	Þ—¦ [O[°3^(@Ïë4é–Æ/z×!™•~Á¹y™·åžg>”z~Ý`<ë²ÒLcÐ?gÞß¸Ì2—#2dáke«øÒèIö­}¨I“ˆ(a'äÓgdÅ édUÊä„¬ødò9±·«x"HÆa„ïZB:z
yçN.ytV½pw—¼Å¸"Ás±êXl™¹l	Æ¬@.¬¿ˆÖÈFµP”æßÐé0W›¤<³»C=ß6äLVœÆê<¡
-ÔV¤ÿ’/Äú*7Ë³‡tëvßÉuÉ¼'ˆØ·'„¦CZÈñsAH÷*_HšK#·ØjeŽÌº
võX¦t\2;š?3|§–¦Ø‘§¥8kS­t³J5ïÄ˜R»“+y3t‚8ùƒRJ]ï/¤ïÄémÍ–çk×°Ž{=‹/8Yà&«œ¬.·ž•´¤—/OqÐm\Eó­Ÿ…±¢Ý¸ ¼ùÂRLsKÙ 8râ°ìÚ	$–9´³Ì®>ÏýÀŒ�:•èã†ªÓ2§õ¨Ë³µ 4s}$”‘zPc‰7w7‰Á±X#¬Òy‚�§öÏhŽ€à¹]©ä™¥÷6ýü¦0­YbìêŽ<×3t
-Hªˆç˜Xn;\|¯eH˜èƒ?W´ä}ß~¸R?>²ëK|cYmófj½LŸˆAËåCµi‰Òz¢N><¿@öˆa@¼›§61Ô¨	a#µ=>ñ–/Ü‘ää½�#ë®Žy\ª‚á‹ò�KÄ�­-ƒáÃÀ.×æðÒƒZq/·_vj¦‘«²^»§k\î,)Š¯2’QïbÂd¥xÏ¯=8¿@]Ø@î™Ps¶tdÇ˜jç27ò1Ë¼HÏBÄûT%ˆa4â	Û>kødlÜ©e|Â›¿OcŒÈát—¨¿»’È–4$X�}„Ë3}ø€¬NpØ/�Ç†ßx?îtä1ì}ƒ9¾FêÌ*Ó3Tq¶’¤g¦E{]Bù…pMqþÖ}°\ñz¦Ïl°§ÚgtMön·-1|ŽDÚÜÙ¦¶àaó^*�ƒ¢„®J£dLFËÔÍCé-"Õ¬×G¸×<†ëÖû’>om$Ý,LÄ´Šè6´ ŽÊ¯¼èVi*_}�ƒäÕä˜UÝyË¿²·¢¼;¢wZ(°š<•[
Ë…;}nÅg*™8ìH°=¯‰ô±¿Â1¨¿ÇHntEËõéÙ^–i¤:~‘ðMq°TçµôE*äÒÍK¿œV[·¤�'1†²‹pŸ��27öN™“��JeåŒŽëÅ5�J¼PìM‹üVÍtÌgŸ	²E›ú¾å¬]E˜\R|Ñc‘ït‰‘düNÝÃ3i–Å=>}-ÖXqSX¢Ì"—tãð±¥Ó—žtKk@zA÷U	�t¦B¦^»��tïzÊÉB*u.Ô@^íô‚¤W	¢'@ÐdZ?{&€�Bàånàa+à/zö²4Ïº\ÒÃ˜©dÊíG^¹°\V2§Q(ŒÇW^!ÈwNL77Ð�|Ñ™ÈÝ¹¶,M7hÅ)®àÆ˜Ù@Ý÷q—¦wçTØÝAþx‰4�Å&h
¶™r$…"Íí ­Ì&Áæ
�¶Ã$¸æR¨DÑÉäô;±™ù¦ÇØÍÁ³ý5¦kÕç>/ßC4+æ^’À—�ÅîÊÊ4°(•</]íý S«ð‚».}D7Ðb‡ýÜztïë”­,wÅºÇI¡¨À¦ä‰ FJO�ó*Žê•èq‚ö 2
%˜ˆU¬ä]	Ðô±�{y�½Jd~6�ÕŸYÙÍ¶�-áÝ²Ú0çyi2‚k‘·îÕ(VH¿QºÕ¡¯4�ÏaÿŠQCô„„™Ñ>�É3ëÔð}ß´:Ø}ö2KÝðo€î*(@ïK XI`ZC¦>@Ÿh+A0èázèÑGz‚’MNƒä×s.9‚ÑíÐJŸ¨c»y~µŸš©C§•a•J9y#„oq|[dø"EŽ5j4ÓØ!8¥OˆpˆÇó]ÿŽ„“ç9Ý!ë‡ÔÈƒ7K¯·S±3Àræ`åVòfÝ)€­%1A9›`áìJ4%lãw\c€M­[‚°®›lÔƒ«	óä½î¼f‰*À¨Måó­»ã\ótò+{#�E–/]‰
‰Kg°7A¦QÆVÌ|Ý‘÷LwêÛKjô(ÖLí¶’NÕÀ‰Y
-à&Œ¼˜eÞï«_Ü,€/Åb‚¨‘à:øPß<š=ÞÔ€—wÉ&•ròk ®?Îaç–€Ÿ˜Ç+ms¨ãÌ&$#åº”Ë„ïêJç6Ia”\�#GÔ‰Ä‰‹‚ ¼þh;ÏEE±®[_�±$JÅœsÂ„ŠÁ€‚ÿœ«?ÜÝµ»Þêþ*ö�¡-îâYsÃÉä€ S’Wmý
-‘ŠÕFðÝl
	µ¡G„ðüd¾Å*¥ÇÕ%2€Z×*€:Ý�²àMi
¨éÆÔ,‰JÚFÕ/Â¯Ôpi^>ªPª˜¯
-Ç–íŒ.“Òâ9Œ?âÑv:•¥Ò§'èt‚Qzí(E–Ý0¹‹!ôvUÐ 
-Ï8Ê|ŠH†«ê¤!œZ'å.@#NÐ"ŸtS*za7mFû€vÆs(7Ï£wé WÐj~Svš€î6áò*ã@qÃ€Înáæt#Í®ÌEbÄÞFñ¬íøýXÞ¶÷4NS›a;NXôžGgE”
-ªÛ	á#yÛwIÈ£P€ÎŸØOîGmpMLt–Lõ^ŒVò¯Æ€%hJëÅyæ™£?ÚÛÍ.`L|
˜åæ˜±×¯0�H0]ÖHE’‡•x½åx)I‘]Bn†/ûk…VñpŽìTIô‘F‚ÄÙa>|nÉ§‰ÖâõÀ¾ë¿+p“ŒWÏÿaã¶ë€Ýí¼ž1xºˆO4ò”Â-ÀCA¸Ä�@8¹5A˜oÀd8	Øó¡XC6“ÜY‹S,2ª©ê�³3r‡Y(NÎaØ%YÄÒe.¶Uxaövºÿ.RþdÞîÚÕ�f9¸ÿãß¦[#ÀuÀS&àÃÖ
ðí&åUÛ–,ðåFðé xrrÜ+MÎÀ-eø‡íè.ç	Ýo"éÔÛö1Ô�<´°Ûö\FØJ”Lñ“ýšdâùÉ_ÌÛ¯ên¿´pø»îö£S�{½÷Q2Ä‚hw—Ñj®¢™‡¢ÔÐk¼+D@äâÖAd?özDºØIœõù]Ôk.Ñ/üîDÜ4{Aí±©}ÄÉ÷“ýfÅÓüˆWâú¹{ÃWmoý~	"ƒa±áALhA¬Ÿ’A,g@ib †FÓPn}Ãõˆ­wÙž´L‘VòÄìç(úRÞM/þ®OöCôÅ·ýï_žŸö¥îÖ·n½G§½«m}×–+Æ@Üå½Þâ"¾âðâ11æ�X‚çWQW@<à7 v%æ‹únëßÎ¿Z§óàvOn!�X™-GL’ƒ2Nð~>³kÜCy³ýz•˜!¡VegÀuÝm,šzr?ëh3^–6¯þp¸É_$y­&%e�Ï†ªZ3cÕÄfÖ²Òî«…†Ñc'=
-ù©âŽ#w¿)¬_¿:EÖ½ÛßF/ì�çùÉ/·÷ÛÃú¬;F>Mý§em‡¸nènÍ9ë2M=´G"›¼}Áß-´ôŽUCó-¿j"a¹/ÏãKNŸ&V}•]Dwó‚×w”›Wæqk×Rdá(Íf‰ódúšaëi¤­‰Z\!\«dd­ÞY½mZïAY£½Ô<øv¨ßuÕ/¯õ­FÿN~¿ªQÕ’bzed¯l±Ü^v0y´ä6ûÅÂª¾ô¹ÝtwŠÛÝÿýÈ,Ã�eÜý}ºH¯iþq@&jÎÄ'åà‰’µ’ÃÉ5˜ö±Q'ÒcfÇ—F®ÐJBGFwÀÃdâ�qy0L¯5ß¨õ«Vß}W½òZßOöíP¿ ñÝuõ.EÑék§§È4#LÔL/3)½Ve(Ï¶¬ƒý±Q¹ŒÆÌö2
`£}ã¹qû›:´ºA}(E0s`‚‡Á0Nžq7ríË©ØKº+ILšåzáÞk5{üRêªõ˜ÔÅwËMžf°ŽÖÝ7»åp~ÜÑzÌÐïºê?!+€ùÏÈòo‘÷o?Û¡~OS),žv¯|£l·lß>„¾;ÒýäMÈK³ŒP–2¯T½·(Í^Mu{Èº0èª•šì÷_íh�æ^‰×Yo�Å¡Ýäm·µ Áç¦Ø¦”’Ó~éjc˜ßmÃ"Æû½Vßâ•®~!|7\õ¼ÚÜÄ?Uºøfº†kÑªÇ}§F(‰'”Þ6Z=ªÍ{áV'ÚŽ´8»kZÃq²)‰ÓL3z]ÃôªÒˆ?wÍº;¿ôê)ä9®Ý×‘e-KæŒê¢ÑwªÈþŒUÔn.æ¹£Q´])IçKÝª/~	°_ýûv=¯ö]µêY�¾ÚŒ^ø^c˜LÉ�ø½¹¬ËÙŽE;@¹;ïŽ¦³âëé¹£8�T_…W5žúÔØ´ÎŠüØüûN~¹Yb®Æ°¸ŸâË"÷*ÖÂ
-þuÿdZ�Ê:(HŠ.Xk�ñ}P¿c­×‰L§¾ÏØŒ:×z]ÎTJµ,òÌUÄ6W)Ó›rß]Ze­ƒõ¡$&PZËrèÔÚ”Œ~ß(1—î¾¸�NÅNrâ¹ûòV°fú« e�hÞ^^(ÿþ}2’sµH2'×ê¥ìÝœ´³Ùðu–yY…]f!]ƒ™×/f^vL‡r}ùâvBëªï„ú>h9tt…â~Øá|4€¬É,Uˆ>Õ�šP{�´óÃÓÏ‹htœs×ÉYN®ä—¹YZgïÛÆ6;kôö™×¾wÊ,:S7Sàm$­öï¡4î2Ñ”&W³©ÐcÕLóð,ÙÌ+Ï](LÒXÝ¤±ššPÎgßœ÷3íÛÝ~Qí�»¦Ø¼­œB9wÕÇs)¼‚ggµ:�ÍR£ˆï„f-3“Y´A)SàˆZ±X¸W¦UIè¥ËBj˜ÒF¢œª%²J*t«©Ic*m“Ìkf%öë–à1¥ªŽÛF'6ÝfÜ6W«¸½«ßâö¾žŒ»©Có7ÈV‡/´kw#Qô:´ã‰‚´.p9y¥�Y˜$S`—�´ÚmÝÒø¹þLiƒšªÅWÔ''´™z&“ÌóœÐ`!Á#dE´ÔpC”Ê±NÜÖcýø°^œÄEºïÝ�.·—¦p·¶��a úºÔÃÑBRÏD_®Ü�¾®Émt1Å±èb,B
ü8N�jUÖü­Pì
-H"7ÉáÌ²V'ÓÄúLšñÄ-É&�vb?ÀÙE‚G´–ó»(`j0no<>¬ZT\ÁK+¹iGb)ö%
-÷#ž²Q<}Ù\%ºfZQäZDÔÉT‰àÏ�ÎkÚæk…Ê×Š˜ÀSX·ÌS8+0ÎÐŒ#gè*Ë[ï16>ª§n×V¹žÛòÔ³9NÉb‚L†ó žØ-î,{ç¸xä±kä¾�¥˜Å^¸ï�³�å
7ú:Y�h!vQäâÀ9D•Áï–×"Ê×rB’3VbŽk–š5ŽÅU)Ü©Ù³0OG·¬µ»¬Ô†áRg�`…Ö`ì³²`…èìÉ
-BAh
-È¸^ëf)<ÞsÓÈL„ÛØF:pÉv†$Å³ÜÆÎù&<«™³Œ[ûh1UÓ£¨’ÚFÖ´`Fˆ$±çµ;æ)�ºp&çCá–ÃÃ|¯B³§h?ÂJ/3Å8-PfF‰¬÷,ñ&Oéëô¾¥ÓTòB=L• ”6'R9|P¥²'rBeýDe9¢ÙïØã*Ö\¶
-çY¯àß©­g¤½ù“ôŸ- Ì7Ók´T`Î‘*¿Øó�  Ã¼ìÂð[­ÞzÍ±¯¥îŠÊŽ=­×'6F.ÆÙšw&?éë5HÒ“u‚§Ó•V’RÎJ‘Ê-@'´B…IëJ:¹‰Ü]’¦b+j"±
ÇkD}³š0¢>+ZD]º �ÑÃ’ËÛI¿•¿8ù¼o|'÷á~XŒ«[Âÿ¡?Z2ª®×óÄíƒµ]øxGõp4´TÙA¡µ‚‡ÍÄŠIœ=e;êÙIXÔ<UwTZÏÐª¾!B¥Ø“an$AVË•"â×m¢Ñ¿ÊøÎå7x[�98W¡¬7/ÇP1*è`’”Ñxäx@ÕVŸæ4¹´;›¹{"žOk©¬˜°zuÏONsB@6Çg¤Æf\n_W­°„&;x4f|­¯èéS¨}V(„Û,B%i§‘gg’ÕUðL8v%V!©Gãûì.†w‚X“¸p
µ¥b?€¡Ã¬¾DÜz@äRó…$ï§pð®òÁYNe2û†œ¡ô«6ÇE+žhf_=xœ4úl\´�ËæÚx”mž¾•¶VÒ‘Ö(“I¡“
�yÆàì‚*/J×Ú2Y£3¢™h¬ðý´·ÅùÐôˆIÍ¹ƒÚ‡ÕNî*f8¹†Ú	D66Åàƒ½µƒÙibx�QX<® 0êÒ
_ÓÅ¥.@‰<Wäqyúeô»C6²ÈùžKî/h<~eÃ¬Pg°Hm1råî°^;2òâjÐÙt}Mòô2T.íÂpò2Þ9F§˜d‡æ¨¸FÖÈµÂHjËXð1(¹Á¬Ûx�ª’`Y¾G@‘ŒgºÔjÇPú[€:ì æ’èJÈt¼ï´Ó3Z‰£•ªÃó®õldˆ¸•ó;rÄå'-[Œ÷+OóÚ~ÀÏl‡g…#ýOµxÖ7¡5B¯Èšµ�ã‡bf‚	/|Š\Ýû<¨(Æ*¤-À£àÊë°Tþ	eF¬‚G–.e¡ìšË¤á¾˜&À²ø¥:XL*ÁGuwG€^d¹YdG¹µ«û…é¢ÓÓc1 Ÿ™H]@P®ÉÜßŽ÷DHéìÁ4¨Â¹¥‘z9¸"ZÙ
¼zÅúÓøM4‘YpÎÛ€­ä%Àvö`ûÐJÞ˜»B¹SGKq(›Ànt`Ç¾°;¿g)ð+�lÊ«°í`°aØXó÷—_¹³Ëð¸æ;ôñÉ°/øÅÞ¼iÜÑði¿³	Nuè‡)©e×4C•|]'Ì¶Æ#£ùMØ$ì¸
-ÀéÅà1{
ðF|ðAÏ�²ñú(â‡’C™'¾ÄÊPº}€�®+€·Ë'(ø½Ž—v“m€§Ï*À£Êà -FñåÀoœ�8kÙ˜r­Q²4¦¹#j áX#×ÂÜpíòÉœ§åâï	Ï
:žVÁ—ÈÍAédCÆ-ÏIäøˆÈñ
-ˆDµAAÙDQÃ2P*5@HÎ¹Ô1Ã»»–ˆ{}Î˜{æ£t9\1~Ãñi§lîñ(Jiº™©‰c\È¼�oZkÓ\µ1ö’O>™´¦¹T	Ïäv~:âÇGÑDeì¨_‹†
-ÊiÜó.ˆt|
ˆJuˆÉêˆÃóˆ[ì	Èð˜dâÂx&¡´
-PNm@¦Ä	 yÕ$½â¼`aç€p°1”ƒˆÝ:¹SÏ/ž«�ìñ¯J<#™·ñÝÎVi.ruq6‰$_4×P¨*:§êÜ¸c;Dw©›�p‡žHt×'^Ž€,’6 GÅ; Í
-BAŒ¡XÅ»‡7S2PUŠg%(Ú„XîÈëøÈ#�r¬RkÍ©‹ ·‚È×Oo7·^"ž³*~½÷‡í-4˜p¼b~Ez¨žyý-;CÁE¯¹Ñ	ZøðAV8ï¹$-@:±ó‡ƒ›�ÜA¨v‚�B“Îùy@ñ§$ *b	Ê°
Å…S•jf¨Ìê(ŠƒƒpV¢7–]º	B{T!UƒÿÎZM‚Ðt5IZ…y7>ãäò»Þûm|ƒ^˜¹oíEÄX„è††O,A¯H0Ù…ÁòŒð¤®ûa*[§§çŽ~rp+$ ÔePî#h6›tÓ¨zÄô¡´ç€nM@·Ó7@'7 ù\P�kPçáPvþ+&—Ô*2O»½®ßæ$€ùß~G–°ØGhTÝÓd8ÉâXâÐHðr½ØÝ_LexB”\Ä!Í(ôQüÉ¿…Y{7Žî‹€‘’^í(£­dÀœÈ5”î	0úf�ãÓpà—
-C¸4?&|'ƒÃCýX.ÅÔ¼Ô�f‹Z´¶A\ŸO§˜\oÑú>Œ�M@Õ|î]AíEì”oÞ6®á?ù•>\¿"Øïü¥£C©Zìj'�0’žƒp\7AXd]fGÄ»�{“áW¬¤·W²ÚíXel#]l�Zø�¶Œ¡–Ûâ/¢ÌNsÅ*ø°¤E‚kò@}ö¹ý"å/~²oÝ¾A>J�½µü›ƒË‘•œ…›ÞóÓ²ÀÝÜàîep–�œÞènNj€k¬Ÿ€+Ôc€K°-Àaûuü9Ž£
êÞ
»¢Ð`t9Y)}r�AŠ-IøpºýýÓOþÔø‹‹üuðßu®ÿ0'ýg¥…lÑUx…”n‹ ¹UAäÕš€ˆÃZ ²4Ii×² ’Bú Â¯Œ?Ny©² [è’GP©¡ùT5ÿ6ßßqúâ'oéžçŽ~©þÊ§Æ
_JnÿÙ\ö]â:lS F%2 ¦=ë«ˆÅãwC\ï×áÐ«a™ajž£lç¹§kÑ)Å Ù6‹&šó³æÇÉ‘�ôU÷†/rû‡këuoøÒ/Á/¹ýÊ²õ{#”º"¢Ä7‰,fÑS@,‘9(‡ËÃ+ê7…õ}PW£öÇÓ²l+4N22?X3b{=¾êwô¸`8J;~ÀûñäÎHâ³ý²ó†„jÅí�œUüF±Ú½Skh™S¹½YÄ
-½
2.×¥{a¢jÙòâÝ#–ÙHG¯S«gÙJì#4FËEND•Ù}ú¼ûEµ~·Õ±Ñ6N_ž?å{µïÖ«j6õoD7¤`¤·�k‘‰.S9UOšý�voéŽ–9ày­Šý—ª¥ˆš7ˆU©RË}¹Ä.9=Ï/¬zIXDwyq>äòéyÜjYhWg÷Ñ =ËÜV£é"s^N‘eä8Á7D™éü¸É¥Öo›6z½zîhü9Ùøv¨�÷¥Û€ÿˆ'¿ùêªñZF—TO/¬ŠS^D
´=·›ÂJg®¸Ýšª$Ï5}6‹×vÓ—\8Ló�ìiŠ(g¢æj7¯ãÁªü”kxµ
-1fÌ:3Ú·&Âˆ;®ÓC)
-/éíßÿ«Û@í§‚ƒ†ïÐú«]üùvèñUÓfïg;y=MQýò+/½Ž×ñ}‚Ï«Þ]ý*%×àöí·€R*�™m¦6âöÑæPâ£Ý�ÝçàúbÑQß3r_Nr³~ò_J÷Yf#Í²�]ïµì�{lpí!›=Ú-‡îŒç[¶âÉN-¼j´
)¶h7cõP›q›M(r·i)|³)åˆ†ßÖ¯ý�Í¼
x=M}¿±ïFz?é.�Ræ±¼ô^Êô^ó0	¥Ây^Rºj¹’è–‰V¦£Õ+¹N�n•:¡]·Ú6ÚýF»ÉM:u`=M[œóPýÖ«Íè½pi³#¤î.¯‘z
-/—kw½ª×f�)_Ë²Á\õµ¿d½¾£�]Æ/¯õ«ßíLýÂÐEv3ëâ›è¨ÚÚýÖ¾£ŽZÞ]´¸sH‡’?B»M)>}6lY6†©œ ?4ªî*[—sV¤v_B«ÍJV¢–ÅïÙêKÇKÕE=Ú¨"»Ò Ræó²&m�rèB^KÆxL—š©z­Ä<Õsq¿�¸óšñþ»wÃUÏOö]FßÁóý±¿îßO¾ÒÅÚ¬)U_ëD£º¨Ô¥j�ÉPËj!„êÝÉOYüÀÚe­+\Ëµˆø(‡Î¹`ÉTðR3Þ¥‹{¹Ë;)%^ä§\AÊSÍ¼­fG,/ò:'×_Nö¾—Ùìý°ëgïÇÇ5—âŠhNn·°wMè,…-üØùx�‹ÌWÊt>Q®qH¬ÔŒª‘â~¨Æ‹ÑÊ;	¦%ß‚2x÷ïßærÁšnç)sTÑ×YËÛ‹›™Ñó>ç®Ÿçœ\ÅÜ\*yeïFÏfÙ*“yVb¦y–Óê0!¥ñëd•ªeX7çÿbŠ
-–¼û÷Ó®/Þ¾m¾rBý‚Õ¯�P¹Ô…—
-¸‡«bÙ»Ž¦¡ˆE(µZ6K—›™×®ÙÍ¸Z?ƒX�qZ•¤iº,Ìàõ~wÔMª–ÐÌTèfŸ’Æ,tO²@Äû%<¹ð˜›¥Z²·Íí:>l@|Ø9ÕE©2DËŒïümÑ7ä}³Û',D
-ÒÄ�Ì¢iÂ¹e9Œîér¤xMãçÖëí„ú5¡µø™KÕD2ž
-]Ã©¤1‰å’Ì3\Hìç±J¢“O7DKMwD©\Äm½>‰ë£e\¤M#&·¯çXŠÏ!Â¬?�{eôu¹f£YêG“ü^È&v¢0;ca&óK¿ýoÝ�vË¾ç]�Ò„WEK}‡‚`N²™ÜœûYï˜àAé(ZË†-JÅÁM°€bá,no\*>¬¾Â1×¸Gbróî‡{B˜õðlôe‡JÑÅ0ÞˆÄªQ'½I¤œÞ¨ü>óÚ¢äk…gÄwB9Ccá._.½xm=.F,7öw¸ï{æ|‰
iÑœ¼[‡2háLšLäšàkãSÜ¾!fÌÝ71¹Ñ\÷}Yf�¦)dyé}�d;ºè/®Qä2{DÊI8óÁïKŒ×fzb,O�Ü÷¹f	Mq,.Ã{­Öwjê(ÌÓøšµv�3+µ]ìí„JÝX›µŽ¼ÁZVŠ…ò*ù¿rTÔÓ&[�®�HÌZdªY�¿¹ñ–±„Ç|oÂ¼,yqE³Î"Rn�füÖRøZ¦¾äC¯î†3#ƒk”Ç¢ës¸SY^Â<©ßYk{²RãI°áûP1ÒÍÓîÙlÒò�•é”(ét*‚g1ê~ÒÔýÍA¹�¨ûãáR÷§Î×ÝÛºV¦ÆÕ´ßF"½6so?9>2WA±ñcã›[^7*gN»
-ÇÚ±I¸‹<å0_ÞŽYë±�²R;`¬@oWÌ°½Ù0"·3h×ºé”p±éT,ü î—<FÍÆ–Ê&wbh1{B…z¥Bƒk…TUve
ÈrEˆ@qk$š¯H‚j=j³W·Zbï™tË>–Omé�xîTA,}\¢%Ä=òÛ\vËµn5æ6V>�™‘2ÒWxÄ¦'Éø€NiÌ�R(fBeÍèœ­Ì:´W�PáØ;†ÐÞüB®£6`dÙ	…HbÙˆõð*OPÖÆ[ÙÊƒÃ;Œ…ÖåëBëœ¬¶Î­j‘-V'Ifƒ”Oî¦‘PürÊ!Ÿi\"ÕòþÈµKÔÛ¡
`ÌeQèin5¦ží|Ÿ
-Ö�^hiÛ½Æª=r½V$áHèsuFÔîš YÜÄÍCüŒ·&½'®X!,2xEÑšÌ!—î ‰Œ#·	’°‹FðÖÔaöƒ·bš	Nnz6˜–²ýàdöÚV*ÝD5)¼R~½wâhÉØt|FKÃ¤Ã39iîi@g\´²¤§ÊeJÍÇ½Qh%1¹Ú=’<,ºDƒlvð6ÂÃ½ëÞ,rJÉè¹_[ ƒÜLGã´m!—}è†Œå2†$S.8ÕÝx1\ÌÝéä'˜�HËH(H�àk”AGìƒ y7Ëõs¸š»MöÉtˆÒáqÌou!,°ã#R½r×¾4÷¾•LßÓ±5¿l&¡••’‘ˆíAíLDîá#¶ÑóýÑB\êÔAÆ;0Þ“Ô,8½‹j0£5Mðª-l°ˆïyù‹Hd<Œ8‡­@� È:²…¢ß2Í…R=ä’•Æ‰Å�~[–ìó©&SLKáângó¶½ù&ÿ²Ã—‚SgQÙÐ™sxA!íùÄ«‚®%‡d¨ùêLeÑÃÛÛNµSD‘)³œõxPˆž&±€‚¬P
-‚¢4
- Ô€Æì$@™L
ÊQ([1/(Šw•„Üy8Í˜D8Å^û\É"y9™ä6­°ß“#Š¿æn¯»¶ïyÓ÷ÃhC-ä"TÆÇ²¢CÂ_¼CÎzXÔÍvW­àlyhƒBoä¹
-hõ0¨D)P²k(Ã@gî J
-¨®qÝr€ÎÇM€.è”å £\:râË-€–“ðoùË½—æå®v’~aº°Øå½_¬(±}Ÿ‚Ú™¹Ô|{ÞÈå6áÖ`B†œøßOö&
¤.*–…vPNnë6@�'	`8+xl_AYl–|�–JÞ¡È8”WÄó“+í<”[`ÑÊ`¡+üÕ‡Ëi1
å.Ô]Áñ­«xî>j”üŽ,¾?]ãÊ³ÝÌ�u’Ã“>LDZ
-eÈ%©YóÑÅÇp9E¬*ªånð¡Pm°9m€…¯=€µÅ1ÀVÒ`[˜:@É_Ž,”×ßöò®ðp®°›¹˜–º@q(€é2äŸ'½N­Ø"b¬p	g›LÉïÈâ¦GôŽ¾K½E«s¢-°£–dW•Õà’0…Áç�œŒŽÆ0ø$Ê(®ŒÈŠ…Q¼”Ç§g
-Às¶êùÉƒøàóž
ðíîp#„C)…nÓwb5(ËÀwÂàcõð²—–ïe€§ç3€g&ð³ì$•!†xÑïÇ",•û¶½û
Ç˜«&�i¥ˆî©Â³¯“õ¦âg¾@/Qn|v#PŠ�¬<x]–®ì!ãW)€¨Ì-@Lƒ7@l2”1
å,BKä¡(-ÏéÕ©)”Ù
"®ÅÁæë€‡á¿ƒ“ð	¶”j•÷…øÄXÆýzoßøf/~c&³¡M1ô"ã­-–žkô2m,�L�Q@IW'^Äô=õã>Dš[}8¸ëÞ×í�aÌd«þäòäŠä¡“PÖe@ª0¤*/¹Y€¬È £Q¸4tîLà¿r…¼±¸‹fâæc¹k?þ®øŽ¬
”½Ä£¿&=´I?ŽÄNíï°xë¢!»ýö¼?¸&¥
DoÉnÌø·¹Q#ï×„PöE�ÅÐi)‚Ð d›P4„ì¨BÆ~½ÅP ”XeA/ù àHá�vT“\9/àd%Î·kmæ‹íM­ÌÙž‘6ec¶Ò: ÙÞÅøL&îvåÊ_Lå/eÁÖé	(.©T…”lFu³€f^3‡WÐáÒÐØvïUÛâé ¬-÷ñºÜc
-¨¸jŠò€Âæƒw‡ïP#
AgÓpx°~‘ô‚ƒ¤±Þq¡su�ž8~pyÁ
-�´ýa*k¦±ûõõá'û>é—âÛw¥+êõä-'þòm3ÀhÛ)`ô°etÌ ˆ&ßŠE›€>¨* §Õ ¥hÐõÜ÷µEå#F£’à9maîç;Òc"†ÇÄÚ™Ó§ë™¤Üþé¿­Û¿Šo=wôÝûÖómw—3-„ãÎ„ÙÔ„Q�ì‘ÏvjH€­5ÀÆ¢ðÏ‚Ç`ÜåH(·„bÄ8/3aq¹¨µê²DÄâI$?Ïÿvà}2?N¾Éý­bàÔ.¾õ;ñþeOŽìN×#tÀ.àî<8mèý2Âõ‘
-àrÓ)à˜ô„¯A„Ë"O¡ìtªÜi?É1¹Û9IîIF@g#žyWt¿ƒµ øÏ¥À¾±ýw_`Ïºý»ðWMxß%ÀÿtL½J×X˜ ’‹ß@D± ²íeAdÿ6Rè« æáì!ÞÖ¯D‘66lzOc$ô2²/Y\Ü3	°
±‘y–ûÛäö¡üè|)¹õA¾êrëwKøªäVA¼û,Þ]üB[ß"õÉ¾ž1“N^o„ìÄh÷„}‡Â„Ë!½Ák×6Ì¨=z»6‰3œp#8xýUÌí»¶~”>WÛþ30où_|Û´kð
-m¿2lÛ£ól$ªq$¹´×·'¡íH�ˆ%Ò@\é= –S òûëÿƒÿ�ì¬^·½2ÚwFS¼�×Îd¨µ§Cª|.ÐÙÍuÌ\ÏÈ1<!‚ç˜p&bS¸–;y3¦UD¼£dr�õÒ\n¥gŒ¦þÊ•ák¬ÝVqb=Õr<DÝ+VŒ�Ôš…x­QÞU-pmºí).…»ñÈ¸Ü³²ËY¿ÙÐÎCb´§FËý­ÀäôŒ'.‰f–'æÍy:Ïâ…ÁjéVÍuë¡—%u)3ël«›úâðÚwNì˜Ià-Ë-Óë³Ôãï«ˆ‘‹näë×â¥²¸½Ðæå‘œ±p^ì¿|¯|gÔ¼óúÿÆíwG-€}+n¿;jì[qûÕ¨°ïÝÚ~%jì{·¶_‰ZûÞ­í‡ÀÓ3Lí^	dÔ=6êµÆÃ®t Ór�Ôrñ(…¢dÙ‹Ýˆ™Ô�-{a§w.bµY¾=Èå"F‚ï	øQc…ùÙ‰+Å
ùŽbÌ¨5S½vRIï#ô1²ŸåA`ùezQ)<Ao\J¨E£<¨
-�ŠEá³wóõZo+5Ö±ÉÚê¥�žeC�qžKum,Ø’8í4‡‘U­�¢#ôT��sÃDUž&)yryÜÍYt±ƒç>¥Sšss“ì¼(÷WÅNt£Î£˜»¾9J‹Ëz†ZnoÁÆÂ¤ÖéÓ®Rcûâ‡çÁªYIi59
ãýÝÙº•_^ÈùK½*ºì6¸uS`÷Lsv­†—víÿ�GyÛÞ/ÌÞÆøùõ#Î+;†$Èií›õ!Ö#¨
¾ÛÞ/„�É¸w]«7DªÐLTÿì[ø\K†àÖJ§"�Ã£Õ¤ý<†2ƒ}ôÒ/1ó	8m+&ÏSkàm·Z¦‰ö¯YM«Ðy´!f
-¹p¨7ÞÛ2€•.ó\‰&¼Ú~tÄš±È×D)2mItßR´om-âmÆ¥^Ï©¥½œÒT†¹
+àÅŽƒ,V”ÓGg0÷5mj‹ã«ÂÝô¼¹­äýP°¯ƒ=DyÝÚì%ƒ­Ï×f�í^vë{‹9äžµÜqºLö¼M[=Qâjàà.”kgÝÊtÓõãìGF‘ÂÀì.±Þ&+0D|ö
-ˆs¸5ß�ÌœÞ×V×ñ¶`@VM—†‘­Æ(Ä}¨…ÝmÑ
-GÉÌ$·Ø°‰tôŽ
-8¯áÆaoƒÎ~Žq|n°xö6À½M:)ÝÖoûl­–¦óËÊ¾UJì»V•Sj©1néí)§Š=KrÖCbé†ÇóÐDšÆ»In�«È¢v}´VZÃØ�·M2G‡ýØ°�èäKoS´vÄëöXrÄ‚!	·Ç}åx%Éß/
-Ü(»ÆY ¶Í'ºFPŽYÆ.õø+ç’ÑvÝÛFû×U¬¥Üò„£ÃDù·Ö©½¿ÇßÅö­8þî(ÂmìqüÝQ`ßŠ£Å¼Lß;ÕÉ8¡^ndÑé„¢½ñ9¬Ï^†v›z§Âïužä-(¢
%ëjÖV¸@¯o‘ò„ÀüO®¿[¾`°_ýÌ÷X~	ô;0áþò« ß!ßËoLü§ìÿÁÄû˜ì'þ§³ÿãñô³ÿ'ÿí±üîÄÿÚþòCñôöý?šøŸËOÆ®åÏ&þÆòGÿû³ÿ¯˜ì'þÇò+ñô³ÿ'ÿy,.ñ¿5ûÿ�Àþpâ¿,¿Ï¿²ÿÇÿ1–?œøß•ýïÀ„çÊ?›øïË¥”@!è”f cl¥JØÛWctŸ>hb²»`¦._a~š'ÿ¡É2v½îà¹ò
šIìÆ«„ÛFÈ‹èC}µ)Ûü
-’ñÎ�Çó×²AÓ	U1
-†ûPò˜Ý0Jƒ3Gh&õÆôgJßÜÐ{ýoÐ_ËþG»7h3éÛŒ‘Amf˜éŸ9^{TõO™ß�ùuö§8›õÁ°�È3çÉŒAöÎûa<xÞâ½Óñ1»CP¢û h$Ïâå?ãùïòÓcñ@·(		ƒ�s§~�;b¼{êéÒ}k<³Ëï|L/û‘”ý5(dt?@¿�ögÆâT»ºn7žâÜÉßÚgž%geº–�+Ü¶Í¹#APÖ‹'„„üù¦Ô ._aþ¡ì;¡ôR³™í;óÌ-O’ú¼�¤ŽÝ:º­‡½eó¦ê%>-ZŸ@!£ó-Ðïo,?ðu_ ¨²>ï[ätBÎõ“Ð9º–C,šÇTØ<AÌÃ‚-„#Žš4 NÞZ¬óÐŸ¡ýÁ±Ø�swuæ‘þó$È›Š%žÆ—ãµ_®@4·Û²ÛeU³Â”:æÏDì¿ÅfæEå$ÉE–òÇt,#vP–N~Wîœ÷z÷iŠš�3·šsš'(¨­	ðÅùKÐË	Ë�|ýÌ¹ØÈ>hëð÷ô~Vw{lÓÏ-z¾ÖÛµ�ôúf;-6}57Nð÷ýÍplZk×êî×²TÜ­SBÂTïNØPg#rû{$€}yJÛÎ1MM·ûâMJìªùdìÅnA»dóãõƒ±nê+·ÔçÎ¬¨Ïö¡·$ÓƒŠr¸/2Sçú'“AK�•ÍË9žŒB	¾°/ïYŽ“l¼´_%’›](ÚÉûÂð¦]óýb[ç«\wµ>Í´Ñž—šÔâ	áÈÉ=Œ¿Æ8~u†;ö�óí®E¦{é,��ðÝÙù^	`ßûÍýŠ�% #·‡Œµº.nåÛzyåVµB©µh·;ò<2"¶¥6X�¨%÷¥)9è¥øx'€u^K­Õ)`r»­V;](³Cþ�Àü—]µ¢Œ}3zÕ‡ÏrsLIöª‘lÅÝt¯2sM±1®.“¹þYÒ]ÅmmëpÍVünty…«Ÿê]¾Þ§»%å�ù"ì«~R®W‹X»O¡Ï¸Ï¬9¸¦»Nú‰þ¥`4àYÌ’†gvWV[ïDøƒÎ�YxêœÃCÓ‡ðî?åúI~é\ù•ü7èw`zWI¿ú]cùeÐïÀü
çýïÀ`8ñß5–ßÏOÙÿ3‰÷1ØNüoÈþ÷ÆÓ»Fþ£‰ÿ¿Æòw¤wöÿ`â}L/û4ñ¿–ýŠ'ÌþŸMüŒåwAÿ‘ý?‘xùÿlâ:ûŸAk§!Ä$Qˆ“.»wõ0Ã;d©ù˜GóìGìO&þÛc¹NzsÂºsJ¼AÓ¹ˆÚ†ñ\\|Ðd¤N>èÿ�ùëGËoÆs2Ca<³#b®ûî³zÙÏ…{—Âk#º8‡Mµ8ó@	ëƒö)ü
Ê^¾úkGËUÝ9hQî\0ß î“¦=Ìžk	…
ãav?0ŸüÙÃ´ÿ%û¿9ŠŸÇò	4ç,%÷Ù'Jv!hûb	Ík–1É=~ýOÌ?�ýk:s]Áœ÷iˆ©ô`PoÀÃ„W—bh#ÚÜBÐ°,APîñOöô¦ý†oûèoÍþ5]0žT—ró`-AÐëËU.Á6Äìyñ„‰/‡ýx‚½‡ùÅ^v¾ü’øƒöÝÏdÿ
š3+!7¸œtÝyöñhtã9ôâ™�àŽôD=Pê…“ú˜¿+ûî3t…˜NËÃu`POOwÄ<ÌÁ%€qJ›åb§¥wÒÔNïT„ƒÎGÄó?=Q÷³�óe¿ÑƒGy°† uÒ
šJŠy‡á}¶.ÅÌørt
-s˜øV­
-1QÂ±¦p‚„ÂÓ_Ëï7Äþg,oÐà(G\V­~Û
:§üß[óR¬Nájï¨Z`(�®ó0¨�=yÖ˜ý·5ö˜w¿Ás•<#—EüRJ´š—Õh}…ÿû„˜½©c�î4	¯’Š¥Y\ïtN+Íz{ˆ‡Z?ú²ïæŒ«
-C™Æ.8V©_J­µ{)…·ÕKq³qNGEAv¥˜Æi'^W4iöš{XžƒwÖúqö};ß…ûiï;Ä
Õû%1CœÍ1Wu6·¾íl6ó²³™®GyÌÚÛ�“¢µ¿noÚÔþõ\Æ¿@¿…¹¹åé‹°¯>ø!¹¬
-Ž
-¹Ð—ªFJN¨W·à»qá$É¯‰©OÂkm8\KâaÖ7Ú”Ö×Ýa¶Nã“ùªˆ‡=Ïµç-\k(]�­ÌNE¶<Ö�ÒLØ •’ö¯‹.Øa½tBéÓÕn¼°ìy?¤·ÞO
-±]5£—õX­ª¬gªñPô2ªÎWfQ
jýÚ¢þld•ÈLŽO]3,?™ÀÆKëLŽ1aEŽÖæ44Z;;æ÷ˆSíŽf63WàÜòÌ3ÛøIÚ_–{ìh=õá ÛXçCøxU‰I‡‘ì£žËÈ+V>š&[<�$u…@ÿ4ØM±Cÿ8ßúw¼‡²²~ÍQüJìÆ6Ò?Yû´a�ˆ³_%Œ®î�
-¾.ìÈê*ÔEú‹][Rç“µØtÂíŒ±z–Õ!KM”~ôy÷d>ÚïÎ„û ójiƒÎ"¬� X(¯ù�KûÖ§'k5¯¯µéä,JÈVš'ëåcZÑÑg~Ñ™sm%>"$y%�[ÃÖ^¨HÎ1\èfLº½w­šA%š&óH6›ª“`M¶ìd›l-Bá«¿GŽW	OíWì«kðh^#o‚åÎ|Õ(Õ‘E¯H§fWkŸ•	îëÛeŠîÎ·G¢MšZ°qÌ»¯zÿÔ|ÖF;þU½áAP�h
-%L@IÓPZü·$€ýë¢•=FRŒÙ°‘ÙFq±Õv—/¬lù:»7¦¡ñ¶¡û£ÁöÚE3”Õì$¦ÛVsË­òJ‚MyeO6eœmmK›CË,U+õ=”¾Uªvõ”ëã'%€}õÁƒýæ]XM‚7G¦:wa_¸Þ…r«réÄÎ)=)äÔ6#ÑƒŸVv‹ Ó7KÇûÒ‰ÙÕ¶‘ºªú®¿ÖôvLÙê\p¹Ó9Úô¯÷cÎI;^LK‹–”Ã/Ë·0Ø/ƒ~&<‹ý*èw`°_ýù<–?’x®åÏ&ÞÇ`8ñ?˜ý_‰gûÃ‰ÿ<–?—xó÷—ŸŒgûÃ‰ÿþìÿr<áÑòÏ&þc,ßít?ƒr-Ò—!h¨oâ½ýÂj›-�°®CBziB8�0	-Ú9k½�yÒ¢í¥ŸýöÚúyðÔ¤1ˆ©òfÖýÀŒ¥=L	`'nDF2Ò.íò;d`hQuµm¢Í�Þ†—õšÕ¶f
àUÒ[Þ~Žpý!ñ�«ÿXîƒÞœ6Œç¨ŒÂwr
-‚ÊýÐ2éÅsIò™�˜Èè>4BIÕ÷Ý,$oBo-ŸÿTÊSî¯Èƒ–mx´ü'èÍIÕË4a:ø@PÓ�·‹Ôl�Bmíy¢§¿A¿á‰þ¡ï�üèÍ¯ÑÛ¨CÁwjö1+¥›˜Ëí\OœCsì�t3ySMh}˜óÔúÃ¼õAÿÇ¼õoÞ
-~,”ÿ1–7è(9An	4?@Ë-Ï\Æó‚'ÐáC
-ÉäLµ¨IÛ&[Ðÿ×ºýê—Äç
úë‰¿[Î¨åaaöÜ£³/8ŸAŸ(¥hö�b2YSmAPæ ~ýŸx~6²>a¾å±¯?ý¹Ÿ€âÇ3ø�Ù�ÛˆÈob½¸wÊ>xêH	ö JðÊ‚.ºTÐßfã‡ƒë¹bÓþ�úƒHßË4�{‰ÿÊ{[hn¡å.N�Y‚9ÈÛjÊTG‹6ÜÙ	ím5úþíg«ñ«mô¿1¯×ûµ³AmZ,~€N¢¯SGKPù\MÕ\4õý„Øè�4ûW³o5¾+ÙoØ˜¿%ûwÉœ|½%RüÙÃ,ÜÄ~qç¬ÑÌótHÖC‡k·'ìÐ¬V…3%%Õ‰úu�p3ý¨lû–!Æß~\|ìóhëzµ|P§öé¼zA›Õû™½(ä1!n#»¥Œ¶Í1ÖùÔC‡„Ô_Þç‚Æoºp?Cû	Shu›oÌ‰v‚˜eïN®P¥²»CÓÛ¹Õ?`VÌJóûà<žÚ²6èh’âo«ñíá}*Àûwwa4j]'³‘Z½ÞÊº^õXîzíç´Ër³sì[F�n»Ï˜!Üõˆˆv¼µ(Žª	±ëñ«JÁ�
ÿd-Kõƒzwb¦š-ÒÆªP9ê?.ìËû›S„�h
-rMKfù:9ô”Èº�©\°ÍqæùëN½Ž^úñV6—”SßŒê'y3Š=Ôõµ´Þ¨ pS–DžÌMÜ�æMM“Ø¼iÙÃ9+Ù£9« ò¯Èmn5¯éZ¸ÏìºtM+àp�è‰lsƒ£§tÞ7ÊA¹tôí�»Ü6n�àÖ7Ý)­§ÁSw=Ù]'+=væì}Qœ	×kzr�÷““4Rñ¤Ÿ™L§"”Gå[ÀþuÑWroõ¦ûjOwN)yw.8;÷™#vã5.@B©iìºÝ¹&KÎ:Kœ(u~ÑSê||ª°e=ç•ˆ¶ˆO&Ï	=^Þ/øh¦ØˆL4 ç”;ª¬°ÈOJó_®“jºîæÌÔÍ
.»7hêº³¹­ˆc:6¤Œ}mhIj.«KÙÚ­ÖÁ5²*sËÈ‚™lÃ³xmˆÉóíð1ªf—ö`7%�ý^~åŒÓƒtV7ç_.n?ŠÒ�_÷ñŠÔ ¡è^J‰bâ‚cÝ•5âwšÉ,ÑÜ_Rò¨¡–†ÑÁ²~®æ¬vQ„yÅž€pÈÕR¨:àŽaE2¹—Ô™qwìQ7³´åÎ«èÎ:¯¾ì¼Úñõ¿ŠW	ù_Ë}qƒ…`å‚]–S�†#'Ë=VÍ†mÍµ4²fÔ
-NV–ÌïÍ{Ry6yŽŸ£‘~–ÛƒÕ{×ÁªÀºYÏ·×X'Ó&2©l«6$2MÃ}äšMùQh6'TŠØø	`LÝmƒT¶çý`GîBÑaD›äå�Z¥'áÅÝå•áÝ¨Éeî’r�fLJ†Ó|7(—˜6Y”CÍÖ�ngIÔOz‹¨Çèb¨æìŠLmTÊ…¡´¢¬6j/Å_»¡´³'KÅ&{lÃ­tñÜL«ÕXS_XB…R’L®E®4úôà”¾c½l¢öhW§ÉUóv=Î­êmÇ+ÏÍÉªä^ËS%¸XÚåUaéB9< <ƒåU‘Æþ[ÿÇò“ÔÆãÇI6YÕ�4g©›~*¿°²âZInG¶\½%/ƒA±{ì…»Ñ2ËÝuÝ	eæÕl,;)«U}RÒ
-­i+…&éYÑH§ÅÆ9¡™Ab¥b@é (Ö¯È¾ðpH8»°\£±.¸»äfh2&rõúê†ÔºßC:ƒQ«]½zb:oUŠ¹N­DJ¥Ðy’åü)v«å…ñ¹™s’çvÎá.ÝœÃû¹á	A‰LsÃGqÀü—Ÿ”‡6"n¤¯Üe">x„Ú<¸}]xpåÖø:Îv—`_ƒs˜ó–
-b§pîàý¤;ˆ-1±—+Nz7us©]¦Ë™ÏG¤h¾ˆzÃ|ñJ×|¥NCóUA'F™ÖÇ[
-o
tC+öÿUØ¿.ú^ÐïÀ„sþ_ýÌöË ß�ùû^ÐïÀüéÄÿGöcâ}L˜ý?›xÓóÇþhâÿ¯ýå7îHì'þÛcù/Ð®|W§ûKP·çm6LXG²Çû$q—åÔ>•v2»ÓÊî2�D&Ê�°Õô²ŸZöÌWù:6ó�Çt«�áÜ )¥?)˜ËÃúÁÃ™Óƒg¼'(>8·p²2½&3óã‰ÈykõYë¸¾%Ž±}>·¿QFi÷˜
-•@F%s‘JWÌ¼k˜ùS«á–#³@8³­¶›Lõ¦–oNìNú"ì«þ[Û† ¦³yð´™|ððj
F–Suå:¾íRÉ¢gŸ°–…‘Éc¼±ƒóäý´jî”›Ô6—ùSÓD‰\ÃPû±6”úÐPu]ÙêAe®³³Ätsj^FëÙ�~HØ—÷�^µÐ|Ù„ #Ou­\e<x¾ Ý,r6¸	cYa2qpã«ê~úhH»|Øè›Å!Ñ3Ö©~Ï(÷Ó}ƒˆU&Q_¯à6ÆZiE‹Paeí¬çcu’çz?)N@ÌÐ|ÌIy˜Ì¾âíûÜÞœ_e;]�Iœ�ä„¶¬?¸ùy‚–z;¤„LLÌ.ËF¥£�¶z.çI¡›ã®ªu¥Øb+œgêõY¯."­”±Ûû"ðºòŸü«üh£iú ^/låêŽ#s�yž�ö’²¬
1Óâ>£'á5òi#²‰W�¥A®�²­×[³-„ŒG¼²Ù½Z'&Ó™š$Ç«\É’VA\ëý�À±x/ƒÂÄçé¿@'ñÐUäx)°�—º˜täý¸0˜ö™G¦½CÆˆì÷Ë­�f×[ZY®ô­èZÄªèëËð©0ué)«9/—Ö¢÷“òà
-Ó(ÜÙ	Ï<È@ÌL||)Þ­Ž2`4|¸ÄÆÃ¦‚‡Ð‰§Ñ£HnrûY¹ÔÚ!+dlh´ úîtÝêmz½Û¤œ±N²çµš~V•U°íŽ–X¶Óý–À«×[ôE>ƒ6:è˜ òrzéôá²XŒvm f69Šémf?“«�rA^'Šž6ßMi«w"âQ³‚¦µ‰KÅ�zG�›Õ¼‘T–Å»6\T–©ÎOŠ·¿ÆJmï'ú‘¾Ÿâeãn¹ýØÝR×Sÿ�ËÂžßíÚà§ŽÕ�‡×KrÿÈOk»B?*™DØ�m
CÞèûuùèàëä’Þ­^dO]®Æ/8ç_TA­?¯Ak^__?.®9‡ñ¤yã~b@bô7¦Ô™ŒoC½»`.Èl¯¶žñÓ¡½æŽŽ™H&ÝgyD¶Ò#æŠQ/E7Ú)�2Õlá©­�íX[lîÖl¾]sz:Jx0ª)áF·ò-	`ÿºÈ—Ï q"û=!#á.ÉÊè6<u
7{¼¹q(£çÖ€â¬sò�:Žg§ê~~õ�F0/ÃëýÓ¡<ßŒ /474^ÔÔüBÙ�f“Ùñétg·^›ödñ'ÅÇôfJ1Ñ¸K—Œh¾¶}ƒ
-å¾tõ–æ*íÈÅYÛjÓ‡wê=géýËÑKF£_­ë‘…,mFsjºNÝ'K¥ã¼’6m06ÃñTDNÝÉX�ÁˆÉ·Ñ*û“òà†á�ÙG`<ûHJ»KûnôæðõöõªT–®²ózë^0�ç}a�…[ä4©G3Zy3Ž�õdçŒ—•ô¸3EôìT|�êt”)td¥zÿŸ¶ó\WÛíÌ‡0€‰`Î"(fEE0�¢"93ôýïpU�½ö©»ªÎ\wßó§ÁÎï³ÑûÈ"îÞ~{´£V»îŽbW�¿Åò·/AQ&¾××âŠž†¢XÿOQN~‚W²$øš}¸Ø9rÍp3H>ïl6wçèwUÙýþuO¥g—z…ó±ãòpè
-G¡T Ñ€g×¾�Ì,ŸE‡ãíMU¨íí|êý>y~T`SïjŸO(ZÑëJ\Æ¥0´{L�”‰•;yû«þbU�ML½»=&SJï—wt.TóÎž'Ù]OŒÚwœ¿z»Ï¾Ý>ÿÙo+óJrØÚ>Ð^omIæ�dðû¤ªÁF£ÕŸß;Ðµx‰¼�¯Ñôr+‡�†pôaG[¸¿;ƒž¦´Þsp9?Ò˜|i^ëË—Ú‡Z~ZØ1(xm´lˆs2Þ*•Þh¬†mV£¶^Õ_Íõª‘lý3àµü¢�®	�ÜÒ¢j·"~€_ÂI%œ‚å
;E�åƒGùž®¯ýF¹¤íÀ“3Œ„žUžÀµÛ-%¤j£`£™%ý³£¨oT®V\éŠËm–HÌ9á
-]—û/b]¦“äï�o§yó–†Ö³ñù$±•—‚¤ô´l;Ý¶5å6È<*|t}ï’¼Ìƒ³ThnÍ“1Ãã}‹;Y»Ampß,ˆö™«]&ûå!ËŽô>~öåeGfËŽ&[Ë–�~àùyþ]Ä•ú©CY×Bñv¯†¢�8º˜ZÝéH\–6{iû:–Gõ9w&›œÛË&í]Ä^wµçózkû¯*ƒ‹Íñ¢OŸÙ9ú®g·sk<õûsn
¡Š³Û³|ù.¾�¿„‚SÆÂö¨¢§Ä’ô“fŒä,®?8Ñ½+Éâ��Ç\ip.RØü ‰åNy2ìÆ\û«¨ôj.€¬Í3æ´<�aai²ÌK_È¤x?VÇöXj@Ø�±=É0c{3˜þ?ÂO¦é ÷Ä5_¦ÛySì%8»(â*­ô„›.cè?9m¥»Ò Ë«Þª¼Þ3ùåÉq�9Û�SÂÅÀx“á¢Ñ.Y‰X1
-#¶½¯á«óJO‰$QÊAŒ‹?ñ…ü¥àŸaÙAÅõÜ»}n´½«¼éAÃ)+cÍ‘~réF~ŸJœ³<12^œ8èø‹Ë;a~!Sýé¨ãm-VØxÜ¿ÏHxÈïãe€ÖÇF	Ç7†g*“+
5Þf>wFÿ>û–ÿu®¿f3Í�<zâsò°¦Êë¦äÉ®>:mÓáUd¼ùm[¾g”Õ;%ËóG¹¾Ÿ–ªÄn$Ös›a_..™l3ôtYš÷õGrÙ_L’ë~C>¿¡gÉ/�².…#DC†˜Ýÿ¡§`ß«
ÇvîÖ®Z¢üðÓéSí:†ý˜p«ímùöì¯Î5y8Wi}:ÙÇCöÔoÒƒì¼Õ¥‰ú²MÙN¡CU/¸Db´~¯+t7<<Xgñšwa}ZATwÁò«Ò_áÉ¾‡Ö-<v[òã)œ�Íûò
ç64EÐ�IÎ§È 3©ÙcŒM�'8ƒÍ…~¹~Ì!½Ý$›ïîë¼2Ù9uår‡J(µN’?Õ!­¶Üxt!ü~›Ž“ìïãùq¸Í¾1Ü±ï¹€X=(@”_w€K©Àñ€Ý`´öcé~ò¨möæ(cV³ï¦k[ÏþÀµða12u‡H@ÐYS‰¤idíši”q8»0�Î€1
ö01ªø`¬µ7	öùªzƒßÂ?kÂYß*ú
ÍÏNï(ú
Í/ä?ý>û_MüÍOöÿWÿC®‘ÿwÿ­ìÿÿ‰'ŒØÿnâæo˜ý?D•¡mÍ> ºÈàÏp¾ÆF•‡+ú š¿zýÜðé(@±í	‰ùÖl+D¦1¬¼Ì…SBÌâ¦‡A¬ËfñáµÍ¢‹Ófñ=‚†õþôÑÚG0VéxÆ¨È�¦€Èl€XîY¨9†šæ‹WÕ‘¨€ÈïfQµS;ÁU°9Õë+OË¹‰…Àžh«—E¨êÛ\Šã´aoˆ¬±Æª¤±®-ëÆzâõ�õ¶§ƒÅóµö¦*ÓÇ÷I?êß±´Iý
-p6þw/AÑL¼(CQsé"F (\VBÇ	ˆ‘¶ˆªÊêâ¿®éÑL%pî}þmOÇAÚ"GEÔ,"4<5°/Ä¨bíŠQ­‰£JÖ¨nû«çëèÍU†á§÷	Ÿ*VvÓWÊª÷[Dq÷Äõ1úd?â@¢¬7Ú€Ž« ì,mfÑ#èàÏc’ç·swý´=ËRy«ˆn1ÃM¸Q}‹º�Ñ
�××”¾K'fÚ~˜áTfw\ÜÕJcªXí=l/×Ú%×»Ì»û[ø)
-HDŠþÔ´Æ&ª\d±·�6ZI:Û}ô¹×zÒÎcÔÈÚ³«BZEù]6\©RÖ}g]ÑwØ®b3Fo¦ñµ*ûÒê‘»�—7ÒÐÆ×Z@ÒrÌ�;ò¡²mÿ-¾�_•¢µ‡¢†3ùˆ†€$«°
-ÄkÂ¯>á#·7Ô‚ý[	=ùUDÜ\óŠÛóR¶JS7¼®ÐÐƒ¥×Ô¢K¾‹¶o-GÏ°×Ð‘^ÝÈP›^ë)r Ç·%�gÝ–ÔGðÆoáß5‰Ï/[²Ùý!J‘Æg\ŒÜñP
e-ø±îææ÷‚­'z«œ5;†ŸA{zH´zÚþÒëj�âzª¢óÙú¶˜¾×:F²ò�;ô¥~£Ò>Jvý9£Î½ö[øS4Œ¦?DÿÐ$QÑ�¡¬Â5©~åã2àÕ V^¾Ÿº’_ˆ;J†y[ïÎÊÖÊ,tÍZMaõ(¡³Ú¡vd`(×Ë;ž@V×:UËÝ‘@Ki$ß9g²Fó”OÍªGõBWþp-öß1¸$>¢0¢
’Žaö%�
Eƒû6æ×GØjžßïîí„çœ)cW,‹§Ûæ6‡°Fs°[jÇr}ú<ÙÇ-l/Û5“•sˆ {mÄæq*´«ÝFŠ‡÷ú=@ÍÓVÍäôOÍùlòÉ>yõ`0×�Øº¹¸Ò’”PÐz®vµ·7¸nóÎÃËö";Ve&ŽŒÀmpÚKËm®ÛÞ¹'¥é"}ÊOÖí#> j‡ÅíUÙÛ	…ÜW+üØ�ý8|ÿ.J‡ˆÂì?}J¾ýÙe\F^†—Â°7³‚n\z{×©õyVçx©V�™£÷íÕãÌ†_ïzØŸž
-Ù)z³UEä¦$n#Šëû&!„e¬ „9,/j*û
À•Å¿Î±¸%þ]t·†gŒ€"&µ?»ŒÓhÖÇPì-õà•ß¾Œ®òžrÓZ.^ ¦fØg6ÏQ_ä.'Rb„C~ƒ®çLFl;ìÕ³|úØ‚Zœfv‰Á¢Å¥!¶ÈojÊ0žDvC™†g;ž	‰Ï·Ò¬€¯GìfÂð8æƒWaù’;>ðØ›Œ:©™ë³Ïû¡>ºm9vx~DÙÎf6qâeDZ•õÜ?“k­‰g6ÄKmÆˆ�Øffñûƒ×Àkù×ù?ãßEwYùÏôbôc×ö³ËÈ„íñ˜’òXòrÜÌpŠÒóeî;2\‰kYÿÖº¯'¥Ö5‘=wŽ6¯pÎbçrU‡,¬|jßå*è�àV£Ê-U)ÁçE´ÆÝmü]|!?€T¨×(Í¡h*k×9(¦ºQ\†xÚtF±:ñr£ÒÖ¶éñÅx�³ÞSMNÑû&[*\{i—F#©,Æ�>ÂmƒÛËéu™ÈÂÞr¹o±ÍU�;«ŸFVüðZmÒ[ð[ÄE‡štcCYMÒ7– H-Âˆoõ`MNI¢â±¤gsQrdPØNxN“Më^f‚k²¯½¤;ã!Gn³Cø[±h¯vÇ¦²jöNî*ÈÎ³«ÝãQ^Pc¾ƒtÀ–Í(�^6¯^ò'àµü÷‚_!^ev/@ÎzKÊv“á*æ‚¾Š÷jÂG‘(kÛi…0’z­ûÄžoá\‹�kòíhÒX‹½/ädÌê/1A4­
i¶/ËCýlÚÕîËŽüð–ŒAïÅ
-ÿ|§6—Ì6—Vƒìoá‰œ5’Â8&g(ÖòÌ¢$yÛvý¥k$å UêN§â5u#ÎVˆ¯§¥×7Ep3Ûg&\	‹Éz‘R„ÕœyvóA>w�_¸½õ…,RvÌÕffªr9rŠ¹ïâo!ª:pÀ”–(x'Ý]Ø^'ÎîÄ�Sò!ÁõöÜ"·pÛ§¯éÝš“0§Æ¯uOäkÏ°ÅšãËÙé¢Ï«Ìl4Å™ét™OUƒƒÃ}gùuŸ�$Ç�å™rr:½¡Åò«ÒŸ¢(€£�w\ƒbïž…¡LL}$šMÌðþ`žÓu�†xöŠŒCFÂ
ezª êZ¤„ìd«mŽ71éˆÕgyµX™,3×êØî›ãuÒ Æö¤5…Ø®'E=M–�“¡¿ŸÚNÍÏgIùç&®È×\pJˆM›äüSÍ§¨{ý�>®ÈÚÈKÄ³Ú=US�‘ØŸ,{ÛùK­rMzF.˜L37ÕÊ-dìdÄôˆ—Æ¥+ÚÄºÊŠ7»û…°Q¦Î²QñÌA¨›ß‚£V¥[Ì=
>j ×¼;ql ±ìÎ¿×utEŽgM"G³<œÃø�GSDJaq[Üc™Uì]ó[‹¦$Ë¸ãZël³2a©ÜÝÈý£7`Ò×h€~rÀÕ,Ä’0
»	¶~…/äo_2C>F|Ãà}IX:¥¦Ÿç…&¯È}1•H®¯…¬™Ø=	6bæ­zÝ·1§žê„S62ÛÜa˜Rì=|ôÌ˜œØ;Ñ§$ý¼ß²¯×fF_§ž>��‰D5ù[0ZKù¼rü®ÄÅÎ»y÷2ÁþJƒV^"ÅÙ!ž´Å�Úvë`&—²Ýgs,ÜŒySY°½–>d¬Äˆ~ö—lñ*°”]}M¨Ê\›ô<Ò\@¼>7]&Ütyøq¿åò
-±V~z÷u:ëïãàõàÝÆ•¶,E"÷a~ÿžïŠ¼NÕ«\¼|Õ·îæeÊa =: QkÈ,ÑSˆñr…óeªú Ê=Þ÷+Ý¨iÖ»mîÔè¼*§6„FuŽžFC¼F�Þ.;‡(,þ_È¯J5z²—îvæe\é¸NŸWïüqO™æek1Ó;×qh}‘“Xgâ.¦!ûÞ‹`0Ê˜oÎ5RTÍSÝ˜"Ò�7©¥;Ôh�ÀwIåO¹¶ü<am†ÞmÙ—ZŠrªBhÍËú=ˆˆú-Ü­dM¾Hv;ÕÈú…ˆŒcU·eEl¬Þë=WûÁl²-&Ö,õÎ
-Ì´P;Pî–“ºñ)qíôQñÞäÇZë6£­VÎl8MuÕšÓr;jbnï
1I5ôím,ê«„L|!
2<‘¿€=À´bàIw0½¬5ê�Âº{€|PèI…È8Tae¹§¿_¤¦ÞþÉ-Ý—ÒâÝS¹ur{îôq1¡\¸T¾•p©Ê6¡.ÕËÕ”~7¬Éû\7¸a¿fTJÝ¿Çò—‚ßý†&œóÿ§¢ßÐ„=ÿ*ú
Íÿ+b¿/ú
Í/ä9ñÿWöÿ'ÑãŠŽïXdÜÚÍ°"ÊŒ/0ï‰·÷îÍž[<BŒngÓMž-ßM>‹‰Oö+ÛœKu-Ò¥Ædã#Ú´0õE—£úoÆÓ»Øóëy€ÞÀS“À[ê“ýÌYXñ
½³ÅRd2R7¬6�‘/¦¨…×Í«[÷dönÒ­HŽ<íª[Ç‘·.pd©‚:ò“ÃÙ³jö�pÛæZF¥Ýjj­�Q{b±çcŸÃ7ðµ`(»P´†®Ž­Þ»ÜhÈ»öÛZLNêÃ°ê
g¾x’×^÷ˆŠ0b}d{rd·~uÐtñ	1õ70võ‚ƒÎ„ªƒòq×ÂÞBÇ¨[m­¥yM5-•Ê�+�-}_È�Àª
ƒ9(œÂ6ÐvEu}°°¬?¤!¬fL¾„IXãÎß—^¼»ë“›nÜd‡y÷ïö-]7m%\D6{½#ö­Ñ-Ú7úG1kÊ^(£²¬wµ–ïµU:ß®ÝÇm¥x{žVÄwð¼5«Sà“òº^’Ü!Àëìçn[| —ÊÝxa¢‹p»èîü½Iï½ž.ËnZKÝœLnªÚlX±ìÜrìœøÌÚ9¥R±sÑ¥opF‹‚Ë»£Ò]ºy/µŠ²H\)µPì¾�Ÿç‹?E{ðM‡‡¶j
-VÓ˜…†{‰rù9/ivòØíèÇ^({ÔQ\dÌ¨_ˆ“Ù«¦�ëŽ¥‡	ˆ{ÁR÷Ý–¹8�hMìy”J�èö½Ð–«ÊR//~å\¸ðžðm|"Vq��(T>1;hk}2�Ü5Ÿ€è²y@p&6+Î.ôÞe9hÙÓ»w^ñO—8–“…Ã£õL÷}kZj'-ìu%­éjJëuÐ*}Ãyò½°|4”’�+]vù.½Vù¬t*'ÐïâOÍ±ãù˜Ð5€êÓÚDÄMÆ?{ãB4öQ5Rî�¢†Ÿ�ëŽ;ÀÛ®“õç�õÜ"Ï¶Ó¦þ¸V»^ª’5¤nZûÔ¼nÈ¸,Gü—Nl&f°#rFtþßðõ×‚¿àÝØøúLü)úxÃ²33…Ql€D}�zÈÅñüÙ‘»sýÞ]ÜkÇ�Q6û‚íEëf¦‘í¡æâd´žÀ™{áúè\«±U‘;D‹�’Ž�?)Â=>ŽDê8é!Éïâ‡æ'û?D�uQå÷nþÇ†=9(�€¼ðãÏó!.ß×Ï°yKzþ_½=&ùL;÷þ#méÍsFo4�ä3±Ÿà÷ñuÓ¾ø·[U:)8yF1®_N¹b;sÄ*¯Ô�lHï½ñ¯ïæ<åüx#þÚïÿÐ$ÊÊü³½lA9ºÈ@}öÇ.w!æO¸ÞÕ†®ÿ>?€‡nŠi{N¨ÑHèƒÝ—¢«C¸à²«ÊgÙyâ§Ü —;èùÝ[Ä>¹/³ôKÜ¨¥øW€sË¿{	à£·ûï¢o,Ö„¢Œan[/Ç–~dâÊ@ÚD[[ºÝCöé
Ùw¦A+anY$õDÔÌ¾RÞ™YKÆqr0Ó’—QÑí4bíœ}BÊBó¢…»¸%»=ØyßÌ8
-5ïVéÓ^²ò¹rû×�;`n³&?Û¡½¨~œÍÃvryô‘ì•
-CÓ¶œV-Ö¤Á,º“ö6�“ó¦¹çÎ¦²ëf0“?�;ßO’DÙç)Ÿô¾>µË9|jž³ŠÚA	¥Çæ¼	»Ì¸´¤Ž;1wYbŸY¶Ãva8ú|¹9Üº¾$ÙVÑ�Cþí«q¯-+až°³¥î’Tí¸â@CXUŽ¶Î‹¡¶ÆÓuc=­wõµ:h›Üyñ÷øB~UúßEa<;T�do	C9úñ¤‘L(Ž{• ·kSžr çŽ.‰3Ü&ŸZf%˜·šº7¤a¸~ˆá¤.}!k½{ãçIE^Í˜‘d-DÍ3—uíú\n5ñ¾ªTï÷•u´o¿X5sP¼Ë€h›ÇOöÙI�sq
ƒÙw¢ºÝHG�(@G¢î,èc5:½�Î4åQ‹Oø_ØýXÖ“2¯ŒîÂ²õÎÏ&Ïò‹›É¼7»ÀUàœBCs~¼‰êÆ·/d!XÃËoVNÒƒU3E‡Ñ«HÍÞÂPV´°ÝÃ1_IGç“«Á¶_ˆÎ¯…JÆYéì®Ê™°.²˜x®Ä5·j¯f¹–ÁŽÜüx;ÚöÔx¢-ëÈôžÙ†3tœ¶fLB|Ì“‰áužðè¿Çò—(Š¹0ç¹
-tLBQEÆaÎq>�é«/†æbç«m5JÐ0¯¨E²3WÀð|’GüðzØE­#?~ç6KpyŒ&ÅÞÎ`Ç•fÈ�¹K �mÜÍŒW§JjB„p¢ÊsškS–ïß¬šeÏ6	5B†U3I~žq'7Á+ï‰^®s<Yõ×ø¬)v6xXÑ»¦ã<“Ç#iwtAŠdPX®�qž] I²ûÇ–]å’�×˜uÛÛ“;ò–zjT¯-Ð‘3¿EãEŒ›ðZ
-Ð¾X9kPtX«Âl\`wÔ+FõL`º×»²,±šr“h(„pþ$à*é´¦V3ñýò&[r¢v—¯3R›Ê#räÉC‚
oëÖ¨‘)NGü"8Ž¼pgŒm3Ê695dwÜÙÿg|!?ÏQ¤ D¦HdüùrÒ½½cËYÔ‘²ŽXÍúÃ2©“r¼–ßòcÖOÎ0êï�ô”æqbRçšÒ•˜³½rnìŒÛæ’©áñ™…ó±áÑ›ÃWµ8¾zžm?:
-Ûvo@ß/©Rå¾�ÈIÄ6 ŒU�
ñCyÅ¼\IÃö"K-X_y¥Ñ«ü��ÔÉmÐµý‹‹ëüóˆ\˜i¡ôr+Çl¤µÜ?¾Ë�\%0@”lvóR0d‚0Íél )q _v*„b|¾Á
ß@ØØÃn”LŸš€ô3Ï 9«‡¦XyìU˜â—‚Û
-·sY¢“û÷€ÊóÚbœ\7j�ö0×rÝž‰‡:jÚ‚2L±¶Â°"­Ð�×X§''ÑƒˆôäÜÈÑjî^¡ÕJ…‚8Ï!ÔÕ7ð…ü8øÉKxäÔïÀ`&dÛÚ9+Uïçxè8Ê@ÇÁ:â×ý¹˜5øEêlr‘›U
-qQ¦Ëqï4qL\âô†V¯m®¯Ÿ
-|Ÿ�=e	ìù)n0T!$Ä·¤QÊ2ìDXù.l-&Î€|z^ÈÌs’±[C•K.Y‡óäsùÆû·™m­AqÁÊÄz‘›¹Ü´œ9ÎGmu2\ýé�žõù>eo�~Ï›kL�'�q7ión¸F6]±Z!†„ôèŠTÞ…(ú?ð¹ßò¿ÎÿF0d£MUuEÿÖ.,†—\"ÐOÛô÷�Ý–oÇÂê\ÛçSd[™l‹Ç{.ËµA®w)!}S5HªújÝhç»mK)wNù}­Ó{žš�äLéBøL[&^£¶LVm:ží ÖâwÛKüšìÕ`eEd6O£ƒ£�™í6¬�6Û|â²Jí"u¦ßÆX¨&à8Ö'\Ó�r·7¿×|uÃÎ[Q'u¸‚6ã­ßmt¶JµnÄm±æ.÷…´r«=ÞTË'²9q•
-Ä«ÝÄ¶þ·¡Þï)Q	,T–&Ùóeÿž¥²»	h•×NÔ—èëþØOÆ£NT
FjÒ·VÂ¼ˆyêñpö>jìZ·YöÐÊ™I©9-ù—&æD÷†¾yi
2ð�º%øv�k½ü:×.Äõò«–„è¤âùKÁ_pƒ9ÜË™×àxhJÏ?÷Š:×±^�¹J½5Ø�W<öÜ^%u¤fax÷Ð–ÚÖ¯µFø^®Cõ>{°IC•[/lZs�ä²VO¢«j ç¶U�Á„j%•øV“*‡uƒ`îß(�°U‚B)t@!×#A^½ò Ÿ¾ wõË g6f ÇVÏ ûn8ñÇRÑ¬w.„‹xP	‹ÝA'°¼Å0àøó"àä”Q;œ¶yœï;�MÑ¯`�Ú _ˆÚlÖííÈŒ­”-Ä*„ÔÔDù~ˆ~C^Ë*ú
Í¯ÿ\ôšpÎÿŸŠþƒæò
-ç<�„óÉþOQÜA.Bªm(º§%�+ÝøÑo"Ñl|ÁÂ%:ªv¾Û	8iÊBÜVMvdhxÒ "6^AE_e<ñHe¾7ÙD3öð­£æ|¸ø€Ë|  >/ À¦a<;³È¿íÈ÷Ãägtäyiò�»rÊöÉñÃ]e"âèa‰äÁ:ß§‚
-?û^Cà ‚£ï1µ›ïÍw–ïí^±ï	MX5“w“L*g³9=gÎ—‹œ¾¹¤3¿ì-Q
-
-Wû
-
-«¼m×%ÔP€Ž‰R
-é
Èû¸
-òL:ŽÕ•“�Èv­8ÍC+¨æû}Ÿ'êc�÷ë¦k²_�IÕç™“ïó4åóÂw{†ÛlY-˜sqš×],ŸòKäÙyÓßÀŸšû"Ô\‰Ÿï$º™=È?+/P…P8öw °æPHŽñ%ðˆ4VµÀÑÜŽïW¦¿A´f^¸ð^¨è/¼aºZ›È‹2hÆ}õHÂVV:nêé-¡»Tûì'W–™Çe¥¾P0<(ªÔ=ˆ{ÊáP¨Lß `WzË„eAa^UR,~!Ñâì·—")×Ý²^Dtž¸êÍ¤í‰·sÒmw"(BÇ)tœ‰ç¡»Ì=.â¹©p�û[|ýõuP5»>„Q®E÷ÀZS
-`B|˜H:kW`-ydªÑ²[mîk5ðw–>ööDåµÙþÞoáî¾ò¨ÛË«{@Ýž÷.Y“³PÖÝ
^|v+³Âc0tÐ›°©«�7Áw0$­ü©yPóÐú¬‘q˜úlØÓÇ›'ˆ•°PÈlÉ5#snôÃ*’ù�Þ\x{IØ¸/¶p�®ðtO	,vOùf³ì¡l”�bùÙíÎðG¦mfoø¢™¾rž¾9dkÁwñ§h4€"h¢
-Öè°A8öf¾ÝH?;!Àùðú»Ï_ÛÑnòË©nN+ïPqy÷ÄNn²?ÒÜä,õv“’Z6¬v¾ü<XÇÒýžUrÊ¤Ro¶yË­w.’—³ûÏøB~žŒÈß í*“™&åB‚¡ Ð±9øÛ”Q©ˆIàKEvÉ�„µ{bé·>çJÕœ`ßðôÞÂ’Ç«9_d|Ã*^ŸöÂõÈûè%ÃæÊ¹i9T:o©W³¢3Ý‚}l¶P´¿€5ŠwèÊ…kâMÔ-`j›ùìŽºs#BÄmŸ€0+qIÚÓaƒrÇ~×Ï,ÜA:ÉÙ3æ�uáÈ?cq#ªçÚþ¡¦ÜóT3{­&Îi	¼Ñ÷™,‚S¶Š»ÇBÃ¶Dg­!?ßÀŸ¢
!SiÁ d€Szî³:þìÚÂ¥	%cªa€œúþIˆG®Ò,Î¿{Ö&Vf¥Bîž§n{}Å*§,”ÑáÊ¹ªqá­¤”Ä.à4<ÖÃcaæ¹bÅ[ûÒ¶­‹ë°ðü¾�€Ñ•ÛG4üS´y¹|CÑÕkú¹ÛöH¡‘ŽÜuµ:û®Ç€xà`\}j:�öR;/Ü#g"«kÕ¬Ï¤^µº<§ã¡t®?Ï„<h�»·_ÁÅ³¸Á¦à/|MhØŠºÛW7·ïâOMú5ç­6„5Ý2CYš}î¶�‡jÌµz©Pà_„ŸÆ©ª›ï]ï=žGc•M�æÊºö˜KT`ŒÚ´3*·†Jð]¢û^ßu
-ì“?Íkž"ÉŸ´rÊVfcù¾�Ÿç€ÍZ÷?EwýÀäøˆ…ÁPŽ€Ô+ÏÈ­WÐU¨—¹vpÛÐâºÙ ÝçÅ[ÑŸßMXgÆ—¶=ŸòGq(…CoË´EzÃn‹Âúö/ë‡Ñ•!úÒúqíž!ú'ˆ„Ø?~ŸÏ^ˆÎ.°†Ê£lE$l9ì‡¡”–1'tŸaØË{~Ú]GË6QkÓŠzïu¬=f�\ç"}¾!oz¿AÔöZ)6—î¬YYå
»h%¸[Ý’°ÜX´°tÉ¥°*3¢°2ýç·0¾ÿ€Pc€i‹.Àk¨©h e{mm\�sË#mh^vºtló5{ñMÍ?Ù]ºUõ[]¦ëÕöqq>wwï¾ÙâÌ¶Tžõ®0'…Î$ÌùéåuÚÎú¥ýzÞ	Íõ<ž!›E“G¸ÅÎƒËíàµüëüW˜4R!,(êlC›; ¢ˆˆ-=³ÃuæäKÑóêháòamOK_O{Ûô£ØËâ—woP:l¿[eøª×·ù	U^Ä‹6ÖŽýÌ¨LžÛ¬[<íÆÚ9LÆÔc7¹c+n:˜lV³Ôc·ü.~h~²ÿÅ“ç>À�Ç�LƒŒ¼bz%cíeß<osâñhP)ZW5¶ùVÄÕ>#�niìP‹'äEï$Wåôü,ótvë/Ð¡˜A;Ãv6+²^š¿~!£•Q:�‰‹³ÏûÍ$/Ì—ßÀžSOïýxáÖDQaÎ—d(v
Æ§#qè�!Í~!Æ©6^>'>¢ßkÂûuAB*utp	ètœÝi:»Híé‘ãŽÁ€j^�Aªu¢˜KI<ÞÈÀ†×§Ân—Ãëf^»ÑÈë¿^Ë/J:r*%
-E{.+'ýŒ-ÿI½ÙºæbS¢l¼ªQù9ñ´Õ}«î´ëY»�³¾é ûÎi�lç“KjùšD‰/dbèq8�†
�¾T†.´Ký¾Ö©KôøVŽ™Ë™ƒS9q¶œõyœá»xþð„¡Ì½>cåø=dã
-›8·Îxl§�6ÅÞ2|Nž�ò}ëÂÖ,­c]šáa|aÒw£c2Á	Ç˜M«=�=$·“ËŽmK�RôdÊ7é‡·X1¹ó 1R†ïB�s®Ã ÓÊc�¤îÒ Y“ÎßÀ+g(Ú«½‘e†€ôñg�lC»Òjßž�·éÜ·Î»y…Ã4ìa¤™W|ù 	Ã“¯ý\5XË{Ra•ç0uH_èÉ£}ïÏõ±ÛŸH¦?¯�¾N/f}�ÁÎý©8}âÙôúÏ4§öÕpúW|!¿*øHÕ~%a˜lTW<ÉÅ&½ƒÆ²åtÜèx¡$ÍZŽAÖ0Åì›�ä™K&I>¦†-^ØcÆ™<Îóð]Hÿ%P\‹¸Re°´©J6›¢¸áµLq«.Mq{—£¸ÃJ¡ÊÏ½C•¥ÝwÝ�¦½M’/
>O;Y¼&?~œèîes‡«œ!’÷Ç`hˆÂ­Áì7Û<8¬Rå8›÷+Â(*ŸVƒa³5ííÞç.KgÖ«sÎ¶V'ˆµÖ
©t1ËtÃi¢ò…tÃí–é†|™ï†RGøBOéÂ.s ¦¼�WOiD�JkÐºJq|ƒ†™üQÈŽ;¥¨Ï³8áX¹¼´æƒÙ"·�›óÒ`ˆØEÛg›ªRÙV7Œµ^x§AçÈ›³N¯‰l:=f&AØZ'Y,úbº“l×«­Ú¯ð…ü¥ÀO¶Ž²U>›ÇçPß]î•µc\é[w$ÍÍ‹vˆÇF´SÛ\rS{Òè’¹ÌŒTó…Q¼+àƒÛ�$h’+b=ÿÕËw÷s¿Ð¡ò{òiËô¦Òf�S³�(ÕRØ×¨ÅV+^låžÒ|Èuû»°Võ	ÿ¼¶Pá^Þ‘ò…ž¥n_ÈÉ¥†Ôþ=‹¸v´ÄuÓ8ž·îê2å°ícÔ‰Dm0Ê(FŸ+»fOh÷íÏN¨×¾Œ¤°�Jü«ÅFódSíLÐæä½)4±ó©ØÐûZ½± ’Ýi–†_HÝZÍ–ËÕ7 õIu}/™Âî"á‡Ó©œÉEÆÙ"<)…%îP|5¹sÐ�lI£ÏR/È`Ï÷ø¡ÜmÖ=ô®‹NêÖæZ·YrÛT—¦ÐÄíÔXÔ¹n	ò­Îµµæe½¶íiN­žt‚jpI¾«Â –ùg|!?Ïï†9X_Þ×úîd¢¶ ¦ÞCqãŸÚ*ÅËêL¸ö¸éÚÞ•_1Mš•dOh­ÑN‰r­Ût…5§¥	½ÐJ�kºõš{P›µzâÒ�ïH·~µ…œ•{Uº¹ó´üVoËòyªoÊ}<Þ×ý5½>ÏÈëV<MÌåÆ&k‹%£ävŸýä<X±oA›0ÓÜmLmkée·›XïÚ¨š<5§EùÖ ý‰ÍÊvUèn%¾Za¥›UAù<¹&Ê}ìŽ”.)[ïX	µŸdqT½—‹9ß¨“êt¿R½oäüÓävæd­“	²Ý¸2³x2þJME@f·@�g¹"@óï@´Ï½
-‘a×‹ì.@„T
 †ˆ.�!^@Âá	âùŒ3ï†:e¸¾{_:ž 
=7Á•<û:}¹ÿ¸ûþÑoh~®å?ýC3Ÿ”h^þ]“/A6¹Ó?ûÉI™Kª
2-tÐÃûÐ*ªÄ/ûÐv‘†¶7:¢õ�hÿ#:�rÈb,4më1»O»!©K®¿]Ï\4ž#U²ž�1Ÿˆ}ÿ�/< ¨ì\@Õ,�]ç* [è¬AöÁ?OÍ<ÈRTdt
-Æ¸Ø<t]Ö¡k'Šy„|!±²»�1ÛŒ[1Ûjbv°_@DB¬ë{¬D	†òêû®=ó]ÀT}§ÿŽ|;›6“Àšî7#–¯š[�Ó¢+È‘Ž
²÷r:îy�+5ˆMd�=mwŒìJ™ÌÄŠoU
-Äìn�‰s¤P†ˆ»q®ØÇ¹ÖiçÚÉSœ.õH-}žp>òZr5t¤Q2´³¸™Ez•³¼oä{Ô’P³éCM»YƒÃŽ	5¯¼rFÇ�[%�}E[hëÜ@fqrâÛzþŽsó~.RÑm5šÔ^4¹—g«m4q’×Hm‹nXLAÃ°Z�ÜÄ-ÛÙú#6‰	i~÷<ÛfËù�/äçù¯òãˆùE`†m€œHˆ _÷B�§%�'è!ÈíÛ;�uw�Å^~<º’Ñ”lå#ì0‚#r„q7:ÂÖä2ÂŽ»C„=
-ÏsŽ±ïÇ/·‡&_ÐQ~™Ä‰yi>§ÇêK©x¦v·¾�_¿¶Ÿìcä.%äZ›&Èã³È?‹($Ä2È{Æ*_÷Ðv©B[:ŠÇƒ‰¦2G„:×¯‡‹¼À„‹º†˜ŸÃE
±+˜½] çöp{zÃõ‹9i¾µÝèöRO{<¸+:oß&Ç’ñ
€ü	�ñ¤ªPS¯BÍÁjžïGPè.bP8¦ë °®|vH
-Õúäç	ÚÞAü˜Nrîˆpq5‹ ÜMP!k²ï¡ÛÇdÊ¾ºç¤anêI­Y^jª‚{n0t”¹™×²²yþÄò—‚ŸùGaò“ö
VÓ6ÕÍ6(ä'P°¼Äg{¹qY,£+ 0œßZÃ&lÈ-á7Ò êµNOêq�éÌÂMˆÓƒ#-ßºCÃõˆI8õ´ÖIÉsº‡7ìXp®q2/µwG“â‹{ÿþÔÜÐ÷Ù°^f; Àµ>û¶õÀt«°�ÜÌè<b²gÁVñL_ÄÐ¤û–ºy‡Á–E;[EšV�$XsvXnMb�VŒUAˆžqb˜| ›k¬,*/8Š]¶,cÈ-8ß•™óãœ.ô¯ßÈ;%(zCåÚ¶œs¯
-ñV††\àõËÀ·»]¼06pýnw®“��]¹…¼íûª’5õc×—­h
'Õ~vRÍ‰zZœD•¶�;«÷¢«%=<Y8c¦”(ÔÓ5Ùºïhâzx–ïò_ð…üªä_
†uù€Õ”�@þ½ìŒq€×¬ÀÕ
ˆÜKŒª¥ÍÍ7×òÒ,Úêºô6Mwð¹aµPPÏG‹¸³Ïtù¹al¢«ÌÝÁüjMÝóÅU:¶t,ãœžÇQÞÓ·xÙÓ™$ÚËÒñ…lj:¼
-+éñóô†BçJì’»üŒ}öm5&^%
-Bm6WO®Ä†3Vë¾µìÍ^z`´U>k™Ûó6È]+T“[y§"u›#%ÐãæÜ?vŸÇ1>¸»¾î‹aFL¬f“g�k‡]¨íÅoà_¢0ž°�Â>¤žêÜþ¦ æ!ËD5"¹õOúêì²ü[ýüR^½k;²<¥^ð¾OÛäZ#ò©×UÐã½ææÏRª±7&ìx¿¬#G±Z|ÉB£z:íDyuà_(µç�·¦À'óèöWøBþR
-%vë¯#Œèé	`åÄ€S« :› Ñá0lî“œwìŽÎ”)ß­Jz¡kïÜË~<ÈK¬¬1*)w³aúøPØ´¸–?¿ú·]ã_H¥Ë÷V—åVzâé_ø�’>l7Cq±†àÖ›l{ºú@¡=ÞÃ ^?]”ýÙúñÔ¦Í	Šî¹¸<j÷ƒnö5wo`¿³‹ôh¯´üD
Y¿™p­zAœ3)¹çú…7ÿz`“ÝÉÉuáð*q„6dVæü¾Z™Ìu	q_¬Ìæuþ…pÄÎžC„ßÁGf¿ôÔ`öC(:_î8P3Næ£Ú³Úñû›×Ä™Ø¹Uå6š$Kû/ä1}°÷k°Ï[ðo-8ëÄÖëµµ+ár#ž¼yÒ³w­ÍN�ÝhÞ)É£ydDãEAÆ‹]£0Zø|ãïñ…ü<…áF´t‡‰#°o×.,l>pA6«¹°Õ(5¼ÌåAÙK
v}ûímòÌÆüm½À.—õ|ž¦å‰½¯1Å€§ýS°²wO{ÖoÆÚ2VWŒ'2ØHZÌX½™É-ƒÑSfQƒÜÔ„™�6ûï–üÕx‚B¹”x!bÕV?w§3Ãl�`³ç	6«ÆLêzÊXÐ’.,¯ûŠ~”²™™rX§Imw>ß­µ^©Y‹Nb¬�g3á>ô®ykÈ‹a~ØXé»n¦†£"íÒ#]
-úãi"†£Ø$7F©oÄ#ìŸ†ž
-«aàlôy²�m¹FÊ»žüœ½O2Æ!.žùM¥s«—ü™Ì(¸â;šrI^ÕËu;.Ñ�U}©>¦7QØÚj{t–#‹y³õ<s® ô F7ó!×FCOy3,gZk™·î?ãùq…«E÷pŠQˆ$VNfHÚx B·pY‡f˜ìyÚð¤îÖ¯	}Ïžñ~qµo¾¯Ä£#ç\y.§¦òÈ¾œŽƒÄ–;Ó×öÍúBèay›£³ù	Ã¤�Ù5ó¾i‹Ag4™¢Qy8l”ãþ7
-Æg~¤dtØ†@áZŒôó7ŸÞ
Ø[–ïÙ‹Ž(æåae/i¥CK5iRhRþnŒw×åœ[Û�¿x{»Ýd‘ùÁ»:áé\Ý:õ1¶iSz7—§ôuvØÇŽá‰ÎŽ‡<}­&WL?/O™“Ç²_È�Ã?BÎ�¢Š	ðdŠ†¯QTßß.†•öºL¤úk¹y*±ÝB/è[j�¬ùŽ)ùss-Ö„³¾åëô\Nµ\yÁ¶;âœÎÇÔ‚*!µCo½wìÞÚÒ°^Õ~ŽzU'xRÅIK¢ôäUè�åGgääüø|š€‡p~Dô-€… y‚ö‘â‰Ñ¥v:¯’z0UÀ¢i_2û{î\|dÛûcÚðSi8âZ]w<Ïz4j‚Ë�É]éaÏåöÓ®@kûn«¹´º­Áç©Ý–X§:`U;uƒÕüÙõkªÒã.øž"ç÷í7°Y^‚àl@,ÄËÔã·&GWO%ºÕ´v*çcÙ†œKË¾?%:Mþ{m.Jmz‹l¹K�½È¡CfÐ¥Ö›F·Û®(ƒN�Ð–�„Õ�ÚÒÁ°ÛÒ]ÌµéM«Ó¦Ï$ßé¾å['žv®Ý† J?¯å_ç¿À¤ŠðîÛ³ÉQVz^/éASSŽ„Q»d¥‹|.×`ºÍ³¼´ˆu“%*–wk“Í‘¯eƒª}î·ôÒå^#(T:½ç®Þ¦•ÕFXÖR*ô¾Å&<­••¯VVÏ[Ù@4âîÔ–¶¦ü
<1R¾�Û¡Zþæd;_×|Hšq§NµKxÚ§àÈ/R˜ÏÅ«ôk1J©‰»¸§ÙÔy•¢ä(Ý–G´sŠ´ÍÌ6ùËNÈæCÝ5›“m4hb�öêièÈýÜ€ÿ­5Hîün�ë:Ù O(û
D•Uæ¢½™ËêA4¶Ûk|ÒøÁÉ‡x¤ÔEÆe'[‹YlàˆÜqfÇENš_&Ûb_^ú…+tÄ”^ ŽÔÎ™1ô6úœÙ­œIMÌm¿‹:ƒ6Èpƒ×¹¶\«—_/ª¶í—&µzz¹­×P©ÊÔû‰Ï^ß+ø	£áæ�g£¿RšýúV'ÁîÐ$ÆüNmáé�ËŠäê\}4æØUí�îÉ)yð¹-tÐk{Ôé£ô¬5Â�ÅÒœ–|cQÛïë\ku®¹Ç•R«'7ÏªÀìíj5£Êa§*ÝB¹P>ÏÙZ¹OÊÔ7 ŽøLÙ¥Âå"g
-ÆæÀG%n7ZDÛµ€-µ%ºßè3òîú£˜O¼#4NôËn"Õ=ôÚh{�“sMuÙÁ¤ëåX­Öê‰C³*ÐB·+Séæ¶lù<få”!Àì—.KU(
Jñ¹xÛ¢÷â¨Þ4¿�[{ÎäKUZ«²Ø±ÕÜˆëÂh‘ÛÜ6“-q]±Ð–¦ë/¤ém§�ôÄVNœ‹êD©¹‡œZúº^9VS^¹�qaé²X¼J¨=KGÕ1ZÌùë9m®I‹�UbÑ•šD1aPÁò«ÒÕ[Ï�vý5�uŽ]×–‰îü^i·ÇK‡ƒd³G“F¥Ù�D¥�>:å†ÎÝª5wßmV[)Ð)¿ïWªœÒøA	µ>ß±*Ž*½)©Â
-@N½
¡ï;‚|W÷8×¯J˜{-]±í°­‚GÛ(“¡û
€,{›€ŒzázíîPE6ib‰ä��!@Î øéë½
-ÒCÀ€t§µé²pé\f§ó5¤+‡D�éU�xôAšjs }º’ËÈÑ£žþ|¾oÞŸŠ¿‘ù«�zW·ã5þ€ìJŸþÈ)o@ð8@sÅ15Õ3Ô¬K�6Ø[‚ô*ñ­D·?DP¯ù_¢Ýwþ#ZýˆÒ =¡7 ý¸CÑ2~�&é„¬Ö÷›_›¯÷Pi_�3�½ü_È_
-@vïBQWÝ4\ÈyM€–l «Áâ&´‡ÐäÒH4AÚÌ³Ðµ»iö AáXƒr�¤G7òqŠø\ËzÞ‚xM`0á4É†0˜¸…dÑ¸ûµÝòîºí»“2|ÅF_òÿ�U‚)ÈæÜÈ¤?±{µà| û|	du2hê
-Ð´R„•A*¶BÔáÛ›#¤÷—+Hs)‚}A¨0çG²Ò÷Ìù£sþºË±RÎ?Bíb«þÆ_>ÜøÐ~Àˆ¥Ó¯‡•¯Mo‘×ÈšïÈ–cdpÆ®4r á 22º„`î Óœè:…1Îz™}ž¡
-`ÿ B[VÎ[Î�àRÒvÝ~À ¿†"@Úá-šÔl5(¯yÕk¡´æôgÈÓ�6ca£7}�Ð¯¿ÂòódcŠvSP´�¢"¬�™ç­²=–ƒPT�Mšo�aÔ@
- 	a	m0�ˆ®‚tL mq0Ù C	˜.@JÉåçZÚü9f³@¬Œ¨yÓÓ�þ4Ò¬üfõ4Š÷Ôãî×g;Wÿrhjr˜2[ë
-ƒû ;Î}~/)—ùì�—&È:Tdkµ*È,rh¬âé°ÝÍbØ=4kÄ%+´m–Ž³wg=6½s¨’î»4Üú†ù¤X]_wÝçS\õïpõ*]ž—ûÕ^žÿ G’s�=”÷ sv/0”°Eä2“æÿ!ìM´TešuÝ+¨‹�FéTlAélQ@EQÁ;›Ôû?éü÷YßÚÿ˜õí1æxÈ²jÊKD6a‚€8�� †­˜€‚£ ºÓÈ¸­ñkÝa _žÛÓáð¤?×çCç°ô#Ÿ”îÆt%Ü‹f±Ÿ\Åé$±ËõSì_“ói?ÒÏÑmïG»Ù.³Ùâü$Xw"ÚûÏxö+~ð?@ÖŠÐ¢ë
-´è
…#K?¹ŠE@õ‚oy™j1Ì*§‰€låúO=£�ì	æŽ¥¬´K*[özsÑFêúL˜«§eø«Xhk±¿½Â6–ü1ôt¬Ç‘ÒÒ|ì6„ÕC=—,à´Ó�­*Xeúï¤Rƒö<S@P”yŽ_€ª€¦²ß™ŸnûOÀšNÉOÖ.ôî6­X·§ïÍ®
úÄ’çœ.jø<¯Ÿ'âLµéÒi/:Ò)›`Æñ8vÃÈÙ{—í²r‰Öt„‡p9ž.—É#?[L7‡Éîhwüï¤.è°›¶ ÐR>¤ZxjgÁ<Ïƒ*“!`Ø^éi(Xóî<êÝÛ¬¦ñjhNÎ[o£ñS®þÜ.î4Žn³ðqLšÙOÜ&·¯«Q{7{k³-îZûP—ãpU‘*‹Åô²óüæ²=™+gÖ™­‹`ôïøŽ—±2€ÝT÷Ñ6€<è)@�
-`òç`Üîû•¿Ø…ûÝL	·ù›Óâ°ÝÒÏû­7>š‹™Õ£p×8íö[¼ç'íxÃÖ[¡Ä®é�)†:‡ÂH)0=XÖÜ—ïûto:O{©ñŒÜml�yÍéaÒù�Ë´gÍ€2Må[^QhÊŒ
-’+�e¢/%Ëg“Y
-ö<u¤)fot�WtçDõVßÛ®’ÊbÝ}ð›ÀÇÕÈÜ<—w„ –5]+/¦¯KËÿtó¹š¦¦ÞÎ_Œ§�³&ç˜6Ükr¸ö8„ÙëŸÃ¯ø?B•1zmå#0MKÈ¢Jð:VÞïû#r™›,g*1�ö§K?lE¯‹iìÒXÙ]÷=tö­À'›ÅBÄ’µ�ŽÂó<íÆïY›(Ò32¯'Á\™­l÷FŸL·ªÏ‡c÷e 6ûÎ,Uéþ;éßoËú#”Ì‡ßªX9
Å„B›ãàyY=ŸÉ[q3W"ÄØói0¬9c$í¥Dl˜7a•ên²h˜ÃùlÓÔWÓcêº�œŸ¯Û¤ÔÓ®½÷ŠãG­£>´+G¼1{Q½÷léqîŽ‚ºßWûw21`ÿÔ§P¦žì-hÀ,×-�ÝÆá#aãÛmiö8Ã0B†>]ùY)š÷jõmÇ£:¡…$æR$lgÞê7¦Óá…œ�;véˆ—ËÞ^T²O[YÔH+P
k3âÛV§RjYÔ=«™{7£šû&Cdþ˜‹ýOû¿ð
-?žÃIê@G€žN�Eî-�#ñàþœEçë:¥</ùO6}äé¹Okhu}²/êê™~PØÞaZvaï_ž-_&žE“œ–žG£ (©¡åG…aYæ$ˆ:Ç5†–£AôeBûPÈÚsz>Kª}ÚßGö´^Ã²H>tÅ;G¹žn•Ï3Zà'tÛkìŠaeè4–È¾Û�Ó<oLn=ÄvüéÊµ¥<$#tÜ·W‹~#J_zp¬§{2È×~ð>2PøþñýweZÓë£ˆ×ëÝ�ûwŠžB¡Q4TwxLîA‚ì\h=G•§w[ÕFáepªDÇ‰ë~ð½&,ÞëKÍÌ­¼‘V÷[§Šæ‘Tüæ#s´±mgxý<­>ÚV�ì~N[Ÿ¤Ö­3a¿ZÆU*µucPìt¹u¹Kìï0Çj�ånåÿ~ðÿzáU^¡÷OPh¼9F§H�#í1^�Æ×¶©ÌÎåbÚ? ~¹�ª�GÈ•xr°xy6½š“ÚiÓvÒ´Ñ7
‚…£RŸMæƒNï”ékÕFn ºKg¡ò®xW€ÆÔûC*kv–/´Œ]»ÐÎÍB[oÙì¿P�­½ŸÌ]—o},¡Pm®$««ÇÙ=iŸña¸oE™Ù:~çâUÇ°y”ŠòS‡÷ø±äeëàåµamyi÷ZÍVGKš{MiŒ¹�‚(—¥¼äÝ‡¬½¢Ò® ÷0±+*?”Šê=Y­räóÿ@u¢!ôþó[å¯ß'‘¯Â{$Þ2¹{ó”hª­\Œß²Å™xzýàrä/>�(·‘ˆE›®ê†S=ˆý Õi¶Íö½¡ø| IkÅÑ¥6Ë.¤6ÿ¹Kq(Hk¡Ö”•Â‹—o¿¢4³¤ˆ±Zø/Àkù¿_”u‚B›Äü{«B²—ù¨�_lÜªÌ]²ï]v?,†� Ü_j”Ì.¬z›ˆÕ"ê�^†1GË¨8@¶ƒJ77Íqê÷a+mf{¡Ù×A¯™ã]¿q"„[ãT¬±�ã'i5wŸ‘$‘~¾.…ó{UÆç‡Ê¿P›·	¨mc˜ý9yZ‰šúÁ�|=\Fò•ŽvY©[sÛ'½R¤;?ùÙ´¾¤ÎfÿÚªq˜÷�è^–e³ÚkædÒäç&U¯ƒvG¼Nò3Ñ>obUˆòbµt3Åx_ïüà�¡�(�c¶+4³Y�ÿwêM˜€nàzn1Éq¼eì}Àç½­nµ‚ð1O+ev*û‡öÛòî¶¸Ê™?ýà#cß†ï·ÿîÓ'm=å#.o‘Ö°“¹‘W¦Óê�ÓLðÙµþ~Yùú|³³…z¹mnÓ+9NG8.ÿ
?ø?m@×ëöŸ›?.û�aGèÙ7·ýÅaºÂu±q&òÞTðÜ�b¹½ZÙìpr0¼[7îï.TÒvÝð¡´%éÑ¸®¹—à
ÏX]j¾Ø¼ŽUGr“9‡r�=(Gœ×Ø�Ä„>©£ôÕ®7qXŸå3ý 'ÃñÝ=ô½è“èÛ½Ü6Ã±-Âh|zþÜ"w)¯Þª4\m¶6ì‚
æÆì¯uº»‹:ÎirRµ¥pjÆDö$¼ÅÎ­Ž·ˆwm[e.¶Êœ^ˆÕêÉ×ÆÕÓž=T
ç‘®õ�Æé•9<K
Æ£ÚzÅ˜ÿÀT³#§K�…Sý0©€áre=ìyA\¸Ó&áãîÌF£Ý£k4W´­3FÞë¸µüÁµôà½’ŒÏu%
-Ñ#¨§ý}­Wäâêy‚?+×9ƒUª¨’+»j(”¼.Þ/‰ÌlQ³½gñsâË¥WTëW*›ñðWüàgÖj·öi9ÕY[ÍcÕœmŒù�j“ys;p©#b¹YŽ†3ß¸Ò«F§vÛkêZ]¶$³¸êˆ^ãÒ­§÷9½ÆÄK£jòŠ]©"¯Ì§+«ü{ÏxTôûzRDO¼ –òEvíŒv=.À‰œÇ.úïˆÿ¦­/ŒÓ^Í;Ãþüp#ú“Ù¡Õ±õçµý­'_
-ûéwO½b´{¶…'‚¨ä†L7¯v–>Ë:Å¯{sæ»'4W¹z«BÙ•Õ’×jE¿'É…ÕPlÔ‚m²íŠ7ÉïÜë:Ï¼™KnÐl}²çÕ!ÿƒgÏA¾öïØæ“VP·äŽß+½	XU4[/ªMCl\:ã¬ÎÝlmÕˆÇò¡Ïx�»+.	ŸµÝà¹ùîéw÷å»ÿ:”`˜w*JLïVX
z/vmÉ)–L´tžyÉtn v
-96µ¨gKx 3vëÖ§ïûì˜vû¢ÿï€ùËÄâZ²�t¦´¢:´¡6A¯WúÙá²Ü~õpE]+iQ2T]ôÄ†POo§"w°ÒRÅzRÉÓRJ�f-vmÊ–¼5þO	t ÆÙ³_€1?s
ˆS%rÚíÔëÀÅ”7è¼ÈÏeŒ“¾µ¤þ‹púlyö¼©:ƒŒé˜+÷™m‘i�…I)»Öºòƒ7íò"/øRHÕvú¯š†”y´ƒ%ÁéÓ–dÉë”É3=ŸË¿…BÖlÖ*ÌuUäèû&ÍÓ<�Š”cR*beZ„Z}é™õäcfÚBŽý?‡_Ò‡£ð‹ÕØ2gÔ8y=s{€Õ`<'t€Î&€6.g€2 ÷~ «€H@}wD Ao±›äT\CŒc€œø‹ó²�“:pº½?†“Äñ³CdœGŽ¾Ù‰µvFÿ�¾_¤oå
-8€E(ôôžA��`+‚„è7¡Z
-› ÖíÐf…j‡y¨v_ÈƒmCØ#ˆ»�gmP|ûh¾ICÄ<@Uùû½<èaóÕÈ:ÏÍ0ë>rå››ÄùÅøúì—íë4G�~È 	¤Ù °„³ ÂÂZvv8ÊQ	jÝwbü%hŒ%qð¤M§Õ^ÅJ=€f} \^×:TŽßÕ»Y€º8ü“•¥¬š²_–�<úÖm’Äµ™{ãn�qÜ$";F¶ËÌÅ¾‡¿d²)¤ù}à´….5¶n§o¹ž†¸)¯f\€MR€²w€n¨uVh/¥@¨C€ÚçïÝ‚¨SÜZ Q=™†d€1`~Õ{ì/·i+“é­FiÓ¸Y�ÇçÖ@�I¾ö;@¦ŠA™êå»G/wFP#ìˆø¶tùÖÁs ],i¿ªS¨V‚�a"¾V·h€èÐk¶}Ž~>K€Q­ÀJÑ`
öîÎ©
-°‘Ö‚
-±É³3ðZî…åÄ»>oœwYÆáäLª5ç˜_F‡³¼²~ÈôX¤] ¼cA™³Ë¤5û
-2ø·¼Œ¯{ ^}(øú�ùñÞØãí4Í4f´¡C[pø`fÚÛ›_¶I§^�Õb^Z#â^Sï<i~æÞ‘ã__©òü¢lçÓ³!ÝƒÉùÎž¯fLjô0ûŸö?»…:›Ù ]/­@&‡>@æv­ùn©^vC�I+w�n‹À¥
-À9I}i­¶ñÜøæäIgwëÇþÉÀkyôÃ¸ŸŠ>q?µ+•{á6Õ’‘B�¯/ª°¸¤çÓùq ¾¦QUPÝ�88Ž6Ý·6j$›¿dü*tü#;€³Ó~üý4áa®‘2 6- ±1G¶€ ß¯×&½¦Ÿ=œ­<ôî±y7àLâÎÅIÊlyKV½ã­Æú�ëó�á×iÜ+\…ùGŽý¬á\ÒñrudK÷ù×bvv²•.3gÝIf˜½.ÁÑŸÿ�¹ª*Müš25†æ½†€XR€Ä" ��ÁâøÚÆÃÏãTZ‘°�•®Xévßhõëô…kñ§”3c”ãf—>Ù^ÒÓÛõ¼ns©s[ÜäN»(+ž²5ØÑÌýn±›U3³M&âœ0G†æêòPK®sïý`lù¿2Ÿ6Z¡Ð 4D©¶¤ª €ª6š€²o@9¥Ëã‚Z ¹Ë«ôõí³±œ'ªçõÃ�N½f­w<¬ºÎ‘eÃÕÁœ½�?xtCs�¨:è¦÷þYÙó[Kß¥V—ùšÎãã  uÍ%g]õE}éõ|ÄäÛóe‰mý
-@�(S‚“K¦:pq^~ïM ïKP×Æü¢ä=‡aöpçxëqK+$N_nô)º!åc¡[¢êÍTw %
vâÎ„î|øáÑËF+
-ŸõÆ÷³ëN_�Ãþôä.“zÚðßc[ÿÁçË6Û�…ö£ím'3ÍëÖ-õW¢hB¡öŽ—¸díyTIº
ç,úìO•"»½Í-ëkŸÓûœcRÄ~¸åˆÂ^ð®ÜVþd¤õ.ja_×ÌàøšÍ‚Bû¶[Yu[&µ>¾g2Üâi­
9óƒYKÚw<¦ÐÑ¦ùfA™À‹—'E%iþ~ðÚ€\
Ž'Û„>G=@ê@}djäåç¹ä�“—�
®éeÿp>TO÷ãÈeÓûYœä¶™þ®Ô@X�Œ“¼ä£Þ¢þž:þ¼-~p9ÒÇ¹Rï€yšDò³VoÖž¹31îˆæÚé­2¾·ÇÒ¸¶WÄ Z~šÒƒ2½Š(¦´`ß
-‰â*[î™7ÿAÍ/ûüp{2�ÏKä‰çÏ6\-©u®å•VÒ¯ùŸc·1W–gmFŠ«�ÇÈ‡ÉT_£á4ov¯3uÏ¸WÅÇwo¬:¯EMrDœlüà¶¯]["¼�nWµ_…zÐñW
-}uç€m®€÷$`–;ùî>{ƒ«VH¹çãÙZ¹B|Øcò
-l˜Í(óý>¾j›]Ì^�ê<³­	ÓÃM’&Å÷£3Ä£9æ‰¬ï¼¶ƒƒ#VîÛŸÊ6F¬›#µk
-Öú ñV{À×,*“­~Qù~ð?@+èøÏÚ‚�sê7†Þƒ?ˆ›÷Åö¥NÜÙ<ŒÓ¨ÔGsÔXo;B/	Í¨…/½:Ÿ›‡{ºäåÜtÍuZ)Ñ7eÙÆrÏî(S"`liµ90÷øþffÛ
Ú8R‹ª1ØO*³²Áö'²Süwbºûû�ù½9iè"•@�SÄÓ<{ü~“mJºä‘MçXëç{Ô–›œ-]W�sY`MŠšõ8º8­_Ug^Ùð#_
-Æq˜–‡—&Ú–Êtà°á^Ì›¨>©„,Ä–Õ£gAt˜%
ª;<ÿïDx€B‹gë{3ÍÐ….yòÁ¥Ôòµ…þ\OšÑg··;šœ…£!uZÎ)Ì;Êzz©¿Ùñëv.�Ö«jœì&7àtµÞoÈ)¥'·Jf7ØÙ‹®æTî]"·¦ºÁâE÷°$M÷är‘î§6Ê­ßñ½“ët…B…«	¨JaèSï²ô€LÞ8ÆÄ;a�®™+ìÕîHÞ°øÙ]½:—Ý"��îÞ©½A'\3blj³V¶¬•w�,÷”jPjGÊÆ£�Bëo’™«�øl¤�4,Ó2°R¦�ë‰éöþ3Hw:Æ*óïÄóe®IPó~Î¿¿Žô s[fØÙ¤	Î–){Žo÷ª †öu`,%ÅYÍ{Ä<žVúögÜdGÄ¨³k3F9]Èë©Æ�í0±–Wïr·¨xä¨©·œ)Ç�ü‰nešl0µVÞ£Zù�Â´X£àYþ~ ñO�é¢hb±Œs¸?/ãjêÚê²É‘7�íž r`§î•ÕlRêû›¶6÷ÌC3rÅb5±[I�ù¾1a3!…ÐÝÍË£µÛªÎ()CgeÌ^6¤@®R g6’ÆciS±Œ,Õ.¸üÑ÷¨2�ŽÈ¿�y´õç“DÝôð¶Yê“\µesîùé^ËTümn&Á3tÙEØ¸©³SŽO&32t4,u¶áó1äË—T?=Ybí¢ÌcÊÜÊe¤V1Ì7·!6»òÂ€ÙkWï­›¯bÍnÆÎJDF¤$Piiu~`Òj}AœŽÈöîòcðì&7�åaªûÆ>Cyö6'¯'áxŸŽ`³ª²Ä\9ât¼ÝÆ
-·›�r³ÅÆàzË³Ž�·Î­?U/~=¥¶Ž}‡ë›nœß`L/ùÕR¼ð;D<ÇùbC¿Üó�È²éfg¦ÍŽ%ÂQùçð7R/B¡Ûœó4‰œÌ¾½WöU}›
y3KYk¹šó0 °ü�WuÊec[-;KºŽq×û¾¾|+›n>—…×¢MÅä$îîÒž©»8JÉ±¼pB2¶ûÂ˜ÏûB
³¿ëÂm>ªˆ¥fžÏ�;#žËçßÈ¥Ð�º?øù˜±ÛÃŸmO»uCgô—+zaÎ�f0ñ8�ººËÂ“±ûQ^4�	ßÈ¥ú¸{TÓ³?¿­äõi6Lk½\op­ƒÔ«{‘Z®ÏÐb·.b'×S“ã›_o2ÿ±5±>m¾¹úã Žý@!ÝÎ}|>™‡‰—RwäpÓZ—î³îªYî÷ýl©nL'ÚqW¹Ìóww›µ*kF¢Íl«wÀFë•ºŽ”¸�ØŸzÂ´›ëM6®#ÀGùå¶Rä—¤Í+»…Ç§ó^[+»F�¸µµZà¤$=j</a�ÿàÿ§ý](›§’¤]8´äµ¹Ò´Õ)·ý¼„éc>ï�×Ç~`Ñàm>t!;Ä&.�Å™ÜæWFKiïøNãV+÷1[ð,ê¡2­Q³ÚšÛwÂ„ëW*.‡žj\.ëèÕã“ªÃu­/z«:ˆP�cd[æn ýŠx�Új„d­æ&àd]ÔË9mA
-Ï¶W)Ú8LÝµQŒ6vÆ['ƒæ=#ÿ(¶ë¤¦lû±9bAS˜·
-ß*Ì»p-RÌªau½Êh9^—ïéÓ¥\³jhéÕˆË%�±º?xI8²~IxŠHñ³.
-åZm¤•Çú´õ+aÑØ2Íº<¬œº�Xó®±¢ŽÇnX±{á
7V:ç®�_¿àúâ¦ôh†lÚU>+øJŸåÉã¶ÄåïMîû€Ðf™Ç¯ßí ×^Ñï§í"zµ8?±k'�bÛÜ´È’/®�ßyÀÏïæ%B¤þÁ÷nôÿë…±åaµý––¸±UfÅ¸&»˜Ó¬˜ŸU‡h1.ôó
ÊèÔ®›©¦¢¸/rµUÃå[
�‡ÚnX¾TÏãmR¾/„gÉkeS?xQbxAeoÛ.ß
-ù�‹Õr‡YVÉ±HÏÈ–Ò«9cwÒGaªL—‡‰¿b]ÊÒ
-ÉÅÊì\¨Iî"e
-?ø¨À[åÁÒe»çå�jîRTÉuZ–Š1¯ˆž8k×ÓÛw—;XJ¿b‡AéôL(Ž²éómÂ’·ý<Ï<ƒ —ÿÌ¶Ù6;1¶¶¹Ón÷„P¯#Áüàä'.WI©2T•ß[ûW¬¹­4�ŽŠ4Û®0ªÃÒÙ�¡Âš—n¥Z)LalµÐ¬$NN�°ù·ú‚1LÕäÔlÖ\Q¢eÊ#Šù�Wsƒú˜ËšM½ÿ_³A»�ŠL‰ù´Jú&Ó#VcégÍÍ´…Ö"½óÇ;| ÍoËä¿ðƒÿÓö»Õ®4åó;ÑÎœÒ°q1ÝsÞÆ5ë¿¥ã<¿ÛkÓÐ€…7(5Ÿ•ÊÛMŠ~{s.¤Oõs¾WI.ÙóÌ¸06Œ9èûºö¤^{æýƒSbŽBH©0B­\2Ìü°ìÓ8›¶X¬D
Ë¨ÝwêÈý(õWœú­rº�£Ä¯rM¿5X?\dA€ô•@rS¤žïH�å9H­ƒ¤f™'Hmúi�ºÜ
- õ®Âùýmk!>&@Šúâ}ˆØÿ¤ýdbÉU€l&u€²7˜W¾”Ë­ù$£‰x?x\ýW¼”pãF"@É"<ÁG´¸œÂŸ[€¦Êo€ì
 ÎIˆ’ƒ§Ï—I_¾ßùˆdªð÷™		�Bª�ºÚˆ¶ë¤EŽbŒWñr1@ÖK —|Ÿ‹õG£òZRê³]ÞË÷ÃYk&æÿ†üÏà¤…”WÑ*èP¨A¡&½ƒ0€ŠQ /#j8Ã `W€¨r
-¶ŽÐÚ“R
 �]\u€œjc€<·ëou4Ý¸Ì(¯ß‡ß4:¤:ÏvãÒº^}åv«¾¥ëC›¿àeöçÐž‚Ðh¸4–Æ=yÿ­'çã4@]¨ÅuÚpàÐ·=@Qþ	�ûžÃŠ*|‹ì®PŽ±*s€êHÑy~ËË4@W“úk5­çz‹é÷cmÑ½99DûÁc°�*—Åª)ÿ
-€Ï Ì	�êm€)ˆ	°¥<Xr9mÐ;L¾åú44¸,:§N
Sí™¯Ål^†ï«Ÿ@÷ŠÐÛ6R¾ŒS/ÕÍ±Ïö¦#>öå {¦gƒ—£{1Âí³¶a´cÄùò¯øÖ`áÊ°Å¶ÇSØùìMØößò²tx|ÌÜN)ÏRÀ‚Ò`u5Xa“I_«�*¾2U»õÜ`WóÙ>1“'5m�}k{~ôK98öïÇÅ4/ä1)‹åÎu"ƒ>Pz'úöêFñŽW÷c(¿à€ƒ2o	´ØâÝ�ýÀ±@ZS× ÜŸ }RKßê¨a¶Ašüîþí¹Ñ‹ Ôû³Sé§}v˜¿­Eí>l¦Ôär(
Ë¸IYÝ-oI�<Üœ·ñºq»4¿'M!FæFçÜbkƒƒ15»ûšCIŸ*?øFy¤_Ò¬ÆœF$€—Ë�æ�
2ÙÃdf
-d”™q¾ÿZ¯Óó'3ìîFí'£T„Üœç‰¹Â€¢úƒ_ëû²¿«7ñ�#gl~Yzêþ¢´�s˜ðÔi—öëÇCj×�*~µ·õN{½ö5ìõB9Lôæ¯€º¾QÀ9ù?Ÿ|e°¶ˆTóEqó¯mc9xí»›8h)¸¾Ö1ž_sÏË2`ˆs8gØ3É(õS×�jÇ›G=ÎMç¦Lts�®Ã2Ì,ö÷ù¬¶{­.�Íj©õÂž¿ÕVf\”–ÕåAXL`Èÿ+@ZÂiÔª«>™ÝÕƒÙrt$ßÅÐÂ3¿{p?ÎuÎ²þ%˜£Ó„·ã ÖFÅ}•Ž*'¾´w³¹{íÖÝ�˜½ZÛÏ³8ßJ-#Úbäû½ÉÈFiMµNÚê¢5µÅc¼nú³¶*ÌN¶>‚[íÿsø@Ú…Ë¾ÑÔoÁ^ÿî_]|7ÚÆ€BcüÕ;6êw'µo©"j\Ö�êô¤Û0'-�Gç};¼¶TÆ7+ÐÈýàë
¢qkJ±äpŸ¿èav–C„_lt¸­,¾Í,�ÎUòg^[šãÙGÝÛ¼Î£»ð}û‡rùW€ôj!@�÷á<2=
-}MW€¼o€ò¹ÌãçÊ·wi)ÅšMöOÇ1ïì£µÚ}ÚÝã&ìîáþ¦öÓ$VeL),Í¨/q¨-ê•dè¿±úÌohNä#EûÁç¸tä½ma"Ls«7)œ“Š;*-Kãd1*ü
-�>Ðûü¢2WoH%ÕÝß]´2÷q…`¯
-§×ÎÑêGå±ü’Œ}£[Ÿo6¹Ú>°üuU)6À¢~Ya>Cè¹¼v+³�Ú5gÄíy�WÅñèõr=Õiú19�ã’;j‡Üxìèçù¬AH³öûýÉÿÁþOû€ô}…º—?Å&ã»ß2ÔK^ý�“N=¡brÚ*žLö%D^ŠíoC·<�ŸôzU�°³ÿ9â÷yZS^·wùÖÇrïYnb4÷œ3ª[)ðÆ8y¯üqMb.ÎôxÍÚóø\°ÑŠÏŽ·—¥y•±BÀS¿dÐ#”ùH}‹MŒùÝoY‘7€ªÉ³ø½�²ùú~ýÙ§F«Ö¹²G�ö†1ßã Â¼‚Åìù8Ì3›ä6=\_/÷:ª£ãÚúI9‚”ìùìæºÓ­¨…3JëÔÖj½ŽÐûæ®‘Êš½Ôƒ1™Å…6òž2ôç$ó+@†¹‰ S¥4@¦P£áÐS5yT&%pÍPý×éb3X4Sùm; ÷CÓ9�–¯Á}éãŸýÞë'Q<)cç§jàc£O³Ö=’1wÃ|Ådâ–l*Ëáð<Áýa‰Ø<×]Ž\}:‘Kl‰ÀvÇþÁÏ¿2Ð»ªÂÎ©�/ =Ÿf’¼6�ÛeÏåâ£sˆî{\¬Ò›ã4ƒê)4Rg5Ÿí¤`3-Ö¶—ñ´°¾Û8¼Ì>ÂµrxAªðT^6§?R*¯ó²ßî{gÒí‹fté§ÊÚ;­/ºHß›_ŒR¿d¤´çµ
í…Lê�Áp÷š¤èÙñ<F»è=k�·Û>F„àøå›ë~fiO<VsB×Ç­Ø±EŸ:ÉÐÚ´ž:ÿ±ß½E�KwƒŠVèfÜ Ùé¬ÙÞw×›ö¾×…×Òi¦ïÎ¦‚n¦�®:�_¿â?B‰"Ä):�B‡�õ³¸£¢«zÆWÇ¤™v÷ŠüÙmòõ
jeº²P°fÎÉýµjOnóþrœ’[ÛQ[í�
ãÓ¸êS�¹uÃBæ-Øù´
-\‹Ô¬iXUªÐV9ç8W9ÝN´rùp×.›Ï½5,0÷ÖQ+&ÿ˜‰ÿOúœjbº†B»ÄøMSáu5�áÂ\êFÍ’4ÜîŠnÚ07Yú¹¸0ß¾IÅ+¦ª¦[?4f¶Öªæ±#,wê­Z¯K[_ñ®Ž‡§D~Vˆ<ŸT
-rS;©2Jö]i¹oò¼Ý»)õõàª<óîUåÿw€ŒÏ6‰¿ Ì¸îÞkíØ9V§õEˆtlíÈú¦³6Uçÿ•,2ä˜žå“ƒ0© ç(îX‘Í,†I-³ÖSo$êì¥ÃQ«¶­£,UæIå))C(…æzKÍ¶=7)Î}4×òàþƒKiY½IË…ËÈ^ºü
-¸¨—ß*cëû\÷œß?Ñ¬ç4w­ÂPÙäïšðKÍZb‹Åqž
ŠØ´ê
Êci¨0ßß-bÃ€}ÄÕ?ÅË¢G$QØîViô;ÛææŸ›t!÷iìãi®Ñ÷ËÍF�9�œŽÞÙçõÕè…Þ½I>Í[“ÕøoøÁÿ@æ#5…è�d*ç;‡i	{\“ý�k*n.±OØžGEní•­äå61owÔŽ`ZE£=˜!æ°·>Zã¶)v=å3(Í$²%¯z�;üàâ™è<EãŠ0bÑŸˆbq!�„«ÞM„øe"bÁËñ~ž"ô^ò+a˜" 6Oýd<>J\}Ë „V©-Ìø–‹–.ÎõÓð*êÜsç/#vÈÂ÷ùqt¡<¬?*�¾¶®¶:…fYWÁ‰4¤M'c7Ø]Çnš¼œÂ%ªW™¨?|P«?ö³>ÑO1¬<QwÛ8[
-ÓC„Q»õþ€ä^Rò”Ó­ƒk×k;¢‹××Åu,®ÄÓH„ávº>½×V‚+õ?C‡’ÓË\¹¯¡7=‘z:þÞa×9÷3¢&x'I&+‡V£XKõ…Zu2ªO'—ïcþ«gþS|à¼Ÿ²«|3ªé|óÐ9×”Ù“©-iƒät%ÍÏ˜ þ†?Ï¸·OFØáö2�×Ö§WT_�ÜHXÕŠà�Æ^Í•d±>:>°¦™4Û“áœ.uBr>Ý‚r µÙ|Q�;Ü¼Ú°øƒX^VárfÀc§ö¬LïÐûµ`í¦jšU)ÕˆÆ»Ëm³Ù×™ì©ê¾ë¸6“c¸0I¨_q{ÜïþŸ·‰”m-¸ïçÂ"°+õ™Ñ8ðîgQ‚³ûÌž3ž‘#›@ôú;D�ë¨|×|®ö‘» ‘iT|…©:çŸ6B�\x®—{Ù\/¯‡�„Ëf¶tõwšÕÁN�UÙ¾‰•¯»A±|Íf?x¥°ÚdÅ©hhÜŽ O\h§Æür!´„ynså'^Iâì=ã�g.É2Þ¥ÓÏ>ðüy­-¼íYî7IÃÑ1¸¾Ô“Vë(k²z¼ÙÅJŒ{õJÙ¸wÊÎ-?*s‹yPzêå¤4­%LIÈL¤’Pðüâûê!Å¹ŒŠ³ÀÍþŠý¢€p07¼%¿§­úºdÍksU±
-&—Û2z«�&º±P×ÚB½l«!LŒ¤Óû³jÔ:â®¾üçÓÅoÕ¢9å»lã%¯8`Š~Õ,Ñ`×(¨E²ÿƒ³k»5aÛÕgÄ’O#Å’¯z5¿›aÃ|¯ñ9å{Mù=ÖV×ëþæÁÀA“pÎz»(šÕç”ÒµËï\©ï·–·�(]UzÙj^Gƒž(¦.ÃzzWqƒòÔ©ØbÑ+yÚz^”;(¨ì`Ï¶Ëƒ8¿»¯ÜÁ[`96uËeM¥Tgìö ËTit1=Ñ÷ƒ�¡ÝÁSøÁÿþ†À•u~øÂÍX­K¦“›C�³ÚùŸ·ºd9ÏîÉ†[æ	{—j»A³R5¹]­ìJb½èw.p+¤ÏÃ&KÞ4-w˜–»Ù³Oëß]«}ß.Í3Ü’òýˆô­Ù�D“wšPùz‰Hƒ@Î¬çØàW,eRþšÜEƒ[É*-"ZÀëŒì;PÕ4¸6/Bý,
-~ðá×]âýÿ—CaÌòÙd_…ôiò;[Grù7ƒeKÈ'ÃTÓWšzí=†ô�^žXÙj1³ž¨0¯Lïæí&>PÕvÞØCô­&h5×"¿b®g>u÷ãd+#ÖÂ³yðÂÿ—BóJ„îîj½ôø
-Gåur8•Ä4ØÔ\c�ß�¢Uö<ËÏ[¾.hžôVäç¨$ó[B­T£	RœÅ�zÝÉ'Ä–ã”XÉ= tâ”M‰ÕB¢#þÁþOûtòÊ¤;(€”Zå@je6!ÖøãÁx}À}úú¼[ˆkêõù(Å×ç6_Ÿ=¡¿>·á¤R·¤�Ò	¤hóçäTùQ)eAªéÕ@ª—‡oÖ›: åÀ,µpb�Úƒ÷¤ìýxÉòíýÂñ=ø¢PæÈ.‚”+rß,êKgøÞGtRÃ¢±„ïmäÓ ÕU@Jxª Uª› %s�j`;�ê´o eíS 5§ 
çmxáÛ³RÐ u=yIÉ{€PÇïµ å2ÁA4øk‘ä°ÇV‘Gç3Mý
=‘y€Ì=(ôÞ«AËž¡ÌÚˆTs’…Ážw€à-¤žQýk±s¡Rkkq[�Ô…?‚ðŸ!0¨�³)øU€¤aiã>@ÌÉ 3êÑ§^
-­QÏP/�­g’Ó£‹'Æ¤‰ýÁÏÿjÿ@Ÿºõ‹PãŠÈ•J6ûó	@S4Â¾ß{±d2&àeèý!@”ã j	þvà& žHà}k}Èñ#äÔì®eMËë×ò|¹?ÃÛy’J�~tÏ…ì=úœè¤8éRW·É�WE‰¿.šxú÷®qçjßê(N¡Ð=è¹¨·…¯uð
-@Ër ôž¥ˆÁwSøýÐªH½–�ûR‚uí•~äWÚúÏµ0?Û½yô¸Nr´æXböBú¿]ƒiþV%ZùXÔ?Ù³ºPçL_%ÿ€qÐÂµ5æëðÇ¹°å÷ñÉ"€­Ç
`n�«Õ
-Pÿ6åÁŒOEÙís­J×'y±?�^cC<²L*?Øê}àö¤;«®»É¥@:‰ù…·[3¹]'8Ì*Ålœ�Ås ®Çý´š‹,wFEeÞ"ÿÌ,þ§
0Y)´þ*CÛv¡Ð}ò-‹C‹áquð­ùøhŸ8s“ž›ÎDô^ýÉ}p³ÂäÂg¸jß^7‡"àÚy“³×ÇbR¹ÖsûÆ·Nµâ™'Yq£}X^‰p;k^=uœ^î¸öÊ‘uØ³»)]Ïn‘0¡7ËVDý
st(sJV ÂHøfØé!?ý³ÛözéóiC,<¢ËB¼Ö…ÎÍ	¶Öu2?-â™{ÚÅAÜ.òHH]ðæ˜:k‡máLLðúi«5ÔOŒcdc‹cîÑ‹£x»À÷É*`wÏ™UþÁ7Ëé³nÝl�ï|¨_°…Q€¦Tªïä =Át�é]}�Ù+'�¹í�gv'å{9¬^½ìI‰Q´98·htòƒŸºyf}ÔKÅóá´h=†ì§£‘±b¢Jñ^Þ�Ls_“[½Ýô´�l?¥B´EûKt“nEl¸ËŽË«s—,,+//ç¿ö<í{}–ú/üà»ÍKPí²Ò™~¦õ%a	/¾¼èý+u/?$ê:{9¥‹FD�S¶‘îÌ¢mïïuv¾{UØÝö£òW˜¾©ïÍª<!6Jrd×k5×Ê5¹aÕpg¹VÈÜÑ0¨S°*Ñ»ìâ~öŠ¾Ø¯²s¬~af™î„ò6Ì�üžZ^zò í.0·»Ž¾m@ªu˜ñ=ŠÐ)7!fÑËš²²§<sâ£¤†¶v³:elVçÎdÝ–ËAØkqÇà°Ó›5Ð•9YÒËëûTZÚ»BsñÈj½…ûsF’ù"{$gAaŸ÷¨UƒùÁ§ÙAM†â“˜R§Ìßpj[‚#'ÇïW�aæGßGC‡¯ÝÊŠ¨óù:s�ô¡ÊŸÊ;Ÿ¼+"ºôÃG�ð•UûËêFÙ-øH‰ýY^ù)ÓKÏâkÉð3-ßjÍ2çxìuÃÓ´¯<Ó“¡ùd\k±¤ÆN¨¤�'YÄÅ÷Ó1.AŸ×9�ñE�iÝä�Ÿ n3{z¼Ðµ{|,ÃÔ¾AOÙÍÛ5Ãü:è.“ødùï9�Ë†Ì´ž{ô:C7™îã
2íÛ)zrÂªßoÿ)h=É�‰«á–m}3†'Gœ)Éöœ9ã62ðÐÑ’µ‘‘|é¥þ€·(Síp€ m
�úr¨f'x”Ë…í
-k8^NÞzM{¥ç6¬ÙðÛõUuá´üÏa>œ­ñÃØc0~91èãÆ¥7çqÒ¾½Æ\„ãÎ´Vg�úk"ØsñÑ³‘eo1R2äÓ
--³ˆ„BÌ­óùüàf7w¿àæ»Ò‡÷}VS�ÑÉÔvÀ”9^^¶Û´¬8êb�ªà¶a`ÖŒ*nñÎM´¹
-Æº—-®Á^­Ç|\3åÀþàDd#ü6R¤bÊ
-…²HbZ1·;D5™ìÐ5t£t5òÅÞ{xºª`hØâkX¬V¿vM¤üý4æ•ßg}7µ½�W®ÒñoM²9>çõ¶y-lºm7‚shæÒøòÅò%_)v$ÆÕ½‰%¹Ö˜}<Vë®¬Íî¦r4ô¨vžó|X4Wßª£•ñØÔÇ ~Ðk³Éb–@, ¬ÙbqûàÜN”A¦ûà¾OÂéj”s’'×4.]Klî¾%í±ÊÂ†srVFAU»#¿Ãæd¯Ñ˜z·3~j=Ã^x–cµã¹g°¥ób`êZw«Ò¹ÿš˜¯¾ð>’=_¢*=4°;]•¬ÛKwÕzÆ=ÔC.=ÔxŸ~ðj"ç¿à
-Ýe¸ï“[:Ïa-„©‹xp1‚‹D-'l7jÇ-±°YêùêËz‡ \ŸTÖ‚æÌ·ª>"²õƒ'Ô˜ªOÓë‹îqÑ]EÃmg}v®ª£íÞ¸�‡a÷Dj±
Ñk
æè¡uˆ™C»§	‡ön¢D­ÃßÒ,W†c¨ô�“ÉÄèÞÞ„++•¸‰lRÝåSm“+zÀõÞ«…<Ðï³ýôHNK³weìíó²­2RÏ<ä4sXÉ4íþì#º�Í²>m
³S_+m��êTâ‡ò˜Tˆ\™Ô·5ì†–ROñ[åÑV7ªý²7ZIYý�h%8†`œL•§�sÿÉ•¢—v«dTÚì×­rXGÚrÿÁUŒ˜U.Þð:ÃÝ'’9G6¬=Ë¶ŒR±¬ë^¹bvÃk·ŒâÓQžMf"7¼ûJZ"•³$G;TÂ]¥Üë9½kI‚PN=3¡<“YŽZýàÿ�¾O Ea¬x¿õÒqÔ<±{ß¶ÔºÂ†qõÃ®„**.ÒÁ™éK4š$�ÞgÜL‡¹Ñ¶p¯™…rJL$ºÓÇfðƒ·`¨nõdÊ¨švš­ÅÙo’zóÔØåÏ©ÆŽ•Ýw£/ªØ¶Ñí‚u“Ø‚°©mo«fð~üpK°k’Òe³×`4½ø9»Ë(Mv=\¤ÙÕ3^åi«]žÌÝ`j^0þÌ³w»µoeÌ3ê‡5|Ã÷—l,wöŸk[»E7]^Ô£A³})ŽY�™‹ÇÚô(U‡™SáÙí¤'\¤Á^d«ê^dK[ñ€a¡ÝAð7ÀE�*¿vË¦z*lv/Ñ­ü¦/æÙ ™\Ù%ªJÙÙá´§§7Nj¹3¬
-£>'£ì�Ö`J¿‡÷‹JéÍ�UêîÊa½5
-¼¦27gjsÛÝvÄSGŠ…h:â	#~òFu./THª[WÏÛz’}�…ÒÃ?æ±·Ì@ÝþÁþOû15k71Üa¼
-Ùí&/üÇÝËOÅÍû�ÍN�ªF¸jñŽ6»YÖ)Õ	®²�õ…žAzTÀQí’×dÕS-KÞ¨}ëÉ«­$T‘Q·~�ÞnÝhë:ÏƒG�¯Ïþõi«¼·h­kŸ©~ã§¡óOíu¬s“×áoøú¼y:Iþ�)×ÇÉÂèâùÞ±•°36¼0nc„¤m&µÍZÆºÞ6jÚÛ ™Ñ®×·ö¨üL©�ã=-u.%Æ$—¯?31Ç¿é§Â7å!ß€ó�hê…GZ™LmY|I?xMÞ'KN3‰„„ç½†~FqM*ŽÿŠÄ�ÙÚLÙ~Õ »ƒWa)¡~až]²ùÉäØ¡2½M›•‰
SõVUWWFÎÉY=?kÛAo«úëY,õšÓ»x]<RuOjdxt›Ë×TF®×Ò÷c—[ââuàÚ†‹p”¨UžøÕlúx­äoÖ½9t\‰úøåüàÿ´Ï¹Âî1¤Ë®YX	ÛsÑ§¬vaš�—Ü¿#„U<UÐÁ"ã#½œ§¦;±s[O5P†õ$='â˜EõÆéu­iGp]"€¹X5ê‚rU¯¶•ª.§íj>7ÝTóÐ•s¦\­s~Z
ÌSiÜ�’ç€k‰“�ñßðg€oúíJaõ*Ü‹‹ï½Ë‹‚Þw‘¸A[gY�vd
ÐÛŸÓ¯¶›«ÚçãŠJ{Ä¶›—ÔÄùî{Â¯’æ‚ëùçmåB¸çò­²‚W€,=4±\zïZi"èãR�"öEp‹�â9ÂŒ¯8[]—ÅÔ6-`ãÕå‹øoØnjJ!HNhq‰1çòl8‹î|heGƒÔ8=ôá§·Ÿ^ïmîÍ_Õ ‡Qr?fëÍòz¯ÂQ9/æ:¼¦C.wÎÛådâOKÓ¦¹*ÎnTXÎVIAéf06¼«y¶åD–Ô”a~WD‚|÷ºxå™Å„Ë3‘ïæ|ñ�;°ùÿÆþçÆN±´ôG÷ò¼ß±Ë“©´ÏÛŒC˜¯C�Æ!isÛìEY§ú© §€øò¬b}Õ"jµ;«Å*—yÌm%†íT–2Xòö°óÌóóýÜ@Ì„Ùó¢zÌ–ðÁƒ±[‚¾ï«UÚíï:4ŸWæÔë‚ß(o„T ÊÂß°ÞŸ2Œ�Ö•i-•‚]t€Sß¼¦úÔé~ÿÁ[Ï.vVZN}ß¸®F¡0×ˆ+ßfð7—¿™©òÝOaÅÏÆ!
-é3Mæwv’Ë
êa1k6§U¦šé~ïßo5)1ßÒH©¤ëÄÿG×›.©Ê4áÚGÐ‚Šóˆà<+‚¢‚€LŠ"‚`ç¿Ëõîý=ýý¹ŠX½°njÌLÒÒØŸÄÌYúœÒW­á¥‹¸=Ü>ã5sŠ³3kñ´Œá‘rãIÖ÷çB«°!;5Œ™SÄç­H[·Þn¼0ÛÇV©B:¾Ð¢·¿ÁÐKu\šXß,è~-•#ý^ðô•“gÔ+'3å€TÁ'›ÎQúªì¼’žàX=7Ï£�3¯!ÀÛw�.é/�nk @W¤K¥ì¿ðƒ+UaÖô˜+m¼Ï4½Ê¼;Ñ¬õª¿FÓ»÷Hzu¢ÍŽz$9Þë€ÅôªÁÌ�ßX­ÅQB�Äe>®uŽPYŸËŽÊ&3£¸]zÙ�°ç)ýýY¸Hpé6ŽÒmâÄ|C¶™oÈ¶¡ô ÌÁ_ˆ�»‹€ä©d@²Qò 9»¸_< AÜ6ˆõÌä±°Ü@
Äââ	á! >PE›ÇˆtÑ^‚ø£ì |$éú$eÑ…H�Ð›H&D$œÀ€DÂEˆªò…ü°–dŠK iÇ"BÑ	Ð Ðç­!é
-u1$Ý¨’Æ`aÃ�-4aÍÝI±?´¸®‚„üÀš‡íÙ·–á~
&„»ª Ø;Ht/‰AÃ¿Úv$áh!Ø›��RïÁŸ€êÌ
�J²êúÇØ¾Õ¿¡ìû&I[Ù)ûP([üÁðÌ`’èÌ�äU8BH6H¼l’ë¶üõE�Äo�!öl„ ¡!yR‡`¯ÒxzÒ¯%b.B–ê[ËN_Dˆ÷ì!>1>æš¿~2×Ö9œ§âÓV˜ïç¿¡ý
-ü€ò
Ê4rÅM
ªßs^ß(xMˆSøæô"‡Ö--Ò²vê²iô!öË‘#øŸ¬®!®5ºÁ+Bâf¡Y9ûM³®Íõ>¸°Ÿì•Â¹W=+¬u;•ÏíÍ¹Îý]�ï?¸ÿÊoo!Bu,BV!¡ÍoèúG_à›>]E¨w9Fèµ#”™Àš‡÷B„Žme¡cd†nE¸2ƒÏò9A£ã3Í?ƒO6È áE$3áb¼«†…JÒVÇû^‚ìoÝËÙî'Ç£FÂóÒ+÷%É�§Ûß§œ¿u
Ò°íŠÄ7j«¥(5µ(õF–FùïI#F”Ú0î7Ãú;[ûœžùnxñó°ÐšðÁê´—ƒòÚ=¿ŸÝÜã½Éuß¾ÇŒc×Ò2>‰G/8w;ž¸±W?øKÖ²;˜Õ.OC£ügú“ò�YÛöË>ûº?£œó`Û-3Pí,¥I9ÂZ‹f„½K³ïqÂ7qÙŠ0>gÿ‚ýàa‘ØVÞOsEûÞEšúdóµñD1>¼¢lÉxÉ¯Éý…ôù—«n‘;x ¸‹zå§9±:ÏŒWdœ\¸TÅ×æ~wÙÙû^·*ïÛ>ù¸ÿº–¶k<¡'þ-~!JeE"Jµ¯…ÿÅ˜ñÞŽðè±ŠÒÙŠáñòöYd2~PíLà¼É$ùW$<IWë>‡.¦§WÏÌ³¼w,y¥9ùœ­ñ³¿?¥VÚPÃìj·_¸ó7©uo¬²‹[Kæ”K<Üß/hçZÃ]ï}ž˜Ù·yoH®áŒFÎ_ˆRUÊüÅG¾¿^
-ýåC?J‡ãÍ7#X¹ìùÔüÐñ¤Göíê+w.­JåÁ\±¶Í…õÙ��ÉõíÝK·–½1®RE¾]bå
-‡v/‰/¨]ÉX:ËÖ,Üµ‡çi$üà§Bf{1Ëèñm¬G«@oÖ¾
-°««v8ùùà€¼æ`SR…—?¨03Ž2ªÍGY¤£‡Õ‚lzÑÉ²Üñ}:ÅÜ�Ÿ·x¯ �£œXº–_Zi¼µ;O×åtñ¸Ó©0ÐÓÆÜÀ,¯³)ãY�ÚNëè;œÜh"!žT¹hûÇd¢ŠÑìúòyœyÉÄ3tÿáÿïú¢÷ÌG˜¿ÊGiºW�2»Ù$ÊÎj[°È-Žo��/üªhÎ*•½ß÷'*¼v£}ÎÊ§ÚiYí´M¶@M�M¥³Ö=~zÐ›ï•öƒkâèxUÁùâªò��É›"Žªp$�©(¿P2ùƒ&ÏF¡+]ÏQx`5í-nNÃ—X_÷þD”z$ùŸ�
-ÐŸ7É([;¿‘š‹mø,5EOm�»çã{WÁÏ×þ’ð­¬>L›�Çº¬û+�Òèýr v×ãåq°óŠ²²2>'ÙÊzŽœ[¦BéVìâR‘«‡G§69TÔûZãõSþ)ì‰Ög Ñ`‰wo§Ðúë/DX©�‹ðç§e–H:¡`#‰—+÷Ê”ÜåcóªB[;iÖlÜSYn ?¸.l;õ˜›Šy‰ºò¼r˜HLãÀ+E8TÀCùnthÝö+Ý‡O³´?ðõþ.z?Å]�îÛ[MY½·8ÚñøÉˆpùl:õü?ø×Æ4	8}ð\”ñH*"Ò…é§ì¿+’ãgñÚîß«ËôbJ+ùôàŸƒd�HMŒ¡œ>ãštÍö¡ª7FÂ»3ûOñµÝ·¹XùÁwŠ—?ïz»ás«…ûh‹·�o&mšÏB~3?±×M~z~­™ëÆY—–ËçÇö_€Cs‘‹Òb+e;K,Î©‘ß=àŽìp¡dûn¿tCg«¡•W)Ál¬Ä‹¦pnx»…Œ\$èŠèÍ9jˆ{wä¦³í(U`ù]ø¬ÒÑ6tu_ßGÇ÷ºt0Î™O\ÕFöÅZçot´Š<Ø†Ú«÷ÜºBÜþD„×(4˜@¡’H÷ý9±€Û{¥@Üâa�»L[…îiÍ‚�þ9³guøºùJ¾‘†+ÿÁÝÑ%�&änP”ºü¹�m
-õÍb]ÆÇ®FŒìv¹;±Í¢ç®„u!a>[b:-b²Œ?omƒÖuyÜä-ˆÒ¢úÐÿ¾9Á>ïk¥oTŒöÝFéÑÈi¨ñš¾ŽjÐW°³WÊlZ6§©ÈÀ8í%9@ÅÖ¡˜ß#ÏV�·ªSjmŸåë­‘ñJ”%#¹û-¬%iXê²/D·…‘á"Ý;sbœéÎ®™@œ“©9ŸVÄÖœŸ’ñàzQæèW@¡#ÓÎ£@¥ïŸœ‡_õµýëŠÑØ©Ìº,°Ku\**²=æ‡­óNöñ#¶§zµ¼a¶#’«ß–í½0ËA#?�Ÿ§'fvœö³‚ƒ›S¶Ös'R@'µO£9öä?©®c“MZU&Oêzœ–Oùp¡D”%*õ iùõ_Iã·cIÅ.Su†�Ë.´ù‚(SÖgr¢Ü²¾(m”ÉM×c¸3QÎÊÅ¾Mç S_}ZKz9¤¹îìÖÙö'n&™Œwú“‰çä0¢çÓëP~;Ÿ!B�J5n¥!ød¤]*Fâ°þ'¾{%›ÏFÙé¸ù=Ô1Çe
-vwgƒY³ž2wº‘èÃg�ÖÎïË\ßÚÈwÛÚkØÚÛÎVtSþds¬ÊL¿C7ç‹|‹š¼Š�Î¨M±ý�¶§ç?øûlv}Sf2[¿ûÙ|!×³l|Ö³D^ìORa€-La08ÞþÄwå¢¬£RÿëóöÍK_ˆå;mŽXJ�äMòƒ«“i5¥”¸=}xÓ'(OTÛM&góØ¨·‹ßéUw^(,fd±:}R¥ÆdË­Á¨>h÷.ëâ¸—÷Æë^IÝ»¶~uW«Z¶[®ä'G9ºŒËÃ}¿{sç»^>ÃíÿB”YX¥À«D°ÏéBúªK2~¶Í.n’w?¥
:VJÆ>”š…|]ˆßøtwÚÁE|U(Xë†¶y¯âÂîûËI+ÈÌ¬0ëhyˆˆzïª±T—íŒ‡Ýrr]wž7J…x=;AÈvê47nïØ±í5nR§ÖÐÄÎº§ü‰oÀ¶úƒ»³êN :H_¦Þ.}ª‹¸®œÍÔñ²®$‡Í{‚šû´tìñöd´^oÁSe;kÒfÒ™}0/yB<ò7|¨…w¢Ÿ¯¤KÝjIntøõsØiÔ›ÜÞöý£Ò~£=§½×c¼ÝûCú°�Éôš.t˜**t û‡¿ð
Ø’Î£ÙÏÜÐÏ9}¶ÃeÆƒLZÃoL~üXHNoî/¹ªñì#]_ïÞ`Êv÷›=“)øúœ•î“àÐ÷F©ÍìÓ_\I·6OgÚ”ÛÔ¬Ð¦A]XÐÒ!”+Ý1†(•Lè.Õ_œ÷-]|šTÏ0ôœRŒ�ö|@õŠöÞ"2—i"gLÿHfô€‹ÕÂáp‰¬Ü’ýøz÷7�ôÕæ÷A–Eë3š�ýÆÌ9žÛOBï®�†ùÄúÁûL©hwëãµit÷Ld(-×¯QZý= ïášÂôÈ 0Ãø´Ì‰ÚjevMžœ™}�ÌeSGr=•¿ð¼eâÖÙüÌ>Ø¬Ñ¶ë„zÎ…„¼Ùµq˜x[ª®<6Þ/oAÞ»ú(Í¼Ê¾3‘@i1J·WÛþj£:ïW¤Ó±Ë\¨Õr['yž´¦³W¡EÀU€¼¼‹œ¼K…\˜e�,LµæÝ{­Îá.×_Ûé¡þjÖÄ¿`¿+q!’3aî/³œ¦G•¼b;&q £ÛÍwñgÝàÉœ‰úíŸù(™(]ë3âïÂp^<ÒýŠ]w­
K‚p×²zšJ2éý¥ùØ¸~“k4RÍ*jV›ÕÂ`ÔpmoÛàÒ½Ñ˜ê¥ºëÍk¡4jô5+T£þÎýÅ/\
< Nüd“Ó�Æ p¼jQ^"Ãvf?9/�M3Õ÷W£ÓÌž?]Íšôr¸9¸/ŽVmV“®¤òí>t¶¨é•ì“+×�ýà
�RÖõ`fÉu1�Yuê½|×é–©{GÖäCyQë¶/J­;µ@
É¹½jê‰m*£ÄÝ•Ïä~ûÎRÍÒbSTÏ
-]‚6?_3óÂP¿`|-{ú°)Æx.*•Û·qc˜?.Ô^ÓíŸ:Ê‚@hss%ZL§[nòlÔ¬„C§Ö›ñ“ê�áWóc‰•ì3Ë—úÒ-/�(UÎëËÚ^º³Ä´´¢ïJ©›Q©L„ýâºUa‹ÕS†ûfë%µqeVV*NX{—R–w4fÕzâ-X1ºM”YÞü§°+Ü¸‹µO§²ô!×Î8ÕB$[SóJ±šÞkåë°Õ*±D¾[Ü�Õia7i­òÁ…òtÁ4r2—qsÝê'¯BêÎfˆAk{"Ô1K¤¢õ?ø×ÿ ÷±ò¿÷m“Éoïþ4Åu"*€[ý1Q6Õìééÿ4Òã"²%qFj‹Á¹–X9»:.ÝÜòuÇ½Kå¸ú)xzÿàùZœ9™9gˆAMÌgÇ¤\Í±H¥‹©ó{Z—òìÚÂqS;n”N‘Õ7™"kÜâ/üï-Gkgw—ç)Íc¾ï_vãç$NÏ/ƒûv¥u)í,Qg#Ü6]ªÅÖ;Hk÷M]•ËË¦.”ÊQg_Ø
�˜§‰³L$p?ÍÛ®‘™Ñ¹nkÛL•[Š,îŸˆ¼�¿‘nóŽýËPíÕ¾!ÛÒm-wÀDºÔÈýrcƒUö''ÖÁñ•0¹µáMÛ«Ãmp¿HFì¯25£]³þ¬²54;�—¯©û=sX)sùà´YæäenF*Ú8›~·é«ôîãl;ÀêÙÅ
lj†të¢Qã Ö"ÄûÕöÜ¯djm• 4jÅ&ÿáû,ÿï$³ÜÄƒ[b
‰@¼Gß(ˆÚD
/�ˆ`ÚáDÈ`€¯A„WåWˆODýZD‹u
âD�h÷=oDêd	¢ëC‘ß=ƒñç—ˆAÄ¢
QëþÊÊ£A¯|mÿ‰dS�÷ªI®’@´P¨õ{Îˆq<¢Ï¼"Ç€èL¯ Îˆâ±p@ä¾á£eû°æ¬Tp€Ò î4ÌÄÓâMýbÙ°Alu»^Ä/ª
Ž‹ÑÖ‚£ñg”I
>ø9ø‡á£_‰\ ¼b[–†B7$õIÄ>WñÍ‡5ë]X©nïA,Öéâ
-¾ÏbN3 ~\* þd)ˆÞ$¸²I)âAR&%�Pò$cÂ	«¦A?&£ßì†ç15	¥<–˜ßƒ¸Ù³ ÀÓÿðƒÿ+@òì†P
…6‰�ô!õC÷Q‘‰5ƒÏ¢ØH¶MB¿�d—‡�¶[ã Q?�Ü ­‘Üø!H|w	TÙhŠ+/¡u‹ëýcD…ð“™o²áì�Á2Jõßšžù›�Çøõµñ¬ç×Db³ú(ne‚Y!ÂÊÔH„ä7Ælt¾ñd;YDÈ¡#|3¬O².}Ó¬áÐx÷üÇ¢�Oæ”m‡Öº7çž	s‰Æ·k(Ì¾h¥Öàþvp#|sÏ:áóþ¸á	¸<x•qcRä¡mÙ;Œy…þýsxÌlþB„”—¨Q…S£ŸC"ôØÅ¢T5©G©Z¡‰´‰PÕQ#”)ÙŸÉ÷Ãù£ŒLÜÏ¿�þªþƒ¿«ö±ãoéûØofQÆ{_ª¼'l'’GõóRîýÕár�›´ùŒÛ?†Ígz‚�¢ŸY?FF°í´+Øåî~w"Ìî¾Ö†Û_ø¶Å~"´™J¢T–ME)ó›'Ú:Òß'f–®îÀ8W5ÂÅE¿¼×Öš«UäQ²J¼ä\Pw“UŠvû <|³Îâ9®o7Ï´¯‹Îlè¨N®\‚6Ìãúœ¿áÞWTVo�÷ú¬7½‘Ãá¤Uñ"cñ)ÁREaÿ`SÊPf<†ûïãŠF˜&”#¼×îGø\aÀD8ì¿gDpwÉß¹5ã%Ÿ<ÛÅ°sðÌTCÜÉ
2¥ÇòA“ö£½ìßÝþlzçS»ÕÍg�Ým_ñŽ×ð˜¶®‡~ÿu‰½(\­a
›£ÉyBûÓ¼1•ÌÛªwd³è¢ÁÕŒ½Áu®Â/üß¦<¨H„1ú=Å£¥éÇ0JO*«puÞo|ª°å]¿œ9GŸí‡�¹÷F.Œo-*›»äìý‹rk·/hi8²´Ï�±ðŽÆŸÍÄ•ÏY;�æNåqÊ¯7±ÉxaÉXãã‘Î';^°�¬~&I=Ä•Ãñ˜…cïþØÿB„^¨ä{ÚIñ•DxWHCoyßøž¿;¹É`ù&™Þâ•ŠFK§ Šü}k#ÚUb˜ÇUKŸóiRHŸ.‹rù”·)Ò\Ñ‹�á(«©QCNÝQo–?šöv«°÷5ª1	TIåŽIfÒ;¦òÚZ�Ü£|:+ŠLäæÒÁÆKâ_ˆRíUa{<ŽÒ4e
-!e®»QXÍGCÍ~zÎM'ú?ø}ßž1W¤kÉç³š½™voý6ÖOÕ·72§	YSAgÖV;*;:ªØnqì?ž[Å¨Ey5x9}ÉÄáŠI×éª}°—/N|®qEÜÔÐ£àmïò¾Ä•øàÌ9ÆžkEQZìå¿_�%?wŒnûŸÙ�t³Æ´f¿¤gëzìwççÎ&7~[úÔ^ªlªÑqÐœ§•qeøµ`Ï<CÊ9ôÐ—–#m*Ó>w`çˆ(>ß¤)n„�#xÀG²7nìE,wQ¦#ïd…:î�|AÞ˜àðþo�o˜ø_¾å¡òE¤æK�8ï©öp|½ÉØ¬f�+¹±é$“­.ôN†ÚÛG™À�EºÍ>ØáÑºD·¦×ÅúîÒvák¼ÛŸåþ@´ö»h9QwJÑ´¡÷ŠL"°\™2o–r3>³fÅ�U�›™ÇÊëI‹!Â–1lOpA¢ÌöQ|¿GÙ¬³ÚtÞöOwêeãˆN¶ÿÍç7Èb{­ªåõQ9=[ZUŠoñU’P¡5¨e÷íjª¼ëår‡Ø…ÁvXiÎy“ï¯ùÌ{-o,Á¹lrQ)X3�mn]zcŽ£oW‰¢#ë*®Ìò=KüÁÿ¿a·<ìóñ÷ëüV~á/4~Ô´òû^gï:`—ž•LÂ¬;|[SªùÕq¼YÉr!¶¯¢×Ã¼ý'Æ»^dã[|4Ë£ÖÝn}“oÕé5#uGëRg·â8õ,°/,y+?¹fV­á¢Ï|ÒÙ-s8÷”/ä/L{ÖÍˆÒv/>"Öâ¬äQp¹À¿Œ¥kY½âóTÍµ0ýCLZêp/”œ?=Ü¦qDqwê 
ø3*¦6Ér§•ØWŸk¬Þc¾·2·9ó™G[¦mWÔå±Â> 5ŽÎ]d1´wôbøm ôÄ	ÂÔˆ“ø>›Dphò„ÿ™^ðÇ&×or÷¿ŒÛuÏ¥ÒÃ6Þ-Ñz!^;f…´`%§ÔÙ‹{Q6ö=<t¶c³l
-Ðâ6Ø
_	F>Çtê÷Ê²_:µúú5\à>¾šO[íÃì".³‚�éª¥5¦«‘¸‚vÓ»˜ÚÍò6±ýè‰ÿ×ÿáçCò�ŠÜì[ÿØ;¦^‡)Õ?ßÑŠk¾¦ÖCïd5�qÊòý)
Ûi™ÚîFÛá�Ç�ÏÅY�s»X1�.“ó+óƒ/Òkª0»¦’ÚteíÉ3•žLjìˆo]]ÍükD±§ÂHÝÅ((Õ×ãæ°»o÷cî/Déò;õoh>”ð¹ÓëT÷—	+¿OÎªø2(’³U=¨¾”%ºÍKdÚ)5ÅîSù±Ì_všµvú¸ËîµZÀô
-³x‘a„ÔÔžÙ±§“…‘ØÍ5†ò°Þvñ3P§�4HùS8÷û†PÎô
±4¤þ©©­ÉÂb†�ãmùß€-V{mÂ)Ÿ·àÖ�“ÐÊ+ìÛÜÊÈKK&CûHœï¶\)S1øZû$ð?øö<"÷›Ux0¸æèu_uJ5oqª�áŒ‘VÈØ·DlØõn™6áKýÌBiõ,²8ëÍÂÝ¾—“ˆK÷6X—Aîýî-_]ör�ê¢wVÚÿ0ÿ‡ü¿ë³Èë…Äöü)¸â…gxrîƒ·A]Ý—:îWm™Õ¦ç©ž¡ûzÖvcWñÅYfÃyñ\Y�óÝZµ”3/ôŠÞd»l„ÃXÁ5¹?yR½ü‚ÉwÛ$»%.7î8myÛq:Ô¹³FÒhûÕºwÛ¯t•é|¿7ÜyŒòó¿ð}é‘s‰Æ;¾ÓNX—ñõcnAýýƒëvóŽ91ÿ8ì;„)ôÚT°3±ÈßÞãîš_ºK¶�j	ÌÀ×�ù-e_¦u
-qFò$û¤åNØ+p×¤ó,(ÙN�õë�Ú�µ½6Ø´·ÉÊlï�!´.è€ÊÒ45›¬haÖcè÷¬±¤ßÝÒâ@.0[>ÅWíšçrOüt·ªfÛôenóy=ãjì²ºjó«^_o;~�•ÚûÑÎè•,·˜;kyêF²>n×ÜËÀ\ v�Aú¯Î&>í]âmò@WÚ¤ùìÓá´ÏÑâ¥Ñ‡œ¨hÄ´¨îæ¶l%þ�¡äÿ?ø¿Â;ûˆ½ó×ñ%kƒÈôt1Ò‘}ñsÌ÷o©ážûtæzÚ¬¯¡ÆÓqÈvB.ÏŒ‚½XøÎlêÓÜXÒÇâ0�)joE½N�m©sk·®¶XûÑL¨˜óT,•iêØ9.¨c·­P}4ó¦P!l´†9'Í7¶$MÆš}1ÿ—X¤‘›r%ç•ûŒ
úÌÆêDÂ€ì‡ð;Òé¹]æÕ3+_†ÆÌð·¥•÷“ù£~*Mw^“wyu4ÌÔ3L�ÝöøÎnv9ÐòzjPê²£R�í»epÞ2¤u½5î¢ãVáwäYï>È³8¨üàÍë|3l„Á´qØø/<6Ï'z™’…äßëMóäX rÉ!˜OÂ}›:›úfpZavKšs§­8}“/{"id¤Wìâ>˜?Éf¯Êi½ö§’�ÒhIXµLo±'­p¥‘óÃýNæ§-Ð¼z®yÏµÛMææ®š%Á¸4Kì5ß¨6‚N��5_^jûî ÿ?øMùlÐs9ÆP=VJ�yL®Ù~"¨ÏlÀ?ÄƒU¡±¸×?‡	À~xÁfX6Ò÷~ Kb·L»›V¨q.¦ÈëT4YRX6ž‡Ë®±éd¡�Ü¨ü³îù8ZßíùJ}'�“:9&´:Ù®á5:5"«r¥Ù©$]¯ý¬k‘N™­†k£ú-­°µ	.F�}¼Ë…GŸûäØ+Ü‘/ã	\¢‰•0çÕu�Ç¢U[±MžÖbÌ¤&vî4?iV%�¨ØªZ“ªB§ÖŽ?ój|íí!§êq?xWûÃ�¨¦Ò›N5UY•ÑvÊ'ñ{¿œµîtiþ^´¾ ~á¯cú,{¼2B"YlŸEðÏúM‡9mÝÓlûqä‘¡Û~EË­Úq�™·.::'Ù•¥6|DƒžE�žÎ_U5lE•ñ±Œ—­Â¨\Î‰]ZF÷q©xiðÅÇÖ4ŠÜ€ö‹UÌ%
-®³ëxy­sè‰ø6^Ï“Ï¯ÿµÑC�Ù\öWgH”“ë*“ðô<Ù¼S5šÖ¯óÚ½ª�%ö¹ú`ÝŽ›ü‚"PtÚð–£a½íÏåzšŸ+S²a—óp·/:úûSØn¼T^Ð@.Êå:‘Ô›íœèkÂ<;rÞB6½™_3ç^ÉÌÐ™!l•O_—wzY[U ¶µ_ÐÒ|.¯T¤[^DóÆ¯«zÈ¦Z»Ç|Ó››ã�9•úÜŒåðv¼µV­ËŸ5vdXÕà:Y™.ÖlÉ�bqÓ[dºc|�\µ•÷ì¸yu23úúÆm¸Þa›ÙO‘%¥ˆïF!ÝÉ|V5¤K¤K÷‹ßˆb»·„`¸_8WXQŒ³¥ÌvÕÊÆlÒ¯¡ù±F�}îlìÛñ+Z·ïÒ¢<¨a‰�Ò™õŠµ½:Í‹ÓÙ,×-"ãoÔÚ5'™³ÀÍÓW™a±ç	gS»ÅkƒWÚ!ÝÆåˆt›Õ„~Vs�Î7`Ë}Siõ¯dâüÂáƒ1¹Ý¢>EpŒûÁÂ3÷I/‡}gœ’ÚI­²mÑÞª.†‹IeRV{Eî¶òTA£•½õ¾aZ:}•gÓ:VÏ$•™Wa³=—e¤[_Ö!ÎPM#õ/Ûè³_É2TÛ€nlÓüJnßTZJ¦çÝÅ/€¸8¿ƒˆ+]At¨Þ@ÔÆ¯(w€Þû@C¼ó†ä‹Ç€!ÉAˆˆÀ`T»A,^Ç"@2£„Þ`‚ÃÛ&<À4ï˜²O0ËÀmå›£–,-ô~ðo‘úC+ÄØü¯xD�6Ô�‰¡Ú#î°e¾B�TØnBXC(®ÂBlDˆ§uVSáôù>‹ŠÀªÀ}DØdá
- ÂÇ¸áÙo€Ïø3€æeh˜Ž9Ç3ó@<à¡ÂåÁ±ª9ßìrÿ€[}ª=B­Ñ4ˆ¦óˆjVD¹Ü7¾ÜÀ«à¢Fç¢ÞÑÑ·á£-•ÑQÈƒèò‚wx
x‡ÇM@œCx ÜêGûÈÐK
-MO
Âì Âƒ|ÛÏ½ïY¿ðf.·â¥7s4‹¿â�5z–’šû	ñ€@�7ˆýbM)ƒXÈt@<OAL�×ßg©ÓÛˆÇ±ŽÕFzñèå˜ÿè[§ú
pê“Æªýðô˜ÏÃéÁÚ†D'§…åØy—¹]ä×¶ZÚÛ�Š×­Ú+ •úKˆøú‹Ræµü_ñ@|5¡Æiå�1û"$-ÆRÉAâÒ$Hq’9à@²É 5žŸ4/Øá½øÁuõŽ‚%]NÅÌ¨ø¶­¬å]i”ï¢÷¾¿Ñã´Û¼çÓ¦î‘Gäñ¢
2v»Ö$ÿÜ™æ[MZNf“%ñn<f×ûo€¤:P×÷p�Õâ®zßlÛ&ý…\ý¦.÷"Ä,,>f3Í‡99‘Þ�abøî,}óHß÷öÌ:öZ%$»ðjÏRu7Î•iWñG®çO½älŸÃgUsNuÎy,ðœ/6“¼Êw.|Ñ·mV¢o
hô]ßý>uÝåÖ/€äY|FˆÎ:Ú;?¢TvE©u*¥¦T3JÕÖ£ðÂ³·ÓÝ°Þ{:^Rq¬þàî±½»>õíùõÄƒ'p¦$åU2ÿXÕG¡Ï¶l;¥öí2ûœß×.ØÜkÇ‘vÛ¥tç*V	ìÒ±5«ïÖºg#tÎiÆèœÎø†>MO³ÿáÿï:BFãg„ÎíokÁ‰°R�°½T‚øÐŸÜ`Úõ½3;xÉYú42ÚÚ!MzÎîéþÜû�{=�	o»Y	¹~+{÷óò%Ây¸Ž]ºÓ}ç‚ÔÜ©5ØE¬…µhù<–äûÉÊQsétk{÷t·XïëõqØÕüÌ£«y‘Õù…E¿ù«Ùô#ÂŠºá9‡•”ªp¾dõ*õæ_…æ«WÊ4�Y4ìÚì3»¸íÂ×îJ_>ú¥kÇ7kgý³Ù/ÅçŒÝIŸæ•~þ”‹„†Éô$Ú,¡ÎÈàFÆ¨Vz�ç•‹æ¹X
£9´”Ž1zè{3T4¹ÕW†ÝR_Á¼÷Ê{P¨Ù‡BýRA•Ù(=æ«Á³s/¿ÊÈ;—£™¿oGùæµý�&ÖP¬mN4}üÁÍ{š¸N®àU¦	tþ3Æ´wg–ÓZ*[Q?KhÙ·öà¯S‹cÏkîŽ¨ªŸ•^úÈSb[’.§w¸ON£Cé²ŠÎb:øèY|Ø˜Ä3ÂHÉ‰p™Ð­oeÂ
-~Â}ñPH=g¤÷±ë™aê’x¯êy–¢æJ;³úË›IšÀ‘¦*miçxéàˆFƒDÑ>«¤óZYž®¬æ7§·ö¤Ÿ™I…Þl{Xé†!>3_¬Í�¢Ð\%Ý}�)L÷Ô,1Ú�œ=ü…(ÅQpTªo7J—ý$x:àŽOöíÁÆØ	ÎJ7ï[We‚³u8–ÌŠ•îh!1[¨Ý*"(µ×äs�»I×ó’
-Ò>:¬’#.>§¼¸)Æ
Á[g;BÓkLöÁŽ[ï©Ð:î€D»»Nâç¶ýOZ}Û”´œòFg0áG	9âÓjqøQ*\À¦ìö‚(-VS¯�^x<8Ž¶îûûÃ¼µgŒa�jJ`ÂÆÏé-- T£gJ¶›´¼}‰õPi.‚œ�¤ïá^ämdÞ^v'‹éò6‰ÊävÐë¶*­øñèuØœ­Öm3›ÇéõÕæèu±r›®‹sÂÙÖaÄ±snðß·	ÿúü|a¥ÄEÎM•o÷÷"g]�3N¿ŒJ%õt4\£É63êñtn*Ójq$1à°ùC,íC{{Ú)�òm«•áƒÍÒ?¾ñ�U"›™³lüàë[Mì­‹;{Á=JÄž«¬W»ñ	”­ï/äÊ§ÓÕ”&+rÿÂ·Ï_ÿúÜ“£íëÁ=ØÛM"ë2ÒæÆyqùÆù
oîØš<èqL¨5¹p¬E™¯öŸËKÜõ,JãMçzÙÌKgÍ´÷Ø®Ì³¬+jU¶=èÕ¾�M™P¬o˜­ËèH�¥2H7–=l­¾%b®'Kä°~1ø…Gòþ7*†º'yØÛöò~íŸÖù*µóiH².
-Û‹Š
õX¾a³Òá`=AN–;µpßó§;çþ&ïíÎgl–¿?^«½¬|˜rÁ™öðU\*gœ\¢¹Öp1ÎWsótSæÙÜØŸY÷zâ9œÍWÞhféÁð‹Á/üšpµ$\}ækÞãN-º÷KÚ×¬t°
ƒäG’†lš¦b­‰kÓq_öé}WjM·ãñq³Y–S·~tõÕû}»2¤õX¢ÜÇ_à‹W<ŸØIvv©–«ßìvÔ™2Áq1q*qRÝrÎøEãWëB�ÃI•¡û_ô~áûÚ#ê�ÖÇ)©OçÖ±ëw+7T.&_D
-ºwäãdàÁ½RfÔšhlsY¡=³Èæå‡|Î‚+Ó@dÉ*©2°?-F‡×uv±§ÏéªW&ëQ%5~ÉtaÜÌíÈ‘0¼Ž†Ÿs�vrúeß…Ì°S˜w 48_†Ÿ­Õû¢ûß9ô�ƒmê>jEûyME™û¹xâ/F‹~ªÊ²’çv‡ÃKôžÂG÷±=ªjÛì®:X;èjÉú×çŽ‰¶8’—X—3f×ËÉšlêÉ}tXw(…Ý\ëçéAÿhUú–éõÓ“Ùªw&³7½&hoz»�½3šïõGój·¯[íßøÎ¡Ø5õþë¿mõyÉÌ1Ût½ÉEo»ïÓqZ'i½ w"5goû#0‘íéÃ”7+öMsÛÑt¶’Š×õRrâ|>ì'.»ÐGâG=ÔGÑîgÐ›×›�b¤{µZ…¼»ä-º[lÖ;ðÔ{¸Äv½nvØÎ©Ó-œîíîâãÐ¿¥�öœ?k¯›¼Ø<Ï·½oïåü¦¥ÐËI)0©£P¿WGE¸òïÒþ8ä^•X×\‡d©sÄ¤ªârAd�íÔY7ã–5=4o£÷¬ré2”õìp]tªh#Û©ædÛµ»³6Ï&J»Q}ÚWUzOÛíúî-¥v})P¿l¤!pÊ¹‚wˆãç	šˆ]2‡w5-Ü-éiu¯î÷ëíLåe¾È…Ïu]tR¬ø–ªŒz+t³>;�•ýÛj,³[8Æú:%ö‰"«tËhd´_òãÞÞöŠa»™ßgè·�5 ä	-pÔ�¦jÕ�’Ç
-Õ_mª}8¶¨ƒ)‘¿à!–äÛ»RÊ·,…v¿¿ÆHXŽ¦¶'å
-î×Ã.ö´­Õ®7\å9?˜\Øv�ù0šLëà5f\…ìMHG™��ñ‡íŸAsÛe¹�ÐöìºJVåBÓù±GÓ�£@0«~c°b0¤äÃQ º�½ßR¼ÔJIÙid�f+U½7~ÁÍ
-«÷­»5¼sI¯¼t°´\u|œ<e®{¿Q`hü-a¶ìg5]¬ÐÛî•ðç"Þ“Y5˜å'­7Ò¡Ë^·Éëã.§¥m?VyºM”¢lNT¯÷|Rhª™@\‹-Í¤:­áäÃ·†ÓÈ%'­6Ñ´¦Ãz3§fkpa@¡ÿò¯ø�g½\&ã�onÏOS–wÌ§&/©¡Ý{\aµM­8ß3é˜-
-G›�=¹š1Ý5©×Xî&ÉÐèìsýEŒÖºk°¦ÛÂ'5„-–4ÕyK�v›Vº¡Jä9•¶ ¶orj¦Ò$1Y7›W¢ºl^sõ[³Ð2ñÆªc–ëÎn^ª¯‹­â/ü{yt^5foƒ®uÒ~À•_vXæ-J'ÝÙ.îKƒ£â¶°œ1ÍÕä€¸ý1"7#Lëƒ9A?z.:ûò£#¦\ °íµNZ•
Ý¼5vãfQ·¹fÑ ”Æc|¼5¸l@\Š?x£r��ê.3ÐëuÉ‹j»’«†˜ITÅŸý…‹Ø¡¹£fMc*à˜¿øà4Zïý¸8zlêÝº±Ya^yÌ-=†=gî@{¬»7ØŽÀ3J»CÍo”¾Ï{äåx‰›«±˜nÔòl©¾]É­z³Œjïh´©	ÊE­Qý†S£1^E…®JÎN¬Ä~úUéã$VA¥VÖ«~ê~ðÿ®Ïå¹
-t¥>ˆÔì©žÈëÀ�Uúøü#ïÝX¥mª†Ùn'me<,Ì #¦·•©$¹|¤ÇÍG{ºmð©þ±Nºý[5‚g‘›ñ^Ñfb®2ÌÍ
-öî�Ê¦páË“qïTÎfÜ d½”Ji¾¹RïÛE¦¶Ž²ØG*ú#™ˆ†ïTY%­”ý:°Ëpîs‡=y^Î­¬4m7œÊÈ¬»k¢=kÕZÍ‡ÈÖjí“[©Œö]>ãƒEéZ[îŠ6ÉªÅ²y¾žk",Ô¼.ž÷Ôs-¿cšÃ<ÙºlsèY9ÑÂ’œˆn›� e“xôÎªÛEœ¨èttsÃ�‹Ï>-‘ãºÏ\ßÁz6îLÖà´éÛëï†gªËôêÕù˜ÖêR—,5m²ö¾ß(ŸÂI¡T<<ÈbµCO�åx�ûTi‘ˆ›´J ãÁ%;tÅWfŠ^“ô"æðÒ»HâeÔc0ÇXéØzR©×+n¦¶Zýˆ¾?êÖ×ÏøÁÿ*Á˜¹¾ì¥ìÙŽ6|PvWø+:Ï¶ÎE�çM¯~0ç´&¿‡di—¢k’P¯—Ïä¡\¬ð|~o´«¹ŽauˆA™eÇM„ËàÁãìp/üàX�`d4xÌÍoÞª�t›ð=Hµ„t[ÅoÖêó€t)é…téié¶‡s¤ÛÉ¨¿ T¦
-!"o.ãñöÍ¦ðÙý_Ø{d¼Òû¼Ç·°­gªÓ¦s¥z5e[åiV/‘¶ÊfuæRÊÌJq·Õu{šT%å]jM”.-¤[~ƒ åé7ku
Ãš›œµ–¾i¶ßï¾Aµª-—7”\Æ~AŒ^(¾]aÀ&9nö
-+¹÷Bf<­³Ì²ùìHãjò–Û¥[Ñmä}1_"P|”M_
-OìÇË, RžååPqµÌ ò¦?»Ž¥¾ø^U²3Ø€õ+…ÆÂæ{˜­ù
ØB]äðcŽ¾1fva¿ð�[òkk+ ,ô:Ä÷ßz/€þÐ‡xaz•o$´ý�„Î¾‘Ð
„-}#¡ß¨-u�X= txÇè0.Ã�/
-ßZÆ—&“ê7nkn�LMÐ¹Î;ú$ËsôQ‹2øÿT(AT¹|q‚âøþWæè+ø~†
-[¯o-ý
-56J
åe&³oxùü�Û&TÖ„O5úF‹GÒ7Æì| 8"õ
/ç¿áå:èX¯î'Y´Wµ`?ýGæöIq]?½¾o«Ãô6çç&ò'@DÃ�=2bD¢#CµÔÈOaõó‹	–žØ:ƒü7Î“Ñ7
-Þ]AÈ{Où>Ë¨p‚èƒá[Èéc:ç{üIfÿôïéÂ'µµB£|™†i>»
¡¥½`~óíÙÜñÙúäé³]æå=o=÷@ôÈß,YRA<(ÁfµDaÃ‘É<@41CecØ0É¤ÀUk aPèmÉ‚nKÞÔÓUùÖÉ)4âŽo”fö‹ ˜}Vq�“dü}›¥üÍäjÔ»èg~åóÞ{�\õôÚïç®~&�{pæŸ§’TƒgïZ
-Šk öæ:ˆ¸9Å×žÂ½ƒ$G@|ãàC0Vñû,T¦Ðz±šŸâ,°’:äwKñ½ÂDõ]zØ–¿n¶_MR/ïum~¼ín™z½C6ûÌkõEMÓ‹å3!ï’£Çï«“^VÃqÈÇö"zGÐ³°{:¸³¨ðP#c€dmê ‘r„¤3§‰^„P>’(—´X‰�Ù|Ûm«çoRÖÄÛU|ö%ö‘½ìâÑ•Åñùw‘k?UW}=±†:&¢NfŒdV¥[{Ì\±kßzÉêþSÊÍå·ÎuOmÁåÐ�!—6ÒE,¥•Š­îãýTxƒºJ¾úÍ¶e")B{×[„n›a„.6ÐÚ¬ŒA1ÑJž¿¨V_´›§\DoŒsÓZ:Ù¿{ä[Å¾ãîéî·ë�ó‘×íÕB‚Ûo¡×÷´�¹
-µ}õòÙYÐ†¹HÃúÒŠO²rÖwOçtâ@b^7ÌÌÛû”qg™”±Ê´‘_ˆ<4"äMªªÈz”âVn”2ß10:©tP†©×ç‚bO½¾Íýà�KgZ³Káªs{½„Ù5Hé›+Å¾¤‹£¦•ôñ«Õ·KO+Å¶Ãó(š"§so•9ÍP½b^WoÚ\VÚsÃæ5IŠØCóøJ¢B)£RŸOúÖü?Êµ#ö¢×�åÙc”:ÔÎßLA?Â´^
)òèåøýL?ço›­¥S·fd—/Ý²Ñ¶0ä<9gJOî4[Ñ¼!„f‡åËn°å•õô­o¼E¬×wrZÛcvI
' ¥ˆÎä-õý±ëTïÊÀ[!òø±"$«Je¥Ü6�ùÚ˜ÁV¬F„
ô;œ/æ-ÿ
-8{ôð÷7Ï~Nz‡“]ÅÑûµ]‘â³¹©äO9i�m4ÒyÚ_jþ%³ÓZ…ÊQ=ˆôéEû¨(¬wDó"P´û
Wð²_�'|¦)gãÑ.Í…ëöpÏŒn¢ƒJ‰XE�—åœÐènr{ßd!B­ow?úÖ7âä¾Op~f£Éþ±j½y›óÖ›k§)œÏÓU'0Ë˜ŸýÁõ†=¯«R¾Ñ?Ë�…¢×[[ß÷$yò™Ò¥ÃÜ¤¡½÷¥õ9”NJt¤|A¬&­†ðR÷C¡‰A‡[˜²—ÝG
’]'‹Ûc+na?æ·½—ÇØ¿â?D):9ýkÌðÞ>=ž§à!?Êïžx®ÇÍLšœ•v)Ý¬Ô	O.~TùŠ’îœ:Ò%ÜN÷×‚�`!ˆ5z­
-^ærýÁ…æüîì…û+ØSlÙIn�ØuøE}{|{Û>‹³¼îîO|ºYŒ6S‘+lˆ
-SZ_Üaq½à[ù_€“†ºD˜�?½�>9ÅÌí×1ò\=\‘Ãš·Æº½4p×Ñ[ØÓQƒGe«—¤"¹¥ÅÍ¢<šÀ[í)ÿºÛÉ­§²MÖOs«ÖSö6µO¿øÑ§ñii–ÙL“]yC¨^g½Ä›´ÆíéIãÊZ;dŸÃ{žÝàï2[;ÝKlM:~!Â°Õí¾óÜ‘Gê¶Û3Õ«¢¡+Ûïð'f#/õ7±ÕcV¾+«I¥ŽûEld;Íý¡üìº{v¹Åj$Ï�Eq3›ä´M.K_×ËÅàÉÙÆ8äXVÃØ§u+°õF­<{9_‘ 0âbûfè"A,Áƒ*QZÊ\¹ð?ø×ßÈòí“Äîs¶¤Í{‹âÕË0üH§»ØÜÛÖl©u0Ø_éÔÀ’î÷b(¾ÔKvÿY4ë;´®vùI§2Ûäkµ.*‡=WYÍevódÌ|å×÷öjw3}&,=†
endstream
endobj
96 0 obj
<</Filter/FlateDecode/Length 2263>>stream
-H‰„WIŽ$É
¼ç+âéåt§oW•sjô€‚–CÍ£þ? 3£GdVWÍ
T'¾p1é/¿¼/ß^óñ—¿¾·Ÿ¾áÏK¨,T/¯ÏÇÛ÷ÃŽãûÛo·—Ÿ!þûû-ùðÒRÉvýÿßÞþÅõÆõyÿÓ®ß±�‚ÖVZîõh–ú¬ýxûUgýz+=ÕÚðóýüy÷äÕ [Kk•ÏrY©ÌAENe�/çŽüøùù·Ûï·mÿþ{�ÿàÂ?Žö®žòðòÙÞ–úr™¿î6RîõIž)û<ZKlA�fÃ·’SnóxÃÚÕ!.9z*½IXcA�ŸJ×Þ¾ÒÅšÚªÎ.\ë©´~ðì*iŒ†µp?wƒ>­v˜%×5-µ±¦êëßOæïúÞS¯ã±{¤.›¯Ógê£\—Ã3¯å²âªõÉpøêÕ/¿ �.Ÿ!M~àÎ3\\”ëËKŒPcu(6húšÏ?¹kx{RàðS‰¯)Ë¨Ga†Lö÷.Z²ìò?w¬öd‹áB~€ ,£	e$S4`ÂT¬g2›tÈ[—8K9`Â´~!Áã¾PŒ†ï-UQ›þHMˆXnP´K±R+vmiÎòt6t»®öD¼žvÑ¹ñl6 1/§©{xÌô§€äTí¯|Å1_!~;Ëê*œRV³õE¡ãên‘¨øyÕ&+§}­ ”[³¯ðÑyìøA¾x!?ýþd1�õ@;¶�î“ï&pwªRvï±Cè|.Vdº!ªj$
’XÁ—…lùPJëP…rÑÆ$[Uä¶Šg¢ùeV*)aËMâ°ª# à†N0Âb²ÚÚÒZ%�ò0ZGM†ÔLú¸«‘òª[Î¸c‚ï˜Ïp!±… °rà"’Ií°ÀA	ªc!½ÝêL^(;¨‚Èë çÒ�GÒWòÅaìäÙ÷1eD©tÈza-Ä²ä)‘a’
-(>\�=†KhxÃÝ¸ëÎ,$ß%´Bôër�Ðä¥¸5]EÏ\f³
-gVŸöØ„@1æ°z±Ö[	kä7d}¡°�}k(�i«â]žvï€Bá
-Ø…fjv�X\;ùêS÷
-ŸpÍº6äLß¸¸@$pÞJ“¢7÷pí1fL	™Ã•ÂÕ…½a
-Å,[†©Maˆ9Ã2’mW ‘ì¦Bb¸´#35LÏsðu…!­(Š…¢#£¥ä4$7 V¸kt·Ñ(ãÏzB¦°¥�[òq¬¶W#ôb$D�MËó£‘} ¢–ó4Š"*ƒE�™¢
‡“2a)6fÉ¸[nzÉçÈ2X¬ñ~À c™	±
-pvøÉ¶$o†0ƒ	³jœ¦BEqfÑfägVßŠ¦ïãüNI…E)k5POÎ§£àÀ_:­AqÍ�;s"ìwH¦�ñôý³`¬Y¾œBžj¢wd•Î	ˆÎ &pÂÝ‰Ôªªö½©€4�œ&��Éâ
HV3RT	Sƒfš®à�-¯�{Ä,ŠÄ
-ñZU¯Å‡J&ô@M³•Pà›Š.(«è]-&K£êù
-5¡�:Å `jIÚ‚°ž+ØñhAõ©#ZÖŽm:ï-3ö`ò!’íØ4­µ XÆ¢'‡�¡l°�ŠïE`ôb®š¹O8ˆà’Õ¥K7ò l×=®vPÀ¥àÆÃ³šSit¿H‡4”6ðLç;ë·Š6GƒØ *¥bßd”&ŽCŠª]�ÀäÌ1qDbß*kù“\9à©+PCä²ÑÌªYd‘£ñ(.
-KSÑQQZälí mê?!–éš¾4fN”Â�Œ¸e1Ú~$¼}jÅl,$¶<?·bîs�Š&Û-¶î{”PÖ˜0À.÷)¶¦6q,ûÙ‹¬<¥@7*\Ñ7ÅK•-S„0`ð9¹³³N5sW/|4{Nžœªæ$ü*ÿ²¼öìÀ©¢jª€={Ôø£¸`´«—Êfú4¢t×HÆ
-îšá…‰*!³À\ññU‚¸€W3É
-äCçŠL$`°«|38Çyr#`\„"üvw bê{á\«j#yaÐ,d
-Z Ô®x��ªž5Z�F5SE2É1¨”`'£Â‘ôâAuŽlí#NØs…°
Ïb]c p]3ÄÄ"SŽï4mÐ¨qCt#o(ÜÆ9‡11Îkl%ÐÅÂvöÌ…ƒZ T_Õ¨@%"èØŽ©(³DÐ×Ø�_ùˆ‰Œ>v¼˜0ç€Œ¢'"Äªù:ÝøÀÁ˜Æ‡ÑÇÉ5³B4mã7ûvO29S¦õ\íœ¸ß
-0�ïOš¦qð:jb†ÕÀ×l‘#X0Ü
-œ0ªÚû¹a -÷y§rÿVÄ`xîvH­ûô-²qJðSñ~)Ð—d×÷ƒøXî$S{Rpv[×
,ƒxšsŠ—¹§b»³wŸÎîÓ¯èäG\ŠÞw[ŒìC¶p^bü}ß³|�9@
ç <yá`ÝNÂ^ÿaTã¨Šÿ.AˆÇíº¾Â˜¿¯­[ÌZ¿ñe‰Kµ�ÛÖ>4~ë�ÄÍ!æ½á+ã+Ëm`gÁ0Òçh?Z¿ìëÇú?æÏkïæOYó…õcý™ù_—$§tf4öz¾!]E ¥ƒ¶ßN€z<v.Àr81ˆã™fNú¥žÌ±×hå£LNn |š ýª×vu13gc8Áç™Ç3”=…n[Ú³—Ö&Ó±5ëJL²4É÷¬Ÿ‚ˆø±2€Šcê¨nÃ™Š€?Ã1z%C$Š:«ú•™#ÇËÃ%]å<P""|—òŠDO“Í²s!ŸxlÞ]h57gÔ‡Ê8„ûù»¨º÷²7ŽS`ÃÖ¹¥"F8×¢Õ ÷Ì¹I†±ú6Ó‘ñ!?}{=ðßÿâ§`
endstream
endobj
95 0 obj
<</Filter/FlateDecode/Length 2261>>stream
-H‰„WÉn,É
¼ë+ê:•ÌLærµ<˜ÓÃÀðÁ x9h¿ÿÌªn=õŒ! UdåÂ%d½þòv¼~{ËÇ_þúv¼üô
?¯¡²P½¾ý=ïß�œ–ágLÇo·AÅ¨Çñýý·—×Ÿ±æßß_ò‘�V<•l×ÿÿþóå_zÁ?­þý0	vXoiÍÚ·ÔJŸÇû¯ZúëKé©VÜt|œ�·–Z5Èæi­òU.+•9¨È©¬ñDqîÈ÷ÇÿÀ¸¿½üþ²íÞ¿·øÓÿq<Ú’Y­_íõÔW“¹ñt³‘r¯òL¹ÍÃÓh°Ä¤i:Þ•œ²ã0¬]¢¥<ŽžJw	k,H£óUA:V¼¥‹5ùªÎ.\ÛRñ~ðì*iÇZ¸Ÿ»AŸ–Ûu�'wˆ5Õ¶.ñ�ñdÞ®÷=õ:î»Gê²ù:}¦>Êu9<kµ\–A\µ>_[m—_‡N—Ï�f{pç..ÊõŠå%F¨±:4}ÍÇGîÍ8¼ÃTâkÊÂ<fÈdï2Á“å&ÿsÇê–l1\È„e4¡ŒdŠL˜ŠõP&jÞ%ÎR˜0­_ÈDð¸/ÃñÞSUpµÙî©	Ë
-¿+y±kóHs–‡³a`³ëê–fí—]tn<š
HÌË)Cêî3ý! 9U»Ç+_qÌWˆßÏ²ºNCžÝžÔ9nîyŠÇ«4Y8þE´‚tPfhÍž)à‚sßñƒ|ÑB~xþb0�íH´µâó»Å7¸9UQ¢¹·ŠÈ!pm.¸£òÝQy+¨õåD
-Þ,äª
%´Õ‡!>&¹ª"«ˆ¯UÄ7È.sRI[v‰ÃªŽ€‚:¡ˆD+èÙ¦#©U²�(£uÔdAÍ,ÜµHyÕ-gÜ1;ÖaÃ´�ÖBX9pâX*â	Aua,£÷—:‘bÊ
DAÜu�sq¤‘¤ÄU|i0vòìÛ˜2¢Ô
-2d5ƒ®bYò”‡H0)
”®ÇÃ%4Üq7îº1¹·†Z!úŒu¹ÆhòRÜ\×@Ñ3—€×ÌCÑXƒµ�M{lB sX½Xi†z-ˆ„9Ù
Y_(+dß¼2m•Ôg—†§ÝÐáFá
-Øƒfò;H+M;òÕ§î<ášumÈ™¾!pq�(à¼—¢£ °A{ŒOEÖàJáêÂÎ0b-ÃäSbÎ°ŒÔF[Àh?¤º©�.íÈL
Óóœ|]aˆ×E±Ptdt¡’Í…Ã
ˆîÝuZ…ç(§‚La7J·äãX¾W#ôâ#D�-ËÃx@î�ˆRÎÓ(Š¦ufŠ6NÂ„¥0Ø˜%ãn¹Ù|H,•ËYK%~À c™	Ñ8»üäZR7C˜ÁƒY5NS¡¢8³…h3òÃ�&®÷ã|OI…E)k5POÆ§£ Ào:­AqÍ�;s"ì7H¦�ñôý³`¬Y¾„<ÕBoÈ*;4œ�ALà„þº©U7Ô&ØwW7i 9.��Éâ
Hë#D•05h¡éZÙò
-¹GÌ¢H¬¯UõÚ¢øPÉ„¨iz	]PVÑ;]-&K£êù
-5¡�:Å˜`jHÚ‚°ž+ØïhAmSGxÖŽm:ï-3ö`î!’íØ2Í=–‡±èÉ!d(l¦â{½XSÍÜ&\&VT�F,›‘a»îij\
-n<ÐÙ›ŠÓý~ eÑPÚÀ3�ï¬ß*Ú2`ƒ¨”Š}“Qš8)Zh³+º�É‰câˆ(Ä¾ÑÄÝäÊñN]�"—�fV­È"‹�GqQX\EGEñÈÙÚ5@ÛÔB,+Ò5ÛÒ�18O
-#ht+0LàN~JøþDxÿÒ‰�¡ã�ì‘ê½s_Óà¡hò°Ýbë¾G	e�	ìr‘b«aª‹cÙ7È^då)ºQáŠ¾)FXªŒh™ª¸è „ƒÏÁ…˜�uª™7õÂ{³çÜÉ9 j@Â¯¡ò—åµgNUSìÙ£ÆÅe%—aŸF”Þ4�±‚»&8§0Q%äoaXƒ">~“ .àÕL²ù�Ã¹"	ë*¿‡yr#`\„"üvw bê}áT«j#yaÌ,d
-Z Ô®x��ª>j´Mj¦Šd:É1¨”`'£Â�ôâA:ï{`kŸaÂ–+˜˜ë(–5æ�¦[†ˆX¼cJñ�–
Ú”#l ÏHêÖ9æ0$Æq�]¡¸X×�-³Eá €ê­úX¡D¶c(Ê¬£Å…mÍø}ìp1_�ãmŠ¾‡ Íó0tÒ;ŽéÈMöO¨È,ÍÚxfÛŽÚÉ&GÊ´îBS7'ì·„Æ/Î��k¼Žš€¡æµ¸f‹œð@ò@áVà„QÕÝÏ
i¡¸Ï;Å¸�û·"æÂs÷À¬CfÝ§o‘ÝˆCB;—�qInšá~ïË¹ÔÝÖu«Ä žæœâeî©ØîìÝ§³ûô+:ù—¢�»-Fö![8¯1~?¶ÄìÅÏq�3§&�
î0Àº�Ä½þ-ò‰þ]‚Ÿ¶ëzcþ¾¶n1ke<ãÍ—j·­}h<ë;‰›CÌ{Ã3ë1¼‚É`}á¨X@?X¿ì‰õcýóçµw‹wó§¬ybýXfþóšäÐ„ðá¦ó²©ƒ tÐÁâ÷ýÄg‹O�¯
p¤~‘hæ¤WêHnê4FùI'µ
°	^M�~Õ·vuñ2'c¸À�³¡ h}.plÛÂÐž½´ºLÇÖ¬+1Çv°$¿fÛ)`ŽM\+§8¦ŽzÁ6œ¹ƒ˜ø3£Sb¥šÔ‚'þ©éñ‹2³ÿs¶Ì1YÒS%Â�RÞ°‚æ)`¬Yv.ä÷;wAÌÞô¡¢%:ÜÎç¢ÚÞËÞ7Ž8Àûæ–Šøà\‹fTƒÜ3‡&ÆÚ¿ÛLGÆ'ÿúövàßÿC 
endstream
endobj
94 0 obj
<</Filter/FlateDecode/Length 1994>>stream
-H‰Œ—ÍnÉ
…÷ý½L·]¬ÿÚŽâdå†ä„™�<ÀÄ‹¼~¾Cvß+ö$ ‰ÕU,ò�<d½ûÛÓþîÃSÚúÓÓ¾½{ú”ö—/{:ö//¿nïþÂâ?¿lv´¼§ÃRÞk.GŸüiGZkÿ÷ÏÛ/Ûo[ò…|þ¾Å¾ýcÿ54?}:õÚ¾zúëVs?†ÍS©°5öë/G?mï?È®°ÒÂÊ�ÿã®t,Cç˜�ßÝ¿×(áÌoÜd«‡YÏ»õt¤†/Ÿ7}ú¼Ýƒ*ÿÞò!—kïúw
6eì/Û­ò×ör¤´¸ý°Ñ÷vÔQµ¯±¥“+_6ÃÅYën6Ž’óþÊÊ<J*»eå˜ä
-ˆ†Å\lÖ\9T°_¬®cqÎrˆ#m†,Í’Ç\:ÀJ®±cÎé;lÄŽÅ—“¾áÓÍcí9µ£<™Ç@ýè8QË11,cïr¾`hÉ,TÔµ(¬î¹W~+Shòµ
ÇÁj`0Ê�die¿k`’…ÂbfëH%N:byV§rGÓ@è›¹f¤Mpu”´8N#€l£Å–‚ûØYê9+˜–9ëgì¨•=0M÷¤�ï(©Æžý6±cÊŽä�rd’i¥ùŠ’ôÖuAÊrãoXÜÉ“»Sà
-‘Õ‹ÛaÉÈ�v,1Ög×�Ä/SündÜ¬±0÷A”Ã€)ÿÚ2Žj™ÍJÒÎJ=Z{¡¢ê™TD²RI-Œ)™ß1“V½�‹ÙMYµìx›Ik÷ÖS‰Ä¨)L©˜NÄrŸ¾}`b‘ä‰	Nd…Sj›;g§Ü.™ÏUº¥º(”$Ù2sä'�Ü
-’%9°öÊ×†ŸIU í,”¥ï2œ¤¤Ê¡+üT%™0'g×¹@
-Á×çµHX;Æš®»,ÙM²5ë�!»…¿Ç';¤ˆ£ôKŽøŒ~~TÄy
-¾y–rŠž/EˆW÷ào59ò³L15¨ê•1‘`¬´ÕÜÚIyÁmX­üMÍ¬µåòìAFýchCo`Ó†ŸJa�ËPZó‚¤Î²iG'žä¤®Ç†uÉe^òô¤'ÝT¡Z‰u´·b³uŠQWF$D9å4BuÚ_�öXðLdaô{Ñ+©Í„ÀYãŠ¾ÄåEˆIY …âÅ%'ªÓ X^[Ð§
-AÉÀ˜›L¨J4ÝL-ø™EŽ•}Éò%;M*YJÊÃÝwV�õO1ö6ð†ºÈ9˜ôFñ¯é¡Á<ìŠß‰]"vªV8"ŸC¼„kÎä¼ãÛEÌÁ¨a/¨ÃÄ˜h/òª!²Ü=°¬åËÀîZ¼‹H¨Q1þ%ãHo²ÇWãL ÙT`pïXuHJ@RªŸ€À§/¤l¾ÁVÐYVe½"~ÉÓ*Ê#9Óæ¼Æ`°¤ß”£õ¿0*|üª
+<ê€Ð;7=Ú°Î
µá‡²
¶ø=õJ€)�LŒ]¹:BÞÃÖî-‡…®VâqdIöè¦­Ð“‚¯LL³"ûj€¿ÎÕ²Úéptz9¬!`øÐ÷ût€oÇâ‰f
(&sÊï€B‚–¼~;›´4b6YUÎêºž!LÍ«
-Xêt°eÇ0�¦¦x§Mçˆ©°'–�–”ñ"�åd'�¥º'uÕTXÐRÛ³£ÏáD¦ò¥2F€² Ëà•Í„�5¾¹;…CkŠ]‰ÉæHuøôÇ°åò#84ª•ò½Q-9ÏzŽ¤Ê,/SÝã±Õ(â&¸#â,V4Bs%K–G¤w�ø*/ 3ùjIÁ+ÔMUØƒˆúìÑŸ¦šðL¤�©�	Msú:ƒå[9Ñâ8ñìWòBÉ¬PÚô šƒß¼Q'%á‡¥„ÖÌJ¬.fa²(ru*·å’Šû*§,.^7×¬ËÀwª™ÉëýºàÕEÔ±ïïš•Æý@oÎr—¶KŒÛtþ\àÍMçi†ÅÞu:´Ÿ¢ZeIj�¯�Íª¯Š±ZÄ7Ò}s¥ö·Ãgâë:ÍäßeÌ%Þ�½NgÎÓ—«§ö;6é�JöìúSÉ)\W„¿_O)*Þf¯)Ó;Í¾}Ô¨A¥å�ïd°¸gHRæ‹à„MU—‡füY—ä<èóÊõ¶ëÖïgO1ùÎø¿úr�ÓÓÁ.­!xúxéb:O|/ÁÕÕ©çL*6=2¾5|Ç|ûÖúòµõã~ôÖ·¥í×¹vþÿÖø´NãÛ×±HŠÅÿùê¬šb:›"¬G_a¾½�ýí‘å´n«]yÞ4þ–x{.ènR»„ëòI¹¦slMzð>£¡€3Ýƒ�]44ºéXóF®Fª¡…�Ð´^¬ÀÑõ´Ð³4þ¯|Ssˆ�0¥›éñ<(ÉŠP×Ÿ‚^)öØþ ¥°ÿõý÷%=r¿ýˆ
¥n,Í&´uU¼iK�V ¬¦à‘Ÿ F“ô§ÃE.HÏµ¯ûƒ“‡
-1%`<ûÄ,ŒÆQ»·IüÕ\`2$6¾8jEƒ•7ˆK²˜Åc+d¾|*ªX7KƒÓZ#þº
|Ü~zÞ~/ËÞ=?–ç_Ø…Ï/z�èŸÿ(¶eŒ õ¹ÿˆ"šiZa‚ËpíóçíÏÿóŸÿµ½ÞÞxÚ·ÿ
-0ÌóxG
endstream
endobj
88 0 obj
<</Filter/FlateDecode/Length 682>>stream
-H‰ÌTËnSAÝÏWx	‹ëØ3ž×¶¡ !Tõ"ÖUHA¥-´E­ø{Žï¤!P±GQî<lŸãç¬Þ¯iu²:zµ¦p|‚Ïj\é¸º
B3ÇÝwËÝ6|¤›°ZŸ	­ÏH¸+>µe|‹V¿¨‰èlý.4z$¥Küßü
>ß‡[?¥$™[—B±‹$£ÍupÑu˜’±‚R�ÞÁbÍ4%å¢Ÿa*�äLÄ�wã.
Ô’’K5	Ì!ˆ,±Æ”K*@Í€æÌ7Â¹`ÑV9ó³ds…¨•«5R¶¢@J‰¥Gß°ÊÐ0Ðc;ež A~$5Š•M” !@­JEØÔYjá(™@f÷4eÎ¹RÇj›ð‰ÂÐ: Kd…ã*`ÉCêP!rõØ¸äF­ÃÕJ¸6¥
-N¤!vöÜ¦Î–Ú#fÒ²¤rwšT9ƒïÁÅAyë…ÀTSõ˜€’<–ž¸‚tÉeï�®ÂY8õ6ø=ªI÷››ÃâFå¦6j›�¸¯­ TÃË‰b4š‚²±”§ÓÆ‹ˆlê^Çjß›Ž“,zËÖï½ÒÃè«ìÐ|ã(;Y@.Êoß+êÚRX<h°½ïšçê<Ú8"Ù#¿MµÇlˆ;»šuok•³¹ëÒ9÷g–MRÜ?·,ÚâÁ4 8Ù3¥ê3f;[£:P¸­9‘‚©iOÔ‹/Ø^=m'tIkS¦=¿på)–š—ý_qvõ™Ggzãü1»ÿ}Q8–‚a«öxè»Ï4ã*tV”S_ôy™÷þÒXµƒöž`èÆX†ái8šÇ‹‰Qù×‹éóóôH®æÙiæ‹€‡ÌhÞQjkƒ¿s«5ú³R²‘Š'%Ñ|^Ì_¶ôáû§ó[z}w~½}üv÷õå|ŽçñÆÿ`šÉ,€
endstream
endobj
5 0 obj
<</Intent 22 0 R/Name(Capa 1)/Type/OCG/Usage 23 0 R>>
endobj
46 0 obj
<</Intent 59 0 R/Name(Capa 2)/Type/OCG/Usage 60 0 R>>
endobj
47 0 obj
<</Intent 61 0 R/Name(Capa 1)/Type/OCG/Usage 62 0 R>>
endobj
61 0 obj
[/View/Design]
endobj
62 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>>
endobj
59 0 obj
[/View/Design]
endobj
60 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>>
endobj
22 0 obj
[/View/Design]
endobj
23 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 16.0)/Subtype/Artwork>>>>
endobj
87 0 obj
[86 0 R 85 0 R]
endobj
123 0 obj
<</CreationDate(D:20160217131510-06'00')/Creator(Adobe Illustrator CS6 \(Macintosh\))/ModDate(D:20160217132237-06'00')/Producer(Adobe PDF library 10.01)/Title(Imprimir)>>
endobj
xref
0 124
0000000004 65535 f
-0000000016 00000 n
-0000000201 00000 n
-0000057896 00000 n
-0000000006 00000 f
-0001354122 00000 n
-0000000012 00000 f
-0000057973 00000 n
-0000058384 00000 n
-0000058787 00000 n
-0000059136 00000 n
-0000059497 00000 n
-0000000013 00000 f
-0000000014 00000 f
-0000000015 00000 f
-0000000016 00000 f
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000024 00000 f
-0001354563 00000 n
-0001354594 00000 n
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000030 00000 f
-0000000031 00000 f
-0000000032 00000 f
-0000000033 00000 f
-0000000034 00000 f
-0000000035 00000 f
-0000000036 00000 f
-0000000037 00000 f
-0000000038 00000 f
-0000000039 00000 f
-0000000040 00000 f
-0000000041 00000 f
-0000000042 00000 f
-0000000043 00000 f
-0000000044 00000 f
-0000000045 00000 f
-0000000000 00000 f
-0001354191 00000 n
-0001354261 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0001354447 00000 n
-0001354478 00000 n
-0001354331 00000 n
-0001354362 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000061942 00000 n
-0000062012 00000 n
-0001354679 00000 n
-0001353371 00000 n
-0000572212 00000 n
-0000078573 00000 n
-0000078609 00000 n
-0000078460 00000 n
-0000062318 00000 n
-0001351307 00000 n
-0001348976 00000 n
-0001346643 00000 n
-0000059915 00000 n
-0000062202 00000 n
-0000062233 00000 n
-0000062084 00000 n
-0000062116 00000 n
-0000062691 00000 n
-0000062968 00000 n
-0000079542 00000 n
-0000078797 00000 n
-0000078834 00000 n
-0000079423 00000 n
-0000572287 00000 n
-0000572723 00000 n
-0000573885 00000 n
-0000586268 00000 n
-0000651857 00000 n
-0000717446 00000 n
-0000783035 00000 n
-0000821931 00000 n
-0000887520 00000 n
-0000953109 00000 n
-0001018698 00000 n
-0001084287 00000 n
-0001149876 00000 n
-0001215465 00000 n
-0001281054 00000 n
-0001354711 00000 n
-trailer
<</Size 124/Root 1 0 R/Info 123 0 R/ID[<A38619CE6E2743F9A51A97076EDFE809><3350E1A5544F4739B9A51197088616FE>]>>
startxref
1354899
%%EOF
\ No newline at end of file
diff --git a/docs/images/avatar.JPG b/docs/images/avatar.JPG
deleted file mode 100644
index eb49e95f94..0000000000
Binary files a/docs/images/avatar.JPG and /dev/null differ
diff --git a/docs/images/banner_readme.JPG b/docs/images/banner_readme.JPG
deleted file mode 100644
index f5898fdf17..0000000000
Binary files a/docs/images/banner_readme.JPG and /dev/null differ
diff --git a/docs/images/banner_readme.SVG b/docs/images/banner_readme.SVG
deleted file mode 100644
index 5d3afa89b0..0000000000
--- a/docs/images/banner_readme.SVG
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Creator: CorelDRAW X6 -->
-<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="5.90556in" height="5.90556in" version="1.1" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd"
-viewBox="0 0 5906 5906"
- xmlns:xlink="http://www.w3.org/1999/xlink">
- <defs>
-  <font id="FontID0" horiz-adv-x="666" font-variant="normal" style="fill-rule:nonzero" font-style="normal" font-weight="400">
-	<font-face 
-		font-family="Arial">
-	</font-face>
-   <missing-glyph><path d="M0 0z"/></missing-glyph>
-   <glyph unicode="w" horiz-adv-x="722"><path d="M159.337 0l-156.841 518.995 92.0111 0 82.8271 -299.492 29.3346 -111.506c1.16939,5.50469 10.168,41.1711 26.8247,106.999l82.1711 303.999 90.1714 0 78.1638 -301.332 25.4984 -98.8278 29.8337 100.168 89.6723 299.991 85.4939 0 -162.83 -518.995 -90.9985 0 -82.3422 310.502 -20.8209 88.8309 -105.003 -399.333 -93.1662 0z"/></glyph>
-   <glyph unicode="U" horiz-adv-x="722"><path d="M546.006 715.995l94.9916 0 0 -413.494c0,-72.0031 -8.15721,-129.175 -24.329,-171.501 -16.3287,-42.1694 -45.6633,-76.6664 -88.0038,-103.163 -42.4974,-26.5109 -98.0006,-39.8306 -166.995,-39.8306 -66.8406,0 -121.674,11.4943 -164.171,34.6539 -42.6685,23.1739 -73.0013,56.5015 -91.1697,100.339 -18.1683,43.8379 -27.3238,103.662 -27.3238,179.501l0 413.494 94.9916 0 0 -413.322c0,-62.1773 5.83269,-108.169 17.3412,-137.503 11.4943,-29.5057 31.16,-52.3374 59.3252,-68.1669 28.0083,-16.0007 62.3342,-24.001 102.835,-24.001 69.3363,0 118.836,15.8296 148.341,47.3318 29.4915,31.6734 44.1659,92.3391 44.1659,182.339l0 413.322z"/></glyph>
-   <glyph unicode="t" horiz-adv-x="277"><path d="M256.995 78.506l12.0076 -77.6789c-24.6713,-5.16243 -46.8327,-7.82921 -66.1704,-7.82921 -31.8302,0 -56.5015,5.00556 -74.1707,15.1736 -17.4981,10.168 -29.8337,23.3308 -36.9927,39.8306 -7.17321,16.4998 -10.6671,51.168 -10.6671,104.004l0 298.993 -65.001 0 0 67.9958 65.001 0 0 128.333 88.0038 52.8365 0 -181.17 87.9895 0 0 -67.9958 -87.9895 0 0 -303.999c0,-25.1704 1.49739,-41.328 4.6633,-48.5012 2.99478,-7.17321 8.00034,-12.8348 15.0024,-17.1701 7.00208,-4.16417 16.9989,-6.33182 29.9906,-6.33182 9.66886,0 22.5036,1.16939 38.3332,3.50817z"/></glyph>
-   <glyph unicode="k" horiz-adv-x="500"><path d="M66.3273 0l0 715.995 88.0038 0 0 -407.832 208.009 210.833 113.659 0 -197.998 -192.835 218.006 -326.16 -108.34 0 -172.328 265.166 -61.008 -59.3394 0 -205.827 -88.0038 0z"/></glyph>
-   <glyph unicode="F" horiz-adv-x="610"><path d="M81.9999 0l0 715.995 483.001 0 0 -83.9965 -387.995 0 0 -222.997 336 0 0 -83.9965 -336 0 0 -325.005 -95.0058 0z"/></glyph>
-   <glyph unicode="h" horiz-adv-x="556"><path d="M65.9993 0l0 715.995 88.0038 0 0 -257.665c40.8288,47.8309 92.3248,71.6751 154.659,71.6751 38.1763,0 71.3328,-7.50121 99.6691,-22.6748 28.1652,-15.1593 48.3301,-35.9944 60.5088,-62.6622 12.1645,-26.6678 18.1541,-65.5001 18.1541,-116.169l0 -328.499 -87.9895 0 0 328.171c0,43.8236 -9.49773,75.825 -28.3363,95.833 -18.9955,19.9937 -45.6633,29.9906 -80.3314,29.9906 -25.8407,0 -50.1697,-6.65982 -73.0013,-20.1649 -22.8316,-13.4908 -39.0035,-31.8302 -48.8292,-54.9899 -9.66886,-23.0028 -14.5033,-54.833 -14.5033,-95.505l0 -283.335 -88.0038 0z"/></glyph>
-   <glyph unicode="e" horiz-adv-x="556"><path d="M419.997 167.993l90.9985 -11.9934c-14.161,-52.8365 -40.6577,-93.9933 -79.3332,-123.171 -38.6612,-29.1635 -87.9895,-43.8236 -148.156,-43.8236 -75.6681,0 -135.678,23.3308 -180.001,69.9923 -44.337,46.5047 -66.4984,112.005 -66.4984,196.172 0,86.9912 22.3325,154.659 67.1544,202.661 44.8361,48.1732 103.006,72.1742 174.51,72.1742 69.1652,0 125.667,-23.5019 169.49,-70.6768 43.8379,-47.1607 65.8424,-113.488 65.8424,-198.996 0,-5.16243 -0.17113,-12.9916 -0.49913,-23.3308l-386.512 0c3.33704,-56.8295 19.3377,-100.496 48.3443,-130.672 28.8355,-30.1617 65.001,-45.3353 108.169,-45.3353 32.1582,0 59.6674,8.49947 82.3279,25.5127 22.8316,16.9989 40.8288,44.1659 54.1627,81.4866zm-287.998 141.011l288.996 0c-3.82191,43.6668 -14.9882,76.3241 -33.1565,98.1575 -27.8372,33.841 -64.1739,50.84 -108.668,50.84 -40.344,0 -74.1707,-13.505 -101.666,-40.5008 -27.3381,-26.9958 -42.5116,-63.1613 -45.5064,-108.497z"/></glyph>
-   <glyph unicode="T" horiz-adv-x="610"><path d="M259.006 0l0 631.999 -236.003 0 0 83.9965 566.998 0 0 -83.9965 -236.003 0 0 -631.999 -94.9916 0z"/></glyph>
-   <glyph unicode="p" horiz-adv-x="556"><path d="M65.9993 -198.996l0 717.992 80.0034 0 0 -68.1669c18.8243,26.3398 40.1586,46.1767 64.0027,59.3394 23.6588,13.1628 52.4942,19.8369 86.321,19.8369 44.337,0 83.3405,-11.3374 117.167,-34.169 33.841,-22.6748 59.3394,-54.833 76.6664,-96.1752 17.1701,-41.4991 25.8407,-86.8344 25.8407,-136.334 0,-52.8222 -9.49773,-100.496 -28.5075,-142.994 -18.9955,-42.3262 -46.6615,-74.8267 -82.9982,-97.5015 -36.1655,-22.5036 -74.3276,-33.8268 -114.329,-33.8268 -29.3346,0 -55.6601,6.16069 -78.834,18.4963 -23.3308,12.3356 -42.3262,27.8372 -57.3287,46.6615l0 -253.159 -88.0038 0zm80.0034 455.335c0,-66.5126 13.4908,-115.67 40.3297,-147.5 26.9958,-31.8445 59.6674,-47.8452 98.0006,-47.8452 39.0035,0 72.3311,16.4998 99.9971,49.4994 27.8372,33.0139 41.6702,84.0107 41.6702,153.176 0,65.9993 -13.505,115.328 -40.672,148.17 -27.1669,32.8285 -59.4963,49.1572 -97.1592,49.1572 -37.3349,0 -70.3346,-17.4981 -98.9989,-52.3231 -28.8355,-35.0104 -43.1676,-85.6792 -43.1676,-152.335z"/></glyph>
-   <glyph unicode="m" horiz-adv-x="833"><path d="M65.9993 0l0 518.995 79.0052 0 0 -73.3293c16.1576,25.3273 37.8341,45.8344 64.8299,61.1648 26.9958,15.5016 57.6709,23.1739 92.1679,23.1739 38.3332,0 69.8354,-8.00034 94.3356,-23.8442 24.5002,-16.0007 41.8271,-38.1621 51.824,-66.8264 41.3422,60.4946 94.8347,90.6705 160.834,90.6705 51.6671,0 91.4977,-14.1753 119.178,-42.6685 27.8229,-28.5075 41.8271,-72.3311 41.8271,-131.499l0 -355.837 -88.0038 0 0 326.674c0,34.9961 -2.99478,60.3234 -8.6706,75.825 -5.66156,15.5016 -15.9864,27.8372 -31.16,37.3349 -15.0024,9.49773 -32.6716,14.161 -52.8365,14.161 -36.6647,0 -66.9975,-12.1645 -91.1697,-36.3224 -24.1579,-24.3433 -36.1655,-63.1756 -36.1655,-116.511l0 -301.161 -87.9895 0 0 336.827c0,39.0035 -7.17321,68.338 -21.5054,87.8326 -14.3322,19.5089 -37.8341,29.3346 -70.3346,29.3346 -24.6713,0 -47.5029,-6.48869 -68.4949,-19.4946 -21.0062,-13.0059 -36.1655,-32.0014 -45.6775,-57.1718 -9.3266,-24.9993 -13.9899,-61.1648 -13.9899,-108.325l0 -269.003 -88.0038 0z"/></glyph>
-   <glyph unicode="d" horiz-adv-x="556"><path d="M401.001 0l0 65.8281c-32.8285,-51.168 -81.1728,-76.8233 -145.004,-76.8233 -41.328,0 -79.3332,11.3231 -113.83,34.1548 -34.6681,22.6748 -61.4928,54.505 -80.6594,95.177 -19.0097,40.8288 -28.5075,87.6615 -28.5075,140.669 0,51.6671 8.6706,98.4998 25.8407,140.655 17.3269,42.0125 43.1534,74.3419 77.6646,96.6744 34.3259,22.5036 73.0013,33.6699 115.499,33.6699 31.3311,0 59.1683,-6.67408 83.4973,-19.8369 24.329,-13.1628 44.1659,-30.504 59.4963,-51.6671l0 257.494 88.0038 0 0 -715.995 -81.9999 0zm-278.001 258.835c0,-66.3415 14.0042,-115.841 42.1694,-148.669 27.9941,-32.8285 61.1648,-49.1714 99.3269,-49.1714 38.5043,0 71.176,15.6727 98.1718,47.0038 26.8389,31.3311 40.3297,79.1763 40.3297,143.507 0,70.6626 -13.6619,122.658 -41.1711,155.828 -27.3238,33.1708 -61.1648,49.6706 -101.323,49.6706 -39.1746,0 -71.832,-15.8438 -98.1718,-47.6741 -26.1687,-31.8302 -39.3315,-81.9999 -39.3315,-150.495z"/></glyph>
-   <glyph unicode=" " horiz-adv-x="277"></glyph>
-   <glyph unicode="r" horiz-adv-x="333"><path d="M65.001 0l0 518.995 79.0052 0 0 -79.49c20.1649,36.8215 38.8323,61.1648 55.9881,72.8302 17.1701,11.8365 36.0087,17.6692 56.5015,17.6692 29.6768,0 59.8386,-9.34086 90.4994,-27.8372l-31.3311 -81.1728c-21.3342,12.0076 -42.6685,18.0115 -64.0027,18.0115 -19.1666,0 -36.3224,-5.83269 -51.496,-17.3412 -15.1593,-11.4943 -25.9975,-27.4949 -32.5005,-48.0021 -9.82573,-31.16 -14.6602,-65.329 -14.6602,-102.493l0 -271.17 -88.0038 0z"/></glyph>
-   <glyph unicode="a" horiz-adv-x="556"><path d="M404.994 65.001c-32.6574,-27.8372 -64.1596,-47.3318 -94.3213,-58.8403 -30.176,-11.4943 -62.5053,-17.1558 -97.1735,-17.1558 -57.0007,0 -100.839,13.833 -131.499,41.656 -30.6608,27.6661 -46.0055,63.1756 -46.0055,106.343 0,25.3273 5.83269,48.5012 17.3412,69.4932 11.6654,21.0062 26.8247,37.6629 45.4921,50.3408 18.8386,12.6636 39.8448,22.3325 63.3325,28.8355 17.3412,4.49217 43.5099,8.82747 78.3349,13.1628 71.0048,8.32834 123.499,18.4963 156.998,30.1617 0.342261,12.0076 0.513391,19.6657 0.513391,22.8316 0,35.6664 -8.3426,60.8368 -24.9993,75.497 -22.5036,19.8369 -56.0024,29.6768 -100.339,29.6768 -41.4991,0 -72.1742,-7.33008 -91.8399,-21.8334 -19.8226,-14.5033 -34.3259,-40.1728 -43.8236,-77.1655l-86.0072 11.9934c7.84347,36.8358 20.664,66.6695 38.6755,89.33 17.9972,22.6748 43.9948,40.0017 77.9926,52.3374 33.841,12.1645 73.3293,18.3395 118.009,18.3395 44.3228,0 80.4883,-5.17669 108.325,-15.6727 27.6661,-10.496 48.1732,-23.5019 61.1648,-39.3315 13.0059,-15.8296 22.1756,-35.8375 27.5092,-59.9954 2.82365,-15.0024 4.32104,-41.9982 4.32104,-80.8448l0 -116.654c0,-81.5008 1.83965,-133.011 5.50469,-154.844 3.50817,-21.8334 10.8383,-42.6685 21.5054,-62.6622l-92.0111 0c-8.82747,18.4963 -14.489,40.1728 -16.9989,65.001zm-6.98782 195.003c-32.0014,-13.0059 -80.0034,-24.001 -144.006,-32.9996 -36.3367,-5.17669 -62.0062,-11.0094 -76.9944,-17.4981 -15.0024,-6.50295 -26.5109,-16.0007 -34.6681,-28.3363 -8.17147,-12.5068 -12.3356,-26.3398 -12.3356,-41.6702 0,-23.1596 8.82747,-42.6685 26.6678,-58.17 17.8261,-15.5016 43.8236,-23.3308 77.9926,-23.3308 33.841,0 64.0027,7.33008 90.4994,22.1614 26.3398,14.6744 45.8344,34.8393 58.17,60.3377 9.49773,19.8369 14.161,49.0003 14.161,87.5046l0.513391 32.0014z"/></glyph>
-   <glyph unicode="o" horiz-adv-x="556"><path d="M32.9996 259.505c0,95.833 26.6678,166.824 80.1603,213 44.5081,38.3332 99.0131,57.4998 163.173,57.4998 71.1617,0 129.503,-23.345 174.838,-70.0066 45.1641,-46.5047 67.8246,-110.992 67.8246,-193.163 0,-66.6695 -9.99686,-119.007 -29.9906,-157.169 -20.008,-38.1621 -49.1714,-67.8389 -87.5046,-89.002 -38.1621,-21.1631 -80.0034,-31.6591 -125.168,-31.6591 -72.6591,0 -131.328,23.1596 -176.164,69.6643 -44.8361,46.4904 -67.1686,113.502 -67.1686,200.836zm90.0003 -0.17113c0,-66.3273 14.5033,-115.998 43.4956,-148.841 29.1777,-32.9996 65.6713,-49.4994 109.837,-49.4994 43.6668,0 80.0034,16.4998 109.167,49.6706 29.0066,33.1708 43.4956,83.6685 43.4956,151.507 0,63.9885 -14.6602,112.49 -43.8236,145.332 -29.1777,32.9996 -65.5001,49.4994 -108.839,49.4994 -44.1659,0 -80.6594,-16.3429 -109.837,-49.1714 -28.9923,-32.8285 -43.4956,-82.3279 -43.4956,-148.498z"/></glyph>
-  </font>
-  <style type="text/css">
-   <![CDATA[
-    @font-face { font-family:"Arial";src:url("#FontID0") format(svg)}
-    .str0 {stroke:#1D1C1D;stroke-width:111.11;stroke-linecap:round;stroke-linejoin:round}
-    .fil0 {fill:none;fill-rule:nonzero}
-    .fil2 {fill:#1D1D1D}
-    .fil1 {fill:#0E8CCC;fill-rule:nonzero}
-    .fnt0 {font-weight:normal;font-size:276.071;font-family:'Arial'}
-   ]]>
-  </style>
- </defs>
- <g id="Capa_x0020_1">
-  <metadata id="CorelCorpID_0Corel-Layer"/>
-  <g id="_401230640">
-   <g>
-    <path class="fil0 str0" d="M4248 1878c-474,27 -628,436 -628,436 -232,-475 -690,-436 -690,-436 -489,29 -649,441 -649,441 -196,-433 -635,-440 -635,-440 -422,-21 -635,320 -635,320 0,0 -133,-243 112,-701 245,-459 678,-834 1243,-973 565,-139 1020,-57 1252,25 232,82 709,255 1046,781 0,0 253,323 253,708 0,0 -2,75 -34,158"/>
-    <line class="fil0 str0" x1="4884" y1="2196" x2="2946" y2= "3850" />
-    <path class="fil1" d="M4470 1877c0,64 -52,117 -117,117 -64,0 -117,-52 -117,-117 0,-64 52,-117 117,-117 64,0 117,52 117,117z"/>
-    <line class="fil0 str0" x1="1011" y1="2199" x2="2936" y2= "3841" />
-    <line class="fil0 str0" x1="2281" y1="2319" x2="2942" y2= "3841" />
-    <line class="fil0 str0" x1="3621" y1="2314" x2="2946" y2= "3850" />
-    <polyline class="fil0 str0" points="2954,3853 3624,3853 3624,4934 2251,4934 2251,3853 2592,3853 "/>
-    <path class="fil1" d="M2664 3850c0,64 -52,117 -117,117 -64,0 -117,-52 -117,-117 0,-64 52,-117 117,-117 64,0 117,52 117,117z"/>
-    <polyline class="fil0 str0" points="3348,4687 3348,4093 3475,4220 "/>
-    <line class="fil0 str0" x1="3348" y1="4093" x2="3221" y2= "4221" />
-   </g>
-   <g transform="matrix(1.11076 0 0 1 -2430.06 2445.4)">
-    <text x="2953" y="2953"  class="fil2 fnt0">The Update Framework</text>
-   </g>
-  </g>
- </g>
-</svg>
diff --git a/docs/images/banner_readme.png b/docs/images/banner_readme.png
deleted file mode 100644
index 66ee8a17fe..0000000000
Binary files a/docs/images/banner_readme.png and /dev/null differ
diff --git a/docs/images/banner_website.JPG b/docs/images/banner_website.JPG
deleted file mode 100644
index 992b4c7ab0..0000000000
Binary files a/docs/images/banner_website.JPG and /dev/null differ
diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico
deleted file mode 100644
index a0e51a0bb7..0000000000
Binary files a/docs/images/favicon.ico and /dev/null differ
diff --git a/docs/images/favicon2.JPG b/docs/images/favicon2.JPG
deleted file mode 100644
index 15cd735aaa..0000000000
Binary files a/docs/images/favicon2.JPG and /dev/null differ
diff --git a/docs/images/favicon3.ico b/docs/images/favicon3.ico
deleted file mode 100644
index 43bd0ed664..0000000000
Binary files a/docs/images/favicon3.ico and /dev/null differ
diff --git a/docs/images/favicon4.ico b/docs/images/favicon4.ico
deleted file mode 100644
index bc4a1e7bcc..0000000000
Binary files a/docs/images/favicon4.ico and /dev/null differ
diff --git a/docs/images/repository_tool-diagram.png b/docs/images/repository_tool-diagram.png
deleted file mode 100644
index 6bfbdeb0b7..0000000000
Binary files a/docs/images/repository_tool-diagram.png and /dev/null differ
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 0000000000..d06b03b85a
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,6 @@
+---
+title: "Python-TUF development blog"
+---
+This is the development blog for the [Python-TUF](https://github.com/theupdateframework/python-tuf) project, welcome!
+If you want to learn how to use Python-TUF, check out our [developer documentation](https://theupdateframework.readthedocs.io/en/latest/).
+
diff --git a/docs/index.rst b/docs/index.rst
new file mode 100644
index 0000000000..6a5b50d9bd
--- /dev/null
+++ b/docs/index.rst
@@ -0,0 +1,20 @@
+Python-TUF |version| Developer Documentation
+=======================================================================
+
+This documentation provides essential information for those developing software
+with the `Python reference implementation of The Update Framework (TUF)
+<https://github.com/theupdateframework/python-tuf>`_.
+
+The reference implementation provides easy-to-use components for Python
+developers but also aims to be a readable guide and demonstration for those
+working on implementing TUF in their own languages, environments, or update
+systems.
+
+.. toctree::
+   :maxdepth: 1
+   :caption: Contents:
+
+   api/api-reference
+   INSTALLATION
+   Usage examples <https://github.com/theupdateframework/python-tuf/tree/develop/examples>
+   Contribute <CONTRIBUTING>
diff --git a/docs/latex/tuf-client-spec.pdf.old b/docs/latex/tuf-client-spec.pdf.old
deleted file mode 100644
index 4228832d12..0000000000
Binary files a/docs/latex/tuf-client-spec.pdf.old and /dev/null differ
diff --git a/docs/latex/tuf-client-spec.tex b/docs/latex/tuf-client-spec.tex
deleted file mode 100644
index 7acc33f0a4..0000000000
--- a/docs/latex/tuf-client-spec.tex
+++ /dev/null
@@ -1,423 +0,0 @@
-% tuf_client_spec.tex
-% This document has been deprecated.  We may later update and include it in
-% the supported documentation.
-\documentclass{article}
-\setlength\parindent{0pt}
-\usepackage{listings}
-\usepackage{hyperref}
-\usepackage{color}
-\usepackage{textcomp}
-\definecolor{listinggray}{gray}{0.9}
-\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
-\lstset{
-  backgroundcolor=\color{lbcolor},
-  tabsize=4,
-  rulecolor=,
-  language=matlab,
-  basicstyle=\scriptsize,
-  upquote=true,
-  aboveskip={1.5\baselineskip},
-  columns=fixed,
-  showstringspaces=false,
-  extendedchars=true,
-  breaklines=true,
-  prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
-  frame=single,
-  showtabs=false,
-  showspaces=false,
-  showstringspaces=false,
-  identifierstyle=\ttfamily,
-  keywordstyle=\color[rgb]{0,0,1},
-  commentstyle=\color[rgb]{0.133,0.545,0.133},
-  stringstyle=\color[rgb]{0.627,0.126,0.941},
-}
-
-\begin{document}
-
-%--------------------------------- Header --------------------------------------
-\title{Secure Update Framework Client Key Management and Trust Delegation}
-\author{Geremy Condra \and Justin Cappos}
-\maketitle
-%-------------------------------------------------------------------------------
-
-
-%--------------------------------- Intro ---------------------------------------
-\section{Introduction}
-\subsection{Scope}
-This document specifies the required trust delegation and key management routines
-for TUF clients.
-\subsection{Relationship to Other Documents}
-Much of the behavior specified in this document is partially laid out in the
-core TUF document. The system's behavior with regard to freeze and replay
-attacks is covered in the document entitled "Software Update Security Framework: 
-Client Library Replay and Freeze Attack Protection". The repository-side counterpart
-to this document contains a large amount of information on the response that
-subsystem will demonstrate in many of the same circumstances. 
-%-------------------------------------------------------------------------------
-
-%-------------------------------- Overview -------------------------------------
-\section{Overview}
-The Update Framework is a Python library designed to allow software developers to safely,
-securely, and easily update clients running their software. In particular, it
-focuses on the issues of timeliness of data, rapid recovery from a key compromise,
-and ensuring the authenticity and integrity of installed updates. This document
-describes the behavior the client must demonstrate in order to provide those
-properties.
-%-------------------------------------------------------------------------------
-%-------------------------------- Example --------------------------------------
-\section{Example}
-The examples used throughout both this and its companion repository-side document
-are designed to be easy to reproduce, both to verify TUFs behavior and to emulate
-it. The following subsections demonstrate how to set up a small but fully
-functional TUF system in which to do so.
-
-\subsection{Setting up the Repository}
-You'll need to run the following steps to set the stage:
-
-\begin{lstlisting}
-#! /bin/sh
-
-# create the relevant directories
-mkdir tufdemo
-cd tufdemo
-mkdir demorepo
-mkdir demoproject
-
-# add a file to the project
-echo "#! /usr/bin/env python" > demoproject/helloworld.py
-echo "print 'hello, world!'" >> demoproject/helloworld.py
-
-# run the quickstart script
-quickstart.py -t 1 -k keystore -l demorepo -r demoproject
-\end{lstlisting}
-
-This will prompt you for a password for your keystore and an expiration date.
-Choosing your expiration date is something of a balancing act: on the one hand,
-you want to make sure that all your clients have had a chance to update before
-your keys and metadata expire, but on the other hand you want to choose a short
-time so that keys you revoke expire quickly. A range of one to six weeks is likely
-to be reasonable for most applications.
-\\\\
-After running this and choosing an expiration date, you'll see that it has created 
-an encrypted keystore and a repository for you to use, and that the repository's 
-contents match those of the demo project we created.
-
-\subsection{Running the Server}
-To actually perform an update out of this, you'll need to run a web server through
-which the client can access the files. Fortunately, Python comes with an easy-to-use
-module to do this for you:
-
-\begin{lstlisting}
-cd demorepo
-python -m SimpleHTTPServer 8001
-\end{lstlisting}
-
-\subsection{Setting up the Client}
-TUF isn't designed as a replacement for package managers so it doesn't provide
-a mechanism with which to perform the initial installation of our demo project's
-metadata. To do that, open up another terminal and run the following:
-
-\begin{lstlisting}
-#! /bin/sh
-
-mkdir democlient
-cp -r demorepo/meta democlient/cur
-cp -r democlient/cur democlient/prev
-\end{lstlisting}
-
-
-Once we've installed our metadata, getting the software is a simple matter of 
-running the demonstration client, found with TUF's source at 
-examples/example\_client.py.
-%-------------------------------- Details --------------------------------------
-\section{Basic Client Behavior}
-When trying to update, the goal of the client is to efficiently obtain the most up-to-date
-legitimate version of the package. Doing that means three things: first, that 
-the client has to be able to get enough metadata from the repo to determine 
-which files to update, second that it has to be able to verify that metadata, 
-and third that it needs to be able to verify the files once it receives them. 
-\\\\
-To start with, TUF downloads the timestamp.txt file, which tells it the last 
-time an update was made. To verify it, we pull the last known good public key for
-the timestamp role out of our copy of root.txt. Assuming that the repo has updated
-since the last time we did, TUF will continue by downloading the release.txt 
-metadata file and, like timestamp.txt, verifying it against the release role key
-stored in our copy of root.txt. When combined with the timestamp metadata, the
-release file will allow us to determine if we're receiving the appropriate version 
-of the other metadata files.
-\\\\
-Since we now have enough verified data to ensure that we're getting the proper
-version of the rest of our metadata, we can go ahead and obtain and verify the 
-root.txt metadata file. As we've already seen, this stores metadata about both 
-other roles and their keys, and as we'll see later, this is also how we handle 
-key revocation.
-\\\\
-Assuming everything else has checked out, we can now download targets.txt, which 
-allows us to determine which target files (aka, non-metadata files) we will need
-to update. Since we have all the hashes of all the target files and know that
-those hashes are authentic, up-to-date, and valid, we can fetch the matching files
-and complete the update.
-\\\\
-If, at any point in the process, we cannot verify a file against its signature
-or if it hashes incorrectly, the update process will terminate with an error.
-This signature verification process is positive in that the existence of a
-threshold of signatures from the appropriate role is both necessary and sufficient
-for a signature to be valid.
-
-\section{Key Storage}
-As we've seen, the proper operation of a TUF client only depends on the ability to 
-verify that any results it obtains when polling the server or mirrors have been 
-signed by all of the necessary keys. Since this only requires the use of public 
-keys, client key management reduces to the task of properly associating roles 
-with their keys. In TUF, the mechanism for doing so is via its metadata files, and
-especially root.txt.
-
-\subsection{root.txt}
-This metadata file is responsible for storing all the trusted keys for TUF, 
-along with the key metadata needed to do routine key management. It must be 
-located at the base URL of the repository's metadata files and signed by the 
-root role's key.
-
-\subsubsection{Format}
-The format of root.txt is as follows:
-
-\begin{verbatim}
-     { "_type" : "Root",
-               "ts" : TIME,
-               "expires" : EXPIRES,
-               "keys" : {
-                   KEYID : KEY
-                   , ... },
-               "roles" : {
-                   ROLE : {
-                     "keyids" : [ KEYID, ... ] ,
-                     "threshold" : THRESHOLD }
-                   , ... }
-     }
-\end{verbatim}
-
-The format of each element in the above should be consistent with that described
-in the TUF specification sections 4.1, 4.2, and 4.3, which is to say that the
-TIME and EXPIRES values should be in "YYYY-MM-DD HH:MM:SS" format, KEYID is a
-64 character hexadecimal string, and THRESHOLD is a (normally small) integer.
-\\\\
-If the current date is past that specified in EXPIRES, the update process should
-end with an error. The same is true of all other metadata in TUF.
-\\\\
-The KEY value should be of the following format:
-
-\begin{verbatim}
-     { "keytype" : KEYTYPE,
-       "keyval" : KEYVAL }
-\end{verbatim}
-
-where KEYTYPE is a string signifying the encryption primitive (e.g., 'rsa') and
-KEYVAL is a canonical JSON mapping specifying the appropriate key parameters for
-that primitive.
-\\\\
-The ROLE value should be one of 'root', 'release', 'targets', 'timestamp', or
-'mirrors'.
-
-\subsubsection{Verification and Validation}
-In addition to validation of the format as specified above, the client library 
-is required to perform the following checks upon receiving an updated root.txt:
-
-\begin{enumerate}
-        \item Check the 'ts' field against the current time and date
-                to ensure that they do not replace this file with an older version.
-                This is to ensure that an attacker can't replay metadata from
-                before a compromised key was revoked.
-        \item Verify that each of the top level roles is correctly 
-                specified in the "roles" field, with the exception of the 
-                optional "mirrors" role.
-        \item Verify that each keyid matches its respective key and is unique.
-\end{enumerate}
-
-In addition to the above, the client library must also take care not to trust a root.txt past 
-its expiration time and to ensure that keys specified in it meet algorithm-specific
-standards of safety. \textbf{Clients must not be allowed trust or install an improperly signed root.txt.}
-Doing so would allow an attacker to forge arbitrary updates, effectively removing
-all of TUF's security properties.
-
-\section{Trust Delegation}
-Trust delegation (the process of a trusted user allowing another user to share
-some or all of their privileges) is built into TUF's trust model, particularly
-with respect to the Target role. The goal of this delegation mechanism is to
-make it possible for individual developers to be trusted on some portion of a
-project, but not the project as a whole. Note that since authorization is positive
-in TUF, if a valid signature for an update exists under any role with permission 
-over it that update will be accepted as valid.
-
-\subsection{targets.txt}
-The targets.txt file, signed by the target role's key, is responsible for providing
-the mechanism for trust delegation. It must be located at the repository's 
-metadata base URL and have the following format:
-
-\begin{verbatim}
-             { "_type" : "Targets",
-               "ts" : TIME,
-               "expires" : EXPIRES,
-               "targets" : TARGETS,
-               ("delegations" : DELEGATIONS)
-             }
-\end{verbatim}
-
-The TIME and EXPIRES fields are formatted as for the root.txt format. 
-\\\\
-The TARGETS value should be a list of elements in the following format:
-
-\begin{verbatim}
-             { TARGETPATH : {
-                   "length" : LENGTH,
-                   "hashes" : HASHES,
-                   ("custom" : { ... }) }
-               , ...
-             }
-\end{verbatim}
-
-Where LENGTH is an integer and HASHES is a list of the cryptographic hashes of
-the path's destination. The 'custom' field's contents are application-specific
-and have no impact on the delegation behavior.
-\\\\
-The DELEGATIONS part of the targets.txt file points to a list of items formatted
-like so:
-
-\begin{verbatim}
-             { "keys" : {
-                   KEYID : KEY,
-                   ... },
-               "roles" : {
-                   ROLE : {
-                     "keyids" : [ KEYID, ... ] ,
-                     "threshold" : THRESHOLD,
-                     "paths" : [ PATHPATTERN, ... ] }
-                   , ... }
-             }
-\end{verbatim}
-
-With the exception of PATHPATTERN, all the variables seen here are formatted
-identically to the variables of the same names in the previous listings. PATHPATTERN
-itself represents either a literal path in UNIX format or a path with ending with 
-a wildcard represented by '/**'.
-
-\subsection{Example}
-We can use the tools built into TUF to see how the above translates into a full 
-targets.txt. While in the demorepo/meta directory created by our first script, we can
-use signercli.py like this:
-\begin{lstlisting}
-cd ../..
-signercli.py delegate --keystore=keystore ROLE KEYID PATH
-\end{lstlisting}
-to modify our default targets.txt to add a delegated role named ROLE associated
-with KEYID that has permission to modify elements in PATH. Here's the (scrubbed)
-output:
-
-\begin{verbatim}
-{"signatures": [{
-                "keyid": KEYID, 
-                "method": "sha256-pkcs1", 
-                "sig": SIGNATURE
-                }], 
-         "signed": {
-                        "_type": "Targets", 
-                        "expires": EXPIRES, 
-                        "targets": {
-                                PATH: {
-                                        "hashes": {
-                                                "sha256": HASH}, 
-                                                "length": LENGTH}
-                        }, 
-                        "ts": EXPIRES}
-         "delegations": {
-                        "keys": {
-                                KEYID: {
-                                        "keytype": "rsa",
-                                         "keyval": {"e": E, "n": N}
-                                        }
-                                }, 
-                  "roles": {ROLE: {"keyids": [KEYID], 
-                                  "paths": [PATH], 
-                                  "threshold": 1}
-                  }
-         }
-}
-\end{verbatim}
-
-\subsection{Delegated Targets Metadata}
-Delegated targets metadata is stored in /targets/ROLE.txt, where ROLE is the
-name of the role to be delegated. This file must be signed by that role and
-be formatted identically to the top level targets.txt file. Hierarchically
-delegated trust is, appropriately, handled hierarchically- if DELEGATED\_ROLE
-delegates trust to ANOTHER\_ROLE, then the metadata file for ANOTHER\_ROLE can be
-found at /targets/DELEGATED\_ROLE/ANOTHER\_ROLE.txt. We can create a simple
-example with the following command:
-
-\begin{lstlisting}
-signercli.py maketargets \
---keystore=../keystore \
---parentdir=targets \
---keyid=KEYID \
---rolename=ROLE \
-TARGETS
-\end{lstlisting}
-
-And here's the result, stored at targets/ROLE.txt:
-
-\begin{verbatim}
-{
- "signatures": [
-  {
-   "keyid": KEYID, 
-   "method": "sha256-pkcs1", 
-   "sig": SIGNATURE
-  }
- ], 
- "signed": {
-  "_type": "Targets", 
-  "expires": EXPIRES, 
-  "targets": {
-   PATH: {
-    "hashes": {
-     "sha256": HASH
-    }, 
-    "length": LENGTH
-   }
-  }, 
-  "ts": TIMESTAMP
- }
-}
-\end{verbatim}
-
-\section{Key Revocation}
-Key revocation in TUF falls into one of three cases:
-
-\begin{enumerate}
-        \item Revocation of a delegated target key
-        \item Revocation of a non-root top level key
-        \item Revocation of a root key
-\end{enumerate}
-
-Revocation of a delegated target key is simple- the key in question is simply
-removed from the metadata files that delegated to it. Similarly, revoking or
-replacing a non-root top level key is just a matter of replacing it in root.txt
-with the new value. For example, suppose that a role ALICE delegates trust to
-another role EVE. ALICE can then revoke EVE's trust entirely by deleting the
-targets/ALICE/EVE.txt file and removing the DELEGATIONS data structure from
-either targets/ALICE.txt (if ALICE is a child of a toplevel role) or from her
-parent role otherwise. The next time an update is generated, EVE's trust will
-have been completely revoked. Replacing EVE's key can then be done by adding her
-like a new delegation.
-\\\\
-Revocation of the root key is only slightly more complex. Merely replacing it would 
-leave older clients unable to update, so the better way is to simply sign with 
-both the new key and the old key until you are confident that all the relevant clients 
-have updated. Once you've done that you can stop signing with the old key. 
-
-\section{Future Work}
-In the future, the format for keys may be opened to support OpenSSL-style keys.
-Support for skewed clocks may also be added as noted in the core TUF spec, since
-many clients seem to be operating under substantial clock drift. Support for
-automatically integrating TUF with other projects using distutils is also a
-potential future direction.
-%-------------------------------------------------------------------------------
-\end{document}
diff --git a/docs/latex/tuf-server-spec.pdf.old b/docs/latex/tuf-server-spec.pdf.old
deleted file mode 100644
index bdb4893857..0000000000
Binary files a/docs/latex/tuf-server-spec.pdf.old and /dev/null differ
diff --git a/docs/latex/tuf-server-spec.tex b/docs/latex/tuf-server-spec.tex
deleted file mode 100644
index 142cd0b020..0000000000
--- a/docs/latex/tuf-server-spec.tex
+++ /dev/null
@@ -1,215 +0,0 @@
-% tuf_server_spec.tex
-% This document has been deprecated.  We may later update and include it in
-% the supported documentation.
-\documentclass{article}
-\setlength\parindent{0pt}
-\usepackage{listings}
-\usepackage{hyperref}
-\usepackage{color}
-\usepackage{textcomp}
-\definecolor{listinggray}{gray}{0.9}
-\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
-\lstset{
-  backgroundcolor=\color{lbcolor},
-  tabsize=4,
-  rulecolor=,
-  language=matlab,
-  basicstyle=\scriptsize,
-  upquote=true,
-  aboveskip={1.5\baselineskip},
-  columns=fixed,
-  showstringspaces=false,
-  extendedchars=true,
-  breaklines=true,
-  prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
-  frame=single,
-  showtabs=false,
-  showspaces=false,
-  showstringspaces=false,
-  identifierstyle=\ttfamily,
-  keywordstyle=\color[rgb]{0,0,1},
-  commentstyle=\color[rgb]{0.133,0.545,0.133},
-  stringstyle=\color[rgb]{0.627,0.126,0.941},
-}
-
-\begin{document}
-
-%--------------------------------- Header --------------------------------------
-\title{Secure Update Framework Repository Key Management and Trust Delegation}
-\author{Justin Cappos \and Geremy Condra}
-\maketitle
-%-------------------------------------------------------------------------------
-
-
-%--------------------------------- Intro ---------------------------------------
-\section{Introduction}
-The goal of a TUF repository is to store a collection of targets (the updated files 
-to be served to the client) and a set of metadata with which the client can 
-ensure that the updates they receive are complete, timely, and authentic. Meeting
-those goals requires that the repository be able to leverage digital signatures,
-and so TUF provides a set of tools that helps manage the complexity of generating 
-metadata and improves the security posture of the repository. These tools 
-(including mechanisms for key management, delegation of trust, and key revocation) 
-form the subject of this document.
-
-\subsection{Scope}
-This document specifies the required trust delegation and key management routines
-for TUF repositories.
-%-------------------------------------------------------------------------------
-
-%-------------------------------- Overview -------------------------------------
-\section{Overview}
-The Update Framework is a Python library designed to assist software developers
-in the task of safely and securely updating their software after its deployment
-with an emphasis on resilience in the face of key compromise. Towards that end,
-the issues of key storage, revocation of keys and their accompanying trust, and
-the delegation of that trust have been given careful attention. This document
-exists to provide guidance on both mandatory behaviors and best practices with 
-regard to those.
-
-\subsection{Relationship to Other Documents}
-Much of the behavior specified in this document is partially laid out in the
-core TUF document. The system's behavior with regard to freeze and replay
-attacks is covered in the document entitled "Software Update Security Framework: 
-Repository Library Replay and Freeze Attack Protection". The client-side counterpart
-to this document contains a large amount of information on the response that
-subsystem will demonstrate in many of the same circumstances. In particular, it
-contains an overview of how to set up and run an experimental TUF repository and
-client.
-%-------------------------------------------------------------------------------
-%-------------------------------- Details --------------------------------------
-\section{Key Management}
-Where TUF clients are primarily concerned with appropriately associating roles
-to public keys, those maintaining TUF repositories are additionally required to
-keep the relevant signing keys private. Mechanically, this means storing them in 
-a custom AES-encrypted keystore, but other precautions (detailed below) should 
-be observed in order to minimize the risk of a key compromise.
-
-\subsection{Key Storage}
-TUF's keystore takes the form of an AES-encrypted key database with two backing
-data stores, both Python dictionaries and containing keys (both public and private)
-and their roles. In addition to the interface provided by its KeyDB parent class
-(primarily responsible for associating roles and key IDs with keys and delegation
-information) the keystore also provides three methods:
-
-\begin{itemize}
-	\item $set\_password(password)$, sets the password used to generate the AES key.
-	\item $clear\_password()$, clears the aforementioned password.
-	\item and $save()$, encodes, encrypts, and writes the database to disk.
-\end{itemize}
-
-Let's walk through each of these in slightly more detail.
-\\\\
-Setting or clearing the password to be used does nothing more than set and clear
-a password field in the keystore, but note that if a keystore does not have a
-password field set when $save()$ is called, it won't encrypt it- your keys will
-be on disk in plaintext. Also note that passwords must not be used directly- at
-the moment TUF clients use RFC 2440 password mangling to derive a key from
-the original password material, but see the future work section at the end of
-this document for more information on development of this system.
-\\\\
-Saving the keystore is done through TUF's usual method of serialization, which
-is to say Canonical JSON. Encryption is done using AES-256, after which the result
-is written to disk to be decrypted at some later date. Due to recent attacks on
-this key length, clients may also opt to use AES-192.
-
-\subsection{Best Practices}
-While TUF places a great deal of emphasis on the ability to recover from a key 
-compromise and uses strong cryptographic techniques to minimize the attack window, 
-avoiding such scenarios in the first place is always preferable. As a result, a
-few best practices are recommended for those responsible for storing keying
-material:
-
-\begin{enumerate}
-	\item Store the root key offline- while a root key compromise is recoverable,
-		revoking a root key is more troublesome than revoking other keys.
-	\item No single point of failure should permit access to both the target
-		and release roles' keys.
-	\item The timestamp role's key can be stored online for automated timestamping.
-\end{enumerate}
-
-For some, the above will prove to be difficult to provide inside of an
-organization. Those users should note that while TUF by no means requires an
-external PKI to operate, its design permits their use.
-
-\subsection{Command Line Interface}
-To make repository management easier on maintainers, a set of easy-to-use command
-line tools has been developed that works to simplify most of the tasks above. 
-In particular, the signercli.py script provides an easy way to perform the most
-common tasks a maintainer will face.
-
-\subsubsection{Generating and Listing Keys}
-Besides generating the initial keystore using the quickstart.py script we saw
-earlier, the signercli.py script provides an easy way to generate keys using the
-$genkey$ subcommand. Using it is extremely easy:
-
-\begin{lstlisting}
-cd demorepo
-signercli.py genkey --keystore=../keystore
-\end{lstlisting}
-
-This will give you a good deal of output, ultimately including a line something
-like the following:
-
-\begin{lstlisting}
-[TIME] [tuf] [INFO] Generated new key: KEYID
-\end{lstlisting}
-
-Listing key IDs is similarly easy:
-
-\begin{lstlisting}
-cd demorepo
-signercli.py listkeys --keystore=../keystore
-\end{lstlisting}
-
-You can also get more information about a particular key using the dumpkey
-subcommand. To print information about a public key, do the following:
-
-\begin{lstlisting}
-cd demorepo
-signercli.py dumpkey --keystore=../keystore KEYID
-\end{lstlisting}
-
-If you pass the "--include-secret" option, it will also print the signing key.
-
-\subsubsection{Changing Keystore Passwords}
-
-To change the keystore password, simply run the signercli.py script with the 
-changepass subcommand, type the current password, and then enter the new password.
-Here's an example:
-
-\begin{lstlisting}
-cd demorepo
-signercli.py changepass --keystore=../keystore
-\end{lstlisting}
-
-Note that there is not currently a mechanism for providing these options on the
-commandline. This is done to prevent the password from being pulled from an
-ungaurded shell history file.
-
-\subsubsection{Delegating Trust}
-
-TUF makes delegating trust quite easy, and an example of how to do so is provided
-in the companion client-side document. Note that the folder a delegated role's
-ROLE.txt metadata file goes into must exist before running the script.
-
-\subsubsection{Revoking Trust}
-TUF does not currently provide a command line interface for revoking trust,
-however, doing so is simple using existing tools. To revoke a delegated
-trust, just delete the accompanying ROLE.txt and create a new update. The
-revocation procedure for other keys is described in the companion document, section
-7.
-
-\section{Trust Delegation}
-The TUF trust delegation model is described in the TUF spec section 4.5 and in
-the TUF client key management specification section 6.
-
-\section{Future Work}
-Three major areas of future work remain here: first, accounting for improved
-cryptographic and cryptanalytic results against AES-256 and the RFC2440 key
-derivation algorithm; second, developing additional tools to provide for 
-automatic revocation of trust for all roles; and third improving the mechanisms
-for automatic integration of other projects with TUF.
-
-%-------------------------------------------------------------------------------
-\end{document}
diff --git a/docs/papers/attacks-on-package-managers-ccs2008.pdf b/docs/papers/attacks-on-package-managers-ccs2008.pdf
deleted file mode 100644
index 1182a8af4c..0000000000
Binary files a/docs/papers/attacks-on-package-managers-ccs2008.pdf and /dev/null differ
diff --git a/docs/papers/package-management-security-tr08-02.pdf b/docs/papers/package-management-security-tr08-02.pdf
deleted file mode 100644
index 8ef6cd7fe3..0000000000
Binary files a/docs/papers/package-management-security-tr08-02.pdf and /dev/null differ
diff --git a/docs/papers/prevention-rollback-attacks-atc2017.pdf b/docs/papers/prevention-rollback-attacks-atc2017.pdf
deleted file mode 100644
index 8e0c844eb5..0000000000
Binary files a/docs/papers/prevention-rollback-attacks-atc2017.pdf and /dev/null differ
diff --git a/docs/papers/protect-community-repositories-nsdi2016.pdf b/docs/papers/protect-community-repositories-nsdi2016.pdf
deleted file mode 100644
index aa44ea4038..0000000000
Binary files a/docs/papers/protect-community-repositories-nsdi2016.pdf and /dev/null differ
diff --git a/docs/papers/survivable-key-compromise-ccs2010.pdf b/docs/papers/survivable-key-compromise-ccs2010.pdf
deleted file mode 100644
index 35c1b804b1..0000000000
Binary files a/docs/papers/survivable-key-compromise-ccs2010.pdf and /dev/null differ
diff --git a/docs/repository-library-design-ownership.jpg b/docs/repository-library-design-ownership.jpg
new file mode 100644
index 0000000000..68eaafc8e4
Binary files /dev/null and b/docs/repository-library-design-ownership.jpg differ
diff --git a/docs/repository-library-design-usage.jpg b/docs/repository-library-design-usage.jpg
new file mode 100644
index 0000000000..9eb7ca711b
Binary files /dev/null and b/docs/repository-library-design-usage.jpg differ
diff --git a/docs/repository-library-design.md b/docs/repository-library-design.md
new file mode 100644
index 0000000000..e5f166122f
--- /dev/null
+++ b/docs/repository-library-design.md
@@ -0,0 +1,226 @@
+# Python-tuf repository API proposal: _minimal repository abstraction_
+
+This is an attachment to ADR 10: _Repository library design built on top of
+Metadata API_, and documents the design proposal in Dec 2021.
+
+## Design principles
+
+Primary goals of this repository library design are
+1. Support full range of repository implementations: from command line
+   â€œrepository editingâ€� tools to production repositories like PyPI
+2. Provide canonical solutions for the difficult repository problems but avoid
+   making implementation decisions
+3. Keep python-tuf maintenance burden in mind: less is more
+
+Why does this design look so different from both legacy python-tuf code and
+other implementations?
+* Most existing implementations are focused on a specific use case (typically a
+  command line application): this is a valid design choice but severely limits
+  goal #1
+* The problem space contains many application decisions. Many implementations
+  solve this by creating functions with 15 arguments: this design tries to find
+  another way (#2)
+* The Metadata API makes modifying individual pieces of metadata simpler. This,
+  combined with good repository API design, should enable more variance in
+  where things are implemented: The repository library does not have to
+  implement every little detail as we can safely let specific implementations
+  handle things, see goal #3
+* This variance means we can start by implementing a minimal design: as
+  experience from implementations is collected, we can then move implementation
+  details into the library (goals #2, #3)
+
+## Design
+
+### Application and library components
+
+![Design: Application and library components](repository-library-design-ownership.jpg)
+
+The design expects a fully functional repository application to contain code at
+three levels:
+* Repository library (abstract classes that are part of python-tuf)
+  * The Repository abstract class provides an ergonomic abstract metadata
+    editing API for all code levels to use. It also provides implementations
+    for some core edit actions like _snapshot update_.
+  * A small amount of related functionality is also provided (private key
+    management API, maybe repository validation).
+  * is a very small library: possibly a few hundred lines of code.
+* Concrete Repository implementation (typically part of application code,
+  implements interfaces provided by the repository API in python-tuf)
+  * Contains the â€œapplication levelâ€� decisions that the Repository abstraction
+    requires to operate: examples of application decisions include
+    * _When should â€œtargetsâ€� metadata next expire when it is edited?_
+    * _What is the current â€œtargetsâ€� metadata version? Where do we load it 
+      from?_
+    * _Where to store current â€œtargetsâ€� after editing? Should the previous
+      version be deleted from storage?_
+* Actual application
+  * Uses the Repository API to do the repository actions it needs to do
+
+For context hereâ€™s a trivial example showing what â€œergonomic editingâ€� means --
+this key-adding code could be in the application (or later, if common patterns
+are found, in the python-tuf library):
+
+```python
+with repository.edit(â€œtargetsâ€�) as targets:
+    # adds a key for role1 (as an example, arbitrary edits are allowed)
+    targets.add_key(key, â€œrole1â€�)
+```
+
+This code loads current targets metadata for editing, adds the key to a role,
+and handles version and expiry bumps before persisting the new targets version.
+The reason for the context manager style is that it manages two things
+simultaneously:
+* Hides the complexity of loading and persisting metadata, and updating expiry
+  and versions from the editing code (by putting it in the repository
+  implementation that is defined in python-tuf but implemented by the
+  application)
+* Still allows completely arbitrary edits on the metadata in question: now the
+  library does not need to anticipate what application wants to do and on the
+  other hand library can still provide e.g. snapshot functionality without
+  knowing about the application decisions mentioned in previous point.
+
+Other designs do not seem to manage both of these.
+
+### How the components are used
+
+![Design: How components are used](repository-library-design-usage.jpg)
+
+The core idea here is that because editing is ergonomic enough, when new
+functionality (like â€œdeveloper uploads new targetsâ€�) is added, _it can be added
+at any level_: the application might add a `handle_new_target_files()` method
+that adds a bunch of targets into the metadata, but one of the previous layers
+could offer that as a helper function as well: code in both cases would look
+similar as it would use the common editing interface.
+
+The proposed design is purposefully spartan in that the library provides
+very few high-level actions (the prototype only provided _sign_ and
+_snapshot_): everything else is left to implementer at this point. As we gain
+experience of common usage patterns we can start providing other features as
+well.
+
+There are a few additional items worth mentioning:
+* Private key management: the Repository API should come with a â€œkeyring
+  abstractionâ€� -- a way for the application to provide rolesâ€™ private keys for
+  the Repository to use. Some implementations could be provided as well.
+* Validating repository state: the design is very much focused on enabling
+  efficient editing of individual metadata. Implementations are also likely to
+  be interested in validating (after some edits) that the repository is correct
+  according to client workflow and that it contains the expected changes. The
+  Repository API should provide some validation, but we should recognise that
+  validation may be implementation specific.
+* Improved metadata editing: There are a small number of improvements that
+  could be made to metadata editing. These do not necessarily need to be part
+  of the repository API: they could be part of Metadata API as well
+
+It would make sense for python-tuf to ship with at least one concrete
+Repository implementation: possibly a repo.py look alike. This implementation
+should not be part of the library but an example.
+
+## Details
+
+This section includes links to a Proof of Concept implementation in
+[repository-editor-for-tuf](https://github.com/vmware-labs/repository-editor-for-tuf/):
+it should not be seen as the exact proposed API but a prototype of the ideas.
+
+The ideas in this document map to POC components like this:
+
+| Concept | repository-editor-for-tuf implementation |
+|-|-|
+| Repository API | [librepo/repo.py](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/librepo/repo.py), [librepo/keys.py](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/librepo/repo.py)  |
+| Example of repository implementation | [git_repo.py](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/git_repo.py) |
+|Application code | [cli.py (command line app)](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/cli.py), [keys_impl.py (keyring implementation)](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/keys_impl.py) |
+| Repository validation | [verifier.py (very rough, not intended for python-tuf)](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/verifier.py)
+| Improved Metadata editing | [helpers.py](https://github.com/vmware-labs/repository-editor-for-tuf/blob/main/tufrepo/helpers.py) 
+
+
+### Repository API
+
+Repository itself is a minimal abstract class: The value of this class is in
+defining the abstract method signatures (most importantly `_load`, `_save()`,
+`edit()`) that enable ergonomic metadata editing. The Repository class in this
+proposal includes concrete implementations only for the following:
+* `sign()` -- signing without editing metadata payload
+* `snapshot()` -- updates snapshot and timestamp metadata based on given input.
+  Note that a concrete Repository implementation could provide an easier to use
+  snapshot that does not require input (see example in git_repo.py)
+
+More concrete method implementations (see cli.py for examples) could be added
+to Repository itself but none seem essential at this point.
+
+The current prototype API defines five abstract methods that take care of
+access to metadata storage, expiry updates, version updates and signing. These
+must be implemented in the concrete implementation:
+
+* **keyring()**: A property that returns the private key mapping that should be
+  used for signing.
+
+* **_load()**: Loads metadata from storage or cache. Is used by edit() and
+  sign().
+
+* **_save()**: Signs and persists metadata in cache/storage. Is used by edit()
+  and sign().
+
+* **edit()**: The ContextManager that enables ergonomic metadata
+  editing by handling expiry and version number management.
+
+* **init_role()**: initializes new metadata handling expiry and version number.
+  (_init_role is in a way a special case of edit and should potentially be
+  integrated there_).
+
+The API requires a â€œKeyringâ€� abstraction that the repository code can use to
+lookup a set of signers for a specific role. Specific implementations of
+Keyring could include a file-based keyring for testing, env-var keyring for CI
+use, etc. Some implementations should be provided in the python-tuf code base
+and more could be implemented in applications.
+
+_Prototype status: Prototype Repository and Keyring abstractions exist in
+librepo/repo.py._
+
+### Example concrete Repository implementation
+
+The design decisions that the included example `GitRepository` makes are not
+important but provide an example of what is possible:
+* Metadata versions are stored in files in git, with filenames that allow
+  serving the metadata directory as is over HTTP
+* Version bumps are made based on git status (so edits in staging area only
+  bump version once)
+* â€œCurrent versionâ€� when loading metadata is decided based on filenames on disk
+* Files are removed once they are no longer part of the snapshot (to keep
+  directory uncluttered)
+* Expiry times are decided based on an application specific metadata field
+* Private keys can be stored in a file or in environment variables (for CI use)
+
+Note that GitRepository implementation is significantly larger than the
+Repository interface -- but all of the complexity in GitRepository is really
+related to the design decisions made there.
+
+_Prototype status: The GitRepository example exists in git_repo.py._
+
+### Validating repository state
+
+This is mostly undesigned but something built on top of TrustedMetadataSet
+(currently ngclient component) might work as a way to easily check specific
+aspects like:
+* Is top-level metadata valid according to client workflow
+* Is a role included in the snapshot and the delegation tree
+
+Itâ€™s likely that different implementations will have different needs though: a
+command line app for small repos might want to validate loading all metadata
+into memory, but a server application hosting tens of thousands of pieces of
+metadata is unlikely to do so.
+
+_Prototype status: A very rough implementation exists in verifier.py : this is
+unlikely to be very useful_
+
+### Improved metadata editing
+
+Currently the identified improvement areas are:
+* Metadata initialization: this could potentially be improved by adding
+  default argument values to Metadata API constructors 
+* Modifying and looking up data about roles in delegating metadata
+  (root/targets): they do similar things but root and targets do not have
+  identical API. This may be a very specific use case and not interesting
+  for some applications
+
+_Prototype status: Some potential improvements have been collected in
+helpers.py_
diff --git a/docs/tuf-horizontal-white.png b/docs/tuf-horizontal-white.png
new file mode 100644
index 0000000000..6698641c82
Binary files /dev/null and b/docs/tuf-horizontal-white.png differ
diff --git a/docs/tuf-icon-200.png b/docs/tuf-icon-200.png
new file mode 100644
index 0000000000..f18c0b3361
Binary files /dev/null and b/docs/tuf-icon-200.png differ
diff --git a/docs/tuf-icon-32.png b/docs/tuf-icon-32.png
new file mode 100644
index 0000000000..d19274a3e8
Binary files /dev/null and b/docs/tuf-icon-32.png differ
diff --git a/docs/tuf-spec.0.9.txt b/docs/tuf-spec.0.9.txt
deleted file mode 100644
index 1140747e2b..0000000000
--- a/docs/tuf-spec.0.9.txt
+++ /dev/null
@@ -1 +0,0 @@
-The TUF specification file has been moved to https://github.com/theupdateframework/specification/blob/master/historical/tuf-spec.md
diff --git a/docs/tuf-spec.md b/docs/tuf-spec.md
deleted file mode 100644
index 7d8df7b60f..0000000000
--- a/docs/tuf-spec.md
+++ /dev/null
@@ -1 +0,0 @@
-The TUF specification file has been moved to https://github.com/theupdateframework/specification/blob/master/tuf-spec.md
diff --git a/docs/tuf-spec.txt b/docs/tuf-spec.txt
deleted file mode 100644
index 7d8df7b60f..0000000000
--- a/docs/tuf-spec.txt
+++ /dev/null
@@ -1 +0,0 @@
-The TUF specification file has been moved to https://github.com/theupdateframework/specification/blob/master/tuf-spec.md
diff --git a/examples/README.md b/examples/README.md
new file mode 100644
index 0000000000..9cfba24ddb
--- /dev/null
+++ b/examples/README.md
@@ -0,0 +1,6 @@
+# Usage examples
+
+* [repository](repository)
+* [client](client)
+* [uploader tool](uploader)
+* [Low-level Metadata API examples](manual_repo)
diff --git a/examples/client/README.md b/examples/client/README.md
new file mode 100644
index 0000000000..3a7ba603a6
--- /dev/null
+++ b/examples/client/README.md
@@ -0,0 +1,46 @@
+# TUF Client Example
+
+
+TUF Client Example, using ``python-tuf``.
+
+This TUF Client Example implements the following actions:
+   - Client Initialization
+   - Target file download
+
+The client can be used against any TUF repository that serves metadata and
+targets under the same URL (in _/metadata/_ and _/targets/_ directories, respectively). The
+used TUF repository can be set with `--url` (default repository is "http://127.0.0.1:8001"
+which is also the default for the repository example).
+
+
+### Usage with the repository example
+
+In one terminal, run the repository example and leave it running:
+```console
+examples/repository/repo
+```
+
+In another terminal, run the client:
+
+```console
+# initialize the client with Trust-On-First-Use
+./client tofu
+
+# Then download example files from the repository:
+./client download file1.txt
+```
+
+Note that unlike normal repositories, the example repository only exists in
+memory and is re-generated from scratch at every startup: This means your
+client needs to run `tofu` every time you restart the repository application.
+
+
+### Usage with a repository on the internet
+
+```console
+# On first use only, initialize the client with Trust-On-First-Use
+./client --url https://jku.github.io/tuf-demo tofu
+
+# Then download example files from the repository:
+./client --url https://jku.github.io/tuf-demo download demo/succinctly-delegated-1.txt
+```
diff --git a/examples/client/client b/examples/client/client
new file mode 100755
index 0000000000..883fd52cba
--- /dev/null
+++ b/examples/client/client
@@ -0,0 +1,185 @@
+#!/usr/bin/env python3
+"""TUF Client Example"""
+
+# Copyright 2012 - 2017, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+import argparse
+import logging
+import os
+import sys
+import traceback
+from hashlib import sha256
+from pathlib import Path
+
+import urllib3
+
+from tuf.api.exceptions import DownloadError, RepositoryError
+from tuf.ngclient import Updater
+
+# constants
+DOWNLOAD_DIR = "./downloads"
+CLIENT_EXAMPLE_DIR = os.path.dirname(os.path.abspath(__file__))
+
+def build_metadata_dir(base_url: str) -> str:
+    """build a unique and reproducible directory name for the repository url"""
+    name = sha256(base_url.encode()).hexdigest()[:8]
+    # TODO: Make this not windows hostile?
+    return f"{Path.home()}/.local/share/tuf-example/{name}"
+
+
+def init_tofu(base_url: str) -> bool:
+    """Initialize local trusted metadata (Trust-On-First-Use) and create a
+    directory for downloads
+
+    NOTE: This is unsafe and for demonstration only: the bootstrap root
+    should be deployed alongside your updater application
+    """
+
+    metadata_dir = build_metadata_dir(base_url)
+
+    response = urllib3.request("GET", f"{base_url}/metadata/1.root.json")
+    if response.status != 200:
+        print(f"Failed to download initial root {base_url}/metadata/1.root.json")
+        return False
+
+    Updater(
+        metadata_dir=metadata_dir,
+        metadata_base_url=f"{base_url}/metadata/",
+        target_base_url=f"{base_url}/targets/",
+        target_dir=DOWNLOAD_DIR,
+        bootstrap=response.data,
+    )
+
+    print(f"Trust-on-First-Use: Initialized new root in {metadata_dir}")
+    return True
+
+
+def download(base_url: str, target: str) -> bool:
+    """
+    Download the target file using ``ngclient`` Updater.
+
+    The Updater refreshes the top-level metadata, get the target information,
+    verifies if the target is already cached, and in case it is not cached,
+    downloads the target file.
+
+    Returns:
+        A boolean indicating if process was successful
+    """
+    metadata_dir = build_metadata_dir(base_url)
+
+    if not os.path.isfile(f"{metadata_dir}/root.json"):
+        print(
+            "Trusted local root not found. Use 'tofu' command to "
+            "Trust-On-First-Use or copy trusted root metadata to "
+            f"{metadata_dir}/root.json"
+        )
+        return False
+
+    print(f"Using trusted root in {metadata_dir}")
+
+    try:
+        # NOTE: initial root should be provided with ``bootstrap``  argument:
+        # This examples uses unsafe Trust-On-First-Use initialization so it is
+        # not possible here.
+        updater = Updater(
+            metadata_dir=metadata_dir,
+            metadata_base_url=f"{base_url}/metadata/",
+            target_base_url=f"{base_url}/targets/",
+            target_dir=DOWNLOAD_DIR,
+        )
+        updater.refresh()
+
+        info = updater.get_targetinfo(target)
+
+        if info is None:
+            print(f"Target {target} not found")
+            return True
+
+        path = updater.find_cached_target(info)
+        if path:
+            print(f"Target is available in {path}")
+            return True
+
+        path = updater.download_target(info)
+        print(f"Target downloaded and available in {path}")
+
+    except (OSError, RepositoryError, DownloadError) as e:
+        print(f"Failed to download target {target}: {e}")
+        if logging.root.level < logging.ERROR:
+            traceback.print_exc()
+        return False
+
+    return True
+
+
+def main() -> str | None:
+    """Main TUF Client Example function"""
+
+    client_args = argparse.ArgumentParser(description="TUF Client Example")
+
+    # Global arguments
+    client_args.add_argument(
+        "-v",
+        "--verbose",
+        help="Output verbosity level (-v, -vv, ...)",
+        action="count",
+        default=0,
+    )
+
+    client_args.add_argument(
+        "-u",
+        "--url",
+        help="Base repository URL",
+        default="http://127.0.0.1:8001",
+    )
+
+    # Sub commands
+    sub_command = client_args.add_subparsers(dest="sub_command")
+
+    # Trust-On-First-Use
+    sub_command.add_parser(
+        "tofu",
+        help="Initialize client with Trust-On-First-Use",
+    )
+
+    # Download
+    download_parser = sub_command.add_parser(
+        "download",
+        help="Download a target file",
+    )
+
+    download_parser.add_argument(
+        "target",
+        metavar="TARGET",
+        help="Target file",
+    )
+
+    command_args = client_args.parse_args()
+
+    if command_args.verbose == 0:
+        loglevel = logging.ERROR
+    elif command_args.verbose == 1:
+        loglevel = logging.WARNING
+    elif command_args.verbose == 2:
+        loglevel = logging.INFO
+    else:
+        loglevel = logging.DEBUG
+
+    logging.basicConfig(level=loglevel)
+
+    # initialize the TUF Client Example infrastructure
+    if command_args.sub_command == "tofu":
+        if not init_tofu(command_args.url):
+            return "Failed to initialize local repository"
+    elif command_args.sub_command == "download":
+        if not download(command_args.url, command_args.target):
+            return f"Failed to download {command_args.target}"
+    else:
+        client_args.print_help()
+
+    return None
+
+
+if __name__ == "__main__":
+    sys.exit(main())
diff --git a/examples/manual_repo/basic_repo.py b/examples/manual_repo/basic_repo.py
new file mode 100644
index 0000000000..e619c190af
--- /dev/null
+++ b/examples/manual_repo/basic_repo.py
@@ -0,0 +1,349 @@
+"""
+A TUF repository example using the low-level TUF Metadata API.
+
+The example code in this file demonstrates how to *manually* create and
+maintain repository metadata using the low-level Metadata API. It implements
+similar functionality to that of the deprecated legacy 'repository_tool' and
+'repository_lib'. (see ADR-0010 for details about repository library design)
+
+Contents:
+ * creation of top-level metadata
+ * target file handling
+ * consistent snapshots
+ * key management
+ * top-level delegation and signing thresholds
+ * target delegation
+ * in-band and out-of-band metadata signing
+ * writing and reading metadata files
+ * root key rotation
+
+NOTE: Metadata files will be written to a 'tmp*'-directory in CWD.
+
+"""
+
+from __future__ import annotations
+
+import os
+import tempfile
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+
+from securesystemslib.signer import CryptoSigner, Signer
+
+from tuf.api.metadata import (
+    SPECIFICATION_VERSION,
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Root,
+    Snapshot,
+    TargetFile,
+    Targets,
+    Timestamp,
+)
+from tuf.api.serialization.json import JSONSerializer
+
+
+def _in(days: float) -> datetime:
+    """Adds 'days' to now and returns datetime object w/o microseconds."""
+    return datetime.now(timezone.utc).replace(microsecond=0) + timedelta(
+        days=days
+    )
+
+
+# Create top-level metadata
+# =========================
+# Every TUF repository has at least four roles, i.e. the top-level roles
+# 'targets', 'snapshot', 'timestamp' and 'root'. Below we will discuss their
+# purpose, show how to create the corresponding metadata, and how to use them
+# to provide integrity, consistency and freshness for the files TUF aims to
+# protect, i.e. target files.
+
+# Common fields
+# -------------
+# All roles have the same metadata container format, for which the metadata API
+# provides a generic 'Metadata' class. This class has two fields, one for
+# cryptographic signatures, i.e. 'signatures', and one for the payload over
+# which signatures are generated, i.e. 'signed'. The payload must be an
+# instance of either 'Targets', 'Snapshot', 'Timestamp' or 'Root' class. Common
+# fields in all of these 'Signed' classes are:
+#
+# spec_version -- The supported TUF specification version number.
+# version -- The metadata version number.
+# expires -- The metadata expiry date.
+#
+# The 'version', which is incremented on each metadata change, is used to
+# reference metadata from within other metadata, and thus allows for repository
+# consistency in addition to protecting against rollback attacks.
+#
+# The date the metadata 'expires' protects against freeze attacks and allows
+# for implicit key revocation. Choosing an appropriate expiration interval
+# depends on the volatility of a role and how easy it is to re-sign them.
+# Highly volatile roles (timestamp, snapshot, targets), usually have shorter
+# expiration intervals, whereas roles that change less and might use offline
+# keys (root, delegating targets) may have longer expiration intervals.
+
+SPEC_VERSION = ".".join(SPECIFICATION_VERSION)
+
+# Define containers for role objects and cryptographic keys created below. This
+# allows us to sign and write metadata in a batch more easily.
+roles: dict[str, Metadata] = {}
+signers: dict[str, Signer] = {}
+
+
+# Targets (integrity)
+# -------------------
+# The targets role guarantees integrity for the files that TUF aims to protect,
+# i.e. target files. It does so by listing the relevant target files, along
+# with their hash and length.
+roles["targets"] = Metadata(Targets(expires=_in(7)))
+
+# For the purpose of this example we use the top-level targets role to protect
+# the integrity of this very example script. The metadata entry contains the
+# hash and length of this file at the local path. In addition, it specifies the
+# 'target path', which a client uses to locate the target file relative to a
+# configured mirror base URL.
+#
+#      |----base artifact URL---||-------target path-------|
+# e.g. tuf-examples.org/artifacts/manual_repo/basic_repo.py
+
+local_path = Path(__file__).resolve()
+target_path = f"{local_path.parts[-2]}/{local_path.parts[-1]}"
+
+target_file_info = TargetFile.from_file(target_path, str(local_path))
+roles["targets"].signed.targets[target_path] = target_file_info
+
+# Snapshot (consistency)
+# ----------------------
+# The snapshot role guarantees consistency of the entire repository. It does so
+# by listing all available targets metadata files at their latest version. This
+# becomes relevant, when there are multiple targets metadata files in a
+# repository and we want to protect the client against mix-and-match attacks.
+roles["snapshot"] = Metadata(Snapshot(expires=_in(7)))
+
+# Timestamp (freshness)
+# ---------------------
+# The timestamp role guarantees freshness of the repository metadata. It does
+# so by listing the latest snapshot (which in turn lists all the latest
+# targets) metadata. A short expiration interval requires the repository to
+# regularly issue new timestamp metadata and thus protects the client against
+# freeze attacks.
+#
+# Note that snapshot and timestamp use the same generic wireline metadata
+# format. But given that timestamp metadata always has only one entry in its
+# 'meta' field, i.e. for the latest snapshot file, the timestamp object
+# provides the shortcut 'snapshot_meta'.
+roles["timestamp"] = Metadata(Timestamp(expires=_in(1)))
+
+# Root (root of trust)
+# --------------------
+# The root role serves as root of trust for all top-level roles, including
+# itself. It does so by mapping cryptographic keys to roles, i.e. the keys that
+# are authorized to sign any top-level role metadata, and signing thresholds,
+# i.e. how many authorized keys are required for a given role (see 'roles'
+# field). This is called top-level delegation.
+#
+# In addition, root provides all public keys to verify these signatures (see
+# 'keys' field), and a configuration parameter that describes whether a
+# repository uses consistent snapshots (see section 'Persist metadata' below
+# for more details).
+
+# Create root metadata object
+roles["root"] = Metadata(Root(expires=_in(365)))
+
+# For this example, we generate one 'ed25519' key pair for each top-level role
+# using python-tuf's in-house crypto library.
+# See https://github.com/secure-systems-lab/securesystemslib for more details
+# about key handling, and don't forget to password-encrypt your private keys!
+for name in ["targets", "snapshot", "timestamp", "root"]:
+    signers[name] = CryptoSigner.generate_ecdsa()
+    roles["root"].signed.add_key(signers[name].public_key, name)
+
+# NOTE: We only need the public part to populate root, so it is possible to use
+# out-of-band mechanisms to generate key pairs and only expose the public part
+# to whoever maintains the root role. As a matter of fact, the very purpose of
+# signature thresholds is to avoid having private keys all in one place.
+
+# Signature thresholds
+# --------------------
+# Given the importance of the root role, it is highly recommended to require a
+# threshold of multiple keys to sign root metadata. For this example we
+# generate another root key (you can pretend it's out-of-band) and increase the
+# required signature threshold.
+another_root_signer = CryptoSigner.generate_ecdsa()
+roles["root"].signed.add_key(another_root_signer.public_key, "root")
+roles["root"].signed.roles["root"].threshold = 2
+
+
+# Sign top-level metadata (in-band)
+# =================================
+# In this example we have access to all top-level signing keys, so we can use
+# them to create and add a signature for each role metadata.
+for name in ["targets", "snapshot", "timestamp", "root"]:
+    roles[name].sign(signers[name])
+
+
+# Persist metadata (consistent snapshot)
+# ======================================
+# It is time to publish the first set of metadata for a client to safely
+# download the target file that we have registered for this example repository.
+#
+# For the purpose of this example we will follow the consistent snapshot naming
+# convention for all metadata. This means that each metadata file, must be
+# prefixed with its version number, except for timestamp. The naming convention
+# also affects the target files, but we don't cover this in the example. See
+# the TUF specification for more details:
+# https://theupdateframework.github.io/specification/latest/#writing-consistent-snapshots
+#
+# Also note that the TUF specification does not mandate a wireline format. In
+# this demo we use a non-compact JSON format and store all metadata in
+# temporary directory at CWD for review.
+PRETTY = JSONSerializer(compact=False)
+TMP_DIR = tempfile.mkdtemp(dir=os.getcwd())
+
+for name in ["root", "targets", "snapshot"]:
+    filename = f"{roles[name].signed.version}.{roles[name].signed.type}.json"
+    path = os.path.join(TMP_DIR, filename)
+    roles[name].to_file(path, serializer=PRETTY)
+
+roles["timestamp"].to_file(
+    os.path.join(TMP_DIR, "timestamp.json"), serializer=PRETTY
+)
+
+
+# Threshold signing (out-of-band)
+# ===============================
+# As mentioned above, using signature thresholds usually entails that not all
+# signing keys for a given role are in the same place. Let's briefly pretend
+# this is the case for the second root key we registered above, and we are now
+# on that key owner's computer. All the owner has to do is read the metadata
+# file, sign it, and write it back to the same file, and this can be repeated
+# until the threshold is satisfied.
+root_path = os.path.join(TMP_DIR, "1.root.json")
+root = Metadata.from_file(root_path)
+root.sign(another_root_signer, append=True)
+root.to_file(root_path, serializer=PRETTY)
+
+
+# Targets delegation
+# ==================
+# Similar to how the root role delegates responsibilities about integrity,
+# consistency and freshness to the corresponding top-level roles, a targets
+# role may further delegate its responsibility for target files (or a subset
+# thereof) to other targets roles. This allows creation of a granular trust
+# hierarchy, and further reduces the impact of a single role compromise.
+#
+# In this example the top-level targets role trusts a new "python-scripts"
+# targets role to provide integrity for any target file that ends with ".py".
+delegatee_name = "python-scripts"
+signers[delegatee_name] = CryptoSigner.generate_ecdsa()
+
+# Delegatee
+# ---------
+# Create a new targets role, akin to how we created top-level targets above, and
+# add target file info from above according to the delegatee's responsibility.
+roles[delegatee_name] = Metadata[Targets](
+    signed=Targets(
+        version=1,
+        spec_version=SPEC_VERSION,
+        expires=_in(7),
+        targets={target_path: target_file_info},
+    ),
+    signatures={},
+)
+
+
+# Delegator
+# ---------
+# Akin to top-level delegation, the delegator expresses its trust in the
+# delegatee by authorizing a threshold of cryptographic keys to provide
+# signatures for the delegatee metadata. It also provides the corresponding
+# public key store.
+# The delegation info defined by the delegator further requires the provision
+# of a unique delegatee name and constraints about the target files the
+# delegatee is responsible for, e.g. a list of path patterns. For details about
+# all configuration parameters see
+# https://theupdateframework.github.io/specification/latest/#delegations
+delegatee_key = signers[delegatee_name].public_key
+roles["targets"].signed.delegations = Delegations(
+    keys={delegatee_key.keyid: delegatee_key},
+    roles={
+        delegatee_name: DelegatedRole(
+            name=delegatee_name,
+            keyids=[delegatee_key.keyid],
+            threshold=1,
+            terminating=True,
+            paths=["manual_repo/*.py"],
+        ),
+    },
+)
+
+# Remove target file info from top-level targets (delegatee is now responsible)
+del roles["targets"].signed.targets[target_path]
+
+# Increase expiry (delegators should be less volatile)
+roles["targets"].signed.expires = _in(365)
+
+
+# Snapshot + Timestamp + Sign + Persist
+# -------------------------------------
+# In order to publish a new consistent set of metadata, we need to update
+# dependent roles (snapshot, timestamp) accordingly, bumping versions of all
+# changed metadata.
+
+# Bump targets version
+roles["targets"].signed.version += 1
+
+# Update snapshot to account for changed and new targets metadata
+roles["snapshot"].signed.meta["targets.json"].version = roles[
+    "targets"
+].signed.version
+roles["snapshot"].signed.meta[f"{delegatee_name}.json"] = MetaFile(version=1)
+roles["snapshot"].signed.version += 1
+
+# Update timestamp to account for changed snapshot metadata
+roles["timestamp"].signed.snapshot_meta.version = roles[
+    "snapshot"
+].signed.version
+roles["timestamp"].signed.version += 1
+
+# Sign and write metadata for all changed roles, i.e. all but root
+for role_name in ["targets", "python-scripts", "snapshot", "timestamp"]:
+    roles[role_name].sign(signers[role_name])
+
+    # Prefix all but timestamp with version number (see consistent snapshot)
+    filename = f"{role_name}.json"
+    if role_name != "timestamp":
+        filename = f"{roles[role_name].signed.version}.{filename}"
+
+    roles[role_name].to_file(os.path.join(TMP_DIR, filename), serializer=PRETTY)
+
+
+# Root key rotation (recover from a compromise / key loss)
+# ========================================================
+# TUF makes it easy to recover from a key compromise in-band. Given the trust
+# hierarchy through top-level and targets delegation you can easily
+# replace compromised or lost keys for any role using the delegating role, even
+# for the root role.
+# However, since root authorizes its own keys, it always has to be signed with
+# both the threshold of keys from the previous version and the threshold of
+# keys from the new version. This establishes a trusted line of continuity.
+#
+# In this example we will replace a root key, and sign a new version of root
+# with the threshold of old and new keys. Since one of the previous root keys
+# remains in place, it can be used to count towards the old and new threshold.
+new_root_signer = CryptoSigner.generate_ecdsa()
+
+roles["root"].signed.revoke_key(signers["root"].public_key.keyid, "root")
+roles["root"].signed.add_key(new_root_signer.public_key, "root")
+roles["root"].signed.version += 1
+
+roles["root"].signatures.clear()
+for signer in [signers["root"], another_root_signer, new_root_signer]:
+    roles["root"].sign(signer, append=True)
+
+roles["root"].to_file(
+    os.path.join(TMP_DIR, f"{roles['root'].signed.version}.root.json"),
+    serializer=PRETTY,
+)
diff --git a/examples/manual_repo/hashed_bin_delegation.py b/examples/manual_repo/hashed_bin_delegation.py
new file mode 100644
index 0000000000..144a612e7d
--- /dev/null
+++ b/examples/manual_repo/hashed_bin_delegation.py
@@ -0,0 +1,222 @@
+"""
+A TUF hash bin delegation example using the low-level TUF Metadata API.
+
+The example code in this file demonstrates how to *manually* perform hash bin
+delegation using the low-level Metadata API. It implements similar
+functionality to that of the deprecated legacy 'repository_tool' and
+'repository_lib'. (see ADR-0010 for details about repository library design)
+
+Contents:
+- Reusable hash bin delegation helpers
+- Basic hash bin delegation example
+
+See 'basic_repo.py' for a more comprehensive TUF metadata API example.
+
+NOTE: Metadata files will be written to a 'tmp*'-directory in CWD.
+
+"""
+
+from __future__ import annotations
+
+import hashlib
+import os
+import tempfile
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+from typing import TYPE_CHECKING
+
+from securesystemslib.signer import CryptoSigner, Signer
+
+from tuf.api.metadata import (
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    TargetFile,
+    Targets,
+)
+from tuf.api.serialization.json import JSONSerializer
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+
+def _in(days: float) -> datetime:
+    """Adds 'days' to now and returns datetime object w/o microseconds."""
+    return datetime.now(timezone.utc).replace(microsecond=0) + timedelta(
+        days=days
+    )
+
+
+roles: dict[str, Metadata[Targets]] = {}
+signers: dict[str, Signer] = {}
+
+# Hash bin delegation
+# ===================
+# Hash bin delegation allows to distribute a large number of target files over
+# multiple delegated targets metadata. The consequence is smaller metadata
+# files and thus a lower network overhead for repository-client communication.
+#
+# The assignment of target files to targets metadata is done automatically,
+# based on the hash of the target file name. More precisely, only a prefix of
+# the target file name hash is needed to assign it to the correct hash bin.
+#
+# The number of bins is the only number that needs to be configured. Everything
+# else is derived using the mathematical operations shown below.
+#
+# The right number of bins depends on the expected number of target files in a
+# repository. For the purpose of this example we choose ...
+NUMBER_OF_BINS = 32  # ..., which determines the length of any hash prefix
+# considered for bin assignment (PREFIX_LEN), how many hash prefixes are
+# covered by all bins (NUMBER_OF_PREFIXES), and how many prefixes are covered
+# by each individual bin (BIN_SIZE):
+#
+# The prefix length is the number of digits in the hexadecimal representation
+# (see 'x' in Python Format Specification) of the number of bins minus one
+# (counting starts at zero), i.e. ...
+PREFIX_LEN = len(f"{(NUMBER_OF_BINS - 1):x}")  # ... 2.
+#
+# Compared to decimal, hexadecimal numbers can express higher numbers with
+# fewer digits and thus further decrease metadata sizes. With the above prefix
+# length of 2 we can represent at most ...
+NUMBER_OF_PREFIXES = 16**PREFIX_LEN  # ... 256 prefixes, i.e. 00, 01, ..., ff.
+#
+# If the number of bins is a power of two, hash prefixes are evenly distributed
+# over all bins, which allows to calculate the uniform size of ...
+BIN_SIZE = NUMBER_OF_PREFIXES // NUMBER_OF_BINS  # ... 8, where each bin is
+# responsible for a range of 8 prefixes, i.e. 00-07, 08-0f, ..., f8-ff.
+
+
+# Helpers
+# -------
+def _bin_name(low: int, high: int) -> str:
+    """Generates a bin name according to the hash prefixes the bin serves.
+
+    The name is either a single hash prefix for bin size 1, or a range of hash
+    prefixes otherwise. The prefix length is needed to zero-left-pad the
+    hex representation of the hash prefix for uniform bin name lengths.
+    """
+    if low == high:
+        return f"{low:0{PREFIX_LEN}x}"
+
+    return f"{low:0{PREFIX_LEN}x}-{high:0{PREFIX_LEN}x}"
+
+
+def generate_hash_bins() -> Iterator[tuple[str, list[str]]]:
+    """Returns generator for bin names and hash prefixes per bin."""
+    # Iterate over the total number of hash prefixes in 'bin size'-steps to
+    # generate bin names and a list of hash prefixes served by each bin.
+    for low in range(0, NUMBER_OF_PREFIXES, BIN_SIZE):
+        high = low + BIN_SIZE - 1
+        bin_name = _bin_name(low, high)
+        hash_prefixes = []
+        for prefix in range(low, low + BIN_SIZE):
+            hash_prefixes.append(f"{prefix:0{PREFIX_LEN}x}")
+
+        yield bin_name, hash_prefixes
+
+
+def find_hash_bin(path: str) -> str:
+    """Returns name of bin for target file based on the target path hash."""
+    # Generate hash digest of passed target path and take its prefix, given the
+    # global prefix length for the given number of bins.
+    hasher = hashlib.sha256()
+    hasher.update(path.encode("utf-8"))
+    target_name_hash = hasher.hexdigest()
+    prefix = int(target_name_hash[:PREFIX_LEN], 16)
+    # Find lower and upper bounds for hash prefix given its numerical value and
+    # the the general bin size for the given number of bins.
+    low = prefix - (prefix % BIN_SIZE)
+    high = low + BIN_SIZE - 1
+    return _bin_name(low, high)
+
+
+# Keys
+# ----
+# Given that the primary concern of hash bin delegation is to reduce network
+# overhead, it is acceptable to reuse one signing key for all delegated
+# targets roles (bin-n). However, we do use a different key for the delegating
+# targets role (bins). Considering the high responsibility but also low
+# volatility of the bins role, it is recommended to require signature
+# thresholds and keep the keys offline in a real-world scenario.
+
+# NOTE: See "Targets delegation" and "Signature thresholds" paragraphs in
+# 'basic_repo.py' for more details
+for name in ["bin-n", "bins"]:
+    signers[name] = CryptoSigner.generate_ecdsa()
+
+
+# Targets roles
+# -------------
+# NOTE: See "Targets" and "Targets delegation" paragraphs in 'basic_repo.py'
+# example for more details about the Targets object.
+
+# Create preliminary delegating targets role (bins) and add public key for
+# delegated targets (bin_n) to key store. Delegation details are update below.
+roles["bins"] = Metadata(Targets(expires=_in(365)))
+bin_n_key = signers["bin-n"].public_key
+roles["bins"].signed.delegations = Delegations(
+    keys={bin_n_key.keyid: bin_n_key},
+    roles={},
+)
+
+# The hash bin generator yields an ordered list of incremental hash bin names
+# (ranges), plus the hash prefixes each bin is responsible for, e.g.:
+#
+# bin_n_name:  00-07  bin_n_hash_prefixes: 00 01 02 03 04 05 06 07
+#              08-0f                       08 09 0a 0b 0c 0d 0e 0f
+#              10-17                       10 11 12 13 14 15 16 17
+#              ...                         ...
+#              f8-ff                       f8 f9 fa fb fc fd fe ff
+assert roles["bins"].signed.delegations.roles is not None
+for bin_n_name, bin_n_hash_prefixes in generate_hash_bins():
+    # Update delegating targets role (bins) with delegation details for each
+    # delegated targets role (bin_n).
+    roles["bins"].signed.delegations.roles[bin_n_name] = DelegatedRole(
+        name=bin_n_name,
+        keyids=[signers["bin-n"].public_key.keyid],
+        threshold=1,
+        terminating=False,
+        path_hash_prefixes=bin_n_hash_prefixes,
+    )
+
+    # Create delegated targets roles (bin_n)
+    roles[bin_n_name] = Metadata(Targets(expires=_in(7)))
+
+# Add target file
+# ---------------
+# For the purpose of this example we will protect the integrity of this very
+# example script by adding its file info to the corresponding bin metadata.
+
+# NOTE: See "Targets" paragraph in 'basic_repo.py' example for more details
+# about adding target file infos to targets metadata.
+local_path = Path(__file__).resolve()
+target_path = f"{local_path.parts[-2]}/{local_path.parts[-1]}"
+target_file_info = TargetFile.from_file(target_path, str(local_path))
+
+# The right bin for a target file is determined by the 'target_path' hash, e.g.:
+#
+# target_path:                      'repo_example/hashed_bin_delegation.py'
+# target_path (hash digest):        '85e1a6c06305bd9c1e15c7ae565fd16ea304bfc...'
+#
+# --> considered hash prefix '85', falls into bin '80-87'
+bin_for_target = find_hash_bin(target_path)
+roles[bin_for_target].signed.targets[target_path] = target_file_info
+
+
+# Sign and persist
+# ----------------
+# Sign all metadata and write to temporary directory at CWD for review using
+# versioned file names. Most notably see '1.bins.json' and '1.80-87.json'.
+
+# NOTE: See "Persist metadata" paragraph in 'basic_repo.py' example for more
+# details about serialization formats and metadata file name conventions.
+PRETTY = JSONSerializer(compact=False)
+TMP_DIR = tempfile.mkdtemp(dir=os.getcwd())
+
+for role_name, role in roles.items():
+    signer = signers["bins"] if role_name == "bins" else signers["bin-n"]
+    role.sign(signer)
+
+    filename = f"1.{role_name}.json"
+    filepath = os.path.join(TMP_DIR, filename)
+    role.to_file(filepath, serializer=PRETTY)
diff --git a/examples/manual_repo/succinct_hash_bin_delegations.py b/examples/manual_repo/succinct_hash_bin_delegations.py
new file mode 100644
index 0000000000..3923a97d16
--- /dev/null
+++ b/examples/manual_repo/succinct_hash_bin_delegations.py
@@ -0,0 +1,174 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+"""
+A TUF succinct hash bin delegation example using the low-level TUF Metadata API.
+
+The example code in this file demonstrates how to perform succinct hash bin
+delegation using the low-level Metadata API.
+Succinct hash bin delegation achieves a similar result as using a standard hash
+bin delegation, but the delegating metadata is smaller, resulting in fewer bytes
+to transfer and parse.
+
+See 'basic_repo.py' for a more comprehensive TUF metadata API example.
+
+For a comprehensive explanation of succinct hash bin delegation and the
+difference between succinct and standard hash bin delegation read:
+https://github.com/theupdateframework/taps/blob/master/tap15.md
+
+NOTE: Metadata files will be written to a 'tmp*'-directory in CWD.
+"""
+
+from __future__ import annotations
+
+import math
+import os
+import tempfile
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+
+from securesystemslib.signer import CryptoSigner
+
+from tuf.api.metadata import (
+    Delegations,
+    Key,
+    Metadata,
+    SuccinctRoles,
+    TargetFile,
+    Targets,
+)
+from tuf.api.serialization.json import JSONSerializer
+
+# Succinct hash bin delegation
+# ============================
+# Succinct hash bin delegation aims to distribute a large number of target files
+# over multiple delegated targets metadata roles (bins). The consequence is
+# smaller metadata files and thus a lower network overhead for repository-client
+# communication.
+#
+# The assignment of target files to a target's metadata is done automatically,
+# based on the byte digest of the target file name.
+#
+# The number of bins, name prefix for all bins and key threshold are all
+# attributes that need to be configured.
+
+# Number of bins, bit length and bin number computation
+# -----------------------------------------------------
+# Determining the correct number of bins is dependent on the expected number of
+# target files in a repository. For the purpose of this example we choose:
+NUMBER_OF_BINS = 32
+#
+# The number of bins will determine the number of bits in a target path
+# considered in assigning the target to a bin.
+BIT_LENGTH = int(math.log2(NUMBER_OF_BINS))
+
+# Delegated role (bin) name format
+# --------------------------------
+# Each bin has a name in the format of f"{NAME_PREFIX}-{bin_number}".
+#
+# Name prefix is the common prefix of all delegated target roles (bins).
+# For our example it will be:
+NAME_PREFIX = "delegated_bin"
+#
+# The suffix "bin_number" is a zero-padded hexadecimal number of that
+# particular bin.
+
+# Keys and threshold
+# ------------------
+# Succinct hash bin delegation uses the same key(s) to sign all bins. This is
+# acceptable because the primary concern of this type of delegation is to reduce
+# network overhead. For the purpose of this example only one key is required.
+THRESHOLD = 1
+
+
+# Create one signing key for all bins, and one for the delegating targets role.
+bins_signer = CryptoSigner.generate_ecdsa()
+bins_key = bins_signer.public_key
+targets_signer = CryptoSigner.generate_ecdsa()
+
+# Delegating targets role
+# -----------------------
+# Akin to regular targets delegation, the delegating role ships the public keys
+# of the delegated roles. However, instead of providing individual delegation
+# information about each role, one single `SuccinctRoles` object is used to
+# provide the information for all delegated roles (bins).
+
+# NOTE: See "Targets" and "Targets delegation" paragraphs in 'basic_repo.py'
+# example for more details about the Targets object.
+
+expiration_date = datetime.now(timezone.utc).replace(microsecond=0) + timedelta(
+    days=7
+)
+targets = Metadata(Targets(expires=expiration_date))
+
+succinct_roles = SuccinctRoles(
+    keyids=[bins_key.keyid],
+    threshold=THRESHOLD,
+    bit_length=BIT_LENGTH,
+    name_prefix=NAME_PREFIX,
+)
+delegations_keys_info: dict[str, Key] = {}
+delegations_keys_info[bins_key.keyid] = bins_key
+
+targets.signed.delegations = Delegations(
+    delegations_keys_info, roles=None, succinct_roles=succinct_roles
+)
+
+# Delegated targets roles (bins)
+# ------------------------------
+# We can use the SuccinctRoles object from the delegating role above to iterate
+# over all bin names in the delegation and create the corresponding metadata.
+
+assert targets.signed.delegations.succinct_roles is not None  # make mypy happy
+
+delegated_bins: dict[str, Metadata[Targets]] = {}
+for delegated_bin_name in targets.signed.delegations.succinct_roles.get_roles():
+    delegated_bins[delegated_bin_name] = Metadata(
+        Targets(expires=expiration_date)
+    )
+
+# Add target file inside a delegated role (bin)
+# ---------------------------------------------
+# For the purpose of this example we will protect the integrity of this
+# example script by adding its file info to the corresponding bin metadata.
+
+# NOTE: See "Targets" paragraph in 'basic_repo.py' example for more details
+# about adding target file infos to targets metadata.
+local_path = Path(__file__).resolve()
+target_path = f"{local_path.parts[-2]}/{local_path.parts[-1]}"
+target_file_info = TargetFile.from_file(target_path, str(local_path))
+
+# We don't know yet in which delegated role (bin) our target belongs.
+# With SuccinctRoles.get_role_for_target() we can get the name of the delegated
+# role (bin) responsible for that target_path.
+target_bin = targets.signed.delegations.succinct_roles.get_role_for_target(
+    target_path
+)
+
+# In our example with NUMBER_OF_BINS = 32 and the current file as target_path
+# the target_bin is "delegated_bin-0d"
+
+# Now we can add the current target to the bin responsible for it.
+delegated_bins[target_bin].signed.targets[target_path] = target_file_info
+
+# Sign and persist
+# ----------------
+# Sign all metadata and write to a temporary directory at CWD for review using
+# versioned file names. Most notably see '1.targets.json' and
+# '1.delegated_bin-0d.json'.
+
+# NOTE: See "Persist metadata" paragraph in 'basic_repo.py' example for more
+# details about serialization formats and metadata file name convention.
+PRETTY = JSONSerializer(compact=False)
+TMP_DIR = tempfile.mkdtemp(dir=os.getcwd())
+
+
+targets.sign(targets_signer)
+targets.to_file(os.path.join(TMP_DIR, "1.targets.json"), serializer=PRETTY)
+
+for bin_name, bin_target_role in delegated_bins.items():
+    file_name = f"1.{bin_name}.json"
+    file_path = os.path.join(TMP_DIR, file_name)
+
+    bin_target_role.sign(bins_signer, append=True)
+
+    bin_target_role.to_file(file_path, serializer=PRETTY)
diff --git a/examples/repository/README.md b/examples/repository/README.md
new file mode 100644
index 0000000000..c4b1747bbd
--- /dev/null
+++ b/examples/repository/README.md
@@ -0,0 +1,25 @@
+# TUF Repository Application Example
+
+:warning: This example uses the repository module which is not considered
+part of the python-tuf stable API quite yet.
+
+This TUF Repository Application Example has the following features:
+- Initializes a completely new repository on startup
+- Stores everything (metadata, targets, signing keys) in-memory
+- Serves metadata and targets on localhost (default port 8001)
+- Simulates a live repository by automatically adding a new target
+  file every 10 seconds.
+- Exposes a small API for the [uploader tool example](../uploader/). API POST endpoints are:
+  - `/api/role/<ROLE>`: For uploading new delegated targets metadata. Payload
+    is new version of ROLEs metadata
+  - `/api/delegation/<ROLE>`: For modifying or creating a delegation for ROLE.
+    Payload is a dict with one keyid:Key pair
+
+### Usage
+
+```console
+./repo
+```
+Your repository is now running and is accessible on localhost, See e.g.
+http://127.0.0.1:8001/metadata/1.root.json. The
+[client example](../client/README.md) uses this address by default.
diff --git a/examples/repository/_simplerepo.py b/examples/repository/_simplerepo.py
new file mode 100644
index 0000000000..3d19c8de83
--- /dev/null
+++ b/examples/repository/_simplerepo.py
@@ -0,0 +1,237 @@
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Simple example of using the repository library to build a repository"""
+
+from __future__ import annotations
+
+import copy
+import json
+import logging
+from collections import defaultdict
+from datetime import datetime, timedelta, timezone
+
+from securesystemslib.signer import CryptoSigner, Key, Signer
+
+from tuf.api.exceptions import RepositoryError
+from tuf.api.metadata import (
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Root,
+    RootVerificationResult,
+    Signed,
+    Snapshot,
+    TargetFile,
+    Targets,
+    Timestamp,
+    VerificationResult,
+)
+from tuf.repository import Repository
+
+logger = logging.getLogger(__name__)
+
+_signed_init = {
+    Root.type: Root,
+    Snapshot.type: Snapshot,
+    Targets.type: Targets,
+    Timestamp.type: Timestamp,
+}
+
+
+class SimpleRepository(Repository):
+    """Very simple in-memory repository implementation
+
+    This repository keeps the metadata for all versions of all roles in memory.
+    It also keeps all target content in memory.
+
+
+    Attributes:
+        role_cache: Every historical metadata version of every role in this
+            repository. Keys are role names and values are lists of Metadata
+        signer_cache: All signers available to the repository. Keys are role
+            names, values are lists of signers
+        target_cache: All target files served by the repository. Keys are
+            target paths and values are file contents as bytes.
+    """
+
+    expiry_period = timedelta(days=1)
+
+    def __init__(self) -> None:
+        # all versions of all metadata
+        self.role_cache: dict[str, list[Metadata]] = defaultdict(list)
+        # all current keys
+        self.signer_cache: dict[str, list[Signer]] = defaultdict(list)
+        # all target content
+        self.target_cache: dict[str, bytes] = {}
+        # version cache for snapshot and all targets, updated in close().
+        # The 'defaultdict(lambda: ...)' trick allows close() to easily modify
+        # the version without always creating a new MetaFile
+        self._snapshot_info = MetaFile(1)
+        self._targets_infos: dict[str, MetaFile] = defaultdict(
+            lambda: MetaFile(1)
+        )
+
+        # setup a basic repository, generate signing key per top-level role
+        with self.edit_root() as root:
+            for role in ["root", "timestamp", "snapshot", "targets"]:
+                signer = CryptoSigner.generate_ecdsa()
+                self.signer_cache[role].append(signer)
+                root.add_key(signer.public_key, role)
+
+        for role in ["timestamp", "snapshot", "targets"]:
+            with self.edit(role):
+                pass
+
+    @property
+    def targets_infos(self) -> dict[str, MetaFile]:
+        return self._targets_infos
+
+    @property
+    def snapshot_info(self) -> MetaFile:
+        return self._snapshot_info
+
+    def _get_verification_result(
+        self, role: str, md: Metadata
+    ) -> VerificationResult | RootVerificationResult:
+        """Verify roles metadata using the existing repository metadata"""
+        if role == Root.type:
+            assert isinstance(md.signed, Root)
+            root = self.root()
+            previous = root if root.version > 0 else None
+            return md.signed.get_root_verification_result(
+                previous, md.signed_bytes, md.signatures
+            )
+        if role in [Timestamp.type, Snapshot.type, Targets.type]:
+            delegator: Signed = self.root()
+        else:
+            delegator = self.targets()
+        return delegator.get_verification_result(
+            role, md.signed_bytes, md.signatures
+        )
+
+    def open(self, role: str) -> Metadata:
+        """Return current Metadata for role from 'storage'
+        (or create a new one)
+        """
+
+        if role not in self.role_cache:
+            signed_init = _signed_init.get(role, Targets)
+            md = Metadata(signed_init())
+
+            # this makes version bumping in close() simpler
+            md.signed.version = 0
+            return md
+
+        # return latest metadata from storage (but don't return a reference)
+        return copy.deepcopy(self.role_cache[role][-1])
+
+    def close(self, role: str, md: Metadata) -> None:
+        """Store a version of metadata. Handle version bumps, expiry, signing"""
+        md.signed.version += 1
+        md.signed.expires = datetime.now(timezone.utc) + self.expiry_period
+
+        md.signatures.clear()
+        for signer in self.signer_cache[role]:
+            md.sign(signer, append=True)
+
+        # Double check that we only write verified metadata
+        vr = self._get_verification_result(role, md)
+        if not vr:
+            raise ValueError(f"Role {role} failed to verify")
+        keyids = [keyid[:7] for keyid in vr.signed]
+        verify_str = f"verified with keys [{', '.join(keyids)}]"
+        logger.debug("Role %s v%d: %s", role, md.signed.version, verify_str)
+
+        # store new metadata version, update version caches
+        self.role_cache[role].append(md)
+        if role == "snapshot":
+            self._snapshot_info.version = md.signed.version
+        elif role not in ["root", "timestamp"]:
+            self._targets_infos[f"{role}.json"].version = md.signed.version
+
+    def add_target(self, path: str, content: str) -> None:
+        """Add a target to top-level targets metadata"""
+        data = bytes(content, "utf-8")
+
+        # add content to cache for serving to clients
+        self.target_cache[path] = data
+
+        # add a target in the targets metadata
+        with self.edit_targets() as targets:
+            targets.targets[path] = TargetFile.from_data(path, data)
+
+        # update snapshot, timestamp
+        self.do_snapshot()
+        self.do_timestamp()
+
+    def submit_delegation(self, rolename: str, data: bytes) -> bool:
+        """Add a delegation to a (offline signed) delegated targets metadata"""
+        try:
+            logger.debug("Processing new delegation to role %s", rolename)
+            keyid, keydict = next(iter(json.loads(data).items()))
+            key = Key.from_dict(keyid, keydict)
+
+            # add delegation and key
+            role = DelegatedRole(rolename, [], 1, True, [f"{rolename}/*"])
+            with self.edit_targets() as targets:
+                if targets.delegations is None:
+                    targets.delegations = Delegations({}, {})
+                if targets.delegations.roles is None:
+                    targets.delegations.roles = {}
+                targets.delegations.roles[rolename] = role
+                targets.add_key(key, rolename)
+
+        except (RepositoryError, json.JSONDecodeError) as e:
+            logger.info("Failed to add delegation for %s: %s", rolename, e)
+            return False
+
+        # update snapshot, timestamp
+        self.do_snapshot()
+        self.do_timestamp()
+
+        return True
+
+    def submit_role(self, role: str, data: bytes) -> bool:
+        """Add a new version of a delegated roles metadata"""
+        try:
+            logger.debug("Processing new version for role %s", role)
+            if role in ["root", "snapshot", "timestamp", "targets"]:
+                raise ValueError("Only delegated targets are accepted")
+
+            md = Metadata.from_bytes(data)
+            for targetpath in md.signed.targets:
+                if not targetpath.startswith(f"{role}/"):
+                    raise ValueError(f"targets allowed under {role}/ only")
+
+            if md.signed.version != self.targets(role).version + 1:
+                raise ValueError("Invalid version {md.signed.version}")
+
+        except (RepositoryError, ValueError) as e:
+            logger.info("Failed to add new version for %s: %s", role, e)
+            return False
+
+        # Check that we only write verified metadata
+        vr = self._get_verification_result(role, md)
+        if not vr:
+            logger.info("Role %s failed to verify", role)
+            return False
+
+        keyids = [keyid[:7] for keyid in vr.signed]
+        verify_str = f"verified with keys [{', '.join(keyids)}]"
+        logger.debug("Role %s v%d: %s", role, md.signed.version, verify_str)
+
+        # Checks passed: Add new delegated role version
+        self.role_cache[role].append(md)
+        self._targets_infos[f"{role}.json"].version = md.signed.version
+
+        # To keep it simple, target content is generated from targetpath
+        for targetpath in md.signed.targets:
+            self.target_cache[targetpath] = bytes(f"{targetpath}", "utf-8")
+
+        # update snapshot, timestamp
+        self.do_snapshot()
+        self.do_timestamp()
+
+        return True
diff --git a/examples/repository/repo b/examples/repository/repo
new file mode 100755
index 0000000000..1a7389f2a1
--- /dev/null
+++ b/examples/repository/repo
@@ -0,0 +1,142 @@
+#!/usr/bin/env python3
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Simple repository example application
+
+The application stores metadata and targets in memory, and serves them via http.
+Nothing is persisted on disk or loaded from disk. The application simulates a
+live repository by adding new target files periodically.
+"""
+
+import argparse
+import logging
+import sys
+from datetime import datetime
+from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
+from time import time
+from typing import Dict, List
+
+from _simplerepo import SimpleRepository
+
+from tuf.api.serialization.json import JSONSerializer
+
+logger = logging.getLogger(__name__)
+
+
+class ReqHandler(BaseHTTPRequestHandler):
+    """HTTP handler for the repository example application
+
+    Serves metadata, targets and a small upload API using a SimpleRepository
+    """
+
+    def do_POST(self):
+        """Handle POST requests, aka the 'uploader API'"""
+
+        content_len = int(self.headers.get("content-length", 0))
+        data = self.rfile.read(content_len)
+
+        if self.path.startswith("/api/delegation/"):
+            role = self.path[len("/api/delegation/") :]
+            if not self.server.repo.submit_delegation(role, data):
+                return self.send_error(400, f"Failed to delegate to {role}")
+        elif self.path.startswith("/api/role/"):
+            role = self.path[len("/api/role/") :]
+            if not self.server.repo.submit_role(role, data):
+                return self.send_error(400, f"Failed to submit role {role}")
+        else:
+            return self.send_error(404)
+
+        self.send_response(200)
+        self.end_headers()
+
+    def do_GET(self):
+        """Handle GET: metadata and target files"""
+        data = None
+
+        if self.path.startswith("/metadata/") and self.path.endswith(".json"):
+            data = self.get_metadata(
+                self.path[len("/metadata/") : -len(".json")]
+            )
+        elif self.path.startswith("/targets/"):
+            data = self.get_target(self.path[len("/targets/") :])
+
+        if data is None:
+            self.send_error(404)
+        else:
+            self.send_response(200)
+            self.send_header("Content-length", len(data))
+            self.end_headers()
+            self.wfile.write(data)
+
+    def get_metadata(self, ver_and_role: str):
+        repo = self.server.repo
+
+        ver_str, sep, role = ver_and_role.rpartition(".")
+        if sep == "":
+            # 0 will lead to list lookup with -1, meaning latest version
+            ver = 0
+        else:
+            ver = int(ver_str)
+
+        if role not in repo.role_cache or ver > len(repo.role_cache[role]):
+            return None
+
+        # return metadata
+        return repo.role_cache[role][ver - 1].to_bytes(JSONSerializer())
+
+    def get_target(self, targetpath: str):
+        repo = self.server.repo
+
+        # unimplement the dumb hashing scheme
+        # TODO: maybe use hashed paths as the target_cache key
+        dir, sep, hashname = targetpath.rpartition("/")
+        _, _, name = hashname.partition(".")
+        target = f"{dir}{sep}{name}"
+
+        if target not in repo.target_cache:
+            return None
+
+        # send the target content
+        return repo.target_cache[target]
+
+
+class RepositoryServer(ThreadingHTTPServer):
+    def __init__(self, port: int):
+        super().__init__(("127.0.0.1", port), ReqHandler)
+        self.timeout = 1
+        self.repo = SimpleRepository()
+
+
+def main(argv: List[str]) -> None:
+    """Example repository server"""
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-v", "--verbose", action="count")
+    parser.add_argument("-p", "--port", type=int, default=8001)
+    args, _ = parser.parse_known_args(argv)
+
+    level = logging.DEBUG if args.verbose else logging.INFO
+    logging.basicConfig(level=level)
+
+    server = RepositoryServer(args.port)
+    last_change = 0
+    counter = 0
+
+    logger.info(
+        f"Now serving. Root v1 at http://127.0.0.1:{server.server_port}/metadata/1.root.json"
+    )
+
+    while True:
+        # Simulate a live repository: Add a new target file every few seconds
+        if time() - last_change > 10:
+            last_change = int(time())
+            counter += 1
+            content = str(datetime.fromtimestamp(last_change))
+            server.repo.add_target(f"file{str(counter)}.txt", content)
+
+        server.handle_request()
+
+
+if __name__ == "__main__":
+    main(sys.argv)
diff --git a/examples/uploader/README.md b/examples/uploader/README.md
new file mode 100644
index 0000000000..670b2b6d35
--- /dev/null
+++ b/examples/uploader/README.md
@@ -0,0 +1,44 @@
+# TUF Uploader Tool Example
+
+:warning: This example uses the repository module which is not considered
+part of the python-tuf stable API quite yet.
+
+This is an example maintainer tool: It makes it possible to add delegations to
+a remote repository, and then to upload delegated metadata to the repository.
+
+Features:
+   - Initialization (much like the [client example](../client/))
+   - Claim delegation: this uses "unsafe repository API" in the sense that the
+     uploader sends repository unsigned data. This operation can be
+     compared to claiming a project name on PyPI.org
+   - Add targetfile: Here uploader uses signing keys that were added to the
+     delegation in the previous step to create a new version of the delegated
+     metadata. The repository will verify signatures on this metadata.
+
+The used TUF repository can be set with `--url` (default repository is
+"http://127.0.0.1:8001" which is also the default for the repository example).
+In practice the uploader tool is only useful with the repository example.
+
+### Usage with the repository example
+
+In one terminal, run the [repository example](../repository/) and leave it running:
+```console
+examples/repository/repo
+```
+
+In another terminal, run uploader:
+
+```console
+# Initialize with Trust-On-First-Use
+./uploader tofu
+
+# Then claim a delegation for yourself (this also creates a new signing key):
+./uploader add-delegation myrole
+
+# Then add a new downloadable target file to your delegated role (to keep the
+# example simple, the target file content is always the targetpath):
+./uploader add-target myrole myrole/mytargetfile
+```
+
+At this point "myrole/mytargetfile" is downloadable from the repository
+with the [client example](../client/).
diff --git a/examples/uploader/_localrepo.py b/examples/uploader/_localrepo.py
new file mode 100644
index 0000000000..c4d746a34d
--- /dev/null
+++ b/examples/uploader/_localrepo.py
@@ -0,0 +1,138 @@
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""A Repository implementation for maintainer and developer tools"""
+
+from __future__ import annotations
+
+import contextlib
+import copy
+import json
+import logging
+import os
+from datetime import datetime, timedelta, timezone
+
+from securesystemslib.signer import CryptoSigner, Signer
+from urllib3 import request
+
+from tuf.api.exceptions import RepositoryError
+from tuf.api.metadata import Metadata, MetaFile, TargetFile, Targets
+from tuf.api.serialization.json import JSONSerializer
+from tuf.ngclient import Updater
+from tuf.repository import Repository
+
+logger = logging.getLogger(__name__)
+
+
+class LocalRepository(Repository):
+    """A repository implementation that fetches data from a remote repository
+
+    This implementation fetches metadata from a remote repository, potentially
+    creates new versions of metadata, and submits to the remote repository.
+
+    ngclient Updater is used to fetch metadata from remote server: this is good
+    because we want to make sure the metadata we modify is verified, but also
+    bad because we need some hacks to access the Updaters metadata.
+    """
+
+    expiry_period = timedelta(days=1)
+
+    def __init__(self, metadata_dir: str, key_dir: str, base_url: str):
+        self.key_dir = key_dir
+        if not os.path.isdir(self.key_dir):
+            os.makedirs(self.key_dir)
+
+        self.base_url = base_url
+
+        self.updater = Updater(
+            metadata_dir=metadata_dir,
+            metadata_base_url=f"{base_url}/metadata/",
+        )
+        self.updater.refresh()
+
+    @property
+    def targets_infos(self) -> dict[str, MetaFile]:
+        raise NotImplementedError  # we never call snapshot
+
+    @property
+    def snapshot_info(self) -> MetaFile:
+        raise NotImplementedError  # we never call timestamp
+
+    def open(self, role: str) -> Metadata:
+        """Return cached (or fetched) metadata"""
+
+        # if there is a metadata version fetched from remote, use that
+        # HACK: access Updater internals
+        trusted_set = self.updater._trusted_set  # noqa: SLF001
+        if role in trusted_set:
+            # NOTE: The original signature wrapper (Metadata) was verified and
+            # discarded upon inclusion in the trusted set. It is safe to use
+            # a fresh wrapper. `close` will override existing signatures anyway.
+            return Metadata(copy.deepcopy(trusted_set[role]))
+
+        # otherwise we're creating metadata from scratch
+        md = Metadata(Targets())
+        # this makes version bumping in close() simpler
+        md.signed.version = 0
+        return md
+
+    def close(self, role_name: str, md: Metadata) -> None:
+        """Store a version of metadata. Handle version bumps, expiry, signing"""
+        targets = self.targets()
+        role = targets.get_delegated_role(role_name)
+        public_key = targets.get_key(role.keyids[0])
+        uri = f"file2:{self.key_dir}/{role_name}"
+
+        signer = Signer.from_priv_key_uri(uri, public_key)
+
+        md.signed.version += 1
+        md.signed.expires = datetime.now(timezone.utc) + self.expiry_period
+
+        md.sign(signer, append=False)
+
+        # Upload using "api/role"
+        uri = f"{self.base_url}/api/role/{role_name}"
+        r = request("POST", uri, body=md.to_bytes(JSONSerializer()), timeout=5)
+        if r.status != 200:
+            raise RuntimeError(f"HTTP error {r.status}")
+
+    def add_target(self, role: str, targetpath: str) -> bool:
+        """Add target to roles metadata and submit new metadata version"""
+
+        # HACK: make sure we have the roles metadata in updater._trusted_set
+        # (or that we're publishing the first version)
+        # HACK: Assume RepositoryError is because we're just publishing version
+        # 1 (so the roles metadata does not exist on server yet)
+        with contextlib.suppress(RepositoryError):
+            self.updater.get_targetinfo(targetpath)
+
+        data = bytes(targetpath, "utf-8")
+        targetfile = TargetFile.from_data(targetpath, data)
+        try:
+            with self.edit_targets(role) as delegated:
+                delegated.targets[targetpath] = targetfile
+
+        except Exception as e:  # noqa: BLE001
+            print(f"Failed to submit new {role} with added target: {e}")
+            return False
+
+        print(f"Uploaded role {role} v{delegated.version}")
+        return True
+
+    def add_delegation(self, role: str) -> bool:
+        """Use the (unauthenticated) delegation adding API endpoint"""
+        signer = CryptoSigner.generate_ecdsa()
+
+        data = {signer.public_key.keyid: signer.public_key.to_dict()}
+        url = f"{self.base_url}/api/delegation/{role}"
+        r = request("POST", url, body=json.dumps(data), timeout=5)
+        if r.status != 200:
+            print(f"delegation failed with {r}")
+            return False
+
+        # Store the private key using rolename as filename
+        with open(f"{self.key_dir}/{role}", "wb") as f:
+            f.write(signer.private_bytes)
+
+        print(f"Uploaded new delegation, stored key in {self.key_dir}/{role}")
+        return True
diff --git a/examples/uploader/uploader b/examples/uploader/uploader
new file mode 100755
index 0000000000..8a3ccb8de6
--- /dev/null
+++ b/examples/uploader/uploader
@@ -0,0 +1,140 @@
+#!/usr/bin/env python3
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Simple uploader tool example
+
+Uploader is a maintainer application that communicates with the repository
+example. Uploader controls offline signing keys and produces signed metadata
+that it sends to the repository application so that the metadata can be added
+to the repository.
+"""
+
+import argparse
+import logging
+import os
+import sys
+from hashlib import sha256
+from pathlib import Path
+from typing import List, Optional
+from urllib import request
+
+from _localrepo import LocalRepository
+
+logger = logging.getLogger(__name__)
+
+
+def build_metadata_dir(base_url: str) -> str:
+    """build a unique and reproducible metadata dirname for the repo url"""
+    name = sha256(base_url.encode()).hexdigest()[:8]
+    # TODO: Make this not windows hostile?
+    return f"{Path.home()}/.local/share/tuf-upload-example/{name}"
+
+
+def build_key_dir(base_url: str) -> str:
+    """build a unique and reproducible private key dir for the repository url"""
+    name = sha256(base_url.encode()).hexdigest()[:8]
+    # TODO: Make this not windows hostile?
+    return f"{Path.home()}/.config/tuf-upload-example/{name}"
+
+
+def init_tofu(base_url: str) -> bool:
+    """Initialize local trusted metadata (Trust-On-First-Use)"""
+    metadata_dir = build_metadata_dir(base_url)
+
+    if not os.path.isdir(metadata_dir):
+        os.makedirs(metadata_dir)
+
+    root_url = f"{base_url}/metadata/1.root.json"
+    try:
+        request.urlretrieve(root_url, f"{metadata_dir}/root.json")
+    except OSError:
+        print(f"Failed to download initial root from {root_url}")
+        return False
+
+    print(f"Trust-on-First-Use: Initialized new root in {metadata_dir}")
+    return True
+
+
+def init(base_url: str) -> Optional[LocalRepository]:
+    """Initialize a LocalRepository: local root.json must already exist"""
+    metadata_dir = build_metadata_dir(base_url)
+    keydir = build_key_dir(base_url)
+
+    if not os.path.isfile(f"{metadata_dir}/root.json"):
+        print(
+            "Trusted local root not found. Use 'tofu' command to "
+            "Trust-On-First-Use or copy trusted root metadata to "
+            f"{metadata_dir}/root.json"
+        )
+        return None
+
+    print(f"Using trusted root in {metadata_dir}")
+    return LocalRepository(metadata_dir, keydir, base_url)
+
+
+def main(argv: List[str]) -> None:
+    """Example uploader tool"""
+
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-v", "--verbose", action="count", default=0)
+    parser.add_argument(
+        "-u",
+        "--url",
+        help="Base repository URL",
+        default="http://127.0.0.1:8001",
+    )
+
+    subparsers = parser.add_subparsers(dest="sub_command")
+
+    tofu_cmd = subparsers.add_parser(
+        "tofu",
+        help="Initialize client with Trust-On-First-Use",
+    )
+
+    add_delegation_cmd = subparsers.add_parser(
+        "add-delegation",
+        help="Create a delegation and signing key",
+    )
+    add_delegation_cmd.add_argument("rolename")
+
+    add_target_cmd = subparsers.add_parser(
+        "add-target",
+        help="Add a target to a delegated role",
+    )
+    add_target_cmd.add_argument("rolename")
+    add_target_cmd.add_argument("targetpath")
+
+    args = parser.parse_args()
+
+    if args.verbose == 0:
+        loglevel = logging.ERROR
+    elif args.verbose == 1:
+        loglevel = logging.WARNING
+    elif args.verbose == 2:
+        loglevel = logging.INFO
+    else:
+        loglevel = logging.DEBUG
+    logging.basicConfig(level=loglevel)
+
+    if args.sub_command == "tofu":
+        if not init_tofu(args.url):
+            return "Failed to initialize local repository"
+    elif args.sub_command == "add-delegation":
+        repo = init(args.url)
+        if not repo:
+            return "Failed to initialize"
+        if not repo.add_delegation(args.rolename):
+            return "Failed to add delegation"
+    elif args.sub_command == "add-target":
+        repo = init(args.url)
+        if not repo:
+            return "Failed to initialize"
+        if not repo.add_target(args.rolename, args.targetpath):
+            return "Failed to add target"
+    else:
+        parser.print_help()
+
+
+if __name__ == "__main__":
+    sys.exit(main(sys.argv))
diff --git a/pylintrc b/pylintrc
deleted file mode 100644
index 8f3e9f4b5a..0000000000
--- a/pylintrc
+++ /dev/null
@@ -1,426 +0,0 @@
-[MASTER]
-
-# A comma-separated list of package or module names from where C extensions may
-# be loaded. Extensions are loading into the active Python interpreter and may
-# run arbitrary code
-extension-pkg-whitelist=
-
-# Add files or directories to the blacklist. They should be base names, not
-# paths.
-ignore=CVS
-
-# Add files or directories matching the regex patterns to the blacklist. The
-# regex matches against base names, not paths.
-ignore-patterns=
-
-# Python code to execute, usually for sys.path manipulation such as
-# pygtk.require().
-#init-hook=
-
-# Use multiple processes to speed up Pylint.
-jobs=1
-
-# List of plugins (as comma separated values of python modules names) to load,
-# usually to register additional checkers.
-load-plugins=
-
-# Pickle collected data for later comparisons.
-persistent=yes
-
-# Specify a configuration file.
-#rcfile=
-
-# Allow loading of arbitrary C extensions. Extensions are imported into the
-# active Python interpreter and may run arbitrary code.
-unsafe-load-any-extension=no
-
-
-[MESSAGES CONTROL]
-
-# Only show warnings with the listed confidence levels. Leave empty to show
-# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
-confidence=
-
-# Disable the message, report, category or checker with the given id(s). You
-# can either give multiple identifiers separated by comma (,) or put this
-# option multiple times (only on the command line, not in the configuration
-# file where it should appear only once).You can also use "--disable=all" to
-# disable everything first and then reenable specific checks. For example, if
-# you want to run only the similarities checker, you can use "--disable=all
-# --enable=similarities". If you want to run only the classes checker, but have
-# no Warning level messages displayed, use"--disable=all --enable=classes
-# --disable=W"
-disable=parameter-unpacking, unpacking-in-except, long-suffix, old-ne-operator, old-octal-literal, import-star-module-level, raw-checker-failed, bad-inline-option, locally-disabled, locally-enabled, file-ignored, suppressed-message, useless-suppression, deprecated-pragma, apply-builtin, basestring-builtin, buffer-builtin, cmp-builtin, coerce-builtin, execfile-builtin, file-builtin, long-builtin, raw_input-builtin, reduce-builtin, standarderror-builtin, unicode-builtin, xrange-builtin, coerce-method, delslice-method, getslice-method, setslice-method, no-absolute-import, old-division, dict-iter-method, dict-view-method, next-method-called, metaclass-assignment, indexing-exception, raising-string, reload-builtin, oct-method, hex-method, nonzero-method, cmp-method, input-builtin, round-builtin, intern-builtin, unichr-builtin, map-builtin-not-iterating, zip-builtin-not-iterating, range-builtin-not-iterating, filter-builtin-not-iterating, using-cmp-argument, eq-without-hash, div-method, idiv-method, rdiv-method, exception-message-attribute, invalid-str-codec, sys-max-int, deprecated-str-translate-call, global-statement, broad-except, logging-not-lazy, C, R
-
-# Enable the message, report, category or checker with the given id(s). You can
-# either give multiple identifier separated by comma (,) or put this option
-# multiple time (only on the command line, not in the configuration file where
-# it should appear only once). See also the "--disable" option for examples.
-enable=
-
-
-[REPORTS]
-
-# Python expression which should return a note less than 10 (10 is the highest
-# note). You have access to the variables errors warning, statement which
-# respectively contain the number of errors / warnings messages and the total
-# number of statements analyzed. This is used by the global evaluation report
-# (RP0004).
-evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
-
-# Template used to display messages. This is a python new-style format string
-# used to format the message information. See doc for all details
-#msg-template=
-
-# Set the output format. Available formats are text, parseable, colorized, json
-# and msvs (visual studio).You can also give a reporter class, eg
-# mypackage.mymodule.MyReporterClass.
-#output-format=parseable
-output-format=text
-
-# Tells whether to display a full report or only the messages
-reports=no
-
-# Activate the evaluation score.
-score=yes
-
-
-[REFACTORING]
-
-# Maximum number of nested blocks for function / method body
-max-nested-blocks=5
-
-
-[BASIC]
-
-# Naming hint for argument names
-argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Regular expression matching correct argument names
-argument-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Naming hint for attribute names
-attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Regular expression matching correct attribute names
-attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Bad variable names which should always be refused, separated by a comma
-bad-names=foo,bar,baz,toto,tutu,tata
-
-# Naming hint for class attribute names
-class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
-
-# Regular expression matching correct class attribute names
-class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
-
-# Naming hint for class names
-class-name-hint=[A-Z_][a-zA-Z0-9]+$
-
-# Regular expression matching correct class names
-class-rgx=[A-Z_][a-zA-Z0-9]+$
-
-# Naming hint for constant names
-const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
-
-# Regular expression matching correct constant names
-const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
-
-# Minimum line length for functions/classes that require docstrings, shorter
-# ones are exempt.
-docstring-min-length=-1
-
-# Naming hint for function names
-function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Regular expression matching correct function names
-function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Good variable names which should always be accepted, separated by a comma
-good-names=i,j,k,ex,Run,_
-
-# Include a hint for the correct naming format with invalid-name
-include-naming-hint=no
-
-# Naming hint for inline iteration names
-inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
-
-# Regular expression matching correct inline iteration names
-inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
-
-# Naming hint for method names
-method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Regular expression matching correct method names
-method-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Naming hint for module names
-module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
-# Regular expression matching correct module names
-module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
-# Colon-delimited sets of names that determine each other's naming style when
-# the name regexes allow several styles.
-name-group=
-
-# Regular expression which should only match function or class names that do
-# not require a docstring.
-no-docstring-rgx=^_
-
-# List of decorators that produce properties, such as abc.abstractproperty. Add
-# to this list to register other decorators that produce valid properties.
-property-classes=abc.abstractproperty
-
-# Naming hint for variable names
-variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-# Regular expression matching correct variable names
-variable-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
-
-
-[FORMAT]
-
-# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
-expected-line-ending-format=
-
-# Regexp for a line that is allowed to be longer than the limit.
-ignore-long-lines=^\s*(# )?<?https?://\S+>?$
-
-# Number of spaces of indent required inside a hanging  or continued line.
-indent-after-paren=4
-
-# String used as indentation unit. This is usually "    " (4 spaces) or "\t" (1
-# tab).
-indent-string='  '
-
-# Maximum number of characters on a single line.
-max-line-length=80
-
-# Maximum number of lines in a module
-max-module-lines=1000
-
-# List of optional constructs for which whitespace checking is disabled. `dict-
-# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\n222: 2}.
-# `trailing-comma` allows a space between comma and closing bracket: (a, ).
-# `empty-line` allows space-only lines.
-no-space-check=trailing-comma,dict-separator
-
-# Allow the body of a class to be on the same line as the declaration if body
-# contains single statement.
-single-line-class-stmt=no
-
-# Allow the body of an if to be on the same line as the test if there is no
-# else.
-single-line-if-stmt=no
-
-
-[LOGGING]
-
-# Logging modules to check that the string format arguments are in logging
-# function parameter format
-logging-modules=logging
-
-
-[MISCELLANEOUS]
-
-# List of note tags to take in consideration, separated by a comma.
-notes=XXX,
-
-
-[SIMILARITIES]
-
-# Ignore comments when computing similarities.
-ignore-comments=yes
-
-# Ignore docstrings when computing similarities.
-ignore-docstrings=yes
-
-# Ignore imports when computing similarities.
-ignore-imports=yes
-
-# Minimum lines number of a similarity.
-min-similarity-lines=4
-
-
-[SPELLING]
-
-# Spelling dictionary name. Available dictionaries: none. To make it working
-# install python-enchant package.
-spelling-dict=
-
-# List of comma separated words that should not be checked.
-spelling-ignore-words=
-
-# A path to a file that contains private dictionary; one word per line.
-spelling-private-dict-file=
-
-# Tells whether to store unknown words to indicated private dictionary in
-# --spelling-private-dict-file option instead of raising a message.
-spelling-store-unknown-words=no
-
-
-[TYPECHECK]
-
-# List of decorators that produce context managers, such as
-# contextlib.contextmanager. Add to this list to register other decorators that
-# produce valid context managers.
-contextmanager-decorators=contextlib.contextmanager
-
-# List of members which are set dynamically and missed by pylint inference
-# system, and so shouldn't trigger E1101 when accessed. Python regular
-# expressions are accepted.
-generated-members=
-
-# Tells whether missing members accessed in mixin class should be ignored. A
-# mixin class is detected if its name ends with "mixin" (case insensitive).
-ignore-mixin-members=yes
-
-# This flag controls whether pylint should warn about no-member and similar
-# checks whenever an opaque object is returned when inferring. The inference
-# can return multiple potential results while evaluating a Python object, but
-# some branches might not be evaluated, which results in partial inference. In
-# that case, it might be useful to still emit no-member and other checks for
-# the rest of the inferred objects.
-ignore-on-opaque-inference=yes
-
-# List of class names for which member attributes should not be checked (useful
-# for classes with dynamically set attributes). This supports the use of
-# qualified names.
-ignored-classes=optparse.Values,thread._local,_thread._local, six.moves
-
-# List of module names for which member attributes should not be checked
-# (useful for modules/projects where namespaces are manipulated during runtime
-# and thus existing member attributes cannot be deduced by static analysis. It
-# supports qualified module names, as well as Unix pattern matching.
-ignored-modules=
-
-# Show a hint with possible names when a member name was not found. The aspect
-# of finding the hint is based on edit distance.
-missing-member-hint=yes
-
-# The minimum edit distance a name should have in order to be considered a
-# similar match for a missing member name.
-missing-member-hint-distance=1
-
-# The total number of similar names that should be taken in consideration when
-# showing a hint for a missing member.
-missing-member-max-choices=1
-
-
-[VARIABLES]
-
-# List of additional names supposed to be defined in builtins. Remember that
-# you should avoid to define new builtins when possible.
-additional-builtins=
-
-# Tells whether unused global variables should be treated as a violation.
-allow-global-unused-variables=yes
-
-# List of strings which can identify a callback function by name. A callback
-# name must start or end with one of those strings.
-callbacks=cb_,_cb
-
-# A regular expression matching the name of dummy variables (i.e. expectedly
-# not used).
-dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_|junk
-
-# Argument names that match this expression will be ignored. Default to name
-# with leading underscore
-ignored-argument-names=_.*|^ignored_|^unused_
-
-# Tells whether we should check for unused import in __init__ files.
-init-import=no
-
-# List of qualified module names which can have objects that can redefine
-# builtins.
-redefining-builtins-modules=six.moves,future.builtins
-
-
-[CLASSES]
-
-# List of method names used to declare (i.e. assign) instance attributes.
-defining-attr-methods=__init__,__new__,setUp
-
-# List of member names, which should be excluded from the protected access
-# warning.
-exclude-protected=_asdict, _fields, _replace, _source, _make, _generate_and_write_metadata, _delete_obsolete_metadata, _log_status_of_top_level_roles, _load_top_level_metadata, _strip_version_number, _delegated_roles, _remove_invalid_and_duplicate_signatures, _repository_name, _targets_directory
-
-# List of valid names for the first argument in a class method.
-valid-classmethod-first-arg=cls
-
-# List of valid names for the first argument in a metaclass class method.
-valid-metaclass-classmethod-first-arg=mcs
-
-
-[DESIGN]
-
-# Maximum number of arguments for function / method
-max-args=5
-
-# Maximum number of attributes for a class (see R0902).
-max-attributes=7
-
-# Maximum number of boolean expressions in a if statement
-max-bool-expr=5
-
-# Maximum number of branch for function / method body
-max-branches=12
-
-# Maximum number of locals for function / method body
-max-locals=15
-
-# Maximum number of parents for a class (see R0901).
-max-parents=7
-
-# Maximum number of public methods for a class (see R0904).
-max-public-methods=20
-
-# Maximum number of return / yield for function / method body
-max-returns=6
-
-# Maximum number of statements in function / method body
-max-statements=50
-
-# Minimum number of public methods for a class (see R0903).
-min-public-methods=2
-
-
-[IMPORTS]
-
-# Allow wildcard imports from modules that define __all__.
-allow-wildcard-with-all=no
-
-# Analyse import fallback blocks. This can be used to support both Python 2 and
-# 3 compatible code, which means that the block might have code that exists
-# only in one or another interpreter, leading to false positives when analysed.
-analyse-fallback-blocks=no
-
-# Deprecated modules which should not be used, separated by a comma
-deprecated-modules=regsub,TERMIOS,Bastion,rexec
-
-# Create a graph of external dependencies in the given file (report RP0402 must
-# not be disabled)
-ext-import-graph=
-
-# Create a graph of every (i.e. internal and external) dependencies in the
-# given file (report RP0402 must not be disabled)
-import-graph=
-
-# Create a graph of internal dependencies in the given file (report RP0402 must
-# not be disabled)
-int-import-graph=
-
-# Force import order to recognize a module as part of the standard
-# compatibility libraries.
-known-standard-library=
-
-# Force import order to recognize a module as part of a third party library.
-known-third-party=enchant
-
-
-[EXCEPTIONS]
-
-# Exceptions that will emit a warning when being caught. Defaults to
-# "Exception"
-overgeneral-exceptions=Exception
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000..266b2188f5
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,152 @@
+[build-system]
+requires = ["hatchling==1.27.0"]
+build-backend = "hatchling.build"
+
+[project]
+name = "tuf"
+description = "A secure updater framework for Python"
+readme = "README.md"
+license = "Apache-2.0 OR MIT"
+license-files = ["LICENSE", "LICENSE-MIT"]
+requires-python = ">=3.8"
+authors = [
+  { email = "theupdateframework@googlegroups.com" },
+]
+keywords = [
+  "authentication",
+  "compromise",
+  "key",
+  "revocation",
+  "secure",
+  "update",
+  "updater",
+]
+classifiers = [
+  "Development Status :: 5 - Production/Stable",
+  "Intended Audience :: Developers",
+  "Natural Language :: English",
+  "Operating System :: MacOS :: MacOS X",
+  "Operating System :: Microsoft :: Windows",
+  "Operating System :: POSIX",
+  "Operating System :: POSIX :: Linux",
+  "Programming Language :: Python",
+  "Programming Language :: Python :: 3",
+  "Programming Language :: Python :: 3.9",
+  "Programming Language :: Python :: 3.10",
+  "Programming Language :: Python :: 3.11",
+  "Programming Language :: Python :: 3.12",
+  "Programming Language :: Python :: 3.13",
+  "Programming Language :: Python :: Implementation :: CPython",
+  "Topic :: Security",
+  "Topic :: Software Development",
+]
+dependencies = [
+  "securesystemslib~=1.0",
+  "urllib3<3,>=1.21.1",
+]
+dynamic = ["version"]
+
+[project.urls]
+Documentation = "https://theupdateframework.readthedocs.io/en/stable/"
+Homepage = "https://www.updateframework.com"
+Issues = "https://github.com/theupdateframework/python-tuf/issues"
+Source = "https://github.com/theupdateframework/python-tuf"
+
+[tool.hatch.version]
+path = "tuf/__init__.py"
+
+[tool.hatch.build.targets.sdist]
+include = [
+  "/docs",
+  "/examples",
+  "/tests",
+  "/tuf",
+  "/requirements",
+  "/tox.ini",
+  "/setup.py",
+]
+
+# Ruff section
+# Read more here: https://docs.astral.sh/ruff/linter/#rule-selection
+[tool.ruff]
+line-length=80
+
+[tool.ruff.lint]
+select = ["ALL"]
+ignore = [
+    # Rulesets we do not use at this moment
+    "COM",
+    "EM",
+    "FIX",
+    "FBT",
+    "PERF",
+    "PT",
+    "PTH",
+    "TD",
+    "TRY",
+
+    # Individual rules that have been disabled
+    "D400", "D415", "D213", "D205", "D202", "D107", "D407", "D413", "D212", "D104", "D406", "D105", "D411", "D401", "D200", "D203",
+    "PLR0913", "PLR2004",
+]
+
+[tool.ruff.lint.per-file-ignores]
+"tests/*" = [
+    "D",      # pydocstyle: no docstrings required for tests
+    "E501",   # line-too-long: embedded test data in "fmt: off" blocks is ok
+    "ERA001", # commented code is fine in tests
+    "RUF012", # ruff: mutable-class-default
+    "S",      # bandit: Not running bandit on tests
+    "SLF001", # private member access is ok in tests
+    "T201",   # print is ok in tests
+]
+"examples/*/*" = [
+    "D",      # pydocstyle: no docstrings required for examples
+    "ERA001", # commented code is fine in examples
+    "INP001", # implicit package is fine in examples
+    "S",      # bandit: Not running bandit on examples
+    "T201",   # print is ok in examples
+]
+"verify_release" = [
+    "ERA001", # commented code is fine here
+    "S603",   # bandit: this flags all uses of subprocess.run as vulnerable
+    "T201",   # print is ok in verify_release
+]
+".github/scripts/*" = [
+    "T201",   # print is ok in conformance client
+]
+
+[tool.ruff.lint.flake8-annotations]
+mypy-init-return = true
+
+# mypy section
+# Read more here: https://mypy.readthedocs.io/en/stable/config_file.html#using-a-pyproject-toml-file
+[tool.mypy]
+warn_unused_configs = "True"
+warn_redundant_casts = "True"
+warn_unused_ignores = "True"
+warn_unreachable = "True"
+strict_equality = "True"
+disallow_untyped_defs = "True"
+disallow_untyped_calls = "True"
+show_error_codes = "True"
+disable_error_code = ["attr-defined"]
+
+[[tool.mypy.overrides]]
+module = [
+  "requests.*",
+]
+ignore_missing_imports = "True"
+
+[tool.coverage.report]
+exclude_also = [
+    # abstract class method definition
+    "raise NotImplementedError",
+    # defensive programming: these cannot happen
+    "raise AssertionError",
+    # imports for mypy only
+    "if TYPE_CHECKING",
+]
+[tool.coverage.run]
+branch = true
+omit = [ "tests/*", "tuf/ngclient/requests_fetcher.py" ]
diff --git a/requirements-dev.txt b/requirements-dev.txt
deleted file mode 100644
index f8748752a5..0000000000
--- a/requirements-dev.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-# Install tuf in editable mode and requirements for local testing with tox,
-# and also for running test suite or individual tests manually
-tox
--r requirements-test.txt
--e .
diff --git a/requirements-pinned.txt b/requirements-pinned.txt
deleted file mode 100644
index 72fbd1230c..0000000000
--- a/requirements-pinned.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-certifi==2020.12.5        # via requests
-cffi==1.14.5              # via cryptography, pynacl
-chardet==4.0.0            # via requests
-cryptography==3.4.6       ; python_version >= '3' # via securesystemslib
-cryptography==3.3.2       ; python_version < '3' # via securesystemslib
-enum34==1.1.10            ; python_version < '3' # via cryptography
-idna==2.10                # via requests
-ipaddress==1.0.23         ; python_version < '3' # via cryptography
-pycparser==2.20           # via cffi
-pynacl==1.4.0             # via securesystemslib
-requests==2.25.1
-securesystemslib[crypto,pynacl]==0.19.0
-six==1.15.0
-subprocess32==3.5.4       ; python_version < '3' # via securesystemslib
-urllib3==1.26.3           # via requests
diff --git a/requirements-test.txt b/requirements-test.txt
deleted file mode 100644
index fc83f41a6e..0000000000
--- a/requirements-test.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-# Install requirements needed in each tox environment
-
-# pinned tuf runtime dependencies (should auto-update and -trigger ci/cd)
--r requirements-pinned.txt
-
-# test runtime dependencies  (see 'tests_require' field in setup.py)
-mock; python_version < "3.3"
-
-# tuf.api tests use python-dateutil
-python-dateutil
-
-# additional test tools for linting and coverage measurement
-coverage
-pylint
-bandit; python_version >= "3.5"
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 0ee7a97951..0000000000
--- a/requirements.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-# TUF runtime requirements plus securesystemslib with extra dependencies
-#
-# This file together with 'pip-compile' is used to generate a pinned
-# requirements file with all immediate and transitive dependencies.
-#
-# 'requirements-pinned.txt' is updated on GitHub with Dependabot, which
-# triggers CI/CD builds to automatically test against updated dependencies.
-#
-#
-# NOTE: 'pip-compile' only adds dependencies relevant for the Python version,
-# in which it is executed. Moreover, it does not add environment markers of
-# transitive dependencies.
-# The official recommendation for cross-environment usage of pip-compile tends
-# towards separate requirements files for each environment (see
-# jazzband/pip-tools#651), this seem like an overkill for tuf, where we only
-# have a few conditional dependencies, i.e. dependencies that are required on
-# Python < 3 only.
-#
-#
-# Below instructions can be used to re-generate 'requirements-pinned.txt', e.g.
-# if:
-# - requirements are added or removed from this file
-# - Python version support is changed
-# - CI/CD build breaks due to updates (e.g. transitive dependency conflicts)
-#
-# 1. Use this script to create a pinned requirements file for each Python
-#    version
-# ```
-# for v in 2.7 3.6 3.7 3.8 3.9; do
-#   mkvirtualenv tuf-env-${v} -p python${v};
-#   pip install pip-tools;
-#   pip-compile --no-header -o requirements-${v}.txt requirements.txt;
-#   deactivate;
-#   rmvirtualenv tuf-env-${v};
-# done;
-#
-# ```
-# 2. Use this command to merge per-version files
-#    `sort -o requirements-pinned.txt -u requirements-?.?.txt`
-# 2. Manually add environment markers to requirements-pinned.txt
-# 3. Use this command to remove per-version files
-#    `rm requirements-?.?.txt`
-#
-securesystemslib[crypto, pynacl]
-requests
-six
diff --git a/requirements/build.txt b/requirements/build.txt
new file mode 100644
index 0000000000..2d7aef17f9
--- /dev/null
+++ b/requirements/build.txt
@@ -0,0 +1,4 @@
+# The build and tox versions specified here are also used as constraints
+# during CI and CD Github workflows
+build==1.2.2.post1
+tox==4.1.2
diff --git a/requirements/dev.txt b/requirements/dev.txt
new file mode 100644
index 0000000000..6852f0b6ba
--- /dev/null
+++ b/requirements/dev.txt
@@ -0,0 +1,4 @@
+-r build.txt
+-r test.txt
+-r lint.txt
+-e .
\ No newline at end of file
diff --git a/requirements/docs.txt b/requirements/docs.txt
new file mode 100644
index 0000000000..ccb6cf72f2
--- /dev/null
+++ b/requirements/docs.txt
@@ -0,0 +1,8 @@
+# Install documentation build requirements
+
+# pinned tuf runtime dependencies (should auto-update and -trigger ci/cd)
+-r pinned.txt
+
+# install sphinx and its extensions
+sphinx
+sphinx-rtd-theme
diff --git a/requirements/lint.txt b/requirements/lint.txt
new file mode 100644
index 0000000000..16b9222674
--- /dev/null
+++ b/requirements/lint.txt
@@ -0,0 +1,14 @@
+# Requirements needed in tox lint environment
+
+# pinned tuf runtime dependencies
+-r pinned.txt
+
+# Lint tools
+# (We are not so interested in the specific versions of the tools: the versions
+# are pinned to prevent unexpected linting failures when tools update)
+ruff==0.12.0
+mypy==1.16.1
+zizmor==1.9.0
+
+# Required for type stubs
+freezegun==1.5.3
diff --git a/requirements/main.txt b/requirements/main.txt
new file mode 100644
index 0000000000..611c6589d8
--- /dev/null
+++ b/requirements/main.txt
@@ -0,0 +1,10 @@
+# TUF runtime requirements plus securesystemslib with extra dependencies
+#
+# This file together with 'pip-compile' is used to generate a pinned
+# requirements file with all immediate and transitive dependencies.
+#
+# 'pinned.txt' is updated on GitHub with Dependabot, which
+# triggers CI/CD builds to automatically test against updated dependencies.
+#
+securesystemslib[crypto]
+urllib3
diff --git a/requirements/pinned.txt b/requirements/pinned.txt
new file mode 100644
index 0000000000..6a312eab92
--- /dev/null
+++ b/requirements/pinned.txt
@@ -0,0 +1,16 @@
+#
+# This file is autogenerated by pip-compile with Python 3.11
+# by the following command:
+#
+#    pip-compile --output-file=requirements/pinned.txt --strip-extras requirements/main.txt
+#
+cffi==1.17.1
+    # via cryptography
+cryptography==45.0.5
+    # via securesystemslib
+pycparser==2.22
+    # via cffi
+securesystemslib==1.3.0
+    # via -r requirements/main.txt
+urllib3==2.5.0
+    # via -r requirements/main.txt
diff --git a/requirements/test.txt b/requirements/test.txt
new file mode 100644
index 0000000000..0c6c8bc994
--- /dev/null
+++ b/requirements/test.txt
@@ -0,0 +1,8 @@
+# Requirements needed in tox test environments
+
+# pinned tuf runtime dependencies (should auto-update and -trigger ci/cd)
+-r pinned.txt
+
+# coverage measurement
+coverage[toml]==7.9.2
+freezegun==1.5.3
diff --git a/setup.cfg b/setup.cfg
deleted file mode 100644
index 1ffc5648ee..0000000000
--- a/setup.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-[wheel]
-universal = 1
-
-[check-manifest]
-ignore =
-  requirements-dev.txt
-  .travis.yml
-  .coveragerc
diff --git a/setup.py b/setup.py
deleted file mode 100755
index 7cfb24cc19..0000000000
--- a/setup.py
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2013 - 2018, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  setup.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  March 2013.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  BUILD SOURCE DISTRIBUTION
-
-  The following shell command generates a TUF source archive that can be
-  distributed to other users.  The packaged source is saved to the 'dist'
-  folder in the current directory.
-
-  $ python setup.py sdist
-
-
-  INSTALLATION OPTIONS
-
-  pip - installing and managing Python packages (recommended):
-
-  # Installing from Python Package Index (https://pypi.python.org/pypi).
-  $ pip install tuf
-
-  # Installing from local source archive.
-  $ pip install <path to archive>
-
-  # Or from the root directory of the unpacked archive.
-  $ pip install .
-
-  # Installing optional requirements (i.e., after installing tuf).
-  # Support for creation of Ed25519 signatures and support for RSA and ECDSA
-  # signatures in general requires optional dependencies:
-  $ pip install securesystemslib[crypto,pynacl]
-
-
-  Alternate installation options:
-
-  Navigate to the root directory of the unpacked archive and
-  run one of the following shell commands:
-
-  Install to the global site-packages directory.
-  $ python setup.py install
-
-  Install to the user site-packages directory.
-  $ python setup.py install --user
-
-  Install to a chosen directory.
-  $ python setup.py install --home=<directory>
-
-
-  Note: The last two installation options may require modification of
-  Python's search path (i.e., 'sys.path') or updating an OS environment
-  variable.  For example, installing to the user site-packages directory might
-  result in the installation of TUF scripts to '~/.local/bin'.  The user may
-  then be required to update his $PATH variable:
-  $ export PATH=$PATH:~/.local/bin
-"""
-
-from setuptools import setup
-from setuptools import find_packages
-
-
-with open('README.md') as file_object:
-  long_description = file_object.read()
-
-
-setup(
-  name = 'tuf',
-  version = '0.17.0', # If updating version, also update it in tuf/__init__.py
-  description = 'A secure updater framework for Python',
-  long_description = long_description,
-  long_description_content_type='text/markdown',
-  author = 'https://www.updateframework.com',
-  author_email = 'theupdateframework@googlegroups.com',
-  url = 'https://www.updateframework.com',
-  keywords = 'update updater secure authentication key compromise revocation',
-  classifiers = [
-    'Development Status :: 4 - Beta',
-    'Intended Audience :: Developers',
-    'License :: OSI Approved :: MIT License',
-    'License :: OSI Approved :: Apache Software License',
-    'Natural Language :: English',
-    'Operating System :: POSIX',
-    'Operating System :: POSIX :: Linux',
-    'Operating System :: MacOS :: MacOS X',
-    'Operating System :: Microsoft :: Windows',
-    'Programming Language :: Python',
-    'Programming Language :: Python :: 2',
-    'Programming Language :: Python :: 2.7',
-    'Programming Language :: Python :: 3',
-    'Programming Language :: Python :: 3.6',
-    'Programming Language :: Python :: 3.7',
-    'Programming Language :: Python :: 3.8',
-    'Programming Language :: Python :: 3.9',
-    'Programming Language :: Python :: Implementation :: CPython',
-    'Topic :: Security',
-    'Topic :: Software Development'
-  ],
-  project_urls={
-    'Source': 'https://github.com/theupdateframework/tuf',
-    'Issues': 'https://github.com/theupdateframework/tuf/issues'
-  },
-  python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4",
-  install_requires = [
-    'requests>=2.19.1',
-    'six>=1.11.0',
-    'securesystemslib>=0.18.0'
-  ],
-  tests_require = [
-    'mock; python_version < "3.3"'
-  ],
-  packages = find_packages(exclude=['tests']),
-  scripts = [
-    'tuf/scripts/repo.py',
-    'tuf/scripts/client.py'
-  ]
-)
diff --git a/tests/.coveragerc b/tests/.coveragerc
deleted file mode 100644
index dd9c57e8ab..0000000000
--- a/tests/.coveragerc
+++ /dev/null
@@ -1,15 +0,0 @@
-[run]
-branch = True
-
-omit =
-    # Command-line scripts.
-    */tuf/scripts/client.py
-    */tuf/scripts/repo.py
-    */tests/*
-    */site-packages/*
-
-[report]
-exclude_lines =
-    pragma: no cover
-    def __str__
-    if __name__ == .__main__.:
diff --git a/tests/__init__.py b/tests/__init__.py
old mode 100755
new mode 100644
diff --git a/tests/aggregate_tests.py b/tests/aggregate_tests.py
deleted file mode 100755
index 49528e9034..0000000000
--- a/tests/aggregate_tests.py
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2013 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  aggregate_tests.py
-
-<Author>
-  Konstantin Andrianov.
-  Zane Fisher.
-
-<Started>
-  January 26, 2013.
-
-  August 2013.
-  Modified previous behavior that explicitly imported individual
-  unit tests. -Zane Fisher
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Run all the unit tests from every .py file beginning with "test_" in
-  'tuf/tests'.  Use --random to run the tests in random order.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import sys
-import unittest
-
-if __name__ == '__main__':
-  suite = unittest.TestLoader().discover(".")
-  all_tests_passed = unittest.TextTestRunner(
-      verbosity=1, buffer=True).run(suite).wasSuccessful()
-
-  if not all_tests_passed:
-    sys.exit(1)
-
-  else:
-    sys.exit(0)
diff --git a/tests/fast_server_exit.py b/tests/fast_server_exit.py
deleted file mode 100644
index b54b7b9230..0000000000
--- a/tests/fast_server_exit.py
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2020, TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  fast_server_exit.py
-
-<Author>
-  Martin Vrachev.
-
-<Started>
-  October 29, 2020.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Used for tests in tests/test_utils.py.
-"""
-
-import sys
-
-sys.exit(0)
diff --git a/tuf/client/__init__.py b/tests/generated_data/__init__.py
old mode 100755
new mode 100644
similarity index 100%
rename from tuf/client/__init__.py
rename to tests/generated_data/__init__.py
diff --git a/tests/generated_data/ed25519_metadata/root_with_ed25519.json b/tests/generated_data/ed25519_metadata/root_with_ed25519.json
new file mode 100644
index 0000000000..bdb78673eb
--- /dev/null
+++ b/tests/generated_data/ed25519_metadata/root_with_ed25519.json
@@ -0,0 +1,71 @@
+{
+ "signatures": [
+  {
+   "keyid": "5822582e7072996c1eef1cec24b61115d364987faa486659fe3d3dce8dae2aba",
+   "sig": "06fc2b26d10afae02689c96dee96ff40e702734accec6f3e69671dec0a59e0763bd7cb7d5ffa4b9e87441c4c98e798ce97cb462e7075e38ad9bc1d0d0c657309"
+  }
+ ],
+ "signed": {
+  "_type": "root",
+  "consistent_snapshot": true,
+  "expires": "2050-01-01T00:00:00Z",
+  "keys": {
+   "09d440e3725cec247dcb8703b646a87dd2a4d75343e8095c036c32795eefe3b9": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "250f9ae3d1d3d5c419a73cfb4a470c01de1d5d3d61a3825416b5f5d6b88f4a30"
+    },
+    "scheme": "ed25519"
+   },
+   "2be5c21e3614f9f178fb49c4a34d0c18ffac30abd14ced917c60a52c8d8094b7": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "0e6738fc1ac6fb4de680b4be99ecbcd99b030f3963f291277eef67bb9bd123e9"
+    },
+    "scheme": "ed25519"
+   },
+   "3458204ed467519c19a5316eb278b5608472a1bbf15850ebfb462d5315e4f86d": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "82380623abb9666d4bf274b1a02577469445a972e5650d270101faa5107b19c8"
+    },
+    "scheme": "ed25519"
+   },
+   "5822582e7072996c1eef1cec24b61115d364987faa486659fe3d3dce8dae2aba": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "b11d2ff132c033a657318c74c39526476c56de7556c776f11070842dbc4ac14c"
+    },
+    "scheme": "ed25519"
+   }
+  },
+  "roles": {
+   "root": {
+    "keyids": [
+     "5822582e7072996c1eef1cec24b61115d364987faa486659fe3d3dce8dae2aba"
+    ],
+    "threshold": 1
+   },
+   "snapshot": {
+    "keyids": [
+     "3458204ed467519c19a5316eb278b5608472a1bbf15850ebfb462d5315e4f86d"
+    ],
+    "threshold": 1
+   },
+   "targets": {
+    "keyids": [
+     "2be5c21e3614f9f178fb49c4a34d0c18ffac30abd14ced917c60a52c8d8094b7"
+    ],
+    "threshold": 1
+   },
+   "timestamp": {
+    "keyids": [
+     "09d440e3725cec247dcb8703b646a87dd2a4d75343e8095c036c32795eefe3b9"
+    ],
+    "threshold": 1
+   }
+  },
+  "spec_version": "1.0.31",
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/generated_data/ed25519_metadata/snapshot_with_ed25519.json b/tests/generated_data/ed25519_metadata/snapshot_with_ed25519.json
new file mode 100644
index 0000000000..ec14913d0c
--- /dev/null
+++ b/tests/generated_data/ed25519_metadata/snapshot_with_ed25519.json
@@ -0,0 +1,19 @@
+{
+ "signatures": [
+  {
+   "keyid": "3458204ed467519c19a5316eb278b5608472a1bbf15850ebfb462d5315e4f86d",
+   "sig": "bab356be0a82b85b9529aa4625cbd7b8e03b71d1a0fb5d3242f6e8377f102bcf60cc1b8c2a566fd5618c5f5ee3fc07745e84920d26e5514ad455868d7899ae03"
+  }
+ ],
+ "signed": {
+  "_type": "snapshot",
+  "expires": "2050-01-01T00:00:00Z",
+  "meta": {
+   "targets.json": {
+    "version": 1
+   }
+  },
+  "spec_version": "1.0.31",
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/generated_data/ed25519_metadata/targets_with_ed25519.json b/tests/generated_data/ed25519_metadata/targets_with_ed25519.json
new file mode 100644
index 0000000000..36572b58a2
--- /dev/null
+++ b/tests/generated_data/ed25519_metadata/targets_with_ed25519.json
@@ -0,0 +1,15 @@
+{
+ "signatures": [
+  {
+   "keyid": "2be5c21e3614f9f178fb49c4a34d0c18ffac30abd14ced917c60a52c8d8094b7",
+   "sig": "9e47f85b3edc79b7215bfee1291da46655deca0b6de99cb3968293218f3329855e57c1523120a50e3a2a8cc50aa9e886f4f74d902d28f43559f294681152f30b"
+  }
+ ],
+ "signed": {
+  "_type": "targets",
+  "expires": "2050-01-01T00:00:00Z",
+  "spec_version": "1.0.31",
+  "targets": {},
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/generated_data/ed25519_metadata/timestamp_with_ed25519.json b/tests/generated_data/ed25519_metadata/timestamp_with_ed25519.json
new file mode 100644
index 0000000000..9a6de5a9ef
--- /dev/null
+++ b/tests/generated_data/ed25519_metadata/timestamp_with_ed25519.json
@@ -0,0 +1,19 @@
+{
+ "signatures": [
+  {
+   "keyid": "09d440e3725cec247dcb8703b646a87dd2a4d75343e8095c036c32795eefe3b9",
+   "sig": "f1b1921a5963485eb5f1cf83f1b44548420bdcced420a367f0c42b63c91950410287f6d062824941085361c3906bb44a365352e2971787a653443ff8df484007"
+  }
+ ],
+ "signed": {
+  "_type": "timestamp",
+  "expires": "2050-01-01T00:00:00Z",
+  "meta": {
+   "snapshot.json": {
+    "version": 1
+   }
+  },
+  "spec_version": "1.0.31",
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/generated_data/generate_md.py b/tests/generated_data/generate_md.py
new file mode 100644
index 0000000000..c7cabeec78
--- /dev/null
+++ b/tests/generated_data/generate_md.py
@@ -0,0 +1,117 @@
+"""Script for generating new metadata files."""
+
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+from __future__ import annotations
+
+import os
+import sys
+from datetime import datetime, timezone
+
+from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
+from securesystemslib.signer import CryptoSigner, Signer, SSlibKey
+
+from tests import utils
+from tuf.api.metadata import Metadata, Root, Snapshot, Targets, Timestamp
+from tuf.api.serialization.json import JSONSerializer
+
+# Hardcode keys and expiry time to achieve reproducibility.
+public_values: list[str] = [
+    "b11d2ff132c033a657318c74c39526476c56de7556c776f11070842dbc4ac14c",
+    "250f9ae3d1d3d5c419a73cfb4a470c01de1d5d3d61a3825416b5f5d6b88f4a30",
+    "82380623abb9666d4bf274b1a02577469445a972e5650d270101faa5107b19c8",
+    "0e6738fc1ac6fb4de680b4be99ecbcd99b030f3963f291277eef67bb9bd123e9",
+]
+private_values: list[bytes] = [
+    bytes.fromhex(
+        "510e5e04d7a364af850533856eacdf65d30cc0f8803ecd5fdc0acc56ca2aa91c"
+    ),
+    bytes.fromhex(
+        "e6645b00312c8a257782e3e61e85bafda4317ad072c52251ef933d480c387abd"
+    ),
+    bytes.fromhex(
+        "cd13dd2180334b24c19b32aaf27f7e375a614d7ba0777220d5c2290bb2f9b868"
+    ),
+    bytes.fromhex(
+        "7e2e751145d1b22f6e40d4ba2aa47158207acfd3c003f1cbd5a08141dfc22a15"
+    ),
+]
+keyids: list[str] = [
+    "5822582e7072996c1eef1cec24b61115d364987faa486659fe3d3dce8dae2aba",
+    "09d440e3725cec247dcb8703b646a87dd2a4d75343e8095c036c32795eefe3b9",
+    "3458204ed467519c19a5316eb278b5608472a1bbf15850ebfb462d5315e4f86d",
+    "2be5c21e3614f9f178fb49c4a34d0c18ffac30abd14ced917c60a52c8d8094b7",
+]
+
+signers: list[Signer] = []
+for index in range(len(keyids)):
+    key = SSlibKey(
+        keyids[index],
+        "ed25519",
+        "ed25519",
+        {"public": public_values[index]},
+    )
+    private_key = Ed25519PrivateKey.from_private_bytes(private_values[index])
+    signers.append(CryptoSigner(private_key, key))
+
+EXPIRY = datetime(2050, 1, 1, tzinfo=timezone.utc)
+
+SERIALIZER = JSONSerializer()
+
+
+def verify_generation(md: Metadata, path: str) -> None:
+    """Verify that newly generated file equals the locally stored one.
+
+    Args:
+        md: Newly generated metadata object.
+        path: Path to the locally stored metadata file.
+    """
+    with open(path, "rb") as f:
+        static_md_bytes = f.read()
+        md_bytes = md.to_bytes(SERIALIZER)
+        if static_md_bytes != md_bytes:
+            raise ValueError(
+                f"Generated data != local data at {path}. Generate a new "
+                "metadata with 'python generated_data/generate_md.py'"
+            )
+
+
+def generate_all_files(dump: bool = False) -> None:
+    """Generate a new repository or verify that output has not changed.
+
+    Args:
+        dump: If True, new files are generated. If False, existing files
+           are compared to generated files and an exception is raised if
+           there are differences.
+    """
+    md_root = Metadata(Root(expires=EXPIRY))
+    md_timestamp = Metadata(Timestamp(expires=EXPIRY))
+    md_snapshot = Metadata(Snapshot(expires=EXPIRY))
+    md_targets = Metadata(Targets(expires=EXPIRY))
+
+    md_root.signed.add_key(signers[0].public_key, "root")
+    md_root.signed.add_key(signers[1].public_key, "timestamp")
+    md_root.signed.add_key(signers[2].public_key, "snapshot")
+    md_root.signed.add_key(signers[3].public_key, "targets")
+
+    for i, md in enumerate([md_root, md_timestamp, md_snapshot, md_targets]):
+        assert isinstance(md, Metadata)
+        md.sign(signers[i])
+        path = os.path.join(
+            utils.TESTS_DIR,
+            "generated_data",
+            "ed25519_metadata",
+            f"{md.signed.type}_with_ed25519.json",
+        )
+        if dump:
+            md.to_file(path, SERIALIZER)
+        else:
+            verify_generation(md, path)
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    # To generate a new set of metadata files this script is supposed to be run
+    # from the "tests" folder.
+    generate_all_files(dump=True)
diff --git a/tests/proxy_server.py b/tests/proxy_server.py
deleted file mode 100644
index 7dec621f57..0000000000
--- a/tests/proxy_server.py
+++ /dev/null
@@ -1,498 +0,0 @@
-#!/usr/bin/env python
-
-# This code is taken from: github.com/inaz2/proxy2
-# Credit goes to the author. It has been very slightly modified here to use
-# IPv4 instead of IPv6, and to only attempt interception of HTTPS traffic
-# (instead of relaying via HTTP CONNECT) if new global variable INTERCEPT is
-# set to True. (Modified sections are marked '# MODIFIED'.)
-#
-# Because this is a helper module for a test, the style is less important, and
-# so to minimize changes from the source, it has NOT been changed to match the
-# TUF project's code style outside of rewritten sections.
-
-"""
-<Program>
-  proxy_server.py
-
-<Copyright>
-  Taken from a repository set to BSD 3-Clause "New" or "Revised" License. See:
-  https://github.com/inaz2/proxy2/blob/b2bab648173ac69f0a10421750125517accdfe26/LICENSE
-
-<Purpose>
-  Serves as an HTTP, HTTP CONNECT (TCP), and HTTPS proxy, for testing purposes.
-  This is used by test_proxy_use.py.
-
-  In Python versions < 2.7.9, this proxy does not perform certificate
-  validation of the target server. As that is not part of what the current
-  tests using this script require, that is currently OK. In Python
-  versions > 2.7.9 (SSLContext was added in 2.7.9), the same code actually does
-  check the certificate, using the system's trusted CAs. As a result, since we
-  are using custom certificates, we need to either disable certificate
-  checking in 2.7.9 or load the specific CA for target test server, using the
-  SSLContext and create_default_context functionality also added in 2.7.9. It
-  is easier to do the latter, so the behavior in 2.7.9+ is to check the cert
-  and below 2.7.9 is not to. Note that we do not support Python < 2.7.
-  SSLContext is also available in all Python3 versions that we support.
-
-  This module requires Python2.7 and does not support Python3.
-
-  Note that this is not thread-safe, in part due to its use of globals.
-"""
-
-import sys
-import os
-import socket
-import ssl
-import select
-import httplib
-import urlparse
-import threading
-import gzip
-import zlib
-import time
-import json
-import re
-from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
-from SocketServer import ThreadingMixIn
-from cStringIO import StringIO
-from subprocess import Popen, PIPE
-from HTMLParser import HTMLParser
-
-# MODIFIED: (added) three globals
-# INTERCEPT: A boolean:
-#  False: normal HTTP proxy. Support HTTP & HTTPS connections to target server
-#  True:  intercepting MITM transparent HTTPS proxy. Makes own TLS connections
-#         and has its own cert; must be trusted by the client and is able to
-#         modify requests.
-# TARGET_SERVER_CA_FILEPATH: location of certificate to use as CA for
-#   connections to target servers (to constrain certs to trust from target
-#   servers).
-# The remaining globals define the certs and keys to be used in communications
-# with the client, with the proxy's CA signing new certs for individual hosts
-# the client wishes to connect to, and placing them in dir PROXY_CERTS_DIR.
-INTERCEPT = False
-CERTS_DIR = os.path.join(
-    os.path.dirname(os.path.abspath(__file__)), 'ssl_certs')
-TARGET_SERVER_CA_FILEPATH = os.path.join(CERTS_DIR, 'ssl_cert.crt')
-PROXY_CA_KEY = os.path.join(CERTS_DIR, 'proxy_ca.key') # was cakey
-PROXY_CA_CERT = os.path.join(CERTS_DIR, 'proxy_ca.crt') # was cacert
-PROXY_CERTS_KEY = os.path.join(CERTS_DIR, 'proxy_cert.key') # was certkey
-PROXY_CERTS_DIR = os.path.join(CERTS_DIR, 'proxy_certs') # was certdir
-
-
-def with_color(c, s):
-    return "\x1b[%dm%s\x1b[0m" % (c, s)
-
-# MODIFIED: removed join_with_script_dir
-# def get_cert_filepath(path):
-#   return os.path.join(CERTS_DIR, path)
-
-
-class ThreadingHTTPServer(ThreadingMixIn, HTTPServer):
-    address_family = socket.AF_INET # MODIFIED to use IPv4 instead of IPv6
-    daemon_threads = True
-
-    def handle_error(self, request, client_address):
-        # suppress socket/ssl related errors
-        cls, e = sys.exc_info()[:2]
-        if cls is socket.error or cls is ssl.SSLError:
-            pass
-        else:
-            return HTTPServer.handle_error(self, request, client_address)
-
-
-class ProxyRequestHandler(BaseHTTPRequestHandler):
-    # MODIFIED: Variables here made into globals.
-    #Calls below modified: filenames changed, function changed to
-    # include ssl_certs directory.
-    timeout = 5
-    lock = threading.Lock()
-
-    def __init__(self, *args, **kwargs):
-        self.tls = threading.local()
-        self.tls.conns = {}
-
-        BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
-
-    def log_error(self, format, *args):
-        # suppress "Request timed out: timeout('timed out',)"
-        if isinstance(args[0], socket.timeout):
-            return
-
-        self.log_message(format, *args)
-
-    def do_CONNECT(self):
-      # MODIFIED: This function has been modified to use new global INTERCEPT
-      # and to issue an error if the necessary certificate/key files are
-      # missing for interception attempts.
-      if not INTERCEPT:
-        print('\n\nRELAYING\n\n')
-        self.connect_relay()
-
-      else:
-        assert os.path.isfile(PROXY_CA_KEY) \
-            and os.path.isfile(PROXY_CA_CERT) \
-            and os.path.isfile(PROXY_CERTS_KEY) \
-            and os.path.isdir(PROXY_CERTS_DIR), \
-            '\nMissing key or certificate files; unable to perform TLS ' \
-            'handshake with client to intercept traffic.\n'
-        print('\n\nINTERCEPTING\n\n')
-        self.connect_intercept()
-
-    def connect_intercept(self):
-        hostname = self.path.split(':')[0]
-        certpath = os.path.join(PROXY_CERTS_DIR, hostname + '.crt') # MODIFIED for Windows compatibility and to use new globals
-
-        with self.lock:
-            if not os.path.isfile(certpath):
-                epoch = "%d" % (time.time() * 1000)
-                p1 = Popen(["openssl", "req", "-new", "-key", PROXY_CERTS_KEY, "-subj", "/CN=%s" % hostname], stdout=PIPE)
-                p2 = Popen(["openssl", "x509", "-req", "-days", "3650", "-CA", PROXY_CA_CERT, "-CAkey", PROXY_CA_KEY, "-set_serial", epoch, "-out", certpath], stdin=p1.stdout, stderr=PIPE) # MODIFIED to use the new globals
-                p2.communicate()
-
-        self.wfile.write("%s %d %s\r\n" % (self.protocol_version, 200, 'Connection Established'))
-        self.end_headers()
-
-        self.connection = ssl.wrap_socket(self.connection, keyfile=PROXY_CERTS_KEY, certfile=certpath, server_side=True) # MODIFIED: Updated to use new globals
-        self.rfile = self.connection.makefile("rb", self.rbufsize)
-        self.wfile = self.connection.makefile("wb", self.wbufsize)
-
-        conntype = self.headers.get('Proxy-Connection', '')
-        if self.protocol_version == "HTTP/1.1" and conntype.lower() != 'close':
-            self.close_connection = 0
-        else:
-            self.close_connection = 1
-
-    def connect_relay(self):
-        address = self.path.split(':', 1)
-        address[1] = int(address[1]) or 443
-        try:
-            s = socket.create_connection(address, timeout=self.timeout)
-        except Exception as e:
-            self.send_error(502)
-            return
-        self.send_response(200, 'Connection Established')
-        self.end_headers()
-
-        conns = [self.connection, s]
-        self.close_connection = 0
-        while not self.close_connection:
-            rlist, wlist, xlist = select.select(conns, [], conns, self.timeout)
-            if xlist or not rlist:
-                break
-            for r in rlist:
-                other = conns[1] if r is conns[0] else conns[0]
-                data = r.recv(8192)
-                if not data:
-                    self.close_connection = 1
-                    break
-                other.sendall(data)
-
-    def do_GET(self):
-        if self.path == 'http://proxy2.test/':
-            self.send_cacert()
-            return
-
-        req = self
-        content_length = int(req.headers.get('Content-Length', 0))
-        req_body = self.rfile.read(content_length) if content_length else None
-
-        if req.path[0] == '/':
-            if isinstance(self.connection, ssl.SSLSocket):
-                req.path = "https://%s%s" % (req.headers['Host'], req.path)
-            else:
-                req.path = "http://%s%s" % (req.headers['Host'], req.path)
-
-        req_body_modified = self.request_handler(req, req_body)
-        if req_body_modified is False:
-            self.send_error(403)
-            return
-        elif req_body_modified is not None:
-            req_body = req_body_modified
-            req.headers['Content-length'] = str(len(req_body))
-
-        u = urlparse.urlsplit(req.path)
-        scheme, netloc, path = u.scheme, u.netloc, (u.path + '?' + u.query if u.query else u.path)
-        assert scheme in ('http', 'https')
-        if netloc:
-            req.headers['Host'] = netloc
-        setattr(req, 'headers', self.filter_headers(req.headers))
-
-        try:
-            origin = (scheme, netloc)
-            if not origin in self.tls.conns:
-                if scheme == 'https':
-                  # MODIFIED: Added Python version checking and changed behavior
-                  # in Python2.7.9+ to use custom certificate for target server
-                  # inherited from command line argument.
-                  # In Python versions < 2.7.9, there is no certificate
-                  # validation through this method of the target server.
-                  # In supported Python versions > 2.7.9, we check the target
-                  # server's certificate against our expected custom cert.
-                  # See this script's docstring.
-                  if sys.version_info.major == 2 \
-                      and sys.version_info.minor == 7 \
-                      and sys.version_info.micro < 9:
-                    self.tls.conns[origin] = httplib.HTTPSConnection(
-                        netloc, timeout=self.timeout)
-                  else:
-                    self.tls.conns[origin] = httplib.HTTPSConnection(
-                        netloc, timeout=self.timeout,
-                        context=ssl.create_default_context( # reqs Python2.7.9+
-                        cafile=TARGET_SERVER_CA_FILEPATH))
-                else:
-                    self.tls.conns[origin] = httplib.HTTPConnection(netloc, timeout=self.timeout)
-            conn = self.tls.conns[origin]
-            conn.request(self.command, path, req_body, dict(req.headers))
-            res = conn.getresponse()
-
-            version_table = {10: 'HTTP/1.0', 11: 'HTTP/1.1'}
-            setattr(res, 'headers', res.msg)
-            setattr(res, 'response_version', version_table[res.version])
-
-            # support streaming
-            if not 'Content-Length' in res.headers and 'no-store' in res.headers.get('Cache-Control', ''):
-                self.response_handler(req, req_body, res, '')
-                setattr(res, 'headers', self.filter_headers(res.headers))
-                self.relay_streaming(res)
-                with self.lock:
-                    self.save_handler(req, req_body, res, '')
-                return
-
-            res_body = res.read()
-        except Exception as e:
-            if origin in self.tls.conns:
-                del self.tls.conns[origin]
-            self.send_error(502)
-            return
-
-        content_encoding = res.headers.get('Content-Encoding', 'identity')
-        res_body_plain = self.decode_content_body(res_body, content_encoding)
-
-        res_body_modified = self.response_handler(req, req_body, res, res_body_plain)
-        if res_body_modified is False:
-            self.send_error(403)
-            return
-        elif res_body_modified is not None:
-            res_body_plain = res_body_modified
-            res_body = self.encode_content_body(res_body_plain, content_encoding)
-            res.headers['Content-Length'] = str(len(res_body))
-
-        setattr(res, 'headers', self.filter_headers(res.headers))
-
-        self.wfile.write("%s %d %s\r\n" % (self.protocol_version, res.status, res.reason))
-        for line in res.headers.headers:
-            self.wfile.write(line)
-        self.end_headers()
-        self.wfile.write(res_body)
-        self.wfile.flush()
-
-        with self.lock:
-            self.save_handler(req, req_body, res, res_body_plain)
-
-    def relay_streaming(self, res):
-        self.wfile.write("%s %d %s\r\n" % (self.protocol_version, res.status, res.reason))
-        for line in res.headers.headers:
-            self.wfile.write(line)
-        self.end_headers()
-        try:
-            while True:
-                chunk = res.read(8192)
-                if not chunk:
-                    break
-                self.wfile.write(chunk)
-            self.wfile.flush()
-        except socket.error:
-            # connection closed by client
-            pass
-
-    do_HEAD = do_GET
-    do_POST = do_GET
-    do_PUT = do_GET
-    do_DELETE = do_GET
-    do_OPTIONS = do_GET
-
-    def filter_headers(self, headers):
-        # http://tools.ietf.org/html/rfc2616#section-13.5.1
-        hop_by_hop = ('connection', 'keep-alive', 'proxy-authenticate', 'proxy-authorization', 'te', 'trailers', 'transfer-encoding', 'upgrade')
-        for k in hop_by_hop:
-            del headers[k]
-
-        # accept only supported encodings
-        if 'Accept-Encoding' in headers:
-            ae = headers['Accept-Encoding']
-            filtered_encodings = [x for x in re.split(r',\s*', ae) if x in ('identity', 'gzip', 'x-gzip', 'deflate')]
-            headers['Accept-Encoding'] = ', '.join(filtered_encodings)
-
-        return headers
-
-    def encode_content_body(self, text, encoding):
-        if encoding == 'identity':
-            data = text
-        elif encoding in ('gzip', 'x-gzip'):
-            io = StringIO()
-            with gzip.GzipFile(fileobj=io, mode='wb') as f:
-                f.write(text)
-            data = io.getvalue()
-        elif encoding == 'deflate':
-            data = zlib.compress(text)
-        else:
-            raise Exception("Unknown Content-Encoding: %s" % encoding)
-        return data
-
-    def decode_content_body(self, data, encoding):
-        if encoding == 'identity':
-            text = data
-        elif encoding in ('gzip', 'x-gzip'):
-            io = StringIO(data)
-            with gzip.GzipFile(fileobj=io) as f:
-                text = f.read()
-        elif encoding == 'deflate':
-            try:
-                text = zlib.decompress(data)
-            except zlib.error:
-                text = zlib.decompress(data, -zlib.MAX_WBITS)
-        else:
-            raise Exception("Unknown Content-Encoding: %s" % encoding)
-        return text
-
-    def send_cacert(self):
-        with open(PROXY_CA_CERT, 'rb') as f: # MODIFIED to use new globals
-            data = f.read()
-
-        self.wfile.write("%s %d %s\r\n" % (self.protocol_version, 200, 'OK'))
-        self.send_header('Content-Type', 'application/x-x509-ca-cert')
-        self.send_header('Content-Length', len(data))
-        self.send_header('Connection', 'close')
-        self.end_headers()
-        self.wfile.write(data)
-
-    def print_info(self, req, req_body, res, res_body):
-        def parse_qsl(s):
-            return '\n'.join("%-20s %s" % (k, v) for k, v in urlparse.parse_qsl(s, keep_blank_values=True))
-
-        req_header_text = "%s %s %s\n%s" % (req.command, req.path, req.request_version, req.headers)
-        res_header_text = "%s %d %s\n%s" % (res.response_version, res.status, res.reason, res.headers)
-
-        print with_color(33, req_header_text)
-
-        u = urlparse.urlsplit(req.path)
-        if u.query:
-            query_text = parse_qsl(u.query)
-            print with_color(32, "==== QUERY PARAMETERS ====\n%s\n" % query_text)
-
-        cookie = req.headers.get('Cookie', '')
-        if cookie:
-            cookie = parse_qsl(re.sub(r';\s*', '&', cookie))
-            print with_color(32, "==== COOKIE ====\n%s\n" % cookie)
-
-        auth = req.headers.get('Authorization', '')
-        if auth.lower().startswith('basic'):
-            token = auth.split()[1].decode('base64')
-            print with_color(31, "==== BASIC AUTH ====\n%s\n" % token)
-
-        if req_body is not None:
-            req_body_text = None
-            content_type = req.headers.get('Content-Type', '')
-
-            if content_type.startswith('application/x-www-form-urlencoded'):
-                req_body_text = parse_qsl(req_body)
-            elif content_type.startswith('application/json'):
-                try:
-                    json_obj = json.loads(req_body)
-                    json_str = json.dumps(json_obj, indent=2)
-                    if json_str.count('\n') < 50:
-                        req_body_text = json_str
-                    else:
-                        lines = json_str.splitlines()
-                        req_body_text = "%s\n(%d lines)" % ('\n'.join(lines[:50]), len(lines))
-                except ValueError:
-                    req_body_text = req_body
-            elif len(req_body) < 1024:
-                req_body_text = req_body
-
-            if req_body_text:
-                print with_color(32, "==== REQUEST BODY ====\n%s\n" % req_body_text)
-
-        print with_color(36, res_header_text)
-
-        cookies = res.headers.getheaders('Set-Cookie')
-        if cookies:
-            cookies = '\n'.join(cookies)
-            print with_color(31, "==== SET-COOKIE ====\n%s\n" % cookies)
-
-        if res_body is not None:
-            res_body_text = None
-            content_type = res.headers.get('Content-Type', '')
-
-            if content_type.startswith('application/json'):
-                try:
-                    json_obj = json.loads(res_body)
-                    json_str = json.dumps(json_obj, indent=2)
-                    if json_str.count('\n') < 50:
-                        res_body_text = json_str
-                    else:
-                        lines = json_str.splitlines()
-                        res_body_text = "%s\n(%d lines)" % ('\n'.join(lines[:50]), len(lines))
-                except ValueError:
-                    res_body_text = res_body
-            elif content_type.startswith('text/html'):
-                m = re.search(r'<title[^>]*>\s*([^<]+?)\s*</title>', res_body, re.I)
-                if m:
-                    h = HTMLParser()
-                    print with_color(32, "==== HTML TITLE ====\n%s\n" % h.unescape(m.group(1).decode('utf-8')))
-            elif content_type.startswith('text/') and len(res_body) < 1024:
-                res_body_text = res_body
-
-            if res_body_text:
-                print with_color(32, "==== RESPONSE BODY ====\n%s\n" % res_body_text)
-
-    def request_handler(self, req, req_body):
-        pass
-
-    def response_handler(self, req, req_body, res, res_body):
-        pass
-
-    def save_handler(self, req, req_body, res, res_body):
-        self.print_info(req, req_body, res, res_body)
-
-
-def test(HandlerClass=ProxyRequestHandler, ServerClass=ThreadingHTTPServer, protocol="HTTP/1.1"):
-    # MODIFIED: Added these globals.
-    global INTERCEPT
-    global TARGET_SERVER_CA_FILEPATH
-
-    server_address = ('localhost', 0)
-
-    # MODIFIED: Argument added, conditional below added to control INTERCEPT
-    # setting.
-    if len(sys.argv) > 1:
-      if sys.argv[1].lower() == 'intercept':
-        INTERCEPT = True
-
-    # MODIFIED: Argument added to control certificate(s) the proxy expects of
-    # the target server(s), and added default value.
-    if len(sys.argv) > 2:
-      if os.path.exists(sys.argv[2]):
-        TARGET_SERVER_CA_FILEPATH = sys.argv[2]
-      else:
-        raise Exception('Target server cert file not found: ' + sys.argv[2])
-
-    # MODIFIED: Create the target-host-specific proxy certificates directory if
-    # it doesn't already exist.
-    if not os.path.exists(PROXY_CERTS_DIR):
-      os.mkdir(PROXY_CERTS_DIR)
-
-
-    HandlerClass.protocol_version = protocol
-    httpd = ServerClass(server_address, HandlerClass)
-    sa = httpd.socket.getsockname()
-    port_message = 'bind succeeded, server port is: ' + str(sa[1])
-    print(port_message)
-    print("Serving HTTP Proxy on", sa[0], "port", sa[1], "...")
-    httpd.serve_forever()
-
-
-
-if __name__ == '__main__':
-    test()
diff --git a/tests/repository_data/README.md b/tests/repository_data/README.md
deleted file mode 100644
index 50ceb0114b..0000000000
--- a/tests/repository_data/README.md
+++ /dev/null
@@ -1,48 +0,0 @@
-# Unit and integration testing
-
-## Running the tests
-The unit and integration tests can be executed by invoking `tox` from any
-path under the project directory.
-
-```
-$ tox
-```
-
-Or by invoking `aggregate_tests.py` from the
-[tests](https://github.com/theupdateframework/tuf/tree/develop/tests)
-directory.
-
-```
-$ python aggregate_tests.py
-```
-
-Note: integration tests end in `_integration.py`.
-
-If you wish to run a particular unit test, navigate to the tests directory and
-run that specific unit test.  For example:
-
-```
-$ python test_updater.py
-```
-
-It it also possible to run the test cases of a unit test.  For instance:
-
-```
-$ python -m unittest test_updater.TestMultiRepoUpdater.test_get_one_valid_targetinfo
-```
-
-## Setup
-The unit and integration tests operate on static metadata available in the
-[repository_data
-directory](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data/).
-Before running the tests, static metadata is first copied to temporary
-directories and modified, as needed, by the tests.
-
-The test modules typically spawn HTTP(S) servers that serve metadata and target
-files for the unit tests.  The [map
-file](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data)
-specifies the location of the test repositories and other properties.  For
-specific targets and metadata provided by the tests repositories, please
-inspect their [respective
-metadata](https://github.com/theupdateframework/tuf/tree/develop/tests/repository_data/repository).
-
diff --git a/tests/repository_data/client/test_repository1/metadata/current/1.root.json b/tests/repository_data/client/test_repository1/metadata/current/1.root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/current/1.root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/1.root.json b/tests/repository_data/client/test_repository1/metadata/previous/1.root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/1.root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/role1.json b/tests/repository_data/client/test_repository1/metadata/previous/role1.json
deleted file mode 100644
index 0ac4687e77..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/role1.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "9408b46569e622a46f1d35d9fa3c10e17a9285631ced4f2c9c2bba2c2842413fcb796db4e81d6f988fc056c21c407fdc3c10441592cf1e837e088f2e2dfd5403"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role2",
-     "paths": [],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file3.txt": {
-    "hashes": {
-     "sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
-     "sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
-    },
-    "length": 28
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/role2.json b/tests/repository_data/client/test_repository1/metadata/previous/role2.json
deleted file mode 100644
index 93f378a758..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/role2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {},
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/root.json b/tests/repository_data/client/test_repository1/metadata/previous/root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/snapshot.json b/tests/repository_data/client/test_repository1/metadata/previous/snapshot.json
deleted file mode 100644
index 7c8c091a2e..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/snapshot.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
-   "sig": "085672c70dffe26610e58542ee552843633cfed973abdad94c56138dbf0cd991644f2d3f27e4dda3098e08ab676e7f52627b587947ae69db1012d59a6da18e0c"
-  }
- ],
- "signed": {
-  "_type": "snapshot",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "role1.json": {
-    "version": 1
-   },
-   "role2.json": {
-    "version": 1
-   },
-   "targets.json": {
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/targets.json b/tests/repository_data/client/test_repository1/metadata/previous/targets.json
deleted file mode 100644
index 8e21c269b4..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/targets.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093",
-   "sig": "d65f8db0c1a8f0976552b9742bbb393f24a5fa5eaf145c37aee047236c79dd0b83cfbb8b49fa7803689dfe0031dcf22c4d006b593acac07d69093b9b81722c08"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role1",
-     "paths": [
-      "file3.txt"
-     ],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file1.txt": {
-    "custom": {
-     "file_permissions": "0644"
-    },
-    "hashes": {
-     "sha256": "65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da",
-     "sha512": "467430a68afae8e9f9c0771ea5d78bf0b3a0d79a2d3d3b40c69fde4dd42c461448aef76fcef4f5284931a1ffd0ac096d138ba3a0d6ca83fa8d7285a47a296f77"
-    },
-    "length": 31
-   },
-   "file2.txt": {
-    "hashes": {
-     "sha256": "452ce8308500d83ef44248d8e6062359211992fd837ea9e370e561efb1a4ca99",
-     "sha512": "052b49a21e03606b28942db69aa597530fe52d47ee3d748ba65afcd14b857738e36bc1714c4f4adde46c3e683548552fe5c96722e0e0da3acd9050c2524902d8"
-    },
-    "length": 39
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository1/metadata/previous/timestamp.json b/tests/repository_data/client/test_repository1/metadata/previous/timestamp.json
deleted file mode 100644
index 9a0daf078b..0000000000
--- a/tests/repository_data/client/test_repository1/metadata/previous/timestamp.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758",
-   "sig": "de0e16920f87bf5500cc65736488ac17e09788cce808f6a4e85eb9e4e478a312b4c1a2d7723af56f7bfb1df533c67d8c93b6f49d39eabe7fae391a08e1f72f01"
-  }
- ],
- "signed": {
-  "_type": "timestamp",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "snapshot.json": {
-    "hashes": {
-     "sha256": "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"
-    },
-    "length": 515,
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/1.root.json b/tests/repository_data/client/test_repository2/metadata/current/1.root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/1.root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/role1.json b/tests/repository_data/client/test_repository2/metadata/current/role1.json
deleted file mode 100644
index 0ac4687e77..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/role1.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "9408b46569e622a46f1d35d9fa3c10e17a9285631ced4f2c9c2bba2c2842413fcb796db4e81d6f988fc056c21c407fdc3c10441592cf1e837e088f2e2dfd5403"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role2",
-     "paths": [],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file3.txt": {
-    "hashes": {
-     "sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
-     "sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
-    },
-    "length": 28
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/role2.json b/tests/repository_data/client/test_repository2/metadata/current/role2.json
deleted file mode 100644
index 93f378a758..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/role2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {},
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/root.json b/tests/repository_data/client/test_repository2/metadata/current/root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/snapshot.json b/tests/repository_data/client/test_repository2/metadata/current/snapshot.json
deleted file mode 100644
index 7c8c091a2e..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/snapshot.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
-   "sig": "085672c70dffe26610e58542ee552843633cfed973abdad94c56138dbf0cd991644f2d3f27e4dda3098e08ab676e7f52627b587947ae69db1012d59a6da18e0c"
-  }
- ],
- "signed": {
-  "_type": "snapshot",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "role1.json": {
-    "version": 1
-   },
-   "role2.json": {
-    "version": 1
-   },
-   "targets.json": {
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/targets.json b/tests/repository_data/client/test_repository2/metadata/current/targets.json
deleted file mode 100644
index 8e21c269b4..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/targets.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093",
-   "sig": "d65f8db0c1a8f0976552b9742bbb393f24a5fa5eaf145c37aee047236c79dd0b83cfbb8b49fa7803689dfe0031dcf22c4d006b593acac07d69093b9b81722c08"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role1",
-     "paths": [
-      "file3.txt"
-     ],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file1.txt": {
-    "custom": {
-     "file_permissions": "0644"
-    },
-    "hashes": {
-     "sha256": "65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da",
-     "sha512": "467430a68afae8e9f9c0771ea5d78bf0b3a0d79a2d3d3b40c69fde4dd42c461448aef76fcef4f5284931a1ffd0ac096d138ba3a0d6ca83fa8d7285a47a296f77"
-    },
-    "length": 31
-   },
-   "file2.txt": {
-    "hashes": {
-     "sha256": "452ce8308500d83ef44248d8e6062359211992fd837ea9e370e561efb1a4ca99",
-     "sha512": "052b49a21e03606b28942db69aa597530fe52d47ee3d748ba65afcd14b857738e36bc1714c4f4adde46c3e683548552fe5c96722e0e0da3acd9050c2524902d8"
-    },
-    "length": 39
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/current/timestamp.json b/tests/repository_data/client/test_repository2/metadata/current/timestamp.json
deleted file mode 100644
index 9a0daf078b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/current/timestamp.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758",
-   "sig": "de0e16920f87bf5500cc65736488ac17e09788cce808f6a4e85eb9e4e478a312b4c1a2d7723af56f7bfb1df533c67d8c93b6f49d39eabe7fae391a08e1f72f01"
-  }
- ],
- "signed": {
-  "_type": "timestamp",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "snapshot.json": {
-    "hashes": {
-     "sha256": "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"
-    },
-    "length": 515,
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/1.root.json b/tests/repository_data/client/test_repository2/metadata/previous/1.root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/1.root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/role1.json b/tests/repository_data/client/test_repository2/metadata/previous/role1.json
deleted file mode 100644
index 0ac4687e77..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/role1.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "9408b46569e622a46f1d35d9fa3c10e17a9285631ced4f2c9c2bba2c2842413fcb796db4e81d6f988fc056c21c407fdc3c10441592cf1e837e088f2e2dfd5403"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role2",
-     "paths": [],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file3.txt": {
-    "hashes": {
-     "sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
-     "sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
-    },
-    "length": 28
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/role2.json b/tests/repository_data/client/test_repository2/metadata/previous/role2.json
deleted file mode 100644
index 93f378a758..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/role2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {},
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/root.json b/tests/repository_data/client/test_repository2/metadata/previous/root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/snapshot.json b/tests/repository_data/client/test_repository2/metadata/previous/snapshot.json
deleted file mode 100644
index 7c8c091a2e..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/snapshot.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
-   "sig": "085672c70dffe26610e58542ee552843633cfed973abdad94c56138dbf0cd991644f2d3f27e4dda3098e08ab676e7f52627b587947ae69db1012d59a6da18e0c"
-  }
- ],
- "signed": {
-  "_type": "snapshot",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "role1.json": {
-    "version": 1
-   },
-   "role2.json": {
-    "version": 1
-   },
-   "targets.json": {
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/targets.json b/tests/repository_data/client/test_repository2/metadata/previous/targets.json
deleted file mode 100644
index 8e21c269b4..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/targets.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093",
-   "sig": "d65f8db0c1a8f0976552b9742bbb393f24a5fa5eaf145c37aee047236c79dd0b83cfbb8b49fa7803689dfe0031dcf22c4d006b593acac07d69093b9b81722c08"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role1",
-     "paths": [
-      "file3.txt"
-     ],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file1.txt": {
-    "custom": {
-     "file_permissions": "0644"
-    },
-    "hashes": {
-     "sha256": "65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da",
-     "sha512": "467430a68afae8e9f9c0771ea5d78bf0b3a0d79a2d3d3b40c69fde4dd42c461448aef76fcef4f5284931a1ffd0ac096d138ba3a0d6ca83fa8d7285a47a296f77"
-    },
-    "length": 31
-   },
-   "file2.txt": {
-    "hashes": {
-     "sha256": "452ce8308500d83ef44248d8e6062359211992fd837ea9e370e561efb1a4ca99",
-     "sha512": "052b49a21e03606b28942db69aa597530fe52d47ee3d748ba65afcd14b857738e36bc1714c4f4adde46c3e683548552fe5c96722e0e0da3acd9050c2524902d8"
-    },
-    "length": 39
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/client/test_repository2/metadata/previous/timestamp.json b/tests/repository_data/client/test_repository2/metadata/previous/timestamp.json
deleted file mode 100644
index 9a0daf078b..0000000000
--- a/tests/repository_data/client/test_repository2/metadata/previous/timestamp.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758",
-   "sig": "de0e16920f87bf5500cc65736488ac17e09788cce808f6a4e85eb9e4e478a312b4c1a2d7723af56f7bfb1df533c67d8c93b6f49d39eabe7fae391a08e1f72f01"
-  }
- ],
- "signed": {
-  "_type": "timestamp",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "snapshot.json": {
-    "hashes": {
-     "sha256": "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"
-    },
-    "length": 515,
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/1.a.json b/tests/repository_data/fishy_rolenames/1.a.json
new file mode 100644
index 0000000000..a55173a269
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/1.a.json
@@ -0,0 +1,15 @@
+{
+ "signatures": [
+  {
+   "keyid": "f9b50dd62b5540788b5c5cde0842124b64fa467261bc349dd77de49568eed0ef",
+   "sig": "a36aa69e0c35d8b5b9578bc656ce5d8a76ea05a2c814f59cc710a11f5e3fe6c7bcbef2bfba4812e3b2936f99e89f10862f6320c901e213f1343e79525474920a"
+  }
+ ],
+ "signed": {
+  "_type": "targets",
+  "expires": "2050-10-22T11:21:56Z",
+  "spec_version": "1.0.19",
+  "targets": {},
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/metadata/1...json b/tests/repository_data/fishy_rolenames/metadata/1...json
new file mode 100644
index 0000000000..e5ae82eeb1
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/metadata/1...json
@@ -0,0 +1,15 @@
+{
+ "signatures": [
+  {
+   "keyid": "80a5bda93ec130c2fda8ce0c619d7b122b24cc2e0743afedf98a8e368d32019c",
+   "sig": "8fff438c2347dd7c4fb94c43ec347bcd6b0e79521bd11d95121cb8cc25723efa38565a959a6123da0a2375a2093e53f13a5412df9e51397e06b313837d0d590c"
+  }
+ ],
+ "signed": {
+  "_type": "targets",
+  "expires": "2050-10-22T11:21:56Z",
+  "spec_version": "1.0.19",
+  "targets": {},
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/metadata/1.root.json b/tests/repository_data/fishy_rolenames/metadata/1.root.json
new file mode 100644
index 0000000000..69cc04c4a4
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/metadata/1.root.json
@@ -0,0 +1,71 @@
+{
+ "signatures": [
+  {
+   "keyid": "72b70899257dc30b596af3a9fe141a924af821aff28ed58d1aea0db9f70a70f7",
+   "sig": "53ae844137dd04abf9d3ed10380ba46fa2726f328963ffe006aa955804afa3b0d100bc59610c1584234a9598ab4b9af762b533174b8b8d8aaf2be8e413c1b304"
+  }
+ ],
+ "signed": {
+  "_type": "root",
+  "consistent_snapshot": true,
+  "expires": "2050-10-22T11:21:56Z",
+  "keys": {
+   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
+    },
+    "scheme": "ed25519"
+   },
+   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
+    },
+    "scheme": "ed25519"
+   },
+   "72b70899257dc30b596af3a9fe141a924af821aff28ed58d1aea0db9f70a70f7": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "3ba219e69666298bce5d1d653a166346aef807c02e32a846aaefcb5190fddeb4"
+    },
+    "scheme": "ed25519"
+   },
+   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
+    "keytype": "ed25519",
+    "keyval": {
+     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
+    },
+    "scheme": "ed25519"
+   }
+  },
+  "roles": {
+   "root": {
+    "keyids": [
+     "72b70899257dc30b596af3a9fe141a924af821aff28ed58d1aea0db9f70a70f7"
+    ],
+    "threshold": 1
+   },
+   "snapshot": {
+    "keyids": [
+     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
+    ],
+    "threshold": 1
+   },
+   "targets": {
+    "keyids": [
+     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
+    ],
+    "threshold": 1
+   },
+   "timestamp": {
+    "keyids": [
+     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
+    ],
+    "threshold": 1
+   }
+  },
+  "spec_version": "1.0.19",
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/metadata/1.targets.json b/tests/repository_data/fishy_rolenames/metadata/1.targets.json
new file mode 100644
index 0000000000..285b3f4009
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/metadata/1.targets.json
@@ -0,0 +1,75 @@
+{
+ "signatures": [
+  {
+   "keyid": "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093",
+   "sig": "b390c5d9d5355b963e94dfa30ce04520c462fd869fad968d01f0a3b185db5895807b14435e725ff376adc793fd21ef8f01890ac722c94e9c05ab3797c4887101"
+  }
+ ],
+ "signed": {
+  "_type": "targets",
+  "delegations": {
+   "keys": {
+    "426edf0d9fa383688c5b40b7b7d15a7cd11a991f12cc20da87f1b48dd6c036a1": {
+     "keytype": "ed25519",
+     "keyval": {
+      "public": "d38eef769f6dee77b6d898dce548c0ea0f90add0072dc28a20769b6421552ec3"
+     },
+     "scheme": "ed25519"
+    },
+    "80a5bda93ec130c2fda8ce0c619d7b122b24cc2e0743afedf98a8e368d32019c": {
+     "keytype": "ed25519",
+     "keyval": {
+      "public": "bb256c0b6d5226a5a9ae8377c0bf68e958fb668d063971f48638b9bae5251f3b"
+     },
+     "scheme": "ed25519"
+    },
+    "f9b50dd62b5540788b5c5cde0842124b64fa467261bc349dd77de49568eed0ef": {
+     "keytype": "ed25519",
+     "keyval": {
+      "public": "da1b8586dc0cdd5fe0d8d428bde62dc63e06138f58cfc39770c424a4636f59f4"
+     },
+     "scheme": "ed25519"
+    }
+   },
+   "roles": [
+    {
+     "keyids": [
+      "f9b50dd62b5540788b5c5cde0842124b64fa467261bc349dd77de49568eed0ef"
+     ],
+     "name": "../a",
+     "paths": [
+      "*"
+     ],
+     "terminating": false,
+     "threshold": 1
+    },
+    {
+     "keyids": [
+      "80a5bda93ec130c2fda8ce0c619d7b122b24cc2e0743afedf98a8e368d32019c"
+     ],
+     "name": ".",
+     "paths": [
+      "*"
+     ],
+     "terminating": false,
+     "threshold": 1
+    },
+    {
+     "keyids": [
+      "426edf0d9fa383688c5b40b7b7d15a7cd11a991f12cc20da87f1b48dd6c036a1"
+     ],
+     "name": "\u00f6",
+     "paths": [
+      "*"
+     ],
+     "terminating": false,
+     "threshold": 1
+    }
+   ]
+  },
+  "expires": "2050-10-22T11:21:56Z",
+  "spec_version": "1.0.19",
+  "targets": {},
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git "a/tests/repository_data/fishy_rolenames/metadata/1.\303\266.json" "b/tests/repository_data/fishy_rolenames/metadata/1.\303\266.json"
new file mode 100644
index 0000000000..e6aa8023ca
--- /dev/null
+++ "b/tests/repository_data/fishy_rolenames/metadata/1.\303\266.json"
@@ -0,0 +1,15 @@
+{
+ "signatures": [
+  {
+   "keyid": "426edf0d9fa383688c5b40b7b7d15a7cd11a991f12cc20da87f1b48dd6c036a1",
+   "sig": "faada7f8c9a238955d5b27dbd88032a6c9068742cb114a66f97c730235a8033dd1ff0647f4bbc2b49210c33655a3d7755e754e245799683b3f4e00a59f3da006"
+  }
+ ],
+ "signed": {
+  "_type": "targets",
+  "expires": "2050-10-22T11:21:56Z",
+  "spec_version": "1.0.19",
+  "targets": {},
+  "version": 1
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/metadata/2.snapshot.json b/tests/repository_data/fishy_rolenames/metadata/2.snapshot.json
new file mode 100644
index 0000000000..bf91cab320
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/metadata/2.snapshot.json
@@ -0,0 +1,28 @@
+{
+ "signatures": [
+  {
+   "keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
+   "sig": "5b00100e9cf1c083f8347371ab840cf60124780305124ed7a53fe31bf43473c90b1d2c802ed2f11f5057ba21e6b7a05118b1907f737d2e29c9692aa3345f9801"
+  }
+ ],
+ "signed": {
+  "_type": "snapshot",
+  "expires": "2050-10-22T11:21:56Z",
+  "meta": {
+   "../a.json": {
+    "version": 1
+   },
+   "..json": {
+    "version": 1
+   },
+   "targets.json": {
+    "version": 1
+   },
+   "\u00f6.json": {
+    "version": 1
+   }
+  },
+  "spec_version": "1.0.19",
+  "version": 2
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/fishy_rolenames/metadata/timestamp.json b/tests/repository_data/fishy_rolenames/metadata/timestamp.json
new file mode 100644
index 0000000000..6bde92c126
--- /dev/null
+++ b/tests/repository_data/fishy_rolenames/metadata/timestamp.json
@@ -0,0 +1,19 @@
+{
+ "signatures": [
+  {
+   "keyid": "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758",
+   "sig": "f7003e848366c7e55f474df2c0c68471c44c68a87c0d3c1aa56f64778c91e9c8f22c3adc4dd9ec0535b6b4dc04783f7fa4ca992bed2445c7395a58acff152f0d"
+  }
+ ],
+ "signed": {
+  "_type": "timestamp",
+  "expires": "2050-10-22T11:21:56Z",
+  "meta": {
+   "snapshot.json": {
+    "version": 2
+   }
+  },
+  "spec_version": "1.0.19",
+  "version": 2
+ }
+}
\ No newline at end of file
diff --git a/tests/repository_data/generate.py b/tests/repository_data/generate.py
deleted file mode 100755
index e131329ec9..0000000000
--- a/tests/repository_data/generate.py
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  generate.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  February 26, 2014.
-
-<Copyright>
-  See LICENSE-MIT.txt OR LICENSE-APACHE.txt for licensing information.
-
-<Purpose>
-  Provide a set of pre-generated key files and a basic repository that unit
-  tests can use in their test cases.  The pre-generated files created by this
-  script should be copied by the unit tests as needed.  The original versions
-  should be preserved.  'tuf/tests/repository_data/' will store the files
-  generated.  'generate.py' should not require re-execution if the
-  pre-generated repository files have already been created, unless they need to
-  change in some way.
-"""
-
-import shutil
-import datetime
-import optparse
-import stat
-
-from tuf.repository_tool import *
-
-import securesystemslib
-
-parser = optparse.OptionParser()
-parser.add_option("-k","--keys", action='store_true',  dest="should_generate_keys",
-    help="Generate a new set of keys", default=False)
-parser.add_option("-d","--dry-run", action='store_true', dest="dry_run",
-    help="Do not write the files, just run", default=False)
-(options, args) = parser.parse_args()
-
-
-repository = create_new_repository('repository')
-
-root_key_file = 'keystore/root_key'
-targets_key_file = 'keystore/targets_key'
-snapshot_key_file = 'keystore/snapshot_key'
-timestamp_key_file = 'keystore/timestamp_key'
-delegation_key_file = 'keystore/delegation_key'
-
-
-if options.should_generate_keys and not options.dry_run:
-  # Generate and save the top-level role keys, including the delegated roles.
-  # The unit tests should only have to import the keys they need from these
-  # pre-generated key files.
-  # Generate public and private key files for the top-level roles, and two
-  # delegated roles (these number of keys should be sufficient for most of the
-  # unit tests).  Unit tests may generate additional keys, if needed.
-  generate_and_write_rsa_keypair(password='password', filepath=root_key_file)
-  generate_and_write_ed25519_keypair(password='password', filepath=targets_key_file)
-  generate_and_write_ed25519_keypair(password='password', filepath=snapshot_key_file)
-  generate_and_write_ed25519_keypair(password='password', filepath=timestamp_key_file)
-  generate_and_write_ed25519_keypair(password='password', filepath=delegation_key_file)
-
-# Import the public keys.  These keys are needed so that metadata roles are
-# assigned verification keys, which clients use to verify the signatures created
-# by the corresponding private keys.
-root_public = import_rsa_publickey_from_file(root_key_file + '.pub')
-targets_public = import_ed25519_publickey_from_file(targets_key_file + '.pub')
-snapshot_public = import_ed25519_publickey_from_file(snapshot_key_file + '.pub')
-timestamp_public = import_ed25519_publickey_from_file(timestamp_key_file + '.pub')
-delegation_public = import_ed25519_publickey_from_file(delegation_key_file + '.pub')
-
-# Import the private keys.  These private keys are needed to generate the
-# signatures included in metadata.
-root_private = import_rsa_privatekey_from_file(root_key_file, 'password')
-targets_private = import_ed25519_privatekey_from_file(targets_key_file, 'password')
-snapshot_private = import_ed25519_privatekey_from_file(snapshot_key_file, 'password')
-timestamp_private = import_ed25519_privatekey_from_file(timestamp_key_file, 'password')
-delegation_private = import_ed25519_privatekey_from_file(delegation_key_file, 'password')
-
-# Add the verification keys to the top-level roles.
-repository.root.add_verification_key(root_public)
-repository.targets.add_verification_key(targets_public)
-repository.snapshot.add_verification_key(snapshot_public)
-repository.timestamp.add_verification_key(timestamp_public)
-
-# Load the signing keys, previously imported, for the top-level roles so that
-# valid metadata can be written.
-repository.root.load_signing_key(root_private)
-repository.targets.load_signing_key(targets_private)
-repository.snapshot.load_signing_key(snapshot_private)
-repository.timestamp.load_signing_key(timestamp_private)
-
-# Create the target files (downloaded by clients) whose file size and digest
-# are specified in the 'targets.json' file.
-target1_filepath = 'repository/targets/file1.txt'
-securesystemslib.util.ensure_parent_dir(target1_filepath)
-target2_filepath = 'repository/targets/file2.txt'
-securesystemslib.util.ensure_parent_dir(target2_filepath)
-target3_filepath = 'repository/targets/file3.txt'
-securesystemslib.util.ensure_parent_dir(target2_filepath)
-
-if not options.dry_run:
-  with open(target1_filepath, 'wt') as file_object:
-    file_object.write('This is an example target file.')
-  # As we will add this file's permissions to the custom_attribute in the
-  # target's metadata we need to ensure that the file has the same
-  # permissions when created by this script regardless of umask value on
-  # the host system generating the data
-  os.chmod(target1_filepath, 0o644)
-
-  with open(target2_filepath, 'wt') as file_object:
-    file_object.write('This is an another example target file.')
-
-  with open(target3_filepath, 'wt') as file_object:
-    file_object.write('This is role1\'s target file.')
-
-# Add target files to the top-level 'targets.json' role.  These target files
-# should already exist.  'target1_filepath' contains additional information
-# about the target (i.e., file permissions in octal format.)
-octal_file_permissions = oct(os.stat(target1_filepath).st_mode)[4:]
-file_permissions = {'file_permissions': octal_file_permissions}
-repository.targets.add_target(os.path.basename(target1_filepath), file_permissions)
-repository.targets.add_target(os.path.basename(target2_filepath))
-
-repository.targets.delegate('role1', [delegation_public],
-    [os.path.basename(target3_filepath)])
-repository.targets('role1').add_target(os.path.basename(target3_filepath))
-repository.targets('role1').load_signing_key(delegation_private)
-
-repository.targets('role1').delegate('role2', [delegation_public], [])
-repository.targets('role2').load_signing_key(delegation_private)
-
-# Set the top-level expiration times far into the future so that
-# they do not expire anytime soon, or else the tests fail.  Unit tests may
-# modify the expiration  datetimes (of the copied files), if they wish.
-repository.root.expiration = datetime.datetime(2030, 1, 1, 0, 0)
-repository.targets.expiration = datetime.datetime(2030, 1, 1, 0, 0)
-repository.snapshot.expiration = datetime.datetime(2030, 1, 1, 0, 0)
-repository.timestamp.expiration = datetime.datetime(2030, 1, 1, 0, 0)
-repository.targets('role1').expiration = datetime.datetime(2030, 1, 1, 0, 0)
-repository.targets('role2').expiration = datetime.datetime(2030, 1, 1, 0, 0)
-
-# Create the actual metadata files, which are saved to 'metadata.staged'.
-if not options.dry_run:
-  repository.writeall()
-
-# Move the staged.metadata to 'metadata' and create the client folder.  The
-# client folder, which includes the required directory structure and metadata
-# files for clients to successfully load an 'tuf.client.updater.py' object.
-staged_metadata_directory = 'repository/metadata.staged'
-metadata_directory = 'repository/metadata'
-if not options.dry_run:
-  shutil.copytree(staged_metadata_directory, metadata_directory)
-
-# Create the client files (required directory structure and minimal metadata)
-# as expected by 'tuf.client.updater'.
-if not options.dry_run:
-  create_tuf_client_directory('repository', os.path.join('client', 'test_repository1'))
diff --git a/tests/repository_data/generate_project_data.py b/tests/repository_data/generate_project_data.py
deleted file mode 100755
index fc93fd594e..0000000000
--- a/tests/repository_data/generate_project_data.py
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  generate_project_data.py
-
-<Author>
-  Santiago Torres <torresariass@gmail.com>
-
-<Started>
-  January 22, 2014.
-
-<Copyright>
-  See LICENSE-MIT.txt OR LICENSE-APACHE.txt for licensing information.
-
-<Purpose>
-  Generate a pre-fabricated set of metadata files for 'test_developer_tool.py'
-  test cases.
-"""
-
-import shutil
-import datetime
-import optparse
-import os
-
-from tuf.developer_tool import *
-
-import securesystemslib
-
-parser = optparse.OptionParser()
-
-parser.add_option("-d","--dry-run", action='store_true', dest="dry_run",
-    help="Do not write the files, just run", default=False)
-(options, args) = parser.parse_args()
-
-
-project_key_file = 'keystore/root_key'
-targets_key_file = 'keystore/targets_key'
-delegation_key_file = 'keystore/delegation_key'
-
-# The files we use for signing in the unit tests should exist, if they are not
-# populated, run 'generate.py'.
-assert os.path.exists(project_key_file)
-assert os.path.exists(targets_key_file)
-assert os.path.exists(delegation_key_file)
-
-# Import the public keys.  These keys are needed so that metadata roles are
-# assigned verification keys, which clients use to verify the signatures created
-# by the corresponding private keys.
-project_public = import_rsa_publickey_from_file(project_key_file + '.pub')
-targets_public = import_ed25519_publickey_from_file(targets_key_file + '.pub')
-delegation_public = import_ed25519_publickey_from_file(delegation_key_file + '.pub')
-
-# Import the private keys.  These private keys are needed to generate the
-# signatures included in metadata.
-project_private = import_rsa_privatekey_from_file(project_key_file, 'password')
-targets_private = import_ed25519_privatekey_from_file(targets_key_file, 'password')
-delegation_private = import_ed25519_privatekey_from_file(delegation_key_file, 'password')
-
-os.mkdir("project")
-os.mkdir("project/targets")
-
-# Create the target files (downloaded by clients) whose file size and digest
-# are specified in the 'targets.json' file.
-target1_filepath = 'project/targets/file1.txt'
-securesystemslib.util.ensure_parent_dir(target1_filepath)
-target2_filepath = 'project/targets/file2.txt'
-securesystemslib.util.ensure_parent_dir(target2_filepath)
-target3_filepath = 'project/targets/file3.txt'
-securesystemslib.util.ensure_parent_dir(target2_filepath)
-
-if not options.dry_run:
-  with open(target1_filepath, 'wt') as file_object:
-    file_object.write('This is an example target file.')
-
-  with open(target2_filepath, 'wt') as file_object:
-    file_object.write('This is an another example target file.')
-
-  with open(target3_filepath, 'wt') as file_object:
-    file_object.write('This is role1\'s target file.')
-
-
-project = create_new_project("test-flat", 'project/test-flat', 'prefix', 'project/targets')
-
-# Add target files to the top-level projects role.  These target files should
-# already exist.
-project.add_target('file1.txt')
-project.add_target('file2.txt')
-
-# Add one key to the project.
-project.add_verification_key(project_public)
-project.load_signing_key(project_private)
-
-# Add the delegated role keys.
-project.delegate('role1', [delegation_public], [target3_filepath])
-project('role1').load_signing_key(delegation_private)
-
-# Set the project expiration time far into the future so that its metadata does
-# not expire anytime soon, or else the tests fail.  Unit tests may modify the
-# expiration  datetimes (of the copied files), if they wish.
-project.expiration = datetime.datetime(2030, 1, 1, 0, 0)
-project('role1').expiration = datetime.datetime(2030, 1, 1, 0, 0)
-
-# Create the actual metadata files, which are saved to 'metadata.staged'.
-if not options.dry_run:
-  project.write()
diff --git a/tests/repository_data/keystore/delegation_key b/tests/repository_data/keystore/delegation_key
index 461169d63c..bd04523dbc 100644
--- a/tests/repository_data/keystore/delegation_key
+++ b/tests/repository_data/keystore/delegation_key
@@ -1 +1,3 @@
-68593a508472ad3007915379e6b1f3c0@@@@100000@@@@615986af4d1ba89aeadc2f489f89b0e8d46da133a6f75c7b162b8f99f63f86ed@@@@8319255f9856c4f40f9d71bc10e79e5d@@@@1dc7b20f1c668a1f544dc39c7a9fcb3c4a4dd34d1cc8c9d8f779bab026cf0b8e0f46e53bc5ed20bf0e5048b94a5d2ea176e79c12bcc7daa65cd55bf810deebeec5bc903ce9e5316d7dbba88f1a2b51d3f9bc782f8fa9b21dff91609ad0260e21a2039223f816d0fe97ace2e204d0025d327b38d27aa6cd87e85aa8883bfcb6d12f93155d72ffd3c7717a0570cf9811eb6d6a340baa0f27433315d83322c685fec02053ff8c173c4ebf91a258e83402f39546821e3352baa7b246e33b2a573a8ff7b289682407abbcb9184249d4304db68d3bf8e124e94377fd62dde5c4f3b7617d483776345154d047d139b1e559351577da315f54e16153c510159e1908231574bcf49c4f96cafe6530e86a09e9eee47bcff78f2fed2984754c895733938999ff085f9e3532d7174fd76dc09921506dd2137e16ec4926998f5d9df8a8ffb3e6649c71bc32571b2e24357739fa1a56be
\ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEIJ12nHk+mGJcC5/tw3PzDZq9gDr6NW/b4ezXfx5dSgsM
+-----END PRIVATE KEY-----
diff --git a/tests/repository_data/keystore/delegation_key.pub b/tests/repository_data/keystore/delegation_key.pub
deleted file mode 100644
index d600bffbfa..0000000000
--- a/tests/repository_data/keystore/delegation_key.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keyval": {"public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"}, "keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"]}
\ No newline at end of file
diff --git a/tests/repository_data/keystore/root_key b/tests/repository_data/keystore/root_key
index 1b8fb14529..54aaab93e3 100644
--- a/tests/repository_data/keystore/root_key
+++ b/tests/repository_data/keystore/root_key
@@ -1,42 +1,40 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIHbTBXBgkqhkiG9w0BBQ0wSjApBgkqhkiG9w0BBQwwHAQIsnvMDGLfuE8CAggA
-MAwGCCqGSIb3DQIJBQAwHQYJYIZIAWUDBAEqBBBN6jE1eBpMFrFfAs0FkzHQBIIH
-EAacUao28rDMs/rL1H4hrWN6OqkcAzjMG/dNDDiLtljpHsYHYWg417cz4eVsWVw7
-SzP005D5qu78oBa35Yg22zW3vlHS1RDlPKFpYrFliwgaWaxVx7CrKhGXq8CeoCnS
-aymN43o493TExHUOGgjTU7eLPXk8eVZ5aO+ml+i/YyPldrEwcghsBDD27zwXOgZk
-qwFoCxCWVUCRcywaTGGvRQ13GVcLYlj+CjTzp2ctXzcWhGK77kPhtVFXpGO00vVn
-7i2kyZm8tLXXFJ+fAMm3OCyyIUnFlf2KuYRECksUvGbscgIH/W2O6qvq7klgappB
-xiyI8dlBeOboxtdbnqoSkodac0pfY8a7b0SIw5H6U/2hiNEQx2o/gFMFq8OklwiW
-gO3PCjtG/bXFYqBjzBtBdAQ77UEv3pbeZNReLx7gCn7YIyLQ5ltqG2Kmbp8pb08w
-hFJm6CcHkBP4GkfzNGtagJCbqX0ys5yG2DxqGZAGPynydwr3EbrvF8UToAaVpgR4
-7RqVk/uZf48UM6M/I8Q0aHz1fja9pwY7H/syyBs2R3Pn98O2HxZ8futqxefCImbs
-DL6cd+VCFjmgsIQBYku2eqYEm98MLWHsiLbNPnyjgmrMElBVWNBlYsYXxqgL+lR1
-fvNBZlYCr7ZthfD+DtxmRU3rApl2Hi22x5IwI7N/4B3/+nRKJLRoc1gW+kekE91j
-PRB30iLR+a5FkFA0u6ymRw7TvYY2u8Y8zbWwhC1rtCTCDcFAOGMGiDxSwbJX7e9y
-cjGPZH+9daNEH03B51MlGwPee511ehtMa1RhWWCGsMsWzeOpIqy1yzPxGkAO0+Wo
-ReNgtlOcjKanW6gdOpiGAeZRKBBYKZhAj8ogs958ZWYRVpNUzNs8ihMRuH4PSJzE
-BrJFqgvk+YXwZFLw2ugZmjPRdjbCJOVdh25xAMy+hrlL4ZwWT50WHYsfGDUeM/kq
-uwidpU94Xi4C5MJww0Z7grztbmUqRqNGiPyqGakgB7LtEwPICOaxeHSYOu+PTklF
-0Sl2aEH7VuptfVknndd8AX0ozMrSFe0jh5I5CA+Bu315EJfHgHiYB31VpKKpY6Bn
-Naeb2rH+CpajLNC7ULcDRpHRZNkolX6nHLf63PGPhD6x1HdJWlfQAXk7+mNFtVZ5
-ugXD/6Hei9w0JYAbPr0Up2tw2KPIRW75CFJdpIwqTdV20ZfP4kbUZOfOK9ltWyB1
-2q6OXliEfvzRYXI8TbUfZ6RpgH6j8VWia/ER/q4O0cKoQ5UfP3RgKil2Jz3QJTYe
-E6DVJkv5NtSRK7ZkdtI8SZCkOQ0Rhz0NKmQhDlftoQOYWmLkPJenQVNxra6hOO2l
-6cZ2e1AVv+8csR/22Qipve8IRfqLsH48dKP3cXZSM/7CaF/q1Wgkc+nZBOLVpK5P
-Q6+bCljxtdlbR5bzTrbz2ELorGCH3bNg+O73MD27wtNbkb2ZmleVXc5WU733CKr1
-8edMWaAtWMkLNUlCJ8bnBOGb2sIy9PXzEWn1kECDhQSgcSaBnIglU03z/5/9HLpc
-8lpC0yUTIhwX0zr8G0ZpirIcfvjNhq4qksR8bahc8eNkf6Rn3sB4E8uSv0UbxG/V
-OibWXabyb5t5J261+WWmalz02Q4iQso0YIUOZBiKAlY4mIf2sWQX4rFSWconYBb5
-me5+BBVfJN7WO0RGG8aliqj8op/BkwhS2P1cWKntIm7DWKr5QyU/oj044ZpxkwZd
-TL5n+puYkijgUkcvab+ew9x+f3speWdv2a9Zuk3mKEO4TcKnchE/4M/mIzoX/bmI
-KLsZ2c7WUySfGzFBEZUY6NUR3bkehIDOY7fCnS0Dz7rSbImNVsMp8QbgANvK6YL8
-M6MJfZKWh6VEBm2athFV8Rc+q1Bf0VMO5+/8ay+GSFN+EIbPZZOwmNpzlIg6m0LS
-ix+7/k1H3vjHwhxRa3g/2vqoY/mwdvjb1+bMsejygGV0vF57R5Zlm842ZWPaVQYz
-T5gElaP+BXDIo7pkXMOrvr9oKkDFWPhhKpfzm94i5QUpYGJIbr811e4tQzh9WfrX
-nnaARPhUrE+Yhy5ghWMDwA8So2FoUlCzS9zAW5cgMPdwvn/zraY0HCp8wGW/yNl6
-jhwSvmUa2SnQkPuR977lkWodLOU9mwOnvZqplmhprh4w+znoPcuTNM5XQ7Rxulfx
-ZOJZ7NjLr3t2gY2Ni4Su961GcG9/1qgb/gbh+epzpIWaMSfJhXwBv/TmDppg1IB/
-q1Y2ICtZX0V6/szszPsPpBcqRpMAa6T12pL/J6OVYcnSrX6lzY8uVzM4Va1M/Fwn
-C45VwvBK0StZY2T+CWdAoG20wA9IJhSr8xajCxR1UNsNgrQ84dJN6KduURbNmMTM
-m5fryjMFAoykt+cz1TOq7G3sFLslYkWH8DP1mdknC1uC
------END ENCRYPTED PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIG/wIBADANBgkqhkiG9w0BAQEFAASCBukwggblAgEAAoIBgQDQaM+hWuNL14Kr
+OhDxVF4+QLRwjqS2ISCo98cRIXPLHKMLj3QK7LX2e7E9wm5l83rgwLjyg6RH5baa
+rikznWLGZ0bnGO804FGQnnBQJzx8MKW0xRMGWq33Ll4ux//j8SgFT7MLhJbWI9T7
+6YKyK3J9BDtTos6fcRgLKuQfnWFn928oLij1M9gxXE15wncIvWrTZDXjkmXKMFO4
+zdd2qxqd1MehdJE+abOAH/V0v9zhCMycKjCspbTqYUur1EBgYholZ8z/QJus4mlU
+OQBOYRwx2kYlgN9b+xFC9F2Uc0+jbhlbu+RBQKp1HG+dNaQrlTzXLtG2Mu3XKyRt
+ZcEhs5XP3gZeyDLMA3IJP2pGMdcMPPaaQur70jaIq0SpoR49xZG7cfpEtqGkz9PE
+XPDrzhhHjvB5d0N5w83FbKJaLIwZK1EU/gKD22tzAAacSbXDxHaCCZamHOcJ3l1c
+aE82N8BrzbI0Vjy5uc5RUk5/SdcaDcR3D2JjfHKMlvb6euyTl/cCAwEAAQKCAYEA
+kQzxvb7RRd7n3h6a3iw3L6K/MzvEXdKutYtGbKDYw7vZqtkcDeJ0PuoWEQL67VBJ
+7JWV44xF0ZiKwBuJJ5hZv/bvfTZ4flfFzR7I0rCMQ29kVW14cUq5m7kU6gBfFBmr
+Hg87cT/F76KewPnj8feVRnekhvBgWM5Qyqz+exaBTegD4HZIIWkFBk3UynLTgCy9
+ZgVwEES7Pb7m9k+lr70k2EbY7oF/+W199iXII4rJw4HpTqN6nx7xzNMM5LnkWHDN
+uj+g9cCRCPS8BNXcbUmBNthVpaDU79NhHwoFFaYswAOeW1jKpssF9hf1cLpQyaLp
+jQqSEF5VMdygEOzuKijq5oJef5zyuSgqkBpvtuUFLkcz9RkJQk3lTpIO5QUy9sek
+iikGjucVay5f3N1iJOQi+D+qDAI7cIJTi9hIL/0Xrt0PmSbcAPTvTGP/05I/wyi6
+VD4ClpQFgyZ7OiCiDuwOjv+/mWusN4+mxNyJqtr2b4YZNupRBmsmTvjXSWuqHiih
+AoHBAOnnLy9MbeN+WDkbteHs4XE09NR4D6yEbMpEXTzJygZj8DPmoEAn6ojfanKC
+NipHvJ0JX+uphzDJ3ZlAdYjZr1ny2VziQNBcfcmf3o1VVxW0KZ8WI4eRmsljFJka
+Av+YaLtI+nKvNQxPgD3mS5t/Y6p/kxnGOMIpjbUhKT4HP1u/DdyzIuC5Ur+KJxlJ
+pvauHXz0xx6bszNvMIiuddDG0AG8jwZuiZzYGBEsFmscWDgrG3Hk90ir1416m1+7
+jpgIMQKBwQDkGRO7qXNSYtfsWL9UcFTnjb+OYwoKMTppMNb2u+aBZXkWjTJFdT0H
+aJp1lsfsFARsNWCq/4uRQute+CMbxDDlXP72jZB407FAWlQie7UWsnRy6/+WeHRM
+5gSeRl9n8NSOmb/EH5bsV0sjkLt4VXD0FTeDnu2SwhqVNZ+qdWnbhKmwxxTd2dAA
+VoEEftohucYDdRfKrp+YbZn8Sa8Dfge9QiLgE28MrHhy/ZlRUlhiSg9Bl4CDFlpL
+sn0wFV56QKcCgcEAnBhETPRcgW1XwwTTJKrI6JvGp+RX0XGuiG2HK4Ie6JTZQEmw
+uB/rTNyMVU7AhwbIwKP493RzXAPbduKljWZ4tzZyCKKVTnfrGhsuknNZYoqRHDHS
+FC7/dVZB8MqDJb+4ZQQW32I9rLGBi82ct3EUOjxZFuJKDolcoHw44cREbB3cSmTh
+6cbDij/QR/f3DLi1xSY1nB+cP778TLrgtSt4tS/44vnxrFIp/YvGikSoOxPJhQCg
+ZkcH2srv1bt9NciBAoHAU0JcE5oMwDvYOStD25yNQWBaVa0NEx9ZBOCQ9ssrnnvd
+sT+k4/mhZzzldJqvKxs7agwp1wEkfseAhs/ocNAyUOabIoAWBiSvhJ/0Kgoh1cEa
+BIDkcJZTTWaAtQ1W8efUjqDMgNhPDMHoaXkBFTGK422DMAYpDfLQJTrHpz7ofvpz
+vlVM5pYE+LqaqXtsP/dBsi1hm9gV5VvMY2y593pfdNPZSxWM6YFjDgZHmomGPYpu
++zBD9pWILC1gyNZkABftAoHBANXJibUQ35zhQJEnvHXZ5WJqzJN6R5Zv4sQVd6+o
+NM5EotwNMvmjHcW+Q13M2UtaH2mFsUJuOnYCwqqNarJw5+LLEq+CgO0GaJ0wE4TU
+1n2/11vAdKMUqvsj92YYq5Y+L/sue9PAYHUMvPsTG75u6fv3ZhJEfneNRqen3jco
+3uxlzo/Yjv1fPO6RD9821dRwZDawaoLFidj/Gnqm9PKHux2papWnfP/dkWKLQwl2
+Vu3D0GBOEF8YB2ae3BSVpM+T1Q==
+-----END PRIVATE KEY-----
diff --git a/tests/repository_data/keystore/root_key.pub b/tests/repository_data/keystore/root_key.pub
deleted file mode 100644
index 11cc245f38..0000000000
--- a/tests/repository_data/keystore/root_key.pub
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN PUBLIC KEY-----
-MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe
-PkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i
-xmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity
-fQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa
-ndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc
-MdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV
-z94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y
-R47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA
-a82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=
------END PUBLIC KEY-----
diff --git a/tests/repository_data/keystore/root_key2.pub b/tests/repository_data/keystore/root_key2.pub
deleted file mode 100644
index dd5c43b5f3..0000000000
--- a/tests/repository_data/keystore/root_key2.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "3ba219e69666298bce5d1d653a166346aef807c02e32a846aaefcb5190fddeb4"}}
\ No newline at end of file
diff --git a/tests/repository_data/keystore/root_key3 b/tests/repository_data/keystore/root_key3
index 1cf4e5abbd..89c0b2cc7b 100644
--- a/tests/repository_data/keystore/root_key3
+++ b/tests/repository_data/keystore/root_key3
@@ -1 +1 @@
-ce4624d30171067445ed3fa863f66127@@@@100000@@@@f10f918e9e895ba72fb784e2dccc1b09e4cbc17ff23eda55687e272e217bb09f@@@@63982fe353cdb82ed7825e9569804f0e@@@@9bd085924cbbfff9fbf4cad01f8119a3726b734ea46c573e4d39239c238285a332a73fe1d3e9966a6e958c387f4eec40a0b3e7883b6d347f5506d64f3acf06148261afeca9585e7fd71e2726373a481627bd82c545fdf031bbde9bb3db986e6de29efcad3fc5d7ae5c274d4e0e9b521af6e34263965fa7e5b7e10c7dee4c880424930d4f698ff5a0531ab4a430c74fe6bb831db7c40b0c097c6c22c6cae2b25c712cbf02638cee3cdfea9854ef690b4707e27851ed5e63cda60925e3e4e49467ef031e31dd9524b51e635697d3049cec09ea86cebf60fb2082247e784d48b0c71ef79a4fc4807ad2905140c051795f904baaacee334e34a4d82a78befe735810a77ac40d1a977460026f8513dbccd7fd5c980cc5397d223adc132a6b7230448685f6f1aec40e2a9d6ab39d818c94c7ace66e6a87cc94b690a2018fb3b376010c05ac0587631122d6979b0f575d18655d
\ No newline at end of file
+a3d266f446cb23c0248feed240a8a85a@@@@100000@@@@61ea41c73d4b1d8bd7566a9884a2fdb88c1d4e48550341e532768f98c8f4bd3c@@@@46b15764c50c934fcfc041a5fa207337@@@@d84b8c473d5f42d2bbceca28b0087c2c5908673b2a92eb8f1ca91dacc27c1cfac24c98d06191f6f54633dd428e9ca0987f183e8f34322a104dc38a0f4fefcc168f21e203e3abc5842f132df2dcb61d6b31dc19d0ecb50e898655f81e9b8a9730f2bff4c5ca4b6fc0b572a7e3672b6dc814ed127c964d960a57155c29eccf44824442d3c6761662ed2d8a1c48a3222d0f0cb1a58f543ccd852c247522595d987d95d1bf49dfdffaf33f18085460dac791d81347cc576a83c6ebca2625d26ddd294e74fa67f676a02d533b52fc9702237b2c898469a30753d98b091cd6aa713aa7b0c4c741684674084b27862e64adf4b1e88fa22cfcf6eeae8608dd818a4cba020058fa7271028ea9d9a7302c9e50e82972a82ac2080201c0fb9f2fb1cadfe97d62470414428227add1c40594f5135a8169d0d7d0889cb4a1949b015e65f5dc656204c58c463acc5b7872f4a078d0bc5a09a7795187e360e7b225892601aa9065086b24397f653d20e59a656ec86ef94e64d5baf16080f12a7f2461b92f99dfb5bf2e4dadec91cc72d8eede952449fd586c863734d84f31e036ecc96c55ab7baa9b049c20b8281a7c28f5ca42d9cfad6498f51ee907bfd9dc17e2a1bc9b69145ee82a86a90817394c01770581727889d3ba1791592c7ac2e74753485f1811cc4477078732873185240fc1572927d2fef210066bdf015471bd9d1683e8074b3fb6957246589dc62dea4843a17a7c734ae45ae20d31f0083a32d3310fae459fe3fbf7c763e5e4ead4acd9b0233e45237f4465576e85ff707fe316488f329d5bc73596b104cc28b926d6b1f5a3d26a0a6ec534a3cbc54cab97f5cea51f17b8d7f1cc6c9977275c34ee4942dd3e22a19ae1e4252199226cc4fd60
\ No newline at end of file
diff --git a/tests/repository_data/keystore/root_key3.pub b/tests/repository_data/keystore/root_key3.pub
deleted file mode 100644
index 496fdcb120..0000000000
--- a/tests/repository_data/keystore/root_key3.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"], "keyval": {"public": "e68d6e173fe21d8bc4a558606784abdbb71f31cd13fa2aeef29972f60f5c5809"}}
\ No newline at end of file
diff --git a/tests/repository_data/keystore/snapshot_key b/tests/repository_data/keystore/snapshot_key
index 08c954fdd1..1719a2aaf0 100644
--- a/tests/repository_data/keystore/snapshot_key
+++ b/tests/repository_data/keystore/snapshot_key
@@ -1 +1,3 @@
-a87b80b8a0d39b919b9638181e7b274e@@@@100000@@@@132edd670981aaf1980673966266174d944d735eb5b0b7ec83ed97da5c212249@@@@bd08ae9898ac5f81fc14e418e9790f9b@@@@399250c9aad40035e0acff48db59697bc3cf33d55b52aa272246addeaaf318d931d3a72964f0c84eccf5b89279b8233685330ad884f7b39bf369553133b985f9396bd5e24cb8e343643923022565a645e188a1165e427aedc389cca821d6a93cb2d8d16cea8ffeb56469bcb9f2f66e03d581a2ea37da271980dd02b84717fe475e13a305b4ae714c11c94f6711c744bb291a146d7419474584bad4be152d0299273c1fad6cd95232a4bf07f39c16da7f4d13201a88fad822cb328008e8a2762baf974b5d5080451751fb8ef53a01ca734157be78b3eb13c6270e4e98b138c78388360e7f558389871b7a32b4d5572626b3112264a0b56dbbb1138c9765872a71dd4e7d31006c2e690f5ede608ce633ad94ebb7d1ddec1a7eac2168fc5d36efe590c4c2059c6f3bcf75ab63474eede3ce4fdc93c6564058b14a0fa9bf3cb6d58c53315b406409ee4aeb18abe072734df0
\ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEIIOSksDAfmq3o/kDq7QpZ3/Kg1bium+Svw5pvR2ZBhs6
+-----END PRIVATE KEY-----
diff --git a/tests/repository_data/keystore/snapshot_key.pub b/tests/repository_data/keystore/snapshot_key.pub
deleted file mode 100644
index d08bb848c1..0000000000
--- a/tests/repository_data/keystore/snapshot_key.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keyval": {"public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"}, "keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"]}
\ No newline at end of file
diff --git a/tests/repository_data/keystore/targets_key b/tests/repository_data/keystore/targets_key
index c3883ec3c5..2d023c85be 100644
--- a/tests/repository_data/keystore/targets_key
+++ b/tests/repository_data/keystore/targets_key
@@ -1 +1,3 @@
-a5a903322888df0bf8275b215f2044fe@@@@100000@@@@5f6b803652cb6d5bce4e07b1482597adb96d06c2efa3393abdcc0425f70be692@@@@0664811967e2f413927ce51a7f43a80e@@@@cf1dccd034400195c667c064198ef25555f3f94bf9cf77fbe300246618e557ad0efa775ef90bd46c842696c45d14033199860b2214c3641e87889a41171f8a2c763d004681b66b462ff34599e8d9da87f5642d2a015b75d3f601d198e0467fa4bc28f65c76260585e0cce71281f67a8053116f0f06883155f602811071b56bf75bf54daae5968b0a31cf829510f3c52c0eeb8f1c6bb8b8cb0c3edb4c6c2dd9d13bee00c5d63c3f98e0904eebb609864f4ab4fcc2c17bba8fd36aa06bc96bc1922eb10557051a674acf2cb01ff3efb7d55411df6915bbc49a095ff4472dc441e2765244f801d0df07b754c952d039f39b4530930a14be42cb2041f22eeb306b12f12158fcd2beb033db1be21f5a6ab72335cf16dfbd19cbf39c00b0a571d2b0e25df032be53a49a7a70ecebebb441d327c638cf31804381afaf809cd1c75f9070e83240fbaaa87bea0799404ece788862
\ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEIMKnhTXOqdJvhJ2bJd5dn80MvCykZTplwJ0SUpKiHfI5
+-----END PRIVATE KEY-----
diff --git a/tests/repository_data/keystore/targets_key.pub b/tests/repository_data/keystore/targets_key.pub
deleted file mode 100644
index e859eb228e..0000000000
--- a/tests/repository_data/keystore/targets_key.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keyval": {"public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"}, "keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"]}
\ No newline at end of file
diff --git a/tests/repository_data/keystore/timestamp_key b/tests/repository_data/keystore/timestamp_key
index ca82579003..7ea4a12684 100644
--- a/tests/repository_data/keystore/timestamp_key
+++ b/tests/repository_data/keystore/timestamp_key
@@ -1 +1,3 @@
-677a42cd6c1df08d0c6156ae356c2875@@@@100000@@@@3850dbcf2973b80044912d630f05039df64775b63d1cf43e750d3cd8a457c64f@@@@bf01961c386d9fefb4b29db7f6ef0c7f@@@@96d37abafb902f821134d2034855d23b78c82e5b768b092fcf0d3b6b28a74734877a5014b26e5fed289d24f7cf6b393445c3231554c5b6d9711192cf9bd2fb7490497d7d76c619a0cfc70abae026b5068fb66db0138b04f890917daad66ca1f7baabdcbb5282e46a2f1c6ff2e8c241ff16ef31e918ca1387a15bc2ceadb2f75ce68fcff08186b5b901a499efe1f674319b503ff8b6fc004b71d0ecb94253f38c58349ab749e72f492e541e7504d25a0bfe791f53eb95c4524431b0f952fc3d7c7204a2a4aab44d33fe09cb36b337339e2a004bf15dfd925b63930905972749441a0c6e50ec9b1748a4cfbacf10b402ebd9c0074fcb38d236fd3146f60232862b0501e8e6caa9f81c223de03ba7b25a1d4bc2d031901dc445f25ce302d2189b8b8de443bc6f562f941b55595655193ab6b84c1ec2302ca056c70e8efb1cad909c50e82e0b7da9ad64202d149e4e837409
\ No newline at end of file
+-----BEGIN PRIVATE KEY-----
+MC4CAQAwBQYDK2VwBCIEIB5Zzk1MbB0e30cDCjV7H3c712RsaRJgLn5GgUvbSRzH
+-----END PRIVATE KEY-----
diff --git a/tests/repository_data/keystore/timestamp_key.pub b/tests/repository_data/keystore/timestamp_key.pub
deleted file mode 100644
index 69ba7ded1d..0000000000
--- a/tests/repository_data/keystore/timestamp_key.pub
+++ /dev/null
@@ -1 +0,0 @@
-{"keyval": {"public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"}, "keytype": "ed25519", "scheme": "ed25519", "keyid_hash_algorithms": ["sha256", "sha512"]}
\ No newline at end of file
diff --git a/tests/repository_data/map.json b/tests/repository_data/map.json
deleted file mode 100644
index c2e0fb8b0f..0000000000
--- a/tests/repository_data/map.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "mapping": [
-  {
-   "paths": [
-    "*1.txt"
-   ],
-   "repositories": [
-    "test_repository1",
-    "test_repository2"
-   ],
-   "terminating": false,
-   "threshold": 1
-  },
-  {
-   "paths": [
-    "*3.txt"
-   ],
-   "repositories": [
-    "test_repository2"
-   ],
-   "terminating": true,
-   "threshold": 1
-  }
- ],
- "repositories": {
-  "test_repository1": [],
-  "test_repository2": []
- }
-}
diff --git a/tests/repository_data/project/targets/file1.txt b/tests/repository_data/project/targets/file1.txt
deleted file mode 100644
index 7bf3499f13..0000000000
--- a/tests/repository_data/project/targets/file1.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is an example target file.
\ No newline at end of file
diff --git a/tests/repository_data/project/targets/file2.txt b/tests/repository_data/project/targets/file2.txt
deleted file mode 100644
index 606f18efc8..0000000000
--- a/tests/repository_data/project/targets/file2.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is an another example target file.
\ No newline at end of file
diff --git a/tests/repository_data/project/targets/file3.txt b/tests/repository_data/project/targets/file3.txt
deleted file mode 100644
index 60464604aa..0000000000
--- a/tests/repository_data/project/targets/file3.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is role1's target file.
\ No newline at end of file
diff --git a/tests/repository_data/project/test-flat/project.cfg b/tests/repository_data/project/test-flat/project.cfg
deleted file mode 100644
index 1564431d80..0000000000
--- a/tests/repository_data/project/test-flat/project.cfg
+++ /dev/null
@@ -1 +0,0 @@
-{"project_name": "test-flat", "targets_location": "/Users/vlad/projects/vladforks/tuf/tests/repository_data/project/targets", "prefix": "prefix", "metadata_location": "test-flat", "threshold": 1, "public_keys": {"4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {"keyval": {"public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"}, "keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyid_hash_algorithms": ["sha256", "sha512"]}}, "layout_type": "flat"}
\ No newline at end of file
diff --git a/tests/repository_data/project/test-flat/role1.json b/tests/repository_data/project/test-flat/role1.json
deleted file mode 100644
index 93f378a758..0000000000
--- a/tests/repository_data/project/test-flat/role1.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {},
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/project/test-flat/test-flat.json b/tests/repository_data/project/test-flat/test-flat.json
deleted file mode 100644
index 15f3a4910b..0000000000
--- a/tests/repository_data/project/test-flat/test-flat.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "89d042b364a853d3a9f7caf16005d88102a21a63b4841bf67c81c8cda4de7aff6fe2c877e94c0693961f423230da47055fa88f73ecc5b6f47515af61e4e85cbdb19af87a681dc202c8bdcdfdb0d43920198dde97f0b27b404c93308083225f311d196a7e8bbcf921a68580e760fb4616828438dd1236ae0639eda4c1f98e4074e6b5eb79043de9d3dc30e29f993dddf808e533947055d1a7b4b4d2344ed5c327568ac9065fdb7649c753aa4a37751284da57b236a9d171f00d0e7f93fc56bacd966d025bec3c21f769f94fc21c70e2b9c8d4b2cddb2bcae30b9626edd9a4c954a1c5a9e49b6b079bd15b44413987b98a69f92cf950a18049ba13d2dd1c338e1d2cd0625b659ac71df8bfbd49d7be31cdabddef7a4ecf83b674016028f519ca0d421150c9fe71abf7130644b494bf88861c365787e345b95a019e0cb6d403ad8d628fbc3b9f397824104bcf00e20fb7135895a7265b516f9b1ccd18c9b82a327b211297143d2ab16e8ac3ce98ab24c0b84d91c6e3b3d451858da1cdfbbafc4dd7"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role1",
-     "paths": [
-      "project/targets/file3.txt"
-     ],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "prefix/file1.txt": {
-    "hashes": {
-     "sha256": "65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da",
-     "sha512": "467430a68afae8e9f9c0771ea5d78bf0b3a0d79a2d3d3b40c69fde4dd42c461448aef76fcef4f5284931a1ffd0ac096d138ba3a0d6ca83fa8d7285a47a296f77"
-    },
-    "length": 31
-   },
-   "prefix/file2.txt": {
-    "hashes": {
-     "sha256": "452ce8308500d83ef44248d8e6062359211992fd837ea9e370e561efb1a4ca99",
-     "sha512": "052b49a21e03606b28942db69aa597530fe52d47ee3d748ba65afcd14b857738e36bc1714c4f4adde46c3e683548552fe5c96722e0e0da3acd9050c2524902d8"
-    },
-    "length": 39
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/1.root.json b/tests/repository_data/repository/metadata.staged/1.root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/repository/metadata.staged/1.root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/role1.json b/tests/repository_data/repository/metadata.staged/role1.json
deleted file mode 100644
index 0ac4687e77..0000000000
--- a/tests/repository_data/repository/metadata.staged/role1.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "9408b46569e622a46f1d35d9fa3c10e17a9285631ced4f2c9c2bba2c2842413fcb796db4e81d6f988fc056c21c407fdc3c10441592cf1e837e088f2e2dfd5403"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role2",
-     "paths": [],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file3.txt": {
-    "hashes": {
-     "sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
-     "sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
-    },
-    "length": 28
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/role2.json b/tests/repository_data/repository/metadata.staged/role2.json
deleted file mode 100644
index 93f378a758..0000000000
--- a/tests/repository_data/repository/metadata.staged/role2.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {},
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/root.json b/tests/repository_data/repository/metadata.staged/root.json
deleted file mode 100644
index 214d8db01b..0000000000
--- a/tests/repository_data/repository/metadata.staged/root.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb",
-   "sig": "a337d6375fedd2eabfcd6c2ef6c8a9c3bb85dc5a857715f6a6bd41123e7670c4972d8548bcd7248154f3d864bf25f1823af59d74c459f41ea09a02db057ca1245612ebbdb97e782c501dc3e094f7fa8aa1402b03c6ed0635f565e2a26f9f543a89237e15a2faf0c267e2b34c3c38f2a43a28ddcdaf8308a12ead8c6dc47d1b762de313e9ddda8cc5bc25aea1b69d0e5b9199ca02f5dda48c3bff615fd12a7136d00634b9abc6e75c3256106c4d6f12e6c43f6195071355b2857bbe377ce028619b58837696b805040ce144b393d50a472531f430fadfb68d3081b6a8b5e49337e328c9a0a3f11e80b0bc8eb2dc6e78d1451dd857e6e6e6363c3fd14c590aa95e083c9bfc77724d78af86eb7a7ef635eeddaa353030c79f66b3ba9ea11fab456cfe896a826fdfb50a43cd444f762821aada9bcd7b022c0ee85b8768f960343d5a1d3d76374cc0ac9e12a500de0bf5d48569e5398cadadadab045931c398e3bcb6cec88af2437ba91959f956079cbed159fed3938016e6c3b5e446131f81cc5981"
-  }
- ],
- "signed": {
-  "_type": "root",
-  "consistent_snapshot": false,
-  "expires": "2030-01-01T00:00:00Z",
-  "keys": {
-   "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "rsa",
-    "keyval": {
-     "public": "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA0GjPoVrjS9eCqzoQ8VRe\nPkC0cI6ktiEgqPfHESFzyxyjC490Cuy19nuxPcJuZfN64MC48oOkR+W2mq4pM51i\nxmdG5xjvNOBRkJ5wUCc8fDCltMUTBlqt9y5eLsf/4/EoBU+zC4SW1iPU++mCsity\nfQQ7U6LOn3EYCyrkH51hZ/dvKC4o9TPYMVxNecJ3CL1q02Q145JlyjBTuM3Xdqsa\nndTHoXSRPmmzgB/1dL/c4QjMnCowrKW06mFLq9RAYGIaJWfM/0CbrOJpVDkATmEc\nMdpGJYDfW/sRQvRdlHNPo24ZW7vkQUCqdRxvnTWkK5U81y7RtjLt1yskbWXBIbOV\nz94GXsgyzANyCT9qRjHXDDz2mkLq+9I2iKtEqaEePcWRu3H6RLahpM/TxFzw684Y\nR47weXdDecPNxWyiWiyMGStRFP4Cg9trcwAGnEm1w8R2ggmWphznCd5dXGhPNjfA\na82yNFY8ubnOUVJOf0nXGg3Edw9iY3xyjJb2+nrsk5f3AgMBAAE=\n-----END PUBLIC KEY-----"
-    },
-    "scheme": "rsassa-pss-sha256"
-   },
-   "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
-    },
-    "scheme": "ed25519"
-   },
-   "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "89f28bd4ede5ec3786ab923fd154f39588d20881903e69c7b08fb504c6750815"
-    },
-    "scheme": "ed25519"
-   },
-   "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758": {
-    "keyid_hash_algorithms": [
-     "sha256",
-     "sha512"
-    ],
-    "keytype": "ed25519",
-    "keyval": {
-     "public": "82ccf6ac47298ff43bfa0cd639868894e305a99c723ff0515ae2e9856eb5bbf4"
-    },
-    "scheme": "ed25519"
-   }
-  },
-  "roles": {
-   "root": {
-    "keyids": [
-     "4e777de0d275f9d28588dd9a1606cc748e548f9e22b6795b7cb3f63f98035fcb"
-    ],
-    "threshold": 1
-   },
-   "snapshot": {
-    "keyids": [
-     "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d"
-    ],
-    "threshold": 1
-   },
-   "targets": {
-    "keyids": [
-     "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-    ],
-    "threshold": 1
-   },
-   "timestamp": {
-    "keyids": [
-     "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758"
-    ],
-    "threshold": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/snapshot.json b/tests/repository_data/repository/metadata.staged/snapshot.json
deleted file mode 100644
index 7c8c091a2e..0000000000
--- a/tests/repository_data/repository/metadata.staged/snapshot.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
-   "sig": "085672c70dffe26610e58542ee552843633cfed973abdad94c56138dbf0cd991644f2d3f27e4dda3098e08ab676e7f52627b587947ae69db1012d59a6da18e0c"
-  }
- ],
- "signed": {
-  "_type": "snapshot",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "role1.json": {
-    "version": 1
-   },
-   "role2.json": {
-    "version": 1
-   },
-   "targets.json": {
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/targets.json b/tests/repository_data/repository/metadata.staged/targets.json
deleted file mode 100644
index 8e21c269b4..0000000000
--- a/tests/repository_data/repository/metadata.staged/targets.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093",
-   "sig": "d65f8db0c1a8f0976552b9742bbb393f24a5fa5eaf145c37aee047236c79dd0b83cfbb8b49fa7803689dfe0031dcf22c4d006b593acac07d69093b9b81722c08"
-  }
- ],
- "signed": {
-  "_type": "targets",
-  "delegations": {
-   "keys": {
-    "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a": {
-     "keyid_hash_algorithms": [
-      "sha256",
-      "sha512"
-     ],
-     "keytype": "ed25519",
-     "keyval": {
-      "public": "fcf224e55fa226056adf113ef1eb3d55e308b75b321c8c8316999d8c4fd9e0d9"
-     },
-     "scheme": "ed25519"
-    }
-   },
-   "roles": [
-    {
-     "keyids": [
-      "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a"
-     ],
-     "name": "role1",
-     "paths": [
-      "file3.txt"
-     ],
-     "terminating": false,
-     "threshold": 1
-    }
-   ]
-  },
-  "expires": "2030-01-01T00:00:00Z",
-  "spec_version": "1.0.0",
-  "targets": {
-   "file1.txt": {
-    "custom": {
-     "file_permissions": "0644"
-    },
-    "hashes": {
-     "sha256": "65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da",
-     "sha512": "467430a68afae8e9f9c0771ea5d78bf0b3a0d79a2d3d3b40c69fde4dd42c461448aef76fcef4f5284931a1ffd0ac096d138ba3a0d6ca83fa8d7285a47a296f77"
-    },
-    "length": 31
-   },
-   "file2.txt": {
-    "hashes": {
-     "sha256": "452ce8308500d83ef44248d8e6062359211992fd837ea9e370e561efb1a4ca99",
-     "sha512": "052b49a21e03606b28942db69aa597530fe52d47ee3d748ba65afcd14b857738e36bc1714c4f4adde46c3e683548552fe5c96722e0e0da3acd9050c2524902d8"
-    },
-    "length": 39
-   }
-  },
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata.staged/timestamp.json b/tests/repository_data/repository/metadata.staged/timestamp.json
deleted file mode 100644
index 9a0daf078b..0000000000
--- a/tests/repository_data/repository/metadata.staged/timestamp.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "signatures": [
-  {
-   "keyid": "8a1c4a3ac2d515dec982ba9910c5fd79b91ae57f625b9cff25d06bf0a61c1758",
-   "sig": "de0e16920f87bf5500cc65736488ac17e09788cce808f6a4e85eb9e4e478a312b4c1a2d7723af56f7bfb1df533c67d8c93b6f49d39eabe7fae391a08e1f72f01"
-  }
- ],
- "signed": {
-  "_type": "timestamp",
-  "expires": "2030-01-01T00:00:00Z",
-  "meta": {
-   "snapshot.json": {
-    "hashes": {
-     "sha256": "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"
-    },
-    "length": 515,
-    "version": 1
-   }
-  },
-  "spec_version": "1.0.0",
-  "version": 1
- }
-}
\ No newline at end of file
diff --git a/tests/repository_data/repository/metadata/role2.json b/tests/repository_data/repository/metadata/role2.json
index 93f378a758..9c49e16570 100644
--- a/tests/repository_data/repository/metadata/role2.json
+++ b/tests/repository_data/repository/metadata/role2.json
@@ -2,15 +2,11 @@
  "signatures": [
   {
    "keyid": "c8022fa1e9b9cb239a6b362bbdffa9649e61ad2cb699d2e4bc4fdf7930a0e64a",
-   "sig": "6c32f8cc2c642803a7b3b022ede0cf727e82964c1aa934571ef366bd5050ed02cfe3fdfe5477c08d0cbcc2dd17bb786d37ab1ce2b27e01ad79faf087594e0300"
+   "sig": "75b196a224fd200e46e738b1216b3316c5384f61083872f8d14b8b0a378b2344e64b1a6f1a89a711206a66a0b199d65ac0e30fe15ddbc4de89fa8ff645f99403"
   }
  ],
  "signed": {
   "_type": "targets",
-  "delegations": {
-   "keys": {},
-   "roles": []
-  },
   "expires": "2030-01-01T00:00:00Z",
   "spec_version": "1.0.0",
   "targets": {},
diff --git a/tests/repository_simulator.py b/tests/repository_simulator.py
new file mode 100644
index 0000000000..d0c50bc424
--- /dev/null
+++ b/tests/repository_simulator.py
@@ -0,0 +1,434 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test utility to simulate a repository
+
+RepositorySimulator provides methods to modify repository metadata so that it's
+easy to "publish" new repository versions with modified metadata, while serving
+the versions to client test code.
+
+RepositorySimulator implements FetcherInterface so Updaters in tests can use it
+as a way to "download" new metadata from remote: in practice no downloading,
+network connections or even file access happens as RepositorySimulator serves
+everything from memory.
+
+Metadata and targets "hosted" by the simulator are made available in URL paths
+"/metadata/..." and "/targets/..." respectively.
+
+Example::
+
+    # constructor creates repository with top-level metadata
+    sim = RepositorySimulator()
+
+    # metadata can be modified directly: it is immediately available to clients
+    sim.snapshot.version += 1
+
+    # As an exception, new root versions require explicit publishing
+    sim.root.version += 1
+    sim.publish_root()
+
+    # there are helper functions
+    sim.add_target("targets", b"content", "targetpath")
+    sim.targets.version += 1
+    sim.update_snapshot()
+
+    # Use the simulated repository from an Updater:
+    updater = Updater(
+        dir,
+        "https://example.com/metadata/",
+        "https://example.com/targets/",
+        sim
+    )
+    updater.refresh()
+"""
+
+from __future__ import annotations
+
+import datetime
+import hashlib
+import logging
+import os
+import tempfile
+from dataclasses import dataclass, field
+from typing import TYPE_CHECKING
+from urllib import parse
+
+from securesystemslib.signer import CryptoSigner, Signer
+
+from tuf.api.exceptions import DownloadHTTPError
+from tuf.api.metadata import (
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Root,
+    Snapshot,
+    SuccinctRoles,
+    TargetFile,
+    Targets,
+    Timestamp,
+)
+from tuf.api.serialization.json import JSONSerializer
+from tuf.ngclient.fetcher import FetcherInterface
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+logger = logging.getLogger(__name__)
+
+SPEC_VER = ".".join(SPECIFICATION_VERSION)
+
+_HASH_ALGORITHM = "sha256"
+
+
+@dataclass
+class FetchTracker:
+    """Fetcher counter for metadata and targets."""
+
+    metadata: list[tuple[str, int | None]] = field(default_factory=list)
+    targets: list[tuple[str, str | None]] = field(default_factory=list)
+
+
+@dataclass
+class RepositoryTarget:
+    """Contains actual target data and the related target metadata."""
+
+    data: bytes
+    target_file: TargetFile
+
+
+class RepositorySimulator(FetcherInterface):
+    """Simulates a repository that can be used for testing."""
+
+    def __init__(self) -> None:
+        self.md_delegates: dict[str, Metadata[Targets]] = {}
+
+        # other metadata is signed on-demand (when fetched) but roots must be
+        # explicitly published with publish_root() which maintains this list
+        self.signed_roots: list[bytes] = []
+
+        # signers are used on-demand at fetch time to sign metadata
+        # keys are roles, values are dicts of {keyid: signer}
+        self.signers: dict[str, dict[str, Signer]] = {}
+
+        # target downloads are served from this dict
+        self.target_files: dict[str, RepositoryTarget] = {}
+
+        # Whether to compute hashes and length for meta in snapshot/timestamp
+        self.compute_metafile_hashes_length = False
+
+        # Enable hash-prefixed target file names
+        self.prefix_targets_with_hash = True
+
+        self.dump_dir: str | None = None
+        self.dump_version = 0
+
+        self.fetch_tracker = FetchTracker()
+
+        now = datetime.datetime.now(datetime.timezone.utc)
+        self.safe_expiry = now.replace(microsecond=0) + datetime.timedelta(
+            days=30
+        )
+
+        self._initialize()
+
+    @property
+    def root(self) -> Root:
+        return self.md_root.signed
+
+    @property
+    def timestamp(self) -> Timestamp:
+        return self.md_timestamp.signed
+
+    @property
+    def snapshot(self) -> Snapshot:
+        return self.md_snapshot.signed
+
+    @property
+    def targets(self) -> Targets:
+        return self.md_targets.signed
+
+    def all_targets(self) -> Iterator[tuple[str, Targets]]:
+        """Yield role name and signed portion of targets one by one."""
+        yield Targets.type, self.md_targets.signed
+        for role, md in self.md_delegates.items():
+            yield role, md.signed
+
+    def add_signer(self, role: str, signer: Signer) -> None:
+        if role not in self.signers:
+            self.signers[role] = {}
+        self.signers[role][signer.public_key.keyid] = signer
+
+    def rotate_keys(self, role: str) -> None:
+        """remove all keys for role, then add threshold of new keys"""
+        self.root.roles[role].keyids.clear()
+        self.signers[role].clear()
+        for _ in range(self.root.roles[role].threshold):
+            signer = CryptoSigner.generate_ed25519()
+            self.root.add_key(signer.public_key, role)
+            self.add_signer(role, signer)
+
+    def _initialize(self) -> None:
+        """Setup a minimal valid repository."""
+
+        self.md_targets = Metadata(Targets(expires=self.safe_expiry))
+        self.md_snapshot = Metadata(Snapshot(expires=self.safe_expiry))
+        self.md_timestamp = Metadata(Timestamp(expires=self.safe_expiry))
+        self.md_root = Metadata(Root(expires=self.safe_expiry))
+
+        for role in TOP_LEVEL_ROLE_NAMES:
+            signer = CryptoSigner.generate_ed25519()
+            self.md_root.signed.add_key(signer.public_key, role)
+            self.add_signer(role, signer)
+
+        self.publish_root()
+
+    def publish_root(self) -> None:
+        """Sign and store a new serialized version of root."""
+        self.md_root.signatures.clear()
+        for signer in self.signers[Root.type].values():
+            self.md_root.sign(signer, append=True)
+
+        self.signed_roots.append(self.md_root.to_bytes(JSONSerializer()))
+        logger.debug("Published root v%d", self.root.version)
+
+    def _fetch(self, url: str) -> Iterator[bytes]:
+        """Fetches data from the given url and returns an Iterator (or yields
+        bytes).
+        """
+        path = parse.urlparse(url).path
+        if path.startswith("/metadata/") and path.endswith(".json"):
+            # figure out rolename and version
+            ver_and_name = path[len("/metadata/") :][: -len(".json")]
+            version_str, _, role = ver_and_name.partition(".")
+            # root is always version-prefixed while timestamp is always NOT
+            if role == Root.type or (
+                self.root.consistent_snapshot and ver_and_name != Timestamp.type
+            ):
+                version: int | None = int(version_str)
+            else:
+                # the file is not version-prefixed
+                role = ver_and_name
+                version = None
+
+            yield self.fetch_metadata(role, version)
+        elif path.startswith("/targets/"):
+            # figure out target path and hash prefix
+            target_path = path[len("/targets/") :]
+            dir_parts, sep, prefixed_filename = target_path.rpartition("/")
+            # extract the hash prefix, if any
+            prefix: str | None = None
+            filename = prefixed_filename
+            if self.root.consistent_snapshot and self.prefix_targets_with_hash:
+                prefix, _, filename = prefixed_filename.partition(".")
+            target_path = f"{dir_parts}{sep}{filename}"
+
+            yield self.fetch_target(target_path, prefix)
+        else:
+            raise DownloadHTTPError(f"Unknown path '{path}'", 404)
+
+    def fetch_target(self, target_path: str, target_hash: str | None) -> bytes:
+        """Return data for 'target_path', checking 'target_hash' if it is given.
+
+        If hash is None, then consistent_snapshot is not used.
+        """
+        self.fetch_tracker.targets.append((target_path, target_hash))
+
+        repo_target = self.target_files.get(target_path)
+        if repo_target is None:
+            raise DownloadHTTPError(f"No target {target_path}", 404)
+        if (
+            target_hash
+            and target_hash not in repo_target.target_file.hashes.values()
+        ):
+            raise DownloadHTTPError(f"hash mismatch for {target_path}", 404)
+
+        logger.debug("fetched target %s", target_path)
+        return repo_target.data
+
+    def fetch_metadata(self, role: str, version: int | None = None) -> bytes:
+        """Return signed metadata for 'role', using 'version' if it is given.
+
+        If version is None, non-versioned metadata is being requested.
+        """
+        self.fetch_tracker.metadata.append((role, version))
+        # decode role for the metadata
+        role = parse.unquote(role, encoding="utf-8")
+
+        if role == Root.type:
+            # return a version previously serialized in publish_root()
+            if version is None or version > len(self.signed_roots):
+                raise DownloadHTTPError(f"Unknown root version {version}", 404)
+            logger.debug("fetched root version %d", version)
+            return self.signed_roots[version - 1]
+
+        # sign and serialize the requested metadata
+        md: Metadata | None
+        if role == Timestamp.type:
+            md = self.md_timestamp
+        elif role == Snapshot.type:
+            md = self.md_snapshot
+        elif role == Targets.type:
+            md = self.md_targets
+        else:
+            md = self.md_delegates.get(role)
+
+        if md is None:
+            raise DownloadHTTPError(f"Unknown role {role}", 404)
+
+        md.signatures.clear()
+        for signer in self.signers[role].values():
+            md.sign(signer, append=True)
+
+        logger.debug(
+            "fetched %s v%d with %d sigs",
+            role,
+            md.signed.version,
+            len(self.signers[role]),
+        )
+        return md.to_bytes(JSONSerializer())
+
+    def _compute_hashes_and_length(
+        self, role: str
+    ) -> tuple[dict[str, str], int]:
+        data = self.fetch_metadata(role)
+        digest_object = hashlib.new(_HASH_ALGORITHM)
+        digest_object.update(data)
+        hashes = {_HASH_ALGORITHM: digest_object.hexdigest()}
+        return hashes, len(data)
+
+    def update_timestamp(self) -> None:
+        """Update timestamp and assign snapshot version to snapshot_meta
+        version.
+        """
+
+        hashes = None
+        length = None
+        if self.compute_metafile_hashes_length:
+            hashes, length = self._compute_hashes_and_length(Snapshot.type)
+
+        self.timestamp.snapshot_meta = MetaFile(
+            self.snapshot.version, length, hashes
+        )
+
+        self.timestamp.version += 1
+
+    def update_snapshot(self) -> None:
+        """Update snapshot, assign targets versions and update timestamp."""
+        for role, delegate in self.all_targets():
+            hashes = None
+            length = None
+            if self.compute_metafile_hashes_length:
+                hashes, length = self._compute_hashes_and_length(role)
+
+            self.snapshot.meta[f"{role}.json"] = MetaFile(
+                delegate.version, length, hashes
+            )
+
+        self.snapshot.version += 1
+        self.update_timestamp()
+
+    def _get_delegator(self, delegator_name: str) -> Targets:
+        """Given a delegator name return, its corresponding Targets object."""
+        if delegator_name == Targets.type:
+            return self.targets
+
+        return self.md_delegates[delegator_name].signed
+
+    def add_target(self, role: str, data: bytes, path: str) -> None:
+        """Create a target from data and add it to the target_files."""
+        targets = self._get_delegator(role)
+
+        target = TargetFile.from_data(path, data, ["sha256"])
+        targets.targets[path] = target
+        self.target_files[path] = RepositoryTarget(data, target)
+
+    def add_delegation(
+        self, delegator_name: str, role: DelegatedRole, targets: Targets
+    ) -> None:
+        """Add delegated target role to the repository."""
+        delegator = self._get_delegator(delegator_name)
+
+        if (
+            delegator.delegations is not None
+            and delegator.delegations.succinct_roles is not None
+        ):
+            raise ValueError("Can't add a role when succinct_roles is used")
+
+        # Create delegation
+        if delegator.delegations is None:
+            delegator.delegations = Delegations({}, roles={})
+
+        assert delegator.delegations.roles is not None
+        # put delegation last by default
+        delegator.delegations.roles[role.name] = role
+
+        # By default add one new key for the role
+        signer = CryptoSigner.generate_ed25519()
+        delegator.add_key(signer.public_key, role.name)
+        self.add_signer(role.name, signer)
+
+        # Add metadata for the role
+        if role.name not in self.md_delegates:
+            self.md_delegates[role.name] = Metadata(targets, {})
+
+    def add_succinct_roles(
+        self, delegator_name: str, bit_length: int, name_prefix: str
+    ) -> None:
+        """Add succinct roles info to a delegator with name "delegator_name".
+
+        Note that for each delegated role represented by succinct roles an empty
+        Targets instance is created.
+        """
+        delegator = self._get_delegator(delegator_name)
+
+        if (
+            delegator.delegations is not None
+            and delegator.delegations.roles is not None
+        ):
+            raise ValueError(
+                "Can't add a succinct_roles when delegated roles are used"
+            )
+
+        signer = CryptoSigner.generate_ed25519()
+        succinct_roles = SuccinctRoles([], 1, bit_length, name_prefix)
+        delegator.delegations = Delegations({}, None, succinct_roles)
+
+        # Add targets metadata for all bins.
+        for delegated_name in succinct_roles.get_roles():
+            self.md_delegates[delegated_name] = Metadata(
+                Targets(expires=self.safe_expiry)
+            )
+
+            self.add_signer(delegated_name, signer)
+
+        delegator.add_key(signer.public_key)
+
+    def write(self) -> None:
+        """Dump current repository metadata to self.dump_dir
+
+        This is a debugging tool: dumping repository state before running
+        Updater refresh may be useful while debugging a test.
+        """
+        if self.dump_dir is None:
+            self.dump_dir = tempfile.mkdtemp()
+            print(f"Repository Simulator dumps in {self.dump_dir}")
+
+        self.dump_version += 1
+        dest_dir = os.path.join(self.dump_dir, str(self.dump_version))
+        os.makedirs(dest_dir)
+
+        for ver in range(1, len(self.signed_roots) + 1):
+            with open(os.path.join(dest_dir, f"{ver}.root.json"), "wb") as f:
+                f.write(self.fetch_metadata(Root.type, ver))
+
+        for role in [Timestamp.type, Snapshot.type, Targets.type]:
+            with open(os.path.join(dest_dir, f"{role}.json"), "wb") as f:
+                f.write(self.fetch_metadata(role))
+
+        for role in self.md_delegates:
+            quoted_role = parse.quote(role, "")
+            with open(os.path.join(dest_dir, f"{quoted_role}.json"), "wb") as f:
+                f.write(self.fetch_metadata(role))
diff --git a/tests/simple_https_server.py b/tests/simple_https_server.py
deleted file mode 100755
index 61c595739f..0000000000
--- a/tests/simple_https_server.py
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program>
-  simple_https_server.py
-
-<Author>
-  Vladimir Diaz.
-
-<Started>
-  June 17, 2014
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provide a simple https server that can be used by the unit tests.  For
-  example, 'download.py' can connect to the https server started by this module
-  to verify that https downloads are permitted.
-
-<Reference>
-  ssl.wrap_socket:
-    https://docs.python.org/2/library/ssl.html#functions-constants-and-exceptions
-
-  SimpleHTTPServer:
-    http://docs.python.org/library/simplehttpserver.html#module-SimpleHTTPServer
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import sys
-import ssl
-import os
-import six
-
-keyfile = os.path.join('ssl_certs', 'ssl_cert.key')
-certfile = os.path.join('ssl_certs', 'ssl_cert.crt')
-
-
-if len(sys.argv) > 1 and os.path.exists(sys.argv[1]):
-    certfile = sys.argv[1]
-
-httpd = six.moves.BaseHTTPServer.HTTPServer(('localhost', 0),
-    six.moves.SimpleHTTPServer.SimpleHTTPRequestHandler)
-
-httpd.socket = ssl.wrap_socket(
-    httpd.socket, keyfile=keyfile, certfile=certfile, server_side=True)
-
-port_message = 'bind succeeded, server port is: ' \
-    + str(httpd.server_address[1])
-print(port_message)
-
-if len(sys.argv) > 1 and certfile != sys.argv[1]:
-  print('simple_https_server: cert file was not found: ' + sys.argv[1] +
-      '; using default: ' + certfile + " certfile")
-
-httpd.serve_forever()
diff --git a/tests/simple_server.py b/tests/simple_server.py
index bec8e7b07f..2979f63ae3 100755
--- a/tests/simple_server.py
+++ b/tests/simple_server.py
@@ -1,73 +1,18 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 
 # Copyright 2012 - 2017, New York University and the TUF contributors
 # SPDX-License-Identifier: MIT OR Apache-2.0
 
-"""
-<Program>
-  simple_server.py
+"""Simple HTTP server for python-tuf tests"""
 
-<Author>
-  Konstantin Andrianov.
+import socketserver
+from http.server import SimpleHTTPRequestHandler
 
-<Started>
-  February 15, 2012.
+# Allow reuse so you can re-run tests as often as you want even if the
+# tests reuse ports. Otherwise TCP TIME-WAIT prevents reuse for ~1 minute
+socketserver.TCPServer.allow_reuse_address = True
 
-<Copyright>
-  See LICENSE-MIT or LICENSE for licensing information.
-
-<Purpose>
-  This is a basic server that was designed to be used in conjunction with
-  test_download.py to test download.py module.
-
-<Reference>
-  SimpleHTTPServer:
-    http://docs.python.org/library/simplehttpserver.html#module-SimpleHTTPServer
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import sys
-import random
-
-import six
-from six.moves.SimpleHTTPServer import SimpleHTTPRequestHandler
-
-
-class QuietHTTPRequestHandler(SimpleHTTPRequestHandler):
-  """A SimpleHTTPRequestHandler that does not write incoming requests to
-  stderr. """
-  def log_request(self, code='-', size='-'):
-    pass
-
-# NOTE: On Windows/Python2 tests that use this simple_server.py in a
-# subprocesses hang after a certain amount of requests (~68), if a PIPE is
-# passed as Popen's stderr argument. This problem doesn't emerge if
-# we silence the HTTP messages.
-# If you decide to receive the HTTP messages, then this bug
-# could reappear.
-use_quiet_http_request_handler = True
-
-if len(sys.argv) > 2:
-  use_quiet_http_request_handler = sys.argv[2]
-
-if use_quiet_http_request_handler:
-  handler = QuietHTTPRequestHandler
-else:
-  handler = SimpleHTTPRequestHandler
-
-# Allow re-use so you can re-run tests as often as you want even if the
-# tests re-use ports. Otherwise TCP TIME-WAIT prevents reuse for ~1 minute
-six.moves.socketserver.TCPServer.allow_reuse_address = True
-
-httpd = six.moves.socketserver.TCPServer(('localhost', 0), handler)
-port_message = 'bind succeeded, server port is: ' \
-    + str(httpd.server_address[1])
+httpd = socketserver.TCPServer(("localhost", 0), SimpleHTTPRequestHandler)
+port_message = "bind succeeded, server port is: " + str(httpd.server_address[1])
 print(port_message)
 httpd.serve_forever()
diff --git a/tests/slow_retrieval_server.py b/tests/slow_retrieval_server.py
deleted file mode 100755
index 7740d73b88..0000000000
--- a/tests/slow_retrieval_server.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  slow_retrieval_server.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 13, 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Server that throttles data by sending one byte at a time (specified time
-  interval 'DELAY').  The server is used in 'test_slow_retrieval_attack.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import sys
-import time
-
-import six
-
-
-
-# HTTP request handler.
-class Handler(six.moves.BaseHTTPServer.BaseHTTPRequestHandler):
-
-  # Overwrite do_GET.
-  def do_GET(self):
-    current_dir = os.getcwd()
-    try:
-      filepath = os.path.join(current_dir, self.path.lstrip('/'))
-      data = None
-      with open(filepath, 'r') as fileobj:
-        data = fileobj.read()
-
-      self.send_response(200)
-      self.send_header('Content-length', str(len(data)))
-      self.end_headers()
-
-      # Before sending any data, the server does nothing for a long time.
-      DELAY = 40
-      time.sleep(DELAY)
-      self.wfile.write((data.encode('utf-8')))
-
-    except IOError as e:
-      self.send_error(404, 'File Not Found!')
-
-
-
-if __name__ == '__main__':
-  server_address = ('localhost', 0)
-
-  httpd = six.moves.BaseHTTPServer.HTTPServer(server_address, Handler)
-  port_message = 'bind succeeded, server port is: ' \
-      + str(httpd.server_address[1])
-  print(port_message)
-  httpd.serve_forever()
diff --git a/tests/ssl_certs/proxy_ca.crt b/tests/ssl_certs/proxy_ca.crt
deleted file mode 100644
index f079e58b7c..0000000000
--- a/tests/ssl_certs/proxy_ca.crt
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN CERTIFICATE-----
-MIICpDCCAYwCCQCFr/EhHmzVajANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAlw
-cm94eTIgQ0EwHhcNMTgwOTIwMTkyOTQ2WhcNMjgwOTE3MTkyOTQ2WjAUMRIwEAYD
-VQQDDAlwcm94eTIgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/
-rVOeqSzJb01Vyliw3dnfLJsWfDfs/Lq5HLn+Xqnzl6MqnYirDqHzTErD3vl8lo/o
-OJrziO0vYCWGXEylRQlZp+P37bLToSWiVqWZ8pH6CAh+AhA3WtegN5JwTgIUSP7A
-aDlxuZrXlJM50QVlXJIPkc74M8ALz0nu5zmyWkGFvmTYS8503T8cXs9Alr4Bo++9
-Ilixv6lW4QS7FKTeQXlI49K4TeGGGsfmEO6Uj4WTUkwMZym9wfiqtaWc6I9ZMese
-WmU3LuufY+pFCdjsdMWDJpYc+HabTSrbgXSF5Iq9a84Xuum39qhVpYhBwBtLk3ye
-cxZmIxde1vnkWAitJFETAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKV09r/x3WyO
-McH0RU4WRVzvQN5F0e7swpDlLUX7YnfvpPEkavqQfmrL1cYyEDgsm/347Gvcs1Aa
-iaT77axYroXOvCEJ3DxZdzUErKH6Jr3MmHKcZ/L35u6ZXKnmx/edFjdWr6ENkjuZ
-NVvKbTrm4cl6Wy4bXkp6b24rBa9IFJncOouSkIvHENEcH//OD4xeTK8vSJTJ9nmw
-TiJ0TjCRujtJWC6yb03ZV32VbeiHa1zLlZhcyKqUtt81dLti5t5+L2hAAVCcnEgI
-DBWQdlRs/wilHGWVBo/9srOoMNsmvecTBpLH2JyC5VZ1+faYLPrNlgkWgHIFOTTi
-h4ByR95Wbi8=
------END CERTIFICATE-----
diff --git a/tests/ssl_certs/proxy_ca.key b/tests/ssl_certs/proxy_ca.key
deleted file mode 100644
index 0e08b82d76..0000000000
--- a/tests/ssl_certs/proxy_ca.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAv61TnqksyW9NVcpYsN3Z3yybFnw37Py6uRy5/l6p85ejKp2I
-qw6h80xKw975fJaP6Dia84jtL2AlhlxMpUUJWafj9+2y06ElolalmfKR+ggIfgIQ
-N1rXoDeScE4CFEj+wGg5cbma15STOdEFZVySD5HO+DPAC89J7uc5slpBhb5k2EvO
-dN0/HF7PQJa+AaPvvSJYsb+pVuEEuxSk3kF5SOPSuE3hhhrH5hDulI+Fk1JMDGcp
-vcH4qrWlnOiPWTHrHlplNy7rn2PqRQnY7HTFgyaWHPh2m00q24F0heSKvWvOF7rp
-t/aoVaWIQcAbS5N8nnMWZiMXXtb55FgIrSRREwIDAQABAoIBACxJObbA064+3xlh
-RRioSXx86+BIFwvUYLgAYSDacl3rvTFNcJRFLznteKDE1dPpXZqD6Zk3G8YEauce
-UD8nMj/awJs5+kVXSEC30E8/cmbYkE284E5J2OQVsunrvCM/skx2SD90aMhCdbm4
-B40h1EVwpOdH3alc3XIrTnNc0yK5MWAu41qwkxYxXHmW9Y0L8AjZve9JBrnKsJMB
-ETEZFhHgi/IWtfh5PLbJO2dbSe7Nqo4ikyWo3r5b3yvuphFz1il88ZLjJ5nDmtlH
-is7sk7pd0tYNsK1Di5G1ku50XvcbOE4F7mOVCxICTwjN+sdyG8o+AVlgbTKBo/JF
-uEhthCECgYEA/3YXS9mAEujlstrV4VOksYWtySSrLHC56tLjj8cHVPJ1qkzT4OOC
-X9TsWReDG4J8/t0DOHn+5dnhnqGcYjMMAQx095KHU1bQGrcRdmi6cjnNLTvfEbge
-IcJTYG5P7NpLfLjB3DOGqFR4o0iz4K9ZLTYJc+BaCB9qJBEw6nuoP+sCgYEAwBTN
-WpRDrmch0+LFPQwboLwtEPiFscTj8SInV0KsI/MK8+5Sm+tXS8PQHYJYcECEQxQM
-2gfyM8vy33UP4yn4edJGWlaz7a4hyDxn944vv2fBQ3vjJTNz3X3skkhZ2/F+ZW9e
-SFxPj+Vbif8VTEU+wK0f5SUmpRec4E7y3fq+kXkCgYEAib8ZbLLI1mlygfBx51/8
-rCRSwuTcz8ew2CgCwGInV+ys+bkXfmnuwNHE531AGrNPxvVRaUCO602C1NB7zI+N
-53raDyyZf5yN9fnElr592l3EfqGL9Lf8t2NbJeIVgrdqgMP29E9sSpPRwOnQ5FRo
-l3JNwoe0xDB8QRpr7+PhoyUCgYEAp+GGmmR7wzLgnhDV00WB4DqYKP0N3RH5KAhx
-2hKr4b/LEuh5y00mP1Il06TZJ0M8VmRv1yCa0CqxXB00hZdpVRAz7UFagaJwZFJn
-jDb6BJDqmdDt9tXBrxUgb7pMz6+CiaWNAjGsWFheaX5JXyAmeMDX369Y13KL6oEW
-RG2jogECgYEA/1vLZcWNK/0yd4ClU+Xbu8xC29q82JUMsaazHtbgSNlOfo9LMQlH
-z6xBiMYfHZ/SiHCy9RsO8GD4caXiF0RsTVnhqjSRJf3EARamufelNsu2ApLclkSN
-fzSoB7ZHddGaYKYpXkGzcwFcKd/QjAlHm1yIsZu4B52AhCxC/WS2X54=
------END RSA PRIVATE KEY-----
diff --git a/tests/ssl_certs/proxy_cert.key b/tests/ssl_certs/proxy_cert.key
deleted file mode 100644
index 7693865610..0000000000
--- a/tests/ssl_certs/proxy_cert.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAzZO36nZvb9wLxBNB2cZyHqcX5poChJd1YnFBtxbtQwiISxid
-eGdiWImQE80vpUyTQbI7TxM+w1xZeEeu4PXuYrOgdTDRFEnjM2mteG+3WpHQBN4H
-xoah0msp3046fMkYqcEvhvHbsc5DAWgLK4JFHQPtG/+CIH0ZY+lBBPQhFIhBLYkt
-YxNVqwpsXOGreASSw6mO6cVehCuVFJQO5NnI1sCAvp3SeosMKeIcDZxpZWmZhSwH
-n3Rj6RMNM66C8zG4YlpvIniGzgV4UiW8XrTUG8HmzQ2295IcfB4No2DZeJDSR9oq
-jOkyqJXll+tSiAMuzBRtTQKvGZ5bpZWW4XELEQIDAQABAoIBAQCAfW2cjD4GimCI
-QwkLlq9JXWLg7S3ZtdjWmLdcOmY9WZ3mYhI6aVPcxs5Ysgyvonb/vui2+e5mqNf7
-B8LUNKK06lTGKqbjqXLqdYjJF/pgD3cXM7dkbE3EeNqJChogWIijwW11SMHqFmNn
-A6LHpPqRshyHPWIV8FroSagr8nKio5BjUEuUiQUUAmSJPGN5qUhdIWXcQu8R1JB8
-9qqqtwPR4FELbFVGI2vYHaSWGnf9V0boPOsfFXWbSq/Ksj3Lm3gAqMtlAeOFu84l
-fhP9RkgeXfaCXq0VaOM83UDgLqXm4Ni4wAMKRLwNs4LzumqMM/dfUTn+mGncj33q
-idp5qnDhAoGBAOXkwuf60F7aBbo98A0vWZli2CbkspsJz2J573pf+lVWI+ZHBZLI
-MOM2DgCOEIUfa2TIMkwFr2t9x6uXlACEwFbEtEBpM4J5qUHgGtXZIsnTsv3qUg/C
-L89cNrMddOuuRkxQbyK1QMYZZmZQjSKG2jW6m1KING+shtkOzQ/P9ildAoGBAOTs
-DLyyPeEZPj1UMqxVNmeYYRfWnt+YyTPulOIbSuFN0DhZPNLsjrhSxvDwe/3sYH/p
-nKdjnlFlx8frz9wtkCt0hWvY0pG2Zam4IBCvreFN7rSvpzHwUAK3oXic2TRKKu1m
-xUPZqMJwnWAPX+XxGFn0m7UJj+95VTEOJ2d12ClFAoGAdexXMgmM8uqg/3yf8xNz
-wWNbfu/W0gJBN8FWXw52aWmrNob9y+IWeaYTnqNAxBhuzR6H9kkAR4IYduNkzrNJ
-ufhigZu1CVuAv8LF4SXlW2PVL7wPZff08Efb4xrcC7y0YJbtuv8Af90tkpQFIU3N
-Brx2yeoGA7aa4SJfe5nwKh0CgYAo1yP+lh4MBqDf+CGCNUGbgcfwpM17PprGtQ3C
-uPPG9kbrhqAfUSy1Ha94VK8KQh2FNHxKMK+R/gKCXEOdGFPcLNGQyAHpFQ1WFg9C
-atUumOS5P40oj6L2mSQpjHIDrieyat9Ol4pQBh9Nf/Cv6S9a/RS6W5ZeNttIASpu
-fsutsQKBgQCq+BFeDYJH4f+C1233W3PXM0P1ivj+9TJMRUP63RRay6rv2ZTZXyPc
-Rx6Lv4OVWh9VMfv1kHRloJ1GKEBo/uD3nid1WqoNxpXv1iwxeGtjXkFHfvCB7Ruu
-vTyQhJQQ7WSCJJOfarstusIn0udOG3MLRgG4X1pPQghyS1AT8NUglw==
------END RSA PRIVATE KEY-----
diff --git a/tests/ssl_certs/ssl_cert.crt b/tests/ssl_certs/ssl_cert.crt
deleted file mode 100644
index 4812078bcf..0000000000
--- a/tests/ssl_certs/ssl_cert.crt
+++ /dev/null
@@ -1,28 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIE1TCCAz2gAwIBAgIJAKqz8ew7Z44mMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD
-VQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCEJyb29rbHluMQww
-CgYDVQQKDANOWVUxKTAnBgNVBAsMIENvbXB1dGVyIFNjaWVuY2UgYW5kIEVuZ2lu
-ZWVyaW5nMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTYwMTI3MjEyMTMxWhcNMjYw
-MTI0MjEyMTMxWjCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMREw
-DwYDVQQHDAhCcm9va2x5bjEMMAoGA1UECgwDTllVMSkwJwYDVQQLDCBDb21wdXRl
-ciBTY2llbmNlIGFuZCBFbmdpbmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0MIIB
-ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyFVeRsWnb1UlCKBks2azM9W
-9K+J/ZkzdSb6eCxOIxv79M/Ug54CfWqkySSaQejsu0U/gJxkFYRvwQAy5lATrspY
-2kyiWYiggWXFDWz+i8ETPkL9zn59v13sNIpT/IXQj0S3Mr9ZnsUn1qCyEOOIxJxZ
-lyuV/M/XP1DP4tArhEvrex12V6MQIK+8fYzEjHG/W7vIIet+wTStIR8ArvVQi0Kv
-PbbGCfrZ+e+gq+UpBLBuAfMzM95TW+YJ5duMchie2n6LDmOeegA4jMEv2ppeOr8Q
-JJtZuKpXWVbJvLg81yrDjr1rAwJR/WQrnk8GQWPCyPLneAA4mJbi75LqjLxn0AoJ
-b3kzLfGEMJJEWXspxNg06bLQU948hB4L7nKARq6s7KoESjEV+/L4koMPWJoNq6fx
-OUVw2+S3ITNrDctecRQ1j3RGVPaj5l6bn03C7KV9uRrfqFY3OUjn7A0kDczvRnmr
-e1BZIpe+mfGFB+Uu7JiQoBv6I6fqyrdH9rX1LUKlAgMBAAGjUDBOMB0GA1UdDgQW
-BBT8LvRkvodP9bR/bBs/aI+AydRIvTAfBgNVHSMEGDAWgBT8LvRkvodP9bR/bBs/
-aI+AydRIvTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBgQC6kwuSEF0Y
-5yLMf1TKfVkeBaZ4tOqR2kzpggzPPog+JcfIQgVmI2QTUDritHWFIM4YUwQ/00WU
-uol2BCUpgaLci5gNgyTw8p538Q5cZHXE3kK/CWJA4zKag+oHdmXzGjMalqzvPuVJ
-9VdtPrwHhB0Xntf72iWWhE2dIn1QZqVmJ/8hhIU8cQ91pIqTjYjhrYE/GhGH7HMW
-bRiRolt37VxbzfXjEBMqVH6fOQq0piTRxwTNPBFp6JO5mRakRmWRvN3dnR8J9qXi
-6tQhNNn2uQIpPlKlqVQnh5j5YxFrb50b0FCjDw+eNilXP93yjV4+lWK2QZychcGl
-6/7Wu8snZkJCImPbwmcT80XSKesf918zIkauekWiaJE02+ljNtbM7MUAE+XLsKJy
-NFGzpyZJ9LihGC/eeVl7K+xqC41jGVOXOOHtbDMbIQfaEZd1nPvy3+V/tublv+am
-jPSlj/FW3bLTkjF0OspFjHvJeCeAJdM9kJdYfZoahd6kcejGJc+vjXE=
------END CERTIFICATE-----
diff --git a/tests/ssl_certs/ssl_cert.key b/tests/ssl_certs/ssl_cert.key
deleted file mode 100644
index b483851d7b..0000000000
--- a/tests/ssl_certs/ssl_cert.key
+++ /dev/null
@@ -1,39 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIG4wIBAAKCAYEAxyFVeRsWnb1UlCKBks2azM9W9K+J/ZkzdSb6eCxOIxv79M/U
-g54CfWqkySSaQejsu0U/gJxkFYRvwQAy5lATrspY2kyiWYiggWXFDWz+i8ETPkL9
-zn59v13sNIpT/IXQj0S3Mr9ZnsUn1qCyEOOIxJxZlyuV/M/XP1DP4tArhEvrex12
-V6MQIK+8fYzEjHG/W7vIIet+wTStIR8ArvVQi0KvPbbGCfrZ+e+gq+UpBLBuAfMz
-M95TW+YJ5duMchie2n6LDmOeegA4jMEv2ppeOr8QJJtZuKpXWVbJvLg81yrDjr1r
-AwJR/WQrnk8GQWPCyPLneAA4mJbi75LqjLxn0AoJb3kzLfGEMJJEWXspxNg06bLQ
-U948hB4L7nKARq6s7KoESjEV+/L4koMPWJoNq6fxOUVw2+S3ITNrDctecRQ1j3RG
-VPaj5l6bn03C7KV9uRrfqFY3OUjn7A0kDczvRnmre1BZIpe+mfGFB+Uu7JiQoBv6
-I6fqyrdH9rX1LUKlAgMBAAECggGAEogMn0ehFC7xdxO7AUF3HYZSLlVDv0EJo+Zr
-utFMuEG7ce4Bdfo3exp4mWt5m5akqUzpevuS6Nm5WLm/AuYC3upf2Hj3RuPLJB+n
-dfdlvPXL56huXFAzPaLs/3q8FC0T2rFnZyadnYP1kCjGSYITUVDHmaTpwWxKOM85
-eX8r/ZTfJkb4o3E+Z/xSy1BVXkibqVrRZi63Th2r2wA6nQ2hYERlcJXY2kbpEDR3
-vGeIKLKOmknawwH2uf+vfh+vc1LNE7p9C5w16ex0OcmCo6G1ln7/dcwmXmcS3M0S
-Bax5Jzu5ozaJFL9G59o0AUGJoZj9Gj9leeKPZvShsGcA0JmBMQiLIdhgRwj0B83x
-HrYXTZ6P5BjJmwrIv4mGdv2bHV20pbWKAATUwo8EVBzylipexhhAtQJ5B6OsPDPS
-HTluaEC2niD6lE613uRnzzbjw4SlwkoMLE0aqOhQyWIPS9/8oRjTzQi4otL7Dt69
-oMrVhmSfxUqZhh2R3KMHDcMKt5nBAoHBAOXkDovYOhTMD3ei0WbKpbSB1sJp5t2d
-/9gVil4nWLa4ahw7/TsZi3Co+c9gD2UJku1L9JbOy6TVZ2LoXOybLvIJfeAjNdYH
-vi/ElG7498fgsSyw6bua/1VEd7VtbtpWJIQt1LdJG1+O3ZbJNTY6tbLbYVuy4FIO
-e/484F8kdZ9PtRsn+I0I7kfoYJ2IFoM0UWgwQETOBguBCua43ZnHoxrvyHKABAO+
-Iuvw4RBZKphGVxMCEjvTCB9S/CpGCRAkkQKBwQDdvu3reA/lVdFDN56VNUn0u3vr
-zPSoiOjojlHDyWVAWiLB9I0qaE61UMvVgChM8VkmjhHYQEW6Cj0XMZMkCnsfKDQn
-TYF16jt/sTteWSTcx0PTeiCGs3yM5wK4B8q9coOlzSqDd39mjDIFiUz4e+44OIcU
-+ISc8pGbwxw0W8qRwIUJPTSVoaUZDnupuR/IE48q8CTPT1Gf00sMLWuv3SYuFHKX
-djpcMLWVf4HclIY6y3BqNIZ0JaUAOd+OZT2kdtUCgcBLWPwLics/lcJcC9lmP3Ug
-PI4PGna4nFiGkkjPo0XIXZkpt9+/xxeUzU1TUsC49PJbJFH+O7kzRV6lZFNQmWxB
-mCrRk7jJdbA4J84esStFL7fiVfnFq3+UiuRRapSyqxk82WimyidWopSuHzR5mbSD
-8rNuQqqTOnwZUAqaJHEIzi8lv2wPjaXLm7ZO65O1XShxZZ8q7fu9OYZBKMY46N3k
-rkKchKjMMT1w53pcyVzUm/leGYewY/J9kc1kbZ/60oECgcEAj/qdzwt4/sa3BncB
-wA4GxCJL9zJwFVI4MG/gRUjqNluQP/GDC2sI2A/rGeiJwlPfN/p9ObWZ0I8/VWT6
-DifEA9n96xsXGTIKigHQ85TcK4Iy1whwQCYgk/iXOljM2i+VrT1HAm+/yBz1icS5
-ton5hoWlqAcpTCLwSnvoP1Lud67ScspL73Aym89cmjo6mZWhmxasP/NXo3f1PaXs
-SxdD6B2cvh2lDSEPdk+BSXEiquBXUI5kUtvyg/AP6Qxxdu01AoHAO05qTh9zokkT
-yg0sZf4Z5i01em2ys4ZhQjhhbw+I5lIO76e/ZyUWpEZusBVd9TV5BHgiATOHw4yr
-nbjEZKwLEb3SXoHl3/CD/l9vWk4gKAYDJdW+oPZttDlkp6dfPJVDupQwLhrxXYmE
-fgs4WFmY3Q5b1wut2pnSs1UEPDqJBvykt59gFgn7yVwyTy8VLihNVtH4mwVPYXha
-jz2T6BzRAPlYqx/FpkK2YHHNcyj+HFtnBUMMzacnSl/aXpJgHTKw
------END RSA PRIVATE KEY-----
diff --git a/tests/ssl_certs/ssl_cert_2.crt b/tests/ssl_certs/ssl_cert_2.crt
deleted file mode 100644
index 6d6fb63a53..0000000000
--- a/tests/ssl_certs/ssl_cert_2.crt
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFOTCCA6GgAwIBAgIJAO+bbero+zKtMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD
-VQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCEJyb29rbHluMQww
-CgYDVQQKDANOWVUxKTAnBgNVBAsMIENvbXB1dGVyIFNjaWVuY2UgYW5kIEVuZ2lu
-ZWVyaW5nMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTgwOTI2MTgwMDAzWhcNMzgw
-OTIxMTgwMDAzWjCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMREw
-DwYDVQQHDAhCcm9va2x5bjEMMAoGA1UECgwDTllVMSkwJwYDVQQLDCBDb21wdXRl
-ciBTY2llbmNlIGFuZCBFbmdpbmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0MIIB
-ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyFVeRsWnb1UlCKBks2azM9W
-9K+J/ZkzdSb6eCxOIxv79M/Ug54CfWqkySSaQejsu0U/gJxkFYRvwQAy5lATrspY
-2kyiWYiggWXFDWz+i8ETPkL9zn59v13sNIpT/IXQj0S3Mr9ZnsUn1qCyEOOIxJxZ
-lyuV/M/XP1DP4tArhEvrex12V6MQIK+8fYzEjHG/W7vIIet+wTStIR8ArvVQi0Kv
-PbbGCfrZ+e+gq+UpBLBuAfMzM95TW+YJ5duMchie2n6LDmOeegA4jMEv2ppeOr8Q
-JJtZuKpXWVbJvLg81yrDjr1rAwJR/WQrnk8GQWPCyPLneAA4mJbi75LqjLxn0AoJ
-b3kzLfGEMJJEWXspxNg06bLQU948hB4L7nKARq6s7KoESjEV+/L4koMPWJoNq6fx
-OUVw2+S3ITNrDctecRQ1j3RGVPaj5l6bn03C7KV9uRrfqFY3OUjn7A0kDczvRnmr
-e1BZIpe+mfGFB+Uu7JiQoBv6I6fqyrdH9rX1LUKlAgMBAAGjgbMwgbAwgZ8GA1Ud
-IwSBlzCBlKGBhqSBgzCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3Jr
-MREwDwYDVQQHDAhCcm9va2x5bjEMMAoGA1UECgwDTllVMSkwJwYDVQQLDCBDb21w
-dXRlciBTY2llbmNlIGFuZCBFbmdpbmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0
-ggkA75tt6uj7Mq0wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAYEAFWcl
-1tAmt/3DJDjk0ppF62jbwcEOu1N9Nono9a70ojAQYYuMC7Ditw6rLbeXS8tP8ae/
-drlci3VxlE5PpmAjuP67Uv2CuGu/2iMqa99AWZ4mVN+x4YL6awvYs8ea6I1Xe8tQ
-5+RqvNA+QtnjtfOeb6yWQBAGrc2eTX87IzqvV/EewkdKAs4GZUWG1Zjv3effqjTO
-qRX94ltW1GWud7fVcqpZLOaK9U+4IaI2nNHuCtWODoyQmMoVApXyig/YQqFe0eyj
-76m1T+2SZLRtn0xn1fTHuLZ2bdtTMZ7k5PTAKnBNEn1Rr9MAS+WEASN1ZyoQ3reL
-VYrgkMTrrXPO8bdDTvP7z1Jzv5Cq9WMHFvOLfnj/vN9ZPH6w4QT3Zb97SAAOSPK/
-gzOzRtIe+hqCYBh/cwMoeeoAzes/nJgorj3IOTu8JXmtZrZGrdLIhu2Q8U+yKasf
-+TUrr6xdcJI/fyVM5BVelpGhqHzzOQe1tO4VYQlAVaaVvFidDPHqTI2/S272
------END CERTIFICATE-----
diff --git a/tests/ssl_certs/ssl_cert_expired.crt b/tests/ssl_certs/ssl_cert_expired.crt
deleted file mode 100644
index f0b79cb95a..0000000000
--- a/tests/ssl_certs/ssl_cert_expired.crt
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFOTCCA6GgAwIBAgIJALtyUsChEIJpMA0GCSqGSIb3DQEBCwUAMIGAMQswCQYD
-VQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCEJyb29rbHluMQww
-CgYDVQQKDANOWVUxKTAnBgNVBAsMIENvbXB1dGVyIFNjaWVuY2UgYW5kIEVuZ2lu
-ZWVyaW5nMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTgwOTI2MTc0NTM2WhcNMTgw
-OTI1MTc0NTM2WjCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3JrMREw
-DwYDVQQHDAhCcm9va2x5bjEMMAoGA1UECgwDTllVMSkwJwYDVQQLDCBDb21wdXRl
-ciBTY2llbmNlIGFuZCBFbmdpbmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0MIIB
-ojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxyFVeRsWnb1UlCKBks2azM9W
-9K+J/ZkzdSb6eCxOIxv79M/Ug54CfWqkySSaQejsu0U/gJxkFYRvwQAy5lATrspY
-2kyiWYiggWXFDWz+i8ETPkL9zn59v13sNIpT/IXQj0S3Mr9ZnsUn1qCyEOOIxJxZ
-lyuV/M/XP1DP4tArhEvrex12V6MQIK+8fYzEjHG/W7vIIet+wTStIR8ArvVQi0Kv
-PbbGCfrZ+e+gq+UpBLBuAfMzM95TW+YJ5duMchie2n6LDmOeegA4jMEv2ppeOr8Q
-JJtZuKpXWVbJvLg81yrDjr1rAwJR/WQrnk8GQWPCyPLneAA4mJbi75LqjLxn0AoJ
-b3kzLfGEMJJEWXspxNg06bLQU948hB4L7nKARq6s7KoESjEV+/L4koMPWJoNq6fx
-OUVw2+S3ITNrDctecRQ1j3RGVPaj5l6bn03C7KV9uRrfqFY3OUjn7A0kDczvRnmr
-e1BZIpe+mfGFB+Uu7JiQoBv6I6fqyrdH9rX1LUKlAgMBAAGjgbMwgbAwgZ8GA1Ud
-IwSBlzCBlKGBhqSBgzCBgDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5ldyBZb3Jr
-MREwDwYDVQQHDAhCcm9va2x5bjEMMAoGA1UECgwDTllVMSkwJwYDVQQLDCBDb21w
-dXRlciBTY2llbmNlIGFuZCBFbmdpbmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0
-ggkAu3JSwKEQgmkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAYEAW4I1
-TacdFv3L9ENFkSLciPb7zFMckLUZfk/P+4VjdapWrfuydO4W/ogMxA4DK09thTsK
-N/BgcExyKjDldGUfUv57Tqv3v2E5kbygNcNtP53fwMz3y+7QourzkDE5HWciw1Lb
-hmbnCBTzt/UioSBdJnAH29GWpSS+Jzu745sRaI48AS/J5ApH2aVEnNQTCE7v1LNH
-2bTTPYl3eDXiD8yOhvyiW1F4y2BSFbQRH/3aE6Goe4A75m8sX50+JlOgjyyQnAMf
-vbfvZsjGfqdXv9Qpci50qKCFxHJLXXNAUbX3fDgKE+RoZUNZnmn2VDgJYnToz6on
-RcVnppV09kmSjHXZBT04XXUA0vG3p+oU0TO4puJlePVf4Oz23/DRCPHSfVWgMeB2
-c1PpKit4+Bz7mypnsWVw8kk//l0GJ1cHnkkZElKJtPEB7I587jgTCDcN811TGNBc
-rLLd/JwtYAvi1CPFt2ICGDvA4AKLY3rBNg5z1DrSE/iom1NTC00SFZJztYiX
------END CERTIFICATE-----
diff --git a/tests/ssl_certs/ssl_cert_wronghost.crt b/tests/ssl_certs/ssl_cert_wronghost.crt
deleted file mode 100644
index df7bfa37a6..0000000000
--- a/tests/ssl_certs/ssl_cert_wronghost.crt
+++ /dev/null
@@ -1,31 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFRTCCA62gAwIBAgIJAKY6b706lpuDMA0GCSqGSIb3DQEBCwUAMIGEMQswCQYD
-VQQGEwJVUzERMA8GA1UECAwITmV3IFlvcmsxETAPBgNVBAcMCEJyb29rbHluMQww
-CgYDVQQKDANOWVUxKTAnBgNVBAsMIENvbXB1dGVyIFNjaWVuY2UgYW5kIEVuZ2lu
-ZWVyaW5nMRYwFAYDVQQDDA1ub3RteWhvc3RuYW1lMB4XDTE4MDkxMjE2NTkxN1oX
-DTM4MDkwNzE2NTkxN1owgYQxCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhOZXcgWW9y
-azERMA8GA1UEBwwIQnJvb2tseW4xDDAKBgNVBAoMA05ZVTEpMCcGA1UECwwgQ29t
-cHV0ZXIgU2NpZW5jZSBhbmQgRW5naW5lZXJpbmcxFjAUBgNVBAMMDW5vdG15aG9z
-dG5hbWUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDHIVV5GxadvVSU
-IoGSzZrMz1b0r4n9mTN1Jvp4LE4jG/v0z9SDngJ9aqTJJJpB6Oy7RT+AnGQVhG/B
-ADLmUBOuyljaTKJZiKCBZcUNbP6LwRM+Qv3Ofn2/Xew0ilP8hdCPRLcyv1mexSfW
-oLIQ44jEnFmXK5X8z9c/UM/i0CuES+t7HXZXoxAgr7x9jMSMcb9bu8gh637BNK0h
-HwCu9VCLQq89tsYJ+tn576Cr5SkEsG4B8zMz3lNb5gnl24xyGJ7afosOY556ADiM
-wS/aml46vxAkm1m4qldZVsm8uDzXKsOOvWsDAlH9ZCueTwZBY8LI8ud4ADiYluLv
-kuqMvGfQCglveTMt8YQwkkRZeynE2DTpstBT3jyEHgvucoBGrqzsqgRKMRX78viS
-gw9Ymg2rp/E5RXDb5LchM2sNy15xFDWPdEZU9qPmXpufTcLspX25Gt+oVjc5SOfs
-DSQNzO9Geat7UFkil76Z8YUH5S7smJCgG/ojp+rKt0f2tfUtQqUCAwEAAaOBtzCB
-tDCBowYDVR0jBIGbMIGYoYGKpIGHMIGEMQswCQYDVQQGEwJVUzERMA8GA1UECAwI
-TmV3IFlvcmsxETAPBgNVBAcMCEJyb29rbHluMQwwCgYDVQQKDANOWVUxKTAnBgNV
-BAsMIENvbXB1dGVyIFNjaWVuY2UgYW5kIEVuZ2luZWVyaW5nMRYwFAYDVQQDDA1u
-b3RteWhvc3RuYW1lggkApjpvvTqWm4MwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B
-AQsFAAOCAYEAvpBMce3kxwo9W0o4RqezkSxnNyax0ezbUNodIkx5kbzX09qQLqhK
-SkhQY3CNmtrpsczUg1W2nldxioEouwfTlhi15H98E/8XytpGaHO7Rnbtq8nkOp3E
-N1+DMfFR95OynbHSd7bfK9UEmH1CmCnttvCuQkLTxDCpEsQNAxvmU/yDONoDr+cu
-jGo80XTnYTqHl5/UtGbCS4SAIdWgrXTIqVvY/eF+mR+3nQEYjBuqW0cNfXLyYLXH
-XMc6qtfGX1P+NRWtlrWgGQmc0fry+GczRHMJuKtJMV2xZzPJAJqwwvj3Fjz8HNGu
-ZX3kVdbkDjf8is2cWgyZqDecqPHDBW4Ey539s/5eurgOkEvhriS4/9RnVhgdzduj
-nRdXkD10ficrFcBQO0KaTWT+iFBc9duuYPuLRyRTye5p3t0liOikH2XrRXs4IBfz
-2mT4npXQl1liNixcCf/yUEUOSQAJDG6aRjDjD4SZBUPDLjfqKLid8M0BpLQrks9L
-5hAg1WZXorY6
------END CERTIFICATE-----
diff --git a/tests/test_api.py b/tests/test_api.py
old mode 100755
new mode 100644
index 5d2dce0269..dabf50c86c
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -1,59 +1,65 @@
-#!/usr/bin/env python
-
 # Copyright 2020, New York University and the TUF contributors
 # SPDX-License-Identifier: MIT OR Apache-2.0
-""" Unit tests for api/metadata.py
+"""Unit tests for api/metadata.py"""
 
-"""
+from __future__ import annotations
 
 import json
-import sys
 import logging
 import os
 import shutil
+import sys
 import tempfile
 import unittest
-import copy
-
-from datetime import datetime, timedelta
-from dateutil.relativedelta import relativedelta
+from copy import copy, deepcopy
+from datetime import datetime, timedelta, timezone
+from pathlib import Path
+from typing import ClassVar
+
+from securesystemslib import exceptions as sslib_exceptions
+from securesystemslib.signer import (
+    CryptoSigner,
+    Key,
+    SecretsHandler,
+    Signer,
+    SSlibKey,
+)
 
 from tests import utils
-
-# TODO: Remove case handling when fully dropping support for versions >= 3.6
-IS_PY_VERSION_SUPPORTED = sys.version_info >= (3, 6)
-
-# Use setUpModule to tell unittest runner to skip this test module gracefully.
-def setUpModule():
-    if not IS_PY_VERSION_SUPPORTED:
-        raise unittest.SkipTest('requires Python 3.6 or higher')
-
-# Since setUpModule is called after imports we need to import conditionally.
-if IS_PY_VERSION_SUPPORTED:
-    import tuf.exceptions
-    from tuf.api.metadata import (
-        Metadata,
-        Snapshot,
-        Timestamp,
-        Targets
-    )
-
-    from securesystemslib.interface import (
-        import_ed25519_publickey_from_file,
-        import_ed25519_privatekey_from_file
-    )
-
-    from securesystemslib.keys import (
-        format_keyval_to_metadata
-    )
+from tuf.api import exceptions
+from tuf.api.dsse import SimpleEnvelope
+from tuf.api.metadata import (
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Root,
+    RootVerificationResult,
+    Signature,
+    Snapshot,
+    SuccinctRoles,
+    TargetFile,
+    Targets,
+    Timestamp,
+    VerificationResult,
+)
+from tuf.api.serialization import DeserializationError, SerializationError
+from tuf.api.serialization.json import JSONSerializer
 
 logger = logging.getLogger(__name__)
 
 
 class TestMetadata(unittest.TestCase):
+    """Tests for public API of all classes in 'tuf/api/metadata.py'."""
+
+    temporary_directory: ClassVar[str]
+    repo_dir: ClassVar[str]
+    keystore_dir: ClassVar[str]
+    signers: ClassVar[dict[str, Signer]]
 
     @classmethod
-    def setUpClass(cls):
+    def setUpClass(cls) -> None:
         # Create a temporary directory to store the repository, metadata, and
         # target files.  'temporary_directory' must be deleted in
         # TearDownClass() so that temporary files are always removed, even when
@@ -61,270 +67,1167 @@ def setUpClass(cls):
         cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
 
         test_repo_data = os.path.join(
-                os.path.dirname(os.path.realpath(__file__)), 'repository_data')
+            os.path.dirname(os.path.realpath(__file__)), "repository_data"
+        )
 
-        cls.repo_dir = os.path.join(cls.temporary_directory, 'repository')
+        cls.repo_dir = os.path.join(cls.temporary_directory, "repository")
         shutil.copytree(
-                os.path.join(test_repo_data, 'repository'), cls.repo_dir)
+            os.path.join(test_repo_data, "repository"), cls.repo_dir
+        )
 
-        cls.keystore_dir = os.path.join(cls.temporary_directory, 'keystore')
+        cls.keystore_dir = os.path.join(cls.temporary_directory, "keystore")
         shutil.copytree(
-                os.path.join(test_repo_data, 'keystore'), cls.keystore_dir)
-
-        # Load keys into memory
-        cls.keystore = {}
-        for role in ['delegation', 'snapshot', 'targets', 'timestamp']:
-            cls.keystore[role] = {
-                'private': import_ed25519_privatekey_from_file(
-                        os.path.join(cls.keystore_dir, role + '_key'),
-                        password="password"),
-                'public': import_ed25519_publickey_from_file(
-                        os.path.join(cls.keystore_dir, role + '_key.pub'))
-            }
+            os.path.join(test_repo_data, "keystore"), cls.keystore_dir
+        )
+
+        path = os.path.join(cls.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(path).signed
+
+        # Load signers
 
+        cls.signers = {}
+        for role in [Snapshot.type, Targets.type, Timestamp.type]:
+            uri = f"file2:{os.path.join(cls.keystore_dir, role + '_key')}"
+            role_obj = root.get_delegated_role(role)
+            key = root.get_key(role_obj.keyids[0])
+            cls.signers[role] = CryptoSigner.from_priv_key_uri(uri, key)
 
     @classmethod
-    def tearDownClass(cls):
+    def tearDownClass(cls) -> None:
         # Remove the temporary repository directory, which should contain all
         # the metadata, targets, and key files generated for the test cases.
         shutil.rmtree(cls.temporary_directory)
 
-
-    def test_generic_read(self):
+    def test_generic_read(self) -> None:
         for metadata, inner_metadata_cls in [
-                ('snapshot', Snapshot),
-                ('timestamp', Timestamp),
-                ('targets', Targets)]:
-
-            # Load JSON-formatted metdata of each supported type from file
+            (Root.type, Root),
+            (Snapshot.type, Snapshot),
+            (Timestamp.type, Timestamp),
+            (Targets.type, Targets),
+        ]:
+            # Load JSON-formatted metadata of each supported type from file
             # and from out-of-band read JSON string
-            path = os.path.join(self.repo_dir, 'metadata', metadata + '.json')
-            metadata_obj = Metadata.from_json_file(path)
-            with open(path, 'rb') as f:
-                metadata_str = f.read()
-            metadata_obj2 = Metadata.from_json(metadata_str)
+            path = os.path.join(self.repo_dir, "metadata", metadata + ".json")
+            md_obj = Metadata.from_file(path)
+            with open(path, "rb") as f:
+                md_obj2 = Metadata.from_bytes(f.read())
 
             # Assert that both methods instantiate the right inner class for
             # each metadata type and ...
-            self.assertTrue(
-                    isinstance(metadata_obj.signed, inner_metadata_cls))
-            self.assertTrue(
-                    isinstance(metadata_obj2.signed, inner_metadata_cls))
+            self.assertTrue(isinstance(md_obj.signed, inner_metadata_cls))
+            self.assertTrue(isinstance(md_obj2.signed, inner_metadata_cls))
 
             # ... and return the same object (compared by dict representation)
-            self.assertDictEqual(
-                    metadata_obj.to_dict(), metadata_obj2.to_dict())
-
+            self.assertDictEqual(md_obj.to_dict(), md_obj2.to_dict())
 
         # Assert that it chokes correctly on an unknown metadata type
-        bad_metadata_path = 'bad-metadata.json'
-        bad_metadata = {'signed': {'_type': 'bad-metadata'}}
-        with open(bad_metadata_path, 'wb') as f:
-            f.write(json.dumps(bad_metadata).encode('utf-8'))
+        bad_metadata_path = "bad-metadata.json"
+        bad_metadata = {"signed": {"_type": "bad-metadata"}}
+        bad_string = json.dumps(bad_metadata).encode("utf-8")
+        with open(bad_metadata_path, "wb") as f:
+            f.write(bad_string)
 
-        with self.assertRaises(ValueError):
-            Metadata.from_json_file(bad_metadata_path)
+        with self.assertRaises(DeserializationError):
+            Metadata.from_file(bad_metadata_path)
+        with self.assertRaises(DeserializationError):
+            Metadata.from_bytes(bad_string)
 
         os.remove(bad_metadata_path)
 
-
-    def test_compact_json(self):
-        path = os.path.join(self.repo_dir, 'metadata', 'targets.json')
-        metadata_obj = Metadata.from_json_file(path)
+    def test_md_read_write_file_exceptions(self) -> None:
+        # Test writing to a file with bad filename
+        with self.assertRaises(exceptions.StorageError):
+            Metadata.from_file("bad-metadata.json")
+
+        # Test serializing to a file with bad filename
+        with self.assertRaises(exceptions.StorageError):
+            md = Metadata.from_file(
+                os.path.join(self.repo_dir, "metadata", "root.json")
+            )
+            md.to_file("")
+
+    def test_compact_json(self) -> None:
+        path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        md_obj = Metadata.from_file(path)
         self.assertTrue(
-                len(metadata_obj.to_json(compact=True)) <
-                len(metadata_obj.to_json()))
-
+            len(JSONSerializer(compact=True).serialize(md_obj))
+            < len(JSONSerializer().serialize(md_obj))
+        )
 
-    def test_read_write_read_compare(self):
-        for metadata in ['snapshot', 'timestamp', 'targets']:
-            path = os.path.join(self.repo_dir, 'metadata', metadata + '.json')
-            metadata_obj = Metadata.from_json_file(path)
+    def test_read_write_read_compare(self) -> None:
+        for metadata in TOP_LEVEL_ROLE_NAMES:
+            path = os.path.join(self.repo_dir, "metadata", metadata + ".json")
+            md_obj = Metadata.from_file(path)
 
-            path_2 = path + '.tmp'
-            metadata_obj.to_json_file(path_2)
-            metadata_obj_2 = Metadata.from_json_file(path_2)
-
-            self.assertDictEqual(
-                    metadata_obj.to_dict(),
-                    metadata_obj_2.to_dict())
+            path_2 = path + ".tmp"
+            md_obj.to_file(path_2)
+            md_obj_2 = Metadata.from_file(path_2)
+            self.assertDictEqual(md_obj.to_dict(), md_obj_2.to_dict())
 
             os.remove(path_2)
 
+    def test_serialize_with_validate(self) -> None:
+        # Assert that by changing one required attribute validation will fail.
+        root = Metadata.from_file(
+            os.path.join(self.repo_dir, "metadata", "root.json")
+        )
+        root.signed.version = 0
+        with self.assertRaises(SerializationError):
+            root.to_bytes(JSONSerializer(validate=True))
+
+    def test_to_from_bytes(self) -> None:
+        for metadata in TOP_LEVEL_ROLE_NAMES:
+            path = os.path.join(self.repo_dir, "metadata", metadata + ".json")
+            with open(path, "rb") as f:
+                metadata_bytes = f.read()
+            md_obj = Metadata.from_bytes(metadata_bytes)
+            # Compare that from_bytes/to_bytes doesn't change the content
+            # for two cases for the serializer: noncompact and compact.
+
+            # Case 1: test noncompact by overriding the default serializer.
+            self.assertEqual(md_obj.to_bytes(JSONSerializer()), metadata_bytes)
+
+            # Case 2: test compact by using the default serializer.
+            obj_bytes = md_obj.to_bytes()
+            metadata_obj_2 = Metadata.from_bytes(obj_bytes)
+            self.assertEqual(metadata_obj_2.to_bytes(), obj_bytes)
+
+    def test_sign_verify(self) -> None:
+        path = os.path.join(self.repo_dir, "metadata")
+        root = Metadata[Root].from_file(os.path.join(path, "root.json")).signed
+
+        # Locate the public keys we need from root
+        targets_keyid = next(iter(root.roles[Targets.type].keyids))
+        targets_key = root.keys[targets_keyid]
+        snapshot_keyid = next(iter(root.roles[Snapshot.type].keyids))
+        snapshot_key = root.keys[snapshot_keyid]
+        timestamp_keyid = next(iter(root.roles[Timestamp.type].keyids))
+        timestamp_key = root.keys[timestamp_keyid]
 
-    def test_sign_verify(self):
         # Load sample metadata (targets) and assert ...
-        path = os.path.join(self.repo_dir, 'metadata', 'targets.json')
-        metadata_obj = Metadata.from_json_file(path)
+        md_obj = Metadata.from_file(os.path.join(path, "targets.json"))
+        sig = md_obj.signatures[targets_keyid]
+        data = md_obj.signed_bytes
 
         # ... it has a single existing signature,
-        self.assertTrue(len(metadata_obj.signatures) == 1)
+        self.assertEqual(len(md_obj.signatures), 1)
         # ... which is valid for the correct key.
-        self.assertTrue(metadata_obj.verify(
-                self.keystore['targets']['public']))
+        targets_key.verify_signature(sig, data)
+        with self.assertRaises(sslib_exceptions.VerificationError):
+            snapshot_key.verify_signature(sig, data)
 
         # Append a new signature with the unrelated key and assert that ...
-        metadata_obj.sign(self.keystore['snapshot']['private'], append=True)
+        snapshot_sig = md_obj.sign(self.signers[Snapshot.type], append=True)
         # ... there are now two signatures, and
-        self.assertTrue(len(metadata_obj.signatures) == 2)
+        self.assertEqual(len(md_obj.signatures), 2)
         # ... both are valid for the corresponding keys.
-        self.assertTrue(metadata_obj.verify(
-                self.keystore['targets']['public']))
-        self.assertTrue(metadata_obj.verify(
-                self.keystore['snapshot']['public']))
+        targets_key.verify_signature(sig, data)
+        snapshot_key.verify_signature(snapshot_sig, data)
+        # ... the returned (appended) signature is for snapshot key
+        self.assertEqual(snapshot_sig.keyid, snapshot_keyid)
 
         # Create and assign (don't append) a new signature and assert that ...
-        metadata_obj.sign(self.keystore['timestamp']['private'], append=False)
+        ts_sig = md_obj.sign(self.signers[Timestamp.type], append=False)
         # ... there now is only one signature,
-        self.assertTrue(len(metadata_obj.signatures) == 1)
+        self.assertEqual(len(md_obj.signatures), 1)
         # ... valid for that key.
-        self.assertTrue(metadata_obj.verify(
-                self.keystore['timestamp']['public']))
+        timestamp_key.verify_signature(ts_sig, data)
+        with self.assertRaises(sslib_exceptions.VerificationError):
+            targets_key.verify_signature(ts_sig, data)
+
+    def test_sign_failures(self) -> None:
+        # Test throwing UnsignedMetadataError because of signing problems
+        md = Metadata.from_file(
+            os.path.join(self.repo_dir, "metadata", "snapshot.json")
+        )
+
+        class FailingSigner(Signer):
+            @classmethod
+            def from_priv_key_uri(
+                cls,
+                _priv_key_uri: str,
+                _public_key: Key,
+                _secrets_handler: SecretsHandler | None = None,
+            ) -> Signer:
+                raise RuntimeError("Not a real signer")
+
+            @property
+            def public_key(self) -> Key:
+                raise RuntimeError("Not a real signer")
+
+            def sign(self, _payload: bytes) -> Signature:
+                raise RuntimeError("signing failed")
+
+        failing_signer = FailingSigner()
+
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            md.sign(failing_signer)
+
+    def test_key_verify_failures(self) -> None:
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(root_path).signed
+
+        # Locate the timestamp public key we need from root
+        timestamp_keyid = next(iter(root.roles[Timestamp.type].keyids))
+        timestamp_key = root.keys[timestamp_keyid]
+
+        # Load sample metadata (timestamp)
+        path = os.path.join(self.repo_dir, "metadata", "timestamp.json")
+        md_obj = Metadata.from_file(path)
+        sig = md_obj.signatures[timestamp_keyid]
+        data = md_obj.signed_bytes
+
+        # Test failure on unknown scheme (securesystemslib
+        # UnsupportedAlgorithmError)
+        scheme = timestamp_key.scheme
+        timestamp_key.scheme = "foo"
+        with self.assertRaises(sslib_exceptions.VerificationError):
+            timestamp_key.verify_signature(sig, data)
+        timestamp_key.scheme = scheme
+
+        # Test failure on broken public key data (securesystemslib
+        # CryptoError)
+        public = timestamp_key.keyval["public"]
+        timestamp_key.keyval["public"] = "ffff"
+        with self.assertRaises(sslib_exceptions.VerificationError):
+            timestamp_key.verify_signature(sig, data)
+        timestamp_key.keyval["public"] = public
+
+        # Test failure with invalid signature (securesystemslib
+        # FormatError)
+        incorrect_sig = copy(sig)
+        incorrect_sig.signature = "foo"
+        with self.assertRaises(sslib_exceptions.VerificationError):
+            timestamp_key.verify_signature(incorrect_sig, data)
+
+        # Test failure with valid but incorrect signature
+        incorrect_sig.signature = "ff" * 64
+        with self.assertRaises(sslib_exceptions.UnverifiedSignatureError):
+            timestamp_key.verify_signature(incorrect_sig, data)
+
+    def test_metadata_signed_is_expired(self) -> None:
+        # Use of Snapshot is arbitrary, we're just testing the base class
+        # features with real data
+        snapshot_path = os.path.join(self.repo_dir, "metadata", "snapshot.json")
+        md = Metadata.from_file(snapshot_path)
+
+        expected_expiry = datetime(2030, 1, 1, 0, 0, tzinfo=timezone.utc)
+        self.assertEqual(md.signed.expires, expected_expiry)
+
+        # Test is_expired with reference_time provided
+        is_expired = md.signed.is_expired(md.signed.expires)
+        self.assertTrue(is_expired)
+        is_expired = md.signed.is_expired(md.signed.expires + timedelta(days=1))
+        self.assertTrue(is_expired)
+        is_expired = md.signed.is_expired(md.signed.expires - timedelta(days=1))
+        self.assertFalse(is_expired)
+
+        # Test is_expired without reference_time,
+        # manipulating md.signed.expires
+        expires = md.signed.expires
+        md.signed.expires = datetime.now(timezone.utc)
+        is_expired = md.signed.is_expired()
+        self.assertTrue(is_expired)
+        md.signed.expires = datetime.now(timezone.utc) + timedelta(days=1)
+        is_expired = md.signed.is_expired()
+        self.assertFalse(is_expired)
+        md.signed.expires = expires
+
+    def test_metadata_verify_delegate(self) -> None:
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(root_path)
+        snapshot_path = os.path.join(self.repo_dir, "metadata", "snapshot.json")
+        snapshot = Metadata[Snapshot].from_file(snapshot_path)
+        targets_path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        targets = Metadata[Targets].from_file(targets_path)
+        role1_path = os.path.join(self.repo_dir, "metadata", "role1.json")
+        role1 = Metadata[Targets].from_file(role1_path)
+        role2_path = os.path.join(self.repo_dir, "metadata", "role2.json")
+        role2 = Metadata[Targets].from_file(role2_path)
+
+        # test the expected delegation tree
+        root.verify_delegate(Root.type, root)
+        root.verify_delegate(Snapshot.type, snapshot)
+        root.verify_delegate(Targets.type, targets)
+        targets.verify_delegate("role1", role1)
+        role1.verify_delegate("role2", role2)
+
+        # only root and targets can verify delegates
+        with self.assertRaises(TypeError):
+            snapshot.verify_delegate(Snapshot.type, snapshot)
+        # verify fails for roles that are not delegated by delegator
+        with self.assertRaises(ValueError):
+            root.verify_delegate("role1", role1)
+        with self.assertRaises(ValueError):
+            targets.verify_delegate(Targets.type, targets)
+        # verify fails when delegator has no delegations
+        with self.assertRaises(ValueError):
+            role2.verify_delegate("role1", role1)
+
+    def test_signed_verify_delegate(self) -> None:
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root_md = Metadata[Root].from_file(root_path)
+        root = root_md.signed
+        snapshot_path = os.path.join(self.repo_dir, "metadata", "snapshot.json")
+        snapshot_md = Metadata[Snapshot].from_file(snapshot_path)
+        snapshot = snapshot_md.signed
+        targets_path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        targets_md = Metadata[Targets].from_file(targets_path)
+        targets = targets_md.signed
+        role1_path = os.path.join(self.repo_dir, "metadata", "role1.json")
+        role1_md = Metadata[Targets].from_file(role1_path)
+        role1 = role1_md.signed
+        role2_path = os.path.join(self.repo_dir, "metadata", "role2.json")
+        role2_md = Metadata[Targets].from_file(role2_path)
+        role2 = role2_md.signed
+
+        # test the expected delegation tree
+        root.verify_delegate(
+            Root.type, root_md.signed_bytes, root_md.signatures
+        )
+        root.verify_delegate(
+            Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+        )
+        root.verify_delegate(
+            Targets.type, targets_md.signed_bytes, targets_md.signatures
+        )
+        targets.verify_delegate(
+            "role1", role1_md.signed_bytes, role1_md.signatures
+        )
+        role1.verify_delegate(
+            "role2", role2_md.signed_bytes, role2_md.signatures
+        )
+
+        # only root and targets can verify delegates
+        with self.assertRaises(AttributeError):
+            snapshot.verify_delegate(
+                Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+            )
+        # verify fails for roles that are not delegated by delegator
+        with self.assertRaises(ValueError):
+            root.verify_delegate(
+                "role1", role1_md.signed_bytes, role1_md.signatures
+            )
+        with self.assertRaises(ValueError):
+            targets.verify_delegate(
+                Targets.type, targets_md.signed_bytes, targets_md.signatures
+            )
+        # verify fails when delegator has no delegations
+        with self.assertRaises(ValueError):
+            role2.verify_delegate(
+                "role1", role1_md.signed_bytes, role1_md.signatures
+            )
+
+        # verify fails when delegate content is modified
+        expires = snapshot.expires
+        snapshot.expires = expires + timedelta(days=1)
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            root.verify_delegate(
+                Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+            )
+        snapshot.expires = expires
+
+        # verify fails if sslib verify fails with VerificationError
+        # (in this case signature is malformed)
+        keyid = next(iter(root.roles[Snapshot.type].keyids))
+        good_sig = snapshot_md.signatures[keyid].signature
+        snapshot_md.signatures[keyid].signature = "foo"
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            root.verify_delegate(
+                Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+            )
+        snapshot_md.signatures[keyid].signature = good_sig
+
+        # verify fails if roles keys do not sign the metadata
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            root.verify_delegate(
+                Timestamp.type, snapshot_md.signed_bytes, snapshot_md.signatures
+            )
+
+        # Add a key to snapshot role, make sure the new sig fails to verify
+        ts_keyid = next(iter(root.roles[Timestamp.type].keyids))
+        root.add_key(root.keys[ts_keyid], Snapshot.type)
+        snapshot_md.signatures[ts_keyid] = Signature(ts_keyid, "ff" * 64)
+
+        # verify succeeds if threshold is reached even if some signatures
+        # fail to verify
+        root.verify_delegate(
+            Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+        )
+
+        # verify fails if threshold of signatures is not reached
+        root.roles[Snapshot.type].threshold = 2
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            root.verify_delegate(
+                Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+            )
+
+        # verify succeeds when we correct the new signature and reach the
+        # threshold of 2 keys
+        snapshot_md.sign(self.signers[Timestamp.type], append=True)
+        root.verify_delegate(
+            Snapshot.type, snapshot_md.signed_bytes, snapshot_md.signatures
+        )
+
+    def test_verification_result(self) -> None:
+        key = SSlibKey("", "", "", {"public": ""})
+        vr = VerificationResult(3, {"a": key}, {"b": key})
+        self.assertEqual(vr.missing, 2)
+        self.assertFalse(vr.verified)
+        self.assertFalse(vr)
+
+        # Add a signature
+        vr.signed["c"] = key
+        self.assertEqual(vr.missing, 1)
+        self.assertFalse(vr.verified)
+        self.assertFalse(vr)
+
+        # Add last missing signature
+        vr.signed["d"] = key
+        self.assertEqual(vr.missing, 0)
+        self.assertTrue(vr.verified)
+        self.assertTrue(vr)
+
+        # Add one more signature
+        vr.signed["e"] = key
+        self.assertEqual(vr.missing, 0)
+        self.assertTrue(vr.verified)
+        self.assertTrue(vr)
+
+    def test_root_verification_result(self) -> None:
+        key = SSlibKey("", "", "", {"public": ""})
+        vr1 = VerificationResult(3, {"a": key}, {"b": key})
+        vr2 = VerificationResult(1, {"c": key}, {"b": key})
+
+        vr = RootVerificationResult(vr1, vr2)
+        self.assertEqual(vr.signed, {"a": key, "c": key})
+        self.assertEqual(vr.unsigned, {"b": key})
+        self.assertFalse(vr.verified)
+        self.assertFalse(vr)
+
+        vr1.signed["c"] = key
+        vr1.signed["f"] = key
+        self.assertEqual(vr.signed, {"a": key, "c": key, "f": key})
+        self.assertEqual(vr.unsigned, {"b": key})
+        self.assertTrue(vr.verified)
+        self.assertTrue(vr)
+
+    def test_signed_get_verification_result(self) -> None:
+        # Setup: Load test metadata and keys
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(root_path)
+
+        key1_id = root.signed.roles[Root.type].keyids[0]
+        key1 = root.signed.get_key(key1_id)
+
+        key2_id = root.signed.roles[Timestamp.type].keyids[0]
+        key2 = root.signed.get_key(key2_id)
+
+        key3_id = "123456789abcdefg"
+
+        key4_id = self.signers[Snapshot.type].public_key.keyid
+
+        # Test: 1 authorized key, 1 valid signature
+        result = root.signed.get_verification_result(
+            Root.type, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: 2 authorized keys, 1 invalid signature
+        # Adding a key, i.e. metadata change, invalidates existing signature
+        root.signed.add_key(key2, Root.type)
+        result = root.signed.get_verification_result(
+            Root.type, root.signed_bytes, root.signatures
+        )
+        self.assertFalse(result)
+        self.assertEqual(result.signed, {})
+        self.assertEqual(result.unsigned, {key1_id: key1, key2_id: key2})
+
+        # Test: 3 authorized keys, 1 invalid signature, 1 key missing key data
+        # Adding a keyid w/o key, fails verification but this key is not listed
+        # in unsigned
+        root.signed.roles[Root.type].keyids.append(key3_id)
+        result = root.signed.get_verification_result(
+            Root.type, root.signed_bytes, root.signatures
+        )
+        self.assertFalse(result)
+        self.assertEqual(result.signed, {})
+        self.assertEqual(result.unsigned, {key1_id: key1, key2_id: key2})
+
+        # Test: 3 authorized keys, 1 valid signature, 1 invalid signature, 1
+        # key missing key data
+        root.sign(self.signers[Timestamp.type], append=True)
+        result = root.signed.get_verification_result(
+            Root.type, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key2_id: key2})
+        self.assertEqual(result.unsigned, {key1_id: key1})
+
+        # Test: 3 authorized keys, 1 valid signature, 1 invalid signature, 1
+        # key missing key data, 1 ignored unrelated signature
+        root.sign(self.signers[Snapshot.type], append=True)
+        self.assertEqual(
+            set(root.signatures.keys()), {key1_id, key2_id, key4_id}
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key2_id: key2})
+        self.assertEqual(result.unsigned, {key1_id: key1})
+
+        # See test_signed_verify_delegate for more related tests ...
+
+    def test_root_get_root_verification_result(self) -> None:
+        # Setup: Load test metadata and keys
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(root_path)
+
+        key1_id = root.signed.roles[Root.type].keyids[0]
+        key1 = root.signed.get_key(key1_id)
+
+        key2_id = root.signed.roles[Timestamp.type].keyids[0]
+        key2 = root.signed.get_key(key2_id)
+
+        # Test: Verify with no previous root version
+        result = root.signed.get_root_verification_result(
+            None, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: Verify with other root that is not version N-1
+        prev_root: Metadata[Root] = deepcopy(root)
+        with self.assertRaises(ValueError):
+            result = root.signed.get_root_verification_result(
+                prev_root.signed, root.signed_bytes, root.signatures
+            )
+
+        # Test: Verify with previous root
+        prev_root.signed.version -= 1
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: Add a signer to previous root (threshold still 1)
+        prev_root.signed.add_key(key2, Root.type)
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1})
+        self.assertEqual(result.unsigned, {key2_id: key2})
+
+        # Test: Increase threshold in previous root
+        prev_root.signed.roles[Root.type].threshold += 1
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertFalse(result)
+        self.assertEqual(result.signed, {key1_id: key1})
+        self.assertEqual(result.unsigned, {key2_id: key2})
+
+        # Test: Sign root with both keys
+        root.sign(self.signers[Timestamp.type], append=True)
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1, key2_id: key2})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: Sign root with an unrelated key
+        root.sign(self.signers[Snapshot.type], append=True)
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1, key2_id: key2})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: Remove key1 from previous root
+        prev_root.signed.revoke_key(key1_id, Root.type)
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertFalse(result)
+        self.assertEqual(result.signed, {key1_id: key1, key2_id: key2})
+        self.assertEqual(result.unsigned, {})
+
+        # Test: Lower threshold in previous root
+        prev_root.signed.roles[Root.type].threshold -= 1
+        result = root.signed.get_root_verification_result(
+            prev_root.signed, root.signed_bytes, root.signatures
+        )
+        self.assertTrue(result)
+        self.assertEqual(result.signed, {key1_id: key1, key2_id: key2})
+        self.assertEqual(result.unsigned, {})
+
+    def test_root_add_key_and_revoke_key(self) -> None:
+        root_path = os.path.join(self.repo_dir, "metadata", "root.json")
+        root = Metadata[Root].from_file(root_path)
+
+        # Create a new key
+        signer = CryptoSigner.generate_ecdsa()
+        key = signer.public_key
 
-        # Assert exception if there are more than one signatures for a key
-        metadata_obj.sign(self.keystore['timestamp']['private'], append=True)
-        with self.assertRaises(tuf.exceptions.Error) as ctx:
-            metadata_obj.verify(self.keystore['timestamp']['public'])
-        self.assertTrue(
-                '2 signatures for key' in str(ctx.exception),
-                str(ctx.exception))
+        # Assert that root does not contain the new key
+        self.assertNotIn(key.keyid, root.signed.roles[Root.type].keyids)
+        self.assertNotIn(key.keyid, root.signed.keys)
 
-        # Assert exception if there is no signature for a key
-        with self.assertRaises(tuf.exceptions.Error) as ctx:
-            metadata_obj.verify(self.keystore['targets']['public'])
-        self.assertTrue(
-                'no signature for' in str(ctx.exception),
-                str(ctx.exception))
+        # Assert that add_key with old argument order will raise an error
+        with self.assertRaises(ValueError):
+            root.signed.add_key(Root.type, key)  # type: ignore [arg-type]
 
+        # Add new root key
+        root.signed.add_key(key, Root.type)
 
-    def test_metadata_base(self):
-        # Use of Snapshot is arbitrary, we're just testing the base class features
-        # with real data
-        snapshot_path = os.path.join(
-                self.repo_dir, 'metadata', 'snapshot.json')
-        md = Metadata.from_json_file(snapshot_path)
+        # Assert that key is added
+        self.assertIn(key.keyid, root.signed.roles[Root.type].keyids)
+        self.assertIn(key.keyid, root.signed.keys)
 
-        self.assertEqual(md.signed.version, 1)
-        md.signed.bump_version()
-        self.assertEqual(md.signed.version, 2)
-        self.assertEqual(md.signed.expires, datetime(2030, 1, 1, 0, 0))
-        md.signed.bump_expiration()
-        self.assertEqual(md.signed.expires, datetime(2030, 1, 2, 0, 0))
-        md.signed.bump_expiration(timedelta(days=365))
-        self.assertEqual(md.signed.expires, datetime(2031, 1, 2, 0, 0))
+        # Confirm that the newly added key does not break
+        # the object serialization
+        root.to_dict()
 
+        # Try adding the same key again and assert its ignored.
+        pre_add_keyid = root.signed.roles[Root.type].keyids.copy()
+        root.signed.add_key(key, Root.type)
+        self.assertEqual(pre_add_keyid, root.signed.roles[Root.type].keyids)
 
-    def test_metadata_snapshot(self):
-        snapshot_path = os.path.join(
-                self.repo_dir, 'metadata', 'snapshot.json')
-        snapshot = Metadata.from_json_file(snapshot_path)
+        # Add the same key to targets role as well
+        root.signed.add_key(key, Targets.type)
 
-        # Create a dict representing what we expect the updated data to be
-        fileinfo = copy.deepcopy(snapshot.signed.meta)
-        hashes = {'sha256': 'c2986576f5fdfd43944e2b19e775453b96748ec4fe2638a6d2f32f1310967095'}
-        fileinfo['role1.json']['version'] = 2
-        fileinfo['role1.json']['hashes'] = hashes
-        fileinfo['role1.json']['length'] = 123
+        # Add the same key to a nonexistent role.
+        with self.assertRaises(ValueError):
+            root.signed.add_key(key, "nosuchrole")
 
+        # Remove the key from root role (targets role still uses it)
+        root.signed.revoke_key(key.keyid, Root.type)
+        self.assertNotIn(key.keyid, root.signed.roles[Root.type].keyids)
+        self.assertIn(key.keyid, root.signed.keys)
 
-        self.assertNotEqual(snapshot.signed.meta, fileinfo)
-        snapshot.signed.update('role1', 2, 123, hashes)
-        self.assertEqual(snapshot.signed.meta, fileinfo)
+        # Remove the key from targets as well
+        root.signed.revoke_key(key.keyid, Targets.type)
+        self.assertNotIn(key.keyid, root.signed.roles[Targets.type].keyids)
+        self.assertNotIn(key.keyid, root.signed.keys)
 
+        with self.assertRaises(ValueError):
+            root.signed.revoke_key("nosuchkey", Root.type)
+        with self.assertRaises(ValueError):
+            root.signed.revoke_key(key.keyid, "nosuchrole")
+
+    def test_is_target_in_pathpattern(self) -> None:
+        supported_use_cases = [
+            ("foo.tgz", "foo.tgz"),
+            ("foo.tgz", "*"),
+            ("foo.tgz", "*.tgz"),
+            ("foo-version-a.tgz", "foo-version-?.tgz"),
+            ("targets/foo.tgz", "targets/*.tgz"),
+            ("foo/bar/zoo/k.tgz", "foo/bar/zoo/*"),
+            ("foo/bar/zoo/k.tgz", "foo/*/zoo/*"),
+            ("foo/bar/zoo/k.tgz", "*/*/*/*"),
+            ("foo/bar", "f?o/bar"),
+            ("foo/bar", "*o/bar"),
+        ]
+        for targetpath, pathpattern in supported_use_cases:
+            self.assertTrue(
+                DelegatedRole._is_target_in_pathpattern(targetpath, pathpattern)
+            )
+
+        invalid_use_cases = [
+            ("targets/foo.tgz", "*.tgz"),
+            ("/foo.tgz", "*.tgz"),
+            ("targets/foo.tgz", "*"),
+            ("foo-version-alpha.tgz", "foo-version-?.tgz"),
+            ("foo//bar", "*/bar"),
+            ("foo/bar", "f?/bar"),
+        ]
+        for targetpath, pathpattern in invalid_use_cases:
+            self.assertFalse(
+                DelegatedRole._is_target_in_pathpattern(targetpath, pathpattern)
+            )
+
+    def test_targets_key_api(self) -> None:
+        targets_path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        targets: Targets = Metadata[Targets].from_file(targets_path).signed
+
+        # Add a new delegated role "role2" in targets
+        delegated_role = DelegatedRole.from_dict(
+            {
+                "keyids": [],
+                "name": "role2",
+                "paths": ["fn3", "fn4"],
+                "terminating": False,
+                "threshold": 1,
+            }
+        )
+        assert isinstance(targets.delegations, Delegations)
+        assert isinstance(targets.delegations.roles, dict)
+        targets.delegations.roles["role2"] = delegated_role
+
+        key_dict = {
+            "keytype": "ed25519",
+            "keyval": {
+                "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
+            },
+            "scheme": "ed25519",
+        }
+        key = Key.from_dict("id2", key_dict)
 
-    def test_metadata_timestamp(self):
-        timestamp_path = os.path.join(
-                self.repo_dir, 'metadata', 'timestamp.json')
-        timestamp = Metadata.from_json_file(timestamp_path)
-
-        self.assertEqual(timestamp.signed.version, 1)
-        timestamp.signed.bump_version()
-        self.assertEqual(timestamp.signed.version, 2)
-
-        self.assertEqual(timestamp.signed.expires, datetime(2030, 1, 1, 0, 0))
-        timestamp.signed.bump_expiration()
-        self.assertEqual(timestamp.signed.expires, datetime(2030, 1, 2, 0, 0))
-        timestamp.signed.bump_expiration(timedelta(days=365))
-        self.assertEqual(timestamp.signed.expires, datetime(2031, 1, 2, 0, 0))
-
-        # Test whether dateutil.relativedelta works, this provides a much
-        # easier to use interface for callers
-        delta = relativedelta(days=1)
-        timestamp.signed.bump_expiration(delta)
-        self.assertEqual(timestamp.signed.expires, datetime(2031, 1, 3, 0, 0))
-        delta = relativedelta(years=5)
-        timestamp.signed.bump_expiration(delta)
-        self.assertEqual(timestamp.signed.expires, datetime(2036, 1, 3, 0, 0))
-
-        hashes = {'sha256': '0ae9664468150a9aa1e7f11feecb32341658eb84292851367fea2da88e8a58dc'}
-        fileinfo = copy.deepcopy(timestamp.signed.meta['snapshot.json'])
-        fileinfo['hashes'] = hashes
-        fileinfo['version'] = 2
-        fileinfo['length'] = 520
-
-        self.assertNotEqual(timestamp.signed.meta['snapshot.json'], fileinfo)
-        timestamp.signed.update(2, 520, hashes)
-        self.assertEqual(timestamp.signed.meta['snapshot.json'], fileinfo)
-
-
-    def test_metadata_root(self):
-        root_path = os.path.join(
-                self.repo_dir, 'metadata', 'root.json')
-        root = Metadata.from_json_file(root_path)
-
-        # Add a second key to root role
-        root_key2 =  import_ed25519_publickey_from_file(
-                    os.path.join(self.keystore_dir, 'root_key2.pub'))
-
-        keyid = root_key2['keyid']
-        key_metadata = format_keyval_to_metadata(
-            root_key2['keytype'], root_key2['scheme'], root_key2['keyval'])
+        # Assert that add_key with old argument order will raise an error
+        with self.assertRaises(ValueError):
+            targets.add_key(Root.type, key)  # type: ignore [arg-type]
 
-        # Assert that root does not contain the new key
-        self.assertNotIn(keyid, root.signed.roles['root']['keyids'])
-        self.assertNotIn(keyid, root.signed.keys)
+        # Assert that delegated role "role1" does not contain the new key
+        self.assertNotIn(key.keyid, targets.delegations.roles["role1"].keyids)
+        targets.add_key(key, "role1")
 
-        # Add new root key
-        root.signed.add_key('root', keyid, key_metadata)
+        # Assert that the new key is added to the delegated role "role1"
+        self.assertIn(key.keyid, targets.delegations.roles["role1"].keyids)
 
-        # Assert that key is added
-        self.assertIn(keyid, root.signed.roles['root']['keyids'])
-        self.assertIn(keyid, root.signed.keys)
+        # Confirm that the newly added key does not break the obj serialization
+        targets.to_dict()
 
-        # Remove the key
-        root.signed.remove_key('root', keyid)
+        # Try adding the same key again and assert its ignored.
+        past_keyid = targets.delegations.roles["role1"].keyids.copy()
+        targets.add_key(key, "role1")
+        self.assertEqual(past_keyid, targets.delegations.roles["role1"].keyids)
 
-        # Assert that root does not contain the new key anymore
-        self.assertNotIn(keyid, root.signed.roles['root']['keyids'])
-        self.assertNotIn(keyid, root.signed.keys)
+        # Try adding a key to a delegated role that doesn't exists
+        with self.assertRaises(ValueError):
+            targets.add_key(key, "nosuchrole")
 
+        # Add the same key to "role2" as well
+        targets.add_key(key, "role2")
 
+        # Remove the key from "role1" role ("role2" still uses it)
+        targets.revoke_key(key.keyid, "role1")
 
-    def test_metadata_targets(self):
-        targets_path = os.path.join(
-                self.repo_dir, 'metadata', 'targets.json')
-        targets = Metadata.from_json_file(targets_path)
+        # Assert that delegated role "role1" doesn't contain the key.
+        self.assertNotIn(key.keyid, targets.delegations.roles["role1"].keyids)
+        self.assertIn(key.keyid, targets.delegations.roles["role2"].keyids)
 
-        # Create a fileinfo dict representing what we expect the updated data to be
-        filename = 'file2.txt'
-        hashes = {
-            "sha256": "141f740f53781d1ca54b8a50af22cbf74e44c21a998fa2a8a05aaac2c002886b",
-            "sha512": "ef5beafa16041bcdd2937140afebd485296cd54f7348ecd5a4d035c09759608de467a7ac0eb58753d0242df873c305e8bffad2454aa48f44480f15efae1cacd0"
-        },
+        # Remove the key from "role2" as well
+        targets.revoke_key(key.keyid, "role2")
+        self.assertNotIn(key.keyid, targets.delegations.roles["role2"].keyids)
 
-        fileinfo = {
-            'hashes': hashes,
-            'length': 28
+        # Try remove key not used by "role1"
+        with self.assertRaises(ValueError):
+            targets.revoke_key(key.keyid, "role1")
+
+        # Try removing a key from delegated role that doesn't exists
+        with self.assertRaises(ValueError):
+            targets.revoke_key(key.keyid, "nosuchrole")
+
+        # Remove delegations as a whole
+        targets.delegations = None
+        # Test that calling add_key and revoke_key throws an error
+        # and that delegations is still None after each of the api calls
+        with self.assertRaises(ValueError):
+            targets.add_key(key, "role1")
+        self.assertTrue(targets.delegations is None)
+        with self.assertRaises(ValueError):
+            targets.revoke_key(key.keyid, "role1")
+        self.assertTrue(targets.delegations is None)
+
+    def test_targets_key_api_with_succinct_roles(self) -> None:
+        targets_path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        targets: Targets = Metadata[Targets].from_file(targets_path).signed
+        key_dict = {
+            "keytype": "ed25519",
+            "keyval": {
+                "public": "edcd0a32a07dce33f7c7873aaffbff36d20ea30787574ead335eefd337e4dacd"
+            },
+            "scheme": "ed25519",
         }
+        key = Key.from_dict("id2", key_dict)
+
+        # Remove delegated roles.
+        assert targets.delegations is not None
+        assert targets.delegations.roles is not None
+        targets.delegations.roles = None
+        targets.delegations.keys = {}
+
+        # Add succinct_roles information.
+        targets.delegations.succinct_roles = SuccinctRoles([], 1, 8, "foo")
+        self.assertEqual(len(targets.delegations.keys), 0)
+        self.assertEqual(len(targets.delegations.succinct_roles.keyids), 0)
+
+        # Add a key to succinct_roles and verify it's saved.
+        targets.add_key(key)
+        self.assertIn(key.keyid, targets.delegations.keys)
+        self.assertIn(key.keyid, targets.delegations.succinct_roles.keyids)
+        self.assertEqual(len(targets.delegations.keys), 1)
+
+        # Try adding the same key again and verify that noting is added.
+        targets.add_key(key)
+        self.assertEqual(len(targets.delegations.keys), 1)
+
+        # Remove the key and verify it's not stored anymore.
+        targets.revoke_key(key.keyid)
+        self.assertNotIn(key.keyid, targets.delegations.keys)
+        self.assertNotIn(key.keyid, targets.delegations.succinct_roles.keyids)
+        self.assertEqual(len(targets.delegations.keys), 0)
+
+        # Try removing it again.
+        with self.assertRaises(ValueError):
+            targets.revoke_key(key.keyid)
+
+    def test_length_and_hash_validation(self) -> None:
+        # Test metadata files' hash and length verification.
+        # Use timestamp to get a MetaFile object and snapshot
+        # for untrusted metadata file to verify.
+        timestamp_path = os.path.join(
+            self.repo_dir, "metadata", "timestamp.json"
+        )
+        timestamp = Metadata[Timestamp].from_file(timestamp_path)
+        snapshot_metafile = timestamp.signed.snapshot_meta
+
+        snapshot_path = os.path.join(self.repo_dir, "metadata", "snapshot.json")
+
+        with open(snapshot_path, "rb") as file:
+            # test with  data as a file object
+            snapshot_metafile.verify_length_and_hashes(file)
+            file.seek(0)
+            data = file.read()
+            # test with data as bytes
+            snapshot_metafile.verify_length_and_hashes(data)
+
+            # test with custom blake algorithm
+            snapshot_metafile.hashes = {
+                "blake2b-256": "963a3c31aad8e2a91cfc603fdba12555e48dd0312674ac48cce2c19c243236a1"
+            }
+            snapshot_metafile.verify_length_and_hashes(data)
+
+            # test exceptions
+            expected_length = snapshot_metafile.length
+            snapshot_metafile.length = 2345
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                snapshot_metafile.verify_length_and_hashes(data)
+
+            snapshot_metafile.length = expected_length
+            snapshot_metafile.hashes = {"sha256": "incorrecthash"}
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                snapshot_metafile.verify_length_and_hashes(data)
+
+            snapshot_metafile.hashes = {
+                "unsupported-alg": "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"
+            }
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                snapshot_metafile.verify_length_and_hashes(data)
+
+            # Test wrong algorithm format (sslib.FormatError)
+            snapshot_metafile.hashes = {
+                256: "8f88e2ba48b412c3843e9bb26e1b6f8fc9e98aceb0fbaa97ba37b4c98717d7ab"  # type: ignore[dict-item]
+            }
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                snapshot_metafile.verify_length_and_hashes(data)
+
+            # test optional length and hashes
+            snapshot_metafile.length = None
+            snapshot_metafile.hashes = None
+            snapshot_metafile.verify_length_and_hashes(data)
+
+        # Test target files' hash and length verification
+        targets_path = os.path.join(self.repo_dir, "metadata", "targets.json")
+        targets = Metadata[Targets].from_file(targets_path)
+        file1_targetfile = targets.signed.targets["file1.txt"]
+        filepath = os.path.join(self.repo_dir, Targets.type, "file1.txt")
+
+        with open(filepath, "rb") as file1:
+            file1_targetfile.verify_length_and_hashes(file1)
+
+            # test exceptions
+            expected_length = file1_targetfile.length
+            file1_targetfile.length = 2345
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                file1_targetfile.verify_length_and_hashes(file1)
+
+            file1_targetfile.length = expected_length
+            file1_targetfile.hashes = {"sha256": "incorrecthash"}
+            with self.assertRaises(exceptions.LengthOrHashMismatchError):
+                file1_targetfile.verify_length_and_hashes(file1)
+
+    def test_targetfile_from_file(self) -> None:
+        # Test with an existing file and valid hash algorithm
+        file_path = os.path.join(self.repo_dir, Targets.type, "file1.txt")
+        targetfile_from_file = TargetFile.from_file(
+            file_path, file_path, ["sha256"]
+        )
+
+        with open(file_path, "rb") as file:
+            targetfile_from_file.verify_length_and_hashes(file)
+
+        # Test with a non-existing file
+        file_path = os.path.join(self.repo_dir, Targets.type, "file123.txt")
+        with self.assertRaises(FileNotFoundError):
+            TargetFile.from_file(file_path, file_path, ["sha256"])
+
+        # Test with an unsupported algorithm
+        file_path = os.path.join(self.repo_dir, Targets.type, "file1.txt")
+        with self.assertRaises(ValueError):
+            TargetFile.from_file(file_path, file_path, ["123"])
+
+    def test_targetfile_custom(self) -> None:
+        # Test creating TargetFile and accessing custom.
+        targetfile = TargetFile(
+            100, {"sha256": "abc"}, "file.txt", {"custom": "foo"}
+        )
+        self.assertEqual(targetfile.custom, "foo")
+
+    def test_targetfile_from_data(self) -> None:
+        data = b"Inline test content"
+        target_file_path = os.path.join(
+            self.repo_dir, Targets.type, "file1.txt"
+        )
+
+        # Test with a valid hash algorithm
+        targetfile_from_data = TargetFile.from_data(
+            target_file_path, data, ["sha256"]
+        )
+        targetfile_from_data.verify_length_and_hashes(data)
+
+        # Test with no algorithms specified
+        targetfile_from_data = TargetFile.from_data(target_file_path, data)
+        targetfile_from_data.verify_length_and_hashes(data)
+
+        # Test with custom blake hash algorithm
+        targetfile_from_data = TargetFile.from_data(
+            target_file_path, data, ["blake2b-256"]
+        )
+        targetfile_from_data.verify_length_and_hashes(data)
+
+    def test_metafile_from_data(self) -> None:
+        data = b"Inline test content"
+
+        # Test with a valid hash algorithm
+        metafile = MetaFile.from_data(1, data, ["sha256"])
+        metafile.verify_length_and_hashes(data)
+
+        # Test with an invalid hash algorithm
+        with self.assertRaises(ValueError):
+            metafile = MetaFile.from_data(1, data, ["invalid_algorithm"])
+            metafile.verify_length_and_hashes(data)
+
+        self.assertEqual(
+            metafile,
+            MetaFile(
+                1,
+                19,
+                {
+                    "sha256": "fcee2e6d56ab08eab279016f7db7e4e1d172ccea78e15f4cf8bd939991a418fa"
+                },
+            ),
+        )
+
+        # Test with custom blake hash algorithm
+        metafile = MetaFile.from_data(1, data, ["blake2b-256"])
+        metafile.verify_length_and_hashes(data)
+
+    def test_targetfile_get_prefixed_paths(self) -> None:
+        target = TargetFile(100, {"sha256": "abc", "md5": "def"}, "a/b/f.ext")
+        self.assertEqual(
+            target.get_prefixed_paths(), ["a/b/abc.f.ext", "a/b/def.f.ext"]
+        )
+
+        target = TargetFile(100, {"sha256": "abc", "md5": "def"}, "")
+        self.assertEqual(target.get_prefixed_paths(), ["abc.", "def."])
+
+        target = TargetFile(100, {"sha256": "abc", "md5": "def"}, "a/b/")
+        self.assertEqual(target.get_prefixed_paths(), ["a/b/abc.", "a/b/def."])
+
+        target = TargetFile(100, {"sha256": "abc", "md5": "def"}, "f.ext")
+        self.assertEqual(
+            target.get_prefixed_paths(), ["abc.f.ext", "def.f.ext"]
+        )
+
+        target = TargetFile(100, {"sha256": "abc", "md5": "def"}, "a/b/.ext")
+        self.assertEqual(
+            target.get_prefixed_paths(), ["a/b/abc..ext", "a/b/def..ext"]
+        )
+
+        target = TargetFile(100, {"sha256": "abc"}, "/root/file.ext")
+        self.assertEqual(target.get_prefixed_paths(), ["/root/abc.file.ext"])
+
+        target = TargetFile(100, {"sha256": "abc"}, "/")
+        self.assertEqual(target.get_prefixed_paths(), ["/abc."])
+
+    def test_is_delegated_role(self) -> None:
+        # test path matches
+        # see more extensive tests in test_is_target_in_pathpattern()
+        for paths in [
+            ["a/path"],
+            ["otherpath", "a/path"],
+            ["*/?ath"],
+        ]:
+            role = DelegatedRole("", [], 1, False, paths, None)
+            self.assertFalse(role.is_delegated_path("a/non-matching path"))
+            self.assertTrue(role.is_delegated_path("a/path"))
+
+        # test path hash prefix matches: sha256 sum of "a/path" is 927b0ecf9...
+        for hash_prefixes in [
+            ["927b0ecf9"],
+            ["other prefix", "927b0ecf9"],
+            ["927b0"],
+            ["92"],
+        ]:
+            role = DelegatedRole("", [], 1, False, None, hash_prefixes)
+            self.assertFalse(role.is_delegated_path("a/non-matching path"))
+            self.assertTrue(role.is_delegated_path("a/path"))
+
+    def test_is_delegated_role_in_succinct_roles(self) -> None:
+        succinct_roles = SuccinctRoles([], 1, 5, "bin")
+        false_role_name_examples = [
+            "foo",
+            "bin-",
+            "bin-s",
+            "bin-0t",
+            "bin-20",
+            "bin-100",
+        ]
+        for role_name in false_role_name_examples:
+            msg = f"Error for {role_name}"
+            self.assertFalse(succinct_roles.is_delegated_role(role_name), msg)
+
+        # delegated role name suffixes are in hex format.
+        true_name_examples = ["bin-00", "bin-0f", "bin-1f"]
+        for role_name in true_name_examples:
+            msg = f"Error for {role_name}"
+            self.assertTrue(succinct_roles.is_delegated_role(role_name), msg)
+
+    def test_get_roles_in_succinct_roles(self) -> None:
+        succinct_roles = SuccinctRoles([], 1, 16, "bin")
+        # bin names are in hex format and 4 hex digits are enough to represent
+        # all bins between 0 and 2^16 - 1 meaning suffix_len must be 4
+        expected_suffix_length = 4
+        self.assertEqual(succinct_roles.suffix_len, expected_suffix_length)
+        for bin_numer, role_name in enumerate(succinct_roles.get_roles()):
+            # This adds zero-padding if the bin_numer is represented by a hex
+            # number with a length less than expected_suffix_length.
+            expected_bin_suffix = f"{bin_numer:0{expected_suffix_length}x}"
+            self.assertEqual(role_name, f"bin-{expected_bin_suffix}")
+
+    def test_delegations_get_delegated_role(self) -> None:
+        delegations = Delegations({}, {})
+        targets = Targets(delegations=delegations)
+
+        with self.assertRaises(ValueError):
+            targets.get_delegated_role("abc")
+
+        # test "normal" delegated role (path or path_hash_prefix)
+        role = DelegatedRole("delegated", [], 1, False, [])
+        delegations.roles = {"delegated": role}
+        with self.assertRaises(ValueError):
+            targets.get_delegated_role("not-delegated")
+        self.assertEqual(targets.get_delegated_role("delegated"), role)
+        delegations.roles = None
+
+        # test succinct delegation
+        bit_len = 3
+        role2 = SuccinctRoles([], 1, bit_len, "prefix")
+        delegations.succinct_roles = role2
+        for name in ["prefix-", "prefix--1", f"prefix-{2**bit_len:0x}"]:
+            with self.assertRaises(ValueError, msg=f"role name '{name}'"):
+                targets.get_delegated_role(name)
+        for i in range(2**bit_len):
+            self.assertEqual(
+                targets.get_delegated_role(f"prefix-{i:0x}"), role2
+            )
+
+
+class TestSimpleEnvelope(unittest.TestCase):
+    """Tests for public API in 'tuf/api/dsse.py'."""
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        repo_data_dir = Path(utils.TESTS_DIR) / "repository_data"
+        cls.metadata_dir = repo_data_dir / "repository" / "metadata"
+        cls.keystore_dir = repo_data_dir / "keystore"
+        cls.signers = {}
+        root_path = os.path.join(cls.metadata_dir, "root.json")
+        root: Root = Metadata.from_file(root_path).signed
+
+        for role in [Snapshot, Targets, Timestamp]:
+            uri = f"file2:{os.path.join(cls.keystore_dir, role.type + '_key')}"
+            role_obj = root.get_delegated_role(role.type)
+            key = root.get_key(role_obj.keyids[0])
+            cls.signers[role.type] = CryptoSigner.from_priv_key_uri(uri, key)
+
+    def test_serialization(self) -> None:
+        """Basic de/serialization test.
+
+        1. Load test metadata for each role
+        2. Wrap metadata payloads in envelope serializing the payload
+        3. Serialize envelope
+        4. De-serialize envelope
+        5. De-serialize payload
+
+        """
+        for role in [Root, Timestamp, Snapshot, Targets]:
+            metadata_path = self.metadata_dir / f"{role.type}.json"
+            metadata = Metadata.from_file(str(metadata_path))
+            self.assertIsInstance(metadata.signed, role)
+
+            envelope = SimpleEnvelope.from_signed(metadata.signed)
+            envelope_bytes = envelope.to_bytes()
+
+            envelope2 = SimpleEnvelope.from_bytes(envelope_bytes)
+            payload = envelope2.get_signed()
+            self.assertEqual(metadata.signed, payload)
+
+    def test_fail_envelope_serialization(self) -> None:
+        envelope = SimpleEnvelope(b"foo", "bar", [])  # type: ignore[arg-type]
+        with self.assertRaises(SerializationError):
+            envelope.to_bytes()
+
+    def test_fail_envelope_deserialization(self) -> None:
+        with self.assertRaises(DeserializationError):
+            SimpleEnvelope.from_bytes(b"[")
+
+    def test_fail_payload_serialization(self) -> None:
+        with self.assertRaises(SerializationError):
+            SimpleEnvelope.from_signed("foo")  # type: ignore[type-var]
+
+    def test_fail_payload_deserialization(self) -> None:
+        payloads = [b"[", b'{"_type": "foo"}']
+        for payload in payloads:
+            envelope = SimpleEnvelope(payload, "bar", {})
+            with self.assertRaises(DeserializationError):
+                envelope.get_signed()
+
+    def test_verify_delegate(self) -> None:
+        """Basic verification test.
+
+        1. Load test metadata for each role
+        2. Wrap non-root payloads in envelope serializing the payload
+        3. Sign with correct delegated key
+        4. Verify delegate with root
+
+        """
+        root_path = self.metadata_dir / "root.json"
+        root = Metadata[Root].from_file(str(root_path)).signed
+
+        for role in [Timestamp, Snapshot, Targets]:
+            metadata_path = self.metadata_dir / f"{role.type}.json"
+            metadata = Metadata.from_file(str(metadata_path))
+            self.assertIsInstance(metadata.signed, role)
+
+            signer = self.signers[role.type]
+            self.assertIn(signer.public_key.keyid, root.roles[role.type].keyids)
+
+            envelope = SimpleEnvelope.from_signed(metadata.signed)
+            envelope.sign(signer)
+            self.assertTrue(len(envelope.signatures) == 1)
+
+            root.verify_delegate(role.type, envelope.pae(), envelope.signatures)
 
-        # Assert that data is not aleady equal
-        self.assertNotEqual(targets.signed.targets[filename], fileinfo)
-        # Update an already existing fileinfo
-        targets.signed.update(filename, fileinfo)
-        # Verify that data is updated
-        self.assertEqual(targets.signed.targets[filename], fileinfo)
 
 # Run unit test.
-if __name__ == '__main__':
+if __name__ == "__main__":
     utils.configure_test_logging(sys.argv)
     unittest.main()
diff --git a/tests/test_arbitrary_package_attack.py b/tests/test_arbitrary_package_attack.py
deleted file mode 100755
index 2dd329ced5..0000000000
--- a/tests/test_arbitrary_package_attack.py
+++ /dev/null
@@ -1,295 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_arbitrary_package_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  February 22, 2012.
-
-  March 21, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools. -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate an arbitrary package attack, where an updater client attempts to
-  download a malicious file.  TUF and non-TUF client scenarios are tested.
-
-  There is no difference between 'updates' and 'target' files.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import shutil
-import json
-import logging
-import unittest
-import sys
-
-import tuf
-import tuf.formats
-import tuf.roledb
-import tuf.keydb
-import tuf.log
-import tuf.client.updater as updater
-import tuf.unittest_toolbox as unittest_toolbox
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-
-
-class TestArbitraryPackageAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    # updater.Updater() populates the roledb with the name "test_repository1"
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-
-  def test_without_tuf(self):
-    # Verify that a target file replaced with a malicious version is downloaded
-    # by a non-TUF client (i.e., a non-TUF client that does not verify hashes,
-    # detect mix-and-mix attacks, etc.)  A tuf client, on the other hand, should
-    # detect that the downloaded target file is invalid.
-
-    # Test: Download a valid target file from the repository.
-    # Ensure the target file to be downloaded has not already been downloaded,
-    # and generate its file size and digest.  The file size and digest is needed
-    # to check that the malicious file was indeed downloaded.
-    target_path = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    client_target_path = os.path.join(self.client_directory, 'file1.txt')
-    self.assertFalse(os.path.exists(client_target_path))
-    length, hashes = securesystemslib.util.get_file_details(target_path)
-    fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-    url_file = os.path.join(url_prefix, 'targets', 'file1.txt')
-
-    # On Windows, the URL portion should not contain back slashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_target_path)
-
-    self.assertTrue(os.path.exists(client_target_path))
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-    self.assertEqual(fileinfo, download_fileinfo)
-
-    # Test: Download a target file that has been modified by an attacker.
-    with open(target_path, 'wt') as file_object:
-      file_object.write('add malicious content.')
-    length, hashes = securesystemslib.util.get_file_details(target_path)
-    malicious_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # On Windows, the URL portion should not contain back slashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_target_path)
-
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is unequal to the original trusted version.
-    self.assertNotEqual(download_fileinfo, fileinfo)
-
-    # Verify 'download_fileinfo' is equal to the malicious version.
-    self.assertEqual(download_fileinfo, malicious_fileinfo)
-
-
-
-  def test_with_tuf(self):
-    # Verify that a target file (on the remote repository) modified by an
-    # attacker is not downloaded by the TUF client.
-    # First test that the valid target file is successfully downloaded.
-    file1_fileinfo = self.repository_updater.get_one_valid_targetinfo('file1.txt')
-    destination = os.path.join(self.client_directory)
-    self.repository_updater.download_target(file1_fileinfo, destination)
-    client_target_path = os.path.join(destination, 'file1.txt')
-    self.assertTrue(os.path.exists(client_target_path))
-
-    # Modify 'file1.txt' and confirm that the TUF client rejects it.
-    target_path = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    with open(target_path, 'wt') as file_object:
-      file_object.write('malicious content, size 33 bytes.')
-
-    try:
-      self.repository_updater.download_target(file1_fileinfo, destination)
-
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-      url_file = os.path.join(url_prefix, 'targets', 'file1.txt')
-
-      # Verify that only one exception is raised for 'url_file'.
-      self.assertTrue(len(exception.mirror_errors), 1)
-
-      # Verify that the expected 'tuf.exceptions.DownloadLengthMismatchError' exception
-      # is raised for 'url_file'.
-      self.assertTrue(url_file.replace('\\', '/') in exception.mirror_errors)
-      self.assertTrue(
-          isinstance(exception.mirror_errors[url_file.replace('\\', '/')],
-          securesystemslib.exceptions.BadHashError))
-
-    else:
-      self.fail('TUF did not prevent an arbitrary package attack.')
-
-
-  def test_with_tuf_and_metadata_tampering(self):
-    # Test that a TUF client does not download a malicious target file, and a
-    # 'targets.json' metadata file that has also been modified by the attacker.
-    # The attacker does not attach a valid signature to 'targets.json'
-
-    # An attacker modifies 'file1.txt'.
-    target_path = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    with open(target_path, 'wt') as file_object:
-      file_object.write('malicious content, size 33 bytes.')
-
-    # An attacker also tries to add the malicious target's length and digest
-    # to its metadata file.
-    length, hashes = securesystemslib.util.get_file_details(target_path)
-
-    metadata_path = \
-      os.path.join(self.repository_directory, 'metadata', 'targets.json')
-
-    metadata = securesystemslib.util.load_json_file(metadata_path)
-    metadata['signed']['targets']['file1.txt']['hashes'] = hashes
-    metadata['signed']['targets']['file1.txt']['length'] = length
-
-    tuf.formats.check_signable_object_format(metadata)
-
-    with open(metadata_path, 'wb') as file_object:
-      file_object.write(json.dumps(metadata, indent=1,
-          separators=(',', ': '), sort_keys=True).encode('utf-8'))
-
-    # Verify that the malicious 'targets.json' is not downloaded.  Perform
-    # a refresh of top-level metadata to demonstrate that the malicious
-    # 'targets.json' is not downloaded.
-    try:
-      self.repository_updater.refresh()
-      file1_fileinfo = self.repository_updater.get_one_valid_targetinfo('file1.txt')
-      destination = os.path.join(self.client_directory)
-      self.repository_updater.download_target(file1_fileinfo, destination)
-
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-      url_file = os.path.join(url_prefix, 'targets', 'file1.txt')
-
-      # Verify that an exception raised for only the malicious 'url_file'.
-      self.assertTrue(len(exception.mirror_errors), 1)
-
-      # Verify that the specific and expected mirror exception is raised.
-      self.assertTrue(url_file.replace('\\', '/') in exception.mirror_errors)
-      self.assertTrue(
-          isinstance(exception.mirror_errors[url_file.replace('\\', '/')],
-          securesystemslib.exceptions.BadHashError))
-
-    else:
-      self.fail('TUF did not prevent an arbitrary package attack.')
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_developer_tool.py b/tests/test_developer_tool.py
deleted file mode 100755
index d066964437..0000000000
--- a/tests/test_developer_tool.py
+++ /dev/null
@@ -1,428 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_developer_tool.py.
-
-<Authors>
-  Santiago Torres Arias <torresariass@gmail.com>
-  Zane Fisher <zanefisher@gmail.com>
-
-<Started>
-  January 22, 2014.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for the 'developer_tool.py' module.
-"""
-
-import os
-import unittest
-import logging
-import tempfile
-import shutil
-import sys
-
-import tuf
-import tuf.log
-import tuf.roledb
-import tuf.keydb
-import tuf.developer_tool as developer_tool
-import tuf.exceptions
-
-import securesystemslib
-import securesystemslib.exceptions
-
-from tuf.developer_tool import METADATA_DIRECTORY_NAME
-from tuf.developer_tool import TARGETS_DIRECTORY_NAME
-
-from tests import utils
-
-logger = logging.getLogger(__name__)
-
-developer_tool.disable_console_log_messages()
-
-class TestProject(unittest.TestCase):
-
-  tmp_dir = None
-
-  @classmethod
-  def setUpClass(cls):
-    cls.tmp_dir = tempfile.mkdtemp(dir = os.getcwd())
-
-
-  @classmethod
-  def tearDownClass(cls):
-    shutil.rmtree(cls.tmp_dir)
-
-
-  def tearDown(self):
-    # called after every test case
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-  def test_create_new_project(self):
-    # Test cases for the create_new_project function. In this test we will
-    # check input, correct file creation and format. We also check
-    # that a proper object is generated. We will use the normal layout for this
-    # test suite.
-
-    # Create a local subfolder for this test.
-    local_tmp = tempfile.mkdtemp(dir = self.tmp_dir)
-
-    # These are the usual values we will be throwing to the function, however
-    # we will swap these for nulls or malformed values every now and then to
-    # test input.
-    project_name = 'test_suite'
-    metadata_directory = local_tmp
-    location_in_repository = '/prefix'
-    targets_directory = None
-    key = None
-
-    # Create a blank project.
-    project = developer_tool.create_new_project(project_name, metadata_directory,
-        location_in_repository)
-
-    self.assertTrue(isinstance(project, developer_tool.Project))
-    self.assertTrue(project.layout_type == 'repo-like')
-    self.assertTrue(project.prefix == location_in_repository)
-    self.assertTrue(project.project_name == project_name)
-    self.assertTrue(project.metadata_directory ==
-        os.path.join(metadata_directory,METADATA_DIRECTORY_NAME))
-    self.assertTrue(project.targets_directory ==
-        os.path.join(metadata_directory,TARGETS_DIRECTORY_NAME))
-
-    # Create a blank project without a prefix.
-    project = developer_tool.create_new_project(project_name, metadata_directory)
-    self.assertTrue(isinstance(project, developer_tool.Project))
-    self.assertTrue(project.layout_type == 'repo-like')
-    self.assertTrue(project.prefix == '')
-    self.assertTrue(project.project_name == project_name)
-    self.assertTrue(project.metadata_directory ==
-        os.path.join(metadata_directory,METADATA_DIRECTORY_NAME))
-    self.assertTrue(project.targets_directory ==
-        os.path.join(metadata_directory,TARGETS_DIRECTORY_NAME))
-
-    # Create a blank project without a valid metadata directory.
-    self.assertRaises(securesystemslib.exceptions.FormatError, developer_tool.create_new_project,
-       0, metadata_directory, location_in_repository)
-    self.assertRaises(securesystemslib.exceptions.FormatError, developer_tool.create_new_project,
-       project_name, 0, location_in_repository)
-    self.assertRaises(securesystemslib.exceptions.FormatError, developer_tool.create_new_project,
-       project_name, metadata_directory, 0)
-
-
-    # Create a new project with a flat layout.
-    targets_directory = tempfile.mkdtemp(dir = local_tmp)
-    metadata_directory = tempfile.mkdtemp(dir = local_tmp)
-    project = developer_tool.create_new_project(project_name, metadata_directory,
-        location_in_repository, targets_directory)
-    self.assertTrue(isinstance(project, developer_tool.Project))
-    self.assertTrue(project.layout_type == 'flat')
-    self.assertTrue(project.prefix == location_in_repository)
-    self.assertTrue(project.project_name == project_name)
-    self.assertTrue(project.metadata_directory == metadata_directory)
-    self.assertTrue(project.targets_directory == targets_directory)
-
-    # Finally, check that if targets_directory is set, it is valid.
-    self.assertRaises(securesystemslib.exceptions.FormatError, developer_tool.create_new_project,
-        project_name, metadata_directory, location_in_repository, 0)
-
-    # Copy a key to our workspace and create a new project with it.
-    keystore_path = os.path.join('repository_data','keystore')
-
-    # I will use the same key as the one provided in the repository
-    # tool tests for the root role, but this is not a root role...
-    root_key_path = os.path.join(keystore_path,'root_key.pub')
-    project_key = developer_tool.import_rsa_publickey_from_file(root_key_path)
-
-    # Test create new project with a key added by default.
-    project = developer_tool.create_new_project(project_name, metadata_directory,
-        location_in_repository, targets_directory, project_key)
-
-    self.assertTrue(isinstance(project, developer_tool.Project))
-    self.assertTrue(project.layout_type == 'flat')
-    self.assertTrue(project.prefix == location_in_repository)
-    self.assertTrue(project.project_name == project_name)
-    self.assertTrue(project.metadata_directory == metadata_directory)
-    self.assertTrue(project.targets_directory == targets_directory)
-    self.assertTrue(len(project.keys) == 1)
-    self.assertTrue(project.keys[0] == project_key['keyid'])
-
-    # Try to write to an invalid location.  The OSError should be re-raised by
-    # create_new_project().
-    shutil.rmtree(targets_directory)
-    tuf.roledb.clear_roledb()
-    tuf.keydb.clear_keydb()
-
-    metadata_directory = '/'
-    valid_metadata_directory_name = developer_tool.METADATA_DIRECTORY_NAME
-    developer_tool.METADATA_DIRECTORY_NAME = '/'
-
-    try:
-      developer_tool.create_new_project(project_name, metadata_directory,
-          location_in_repository, targets_directory, project_key)
-
-    except (OSError, tuf.exceptions.RepositoryError):
-      pass
-
-    developer_tool.METADATA_DIRECTORY_NAME = valid_metadata_directory_name
-
-
-
-  def test_load_project(self):
-    # This test case will first try to load an existing project and test for
-    # verify the loaded object.  It will next try to load a nonexisting project
-    # and expect a correct error handler.  Finally, it will try to overwrite the
-    # existing prefix of the loaded project.
-
-    # Create a local subfolder for this test.
-    local_tmp = tempfile.mkdtemp(dir = self.tmp_dir)
-
-    # Test non-existent project filepath.
-    nonexistent_path = os.path.join(local_tmp, 'nonexistent')
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        developer_tool.load_project, nonexistent_path)
-
-    # Copy the pregenerated metadata.
-    project_data_filepath = os.path.join('repository_data', 'project')
-    target_project_data_filepath = os.path.join(local_tmp, 'project')
-    shutil.copytree('repository_data/project', target_project_data_filepath)
-
-    # Properly load a project.
-    repo_filepath = os.path.join(local_tmp, 'project', 'test-flat')
-    new_targets_path = os.path.join(local_tmp, 'project', 'targets')
-    project = developer_tool.load_project(repo_filepath,
-        new_targets_location = new_targets_path)
-    self.assertTrue(project._targets_directory == new_targets_path)
-    self.assertTrue(project.layout_type == 'flat')
-
-    # Load a project overwriting the prefix.
-    project = developer_tool.load_project(repo_filepath, prefix='new')
-    self.assertTrue(project.prefix == 'new')
-
-    # Load a project with a file missing.
-    file_to_corrupt = os.path.join(repo_filepath, 'test-flat.json')
-    with open(file_to_corrupt, 'wt') as fp:
-      fp.write('this is not a json file')
-
-    self.assertRaises(securesystemslib.exceptions.Error, developer_tool.load_project, repo_filepath)
-
-
-
-
-  def test_add_verification_keys(self):
-    # Create a new project instance.
-    project = developer_tool.Project('test_verification_keys', 'somepath',
-        'someotherpath', 'prefix')
-
-    # Add invalid verification key.
-    self.assertRaises(securesystemslib.exceptions.FormatError, project.add_verification_key, 'invalid')
-
-    # Add verification key.
-    #  - load it first
-    keystore_path = os.path.join('repository_data', 'keystore')
-    first_verification_key_path = os.path.join(keystore_path,'root_key.pub')
-    first_verification_key = \
-      developer_tool.import_rsa_publickey_from_file(first_verification_key_path)
-
-    project.add_verification_key(first_verification_key)
-
-
-    # Add another verification key (should expect exception.)
-    second_verification_key_path = os.path.join(keystore_path, 'snapshot_key.pub')
-    second_verification_key = \
-      developer_tool.import_ed25519_publickey_from_file(second_verification_key_path)
-
-    self.assertRaises(securesystemslib.exceptions.Error,
-        project.add_verification_key,(second_verification_key))
-
-
-
-    # Add a verification key for the delegation.
-    project.delegate('somedelegation', [], [])
-    project('somedelegation').add_verification_key(first_verification_key)
-    project('somedelegation').add_verification_key(second_verification_key)
-
-
-    # Add another delegation of the delegation.
-    project('somedelegation').delegate('somesubdelegation', [], [])
-    project('somesubdelegation').add_verification_key(first_verification_key)
-    project('somesubdelegation').add_verification_key(second_verification_key)
-
-
-  def test_write(self):
-
-    # Create tmp directory.
-    local_tmp = tempfile.mkdtemp(dir=self.tmp_dir)
-
-    # Create new project inside tmp directory.
-    project = developer_tool.create_new_project('new_project', local_tmp,
-        'prefix');
-
-    # Create some target files inside the tmp directory.
-    target_filepath = os.path.join(local_tmp, 'targets', 'test_target')
-    with open(target_filepath, 'wt') as fp:
-      fp.write('testing file')
-
-
-    # Add the targets.
-    project.add_target(os.path.basename(target_filepath))
-
-    # Add verification keys.
-    keystore_path = os.path.join('repository_data', 'keystore')
-    project_key_path = os.path.join(keystore_path, 'root_key.pub')
-    project_key = \
-      developer_tool.import_rsa_publickey_from_file(project_key_path)
-
-
-    # Call status (for the sake of doing it and to improve test coverage by
-    # executing its statements.)
-    project.status()
-
-    project.add_verification_key(project_key)
-
-
-    # Add another verification key (should expect exception.)
-    delegation_key_path = os.path.join(keystore_path, 'snapshot_key.pub')
-    delegation_key = \
-      developer_tool.import_ed25519_publickey_from_file(delegation_key_path)
-
-    # Add a subdelegation.
-    subdelegation_key_path = os.path.join(keystore_path, 'timestamp_key.pub')
-    subdelegation_key = \
-        developer_tool.import_ed25519_publickey_from_file(subdelegation_key_path)
-
-    # Add a delegation.
-    project.delegate('delegation', [delegation_key], [])
-    project('delegation').delegate('subdelegation', [subdelegation_key], [])
-
-    # call write (except)
-    self.assertRaises(securesystemslib.exceptions.Error, project.write, ())
-
-    # Call status (for the sake of doing it and executing its statements.)
-    project.status()
-
-    # Load private keys.
-    project_private_key_path = os.path.join(keystore_path, 'root_key')
-    project_private_key = \
-        developer_tool.import_rsa_privatekey_from_file(project_private_key_path,
-            'password')
-
-    delegation_private_key_path = os.path.join(keystore_path, 'snapshot_key')
-    delegation_private_key = \
-        developer_tool.import_ed25519_privatekey_from_file(delegation_private_key_path,
-            'password')
-
-    subdelegation_private_key_path =  \
-        os.path.join(keystore_path, 'timestamp_key')
-    subdelegation_private_key = \
-        developer_tool.import_ed25519_privatekey_from_file(subdelegation_private_key_path,
-            'password')
-
-    # Test partial write.
-    # backup everything (again)
-    # + backup targets.
-    targets_backup = project.target_files
-
-    # + backup delegations.
-    delegations_backup = \
-        tuf.roledb.get_delegated_rolenames(project.project_name)
-
-    # + backup layout type.
-    layout_type_backup = project.layout_type
-
-    # + backup keyids.
-    keys_backup = project.keys
-    delegation_keys_backup = project('delegation').keys
-
-    # + backup the prefix.
-    prefix_backup = project.prefix
-
-    # + backup the name.
-    name_backup = project.project_name
-
-    # Write and reload.
-    self.assertRaises(securesystemslib.exceptions.Error, project.write)
-    project.write(write_partial=True)
-
-    project = developer_tool.load_project(local_tmp)
-
-    # Check against backup.
-    self.assertEqual(list(project.target_files.keys()), list(targets_backup.keys()))
-    new_delegations = tuf.roledb.get_delegated_rolenames(project.project_name)
-    self.assertEqual(new_delegations, delegations_backup)
-    self.assertEqual(project.layout_type, layout_type_backup)
-    self.assertEqual(project.keys, keys_backup)
-
-    self.assertEqual(project('delegation').keys, delegation_keys_backup)
-
-    self.assertEqual(project.prefix, prefix_backup)
-    self.assertEqual(project.project_name, name_backup)
-
-    roleinfo = tuf.roledb.get_roleinfo(project.project_name)
-
-    self.assertEqual(roleinfo['partial_loaded'], True)
-
-
-
-    # Load_signing_keys.
-    project('delegation').load_signing_key(delegation_private_key)
-
-    project.status()
-
-    project.load_signing_key(project_private_key)
-
-    # Backup everything.
-    # + backup targets.
-    targets_backup = project.target_files
-
-    # + backup delegations.
-    delegations_backup = \
-        tuf.roledb.get_delegated_rolenames(project.project_name)
-
-    # + backup layout type.
-    layout_type_backup = project.layout_type
-
-    # + backup keyids
-    keys_backup = project.keys
-    delegation_keys_backup = project('delegation').keys
-
-    # + backup the prefix.
-    prefix_backup = project.prefix
-
-    # + backup the name.
-    name_backup = project.project_name
-
-    # Call status (for the sake of doing it.)
-    project.status()
-
-    # Call write.
-    project.write()
-
-    # Call load.
-    project = developer_tool.load_project(local_tmp)
-
-
-    # Check against backup.
-    self.assertEqual(list(project.target_files.keys()), list(targets_backup.keys()))
-
-    new_delegations = tuf.roledb.get_delegated_rolenames(project.project_name)
-    self.assertEqual(new_delegations, delegations_backup)
-    self.assertEqual(project.layout_type, layout_type_backup)
-    self.assertEqual(project.keys, keys_backup)
-    self.assertEqual(project('delegation').keys, delegation_keys_backup)
-    self.assertEqual(project.prefix, prefix_backup)
-    self.assertEqual(project.project_name, name_backup)
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_download.py b/tests/test_download.py
deleted file mode 100755
index c6933fcb1b..0000000000
--- a/tests/test_download.py
+++ /dev/null
@@ -1,377 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program>
-  test_download.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 26, 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'download.py'.
-
-  NOTE: Make sure test_download.py is ran in 'tuf/tests/' directory.
-  Otherwise, module that launches simple server would not be found.
-
-  TODO: Adopt the environment variable management from test_proxy_use.py here.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import hashlib
-import logging
-import os
-import sys
-import unittest
-import urllib3
-import warnings
-
-import tuf
-import tuf.download as download
-import tuf.log
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.exceptions
-
-from tests import utils
-
-import requests.exceptions
-
-import securesystemslib
-
-logger = logging.getLogger(__name__)
-
-
-class TestDownload(unittest_toolbox.Modified_TestCase):
-  def setUp(self):
-    """
-    Create a temporary file and launch a simple server in the
-    current working directory.
-    """
-
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    # Making a temporary file.
-    current_dir = os.getcwd()
-    target_filepath = self.make_temp_data_file(directory=current_dir)
-    self.target_fileobj = open(target_filepath, 'r')
-    self.target_data = self.target_fileobj.read()
-    self.target_data_length = len(self.target_data)
-
-    # Launch a SimpleHTTPServer (serves files in the current dir).
-    self.server_process_handler = utils.TestServerProcess(log=logger)
-
-    rel_target_filepath = os.path.basename(target_filepath)
-    self.url = 'http://localhost:' \
-        + str(self.server_process_handler.port) + '/' + rel_target_filepath
-
-    # Computing hash of target file data.
-    m = hashlib.md5()
-    m.update(self.target_data.encode('utf-8'))
-    digest = m.hexdigest()
-    self.target_hash = {'md5':digest}
-
-
-  # Stop server process and perform clean up.
-  def tearDown(self):
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-
-    # Cleans the resources and flush the logged lines (if any).
-    self.server_process_handler.clean()
-
-    self.target_fileobj.close()
-
-
-  # Test: Normal case.
-  def test_download_url_to_tempfileobj(self):
-
-    download_file = download.safe_download
-    with download_file(self.url, self.target_data_length) as temp_fileobj:
-      temp_fileobj.seek(0)
-      temp_file_data = temp_fileobj.read().decode('utf-8')
-      self.assertEqual(self.target_data, temp_file_data)
-      self.assertEqual(self.target_data_length, len(temp_file_data))
-
-
-
-  # Test: Incorrect lengths.
-  def test_download_url_to_tempfileobj_and_lengths(self):
-    # We do *not* catch
-    # 'securesystemslib.exceptions.DownloadLengthMismatchError' in the
-    # following two calls because the file at 'self.url' contains enough bytes
-    # to satisfy the smaller number of required bytes requested.
-    # safe_download() and unsafe_download() will only log a warning when the
-    # the server-reported length of the file does not match the
-    # required_length.  'updater.py' *does* verify the hashes of downloaded
-    # content.
-    download.safe_download(self.url, self.target_data_length - 4).close()
-    download.unsafe_download(self.url, self.target_data_length - 4).close()
-
-    # We catch 'tuf.exceptions.DownloadLengthMismatchError' for safe_download()
-    # because it will not download more bytes than requested (in this case, a
-    # length greater than the size of the target file).
-    self.assertRaises(tuf.exceptions.DownloadLengthMismatchError,
-        download.safe_download, self.url, self.target_data_length + 1)
-
-    # Calling unsafe_download() with a mismatched length should not raise an
-    # exception.
-    download.unsafe_download(self.url, self.target_data_length + 1).close()
-
-
-
-  def test_download_url_to_tempfileobj_and_performance(self):
-
-    """
-    # Measuring performance of 'auto_flush = False' vs. 'auto_flush = True'
-    # in download._download_file() during write. No change was observed.
-    star_cpu = time.clock()
-    star_real = time.time()
-
-    temp_fileobj = download_file(self.url,
-                                 self.target_data_length)
-
-    end_cpu = time.clock()
-    end_real = time.time()
-
-    self.assertEqual(self.target_data, temp_fileobj.read())
-    self.assertEqual(self.target_data_length, len(temp_fileobj.read()))
-    temp_fileobj.close()
-
-    print "Performance cpu time: "+str(end_cpu - star_cpu)
-    print "Performance real time: "+str(end_real - star_real)
-
-    # TODO: [Not urgent] Show the difference by setting write(auto_flush=False)
-    """
-
-
-  # Test: Incorrect/Unreachable URLs.
-  def test_download_url_to_tempfileobj_and_urls(self):
-
-    download_file = download.safe_download
-    unsafe_download_file = download.unsafe_download
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      download_file, None, self.target_data_length)
-
-    self.assertRaises(tuf.exceptions.URLParsingError,
-                      download_file,
-                      self.random_string(), self.target_data_length)
-
-    url = 'http://localhost:' \
-        + str(self.server_process_handler.port) + '/' + self.random_string()
-    self.assertRaises(requests.exceptions.HTTPError,
-                      download_file,
-                      url,
-                      self.target_data_length)
-    url1 = 'http://localhost:' \
-      + str(self.server_process_handler.port + 1) + '/' + self.random_string()
-    self.assertRaises(requests.exceptions.ConnectionError,
-                      download_file,
-                      url1,
-                      self.target_data_length)
-
-    # Specify an unsupported URI scheme.
-    url_with_unsupported_uri = self.url.replace('http', 'file')
-    self.assertRaises(requests.exceptions.InvalidSchema, download_file, url_with_unsupported_uri,
-                      self.target_data_length)
-    self.assertRaises(requests.exceptions.InvalidSchema, unsafe_download_file,
-                      url_with_unsupported_uri, self.target_data_length)
-
-
-
-
-
-  '''
-  # This test uses sites on the internet, requiring a net connection to succeed.
-  # Since this is the only such test in TUF, I'm not going to enable it... but
-  # it's here in case it's useful for diagnosis.
-  def test_https_validation(self):
-    """
-    Use some known URLs on the net to ensure that TUF download checks SSL
-    certificates appropriately.
-    """
-    # We should never get as far as the target file download itself, so the
-    # length we pass to safe_download and unsafe_download shouldn't matter.
-    irrelevant_length = 10
-
-    for bad_url in [
-        'https://expired.badssl.com/', # expired certificate
-        'https://wrong.host.badssl.com/', ]: # hostname verification fail
-
-      with self.assertRaises(requests.exceptions.SSLError):
-        download.safe_download(bad_url, irrelevant_length)
-
-      with self.assertRaises(requests.exceptions.SSLError):
-        download.unsafe_download(bad_url, irrelevant_length)
-  '''
-
-
-
-
-  def test_https_connection(self):
-    """
-    Try various HTTPS downloads using trusted and untrusted certificates with
-    and without the correct hostname listed in the SSL certificate.
-    """
-    # Make a temporary file to be served to the client.
-    current_directory = os.getcwd()
-    target_filepath = self.make_temp_data_file(directory=current_directory)
-
-    with open(target_filepath, 'r') as target_file_object:
-      target_data_length = len(target_file_object.read())
-
-    # These cert files provide various test cases:
-    # good:    A valid cert from an older generation of test_download.py tests.
-    # good2:   A valid cert made simultaneous to the bad certs below, with the
-    #          same settings otherwise, tested here in case the difference
-    #          between the way the new bad certs and the old good cert were
-    #          generated turns out to matter at some point.
-    # bad:     An otherwise-valid cert with the wrong hostname. The good certs
-    #          list "localhost", but this lists "notmyhostname".
-    # expired: An otherwise-valid cert but which is expired (no valid dates
-    #          exist, fwiw: startdate > enddate).
-    good_cert_fname = os.path.join('ssl_certs', 'ssl_cert.crt')
-    good2_cert_fname = os.path.join('ssl_certs', 'ssl_cert_2.crt')
-    bad_cert_fname = os.path.join('ssl_certs', 'ssl_cert_wronghost.crt')
-    expired_cert_fname = os.path.join('ssl_certs', 'ssl_cert_expired.crt')
-
-    # Launch four HTTPS servers (serve files in the current dir).
-    # 1: we expect to operate correctly
-    # 2: also good; uses a slightly different cert (controls for the cert
-    #    generation method used for the next two, in case it comes to matter)
-    # 3: run with an HTTPS certificate with an unexpected hostname
-    # 4: run with an HTTPS certificate that is expired
-    # Be sure to offset from the port used in setUp to avoid collision.
-
-
-    good_https_server_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py',
-        extra_cmd_args=[good_cert_fname])
-    good2_https_server_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py',
-        extra_cmd_args=[good2_cert_fname])
-    bad_https_server_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py',
-        extra_cmd_args=[bad_cert_fname])
-    expd_https_server_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py',
-        extra_cmd_args=[expired_cert_fname])
-
-    suffix = '/' +  os.path.basename(target_filepath)
-    good_https_url = 'https://localhost:' \
-        + str(good_https_server_handler.port) + suffix
-    good2_https_url = 'https://localhost:' \
-        + str(good2_https_server_handler.port) + suffix
-    bad_https_url = 'https://localhost:' \
-        + str(bad_https_server_handler.port) + suffix
-    expired_https_url = 'https://localhost:' \
-        + str(expd_https_server_handler.port) + suffix
-
-    # Download the target file using an HTTPS connection.
-
-    # Use try-finally solely to ensure that the server processes are killed.
-    try:
-      # Trust the certfile that happens to use a different hostname than we
-      # will expect.
-      os.environ['REQUESTS_CA_BUNDLE'] = bad_cert_fname
-      # Clear sessions to ensure that the certificate we just specified is used.
-      # TODO: Confirm necessity of this session clearing and lay out mechanics.
-      tuf.download._sessions = {}
-
-      # Try connecting to the server process with the bad cert while trusting
-      # the bad cert. Expect failure because even though we trust it, the
-      # hostname we're connecting to does not match the hostname in the cert.
-      logger.info('Trying HTTPS download of target file: ' + bad_https_url)
-      with warnings.catch_warnings():
-        # We're ok with a slightly fishy localhost cert
-        warnings.filterwarnings('ignore',
-            category=urllib3.exceptions.SubjectAltNameWarning)
-
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.safe_download(bad_https_url, target_data_length)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.unsafe_download(bad_https_url, target_data_length)
-
-        # Try connecting to the server processes with the good certs while not
-        # trusting the good certs (trusting the bad cert instead). Expect failure
-        # because even though the server's cert file is otherwise OK, we don't
-        # trust it.
-        logger.info('Trying HTTPS download of target file: ' + good_https_url)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.safe_download(good_https_url, target_data_length)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.unsafe_download(good_https_url, target_data_length)
-
-        logger.info('Trying HTTPS download of target file: ' + good2_https_url)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.safe_download(good2_https_url, target_data_length)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.unsafe_download(good2_https_url, target_data_length)
-
-
-        # Configure environment to now trust the certfile that is expired.
-        os.environ['REQUESTS_CA_BUNDLE'] = expired_cert_fname
-        # Clear sessions to ensure that the certificate we just specified is used.
-        # TODO: Confirm necessity of this session clearing and lay out mechanics.
-        tuf.download._sessions = {}
-
-        # Try connecting to the server process with the expired cert while
-        # trusting the expired cert. Expect failure because even though we trust
-        # it, it is expired.
-        logger.info('Trying HTTPS download of target file: ' + expired_https_url)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.safe_download(expired_https_url, target_data_length)
-        with self.assertRaises(requests.exceptions.SSLError):
-          download.unsafe_download(expired_https_url, target_data_length)
-
-
-        # Try connecting to the server processes with the good certs while
-        # trusting the appropriate good certs. Expect success.
-        # TODO: expand testing to switch expected certificates back and forth a
-        #       bit more while clearing / not clearing sessions.
-        os.environ['REQUESTS_CA_BUNDLE'] = good_cert_fname
-        # Clear sessions to ensure that the certificate we just specified is used.
-        # TODO: Confirm necessity of this session clearing and lay out mechanics.
-        tuf.download._sessions = {}
-        logger.info('Trying HTTPS download of target file: ' + good_https_url)
-        download.safe_download(good_https_url, target_data_length).close()
-        download.unsafe_download(good_https_url, target_data_length).close()
-
-        os.environ['REQUESTS_CA_BUNDLE'] = good2_cert_fname
-        # Clear sessions to ensure that the certificate we just specified is used.
-        # TODO: Confirm necessity of this session clearing and lay out mechanics.
-        tuf.download._sessions = {}
-        logger.info('Trying HTTPS download of target file: ' + good2_https_url)
-        download.safe_download(good2_https_url, target_data_length).close()
-        download.unsafe_download(good2_https_url, target_data_length).close()
-
-    finally:
-      for proc_handler in [
-          good_https_server_handler,
-          good2_https_server_handler,
-          bad_https_server_handler,
-          expd_https_server_handler]:
-
-        # Cleans the resources and flush the logged lines (if any).
-        proc_handler.clean()
-
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_endless_data_attack.py b/tests/test_endless_data_attack.py
deleted file mode 100755
index 759119ae9d..0000000000
--- a/tests/test_endless_data_attack.py
+++ /dev/null
@@ -1,281 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_endless_data_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 13, 2012.
-
-  April 3, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools. Minor edits to the test cases.
-    -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate an endless data attack, where an updater client tries to download a
-  target file modified by an attacker to contain a large amount of data (a TUF
-  client should only download up to the file's expected length).  TUF and
-  non-TUF client scenarios are tested.
-
-  There is no difference between 'updates' and 'target' files.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import shutil
-import json
-import logging
-import unittest
-import sys
-
-import tuf
-import tuf.formats
-import tuf.log
-import tuf.client.updater as updater
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.roledb
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-
-
-class TestEndlessDataAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-
-  def test_without_tuf(self):
-    # Verify that a target file replaced with a larger malicious version (to
-    # simulate an endless data attack) is downloaded by a non-TUF client (i.e.,
-    # a non-TUF client that does not verify hashes, detect mix-and-mix attacks,
-    # etc.)  A tuf client, on the other hand, should only download target files
-    # up to their expected lengths, as explicitly specified in metadata, or
-    # 'tuf.settings.py' (when retrieving 'timestamp.json' and 'root.json unsafely'.)
-
-    # Test: Download a valid target file from the repository.
-    # Ensure the target file to be downloaded has not already been downloaded,
-    # and generate its file size and digest.  The file size and digest is needed
-    # to verify that the malicious file was indeed downloaded.
-    target_path = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    client_target_path = os.path.join(self.client_directory, 'file1.txt')
-    self.assertFalse(os.path.exists(client_target_path))
-    length, hashes = securesystemslib.util.get_file_details(target_path)
-    fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-    url_file = os.path.join(url_prefix, 'targets', 'file1.txt')
-
-    # On Windows, the URL portion should not contain backslashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_target_path)
-
-    self.assertTrue(os.path.exists(client_target_path))
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-    self.assertEqual(fileinfo, download_fileinfo)
-
-    # Test: Download a target file that has been modified by an attacker with
-    # extra data.
-    with open(target_path, 'a') as file_object:
-      file_object.write('append large amount of data' * 100000)
-    large_length, hashes = securesystemslib.util.get_file_details(target_path)
-    malicious_fileinfo = tuf.formats.make_targets_fileinfo(large_length, hashes)
-
-    # Is the modified file actually larger?
-    self.assertTrue(large_length > length)
-
-    # On Windows, the URL portion should not contain backslashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_target_path)
-
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is unequal to the original trusted version.
-    self.assertNotEqual(download_fileinfo, fileinfo)
-
-    # Verify 'download_fileinfo' is equal to the malicious version.
-    self.assertEqual(download_fileinfo, malicious_fileinfo)
-
-
-
-  def test_with_tuf(self):
-    # Verify that a target file (on the remote repository) modified by an
-    # attacker, to contain a large amount of extra data, is not downloaded by
-    # the TUF client.  First test that the valid target file is successfully
-    # downloaded.
-    file1_fileinfo = self.repository_updater.get_one_valid_targetinfo('file1.txt')
-    destination = os.path.join(self.client_directory)
-    self.repository_updater.download_target(file1_fileinfo, destination)
-    client_target_path = os.path.join(destination, 'file1.txt')
-    self.assertTrue(os.path.exists(client_target_path))
-
-    # Verify the client's downloaded file matches the repository's.
-    target_path = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-    self.assertEqual(fileinfo, download_fileinfo)
-
-    # Modify 'file1.txt' and confirm that the TUF client only downloads up to
-    # the expected file length.
-    with open(target_path, 'a') as file_object:
-      file_object.write('append large amount of data' * 10000)
-
-    # Is the modified file actually larger?
-    large_length, hashes = securesystemslib.util.get_file_details(target_path)
-    self.assertTrue(large_length > length)
-
-    os.remove(client_target_path)
-    self.repository_updater.download_target(file1_fileinfo, destination)
-
-    # A large amount of data has been appended to the original content.  The
-    # extra data appended should be discarded by the client, so the downloaded
-    # file size and hash should not have changed.
-    length, hashes = securesystemslib.util.get_file_details(client_target_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-    self.assertEqual(fileinfo, download_fileinfo)
-
-    # Test that the TUF client does not download large metadata files, as well.
-    timestamp_path = os.path.join(self.repository_directory, 'metadata',
-                                  'timestamp.json')
-
-    original_length, hashes = securesystemslib.util.get_file_details(timestamp_path)
-
-    with open(timestamp_path, 'r+') as file_object:
-      timestamp_content = securesystemslib.util.load_json_file(timestamp_path)
-      large_data = 'LargeTimestamp' * 10000
-      timestamp_content['signed']['_type'] = large_data
-      json.dump(timestamp_content, file_object, indent=1, sort_keys=True)
-
-
-    modified_length, hashes = securesystemslib.util.get_file_details(timestamp_path)
-    self.assertTrue(modified_length > original_length)
-
-    # Does the TUF client download the upper limit of an unsafely fetched
-    # 'timestamp.json'?  'timestamp.json' must not be greater than
-    # 'tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH'.
-    try:
-      self.repository_updater.refresh()
-
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_url, mirror_error in six.iteritems(exception.mirror_errors):
-        self.assertTrue(isinstance(mirror_error, securesystemslib.exceptions.Error))
-
-    else:
-      self.fail('TUF did not prevent an endless data attack.')
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_examples.py b/tests/test_examples.py
new file mode 100644
index 0000000000..462a660fbc
--- /dev/null
+++ b/tests/test_examples.py
@@ -0,0 +1,173 @@
+# Copyright 2020, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+"""Unit tests for 'examples' scripts."""
+
+from __future__ import annotations
+
+import glob
+import os
+import shutil
+import sys
+import tempfile
+import unittest
+from pathlib import Path
+from typing import ClassVar
+
+from tests import utils
+
+
+class TestRepoExamples(unittest.TestCase):
+    """Unit test class for 'manual_repo' scripts.
+
+    Provides a '_run_example_script' method to run (exec) a script located in
+    the 'manual_repo' directory.
+
+    """
+
+    repo_examples_dir: ClassVar[Path]
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        """Locate the example dir."""
+        base = Path(__file__).resolve().parents[1]
+        cls.repo_examples_dir = base / "examples" / "manual_repo"
+
+    def setUp(self) -> None:
+        """Create and change into test dir.
+        NOTE: Test scripts are expected to create dirs/files in new CWD."""
+        self.original_cwd = os.getcwd()
+        self.base_test_dir = os.path.realpath(tempfile.mkdtemp())
+        os.chdir(self.base_test_dir)
+
+    def tearDown(self) -> None:
+        """Change back to original dir and remove test dir, which may contain
+        dirs/files the test created at test-time CWD."""
+        os.chdir(self.original_cwd)
+        shutil.rmtree(self.base_test_dir)
+
+    def _run_script_and_assert_files(
+        self, script_name: str, filenames_created: list[str]
+    ) -> None:
+        """Run script in example dir and assert that it created the
+        files corresponding to the passed filenames inside a 'tmp*' test dir at
+        CWD."""
+        script_path = str(self.repo_examples_dir / script_name)
+        with open(script_path, "rb") as f:
+            exec(
+                compile(f.read(), script_path, "exec"),
+                {"__file__": script_path},
+            )
+
+        test_dirs = glob.glob("tmp*")
+        self.assertTrue(
+            len(test_dirs) == 1, f"expected 1 'tmp*' test dir, got {test_dirs}"
+        )
+
+        test_dir = test_dirs.pop()
+        for name in filenames_created:
+            metadata_path = Path(test_dir) / f"{name}"
+            self.assertTrue(
+                metadata_path.exists(), f"missing '{metadata_path}' file"
+            )
+
+    def test_basic_repo(self) -> None:
+        """Run 'basic_repo.py' and assert creation of metadata files."""
+        self._run_script_and_assert_files(
+            "basic_repo.py",
+            [
+                "1.python-scripts.json",
+                "1.root.json",
+                "1.snapshot.json",
+                "1.targets.json",
+                "2.root.json",
+                "2.snapshot.json",
+                "2.targets.json",
+                "timestamp.json",
+            ],
+        )
+
+    def test_hashed_bin_delegation(self) -> None:
+        """Run 'hashed_bin_delegation.py' and assert creation of metadata files."""
+        self._run_script_and_assert_files(
+            "hashed_bin_delegation.py",
+            [
+                "1.bins.json",
+                "1.00-07.json",
+                "1.08-0f.json",
+                "1.10-17.json",
+                "1.18-1f.json",
+                "1.20-27.json",
+                "1.28-2f.json",
+                "1.30-37.json",
+                "1.38-3f.json",
+                "1.40-47.json",
+                "1.48-4f.json",
+                "1.50-57.json",
+                "1.58-5f.json",
+                "1.60-67.json",
+                "1.68-6f.json",
+                "1.70-77.json",
+                "1.78-7f.json",
+                "1.80-87.json",
+                "1.88-8f.json",
+                "1.90-97.json",
+                "1.98-9f.json",
+                "1.a0-a7.json",
+                "1.a8-af.json",
+                "1.b0-b7.json",
+                "1.b8-bf.json",
+                "1.c0-c7.json",
+                "1.c8-cf.json",
+                "1.d0-d7.json",
+                "1.d8-df.json",
+                "1.e0-e7.json",
+                "1.e8-ef.json",
+                "1.f0-f7.json",
+                "1.f8-ff.json",
+            ],
+        )
+
+    def test_succinct_hash_bin_delegation(self) -> None:
+        self._run_script_and_assert_files(
+            "succinct_hash_bin_delegations.py",
+            [
+                "1.targets.json",
+                "1.delegated_bin-00.json",
+                "1.delegated_bin-01.json",
+                "1.delegated_bin-02.json",
+                "1.delegated_bin-03.json",
+                "1.delegated_bin-04.json",
+                "1.delegated_bin-05.json",
+                "1.delegated_bin-06.json",
+                "1.delegated_bin-07.json",
+                "1.delegated_bin-08.json",
+                "1.delegated_bin-09.json",
+                "1.delegated_bin-0a.json",
+                "1.delegated_bin-0b.json",
+                "1.delegated_bin-0c.json",
+                "1.delegated_bin-0d.json",
+                "1.delegated_bin-0e.json",
+                "1.delegated_bin-0f.json",
+                "1.delegated_bin-10.json",
+                "1.delegated_bin-11.json",
+                "1.delegated_bin-12.json",
+                "1.delegated_bin-13.json",
+                "1.delegated_bin-14.json",
+                "1.delegated_bin-15.json",
+                "1.delegated_bin-16.json",
+                "1.delegated_bin-17.json",
+                "1.delegated_bin-18.json",
+                "1.delegated_bin-19.json",
+                "1.delegated_bin-1a.json",
+                "1.delegated_bin-1b.json",
+                "1.delegated_bin-1c.json",
+                "1.delegated_bin-1d.json",
+                "1.delegated_bin-1e.json",
+                "1.delegated_bin-1f.json",
+            ],
+        )
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_extraneous_dependencies_attack.py b/tests/test_extraneous_dependencies_attack.py
deleted file mode 100755
index 8eece9971d..0000000000
--- a/tests/test_extraneous_dependencies_attack.py
+++ /dev/null
@@ -1,223 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2013 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_extraneous_dependencies_attack.py
-
-<Author>
-  Zane Fisher.
-
-<Started>
-  August 19, 2013.
-
-  April 6, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools.  Modify the previous scenario
-    simulated for the mix-and-match attack.  The metadata that specified the
-    dependencies of a project modified (previously a text file.)
-    -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate an extraneous dependencies attack.  The client attempts to download
-  a file, which lists all the target dependencies, with one legitimate
-  dependency, and one extraneous dependency.  A client should not download a
-  target dependency even if it is found on the repository.  Valid targets are
-  listed and verified by TUF metadata, such as 'targets.txt'.
-
-  There is no difference between 'updates' and 'target' files.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import shutil
-import json
-import logging
-import unittest
-import sys
-
-import tuf.formats
-import tuf.log
-import tuf.client.updater as updater
-import tuf.roledb
-import tuf.keydb
-import tuf.unittest_toolbox as unittest_toolbox
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-
-
-
-class TestExtraneousDependenciesAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.keystore_directory = os.path.join(temporary_repository_root, 'keystore')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  def test_with_tuf(self):
-    # An attacker tries to trick a client into installing an extraneous target
-    # file (a valid file on the repository, in this case) by listing it in the
-    # project's metadata file.  For the purposes of test_with_tuf(),
-    # 'role1.json' is treated as the metadata file that indicates all
-    # the files needed to install/update the 'role1' project.  The attacker
-    # simply adds the extraneous target file to 'role1.json', which the TUF
-    # client should reject as improperly signed.
-    role1_filepath = os.path.join(self.repository_directory, 'metadata',
-                                  'role1.json')
-    file1_filepath = os.path.join(self.repository_directory, 'targets',
-                                  'file1.txt')
-    length, hashes = securesystemslib.util.get_file_details(file1_filepath)
-
-    role1_metadata = securesystemslib.util.load_json_file(role1_filepath)
-    role1_metadata['signed']['targets']['/file2.txt'] = {}
-    role1_metadata['signed']['targets']['/file2.txt']['hashes'] = hashes
-    role1_metadata['signed']['targets']['/file2.txt']['length'] = length
-
-    tuf.formats.check_signable_object_format(role1_metadata)
-
-    with open(role1_filepath, 'wt') as file_object:
-      json.dump(role1_metadata, file_object, indent=1, sort_keys=True)
-
-    # Un-install the metadata of the top-level roles so that the client can
-    # download and detect the invalid 'role1.json'.
-    os.remove(os.path.join(self.client_directory, self.repository_name,
-        'metadata', 'current', 'snapshot.json'))
-    os.remove(os.path.join(self.client_directory, self.repository_name,
-        'metadata', 'current', 'targets.json'))
-    os.remove(os.path.join(self.client_directory, self.repository_name,
-        'metadata', 'current', 'timestamp.json'))
-    os.remove(os.path.join(self.client_directory, self.repository_name,
-        'metadata', 'current', 'role1.json'))
-
-    # Verify that the TUF client rejects the invalid metadata and refuses to
-    # continue the update process.
-    self.repository_updater.refresh()
-
-    try:
-      with utils.ignore_deprecation_warnings('tuf.client.updater'):
-        self.repository_updater.targets_of_role('role1')
-
-    # Verify that the specific 'tuf.exceptions.ForbiddenTargetError' exception is raised
-    # by each mirror.
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_url, mirror_error in six.iteritems(exception.mirror_errors):
-        url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-        url_file = os.path.join(url_prefix, 'metadata', 'role1.json')
-
-        # Verify that 'role1.json' is the culprit.
-        self.assertEqual(url_file.replace('\\', '/'), mirror_url)
-        self.assertTrue(isinstance(mirror_error, securesystemslib.exceptions.BadSignatureError))
-
-    else:
-      self.fail('TUF did not prevent an extraneous dependencies attack.')
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_fetcher_ng.py b/tests/test_fetcher_ng.py
new file mode 100644
index 0000000000..d04b09f427
--- /dev/null
+++ b/tests/test_fetcher_ng.py
@@ -0,0 +1,182 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Unit test for Urllib3Fetcher."""
+
+import io
+import logging
+import math
+import os
+import sys
+import tempfile
+import unittest
+from typing import ClassVar
+from unittest.mock import Mock, patch
+
+import urllib3
+
+from tests import utils
+from tuf.api import exceptions
+from tuf.ngclient import Urllib3Fetcher
+
+logger = logging.getLogger(__name__)
+
+
+class TestFetcher(unittest.TestCase):
+    """Test Urllib3Fetcher class."""
+
+    server_process_handler: ClassVar[utils.TestServerProcess]
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        """
+        Create a temporary file and launch a simple server in the
+        current working directory.
+        """
+        cls.server_process_handler = utils.TestServerProcess(log=logger)
+
+        cls.file_contents = b"junk data"
+        cls.file_length = len(cls.file_contents)
+        with tempfile.NamedTemporaryFile(
+            dir=os.getcwd(), delete=False
+        ) as cls.target_file:
+            cls.target_file.write(cls.file_contents)
+
+        cls.url_prefix = (
+            f"http://{utils.TEST_HOST_ADDRESS}:"
+            f"{cls.server_process_handler.port!s}"
+        )
+        target_filename = os.path.basename(cls.target_file.name)
+        cls.url = f"{cls.url_prefix}/{target_filename}"
+
+    @classmethod
+    def tearDownClass(cls) -> None:
+        # Stop server process and perform clean up.
+        cls.server_process_handler.clean()
+        os.remove(cls.target_file.name)
+
+    def setUp(self) -> None:
+        # Instantiate a concrete instance of FetcherInterface
+        self.fetcher = Urllib3Fetcher()
+
+    # Simple fetch.
+    def test_fetch(self) -> None:
+        with tempfile.TemporaryFile() as temp_file:
+            for chunk in self.fetcher.fetch(self.url):
+                temp_file.write(chunk)
+
+            temp_file.seek(0)
+            self.assertEqual(self.file_contents, temp_file.read())
+
+    # URL data downloaded in more than one chunk
+    def test_fetch_in_chunks(self) -> None:
+        # Set a smaller chunk size to ensure that the file will be downloaded
+        # in more than one chunk
+        self.fetcher.chunk_size = 4
+
+        # expected_chunks_count: 3 (depends on length of self.file_length)
+        expected_chunks_count = math.ceil(
+            self.file_length / self.fetcher.chunk_size
+        )
+        self.assertEqual(expected_chunks_count, 3)
+
+        chunks_count = 0
+        with tempfile.TemporaryFile() as temp_file:
+            for chunk in self.fetcher.fetch(self.url):
+                temp_file.write(chunk)
+                chunks_count += 1
+
+            temp_file.seek(0)
+            self.assertEqual(self.file_contents, temp_file.read())
+            # Check that we calculate chunks as expected
+            self.assertEqual(chunks_count, expected_chunks_count)
+
+    # Incorrect URL parsing
+    def test_url_parsing(self) -> None:
+        with self.assertRaises(exceptions.DownloadError):
+            self.fetcher.fetch("http://invalid/")
+
+    # File not found error
+    def test_http_error(self) -> None:
+        with self.assertRaises(exceptions.DownloadHTTPError) as cm:
+            self.url = f"{self.url_prefix}/non-existing-path"
+            self.fetcher.fetch(self.url)
+        self.assertEqual(cm.exception.status_code, 404)
+
+    # Response read timeout error
+    @patch.object(urllib3.PoolManager, "request")
+    def test_response_read_timeout(self, mock_session_get: Mock) -> None:
+        mock_response = Mock()
+        mock_response.status = 200
+        attr = {
+            "stream.side_effect": urllib3.exceptions.MaxRetryError(
+                urllib3.connectionpool.ConnectionPool("localhost"),
+                "",
+                urllib3.exceptions.TimeoutError(),
+            )
+        }
+        mock_response.configure_mock(**attr)
+        mock_session_get.return_value = mock_response
+
+        with self.assertRaises(exceptions.SlowRetrievalError):
+            next(self.fetcher.fetch(self.url))
+        mock_response.stream.assert_called_once()
+
+    # Read/connect session timeout error
+    @patch.object(
+        urllib3.PoolManager,
+        "request",
+        side_effect=urllib3.exceptions.MaxRetryError(
+            urllib3.connectionpool.ConnectionPool("localhost"),
+            "",
+            urllib3.exceptions.TimeoutError(),
+        ),
+    )
+    def test_session_get_timeout(self, mock_session_get: Mock) -> None:
+        with self.assertRaises(exceptions.SlowRetrievalError):
+            self.fetcher.fetch(self.url)
+        mock_session_get.assert_called_once()
+
+    # Simple bytes download
+    def test_download_bytes(self) -> None:
+        data = self.fetcher.download_bytes(self.url, self.file_length)
+        self.assertEqual(self.file_contents, data)
+
+    # Download file smaller than required max_length
+    def test_download_bytes_upper_length(self) -> None:
+        data = self.fetcher.download_bytes(self.url, self.file_length + 4)
+        self.assertEqual(self.file_contents, data)
+
+    # Download a file bigger than expected
+    def test_download_bytes_length_mismatch(self) -> None:
+        with self.assertRaises(exceptions.DownloadLengthMismatchError):
+            self.fetcher.download_bytes(self.url, self.file_length - 4)
+
+    # Simple file download
+    def test_download_file(self) -> None:
+        with self.fetcher.download_file(
+            self.url, self.file_length
+        ) as temp_file:
+            temp_file.seek(0, io.SEEK_END)
+            self.assertEqual(self.file_length, temp_file.tell())
+
+    # Download file smaller than required max_length
+    def test_download_file_upper_length(self) -> None:
+        with self.fetcher.download_file(
+            self.url, self.file_length + 4
+        ) as temp_file:
+            temp_file.seek(0, io.SEEK_END)
+            self.assertEqual(self.file_length, temp_file.tell())
+
+    # Download a file bigger than expected
+    def test_download_file_length_mismatch(self) -> None:
+        with self.assertRaises(
+            exceptions.DownloadLengthMismatchError
+        ), self.fetcher.download_file(self.url, self.file_length - 4):
+            pass  # we never get here as download_file() raises
+
+
+# Run unit test.
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_formats.py b/tests/test_formats.py
deleted file mode 100755
index d34c2363cf..0000000000
--- a/tests/test_formats.py
+++ /dev/null
@@ -1,980 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_formats.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  October 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'formats.py'
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import datetime
-import sys
-import os
-
-import tuf
-import tuf.formats
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.util
-import six
-
-
-class TestFormats(unittest.TestCase):
-  def setUp(self):
-    pass
-
-
-
-  def tearDown(self):
-    pass
-
-
-
-  def test_schemas(self):
-    # Test conditions for valid schemas.
-    valid_schemas = {
-      'ISO8601_DATETIME_SCHEMA': (securesystemslib.formats.ISO8601_DATETIME_SCHEMA,
-                                  '1985-10-21T13:20:00Z'),
-
-      'UNIX_TIMESTAMP_SCHEMA': (securesystemslib.formats.UNIX_TIMESTAMP_SCHEMA, 499137720),
-
-      'HASH_SCHEMA': (securesystemslib.formats.HASH_SCHEMA, 'A4582BCF323BCEF'),
-
-      'HASHDICT_SCHEMA': (securesystemslib.formats.HASHDICT_SCHEMA,
-                          {'sha256': 'A4582BCF323BCEF'}),
-
-      'HEX_SCHEMA': (securesystemslib.formats.HEX_SCHEMA, 'A4582BCF323BCEF'),
-
-      'KEYID_SCHEMA': (securesystemslib.formats.KEYID_SCHEMA, '123456789abcdef'),
-
-      'KEYIDS_SCHEMA': (securesystemslib.formats.KEYIDS_SCHEMA,
-                        ['123456789abcdef', '123456789abcdef']),
-
-      'SCHEME_SCHEMA': (securesystemslib.formats.SCHEME_SCHEMA, 'rsassa-pss-sha256'),
-
-      'RELPATH_SCHEMA': (tuf.formats.RELPATH_SCHEMA, 'metadata/root/'),
-
-      'RELPATHS_SCHEMA': (tuf.formats.RELPATHS_SCHEMA,
-                          ['targets/role1/', 'targets/role2/']),
-
-      'PATH_SCHEMA': (securesystemslib.formats.PATH_SCHEMA, '/home/someuser/'),
-
-      'PATHS_SCHEMA': (securesystemslib.formats.PATHS_SCHEMA,
-                       ['/home/McFly/', '/home/Tannen/']),
-
-      'URL_SCHEMA': (securesystemslib.formats.URL_SCHEMA,
-                     'https://www.updateframework.com/'),
-
-      'VERSION_SCHEMA': (tuf.formats.VERSION_SCHEMA,
-                         {'major': 1, 'minor': 0, 'fix': 8}),
-
-      'LENGTH_SCHEMA': (tuf.formats.LENGTH_SCHEMA, 8),
-
-      'NAME_SCHEMA': (securesystemslib.formats.NAME_SCHEMA, 'Marty McFly'),
-
-      'BOOLEAN_SCHEMA': (securesystemslib.formats.BOOLEAN_SCHEMA, True),
-
-      'THRESHOLD_SCHEMA': (tuf.formats.THRESHOLD_SCHEMA, 1),
-
-      'ROLENAME_SCHEMA': (tuf.formats.ROLENAME_SCHEMA, 'Root'),
-
-      'RSAKEYBITS_SCHEMA': (securesystemslib.formats.RSAKEYBITS_SCHEMA, 4096),
-
-      'PASSWORD_SCHEMA': (securesystemslib.formats.PASSWORD_SCHEMA, 'secret'),
-
-      'PASSWORDS_SCHEMA': (securesystemslib.formats.PASSWORDS_SCHEMA, ['pass1', 'pass2']),
-
-      'KEYVAL_SCHEMA': (securesystemslib.formats.KEYVAL_SCHEMA,
-                        {'public': 'pubkey', 'private': 'privkey'}),
-
-      'KEY_SCHEMA': (securesystemslib.formats.KEY_SCHEMA,
-                     {'keytype': 'rsa',
-                      'scheme': 'rsassa-pss-sha256',
-                      'keyval': {'public': 'pubkey',
-                                 'private': 'privkey'}}),
-
-      'RSAKEY_SCHEMA': (securesystemslib.formats.RSAKEY_SCHEMA,
-                        {'keytype': 'rsa',
-                         'scheme': 'rsassa-pss-sha256',
-                         'keyid': '123456789abcdef',
-                         'keyval': {'public': 'pubkey',
-                                    'private': 'privkey'}}),
-
-      'TARGETS_FILEINFO_SCHEMA': (tuf.formats.TARGETS_FILEINFO_SCHEMA,
-                                  {'length': 1024,
-                                  'hashes': {'sha256': 'A4582BCF323BCEF'},
-                                  'custom': {'type': 'paintjob'}}),
-
-      'METADATA_FILEINFO_SCHEMA': (tuf.formats.METADATA_FILEINFO_SCHEMA,
-                                   {'length': 1024,
-                                    'hashes': {'sha256': 'A4582BCF323BCEF'},
-                                    'version': 1}),
-
-      'FILEDICT_SCHEMA': (tuf.formats.FILEDICT_SCHEMA,
-                          {'metadata/root.json': {'length': 1024,
-                                                 'hashes': {'sha256': 'ABCD123'},
-                                                 'custom': {'type': 'metadata'}}}),
-
-      'TARGETINFO_SCHEMA': (tuf.formats.TARGETINFO_SCHEMA,
-                            {'filepath': 'targets/target1.gif',
-                             'fileinfo': {'length': 1024,
-                                          'hashes': {'sha256': 'ABCD123'},
-                                          'custom': {'type': 'target'}}}),
-
-      'TARGETINFOS_SCHEMA': (tuf.formats.TARGETINFOS_SCHEMA,
-                             [{'filepath': 'targets/target1.gif',
-                               'fileinfo': {'length': 1024,
-                                            'hashes': {'sha256': 'ABCD123'},
-                                            'custom': {'type': 'target'}}}]),
-
-      'SIGNATURE_SCHEMA': (securesystemslib.formats.SIGNATURE_SCHEMA,
-                           {'keyid': '123abc',
-                            'sig': 'A4582BCF323BCEF'}),
-
-      'SIGNATURESTATUS_SCHEMA': (tuf.formats.SIGNATURESTATUS_SCHEMA,
-                                 {'threshold': 1,
-                                  'good_sigs': ['123abc'],
-                                  'bad_sigs': ['123abc'],
-                                  'unknown_sigs': ['123abc'],
-                                  'untrusted_sigs': ['123abc'],
-                                  'unknown_signing_schemes': ['123abc']}),
-
-      'SIGNABLE_SCHEMA': (tuf.formats.SIGNABLE_SCHEMA,
-                          {'signed': 'signer',
-                           'signatures': [{'keyid': '123abc',
-                                           'sig': 'A4582BCF323BCEF'}]}),
-
-      'KEYDICT_SCHEMA': (securesystemslib.formats.KEYDICT_SCHEMA,
-                         {'123abc': {'keytype': 'rsa',
-                                     'scheme': 'rsassa-pss-sha256',
-                                     'keyval': {'public': 'pubkey',
-                                                'private': 'privkey'}}}),
-
-      'KEYDB_SCHEMA': (tuf.formats.KEYDB_SCHEMA,
-                       {'123abc': {'keytype': 'rsa',
-                                   'scheme': 'rsassa-pss-sha256',
-                                   'keyid': '123456789abcdef',
-                                   'keyval': {'public': 'pubkey',
-                                              'private': 'privkey'}}}),
-
-      'SCPCONFIG_SCHEMA': (tuf.formats.SCPCONFIG_SCHEMA,
-                           {'general': {'transfer_module': 'scp',
-                                        'metadata_path': '/path/meta.json',
-                                        'targets_directory': '/targets'},
-                            'scp': {'host': 'http://localhost:8001',
-                                    'user': 'McFly',
-                                    'identity_file': '/home/.ssh/file',
-                                    'remote_directory': '/home/McFly'}}),
-
-      'RECEIVECONFIG_SCHEMA': (tuf.formats.RECEIVECONFIG_SCHEMA,
-                               {'general': {'transfer_module': 'scp',
-                                            'pushroots': ['/pushes'],
-                                            'repository_directory': '/repo',
-                                            'metadata_directory': '/repo/meta',
-                                            'targets_directory': '/repo/targets',
-                                            'backup_directory': '/repo/backup'}}),
-
-      'ROLE_SCHEMA': (tuf.formats.ROLE_SCHEMA,
-                      {'keyids': ['123abc'],
-                       'threshold': 1,
-                       'paths': ['path1/', 'path2']}),
-
-      'ROLEDICT_SCHEMA': (tuf.formats.ROLEDICT_SCHEMA,
-                          {'root': {'keyids': ['123abc'],
-                           'threshold': 1,
-                           'paths': ['path1/', 'path2']}}),
-
-      'ROOT_SCHEMA': (tuf.formats.ROOT_SCHEMA,
-                      {'_type': 'root',
-                       'spec_version': '1.0.0',
-                       'version': 8,
-                       'consistent_snapshot': False,
-                       'expires': '1985-10-21T13:20:00Z',
-                       'keys': {'123abc': {'keytype': 'rsa',
-                                           'scheme': 'rsassa-pss-sha256',
-                                           'keyval': {'public': 'pubkey',
-                                                      'private': 'privkey'}}},
-                       'roles': {'root': {'keyids': ['123abc'],
-                                          'threshold': 1,
-                                          'paths': ['path1/', 'path2']}}}),
-
-      'TARGETS_SCHEMA': (tuf.formats.TARGETS_SCHEMA,
-        {'_type': 'targets',
-         'spec_version': '1.0.0',
-         'version': 8,
-         'expires': '1985-10-21T13:20:00Z',
-         'targets': {'metadata/targets.json': {'length': 1024,
-                                              'hashes': {'sha256': 'ABCD123'},
-                                              'custom': {'type': 'metadata'}}},
-         'delegations': {'keys': {'123abc': {'keytype':'rsa',
-                                             'scheme': 'rsassa-pss-sha256',
-                                             'keyval': {'public': 'pubkey',
-                                                        'private': 'privkey'}}},
-                         'roles': [{'name': 'root', 'keyids': ['123abc'],
-                                    'threshold': 1,
-                                    'paths': ['path1/', 'path2']}]}}),
-
-      'SNAPSHOT_SCHEMA': (tuf.formats.SNAPSHOT_SCHEMA,
-        {'_type': 'snapshot',
-         'spec_version': '1.0.0',
-         'version': 8,
-         'expires': '1985-10-21T13:20:00Z',
-         'meta': {'snapshot.json': {'version': 1024}}}),
-
-      'TIMESTAMP_SCHEMA': (tuf.formats.TIMESTAMP_SCHEMA,
-        {'_type': 'timestamp',
-         'spec_version': '1.0.0',
-         'version': 8,
-         'expires': '1985-10-21T13:20:00Z',
-         'meta': {'metadattimestamp.json': {'length': 1024,
-                                            'hashes': {'sha256': 'AB1245'},
-                                            'version': 1}}}),
-
-      'MIRROR_SCHEMA': (tuf.formats.MIRROR_SCHEMA,
-        {'url_prefix': 'http://localhost:8001',
-         'metadata_path': 'metadata/',
-         'targets_path': 'targets/',
-         'confined_target_dirs': ['path1/', 'path2/'],
-         'custom': {'type': 'mirror'}}),
-
-      'MIRROR_SCHEMA_NO_CONFINED_TARGETS': (tuf.formats.MIRROR_SCHEMA,
-        {'url_prefix': 'http://localhost:8001',
-         'metadata_path': 'metadata/',
-         'targets_path': 'targets/',
-         'custom': {'type': 'mirror'}}),
-
-      'MIRRORDICT_SCHEMA': (tuf.formats.MIRRORDICT_SCHEMA,
-        {'mirror1': {'url_prefix': 'http://localhost:8001',
-         'metadata_path': 'metadata/',
-         'targets_path': 'targets/',
-         'confined_target_dirs': ['path1/', 'path2/'],
-         'custom': {'type': 'mirror'}}}),
-
-      'MIRRORLIST_SCHEMA': (tuf.formats.MIRRORLIST_SCHEMA,
-        {'_type': 'mirrors',
-         'version': 8,
-         'spec_version': '1.0.0',
-         'expires': '1985-10-21T13:20:00Z',
-         'mirrors': [{'url_prefix': 'http://localhost:8001',
-         'metadata_path': 'metadata/',
-         'targets_path': 'targets/',
-         'confined_target_dirs': ['path1/', 'path2/'],
-         'custom': {'type': 'mirror'}}]})}
-
-    # Iterate 'valid_schemas', ensuring each 'valid_schema' correctly matches
-    # its respective 'schema_type'.
-    for schema_name, (schema_type, valid_schema) in six.iteritems(valid_schemas):
-      if not schema_type.matches(valid_schema):
-        print('bad schema: ' + repr(valid_schema))
-      self.assertEqual(True, schema_type.matches(valid_schema))
-
-    # Test conditions for invalid schemas.
-    # Set the 'valid_schema' of 'valid_schemas' to an invalid
-    # value and test that it does not match 'schema_type'.
-    for schema_name, (schema_type, valid_schema) in six.iteritems(valid_schemas):
-      invalid_schema = 0xBAD
-      if isinstance(schema_type, securesystemslib.schema.Integer):
-        invalid_schema = 'BAD'
-      self.assertEqual(False, schema_type.matches(invalid_schema))
-
-
-  def test_specfication_version_schema(self):
-    """Test valid and invalid SPECIFICATION_VERSION_SCHEMAs, using examples
-    from 'regex101.com/r/Ly7O1x/3/', referenced by
-    'semver.org/spec/v2.0.0.html'. """
-    valid_schemas = [
-        "0.0.4",
-        "1.2.3",
-        "10.20.30",
-        "1.1.2-prerelease+meta",
-        "1.1.2+meta",
-        "1.1.2+meta-valid",
-        "1.0.0-alpha",
-        "1.0.0-beta",
-        "1.0.0-alpha.beta",
-        "1.0.0-alpha.beta.1",
-        "1.0.0-alpha.1",
-        "1.0.0-alpha0.valid",
-        "1.0.0-alpha.0valid",
-        "1.0.0-alpha-a.b-c-somethinglong+build.1-aef.1-its-okay",
-        "1.0.0-rc.1+build.1",
-        "2.0.0-rc.1+build.123",
-        "1.2.3-beta",
-        "10.2.3-DEV-SNAPSHOT",
-        "1.2.3-SNAPSHOT-123",
-        "1.0.0",
-        "2.0.0",
-        "1.1.7",
-        "2.0.0+build.1848",
-        "2.0.1-alpha.1227",
-        "1.0.0-alpha+beta",
-        "1.2.3----RC-SNAPSHOT.12.9.1--.12+788",
-        "1.2.3----R-S.12.9.1--.12+meta",
-        "1.2.3----RC-SNAPSHOT.12.9.1--.12",
-        "1.0.0+0.build.1-rc.10000aaa-kk-0.1",
-        "99999999999999999999999.999999999999999999.99999999999999999",
-        "1.0.0-0A.is.legal"]
-
-    for valid_schema in valid_schemas:
-      self.assertTrue(
-          tuf.formats.SPECIFICATION_VERSION_SCHEMA.matches(valid_schema),
-          "'{}' should match 'SPECIFICATION_VERSION_SCHEMA'.".format(
-          valid_schema))
-
-    invalid_schemas = [
-        "1",
-        "1.2",
-        "1.2.3-0123",
-        "1.2.3-0123.0123",
-        "1.1.2+.123",
-        "+invalid",
-        "-invalid",
-        "-invalid+invalid",
-        "-invalid.01",
-        "alpha",
-        "alpha.beta",
-        "alpha.beta.1",
-        "alpha.1",
-        "alpha+beta",
-        "alpha_beta",
-        "alpha.",
-        "alpha..",
-        "beta",
-        "1.0.0-alpha_beta",
-        "-alpha.",
-        "1.0.0-alpha..",
-        "1.0.0-alpha..1",
-        "1.0.0-alpha...1",
-        "1.0.0-alpha....1",
-        "1.0.0-alpha.....1",
-        "1.0.0-alpha......1",
-        "1.0.0-alpha.......1",
-        "01.1.1",
-        "1.01.1",
-        "1.1.01",
-        "1.2",
-        "1.2.3.DEV",
-        "1.2-SNAPSHOT",
-        "1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788",
-        "1.2-RC-SNAPSHOT",
-        "-1.0.3-gamma+b7718",
-        "+justmeta",
-        "9.8.7+meta+meta",
-        "9.8.7-whatever+meta+meta",
-        "99999999999999999999999.999999999999999999.99999999999999999----RC-SNAPSHOT.12.09.1--------------------------------..12"]
-
-    for invalid_schema in invalid_schemas:
-      self.assertFalse(
-          tuf.formats.SPECIFICATION_VERSION_SCHEMA.matches(invalid_schema),
-          "'{}' should not match 'SPECIFICATION_VERSION_SCHEMA'.".format(
-          invalid_schema))
-
-
-  def test_build_dict_conforming_to_schema(self):
-    # Test construction of a few metadata formats using
-    # build_dict_conforming_to_schema().
-
-    # Try the wrong type of schema object.
-    STRING_SCHEMA = securesystemslib.schema.AnyString()
-
-    with self.assertRaises(ValueError):
-      tuf.formats.build_dict_conforming_to_schema(
-          STRING_SCHEMA, string='some string')
-
-    # Try building Timestamp metadata.
-    spec_version = tuf.SPECIFICATION_VERSION
-    version = 8
-    length = 88
-    hashes = {'sha256': '3c7fe3eeded4a34'}
-    expires = '1985-10-21T13:20:00Z'
-    filedict = {'snapshot.json': {'length': length, 'hashes': hashes, 'version': 1}}
-
-
-    # Try with and without _type and spec_version, both of which are
-    # automatically populated if they are not included.
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches( # both
-        tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TIMESTAMP_SCHEMA,
-        _type='timestamp',
-        spec_version=spec_version,
-        version=version,
-        expires=expires,
-        meta=filedict)))
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches( # neither
-        tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TIMESTAMP_SCHEMA,
-        version=version,
-        expires=expires,
-        meta=filedict)))
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches( # one
-        tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TIMESTAMP_SCHEMA,
-        spec_version=spec_version,
-        version=version,
-        expires=expires,
-        meta=filedict)))
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches( # the other
-        tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TIMESTAMP_SCHEMA,
-        _type='timestamp',
-        version=version,
-        expires=expires,
-        meta=filedict)))
-
-
-    # Try test arguments for invalid Timestamp creation.
-    bad_spec_version = 123
-    bad_version = 'eight'
-    bad_expires = '2000'
-    bad_filedict = 123
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TIMESTAMP_SCHEMA,
-          _type='timestamp',
-          spec_version=bad_spec_version,
-          version=version,
-          expires=expires,
-          meta=filedict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TIMESTAMP_SCHEMA,
-          _type='timestamp',
-          spec_version=spec_version,
-          version=bad_version,
-          expires=expires,
-          meta=filedict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TIMESTAMP_SCHEMA,
-          _type='timestamp',
-          spec_version=spec_version,
-          version=version,
-          expires=bad_expires,
-          meta=filedict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TIMESTAMP_SCHEMA,
-          _type='timestamp',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          meta=bad_filedict)
-
-    with self.assertRaises(ValueError):
-      tuf.formats.build_dict_conforming_to_schema(123)
-
-
-    # Try building Root metadata.
-    consistent_snapshot = False
-
-    keydict = {'123abc': {'keytype': 'rsa',
-                          'scheme': 'rsassa-pss-sha256',
-                          'keyval': {'public': 'pubkey',
-                                     'private': 'privkey'}}}
-
-    roledict = {'root': {'keyids': ['123abc'],
-                         'threshold': 1,
-                         'paths': ['path1/', 'path2']}}
-
-
-    self.assertTrue(tuf.formats.ROOT_SCHEMA.matches(
-        tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROOT_SCHEMA,
-        _type='root',
-        spec_version=spec_version,
-        version=version,
-        expires=expires,
-        keys=keydict,
-        roles=roledict,
-        consistent_snapshot=consistent_snapshot)))
-
-
-    # Additional test arguments for invalid Root creation.
-    bad_keydict = 123
-    bad_roledict = 123
-
-    # TODO: Later on, write a test looper that takes pairs of key-value args
-    #       to substitute in on each run to shorten this.... There's a lot of
-    #       test code that looks like this, and it'd be easier to use a looper.
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA,
-          _type='root',
-          spec_version=bad_spec_version,
-          version=version,
-          expires=expires,
-          keys=keydict,
-          roles=roledict,
-          consistent_snapshot=consistent_snapshot)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA,
-          _type='root',
-          spec_version=spec_version,
-          version=bad_version,
-          expires=expires,
-          keys=keydict,
-          roles=roledict,
-          consistent_snapshot=consistent_snapshot)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA,
-          _type='root',
-          spec_version=spec_version,
-          version=version,
-          expires=bad_expires,
-          keys=keydict,
-          roles=roledict,
-          consistent_snapshot=consistent_snapshot)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA,
-          _type='root',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          keys=bad_keydict,
-          roles=roledict,
-          consistent_snapshot=consistent_snapshot)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA,
-          _type='root',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          keys=keydict,
-          roles=bad_roledict,
-          consistent_snapshot=consistent_snapshot)
-
-    with self.assertRaises(TypeError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.ROOT_SCHEMA, 'bad')
-
-    with self.assertRaises(ValueError):
-      tuf.formats.build_dict_conforming_to_schema(
-          'bad',
-          _type='root',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          keys=keydict,
-          roles=roledict,
-          consistent_snapshot=consistent_snapshot)
-
-
-
-    # Try building Snapshot metadata.
-    versiondict = {'targets.json' : {'version': version}}
-
-    self.assertTrue(tuf.formats.SNAPSHOT_SCHEMA.matches(
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.SNAPSHOT_SCHEMA,
-          _type='snapshot',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          meta=versiondict)))
-
-    # Additional test arguments for invalid Snapshot creation.
-    bad_versiondict = 123
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.SNAPSHOT_SCHEMA,
-          _type='snapshot',
-          spec_version=bad_spec_version,
-          version=version,
-          expires=expires,
-          meta=versiondict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.SNAPSHOT_SCHEMA,
-          _type='snapshot',
-          spec_version=spec_version,
-          version=bad_version,
-          expires=expires,
-          meta=versiondict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.SNAPSHOT_SCHEMA,
-          _type='snapshot',
-          spec_version=spec_version,
-          version=version,
-          expires=bad_expires,
-          meta=versiondict)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.SNAPSHOT_SCHEMA,
-          _type='snapshot',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          meta=bad_versiondict)
-
-
-
-    # Try building Targets metadata.
-    filedict = {'metadata/targets.json': {'length': 1024,
-                                         'hashes': {'sha256': 'ABCD123'},
-                                         'custom': {'type': 'metadata'}}}
-
-    delegations = {'keys': {'123abc': {'keytype':'rsa',
-                                       'scheme': 'rsassa-pss-sha256',
-                                       'keyval': {'public': 'pubkey',
-                                                  'private': 'privkey'}}},
-                   'roles': [{'name': 'root', 'keyids': ['123abc'],
-                              'threshold': 1, 'paths': ['path1/', 'path2']}]}
-
-
-    self.assertTrue(tuf.formats.TARGETS_SCHEMA.matches(
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          targets=filedict,
-          delegations=delegations)))
-
-    # Try with no delegations included (should work, since they're optional).
-    self.assertTrue(tuf.formats.TARGETS_SCHEMA.matches(
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          targets=filedict)))
-
-
-    # Additional test arguments for invalid Targets creation.
-    bad_filedict = 123
-    bad_delegations = 123
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=bad_version,
-          expires=expires,
-          targets=filedict,
-          delegations=delegations)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=version,
-          expires=bad_expires,
-          targets=filedict,
-          delegations=delegations)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          targets=bad_filedict,
-          delegations=delegations)
-
-    with self.assertRaises(securesystemslib.exceptions.FormatError):
-      tuf.formats.build_dict_conforming_to_schema(
-          tuf.formats.TARGETS_SCHEMA,
-          _type='targets',
-          spec_version=spec_version,
-          version=version,
-          expires=expires,
-          targets=filedict,
-          delegations=bad_delegations)
-
-
-
-  def test_expiry_string_to_datetime(self):
-    dt = tuf.formats.expiry_string_to_datetime('1985-10-21T13:20:00Z')
-    self.assertEqual(dt, datetime.datetime(1985, 10, 21, 13, 20, 0))
-    dt = tuf.formats.expiry_string_to_datetime('2038-01-19T03:14:08Z')
-    self.assertEqual(dt, datetime.datetime(2038, 1, 19, 3, 14, 8))
-
-    # First 3 fail via securesystemslib schema, last one because of strptime()
-    invalid_inputs = [
-      '2038-1-19T03:14:08Z', # leading zeros not optional
-      '2038-01-19T031408Z', # strict time parsing
-      '2038-01-19T03:14:08Z-06:00', # timezone not allowed
-      '2038-13-19T03:14:08Z', # too many months
-    ]
-    for invalid_input in invalid_inputs:
-      with self.assertRaises(securesystemslib.exceptions.FormatError):
-        tuf.formats.expiry_string_to_datetime(invalid_input)
-
-
-
-  def test_unix_timestamp_to_datetime(self):
-    # Test conditions for valid arguments.
-    UNIX_TIMESTAMP_SCHEMA = securesystemslib.formats.UNIX_TIMESTAMP_SCHEMA
-    self.assertTrue(datetime.datetime, tuf.formats.unix_timestamp_to_datetime(499137720))
-    datetime_object = datetime.datetime(1985, 10, 26, 1, 22)
-    self.assertEqual(datetime_object, tuf.formats.unix_timestamp_to_datetime(499137720))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.unix_timestamp_to_datetime, 'bad')
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.unix_timestamp_to_datetime, 1000000000000000000000)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.unix_timestamp_to_datetime, -1)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.unix_timestamp_to_datetime, ['5'])
-
-
-
-  def test_datetime_to_unix_timestamp(self):
-    # Test conditions for valid arguments.
-    datetime_object = datetime.datetime(2015, 10, 21, 19, 28)
-    self.assertEqual(1445455680, tuf.formats.datetime_to_unix_timestamp(datetime_object))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.datetime_to_unix_timestamp, 'bad')
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.datetime_to_unix_timestamp, 1000000000000000000000)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.datetime_to_unix_timestamp, ['1'])
-
-
-
-  def test_format_base64(self):
-    # Test conditions for valid arguments.
-    data = 'updateframework'.encode('utf-8')
-    self.assertEqual('dXBkYXRlZnJhbWV3b3Jr', tuf.formats.format_base64(data))
-    self.assertTrue(isinstance(tuf.formats.format_base64(data), six.string_types))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.format_base64, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.format_base64, True)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.format_base64, ['123'])
-
-
-  def test_parse_base64(self):
-    # Test conditions for valid arguments.
-    base64 = 'dXBkYXRlZnJhbWV3b3Jr'
-    self.assertEqual(b'updateframework', tuf.formats.parse_base64(base64))
-    self.assertTrue(isinstance(tuf.formats.parse_base64(base64), six.binary_type))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.parse_base64, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.parse_base64, True)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.parse_base64, ['123'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.formats.parse_base64, '/')
-
-
-
-  def test_make_signable(self):
-    # Test conditions for expected make_signable() behavior.
-    SIGNABLE_SCHEMA = tuf.formats.SIGNABLE_SCHEMA
-    root_file = os.path.join('repository_data', 'repository', 'metadata',
-        'root.json')
-    root = securesystemslib.util.load_json_file(root_file)
-    self.assertTrue(SIGNABLE_SCHEMA.matches(tuf.formats.make_signable(root)))
-    signable = tuf.formats.make_signable(root)
-    self.assertEqual('root', tuf.formats.check_signable_object_format(signable))
-
-    self.assertEqual(signable, tuf.formats.make_signable(signable))
-
-    # Test conditions for miscellaneous arguments.
-    self.assertTrue(SIGNABLE_SCHEMA.matches(tuf.formats.make_signable('123')))
-    self.assertTrue(SIGNABLE_SCHEMA.matches(tuf.formats.make_signable(123)))
-
-
-
-
-
-  def test_make_targets_fileinfo(self):
-    # Test conditions for valid arguments.
-    length = 1024
-    hashes = {'sha256': 'A4582BCF323BCEF', 'sha512': 'A4582BCF323BFEF'}
-    custom = {'type': 'paintjob'}
-
-    TARGETS_FILEINFO_SCHEMA = tuf.formats.TARGETS_FILEINFO_SCHEMA
-    make_targets_fileinfo = tuf.formats.make_targets_fileinfo
-    self.assertTrue(TARGETS_FILEINFO_SCHEMA.matches(make_targets_fileinfo(length, hashes, custom)))
-    self.assertTrue(TARGETS_FILEINFO_SCHEMA.matches(make_targets_fileinfo(length, hashes)))
-
-    # Test conditions for invalid arguments.
-    bad_length = 'bad'
-    bad_hashes = 'bad'
-    bad_custom = 'bad'
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_targets_fileinfo,
-      bad_length, hashes, custom)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_targets_fileinfo,
-      length, bad_hashes, custom)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_targets_fileinfo,
-      length, hashes, bad_custom)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_targets_fileinfo,
-      bad_length, hashes)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_targets_fileinfo,
-      length, bad_hashes)
-
-
-
-  def test_make_metadata_fileinfo(self):
-    # Test conditions for valid arguments.
-    length = 1024
-    hashes = {'sha256': 'A4582BCF323BCEF', 'sha512': 'A4582BCF323BFEF'}
-    version = 8
-
-    METADATA_FILEINFO_SCHEMA = tuf.formats.METADATA_FILEINFO_SCHEMA
-    make_metadata_fileinfo = tuf.formats.make_metadata_fileinfo
-    self.assertTrue(METADATA_FILEINFO_SCHEMA.matches(make_metadata_fileinfo(
-        version, length, hashes)))
-    self.assertTrue(METADATA_FILEINFO_SCHEMA.matches(make_metadata_fileinfo(version)))
-
-    # Test conditions for invalid arguments.
-    bad_version = 'bad'
-    bad_length = 'bad'
-    bad_hashes = 'bad'
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_metadata_fileinfo,
-        bad_version, length, hashes)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_metadata_fileinfo,
-        version, bad_length, hashes)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_metadata_fileinfo,
-        version, length, bad_hashes)
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_metadata_fileinfo,
-        bad_version)
-
-
-
-  def test_make_versioninfo(self):
-    # Test conditions for valid arguments.
-    version_number = 8
-    versioninfo = {'version': version_number}
-
-    VERSIONINFO_SCHEMA = tuf.formats.VERSIONINFO_SCHEMA
-    make_versioninfo = tuf.formats.make_versioninfo
-    self.assertTrue(VERSIONINFO_SCHEMA.matches(make_versioninfo(version_number)))
-
-    # Test conditions for invalid arguments.
-    bad_version_number = '8'
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, make_versioninfo, bad_version_number)
-
-
-
-
-
-  def test_expected_meta_rolename(self):
-    # Test conditions for valid arguments.
-    expected_rolename = tuf.formats.expected_meta_rolename
-
-    self.assertEqual('root', expected_rolename('Root'))
-    self.assertEqual('targets', expected_rolename('Targets'))
-    self.assertEqual('snapshot', expected_rolename('Snapshot'))
-    self.assertEqual('timestamp', expected_rolename('Timestamp'))
-    self.assertEqual('mirrors', expected_rolename('Mirrors'))
-    self.assertEqual('targets role', expected_rolename('Targets Role'))
-    self.assertEqual('root', expected_rolename('Root'))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, expected_rolename, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, expected_rolename, tuf.formats.ROOT_SCHEMA)
-    self.assertRaises(securesystemslib.exceptions.FormatError, expected_rolename, True)
-
-
-
-  def test_check_signable_object_format(self):
-    # Test condition for a valid argument.
-    root_file = os.path.join('repository_data', 'repository', 'metadata',
-        'root.json')
-    root = securesystemslib.util.load_json_file(root_file)
-    root = tuf.formats.make_signable(root)
-    self.assertEqual('root', tuf.formats.check_signable_object_format(root))
-
-    # Test conditions for invalid arguments.
-    check_signable = tuf.formats.check_signable_object_format
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, 'root')
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, tuf.formats.ROOT_SCHEMA)
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, True)
-
-    saved_type = root['signed']['_type']
-    del root['signed']['_type']
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, root)
-    root['signed']['_type'] = saved_type
-
-    root['signed']['_type'] = 'Root'
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, root)
-    root['signed']['_type'] = 'root'
-
-    del root['signed']['expires']
-    self.assertRaises(securesystemslib.exceptions.FormatError, check_signable, root)
-
-
-
-  def test_encode_canonical(self):
-    # Test conditions for valid arguments.
-    encode = securesystemslib.formats.encode_canonical
-    result = []
-    output = result.append
-    bad_output = 123
-
-    self.assertEqual('""', encode(""))
-    self.assertEqual('[1,2,3]', encode([1, 2, 3]))
-    self.assertEqual('[1,2,3]', encode([1,2,3]))
-    self.assertEqual('[]', encode([]))
-    self.assertEqual('{"A":[99]}', encode({"A": [99]}))
-    self.assertEqual('{"x":3,"y":2}', encode({"x": 3, "y": 2}))
-
-    self.assertEqual('{"x":3,"y":null}', encode({"x": 3, "y": None}))
-
-    # Condition where 'encode()' sends the result to the callable
-    # 'output'.
-    self.assertEqual(None, encode([1, 2, 3], output))
-    self.assertEqual('[1,2,3]', ''.join(result))
-
-    # Test conditions for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, encode, tuf.formats.ROOT_SCHEMA)
-    self.assertRaises(securesystemslib.exceptions.FormatError, encode, 8.0)
-    self.assertRaises(securesystemslib.exceptions.FormatError, encode, {"x": 8.0})
-    self.assertRaises(securesystemslib.exceptions.FormatError, encode, 8.0, output)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, encode, {"x": securesystemslib.exceptions.FormatError})
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_indefinite_freeze_attack.py b/tests/test_indefinite_freeze_attack.py
deleted file mode 100755
index e72299c456..0000000000
--- a/tests/test_indefinite_freeze_attack.py
+++ /dev/null
@@ -1,474 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_indefinite_freeze_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 10, 2012.
-
-  April 1, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools. -vladimir.v.diaz
-
-  March 9, 2016.
-    Additional test added relating to issue:
-    https://github.com/theupdateframework/tuf/issues/322
-    If a metadata file is not updated (no indication of a new version
-    available), the expiration of the pre-existing, locally trusted metadata
-    must still be detected. This additional test complains if such does not
-    occur, and accompanies code in tuf.client.updater:refresh() to detect it.
-    -sebastien.awwad
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate an indefinite freeze attack.  In an indefinite freeze attack,
-  attacker is able to respond to client's requests with the same, outdated
-  metadata without the client being aware.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import datetime
-import os
-import time
-import tempfile
-import shutil
-import json
-import logging
-import unittest
-import sys
-
-if sys.version_info >= (3, 3):
-  import unittest.mock as mock
-else:
-  import mock
-
-import tuf.formats
-import tuf.log
-import tuf.client.updater as updater
-import tuf.repository_tool as repo_tool
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.roledb
-import tuf.keydb
-import tuf.exceptions
-
-from tests import utils
-
-import securesystemslib
-import six
-
-# The repository tool is imported and logs console messages by default.  Disable
-# console log messages generated by this unit test.
-repo_tool.disable_console_log_messages()
-
-logger = logging.getLogger(__name__)
-
-
-class TestIndefiniteFreezeAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.keystore_directory = os.path.join(temporary_repository_root, 'keystore')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  def test_without_tuf(self):
-    # Without TUF, Test 1 and Test 2 are functionally equivalent, so we skip
-    # Test 1 and only perform Test 2.
-    #
-    # Test 1: If we find that the timestamp acquired from a mirror indicates
-    #         that there is no new snapshot file, and our current snapshot
-    #         file is expired, is it recognized as such?
-    # Test 2: If an expired timestamp is downloaded, is it recognized as such?
-
-
-    # Test 2 Begin:
-    #
-    # 'timestamp.json' specifies the latest version of the repository files.  A
-    # client should only accept the same version of this file up to a certain
-    # point, or else it cannot detect that new files are available for
-    # download.  Modify the repository's timestamp.json' so that it expires
-    # soon, copy it over to the client, and attempt to re-fetch the same
-    # expired version.
-    #
-    # A non-TUF client (without a way to detect when metadata has expired) is
-    # expected to download the same version, and thus the same outdated files.
-    # Verify that the downloaded 'timestamp.json' contains the same file size
-    # and hash as the one available locally.
-
-    timestamp_path = os.path.join(self.repository_directory, 'metadata',
-                                  'timestamp.json')
-
-    timestamp_metadata = securesystemslib.util.load_json_file(timestamp_path)
-    expiry_time = time.time() - 10
-    expires = tuf.formats.unix_timestamp_to_datetime(int(expiry_time))
-    expires = expires.isoformat() + 'Z'
-    timestamp_metadata['signed']['expires'] = expires
-    tuf.formats.check_signable_object_format(timestamp_metadata)
-
-    with open(timestamp_path, 'wb') as file_object:
-      # Explicitly specify the JSON separators for Python 2 + 3 consistency.
-      timestamp_content = \
-        json.dumps(timestamp_metadata, indent=1, separators=(',', ': '),
-                   sort_keys=True).encode('utf-8')
-      file_object.write(timestamp_content)
-
-    client_timestamp_path = os.path.join(self.client_directory, 'timestamp.json')
-    shutil.copy(timestamp_path, client_timestamp_path)
-
-    length, hashes = securesystemslib.util.get_file_details(timestamp_path)
-    fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-    url_file = os.path.join(url_prefix, 'metadata', 'timestamp.json')
-
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_timestamp_path)
-
-    length, hashes = securesystemslib.util.get_file_details(client_timestamp_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is equal to the current local file.
-    self.assertEqual(download_fileinfo, fileinfo)
-
-
-  def test_with_tuf(self):
-    # Three tests are conducted here.
-    #
-    # Test 1: If we find that the timestamp acquired from a mirror indicates
-    #         that there is no new snapshot file, and our current snapshot
-    #         file is expired, is it recognized as such?
-    # Test 2: If an expired timestamp is downloaded, is it recognized as such?
-    # Test 3: If an expired Snapshot is downloaded, is it (1) rejected? (2) the
-    # local Snapshot file deleted? (3) and is the client able to recover when
-    # given a new, valid Snapshot?
-
-
-    # Test 1 Begin:
-    #
-    # Addresses this issue: https://github.com/theupdateframework/tuf/issues/322
-    #
-    # If time has passed and our snapshot or targets role is expired, and
-    # the mirror whose timestamp we fetched doesn't indicate the existence of a
-    # new snapshot version, we still need to check that it's expired and notify
-    # the software update system / application / user. This test creates that
-    # scenario. The correct behavior is to raise an exception.
-    #
-    # Background: Expiration checks (updater._ensure_not_expired) were
-    # previously conducted when the metadata file was downloaded. If no new
-    # metadata file was downloaded, no expiry check would occur. In particular,
-    # while root was checked for expiration at the beginning of each
-    # updater.refresh() cycle, and timestamp was always checked because it was
-    # always fetched, snapshot and targets were never checked if the user did
-    # not receive evidence that they had changed. This bug allowed a class of
-    # freeze attacks.
-    # That bug was fixed and this test tests that fix going forward.
-
-    # Modify the timestamp file on the remote repository.  'timestamp.json'
-    # must be properly updated and signed with 'repository_tool.py', otherwise
-    # the client will reject it as invalid metadata.
-
-    # Load the repository
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Load the snapshot and timestamp keys
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    repository.timestamp.load_signing_key(timestamp_private)
-    key_file = os.path.join(self.keystore_directory, 'snapshot_key')
-    snapshot_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    repository.snapshot.load_signing_key(snapshot_private)
-
-    # sign snapshot with expiry in near future (earlier than e.g. timestamp)
-    expiry = int(time.time() + 60*60)
-    repository.snapshot.expiration = tuf.formats.unix_timestamp_to_datetime(
-        expiry)
-    repository.mark_dirty(['snapshot', 'timestamp'])
-    repository.writeall()
-
-    # And move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Refresh metadata on the client. For this refresh, all data is not expired.
-    logger.info('Test: Refreshing #1 - Initial metadata refresh occurring.')
-    self.repository_updater.refresh()
-
-    logger.info('Test: Refreshing #2 - refresh after local snapshot expiry.')
-
-    # mock current time to one second after snapshot expiry
-    mock_time = mock.Mock()
-    mock_time.return_value = expiry + 1
-    with mock.patch('time.time', mock_time):
-      try:
-        self.repository_updater.refresh() # We expect this to fail!
-
-      except tuf.exceptions.ExpiredMetadataError:
-        logger.info('Test: Refresh #2 - failed as expected. Expired local'
-                    ' snapshot case generated a tuf.exceptions.ExpiredMetadataError'
-                    ' exception as expected. Test pass.')
-
-      else:
-        self.fail('TUF failed to detect expired stale snapshot metadata. Freeze'
-          ' attack successful.')
-
-
-
-
-    # Test 2 Begin:
-    #
-    # 'timestamp.json' specifies the latest version of the repository files.
-    # A client should only accept the same version of this file up to a certain
-    # point, or else it cannot detect that new files are available for download.
-    # Modify the repository's 'timestamp.json' so that it is about to expire,
-    # copy it over the to client, wait a moment until it expires, and attempt to
-    # re-fetch the same expired version.
-
-    # The same scenario as in test_without_tuf() is followed here, except with
-    # a TUF client. The TUF client performs a refresh of top-level metadata,
-    # which includes 'timestamp.json', and should detect a freeze attack if
-    # the repository serves an outdated 'timestamp.json'.
-
-    # Modify the timestamp file on the remote repository.  'timestamp.json'
-    # must be properly updated and signed with 'repository_tool.py', otherwise
-    # the client will reject it as invalid metadata.  The resulting
-    # 'timestamp.json' should be valid metadata, but expired (as intended).
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-
-    repository.timestamp.load_signing_key(timestamp_private)
-
-    # Set timestamp metadata to expire soon.
-    # We cannot set the timestamp expiration with
-    # 'repository.timestamp.expiration = ...' with already-expired timestamp
-    # metadata because of consistency checks that occur during that assignment.
-    expiry_time = time.time() + 60*60
-    datetime_object = tuf.formats.unix_timestamp_to_datetime(int(expiry_time))
-    repository.timestamp.expiration = datetime_object
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # mock current time to one second after timestamp expiry
-    mock_time = mock.Mock()
-    mock_time.return_value = expiry_time + 1
-    with mock.patch('time.time', mock_time):
-      try:
-        self.repository_updater.refresh() # We expect NoWorkingMirrorError.
-
-      except tuf.exceptions.NoWorkingMirrorError as e:
-        # Make sure the contained error is ExpiredMetadataError
-        for mirror_url, mirror_error in six.iteritems(e.mirror_errors):
-          self.assertTrue(isinstance(mirror_error, tuf.exceptions.ExpiredMetadataError))
-
-      else:
-        self.fail('TUF failed to detect expired, stale timestamp metadata.'
-          ' Freeze attack successful.')
-
-
-
-
-    # Test 3 Begin:
-    #
-    # Serve the client expired Snapshot.  The client should reject the given,
-    # expired Snapshot and the locally trusted one, which should now be out of
-    # date.
-    # After the attack, attempt to re-issue a valid Snapshot to verify that
-    # the client is still able to update. A bug previously caused snapshot
-    # expiration or replay to result in an indefinite freeze; see
-    # github.com/theupdateframework/tuf/issues/736
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    ts_key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    snapshot_key_file = os.path.join(self.keystore_directory, 'snapshot_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(
-        ts_key_file, 'password')
-    snapshot_private = repo_tool.import_ed25519_privatekey_from_file(
-        snapshot_key_file, 'password')
-
-    repository.timestamp.load_signing_key(timestamp_private)
-    repository.snapshot.load_signing_key(snapshot_private)
-
-    # Set ts to expire in 1 month.
-    ts_expiry_time = time.time() + 2630000
-
-    # Set snapshot to expire in 1 hour.
-    snapshot_expiry_time = time.time() + 60*60
-
-    ts_datetime_object = tuf.formats.unix_timestamp_to_datetime(
-        int(ts_expiry_time))
-    snapshot_datetime_object = tuf.formats.unix_timestamp_to_datetime(
-        int(snapshot_expiry_time))
-    repository.timestamp.expiration = ts_datetime_object
-    repository.snapshot.expiration = snapshot_datetime_object
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # mock current time to one second after snapshot expiry
-    mock_time = mock.Mock()
-    mock_time.return_value = snapshot_expiry_time + 1
-    with mock.patch('time.time', mock_time):
-      try:
-        # We expect the following refresh() to raise a NoWorkingMirrorError.
-        self.repository_updater.refresh()
-
-      except tuf.exceptions.NoWorkingMirrorError as e:
-        # Make sure the contained error is ExpiredMetadataError
-        for mirror_url, mirror_error in six.iteritems(e.mirror_errors):
-          self.assertTrue(isinstance(mirror_error, tuf.exceptions.ExpiredMetadataError))
-          self.assertTrue(mirror_url.endswith('snapshot.json'))
-
-      else:
-        self.fail('TUF failed to detect expired, stale Snapshot metadata.'
-          ' Freeze attack successful.')
-
-    # The client should have rejected the malicious Snapshot metadata, and
-    # distrusted the local snapshot file that is no longer valid.
-    self.assertTrue('snapshot' not in self.repository_updater.metadata['current'])
-    self.assertEqual(sorted(['root', 'targets', 'timestamp']),
-        sorted(self.repository_updater.metadata['current']))
-
-    # Verify that the client is able to recover from the malicious Snapshot.
-    # Re-sign a valid Snapshot file that the client should accept.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    repository.timestamp.load_signing_key(timestamp_private)
-    repository.snapshot.load_signing_key(snapshot_private)
-
-    # Set snapshot to expire in 1 month.
-    snapshot_expiry_time = time.time() + 2630000
-
-    snapshot_datetime_object = tuf.formats.unix_timestamp_to_datetime(
-        int(snapshot_expiry_time))
-    repository.snapshot.expiration = snapshot_datetime_object
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Verify that the client accepts the valid metadata file.
-    self.repository_updater.refresh()
-    self.assertTrue('snapshot' in self.repository_updater.metadata['current'])
-    self.assertEqual(sorted(['root', 'targets', 'timestamp', 'snapshot']),
-        sorted(self.repository_updater.metadata['current']))
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_key_revocation_integration.py b/tests/test_key_revocation_integration.py
deleted file mode 100755
index ed0909b14f..0000000000
--- a/tests/test_key_revocation_integration.py
+++ /dev/null
@@ -1,503 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2016 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_key_revocation_integration.py
-
-<Author>
-  Vladimir Diaz.
-
-<Started>
-  April 28, 2016.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Integration test that verifies top-level roles are updated after all of their
-  keys have been revoked. There are unit tests in 'test_repository_tool.py'
-  that verify key and role revocation of specific roles, but these should be
-  expanded to verify key revocations over the span of multiple snapshots of the
-  repository.
-
-  The 'unittest_toolbox.py' module was created to provide additional testing
-  tools, such as automatically deleting temporary files created in test cases.
-  For more information on the additional testing tools, see
-  'tests/unittest_toolbox.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import shutil
-import tempfile
-import logging
-import unittest
-import sys
-
-import tuf
-import tuf.log
-import tuf.roledb
-import tuf.keydb
-import tuf.repository_tool as repo_tool
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.client.updater as updater
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-repo_tool.disable_console_log_messages()
-
-
-class TestKeyRevocation(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).  Test
-    # cases will request metadata and target files that have been pre-generated
-    # in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of
-    # 'test_key_revocation.py' assume the pre-generated metadata files have a
-    # specific structure, such as a delegated role, three target files, five
-    # key files, etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf.tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-    original_client = os.path.join(original_repository_files, 'client')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.keystore_directory = \
-      os.path.join(temporary_repository_root, 'keystore')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.client_metadata = os.path.join(self.client_directory,
-        self.repository_name, 'metadata')
-    self.client_metadata_current = os.path.join(self.client_metadata, 'current')
-    self.client_metadata_previous = os.path.join(self.client_metadata, 'previous')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-      + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Creating repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-    # Metadata role keys are needed by the test cases to make changes to the
-    # repository (e.g., adding a new target file to 'targets.json' and then
-    # requesting a refresh()).
-    self.role_keys = _load_role_keys(self.keystore_directory)
-
-
-
-  def tearDown(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  # UNIT TESTS.
-  def test_timestamp_key_revocation(self):
-    # First verify that the Timestamp role is properly signed.  Calling
-    # refresh() should not raise an exception.
-    self.repository_updater.refresh()
-
-    # There should only be one key for Timestamp.  Store the keyid to later
-    # verify that it has been revoked.
-    timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', self.repository_name)
-    timestamp_keyid = timestamp_roleinfo['keyids']
-    self.assertEqual(len(timestamp_keyid), 1)
-
-    # Remove 'timestamp_keyid' and add a new key.  Verify that the client
-    # detects the removal and addition of keys to the Timestamp role.
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.timestamp.remove_verification_key(self.role_keys['timestamp']['public'])
-    repository.timestamp.add_verification_key(self.role_keys['snapshot']['public'])
-
-    # Root, Snapshot, and Timestamp must be rewritten.  Root must be written
-    # because the timestamp key has changed; Snapshot, because  Root has
-    # changed, and ...
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.writeall()
-
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # The client performs a refresh of top-level metadata to get the latest
-    # changes.
-    self.repository_updater.refresh()
-
-    # Verify that the client is able to recognize that a new set of keys have
-    # been added to the Timestamp role.
-    # First, has 'timestamp_keyid' been removed?
-    timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', self.repository_name)
-    self.assertTrue(timestamp_keyid not in timestamp_roleinfo['keyids'])
-
-    # Second, is Timestamp's new key correct?  The new key should be Snapshot's.
-
-    self.assertEqual(len(timestamp_roleinfo['keyids']), 1)
-    snapshot_roleinfo = tuf.roledb.get_roleinfo('snapshot', self.repository_name)
-    self.assertEqual(timestamp_roleinfo['keyids'], snapshot_roleinfo['keyids'])
-
-
-
-  def test_snapshot_key_revocation(self):
-    # First verify that the Snapshot role is properly signed.  Calling
-    # refresh() should not raise an exception.
-    self.repository_updater.refresh()
-
-    # There should only be one key for Snapshot.  Store the keyid to later
-    # verify that it has been revoked.
-    snapshot_roleinfo = tuf.roledb.get_roleinfo('snapshot', self.repository_name)
-    snapshot_keyid = snapshot_roleinfo['keyids']
-    self.assertEqual(len(snapshot_keyid), 1)
-
-
-    # Remove 'snapshot_keyid' and add a new key.  Verify that the client
-    # detects the removal and addition of keys to the Snapshot role.
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.snapshot.remove_verification_key(self.role_keys['snapshot']['public'])
-    repository.snapshot.add_verification_key(self.role_keys['timestamp']['public'])
-
-    # Root, Snapshot, and Timestamp must be rewritten.  Root must be written
-    # because the timestamp key has changed; Snapshot, because  Root has
-    # changed, and Timesamp, because it must sign its metadata with a new key.
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    # Note: we added Timestamp's key to the Snapshot role.
-    repository.snapshot.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # The client performs a refresh of top-level metadata to get the latest
-    # changes.
-    self.repository_updater.refresh()
-
-    # Verify that the client is able to recognize that a new set of keys have
-    # been added to the Snapshot role.
-    # First, has 'snapshot_keyid' been removed?
-    snapshot_roleinfo = tuf.roledb.get_roleinfo('snapshot', self.repository_name)
-    self.assertTrue(snapshot_keyid not in snapshot_roleinfo['keyids'])
-
-    # Second, is Snapshot's new key correct?  The new key should be
-    # Timestamp's.
-    self.assertEqual(len(snapshot_roleinfo['keyids']), 1)
-    timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', self.repository_name)
-    self.assertEqual(snapshot_roleinfo['keyids'], timestamp_roleinfo['keyids'])
-
-
-
-
-
-  def test_targets_key_revocation(self):
-    # First verify that the Targets role is properly signed.  Calling
-    # refresh() should not raise an exception.
-    self.repository_updater.refresh()
-
-    # There should only be one key for Targets.  Store the keyid to later
-    # verify that it has been revoked.
-    targets_roleinfo = tuf.roledb.get_roleinfo('targets', self.repository_name)
-    targets_keyid = targets_roleinfo['keyids']
-    self.assertEqual(len(targets_keyid), 1)
-
-    # Remove 'targets_keyid' and add a new key.  Verify that the client
-    # detects the removal and addition of keys to the Targets role.
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.targets.remove_verification_key(self.role_keys['targets']['public'])
-    repository.targets.add_verification_key(self.role_keys['timestamp']['public'])
-
-    # Root, Snapshot, and Timestamp must be rewritten.  Root must be written
-    # because the timestamp key has changed; Snapshot, because  Root has
-    # changed, and Timestamp because it must sign its metadata with a new key.
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    # Note: we added Timestamp's key to the Targets role.
-    repository.targets.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # The client performs a refresh of top-level metadata to get the latest
-    # changes.
-    self.repository_updater.refresh()
-
-    # Verify that the client is able to recognize that a new set of keys have
-    # been added to the Targets role.
-    # First, has 'targets_keyid' been removed?
-    targets_roleinfo = tuf.roledb.get_roleinfo('targets', self.repository_name)
-    self.assertTrue(targets_keyid not in targets_roleinfo['keyids'])
-
-    # Second, is Targets's new key correct?  The new key should be
-    # Timestamp's.
-    self.assertEqual(len(targets_roleinfo['keyids']), 1)
-    timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', self.repository_name)
-    self.assertEqual(targets_roleinfo['keyids'], timestamp_roleinfo['keyids'])
-
-
-
-  def test_root_key_revocation(self):
-    # First verify that the Root role is properly signed.  Calling
-    # refresh() should not raise an exception.
-    self.repository_updater.refresh()
-
-    # There should only be one key for Root.  Store the keyid to later verify
-    # that it has been revoked.
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self.repository_name)
-    root_keyid = root_roleinfo['keyids']
-    self.assertEqual(len(root_keyid), 1)
-
-    # Remove 'root_keyid' and add a new key.  Verify that the client detects
-    # the removal and addition of keys to the Root file.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    repository.root.add_verification_key(self.role_keys['snapshot']['public'])
-    repository.root.add_verification_key(self.role_keys['targets']['public'])
-    repository.root.add_verification_key(self.role_keys['timestamp']['public'])
-
-    # Root, Snapshot, and Timestamp must be rewritten.  Root must be written
-    # because the timestamp key has changed; Snapshot, because  Root has
-    # changed, and Timestamp because it must sign its metadata with a new key.
-    repository.root.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.root.load_signing_key(self.role_keys['targets']['private'])
-    repository.root.load_signing_key(self.role_keys['timestamp']['private'])
-
-    # Note: We added the Snapshot, Targets, and Timestampkeys to the Root role.
-    # The Root's expected private key has not been loaded yet, so that we can
-    # verify that refresh() correctly raises a
-    # securesystemslib.exceptions.BadSignatureError exception.
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    # Root's version number = 2 after the following writeall().
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Note well: The client should reject the new Root file because the
-    # repository has revoked the only Root key that the client trusts.
-    try:
-      self.repository_updater.refresh()
-
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_exception in exception.mirror_errors.values():
-        self.assertTrue(isinstance(mirror_exception,
-            securesystemslib.exceptions.BadSignatureError))
-
-    repository.root.add_verification_key(self.role_keys['root']['public'])
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-
-    # root, snapshot, and timestamp should be dirty
-    repository.dirty_roles()
-    repository.write('root', increment_version_number=False)
-    repository.write('snapshot')
-    repository.write('timestamp')
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Root's version number = 2...
-    # The client successfully performs a refresh of top-level metadata to get
-    # the latest changes.
-    self.repository_updater.refresh()
-    self.assertEqual(self.repository_updater.metadata['current']['root']['version'], 2)
-
-    # Revoke the snapshot and targets keys (added to root) so that multiple
-    # snapshots are created.  Discontinue signing with the old root key now
-    # that the client has successfully updated (note: the old Root key
-    # was revoked, but the repository continued signing with it to allow
-    # the client to update).
-    repository.root.remove_verification_key(self.role_keys['root']['public'])
-    repository.root.unload_signing_key(self.role_keys['root']['private'])
-    repository.root.remove_verification_key(self.role_keys['snapshot']['public'])
-    repository.root.unload_signing_key(self.role_keys['snapshot']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Root's version number = 3...
-    self.repository_updater.refresh()
-
-    repository.root.remove_verification_key(self.role_keys['targets']['public'])
-    repository.root.unload_signing_key(self.role_keys['targets']['private'])
-
-    # The following should fail because root rotation requires the new Root
-    # to be signed with the previous self.role_keys['targets'] key.
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError,
-        repository.writeall)
-
-    repository.root.load_signing_key(self.role_keys['targets']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Root's version number = 4...
-    self.repository_updater.refresh()
-    self.assertEqual(self.repository_updater.metadata['current']['root']['version'], 4)
-
-    # Verify that the client is able to recognize that a new set of keys have
-    # been added to the Root role.
-    # First, has 'root_keyid' been removed?
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self.repository_name)
-    self.assertTrue(root_keyid not in root_roleinfo['keyids'])
-
-    # Second, is Root's new key correct?  The new key should be
-    # Timestamp's.
-    self.assertEqual(len(root_roleinfo['keyids']), 1)
-    timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', self.repository_name)
-    self.assertEqual(root_roleinfo['keyids'], timestamp_roleinfo['keyids'])
-
-
-
-def _load_role_keys(keystore_directory):
-
-  # Populating 'self.role_keys' by importing the required public and private
-  # keys of 'tuf/tests/repository_data/'.  The role keys are needed when
-  # modifying the remote repository used by the test cases in this unit test.
-  # The pre-generated key files in 'repository_data/keystore' are all encrypted with
-  # a 'password' passphrase.
-  EXPECTED_KEYFILE_PASSWORD = 'password'
-
-  # Store and return the cryptography keys of the top-level roles, including 1
-  # delegated role.
-  role_keys = {}
-
-  root_key_file = os.path.join(keystore_directory, 'root_key')
-  targets_key_file = os.path.join(keystore_directory, 'targets_key')
-  snapshot_key_file = os.path.join(keystore_directory, 'snapshot_key')
-  timestamp_key_file = os.path.join(keystore_directory, 'timestamp_key')
-  delegation_key_file = os.path.join(keystore_directory, 'delegation_key')
-
-  role_keys = {'root': {}, 'targets': {}, 'snapshot': {}, 'timestamp': {},
-               'role1': {}}
-
-  # Import the top-level and delegated role public keys.
-  role_keys['root']['public'] = \
-    repo_tool.import_rsa_publickey_from_file(root_key_file+'.pub')
-  role_keys['targets']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(targets_key_file + '.pub')
-  role_keys['snapshot']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(snapshot_key_file + '.pub')
-  role_keys['timestamp']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_key_file + '.pub')
-  role_keys['role1']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(delegation_key_file + '.pub')
-
-  # Import the private keys of the top-level and delegated roles.
-  role_keys['root']['private'] = \
-    repo_tool.import_rsa_privatekey_from_file(root_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['targets']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(targets_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['snapshot']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(snapshot_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['timestamp']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(timestamp_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['role1']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(delegation_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-
-  return role_keys
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_keydb.py b/tests/test_keydb.py
deleted file mode 100755
index 1db0b421db..0000000000
--- a/tests/test_keydb.py
+++ /dev/null
@@ -1,415 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_keydb.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  October 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'keydb.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import logging
-import sys
-
-import tuf
-import tuf.formats
-import securesystemslib.keys
-import securesystemslib.settings
-import tuf.keydb
-import tuf.log
-
-from tests import utils
-
-logger = logging.getLogger(__name__)
-
-
-# Generate the three keys to use in our test cases.
-KEYS = []
-for junk in range(3):
-  rsa_key = securesystemslib.keys.generate_rsa_key(2048)
-  rsa_key['keyid_hash_algorithms'] = securesystemslib.settings.HASH_ALGORITHMS
-  KEYS.append(rsa_key)
-
-
-
-class TestKeydb(unittest.TestCase):
-  def setUp(self):
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def tearDown(self):
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_create_keydb(self):
-    # Test condition for normal behaviour.
-    repository_name = 'example_repository'
-
-    # The keydb dictionary should contain only the 'default' repository entry.
-    self.assertTrue('default' in tuf.keydb._keydb_dict)
-    self.assertEqual(1, len(tuf.keydb._keydb_dict))
-
-
-    tuf.keydb.create_keydb(repository_name)
-    self.assertEqual(2, len(tuf.keydb._keydb_dict))
-
-    # Verify that a keydb cannot be created for a name that already exists.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.create_keydb, repository_name)
-
-    # Ensure that the key database for 'example_repository' is deleted so that
-    # the key database is returned to its original, default state.
-    tuf.keydb.remove_keydb(repository_name)
-
-
-
-  def test_remove_keydb(self):
-    # Test condition for expected behaviour.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.remove_keydb, 'default')
-
-    tuf.keydb.create_keydb(repository_name)
-    tuf.keydb.remove_keydb(repository_name)
-
-    # tuf.keydb.remove_keydb() logs a warning if a keydb for a non-existent
-    # repository is specified.
-    tuf.keydb.remove_keydb(repository_name)
-
-    # Test condition for improperly formatted argument, and unexpected argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_keydb, 123)
-    self.assertRaises(TypeError, tuf.keydb.remove_keydb, rsakey, 123)
-
-
-
-  def test_clear_keydb(self):
-    # Test condition ensuring 'clear_keydb()' clears the keydb database.
-    # Test the length of the keydb before and after adding a key.
-    self.assertEqual(0, len(tuf.keydb._keydb_dict['default']))
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    tuf.keydb._keydb_dict['default'][keyid] = rsakey
-    self.assertEqual(1, len(tuf.keydb._keydb_dict['default']))
-    tuf.keydb.clear_keydb()
-    self.assertEqual(0, len(tuf.keydb._keydb_dict['default']))
-
-    # Test condition for unexpected argument.
-    self.assertRaises(TypeError, tuf.keydb.clear_keydb, 'default', False, 'unexpected_argument')
-
-    # Test condition for improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.clear_keydb, 0)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.clear_keydb, 'default', 0)
-
-    # Test condition for non-existent repository name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.clear_keydb, 'non-existent')
-
-    # Test condition for keys added to a non-default key database.  Unlike the
-    # test conditions above, this test makes use of the public functions
-    # add_key(), create_keydb(), and get_key() to more easily verify
-    # clear_keydb()'s behaviour.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    repository_name = 'example_repository'
-    tuf.keydb.create_keydb(repository_name)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid, repository_name)
-    tuf.keydb.add_key(rsakey, keyid, repository_name)
-    self.assertEqual(rsakey, tuf.keydb.get_key(keyid, repository_name))
-
-    tuf.keydb.clear_keydb(repository_name)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid, repository_name)
-
-    # Remove 'repository_name' from the key database to revert it back to its
-    # original, default state (i.e., only the 'default' repository exists).
-    tuf.keydb.remove_keydb(repository_name)
-
-
-
-  def test_get_key(self):
-    # Test conditions using valid 'keyid' arguments.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    tuf.keydb._keydb_dict['default'][keyid] = rsakey
-    rsakey2 = KEYS[1]
-    keyid2 = KEYS[1]['keyid']
-    tuf.keydb._keydb_dict['default'][keyid2] = rsakey2
-
-    self.assertEqual(rsakey, tuf.keydb.get_key(keyid))
-    self.assertEqual(rsakey2, tuf.keydb.get_key(keyid2))
-    self.assertNotEqual(rsakey2, tuf.keydb.get_key(keyid))
-    self.assertNotEqual(rsakey, tuf.keydb.get_key(keyid2))
-
-    # Test conditions using invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, ['123'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, {'keyid': '123'})
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, '')
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.get_key, keyid, 123)
-
-    # Test condition using a 'keyid' that has not been added yet.
-    keyid3 = KEYS[2]['keyid']
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid3)
-
-    # Test condition for a key added to a non-default repository.
-    repository_name = 'example_repository'
-    rsakey3 = KEYS[2]
-    tuf.keydb.create_keydb(repository_name)
-    tuf.keydb.add_key(rsakey3, keyid3, repository_name)
-
-    # Test condition for a key added to a non-existent repository.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.get_key,
-                      keyid, 'non-existent')
-
-    # Verify that 'rsakey3' is added to the expected repository name.
-    # If not supplied, the 'default' repository name is searched.
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid3)
-    self.assertEqual(rsakey3, tuf.keydb.get_key(keyid3, repository_name))
-
-    # Remove the 'example_repository' so that other test functions have access
-    # to a default state of the keydb.
-    tuf.keydb.remove_keydb(repository_name)
-
-
-
-  def test_add_key(self):
-    # Test conditions using valid 'keyid' arguments.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    rsakey2 = KEYS[1]
-    keyid2 = KEYS[1]['keyid']
-    rsakey3 = KEYS[2]
-    keyid3 = KEYS[2]['keyid']
-    self.assertEqual(None, tuf.keydb.add_key(rsakey, keyid))
-    self.assertEqual(None, tuf.keydb.add_key(rsakey2, keyid2))
-    self.assertEqual(None, tuf.keydb.add_key(rsakey3))
-
-    self.assertEqual(rsakey, tuf.keydb.get_key(keyid))
-    self.assertEqual(rsakey2, tuf.keydb.get_key(keyid2))
-    self.assertEqual(rsakey3, tuf.keydb.get_key(keyid3))
-
-    # Test conditions using arguments with invalid formats.
-    tuf.keydb.clear_keydb()
-    rsakey3['keytype'] = 'bad_keytype'
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, None, keyid)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, '', keyid)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, ['123'], keyid)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, {'a': 'b'}, keyid)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey, {'keyid': ''})
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey, False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey, ['keyid'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey3, keyid3)
-    rsakey3['keytype'] = 'rsa'
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.add_key, rsakey3, keyid3, 123)
-
-    # Test conditions where keyid does not match the rsakey.
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.keydb.add_key, rsakey, keyid2)
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.keydb.add_key, rsakey2, keyid)
-
-    # Test conditions using keyids that have already been added.
-    tuf.keydb.add_key(rsakey, keyid)
-    tuf.keydb.add_key(rsakey2, keyid2)
-    self.assertRaises(tuf.exceptions.KeyAlreadyExistsError, tuf.keydb.add_key, rsakey)
-    self.assertRaises(tuf.exceptions.KeyAlreadyExistsError, tuf.keydb.add_key, rsakey2)
-
-    # Test condition for key added to the keydb of a non-default repository.
-    repository_name = 'example_repository'
-    tuf.keydb.create_keydb(repository_name)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid3, repository_name)
-    tuf.keydb.add_key(rsakey3, keyid3, repository_name)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid3)
-    self.assertEqual(rsakey3, tuf.keydb.get_key(keyid3, repository_name))
-
-    # Test condition for key added to the keydb of a non-existent repository.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.add_key,
-                      rsakey3, keyid3, 'non-existent')
-
-    # Reset the keydb to its original, default state.  Other test functions
-    # expect only the 'default' repository to exist.
-    tuf.keydb.remove_keydb(repository_name)
-
-
-
-  def test_remove_key(self):
-    # Test conditions using valid keyids.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    rsakey2 = KEYS[1]
-    keyid2 = KEYS[1]['keyid']
-    rsakey3 = KEYS[2]
-    keyid3 = KEYS[2]['keyid']
-    tuf.keydb.add_key(rsakey, keyid)
-    tuf.keydb.add_key(rsakey2, keyid2)
-    tuf.keydb.add_key(rsakey3, keyid3)
-
-    self.assertEqual(None, tuf.keydb.remove_key(keyid))
-    self.assertEqual(None, tuf.keydb.remove_key(keyid2))
-
-    # Ensure the keys were actually removed.
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid2)
-
-    # Test for 'keyid' not in keydb.
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.remove_key, keyid)
-
-    # Test condition for unknown key argument.
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.remove_key, '1')
-
-    # Test condition for removal of keys from a non-default repository.
-    repository_name = 'example_repository'
-    tuf.keydb.create_keydb(repository_name)
-    tuf.keydb.add_key(rsakey, keyid, repository_name)
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.keydb.remove_key, keyid, 'non-existent')
-    tuf.keydb.remove_key(keyid, repository_name)
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.remove_key, keyid, repository_name)
-
-    # Reset the keydb so that subsequent tests have access to the original,
-    # default keydb.
-    tuf.keydb.remove_keydb(repository_name)
-
-    # Test conditions for arguments with invalid formats.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, '')
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, ['123'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, keyid, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.keydb.remove_key, {'bad': '123'})
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.keydb.remove_key, rsakey3)
-
-
-
-  def test_create_keydb_from_root_metadata(self):
-    # Test condition using a valid 'root_metadata' argument.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    rsakey2 = KEYS[1]
-    keyid2 = KEYS[1]['keyid']
-
-    keydict = {keyid: rsakey, keyid2: rsakey2}
-
-    roledict = {'Root': {'keyids': [keyid], 'threshold': 1},
-                'Targets': {'keyids': [keyid2, keyid], 'threshold': 1}}
-    version = 8
-    consistent_snapshot = False
-    expires = '1985-10-21T01:21:00Z'
-
-    root_metadata = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROOT_SCHEMA,
-        _type='root',
-        spec_version='1.0.0',
-        version=version,
-        expires=expires,
-        keys=keydict,
-        roles=roledict,
-        consistent_snapshot=consistent_snapshot)
-
-    self.assertEqual(None, tuf.keydb.create_keydb_from_root_metadata(root_metadata))
-    tuf.keydb.create_keydb_from_root_metadata(root_metadata)
-
-    # Ensure 'keyid' and 'keyid2' were added to the keydb database.
-    self.assertEqual(rsakey, tuf.keydb.get_key(keyid))
-    self.assertEqual(rsakey2, tuf.keydb.get_key(keyid2))
-
-    # Verify that the keydb is populated for a non-default repository.
-    repository_name = 'example_repository'
-    tuf.keydb.create_keydb_from_root_metadata(root_metadata, repository_name)
-
-    # Test conditions for arguments with invalid formats.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, '')
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, ['123'])
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, {'bad': '123'})
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.keydb.create_keydb_from_root_metadata, root_metadata, 123)
-
-    # Verify that a keydb cannot be created for a non-existent repository name.
-    tuf.keydb.create_keydb_from_root_metadata(root_metadata, 'non-existent')
-
-    # Remove the 'non-existent' and 'example_repository' key database so that
-    # subsequent test functions have access to a default keydb.
-    tuf.keydb.remove_keydb(repository_name)
-    tuf.keydb.remove_keydb('non-existent')
-
-
-    # Test conditions for correctly formatted 'root_metadata' arguments but
-    # containing incorrect keyids or key types.  In these conditions, the keys
-    # should not be added to the keydb database and a warning should be logged.
-    tuf.keydb.clear_keydb()
-
-    # 'keyid' does not match 'rsakey2'.
-    # In this case, the key will be added to the keydb
-    keydict[keyid] = rsakey2
-
-    # Key with invalid keytype.
-    rsakey3 = KEYS[2]
-    keyid3 = KEYS[2]['keyid']
-    rsakey3['keytype'] = 'bad_keytype'
-    keydict[keyid3] = rsakey3
-
-    version = 8
-    expires = '1985-10-21T01:21:00Z'
-
-    root_metadata = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROOT_SCHEMA,
-        _type='root',
-        spec_version='1.0.0',
-        version=version,
-        expires=expires,
-        keys=keydict,
-        roles=roledict,
-        consistent_snapshot=consistent_snapshot)
-
-    self.assertEqual(None, tuf.keydb.create_keydb_from_root_metadata(root_metadata))
-
-    # Ensure only 'keyid2' and 'keyid' were added to the keydb database.
-    # 'keyid3' should not be stored.
-    self.maxDiff = None
-    self.assertEqual(rsakey2, tuf.keydb.get_key(keyid2))
-
-    test_key = rsakey2
-    test_key['keyid'] = keyid
-    self.assertEqual(test_key, tuf.keydb.get_key(keyid))
-
-    self.assertRaises(tuf.exceptions.UnknownKeyError, tuf.keydb.get_key, keyid3)
-
-    # reset values
-    rsakey3['keytype'] = 'rsa'
-    rsakey2['keyid'] = keyid2
-
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_log.py b/tests/test_log.py
deleted file mode 100755
index cba1762f10..0000000000
--- a/tests/test_log.py
+++ /dev/null
@@ -1,210 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_log.py
-
-<Authors>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  May 1, 2014.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'log.py'.
-"""
-
-import logging
-import unittest
-import os
-import shutil
-import sys
-
-import tuf
-import tuf.log
-import tuf.settings
-
-import securesystemslib
-import securesystemslib.util
-
-from tests import utils
-
-from six.moves import reload_module
-
-# We explicitly create a logger which is a child of the tuf hierarchy,
-# instead of using the standard getLogger(__name__) pattern, because the
-# tests are not part of the tuf hierarchy and we are testing functionality
-# of the tuf package explicitly enabled on the tuf hierarchy
-logger = logging.getLogger('tuf.test_log')
-
-log_levels = [logging.CRITICAL, logging.ERROR, logging.WARNING,
-  logging.INFO, logging.DEBUG]
-
-
-class TestLog(unittest.TestCase):
-
-  def setUp(self):
-    # store the current log level so it can be restored after the test
-    self._initial_level = logging.getLogger('tuf').level
-
-  def tearDown(self):
-    tuf.log.remove_console_handler()
-    tuf.log.disable_file_logging()
-    logging.getLogger('tuf').level = self._initial_level
-
-
-
-
-  def test_set_log_level(self):
-    # Test normal case.
-    global log_levels
-    global logger
-
-    tuf.log.set_log_level()
-    self.assertTrue(logger.isEnabledFor(logging.DEBUG))
-
-    for level in log_levels:
-      tuf.log.set_log_level(level)
-      self.assertTrue(logger.isEnabledFor(level))
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_log_level, '123')
-
-    # Test for invalid argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_log_level, 51)
-
-
-
-  def test_set_filehandler_log_level(self):
-    # Normal case.  Default log level.
-    # A file handler is not set by default.  Add one now before attempting to
-    # set the log level.
-    self.assertRaises(tuf.exceptions.Error, tuf.log.set_filehandler_log_level)
-    tuf.log.enable_file_logging()
-    tuf.log.set_filehandler_log_level()
-
-    # Expected log levels.
-    for level in log_levels:
-      tuf.log.set_log_level(level)
-
-    # Test that the log level of the file handler cannot be set because
-    # file logging is disabled (via tuf.settings.ENABLE_FILE_LOGGING).
-    tuf.settings.ENABLE_FILE_LOGGING = False
-    reload_module(tuf.log)
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_filehandler_log_level, '123')
-
-    # Test for invalid argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_filehandler_log_level, 51)
-
-
-  def test_set_console_log_level(self):
-    # Test setting a console log level without first adding one.
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.log.set_console_log_level)
-
-    # Normal case.  Default log level.  Setting the console log level first
-    # requires adding a console logger.
-    tuf.log.add_console_handler()
-    tuf.log.set_console_log_level()
-
-    # Expected log levels.
-    for level in log_levels:
-      tuf.log.set_console_log_level(level)
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_console_log_level, '123')
-
-    # Test for invalid argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.set_console_log_level, 51)
-
-
-
-
-
-  def test_add_console_handler(self):
-    # Normal case.  Default log level.
-    tuf.log.add_console_handler()
-
-    # Adding a console handler when one has already been added.
-    tuf.log.add_console_handler()
-
-    # Expected log levels.
-    for level in log_levels:
-      tuf.log.set_console_log_level(level)
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.add_console_handler, '123')
-
-    # Test for invalid argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.log.add_console_handler, 51)
-
-    # Test that an exception is printed to the console.  Note: A stack trace
-    # is not included in the exception output because 'log.py' applies a filter
-    # to minimize the amount of output to the console.
-    try:
-      raise TypeError('Test exception output in the console.')
-
-    except TypeError as e:
-      logger.exception(e)
-
-
-  def test_remove_console_handler(self):
-    # Normal case.
-    tuf.log.remove_console_handler()
-
-    # Removing a console handler that has not been added.  Logs a warning.
-    tuf.log.remove_console_handler()
-
-
-  def test_enable_file_logging(self):
-    # Normal case.
-    if os.path.exists(tuf.settings.LOG_FILENAME):
-      shutil.move(
-          tuf.settings.LOG_FILENAME, tuf.settings.LOG_FILENAME + '.backup')
-
-    tuf.log.enable_file_logging()
-    self.assertTrue(os.path.exists(tuf.settings.LOG_FILENAME))
-    if os.path.exists(tuf.settings.LOG_FILENAME + '.backup'):
-      shutil.move(
-          tuf.settings.LOG_FILENAME + '.backup', tuf.settings.LOG_FILENAME)
-
-    # The file logger must first be unset before attempting to re-add it.
-    self.assertRaises(tuf.exceptions.Error, tuf.log.enable_file_logging)
-
-    tuf.log.disable_file_logging()
-    tuf.log.enable_file_logging('my_log_file.log')
-    logger.debug('testing file logging')
-    self.assertTrue(os.path.exists('my_log_file.log'))
-
-    # Test for an improperly formatted argument.
-    tuf.log.disable_file_logging()
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        tuf.log.enable_file_logging, 1)
-
-
-  def test_disable_file_logging(self):
-    # Normal case.
-    tuf.log.enable_file_logging('my.log')
-    logger.debug('debug message')
-    junk, hashes = securesystemslib.util.get_file_details('my.log')
-    tuf.log.disable_file_logging()
-    logger.debug('new debug message')
-    junk, hashes2 = securesystemslib.util.get_file_details('my.log')
-    self.assertEqual(hashes, hashes2)
-
-    # An exception should not be raised if an attempt is made to disable
-    # the file logger if it has already been disabled.
-    tuf.log.disable_file_logging()
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_metadata_eq_.py b/tests/test_metadata_eq_.py
new file mode 100644
index 0000000000..4768c86761
--- /dev/null
+++ b/tests/test_metadata_eq_.py
@@ -0,0 +1,184 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test __eq__ implementations of classes inside tuf/api/metadata.py."""
+
+from __future__ import annotations
+
+import copy
+import os
+import sys
+import unittest
+from typing import Any, ClassVar
+
+from securesystemslib.signer import SSlibKey
+
+from tests import utils
+from tuf.api.metadata import (
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Role,
+    Signature,
+    SuccinctRoles,
+    TargetFile,
+)
+
+
+class TestMetadataComparisons(unittest.TestCase):
+    """Test __eq__ for all classes inside tuf/api/metadata.py."""
+
+    metadata: ClassVar[dict[str, bytes]]
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        cls.repo_dir = os.path.join(
+            utils.TESTS_DIR, "repository_data", "repository", "metadata"
+        )
+
+        # Store class instances in this dict instead of creating them inside the
+        # test function in order to escape the need for reinitialization of the
+        # instances on each run of the test function.
+        cls.objects = {}
+        for md in TOP_LEVEL_ROLE_NAMES:
+            with open(os.path.join(cls.repo_dir, f"{md}.json"), "rb") as f:
+                data = f.read()
+                cls.objects[md.capitalize()] = Metadata.from_bytes(data).signed
+
+        cls.objects["Metadata"] = Metadata(cls.objects["Timestamp"], {})
+        cls.objects["Signed"] = cls.objects["Timestamp"]
+        cls.objects["Key"] = SSlibKey(
+            "id", "rsa", "rsassa-pss-sha256", {"public": "foo"}
+        )
+        cls.objects["Role"] = Role(["keyid1", "keyid2"], 3)
+        cls.objects["MetaFile"] = MetaFile(1, 12, {"sha256": "abc"})
+        cls.objects["DelegatedRole"] = DelegatedRole("a", [], 1, False, ["d"])
+        cls.objects["SuccinctRoles"] = SuccinctRoles(["keyid"], 1, 8, "foo")
+        cls.objects["Delegations"] = Delegations(
+            {"keyid": cls.objects["Key"]}, {"a": cls.objects["DelegatedRole"]}
+        )
+        cls.objects["TargetFile"] = TargetFile(
+            1, {"sha256": "abc"}, "file1.txt"
+        )
+
+    # Keys are class names.
+    # Values are dictionaries containing attribute names and their new values.
+    classes_attributes_modifications = {
+        "Metadata": {"signed": None, "signatures": None},
+        "Signed": {"version": -1, "spec_version": "0.0.0"},
+        "Key": {"keyid": "a", "keytype": "foo", "scheme": "b", "keyval": "b"},
+        "Role": {"keyids": [], "threshold": 10},
+        "Root": {"consistent_snapshot": None, "keys": {}},
+        "MetaFile": {"version": None, "length": None, "hashes": {}},
+        "Timestamp": {"snapshot_meta": None},
+        "Snapshot": {"meta": None},
+        "DelegatedRole": {
+            "name": "",
+            "terminating": None,
+            "paths": [""],
+            "path_hash_prefixes": [""],
+        },
+        "SuccinctRoles": {"bit_length": 0, "name_prefix": ""},
+        "Delegations": {"keys": {}, "roles": {}},
+        "TargetFile": {"length": 0, "hashes": {}, "path": ""},
+        "Targets": {"targets": {}, "delegations": []},
+    }
+
+    @utils.run_sub_tests_with_dataset(classes_attributes_modifications)
+    def test_classes_eq_(self, test_case_data: dict[str, Any]) -> None:
+        obj = self.objects[self.case_name]
+
+        # Assert that obj is not equal to an object from another type
+        self.assertNotEqual(obj, "")
+        obj_2 = copy.deepcopy(obj)
+        # Assert that __eq__ works for equal objects.
+        self.assertEqual(obj, obj_2)
+
+        for attr, value in test_case_data.items():
+            original_value = getattr(obj_2, attr)
+            setattr(obj_2, attr, value)
+            # Assert that the original object != modified one.
+            self.assertNotEqual(obj, obj_2, f"Failed case: {attr}")
+            # Restore the old value of the attribute.
+            setattr(obj_2, attr, original_value)
+
+    def test_md_eq_signatures_reversed_order(self) -> None:
+        # Test comparing objects with same signatures but different order.
+
+        # Remove all signatures and create new ones.
+        md: Metadata = self.objects["Metadata"]
+        md.signatures = {"a": Signature("a", "a"), "b": Signature("b", "b")}
+        md_2 = copy.deepcopy(md)
+        # Reverse signatures order in md_2.
+        md_2.signatures = dict(reversed(md_2.signatures.items()))
+        # Assert that both objects are not the same because of signatures order.
+        self.assertNotEqual(md, md_2)
+
+        # but if we fix the signatures order they will be equal
+        md_2.signatures = {"a": Signature("a", "a"), "b": Signature("b", "b")}
+        self.assertEqual(md, md_2)
+
+    def test_md_eq_special_signatures_tests(self) -> None:
+        # Test that metadata objects with different signatures are not equal.
+        md: Metadata = self.objects["Metadata"]
+        md_2 = copy.deepcopy(md)
+        md_2.signatures = {}
+        self.assertNotEqual(md, md_2)
+
+        # Test that metadata objects with empty signatures are equal
+        md.signatures = {}
+        self.assertEqual(md, md_2)
+
+        # Metadata objects with different signatures types are not equal.
+        md_2.signatures = ""  # type: ignore[assignment]
+        self.assertNotEqual(md, md_2)
+
+    def test_delegations_eq_roles_reversed_order(self) -> None:
+        # Test comparing objects with same delegated roles but different order.
+        role_one_dict = {
+            "keyids": ["keyid1"],
+            "name": "a",
+            "terminating": False,
+            "paths": ["fn1"],
+            "threshold": 1,
+        }
+        role_two_dict = {
+            "keyids": ["keyid2"],
+            "name": "b",
+            "terminating": True,
+            "paths": ["fn2"],
+            "threshold": 4,
+        }
+
+        delegations_dict = {
+            "keys": {
+                "keyid2": {
+                    "keytype": "ed25519",
+                    "scheme": "ed25519",
+                    "keyval": {"public": "bar"},
+                }
+            },
+            "roles": [role_one_dict, role_two_dict],
+        }
+        delegations = Delegations.from_dict(copy.deepcopy(delegations_dict))
+
+        # Create a second delegations obj with reversed roles order
+        delegations_2 = copy.deepcopy(delegations)
+        assert isinstance(delegations.roles, dict)
+        delegations_2.roles = dict(reversed(delegations.roles.items()))
+
+        # Both objects are not the equal because of delegated roles order.
+        self.assertNotEqual(delegations, delegations_2)
+
+        # but if we fix the delegated roles order they will be equal
+        delegations_2.roles = delegations.roles
+
+        self.assertEqual(delegations, delegations_2)
+
+
+# Run unit test.
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_metadata_generation.py b/tests/test_metadata_generation.py
new file mode 100644
index 0000000000..03cc5ab688
--- /dev/null
+++ b/tests/test_metadata_generation.py
@@ -0,0 +1,25 @@
+"""Unit tests for 'tests/generated_data/generate_md.py'."""
+
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+import sys
+import unittest
+
+from tests import utils
+from tests.generated_data.generate_md import generate_all_files
+
+
+class TestMetadataGeneration(unittest.TestCase):
+    """Test metadata files generation."""
+
+    @staticmethod
+    def test_compare_static_md_to_generated() -> None:
+        # md_generator = MetadataGenerator("generated_data/ed25519_metadata")
+        generate_all_files(dump=False)
+
+
+# Run unit test.
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_metadata_serialization.py b/tests/test_metadata_serialization.py
new file mode 100644
index 0000000000..7d1099fcb9
--- /dev/null
+++ b/tests/test_metadata_serialization.py
@@ -0,0 +1,601 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Unit tests testing tuf/api/metadata.py classes
+serialization and deserialization.
+
+"""
+
+import copy
+import json
+import logging
+import sys
+import unittest
+
+from securesystemslib.signer import Signature
+
+from tests import utils
+from tuf.api.metadata import (
+    DelegatedRole,
+    Delegations,
+    Key,
+    Metadata,
+    MetaFile,
+    Role,
+    Root,
+    Snapshot,
+    SuccinctRoles,
+    TargetFile,
+    Targets,
+    Timestamp,
+)
+from tuf.api.serialization import DeserializationError
+
+logger = logging.getLogger(__name__)
+
+
+class TestSerialization(unittest.TestCase):
+    """Test serialization for all classes in 'tuf/api/metadata.py'."""
+
+    invalid_metadata = {
+        "no signatures field": b'{"signed": \
+            { "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}} \
+        }',
+        "non unique duplicating signatures": b'{"signed": \
+                { "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+                "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}, \
+            "signatures": [{"keyid": "id", "sig": "b"}, {"keyid": "id", "sig": "b"}] \
+        }',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_metadata)
+    def test_invalid_metadata_serialization(self, test_data: bytes) -> None:
+        # We expect a DeserializationError reraised from ValueError or KeyError.
+        with self.assertRaises(DeserializationError):
+            Metadata.from_bytes(test_data)
+
+    valid_metadata = {
+        "multiple signatures": b'{ \
+            "signed": \
+                { "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+                "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}, \
+            "signatures": [{ "keyid": "id", "sig": "b"}, {"keyid": "id2", "sig": "d" }] \
+        }',
+        "no signatures": b'{ \
+            "signed": \
+                { "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+                "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}, \
+            "signatures": [] \
+        }',
+        "unrecognized fields": b'{ \
+            "signed": \
+                { "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+                "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}, \
+            "signatures": [{"keyid": "id", "sig": "b"}], \
+            "foo": "bar" \
+        }',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_metadata)
+    def test_valid_metadata_serialization(self, test_case_data: bytes) -> None:
+        md = Metadata.from_bytes(test_case_data)
+
+        # Convert to a JSON and sort the keys the way we do in JSONSerializer.
+        separators = (",", ":")
+        test_json = json.loads(test_case_data)
+        test_bytes = json.dumps(
+            test_json, separators=separators, sort_keys=True
+        ).encode("utf-8")
+
+        self.assertEqual(test_bytes, md.to_bytes())
+
+    invalid_signatures = {
+        "missing keyid attribute in a signature": '{ "sig": "abc" }',
+        "missing sig attribute in a signature": '{ "keyid": "id" }',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_signatures)
+    def test_invalid_signature_serialization(self, test_data: str) -> None:
+        case_dict = json.loads(test_data)
+        with self.assertRaises(KeyError):
+            Signature.from_dict(case_dict)
+
+    valid_signatures = {
+        "all": '{ "keyid": "id", "sig": "b"}',
+        "unrecognized fields": '{ "keyid": "id", "sig": "b", "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_signatures)
+    def test_signature_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        signature = Signature.from_dict(copy.copy(case_dict))
+        self.assertEqual(case_dict, signature.to_dict())
+
+    # Snapshot instances with meta = {} are valid, but for a full valid
+    # repository it's required that meta has at least one element inside it.
+    invalid_signed = {
+        "no _type": '{"spec_version": "1.0.0", "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "no spec_version": '{"_type": "snapshot", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "no version": '{"_type": "snapshot", "spec_version": "1.0.0", "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "no expires": '{"_type": "snapshot", "spec_version": "1.0.0", "version": 1, "meta": {}}',
+        "empty str _type": '{"_type": "", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "empty str spec_version": '{"_type": "snapshot", "spec_version": "", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "_type wrong type": '{"_type": "foo", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "version wrong type": '{"_type": "snapshot", "spec_version": "1.0.0", "version": "a", "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "invalid spec_version str": '{"_type": "snapshot", "spec_version": "abc", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "non-number spec_version": '{"_type": "snapshot", "spec_version": "1.2.a", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "one part spec_version": '{"_type": "snapshot", "spec_version": "1", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "different major spec_version": '{"_type": "snapshot", "spec_version": "0.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "version 0": '{"_type": "snapshot", "spec_version": "1.0.0", "version": 0, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "version below 0": '{"_type": "snapshot", "spec_version": "1.0.0", "version": -1, "expires": "2030-01-01T00:00:00Z", "meta": {}}',
+        "wrong datetime string": '{"_type": "snapshot", "spec_version": "1.0.0", "version": 1, "expires": "abc", "meta": {}}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_signed)
+    def test_invalid_signed_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((KeyError, ValueError, TypeError)):
+            Snapshot.from_dict(case_dict)
+
+    valid_keys = {
+        "all": '{"keytype": "rsa", "scheme": "rsassa-pss-sha256", \
+            "keyval": {"public": "foo"}}',
+        "unrecognized field": '{"keytype": "rsa", "scheme": "rsassa-pss-sha256", \
+            "keyval": {"public": "foo"}, "foo": "bar"}',
+        "unrecognized field in keyval": '{"keytype": "rsa", "scheme": "rsassa-pss-sha256", \
+            "keyval": {"public": "foo", "foo": "bar"}}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_keys)
+    def test_valid_key_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        key = Key.from_dict("id", copy.copy(case_dict))
+        self.assertDictEqual(case_dict, key.to_dict())
+
+    invalid_keys = {
+        "no keyid": '{"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "abc"}}',
+        "no keytype": '{"keyid": "id", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}',
+        "no scheme": '{"keyid": "id", "keytype": "rsa", "keyval": {"public": "foo"}}',
+        "no keyval": '{"keyid": "id", "keytype": "rsa", "scheme": "rsassa-pss-sha256"}',
+        "keyid wrong type": '{"keyid": 1, "keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "abc"}}',
+        "keytype wrong type": '{"keyid": "id", "keytype": 1, "scheme": "rsassa-pss-sha256", "keyval": {"public": "abc"}}',
+        "scheme wrong type": '{"keyid": "id", "keytype": "rsa", "scheme": 1, "keyval": {"public": "abc"}}',
+        "keyval wrong type": '{"keyid": "id", "keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": 1}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_keys)
+    def test_invalid_key_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((TypeError, KeyError, ValueError)):
+            keyid = case_dict.pop("keyid")
+            Key.from_dict(keyid, case_dict)
+
+    invalid_roles = {
+        "no threshold": '{"keyids": ["keyid"]}',
+        "no keyids": '{"threshold": 3}',
+        "wrong threshold type": '{"keyids": ["keyid"], "threshold": "a"}',
+        "wrong keyids type": '{"keyids": 1, "threshold": 3}',
+        "threshold below 1": '{"keyids": ["keyid"], "threshold": 0}',
+        "duplicate keyids": '{"keyids": ["keyid", "keyid"], "threshold": 3}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_roles)
+    def test_invalid_role_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((KeyError, TypeError, ValueError)):
+            Role.from_dict(case_dict)
+
+    valid_roles = {
+        "all": '{"keyids": ["keyid"], "threshold": 3}',
+        "many keyids": '{"keyids": ["a", "b", "c", "d", "e"], "threshold": 1}',
+        "ordered keyids": '{"keyids": ["c", "b", "a"], "threshold": 1}',
+        "empty keyids": '{"keyids": [], "threshold": 1}',
+        "unrecognized field": '{"keyids": ["keyid"], "threshold": 3, "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_roles)
+    def test_role_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        role = Role.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, role.to_dict())
+
+    valid_roots = {
+        "all": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": { \
+                "root": {"keyids": ["keyid1"], "threshold": 1}, \
+                "timestamp": {"keyids": ["keyid2"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid1"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid2"], "threshold": 1}} \
+            }',
+        "no consistent_snapshot": '{ "_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", \
+            "keys": {"keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"} }}, \
+            "roles": { \
+                "root": {"keyids": ["keyid"], "threshold": 1}, \
+                "timestamp": {"keyids": ["keyid"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid"], "threshold": 1}} \
+            }',
+        "empty keys": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": {}, \
+            "roles": { \
+                "root": {"keyids": [], "threshold": 1}, \
+                "timestamp": {"keyids": [], "threshold": 1}, \
+                "targets": {"keyids": [], "threshold": 1}, \
+                "snapshot": {"keyids": [], "threshold": 1}} \
+            }',
+        "unrecognized field": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": {"keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": { \
+                "root": {"keyids": ["keyid"], "threshold": 1}, \
+                "timestamp": {"keyids": ["keyid"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid"], "threshold": 1} \
+            }, \
+            "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_roots)
+    def test_root_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        root = Root.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, root.to_dict())
+
+    invalid_roots = {
+        "invalid role name": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": { \
+                "bar": {"keyids": ["keyid1"], "threshold": 1}, \
+                "timestamp": {"keyids": ["keyid2"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid1"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid2"], "threshold": 1}} \
+            }',
+        "missing root role": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": { \
+                "timestamp": {"keyids": ["keyid2"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid1"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid2"], "threshold": 1}} \
+            }',
+        "one additional role": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T00:00:00Z", "consistent_snapshot": false, \
+            "keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": { \
+                "root": {"keyids": ["keyid1"], "threshold": 1}, \
+                "timestamp": {"keyids": ["keyid2"], "threshold": 1}, \
+                "targets": {"keyids": ["keyid1"], "threshold": 1}, \
+                "snapshot": {"keyids": ["keyid2"], "threshold": 1}, \
+                "foo": {"keyids": ["keyid2"], "threshold": 1}} \
+            }',
+        "invalid expiry with microseconds": '{"_type": "root", "spec_version": "1.0.0", "version": 1, \
+            "expires": "2030-01-01T12:00:00.123456Z", "consistent_snapshot": false, \
+            "keys": {}, "roles": {"root": {}, "timestamp": {}, "targets": {}, "snapshot": {}}}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_roots)
+    def test_invalid_root_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises(ValueError):
+            Root.from_dict(case_dict)
+
+    invalid_metafiles = {
+        "wrong length type": '{"version": 1, "length": "a", "hashes": {"sha256" : "abc"}}',
+        "version 0": '{"version": 0, "length": 1, "hashes": {"sha256" : "abc"}}',
+        "length below 0": '{"version": 1, "length": -1, "hashes": {"sha256" : "abc"}}',
+        "empty hashes dict": '{"version": 1, "length": 1, "hashes": {}}',
+        "hashes wrong type": '{"version": 1, "length": 1, "hashes": 1}',
+        "hashes values wrong type": '{"version": 1, "length": 1, "hashes": {"sha256": 1}}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_metafiles)
+    def test_invalid_metafile_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((TypeError, ValueError, AttributeError)):
+            MetaFile.from_dict(case_dict)
+
+    valid_metafiles = {
+        "all": '{"hashes": {"sha256" : "abc"}, "length": 12, "version": 1}',
+        "no length": '{"hashes": {"sha256" : "abc"}, "version": 1 }',
+        "length 0": '{"version": 1, "length": 0, "hashes": {"sha256" : "abc"}}',
+        "no hashes": '{"length": 12, "version": 1}',
+        "unrecognized field": '{"hashes": {"sha256" : "abc"}, "length": 12, "version": 1, "foo": "bar"}',
+        "many hashes": '{"hashes": {"sha256" : "abc", "sha512": "cde"}, "length": 12, "version": 1}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_metafiles)
+    def test_metafile_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        metafile = MetaFile.from_dict(copy.copy(case_dict))
+        self.assertDictEqual(case_dict, metafile.to_dict())
+
+    invalid_timestamps = {
+        "no metafile": '{ "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_timestamps)
+    def test_invalid_timestamp_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((ValueError, KeyError)):
+            Timestamp.from_dict(case_dict)
+
+    valid_timestamps = {
+        "all": '{ "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}',
+        "legacy spec_version": '{ "_type": "timestamp", "spec_version": "1.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}}',
+        "unrecognized field": '{ "_type": "timestamp", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": {"snapshot.json": {"hashes": {"sha256" : "abc"}, "version": 1}}, "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_timestamps)
+    def test_timestamp_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        timestamp = Timestamp.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, timestamp.to_dict())
+
+    valid_snapshots = {
+        "all": '{ "_type": "snapshot", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": { \
+                "file1.txt": {"hashes": {"sha256" : "abc"}, "version": 1}, \
+                "file2.txt": {"hashes": {"sha256" : "cde"}, "version": 1} \
+            }}',
+        "empty meta": '{ "_type": "snapshot", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": {} \
+            }',
+        "unrecognized field": '{ "_type": "snapshot", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "meta": { "file.txt": { "hashes": {"sha256" : "abc"}, "version": 1 }}, "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_snapshots)
+    def test_snapshot_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        snapshot = Snapshot.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, snapshot.to_dict())
+
+    valid_delegated_roles = {
+        # DelegatedRole inherits Role and some use cases can be found in the valid_roles.
+        "no hash prefix attribute": '{"keyids": ["keyid"], "name": "a", "paths": ["fn1", "fn2"], \
+            "terminating": false, "threshold": 1}',
+        "no path attribute": '{"keyids": ["keyid"], "name": "a", "terminating": false, \
+            "path_hash_prefixes": ["h1", "h2"], "threshold": 99}',
+        "empty paths": '{"keyids": ["keyid"], "name": "a", "paths": [], \
+            "terminating": false, "threshold": 1}',
+        "empty path_hash_prefixes": '{"keyids": ["keyid"], "name": "a", "terminating": false, \
+            "path_hash_prefixes": [], "threshold": 99}',
+        "unrecognized field": '{"keyids": ["keyid"], "name": "a", "terminating": true, "paths": ["fn1"], "threshold": 3, "foo": "bar"}',
+        "many keyids": '{"keyids": ["keyid1", "keyid2"], "name": "a", "paths": ["fn1", "fn2"], \
+            "terminating": false, "threshold": 1}',
+        "ordered keyids": '{"keyids": ["keyid2", "keyid1"], "name": "a", "paths": ["fn1", "fn2"], \
+            "terminating": false, "threshold": 1}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_delegated_roles)
+    def test_delegated_role_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        deserialized_role = DelegatedRole.from_dict(copy.copy(case_dict))
+        self.assertDictEqual(case_dict, deserialized_role.to_dict())
+
+    invalid_delegated_roles = {
+        # DelegatedRole inherits Role and some use cases can be found in the invalid_roles.
+        "missing hash prefixes and paths": '{"name": "a", "keyids": ["keyid"], "threshold": 1, "terminating": false}',
+        "both hash prefixes and paths": '{"name": "a", "keyids": ["keyid"], "threshold": 1, "terminating": false, \
+            "paths": ["fn1", "fn2"], "path_hash_prefixes": ["h1", "h2"]}',
+        "invalid path type": '{"keyids": ["keyid"], "name": "a", "paths": [1,2,3], \
+            "terminating": false, "threshold": 1}',
+        "invalid path_hash_prefixes type": '{"keyids": ["keyid"], "name": "a", "path_hash_prefixes": [1,2,3], \
+            "terminating": false, "threshold": 1}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_delegated_roles)
+    def test_invalid_delegated_role_serialization(
+        self, test_case_data: str
+    ) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises(ValueError):
+            DelegatedRole.from_dict(case_dict)
+
+    valid_succinct_roles = {
+        # SuccinctRoles inherits Role and some use cases can be found in the valid_roles.
+        "standard succinct_roles information": '{"keyids": ["keyid"], "threshold": 1, \
+            "bit_length": 8, "name_prefix": "foo"}',
+        "succinct_roles with unrecognized fields": '{"keyids": ["keyid"], "threshold": 1, \
+            "bit_length": 8, "name_prefix": "foo", "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_succinct_roles)
+    def test_succinct_roles_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        succinct_roles = SuccinctRoles.from_dict(copy.copy(case_dict))
+        self.assertDictEqual(case_dict, succinct_roles.to_dict())
+
+    invalid_succinct_roles = {
+        # SuccinctRoles inherits Role and some use cases can be found in the invalid_roles.
+        "missing bit_length from succinct_roles": '{"keyids": ["keyid"], "threshold": 1, "name_prefix": "foo"}',
+        "missing name_prefix from succinct_roles": '{"keyids": ["keyid"], "threshold": 1, "bit_length": 8}',
+        "succinct_roles with invalid bit_length type": '{"keyids": ["keyid"], "threshold": 1, "bit_length": "a", "name_prefix": "foo"}',
+        "succinct_roles with invalid name_prefix type": '{"keyids": ["keyid"], "threshold": 1, "bit_length": 8, "name_prefix": 1}',
+        "succinct_roles with high bit_length value": '{"keyids": ["keyid"], "threshold": 1, "bit_length": 50, "name_prefix": "foo"}',
+        "succinct_roles with low bit_length value": '{"keyids": ["keyid"], "threshold": 1, "bit_length": 0, "name_prefix": "foo"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_succinct_roles)
+    def test_invalid_succinct_roles_serialization(self, test_data: str) -> None:
+        case_dict = json.loads(test_data)
+        with self.assertRaises((ValueError, KeyError, TypeError)):
+            SuccinctRoles.from_dict(case_dict)
+
+    invalid_delegations = {
+        "empty delegations": "{}",
+        "missing keys": '{ "roles": [ \
+                {"keyids": ["keyid"], "name": "a", "terminating": true, "paths": ["fn1"], "threshold": 3}, \
+                {"keyids": ["keyid2"], "name": "b", "terminating": true, "paths": ["fn2"], "threshold": 4} ] \
+            }',
+        "missing roles": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}}',
+        "bad keys": '{"keys": "foo", \
+            "roles": [{"keyids": ["keyid"], "name": "a", "paths": ["fn1", "fn2"], "terminating": false, "threshold": 3}]}',
+        "bad roles": '{"keys": {"keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": ["foo"]}',
+        "duplicate role names": '{"keys": {"keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid"], "name": "a", "paths": ["fn1", "fn2"], "terminating": false, "threshold": 3}, \
+                {"keyids": ["keyid2"], "name": "a", "paths": ["fn3"], "terminating": false, "threshold": 2}    \
+                ] \
+            }',
+        "using empty string role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "", "terminating": true, "paths": ["fn1"], "threshold": 3}] \
+            }',
+        "using root as delegate role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "root", "terminating": true, "paths": ["fn1"], "threshold": 3}] \
+            }',
+        "using snapshot as delegate role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "snapshot", "terminating": true, "paths": ["fn1"], "threshold": 3}] \
+            }',
+        "using targets as delegate role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "targets", "terminating": true, "paths": ["fn1"], "threshold": 3}] \
+            }',
+        "using timestamp as delegate role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "timestamp", "terminating": true, "paths": ["fn1"], "threshold": 3}] \
+            }',
+        "using valid and top-level role name": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid1"], "name": "b", "terminating": true, "paths": ["fn1"], "threshold": 3}, \
+                {"keyids": ["keyid2"], "name": "root", "terminating": true, "paths": ["fn2"], "threshold": 4} ] \
+            }',
+        "roles and succinct_roles set": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid"], "name": "a", "terminating": true, "paths": ["fn1"], "threshold": 3}, \
+                {"keyids": ["keyid2"], "name": "b", "terminating": true, "paths": ["fn2"], "threshold": 4} ], \
+            "succinct_roles": {"keyids": ["keyid"], "threshold": 1, "bit_length": 8, "name_prefix": "foo"}}',
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_delegations)
+    def test_invalid_delegation_serialization(
+        self, test_case_data: str
+    ) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises((ValueError, KeyError, AttributeError)):
+            Delegations.from_dict(case_dict)
+
+    valid_delegations = {
+        "with roles": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "roles": [ \
+                {"keyids": ["keyid"], "name": "a", "terminating": true, "paths": ["fn1"], "threshold": 3}, \
+                {"keyids": ["keyid2"], "name": "b", "terminating": true, "paths": ["fn2"], "threshold": 4} ] \
+            }',
+        "with succinct_roles": '{"keys": { \
+                "keyid1" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                "keyid2" : {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+            "succinct_roles": {"keyids": ["keyid"], "threshold": 1, "bit_length": 8, "name_prefix": "foo"}}',
+        "unrecognized field": '{"keys": {"keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}}, \
+            "roles": [ {"keyids": ["keyid"], "name": "a", "paths": ["fn1", "fn2"], "terminating": true, "threshold": 3} ], \
+            "foo": "bar"}',
+        "empty keys and roles": '{"keys": {}, \
+            "roles": [] \
+            }',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_delegations)
+    def test_delegation_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        delegation = Delegations.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, delegation.to_dict())
+
+    invalid_targetfiles = {
+        "no hashes": '{"length": 1}',
+        "no length": '{"hashes": {"sha256": "abc"}}',
+        # The remaining cases are the same as for invalid_hashes and
+        # invalid_length datasets.
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_targetfiles)
+    def test_invalid_targetfile_serialization(
+        self, test_case_data: str
+    ) -> None:
+        case_dict = json.loads(test_case_data)
+        with self.assertRaises(KeyError):
+            TargetFile.from_dict(case_dict, "file1.txt")
+
+    valid_targetfiles = {
+        "all": '{"length": 12, "hashes": {"sha256" : "abc"}, \
+            "custom" : {"foo": "bar"} }',
+        "no custom": '{"length": 12, "hashes": {"sha256" : "abc"}}',
+        "unrecognized field": '{"length": 12, "hashes": {"sha256" : "abc"}, \
+            "custom" : {"foo": "bar"}, "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_targetfiles)
+    def test_targetfile_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        target_file = TargetFile.from_dict(copy.copy(case_dict), "file1.txt")
+        self.assertDictEqual(case_dict, target_file.to_dict())
+
+    valid_targets = {
+        "all attributes": '{"_type": "targets", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "targets": { \
+                "file.txt": {"length": 12, "hashes": {"sha256" : "abc"} }, \
+                "file2.txt": {"length": 50, "hashes": {"sha256" : "cde"} } }, \
+            "delegations": { \
+                "keys": { \
+                    "keyid" : {"keytype": "rsa", "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"}}, \
+                    "keyid2": {"keytype": "ed25519", "scheme": "ed25519", "keyval": {"public": "bar"}}}, \
+                "roles": [ \
+                    {"keyids": ["keyid"], "name": "a", "terminating": true, "paths": ["fn1"], "threshold": 3}, \
+                    {"keyids": ["keyid2"], "name": "b", "terminating": true, "paths": ["fn2"], "threshold": 4} ] \
+            }}',
+        "empty targets": '{"_type": "targets", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "targets": {}, \
+            "delegations": {"keys": {"keyid" : {"keytype": "rsa", \
+                    "scheme": "rsassa-pss-sha256", "keyval": {"public": "foo"} }}, \
+                "roles": [ {"keyids": ["keyid"], "name": "a", "paths": ["fn1", "fn2"], "terminating": true, "threshold": 3} ]} \
+            }',
+        "no delegations": '{"_type": "targets", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "targets":  { "file.txt": {"length": 12, "hashes": {"sha256" : "abc"} } } \
+            }',
+        "unrecognized_field": '{"_type": "targets", "spec_version": "1.0.0", "version": 1, "expires": "2030-01-01T00:00:00Z", \
+            "targets":  {}, "foo": "bar"}',
+    }
+
+    @utils.run_sub_tests_with_dataset(valid_targets)
+    def test_targets_serialization(self, test_case_data: str) -> None:
+        case_dict = json.loads(test_case_data)
+        targets = Targets.from_dict(copy.deepcopy(case_dict))
+        self.assertDictEqual(case_dict, targets.to_dict())
+
+
+# Run unit test.
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_mirrors.py b/tests/test_mirrors.py
deleted file mode 100755
index 5f49294876..0000000000
--- a/tests/test_mirrors.py
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program>
-  test_mirrors.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 26, 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'mirrors.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import sys
-
-import tuf.mirrors as mirrors
-import tuf.unittest_toolbox as unittest_toolbox
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.util
-
-
-class TestMirrors(unittest_toolbox.Modified_TestCase):
-
-  def setUp(self):
-
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.mirrors = \
-    {'mirror1': {'url_prefix' : 'http://mirror1.com',
-                 'metadata_path' : 'metadata',
-                 'targets_path' : 'targets'},
-     'mirror2': {'url_prefix' : 'http://mirror2.com',
-                 'metadata_path' : 'metadata',
-                 'targets_path' : 'targets',
-                 'confined_target_dirs' : ['targets/release/',
-                                            'targets/release/']},
-     'mirror3': {'url_prefix' : 'http://mirror3.com',
-                 'targets_path' : 'targets',
-                 'confined_target_dirs' : ['targets/release/v2/']},
-     # confined_target_dirs = [] means that none of the targets on
-     # that mirror is available.
-     'mirror4': {'url_prefix' : 'http://mirror4.com',
-                 'metadata_path' : 'metadata',
-                 'confined_target_dirs' : []},
-     # Make sure we are testing when confined_target_dirs is [''] which means
-     # that all targets are available on that mirror.
-     'mirror5': {'url_prefix' : 'http://mirror5.com',
-                 'targets_path' : 'targets',
-                 'confined_target_dirs' : ['']}
-    }
-
-
-
-  def test_get_list_of_mirrors(self):
-    # Test: Normal case.
-
-    # 1 match: a mirror without target directory confinement
-    mirror_list = mirrors.get_list_of_mirrors('target', 'a.txt', self.mirrors)
-    self.assertEqual(len(mirror_list), 2)
-    self.assertTrue(self.mirrors['mirror1']['url_prefix']+'/targets/a.txt' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror5']['url_prefix']+'/targets/a.txt' in \
-                    mirror_list)
-
-    mirror_list = mirrors.get_list_of_mirrors('target', 'a/b', self.mirrors)
-    self.assertEqual(len(mirror_list), 2)
-    self.assertTrue(self.mirrors['mirror1']['url_prefix']+'/targets/a/b' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror5']['url_prefix']+'/targets/a/b' in \
-                    mirror_list)
-
-    # 2 matches: One with non-confined targets and one with matching confinement
-    mirror_list = mirrors.get_list_of_mirrors('target', 'release/v2/c', self.mirrors)
-    self.assertEqual(len(mirror_list), 3)
-    self.assertTrue(self.mirrors['mirror1']['url_prefix']+'/targets/release/v2/c' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror3']['url_prefix']+'/targets/release/v2/c' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror5']['url_prefix']+'/targets/release/v2/c' in \
-                    mirror_list)
-
-    # 3 matches: Metadata found on 3 mirrors
-    mirror_list = mirrors.get_list_of_mirrors('meta', 'release.txt', self.mirrors)
-    self.assertEqual(len(mirror_list), 3)
-    self.assertTrue(self.mirrors['mirror1']['url_prefix']+'/metadata/release.txt' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror2']['url_prefix']+'/metadata/release.txt' in \
-                    mirror_list)
-    self.assertTrue(self.mirrors['mirror4']['url_prefix']+'/metadata/release.txt' in \
-                    mirror_list)
-
-    # No matches
-    del self.mirrors['mirror1']
-    del self.mirrors['mirror5']
-    mirror_list = mirrors.get_list_of_mirrors('target', 'a/b', self.mirrors)
-    self.assertFalse(mirror_list)
-
-
-    # Test: Invalid 'file_type'.
-    self.assertRaises(securesystemslib.exceptions.Error, mirrors.get_list_of_mirrors,
-                      self.random_string(), 'a', self.mirrors)
-
-    self.assertRaises(securesystemslib.exceptions.Error, mirrors.get_list_of_mirrors,
-                      12345, 'a', self.mirrors)
-
-    # Test: Improperly formatted 'file_path'.
-    self.assertRaises(securesystemslib.exceptions.FormatError, mirrors.get_list_of_mirrors,
-                      'meta', 12345, self.mirrors)
-
-    # Test: Improperly formatted 'mirrors_dict' object.
-    self.assertRaises(securesystemslib.exceptions.FormatError, mirrors.get_list_of_mirrors,
-                      'meta', 'a', 12345)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, mirrors.get_list_of_mirrors,
-                      'meta', 'a', ['a'])
-
-    self.assertRaises(securesystemslib.exceptions.FormatError, mirrors.get_list_of_mirrors,
-                      'meta', 'a', {'a':'b'})
-
-
-
-# Run the unittests
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_mix_and_match_attack.py b/tests/test_mix_and_match_attack.py
deleted file mode 100755
index 472d88b940..0000000000
--- a/tests/test_mix_and_match_attack.py
+++ /dev/null
@@ -1,245 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_mix_and_match_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 27, 2012.
-
-  April 6, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools.  Modify the previous scenario
-    simulated for the mix-and-match attack.  -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate a mix-and-match attack.  In a mix-and-match attack, an attacker is
-  able to trick clients into using a combination of metadata that never existed
-  together on the repository at the same time.
-
-  Note: There is no difference between 'updates' and 'target' files.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import shutil
-import logging
-import unittest
-import sys
-
-import tuf.exceptions
-import tuf.log
-import tuf.client.updater as updater
-import tuf.repository_tool as repo_tool
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.roledb
-import tuf.keydb
-
-from tests import utils
-
-import six
-
-# The repository tool is imported and logs console messages by default.
-# Disable console log messages generated by this unit test.
-repo_tool.disable_console_log_messages()
-
-logger = logging.getLogger(__name__)
-
-
-
-class TestMixAndMatchAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and
-    # target files.  'temporary_directory' must be deleted in TearDownModule()
-    # so that temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.keystore_directory = os.path.join(temporary_repository_root, 'keystore')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-      + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  def test_with_tuf(self):
-    # Scenario:
-    # An attacker tries to trick the client into installing files indicated by
-    # a previous release of its corresponding metatadata.  The outdated metadata
-    # is properly named and was previously valid, but is no longer current
-    # according to the latest 'snapshot.json' role.  Generate a new snapshot of
-    # the repository after modifying a target file of 'role1.json'.
-    # Backup 'role1.json' (the delegated role to be updated, and then inserted
-    # again for the mix-and-match attack.)
-    role1_path = os.path.join(self.repository_directory, 'metadata', 'role1.json')
-    backup_role1 = os.path.join(self.repository_directory, 'role1.json.backup')
-    shutil.copy(role1_path, backup_role1)
-
-    # Backup 'file3.txt', specified by 'role1.json'.
-    file3_path = os.path.join(self.repository_directory, 'targets', 'file3.txt')
-    shutil.copy(file3_path, file3_path + '.backup')
-
-    # Re-generate the required metadata on the remote repository.  The affected
-    # metadata must be properly updated and signed with 'repository_tool.py',
-    # otherwise the client will reject them as invalid metadata.  The resulting
-    # metadata should be valid metadata.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Load the signing keys so that newly generated metadata is properly signed.
-    timestamp_keyfile = os.path.join(self.keystore_directory, 'timestamp_key')
-    role1_keyfile = os.path.join(self.keystore_directory, 'delegation_key')
-    snapshot_keyfile = os.path.join(self.keystore_directory, 'snapshot_key')
-    timestamp_private = \
-      repo_tool.import_ed25519_privatekey_from_file(timestamp_keyfile, 'password')
-    role1_private = \
-      repo_tool.import_ed25519_privatekey_from_file(role1_keyfile, 'password')
-    snapshot_private = \
-      repo_tool.import_ed25519_privatekey_from_file(snapshot_keyfile, 'password')
-
-    repository.targets('role1').load_signing_key(role1_private)
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-    # Modify a 'role1.json' target file, and add it to its metadata so that a
-    # new version is generated.
-    with open(file3_path, 'wt') as file_object:
-      file_object.write('This is role2\'s target file.')
-    repository.targets('role1').add_target(os.path.basename(file3_path))
-
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Insert the previously valid 'role1.json'.  The TUF client should reject it.
-    shutil.move(backup_role1, role1_path)
-
-    # Verify that the TUF client detects unexpected metadata (previously valid,
-    # but not up-to-date with the latest snapshot of the repository) and
-    # refuses to continue the update process.  Refresh top-level metadata so
-    # that the client is aware of the latest snapshot of the repository.
-    self.repository_updater.refresh()
-
-    try:
-      with utils.ignore_deprecation_warnings('tuf.client.updater'):
-        self.repository_updater.targets_of_role('role1')
-
-    # Verify that the specific
-    # 'tuf.exceptions.BadVersionNumberError' exception is raised by
-    # each mirror.
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_url, mirror_error in six.iteritems(exception.mirror_errors):
-        url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-        url_file = os.path.join(url_prefix, 'metadata', 'role1.json')
-
-        # Verify that 'role1.json' is the culprit.
-        self.assertEqual(url_file.replace('\\', '/'), mirror_url)
-        self.assertTrue(isinstance(
-            mirror_error, tuf.exceptions.BadVersionNumberError))
-
-    else:
-      self.fail('TUF did not prevent a mix-and-match attack.')
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_multiple_repositories_integration.py b/tests/test_multiple_repositories_integration.py
deleted file mode 100755
index 24bd48e5bd..0000000000
--- a/tests/test_multiple_repositories_integration.py
+++ /dev/null
@@ -1,278 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_multiple_repositories_integration.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  February 2, 2017
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Verify that clients and the repository tools are able to keep track of
-  multiple repositories and separate sets of metadata for each.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import logging
-import shutil
-import unittest
-import json
-import sys
-
-import tuf
-import tuf.log
-import tuf.roledb
-import tuf.client.updater as updater
-import tuf.settings
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.repository_tool as repo_tool
-
-from tests import utils
-
-import six
-import securesystemslib
-
-logger = logging.getLogger(__name__)
-
-repo_tool.disable_console_log_messages()
-
-
-class TestMultipleRepositoriesIntegration(unittest_toolbox.Modified_TestCase):
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-
-    self.temporary_repository_root = self.make_temp_directory(directory=
-        self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client', 'test_repository1')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-    original_map_file = os.path.join(original_repository_files, 'map.json')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = os.path.join(self.temporary_repository_root,
-        'repository_server1')
-    self.repository_directory2 = os.path.join(self.temporary_repository_root,
-        'repository_server2')
-
-    # Setting 'tuf.settings.repositories_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.temporary_repository_root
-
-    self.repository_name = 'test_repository1'
-    self.repository_name2 = 'test_repository2'
-
-    self.client_directory = os.path.join(self.temporary_repository_root,
-        self.repository_name)
-    self.client_directory2 = os.path.join(self.temporary_repository_root,
-        self.repository_name2)
-
-    self.keystore_directory = os.path.join(self.temporary_repository_root, 'keystore')
-    self.map_file = os.path.join(self.client_directory, 'map.json')
-    self.map_file2 = os.path.join(self.client_directory2, 'map.json')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_repository, self.repository_directory2)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_client, self.client_directory2)
-    shutil.copyfile(original_map_file, self.map_file)
-    shutil.copyfile(original_map_file, self.map_file2)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-
-    # Needed because in some tests simple_server.py cannot be found.
-    # The reason is that the current working directory
-    # has been changed when executing a subprocess.
-    SIMPLE_SERVER_PATH = os.path.join(os.getcwd(), 'simple_server.py')
-
-    # Creates a subprocess running a server.
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server=SIMPLE_SERVER_PATH, popen_cwd=self.repository_directory)
-
-    logger.debug('Server process started.')
-
-    # Creates a subprocess running a server.
-    self.server_process_handler2 = utils.TestServerProcess(log=logger,
-        server=SIMPLE_SERVER_PATH, popen_cwd=self.repository_directory2)
-
-    logger.debug('Server process 2 started.')
-
-    url_prefix = 'http://localhost:' + str(self.server_process_handler.port)
-    url_prefix2 = 'http://localhost:' + str(self.server_process_handler2.port)
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    self.repository_mirrors2 = {'mirror1': {'url_prefix': url_prefix2,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instances.  The test cases will use these client
-    # updaters to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-        self.repository_mirrors)
-    self.repository_updater2 = updater.Updater(self.repository_name2,
-        self.repository_mirrors2)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-
-    # Cleans the resources and flush the logged lines (if any).
-    self.server_process_handler.clean()
-    self.server_process_handler2.clean()
-
-    # updater.Updater() populates the roledb with the name "test_repository1"
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    shutil.rmtree(self.temporary_directory)
-
-
-  def test_update(self):
-    self.assertEqual('test_repository1', str(self.repository_updater))
-    self.assertEqual('test_repository2', str(self.repository_updater2))
-
-    self.assertEqual(sorted(['role1', 'root', 'snapshot', 'targets', 'timestamp']),
-        sorted(tuf.roledb.get_rolenames('test_repository1')))
-
-    self.assertEqual(sorted(['role1', 'root', 'snapshot', 'targets', 'timestamp']),
-        sorted(tuf.roledb.get_rolenames('test_repository2')))
-
-    # Note: refresh() resets the known metadata and updates the latest
-    # top-level metadata.
-    self.repository_updater.refresh()
-
-    self.assertEqual(sorted(['root', 'snapshot', 'targets', 'timestamp']),
-        sorted(tuf.roledb.get_rolenames('test_repository1')))
-
-    # test_repository2 wasn't refreshed and should still know about delegated
-    # roles.
-    self.assertEqual(sorted(['root', 'role1', 'snapshot', 'targets', 'timestamp']),
-        sorted(tuf.roledb.get_rolenames('test_repository2')))
-
-    # 'role1.json' should be downloaded, because it provides info for the
-    # requested 'file3.txt'.
-    valid_targetinfo = self.repository_updater.get_one_valid_targetinfo('file3.txt')
-
-    self.assertEqual(sorted(['role2', 'role1', 'root', 'snapshot', 'targets', 'timestamp']),
-        sorted(tuf.roledb.get_rolenames('test_repository1')))
-
-
-
-
-  def test_repository_tool(self):
-
-    self.assertEqual(self.repository_name, str(self.repository_updater))
-    self.assertEqual(self.repository_name2, str(self.repository_updater2))
-
-    repository = repo_tool.load_repository(self.repository_directory,
-        self.repository_name)
-    repository2 = repo_tool.load_repository(self.repository_directory2,
-        self.repository_name2)
-
-    repository.timestamp.version = 88
-    self.assertEqual(['timestamp'], tuf.roledb.get_dirty_roles(
-        self.repository_name))
-    self.assertEqual([], tuf.roledb.get_dirty_roles(self.repository_name2))
-
-    repository2.timestamp.version = 100
-    self.assertEqual(['timestamp'], tuf.roledb.get_dirty_roles(
-        self.repository_name2))
-
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file, "password")
-
-    repository.timestamp.load_signing_key(timestamp_private)
-    repository2.timestamp.load_signing_key(timestamp_private)
-
-    repository.write('timestamp', increment_version_number=False)
-    repository2.write('timestamp', increment_version_number=False)
-
-    # And move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.rmtree(os.path.join(self.repository_directory2, 'metadata'))
-
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-        os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory2, 'metadata.staged'),
-        os.path.join(self.repository_directory2, 'metadata'))
-
-    # Verify that the client retrieves the expected updates.
-    logger.info('Downloading timestamp from server 1.')
-    self.repository_updater.refresh()
-
-    self.assertEqual(
-        88, self.repository_updater.metadata['current']['timestamp']['version'])
-    logger.info('Downloading timestamp from server 2.')
-    self.repository_updater2.refresh()
-
-    self.assertEqual(
-        100, self.repository_updater2.metadata['current']['timestamp']['version'])
-
-    # Test the behavior of the multi-repository updater.
-    map_file = securesystemslib.util.load_json_file(self.map_file)
-    map_file['repositories'][self.repository_name] = ['http://localhost:' \
-        + str(self.server_process_handler.port)]
-    map_file['repositories'][self.repository_name2] = ['http://localhost:' \
-        + str(self.server_process_handler2.port)]
-    with open(self.map_file, 'w') as file_object:
-      file_object.write(json.dumps(map_file))
-
-    # Try to load a non-existent map file.
-    self.assertRaises(tuf.exceptions.Error, updater.MultiRepoUpdater, 'bad_path')
-
-    multi_repo_updater = updater.MultiRepoUpdater(self.map_file)
-    valid_targetinfo = multi_repo_updater.get_valid_targetinfo('file3.txt')
-
-    for my_updater, my_targetinfo in six.iteritems(valid_targetinfo):
-      my_updater.download_target(my_targetinfo, self.temporary_directory)
-      self.assertTrue(os.path.exists(os.path.join(self.temporary_directory, 'file3.txt')))
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_proxy_environment.py b/tests/test_proxy_environment.py
new file mode 100644
index 0000000000..ade7b35002
--- /dev/null
+++ b/tests/test_proxy_environment.py
@@ -0,0 +1,217 @@
+# Copyright 2025, the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test ngclient ProxyEnvironment"""
+
+from __future__ import annotations
+
+import sys
+import unittest
+from unittest.mock import Mock, patch
+
+from urllib3 import PoolManager, ProxyManager
+
+from tests import utils
+from tuf.ngclient._internal.proxy import ProxyEnvironment
+
+
+class TestProxyEnvironment(unittest.TestCase):
+    """Test ngclient ProxyEnvironment implementation
+
+    These tests use the ProxyEnvironment.get_pool_manager() endpoint and then
+    look at the ProxyEnvironment._poolmanagers dict keys to decide if the result
+    is correct.
+
+    The test environment is changed via mocking getproxies(): this is a urllib
+    method that returns a dict with the proxy environment variable contents.
+
+    Testing ProxyEnvironment.request() would possibly be better but far more
+    difficult: the current test implementation does not require actually setting up
+    all of the different proxies.
+    """
+
+    def assert_pool_managers(
+        self, env: ProxyEnvironment, expected: list[str | None]
+    ) -> None:
+        # Pool managers have the expected proxy urls
+        self.assertEqual(list(env._pool_managers.keys()), expected)
+
+        # Pool manager types are as expected
+        for proxy_url, pool_manager in env._pool_managers.items():
+            self.assertIsInstance(pool_manager, PoolManager)
+            if proxy_url is not None:
+                self.assertIsInstance(pool_manager, ProxyManager)
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_no_variables(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {}
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There is a single pool manager (no proxies)
+        self.assert_pool_managers(env, [None])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_proxy_set(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "https": "http://localhost:8888",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There are two pool managers: A plain poolmanager and https proxymanager
+        self.assert_pool_managers(env, [None, "http://localhost:8888"])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_proxies_set(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "http": "http://localhost:8888",
+            "https": "http://localhost:9999",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There are two pool managers: A http proxymanager and https proxymanager
+        self.assert_pool_managers(
+            env, ["http://localhost:8888", "http://localhost:9999"]
+        )
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_no_proxy_set(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "http": "http://localhost:8888",
+            "https": "http://localhost:9999",
+            "no": "somesite.com, example.com, another.site.com",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+
+        # There is a single pool manager (no proxies)
+        self.assert_pool_managers(env, [None])
+
+        env.get_pool_manager("http", "differentsite.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There are three pool managers: plain poolmanager for no_proxy domains,
+        # http proxymanager and https proxymanager
+        self.assert_pool_managers(
+            env, [None, "http://localhost:8888", "http://localhost:9999"]
+        )
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_no_proxy_subdomain_match(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "https": "http://localhost:9999",
+            "no": "somesite.com, example.com, another.site.com",
+        }
+
+        env = ProxyEnvironment()
+
+        # this should match example.com in no_proxy
+        env.get_pool_manager("https", "subdomain.example.com")
+
+        # There is a single pool manager (no proxies)
+        self.assert_pool_managers(env, [None])
+
+        # this should not match example.com in no_proxy
+        env.get_pool_manager("https", "xexample.com")
+
+        # There are two pool managers: plain poolmanager for no_proxy domains,
+        # and a https proxymanager
+        self.assert_pool_managers(env, [None, "http://localhost:9999"])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_no_proxy_wildcard(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "https": "http://localhost:8888",
+            "no": "*",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "differentsite.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+
+        # There is a single pool manager, no proxies
+        self.assert_pool_managers(env, [None])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_no_proxy_leading_dot(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "https": "http://localhost:8888",
+            "no": ".example.com",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+
+        # There is a single pool manager, no proxies
+        self.assert_pool_managers(env, [None])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_all_proxy_set(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "all": "http://localhost:8888",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There is a single proxy manager
+        self.assert_pool_managers(env, ["http://localhost:8888"])
+
+        # This urllib3 currently only handles http and https but let's test anyway
+        env.get_pool_manager("file", None)
+
+        # proxy manager and a plain pool manager
+        self.assert_pool_managers(env, ["http://localhost:8888", None])
+
+    @patch("tuf.ngclient._internal.proxy.getproxies")
+    def test_all_proxy_and_no_proxy_set(self, mock_getproxies: Mock) -> None:
+        mock_getproxies.return_value = {
+            "all": "http://localhost:8888",
+            "no": "somesite.com, example.com, another.site.com",
+        }
+
+        env = ProxyEnvironment()
+        env.get_pool_manager("http", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "example.com")
+        env.get_pool_manager("https", "subdomain.example.com")
+
+        # There is a single pool manager (no proxies)
+        self.assert_pool_managers(env, [None])
+
+        env.get_pool_manager("http", "differentsite.com")
+        env.get_pool_manager("https", "differentsite.com")
+
+        # There are two pool managers: plain poolmanager for no_proxy domains and
+        # one proxymanager
+        self.assert_pool_managers(env, [None, "http://localhost:8888"])
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_proxy_use.py b/tests/test_proxy_use.py
deleted file mode 100755
index b3305d97e2..0000000000
--- a/tests/test_proxy_use.py
+++ /dev/null
@@ -1,368 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2018, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program>
-  test_proxy_use.py
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Integration/regression test of TUF downloads through proxies.
-
-  NOTE: Make sure test_proxy_use.py is run in 'tuf/tests/' directory.
-  Otherwise, test data or scripts may not be found.
-
-  THIS module requires Python2.7 (not 2.8.x, not 3.x, just 2.7.x) as the test
-  proxy it uses only supports Python2.7.
-
-  So long as the tests succeed in Python 2.7, it is unlikely that TUF
-  behaves differently with respect to proxies when it runs in other Python
-  versions.
-
-  As a result of this dependency, this test is only run by aggregate_tests.py
-  when the Python version is 2.7.x.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-import os
-import unittest
-import sys
-
-import tuf
-import tuf.download as download
-import tuf.log
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.exceptions
-
-from tests import utils
-
-import six
-
-logger = logging.getLogger(__name__)
-
-IS_PY_VERSION_SUPPORTED = sys.version_info == (2, 7)
-
-# Use setUpModule to tell unittest runner to skip this test module gracefully.
-def setUpModule():
-    if not IS_PY_VERSION_SUPPORTED:
-        raise unittest.SkipTest('requires Python 2.7')
-
-class TestWithProxies(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    """
-    Setup performed before the first test function (TestWithProxies class
-    method) runs.
-    Launch HTTP, HTTPS, and proxy servers in the current working directory.
-    We'll set up four servers:
-     - HTTP server (simple_server.py)
-     - HTTPS server (simple_https_server.py)
-     - HTTP proxy server (proxy_server.py)
-         (that supports HTTP CONNECT to funnel HTTPS connections)
-     - HTTPS proxy server (proxy_server.py)
-         (trusted by the client to intercept and resign connections)
-    """
-
-    unittest_toolbox.Modified_TestCase.setUpClass()
-
-    if not six.PY2:
-      raise NotImplementedError("TestWithProxies only works with Python 2"
-                                " (proxy_server.py is Python2 only)")
-
-    # Launch a simple HTTP server (serves files in the current dir).
-    cls.http_server_handler = utils.TestServerProcess(log=logger)
-
-    # Launch an HTTPS server (serves files in the current dir).
-    cls.https_server_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py')
-
-    # Launch an HTTP proxy server derived from inaz2/proxy2.
-    # This one is able to handle HTTP CONNECT requests, and so can pass HTTPS
-    # requests on to the target server.
-    cls.http_proxy_handler = utils.TestServerProcess(log=logger,
-        server='proxy_server.py')
-
-    # Note that the HTTP proxy server's address uses http://, regardless of the
-    # type of connection used with the target server.
-    cls.http_proxy_addr = 'http://127.0.0.1:' + str(cls.http_proxy_handler.port)
-
-
-    # Launch an HTTPS proxy server, also derived from inaz2/proxy2.
-    # (An HTTPS proxy performs its own TLS connection with the client and must
-    # be trusted by it, and is capable of tampering.)
-    # We instruct the proxy server to expect certain certificates from the
-    # target server.
-    # 1st arg: port
-    # 2nd arg: whether to intercept (HTTPS proxy) or relay (TCP tunnel using
-    #   HTTP CONNECT verb, to facilitate an HTTPS connection between the client
-    #   and server which the proxy cannot inspect)
-    # 3rd arg: (optional) certificate file for telling the proxy what target
-    #   server certs to accept in its HTTPS connection to the target server.
-    #   This is only relevant if the proxy is in intercept mode.
-    good_cert_fpath = os.path.join('ssl_certs', 'ssl_cert.crt')
-    cls.https_proxy_handler = utils.TestServerProcess(log=logger,
-        server='proxy_server.py', extra_cmd_args=['intercept',
-        good_cert_fpath])
-
-    # Note that the HTTPS proxy server's address uses https://, regardless of
-    # the type of connection used with the target server.
-    cls.https_proxy_addr = 'https://localhost:' + str(cls.https_proxy_handler.port)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    """
-    Cleanup performed after the last of the tests (TestWithProxies methods)
-    has been run.
-    Stop server process and perform clean up.
-    """
-    unittest_toolbox.Modified_TestCase.tearDownClass()
-
-    for proc_handler in [
-        cls.http_server_handler,
-        cls.https_server_handler,
-        cls.http_proxy_handler,
-        cls.https_proxy_handler,
-      ]:
-
-        # Kill the SimpleHTTPServer process.
-        proc_handler.clean()
-
-
-
-  def setUp(self):
-    """
-    Setup performed before EACH test function (TestWithProxies class method)
-    runs.
-    """
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    # Dictionary for saving environment values to restore.
-    self.old_env_values = {}
-
-    # Make a temporary file to serve on the server, and determine its length,
-    # and its url on the server.
-    current_dir = os.getcwd()
-    target_filepath = self.make_temp_data_file(directory=current_dir)
-
-    with open(target_filepath, 'r') as target_file_object:
-      self.target_data_length = len(target_file_object.read())
-
-    suffix = '/' + os.path.basename(target_filepath)
-    self.url = \
-        'http://localhost:' + str(self.http_server_handler.port) + suffix
-
-    self.url_https = \
-        'https://localhost:' + str(self.https_server_handler.port) + suffix
-
-
-
-
-
-  def tearDown(self):
-    """
-    Cleanup performed after each test (each TestWithProxies method).
-    Reset environment variables (for next test, etc.).
-    """
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-
-    self.restore_all_modified_env_values()
-
-    for proc_handler in [
-        self.http_server_handler,
-        self.https_server_handler,
-        self.http_proxy_handler,
-        self.https_proxy_handler,
-      ]:
-
-        # Logs stdout and stderr from the sever subprocess.
-        proc_handler.flush_log()
-
-
-
-
-  def test_baseline_no_proxy(self):
-    """
-    Test a length-validating TUF download of a file through a proxy. Use an
-    HTTP proxy, and perform an HTTP connection with the final server.
-    """
-
-    logger.info('Trying HTTP download with no proxy: ' + self.url)
-    download.safe_download(self.url, self.target_data_length)
-    download.unsafe_download(self.url, self.target_data_length)
-
-
-
-
-
-  def test_http_dl_via_smart_http_proxy(self):
-    """
-    Test a length-validating TUF download of a file through a proxy. Use an
-    HTTP proxy normally, and make an HTTP connection with the final server.
-    """
-
-    self.set_env_value('HTTP_PROXY', self.http_proxy_addr)
-
-    logger.info('Trying HTTP download via HTTP proxy: ' + self.url)
-    download.safe_download(self.url, self.target_data_length)
-    download.unsafe_download(self.url, self.target_data_length)
-
-
-
-
-
-  def test_https_dl_via_smart_http_proxy(self):
-    """
-    Test a length-validating TUF download of a file through a proxy. Use an
-    HTTP proxy that supports HTTP CONNECT (which essentially causes it to act
-    as a TCP proxy), and perform an HTTPS connection through with the final
-    server.
-
-    Note that the proxy address is still http://... even though the connection
-    with the target server is an HTTPS connection. The proxy itself will act as
-    a TCP proxy via HTTP CONNECT.
-    """
-    self.set_env_value('HTTP_PROXY', self.http_proxy_addr) # http as intended
-    self.set_env_value('HTTPS_PROXY', self.http_proxy_addr) # http as intended
-
-    self.set_env_value('REQUESTS_CA_BUNDLE',
-        os.path.join('ssl_certs', 'ssl_cert.crt'))
-    # Clear sessions to ensure that the certificate we just specified is used.
-    # TODO: Confirm necessity of this session clearing and lay out mechanics.
-    tuf.download._sessions = {}
-
-    logger.info('Trying HTTPS download via HTTP proxy: ' + self.url_https)
-    download.safe_download(self.url_https, self.target_data_length)
-    download.unsafe_download(self.url_https, self.target_data_length)
-
-
-
-
-
-  def test_http_dl_via_https_proxy(self):
-    """
-    Test a length-validating TUF download of a file through a proxy. Use an
-    HTTPS proxy, and perform an HTTP connection with the final server.
-    """
-    self.set_env_value('HTTP_PROXY', self.https_proxy_addr)
-    self.set_env_value('HTTPS_PROXY', self.https_proxy_addr) # unnecessary
-
-    # We're making an HTTPS connection with the proxy. The proxy will make a
-    # plain HTTP connection to the target server.
-    self.set_env_value('REQUESTS_CA_BUNDLE',
-        os.path.join('ssl_certs', 'proxy_ca.crt'))
-    # Clear sessions to ensure that the certificate we just specified is used.
-    # TODO: Confirm necessity of this session clearing and lay out mechanics.
-    tuf.download._sessions = {}
-
-    logger.info('Trying HTTP download via HTTPS proxy: ' + self.url_https)
-    download.safe_download(self.url, self.target_data_length)
-    download.unsafe_download(self.url, self.target_data_length)
-
-
-
-
-
-  def test_https_dl_via_https_proxy(self):
-    """
-    Test a length-validating TUF download of a file through a proxy. Use an
-    HTTPS proxy, and perform an HTTPS connection with the final server.
-    """
-    self.set_env_value('HTTP_PROXY', self.https_proxy_addr) # unnecessary
-    self.set_env_value('HTTPS_PROXY', self.https_proxy_addr)
-
-    # We're making an HTTPS connection with the proxy. The proxy will make its
-    # own HTTPS connection with the target server, and will have to know what
-    # certificate to trust. It was told what certs to trust when it was
-    # started in setUpClass().
-    self.set_env_value('REQUESTS_CA_BUNDLE',
-        os.path.join('ssl_certs', 'proxy_ca.crt'))
-    # Clear sessions to ensure that the certificate we just specified is used.
-    # TODO: Confirm necessity of this session clearing and lay out mechanics.
-    tuf.download._sessions = {}
-
-    logger.info('Trying HTTPS download via HTTPS proxy: ' + self.url_https)
-    download.safe_download(self.url_https, self.target_data_length)
-    download.unsafe_download(self.url_https, self.target_data_length)
-
-
-
-
-
-  def set_env_value(self, key, value):
-    """
-    Set an environment variable after noting what the original value was, if it
-    was set, and add it to the queue for restoring to its original value / lack
-    of a value after the test finishes.
-
-    Safe for multiple uses in one test: does not overwrite original saved value
-    with new saved values.
-    """
-
-    # Only save the current value if we have not previously saved an older
-    # value. The original one is the one we'll restore to, not whatever we
-    # most recently overwrote.
-    if key not in self.old_env_values:
-      # If the value was previously unset in os.environ, save the old value
-      # as None so that we know to unset it.
-      self.old_env_values[key] = os.environ.get(key, None)
-
-    # Actually set the new value.
-    os.environ[key] = value
-
-
-
-
-
-  def restore_env_value(self, key):
-    # Save old values for environment variables for restoration after the test.
-    # Save the pre-existing value of the environment variables HTTP_PROXY and
-    # HTTPS_PROXY so that we can restore them in tearDown() after the test.
-    # If the value was not originally set at all, we'll try to unset it again,
-    # too.
-    assert key in self.old_env_values, 'Test coding mistake: something is ' \
-        'trying to restore environment variable ' + key + ', but that ' \
-        'variable does not appear in the list of values to restore. ' \
-        'Please make sure to use set_env_value().'
-
-    if self.old_env_values[key] is None:
-      # If it was not previously set, try to unset it.
-      # If the platform provides a way to unset environment variables,
-      # del os.environ[key] should unset the variable. Otherwise, we'll just
-      # have to settle for setting it to an empty string.
-      # See os.environ in:
-      #    https://docs.python.org/2/library/os.html#process-parameters
-      os.environ[key] = ''
-      del os.environ[key]
-
-    else:
-      # If it was previously set, restore the original value from when the
-      # test was being set up.
-      os.environ[key] = self.old_env_values[key]
-
-
-
-  def restore_all_modified_env_values(self):
-    for key in self.old_env_values:
-      self.restore_env_value(key)
-
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_replay_attack.py b/tests/test_replay_attack.py
deleted file mode 100755
index 3c5fa389f8..0000000000
--- a/tests/test_replay_attack.py
+++ /dev/null
@@ -1,329 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_replay_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  February 22, 2012.
-
-  April 5, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools. Expanded comments.
-    -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate a replay, or rollback, attack.  In a replay attack, a client is
-  tricked into installing software that is older than that which the client
-  previously knew to be available.
-
-  Note: There is no difference between 'updates' and 'target' files.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import datetime
-import shutil
-import logging
-import unittest
-import sys
-
-import tuf.formats
-import tuf.log
-import tuf.client.updater as updater
-import tuf.repository_tool as repo_tool
-import tuf.unittest_toolbox as unittest_toolbox
-
-from tests import utils
-
-import securesystemslib
-import six
-
-# The repository tool is imported and logs console messages by default.
-# Disable console log messages generated by this unit test.
-repo_tool.disable_console_log_messages()
-
-logger = logging.getLogger(__name__)
-
-
-
-class TestReplayAttack(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.keystore_directory = os.path.join(temporary_repository_root, 'keystore')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-      + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-
-  def test_without_tuf(self):
-    # Scenario:
-    # 'timestamp.json' specifies the latest version of the repository files.
-    # A client should only accept the same version number (specified in the
-    # file) of the metadata, or greater.  A version number less than the one
-    # currently trusted should be rejected.  A non-TUF client may use a
-    # different mechanism for determining versions of metadata, but version
-    # numbers in this integrations because that is what TUF uses.
-    #
-    # Modify the repository's timestamp.json' so that a new version is generated
-    # and accepted by the client, and backup the previous version.  The previous
-    # is then returned the next time the client requests an update.  A non-TUF
-    # client (without a way to detect older versions of metadata, and thus
-    # updates) is expected to download older metadata and outdated files.
-    # Verify that the older version of timestamp.json' is downloaded by the
-    # non-TUF client.
-
-    # Backup the current version of 'timestamp'.  It will be used as the
-    # outdated version returned to the client.  The repository tool removes
-    # obsolete metadadata, so do *not* save the backup version in the
-    # repository's metadata directory.
-    timestamp_path = os.path.join(self.repository_directory, 'metadata',
-                                  'timestamp.json')
-    backup_timestamp = os.path.join(self.repository_directory,
-                                    'timestamp.json.backup')
-    shutil.copy(timestamp_path, backup_timestamp)
-
-    # The fileinfo of the previous version is saved to verify that it is indeed
-    # accepted by the non-TUF client.
-    length, hashes = securesystemslib.util.get_file_details(backup_timestamp)
-    previous_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Modify the timestamp file on the remote repository.
-    repository = repo_tool.load_repository(self.repository_directory)
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    repository.timestamp.load_signing_key(timestamp_private)
-
-    # Set an arbitrary expiration so that the repository tool generates a new
-    # version.
-    repository.timestamp.expiration = datetime.datetime(2030, 1, 1, 12, 12)
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Save the fileinfo of the new version generated to verify that it is
-    # saved by the client.
-    length, hashes = securesystemslib.util.get_file_details(timestamp_path)
-    new_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-    url_file = os.path.join(url_prefix, 'metadata', 'timestamp.json')
-    client_timestamp_path = os.path.join(self.client_directory,
-        self.repository_name, 'metadata', 'current', 'timestamp.json')
-
-    # On Windows, the URL portion should not contain back slashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_timestamp_path)
-
-    length, hashes = securesystemslib.util.get_file_details(client_timestamp_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is equal to the new version.
-    self.assertEqual(download_fileinfo, new_fileinfo)
-
-    # Restore the previous version of 'timestamp.json' on the remote repository
-    # and verify that the non-TUF client downloads it (expected, but not ideal).
-    shutil.move(backup_timestamp, timestamp_path)
-
-    # On Windows, the URL portion should not contain back slashes.
-    six.moves.urllib.request.urlretrieve(url_file.replace('\\', '/'), client_timestamp_path)
-
-    length, hashes = securesystemslib.util.get_file_details(client_timestamp_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is equal to the previous version.
-    self.assertEqual(download_fileinfo, previous_fileinfo)
-    self.assertNotEqual(download_fileinfo, new_fileinfo)
-
-
-
-  def test_with_tuf(self):
-    # The same scenario outlined in test_without_tuf() is followed here, except
-    # with a TUF client (scenario description provided in the opening comment
-    # block of that test case.) The TUF client performs a refresh of top-level
-    # metadata, which also includes 'timestamp.json'.
-
-    # Backup the current version of 'timestamp'.  It will be used as the
-    # outdated version returned to the client.  The repository tool removes
-    # obsolete metadadata, so do *not* save the backup version in the
-    # repository's metadata directory.
-    timestamp_path = os.path.join(self.repository_directory, 'metadata',
-                                  'timestamp.json')
-    backup_timestamp = os.path.join(self.repository_directory,
-                                    'timestamp.json.backup')
-    shutil.copy(timestamp_path, backup_timestamp)
-
-    # The fileinfo of the previous version is saved to verify that it is indeed
-    # accepted by the non-TUF client.
-    length, hashes = securesystemslib.util.get_file_details(backup_timestamp)
-    previous_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Modify the timestamp file on the remote repository.
-    repository = repo_tool.load_repository(self.repository_directory)
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    repository.timestamp.load_signing_key(timestamp_private)
-
-    # Set an arbitrary expiration so that the repository tool generates a new
-    # version.
-    repository.timestamp.expiration = datetime.datetime(2030, 1, 1, 12, 12)
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Save the fileinfo of the new version generated to verify that it is
-    # saved by the client.
-    length, hashes = securesystemslib.util.get_file_details(timestamp_path)
-    new_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Refresh top-level metadata, including 'timestamp.json'.  Installation of
-    # new version of 'timestamp.json' is expected.
-    self.repository_updater.refresh()
-
-    client_timestamp_path = os.path.join(self.client_directory,
-        self.repository_name, 'metadata', 'current', 'timestamp.json')
-    length, hashes = securesystemslib.util.get_file_details(client_timestamp_path)
-    download_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Verify 'download_fileinfo' is equal to the new version.
-    self.assertEqual(download_fileinfo, new_fileinfo)
-
-    # Restore the previous version of 'timestamp.json' on the remote repository
-    # and verify that the non-TUF client downloads it (expected, but not ideal).
-    shutil.move(backup_timestamp, timestamp_path)
-    logger.info('Moving the timestamp.json backup to the current version.')
-
-    # Verify that the TUF client detects replayed metadata and refuses to
-    # continue the update process.
-    try:
-      self.repository_updater.refresh()
-
-    # Verify that the specific 'tuf.exceptions.ReplayedMetadataError' is raised by each
-    # mirror.
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_url, mirror_error in six.iteritems(exception.mirror_errors):
-        url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-        url_file = os.path.join(url_prefix, 'metadata', 'timestamp.json')
-
-        # Verify that 'timestamp.json' is the culprit.
-        self.assertEqual(url_file.replace('\\', '/'), mirror_url)
-        self.assertTrue(isinstance(mirror_error, tuf.exceptions.ReplayedMetadataError))
-
-    else:
-      self.fail('TUF did not prevent a replay attack.')
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_repository.py b/tests/test_repository.py
new file mode 100644
index 0000000000..5f43e8e3b8
--- /dev/null
+++ b/tests/test_repository.py
@@ -0,0 +1,255 @@
+# Copyright 2024 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Tests for tuf.repository module"""
+
+from __future__ import annotations
+
+import copy
+import logging
+import sys
+import unittest
+from collections import defaultdict
+from datetime import datetime, timedelta, timezone
+
+from securesystemslib.signer import CryptoSigner, Signer
+
+from tests import utils
+from tuf.api.metadata import (
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Delegations,
+    Metadata,
+    MetaFile,
+    Root,
+    Snapshot,
+    TargetFile,
+    Targets,
+    Timestamp,
+)
+from tuf.repository import Repository
+
+logger = logging.getLogger(__name__)
+
+_signed_init = {
+    Root.type: Root,
+    Snapshot.type: Snapshot,
+    Targets.type: Targets,
+    Timestamp.type: Timestamp,
+}
+
+
+class TestingRepository(Repository):
+    """Very simple in-memory repository implementation
+
+    This repository keeps the metadata for all versions of all roles in memory.
+    It also keeps all target content in memory.
+
+    Mostly copied from examples/repository.
+
+    Attributes:
+        role_cache: Every historical metadata version of every role in this
+            repository. Keys are role names and values are lists of Metadata
+        signer_cache: All signers available to the repository. Keys are role
+            names, values are lists of signers
+    """
+
+    expiry_period = timedelta(days=1)
+
+    def __init__(self) -> None:
+        # all versions of all metadata
+        self.role_cache: dict[str, list[Metadata]] = defaultdict(list)
+        # all current keys
+        self.signer_cache: dict[str, list[Signer]] = defaultdict(list)
+        # version cache for snapshot and all targets, updated in close().
+        # The 'defaultdict(lambda: ...)' trick allows close() to easily modify
+        # the version without always creating a new MetaFile
+        self._snapshot_info = MetaFile(1)
+        self._targets_infos: dict[str, MetaFile] = defaultdict(
+            lambda: MetaFile(1)
+        )
+
+        # setup a basic repository, generate signing key per top-level role
+        with self.edit_root() as root:
+            for role in ["root", "timestamp", "snapshot", "targets"]:
+                signer = CryptoSigner.generate_ecdsa()
+                self.signer_cache[role].append(signer)
+                root.add_key(signer.public_key, role)
+
+        for role in ["timestamp", "snapshot", "targets"]:
+            with self.edit(role):
+                pass
+
+    @property
+    def targets_infos(self) -> dict[str, MetaFile]:
+        return self._targets_infos
+
+    @property
+    def snapshot_info(self) -> MetaFile:
+        return self._snapshot_info
+
+    def open(self, role: str) -> Metadata:
+        """Return current Metadata for role from 'storage'
+        (or create a new one)
+        """
+
+        if role not in self.role_cache:
+            signed_init = _signed_init.get(role, Targets)
+            md = Metadata(signed_init())
+
+            # this makes version bumping in close() simpler
+            md.signed.version = 0
+            return md
+
+        # return a _copy_ of latest metadata from storage
+        return copy.deepcopy(self.role_cache[role][-1])
+
+    def close(self, role: str, md: Metadata) -> None:
+        """Store a version of metadata. Handle version bumps, expiry, signing"""
+        md.signed.version += 1
+        md.signed.expires = datetime.now(timezone.utc) + self.expiry_period
+
+        md.signatures.clear()
+        for signer in self.signer_cache[role]:
+            md.sign(signer, append=True)
+
+        # store new metadata version, update version caches
+        self.role_cache[role].append(md)
+        if role == "snapshot":
+            self._snapshot_info.version = md.signed.version
+        elif role not in ["root", "timestamp"]:
+            self._targets_infos[f"{role}.json"].version = md.signed.version
+
+
+class TestRepository(unittest.TestCase):
+    """Tests for tuf.repository module."""
+
+    def setUp(self) -> None:
+        self.repo = TestingRepository()
+
+    def test_initial_repo_setup(self) -> None:
+        # check that we have metadata for top level roles
+        self.assertEqual(4, len(self.repo.role_cache))
+        for role in TOP_LEVEL_ROLE_NAMES:
+            # There should be a single version for each role
+            role_versions = self.repo.role_cache[role]
+            self.assertEqual(1, len(role_versions))
+            self.assertEqual(1, role_versions[-1].signed.version)
+
+        # test the Repository helpers:
+        self.assertIsInstance(self.repo.root(), Root)
+        self.assertIsInstance(self.repo.timestamp(), Timestamp)
+        self.assertIsInstance(self.repo.snapshot(), Snapshot)
+        self.assertIsInstance(self.repo.targets(), Targets)
+
+    def test_do_snapshot(self) -> None:
+        # Expect no-op because targets have not changed and snapshot is still valid
+        created, _ = self.repo.do_snapshot()
+
+        self.assertFalse(created)
+        snapshot_versions = self.repo.role_cache["snapshot"]
+        self.assertEqual(1, len(snapshot_versions))
+        self.assertEqual(1, snapshot_versions[-1].signed.version)
+
+    def test_do_snapshot_after_targets_change(self) -> None:
+        # do a targets change, expect do_snapshot to create a new snapshot
+        with self.repo.edit_targets() as targets:
+            targets.targets["path"] = TargetFile.from_data("path", b"data")
+
+        created, _ = self.repo.do_snapshot()
+
+        self.assertTrue(created)
+        snapshot_versions = self.repo.role_cache["snapshot"]
+        self.assertEqual(2, len(snapshot_versions))
+        self.assertEqual(2, snapshot_versions[-1].signed.version)
+
+    def test_do_snapshot_after_new_targets_delegation(self) -> None:
+        # Add new delegated target, expect do_snapshot to create a new snapshot
+
+        signer = CryptoSigner.generate_ecdsa()
+        self.repo.signer_cache["delegated"].append(signer)
+
+        # Add a new delegation to targets
+        with self.repo.edit_targets() as targets:
+            role = DelegatedRole("delegated", [], 1, True, [])
+            targets.delegations = Delegations({}, {"delegated": role})
+
+            targets.add_key(signer.public_key, "delegated")
+
+        # create a version of the delegated metadata
+        with self.repo.edit("delegated") as _:
+            pass
+
+        created, _ = self.repo.do_snapshot()
+
+        self.assertTrue(created)
+        snapshot_versions = self.repo.role_cache["snapshot"]
+        self.assertEqual(2, len(snapshot_versions))
+        self.assertEqual(2, snapshot_versions[-1].signed.version)
+
+    def test_do_snapshot_after_snapshot_key_change(self) -> None:
+        # change snapshot signing keys
+        with self.repo.edit_root() as root:
+            # remove key
+            keyid = root.roles["snapshot"].keyids[0]
+            root.revoke_key(keyid, "snapshot")
+            self.repo.signer_cache["snapshot"].clear()
+
+            # add new key
+            signer = CryptoSigner.generate_ecdsa()
+            self.repo.signer_cache["snapshot"].append(signer)
+            root.add_key(signer.public_key, "snapshot")
+
+        # snapshot is no longer signed correctly, expect do_snapshot to create a new snapshot
+        created, _ = self.repo.do_snapshot()
+
+        self.assertTrue(created)
+        snapshot_versions = self.repo.role_cache["snapshot"]
+        self.assertEqual(2, len(snapshot_versions))
+        self.assertEqual(2, snapshot_versions[-1].signed.version)
+
+    def test_do_timestamp(self) -> None:
+        # Expect no-op because snapshot has not changed and timestamp is still valid
+        created, _ = self.repo.do_timestamp()
+
+        self.assertFalse(created)
+        timestamp_versions = self.repo.role_cache["timestamp"]
+        self.assertEqual(1, len(timestamp_versions))
+        self.assertEqual(1, timestamp_versions[-1].signed.version)
+
+    def test_do_timestamp_after_snapshot_change(self) -> None:
+        # do a snapshot change, expect do_timestamp to create a new timestamp
+        self.repo.do_snapshot(force=True)
+
+        created, _ = self.repo.do_timestamp()
+
+        self.assertTrue(created)
+        timestamp_versions = self.repo.role_cache["timestamp"]
+        self.assertEqual(2, len(timestamp_versions))
+        self.assertEqual(2, timestamp_versions[-1].signed.version)
+
+    def test_do_timestamp_after_timestamp_key_change(self) -> None:
+        # change timestamp signing keys
+        with self.repo.edit_root() as root:
+            # remove key
+            keyid = root.roles["timestamp"].keyids[0]
+            root.revoke_key(keyid, "timestamp")
+            self.repo.signer_cache["timestamp"].clear()
+
+            # add new key
+            signer = CryptoSigner.generate_ecdsa()
+            self.repo.signer_cache["timestamp"].append(signer)
+            root.add_key(signer.public_key, "timestamp")
+
+        # timestamp is no longer signed correctly, expect do_timestamp to create a new timestamp
+        created, _ = self.repo.do_timestamp()
+
+        self.assertTrue(created)
+        timestamp_versions = self.repo.role_cache["timestamp"]
+        self.assertEqual(2, len(timestamp_versions))
+        self.assertEqual(2, timestamp_versions[-1].signed.version)
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_repository_lib.py b/tests/test_repository_lib.py
deleted file mode 100755
index 36d1826a2e..0000000000
--- a/tests/test_repository_lib.py
+++ /dev/null
@@ -1,1111 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_repository_lib.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  June 1, 2014.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'repository_lib.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import time
-import datetime
-import logging
-import tempfile
-import json
-import shutil
-import unittest
-import copy
-import sys
-
-import tuf
-import tuf.formats
-import tuf.log
-import tuf.formats
-import tuf.roledb
-import tuf.keydb
-import tuf.settings
-
-import tuf.repository_lib as repo_lib
-import tuf.repository_tool as repo_tool
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.exceptions
-import securesystemslib.rsa_keys
-import securesystemslib.interface
-import securesystemslib.storage
-import six
-
-logger = logging.getLogger(__name__)
-
-repo_lib.disable_console_log_messages()
-
-TOP_LEVEL_METADATA_FILES = ['root.json', 'targets.json', 'timestamp.json',
-                            'snapshot.json']
-
-
-class TestRepositoryToolFunctions(unittest.TestCase):
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownClass() so that
-    # temporary files are always removed, even when exceptions occur.
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    shutil.rmtree(cls.temporary_directory)
-
-
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_import_rsa_privatekey_from_file(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-
-    # Load one of the pre-generated key files from 'tuf/tests/repository_data'.
-    # 'password' unlocks the pre-generated key files.
-    key_filepath = os.path.join('repository_data', 'keystore',
-                                'root_key')
-    self.assertTrue(os.path.exists(key_filepath))
-
-    imported_rsa_key = repo_lib.import_rsa_privatekey_from_file(key_filepath,
-                                                                 'password')
-    self.assertTrue(securesystemslib.formats.RSAKEY_SCHEMA.matches(imported_rsa_key))
-
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      repo_lib.import_rsa_privatekey_from_file, 3, 'pw')
-
-
-    # Test invalid argument.
-    # Non-existent key file.
-    nonexistent_keypath = os.path.join(temporary_directory,
-                                       'nonexistent_keypath')
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        repo_lib.import_rsa_privatekey_from_file,
-        nonexistent_keypath, 'pw')
-
-    # Invalid key file argument.
-    invalid_keyfile = os.path.join(temporary_directory, 'invalid_keyfile')
-    with open(invalid_keyfile, 'wb') as file_object:
-      file_object.write(b'bad keyfile')
-    self.assertRaises(securesystemslib.exceptions.CryptoError, repo_lib.import_rsa_privatekey_from_file,
-                      invalid_keyfile, 'pw')
-
-
-
-  def test_import_ed25519_privatekey_from_file(self):
-    # Test normal case.
-    # Generate ed25519 keys that can be imported.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    ed25519_keypath = os.path.join(temporary_directory, 'ed25519_key')
-    securesystemslib.interface.generate_and_write_ed25519_keypair(
-        password='pw', filepath=ed25519_keypath)
-
-    imported_ed25519_key = \
-      repo_lib.import_ed25519_privatekey_from_file(ed25519_keypath, 'pw')
-    self.assertTrue(securesystemslib.formats.ED25519KEY_SCHEMA.matches(imported_ed25519_key))
-
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      repo_lib.import_ed25519_privatekey_from_file, 3, 'pw')
-
-
-    # Test invalid argument.
-    # Non-existent key file.
-    nonexistent_keypath = os.path.join(temporary_directory,
-                                       'nonexistent_keypath')
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-                      repo_lib.import_ed25519_privatekey_from_file,
-                      nonexistent_keypath, 'pw')
-
-    # Invalid key file argument.
-    invalid_keyfile = os.path.join(temporary_directory, 'invalid_keyfile')
-    with open(invalid_keyfile, 'wb') as file_object:
-      file_object.write(b'bad keyfile')
-
-    self.assertRaises(securesystemslib.exceptions.Error,
-        repo_lib.import_ed25519_privatekey_from_file, invalid_keyfile, 'pw')
-
-    # Invalid private key imported (contains unexpected keytype.)
-    imported_ed25519_key['keytype'] = 'invalid_keytype'
-
-    # Use 'rsa_keys.py' to bypass the key format validation performed by
-    # 'keys.py'.
-    salt, iterations, derived_key = \
-        securesystemslib.rsa_keys._generate_derived_key('pw')
-
-    # Store the derived key info in a dictionary, the object expected
-    # by the non-public _encrypt() routine.
-    derived_key_information = {'salt': salt, 'iterations': iterations,
-        'derived_key': derived_key}
-
-    # Convert the key object to json string format and encrypt it with the
-    # derived key.
-    encrypted_key = securesystemslib.rsa_keys._encrypt(
-          json.dumps(imported_ed25519_key), derived_key_information)
-
-    with open(ed25519_keypath, 'wb') as file_object:
-        file_object.write(encrypted_key.encode('utf-8'))
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.import_ed25519_privatekey_from_file, ed25519_keypath, 'pw')
-
-
-
-  def test_get_top_level_metadata_filenames(self):
-
-    # Test normal case.
-    metadata_directory = os.path.join('metadata/')
-    filenames = {'root.json': metadata_directory + 'root.json',
-                 'targets.json': metadata_directory + 'targets.json',
-                 'snapshot.json': metadata_directory + 'snapshot.json',
-                 'timestamp.json': metadata_directory + 'timestamp.json'}
-
-    self.assertEqual(filenames,
-        repo_lib.get_top_level_metadata_filenames('metadata/'))
-
-    # If a directory argument is not specified, the current working directory
-    # is used.
-    metadata_directory = os.getcwd()
-    filenames = {'root.json': os.path.join(metadata_directory, 'root.json'),
-                 'targets.json': os.path.join(metadata_directory, 'targets.json'),
-                 'snapshot.json': os.path.join(metadata_directory, 'snapshot.json'),
-                 'timestamp.json': os.path.join(metadata_directory, 'timestamp.json')}
-    self.assertEqual(filenames,
-        repo_lib.get_top_level_metadata_filenames(metadata_directory))
-
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.get_top_level_metadata_filenames, 3)
-
-
-
-  def test_get_targets_metadata_fileinfo(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    test_filepath = os.path.join(temporary_directory, 'file.txt')
-
-    with open(test_filepath, 'wt') as file_object:
-      file_object.write('test file')
-
-    # Generate test fileinfo object.  It is assumed SHA256 and SHA512 hashes
-    # are computed by get_targets_metadata_fileinfo().
-    file_length = os.path.getsize(test_filepath)
-    sha256_digest_object = securesystemslib.hash.digest_filename(test_filepath)
-    sha512_digest_object = securesystemslib.hash.digest_filename(test_filepath, algorithm='sha512')
-    file_hashes = {'sha256': sha256_digest_object.hexdigest(),
-                   'sha512': sha512_digest_object.hexdigest()}
-    fileinfo = {'length': file_length, 'hashes': file_hashes}
-    self.assertTrue(tuf.formats.TARGETS_FILEINFO_SCHEMA.matches(fileinfo))
-
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-    self.assertEqual(fileinfo, repo_lib.get_targets_metadata_fileinfo(test_filepath,
-                                                                      storage_backend))
-
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      repo_lib.get_targets_metadata_fileinfo, 3,
-                      storage_backend)
-
-
-    # Test non-existent file.
-    nonexistent_filepath = os.path.join(temporary_directory, 'oops.txt')
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      repo_lib.get_targets_metadata_fileinfo,
-                      nonexistent_filepath, storage_backend)
-
-
-
-  def test_get_target_hash(self):
-    # Test normal case.
-    expected_target_hashes = {
-      '/file1.txt': 'e3a3d89eb3b70ce3fbce6017d7b8c12d4abd5635427a0e8a238f53157df85b3d',
-      '/README.txt': '8faee106f1bb69f34aaf1df1e3c2e87d763c4d878cb96b91db13495e32ceb0b0',
-      '/packages/file2.txt': 'c9c4a5cdd84858dd6a23d98d7e6e6b2aec45034946c16b2200bc317c75415e92'
-    }
-    for filepath, target_hash in six.iteritems(expected_target_hashes):
-      self.assertTrue(tuf.formats.RELPATH_SCHEMA.matches(filepath))
-      self.assertTrue(securesystemslib.formats.HASH_SCHEMA.matches(target_hash))
-      self.assertEqual(repo_lib.get_target_hash(filepath), target_hash)
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.get_target_hash, 8)
-
-
-
-  def test_generate_root_metadata(self):
-    # Test normal case.
-    # Load the root metadata provided in 'tuf/tests/repository_data/'.
-    root_filepath = os.path.join('repository_data', 'repository',
-                                 'metadata', 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-
-    # generate_root_metadata() expects the top-level roles and keys to be
-    # available in 'tuf.keydb' and 'tuf.roledb'.
-    tuf.roledb.create_roledb_from_root_metadata(root_signable['signed'])
-    tuf.keydb.create_keydb_from_root_metadata(root_signable['signed'])
-    expires = '1985-10-21T01:22:00Z'
-
-    root_metadata = repo_lib.generate_root_metadata(1, expires,
-                                                    consistent_snapshot=False)
-    self.assertTrue(tuf.formats.ROOT_SCHEMA.matches(root_metadata))
-
-    root_keyids = tuf.roledb.get_role_keyids('root')
-    tuf.keydb._keydb_dict['default'][root_keyids[0]]['keytype'] = 'bad_keytype'
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_root_metadata, 1,
-                      expires, consistent_snapshot=False)
-
-    # Reset the root key's keytype, so that we can next verify that a different
-    # securesystemslib.exceptions.Error exception is raised for duplicate keyids.
-    tuf.keydb._keydb_dict['default'][root_keyids[0]]['keytype'] = 'rsa'
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_root_metadata,
-                      '3', expires, False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_root_metadata,
-                      1, '3', False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_root_metadata,
-                      1, expires, 3)
-
-    # Test for missing required roles and keys.
-    tuf.roledb.clear_roledb()
-    tuf.keydb.clear_keydb()
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_root_metadata,
-                      1, expires, False)
-
-
-
-  def test_generate_targets_metadata(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    targets_directory = os.path.join(temporary_directory, 'targets')
-    file1_path = os.path.join(targets_directory, 'file.txt')
-    securesystemslib.util.ensure_parent_dir(file1_path)
-
-    with open(file1_path, 'wt') as file_object:
-      file_object.write('test file.')
-
-    # Set valid generate_targets_metadata() arguments.  Add a custom field for
-    # the 'target_files' target set below.
-    version = 1
-    datetime_object = datetime.datetime(2030, 1, 1, 12, 0)
-    expiration_date = datetime_object.isoformat() + 'Z'
-    file_permissions = oct(os.stat(file1_path).st_mode)[4:]
-    target_files = {'file.txt': {'custom': {'file_permission': file_permissions}}}
-
-    # Delegations data must be loaded into roledb since
-    # generate_targets_metadata tries to update delegations keyids
-    # and threshold
-    repository_path = os.path.join('repository_data', 'repository')
-    repository = repo_tool.load_repository(repository_path)
-    roleinfo = tuf.roledb.get_roleinfo('targets')
-    delegations = roleinfo['delegations']
-
-    targets_metadata = repo_lib.generate_targets_metadata(targets_directory,
-        target_files, version, expiration_date, delegations, False)
-    self.assertTrue(tuf.formats.TARGETS_SCHEMA.matches(targets_metadata))
-
-    # Valid arguments with 'delegations' set to None.
-    targets_metadata = repo_lib.generate_targets_metadata(targets_directory,
-        target_files, version, expiration_date, None, False)
-    self.assertTrue(tuf.formats.TARGETS_SCHEMA.matches(targets_metadata))
-
-    # Test update in targets' delegations
-    keystore_path = os.path.join('repository_data', 'keystore')
-    targets_public_keypath = os.path.join(keystore_path, 'targets_key.pub')
-    targets_public_key = securesystemslib.interface.\
-        import_ed25519_publickey_from_file(targets_public_keypath)
-
-    # Add new key and threshold to delegated role
-    repository.targets('role1').add_verification_key(targets_public_key)
-    repository.targets('role1').threshold = 2
-    role1_keyids = tuf.roledb.get_role_keyids('role1')
-    role1_threshold = tuf.roledb.get_role_threshold('role1')
-    roleinfo = tuf.roledb.get_roleinfo('targets')
-    delegations = roleinfo['delegations']
-    old_delegations = copy.deepcopy(delegations)
-
-    targets_metadata  = repo_lib.generate_targets_metadata(targets_directory,
-        target_files, version, expiration_date, delegations, False)
-    self.assertNotEqual(old_delegations, delegations)
-    self.assertEqual(role1_keyids,
-        targets_metadata['delegations']['roles'][0]['keyids'])
-    self.assertEqual(role1_threshold,
-        targets_metadata['delegations']['roles'][0]['threshold'])
-    for keyid in role1_keyids:
-      self.assertIn(keyid, targets_metadata['delegations']['keys'])
-
-
-    # Verify that 'digest.filename' file is saved to 'targets_directory' if
-    # the 'write_consistent_targets' argument is True.
-    list_targets_directory = os.listdir(targets_directory)
-    targets_metadata = repo_lib.generate_targets_metadata(targets_directory,
-        target_files, version, expiration_date, delegations,
-        write_consistent_targets=True)
-    new_list_targets_directory = os.listdir(targets_directory)
-
-    # Verify that 'targets_directory' contains only one extra item.
-    self.assertTrue(len(list_targets_directory) + 1,
-                    len(new_list_targets_directory))
-
-    # Verify that an exception is not raised if the target files already exist.
-    repo_lib.generate_targets_metadata(targets_directory, target_files,
-                                       version, expiration_date, delegations,
-                                       write_consistent_targets=True)
-
-
-    # Verify that 'targets_metadata' contains a 'custom' entry (optional)
-    # for 'file.txt'.
-    self.assertTrue('custom' in targets_metadata['targets']['file.txt'])
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      3, target_files, version, expiration_date)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      targets_directory, 3, version, expiration_date)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, '3', expiration_date)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, '3')
-
-    # Improperly formatted 'delegations' and 'write_consistent_targets'
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, expiration_date,
-                      3, False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, expiration_date,
-                      delegations, 3)
-
-    # Test non-existent target file.
-    bad_target_file = \
-      {'non-existent.txt': {'file_permission': file_permissions}}
-
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_targets_metadata,
-                      targets_directory, bad_target_file, version,
-                      expiration_date)
-
-
-    # Test use of an existing fileinfo structures
-    target1_hashes = {'sha256': 'c2986576f5fdfd43944e2b19e775453b96748ec4fe2638a6d2f32f1310967095'}
-    target2_hashes = {'sha256': '517c0ce943e7274a2431fa5751e17cfd5225accd23e479bfaad13007751e87ef'}
-
-    # Test missing expected field, hashes, when use_existing_fileinfo
-    target_files = {'file.txt': {'length': 555}}
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, expiration_date,
-                      use_existing_fileinfo=True)
-
-    # Test missing expected field, length, when use_existing_fileinfo
-    target_files = {'file.txt': {'hashes': target1_hashes}}
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, expiration_date,
-                      use_existing_fileinfo=True)
-
-    # Test missing both expected fields when use_existing_fileinfo
-    target_files = {'file.txt': {}}
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.generate_targets_metadata,
-                      targets_directory, target_files, version, expiration_date,
-                      use_existing_fileinfo=True)
-
-    target_files = {'file1.txt': {'custom': {'meta': 'foo'},
-                                  'hashes': target1_hashes,
-                                  'length': 555},
-                    'file2.txt': {'custom': {'meta': 'bar'},
-                                  'hashes': target2_hashes,
-                                  'length': 42}}
-    targets_metadata = \
-      repo_lib.generate_targets_metadata(targets_directory, target_files,
-                                         version, expiration_date, delegations,
-                                         False, use_existing_fileinfo=True)
-
-
-  def _setup_generate_snapshot_metadata_test(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    original_repository_path = os.path.join('repository_data',
-                                            'repository')
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    shutil.copytree(original_repository_path, repository_directory)
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_lib.METADATA_STAGED_DIRECTORY_NAME)
-
-    targets_directory = os.path.join(repository_directory, repo_lib.TARGETS_DIRECTORY_NAME)
-
-    version = 1
-    expiration_date = '1985-10-21T13:20:00Z'
-
-    # Load a valid repository so that top-level roles exist in roledb and
-    # generate_snapshot_metadata() has roles to specify in snapshot metadata.
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repository = repo_tool.Repository(repository_directory, metadata_directory,
-                                      targets_directory, storage_backend)
-    repository_junk = repo_tool.load_repository(repository_directory)
-
-    # Load a valid repository so that top-level roles exist in roledb and
-    # generate_snapshot_metadata() has roles to specify in snapshot metadata.
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-    # For testing purposes, store an invalid metadata file in the metadata directory
-    # to verify that it isn't loaded by generate_snapshot_metadata().  Unknown
-    # metadata file extensions should be ignored.
-    invalid_metadata_file = os.path.join(metadata_directory, 'role_file.xml')
-    with open(invalid_metadata_file, 'w') as file_object:
-      file_object.write('bad extension on metadata file')
-
-    return metadata_directory, version, expiration_date, \
-      storage_backend
-
-
-  def test_generate_snapshot_metadata(self):
-    metadata_directory, version, expiration_date, storage_backend = \
-        self._setup_generate_snapshot_metadata_test()
-
-    snapshot_metadata = \
-      repo_lib.generate_snapshot_metadata(metadata_directory, version,
-                                          expiration_date,
-                                          storage_backend,
-                                          consistent_snapshot=False)
-    self.assertTrue(tuf.formats.SNAPSHOT_SCHEMA.matches(snapshot_metadata))
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_snapshot_metadata,
-                      3, version, expiration_date, consistent_snapshot=False,
-                      storage_backend=storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_snapshot_metadata,
-                      metadata_directory, '3', expiration_date, storage_backend,
-                      consistent_snapshot=False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_snapshot_metadata,
-                      metadata_directory, version, '3', storage_backend,
-                      consistent_snapshot=False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.generate_snapshot_metadata,
-                      metadata_directory, version, expiration_date, 3,
-                      storage_backend)
-
-
-
-  def test_generate_snapshot_metadata_with_length(self):
-    metadata_directory, version, expiration_date, storage_backend = \
-        self._setup_generate_snapshot_metadata_test()
-
-    snapshot_metadata = \
-      repo_lib.generate_snapshot_metadata(metadata_directory, version,
-                                          expiration_date,
-                                          storage_backend,
-                                          consistent_snapshot=False,
-                                          use_length=True)
-    self.assertTrue(tuf.formats.SNAPSHOT_SCHEMA.matches(snapshot_metadata))
-
-    metadata_files_info_dict = snapshot_metadata['meta']
-    for metadata_filename in sorted(os.listdir(metadata_directory), reverse=True):
-
-      # In the metadata_directory, there are files with format:
-      # 1.root.json. The prefix number should be removed.
-      stripped_filename, version = \
-        repo_lib._strip_version_number(metadata_filename,
-                                       consistent_snapshot=True)
-
-      # In the repository, the file "role_file.xml" have been added to make
-      # sure that non-json files aren't loaded. This file should be filtered.
-      if stripped_filename.endswith('.json'):
-        if stripped_filename not in TOP_LEVEL_METADATA_FILES:
-          # Check that length is not calculated but hashes is
-          self.assertIn('length', metadata_files_info_dict[stripped_filename])
-          self.assertNotIn('hashes', metadata_files_info_dict[stripped_filename])
-
-
-
-  def test_generate_snapshot_metadata_with_hashes(self):
-    metadata_directory, version, expiration_date, storage_backend = \
-        self._setup_generate_snapshot_metadata_test()
-
-    snapshot_metadata = \
-      repo_lib.generate_snapshot_metadata(metadata_directory, version,
-                                          expiration_date,
-                                          storage_backend,
-                                          consistent_snapshot=False,
-                                          use_hashes=True)
-    self.assertTrue(tuf.formats.SNAPSHOT_SCHEMA.matches(snapshot_metadata))
-
-    metadata_files_info_dict = snapshot_metadata['meta']
-    for metadata_filename in sorted(os.listdir(metadata_directory), reverse=True):
-
-      # In the metadata_directory, there are files with format:
-      # 1.root.json. The prefix number should be removed.
-      stripped_filename, version = \
-        repo_lib._strip_version_number(metadata_filename,
-                                       consistent_snapshot=True)
-
-      # In the repository, the file "role_file.xml" have been added to make
-      # sure that non-json files aren't loaded. This file should be filtered.
-      if stripped_filename.endswith('.json'):
-        if stripped_filename not in TOP_LEVEL_METADATA_FILES:
-          # Check that hashes is not calculated but length is
-          self.assertNotIn('length', metadata_files_info_dict[stripped_filename])
-          self.assertIn('hashes', metadata_files_info_dict[stripped_filename])
-
-
-
-  def test_generate_snapshot_metadata_with_hashes_and_length(self):
-    metadata_directory, version, expiration_date, storage_backend = \
-        self._setup_generate_snapshot_metadata_test()
-
-    snapshot_metadata = \
-      repo_lib.generate_snapshot_metadata(metadata_directory, version,
-                                          expiration_date,
-                                          storage_backend,
-                                          consistent_snapshot=False,
-                                          use_length=True,
-                                          use_hashes=True)
-    self.assertTrue(tuf.formats.SNAPSHOT_SCHEMA.matches(snapshot_metadata))
-
-    metadata_files_info_dict = snapshot_metadata['meta']
-    for metadata_filename in sorted(os.listdir(metadata_directory), reverse=True):
-
-      # In the metadata_directory, there are files with format:
-      # 1.root.json. The prefix number should be removed.
-      stripped_filename, version = \
-        repo_lib._strip_version_number(metadata_filename,
-                                       consistent_snapshot=True)
-
-      # In the repository, the file "role_file.xml" have been added to make
-      # sure that non-json files aren't loaded. This file should be filtered.
-      if stripped_filename.endswith('.json'):
-        if stripped_filename not in TOP_LEVEL_METADATA_FILES:
-          # Check that both length and hashes are not are not calculated
-          self.assertIn('length', metadata_files_info_dict[stripped_filename])
-          self.assertIn('hashes', metadata_files_info_dict[stripped_filename])
-
-
-
-  def _setup_generate_timestamp_metadata_test(self):
-    # Test normal case.
-    repository_name = 'test_repository'
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    original_repository_path = os.path.join('repository_data',
-                                            'repository')
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    shutil.copytree(original_repository_path, repository_directory)
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_lib.METADATA_STAGED_DIRECTORY_NAME)
-    targets_directory = os.path.join(repository_directory, repo_lib.TARGETS_DIRECTORY_NAME)
-
-    snapshot_file_path = os.path.join(metadata_directory,
-                                      repo_lib.SNAPSHOT_FILENAME)
-
-    # Set valid generate_timestamp_metadata() arguments.
-    version = 1
-    expiration_date = '1985-10-21T13:20:00Z'
-
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    # Load a valid repository so that top-level roles exist in roledb and
-    # generate_snapshot_metadata() has roles to specify in snapshot metadata.
-    repository = repo_tool.Repository(repository_directory, metadata_directory,
-        targets_directory, repository_name)
-
-    repository_junk = repo_tool.load_repository(repository_directory,
-        repository_name)
-
-    return snapshot_file_path, version, expiration_date, storage_backend, \
-        repository_name
-
-
-  def test_generate_timestamp_metadata(self):
-    snapshot_file_path, version, expiration_date, storage_backend, \
-      repository_name = self._setup_generate_timestamp_metadata_test()
-
-    timestamp_metadata = repo_lib.generate_timestamp_metadata(snapshot_file_path,
-        version, expiration_date, storage_backend, repository_name)
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches(timestamp_metadata))
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.generate_timestamp_metadata, 3, version, expiration_date,
-        storage_backend, repository_name)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.generate_timestamp_metadata, snapshot_file_path, '3',
-        expiration_date, storage_backend, repository_name)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.generate_timestamp_metadata, snapshot_file_path, version, '3',
-        storage_backend, repository_name)
-
-
-
-  def test_generate_timestamp_metadata_without_length(self):
-    snapshot_file_path, version, expiration_date, storage_backend, \
-      repository_name = self._setup_generate_timestamp_metadata_test()
-
-    timestamp_metadata = repo_lib.generate_timestamp_metadata(snapshot_file_path,
-        version, expiration_date, storage_backend, repository_name,
-        use_length=False)
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches(timestamp_metadata))
-
-    # Check that length is not calculated but hashes is
-    timestamp_file_info = timestamp_metadata['meta']
-
-    self.assertNotIn('length', timestamp_file_info['snapshot.json'])
-    self.assertIn('hashes', timestamp_file_info['snapshot.json'])
-
-
-
-  def test_generate_timestamp_metadata_without_hashes(self):
-    snapshot_file_path, version, expiration_date, storage_backend, \
-      repository_name = self._setup_generate_timestamp_metadata_test()
-
-    timestamp_metadata = repo_lib.generate_timestamp_metadata(snapshot_file_path,
-        version, expiration_date, storage_backend, repository_name,
-        use_hashes=False)
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches(timestamp_metadata))
-
-    # Check that hashes is not calculated but length is
-    timestamp_file_info = timestamp_metadata['meta']
-
-    self.assertIn('length', timestamp_file_info['snapshot.json'])
-    self.assertNotIn('hashes', timestamp_file_info['snapshot.json'])
-
-
-
-  def test_generate_timestamp_metadata_without_length_and_hashes(self):
-    snapshot_file_path, version, expiration_date, storage_backend, \
-      repository_name = self._setup_generate_timestamp_metadata_test()
-
-    timestamp_metadata = repo_lib.generate_timestamp_metadata(snapshot_file_path,
-        version, expiration_date, storage_backend, repository_name,
-        use_hashes=False, use_length=False)
-    self.assertTrue(tuf.formats.TIMESTAMP_SCHEMA.matches(timestamp_metadata))
-
-    # Check that length and hashes attributes are not added
-    timestamp_file_info = timestamp_metadata['meta']
-    self.assertNotIn('length', timestamp_file_info['snapshot.json'])
-    self.assertNotIn('hashes', timestamp_file_info['snapshot.json'])
-
-
-
-  def test_sign_metadata(self):
-    # Test normal case.
-    repository_name = 'test_repository'
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    metadata_path = os.path.join('repository_data', 'repository', 'metadata')
-    keystore_path = os.path.join('repository_data', 'keystore')
-    root_filename = os.path.join(metadata_path, 'root.json')
-    root_metadata = securesystemslib.util.load_json_file(root_filename)['signed']
-    targets_filename = os.path.join(metadata_path, 'targets.json')
-    targets_metadata = securesystemslib.util.load_json_file(targets_filename)['signed']
-
-    tuf.keydb.create_keydb_from_root_metadata(root_metadata, repository_name)
-    tuf.roledb.create_roledb_from_root_metadata(root_metadata, repository_name)
-    root_keyids = tuf.roledb.get_role_keyids('root', repository_name)
-    targets_keyids = tuf.roledb.get_role_keyids('targets', repository_name)
-
-    root_private_keypath = os.path.join(keystore_path, 'root_key')
-    root_private_key = repo_lib.import_rsa_privatekey_from_file(root_private_keypath,
-        'password')
-
-    # Sign with a valid, but not a threshold, key.
-    targets_public_keypath = os.path.join(keystore_path, 'targets_key.pub')
-    targets_public_key = securesystemslib.interface.\
-        import_ed25519_publickey_from_file(targets_public_keypath)
-
-    # sign_metadata() expects the private key 'root_metadata' to be in
-    # 'tuf.keydb'.  Remove any public keys that may be loaded before
-    # adding private key, otherwise a 'tuf.KeyAlreadyExists' exception is
-    # raised.
-    tuf.keydb.remove_key(root_private_key['keyid'],
-        repository_name=repository_name)
-    tuf.keydb.add_key(root_private_key, repository_name=repository_name)
-    tuf.keydb.remove_key(targets_public_key['keyid'], repository_name=repository_name)
-    tuf.keydb.add_key(targets_public_key, repository_name=repository_name)
-
-    # Verify that a valid root signable is generated.
-    root_signable = repo_lib.sign_metadata(root_metadata, root_keyids,
-        root_filename, repository_name)
-    self.assertTrue(tuf.formats.SIGNABLE_SCHEMA.matches(root_signable))
-
-    # Test for an unset private key (in this case, target's).
-    repo_lib.sign_metadata(targets_metadata, targets_keyids, targets_filename,
-        repository_name)
-
-    # Add an invalid keytype to one of the root keys.
-    root_keyid = root_keyids[0]
-    tuf.keydb._keydb_dict[repository_name][root_keyid]['keytype'] = 'bad_keytype'
-    self.assertRaises(securesystemslib.exceptions.Error, repo_lib.sign_metadata,
-        root_metadata, root_keyids, root_filename, repository_name)
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.sign_metadata, 3, root_keyids, 'root.json', repository_name)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.sign_metadata, root_metadata, 3, 'root.json', repository_name)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.sign_metadata, root_metadata, root_keyids, 3, repository_name)
-
-
-
-  def test_write_metadata_file(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    metadata_directory = os.path.join('repository_data', 'repository', 'metadata')
-    root_filename = os.path.join(metadata_directory, 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filename)
-
-    output_filename = os.path.join(temporary_directory, 'root.json')
-    version_number = root_signable['signed']['version'] + 1
-
-    self.assertFalse(os.path.exists(output_filename))
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repo_lib.write_metadata_file(root_signable, output_filename, version_number,
-        consistent_snapshot=False, storage_backend=storage_backend)
-    self.assertTrue(os.path.exists(output_filename))
-
-    # Attempt to over-write the previously written metadata file.  An exception
-    # is not raised in this case, only a debug message is logged.
-    repo_lib.write_metadata_file(root_signable, output_filename, version_number,
-        consistent_snapshot=False, storage_backend=storage_backend)
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.write_metadata_file,
-        3, output_filename, version_number, False, storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.write_metadata_file,
-        root_signable, 3, version_number, False, storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.write_metadata_file,
-        root_signable, output_filename, '3', False, storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_lib.write_metadata_file,
-        root_signable, output_filename, storage_backend, version_number, 3)
-
-
-
-  def test_create_tuf_client_directory(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    repository_directory = os.path.join('repository_data', 'repository')
-    client_directory = os.path.join(temporary_directory, 'client')
-
-    repo_lib.create_tuf_client_directory(repository_directory, client_directory)
-
-    self.assertTrue(os.path.exists(client_directory))
-    metadata_directory = os.path.join(client_directory, 'metadata')
-    current_directory = os.path.join(metadata_directory, 'current')
-    previous_directory = os.path.join(metadata_directory, 'previous')
-    self.assertTrue(os.path.exists(client_directory))
-    self.assertTrue(os.path.exists(metadata_directory))
-    self.assertTrue(os.path.exists(current_directory))
-    self.assertTrue(os.path.exists(previous_directory))
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.create_tuf_client_directory, 3, client_directory)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_lib.create_tuf_client_directory, repository_directory, 3)
-
-
-    # Test invalid argument (i.e., client directory already exists.)
-    self.assertRaises(tuf.exceptions.RepositoryError,
-        repo_lib.create_tuf_client_directory, repository_directory,
-        client_directory)
-
-    # Test invalid client metadata directory (i.e., non-errno.EEXIST exceptions
-    # should be re-raised.)
-    shutil.rmtree(metadata_directory)
-
-    # Save the original metadata directory name so that it can be restored
-    # after testing.
-    metadata_directory_name = repo_lib.METADATA_DIRECTORY_NAME
-    repo_lib.METADATA_DIRECTORY_NAME = '/'
-
-    # Creation of the '/' directory is forbidden on all supported OSs.  The '/'
-    # argument to create_tuf_client_directory should cause it to re-raise a
-    # non-errno.EEXIST exception.
-    self.assertRaises((OSError, tuf.exceptions.RepositoryError),
-        repo_lib.create_tuf_client_directory, repository_directory, '/')
-
-    # Restore the metadata directory name in repo_lib.
-    repo_lib.METADATA_DIRECTORY_NAME = metadata_directory_name
-
-
-
-  def test__generate_and_write_metadata(self):
-    # Test for invalid, or unsupported, rolename.
-    # Load the root metadata provided in 'tuf/tests/repository_data/'.
-    repository_name = 'repository_name'
-    root_filepath = os.path.join('repository_data', 'repository',
-                                 'metadata', 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-
-    # _generate_and_write_metadata() expects the top-level roles
-    # (specifically 'snapshot') and keys to be available in 'tuf.roledb'.
-    tuf.roledb.create_roledb_from_root_metadata(root_signable['signed'],
-        repository_name)
-    tuf.keydb.create_keydb_from_root_metadata(root_signable['signed'],
-        repository_name)
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    targets_directory = os.path.join(temporary_directory, 'targets')
-    os.mkdir(targets_directory)
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory,
-        repo_lib.METADATA_STAGED_DIRECTORY_NAME)
-    targets_metadata = os.path.join('repository_data', 'repository', 'metadata',
-        'targets.json')
-    obsolete_metadata = os.path.join(metadata_directory, 'obsolete_role.json')
-    securesystemslib.util.ensure_parent_dir(obsolete_metadata)
-    shutil.copyfile(targets_metadata, obsolete_metadata)
-
-    keystore_path = os.path.join('repository_data', 'keystore')
-    targets_private_keypath = os.path.join(keystore_path, 'targets_key')
-    targets_private_key = repo_lib.import_ed25519_privatekey_from_file(targets_private_keypath,
-        'password')
-    tuf.keydb.remove_key(targets_private_key['keyid'],
-        repository_name=repository_name)
-    tuf.keydb.add_key(targets_private_key, repository_name=repository_name)
-
-    # Verify that obsolete metadata (a metadata file exists on disk, but the
-    # role is unavailable in 'tuf.roledb').  First add the obsolete
-    # role to 'tuf.roledb' so that its metadata file can be written to disk.
-    targets_roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-    targets_roleinfo['version'] = 1
-    expiration = \
-      tuf.formats.unix_timestamp_to_datetime(int(time.time() + 86400))
-    expiration = expiration.isoformat() + 'Z'
-    targets_roleinfo['expires'] = expiration
-    targets_roleinfo['signing_keyids'] = targets_roleinfo['keyids']
-    tuf.roledb.add_role('obsolete_role', targets_roleinfo,
-        repository_name=repository_name)
-
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repo_lib._generate_and_write_metadata('obsolete_role', obsolete_metadata,
-        targets_directory, metadata_directory, storage_backend,
-        consistent_snapshot=False, filenames=None,
-        repository_name=repository_name)
-
-    snapshot_filepath = os.path.join('repository_data', 'repository',
-                                     'metadata', 'snapshot.json')
-    snapshot_signable = securesystemslib.util.load_json_file(snapshot_filepath)
-    tuf.roledb.remove_role('obsolete_role', repository_name)
-    self.assertTrue(os.path.exists(os.path.join(metadata_directory,
-                                                'obsolete_role.json')))
-    tuf.repository_lib._delete_obsolete_metadata(metadata_directory,
-        snapshot_signable['signed'], False, repository_name,
-        storage_backend)
-    self.assertFalse(os.path.exists(metadata_directory + 'obsolete_role.json'))
-    shutil.copyfile(targets_metadata, obsolete_metadata)
-
-
-
-  def test__delete_obsolete_metadata(self):
-    repository_name = 'test_repository'
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory,
-        repo_lib.METADATA_STAGED_DIRECTORY_NAME)
-    os.makedirs(metadata_directory)
-    snapshot_filepath = os.path.join('repository_data', 'repository',
-        'metadata', 'snapshot.json')
-    snapshot_signable = securesystemslib.util.load_json_file(snapshot_filepath)
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-    # Create role metadata that should not exist in snapshot.json.
-    role1_filepath = os.path.join('repository_data', 'repository', 'metadata',
-        'role1.json')
-    shutil.copyfile(role1_filepath, os.path.join(metadata_directory, 'role2.json'))
-
-    repo_lib._delete_obsolete_metadata(metadata_directory,
-        snapshot_signable['signed'], True, repository_name, storage_backend)
-
-    # _delete_obsolete_metadata should never delete root.json.
-    root_filepath = os.path.join('repository_data', 'repository', 'metadata',
-        'root.json')
-    shutil.copyfile(root_filepath, os.path.join(metadata_directory, 'root.json'))
-    repo_lib._delete_obsolete_metadata(metadata_directory,
-        snapshot_signable['signed'], True, repository_name, storage_backend)
-    self.assertTrue(os.path.exists(os.path.join(metadata_directory, 'root.json')))
-
-    # Verify what happens for a non-existent metadata directory (a debug
-    # message is logged).
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        repo_lib._delete_obsolete_metadata, 'non-existent',
-        snapshot_signable['signed'], True, repository_name, storage_backend)
-
-
-  def test__load_top_level_metadata(self):
-    repository_name = 'test_repository'
-
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory,
-        repo_lib.METADATA_STAGED_DIRECTORY_NAME)
-    targets_directory = os.path.join(repository_directory,
-        repo_lib.TARGETS_DIRECTORY_NAME)
-    shutil.copytree(os.path.join('repository_data', 'repository', 'metadata'),
-        metadata_directory)
-    shutil.copytree(os.path.join('repository_data', 'repository', 'targets'),
-        targets_directory)
-
-    # Add a duplicate signature to the Root file for testing purposes).
-    root_file = os.path.join(metadata_directory, 'root.json')
-    signable = securesystemslib.util.load_json_file(os.path.join(metadata_directory, 'root.json'))
-    signable['signatures'].append(signable['signatures'][0])
-
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repo_lib.write_metadata_file(signable, root_file, 8, False, storage_backend)
-
-    filenames = repo_lib.get_top_level_metadata_filenames(metadata_directory)
-    repository = repo_tool.create_new_repository(repository_directory, repository_name)
-    repo_lib._load_top_level_metadata(repository, filenames, repository_name)
-
-    # Manually add targets delegations to roledb since
-    # repository.write('targets') will try to update its delegations
-    targets_filepath = os.path.join('repository_data', 'repository',
-                                 'metadata', 'targets.json')
-    targets_signable = securesystemslib.util.load_json_file(targets_filepath)
-    delegations = targets_signable['signed']['delegations']
-
-    roleinfo = {}
-    roleinfo['name'] = delegations['roles'][0]['name']
-    roleinfo['keyids'] = delegations['roles'][0]['keyids']
-    roleinfo['threshold'] = delegations['roles'][0]['threshold']
-    roleinfo['version'] = 1
-    tuf.roledb.add_role('role1', roleinfo, repository_name)
-
-    keystore_path = os.path.join('repository_data', 'keystore')
-    root_privkey_path = os.path.join(keystore_path, 'root_key')
-    targets_privkey_path = os.path.join(keystore_path, 'targets_key')
-    snapshot_privkey_path = os.path.join(keystore_path, 'snapshot_key')
-    timestamp_privkey_path = os.path.join(keystore_path, 'timestamp_key')
-
-    repository.root.load_signing_key(repo_lib.import_rsa_privatekey_from_file(root_privkey_path, 'password'))
-    repository.targets.load_signing_key(repo_lib.import_ed25519_privatekey_from_file(targets_privkey_path, 'password'))
-    repository.snapshot.load_signing_key(repo_lib.import_ed25519_privatekey_from_file(snapshot_privkey_path, 'password'))
-    repository.timestamp.load_signing_key(repo_lib.import_ed25519_privatekey_from_file(timestamp_privkey_path, 'password'))
-
-    # Partially write all top-level roles (we increase the threshold of each
-    # top-level role so that they are flagged as partially written.
-    repository.root.threshold = repository.root.threshold + 1
-    repository.snapshot.threshold = repository.snapshot.threshold + 1
-    repository.targets.threshold = repository.targets.threshold + 1
-    repository.timestamp.threshold = repository.timestamp.threshold + 1
-    repository.write('root')
-    repository.write('snapshot')
-    repository.write('targets')
-    repository.write('timestamp')
-
-    repo_lib._load_top_level_metadata(repository, filenames, repository_name)
-
-    # Attempt to load a repository with missing top-level metadata.
-    for role_file in os.listdir(metadata_directory):
-      if role_file.endswith('.json') and not role_file.startswith('root'):
-        role_filename = os.path.join(metadata_directory, role_file)
-        os.remove(role_filename)
-    self.assertRaises(tuf.exceptions.RepositoryError,
-        repo_lib._load_top_level_metadata, repository, filenames,
-        repository_name)
-
-    # Remove the required Root file and verify that an exception is raised.
-    os.remove(os.path.join(metadata_directory, 'root.json'))
-    self.assertRaises(tuf.exceptions.RepositoryError,
-        repo_lib._load_top_level_metadata, repository, filenames,
-        repository_name)
-
-
-
-  def test__remove_invalid_and_duplicate_signatures(self):
-    # Remove duplicate PSS signatures (same key generates valid, but different
-    # signatures).  First load a valid signable (in this case, the root role).
-    repository_name = 'test_repository'
-    root_filepath = os.path.join('repository_data', 'repository',
-        'metadata', 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-    key_filepath = os.path.join('repository_data', 'keystore', 'root_key')
-    root_rsa_key = repo_lib.import_rsa_privatekey_from_file(key_filepath,
-        'password')
-
-    # Add 'root_rsa_key' to tuf.keydb, since
-    # _remove_invalid_and_duplicate_signatures() checks for unknown keys in
-    # tuf.keydb.
-    tuf.keydb.add_key(root_rsa_key, repository_name=repository_name)
-
-    # Append the new valid, but duplicate PSS signature, and test that
-    # duplicates are removed.  create_signature() generates a key for the
-    # key type of the first argument (i.e., root_rsa_key).
-    data = securesystemslib.formats.encode_canonical(root_signable['signed']).encode('utf-8')
-    new_pss_signature = securesystemslib.keys.create_signature(root_rsa_key,
-        data)
-    root_signable['signatures'].append(new_pss_signature)
-
-    expected_number_of_signatures = len(root_signable['signatures'])
-    tuf.repository_lib._remove_invalid_and_duplicate_signatures(root_signable,
-        repository_name)
-    self.assertEqual(len(root_signable), expected_number_of_signatures)
-
-    # Test for an invalid keyid.
-    root_signable['signatures'][0]['keyid'] = '404'
-    tuf.repository_lib._remove_invalid_and_duplicate_signatures(root_signable,
-        repository_name)
-
-    # Re-add a valid signature for the following test condition.
-    root_signable['signatures'].append(new_pss_signature)
-
-    # Test that an exception is not raised if an invalid sig is present,
-    # and that the duplicate key is removed 'root_signable'.
-    root_signable['signatures'][0]['sig'] = '4040'
-    invalid_keyid = root_signable['signatures'][0]['keyid']
-    tuf.repository_lib._remove_invalid_and_duplicate_signatures(root_signable,
-        repository_name)
-
-    for signature in root_signable['signatures']:
-      self.assertFalse(invalid_keyid == signature['keyid'])
-
-
-
-# Run the test cases.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_repository_tool.py b/tests/test_repository_tool.py
deleted file mode 100755
index 0fac025a31..0000000000
--- a/tests/test_repository_tool.py
+++ /dev/null
@@ -1,2207 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_repository_tool.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  April 7, 2014.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'repository_tool.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import time
-import datetime
-import unittest
-import logging
-import tempfile
-import shutil
-import sys
-
-import tuf
-import tuf.log
-import tuf.formats
-import tuf.roledb
-import tuf.keydb
-import tuf.repository_tool as repo_tool
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.exceptions
-import securesystemslib.storage
-
-logger = logging.getLogger(__name__)
-
-repo_tool.disable_console_log_messages()
-
-
-class TestRepository(unittest.TestCase):
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownClass() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-  def test_init(self):
-    # Test normal case.
-    repository_name = 'test_repository'
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repository = repo_tool.Repository('repository_directory/',
-        'metadata_directory/', 'targets_directory/', storage_backend,
-        repository_name)
-    self.assertTrue(isinstance(repository.root, repo_tool.Root))
-    self.assertTrue(isinstance(repository.snapshot, repo_tool.Snapshot))
-    self.assertTrue(isinstance(repository.timestamp, repo_tool.Timestamp))
-    self.assertTrue(isinstance(repository.targets, repo_tool.Targets))
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      storage_backend, 3, 'metadata_directory/', 'targets_directory')
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory', storage_backend, 3, 'targets_directory')
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory', 'metadata_directory', 3, storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory/', 'metadata_directory/', 'targets_directory/',
-                      storage_backend, repository_name, use_timestamp_length=3)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory/', 'metadata_directory/', 'targets_directory/',
-                      storage_backend, repository_name, use_timestamp_length=False,
-                      use_timestamp_hashes=3)
-
-
-
-  def create_repository_directory(self):
-    # Create a repository directory and copy in test targets data
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    targets_directory = os.path.join(temporary_directory, 'repository',
-                                     repo_tool.TARGETS_DIRECTORY_NAME)
-    original_targets_directory = os.path.join('repository_data',
-                                              'repository', 'targets')
-    shutil.copytree(original_targets_directory, targets_directory)
-
-    # In this case, create_new_repository() creates the 'repository/'
-    # sub-directory in 'temporary_directory' if it does not exist.
-    return os.path.join(temporary_directory, 'repository')
-
-
-
-
-  def test_writeall(self):
-    # Test creation of a TUF repository.
-    #
-    # 1. Import public and private keys.
-    # 2. Add verification keys.
-    # 3. Load signing keys.
-    # 4. Add target files.
-    # 5. Perform delegation.
-    # 6. writeall()
-    #
-    # Copy the target files from 'tuf/tests/repository_data' so that writeall()
-    # has target fileinfo to include in metadata.
-    repository_name = 'test_repository'
-    repository_directory = self.create_repository_directory()
-    metadata_directory = os.path.join(repository_directory,
-        repo_tool.METADATA_STAGED_DIRECTORY_NAME)
-
-    repository = repo_tool.create_new_repository(repository_directory, repository_name)
-
-    # (1) Load the public and private keys of the top-level roles, and one
-    # delegated role.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-
-    # Load the public keys.
-    root_pubkey_path = os.path.join(keystore_directory, 'root_key.pub')
-    targets_pubkey_path = os.path.join(keystore_directory, 'targets_key.pub')
-    snapshot_pubkey_path = os.path.join(keystore_directory, 'snapshot_key.pub')
-    timestamp_pubkey_path = os.path.join(keystore_directory, 'timestamp_key.pub')
-    role1_pubkey_path = os.path.join(keystore_directory, 'delegation_key.pub')
-
-    root_pubkey = repo_tool.import_rsa_publickey_from_file(root_pubkey_path)
-    targets_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(targets_pubkey_path)
-    snapshot_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(snapshot_pubkey_path)
-    timestamp_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_pubkey_path)
-    role1_pubkey = repo_tool.import_ed25519_publickey_from_file(role1_pubkey_path)
-
-    # Load the private keys.
-    root_privkey_path = os.path.join(keystore_directory, 'root_key')
-    targets_privkey_path = os.path.join(keystore_directory, 'targets_key')
-    snapshot_privkey_path = os.path.join(keystore_directory, 'snapshot_key')
-    timestamp_privkey_path = os.path.join(keystore_directory, 'timestamp_key')
-    role1_privkey_path = os.path.join(keystore_directory, 'delegation_key')
-
-    root_privkey = \
-      repo_tool.import_rsa_privatekey_from_file(root_privkey_path, 'password')
-    targets_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(targets_privkey_path,
-                                                'password')
-    snapshot_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(snapshot_privkey_path,
-                                                'password')
-    timestamp_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(timestamp_privkey_path,
-                                                'password')
-    role1_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(role1_privkey_path,
-                                                'password')
-
-
-    # (2) Add top-level verification keys.
-    repository.root.add_verification_key(root_pubkey)
-    repository.targets.add_verification_key(targets_pubkey)
-    repository.snapshot.add_verification_key(snapshot_pubkey)
-
-    # Verify that repository.writeall() fails for insufficient threshold
-    # of signatures (default threshold = 1).
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    repository.timestamp.add_verification_key(timestamp_pubkey)
-
-
-    # (3) Load top-level signing keys.
-    repository.status()
-    repository.root.load_signing_key(root_privkey)
-    repository.status()
-    repository.targets.load_signing_key(targets_privkey)
-    repository.status()
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    repository.status()
-
-    # Verify that repository.writeall() fails for insufficient threshold
-    # of signatures (default threshold = 1).
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    repository.timestamp.load_signing_key(timestamp_privkey)
-
-
-    # (4) Add target files.
-    target1 = 'file1.txt'
-    target2 = 'file2.txt'
-    target3 = 'file3.txt'
-    repository.targets.add_target(target1)
-    repository.targets.add_target(target2)
-
-    # (5) Perform delegation.
-    repository.targets.delegate('role1', [role1_pubkey], [target3])
-    repository.targets('role1').load_signing_key(role1_privkey)
-
-    # (6) Write repository.
-    repository.writeall()
-
-    # Verify that the expected metadata is written.
-    for role in ['root.json', 'targets.json', 'snapshot.json', 'timestamp.json']:
-      role_filepath = os.path.join(metadata_directory, role)
-      role_signable = securesystemslib.util.load_json_file(role_filepath)
-
-      # Raise 'securesystemslib.exceptions.FormatError' if 'role_signable' is
-      # an invalid signable.
-      tuf.formats.check_signable_object_format(role_signable)
-
-      self.assertTrue(os.path.exists(role_filepath))
-
-    # Verify the 'role1.json' delegation is also written.
-    role1_filepath = os.path.join(metadata_directory, 'role1.json')
-    role1_signable = securesystemslib.util.load_json_file(role1_filepath)
-    tuf.formats.check_signable_object_format(role1_signable)
-
-    # Verify that an exception is *not* raised for multiple
-    # repository.writeall().
-    repository.writeall()
-
-    # Verify that status() does not raise an exception.
-    repository.status()
-
-    # Verify that status() does not raise
-    # 'tuf.exceptions.InsufficientKeysError' if a top-level role
-    # does not contain a threshold of keys.
-    targets_roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-    old_threshold = targets_roleinfo['threshold']
-    targets_roleinfo['threshold'] = 10
-    tuf.roledb.update_roleinfo('targets', targets_roleinfo,
-        repository_name=repository_name)
-    repository.status()
-
-    # Restore the original threshold values.
-    targets_roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-    targets_roleinfo['threshold'] = old_threshold
-    tuf.roledb.update_roleinfo('targets', targets_roleinfo,
-        repository_name=repository_name)
-
-    # Verify that status() does not raise
-    # 'tuf.exceptions.InsufficientKeysError' if a delegated role
-    # does not contain a threshold of keys.
-    role1_roleinfo = tuf.roledb.get_roleinfo('role1', repository_name)
-    old_role1_threshold = role1_roleinfo['threshold']
-    role1_roleinfo['threshold'] = 10
-    tuf.roledb.update_roleinfo('role1', role1_roleinfo,
-        repository_name=repository_name)
-    repository.status()
-
-    # Restore role1's threshold.
-    role1_roleinfo = tuf.roledb.get_roleinfo('role1', repository_name)
-    role1_roleinfo['threshold'] = old_role1_threshold
-    tuf.roledb.update_roleinfo('role1', role1_roleinfo,
-        repository_name=repository_name)
-
-    # Verify status() does not raise 'tuf.exceptions.UnsignedMetadataError' if any of the
-    # the top-level roles. Test that 'root' is improperly signed.
-    repository.root.unload_signing_key(root_privkey)
-    repository.root.load_signing_key(targets_privkey)
-    repository.status()
-
-    repository.targets('role1').unload_signing_key(role1_privkey)
-    repository.targets('role1').load_signing_key(targets_privkey)
-    repository.status()
-
-    # Reset Root and 'role1', and verify Targets.
-    repository.root.unload_signing_key(targets_privkey)
-    repository.root.load_signing_key(root_privkey)
-    repository.targets('role1').unload_signing_key(targets_privkey)
-    repository.targets('role1').load_signing_key(role1_privkey)
-    repository.targets.unload_signing_key(targets_privkey)
-    repository.targets.load_signing_key(snapshot_privkey)
-    repository.status()
-
-    # Reset Targets and verify Snapshot.
-    repository.targets.unload_signing_key(snapshot_privkey)
-    repository.targets.load_signing_key(targets_privkey)
-    repository.snapshot.unload_signing_key(snapshot_privkey)
-    repository.snapshot.load_signing_key(timestamp_privkey)
-    repository.status()
-
-    # Reset Snapshot and verify timestamp.
-    repository.snapshot.unload_signing_key(timestamp_privkey)
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    repository.timestamp.unload_signing_key(timestamp_privkey)
-    repository.timestamp.load_signing_key(root_privkey)
-    repository.status()
-
-    # Reset Timestamp
-    repository.timestamp.unload_signing_key(root_privkey)
-    repository.timestamp.load_signing_key(timestamp_privkey)
-
-    # Verify that a writeall() fails if a repository is loaded and a change
-    # is made to a role.
-    repo_tool.load_repository(repository_directory, repository_name)
-
-    repository.timestamp.expiration = datetime.datetime(2030, 1, 1, 12, 0)
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    # Load the required Timestamp key so that a valid repository can be written.
-    repository.timestamp.load_signing_key(timestamp_privkey)
-    repository.writeall()
-
-    # Test creation of a consistent snapshot repository.  Writing a consistent
-    # snapshot modifies the Root metadata, which specifies whether a repository
-    # supports consistent snapshot.  Verify that an exception is raised due to
-    # the missing signature of Root.
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall, True)
-
-    # Make sure the private keys of Root (new version required since Root will
-    # change to enable consistent snapshot), Snapshot, role1, and timestamp
-    # loaded before writing consistent snapshot.
-    repository.root.load_signing_key(root_privkey)
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    # Must also load targets signing key, because targets is re-signed when
-    # updating 'role1'.
-    repository.targets.load_signing_key(targets_privkey)
-    repository.targets('role1').load_signing_key(role1_privkey)
-
-    # Verify that a consistent snapshot can be written and loaded.  The roles
-    # above must be marked as dirty, otherwise writeall() will not create a
-    # consistent snapshot for them.
-    repository.mark_dirty(['role1', 'targets', 'root', 'snapshot', 'timestamp'])
-    repository.writeall(consistent_snapshot=True)
-
-    # Verify that the newly written consistent snapshot can be loaded
-    # successfully.
-    repo_tool.load_repository(repository_directory, repository_name)
-
-    # Verify the behavior of marking and unmarking roles as dirty.
-    # We begin by ensuring that writeall() cleared the list of dirty roles..
-    self.assertEqual([], tuf.roledb.get_dirty_roles(repository_name))
-
-    repository.mark_dirty(['root', 'timestamp'])
-    self.assertEqual(['root', 'timestamp'], tuf.roledb.get_dirty_roles(repository_name))
-    repository.unmark_dirty(['root'])
-    self.assertEqual(['timestamp'], tuf.roledb.get_dirty_roles(repository_name))
-
-    # Ensure status() does not leave behind any dirty roles.
-    repository.status()
-    self.assertEqual(['timestamp'], tuf.roledb.get_dirty_roles(repository_name))
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repository.writeall, 3)
-
-
-  def test_writeall_no_files(self):
-    # Test writeall() when using pre-supplied fileinfo
-
-    repository_name = 'test_repository'
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    targets_directory = os.path.join(repository_directory,
-                                     repo_tool.TARGETS_DIRECTORY_NAME)
-
-    repository = repo_tool.create_new_repository(repository_directory, repository_name)
-
-    # (1) Load the public and private keys of the top-level roles, and one
-    # delegated role.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-
-    # Load the public keys.
-    root_pubkey_path = os.path.join(keystore_directory, 'root_key.pub')
-    targets_pubkey_path = os.path.join(keystore_directory, 'targets_key.pub')
-    snapshot_pubkey_path = os.path.join(keystore_directory, 'snapshot_key.pub')
-    timestamp_pubkey_path = os.path.join(keystore_directory, 'timestamp_key.pub')
-
-    root_pubkey = repo_tool.import_rsa_publickey_from_file(root_pubkey_path)
-    targets_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(targets_pubkey_path)
-    snapshot_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(snapshot_pubkey_path)
-    timestamp_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_pubkey_path)
-
-    # Load the private keys.
-    root_privkey_path = os.path.join(keystore_directory, 'root_key')
-    targets_privkey_path = os.path.join(keystore_directory, 'targets_key')
-    snapshot_privkey_path = os.path.join(keystore_directory, 'snapshot_key')
-    timestamp_privkey_path = os.path.join(keystore_directory, 'timestamp_key')
-
-    root_privkey = \
-      repo_tool.import_rsa_privatekey_from_file(root_privkey_path, 'password')
-    targets_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(targets_privkey_path,
-                                                'password')
-    snapshot_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(snapshot_privkey_path,
-                                                'password')
-    timestamp_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(timestamp_privkey_path,
-                                                'password')
-
-
-    # (2) Add top-level verification keys.
-    repository.root.add_verification_key(root_pubkey)
-    repository.targets.add_verification_key(targets_pubkey)
-    repository.snapshot.add_verification_key(snapshot_pubkey)
-
-    # Verify that repository.writeall() fails for insufficient threshold
-    # of signatures (default threshold = 1).
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    repository.timestamp.add_verification_key(timestamp_pubkey)
-
-
-    # (3) Load top-level signing keys.
-    repository.status()
-    repository.root.load_signing_key(root_privkey)
-    repository.status()
-    repository.targets.load_signing_key(targets_privkey)
-    repository.status()
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    repository.status()
-
-    # Verify that repository.writeall() fails for insufficient threshold
-    # of signatures (default threshold = 1).
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    repository.timestamp.load_signing_key(timestamp_privkey)
-
-    # Add target fileinfo
-    target1_hashes = {'sha256': 'c2986576f5fdfd43944e2b19e775453b96748ec4fe2638a6d2f32f1310967095'}
-    target2_hashes = {'sha256': '517c0ce943e7274a2431fa5751e17cfd5225accd23e479bfaad13007751e87ef'}
-    target1_fileinfo = tuf.formats.make_targets_fileinfo(555, target1_hashes)
-    target2_fileinfo = tuf.formats.make_targets_fileinfo(37, target2_hashes)
-    target1 = 'file1.txt'
-    target2 = 'file2.txt'
-    repository.targets.add_target(target1, fileinfo=target1_fileinfo)
-    repository.targets.add_target(target2, fileinfo=target2_fileinfo)
-
-    repository.writeall(use_existing_fileinfo=True)
-
-    # Verify that the expected metadata is written.
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_tool.METADATA_STAGED_DIRECTORY_NAME)
-
-    for role in ['root.json', 'targets.json', 'snapshot.json', 'timestamp.json']:
-      role_filepath = os.path.join(metadata_directory, role)
-      role_signable = securesystemslib.util.load_json_file(role_filepath)
-
-      # Raise 'securesystemslib.exceptions.FormatError' if 'role_signable' is
-      # an invalid signable.
-      tuf.formats.check_signable_object_format(role_signable)
-
-      self.assertTrue(os.path.exists(role_filepath))
-
-
-
-  def test_get_filepaths_in_directory(self):
-    # Test normal case.
-    # Use the pre-generated metadata directory for testing.
-    # Set 'repo' reference to improve readability.
-    repo = repo_tool.Repository
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-
-    # Verify the expected filenames.  get_filepaths_in_directory() returns
-    # a list of absolute paths.
-    metadata_files = repo.get_filepaths_in_directory(metadata_directory)
-
-    # Construct list of file paths expected, determining absolute paths.
-    expected_files = []
-    for filepath in ['1.root.json', 'root.json', 'targets.json',
-        'snapshot.json', 'timestamp.json', 'role1.json', 'role2.json']:
-      expected_files.append(os.path.abspath(os.path.join(
-          'repository_data', 'repository', 'metadata', filepath)))
-
-    self.assertEqual(sorted(expected_files), sorted(metadata_files))
-
-
-    # Test when the 'recursive_walk' argument is True.
-    # In this case, recursive walk should yield the same results as the
-    # previous, non-recursive call.
-    metadata_files = repo.get_filepaths_in_directory(metadata_directory,
-                                                     recursive_walk=True)
-    self.assertEqual(sorted(expected_files), sorted(metadata_files))
-
-    # And this recursive call from the directory above should yield the same
-    # results as well, plus extra files.
-    metadata_files = repo.get_filepaths_in_directory(
-        os.path.join('repository_data', 'repository'), recursive_walk=True)
-    for expected_file in expected_files:
-        self.assertIn(expected_file, metadata_files)
-    # self.assertEqual(sorted(expected_files), sorted(metadata_files))
-
-    # Now let's check it against the full list of expected files for the parent
-    # directory.... We'll add to the existing list. Expect the same files in
-    # metadata.staged/ as in metadata/, and a few target files in targets/
-    # This is somewhat redundant with the previous test, but together they're
-    # probably more future-proof.
-    for filepath in ['file1.txt', 'file2.txt', 'file3.txt']:
-      expected_files.append(os.path.abspath(os.path.join(
-          'repository_data', 'repository', 'targets', filepath)))
-    for filepath in [ '1.root.json', 'root.json', 'targets.json',
-        'snapshot.json', 'timestamp.json', 'role1.json', 'role2.json']:
-      expected_files.append(os.path.abspath(os.path.join(
-          'repository_data', 'repository', 'metadata.staged', filepath)))
-
-    self.assertEqual(sorted(expected_files), sorted(metadata_files))
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo.get_filepaths_in_directory,
-                      3, recursive_walk=False, followlinks=False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo.get_filepaths_in_directory,
-                      metadata_directory, 3, followlinks=False)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo.get_filepaths_in_directory,
-                      metadata_directory, recursive_walk=False, followlinks=3)
-
-    # Test invalid directory argument.
-    # A non-directory.
-    self.assertRaises(securesystemslib.exceptions.Error, repo.get_filepaths_in_directory,
-                      os.path.join(metadata_directory, 'root.json'))
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    nonexistent_directory = os.path.join(temporary_directory, 'nonexistent/')
-    self.assertRaises(securesystemslib.exceptions.Error, repo.get_filepaths_in_directory,
-                      nonexistent_directory, recursive_walk=False,
-                      followlinks=False)
-
-
-
-  def test_writeall_abstract_storage(self):
-    # Test creation of a TUF repository with a custom storage backend to ensure
-    # that functions relying on a storage backend being supplied operate
-    # correctly
-
-
-    class TestStorageBackend(securesystemslib.storage.StorageBackendInterface):
-      """
-      An implementation of securesystemslib.storage.StorageBackendInterface
-      which mutates filenames on put()/get(), translating filename in memory
-      to filename + '.tst' on-disk, such that trying to read the
-      expected/canonical file paths from local storage doesn't find the TUF
-      metadata files.
-      """
-
-      from contextlib import contextmanager
-
-
-      @contextmanager
-      def get(self, filepath):
-        file_object = open(filepath + '.tst', 'rb')
-        yield file_object
-        file_object.close()
-
-
-      def put(self, fileobj, filepath):
-        if not fileobj.closed:
-          fileobj.seek(0)
-
-        with open(filepath + '.tst', 'wb') as destination_file:
-          shutil.copyfileobj(fileobj, destination_file)
-          destination_file.flush()
-          os.fsync(destination_file.fileno())
-
-
-      def remove(self, filepath):
-        os.remove(filepath + '.tst')
-
-
-      def getsize(self, filepath):
-        return os.path.getsize(filepath + '.tst')
-
-
-      def create_folder(self, filepath):
-        if not filepath:
-          return
-        try:
-          os.makedirs(filepath)
-        except OSError as err:
-          pass
-
-
-      def list_folder(self, filepath):
-        contents = []
-        files = os.listdir(filepath)
-
-        for fi in files:
-          if fi.endswith('.tst'):
-            contents.append(fi.split('.tst')[0])
-          else:
-            contents.append(fi)
-
-        return contents
-
-
-
-    # Set up the repository directory
-    repository_name = 'test_repository'
-    repository_directory = self.create_repository_directory()
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_tool.METADATA_STAGED_DIRECTORY_NAME)
-    targets_directory = os.path.join(repository_directory,
-                                     repo_tool.TARGETS_DIRECTORY_NAME)
-
-    # TestStorageBackend expects all files on disk to have an additional '.tst'
-    # file extension
-    for target in os.listdir(targets_directory):
-      src = os.path.join(targets_directory, target)
-      dst = os.path.join(targets_directory, target + '.tst')
-      os.rename(src, dst)
-
-    # (0) Create a repository with TestStorageBackend()
-    storage_backend = TestStorageBackend()
-    repository = repo_tool.create_new_repository(repository_directory,
-                                                 repository_name,
-                                                 storage_backend)
-
-    # (1) Load the public and private keys of the top-level roles, and one
-    # delegated role.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-
-    # Load the public keys.
-    root_pubkey_path = os.path.join(keystore_directory, 'root_key.pub')
-    targets_pubkey_path = os.path.join(keystore_directory, 'targets_key.pub')
-    snapshot_pubkey_path = os.path.join(keystore_directory, 'snapshot_key.pub')
-    timestamp_pubkey_path = os.path.join(keystore_directory, 'timestamp_key.pub')
-
-    root_pubkey = repo_tool.import_rsa_publickey_from_file(root_pubkey_path)
-    targets_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(targets_pubkey_path)
-    snapshot_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(snapshot_pubkey_path)
-    timestamp_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_pubkey_path)
-
-    # Load the private keys.
-    root_privkey_path = os.path.join(keystore_directory, 'root_key')
-    targets_privkey_path = os.path.join(keystore_directory, 'targets_key')
-    snapshot_privkey_path = os.path.join(keystore_directory, 'snapshot_key')
-    timestamp_privkey_path = os.path.join(keystore_directory, 'timestamp_key')
-
-    root_privkey = \
-      repo_tool.import_rsa_privatekey_from_file(root_privkey_path, 'password')
-    targets_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(targets_privkey_path,
-                                                'password')
-    snapshot_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(snapshot_privkey_path,
-                                                'password')
-    timestamp_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(timestamp_privkey_path,
-                                                'password')
-
-
-    # (2) Add top-level verification keys.
-    repository.root.add_verification_key(root_pubkey)
-    repository.targets.add_verification_key(targets_pubkey)
-    repository.snapshot.add_verification_key(snapshot_pubkey)
-    repository.timestamp.add_verification_key(timestamp_pubkey)
-
-
-    # (3) Load top-level signing keys.
-    repository.root.load_signing_key(root_privkey)
-    repository.targets.load_signing_key(targets_privkey)
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    repository.timestamp.load_signing_key(timestamp_privkey)
-
-
-    # (4) Add target files.
-    target1 = 'file1.txt'
-    target2 = 'file2.txt'
-    target3 = 'file3.txt'
-    repository.targets.add_target(target1)
-    repository.targets.add_target(target2)
-    repository.targets.add_target(target3)
-
-    # (6) Write repository.
-    repository.writeall()
-
-
-    # Ensure all of the metadata files exist at the mutated file location and
-    # that those files are valid metadata
-    for role in ['root.json.tst', 'targets.json.tst', 'snapshot.json.tst',
-        'timestamp.json.tst']:
-      role_filepath = os.path.join(metadata_directory, role)
-      self.assertTrue(os.path.exists(role_filepath))
-
-      role_signable = securesystemslib.util.load_json_file(role_filepath)
-      # Raise 'securesystemslib.exceptions.FormatError' if 'role_signable' is
-      # an invalid signable.
-      tuf.formats.check_signable_object_format(role_signable)
-
-
-  def test_signature_order(self):
-    """Test signatures are added to metadata in alphabetical order. """
-    # Create empty repo dir and init default repo in memory
-    repo_dir = tempfile.mkdtemp(dir=self.temporary_directory)
-    repo = repo_tool.create_new_repository(repo_dir)
-
-    # Dedicate any two existing test keys as root signing keys
-    for key_name in ["targets_key", "snapshot_key"]:
-      repo.root.load_signing_key(
-          repo_tool.import_ed25519_privatekey_from_file(
-              os.path.join("repository_data", "keystore", key_name),
-              "password"))
-
-    # Write root metadata with two signatures
-    repo.write("root")
-
-    # Load signed and written json metadata back into memory
-    root_metadata_path = os.path.join(
-        repo_dir, repo_tool.METADATA_STAGED_DIRECTORY_NAME, "root.json")
-    root_metadata = securesystemslib.util.load_json_file(root_metadata_path)
-
-    # Assert signatures are ordered alphabetically (by signing key keyid)
-    self.assertListEqual(
-        [sig["keyid"] for sig in root_metadata["signatures"]],
-        [
-          "59a4df8af818e9ed7abe0764c0b47b4240952aa0d179b5b78346c470ac30278d",
-          "65171251a9aff5a8b3143a813481cb07f6e0de4eb197c767837fe4491b739093"
-        ])
-
-
-
-class TestMetadata(unittest.TestCase):
-  def setUp(self):
-    # Inherit from the repo_tool.Metadata() base class.  All of the methods
-    # to be tested in TestMetadata require at least 1 role, so create it here
-    # and set its roleinfo.
-
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-    class MetadataRole(repo_tool.Metadata):
-      def __init__(self):
-        super(MetadataRole, self).__init__()
-
-        self._rolename = 'metadata_role'
-        self._repository_name = 'test_repository'
-
-        # Expire in 86400 seconds (1 day).
-        expiration = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + 86400))
-        expiration = expiration.isoformat() + 'Z'
-        roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                    'signatures': [], 'version': 0,
-                    'consistent_snapshot': False,
-                    'expires': expiration,
-                    'partial_loaded': False}
-
-        tuf.roledb.add_role(self._rolename, roleinfo,
-            repository_name='test_repository')
-
-    self.metadata = MetadataRole()
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-    self.metadata = None
-
-
-
-  def test_rolename(self):
-    base_metadata = repo_tool.Metadata()
-
-    self.assertEqual(base_metadata.rolename, None)
-
-    # Test the sub-classed MetadataRole().
-    self.assertEqual(self.metadata.rolename, 'metadata_role')
-
-
-
-  def test_version(self):
-    # Test version getter, and the default version number.
-    self.assertEqual(self.metadata.version, 0)
-
-    # Test version setter, and verify updated version number.
-    self.metadata.version = 8
-    self.assertEqual(self.metadata.version, 8)
-
-
-
-  def test_threshold(self):
-    # Test threshold getter, and the default threshold number.
-    self.assertEqual(self.metadata.threshold, 1)
-
-    # Test threshold setter, and verify updated threshold number.
-    self.metadata.threshold = 3
-    self.assertEqual(self.metadata.threshold, 3)
-
-
-
-  def test_expiration(self):
-    # Test expiration getter.
-    expiration = self.metadata.expiration
-    self.assertTrue(isinstance(expiration, datetime.datetime))
-
-    # Test expiration setter.
-    self.metadata.expiration = datetime.datetime(2030, 1, 1, 12, 0)
-    expiration = self.metadata.expiration
-    self.assertTrue(isinstance(expiration, datetime.datetime))
-
-    # test a setter with microseconds, we are forcing the microseconds value
-    expiration = datetime.datetime.today() + datetime.timedelta(weeks = 1)
-    # we force the microseconds value if we are unlucky enough to get a 0
-    if expiration.microsecond == 0:
-      expiration = expiration.replace(microsecond = 1)
-
-    new_expiration = self.metadata.expiration
-    self.assertTrue(isinstance(new_expiration, datetime.datetime))
-
-    # check that the expiration value is truncated
-    self.assertTrue(new_expiration.microsecond == 0)
-
-    # Test improperly formatted datetime.
-    try:
-      self.metadata.expiration = '3'
-
-    except securesystemslib.exceptions.FormatError:
-      pass
-
-    else:
-      self.fail('Setter failed to detect improperly formatted datetime.')
-
-
-    # Test invalid argument (i.e., expiration has already expired.)
-    expired_datetime = tuf.formats.unix_timestamp_to_datetime(int(time.time() - 1))
-    try:
-      self.metadata.expiration = expired_datetime
-
-    except securesystemslib.exceptions.Error:
-      pass
-
-    else:
-      self.fail('Setter failed to detect an expired datetime.')
-
-
-
-  def test_keys(self):
-    # Test default case, where a verification key has not been added.
-    self.assertEqual(self.metadata.keys, [])
-
-
-    # Test keys() getter after a verification key has been loaded.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'snapshot_key.pub')
-    key_object = repo_tool.import_ed25519_publickey_from_file(key_path)
-    self.metadata.add_verification_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.keys)
-
-
-
-  def test_signing_keys(self):
-    # Test default case, where a signing key has not been added.
-    self.assertEqual(self.metadata.signing_keys, [])
-
-
-    # Test signing_keys() getter after a signing key has been loaded.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'root_key')
-    key_object = repo_tool.import_rsa_privatekey_from_file(key_path, 'password')
-    self.metadata.load_signing_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.signing_keys)
-
-
-
-
-
-  def test_add_verification_key(self):
-    # Add verification key and verify that it was added via (role).keys.
-    key_path = os.path.join('repository_data', 'keystore', 'snapshot_key.pub')
-    key_object = repo_tool.import_ed25519_publickey_from_file(key_path)
-    self.metadata.add_verification_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.keys)
-
-    expiration = \
-      tuf.formats.unix_timestamp_to_datetime(int(time.time() + 86400))
-    expiration = expiration.isoformat() + 'Z'
-    roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                'signatures': [], 'version': 0,
-                'consistent_snapshot': False, 'expires': expiration,
-                'partial_loaded': False}
-
-    tuf.roledb.add_role('Root', roleinfo, 'test_repository')
-    tuf.roledb.add_role('Targets', roleinfo, 'test_repository')
-    tuf.roledb.add_role('Snapshot', roleinfo, 'test_repository')
-    tuf.roledb.add_role('Timestamp', roleinfo, 'test_repository')
-
-    # Test for different top-level role names.
-    self.metadata._rolename = 'Targets'
-    self.metadata.add_verification_key(key_object)
-    self.metadata._rolename = 'Snapshot'
-    self.metadata.add_verification_key(key_object)
-    self.metadata._rolename = 'Timestamp'
-    self.metadata.add_verification_key(key_object)
-
-    # Test for a given 'expires' argument.
-    expires = datetime.datetime(2030, 1, 1, 12, 0)
-    self.metadata.add_verification_key(key_object, expires)
-
-
-    # Test for an expired 'expires'.
-    expired = datetime.datetime(1984, 1, 1, 12, 0)
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      self.metadata.add_verification_key, key_object, expired)
-
-    # Test improperly formatted key argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.add_verification_key, 3)
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.add_verification_key, key_object, 3)
-
-
-
-  def test_remove_verification_key(self):
-    # Add verification key so that remove_verifiation_key() can be tested.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'snapshot_key.pub')
-    key_object = repo_tool.import_ed25519_publickey_from_file(key_path)
-    self.metadata.add_verification_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.keys)
-
-
-    # Test successful removal of verification key added above.
-    self.metadata.remove_verification_key(key_object)
-    self.assertEqual(self.metadata.keys, [])
-
-
-    # Test improperly formatted argument
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.remove_verification_key, 3)
-
-
-    # Test non-existent public key argument.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'targets_key.pub')
-    unused_key_object = repo_tool.import_ed25519_publickey_from_file(key_path)
-
-    self.assertRaises(securesystemslib.exceptions.Error, self.metadata.remove_verification_key,
-                      unused_key_object)
-
-
-
-  def test_load_signing_key(self):
-    # Test normal case.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'snapshot_key')
-    key_object = repo_tool.import_ed25519_privatekey_from_file(key_path, 'password')
-    self.metadata.load_signing_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.signing_keys)
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.load_signing_key, 3)
-
-
-    # Test non-private key.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'snapshot_key.pub')
-    key_object = repo_tool.import_ed25519_publickey_from_file(key_path)
-    self.assertRaises(securesystemslib.exceptions.Error, self.metadata.load_signing_key, key_object)
-
-
-
-  def test_unload_signing_key(self):
-    # Load a signing key so that unload_signing_key() can have a key to unload.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'snapshot_key')
-    key_object = repo_tool.import_ed25519_privatekey_from_file(key_path, 'password')
-    self.metadata.load_signing_key(key_object)
-
-    keyid = key_object['keyid']
-    self.assertEqual([keyid], self.metadata.signing_keys)
-
-    self.metadata.unload_signing_key(key_object)
-
-    self.assertEqual(self.metadata.signing_keys, [])
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.unload_signing_key, 3)
-
-
-    # Test non-existent key argument.
-    key_path = os.path.join('repository_data',
-                            'keystore', 'targets_key')
-    unused_key_object = repo_tool.import_ed25519_privatekey_from_file(key_path,
-                                                                  'password')
-
-    self.assertRaises(securesystemslib.exceptions.Error, self.metadata.unload_signing_key,
-                      unused_key_object)
-
-
-
-  def test_add_signature(self):
-    # Test normal case.
-    # Load signature list from any of pre-generated metadata; needed for
-    # testing.
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-    root_filepath = os.path.join(metadata_directory, 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-    signatures = root_signable['signatures']
-
-    # Add the first signature from the list, as only one is needed.
-    self.metadata.add_signature(signatures[0])
-    self.assertEqual(signatures, self.metadata.signatures)
-
-    # Verify that a signature is added if a 'signatures' entry is not present.
-    tuf.roledb.create_roledb_from_root_metadata(root_signable['signed'], repository_name='test_repository')
-    del tuf.roledb._roledb_dict['test_repository']['root']['signatures']
-    self.metadata._rolename = 'root'
-    self.metadata.add_signature(signatures[0])
-
-    # Add a duplicate signature.
-    self.metadata.add_signature(signatures[0])
-
-    # Test improperly formatted signature argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.add_signature, 3)
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.metadata.add_signature, signatures[0], 3)
-
-
-
-  def test_remove_signature(self):
-    # Test normal case.
-    # Add a signature so remove_signature() has some signature to remove.
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-    root_filepath = os.path.join(metadata_directory, 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-    signatures = root_signable['signatures']
-    self.metadata.add_signature(signatures[0])
-
-    self.metadata.remove_signature(signatures[0])
-    self.assertEqual(self.metadata.signatures, [])
-
-
-    # Test improperly formatted signature argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-      self.metadata.remove_signature, 3)
-
-    # Test invalid signature argument (i.e., signature that has not been added.)
-    # Load an unused signature to be tested.
-    targets_filepath = os.path.join(metadata_directory, 'targets.json')
-    targets_signable = securesystemslib.util.load_json_file(targets_filepath)
-    signatures = targets_signable['signatures']
-
-    self.assertRaises(securesystemslib.exceptions.Error,
-      self.metadata.remove_signature, signatures[0])
-
-
-
-  def test_signatures(self):
-    # Test default case, where no signatures have been added yet.
-    self.assertEqual(self.metadata.signatures, [])
-
-
-    # Test getter after adding an example signature.
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-    root_filepath = os.path.join(metadata_directory, 'root.json')
-    root_signable = securesystemslib.util.load_json_file(root_filepath)
-    signatures = root_signable['signatures']
-
-    # Add the first signature from the list, as only need one is needed.
-    self.metadata.add_signature(signatures[0])
-    self.assertEqual(signatures, self.metadata.signatures)
-
-
-
-class TestRoot(unittest.TestCase):
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_init(self):
-
-    # Test normal case.
-    # Root() subclasses Metadata(), and creates a 'root' role in 'tuf.roledb'.
-    repository_name = 'test_repository'
-    root_object = repo_tool.Root(repository_name)
-    self.assertTrue(isinstance(root_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('root', repository_name))
-
-
-
-class TestTimestamp(unittest.TestCase):
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_init(self):
-
-    # Test normal case.
-    # Timestamp() subclasses Metadata(), and creates a 'timestamp' role in
-    # 'tuf.roledb'.
-    timestamp_object = repo_tool.Timestamp('test_repository')
-    self.assertTrue(isinstance(timestamp_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('timestamp', 'test_repository'))
-
-
-
-
-
-class TestSnapshot(unittest.TestCase):
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_init(self):
-
-    # Test normal case.
-    # Snapshot() subclasses Metadata(), and creates a 'snapshot' role in
-    # 'tuf.roledb'.
-    snapshot_object = repo_tool.Snapshot('test_repository')
-    self.assertTrue(isinstance(snapshot_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('snapshot', 'test_repository'))
-
-
-
-
-
-class TestTargets(unittest.TestCase):
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownClass() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    self.targets_directory = os.path.join(temporary_directory, 'repository',
-                                          'targets')
-    original_targets_directory = os.path.join('repository_data',
-                                              'repository', 'targets')
-    shutil.copytree(original_targets_directory, self.targets_directory)
-    self.targets_object = repo_tool.Targets(self.targets_directory,
-        repository_name='test_repository')
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-    self.targets_object = None
-
-
-
-  def test_init(self):
-
-    # Test normal case.
-    # Snapshot() subclasses Metadata(), and creates a 'snapshot' role in
-    # 'tuf.roledb'.
-    targets_object = repo_tool.Targets('targets_directory/')
-    self.assertTrue(isinstance(targets_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('targets'))
-
-    # Custom Targets object rolename.
-    targets_object = repo_tool.Targets('targets_directory/', 'project')
-    self.assertTrue(isinstance(targets_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('project'))
-
-    # Custom roleinfo object (i.e., tuf.formats.ROLEDB_SCHEMA).  'keyids' and
-    # 'threshold' are required, the rest are optional.
-    roleinfo = {'keyids':
-          ['66c4cb5fef5e4d62b7013ef1cab4b8a827a36c14056d5603c3a970e21eb30e6f'],
-                'threshold': 8}
-    self.assertTrue(tuf.formats.ROLEDB_SCHEMA.matches(roleinfo))
-
-    targets_object = repo_tool.Targets('targets_directory/', 'package', roleinfo)
-    self.assertTrue(isinstance(targets_object, repo_tool.Metadata))
-    self.assertTrue(tuf.roledb.role_exists('package'))
-
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Targets, 3)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Targets, 'targets_directory/', 3)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Targets, 'targets_directory/',
-                      'targets', 3)
-
-
-
-  def test_call(self):
-    # Test normal case.
-    # Perform a delegation so that a delegated role can be accessed and tested
-    # through __call__().  Example: {targets_object}('role1').
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Create Targets() object to be tested.
-    targets_object = repo_tool.Targets(self.targets_directory)
-    targets_object.delegate('role1', [public_key], ['file1.txt'])
-
-    self.assertTrue(isinstance(targets_object('role1'), repo_tool.Targets))
-
-    # Test invalid (i.e., non-delegated) rolename argument.
-    self.assertRaises(tuf.exceptions.UnknownRoleError, targets_object, 'unknown_role')
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, targets_object, 1)
-
-
-
-  def test_get_delegated_rolenames(self):
-    # Test normal case.
-    # Perform two delegations so that get_delegated_rolenames() has roles to
-    # return.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate().
-    public_keys = [public_key]
-    threshold = 1
-
-    self.targets_object.delegate('tuf', public_keys, [], threshold, False,
-        ['file1.txt'], path_hash_prefixes=None)
-
-    self.targets_object.delegate('warehouse', public_keys, [], threshold, False,
-        ['file2.txt'], path_hash_prefixes=None)
-
-    # Test that get_delegated_rolenames returns the expected delegations.
-    expected_delegated_rolenames = ['targets/tuf/', 'targets/warehouse']
-    for delegated_rolename in self.targets_object.get_delegated_rolenames():
-      delegated_rolename in expected_delegated_rolenames
-
-
-
-  def test_target_files(self):
-    # Test normal case.
-    # Verify the targets object initially contains zero target files.
-    self.assertEqual(self.targets_object.target_files, {})
-
-    target_filepath = 'file1.txt'
-    self.targets_object.add_target(target_filepath)
-
-    self.assertEqual(len(self.targets_object.target_files), 1)
-    self.assertTrue(target_filepath in self.targets_object.target_files)
-
-
-
-  def test_delegations(self):
-    # Test normal case.
-    # Perform a delegation so that delegations() has a Targets() object to
-    # return.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate().
-    public_keys = [public_key]
-    rolename = 'tuf'
-    paths = ['file1.txt']
-    threshold = 1
-
-    self.targets_object.delegate(rolename, public_keys, paths, threshold,
-        terminating=False, list_of_targets=None, path_hash_prefixes=None)
-
-    # Test that a valid Targets() object is returned by delegations().
-    for delegated_object in self.targets_object.delegations:
-      self.assertTrue(isinstance(delegated_object, repo_tool.Targets))
-
-    # For testing / coverage purposes, try to remove a delegated role with the
-    # remove_delegated_role() method.
-    self.targets_object.remove_delegated_role(rolename)
-
-
-
-  def test_add_delegated_role(self):
-    # Test for invalid targets object.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_delegated_role, 'targets', 'bad_object')
-
-
-
-  def test_add_target(self):
-    # Test normal case.
-    # Verify the targets object initially contains zero target files.
-    self.assertEqual(self.targets_object.target_files, {})
-
-    target_filepath = 'file1.txt'
-    self.targets_object.add_target(target_filepath)
-
-    self.assertEqual(len(self.targets_object.target_files), 1)
-    self.assertTrue(target_filepath in self.targets_object.target_files)
-
-    # Test the 'custom' parameter of add_target(), where additional information
-    # may be specified for the target.
-    target2_filepath = 'file2.txt'
-    target2_fullpath = os.path.join(self.targets_directory, target2_filepath)
-
-    # The file permission of the target (octal number specifying file access
-    # for owner, group, others (e.g., 0755).
-    octal_file_permissions = oct(os.stat(target2_fullpath).st_mode)[4:]
-    custom_file_permissions = {'file_permissions': octal_file_permissions}
-    self.targets_object.add_target(target2_filepath, custom_file_permissions)
-
-    self.assertEqual(len(self.targets_object.target_files), 2)
-    self.assertTrue(target2_filepath in self.targets_object.target_files)
-    self.assertEqual(self.targets_object.target_files['file2.txt']['custom'],
-                     custom_file_permissions)
-
-    # Attempt to replace target that has already been added.
-    octal_file_permissions2 = oct(os.stat(target2_fullpath).st_mode)[4:]
-    custom_file_permissions2 = {'file_permissions': octal_file_permissions}
-    self.targets_object.add_target(target2_filepath, custom_file_permissions2)
-    self.assertEqual(self.targets_object.target_files[target2_filepath]['custom'],
-        custom_file_permissions2)
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_target, 3)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_target, 3, custom_file_permissions)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_target, target_filepath, 3)
-
-    # A target path starting with a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_target, '/file1.txt')
-
-    # A target path using a backward slash as a separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_target, 'subdir\\file1.txt')
-
-    # Should not access the file system to check for non-existent files
-    self.targets_object.add_target('non-existent')
-
-
-
-  def test_add_targets(self):
-    # Test normal case.
-    # Verify the targets object initially contains zero target files.
-    self.assertEqual(self.targets_object.target_files, {})
-
-    target1_filepath = 'file1.txt'
-    target2_filepath = 'file2.txt'
-    target3_filepath = 'file3.txt'
-
-    # Add a 'target1_filepath' duplicate for testing purposes
-    # ('target1_filepath' should not be added twice.)
-    target_files = \
-      [target1_filepath, target2_filepath, 'file3.txt', target1_filepath]
-    self.targets_object.add_targets(target_files)
-
-    self.assertEqual(len(self.targets_object.target_files), 3)
-    self.assertEqual(self.targets_object.target_files,
-        {target1_filepath: {}, target2_filepath: {}, target3_filepath: {}})
-
-    # Attempt to replace targets that has already been added.
-    self.targets_object.add_targets(target_files)
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_targets, 3)
-
-    # A target path starting with a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_targets, ['/file1.txt'])
-
-    # A target path using a backward slash as a separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_targets, ['subdir\\file1.txt'])
-
-    # Check if the addition of the whole list is rolled back in case of
-    # wrong target path
-    target_files = self.targets_object.target_files
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_targets, ['file4.txt', '/file5.txt'])
-    self.assertEqual(self.targets_object.target_files, target_files)
-
-    # Should not access the file system to check for non-existent files
-    self.targets_object.add_targets(['non-existent'])
-
-
-  def test_remove_target(self):
-    # Test normal case.
-    # Verify the targets object initially contains zero target files.
-    self.assertEqual(self.targets_object.target_files, {})
-
-    # Add a target so that remove_target() has something to remove.
-    target_filepath = 'file1.txt'
-    self.targets_object.add_target(target_filepath)
-
-    # Test remove_target()'s behavior.
-    self.targets_object.remove_target(target_filepath)
-    self.assertEqual(self.targets_object.target_files, {})
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.targets_object.remove_target, 3)
-
-    # Test for filepath that hasn't been added yet.
-    target5_filepath = 'file5.txt'
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      self.targets_object.remove_target,
-                      target5_filepath)
-
-
-
-  def test_clear_targets(self):
-    # Test normal case.
-    # Verify the targets object initially contains zero target files.
-    self.assertEqual(self.targets_object.target_files, {})
-
-    # Add targets, to be tested by clear_targets().
-    target1_filepath = 'file1.txt'
-    target2_filepath = 'file2.txt'
-    self.targets_object.add_targets([target1_filepath, target2_filepath])
-
-    self.targets_object.clear_targets()
-    self.assertEqual(self.targets_object.target_files, {})
-
-
-
-  def test_delegate(self):
-    # Test normal case.
-    # Need at least one public key and valid target paths required by
-    # delegate().
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate().
-    public_keys = [public_key]
-    rolename = 'tuf'
-    list_of_targets = ['file1.txt', 'file2.txt']
-    threshold = 1
-    paths = ['*']
-    path_hash_prefixes = ['e3a3', '8fae', 'd543']
-
-    self.targets_object.delegate(rolename, public_keys, paths,
-        threshold, terminating=False, list_of_targets=list_of_targets,
-        path_hash_prefixes=path_hash_prefixes)
-
-    self.assertEqual(self.targets_object.get_delegated_rolenames(),
-                     ['tuf'])
-
-    # Test for delegated paths that do not exist.
-    # An exception should not be raised for non-existent delegated paths, since
-    # these paths may not necessarily exist when the delegation is done,
-    # and also because the delegated paths can be glob patterns.
-    self.targets_object.delegate(rolename, public_keys, ['non-existent'],
-        threshold, terminating=False, list_of_targets=list_of_targets,
-        path_hash_prefixes=path_hash_prefixes)
-
-    # Test for delegated targets that do not exist.
-    # An exception should not be raised for non-existent delegated targets,
-    # since at this point the file system should not be accessed yet
-    self.targets_object.delegate(rolename, public_keys, [], threshold,
-        terminating=False, list_of_targets=['non-existent.txt'],
-        path_hash_prefixes=path_hash_prefixes)
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, 3, public_keys, paths, threshold,
-        list_of_targets, path_hash_prefixes)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, rolename, 3, paths, threshold,
-        list_of_targets, path_hash_prefixes)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, rolename, public_keys, 3, threshold,
-        list_of_targets, path_hash_prefixes)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, rolename, public_keys, paths, '3',
-        list_of_targets, path_hash_prefixes)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, rolename, public_keys, paths, threshold,
-        3, path_hash_prefixes)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.delegate, rolename, public_keys, paths, threshold,
-        list_of_targets, 3)
-
-    # Test invalid arguments (e.g., already delegated 'rolename', non-existent
-    # files, etc.).
-    # Test duplicate 'rolename' delegation, which should have been delegated
-    # in the normal case above.
-    self.assertRaises(securesystemslib.exceptions.Error,
-        self.targets_object.delegate, rolename, public_keys, paths, threshold,
-        list_of_targets, path_hash_prefixes)
-
-    # A path or target starting with a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.delegate, rolename, public_keys, ['/*'])
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.delegate, rolename, public_keys, [],
-        list_of_targets=['/file1.txt'])
-
-    # A path or target using '\' as a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.delegate, rolename, public_keys, ['subpath\\*'])
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.delegate, rolename, public_keys, [],
-        list_of_targets=['subpath\\file1.txt'])
-
-
-
-
-  def test_delegate_hashed_bins(self):
-    # Test normal case.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate_hashed_bins().
-    public_keys = [public_key]
-    list_of_targets = ['file1.txt']
-
-
-    # A helper function to check that the range of prefixes the role is
-    # delegated for, specified in path_hash_prefixes, matches the range
-    # implied by the bin, or delegation role, name.
-    def check_prefixes_match_range():
-      roleinfo = tuf.roledb.get_roleinfo(self.targets_object.rolename,
-          'test_repository')
-      have_prefixes = False
-
-      for delegated_role in roleinfo['delegations']['roles']:
-        if len(delegated_role['path_hash_prefixes']) > 0:
-          rolename = delegated_role['name']
-          prefixes = delegated_role['path_hash_prefixes']
-          have_prefixes = True
-
-          if len(prefixes) > 1:
-            prefix_range = "{}-{}".format(prefixes[0], prefixes[-1])
-          else:
-            prefix_range = prefixes[0]
-
-          self.assertEqual(rolename, prefix_range)
-
-      # We expect at least one delegation with some path_hash_prefixes
-      self.assertTrue(have_prefixes)
-
-
-    # Test delegate_hashed_bins() and verify that 16 hashed bins have
-    # been delegated in the parent's roleinfo.
-    self.targets_object.delegate_hashed_bins(list_of_targets, public_keys,
-                                             number_of_bins=16)
-
-    # The expected child rolenames, since 'number_of_bins' = 16
-    delegated_rolenames = ['0', '1', '2', '3', '4', '5', '6', '7',
-                           '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']
-
-    self.assertEqual(sorted(self.targets_object.get_delegated_rolenames()),
-                     sorted(delegated_rolenames))
-    check_prefixes_match_range()
-
-    # For testing / coverage purposes, try to create delegated bins that
-    # hold a range of hash prefixes (e.g., bin name: 000-003).
-    self.targets_object.delegate_hashed_bins(list_of_targets, public_keys,
-                                             number_of_bins=512)
-    check_prefixes_match_range()
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.targets_object.delegate_hashed_bins, 3, public_keys,
-                      number_of_bins=1)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.targets_object.delegate_hashed_bins,
-                      list_of_targets, 3, number_of_bins=1)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.targets_object.delegate_hashed_bins,
-                      list_of_targets, public_keys, '1')
-
-    # Test invalid arguments.
-    # Invalid number of bins, which must be a power of 2.
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      self.targets_object.delegate_hashed_bins,
-                      list_of_targets, public_keys, number_of_bins=3)
-
-    # Invalid 'list_of_targets'.
-    # A path or target starting with a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-                      self.targets_object.delegate_hashed_bins,
-                      ['/file1.txt'], public_keys,
-                      number_of_bins=2)
-
-    # A path or target using '\' as a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-                      self.targets_object.delegate_hashed_bins,
-                      ['subpath\\file1.txt'], public_keys,
-                      number_of_bins=2)
-
-
-  def test_add_target_to_bin(self):
-    # Test normal case.
-    # Delegate the hashed bins so that add_target_to_bin() can be tested.
-    repository_name = 'test_repository'
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'targets_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-    target1_filepath = 'file1.txt'
-
-    # Set needed arguments by delegate_hashed_bins().
-    public_keys = [public_key]
-
-    # Delegate to hashed bins.  The target filepath to be tested is expected
-    # to contain a hash prefix of 'e', and should be available at:
-    # repository.targets('e').
-    self.targets_object.delegate_hashed_bins([], public_keys,
-        number_of_bins=16)
-
-    # Ensure each hashed bin initially contains zero targets.
-    for delegation in self.targets_object.delegations:
-      self.assertEqual(delegation.target_files, {})
-
-    # Add 'target1_filepath' and verify that the relative path of
-    # 'target1_filepath' is added to the correct bin.
-    rolename = self.targets_object.add_target_to_bin(target1_filepath, 16)
-
-    for delegation in self.targets_object.delegations:
-      if delegation.rolename == rolename:
-        self.assertTrue('file1.txt' in delegation.target_files)
-
-      else:
-        self.assertFalse('file1.txt' in delegation.target_files)
-
-    # Test for non-existent delegations and hashed bins.
-    empty_targets_role = repo_tool.Targets(self.targets_directory, 'empty',
-        repository_name=repository_name)
-
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      empty_targets_role.add_target_to_bin,
-                      target1_filepath, 16)
-
-    # Test for a required hashed bin that does not exist.
-    self.targets_object.revoke(rolename)
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      self.targets_object.add_target_to_bin,
-                      target1_filepath, 16)
-
-    # Test adding a target with fileinfo
-    target2_hashes = {'sha256': '517c0ce943e7274a2431fa5751e17cfd5225accd23e479bfaad13007751e87ef'}
-    target2_fileinfo = tuf.formats.make_targets_fileinfo(37, target2_hashes)
-    target2_filepath = 'file2.txt'
-
-    rolename = self.targets_object.add_target_to_bin(target2_filepath, 16,
-        fileinfo=target2_fileinfo)
-
-    for delegation in self.targets_object.delegations:
-      if delegation.rolename == rolename:
-        self.assertTrue(target2_filepath in delegation.target_files)
-
-      else:
-        self.assertFalse(target2_filepath in delegation.target_files)
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.targets_object.add_target_to_bin, 3, 'foo')
-
-
-
-  def test_remove_target_from_bin(self):
-    # Test normal case.
-    # Delegate the hashed bins so that add_target_to_bin() can be tested.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'targets_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-    target1_filepath = 'file1.txt'
-
-    # Set needed arguments by delegate_hashed_bins().
-    public_keys = [public_key]
-
-    # Delegate to hashed bins.  The target filepath to be tested is expected
-    # to contain a hash prefix of 'e', and can be accessed as:
-    # repository.targets('e').
-    self.targets_object.delegate_hashed_bins([], public_keys,
-                                             number_of_bins=16)
-
-    # Ensure each hashed bin initially contains zero targets.
-    for delegation in self.targets_object.delegations:
-      self.assertEqual(delegation.target_files, {})
-
-    # Add 'target1_filepath' and verify that the relative path of
-    # 'target1_filepath' is added to the correct bin.
-    added_rolename = self.targets_object.add_target_to_bin(target1_filepath, 16)
-
-    for delegation in self.targets_object.delegations:
-      if delegation.rolename == added_rolename:
-        self.assertTrue('file1.txt' in delegation.target_files)
-        self.assertTrue(len(delegation.target_files) == 1)
-      else:
-        self.assertTrue('file1.txt' not in delegation.target_files)
-
-    # Test the remove_target_from_bin() method.  Verify that 'target1_filepath'
-    # has been removed.
-    removed_rolename = self.targets_object.remove_target_from_bin(target1_filepath, 16)
-    self.assertEqual(added_rolename, removed_rolename)
-
-    for delegation in self.targets_object.delegations:
-      self.assertTrue(target1_filepath not in delegation.target_files)
-
-
-    # Test improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.remove_target_from_bin, 3, 'foo')
-
-    # Invalid target file path argument.
-    self.assertRaises(securesystemslib.exceptions.Error,
-        self.targets_object.remove_target_from_bin, 'non-existent', 16)
-
-
-
-  def test_default_bin_num(self):
-    # Test creating, adding to and removing from hashed bins with the default
-    # number of bins
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-    target1_filepath = os.path.join(self.targets_directory, 'file1.txt')
-
-    # Set needed arguments by delegate_hashed_bins().
-    public_keys = [public_key]
-
-    # Test default parameters for number_of_bins
-    self.targets_object.delegate_hashed_bins([], public_keys)
-
-    # Ensure each hashed bin initially contains zero targets.
-    for delegation in self.targets_object.delegations:
-      self.assertEqual(delegation.target_files, {})
-
-    # Add 'target1_filepath' and verify that the relative path of
-    # 'target1_filepath' is added to the correct bin.
-    added_rolename = self.targets_object.add_target_to_bin(os.path.basename(target1_filepath))
-
-    for delegation in self.targets_object.delegations:
-      if delegation.rolename == added_rolename:
-        self.assertTrue('file1.txt' in delegation.target_files)
-
-      else:
-        self.assertFalse('file1.txt' in delegation.target_files)
-
-    # Remove target1_filepath and verify that all bins are now empty
-    removed_rolename = self.targets_object.remove_target_from_bin(
-        os.path.basename(target1_filepath))
-    self.assertEqual(added_rolename, removed_rolename)
-
-    for delegation in self.targets_object.delegations:
-      self.assertEqual(delegation.target_files, {})
-
-
-  def test_add_paths(self):
-    # Test normal case.
-    # Perform a delegation so that add_paths() has a child role to delegate a
-    # path to.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate().
-    public_keys = [public_key]
-    rolename = 'tuf'
-    threshold = 1
-
-    self.targets_object.delegate(rolename, public_keys, [], threshold,
-        list_of_targets=None, path_hash_prefixes=None)
-
-    # Delegate an extra role for test coverage (i.e., to later verify that
-    # delegated paths are not added to a child role that was not requested).
-    self.targets_object.delegate('junk_role', public_keys, [])
-
-    paths = ['tuf_files/*']
-    self.targets_object.add_paths(paths, 'tuf')
-
-    # Retrieve 'targets_object' roleinfo, and verify the roleinfo contains the
-    # expected delegated paths of the delegated role.
-    targets_object_roleinfo = tuf.roledb.get_roleinfo(self.targets_object.rolename,
-        'test_repository')
-
-    delegated_role = targets_object_roleinfo['delegations']['roles'][0]
-    self.assertEqual(['tuf_files/*'], delegated_role['paths'])
-
-    # Try to add a delegated path that has already been set.
-    # add_paths() should simply log a message in this case.
-    self.targets_object.add_paths(paths, 'tuf')
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_paths, 3, 'tuf')
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object.add_paths, paths, 3)
-
-
-    # Test invalid arguments.
-    # A non-delegated child role.
-    self.assertRaises(securesystemslib.exceptions.Error,
-        self.targets_object.add_paths, paths, 'non_delegated_rolename')
-
-    # A path starting with a directory separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_paths, ['/tuf_files/*'], 'tuf')
-
-    # A path using a backward slash as a separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object.add_paths, ['tuf_files\\*'], 'tuf')
-
-    # add_paths() should not raise an exception for non-existent
-    # paths, which it previously did.
-    self.targets_object.add_paths(['non-existent'], 'tuf')
-
-
-
-
-  def test_revoke(self):
-    # Test normal case.
-    # Perform a delegation so that revoke() has a delegation to revoke.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-    public_keypath = os.path.join(keystore_directory, 'snapshot_key.pub')
-    public_key = repo_tool.import_ed25519_publickey_from_file(public_keypath)
-
-    # Set needed arguments by delegate().
-    public_keys = [public_key]
-    rolename = 'tuf'
-    paths = ['file1.txt']
-    threshold = 1
-
-    self.targets_object.delegate(rolename, public_keys, [], threshold, False,
-        paths, path_hash_prefixes=None)
-
-    # Test revoke()
-    self.targets_object.revoke('tuf')
-    self.assertEqual(self.targets_object.get_delegated_rolenames(), [])
-
-
-    # Test improperly formatted rolename argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.targets_object.revoke, 3)
-
-
-
-  def test_check_path(self):
-    # Test that correct path does not raise exception: using '/' as a separator
-    # and does not start with a directory separator
-    self.targets_object._check_path('file1.txt')
-
-    # Test that non-existent path does not raise exception (_check_path
-    # checks only the path string for compliance)
-    self.targets_object._check_path('non-existent.txt')
-    self.targets_object._check_path('subdir/non-existent')
-
-    # Test improperly formatted pathname argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        self.targets_object._check_path, 3)
-
-    # Test invalid pathname
-    # Starting with os separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object._check_path, '/file1.txt')
-
-    # Starting with Windows-style separator
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object._check_path, '\\file1.txt')
-
-    # Using Windows-style separator ('\')
-    self.assertRaises(tuf.exceptions.InvalidNameError,
-        self.targets_object._check_path, 'subdir\\non-existent')
-
-
-
-class TestRepositoryToolFunctions(unittest.TestCase):
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownClass() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-  def setUp(self):
-    tuf.roledb.create_roledb('test_repository')
-    tuf.keydb.create_keydb('test_repository')
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-
-
-  def test_create_new_repository(self):
-    # Test normal case.
-    # Setup the temporary repository directories needed by
-    # create_new_repository().
-    repository_name = 'test_repository'
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_tool.METADATA_STAGED_DIRECTORY_NAME)
-    targets_directory = os.path.join(repository_directory,
-                                     repo_tool.TARGETS_DIRECTORY_NAME)
-
-    repository = repo_tool.create_new_repository(repository_directory,
-        repository_name)
-    self.assertTrue(isinstance(repository, repo_tool.Repository))
-
-    # Verify that the 'repository/', 'repository/metadata', and
-    # 'repository/targets' directories were created.
-    self.assertTrue(os.path.exists(repository_directory))
-    self.assertTrue(os.path.exists(metadata_directory))
-    self.assertTrue(os.path.exists(targets_directory))
-
-    # Test that the 'repository' directory is created (along with the other
-    # sub-directories) when it does not exist yet.  The repository tool creates
-    # the non-existent directory.
-    shutil.rmtree(repository_directory)
-
-    repository = repo_tool.create_new_repository(repository_directory,
-        repository_name)
-    self.assertTrue(isinstance(repository, repo_tool.Repository))
-
-    # Verify that the 'repository/', 'repository/metadata', and
-    # 'repository/targets' directories were created.
-    self.assertTrue(os.path.exists(repository_directory))
-    self.assertTrue(os.path.exists(metadata_directory))
-    self.assertTrue(os.path.exists(targets_directory))
-
-    # Test passing custom arguments to control the computation
-    # of length and hashes for timestamp and snapshot roles.
-    repository = repo_tool.create_new_repository(repository_directory,
-        repository_name, use_timestamp_length=True, use_timestamp_hashes=True,
-        use_snapshot_length=True, use_snapshot_hashes=True)
-
-    # Verify that the argument for optional hashes and length for
-    # snapshot and timestamp are properly set.
-    self.assertTrue(repository._use_timestamp_length)
-    self.assertTrue(repository._use_timestamp_hashes)
-    self.assertTrue(repository._use_snapshot_length)
-    self.assertTrue(repository._use_snapshot_hashes)
-
-    # Test for a repository name that doesn't exist yet.  Note:
-    # The 'test_repository' repository name is created in setup() before this
-    # test case is run.
-    repository = repo_tool.create_new_repository(repository_directory, 'my-repo')
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_tool.create_new_repository, 3, repository_name)
-
-    # For testing purposes, try to create a repository directory that
-    # fails due to a non-errno.EEXIST exception raised.
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        repo_tool.create_new_repository, 'bad' * 2000, repository_name)
-
-    # Reset the 'repository_directory' so that the metadata and targets
-    # directories can be tested likewise.
-    repository_directory = os.path.join(temporary_directory, 'repository')
-
-    # The same test as before, but for the metadata and targets directories.
-    original_metadata_staged_directory = \
-      tuf.repository_tool.METADATA_STAGED_DIRECTORY_NAME
-    tuf.repository_tool.METADATA_STAGED_DIRECTORY_NAME = 'bad' * 2000
-
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        repo_tool.create_new_repository, repository_directory, repository_name)
-
-    # Reset metadata staged directory so that the targets directory can be
-    # tested...
-    tuf.repository_tool.METADATA_STAGED_DIRECTORY_NAME = \
-      original_metadata_staged_directory
-
-    original_targets_directory = tuf.repository_tool.TARGETS_DIRECTORY_NAME
-    tuf.repository_tool.TARGETS_DIRECTORY_NAME = 'bad' * 2000
-
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-         repo_tool.create_new_repository, repository_directory, repository_name)
-
-    tuf.repository_tool.TARGETS_DIRECTORY_NAME = \
-      original_targets_directory
-
-
-
-  def test_load_repository(self):
-    # Test normal case.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    original_repository_directory = os.path.join('repository_data',
-        'repository')
-
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory, 'metadata.staged')
-    shutil.copytree(original_repository_directory, repository_directory)
-
-    # For testing purposes, add a metadata file with an extension that is
-    # not supported, and another with invalid JSON content.
-    invalid_metadata_file = os.path.join(metadata_directory, 'root.xml')
-    root_file = os.path.join(metadata_directory, 'root.json')
-    shutil.copyfile(root_file, invalid_metadata_file)
-    bad_root_content = os.path.join(metadata_directory, 'root_bad.json')
-
-    with open(bad_root_content, 'wb') as file_object:
-      file_object.write(b'bad')
-
-    repository = repo_tool.load_repository(repository_directory)
-    self.assertTrue(isinstance(repository, repo_tool.Repository))
-    self.assertTrue(isinstance(repository.targets('role1'),
-        repo_tool.Targets))
-    self.assertTrue(isinstance(repository.targets('role1')('role2'),
-        repo_tool.Targets))
-
-    # Verify the expected roles have been loaded.  See
-    # 'tuf/tests/repository_data/repository/'.
-    expected_roles = \
-      ['root', 'targets', 'snapshot', 'timestamp', 'role1', 'role2']
-    for role in tuf.roledb.get_rolenames():
-      self.assertTrue(role in expected_roles)
-
-    self.assertTrue(len(repository.root.keys))
-    self.assertTrue(len(repository.targets.keys))
-    self.assertTrue(len(repository.snapshot.keys))
-    self.assertTrue(len(repository.timestamp.keys))
-    self.assertEqual(1, repository.targets('role1').version)
-
-    # It is assumed that the targets (tuf/tests/repository_data/) role contains
-    # 'file1.txt' and 'file2.txt'.
-    self.assertTrue('file1.txt' in repository.targets.target_files)
-    self.assertTrue('file2.txt' in repository.targets.target_files)
-    self.assertTrue('file3.txt' in repository.targets('role1').target_files)
-
-    # Test if targets file info is loaded correctly: read the JSON metadata
-    # files separately and then compare with the loaded repository data.
-    targets_path = os.path.join(metadata_directory, 'targets.json')
-    role1_path = os.path.join(metadata_directory, 'role1.json')
-
-    targets_object = securesystemslib.util.load_json_file(targets_path)
-    role1_object = securesystemslib.util.load_json_file(role1_path)
-
-    targets_fileinfo = targets_object['signed']['targets']
-    role1_fileinfo = role1_object['signed']['targets']
-
-    repository = repo_tool.load_repository(repository_directory)
-
-    self.assertEqual(targets_fileinfo, repository.targets.target_files)
-    self.assertEqual(role1_fileinfo, repository.targets('role1').target_files)
-
-    # Test for a non-default repository name.
-    repository = repo_tool.load_repository(repository_directory, 'my-repo')
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_tool.load_repository, 3)
-
-
-    # Test passing custom arguments to control the computation
-    # of length and hashes for timestamp and snapshot roles.
-    repository = repo_tool.load_repository(repository_directory,
-        'my-repo', use_timestamp_length=True, use_timestamp_hashes=True,
-        use_snapshot_length=True, use_snapshot_hashes=True)
-
-    # Verify that the argument for optional hashes and length for
-    # snapshot and timestamp are properly set.
-    self.assertTrue(repository._use_timestamp_length)
-    self.assertTrue(repository._use_timestamp_hashes)
-    self.assertTrue(repository._use_snapshot_length)
-    self.assertTrue(repository._use_snapshot_hashes)
-
-    # Test for invalid 'repository_directory' (i.e., does not contain the
-    # minimum required metadata.
-    root_filepath = os.path.join(repository_directory,
-        repo_tool.METADATA_STAGED_DIRECTORY_NAME, 'root.json')
-    os.remove(root_filepath)
-    self.assertRaises(tuf.exceptions.RepositoryError,
-        repo_tool.load_repository, repository_directory)
-
-
-
-  def test_dirty_roles(self):
-    repository_name = 'test_repository'
-    original_repository_directory = os.path.join('repository_data',
-        'repository')
-    repository = repo_tool.load_repository(original_repository_directory,
-        repository_name)
-
-    # dirty_roles() only logs the list of dirty roles.
-    repository.dirty_roles()
-
-
-
-  def test_dump_signable_metadata(self):
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-    targets_metadata_file = os.path.join(metadata_directory, 'targets.json')
-
-    metadata_content = repo_tool.dump_signable_metadata(targets_metadata_file)
-
-    # Test for an invalid targets metadata file..
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_tool.dump_signable_metadata, 1)
-    self.assertRaises(securesystemslib.exceptions.StorageError,
-        repo_tool.dump_signable_metadata, 'bad file path')
-
-
-
-  def test_append_signature(self):
-    metadata_directory = os.path.join('repository_data',
-                                      'repository', 'metadata')
-    targets_metadata_path = os.path.join(metadata_directory, 'targets.json')
-
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    tmp_targets_metadata_path = os.path.join(temporary_directory, 'targets.json')
-    shutil.copyfile(targets_metadata_path, tmp_targets_metadata_path)
-
-    # Test for normal case.
-    targets_metadata = securesystemslib.util.load_json_file(tmp_targets_metadata_path)
-    num_signatures = len(targets_metadata['signatures'])
-    signature = targets_metadata['signatures'][0]
-
-    repo_tool.append_signature(signature, tmp_targets_metadata_path)
-
-    targets_metadata = securesystemslib.util.load_json_file(tmp_targets_metadata_path)
-    self.assertTrue(num_signatures, len(targets_metadata['signatures']))
-
-    # Test for invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_tool.append_signature, 1, tmp_targets_metadata_path)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        repo_tool.append_signature, signature, 1)
-
-
-# Run the test cases.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_roledb.py b/tests/test_roledb.py
deleted file mode 100755
index 74017dd065..0000000000
--- a/tests/test_roledb.py
+++ /dev/null
@@ -1,795 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_roledb.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  October 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Unit test for 'roledb.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import logging
-import sys
-
-import tuf
-import tuf.formats
-import tuf.roledb
-import tuf.exceptions
-import tuf.log
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.keys
-
-logger = logging.getLogger(__name__)
-
-
-# Generate the three keys to use in our test cases.
-KEYS = []
-for junk in range(3):
-  KEYS.append(securesystemslib.keys.generate_rsa_key(2048))
-
-
-
-class TestRoledb(unittest.TestCase):
-  def setUp(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-
-
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb(clear_all=True)
-
-
-
-  def test_create_roledb(self):
-    # Verify that a roledb is created for a named repository.
-    self.assertTrue('default' in tuf.roledb._roledb_dict)
-    self.assertEqual(1, len(tuf.roledb._roledb_dict))
-
-    repository_name = 'example_repository'
-    tuf.roledb.create_roledb(repository_name)
-    self.assertEqual(2, len(tuf.roledb._roledb_dict))
-    self.assertTrue(repository_name in tuf.roledb._roledb_dict)
-
-    # Test for invalid and improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.create_roledb, 123)
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.create_roledb, 'default')
-
-    # Reset the roledb so that subsequent test functions have access to the
-    # original, default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-
-
-  def test_remove_roledb(self):
-    # Verify that the named repository is removed from the roledb.
-    repository_name = 'example_repository'
-
-    rolename = 'targets'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.remove_roledb, 'default')
-    tuf.roledb.create_roledb(repository_name)
-
-    tuf.roledb.remove_roledb(repository_name)
-
-    # remove_roledb() should not raise an excepion if a non-existent
-    # 'repository_name' is specified.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Ensure the roledb is reset to its original, default state.  Subsequent
-    # test functions expect only the 'default' repository to exist in the roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-
-
-  def test_clear_roledb(self):
-    # Test for an empty roledb, a length of 1 after adding a key, and finally
-    # an empty roledb after calling 'clear_roledb()'.
-    self.assertEqual(0, len(tuf.roledb._roledb_dict['default']))
-    tuf.roledb._roledb_dict['default']['Root'] = {'keyids': ['123'], 'threshold': 1}
-    self.assertEqual(1, len(tuf.roledb._roledb_dict['default']))
-    tuf.roledb.clear_roledb()
-    self.assertEqual(0, len(tuf.roledb._roledb_dict['default']))
-
-    # Verify that the roledb can be cleared for a non-default repository.
-    rolename = 'targets'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.clear_roledb, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(roleinfo['keyids'], tuf.roledb.get_role_keyids(rolename, repository_name))
-    tuf.roledb.clear_roledb(repository_name)
-    self.assertFalse(tuf.roledb.role_exists(rolename, repository_name))
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test condition for invalid and unexpected arguments.
-    self.assertRaises(TypeError, tuf.roledb.clear_roledb, 'default', False, 'unexpected_argument')
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.clear_roledb, 123)
-
-
-
-  def test_add_role(self):
-    # Test conditions where the arguments are valid.
-    self.assertEqual(0, len(tuf.roledb._roledb_dict['default']))
-    rolename = 'targets'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    rolename2 = 'role1'
-    self.assertEqual(None, tuf.roledb.add_role(rolename, roleinfo))
-    self.assertEqual(1, len(tuf.roledb._roledb_dict['default']))
-    tuf.roledb.clear_roledb()
-    self.assertEqual(None, tuf.roledb.add_role(rolename, roleinfo))
-    self.assertEqual(1, len(tuf.roledb._roledb_dict['default']))
-
-    # Verify that a role can be added to a non-default repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.clear_roledb,
-                                            repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(roleinfo['keyids'], tuf.roledb.get_role_keyids(rolename,
-                                         repository_name))
-
-    # Reset the roledb so that subsequent tests have access to a default
-    # roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, None, roleinfo)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, 123, roleinfo)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, [''], roleinfo)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, rolename, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, rolename, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, rolename, [''])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.add_role, rolename, roleinfo, 123)
-
-
-    # Test condition where the rolename already exists in the role database.
-    self.assertRaises(tuf.exceptions.RoleAlreadyExistsError, tuf.roledb.add_role,
-                      rolename, roleinfo)
-
-    # Test where the repository name does not exist in the role database.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.add_role,
-                      'new_role', roleinfo, 'non-existent')
-
-    # Test conditions for invalid rolenames.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.add_role, ' badrole ',
-                      roleinfo)
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.add_role, '/badrole/',
-                      roleinfo)
-
-
-
-
-
-  def test_role_exists(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    rolename2 = 'role1'
-
-    self.assertEqual(False, tuf.roledb.role_exists(rolename))
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo)
-    self.assertEqual(True, tuf.roledb.role_exists(rolename))
-    self.assertEqual(True, tuf.roledb.role_exists(rolename2))
-
-    # Verify that a role can be queried for a non-default repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.clear_roledb, repository_name)
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.role_exists, rolename, repository_name)
-
-    tuf.roledb.create_roledb(repository_name)
-    self.assertEqual(False, tuf.roledb.role_exists(rolename, repository_name))
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertTrue(tuf.roledb.role_exists(rolename, repository_name))
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.role_exists, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.role_exists, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.role_exists, ['rolename'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.role_exists, rolename, 123)
-
-    # Test conditions for invalid rolenames.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.role_exists, '')
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.role_exists, ' badrole ')
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.role_exists, '/badrole/')
-
-
-
-
-
-  def test_remove_role(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'release'
-    rolename3 = 'django'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    roleinfo2 = {'keyids': ['123'], 'threshold': 1, 'delegations':
-      {'roles': [{'name': 'django', 'keyids': ['456'], 'threshold': 1}],
-       'keys': {'456': {'keytype': 'rsa', 'keyval': {'public': '456'}},
-      }}}
-
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-    tuf.roledb.add_role(rolename3, roleinfo)
-
-    self.assertEqual(None, tuf.roledb.remove_role(rolename))
-    self.assertEqual(True, rolename not in tuf.roledb._roledb_dict)
-
-    # Verify that a role can be removed from a non-default repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.remove_role, rolename, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(roleinfo['keyids'], tuf.roledb.get_role_keyids(rolename, repository_name))
-    self.assertEqual(None, tuf.roledb.remove_role(rolename, repository_name))
-
-    # Verify that a role cannot be removed from a non-existent repository name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.remove_role, rolename, 'non-existent')
-
-    # Reset the roledb so that subsequent test have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where removing a role does not cause the removal of its
-    # delegated roles.  The 'django' role should now only exist (after the
-    # removal of 'targets' in the previous test condition, and the removal
-    # of 'release' in the remove_role() call next.
-    self.assertEqual(None, tuf.roledb.remove_role(rolename2))
-    self.assertEqual(1, len(tuf.roledb._roledb_dict['default']))
-
-    # Test conditions where the arguments are improperly formatted,
-    # contain invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.remove_role)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.remove_role, rolename, 123)
-
-
-
-
-  def test_get_rolenames(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'role1'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    self.assertEqual([], tuf.roledb.get_rolenames())
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo)
-    self.assertEqual(set(['targets', 'role1']),
-                     set(tuf.roledb.get_rolenames()))
-
-    # Verify that rolenames can be retrieved for a role in a non-default
-    # repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_rolenames, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    tuf.roledb.add_role(rolename2, roleinfo, repository_name)
-
-    self.assertEqual(set(['targets', 'role1']),
-                     set(tuf.roledb.get_rolenames()))
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default repository.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test for invalid or improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_rolenames, 123)
-
-
-
-  def test_get_role_info(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'role1'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    roleinfo2 = {'keyids': ['456', '789'], 'threshold': 2}
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.get_roleinfo, rolename)
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-
-    self.assertEqual(roleinfo, tuf.roledb.get_roleinfo(rolename))
-    self.assertEqual(roleinfo2, tuf.roledb.get_roleinfo(rolename2))
-
-    # Verify that a roleinfo can be retrieved for a role in a non-default
-    # repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_roleinfo,
-                                            rolename, repository_name)
-
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(roleinfo, tuf.roledb.get_roleinfo(rolename, repository_name))
-
-    # Verify that a roleinfo cannot be retrieved for a non-existent repository
-    # name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_roleinfo, rolename,
-                      'non-existent')
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted, contain
-    # invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.get_roleinfo)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_roleinfo, rolename, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_roleinfo, 123)
-
-
-
-  def test_get_role_keyids(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'role1'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    roleinfo2 = {'keyids': ['456', '789'], 'threshold': 2}
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.get_role_keyids, rolename)
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-
-    self.assertEqual(['123'], tuf.roledb.get_role_keyids(rolename))
-    self.assertEqual(set(['456', '789']),
-                     set(tuf.roledb.get_role_keyids(rolename2)))
-
-    # Verify that the role keyids can be retrieved for a role in a non-default
-    # repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_role_keyids,
-                                            rolename, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(['123'], tuf.roledb.get_role_keyids(rolename, repository_name))
-
-    # Verify that rolekeyids cannot be retrieved from a non-existent repository
-    # name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_role_keyids, rolename,
-                      'non-existent')
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted, contain
-    # invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.get_role_keyids)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_role_keyids, rolename, 123)
-
-
-
-  def test_get_role_threshold(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'role1'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    roleinfo2 = {'keyids': ['456', '789'], 'threshold': 2}
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.get_role_threshold, rolename)
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-
-    self.assertEqual(1, tuf.roledb.get_role_threshold(rolename))
-    self.assertEqual(2, tuf.roledb.get_role_threshold(rolename2))
-
-    # Verify that the threshold can be retrieved for a role in a non-default
-    # repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_role_threshold,
-                                            rolename, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(roleinfo['threshold'], tuf.roledb.get_role_threshold(rolename, repository_name))
-
-    # Verify that a role's threshold cannot be retrieved from a non-existent
-    # repository name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_role_threshold,
-                      rolename, 'non-existent')
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted,
-    # contain invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.get_role_threshold)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_role_threshold, rolename, 123)
-
-
-  def test_get_role_paths(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'targets'
-    rolename2 = 'role1'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    paths = ['a/b', 'c/d']
-    roleinfo2 = {'keyids': ['456', '789'], 'threshold': 2, 'paths': paths}
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.get_role_paths, rolename)
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-
-    self.assertEqual({}, tuf.roledb.get_role_paths(rolename))
-    self.assertEqual(paths, tuf.roledb.get_role_paths(rolename2))
-
-    # Verify that role paths can be queried for roles in non-default
-    # repositories.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_role_paths,
-                                            rolename, repository_name)
-
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename2, roleinfo2, repository_name)
-    self.assertEqual(roleinfo2['paths'], tuf.roledb.get_role_paths(rolename2,
-                                         repository_name))
-
-    # Reset the roledb so that subsequent roles have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted,
-    # contain invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.get_role_paths)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_role_paths, rolename, 123)
-
-
-
-  def test_get_delegated_rolenames(self):
-    # Test conditions where the arguments are valid.
-    rolename = 'unclaimed'
-    rolename2 = 'django'
-    rolename3 = 'release'
-    rolename4 = 'tuf'
-
-    # unclaimed's roleinfo.
-    roleinfo = {'keyids': ['123'], 'threshold': 1, 'delegations':
-      {'roles': [{'name': 'django', 'keyids': ['456'], 'threshold': 1},
-                 {'name': 'tuf', 'keyids': ['888'], 'threshold': 1}],
-      'keys': {'456': {'keytype': 'rsa', 'keyval': {'public': '456'}},
-      }}}
-
-    # django's roleinfo.
-    roleinfo2 = {'keyids': ['456'], 'threshold': 1, 'delegations':
-      {'roles': [{'name': 'release', 'keyids': ['789'], 'threshold': 1}],
-      'keys': {'789': {'keytype': 'rsa', 'keyval': {'public': '789'}},
-      }}}
-
-    # release's roleinfo.
-    roleinfo3 = {'keyids': ['789'], 'threshold': 1, 'delegations':
-      {'roles': [],
-      'keys': {}}}
-
-    # tuf's roleinfo.
-    roleinfo4 = {'keyids': ['888'], 'threshold': 1, 'delegations':
-      {'roles': [],
-      'keys': {}}}
-
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.get_delegated_rolenames,
-                      rolename)
-
-    tuf.roledb.add_role(rolename, roleinfo)
-    tuf.roledb.add_role(rolename2, roleinfo2)
-    tuf.roledb.add_role(rolename3, roleinfo3)
-    tuf.roledb.add_role(rolename4, roleinfo4)
-
-    self.assertEqual(set(['django', 'tuf']),
-                     set(tuf.roledb.get_delegated_rolenames(rolename)))
-
-    self.assertEqual(set(['release']),
-                     set(tuf.roledb.get_delegated_rolenames(rolename2)))
-
-    self.assertEqual(set([]),
-                     set(tuf.roledb.get_delegated_rolenames(rolename3)))
-
-    self.assertEqual(set([]),
-                     set(tuf.roledb.get_delegated_rolenames(rolename4)))
-
-    # Verify that the delegated rolenames of a role in a non-default
-    # repository can be accessed.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_delegated_rolenames,
-                                           rolename, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    self.assertEqual(set(['django', 'tuf']),
-                     set(tuf.roledb.get_delegated_rolenames(rolename, repository_name)))
-
-    # Reset the roledb so that subsequent tests have access to the original,
-    # default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions where the arguments are improperly formatted,
-    # contain invalid names, or haven't been added to the role database.
-    self._test_rolename(tuf.roledb.get_delegated_rolenames)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_delegated_rolenames, rolename, 123)
-
-
-
-  def test_create_roledb_from_root_metadata(self):
-    # Test condition using a valid 'root_metadata' argument.
-    rsakey = KEYS[0]
-    keyid = KEYS[0]['keyid']
-    rsakey2 = KEYS[1]
-    keyid2 = KEYS[1]['keyid']
-    rsakey3 = KEYS[2]
-    keyid3 = KEYS[2]['keyid']
-    keydict = {keyid: rsakey, keyid2: rsakey2}
-    roledict = {'root': {'keyids': [keyid], 'threshold': 1},
-                'targets': {'keyids': [keyid2], 'threshold': 1}}
-    version = 8
-    consistent_snapshot = False
-    expires = '1985-10-21T01:21:00Z'
-
-    root_metadata = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROOT_SCHEMA,
-        _type='root',
-        spec_version='1.0.0',
-        version=version,
-        expires=expires,
-        keys=keydict,
-        roles=roledict,
-        consistent_snapshot=consistent_snapshot)
-
-    self.assertEqual(None,
-                     tuf.roledb.create_roledb_from_root_metadata(root_metadata))
-
-    # Ensure 'Root' and 'Targets' were added to the role database.
-    self.assertEqual([keyid], tuf.roledb.get_role_keyids('root'))
-    self.assertEqual([keyid2], tuf.roledb.get_role_keyids('targets'))
-
-    # Test that a roledb is created for a non-default repository.
-    repository_name = 'example_repository'
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.clear_roledb,
-                                            repository_name)
-    tuf.roledb.create_roledb_from_root_metadata(root_metadata, repository_name)
-    self.assertEqual([keyid], tuf.roledb.get_role_keyids('root', repository_name))
-    self.assertEqual([keyid2], tuf.roledb.get_role_keyids('targets', repository_name))
-
-    # Remove the example repository added to the roledb so that subsequent
-    # tests have access to an original, default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test conditions for arguments with invalid formats.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, '')
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, ['123'])
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, {'bad': '123'})
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      tuf.roledb.create_roledb_from_root_metadata, root_metadata, 123)
-
-    # Verify that the expected roles of a Root file are properly loaded.
-    tuf.roledb.clear_roledb()
-    roledict = {'root': {'keyids': [keyid], 'threshold': 1},
-                'release': {'keyids': [keyid3], 'threshold': 1}}
-    version = 8
-
-    # Add a third key for 'release'.
-    keydict[keyid3] = rsakey3
-
-    # Generate 'root_metadata' to verify that 'release' and 'root' are added
-    # to the role database.
-
-    root_metadata = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROOT_SCHEMA,
-        _type='root',
-        spec_version='1.0.0',
-        version=version,
-        expires=expires,
-        keys=keydict,
-        roles=roledict,
-        consistent_snapshot=consistent_snapshot)
-
-    self.assertEqual(None,
-        tuf.roledb.create_roledb_from_root_metadata(root_metadata))
-
-    # Ensure only 'root' and 'release' were added to the role database.
-    self.assertEqual(2, len(tuf.roledb._roledb_dict['default']))
-    self.assertEqual(True, tuf.roledb.role_exists('root'))
-    self.assertEqual(True, tuf.roledb.role_exists('release'))
-
-
-
-  def test_update_roleinfo(self):
-    rolename = 'targets'
-    roleinfo = {'keyids': ['123'], 'threshold': 1}
-    tuf.roledb.add_role(rolename, roleinfo)
-
-    # Test normal case.
-    tuf.roledb.update_roleinfo(rolename, roleinfo)
-
-    # Verify that a roleinfo can be updated for a role in a non-default
-    # repository.
-    repository_name = 'example_repository'
-    mark_role_as_dirty = True
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.clear_roledb, repository_name)
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo, repository_name)
-    tuf.roledb.update_roleinfo(rolename, roleinfo, mark_role_as_dirty, repository_name)
-    self.assertEqual(roleinfo['keyids'], tuf.roledb.get_role_keyids(rolename, repository_name))
-
-    # Reset the roledb so that subsequent tests can access the default roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test for an unknown role.
-    self.assertRaises(tuf.exceptions.UnknownRoleError, tuf.roledb.update_roleinfo,
-                      'unknown_rolename', roleinfo)
-
-    # Verify that a roleinfo cannot be updated to a non-existent repository
-    # name.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.update_roleinfo,
-                      'new_rolename', roleinfo, False, 'non-existent')
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.update_roleinfo, 1, roleinfo)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.update_roleinfo, rolename, 1)
-
-    repository_name = 'example_repository'
-    mark_role_as_dirty = True
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.update_roleinfo, rolename,
-                                       roleinfo, 1, repository_name)
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.update_roleinfo,
-                                       rolename, mark_role_as_dirty, 123)
-
-
-
-  def test_get_dirty_roles(self):
-    # Verify that the dirty roles of a role are returned.
-    rolename = 'targets'
-    roleinfo1 = {'keyids': ['123'], 'threshold': 1}
-    tuf.roledb.add_role(rolename, roleinfo1)
-    roleinfo2 = {'keyids': ['123'], 'threshold': 2}
-    mark_role_as_dirty = True
-    tuf.roledb.update_roleinfo(rolename, roleinfo2, mark_role_as_dirty)
-    # Note: The 'default' repository is searched if the repository name is
-    # not given to get_dirty_roles().
-    self.assertEqual([rolename], tuf.roledb.get_dirty_roles())
-
-    # Verify that a list of dirty roles is returned for a non-default
-    # repository.
-    repository_name = 'example_repository'
-    tuf.roledb.create_roledb(repository_name)
-    tuf.roledb.add_role(rolename, roleinfo1, repository_name)
-    tuf.roledb.update_roleinfo(rolename, roleinfo2, mark_role_as_dirty, repository_name)
-    self.assertEqual([rolename], tuf.roledb.get_dirty_roles(repository_name))
-
-    # Verify that dirty roles are not returned for a non-existent repository.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.get_dirty_roles, 'non-existent')
-
-    # Reset the roledb so that subsequent tests have access to a default
-    # roledb.
-    tuf.roledb.remove_roledb(repository_name)
-
-    # Test for improperly formatted argument.
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.roledb.get_dirty_roles, 123)
-
-
-
-  def test_mark_dirty(self):
-    # Add a dirty role to roledb.
-    rolename = 'targets'
-    roleinfo1 = {'keyids': ['123'], 'threshold': 1}
-    tuf.roledb.add_role(rolename, roleinfo1)
-    rolename2 = 'dirty_role'
-    roleinfo2 = {'keyids': ['123'], 'threshold': 2}
-    mark_role_as_dirty = True
-    tuf.roledb.update_roleinfo(rolename, roleinfo1, mark_role_as_dirty)
-    # Note: The 'default' repository is searched if the repository name is
-    # not given to get_dirty_roles().
-    self.assertEqual([rolename], tuf.roledb.get_dirty_roles())
-
-    tuf.roledb.mark_dirty(['dirty_role'])
-    self.assertEqual([rolename2, rolename], tuf.roledb.get_dirty_roles())
-
-    # Verify that a role cannot be marked as dirty for a non-existent
-    # repository.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.mark_dirty,
-                      ['dirty_role'], 'non-existent')
-
-
-
-  def test_unmark_dirty(self):
-    # Add a dirty role to roledb.
-    rolename = 'targets'
-    roleinfo1 = {'keyids': ['123'], 'threshold': 1}
-    tuf.roledb.add_role(rolename, roleinfo1)
-    rolename2 = 'dirty_role'
-    roleinfo2 = {'keyids': ['123'], 'threshold': 2}
-    tuf.roledb.add_role(rolename2, roleinfo2)
-    mark_role_as_dirty = True
-    tuf.roledb.update_roleinfo(rolename, roleinfo1, mark_role_as_dirty)
-    # Note: The 'default' repository is searched if the repository name is
-    # not given to get_dirty_roles().
-    self.assertEqual([rolename], tuf.roledb.get_dirty_roles())
-    tuf.roledb.update_roleinfo(rolename2, roleinfo2, mark_role_as_dirty)
-
-    tuf.roledb.unmark_dirty(['dirty_role'])
-    self.assertEqual([rolename], tuf.roledb.get_dirty_roles())
-    tuf.roledb.unmark_dirty(['targets'])
-    self.assertEqual([], tuf.roledb.get_dirty_roles())
-
-    # What happens for a role that isn't dirty?  unmark_dirty() should just
-    # log a message.
-    tuf.roledb.unmark_dirty(['unknown_role'])
-
-    # Verify that a role cannot be unmarked as dirty for a non-existent
-    # repository.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, tuf.roledb.unmark_dirty,
-                      ['dirty_role'], 'non-existent')
-
-
-  def _test_rolename(self, test_function):
-    # Private function that tests the 'rolename' argument of 'test_function'
-    # for format, invalid name, and unknown role exceptions.
-
-    # Test conditions where the arguments are improperly formatted.
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, None)
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, 123)
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, ['rolename'])
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, {'a': 'b'})
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, ('a', 'b'))
-    self.assertRaises(securesystemslib.exceptions.FormatError, test_function, True)
-
-    # Test condition where the 'rolename' has not been added to the role database.
-    self.assertRaises(tuf.exceptions.UnknownRoleError, test_function, 'badrole')
-
-    # Test conditions for invalid rolenames.
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, test_function, '')
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, test_function, ' badrole ')
-    self.assertRaises(securesystemslib.exceptions.InvalidNameError, test_function, '/badrole/')
-
-
-
-def setUpModule():
-  # setUpModule() is called before any test cases run.
-  # Ensure the roledb has not been modified by a previous test, which may
-  # affect assumptions (i.e., empty roledb) made by the tests cases in this
-  # unit test.
-  tuf.roledb.clear_roledb()
-
-def tearDownModule():
-  # tearDownModule() is called after all the tests have run.
-  # Ensure we clean up roledb.  Courtesy is contagious, and it begins with
-  # test_roledb.py.
-  tuf.roledb.clear_roledb()
-
-
-
-# Run the unit tests.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_root_versioning_integration.py b/tests/test_root_versioning_integration.py
deleted file mode 100755
index b0eda37bd5..0000000000
--- a/tests/test_root_versioning_integration.py
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2016 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_root_versioning_integration.py
-
-<Author>
-  Evan Cordell.
-
-<Started>
-  July 21, 2016.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Test root versioning for efficient root key rotation.
-"""
-
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import logging
-import tempfile
-import shutil
-import unittest
-import sys
-
-import tuf
-import tuf.log
-import tuf.formats
-import tuf.exceptions
-import tuf.roledb
-import tuf.keydb
-import tuf.repository_tool as repo_tool
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.storage
-
-logger = logging.getLogger(__name__)
-
-repo_tool.disable_console_log_messages()
-
-
-class TestRepository(unittest.TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-  @classmethod
-  def tearDownClass(cls):
-    shutil.rmtree(cls.temporary_directory)
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb()
-    tuf.keydb.clear_keydb()
-
-  def test_init(self):
-    # Test normal case.
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    repository = repo_tool.Repository('repository_directory/',
-                                      'metadata_directory/',
-                                      'targets_directory/',
-                                      storage_backend)
-    self.assertTrue(isinstance(repository.root, repo_tool.Root))
-    self.assertTrue(isinstance(repository.snapshot, repo_tool.Snapshot))
-    self.assertTrue(isinstance(repository.timestamp, repo_tool.Timestamp))
-    self.assertTrue(isinstance(repository.targets, repo_tool.Targets))
-
-    # Test improperly formatted arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository, 3,
-                      'metadata_directory/', 'targets_directory', storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory', 3, 'targets_directory', storage_backend)
-    self.assertRaises(securesystemslib.exceptions.FormatError, repo_tool.Repository,
-                      'repository_directory', 'metadata_directory', storage_backend, 3)
-
-
-
-  def test_root_role_versioning(self):
-    # Test root role versioning
-    #
-    # 1. Import public and private keys.
-    # 2. Add verification keys.
-    # 3. Load signing keys.
-    # 4. Add target files.
-    # 5. Perform delegation.
-    # 6. writeall()
-    #
-    # Copy the target files from 'tuf/tests/repository_data' so that writeall()
-    # has target fileinfo to include in metadata.
-    temporary_directory = tempfile.mkdtemp(dir=self.temporary_directory)
-    targets_directory = os.path.join(temporary_directory, 'repository',
-                                     repo_tool.TARGETS_DIRECTORY_NAME)
-    original_targets_directory = os.path.join('repository_data',
-                                              'repository', 'targets')
-    shutil.copytree(original_targets_directory, targets_directory)
-
-    # In this case, create_new_repository() creates the 'repository/'
-    # sub-directory in 'temporary_directory' if it does not exist.
-    repository_directory = os.path.join(temporary_directory, 'repository')
-    metadata_directory = os.path.join(repository_directory,
-                                      repo_tool.METADATA_STAGED_DIRECTORY_NAME)
-    repository = repo_tool.create_new_repository(repository_directory)
-
-
-
-
-    # (1) Load the public and private keys of the top-level roles, and one
-    # delegated role.
-    keystore_directory = os.path.join('repository_data', 'keystore')
-
-    # Load the public keys.
-    root_pubkey_path = os.path.join(keystore_directory, 'root_key.pub')
-    targets_pubkey_path = os.path.join(keystore_directory, 'targets_key.pub')
-    snapshot_pubkey_path = os.path.join(keystore_directory, 'snapshot_key.pub')
-    timestamp_pubkey_path = os.path.join(keystore_directory, 'timestamp_key.pub')
-    role1_pubkey_path = os.path.join(keystore_directory, 'delegation_key.pub')
-
-    root_pubkey = repo_tool.import_rsa_publickey_from_file(root_pubkey_path)
-    targets_pubkey = repo_tool.import_ed25519_publickey_from_file(targets_pubkey_path)
-    snapshot_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(snapshot_pubkey_path)
-    timestamp_pubkey = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_pubkey_path)
-    role1_pubkey = repo_tool.import_ed25519_publickey_from_file(role1_pubkey_path)
-
-    # Load the private keys.
-    root_privkey_path = os.path.join(keystore_directory, 'root_key')
-    targets_privkey_path = os.path.join(keystore_directory, 'targets_key')
-    snapshot_privkey_path = os.path.join(keystore_directory, 'snapshot_key')
-    timestamp_privkey_path = os.path.join(keystore_directory, 'timestamp_key')
-    role1_privkey_path = os.path.join(keystore_directory, 'delegation_key')
-
-    root_privkey = \
-      repo_tool.import_rsa_privatekey_from_file(root_privkey_path, 'password')
-    targets_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(targets_privkey_path, 'password')
-    snapshot_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(snapshot_privkey_path,
-                                                'password')
-    timestamp_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(timestamp_privkey_path,
-                                                'password')
-    role1_privkey = \
-      repo_tool.import_ed25519_privatekey_from_file(role1_privkey_path,
-                                                'password')
-
-
-    # (2) Add top-level verification keys.
-    repository.root.add_verification_key(root_pubkey)
-    repository.targets.add_verification_key(targets_pubkey)
-    repository.snapshot.add_verification_key(snapshot_pubkey)
-    repository.timestamp.add_verification_key(timestamp_pubkey)
-
-
-    # (3) Load top-level signing keys.
-    repository.root.load_signing_key(root_privkey)
-    repository.targets.load_signing_key(targets_privkey)
-    repository.snapshot.load_signing_key(snapshot_privkey)
-    repository.timestamp.load_signing_key(timestamp_privkey)
-
-    # (4) Add target files.
-    target1 = 'file1.txt'
-    target2 = 'file2.txt'
-    target3 = 'file3.txt'
-    repository.targets.add_target(target1)
-    repository.targets.add_target(target2)
-
-
-    # (5) Perform delegation.
-    repository.targets.delegate('role1', [role1_pubkey], [target3])
-    repository.targets('role1').load_signing_key(role1_privkey)
-
-    # (6) Write repository.
-    repository.writeall()
-
-    self.assertTrue(os.path.exists(os.path.join(metadata_directory, 'root.json')))
-    self.assertTrue(os.path.exists(os.path.join(metadata_directory, '1.root.json')))
-
-
-    # Verify that the expected metadata is written.
-    root_filepath = os.path.join(metadata_directory, 'root.json')
-    root_1_filepath = os.path.join(metadata_directory, '1.root.json')
-    root_2_filepath = os.path.join(metadata_directory, '2.root.json')
-    old_root_signable = securesystemslib.util.load_json_file(root_filepath)
-    root_1_signable = securesystemslib.util.load_json_file(root_1_filepath)
-
-    # Make a change to the root keys
-    repository.root.add_verification_key(targets_pubkey)
-    repository.root.load_signing_key(targets_privkey)
-    repository.root.threshold = 2
-    repository.writeall()
-
-    new_root_signable = securesystemslib.util.load_json_file(root_filepath)
-    root_2_signable = securesystemslib.util.load_json_file(root_2_filepath)
-
-    for role_signable in [old_root_signable, new_root_signable, root_1_signable, root_2_signable]:
-      # Raise 'securesystemslib.exceptions.FormatError' if 'role_signable' is an
-      # invalid signable.
-      tuf.formats.check_signable_object_format(role_signable)
-
-    # Verify contents of versioned roots
-    self.assertEqual(old_root_signable, root_1_signable)
-    self.assertEqual(new_root_signable, root_2_signable)
-
-    self.assertEqual(root_1_signable['signed']['version'], 1)
-    self.assertEqual(root_2_signable['signed']['version'], 2)
-
-    repository.root.remove_verification_key(root_pubkey)
-    repository.root.unload_signing_key(root_privkey)
-    repository.root.threshold = 2
-
-    # Errors, not enough signing keys to satisfy old threshold
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    # No error, write() ignore's root's threshold and allows it to be written
-    # to disk partially signed.
-    repository.write('root')
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_sig.py b/tests/test_sig.py
deleted file mode 100755
index cb836bd7dd..0000000000
--- a/tests/test_sig.py
+++ /dev/null
@@ -1,554 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_sig.py
-
-<Author>
-  Geremy Condra
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  February 28, 2012.  Based on a previous version of this module.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Test cases for sig.py.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import logging
-import copy
-import sys
-
-import tuf
-import tuf.log
-import tuf.formats
-import tuf.keydb
-import tuf.roledb
-import tuf.sig
-import tuf.exceptions
-
-from tests import utils
-
-import securesystemslib
-import securesystemslib.keys
-
-logger = logging.getLogger(__name__)
-
-# Setup the keys to use in our test cases.
-KEYS = []
-for _ in range(3):
-  KEYS.append(securesystemslib.keys.generate_rsa_key(2048))
-
-
-
-class TestSig(unittest.TestCase):
-  def setUp(self):
-    pass
-
-  def tearDown(self):
-    tuf.roledb.clear_roledb()
-    tuf.keydb.clear_keydb()
-
-
-  def test_get_signature_status_no_role(self):
-    signable = {'signed': 'test', 'signatures': []}
-
-    # A valid, but empty signature status.
-    sig_status = tuf.sig.get_signature_status(signable)
-    self.assertTrue(tuf.formats.SIGNATURESTATUS_SCHEMA.matches(sig_status))
-
-    self.assertEqual(0, sig_status['threshold'])
-    self.assertEqual([], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    # A valid signable, but non-existent role argument.
-    self.assertRaises(tuf.exceptions.UnknownRoleError,
-      tuf.sig.get_signature_status, signable, 'unknown_role')
-
-    # Should verify we are not adding a duplicate signature
-    # when doing the following action.  Here we know 'signable'
-    # has only one signature so it's okay.
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-
-    # Improperly formatted role.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-      tuf.sig.get_signature_status, signable, 1)
-
-    # Not allowed to call verify() without having specified a role.
-    args = (signable, None)
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.sig.verify, *args)
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-
-
-  def test_get_signature_status_bad_sig(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-    signable['signed'] += 'signature no longer matches signed data'
-
-    tuf.keydb.add_key(KEYS[0])
-    threshold = 1
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA, keyids=[KEYS[0]['keyid']], threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertEqual(1, sig_status['threshold'])
-    self.assertEqual([], sig_status['good_sigs'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    self.assertFalse(tuf.sig.verify(signable, 'Root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    # Remove the role.
-    tuf.roledb.remove_role('Root')
-
-
-  def test_get_signature_status_unknown_signing_scheme(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    valid_scheme = KEYS[0]['scheme']
-    KEYS[0]['scheme'] = 'unknown_signing_scheme'
-    tuf.keydb.add_key(KEYS[0])
-    threshold = 1
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA, keyids=[KEYS[0]['keyid']], threshold=threshold)
-
-    tuf.roledb.add_role('root', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'root')
-
-    self.assertEqual(1, sig_status['threshold'])
-    self.assertEqual([], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([KEYS[0]['keyid']],
-                    sig_status['unknown_signing_schemes'])
-
-    self.assertFalse(tuf.sig.verify(signable, 'root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    KEYS[0]['scheme'] = valid_scheme
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    # Remove the role.
-    tuf.roledb.remove_role('root')
-
-
-  def test_get_signature_status_single_key(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    threshold = 1
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA, keyids=[KEYS[0]['keyid']], threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-    tuf.keydb.add_key(KEYS[0])
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertEqual(1, sig_status['threshold'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    self.assertTrue(tuf.sig.verify(signable, 'Root'))
-
-    # Test for an unknown signature when 'role' is left unspecified.
-    sig_status = tuf.sig.get_signature_status(signable)
-
-    self.assertEqual(0, sig_status['threshold'])
-    self.assertEqual([], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    # Remove the role.
-    tuf.roledb.remove_role('Root')
-
-
-  def test_get_signature_status_below_threshold(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-    threshold = 2
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=[KEYS[0]['keyid'], KEYS[2]['keyid']],
-        threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertEqual(2, sig_status['threshold'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    self.assertFalse(tuf.sig.verify(signable, 'Root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-
-    # Remove the role.
-    tuf.roledb.remove_role('Root')
-
-
-  def test_get_signature_status_below_threshold_unrecognized_sigs(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    # Two keys sign it, but only one of them will be trusted.
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[2], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-    tuf.keydb.add_key(KEYS[1])
-    threshold = 2
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=[KEYS[0]['keyid'], KEYS[1]['keyid']],
-        threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertEqual(2, sig_status['threshold'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([KEYS[2]['keyid']], sig_status['unknown_sigs'])
-    self.assertEqual([], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    self.assertFalse(tuf.sig.verify(signable, 'Root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    tuf.keydb.remove_key(KEYS[1]['keyid'])
-
-    # Remove the role.
-    tuf.roledb.remove_role('Root')
-
-
-  def test_get_signature_status_below_threshold_unauthorized_sigs(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-    # Two keys sign it, but one of them is only trusted for a different
-    # role.
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[1], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-    tuf.keydb.add_key(KEYS[1])
-    threshold = 2
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=[KEYS[0]['keyid'], KEYS[2]['keyid']],
-        threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=[KEYS[1]['keyid'], KEYS[2]['keyid']],
-        threshold=threshold)
-
-    tuf.roledb.add_role('Release', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertEqual(2, sig_status['threshold'])
-    self.assertEqual([KEYS[0]['keyid']], sig_status['good_sigs'])
-    self.assertEqual([], sig_status['bad_sigs'])
-    self.assertEqual([], sig_status['unknown_sigs'])
-    self.assertEqual([KEYS[1]['keyid']], sig_status['untrusted_sigs'])
-    self.assertEqual([], sig_status['unknown_signing_schemes'])
-
-    self.assertFalse(tuf.sig.verify(signable, 'Root'))
-
-    self.assertRaises(tuf.exceptions.UnknownRoleError,
-                      tuf.sig.get_signature_status, signable, 'unknown_role')
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    tuf.keydb.remove_key(KEYS[1]['keyid'])
-
-    # Remove the roles.
-    tuf.roledb.remove_role('Root')
-    tuf.roledb.remove_role('Release')
-
-
-
-  def test_check_signatures_no_role(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-
-    # No specific role we're considering. It's invalid to use the
-    # function tuf.sig.verify() without a role specified because
-    # tuf.sig.verify() is checking trust, as well.
-    args = (signable, None)
-    self.assertRaises(securesystemslib.exceptions.Error, tuf.sig.verify, *args)
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-
-
-
-  def test_verify_single_key(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-    threshold = 1
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA, keyids=[KEYS[0]['keyid']], threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    # This will call verify() and return True if 'signable' is valid,
-    # False otherwise.
-    self.assertTrue(tuf.sig.verify(signable, 'Root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-
-    # Remove the roles.
-    tuf.roledb.remove_role('Root')
-
-
-
-  def test_verify_must_not_count_duplicate_keyids_towards_threshold(self):
-    # Create and sign dummy metadata twice with same key
-    # Note that we use the non-deterministic rsassa-pss signing scheme, so
-    # creating the signature twice shows that we don't only detect duplicate
-    # signatures but also different signatures from the same key.
-    signable = {"signed" : "test", "signatures" : []}
-    signed = securesystemslib.formats.encode_canonical(
-        signable["signed"]).encode("utf-8")
-    signable["signatures"].append(
-        securesystemslib.keys.create_signature(KEYS[0], signed))
-    signable["signatures"].append(
-        securesystemslib.keys.create_signature(KEYS[0], signed))
-
-    # 'get_signature_status' uses keys from keydb for verification
-    tuf.keydb.add_key(KEYS[0])
-
-    # Assert that 'get_signature_status' returns two good signatures ...
-    status = tuf.sig.get_signature_status(
-        signable, "root", keyids=[KEYS[0]["keyid"]], threshold=2)
-    self.assertTrue(len(status["good_sigs"]) == 2)
-
-    # ... but only one counts towards the threshold
-    self.assertFalse(
-        tuf.sig.verify(signable, "root", keyids=[KEYS[0]["keyid"]], threshold=2))
-
-    # Clean-up keydb
-    tuf.keydb.remove_key(KEYS[0]["keyid"])
-
-
-
-  def test_verify_count_different_keyids_for_same_key_towards_threshold(self):
-    # Create and sign dummy metadata twice with same key but different keyids
-    signable = {"signed" : "test", "signatures" : []}
-    key_sha256 = copy.deepcopy(KEYS[0])
-    key_sha256["keyid"] = "deadbeef256"
-
-    key_sha512 = copy.deepcopy(KEYS[0])
-    key_sha512["keyid"] = "deadbeef512"
-
-    signed = securesystemslib.formats.encode_canonical(
-        signable["signed"]).encode("utf-8")
-    signable["signatures"].append(
-        securesystemslib.keys.create_signature(key_sha256, signed))
-    signable["signatures"].append(
-        securesystemslib.keys.create_signature(key_sha512, signed))
-
-    # 'get_signature_status' uses keys from keydb for verification
-    tuf.keydb.add_key(key_sha256)
-    tuf.keydb.add_key(key_sha512)
-
-    # Assert that the key only counts toward the threshold once
-    keyids = [key_sha256["keyid"], key_sha512["keyid"]]
-    self.assertFalse(
-        tuf.sig.verify(signable, "root", keyids=keyids, threshold=2))
-
-    # Clean-up keydb
-    tuf.keydb.remove_key(key_sha256["keyid"])
-    tuf.keydb.remove_key(key_sha512["keyid"])
-
-
-
-  def test_verify_unrecognized_sig(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    # Two keys sign it, but only one of them will be trusted.
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[2], signed))
-
-    tuf.keydb.add_key(KEYS[0])
-    tuf.keydb.add_key(KEYS[1])
-    threshold = 2
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=[KEYS[0]['keyid'], KEYS[1]['keyid']],
-        threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    self.assertFalse(tuf.sig.verify(signable, 'Root'))
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[0]['keyid'])
-    tuf.keydb.remove_key(KEYS[1]['keyid'])
-
-    # Remove the roles.
-    tuf.roledb.remove_role('Root')
-
-
-
-  def test_generate_rsa_signature(self):
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    self.assertEqual(1, len(signable['signatures']))
-    signature = signable['signatures'][0]
-    self.assertEqual(KEYS[0]['keyid'], signature['keyid'])
-
-    returned_signature = tuf.sig.generate_rsa_signature(signable['signed'], KEYS[0])
-    self.assertTrue(securesystemslib.formats.SIGNATURE_SCHEMA.matches(returned_signature))
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[1], signed))
-
-    self.assertEqual(2, len(signable['signatures']))
-    signature = signable['signatures'][1]
-    self.assertEqual(KEYS[1]['keyid'], signature['keyid'])
-
-
-
-  def test_may_need_new_keys(self):
-    # One untrusted key in 'signable'.
-    signable = {'signed' : 'test', 'signatures' : []}
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-
-    signable['signatures'].append(securesystemslib.keys.create_signature(
-                                  KEYS[0], signed))
-
-    tuf.keydb.add_key(KEYS[1])
-    threshold = 1
-
-    roleinfo = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA, keyids=[KEYS[1]['keyid']], threshold=threshold)
-
-    tuf.roledb.add_role('Root', roleinfo)
-
-    sig_status = tuf.sig.get_signature_status(signable, 'Root')
-
-    self.assertTrue(tuf.sig.may_need_new_keys(sig_status))
-
-
-    # Done.  Let's remove the added key(s) from the key database.
-    tuf.keydb.remove_key(KEYS[1]['keyid'])
-
-    # Remove the roles.
-    tuf.roledb.remove_role('Root')
-
-
-  def test_signable_has_invalid_format(self):
-    # get_signature_status() and verify() validate 'signable' before continuing.
-    # 'signable' must be of the form: {'signed': , 'signatures': [{}]}.
-    # Object types are checked as well.
-    signable = {'not_signed' : 'test', 'signatures' : []}
-    args = (signable['not_signed'], KEYS[0])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.sig.get_signature_status, *args)
-
-    # 'signatures' value must be a list.  Let's try a dict.
-    signable = {'signed' : 'test', 'signatures' : {}}
-    args = (signable['signed'], KEYS[0])
-    self.assertRaises(securesystemslib.exceptions.FormatError, tuf.sig.get_signature_status, *args)
-
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_slow_retrieval_attack.py b/tests/test_slow_retrieval_attack.py
deleted file mode 100755
index 3c87e0d912..0000000000
--- a/tests/test_slow_retrieval_attack.py
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_slow_retrieval_attack.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 13, 2012.
-
-  April 5, 2014.
-    Refactored to use the 'unittest' module (test conditions in code, rather
-    than verifying text output), use pre-generated repository files, and
-    discontinue use of the old repository tools. Expanded comments and modified
-    previous setup. -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Simulate a slow retrieval attack, where an attacker is able to prevent clients
-  from receiving updates by responding to client requests so slowly that updates
-  never complete.  Test cases included for two types of slow retrievals: data
-  that slowly trickles in, and data that is only returned after a long time
-  delay.  TUF prevents slow retrieval attacks by ensuring the download rate
-  does not fall below a required rate (tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED).
-
-  Note: There is no difference between 'updates' and 'target' files.
-
-  # TODO: Consider additional tests for slow metadata download. Tests here only
-  use slow target download.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import tempfile
-import shutil
-import logging
-import unittest
-import sys
-
-import tuf.log
-import tuf.client.updater as updater
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.repository_tool as repo_tool
-import tuf.roledb
-import tuf.keydb
-
-from tests import utils
-
-import six
-
-logger = logging.getLogger(__name__)
-repo_tool.disable_console_log_messages()
-
-
-
-class TestSlowRetrieval(unittest_toolbox.Modified_TestCase):
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    self.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.keystore_directory = os.path.join(temporary_repository_root, 'keystore')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-
-    # Produce a longer target file than exists in the other test repository
-    # data, to provide for a long-duration slow attack. Then we'll write new
-    # top-level metadata that includes a hash over that file, and provide that
-    # metadata to the client as well.
-
-    # The slow retrieval server, in mode 2 (1 byte per second), will only
-    # sleep for a  total of (target file size) seconds.  Add a target file
-    # that contains sufficient number of bytes to trigger a slow retrieval
-    # error. A transfer should not be permitted to take 1 second per byte
-    # transferred. Because this test is currently expected to fail, I'm
-    # limiting the size to 10 bytes (10 seconds) to avoid expected testing
-    # delays.... Consider increasing again after fix, to, e.g. 400.
-    total_bytes = 10
-
-    repository = repo_tool.load_repository(self.repository_directory)
-    file1_filepath = os.path.join(self.repository_directory, 'targets',
-                                  'file1.txt')
-    with open(file1_filepath, 'wb') as file_object:
-      data = 'a' * int(round(total_bytes))
-      file_object.write(data.encode('utf-8'))
-
-    key_file = os.path.join(self.keystore_directory, 'timestamp_key')
-    timestamp_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    key_file = os.path.join(self.keystore_directory, 'snapshot_key')
-    snapshot_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-    key_file = os.path.join(self.keystore_directory, 'targets_key')
-    targets_private = repo_tool.import_ed25519_privatekey_from_file(key_file,
-                                                                  'password')
-
-    repository.targets.load_signing_key(targets_private)
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Since we've changed the repository metadata in this setup (by lengthening
-    # a target file and then writing new metadata), we also have to update the
-    # client metadata to get to the expected initial state, where the client
-    # knows the right target info (and so expects the right, longer target
-    # length.
-    # We'll skip using updater.refresh since we don't have a server running,
-    # and we'll update the metadata locally, manually.
-    shutil.rmtree(os.path.join(
-        self.client_directory, self.repository_name, 'metadata', 'current'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata'),
-        os.path.join(self.client_directory, self.repository_name, 'metadata',
-        'current'))
-
-    # Set the url prefix required by the 'tuf/client/updater.py' updater.
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='slow_retrieval_server.py')
-
-    logger.info('Slow Retrieval Server process started.')
-
-    url_prefix = 'http://localhost:' \
-      + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Create the repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Cleans the resources and flush the logged lines (if any).
-    self.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases.
-    shutil.rmtree(self.temporary_directory)
-
-
-
-  def test_delay_before_send(self):
-    # Simulate a slow retrieval attack.
-    # When download begins,the server blocks the download for a long
-    # time by doing nothing before it sends the first byte of data.
-
-    # Verify that the TUF client detects replayed metadata and refuses to
-    # continue the update process.
-    try:
-      file1_target = self.repository_updater.get_one_valid_targetinfo('file1.txt')
-      self.repository_updater.download_target(file1_target, self.client_directory)
-
-    # Verify that the specific 'tuf.exceptions.SlowRetrievalError' exception is raised by
-    # each mirror.
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      for mirror_url, mirror_error in six.iteritems(exception.mirror_errors):
-        url_prefix = self.repository_mirrors['mirror1']['url_prefix']
-        url_file = os.path.join(url_prefix, 'targets', 'file1.txt')
-
-        # Verify that 'file1.txt' is the culprit.
-        self.assertEqual(url_file.replace('\\', '/'), mirror_url)
-        self.assertTrue(isinstance(mirror_error, tuf.exceptions.SlowRetrievalError))
-
-    else:
-      self.fail('TUF did not prevent a slow retrieval attack.')
-
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_trusted_metadata_set.py b/tests/test_trusted_metadata_set.py
new file mode 100644
index 0000000000..bd8113eb4a
--- /dev/null
+++ b/tests/test_trusted_metadata_set.py
@@ -0,0 +1,547 @@
+"""Unit tests for 'tuf/ngclient/_internal/trusted_metadata_set.py'."""
+
+from __future__ import annotations
+
+import logging
+import os
+import sys
+import unittest
+from datetime import datetime, timezone
+from typing import Callable, ClassVar
+
+from securesystemslib.signer import Signer
+
+from tests import utils
+from tuf.api import exceptions
+from tuf.api.dsse import SimpleEnvelope
+from tuf.api.metadata import (
+    Metadata,
+    MetaFile,
+    Root,
+    Signed,
+    Snapshot,
+    Targets,
+    Timestamp,
+)
+from tuf.api.serialization.json import JSONSerializer
+from tuf.ngclient._internal.trusted_metadata_set import (
+    TrustedMetadataSet,
+    _load_from_simple_envelope,
+)
+from tuf.ngclient.config import EnvelopeType
+
+logger = logging.getLogger(__name__)
+
+
+class TestTrustedMetadataSet(unittest.TestCase):
+    """Tests for all public API of the TrustedMetadataSet class."""
+
+    keystore: ClassVar[dict[str, Signer]]
+    metadata: ClassVar[dict[str, bytes]]
+    repo_dir: ClassVar[str]
+
+    @classmethod
+    def modify_metadata(
+        cls, rolename: str, modification_func: Callable
+    ) -> bytes:
+        """Instantiate metadata from rolename type, call modification_func and
+        sign it again with self.keystore[rolename] signer.
+
+        Attributes:
+            rolename: Denoting the name of the metadata which will be modified.
+            modification_func: Function that will be called to modify the signed
+                portion of metadata bytes.
+        """
+        metadata = Metadata.from_bytes(cls.metadata[rolename])
+        modification_func(metadata.signed)
+        metadata.sign(cls.keystore[rolename])
+        return metadata.to_bytes(JSONSerializer(validate=True))
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        cls.repo_dir = os.path.join(
+            utils.TESTS_DIR, "repository_data", "repository", "metadata"
+        )
+        cls.metadata = {}
+        for md in [
+            Root.type,
+            Timestamp.type,
+            Snapshot.type,
+            Targets.type,
+            "role1",
+            "role2",
+        ]:
+            with open(os.path.join(cls.repo_dir, f"{md}.json"), "rb") as f:
+                cls.metadata[md] = f.read()
+
+        keystore_dir = os.path.join(
+            utils.TESTS_DIR, "repository_data", "keystore"
+        )
+        root = Metadata[Root].from_bytes(cls.metadata[Root.type]).signed
+
+        cls.keystore = {}
+        for role in [
+            Root.type,
+            Snapshot.type,
+            Targets.type,
+            Timestamp.type,
+        ]:
+            uri = f"file2:{os.path.join(keystore_dir, role + '_key')}"
+            role_obj = root.get_delegated_role(role)
+            key = root.get_key(role_obj.keyids[0])
+            cls.keystore[role] = Signer.from_priv_key_uri(uri, key)
+
+        def hashes_length_modifier(timestamp: Timestamp) -> None:
+            timestamp.snapshot_meta.hashes = None
+            timestamp.snapshot_meta.length = None
+
+        cls.metadata[Timestamp.type] = cls.modify_metadata(
+            Timestamp.type, hashes_length_modifier
+        )
+
+    def setUp(self) -> None:
+        self.trusted_set = TrustedMetadataSet(
+            self.metadata[Root.type], EnvelopeType.METADATA
+        )
+
+    def _update_all_besides_targets(
+        self,
+        timestamp_bytes: bytes | None = None,
+        snapshot_bytes: bytes | None = None,
+    ) -> None:
+        """Update all metadata roles besides targets.
+
+        Args:
+            timestamp_bytes:
+                Bytes used when calling trusted_set.update_timestamp().
+                Default self.metadata[Timestamp.type].
+            snapshot_bytes:
+                Bytes used when calling trusted_set.update_snapshot().
+                Default self.metadata[Snapshot.type].
+
+        """
+
+        timestamp_bytes = timestamp_bytes or self.metadata[Timestamp.type]
+        self.trusted_set.update_timestamp(timestamp_bytes)
+        snapshot_bytes = snapshot_bytes or self.metadata[Snapshot.type]
+        self.trusted_set.update_snapshot(snapshot_bytes)
+
+    def test_update(self) -> None:
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+        self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+        self.trusted_set.update_targets(self.metadata[Targets.type])
+        self.trusted_set.update_delegated_targets(
+            self.metadata["role1"], "role1", Targets.type
+        )
+        self.trusted_set.update_delegated_targets(
+            self.metadata["role2"], "role2", "role1"
+        )
+        # the 4 top level metadata objects + 2 additional delegated targets
+        self.assertTrue(len(self.trusted_set), 6)
+
+        count = 0
+        for md in self.trusted_set:
+            self.assertIsInstance(md, Signed)
+            count += 1
+
+        self.assertTrue(count, 6)
+
+    def test_update_metadata_output(self) -> None:
+        timestamp = self.trusted_set.update_timestamp(
+            self.metadata["timestamp"]
+        )
+        snapshot = self.trusted_set.update_snapshot(self.metadata["snapshot"])
+        targets = self.trusted_set.update_targets(self.metadata["targets"])
+        delegated_targets_1 = self.trusted_set.update_delegated_targets(
+            self.metadata["role1"], "role1", "targets"
+        )
+        delegated_targets_2 = self.trusted_set.update_delegated_targets(
+            self.metadata["role2"], "role2", "role1"
+        )
+        self.assertIsInstance(timestamp, Timestamp)
+        self.assertIsInstance(snapshot, Snapshot)
+        self.assertIsInstance(targets, Targets)
+        self.assertIsInstance(delegated_targets_1, Targets)
+        self.assertIsInstance(delegated_targets_2, Targets)
+
+    def test_out_of_order_ops(self) -> None:
+        # Update snapshot before timestamp
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+        # Update root after timestamp
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_root(self.metadata[Root.type])
+
+        # Update targets before snapshot
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+        self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+        # update timestamp after snapshot
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+        # Update delegated targets before targets
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_delegated_targets(
+                self.metadata["role1"], "role1", Targets.type
+            )
+
+        self.trusted_set.update_targets(self.metadata[Targets.type])
+
+        # Update snapshot after successful targets update
+        with self.assertRaises(RuntimeError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+        self.trusted_set.update_delegated_targets(
+            self.metadata["role1"], "role1", Targets.type
+        )
+
+    def test_bad_initial_root(self) -> None:
+        # root is not json
+        with self.assertRaises(exceptions.RepositoryError):
+            TrustedMetadataSet(b"", EnvelopeType.METADATA)
+
+        # root is invalid
+        root = Metadata.from_bytes(self.metadata[Root.type])
+        root.signed.version += 1
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            TrustedMetadataSet(root.to_bytes(), EnvelopeType.METADATA)
+
+        # metadata is of wrong type
+        with self.assertRaises(exceptions.RepositoryError):
+            TrustedMetadataSet(
+                self.metadata[Snapshot.type], EnvelopeType.METADATA
+            )
+
+    def test_bad_root_update(self) -> None:
+        # root is not json
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_root(b"")
+
+        # root is invalid
+        root = Metadata.from_bytes(self.metadata[Root.type])
+        root.signed.version += 1
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            self.trusted_set.update_root(root.to_bytes())
+
+        # metadata is of wrong type
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_root(self.metadata[Snapshot.type])
+
+    def test_top_level_md_with_invalid_json(self) -> None:
+        top_level_md: list[tuple[bytes, Callable[[bytes], Signed]]] = [
+            (self.metadata[Timestamp.type], self.trusted_set.update_timestamp),
+            (self.metadata[Snapshot.type], self.trusted_set.update_snapshot),
+            (self.metadata[Targets.type], self.trusted_set.update_targets),
+        ]
+        for metadata, update_func in top_level_md:
+            md = Metadata.from_bytes(metadata)
+            # metadata is not json
+            with self.assertRaises(exceptions.RepositoryError):
+                update_func(b"")
+
+            # metadata is invalid
+            md.signed.version += 1
+            with self.assertRaises(exceptions.UnsignedMetadataError):
+                update_func(md.to_bytes())
+
+            # metadata is of wrong type
+            with self.assertRaises(exceptions.RepositoryError):
+                update_func(self.metadata[Root.type])
+
+            update_func(metadata)
+
+    def test_update_root_new_root(self) -> None:
+        # test that root can be updated with a new valid version
+        def root_new_version_modifier(root: Root) -> None:
+            root.version += 1
+
+        root = self.modify_metadata(Root.type, root_new_version_modifier)
+        self.trusted_set.update_root(root)
+
+    def test_update_root_new_root_fail_threshold_verification(self) -> None:
+        # Increase threshold in new root, do not add enough keys
+        def root_threshold_bump(root: Root) -> None:
+            root.version += 1
+            root.roles[Root.type].threshold += 1
+
+        root = self.modify_metadata(Root.type, root_threshold_bump)
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            self.trusted_set.update_root(root)
+
+    def test_update_root_new_root_ver_same_as_trusted_root_ver(self) -> None:
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_root(self.metadata[Root.type])
+
+    def test_root_expired_final_root(self) -> None:
+        def root_expired_modifier(root: Root) -> None:
+            root.expires = datetime(1970, 1, 1, tzinfo=timezone.utc)
+
+        # intermediate root can be expired
+        root = self.modify_metadata(Root.type, root_expired_modifier)
+        tmp_trusted_set = TrustedMetadataSet(root, EnvelopeType.METADATA)
+        # update timestamp to trigger final root expiry check
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            tmp_trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+    def test_update_timestamp_new_timestamp_ver_below_trusted_ver(self) -> None:
+        # new_timestamp.version < trusted_timestamp.version
+        def version_modifier(timestamp: Timestamp) -> None:
+            timestamp.version = 3
+
+        timestamp = self.modify_metadata(Timestamp.type, version_modifier)
+        self.trusted_set.update_timestamp(timestamp)
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+    def test_update_timestamp_with_same_timestamp(self) -> None:
+        # Test that timestamp is NOT updated if:
+        # new_timestamp.version == trusted_timestamp.version
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+        initial_timestamp = self.trusted_set.timestamp
+
+        # Update timestamp with the same version.
+        with self.assertRaises(exceptions.EqualVersionNumberError):
+            self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+        # Every object has a unique id() if they are equal, this means timestamp
+        # was not updated.
+        self.assertEqual(id(initial_timestamp), id(self.trusted_set.timestamp))
+
+    def test_update_timestamp_snapshot_ver_below_current(self) -> None:
+        def bump_snapshot_version(timestamp: Timestamp) -> None:
+            timestamp.snapshot_meta.version = 2
+            # The timestamp version must be increased to initiate a update.
+            timestamp.version += 1
+
+        # set current known snapshot.json version to 2
+        timestamp = self.modify_metadata(Timestamp.type, bump_snapshot_version)
+        self.trusted_set.update_timestamp(timestamp)
+
+        # newtimestamp.meta.version < trusted_timestamp.meta.version
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+    def test_update_timestamp_expired(self) -> None:
+        # new_timestamp has expired
+        def timestamp_expired_modifier(timestamp: Timestamp) -> None:
+            timestamp.expires = datetime(1970, 1, 1, tzinfo=timezone.utc)
+
+        # expired intermediate timestamp is loaded but raises
+        timestamp = self.modify_metadata(
+            Timestamp.type, timestamp_expired_modifier
+        )
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            self.trusted_set.update_timestamp(timestamp)
+
+        # snapshot update does start but fails because timestamp is expired
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+    def test_update_snapshot_length_or_hash_mismatch(self) -> None:
+        def modify_snapshot_length(timestamp: Timestamp) -> None:
+            timestamp.snapshot_meta.length = 1
+
+        # set known snapshot.json length to 1
+        timestamp = self.modify_metadata(Timestamp.type, modify_snapshot_length)
+        self.trusted_set.update_timestamp(timestamp)
+
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+    def test_update_snapshot_fail_threshold_verification(self) -> None:
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+        snapshot = Metadata.from_bytes(self.metadata[Snapshot.type])
+        snapshot.signatures.clear()
+        with self.assertRaises(exceptions.UnsignedMetadataError):
+            self.trusted_set.update_snapshot(snapshot.to_bytes())
+
+    def test_update_snapshot_version_diverge_timestamp_snapshot_version(
+        self,
+    ) -> None:
+        def timestamp_version_modifier(timestamp: Timestamp) -> None:
+            timestamp.snapshot_meta.version = 2
+
+        timestamp = self.modify_metadata(
+            Timestamp.type, timestamp_version_modifier
+        )
+        self.trusted_set.update_timestamp(timestamp)
+
+        # if intermediate snapshot version is incorrect, load it but also raise
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+        # targets update starts but fails if snapshot version does not match
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_snapshot_file_removed_from_meta(self) -> None:
+        self._update_all_besides_targets(self.metadata[Timestamp.type])
+
+        def remove_file_from_meta(snapshot: Snapshot) -> None:
+            del snapshot.meta["targets.json"]
+
+        # Test removing a meta_file in new_snapshot compared to the old snapshot
+        snapshot = self.modify_metadata(Snapshot.type, remove_file_from_meta)
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_snapshot(snapshot)
+
+    def test_update_snapshot_meta_version_decreases(self) -> None:
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+        def version_meta_modifier(snapshot: Snapshot) -> None:
+            snapshot.meta["targets.json"].version += 1
+
+        snapshot = self.modify_metadata(Snapshot.type, version_meta_modifier)
+        self.trusted_set.update_snapshot(snapshot)
+
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+
+    def test_update_snapshot_expired_new_snapshot(self) -> None:
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+
+        def snapshot_expired_modifier(snapshot: Snapshot) -> None:
+            snapshot.expires = datetime(1970, 1, 1, tzinfo=timezone.utc)
+
+        # expired intermediate snapshot is loaded but will raise
+        snapshot = self.modify_metadata(
+            Snapshot.type, snapshot_expired_modifier
+        )
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            self.trusted_set.update_snapshot(snapshot)
+
+        # targets update does start but fails because snapshot is expired
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_snapshot_successful_rollback_checks(self) -> None:
+        def meta_version_bump(timestamp: Timestamp) -> None:
+            timestamp.snapshot_meta.version += 1
+            # The timestamp version must be increased to initiate a update.
+            timestamp.version += 1
+
+        def version_bump(snapshot: Snapshot) -> None:
+            snapshot.version += 1
+
+        # load a "local" timestamp, then update to newer one:
+        self.trusted_set.update_timestamp(self.metadata[Timestamp.type])
+        new_timestamp = self.modify_metadata(Timestamp.type, meta_version_bump)
+        self.trusted_set.update_timestamp(new_timestamp)
+
+        # load a "local" snapshot with mismatching version (loading happens but
+        # BadVersionNumberError is raised), then update to newer one:
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_snapshot(self.metadata[Snapshot.type])
+        new_snapshot = self.modify_metadata(Snapshot.type, version_bump)
+        self.trusted_set.update_snapshot(new_snapshot)
+
+        # update targets to trigger final snapshot meta version check
+        self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_targets_no_meta_in_snapshot(self) -> None:
+        def no_meta_modifier(snapshot: Snapshot) -> None:
+            snapshot.meta = {}
+
+        snapshot = self.modify_metadata(Snapshot.type, no_meta_modifier)
+        self._update_all_besides_targets(
+            self.metadata[Timestamp.type], snapshot
+        )
+        # remove meta information with information about targets from snapshot
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_targets_hash_diverge_from_snapshot_meta_hash(self) -> None:
+        def meta_length_modifier(snapshot: Snapshot) -> None:
+            for metafile_path in snapshot.meta:
+                snapshot.meta[metafile_path] = MetaFile(version=1, length=1)
+
+        snapshot = self.modify_metadata(Snapshot.type, meta_length_modifier)
+        self._update_all_besides_targets(
+            self.metadata[Timestamp.type], snapshot
+        )
+        # observed_hash != stored hash in snapshot meta for targets
+        with self.assertRaises(exceptions.RepositoryError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_targets_version_diverge_snapshot_meta_version(self) -> None:
+        def meta_modifier(snapshot: Snapshot) -> None:
+            for metafile_path in snapshot.meta:
+                snapshot.meta[metafile_path] = MetaFile(version=2)
+
+        snapshot = self.modify_metadata(Snapshot.type, meta_modifier)
+        self._update_all_besides_targets(
+            self.metadata[Timestamp.type], snapshot
+        )
+        # new_delegate.signed.version != meta.version stored in snapshot
+        with self.assertRaises(exceptions.BadVersionNumberError):
+            self.trusted_set.update_targets(self.metadata[Targets.type])
+
+    def test_update_targets_expired_new_target(self) -> None:
+        self._update_all_besides_targets()
+
+        # new_delegated_target has expired
+        def target_expired_modifier(target: Targets) -> None:
+            target.expires = datetime(1970, 1, 1, tzinfo=timezone.utc)
+
+        targets = self.modify_metadata(Targets.type, target_expired_modifier)
+        with self.assertRaises(exceptions.ExpiredMetadataError):
+            self.trusted_set.update_targets(targets)
+
+    # TODO test updating over initial metadata (new keys, newer timestamp, etc)
+
+    def test_load_from_simple_envelope(self) -> None:
+        """Basic unit test for ``_load_from_simple_envelope`` helper.
+
+        TODO: Test via trusted metadata set tests like for traditional metadata
+        """
+        metadata = Metadata.from_bytes(self.metadata[Root.type])
+        root = metadata.signed
+        envelope = SimpleEnvelope.from_signed(root)
+
+        # Unwrap unsigned envelope without verification
+        envelope_bytes = envelope.to_bytes()
+        payload_obj, signed_bytes, signatures = _load_from_simple_envelope(
+            Root, envelope_bytes
+        )
+
+        self.assertEqual(payload_obj, root)
+        self.assertEqual(signed_bytes, envelope.pae())
+        self.assertDictEqual(signatures, {})
+
+        # Unwrap correctly signed envelope (use default role name)
+        sig = envelope.sign(self.keystore[Root.type])
+        envelope_bytes = envelope.to_bytes()
+        _, _, signatures = _load_from_simple_envelope(
+            Root, envelope_bytes, root
+        )
+        self.assertDictEqual(signatures, {sig.keyid: sig})
+
+        # Load correctly signed envelope (with explicit role name)
+        _, _, signatures = _load_from_simple_envelope(
+            Root, envelope.to_bytes(), root, Root.type
+        )
+        self.assertDictEqual(signatures, {sig.keyid: sig})
+
+        # Fail load envelope with unexpected 'payload_type'
+        envelope_bad_type = SimpleEnvelope.from_signed(root)
+        envelope_bad_type.payload_type = "foo"
+        envelope_bad_type_bytes = envelope_bad_type.to_bytes()
+        with self.assertRaises(exceptions.RepositoryError):
+            _load_from_simple_envelope(Root, envelope_bad_type_bytes)
+
+        # Fail load envelope with unexpected payload type
+        envelope_bad_signed = SimpleEnvelope.from_signed(root)
+        envelope_bad_signed_bytes = envelope_bad_signed.to_bytes()
+        with self.assertRaises(exceptions.RepositoryError):
+            _load_from_simple_envelope(Targets, envelope_bad_signed_bytes)
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_tutorial.py b/tests/test_tutorial.py
deleted file mode 100755
index 3fb3aaadfb..0000000000
--- a/tests/test_tutorial.py
+++ /dev/null
@@ -1,422 +0,0 @@
-#!/usr/bin/env python
-
-"""
-<Program Name>
-  test_tutorial.py
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Regression test for the TUF tutorial as laid out in TUTORIAL.md.
-  This essentially runs the tutorial and checks some results.
-
-  There are a few deviations from the TUTORIAL.md instructions:
-   - steps that involve user input (like passphrases) are modified slightly
-     to not require user input
-   - use of path separators '/' is replaced by join() calls. (We assume that
-     when following the tutorial, users will correctly deal with path
-     separators for their system if they happen to be using non-Linux systems.)
-   - shell instructions are mimicked using Python commands
-
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import datetime # part of TUTORIAL.md
-import os # part of TUTORIAL.md, but also needed separately
-import shutil
-import tempfile
-import sys
-
-if sys.version_info >= (3, 3):
-  import unittest.mock as mock
-
-else:
-  import mock
-
-from tuf.repository_tool import *   # part of TUTORIAL.md
-
-from tests import utils
-
-import securesystemslib.exceptions
-
-from securesystemslib.formats import encode_canonical # part of TUTORIAL.md
-from securesystemslib.keys import create_signature # part of TUTORIAL.md
-
-
-class TestTutorial(unittest.TestCase):
-  def setUp(self):
-    self.working_dir = os.getcwd()
-    self.test_dir = os.path.realpath(tempfile.mkdtemp())
-    os.chdir(self.test_dir)
-
-  def tearDown(self):
-    os.chdir(self.working_dir)
-    shutil.rmtree(self.test_dir)
-
-  def test_tutorial(self):
-    """
-    Run the TUTORIAL.md tutorial.
-    Note that anywhere the tutorial provides a command that prompts for the
-    user to enter a passphrase/password, this test is changed to simply provide
-    that as an argument. It's not worth trying to arrange automated testing of
-    the interactive password entry process here. Anywhere user entry has been
-    skipped from the tutorial instructions, "# Skipping user entry of password"
-    is written, with the original line below it, starting with ##.
-    """
-
-    # ----- Tutorial Section:  Keys
-
-    generate_and_write_rsa_keypair(password='password', filepath='root_key', bits=2048)
-
-    # Skipping user entry of password
-    ## generate_and_write_rsa_keypair_with_prompt('root_key2')
-    generate_and_write_rsa_keypair(password='password', filepath='root_key2')
-
-    # Tutorial tells users to expect these files to exist:
-    # ['root_key', 'root_key.pub', 'root_key2', 'root_key2.pub']
-    for fname in ['root_key', 'root_key.pub', 'root_key2', 'root_key2.pub']:
-      self.assertTrue(os.path.exists(fname))
-
-    # Generate key pair at /path/to/KEYID
-    fname = generate_and_write_rsa_keypair(password="password")
-    self.assertTrue(os.path.exists(fname))
-
-
-    # ----- Tutorial Section:  Import RSA Keys
-
-    public_root_key = import_rsa_publickey_from_file('root_key.pub')
-
-    # Skipping user entry of password
-    ## private_root_key = import_rsa_privatekey_from_file('root_key')
-    private_root_key = import_rsa_privatekey_from_file('root_key', 'password')
-
-    # Skipping user entry of password
-    ## import_rsa_privatekey_from_file('root_key')
-    with self.assertRaises(securesystemslib.exceptions.CryptoError):
-      import_rsa_privatekey_from_file('root_key', 'not_the_real_pw')
-
-
-
-    # ----- Tutorial Section: Create and Import Ed25519 Keys
-
-    # Skipping user entry of password
-    ## generate_and_write_ed25519_keypair_with_prompt('ed25519_key')
-    generate_and_write_ed25519_keypair(password='password', filepath='ed25519_key')
-
-    public_ed25519_key = import_ed25519_publickey_from_file('ed25519_key.pub')
-
-    # Skipping user entry of password
-    ## private_ed25519_key = import_ed25519_privatekey_from_file('ed25519_key')
-    private_ed25519_key = import_ed25519_privatekey_from_file(
-        'ed25519_key', 'password')
-
-
-
-    # ----- Tutorial Section: Create Top-level Metadata
-    repository = create_new_repository('repository')
-    repository.root.add_verification_key(public_root_key)
-    self.assertTrue(repository.root.keys)
-
-    public_root_key2 = import_rsa_publickey_from_file('root_key2.pub')
-    repository.root.add_verification_key(public_root_key2)
-
-    repository.root.threshold = 2
-    private_root_key2 = import_rsa_privatekey_from_file(
-        'root_key2', password='password')
-
-    repository.root.load_signing_key(private_root_key)
-    repository.root.load_signing_key(private_root_key2)
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with("Dirty roles: " + str(['root']))
-
-    # Patch logger to assert that it accurately logs the repo's status. Since
-    # the logger is called multiple times, we have to assert for the accurate
-    # sequence of calls or rather its call arguments.
-    with mock.patch("tuf.repository_lib.logger") as mock_logger:
-      repository.status()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      self.assertListEqual([
-        repr('targets') + " role contains 0 / 1 public keys.",
-        repr('snapshot') + " role contains 0 / 1 public keys.",
-        repr('timestamp') + " role contains 0 / 1 public keys.",
-        repr('root') + " role contains 2 / 2 signatures.",
-        repr('targets') + " role contains 0 / 1 signatures."
-      ], [args[0] for args, _ in mock_logger.info.call_args_list])
-
-    generate_and_write_rsa_keypair(password='password', filepath='targets_key')
-    generate_and_write_rsa_keypair(password='password', filepath='snapshot_key')
-    generate_and_write_rsa_keypair(password='password', filepath='timestamp_key')
-
-    repository.targets.add_verification_key(import_rsa_publickey_from_file(
-        'targets_key.pub'))
-    repository.snapshot.add_verification_key(import_rsa_publickey_from_file(
-        'snapshot_key.pub'))
-    repository.timestamp.add_verification_key(import_rsa_publickey_from_file(
-        'timestamp_key.pub'))
-
-    # Skipping user entry of password
-    ## private_targets_key = import_rsa_privatekey_from_file('targets_key')
-    private_targets_key = import_rsa_privatekey_from_file(
-        'targets_key', 'password')
-
-    # Skipping user entry of password
-    ## private_snapshot_key = import_rsa_privatekey_from_file('snapshot_key')
-    private_snapshot_key = import_rsa_privatekey_from_file(
-        'snapshot_key', 'password')
-
-    # Skipping user entry of password
-    ## private_timestamp_key = import_rsa_privatekey_from_file('timestamp_key')
-    private_timestamp_key = import_rsa_privatekey_from_file(
-        'timestamp_key', 'password')
-
-    repository.targets.load_signing_key(private_targets_key)
-    repository.snapshot.load_signing_key(private_snapshot_key)
-    repository.timestamp.load_signing_key(private_timestamp_key)
-
-    repository.timestamp.expiration = datetime.datetime(2080, 10, 28, 12, 8)
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with("Dirty roles: " +
-            str(['root', 'snapshot', 'targets', 'timestamp']))
-
-    repository.writeall()
-
-
-
-    # ----- Tutorial Section: Targets
-    # These next commands in the tutorial are shown as bash commands, so I'll
-    # just simulate this with some Python commands.
-    ## $ cd repository/targets/
-    ## $ echo 'file1' > file1.txt
-    ## $ echo 'file2' > file2.txt
-    ## $ echo 'file3' > file3.txt
-    ## $ mkdir myproject; echo 'file4' > myproject/file4.txt
-    ## $ cd ../../
-
-    with open(os.path.join('repository', 'targets', 'file1.txt'), 'w') as fobj:
-      fobj.write('file1')
-    with open(os.path.join('repository', 'targets', 'file2.txt'), 'w') as fobj:
-      fobj.write('file2')
-    with open(os.path.join('repository', 'targets', 'file3.txt'), 'w') as fobj:
-      fobj.write('file3')
-
-    os.mkdir(os.path.join('repository', 'targets', 'myproject'))
-    with open(os.path.join('repository', 'targets', 'myproject', 'file4.txt'),
-        'w') as fobj:
-      fobj.write('file4')
-
-
-    repository = load_repository('repository')
-
-    # TODO: replace the hard-coded list of targets with a helper
-    # method that returns a list of normalized relative target paths
-    list_of_targets = ['file1.txt', 'file2.txt', 'file3.txt']
-
-    repository.targets.add_targets(list_of_targets)
-
-    self.assertTrue('file1.txt' in repository.targets.target_files)
-    self.assertTrue('file2.txt' in repository.targets.target_files)
-    self.assertTrue('file3.txt' in repository.targets.target_files)
-
-    target4_filepath = 'myproject/file4.txt'
-    target4_abspath = os.path.abspath(os.path.join(
-        'repository', 'targets', target4_filepath))
-    octal_file_permissions = oct(os.stat(target4_abspath).st_mode)[4:]
-    custom_file_permissions = {'file_permissions': octal_file_permissions}
-    repository.targets.add_target(target4_filepath, custom_file_permissions)
-    # Note that target filepaths specified in the repo use '/' even on Windows.
-    # (This is important to make metadata platform-independent.)
-    self.assertTrue(
-        os.path.join(target4_filepath) in repository.targets.target_files)
-
-
-    # Skipping user entry of password
-    ## private_targets_key = import_rsa_privatekey_from_file('targets_key')
-    private_targets_key = import_rsa_privatekey_from_file(
-        'targets_key', 'password')
-    repository.targets.load_signing_key(private_targets_key)
-
-    # Skipping user entry of password
-    ## private_snapshot_key = import_rsa_privatekey_from_file('snapshot_key')
-    private_snapshot_key = import_rsa_privatekey_from_file(
-        'snapshot_key', 'password')
-    repository.snapshot.load_signing_key(private_snapshot_key)
-
-    # Skipping user entry of password
-    ## private_timestamp_key = import_rsa_privatekey_from_file('timestamp_key')
-    private_timestamp_key = import_rsa_privatekey_from_file(
-        'timestamp_key', 'password')
-    repository.timestamp.load_signing_key(private_timestamp_key)
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with(
-          "Dirty roles: " + str(['snapshot', 'targets', 'timestamp']))
-
-    repository.writeall()
-
-    repository.targets.remove_target('myproject/file4.txt')
-    self.assertTrue(os.path.exists(os.path.join(
-        'repository','targets', 'myproject', 'file4.txt')))
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with(
-          "Dirty roles: " + str(['targets']))
-
-    repository.mark_dirty(['snapshot', 'timestamp'])
-    repository.writeall()
-
-
-    # ----- Tutorial Section: Excursion: Dump Metadata and Append Signature
-    signable_content = dump_signable_metadata(
-        os.path.join('repository', 'metadata.staged', 'timestamp.json'))
-
-    # Skipping user entry of password
-    ## private_ed25519_key = import_ed25519_privatekey_from_file('ed25519_key')
-    private_ed25519_key = import_ed25519_privatekey_from_file('ed25519_key', 'password')
-    signature = create_signature(
-        private_ed25519_key, encode_canonical(signable_content).encode())
-    append_signature(
-        signature,
-        os.path.join('repository', 'metadata.staged', 'timestamp.json'))
-
-
-
-    # ----- Tutorial Section: Delegations
-    generate_and_write_rsa_keypair(
-        password='password', filepath='unclaimed_key', bits=2048)
-    public_unclaimed_key = import_rsa_publickey_from_file('unclaimed_key.pub')
-    repository.targets.delegate(
-        'unclaimed', [public_unclaimed_key], ['myproject/*.txt'])
-
-    repository.targets("unclaimed").add_target("myproject/file4.txt")
-
-    # Skipping user entry of password
-    ## private_unclaimed_key = import_rsa_privatekey_from_file('unclaimed_key')
-    private_unclaimed_key = import_rsa_privatekey_from_file(
-        'unclaimed_key', 'password')
-    repository.targets("unclaimed").load_signing_key(private_unclaimed_key)
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with(
-          "Dirty roles: " + str(['targets', 'unclaimed']))
-
-    repository.mark_dirty(["snapshot", "timestamp"])
-    repository.writeall()
-
-
-    # Simulate the following shell command:
-    ## $ cp -r "repository/metadata.staged/" "repository/metadata/"
-    shutil.copytree(
-        os.path.join('repository', 'metadata.staged'),
-        os.path.join('repository', 'metadata'))
-
-
-    # ----- Tutorial Section: Delegate to Hashed Bins
-    repository.targets('unclaimed').remove_target("myproject/file4.txt")
-
-    targets = ['myproject/file4.txt']
-
-    # Patch logger to assert that it accurately logs the output of hashed bin
-    # delegation. The logger is called multiple times, first with info level
-    # then with warning level. So we have to assert for the accurate sequence
-    # of calls or rather its call arguments.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.targets('unclaimed').delegate_hashed_bins(
-          targets, [public_unclaimed_key], 32)
-
-      self.assertListEqual([
-            "Creating hashed bin delegations.\n"
-            "1 total targets.\n"
-            "32 hashed bins.\n"
-            "256 total hash prefixes.\n"
-            "Each bin ranges over 8 hash prefixes."
-          ] + ["Adding a verification key that has already been used."] * 32,
-          [
-            args[0] for args, _ in
-              mock_logger.info.call_args_list + mock_logger.warning.call_args_list
-          ])
-
-
-    for delegation in repository.targets('unclaimed').delegations:
-      delegation.load_signing_key(private_unclaimed_key)
-
-    # NOTE: The tutorial does not call dirty_roles anymore due to #964 and
-    # #958. We still call it here to see if roles are dirty as expected.
-    with mock.patch("tuf.repository_tool.logger") as mock_logger:
-      repository.dirty_roles()
-      # Concat strings to avoid Python2/3 unicode prefix problems ('' vs. u'')
-      mock_logger.info.assert_called_with(
-          "Dirty roles: " + str(['00-07', '08-0f', '10-17', '18-1f', '20-27',
-          '28-2f', '30-37', '38-3f', '40-47', '48-4f', '50-57', '58-5f',
-          '60-67', '68-6f', '70-77', '78-7f', '80-87', '88-8f', '90-97',
-          '98-9f', 'a0-a7', 'a8-af', 'b0-b7', 'b8-bf', 'c0-c7', 'c8-cf',
-          'd0-d7', 'd8-df', 'e0-e7', 'e8-ef', 'f0-f7', 'f8-ff', 'unclaimed']))
-
-    repository.mark_dirty(["snapshot", "timestamp"])
-    repository.writeall()
-
-    # ----- Tutorial Section: How to Perform an Update
-
-    # A separate tutorial is linked to for client use. That is not tested here.
-    create_tuf_client_directory("repository/", "client/tufrepo/")
-
-
-
-    # ----- Tutorial Section: Test TUF Locally
-
-    # TODO: Run subprocess to simulate the following bash instructions:
-
-    # $ cd "repository/"; python -m SimpleHTTPServer 8001
-    # If running Python 3:
-
-    # $ cd "repository/"; python3 -m http.server 8001
-    # We next retrieve targets from the TUF repository and save them to client/. The client.py script is available to download metadata and files from a specified repository. In a different command-line prompt . . .
-
-    # $ cd "client/"
-    # $ ls
-    # metadata/
-
-    # $ client.py --repo http://localhost:8001 file1.txt
-    # $ ls . targets/
-    # .:
-    # metadata  targets
-
-    # targets/:
-    # file1.txt
-
-
-
-# Run unit test.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_unittest_toolbox.py b/tests/test_unittest_toolbox.py
deleted file mode 100755
index acc6f44371..0000000000
--- a/tests/test_unittest_toolbox.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_unittest_toolbox.py
-
-<Author>
-  Vladimir Diaz
-
-<Started>
-  July 14, 2017.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Test cases for unittest_toolbox.py.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import unittest
-import logging
-import shutil
-import sys
-
-import tuf.unittest_toolbox as unittest_toolbox
-
-from tests import utils
-
-logger = logging.getLogger(__name__)
-
-
-class TestUnittestToolbox(unittest_toolbox.Modified_TestCase):
-  def setUp(self):
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-  def tearDown(self):
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-
-
-  def test_tear_down_already_deleted_dir(self):
-    temp_directory = self.make_temp_directory()
-
-    # Delete the temp directory to make sure unittest_toolbox doesn't
-    # complain about the missing temp_directory.
-    shutil.rmtree(temp_directory)
-
-
-# Run the unit tests.
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_updater.py b/tests/test_updater.py
deleted file mode 100755
index 69c67044ea..0000000000
--- a/tests/test_updater.py
+++ /dev/null
@@ -1,2148 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_updater.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  October 15, 2012.
-
-  March 11, 2014.
-    Refactored to remove mocked modules and old repository tool dependence, use
-    exact repositories, and add realistic retrieval of files. -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  'test_updater.py' provides a collection of methods that test the public /
-  non-public methods and functions of 'tuf.client.updater.py'.
-
-  The 'unittest_toolbox.py' module was created to provide additional testing
-  tools, such as automatically deleting temporary files created in test cases.
-  For more information, see 'tests/unittest_toolbox.py'.
-
-<Methodology>
-  Test cases here should follow a specific order (i.e., independent methods are
-  tested before dependent methods). More accurately, least dependent methods
-  are tested before most dependent methods.  There is no reason to rewrite or
-  construct other methods that replicate already-tested methods solely for
-  testing purposes.  This is possible because the 'unittest.TestCase' class
-  guarantees the order of unit tests.  The 'test_something_A' method would
-  be tested before 'test_something_B'.  To ensure the expected order of tests,
-  a number is placed after 'test' and before methods name like so:
-  'test_1_check_directory'.  The number is a measure of dependence, where 1 is
-  less dependent than 2.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import time
-import shutil
-import copy
-import tempfile
-import logging
-import errno
-import sys
-import unittest
-import json
-
-if sys.version_info >= (3, 3):
-  import unittest.mock as mock
-else:
-  import mock
-
-import tuf
-import tuf.exceptions
-import tuf.log
-import tuf.formats
-import tuf.keydb
-import tuf.roledb
-import tuf.repository_tool as repo_tool
-import tuf.repository_lib as repo_lib
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.client.updater as updater
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-repo_tool.disable_console_log_messages()
-
-
-class TestUpdater(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Needed because in some tests simple_server.py cannot be found.
-    # The reason is that the current working directory
-    # has been changed when executing a subprocess.
-    cls.SIMPLE_SERVER_PATH = os.path.join(os.getcwd(), 'simple_server.py')
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served
-    # by the SimpleHTTPServer launched here.  The test cases of 'test_updater.py'
-    # assume the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger,
-        server=cls.SIMPLE_SERVER_PATH)
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf.tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-    original_client = os.path.join(original_repository_files, 'client')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.keystore_directory = \
-      os.path.join(temporary_repository_root, 'keystore')
-
-    self.client_directory = os.path.join(temporary_repository_root,
-        'client')
-    self.client_metadata = os.path.join(self.client_directory,
-        self.repository_name, 'metadata')
-    self.client_metadata_current = os.path.join(self.client_metadata,
-        'current')
-    self.client_metadata_previous = os.path.join(self.client_metadata,
-        'previous')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-    # Metadata role keys are needed by the test cases to make changes to the
-    # repository (e.g., adding a new target file to 'targets.json' and then
-    # requesting a refresh()).
-    self.role_keys = _load_role_keys(self.keystore_directory)
-
-
-
-  def tearDown(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  # UNIT TESTS.
-
-  def test_1__init__exceptions(self):
-    # The client's repository requires a metadata directory (and the 'current'
-    # and 'previous' sub-directories), and at least the 'root.json' file.
-    # setUp(), called before each test case, instantiates the required updater
-    # objects and keys.  The needed objects/data is available in
-    # 'self.repository_updater', 'self.client_directory', etc.
-
-
-    # Test: Invalid arguments.
-    # Invalid 'updater_name' argument.  String expected.
-    self.assertRaises(securesystemslib.exceptions.FormatError, updater.Updater, 8,
-                      self.repository_mirrors)
-
-    # Invalid 'repository_mirrors' argument.  'tuf.formats.MIRRORDICT_SCHEMA'
-    # expected.
-    self.assertRaises(securesystemslib.exceptions.FormatError, updater.Updater, updater.Updater, 8)
-
-
-    # 'tuf.client.updater.py' requires that the client's repositories directory
-    # be configured in 'tuf.settings.py'.
-    tuf.settings.repositories_directory = None
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-    # Restore 'tuf.settings.repositories_directory' to the original client
-    # directory.
-    tuf.settings.repositories_directory = self.client_directory
-
-    # Test: repository does not exist
-    self.assertRaises(tuf.exceptions.MissingLocalRepositoryError, updater.Updater,
-                      'test_non_existing_repository', self.repository_mirrors)
-
-    # Test: empty client repository (i.e., no metadata directory).
-    metadata_backup = self.client_metadata + '.backup'
-    shutil.move(self.client_metadata, metadata_backup)
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-    # Restore the client's metadata directory.
-    shutil.move(metadata_backup, self.client_metadata)
-
-
-    # Test: repository with only a '{repository_directory}/metadata' directory.
-    # (i.e., missing the required 'current' and 'previous' sub-directories).
-    current_backup = self.client_metadata_current + '.backup'
-    previous_backup = self.client_metadata_previous + '.backup'
-
-    shutil.move(self.client_metadata_current, current_backup)
-    shutil.move(self.client_metadata_previous, previous_backup)
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-
-    # Restore the client's previous directory.  The required 'current' directory
-    # is still missing.
-    shutil.move(previous_backup, self.client_metadata_previous)
-
-    # Test: repository with only a '{repository_directory}/metadata/previous'
-    # directory.
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-    # Restore the client's current directory.
-    shutil.move(current_backup, self.client_metadata_current)
-
-    # Test: repository with a '{repository_directory}/metadata/current'
-    # directory, but the 'previous' directory is missing.
-    shutil.move(self.client_metadata_previous, previous_backup)
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-    shutil.move(previous_backup, self.client_metadata_previous)
-
-    # Test:  repository missing the required 'root.json' file.
-    client_root_file = os.path.join(self.client_metadata_current, 'root.json')
-    backup_root_file = client_root_file + '.backup'
-    shutil.move(client_root_file, backup_root_file)
-    self.assertRaises(tuf.exceptions.RepositoryError, updater.Updater, 'test_repository1',
-                      self.repository_mirrors)
-    # Restore the client's 'root.json file.
-    shutil.move(backup_root_file, client_root_file)
-
-    # Test: Normal 'tuf.client.updater.Updater' instantiation.
-    updater.Updater('test_repository1', self.repository_mirrors)
-
-
-
-
-
-  def test_1__load_metadata_from_file(self):
-
-    # Setup
-    # Get the 'role1.json' filepath.  Manually load the role metadata, and
-    # compare it against the loaded metadata by '_load_metadata_from_file()'.
-    role1_filepath = \
-      os.path.join(self.client_metadata_current, 'role1.json')
-    role1_meta = securesystemslib.util.load_json_file(role1_filepath)
-
-    # Load the 'role1.json' file with _load_metadata_from_file, which should
-    # store the loaded metadata in the 'self.repository_updater.metadata'
-    # store.
-    self.assertEqual(len(self.repository_updater.metadata['current']), 4)
-    self.repository_updater._load_metadata_from_file('current', 'role1')
-
-    # Verify that the correct number of metadata objects has been loaded
-    # (i.e., only the 'root.json' file should have been loaded.
-    self.assertEqual(len(self.repository_updater.metadata['current']), 5)
-
-    # Verify that the content of root metadata is valid.
-    self.assertEqual(self.repository_updater.metadata['current']['role1'],
-                     role1_meta['signed'])
-
-    # Verify that _load_metadata_from_file() doesn't raise an exception for
-    # improperly formatted metadata, and doesn't load the bad file.
-    with open(role1_filepath, 'ab') as file_object:
-      file_object.write(b'bad JSON data')
-
-    self.repository_updater._load_metadata_from_file('current', 'role1')
-    self.assertEqual(len(self.repository_updater.metadata['current']), 5)
-
-    # Test if we fail gracefully if we can't deserialize a meta file
-    self.repository_updater._load_metadata_from_file('current', 'empty_file')
-    self.assertFalse('empty_file' in self.repository_updater.metadata['current'])
-
-    # Test invalid metadata set argument (must be either
-    # 'current' or 'previous'.)
-    self.assertRaises(securesystemslib.exceptions.Error,
-                      self.repository_updater._load_metadata_from_file,
-                      'bad_metadata_set', 'role1')
-
-
-
-
-  def test_1__rebuild_key_and_role_db(self):
-    # Setup
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self.repository_name)
-    root_metadata = self.repository_updater.metadata['current']['root']
-    root_threshold = root_metadata['roles']['root']['threshold']
-    number_of_root_keys = len(root_metadata['keys'])
-
-    self.assertEqual(root_roleinfo['threshold'], root_threshold)
-
-    # Ensure we add 2 to the number of root keys (actually, the number of root
-    # keys multiplied by the number of keyid hash algorithms), to include the
-    # delegated targets key (+1 for its sha512 keyid).  The delegated roles of
-    # 'targets.json' are also loaded when the repository object is
-    # instantiated.
-
-    self.assertEqual(number_of_root_keys + 1, len(tuf.keydb._keydb_dict[self.repository_name]))
-
-    # Test: normal case.
-    self.repository_updater._rebuild_key_and_role_db()
-
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self.repository_name)
-    self.assertEqual(root_roleinfo['threshold'], root_threshold)
-
-    # _rebuild_key_and_role_db() will only rebuild the keys and roles specified
-    # in the 'root.json' file, unlike __init__().  Instantiating an updater
-    # object calls both _rebuild_key_and_role_db() and _import_delegations().
-    self.assertEqual(number_of_root_keys, len(tuf.keydb._keydb_dict[self.repository_name]))
-
-    # Test: properly updated roledb and keydb dicts if the Root role changes.
-    root_metadata = self.repository_updater.metadata['current']['root']
-    root_metadata['roles']['root']['threshold'] = 8
-    root_metadata['keys'].popitem()
-
-    self.repository_updater._rebuild_key_and_role_db()
-
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self.repository_name)
-    self.assertEqual(root_roleinfo['threshold'], 8)
-    self.assertEqual(number_of_root_keys - 1, len(tuf.keydb._keydb_dict[self.repository_name]))
-
-
-
-
-  def test_1__update_versioninfo(self):
-    # Tests
-    # Verify that the 'self.versioninfo' dictionary is empty (it starts off
-    # empty and is only populated if _update_versioninfo() is called.
-    versioninfo_dict = self.repository_updater.versioninfo
-    self.assertEqual(len(versioninfo_dict), 0)
-
-    # Load the versioninfo of the top-level Targets role.  This action
-    # populates the 'self.versioninfo' dictionary.
-    self.repository_updater._update_versioninfo('targets.json')
-    self.assertEqual(len(versioninfo_dict), 1)
-    self.assertTrue(tuf.formats.FILEINFODICT_SCHEMA.matches(versioninfo_dict))
-
-    # The Snapshot role stores the version numbers of all the roles available
-    # on the repository.  Load Snapshot to extract Root's version number
-    # and compare it against the one loaded by 'self.repository_updater'.
-    snapshot_filepath = os.path.join(self.client_metadata_current, 'snapshot.json')
-    snapshot_signable = securesystemslib.util.load_json_file(snapshot_filepath)
-    targets_versioninfo = snapshot_signable['signed']['meta']['targets.json']
-
-    # Verify that the manually loaded version number of root.json matches
-    # the one loaded by the updater object.
-    self.assertTrue('targets.json' in versioninfo_dict)
-    self.assertEqual(versioninfo_dict['targets.json'], targets_versioninfo)
-
-    # Verify that 'self.versioninfo' is incremented if another role is updated.
-    self.repository_updater._update_versioninfo('role1.json')
-    self.assertEqual(len(versioninfo_dict), 2)
-
-    # Verify that 'self.versioninfo' is incremented if a non-existent role is
-    # requested, and has its versioninfo entry set to 'None'.
-    self.repository_updater._update_versioninfo('bad_role.json')
-    self.assertEqual(len(versioninfo_dict), 3)
-    self.assertEqual(versioninfo_dict['bad_role.json'], None)
-
-    # Verify that the versioninfo specified in Timestamp is used if the Snapshot
-    # role hasn't been downloaded yet.
-    del self.repository_updater.metadata['current']['snapshot']
-    #self.assertRaises(self.repository_updater._update_versioninfo('snapshot.json'))
-    self.repository_updater._update_versioninfo('snapshot.json')
-    self.assertEqual(versioninfo_dict['snapshot.json']['version'], 1)
-
-
-
-  def test_1__refresh_must_not_count_duplicate_keyids_towards_threshold(self):
-    # Update root threshold on the server repository and sign twice with 1 key
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.root.threshold = 2
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    # The client uses the threshold from the previous root file to verify the
-    # new root. Thus we need to make two updates so that the threshold used for
-    # verification becomes 2. I.e. we bump the version, sign twice with the
-    # same key and write to disk '2.root.json' and '3.root.json'.
-    for version in [2, 3]:
-      repository.root.version = version
-      info = tuf.roledb.get_roleinfo("root")
-      metadata = repo_lib.generate_root_metadata(
-          info["version"], info["expires"], False)
-      signed_metadata = repo_lib.sign_metadata(
-          metadata, info["keyids"], "root.json", "default")
-      signed_metadata["signatures"].append(signed_metadata["signatures"][0])
-      live_root_path = os.path.join(
-          self.repository_directory, "metadata", "root.json")
-
-      # Bypass server side verification in 'write' or 'writeall', which would
-      # catch the unmet threshold.
-      # We also skip writing to 'metadata.staged' and copying to 'metadata' and
-      # instead write directly to 'metadata'
-      repo_lib.write_metadata_file(signed_metadata, live_root_path,
-          info["version"], True, storage_backend)
-
-
-    # Update from current '1.root.json' to '3.root.json' on client and assert
-    # raise of 'BadSignatureError' (caused by unmet signature threshold).
-    try:
-      self.repository_updater.refresh()
-
-    except tuf.exceptions.NoWorkingMirrorError as e:
-      mirror_errors = list(e.mirror_errors.values())
-      self.assertTrue(len(mirror_errors) == 1)
-      self.assertTrue(
-          isinstance(mirror_errors[0],
-          securesystemslib.exceptions.BadSignatureError))
-      self.assertEqual(
-          str(mirror_errors[0]),
-          repr("root") + " metadata has bad signature.")
-
-    else:
-      self.fail(
-          "Expected a NoWorkingMirrorError composed of one BadSignatureError")
-
-
-  def test_1__update_fileinfo(self):
-      # Tests
-      # Verify that the 'self.fileinfo' dictionary is empty (its starts off empty
-      # and is only populated if _update_fileinfo() is called.
-      fileinfo_dict = self.repository_updater.fileinfo
-      self.assertEqual(len(fileinfo_dict), 0)
-
-      # Load the fileinfo of the top-level root role.  This populates the
-      # 'self.fileinfo' dictionary.
-      self.repository_updater._update_fileinfo('root.json')
-      self.assertEqual(len(fileinfo_dict), 1)
-      self.assertTrue(tuf.formats.FILEDICT_SCHEMA.matches(fileinfo_dict))
-      root_filepath = os.path.join(self.client_metadata_current, 'root.json')
-      length, hashes = securesystemslib.util.get_file_details(root_filepath)
-      root_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-      self.assertTrue('root.json' in fileinfo_dict)
-      self.assertEqual(fileinfo_dict['root.json'], root_fileinfo)
-
-      # Verify that 'self.fileinfo' is incremented if another role is updated.
-      self.repository_updater._update_fileinfo('targets.json')
-      self.assertEqual(len(fileinfo_dict), 2)
-
-      # Verify that 'self.fileinfo' is inremented if a non-existent role is
-      # requested, and has its fileinfo entry set to 'None'.
-      self.repository_updater._update_fileinfo('bad_role.json')
-      self.assertEqual(len(fileinfo_dict), 3)
-      self.assertEqual(fileinfo_dict['bad_role.json'], None)
-
-
-
-
-  def test_2__fileinfo_has_changed(self):
-      #  Verify that the method returns 'False' if file info was not changed.
-      root_filepath = os.path.join(self.client_metadata_current, 'root.json')
-      length, hashes = securesystemslib.util.get_file_details(root_filepath)
-      root_fileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-      self.assertFalse(self.repository_updater._fileinfo_has_changed('root.json',
-                                                             root_fileinfo))
-
-      # Verify that the method returns 'True' if length or hashes were changed.
-      new_length = 8
-      new_root_fileinfo = tuf.formats.make_targets_fileinfo(new_length, hashes)
-      self.assertTrue(self.repository_updater._fileinfo_has_changed('root.json',
-                                                             new_root_fileinfo))
-      # Hashes were changed.
-      new_hashes = {'sha256': self.random_string()}
-      new_root_fileinfo = tuf.formats.make_targets_fileinfo(length, new_hashes)
-      self.assertTrue(self.repository_updater._fileinfo_has_changed('root.json',
-                                                             new_root_fileinfo))
-
-      # Verify that _fileinfo_has_changed() returns True if no fileinfo (or set
-      # to None) exists for some role.
-      self.assertTrue(self.repository_updater._fileinfo_has_changed('bad.json',
-          new_root_fileinfo))
-
-      saved_fileinfo = self.repository_updater.fileinfo['root.json']
-      self.repository_updater.fileinfo['root.json'] = None
-      self.assertTrue(self.repository_updater._fileinfo_has_changed('root.json',
-          new_root_fileinfo))
-
-
-      self.repository_updater.fileinfo['root.json'] = saved_fileinfo
-      new_root_fileinfo['hashes']['sha666'] = '666'
-      self.repository_updater._fileinfo_has_changed('root.json',
-          new_root_fileinfo)
-
-
-
-  def test_2__import_delegations(self):
-    # Setup.
-    # In order to test '_import_delegations' the parent of the delegation
-    # has to be in Repository.metadata['current'], but it has to be inserted
-    # there without using '_load_metadata_from_file()' since it calls
-    # '_import_delegations()'.
-    repository_name = self.repository_updater.repository_name
-    tuf.keydb.clear_keydb(repository_name)
-    tuf.roledb.clear_roledb(repository_name)
-
-    self.assertEqual(len(tuf.roledb._roledb_dict[repository_name]), 0)
-    self.assertEqual(len(tuf.keydb._keydb_dict[repository_name]), 0)
-
-    self.repository_updater._rebuild_key_and_role_db()
-
-    self.assertEqual(len(tuf.roledb._roledb_dict[repository_name]), 4)
-
-    # Take into account the number of keyids algorithms supported by default,
-    # which this test condition expects to be two (sha256 and sha512).
-    self.assertEqual(4, len(tuf.keydb._keydb_dict[repository_name]))
-
-    # Test: pass a role without delegations.
-    self.repository_updater._import_delegations('root')
-
-    # Verify that there was no change to the roledb and keydb dictionaries by
-    # checking the number of elements in the dictionaries.
-    self.assertEqual(len(tuf.roledb._roledb_dict[repository_name]), 4)
-    # Take into account the number of keyid hash algorithms, which this
-    # test condition expects to be one
-    self.assertEqual(len(tuf.keydb._keydb_dict[repository_name]), 4)
-
-    # Test: normal case, first level delegation.
-    self.repository_updater._import_delegations('targets')
-
-    self.assertEqual(len(tuf.roledb._roledb_dict[repository_name]), 5)
-    # The number of root keys (times the number of key hash algorithms) +
-    # delegation's key (+1 for its sha512 keyid).
-    self.assertEqual(len(tuf.keydb._keydb_dict[repository_name]), 4 + 1)
-
-    # Verify that roledb dictionary was added.
-    self.assertTrue('role1' in tuf.roledb._roledb_dict[repository_name])
-
-    # Verify that keydb dictionary was updated.
-    role1_signable = \
-      securesystemslib.util.load_json_file(os.path.join(self.client_metadata_current,
-                                           'role1.json'))
-    keyids = []
-    for signature in role1_signable['signatures']:
-      keyids.append(signature['keyid'])
-
-    for keyid in keyids:
-      self.assertTrue(keyid in tuf.keydb._keydb_dict[repository_name])
-
-    # Verify that _import_delegations() ignores invalid keytypes in the 'keys'
-    # field of parent role's 'delegations'.
-    existing_keyid = keyids[0]
-
-    self.repository_updater.metadata['current']['targets']\
-      ['delegations']['keys'][existing_keyid]['keytype'] = 'bad_keytype'
-    self.repository_updater._import_delegations('targets')
-
-    # Restore the keytype of 'existing_keyid'.
-    self.repository_updater.metadata['current']['targets']\
-      ['delegations']['keys'][existing_keyid]['keytype'] = 'ed25519'
-
-    # Verify that _import_delegations() raises an exception if one of the
-    # delegated keys is malformed.
-    valid_keyval = self.repository_updater.metadata['current']['targets']\
-      ['delegations']['keys'][existing_keyid]['keyval']
-
-    self.repository_updater.metadata['current']['targets']\
-      ['delegations']['keys'][existing_keyid]['keyval'] = 1
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.repository_updater._import_delegations, 'targets')
-
-    self.repository_updater.metadata['current']['targets']\
-      ['delegations']['keys'][existing_keyid]['keyval'] = valid_keyval
-
-    # Verify that _import_delegations() raises an exception if one of the
-    # delegated roles is malformed.
-    self.repository_updater.metadata['current']['targets']\
-      ['delegations']['roles'][0]['name'] = 1
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.repository_updater._import_delegations, 'targets')
-
-
-
-  def test_2__versioninfo_has_been_updated(self):
-    # Verify that the method returns 'False' if a versioninfo was not changed.
-    snapshot_filepath = os.path.join(self.client_metadata_current, 'snapshot.json')
-    snapshot_signable = securesystemslib.util.load_json_file(snapshot_filepath)
-    targets_versioninfo = snapshot_signable['signed']['meta']['targets.json']
-
-    self.assertFalse(self.repository_updater._versioninfo_has_been_updated('targets.json',
-                                                           targets_versioninfo))
-
-    # Verify that the method returns 'True' if Root's version number changes.
-    targets_versioninfo['version'] = 8
-    self.assertTrue(self.repository_updater._versioninfo_has_been_updated('targets.json',
-                                                           targets_versioninfo))
-
-
-
-
-
-  def test_2__move_current_to_previous(self):
-    # Test case will consist of removing a metadata file from client's
-    # '{client_repository}/metadata/previous' directory, executing the method
-    # and then verifying that the 'previous' directory contains the snapshot
-    # file.
-    previous_snapshot_filepath = os.path.join(self.client_metadata_previous,
-                                              'snapshot.json')
-    os.remove(previous_snapshot_filepath)
-    self.assertFalse(os.path.exists(previous_snapshot_filepath))
-
-    # Verify that the current 'snapshot.json' is moved to the previous directory.
-    self.repository_updater._move_current_to_previous('snapshot')
-    self.assertTrue(os.path.exists(previous_snapshot_filepath))
-
-
-
-
-
-  def test_2__delete_metadata(self):
-    # This test will verify that 'root' metadata is never deleted.  When a role
-    # is deleted verify that the file is not present in the
-    # 'self.repository_updater.metadata' dictionary.
-    self.repository_updater._delete_metadata('root')
-    self.assertTrue('root' in self.repository_updater.metadata['current'])
-
-    self.repository_updater._delete_metadata('timestamp')
-    self.assertFalse('timestamp' in self.repository_updater.metadata['current'])
-
-
-
-
-
-  def test_2__ensure_not_expired(self):
-    # This test condition will verify that nothing is raised when a metadata
-    # file has a future expiration date.
-    root_metadata = self.repository_updater.metadata['current']['root']
-    self.repository_updater._ensure_not_expired(root_metadata, 'root')
-
-    # Metadata with an expiration time in the future should, of course, not
-    # count as expired
-    expires = tuf.formats.unix_timestamp_to_datetime(int(time.time() + 10))
-    expires = expires.isoformat() + 'Z'
-    root_metadata['expires'] = expires
-    self.assertTrue(tuf.formats.ROOT_SCHEMA.matches(root_metadata))
-    self.repository_updater._ensure_not_expired(root_metadata, 'root')
-
-    # Metadata that expires at the exact current time is considered expired
-    expire_time = int(time.time())
-    expires = \
-      tuf.formats.unix_timestamp_to_datetime(expire_time).isoformat()+'Z'
-    root_metadata['expires'] = expires
-    mock_time = mock.Mock()
-    mock_time.return_value = expire_time
-    self.assertTrue(tuf.formats.ROOT_SCHEMA.matches(root_metadata))
-    with mock.patch('time.time', mock_time):
-      self.assertRaises(tuf.exceptions.ExpiredMetadataError,
-                        self.repository_updater._ensure_not_expired,
-                        root_metadata, 'root')
-
-    # Metadata that expires in the past is considered expired
-    expires = tuf.formats.unix_timestamp_to_datetime(int(time.time() - 10))
-    expires = expires.isoformat() + 'Z'
-    root_metadata['expires'] = expires
-    self.assertTrue(tuf.formats.ROOT_SCHEMA.matches(root_metadata))
-    self.assertRaises(tuf.exceptions.ExpiredMetadataError,
-                      self.repository_updater._ensure_not_expired,
-                      root_metadata, 'root')
-
-
-
-
-
-  def test_3__update_metadata(self):
-    # Setup
-    # _update_metadata() downloads, verifies, and installs the specified
-    # metadata role.  Remove knowledge of currently installed metadata and
-    # verify that they are re-installed after calling _update_metadata().
-
-    # This is the default metadata that we would create for the timestamp role,
-    # because it has no signed metadata for itself.
-    DEFAULT_TIMESTAMP_FILELENGTH = tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
-
-    # This is the upper bound length for Targets metadata.
-    DEFAULT_TARGETS_FILELENGTH = tuf.settings.DEFAULT_TARGETS_REQUIRED_LENGTH
-
-    # Save the versioninfo of 'targets.json,' needed later when re-installing
-    # with _update_metadata().
-    targets_versioninfo = \
-      self.repository_updater.metadata['current']['snapshot']['meta']\
-                                      ['targets.json']
-
-    # Remove the currently installed metadata from the store and disk.  Verify
-    # that the metadata dictionary is re-populated after calling
-    # _update_metadata().
-    del self.repository_updater.metadata['current']['timestamp']
-    del self.repository_updater.metadata['current']['targets']
-
-    timestamp_filepath = \
-      os.path.join(self.client_metadata_current, 'timestamp.json')
-    targets_filepath = os.path.join(self.client_metadata_current, 'targets.json')
-    root_filepath = os.path.join(self.client_metadata_current, 'root.json')
-    os.remove(timestamp_filepath)
-    os.remove(targets_filepath)
-
-    # Test: normal case.
-    # Verify 'timestamp.json' is properly installed.
-    self.assertFalse('timestamp' in self.repository_updater.metadata)
-
-    logger.info('\nroleinfo: ' + repr(tuf.roledb.get_rolenames(self.repository_name)))
-    self.repository_updater._update_metadata('timestamp',
-                                             DEFAULT_TIMESTAMP_FILELENGTH)
-    self.assertTrue('timestamp' in self.repository_updater.metadata['current'])
-    os.path.exists(timestamp_filepath)
-
-    # Verify 'targets.json' is properly installed.
-    self.assertFalse('targets' in self.repository_updater.metadata['current'])
-    self.repository_updater._update_metadata('targets',
-                                DEFAULT_TARGETS_FILELENGTH,
-                                targets_versioninfo['version'])
-    self.assertTrue('targets' in self.repository_updater.metadata['current'])
-
-    targets_signable = securesystemslib.util.load_json_file(targets_filepath)
-    loaded_targets_version = targets_signable['signed']['version']
-    self.assertEqual(targets_versioninfo['version'], loaded_targets_version)
-
-    # Test: Invalid / untrusted version numbers.
-    # Invalid version number for 'targets.json'.
-    self.assertRaises(tuf.exceptions.NoWorkingMirrorError,
-        self.repository_updater._update_metadata,
-        'targets', DEFAULT_TARGETS_FILELENGTH, 88)
-
-    # Verify that the specific exception raised is correct for the previous
-    # case.
-    try:
-      self.repository_updater._update_metadata('targets',
-                                               DEFAULT_TARGETS_FILELENGTH, 88)
-
-    except tuf.exceptions.NoWorkingMirrorError as e:
-      for mirror_error in six.itervalues(e.mirror_errors):
-        assert isinstance(mirror_error, tuf.exceptions.BadVersionNumberError)
-
-    else:
-      self.fail(
-          'Expected a NoWorkingMirrorError composed of BadVersionNumberErrors')
-
-    # Verify that the specific exception raised is correct for the previous
-    # case.  The version number is checked, so the specific error in
-    # this case should be 'tuf.exceptions.BadVersionNumberError'.
-    try:
-      self.repository_updater._update_metadata('targets',
-                                               DEFAULT_TARGETS_FILELENGTH,
-                                               88)
-
-    except tuf.exceptions.NoWorkingMirrorError as e:
-      for mirror_error in six.itervalues(e.mirror_errors):
-        assert isinstance(mirror_error, tuf.exceptions.BadVersionNumberError)
-
-    else:
-      self.fail(
-          'Expected a NoWorkingMirrorError composed of BadVersionNumberErrors')
-
-
-
-
-
-  def test_3__get_metadata_file(self):
-
-    '''
-    This test focuses on making sure that the updater rejects unknown or
-    badly-formatted TUF specification version numbers....
-    '''
-
-    # Make note of the correct supported TUF specification version.
-    correct_specification_version = tuf.SPECIFICATION_VERSION
-
-    # Change it long enough to write new metadata.
-    tuf.SPECIFICATION_VERSION = '0.9.0'
-
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-
-    # Change the supported TUF specification version back to what it should be
-    # so that we can parse the metadata and see that the spec version in the
-    # metadata does not match the code's expected spec version.
-    tuf.SPECIFICATION_VERSION = correct_specification_version
-
-    upperbound_filelength = tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
-    try:
-      self.repository_updater._get_metadata_file('timestamp', 'timestamp.json',
-      upperbound_filelength, 1)
-
-    except tuf.exceptions.NoWorkingMirrorError as e:
-      # Note that this test provides a piece of metadata which would fail to
-      # be accepted -- with a different error -- if the specification version
-      # number were not a problem.
-      for mirror_error in six.itervalues(e.mirror_errors):
-        assert isinstance(
-            mirror_error, tuf.exceptions.UnsupportedSpecificationError)
-
-    else:
-      self.fail(
-          'Expected a failure to verify metadata when the metadata had a '
-          'specification version number that was unexpected.  '
-          'No error was raised.')
-
-
-
-
-
-  def test_3__update_metadata_if_changed(self):
-    # Setup.
-    # The client repository is initially loaded with only four top-level roles.
-    # Verify that the metadata store contains the metadata of only these four
-    # roles before updating the metadata of 'targets.json'.
-    self.assertEqual(len(self.repository_updater.metadata['current']), 4)
-    self.assertTrue('targets' in self.repository_updater.metadata['current'])
-    targets_path = os.path.join(self.client_metadata_current, 'targets.json')
-    self.assertTrue(os.path.exists(targets_path))
-    self.assertEqual(self.repository_updater.metadata['current']['targets']['version'], 1)
-
-    # Test: normal case.  Update 'targets.json'.  The version number should not
-    # change.
-    self.repository_updater._update_metadata_if_changed('targets')
-
-    # Verify the current version of 'targets.json' has not changed.
-    self.assertEqual(self.repository_updater.metadata['current']['targets']['version'], 1)
-
-    # Modify one target file on the remote repository.
-    repository = repo_tool.load_repository(self.repository_directory)
-    target3 = 'file3.txt'
-
-    repository.targets.add_target(target3)
-    repository.root.version = repository.root.version + 1
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Update 'targets.json' and verify that the client's current 'targets.json'
-    # has been updated.  'timestamp' and 'snapshot' must be manually updated
-    # so that new 'targets' can be recognized.
-    DEFAULT_TIMESTAMP_FILELENGTH = tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
-
-    self.repository_updater._update_metadata('timestamp', DEFAULT_TIMESTAMP_FILELENGTH)
-    self.repository_updater._update_metadata_if_changed('snapshot', 'timestamp')
-    self.repository_updater._update_metadata_if_changed('targets')
-    targets_path = os.path.join(self.client_metadata_current, 'targets.json')
-    self.assertTrue(os.path.exists(targets_path))
-    self.assertTrue(self.repository_updater.metadata['current']['targets'])
-    self.assertEqual(self.repository_updater.metadata['current']['targets']['version'], 2)
-
-    # Test for an invalid 'referenced_metadata' argument.
-    self.assertRaises(tuf.exceptions.RepositoryError,
-        self.repository_updater._update_metadata_if_changed, 'snapshot', 'bad_role')
-
-
-
-  def test_3__targets_of_role(self):
-    # Setup.
-    # Extract the list of targets from 'targets.json', to be compared to what
-    # is returned by _targets_of_role('targets').
-    targets_in_metadata = \
-      self.repository_updater.metadata['current']['targets']['targets']
-
-    # Test: normal case.
-    targetinfos_list = self.repository_updater._targets_of_role('targets')
-
-    # Verify that the list of targets was returned, and that it contains valid
-    # target files.
-    self.assertTrue(tuf.formats.TARGETINFOS_SCHEMA.matches(targetinfos_list))
-    for targetinfo in targetinfos_list:
-      self.assertTrue((targetinfo['filepath'], targetinfo['fileinfo']) in six.iteritems(targets_in_metadata))
-
-
-
-
-
-  def test_4_refresh(self):
-    # This unit test is based on adding an extra target file to the
-    # server and rebuilding all server-side metadata.  All top-level metadata
-    # should be updated when the client calls refresh().
-
-    # First verify that an expired root metadata is updated.
-    expired_date = '1960-01-01T12:00:00Z'
-    self.repository_updater.metadata['current']['root']['expires'] = expired_date
-    self.repository_updater.refresh()
-
-    # Second, verify that expired root metadata is not updated if
-    # 'unsafely_update_root_if_necessary' is explicitly set to 'False'.
-    expired_date = '1960-01-01T12:00:00Z'
-    self.repository_updater.metadata['current']['root']['expires'] = expired_date
-    self.assertRaises(tuf.exceptions.ExpiredMetadataError,
-                      self.repository_updater.refresh,
-                      unsafely_update_root_if_necessary=False)
-
-    repository = repo_tool.load_repository(self.repository_directory)
-    target3 = 'file3.txt'
-
-    repository.targets.add_target(target3)
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Reference 'self.Repository.metadata['current']['targets']'.  Ensure
-    # 'target3' is not already specified.
-    targets_metadata = self.repository_updater.metadata['current']['targets']
-    self.assertFalse(target3 in targets_metadata['targets'])
-
-    # Verify the expected version numbers of the roles to be modified.
-    self.assertEqual(self.repository_updater.metadata['current']['targets']\
-                                                    ['version'], 1)
-    self.assertEqual(self.repository_updater.metadata['current']['snapshot']\
-                                                    ['version'], 1)
-    self.assertEqual(self.repository_updater.metadata['current']['timestamp']\
-                                                    ['version'], 1)
-
-    # Test: normal case.  'targes.json' should now specify 'target3', and the
-    # following top-level metadata should have also been updated:
-    # 'snapshot.json' and 'timestamp.json'.
-    self.repository_updater.refresh()
-
-    # Verify that the client's metadata was updated.
-    targets_metadata = self.repository_updater.metadata['current']['targets']
-    self.assertTrue(target3 in targets_metadata['targets'])
-
-    # Verify the expected version numbers of the updated roles.
-    self.assertEqual(self.repository_updater.metadata['current']['targets']\
-                                                    ['version'], 2)
-    self.assertEqual(self.repository_updater.metadata['current']['snapshot']\
-                                                    ['version'], 2)
-    self.assertEqual(self.repository_updater.metadata['current']['timestamp']\
-                                                    ['version'], 2)
-
-
-
-
-
-  def test_4__refresh_targets_metadata(self):
-    # Setup.
-    # It is assumed that the client repository has only loaded the top-level
-    # metadata.  Refresh the 'targets.json' metadata, including all delegated
-    # roles (i.e., the client should add the missing 'role1.json' metadata.
-    self.assertEqual(len(self.repository_updater.metadata['current']), 4)
-
-    # Test: normal case.
-    self.repository_updater._refresh_targets_metadata(refresh_all_delegated_roles=True)
-
-    # Verify that client's metadata files were refreshed successfully.
-    self.assertEqual(len(self.repository_updater.metadata['current']), 6)
-
-    # Test for non-existing rolename.
-    self.repository_updater._refresh_targets_metadata('bad_rolename',
-        refresh_all_delegated_roles=False)
-
-    # Test that non-json metadata in Snapshot is ignored.
-    self.repository_updater.metadata['current']['snapshot']['meta']['bad_role.xml'] = {}
-    self.repository_updater._refresh_targets_metadata(refresh_all_delegated_roles=True)
-
-
-
-  def test_5_all_targets(self):
-   # Setup
-   # As with '_refresh_targets_metadata()',
-
-   # Update top-level metadata before calling one of the "targets" methods, as
-   # recommended by 'updater.py'.
-   self.repository_updater.refresh()
-
-   # Test: normal case.
-   with utils.ignore_deprecation_warnings('tuf.client.updater'):
-    all_targets = self.repository_updater.all_targets()
-
-   # Verify format of 'all_targets', it should correspond to
-   # 'TARGETINFOS_SCHEMA'.
-   self.assertTrue(tuf.formats.TARGETINFOS_SCHEMA.matches(all_targets))
-
-   # Verify that there is a correct number of records in 'all_targets' list,
-   # and the expected filepaths specified in the metadata.  On the targets
-   # directory of the repository, there should be 3 target files (2 of
-   # which are specified by 'targets.json'.)  The delegated role 'role1'
-   # specifies 1 target file.  The expected total number targets in
-   # 'all_targets' should be 3.
-   self.assertEqual(len(all_targets), 3)
-
-   target_filepaths = []
-   for target in all_targets:
-    target_filepaths.append(target['filepath'])
-
-   self.assertTrue('file1.txt' in target_filepaths)
-   self.assertTrue('file2.txt' in target_filepaths)
-   self.assertTrue('file3.txt' in target_filepaths)
-
-
-
-
-
-  def test_5_targets_of_role(self):
-    # Setup
-    # Remove knowledge of 'targets.json' from the metadata store.
-    self.repository_updater.metadata['current']['targets']
-
-    # Remove the metadata of the delegated roles.
-    #shutil.rmtree(os.path.join(self.client_metadata, 'targets'))
-    os.remove(os.path.join(self.client_metadata_current, 'targets.json'))
-
-    # Extract the target files specified by the delegated role, 'role1.json',
-    # as available on the server-side version of the role.
-    role1_filepath = os.path.join(self.repository_directory, 'metadata',
-                                  'role1.json')
-    role1_signable = securesystemslib.util.load_json_file(role1_filepath)
-    expected_targets = role1_signable['signed']['targets']
-
-
-    # Test: normal case.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      targetinfos = self.repository_updater.targets_of_role('role1')
-
-    # Verify that the expected role files were downloaded and installed.
-    os.path.exists(os.path.join(self.client_metadata_current, 'targets.json'))
-    os.path.exists(os.path.join(self.client_metadata_current, 'targets',
-                   'role1.json'))
-    self.assertTrue('targets' in self.repository_updater.metadata['current'])
-    self.assertTrue('role1' in self.repository_updater.metadata['current'])
-
-    #  Verify that list of targets was returned and that it contains valid
-    # target files.
-    self.assertTrue(tuf.formats.TARGETINFOS_SCHEMA.matches(targetinfos))
-    for targetinfo in targetinfos:
-      self.assertTrue((targetinfo['filepath'], targetinfo['fileinfo']) in six.iteritems(expected_targets))
-
-    # Test: Invalid arguments.
-    # targets_of_role() expected a string rolename.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      self.assertRaises(securesystemslib.exceptions.FormatError, self.repository_updater.targets_of_role,
-                        8)
-      self.assertRaises(tuf.exceptions.UnknownRoleError, self.repository_updater.targets_of_role,
-                        'unknown_rolename')
-
-
-
-
-
-  def test_6_get_one_valid_targetinfo(self):
-    # Setup
-    # Unlike some of the other tests, start up a fresh server here.
-    # The SimpleHTTPServer started in the setupclass has a tendency to
-    # timeout in Windows after a few tests.
-
-    # Creates a subprocess running a server.
-    server_process_handler = utils.TestServerProcess(log=logger,
-        server=self.SIMPLE_SERVER_PATH)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-        'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-        self.repository_mirrors)
-
-    # Extract the file information of the targets specified in 'targets.json'.
-    self.repository_updater.refresh()
-    targets_metadata = self.repository_updater.metadata['current']['targets']
-
-    target_files = targets_metadata['targets']
-    # Extract random target from 'target_files', which will be compared to what
-    # is returned by get_one_valid_targetinfo().  Restore the popped target
-    # (dict value stored in the metadata store) so that it can be found later.
-    filepath, fileinfo = target_files.popitem()
-    target_files[filepath] = fileinfo
-
-    target_targetinfo = self.repository_updater.get_one_valid_targetinfo(filepath)
-    self.assertTrue(tuf.formats.TARGETINFO_SCHEMA.matches(target_targetinfo))
-    self.assertEqual(target_targetinfo['filepath'], filepath)
-    self.assertEqual(target_targetinfo['fileinfo'], fileinfo)
-
-    # Test: invalid target path.
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-        self.repository_updater.get_one_valid_targetinfo,
-        self.random_path().lstrip(os.sep).lstrip('/'))
-
-    # Test updater.get_one_valid_targetinfo() backtracking behavior (enabled by
-    # default.)
-    targets_directory = os.path.join(self.repository_directory, 'targets')
-    os.makedirs(os.path.join(targets_directory, 'foo'))
-
-    foo_package = 'foo/foo1.1.tar.gz'
-    foo_pattern = 'foo/foo*.tar.gz'
-
-    foo_fullpath = os.path.join(targets_directory, foo_package)
-    with open(foo_fullpath, 'wb') as file_object:
-      file_object.write(b'new release')
-
-    # Modify delegations on the remote repository to test backtracking behavior.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-
-    repository.targets.delegate('role3', [self.role_keys['targets']['public']],
-        [foo_pattern])
-
-    repository.targets.delegate('role4', [self.role_keys['targets']['public']],
-        [foo_pattern], list_of_targets=[foo_package])
-    repository.targets('role4').add_target(foo_package)
-
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.targets('role3').load_signing_key(self.role_keys['targets']['private'])
-    repository.targets('role4').load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-
-    # updater.get_one_valid_targetinfo() should find 'foo1.1.tar.gz' by
-    # backtracking to 'role3'.  'role2' allows backtracking.
-    self.repository_updater.refresh()
-    self.repository_updater.get_one_valid_targetinfo('foo/foo1.1.tar.gz')
-
-    # A leading path separator is disallowed.
-    self.assertRaises(tuf.exceptions.FormatError,
-    self.repository_updater.get_one_valid_targetinfo, '/foo/foo1.1.tar.gz')
-
-    # Test when 'role2' does *not* allow backtracking.  If 'foo/foo1.1.tar.gz'
-    # is not provided by the authoritative 'role2',
-    # updater.get_one_valid_targetinfo() should return a
-    # 'tuf.exceptions.UnknownTargetError' exception.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    repository.targets.revoke('role3')
-    repository.targets.revoke('role4')
-
-    # Ensure we delegate in trusted order (i.e., 'role2' has higher priority.)
-    repository.targets.delegate('role3', [self.role_keys['targets']['public']],
-        [foo_pattern], terminating=True, list_of_targets=[])
-
-    repository.targets.delegate('role4', [self.role_keys['targets']['public']],
-        [foo_pattern], list_of_targets=[foo_package])
-
-    repository.targets('role3').load_signing_key(self.role_keys['targets']['private'])
-    repository.targets('role4').load_signing_key(self.role_keys['targets']['private'])
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Verify that 'tuf.exceptions.UnknownTargetError' is raised by
-    # updater.get_one_valid_targetinfo().
-    self.repository_updater.refresh()
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-                      self.repository_updater.get_one_valid_targetinfo,
-                      'foo/foo1.1.tar.gz')
-
-    # Verify that a 'tuf.exceptions.FormatError' is raised for delegated paths
-    # that contain a leading path separator.
-    self.assertRaises(tuf.exceptions.FormatError,
-        self.repository_updater.get_one_valid_targetinfo,
-        '/foo/foo1.1.tar.gz')
-
-    # Cleans the resources and flush the logged lines (if any).
-    server_process_handler.clean()
-
-
-
-
-  def test_6_download_target(self):
-    # Create temporary directory (destination directory of downloaded targets)
-    # that will be passed as an argument to 'download_target()'.
-    destination_directory = self.make_temp_directory()
-    target_filepaths = \
-      list(self.repository_updater.metadata['current']['targets']['targets'].keys())
-
-    # Test: normal case.
-    # Get the target info, which is an argument to 'download_target()'.
-
-    # 'target_filepaths' is expected to have at least two targets.  The first
-    # target will be used to test against download_target().  The second
-    # will be used to test against download_target() and a repository with
-    # 'consistent_snapshot' set to True.
-    target_filepath1 = target_filepaths.pop()
-    targetinfo = self.repository_updater.get_one_valid_targetinfo(target_filepath1)
-    self.repository_updater.download_target(targetinfo,
-                                            destination_directory)
-
-    download_filepath = \
-      os.path.join(destination_directory, target_filepath1.lstrip('/'))
-    self.assertTrue(os.path.exists(download_filepath))
-    length, hashes = \
-      securesystemslib.util.get_file_details(download_filepath,
-        securesystemslib.settings.HASH_ALGORITHMS)
-    download_targetfileinfo = tuf.formats.make_targets_fileinfo(length, hashes)
-
-    # Add any 'custom' data from the repository's target fileinfo to the
-    # 'download_targetfileinfo' object being tested.
-    if 'custom' in targetinfo['fileinfo']:
-      download_targetfileinfo['custom'] = targetinfo['fileinfo']['custom']
-
-    self.assertEqual(targetinfo['fileinfo'], download_targetfileinfo)
-
-    # Test when consistent snapshots is set.  First, create a valid
-    # repository with consistent snapshots set (root.json contains a
-    # "consistent_snapshot" entry that the updater uses to correctly fetch
-    # snapshots.  The updater expects the existence of
-    # '<version_number>.filename' files if root.json sets 'consistent_snapshot
-    # = True'.
-
-    # The repository must be rewritten with 'consistent_snapshot' set.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Write metadata for all the top-level roles , since consistent snapshot
-    # is now being set to true (i.e., the pre-generated repository isn't set
-    # to support consistent snapshots.  A new version of targets.json is needed
-    # to ensure <digest>.filename target files are written to disk.
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    repository.writeall(consistent_snapshot=True)
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # And ensure the client has the latest top-level metadata.
-    self.repository_updater.refresh()
-
-    target_filepath2 = target_filepaths.pop()
-    targetinfo2 = self.repository_updater.get_one_valid_targetinfo(target_filepath2)
-    self.repository_updater.download_target(targetinfo2,
-                                            destination_directory)
-
-    # Checks if the file has been successfully downloaded
-    download_filepath = os.path.join(destination_directory, target_filepath2)
-    self.assertTrue(os.path.exists(download_filepath))
-
-    # Removes the file so that it can be downloaded again in the next test
-    os.remove(download_filepath)
-
-    # Test downloading with consistent snapshot enabled, but without adding
-    # the hash of the file as a prefix to its name.
-
-    file1_path = targetinfo2['filepath']
-    file1_hashes = securesystemslib.util.get_file_hashes(
-        os.path.join(self.repository_directory, 'targets', file1_path),
-        hash_algorithms=['sha256', 'sha512'])
-
-    # Currently in the repository directory, those three files exists:
-    # "file1.txt", "<sha256_hash>.file1.txt" and "<sha512_hash>.file1.txt"
-    # where both sha256 and sha512 hashes are for file file1.txt.
-    # Remove the files with the hash digest prefix to ensure that
-    # the served target file is not prefixed.
-    os.remove(os.path.join(self.repository_directory, 'targets',
-        file1_hashes['sha256'] + '.' + file1_path))
-    os.remove(os.path.join(self.repository_directory, 'targets',
-        file1_hashes['sha512'] + '.' + file1_path))
-
-
-    self.repository_updater.download_target(targetinfo2,
-                                            destination_directory,
-                                            prefix_filename_with_hash=False)
-
-    # Checks if the file has been successfully downloaded
-    self.assertTrue(os.path.exists(download_filepath))
-
-    # Test for a destination that cannot be written to (apart from a target
-    # file that already exists at the destination) and which raises an
-    # exception.
-    bad_destination_directory = 'bad' * 2000
-
-    try:
-      self.repository_updater.download_target(targetinfo, bad_destination_directory)
-
-    except OSError as e:
-      self.assertTrue(
-          e.errno in [errno.ENAMETOOLONG, errno.ENOENT, errno.EINVAL],
-          "wrong errno: " + str(e.errno))
-
-    else:
-      self.fail('No OSError raised')
-
-
-    # Test: Invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.repository_updater.download_target,
-                      8, destination_directory)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.repository_updater.download_target,
-                      targetinfo, 8)
-
-    # Test:
-    # Attempt a file download of a valid target, however, a download exception
-    # occurs because the target is not within the mirror's confined target
-    # directories.  Adjust mirrors dictionary, so that 'confined_target_dirs'
-    # field contains at least one confined target and excludes needed target
-    # file.
-    mirrors = self.repository_updater.mirrors
-    for mirror_name, mirror_info in six.iteritems(mirrors):
-      mirrors[mirror_name]['confined_target_dirs'] = [self.random_path()]
-
-    try:
-      self.repository_updater.download_target(targetinfo,
-                                              destination_directory)
-
-    except tuf.exceptions.NoWorkingMirrorError as exception:
-      # Ensure that no mirrors were found due to mismatch in confined target
-      # directories.  get_list_of_mirrors() returns an empty list in this case,
-      # which does not generate specific exception errors.
-      self.assertEqual(len(exception.mirror_errors), 0)
-
-    else:
-      self.fail(
-          'Expected a NoWorkingMirrorError with zero mirror errors in it.')
-
-
-
-
-
-  def test_7_updated_targets(self):
-    # Verify that the list of targets returned by updated_targets() contains
-    # all the files that need to be updated, these files include modified and
-    # new target files.  Also, confirm that files that need not to be updated
-    # are absent from the list.
-    # Setup
-
-    # Unlike some of the other tests, start up a fresh server here.
-    # The SimpleHTTPServer started in the setupclass has a tendency to
-    # timeout in Windows after a few tests.
-
-    # Creates a subprocess running a server.
-    server_process_handler = utils.TestServerProcess(log=logger,
-        server=self.SIMPLE_SERVER_PATH)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-        'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-        self.repository_mirrors)
-
-    # Create temporary directory which will hold client's target files.
-    destination_directory = self.make_temp_directory()
-
-    # Get the list of target files.  It will be used as an argument to the
-    # 'updated_targets()' function.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      all_targets = self.repository_updater.all_targets()
-
-    # Test for duplicates and targets in the root directory of the repository.
-    additional_target = all_targets[0].copy()
-    all_targets.append(additional_target)
-    additional_target_in_root_directory = additional_target.copy()
-    additional_target_in_root_directory['filepath'] = 'file1.txt'
-    all_targets.append(additional_target_in_root_directory)
-
-    #  At this point client needs to update and download all targets.
-    # Test: normal cases.
-    updated_targets = \
-      self.repository_updater.updated_targets(all_targets, destination_directory)
-
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      all_targets = self.repository_updater.all_targets()
-
-    # Assumed the pre-generated repository specifies two target files in
-    # 'targets.json' and one delegated target file in 'role1.json'.
-    self.assertEqual(len(updated_targets), 3)
-
-    # Test: download one of the targets.
-    download_target = copy.deepcopy(updated_targets).pop()
-    self.repository_updater.download_target(download_target,
-                                            destination_directory)
-
-    updated_targets = \
-      self.repository_updater.updated_targets(all_targets, destination_directory)
-
-    self.assertEqual(len(updated_targets), 2)
-
-    # Test: download all the targets.
-    for download_target in all_targets:
-      self.repository_updater.download_target(download_target,
-                                              destination_directory)
-    updated_targets = \
-      self.repository_updater.updated_targets(all_targets, destination_directory)
-
-    self.assertEqual(len(updated_targets), 0)
-
-
-    # Test: Invalid arguments.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.repository_updater.updated_targets,
-                      8, destination_directory)
-
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-                      self.repository_updater.updated_targets,
-                      all_targets, 8)
-
-    # Modify one target file on the remote repository.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    target1 = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    repository.targets.remove_target(os.path.basename(target1))
-
-    length, hashes = securesystemslib.util.get_file_details(target1)
-
-    repository.targets.add_target(os.path.basename(target1))
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-
-    with open(target1, 'ab') as file_object:
-      file_object.write(b'append extra text')
-
-    length, hashes = securesystemslib.util.get_file_details(target1)
-
-    repository.targets.add_target(os.path.basename(target1))
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Ensure the client has up-to-date metadata.
-    self.repository_updater.refresh()
-
-    # Verify that the new target file is considered updated.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      all_targets = self.repository_updater.all_targets()
-    updated_targets = \
-      self.repository_updater.updated_targets(all_targets, destination_directory)
-    self.assertEqual(len(updated_targets), 1)
-
-    # Cleans the resources and flush the logged lines (if any).
-    server_process_handler.clean()
-
-
-
-
-  def test_8_remove_obsolete_targets(self):
-    # Setup.
-    # Unlike some of the other tests, start up a fresh server here.
-    # The SimpleHTTPServer started in the setupclass has a tendency to
-    # timeout in Windows after a few tests.
-
-    # Creates a subprocess running a server.
-    server_process_handler = utils.TestServerProcess(log=logger,
-        server=self.SIMPLE_SERVER_PATH)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-        'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-        self.repository_mirrors)
-
-    # Create temporary directory that will hold the client's target files.
-    destination_directory = self.make_temp_directory()
-
-    #  Populate 'destination_direction' with all target files.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      all_targets = self.repository_updater.all_targets()
-
-    self.assertEqual(len(os.listdir(destination_directory)), 0)
-
-    for target in all_targets:
-      self.repository_updater.download_target(target, destination_directory)
-
-    self.assertEqual(len(os.listdir(destination_directory)), 3)
-
-    # Remove two target files from the server's repository.
-    repository = repo_tool.load_repository(self.repository_directory)
-    target1 = os.path.join(self.repository_directory, 'targets', 'file1.txt')
-    repository.targets.remove_target(os.path.basename(target1))
-
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Update client's metadata.
-    self.repository_updater.refresh()
-
-    # Test: normal case.
-    # Verify number of target files in 'destination_directory' (should be 1
-    # after the update made to the remote repository), and call
-    # 'remove_obsolete_targets()'.
-    with utils.ignore_deprecation_warnings('tuf.client.updater'):
-      all_targets = self.repository_updater.all_targets()
-
-    updated_targets = \
-      self.repository_updater.updated_targets(all_targets,
-                                              destination_directory)
-
-    for updated_target in updated_targets:
-      self.repository_updater.download_target(updated_target,
-                                              destination_directory)
-
-    self.assertEqual(len(os.listdir(destination_directory)), 3)
-    self.repository_updater.remove_obsolete_targets(destination_directory)
-    self.assertEqual(len(os.listdir(destination_directory)), 2)
-
-    #  Verify that, if there are no obsolete files, the number of files
-    #  in 'destination_directory' remains the same.
-    self.repository_updater.remove_obsolete_targets(destination_directory)
-    self.assertEqual(len(os.listdir(destination_directory)), 2)
-
-    # Test coverage for a destination path that causes an exception not due
-    # to an already removed target.
-    bad_destination_directory = 'bad' * 2000
-    self.repository_updater.remove_obsolete_targets(bad_destination_directory)
-
-    # Test coverage for a target that is not specified in current metadata.
-    del self.repository_updater.metadata['current']['targets']['targets']['file2.txt']
-    self.repository_updater.remove_obsolete_targets(destination_directory)
-
-    # Test coverage for a role that doesn't exist in the previously trusted set
-    # of metadata.
-    del self.repository_updater.metadata['previous']['targets']
-    self.repository_updater.remove_obsolete_targets(destination_directory)
-
-    # Cleans the resources and flush the logged lines (if any).
-    server_process_handler.clean()
-
-
-
-  def test_9__get_target_hash(self):
-    # Test normal case.
-    # Test target filepaths with ascii and non-ascii characters.
-    expected_target_hashes = {
-      '/file1.txt': 'e3a3d89eb3b70ce3fbce6017d7b8c12d4abd5635427a0e8a238f53157df85b3d',
-      '/Jalape\xc3\xb1o': '78bfd5c314680545eb48ecad508aceb861f8d6e680f4fe1b791da45c298cda88'
-    }
-    for filepath, target_hash in six.iteritems(expected_target_hashes):
-      self.assertTrue(tuf.formats.RELPATH_SCHEMA.matches(filepath))
-      self.assertTrue(securesystemslib.formats.HASH_SCHEMA.matches(target_hash))
-      self.assertEqual(self.repository_updater._get_target_hash(filepath), target_hash)
-
-    # Test for improperly formatted argument.
-    #self.assertRaises(securesystemslib.exceptions.FormatError, self.repository_updater._get_target_hash, 8)
-
-
-
-
-  def test_10__check_file_length(self):
-    # Test for exception if file object is not equal to trusted file length.
-    with tempfile.TemporaryFile() as temp_file_object:
-      temp_file_object.write(b'X')
-      temp_file_object.seek(0)
-      self.assertRaises(tuf.exceptions.DownloadLengthMismatchError,
-                      self.repository_updater._check_file_length,
-                      temp_file_object, 10)
-
-
-
-
-
-  def test_10__targets_of_role(self):
-    # Test for non-existent role.
-    self.assertRaises(tuf.exceptions.UnknownRoleError,
-                      self.repository_updater._targets_of_role,
-                      'non-existent-role')
-
-    # Test for role that hasn't been loaded yet.
-    del self.repository_updater.metadata['current']['targets']
-    self.assertEqual(len(self.repository_updater._targets_of_role('targets',
-                                                        skip_refresh=True)), 0)
-
-    # 'targets.json' tracks two targets.
-    self.assertEqual(len(self.repository_updater._targets_of_role('targets')),
-                     2)
-
-
-
-  def test_10__preorder_depth_first_walk(self):
-
-    # Test that infinite loop is prevented if the target file is not found and
-    # the max number of delegations is reached.
-    valid_max_number_of_delegations = tuf.settings.MAX_NUMBER_OF_DELEGATIONS
-    tuf.settings.MAX_NUMBER_OF_DELEGATIONS = 0
-    self.assertEqual(None, self.repository_updater._preorder_depth_first_walk('unknown.txt'))
-
-    # Reset the setting for max number of delegations so that subsequent unit
-    # tests reference the expected setting.
-    tuf.settings.MAX_NUMBER_OF_DELEGATIONS = valid_max_number_of_delegations
-
-    # Attempt to create a circular delegation, where role1 performs a
-    # delegation to the top-level Targets role.  The updater should ignore the
-    # delegation and not raise an exception.
-    targets_path = os.path.join(self.client_metadata_current, 'targets.json')
-    targets_metadata = securesystemslib.util.load_json_file(targets_path)
-    targets_metadata['signed']['delegations']['roles'][0]['paths'] = ['/file8.txt']
-    with open(targets_path, 'wb') as file_object:
-      file_object.write(repo_lib._get_written_metadata(targets_metadata))
-
-    role1_path = os.path.join(self.client_metadata_current, 'role1.json')
-    role1_metadata = securesystemslib.util.load_json_file(role1_path)
-    role1_metadata['signed']['delegations']['roles'][0]['name'] = 'targets'
-    role1_metadata['signed']['delegations']['roles'][0]['paths'] = ['/file8.txt']
-    with open(role1_path, 'wb') as file_object:
-      file_object.write(repo_lib._get_written_metadata(role1_metadata))
-
-    role2_path = os.path.join(self.client_metadata_current, 'role2.json')
-    role2_metadata = securesystemslib.util.load_json_file(role2_path)
-    role2_metadata['signed']['delegations']['roles'] = role1_metadata['signed']['delegations']['roles']
-    role2_metadata['signed']['delegations']['roles'][0]['paths'] = ['/file8.txt']
-    with open(role2_path, 'wb') as file_object:
-      file_object.write(repo_lib._get_written_metadata(role2_metadata))
-
-    logger.debug('attempting circular delegation')
-    self.assertEqual(None, self.repository_updater._preorder_depth_first_walk('/file8.txt'))
-
-
-
-
-
-
-  def test_10__visit_child_role(self):
-    # Call _visit_child_role and test the dict keys: 'paths',
-    # 'path_hash_prefixes', and if both are missing.
-
-    targets_role = self.repository_updater.metadata['current']['targets']
-    targets_role['delegations']['roles'][0]['paths'] = ['/*.txt', '/target.exe']
-    child_role = targets_role['delegations']['roles'][0]
-
-    role1_path = os.path.join(self.client_metadata_current, 'role1.json')
-    role1_metadata = securesystemslib.util.load_json_file(role1_path)
-    role1_metadata['signed']['delegations']['roles'][0]['paths'] = ['/*.exe']
-    with open(role1_path, 'wb') as file_object:
-      file_object.write(repo_lib._get_written_metadata(role1_metadata))
-
-    self.assertEqual(self.repository_updater._visit_child_role(child_role,
-        '/target.exe'), child_role['name'])
-
-    # Test for a valid path hash prefix...
-    child_role['path_hash_prefixes'] = ['8baf']
-    self.assertEqual(self.repository_updater._visit_child_role(child_role,
-        '/file3.txt'), child_role['name'])
-
-    # ... and an invalid one, as well.
-    child_role['path_hash_prefixes'] = ['badd']
-    self.assertEqual(self.repository_updater._visit_child_role(child_role,
-        '/file3.txt'), None)
-
-    # Test for a forbidden target.
-    del child_role['path_hash_prefixes']
-    self.repository_updater._visit_child_role(child_role, '/forbidden.tgz')
-
-    # Verify that unequal path_hash_prefixes are skipped.
-    child_role['path_hash_prefixes'] = ['bad', 'bad']
-    self.assertEqual(None, self.repository_updater._visit_child_role(child_role,
-        '/unknown.exe'))
-
-    # Test if both 'path' and 'path_hash_prefixes' are missing.
-    del child_role['paths']
-    del child_role['path_hash_prefixes']
-    self.assertRaises(securesystemslib.exceptions.FormatError, self.repository_updater._visit_child_role,
-        child_role, child_role['name'])
-
-
-
-  def test_11__verify_metadata_file(self):
-    # Test for invalid metadata content.
-    with tempfile.TemporaryFile() as metadata_file_object:
-      metadata_file_object.write(b'X')
-      metadata_file_object.seek(0)
-
-      self.assertRaises(tuf.exceptions.InvalidMetadataJSONError,
-          self.repository_updater._verify_metadata_file,
-          metadata_file_object, 'root')
-
-
-  def test_13__targets_of_role(self):
-    # Test case where a list of targets is given.  By default, the 'targets'
-    # parameter is None.
-    targets = [{'filepath': 'file1.txt', 'fileinfo': {'length': 1, 'hashes': {'sha256': 'abc'}}}]
-    self.repository_updater._targets_of_role('targets',
-        targets=targets, skip_refresh=False)
-
-
-
-
-class TestMultiRepoUpdater(unittest_toolbox.Modified_TestCase):
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf/tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-
-    self.temporary_repository_root = self.make_temp_directory(directory=
-        self.temporary_directory)
-
-    # Needed because in some tests simple_server.py cannot be found.
-    # The reason is that the current working directory
-    # has been changed when executing a subprocess.
-    self.SIMPLE_SERVER_PATH = os.path.join(os.getcwd(), 'simple_server.py')
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_client = os.path.join(original_repository_files, 'client', 'test_repository1')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-    original_map_file = os.path.join(original_repository_files, 'map.json')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = os.path.join(self.temporary_repository_root,
-        'repository_server1')
-    self.repository_directory2 = os.path.join(self.temporary_repository_root,
-        'repository_server2')
-
-    # Setting 'tuf.settings.repositories_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.temporary_repository_root
-
-    repository_name = 'test_repository1'
-    repository_name2 = 'test_repository2'
-
-    self.client_directory = os.path.join(self.temporary_repository_root,
-        repository_name)
-    self.client_directory2 = os.path.join(self.temporary_repository_root,
-        repository_name2)
-
-    self.keystore_directory = os.path.join(self.temporary_repository_root,
-        'keystore')
-    self.map_file = os.path.join(self.client_directory, 'map.json')
-    self.map_file2 = os.path.join(self.client_directory2, 'map.json')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_repository, self.repository_directory2)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_client, self.client_directory2)
-    shutil.copyfile(original_map_file, self.map_file)
-    shutil.copyfile(original_map_file, self.map_file2)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).
-    # Test cases will request metadata and target files that have been
-    # pre-generated in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of this unit test assume
-    # the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-
-    # Creates a subprocess running a server.
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server=self.SIMPLE_SERVER_PATH, popen_cwd=self.repository_directory)
-
-    logger.debug('Server process started.')
-
-    # Creates a subprocess running a server.
-    self.server_process_handler2 = utils.TestServerProcess(log=logger,
-        server=self.SIMPLE_SERVER_PATH, popen_cwd=self.repository_directory2)
-
-    logger.debug('Server process 2 started.')
-
-    url_prefix = 'http://localhost:' + str(self.server_process_handler.port)
-    url_prefix2 = 'http://localhost:' + str(self.server_process_handler2.port)
-
-    # We have all of the necessary information for two repository mirrors
-    # in map.json, except for url prefixes.
-    # For the url prefixes, we create subprocesses that run a server script.
-    # In server scripts we get a free port from the OS which is sent
-    # back to the parent process.
-    # That's why we dynamically add the ports to the url prefixes
-    # and changing the content of map.json.
-    self.map_file_path = os.path.join(self.client_directory, 'map.json')
-    data = securesystemslib.util.load_json_file(self.map_file_path)
-
-    data['repositories']['test_repository1'] = [url_prefix]
-    data['repositories']['test_repository2'] = [url_prefix2]
-    with open(self.map_file_path, 'w') as f:
-      json.dump(data, f)
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-        'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-    self.repository_mirrors2 = {'mirror1': {'url_prefix': url_prefix2,
-        'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-    # Create the repository instances.  The test cases will use these client
-    # updaters to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(repository_name,
-        self.repository_mirrors)
-    self.repository_updater2 = updater.Updater(repository_name2,
-        self.repository_mirrors2)
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.multi_repo_updater = updater.MultiRepoUpdater(self.map_file)
-
-    # Metadata role keys are needed by the test cases to make changes to the
-    # repository (e.g., adding a new target file to 'targets.json' and then
-    # requesting a refresh()).
-    self.role_keys = _load_role_keys(self.keystore_directory)
-
-
-
-  def tearDown(self):
-    # Modified_TestCase.tearDown() automatically deletes temporary files and
-    # directories that may have been created during each test case.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-
-    # Cleans the resources and flush the logged lines (if any).
-    self.server_process_handler.clean()
-    self.server_process_handler2.clean()
-
-    # updater.Updater() populates the roledb with the name "test_repository1"
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated of all the test cases
-    shutil.rmtree(self.temporary_directory)
-
-
-
-  # UNIT TESTS.
-  def test__init__(self):
-    # The client's repository requires a metadata directory (and the 'current'
-    # and 'previous' sub-directories), and at least the 'root.json' file.
-    # setUp(), called before each test case, instantiates the required updater
-    # objects and keys.  The needed objects/data is available in
-    # 'self.repository_updater', 'self.client_directory', etc.
-
-    # Test: Invalid arguments.
-    # Invalid 'updater_name' argument.  String expected.
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        updater.MultiRepoUpdater, 8)
-
-    # Restore 'tuf.settings.repositories_directory' to the original client
-    # directory.
-    tuf.settings.repositories_directory = self.client_directory
-
-    # Test for a non-existent map file.
-    self.assertRaises(tuf.exceptions.Error, updater.MultiRepoUpdater,
-        'non-existent.json')
-
-    # Test for a map file that doesn't contain the required fields.
-    root_filepath = os.path.join(
-        self.repository_directory, 'metadata', 'root.json')
-    self.assertRaises(securesystemslib.exceptions.FormatError,
-        updater.MultiRepoUpdater, root_filepath)
-
-    # Test for a valid instantiation.
-    multi_repo_updater = updater.MultiRepoUpdater(self.map_file_path)
-
-
-
-  def test__target_matches_path_pattern(self):
-    multi_repo_updater = updater.MultiRepoUpdater(self.map_file_path)
-    paths = ['foo*.tgz', 'bar*.tgz', 'file1.txt']
-    self.assertTrue(
-        multi_repo_updater._target_matches_path_pattern('bar-1.0.tgz', paths))
-    self.assertTrue(
-        multi_repo_updater._target_matches_path_pattern('file1.txt', paths))
-    self.assertFalse(
-        multi_repo_updater._target_matches_path_pattern('baz-1.0.tgz', paths))
-
-
-
-  def test_get_valid_targetinfo(self):
-    multi_repo_updater = updater.MultiRepoUpdater(self.map_file_path)
-
-    # Verify the multi repo updater refuses to save targetinfo if
-    # required local repositories are missing.
-    repo_dir = os.path.join(tuf.settings.repositories_directory,
-        'test_repository1')
-    backup_repo_dir = os.path.join(tuf.settings.repositories_directory,
-        'test_repository1.backup')
-    shutil.move(repo_dir, backup_repo_dir)
-    self.assertRaises(tuf.exceptions.Error,
-        multi_repo_updater.get_valid_targetinfo, 'file3.txt')
-
-    # Restore the client's repository directory.
-    shutil.move(backup_repo_dir, repo_dir)
-
-    # Verify that the Root file must exist.
-    root_filepath = os.path.join(repo_dir, 'metadata', 'current', 'root.json')
-    backup_root_filepath = os.path.join(root_filepath, root_filepath + '.backup')
-    shutil.move(root_filepath, backup_root_filepath)
-    self.assertRaises(tuf.exceptions.Error,
-        multi_repo_updater.get_valid_targetinfo, 'file3.txt')
-
-    # Restore the Root file.
-    shutil.move(backup_root_filepath, root_filepath)
-
-    # Test that the first mapping is skipped if it's irrelevant to the target
-    # file.
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-        multi_repo_updater.get_valid_targetinfo, 'non-existent.txt')
-
-    # Verify that a targetinfo is not returned for a non-existent target.
-    multi_repo_updater.map_file['mapping'][1]['terminating'] = False
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-        multi_repo_updater.get_valid_targetinfo, 'non-existent.txt')
-    multi_repo_updater.map_file['mapping'][1]['terminating'] = True
-
-    # Test for a mapping that sets terminating = True, and that appears before
-    # the final mapping.
-    multi_repo_updater.map_file['mapping'][0]['terminating'] = True
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-        multi_repo_updater.get_valid_targetinfo, 'bad3.txt')
-    multi_repo_updater.map_file['mapping'][0]['terminating'] = False
-
-    # Test for the case where multiple repos sign for the same target.
-    valid_targetinfo = multi_repo_updater.get_valid_targetinfo('file1.txt')
-
-    multi_repo_updater.map_file['mapping'][0]['threshold'] = 2
-    valid_targetinfo = multi_repo_updater.get_valid_targetinfo('file1.txt')
-
-    # Verify that valid targetinfo is matched for two repositories that provide
-    # different custom field.  Make sure to set the 'match_custom_field'
-    # argument to 'False' when calling get_valid_targetinfo().
-    repository = repo_tool.load_repository(self.repository_directory2)
-
-    target1 = os.path.join(self.repository_directory2, 'targets', 'file1.txt')
-    repository.targets.remove_target(os.path.basename(target1))
-
-    custom_field = {"custom": "my_custom_data"}
-    repository.targets.add_target(os.path.basename(target1), custom_field)
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory2, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory2, 'metadata.staged'),
-        os.path.join(self.repository_directory2, 'metadata'))
-
-    # Do we get the expected match for the two targetinfo that only differ
-    # by the custom field?
-    valid_targetinfo = multi_repo_updater.get_valid_targetinfo(
-        'file1.txt', match_custom_field=False)
-
-    # Verify the case where two repositories provide different targetinfo.
-    # Modify file1.txt so that different length and hashes are reported by the
-    # two repositories.
-    repository = repo_tool.load_repository(self.repository_directory2)
-    target1 = os.path.join(self.repository_directory2, 'targets', 'file1.txt')
-    with open(target1, 'ab') as file_object:
-      file_object.write(b'append extra text')
-
-    repository.targets.remove_target(os.path.basename(target1))
-
-    repository.targets.add_target(os.path.basename(target1))
-    repository.targets.load_signing_key(self.role_keys['targets']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory2, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory2, 'metadata.staged'),
-        os.path.join(self.repository_directory2, 'metadata'))
-
-    # Ensure the threshold is modified to 2 (assumed to be 1, by default) and
-    # verify that get_valid_targetinfo() raises an UnknownTargetError
-    # despite both repos signing for file1.txt.
-    multi_repo_updater.map_file['mapping'][0]['threshold'] = 2
-    self.assertRaises(tuf.exceptions.UnknownTargetError,
-        multi_repo_updater.get_valid_targetinfo, 'file1.txt')
-
-
-
-
-
-  def test_get_updater(self):
-    multi_repo_updater = updater.MultiRepoUpdater(self.map_file_path)
-
-    # Test for a non-existent repository name.
-    self.assertEqual(None, multi_repo_updater.get_updater('bad_repo_name'))
-
-    # Test get_updater indirectly via the "private" _update_from_repository().
-    self.assertRaises(tuf.exceptions.Error, multi_repo_updater._update_from_repository, 'bad_repo_name', 'file3.txt')
-
-    # Test for a repository that doesn't exist.
-    multi_repo_updater.map_file['repositories']['bad_repo_name'] = ['https://bogus:30002']
-    self.assertEqual(None, multi_repo_updater.get_updater('bad_repo_name'))
-
-
-
-def _load_role_keys(keystore_directory):
-
-  # Populating 'self.role_keys' by importing the required public and private
-  # keys of 'tuf/tests/repository_data/'.  The role keys are needed when
-  # modifying the remote repository used by the test cases in this unit test.
-
-  # The pre-generated key files in 'repository_data/keystore' are all encrypted with
-  # a 'password' passphrase.
-  EXPECTED_KEYFILE_PASSWORD = 'password'
-
-  # Store and return the cryptography keys of the top-level roles, including 1
-  # delegated role.
-  role_keys = {}
-
-  root_key_file = os.path.join(keystore_directory, 'root_key')
-  targets_key_file = os.path.join(keystore_directory, 'targets_key')
-  snapshot_key_file = os.path.join(keystore_directory, 'snapshot_key')
-  timestamp_key_file = os.path.join(keystore_directory, 'timestamp_key')
-  delegation_key_file = os.path.join(keystore_directory, 'delegation_key')
-
-  role_keys = {'root': {}, 'targets': {}, 'snapshot': {}, 'timestamp': {},
-               'role1': {}}
-
-  # Import the top-level and delegated role public keys.
-  role_keys['root']['public'] = \
-    repo_tool.import_rsa_publickey_from_file(root_key_file+'.pub')
-  role_keys['targets']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(targets_key_file+'.pub')
-  role_keys['snapshot']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(snapshot_key_file+'.pub')
-  role_keys['timestamp']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_key_file+'.pub')
-  role_keys['role1']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(delegation_key_file+'.pub')
-
-  # Import the private keys of the top-level and delegated roles.
-  role_keys['root']['private'] = \
-    repo_tool.import_rsa_privatekey_from_file(root_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['targets']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(targets_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['snapshot']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(snapshot_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['timestamp']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(timestamp_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['role1']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(delegation_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-
-  return role_keys
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_updater_consistent_snapshot.py b/tests/test_updater_consistent_snapshot.py
new file mode 100644
index 0000000000..4ceb1fe7f9
--- /dev/null
+++ b/tests/test_updater_consistent_snapshot.py
@@ -0,0 +1,268 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test ngclient Updater toggling consistent snapshot"""
+
+from __future__ import annotations
+
+import os
+import sys
+import tempfile
+import unittest
+from typing import TYPE_CHECKING, Any
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tuf.api.metadata import (
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    TargetFile,
+    Targets,
+)
+from tuf.ngclient import Updater
+
+if TYPE_CHECKING:
+    from collections.abc import Iterable
+
+
+class TestConsistentSnapshot(unittest.TestCase):
+    """Test different combinations of 'consistent_snapshot' and
+    'prefix_targets_with_hash' and verify that the correct URLs
+    are formed for each combination"""
+
+    # set dump_dir to trigger repository state dumps
+    dump_dir: str | None = None
+
+    def setUp(self) -> None:
+        self.subtest_count = 0
+        self.temp_dir = tempfile.TemporaryDirectory()
+        self.metadata_dir = os.path.join(self.temp_dir.name, "metadata")
+        self.targets_dir = os.path.join(self.temp_dir.name, "targets")
+        os.mkdir(self.metadata_dir)
+        os.mkdir(self.targets_dir)
+        self.sim: RepositorySimulator
+
+    def tearDown(self) -> None:
+        self.temp_dir.cleanup()
+
+    def setup_subtest(
+        self, consistent_snapshot: bool, prefix_targets: bool = True
+    ) -> None:
+        self.sim = self._init_repo(consistent_snapshot, prefix_targets)
+
+        self.subtest_count += 1
+        if self.dump_dir is not None:
+            # create subtest dumpdir
+            name = f"{self.id().split('.')[-1]}-{self.subtest_count}"
+            self.sim.dump_dir = os.path.join(self.dump_dir, name)
+            os.mkdir(self.sim.dump_dir)
+
+    def teardown_subtest(self) -> None:
+        if self.dump_dir is not None:
+            self.sim.write()
+
+        utils.cleanup_metadata_dir(self.metadata_dir)
+
+    def _init_repo(
+        self, consistent_snapshot: bool, prefix_targets: bool = True
+    ) -> RepositorySimulator:
+        """Create a new RepositorySimulator instance"""
+        sim = RepositorySimulator()
+        sim.root.consistent_snapshot = consistent_snapshot
+        sim.root.version += 1
+        sim.publish_root()
+        sim.prefix_targets_with_hash = prefix_targets
+
+        # Init trusted root with the latest consistent_snapshot
+        with open(os.path.join(self.metadata_dir, "root.json"), "bw") as f:
+            f.write(sim.signed_roots[-1])
+
+        return sim
+
+    def _init_updater(self) -> Updater:
+        """Create a new Updater instance"""
+        return Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            self.targets_dir,
+            "https://example.com/targets/",
+            self.sim,
+        )
+
+    def _assert_metadata_files_exist(self, roles: Iterable[str]) -> None:
+        """Assert that local metadata files exist for 'roles'"""
+        local_metadata_files = os.listdir(self.metadata_dir)
+        for role in roles:
+            self.assertIn(f"{role}.json", local_metadata_files)
+
+    def _assert_targets_files_exist(self, filenames: Iterable[str]) -> None:
+        """Assert that local files with 'filenames' exist"""
+        local_target_files = os.listdir(self.targets_dir)
+        for filename in filenames:
+            self.assertIn(filename, local_target_files)
+
+    top_level_roles_data = {
+        "consistent_snaphot disabled": {
+            "consistent_snapshot": False,
+            "calls": [
+                ("root", 3),
+                ("timestamp", None),
+                ("snapshot", None),
+                ("targets", None),
+            ],
+        },
+        "consistent_snaphot enabled": {
+            "consistent_snapshot": True,
+            "calls": [
+                ("root", 3),
+                ("timestamp", None),
+                ("snapshot", 1),
+                ("targets", 1),
+            ],
+        },
+    }
+
+    @utils.run_sub_tests_with_dataset(top_level_roles_data)
+    def test_top_level_roles_update(
+        self, test_case_data: dict[str, Any]
+    ) -> None:
+        # Test if the client fetches and stores metadata files with the
+        # correct version prefix, depending on 'consistent_snapshot' config
+        try:
+            consistent_snapshot: bool = test_case_data["consistent_snapshot"]
+            exp_calls: list[Any] = test_case_data["calls"]
+
+            self.setup_subtest(consistent_snapshot)
+            updater = self._init_updater()
+
+            # cleanup fetch tracker metadata
+            self.sim.fetch_tracker.metadata.clear()
+            updater.refresh()
+
+            # metadata files are fetched with the expected version (or None)
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            # metadata files are always persisted without a version prefix
+            self._assert_metadata_files_exist(TOP_LEVEL_ROLE_NAMES)
+        finally:
+            self.teardown_subtest()
+
+    delegated_roles_data = {
+        "consistent_snaphot disabled": {
+            "consistent_snapshot": False,
+            "expected_version": None,
+        },
+        "consistent_snaphot enabled": {
+            "consistent_snapshot": True,
+            "expected_version": 1,
+        },
+    }
+
+    @utils.run_sub_tests_with_dataset(delegated_roles_data)
+    def test_delegated_roles_update(
+        self, test_case_data: dict[str, Any]
+    ) -> None:
+        # Test if the client fetches and stores delegated metadata files with
+        # the correct version prefix, depending on 'consistent_snapshot' config
+        try:
+            consistent_snapshot: bool = test_case_data["consistent_snapshot"]
+            exp_version: int | None = test_case_data["expected_version"]
+            rolenames = ["role1", "..", "."]
+            exp_calls = [(role, exp_version) for role in rolenames]
+
+            self.setup_subtest(consistent_snapshot)
+            # Add new delegated targets
+            spec_version = ".".join(SPECIFICATION_VERSION)
+            for role in rolenames:
+                delegated_role = DelegatedRole(role, [], 1, False, ["*"], None)
+                targets = Targets(
+                    1, spec_version, self.sim.safe_expiry, {}, None
+                )
+                self.sim.add_delegation("targets", delegated_role, targets)
+            self.sim.update_snapshot()
+            updater = self._init_updater()
+            updater.refresh()
+
+            # cleanup fetch tracker metadata
+            self.sim.fetch_tracker.metadata.clear()
+            # trigger updater to fetch the delegated metadata
+            updater.get_targetinfo("anything")
+            # metadata files are fetched with the expected version (or None)
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            # metadata files are always persisted without a version prefix
+            self._assert_metadata_files_exist(rolenames)
+        finally:
+            self.teardown_subtest()
+
+    targets_download_data = {
+        "consistent_snaphot disabled": {
+            "consistent_snapshot": False,
+            "prefix_targets": True,
+            "hash_algo": None,
+            "targetpaths": ["file", "file.txt", "..file.ext", "f.le"],
+        },
+        "consistent_snaphot enabled without prefixed targets": {
+            "consistent_snapshot": True,
+            "prefix_targets": False,
+            "hash_algo": None,
+            "targetpaths": ["file", "file.txt", "..file.ext", "f.le"],
+        },
+        "consistent_snaphot enabled with prefixed targets": {
+            "consistent_snapshot": True,
+            "prefix_targets": True,
+            "hash_algo": "sha256",
+            "targetpaths": ["file", "file.txt", "..file.ext", "f.le"],
+        },
+    }
+
+    @utils.run_sub_tests_with_dataset(targets_download_data)
+    def test_download_targets(self, test_case_data: dict[str, Any]) -> None:
+        # Test if the client fetches and stores target files with
+        # the correct hash prefix, depending on 'consistent_snapshot'
+        # and 'prefix_targets_with_hash' config
+        try:
+            consistent_snapshot: bool = test_case_data["consistent_snapshot"]
+            prefix_targets_with_hash: bool = test_case_data["prefix_targets"]
+            hash_algo: str | None = test_case_data["hash_algo"]
+            targetpaths: list[str] = test_case_data["targetpaths"]
+
+            self.setup_subtest(consistent_snapshot, prefix_targets_with_hash)
+            # Add targets to repository
+            for targetpath in targetpaths:
+                self.sim.targets.version += 1
+                self.sim.add_target("targets", b"content", targetpath)
+            self.sim.update_snapshot()
+
+            updater = self._init_updater()
+            updater.config.prefix_targets_with_hash = prefix_targets_with_hash
+            updater.refresh()
+
+            for path in targetpaths:
+                info = updater.get_targetinfo(path)
+                assert isinstance(info, TargetFile)
+                updater.download_target(info)
+
+                # target files are always persisted without hash prefix
+                self._assert_targets_files_exist([info.path])
+
+                # files are fetched with the expected hash prefix (or None)
+                exp_calls = [
+                    (path, None if not hash_algo else info.hashes[hash_algo])
+                ]
+
+                self.assertListEqual(self.sim.fetch_tracker.targets, exp_calls)
+                self.sim.fetch_tracker.targets.clear()
+        finally:
+            self.teardown_subtest()
+
+
+if __name__ == "__main__":
+    if "--dump" in sys.argv:
+        TestConsistentSnapshot.dump_dir = tempfile.mkdtemp()
+        print(
+            f"Repository Simulator dumps in {TestConsistentSnapshot.dump_dir}"
+        )
+        sys.argv.remove("--dump")
+
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_delegation_graphs.py b/tests/test_updater_delegation_graphs.py
new file mode 100644
index 0000000000..770a1b3d71
--- /dev/null
+++ b/tests/test_updater_delegation_graphs.py
@@ -0,0 +1,602 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test updating delegated targets roles and searching for
+target files with various delegation graphs"""
+
+from __future__ import annotations
+
+import os
+import sys
+import tempfile
+import unittest
+from dataclasses import astuple, dataclass, field
+from typing import TYPE_CHECKING
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tuf.api.exceptions import UnsignedMetadataError
+from tuf.api.metadata import (
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Targets,
+)
+from tuf.ngclient import Updater
+
+if TYPE_CHECKING:
+    from collections.abc import Iterable
+
+
+@dataclass
+class TestDelegation:
+    delegator: str
+    rolename: str
+    keyids: list[str] = field(default_factory=list)
+    threshold: int = 1
+    terminating: bool = False
+    paths: list[str] | None = field(default_factory=lambda: ["*"])
+    path_hash_prefixes: list[str] | None = None
+
+
+@dataclass
+class TestTarget:
+    rolename: str
+    content: bytes
+    targetpath: str
+
+
+@dataclass
+class DelegationsTestCase:
+    """A delegations graph as lists of delegations and target files
+    and the expected order of traversal as a list of role names."""
+
+    delegations: list[TestDelegation]
+    target_files: list[TestTarget] = field(default_factory=list)
+    visited_order: list[str] = field(default_factory=list)
+
+
+@dataclass
+class TargetTestCase:
+    targetpath: str
+    found: bool
+    visited_order: list[str] = field(default_factory=list)
+
+
+class TestDelegations(unittest.TestCase):
+    """Base class for delegation tests"""
+
+    # set dump_dir to trigger repository state dumps
+    dump_dir: str | None = None
+
+    def setUp(self) -> None:
+        self.subtest_count = 0
+        self.temp_dir = tempfile.TemporaryDirectory()
+        self.metadata_dir = os.path.join(self.temp_dir.name, "metadata")
+        self.targets_dir = os.path.join(self.temp_dir.name, "targets")
+        os.mkdir(self.metadata_dir)
+        os.mkdir(self.targets_dir)
+        self.sim: RepositorySimulator
+
+    def tearDown(self) -> None:
+        self.temp_dir.cleanup()
+
+    def setup_subtest(self) -> None:
+        self.subtest_count += 1
+        if self.dump_dir is not None:
+            # create subtest dumpdir
+            name = f"{self.id().split('.')[-1]}-{self.subtest_count}"
+            self.sim.dump_dir = os.path.join(self.dump_dir, name)
+            os.mkdir(self.sim.dump_dir)
+            # dump the repo simulator metadata
+            self.sim.write()
+
+    def teardown_subtest(self) -> None:
+        utils.cleanup_metadata_dir(self.metadata_dir)
+
+    def _init_repo(self, test_case: DelegationsTestCase) -> None:
+        """Create a new RepositorySimulator instance and
+        populate it with delegations and target files"""
+
+        self.sim = RepositorySimulator()
+        spec_version = ".".join(SPECIFICATION_VERSION)
+        for d in test_case.delegations:
+            if d.rolename in self.sim.md_delegates:
+                targets = self.sim.md_delegates[d.rolename].signed
+            else:
+                targets = Targets(
+                    1, spec_version, self.sim.safe_expiry, {}, None
+                )
+            # unpack 'd' but skip "delegator"
+            role = DelegatedRole(*astuple(d)[1:])
+            self.sim.add_delegation(d.delegator, role, targets)
+
+        for target in test_case.target_files:
+            self.sim.add_target(*astuple(target))
+
+        if test_case.target_files:
+            self.sim.targets.version += 1
+        self.sim.update_snapshot()
+
+    def _init_updater(self) -> Updater:
+        """Create a new Updater instance"""
+        # Init trusted root for Updater
+        with open(os.path.join(self.metadata_dir, "root.json"), "bw") as f:
+            f.write(self.sim.signed_roots[0])
+
+        return Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            self.targets_dir,
+            "https://example.com/targets/",
+            self.sim,
+        )
+
+    def _assert_files_exist(self, roles: Iterable[str]) -> None:
+        """Assert that local metadata files match 'roles'"""
+        expected_files = [f"{role}.json" for role in roles]
+        found_files = [
+            e.name for e in os.scandir(self.metadata_dir) if e.is_file()
+        ]
+
+        self.assertListEqual(sorted(found_files), sorted(expected_files))
+
+
+class TestDelegationsGraphs(TestDelegations):
+    """Test creating delegations graphs with different complexity
+    and successfully updating the delegated roles metadata"""
+
+    graphs = {
+        "basic delegation": DelegationsTestCase(
+            delegations=[TestDelegation("targets", "A")],
+            visited_order=["A"],
+        ),
+        "single level delegations": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+            ],
+            visited_order=["A", "B"],
+        ),
+        "two-level delegations": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("B", "C"),
+            ],
+            visited_order=["A", "B", "C"],
+        ),
+        "two-level test DFS order of traversal": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C"),
+                TestDelegation("A", "D"),
+            ],
+            visited_order=["A", "C", "D", "B"],
+        ),
+        "three-level delegation test DFS order of traversal": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C"),
+                TestDelegation("C", "D"),
+            ],
+            visited_order=["A", "C", "D", "B"],
+        ),
+        "two-level terminating ignores all but role's descendants": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C", terminating=True),
+                TestDelegation("A", "D"),
+            ],
+            visited_order=["A", "C"],
+        ),
+        "three-level terminating ignores all but role's descendants": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C", terminating=True),
+                TestDelegation("C", "D"),
+            ],
+            visited_order=["A", "C", "D"],
+        ),
+        "two-level ignores all branches not matching 'paths'": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A", paths=["*.py"]),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C"),
+            ],
+            visited_order=["B"],
+        ),
+        "three-level ignores all branches not matching 'paths'": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("A", "C", paths=["*.py"]),
+                TestDelegation("C", "D"),
+            ],
+            visited_order=["A", "B"],
+        ),
+        "cyclic graph": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("B", "C"),
+                TestDelegation("C", "D"),
+                TestDelegation("D", "B"),
+            ],
+            visited_order=["A", "B", "C", "D"],
+        ),
+        "two roles delegating to a third": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("B", "C"),
+                TestDelegation("A", "C"),
+            ],
+            # Under all same conditions, 'C' is reached through 'A' first"
+            visited_order=["A", "C", "B"],
+        ),
+        "two roles delegating to a third different 'paths'": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("B", "C"),
+                TestDelegation("A", "C", paths=["*.py"]),
+            ],
+            # 'C' is reached through 'B' since 'A' does not delegate a matching pattern"
+            visited_order=["A", "B", "C"],
+        ),
+        "max number of delegations": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "A"),
+                TestDelegation("targets", "B"),
+                TestDelegation("targets", "C"),
+                TestDelegation("C", "D"),
+                TestDelegation("C", "E"),
+            ],
+            # "E" is skipped, max_delegations is 4
+            visited_order=["A", "B", "C", "D"],
+        ),
+    }
+
+    @utils.run_sub_tests_with_dataset(graphs)
+    def test_graph_traversal(self, test_data: DelegationsTestCase) -> None:
+        """Test that delegated roles are traversed in the order of appearance
+        in the delegator's metadata, using pre-order depth-first search"""
+
+        try:
+            exp_files = [*TOP_LEVEL_ROLE_NAMES, *test_data.visited_order]
+            exp_calls = [(role, 1) for role in test_data.visited_order]
+
+            self._init_repo(test_data)
+            self.setup_subtest()
+
+            updater = self._init_updater()
+            # restrict the max number of delegations to simplify the test
+            updater.config.max_delegations = 4
+            # Call explicitly refresh to simplify the expected_calls list
+            updater.refresh()
+            self.sim.fetch_tracker.metadata.clear()
+            # Check that metadata dir contains only top-level roles
+            self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+
+            # Looking for a non-existing targetpath forces updater
+            # to visit all possible delegated roles
+            targetfile = updater.get_targetinfo("missingpath")
+            self.assertIsNone(targetfile)
+            # Check that the delegated roles were visited in the expected
+            # order and the corresponding metadata files were persisted
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            self._assert_files_exist(exp_files)
+        finally:
+            self.teardown_subtest()
+
+    invalid_metadata = {
+        "unsigned delegated role": DelegationsTestCase(
+            delegations=[
+                TestDelegation("targets", "invalid"),
+                TestDelegation("targets", "B"),
+                TestDelegation("invalid", "C"),
+            ],
+            # The traversal stops after visiting an invalid role
+            visited_order=["invalid"],
+        )
+    }
+
+    @utils.run_sub_tests_with_dataset(invalid_metadata)
+    def test_invalid_metadata(self, test_data: DelegationsTestCase) -> None:
+        try:
+            self._init_repo(test_data)
+            # The invalid role is the last visited
+            invalid_role = test_data.visited_order[-1]
+            self.sim.signers[invalid_role].clear()
+
+            self.setup_subtest()
+            # The invalid role metadata must not be persisted
+            exp_files = [*TOP_LEVEL_ROLE_NAMES, *test_data.visited_order[:-1]]
+            exp_calls = [(role, 1) for role in test_data.visited_order]
+
+            updater = self._init_updater()
+            # Call explicitly refresh to simplify the expected_calls list
+            updater.refresh()
+            self.sim.fetch_tracker.metadata.clear()
+
+            with self.assertRaises(UnsignedMetadataError):
+                updater.get_targetinfo("missingpath")
+            # Check that there were no visited roles after the invalid one
+            # and only the valid metadata files were persisted
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            self._assert_files_exist(exp_files)
+        finally:
+            self.teardown_subtest()
+
+    def test_safely_encoded_rolenames(self) -> None:
+        """Test that delegated roles names are safely encoded in the filenames
+        and URLs.
+        """
+
+        roles_to_filenames = {
+            "../a": "..%2Fa.json",
+            ".": "..json",
+            "/": "%2F.json",
+            "Ã¶": "%C3%B6.json",
+        }
+
+        delegations = []
+        for rolename in roles_to_filenames:
+            delegations.append(TestDelegation("targets", rolename))
+
+        delegated_rolenames = DelegationsTestCase(delegations)
+        self._init_repo(delegated_rolenames)
+        updater = self._init_updater()
+        updater.refresh()
+
+        # trigger updater to fetch the delegated metadata
+        self.sim.fetch_tracker.metadata.clear()
+        updater.get_targetinfo("anything")
+
+        # assert that local delegated metadata filenames are expected
+        local_metadata = os.listdir(self.metadata_dir)
+        for fname in roles_to_filenames.values():
+            self.assertTrue(fname in local_metadata)
+
+        # assert that requested URLs are quoted without extension
+        exp_calls = [(quoted[:-5], 1) for quoted in roles_to_filenames.values()]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+
+    hash_bins_graph = {
+        "delegations": DelegationsTestCase(
+            delegations=[
+                TestDelegation(
+                    "targets",
+                    "role1",
+                    paths=None,
+                    path_hash_prefixes=["8", "9", "a", "b"],
+                ),
+                TestDelegation(
+                    "targets",
+                    "role2",
+                    paths=None,
+                    path_hash_prefixes=["0", "1", "2", "3"],
+                ),
+                TestDelegation(
+                    "targets",
+                    "role3",
+                    paths=None,
+                    path_hash_prefixes=["c", "d", "e", "f"],
+                ),
+            ],
+            visited_order=["role1", "role2", "role3"],
+        ),
+    }
+
+    @utils.run_sub_tests_with_dataset(hash_bins_graph)
+    def test_hash_bins_graph_traversal(
+        self, test_data: DelegationsTestCase
+    ) -> None:
+        """Test that delegated roles are traversed in the order of appearance
+        in the delegator's metadata, using pre-order depth-first search and that
+        they correctly refer to the corresponding hash bin prefixes"""
+
+        try:
+            exp_files = [*TOP_LEVEL_ROLE_NAMES, *test_data.visited_order]
+            exp_calls = [(role, 1) for role in test_data.visited_order]
+
+            self._init_repo(test_data)
+            self.setup_subtest()
+
+            updater = self._init_updater()
+            # Call explicitly refresh to simplify the expected_calls list
+            updater.refresh()
+            self.sim.fetch_tracker.metadata.clear()
+            # Check that metadata dir contains only top-level roles
+            self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+
+            # Looking for a non-existing targetpath forces updater
+            # to visit a correspondning delegated role
+            targetfile = updater.get_targetinfo("missingpath")
+            self.assertIsNone(targetfile)
+            targetfile = updater.get_targetinfo("othermissingpath")
+            self.assertIsNone(targetfile)
+            targetfile = updater.get_targetinfo("thirdmissingpath")
+            self.assertIsNone(targetfile)
+            # Check that the delegated roles were visited in the expected
+            # order and the corresponding metadata files were persisted
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            self._assert_files_exist(exp_files)
+        finally:
+            self.teardown_subtest()
+
+    @dataclass
+    class SuccinctRolesTestCase:
+        bit_length: int
+        target_path: str
+        expected_target_bin: str
+
+    # By setting the bit_length the total number of bins is 2^bit_length.
+    # In each test case target_path is a path to a random target we want to
+    # fetch and expected_target_bin is the bin we are expecting to visit.
+    succinct_bins_graph = {
+        "bin amount = 2, target bin index 0": SuccinctRolesTestCase(
+            bit_length=1,
+            target_path="boo",
+            expected_target_bin="bin-0",
+        ),
+        "bin amount = 2, target bin index 1": SuccinctRolesTestCase(
+            bit_length=1,
+            target_path="too",
+            expected_target_bin="bin-1",
+        ),
+        "bin amount = 4, target bin index 0": SuccinctRolesTestCase(
+            bit_length=2,
+            target_path="foo",
+            expected_target_bin="bin-0",
+        ),
+        "bin amount = 4, target bin index 1": SuccinctRolesTestCase(
+            bit_length=2,
+            target_path="doo",
+            expected_target_bin="bin-1",
+        ),
+        "bin amount = 4, target bin index 2": SuccinctRolesTestCase(
+            bit_length=2,
+            target_path="too",
+            expected_target_bin="bin-2",
+        ),
+        "bin amount = 4, target bin index 3": SuccinctRolesTestCase(
+            bit_length=2,
+            target_path="bar",
+            expected_target_bin="bin-3",
+        ),
+        "bin amount = 256, target bin index fc": SuccinctRolesTestCase(
+            bit_length=8,
+            target_path="bar",
+            expected_target_bin="bin-fc",
+        ),
+    }
+
+    @utils.run_sub_tests_with_dataset(succinct_bins_graph)
+    def test_succinct_roles_graph_traversal(
+        self, test_data: SuccinctRolesTestCase
+    ) -> None:
+        # Test traversing the delegation tree when succinct roles is used. For a
+        # successful traversal all top level metadata files plus the expected
+        # bin should exist locally and only one bin must be downloaded.
+
+        try:
+            exp_files = [*TOP_LEVEL_ROLE_NAMES, test_data.expected_target_bin]
+            exp_calls = [(test_data.expected_target_bin, 1)]
+
+            self.sim = RepositorySimulator()
+            self.sim.add_succinct_roles("targets", test_data.bit_length, "bin")
+            self.sim.update_snapshot()
+
+            self.setup_subtest()
+
+            updater = self._init_updater()
+            # Call explicitly refresh to simplify the expected_calls list.
+            updater.refresh()
+            self.sim.fetch_tracker.metadata.clear()
+            # Check that metadata dir contains only top-level roles
+            self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+
+            # Looking for a non-existing targetpath forces updater
+            # to visit a corresponding delegated role.
+            targetfile = updater.get_targetinfo(test_data.target_path)
+            self.assertIsNone(targetfile)
+
+            # Check that the delegated roles were visited in the expected
+            # order and the corresponding metadata files were persisted.
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            self._assert_files_exist(exp_files)
+
+        finally:
+            self.teardown_subtest()
+
+
+class TestTargetFileSearch(TestDelegations):
+    r"""
+    Create a single repository with the following delegations:
+
+              targets
+    *.doc, *md / \ release/*/*
+              A   B
+     release/x/* / \ release/y/*.zip
+                C   D
+
+    Test that Updater successfully finds the target files metadata,
+    traversing the delegations as expected.
+    """
+
+    delegations_tree = DelegationsTestCase(
+        delegations=[
+            TestDelegation("targets", "A", paths=["*.doc", "*.md"]),
+            TestDelegation("targets", "B", paths=["releases/*/*"]),
+            TestDelegation("B", "C", paths=["releases/x/*"]),
+            TestDelegation("B", "D", paths=["releases/y/*.zip"]),
+        ],
+        target_files=[
+            TestTarget("targets", b"targetfile content", "targetfile"),
+            TestTarget("A", b"README by A", "README.md"),
+            TestTarget("C", b"x release by C", "releases/x/x_v1"),
+            TestTarget("D", b"y release by D", "releases/y/y_v1.zip"),
+            TestTarget("D", b"z release by D", "releases/z/z_v1.zip"),
+        ],
+    )
+
+    def setUp(self) -> None:
+        super().setUp()
+        self._init_repo(self.delegations_tree)
+
+    # fmt: off
+    targets = {
+        "no delegations":
+            TargetTestCase("targetfile", True, []),
+        "targetpath matches wildcard":
+            TargetTestCase("README.md", True, ["A"]),
+        "targetpath with separators x":
+            TargetTestCase("releases/x/x_v1", True, ["B", "C"]),
+        "targetpath with separators y":
+            TargetTestCase("releases/y/y_v1.zip", True, ["B", "D"]),
+        "targetpath is not delegated by all roles in the chain":
+            TargetTestCase("releases/z/z_v1.zip", False, ["B"]),
+    }
+    # fmt: on
+
+    @utils.run_sub_tests_with_dataset(targets)
+    def test_targetfile_search(self, test_data: TargetTestCase) -> None:
+        try:
+            self.setup_subtest()
+            exp_files = [*TOP_LEVEL_ROLE_NAMES, *test_data.visited_order]
+            exp_calls = [(role, 1) for role in test_data.visited_order]
+            exp_target = self.sim.target_files[test_data.targetpath].target_file
+
+            updater = self._init_updater()
+            # Call explicitly refresh to simplify the expected_calls list
+            updater.refresh()
+            self.sim.fetch_tracker.metadata.clear()
+            target = updater.get_targetinfo(test_data.targetpath)
+            if target is not None:
+                # Confirm that the expected TargetFile is found
+                self.assertTrue(test_data.found)
+                self.assertDictEqual(target.to_dict(), exp_target.to_dict())
+            else:
+                self.assertFalse(test_data.found)
+            # Check that the delegated roles were visited in the expected
+            # order and the corresponding metadata files were persisted
+            self.assertListEqual(self.sim.fetch_tracker.metadata, exp_calls)
+            self._assert_files_exist(exp_files)
+        finally:
+            self.teardown_subtest()
+
+
+if __name__ == "__main__":
+    if "--dump" in sys.argv:
+        TestDelegations.dump_dir = tempfile.mkdtemp()
+        print(f"Repository Simulator dumps in {TestDelegations.dump_dir}")
+        sys.argv.remove("--dump")
+
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_fetch_target.py b/tests/test_updater_fetch_target.py
new file mode 100644
index 0000000000..5ab8567032
--- /dev/null
+++ b/tests/test_updater_fetch_target.py
@@ -0,0 +1,232 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test 'Fetch target' from 'Detailed client workflow' as well as
+target files storing/loading from cache.
+"""
+
+from __future__ import annotations
+
+import os
+import sys
+import tempfile
+import unittest
+from dataclasses import dataclass
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tuf.api.exceptions import RepositoryError
+from tuf.api.metadata import DelegatedRole, Delegations
+from tuf.ngclient import Updater
+
+
+@dataclass
+class TestTarget:
+    path: str
+    content: bytes
+    encoded_path: str
+
+
+class TestFetchTarget(unittest.TestCase):
+    """Test ngclient downloading and caching target files."""
+
+    # set dump_dir to trigger repository state dumps
+    dump_dir: str | None = None
+
+    def setUp(self) -> None:
+        self.temp_dir = tempfile.TemporaryDirectory()
+        self.metadata_dir = os.path.join(self.temp_dir.name, "metadata")
+        self.targets_dir = os.path.join(self.temp_dir.name, "targets")
+        os.mkdir(self.metadata_dir)
+        os.mkdir(self.targets_dir)
+
+        # Setup the repository, bootstrap client root.json
+        self.sim = RepositorySimulator()
+        with open(os.path.join(self.metadata_dir, "root.json"), "bw") as f:
+            f.write(self.sim.signed_roots[0])
+
+        if self.dump_dir is not None:
+            # create test specific dump directory
+            name = self.id().split(".")[-1]
+            self.sim.dump_dir = os.path.join(self.dump_dir, name)
+            os.mkdir(self.sim.dump_dir)
+
+    def tearDown(self) -> None:
+        self.temp_dir.cleanup()
+
+    def _init_updater(self) -> Updater:
+        """Creates a new updater instance."""
+        if self.sim.dump_dir is not None:
+            self.sim.write()
+
+        return Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            self.targets_dir,
+            "https://example.com/targets/",
+            self.sim,
+        )
+
+    targets = {
+        "standard case": TestTarget(
+            path="targetpath",
+            content=b"target content",
+            encoded_path="targetpath",
+        ),
+        "non-asci case": TestTarget(
+            path="Ã¥Ã¤Ã¶",
+            content=b"more content",
+            encoded_path="%C3%A5%C3%A4%C3%B6",
+        ),
+        "subdirectory case": TestTarget(
+            path="a/b/c/targetpath",
+            content=b"dir target content",
+            encoded_path="a%2Fb%2Fc%2Ftargetpath",
+        ),
+    }
+
+    @utils.run_sub_tests_with_dataset(targets)
+    def test_fetch_target(self, target: TestTarget) -> None:
+        path = os.path.join(self.targets_dir, target.encoded_path)
+
+        updater = self._init_updater()
+        # target does not exist yet
+        self.assertIsNone(updater.get_targetinfo(target.path))
+
+        # Add targets to repository
+        self.sim.targets.version += 1
+        self.sim.add_target("targets", target.content, target.path)
+        self.sim.update_snapshot()
+
+        updater = self._init_updater()
+        # target now exists, is not in cache yet
+        info = updater.get_targetinfo(target.path)
+        assert info is not None
+        # Test without and with explicit local filepath
+        self.assertIsNone(updater.find_cached_target(info))
+        self.assertIsNone(updater.find_cached_target(info, path))
+
+        # download target, assert it is in cache and content is correct
+        self.assertEqual(path, updater.download_target(info))
+        self.assertEqual(path, updater.find_cached_target(info))
+        self.assertEqual(path, updater.find_cached_target(info, path))
+
+        with open(path, "rb") as f:
+            self.assertEqual(f.read(), target.content)
+
+        # download using explicit filepath as well
+        os.remove(path)
+        self.assertEqual(path, updater.download_target(info, path))
+        self.assertEqual(path, updater.find_cached_target(info))
+        self.assertEqual(path, updater.find_cached_target(info, path))
+
+    def test_download_targets_with_succinct_roles(self) -> None:
+        self.sim.add_succinct_roles("targets", 8, "bin")
+        self.sim.update_snapshot()
+
+        assert self.sim.targets.delegations is not None
+        assert self.sim.targets.delegations.succinct_roles is not None
+        succinct_roles = self.sim.targets.delegations.succinct_roles
+
+        # Add lots of targets with unique data to imitate a real repository.
+        for i in range(20):
+            target_name = f"target-{i}"
+            target_bin = succinct_roles.get_role_for_target(target_name)
+            self.sim.add_target(
+                target_bin, bytes(target_name, "utf-8"), target_name
+            )
+
+        # download each target
+        updater = self._init_updater()
+        for i in range(20):
+            target_name = f"target-{i}"
+
+            # Verify that the target info was successfully found.
+            target_info = updater.get_targetinfo(target_name)
+            assert target_info is not None
+            target_full_path = updater.download_target(target_info)
+
+            # Verify that the target content is the same as the target name.
+            with open(target_full_path, encoding="utf-8") as target:
+                self.assertEqual(target.read(), target_name)
+
+    def test_invalid_target_download(self) -> None:
+        target = TestTarget("targetpath", b"content", "targetpath")
+
+        # Add target to repository
+        self.sim.targets.version += 1
+        self.sim.add_target("targets", target.content, target.path)
+        self.sim.update_snapshot()
+
+        updater = self._init_updater()
+        info = updater.get_targetinfo(target.path)
+        assert info is not None
+
+        # Corrupt the file content to not match the hash
+        self.sim.target_files[target.path].data = b"conten@"
+        with self.assertRaises(RepositoryError):
+            updater.download_target(info)
+
+        # Corrupt the file content to not match the length
+        self.sim.target_files[target.path].data = b"cont"
+        with self.assertRaises(RepositoryError):
+            updater.download_target(info)
+
+        # Verify the file is not persisted in cache
+        self.assertIsNone(updater.find_cached_target(info))
+
+    def test_invalid_target_cache(self) -> None:
+        target = TestTarget("targetpath", b"content", "targetpath")
+
+        # Add target to repository
+        self.sim.targets.version += 1
+        self.sim.add_target("targets", target.content, target.path)
+        self.sim.update_snapshot()
+
+        # Download the target
+        updater = self._init_updater()
+        info = updater.get_targetinfo(target.path)
+        assert info is not None
+        path = updater.download_target(info)
+        self.assertEqual(path, updater.find_cached_target(info))
+
+        # Add newer content to the same targetpath
+        target.content = b"contentv2"
+        self.sim.targets.version += 1
+        self.sim.add_target("targets", target.content, target.path)
+        self.sim.update_snapshot()
+
+        # Newer content is detected, old cached version is not used
+        updater = self._init_updater()
+        info = updater.get_targetinfo(target.path)
+        assert info is not None
+        self.assertIsNone(updater.find_cached_target(info))
+
+        # Download target, assert it is in cache and content is the newer
+        path = updater.download_target(info)
+        self.assertEqual(path, updater.find_cached_target(info))
+        with open(path, "rb") as f:
+            self.assertEqual(f.read(), target.content)
+
+    def test_meta_missing_delegated_role(self) -> None:
+        """Test a delegation where the role is not part of the snapshot"""
+
+        # Add new delegation, update snapshot. Do not add the actual role
+        role = DelegatedRole("role1", [], 1, True, ["*"])
+        self.sim.targets.delegations = Delegations({}, roles={role.name: role})
+        self.sim.update_snapshot()
+
+        # assert that RepositoryError is raised when role1 is needed
+        updater = self._init_updater()
+        with self.assertRaises(RepositoryError):
+            updater.get_targetinfo("")
+
+
+if __name__ == "__main__":
+    if "--dump" in sys.argv:
+        TestFetchTarget.dump_dir = tempfile.mkdtemp()
+        print(f"Repository Simulator dumps in {TestFetchTarget.dump_dir}")
+        sys.argv.remove("--dump")
+
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_key_rotations.py b/tests/test_updater_key_rotations.py
new file mode 100644
index 0000000000..f79c3dd997
--- /dev/null
+++ b/tests/test_updater_key_rotations.py
@@ -0,0 +1,283 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test ngclient Updater key rotation handling"""
+
+from __future__ import annotations
+
+import os
+import sys
+import tempfile
+import unittest
+from dataclasses import dataclass
+from typing import ClassVar
+
+from securesystemslib.signer import CryptoSigner, Signer
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tests.utils import run_sub_tests_with_dataset
+from tuf.api.exceptions import UnsignedMetadataError
+from tuf.api.metadata import Key, Root
+from tuf.ngclient import Updater
+
+
+@dataclass
+class MdVersion:
+    keys: list[int]
+    threshold: int
+    sigs: list[int]
+    res: type[Exception] | None = None
+
+
+class TestUpdaterKeyRotations(unittest.TestCase):
+    """Test ngclient root rotation handling"""
+
+    # set dump_dir to trigger repository state dumps
+    dump_dir: str | None = None
+    temp_dir: ClassVar[tempfile.TemporaryDirectory]
+    keys: ClassVar[list[Key]]
+    signers: ClassVar[list[Signer]]
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        cls.temp_dir = tempfile.TemporaryDirectory()
+
+        # Pre-create a bunch of keys and signers
+        cls.signers = []
+        for _ in range(10):
+            signer = CryptoSigner.generate_ed25519()
+            cls.signers.append(signer)
+
+    @classmethod
+    def tearDownClass(cls) -> None:
+        cls.temp_dir.cleanup()
+
+    def setup_subtest(self) -> None:
+        # Setup repository for subtest: make sure no roots have been published
+        self.sim = RepositorySimulator()
+        self.sim.signed_roots.clear()
+        self.sim.root.version = 0
+
+        if self.dump_dir is not None:
+            # create subtest dumpdir
+            name = f"{self.id().split('.')[-1]}-{self.case_name}"
+            self.sim.dump_dir = os.path.join(self.dump_dir, name)
+            os.mkdir(self.sim.dump_dir)
+
+    def _run_refresh(self) -> None:
+        """Create new updater, run refresh"""
+        if self.sim.dump_dir is not None:
+            self.sim.write()
+
+        # bootstrap with initial root
+        self.metadata_dir = tempfile.mkdtemp(dir=self.temp_dir.name)
+        with open(os.path.join(self.metadata_dir, "root.json"), "bw") as f:
+            f.write(self.sim.signed_roots[0])
+
+        updater = Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            fetcher=self.sim,
+        )
+        updater.refresh()
+
+    # fmt: off
+    root_rotation_cases = {
+        "1-of-1 key rotation": [
+            MdVersion(keys=[1], threshold=1, sigs=[1]),
+            MdVersion(keys=[2], threshold=1, sigs=[2, 1]),
+            MdVersion(keys=[2], threshold=1, sigs=[2]),
+        ],
+        "1-of-1 key rotation, unused signatures": [
+            MdVersion(keys=[1], threshold=1, sigs=[3, 1, 4]),
+            MdVersion(keys=[2], threshold=1, sigs=[3, 2, 1, 4]),
+            MdVersion(keys=[2], threshold=1, sigs=[3, 2, 4]),
+        ],
+        "1-of-1 key rotation fail: not signed with old key": [
+            MdVersion(keys=[1], threshold=1, sigs=[1]),
+            MdVersion(keys=[2], threshold=1, sigs=[2, 3, 4], res=UnsignedMetadataError),
+        ],
+        "1-of-1 key rotation fail: not signed with new key": [
+            MdVersion(keys=[1], threshold=1, sigs=[1]),
+            MdVersion(keys=[2], threshold=1, sigs=[1, 3, 4], res=UnsignedMetadataError),
+        ],
+        "3-of-5, sign with different keycombos": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 4, 1]),
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 1, 3]),
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 1, 3]),
+        ],
+        "3-of-5, one key rotated": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 4, 1]),
+        ],
+        "3-of-5, one key rotate fails: not signed with 3 new keys": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 2, 4], res=UnsignedMetadataError),
+        ],
+        "3-of-5, one key rotate fails: not signed with 3 old keys": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 4, 5], res=UnsignedMetadataError),
+        ],
+        "3-of-5, one key rotated, with intermediate step": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 2, 4, 5]),
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 4, 5]),
+        ],
+        "3-of-5, all keys rotated, with intermediate step": [
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+            MdVersion(keys=[5, 6, 7, 8, 9], threshold=3, sigs=[0, 2, 4, 5, 6, 7]),
+            MdVersion(keys=[5, 6, 7, 8, 9], threshold=3, sigs=[5, 6, 7]),
+        ],
+        "1-of-3 threshold increase to 2-of-3": [
+            MdVersion(keys=[1, 2, 3], threshold=1, sigs=[1]),
+            MdVersion(keys=[1, 2, 3], threshold=2, sigs=[1, 2]),
+        ],
+        "1-of-3 threshold bump to 2-of-3 fails: new threshold not reached": [
+            MdVersion(keys=[1, 2, 3], threshold=1, sigs=[1]),
+            MdVersion(keys=[1, 2, 3], threshold=2, sigs=[2], res=UnsignedMetadataError),
+        ],
+        "2-of-3 threshold decrease to 1-of-3": [
+            MdVersion(keys=[1, 2, 3], threshold=2, sigs=[1, 2]),
+            MdVersion(keys=[1, 2, 3], threshold=1, sigs=[1, 2]),
+            MdVersion(keys=[1, 2, 3], threshold=1, sigs=[1]),
+        ],
+        "2-of-3 threshold decr. to 1-of-3 fails: old threshold not reached": [
+            MdVersion(keys=[1, 2, 3], threshold=2, sigs=[1, 2]),
+            MdVersion(keys=[1, 2, 3], threshold=1, sigs=[1], res=UnsignedMetadataError),
+        ],
+        "1-of-2 threshold increase to 2-of-2": [
+            MdVersion(keys=[1], threshold=1, sigs=[1]),
+            MdVersion(keys=[1, 2], threshold=2, sigs=[1, 2]),
+        ],
+    }
+    # fmt: on
+
+    @run_sub_tests_with_dataset(root_rotation_cases)
+    def test_root_rotation(self, root_versions: list[MdVersion]) -> None:
+        """Test Updater.refresh() with various sequences of root updates
+
+        Each MdVersion in the list describes root keys and signatures of a
+        remote root metadata version. As an example:
+            MdVersion([1,2,3], 2, [1,2])
+        defines a root that contains keys 1, 2 and 3 with threshold 2. The
+        metadata is signed with keys 1 and 2.
+
+        Assert that refresh() result is expected and that local root on disk is
+        the expected one after all roots have been loaded from remote using the
+        standard client update workflow.
+        """
+        self.setup_subtest()
+
+        # Publish all remote root versions defined in root_versions
+        for rootver in root_versions:
+            # clear root keys, signers
+            self.sim.root.roles[Root.type].keyids.clear()
+            self.sim.signers[Root.type].clear()
+
+            self.sim.root.roles[Root.type].threshold = rootver.threshold
+            for i in rootver.keys:
+                self.sim.root.add_key(self.signers[i].public_key, Root.type)
+            for i in rootver.sigs:
+                self.sim.add_signer(Root.type, self.signers[i])
+            self.sim.root.version += 1
+            self.sim.publish_root()
+
+        # run client workflow, assert success/failure
+        expected_error = root_versions[-1].res
+        if expected_error is None:
+            self._run_refresh()
+            expected_local_root = self.sim.signed_roots[-1]
+        else:
+            # failure expected: local root should be the root before last
+            with self.assertRaises(expected_error):
+                self._run_refresh()
+            expected_local_root = self.sim.signed_roots[-2]
+
+        # assert local root on disk is expected
+        with open(os.path.join(self.metadata_dir, "root.json"), "rb") as f:
+            self.assertEqual(f.read(), expected_local_root)
+
+    # fmt: off
+    non_root_rotation_cases: dict[str, MdVersion] = {
+        "1-of-1 key rotation":
+            MdVersion(keys=[2], threshold=1, sigs=[2]),
+        "1-of-1 key rotation, unused signatures":
+            MdVersion(keys=[1], threshold=1, sigs=[3, 1, 4]),
+        "1-of-1 key rotation fail: not signed with new key":
+            MdVersion(keys=[2], threshold=1, sigs=[1, 3, 4], res=UnsignedMetadataError),
+        "3-of-5, one key signature wrong: not signed with 3 expected keys":
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 2, 4], res=UnsignedMetadataError),
+        "2-of-5, one key signature missing: threshold not reached":
+            MdVersion(keys=[0, 1, 3, 4, 5], threshold=3, sigs=[0, 4], res=UnsignedMetadataError),
+        "3-of-5, sign first combo":
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 2, 4]),
+        "3-of-5, sign second combo":
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 4, 1]),
+        "3-of-5, sign third combo":
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[0, 1, 3]),
+        "3-of-5, sign fourth combo":
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[1, 2, 3]),
+        "3-of-5, sign fifth combo":
+            MdVersion(keys=[0, 1, 2, 3, 4], threshold=3, sigs=[2, 3, 4]),
+    }
+    # fmt: on
+
+    @run_sub_tests_with_dataset(non_root_rotation_cases)
+    def test_non_root_rotations(self, md_version: MdVersion) -> None:
+        """Test Updater.refresh() with various sequences of metadata updates
+
+        Each MdVersion in the list describes metadata keys and signatures
+        of a remote metadata version. As an example:
+            MdVersion([1,2,3], 2, [1,2])
+        defines a metadata that contains keys 1, 2 and 3 with threshold 2. The
+        metadata is signed with keys 1 and 2.
+
+        Assert that refresh() result is expected and that local metadata on disk
+        is the expected one after all roots have been loaded from remote using
+        the standard client update workflow.
+        """
+        self.setup_subtest()
+        roles = ["timestamp", "snapshot", "targets"]
+        for role in roles:
+            # clear role keys, signers
+            self.sim.root.roles[role].keyids.clear()
+            self.sim.signers[role].clear()
+
+            self.sim.root.roles[role].threshold = md_version.threshold
+            for i in md_version.keys:
+                self.sim.root.add_key(self.signers[i].public_key, role)
+
+            for i in md_version.sigs:
+                self.sim.add_signer(role, self.signers[i])
+
+            self.sim.root.version += 1
+            self.sim.publish_root()
+
+            # run client workflow, assert success/failure
+            expected_error = md_version.res
+            if expected_error is None:
+                self._run_refresh()
+
+                # Call fetch_metadata to sign metadata with new keys
+                expected_local_md: bytes = self.sim.fetch_metadata(role)
+                # assert local metadata role is on disk as expected
+                md_path = os.path.join(self.metadata_dir, f"{role}.json")
+                with open(md_path, "rb") as f:
+                    data = f.read()
+                    self.assertEqual(data, expected_local_md)
+            else:
+                # failure expected
+                with self.assertRaises(expected_error):
+                    self._run_refresh()
+
+
+if __name__ == "__main__":
+    if "--dump" in sys.argv:
+        TestUpdaterKeyRotations.dump_dir = tempfile.mkdtemp()
+        print(f"Repository dumps in {TestUpdaterKeyRotations.dump_dir}")
+        sys.argv.remove("--dump")
+
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_ng.py b/tests/test_updater_ng.py
new file mode 100644
index 0000000000..50ef5ee3be
--- /dev/null
+++ b/tests/test_updater_ng.py
@@ -0,0 +1,359 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test Updater class"""
+
+from __future__ import annotations
+
+import logging
+import os
+import shutil
+import sys
+import tempfile
+import unittest
+from collections.abc import Iterable
+from typing import TYPE_CHECKING, Callable, ClassVar
+from unittest.mock import MagicMock, patch
+
+from securesystemslib.signer import Signer
+
+from tests import utils
+from tuf.api import exceptions
+from tuf.api.metadata import (
+    Metadata,
+    Root,
+    Snapshot,
+    TargetFile,
+    Targets,
+    Timestamp,
+)
+from tuf.ngclient import Updater, UpdaterConfig
+
+if TYPE_CHECKING:
+    from collections.abc import Iterable
+
+logger = logging.getLogger(__name__)
+
+
+class TestUpdater(unittest.TestCase):
+    """Test the Updater class from 'tuf/ngclient/updater.py'."""
+
+    server_process_handler: ClassVar[utils.TestServerProcess]
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        cls.tmp_test_root_dir = tempfile.mkdtemp(dir=os.getcwd())
+
+        # Launch a SimpleHTTPServer
+        # Test cases will request metadata and target files that have been
+        # pre-generated in 'tuf/tests/repository_data', and are copied to
+        # CWD/tmp_test_root_dir/*
+        cls.server_process_handler = utils.TestServerProcess(log=logger)
+
+    @classmethod
+    def tearDownClass(cls) -> None:
+        # Cleans resources, flush the logged lines (if any) and remove test dir
+        cls.server_process_handler.clean()
+        shutil.rmtree(cls.tmp_test_root_dir)
+
+    def setUp(self) -> None:
+        # Create tmp test dir inside of tmp test root dir to independently serve
+        # new repository files for each test. We delete all tmp dirs at once in
+        # tearDownClass after the server has released all resources.
+        self.tmp_test_dir = tempfile.mkdtemp(dir=self.tmp_test_root_dir)
+
+        # Copy the original repository files provided in the test folder so that
+        # any modifications are restricted to the copies.
+        # The 'repository_data' directory is expected to exist in 'tuf.tests/'.
+        original_repository_files = os.path.join(
+            utils.TESTS_DIR, "repository_data"
+        )
+
+        original_repository = os.path.join(
+            original_repository_files, "repository"
+        )
+        original_keystore = os.path.join(original_repository_files, "keystore")
+        original_client = os.path.join(
+            original_repository_files,
+            "client",
+            "test_repository1",
+            "metadata",
+            "current",
+        )
+
+        # Save references to the often-needed client repository directories.
+        # Test cases need these references to access metadata and target files.
+        self.repository_directory = os.path.join(
+            self.tmp_test_dir, "repository"
+        )
+        self.keystore_directory = os.path.join(self.tmp_test_dir, "keystore")
+        self.client_directory = os.path.join(self.tmp_test_dir, "client")
+
+        # Copy the original 'repository', 'client', and 'keystore' directories
+        # to the temporary repository the test cases can use.
+        shutil.copytree(original_repository, self.repository_directory)
+        shutil.copytree(original_client, self.client_directory)
+        shutil.copytree(original_keystore, self.keystore_directory)
+
+        # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
+        repository_basepath = self.repository_directory[len(os.getcwd()) :]
+        url_prefix = (
+            "http://"
+            + utils.TEST_HOST_ADDRESS
+            + ":"
+            + str(self.server_process_handler.port)
+            + repository_basepath.replace("\\", "/")
+        )
+
+        self.metadata_url = f"{url_prefix}/metadata/"
+        self.targets_url = f"{url_prefix}/targets/"
+        self.dl_dir = tempfile.mkdtemp(dir=self.tmp_test_dir)
+        # Creating a repository instance.  The test cases will use this client
+        # updater to refresh metadata, fetch target files, etc.
+        self.updater = Updater(
+            metadata_dir=self.client_directory,
+            metadata_base_url=self.metadata_url,
+            target_dir=self.dl_dir,
+            target_base_url=self.targets_url,
+        )
+
+    def tearDown(self) -> None:
+        # Logs stdout and stderr from the sever subprocess.
+        self.server_process_handler.flush_log()
+
+    def _modify_repository_root(
+        self,
+        modification_func: Callable[[Metadata], None],
+        bump_version: bool = False,
+    ) -> None:
+        """Apply 'modification_func' to root and persist it."""
+        role_path = os.path.join(
+            self.repository_directory, "metadata", "root.json"
+        )
+        root = Metadata[Root].from_file(role_path)
+        modification_func(root)
+        if bump_version:
+            root.signed.version += 1
+        root_key_path = os.path.join(self.keystore_directory, "root_key")
+
+        uri = f"file2:{root_key_path}"
+        role = root.signed.get_delegated_role(Root.type)
+        key = root.signed.get_key(role.keyids[0])
+        signer = Signer.from_priv_key_uri(uri, key)
+
+        root.sign(signer)
+        root.to_file(
+            os.path.join(self.repository_directory, "metadata", "root.json")
+        )
+        root.to_file(
+            os.path.join(
+                self.repository_directory,
+                "metadata",
+                f"{root.signed.version}.root.json",
+            )
+        )
+
+    def _assert_files_exist(self, roles: Iterable[str]) -> None:
+        """Assert that local metadata files match 'roles'"""
+        expected_files = [f"{role}.json" for role in roles]
+        found_files = [
+            e.name for e in os.scandir(self.client_directory) if e.is_file()
+        ]
+
+        self.assertListEqual(sorted(found_files), sorted(expected_files))
+
+    def test_refresh_and_download(self) -> None:
+        # Test refresh without consistent targets - targets without hash prefix.
+
+        # top-level targets are already in local cache (but remove others)
+        os.remove(os.path.join(self.client_directory, "role1.json"))
+        os.remove(os.path.join(self.client_directory, "role2.json"))
+
+        # top-level metadata is in local directory already
+        self.updater.refresh()
+        self._assert_files_exist(
+            [Root.type, Snapshot.type, Targets.type, Timestamp.type]
+        )
+
+        # Get targetinfos, assert that cache does not contain files
+        info1 = self.updater.get_targetinfo("file1.txt")
+        assert isinstance(info1, TargetFile)
+        self._assert_files_exist(
+            [Root.type, Snapshot.type, Targets.type, Timestamp.type]
+        )
+
+        # Get targetinfo for 'file3.txt' listed in the delegated role1
+        info3 = self.updater.get_targetinfo("file3.txt")
+        assert isinstance(info3, TargetFile)
+        expected_files = [
+            "role1",
+            Root.type,
+            Snapshot.type,
+            Targets.type,
+            Timestamp.type,
+        ]
+        self._assert_files_exist(expected_files)
+        self.assertIsNone(self.updater.find_cached_target(info1))
+        self.assertIsNone(self.updater.find_cached_target(info3))
+
+        # Download files, assert that cache has correct files
+        self.updater.download_target(info1)
+        path = self.updater.find_cached_target(info1)
+        self.assertEqual(path, os.path.join(self.dl_dir, info1.path))
+        self.assertIsNone(self.updater.find_cached_target(info3))
+
+        self.updater.download_target(info3)
+        path = self.updater.find_cached_target(info1)
+        self.assertEqual(path, os.path.join(self.dl_dir, info1.path))
+        path = self.updater.find_cached_target(info3)
+        self.assertEqual(path, os.path.join(self.dl_dir, info3.path))
+
+    def test_refresh_with_only_local_root(self) -> None:
+        os.remove(os.path.join(self.client_directory, "timestamp.json"))
+        os.remove(os.path.join(self.client_directory, "snapshot.json"))
+        os.remove(os.path.join(self.client_directory, "targets.json"))
+        os.remove(os.path.join(self.client_directory, "role1.json"))
+        os.remove(os.path.join(self.client_directory, "role2.json"))
+        self._assert_files_exist([Root.type])
+
+        self.updater.refresh()
+        self._assert_files_exist(
+            [Root.type, Snapshot.type, Targets.type, Timestamp.type]
+        )
+
+        # Get targetinfo for 'file3.txt' listed in the delegated role1
+        self.updater.get_targetinfo("file3.txt")
+        expected_files = [
+            "role1",
+            Root.type,
+            Snapshot.type,
+            Targets.type,
+            Timestamp.type,
+        ]
+        self._assert_files_exist(expected_files)
+
+    def test_implicit_refresh_with_only_local_root(self) -> None:
+        os.remove(os.path.join(self.client_directory, "timestamp.json"))
+        os.remove(os.path.join(self.client_directory, "snapshot.json"))
+        os.remove(os.path.join(self.client_directory, "targets.json"))
+        os.remove(os.path.join(self.client_directory, "role1.json"))
+        os.remove(os.path.join(self.client_directory, "role2.json"))
+        self._assert_files_exist(["root"])
+
+        # Get targetinfo for 'file3.txt' listed in the delegated role1
+        self.updater.get_targetinfo("file3.txt")
+        expected_files = ["role1", "root", "snapshot", "targets", "timestamp"]
+        self._assert_files_exist(expected_files)
+
+    def test_both_target_urls_not_set(self) -> None:
+        # target_base_url = None and Updater._target_base_url = None
+        updater = Updater(self.client_directory, self.metadata_url, self.dl_dir)
+        info = TargetFile(1, {"sha256": ""}, "targetpath")
+        with self.assertRaises(ValueError):
+            updater.download_target(info)
+
+    def test_no_target_dir_no_filepath(self) -> None:
+        # filepath = None and Updater.target_dir = None
+        updater = Updater(self.client_directory, self.metadata_url)
+        info = TargetFile(1, {"sha256": ""}, "targetpath")
+        with self.assertRaises(ValueError):
+            updater.find_cached_target(info)
+        with self.assertRaises(ValueError):
+            updater.download_target(info)
+
+    def test_external_targets_url(self) -> None:
+        self.updater.refresh()
+        info = self.updater.get_targetinfo("file1.txt")
+        assert isinstance(info, TargetFile)
+
+        self.updater.download_target(info, target_base_url=self.targets_url)
+
+    def test_length_hash_mismatch(self) -> None:
+        self.updater.refresh()
+        targetinfo = self.updater.get_targetinfo("file1.txt")
+        assert isinstance(targetinfo, TargetFile)
+
+        length = targetinfo.length
+        with self.assertRaises(exceptions.RepositoryError):
+            targetinfo.length = 44
+            self.updater.download_target(targetinfo)
+
+        with self.assertRaises(exceptions.RepositoryError):
+            targetinfo.length = length
+            targetinfo.hashes = {"sha256": "abcd"}
+            self.updater.download_target(targetinfo)
+
+    def test_updating_root(self) -> None:
+        # Bump root version, resign and refresh
+        self._modify_repository_root(lambda _: None, bump_version=True)
+        self.updater.refresh()
+        self.assertEqual(self.updater._trusted_set.root.version, 2)
+
+    def test_missing_targetinfo(self) -> None:
+        self.updater.refresh()
+
+        # Get targetinfo for non-existing file
+        self.assertIsNone(self.updater.get_targetinfo("file33.txt"))
+
+    @patch.object(os, "replace", wraps=os.replace)
+    @patch.object(os, "remove", wraps=os.remove)
+    def test_persist_metadata_fails(
+        self, wrapped_remove: MagicMock, wrapped_replace: MagicMock
+    ) -> None:
+        # Testing that when write succeeds (the file is created) and replace
+        # fails by throwing OSError, then the file will be deleted.
+        wrapped_replace.side_effect = OSError()
+        with self.assertRaises(OSError):
+            self.updater._persist_metadata("target", b"data")
+
+        wrapped_replace.assert_called_once()
+        wrapped_remove.assert_called_once()
+
+        # Assert that the created tempfile during writing is eventually deleted
+        # or in other words, there is no temporary file left in the folder.
+        for filename in os.listdir(self.updater._dir):
+            self.assertFalse(filename.startswith("tmp"))
+
+    def test_invalid_target_base_url(self) -> None:
+        info = TargetFile(1, {"sha256": ""}, "targetpath")
+        with self.assertRaises(exceptions.DownloadError):
+            self.updater.download_target(
+                info, target_base_url="http://invalid/"
+            )
+
+    def test_non_existing_target_file(self) -> None:
+        info = TargetFile(1, {"sha256": ""}, "/non_existing_file.txt")
+        # When non-existing target file is given, download fails with
+        # "404 Client Error: File not found for url"
+        with self.assertRaises(exceptions.DownloadHTTPError):
+            self.updater.download_target(info)
+
+    def test_user_agent(self) -> None:
+        # test default
+        self.updater.refresh()
+        poolmgr = self.updater._fetcher._proxy_env.get_pool_manager(
+            "http", "localhost"
+        )
+        ua = poolmgr.headers["User-Agent"]
+        self.assertEqual(ua[:11], "python-tuf/")
+
+        # test custom UA
+        updater = Updater(
+            self.client_directory,
+            self.metadata_url,
+            self.dl_dir,
+            self.targets_url,
+            config=UpdaterConfig(app_user_agent="MyApp/1.2.3"),
+        )
+        updater.refresh()
+        poolmgr = updater._fetcher._proxy_env.get_pool_manager(
+            "http", "localhost"
+        )
+        ua = poolmgr.headers["User-Agent"]
+
+        self.assertEqual(ua[:23], "MyApp/1.2.3 python-tuf/")
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_root_rotation_integration.py b/tests/test_updater_root_rotation_integration.py
deleted file mode 100755
index a59e12de89..0000000000
--- a/tests/test_updater_root_rotation_integration.py
+++ /dev/null
@@ -1,692 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2016 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  test_updater_root_rotation_integration.py
-
-<Author>
-  Evan Cordell.
-
-<Started>
-  August 8, 2016.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  'test_updater_root_rotation.py' provides a collection of methods that test
-  root key rotation in the example client.
-
-<Methodology>
-  Test cases here should follow a specific order (i.e., independent methods are
-  tested before dependent methods). More accurately, least dependent methods
-  are tested before most dependent methods.  There is no reason to rewrite or
-  construct other methods that replicate already-tested methods solely for
-  testing purposes.  This is possible because the 'unittest.TestCase' class
-  guarantees the order of unit tests.  The 'test_something_A' method would
-  be tested before 'test_something_B'.  To ensure the expected order of tests,
-  a number is placed after 'test' and before methods name like so:
-  'test_1_check_directory'.  The number is a measure of dependence, where 1 is
-  less dependent than 2.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import shutil
-import tempfile
-import logging
-import unittest
-import filecmp
-import sys
-
-import tuf
-import tuf.log
-import tuf.keydb
-import tuf.roledb
-import tuf.exceptions
-import tuf.repository_tool as repo_tool
-import tuf.unittest_toolbox as unittest_toolbox
-import tuf.client.updater as updater
-import tuf.settings
-
-from tests import utils
-
-import securesystemslib
-import six
-
-logger = logging.getLogger(__name__)
-repo_tool.disable_console_log_messages()
-
-
-class TestUpdater(unittest_toolbox.Modified_TestCase):
-
-  @classmethod
-  def setUpClass(cls):
-    # Create a temporary directory to store the repository, metadata, and target
-    # files.  'temporary_directory' must be deleted in TearDownModule() so that
-    # temporary files are always removed, even when exceptions occur.
-    cls.temporary_directory = tempfile.mkdtemp(dir=os.getcwd())
-
-    # Launch a SimpleHTTPServer (serves files in the current directory).  Test
-    # cases will request metadata and target files that have been pre-generated
-    # in 'tuf/tests/repository_data', which will be served by the
-    # SimpleHTTPServer launched here.  The test cases of 'test_updater.py'
-    # assume the pre-generated metadata files have a specific structure, such
-    # as a delegated role 'targets/role1', three target files, five key files,
-    # etc.
-    cls.server_process_handler = utils.TestServerProcess(log=logger)
-
-
-
-
-  @classmethod
-  def tearDownClass(cls):
-    # Cleans the resources and flush the logged lines (if any).
-    cls.server_process_handler.clean()
-
-    # Remove the temporary repository directory, which should contain all the
-    # metadata, targets, and key files generated for the test cases.
-    shutil.rmtree(cls.temporary_directory)
-
-
-
-
-  def setUp(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.setUp(self)
-
-    self.repository_name = 'test_repository1'
-
-    # Copy the original repository files provided in the test folder so that
-    # any modifications made to repository files are restricted to the copies.
-    # The 'repository_data' directory is expected to exist in 'tuf.tests/'.
-    original_repository_files = os.path.join(os.getcwd(), 'repository_data')
-    temporary_repository_root = \
-      self.make_temp_directory(directory=self.temporary_directory)
-
-    # The original repository, keystore, and client directories will be copied
-    # for each test case.
-    original_repository = os.path.join(original_repository_files, 'repository')
-    original_keystore = os.path.join(original_repository_files, 'keystore')
-    original_client = os.path.join(original_repository_files, 'client')
-
-    # Save references to the often-needed client repository directories.
-    # Test cases need these references to access metadata and target files.
-    self.repository_directory = \
-      os.path.join(temporary_repository_root, 'repository')
-    self.keystore_directory = \
-      os.path.join(temporary_repository_root, 'keystore')
-    self.client_directory = os.path.join(temporary_repository_root, 'client')
-    self.client_metadata = os.path.join(self.client_directory,
-        self.repository_name, 'metadata')
-    self.client_metadata_current = os.path.join(self.client_metadata, 'current')
-    self.client_metadata_previous = os.path.join(self.client_metadata, 'previous')
-
-    # Copy the original 'repository', 'client', and 'keystore' directories
-    # to the temporary repository the test cases can use.
-    shutil.copytree(original_repository, self.repository_directory)
-    shutil.copytree(original_client, self.client_directory)
-    shutil.copytree(original_keystore, self.keystore_directory)
-
-    # 'path/to/tmp/repository' -> 'localhost:8001/tmp/repository'.
-    repository_basepath = self.repository_directory[len(os.getcwd()):]
-    url_prefix = 'http://localhost:' \
-        + str(self.server_process_handler.port) + repository_basepath
-
-    # Setting 'tuf.settings.repository_directory' with the temporary client
-    # directory copied from the original repository files.
-    tuf.settings.repositories_directory = self.client_directory
-
-    self.repository_mirrors = {'mirror1': {'url_prefix': url_prefix,
-                                           'metadata_path': 'metadata',
-                                           'targets_path': 'targets'}}
-
-    # Creating a repository instance.  The test cases will use this client
-    # updater to refresh metadata, fetch target files, etc.
-    self.repository_updater = updater.Updater(self.repository_name,
-                                              self.repository_mirrors)
-
-    # Metadata role keys are needed by the test cases to make changes to the
-    # repository (e.g., adding a new target file to 'targets.json' and then
-    # requesting a refresh()).
-    self.role_keys = _load_role_keys(self.keystore_directory)
-
-
-
-  def tearDown(self):
-    # We are inheriting from custom class.
-    unittest_toolbox.Modified_TestCase.tearDown(self)
-    tuf.roledb.clear_roledb(clear_all=True)
-    tuf.keydb.clear_keydb(clear_all=True)
-
-    # Logs stdout and stderr from the sever subprocess.
-    self.server_process_handler.flush_log()
-
-
-  # UNIT TESTS.
-  def test_root_rotation(self):
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.root.threshold = 2
-
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    # Errors, not enough signing keys to satisfy root's threshold.
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-
-    repository.root.add_verification_key(self.role_keys['role1']['public'])
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.root.load_signing_key(self.role_keys['role1']['private'])
-    repository.writeall()
-
-    repository.root.add_verification_key(self.role_keys['snapshot']['public'])
-    repository.root.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.root.threshold = 3
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-    self.repository_updater.refresh()
-
-
-
-  def test_verify_root_with_current_keyids_and_threshold(self):
-     """
-     Each root file is signed by the current root threshold of keys as well
-     as the previous root threshold of keys. Test that a root file which is
-     not 'self-signed' with the current root threshold of keys causes the
-     update to fail
-     """
-     # Load repository with root.json == 1.root.json (available on client)
-     # Signing key: "root", Threshold: 1
-     repository = repo_tool.load_repository(self.repository_directory)
-
-     # Rotate keys and update root: 1.root.json --> 2.root.json
-     # Signing key: "root" (previous) and "root2" (current)
-     # Threshold (for both): 1
-     repository.root.load_signing_key(self.role_keys['root']['private'])
-     repository.root.add_verification_key(self.role_keys['root2']['public'])
-     repository.root.load_signing_key(self.role_keys['root2']['private'])
-     # Remove the previous "root" key from the list of current
-     # verification keys
-     repository.root.remove_verification_key(self.role_keys['root']['public'])
-     repository.writeall()
-
-     # Move staged metadata to "live" metadata
-     shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-     shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-         os.path.join(self.repository_directory, 'metadata'))
-
-     # Intercept 2.root.json and tamper with "root2" (current) key signature
-     root2_path_live = os.path.join(
-         self.repository_directory, 'metadata', '2.root.json')
-     root2 = securesystemslib.util.load_json_file(root2_path_live)
-
-     for idx, sig in enumerate(root2['signatures']):
-       if sig['keyid'] == self.role_keys['root2']['public']['keyid']:
-         sig_len = len(root2['signatures'][idx]['sig'])
-         root2['signatures'][idx]['sig'] = "deadbeef".ljust(sig_len, '0')
-
-     roo2_fobj = tempfile.TemporaryFile()
-     roo2_fobj.write(tuf.repository_lib._get_written_metadata(root2))
-     securesystemslib.util.persist_temp_file(roo2_fobj, root2_path_live)
-
-     # Update 1.root.json -> 2.root.json
-     # Signature verification with current keys should fail because we replaced
-     with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-       self.repository_updater.refresh()
-
-     for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-       self.assertTrue(mirror_url.endswith('/2.root.json'))
-       self.assertTrue(isinstance(mirror_error,
-           securesystemslib.exceptions.BadSignatureError))
-
-     # Assert that the current 'root.json' on the client side is the verified one
-     self.assertTrue(filecmp.cmp(
-       os.path.join(self.repository_directory, 'metadata', '1.root.json'),
-       os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-
-
-  def test_verify_root_with_duplicate_current_keyids(self):
-     """
-     Each root file is signed by the current root threshold of keys as well
-     as the previous root threshold of keys. In each case, a keyid must only
-     count once towards the threshold. Test that the new root signatures
-     specific signature verification implemented in _verify_root_self_signed()
-     only counts one signature per keyid towards the threshold.
-     """
-     # Load repository with root.json == 1.root.json (available on client)
-     # Signing key: "root", Threshold: 1
-     repository = repo_tool.load_repository(self.repository_directory)
-
-     # Add an additional signing key and bump the threshold to 2
-     repository.root.load_signing_key(self.role_keys['root']['private'])
-     repository.root.add_verification_key(self.role_keys['root2']['public'])
-     repository.root.load_signing_key(self.role_keys['root2']['private'])
-     repository.root.threshold = 2
-     repository.writeall()
-
-     # Move staged metadata to "live" metadata
-     shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-     shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-         os.path.join(self.repository_directory, 'metadata'))
-
-     # Modify 2.root.json and list two signatures with the same keyid
-     root2_path_live = os.path.join(
-         self.repository_directory, 'metadata', '2.root.json')
-     root2 = securesystemslib.util.load_json_file(root2_path_live)
-
-     signatures = []
-     signatures.append(root2['signatures'][0])
-     signatures.append(root2['signatures'][0])
-
-     root2['signatures'] = signatures
-
-     root2_fobj = tempfile.TemporaryFile()
-     root2_fobj.write(tuf.repository_lib._get_written_metadata(root2))
-     securesystemslib.util.persist_temp_file(root2_fobj, root2_path_live)
-
-     # Update 1.root.json -> 2.root.json
-     # Signature verification with new keys should fail because the threshold
-     # can only be met by two signatures with the same keyid
-     with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-       self.repository_updater.refresh()
-
-     for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-       self.assertTrue(mirror_url.endswith('/2.root.json'))
-       self.assertTrue(isinstance(mirror_error,
-           securesystemslib.exceptions.BadSignatureError))
-
-     # Assert that the current 'root.json' on the client side is the verified one
-     self.assertTrue(filecmp.cmp(
-       os.path.join(self.repository_directory, 'metadata', '1.root.json'),
-       os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-
-
-  def test_root_rotation_full(self):
-    """Test that a client whose root is outdated by multiple versions and who
-    has none of the latest nor next-to-latest root keys can still update and
-    does so by incrementally verifying all roots until the most recent one. """
-    # Load initial repository with 1.root.json == root.json, signed by "root"
-    # key. This is the root.json that is already on the client.
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # 1st rotation: 1.root.json --> 2.root.json
-    # 2.root.json will be signed by previous "root" key and by new "root2" key
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.root.add_verification_key(self.role_keys['root2']['public'])
-    repository.root.load_signing_key(self.role_keys['root2']['private'])
-    repository.writeall()
-
-    # 2nd rotation: 2.root.json --> 3.root.json
-    # 3.root.json will be signed by previous "root2" key and by new "root3" key
-    repository.root.unload_signing_key(self.role_keys['root']['private'])
-    repository.root.remove_verification_key(self.role_keys['root']['public'])
-    repository.root.add_verification_key(self.role_keys['root3']['public'])
-    repository.root.load_signing_key(self.role_keys['root3']['private'])
-    repository.writeall()
-
-    # Move staged metadata to "live" metadata
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Update on client 1.root.json --> 2.root.json --> 3.root.json
-    self.repository_updater.refresh()
-
-    # Assert that client updated to the latest root from the repository
-    self.assertTrue(filecmp.cmp(
-      os.path.join(self.repository_directory, 'metadata', '3.root.json'),
-      os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-  def test_root_rotation_max(self):
-    """Test that client does not rotate beyond a configured upper bound, i.e.
-    `current_version + MAX_NUMBER_ROOT_ROTATIONS`. """
-    # NOTE: The nature of below root changes is irrelevant. Here we only want
-    # the client to update but not beyond a configured upper bound.
-
-    # 1.root.json --> 2.root.json (add root2 and root3 keys)
-    repository = repo_tool.load_repository(self.repository_directory)
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.root.add_verification_key(self.role_keys['root2']['public'])
-    repository.root.load_signing_key(self.role_keys['root2']['private'])
-    repository.root.add_verification_key(self.role_keys['root3']['public'])
-    repository.root.load_signing_key(self.role_keys['root3']['private'])
-    repository.writeall()
-
-    # 2.root.json --> 3.root.json (change threshold)
-    repository.root.threshold = 2
-    repository.writeall()
-
-    # 3.root.json --> 4.root.json (change threshold again)
-    repository.root.threshold = 3
-    repository.writeall()
-
-    # Move staged metadata to "live" metadata
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Assert that repo indeed has "4.root.json" and that it's the latest root
-    self.assertTrue(filecmp.cmp(
-      os.path.join(self.repository_directory, 'metadata', '4.root.json'),
-      os.path.join(self.repository_directory, 'metadata', 'root.json')))
-
-    # Lower max root rotation cap so that client stops updating early
-    max_rotation_backup = tuf.settings.MAX_NUMBER_ROOT_ROTATIONS
-    tuf.settings.MAX_NUMBER_ROOT_ROTATIONS = 2
-
-    # Update on client 1.root.json --> 2.root.json --> 3.root.json,
-    # but stop before updating to 4.root.json
-    self.repository_updater.refresh()
-
-    # Assert that the client indeed only updated until 3.root.json
-    self.assertTrue(filecmp.cmp(
-      os.path.join(self.repository_directory, 'metadata', '3.root.json'),
-      os.path.join(self.client_metadata_current, 'root.json')))
-
-    # reset
-    tuf.settings.MAX_NUMBER_ROOT_ROTATIONS = max_rotation_backup
-
-
-
-  def test_root_rotation_missing_keys(self):
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # A partially written root.json (threshold = 2, and signed with only 1 key)
-    # causes an invalid root chain later.
-    repository.root.threshold = 2
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    repository.write('root')
-    repository.write('snapshot')
-    repository.write('timestamp')
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # Create a new, valid root.json.
-    # Still not valid, because it is not written with a threshold of 2
-    # previous keys
-    repository.root.add_verification_key(self.role_keys['role1']['public'])
-    repository.root.load_signing_key(self.role_keys['role1']['private'])
-
-    repository.writeall()
-
-    repository.root.add_verification_key(self.role_keys['snapshot']['public'])
-    repository.root.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.root.threshold = 3
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-      self.repository_updater.refresh()
-
-    for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-      self.assertTrue(mirror_url.endswith('/2.root.json'))
-      self.assertTrue(isinstance(mirror_error,
-          securesystemslib.exceptions.BadSignatureError))
-
-    # Assert that the current 'root.json' on the client side is the verified one
-    self.assertTrue(filecmp.cmp(
-        os.path.join(self.repository_directory, 'metadata', '1.root.json'),
-        os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-
-  def test_root_rotation_unmet_last_version_threshold(self):
-    """Test that client detects a root.json version that is not signed
-     by a previous threshold of signatures """
-
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Add verification keys
-    repository.root.add_verification_key(self.role_keys['root']['public'])
-    repository.root.add_verification_key(self.role_keys['role1']['public'])
-
-    repository.targets.add_verification_key(self.role_keys['targets']['public'])
-    repository.snapshot.add_verification_key(self.role_keys['snapshot']['public'])
-    repository.timestamp.add_verification_key(self.role_keys['timestamp']['public'])
-
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    # Add signing keys
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.root.load_signing_key(self.role_keys['role1']['private'])
-
-    # Set root threshold
-    repository.root.threshold = 2
-    repository.writeall()
-
-    # Unload Root's previous signing keys to ensure that these keys are not
-    # used by mistake.
-    repository.root.unload_signing_key(self.role_keys['role1']['private'])
-    repository.root.unload_signing_key(self.role_keys['root']['private'])
-
-    # Add new verification key
-    repository.root.add_verification_key(self.role_keys['snapshot']['public'])
-
-    # Remove one of the original signing keys
-    repository.root.remove_verification_key(self.role_keys['role1']['public'])
-
-    # Set the threshold for the new Root file, but note that the previous
-    # threshold of 2 must still be met.
-    repository.root.threshold = 1
-
-    repository.root.load_signing_key(self.role_keys['role1']['private'])
-    repository.root.load_signing_key(self.role_keys['snapshot']['private'])
-
-    repository.snapshot.load_signing_key(self.role_keys['snapshot']['private'])
-    repository.timestamp.load_signing_key(self.role_keys['timestamp']['private'])
-
-    # We use write() rather than writeall() because the latter should fail due
-    # to the missing self.role_keys['root'] signature.
-    repository.write('root', increment_version_number=True)
-    repository.write('snapshot', increment_version_number=True)
-    repository.write('timestamp', increment_version_number=True)
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                    os.path.join(self.repository_directory, 'metadata'))
-
-    # The following refresh should fail because root must be signed by the
-    # previous self.role_keys['root'] key, which wasn't loaded.
-    with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-      self.repository_updater.refresh()
-
-    for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-      self.assertTrue(mirror_url.endswith('/3.root.json'))
-      self.assertTrue(isinstance(mirror_error,
-          securesystemslib.exceptions.BadSignatureError))
-
-    # Assert that the current 'root.json' on the client side is the verified one
-    self.assertTrue(filecmp.cmp(
-        os.path.join(self.repository_directory, 'metadata', '2.root.json'),
-        os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-  def test_root_rotation_unmet_new_threshold(self):
-    """Test that client detects a root.json version that is not signed
-     by a current threshold of signatures """
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Create a new, valid root.json.
-    repository.root.threshold = 2
-    repository.root.load_signing_key(self.role_keys['root']['private'])
-    repository.root.add_verification_key(self.role_keys['root2']['public'])
-    repository.root.load_signing_key(self.role_keys['root2']['private'])
-
-    repository.writeall()
-
-    # Increase the threshold and add a new verification key without
-    # actually loading the signing key
-    repository.root.threshold = 3
-    repository.root.add_verification_key(self.role_keys['root3']['public'])
-
-    # writeall fails as expected since the third signature is missing
-    self.assertRaises(tuf.exceptions.UnsignedMetadataError, repository.writeall)
-    # write an invalid '3.root.json' as partially signed
-    repository.write('root')
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                  os.path.join(self.repository_directory, 'metadata'))
-
-
-   # The following refresh should fail because root must be signed by the
-   # current self.role_keys['root3'] key, which wasn't loaded.
-    with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-      self.repository_updater.refresh()
-
-    for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-      self.assertTrue(mirror_url.endswith('/3.root.json'))
-      self.assertTrue(isinstance(mirror_error,
-          securesystemslib.exceptions.BadSignatureError))
-
-    # Assert that the current 'root.json' on the client side is the verified one
-    self.assertTrue(filecmp.cmp(
-        os.path.join(self.repository_directory, 'metadata', '2.root.json'),
-        os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-  def test_root_rotation_discard_untrusted_version(self):
-    """Test that client discards root.json version that failed the
-    signature verification """
-    repository = repo_tool.load_repository(self.repository_directory)
-
-    # Rotate the root key without signing with the previous version key 'root'
-    repository.root.remove_verification_key(self.role_keys['root']['public'])
-    repository.root.add_verification_key(self.role_keys['root2']['public'])
-    repository.root.load_signing_key(self.role_keys['root2']['private'])
-
-    # 2.root.json
-    repository.writeall()
-
-    # Move the staged metadata to the "live" metadata.
-    shutil.rmtree(os.path.join(self.repository_directory, 'metadata'))
-    shutil.copytree(os.path.join(self.repository_directory, 'metadata.staged'),
-                  os.path.join(self.repository_directory, 'metadata'))
-
-    # Refresh on the client side should fail because 2.root.json is not signed
-    # with a threshold of prevous keys
-    with self.assertRaises(tuf.exceptions.NoWorkingMirrorError) as cm:
-      self.repository_updater.refresh()
-
-    for mirror_url, mirror_error in six.iteritems(cm.exception.mirror_errors):
-      self.assertTrue(mirror_url.endswith('/2.root.json'))
-      self.assertTrue(isinstance(mirror_error,
-          securesystemslib.exceptions.BadSignatureError))
-
-    # Assert that the current 'root.json' on the client side is the trusted one
-    # and 2.root.json is discarded
-    self.assertTrue(filecmp.cmp(
-        os.path.join(self.repository_directory, 'metadata', '1.root.json'),
-        os.path.join(self.client_metadata_current, 'root.json')))
-
-
-
-
-def _load_role_keys(keystore_directory):
-
-  # Populating 'self.role_keys' by importing the required public and private
-  # keys of 'tuf/tests/repository_data/'.  The role keys are needed when
-  # modifying the remote repository used by the test cases in this unit test.
-
-  # The pre-generated key files in 'repository_data/keystore' are all encrypted
-  # with a 'password' passphrase.
-  EXPECTED_KEYFILE_PASSWORD = 'password'
-
-  # Store and return the cryptography keys of the top-level roles, including 1
-  # delegated role.
-  role_keys = {}
-
-  root_key_file = os.path.join(keystore_directory, 'root_key')
-  root2_key_file = os.path.join(keystore_directory, 'root_key2')
-  root3_key_file = os.path.join(keystore_directory, 'root_key3')
-  targets_key_file = os.path.join(keystore_directory, 'targets_key')
-  snapshot_key_file = os.path.join(keystore_directory, 'snapshot_key')
-  timestamp_key_file = os.path.join(keystore_directory, 'timestamp_key')
-  delegation_key_file = os.path.join(keystore_directory, 'delegation_key')
-
-  role_keys = {'root': {}, 'root2': {}, 'root3': {}, 'targets': {}, 'snapshot':
-               {}, 'timestamp': {}, 'role1': {}}
-
-  # Import the top-level and delegated role public keys.
-  role_keys['root']['public'] = \
-    repo_tool.import_rsa_publickey_from_file(root_key_file+'.pub')
-  role_keys['root2']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(root2_key_file+'.pub')
-  role_keys['root3']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(root3_key_file+'.pub')
-  role_keys['targets']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(targets_key_file+'.pub')
-  role_keys['snapshot']['public'] = \
-    repo_tool.import_ed25519_publickey_from_file(snapshot_key_file+'.pub')
-  role_keys['timestamp']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(timestamp_key_file+'.pub')
-  role_keys['role1']['public'] = \
-      repo_tool.import_ed25519_publickey_from_file(delegation_key_file+'.pub')
-
-  # Import the private keys of the top-level and delegated roles.
-  role_keys['root']['private'] = \
-    repo_tool.import_rsa_privatekey_from_file(root_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['root2']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(root2_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['root3']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(root3_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['targets']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(targets_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['snapshot']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(snapshot_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['timestamp']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(timestamp_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-  role_keys['role1']['private'] = \
-    repo_tool.import_ed25519_privatekey_from_file(delegation_key_file,
-                                              EXPECTED_KEYFILE_PASSWORD)
-
-  return role_keys
-
-
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
diff --git a/tests/test_updater_top_level_update.py b/tests/test_updater_top_level_update.py
new file mode 100644
index 0000000000..76c74d4b57
--- /dev/null
+++ b/tests/test_updater_top_level_update.py
@@ -0,0 +1,904 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test ngclient Updater top-level metadata update workflow"""
+
+from __future__ import annotations
+
+import builtins
+import datetime
+import os
+import sys
+import tempfile
+import unittest
+from datetime import timezone
+from pathlib import Path
+from typing import TYPE_CHECKING
+from unittest.mock import MagicMock, call, patch
+
+import freezegun
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tuf.api.exceptions import (
+    BadVersionNumberError,
+    DownloadLengthMismatchError,
+    ExpiredMetadataError,
+    LengthOrHashMismatchError,
+    UnsignedMetadataError,
+)
+from tuf.api.metadata import (
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    DelegatedRole,
+    Metadata,
+    Root,
+    Snapshot,
+    Targets,
+    Timestamp,
+)
+from tuf.ngclient import Updater
+
+if TYPE_CHECKING:
+    from collections.abc import Iterable
+
+
+class TestRefresh(unittest.TestCase):
+    """Test update of top-level metadata following
+    'Detailed client workflow' in the specification."""
+
+    # set dump_dir to trigger repository state dumps
+    dump_dir: str | None = None
+
+    past_datetime = datetime.datetime.now(timezone.utc).replace(
+        microsecond=0
+    ) - datetime.timedelta(days=5)
+
+    def setUp(self) -> None:
+        self.temp_dir = tempfile.TemporaryDirectory()
+        self.metadata_dir = os.path.join(self.temp_dir.name, "metadata")
+        self.targets_dir = os.path.join(self.temp_dir.name, "targets")
+
+        self.sim = RepositorySimulator()
+
+        if self.dump_dir is not None:
+            # create test specific dump directory
+            name = self.id().split(".")[-1]
+            self.sim.dump_dir = os.path.join(self.dump_dir, name)
+            os.mkdir(self.sim.dump_dir)
+
+    def tearDown(self) -> None:
+        self.temp_dir.cleanup()
+
+    def _run_refresh(self, skip_bootstrap: bool = False) -> Updater:
+        """Create a new Updater instance and refresh"""
+        updater = self._init_updater(skip_bootstrap)
+        updater.refresh()
+        return updater
+
+    def _init_updater(self, skip_bootstrap: bool = False) -> Updater:
+        """Create a new Updater instance"""
+        if self.dump_dir is not None:
+            self.sim.write()
+
+        return Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            self.targets_dir,
+            "https://example.com/targets/",
+            self.sim,
+            bootstrap=None if skip_bootstrap else self.sim.signed_roots[0],
+        )
+
+    def _assert_files_exist(self, roles: Iterable[str]) -> None:
+        """Assert that local metadata files match 'roles'"""
+        expected_files = [f"{role}.json" for role in roles]
+        found_files = [
+            e.name for e in os.scandir(self.metadata_dir) if e.is_file()
+        ]
+
+        self.assertListEqual(sorted(found_files), sorted(expected_files))
+
+    def _assert_content_equals(
+        self, role: str, version: int | None = None
+    ) -> None:
+        """Assert that local file content is the expected"""
+        expected_content = self.sim.fetch_metadata(role, version)
+        with open(os.path.join(self.metadata_dir, f"{role}.json"), "rb") as f:
+            self.assertEqual(f.read(), expected_content)
+
+    def _assert_version_equals(self, role: str, expected_version: int) -> None:
+        """Assert that local metadata version is the expected"""
+        md = Metadata.from_file(os.path.join(self.metadata_dir, f"{role}.json"))
+        self.assertEqual(md.signed.version, expected_version)
+
+    def test_first_time_refresh(self) -> None:
+        # Add one more root version to repository so that
+        # refresh() updates from local trusted root (v1) to
+        # remote root (v2)
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        self._run_refresh()
+
+        self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+        for role in TOP_LEVEL_ROLE_NAMES:
+            version = 2 if role == Root.type else None
+            self._assert_content_equals(role, version)
+
+    def test_cached_root_missing_without_bootstrap(self) -> None:
+        # Run update without a bootstrap, with empty cache: this fails since there is no
+        # trusted root
+        with self.assertRaises(OSError):
+            self._run_refresh(skip_bootstrap=True)
+
+        # Metadata dir is empty
+        with self.assertRaises(FileNotFoundError):
+            os.listdir(self.metadata_dir)
+
+    def test_trusted_root_expired(self) -> None:
+        # Create an expired root version
+        self.sim.root.expires = self.past_datetime
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        # Update to latest root which is expired but still
+        # saved as a local root.
+        updater = self._init_updater()
+        with self.assertRaises(ExpiredMetadataError):
+            updater.refresh()
+
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 2)
+
+        # Local root metadata can be loaded even if expired
+        updater = self._init_updater()
+
+        # Create a non-expired root version and refresh
+        self.sim.root.expires = self.sim.safe_expiry
+        self.sim.root.version += 1
+        self.sim.publish_root()
+        updater.refresh()
+
+        # Root is successfully updated to latest version
+        self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+        self._assert_content_equals(Root.type, 3)
+
+    def test_trusted_root_unsigned_without_bootstrap(self) -> None:
+        # Cached root is not signed, bootstrap root is not used
+        Path(self.metadata_dir).mkdir(parents=True)
+        root_path = os.path.join(self.metadata_dir, "root.json")
+        md_root = Metadata.from_bytes(self.sim.signed_roots[0])
+        md_root.signatures.clear()
+        md_root.to_file(root_path)
+
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh(skip_bootstrap=True)
+
+        # The update failed, no changes in metadata
+        self._assert_files_exist([Root.type])
+        md_root_after = Metadata.from_file(root_path)
+        self.assertEqual(md_root.to_bytes(), md_root_after.to_bytes())
+
+    def test_max_root_rotations(self) -> None:
+        # Root must stop looking for new versions after Y number of
+        # intermediate files were downloaded.
+        updater = self._init_updater()
+        updater.config.max_root_rotations = 3
+
+        # Create some number of roots greater than 'max_root_rotations'
+        while self.sim.root.version < updater.config.max_root_rotations + 3:
+            self.sim.root.version += 1
+            self.sim.publish_root()
+
+        initial_root_version = 1
+
+        updater.refresh()
+
+        # Assert that root version was increased with no more
+        # than 'max_root_rotations'
+        self._assert_version_equals(
+            Root.type, initial_root_version + updater.config.max_root_rotations
+        )
+
+    def test_intermediate_root_incorrectly_signed(self) -> None:
+        # Check for an arbitrary software attack
+
+        # Intermediate root v2 is unsigned
+        self.sim.root.version += 1
+        root_signers = self.sim.signers[Root.type].copy()
+        self.sim.signers[Root.type].clear()
+        self.sim.publish_root()
+
+        # Final root v3 is correctly signed
+        self.sim.root.version += 1
+        self.sim.signers[Root.type] = root_signers
+        self.sim.publish_root()
+
+        # Incorrectly signed intermediate root is detected
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh()
+
+        # The update failed, latest root version is v1
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 1)
+
+    def test_intermediate_root_expired(self) -> None:
+        # The expiration of the new (intermediate) root metadata file
+        # does not matter yet
+
+        # Intermediate root v2 is expired
+        self.sim.root.expires = self.past_datetime
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        # Final root v3 is up to date
+        self.sim.root.expires = self.sim.safe_expiry
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        self._run_refresh()
+
+        # Successfully updated to root v3
+        self._assert_files_exist(TOP_LEVEL_ROLE_NAMES)
+        self._assert_content_equals(Root.type, 3)
+
+    def test_final_root_incorrectly_signed(self) -> None:
+        # Check for an arbitrary software attack
+        self.sim.root.version += 1  # root v2
+        self.sim.signers[Root.type].clear()
+        self.sim.publish_root()
+
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh()
+
+        # The update failed, latest root version is v1
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 1)
+
+    def test_new_root_same_version(self) -> None:
+        # Check for a rollback_attack
+        # Repository serves a root file with the same version as previous
+        self.sim.publish_root()
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        # The update failed, latest root version is v1
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 1)
+
+    def test_new_root_nonconsecutive_version(self) -> None:
+        # Repository serves non-consecutive root version
+        self.sim.root.version += 2
+        self.sim.publish_root()
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        # The update failed, latest root version is v1
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 1)
+
+    def test_final_root_expired(self) -> None:
+        # Check for a freeze attack
+        # Final root is expired
+        self.sim.root.expires = self.past_datetime
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        with self.assertRaises(ExpiredMetadataError):
+            self._run_refresh()
+
+        # The update failed but final root is persisted on the file system
+        self._assert_files_exist([Root.type])
+        self._assert_content_equals(Root.type, 2)
+
+    def test_new_timestamp_unsigned(self) -> None:
+        # Check for an arbitrary software attack
+        self.sim.signers[Timestamp.type].clear()
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type])
+
+    def test_expired_timestamp_version_rollback(self) -> None:
+        """Verifies that local timestamp is used in rollback checks even if it is expired.
+
+        The timestamp updates and rollback checks are performed
+        with the following timing:
+         - Timestamp v1 expiry set to day 7
+         - First updater refresh performed on day 0
+         - Repository publishes timestamp v2 on day 0
+         - Timestamp v2 expiry set to day 21
+         - Second updater refresh performed on day 18:
+           assert that rollback check uses expired timestamp v1"""
+
+        now = datetime.datetime.now(timezone.utc)
+        self.sim.timestamp.expires = now + datetime.timedelta(days=7)
+
+        self.sim.timestamp.version = 2
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+
+        self.sim.timestamp.expires = now + datetime.timedelta(days=21)
+
+        self.sim.timestamp.version = 1
+
+        patcher = freezegun.freeze_time(
+            datetime.datetime.now(timezone.utc) + datetime.timedelta(days=18)
+        )
+        # Check that a rollback protection is performed even if
+        # local timestamp has expired
+        with patcher, self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 2)
+
+    def test_expired_timestamp_snapshot_rollback(self) -> None:
+        """Verifies that rollback protection is done even if local timestamp has expired.
+
+        The snapshot updates and rollback protection checks are performed
+        with the following timing:
+         - Timestamp v1 expiry set to day 7
+         - Repository bumps snapshot to v3 on day 0
+         - First updater refresh performed on day 0
+         - Timestamp v2 expiry set to day 21
+         - Second updater refresh performed on day 18:
+           assert that rollback protection is done with expired timestamp v1"""
+
+        now = datetime.datetime.now(timezone.utc)
+        self.sim.timestamp.expires = now + datetime.timedelta(days=7)
+
+        # Bump the snapshot version number to 3
+        self.sim.update_snapshot()
+        self.sim.update_snapshot()
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+
+        self.sim.snapshot.version = 1
+        # Snapshot version number is set to 2, which is still less than 3
+        self.sim.update_snapshot()
+        self.sim.timestamp.expires = now + datetime.timedelta(days=21)
+
+        patcher = freezegun.freeze_time(
+            datetime.datetime.now(timezone.utc) + datetime.timedelta(days=18)
+        )
+        # Assert that rollback protection is done even if
+        # local timestamp has expired
+        with patcher, self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 3)
+
+    def test_new_timestamp_version_rollback(self) -> None:
+        # Check for a rollback attack
+        self.sim.timestamp.version = 2
+        self._run_refresh()
+
+        self.sim.timestamp.version = 1
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 2)
+
+    def test_new_timestamp_snapshot_rollback(self) -> None:
+        # Check for a rollback attack.
+        self.sim.snapshot.version = 2
+        self.sim.update_timestamp()  # timestamp v2
+        self._run_refresh()
+
+        # Snapshot meta version is smaller than previous
+        self.sim.timestamp.snapshot_meta.version = 1
+        self.sim.timestamp.version += 1  # timestamp v3
+
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 2)
+
+    def test_new_timestamp_expired(self) -> None:
+        # Check for a freeze attack
+        self.sim.timestamp.expires = self.past_datetime
+        self.sim.update_timestamp()
+
+        with self.assertRaises(ExpiredMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type])
+
+    def test_new_timestamp_fast_forward_recovery(self) -> None:
+        """Test timestamp fast-forward recovery using key rotation.
+
+        The timestamp recovery is made by the following steps
+         - Remove the timestamp key
+         - Create and add a new key for timestamp
+         - Bump and publish root
+         - Rollback the timestamp version
+        """
+
+        # attacker updates to a higher version
+        self.sim.timestamp.version = 99999
+
+        # client refreshes the metadata and see the new timestamp version
+        self._run_refresh()
+        self._assert_version_equals(Timestamp.type, 99999)
+
+        # repository rotates timestamp keys, rolls back timestamp version
+        self.sim.rotate_keys(Timestamp.type)
+        self.sim.root.version += 1
+        self.sim.publish_root()
+        self.sim.timestamp.version = 1
+
+        # client refresh the metadata and see the initial timestamp version
+        self._run_refresh()
+        self._assert_version_equals(Timestamp.type, 1)
+
+    def test_new_snapshot_hash_mismatch(self) -> None:
+        # Check against timestamp role's snapshot hash
+
+        # Update timestamp with snapshot's hashes
+        self.sim.compute_metafile_hashes_length = True
+        self.sim.update_timestamp()  # timestamp v2
+        self._run_refresh()
+
+        # Modify snapshot contents without updating
+        # timestamp's snapshot hash
+        self.sim.snapshot.expires += datetime.timedelta(days=1)
+        self.sim.snapshot.version += 1  # snapshot v2
+        self.sim.timestamp.snapshot_meta.version = self.sim.snapshot.version
+        self.sim.timestamp.version += 1  # timestamp v3
+
+        # Hash mismatch error
+        with self.assertRaises(LengthOrHashMismatchError):
+            self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 3)
+        self._assert_version_equals(Snapshot.type, 1)
+
+    def test_new_snapshot_unsigned(self) -> None:
+        # Check for an arbitrary software attack
+        self.sim.signers[Snapshot.type].clear()
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type])
+
+    def test_new_snapshot_version_mismatch(self) -> None:
+        # Check against timestamp role's snapshot version
+
+        # Increase snapshot version without updating timestamp
+        self.sim.snapshot.version += 1
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type])
+
+    def test_new_snapshot_version_rollback(self) -> None:
+        # Check for a rollback attack
+        self.sim.snapshot.version = 2
+        self.sim.update_timestamp()
+        self._run_refresh()
+
+        self.sim.snapshot.version = 1
+        self.sim.update_timestamp()
+
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_version_equals(Snapshot.type, 2)
+
+    def test_new_snapshot_fast_forward_recovery(self) -> None:
+        """Test snapshot fast-forward recovery using key rotation.
+
+        The snapshot recovery requires the snapshot and timestamp key rotation.
+        It is made by the following steps:
+        - Remove the snapshot and timestamp keys
+        - Create and add a new key for snapshot and timestamp
+        - Rollback snapshot version
+        - Bump and publish root
+        - Bump the timestamp
+        """
+
+        # attacker updates to a higher version (bumping timestamp is required)
+        self.sim.snapshot.version = 99999
+        self.sim.update_timestamp()
+
+        # client refreshes the metadata and see the new snapshot version
+        self._run_refresh()
+        self._assert_version_equals(Snapshot.type, 99999)
+
+        # repository rotates snapshot & timestamp keys, rolls back snapshot
+        self.sim.rotate_keys(Snapshot.type)
+        self.sim.rotate_keys(Timestamp.type)
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        self.sim.snapshot.version = 1
+        self.sim.update_timestamp()
+
+        # client refresh the metadata and see the initial snapshot version
+        self._run_refresh()
+        self._assert_version_equals(Snapshot.type, 1)
+
+    def test_new_snapshot_expired(self) -> None:
+        # Check for a freeze attack
+        self.sim.snapshot.expires = self.past_datetime
+        self.sim.update_snapshot()
+
+        with self.assertRaises(ExpiredMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type])
+
+    def test_new_targets_hash_mismatch(self) -> None:
+        # Check against snapshot role's targets hashes
+
+        # Update snapshot with target's hashes
+        self.sim.compute_metafile_hashes_length = True
+        self.sim.update_snapshot()
+        self._run_refresh()
+
+        # Modify targets contents without updating
+        # snapshot's targets hashes
+        self.sim.targets.version += 1
+        self.sim.snapshot.meta[
+            "targets.json"
+        ].version = self.sim.targets.version
+        self.sim.snapshot.version += 1
+        self.sim.update_timestamp()
+
+        with self.assertRaises(LengthOrHashMismatchError):
+            self._run_refresh()
+
+        self._assert_version_equals(Snapshot.type, 3)
+        self._assert_version_equals(Targets.type, 1)
+
+    def test_new_targets_unsigned(self) -> None:
+        # Check for an arbitrary software attack
+        self.sim.signers[Targets.type].clear()
+        with self.assertRaises(UnsignedMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type, Snapshot.type])
+
+    def test_new_targets_version_mismatch(self) -> None:
+        # Check against snapshot role's targets version
+
+        # Increase targets version without updating snapshot
+        self.sim.targets.version += 1
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type, Snapshot.type])
+
+    def test_new_targets_expired(self) -> None:
+        # Check for a freeze attack.
+        self.sim.targets.expires = self.past_datetime
+        self.sim.update_snapshot()
+
+        with self.assertRaises(ExpiredMetadataError):
+            self._run_refresh()
+
+        self._assert_files_exist([Root.type, Timestamp.type, Snapshot.type])
+
+    def test_compute_metafile_hashes_length(self) -> None:
+        self.sim.compute_metafile_hashes_length = True
+        self.sim.update_snapshot()
+        self._run_refresh()
+        self._assert_version_equals(Timestamp.type, 2)
+        self._assert_version_equals(Snapshot.type, 2)
+
+        self.sim.compute_metafile_hashes_length = False
+        self.sim.update_snapshot()
+        self._run_refresh()
+
+        self._assert_version_equals(Timestamp.type, 3)
+        self._assert_version_equals(Snapshot.type, 3)
+
+    def test_new_targets_fast_forward_recovery(self) -> None:
+        """Test targets fast-forward recovery using key rotation.
+
+        The targets recovery is made by issuing new Snapshot keys, by following
+        steps:
+            - Remove the snapshot key
+            - Create and add a new key for snapshot
+            - Bump and publish root
+            - Rollback the target version
+        """
+        # attacker updates to a higher version
+        self.sim.targets.version = 99999
+        self.sim.update_snapshot()
+
+        # client refreshes the metadata and see the new targets version
+        self._run_refresh()
+        self._assert_version_equals(Targets.type, 99999)
+
+        # repository rotates snapshot keys, rolls back targets version
+        self.sim.rotate_keys(Snapshot.type)
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        self.sim.targets.version = 1
+        self.sim.update_snapshot()
+
+        # client refreshes the metadata version and see initial targets version
+        self._run_refresh()
+        self._assert_version_equals(Targets.type, 1)
+
+    @patch.object(builtins, "open", wraps=builtins.open)
+    def test_not_loading_targets_twice(self, wrapped_open: MagicMock) -> None:
+        # Do not load targets roles more than once when traversing
+        # the delegations tree
+
+        # Add new delegated targets, update the snapshot
+        spec_version = ".".join(SPECIFICATION_VERSION)
+        targets = Targets(1, spec_version, self.sim.safe_expiry, {}, None)
+        role = DelegatedRole("role1", [], 1, False, ["*"], None)
+        self.sim.add_delegation("targets", role, targets)
+        self.sim.update_snapshot()
+
+        # Run refresh, top-level roles are loaded
+        updater = self._run_refresh()
+        # Clean up calls to open during refresh()
+        wrapped_open.reset_mock()
+
+        # First time looking for "somepath", only 'role1' must be loaded
+        updater.get_targetinfo("somepath")
+        wrapped_open.assert_called_once_with(
+            os.path.join(self.metadata_dir, "role1.json"), "rb"
+        )
+        wrapped_open.reset_mock()
+        # Second call to get_targetinfo, all metadata is already loaded
+        updater.get_targetinfo("somepath")
+        wrapped_open.assert_not_called()
+
+    def test_snapshot_rollback_with_local_snapshot_hash_mismatch(self) -> None:
+        # Test triggering snapshot rollback check on a newly downloaded snapshot
+        # when the local snapshot is loaded even when there is a hash mismatch
+        # with timestamp.snapshot_meta.
+
+        # By raising this flag on timestamp update the simulator would:
+        # 1) compute the hash of the new modified version of snapshot
+        # 2) assign the hash to timestamp.snapshot_meta
+        # The purpose is to create a hash mismatch between timestamp.meta and
+        # the local snapshot, but to have hash match between timestamp.meta and
+        # the next snapshot version.
+        self.sim.compute_metafile_hashes_length = True
+
+        # Initialize all metadata and assign targets version higher than 1.
+        self.sim.targets.version = 2
+        self.sim.update_snapshot()
+        self._run_refresh()
+
+        # The new targets must have a lower version than the local trusted one.
+        self.sim.targets.version = 1
+        self.sim.update_snapshot()
+
+        # During the snapshot update, the local snapshot will be loaded even if
+        # there is a hash mismatch with timestamp.snapshot_meta, because it will
+        # be considered as trusted.
+        # Should fail as a new version of snapshot will be fetched which lowers
+        # the snapshot.meta["targets.json"] version by 1 and throws an error.
+        with self.assertRaises(BadVersionNumberError):
+            self._run_refresh()
+
+    @patch.object(builtins, "open", wraps=builtins.open)
+    def test_load_metadata_from_cache(self, wrapped_open: MagicMock) -> None:
+        # Add new delegated targets
+        spec_version = ".".join(SPECIFICATION_VERSION)
+        targets = Targets(1, spec_version, self.sim.safe_expiry, {}, None)
+        role = DelegatedRole("role1", [], 1, False, ["*"], None)
+        self.sim.add_delegation("targets", role, targets)
+        self.sim.update_snapshot()
+
+        # Make a successful update of valid metadata which stores it in cache
+        updater = self._run_refresh()
+        updater.get_targetinfo("non_existent_target")
+
+        # Clear statistics for open() calls and metadata requests
+        wrapped_open.reset_mock()
+        self.sim.fetch_tracker.metadata.clear()
+
+        # Create a new updater and perform a second update while
+        # the metadata is already stored in cache (metadata dir)
+        updater = self._init_updater()
+        updater.get_targetinfo("non_existent_target")
+
+        # Test that metadata is loaded from cache and not downloaded
+        root_dir = os.path.join(self.metadata_dir, "root_history")
+        wrapped_open.assert_has_calls(
+            [
+                call(os.path.join(root_dir, "2.root.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "timestamp.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "snapshot.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "targets.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "role1.json"), "rb"),
+            ]
+        )
+
+        expected_calls = [("root", 2), ("timestamp", None)]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, expected_calls)
+
+    @patch.object(builtins, "open", wraps=builtins.open)
+    def test_intermediate_root_cache(self, wrapped_open: MagicMock) -> None:
+        """Test that refresh uses the intermediate roots from cache"""
+        # Add root versions 2, 3
+        self.sim.root.version += 1
+        self.sim.publish_root()
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+
+        # assert that cache lookups happened but data was downloaded from remote
+        root_dir = os.path.join(self.metadata_dir, "root_history")
+        wrapped_open.assert_has_calls(
+            [
+                call(os.path.join(root_dir, "2.root.json"), "rb"),
+                call(os.path.join(root_dir, "3.root.json"), "rb"),
+                call(os.path.join(root_dir, "4.root.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "timestamp.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "snapshot.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "targets.json"), "rb"),
+            ]
+        )
+        expected_calls = [
+            ("root", 2),
+            ("root", 3),
+            ("root", 4),
+            ("timestamp", None),
+            ("snapshot", 1),
+            ("targets", 1),
+        ]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, expected_calls)
+
+        # Clear statistics for open() calls and metadata requests
+        wrapped_open.reset_mock()
+        self.sim.fetch_tracker.metadata.clear()
+
+        # Run update again, assert that metadata from cache was used (including intermediate roots)
+        self._run_refresh()
+        wrapped_open.assert_has_calls(
+            [
+                call(os.path.join(root_dir, "2.root.json"), "rb"),
+                call(os.path.join(root_dir, "3.root.json"), "rb"),
+                call(os.path.join(root_dir, "4.root.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "timestamp.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "snapshot.json"), "rb"),
+                call(os.path.join(self.metadata_dir, "targets.json"), "rb"),
+            ]
+        )
+        expected_calls = [("root", 4), ("timestamp", None)]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, expected_calls)
+
+    def test_intermediate_root_cache_poisoning(self) -> None:
+        """Test that refresh works as expected when intermediate roots in cache are poisoned"""
+        # Add root versions 2, 3
+        self.sim.root.version += 1
+        self.sim.publish_root()
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+
+        # Modify cached intermediate root v2 so that it's no longer signed correctly
+        root_path = os.path.join(
+            self.metadata_dir, "root_history", "2.root.json"
+        )
+        md = Metadata.from_file(root_path)
+        md.signatures.clear()
+        md.to_file(root_path)
+
+        # Clear statistics for metadata requests
+        self.sim.fetch_tracker.metadata.clear()
+
+        # Update again, assert that intermediate root v2 was downloaded again
+        self._run_refresh()
+
+        expected_calls = [("root", 2), ("root", 4), ("timestamp", None)]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, expected_calls)
+
+        # Clear statistics for metadata requests
+        self.sim.fetch_tracker.metadata.clear()
+
+        # Update again, this time assert that intermediate root v2 was used from cache
+        self._run_refresh()
+
+        expected_calls = [("root", 4), ("timestamp", None)]
+        self.assertListEqual(self.sim.fetch_tracker.metadata, expected_calls)
+
+    def test_expired_metadata(self) -> None:
+        """Verifies that expired local timestamp/snapshot can be used for
+        updating from remote.
+
+        The updates and verifications are performed with the following timing:
+         - Timestamp v1 expiry set to day 7
+         - First updater refresh performed on day 0
+         - Repository bumps snapshot and targets to v2 on day 0
+         - Timestamp v2 expiry set to day 21
+         - Second updater refresh performed on day 18,
+           it is successful and timestamp/snapshot final versions are v2"""
+
+        now = datetime.datetime.now(timezone.utc)
+        self.sim.timestamp.expires = now + datetime.timedelta(days=7)
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+
+        self.sim.targets.version += 1
+        self.sim.update_snapshot()
+        self.sim.timestamp.expires = now + datetime.timedelta(days=21)
+
+        # Mocking time so that local timestam has expired
+        # but the new timestamp has not
+        with freezegun.freeze_time(
+            datetime.datetime.now(timezone.utc) + datetime.timedelta(days=18)
+        ):
+            self._run_refresh()
+
+        # Assert that the final version of timestamp/snapshot is version 2
+        # which means a successful refresh is performed
+        # with expired local metadata
+        for role in ["timestamp", "snapshot", "targets"]:
+            md = Metadata.from_file(
+                os.path.join(self.metadata_dir, f"{role}.json")
+            )
+            self.assertEqual(md.signed.version, 2)
+
+    def test_max_metadata_lengths(self) -> None:
+        """Test that clients configured max metadata lengths are respected"""
+
+        # client has root v1 already: create a new one available for download
+        self.sim.root.version += 1
+        self.sim.publish_root()
+
+        config_vars = [
+            "root_max_length",
+            "timestamp_max_length",
+            "snapshot_max_length",
+            "targets_max_length",
+        ]
+        # make sure going over any length limit raises DownloadLengthMismatchError
+        for var_name in config_vars:
+            updater = self._init_updater()
+            setattr(updater.config, var_name, 100)
+            with self.assertRaises(DownloadLengthMismatchError):
+                updater.refresh()
+
+        # All good with normal length limits
+        updater = self._init_updater()
+        updater.refresh()
+
+    def test_timestamp_eq_versions_check(self) -> None:
+        # Test that a modified timestamp with different content, but the same
+        # version doesn't replace the valid locally stored one.
+
+        # Make a successful update of valid metadata which stores it in cache
+        self._run_refresh()
+        initial_timestamp_meta_ver = self.sim.timestamp.snapshot_meta.version
+
+        # Change timestamp without bumping its version in order to test if a new
+        # timestamp with the same version will be persisted.
+        self.sim.timestamp.snapshot_meta.version = 100
+        self._run_refresh()
+
+        # If the local timestamp md file has the same snapshot_meta.version as
+        # the initial one, then the new modified timestamp has not been stored.
+        timestamp_path = os.path.join(self.metadata_dir, "timestamp.json")
+        timestamp: Metadata[Timestamp] = Metadata.from_file(timestamp_path)
+        self.assertEqual(
+            initial_timestamp_meta_ver, timestamp.signed.snapshot_meta.version
+        )
+
+
+if __name__ == "__main__":
+    if "--dump" in sys.argv:
+        TestRefresh.dump_dir = tempfile.mkdtemp()
+        print(f"Repository Simulator dumps in {TestRefresh.dump_dir}")
+        sys.argv.remove("--dump")
+
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_updater_validation.py b/tests/test_updater_validation.py
new file mode 100644
index 0000000000..b9d6bb3cc7
--- /dev/null
+++ b/tests/test_updater_validation.py
@@ -0,0 +1,66 @@
+# Copyright 2022, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Test ngclient Updater validations."""
+
+import os
+import sys
+import tempfile
+import unittest
+
+from tests import utils
+from tests.repository_simulator import RepositorySimulator
+from tuf.ngclient import Updater
+
+
+class TestUpdater(unittest.TestCase):
+    """Test ngclient Updater input validation."""
+
+    def setUp(self) -> None:
+        self.temp_dir = tempfile.TemporaryDirectory()
+        self.metadata_dir = os.path.join(self.temp_dir.name, "metadata")
+        self.targets_dir = os.path.join(self.temp_dir.name, "targets")
+        os.mkdir(self.metadata_dir)
+        os.mkdir(self.targets_dir)
+
+        # Setup the repository, bootstrap client root.json
+        self.sim = RepositorySimulator()
+        with open(os.path.join(self.metadata_dir, "root.json"), "bw") as f:
+            f.write(self.sim.signed_roots[0])
+
+    def tearDown(self) -> None:
+        self.temp_dir.cleanup()
+
+    def _new_updater(self) -> Updater:
+        return Updater(
+            self.metadata_dir,
+            "https://example.com/metadata/",
+            self.targets_dir,
+            "https://example.com/targets/",
+            fetcher=self.sim,
+        )
+
+    def test_local_target_storage_fail(self) -> None:
+        self.sim.add_target("targets", b"content", "targetpath")
+        self.sim.targets.version += 1
+        self.sim.update_snapshot()
+
+        updater = self._new_updater()
+        target_info = updater.get_targetinfo("targetpath")
+        assert target_info is not None
+        with self.assertRaises(FileNotFoundError):
+            updater.download_target(target_info, filepath="")
+
+    def test_non_existing_metadata_dir(self) -> None:
+        with self.assertRaises(FileNotFoundError):
+            # Initialize Updater with non-existing metadata_dir
+            Updater(
+                "non_existing_metadata_dir",
+                "https://example.com/metadata/",
+                fetcher=self.sim,
+            )
+
+
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/test_utils.py b/tests/test_utils.py
index 28d974944c..fcdc3c449b 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # Copyright 2020, TUF contributors
 # SPDX-License-Identifier: MIT OR Apache-2.0
 
@@ -20,134 +18,62 @@
   Provide tests for some of the functions in utils.py module.
 """
 
-import os
 import logging
-import unittest
+import os
 import socket
 import sys
-
-import tuf.unittest_toolbox as unittest_toolbox
+import unittest
 
 from tests import utils
 
 logger = logging.getLogger(__name__)
 
-class TestServerProcess(unittest_toolbox.Modified_TestCase):
-
-  def tearDown(self):
-    # Make sure we are calling clean on existing attribute.
-    if hasattr(self, 'server_process_handler'):
-      self.server_process_handler.clean()
 
-
-  def can_connect(self):
+def can_connect(port: int) -> bool:
+    """Check if a socket can connect on the given port"""
     try:
-      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-      sock.connect(('localhost', self.server_process_handler.port))
-      return True
-    except:
-      return False
+        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+        sock.connect(("localhost", port))
+        return True
+    except Exception:  # noqa: BLE001
+        return False
     finally:
-      # The process will always enter in finally even we return.
-      if sock:
-        sock.close()
-
-
-  def test_simple_server_startup(self):
-    # Test normal case
-    self.server_process_handler = utils.TestServerProcess(log=logger)
-
-    # Make sure we can connect to the server
-    self.assertTrue(self.can_connect())
-
-
-  def test_simple_https_server_startup(self):
-    # Test normal case
-    good_cert_path = os.path.join('ssl_certs', 'ssl_cert.crt')
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py', extra_cmd_args=[good_cert_path])
-
-    # Make sure we can connect to the server
-    self.assertTrue(self.can_connect())
-    self.server_process_handler.clean()
-
-    # Test when no cert file is provided
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py')
-
-    # Make sure we can connect to the server
-    self.assertTrue(self.can_connect())
-    self.server_process_handler.clean()
-
-    # Test with a non existing cert file.
-    non_existing_cert_path = os.path.join('ssl_certs', 'non_existing.crt')
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='simple_https_server.py',
-        extra_cmd_args=[non_existing_cert_path])
-
-    # Make sure we can connect to the server
-    self.assertTrue(self.can_connect())
-
-
-  @unittest.skipIf(sys.version_info.major != 2, "Test for Python 2.X")
-  def test_proxy_server_startup(self):
-    # Test normal case
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='proxy_server.py')
-
-    # Make sure we can connect to the server.
-    self.assertTrue(self.can_connect())
-
-    self.server_process_handler.clean()
-
-    # Test start proxy_server using certificate files.
-    good_cert_fpath = os.path.join('ssl_certs', 'ssl_cert.crt')
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='proxy_server.py', extra_cmd_args=['intercept',
-        good_cert_fpath])
-
-    # Make sure we can connect to the server.
-    self.assertTrue(self.can_connect())
-    self.server_process_handler.clean()
-
-    # Test with a non existing cert file.
-    non_existing_cert_path = os.path.join('ssl_certs', 'non_existing.crt')
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='proxy_server.py', extra_cmd_args=[non_existing_cert_path])
-
-    # Make sure we can connect to the server.
-    self.assertTrue(self.can_connect())
-
+        # The process will always enter in finally even after return.
+        if sock:
+            sock.close()
 
-  def test_slow_retrieval_server_startup(self):
-    # Test normal case
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='slow_retrieval_server.py')
 
-    # Make sure we can connect to the server
-    self.assertTrue(self.can_connect())
+class TestServerProcess(unittest.TestCase):
+    """Test functionality provided in TestServerProcess from tests/utils.py."""
 
+    def test_simple_server_startup(self) -> None:
+        # Test normal case
+        server_process_handler = utils.TestServerProcess(log=logger)
 
-  def test_cleanup(self):
-    # Test normal case
-    self.server_process_handler = utils.TestServerProcess(log=logger,
-        server='simple_server.py')
+        # Make sure we can connect to the server
+        self.assertTrue(can_connect(server_process_handler.port))
+        server_process_handler.clean()
 
-    self.server_process_handler.clean()
+    def test_cleanup(self) -> None:
+        # Test normal case
+        server_process_handler = utils.TestServerProcess(
+            log=logger, server=os.path.join(utils.TESTS_DIR, "simple_server.py")
+        )
 
-    # Check if the process has successfully been killed.
-    self.assertFalse(self.server_process_handler.is_process_running())
+        server_process_handler.clean()
 
+        # Check if the process has successfully been killed.
+        self.assertFalse(server_process_handler.is_process_running())
 
-  def test_server_exit_before_timeout(self):
-    self.assertRaises(utils.TestServerProcessError, utils.TestServerProcess,
-        logger, server='non_existing_server.py')
+    def test_server_exit_before_timeout(self) -> None:
+        with self.assertRaises(utils.TestServerProcessError):
+            utils.TestServerProcess(logger, server="non_existing_server.py")
 
-    # Test starting a server which immediately exits."
-    self.assertRaises(utils.TestServerProcessError, utils.TestServerProcess,
-        logger, server='fast_server_exit.py')
+        # Test starting a server which immediately exits."
+        with self.assertRaises(utils.TestServerProcessError):
+            utils.TestServerProcess(logger, server="fast_server_exit.py")
 
 
-if __name__ == '__main__':
-  utils.configure_test_logging(sys.argv)
-  unittest.main()
+if __name__ == "__main__":
+    utils.configure_test_logging(sys.argv)
+    unittest.main()
diff --git a/tests/utils.py b/tests/utils.py
index 8e8c07bde0..bbfb07dbaa 100644
--- a/tests/utils.py
+++ b/tests/utils.py
@@ -1,5 +1,3 @@
-#!/usr/bin/env python
-
 # Copyright 2020, TUF contributors
 # SPDX-License-Identifier: MIT OR Apache-2.0
 
@@ -20,55 +18,75 @@
   Provide common utilities for TUF tests
 """
 
+from __future__ import annotations
+
 import argparse
-from contextlib import contextmanager
 import errno
 import logging
+import os
+import queue
 import socket
-import time
 import subprocess
+import sys
 import threading
+import time
 import warnings
+from contextlib import contextmanager
+from typing import IO, TYPE_CHECKING, Any, Callable
 
-try:
-  import queue
-except ImportError:
-  import Queue as queue # python2
-
-import tuf.log
+if TYPE_CHECKING:
+    import unittest
+    from collections.abc import Iterator
 
 logger = logging.getLogger(__name__)
 
-try:
-  # is defined in Python 3
-  TimeoutError
-except NameError:
-  # Define for Python 2
-  class TimeoutError(Exception):
+# May be used to reliably read other files in tests dir regardless of cwd
+TESTS_DIR = os.path.dirname(os.path.realpath(__file__))
 
-    def __init__(self, value="Timeout"):
-      self.value = value
+# Used when forming URLs on the client side
+TEST_HOST_ADDRESS = "127.0.0.1"
 
-    def __str__(self):
-      return repr(self.value)
 
+# Test runner decorator: Runs the test as a set of N SubTests,
+# (where N is number of items in dataset), feeding the actual test
+# function one test case at a time
+def run_sub_tests_with_dataset(
+    dataset: dict[str, Any],
+) -> Callable[[Callable], Callable]:
+    """Decorator starting a unittest.TestCase.subtest() for each of the
+    cases in dataset"""
 
-class TestServerProcessError(Exception):
+    def real_decorator(
+        function: Callable[[unittest.TestCase, Any], None],
+    ) -> Callable[[unittest.TestCase], None]:
+        def wrapper(test_cls: unittest.TestCase) -> None:
+            for case, data in dataset.items():
+                with test_cls.subTest(case=case):
+                    # Save case name for future reference
+                    test_cls.case_name = case.replace(" ", "_")
+                    function(test_cls, data)
+
+        return wrapper
 
-  def __init__(self, value="TestServerProcess"):
-    self.value = value
+    return real_decorator
 
-  def __str__(self):
-    return repr(self.value)
+
+class TestServerProcessError(Exception):
+    def __init__(self, value: str = "TestServerProcess") -> None:
+        super().__init__()
+        self.value = value
+
+    def __str__(self) -> str:
+        return repr(self.value)
 
 
 @contextmanager
-def ignore_deprecation_warnings(module):
-  with warnings.catch_warnings():
-    warnings.filterwarnings('ignore',
-        category=DeprecationWarning,
-        module=module)
-    yield
+def ignore_deprecation_warnings(module: str) -> Iterator[None]:
+    with warnings.catch_warnings():
+        warnings.filterwarnings(
+            "ignore", category=DeprecationWarning, module=module
+        )
+        yield
 
 
 # Wait until host:port accepts connections.
@@ -77,247 +95,272 @@ def ignore_deprecation_warnings(module):
 # but the current blocking connect() seems to work fast on Linux and seems
 # to at least work on Windows (ECONNREFUSED unfortunately has a 2 second
 # timeout on Windows)
-def wait_for_server(host, server, port, timeout=10):
-  start = time.time()
-  remaining_timeout = timeout
-  succeeded = False
-  while not succeeded and remaining_timeout > 0:
-    try:
-      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-      sock.settimeout(remaining_timeout)
-      sock.connect((host, port))
-      succeeded = True
-    except socket.timeout as e:
-      pass
-    except IOError as e:
-      # ECONNREFUSED is expected while the server is not started
-      if e.errno not in [errno.ECONNREFUSED]:
-        logger.warning("Unexpected error while waiting for server: " + str(e))
-      # Avoid pegging a core just for this
-      time.sleep(0.01)
-    finally:
-      if sock:
-        sock.close()
-        sock = None
-      remaining_timeout = timeout - (time.time() - start)
-
-  if not succeeded:
-    raise TimeoutError("Could not connect to the " + server \
-        + " on port " + str(port) + "!")
-
-
-def configure_test_logging(argv):
-  # parse arguments but only handle '-v': argv may contain 
-  # other things meant for unittest argument parser
-  parser = argparse.ArgumentParser(add_help=False)
-  parser.add_argument('-v', '--verbose', action='count', default=0)
-  args, _ = parser.parse_known_args(argv)
-  
-  if args.verbose <= 1:
-    # 0 and 1 both mean ERROR: this way '-v' makes unittest print test
-    # names without increasing log level
-    loglevel = logging.ERROR
-  elif args.verbose == 2:
-    loglevel = logging.WARNING
-  elif args.verbose == 3:
-    loglevel = logging.INFO
-  else:
-    loglevel = logging.DEBUG
-
-  logging.basicConfig(level=loglevel)
-  tuf.log.set_log_level(loglevel)
-
-
-class TestServerProcess():
-  """
-  <Purpose>
-    Creates a child process with the subprocess.Popen object and
-    uses a thread-safe Queue structure for logging.
-
-   <Arguments>
-      log:
-        Logger which will be used for logging.
-
-      server:
-        Path to the server to run in the subprocess.
-        Default is "simpler_server.py".
-
-      timeout:
-        Time in seconds in which the server should start or otherwise
-        TimeoutError error will be raised.
-        Default is 10.
-
-      popen_cwd:
-        Current working directory used when instancing a
-        subprocess.Popen object.
-        Default is "."
-
-      extra_cmd_args:
-        List of additional arguments for the command
-        which will start the subprocess.
-        More precisely "python -u <path_to_server> <port> <extra_cmd_args>".
-        When no list is provided, an empty list ("[]") will be assigned to it.
-  """
-
-
-  def __init__(self, log, server='simple_server.py',
-      timeout=10, popen_cwd=".", extra_cmd_args=None):
-
-    self.server = server
-    self.__logger = log
-    # Stores popped messages from the queue.
-    self.__logged_messages = []
-    if extra_cmd_args is None:
-      extra_cmd_args = []
-
-    try:
-      self._start_server(timeout, extra_cmd_args, popen_cwd)
-      wait_for_server('localhost', self.server, self.port, timeout)
-    except Exception as e:
-      # Clean the resources and log the server errors if any exists.
-      self.clean()
-      raise e
-
-
-
-  def _start_server(self, timeout, extra_cmd_args, popen_cwd):
-    """
-    Start the server subprocess and a thread
-    responsible to redirect stdout/stderr to the Queue.
-    Waits for the port message maximum timeout seconds.
-    """
-
-    self._start_process(extra_cmd_args, popen_cwd)
-    self._start_redirect_thread()
-
-    self._wait_for_port(timeout)
-
-    self.__logger.info(self.server + ' serving on ' + str(self.port))
-
-
-
-  def _start_process(self, extra_cmd_args, popen_cwd):
-    """Starts the process running the server."""
-
-    # The "-u" option forces stdin, stdout and stderr to be unbuffered.
-    command = ['python', '-u', self.server] + extra_cmd_args
-
-    # Reusing one subprocess in multiple tests, but split up the logs for each.
-    self.__server_process = subprocess.Popen(command,
-        stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=popen_cwd)
-
-
-
-  def _start_redirect_thread(self):
-    """Starts a thread responsible to redirect stdout/stderr to the Queue."""
-
-    # Run log_queue_worker() in a thread.
-    # The thread will exit when the child process dies.
-    self._log_queue = queue.Queue()
-    log_thread = threading.Thread(target=self._log_queue_worker,
-        args=(self.__server_process.stdout, self._log_queue))
-
-    # "daemon = True" means the thread won't interfere with the process exit.
-    log_thread.daemon = True
-    log_thread.start()
-
-
-  @staticmethod
-  def _log_queue_worker(stream, line_queue):
-    """
-    Worker function to run in a seprate thread.
-    Reads from 'stream', puts lines in a Queue (Queue is thread-safe).
-    """
-
-    while True:
-      # readline() is a blocking operation.
-      # decode to push a string in the queue instead of 8-bit bytes.
-      log_line = stream.readline().decode('utf-8')
-      line_queue.put(log_line)
-
-      if len(log_line) == 0:
-        # This is the end of the stream meaning the server process has exited.
-        stream.close()
-        break
-
-
-
-  def _wait_for_port(self, timeout):
-    """
-    Validates the first item from the Queue against the port message.
-    If validation is successful, self.port is set.
-    Raises TestServerProcessError if the process has exited or
-    TimeoutError if no message was found within timeout seconds.
+def wait_for_server(
+    host: str, server: str, port: int, timeout: int = 10
+) -> None:
+    """Wait for server start until timeout is reached or server has started"""
+    start = time.time()
+    remaining_timeout = timeout
+    succeeded = False
+    while not succeeded and remaining_timeout > 0:
+        try:
+            sock: socket.socket | None = socket.socket(
+                socket.AF_INET, socket.SOCK_STREAM
+            )
+            assert sock is not None
+            sock.settimeout(remaining_timeout)
+            sock.connect((host, port))
+            succeeded = True
+        except socket.timeout:
+            pass
+        except OSError as e:
+            # ECONNREFUSED is expected while the server is not started
+            if e.errno not in [errno.ECONNREFUSED]:
+                logger.warning(
+                    "Unexpected error while waiting for server: %s", str(e)
+                )
+            # Avoid pegging a core just for this
+            time.sleep(0.01)
+        finally:
+            if sock:
+                sock.close()
+                sock = None
+            remaining_timeout = int(timeout - (time.time() - start))
+
+    if not succeeded:
+        raise TimeoutError(
+            "Could not connect to the " + server + " on port " + str(port) + "!"
+        )
+
+
+def configure_test_logging(argv: list[str]) -> None:
+    """Configure logger level for a certain test file"""
+    # parse arguments but only handle '-v': argv may contain
+    # other things meant for unittest argument parser
+    parser = argparse.ArgumentParser(add_help=False)
+    parser.add_argument("-v", "--verbose", action="count", default=0)
+    args, _ = parser.parse_known_args(argv)
+
+    if args.verbose <= 1:
+        # 0 and 1 both mean ERROR: this way '-v' makes unittest print test
+        # names without increasing log level
+        loglevel = logging.ERROR
+    elif args.verbose == 2:
+        loglevel = logging.WARNING
+    elif args.verbose == 3:
+        loglevel = logging.INFO
+    else:
+        loglevel = logging.DEBUG
+
+    logging.basicConfig(level=loglevel)
+
+
+def cleanup_metadata_dir(path: str) -> None:
+    """Delete the local metadata dir"""
+    with os.scandir(path) as it:
+        for entry in it:
+            if entry.name == "root_history":
+                cleanup_metadata_dir(entry.path)
+            elif entry.name.endswith(".json"):
+                os.remove(entry.path)
+            else:
+                raise ValueError(f"Unexpected local metadata file {entry.path}")
+
+
+class TestServerProcess:
+    """Helper class used to create a child process with the subprocess.Popen
+    object and use a thread-safe Queue structure for logging.
+
+     Args:
+        log: Logger which will be used for logging.
+        server: Path to the server to run in the subprocess.
+        timeout: Time in seconds in which the server should start or otherwise
+            TimeoutError error will be raised.
+        popen_cwd: Current working directory used when instancing a
+          subprocess.Popen object.
+        extra_cmd_args: Additional arguments for the command which will start
+            the subprocess. More precisely:
+            "python -u <path_to_server> <port> <extra_cmd_args>".
+            If no list is provided, an empty list ("[]") will be assigned to it.
     """
 
-    # We have hardcoded the message we expect on a successful server startup.
-    # This message should be the first message sent by the server!
-    expected_msg = 'bind succeeded, server port is: '
-    try:
-      line = self._log_queue.get(timeout=timeout)
-      if len(line) == 0:
-        # The process has exited.
-        raise TestServerProcessError(self.server + ' exited unexpectedly ' \
-            + 'with code ' + str(self.__server_process.poll()) + '!')
-
-      elif line.startswith(expected_msg):
-        self.port = int(line[len(expected_msg):])
-      else:
-        # An exception or some other message is printed from the server.
-        self.__logged_messages.append(line)
-        # Check if more lines are logged.
+    def __init__(
+        self,
+        log: logging.Logger,
+        server: str = os.path.join(TESTS_DIR, "simple_server.py"),
+        timeout: int = 10,
+        popen_cwd: str = ".",
+        extra_cmd_args: list[str] | None = None,
+    ):
+        self.server = server
+        self.__logger = log
+        # Stores popped messages from the queue.
+        self.__logged_messages: list[str] = []
+        self.__server_process: subprocess.Popen | None = None
+        self._log_queue: queue.Queue | None = None
+        self.port = -1
+        if extra_cmd_args is None:
+            extra_cmd_args = []
+
+        try:
+            self._start_server(timeout, extra_cmd_args, popen_cwd)
+            wait_for_server("localhost", self.server, self.port, timeout)
+        except Exception as e:
+            # Clean the resources and log the server errors if any exists.
+            self.clean()
+            raise e
+
+    def _start_server(
+        self, timeout: int, extra_cmd_args: list[str], popen_cwd: str
+    ) -> None:
+        """
+        Start the server subprocess and a thread
+        responsible to redirect stdout/stderr to the Queue.
+        Waits for the port message maximum timeout seconds.
+        """
+
+        self._start_process(extra_cmd_args, popen_cwd)
+        self._start_redirect_thread()
+
+        self._wait_for_port(timeout)
+
+        self.__logger.info("%s serving on %d", self.server, self.port)
+
+    def _start_process(self, extra_cmd_args: list[str], popen_cwd: str) -> None:
+        """Starts the process running the server."""
+
+        # The "-u" option forces stdin, stdout and stderr to be unbuffered.
+        command = [sys.executable, "-u", self.server, *extra_cmd_args]
+
+        # Reusing one subprocess in multiple tests, but split up the logs
+        # for each.
+        self.__server_process = subprocess.Popen(
+            command,
+            stdout=subprocess.PIPE,
+            stderr=subprocess.STDOUT,
+            cwd=popen_cwd,
+        )
+
+    def _start_redirect_thread(self) -> None:
+        """Starts a thread redirecting the stdout/stderr to the Queue."""
+
+        assert isinstance(self.__server_process, subprocess.Popen)
+        # Run log_queue_worker() in a thread.
+        # The thread will exit when the child process dies.
+        self._log_queue = queue.Queue()
+        log_thread = threading.Thread(
+            target=self._log_queue_worker,
+            args=(self.__server_process.stdout, self._log_queue),
+        )
+
+        # "daemon = True" means the thread won't interfere with the
+        # process exit.
+        log_thread.daemon = True
+        log_thread.start()
+
+    @staticmethod
+    def _log_queue_worker(stream: IO, line_queue: queue.Queue) -> None:
+        """
+        Worker function to run in a separate thread.
+        Reads from 'stream', puts lines in a Queue (Queue is thread-safe).
+        """
+
+        while True:
+            # readline() is a blocking operation.
+            # decode to push a string in the queue instead of 8-bit bytes.
+            log_line = stream.readline().decode("utf-8")
+            line_queue.put(log_line)
+
+            if len(log_line) == 0:
+                # This is the end of the stream meaning the server process
+                # has exited.
+                stream.close()
+                break
+
+    def _wait_for_port(self, timeout: int) -> None:
+        """
+        Validates the first item from the Queue against the port message.
+        If validation is successful, self.port is set.
+        Raises TestServerProcessError if the process has exited or
+        TimeoutError if no message was found within timeout seconds.
+        """
+
+        assert isinstance(self.__server_process, subprocess.Popen)
+        assert isinstance(self._log_queue, queue.Queue)
+        # We have hardcoded the message we expect on a successful server
+        # startup. This message should be the first message sent by the server!
+        expected_msg = "bind succeeded, server port is: "
+        try:
+            line = self._log_queue.get(timeout=timeout)
+            if len(line) == 0:
+                # The process has exited.
+                raise TestServerProcessError(
+                    self.server
+                    + " exited unexpectedly "
+                    + "with code "
+                    + str(self.__server_process.poll())
+                    + "!"
+                )
+
+            if line.startswith(expected_msg):
+                self.port = int(line[len(expected_msg) :])
+            else:
+                # An exception or some other message is printed from the server.
+                self.__logged_messages.append(line)
+                # Check if more lines are logged.
+                self.flush_log()
+                raise TestServerProcessError(
+                    self.server
+                    + " did not print port "
+                    + "message as first stdout line as expected!"
+                )
+        except queue.Empty as e:
+            raise TimeoutError(
+                "Failure during " + self.server + " startup!"
+            ) from e
+
+    def _kill_server_process(self) -> None:
+        """Kills the server subprocess if it's running."""
+
+        assert isinstance(self.__server_process, subprocess.Popen)
+        if self.is_process_running():
+            self.__logger.info(
+                "Server process %d terminated", self.__server_process.pid
+            )
+            self.__server_process.kill()
+            self.__server_process.wait()
+
+    def flush_log(self) -> None:
+        """Flushes the log lines from the logging queue."""
+
+        assert isinstance(self._log_queue, queue.Queue)
+        while True:
+            # Get lines from log_queue
+            try:
+                line = self._log_queue.get(block=False)
+                if len(line) > 0:
+                    self.__logged_messages.append(line)
+            except queue.Empty:
+                # No more lines are logged in the queue.
+                break
+
+        if len(self.__logged_messages) > 0:
+            title = "Test server (" + self.server + ") output:\n"
+            message = [title, *self.__logged_messages]
+            self.__logger.info("| ".join(message))
+            self.__logged_messages = []
+
+    def clean(self) -> None:
+        """
+        Kills the subprocess and closes the TempFile.
+        Calls flush_log to check for logged information, but not yet flushed.
+        """
+
+        # If there is anything logged, flush it before closing the resources.
         self.flush_log()
-        raise TestServerProcessError(self.server + ' did not print port ' \
-            + 'message as first stdout line as expected!')
-    except queue.Empty:
-      raise TimeoutError('Failure during ' + self.server + ' startup!')
-
-
-
-  def _kill_server_process(self):
-    """Kills the server subprocess if it's running."""
-
-    if self.is_process_running():
-      self.__logger.info('Server process ' + str(self.__server_process.pid) +
-          ' terminated.')
-      self.__server_process.kill()
-      self.__server_process.wait()
-
-
-
-  def flush_log(self):
-    """Flushes the log lines from the logging queue."""
-
-    while True:
-      # Get lines from log_queue
-      try:
-        line = self._log_queue.get(block=False)
-        if len(line) > 0:
-          self.__logged_messages.append(line)
-      except queue.Empty:
-        # No more lines are logged in the queue.
-        break
-
-    if len(self.__logged_messages) > 0:
-      title = "Test server (" + self.server + ") output:\n"
-      message = [title] + self.__logged_messages
-      self.__logger.info('| '.join(message))
-      self.__logged_messages = []
-
-
-
-  def clean(self):
-    """
-    Kills the subprocess and closes the TempFile.
-    Calls flush_log to check for logged information, but not yet flushed.
-    """
-
-    # If there is anything logged, flush it before closing the resourses.
-    self.flush_log()
-
-    self._kill_server_process()
-
 
+        self._kill_server_process()
 
-  def is_process_running(self):
-    return True if self.__server_process.poll() is None else False
+    def is_process_running(self) -> bool:
+        assert isinstance(self.__server_process, subprocess.Popen)
+        return self.__server_process.poll() is None
diff --git a/tox.ini b/tox.ini
index acf804419d..5eae84cfba 100644
--- a/tox.ini
+++ b/tox.ini
@@ -4,44 +4,55 @@
 # and then run "tox" from this directory.
 
 [tox]
-envlist = lint,py{27,36,37,38,39}
+isolated_build=true
+envlist = lint,docs,py
 skipsdist = true
 
 [testenv]
-# TODO: Consider refactoring the tests to not require the aggregation script
-# being invoked from the `tests` directory. This seems to be the convention and
-# would make use of other testing tools such as coverage/coveralls easier.
-changedir = tests
-
 commands =
-    python --version
-    coverage run aggregate_tests.py
-    coverage report -m --fail-under 97
+    python3 --version
+    python3 -m coverage run -m unittest
+    python3 -m coverage report -m --fail-under 97
 
 deps =
-    -r{toxinidir}/requirements-test.txt
-    # Install TUF in editable mode, instead of tox default virtual environment
-    # installation (see `skipsdist`), to get relative paths in coverage reports
-    --editable {toxinidir}
+    -r{toxinidir}/requirements/test.txt
 
-# FIXME: use legacy resolver because https://github.com/pypa/pip/issues/9215
-install_command = pip install --use-deprecated=legacy-resolver --pre {opts} {packages}
+install_command = python3 -m pip install {opts} {packages}
 
+# Workaround https://github.com/tox-dev/tox/issues/2801 (python3 not allowed in Windows)
+allowlist_externals = python3
 
-# Develop test env to run tests against securesystemslib's master branch
-# Must to be invoked explicitly with, e.g. `tox -e with-sslib-master`
-[testenv:with-sslib-master]
-deps =
-    git+http://github.com/secure-systems-lab/securesystemslib.git@master#egg=securesystemslib
-    -r{toxinidir}/requirements-test.txt
-    --editable {toxinidir}
+# Develop test env to run tests against securesystemslib's main branch
+# Must to be invoked explicitly with, e.g. `tox -e with-sslib-main`
+[testenv:with-sslib-main]
+commands_pre =
+    python3 -m pip install --force-reinstall git+https://github.com/secure-systems-lab/securesystemslib.git@main#egg=securesystemslib[crypto]
 
 commands =
-    coverage run aggregate_tests.py
-    coverage report -m
+    python3 -m coverage run -m unittest
+    python3 -m coverage report -m
 
 [testenv:lint]
+deps =
+    -r{toxinidir}/requirements/lint.txt
+lint_dirs = tuf examples tests verify_release .github/scripts
+passenv = RUFF_OUTPUT_FORMAT
+commands =
+    ruff check {[testenv:lint]lint_dirs}
+    ruff format --diff {[testenv:lint]lint_dirs}
+
+    mypy {[testenv:lint]lint_dirs}
+    zizmor --persona=pedantic -q .
+
+[testenv:fix]
+deps = {[testenv:lint]deps}
+commands =
+    ruff check --fix {[testenv:lint]lint_dirs}
+    ruff format {[testenv:lint]lint_dirs}
+
+[testenv:docs]
+deps =
+    -r{toxinidir}/requirements/docs.txt
+
 commands =
-    pylint {toxinidir}/tuf --ignore={toxinidir}/tuf/api
-    pylint {toxinidir}/tuf/api --rcfile={toxinidir}/tuf/api/pylintrc
-    bandit -r {toxinidir}/tuf
+    sphinx-build --fail-on-warning --quiet --builder html docs docs/build/html
diff --git a/tuf/ATTACKS.md b/tuf/ATTACKS.md
deleted file mode 100644
index 10a7636eca..0000000000
--- a/tuf/ATTACKS.md
+++ /dev/null
@@ -1,323 +0,0 @@
-# Demonstrate protection against malicious updates
-
-## Table of Contents ##
-- [Blocking Malicious Updates](#blocking-malicious-updates)
-  - [Arbitrary Package Attack](#arbitrary-package-attack)
-  - [Rollback Attack](#rollback-attack)
-  - [Indefinite Freeze Attack](#indefinite-freeze-attack)
-  - [Endless Data Attack](#endless-data-attack)
-  - [Compromised Key Attack](#compromised-key-attack)
-  - [Slow Retrieval Attack](#slow-retrieval-attack)
-- [Conclusion](#conclusion)
-
-## Blocking Malicious Updates ##
-TUF protects against a number of attacks, some of which include rollback,
-arbitrary package, and mix and match attacks.  We begin this document on
-blocking malicious updates by demonstrating how the client rejects a target
-file downloaded from the software repository that doesn't match what is listed
-in TUF metadata.
-
-The following demonstration requires and operates on the repository created in
-the [repository management
-tutorial](https://github.com/theupdateframework/tuf/blob/develop/tuf/README.md).
-
-### Arbitrary Package Attack ###
-In an arbitrary package attack, an  attacker installs anything they want on the
-client system. That is, an attacker can provide arbitrary files in response to
-download requests and the files will not be detected as illegitimate.  We
-simulate an arbitrary package attack by creating a "malicious" target file
-that our client attempts to fetch.
-
-```Bash
-$ mv 'repository/targets/file2.txt' 'repository/targets/file2.txt.backup'
-$ echo 'bad_target' > 'repository/targets/file2.txt'
-```
-
-We next reset our local timestamp (so that a new update is prompted), and
-the target files previously downloaded by the client.
-```Bash
-$ rm -rf "client/targets/" "client/metadata/current/timestamp.json"
-```
-
-The client now performs an update and should detect the invalid target file...
-Note: The following command should be executed in the "client/" directory.
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-Error: No working mirror was found:
-  localhost:8001: BadHashError()
-```
-
-The log file (tuf.log) saved to the current working directory contains more
-information on the update procedure and the cause of the BadHashError.
-
-```Bash
-...
-
-BadHashError: Observed
-hash ('f569179171c86aa9ed5e8b1d6c94dfd516123189568d239ed57d818946aaabe7') !=
-expected hash (u'67ee5478eaadb034ba59944eb977797b49ca6aa8d3574587f36ebcbeeb65f70e')
-[2016-10-20 19:45:16,079 UTC] [tuf.client.updater] [ERROR] [_get_file:1415@updater.py]
-Failed to update /file2.txt from all mirrors: {u'http://localhost:8001/targets/file2.txt': BadHashError()}
-```
-
-Note: The "malicious" target file should be removed and the original file2.txt
-restored, otherwise the following examples will fail with BadHashError
-exceptions:
-
-```Bash
-$ mv 'repository/targets/file2.txt.backup' 'repository/targets/file2.txt'
-```
-
-### Indefinite Freeze Attack ###
-In an indefinite freeze attack, an attacker continues to present a software
-update system with the same files the client has already seen. The result is
-that the client does not know that new files are available.   Although the
-client would be unable to prevent an attacker or compromised repository from
-feeding it stale metadata, it can at least detect when an attacker is doing so
-indefinitely.  The signed metadata used by TUF contains an "expires" field that
-indicates when metadata should no longer be trusted.
-
-In the following simulation, the client first tries to perform an update.
-
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-```
-
-According to the logger (`tuf.log` file in the current working directory),
-everything appears to be up-to-date.  The remote server should also show that
-the client retrieved only the timestamp.json file.  Let's suppose now that an
-attacker continues to feed our client the same stale metadata.  If we were to
-move the time to a future date that would cause metadata to expire, the TUF
-framework should raise an exception or error to indicate that the metadata
-should no longer be trusted.
-
-```Bash
-$ sudo date -s '2080-12-25 12:34:56'
-Wed Dec 25 12:34:56 EST 2080
-
-$ python basic_client.py --repo http://localhost:8001
-Error: No working mirror was found:
-  u'localhost:8001': ExpiredMetadataError(u"Metadata u'root' expired on Tue Jan  1 00:00:00 2030 (UTC).",)
-```
-
-Note: Reset the date to continue with the rest of the attacks.
-
-
-### Rollback Attack ###
-In a rollback attack, an attacker presents a software update system with older
-files than those the client has already seen, causing the client to use files
-older than those the client knows about.  We begin this example by saving the
-current version of the Timestamp file available on the repository.  This saved
-file will later be served to the client to see if it is rejected.  The client
-should not accept versions of metadata that is older than previously trusted.
-
-Navigate to the directory containing the server's files and save the current
-timestamp.json to a temporary location:
-```Bash
-$ cp repository/metadata/timestamp.json /tmp
-```
-
-We should next generate a new Timestamp file on the repository side.
-```Bash
-$ python
->>> from tuf.repository_tool import *
->>> repository = load_repository('repository')
->>> repository.timestamp.version
-1
->>> repository.timestamp.version = 2
->>> repository.dirty_roles()
-Dirty roles: [u'timestamp']
->>> private_timestamp_key = import_rsa_privatekey_from_file("keystore/timestamp_key")
-Enter a password for the encrypted RSA file (/path/to/keystore/timestamp_key):
->>> repository.timestamp.load_signing_key(private_timestamp_key)
->>> repository.write('timestamp')
-
-$ cp repository/metadata.staged/* repository/metadata
-```
-
-Now start the HTTP server from the directory containing the 'repository'
-subdirectory.
-```Bash
-$ python -m SimpleHTTPServer 8001
-```
-
-And perform an update so that the client retrieves the updated timestamp.json.
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-```
-
-Finally, move the previous timestamp.json file to the current live repository
-and have the client try to download the outdated version.  The client should
-reject it!
-```Bash
-$ cp /tmp/timestamp.json repository/metadata/
-$ cd repository; python -m SimpleHTTPServer 8001
-```
-
-On the client side, perform an update...
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-Error: No working mirror was found:
-  u'localhost:8001': ReplayedMetadataError()
-```
-
-The tuf.log file contains more information about the ReplayedMetadataError
-exception and update process.  Please reset timestamp.json to the latest
-version, which can be found in the 'repository/metadata.staged' subdirectory.
-
-```Bash
-$ cp repository/metadata.staged/timestamp.json repository/metadata
-```
-
-
-### Endless Data Attack ###
-In an endless data attack, an attacker responds to a file download request with
-an endless stream of data, causing harm to clients (e.g., a disk partition
-filling up or memory exhaustion).  In this simulated attack, we append extra
-data to one of the target files available on the software repository.  The
-client should only download the exact number of bytes it expects for a
-requested target file (according to what is listed in trusted TUF metadata).
-
-```Bash
-$ cp repository/targets/file1.txt /tmp
-$ python -c "print 'a' * 1000" >> repository/targets/file1.txt
-```
-
-Now delete the local metadata and target files on the client side so
-that remote metadata and target files are downloaded again.
-```Bash
-$ rm -rf client/targets/
-$ rm client/metadata/current/snapshot.json* client/metadata/current/timestamp.json*
-```
-
-Lastly, perform an update to verify that the file1.txt is downloaded up to the
-expected size, and no more.  The target file available on the software
-repository does contain more data than expected, though.
-
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-```
-
-At this point, part of the "file1.txt" file should have been fetched.  That is,
-up to 31 bytes of it should have been downloaded, and the rest of the maliciously
-appended data ignored.  If we inspect the logger, we'd discover the following:
-
-```Bash
-[2016-10-06 21:37:39,092 UTC] [tuf.download] [INFO] [_download_file:235@download.py]
-Downloading: u'http://localhost:8001/targets/file1.txt'
-
-[2016-10-06 21:37:39,145 UTC] [tuf.download] [INFO] [_check_downloaded_length:610@download.py]
-Downloaded 31 bytes out of the expected 31 bytes.
-
-[2016-10-06 21:37:39,145 UTC] [tuf.client.updater] [INFO] [_get_file:1372@updater.py]
-Not decompressing http://localhost:8001/targets/file1.txt
-
-[2016-10-06 21:37:39,145 UTC] [tuf.client.updater] [INFO] [_check_hashes:778@updater.py]
-The file's sha256 hash is correct: 65b8c67f51c993d898250f40aa57a317d854900b3a04895464313e48785440da
-```
-
-Indeed, the sha256 sum of the first 31 bytes of the "file1.txt" available
-on the repository should match to what is trusted.  The client did not
-downloaded the appended data.
-
-Note: Restore file1.txt
-
-```Bash
-$ cp /tmp/file1.txt repository/targets/
-```
-
-
-### Compromised Key Attack ###
-An attacker who compromise less than a given threshold of keys is limited in
-scope. This includes relying on a single online key (such as only being
-protected by SSL) or a single offline key (such as most software update systems
-use to sign files).  In this example, we attempt to sign a role file with
-less-than-a-threshold number of keys.  A single key (suppose this is a
-compromised key) is used to demonstrate that roles must be signed with the
-total number of keys required for the role.  In order to compromise a role, an
-attacker would have to compromise a threshold of keys.  This approach of
-requiring a threshold number of signatures provides compromise resilience.
-
-Let's attempt to sign a new snapshot file with a less-than-threshold number of
-keys.  The client should reject the partially signed snapshot file served by
-the repository (or imagine that it is a compromised software repository).
-
-```Bash
-$ python
->>> from tuf.repository_tool import *
->>> repository = load_repository('repository')
->>> version = repository.root.version
->>> repository.root.version = version + 1
->>> private_root_key = import_rsa_privatekey_from_file("keystore/root_key", password="password")
->>> repository.root.load_signing_key(private_root_key)
->>> private_root_key2 = import_rsa_privatekey_from_file("keystore/root_key2", password="password")
->>> repository.root.load_signing_key(private_root_key2)
-
->>> repository.snapshot.version = 8
->>> repository.snapshot.threshold = 2
->>> private_snapshot_key = import_rsa_privatekey_from_file("keystore/snapshot_key", password="password")
->>> repository.snapshot.load_signing_key(private_snapshot_key)
-
->>> repository.timestamp.version = 8
->>> private_timestamp_key = import_rsa_privatekey_from_file("keystore/timestamp_key", password="password")
->>> repository.timestamp.load_signing_key(private_timestamp_key)
-
->>> repository.write('root')
->>> repository.write('snapshot')
->>> repository.write('timestamp')
-
-$ cp repository/metadata.staged/* repository/metadata
-```
-
-The client now attempts to refresh the top-level metadata and the
-partially written snapshot.json, which should be rejected.
-
-```Bash
-$ python basic_client.py --repo http://localhost:8001
-Error: No working mirror was found:
-  u'localhost:8001': BadSignatureError()
-```
-
-
-### Slow Retrieval Attack ###
-In a slow retrieval attack, an attacker responds to clients with a very slow
-stream of data that essentially results in the client never continuing the
-update process.  In this example, we simulate a slow retrieval attack by
-spawning a server that serves data at a slow rate to our update client data.
-TUF should not be vulnerable to this attack, and the framework should raise an
-exception or error when it detects that a malicious server is serving it data
-at a slow enough rate.
-
-We first spawn the server that slowly streams data to the client.  The
-'slow_retrieval_server.py' module (can be found in the tests/ directory of the
-source code) should be copied over to the server's 'repository/' directory from
-which to launch it.
-
-```Bash
-# Before launching the slow retrieval server, copy 'slow_retrieval_server.py'
-# to the 'repository/' directory and run it from that directory as follows:
-$ python slow_retrieval_server.py 8002 mode_2
-```
-
-The client may now make a request to the slow retrieval server on port 8002.
-However, before doing so, we'll reduce (for the purposes of this demo) the
-minimum average download rate allowed and download chunk size.  Open the
-'settings.py' module and set MIN_AVERAGE_DOWNLOAD_SPEED = 5 and CHUNK_SIZE = 1.
-This should make it so that the client detects the slow retrieval server's
-delayed streaming.
-
-```Bash
-$ python basic_client.py --verbose 1 --repo http://localhost:8002
-Error: No working mirror was found:
-  u'localhost:8002': SlowRetrievalError()
-```
-
-The framework should detect the slow retrieval attack and raise a
-SlowRetrievalError exception to the client application.
-
-
-## Conclusion ##
-These are just some of the attacks that TUF provides protection against.  For
-more attacks and updater weaknesses, please see the
-[Security](https://github.com/theupdateframework/tuf/blob/develop/docs/SECURITY.md)
-page.
diff --git a/tuf/README-developer-tools.md b/tuf/README-developer-tools.md
deleted file mode 100644
index 1b593400a5..0000000000
--- a/tuf/README-developer-tools.md
+++ /dev/null
@@ -1,342 +0,0 @@
-# The Update Framework Developer Tool: How to Update your Project Securely on a TUF Repository
-
-## Table of Contents
-- [Overview](#overview)
-- [Creating a Simple Project](#creating_a_simple_project)
-  - [Generating a Key](#generating_a_key)
-  - [The Project Class](#the_project_class)
-  - [Signing and Writing the Metadata](#signing_and_writing_the_metadata)
-- [Loading an Existing Project](#loading_an_existing_project)
-- [Delegations](#delegations)
-- [Managing Keys](#managing_keys)
-- [Managing Targets](#managing_targets)
-
-<a name="overview">
-## Overview
-The Update Framework (TUF) is a Python-based security system for software
-updates. In order to prevent your users from downloading vulnerable or malicious
-code disguised as updates to your software, TUF requires that each update you
-release include certain metadata verifying your authorship of the files.
-
-The TUF developer tools are a Python Library that enables you to create and
-maintain the required metadata for files hosted on a TUF Repository. (We call
-these files â€œtargets,â€� to distinguish them from the metadata associated with
-them. Both of these together comprise a complete â€œprojectâ€�.) You will use these
-tools to generate the keys and metadata you need to claim and secure your files
-on the repository, and to update the metadata and sign it with those keys
-whenever you upload a new version of those files.
-
-This document will teach you how to use these tools in two parts. The first
-part walks through the creation of a minimal-complexity TUF project, which is
-all you need to get started, and can be expanded later. The second part details
-the full functionality of the tools, which offer a finer degree of control in
-securing your project.
-
-<a name="creating_a_simple_project">
-## Creating a Simple Project
-This section walks through the creation of a small example project with just
-one target. Once created, this project will be fully functional, and can be
-modified as needed.
-
-<a name="generating_a_key">
-### Generating a Key
-First, we will need to generate a key to sign the metadata. Keys are generated
-in pairs: one public and the other private. The private key is
-password-protected and is used to sign metadata. The public key can be shared
-freely, and is used to verify signatures made by the private key. You will need
-to share your public key with the repository hosting your project so they can
-verify your metadata is signed by the right person.
-
-The generate\_and\_write\_rsa\_keypair function will create two key files named
-"path/to/key.pub", which is the public key and "path/to/key", which
-is the private key.
-
-```
->>> from tuf.developer_tool import *
->>> generate_and_write_rsa_keypair_with_prompt(filepath="path/to/key")
-enter password to encrypt private key file 'path/to/key'
-(leave empty if key should not be encrypted):
-Confirm:
->>>
-```
-
-We can also use the bits parameter to set a different key length (the default
-is 3072). We can also `generate_and_write_rsa_keypair` with a `password`
-parameter if a prompt is not desired.
-
-In this example we will be using rsa keys, but ed25519 keys are also supported.
-
-Now we have a key for our project, we can proceed to create our project.
-
-<a name="the_project_class">
-### The Project Class
-The TUF developer tool is built around the Project class, which is used to
-organize groups of targets associated with a single set of metadata. A single
-Project instance is used to keep track of all the target files and metadata
-files in one project. The Project also keeps track of the keys and signatures,
-so that it can update all the metadata with the correct changes and signatures
-on a single command.
-
-Before creating a project, you must know where it will be located in the TUF
-Repository. In the following example, we will create a project to be hosted as
-"repo/unclaimed/example_project" within the repository, and store a local copy
-of the metadata at "path/to/metadata". The project will comprise a single
-target file, "local/path/to/example\_project/target\_1" locally, and we will
-secure it with the key generated above.
-
-First, we must import the generated keys. We can do that by issuing the
-following command:
-
-```
->>> public_key = import_rsa_publickey_from_file("path/to/keys.pub")
-```
-
-After importing the key, we can generate a new project with the following
-command:
-
-```
->>> project = create_new_project(project_name="example_project",
-...  metadata_directory="local/path/to/metadata/",
-...  targets_directory="local/path/to/example_project",
-...  location_in_repository="repo/unclaimed", key=public_key)
-```
-
-Let's list the arguments and make sense out of this rather long function call:
-
-- create a project named example_project: the name of the metadata file will match this name
-- the metadata will be located in "local/path/to/metadata", this means all of the generated files
-for this project will be located here
-- the targets are located in local/path/to/example project. If your targets are located in some other
-place, you can point the targets directory there. Files must reside under the path local/path/to/example_project or else it won't be possible to add them.
-- location\_in\_repository points to repo/unclaimed, this will be prepended to the paths in the generated metadata so the signatures all match.
-
-Now the project is in memory and we can do different operations on it such as
-adding and removing targets, delegating files, changing signatures and keys,
-etc. For the moment we are interested in adding our one and only target inside
-the project.
-
-To add a target, we issue the following method:
-
-```
->>> project.add_target("local/path/to/example_project/target_1")
-```
-
-Note that the file "target\_1" should be located in
-"local/path/to/example\_project", or this method will throw an
-error.
-
-At this point, the metadata is not valid. We have assigned a key to the
-project, but we have not *signed* it with that key. Signing is the process of
-generating a signature with our private key so it can be verified with the
-public key by the server (upon uploading) and by the clients (when updating).
-
-<a name="signing_and_writing_the_metadata">
-### Signing and Writing the Metadata ###
-In order to sign the metadata, we need to import the private key corresponding
-to the public key we added to the project. One the key is loaded to the project,
-it will automatically be used to sign the metadata whenever it is written.
-
-```
->>> private_key = import_rsa_privatekey_from_file("path/to/key")
-Enter password for the RSA key:
->>> project.load_signing_key(private_key)
->>> project.write()
-```
-
-When all changes to the project have been written, the metadata is ready to be
-uploaded to the repository, and it is safe to exit the Python interpreter, or
-to delete the Project instance.
-
-The project can be loaded later to update changes to the project. The metadata
-contains checksums that have to match the actual files or else it won't be
-accepted by the upstream repository.
-
-At this point, if you have followed all the steps in this document so far
-(substituting appropriate names and filepaths) you will have created a basic
-TUF project, which can be expanded as needed. The simplest way to get your
-project secured is to add all your files using add\_target() (or see [Managing
-Keys](#managing_keys) on how to add whole directories). If your project has
-several contributors, you may want to consider adding
-[delegations](#delegations) to your project.
-
-<a name="loading_an_existing_project">
-## Loading an Existing Project
-To make changes to existing metadata, we will need the Project again. We can
-restore it with the load_project() function.
-
-```
->>> from tuf.developer_tool import *
->>> project = load_project("local/path/to/metadata")
-```
-Each time the project is loaded anew, the necessary private keys must also be
-loaded in order to sign metadata.
-
-```
->>> private_key = import_rsa_privatekey_from_file("path/to/key")
-Enter a password for the RSA key:
->>> project.load_signing_key(private_key)
->>> project.write()
-```
-
-If your project does not use any delegations, the five commands above are all
-you need to update your project's metadata.
-
-<a name="delegations">
-## Delegations
-
-The project we created above is secured entirely by one key. If you want to
-allow someone else to update part of your project independently, you will need
-to delegate a new role for them. For example, we can do the following:
-
-```
->>> other_key = import_rsa_publickey_from_file(â€œanother_public_key.pubâ€�)
->>> targets = ['local/path/to/newtarget']
->>> project.delegate(â€œnewroleâ€�, [other_key], targets)
-```
-
-The new role is now an attribute of the Project instance, and contains the same
-methods as Project. For example, we can add targets in the same way as before:
-
-```
->>> project(â€œnewroleâ€�).add_target(â€œdelegated_1â€�)
-```
-
-Recall that we input the other personâ€™s key as part of a list. That list can
-contain any number of public keys. We can also add keys to the role after
-creating it using the [add\_verification\_key()](#adding_a_key_to_a_delegation)
-method.
-
-### Delegated Paths
-
-By default, a delegated role is permitted to add and modify targets anywhere in
-the Project's targets directory. We can delegate trust of paths to a role to
-limit this permission.
-
-```
->>> project.add_paths(["delegated/filepath"], "newrole")
-```
-
-This will prevent the delegated role from signing targets whose local filepaths
-do not begin with "delegated/filepath". We can delegate several filepaths to a
-role by adding them to the list in the first parameter, or by invoking the
-method again. A role with multiple delegated paths can add targets to any of
-them.
-
-Note that this method is invoked from the parent role (in this case, the Project)
-and takes the delegated role name as an argument.
-
-### Nested Delegations
-
-It is possible for a delegated role to have delegations of its own. We can do
-this by calling delegate() on a delegated role:
-
-```
->>> project("newrole").delegate(â€œnestedroleâ€�, [key], targets)
-```
-
-Nested delegations function no differently than first-order delegations. to
-demonstrate, adding a target to nested delegation looks like this:
-
-```
->>> project("newrole")("nestedrole").add_target("foo")
-```
-
-### Revoking Delegations
-Delegations can be revoked, removing the delegated role from the project.
-
-```
->>> project.revoke("newrole")
-```
-
-<a name="managing_keys">
-## Managing Keys
-This section describes the key-related functions and parameters not covered in
-the [Creating a Simple Project](#creating_a_simple_project) section.
-
-### Additional Parameters for Key Generation
-When generating keys, it is possible to specify the length of the key in bits
-and its password as parameters:
-
-```
->>> generate_and_write_rsa_keypair(password="pw", filepath="path/to/key", bits=2048)
-```
-The bits parameter defaults to 3072, and values below 2048 will raise an error.
-The password parameter is only intended to be used in scripts.
-
-<a name="adding_a_key_to_a_delegation">
-### Adding a Key to a Delegation
-New verifications keys can be added to an existing delegation using
-add\_verification\_key():
-
-```
->>> project("rolename").add_verification_key(pubkey)
-```
-
-A delegation can have several verification keys at once. By default, a
-delegated role with multiple keys can be written using any one of their
-corresponding signing keys. To modify this behavior, you can change the
-delegated role's [threshold](#delegation_thrsholds).
-
-### Removing a Key from a Delegation
-Verification keys can also be removed, like this:
-
-```
->>> project("rolename").remove_verification_key(pubkey)
-```
-
-Remember that a project can only have one key, so this method will return an
-error if there is already a key assigned to it. In order to replace a key we
-must first delete the existing one and then add the new one. It is possible to
-omit the key parameter in the create\_new\_project() function, and add the key
-later.
-
-### Changing the Project Key
-Each Project instance can only have one verification key. This key can be
-replaced by removing it and adding a new key, in that order.
-
-```
->>> project.remove_verification_key(oldkey)
->>> project.add_verification_key(new)
-```
-
-<a name="delegation_thresholds">
-### Delegation Thresholds
-
-Every delegated role has a threshold, which determines how many of its signing
-keys need to be loaded to write the role. The threshold defaults to 1, and
-should not exceed the number of verification keys assigned to the role. The
-threshold can be accessed as a property of a delegated role.
-
-```
->>> project("rolename").threshold = 2
-```
-
-The above line will set the "rolename" role's threshold to 2.
-
-<a name="managing_targets">
-## Managing Targets
-There are supporting functions of the targets library to make the project
-maintenance easier. These functions are described in this section.
-
-### Adding Targets by Directory
-This function is especially useful when creating a new project to add all the
-files contained in the targets directory. The following code block illustrates
-the usage of this function:
-
-```
->>> list_of_targets = \
-...   project.get_filepaths_in_directory(â€œpath/within/targets/folderâ€�,
-...   recursive_walk=False, follow_links=False)
->>> project.add_targets(list_of_targets)
-```
-
-### Deleting Targets from a Project
-It is possible that we want to delete existing targets inside our project. To
-stop the developer tool from tracking this file we can issue the following
-command:
-
-```
->>> project.remove_target(â€œtarget_1â€�)
-```
-
-Now the target file won't be part of the metadata.
diff --git a/tuf/README.md b/tuf/README.md
deleted file mode 100644
index dbc53b61b5..0000000000
--- a/tuf/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-[Quickstart](../docs/QUICKSTART.md)
-
-[CLI](../docs/CLI.md)
-
-[Tutorial](../docs/TUTORIAL.md)
diff --git a/tuf/__init__.py b/tuf/__init__.py
old mode 100755
new mode 100644
index 27498a6d94..187dcf3efb
--- a/tuf/__init__.py
+++ b/tuf/__init__.py
@@ -1,13 +1,7 @@
-# This value is used in the requests user agent.
-# setup.py has it hard-coded separately.
-# Currently, when the version is changed, it must be set in both locations.
-# TODO: Single-source the version number.
-__version__ = "0.17.0"
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
 
-# This reference implementation produces metadata intended to conform to
-# version 1.0.0 of the TUF specification, and is expected to consume metadata
-# conforming to version 1.0.0 of the TUF specification.
-# All downloaded metadata must be equal to our supported major version of 1.
-# For example, "1.4.3" and "1.0.0" are supported.  "2.0.0" is not supported.
-# See https://github.com/theupdateframework/specification
-SPECIFICATION_VERSION = '1.0.0'
+"""TUF."""
+
+# This value is used in the ngclient user agent.
+__version__ = "6.0.0"
diff --git a/tuf/api/_payload.py b/tuf/api/_payload.py
new file mode 100644
index 0000000000..8a8c40ffdb
--- /dev/null
+++ b/tuf/api/_payload.py
@@ -0,0 +1,1875 @@
+# Copyright the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+
+"""Helper classes for low-level Metadata API."""
+
+from __future__ import annotations
+
+import abc
+import fnmatch
+import hashlib
+import io
+import logging
+import sys
+from dataclasses import dataclass
+from datetime import datetime, timezone
+from typing import (
+    IO,
+    TYPE_CHECKING,
+    Any,
+    ClassVar,
+    TypeVar,
+)
+
+from securesystemslib import exceptions as sslib_exceptions
+from securesystemslib.signer import Key, Signature
+
+from tuf.api.exceptions import LengthOrHashMismatchError, UnsignedMetadataError
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+_ROOT = "root"
+_SNAPSHOT = "snapshot"
+_TARGETS = "targets"
+_TIMESTAMP = "timestamp"
+
+_DEFAULT_HASH_ALGORITHM = "sha256"
+_BLAKE_HASH_ALGORITHM = "blake2b-256"
+
+# We aim to support SPECIFICATION_VERSION and require the input metadata
+# files to have the same major version (the first number) as ours.
+SPECIFICATION_VERSION = ["1", "0", "31"]
+TOP_LEVEL_ROLE_NAMES = {_ROOT, _TIMESTAMP, _SNAPSHOT, _TARGETS}
+
+logger = logging.getLogger(__name__)
+
+# T is a Generic type constraint for container payloads
+T = TypeVar("T", "Root", "Timestamp", "Snapshot", "Targets")
+
+
+def _get_digest(algo: str) -> Any:  # noqa: ANN401
+    """New digest helper to support custom "blake2b-256" algo name."""
+    if algo == _BLAKE_HASH_ALGORITHM:
+        return hashlib.blake2b(digest_size=32)
+
+    return hashlib.new(algo)
+
+
+def _hash_bytes(data: bytes, algo: str) -> str:
+    """Returns hexdigest for data using algo."""
+    digest = _get_digest(algo)
+    digest.update(data)
+
+    return digest.hexdigest()
+
+
+def _hash_file(f: IO[bytes], algo: str) -> str:
+    """Returns hexdigest for file using algo."""
+    f.seek(0)
+    if sys.version_info >= (3, 11):
+        digest = hashlib.file_digest(f, lambda: _get_digest(algo))  # type: ignore[arg-type]
+
+    else:
+        # Fallback for older Pythons. Chunk size is taken from the previously
+        # used and now deprecated `securesystemslib.hash.digest_fileobject`.
+        digest = _get_digest(algo)
+        for chunk in iter(lambda: f.read(4096), b""):
+            digest.update(chunk)
+
+    return digest.hexdigest()
+
+
+class Signed(metaclass=abc.ABCMeta):
+    """A base class for the signed part of TUF metadata.
+
+    Objects with base class Signed are usually included in a ``Metadata`` object
+    on the signed attribute. This class provides attributes and methods that
+    are common for all TUF metadata types (roles).
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        version: Metadata version number. If None, then 1 is assigned.
+        spec_version: Supported TUF specification version. If None, then the
+            version currently supported by the library is assigned.
+        expires: Metadata expiry date in UTC timezone. If None, then current
+            date and time is assigned.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    # type is required for static reference without changing the API
+    type: ClassVar[str] = "signed"
+
+    # _type and type are identical: 1st replicates file format, 2nd passes lint
+    @property
+    def _type(self) -> str:
+        return self.type
+
+    @property
+    def expires(self) -> datetime:
+        """Get the metadata expiry date."""
+        return self._expires
+
+    @expires.setter
+    def expires(self, value: datetime) -> None:
+        """Set the metadata expiry date.
+
+        # Use 'datetime' module to e.g. expire in seven days from now
+        obj.expires = now(timezone.utc) + timedelta(days=7)
+        """
+        self._expires = value.replace(microsecond=0)
+        if self._expires.tzinfo is None:
+            # Naive datetime: just make it UTC
+            self._expires = self._expires.replace(tzinfo=timezone.utc)
+        elif self._expires.tzinfo != timezone.utc:
+            raise ValueError(f"Expected tz UTC, not {self._expires.tzinfo}")
+
+    # NOTE: Signed is a stupid name, because this might not be signed yet, but
+    # we keep it to match spec terminology (I often refer to this as "payload",
+    # or "inner metadata")
+    def __init__(
+        self,
+        version: int | None,
+        spec_version: str | None,
+        expires: datetime | None,
+        unrecognized_fields: dict[str, Any] | None,
+    ):
+        if spec_version is None:
+            spec_version = ".".join(SPECIFICATION_VERSION)
+        # Accept semver (X.Y.Z) but also X.Y for legacy compatibility
+        spec_list = spec_version.split(".")
+        if len(spec_list) not in [2, 3] or not all(
+            el.isdigit() for el in spec_list
+        ):
+            raise ValueError(f"Failed to parse spec_version {spec_version}")
+
+        # major version must match
+        if spec_list[0] != SPECIFICATION_VERSION[0]:
+            raise ValueError(f"Unsupported spec_version {spec_version}")
+
+        self.spec_version = spec_version
+
+        self.expires = expires or datetime.now(timezone.utc)
+
+        if version is None:
+            version = 1
+        elif version <= 0:
+            raise ValueError(f"version must be > 0, got {version}")
+        self.version = version
+
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Signed):
+            return False
+
+        return (
+            self.type == other.type
+            and self.version == other.version
+            and self.spec_version == other.spec_version
+            and self.expires == other.expires
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+    def __hash__(self) -> int:
+        return hash(
+            (
+                self.type,
+                self.version,
+                self.spec_version,
+                self.expires,
+                self.unrecognized_fields,
+            )
+        )
+
+    @abc.abstractmethod
+    def to_dict(self) -> dict[str, Any]:
+        """Serialize and return a dict representation of self."""
+        raise NotImplementedError
+
+    @classmethod
+    @abc.abstractmethod
+    def from_dict(cls, signed_dict: dict[str, Any]) -> Signed:
+        """Deserialization helper, creates object from json/dict
+        representation.
+        """
+        raise NotImplementedError
+
+    @classmethod
+    def _common_fields_from_dict(
+        cls, signed_dict: dict[str, Any]
+    ) -> tuple[int, str, datetime]:
+        """Return common fields of ``Signed`` instances from the passed dict
+        representation, and returns an ordered list to be passed as leading
+        positional arguments to a subclass constructor.
+
+        See ``{Root, Timestamp, Snapshot, Targets}.from_dict``
+        methods for usage.
+
+        """
+        _type = signed_dict.pop("_type")
+        if _type != cls.type:
+            raise ValueError(f"Expected type {cls.type}, got {_type}")
+
+        version = signed_dict.pop("version")
+        spec_version = signed_dict.pop("spec_version")
+        expires_str = signed_dict.pop("expires")
+        # Convert 'expires' TUF metadata string to a datetime object, which is
+        # what the constructor expects and what we store. The inverse operation
+        # is implemented in '_common_fields_to_dict'.
+        expires = datetime.strptime(expires_str, "%Y-%m-%dT%H:%M:%SZ").replace(
+            tzinfo=timezone.utc
+        )
+
+        return version, spec_version, expires
+
+    def _common_fields_to_dict(self) -> dict[str, Any]:
+        """Return a dict representation of common fields of
+        ``Signed`` instances.
+
+        See ``{Root, Timestamp, Snapshot, Targets}.to_dict`` methods for usage.
+
+        """
+        return {
+            "_type": self._type,
+            "version": self.version,
+            "spec_version": self.spec_version,
+            "expires": self.expires.strftime("%Y-%m-%dT%H:%M:%SZ"),
+            **self.unrecognized_fields,
+        }
+
+    def is_expired(self, reference_time: datetime | None = None) -> bool:
+        """Check metadata expiration against a reference time.
+
+        Args:
+            reference_time: Time to check expiration date against. A naive
+                datetime in UTC expected. Default is current UTC date and time.
+
+        Returns:
+            ``True`` if expiration time is less than the reference time.
+        """
+        if reference_time is None:
+            reference_time = datetime.now(timezone.utc)
+
+        return reference_time >= self.expires
+
+
+class Role:
+    """Container that defines which keys are required to sign roles metadata.
+
+    Role defines how many keys are required to successfully sign the roles
+    metadata, and which keys are accepted.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        keyids: Roles signing key identifiers.
+        threshold: Number of keys required to sign this role's metadata.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        keyids: list[str],
+        threshold: int,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        if len(set(keyids)) != len(keyids):
+            raise ValueError(f"Nonunique keyids: {keyids}")
+        if threshold < 1:
+            raise ValueError("threshold should be at least 1!")
+        self.keyids = keyids
+        self.threshold = threshold
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Role):
+            return False
+
+        return (
+            self.keyids == other.keyids
+            and self.threshold == other.threshold
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+    def __hash__(self) -> int:
+        return hash((self.keyids, self.threshold, self.unrecognized_fields))
+
+    @classmethod
+    def from_dict(cls, role_dict: dict[str, Any]) -> Role:
+        """Create ``Role`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError: Invalid arguments.
+        """
+        keyids = role_dict.pop("keyids")
+        threshold = role_dict.pop("threshold")
+        # All fields left in the role_dict are unrecognized.
+        return cls(keyids, threshold, role_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dictionary representation of self."""
+        return {
+            "keyids": self.keyids,
+            "threshold": self.threshold,
+            **self.unrecognized_fields,
+        }
+
+
+@dataclass
+class VerificationResult:
+    """Signature verification result for delegated role metadata.
+
+    Attributes:
+        threshold: Number of required signatures.
+        signed: dict of keyid to Key, containing keys that have signed.
+        unsigned: dict of keyid to Key, containing keys that have not signed.
+    """
+
+    threshold: int
+    signed: dict[str, Key]
+    unsigned: dict[str, Key]
+
+    def __bool__(self) -> bool:
+        return self.verified
+
+    @property
+    def verified(self) -> bool:
+        """True if threshold of signatures is met."""
+        return len(self.signed) >= self.threshold
+
+    @property
+    def missing(self) -> int:
+        """Number of additional signatures required to reach threshold."""
+        return max(0, self.threshold - len(self.signed))
+
+
+@dataclass
+class RootVerificationResult:
+    """Signature verification result for root metadata.
+
+    Root must be verified by itself and the previous root version. This
+    dataclass represents both results. For the edge case of first version
+    of root, these underlying results are identical.
+
+    Note that `signed` and `unsigned` correctness requires the underlying
+    VerificationResult keys to not conflict (no reusing the same keyid for
+    different keys).
+
+    Attributes:
+        first: First underlying VerificationResult
+        second: Second underlying VerificationResult
+    """
+
+    first: VerificationResult
+    second: VerificationResult
+
+    def __bool__(self) -> bool:
+        return self.verified
+
+    @property
+    def verified(self) -> bool:
+        """True if threshold of signatures is met in both underlying
+        VerificationResults.
+        """
+        return self.first.verified and self.second.verified
+
+    @property
+    def signed(self) -> dict[str, Key]:
+        """Dictionary of all signing keys that have signed, from both
+        VerificationResults.
+        return a union of all signed (in python<3.9 this requires
+        dict unpacking)
+        """
+        return {**self.first.signed, **self.second.signed}
+
+    @property
+    def unsigned(self) -> dict[str, Key]:
+        """Dictionary of all signing keys that have not signed, from both
+        VerificationResults.
+        return a union of all unsigned (in python<3.9 this requires
+        dict unpacking)
+        """
+        return {**self.first.unsigned, **self.second.unsigned}
+
+
+class _DelegatorMixin(metaclass=abc.ABCMeta):
+    """Class that implements verify_delegate() for Root and Targets"""
+
+    @abc.abstractmethod
+    def get_delegated_role(self, delegated_role: str) -> Role:
+        """Return the role object for the given delegated role.
+
+        Raises ValueError if delegated_role is not actually delegated.
+        """
+        raise NotImplementedError
+
+    @abc.abstractmethod
+    def get_key(self, keyid: str) -> Key:
+        """Return the key object for the given keyid.
+
+        Raises ValueError if key is not found.
+        """
+        raise NotImplementedError
+
+    def get_verification_result(
+        self,
+        delegated_role: str,
+        payload: bytes,
+        signatures: dict[str, Signature],
+    ) -> VerificationResult:
+        """Return signature threshold verification result for delegated role.
+
+        NOTE: Unlike `verify_delegate()` this method does not raise, if the
+        role metadata is not fully verified.
+
+        Args:
+            delegated_role: Name of the delegated role to verify
+            payload: Signed payload bytes for the delegated role
+            signatures: Signatures over payload bytes
+
+        Raises:
+            ValueError: no delegation was found for ``delegated_role``.
+        """
+        role = self.get_delegated_role(delegated_role)
+
+        signed = {}
+        unsigned = {}
+
+        for keyid in role.keyids:
+            try:
+                key = self.get_key(keyid)
+            except ValueError:
+                logger.info("No key for keyid %s", keyid)
+                continue
+
+            if keyid not in signatures:
+                unsigned[keyid] = key
+                logger.info("No signature for keyid %s", keyid)
+                continue
+
+            sig = signatures[keyid]
+            try:
+                key.verify_signature(sig, payload)
+                signed[keyid] = key
+            except sslib_exceptions.UnverifiedSignatureError:
+                unsigned[keyid] = key
+                logger.info("Key %s failed to verify %s", keyid, delegated_role)
+
+        return VerificationResult(role.threshold, signed, unsigned)
+
+    def verify_delegate(
+        self,
+        delegated_role: str,
+        payload: bytes,
+        signatures: dict[str, Signature],
+    ) -> None:
+        """Verify signature threshold for delegated role.
+
+        Verify that there are enough valid ``signatures`` over ``payload``, to
+        meet the threshold of keys for ``delegated_role``, as defined by the
+        delegator (``self``).
+
+        Args:
+            delegated_role: Name of the delegated role to verify
+            payload: Signed payload bytes for the delegated role
+            signatures: Signatures over payload bytes
+
+        Raises:
+            UnsignedMetadataError: ``delegated_role`` was not signed with
+                required threshold of keys for ``role_name``.
+            ValueError: no delegation was found for ``delegated_role``.
+        """
+        result = self.get_verification_result(
+            delegated_role, payload, signatures
+        )
+        if not result:
+            raise UnsignedMetadataError(
+                f"{delegated_role} was signed by {len(result.signed)}/"
+                f"{result.threshold} keys"
+            )
+
+
+class Root(Signed, _DelegatorMixin):
+    """A container for the signed part of root metadata.
+
+    Parameters listed below are also instance attributes.
+
+    Args:
+        version: Metadata version number. Default is 1.
+        spec_version: Supported TUF specification version. Default is the
+            version currently supported by the library.
+        expires: Metadata expiry date. Default is current date and time.
+        keys: Dictionary of keyids to Keys. Defines the keys used in ``roles``.
+            Default is empty dictionary.
+        roles: Dictionary of role names to Roles. Defines which keys are
+            required to sign the metadata for a specific role. Default is
+            a dictionary of top level roles without keys and threshold of 1.
+        consistent_snapshot: ``True`` if repository supports consistent
+        snapshots. Default is True.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    type = _ROOT
+
+    def __init__(
+        self,
+        version: int | None = None,
+        spec_version: str | None = None,
+        expires: datetime | None = None,
+        keys: dict[str, Key] | None = None,
+        roles: dict[str, Role] | None = None,
+        consistent_snapshot: bool | None = True,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        super().__init__(version, spec_version, expires, unrecognized_fields)
+        self.consistent_snapshot = consistent_snapshot
+        self.keys = keys if keys is not None else {}
+
+        if roles is None:
+            roles = {r: Role([], 1) for r in TOP_LEVEL_ROLE_NAMES}
+        elif set(roles) != TOP_LEVEL_ROLE_NAMES:
+            raise ValueError("Role names must be the top-level metadata roles")
+        self.roles = roles
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Root):
+            return False
+
+        return (
+            super().__eq__(other)
+            and self.keys == other.keys
+            and self.roles == other.roles
+            and self.consistent_snapshot == other.consistent_snapshot
+        )
+
+    def __hash__(self) -> int:
+        return hash(
+            (
+                super().__hash__(),
+                self.keys,
+                self.roles,
+                self.consistent_snapshot,
+                self.unrecognized_fields,
+            )
+        )
+
+    @classmethod
+    def from_dict(cls, signed_dict: dict[str, Any]) -> Root:
+        """Create ``Root`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, TypeError: Invalid arguments.
+        """
+        common_args = cls._common_fields_from_dict(signed_dict)
+        consistent_snapshot = signed_dict.pop("consistent_snapshot", None)
+        keys = signed_dict.pop("keys")
+        roles = signed_dict.pop("roles")
+
+        for keyid, key_dict in keys.items():
+            keys[keyid] = Key.from_dict(keyid, key_dict)
+        for role_name, role_dict in roles.items():
+            roles[role_name] = Role.from_dict(role_dict)
+
+        # All fields left in the signed_dict are unrecognized.
+        return cls(*common_args, keys, roles, consistent_snapshot, signed_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        root_dict = self._common_fields_to_dict()
+        keys = {keyid: key.to_dict() for (keyid, key) in self.keys.items()}
+        roles = {}
+        for role_name, role in self.roles.items():
+            roles[role_name] = role.to_dict()
+        if self.consistent_snapshot is not None:
+            root_dict["consistent_snapshot"] = self.consistent_snapshot
+
+        root_dict.update(
+            {
+                "keys": keys,
+                "roles": roles,
+            }
+        )
+        return root_dict
+
+    def add_key(self, key: Key, role: str) -> None:
+        """Add new signing key for delegated role ``role``.
+
+        Args:
+            key: Signing key to be added for ``role``.
+            role: Name of the role, for which ``key`` is added.
+
+        Raises:
+            ValueError: If the argument order is wrong or if ``role`` doesn't
+                exist.
+        """
+        # Verify that our users are not using the old argument order.
+        if isinstance(role, Key):
+            raise ValueError("Role must be a string, not a Key instance")
+
+        if role not in self.roles:
+            raise ValueError(f"Role {role} doesn't exist")
+        if key.keyid not in self.roles[role].keyids:
+            self.roles[role].keyids.append(key.keyid)
+        self.keys[key.keyid] = key
+
+    def revoke_key(self, keyid: str, role: str) -> None:
+        """Revoke key from ``role`` and updates the key store.
+
+        Args:
+            keyid: Identifier of the key to be removed for ``role``.
+            role: Name of the role, for which a signing key is removed.
+
+        Raises:
+            ValueError: If ``role`` doesn't exist or if ``role`` doesn't include
+                the key.
+        """
+        if role not in self.roles:
+            raise ValueError(f"Role {role} doesn't exist")
+        if keyid not in self.roles[role].keyids:
+            raise ValueError(f"Key with id {keyid} is not used by {role}")
+        self.roles[role].keyids.remove(keyid)
+        for keyinfo in self.roles.values():
+            if keyid in keyinfo.keyids:
+                return
+
+        del self.keys[keyid]
+
+    def get_delegated_role(self, delegated_role: str) -> Role:
+        """Return the role object for the given delegated role.
+
+        Raises ValueError if delegated_role is not actually delegated.
+        """
+        if delegated_role not in self.roles:
+            raise ValueError(f"Delegated role {delegated_role} not found")
+
+        return self.roles[delegated_role]
+
+    def get_key(self, keyid: str) -> Key:
+        if keyid not in self.keys:
+            raise ValueError(f"Key {keyid} not found")
+
+        return self.keys[keyid]
+
+    def get_root_verification_result(
+        self,
+        previous: Root | None,
+        payload: bytes,
+        signatures: dict[str, Signature],
+    ) -> RootVerificationResult:
+        """Return signature threshold verification result for two root roles.
+
+        Verify root metadata with two roles (`self` and optionally `previous`).
+
+        If the repository has no root role versions yet, `previous` can be left
+        None. In all other cases, `previous` must be the previous version of
+        the Root.
+
+        NOTE: Unlike `verify_delegate()` this method does not raise, if the
+        root metadata is not fully verified.
+
+        Args:
+            previous: The previous `Root` to verify payload with, or None
+            payload: Signed payload bytes for root
+            signatures: Signatures over payload bytes
+
+        Raises:
+            ValueError: no delegation was found for ``root`` or given Root
+                versions are not sequential.
+        """
+
+        if previous is None:
+            previous = self
+        elif self.version != previous.version + 1:
+            versions = f"v{previous.version} and v{self.version}"
+            raise ValueError(
+                f"Expected sequential root versions, got {versions}."
+            )
+
+        return RootVerificationResult(
+            previous.get_verification_result(Root.type, payload, signatures),
+            self.get_verification_result(Root.type, payload, signatures),
+        )
+
+
+class BaseFile:
+    """A base class of ``MetaFile`` and ``TargetFile``.
+
+    Encapsulates common static methods for length and hash verification.
+    """
+
+    @staticmethod
+    def _verify_hashes(
+        data: bytes | IO[bytes], expected_hashes: dict[str, str]
+    ) -> None:
+        """Verify that the hash of ``data`` matches ``expected_hashes``."""
+        for algo, exp_hash in expected_hashes.items():
+            try:
+                if isinstance(data, bytes):
+                    observed_hash = _hash_bytes(data, algo)
+                else:
+                    # if data is not bytes, assume it is a file object
+                    observed_hash = _hash_file(data, algo)
+            except (ValueError, TypeError) as e:
+                raise LengthOrHashMismatchError(
+                    f"Unsupported algorithm '{algo}'"
+                ) from e
+
+            if observed_hash != exp_hash:
+                raise LengthOrHashMismatchError(
+                    f"Observed hash {observed_hash} does not match "
+                    f"expected hash {exp_hash}"
+                )
+
+    @staticmethod
+    def _verify_length(data: bytes | IO[bytes], expected_length: int) -> None:
+        """Verify that the length of ``data`` matches ``expected_length``."""
+        if isinstance(data, bytes):
+            observed_length = len(data)
+        else:
+            # if data is not bytes, assume it is a file object
+            data.seek(0, io.SEEK_END)
+            observed_length = data.tell()
+
+        if observed_length != expected_length:
+            raise LengthOrHashMismatchError(
+                f"Observed length {observed_length} does not match "
+                f"expected length {expected_length}"
+            )
+
+    @staticmethod
+    def _validate_hashes(hashes: dict[str, str]) -> None:
+        if not hashes:
+            raise ValueError("Hashes must be a non empty dictionary")
+        for key, value in hashes.items():
+            if not (isinstance(key, str) and isinstance(value, str)):
+                raise TypeError("Hashes items must be strings")
+
+    @staticmethod
+    def _validate_length(length: int) -> None:
+        if length < 0:
+            raise ValueError(f"Length must be >= 0, got {length}")
+
+    @staticmethod
+    def _get_length_and_hashes(
+        data: bytes | IO[bytes], hash_algorithms: list[str] | None
+    ) -> tuple[int, dict[str, str]]:
+        """Calculate length and hashes of ``data``."""
+        if isinstance(data, bytes):
+            length = len(data)
+        else:
+            data.seek(0, io.SEEK_END)
+            length = data.tell()
+
+        hashes = {}
+
+        if hash_algorithms is None:
+            hash_algorithms = [_DEFAULT_HASH_ALGORITHM]
+
+        for algorithm in hash_algorithms:
+            try:
+                if isinstance(data, bytes):
+                    hashes[algorithm] = _hash_bytes(data, algorithm)
+                else:
+                    hashes[algorithm] = _hash_file(data, algorithm)
+            except (ValueError, TypeError) as e:
+                raise ValueError(f"Unsupported algorithm '{algorithm}'") from e
+
+        return (length, hashes)
+
+
+class MetaFile(BaseFile):
+    """A container with information about a particular metadata file.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        version: Version of the metadata file.
+        length: Length of the metadata file in bytes.
+        hashes: Dictionary of hash algorithm names to hashes of the metadata
+            file content.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError, TypeError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        version: int = 1,
+        length: int | None = None,
+        hashes: dict[str, str] | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        if version <= 0:
+            raise ValueError(f"Metafile version must be > 0, got {version}")
+        if length is not None:
+            self._validate_length(length)
+        if hashes is not None:
+            self._validate_hashes(hashes)
+
+        self.version = version
+        self.length = length
+        self.hashes = hashes
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, MetaFile):
+            return False
+
+        return (
+            self.version == other.version
+            and self.length == other.length
+            and self.hashes == other.hashes
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+    def __hash__(self) -> int:
+        return hash(
+            (self.version, self.length, self.hashes, self.unrecognized_fields)
+        )
+
+    @classmethod
+    def from_dict(cls, meta_dict: dict[str, Any]) -> MetaFile:
+        """Create ``MetaFile`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError: Invalid arguments.
+        """
+        version = meta_dict.pop("version")
+        length = meta_dict.pop("length", None)
+        hashes = meta_dict.pop("hashes", None)
+
+        # All fields left in the meta_dict are unrecognized.
+        return cls(version, length, hashes, meta_dict)
+
+    @classmethod
+    def from_data(
+        cls,
+        version: int,
+        data: bytes | IO[bytes],
+        hash_algorithms: list[str],
+    ) -> MetaFile:
+        """Creates MetaFile object from bytes.
+        This constructor should only be used if hashes are wanted.
+        By default, MetaFile(ver) should be used.
+        Args:
+            version: Version of the metadata file.
+            data: Metadata bytes that the metafile represents.
+            hash_algorithms: Hash algorithms to create the hashes with. If not
+            specified, "sha256" is used.
+
+        Raises:
+            ValueError: The hash algorithms list contains an unsupported
+            algorithm.
+        """
+        length, hashes = cls._get_length_and_hashes(data, hash_algorithms)
+        return cls(version, length, hashes)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dictionary representation of self."""
+        res_dict: dict[str, Any] = {
+            "version": self.version,
+            **self.unrecognized_fields,
+        }
+
+        if self.length is not None:
+            res_dict["length"] = self.length
+
+        if self.hashes is not None:
+            res_dict["hashes"] = self.hashes
+
+        return res_dict
+
+    def verify_length_and_hashes(self, data: bytes | IO[bytes]) -> None:
+        """Verify that the length and hashes of ``data`` match expected values.
+
+        Args:
+            data: File object or its content in bytes.
+
+        Raises:
+            LengthOrHashMismatchError: Calculated length or hashes do not
+                match expected values or hash algorithm is not supported.
+        """
+        if self.length is not None:
+            self._verify_length(data, self.length)
+
+        if self.hashes is not None:
+            self._verify_hashes(data, self.hashes)
+
+
+class Timestamp(Signed):
+    """A container for the signed part of timestamp metadata.
+
+    TUF file format uses a dictionary to contain the snapshot information:
+    this is not the case with ``Timestamp.snapshot_meta`` which is a
+    ``MetaFile``.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        version: Metadata version number. Default is 1.
+        spec_version: Supported TUF specification version. Default is the
+            version currently supported by the library.
+        expires: Metadata expiry date. Default is current date and time.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+        snapshot_meta: Meta information for snapshot metadata. Default is a
+            MetaFile with version 1.
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    type = _TIMESTAMP
+
+    def __init__(
+        self,
+        version: int | None = None,
+        spec_version: str | None = None,
+        expires: datetime | None = None,
+        snapshot_meta: MetaFile | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        super().__init__(version, spec_version, expires, unrecognized_fields)
+        self.snapshot_meta = snapshot_meta or MetaFile(1)
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Timestamp):
+            return False
+
+        return (
+            super().__eq__(other) and self.snapshot_meta == other.snapshot_meta
+        )
+
+    def __hash__(self) -> int:
+        return hash((super().__hash__(), self.snapshot_meta))
+
+    @classmethod
+    def from_dict(cls, signed_dict: dict[str, Any]) -> Timestamp:
+        """Create ``Timestamp`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError: Invalid arguments.
+        """
+        common_args = cls._common_fields_from_dict(signed_dict)
+        meta_dict = signed_dict.pop("meta")
+        snapshot_meta = MetaFile.from_dict(meta_dict["snapshot.json"])
+        # All fields left in the timestamp_dict are unrecognized.
+        return cls(*common_args, snapshot_meta, signed_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        res_dict = self._common_fields_to_dict()
+        res_dict["meta"] = {"snapshot.json": self.snapshot_meta.to_dict()}
+        return res_dict
+
+
+class Snapshot(Signed):
+    """A container for the signed part of snapshot metadata.
+
+    Snapshot contains information about all target Metadata files.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        version: Metadata version number. Default is 1.
+        spec_version: Supported TUF specification version. Default is the
+            version currently supported by the library.
+        expires: Metadata expiry date. Default is current date and time.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+        meta: Dictionary of targets filenames to ``MetaFile`` objects. Default
+            is a dictionary with a Metafile for "snapshot.json" version 1.
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    type = _SNAPSHOT
+
+    def __init__(
+        self,
+        version: int | None = None,
+        spec_version: str | None = None,
+        expires: datetime | None = None,
+        meta: dict[str, MetaFile] | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        super().__init__(version, spec_version, expires, unrecognized_fields)
+        self.meta = meta if meta is not None else {"targets.json": MetaFile(1)}
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Snapshot):
+            return False
+
+        return super().__eq__(other) and self.meta == other.meta
+
+    def __hash__(self) -> int:
+        return hash((super().__hash__(), self.meta))
+
+    @classmethod
+    def from_dict(cls, signed_dict: dict[str, Any]) -> Snapshot:
+        """Create ``Snapshot`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError: Invalid arguments.
+        """
+        common_args = cls._common_fields_from_dict(signed_dict)
+        meta_dicts = signed_dict.pop("meta")
+        meta = {}
+        for meta_path, meta_dict in meta_dicts.items():
+            meta[meta_path] = MetaFile.from_dict(meta_dict)
+        # All fields left in the snapshot_dict are unrecognized.
+        return cls(*common_args, meta, signed_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        snapshot_dict = self._common_fields_to_dict()
+        meta_dict = {}
+        for meta_path, meta_info in self.meta.items():
+            meta_dict[meta_path] = meta_info.to_dict()
+
+        snapshot_dict["meta"] = meta_dict
+        return snapshot_dict
+
+
+class DelegatedRole(Role):
+    """A container with information about a delegated role.
+
+    A delegation can happen in two ways:
+
+        - ``paths`` is set: delegates targets matching any path pattern in
+          ``paths``
+        - ``path_hash_prefixes`` is set: delegates targets whose target path
+          hash starts with any of the prefixes in ``path_hash_prefixes``
+
+        ``paths`` and ``path_hash_prefixes`` are mutually exclusive:
+        both cannot be set, at least one of them must be set.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        name: Delegated role name.
+        keyids: Delegated role signing key identifiers.
+        threshold: Number of keys required to sign this role's metadata.
+        terminating: ``True`` if this delegation terminates a target lookup.
+        paths: Path patterns. See note above.
+        path_hash_prefixes: Hash prefixes. See note above.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API.
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        name: str,
+        keyids: list[str],
+        threshold: int,
+        terminating: bool,
+        paths: list[str] | None = None,
+        path_hash_prefixes: list[str] | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        super().__init__(keyids, threshold, unrecognized_fields)
+        self.name = name
+        self.terminating = terminating
+        exclusive_vars = [paths, path_hash_prefixes]
+        if sum(1 for var in exclusive_vars if var is not None) != 1:
+            raise ValueError(
+                "Only one of (paths, path_hash_prefixes) must be set"
+            )
+
+        if paths is not None and any(not isinstance(p, str) for p in paths):
+            raise ValueError("Paths must be strings")
+        if path_hash_prefixes is not None and any(
+            not isinstance(p, str) for p in path_hash_prefixes
+        ):
+            raise ValueError("Path_hash_prefixes must be strings")
+
+        self.paths = paths
+        self.path_hash_prefixes = path_hash_prefixes
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, DelegatedRole):
+            return False
+
+        return (
+            super().__eq__(other)
+            and self.name == other.name
+            and self.terminating == other.terminating
+            and self.paths == other.paths
+            and self.path_hash_prefixes == other.path_hash_prefixes
+        )
+
+    def __hash__(self) -> int:
+        return hash(
+            (
+                super().__hash__(),
+                self.name,
+                self.terminating,
+                self.path,
+                self.path_hash_prefixes,
+            )
+        )
+
+    @classmethod
+    def from_dict(cls, role_dict: dict[str, Any]) -> DelegatedRole:
+        """Create ``DelegatedRole`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, TypeError: Invalid arguments.
+        """
+        name = role_dict.pop("name")
+        keyids = role_dict.pop("keyids")
+        threshold = role_dict.pop("threshold")
+        terminating = role_dict.pop("terminating")
+        paths = role_dict.pop("paths", None)
+        path_hash_prefixes = role_dict.pop("path_hash_prefixes", None)
+        # All fields left in the role_dict are unrecognized.
+        return cls(
+            name,
+            keyids,
+            threshold,
+            terminating,
+            paths,
+            path_hash_prefixes,
+            role_dict,
+        )
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        base_role_dict = super().to_dict()
+        res_dict = {
+            "name": self.name,
+            "terminating": self.terminating,
+            **base_role_dict,
+        }
+        if self.paths is not None:
+            res_dict["paths"] = self.paths
+        elif self.path_hash_prefixes is not None:
+            res_dict["path_hash_prefixes"] = self.path_hash_prefixes
+        return res_dict
+
+    @staticmethod
+    def _is_target_in_pathpattern(targetpath: str, pathpattern: str) -> bool:
+        """Determine whether ``targetpath`` matches the ``pathpattern``."""
+        # We need to make sure that targetpath and pathpattern are pointing to
+        # the same directory as fnmatch doesn't threat "/" as a special symbol.
+        target_parts = targetpath.split("/")
+        pattern_parts = pathpattern.split("/")
+        if len(target_parts) != len(pattern_parts):
+            return False
+
+        # Every part in the pathpattern could include a glob pattern, that's why
+        # each of the target and pathpattern parts should match.
+        for target_dir, pattern_dir in zip(target_parts, pattern_parts):
+            if not fnmatch.fnmatch(target_dir, pattern_dir):
+                return False
+
+        return True
+
+    def is_delegated_path(self, target_filepath: str) -> bool:
+        """Determine whether the given ``target_filepath`` is in one of
+        the paths that ``DelegatedRole`` is trusted to provide.
+
+        The ``target_filepath`` and the ``DelegatedRole`` paths are expected to
+        be in their canonical forms, so e.g. "a/b" instead of "a//b" . Only "/"
+        is supported as target path separator. Leading separators are not
+        handled as special cases (see `TUF specification on targetpath
+        <https://theupdateframework.github.io/specification/latest/#targetpath>`_).
+
+        Args:
+            target_filepath: URL path to a target file, relative to a base
+                targets URL.
+        """
+
+        if self.path_hash_prefixes is not None:
+            # Calculate the hash of the filepath
+            # to determine in which bin to find the target.
+            digest_object = hashlib.new(name="sha256")
+            digest_object.update(target_filepath.encode("utf-8"))
+            target_filepath_hash = digest_object.hexdigest()
+
+            for path_hash_prefix in self.path_hash_prefixes:
+                if target_filepath_hash.startswith(path_hash_prefix):
+                    return True
+
+        elif self.paths is not None:
+            for pathpattern in self.paths:
+                # A delegated role path may be an explicit path or glob
+                # pattern (Unix shell-style wildcards).
+                if self._is_target_in_pathpattern(target_filepath, pathpattern):
+                    return True
+
+        return False
+
+
+class SuccinctRoles(Role):
+    """Succinctly defines a hash bin delegation graph.
+
+    A ``SuccinctRoles`` object describes a delegation graph that covers all
+    targets, distributing them uniformly over the delegated roles (i.e. bins)
+    in the graph.
+
+    The total number of bins is 2 to the power of the passed ``bit_length``.
+
+    Bin names are the concatenation of the passed ``name_prefix`` and a
+    zero-padded hex representation of the bin index separated by a hyphen.
+
+    The passed ``keyids`` and ``threshold`` is used for each bin, and each bin
+    is 'terminating'.
+
+    For details: https://github.com/theupdateframework/taps/blob/master/tap15.md
+
+    Args:
+        keyids: Signing key identifiers for any bin metadata.
+        threshold: Number of keys required to sign any bin metadata.
+        bit_length: Number of bits between 1 and 32.
+        name_prefix: Prefix of all bin names.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API.
+
+    Raises:
+            ValueError, TypeError, AttributeError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        keyids: list[str],
+        threshold: int,
+        bit_length: int,
+        name_prefix: str,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ) -> None:
+        super().__init__(keyids, threshold, unrecognized_fields)
+
+        if bit_length <= 0 or bit_length > 32:
+            raise ValueError("bit_length must be between 1 and 32")
+        if not isinstance(name_prefix, str):
+            raise ValueError("name_prefix must be a string")
+
+        self.bit_length = bit_length
+        self.name_prefix = name_prefix
+
+        # Calculate the suffix_len value based on the total number of bins in
+        # hex. If bit_length = 10 then number_of_bins = 1024 or bin names will
+        # have a suffix between "000" and "3ff" in hex and suffix_len will be 3
+        # meaning the third bin will have a suffix of "003".
+        self.number_of_bins = 2**bit_length
+        # suffix_len is calculated based on "number_of_bins - 1" as the name
+        # of the last bin contains the number "number_of_bins -1" as a suffix.
+        self.suffix_len = len(f"{self.number_of_bins - 1:x}")
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, SuccinctRoles):
+            return False
+
+        return (
+            super().__eq__(other)
+            and self.bit_length == other.bit_length
+            and self.name_prefix == other.name_prefix
+        )
+
+    def __hash__(self) -> int:
+        return hash((super().__hash__(), self.bit_length, self.name_prefix))
+
+    @classmethod
+    def from_dict(cls, role_dict: dict[str, Any]) -> SuccinctRoles:
+        """Create ``SuccinctRoles`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, AttributeError, TypeError: Invalid arguments.
+        """
+        keyids = role_dict.pop("keyids")
+        threshold = role_dict.pop("threshold")
+        bit_length = role_dict.pop("bit_length")
+        name_prefix = role_dict.pop("name_prefix")
+        # All fields left in the role_dict are unrecognized.
+        return cls(keyids, threshold, bit_length, name_prefix, role_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        base_role_dict = super().to_dict()
+        return {
+            "bit_length": self.bit_length,
+            "name_prefix": self.name_prefix,
+            **base_role_dict,
+        }
+
+    def get_role_for_target(self, target_filepath: str) -> str:
+        """Calculate the name of the delegated role responsible for
+        ``target_filepath``.
+
+        The target at path ``target_filepath`` is assigned to a bin by casting
+        the left-most ``bit_length`` of bits of the file path hash digest to
+        int, using it as bin index between 0 and ``2**bit_length - 1``.
+
+        Args:
+            target_filepath: URL path to a target file, relative to a base
+                targets URL.
+        """
+        hasher = hashlib.new(name="sha256")
+        hasher.update(target_filepath.encode("utf-8"))
+
+        # We can't ever need more than 4 bytes (32 bits).
+        hash_bytes = hasher.digest()[:4]
+        # Right shift hash bytes, so that we only have the leftmost
+        # bit_length bits that we care about.
+        shift_value = 32 - self.bit_length
+        bin_number = int.from_bytes(hash_bytes, byteorder="big") >> shift_value
+        # Add zero padding if necessary and cast to hex the suffix.
+        suffix = f"{bin_number:0{self.suffix_len}x}"
+        return f"{self.name_prefix}-{suffix}"
+
+    def get_roles(self) -> Iterator[str]:
+        """Yield the names of all different delegated roles one by one."""
+        for i in range(self.number_of_bins):
+            suffix = f"{i:0{self.suffix_len}x}"
+            yield f"{self.name_prefix}-{suffix}"
+
+    def is_delegated_role(self, role_name: str) -> bool:
+        """Determine whether the given ``role_name`` is in one of
+        the delegated roles that ``SuccinctRoles`` represents.
+
+        Args:
+            role_name: The name of the role to check against.
+        """
+        desired_prefix = self.name_prefix + "-"
+
+        if not role_name.startswith(desired_prefix):
+            return False
+
+        suffix = role_name[len(desired_prefix) :]
+        if len(suffix) != self.suffix_len:
+            return False
+
+        try:
+            # make sure suffix is hex value
+            num = int(suffix, 16)
+        except ValueError:
+            return False
+
+        return 0 <= num < self.number_of_bins
+
+
+class Delegations:
+    """A container object storing information about all delegations.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        keys: Dictionary of keyids to Keys. Defines the keys used in ``roles``.
+        roles: Ordered dictionary of role names to DelegatedRoles instances. It
+            defines which keys are required to sign the metadata for a specific
+            role. The roles order also defines the order that role delegations
+            are considered during target searches.
+        succinct_roles: Contains succinct information about hash bin
+            delegations. Note that succinct roles is not a TUF specification
+            feature yet and setting `succinct_roles` to a value makes the
+            resulting metadata non-compliant. The metadata will not be accepted
+            as valid by specification compliant clients such as those built with
+            python-tuf <= 1.1.0. For more information see: https://github.com/theupdateframework/taps/blob/master/tap15.md
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Exactly one of ``roles`` and ``succinct_roles`` must be set.
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        keys: dict[str, Key],
+        roles: dict[str, DelegatedRole] | None = None,
+        succinct_roles: SuccinctRoles | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        self.keys = keys
+        if sum(1 for v in [roles, succinct_roles] if v is not None) != 1:
+            raise ValueError("One of roles and succinct_roles must be set")
+
+        if roles is not None:
+            for role in roles:
+                if not role or role in TOP_LEVEL_ROLE_NAMES:
+                    raise ValueError(
+                        "Delegated roles cannot be empty or use top-level "
+                        "role names"
+                    )
+
+        self.roles = roles
+        self.succinct_roles = succinct_roles
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Delegations):
+            return False
+
+        all_attributes_check = (
+            self.keys == other.keys
+            and self.roles == other.roles
+            and self.succinct_roles == other.succinct_roles
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+        if self.roles is not None and other.roles is not None:
+            all_attributes_check = (
+                all_attributes_check
+                # Order of the delegated roles matters (see issue #1788).
+                and list(self.roles.items()) == list(other.roles.items())
+            )
+
+        return all_attributes_check
+
+    def __hash__(self) -> int:
+        return hash(
+            (
+                self.keys,
+                self.roles,
+                self.succinct_roles,
+                self.unrecognized_fields,
+            )
+        )
+
+    @classmethod
+    def from_dict(cls, delegations_dict: dict[str, Any]) -> Delegations:
+        """Create ``Delegations`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, TypeError: Invalid arguments.
+        """
+        keys = delegations_dict.pop("keys")
+        keys_res = {}
+        for keyid, key_dict in keys.items():
+            keys_res[keyid] = Key.from_dict(keyid, key_dict)
+        roles = delegations_dict.pop("roles", None)
+        roles_res: dict[str, DelegatedRole] | None = None
+
+        if roles is not None:
+            roles_res = {}
+            for role_dict in roles:
+                new_role = DelegatedRole.from_dict(role_dict)
+                if new_role.name in roles_res:
+                    raise ValueError(f"Duplicate role {new_role.name}")
+                roles_res[new_role.name] = new_role
+
+        succinct_roles_dict = delegations_dict.pop("succinct_roles", None)
+        succinct_roles_info = None
+        if succinct_roles_dict is not None:
+            succinct_roles_info = SuccinctRoles.from_dict(succinct_roles_dict)
+
+        # All fields left in the delegations_dict are unrecognized.
+        return cls(keys_res, roles_res, succinct_roles_info, delegations_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        keys = {keyid: key.to_dict() for keyid, key in self.keys.items()}
+        res_dict: dict[str, Any] = {
+            "keys": keys,
+            **self.unrecognized_fields,
+        }
+        if self.roles is not None:
+            roles = [role_obj.to_dict() for role_obj in self.roles.values()]
+            res_dict["roles"] = roles
+        elif self.succinct_roles is not None:
+            res_dict["succinct_roles"] = self.succinct_roles.to_dict()
+
+        return res_dict
+
+    def get_roles_for_target(
+        self, target_filepath: str
+    ) -> Iterator[tuple[str, bool]]:
+        """Given ``target_filepath`` get names and terminating status of all
+        delegated roles who are responsible for it.
+
+        Args:
+            target_filepath: URL path to a target file, relative to a base
+                targets URL.
+        """
+        if self.roles is not None:
+            for role in self.roles.values():
+                if role.is_delegated_path(target_filepath):
+                    yield role.name, role.terminating
+
+        elif self.succinct_roles is not None:
+            # We consider all succinct_roles as terminating.
+            # For more information read TAP 15.
+            yield self.succinct_roles.get_role_for_target(target_filepath), True
+
+
+class TargetFile(BaseFile):
+    """A container with information about a particular target file.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        length: Length of the target file in bytes.
+        hashes: Dictionary of hash algorithm names to hashes of the target
+            file content.
+        path: URL path to a target file, relative to a base targets URL.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError, TypeError: Invalid arguments.
+    """
+
+    def __init__(
+        self,
+        length: int,
+        hashes: dict[str, str],
+        path: str,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        self._validate_length(length)
+        self._validate_hashes(hashes)
+
+        self.length = length
+        self.hashes = hashes
+        self.path = path
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    @property
+    def custom(self) -> Any:  # noqa: ANN401
+        """Get implementation specific data related to the target.
+
+        python-tuf does not use or validate this data.
+        """
+        return self.unrecognized_fields.get("custom")
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, TargetFile):
+            return False
+
+        return (
+            self.length == other.length
+            and self.hashes == other.hashes
+            and self.path == other.path
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+    def __hash__(self) -> int:
+        return hash(
+            (self.length, self.hashes, self.path, self.unrecognized_fields)
+        )
+
+    @classmethod
+    def from_dict(cls, target_dict: dict[str, Any], path: str) -> TargetFile:
+        """Create ``TargetFile`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, TypeError: Invalid arguments.
+        """
+        length = target_dict.pop("length")
+        hashes = target_dict.pop("hashes")
+
+        # All fields left in the target_dict are unrecognized.
+        return cls(length, hashes, path, target_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the JSON-serializable dictionary representation of self."""
+        return {
+            "length": self.length,
+            "hashes": self.hashes,
+            **self.unrecognized_fields,
+        }
+
+    @classmethod
+    def from_file(
+        cls,
+        target_file_path: str,
+        local_path: str,
+        hash_algorithms: list[str] | None = None,
+    ) -> TargetFile:
+        """Create ``TargetFile`` object from a file.
+
+        Args:
+            target_file_path: URL path to a target file, relative to a base
+                targets URL.
+            local_path: Local path to target file content.
+            hash_algorithms: Hash algorithms to calculate hashes with. If not
+                specified, "sha256" is used.
+
+        Raises:
+            FileNotFoundError: The file doesn't exist.
+            ValueError: The hash algorithms list contains an unsupported
+                algorithm.
+        """
+        with open(local_path, "rb") as file:
+            return cls.from_data(target_file_path, file, hash_algorithms)
+
+    @classmethod
+    def from_data(
+        cls,
+        target_file_path: str,
+        data: bytes | IO[bytes],
+        hash_algorithms: list[str] | None = None,
+    ) -> TargetFile:
+        """Create ``TargetFile`` object from bytes.
+
+        Args:
+            target_file_path: URL path to a target file, relative to a base
+                targets URL.
+            data: Target file content.
+            hash_algorithms: Hash algorithms to create the hashes with. If not
+                specified, "sha256" is used.
+
+        Raises:
+            ValueError: The hash algorithms list contains an unsupported
+                algorithm.
+        """
+        length, hashes = cls._get_length_and_hashes(data, hash_algorithms)
+        return cls(length, hashes, target_file_path)
+
+    def verify_length_and_hashes(self, data: bytes | IO[bytes]) -> None:
+        """Verify that length and hashes of ``data`` match expected values.
+
+        Args:
+            data: Target file object or its content in bytes.
+
+        Raises:
+            LengthOrHashMismatchError: Calculated length or hashes do not
+                match expected values or hash algorithm is not supported.
+        """
+        self._verify_length(data, self.length)
+        self._verify_hashes(data, self.hashes)
+
+    def get_prefixed_paths(self) -> list[str]:
+        """
+        Return hash-prefixed URL path fragments for the target file path.
+        """
+        paths = []
+        parent, sep, name = self.path.rpartition("/")
+        for hash_value in self.hashes.values():
+            paths.append(f"{parent}{sep}{hash_value}.{name}")
+
+        return paths
+
+
+class Targets(Signed, _DelegatorMixin):
+    """A container for the signed part of targets metadata.
+
+    Targets contains verifying information about target files and also
+    delegates responsibility to other Targets roles.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        version: Metadata version number. Default is 1.
+        spec_version: Supported TUF specification version. Default is the
+            version currently supported by the library.
+        expires: Metadata expiry date. Default is current date and time.
+        targets: Dictionary of target filenames to TargetFiles. Default is an
+            empty dictionary.
+        delegations: Defines how this Targets delegates responsibility to other
+            Targets Metadata files. Default is None.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API
+
+    Raises:
+        ValueError: Invalid arguments.
+    """
+
+    type = _TARGETS
+
+    def __init__(
+        self,
+        version: int | None = None,
+        spec_version: str | None = None,
+        expires: datetime | None = None,
+        targets: dict[str, TargetFile] | None = None,
+        delegations: Delegations | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ) -> None:
+        super().__init__(version, spec_version, expires, unrecognized_fields)
+        self.targets = targets if targets is not None else {}
+        self.delegations = delegations
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Targets):
+            return False
+
+        return (
+            super().__eq__(other)
+            and self.targets == other.targets
+            and self.delegations == other.delegations
+        )
+
+    def __hash__(self) -> int:
+        return hash((super().__hash__(), self.targets, self.delegations))
+
+    @classmethod
+    def from_dict(cls, signed_dict: dict[str, Any]) -> Targets:
+        """Create ``Targets`` object from its json/dict representation.
+
+        Raises:
+            ValueError, KeyError, TypeError: Invalid arguments.
+        """
+        common_args = cls._common_fields_from_dict(signed_dict)
+        targets = signed_dict.pop(_TARGETS)
+        try:
+            delegations_dict = signed_dict.pop("delegations")
+        except KeyError:
+            delegations = None
+        else:
+            delegations = Delegations.from_dict(delegations_dict)
+        res_targets = {}
+        for target_path, target_info in targets.items():
+            res_targets[target_path] = TargetFile.from_dict(
+                target_info, target_path
+            )
+        # All fields left in the targets_dict are unrecognized.
+        return cls(*common_args, res_targets, delegations, signed_dict)
+
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
+        targets_dict = self._common_fields_to_dict()
+        targets = {}
+        for target_path, target_file_obj in self.targets.items():
+            targets[target_path] = target_file_obj.to_dict()
+        targets_dict[_TARGETS] = targets
+        if self.delegations is not None:
+            targets_dict["delegations"] = self.delegations.to_dict()
+        return targets_dict
+
+    def add_key(self, key: Key, role: str | None = None) -> None:
+        """Add new signing key for delegated role ``role``.
+
+        If succinct_roles is used then the ``role`` argument is not required.
+
+        Args:
+            key: Signing key to be added for ``role``.
+            role: Name of the role, for which ``key`` is added.
+
+        Raises:
+            ValueError: If the argument order is wrong or if there are no
+                delegated roles or if ``role`` is not delegated by this Target.
+        """
+        # Verify that our users are not using the old argument order.
+        if isinstance(role, Key):
+            raise ValueError("Role must be a string, not a Key instance")
+
+        if self.delegations is None:
+            raise ValueError(f"Delegated role {role} doesn't exist")
+
+        if self.delegations.roles is not None:
+            if role not in self.delegations.roles:
+                raise ValueError(f"Delegated role {role} doesn't exist")
+            if key.keyid not in self.delegations.roles[role].keyids:
+                self.delegations.roles[role].keyids.append(key.keyid)
+
+        elif self.delegations.succinct_roles is not None:
+            if key.keyid not in self.delegations.succinct_roles.keyids:
+                self.delegations.succinct_roles.keyids.append(key.keyid)
+
+        self.delegations.keys[key.keyid] = key
+
+    def revoke_key(self, keyid: str, role: str | None = None) -> None:
+        """Revokes key from delegated role ``role`` and updates the delegations
+        key store.
+
+        If succinct_roles is used then the ``role`` argument is not required.
+
+        Args:
+            keyid: Identifier of the key to be removed for ``role``.
+            role: Name of the role, for which a signing key is removed.
+
+        Raises:
+            ValueError: If there are no delegated roles or if ``role`` is not
+                delegated by this ``Target`` or if key is not used by ``role``
+                or if key with id ``keyid`` is not used by succinct roles.
+        """
+        if self.delegations is None:
+            raise ValueError(f"Delegated role {role} doesn't exist")
+
+        if self.delegations.roles is not None:
+            if role not in self.delegations.roles:
+                raise ValueError(f"Delegated role {role} doesn't exist")
+            if keyid not in self.delegations.roles[role].keyids:
+                raise ValueError(f"Key with id {keyid} is not used by {role}")
+
+            self.delegations.roles[role].keyids.remove(keyid)
+            for keyinfo in self.delegations.roles.values():
+                if keyid in keyinfo.keyids:
+                    return
+
+        elif self.delegations.succinct_roles is not None:
+            if keyid not in self.delegations.succinct_roles.keyids:
+                raise ValueError(
+                    f"Key with id {keyid} is not used by succinct_roles"
+                )
+
+            self.delegations.succinct_roles.keyids.remove(keyid)
+
+        del self.delegations.keys[keyid]
+
+    def get_delegated_role(self, delegated_role: str) -> Role:
+        """Return the role object for the given delegated role.
+
+        Raises ValueError if delegated_role is not actually delegated.
+        """
+        if self.delegations is None:
+            raise ValueError("No delegations found")
+
+        role: Role | None = None
+        if self.delegations.roles is not None:
+            role = self.delegations.roles.get(delegated_role)
+        elif self.delegations.succinct_roles is not None:
+            succinct = self.delegations.succinct_roles
+            if succinct.is_delegated_role(delegated_role):
+                role = succinct
+
+        if not role:
+            raise ValueError(f"Delegated role {delegated_role} not found")
+
+        return role
+
+    def get_key(self, keyid: str) -> Key:
+        if self.delegations is None:
+            raise ValueError("No delegations found")
+        if keyid not in self.delegations.keys:
+            raise ValueError(f"Key {keyid} not found")
+
+        return self.delegations.keys[keyid]
diff --git a/tuf/api/dsse.py b/tuf/api/dsse.py
new file mode 100644
index 0000000000..8f812d0741
--- /dev/null
+++ b/tuf/api/dsse.py
@@ -0,0 +1,153 @@
+"""Low-level TUF DSSE API. (experimental!)"""
+
+from __future__ import annotations
+
+import json
+from typing import Generic, cast
+
+from securesystemslib.dsse import Envelope as BaseSimpleEnvelope
+
+# Expose all payload classes to use API independently of ``tuf.api.metadata``.
+from tuf.api._payload import (  # noqa: F401
+    _ROOT,
+    _SNAPSHOT,
+    _TARGETS,
+    _TIMESTAMP,
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    BaseFile,
+    DelegatedRole,
+    Delegations,
+    MetaFile,
+    Role,
+    Root,
+    RootVerificationResult,
+    Signed,
+    Snapshot,
+    SuccinctRoles,
+    T,
+    TargetFile,
+    Targets,
+    Timestamp,
+    VerificationResult,
+)
+from tuf.api.serialization import DeserializationError, SerializationError
+
+
+class SimpleEnvelope(Generic[T], BaseSimpleEnvelope):
+    """Dead Simple Signing Envelope (DSSE) for TUF payloads.
+
+    * Sign with ``self.sign()`` (inherited).
+    * Verify with ``verify_delegate`` on a ``Root`` or ``Targets``
+      object::
+
+        delegator.verify_delegate(
+            role_name,
+            envelope.pae(),  # Note, how we don't pass ``envelope.payload``!
+            envelope.signatures,
+            )
+
+    Attributes:
+        payload: Serialized payload bytes.
+        payload_type: Payload string identifier.
+        signatures: Ordered dictionary of keyids to ``Signature`` objects.
+
+    """
+
+    DEFAULT_PAYLOAD_TYPE = "application/vnd.tuf+json"
+
+    @classmethod
+    def from_bytes(cls, data: bytes) -> SimpleEnvelope[T]:
+        """Load envelope from JSON bytes.
+
+        NOTE: Unlike ``tuf.api.metadata.Metadata.from_bytes``, this method
+        does not deserialize the contained payload. Use ``self.get_signed`` to
+        deserialize the payload into a ``Signed`` object.
+
+        Args:
+            data: envelope JSON bytes.
+
+        Raises:
+            tuf.api.serialization.DeserializationError:
+                data cannot be deserialized.
+
+        Returns:
+            TUF ``SimpleEnvelope`` object.
+        """
+        try:
+            envelope_dict = json.loads(data.decode())
+            envelope = SimpleEnvelope.from_dict(envelope_dict)
+
+        except Exception as e:
+            raise DeserializationError from e
+
+        return cast("SimpleEnvelope[T]", envelope)
+
+    def to_bytes(self) -> bytes:
+        """Return envelope as JSON bytes.
+
+        NOTE: Unlike ``tuf.api.metadata.Metadata.to_bytes``, this method does
+        not serialize the payload. Use ``SimpleEnvelope.from_signed`` to
+        serialize a ``Signed`` object and wrap it in an SimpleEnvelope.
+
+        Raises:
+            tuf.api.serialization.SerializationError:
+                self cannot be serialized.
+        """
+        try:
+            envelope_dict = self.to_dict()
+            json_bytes = json.dumps(envelope_dict).encode()
+
+        except Exception as e:
+            raise SerializationError from e
+
+        return json_bytes
+
+    @classmethod
+    def from_signed(cls, signed: T) -> SimpleEnvelope[T]:
+        """Serialize payload as JSON bytes and wrap in envelope.
+
+        Args:
+            signed: ``Signed`` object.
+
+        Raises:
+            tuf.api.serialization.SerializationError:
+                The signed object cannot be serialized.
+        """
+        try:
+            signed_dict = signed.to_dict()
+            json_bytes = json.dumps(signed_dict).encode()
+
+        except Exception as e:
+            raise SerializationError from e
+
+        return cls(json_bytes, cls.DEFAULT_PAYLOAD_TYPE, {})
+
+    def get_signed(self) -> T:
+        """Extract and deserialize payload JSON bytes from envelope.
+
+        Raises:
+            tuf.api.serialization.DeserializationError:
+                The signed object cannot be deserialized.
+        """
+
+        try:
+            payload_dict = json.loads(self.payload.decode())
+
+            # TODO: can we move this to tuf.api._payload?
+            _type = payload_dict["_type"]
+            if _type == _TARGETS:
+                inner_cls: type[Signed] = Targets
+            elif _type == _SNAPSHOT:
+                inner_cls = Snapshot
+            elif _type == _TIMESTAMP:
+                inner_cls = Timestamp
+            elif _type == _ROOT:
+                inner_cls = Root
+            else:
+                raise ValueError(f'unrecognized role type "{_type}"')
+
+        except Exception as e:
+            raise DeserializationError from e
+
+        return cast("T", inner_cls.from_dict(payload_dict))
diff --git a/tuf/api/exceptions.py b/tuf/api/exceptions.py
new file mode 100644
index 0000000000..d5ba2ecce0
--- /dev/null
+++ b/tuf/api/exceptions.py
@@ -0,0 +1,72 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""
+Define TUF exceptions used inside the new modern implementation.
+The names chosen for TUF Exception classes should end in 'Error' except where
+there is a good reason not to, and provide that reason in those cases.
+"""
+
+
+#### Repository errors ####
+
+from securesystemslib.exceptions import StorageError  # noqa: F401
+
+
+class RepositoryError(Exception):
+    """An error with a repository's state, such as a missing file.
+
+    It covers all exceptions that come from the repository side when
+    looking from the perspective of users of metadata API or ngclient.
+    """
+
+
+class UnsignedMetadataError(RepositoryError):
+    """An error about metadata object with insufficient threshold of
+    signatures.
+    """
+
+
+class BadVersionNumberError(RepositoryError):
+    """An error for metadata that contains an invalid version number."""
+
+
+class EqualVersionNumberError(BadVersionNumberError):
+    """An error for metadata containing a previously verified version number."""
+
+
+class ExpiredMetadataError(RepositoryError):
+    """Indicate that a TUF Metadata file has expired."""
+
+
+class LengthOrHashMismatchError(RepositoryError):
+    """An error while checking the length and hash values of an object."""
+
+
+#### Download Errors ####
+
+
+class DownloadError(Exception):
+    """An error occurred while attempting to download a file."""
+
+
+class DownloadLengthMismatchError(DownloadError):
+    """Indicate that a mismatch of lengths was seen while downloading a file."""
+
+
+class SlowRetrievalError(DownloadError):
+    """Indicate that downloading a file took an unreasonably long time."""
+
+
+class DownloadHTTPError(DownloadError):
+    """
+    Returned by FetcherInterface implementations for HTTP errors.
+
+    Args:
+        message: The HTTP error message
+        status_code: The HTTP status code
+    """
+
+    def __init__(self, message: str, status_code: int):
+        super().__init__(message)
+        self.status_code = status_code
diff --git a/tuf/api/metadata.py b/tuf/api/metadata.py
index a747be6d13..85433e73a7 100644
--- a/tuf/api/metadata.py
+++ b/tuf/api/metadata.py
@@ -1,605 +1,418 @@
-"""TUF role metadata model.
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
 
-This module provides container classes for TUF role metadata, including methods
-to read/serialize/write from and to JSON, perform TUF-compliant metadata
-updates, and create and verify signatures.
+"""The low-level Metadata API.
 
-"""
-# Imports
-from datetime import datetime, timedelta
-from typing import Any, Dict, Optional
+The low-level Metadata API in ``tuf.api.metadata`` module contains:
 
-import json
-import tempfile
+* Safe de/serialization of metadata to and from files.
+* Access to and modification of signed metadata content.
+* Signing metadata and verifying signatures.
 
-from securesystemslib.formats import encode_canonical
-from securesystemslib.util import (
-    load_json_file,
-    load_json_string,
-    persist_temp_file
-)
-from securesystemslib.storage import StorageBackendInterface
-from securesystemslib.keys import create_signature, verify_signature
+Metadata API implements functionality at the metadata file level, it does
+not provide TUF repository or client functionality on its own (but can be used
+to implement them).
 
-import tuf.formats
-import tuf.exceptions
+The API design is based on the file format defined in the `TUF specification
+<https://theupdateframework.github.io/specification/latest/>`_ and the object
+attributes generally follow the JSON format used in the specification.
 
+The above principle means that a ``Metadata`` object represents a single
+metadata file, and has a ``signed`` attribute that is an instance of one of the
+four top level signed classes (``Root``, ``Timestamp``, ``Snapshot`` and
+``Targets``). To make Python type annotations useful ``Metadata`` can be
+type constrained: e.g. the signed attribute of ``Metadata[Root]``
+is known to be ``Root``.
 
-# Types
-JsonDict = Dict[str, Any]
+Currently Metadata API supports JSON as the file format.
 
+A basic example of repository implementation using the Metadata is available in
+`examples/repository <https://github.com/theupdateframework/python-tuf/tree/develop/examples/repository>`_.
+"""
 
-# Classes.
-class Metadata():
-    """A container for signed TUF metadata.
+from __future__ import annotations
 
-      Provides methods to (de-)serialize JSON metadata from and to file
-      storage, and to create and verify signatures.
+import logging
+import tempfile
+from typing import TYPE_CHECKING, Any, Generic, cast
+
+from securesystemslib.signer import Signature, Signer
+from securesystemslib.storage import FilesystemBackend, StorageBackendInterface
+
+# Expose payload classes via ``tuf.api.metadata`` to maintain the API,
+# even if they are unused in the local scope.
+from tuf.api._payload import (  # noqa: F401
+    _ROOT,
+    _SNAPSHOT,
+    _TARGETS,
+    _TIMESTAMP,
+    SPECIFICATION_VERSION,
+    TOP_LEVEL_ROLE_NAMES,
+    BaseFile,
+    DelegatedRole,
+    Delegations,
+    Key,
+    LengthOrHashMismatchError,
+    MetaFile,
+    Role,
+    Root,
+    RootVerificationResult,
+    Signed,
+    Snapshot,
+    SuccinctRoles,
+    T,
+    TargetFile,
+    Targets,
+    Timestamp,
+    VerificationResult,
+)
+from tuf.api.exceptions import UnsignedMetadataError
 
-    Attributes:
-        signed: A subclass of Signed, which has the actual metadata payload,
-            i.e. one of Targets, Snapshot, Timestamp or Root.
+if TYPE_CHECKING:
+    from tuf.api.serialization import (
+        MetadataDeserializer,
+        MetadataSerializer,
+        SignedSerializer,
+    )
 
-        signatures: A list of signatures over the canonical JSON representation
-            of the value of the signed attribute::
+logger = logging.getLogger(__name__)
 
-            [
-                {
-                    'keyid': '<SIGNING KEY KEYID>',
-                    'sig':' '<SIGNATURE HEX REPRESENTATION>'
-                },
-                ...
-            ]
 
+class Metadata(Generic[T]):
+    """A container for signed TUF metadata.
+
+    Provides methods to convert to and from dictionary, read and write to and
+    from file and to create and verify metadata signatures.
+
+    ``Metadata[T]`` is a generic container type where T can be any one type of
+    [``Root``, ``Timestamp``, ``Snapshot``, ``Targets``]. The purpose of this
+    is to allow static type checking of the signed attribute in code using
+    Metadata::
+
+        root_md = Metadata[Root].from_file("root.json")
+        # root_md type is now Metadata[Root]. This means signed and its
+        # attributes like consistent_snapshot are now statically typed and the
+        # types can be verified by static type checkers and shown by IDEs
+        print(root_md.signed.consistent_snapshot)
+
+    Using a type constraint is not required but not doing so means T is not a
+    specific type so static typing cannot happen. Note that the type constraint
+    ``[Root]`` is not validated at runtime (as pure annotations are not
+    available then).
+
+    New Metadata instances can be created from scratch with::
+
+        one_day = datetime.now(timezone.utc) + timedelta(days=1)
+        timestamp = Metadata(Timestamp(expires=one_day))
+
+    Apart from ``expires`` all of the arguments to the inner constructors have
+    reasonable default values for new metadata.
+
+    *All parameters named below are not just constructor arguments but also
+    instance attributes.*
+
+    Args:
+        signed: Actual metadata payload, i.e. one of ``Targets``,
+            ``Snapshot``, ``Timestamp`` or ``Root``.
+        signatures: Ordered dictionary of keyids to ``Signature`` objects, each
+            signing the canonical serialized representation of ``signed``.
+            Default is an empty dictionary.
+        unrecognized_fields: Dictionary of all attributes that are not managed
+            by TUF Metadata API. These fields are NOT signed and it's preferable
+            if unrecognized fields are added to the Signed derivative classes.
     """
-    def __init__(self, signed: 'Signed', signatures: list) -> None:
-        self.signed = signed
-        self.signatures = signatures
 
+    def __init__(
+        self,
+        signed: T,
+        signatures: dict[str, Signature] | None = None,
+        unrecognized_fields: dict[str, Any] | None = None,
+    ):
+        self.signed: T = signed
+        self.signatures = signatures if signatures is not None else {}
+        if unrecognized_fields is None:
+            unrecognized_fields = {}
+
+        self.unrecognized_fields = unrecognized_fields
+
+    def __eq__(self, other: object) -> bool:
+        if not isinstance(other, Metadata):
+            return False
+
+        return (
+            self.signatures == other.signatures
+            # Order of the signatures matters (see issue #1788).
+            and list(self.signatures.items()) == list(other.signatures.items())
+            and self.signed == other.signed
+            and self.unrecognized_fields == other.unrecognized_fields
+        )
+
+    def __hash__(self) -> int:
+        return hash((self.signatures, self.signed, self.unrecognized_fields))
+
+    @property
+    def signed_bytes(self) -> bytes:
+        """Default canonical json byte representation of ``self.signed``."""
+
+        # Use local scope import to avoid circular import errors
+        from tuf.api.serialization.json import CanonicalJSONSerializer  # noqa: I001, PLC0415
+
+        return CanonicalJSONSerializer().serialize(self.signed)
 
-    # Deserialization (factories).
     @classmethod
-    def from_dict(cls, metadata: JsonDict) -> 'Metadata':
-        """Creates Metadata object from its JSON/dict representation.
+    def from_dict(cls, metadata: dict[str, Any]) -> Metadata[T]:
+        """Create ``Metadata`` object from its json/dict representation.
 
-        Calls 'from_dict' for any complex metadata attribute represented by a
-        class also that has a 'from_dict' factory method. (Currently this is
-        only the signed attribute.)
-
-        Arguments:
-            metadata: TUF metadata in JSON/dict representation, as e.g.
-            returned by 'json.loads'.
+        Args:
+            metadata: TUF metadata in dict representation.
 
         Raises:
-            KeyError: The metadata dict format is invalid.
-            ValueError: The metadata has an unrecognized signed._type field.
+            ValueError, KeyError, TypeError: Invalid arguments.
 
-        Returns:
-            A TUF Metadata object.
+        Side Effect:
+            Destroys the metadata dict passed by reference.
 
+        Returns:
+            TUF ``Metadata`` object.
         """
+
         # Dispatch to contained metadata class on metadata _type field.
-        _type = metadata['signed']['_type']
+        _type = metadata["signed"]["_type"]
 
-        if _type == 'targets':
-            inner_cls = Targets
-        elif _type == 'snapshot':
+        if _type == _TARGETS:
+            inner_cls: type[Signed] = Targets
+        elif _type == _SNAPSHOT:
             inner_cls = Snapshot
-        elif _type == 'timestamp':
+        elif _type == _TIMESTAMP:
             inner_cls = Timestamp
-        elif _type == 'root':
+        elif _type == _ROOT:
             inner_cls = Root
         else:
             raise ValueError(f'unrecognized metadata type "{_type}"')
 
-        # NOTE: If Signature becomes a class, we should iterate over
-        # metadata['signatures'], call Signature.from_dict for each item, and
-        # pass a list of Signature objects to the Metadata constructor intead.
-        return cls(
-                signed=inner_cls.from_dict(metadata['signed']),
-                signatures=metadata['signatures'])
+        # Make sure signatures are unique
+        signatures: dict[str, Signature] = {}
+        for sig_dict in metadata.pop("signatures"):
+            sig = Signature.from_dict(sig_dict)
+            if sig.keyid in signatures:
+                raise ValueError(
+                    f"Multiple signatures found for keyid {sig.keyid}"
+                )
+            signatures[sig.keyid] = sig
 
+        return cls(
+            # Specific type T is not known at static type check time: use cast
+            signed=cast("T", inner_cls.from_dict(metadata.pop("signed"))),
+            signatures=signatures,
+            # All fields left in the metadata dict are unrecognized.
+            unrecognized_fields=metadata,
+        )
 
     @classmethod
-    def from_json(cls, metadata_json: str) -> 'Metadata':
-        """Loads JSON-formatted TUF metadata from a string.
-
-        Arguments:
-            metadata_json: TUF metadata in JSON-string representation.
+    def from_file(
+        cls,
+        filename: str,
+        deserializer: MetadataDeserializer | None = None,
+        storage_backend: StorageBackendInterface | None = None,
+    ) -> Metadata[T]:
+        """Load TUF metadata from file storage.
+
+        Args:
+            filename: Path to read the file from.
+            deserializer: ``MetadataDeserializer`` subclass instance that
+                implements the desired wireline format deserialization. Per
+                default a ``JSONDeserializer`` is used.
+            storage_backend: Object that implements
+                ``securesystemslib.storage.StorageBackendInterface``.
+                Default is ``FilesystemBackend`` (i.e. a local file).
 
         Raises:
-            securesystemslib.exceptions.Error, ValueError, KeyError: The
-                metadata cannot be parsed.
+            StorageError: The file cannot be read.
+            tuf.api.serialization.DeserializationError:
+                The file cannot be deserialized.
 
         Returns:
-            A TUF Metadata object.
-
+            TUF ``Metadata`` object.
         """
-        return cls.from_dict(load_json_string(metadata_json))
 
+        if storage_backend is None:
+            storage_backend = FilesystemBackend()
+
+        with storage_backend.get(filename) as file_obj:
+            return cls.from_bytes(file_obj.read(), deserializer)
 
     @classmethod
-    def from_json_file(
-            cls, filename: str,
-            storage_backend: Optional[StorageBackendInterface] = None
-            ) -> 'Metadata':
-        """Loads JSON-formatted TUF metadata from file storage.
-
-        Arguments:
-            filename: The path to read the file from.
-            storage_backend: An object that implements
-                securesystemslib.storage.StorageBackendInterface. Per default
-                a (local) FilesystemBackend is used.
+    def from_bytes(
+        cls,
+        data: bytes,
+        deserializer: MetadataDeserializer | None = None,
+    ) -> Metadata[T]:
+        """Load TUF metadata from raw data.
+
+        Args:
+            data: Metadata content.
+            deserializer: ``MetadataDeserializer`` implementation to use.
+                Default is ``JSONDeserializer``.
 
         Raises:
-            securesystemslib.exceptions.StorageError: The file cannot be read.
-            securesystemslib.exceptions.Error, ValueError, KeyError: The
-                metadata cannot be parsed.
+            tuf.api.serialization.DeserializationError:
+                The file cannot be deserialized.
 
         Returns:
-            A TUF Metadata object.
-
+            TUF ``Metadata`` object.
         """
-        return cls.from_dict(load_json_file(filename, storage_backend))
 
+        if deserializer is None:
+            # Use local scope import to avoid circular import errors
+            from tuf.api.serialization.json import JSONDeserializer  # noqa: I001, PLC0415
 
-    # Serialization.
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        return {
-            'signatures': self.signatures,
-            'signed': self.signed.to_dict()
-        }
+            deserializer = JSONDeserializer()
 
+        return deserializer.deserialize(data)
 
-    def to_json(self, compact: bool = False) -> None:
-        """Returns the optionally compacted JSON representation of self. """
-        return json.dumps(
-                self.to_dict(),
-                indent=(None if compact else 1),
-                separators=((',', ':') if compact else (',', ': ')),
-                sort_keys=True)
+    def to_bytes(self, serializer: MetadataSerializer | None = None) -> bytes:
+        """Return the serialized TUF file format as bytes.
 
+        Note that if bytes are first deserialized into ``Metadata`` and then
+        serialized with ``to_bytes()``, the two are not required to be
+        identical even though the signatures are guaranteed to stay valid. If
+        byte-for-byte equivalence is required (which is the case when content
+        hashes are used in other metadata), the original content should be used
+        instead of re-serializing.
 
-    def to_json_file(
-            self, filename: str, compact: bool = False,
-            storage_backend: StorageBackendInterface = None) -> None:
-        """Writes the JSON representation of self to file storage.
+        Args:
+            serializer: ``MetadataSerializer`` instance that implements the
+                desired serialization format. Default is ``JSONSerializer``.
 
-        Arguments:
-            filename: The path to write the file to.
-            compact: A boolean indicating if the JSON string should be compact
-                    by excluding whitespace.
-            storage_backend: An object that implements
-                securesystemslib.storage.StorageBackendInterface. Per default
-                a (local) FilesystemBackend is used.
         Raises:
-            securesystemslib.exceptions.StorageError:
-                The file cannot be written.
-
+            tuf.api.serialization.SerializationError:
+                The metadata object cannot be serialized.
         """
-        with tempfile.TemporaryFile() as temp_file:
-            temp_file.write(self.to_json(compact).encode('utf-8'))
-            persist_temp_file(temp_file, filename, storage_backend)
-
-
-    # Signatures.
-    def sign(self, key: JsonDict, append: bool = False) -> JsonDict:
-        """Creates signature over 'signed' and assigns it to 'signatures'.
-
-        Arguments:
-            key: A securesystemslib-style private key object used for signing.
-            append: A boolean indicating if the signature should be appended to
-                the list of signatures or replace any existing signatures. The
-                default behavior is to replace signatures.
 
-        Raises:
-            securesystemslib.exceptions.FormatError: Key argument is malformed.
-            securesystemslib.exceptions.CryptoError, \
-                    securesystemslib.exceptions.UnsupportedAlgorithmError:
-                Signing errors.
+        if serializer is None:
+            # Use local scope import to avoid circular import errors
+            from tuf.api.serialization.json import JSONSerializer  # noqa: I001, PLC0415
 
-        Returns:
-            A securesystemslib-style signature object.
+            serializer = JSONSerializer(compact=True)
 
-        """
-        signature = create_signature(key, self.signed.to_canonical_bytes())
+        return serializer.serialize(self)
 
-        if append:
-            self.signatures.append(signature)
-        else:
-            self.signatures = [signature]
-
-        return signature
+    def to_dict(self) -> dict[str, Any]:
+        """Return the dict representation of self."""
 
+        signatures = [sig.to_dict() for sig in self.signatures.values()]
 
-    def verify(self, key: JsonDict) -> bool:
-        """Verifies 'signatures' over 'signed' that match the passed key by id.
+        return {
+            "signatures": signatures,
+            "signed": self.signed.to_dict(),
+            **self.unrecognized_fields,
+        }
 
-        Arguments:
-            key: A securesystemslib-style public key object.
+    def to_file(
+        self,
+        filename: str,
+        serializer: MetadataSerializer | None = None,
+        storage_backend: StorageBackendInterface | None = None,
+    ) -> None:
+        """Write TUF metadata to file storage.
+
+        Note that if a file is first deserialized into ``Metadata`` and then
+        serialized with ``to_file()``, the two files are not required to be
+        identical even though the signatures are guaranteed to stay valid. If
+        byte-for-byte equivalence is required (which is the case when file
+        hashes are used in other metadata), the original file should be used
+        instead of re-serializing.
+
+        Args:
+            filename: Path to write the file to.
+            serializer: ``MetadataSerializer`` instance that implements the
+                desired serialization format. Default is ``JSONSerializer``.
+            storage_backend: ``StorageBackendInterface`` implementation. Default
+                is ``FilesystemBackend`` (i.e. a local file).
 
         Raises:
-            # TODO: Revise exception taxonomy
-            tuf.exceptions.Error: None or multiple signatures found for key.
-            securesystemslib.exceptions.FormatError: Key argument is malformed.
-            securesystemslib.exceptions.CryptoError, \
-                    securesystemslib.exceptions.UnsupportedAlgorithmError:
-                Signing errors.
-
-        Returns:
-            A boolean indicating if the signature is valid for the passed key.
-
+            tuf.api.serialization.SerializationError:
+                The metadata object cannot be serialized.
+            StorageError: The file cannot be written.
         """
-        signatures_for_keyid = list(filter(
-                lambda sig: sig['keyid'] == key['keyid'], self.signatures))
-
-        if not signatures_for_keyid:
-            raise tuf.exceptions.Error(
-                    f'no signature for key {key["keyid"]}.')
-
-        if len(signatures_for_keyid) > 1:
-            raise tuf.exceptions.Error(
-                    f'{len(signatures_for_keyid)} signatures for key '
-                    f'{key["keyid"]}, not sure which one to verify.')
-
-        return verify_signature(
-            key, signatures_for_keyid[0],
-            self.signed.to_canonical_bytes())
-
-
 
-class Signed:
-    """A base class for the signed part of TUF metadata.
+        if storage_backend is None:
+            storage_backend = FilesystemBackend()
 
-    Objects with base class Signed are usually included in a Metadata object
-    on the signed attribute. This class provides attributes and methods that
-    are common for all TUF metadata types (roles).
+        bytes_data = self.to_bytes(serializer)
 
-    Attributes:
-        _type: The metadata type string.
-        version: The metadata version number.
-        spec_version: The TUF specification version number (semver) the
-            metadata format adheres to.
-        expires: The metadata expiration datetime object.
-
-
-    """
-    # NOTE: Signed is a stupid name, because this might not be signed yet, but
-    # we keep it to match spec terminology (I often refer to this as "payload",
-    # or "inner metadata")
+        with tempfile.TemporaryFile() as temp_file:
+            temp_file.write(bytes_data)
+            storage_backend.put(temp_file, filename)
 
-    def __init__(
-            self, _type: str, version: int, spec_version: str,
-            expires: datetime) -> None:
+    # Signatures.
+    def sign(
+        self,
+        signer: Signer,
+        append: bool = False,
+        signed_serializer: SignedSerializer | None = None,
+    ) -> Signature:
+        """Create signature over ``signed`` and assigns it to ``signatures``.
+
+        Args:
+            signer: A ``securesystemslib.signer.Signer`` object that provides a
+                signing implementation to generate the signature.
+            append: ``True`` if the signature should be appended to
+                the list of signatures or replace any existing signatures. The
+                default behavior is to replace signatures.
+            signed_serializer: ``SignedSerializer`` that implements the desired
+                serialization format. Default is ``CanonicalJSONSerializer``.
 
-        self._type = _type
-        self.version = version
-        self.spec_version = spec_version
-        self.expires = expires
+        Raises:
+            tuf.api.serialization.SerializationError:
+                ``signed`` cannot be serialized.
+            UnsignedMetadataError: Signing errors.
 
-        # TODO: Should we separate data validation from constructor?
-        if version < 0:
-            raise ValueError(f'version must be < 0, got {version}')
-        self.version = version
+        Returns:
+            ``securesystemslib.signer.Signature`` object that was added into
+            signatures.
+        """
 
+        if signed_serializer is None:
+            bytes_data = self.signed_bytes
+        else:
+            bytes_data = signed_serializer.serialize(self.signed)
 
-    # Deserialization (factories).
-    @classmethod
-    def from_dict(cls, signed_dict: JsonDict) -> 'Signed':
-        """Creates Signed object from its JSON/dict representation. """
-
-        # Convert 'expires' TUF metadata string to a datetime object, which is
-        # what the constructor expects and what we store. The inverse operation
-        # is implemented in 'to_dict'.
-        signed_dict['expires'] = tuf.formats.expiry_string_to_datetime(
-                signed_dict['expires'])
-        # NOTE: We write the converted 'expires' back into 'signed_dict' above
-        # so that we can pass it to the constructor as  '**signed_dict' below,
-        # along with other fields that belong to Signed subclasses.
-        # Any 'from_dict'(-like) conversions of fields that correspond to a
-        # subclass should be performed in the 'from_dict' method of that
-        # subclass and also be written back into 'signed_dict' before calling
-        # super().from_dict.
-
-        # NOTE: cls might be a subclass of Signed, if 'from_dict' was called on
-        # that subclass (see e.g. Metadata.from_dict).
-        return cls(**signed_dict)
-
-
-    # Serialization.
-    def to_canonical_bytes(self) -> bytes:
-        """Returns the UTF-8 encoded canonical JSON representation of self. """
-        return encode_canonical(self.to_dict()).encode('UTF-8')
-
-
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        return {
-            '_type': self._type,
-            'version': self.version,
-            'spec_version': self.spec_version,
-            'expires': self.expires.isoformat() + 'Z'
-        }
+        try:
+            signature = signer.sign(bytes_data)
+        except Exception as e:
+            raise UnsignedMetadataError(f"Failed to sign: {e}") from e
 
+        if not append:
+            self.signatures.clear()
 
-    # Modification.
-    def bump_expiration(self, delta: timedelta = timedelta(days=1)) -> None:
-        """Increments the expires attribute by the passed timedelta. """
-        self.expires += delta
-
-
-    def bump_version(self) -> None:
-        """Increments the metadata version number by 1."""
-        self.version += 1
-
-
-class Root(Signed):
-    """A container for the signed part of root metadata.
-
-    Attributes:
-        consistent_snapshot: A boolean indicating whether the repository
-            supports consistent snapshots.
-        keys: A dictionary that contains a public key store used to verify
-            top level roles metadata signatures::
-            {
-                '<KEYID>': {
-                    'keytype': '<KEY TYPE>',
-                    'scheme': '<KEY SCHEME>',
-                    'keyid_hash_algorithms': [
-                        '<HASH ALGO 1>',
-                        '<HASH ALGO 2>'
-                        ...
-                    ],
-                    'keyval': {
-                        'public': '<PUBLIC KEY HEX REPRESENTATION>'
-                    }
-                },
-                ...
-            },
-        roles: A dictionary that contains a list of signing keyids and
-            a signature threshold for each top level role::
-            {
-                '<ROLE>': {
-                    'keyids': ['<SIGNING KEY KEYID>', ...],
-                    'threshold': <SIGNATURE THRESHOLD>,
-                },
-                ...
-            }
+        self.signatures[signature.keyid] = signature
 
-    """
-    # TODO: determine an appropriate value for max-args and fix places where
-    # we violate that. This __init__ function takes 7 arguments, whereas the
-    # default max-args value for pylint is 5
-    # pylint: disable=too-many-arguments
-    def __init__(
-            self, _type: str, version: int, spec_version: str,
-            expires: datetime, consistent_snapshot: bool,
-            keys: JsonDict, roles: JsonDict) -> None:
-        super().__init__(_type, version, spec_version, expires)
-        # TODO: Add classes for keys and roles
-        self.consistent_snapshot = consistent_snapshot
-        self.keys = keys
-        self.roles = roles
-
-
-    # Serialization.
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        json_dict = super().to_dict()
-        json_dict.update({
-            'consistent_snapshot': self.consistent_snapshot,
-            'keys': self.keys,
-            'roles': self.roles
-        })
-        return json_dict
-
-
-    # Update key for a role.
-    def add_key(self, role: str, keyid: str, key_metadata: JsonDict) -> None:
-        """Adds new key for 'role' and updates the key store. """
-        if keyid not in self.roles[role]['keyids']:
-            self.roles[role]['keyids'].append(keyid)
-            self.keys[keyid] = key_metadata
-
-
-    # Remove key for a role.
-    def remove_key(self, role: str, keyid: str) -> None:
-        """Removes key for 'role' and updates the key store. """
-        if keyid in self.roles[role]['keyids']:
-            self.roles[role]['keyids'].remove(keyid)
-            for keyinfo in self.roles.values():
-                if keyid in keyinfo['keyids']:
-                    return
-
-            del self.keys[keyid]
-
-
-
-
-class Timestamp(Signed):
-    """A container for the signed part of timestamp metadata.
-
-    Attributes:
-        meta: A dictionary that contains information about snapshot metadata::
-
-            {
-                'snapshot.json': {
-                    'version': <SNAPSHOT METADATA VERSION NUMBER>,
-                    'length': <SNAPSHOT METADATA FILE SIZE>, // optional
-                    'hashes': {
-                        '<HASH ALGO 1>': '<SNAPSHOT METADATA FILE HASH 1>',
-                        '<HASH ALGO 2>': '<SNAPSHOT METADATA FILE HASH 2>',
-                        ...
-                    }
-                }
-            }
+        return signature
 
-    """
-    def __init__(
-            self, _type: str, version: int, spec_version: str,
-            expires: datetime, meta: JsonDict) -> None:
-        super().__init__(_type, version, spec_version, expires)
-        # TODO: Add class for meta
-        self.meta = meta
-
-
-    # Serialization.
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        json_dict = super().to_dict()
-        json_dict.update({
-            'meta': self.meta
-        })
-        return json_dict
-
-
-    # Modification.
-    def update(self, version: int, length: int, hashes: JsonDict) -> None:
-        """Assigns passed info about snapshot metadata to meta dict. """
-        self.meta['snapshot.json'] = {
-            'version': version,
-            'length': length,
-            'hashes': hashes
-        }
+    def verify_delegate(
+        self,
+        delegated_role: str,
+        delegated_metadata: Metadata,
+        signed_serializer: SignedSerializer | None = None,
+    ) -> None:
+        """Verify that ``delegated_metadata`` is signed with the required
+        threshold of keys for ``delegated_role``.
+
+        .. deprecated:: 3.1.0
+           Please use ``Root.verify_delegate()`` or
+           ``Targets.verify_delegate()``.
+        """
 
+        if self.signed.type not in ["root", "targets"]:
+            raise TypeError("Call is valid only on delegator metadata")
 
-class Snapshot(Signed):
-    """A container for the signed part of snapshot metadata.
-
-    Attributes:
-        meta: A dictionary that contains information about targets metadata::
-
-            {
-                'targets.json': {
-                    'version': <TARGETS METADATA VERSION NUMBER>,
-                    'length': <TARGETS METADATA FILE SIZE>, // optional
-                    'hashes': {
-                        '<HASH ALGO 1>': '<TARGETS METADATA FILE HASH 1>',
-                        '<HASH ALGO 2>': '<TARGETS METADATA FILE HASH 2>',
-                        ...
-                    } // optional
-                },
-                '<DELEGATED TARGETS ROLE 1>.json': {
-                    ...
-                },
-                '<DELEGATED TARGETS ROLE 2>.json': {
-                    ...
-                },
-                ...
-            }
+        if signed_serializer is None:
+            payload = delegated_metadata.signed_bytes
 
-    """
-    def __init__(
-            self, _type: str, version: int, spec_version: str,
-            expires: datetime, meta: JsonDict) -> None:
-        super().__init__(_type, version, spec_version, expires)
-        # TODO: Add class for meta
-        self.meta = meta
-
-    # Serialization.
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        json_dict = super().to_dict()
-        json_dict.update({
-            'meta': self.meta
-        })
-        return json_dict
-
-
-    # Modification.
-    def update(
-            self, rolename: str, version: int, length: Optional[int] = None,
-            hashes: Optional[JsonDict] = None) -> None:
-        """Assigns passed (delegated) targets role info to meta dict. """
-        metadata_fn = f'{rolename}.json'
-
-        self.meta[metadata_fn] = {'version': version}
-        if length is not None:
-            self.meta[metadata_fn]['length'] = length
-
-        if hashes is not None:
-            self.meta[metadata_fn]['hashes'] = hashes
-
-
-class Targets(Signed):
-    """A container for the signed part of targets metadata.
-
-    Attributes:
-        targets: A dictionary that contains information about target files::
-
-            {
-                '<TARGET FILE NAME>': {
-                    'length': <TARGET FILE SIZE>,
-                    'hashes': {
-                        '<HASH ALGO 1>': '<TARGET FILE HASH 1>',
-                        '<HASH ALGO 2>': '<TARGETS FILE HASH 2>',
-                        ...
-                    },
-                    'custom': <CUSTOM OPAQUE DICT> // optional
-                },
-                ...
-            }
-
-        delegations: A dictionary that contains a list of delegated target
-            roles and public key store used to verify their metadata
-            signatures::
-
-            {
-                'keys' : {
-                    '<KEYID>': {
-                        'keytype': '<KEY TYPE>',
-                        'scheme': '<KEY SCHEME>',
-                        'keyid_hash_algorithms': [
-                            '<HASH ALGO 1>',
-                            '<HASH ALGO 2>'
-                            ...
-                        ],
-                        'keyval': {
-                            'public': '<PUBLIC KEY HEX REPRESENTATION>'
-                        }
-                    },
-                    ...
-                },
-                'roles': [
-                    {
-                        'name': '<ROLENAME>',
-                        'keyids': ['<SIGNING KEY KEYID>', ...],
-                        'threshold': <SIGNATURE THRESHOLD>,
-                        'terminating': <TERMINATING BOOLEAN>,
-                        'path_hash_prefixes': ['<HEX DIGEST>', ... ], // or
-                        'paths' : ['PATHPATTERN', ... ],
-                    },
-                ...
-                ]
-            }
+        else:
+            payload = signed_serializer.serialize(delegated_metadata.signed)
 
-    """
-    # TODO: determine an appropriate value for max-args and fix places where
-    # we violate that. This __init__ function takes 7 arguments, whereas the
-    # default max-args value for pylint is 5
-    # pylint: disable=too-many-arguments
-    def __init__(
-            self, _type: str, version: int, spec_version: str,
-            expires: datetime, targets: JsonDict, delegations: JsonDict
-            ) -> None:
-        super().__init__(_type, version, spec_version, expires)
-        # TODO: Add class for meta
-        self.targets = targets
-        self.delegations = delegations
-
-
-    # Serialization.
-    def to_dict(self) -> JsonDict:
-        """Returns the JSON-serializable dictionary representation of self. """
-        json_dict = super().to_dict()
-        json_dict.update({
-            'targets': self.targets,
-            'delegations': self.delegations,
-        })
-        return json_dict
-
-    # Modification.
-    def update(self, filename: str, fileinfo: JsonDict) -> None:
-        """Assigns passed target file info to meta dict. """
-        self.targets[filename] = fileinfo
+        self.signed.verify_delegate(
+            delegated_role, payload, delegated_metadata.signatures
+        )
diff --git a/tuf/api/pylintrc b/tuf/api/pylintrc
deleted file mode 100644
index a75347f446..0000000000
--- a/tuf/api/pylintrc
+++ /dev/null
@@ -1,6 +0,0 @@
-[MESSAGE_CONTROL]
-disable=fixme
-
-[FORMAT]
-indent-string="    "
-max-line-length=79
diff --git a/tuf/api/serialization/__init__.py b/tuf/api/serialization/__init__.py
new file mode 100644
index 0000000000..f24a70227f
--- /dev/null
+++ b/tuf/api/serialization/__init__.py
@@ -0,0 +1,58 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""``tuf.api.serialization`` module provides abstract base classes and concrete
+implementations to serialize and deserialize TUF metadata.
+
+Any custom de/serialization implementations should inherit from the abstract
+base classes defined in this module. The implementations can use the
+``to_dict()``/``from_dict()`` implementations available in the Metadata
+API objects.
+
+- Metadata de/serializers are used to convert to and from wireline formats.
+- Signed serializers are used to canonicalize data for cryptographic signatures
+  generation and verification.
+"""
+
+import abc
+from typing import TYPE_CHECKING
+
+from tuf.api.exceptions import RepositoryError
+
+if TYPE_CHECKING:
+    from tuf.api.metadata import Metadata, Signed
+
+
+class SerializationError(RepositoryError):
+    """Error during serialization."""
+
+
+class DeserializationError(RepositoryError):
+    """Error during deserialization."""
+
+
+class MetadataDeserializer(metaclass=abc.ABCMeta):
+    """Abstract base class for deserialization of Metadata objects."""
+
+    @abc.abstractmethod
+    def deserialize(self, raw_data: bytes) -> "Metadata":
+        """Deserialize bytes to Metadata object."""
+        raise NotImplementedError
+
+
+class MetadataSerializer(metaclass=abc.ABCMeta):
+    """Abstract base class for serialization of Metadata objects."""
+
+    @abc.abstractmethod
+    def serialize(self, metadata_obj: "Metadata") -> bytes:
+        """Serialize Metadata object to bytes."""
+        raise NotImplementedError
+
+
+class SignedSerializer(metaclass=abc.ABCMeta):
+    """Abstract base class for serialization of Signed objects."""
+
+    @abc.abstractmethod
+    def serialize(self, signed_obj: "Signed") -> bytes:
+        """Serialize Signed object to bytes."""
+        raise NotImplementedError
diff --git a/tuf/api/serialization/json.py b/tuf/api/serialization/json.py
new file mode 100644
index 0000000000..9b411eb99f
--- /dev/null
+++ b/tuf/api/serialization/json.py
@@ -0,0 +1,107 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""``tuf.api.serialization.json`` module provides concrete implementations to
+serialize and deserialize TUF role metadata to and from the JSON wireline
+format for transportation, and to serialize the 'signed' part of TUF role
+metadata to the OLPC Canonical JSON format for signature generation and
+verification.
+"""
+
+from __future__ import annotations
+
+import json
+
+from securesystemslib.formats import encode_canonical
+
+# ... to allow de/serializing Metadata and Signed objects here, while also
+# creating default de/serializers there (see metadata local scope imports).
+# NOTE: A less desirable alternative would be to add more abstraction layers.
+from tuf.api.metadata import Metadata, Signed
+from tuf.api.serialization import (
+    DeserializationError,
+    MetadataDeserializer,
+    MetadataSerializer,
+    SerializationError,
+    SignedSerializer,
+)
+
+
+class JSONDeserializer(MetadataDeserializer):
+    """Provides JSON to Metadata deserialize method."""
+
+    def deserialize(self, raw_data: bytes) -> Metadata:
+        """Deserialize utf-8 encoded JSON bytes into Metadata object."""
+        try:
+            json_dict = json.loads(raw_data.decode("utf-8"))
+            metadata_obj = Metadata.from_dict(json_dict)
+
+        except Exception as e:
+            raise DeserializationError("Failed to deserialize JSON") from e
+
+        return metadata_obj
+
+
+class JSONSerializer(MetadataSerializer):
+    """Provides Metadata to JSON serialize method.
+
+    Args:
+        compact: A boolean indicating if the JSON bytes generated in
+            'serialize' should be compact by excluding whitespace.
+        validate: Check that the metadata object can be deserialized again
+            without change of contents and thus find common mistakes.
+            This validation might slow down serialization significantly.
+
+    """
+
+    def __init__(self, compact: bool = False, validate: bool | None = False):
+        self.compact = compact
+        self.validate = validate
+
+    def serialize(self, metadata_obj: Metadata) -> bytes:
+        """Serialize Metadata object into utf-8 encoded JSON bytes."""
+
+        try:
+            indent = None if self.compact else 1
+            separators = (",", ":") if self.compact else (",", ": ")
+            json_bytes = json.dumps(
+                metadata_obj.to_dict(),
+                indent=indent,
+                separators=separators,
+                sort_keys=True,
+            ).encode("utf-8")
+
+            if self.validate:
+                try:
+                    new_md_obj = JSONDeserializer().deserialize(json_bytes)
+                    if metadata_obj != new_md_obj:
+                        raise ValueError(
+                            "Metadata changes if you serialize and deserialize."
+                        )
+                except Exception as e:
+                    raise ValueError("Metadata cannot be validated!") from e
+
+        except Exception as e:
+            raise SerializationError("Failed to serialize JSON") from e
+
+        return json_bytes
+
+
+class CanonicalJSONSerializer(SignedSerializer):
+    """Provides Signed to OLPC Canonical JSON serialize method."""
+
+    def serialize(self, signed_obj: Signed) -> bytes:
+        """Serialize Signed object into utf-8 encoded OLPC Canonical JSON
+        bytes.
+        """
+        try:
+            signed_dict = signed_obj.to_dict()
+            canon_str = encode_canonical(signed_dict)
+            # encode_canonical cannot return None if output_function is not set
+            assert canon_str is not None  # noqa: S101
+            canonical_bytes = canon_str.encode("utf-8")
+
+        except Exception as e:
+            raise SerializationError from e
+
+        return canonical_bytes
diff --git a/tuf/client/README.md b/tuf/client/README.md
deleted file mode 100644
index 29b838bc4d..0000000000
--- a/tuf/client/README.md
+++ /dev/null
@@ -1,151 +0,0 @@
-# updater.py
-**updater.py** is intended as the only TUF module that software update
-systems need to utilize for a low-level integration.  It provides a single
-class representing an updater that includes methods to download, install, and
-verify metadata or target files in a secure manner.  Importing
-**tuf.client.updater** and instantiating its main class is all that is
-required by the client prior to a TUF update request.  The importation and
-instantiation steps allow TUF to load all of the required metadata files
-and set the repository mirror information.
-
-The **tuf.repository_tool** module can be used to create a TUF repository.  See
-[tuf/README](../README.md) for more information on creating TUF repositories.
-
-
-## Overview of the Update Process
-
-1. The software update system instructs TUF to check for updates.
-
-2. TUF downloads and verifies timestamp.json.
-
-3. If timestamp.json indicates that snapshot.json has changed, TUF downloads and
-verifies snapshot.json.
-
-4. TUF determines which metadata files listed in snapshot.json differ from those
-described in the last snapshot.json that TUF has seen.  If root.json has changed,
-the update process starts over using the new root.json.
-
-5. TUF provides the software update system with a list of available files
-according to targets.json.
-
-6. The software update system instructs TUF to download a specific target
-file.
-
-7. TUF downloads and verifies the file and then makes the file available to
-the software update system.
-
-
-If at any point in the above procedure there is a problem (i.e., if unexpired,
-signed, valid metadata cannot be retrieved from the repository), the Root file
-is downloaded and the process is retried once more (and only once to avoid an
-infinite loop).  Optionally, the software update system using the framework
-can decide how to proceed rather than automatically downloading a new Root file.
-
-
-## Example Client
-### Refresh TUF Metadata
-```Python
-# The client first imports the 'updater.py' module, the only module the
-# client is required to import.  The client will utilize a single class
-# from this module.
-import tuf.client.updater
-import tuf.settings
-
-# The only other module the client interacts with is 'settings'.  The
-# client accesses this module solely to set the repository directory.
-# This directory will hold the files downloaded from a remote repository.
-tuf.settings.repositories_directory = 'path/to/local_repository'
-
-# Next, the client creates a dictionary object containing the repository
-# mirrors.  The client may download content from any one of these mirrors.
-# In the example below, a single mirror named 'mirror1' is defined.  The
-# mirror is located at 'http://localhost:8001', and all of the metadata
-# and targets files can be found in the 'metadata' and 'targets' directory,
-# respectively.  If the client wishes to only download target files from
-# specific directories on the mirror, the 'confined_target_dirs' field
-# should be set.  In this example, the client hasn't set confined_target_dirs,
-# which is interpreted as no confinement.  In other words, the client can download
-# targets from any directory or subdirectories.  If the client had chosen
-# 'targets1/', they would have been confined to the '/targets/targets1/'
-# directory on the 'http://localhost:8001' mirror.
-repository_mirrors = {'mirror1': {'url_prefix': 'http://localhost:8001',
-                                  'metadata_path': 'metadata',
-                                  'targets_path': 'targets'}}
-
-# The updater may now be instantiated.  The Updater class of 'updater.py'
-# is called with two arguments.  The first argument assigns a name to this
-# particular updater and the second argument the repository mirrors defined
-# above.
-updater = tuf.client.updater.Updater('updater', repository_mirrors)
-
-# The client calls the refresh() method to ensure it has the latest
-# copies of the top-level metadata files (i.e., Root, Targets, Snapshot,
-# Timestamp).
-updater.refresh()
-```
-
-
-### Download Specific Target File
-```Python
-# Example demonstrating an update that downloads a specific target.
-
-# Refresh the metadata of the top-level roles (i.e., Root, Targets, Snapshot, Timestamp).
-updater.refresh()
-
-# get_one_valid_targetinfo() updates role metadata when required.  In other
-# words, if the client doesn't possess the metadata that lists 'LICENSE.txt',
-# get_one_valid_targetinfo() will try to fetch / update it.
-target = updater.get_one_valid_targetinfo('LICENSE.txt')
-updated_target = updater.updated_targets([target], destination_directory)
-
-for target in updated_target:
-  updater.download_target(target, destination_directory)
-  # Client code here may also reference target information (including 'custom')
-  # by directly accessing the dictionary entries of the target.  The 'custom'
-  # entry is additional file information explicitly set by the remote repository.
-  target_path = target['filepath']
-  target_length = target['fileinfo']['length']
-  target_hashes = target['fileinfo']['hashes']
-  target_custom_data = target['fileinfo']['custom']
-
-  # Remove any files from the destination directory that are no longer being
-  # tracked. For example, a target file from a previous snapshot that has since
-  # been removed on the remote repository.
-  updater.remove_obsolete_targets(destination_directory)
-```
-
-### A Simple Integration Example with client.py
-``` Bash
-# Assume a simple TUF repository has been setup with 'repo.py'.
-$ client.py --repo http://localhost:8001
-
-# Metadata and target files are silently updated.  An exception is only raised if an error,
-# or attack, is detected.  Inspect 'tuf.log' for the outcome of the update process.
-
-$ cat tuf.log
-[2013-12-16 16:17:05,267 UTC] [tuf.download] [INFO][_download_file:726@download.py]
-Downloading: http://localhost:8001/metadata/timestamp.json
-
-[2013-12-16 16:17:05,269 UTC] [tuf.download] [WARNING][_check_content_length:589@download.py]
-reported_length (545) < required_length (2048)
-
-[2013-12-16 16:17:05,269 UTC] [tuf.download] [WARNING][_check_downloaded_length:656@download.py]
-Downloaded 545 bytes, but expected 2048 bytes. There is a difference of 1503 bytes!
-
-[2013-12-16 16:17:05,611 UTC] [tuf.download] [INFO][_download_file:726@download.py]
-Downloading: http://localhost:8001/metadata/snapshot.json
-
-[2013-12-16 16:17:05,612 UTC] [tuf.client.updater] [INFO][_check_hashes:636@updater.py]
-The file's sha256 hash is correct: 782675fadd650eeb2926d33c401b5896caacf4fd6766498baf2bce2f3b739db4
-
-[2013-12-16 16:17:05,951 UTC] [tuf.download] [INFO][_download_file:726@download.py]
-Downloading: http://localhost:8001/metadata/targets.json
-
-[2013-12-16 16:17:05,952 UTC] [tuf.client.updater] [INFO][_check_hashes:636@updater.py]
-The file's sha256 hash is correct: a5019c28a1595c43a14cad2b6252c4d1db472dd6412a9204181ad6d61b1dd69a
-
-[2013-12-16 16:17:06,299 UTC] [tuf.download] [INFO][_download_file:726@download.py]
-Downloading: http://localhost:8001/targets/file1.txt
-
-[2013-12-16 16:17:06,303 UTC] [tuf.client.updater] [INFO][_check_hashes:636@updater.py]
-The file's sha256 hash is correct: ecdc5536f73bdae8816f0ea40726ef5e9b810d914493075903bb90623d97b1d8
diff --git a/tuf/client/updater.py b/tuf/client/updater.py
deleted file mode 100755
index 9ada0974e2..0000000000
--- a/tuf/client/updater.py
+++ /dev/null
@@ -1,3183 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  updater.py
-
-<Author>
-  Geremy Condra
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  July 2012.  Based on a previous version of this module. (VLAD)
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  'updater.py' is intended to be the only TUF module that software update
-  systems need to utilize.  It provides a single class representing an
-  updater that includes methods to download, install, and verify
-  metadata/target files in a secure manner.  Importing 'updater.py' and
-  instantiating its main class is all that is required by the client prior
-  to a TUF update request.  The importation and instantiation steps allow
-  TUF to load all of the required metadata files and set the repository mirror
-  information.
-
-  An overview of the update process:
-
-  1. The software update system instructs TUF to check for updates.
-
-  2. TUF downloads and verifies timestamp.json.
-
-  3. If timestamp.json indicates that snapshot.json has changed, TUF downloads
-     and verifies snapshot.json.
-
-  4. TUF determines which metadata files listed in snapshot.json differ from
-     those described in the last snapshot.json that TUF has seen.  If root.json
-     has changed, the update process starts over using the new root.json.
-
-  5. TUF provides the software update system with a list of available files
-     according to targets.json.
-
-  6. The software update system instructs TUF to download a specific target
-     file.
-
-  7. TUF downloads and verifies the file and then makes the file available to
-     the software update system.
-
-<Example Client>
-
-  # The client first imports the 'updater.py' module, the only module the
-  # client is required to import.  The client will utilize a single class
-  # from this module.
-  import tuf.client.updater
-
-  # The only other module the client interacts with is 'tuf.settings'.  The
-  # client accesses this module solely to set the repository directory.
-  # This directory will hold the files downloaded from a remote repository.
-  tuf.settings.repositories_directory = 'local-repository'
-
-  # Next, the client creates a dictionary object containing the repository
-  # mirrors.  The client may download content from any one of these mirrors.
-  # In the example below, a single mirror named 'mirror1' is defined.  The
-  # mirror is located at 'http://localhost:8001', and all of the metadata
-  # and targets files can be found in the 'metadata' and 'targets' directory,
-  # respectively.  If the client wishes to only download target files from
-  # specific directories on the mirror, the 'confined_target_dirs' field
-  # should be set.  In this example, the client hasn't set confined_target_dirs,
-  # which is interpreted as no confinement.
-  # In other words, the client can download
-  # targets from any directory or subdirectories.  If the client had chosen
-  # 'targets1/', they would have been confined to the '/targets/targets1/'
-  # directory on the 'http://localhost:8001' mirror.
-  repository_mirrors = {'mirror1': {'url_prefix': 'http://localhost:8001',
-                                    'metadata_path': 'metadata',
-                                    'targets_path': 'targets'}}
-
-  # The updater may now be instantiated.  The Updater class of 'updater.py'
-  # is called with two arguments.  The first argument assigns a name to this
-  # particular updater and the second argument the repository mirrors defined
-  # above.
-  updater = tuf.client.updater.Updater('updater', repository_mirrors)
-
-  # The client next calls the refresh() method to ensure it has the latest
-  # copies of the metadata files.
-  updater.refresh()
-
-  # get_one_valid_targetinfo() updates role metadata when required.  In other
-  # words, if the client doesn't possess the metadata that lists 'LICENSE.txt',
-  # get_one_valid_targetinfo() will try to fetch / update it.
-  target = updater.get_one_valid_targetinfo('LICENSE.txt')
-
-  # Determine if 'target' has changed since the client's last refresh().  A
-  # target is considered updated if it does not exist in
-  # 'destination_directory' (current directory) or the target located there has
-  # changed.
-  destination_directory = '.'
-  updated_target = updater.updated_targets([target], destination_directory)
-
-  for target in updated_target:
-    updater.download_target(target, destination_directory)
-    # Client code here may also reference target information (including
-    # 'custom') by directly accessing the dictionary entries of the target.
-    # The 'custom' entry is additional file information explicitly set by the
-    # remote repository.
-    target_path = target['filepath']
-    target_length = target['fileinfo']['length']
-    target_hashes = target['fileinfo']['hashes']
-    target_custom_data = target['fileinfo']['custom']
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import errno
-import logging
-import os
-import shutil
-import time
-import fnmatch
-import copy
-import warnings
-
-import tuf
-import tuf.download
-import tuf.formats
-import tuf.settings
-import tuf.keydb
-import tuf.log
-import tuf.mirrors
-import tuf.roledb
-import tuf.sig
-import tuf.exceptions
-
-import securesystemslib.exceptions
-import securesystemslib.hash
-import securesystemslib.keys
-import securesystemslib.util
-import six
-import requests.exceptions
-
-# The Timestamp role does not have signed metadata about it; otherwise we
-# would need an infinite regress of metadata. Therefore, we use some
-# default, but sane, upper file length for its metadata.
-DEFAULT_TIMESTAMP_UPPERLENGTH = tuf.settings.DEFAULT_TIMESTAMP_REQUIRED_LENGTH
-
-# The Root role may be updated without knowing its version number if
-# top-level metadata cannot be safely downloaded (e.g., keys may have been
-# revoked, thus requiring a new Root file that includes the updated keys)
-# and 'unsafely_update_root_if_necessary' is True.
-# We use some default, but sane, upper file length for its metadata.
-DEFAULT_ROOT_UPPERLENGTH = tuf.settings.DEFAULT_ROOT_REQUIRED_LENGTH
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-
-class MultiRepoUpdater(object):
-  """
-  <Purpose>
-    Provide a way for clients to request a target file from multiple
-    repositories.  Which repositories to query is determined by the map
-    file (i.e,. map.json).
-
-    See TAP 4 for more information on the map file and how to request updates
-    from multiple repositories.  TAP 4 describes how users may specify that a
-    particular threshold of repositories be used for some targets, while a
-    different threshold of repositories be used for others.
-
-  <Arguments>
-    map_file:
-      The path of the map file.  The map file is needed to determine which
-      repositories to query given a target file.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the map file is improperly
-    formatted.
-
-    tuf.exceptions.Error, if the map file cannot be loaded.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, map_file):
-    # Is 'map_file' a path?  If not, raise
-    # 'securesystemslib.exceptions.FormatError'.  The actual content of the map
-    # file is validated later on in this method.
-    securesystemslib.formats.PATH_SCHEMA.check_match(map_file)
-
-    # A dictionary mapping repositories to TUF updaters.
-    self.repository_names_to_updaters = {}
-
-    try:
-      # The map file dictionary that associates targets with repositories.
-      self.map_file = securesystemslib.util.load_json_file(map_file)
-
-    except (securesystemslib.exceptions.Error) as e:
-      raise tuf.exceptions.Error('Cannot load the map file: ' + str(e))
-
-    # Raise securesystemslib.exceptions.FormatError if the map file is
-    # improperly formatted.
-    tuf.formats.MAPFILE_SCHEMA.check_match(self.map_file)
-
-    # Save the "repositories" entry of the map file, with the following
-    # example format:
-    #
-    #  "repositories": {
-    #      "Django": ["https://djangoproject.com/"],
-    #      "PyPI":   ["https://pypi.python.org/"]
-    #  }
-    self.repository_names_to_mirrors = self.map_file['repositories']
-
-
-
-  def get_valid_targetinfo(self, target_filename, match_custom_field=True):
-    """
-    <Purpose>
-      Get valid targetinfo, if any, for the given 'target_filename'.  The map
-      file controls the targetinfo returned (see TAP 4).  Return a dict of the
-      form {updater1: targetinfo, updater2: targetinfo, ...}, where the dict
-      keys are updater objects, and the dict values the matching targetinfo for
-      'target_filename'.
-
-    <Arguments>
-      target_filename:
-        The relative path of the target file to update.
-
-      match_custom_field:
-        Boolean that indicates whether the optional custom field in targetinfo
-        should match across the targetinfo provided by the threshold of
-        repositories.
-
-    <Exceptions>
-      tuf.exceptions.FormatError, if the argument is improperly formatted.
-
-      tuf.exceptions.Error, if the required local metadata directory or the
-      Root file does not exist.
-
-      tuf.exceptions.UnknownTargetError, if the repositories in the map file do
-      not agree on the target, or none of them have signed for the target.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A dict of the form: {updater1: targetinfo, updater2: targetinfo, ...}.
-      The targetinfo (conformant with tuf.formats.TARGETINFO_SCHEMA) is for
-      'target_filename'.
-    """
-
-    # Is the argument properly formatted?  If not, raise
-    # 'tuf.exceptions.FormatError'.
-    tuf.formats.RELPATH_SCHEMA.check_match(target_filename)
-
-    # TAP 4 requires that the following attributes be present in mappings:
-    # "paths", "repositories", "terminating", and "threshold".
-    tuf.formats.MAPPING_SCHEMA.check_match(self.map_file['mapping'])
-
-    # Set the top-level directory containing the metadata for each repository.
-    repositories_directory = tuf.settings.repositories_directory
-
-    # Verify that the required local directories exist for each repository.
-    self._verify_metadata_directories(repositories_directory)
-
-    # Iterate mappings.
-    # [{"paths": [], "repositories": [], "terminating": Boolean, "threshold":
-    # NUM}, ...]
-    for mapping in self.map_file['mapping']:
-
-      logger.debug('Interrogating mappings..' + repr(mapping))
-      if not self._target_matches_path_pattern(
-          target_filename, mapping['paths']):
-        # The mapping is irrelevant to the target file.  Try the next one, if
-        # any.
-        continue
-
-      # The mapping is relevant to the target...
-      else:
-        # Do the repositories in the mapping provide a threshold of matching
-        # targetinfo?
-        valid_targetinfo = self._matching_targetinfo(target_filename,
-            mapping, match_custom_field)
-
-        if valid_targetinfo:
-          return valid_targetinfo
-
-        else:
-          # If we are here, it means either (1) the mapping is irrelevant to
-          # the target, (2) the targets were missing from all repositories in
-          # this mapping, or (3) the targets on all repositories did not match.
-          # Whatever the case may be, are we allowed to continue to the next
-          # mapping?  Let's check the terminating entry!
-          if not mapping['terminating']:
-            logger.debug('The mapping was irrelevant to the target, and'
-                ' "terminating" was set to False.  Trying the next mapping...')
-            continue
-
-          else:
-            raise tuf.exceptions.UnknownTargetError('The repositories in the'
-                ' mapping do not agree on the target, or none of them have'
-                ' signed for the target, and "terminating" was set to True.')
-
-    # If we are here, it means either there were no mappings, or none of the
-    # mappings provided the target.
-    logger.debug('Did not find valid targetinfo for ' + repr(target_filename))
-    raise tuf.exceptions.UnknownTargetError('The repositories in the map'
-        ' file do not agree on the target, or none of them have signed'
-        ' for the target.')
-
-
-
-
-
-  def _verify_metadata_directories(self, repositories_directory):
-    # Iterate 'self.repository_names_to_mirrors' and verify that the expected
-    # local files and directories exist.  TAP 4 requires a separate local
-    # directory for each repository.
-    for repository_name in self.repository_names_to_mirrors:
-
-      logger.debug('Interrogating repository: ' + repr(repository_name))
-      # Each repository must cache its metadata in a separate location.
-      repository_directory = os.path.join(repositories_directory,
-          repository_name)
-
-      if not os.path.isdir(repository_directory):
-        raise tuf.exceptions.Error('The metadata directory'
-            ' for ' + repr(repository_name) + ' must exist'
-            ' at ' + repr(repository_directory))
-
-      else:
-        logger.debug('Found local directory for ' + repr(repository_name))
-
-      # The latest known root metadata file must also exist on disk.
-      root_file = os.path.join(
-          repository_directory, 'metadata', 'current', 'root.json')
-
-      if not os.path.isfile(root_file):
-        raise tuf.exceptions.Error(
-            'The Root file must exist at ' + repr(root_file))
-
-      else:
-        logger.debug('Found local Root file at ' + repr(root_file))
-
-
-
-
-
-  def _matching_targetinfo(
-      self, target_filename, mapping, match_custom_field=True):
-    valid_targetinfo = {}
-
-    # Retrieve the targetinfo from each repository using the underlying
-    # Updater() instance.
-    for repository_name in mapping['repositories']:
-      logger.debug('Retrieving targetinfo for ' + repr(target_filename) +
-          ' from repository...')
-
-      try:
-        targetinfo, updater = self._update_from_repository(
-            repository_name, target_filename)
-
-      except (tuf.exceptions.UnknownTargetError, tuf.exceptions.Error):
-        continue
-
-      valid_targetinfo[updater] = targetinfo
-
-      matching_targetinfo = {}
-      logger.debug('Verifying that a threshold of targetinfo are equal...')
-
-      # Iterate 'valid_targetinfo', looking for a threshold number of matches
-      # for 'targetinfo'.  The first targetinfo to reach the required threshold
-      # is returned.  For example, suppose the following list of targetinfo and
-      # a threshold of 2:
-      # [A, B, C, B, A, C]
-      # In this case, targetinfo B is returned.
-      for valid_updater, compared_targetinfo in six.iteritems(valid_targetinfo):
-
-        if not self._targetinfo_match(
-            targetinfo, compared_targetinfo, match_custom_field):
-          continue
-
-        else:
-
-          matching_targetinfo[valid_updater] = targetinfo
-
-          if not len(matching_targetinfo) >= mapping['threshold']:
-            continue
-
-          else:
-            logger.debug('Found a threshold of matching targetinfo!')
-            # We now have a targetinfo (that matches across a threshold of
-            # repositories as instructed by the map file), along with the
-            # updaters that sign for it.
-            logger.debug(
-                'Returning updaters for targetinfo: ' + repr(targetinfo))
-
-            return matching_targetinfo
-
-    return None
-
-
-
-
-
-  def _targetinfo_match(self, targetinfo1, targetinfo2, match_custom_field=True):
-    if match_custom_field:
-      return (targetinfo1 == targetinfo2)
-
-    else:
-      targetinfo1_without_custom = copy.deepcopy(targetinfo1)
-      targetinfo2_without_custom = copy.deepcopy(targetinfo2)
-      targetinfo1_without_custom['fileinfo'].pop('custom', None)
-      targetinfo2_without_custom['fileinfo'].pop('custom', None)
-
-      return (targetinfo1_without_custom == targetinfo2_without_custom)
-
-
-
-
-
-  def _target_matches_path_pattern(self, target_filename, path_patterns):
-    for path_pattern in path_patterns:
-      logger.debug('Interrogating pattern ' + repr(path_pattern) + 'for'
-          ' target: ' + repr(target_filename))
-
-      # Example: "foo.tgz" should match with "/*.tgz".  Make sure to strip any
-      # leading path separators so that a match is made if a repo maintainer
-      # uses a leading separator with a delegated glob pattern, but a client
-      # doesn't include one when a target file is requested.
-      if fnmatch.fnmatch(target_filename.lstrip(os.sep), path_pattern.lstrip(os.sep)):
-        logger.debug('Found a match for ' + repr(target_filename))
-        return True
-
-      else:
-        logger.debug('Continue searching for relevant paths.')
-        continue
-
-    # If we are here, then none of the paths are relevant to the target.
-    logger.debug('None of the paths are relevant.')
-    return False
-
-
-
-
-
-
-  def get_updater(self, repository_name):
-    """
-    <Purpose>
-      Get the updater instance corresponding to 'repository_name'.
-
-    <Arguments>
-      repository_name:
-        The name of the repository as it appears in the map file.  For example,
-        "Django" and "PyPI" in the "repositories" entry of the map file.
-
-        "repositories": {
-            "Django": ["https://djangoproject.com/"],
-            "PyPI":   ["https://pypi.python.org/"]
-        }
-
-    <Exceptions>
-      tuf.exceptions.FormatError, if any of the arguments are improperly
-      formatted.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      Returns the Updater() instance for 'repository_name'.  If the instance
-      does not exist, return None.
-    """
-
-    # Are the arguments properly formatted?  If not, raise
-    # 'tuf.exceptions.FormatError'.
-    tuf.formats.NAME_SCHEMA.check_match(repository_name)
-
-    updater = self.repository_names_to_updaters.get(repository_name)
-
-    if not updater:
-
-      if repository_name not in self.repository_names_to_mirrors:
-        return None
-
-      else:
-        # Create repository mirrors object needed by the
-        # tuf.client.updater.Updater().  Each 'repository_name' can have more
-        # than one mirror.
-        mirrors = {}
-
-        for url in self.repository_names_to_mirrors[repository_name]:
-          mirrors[url] = {
-            'url_prefix': url,
-            'metadata_path': 'metadata',
-            'targets_path': 'targets'}
-
-        try:
-          # NOTE: State (e.g., keys) should NOT be shared across different
-          # updater instances.
-          logger.debug('Adding updater for ' + repr(repository_name))
-          updater = tuf.client.updater.Updater(repository_name, mirrors)
-
-        except Exception:
-          return None
-
-        else:
-          self.repository_names_to_updaters[repository_name] = updater
-
-    else:
-      logger.debug('Found an updater for ' + repr(repository_name))
-
-    # Ensure the updater's metadata is the latest before returning it.
-    updater.refresh()
-    return updater
-
-
-
-
-
-  def _update_from_repository(self, repository_name, target_filename):
-
-    updater = self.get_updater(repository_name)
-
-    if not updater:
-      raise tuf.exceptions.Error(
-          'Cannot load updater for ' + repr(repository_name))
-
-    else:
-      # Get one valid target info from the Updater object.
-      # 'tuf.exceptions.UnknownTargetError' raised by get_one_valid_targetinfo
-      # if a valid target cannot be found.
-      return updater.get_one_valid_targetinfo(target_filename), updater
-
-
-
-
-
-class Updater(object):
-  """
-  <Purpose>
-    Provide a class that can download target files securely.  The updater
-    keeps track of currently and previously trusted metadata, target files
-    available to the client, target file attributes such as file size and
-    hashes, key and role information, metadata signatures, and the ability
-    to determine when the download of a file should be permitted.
-
-  <Updater Attributes>
-    self.metadata:
-      Dictionary holding the currently and previously trusted metadata.
-
-      Example: {'current': {'root': ROOT_SCHEMA,
-                            'targets':TARGETS_SCHEMA, ...},
-                'previous': {'root': ROOT_SCHEMA,
-                             'targets':TARGETS_SCHEMA, ...}}
-
-    self.metadata_directory:
-      The directory where trusted metadata is stored.
-
-    self.versioninfo:
-      A cache of version numbers for the roles available on the repository.
-
-      Example: {'targets.json': {'version': 128}, ...}
-
-    self.mirrors:
-      The repository mirrors from which metadata and targets are available.
-      Conformant to 'tuf.formats.MIRRORDICT_SCHEMA'.
-
-    self.repository_name:
-      The name of the updater instance.
-
-  <Updater Methods>
-    refresh():
-      This method downloads, verifies, and loads metadata for the top-level
-      roles in a specific order (i.e., root -> timestamp -> snapshot -> targets)
-      The expiration time for downloaded metadata is also verified.
-
-      The metadata for delegated roles are not refreshed by this method, but by
-      the method that returns targetinfo (i.e., get_one_valid_targetinfo()).
-      The refresh() method should be called by the client before any target
-      requests.
-
-    get_one_valid_targetinfo(file_path):
-      Returns the target information for a specific file identified by its file
-      path.  This target method also downloads the metadata of updated targets.
-
-    updated_targets(targets, destination_directory):
-      After the client has retrieved the target information for those targets
-      they are interested in updating, they would call this method to determine
-      which targets have changed from those saved locally on disk.  All the
-      targets that have changed are returns in a list.  From this list, they
-      can request a download by calling 'download_target()'.
-
-    download_target(target, destination_directory):
-      This method performs the actual download of the specified target.  The
-      file is saved to the 'destination_directory' argument.
-
-    remove_obsolete_targets(destination_directory):
-      Any files located in 'destination_directory' that were previously
-      served by the repository but have since been removed, can be deleted
-      from disk by the client by calling this method.
-
-    Note: The methods listed above are public and intended for the software
-    updater integrating TUF with this module.  All other methods that may begin
-    with a single leading underscore are non-public and only used internally.
-    updater.py is not subclassed in TUF, nor is it designed to be subclassed,
-    so double leading underscores is not used.
-    http://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
-  """
-
-  def __init__(self, repository_name, repository_mirrors):
-    """
-    <Purpose>
-      Constructor.  Instantiating an updater object causes all the metadata
-      files for the top-level roles to be read from disk, including the key and
-      role information for the delegated targets of 'targets'.  The actual
-      metadata for delegated roles is not loaded in __init__.  The metadata for
-      these delegated roles, including nested delegated roles, are loaded,
-      updated, and saved to the 'self.metadata' store, as needed, by
-      get_one_valid_targetinfo().
-
-      The initial set of metadata files are provided by the software update
-      system utilizing TUF.
-
-      In order to use an updater, the following directories must already
-      exist locally:
-
-            {tuf.settings.repositories_directory}/{repository_name}/metadata/current
-            {tuf.settings.repositories_directory}/{repository_name}/metadata/previous
-
-      and, at a minimum, the root metadata file must exist:
-
-            {tuf.settings.repositories_directory}/{repository_name}/metadata/current/root.json
-
-    <Arguments>
-      repository_name:
-        The name of the repository.
-
-      repository_mirrors:
-        A dictionary holding repository mirror information, conformant to
-        'tuf.formats.MIRRORDICT_SCHEMA'.  This dictionary holds
-        information such as the directory containing the metadata and target
-        files, the server's URL prefix, and the target content directories the
-        client should be confined to.
-
-        repository_mirrors = {'mirror1': {'url_prefix': 'http://localhost:8001',
-                                          'metadata_path': 'metadata',
-                                          'targets_path': 'targets',
-                                          'confined_target_dirs': ['']}}
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If the arguments are improperly formatted.
-
-      tuf.exceptions.RepositoryError:
-        If there is an error with the updater's repository files, such
-        as a missing 'root.json' file.
-
-    <Side Effects>
-      Th metadata files (e.g., 'root.json', 'targets.json') for the top- level
-      roles are read from disk and stored in dictionaries.  In addition, the
-      key and roledb modules are populated with 'repository_name' entries.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # These checks ensure the arguments have the appropriate
-    # number of objects and object types and that all dict
-    # keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mistmatch.
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-    tuf.formats.MIRRORDICT_SCHEMA.check_match(repository_mirrors)
-
-    # Save the validated arguments.
-    self.repository_name = repository_name
-    self.mirrors = repository_mirrors
-
-    # Store the trusted metadata read from disk.
-    self.metadata = {}
-
-    # Store the currently trusted/verified metadata.
-    self.metadata['current'] = {}
-
-    # Store the previously trusted/verified metadata.
-    self.metadata['previous'] = {}
-
-    # Store the version numbers of roles available on the repository.  The dict
-    # keys are paths, and the dict values versioninfo data. This information
-    # can help determine whether a metadata file has changed and needs to be
-    # re-downloaded.
-    self.versioninfo = {}
-
-    # Store the file information of the root and snapshot roles.  The dict keys
-    # are paths, the dict values fileinfo data. This information can help
-    # determine whether a metadata file has changed and so needs to be
-    # re-downloaded.
-    self.fileinfo = {}
-
-    # Store the location of the client's metadata directory.
-    self.metadata_directory = {}
-
-    # Store the 'consistent_snapshot' of the Root role.  This setting
-    # determines if metadata and target files downloaded from remote
-    # repositories include the digest.
-    self.consistent_snapshot = False
-
-    # Ensure the repository metadata directory has been set.
-    if tuf.settings.repositories_directory is None:
-      raise tuf.exceptions.RepositoryError('The TUF update client'
-        ' module must specify the directory containing the local repository'
-        ' files.  "tuf.settings.repositories_directory" MUST be set.')
-
-    # Set the path for the current set of metadata files.
-    repositories_directory = tuf.settings.repositories_directory
-    repository_directory = os.path.join(repositories_directory, self.repository_name)
-
-    # raise MissingLocalRepository if the repo does not exist at all.
-    if not os.path.exists(repository_directory):
-      raise tuf.exceptions.MissingLocalRepositoryError('Local repository ' +
-        repr(repository_directory) + ' does not exist.')
-
-    current_path = os.path.join(repository_directory, 'metadata', 'current')
-
-    # Ensure the current path is valid/exists before saving it.
-    if not os.path.exists(current_path):
-      raise tuf.exceptions.RepositoryError('Missing'
-        ' ' + repr(current_path) + '.  This path must exist and, at a minimum,'
-        ' contain the Root metadata file.')
-
-    self.metadata_directory['current'] = current_path
-
-    # Set the path for the previous set of metadata files.
-    previous_path = os.path.join(repository_directory, 'metadata', 'previous')
-
-    # Ensure the previous path is valid/exists.
-    if not os.path.exists(previous_path):
-      raise tuf.exceptions.RepositoryError('Missing ' + repr(previous_path) + '.'
-        '  This path MUST exist.')
-
-    self.metadata_directory['previous'] = previous_path
-
-    # Load current and previous metadata.
-    for metadata_set in ['current', 'previous']:
-      for metadata_role in tuf.roledb.TOP_LEVEL_ROLES:
-        self._load_metadata_from_file(metadata_set, metadata_role)
-
-    # Raise an exception if the repository is missing the required 'root'
-    # metadata.
-    if 'root' not in self.metadata['current']:
-      raise tuf.exceptions.RepositoryError('No root of trust!'
-        ' Could not find the "root.json" file.')
-
-
-
-
-
-  def __str__(self):
-    """
-      The string representation of an Updater object.
-    """
-
-    return self.repository_name
-
-
-
-
-
-  def _load_metadata_from_file(self, metadata_set, metadata_role):
-    """
-    <Purpose>
-      Non-public method that loads current or previous metadata if there is a
-      local file.  If the expected file belonging to 'metadata_role' (e.g.,
-      'root.json') cannot be loaded, raise an exception.  The extracted metadata
-      object loaded from file is saved to the metadata store (i.e.,
-      self.metadata).
-
-    <Arguments>
-      metadata_set:
-        The string 'current' or 'previous', depending on whether one wants to
-        load the currently or previously trusted metadata file.
-
-      metadata_role:
-        The name of the metadata. This is a role name and should
-        not end in '.json'.  Examples: 'root', 'targets', 'unclaimed'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If the role object loaded for 'metadata_role' is improperly formatted.
-
-      securesystemslib.exceptions.Error:
-        If there was an error importing a delegated role of 'metadata_role'
-        or the 'metadata_set' is not one currently supported.
-
-    <Side Effects>
-      If the metadata is loaded successfully, it is saved to the metadata
-      store.  If 'metadata_role' is 'root', the role and key databases
-      are reloaded.  If 'metadata_role' is a target metadata, all its
-      delegated roles are refreshed.
-
-    <Returns>
-      None.
-    """
-
-    # Ensure we have a valid metadata set.
-    if metadata_set not in ['current', 'previous']:
-      raise securesystemslib.exceptions.Error(
-          'Invalid metadata set: ' + repr(metadata_set))
-
-    # Save and construct the full metadata path.
-    metadata_directory = self.metadata_directory[metadata_set]
-    metadata_filename = metadata_role + '.json'
-    metadata_filepath = os.path.join(metadata_directory, metadata_filename)
-
-    # Ensure the metadata path is valid/exists, else ignore the call.
-    if os.path.exists(metadata_filepath):
-      # Load the file.  The loaded object should conform to
-      # 'tuf.formats.SIGNABLE_SCHEMA'.
-      try:
-        metadata_signable = securesystemslib.util.load_json_file(
-            metadata_filepath)
-
-      # Although the metadata file may exist locally, it may not
-      # be a valid json file.  On the next refresh cycle, it will be
-      # updated as required.  If Root if cannot be loaded from disk
-      # successfully, an exception should be raised by the caller.
-      except securesystemslib.exceptions.Error:
-        return
-
-      tuf.formats.check_signable_object_format(metadata_signable)
-
-      # Extract the 'signed' role object from 'metadata_signable'.
-      metadata_object = metadata_signable['signed']
-
-      # Save the metadata object to the metadata store.
-      self.metadata[metadata_set][metadata_role] = metadata_object
-
-      # If 'metadata_role' is 'root' or targets metadata, the key and role
-      # databases must be rebuilt.  If 'root', ensure self.consistent_snaptshots
-      # is updated.
-      if metadata_set == 'current':
-        if metadata_role == 'root':
-          self._rebuild_key_and_role_db()
-          self.consistent_snapshot = metadata_object['consistent_snapshot']
-
-        elif metadata_object['_type'] == 'targets':
-          # TODO: Should we also remove the keys of the delegated roles?
-          self._import_delegations(metadata_role)
-
-
-
-
-
-  def _rebuild_key_and_role_db(self):
-    """
-    <Purpose>
-      Non-public method that rebuilds the key and role databases from the
-      currently trusted 'root' metadata object extracted from 'root.json'.
-      This private method is called when a new/updated 'root' metadata file is
-      loaded or when updater.refresh() is called.  This method will only store
-      the role information of the top-level roles (i.e., 'root', 'targets',
-      'snapshot', 'timestamp').
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If the 'root' metadata is improperly formatted.
-
-      securesystemslib.exceptions.Error:
-        If there is an error loading a role contained in the 'root'
-        metadata.
-
-    <Side Effects>
-      The key and role databases are reloaded for the top-level roles.
-
-    <Returns>
-      None.
-    """
-
-    # Clobbering this means all delegated metadata files are rendered outdated
-    # and will need to be reloaded.  However, reloading the delegated metadata
-    # files is avoided here because fetching target information with
-    # get_one_valid_targetinfo() always causes a refresh of these files.  The
-    # metadata files for delegated roles are also not loaded when the
-    # repository is first instantiated.  Due to this setup, reloading delegated
-    # roles is not required here.
-    tuf.keydb.create_keydb_from_root_metadata(self.metadata['current']['root'],
-        self.repository_name)
-
-    tuf.roledb.create_roledb_from_root_metadata(self.metadata['current']['root'],
-        self.repository_name)
-
-
-
-
-
-  def _import_delegations(self, parent_role):
-    """
-    <Purpose>
-      Non-public method that imports all the roles delegated by 'parent_role'.
-
-    <Arguments>
-      parent_role:
-        The role whose delegations will be imported.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If a key attribute of a delegated role's signing key is
-        improperly formatted.
-
-      securesystemslib.exceptions.Error:
-        If the signing key of a delegated role cannot not be loaded.
-
-    <Side Effects>
-      The key and role databases are modified to include the newly loaded roles
-      delegated by 'parent_role'.
-
-    <Returns>
-      None.
-    """
-
-    current_parent_metadata = self.metadata['current'][parent_role]
-
-    if 'delegations' not in current_parent_metadata:
-      return
-
-    # This could be quite slow with a large number of delegations.
-    keys_info = current_parent_metadata['delegations'].get('keys', {})
-    roles_info = current_parent_metadata['delegations'].get('roles', [])
-
-    logger.debug('Adding roles delegated from ' + repr(parent_role) + '.')
-
-    # Iterate the keys of the delegated roles of 'parent_role' and load them.
-    for keyid, keyinfo in six.iteritems(keys_info):
-      if keyinfo['keytype'] in ['rsa', 'ed25519', 'ecdsa-sha2-nistp256']:
-
-        # We specify the keyid to ensure that it's the correct keyid
-        # for the key.
-        try:
-          key, _ = securesystemslib.keys.format_metadata_to_key(keyinfo, keyid)
-
-          tuf.keydb.add_key(key, repository_name=self.repository_name)
-
-        except tuf.exceptions.KeyAlreadyExistsError:
-          pass
-
-        except (securesystemslib.exceptions.FormatError, securesystemslib.exceptions.Error):
-          logger.warning('Invalid key: ' + repr(keyid) + '. Aborting role ' +
-              'delegation for parent role \'' + parent_role + '\'.')
-          raise
-
-      else:
-        logger.warning('Invalid key type for ' + repr(keyid) + '.')
-        continue
-
-    # Add the roles to the role database.
-    for roleinfo in roles_info:
-      try:
-        # NOTE: tuf.roledb.add_role will take care of the case where rolename
-        # is None.
-        rolename = roleinfo.get('name')
-        logger.debug('Adding delegated role: ' + str(rolename) + '.')
-        tuf.roledb.add_role(rolename, roleinfo, self.repository_name)
-
-      except tuf.exceptions.RoleAlreadyExistsError:
-        logger.warning('Role already exists: ' + rolename)
-
-      except Exception:
-        logger.warning('Failed to add delegated role: ' + repr(rolename) + '.')
-        raise
-
-
-
-
-
-  def refresh(self, unsafely_update_root_if_necessary=True):
-    """
-    <Purpose>
-      Update the latest copies of the metadata for the top-level roles. The
-      update request process follows a specific order to ensure the metadata
-      files are securely updated:
-      root (if necessary) -> timestamp -> snapshot -> targets.
-
-      Delegated metadata is not refreshed by this method. After this method is
-      called, the use of get_one_valid_targetinfo() will update delegated
-      metadata, when required.  Calling refresh() ensures that top-level
-      metadata is up-to-date, so that the target methods can refer to the
-      latest available content. Thus, refresh() should always be called by the
-      client before any requests of target file information.
-
-      The expiration time for downloaded metadata is also verified, including
-      local metadata that the repository claims is up to date.
-
-      If the refresh fails for any reason, then unless
-      'unsafely_update_root_if_necessary' is set, refresh will be retried once
-      after first attempting to update the root metadata file. Only after this
-      check will the exceptions listed here potentially be raised.
-
-    <Arguments>
-      unsafely_update_root_if_necessary:
-        Boolean that indicates whether to unsafely update the Root metadata if
-        any of the top-level metadata cannot be downloaded successfully.  The
-        Root role is unsafely updated if its current version number is unknown.
-
-    <Exceptions>
-      tuf.exceptions.NoWorkingMirrorError:
-        If the metadata for any of the top-level roles cannot be updated.
-
-      tuf.exceptions.ExpiredMetadataError:
-        If any of the top-level metadata is expired and no new version was
-        found.
-
-    <Side Effects>
-      Updates the metadata files of the top-level roles with the latest
-      information.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # This check ensures the arguments have the appropriate
-    # number of objects and object types, and that all dict
-    # keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if the check fail.
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(
-        unsafely_update_root_if_necessary)
-
-    # Update the top-level metadata.  The _update_metadata_if_changed() and
-    # _update_metadata() calls below do NOT perform an update if there
-    # is insufficient trusted signatures for the specified metadata.
-    # Raise 'tuf.exceptions.NoWorkingMirrorError' if an update fails.
-    root_metadata = self.metadata['current']['root']
-
-    try:
-      self._ensure_not_expired(root_metadata, 'root')
-
-    except tuf.exceptions.ExpiredMetadataError:
-      # Raise 'tuf.exceptions.NoWorkingMirrorError' if a valid (not
-      # expired, properly signed, and valid metadata) 'root.json' cannot be
-      # installed.
-      if unsafely_update_root_if_necessary:
-        logger.info('Expired Root metadata was loaded from disk.'
-          '  Try to update it now.' )
-
-      # The caller explicitly requested not to unsafely fetch an expired Root.
-      else:
-        logger.info('An expired Root metadata was loaded and must be updated.')
-        raise
-
-    # Update the root metadata and verify it by building a chain of trusted root
-    # keys from the current trusted root metadata file
-    self._update_root_metadata(root_metadata)
-
-    # Ensure that the role and key information of the top-level roles is the
-    # latest.  We do this whether or not Root needed to be updated, in order to
-    # ensure that, e.g., the entries in roledb for top-level roles are
-    # populated with expected keyid info so that roles can be validated.  In
-    # certain circumstances, top-level metadata might be missing because it was
-    # marked obsolete and deleted after a failed attempt, and thus we should
-    # refresh them here as a protective measure.  See Issue #736.
-    self._rebuild_key_and_role_db()
-    self.consistent_snapshot = \
-        self.metadata['current']['root']['consistent_snapshot']
-
-    # Use default but sane information for timestamp metadata, and do not
-    # require strict checks on its required length.
-    self._update_metadata('timestamp', DEFAULT_TIMESTAMP_UPPERLENGTH)
-
-    self._update_metadata_if_changed('snapshot',
-        referenced_metadata='timestamp')
-    self._update_metadata_if_changed('targets')
-
-
-
-  def _update_root_metadata(self, current_root_metadata):
-    """
-    <Purpose>
-      The root file must be signed by the current root threshold and keys as
-      well as the previous root threshold and keys. The update process for root
-      files means that each intermediate root file must be downloaded, to build
-      a chain of trusted root keys from keys already trusted by the client:
-
-        1.root -> 2.root -> 3.root
-
-      3.root must be signed by the threshold and keys of 2.root, and 2.root
-      must be signed by the threshold and keys of 1.root.
-
-    <Arguments>
-      current_root_metadata:
-        The currently held version of root.
-
-    <Side Effects>
-      Updates the root metadata files with the latest information.
-
-    <Returns>
-      None.
-    """
-
-    def neither_403_nor_404(mirror_error):
-      if isinstance(mirror_error, requests.exceptions.HTTPError):
-        if mirror_error.response.status_code in {403, 404}:
-          return False
-      return True
-
-    # Temporarily set consistent snapshot. Will be updated to whatever is set
-    # in the latest root.json after running through the intermediates with
-    # _update_metadata().
-    self.consistent_snapshot = True
-
-    # Following the spec, try downloading the N+1th root for a certain maximum
-    # number of times.
-    lower_bound = current_root_metadata['version'] + 1
-    upper_bound = lower_bound + tuf.settings.MAX_NUMBER_ROOT_ROTATIONS
-
-    # Try downloading the next root.
-    for next_version in range(lower_bound, upper_bound):
-      try:
-        # Thoroughly verify it.
-        self._update_metadata('root', DEFAULT_ROOT_UPPERLENGTH,
-            version=next_version)
-      # When we run into HTTP 403/404 error from ALL mirrors, break out of
-      # loop, because the next root metadata file is most likely missing.
-      except tuf.exceptions.NoWorkingMirrorError as exception:
-        for mirror_error in exception.mirror_errors.values():
-          # Otherwise, reraise the error, because it is not a simple HTTP
-          # error.
-          if neither_403_nor_404(mirror_error):
-            logger.info('Misc error for root version ' + str(next_version))
-            raise
-          else:
-            logger.debug('HTTP error for root version ' + str(next_version))
-        # If we are here, then we ran into only 403 / 404 errors, which are
-        # good reasons to suspect that the next root metadata file does not
-        # exist.
-        break
-
-      # Ensure that the role and key information of the top-level roles is the
-      # latest.  We do this whether or not Root needed to be updated, in order
-      # to ensure that, e.g., the entries in roledb for top-level roles are
-      # populated with expected keyid info so that roles can be validated.  In
-      # certain circumstances, top-level metadata might be missing because it
-      # was marked obsolete and deleted after a failed attempt, and thus we
-      # should refresh them here as a protective measure.  See Issue #736.
-      self._rebuild_key_and_role_db()
-
-    # Set our consistent snapshot property to what the latest root has said.
-    self.consistent_snapshot = \
-        self.metadata['current']['root']['consistent_snapshot']
-
-
-
-  def _check_hashes(self, file_object, trusted_hashes):
-    """
-    <Purpose>
-      Non-public method that verifies multiple secure hashes of 'file_object'.
-
-    <Arguments>
-      file_object:
-        A file object.
-
-      trusted_hashes:
-        A dictionary with hash-algorithm names as keys and hashes as dict values.
-        The hashes should be in the hexdigest format.  Should be Conformant to
-        'securesystemslib.formats.HASHDICT_SCHEMA'.
-
-    <Exceptions>
-      securesystemslib.exceptions.BadHashError, if the hashes don't match.
-
-    <Side Effects>
-      Hash digest object is created using the 'securesystemslib.hash' module.
-      Position within file_object is changed.
-
-    <Returns>
-      None.
-    """
-
-    # Verify each hash, raise an exception if any hash fails to verify
-    for algorithm, trusted_hash in six.iteritems(trusted_hashes):
-      digest_object = securesystemslib.hash.digest_fileobject(file_object,
-          algorithm)
-      computed_hash = digest_object.hexdigest()
-
-      if trusted_hash != computed_hash:
-        raise securesystemslib.exceptions.BadHashError(trusted_hash,
-            computed_hash)
-
-      else:
-        logger.info('Verified ' + algorithm + ' hash: ' + trusted_hash)
-
-
-
-
-
-  def _check_file_length(self, file_object, trusted_file_length):
-    """
-    <Purpose>
-      Non-public method that ensures the length of 'file_object' is strictly
-      equal to 'trusted_file_length'.  This is a deliberately redundant
-      implementation designed to complement
-      tuf.download._check_downloaded_length().
-
-    <Arguments>
-      file_object:
-        A file object.
-
-      trusted_file_length:
-        A non-negative integer that is the trusted length of the file.
-
-    <Exceptions>
-      tuf.exceptions.DownloadLengthMismatchError, if the lengths do not match.
-
-    <Side Effects>
-      Reads the contents of 'file_object' and logs a message if 'file_object'
-      matches the trusted length.
-      Position within file_object is changed.
-
-    <Returns>
-      None.
-    """
-
-    # seek to the end of the file; that is offset 0 from the end of the file,
-    # represented by a whence value of 2
-    file_object.seek(0, 2)
-    observed_length = file_object.tell()
-
-    # Return and log a message if the length 'file_object' is equal to
-    # 'trusted_file_length', otherwise raise an exception.  A hard check
-    # ensures that a downloaded file strictly matches a known, or trusted,
-    # file length.
-    if observed_length != trusted_file_length:
-      raise tuf.exceptions.DownloadLengthMismatchError(trusted_file_length,
-          observed_length)
-
-    else:
-      logger.debug('Observed length (' + str(observed_length) +\
-          ') == trusted length (' + str(trusted_file_length) + ')')
-
-
-
-
-
-  def _get_target_file(self, target_filepath, file_length, file_hashes,
-      prefix_filename_with_hash):
-    """
-    <Purpose>
-      Non-public method that safely (i.e., the file length and hash are
-      strictly equal to the trusted) downloads a target file up to a certain
-      length, and checks its hashes thereafter.
-
-    <Arguments>
-      target_filepath:
-        The target filepath (relative to the repository targets directory)
-        obtained from TUF targets metadata.
-
-      file_length:
-        The expected compressed length of the target file. If the file is not
-        compressed, then it will simply be its uncompressed length.
-
-      file_hashes:
-        The expected hashes of the target file.
-
-      prefix_filename_with_hash:
-        Whether to prefix the targets file names with their hash when using
-        consistent snapshot.
-        This should be set to False when the served target filenames are not
-        prefixed with hashes (in this case the server uses other means
-        to ensure snapshot consistency).
-
-    <Exceptions>
-      tuf.exceptions.NoWorkingMirrorError:
-        The target could not be fetched. This is raised only when all known
-        mirrors failed to provide a valid copy of the desired target file.
-
-    <Side Effects>
-      The target file is downloaded from all known repository mirrors in the
-      worst case. If a valid copy of the target file is found, it is stored in
-      a temporary file and returned.
-
-    <Returns>
-      A file object containing the target.
-    """
-
-    if self.consistent_snapshot and prefix_filename_with_hash:
-      # Note: values() does not return a list in Python 3.  Use list()
-      # on values() for Python 2+3 compatibility.
-      target_digest = list(file_hashes.values()).pop()
-      dirname, basename = os.path.split(target_filepath)
-      target_filepath = os.path.join(dirname, target_digest + '.' + basename)
-
-    file_mirrors = tuf.mirrors.get_list_of_mirrors('target', target_filepath,
-        self.mirrors)
-
-    # file_mirror (URL): error (Exception)
-    file_mirror_errors = {}
-    file_object = None
-
-    for file_mirror in file_mirrors:
-      try:
-        file_object = tuf.download.safe_download(file_mirror, file_length)
-
-        # Verify 'file_object' against the expected length and hashes.
-        self._check_file_length(file_object, file_length)
-        self._check_hashes(file_object, file_hashes)
-        # If the file verifies, we don't need to try more mirrors
-        return file_object
-
-      except Exception as exception:
-        # Remember the error from this mirror, close tempfile if one was opened
-        logger.debug('Update failed from ' + file_mirror + '.')
-        file_mirror_errors[file_mirror] = exception
-        if file_object is not None:
-          file_object.close()
-          file_object = None
-
-    logger.debug('Failed to update ' + repr(target_filepath) + ' from'
-        ' all mirrors: ' + repr(file_mirror_errors))
-    raise tuf.exceptions.NoWorkingMirrorError(file_mirror_errors)
-
-
-
-
-
-  def _verify_root_self_signed(self, signable):
-    """
-    Verify the root metadata in signable is signed by a threshold of keys,
-    where the threshold and valid keys are defined by itself
-    """
-    threshold = signable['signed']['roles']['root']['threshold']
-    keyids = signable['signed']['roles']['root']['keyids']
-    keys = signable['signed']['keys']
-    signatures = signable['signatures']
-    signed = securesystemslib.formats.encode_canonical(
-        signable['signed']).encode('utf-8')
-    verified_sig_keyids = set()
-
-    for signature in signatures:
-      keyid = signature['keyid']
-
-      # At this point we are verifying that the root metadata is signed by a
-      # threshold of keys listed in the current root role, therefore skip
-      # keys with a keyid that is not listed in the current root role.
-      if keyid not in keyids:
-        continue
-
-      key = keys[keyid]
-      # The ANYKEY_SCHEMA check in verify_signature expects the keydict to
-      # include a keyid
-      key['keyid'] = keyid
-      valid_sig = securesystemslib.keys.verify_signature(key, signature, signed)
-
-      if valid_sig:
-        verified_sig_keyids.add(keyid)
-
-    if len(verified_sig_keyids) >= threshold:
-      return True
-    return False
-
-
-
-
-
-  def _verify_metadata_file(self, metadata_file_object,
-      metadata_role):
-    """
-    <Purpose>
-      Non-public method that verifies a metadata file.  An exception is
-      raised if 'metadata_file_object is invalid.  There is no
-      return value.
-
-    <Arguments>
-      metadata_file_object:
-        A file object containing the metadata file.
-
-      metadata_role:
-        The role name of the metadata (e.g., 'root', 'targets',
-        'unclaimed').
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        In case the metadata file is valid JSON, but not valid TUF metadata.
-
-      tuf.exceptions.InvalidMetadataJSONError:
-        In case the metadata file is not valid JSON.
-
-      tuf.exceptions.ReplayedMetadataError:
-        In case the downloaded metadata file is older than the current one.
-
-      tuf.exceptions.RepositoryError:
-        In case the repository is somehow inconsistent; e.g. a parent has not
-        delegated to a child (contrary to expectations).
-
-      tuf.SignatureError:
-        In case the metadata file does not have a valid signature.
-
-    <Side Effects>
-      The content of 'metadata_file_object' is read and loaded, the current
-      position within the file is changed.
-
-    <Returns>
-      None.
-    """
-
-    metadata_file_object.seek(0)
-    metadata = metadata_file_object.read().decode('utf-8')
-
-    try:
-      metadata_signable = securesystemslib.util.load_json_string(metadata)
-
-    except Exception as exception:
-      raise tuf.exceptions.InvalidMetadataJSONError(exception)
-
-    else:
-      # Ensure the loaded 'metadata_signable' is properly formatted.  Raise
-      # 'securesystemslib.exceptions.FormatError' if not.
-      tuf.formats.check_signable_object_format(metadata_signable)
-
-    # Is 'metadata_signable' expired?
-    self._ensure_not_expired(metadata_signable['signed'], metadata_role)
-
-    # We previously verified version numbers in this function, but have since
-    # moved version number verification to the functions that retrieve
-    # metadata.
-
-    # Verify the signature on the downloaded metadata object.
-    valid = tuf.sig.verify(metadata_signable, metadata_role,
-        self.repository_name)
-
-    if not valid:
-      raise securesystemslib.exceptions.BadSignatureError(metadata_role)
-
-    # For root metadata, verify the downloaded root metadata object with the
-    # new threshold of new signatures contained within the downloaded root
-    # metadata object
-    # NOTE: we perform the checks on root metadata here because this enables
-    # us to perform the check before the tempfile is persisted. Furthermore,
-    # by checking here we can easily perform the check for each download
-    # mirror. Whereas if we check after _verify_metadata_file we may be
-    # persisting invalid files and we cannot try copies of the file from other
-    # mirrors.
-    if valid and metadata_role == 'root':
-      valid = self._verify_root_self_signed(metadata_signable)
-      if not valid:
-        raise securesystemslib.exceptions.BadSignatureError(metadata_role)
-
-
-
-
-
-  def _get_metadata_file(self, metadata_role, remote_filename,
-    upperbound_filelength, expected_version):
-    """
-    <Purpose>
-      Non-public method that tries downloading, up to a certain length, a
-      metadata file from a list of known mirrors. As soon as the first valid
-      copy of the file is found, the downloaded file is returned and the
-      remaining mirrors are skipped.
-
-    <Arguments>
-      metadata_role:
-        The role name of the metadata (e.g., 'root', 'targets', 'unclaimed').
-
-      remote_filename:
-        The relative file path (on the remove repository) of 'metadata_role'.
-
-      upperbound_filelength:
-        The expected length, or upper bound, of the metadata file to be
-        downloaded.
-
-      expected_version:
-        The expected and required version number of the 'metadata_role' file
-        downloaded.  'expected_version' is an integer.
-
-    <Exceptions>
-      tuf.exceptions.NoWorkingMirrorError:
-        The metadata could not be fetched. This is raised only when all known
-        mirrors failed to provide a valid copy of the desired metadata file.
-
-    <Side Effects>
-      The file is downloaded from all known repository mirrors in the worst
-      case. If a valid copy of the file is found, it is stored in a temporary
-      file and returned.
-
-    <Returns>
-      A file object containing the metadata.
-    """
-
-    file_mirrors = tuf.mirrors.get_list_of_mirrors('meta', remote_filename,
-        self.mirrors)
-
-    # file_mirror (URL): error (Exception)
-    file_mirror_errors = {}
-    file_object = None
-
-    for file_mirror in file_mirrors:
-      try:
-        file_object = tuf.download.unsafe_download(file_mirror,
-            upperbound_filelength)
-        file_object.seek(0)
-
-        # Verify 'file_object' according to the callable function.
-        # 'file_object' is also verified if decompressed above (i.e., the
-        # uncompressed version).
-        metadata_signable = \
-          securesystemslib.util.load_json_string(file_object.read().decode('utf-8'))
-
-        # Determine if the specification version number is supported.  It is
-        # assumed that "spec_version" is in (major.minor.fix) format, (for
-        # example: "1.4.3") and that releases with the same major version
-        # number maintain backwards compatibility.  Consequently, if the major
-        # version number of new metadata equals our expected major version
-        # number, the new metadata is safe to parse.
-        try:
-          metadata_spec_version = metadata_signable['signed']['spec_version']
-          metadata_spec_version_split = metadata_spec_version.split('.')
-          metadata_spec_major_version = int(metadata_spec_version_split[0])
-          metadata_spec_minor_version = int(metadata_spec_version_split[1])
-
-          code_spec_version_split = tuf.SPECIFICATION_VERSION.split('.')
-          code_spec_major_version = int(code_spec_version_split[0])
-          code_spec_minor_version = int(code_spec_version_split[1])
-
-          if metadata_spec_major_version != code_spec_major_version:
-            raise tuf.exceptions.UnsupportedSpecificationError(
-                'Downloaded metadata that specifies an unsupported '
-                'spec_version.  This code supports major version number: ' +
-                repr(code_spec_major_version) + '; however, the obtained '
-                'metadata lists version number: ' + str(metadata_spec_version))
-
-          #report to user if minor versions do not match, continue with update
-          if metadata_spec_minor_version != code_spec_minor_version:
-            logger.info("Downloaded metadata that specifies a different minor " +
-                "spec_version. This code has version " +
-                str(tuf.SPECIFICATION_VERSION) +
-                " and the metadata lists version number " +
-                str(metadata_spec_version) +
-                ". The update will continue as the major versions match.")
-
-        except (ValueError, TypeError) as error:
-          six.raise_from(securesystemslib.exceptions.FormatError('Improperly'
-              ' formatted spec_version, which must be in major.minor.fix format'),
-              error)
-
-        # If the version number is unspecified, ensure that the version number
-        # downloaded is greater than the currently trusted version number for
-        # 'metadata_role'.
-        version_downloaded = metadata_signable['signed']['version']
-
-        if expected_version is not None:
-          # Verify that the downloaded version matches the version expected by
-          # the caller.
-          if version_downloaded != expected_version:
-            raise tuf.exceptions.BadVersionNumberError('Downloaded'
-              ' version number: ' + repr(version_downloaded) + '.  Version'
-              ' number MUST be: ' + repr(expected_version))
-
-        # The caller does not know which version to download.  Verify that the
-        # downloaded version is at least greater than the one locally
-        # available.
-        else:
-          # Verify that the version number of the locally stored
-          # 'timestamp.json', if available, is less than what was downloaded.
-          # Otherwise, accept the new timestamp with version number
-          # 'version_downloaded'.
-
-          try:
-            current_version = \
-              self.metadata['current'][metadata_role]['version']
-
-            if version_downloaded < current_version:
-              raise tuf.exceptions.ReplayedMetadataError(metadata_role,
-                  version_downloaded, current_version)
-
-          except KeyError:
-            logger.info(metadata_role + ' not available locally.')
-
-        self._verify_metadata_file(file_object, metadata_role)
-
-      except Exception as exception:
-        # Remember the error from this mirror, and "reset" the target file.
-        logger.debug('Update failed from ' + file_mirror + '.')
-        file_mirror_errors[file_mirror] = exception
-        if file_object:
-          file_object.close()
-          file_object = None
-
-      else:
-        break
-
-    if file_object:
-      return file_object
-
-    else:
-      logger.debug('Failed to update ' + repr(remote_filename) + ' from all'
-        ' mirrors: ' + repr(file_mirror_errors))
-      raise tuf.exceptions.NoWorkingMirrorError(file_mirror_errors)
-
-
-
-
-
-  def _update_metadata(self, metadata_role, upperbound_filelength, version=None):
-    """
-    <Purpose>
-      Non-public method that downloads, verifies, and 'installs' the metadata
-      belonging to 'metadata_role'.  Calling this method implies that the
-      'metadata_role' on the repository is newer than the client's, and thus
-      needs to be re-downloaded.  The current and previous metadata stores are
-      updated if the newly downloaded metadata is successfully downloaded and
-      verified.  This method also assumes that the store of top-level metadata
-      is the latest and exists.
-
-    <Arguments>
-      metadata_role:
-        The name of the metadata. This is a role name and should not end
-        in '.json'.  Examples: 'root', 'targets', 'targets/linux/x86'.
-
-      upperbound_filelength:
-        The expected length, or upper bound, of the metadata file to be
-        downloaded.
-
-      version:
-        The expected and required version number of the 'metadata_role' file
-        downloaded.  'expected_version' is an integer.
-
-    <Exceptions>
-      tuf.exceptions.NoWorkingMirrorError:
-        The metadata cannot be updated. This is not specific to a single
-        failure but rather indicates that all possible ways to update the
-        metadata have been tried and failed.
-
-    <Side Effects>
-      The metadata file belonging to 'metadata_role' is downloaded from a
-      repository mirror.  If the metadata is valid, it is stored in the
-      metadata store.
-
-    <Returns>
-      None.
-    """
-
-    # Construct the metadata filename as expected by the download/mirror
-    # modules.
-    metadata_filename = metadata_role + '.json'
-
-    # Attempt a file download from each mirror until the file is downloaded and
-    # verified.  If the signature of the downloaded file is valid, proceed,
-    # otherwise log a warning and try the next mirror.  'metadata_file_object'
-    # is the file-like object returned by 'download.py'.  'metadata_signable'
-    # is the object extracted from 'metadata_file_object'.  Metadata saved to
-    # files are regarded as 'signable' objects, conformant to
-    # 'tuf.formats.SIGNABLE_SCHEMA'.
-    #
-    # Some metadata (presently timestamp) will be downloaded "unsafely", in the
-    # sense that we can only estimate its true length and know nothing about
-    # its version.  This is because not all metadata will have other metadata
-    # for it; otherwise we will have an infinite regress of metadata signing
-    # for each other. In this case, we will download the metadata up to the
-    # best length we can get for it, not request a specific version, but
-    # perform the rest of the checks (e.g., signature verification).
-
-    remote_filename = metadata_filename
-    filename_version = ''
-
-    if self.consistent_snapshot and version:
-      filename_version = version
-      dirname, basename = os.path.split(remote_filename)
-      remote_filename = os.path.join(
-          dirname, str(filename_version) + '.' + basename)
-
-    metadata_file_object = \
-      self._get_metadata_file(metadata_role, remote_filename,
-        upperbound_filelength, version)
-
-    # The metadata has been verified. Move the metadata file into place.
-    # First, move the 'current' metadata file to the 'previous' directory
-    # if it exists.
-    current_filepath = os.path.join(self.metadata_directory['current'],
-                metadata_filename)
-    current_filepath = os.path.abspath(current_filepath)
-    securesystemslib.util.ensure_parent_dir(current_filepath)
-
-    previous_filepath = os.path.join(self.metadata_directory['previous'],
-        metadata_filename)
-    previous_filepath = os.path.abspath(previous_filepath)
-
-    if os.path.exists(current_filepath):
-      # Previous metadata might not exist, say when delegations are added.
-      securesystemslib.util.ensure_parent_dir(previous_filepath)
-      shutil.move(current_filepath, previous_filepath)
-
-    # Next, move the verified updated metadata file to the 'current' directory.
-    metadata_file_object.seek(0)
-    metadata_signable = \
-      securesystemslib.util.load_json_string(metadata_file_object.read().decode('utf-8'))
-
-    securesystemslib.util.persist_temp_file(metadata_file_object, current_filepath)
-
-    # Extract the metadata object so we can store it to the metadata store.
-    # 'current_metadata_object' set to 'None' if there is not an object
-    # stored for 'metadata_role'.
-    updated_metadata_object = metadata_signable['signed']
-    current_metadata_object = self.metadata['current'].get(metadata_role)
-
-    # Finally, update the metadata and fileinfo stores, and rebuild the
-    # key and role info for the top-level roles if 'metadata_role' is root.
-    # Rebuilding the key and role info is required if the newly-installed
-    # root metadata has revoked keys or updated any top-level role information.
-    logger.debug('Updated ' + repr(current_filepath) + '.')
-    self.metadata['previous'][metadata_role] = current_metadata_object
-    self.metadata['current'][metadata_role] = updated_metadata_object
-    self._update_versioninfo(metadata_filename)
-
-
-
-
-
-  def _update_metadata_if_changed(self, metadata_role,
-    referenced_metadata='snapshot'):
-    """
-    <Purpose>
-      Non-public method that updates the metadata for 'metadata_role' if it has
-      changed.  All top-level roles other than the 'timestamp' and 'root'
-      roles are updated by this method.  The 'timestamp' role is always
-      downloaded from a mirror without first checking if it has been updated;
-      it is updated in refresh() by calling _update_metadata('timestamp').
-      The 'root' role is always updated first and verified based on the trusted
-      root metadata file the client already has a copy of; it is updated in
-      refresh() by calling _update_root_metadata().
-      This method is also called for delegated role metadata, which are
-      referenced by 'snapshot'.
-
-      If the metadata needs to be updated but an update cannot be obtained,
-      this method will delete the file.
-
-      Due to the way in which metadata files are updated, it is expected that
-      'referenced_metadata' is not out of date and trusted.  The refresh()
-      method updates the top-level roles in 'root -> timestamp -> snapshot ->
-      targets' order.  For delegated metadata, the parent role is
-      updated before the delegated role.  Taking into account that
-      'referenced_metadata' is updated and verified before 'metadata_role',
-      this method determines if 'metadata_role' has changed by checking
-      the 'meta' field of the newly updated 'referenced_metadata'.
-
-    <Arguments>
-      metadata_role:
-        The name of the metadata. This is a role name and should not end
-        in '.json'.  Examples: 'root', 'targets', 'unclaimed'.
-
-      referenced_metadata:
-        This is the metadata that provides the role information for
-        'metadata_role'.  For the top-level roles, the 'snapshot' role
-        is the referenced metadata for the 'root', and 'targets' roles.
-        The 'timestamp' metadata is always downloaded regardless.  In
-        other words, it is updated by calling _update_metadata('timestamp')
-        and not by this method.  The referenced metadata for 'snapshot'
-        is 'timestamp'.  See refresh().
-
-    <Exceptions>
-      tuf.exceptions.ExpiredMetadataError:
-        If local metadata is expired and newer metadata is not available.
-
-      tuf.exceptions.NoWorkingMirrorError:
-        If 'metadata_role' could not be downloaded after determining that it
-        had changed.
-
-      tuf.exceptions.RepositoryError:
-        If the referenced metadata is missing.
-
-    <Side Effects>
-      If it is determined that 'metadata_role' has been updated, the metadata
-      store (i.e., self.metadata) is updated with the new metadata and the
-      affected stores modified (i.e., the previous metadata store is updated).
-      If the metadata is 'targets' or a delegated targets role, the role
-      database is updated with the new information, including its delegated
-      roles.
-
-    <Returns>
-      None.
-    """
-
-    metadata_filename = metadata_role + '.json'
-    expected_versioninfo = None
-
-    # Ensure the referenced metadata has been loaded.  The 'root' role may be
-    # updated without having 'snapshot' available.
-    if referenced_metadata not in self.metadata['current']:
-      raise tuf.exceptions.RepositoryError('Cannot update'
-        ' ' + repr(metadata_role) + ' because ' + referenced_metadata + ' is'
-        ' missing.')
-
-    # The referenced metadata has been loaded.  Extract the new versioninfo for
-    # 'metadata_role' from it.
-    else:
-      logger.debug(repr(metadata_role) + ' referenced in ' +
-        repr(referenced_metadata)+ '.  ' + repr(metadata_role) +
-        ' may be updated.')
-
-    # Simply return if the metadata for 'metadata_role' has not been updated,
-    # according to the uncompressed metadata provided by the referenced
-    # metadata.  The metadata is considered updated if its version number is
-    # strictly greater than its currently trusted version number.
-    expected_versioninfo = self.metadata['current'][referenced_metadata] \
-        ['meta'][metadata_filename]
-
-    if not self._versioninfo_has_been_updated(metadata_filename,
-        expected_versioninfo):
-      logger.info(repr(metadata_filename) + ' up-to-date.')
-
-      # Since we have not downloaded a new version of this metadata, we should
-      # check to see if our local version is stale and notify the user if so.
-      # This raises tuf.exceptions.ExpiredMetadataError if the metadata we have
-      # is expired. Resolves issue #322.
-      self._ensure_not_expired(self.metadata['current'][metadata_role],
-          metadata_role)
-
-      # TODO: If metadata role is snapshot, we should verify that snapshot's
-      # hash matches what's listed in timestamp.json per step 3.1 of the
-      # detailed workflows in the specification
-
-      return
-
-    logger.debug('Metadata ' + repr(metadata_filename) + ' has changed.')
-
-    # The file lengths of metadata are unknown, only their version numbers are
-    # known.  Set an upper limit for the length of the downloaded file for each
-    # expected role.  Note: The Timestamp role is not updated via this
-    # function.
-    if metadata_role == 'snapshot':
-      upperbound_filelength = tuf.settings.DEFAULT_SNAPSHOT_REQUIRED_LENGTH
-
-    # The metadata is considered Targets (or delegated Targets metadata).
-    else:
-      upperbound_filelength = tuf.settings.DEFAULT_TARGETS_REQUIRED_LENGTH
-
-    try:
-      self._update_metadata(metadata_role, upperbound_filelength,
-          expected_versioninfo['version'])
-
-    except Exception:
-      # The current metadata we have is not current but we couldn't get new
-      # metadata. We shouldn't use the old metadata anymore.  This will get rid
-      # of in-memory knowledge of the role and delegated roles, but will leave
-      # delegated metadata files as current files on disk.
-      #
-      # TODO: Should we get rid of the delegated metadata files?  We shouldn't
-      # need to, but we need to check the trust implications of the current
-      # implementation.
-      self._delete_metadata(metadata_role)
-      logger.warning('Metadata for ' + repr(metadata_role) + ' cannot'
-          ' be updated.')
-      raise
-
-    else:
-      # We need to import the delegated roles of 'metadata_role', since its
-      # list of delegations might have changed from what was previously
-      # loaded..
-      # TODO: Should we remove the keys of the delegated roles?
-      self._import_delegations(metadata_role)
-
-
-
-
-
-  def _versioninfo_has_been_updated(self, metadata_filename, new_versioninfo):
-    """
-    <Purpose>
-      Non-public method that determines whether the current versioninfo of
-      'metadata_filename' is less than 'new_versioninfo' (i.e., the version
-      number has been incremented).  The 'new_versioninfo' argument should be
-      extracted from the latest copy of the metadata that references
-      'metadata_filename'.  Example: 'root.json' would be referenced by
-      'snapshot.json'.
-
-      'new_versioninfo' should only be 'None' if this is for updating
-      'root.json' without having 'snapshot.json' available.
-
-    <Arguments>
-      metadadata_filename:
-        The metadata filename for the role.  For the 'root' role,
-        'metadata_filename' would be 'root.json'.
-
-      new_versioninfo:
-        A dict object representing the new file information for
-        'metadata_filename'.  'new_versioninfo' may be 'None' when
-        updating 'root' without having 'snapshot' available.  This
-        dict conforms to 'tuf.formats.VERSIONINFO_SCHEMA' and has
-        the form:
-
-        {'version': 288}
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      If there is no versioninfo currently loaded for 'metadata_filename', try
-      to load it.
-
-    <Returns>
-      Boolean.  True if the versioninfo has changed, False otherwise.
-    """
-
-    # If there is no versioninfo currently stored for 'metadata_filename',
-    # try to load the file, calculate the versioninfo, and store it.
-    if metadata_filename not in self.versioninfo:
-      self._update_versioninfo(metadata_filename)
-
-    # Return true if there is no versioninfo for 'metadata_filename'.
-    # 'metadata_filename' is not in the 'self.versioninfo' store
-    # and it doesn't exist in the 'current' metadata location.
-    if self.versioninfo[metadata_filename] is None:
-      return True
-
-    current_versioninfo = self.versioninfo[metadata_filename]
-
-    logger.debug('New version for ' + repr(metadata_filename) +
-        ': ' + repr(new_versioninfo['version']) + '.  Old version: ' +
-        repr(current_versioninfo['version']))
-
-    if new_versioninfo['version'] > current_versioninfo['version']:
-      return True
-
-    else:
-      return False
-
-
-
-
-
-  def _update_versioninfo(self, metadata_filename):
-    """
-    <Purpose>
-      Non-public method that updates the 'self.versioninfo' entry for the
-      metadata belonging to 'metadata_filename'.  If the current metadata for
-      'metadata_filename' cannot be loaded, set its 'versioninfo' to 'None' to
-      signal that it is not in 'self.versioninfo' AND it also doesn't exist
-      locally.
-
-    <Arguments>
-      metadata_filename:
-        The metadata filename for the role.  For the 'root' role,
-        'metadata_filename' would be 'root.json'.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      The version number of 'metadata_filename' is calculated and stored in its
-      corresponding entry in 'self.versioninfo'.
-
-    <Returns>
-      None.
-    """
-
-    # In case we delayed loading the metadata and didn't do it in
-    # __init__ (such as with delegated metadata), then get the version
-    # info now.
-
-    # Save the path to the current metadata file for 'metadata_filename'.
-    current_filepath = os.path.join(self.metadata_directory['current'],
-        metadata_filename)
-
-    # If the path is invalid, simply return and leave versioninfo unset.
-    if not os.path.exists(current_filepath):
-      self.versioninfo[metadata_filename] = None
-      return
-
-    # Extract the version information from the trusted snapshot role and save
-    # it to the 'self.versioninfo' store.
-    if metadata_filename == 'timestamp.json':
-      trusted_versioninfo = \
-        self.metadata['current']['timestamp']['version']
-
-    # When updating snapshot.json, the client either (1) has a copy of
-    # snapshot.json, or (2) is in the process of obtaining it by first
-    # downloading timestamp.json.  Note: Clients are allowed to have only
-    # root.json initially, and perform a refresh of top-level metadata to
-    # obtain the remaining roles.
-    elif metadata_filename == 'snapshot.json':
-
-      # Verify the version number of the currently trusted snapshot.json in
-      # snapshot.json itself.  Checking the version number specified in
-      # timestamp.json may be greater than the version specified in the
-      # client's copy of snapshot.json.
-      try:
-        timestamp_version_number = self.metadata['current']['snapshot']['version']
-        trusted_versioninfo = tuf.formats.make_versioninfo(
-            timestamp_version_number)
-
-      except KeyError:
-        trusted_versioninfo = \
-          self.metadata['current']['timestamp']['meta']['snapshot.json']
-
-    else:
-
-      try:
-        # The metadata file names in 'self.metadata' exclude the role
-        # extension.  Strip the '.json' extension when checking if
-        # 'metadata_filename' currently exists.
-        targets_version_number = \
-          self.metadata['current'][metadata_filename[:-len('.json')]]['version']
-        trusted_versioninfo = \
-          tuf.formats.make_versioninfo(targets_version_number)
-
-      except KeyError:
-        trusted_versioninfo = \
-          self.metadata['current']['snapshot']['meta'][metadata_filename]
-
-    self.versioninfo[metadata_filename] = trusted_versioninfo
-
-
-
-
-
-  def _fileinfo_has_changed(self, metadata_filename, new_fileinfo):
-    """
-    <Purpose>
-      Non-public method that determines whether the current fileinfo of
-      'metadata_filename' differs from 'new_fileinfo'.  The 'new_fileinfo'
-      argument should be extracted from the latest copy of the metadata that
-      references 'metadata_filename'.  Example: 'root.json' would be referenced
-      by 'snapshot.json'.
-
-      'new_fileinfo' should only be 'None' if this is for updating 'root.json'
-      without having 'snapshot.json' available.
-
-    <Arguments>
-      metadadata_filename:
-        The metadata filename for the role.  For the 'root' role,
-        'metadata_filename' would be 'root.json'.
-
-      new_fileinfo:
-        A dict object representing the new file information for
-        'metadata_filename'.  'new_fileinfo' may be 'None' when
-        updating 'root' without having 'snapshot' available.  This
-        dict conforms to 'tuf.formats.TARGETS_FILEINFO_SCHEMA' and has
-        the form:
-
-        {'length': 23423
-         'hashes': {'sha256': adfbc32343..}}
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      If there is no fileinfo currently loaded for 'metada_filename',
-      try to load it.
-
-    <Returns>
-      Boolean.  True if the fileinfo has changed, false otherwise.
-    """
-
-    # If there is no fileinfo currently stored for 'metadata_filename',
-    # try to load the file, calculate the fileinfo, and store it.
-    if metadata_filename not in self.fileinfo:
-      self._update_fileinfo(metadata_filename)
-
-    # Return true if there is no fileinfo for 'metadata_filename'.
-    # 'metadata_filename' is not in the 'self.fileinfo' store
-    # and it doesn't exist in the 'current' metadata location.
-    if self.fileinfo[metadata_filename] is None:
-      return True
-
-    current_fileinfo = self.fileinfo[metadata_filename]
-
-    if current_fileinfo['length'] != new_fileinfo['length']:
-      return True
-
-    # Now compare hashes. Note that the reason we can't just do a simple
-    # equality check on the fileinfo dicts is that we want to support the
-    # case where the hash algorithms listed in the metadata have changed
-    # without having that result in considering all files as needing to be
-    # updated, or not all hash algorithms listed can be calculated on the
-    # specific client.
-    for algorithm, hash_value in six.iteritems(new_fileinfo['hashes']):
-      # We're only looking for a single match. This isn't a security
-      # check, we just want to prevent unnecessary downloads.
-      if algorithm in current_fileinfo['hashes']:
-        if hash_value == current_fileinfo['hashes'][algorithm]:
-          return False
-
-    return True
-
-
-
-
-
-  def _update_fileinfo(self, metadata_filename):
-    """
-    <Purpose>
-      Non-public method that updates the 'self.fileinfo' entry for the metadata
-      belonging to 'metadata_filename'.  If the 'current' metadata for
-      'metadata_filename' cannot be loaded, set its fileinfo' to 'None' to
-      signal that it is not in the 'self.fileinfo' AND it also doesn't exist
-      locally.
-
-    <Arguments>
-      metadata_filename:
-        The metadata filename for the role.  For the 'root' role,
-        'metadata_filename' would be 'root.json'.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      The file details of 'metadata_filename' is calculated and
-      stored in 'self.fileinfo'.
-
-    <Returns>
-      None.
-    """
-
-    # In case we delayed loading the metadata and didn't do it in
-    # __init__ (such as with delegated metadata), then get the file
-    # info now.
-
-    # Save the path to the current metadata file for 'metadata_filename'.
-    current_filepath = os.path.join(self.metadata_directory['current'],
-        metadata_filename)
-
-    # If the path is invalid, simply return and leave fileinfo unset.
-    if not os.path.exists(current_filepath):
-      self.fileinfo[metadata_filename] = None
-      return
-
-    # Extract the file information from the actual file and save it
-    # to the fileinfo store.
-    file_length, hashes = securesystemslib.util.get_file_details(
-        current_filepath)
-    metadata_fileinfo = tuf.formats.make_targets_fileinfo(file_length, hashes)
-    self.fileinfo[metadata_filename] = metadata_fileinfo
-
-
-
-
-
-
-
-  def _move_current_to_previous(self, metadata_role):
-    """
-    <Purpose>
-      Non-public method that moves the current metadata file for 'metadata_role'
-      to the previous directory.
-
-    <Arguments>
-      metadata_role:
-        The name of the metadata. This is a role name and should not end
-        in '.json'.  Examples: 'root', 'targets', 'targets/linux/x86'.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-     The metadata file for 'metadata_role' is removed from 'current'
-     and moved to the 'previous' directory.
-
-    <Returns>
-      None.
-    """
-
-    # Get the 'current' and 'previous' full file paths for 'metadata_role'
-    metadata_filepath = metadata_role + '.json'
-    previous_filepath = os.path.join(self.metadata_directory['previous'],
-                                     metadata_filepath)
-    current_filepath = os.path.join(self.metadata_directory['current'],
-                                    metadata_filepath)
-
-    # Remove the previous path if it exists.
-    if os.path.exists(previous_filepath):
-      os.remove(previous_filepath)
-
-    # Move the current path to the previous path.
-    if os.path.exists(current_filepath):
-      securesystemslib.util.ensure_parent_dir(previous_filepath)
-      os.rename(current_filepath, previous_filepath)
-
-
-
-
-
-  def _delete_metadata(self, metadata_role):
-    """
-    <Purpose>
-      Non-public method that removes all (current) knowledge of 'metadata_role'.
-      The metadata belonging to 'metadata_role' is removed from the current
-      'self.metadata' store and from the role database. The 'root.json' role
-      file is never removed.
-
-    <Arguments>
-      metadata_role:
-        The name of the metadata. This is a role name and should not end
-        in '.json'.  Examples: 'root', 'targets', 'targets/linux/x86'.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      The role database is modified and the metadata for 'metadata_role'
-      removed from the 'self.metadata' store.
-
-    <Returns>
-      None.
-    """
-
-    # The root metadata role is never deleted without a replacement.
-    if metadata_role == 'root':
-      return
-
-    # Get rid of the current metadata file.
-    self._move_current_to_previous(metadata_role)
-
-    # Remove knowledge of the role.
-    if metadata_role in self.metadata['current']:
-      del self.metadata['current'][metadata_role]
-    tuf.roledb.remove_role(metadata_role, self.repository_name)
-
-
-
-
-
-  def _ensure_not_expired(self, metadata_object, metadata_rolename):
-    """
-    <Purpose>
-      Non-public method that raises an exception if the current specified
-      metadata has expired.
-
-    <Arguments>
-      metadata_object:
-        The metadata that should be expired, a 'tuf.formats.ANYROLE_SCHEMA'
-        object.
-
-      metadata_rolename:
-        The name of the metadata. This is a role name and should not end
-        in '.json'.  Examples: 'root', 'targets', 'targets/linux/x86'.
-
-    <Exceptions>
-      tuf.exceptions.ExpiredMetadataError:
-        If 'metadata_rolename' has expired.
-      securesystemslib.exceptions.FormatError:
-        If the expiration cannot be parsed correctly
-    <Side Effects>
-      None.
-
-    <Returns>
-      None.
-    """
-
-    # Extract the expiration time. Convert it to a unix timestamp and compare it
-    # against the current time.time() (also in Unix/POSIX time format, although
-    # with microseconds attached.)
-    expires_datetime = tuf.formats.expiry_string_to_datetime(
-        metadata_object['expires'])
-    expires_timestamp = tuf.formats.datetime_to_unix_timestamp(expires_datetime)
-
-    current_time = int(time.time())
-    if expires_timestamp <= current_time:
-      message = 'Metadata '+repr(metadata_rolename)+' expired on ' + \
-        expires_datetime.ctime() + ' (UTC).'
-      raise tuf.exceptions.ExpiredMetadataError(message)
-
-
-
-
-
-  def all_targets(self):
-    """
-    <Purpose>
-
-      NOTE: This function is deprecated.  Its behavior with regard to which
-      delegating Targets roles are trusted to determine how to validate a
-      delegated Targets role is NOT WELL DEFINED.  Please transition to use of
-      get_one_valid_targetinfo()!
-
-      Get a list of the target information for all the trusted targets on the
-      repository.  This list also includes all the targets of delegated roles.
-      Targets of the list returned are ordered according the trusted order of
-      the delegated roles, where parent roles come before children.  The list
-      conforms to 'tuf.formats.TARGETINFOS_SCHEMA' and has the form:
-
-      [{'filepath': 'a/b/c.txt',
-        'fileinfo': {'length': 13323,
-                     'hashes': {'sha256': dbfac345..}}
-       ...]
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      tuf.exceptions.RepositoryError:
-        If the metadata for the 'targets' role is missing from
-        the 'snapshot' metadata.
-
-      tuf.exceptions.UnknownRoleError:
-        If one of the roles could not be found in the role database.
-
-    <Side Effects>
-      The metadata for target roles is updated and stored.
-
-    <Returns>
-     A list of targets, conformant to
-     'tuf.formats.TARGETINFOS_SCHEMA'.
-    """
-
-    warnings.warn(
-        'Support for all_targets() will be removed in a future release.'
-        '  get_one_valid_targetinfo() should be used instead.',
-        DeprecationWarning)
-
-    # Load the most up-to-date targets of the 'targets' role and all
-    # delegated roles.
-    self._refresh_targets_metadata(refresh_all_delegated_roles=True)
-
-    # Fetch the targets for the 'targets' role.
-    all_targets = self._targets_of_role('targets', skip_refresh=True)
-
-    # Fetch the targets of the delegated roles.  get_rolenames returns
-    # all roles available on the repository.
-    delegated_targets = []
-    for role in tuf.roledb.get_rolenames(self.repository_name):
-      if role in tuf.roledb.TOP_LEVEL_ROLES:
-        continue
-
-      else:
-        delegated_targets.extend(self._targets_of_role(role, skip_refresh=True))
-
-    all_targets.extend(delegated_targets)
-
-    return all_targets
-
-
-
-
-
-  def _refresh_targets_metadata(self, rolename='targets',
-    refresh_all_delegated_roles=False):
-    """
-    <Purpose>
-      Non-public method that refreshes the targets metadata of 'rolename'.  If
-      'refresh_all_delegated_roles' is True, include all the delegations that
-      follow 'rolename'.  The metadata for the 'targets' role is updated in
-      refresh() by the _update_metadata_if_changed('targets') call, not here.
-      Delegated roles are not loaded when the repository is first initialized.
-      They are loaded from disk, updated if they have changed, and stored to
-      the 'self.metadata' store by this method.  This method is called by
-      get_one_valid_targetinfo().
-
-    <Arguments>
-      rolename:
-        This is a delegated role name and should not end in '.json'.  Example:
-        'unclaimed'.
-
-      refresh_all_delegated_roles:
-         Boolean indicating if all the delegated roles available in the
-         repository (via snapshot.json) should be refreshed.
-
-    <Exceptions>
-      tuf.exceptions.ExpiredMetadataError:
-        If local metadata is expired and newer metadata is not available.
-
-      tuf.exceptions.RepositoryError:
-        If the metadata file for the 'targets' role is missing from the
-        'snapshot' metadata.
-
-    <Side Effects>
-      The metadata for the delegated roles are loaded and updated if they
-      have changed.  Delegated metadata is removed from the role database if
-      it has expired.
-
-    <Returns>
-      None.
-    """
-
-    roles_to_update = []
-
-    if rolename + '.json' in self.metadata['current']['snapshot']['meta']:
-      roles_to_update.append(rolename)
-
-    if refresh_all_delegated_roles:
-
-      for role in six.iterkeys(self.metadata['current']['snapshot']['meta']):
-        # snapshot.json keeps track of root.json, targets.json, and delegated
-        # roles (e.g., django.json, unclaimed.json).  Remove the 'targets' role
-        # because it gets updated when the targets.json file is updated in
-        # _update_metadata_if_changed('targets') and root.
-        if role.endswith('.json'):
-          role = role[:-len('.json')]
-          if role not in ['root', 'targets', rolename]:
-            roles_to_update.append(role)
-
-        else:
-          continue
-
-    # If there is nothing to refresh, we are done.
-    if not roles_to_update:
-      return
-
-    logger.debug('Roles to update: ' + repr(roles_to_update) + '.')
-
-    # Iterate 'roles_to_update', and load and update its metadata file if it
-    # has changed.
-    for rolename in roles_to_update:
-      self._load_metadata_from_file('previous', rolename)
-      self._load_metadata_from_file('current', rolename)
-
-      self._update_metadata_if_changed(rolename)
-
-
-
-
-
-  def _targets_of_role(self, rolename, targets=None, skip_refresh=False):
-    """
-    <Purpose>
-      Non-public method that returns the target information of all the targets
-      of 'rolename'.  The returned information is a list conformant to
-      'tuf.formats.TARGETINFOS_SCHEMA', and has the form:
-
-      [{'filepath': 'a/b/c.txt',
-        'fileinfo': {'length': 13323,
-                     'hashes': {'sha256': dbfac345..}}
-       ...]
-
-    <Arguments>
-      rolename:
-        This is a role name and should not end in '.json'.  Examples: 'targets',
-        'unclaimed'.
-
-      targets:
-        A list of targets containing target information, conformant to
-        'tuf.formats.TARGETINFOS_SCHEMA'.
-
-      skip_refresh:
-        A boolean indicating if the target metadata for 'rolename'
-        should be refreshed.
-
-    <Exceptions>
-      tuf.exceptions.UnknownRoleError:
-        If 'rolename' is not found in the role database.
-
-    <Side Effects>
-      The metadata for 'rolename' is refreshed if 'skip_refresh' is False.
-
-    <Returns>
-      A list of dict objects containing the target information of all the
-      targets of 'rolename'.  Conformant to
-      'tuf.formats.TARGETINFOS_SCHEMA'.
-    """
-
-    if targets is None:
-      targets = []
-
-    targets_of_role = list(targets)
-    logger.debug('Getting targets of role: ' + repr(rolename) + '.')
-
-    if not tuf.roledb.role_exists(rolename, self.repository_name):
-      raise tuf.exceptions.UnknownRoleError(rolename)
-
-    # We do not need to worry about the target paths being trusted because
-    # this is enforced before any new metadata is accepted.
-    if not skip_refresh:
-      self._refresh_targets_metadata(rolename)
-
-    # Do we have metadata for 'rolename'?
-    if rolename not in self.metadata['current']:
-      logger.debug('No metadata for ' + repr(rolename) + '.'
-        '  Unable to determine targets.')
-      return []
-
-    # Get the targets specified by the role itself.
-    for filepath, fileinfo in six.iteritems(self.metadata['current'][rolename].get('targets', [])):
-      new_target = {}
-      new_target['filepath'] = filepath
-      new_target['fileinfo'] = fileinfo
-
-      targets_of_role.append(new_target)
-
-    return targets_of_role
-
-
-
-
-
-  def targets_of_role(self, rolename='targets'):
-    """
-    <Purpose>
-
-      NOTE: This function is deprecated.  Use with rolename 'targets' is secure
-      and the behavior well-defined, but use with any delegated targets role is
-      not. Please transition use for delegated targets roles to
-      get_one_valid_targetinfo().  More information is below.
-
-      Return a list of trusted targets directly specified by 'rolename'.
-      The returned information is a list conformant to
-      'tuf.formats.TARGETINFOS_SCHEMA', and has the form:
-
-      [{'filepath': 'a/b/c.txt',
-        'fileinfo': {'length': 13323,
-                     'hashes': {'sha256': dbfac345..}}
-       ...]
-
-      The metadata of 'rolename' is updated if out of date, including the
-      metadata of its parent roles (i.e., the minimum roles needed to set the
-      chain of trust).
-
-    <Arguments>
-      rolename:
-        The name of the role whose list of targets are wanted.
-        The name of the role should start with 'targets'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If 'rolename' is improperly formatted.
-
-      tuf.exceptions.RepositoryError:
-        If the metadata of 'rolename' cannot be updated.
-
-      tuf.exceptions.UnknownRoleError:
-        If 'rolename' is not found in the role database.
-
-    <Side Effects>
-      The metadata of updated delegated roles are downloaded and stored.
-
-    <Returns>
-      A list of targets, conformant to
-      'tuf.formats.TARGETINFOS_SCHEMA'.
-    """
-
-    warnings.warn(
-        'Support for targets_of_role() will be removed in a future release.'
-        '  get_one_valid_targetinfo() should be used instead.',
-        DeprecationWarning)
-
-    # Does 'rolename' have the correct format?
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.RELPATH_SCHEMA.check_match(rolename)
-
-    # If we've been given a delegated targets role, we don't know how to
-    # validate it without knowing what the delegating role is -- there could
-    # be several roles that delegate to the given role.  Behavior of this
-    # function for roles other than Targets is not well defined as a result.
-    # This function is deprecated, but:
-    #   - Usage of this function or a future successor makes sense when the
-    #     role of interest is Targets, since we always know exactly how to
-    #     validate Targets (We use root.).
-    #   - Until it's removed (hopefully soon), we'll try to provide what it has
-    #     always provided.  To do this, we fetch and "validate" all delegated
-    #     roles listed by snapshot.  For delegated roles only, the order of the
-    #     validation impacts the security of the validation -- the most-
-    #     recently-validated role delegating to a role you are currently
-    #     validating determines the expected keyids and threshold of the role
-    #     you are currently validating.  That is NOT GOOD.  Again, please switch
-    #     to get_one_valid_targetinfo, which is well-defined and secure.
-    if rolename != 'targets':
-      self._refresh_targets_metadata(refresh_all_delegated_roles=True)
-
-
-    if not tuf.roledb.role_exists(rolename, self.repository_name):
-      raise tuf.exceptions.UnknownRoleError(rolename)
-
-    return self._targets_of_role(rolename, skip_refresh=True)
-
-
-
-
-
-  def get_one_valid_targetinfo(self, target_filepath):
-    """
-    <Purpose>
-      Return the target information for 'target_filepath', and update its
-      corresponding metadata, if necessary.  'target_filepath' must match
-      exactly as it appears in metadata, and should not contain URL encoding
-      escapes.
-
-    <Arguments>
-      target_filepath:
-        The path to the target file on the repository. This will be relative to
-        the 'targets' (or equivalent) directory on a given mirror.
-
-    <Exceptions>
-      tuf.exceptions.ExpiredMetadataError:
-        If local metadata is expired and newer metadata is not available.
-
-      securesystemslib.exceptions.FormatError:
-        If 'target_filepath' is improperly formatted.
-
-      tuf.exceptions.UnknownTargetError:
-        If 'target_filepath' was not found.
-
-      Any other unforeseen runtime exception.
-
-    <Side Effects>
-      The metadata for updated delegated roles are downloaded and stored.
-
-    <Returns>
-      The target information for 'target_filepath', conformant to
-      'tuf.formats.TARGETINFO_SCHEMA'.
-    """
-
-    # Does 'target_filepath' have the correct format?
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.RELPATH_SCHEMA.check_match(target_filepath)
-
-    target_filepath = target_filepath.replace('\\', '/')
-
-    if target_filepath.startswith('/'):
-      raise tuf.exceptions.FormatError('The requested target file cannot'
-          ' contain a leading path separator: ' + repr(target_filepath))
-
-    # Get target by looking at roles in order of priority tags.
-    target = self._preorder_depth_first_walk(target_filepath)
-
-    # Raise an exception if the target information could not be retrieved.
-    if target is None:
-      raise tuf.exceptions.UnknownTargetError(repr(target_filepath) + ' not'
-          ' found.')
-
-    # Otherwise, return the found target.
-    else:
-      return target
-
-
-
-
-
-  def _preorder_depth_first_walk(self, target_filepath):
-    """
-    <Purpose>
-      Non-public method that interrogates the tree of target delegations in
-      order of appearance (which implicitly order trustworthiness), and returns
-      the matching target found in the most trusted role.
-
-    <Arguments>
-      target_filepath:
-        The path to the target file on the repository. This will be relative to
-        the 'targets' (or equivalent) directory on a given mirror.
-
-    <Exceptions>
-      tuf.exceptions.ExpiredMetadataError:
-        If local metadata is expired and newer metadata is not available.
-
-      securesystemslib.exceptions.FormatError:
-        If 'target_filepath' is improperly formatted.
-
-      tuf.exceptions.RepositoryError:
-        If 'target_filepath' is not found.
-
-    <Side Effects>
-      The metadata for updated delegated roles are downloaded and stored.
-
-    <Returns>
-      The target information for 'target_filepath', conformant to
-      'tuf.formats.TARGETINFO_SCHEMA'.
-    """
-
-    target = None
-    current_metadata = self.metadata['current']
-    role_names = ['targets']
-    visited_role_names = set()
-    number_of_delegations = tuf.settings.MAX_NUMBER_OF_DELEGATIONS
-
-    # Ensure the client has the most up-to-date version of 'targets.json'.
-    # Raise 'tuf.exceptions.NoWorkingMirrorError' if the changed metadata
-    # cannot be successfully downloaded and 'tuf.exceptions.RepositoryError' if
-    # the referenced metadata is missing.  Target methods such as this one are
-    # called after the top-level metadata have been refreshed (i.e.,
-    # updater.refresh()).
-    self._update_metadata_if_changed('targets')
-
-    # Preorder depth-first traversal of the graph of target delegations.
-    while target is None and number_of_delegations > 0 and len(role_names) > 0:
-
-      # Pop the role name from the top of the stack.
-      role_name = role_names.pop(-1)
-
-      # Skip any visited current role to prevent cycles.
-      if role_name in visited_role_names:
-        logger.debug('Skipping visited current role ' + repr(role_name))
-        continue
-
-      # The metadata for 'role_name' must be downloaded/updated before its
-      # targets, delegations, and child roles can be inspected.
-      # self.metadata['current'][role_name] is currently missing.
-      # _refresh_targets_metadata() does not refresh 'targets.json', it
-      # expects _update_metadata_if_changed() to have already refreshed it,
-      # which this function has checked above.
-      self._refresh_targets_metadata(role_name,
-          refresh_all_delegated_roles=False)
-
-      role_metadata = current_metadata[role_name]
-      targets = role_metadata['targets']
-      delegations = role_metadata.get('delegations', {})
-      child_roles = delegations.get('roles', [])
-      target = self._get_target_from_targets_role(role_name, targets,
-                                                  target_filepath)
-      # After preorder check, add current role to set of visited roles.
-      visited_role_names.add(role_name)
-
-      # And also decrement number of visited roles.
-      number_of_delegations -= 1
-
-      if target is None:
-
-        child_roles_to_visit = []
-        # NOTE: This may be a slow operation if there are many delegated roles.
-        for child_role in child_roles:
-          child_role_name = self._visit_child_role(child_role, target_filepath)
-          if child_role['terminating'] and child_role_name is not None:
-            logger.debug('Adding child role ' + repr(child_role_name))
-            logger.debug('Not backtracking to other roles.')
-            role_names = []
-            child_roles_to_visit.append(child_role_name)
-            break
-
-          elif child_role_name is None:
-            logger.debug('Skipping child role ' + repr(child_role_name))
-
-          else:
-            logger.debug('Adding child role ' + repr(child_role_name))
-            child_roles_to_visit.append(child_role_name)
-
-        # Push 'child_roles_to_visit' in reverse order of appearance onto
-        # 'role_names'.  Roles are popped from the end of the 'role_names'
-        # list.
-        child_roles_to_visit.reverse()
-        role_names.extend(child_roles_to_visit)
-
-      else:
-        logger.debug('Found target in current role ' + repr(role_name))
-
-    if target is None and number_of_delegations == 0 and len(role_names) > 0:
-      logger.debug(repr(len(role_names)) + ' roles left to visit, ' +
-          'but allowed to visit at most ' +
-          repr(tuf.settings.MAX_NUMBER_OF_DELEGATIONS) + ' delegations.')
-
-    return target
-
-
-
-
-
-  def _get_target_from_targets_role(self, role_name, targets, target_filepath):
-    """
-    <Purpose>
-      Non-public method that determines whether the targets role with the given
-      'role_name' has the target with the name 'target_filepath'.
-
-    <Arguments>
-      role_name:
-        The name of the targets role that we are inspecting.
-
-      targets:
-        The targets of the Targets role with the name 'role_name'.
-
-      target_filepath:
-        The path to the target file on the repository. This will be relative to
-        the 'targets' (or equivalent) directory on a given mirror.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The target information for 'target_filepath', conformant to
-      'tuf.formats.TARGETINFO_SCHEMA'.
-    """
-
-    # Does the current role name have our target?
-    logger.debug('Asking role ' + repr(role_name) + ' about'
-        ' target ' + repr(target_filepath))
-
-    target = targets.get(target_filepath)
-
-    if target:
-      logger.debug('Found target ' + target_filepath + ' in role ' + role_name)
-      return {'filepath': target_filepath, 'fileinfo': target}
-
-    else:
-      logger.debug(
-          'Target file ' + target_filepath + ' not found in role ' + role_name)
-      return None
-
-
-
-
-
-  def _visit_child_role(self, child_role, target_filepath):
-    """
-    <Purpose>
-      Non-public method that determines whether the given 'target_filepath'
-      is an allowed path of 'child_role'.
-
-      Ensure that we explore only delegated roles trusted with the target.  The
-      metadata for 'child_role' should have been refreshed prior to this point,
-      however, the paths/targets that 'child_role' signs for have not been
-      verified (as intended).  The paths/targets that 'child_role' is allowed
-      to specify in its metadata depends on the delegating role, and thus is
-      left to the caller to verify.  We verify here that 'target_filepath'
-      is an allowed path according to the delegated 'child_role'.
-
-      TODO: Should the TUF spec restrict the repository to one particular
-      algorithm?  Should we allow the repository to specify in the role
-      dictionary the algorithm used for these generated hashed paths?
-
-    <Arguments>
-      child_role:
-        The delegation targets role object of 'child_role', containing its
-        paths, path_hash_prefixes, keys, and so on.
-
-      target_filepath:
-        The path to the target file on the repository. This will be relative to
-        the 'targets' (or equivalent) directory on a given mirror.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      If 'child_role' has been delegated the target with the name
-      'target_filepath', then we return the role name of 'child_role'.
-
-      Otherwise, we return None.
-    """
-
-    child_role_name = child_role['name']
-    child_role_paths = child_role.get('paths')
-    child_role_path_hash_prefixes = child_role.get('path_hash_prefixes')
-
-    if child_role_path_hash_prefixes is not None:
-      target_filepath_hash = self._get_target_hash(target_filepath)
-      for child_role_path_hash_prefix in child_role_path_hash_prefixes:
-        if target_filepath_hash.startswith(child_role_path_hash_prefix):
-          return child_role_name
-
-        else:
-          continue
-
-    elif child_role_paths is not None:
-      # Is 'child_role_name' allowed to sign for 'target_filepath'?
-      for child_role_path in child_role_paths:
-        # A child role path may be an explicit path or glob pattern (Unix
-        # shell-style wildcards).  The child role 'child_role_name' is returned
-        # if 'target_filepath' is equal to or matches 'child_role_path'.
-        # Explicit filepaths are also considered matches.  A repo maintainer
-        # might delegate a glob pattern with a leading path separator, while
-        # the client requests a matching target without a leading path
-        # separator - make sure to strip any leading path separators so that a
-        # match is made.  Example: "foo.tgz" should match with "/*.tgz".
-        if fnmatch.fnmatch(target_filepath.lstrip(os.sep), child_role_path.lstrip(os.sep)):
-          logger.debug('Child role ' + repr(child_role_name) + ' is allowed to'
-            ' sign for ' + repr(target_filepath))
-
-          return child_role_name
-
-        else:
-          logger.debug(
-              'The given target path ' + repr(target_filepath) + ' does not'
-              ' match the trusted path or glob pattern: ' + repr(child_role_path))
-          continue
-
-    else:
-      # 'role_name' should have been validated when it was downloaded.
-      # The 'paths' or 'path_hash_prefixes' fields should not be missing,
-      # so we raise a format error here in case they are both missing.
-      raise securesystemslib.exceptions.FormatError(repr(child_role_name) + ' '
-          'has neither a "paths" nor "path_hash_prefixes".  At least'
-          ' one of these attributes must be present.')
-
-    return None
-
-
-
-  def _get_target_hash(self, target_filepath, hash_function='sha256'):
-    """
-    <Purpose>
-      Non-public method that computes the hash of 'target_filepath'. This is
-      useful in conjunction with the "path_hash_prefixes" attribute in a
-      delegated targets role, which tells us which paths it is implicitly
-      responsible for.
-
-    <Arguments>
-      target_filepath:
-        The path to the target file on the repository. This will be relative to
-        the 'targets' (or equivalent) directory on a given mirror.
-
-      hash_function:
-        The algorithm used by the repository to generate the hashes of the
-        target filepaths.  The repository may optionally organize targets into
-        hashed bins to ease target delegations and role metadata management.
-        The use of consistent hashing allows for a uniform distribution of
-        targets into bins.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The hash of 'target_filepath'.
-    """
-
-    # Calculate the hash of the filepath to determine which bin to find the
-    # target.  The client currently assumes the repository (i.e., repository
-    # tool) uses 'hash_function' to generate hashes and UTF-8.
-    digest_object = securesystemslib.hash.digest(hash_function)
-    encoded_target_filepath = target_filepath.encode('utf-8')
-    digest_object.update(encoded_target_filepath)
-    target_filepath_hash = digest_object.hexdigest()
-
-    return target_filepath_hash
-
-
-
-
-
-  def remove_obsolete_targets(self, destination_directory):
-    """
-    <Purpose>
-      Remove any files that are in 'previous' but not 'current'.  This makes it
-      so if you remove a file from a repository, it actually goes away.  The
-      targets for the 'targets' role and all delegated roles are checked.
-
-    <Arguments>
-      destination_directory:
-        The directory containing the target files tracked by TUF.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If 'destination_directory' is improperly formatted.
-
-      tuf.exceptions.RepositoryError:
-        If an error occurred removing any files.
-
-    <Side Effects>
-      Target files are removed from disk.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'destination_directory' have the correct format?
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    securesystemslib.formats.PATH_SCHEMA.check_match(destination_directory)
-
-    # Iterate the rolenames and verify whether the 'previous' directory
-    # contains a target no longer found in 'current'.
-    for role in tuf.roledb.get_rolenames(self.repository_name):
-      if role.startswith('targets'):
-        if role in self.metadata['previous'] and self.metadata['previous'][role] != None:
-          for target in self.metadata['previous'][role]['targets']:
-            if target not in self.metadata['current'][role]['targets']:
-              # 'target' is only in 'previous', so remove it.
-              logger.warning('Removing obsolete file: ' + repr(target) + '.')
-
-              # Remove the file if it hasn't been removed already.
-              destination = \
-                os.path.join(destination_directory, target.lstrip(os.sep))
-              try:
-                os.remove(destination)
-
-              except OSError as e:
-                # If 'filename' already removed, just log it.
-                if e.errno == errno.ENOENT:
-                  logger.info('File ' + repr(destination) + ' was already'
-                    ' removed.')
-
-                else:
-                  logger.warning('Failed to remove obsolete target: ' + str(e) )
-
-            else:
-              logger.debug('Skipping: ' + repr(target) + '.  It is still'
-                ' a current target.')
-        else:
-          logger.debug('Skipping: ' + repr(role) + '.  Not in the previous'
-            ' metadata')
-
-
-
-
-
-  def updated_targets(self, targets, destination_directory):
-    """
-    <Purpose>
-      Checks files in the provided directory against the provided file metadata.
-
-      Filters the provided target info, returning a subset: only the metadata
-      for targets for which the target file either does not exist in the
-      provided directory, or for which the target file in the provided directory
-      does not match the provided metadata.
-
-      A principle use of this function is to determine which target files need
-      to be downloaded.  If the caller first uses get_one_valid_target_info()
-      calls to obtain up-to-date, valid metadata for targets, the caller can
-      then call updated_targets() to determine if that metadata does not match
-      what exists already on disk (in the provided directory).  The returned
-      values can then be used in download_file() calls to update the files that
-      didn't exist or didn't match.
-
-      The returned information is a list conformant to
-      'tuf.formats.TARGETINFOS_SCHEMA' and has the form:
-
-      [{'filepath': 'a/b/c.txt',
-        'fileinfo': {'length': 13323,
-                     'hashes': {'sha256': dbfac345..}}
-       ...]
-
-    <Arguments>
-      targets:
-        Metadata about the expected state of target files, against which local
-        files will be checked. This should be a list of target info
-        dictionaries; i.e. 'targets' must be conformant to
-        tuf.formats.TARGETINFOS_SCHEMA.
-
-      destination_directory:
-        The directory containing the target files.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If the arguments are improperly formatted.
-
-    <Side Effects>
-      The files in 'targets' are read and their hashes computed.
-
-    <Returns>
-      A list of target info dictionaries. The list conforms to
-      'tuf.formats.TARGETINFOS_SCHEMA'.
-      This is a strict subset of the argument 'targets'.
-    """
-
-    # Do the arguments have the correct format?
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.TARGETINFOS_SCHEMA.check_match(targets)
-    securesystemslib.formats.PATH_SCHEMA.check_match(destination_directory)
-
-    # Keep track of the target objects and filepaths of updated targets.
-    # Return 'updated_targets' and use 'updated_targetpaths' to avoid
-    # duplicates.
-    updated_targets = []
-    updated_targetpaths = []
-
-    for target in targets:
-      # Prepend 'destination_directory' to the target's relative filepath (as
-      # stored in metadata.)  Verify the hash of 'target_filepath' against
-      # each hash listed for its fileinfo.  Note: join() discards
-      # 'destination_directory' if 'filepath' contains a leading path separator
-      # (i.e., is treated as an absolute path).
-      filepath = target['filepath']
-      if filepath[0] == '/':
-        filepath = filepath[1:]
-      target_filepath = os.path.join(destination_directory, filepath)
-
-      if target_filepath in updated_targetpaths:
-        continue
-
-      # Try one of the algorithm/digest combos for a mismatch.  We break
-      # as soon as we find a mismatch.
-      for algorithm, digest in six.iteritems(target['fileinfo']['hashes']):
-        digest_object = None
-        try:
-          digest_object = securesystemslib.hash.digest_filename(target_filepath,
-            algorithm=algorithm)
-
-        # This exception would occur if the target does not exist locally.
-        except securesystemslib.exceptions.StorageError:
-          updated_targets.append(target)
-          updated_targetpaths.append(target_filepath)
-          break
-
-        # The file does exist locally, check if its hash differs.
-        if digest_object.hexdigest() != digest:
-          updated_targets.append(target)
-          updated_targetpaths.append(target_filepath)
-          break
-
-    return updated_targets
-
-
-
-
-
-  def download_target(self, target, destination_directory,
-      prefix_filename_with_hash=True):
-    """
-    <Purpose>
-      Download 'target' and verify it is trusted.
-
-      This will only store the file at 'destination_directory' if the
-      downloaded file matches the description of the file in the trusted
-      metadata.
-
-    <Arguments>
-      target:
-        The target to be downloaded.  Conformant to
-        'tuf.formats.TARGETINFO_SCHEMA'.
-
-      destination_directory:
-        The directory to save the downloaded target file.
-
-      prefix_filename_with_hash:
-        Whether to prefix the targets file names with their hash when using
-        consistent snapshot.
-        This should be set to False when the served target filenames are not
-        prefixed with hashes (in this case the server uses other means
-        to ensure snapshot consistency).
-        Default is True.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError:
-        If 'target' is not properly formatted.
-
-      tuf.exceptions.NoWorkingMirrorError:
-        If a target could not be downloaded from any of the mirrors.
-
-        Although expected to be rare, there might be OSError exceptions (except
-        errno.EEXIST) raised when creating the destination directory (if it
-        doesn't exist).
-
-    <Side Effects>
-      A target file is saved to the local system.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # This check ensures the arguments have the appropriate
-    # number of objects and object types, and that all dict
-    # keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if the check fail.
-    tuf.formats.TARGETINFO_SCHEMA.check_match(target)
-    securesystemslib.formats.PATH_SCHEMA.check_match(destination_directory)
-
-    # Extract the target file information.
-    target_filepath = target['filepath']
-    trusted_length = target['fileinfo']['length']
-    trusted_hashes = target['fileinfo']['hashes']
-
-    # Build absolute 'destination' file path.
-    # Note: join() discards 'destination_directory' if 'target_path' contains
-    # a leading path separator (i.e., is treated as an absolute path).
-    destination = os.path.join(destination_directory,
-        target_filepath.lstrip(os.sep))
-    destination = os.path.abspath(destination)
-    target_dirpath = os.path.dirname(destination)
-
-    # When attempting to create the leaf directory of 'target_dirpath', ignore
-    # any exceptions raised if the root directory already exists.  All other
-    # exceptions potentially thrown by os.makedirs() are re-raised.
-    # Note: os.makedirs can raise OSError if the leaf directory already exists
-    # or cannot be created.
-    try:
-      os.makedirs(target_dirpath)
-
-    except OSError as e:
-      if e.errno == errno.EEXIST:
-        pass
-
-      else:
-        raise
-
-    # '_get_target_file()' checks every mirror and returns the first target
-    # that passes verification.
-    target_file_object = self._get_target_file(target_filepath, trusted_length,
-        trusted_hashes, prefix_filename_with_hash)
-
-    securesystemslib.util.persist_temp_file(target_file_object, destination)
diff --git a/tuf/developer_tool.py b/tuf/developer_tool.py
deleted file mode 100755
index e3269b088b..0000000000
--- a/tuf/developer_tool.py
+++ /dev/null
@@ -1,1029 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  developer_tool.py
-
-<Authors>
-  Santiago Torres <torresariass@gmail.com>
-  Zane Fisher <zanefisher@gmail.com>
-
-  Based on the work done for 'repository_tool.py' by Vladimir Diaz.
-
-<Started>
-  January 22, 2014.
-
-<Copyright>
-  See LICENCE-MIT OR LICENCE for licensing information.
-
-<Purpose>
-  See 'tuf/README-developer-tools.md' for a complete guide on using
-  'developer_tool.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-
-import os
-import errno
-import logging
-import shutil
-import tempfile
-import json
-
-import tuf
-import tuf.formats
-import tuf.keydb
-import tuf.roledb
-import tuf.sig
-import tuf.log
-import tuf.repository_lib as repo_lib
-import tuf.repository_tool
-
-import securesystemslib
-import securesystemslib.util
-import securesystemslib.keys
-
-import six
-
-from tuf.repository_tool import Targets
-from tuf.repository_lib import _check_role_keys
-from tuf.repository_lib import _metadata_is_partially_loaded
-
-
-# Copy API
-# pylint: disable=unused-import
-
-# Copy generic repository API functions to be used via `developer_tool`
-from tuf.repository_lib import (
-    generate_targets_metadata,
-    create_tuf_client_directory,
-    disable_console_log_messages)
-
-# Copy key-related API functions to be used via `developer_tool`
-from tuf.repository_lib import (
-    import_rsa_privatekey_from_file)
-
-from securesystemslib.keys import (
-    format_keyval_to_metadata)
-
-from securesystemslib.interface import (
-    generate_and_write_rsa_keypair,
-    generate_and_write_rsa_keypair_with_prompt,
-    generate_and_write_unencrypted_rsa_keypair,
-    generate_and_write_ecdsa_keypair,
-    generate_and_write_ecdsa_keypair_with_prompt,
-    generate_and_write_unencrypted_ecdsa_keypair,
-    generate_and_write_ed25519_keypair,
-    generate_and_write_ed25519_keypair_with_prompt,
-    generate_and_write_unencrypted_ed25519_keypair,
-    import_rsa_publickey_from_file,
-    import_ed25519_publickey_from_file,
-    import_ed25519_privatekey_from_file)
-
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# The extension of TUF metadata.
-from tuf.repository_lib import METADATA_EXTENSION as METADATA_EXTENSION
-
-# Project configuration filename. This file is intended to hold all of the
-# supporting information about the project that's not contained in a usual
-# TUF metadata file. 'project.cfg' consists of the following fields:
-#
-#   targets_location:   the location of the targets folder.
-#
-#   prefix:             the directory location to prepend to the metadata so it
-#                       matches the metadata signed in the repository.
-#
-#   metadata_location:  the location of the metadata files.
-#
-#   threshold:          the threshold for this project object, it is fixed to
-#                       one in the current version.
-#
-#   public_keys:        a list of the public keys used to verify the metadata
-#                       in this project.
-#
-#   layout_type:        a field describing the directory layout:
-#
-#                         repo-like: matches the layout of the repository tool.
-#                                    the targets and metadata folders are
-#                                    located under a common directory for the
-#                                    project.
-#
-#                         flat:      the targets directory and the
-#                                    metadata directory are located in different
-#                                    paths.
-#
-#   project_name:       The name of the current project, this value is used to
-#                       match the resulting filename with the one in upstream.
-PROJECT_FILENAME = 'project.cfg'
-
-# The targets and metadata directory names.  Metadata files are written
-# to the staged metadata directory instead of the "live" one.
-from tuf.repository_tool import METADATA_DIRECTORY_NAME
-from tuf.repository_tool import TARGETS_DIRECTORY_NAME
-
-
-class Project(Targets):
-  """
-  <Purpose>
-    Simplify the publishing process of third-party projects by handling all of
-    the bookkeeping, signature handling, and integrity checks of delegated TUF
-    metadata.  'repository_tool.py' is responsible for publishing and
-    maintaining metadata of the top-level roles, and 'developer_tool.py' is
-    used by projects that have been delegated responsibility for a delegated
-    projects role.  Metadata created by this module may then be added to other
-    metadata available in a TUF repository.
-
-    Project() is the representation of a project's metadata file(s), with the
-    ability to modify this data in an OOP manner.  Project owners do not have to
-    manually verify that metadata files are properly formatted or that they
-    contain valid data.
-
-  <Arguments>
-    project_name:
-      The name of the metadata file as it should be named in the upstream
-      repository.
-
-    metadata_directory:
-      The metadata sub-directory contains the metadata file(s) of this project,
-      including any of its delegated roles.
-
-    targets_directory:
-      The targets sub-directory contains the project's target files that are
-      downloaded by clients and are referenced in its metadata.  The hashes and
-      file lengths are listed in Metadata files so that they are securely
-      downloaded.  Metadata files are similarly referenced in the top-level
-      metadata.
-
-    file_prefix:
-      The path string that will be prepended to the generated metadata
-      (e.g., targets/foo -> targets/prefix/foo) so that it matches the actual
-      targets location in the upstream repository.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-  <Side Effects>
-    Creates a project Targets role object, with the same object attributes of
-    the top-level targets role.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, project_name, metadata_directory, targets_directory,
-      file_prefix, repository_name='default'):
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly
-    # formatted.
-    securesystemslib.formats.NAME_SCHEMA.check_match(project_name)
-    securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-    securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-    securesystemslib.formats.ANY_STRING_SCHEMA.check_match(file_prefix)
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-    self.metadata_directory = metadata_directory
-    self.targets_directory = targets_directory
-    self.project_name = project_name
-    self.prefix = file_prefix
-    self.repository_name = repository_name
-
-    # Layout type defaults to "flat" unless explicitly specified in
-    # create_new_project().
-    self.layout_type = 'flat'
-
-    # Set the top-level Targets object.  Set the rolename to be the project's
-    # name.
-    super(Project, self).__init__(self.targets_directory, project_name)
-
-
-
-
-
-  def write(self, write_partial=False):
-    """
-    <Purpose>
-      Write all the JSON Metadata objects to their corresponding files.
-      write() raises an exception if any of the role metadata to be written to
-      disk is invalid, such as an insufficient threshold of signatures, missing
-      private keys, etc.
-
-    <Arguments>
-      write_partial:
-        A boolean indicating whether partial metadata should be written to
-        disk.  Partial metadata may be written to allow multiple maintainters
-        to independently sign and update role metadata.  write() raises an
-        exception if a metadata role cannot be written due to not having enough
-        signatures.
-
-    <Exceptions>
-      securesystemslib.exceptions.Error, if any of the project roles do not
-      have a minimum threshold of signatures.
-
-    <Side Effects>
-      Creates metadata files in the project's metadata directory.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'write_partial' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(write_partial)
-
-    # At this point the tuf.keydb and tuf.roledb stores must be fully
-    # populated, otherwise write() throwns a 'tuf.Repository' exception if
-    # any of the project roles are missing signatures, keys, etc.
-
-    # Write the metadata files of all the delegated roles of the project.
-    delegated_rolenames = tuf.roledb.get_delegated_rolenames(self.project_name,
-        self.repository_name)
-
-    for delegated_rolename in delegated_rolenames:
-      delegated_filename = os.path.join(self.metadata_directory,
-          delegated_rolename + METADATA_EXTENSION)
-
-      # Ensure the parent directories of 'metadata_filepath' exist, otherwise an
-      # IO exception is raised if 'metadata_filepath' is written to a
-      # sub-directory.
-      securesystemslib.util.ensure_parent_dir(delegated_filename)
-
-      _generate_and_write_metadata(delegated_rolename, delegated_filename,
-          write_partial, self.targets_directory, prefix=self.prefix,
-          repository_name=self.repository_name)
-
-
-    # Generate the 'project_name' metadata file.
-    targets_filename = self.project_name + METADATA_EXTENSION
-    targets_filename = os.path.join(self.metadata_directory, targets_filename)
-    junk, targets_filename = _generate_and_write_metadata(self.project_name,
-        targets_filename, write_partial, self.targets_directory,
-        prefix=self.prefix, repository_name=self.repository_name)
-
-    # Save configuration information that is not stored in the project's
-    # metadata
-    _save_project_configuration(self.metadata_directory,
-        self.targets_directory, self.keys, self.prefix, self.threshold,
-        self.layout_type, self.project_name)
-
-
-
-
-
-  def add_verification_key(self, key, expires=None):
-    """
-      <Purpose>
-        Function as a thin wrapper call for the project._targets call
-        with the same name. This wrapper is only for usability purposes.
-
-      <Arguments>
-        key:
-          The role key to be added, conformant to
-          'securesystemslib.formats.ANYKEY_SCHEMA'.  Adding a public key to a
-          role means that its corresponding private key must generate and add
-          its signture to the role.
-
-      <Exceptions>
-        securesystemslib.exceptions.FormatError, if the 'key' argument is
-        improperly formatted.
-
-        securesystemslib.exceptions.Error, if the project already contains a key.
-
-      <Side Effects>
-        The role's entries in 'tuf.keydb.py' and 'tuf.roledb.py' are updated.
-
-      <Returns>
-        None
-    """
-
-    # Verify that this role does not already contain a key.  The parent project
-    # role is restricted to one key.  Any of its delegated roles may have
-    # more than one key.
-    # TODO: Add condition check for the requirement stated above.
-    if len(self.keys) > 0:
-      raise securesystemslib.exceptions.Error("This project already contains a key.")
-
-    super(Project, self).add_verification_key(key, expires)
-
-
-
-
-
-  def status(self):
-    """
-    <Purpose>
-      Determine the status of the project, including its delegated roles.
-      status() checks if each role provides sufficient public keys, signatures,
-      and that a valid metadata file is generated if write() were to be called.
-      Metadata files are temporarily written to check that proper metadata files
-      is written, where file hashes and lengths are calculated and referenced
-      by the project.  status() does not do a simple check for number of
-      threshold keys and signatures.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      securesystemslib.exceptions.Error, if the project, or any of its
-      delegated roles, do not have a minimum threshold of signatures.
-
-    <Side Effects>
-      Generates and writes temporary metadata files.
-
-    <Returns>
-      None.
-    """
-
-    temp_project_directory = None
-
-    try:
-      temp_project_directory = tempfile.mkdtemp()
-
-      metadata_directory = os.path.join(temp_project_directory, 'metadata')
-      targets_directory = self.targets_directory
-
-      os.makedirs(metadata_directory)
-
-      # TODO: We should do the schema check.
-      filenames = {}
-      filenames['targets'] = os.path.join(metadata_directory, self.project_name)
-
-      # Delegated roles.
-      delegated_roles = tuf.roledb.get_delegated_rolenames(self.project_name,
-          self.repository_name)
-      insufficient_keys = []
-      insufficient_signatures = []
-
-      for delegated_role in delegated_roles:
-        try:
-          _check_role_keys(delegated_role, self.repository_name)
-
-        except tuf.exceptions.InsufficientKeysError:
-          insufficient_keys.append(delegated_role)
-          continue
-
-        try:
-          signable = _generate_and_write_metadata(delegated_role,
-              filenames['targets'], False, targets_directory, False,
-              repository_name=self.repository_name)
-          self._log_status(delegated_role, signable[0], self.repository_name)
-
-        except securesystemslib.exceptions.Error:
-          insufficient_signatures.append(delegated_role)
-
-      if len(insufficient_keys):
-        message = 'Delegated roles with insufficient keys: ' +\
-          repr(insufficient_keys)
-        logger.info(message)
-        return
-
-      if len(insufficient_signatures):
-        message = 'Delegated roles with insufficient signatures: ' +\
-          repr(insufficient_signatures)
-        logger.info(message)
-        return
-
-      # Targets role.
-      try:
-        _check_role_keys(self.rolename, self.repository_name)
-
-      except tuf.exceptions.InsufficientKeysError as e:
-        logger.info(str(e))
-        return
-
-      try:
-        signable, junk =  _generate_and_write_metadata(self.project_name,
-            filenames['targets'], False, targets_directory, metadata_directory,
-            self.repository_name)
-        self._log_status(self.project_name, signable, self.repository_name)
-
-      except tuf.exceptions.UnsignedMetadataError as e:
-        # This error is raised if the metadata has insufficient signatures to
-        # meet the threshold.
-        self._log_status(self.project_name, e.signable, self.repository_name)
-        return
-
-    finally:
-      shutil.rmtree(temp_project_directory, ignore_errors=True)
-
-
-
-
-
-  def _log_status(self, rolename, signable, repository_name):
-    """
-    Non-public function prints the number of (good/threshold) signatures of
-    'rolename'.
-    """
-
-    status = tuf.sig.get_signature_status(signable, rolename, repository_name)
-
-    message = repr(rolename) + ' role contains ' +\
-      repr(len(status['good_sigs'])) + ' / ' + repr(status['threshold']) +\
-      ' signatures.'
-    logger.info(message)
-
-
-
-
-
-def _generate_and_write_metadata(rolename, metadata_filename, write_partial,
-    targets_directory, prefix='', repository_name='default'):
-  """
-    Non-public function that can generate and write the metadata of the
-    specified 'rolename'.  It also increments version numbers if:
-
-    1.  write_partial==True and the metadata is the first to be written.
-
-    2.  write_partial=False (i.e., write()), the metadata was not loaded as
-        partially written, and a write_partial is not needed.
-  """
-
-  metadata = None
-
-  # Retrieve the roleinfo of 'rolename' to extract the needed metadata
-  # attributes, such as version number, expiration, etc.
-  roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-
-  metadata = generate_targets_metadata(targets_directory, roleinfo['paths'],
-      roleinfo['version'], roleinfo['expires'], roleinfo['delegations'],
-      False)
-
-  # Prepend the prefix to the project's filepath to avoid signature errors in
-  # upstream.
-  for element in list(metadata['targets']):
-    junk, relative_target = os.path.split(element)
-    prefixed_path = os.path.join(prefix, relative_target)
-    metadata['targets'][prefixed_path] = metadata['targets'][element]
-    if prefix != '':
-      del(metadata['targets'][element])
-
-  signable = repo_lib.sign_metadata(metadata, roleinfo['signing_keyids'],
-      metadata_filename, repository_name)
-
-  # Check if the version number of 'rolename' may be automatically incremented,
-  # depending on whether if partial metadata is loaded or if the metadata is
-  # written with write() / write_partial().
-  # Increment the version number if this is the first partial write.
-  if write_partial:
-    temp_signable = repo_lib.sign_metadata(metadata, [], metadata_filename,
-        repository_name)
-    temp_signable['signatures'].extend(roleinfo['signatures'])
-    status = tuf.sig.get_signature_status(temp_signable, rolename,
-        repository_name)
-    if len(status['good_sigs']) == 0:
-      metadata['version'] = metadata['version'] + 1
-      signable = repo_lib.sign_metadata(metadata, roleinfo['signing_keyids'],
-          metadata_filename, repository_name)
-
-  # non-partial write()
-  else:
-    if tuf.sig.verify(signable, rolename, repository_name):
-      metadata['version'] = metadata['version'] + 1
-      signable = repo_lib.sign_metadata(metadata, roleinfo['signing_keyids'],
-          metadata_filename, repository_name)
-
-  # Write the metadata to file if contains a threshold of signatures.
-  signable['signatures'].extend(roleinfo['signatures'])
-
-  if tuf.sig.verify(signable, rolename, repository_name) or write_partial:
-    repo_lib._remove_invalid_and_duplicate_signatures(signable, repository_name)
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-    filename = repo_lib.write_metadata_file(signable, metadata_filename,
-        metadata['version'], False, storage_backend)
-
-  # 'signable' contains an invalid threshold of signatures.
-  else:
-    message = 'Not enough signatures for ' + repr(metadata_filename)
-    raise securesystemslib.exceptions.Error(message, signable)
-
-  return signable, filename
-
-
-
-
-def create_new_project(project_name, metadata_directory,
-    location_in_repository = '', targets_directory=None, key=None,
-    repository_name='default'):
-  """
-  <Purpose>
-    Create a new project object, instantiate barebones metadata for the
-    targets, and return a blank project object.  On disk, create_new_project()
-    only creates the directories needed to hold the metadata and targets files.
-    The project object returned can be directly modified to meet the designer's
-    criteria and then written using the method project.write().
-
-    The project name provided is the one that will be added to the resulting
-    metadata file as it should be named in upstream.
-
-  <Arguments>
-    project_name:
-      The name of the project as it should be called in upstream. For example,
-      targets/unclaimed/django should have its project_name set to "django"
-
-    metadata_directory:
-      The directory that will eventually hold the metadata and target files of
-      the project.
-
-    location_in_repository:
-      An optional argument to hold the "prefix" or the expected location for
-      the project files in the "upstream" repository. This value is only
-      used to sign metadata in a way that it matches the future location
-      of the files.
-
-      For example, targets/unclaimed/django should have its project name set to
-      "targets/unclaimed"
-
-    targets_directory:
-      An optional argument to point the targets directory somewhere else than
-      the metadata directory if, for example, a project structure already
-      exists and the user does not want to move it.
-
-    key:
-      The public key to verify the project's metadata. Projects can only
-      handle one key with a threshold of one. If a project were to modify it's
-      key it should be removed and updated.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted or if the public key is not a valid one (if it's not none.)
-
-    OSError, if the filepaths provided do not have write permissions.
-
-  <Side Effects>
-    The 'metadata_directory' and 'targets_directory'  directories are created
-    if they do not exist.
-
-  <Returns>
-    A 'tuf.developer_tool.Project' object.
-  """
-
-  # Does 'metadata_directory' have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-
-  # Do the same for the location in the repo and the project name, we must
-  # ensure they are valid pathnames.
-  securesystemslib.formats.NAME_SCHEMA.check_match(project_name)
-  securesystemslib.formats.ANY_STRING_SCHEMA.check_match(location_in_repository)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # for the targets directory we do the same, but first, let's find out what
-  # layout the user needs, layout_type is a variable that is usually set to
-  # 1, which means "flat" (i.e. the cfg file is where the metadata folder is
-  # located), with a two, the cfg file goes to the "metadata" folder, and a
-  # new metadata folder is created inside the tree, to separate targets and
-  # metadata.
-  layout_type = 'flat'
-  if targets_directory is None:
-    targets_directory = os.path.join(metadata_directory, TARGETS_DIRECTORY_NAME)
-    metadata_directory = \
-        os.path.join(metadata_directory, METADATA_DIRECTORY_NAME)
-    layout_type = 'repo-like'
-
-  if targets_directory is not None:
-    securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-
-  if key is not None:
-    securesystemslib.formats.KEY_SCHEMA.check_match(key)
-
-  # Set the metadata and targets directories.  These directories
-  # are created if they do not exist.
-  metadata_directory = os.path.abspath(metadata_directory)
-  targets_directory = os.path.abspath(targets_directory)
-
-  # Try to create the metadata directory that will hold all of the metadata
-  # files, such as 'root.txt' and 'release.txt'.
-  try:
-    message = 'Creating ' + repr(metadata_directory)
-    logger.info(message)
-    os.makedirs(metadata_directory)
-
-  # 'OSError' raised if the leaf directory already exists or cannot be created.
-  # Check for case where 'repository_directory' has already been created.
-  except OSError as e:
-    if e.errno == errno.EEXIST:
-      # Should check if we have write permissions here.
-      pass
-
-    # Testing of non-errno.EEXIST exceptions have been verified on all
-    # supported # OSs.  An unexpected exception (the '/' directory exists,
-    # rather than disallowed path) is possible on Travis, so the '#pragma: no
-    # branch' below is included to prevent coverage failure.
-    else: #pragma: no branch
-      raise
-
-  # Try to create the targets directory that will hold all of the target files.
-  try:
-    message = 'Creating ' + repr(targets_directory)
-    logger.info(message)
-    os.mkdir(targets_directory)
-
-  except OSError as e:
-    if e.errno == errno.EEXIST:
-      pass
-
-    else:
-      raise
-
-  # Create the bare bones project object, where project role contains default
-  # values (e.g., threshold of 1, expires 1 year into the future, etc.)
-  project = Project(project_name, metadata_directory, targets_directory,
-      location_in_repository, repository_name)
-
-  # Add 'key' to the project.
-  # TODO: Add check for expected number of keys for the project (must be 1) and
-  # its delegated roles (may be greater than one.)
-  if key is not None:
-    project.add_verification_key(key)
-
-  # Save the layout information.
-  project.layout_type = layout_type
-
-  return project
-
-
-
-
-
-
-def _save_project_configuration(metadata_directory, targets_directory,
-    public_keys, prefix, threshold, layout_type, project_name):
-  """
-  <Purpose>
-    Persist the project's information to a file. The saved project information
-    can later be loaded with Project.load_project().
-
-  <Arguments>
-    metadata_directory:
-      Where the project's metadata is located.
-
-    targets_directory:
-      The location of the target files for this project.
-
-    public_keys:
-      A list containing the public keys for the project role.
-
-    prefix:
-      The project's prefix (if any.)
-
-    threshold:
-      The threshold value for the project role.
-
-    layout_type:
-      The layout type being used by the project, "flat" stands for separated
-      targets and metadata directories, "repo-like" emulates the layout used
-      by the repository tools
-
-    project_name:
-      The name given to the project, this sets the metadata filename so it
-      matches the one stored in upstream.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError are also expected if any of the arguments are malformed.
-
-    OSError may rise if the metadata_directory/project.cfg file exists and
-    is non-writeable
-
-  <Side Effects>
-    A 'project.cfg' configuration file is created or overwritten.
-
-  <Returns>
-    None.
-  """
-
-  # Schema check for the arguments.
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-  securesystemslib.formats.PATH_SCHEMA.check_match(prefix)
-  securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-  tuf.formats.RELPATH_SCHEMA.check_match(project_name)
-
-  cfg_file_directory = metadata_directory
-
-  # Check whether the layout type is 'flat' or 'repo-like'.
-  # If it is, the .cfg file should be saved in the previous directory.
-  if layout_type == 'repo-like':
-    cfg_file_directory = os.path.dirname(metadata_directory)
-    junk, targets_directory = os.path.split(targets_directory)
-
-  junk, metadata_directory = os.path.split(metadata_directory)
-
-  # Can the file be opened?
-  project_filename = os.path.join(cfg_file_directory, PROJECT_FILENAME)
-
-  # Build the fields of the configuration file.
-  project_config = {}
-  project_config['prefix'] = prefix
-  project_config['public_keys'] = {}
-  project_config['metadata_location'] = metadata_directory
-  project_config['targets_location'] = targets_directory
-  project_config['threshold'] = threshold
-  project_config['layout_type'] = layout_type
-  project_config['project_name'] = project_name
-
-  # Build a dictionary containing the actual keys.
-  for key in public_keys:
-    key_info = tuf.keydb.get_key(key)
-    key_metadata = format_keyval_to_metadata(key_info['keytype'],
-        key_info['scheme'], key_info['keyval'])
-    project_config['public_keys'][key] = key_metadata
-
-  # Save the actual file.
-  with open(project_filename, 'wt') as fp:
-    json.dump(project_config, fp)
-
-
-
-
-
-def load_project(project_directory, prefix='', new_targets_location=None,
-    repository_name='default'):
-  """
-  <Purpose>
-    Return a Project object initialized with the contents of the metadata
-    files loaded from 'project_directory'.
-
-  <Arguments>
-    project_directory:
-      The path to the project's metadata and configuration file.
-
-    prefix:
-      The prefix for the metadata, if defined.  It will replace the current
-      prefix, by first removing the existing one (saved).
-
-    new_targets_location:
-      For flat project configurations, project owner might want to reload the
-      project with a new location for the target files. This overwrites the
-      previous path to search for the target files.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'project_directory' or any of
-    the metadata files are improperly formatted.
-
-  <Side Effects>
-    All the metadata files found in the project are loaded and their contents
-    stored in a libtuf.Repository object.
-
-  <Returns>
-    A tuf.developer_tool.Project object.
-  """
-
-  # Does 'repository_directory' have the correct format?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(project_directory)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Do the same for the prefix
-  securesystemslib.formats.ANY_STRING_SCHEMA.check_match(prefix)
-
-  # Clear the role and key databases since we are loading in a new project.
-  tuf.roledb.clear_roledb(clear_all=True)
-  tuf.keydb.clear_keydb(clear_all=True)
-
-  # Locate metadata filepaths and targets filepath.
-  project_directory = os.path.abspath(project_directory)
-
-  # Load the cfg file and the project.
-  config_filename = os.path.join(project_directory, PROJECT_FILENAME)
-
-  project_configuration = securesystemslib.util.load_json_file(config_filename)
-  tuf.formats.PROJECT_CFG_SCHEMA.check_match(project_configuration)
-
-  targets_directory = os.path.join(project_directory,
-      project_configuration['targets_location'])
-
-  if project_configuration['layout_type'] == 'flat':
-    project_directory, junk = os.path.split(project_directory)
-    targets_directory = project_configuration['targets_location']
-
-    if new_targets_location is not None:
-      targets_directory = new_targets_location
-
-  metadata_directory = os.path.join(project_directory,
-      project_configuration['metadata_location'])
-
-  new_prefix = None
-
-  if prefix != '':
-    new_prefix = prefix
-
-  prefix = project_configuration['prefix']
-
-  # Load the project's filename.
-  project_name = project_configuration['project_name']
-  project_filename = project_name + METADATA_EXTENSION
-
-  # Create a blank project on the target directory.
-  project = Project(project_name, metadata_directory, targets_directory, prefix,
-      repository_name)
-
-  project.threshold = project_configuration['threshold']
-  project.prefix = project_configuration['prefix']
-  project.layout_type = project_configuration['layout_type']
-
-  # Traverse the public keys and add them to the project.
-  keydict = project_configuration['public_keys']
-
-  for keyid in keydict:
-    key, junk = securesystemslib.keys.format_metadata_to_key(keydict[keyid])
-    project.add_verification_key(key)
-
-  # Load the project's metadata.
-  targets_metadata_path = os.path.join(project_directory, metadata_directory,
-      project_filename)
-  signable = securesystemslib.util.load_json_file(targets_metadata_path)
-  try:
-    tuf.formats.check_signable_object_format(signable)
-  except tuf.exceptions.UnsignedMetadataError:
-    # Downgrade the error to a warning because a use case exists where
-    # metadata may be generated unsigned on one machine and signed on another.
-    logger.warning('Unsigned metadata object: ' + repr(signable))
-  targets_metadata = signable['signed']
-
-  # Remove the prefix from the metadata.
-  targets_metadata = _strip_prefix_from_targets_metadata(targets_metadata,
-                                            prefix)
-  for signature in signable['signatures']:
-    project.add_signature(signature)
-
-  # Update roledb.py containing the loaded project attributes.
-  roleinfo = tuf.roledb.get_roleinfo(project_name, repository_name)
-  roleinfo['signatures'].extend(signable['signatures'])
-  roleinfo['version'] = targets_metadata['version']
-  roleinfo['paths'] = targets_metadata['targets']
-  roleinfo['delegations'] = targets_metadata['delegations']
-  roleinfo['partial_loaded'] = False
-
-  # Check if the loaded metadata was partially written and update the
-  # flag in 'roledb.py'.
-  if _metadata_is_partially_loaded(project_name, signable,
-      repository_name=repository_name):
-    roleinfo['partial_loaded'] = True
-
-  tuf.roledb.update_roleinfo(project_name, roleinfo, mark_role_as_dirty=False,
-      repository_name=repository_name)
-
-  for key_metadata in targets_metadata['delegations']['keys'].values():
-    key_object, junk = securesystemslib.keys.format_metadata_to_key(key_metadata)
-    tuf.keydb.add_key(key_object, repository_name=repository_name)
-
-  for role in targets_metadata['delegations']['roles']:
-    rolename = role['name']
-    roleinfo = {'name': role['name'], 'keyids': role['keyids'],
-                'threshold': role['threshold'],
-                'signing_keyids': [], 'signatures': [], 'partial_loaded':False,
-                'delegations': {'keys':{}, 'roles':[]}
-                }
-    tuf.roledb.add_role(rolename, roleinfo, repository_name=repository_name)
-
-  # Load the delegated metadata and generate their fileinfo.
-  targets_objects = {}
-  loaded_metadata = [project_name]
-  targets_objects[project_name] = project
-  metadata_directory = os.path.join(project_directory, metadata_directory)
-
-  if os.path.exists(metadata_directory) and \
-                    os.path.isdir(metadata_directory):
-    for metadata_role in os.listdir(metadata_directory):
-      metadata_path = os.path.join(metadata_directory, metadata_role)
-      metadata_name = \
-        metadata_path[len(metadata_directory):].lstrip(os.path.sep)
-
-      # Strip the extension.  The roledb does not include an appended '.json'
-      # extension for each role.
-      if metadata_name.endswith(METADATA_EXTENSION):
-        extension_length = len(METADATA_EXTENSION)
-        metadata_name = metadata_name[:-extension_length]
-
-      else:
-        continue
-
-      if metadata_name in loaded_metadata:
-        continue
-
-      signable = None
-      signable = securesystemslib.util.load_json_file(metadata_path)
-
-      # Strip the prefix from the local working copy, it will be added again
-      # when the targets metadata is written to disk.
-      metadata_object = signable['signed']
-      metadata_object = _strip_prefix_from_targets_metadata(metadata_object,
-                                           prefix)
-
-      roleinfo = tuf.roledb.get_roleinfo(metadata_name, repository_name)
-      roleinfo['signatures'].extend(signable['signatures'])
-      roleinfo['version'] = metadata_object['version']
-      roleinfo['expires'] = metadata_object['expires']
-      roleinfo['paths'] = {}
-
-      for filepath, fileinfo in six.iteritems(metadata_object['targets']):
-        roleinfo['paths'].update({filepath: fileinfo.get('custom', {})})
-      roleinfo['delegations'] = metadata_object['delegations']
-      roleinfo['partial_loaded'] = False
-
-      # If the metadata was partially loaded, update the roleinfo flag.
-      if _metadata_is_partially_loaded(metadata_name, signable,
-          repository_name=repository_name):
-        roleinfo['partial_loaded'] = True
-
-
-      tuf.roledb.update_roleinfo(metadata_name, roleinfo,
-          mark_role_as_dirty=False, repository_name=repository_name)
-
-      # Append to list of elements to avoid reloading repeated metadata.
-      loaded_metadata.append(metadata_name)
-
-      # Generate the Targets objects of the delegated roles.
-      new_targets_object = Targets(targets_directory, metadata_name, roleinfo,
-          repository_name=repository_name)
-      targets_object = targets_objects[project_name]
-
-      targets_object._delegated_roles[metadata_name] = new_targets_object
-
-      # Add the keys specified in the delegations field of the Targets role.
-      for key_metadata in metadata_object['delegations']['keys'].values():
-        key_object, junk = securesystemslib.keys.format_metadata_to_key(key_metadata)
-
-        try:
-          tuf.keydb.add_key(key_object, repository_name=repository_name)
-
-        except tuf.exceptions.KeyAlreadyExistsError:
-          pass
-
-      for role in metadata_object['delegations']['roles']:
-        rolename = role['name']
-        roleinfo = {'name': role['name'], 'keyids': role['keyids'],
-                    'threshold': role['threshold'],
-                    'signing_keyids': [], 'signatures': [],
-                    'partial_loaded': False,
-                    'delegations': {'keys': {},
-                                    'roles': []}}
-        tuf.roledb.add_role(rolename, roleinfo, repository_name=repository_name)
-
-  if new_prefix:
-    project.prefix = new_prefix
-
-  return project
-
-
-
-
-
-def _strip_prefix_from_targets_metadata(targets_metadata, prefix):
-  """
-    Non-public method that removes the prefix from each of the target paths in
-    'targets_metadata' so they can be used again in compliance with the local
-    copies.  The prefix is needed in metadata to match the layout of the remote
-    repository.
-  """
-
-  unprefixed_targets_metadata = {}
-
-  for targets in targets_metadata['targets'].keys():
-    unprefixed_target = os.path.relpath(targets, prefix)
-    unprefixed_targets_metadata[unprefixed_target] = \
-                            targets_metadata['targets'][targets]
-  targets_metadata['targets'] = unprefixed_targets_metadata
-
-  return targets_metadata
-
-
-
-
-
-if __name__ == '__main__':
-  # The interactive sessions of the documentation strings can
-  # be tested by running 'developer_tool.py' as a standalone module:
-  # $ python developer_tool.py
-  import doctest
-  doctest.testmod()
diff --git a/tuf/download.py b/tuf/download.py
deleted file mode 100755
index b45e842d7c..0000000000
--- a/tuf/download.py
+++ /dev/null
@@ -1,469 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  download.py
-
-<Started>
-  February 21, 2012.  Based on previous version by Geremy Condra.
-
-<Author>
-  Konstantin Andrianov
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Download metadata and target files and check their validity.  The hash and
-  length of a downloaded file has to match the hash and length supplied by the
-  metadata of that file.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-import time
-import timeit
-import tempfile
-
-import tuf
-import requests
-
-import securesystemslib
-import securesystemslib.util
-import six
-
-import tuf.exceptions
-import tuf.formats
-
-import urllib3.exceptions
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# From http://docs.python-requests.org/en/master/user/advanced/#session-objects:
-#
-# "The Session object allows you to persist certain parameters across requests.
-# It also persists cookies across all requests made from the Session instance,
-# and will use urllib3's connection pooling. So if you're making several
-# requests to the same host, the underlying TCP connection will be reused,
-# which can result in a significant performance increase (see HTTP persistent
-# connection)."
-#
-# NOTE: We use a separate requests.Session per scheme+hostname combination, in
-# order to reuse connections to the same hostname to improve efficiency, but
-# avoiding sharing state between different hosts-scheme combinations to
-# minimize subtle security issues. Some cookies may not be HTTP-safe.
-_sessions = {}
-
-
-def safe_download(url, required_length):
-  """
-  <Purpose>
-    Given the 'url' and 'required_length' of the desired file, open a connection
-    to 'url', download it, and return the contents of the file.  Also ensure
-    the length of the downloaded file matches 'required_length' exactly.
-    tuf.download.unsafe_download() may be called if an upper download limit is
-    preferred.
-
-  <Arguments>
-    url:
-      A URL string that represents the location of the file.
-
-    required_length:
-      An integer value representing the length of the file.  This is an exact
-      limit.
-
-  <Side Effects>
-    A file object is created on disk to store the contents of 'url'.
-
-  <Exceptions>
-    tuf.ssl_commons.exceptions.DownloadLengthMismatchError, if there was a
-    mismatch of observed vs expected lengths while downloading the file.
-
-    securesystemslib.exceptions.FormatError, if any of the arguments are
-    improperly formatted.
-
-    Any other unforeseen runtime exception.
-
-  <Returns>
-    A file object that points to the contents of 'url'.
-  """
-
-  # Do all of the arguments have the appropriate format?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.URL_SCHEMA.check_match(url)
-  tuf.formats.LENGTH_SCHEMA.check_match(required_length)
-
-  return _download_file(url, required_length, STRICT_REQUIRED_LENGTH=True)
-
-
-
-
-
-def unsafe_download(url, required_length):
-  """
-  <Purpose>
-    Given the 'url' and 'required_length' of the desired file, open a connection
-    to 'url', download it, and return the contents of the file.  Also ensure
-    the length of the downloaded file is up to 'required_length', and no larger.
-    tuf.download.safe_download() may be called if an exact download limit is
-    preferred.
-
-  <Arguments>
-    url:
-      A URL string that represents the location of the file.
-
-    required_length:
-      An integer value representing the length of the file.  This is an upper
-      limit.
-
-  <Side Effects>
-    A file object is created on disk to store the contents of 'url'.
-
-  <Exceptions>
-    tuf.ssl_commons.exceptions.DownloadLengthMismatchError, if there was a
-    mismatch of observed vs expected lengths while downloading the file.
-
-    securesystemslib.exceptions.FormatError, if any of the arguments are
-    improperly formatted.
-
-    Any other unforeseen runtime exception.
-
-  <Returns>
-    A file object that points to the contents of 'url'.
-  """
-
-  # Do all of the arguments have the appropriate format?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.URL_SCHEMA.check_match(url)
-  tuf.formats.LENGTH_SCHEMA.check_match(required_length)
-
-  return _download_file(url, required_length, STRICT_REQUIRED_LENGTH=False)
-
-
-
-
-
-def _download_file(url, required_length, STRICT_REQUIRED_LENGTH=True):
-  """
-  <Purpose>
-    Given the url and length of the desired file, this function opens a
-    connection to 'url' and downloads the file while ensuring its length
-    matches 'required_length' if 'STRICT_REQUIRED_LENGH' is True (If False,
-    the file's length is not checked and a slow retrieval exception is raised
-    if the downloaded rate falls below the acceptable rate).
-
-  <Arguments>
-    url:
-      A URL string that represents the location of the file.
-
-    required_length:
-      An integer value representing the length of the file.
-
-    STRICT_REQUIRED_LENGTH:
-      A Boolean indicator used to signal whether we should perform strict
-      checking of required_length. True by default. We explicitly set this to
-      False when we know that we want to turn this off for downloading the
-      timestamp metadata, which has no signed required_length.
-
-  <Side Effects>
-    A file object is created on disk to store the contents of 'url'.
-
-  <Exceptions>
-    tuf.exceptions.DownloadLengthMismatchError, if there was a
-    mismatch of observed vs expected lengths while downloading the file.
-
-    securesystemslib.exceptions.FormatError, if any of the arguments are
-    improperly formatted.
-
-    Any other unforeseen runtime exception.
-
-  <Returns>
-    A file object that points to the contents of 'url'.
-  """
-
-  # Do all of the arguments have the appropriate format?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.URL_SCHEMA.check_match(url)
-  tuf.formats.LENGTH_SCHEMA.check_match(required_length)
-
-  # 'url.replace('\\', '/')' is needed for compatibility with Windows-based
-  # systems, because they might use back-slashes in place of forward-slashes.
-  # This converts it to the common format.  unquote() replaces %xx escapes in a
-  # url with their single-character equivalent.  A back-slash may be encoded as
-  # %5c in the url, which should also be replaced with a forward slash.
-  url = six.moves.urllib.parse.unquote(url).replace('\\', '/')
-  logger.info('Downloading: ' + repr(url))
-
-  # This is the temporary file that we will return to contain the contents of
-  # the downloaded file.
-  temp_file = tempfile.TemporaryFile()
-
-  try:
-    # Use a different requests.Session per schema+hostname combination, to
-    # reuse connections while minimizing subtle security issues.
-    parsed_url = six.moves.urllib.parse.urlparse(url)
-
-    if not parsed_url.scheme or not parsed_url.hostname:
-      raise tuf.exceptions.URLParsingError(
-          'Could not get scheme and hostname from URL: ' + url)
-
-    session_index = parsed_url.scheme + '+' + parsed_url.hostname
-
-    logger.debug('url: ' + url)
-    logger.debug('session index: ' + session_index)
-
-    session = _sessions.get(session_index)
-
-    if not session:
-      session = requests.Session()
-      _sessions[session_index] = session
-
-      # Attach some default headers to every Session.
-      requests_user_agent = session.headers['User-Agent']
-      # Follows the RFC: https://tools.ietf.org/html/rfc7231#section-5.5.3
-      tuf_user_agent = 'tuf/' + tuf.__version__ + ' ' + requests_user_agent
-      session.headers.update({
-          # Tell the server not to compress or modify anything.
-          # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Encoding#Directives
-          'Accept-Encoding': 'identity',
-          # The TUF user agent.
-          'User-Agent': tuf_user_agent})
-
-      logger.debug('Made new session for ' + session_index)
-
-    else:
-      logger.debug('Reusing session for ' + session_index)
-
-    # Get the requests.Response object for this URL.
-    #
-    # Defer downloading the response body with stream=True.
-    # Always set the timeout. This timeout value is interpreted by requests as:
-    #  - connect timeout (max delay before first byte is received)
-    #  - read (gap) timeout (max delay between bytes received)
-    with session.get(url, stream=True,
-        timeout=tuf.settings.SOCKET_TIMEOUT) as response:
-
-      # Check response status.
-      response.raise_for_status()
-
-      # Download the contents of the URL, up to the required length, to a
-      # temporary file, and get the total number of downloaded bytes.
-      total_downloaded, average_download_speed = \
-        _download_fixed_amount_of_data(response, temp_file, required_length)
-
-    # Does the total number of downloaded bytes match the required length?
-    _check_downloaded_length(total_downloaded, required_length,
-                             STRICT_REQUIRED_LENGTH=STRICT_REQUIRED_LENGTH,
-                             average_download_speed=average_download_speed)
-
-  except Exception:
-    # Close 'temp_file'.  Any written data is lost.
-    temp_file.close()
-    logger.debug('Could not download URL: ' + repr(url))
-    raise
-
-  else:
-    return temp_file
-
-
-
-
-
-def _download_fixed_amount_of_data(response, temp_file, required_length):
-  """
-  <Purpose>
-    This is a helper function, where the download really happens. While-block
-    reads data from response a fixed chunk of data at a time, or less, until
-    'required_length' is reached.
-
-  <Arguments>
-    response:
-      The object for communicating with the server about the contents of a URL.
-
-    temp_file:
-      A temporary file where the contents at the URL specified by the
-      'response' object will be stored.
-
-    required_length:
-      The number of bytes that we must download for the file.  This is almost
-      always specified by the TUF metadata for the data file in question
-      (except in the case of timestamp metadata, in which case we would fix a
-      reasonable upper bound).
-
-  <Side Effects>
-    Data from the server will be written to 'temp_file'.
-
-  <Exceptions>
-    tuf.exceptions.SlowRetrievalError
-      will be raised if urllib3.exceptions.ReadTimeoutError is caught (if the
-      download times out).
-
-    Otherwise, runtime or network exceptions will be raised without question.
-
-  <Returns>
-    A (total_downloaded, average_download_speed) tuple, where
-    'total_downloaded' is the total number of bytes downloaded for the desired
-    file and the 'average_download_speed' calculated for the download
-    attempt.
-  """
-
-  # Keep track of total bytes downloaded.
-  number_of_bytes_received = 0
-  average_download_speed = 0
-
-  start_time = timeit.default_timer()
-
-  try:
-    while True:
-      # We download a fixed chunk of data in every round. This is so that we
-      # can defend against slow retrieval attacks. Furthermore, we do not wish
-      # to download an extremely large file in one shot.
-      # Before beginning the round, sleep (if set) for a short amount of time
-      # so that the CPU is not hogged in the while loop.
-      if tuf.settings.SLEEP_BEFORE_ROUND:
-        time.sleep(tuf.settings.SLEEP_BEFORE_ROUND)
-
-      read_amount = min(
-          tuf.settings.CHUNK_SIZE, required_length - number_of_bytes_received)
-
-      # NOTE: This may not handle some servers adding a Content-Encoding
-      # header, which may cause urllib3 to misbehave:
-      # https://github.com/pypa/pip/blob/404838abcca467648180b358598c597b74d568c9/src/pip/_internal/download.py#L547-L582
-      data = response.raw.read(read_amount)
-
-      number_of_bytes_received = number_of_bytes_received + len(data)
-
-      # Data successfully read from the response.  Store it.
-      temp_file.write(data)
-
-      if number_of_bytes_received == required_length:
-        break
-
-      stop_time = timeit.default_timer()
-      seconds_spent_receiving = stop_time - start_time
-
-      # Measure the average download speed.
-      average_download_speed = number_of_bytes_received / seconds_spent_receiving
-
-      if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
-        logger.debug('The average download speed dropped below the minimum'
-          ' average download speed set in tuf.settings.py.')
-        break
-
-      else:
-        logger.debug('The average download speed has not dipped below the'
-          ' minimum average download speed set in tuf.settings.py.')
-
-      # We might have no more data to read. Check number of bytes downloaded.
-      if not data:
-        logger.debug('Downloaded ' + repr(number_of_bytes_received) + '/' +
-          repr(required_length) + ' bytes.')
-
-        # Finally, we signal that the download is complete.
-        break
-
-  except urllib3.exceptions.ReadTimeoutError as e:
-    raise tuf.exceptions.SlowRetrievalError(str(e))
-
-  return number_of_bytes_received, average_download_speed
-
-
-
-def _check_downloaded_length(total_downloaded, required_length,
-                             STRICT_REQUIRED_LENGTH=True,
-                             average_download_speed=None):
-  """
-  <Purpose>
-    A helper function which checks whether the total number of downloaded bytes
-    matches our expectation.
-
-  <Arguments>
-    total_downloaded:
-      The total number of bytes supposedly downloaded for the file in question.
-
-    required_length:
-      The total number of bytes expected of the file as seen from its metadata.
-      The Timestamp role is always downloaded without a known file length, and
-      the Root role when the client cannot download any of the required
-      top-level roles.  In both cases, 'required_length' is actually an upper
-      limit on the length of the downloaded file.
-
-    STRICT_REQUIRED_LENGTH:
-      A Boolean indicator used to signal whether we should perform strict
-      checking of required_length. True by default. We explicitly set this to
-      False when we know that we want to turn this off for downloading the
-      timestamp metadata, which has no signed required_length.
-
-    average_download_speed:
-     The average download speed for the downloaded file.
-
-  <Side Effects>
-    None.
-
-  <Exceptions>
-    securesystemslib.exceptions.DownloadLengthMismatchError, if
-    STRICT_REQUIRED_LENGTH is True and total_downloaded is not equal
-    required_length.
-
-    tuf.exceptions.SlowRetrievalError, if the total downloaded was
-    done in less than the acceptable download speed (as set in
-    tuf.settings.py).
-
-  <Returns>
-    None.
-  """
-
-  if total_downloaded == required_length:
-    logger.info('Downloaded ' + str(total_downloaded) + ' bytes out of the'
-      ' expected ' + str(required_length) + ' bytes.')
-
-  else:
-    difference_in_bytes = abs(total_downloaded - required_length)
-
-    # What we downloaded is not equal to the required length, but did we ask
-    # for strict checking of required length?
-    if STRICT_REQUIRED_LENGTH:
-      logger.info('Downloaded ' + str(total_downloaded) + ' bytes, but'
-        ' expected ' + str(required_length) + ' bytes. There is a difference'
-        ' of ' + str(difference_in_bytes) + ' bytes.')
-
-      # If the average download speed is below a certain threshold, we flag
-      # this as a possible slow-retrieval attack.
-      logger.debug('Average download speed: ' + repr(average_download_speed))
-      logger.debug('Minimum average download speed: ' + repr(tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED))
-
-      if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
-        raise tuf.exceptions.SlowRetrievalError(average_download_speed)
-
-      else:
-        logger.debug('Good average download speed: ' +
-                     repr(average_download_speed) + ' bytes per second')
-
-      raise tuf.exceptions.DownloadLengthMismatchError(required_length, total_downloaded)
-
-    else:
-      # We specifically disabled strict checking of required length, but we
-      # will log a warning anyway. This is useful when we wish to download the
-      # Timestamp or Root metadata, for which we have no signed metadata; so,
-      # we must guess a reasonable required_length for it.
-      if average_download_speed < tuf.settings.MIN_AVERAGE_DOWNLOAD_SPEED:
-        raise tuf.exceptions.SlowRetrievalError(average_download_speed)
-
-      else:
-        logger.debug('Good average download speed: ' +
-                     repr(average_download_speed) + ' bytes per second')
-
-      logger.info('Downloaded ' + str(total_downloaded) + ' bytes out of an'
-        ' upper limit of ' + str(required_length) + ' bytes.')
diff --git a/tuf/exceptions.py b/tuf/exceptions.py
deleted file mode 100755
index 177e7a2981..0000000000
--- a/tuf/exceptions.py
+++ /dev/null
@@ -1,337 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  exceptions.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  January 10, 2017
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Define TUF Exceptions.
-  The names chosen for TUF Exception classes should end in 'Error' except where
-  there is a good reason not to, and provide that reason in those cases.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import six
-
-import logging
-logger = logging.getLogger(__name__)
-
-
-class Error(Exception):
-  """Indicate a generic error."""
-
-
-class UnsupportedSpecificationError(Error):
-  """
-  Metadata received claims to conform to a version of the specification that is
-  not supported by this client.
-  """
-
-class FormatError(Error):
-  """Indicate an error while validating an object's format."""
-
-
-class InvalidMetadataJSONError(FormatError):
-  """Indicate that a metadata file is not valid JSON."""
-
-  def __init__(self, exception):
-    super(InvalidMetadataJSONError, self).__init__()
-
-    # Store the original exception.
-    self.exception = exception
-
-  def __str__(self):
-    return repr(self)
-
-  def __repr__(self):
-    # Show the original exception.
-    return self.__class__.__name__ + ' : wraps error: ' + repr(self.exception)
-
-    # # Directly instance-reproducing:
-    # return self.__class__.__name__ + '(' + repr(self.exception) + ')'
-
-
-class UnsupportedAlgorithmError(Error):
-  """Indicate an error while trying to identify a user-specified algorithm."""
-
-
-class BadHashError(Error):
-  """Indicate an error while checking the value of a hash object."""
-
-  def __init__(self, expected_hash, observed_hash):
-    super(BadHashError, self).__init__()
-
-    self.expected_hash = expected_hash
-    self.observed_hash = observed_hash
-
-  def __str__(self):
-    return (
-        'Observed hash (' + repr(self.observed_hash) + ') != expected hash (' +
-        repr(self.expected_hash) + ')')
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.expected_hash) + ', ' +
-    #     repr(self.observed_hash) + ')')
-
-
-
-
-class BadVersionNumberError(Error):
-  """Indicate an error for metadata that contains an invalid version number."""
-
-
-class BadPasswordError(Error):
-  """Indicate an error after encountering an invalid password."""
-
-
-class UnknownKeyError(Error):
-  """Indicate an error while verifying key-like objects (e.g., keyids)."""
-
-
-class RepositoryError(Error):
-  """Indicate an error with a repository's state, such as a missing file."""
-
-
-class MissingLocalRepositoryError(RepositoryError):
-  """Raised when a local repository could not be found."""
-
-
-class InsufficientKeysError(Error):
-  """Indicate that metadata role lacks a threshold of pubic or private keys."""
-
-
-class ForbiddenTargetError(RepositoryError):
-  """Indicate that a role signed for a target that it was not delegated to."""
-
-
-class ExpiredMetadataError(Error):
-  """Indicate that a TUF Metadata file has expired."""
-
-
-class ReplayedMetadataError(RepositoryError):
-  """Indicate that some metadata has been replayed to the client."""
-
-  def __init__(self, metadata_role, previous_version, current_version):
-    super(ReplayedMetadataError, self).__init__()
-
-    self.metadata_role = metadata_role
-    self.previous_version = previous_version
-    self.current_version = current_version
-
-
-  def __str__(self):
-    return (
-        'Downloaded ' + repr(self.metadata_role) + ' is older (' +
-        repr(self.previous_version) + ') than the version currently '
-        'installed (' + repr(self.current_version) + ').')
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.metadata_role) + ', ' +
-    #     repr(self.previous_version) + ', ' + repr(self.current_version) + ')')
-
-
-
-class CryptoError(Error):
-  """Indicate any cryptography-related errors."""
-
-
-class BadSignatureError(CryptoError):
-  """Indicate that some metadata file has a bad signature."""
-
-  def __init__(self, metadata_role_name):
-    super(BadSignatureError, self).__init__()
-
-    self.metadata_role_name = metadata_role_name
-
-  def __str__(self):
-    return repr(self.metadata_role_name) + ' metadata has a bad signature.'
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.metadata_role_name) + ')')
-
-
-class UnknownMethodError(CryptoError):
-  """Indicate that a user-specified cryptograpthic method is unknown."""
-
-
-class UnsupportedLibraryError(Error):
-  """Indicate that a supported library could not be located or imported."""
-
-
-class DownloadError(Error):
-  """Indicate an error occurred while attempting to download a file."""
-
-
-class DownloadLengthMismatchError(DownloadError):
-  """Indicate that a mismatch of lengths was seen while downloading a file."""
-
-  def __init__(self, expected_length, observed_length):
-    super(DownloadLengthMismatchError, self).__init__()
-
-    self.expected_length = expected_length #bytes
-    self.observed_length = observed_length #bytes
-
-  def __str__(self):
-    return (
-        'Observed length (' + repr(self.observed_length) +
-        ') < expected length (' + repr(self.expected_length) + ').')
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.expected_length) + ', ' +
-    #     self.observed_length + ')')
-
-
-
-class SlowRetrievalError(DownloadError):
-  """"Indicate that downloading a file took an unreasonably long time."""
-
-  def __init__(self, average_download_speed):
-    super(SlowRetrievalError, self).__init__()
-
-    self.__average_download_speed = average_download_speed #bytes/second
-
-  def __str__(self):
-    return (
-        'Download was too slow. Average speed: ' +
-         repr(self.__average_download_speed) + ' bytes per second.')
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.__average_download_speed + ')')
-
-
-class KeyAlreadyExistsError(Error):
-  """Indicate that a key already exists and cannot be added."""
-
-
-class RoleAlreadyExistsError(Error):
-  """Indicate that a role already exists and cannot be added."""
-
-
-class UnknownRoleError(Error):
-  """Indicate an error trying to locate or identify a specified TUF role."""
-
-
-class UnknownTargetError(Error):
-  """Indicate an error trying to locate or identify a specified target."""
-
-
-class InvalidNameError(Error):
-  """Indicate an error while trying to validate any type of named object."""
-
-
-class UnsignedMetadataError(Error):
-  """Indicate metadata object with insufficient threshold of signatures."""
-
-  def __init__(self, message, signable):
-    super(UnsignedMetadataError, self).__init__()
-
-    self.exception_message = message
-    self.signable = signable
-
-  def __str__(self):
-    return self.exception_message
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.exception_message) + ', ' +
-    #     repr(self.signable) + ')')
-
-
-class NoWorkingMirrorError(Error):
-  """
-    An updater will throw this exception in case it could not download a
-    metadata or target file.
-    A dictionary of Exception instances indexed by every mirror URL will also be
-    provided.
-  """
-
-  def __init__(self, mirror_errors):
-    super(NoWorkingMirrorError, self).__init__()
-
-    # Dictionary of URL strings to Exception instances
-    self.mirror_errors = mirror_errors
-
-  def __str__(self):
-    all_errors = 'No working mirror was found:'
-
-    for mirror_url, mirror_error in six.iteritems(self.mirror_errors):
-      try:
-        # http://docs.python.org/2/library/urlparse.html#urlparse.urlparse
-        mirror_url_tokens = six.moves.urllib.parse.urlparse(mirror_url)
-
-      except Exception:
-        logger.exception('Failed to parse mirror URL: ' + repr(mirror_url))
-        mirror_netloc = mirror_url
-
-      else:
-        mirror_netloc = mirror_url_tokens.netloc
-
-      all_errors += '\n  ' + repr(mirror_netloc) + ': ' + repr(mirror_error)
-
-    return all_errors
-
-  def __repr__(self):
-    return self.__class__.__name__ + ' : ' + str(self)
-
-    # # Directly instance-reproducing:
-    # return (
-    #     self.__class__.__name__ + '(' + repr(self.mirror_errors) + ')')
-
-
-
-class NotFoundError(Error):
-  """If a required configuration or resource is not found."""
-
-
-class URLMatchesNoPatternError(Error):
-  """If a URL does not match a user-specified regular expression."""
-
-class URLParsingError(Error):
-  """If we are unable to parse a URL -- for example, if a hostname element
-  cannot be isoalted."""
-
-class InvalidConfigurationError(Error):
-  """If a configuration object does not match the expected format."""
-
diff --git a/tuf/formats.py b/tuf/formats.py
deleted file mode 100755
index dc51ba9c98..0000000000
--- a/tuf/formats.py
+++ /dev/null
@@ -1,1019 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  formats.py
-
-<Author>
-  Geremy Condra
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  Refactored April 30, 2012. -vladimir.v.diaz
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  A central location for all format-related checking of TUF objects.
-  Some crypto-related formats may also be defined in securesystemslib.
-  Note: 'formats.py' depends heavily on 'schema.py', so the 'schema.py'
-  module should be read and understood before tackling this module.
-
-  'formats.py' can be broken down into two sections.  (1) Schemas and object
-  matching.  (2) Functions that help produce or verify TUF objects.
-
-  The first section deals with schemas and object matching based on format.
-  There are two ways of checking the format of objects.  The first method
-  raises a 'securesystemslib.exceptions.FormatError' exception if the match
-  fails and the other returns a Boolean result.
-
-  tuf.formats.<SCHEMA>.check_match(object)
-  tuf.formats.<SCHEMA>.matches(object)
-
-  Example:
-
-  rsa_key = {'keytype': 'rsa'
-             'keyid': 34892fc465ac76bc3232fab
-             'keyval': {'public': 'public_key',
-                        'private': 'private_key'}
-
-  securesystemslib.formats.RSAKEY_SCHEMA.check_match(rsa_key)
-  securesystemslib.formats.RSAKEY_SCHEMA.matches(rsa_key)
-
-  In this example, if a dict key or dict value is missing or incorrect,
-  the match fails.  There are numerous variations of object checking
-  provided by 'formats.py' and 'schema.py'.
-
-  The second section contains miscellaneous functions related to the format of
-  TUF objects.
-  Example:
-
-  signable_object = make_signable(unsigned_object)
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import binascii
-import calendar
-import datetime
-import time
-import copy
-
-import securesystemslib.formats
-import securesystemslib.schema as SCHEMA
-
-import tuf
-
-import six
-
-# As per TUF spec 1.0.0 the spec version field must follow the Semantic
-# Versioning 2.0.0 (semver) format. The regex pattern is provided by semver.
-# https://semver.org/spec/v2.0.0.html#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string
-SEMVER_2_0_0_SCHEMA = SCHEMA.RegularExpression(
-    r'(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)'
-    r'(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)'
-    r'(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?'
-    r'(?:\+(?P<buildmetadata>[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?'
-)
-SPECIFICATION_VERSION_SCHEMA = SCHEMA.OneOf([
-    # However, temporarily allow "1.0" for backwards-compatibility in tuf-0.12.PATCH.
-    SCHEMA.String("1.0"),
-    SEMVER_2_0_0_SCHEMA
-])
-
-# A datetime in 'YYYY-MM-DDTHH:MM:SSZ' ISO 8601 format.  The "Z" zone designator
-# for the zero UTC offset is always used (i.e., a numerical offset is not
-# supported.)  Example: '2015-10-21T13:20:00Z'.  Note:  This is a simple format
-# check, and an ISO8601 string should be fully verified when it is parsed.
-ISO8601_DATETIME_SCHEMA = SCHEMA.RegularExpression(r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z')
-
-# An integer representing the numbered version of a metadata file.
-# Must be 1, or greater.
-METADATAVERSION_SCHEMA = SCHEMA.Integer(lo=0)
-
-# A relative file path (e.g., 'metadata/root/').
-RELPATH_SCHEMA = SCHEMA.AnyString()
-RELPATHS_SCHEMA = SCHEMA.ListOf(RELPATH_SCHEMA)
-
-VERSIONINFO_SCHEMA = SCHEMA.Object(
-  object_name = 'VERSIONINFO_SCHEMA',
-  version = METADATAVERSION_SCHEMA)
-
-# A string representing a role's name.
-ROLENAME_SCHEMA = SCHEMA.AnyString()
-
-# A role's threshold value (i.e., the minimum number
-# of signatures required to sign a metadata file).
-# Must be 1 and greater.
-THRESHOLD_SCHEMA = SCHEMA.Integer(lo=1)
-
-# A hexadecimal value in '23432df87ab..' format.
-HEX_SCHEMA = SCHEMA.RegularExpression(r'[a-fA-F0-9]+')
-
-# A path hash prefix is a hexadecimal string.
-PATH_HASH_PREFIX_SCHEMA = HEX_SCHEMA
-
-# A list of path hash prefixes.
-PATH_HASH_PREFIXES_SCHEMA = SCHEMA.ListOf(PATH_HASH_PREFIX_SCHEMA)
-
-# Role object in {'keyids': [keydids..], 'name': 'ABC', 'threshold': 1,
-# 'paths':[filepaths..]} format.
-# TODO: This is not a role.  In further #660-related PRs, fix it, similar to
-#       the way I did in Uptane's TUF fork.
-ROLE_SCHEMA = SCHEMA.Object(
-  object_name = 'ROLE_SCHEMA',
-  name = SCHEMA.Optional(ROLENAME_SCHEMA),
-  keyids = securesystemslib.formats.KEYIDS_SCHEMA,
-  threshold = THRESHOLD_SCHEMA,
-  terminating = SCHEMA.Optional(securesystemslib.formats.BOOLEAN_SCHEMA),
-  paths = SCHEMA.Optional(RELPATHS_SCHEMA),
-  path_hash_prefixes = SCHEMA.Optional(PATH_HASH_PREFIXES_SCHEMA))
-
-# A dict of roles where the dict keys are role names and the dict values holding
-# the role data/information.
-ROLEDICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = ROLENAME_SCHEMA,
-  value_schema = ROLE_SCHEMA)
-
-# A dictionary of ROLEDICT, where dictionary keys can be repository names, and
-# dictionary values containing information for each role available on the
-# repository (corresponding to the repository belonging to named repository in
-# the dictionary key)
-ROLEDICTDB_SCHEMA = SCHEMA.DictOf(
-  key_schema = securesystemslib.formats.NAME_SCHEMA,
-  value_schema = ROLEDICT_SCHEMA)
-
-# Command argument list, as used by the CLI tool.
-# Example: {'keytype': ed25519, 'expires': 365,}
-COMMAND_SCHEMA = SCHEMA.DictOf(
-  key_schema = securesystemslib.formats.NAME_SCHEMA,
-  value_schema = SCHEMA.Any())
-
-# A dictionary holding version information.
-VERSION_SCHEMA = SCHEMA.Object(
-  object_name = 'VERSION_SCHEMA',
-  major = SCHEMA.Integer(lo=0),
-  minor = SCHEMA.Integer(lo=0),
-  fix = SCHEMA.Integer(lo=0))
-
-# A value that is either True or False, on or off, etc.
-BOOLEAN_SCHEMA = SCHEMA.Boolean()
-
-# A hexadecimal value in '23432df87ab..' format.
-HASH_SCHEMA = SCHEMA.RegularExpression(r'[a-fA-F0-9]+')
-
-# A key identifier (e.g., a hexadecimal value identifying an RSA key).
-KEYID_SCHEMA = HASH_SCHEMA
-
-# A list of KEYID_SCHEMA.
-KEYIDS_SCHEMA = SCHEMA.ListOf(KEYID_SCHEMA)
-
-# The actual values of a key, as opposed to meta data such as a key type and
-# key identifier ('rsa', 233df889cb).  For RSA keys, the key value is a pair of
-# public and private keys in PEM Format stored as strings.
-KEYVAL_SCHEMA = SCHEMA.Object(
-  object_name = 'KEYVAL_SCHEMA',
-  public = SCHEMA.AnyString(),
-  private = SCHEMA.Optional(SCHEMA.AnyString()))
-
-# A generic TUF key.  All TUF keys should be saved to metadata files in this
-# format.
-KEY_SCHEMA = SCHEMA.Object(
-  object_name = 'KEY_SCHEMA',
-  keytype = SCHEMA.AnyString(),
-  keyval = KEYVAL_SCHEMA,
-  expires = SCHEMA.Optional(ISO8601_DATETIME_SCHEMA))
-
-# A dict where the dict keys hold a keyid and the dict values a key object.
-KEYDICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = KEYID_SCHEMA,
-  value_schema = KEY_SCHEMA)
-
-# The format used by the key database to store keys.  The dict keys hold a key
-# identifier and the dict values any object.  The key database should store
-# key objects in the values (e.g., 'RSAKEY_SCHEMA', 'DSAKEY_SCHEMA').
-KEYDB_SCHEMA = SCHEMA.DictOf(
-  key_schema = KEYID_SCHEMA,
-  value_schema = SCHEMA.Any())
-
-# A schema holding the result of checking the signatures of a particular
-# 'SIGNABLE_SCHEMA' role.
-# For example, how many of the signatures for the 'Target' role are
-# valid?  This SCHEMA holds this information.  See 'sig.py' for
-# more information.
-SIGNATURESTATUS_SCHEMA = SCHEMA.Object(
-  object_name = 'SIGNATURESTATUS_SCHEMA',
-  threshold = SCHEMA.Integer(),
-  good_sigs = KEYIDS_SCHEMA,
-  bad_sigs = KEYIDS_SCHEMA,
-  unknown_sigs = KEYIDS_SCHEMA,
-  untrusted_sigs = KEYIDS_SCHEMA)
-
-# An integer representing length.  Must be 0, or greater.
-LENGTH_SCHEMA = SCHEMA.Integer(lo=0)
-
-# A dict in {'sha256': '23432df87ab..', 'sha512': '34324abc34df..', ...} format.
-HASHDICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = SCHEMA.AnyString(),
-  value_schema = HASH_SCHEMA)
-
-# Information about target files, like file length and file hash(es).  This
-# schema allows the storage of multiple hashes for the same file (e.g., sha256
-# and sha512 may be computed for the same file and stored).
-TARGETS_FILEINFO_SCHEMA = SCHEMA.Object(
-  object_name = 'TARGETS_FILEINFO_SCHEMA',
-  length = LENGTH_SCHEMA,
-  hashes = HASHDICT_SCHEMA,
-  custom = SCHEMA.Optional(SCHEMA.Object()))
-
-# Information about snapshot and timestamp files. This schema allows for optional
-# length and hashes, but version is mandatory.
-METADATA_FILEINFO_SCHEMA = SCHEMA.Object(
-  object_name = 'METADATA_FILEINFO_SCHEMA',
-  length = SCHEMA.Optional(LENGTH_SCHEMA),
-  hashes = SCHEMA.Optional(HASHDICT_SCHEMA),
-  version = METADATAVERSION_SCHEMA)
-
-# A dict holding the version or file information for a particular metadata
-# role.  The dict keys hold the relative file paths, and the dict values the
-# corresponding version numbers and/or file information.
-FILEINFODICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = RELPATH_SCHEMA,
-  value_schema = SCHEMA.OneOf([VERSIONINFO_SCHEMA,
-                              METADATA_FILEINFO_SCHEMA]))
-
-# A dict holding the information for a particular target / file.  The dict keys
-# hold the relative file paths, and the dict values the corresponding file
-# information.
-FILEDICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = RELPATH_SCHEMA,
-  value_schema = TARGETS_FILEINFO_SCHEMA)
-
-# A dict holding a target info.
-TARGETINFO_SCHEMA = SCHEMA.Object(
-  object_name = 'TARGETINFO_SCHEMA',
-  filepath = RELPATH_SCHEMA,
-  fileinfo = TARGETS_FILEINFO_SCHEMA)
-
-# A list of TARGETINFO_SCHEMA.
-TARGETINFOS_SCHEMA = SCHEMA.ListOf(TARGETINFO_SCHEMA)
-
-# A string representing a named oject.
-NAME_SCHEMA = SCHEMA.AnyString()
-
-# A dict of repository names to mirrors.
-REPO_NAMES_TO_MIRRORS_SCHEMA = SCHEMA.DictOf(
-  key_schema = NAME_SCHEMA,
-  value_schema = SCHEMA.ListOf(securesystemslib.formats.URL_SCHEMA))
-
-# An object containing the map file's "mapping" attribute.
-MAPPING_SCHEMA = SCHEMA.ListOf(SCHEMA.Object(
-  paths = RELPATHS_SCHEMA,
-  repositories = SCHEMA.ListOf(NAME_SCHEMA),
-  terminating = BOOLEAN_SCHEMA,
-  threshold = THRESHOLD_SCHEMA))
-
-# A dict containing the map file (named 'map.json', by default).  The format of
-# the map file is covered in TAP 4: Multiple repository consensus on entrusted
-# targets.
-MAPFILE_SCHEMA = SCHEMA.Object(
-  repositories = REPO_NAMES_TO_MIRRORS_SCHEMA,
-  mapping = MAPPING_SCHEMA)
-
-# Like ROLEDICT_SCHEMA, except that ROLE_SCHEMA instances are stored in order.
-ROLELIST_SCHEMA = SCHEMA.ListOf(ROLE_SCHEMA)
-
-# The delegated roles of a Targets role (a parent).
-DELEGATIONS_SCHEMA = SCHEMA.Object(
-  keys = KEYDICT_SCHEMA,
-  roles = ROLELIST_SCHEMA)
-
-# The number of hashed bins, or the number of delegated roles.  See
-# delegate_hashed_bins() in 'repository_tool.py' for an example.  Note:
-# Tools may require further restrictions on the number of bins, such
-# as requiring them to be a power of 2.
-NUMBINS_SCHEMA = SCHEMA.Integer(lo=1)
-
-# The fileinfo format of targets specified in the repository and
-# developer tools.  The fields match that of TARGETS_FILEINFO_SCHEMA, only all
-# fields are optional.
-CUSTOM_SCHEMA = SCHEMA.DictOf(
-  key_schema = SCHEMA.AnyString(),
-  value_schema = SCHEMA.Any()
-)
-LOOSE_TARGETS_FILEINFO_SCHEMA = SCHEMA.Object(
-  object_name = "LOOSE_TARGETS_FILEINFO_SCHEMA",
-  length = SCHEMA.Optional(LENGTH_SCHEMA),
-  hashes = SCHEMA.Optional(HASHDICT_SCHEMA),
-  version = SCHEMA.Optional(METADATAVERSION_SCHEMA),
-  custom = SCHEMA.Optional(SCHEMA.Object())
-)
-
-PATH_FILEINFO_SCHEMA = SCHEMA.DictOf(
-  key_schema = RELPATH_SCHEMA,
-  value_schema = LOOSE_TARGETS_FILEINFO_SCHEMA)
-
-# TUF roledb
-ROLEDB_SCHEMA = SCHEMA.Object(
-  object_name = 'ROLEDB_SCHEMA',
-  keyids = SCHEMA.Optional(KEYIDS_SCHEMA),
-  signing_keyids = SCHEMA.Optional(KEYIDS_SCHEMA),
-  previous_keyids = SCHEMA.Optional(KEYIDS_SCHEMA),
-  threshold = SCHEMA.Optional(THRESHOLD_SCHEMA),
-  previous_threshold = SCHEMA.Optional(THRESHOLD_SCHEMA),
-  version = SCHEMA.Optional(METADATAVERSION_SCHEMA),
-  expires = SCHEMA.Optional(ISO8601_DATETIME_SCHEMA),
-  signatures = SCHEMA.Optional(securesystemslib.formats.SIGNATURES_SCHEMA),
-  paths = SCHEMA.Optional(SCHEMA.OneOf([RELPATHS_SCHEMA, PATH_FILEINFO_SCHEMA])),
-  path_hash_prefixes = SCHEMA.Optional(PATH_HASH_PREFIXES_SCHEMA),
-  delegations = SCHEMA.Optional(DELEGATIONS_SCHEMA),
-  partial_loaded = SCHEMA.Optional(BOOLEAN_SCHEMA))
-
-# A signable object.  Holds the signing role and its associated signatures.
-SIGNABLE_SCHEMA = SCHEMA.Object(
-  object_name = 'SIGNABLE_SCHEMA',
-  signed = SCHEMA.Any(),
-  signatures = SCHEMA.ListOf(securesystemslib.formats.SIGNATURE_SCHEMA))
-
-# Root role: indicates root keys and top-level roles.
-ROOT_SCHEMA = SCHEMA.Object(
-  object_name = 'ROOT_SCHEMA',
-  _type = SCHEMA.String('root'),
-  spec_version = SPECIFICATION_VERSION_SCHEMA,
-  version = METADATAVERSION_SCHEMA,
-  consistent_snapshot = BOOLEAN_SCHEMA,
-  expires = ISO8601_DATETIME_SCHEMA,
-  keys = KEYDICT_SCHEMA,
-  roles = ROLEDICT_SCHEMA)
-
-# Targets role: Indicates targets and delegates target paths to other roles.
-TARGETS_SCHEMA = SCHEMA.Object(
-  object_name = 'TARGETS_SCHEMA',
-  _type = SCHEMA.String('targets'),
-  spec_version = SPECIFICATION_VERSION_SCHEMA,
-  version = METADATAVERSION_SCHEMA,
-  expires = ISO8601_DATETIME_SCHEMA,
-  targets = FILEDICT_SCHEMA,
-  delegations = SCHEMA.Optional(DELEGATIONS_SCHEMA))
-
-# Snapshot role: indicates the latest versions of all metadata (except
-# timestamp).
-SNAPSHOT_SCHEMA = SCHEMA.Object(
-  object_name = 'SNAPSHOT_SCHEMA',
-  _type = SCHEMA.String('snapshot'),
-  version = METADATAVERSION_SCHEMA,
-  expires = securesystemslib.formats.ISO8601_DATETIME_SCHEMA,
-  spec_version = SPECIFICATION_VERSION_SCHEMA,
-  meta = FILEINFODICT_SCHEMA)
-
-# Timestamp role: indicates the latest version of the snapshot file.
-TIMESTAMP_SCHEMA = SCHEMA.Object(
-  object_name = 'TIMESTAMP_SCHEMA',
-  _type = SCHEMA.String('timestamp'),
-  spec_version = SPECIFICATION_VERSION_SCHEMA,
-  version = METADATAVERSION_SCHEMA,
-  expires = securesystemslib.formats.ISO8601_DATETIME_SCHEMA,
-  meta = FILEINFODICT_SCHEMA)
-
-
-# project.cfg file: stores information about the project in a json dictionary
-PROJECT_CFG_SCHEMA = SCHEMA.Object(
-    object_name = 'PROJECT_CFG_SCHEMA',
-    project_name = SCHEMA.AnyString(),
-    layout_type = SCHEMA.OneOf([SCHEMA.String('repo-like'), SCHEMA.String('flat')]),
-    targets_location = securesystemslib.formats.PATH_SCHEMA,
-    metadata_location = securesystemslib.formats.PATH_SCHEMA,
-    prefix = securesystemslib.formats.PATH_SCHEMA,
-    public_keys = securesystemslib.formats.KEYDICT_SCHEMA,
-    threshold = SCHEMA.Integer(lo = 0, hi = 2)
-    )
-
-# A schema containing information a repository mirror may require,
-# such as a url, the path of the directory metadata files, etc.
-MIRROR_SCHEMA = SCHEMA.Object(
-  object_name = 'MIRROR_SCHEMA',
-  url_prefix = securesystemslib.formats.URL_SCHEMA,
-  metadata_path = SCHEMA.Optional(RELPATH_SCHEMA),
-  targets_path = SCHEMA.Optional(RELPATH_SCHEMA),
-  confined_target_dirs = SCHEMA.Optional(RELPATHS_SCHEMA),
-  custom = SCHEMA.Optional(SCHEMA.Object()))
-
-# A dictionary of mirrors where the dict keys hold the mirror's name and
-# and the dict values the mirror's data (i.e., 'MIRROR_SCHEMA').
-# The repository class of 'updater.py' accepts dictionaries
-# of this type provided by the TUF client.
-MIRRORDICT_SCHEMA = SCHEMA.DictOf(
-  key_schema = SCHEMA.AnyString(),
-  value_schema = MIRROR_SCHEMA)
-
-# A Mirrorlist: indicates all the live mirrors, and what documents they
-# serve.
-MIRRORLIST_SCHEMA = SCHEMA.Object(
-  object_name = 'MIRRORLIST_SCHEMA',
-  _type = SCHEMA.String('mirrors'),
-  version = METADATAVERSION_SCHEMA,
-  expires = securesystemslib.formats.ISO8601_DATETIME_SCHEMA,
-  mirrors = SCHEMA.ListOf(MIRROR_SCHEMA))
-
-# Any of the role schemas (e.g., TIMESTAMP_SCHEMA, SNAPSHOT_SCHEMA, etc.)
-ANYROLE_SCHEMA = SCHEMA.OneOf([ROOT_SCHEMA, TARGETS_SCHEMA, SNAPSHOT_SCHEMA,
-                               TIMESTAMP_SCHEMA, MIRROR_SCHEMA])
-
-# The format of the resulting "scp config dict" after extraction from the
-# push configuration file (i.e., push.cfg).  In the case of a config file
-# utilizing the scp transfer module, it must contain the 'general' and 'scp'
-# sections, where 'general' must contain a 'transfer_module' and
-# 'metadata_path' entry, and 'scp' the 'host', 'user', 'identity_file', and
-# 'remote_directory' entries.
-SCPCONFIG_SCHEMA = SCHEMA.Object(
-  object_name = 'SCPCONFIG_SCHEMA',
-  general = SCHEMA.Object(
-    object_name = '[general]',
-    transfer_module = SCHEMA.String('scp'),
-    metadata_path = securesystemslib.formats.PATH_SCHEMA,
-    targets_directory = securesystemslib.formats.PATH_SCHEMA),
-  scp=SCHEMA.Object(
-    object_name = '[scp]',
-    host = securesystemslib.formats.URL_SCHEMA,
-    user = securesystemslib.formats.NAME_SCHEMA,
-    identity_file = securesystemslib.formats.PATH_SCHEMA,
-    remote_directory = securesystemslib.formats.PATH_SCHEMA))
-
-# The format of the resulting "receive config dict" after extraction from the
-# receive configuration file (i.e., receive.cfg).  The receive config file
-# must contain a 'general' section, and this section the 'pushroots',
-# 'repository_directory', 'metadata_directory', 'targets_directory', and
-# 'backup_directory' entries.
-RECEIVECONFIG_SCHEMA = SCHEMA.Object(
-  object_name = 'RECEIVECONFIG_SCHEMA', general=SCHEMA.Object(
-    object_name = '[general]',
-    pushroots = SCHEMA.ListOf(securesystemslib.formats.PATH_SCHEMA),
-    repository_directory = securesystemslib.formats.PATH_SCHEMA,
-    metadata_directory = securesystemslib.formats.PATH_SCHEMA,
-    targets_directory = securesystemslib.formats.PATH_SCHEMA,
-    backup_directory = securesystemslib.formats.PATH_SCHEMA))
-
-
-
-def make_signable(role_schema):
-  """
-  <Purpose>
-    Return the role metadata 'role_schema' in 'SIGNABLE_SCHEMA' format.
-    'role_schema' is added to the 'signed' key, and an empty list
-    initialized to the 'signatures' key.  The caller adds signatures
-    to this second field.
-    Note: check_signable_object_format() should be called after
-    make_signable() and signatures added to ensure the final
-    signable object has a valid format (i.e., a signable containing
-    a supported role metadata).
-
-  <Arguments>
-    role_schema:
-      A role schema dict (e.g., 'ROOT_SCHEMA', 'SNAPSHOT_SCHEMA').
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A dict in 'SIGNABLE_SCHEMA' format.
-  """
-
-  if not isinstance(role_schema, dict) or 'signed' not in role_schema:
-    return { 'signed' : role_schema, 'signatures' : [] }
-
-  else:
-    return role_schema
-
-
-
-
-
-
-def build_dict_conforming_to_schema(schema, **kwargs):
-  """
-  <Purpose>
-    Given a schema.Object object (for example, TIMESTAMP_SCHEMA from this
-    module) and a set of keyword arguments, create a dictionary that conforms
-    to the given schema, using the keyword arguments to define the elements of
-    the new dict.
-
-    Checks the result to make sure that it conforms to the given schema, raising
-    an error if not.
-
-  <Arguments>
-    schema
-      A schema.Object, like TIMESTAMP_SCHEMA, TARGETS_FILEINFO_SCHEMA,
-      securesystemslib.formats.SIGNATURE_SCHEMA, etc.
-
-    **kwargs
-      A keyword argument for each element of the schema.  Optional arguments
-      may be included or skipped, but all required arguments must be included.
-
-      For example, for TIMESTAMP_SCHEMA, a call might look like:
-        build_dict_conforming_to_schema(
-            TIMESTAMP_SCHEMA,
-            _type='timestamp',
-            spec_version='1.0.0',
-            version=1,
-            expires='2020-01-01T00:00:00Z',
-            meta={...})
-      Some arguments will be filled in if excluded: _type, spec_version
-
-  <Returns>
-    A dictionary conforming to the given schema.  Adds certain required fields
-    if they are missing and can be deduced from the schema.  The data returned
-    is a deep copy.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError
-      if the provided data does not match the schema when assembled.
-
-  <Side Effects>
-    None.  In particular, the provided values are not modified, and the
-    returned dictionary does not include references to them.
-
-  """
-
-  # Check the schema argument type (must provide check_match and _required).
-  if not isinstance(schema, SCHEMA.Object):
-    raise ValueError(
-        'The first argument must be a schema.Object instance, but is not. '
-        'Given schema: ' + repr(schema))
-
-  # Make a copy of the provided fields so that the caller's provided values
-  # do not change when the returned values are changed.
-  dictionary = copy.deepcopy(kwargs)
-
-
-  # Automatically provide certain schema properties if they are not already
-  # provided and are required in objects of class <schema>.
-  # This includes:
-  #   _type:        <securesystemslib.schema.String object>
-  #   spec_version: SPECIFICATION_VERSION_SCHEMA
-  #
-  # (Please note that _required is slightly misleading, as it includes both
-  #  required and optional elements. It should probably be called _components.)
-  #
-  for key, element_type in schema._required: #pylint: disable=protected-access
-
-    if key in dictionary:
-      # If the field has been provided, proceed normally.
-      continue
-
-    elif isinstance(element_type, SCHEMA.Optional):
-      # If the field has NOT been provided but IS optional, proceed without it.
-      continue
-
-    else:
-      # If the field has not been provided and is required, check to see if
-      # the field is one of the fields we automatically fill.
-
-      # Currently, the list is limited to ['_type', 'spec_version'].
-
-      if key == '_type' and isinstance(element_type, SCHEMA.String):
-        # A SCHEMA.String stores its expected value in _string, so use that.
-        dictionary[key] = element_type._string #pylint: disable=protected-access
-
-      elif (key == 'spec_version' and
-          element_type == SPECIFICATION_VERSION_SCHEMA):
-        # If not provided, use the specification version in tuf/__init__.py
-        dictionary[key] = tuf.SPECIFICATION_VERSION
-
-
-  # If what we produce does not match the provided schema, raise a FormatError.
-  schema.check_match(dictionary)
-
-  return dictionary
-
-
-
-
-
-# A dict holding the recognized schemas for the top-level roles.
-SCHEMAS_BY_TYPE = {
-  'root' : ROOT_SCHEMA,
-  'targets' : TARGETS_SCHEMA,
-  'snapshot' : SNAPSHOT_SCHEMA,
-  'timestamp' : TIMESTAMP_SCHEMA,
-  'mirrors' : MIRRORLIST_SCHEMA}
-
-
-
-
-def expiry_string_to_datetime(expires):
-  """
-  <Purpose>
-    Convert an expiry string to a datetime object.
-  <Arguments>
-    expires:
-      The expiry date-time string in the ISO8601 format that is defined
-      in securesystemslib.ISO8601_DATETIME_SCHEMA. E.g. '2038-01-19T03:14:08Z'
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'expires' cannot be
-    parsed correctly.
-  <Side Effects>
-    None.
-  <Returns>
-    A datetime object representing the expiry time.
-  """
-
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.ISO8601_DATETIME_SCHEMA.check_match(expires)
-
-  try:
-    return datetime.datetime.strptime(expires, "%Y-%m-%dT%H:%M:%SZ")
-  except ValueError as error:
-    six.raise_from(securesystemslib.exceptions.FormatError(
-        'Failed to parse ' + repr(expires) + ' as an expiry time'),
-        error)
-
-
-
-
-def datetime_to_unix_timestamp(datetime_object):
-  """
-  <Purpose>
-    Convert 'datetime_object' (in datetime.datetime()) format) to a Unix/POSIX
-    timestamp.  For example, Python's time.time() returns a Unix timestamp, and
-    includes the number of microseconds.  'datetime_object' is converted to UTC.
-
-    >>> datetime_object = datetime.datetime(1985, 10, 26, 1, 22)
-    >>> timestamp = datetime_to_unix_timestamp(datetime_object)
-    >>> timestamp
-    499137720
-
-  <Arguments>
-    datetime_object:
-      The datetime.datetime() object to convert to a Unix timestamp.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'datetime_object' is not a
-    datetime.datetime() object.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A unix (posix) timestamp (e.g., 499137660).
-  """
-
-  # Is 'datetime_object' a datetime.datetime() object?
-  # Raise 'securesystemslib.exceptions.FormatError' if not.
-  if not isinstance(datetime_object, datetime.datetime):
-    message = repr(datetime_object) + ' is not a datetime.datetime() object.'
-    raise securesystemslib.exceptions.FormatError(message)
-
-  unix_timestamp = calendar.timegm(datetime_object.timetuple())
-
-  return unix_timestamp
-
-
-
-
-
-def unix_timestamp_to_datetime(unix_timestamp):
-  """
-  <Purpose>
-    Convert 'unix_timestamp' (i.e., POSIX time, in UNIX_TIMESTAMP_SCHEMA format)
-    to a datetime.datetime() object.  'unix_timestamp' is the number of seconds
-    since the epoch (January 1, 1970.)
-
-    >>> datetime_object = unix_timestamp_to_datetime(1445455680)
-    >>> datetime_object
-    datetime.datetime(2015, 10, 21, 19, 28)
-
-  <Arguments>
-    unix_timestamp:
-      An integer representing the time (e.g., 1445455680).  Conformant to
-      'securesystemslib.formats.UNIX_TIMESTAMP_SCHEMA'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'unix_timestamp' is improperly
-    formatted.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A datetime.datetime() object corresponding to 'unix_timestamp'.
-  """
-
-  # Is 'unix_timestamp' properly formatted?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.UNIX_TIMESTAMP_SCHEMA.check_match(unix_timestamp)
-
-  # Convert 'unix_timestamp' to a 'time.struct_time',  in UTC.  The Daylight
-  # Savings Time (DST) flag is set to zero.  datetime.fromtimestamp() is not
-  # used because it returns a local datetime.
-  struct_time = time.gmtime(unix_timestamp)
-
-  # Extract the (year, month, day, hour, minutes, seconds) arguments for the
-  # datetime object to be returned.
-  datetime_object = datetime.datetime(*struct_time[:6])
-
-  return datetime_object
-
-
-
-def format_base64(data):
-  """
-  <Purpose>
-    Return the base64 encoding of 'data' with whitespace and '=' signs omitted.
-
-  <Arguments>
-    data:
-      Binary or buffer of data to convert.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the base64 encoding fails or the
-    argument is invalid.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A base64-encoded string.
-  """
-
-  try:
-    return binascii.b2a_base64(data).decode('utf-8').rstrip('=\n ')
-
-  except (TypeError, binascii.Error) as e:
-    raise securesystemslib.exceptions.FormatError('Invalid base64'
-      ' encoding: ' + str(e))
-
-
-
-
-def parse_base64(base64_string):
-  """
-  <Purpose>
-    Parse a base64 encoding with whitespace and '=' signs omitted.
-
-  <Arguments>
-    base64_string:
-      A string holding a base64 value.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'base64_string' cannot be parsed
-    due to an invalid base64 encoding.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A byte string representing the parsed based64 encoding of
-    'base64_string'.
-  """
-
-  if not isinstance(base64_string, six.string_types):
-    message = 'Invalid argument: '+repr(base64_string)
-    raise securesystemslib.exceptions.FormatError(message)
-
-  extra = len(base64_string) % 4
-  if extra:
-    padding = '=' * (4 - extra)
-    base64_string = base64_string + padding
-
-  try:
-    return binascii.a2b_base64(base64_string.encode('utf-8'))
-
-  except (TypeError, binascii.Error) as e:
-    raise securesystemslib.exceptions.FormatError('Invalid base64'
-      ' encoding: ' + str(e))
-
-
-
-def make_targets_fileinfo(length, hashes, custom=None):
-  """
-  <Purpose>
-    Create a dictionary conformant to 'TARGETS_FILEINFO_SCHEMA'.
-    This dict describes a target file.
-
-  <Arguments>
-    length:
-      An integer representing the size of the file.
-
-    hashes:
-      A dict of hashes in 'HASHDICT_SCHEMA' format, which has the form:
-       {'sha256': 123df8a9b12, 'sha512': 324324dfc121, ...}
-
-    custom:
-      An optional object providing additional information about the file.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the 'TARGETS_FILEINFO_SCHEMA' to be
-    returned does not have the correct format.
-
-  <Returns>
-    A dictionary conformant to 'TARGETS_FILEINFO_SCHEMA', representing the file
-    information of a target file.
-  """
-
-  fileinfo = {'length' : length, 'hashes' : hashes}
-
-  if custom is not None:
-    fileinfo['custom'] = custom
-
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  TARGETS_FILEINFO_SCHEMA.check_match(fileinfo)
-
-  return fileinfo
-
-
-
-def make_metadata_fileinfo(version, length=None, hashes=None):
-  """
-  <Purpose>
-    Create a dictionary conformant to 'METADATA_FILEINFO_SCHEMA'.
-    This dict describes one of the metadata files used for timestamp and
-    snapshot roles.
-
-  <Arguments>
-    version:
-      An integer representing the version of the file.
-
-    length:
-      An optional integer representing the size of the file.
-
-    hashes:
-      An optional dict of hashes in 'HASHDICT_SCHEMA' format, which has the form:
-       {'sha256': 123df8a9b12, 'sha512': 324324dfc121, ...}
-
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the 'METADATA_FILEINFO_SCHEMA' to be
-    returned does not have the correct format.
-
-  <Returns>
-    A dictionary conformant to 'METADATA_FILEINFO_SCHEMA', representing the file
-    information of a metadata file.
-  """
-
-  fileinfo = {'version' : version}
-
-  if length:
-    fileinfo['length'] = length
-
-  if hashes:
-    fileinfo['hashes'] = hashes
-
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  METADATA_FILEINFO_SCHEMA.check_match(fileinfo)
-
-  return fileinfo
-
-
-
-def make_versioninfo(version_number):
-  """
-  <Purpose>
-    Create a dictionary conformant to 'VERSIONINFO_SCHEMA'.  This dict
-    describes both metadata and target files.
-
-  <Arguments>
-    version_number:
-      An integer representing the version of a particular metadata role.
-      The dictionary returned by this function is expected to be included
-      in Snapshot metadata.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the dict to be returned does not
-    have the correct format (i.e., VERSIONINFO_SCHEMA).
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A dictionary conformant to 'VERSIONINFO_SCHEMA', containing the version
-    information of a metadata role.
-  """
-
-  versioninfo = {'version': version_number}
-
-  # Raise 'securesystemslib.exceptions.FormatError' if 'versioninfo' is
-  # improperly formatted.
-  VERSIONINFO_SCHEMA.check_match(versioninfo)
-
-  return versioninfo
-
-
-
-
-
-def expected_meta_rolename(meta_rolename):
-  """
-  <Purpose>
-    Ensure 'meta_rolename' is properly formatted.
-    'targets' is returned as 'Targets'.
-    'targets role1' is returned as 'Targets Role1'.
-
-    The words in the string (i.e., separated by whitespace)
-    are capitalized.
-
-  <Arguments>
-    meta_rolename:
-      A string representing the rolename.
-      E.g., 'root', 'targets'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'meta_rolename' is improperly
-    formatted.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A string (e.g., 'Root', 'Targets').
-  """
-
-  # Does 'meta_rolename' have the correct type?
-  # This check ensures 'meta_rolename' conforms to
-  # 'securesystemslib.formats.NAME_SCHEMA'.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.NAME_SCHEMA.check_match(meta_rolename)
-
-  return meta_rolename.lower()
-
-
-
-def check_signable_object_format(signable):
-  """
-  <Purpose>
-    Ensure 'signable' is properly formatted, conformant to
-    'SIGNABLE_SCHEMA'.  Return the signing role on
-    success.  Note: The 'signed' field of a 'SIGNABLE_SCHEMA' is checked
-    against securesystemslib.schema.Any().  The 'signed' field, however, should
-    actually hold one of the supported role schemas (e.g., 'ROOT_SCHEMA',
-    'TARGETS_SCHEMA').  The role schemas all differ in their format, so this
-    function determines exactly which schema is listed in the 'signed' field.
-
-  <Arguments>
-    signable:
-     The signable object compared against 'SIGNABLE.SCHEMA'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'signable' does not have the
-    correct format.
-
-    tuf.exceptions.UnsignedMetadataError, if 'signable' does not have any
-    signatures
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A string representing the signing role (e.g., 'root', 'targets').
-    The role string is returned with characters all lower case.
-  """
-
-  # Does 'signable' have the correct type?
-  # This check ensures 'signable' conforms to
-  # 'SIGNABLE_SCHEMA'.
-  SIGNABLE_SCHEMA.check_match(signable)
-
-  try:
-    role_type = signable['signed']['_type']
-
-  except (KeyError, TypeError) as error:
-    six.raise_from(securesystemslib.exceptions.FormatError(
-        'Untyped signable object.'), error)
-
-  try:
-    schema = SCHEMAS_BY_TYPE[role_type]
-
-  except KeyError as error:
-    six.raise_from(securesystemslib.exceptions.FormatError(
-        'Unrecognized type ' + repr(role_type)), error)
-
-  if not signable['signatures']:
-    raise tuf.exceptions.UnsignedMetadataError('Signable object of type ' +
-        repr(role_type) + ' has no signatures ', signable)
-
-  # 'securesystemslib.exceptions.FormatError' raised if 'signable' does not
-  # have a properly formatted role schema.
-  schema.check_match(signable['signed'])
-
-  return role_type.lower()
-
-
-
-if __name__ == '__main__':
-  # The interactive sessions of the documentation strings can
-  # be tested by running formats.py as a standalone module.
-  # python -B formats.py
-  import doctest
-  doctest.testmod()
diff --git a/tuf/keydb.py b/tuf/keydb.py
deleted file mode 100755
index bc306bac25..0000000000
--- a/tuf/keydb.py
+++ /dev/null
@@ -1,447 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  keydb.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  March 21, 2012.  Based on a previous version of this module by Geremy Condra.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Represent a collection of keys and their organization.  This module ensures
-  the layout of the collection remain consistent and easily verifiable.
-  Provided are functions to add and delete keys from the database, retrieve a
-  single key, and assemble a collection from keys stored in TUF 'Root' Metadata.
-  The Update Framework process maintains a set of role info for multiple
-  repositories.
-
-  RSA keys are currently supported and a collection of keys is organized as a
-  dictionary indexed by key ID.  Key IDs are used as identifiers for keys
-  (e.g., RSA key).  They are the hexadecimal representations of the hash of key
-  objects (specifically, the key object containing only the public key).  See
-  'rsa_key.py' and the '_get_keyid()' function to learn precisely how keyids
-  are generated.  One may get the keyid of a key object by simply accessing the
-  dictionary's 'keyid' key (i.e., rsakey['keyid']).
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-import copy
-
-import tuf.formats
-
-import six
-import securesystemslib
-
-# List of strings representing the key types supported by TUF.
-_SUPPORTED_KEY_TYPES = ['rsa', 'ed25519', 'ecdsa-sha2-nistp256']
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# The key database.
-_keydb_dict = {}
-_keydb_dict['default'] = {}
-
-
-def create_keydb_from_root_metadata(root_metadata, repository_name='default'):
-  """
-  <Purpose>
-    Populate the key database with the unique keys found in 'root_metadata'.
-    The database dictionary will conform to
-    'tuf.formats.KEYDB_SCHEMA' and have the form: {keyid: key,
-    ...}.  The 'keyid' conforms to 'securesystemslib.formats.KEYID_SCHEMA' and
-    'key' to its respective type.  In the case of RSA keys, this object would
-    match 'RSAKEY_SCHEMA'.
-
-  <Arguments>
-    root_metadata:
-      A dictionary conformant to 'tuf.formats.ROOT_SCHEMA'.  The keys found
-      in the 'keys' field of 'root_metadata' are needed by this function.
-
-    repository_name:
-      The name of the repository to store the key information.  If not supplied,
-      the key database is populated for the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'root_metadata' does not have the correct format.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not exist in the key
-    database.
-
-  <Side Effects>
-    A function to add the key to the database is called.  In the case of RSA
-    keys, this function is add_key().
-
-    The old keydb key database is replaced.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'root_metadata' have the correct format?
-  # This check will ensure 'root_metadata' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  tuf.formats.ROOT_SCHEMA.check_match(root_metadata)
-
-  # Does 'repository_name' have the correct format?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Clear the key database for 'repository_name', or create it if non-existent.
-  if repository_name in _keydb_dict:
-    _keydb_dict[repository_name].clear()
-
-  else:
-    create_keydb(repository_name)
-
-  # Iterate the keys found in 'root_metadata' by converting them to
-  # 'RSAKEY_SCHEMA' if their type is 'rsa', and then adding them to the
-  # key database using the provided keyid.
-  for keyid, key_metadata in six.iteritems(root_metadata['keys']):
-    if key_metadata['keytype'] in _SUPPORTED_KEY_TYPES:
-      # 'key_metadata' is stored in 'KEY_SCHEMA' format.  Call
-      # create_from_metadata_format() to get the key in 'RSAKEY_SCHEMA' format,
-      # which is the format expected by 'add_key()'.  Note: This call to
-      # format_metadata_to_key() uses the provided keyid as the default keyid.
-      # All other keyids returned are ignored.
-
-      key_dict, _ = securesystemslib.keys.format_metadata_to_key(key_metadata,
-          keyid)
-
-      # Make sure to update key_dict['keyid'] to use one of the other valid
-      # keyids, otherwise add_key() will have no reference to it.
-      try:
-        add_key(key_dict, repository_name=repository_name)
-
-      # Although keyid duplicates should *not* occur (unique dict keys), log a
-      # warning and continue.  However, 'key_dict' may have already been
-      # adding to the keydb elsewhere.
-      except tuf.exceptions.KeyAlreadyExistsError as e: # pragma: no cover
-        logger.warning(e)
-        continue
-
-    else:
-      logger.warning('Root Metadata file contains a key with an invalid keytype.')
-
-
-
-
-
-def create_keydb(repository_name):
-  """
-  <Purpose>
-    Create a key database for a non-default repository named 'repository_name'.
-
-  <Arguments>
-    repository_name:
-      The name of the repository.  An empty key database is created, and keys
-      may be added to via add_key(keyid, repository_name).
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' already exists.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Is 'repository_name' properly formatted?  Raise 'securesystemslib.exceptions.FormatError' if not.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if repository_name in _keydb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name already exists:'
-      ' ' + repr(repository_name))
-
-  _keydb_dict[repository_name] = {}
-
-
-
-
-
-def remove_keydb(repository_name):
-  """
-  <Purpose>
-    Remove a key database for a non-default repository named 'repository_name'.
-    The 'default' repository cannot be removed.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to remove.  The 'default' repository should
-      not be removed, so 'repository_name' cannot be 'default'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' is 'default'.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Is 'repository_name' properly formatted?  Raise 'securesystemslib.exceptions.FormatError' if not.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if repository_name not in _keydb_dict:
-    logger.warning('Repository name does not exist: ' + repr(repository_name))
-    return
-
-  if repository_name == 'default':
-    raise securesystemslib.exceptions.InvalidNameError('Cannot remove the default repository:'
-      ' ' + repr(repository_name))
-
-  del _keydb_dict[repository_name]
-
-
-
-
-def add_key(key_dict, keyid=None, repository_name='default'):
-  """
-  <Purpose>
-    Add 'rsakey_dict' to the key database while avoiding duplicates.
-    If keyid is provided, verify it is the correct keyid for 'rsakey_dict'
-    and raise an exception if it is not.
-
-  <Arguments>
-    key_dict:
-      A dictionary conformant to 'securesystemslib.formats.ANYKEY_SCHEMA'.
-      It has the form:
-
-      {'keytype': 'rsa',
-       'keyid': keyid,
-       'keyval': {'public': '-----BEGIN RSA PUBLIC KEY----- ...',
-                  'private': '-----BEGIN RSA PRIVATE KEY----- ...'}}
-
-    keyid:
-      An object conformant to 'KEYID_SCHEMA'.  It is used as an identifier
-      for RSA keys.
-
-    repository_name:
-      The name of the repository to add the key.  If not supplied, the key is
-      added to the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the correct format.
-
-    securesystemslib.exceptions.Error, if 'keyid' does not match the keyid for 'rsakey_dict'.
-
-    tuf.exceptions.KeyAlreadyExistsError, if 'rsakey_dict' is found in the key database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not exist in the key
-    database.
-
-  <Side Effects>
-    The keydb key database is modified.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'key_dict' have the correct format?
-  # This check will ensure 'key_dict' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError if the check fails.
-  securesystemslib.formats.ANYKEY_SCHEMA.check_match(key_dict)
-
-  # Does 'repository_name' have the correct format?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Does 'keyid' have the correct format?
-  if keyid is not None:
-    # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-    securesystemslib.formats.KEYID_SCHEMA.check_match(keyid)
-
-    # Check if each keyid found in 'key_dict' matches 'keyid'.
-    if keyid != key_dict['keyid']:
-      raise securesystemslib.exceptions.Error('Incorrect keyid.  Got ' + key_dict['keyid'] + ' but expected ' + keyid)
-
-  # Ensure 'repository_name' is actually set in the key database.
-  if repository_name not in _keydb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not exist:'
-      ' ' + repr(repository_name))
-
-  # Check if the keyid belonging to 'key_dict' is not already
-  # available in the key database before returning.
-  keyid = key_dict['keyid']
-  if keyid in _keydb_dict[repository_name]:
-    raise tuf.exceptions.KeyAlreadyExistsError('Key: ' + keyid)
-
-  _keydb_dict[repository_name][keyid] = copy.deepcopy(key_dict)
-
-
-
-
-
-def get_key(keyid, repository_name='default'):
-  """
-  <Purpose>
-    Return the key belonging to 'keyid'.
-
-  <Arguments>
-    keyid:
-      An object conformant to 'securesystemslib.formats.KEYID_SCHEMA'.  It is used as an
-      identifier for keys.
-
-    repository_name:
-      The name of the repository to get the key.  If not supplied, the key is
-      retrieved from the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the correct format.
-
-    tuf.exceptions.UnknownKeyError, if 'keyid' is not found in the keydb database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not exist in the key
-    database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    The key matching 'keyid'.  In the case of RSA keys, a dictionary conformant
-    to 'securesystemslib.formats.RSAKEY_SCHEMA' is returned.
-  """
-
-  # Does 'keyid' have the correct format?
-  # This check will ensure 'keyid' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' is the match fails.
-  securesystemslib.formats.KEYID_SCHEMA.check_match(keyid)
-
-  # Does 'repository_name' have the correct format?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if repository_name not in _keydb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not exist:'
-      ' ' + repr(repository_name))
-
-  # Return the key belonging to 'keyid', if found in the key database.
-  try:
-    return copy.deepcopy(_keydb_dict[repository_name][keyid])
-
-  except KeyError as error:
-    six.raise_from(tuf.exceptions.UnknownKeyError('Key: ' + keyid), error)
-
-
-
-
-
-def remove_key(keyid, repository_name='default'):
-  """
-  <Purpose>
-    Remove the key belonging to 'keyid'.
-
-  <Arguments>
-    keyid:
-      An object conformant to 'securesystemslib.formats.KEYID_SCHEMA'.  It is used as an
-      identifier for keys.
-
-    repository_name:
-      The name of the repository to remove the key.  If not supplied, the key
-      is removed from the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the correct format.
-
-    tuf.exceptions.UnknownKeyError, if 'keyid' is not found in key database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not exist in the key
-    database.
-
-  <Side Effects>
-    The key, identified by 'keyid', is deleted from the key database.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'keyid' have the correct format?
-  # This check will ensure 'keyid' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' is the match fails.
-  securesystemslib.formats.KEYID_SCHEMA.check_match(keyid)
-
-  # Does 'repository_name' have the correct format?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if repository_name not in _keydb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not exist:'
-      ' ' + repr(repository_name))
-
-  # Remove the key belonging to 'keyid' if found in the key database.
-  if keyid in _keydb_dict[repository_name]:
-    del _keydb_dict[repository_name][keyid]
-
-  else:
-    raise tuf.exceptions.UnknownKeyError('Key: ' + keyid)
-
-
-
-
-
-def clear_keydb(repository_name='default', clear_all=False):
-
-  """
-  <Purpose>
-    Clear the keydb key database.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to clear the key database.  If not supplied,
-      the key database is cleared for the 'default' repository.
-
-    clear_all:
-      Boolean indicating whether to clear the entire keydb.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not exist in the key
-    database.
-
-  <Side Effects>
-    The keydb key database is reset.
-
-  <Returns>
-    None.
-  """
-
-  # Do the arguments have the correct format?  Raise 'securesystemslib.exceptions.FormatError' if
-  # 'repository_name' is improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(clear_all)
-
-  global _keydb_dict
-
-  if clear_all:
-    _keydb_dict = {}
-    _keydb_dict['default'] = {}
-
-  if repository_name not in _keydb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not exist:'
-      ' ' + repr(repository_name))
-
-  _keydb_dict[repository_name] = {}
diff --git a/tuf/log.py b/tuf/log.py
deleted file mode 100755
index 8a6a84d20a..0000000000
--- a/tuf/log.py
+++ /dev/null
@@ -1,458 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  log.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  April 4, 2012.  Based on a previous version of this module by Geremy Condra.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  A central location for all logging-related configuration.  This module should
-  be imported once by the main program.  If other modules wish to incorporate
-  'tuf' logging, they should do the following:
-
-  import logging
-  logger = logging.getLogger('tuf')
-
-  'logging' refers to the module name.  logging.getLogger() is a function of
-  the module 'logging'.  logging.getLogger(name) returns a Logger instance
-  associated with 'name'.  Calling getLogger(name) will always return the same
-  instance.  In this 'log.py' module, we perform the initial setup for the name
-  'tuf'.  The 'log.py' module should only be imported once by the main program.
-  When any other module does a logging.getLogger('tuf'), it is referring to the
-  same 'tuf' instance, and its associated settings, set here in 'log.py'.
-  See http://docs.python.org/library/logging.html#logger-objects for more
-  information.
-
-  We use multiple handlers to process log messages in various ways and to
-  configure each one independently.  Instead of using one single manner of
-  processing log messages, we can use two built-in handlers that have already
-  been configured for us.  For example, the built-in FileHandler will catch
-  log messages and dump them to a file.  If we wanted, we could set this file
-  handler to only catch CRITICAL (and greater) messages and save them to a
-  file.  Other handlers (e.g., StreamHandler) could handle INFO-level
-  (and greater) messages.
-
-  Logging Levels:
-
-    --Level--         --Value--
-  logging.CRITICAL        50
-  logging.ERROR           40
-  logging.WARNING         30
-  logging.INFO            20
-  logging.DEBUG           10
-  logging.NOTSET           0
-
-  The logging module is thread-safe.  Logging to a single file from
-  multiple threads in a single process is also thread-safe.  The logging
-  module is NOT thread-safe when logging to a single file across multiple
-  processes:
-  http://docs.python.org/2/library/logging.html#thread-safety
-  http://docs.python.org/2/howto/logging-cookbook.html
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-import time
-
-import tuf
-import tuf.settings
-import tuf.exceptions
-
-import securesystemslib.formats
-
-# Setting a handler's log level filters only logging messages of that level
-# (and above).  For example, setting the built-in StreamHandler's log level to
-# 'logging.WARNING' will cause the stream handler to only process messages
-# of levels: WARNING, ERROR, and CRITICAL.
-_DEFAULT_LOG_LEVEL = logging.DEBUG
-_DEFAULT_CONSOLE_LOG_LEVEL = logging.INFO
-_DEFAULT_FILE_LOG_LEVEL = logging.DEBUG
-
-# Set the format for logging messages.
-# Example format for '_FORMAT_STRING':
-# [2013-08-13 15:21:18,068 localtime] [tuf]
-# [INFO][_update_metadata:851@updater.py]
-_FORMAT_STRING = '[%(asctime)s UTC] [%(name)s] [%(levelname)s] '+\
-  '[%(funcName)s:%(lineno)s@%(filename)s]\n%(message)s\n'
-
-# Ask all Formatter instances to talk GMT.  Set the 'converter' attribute of
-# 'logging.Formatter' so that all formatters use Greenwich Mean Time.
-# http://docs.python.org/2/library/logging.html#logging.Formatter.formatTime
-# The 2nd paragraph in the link above contains the relevant information.
-# GMT = UTC (Coordinated Universal Time). TUF metadata stores timestamps in UTC.
-# We previously displayed the local time but this lead to confusion when
-# visually comparing logger events and metadata information. Unix time stamps
-# are fine but they may be less human-readable than UTC.
-logging.Formatter.converter = time.gmtime
-formatter = logging.Formatter(_FORMAT_STRING)
-
-# Set the handlers for the logger. The console handler is unset by default. A
-# module importing 'log.py' should explicitly set the console handler if
-# outputting log messages to the screen is needed. Adding a console handler can
-# be done with tuf.log.add_console_handler(). Logging messages to a file is not
-# set by default.
-console_handler = None
-file_handler = None
-
-# Set the logger and its settings.
-# Note: we're configuring the top-level hierarchy for the tuf package,
-# therefore we explicitly request the 'tuf' logger, rather than following
-# the standard pattern of logging.getLogger(__name__)
-logger = logging.getLogger('tuf')
-logger.setLevel(_DEFAULT_LOG_LEVEL)
-logger.addHandler(logging.NullHandler())
-
-# Set the built-in file handler.  Messages will be logged to
-# 'settings.LOG_FILENAME', and only those messages with a log level of
-# '_DEFAULT_LOG_LEVEL'.  The log level of messages handled by 'file_handler'
-# may be modified with 'set_filehandler_log_level()'.  'settings.LOG_FILENAME'
-# will be opened in append mode.
-if tuf.settings.ENABLE_FILE_LOGGING:
-  file_handler = logging.FileHandler(tuf.settings.LOG_FILENAME)
-  file_handler.setLevel(_DEFAULT_FILE_LOG_LEVEL)
-  file_handler.setFormatter(formatter)
-  logger.addHandler(file_handler)
-
-else:
-  pass
-
-# Silently ignore logger exceptions.
-logging.raiseExceptions = False
-
-
-
-
-
-class ConsoleFilter(logging.Filter):
-  def filter(self, record):
-    """
-    <Purpose>
-      Use Vinay Sajip's recommendation from Python issue #6435 to modify a
-      LogRecord object. This is meant to be used with our console handler.
-
-      http://stackoverflow.com/q/6177520
-      http://stackoverflow.com/q/5875225
-      http://bugs.python.org/issue6435
-      http://docs.python.org/2/howto/logging-cookbook.html#filters-contextual
-      http://docs.python.org/2/library/logging.html#logrecord-attributes
-
-    <Arguments>
-      record:
-        A logging.LogRecord object.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      Replaces the LogRecord exception text attribute.
-
-    <Returns>
-      True.
-    """
-
-    # If this LogRecord object has an exception, then we will replace its text.
-    if record.exc_info:
-      # We place the record's cached exception text (which usually contains the
-      # exception traceback) with much simpler exception information. This is
-      # most useful for the console handler, which we do not wish to deluge
-      # with too much data. Assuming that this filter is not applied to the
-      # file logging handler, the user may always consult the file log for the
-      # original exception traceback. The exc_info is explained here:
-      # http://docs.python.org/2/library/sys.html#sys.exc_info
-      exc_type, _, _ = record.exc_info
-
-      # Simply set the class name as the exception text.
-      record.exc_text = exc_type.__name__
-
-    # Always return True to signal that any given record must be formatted.
-    return True
-
-
-
-
-
-def set_log_level(log_level=_DEFAULT_LOG_LEVEL):
-  """
-  <Purpose>
-    Allow the default log level to be overridden.  If 'log_level' is not
-    provided, log level defaults to 'logging.DEBUG'.
-
-  <Arguments>
-    log_level:
-      The log level to set for the 'log.py' file handler.
-      'log_level' examples: logging.INFO; logging.CRITICAL.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Overrides the logging level for the 'log.py' file handler.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'log_level' have the correct format?
-  # Raise 'securesystems.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.LOGLEVEL_SCHEMA.check_match(log_level)
-
-  logger.setLevel(log_level)
-
-
-
-
-
-def set_filehandler_log_level(log_level=_DEFAULT_FILE_LOG_LEVEL):
-  """
-  <Purpose>
-    Allow the default file handler log level to be overridden.  If 'log_level'
-    is not provided, log level defaults to 'logging.DEBUG'.
-
-  <Arguments>
-    log_level:
-      The log level to set for the 'log.py' file handler.
-      'log_level' examples: logging.INFO; logging.CRITICAL.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Overrides the logging level for the 'log.py' file handler.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'log_level' have the correct format?
-  # Raise 'securesystems.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.LOGLEVEL_SCHEMA.check_match(log_level)
-
-  if file_handler:
-    file_handler.setLevel(log_level)
-
-  else:
-    raise tuf.exceptions.Error(
-        'File handler has not been set.  Enable file logging'
-        ' before attempting to set its log level')
-
-
-
-
-
-def set_console_log_level(log_level=_DEFAULT_CONSOLE_LOG_LEVEL):
-  """
-  <Purpose>
-    Allow the default log level for console messages to be overridden.  If
-    'log_level' is not provided, log level defaults to 'logging.INFO'.
-
-  <Arguments>
-    log_level:
-      The log level to set for the console handler.
-      'log_level' examples: logging.INFO; logging.CRITICAL.
-
-  <Exceptions>
-    securesystems.exceptions.Error, if the 'log.py' console handler has not
-    been set yet with add_console_handler().
-
-  <Side Effects>
-    Overrides the logging level for the console handler.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'log_level' have the correct format?
-  # Raise 'securesystems.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.LOGLEVEL_SCHEMA.check_match(log_level)
-
-  # Assign to the global console_handler object.
-  global console_handler
-
-  if console_handler is not None:
-    console_handler.setLevel(log_level)
-
-  else:
-    message = 'The console handler has not been set with add_console_handler().'
-    raise securesystemslib.exceptions.Error(message)
-
-
-
-
-
-def add_console_handler(log_level=_DEFAULT_CONSOLE_LOG_LEVEL):
-  """
-  <Purpose>
-    Add a console handler and set its log level to 'log_level'.
-
-  <Arguments>
-    log_level:
-      The log level to set for the console handler.
-      'log_level' examples: logging.INFO; logging.CRITICAL.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Adds a console handler to the 'log.py' logger and sets its logging level to
-    'log_level'.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'log_level' have the correct format?
-  # Raise 'securesystems.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.LOGLEVEL_SCHEMA.check_match(log_level)
-
-  # Assign to the global console_handler object.
-  global console_handler
-
-  if not console_handler:
-    # Set the console handler for the logger. The built-in console handler will
-    # log messages to 'sys.stderr' and capture 'log_level' messages.
-    console_handler = logging.StreamHandler()
-
-    # Get our filter for the console handler.
-    console_filter = ConsoleFilter()
-    console_format_string = '%(message)s'
-    console_formatter = logging.Formatter(console_format_string)
-
-    console_handler.setLevel(log_level)
-    console_handler.setFormatter(console_formatter)
-    console_handler.addFilter(console_filter)
-    logger.addHandler(console_handler)
-    logger.debug('Added a console handler.')
-
-  else:
-    logger.warning('We already have a console handler.')
-
-
-
-
-
-def remove_console_handler():
-  """
-  <Purpose>
-    Remove the console handler from the logger in 'log.py', if previously added.
-
-  <Arguments>
-     None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    A handler belonging to the console is removed from the 'log.py' logger
-    and the console handler is marked as unset.
-
-
-  <Returns>
-    None.
-  """
-
-  # Assign to the global 'console_handler' object.
-  global console_handler
-
-  if console_handler:
-    logger.removeHandler(console_handler)
-    console_handler = None
-    logger.debug('Removed a console handler.')
-
-  else:
-    logger.warning('We do not have a console handler.')
-
-
-
-def enable_file_logging(log_filename=tuf.settings.LOG_FILENAME):
-  """
-  <Purpose>
-    Log messages to a file (i.e., 'log_filename').  The log level for the file
-    handler can be set with set_filehandler_log_level().
-
-  <Arguments>
-    log_filename:
-      Logging messages are saved to this file.  If not provided, the log
-      filename specified in tuf.settings.LOG_FILENAME is used.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if any of the arguments are
-    not the expected format.
-
-    tuf.exceptions.Error, if the file handler has already been set.
-
-  <Side Effects>
-    The global file handler is set.
-
-  <Returns>
-    None.
-  """
-
-  # Are the arguments properly formatted?
-  securesystemslib.formats.PATH_SCHEMA.check_match(log_filename)
-
-  global file_handler
-
-  # Add a file handler to the logger if not already set.
-  if not file_handler:
-    file_handler = logging.FileHandler(log_filename)
-    file_handler.setLevel(_DEFAULT_FILE_LOG_LEVEL)
-    file_handler.setFormatter(formatter)
-    logger.addHandler(file_handler)
-
-  else:
-    raise tuf.exceptions.Error(
-        'The file handler has already been been set.  A new file handler'
-        ' can be set by first calling disable_file_logging()')
-
-
-
-def disable_file_logging():
-  """
-  <Purpose>
-    Disable file logging by removing any previously set file handler.
-    A warning is logged if the file handler cannot be removed.
-
-    The file that was written to will not be deleted.
-
-  <Arguments>
-    None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    The global file handler is unset.
-
-  <Returns>
-    None.
-  """
-
-  # Assign to the global 'file_handler' object.
-  global file_handler
-
-  if file_handler:
-    logger.removeHandler(file_handler)
-    file_handler.close()
-    file_handler = None
-    logger.debug('Removed the file handler.')
-
-  else:
-    logger.warning('A file handler has not been set.')
diff --git a/tuf/mirrors.py b/tuf/mirrors.py
deleted file mode 100755
index 50d32a3b09..0000000000
--- a/tuf/mirrors.py
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  mirrors.py
-
-<Author>
-  Konstantin Andrianov.
-  Derived from original mirrors.py written by Geremy Condra.
-
-<Started>
-  March 12, 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Extract a list of mirror urls corresponding to the file type and the location
-  of the file with respect to the base url.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-
-import tuf
-import tuf.formats
-
-import securesystemslib
-import six
-
-# The type of file to be downloaded from a repository.  The
-# 'get_list_of_mirrors' function supports these file types.
-_SUPPORTED_FILE_TYPES = ['meta', 'target']
-
-
-def get_list_of_mirrors(file_type, file_path, mirrors_dict):
-  """
-  <Purpose>
-    Get a list of mirror urls from a mirrors dictionary, provided the type
-    and the path of the file with respect to the base url.
-
-  <Arguments>
-    file_type:
-      Type of data needed for download, must correspond to one of the strings
-      in the list ['meta', 'target'].  'meta' for metadata file type or
-      'target' for target file type.  It should correspond to
-      NAME_SCHEMA format.
-
-    file_path:
-      A relative path to the file that corresponds to RELPATH_SCHEMA format.
-      Ex: 'http://url_prefix/targets_path/file_path'
-
-    mirrors_dict:
-      A mirrors_dict object that corresponds to MIRRORDICT_SCHEMA, where
-      keys are strings and values are MIRROR_SCHEMA. An example format
-      of MIRROR_SCHEMA:
-
-      {'url_prefix': 'http://localhost:8001',
-       'metadata_path': 'metadata/',
-       'targets_path': 'targets/',
-       'confined_target_dirs': ['targets/snapshot1/', ...],
-       'custom': {...}}
-
-      The 'custom' field is optional.
-
-  <Exceptions>
-    securesystemslib.exceptions.Error, on unsupported 'file_type'.
-
-    securesystemslib.exceptions.FormatError, on bad argument.
-
-  <Return>
-    List of mirror urls corresponding to the file_type and file_path.  If no
-    match is found, empty list is returned.
-  """
-
-  # Checking if all the arguments have appropriate format.
-  tuf.formats.RELPATH_SCHEMA.check_match(file_path)
-  tuf.formats.MIRRORDICT_SCHEMA.check_match(mirrors_dict)
-  securesystemslib.formats.NAME_SCHEMA.check_match(file_type)
-
-  # Verify 'file_type' is supported.
-  if file_type not in _SUPPORTED_FILE_TYPES:
-    raise securesystemslib.exceptions.Error('Invalid file_type argument.'
-      '  Supported file types: ' + repr(_SUPPORTED_FILE_TYPES))
-  path_key = 'metadata_path' if file_type == 'meta' else 'targets_path'
-
-  # Reference to 'securesystemslib.util.file_in_confined_directories()' (improve
-  # readability).  This function checks whether a mirror should serve a file to
-  # the client.  A client may be confined to certain paths on a repository
-  # mirror when fetching target files.  This field may be set by the client
-  # when the repository mirror is added to the 'tuf.client.updater.Updater'
-  # object.
-  in_confined_directory = securesystemslib.util.file_in_confined_directories
-
-  list_of_mirrors = []
-  for junk, mirror_info in six.iteritems(mirrors_dict):
-    # Does mirror serve this file type at all?
-    path = mirror_info.get(path_key)
-    if path is None:
-      continue
-
-    # for targets, ensure directory confinement
-    if path_key == 'targets_path':
-      full_filepath = os.path.join(path, file_path)
-      confined_target_dirs = mirror_info.get('confined_target_dirs')
-      # confined_target_dirs is an optional field
-      if confined_target_dirs and not in_confined_directory(full_filepath,
-          confined_target_dirs):
-        continue
-
-    # urllib.quote(string) replaces special characters in string using the %xx
-    # escape.  This is done to avoid parsing issues of the URL on the server
-    # side. Do *NOT* pass URLs with Unicode characters without first encoding
-    # the URL as UTF-8. We need a long-term solution with #61.
-    # http://bugs.python.org/issue1712522
-    file_path = six.moves.urllib.parse.quote(file_path)
-    url = os.path.join(mirror_info['url_prefix'], path, file_path)
-
-    # The above os.path.join() result as well as input file_path may be
-    # invalid on windows (might contain both separator types), see #1077.
-    # Make sure the URL doesn't contain backward slashes on Windows.
-    list_of_mirrors.append(url.replace('\\', '/'))
-
-  return list_of_mirrors
diff --git a/tuf/ngclient/README.md b/tuf/ngclient/README.md
new file mode 100644
index 0000000000..ad1b396c0d
--- /dev/null
+++ b/tuf/ngclient/README.md
@@ -0,0 +1,22 @@
+## Next-gen TUF client for Python
+
+This package provides modules for TUF client implementers.
+
+**tuf.ngclient.Updater** is a class that implements the client workflow
+described in the TUF specification (see
+https://theupdateframework.github.io/specification/latest/#detailed-client-workflow)
+
+**tuf.ngclient.FetcherInterface** is an abstract class that client
+implementers can implement a concrete class of in order to reuse their
+own networking/download libraries -- a Requests-based implementation is
+used by default.
+
+This package:
+* Aims to be a clean, easy-to-validate reference client implementation
+  written in modern Python
+* At the same time aims to be the library of choice for anyone
+  implementing a TUF client in Python: light-weight, easy to integrate
+  and with minimal required dependencies
+* Is still under development but is planned to become the default client
+  in this implementation (i.e., the older `tuf.client` will be deprecated
+  in the future)
diff --git a/tuf/ngclient/__init__.py b/tuf/ngclient/__init__.py
new file mode 100644
index 0000000000..afab48f5cd
--- /dev/null
+++ b/tuf/ngclient/__init__.py
@@ -0,0 +1,18 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""TUF client public API."""
+
+from tuf.api.metadata import TargetFile
+from tuf.ngclient.config import UpdaterConfig
+from tuf.ngclient.fetcher import FetcherInterface
+from tuf.ngclient.updater import Updater
+from tuf.ngclient.urllib3_fetcher import Urllib3Fetcher
+
+__all__ = [  # noqa: PLE0604
+    FetcherInterface.__name__,
+    Urllib3Fetcher.__name__,
+    TargetFile.__name__,
+    Updater.__name__,
+    UpdaterConfig.__name__,
+]
diff --git a/tuf/scripts/__init__.py b/tuf/ngclient/_internal/__init__.py
similarity index 100%
rename from tuf/scripts/__init__.py
rename to tuf/ngclient/_internal/__init__.py
diff --git a/tuf/ngclient/_internal/proxy.py b/tuf/ngclient/_internal/proxy.py
new file mode 100644
index 0000000000..b42ea2f415
--- /dev/null
+++ b/tuf/ngclient/_internal/proxy.py
@@ -0,0 +1,101 @@
+# Copyright New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Proxy environment variable handling with Urllib3"""
+
+from __future__ import annotations
+
+from typing import Any
+from urllib.request import getproxies
+
+from urllib3 import BaseHTTPResponse, PoolManager, ProxyManager
+from urllib3.util.url import parse_url
+
+
+# TODO: ProxyEnvironment could implement the whole PoolManager.RequestMethods
+# Mixin: We only need request() so nothing else is currently implemented
+class ProxyEnvironment:
+    """A PoolManager manager for automatic proxy handling based on env variables
+
+    Keeps track of PoolManagers for different proxy urls based on proxy
+    environment variables. Use `get_pool_manager()` or `request()` to access
+    the right manager for a scheme/host.
+
+    Supports '*_proxy' variables, with special handling for 'no_proxy' and
+    'all_proxy'.
+    """
+
+    def __init__(
+        self,
+        **kw_args: Any,  # noqa: ANN401
+    ) -> None:
+        self._pool_managers: dict[str | None, PoolManager] = {}
+        self._kw_args = kw_args
+
+        self._proxies = getproxies()
+        self._all_proxy = self._proxies.pop("all", None)
+        no_proxy = self._proxies.pop("no", None)
+        if no_proxy is None:
+            self._no_proxy_hosts = []
+        else:
+            # split by comma, remove leading periods
+            self._no_proxy_hosts = [
+                h.lstrip(".") for h in no_proxy.replace(" ", "").split(",") if h
+            ]
+
+    def _get_proxy(self, scheme: str | None, host: str | None) -> str | None:
+        """Get a proxy url for scheme and host based on proxy env variables"""
+
+        if host is None:
+            # urllib3 only handles http/https but we can do something reasonable
+            # even for schemes that don't require host (like file)
+            return None
+
+        # does host match any of the "no_proxy" hosts?
+        for no_proxy_host in self._no_proxy_hosts:
+            # wildcard match, exact hostname match, or parent domain match
+            if no_proxy_host in ("*", host) or host.endswith(
+                f".{no_proxy_host}"
+            ):
+                return None
+
+        if scheme in self._proxies:
+            return self._proxies[scheme]
+        if self._all_proxy is not None:
+            return self._all_proxy
+
+        return None
+
+    def get_pool_manager(
+        self, scheme: str | None, host: str | None
+    ) -> PoolManager:
+        """Get a poolmanager for scheme and host.
+
+        Returns a ProxyManager if that is correct based on current proxy env
+        variables, otherwise returns a PoolManager
+        """
+
+        proxy = self._get_proxy(scheme, host)
+        if proxy not in self._pool_managers:
+            if proxy is None:
+                self._pool_managers[proxy] = PoolManager(**self._kw_args)
+            else:
+                self._pool_managers[proxy] = ProxyManager(
+                    proxy,
+                    **self._kw_args,
+                )
+
+        return self._pool_managers[proxy]
+
+    def request(
+        self,
+        method: str,
+        url: str,
+        **request_kw: Any,  # noqa: ANN401
+    ) -> BaseHTTPResponse:
+        """Make a request using a PoolManager chosen based on url and
+        proxy environment variables.
+        """
+        u = parse_url(url)
+        manager = self.get_pool_manager(u.scheme, u.host)
+        return manager.request(method, url, **request_kw)
diff --git a/tuf/ngclient/_internal/trusted_metadata_set.py b/tuf/ngclient/_internal/trusted_metadata_set.py
new file mode 100644
index 0000000000..179a65ed87
--- /dev/null
+++ b/tuf/ngclient/_internal/trusted_metadata_set.py
@@ -0,0 +1,517 @@
+# Copyright the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Trusted collection of client-side TUF Metadata.
+
+``TrustedMetadataSet`` keeps track of the current valid set of metadata for the
+client, and handles almost every step of the "Detailed client workflow" (
+https://theupdateframework.github.io/specification/latest#detailed-client-workflow)
+in the TUF specification: the remaining steps are related to filesystem and
+network IO, which are not handled here.
+
+Loaded metadata can be accessed via index access with rolename as key
+(``trusted_set[Root.type]``) or, in the case of top-level metadata, using the
+helper properties (``trusted_set.root``).
+
+Signatures are verified and discarded upon inclusion into the trusted set.
+
+The rules that ``TrustedMetadataSet`` follows for top-level metadata are
+ * Metadata must be loaded in order:
+   root -> timestamp -> snapshot -> targets -> (delegated targets).
+ * Metadata can be loaded even if it is expired (or in the snapshot case if the
+   meta info does not match): this is called "intermediate metadata".
+ * Intermediate metadata can _only_ be used to load newer versions of the
+   same metadata: As an example an expired root can be used to load a new root.
+ * Metadata is loadable only if metadata before it in loading order is loaded
+   (and is not intermediate): As an example timestamp can be loaded if a
+   final (non-expired) root has been loaded.
+ * Metadata is not loadable if any metadata after it in loading order has been
+   loaded: As an example new roots cannot be loaded if timestamp is loaded.
+
+Exceptions are raised if metadata fails to load in any way.
+
+Example of loading root, timestamp and snapshot:
+
+>>> # Load local root (RepositoryErrors here stop the update)
+>>> with open(root_path, "rb") as f:
+>>>     trusted_set = TrustedMetadataSet(f.read(), EnvelopeType.METADATA)
+>>>
+>>> # update root from remote until no more are available
+>>> with download(Root.type, trusted_set.root.version + 1) as f:
+>>>     trusted_set.update_root(f.read())
+>>>
+>>> # load local timestamp, then update from remote
+>>> try:
+>>>     with open(timestamp_path, "rb") as f:
+>>>         trusted_set.update_timestamp(f.read())
+>>> except (RepositoryError, OSError):
+>>>     pass # failure to load a local file is ok
+>>>
+>>> with download(Timestamp.type) as f:
+>>>     trusted_set.update_timestamp(f.read())
+>>>
+>>> # load local snapshot, then update from remote if needed
+>>> try:
+>>>     with open(snapshot_path, "rb") as f:
+>>>         trusted_set.update_snapshot(f.read())
+>>> except (RepositoryError, OSError):
+>>>     # local snapshot is not valid, load from remote
+>>>     # (RepositoryErrors here stop the update)
+>>>     with download(Snapshot.type, version) as f:
+>>>         trusted_set.update_snapshot(f.read())
+"""
+
+from __future__ import annotations
+
+import datetime
+import logging
+from collections import abc
+from typing import TYPE_CHECKING, Union, cast
+
+from tuf.api import exceptions
+from tuf.api.dsse import SimpleEnvelope
+from tuf.api.metadata import (
+    Metadata,
+    Root,
+    Signed,
+    Snapshot,
+    T,
+    Targets,
+    Timestamp,
+)
+from tuf.ngclient.config import EnvelopeType
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+    from securesystemslib.signer import Signature
+
+logger = logging.getLogger(__name__)
+
+Delegator = Union[Root, Targets]
+
+
+class TrustedMetadataSet(abc.Mapping):
+    """Internal class to keep track of trusted metadata in ``Updater``.
+
+    ``TrustedMetadataSet`` ensures that the collection of metadata in it is
+    valid and trusted through the whole client update workflow. It provides
+    easy ways to update the metadata with the caller making decisions on
+    what is updated.
+    """
+
+    def __init__(self, root_data: bytes, envelope_type: EnvelopeType):
+        """Initialize ``TrustedMetadataSet`` by loading trusted root metadata.
+
+        Args:
+            root_data: Trusted root metadata as bytes. Note that this metadata
+                will only be verified by itself: it is the source of trust for
+                all metadata in the ``TrustedMetadataSet``
+            envelope_type: Configures deserialization and verification mode of
+                TUF metadata.
+
+        Raises:
+            RepositoryError: Metadata failed to load or verify. The actual
+                error type and content will contain more details.
+        """
+        self._trusted_set: dict[str, Signed] = {}
+        self.reference_time = datetime.datetime.now(datetime.timezone.utc)
+
+        if envelope_type is EnvelopeType.SIMPLE:
+            self._load_data = _load_from_simple_envelope
+        else:
+            self._load_data = _load_from_metadata
+
+        # Load and validate the local root metadata. Valid initial trusted root
+        # metadata is required
+        logger.debug("Updating initial trusted root")
+        self._load_trusted_root(root_data)
+
+    def __getitem__(self, role: str) -> Signed:
+        """Return current ``Signed`` for ``role``."""
+        return self._trusted_set[role]
+
+    def __len__(self) -> int:
+        """Return number of ``Signed`` objects in ``TrustedMetadataSet``."""
+        return len(self._trusted_set)
+
+    def __iter__(self) -> Iterator[Signed]:
+        """Return iterator over ``Signed`` objects in
+        ``TrustedMetadataSet``.
+        """
+        return iter(self._trusted_set.values())
+
+    # Helper properties for top level metadata
+    @property
+    def root(self) -> Root:
+        """Get current root."""
+        return cast("Root", self._trusted_set[Root.type])
+
+    @property
+    def timestamp(self) -> Timestamp:
+        """Get current timestamp."""
+        return cast("Timestamp", self._trusted_set[Timestamp.type])
+
+    @property
+    def snapshot(self) -> Snapshot:
+        """Get current snapshot."""
+        return cast("Snapshot", self._trusted_set[Snapshot.type])
+
+    @property
+    def targets(self) -> Targets:
+        """Get current top-level targets."""
+        return cast("Targets", self._trusted_set[Targets.type])
+
+    # Methods for updating metadata
+    def update_root(self, data: bytes) -> Root:
+        """Verify and load ``data`` as new root metadata.
+
+        Note that an expired intermediate root is considered valid: expiry is
+        only checked for the final root in ``update_timestamp()``.
+
+        Args:
+            data: Unverified new root metadata as bytes
+
+        Raises:
+            RuntimeError: This function is called after updating timestamp.
+            RepositoryError: Metadata failed to load or verify. The actual
+                error type and content will contain more details.
+
+        Returns:
+            Deserialized and verified ``Root`` object
+        """
+        if Timestamp.type in self._trusted_set:
+            raise RuntimeError("Cannot update root after timestamp")
+        logger.debug("Updating root")
+
+        new_root, new_root_bytes, new_root_signatures = self._load_data(
+            Root, data, self.root
+        )
+        if new_root.version != self.root.version + 1:
+            raise exceptions.BadVersionNumberError(
+                f"Expected root version {self.root.version + 1}"
+                f" instead got version {new_root.version}"
+            )
+
+        # Verify that new root is signed by itself
+        new_root.verify_delegate(Root.type, new_root_bytes, new_root_signatures)
+
+        self._trusted_set[Root.type] = new_root
+        logger.debug("Updated root v%d", new_root.version)
+
+        return new_root
+
+    def update_timestamp(self, data: bytes) -> Timestamp:
+        """Verify and load ``data`` as new timestamp metadata.
+
+        Note that an intermediate timestamp is allowed to be expired:
+        ``TrustedMetadataSet`` will throw an ``ExpiredMetadataError`` in
+        this case but the intermediate timestamp will be loaded. This way
+        a newer timestamp can still be loaded (and the intermediate
+        timestamp will be used for rollback protection). Expired timestamp
+        will prevent loading snapshot metadata.
+
+        Args:
+            data: Unverified new timestamp metadata as bytes
+
+        Raises:
+            RuntimeError: This function is called after updating snapshot.
+            RepositoryError: Metadata failed to load or verify as final
+                timestamp. The actual error type and content will contain
+                more details.
+
+        Returns:
+            Deserialized and verified ``Timestamp`` object
+        """
+        if Snapshot.type in self._trusted_set:
+            raise RuntimeError("Cannot update timestamp after snapshot")
+
+        # client workflow 5.3.10: Make sure final root is not expired.
+        if self.root.is_expired(self.reference_time):
+            raise exceptions.ExpiredMetadataError("Final root.json is expired")
+        # No need to check for 5.3.11 (fast forward attack recovery):
+        # timestamp/snapshot can not yet be loaded at this point
+
+        new_timestamp, _, _ = self._load_data(Timestamp, data, self.root)
+
+        # If an existing trusted timestamp is updated,
+        # check for a rollback attack
+        if Timestamp.type in self._trusted_set:
+            # Prevent rolling back timestamp version
+            if new_timestamp.version < self.timestamp.version:
+                raise exceptions.BadVersionNumberError(
+                    f"New timestamp version {new_timestamp.version} must"
+                    f" be >= {self.timestamp.version}"
+                )
+            # Keep using old timestamp if versions are equal.
+            if new_timestamp.version == self.timestamp.version:
+                raise exceptions.EqualVersionNumberError
+
+            # Prevent rolling back snapshot version
+            snapshot_meta = self.timestamp.snapshot_meta
+            new_snapshot_meta = new_timestamp.snapshot_meta
+            if new_snapshot_meta.version < snapshot_meta.version:
+                raise exceptions.BadVersionNumberError(
+                    f"New snapshot version must be >= {snapshot_meta.version}"
+                    f", got version {new_snapshot_meta.version}"
+                )
+
+        # expiry not checked to allow old timestamp to be used for rollback
+        # protection of new timestamp: expiry is checked in update_snapshot()
+
+        self._trusted_set[Timestamp.type] = new_timestamp
+        logger.debug("Updated timestamp v%d", new_timestamp.version)
+
+        # timestamp is loaded: raise if it is not valid _final_ timestamp
+        self._check_final_timestamp()
+
+        return new_timestamp
+
+    def _check_final_timestamp(self) -> None:
+        """Raise if timestamp is expired."""
+
+        if self.timestamp.is_expired(self.reference_time):
+            raise exceptions.ExpiredMetadataError("timestamp.json is expired")
+
+    def update_snapshot(
+        self, data: bytes, trusted: bool | None = False
+    ) -> Snapshot:
+        """Verify and load ``data`` as new snapshot metadata.
+
+        Note that an intermediate snapshot is allowed to be expired and version
+        is allowed to not match timestamp meta version: ``TrustedMetadataSet``
+        will throw an ``ExpiredMetadataError``/``BadVersionNumberError`` in
+        these cases but the intermediate snapshot will be loaded. This way a
+        newer snapshot can still be loaded (and the intermediate snapshot will
+        be used for rollback protection). Expired snapshot or snapshot that
+        does not match timestamp meta version will prevent loading targets.
+
+        Args:
+            data: Unverified new snapshot metadata as bytes
+            trusted: ``True`` if data has at some point been verified by
+                ``TrustedMetadataSet`` as a valid snapshot. Purpose of trusted
+                is to allow loading of locally stored snapshot as intermediate
+                snapshot even if hashes in current timestamp meta no longer
+                match data. Default is False.
+
+        Raises:
+            RuntimeError: This function is called before updating timestamp
+                or after updating targets.
+            RepositoryError: Data failed to load or verify as final snapshot.
+                The actual error type and content will contain more details.
+
+        Returns:
+            Deserialized and verified ``Snapshot`` object
+        """
+
+        if Timestamp.type not in self._trusted_set:
+            raise RuntimeError("Cannot update snapshot before timestamp")
+        if Targets.type in self._trusted_set:
+            raise RuntimeError("Cannot update snapshot after targets")
+        logger.debug("Updating snapshot")
+
+        # Snapshot cannot be loaded if final timestamp is expired
+        self._check_final_timestamp()
+
+        snapshot_meta = self.timestamp.snapshot_meta
+
+        # Verify non-trusted data against the hashes in timestamp, if any.
+        # Trusted snapshot data has already been verified once.
+        if not trusted:
+            snapshot_meta.verify_length_and_hashes(data)
+
+        new_snapshot, _, _ = self._load_data(Snapshot, data, self.root)
+
+        # version not checked against meta version to allow old snapshot to be
+        # used in rollback protection: it is checked when targets is updated
+
+        # If an existing trusted snapshot is updated, check for rollback attack
+        if Snapshot.type in self._trusted_set:
+            for filename, fileinfo in self.snapshot.meta.items():
+                new_fileinfo = new_snapshot.meta.get(filename)
+
+                # Prevent removal of any metadata in meta
+                if new_fileinfo is None:
+                    raise exceptions.RepositoryError(
+                        f"New snapshot is missing info for '{filename}'"
+                    )
+
+                # Prevent rollback of any metadata versions
+                if new_fileinfo.version < fileinfo.version:
+                    raise exceptions.BadVersionNumberError(
+                        f"Expected {filename} version "
+                        f"{new_fileinfo.version}, got {fileinfo.version}."
+                    )
+
+        # expiry not checked to allow old snapshot to be used for rollback
+        # protection of new snapshot: it is checked when targets is updated
+
+        self._trusted_set[Snapshot.type] = new_snapshot
+        logger.debug("Updated snapshot v%d", new_snapshot.version)
+
+        # snapshot is loaded, but we raise if it's not valid _final_ snapshot
+        self._check_final_snapshot()
+
+        return new_snapshot
+
+    def _check_final_snapshot(self) -> None:
+        """Raise if snapshot is expired or meta version does not match."""
+
+        if self.snapshot.is_expired(self.reference_time):
+            raise exceptions.ExpiredMetadataError("snapshot.json is expired")
+        snapshot_meta = self.timestamp.snapshot_meta
+        if self.snapshot.version != snapshot_meta.version:
+            raise exceptions.BadVersionNumberError(
+                f"Expected snapshot version {snapshot_meta.version}, "
+                f"got {self.snapshot.version}"
+            )
+
+    def update_targets(self, data: bytes) -> Targets:
+        """Verify and load ``data`` as new top-level targets metadata.
+
+        Args:
+            data: Unverified new targets metadata as bytes
+
+        Raises:
+            RepositoryError: Metadata failed to load or verify. The actual
+                error type and content will contain more details.
+
+        Returns:
+            Deserialized and verified `Targets`` object
+        """
+        return self.update_delegated_targets(data, Targets.type, Root.type)
+
+    def update_delegated_targets(
+        self, data: bytes, role_name: str, delegator_name: str
+    ) -> Targets:
+        """Verify and load ``data`` as new metadata for target ``role_name``.
+
+        Args:
+            data: Unverified new metadata as bytes
+            role_name: Role name of the new metadata
+            delegator_name: Name of the role delegating to the new metadata
+
+        Raises:
+            RuntimeError: This function is called before updating snapshot.
+            RepositoryError: Metadata failed to load or verify. The actual
+                error type and content will contain more details.
+
+        Returns:
+            Deserialized and verified ``Targets`` object
+        """
+        if Snapshot.type not in self._trusted_set:
+            raise RuntimeError("Cannot load targets before snapshot")
+
+        # Targets cannot be loaded if final snapshot is expired or its version
+        # does not match meta version in timestamp
+        self._check_final_snapshot()
+
+        delegator: Delegator | None = self.get(delegator_name)
+        if delegator is None:
+            raise RuntimeError("Cannot load targets before delegator")
+
+        logger.debug("Updating %s delegated by %s", role_name, delegator_name)
+
+        # Verify against the hashes in snapshot, if any
+        meta = self.snapshot.meta.get(f"{role_name}.json")
+        if meta is None:
+            raise exceptions.RepositoryError(
+                f"Snapshot does not contain information for '{role_name}'"
+            )
+
+        meta.verify_length_and_hashes(data)
+
+        new_delegate, _, _ = self._load_data(
+            Targets, data, delegator, role_name
+        )
+
+        version = new_delegate.version
+        if version != meta.version:
+            raise exceptions.BadVersionNumberError(
+                f"Expected {role_name} v{meta.version}, got v{version}."
+            )
+
+        if new_delegate.is_expired(self.reference_time):
+            raise exceptions.ExpiredMetadataError(f"New {role_name} is expired")
+
+        self._trusted_set[role_name] = new_delegate
+        logger.debug("Updated %s v%d", role_name, version)
+
+        return new_delegate
+
+    def _load_trusted_root(self, data: bytes) -> None:
+        """Verify and load ``data`` as trusted root metadata.
+
+        Note that an expired initial root is considered valid: expiry is
+        only checked for the final root in ``update_timestamp()``.
+        """
+        new_root, new_root_bytes, new_root_signatures = self._load_data(
+            Root, data
+        )
+        new_root.verify_delegate(Root.type, new_root_bytes, new_root_signatures)
+
+        self._trusted_set[Root.type] = new_root
+        logger.debug("Loaded trusted root v%d", new_root.version)
+
+
+def _load_from_metadata(
+    role: type[T],
+    data: bytes,
+    delegator: Delegator | None = None,
+    role_name: str | None = None,
+) -> tuple[T, bytes, dict[str, Signature]]:
+    """Load traditional metadata bytes, and extract and verify payload.
+
+    If no delegator is passed, verification is skipped. Returns a tuple of
+    deserialized payload, signed payload bytes, and signatures.
+    """
+    md = Metadata[T].from_bytes(data)
+
+    if md.signed.type != role.type:
+        raise exceptions.RepositoryError(
+            f"Expected '{role.type}', got '{md.signed.type}'"
+        )
+
+    if delegator:
+        if role_name is None:
+            role_name = role.type
+
+        delegator.verify_delegate(role_name, md.signed_bytes, md.signatures)
+
+    return md.signed, md.signed_bytes, md.signatures
+
+
+def _load_from_simple_envelope(
+    role: type[T],
+    data: bytes,
+    delegator: Delegator | None = None,
+    role_name: str | None = None,
+) -> tuple[T, bytes, dict[str, Signature]]:
+    """Load simple envelope bytes, and extract and verify payload.
+
+    If no delegator is passed, verification is skipped. Returns a tuple of
+    deserialized payload, signed payload bytes, and signatures.
+    """
+
+    envelope = SimpleEnvelope[T].from_bytes(data)
+
+    if envelope.payload_type != SimpleEnvelope.DEFAULT_PAYLOAD_TYPE:
+        raise exceptions.RepositoryError(
+            f"Expected '{SimpleEnvelope.DEFAULT_PAYLOAD_TYPE}', "
+            f"got '{envelope.payload_type}'"
+        )
+
+    if delegator:
+        if role_name is None:
+            role_name = role.type
+        delegator.verify_delegate(
+            role_name, envelope.pae(), envelope.signatures
+        )
+
+    signed = envelope.get_signed()
+    if signed.type != role.type:
+        raise exceptions.RepositoryError(
+            f"Expected '{role.type}', got '{signed.type}'"
+        )
+
+    return signed, envelope.pae(), envelope.signatures
diff --git a/tuf/ngclient/config.py b/tuf/ngclient/config.py
new file mode 100644
index 0000000000..3a41fad451
--- /dev/null
+++ b/tuf/ngclient/config.py
@@ -0,0 +1,56 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Configuration options for ``Updater`` class."""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+from enum import Flag, unique
+
+
+@unique
+class EnvelopeType(Flag):
+    """Configures deserialization and verification mode of TUF metadata.
+
+    Args:
+        METADATA: Traditional canonical JSON -based TUF Metadata.
+        SIMPLE: Dead Simple Signing Envelope. (experimental)
+    """
+
+    METADATA = 1
+    SIMPLE = 2
+
+
+@dataclass
+class UpdaterConfig:
+    """Used to store ``Updater`` configuration.
+
+    Args:
+        max_root_rotations: Maximum number of root rotations.
+        max_delegations: Maximum number of delegations.
+        root_max_length: Maximum length of a root metadata file.
+        timestamp_max_length: Maximum length of a timestamp metadata file.
+        snapshot_max_length: Maximum length of a snapshot metadata file.
+        targets_max_length: Maximum length of a targets metadata file.
+        prefix_targets_with_hash: When `consistent snapshots
+            <https://theupdateframework.github.io/specification/latest/#consistent-snapshots>`_
+            are used, target download URLs are formed by prefixing the filename
+            with a hash digest of file content by default. This can be
+            overridden by setting ``prefix_targets_with_hash`` to ``False``.
+        envelope_type: Configures deserialization and verification mode of TUF
+            metadata. Per default, it is treated as traditional canonical JSON
+            -based TUF Metadata.
+        app_user_agent: Application user agent, e.g. "MyApp/1.0.0". This will be
+            prefixed to ngclient user agent when the default fetcher is used.
+    """
+
+    max_root_rotations: int = 256
+    max_delegations: int = 32
+    root_max_length: int = 512000  # bytes
+    timestamp_max_length: int = 16384  # bytes
+    snapshot_max_length: int = 2000000  # bytes
+    targets_max_length: int = 5000000  # bytes
+    prefix_targets_with_hash: bool = True
+    envelope_type: EnvelopeType = EnvelopeType.METADATA
+    app_user_agent: str | None = None
diff --git a/tuf/ngclient/fetcher.py b/tuf/ngclient/fetcher.py
new file mode 100644
index 0000000000..ae583b537a
--- /dev/null
+++ b/tuf/ngclient/fetcher.py
@@ -0,0 +1,140 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Provides an interface for network IO abstraction."""
+
+# Imports
+import abc
+import logging
+import tempfile
+from collections.abc import Iterator
+from contextlib import contextmanager
+from typing import IO
+
+from tuf.api import exceptions
+
+logger = logging.getLogger(__name__)
+
+
+# Classes
+class FetcherInterface(metaclass=abc.ABCMeta):
+    """Defines an interface for abstract network download.
+
+    By providing a concrete implementation of the abstract interface,
+    users of the framework can plug-in their preferred/customized
+    network stack.
+
+    Implementations of FetcherInterface only need to implement ``_fetch()``.
+    The public API of the class is already implemented.
+    """
+
+    @abc.abstractmethod
+    def _fetch(self, url: str) -> Iterator[bytes]:
+        """Fetch the contents of HTTP/HTTPS ``url`` from a remote server.
+
+        Implementations must raise ``DownloadHTTPError`` if they receive
+        an HTTP error code.
+
+        Implementations may raise any errors but the ones that are not
+        ``DownloadErrors`` will be wrapped in a ``DownloadError`` by
+        ``fetch()``.
+
+        Args:
+            url: URL string that represents a file location.
+
+        Raises:
+            exceptions.DownloadHTTPError: HTTP error code was received.
+
+        Returns:
+            Bytes iterator
+        """
+        raise NotImplementedError  # pragma: no cover
+
+    def fetch(self, url: str) -> Iterator[bytes]:
+        """Fetch the contents of HTTP/HTTPS ``url`` from a remote server.
+
+        Args:
+            url: URL string that represents a file location.
+
+        Raises:
+            exceptions.DownloadError: An error occurred during download.
+            exceptions.DownloadHTTPError: An HTTP error code was received.
+
+        Returns:
+            Bytes iterator
+        """
+        # Ensure that fetch() only raises DownloadErrors, regardless of the
+        # fetcher implementation
+        try:
+            return self._fetch(url)
+        except exceptions.DownloadError as e:
+            raise e
+        except Exception as e:
+            raise exceptions.DownloadError(f"Failed to download {url}") from e
+
+    @contextmanager
+    def download_file(self, url: str, max_length: int) -> Iterator[IO]:
+        """Download file from given ``url``.
+
+        It is recommended to use ``download_file()`` within a ``with``
+        block to guarantee that allocated file resources will always
+        be released even if download fails.
+
+        Args:
+            url: URL string that represents the location of the file.
+            max_length: Upper bound of file size in bytes.
+
+        Raises:
+            exceptions.DownloadError: An error occurred during download.
+            exceptions.DownloadLengthMismatchError: Downloaded bytes exceed
+                ``max_length``.
+            exceptions.DownloadHTTPError: An HTTP error code was received.
+
+        Yields:
+            ``TemporaryFile`` object that points to the contents of ``url``.
+        """
+        logger.debug("Downloading: %s", url)
+
+        number_of_bytes_received = 0
+
+        with tempfile.TemporaryFile() as temp_file:
+            chunks = self.fetch(url)
+            for chunk in chunks:
+                number_of_bytes_received += len(chunk)
+                if number_of_bytes_received > max_length:
+                    raise exceptions.DownloadLengthMismatchError(
+                        f"Downloaded {number_of_bytes_received} bytes exceeding"
+                        f" the maximum allowed length of {max_length}"
+                    )
+
+                temp_file.write(chunk)
+
+            logger.debug(
+                "Downloaded %d out of %d bytes",
+                number_of_bytes_received,
+                max_length,
+            )
+
+            temp_file.seek(0)
+            yield temp_file
+
+    def download_bytes(self, url: str, max_length: int) -> bytes:
+        """Download bytes from given ``url``.
+
+        Returns the downloaded bytes, otherwise like ``download_file()``.
+
+        Args:
+            url: URL string that represents the location of the file.
+            max_length: Upper bound of data size in bytes.
+
+        Raises:
+            exceptions.DownloadError: An error occurred during download.
+            exceptions.DownloadLengthMismatchError: Downloaded bytes exceed
+                ``max_length``.
+            exceptions.DownloadHTTPError: An HTTP error code was received.
+
+        Returns:
+            Content of the file in bytes.
+        """
+        with self.download_file(url, max_length) as dl_file:
+            return dl_file.read()
diff --git a/tuf/ngclient/requests_fetcher.py b/tuf/ngclient/requests_fetcher.py
new file mode 100644
index 0000000000..6edc699d9d
--- /dev/null
+++ b/tuf/ngclient/requests_fetcher.py
@@ -0,0 +1,161 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Provides an implementation of ``FetcherInterface`` using the Requests HTTP
+library.
+
+Note that this module is deprecated, and the default fetcher is
+Urllib3Fetcher:
+* RequestsFetcher is still available to make it easy to fall back to
+  previous implementation if issues are found with the Urllib3Fetcher
+* If RequestsFetcher is used, note that `requests` must be explicitly
+  depended on: python-tuf does not do that.
+"""
+
+from __future__ import annotations
+
+import logging
+from typing import TYPE_CHECKING
+from urllib import parse
+
+# Imports
+import requests
+
+import tuf
+from tuf.api import exceptions
+from tuf.ngclient.fetcher import FetcherInterface
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+# Globals
+logger = logging.getLogger(__name__)
+
+
+# Classes
+class RequestsFetcher(FetcherInterface):
+    """An implementation of ``FetcherInterface`` based on the requests library.
+
+    Attributes:
+        socket_timeout: Timeout in seconds, used for both initial connection
+            delay and the maximum delay between bytes received.
+        chunk_size: Chunk size in bytes used when downloading.
+    """
+
+    def __init__(
+        self,
+        socket_timeout: int = 30,
+        chunk_size: int = 400000,
+        app_user_agent: str | None = None,
+    ) -> None:
+        # http://docs.python-requests.org/en/master/user/advanced/#session-objects:
+        #
+        # "The Session object allows you to persist certain parameters across
+        # requests. It also persists cookies across all requests made from the
+        # Session instance, and will use urllib3's connection pooling. So if
+        # you're making several requests to the same host, the underlying TCP
+        # connection will be reused, which can result in a significant
+        # performance increase (see HTTP persistent connection)."
+        #
+        # NOTE: We use a separate requests.Session per scheme+hostname
+        # combination, in order to reuse connections to the same hostname to
+        # improve efficiency, but avoiding sharing state between different
+        # hosts-scheme combinations to minimize subtle security issues.
+        # Some cookies may not be HTTP-safe.
+        self._sessions: dict[tuple[str, str], requests.Session] = {}
+
+        # Default settings
+        self.socket_timeout: int = socket_timeout  # seconds
+        self.chunk_size: int = chunk_size  # bytes
+        self.app_user_agent = app_user_agent
+
+    def _fetch(self, url: str) -> Iterator[bytes]:
+        """Fetch the contents of HTTP/HTTPS url from a remote server.
+
+        Args:
+            url: URL string that represents a file location.
+
+        Raises:
+            exceptions.SlowRetrievalError: Timeout occurs while receiving
+                data.
+            exceptions.DownloadHTTPError: HTTP error code is received.
+
+        Returns:
+            Bytes iterator
+        """
+        # Get a customized session for each new schema+hostname combination.
+        session = self._get_session(url)
+
+        # Get the requests.Response object for this URL.
+        #
+        # Defer downloading the response body with stream=True.
+        # Always set the timeout. This timeout value is interpreted by
+        # requests as:
+        #  - connect timeout (max delay before first byte is received)
+        #  - read (gap) timeout (max delay between bytes received)
+        try:
+            response = session.get(
+                url, stream=True, timeout=self.socket_timeout
+            )
+        except requests.exceptions.Timeout as e:
+            raise exceptions.SlowRetrievalError from e
+
+        # Check response status.
+        try:
+            response.raise_for_status()
+        except requests.HTTPError as e:
+            response.close()
+            status = e.response.status_code
+            raise exceptions.DownloadHTTPError(str(e), status) from e
+
+        return self._chunks(response)
+
+    def _chunks(self, response: requests.Response) -> Iterator[bytes]:
+        """A generator function to be returned by fetch.
+
+        This way the caller of fetch can differentiate between connection
+        and actual data download.
+        """
+
+        try:
+            yield from response.iter_content(self.chunk_size)
+        except (
+            requests.exceptions.ConnectionError,
+            requests.exceptions.Timeout,
+        ) as e:
+            raise exceptions.SlowRetrievalError from e
+
+        finally:
+            response.close()
+
+    def _get_session(self, url: str) -> requests.Session:
+        """Return a different customized requests.Session per schema+hostname
+        combination.
+
+        Raises:
+            exceptions.DownloadError: When there is a problem parsing the url.
+        """
+        # Use a different requests.Session per schema+hostname combination, to
+        # reuse connections while minimizing subtle security issues.
+        parsed_url = parse.urlparse(url)
+
+        if not parsed_url.scheme:
+            raise exceptions.DownloadError(f"Failed to parse URL {url}")
+
+        session_index = (parsed_url.scheme, parsed_url.hostname or "")
+        session = self._sessions.get(session_index)
+
+        if not session:
+            session = requests.Session()
+            self._sessions[session_index] = session
+
+            ua = f"python-tuf/{tuf.__version__} {session.headers['User-Agent']}"
+            if self.app_user_agent is not None:
+                ua = f"{self.app_user_agent} {ua}"
+            session.headers["User-Agent"] = ua
+
+            logger.debug("Made new session %s", session_index)
+        else:
+            logger.debug("Reusing session %s", session_index)
+
+        return session
diff --git a/tuf/ngclient/updater.py b/tuf/ngclient/updater.py
new file mode 100644
index 0000000000..a98e799ce4
--- /dev/null
+++ b/tuf/ngclient/updater.py
@@ -0,0 +1,568 @@
+# Copyright 2020, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Client update workflow implementation.
+
+The ``Updater`` class provides an implementation of the
+`TUF client workflow
+<https://theupdateframework.github.io/specification/latest/#detailed-client-workflow>`_.
+``Updater`` provides an API to query available targets and to download them in a
+secure manner: All downloaded files are verified by signed metadata.
+
+High-level description of ``Updater`` functionality:
+  * Initializing an ``Updater`` loads and validates the trusted local root
+    metadata: This root metadata is used as the source of trust for all other
+    metadata. Updater should always be initialized with the ``bootstrap``
+    argument: if this is not possible, it can be initialized from cache only.
+  * ``refresh()`` can optionally be called to update and load all top-level
+    metadata as described in the specification, using both locally cached
+    metadata and metadata downloaded from the remote repository. If refresh is
+    not done explicitly, it will happen automatically during the first target
+    info lookup.
+  * ``Updater`` can be used to download targets. For each target:
+
+      * ``Updater.get_targetinfo()`` is first used to find information about a
+        specific target. This will load new targets metadata as needed (from
+        local cache or remote repository).
+      * ``Updater.find_cached_target()`` can optionally be used to check if a
+        target file is already locally cached.
+      * ``Updater.download_target()`` downloads a target file and ensures it is
+        verified correct by the metadata.
+
+Note that applications using ``Updater`` should be 'single instance'
+applications: running multiple instances that use the same cache directories at
+the same time is not supported.
+
+A simple example of using the Updater to implement a Python TUF client that
+downloads target files is available in `examples/client
+<https://github.com/theupdateframework/python-tuf/tree/develop/examples/client>`_.
+
+Notes on how Updater uses HTTP by default:
+  * urllib3 is the HTTP library
+  * Typically all requests are retried by urllib3 three times (in cases where
+    this seems useful)
+  * Operating system certificate store is used for TLS, in other words
+    ``certifi`` is not used as the certificate source
+  * Proxy use can be configured with ``https_proxy`` and other similar
+    environment variables
+
+All of the HTTP decisions can be changed with ``fetcher`` argument:
+Custom ``FetcherInterface`` implementations are possible. The alternative
+``RequestsFetcher`` implementation is also provided (although deprecated).
+"""
+
+from __future__ import annotations
+
+import contextlib
+import logging
+import os
+import shutil
+import tempfile
+from pathlib import Path
+from typing import TYPE_CHECKING, cast
+from urllib import parse
+
+from tuf.api import exceptions
+from tuf.api.metadata import Root, Snapshot, TargetFile, Targets, Timestamp
+from tuf.ngclient._internal.trusted_metadata_set import TrustedMetadataSet
+from tuf.ngclient.config import EnvelopeType, UpdaterConfig
+from tuf.ngclient.urllib3_fetcher import Urllib3Fetcher
+
+if TYPE_CHECKING:
+    from tuf.ngclient.fetcher import FetcherInterface
+
+logger = logging.getLogger(__name__)
+
+
+class Updater:
+    """Creates a new ``Updater`` instance and loads trusted root metadata.
+
+    Args:
+        metadata_dir: Local metadata directory. Directory must be
+            writable and it must contain a trusted root.json file
+        metadata_base_url: Base URL for all remote metadata downloads
+        target_dir: Local targets directory. Directory must be writable. It
+            will be used as the default target download directory by
+            ``find_cached_target()`` and ``download_target()``
+        target_base_url: ``Optional``; Default base URL for all remote target
+            downloads. Can be individually set in ``download_target()``
+        fetcher: ``Optional``; ``FetcherInterface`` implementation used to
+            download both metadata and targets. Default is ``Urllib3Fetcher``
+        config: ``Optional``; ``UpdaterConfig`` could be used to setup common
+            configuration options.
+        bootstrap: ``Optional``; initial root metadata. A bootstrap root should
+            always be provided. If it is not, the current root.json in the
+            metadata cache is used as the initial root.
+
+    Raises:
+        OSError: Local root.json cannot be read
+        RepositoryError: Local root.json is invalid
+    """
+
+    def __init__(
+        self,
+        metadata_dir: str,
+        metadata_base_url: str,
+        target_dir: str | None = None,
+        target_base_url: str | None = None,
+        fetcher: FetcherInterface | None = None,
+        config: UpdaterConfig | None = None,
+        bootstrap: bytes | None = None,
+    ):
+        self._dir = metadata_dir
+        self._metadata_base_url = _ensure_trailing_slash(metadata_base_url)
+        self.target_dir = target_dir
+        if target_base_url is None:
+            self._target_base_url = None
+        else:
+            self._target_base_url = _ensure_trailing_slash(target_base_url)
+
+        self.config = config or UpdaterConfig()
+        if fetcher is not None:
+            self._fetcher = fetcher
+        else:
+            self._fetcher = Urllib3Fetcher(
+                app_user_agent=self.config.app_user_agent
+            )
+        supported_envelopes = [EnvelopeType.METADATA, EnvelopeType.SIMPLE]
+        if self.config.envelope_type not in supported_envelopes:
+            raise ValueError(
+                f"config: envelope_type must be one of {supported_envelopes}, "
+                f"got '{self.config.envelope_type}'"
+            )
+
+        if not bootstrap:
+            # if no root was provided, use the cached non-versioned root.json
+            bootstrap = self._load_local_metadata(Root.type)
+
+        # Load the initial root, make sure it's cached
+        self._trusted_set = TrustedMetadataSet(
+            bootstrap, self.config.envelope_type
+        )
+        self._persist_root(self._trusted_set.root.version, bootstrap)
+        self._update_root_symlink()
+
+    def refresh(self) -> None:
+        """Refresh top-level metadata.
+
+        Downloads, verifies, and loads metadata for the top-level roles in the
+        specified order (root -> timestamp -> snapshot -> targets) implementing
+        all the checks required in the TUF client workflow.
+
+        A ``refresh()`` can be done only once during the lifetime of an Updater.
+        If ``refresh()`` has not been explicitly called before the first
+        ``get_targetinfo()`` call, it will be done implicitly at that time.
+
+        The metadata for delegated roles is not updated by ``refresh()``:
+        that happens on demand during ``get_targetinfo()``. However, if the
+        repository uses `consistent_snapshot
+        <https://theupdateframework.github.io/specification/latest/#consistent-snapshots>`_,
+        then all metadata downloaded by the Updater will use the same consistent
+        repository state.
+
+        Raises:
+            OSError: New metadata could not be written to disk
+            RepositoryError: Metadata failed to verify in some way
+            DownloadError: Download of a metadata file failed in some way
+        """
+
+        self._load_root()
+        self._load_timestamp()
+        self._load_snapshot()
+        self._load_targets(Targets.type, Root.type)
+
+    def _generate_target_file_path(self, targetinfo: TargetFile) -> str:
+        if self.target_dir is None:
+            raise ValueError("target_dir must be set if filepath is not given")
+
+        # Use URL encoded target path as filename
+        filename = parse.quote(targetinfo.path, "")
+        return os.path.join(self.target_dir, filename)
+
+    def get_targetinfo(self, target_path: str) -> TargetFile | None:
+        """Return ``TargetFile`` instance with information for ``target_path``.
+
+        The return value can be used as an argument to
+        ``download_target()`` and ``find_cached_target()``.
+
+        If ``refresh()`` has not been called before calling
+        ``get_targetinfo()``, the refresh will be done implicitly.
+
+        As a side-effect this method downloads all the additional (delegated
+        targets) metadata it needs to return the target information.
+
+        Args:
+            target_path: `path-relative-URL string
+                <https://url.spec.whatwg.org/#path-relative-url-string>`_
+                that uniquely identifies the target within the repository.
+
+        Raises:
+            OSError: New metadata could not be written to disk
+            RepositoryError: Metadata failed to verify in some way
+            DownloadError: Download of a metadata file failed in some way
+
+        Returns:
+            ``TargetFile`` instance or ``None``.
+        """
+
+        if Targets.type not in self._trusted_set:
+            self.refresh()
+        return self._preorder_depth_first_walk(target_path)
+
+    def find_cached_target(
+        self,
+        targetinfo: TargetFile,
+        filepath: str | None = None,
+    ) -> str | None:
+        """Check whether a local file is an up to date target.
+
+        Args:
+            targetinfo: ``TargetFile`` from ``get_targetinfo()``.
+            filepath: Local path to file. If ``None``, a file path is
+                generated based on ``target_dir`` constructor argument.
+
+        Raises:
+            ValueError: Incorrect arguments
+
+        Returns:
+            Local file path if the file is an up to date target file.
+            ``None`` if file is not found or it is not up to date.
+        """
+
+        if filepath is None:
+            filepath = self._generate_target_file_path(targetinfo)
+
+        try:
+            with open(filepath, "rb") as target_file:
+                targetinfo.verify_length_and_hashes(target_file)
+            return filepath
+        except (OSError, exceptions.LengthOrHashMismatchError):
+            return None
+
+    def download_target(
+        self,
+        targetinfo: TargetFile,
+        filepath: str | None = None,
+        target_base_url: str | None = None,
+    ) -> str:
+        """Download the target file specified by ``targetinfo``.
+
+        Args:
+            targetinfo: ``TargetFile`` from ``get_targetinfo()``.
+            filepath: Local path to download into. If ``None``, the file is
+                downloaded into directory defined by ``target_dir`` constructor
+                argument using a generated filename. If file already exists,
+                it is overwritten.
+            target_base_url: Base URL used to form the final target
+                download URL. Default is the value provided in ``Updater()``
+
+        Raises:
+            ValueError: Invalid arguments
+            DownloadError: Download of the target file failed in some way
+            RepositoryError: Downloaded target failed to be verified in some way
+            OSError: Failed to write target to file
+
+        Returns:
+            Local path to downloaded file
+        """
+
+        if filepath is None:
+            filepath = self._generate_target_file_path(targetinfo)
+        Path(filepath).parent.mkdir(exist_ok=True, parents=True)
+
+        if target_base_url is None:
+            if self._target_base_url is None:
+                raise ValueError(
+                    "target_base_url must be set in either "
+                    "download_target() or constructor"
+                )
+
+            target_base_url = self._target_base_url
+        else:
+            target_base_url = _ensure_trailing_slash(target_base_url)
+
+        target_filepath = targetinfo.path
+        consistent_snapshot = self._trusted_set.root.consistent_snapshot
+        if consistent_snapshot and self.config.prefix_targets_with_hash:
+            hashes = list(targetinfo.hashes.values())
+            dirname, sep, basename = target_filepath.rpartition("/")
+            target_filepath = f"{dirname}{sep}{hashes[0]}.{basename}"
+        full_url = f"{target_base_url}{target_filepath}"
+
+        with self._fetcher.download_file(
+            full_url, targetinfo.length
+        ) as target_file:
+            targetinfo.verify_length_and_hashes(target_file)
+
+            target_file.seek(0)
+            with open(filepath, "wb") as destination_file:
+                shutil.copyfileobj(target_file, destination_file)
+
+        logger.debug("Downloaded target %s", targetinfo.path)
+        return filepath
+
+    def _download_metadata(
+        self, rolename: str, length: int, version: int | None = None
+    ) -> bytes:
+        """Download a metadata file and return it as bytes."""
+        encoded_name = parse.quote(rolename, "")
+        if version is None:
+            url = f"{self._metadata_base_url}{encoded_name}.json"
+        else:
+            url = f"{self._metadata_base_url}{version}.{encoded_name}.json"
+        return self._fetcher.download_bytes(url, length)
+
+    def _load_local_metadata(self, rolename: str) -> bytes:
+        encoded_name = parse.quote(rolename, "")
+        with open(os.path.join(self._dir, f"{encoded_name}.json"), "rb") as f:
+            return f.read()
+
+    def _persist_metadata(self, rolename: str, data: bytes) -> None:
+        """Write metadata to disk atomically to avoid data loss.
+
+        Use a filename _not_ prefixed with version (e.g. "timestamp.json")
+        . Encode the rolename to avoid issues with e.g. path separators
+        """
+
+        encoded_name = parse.quote(rolename, "")
+        filename = os.path.join(self._dir, f"{encoded_name}.json")
+        self._persist_file(filename, data)
+
+    def _persist_root(self, version: int, data: bytes) -> None:
+        """Write root metadata to disk atomically to avoid data loss.
+
+        The metadata is stored with version prefix (e.g.
+        "root_history/1.root.json").
+        """
+        rootdir = Path(self._dir, "root_history")
+        rootdir.mkdir(exist_ok=True, parents=True)
+        self._persist_file(str(rootdir / f"{version}.root.json"), data)
+
+    def _persist_file(self, filename: str, data: bytes) -> None:
+        """Write a file to disk atomically to avoid data loss."""
+        temp_file_name = None
+
+        try:
+            with tempfile.NamedTemporaryFile(
+                dir=self._dir, delete=False
+            ) as temp_file:
+                temp_file_name = temp_file.name
+                temp_file.write(data)
+            os.replace(temp_file.name, filename)
+        except OSError as e:
+            # remove tempfile if we managed to create one,
+            # then let the exception happen
+            if temp_file_name is not None:
+                with contextlib.suppress(FileNotFoundError):
+                    os.remove(temp_file_name)
+            raise e
+
+    def _update_root_symlink(self) -> None:
+        """Symlink root.json to current trusted root version in root_history/"""
+        linkname = os.path.join(self._dir, "root.json")
+        version = self._trusted_set.root.version
+        current = os.path.join("root_history", f"{version}.root.json")
+        with contextlib.suppress(FileNotFoundError):
+            os.remove(linkname)
+        os.symlink(current, linkname)
+
+    def _load_root(self) -> None:
+        """Load root metadata.
+
+        Sequentially load newer root metadata versions. First try to load from
+        local cache and if that does not work, from the remote repository.
+
+        If metadata is loaded from remote repository, store it in local cache.
+        """
+
+        # Update the root role
+        lower_bound = self._trusted_set.root.version + 1
+        upper_bound = lower_bound + self.config.max_root_rotations
+
+        try:
+            for next_version in range(lower_bound, upper_bound):
+                # look for next_version in local cache
+                try:
+                    root_path = os.path.join(
+                        self._dir, "root_history", f"{next_version}.root.json"
+                    )
+                    with open(root_path, "rb") as f:
+                        self._trusted_set.update_root(f.read())
+                    continue
+                except (OSError, exceptions.RepositoryError) as e:
+                    # this root did not exist locally or is invalid
+                    logger.debug("Local root is not valid: %s", e)
+
+                # next_version was not found locally, try remote
+                try:
+                    data = self._download_metadata(
+                        Root.type,
+                        self.config.root_max_length,
+                        next_version,
+                    )
+                    self._trusted_set.update_root(data)
+                    self._persist_root(next_version, data)
+
+                except exceptions.DownloadHTTPError as exception:
+                    if exception.status_code not in {403, 404}:
+                        raise
+                    # 404/403 means current root is newest available
+                    break
+        finally:
+            # Make sure the non-versioned root.json links to current version
+            self._update_root_symlink()
+
+    def _load_timestamp(self) -> None:
+        """Load local and remote timestamp metadata."""
+        try:
+            data = self._load_local_metadata(Timestamp.type)
+            self._trusted_set.update_timestamp(data)
+        except (OSError, exceptions.RepositoryError) as e:
+            # Local timestamp does not exist or is invalid
+            logger.debug("Local timestamp not valid as final: %s", e)
+
+        # Load from remote (whether local load succeeded or not)
+        data = self._download_metadata(
+            Timestamp.type, self.config.timestamp_max_length
+        )
+        try:
+            self._trusted_set.update_timestamp(data)
+        except exceptions.EqualVersionNumberError:
+            # If the new timestamp version is the same as current, discard the
+            # new timestamp. This is normal and it shouldn't raise any error.
+            return
+
+        self._persist_metadata(Timestamp.type, data)
+
+    def _load_snapshot(self) -> None:
+        """Load local (and if needed remote) snapshot metadata."""
+        try:
+            data = self._load_local_metadata(Snapshot.type)
+            self._trusted_set.update_snapshot(data, trusted=True)
+            logger.debug("Local snapshot is valid: not downloading new one")
+        except (OSError, exceptions.RepositoryError) as e:
+            # Local snapshot does not exist or is invalid: update from remote
+            logger.debug("Local snapshot not valid as final: %s", e)
+
+            snapshot_meta = self._trusted_set.timestamp.snapshot_meta
+            length = snapshot_meta.length or self.config.snapshot_max_length
+            version = None
+            if self._trusted_set.root.consistent_snapshot:
+                version = snapshot_meta.version
+
+            data = self._download_metadata(Snapshot.type, length, version)
+            self._trusted_set.update_snapshot(data)
+            self._persist_metadata(Snapshot.type, data)
+
+    def _load_targets(self, role: str, parent_role: str) -> Targets:
+        """Load local (and if needed remote) metadata for ``role``."""
+
+        # Avoid loading 'role' more than once during "get_targetinfo"
+        if role in self._trusted_set:
+            return cast("Targets", self._trusted_set[role])
+
+        try:
+            data = self._load_local_metadata(role)
+            delegated_targets = self._trusted_set.update_delegated_targets(
+                data, role, parent_role
+            )
+            logger.debug("Local %s is valid: not downloading new one", role)
+            return delegated_targets
+        except (OSError, exceptions.RepositoryError) as e:
+            # Local 'role' does not exist or is invalid: update from remote
+            logger.debug("Failed to load local %s: %s", role, e)
+
+            snapshot = self._trusted_set.snapshot
+            metainfo = snapshot.meta.get(f"{role}.json")
+            if metainfo is None:
+                raise exceptions.RepositoryError(
+                    f"Role {role} was delegated but is not part of snapshot"
+                ) from None
+
+            length = metainfo.length or self.config.targets_max_length
+            version = None
+            if self._trusted_set.root.consistent_snapshot:
+                version = metainfo.version
+
+            data = self._download_metadata(role, length, version)
+            delegated_targets = self._trusted_set.update_delegated_targets(
+                data, role, parent_role
+            )
+            self._persist_metadata(role, data)
+
+            return delegated_targets
+
+    def _preorder_depth_first_walk(
+        self, target_filepath: str
+    ) -> TargetFile | None:
+        """
+        Interrogates the tree of target delegations in order of appearance
+        (which implicitly order trustworthiness), and returns the matching
+        target found in the most trusted role.
+        """
+
+        # List of delegations to be interrogated. A (role, parent role) pair
+        # is needed to load and verify the delegated targets metadata.
+        delegations_to_visit = [(Targets.type, Root.type)]
+        visited_role_names: set[str] = set()
+
+        # Preorder depth-first traversal of the graph of target delegations.
+        while (
+            len(visited_role_names) <= self.config.max_delegations
+            and len(delegations_to_visit) > 0
+        ):
+            # Pop the role name from the top of the stack.
+            role_name, parent_role = delegations_to_visit.pop(-1)
+
+            # Skip any visited current role to prevent cycles.
+            if role_name in visited_role_names:
+                logger.debug("Skipping visited current role %s", role_name)
+                continue
+
+            # The metadata for 'role_name' must be downloaded/updated before
+            # its targets, delegations, and child roles can be inspected.
+            targets = self._load_targets(role_name, parent_role)
+
+            target = targets.targets.get(target_filepath)
+
+            if target is not None:
+                logger.debug("Found target in current role %s", role_name)
+                return target
+
+            # After preorder check, add current role to set of visited roles.
+            visited_role_names.add(role_name)
+
+            if targets.delegations is not None:
+                child_roles_to_visit = []
+                # NOTE: This may be a slow operation if there are many
+                # delegated roles.
+                for (
+                    child_name,
+                    terminating,
+                ) in targets.delegations.get_roles_for_target(target_filepath):
+                    logger.debug("Adding child role %s", child_name)
+                    child_roles_to_visit.append((child_name, role_name))
+                    if terminating:
+                        logger.debug("Not backtracking to other roles")
+                        delegations_to_visit = []
+                        break
+                # Push 'child_roles_to_visit' in reverse order of appearance
+                # onto 'delegations_to_visit'.  Roles are popped from the end of
+                # the list.
+                child_roles_to_visit.reverse()
+                delegations_to_visit.extend(child_roles_to_visit)
+
+        if len(delegations_to_visit) > 0:
+            logger.debug(
+                "%d roles left to visit, but allowed at most %d delegations",
+                len(delegations_to_visit),
+                self.config.max_delegations,
+            )
+
+        # If this point is reached then target is not found, return None
+        return None
+
+
+def _ensure_trailing_slash(url: str) -> str:
+    """Return url guaranteed to end in a slash."""
+    return url if url.endswith("/") else f"{url}/"
diff --git a/tuf/ngclient/urllib3_fetcher.py b/tuf/ngclient/urllib3_fetcher.py
new file mode 100644
index 0000000000..88d447bd30
--- /dev/null
+++ b/tuf/ngclient/urllib3_fetcher.py
@@ -0,0 +1,111 @@
+# Copyright 2021, New York University and the TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Provides an implementation of ``FetcherInterface`` using the urllib3 HTTP
+library.
+"""
+
+from __future__ import annotations
+
+import logging
+from typing import TYPE_CHECKING
+
+# Imports
+import urllib3
+
+import tuf
+from tuf.api import exceptions
+from tuf.ngclient._internal.proxy import ProxyEnvironment
+from tuf.ngclient.fetcher import FetcherInterface
+
+if TYPE_CHECKING:
+    from collections.abc import Iterator
+
+# Globals
+logger = logging.getLogger(__name__)
+
+
+# Classes
+class Urllib3Fetcher(FetcherInterface):
+    """An implementation of ``FetcherInterface`` based on the urllib3 library.
+
+    Attributes:
+        socket_timeout: Timeout in seconds, used for both initial connection
+            delay and the maximum delay between bytes received.
+        chunk_size: Chunk size in bytes used when downloading.
+    """
+
+    def __init__(
+        self,
+        socket_timeout: int = 30,
+        chunk_size: int = 400000,
+        app_user_agent: str | None = None,
+    ) -> None:
+        # Default settings
+        self.socket_timeout: int = socket_timeout  # seconds
+        self.chunk_size: int = chunk_size  # bytes
+
+        # Create User-Agent.
+        ua = f"python-tuf/{tuf.__version__}"
+        if app_user_agent is not None:
+            ua = f"{app_user_agent} {ua}"
+
+        self._proxy_env = ProxyEnvironment(headers={"User-Agent": ua})
+
+    def _fetch(self, url: str) -> Iterator[bytes]:
+        """Fetch the contents of HTTP/HTTPS url from a remote server.
+
+        Args:
+            url: URL string that represents a file location.
+
+        Raises:
+            exceptions.SlowRetrievalError: Timeout occurs while receiving
+                data.
+            exceptions.DownloadHTTPError: HTTP error code is received.
+
+        Returns:
+            Bytes iterator
+        """
+
+        # Defer downloading the response body with preload_content=False.
+        # Always set the timeout. This timeout value is interpreted by
+        # urllib3 as:
+        #  - connect timeout (max delay before first byte is received)
+        #  - read (gap) timeout (max delay between bytes received)
+        try:
+            response = self._proxy_env.request(
+                "GET",
+                url,
+                preload_content=False,
+                timeout=urllib3.Timeout(self.socket_timeout),
+            )
+        except urllib3.exceptions.MaxRetryError as e:
+            if isinstance(e.reason, urllib3.exceptions.TimeoutError):
+                raise exceptions.SlowRetrievalError from e
+
+        if response.status >= 400:
+            response.close()
+            raise exceptions.DownloadHTTPError(
+                f"HTTP error occurred with status {response.status}",
+                response.status,
+            )
+
+        return self._chunks(response)
+
+    def _chunks(
+        self, response: urllib3.response.BaseHTTPResponse
+    ) -> Iterator[bytes]:
+        """A generator function to be returned by fetch.
+
+        This way the caller of fetch can differentiate between connection
+        and actual data download.
+        """
+
+        try:
+            yield from response.stream(self.chunk_size)
+        except urllib3.exceptions.MaxRetryError as e:
+            if isinstance(e.reason, urllib3.exceptions.TimeoutError):
+                raise exceptions.SlowRetrievalError from e
+
+        finally:
+            response.release_conn()
diff --git a/.gitmodules b/tuf/py.typed
similarity index 100%
rename from .gitmodules
rename to tuf/py.typed
diff --git a/tuf/repository/__init__.py b/tuf/repository/__init__.py
new file mode 100644
index 0000000000..4c4032976a
--- /dev/null
+++ b/tuf/repository/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Repository API: A helper library for repository implementations
+
+This module is intended to make any "metadata editing" applications easier to
+implement: this includes repository applications, CI integration components as
+well as developer and signing tools.
+
+The repository module is not considered part of the stable python-tuf API yet.
+"""
+
+from tuf.repository._repository import AbortEdit, Repository  # noqa: F401
diff --git a/tuf/repository/_repository.py b/tuf/repository/_repository.py
new file mode 100644
index 0000000000..a6c5de1ea4
--- /dev/null
+++ b/tuf/repository/_repository.py
@@ -0,0 +1,277 @@
+# Copyright 2021-2022 python-tuf contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""Repository Abstraction for metadata management"""
+
+from __future__ import annotations
+
+import logging
+from abc import ABC, abstractmethod
+from contextlib import contextmanager, suppress
+from copy import deepcopy
+from typing import TYPE_CHECKING
+
+from tuf.api.exceptions import UnsignedMetadataError
+from tuf.api.metadata import (
+    Metadata,
+    MetaFile,
+    Root,
+    Signed,
+    Snapshot,
+    Targets,
+    Timestamp,
+)
+
+if TYPE_CHECKING:
+    from collections.abc import Generator
+
+logger = logging.getLogger(__name__)
+
+
+class AbortEdit(Exception):  # noqa: N818
+    """Raise to exit the edit() contextmanager without saving changes"""
+
+
+class Repository(ABC):
+    """Abstract class for metadata modifying implementations
+
+    NOTE: The repository module is not considered part of the python-tuf
+    stable API yet.
+
+    This class is intended to be a base class used in any metadata editing
+    application, whether it is a real repository server or a developer tool.
+
+    Implementations must implement open() and close(), and can then use the
+    edit() contextmanager to implement actual operations. Note that signing
+    an already existing version of metadata (as could be done for threshold
+    signing) does not fit into this model of open()+close() or edit().
+
+    A few operations (snapshot and timestamp) are already implemented
+    in this base class.
+    """
+
+    @abstractmethod
+    def open(self, role: str) -> Metadata:
+        """Load a roles metadata from storage or cache, return it
+
+        If role has no metadata, create first version from scratch.
+        """
+        raise NotImplementedError
+
+    @abstractmethod
+    def close(self, role: str, md: Metadata) -> None:
+        """Write roles metadata into storage
+
+        Update expiry and version and replace signatures with ones from all
+        available keys. Keep snapshot_info and targets_infos updated.
+        """
+        raise NotImplementedError
+
+    @property
+    def targets_infos(self) -> dict[str, MetaFile]:
+        """Returns the MetaFiles for current targets metadatas
+
+        This property is used by do_snapshot() to update Snapshot.meta:
+        Repository implementations should override this property to enable
+        do_snapshot().
+
+        Note that there is a difference between this return value and
+        Snapshot.meta: This dictionary reflects the targets metadata that
+        currently exists in the repository but Snapshot.meta also includes
+        metadata that used to exist, but no longer exists, in the repository.
+        """
+        raise NotImplementedError
+
+    @property
+    def snapshot_info(self) -> MetaFile:
+        """Returns the MetaFile for current snapshot metadata
+
+        This property is used by do_timestamp() to update Timestamp.meta:
+        Repository implementations should override this property to enable
+        do_timestamp().
+        """
+        raise NotImplementedError
+
+    @contextmanager
+    def edit(self, role: str) -> Generator[Signed, None, None]:
+        """Context manager for editing a role's metadata
+
+        Context manager takes care of loading the roles metadata (or creating
+        new metadata), updating expiry and version. The caller can do
+        other changes to the Signed object and when the context manager exits,
+        a new version of the roles metadata is stored.
+
+        Context manager user can raise AbortEdit from inside the with-block to
+        cancel the edit: in this case none of the changes are stored.
+        """
+        md = self.open(role)
+        with suppress(AbortEdit):
+            yield md.signed
+            self.close(role, md)
+
+    @contextmanager
+    def edit_root(self) -> Generator[Root, None, None]:
+        """Context manager for editing root metadata. See edit()"""
+        with self.edit(Root.type) as root:
+            if not isinstance(root, Root):
+                raise AssertionError("Unexpected root type")
+            yield root
+
+    @contextmanager
+    def edit_timestamp(self) -> Generator[Timestamp, None, None]:
+        """Context manager for editing timestamp metadata. See edit()"""
+        with self.edit(Timestamp.type) as timestamp:
+            if not isinstance(timestamp, Timestamp):
+                raise AssertionError("Unexpected timestamp type")
+            yield timestamp
+
+    @contextmanager
+    def edit_snapshot(self) -> Generator[Snapshot, None, None]:
+        """Context manager for editing snapshot metadata. See edit()"""
+        with self.edit(Snapshot.type) as snapshot:
+            if not isinstance(snapshot, Snapshot):
+                raise AssertionError("Unexpected snapshot type")
+            yield snapshot
+
+    @contextmanager
+    def edit_targets(
+        self, rolename: str = Targets.type
+    ) -> Generator[Targets, None, None]:
+        """Context manager for editing targets metadata. See edit()"""
+        with self.edit(rolename) as targets:
+            if not isinstance(targets, Targets):
+                raise AssertionError(f"Unexpected targets ({rolename}) type")
+            yield targets
+
+    def root(self) -> Root:
+        """Read current root metadata"""
+        root = self.open(Root.type).signed
+        if not isinstance(root, Root):
+            raise AssertionError("Unexpected root type")
+        return root
+
+    def timestamp(self) -> Timestamp:
+        """Read current timestamp metadata"""
+        timestamp = self.open(Timestamp.type).signed
+        if not isinstance(timestamp, Timestamp):
+            raise AssertionError("Unexpected timestamp type")
+        return timestamp
+
+    def snapshot(self) -> Snapshot:
+        """Read current snapshot metadata"""
+        snapshot = self.open(Snapshot.type).signed
+        if not isinstance(snapshot, Snapshot):
+            raise AssertionError("Unexpected snapshot type")
+        return snapshot
+
+    def targets(self, rolename: str = Targets.type) -> Targets:
+        """Read current targets metadata"""
+        targets = self.open(rolename).signed
+        if not isinstance(targets, Targets):
+            raise AssertionError("Unexpected targets type")
+        return targets
+
+    def do_snapshot(
+        self, force: bool = False
+    ) -> tuple[bool, dict[str, MetaFile]]:
+        """Update snapshot meta information
+
+        Updates the snapshot meta information according to current targets
+        metadata state and the current snapshot meta information.
+
+        Arguments:
+            force: should new snapshot version be created even if meta
+                information would not change?
+
+        Returns: Tuple of
+            - True if snapshot was created, False if not
+            - MetaFiles for targets versions removed from snapshot meta
+        """
+
+        # Snapshot update is needed if
+        # * any targets files are not yet in snapshot or
+        # * any targets version is incorrect
+        update_version = force
+        removed: dict[str, MetaFile] = {}
+
+        root = self.root()
+        snapshot_md = self.open(Snapshot.type)
+
+        try:
+            root.verify_delegate(
+                Snapshot.type,
+                snapshot_md.signed_bytes,
+                snapshot_md.signatures,
+            )
+        except UnsignedMetadataError:
+            update_version = True
+
+        with self.edit_snapshot() as snapshot:
+            for keyname, new_meta in self.targets_infos.items():
+                if keyname not in snapshot.meta:
+                    update_version = True
+                    snapshot.meta[keyname] = deepcopy(new_meta)
+                    continue
+
+                old_meta = snapshot.meta[keyname]
+                if new_meta.version < old_meta.version:
+                    raise ValueError(f"{keyname} version rollback")
+                if new_meta.version > old_meta.version:
+                    update_version = True
+                    snapshot.meta[keyname] = deepcopy(new_meta)
+                    removed[keyname] = old_meta
+
+            if not update_version:
+                # prevent edit_snapshot() from storing a new version
+                raise AbortEdit("Skip snapshot: No targets version changes")
+
+        if not update_version:
+            # this is reachable as edit_snapshot() handles AbortEdit
+            logger.debug("Snapshot update not needed")  # type: ignore[unreachable]
+        else:
+            logger.debug("Snapshot v%d", snapshot.version)
+
+        return update_version, removed
+
+    def do_timestamp(self, force: bool = False) -> tuple[bool, MetaFile | None]:
+        """Update timestamp meta information
+
+        Updates timestamp according to current snapshot state
+
+        Returns: Tuple of
+            - True if timestamp was created, False if not
+            - MetaFile for snapshot version removed from timestamp (if any)
+        """
+        update_version = force
+        removed = None
+
+        root = self.root()
+        timestamp_md = self.open(Timestamp.type)
+
+        try:
+            root.verify_delegate(
+                Timestamp.type,
+                timestamp_md.signed_bytes,
+                timestamp_md.signatures,
+            )
+        except UnsignedMetadataError:
+            update_version = True
+
+        with self.edit_timestamp() as timestamp:
+            if self.snapshot_info.version < timestamp.snapshot_meta.version:
+                raise ValueError("snapshot version rollback")
+
+            if self.snapshot_info.version > timestamp.snapshot_meta.version:
+                update_version = True
+                removed = timestamp.snapshot_meta
+                timestamp.snapshot_meta = deepcopy(self.snapshot_info)
+
+            if not update_version:
+                raise AbortEdit("Skip timestamp: No snapshot version changes")
+
+        if not update_version:
+            # this is reachable as edit_timestamp() handles AbortEdit
+            logger.debug("Timestamp update not needed")  # type: ignore[unreachable]
+        else:
+            logger.debug("Timestamp v%d", timestamp.version)
+        return update_version, removed
diff --git a/tuf/repository_lib.py b/tuf/repository_lib.py
deleted file mode 100644
index 1f64f66413..0000000000
--- a/tuf/repository_lib.py
+++ /dev/null
@@ -1,2314 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2014 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  repository_lib.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  June 1, 2014.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provide a library for the repository tool that can create a TUF repository.
-  The repository tool can be used with the Python interpreter in interactive
-  mode, or imported directly into a Python module.  See 'tuf/README' for the
-  complete guide to using 'tuf.repository_tool.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import errno
-import time
-import logging
-import shutil
-import json
-import tempfile
-
-import tuf
-import tuf.formats
-import tuf.exceptions
-import tuf.keydb
-import tuf.roledb
-import tuf.sig
-import tuf.log
-import tuf.settings
-
-import securesystemslib
-import securesystemslib.hash
-import securesystemslib.interface
-import securesystemslib.util
-import six
-
-import securesystemslib.storage
-
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# The extension of TUF metadata.
-METADATA_EXTENSION = '.json'
-
-# The targets and metadata directory names.  Metadata files are written
-# to the staged metadata directory instead of the "live" one.
-METADATA_STAGED_DIRECTORY_NAME = 'metadata.staged'
-METADATA_DIRECTORY_NAME = 'metadata'
-TARGETS_DIRECTORY_NAME = 'targets'
-
-# The metadata filenames of the top-level roles.
-ROOT_FILENAME = 'root' + METADATA_EXTENSION
-TARGETS_FILENAME = 'targets' + METADATA_EXTENSION
-SNAPSHOT_FILENAME = 'snapshot' + METADATA_EXTENSION
-TIMESTAMP_FILENAME = 'timestamp' + METADATA_EXTENSION
-
-# Log warning when metadata expires in n days, or less.
-# root = 1 month, snapshot = 1 day, targets = 10 days, timestamp = 1 day.
-ROOT_EXPIRES_WARN_SECONDS = 2630000
-SNAPSHOT_EXPIRES_WARN_SECONDS = 86400
-TARGETS_EXPIRES_WARN_SECONDS = 864000
-TIMESTAMP_EXPIRES_WARN_SECONDS = 86400
-
-# Supported key types.
-SUPPORTED_KEY_TYPES = ['rsa', 'ed25519', 'ecdsa-sha2-nistp256']
-
-# The algorithm used by the repository to generate the path hash prefixes
-# of hashed bin delegations.  Please see delegate_hashed_bins()
-HASH_FUNCTION = tuf.settings.DEFAULT_HASH_ALGORITHM
-
-
-
-
-def _generate_and_write_metadata(rolename, metadata_filename,
-  targets_directory, metadata_directory, storage_backend,
-  consistent_snapshot=False, filenames=None, allow_partially_signed=False,
-  increment_version_number=True, repository_name='default',
-  use_existing_fileinfo=False, use_timestamp_length=True,
-  use_timestamp_hashes=True, use_snapshot_length=False,
-  use_snapshot_hashes=False):
-  """
-  Non-public function that can generate and write the metadata for the
-  specified 'rolename'.  It also increments the version number of 'rolename' if
-  the 'increment_version_number' argument is True.
-  """
-
-  metadata = None
-
-  # Retrieve the roleinfo of 'rolename' to extract the needed metadata
-  # attributes, such as version number, expiration, etc.
-  roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-  previous_keyids = roleinfo.get('previous_keyids', [])
-  previous_threshold = roleinfo.get('previous_threshold', 1)
-  signing_keyids = sorted(set(roleinfo['signing_keyids']))
-
-  # Generate the appropriate role metadata for 'rolename'.
-  if rolename == 'root':
-    metadata = generate_root_metadata(roleinfo['version'], roleinfo['expires'],
-        consistent_snapshot, repository_name)
-
-    _log_warning_if_expires_soon(ROOT_FILENAME, roleinfo['expires'],
-                                 ROOT_EXPIRES_WARN_SECONDS)
-
-
-
-  elif rolename == 'snapshot':
-    metadata = generate_snapshot_metadata(metadata_directory,
-        roleinfo['version'], roleinfo['expires'],
-        storage_backend, consistent_snapshot, repository_name,
-        use_length=use_snapshot_length, use_hashes=use_snapshot_hashes)
-
-
-    _log_warning_if_expires_soon(SNAPSHOT_FILENAME, roleinfo['expires'],
-        SNAPSHOT_EXPIRES_WARN_SECONDS)
-
-  elif rolename == 'timestamp':
-    # If filenames don't have "snapshot_filename" key, defaults to "snapshot.json"
-    snapshot_file_path = (filenames and filenames['snapshot']) \
-        or SNAPSHOT_FILENAME
-
-    metadata = generate_timestamp_metadata(snapshot_file_path, roleinfo['version'],
-        roleinfo['expires'], storage_backend, repository_name,
-        use_length=use_timestamp_length, use_hashes=use_timestamp_hashes)
-
-    _log_warning_if_expires_soon(TIMESTAMP_FILENAME, roleinfo['expires'],
-        TIMESTAMP_EXPIRES_WARN_SECONDS)
-
-  # All other roles are either the top-level 'targets' role, or
-  # a delegated role.
-  else:
-    # Only print a warning if the top-level 'targets' role expires soon.
-    if rolename == 'targets':
-      _log_warning_if_expires_soon(TARGETS_FILENAME, roleinfo['expires'],
-          TARGETS_EXPIRES_WARN_SECONDS)
-
-    # Don't hash-prefix consistent target files if they are handled out of band
-    consistent_targets = consistent_snapshot and not use_existing_fileinfo
-
-    metadata = generate_targets_metadata(targets_directory,
-        roleinfo['paths'], roleinfo['version'], roleinfo['expires'],
-        roleinfo['delegations'], consistent_targets, use_existing_fileinfo,
-        storage_backend, repository_name)
-
-    # Update roledb with the latest delegations info collected during
-    # generate_targets_metadata()
-    tuf.roledb.update_roleinfo(rolename, roleinfo,
-        repository_name=repository_name)
-
-
-  # Before writing 'rolename' to disk, automatically increment its version
-  # number (if 'increment_version_number' is True) so that the caller does not
-  # have to manually perform this action.  The version number should be
-  # incremented in both the metadata file and roledb (required so that Snapshot
-  # references the latest version).
-
-  # Store the 'current_version' in case the version number must be restored
-  # (e.g., if 'rolename' cannot be written to disk because its metadata is not
-  # properly signed).
-  current_version = metadata['version']
-  if increment_version_number:
-    roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-    metadata['version'] = metadata['version'] + 1
-    roleinfo['version'] = roleinfo['version'] + 1
-    tuf.roledb.update_roleinfo(rolename, roleinfo,
-        repository_name=repository_name)
-
-  else:
-    logger.debug('Not incrementing ' + repr(rolename) + '\'s version number.')
-
-  if rolename in tuf.roledb.TOP_LEVEL_ROLES and not allow_partially_signed:
-    # Verify that the top-level 'rolename' is fully signed.  Only a delegated
-    # role should not be written to disk without full verification of its
-    # signature(s), since it can only be considered fully signed depending on
-    # the delegating role.
-    signable = sign_metadata(metadata, signing_keyids, metadata_filename,
-        repository_name)
-
-
-    def should_write():
-      # Root must be signed by its previous keys and threshold.
-      if rolename == 'root' and len(previous_keyids) > 0:
-        if not tuf.sig.verify(signable, rolename, repository_name,
-            previous_threshold, previous_keyids):
-          return False
-
-        else:
-          logger.debug('Root is signed by a threshold of its previous keyids.')
-
-      # In the normal case, we should write metadata if the threshold is met.
-      return tuf.sig.verify(signable, rolename, repository_name,
-          roleinfo['threshold'], roleinfo['signing_keyids'])
-
-
-    if should_write():
-      _remove_invalid_and_duplicate_signatures(signable, repository_name)
-
-      # Root should always be written as if consistent_snapshot is True (i.e.,
-      # write <version>.root.json and root.json to disk).
-      if rolename == 'root':
-        consistent_snapshot = True
-      filename = write_metadata_file(signable, metadata_filename,
-          metadata['version'], consistent_snapshot, storage_backend)
-
-    # 'signable' contains an invalid threshold of signatures.
-    else:
-      # Since new metadata cannot be successfully written, restore the current
-      # version number.
-      roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-      roleinfo['version'] = current_version
-      tuf.roledb.update_roleinfo(rolename, roleinfo,
-          repository_name=repository_name)
-
-      # Note that 'signable' is an argument to tuf.UnsignedMetadataError().
-      raise tuf.exceptions.UnsignedMetadataError('Not enough'
-          ' signatures for ' + repr(metadata_filename), signable)
-
-  # 'rolename' is a delegated role or a top-level role that is partially
-  # signed, and thus its signatures should not be verified.
-  else:
-    signable = sign_metadata(metadata, signing_keyids, metadata_filename,
-        repository_name)
-    _remove_invalid_and_duplicate_signatures(signable, repository_name)
-
-    # Root should always be written as if consistent_snapshot is True (i.e.,
-    # <version>.root.json and root.json).
-    if rolename == 'root':
-      filename = write_metadata_file(signable, metadata_filename,
-          metadata['version'], consistent_snapshot=True,
-          storage_backend=storage_backend)
-
-    else:
-      filename = write_metadata_file(signable, metadata_filename,
-          metadata['version'], consistent_snapshot, storage_backend)
-
-  return signable, filename
-
-
-
-
-
-def _metadata_is_partially_loaded(rolename, signable, repository_name):
-  """
-  Non-public function that determines whether 'rolename' is loaded with
-  at least zero good signatures, but an insufficient threshold (which means
-  'rolename' was written to disk with repository.write_partial()).  A repository
-  maintainer may write partial metadata without including a valid signature.
-  However, the final repository.write() must include a threshold number of
-  signatures.
-
-  If 'rolename' is found to be partially loaded, mark it as partially loaded in
-  its 'tuf.roledb' roleinfo.  This function exists to assist in deciding whether
-  a role's version number should be incremented when write() or write_parital()
-  is called.  Return True if 'rolename' was partially loaded, False otherwise.
-  """
-
-  # The signature status lists the number of good signatures, including
-  # bad, untrusted, unknown, etc.
-  status = tuf.sig.get_signature_status(signable, rolename, repository_name)
-
-  if len(status['good_sigs']) < status['threshold'] and \
-                                                  len(status['good_sigs']) >= 0:
-    return True
-
-  else:
-    return False
-
-
-
-
-
-def _check_role_keys(rolename, repository_name):
-  """
-  Non-public function that verifies the public and signing keys of 'rolename'.
-  If either contain an invalid threshold of keys, raise an exception.
-  """
-
-  # Extract the total number of public and private keys of 'rolename' from its
-  # roleinfo in 'tuf.roledb'.
-  roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-  total_keyids = len(roleinfo['keyids'])
-  threshold = roleinfo['threshold']
-  total_signatures = len(roleinfo['signatures'])
-  total_signing_keys = len(roleinfo['signing_keyids'])
-
-  # Raise an exception for an invalid threshold of public keys.
-  if total_keyids < threshold:
-    raise tuf.exceptions.InsufficientKeysError(repr(rolename) + ' role contains'
-      ' ' + repr(total_keyids) + ' / ' + repr(threshold) + ' public keys.')
-
-  # Raise an exception for an invalid threshold of signing keys.
-  if total_signatures == 0 and total_signing_keys < threshold:
-    raise tuf.exceptions.InsufficientKeysError(repr(rolename) + ' role contains'
-      ' ' + repr(total_signing_keys) + ' / ' + repr(threshold) + ' signing keys.')
-
-
-
-
-
-def _remove_invalid_and_duplicate_signatures(signable, repository_name):
-  """
-    Non-public function that removes invalid or duplicate signatures from
-    'signable'.  'signable' may contain signatures (invalid) from previous
-    versions of the metadata that were loaded with load_repository().  Invalid,
-    or duplicate signatures, are removed from 'signable'.
-  """
-
-  # Store the keyids of valid signatures.  'signature_keyids' is checked for
-  # duplicates rather than comparing signature objects because PSS may generate
-  # duplicate valid signatures for the same data, yet contain different
-  # signatures.
-  signature_keyids = []
-
-  for signature in signable['signatures']:
-    signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-    keyid = signature['keyid']
-    key = None
-
-    # Remove 'signature' from 'signable' if the listed keyid does not exist
-    # in 'tuf.keydb'.
-    try:
-      key = tuf.keydb.get_key(keyid, repository_name=repository_name)
-
-    except tuf.exceptions.UnknownKeyError:
-      signable['signatures'].remove(signature)
-      continue
-
-    # Remove 'signature' from 'signable' if it is an invalid signature.
-    if not securesystemslib.keys.verify_signature(key, signature, signed):
-      logger.debug('Removing invalid signature for ' + repr(keyid))
-      signable['signatures'].remove(signature)
-
-    # Although valid, it may still need removal if it is a duplicate.  Check
-    # the keyid, rather than the signature, to remove duplicate PSS signatures.
-    # PSS may generate multiple different signatures for the same keyid.
-    else:
-      if keyid in signature_keyids:
-        signable['signatures'].remove(signature)
-
-      # 'keyid' is valid and not a duplicate, so add it to 'signature_keyids'.
-      else:
-        signature_keyids.append(keyid)
-
-
-
-
-
-def _delete_obsolete_metadata(metadata_directory, snapshot_metadata,
-    consistent_snapshot, repository_name, storage_backend):
-  """
-  Non-public function that deletes metadata files marked as removed by
-  'repository_tool.py'.  Revoked metadata files are not actually deleted until
-  this function is called.  Obsolete metadata should *not* be retained in
-  "metadata.staged", otherwise they may be re-loaded by 'load_repository()'.
-
-  Note: Obsolete metadata may not always be easily detected (by inspecting
-  top-level metadata during loading) due to partial metadata and top-level
-  metadata that have not been written yet.
-  """
-
-  # Walk the repository's metadata sub-directory, which is where all metadata
-  # is stored (including delegated roles).  The 'django.json' role (e.g.,
-  # delegated by Targets) would be located in the
-  # '{repository_directory}/metadata/' directory.
-  metadata_files = sorted(storage_backend.list_folder(metadata_directory))
-  for metadata_role in metadata_files:
-    if metadata_role.endswith('root.json'):
-      continue
-
-    metadata_path = os.path.join(metadata_directory, metadata_role)
-
-    # Strip the version number if 'consistent_snapshot' is True.  Example:
-    # '10.django.json' --> 'django.json'.  Consistent and non-consistent
-    # metadata might co-exist if write() and
-    # write(consistent_snapshot=True) are mixed, so ensure only
-    # '<version_number>.filename' metadata is stripped.
-
-    # Should we check if 'consistent_snapshot' is True? It might have been
-    # set previously, but 'consistent_snapshot' can potentially be False
-    # now.  We'll proceed with the understanding that 'metadata_name' can
-    # have a prepended version number even though the repository is now
-    # a non-consistent one.
-    if metadata_role not in snapshot_metadata['meta']:
-      metadata_role, junk = _strip_version_number(metadata_role,
-          consistent_snapshot)
-
-    else:
-      logger.debug(repr(metadata_role) + ' found in the snapshot role.')
-
-    # Strip metadata extension from filename.  The role database does not
-    # include the metadata extension.
-    if metadata_role.endswith(METADATA_EXTENSION):
-      metadata_role = metadata_role[:-len(METADATA_EXTENSION)]
-    else:
-      logger.debug(repr(metadata_role) + ' does not match'
-          ' supported extension ' + repr(METADATA_EXTENSION))
-
-    if metadata_role in tuf.roledb.TOP_LEVEL_ROLES:
-      logger.debug('Not removing top-level metadata ' + repr(metadata_role))
-      return
-
-    # Delete the metadata file if it does not exist in 'tuf.roledb'.
-    # 'repository_tool.py' might have removed 'metadata_name,'
-    # but its metadata file is not actually deleted yet.  Do it now.
-    if not tuf.roledb.role_exists(metadata_role, repository_name):
-      logger.info('Removing outdated metadata: ' + repr(metadata_path))
-      storage_backend.remove(metadata_path)
-
-    else:
-      logger.debug('Not removing metadata: ' + repr(metadata_path))
-
-      # TODO: Should we delete outdated consistent snapshots, or does it make
-      # more sense for integrators to remove outdated consistent snapshots?
-
-
-
-
-def _get_written_metadata(metadata_signable):
-  """
-  Non-public function that returns the actual content of written metadata.
-  """
-
-  # Explicitly specify the JSON separators for Python 2 + 3 consistency.
-  written_metadata_content = json.dumps(metadata_signable, indent=1,
-      separators=(',', ': '), sort_keys=True).encode('utf-8')
-
-  return written_metadata_content
-
-
-
-
-
-def _strip_version_number(metadata_filename, consistent_snapshot):
-  """
-  Strip from 'metadata_filename' any version number (in the
-  expected '{dirname}/<version_number>.rolename.<ext>' format) that
-  it may contain, and return the stripped filename and version number,
-  as a tuple.  'consistent_snapshot' is a boolean indicating if a version
-  number is prepended to 'metadata_filename'.
-  """
-
-  # Strip the version number if 'consistent_snapshot' is True.
-  # Example: '10.django.json' --> 'django.json'
-  if consistent_snapshot:
-    dirname, basename = os.path.split(metadata_filename)
-    version_number, basename = basename.split('.', 1)
-    stripped_metadata_filename = os.path.join(dirname, basename)
-
-    if not version_number.isdigit():
-      return metadata_filename, ''
-
-    else:
-      return stripped_metadata_filename, version_number
-
-  else:
-    return metadata_filename, ''
-
-
-
-
-def _load_top_level_metadata(repository, top_level_filenames, repository_name):
-  """
-  Load the metadata of the Root, Timestamp, Targets, and Snapshot roles.  At a
-  minimum, the Root role must exist and load successfully.
-  """
-
-  root_filename = top_level_filenames[ROOT_FILENAME]
-  targets_filename = top_level_filenames[TARGETS_FILENAME]
-  snapshot_filename = top_level_filenames[SNAPSHOT_FILENAME]
-  timestamp_filename = top_level_filenames[TIMESTAMP_FILENAME]
-
-  root_metadata = None
-  targets_metadata = None
-  snapshot_metadata = None
-  timestamp_metadata = None
-
-  # Load 'root.json'.  A Root role file without a version number is always
-  # written.
-  try:
-    # Initialize the key and role metadata of the top-level roles.
-    signable = securesystemslib.util.load_json_file(root_filename)
-    try:
-      tuf.formats.check_signable_object_format(signable)
-    except tuf.exceptions.UnsignedMetadataError:
-      # Downgrade the error to a warning because a use case exists where
-      # metadata may be generated unsigned on one machine and signed on another.
-      logger.warning('Unsigned metadata object: ' + repr(signable))
-
-    root_metadata = signable['signed']
-    tuf.keydb.create_keydb_from_root_metadata(root_metadata, repository_name)
-    tuf.roledb.create_roledb_from_root_metadata(root_metadata, repository_name)
-
-    # Load Root's roleinfo and update 'tuf.roledb'.
-    roleinfo = tuf.roledb.get_roleinfo('root', repository_name)
-    roleinfo['consistent_snapshot'] = root_metadata['consistent_snapshot']
-    roleinfo['signatures'] = []
-    for signature in signable['signatures']:
-      if signature not in roleinfo['signatures']:
-        roleinfo['signatures'].append(signature)
-
-      else:
-        logger.debug('Found a Root signature that is already loaded:'
-          ' ' + repr(signature))
-
-    # By default, roleinfo['partial_loaded'] of top-level roles should be set
-    # to False in 'create_roledb_from_root_metadata()'.  Update this field, if
-    # necessary, now that we have its signable object.
-    if _metadata_is_partially_loaded('root', signable, repository_name):
-      roleinfo['partial_loaded'] = True
-
-    else:
-      logger.debug('Root was not partially loaded.')
-
-    _log_warning_if_expires_soon(ROOT_FILENAME, roleinfo['expires'],
-                                 ROOT_EXPIRES_WARN_SECONDS)
-
-    tuf.roledb.update_roleinfo('root', roleinfo, mark_role_as_dirty=False,
-        repository_name=repository_name)
-
-    # Ensure the 'consistent_snapshot' field is extracted.
-    consistent_snapshot = root_metadata['consistent_snapshot']
-
-  except securesystemslib.exceptions.StorageError as error:
-    six.raise_from(tuf.exceptions.RepositoryError('Cannot load the required'
-        ' root file: ' + repr(root_filename)), error)
-
-  # Load 'timestamp.json'.  A Timestamp role file without a version number is
-  # always written.
-  try:
-    signable = securesystemslib.util.load_json_file(timestamp_filename)
-    timestamp_metadata = signable['signed']
-    for signature in signable['signatures']:
-      repository.timestamp.add_signature(signature, mark_role_as_dirty=False)
-
-    # Load Timestamp's roleinfo and update 'tuf.roledb'.
-    roleinfo = tuf.roledb.get_roleinfo('timestamp', repository_name)
-    roleinfo['expires'] = timestamp_metadata['expires']
-    roleinfo['version'] = timestamp_metadata['version']
-
-    if _metadata_is_partially_loaded('timestamp', signable, repository_name):
-      roleinfo['partial_loaded'] = True
-
-    else:
-      logger.debug('The Timestamp role was not partially loaded.')
-
-    _log_warning_if_expires_soon(TIMESTAMP_FILENAME, roleinfo['expires'],
-                                 TIMESTAMP_EXPIRES_WARN_SECONDS)
-
-    tuf.roledb.update_roleinfo('timestamp', roleinfo, mark_role_as_dirty=False,
-        repository_name=repository_name)
-
-  except securesystemslib.exceptions.StorageError as error:
-    six.raise_from(tuf.exceptions.RepositoryError('Cannot load the Timestamp '
-        'file: ' + repr(timestamp_filename)), error)
-
-  # Load 'snapshot.json'.  A consistent snapshot.json must be calculated if
-  # 'consistent_snapshot' is True.
-  # The Snapshot and Root roles are both accessed by their hashes.
-  if consistent_snapshot:
-    snapshot_version = timestamp_metadata['meta'][SNAPSHOT_FILENAME]['version']
-
-    dirname, basename = os.path.split(snapshot_filename)
-    basename = basename.split(METADATA_EXTENSION, 1)[0]
-    snapshot_filename = os.path.join(dirname,
-        str(snapshot_version) + '.' + basename + METADATA_EXTENSION)
-
-  try:
-    signable = securesystemslib.util.load_json_file(snapshot_filename)
-    try:
-      tuf.formats.check_signable_object_format(signable)
-    except tuf.exceptions.UnsignedMetadataError:
-      # Downgrade the error to a warning because a use case exists where
-      # metadata may be generated unsigned on one machine and signed on another.
-      logger.warning('Unsigned metadata object: ' + repr(signable))
-
-    snapshot_metadata = signable['signed']
-
-    for signature in signable['signatures']:
-      repository.snapshot.add_signature(signature, mark_role_as_dirty=False)
-
-    # Load Snapshot's roleinfo and update 'tuf.roledb'.
-    roleinfo = tuf.roledb.get_roleinfo('snapshot', repository_name)
-    roleinfo['expires'] = snapshot_metadata['expires']
-    roleinfo['version'] = snapshot_metadata['version']
-
-    if _metadata_is_partially_loaded('snapshot', signable, repository_name):
-      roleinfo['partial_loaded'] = True
-
-    else:
-      logger.debug('Snapshot was not partially loaded.')
-
-    _log_warning_if_expires_soon(SNAPSHOT_FILENAME, roleinfo['expires'],
-                                 SNAPSHOT_EXPIRES_WARN_SECONDS)
-
-    tuf.roledb.update_roleinfo('snapshot', roleinfo, mark_role_as_dirty=False,
-        repository_name=repository_name)
-
-  except securesystemslib.exceptions.StorageError as error:
-    six.raise_from(tuf.exceptions.RepositoryError('The Snapshot file '
-        'cannot be loaded: '+ repr(snapshot_filename)), error)
-
-  # Load 'targets.json'.  A consistent snapshot of the Targets role must be
-  # calculated if 'consistent_snapshot' is True.
-  if consistent_snapshot:
-    targets_version = snapshot_metadata['meta'][TARGETS_FILENAME]['version']
-    dirname, basename = os.path.split(targets_filename)
-    targets_filename = os.path.join(dirname, str(targets_version) + '.' + basename)
-
-  try:
-    signable = securesystemslib.util.load_json_file(targets_filename)
-    try:
-      tuf.formats.check_signable_object_format(signable)
-    except tuf.exceptions.UnsignedMetadataError:
-      # Downgrade the error to a warning because a use case exists where
-      # metadata may be generated unsigned on one machine and signed on another.
-      logger.warning('Unsigned metadata object: ' + repr(signable))
-
-    targets_metadata = signable['signed']
-
-    for signature in signable['signatures']:
-      repository.targets.add_signature(signature, mark_role_as_dirty=False)
-
-    # Update 'targets.json' in 'tuf.roledb.py'
-    roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-    roleinfo['paths'] = targets_metadata['targets']
-    roleinfo['version'] = targets_metadata['version']
-    roleinfo['expires'] = targets_metadata['expires']
-    roleinfo['delegations'] = targets_metadata['delegations']
-
-    if _metadata_is_partially_loaded('targets', signable, repository_name):
-      roleinfo['partial_loaded'] = True
-
-    else:
-      logger.debug('Targets file was not partially loaded.')
-
-    _log_warning_if_expires_soon(TARGETS_FILENAME, roleinfo['expires'],
-                                 TARGETS_EXPIRES_WARN_SECONDS)
-
-    tuf.roledb.update_roleinfo('targets', roleinfo, mark_role_as_dirty=False,
-        repository_name=repository_name)
-
-    # Add the keys specified in the delegations field of the Targets role.
-    for keyid, key_metadata in six.iteritems(targets_metadata['delegations']['keys']):
-
-      # Use the keyid found in the delegation
-      key_object, _ = securesystemslib.keys.format_metadata_to_key(key_metadata,
-          keyid)
-
-      # Add 'key_object' to the list of recognized keys.  Keys may be shared,
-      # so do not raise an exception if 'key_object' has already been loaded.
-      # In contrast to the methods that may add duplicate keys, do not log
-      # a warning as there may be many such duplicate key warnings.  The
-      # repository maintainer should have also been made aware of the duplicate
-      # key when it was added.
-      try:
-        tuf.keydb.add_key(key_object, keyid=None, repository_name=repository_name)
-
-      except tuf.exceptions.KeyAlreadyExistsError:
-        pass
-
-  except securesystemslib.exceptions.StorageError as error:
-    six.raise_from(tuf.exceptions.RepositoryError('The Targets file '
-        'can not be loaded: ' + repr(targets_filename)), error)
-
-  return repository, consistent_snapshot
-
-
-
-
-def _log_warning_if_expires_soon(rolename, expires_iso8601_timestamp,
-    seconds_remaining_to_warn):
-  """
-  Non-public function that logs a warning if 'rolename' expires in
-  'seconds_remaining_to_warn' seconds, or less.
-  """
-
-  # Metadata stores expiration datetimes in ISO8601 format.  Convert to
-  # unix timestamp, subtract from current time.time() (also in POSIX time)
-  # and compare against 'seconds_remaining_to_warn'.  Log a warning message
-  # to console if 'rolename' expires soon.
-  datetime_object = tuf.formats.expiry_string_to_datetime(
-      expires_iso8601_timestamp)
-  expires_unix_timestamp = \
-    tuf.formats.datetime_to_unix_timestamp(datetime_object)
-  seconds_until_expires = expires_unix_timestamp - int(time.time())
-
-  if seconds_until_expires <= seconds_remaining_to_warn:
-    if seconds_until_expires <= 0:
-      logger.warning(
-          repr(rolename) + ' expired ' + repr(datetime_object.ctime() + ' (UTC).'))
-
-    else:
-      days_until_expires = seconds_until_expires / 86400
-      logger.warning(repr(rolename) + ' expires ' + datetime_object.ctime() + ''
-        ' (UTC).  ' + repr(days_until_expires) + ' day(s) until it expires.')
-
-  else:
-    pass
-
-
-
-
-
-def import_rsa_privatekey_from_file(filepath, password=None):
-  """
-  <Purpose>
-    Import the encrypted PEM file in 'filepath', decrypt it, and return the key
-    object in 'securesystemslib.RSAKEY_SCHEMA' format.
-
-  <Arguments>
-    filepath:
-      <filepath> file, an RSA encrypted PEM file.  Unlike the public RSA PEM
-      key file, 'filepath' does not have an extension.
-
-    password:
-      The passphrase to decrypt 'filepath'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    securesystemslib.exceptions.CryptoError, if 'filepath' is not a valid
-    encrypted key file.
-
-  <Side Effects>
-    The contents of 'filepath' is read, decrypted, and the key stored.
-
-  <Returns>
-    An RSA key object, conformant to 'securesystemslib.RSAKEY_SCHEMA'.
-  """
-
-  # Note: securesystemslib.interface.import_rsa_privatekey_from_file() does not
-  # allow both 'password' and 'prompt' to be True, nor does it automatically
-  # prompt for a password if the key file is encrypted and a password isn't
-  # given.
-  try:
-    private_key = securesystemslib.interface.import_rsa_privatekey_from_file(
-        filepath, password)
-
-  # The user might not have given a password for an encrypted private key.
-  # Prompt for a password for convenience.
-  except securesystemslib.exceptions.CryptoError:
-    if password is None:
-      private_key = securesystemslib.interface.import_rsa_privatekey_from_file(
-          filepath, password, prompt=True)
-
-    else:
-      raise
-
-  return private_key
-
-
-
-
-
-
-
-def import_ed25519_privatekey_from_file(filepath, password=None):
-  """
-  <Purpose>
-    Import the encrypted ed25519 TUF key file in 'filepath', decrypt it, and
-    return the key object in 'securesystemslib.ED25519KEY_SCHEMA' format.
-
-    The TUF private key (may also contain the public part) is encrypted with
-    AES 256 and CTR the mode of operation.  The password is strengthened with
-    PBKDF2-HMAC-SHA256.
-
-  <Arguments>
-    filepath:
-      <filepath> file, an RSA encrypted TUF key file.
-
-    password:
-      The password, or passphrase, to import the private key (i.e., the
-      encrypted key file 'filepath' must be decrypted before the ed25519 key
-      object can be returned.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted or the imported key object contains an invalid key type (i.e.,
-    not 'ed25519').
-
-    securesystemslib.exceptions.CryptoError, if 'filepath' cannot be decrypted.
-
-    securesystemslib.exceptions.UnsupportedLibraryError, if 'filepath' cannot be
-    decrypted due to an invalid configuration setting (i.e., invalid
-    'tuf.settings.py' setting).
-
-  <Side Effects>
-    'password' is used to decrypt the 'filepath' key file.
-
-  <Returns>
-    An ed25519 key object of the form: 'securesystemslib.ED25519KEY_SCHEMA'.
-  """
-
-  # Note: securesystemslib.interface.import_ed25519_privatekey_from_file() does
-  # not allow both 'password' and 'prompt' to be True, nor does it
-  # automatically prompt for a password if the key file is encrypted and a
-  # password isn't given.
-  try:
-    private_key = securesystemslib.interface.import_ed25519_privatekey_from_file(
-        filepath, password)
-
-  # The user might not have given a password for an encrypted private key.
-  # Prompt for a password for convenience.
-  except securesystemslib.exceptions.CryptoError:
-    if password is None:
-      private_key = securesystemslib.interface.import_ed25519_privatekey_from_file(
-          filepath, password, prompt=True)
-
-    else:
-      raise
-
-  return private_key
-
-
-
-def get_delegated_roles_metadata_filenames(metadata_directory,
-    consistent_snapshot, storage_backend=None):
-  """
-  Return a dictionary containing all filenames in 'metadata_directory'
-  except the top-level roles.
-  If multiple versions of a file exist because of a consistent snapshot,
-  only the file with biggest version prefix is included.
-  """
-
-  filenames = {}
-  metadata_files = sorted(storage_backend.list_folder(metadata_directory),
-      reverse=True)
-
-  # Iterate over role metadata files, sorted by their version-number prefix, with
-  # more recent versions first, and only add the most recent version of any
-  # (non top-level) metadata to the list of returned filenames. Note that there
-  # should only be one version of each file, if consistent_snapshot is False.
-  for metadata_role in metadata_files:
-    metadata_path = os.path.join(metadata_directory, metadata_role)
-
-    # Strip the version number if 'consistent_snapshot' is True,
-    # or if 'metadata_role' is Root.
-    # Example:  '10.django.json' --> 'django.json'
-    consistent = \
-      metadata_role.endswith('root.json') or consistent_snapshot == True
-    metadata_name, junk = _strip_version_number(metadata_role,
-      consistent)
-
-    if metadata_name.endswith(METADATA_EXTENSION):
-      extension_length = len(METADATA_EXTENSION)
-      metadata_name = metadata_name[:-extension_length]
-
-    else:
-      logger.debug('Skipping file with unsupported metadata'
-          ' extension: ' + repr(metadata_path))
-      continue
-
-    # Skip top-level roles, only interested in delegated roles.
-    if metadata_name in tuf.roledb.TOP_LEVEL_ROLES:
-      continue
-
-    # Prevent reloading duplicate versions if consistent_snapshot is True
-    if metadata_name not in filenames:
-      filenames[metadata_name] = metadata_path
-
-  return filenames
-
-
-
-def get_top_level_metadata_filenames(metadata_directory):
-  """
-  <Purpose>
-    Return a dictionary containing the filenames of the top-level roles.
-    If 'metadata_directory' is set to 'metadata', the dictionary
-    returned would contain:
-
-    filenames = {'root.json': 'metadata/root.json',
-                 'targets.json': 'metadata/targets.json',
-                 'snapshot.json': 'metadata/snapshot.json',
-                 'timestamp.json': 'metadata/timestamp.json'}
-
-    If 'metadata_directory' is not set by the caller, the current directory is
-    used.
-
-  <Arguments>
-    metadata_directory:
-      The directory containing the metadata files.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'metadata_directory' is
-    improperly formatted.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A dictionary containing the expected filenames of the top-level
-    metadata files, such as 'root.json' and 'snapshot.json'.
-  """
-
-  # Does 'metadata_directory' have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-
-  # Store the filepaths of the top-level roles, including the
-  # 'metadata_directory' for each one.
-  filenames = {}
-
-  filenames[ROOT_FILENAME] = \
-    os.path.join(metadata_directory, ROOT_FILENAME)
-
-  filenames[TARGETS_FILENAME] = \
-    os.path.join(metadata_directory, TARGETS_FILENAME)
-
-  filenames[SNAPSHOT_FILENAME] = \
-    os.path.join(metadata_directory, SNAPSHOT_FILENAME)
-
-  filenames[TIMESTAMP_FILENAME] = \
-    os.path.join(metadata_directory, TIMESTAMP_FILENAME)
-
-  return filenames
-
-
-
-
-
-def get_targets_metadata_fileinfo(filename, storage_backend, custom=None):
-  """
-  <Purpose>
-    Retrieve the file information of 'filename'.  The object returned
-    conforms to 'tuf.formats.TARGETS_FILEINFO_SCHEMA'.  The information
-    generated for 'filename' is stored in metadata files like 'targets.json'.
-    The fileinfo object returned has the form:
-
-    fileinfo = {'length': 1024,
-                'hashes': {'sha256': 1233dfba312, ...},
-                'custom': {...}}
-
-  <Arguments>
-    filename:
-      The metadata file whose file information is needed.  It must exist.
-
-    custom:
-      An optional object providing additional information about the file.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'filename' is improperly
-    formatted.
-
-  <Side Effects>
-    The file is opened and information about the file is generated,
-    such as file size and its hash.
-
-  <Returns>
-    A dictionary conformant to 'tuf.formats.TARGETS_FILEINFO_SCHEMA'.  This
-    dictionary contains the length, hashes, and custom data about the
-    'filename' metadata file.  SHA256 hashes are generated by default.
-  """
-
-  # Does 'filename' and 'custom' have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(filename)
-  if custom is not None:
-    tuf.formats.CUSTOM_SCHEMA.check_match(custom)
-
-  # Note: 'filehashes' is a dictionary of the form
-  # {'sha256': 1233dfba312, ...}.  'custom' is an optional
-  # dictionary that a client might define to include additional
-  # file information, such as the file's author, version/revision
-  # numbers, etc.
-  filesize, filehashes = securesystemslib.util.get_file_details(filename,
-      tuf.settings.FILE_HASH_ALGORITHMS, storage_backend)
-
-  return tuf.formats.make_targets_fileinfo(filesize, filehashes, custom=custom)
-
-
-
-
-
-def get_metadata_versioninfo(rolename, repository_name):
-  """
-  <Purpose>
-    Retrieve the version information of 'rolename'.  The object returned
-    conforms to 'tuf.formats.VERSIONINFO_SCHEMA'.  The information
-    generated for 'rolename' is stored in 'snapshot.json'.
-    The versioninfo object returned has the form:
-
-    versioninfo = {'version': 14}
-
-  <Arguments>
-    rolename:
-      The metadata role whose versioninfo is needed.  It must exist, otherwise
-      a 'tuf.exceptions.UnknownRoleError' exception is raised.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rolename' is improperly
-    formatted.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' does not exist.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A dictionary conformant to 'tuf.formats.VERSIONINFO_SCHEMA'.
-    This dictionary contains the version  number of 'rolename'.
-  """
-
-  # Does 'rolename' have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-  roleinfo = tuf.roledb.get_roleinfo(rolename, repository_name)
-  versioninfo = {'version': roleinfo['version']}
-
-  return versioninfo
-
-
-
-
-
-def create_bin_name(low, high, prefix_len):
-  """
-  <Purpose>
-    Create a string name of a delegated hash bin, where name will be a range of
-    zero-padded (up to prefix_len) strings i.e. for low=00, high=07,
-    prefix_len=3 the returned name would be '000-007'.
-
-  <Arguments>
-    low:
-      The low end of the prefix range to be binned
-
-    high:
-      The high end of the prefix range to be binned
-
-    prefix_len:
-      The length of the prefix range components
-
-  <Returns>
-    A string bin name, with each end of the range zero-padded up to prefix_len
-  """
-  if low == high:
-    return "{low:0{len}x}".format(low=low, len=prefix_len)
-
-  return "{low:0{len}x}-{high:0{len}x}".format(low=low, high=high,
-      len=prefix_len)
-
-
-
-
-
-def get_bin_numbers(number_of_bins):
-  """
-  <Purpose>
-    Given the desired number of bins (number_of_bins) calculate the prefix
-    length (prefix_length), total number of prefixes (prefix_count) and the
-    number of prefixes to be stored in each bin (bin_size).
-    Example: number_of_bins = 32
-      prefix_length = 2
-      prefix_count = 256
-      bin_size = 8
-    That is, each of the 32 hashed bins are responsible for 8 hash prefixes,
-    i.e. 00-07, 08-0f, ..., f8-ff.
-
-  <Arguments>
-    number_of_bins:
-      The number of hashed bins in use
-
-  <Returns>
-    A tuple of three values:
-      1. prefix_length: the length of each prefix
-      2. prefix_count: the total number of prefixes in use
-      3. bin_size: the number of hash prefixes to be stored in each bin
-  """
-  # Convert 'number_of_bins' to hexadecimal and determine the number of
-  # hexadecimal digits needed by each hash prefix
-  prefix_length = len("{:x}".format(number_of_bins - 1))
-  # Calculate the total number of hash prefixes (e.g., 000 - FFF total values)
-  prefix_count = 16 ** prefix_length
-  # Determine how many prefixes to assign to each bin
-  bin_size = prefix_count // number_of_bins
-
-  # For simplicity, ensure that 'prefix_count' (16 ^ n) can be evenly
-  # distributed over 'number_of_bins' (must be 2 ^ n).  Each bin will contain
-  # (prefix_count / number_of_bins) hash prefixes.
-  if prefix_count % number_of_bins != 0:
-    # Note: x % y != 0 does not guarantee that y is not a power of 2 for
-    # arbitrary x and y values. However, due to the relationship between
-    # number_of_bins and prefix_count, it is true for them.
-    raise securesystemslib.exceptions.Error('The "number_of_bins" argument'
-        ' must be a power of 2.')
-
-  return prefix_length, prefix_count, bin_size
-
-
-
-
-
-def find_bin_for_target_hash(target_hash, number_of_bins):
-  """
-  <Purpose>
-    For a given hashed filename, target_hash, calculate the name of a hashed bin
-    into which this file would be delegated given number_of_bins bins are in
-    use.
-
-  <Arguments>
-    target_hash:
-      The hash of the target file's path
-
-    number_of_bins:
-      The number of hashed_bins in use
-
-  <Returns>
-    The name of the hashed bin target_hash would be binned into
-  """
-
-  prefix_length, _, bin_size = get_bin_numbers(number_of_bins)
-
-  prefix = int(target_hash[:prefix_length], 16)
-
-  low = prefix - (prefix % bin_size)
-  high = (low + bin_size - 1)
-
-  return create_bin_name(low, high, prefix_length)
-
-
-
-
-
-def get_target_hash(target_filepath):
-  """
-  <Purpose>
-    Compute the hash of 'target_filepath'. This is useful in conjunction with
-    the "path_hash_prefixes" attribute in a delegated targets role, which
-    tells us which paths a role is implicitly responsible for.
-
-    The repository may optionally organize targets into hashed bins to ease
-    target delegations and role metadata management.  The use of consistent
-    hashing allows for a uniform distribution of targets into bins.
-
-  <Arguments>
-    target_filepath:
-      The path to the target file on the repository. This will be relative to
-      the 'targets' (or equivalent) directory on a given mirror.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    The hash of 'target_filepath'.
-
-  """
-  tuf.formats.RELPATH_SCHEMA.check_match(target_filepath)
-
-  digest_object = securesystemslib.hash.digest(algorithm=HASH_FUNCTION)
-  digest_object.update(target_filepath.encode('utf-8'))
-  return digest_object.hexdigest()
-
-
-
-
-def generate_root_metadata(version, expiration_date, consistent_snapshot,
-  repository_name='default'):
-  """
-  <Purpose>
-    Create the root metadata.  'tuf.roledb.py' and 'tuf.keydb.py'
-    are read and the information returned by these modules is used to generate
-    the root metadata object.
-
-  <Arguments>
-    version:
-      The metadata version number.  Clients use the version number to
-      determine if the downloaded version is newer than the one currently
-      trusted.
-
-    expiration_date:
-      The expiration date of the metadata file.  Conformant to
-      'securesystemslib.formats.ISO8601_DATETIME_SCHEMA'.
-
-    consistent_snapshot:
-      Boolean.  If True, a file digest is expected to be prepended to the
-      filename of any target file located in the targets directory.  Each digest
-      is stripped from the target filename and listed in the snapshot metadata.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the generated root metadata
-    object could not be generated with the correct format.
-
-    securesystemslib.exceptions.Error, if an error is encountered while
-    generating the root metadata object (e.g., a required top-level role not
-    found in 'tuf.roledb'.)
-
-  <Side Effects>
-    The contents of 'tuf.keydb.py' and 'tuf.roledb.py' are read.
-
-  <Returns>
-    A root metadata object, conformant to 'tuf.formats.ROOT_SCHEMA'.
-  """
-
-  # Do the arguments have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.  Raise
-  # 'securesystemslib.exceptions.FormatError' if any of the arguments are
-  # improperly formatted.
-  tuf.formats.METADATAVERSION_SCHEMA.check_match(version)
-  securesystemslib.formats.ISO8601_DATETIME_SCHEMA.check_match(expiration_date)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(consistent_snapshot)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # The role and key dictionaries to be saved in the root metadata object.
-  # Conformant to 'ROLEDICT_SCHEMA' and 'KEYDICT_SCHEMA', respectively.
-  roledict = {}
-  keydict = {}
-  keylist = []
-
-  # Extract the role, threshold, and keyid information of the top-level roles,
-  # which Root stores in its metadata.  The necessary role metadata is generated
-  # from this information.
-  for rolename in tuf.roledb.TOP_LEVEL_ROLES:
-
-    # If a top-level role is missing from 'tuf.roledb.py', raise an exception.
-    if not tuf.roledb.role_exists(rolename, repository_name):
-      raise securesystemslib.exceptions.Error(repr(rolename) + ' not in'
-          ' "tuf.roledb".')
-
-    # Collect keys from all roles in a list
-    keyids = tuf.roledb.get_role_keyids(rolename, repository_name)
-    for keyid in keyids:
-      key = tuf.keydb.get_key(keyid, repository_name=repository_name)
-      keylist.append(key)
-
-    # Generate the authentication information Root establishes for each
-    # top-level role.
-    role_threshold = tuf.roledb.get_role_threshold(rolename, repository_name)
-    role_metadata = tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.ROLE_SCHEMA,
-        keyids=keyids,
-        threshold=role_threshold)
-    roledict[rolename] = role_metadata
-
-  # Create the root metadata 'keys' dictionary
-  _, keydict = keys_to_keydict(keylist)
-
-  # Use generalized build_dict_conforming_to_schema func to produce a dict that
-  # contains all the appropriate information for this type of metadata,
-  # checking that the result conforms to the appropriate schema.
-  # TODO: Later, probably after the rewrite for TUF Issue #660, generalize
-  #       further, upward, by replacing generate_targets_metadata,
-  #       generate_root_metadata, etc. with one function that generates
-  #       metadata, possibly rolling that upwards into the calling function.
-  #       There are very few things that really need to be done differently.
-  return tuf.formats.build_dict_conforming_to_schema(
-      tuf.formats.ROOT_SCHEMA,
-      version=version,
-      expires=expiration_date,
-      keys=keydict,
-      roles=roledict,
-      consistent_snapshot=consistent_snapshot)
-
-
-
-
-
-def generate_targets_metadata(targets_directory, target_files, version,
-    expiration_date, delegations=None, write_consistent_targets=False,
-    use_existing_fileinfo=False, storage_backend=None,
-    repository_name='default'):
-  """
-  <Purpose>
-    Generate the targets metadata object. The targets in 'target_files' must
-    exist at the same path they should on the repo.  'target_files' is a list
-    of targets.  The 'custom' field of the targets metadata is not currently
-    supported.
-
-  <Arguments>
-    targets_directory:
-      The absolute path to a directory containing the target files and
-      directories of the repository.
-
-    target_files:
-      The target files tracked by 'targets.json'.  'target_files' is a
-      dictionary mapping target paths (relative to the targets directory) to
-      a dict matching tuf.formats.LOOSE_FILEINFO_SCHEMA.  LOOSE_FILEINFO_SCHEMA
-      can support multiple different value patterns:
-      1) an empty dictionary - for when fileinfo should be generated
-      2) a dictionary matching tuf.formats.CUSTOM_SCHEMA - for when fileinfo
-         should be generated, with the supplied custom metadata attached
-      3) a dictionary matching tuf.formats.FILEINFO_SCHEMA - for when full
-         fileinfo is provided in conjunction with use_existing_fileinfo
-
-    version:
-      The metadata version number.  Clients use the version number to
-      determine if the downloaded version is newer than the one currently
-      trusted.
-
-    expiration_date:
-      The expiration date of the metadata file.  Conformant to
-      'securesystemslib.formats.ISO8601_DATETIME_SCHEMA'.
-
-    delegations:
-      The delegations made by the targets role to be generated.  'delegations'
-      must match 'tuf.formats.DELEGATIONS_SCHEMA'.
-
-    write_consistent_targets:
-      Boolean that indicates whether file digests should be prepended to the
-      target files.
-      NOTE: it is an error for write_consistent_targets to be True when
-      use_existing_fileinfo is also True. We can not create consistent targets
-      for a target file where the fileinfo isn't generated by tuf.
-
-    use_existing_fileinfo:
-      Boolean that indicates whether to use the complete fileinfo, including
-      hashes, as already exists in the roledb (True) or whether to generate
-      hashes (False).
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'default' repository
-      is used.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if an error occurred trying to
-    generate the targets metadata object.
-
-    securesystemslib.exceptions.Error, if use_existing_fileinfo is False and
-    any of the target files cannot be read.
-
-    securesystemslib.exceptions.Error, if use_existing_fileinfo is True and
-    some of the target files do not have corresponding hashes in the roledb.
-
-    securesystemslib.exceptions.Error, if both of use_existing_fileinfo and
-    write_consistent_targets are True.
-
-  <Side Effects>
-    If use_existing_fileinfo is False, the target files are read from storage
-    and file information about them is generated.
-    If 'write_consistent_targets' is True, each target in 'target_files' will be
-    copied to a file with a digest prepended to its filename. For example, if
-    'some_file.txt' is one of the targets of 'target_files', consistent targets
-    <sha-2 hash>.some_file.txt, <sha-3 hash>.some_file.txt, etc., are created
-    and the content of 'some_file.txt' will be copied into them.
-
-  <Returns>
-    A targets metadata object, conformant to
-    'tuf.formats.TARGETS_SCHEMA'.
-  """
-
-  # Do the arguments have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-  tuf.formats.PATH_FILEINFO_SCHEMA.check_match(target_files)
-  tuf.formats.METADATAVERSION_SCHEMA.check_match(version)
-  securesystemslib.formats.ISO8601_DATETIME_SCHEMA.check_match(expiration_date)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(write_consistent_targets)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_existing_fileinfo)
-
-  if write_consistent_targets and use_existing_fileinfo:
-    raise securesystemslib.exceptions.Error('Cannot support writing consistent'
-        ' targets and using existing fileinfo.')
-
-  if delegations is not None:
-    tuf.formats.DELEGATIONS_SCHEMA.check_match(delegations)
-    # If targets role has delegations, collect the up-to-date 'keyids' and
-    # 'threshold' for each role. Update the delegations keys dictionary.
-    delegations_keys = []
-    # Update 'keyids' and 'threshold' for each delegated role
-    for role in delegations['roles']:
-      role['keyids'] = tuf.roledb.get_role_keyids(role['name'],
-          repository_name)
-      role['threshold'] = tuf.roledb.get_role_threshold(role['name'],
-          repository_name)
-
-      # Collect all delegations keys for generating the delegations keydict
-      for keyid in role['keyids']:
-        key = tuf.keydb.get_key(keyid, repository_name=repository_name)
-        delegations_keys.append(key)
-
-    _, delegations['keys'] = keys_to_keydict(delegations_keys)
-
-
-  # Store the file attributes of targets in 'target_files'.  'filedict',
-  # conformant to 'tuf.formats.FILEDICT_SCHEMA', is added to the
-  # targets metadata object returned.
-  filedict = {}
-
-  if use_existing_fileinfo:
-    # Use the provided fileinfo dicts, conforming to FILEINFO_SCHEMA, rather than
-    # generating fileinfo
-    for target, fileinfo in six.iteritems(target_files):
-
-      # Ensure all fileinfo entries in target_files have a non-empty hashes dict
-      if not fileinfo.get('hashes', None):
-        raise securesystemslib.exceptions.Error('use_existing_fileinfo option'
-            ' set but no hashes exist in fileinfo for ' + repr(target))
-
-      # and a non-empty length
-      if fileinfo.get('length', -1) < 0:
-        raise securesystemslib.exceptions.Error('use_existing_fileinfo option'
-            ' set but no length exists in fileinfo for ' + repr(target))
-
-      filedict[target] = fileinfo
-
-  else:
-    # Generate the fileinfo dicts by accessing the target files on storage.
-    # Default to accessing files on local storage.
-    if storage_backend is None:
-      storage_backend = securesystemslib.storage.FilesystemBackend()
-
-    filedict = _generate_targets_fileinfo(target_files, targets_directory,
-        write_consistent_targets, storage_backend)
-
-  # Generate the targets metadata object.
-  # Use generalized build_dict_conforming_to_schema func to produce a dict that
-  # contains all the appropriate information for targets metadata,
-  # checking that the result conforms to the appropriate schema.
-  # TODO: Later, probably after the rewrite for TUF Issue #660, generalize
-  #       further, upward, by replacing generate_targets_metadata,
-  #       generate_root_metadata, etc. with one function that generates
-  #       metadata, possibly rolling that upwards into the calling function.
-  #       There are very few things that really need to be done differently.
-  if delegations is not None:
-    return tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TARGETS_SCHEMA,
-        version=version,
-        expires=expiration_date,
-        targets=filedict,
-        delegations=delegations)
-  else:
-    return tuf.formats.build_dict_conforming_to_schema(
-        tuf.formats.TARGETS_SCHEMA,
-        version=version,
-        expires=expiration_date,
-        targets=filedict)
-  # TODO: As an alternative to the odd if/else above where we decide whether or
-  #       not to include the delegations argument based on whether or not it is
-  #       None, consider instead adding a check in
-  #       build_dict_conforming_to_schema that skips a keyword if that keyword
-  #       is optional in the schema and the value passed in is set to None....
-
-
-
-
-
-def _generate_targets_fileinfo(target_files, targets_directory,
-    write_consistent_targets, storage_backend):
-  """
-  Iterate over target_files and:
-    * ensure they exist in the targets_directory
-    * generate a fileinfo dict for the target file, including hashes
-    * copy 'target_path' to 'digest_target' if write_consistent_targets
-  add all generated fileinfo dicts to a dictionary mapping
-  targetpath: fileinfo and return the dict.
-  """
-
-  filedict = {}
-
-  # Generate the fileinfo of all the target files listed in 'target_files'.
-  for target, fileinfo in six.iteritems(target_files):
-
-    # The root-most folder of the targets directory should not be included in
-    # target paths listed in targets metadata.
-    # (e.g., 'targets/more_targets/somefile.txt' -> 'more_targets/somefile.txt')
-    relative_targetpath = target
-
-    # Note: join() discards 'targets_directory' if 'target' contains a leading
-    # path separator (i.e., is treated as an absolute path).
-    target_path = os.path.join(targets_directory, target.lstrip(os.sep))
-
-    # Add 'custom' if it has been provided.  Custom data about the target is
-    # optional and will only be included in metadata (i.e., a 'custom' field in
-    # the target's fileinfo dictionary) if specified here.
-    custom_data = fileinfo.get('custom', None)
-
-    filedict[relative_targetpath] = \
-        get_targets_metadata_fileinfo(target_path, storage_backend, custom_data)
-
-    # Copy 'target_path' to 'digest_target' if consistent hashing is enabled.
-    if write_consistent_targets:
-      for target_digest in six.itervalues(filedict[relative_targetpath]['hashes']):
-        dirname, basename = os.path.split(target_path)
-        digest_filename = target_digest + '.' + basename
-        digest_target = os.path.join(dirname, digest_filename)
-        shutil.copyfile(target_path, digest_target)
-
-  return filedict
-
-
-
-def _get_hashes_and_length_if_needed(use_length, use_hashes, full_file_path,
-    storage_backend):
-  """
-  Calculate length and hashes only if they are required,
-  otherwise, for adopters of tuf with lots of delegations,
-  this will cause unnecessary overhead.
-  """
-
-  length = None
-  hashes = None
-  if use_length:
-    length = securesystemslib.util.get_file_length(full_file_path,
-        storage_backend)
-
-  if use_hashes:
-    hashes = securesystemslib.util.get_file_hashes(full_file_path,
-        tuf.settings.FILE_HASH_ALGORITHMS, storage_backend)
-
-  return length, hashes
-
-
-
-def generate_snapshot_metadata(metadata_directory, version, expiration_date,
-    storage_backend, consistent_snapshot=False,
-    repository_name='default', use_length=False, use_hashes=False):
-  """
-  <Purpose>
-    Create the snapshot metadata.  The minimum metadata must exist (i.e.,
-    'root.json' and 'targets.json'). This function searches
-    'metadata_directory' and the resulting snapshot file will list all the
-    delegated roles found there.
-
-  <Arguments>
-    metadata_directory:
-      The directory containing the 'root.json' and 'targets.json' metadata
-      files.
-
-    version:
-      The metadata version number.  Clients use the version number to
-      determine if the downloaded version is newer than the one currently
-      trusted.
-
-    expiration_date:
-      The expiration date of the metadata file.
-      Conformant to 'securesystemslib.formats.ISO8601_DATETIME_SCHEMA'.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-    consistent_snapshot:
-      Boolean.  If True, a file digest is expected to be prepended to the
-      filename of any target file located in the targets directory.  Each digest
-      is stripped from the target filename and listed in the snapshot metadata.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-    use_length:
-      Whether to include the optional length attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-    use_hashes:
-      Whether to include the optional hashes attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    securesystemslib.exceptions.Error, if an error occurred trying to generate
-    the snapshot metadata object.
-
-  <Side Effects>
-    The 'root.json' and 'targets.json' files are read.
-
-  <Returns>
-    The snapshot metadata object, conformant to 'tuf.formats.SNAPSHOT_SCHEMA'.
-  """
-
-  # Do the arguments have the correct format?
-  # This check ensures arguments have the appropriate number of objects and
-  # object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-  tuf.formats.METADATAVERSION_SCHEMA.check_match(version)
-  securesystemslib.formats.ISO8601_DATETIME_SCHEMA.check_match(expiration_date)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(consistent_snapshot)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_length)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_hashes)
-
-  # Snapshot's 'fileinfodict' shall contain the version number of Root,
-  # Targets, and all delegated roles of the repository.
-  fileinfodict = {}
-
-  length, hashes = _get_hashes_and_length_if_needed(use_length, use_hashes,
-      os.path.join(metadata_directory, TARGETS_FILENAME), storage_backend)
-
-  targets_role = TARGETS_FILENAME[:-len(METADATA_EXTENSION)]
-
-  targets_file_version = get_metadata_versioninfo(targets_role,
-      repository_name)
-
-  # Make file info dictionary with make_metadata_fileinfo because
-  # in the tuf spec length and hashes are optional for all
-  # METAFILES in snapshot.json including the top-level targets file.
-  fileinfodict[TARGETS_FILENAME] = tuf.formats.make_metadata_fileinfo(
-      targets_file_version['version'], length, hashes)
-
-  # Search the metadata directory and generate the versioninfo of all the role
-  # files found there.  This information is stored in the 'meta' field of
-  # 'snapshot.json'.
-
-  metadata_files = sorted(storage_backend.list_folder(metadata_directory),
-      reverse=True)
-  for metadata_filename in metadata_files:
-    # Strip the version number if 'consistent_snapshot' is True.
-    # Example:  '10.django.json'  --> 'django.json'
-    metadata_name, junk = _strip_version_number(metadata_filename,
-        consistent_snapshot)
-
-    # All delegated roles are added to the snapshot file.
-    if metadata_filename.endswith(METADATA_EXTENSION):
-      rolename = metadata_filename[:-len(METADATA_EXTENSION)]
-
-      # Obsolete role files may still be found.  Ensure only roles loaded
-      # in the roledb are included in the Snapshot metadata.  Since the
-      # snapshot and timestamp roles are not listed in snapshot.json, do not
-      # list these roles found in the metadata directory.
-      if tuf.roledb.role_exists(rolename, repository_name) and \
-          rolename not in tuf.roledb.TOP_LEVEL_ROLES:
-
-        length, hashes = _get_hashes_and_length_if_needed(use_length, use_hashes,
-            os.path.join(metadata_directory, metadata_filename), storage_backend)
-
-        file_version = get_metadata_versioninfo(rolename,
-            repository_name)
-
-        fileinfodict[metadata_name] = tuf.formats.make_metadata_fileinfo(
-            file_version['version'], length, hashes)
-
-    else:
-      logger.debug('Metadata file has an unsupported file'
-          ' extension: ' + metadata_filename)
-
-  # Generate the Snapshot metadata object.
-  # Use generalized build_dict_conforming_to_schema func to produce a dict that
-  # contains all the appropriate information for snapshot metadata,
-  # checking that the result conforms to the appropriate schema.
-  # TODO: Later, probably after the rewrite for TUF Issue #660, generalize
-  #       further, upward, by replacing generate_targets_metadata,
-  #       generate_root_metadata, etc. with one function that generates
-  #       metadata, possibly rolling that upwards into the calling function.
-  #       There are very few things that really need to be done differently.
-  return tuf.formats.build_dict_conforming_to_schema(
-      tuf.formats.SNAPSHOT_SCHEMA,
-      version=version,
-      expires=expiration_date,
-      meta=fileinfodict)
-
-
-
-
-
-
-def generate_timestamp_metadata(snapshot_file_path, version, expiration_date,
-    storage_backend, repository_name, use_length=True, use_hashes=True):
-  """
-  <Purpose>
-    Generate the timestamp metadata object.  The 'snapshot.json' file must
-    exist.
-
-  <Arguments>
-    snapshot_file_path:
-      Path to the required snapshot metadata file.  The timestamp role
-      needs to the calculate the file size and hash of this file.
-
-    version:
-      The timestamp's version number.  Clients use the version number to
-      determine if the downloaded version is newer than the one currently
-      trusted.
-
-    expiration_date:
-      The expiration date of the metadata file, conformant to
-      'securesystemslib.formats.ISO8601_DATETIME_SCHEMA'.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-    use_length:
-      Whether to include the optional length attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_hashes:
-      Whether to include the optional hashes attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the generated timestamp metadata
-    object cannot be formatted correctly, or one of the arguments is improperly
-    formatted.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A timestamp metadata object, conformant to 'tuf.formats.TIMESTAMP_SCHEMA'.
-  """
-
-  # Do the arguments have the correct format?
-  # This check ensures arguments have the appropriate number of objects and
-  # object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  securesystemslib.formats.PATH_SCHEMA.check_match(snapshot_file_path)
-  tuf.formats.METADATAVERSION_SCHEMA.check_match(version)
-  securesystemslib.formats.ISO8601_DATETIME_SCHEMA.check_match(expiration_date)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_length)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_hashes)
-
-  snapshot_fileinfo = {}
-
-  length, hashes = _get_hashes_and_length_if_needed(use_length, use_hashes,
-      snapshot_file_path, storage_backend)
-
-  snapshot_filename = os.path.basename(snapshot_file_path)
-  # Retrieve the versioninfo of the Snapshot metadata file.
-  snapshot_version = get_metadata_versioninfo('snapshot', repository_name)
-  snapshot_fileinfo[snapshot_filename] = \
-      tuf.formats.make_metadata_fileinfo(snapshot_version['version'],
-          length, hashes)
-
-  # Generate the timestamp metadata object.
-  # Use generalized build_dict_conforming_to_schema func to produce a dict that
-  # contains all the appropriate information for timestamp metadata,
-  # checking that the result conforms to the appropriate schema.
-  # TODO: Later, probably after the rewrite for TUF Issue #660, generalize
-  #       further, upward, by replacing generate_targets_metadata,
-  #       generate_root_metadata, etc. with one function that generates
-  #       metadata, possibly rolling that upwards into the calling function.
-  #       There are very few things that really need to be done differently.
-  return tuf.formats.build_dict_conforming_to_schema(
-      tuf.formats.TIMESTAMP_SCHEMA,
-      version=version,
-      expires=expiration_date,
-      meta=snapshot_fileinfo)
-
-
-
-
-
-def sign_metadata(metadata_object, keyids, filename, repository_name):
-  """
-  <Purpose>
-    Sign a metadata object. If any of the keyids have already signed the file,
-    the old signature is replaced.  The keys in 'keyids' must already be
-    loaded in 'tuf.keydb'.
-
-  <Arguments>
-    metadata_object:
-      The metadata object to sign.  For example, 'metadata' might correspond to
-      'tuf.formats.ROOT_SCHEMA' or
-      'tuf.formats.TARGETS_SCHEMA'.
-
-    keyids:
-      The keyids list of the signing keys.
-
-    filename:
-      The intended filename of the signed metadata object.
-      For example, 'root.json' or 'targets.json'.  This function
-      does NOT save the signed metadata to this filename.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if a valid 'signable' object could
-    not be generated or the arguments are improperly formatted.
-
-    securesystemslib.exceptions.Error, if an invalid keytype was found in the
-    keystore.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A signable object conformant to 'tuf.formats.SIGNABLE_SCHEMA'.
-  """
-
-  # Do the arguments have the correct format?
-  # This check ensures arguments have the appropriate number of objects and
-  # object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  tuf.formats.ANYROLE_SCHEMA.check_match(metadata_object)
-  securesystemslib.formats.KEYIDS_SCHEMA.check_match(keyids)
-  securesystemslib.formats.PATH_SCHEMA.check_match(filename)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Make sure the metadata is in 'signable' format.  That is,
-  # it contains a 'signatures' field containing the result
-  # of signing the 'signed' field of 'metadata' with each
-  # keyid of 'keyids'.
-  signable = tuf.formats.make_signable(metadata_object)
-
-  # Sign the metadata with each keyid in 'keyids'.  'signable' should have
-  # zero signatures (metadata_object contained none).
-  for keyid in keyids:
-
-    # Load the signing key.
-    key = tuf.keydb.get_key(keyid, repository_name=repository_name)
-    # Generate the signature using the appropriate signing method.
-    if key['keytype'] in SUPPORTED_KEY_TYPES:
-      if 'private' in key['keyval']:
-        signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-        try:
-          signature = securesystemslib.keys.create_signature(key, signed)
-          signable['signatures'].append(signature)
-
-        except Exception:
-          logger.warning('Unable to create signature for keyid: ' + repr(keyid))
-
-      else:
-        logger.debug('Private key unset.  Skipping: ' + repr(keyid))
-
-    else:
-      raise securesystemslib.exceptions.Error('The keydb contains a key with'
-        ' an invalid key type.' + repr(key['keytype']))
-
-  # Raise 'securesystemslib.exceptions.FormatError' if the resulting 'signable'
-  # is not formatted correctly.
-  try:
-    tuf.formats.check_signable_object_format(signable)
-  except tuf.exceptions.UnsignedMetadataError:
-    # Downgrade the error to a warning because a use case exists where
-    # metadata may be generated unsigned on one machine and signed on another.
-    logger.warning('Unsigned metadata object: ' + repr(signable))
-
-
-  return signable
-
-
-
-
-
-def write_metadata_file(metadata, filename, version_number, consistent_snapshot,
-    storage_backend):
-  """
-  <Purpose>
-    If necessary, write the 'metadata' signable object to 'filename'.
-
-  <Arguments>
-    metadata:
-      The object that will be saved to 'filename', conformant to
-      'tuf.formats.SIGNABLE_SCHEMA'.
-
-    filename:
-      The filename of the metadata to be written (e.g., 'root.json').
-
-    version_number:
-      The version number of the metadata file to be written.  The version
-      number is needed for consistent snapshots, which prepend the version
-      number to 'filename'.
-
-    consistent_snapshot:
-      Boolean that determines whether the metadata file's digest should be
-      prepended to the filename.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    securesystemslib.exceptions.Error, if the directory of 'filename' does not
-    exist.
-
-    Any other runtime (e.g., IO) exception.
-
-  <Side Effects>
-    The 'filename' file is created, or overwritten if it exists.
-
-  <Returns>
-    The filename of the written file.
-  """
-
-  # Do the arguments have the correct format?
-  # This check ensures arguments have the appropriate number of objects and
-  # object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  tuf.formats.SIGNABLE_SCHEMA.check_match(metadata)
-  securesystemslib.formats.PATH_SCHEMA.check_match(filename)
-  tuf.formats.METADATAVERSION_SCHEMA.check_match(version_number)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(consistent_snapshot)
-
-  if storage_backend is None:
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-  # Generate the actual metadata file content of 'metadata'.  Metadata is
-  # saved as JSON and includes formatting, such as indentation and sorted
-  # objects.  The new digest of 'metadata' is also calculated to help determine
-  # if re-saving is required.
-  file_content = _get_written_metadata(metadata)
-
-  # We previously verified whether new metadata needed to be written (i.e., has
-  # not been previously written or has changed).  It is now assumed that the
-  # caller intends to write changes that have been marked as dirty.
-
-  # The 'metadata' object is written to 'file_object'.  To avoid partial
-  # metadata from being written, 'metadata' is first written to a temporary
-  # location (i.e., 'file_object') and then moved to 'filename'.
-  file_object = tempfile.TemporaryFile()
-
-  # Serialize 'metadata' to the file-like object and then write 'file_object'
-  # to disk.  The dictionary keys of 'metadata' are sorted and indentation is
-  # used.
-  file_object.write(file_content)
-
-  if consistent_snapshot:
-    dirname, basename = os.path.split(filename)
-    basename = basename.split(METADATA_EXTENSION, 1)[0]
-    version_and_filename = str(version_number) + '.' + basename + METADATA_EXTENSION
-    written_consistent_filename = os.path.join(dirname, version_and_filename)
-
-    # If we were to point consistent snapshots to 'written_filename', they
-    # would always point to the current version.  Example: 1.root.json and
-    # 2.root.json -> root.json.  If consistent snapshot is True, we should save
-    # the consistent snapshot and point 'written_filename' to it.
-    logger.debug('Creating a consistent file for ' + repr(filename))
-    logger.debug('Saving ' + repr(written_consistent_filename))
-    securesystemslib.util.persist_temp_file(file_object,
-        written_consistent_filename, should_close=False)
-
-  else:
-    logger.debug('Not creating a consistent snapshot for ' + repr(filename))
-
-  logger.debug('Saving ' + repr(filename))
-  storage_backend.put(file_object, filename)
-
-  file_object.close()
-
-  return filename
-
-
-
-
-
-def _log_status_of_top_level_roles(targets_directory, metadata_directory,
-    repository_name, storage_backend):
-  """
-  Non-public function that logs whether any of the top-level roles contain an
-  invalid number of public and private keys, or an insufficient threshold of
-  signatures.  Considering that the top-level metadata have to be verified in
-  the expected root -> targets -> snapshot -> timestamp order, this function
-  logs the error message and returns as soon as a required metadata file is
-  found to be invalid.  It is assumed here that the delegated roles have been
-  written and verified.  Example output:
-
-  'root' role contains 1 / 1 signatures.
-  'targets' role contains 1 / 1 signatures.
-  'snapshot' role contains 1 / 1 signatures.
-  'timestamp' role contains 1 / 1 signatures.
-
-  Note:  Temporary metadata is generated so that file hashes & sizes may be
-  computed and verified against the attached signatures.  'metadata_directory'
-  should be a directory in a temporary repository directory.
-  """
-
-  # The expected full filenames of the top-level roles needed to write them to
-  # disk.
-  filenames = get_top_level_metadata_filenames(metadata_directory)
-  root_filename = filenames[ROOT_FILENAME]
-  targets_filename = filenames[TARGETS_FILENAME]
-  snapshot_filename = filenames[SNAPSHOT_FILENAME]
-  timestamp_filename = filenames[TIMESTAMP_FILENAME]
-
-  # Verify that the top-level roles contain a valid number of public keys and
-  # that their corresponding private keys have been loaded.
-  for rolename in ['root', 'targets', 'snapshot', 'timestamp']:
-    try:
-      _check_role_keys(rolename, repository_name)
-
-    except tuf.exceptions.InsufficientKeysError as e:
-      logger.info(str(e))
-
-  # Do the top-level roles contain a valid threshold of signatures?  Top-level
-  # metadata is verified in Root -> Targets -> Snapshot -> Timestamp order.
-  # Verify the metadata of the Root role.
-  dirty_rolenames = tuf.roledb.get_dirty_roles(repository_name)
-
-  root_roleinfo = tuf.roledb.get_roleinfo('root', repository_name)
-  root_is_dirty = None
-  if 'root' in dirty_rolenames:
-    root_is_dirty = True
-
-  else:
-    root_is_dirty = False
-
-  try:
-    signable, root_filename = \
-      _generate_and_write_metadata('root', root_filename, targets_directory,
-          metadata_directory, storage_backend, repository_name=repository_name)
-    _log_status('root', signable, repository_name)
-
-  # 'tuf.exceptions.UnsignedMetadataError' raised if metadata contains an
-  # invalid threshold of signatures.  log the valid/threshold message, where
-  # valid < threshold.
-  except tuf.exceptions.UnsignedMetadataError as e:
-    _log_status('root', e.signable, repository_name)
-    return
-
-  finally:
-    tuf.roledb.unmark_dirty(['root'], repository_name)
-    tuf.roledb.update_roleinfo('root', root_roleinfo,
-        mark_role_as_dirty=root_is_dirty, repository_name=repository_name)
-
-  # Verify the metadata of the Targets role.
-  targets_roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-  targets_is_dirty = None
-  if 'targets' in dirty_rolenames:
-    targets_is_dirty = True
-
-  else:
-    targets_is_dirty = False
-
-  try:
-    signable, targets_filename = \
-      _generate_and_write_metadata('targets', targets_filename,
-          targets_directory, metadata_directory, storage_backend,
-          repository_name=repository_name)
-    _log_status('targets', signable, repository_name)
-
-  except tuf.exceptions.UnsignedMetadataError as e:
-    _log_status('targets', e.signable, repository_name)
-    return
-
-  finally:
-    tuf.roledb.unmark_dirty(['targets'], repository_name)
-    tuf.roledb.update_roleinfo('targets', targets_roleinfo,
-        mark_role_as_dirty=targets_is_dirty, repository_name=repository_name)
-
-  # Verify the metadata of the snapshot role.
-  snapshot_roleinfo = tuf.roledb.get_roleinfo('snapshot', repository_name)
-  snapshot_is_dirty = None
-  if 'snapshot' in dirty_rolenames:
-    snapshot_is_dirty = True
-
-  else:
-    snapshot_is_dirty = False
-
-  filenames = {'root': root_filename, 'targets': targets_filename}
-  try:
-    signable, snapshot_filename = \
-      _generate_and_write_metadata('snapshot', snapshot_filename,
-          targets_directory, metadata_directory, storage_backend, False,
-          filenames, repository_name=repository_name)
-    _log_status('snapshot', signable, repository_name)
-
-  except tuf.exceptions.UnsignedMetadataError as e:
-    _log_status('snapshot', e.signable, repository_name)
-    return
-
-  finally:
-    tuf.roledb.unmark_dirty(['snapshot'], repository_name)
-    tuf.roledb.update_roleinfo('snapshot', snapshot_roleinfo,
-        mark_role_as_dirty=snapshot_is_dirty, repository_name=repository_name)
-
-  # Verify the metadata of the Timestamp role.
-  timestamp_roleinfo = tuf.roledb.get_roleinfo('timestamp', repository_name)
-  timestamp_is_dirty = None
-  if 'timestamp' in dirty_rolenames:
-    timestamp_is_dirty = True
-
-  else:
-    timestamp_is_dirty = False
-
-  filenames = {'snapshot': snapshot_filename}
-  try:
-    signable, timestamp_filename = \
-      _generate_and_write_metadata('timestamp', timestamp_filename,
-          targets_directory, metadata_directory, storage_backend,
-          False, filenames, repository_name=repository_name)
-    _log_status('timestamp', signable, repository_name)
-
-  except tuf.exceptions.UnsignedMetadataError as e:
-    _log_status('timestamp', e.signable, repository_name)
-    return
-
-  finally:
-    tuf.roledb.unmark_dirty(['timestamp'], repository_name)
-    tuf.roledb.update_roleinfo('timestamp', timestamp_roleinfo,
-        mark_role_as_dirty=timestamp_is_dirty, repository_name=repository_name)
-
-
-
-def _log_status(rolename, signable, repository_name):
-  """
-  Non-public function logs the number of (good/threshold) signatures of
-  'rolename'.
-  """
-
-  status = tuf.sig.get_signature_status(signable, rolename, repository_name)
-
-  logger.info(repr(rolename) + ' role contains ' + \
-    repr(len(status['good_sigs'])) + ' / ' + repr(status['threshold']) + \
-    ' signatures.')
-
-
-
-
-
-def create_tuf_client_directory(repository_directory, client_directory):
-  """
-  <Purpose>
-    Create client directory structure as 'tuf.client.updater' expects it.
-    Metadata files downloaded from a remote TUF repository are saved to
-    'client_directory'.
-    The Root file must initially exist before an update request can be
-    satisfied.  create_tuf_client_directory() ensures the minimum metadata
-    is copied and that required directories ('previous' and 'current') are
-    created in 'client_directory'.  Software updaters integrating TUF may
-    use the client directory created as an initial copy of the repository's
-    metadata.
-
-  <Arguments>
-    repository_directory:
-      The path of the root repository directory.  The 'metadata' and 'targets'
-      sub-directories should be available in 'repository_directory'.  The
-      metadata files of 'repository_directory' are copied to 'client_directory'.
-
-    client_directory:
-      The path of the root client directory.  The 'current' and 'previous'
-      sub-directories are created and will store the metadata files copied
-      from 'repository_directory'.  'client_directory' will store metadata
-      and target files downloaded from a TUF repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    tuf.exceptions.RepositoryError, if the metadata directory in
-    'client_directory' already exists.
-
-  <Side Effects>
-    Copies metadata files and directories from 'repository_directory' to
-    'client_directory'.  Parent directories are created if they do not exist.
-
-  <Returns>
-    None.
-  """
-
-  # Do the arguments have the correct format?
-  # This check ensures arguments have the appropriate number of objects and
-  # object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  securesystemslib.formats.PATH_SCHEMA.check_match(repository_directory)
-  securesystemslib.formats.PATH_SCHEMA.check_match(client_directory)
-
-  # Set the absolute path of the Repository's metadata directory.  The metadata
-  # directory should be the one served by the Live repository.  At a minimum,
-  # the repository's root file must be copied.
-  repository_directory = os.path.abspath(repository_directory)
-  metadata_directory = os.path.join(repository_directory,
-      METADATA_DIRECTORY_NAME)
-
-  # Set the client's metadata directory, which will store the metadata copied
-  # from the repository directory set above.
-  client_directory = os.path.abspath(client_directory)
-  client_metadata_directory = os.path.join(client_directory,
-      METADATA_DIRECTORY_NAME)
-
-  # If the client's metadata directory does not already exist, create it and
-  # any of its parent directories, otherwise raise an exception.  An exception
-  # is raised to avoid accidentally overwriting previous metadata.
-  try:
-    os.makedirs(client_metadata_directory)
-
-  except OSError as e:
-    if e.errno == errno.EEXIST:
-      message = 'Cannot create a fresh client metadata directory: ' +\
-        repr(client_metadata_directory) + '.  Already exists.'
-      raise tuf.exceptions.RepositoryError(message)
-
-    # Testing of non-errno.EEXIST exceptions have been verified on all
-    # supported OSs.  An unexpected exception (the '/' directory exists, rather
-    # than disallowed path) is possible on Travis, so the '#pragma: no branch'
-    # below is included to prevent coverage failure.
-    else: #pragma: no branch
-      raise
-
-  # Move all  metadata to the client's 'current' and 'previous' directories.
-  # The root metadata file MUST exist in '{client_metadata_directory}/current'.
-  # 'tuf.client.updater' expects the 'current' and 'previous' directories to
-  # exist under 'metadata'.
-  client_current = os.path.join(client_metadata_directory, 'current')
-  client_previous = os.path.join(client_metadata_directory, 'previous')
-  shutil.copytree(metadata_directory, client_current)
-  shutil.copytree(metadata_directory, client_previous)
-
-
-
-def disable_console_log_messages():
-  """
-  <Purpose>
-    Disable logger messages printed to the console.  For example, repository
-    maintainers may want to call this function if many roles will be sharing
-    keys, otherwise detected duplicate keys will continually log a warning
-    message.
-
-  <Arguments>
-    None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Removes the 'tuf.log' console handler, added by default when
-    'tuf.repository_tool.py' is imported.
-
-  <Returns>
-    None.
-  """
-
-  tuf.log.remove_console_handler()
-
-
-
-def keys_to_keydict(keys):
-  """
-  <Purpose>
-    Iterate over a list of keys and return a list of keyids and a dict mapping
-    keyid to key metadata
-
-  <Arguments>
-    keys:
-      A list of key objects conforming to
-      securesystemslib.formats.ANYKEYLIST_SCHEMA.
-
-  <Returns>
-    keyids:
-      A list of keyids conforming to securesystemslib.formats.KEYID_SCHEMA
-    keydict:
-      A dictionary conforming to securesystemslib.formats.KEYDICT_SCHEMA
-  """
-  keyids = []
-  keydict = {}
-
-  for key in keys:
-    keyid = key['keyid']
-    key_metadata_format = securesystemslib.keys.format_keyval_to_metadata(
-        key['keytype'], key['scheme'], key['keyval'])
-
-    new_keydict = {keyid: key_metadata_format}
-    keydict.update(new_keydict)
-    keyids.append(keyid)
-  return keyids, keydict
-
-
-
-
-if __name__ == '__main__':
-  # The interactive sessions of the documentation strings can
-  # be tested by running repository_lib.py as a standalone module:
-  # $ python repository_lib.py.
-  import doctest
-  doctest.testmod()
diff --git a/tuf/repository_tool.py b/tuf/repository_tool.py
deleted file mode 100755
index 1fe6a51e83..0000000000
--- a/tuf/repository_tool.py
+++ /dev/null
@@ -1,3302 +0,0 @@
-
-#!/usr/bin/env python
-
-# Copyright 2013 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  repository_tool.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  October 19, 2013
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provide a tool that can create a TUF repository.  It can be used with the
-  Python interpreter in interactive mode, or imported directly into a Python
-  module.  See 'tuf/README' for the complete guide to using
-  'tuf.repository_tool.py'.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import time
-import datetime
-import logging
-import tempfile
-import shutil
-import json
-
-from collections import deque
-
-import tuf
-import tuf.formats
-import tuf.roledb
-import tuf.sig
-import tuf.log
-import tuf.exceptions
-import tuf.repository_lib as repo_lib
-
-import securesystemslib.keys
-import securesystemslib.formats
-import securesystemslib.util
-import six
-
-import securesystemslib.storage
-
-
-# Copy API
-# pylint: disable=unused-import
-
-# Copy generic repository API functions to be used via `repository_tool`
-from tuf.repository_lib import (
-    create_tuf_client_directory,
-    disable_console_log_messages)
-
-
-# Copy key-related API functions to be used via `repository_tool`
-from tuf.repository_lib import (
-    import_rsa_privatekey_from_file,
-    import_ed25519_privatekey_from_file)
-
-from securesystemslib.interface import (
-    generate_and_write_rsa_keypair,
-    generate_and_write_rsa_keypair_with_prompt,
-    generate_and_write_unencrypted_rsa_keypair,
-    generate_and_write_ecdsa_keypair,
-    generate_and_write_ecdsa_keypair_with_prompt,
-    generate_and_write_unencrypted_ecdsa_keypair,
-    generate_and_write_ed25519_keypair,
-    generate_and_write_ed25519_keypair_with_prompt,
-    generate_and_write_unencrypted_ed25519_keypair,
-    import_rsa_publickey_from_file,
-    import_ecdsa_publickey_from_file,
-    import_ed25519_publickey_from_file,
-    import_ecdsa_privatekey_from_file)
-
-from securesystemslib.keys import (
-    generate_rsa_key,
-    generate_ecdsa_key,
-    generate_ed25519_key,
-    import_rsakey_from_pem,
-    import_ecdsakey_from_pem)
-
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# Add a console handler so that users are aware of potentially unintended
-# states, such as multiple roles that share keys.
-tuf.log.add_console_handler()
-tuf.log.set_console_log_level(logging.INFO)
-
-# Recommended RSA key sizes:
-# https://en.wikipedia.org/wiki/Key_size#Asymmetric_algorithm_key_lengths
-# Based on the above, RSA keys of size 3072 are expected to provide security
-# through 2031 and beyond.
-DEFAULT_RSA_KEY_BITS=3072
-
-# The default number of hashed bin delegations
-DEFAULT_NUM_BINS=1024
-
-# The targets and metadata directory names.  Metadata files are written
-# to the staged metadata directory instead of the "live" one.
-METADATA_STAGED_DIRECTORY_NAME = 'metadata.staged'
-METADATA_DIRECTORY_NAME = 'metadata'
-TARGETS_DIRECTORY_NAME = 'targets'
-
-# The extension of TUF metadata.
-METADATA_EXTENSION = '.json'
-
-# Expiration date delta, in seconds, of the top-level roles.  A metadata
-# expiration date is set by taking the current time and adding the expiration
-# seconds listed below.
-
-# Initial 'root.json' expiration time of 1 year.
-ROOT_EXPIRATION = 31556900
-
-# Initial 'targets.json' expiration time of 3 months.
-TARGETS_EXPIRATION = 7889230
-
-# Initial 'snapshot.json' expiration time of 1 week.
-SNAPSHOT_EXPIRATION = 604800
-
-# Initial 'timestamp.json' expiration time of 1 day.
-TIMESTAMP_EXPIRATION = 86400
-
-
-class Repository(object):
-  """
-  <Purpose>
-    Represent a TUF repository that contains the metadata of the top-level
-    roles, including all those delegated from the 'targets.json' role.  The
-    repository object returned provides access to the top-level roles, and any
-    delegated targets that are added as the repository is modified.  For
-    example, a Repository object named 'repository' provides the following
-    access by default:
-
-    repository.root.version = 2
-    repository.timestamp.expiration = datetime.datetime(2015, 8, 8, 12, 0)
-    repository.snapshot.add_verification_key(...)
-    repository.targets.delegate('unclaimed', ...)
-
-    Delegating a role from 'targets' updates the attributes of the parent
-    delegation, which then provides:
-
-    repository.targets('unclaimed').add_verification_key(...)
-
-
-  <Arguments>
-    repository_directory:
-      The root folder of the repository that contains the metadata and targets
-      sub-directories.
-
-    metadata_directory:
-      The metadata sub-directory contains the files of the top-level
-      roles, including all roles delegated from 'targets.json'.
-
-    targets_directory:
-      The targets sub-directory contains all the target files that are
-      downloaded by clients and are referenced in TUF Metadata.  The hashes and
-      file lengths are listed in Metadata files so that they are securely
-      downloaded.  Metadata files are similarly referenced in the top-level
-      metadata.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-    use_timestamp_length:
-      Whether to include the optional length attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_timestamp_hashes:
-      Whether to include the optional hashes attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_snapshot_length:
-      Whether to include the optional length attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-    use_snapshot_hashes:
-      Whether to include the optional hashes attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-  <Side Effects>
-    Creates top-level role objects and assigns them as attributes.
-
-  <Returns>
-    A Repository object that contains default Metadata objects for the top-level
-    roles.
-  """
-
-  def __init__(self, repository_directory, metadata_directory,
-      targets_directory, storage_backend, repository_name='default',
-      use_timestamp_length=True, use_timestamp_hashes=True,
-      use_snapshot_length=False, use_snapshot_hashes=False):
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.PATH_SCHEMA.check_match(repository_directory)
-    securesystemslib.formats.PATH_SCHEMA.check_match(metadata_directory)
-    securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_timestamp_length)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_timestamp_hashes)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_snapshot_length)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(use_snapshot_hashes)
-
-    self._repository_directory = repository_directory
-    self._metadata_directory = metadata_directory
-    self._targets_directory = targets_directory
-    self._repository_name = repository_name
-    self._storage_backend = storage_backend
-    self._use_timestamp_length = use_timestamp_length
-    self._use_timestamp_hashes = use_timestamp_hashes
-    self._use_snapshot_length = use_snapshot_length
-    self._use_snapshot_hashes = use_snapshot_hashes
-
-    try:
-      tuf.roledb.create_roledb(repository_name)
-      tuf.keydb.create_keydb(repository_name)
-
-    except securesystemslib.exceptions.InvalidNameError:
-      logger.debug(repr(repository_name) + ' already exists.  Overwriting'
-          ' its contents.')
-
-    # Set the top-level role objects.
-    self.root = Root(self._repository_name)
-    self.snapshot = Snapshot(self._repository_name)
-    self.timestamp = Timestamp(self._repository_name)
-    self.targets = Targets(self._targets_directory, 'targets',
-        repository_name=self._repository_name)
-
-
-
-  def writeall(self, consistent_snapshot=False, use_existing_fileinfo=False):
-    """
-    <Purpose>
-      Write all the JSON Metadata objects to their corresponding files for
-      roles which have changed.
-      writeall() raises an exception if any of the role metadata to be written
-      to disk is invalid, such as an insufficient threshold of signatures,
-      missing private keys, etc.
-
-    <Arguments>
-      consistent_snapshot:
-        A boolean indicating whether role metadata files should have their
-        version numbers as filename prefix when written to disk, i.e
-        'VERSION.ROLENAME.json', and target files should be copied to a
-        filename that has their hex digest as filename prefix, i.e
-        'HASH.FILENAME'. Note that:
-        - root metadata is always written with a version prefix, independently
-          of 'consistent_snapshot'
-        - the latest version of each metadata file is always also written
-          without version prefix
-        - target files are only copied to a hash-prefixed filename if
-          'consistent_snapshot' is True and 'use_existing_fileinfo' is False.
-          If both are True hash-prefixed target file copies must be created
-          out-of-band.
-
-      use_existing_fileinfo:
-        Boolean indicating whether the fileinfo dicts in the roledb should be
-        written as-is (True) or whether hashes should be generated (False,
-        requires access to the targets files on-disk).
-
-    <Exceptions>
-      tuf.exceptions.UnsignedMetadataError, if any of the top-level
-      and delegated roles do not have the minimum threshold of signatures.
-
-    <Side Effects>
-      Creates metadata files in the repository's metadata directory.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly
-    # formatted.
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(consistent_snapshot)
-
-    # At this point, tuf.keydb and tuf.roledb must be fully populated,
-    # otherwise writeall() throws a 'tuf.exceptions.UnsignedMetadataError' for
-    # the top-level roles.  exception if any of the top-level roles are missing
-    # signatures, keys, etc.
-
-    # Write the metadata files of all the Targets roles that are dirty (i.e.,
-    # have been modified via roledb.update_roleinfo()).
-    filenames = {'root': os.path.join(self._metadata_directory,
-        repo_lib.ROOT_FILENAME), 'targets': os.path.join(self._metadata_directory,
-        repo_lib.TARGETS_FILENAME), 'snapshot': os.path.join(self._metadata_directory,
-        repo_lib.SNAPSHOT_FILENAME), 'timestamp': os.path.join(self._metadata_directory,
-        repo_lib.TIMESTAMP_FILENAME)}
-
-    snapshot_signable = None
-    dirty_rolenames = tuf.roledb.get_dirty_roles(self._repository_name)
-
-    for dirty_rolename in dirty_rolenames:
-
-      # Ignore top-level roles, they will be generated later in this method.
-      if dirty_rolename in tuf.roledb.TOP_LEVEL_ROLES:
-        continue
-
-      dirty_filename = os.path.join(self._metadata_directory,
-          dirty_rolename + METADATA_EXTENSION)
-      repo_lib._generate_and_write_metadata(dirty_rolename, dirty_filename,
-          self._targets_directory, self._metadata_directory,
-          self._storage_backend, consistent_snapshot, filenames,
-          repository_name=self._repository_name,
-          use_existing_fileinfo=use_existing_fileinfo)
-
-    # Metadata should be written in (delegated targets -> root -> targets ->
-    # snapshot -> timestamp) order.  Begin by generating the 'root.json'
-    # metadata file.  _generate_and_write_metadata() raises a
-    # 'securesystemslib.exceptions.Error' exception if the metadata cannot be
-    # written.
-    root_roleinfo = tuf.roledb.get_roleinfo('root', self._repository_name)
-    old_consistent_snapshot = root_roleinfo['consistent_snapshot']
-    if 'root' in dirty_rolenames or consistent_snapshot != old_consistent_snapshot:
-      repo_lib._generate_and_write_metadata('root', filenames['root'],
-          self._targets_directory, self._metadata_directory,
-          self._storage_backend, consistent_snapshot, filenames,
-          repository_name=self._repository_name)
-
-    # Generate the 'targets.json' metadata file.
-    if 'targets' in dirty_rolenames:
-      repo_lib._generate_and_write_metadata('targets', filenames['targets'],
-          self._targets_directory, self._metadata_directory,
-          self._storage_backend, consistent_snapshot,
-          repository_name=self._repository_name,
-          use_existing_fileinfo=use_existing_fileinfo)
-
-    # Generate the 'snapshot.json' metadata file.
-    if 'snapshot' in dirty_rolenames:
-      snapshot_signable, junk = repo_lib._generate_and_write_metadata('snapshot',
-          filenames['snapshot'], self._targets_directory,
-          self._metadata_directory, self._storage_backend,
-          consistent_snapshot, filenames,
-          repository_name=self._repository_name,
-          use_snapshot_length=self._use_snapshot_length,
-          use_snapshot_hashes=self._use_snapshot_hashes)
-
-    # Generate the 'timestamp.json' metadata file.
-    if 'timestamp' in dirty_rolenames:
-      repo_lib._generate_and_write_metadata('timestamp', filenames['timestamp'],
-          self._targets_directory, self._metadata_directory,
-          self._storage_backend, consistent_snapshot,
-          filenames, repository_name=self._repository_name,
-          use_timestamp_length=self._use_timestamp_length,
-          use_timestamp_hashes=self._use_timestamp_hashes)
-
-    tuf.roledb.unmark_dirty(dirty_rolenames, self._repository_name)
-
-    # Delete the metadata of roles no longer in 'tuf.roledb'.  Obsolete roles
-    # may have been revoked and should no longer have their metadata files
-    # available on disk, otherwise loading a repository may unintentionally
-    # load them.
-    if snapshot_signable is not None:
-      repo_lib._delete_obsolete_metadata(self._metadata_directory,
-          snapshot_signable['signed'], consistent_snapshot, self._repository_name,
-          self._storage_backend)
-
-
-
-  def write(self, rolename, consistent_snapshot=False, increment_version_number=True,
-      use_existing_fileinfo=False):
-    """
-    <Purpose>
-      Write the JSON metadata for 'rolename' to its corresponding file on disk.
-      Unlike writeall(), write() allows the metadata file to contain an invalid
-      threshold of signatures.
-
-    <Arguments>
-      rolename:
-        The name of the role to be written to disk.
-
-      consistent_snapshot:
-        A boolean indicating whether the role metadata file should have its
-        version number as filename prefix when written to disk, i.e
-        'VERSION.ROLENAME.json'. Note that:
-        - root metadata is always written with a version prefix, independently
-          of 'consistent_snapshot'
-        - the latest version of the metadata file is always also written
-          without version prefix
-        - if the metadata is targets metadata and 'consistent_snapshot' is
-          True, the corresponding target files are copied to a filename with
-          their hex digest as filename prefix, i.e 'HASH.FILENAME', unless
-          'use_existing_fileinfo' is also True.
-          If 'consistent_snapshot' and 'use_existing_fileinfo' both are True,
-          hash-prefixed target file copies must be created out-of-band.
-
-      increment_version_number:
-        Boolean indicating whether the version number of 'rolename' should be
-        automatically incremented.
-
-      use_existing_fileinfo:
-        Boolean indicating whether the fileinfo dicts in the roledb should be
-        written as-is (True) or whether hashes should be generated (False,
-        requires access to the targets files on-disk).
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      Creates metadata files in the repository's metadata directory.
-
-    <Returns>
-      None.
-    """
-
-    rolename_filename = os.path.join(self._metadata_directory,
-                                     rolename + METADATA_EXTENSION)
-
-    filenames = {'root': os.path.join(self._metadata_directory, repo_lib.ROOT_FILENAME),
-        'targets': os.path.join(self._metadata_directory, repo_lib.TARGETS_FILENAME),
-         'snapshot': os.path.join(self._metadata_directory, repo_lib.SNAPSHOT_FILENAME),
-         'timestamp': os.path.join(self._metadata_directory, repo_lib.TIMESTAMP_FILENAME)}
-
-    repo_lib._generate_and_write_metadata(rolename, rolename_filename,
-        self._targets_directory, self._metadata_directory,
-        self._storage_backend, consistent_snapshot,
-        filenames=filenames, allow_partially_signed=True,
-        increment_version_number=increment_version_number,
-        repository_name=self._repository_name,
-        use_existing_fileinfo=use_existing_fileinfo)
-
-    # Ensure 'rolename' is no longer marked as dirty after the successful write().
-    tuf.roledb.unmark_dirty([rolename], self._repository_name)
-
-
-
-
-
-  def status(self):
-    """
-    <Purpose>
-      Determine the status of the top-level roles.  status() checks if each
-      role provides sufficient public and private keys, signatures, and that a
-      valid metadata file is generated if writeall() or write() were to be
-      called.  Metadata files are temporarily written so that file hashes and
-      lengths may be verified, determine if delegated role trust is fully
-      obeyed, and target paths valid according to parent roles.  status() does
-      not do a simple check for number of threshold keys and signatures.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      Generates and writes temporary metadata files.
-
-    <Returns>
-      None.
-    """
-
-    temp_repository_directory = None
-
-    # Generate and write temporary metadata so that full verification of
-    # metadata is possible, such as verifying signatures, digests, and file
-    # content.  Ensure temporary files are removed after verification results
-    # are completed.
-    try:
-      temp_repository_directory = tempfile.mkdtemp()
-      targets_directory = self._targets_directory
-      metadata_directory = os.path.join(temp_repository_directory,
-          METADATA_STAGED_DIRECTORY_NAME)
-      os.mkdir(metadata_directory)
-
-      # Verify the top-level roles and log the results.
-      repo_lib._log_status_of_top_level_roles(targets_directory,
-          metadata_directory, self._repository_name, self._storage_backend)
-
-    finally:
-      shutil.rmtree(temp_repository_directory, ignore_errors=True)
-
-
-
-  def dirty_roles(self):
-    """
-    <Purpose>
-      Print/log the roles that have been modified.  For example, if some role's
-      version number is changed (repository.timestamp.version = 2), it is
-      considered dirty and will be included in the list of dirty roles
-      printed/logged here.  Unlike status(), signatures, public keys, targets,
-      etc. are not verified.  status() should be called instead if the caller
-      would like to verify if a valid role file is generated if writeall() were
-      to be called.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      None.
-    """
-
-    logger.info('Dirty roles: ' + str(tuf.roledb.get_dirty_roles(self._repository_name)))
-
-
-
-  def mark_dirty(self, roles):
-    """
-    <Purpose>
-      Mark the list of 'roles' as dirty.
-
-    <Arguments>
-      roles:
-        A list of roles to mark as dirty.  on the next write, these roles
-        will be written to disk.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      None.
-    """
-
-    tuf.roledb.mark_dirty(roles, self._repository_name)
-
-
-
-  def unmark_dirty(self, roles):
-    """
-    <Purpose>
-      No longer mark the list of 'roles' as dirty.
-
-    <Arguments>
-      roles:
-        A list of roles to mark as dirty.  on the next write, these roles
-        will be written to disk.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      None.
-    """
-
-    tuf.roledb.unmark_dirty(roles, self._repository_name)
-
-
-
-  @staticmethod
-  def get_filepaths_in_directory(files_directory, recursive_walk=False,
-      followlinks=True):
-    """
-    <Purpose>
-      Walk the given 'files_directory' and build a list of target files found.
-
-    <Arguments>
-      files_directory:
-        The path to a directory of target files.
-
-      recursive_walk:
-        To recursively walk the directory, set recursive_walk=True.
-
-      followlinks:
-        To follow symbolic links, set followlinks=True.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the arguments are improperly
-      formatted.
-
-      securesystemslib.exceptions.Error, if 'file_directory' is not a valid
-      directory.
-
-      Python IO exceptions.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A list of absolute paths to target files in the given 'files_directory'.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.PATH_SCHEMA.check_match(files_directory)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(recursive_walk)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(followlinks)
-
-    # Ensure a valid directory is given.
-    if not os.path.isdir(files_directory):
-      raise securesystemslib.exceptions.Error(repr(files_directory) + ' is not'
-        ' a directory.')
-
-    # A list of the target filepaths found in 'files_directory'.
-    targets = []
-
-    # FIXME: We need a way to tell Python 2, but not Python 3, to return
-    # filenames in Unicode; see #61 and:
-    # http://docs.python.org/2/howto/unicode.html#unicode-filenames
-    for dirpath, dirnames, filenames in os.walk(files_directory,
-                                                followlinks=followlinks):
-      for filename in filenames:
-        full_target_path = os.path.join(os.path.abspath(dirpath), filename)
-        targets.append(full_target_path)
-
-      # Prune the subdirectories to walk right now if we do not wish to
-      # recursively walk 'files_directory'.
-      if recursive_walk is False:
-        del dirnames[:]
-
-      else:
-        logger.debug('Not pruning subdirectories ' + repr(dirnames))
-
-    return targets
-
-
-
-
-
-class Metadata(object):
-  """
-  <Purpose>
-    Provide a base class to represent a TUF Metadata role.  There are four
-    top-level roles: Root, Targets, Snapshot, and Timestamp.  The Metadata
-    class provides methods that are needed by all top-level roles, such as
-    adding and removing public keys, private keys, and signatures.  Metadata
-    attributes, such as rolename, version, threshold, expiration, and key list
-    are also provided by the Metadata base class.
-
-  <Arguments>
-    None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self):
-    self._rolename = None
-    self._repository_name = None
-
-
-  def add_verification_key(self, key, expires=None):
-    """
-    <Purpose>
-      Add 'key' to the role.  Adding a key, which should contain only the
-      public portion, signifies the corresponding private key and signatures
-      the role is expected to provide.  A threshold of signatures is required
-      for a role to be considered properly signed.  If a metadata file contains
-      an insufficient threshold of signatures, it must not be accepted.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      key:
-        The role key to be added, conformant to
-        'securesystemslib.formats.ANYKEY_SCHEMA'.  Adding a public key to a role
-        means that its corresponding private key must generate and add its
-        signature to the role.  A threshold number of signatures is required
-        for a role to be fully signed.
-
-      expires:
-        The date in which 'key' expires.  'expires' is a datetime.datetime()
-        object.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if any of the arguments are
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if the 'expires' datetime has already
-      expired.
-
-    <Side Effects>
-      The role's entries in 'tuf.keydb.py' and 'tuf.roledb.py' are
-      updated.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'key' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.ANYKEY_SCHEMA.check_match(key)
-
-    # If 'expires' is unset, choose a default expiration for 'key'.  By
-    # default, Root, Targets, Snapshot, and Timestamp keys are set to expire
-    # 1 year, 3 months, 1 week, and 1 day from the current time, respectively.
-    if expires is None:
-      if self.rolename == 'root':
-        expires = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + ROOT_EXPIRATION))
-
-      elif self.rolename == 'Targets':
-        expires = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + TARGETS_EXPIRATION))
-
-      elif self.rolename == 'Snapshot':
-        expires = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + SNAPSHOT_EXPIRATION))
-
-      elif self.rolename == 'Timestamp':
-        expires = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + TIMESTAMP_EXPIRATION))
-
-      else:
-        expires = \
-          tuf.formats.unix_timestamp_to_datetime(int(time.time() + TIMESTAMP_EXPIRATION))
-
-    # Is 'expires' a datetime.datetime() object?
-    # Raise 'securesystemslib.exceptions.FormatError' if not.
-    if not isinstance(expires, datetime.datetime):
-      raise securesystemslib.exceptions.FormatError(repr(expires) + ' is not a'
-          ' datetime.datetime() object.')
-
-    # Truncate the microseconds value to produce a correct schema string
-    # of the form 'yyyy-mm-ddThh:mm:ssZ'.
-    expires = expires.replace(microsecond = 0)
-
-    # Ensure the expiration has not already passed.
-    current_datetime = \
-      tuf.formats.unix_timestamp_to_datetime(int(time.time()))
-
-    if expires < current_datetime:
-      raise securesystemslib.exceptions.Error(repr(key) + ' has already'
-          ' expired.')
-
-    # Update the key's 'expires' entry.
-    expires = expires.isoformat() + 'Z'
-    key['expires'] = expires
-
-    # Ensure 'key', which should contain the public portion, is added to
-    # 'tuf.keydb.py'.  Add 'key' to the list of recognized keys.
-    # Keys may be shared, so do not raise an exception if 'key' has already
-    # been loaded.
-    try:
-      tuf.keydb.add_key(key, repository_name=self._repository_name)
-
-    except tuf.exceptions.KeyAlreadyExistsError:
-      logger.warning('Adding a verification key that has already been used.')
-
-    keyid = key['keyid']
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    # Save the keyids that are being replaced since certain roles will need to
-    # re-sign metadata with these keys (e.g., root).  Use list() to make a copy
-    # of roleinfo['keyids'] to ensure we're modifying distinct lists.
-    previous_keyids = list(roleinfo['keyids'])
-
-    # Add 'key' to the role's entry in 'tuf.roledb.py', and avoid duplicates.
-    if keyid not in roleinfo['keyids']:
-      roleinfo['keyids'].append(keyid)
-      roleinfo['previous_keyids'] = previous_keyids
-
-      tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-          repository_name=self._repository_name)
-
-
-
-  def remove_verification_key(self, key):
-    """
-    <Purpose>
-      Remove 'key' from the role's currently recognized list of role keys.
-      The role expects a threshold number of signatures.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      key:
-        The role's key, conformant to 'securesystemslib.formats.ANYKEY_SCHEMA'.
-        'key' should contain only the public portion, as only the public key is
-        needed.  The 'add_verification_key()' method should have previously
-        added 'key'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'key' argument is
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if the 'key' argument has not been
-      previously added.
-
-    <Side Effects>
-      Updates the role's 'tuf.roledb.py' entry.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'key' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.ANYKEY_SCHEMA.check_match(key)
-
-    keyid = key['keyid']
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    if keyid in roleinfo['keyids']:
-      roleinfo['keyids'].remove(keyid)
-
-      tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-          repository_name=self._repository_name)
-
-    else:
-      raise securesystemslib.exceptions.Error('Verification key not found.')
-
-
-
-  def load_signing_key(self, key):
-    """
-    <Purpose>
-      Load the role key, which must contain the private portion, so that role
-      signatures may be generated when the role's metadata file is eventually
-      written to disk.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      key:
-        The role's key, conformant to 'securesystemslib.formats.ANYKEY_SCHEMA'.
-        It must contain the private key, so that role signatures may be
-        generated when writeall() or write() is eventually called to generate
-        valid metadata files.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'key' is improperly formatted.
-
-      securesystemslib.exceptions.Error, if the private key is not found in 'key'.
-
-    <Side Effects>
-      Updates the role's 'tuf.keydb.py' and 'tuf.roledb.py' entries.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'key' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.ANYKEY_SCHEMA.check_match(key)
-
-    # Ensure the private portion of the key is available, otherwise signatures
-    # cannot be generated when the metadata file is written to disk.
-    if 'private' not in key['keyval'] or not len(key['keyval']['private']):
-      raise securesystemslib.exceptions.Error('This is not a private key.')
-
-    # Has the key, with the private portion included, been added to the keydb?
-    # The public version of the key may have been previously added.
-    try:
-      tuf.keydb.add_key(key, repository_name=self._repository_name)
-
-    except tuf.exceptions.KeyAlreadyExistsError:
-      tuf.keydb.remove_key(key['keyid'], self._repository_name)
-      tuf.keydb.add_key(key, repository_name=self._repository_name)
-
-    # Update the role's 'signing_keys' field in 'tuf.roledb.py'.
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    if key['keyid'] not in roleinfo['signing_keyids']:
-      roleinfo['signing_keyids'].append(key['keyid'])
-
-      tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-          repository_name=self._repository_name)
-
-
-
-  def unload_signing_key(self, key):
-    """
-    <Purpose>
-      Remove a previously loaded role private key (i.e., load_signing_key()).
-      The keyid of the 'key' is removed from the list of recognized signing
-      keys.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      key:
-        The role key to be unloaded, conformant to
-        'securesystemslib.formats.ANYKEY_SCHEMA'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'key' argument is
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if the 'key' argument has not been
-      previously loaded.
-
-    <Side Effects>
-      Updates the signing keys of the role in 'tuf.roledb.py'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'key' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.ANYKEY_SCHEMA.check_match(key)
-
-    # Update the role's 'signing_keys' field in 'tuf.roledb.py'.
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    # TODO: Should we consider removing keys from keydb that are no longer
-    # associated with any roles?  There could be many no-longer-used keys
-    # stored in the keydb if not.  For now, just unload the key.
-    if key['keyid'] in roleinfo['signing_keyids']:
-      roleinfo['signing_keyids'].remove(key['keyid'])
-
-      tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-          repository_name=self._repository_name)
-
-    else:
-      raise securesystemslib.exceptions.Error('Signing key not found.')
-
-
-
-  def add_signature(self, signature, mark_role_as_dirty=True):
-    """
-    <Purpose>
-      Add a signature to the role.  A role is considered fully signed if it
-      contains a threshold of signatures.  The 'signature' should have been
-      generated by the private key corresponding to one of the role's expected
-      keys.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      signature:
-        The signature to be added to the role, conformant to
-        'securesystemslib.formats.SIGNATURE_SCHEMA'.
-
-      mark_role_as_dirty:
-        A boolean indicating whether the updated 'roleinfo' for 'rolename'
-        should be marked as dirty.  The caller might not want to mark
-        'rolename' as dirty if it is loading metadata from disk and only wants
-        to populate roledb.py.  Likewise, add_role() would support a similar
-        boolean to allow the repository tools to successfully load roles via
-        load_repository() without needing to mark these roles as dirty (default
-        behavior).
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'signature' argument is
-      improperly formatted.
-
-    <Side Effects>
-      Adds 'signature', if not already added, to the role's 'signatures' field
-      in 'tuf.roledb.py'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'signature' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.SIGNATURE_SCHEMA.check_match(signature)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(mark_role_as_dirty)
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    # Ensure the roleinfo contains a 'signatures' field.
-    if 'signatures' not in roleinfo:
-      roleinfo['signatures'] = []
-
-    # Update the role's roleinfo by adding 'signature', if it has not been
-    # added.
-    if signature not in roleinfo['signatures']:
-      roleinfo['signatures'].append(signature)
-      tuf.roledb.update_roleinfo(self.rolename, roleinfo, mark_role_as_dirty,
-          repository_name=self._repository_name)
-
-    else:
-      logger.debug('Signature already exists for role: ' + repr(self.rolename))
-
-
-
-  def remove_signature(self, signature):
-    """
-    <Purpose>
-      Remove a previously loaded, or added, role 'signature'.  A role must
-      contain a threshold number of signatures to be considered fully signed.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      signature:
-        The role signature to remove, conformant to
-        'securesystemslib.formats.SIGNATURE_SCHEMA'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'signature' argument is
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if 'signature' has not been previously
-      added to this role.
-
-    <Side Effects>
-      Updates the 'signatures' field of the role in 'tuf.roledb.py'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'signature' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.SIGNATURE_SCHEMA.check_match(signature)
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    if signature in roleinfo['signatures']:
-      roleinfo['signatures'].remove(signature)
-
-      tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-          repository_name=self._repository_name)
-
-    else:
-      raise securesystemslib.exceptions.Error('Signature not found.')
-
-
-
-  @property
-  def signatures(self):
-    """
-    <Purpose>
-      A getter method that returns the role's signatures.  A role is considered
-      fully signed if it contains a threshold number of signatures, where each
-      signature must be provided by the generated by the private key.  Keys
-      are added to a role with the add_verification_key() method.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A list of signatures, conformant to
-      'securesystemslib.formats.SIGNATURES_SCHEMA'.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    signatures = roleinfo['signatures']
-
-    return signatures
-
-
-
-  @property
-  def keys(self):
-    """
-    <Purpose>
-      A getter method that returns the role's keyids of the keys.  The role
-      is expected to eventually contain a threshold of signatures generated
-      by the private keys of each of the role's keys (returned here as a keyid.)
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A list of the role's keyids (i.e., keyids of the keys).
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    keyids = roleinfo['keyids']
-
-    return keyids
-
-
-
-  @property
-  def rolename(self):
-    """
-    <Purpose>
-      Return the role's name.
-      Examples: 'root', 'timestamp', 'targets/unclaimed/django'.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The role's name, conformant to 'tuf.formats.ROLENAME_SCHEMA'.
-      Examples: 'root', 'timestamp', 'targets/unclaimed/django'.
-    """
-
-    return self._rolename
-
-
-
-  @property
-  def version(self):
-    """
-    <Purpose>
-      A getter method that returns the role's version number, conformant to
-      'tuf.formats.VERSION_SCHEMA'.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The role's version number, conformant to
-      'tuf.formats.VERSION_SCHEMA'.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    version = roleinfo['version']
-
-    return version
-
-
-
-  @version.setter
-  def version(self, version):
-    """
-    <Purpose>
-      A setter method that updates the role's version number.  TUF clients
-      download new metadata with version number greater than the version
-      currently trusted.  New metadata start at version 1 when either write()
-      or write_partial() is called.  Version numbers are automatically
-      incremented, when the write methods are called, as follows:
-
-      1.  write_partial==True and the metadata is the first to be written.
-
-      2.  write_partial=False (i.e., write()), the metadata was not loaded as
-          partially written, and a write_partial is not needed.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      version:
-        The role's version number, conformant to
-        'tuf.formats.VERSION_SCHEMA'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'version' argument is
-      improperly formatted.
-
-    <Side Effects>
-      Modifies the 'version' attribute of the Repository object and updates the
-      role's version in 'tuf.roledb.py'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'version' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    tuf.formats.METADATAVERSION_SCHEMA.check_match(version)
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    roleinfo['version'] = version
-
-    tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-  @property
-  def threshold(self):
-    """
-    <Purpose>
-      Return the role's threshold value.  A role is considered fully signed if
-      a threshold number of signatures is available.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The role's threshold value, conformant to
-      'tuf.formats.THRESHOLD_SCHEMA'.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self._rolename, self._repository_name)
-    threshold = roleinfo['threshold']
-
-    return threshold
-
-
-
-  @threshold.setter
-  def threshold(self, threshold):
-    """
-    <Purpose>
-      A setter method that modified the threshold value of the role.  Metadata
-      is considered fully signed if a 'threshold' number of signatures is
-      available.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      threshold:
-        An integer value that sets the role's threshold value, or the minimum
-        number of signatures needed for metadata to be considered fully
-        signed.  Conformant to 'tuf.formats.THRESHOLD_SCHEMA'.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the 'threshold' argument is
-      improperly formatted.
-
-    <Side Effects>
-      Modifies the threshold attribute of the Repository object and updates
-      the roles threshold in 'tuf.roledb.py'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'threshold' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    tuf.formats.THRESHOLD_SCHEMA.check_match(threshold)
-
-    roleinfo = tuf.roledb.get_roleinfo(self._rolename, self._repository_name)
-    roleinfo['previous_threshold'] = roleinfo['threshold']
-    roleinfo['threshold'] = threshold
-
-    tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-  @property
-  def expiration(self):
-    """
-    <Purpose>
-      A getter method that returns the role's expiration datetime.
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the expiration cannot be
-      parsed correctly
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      The role's expiration datetime, a datetime.datetime() object.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    expires = roleinfo['expires']
-
-    return tuf.formats.expiry_string_to_datetime(expires)
-
-
-
-  @expiration.setter
-  def expiration(self, datetime_object):
-    """
-    <Purpose>
-      A setter method for the role's expiration datetime.  The top-level
-      roles have a default expiration (e.g., ROOT_EXPIRATION), but may later
-      be modified by this setter method.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      datetime_object:
-        The datetime expiration of the role, a datetime.datetime() object.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'datetime_object' is not a
-      datetime.datetime() object.
-
-      securesystemslib.exceptions.Error, if 'datetime_object' has already
-      expired.
-
-    <Side Effects>
-      Modifies the expiration attribute of the Repository object.
-      The datetime given will be truncated to microseconds = 0
-
-    <Returns>
-      None.
-    """
-
-    # Is 'datetime_object' a datetime.datetime() object?
-    # Raise 'securesystemslib.exceptions.FormatError' if not.
-    if not isinstance(datetime_object, datetime.datetime):
-      raise securesystemslib.exceptions.FormatError(
-          repr(datetime_object) + ' is not a datetime.datetime() object.')
-
-    # truncate the microseconds value to produce a correct schema string
-    # of the form yyyy-mm-ddThh:mm:ssZ
-    datetime_object = datetime_object.replace(microsecond = 0)
-
-    # Ensure the expiration has not already passed.
-    current_datetime_object = \
-      tuf.formats.unix_timestamp_to_datetime(int(time.time()))
-
-    if datetime_object < current_datetime_object:
-      raise securesystemslib.exceptions.Error(repr(self.rolename) + ' has'
-        ' already expired.')
-
-    # Update the role's 'expires' entry in 'tuf.roledb.py'.
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    expires = datetime_object.isoformat() + 'Z'
-    roleinfo['expires'] = expires
-
-    tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-  @property
-  def signing_keys(self):
-    """
-    <Purpose>
-      A getter method that returns a list of the role's signing keys.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A list of keyids of the role's signing keys, conformant to
-      'securesystemslib.formats.KEYIDS_SCHEMA'.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    signing_keyids = roleinfo['signing_keyids']
-
-    return signing_keyids
-
-
-
-
-
-class Root(Metadata):
-  """
-  <Purpose>
-    Represent a Root role object.  The root role is responsible for
-    listing the public keys and threshold of all the top-level roles, including
-    itself.  Top-level metadata is rejected if it does not comply with what is
-    specified by the Root role.
-
-    This Root object sub-classes Metadata, so the expected Metadata
-    operations like adding/removing public keys, signatures, private keys, and
-    updating metadata attributes (e.g., version and expiration) is supported.
-    Since Root is a top-level role and must exist, a default Root object
-    is instantiated when a new Repository object is created.
-
-    >>>
-    >>>
-    >>>
-
-  <Arguments>
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    tuf.exceptions.FormatError, if the argument is improperly formatted.
-
-  <Side Effects>
-    A 'root' role is added to 'tuf.roledb.py'.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, repository_name):
-
-    super(Root, self).__init__()
-
-    self._rolename = 'root'
-    self._repository_name = repository_name
-
-    # Is 'repository_name' properly formatted?  Otherwise, raise a
-    # tuf.exceptions.FormatError exception.
-    tuf.formats.ROLENAME_SCHEMA.check_match(repository_name)
-
-    # By default, 'snapshot' metadata is set to expire 1 week from the current
-    # time.  The expiration may be modified.
-    expiration = tuf.formats.unix_timestamp_to_datetime(
-        int(time.time() + ROOT_EXPIRATION))
-    expiration = expiration.isoformat() + 'Z'
-
-    roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                'signatures': [], 'version': 0, 'consistent_snapshot': False,
-                'expires': expiration, 'partial_loaded': False}
-    try:
-      tuf.roledb.add_role(self._rolename, roleinfo, self._repository_name)
-
-    except tuf.exceptions.RoleAlreadyExistsError:
-      pass
-
-
-
-
-
-class Timestamp(Metadata):
-  """
-  <Purpose>
-    Represent a Timestamp role object.  The timestamp role is responsible for
-    referencing the latest version of the Snapshot role.  Under normal
-    conditions, it is the only role to be downloaded from a remote repository
-    without a known file length and hash.  An upper length limit is set, though.
-    Also, its signatures are also verified to be valid according to the Root
-    role.  If invalid metadata can only be downloaded by the client, Root
-    is the only other role that is downloaded without a known length and hash.
-    This case may occur if a role's signing keys have been revoked and a newer
-    Root file is needed to list the updated keys.
-
-    This Timestamp object sub-classes Metadata, so the expected Metadata
-    operations like adding/removing public keys, signatures, private keys, and
-    updating metadata attributes (e.g., version and expiration) is supported.
-    Since Snapshot is a top-level role and must exist, a default Timestamp
-    object is instantiated when a new Repository object is created.
-
-    >>>
-    >>>
-    >>>
-
-  <Arguments>
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    tuf.exceptions.FormatError, if the argument is improperly formatted.
-
-  <Side Effects>
-    A 'timestamp' role is added to 'tuf.roledb.py'.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, repository_name):
-
-    super(Timestamp, self).__init__()
-
-    self._rolename = 'timestamp'
-    self._repository_name = repository_name
-
-    # Is 'repository_name' properly formatted?  Otherwise, raise a
-    # tuf.exceptions.FormatError exception.
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-    # By default, 'root' metadata is set to expire 1 year from the current
-    # time.  The expiration may be modified.
-    expiration = tuf.formats.unix_timestamp_to_datetime(
-        int(time.time() + TIMESTAMP_EXPIRATION))
-    expiration = expiration.isoformat() + 'Z'
-
-    roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                'signatures': [], 'version': 0, 'expires': expiration,
-                'partial_loaded': False}
-
-    try:
-      tuf.roledb.add_role(self.rolename, roleinfo, self._repository_name)
-
-    except tuf.exceptions.RoleAlreadyExistsError:
-      pass
-
-
-
-
-
-class Snapshot(Metadata):
-  """
-  <Purpose>
-    Represent a Snapshot role object.  The snapshot role is responsible for
-    referencing the other top-level roles (excluding Timestamp) and all
-    delegated roles.
-
-    This Snapshot object sub-classes Metadata, so the expected
-    Metadata operations like adding/removing public keys, signatures, private
-    keys, and updating metadata attributes (e.g., version and expiration) is
-    supported.  Since Snapshot is a top-level role and must exist, a default
-    Snapshot object is instantiated when a new Repository object is created.
-
-    >>>
-    >>>
-    >>>
-
-  <Arguments>
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    tuf.exceptions.FormatError, if the argument is improperly formatted.
-
-  <Side Effects>
-    A 'snapshot' role is added to 'tuf.roledb.py'.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, repository_name):
-
-    super(Snapshot, self).__init__()
-
-    self._rolename = 'snapshot'
-    self._repository_name = repository_name
-
-    # Is 'repository_name' properly formatted?  Otherwise, raise a
-    # tuf.exceptions.FormatError exception.
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-    # By default, 'snapshot' metadata is set to expire 1 week from the current
-    # time.  The expiration may be modified.
-    expiration = tuf.formats.unix_timestamp_to_datetime(
-        int(time.time() + SNAPSHOT_EXPIRATION))
-    expiration = expiration.isoformat() + 'Z'
-
-    roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                'signatures': [], 'version': 0, 'expires': expiration,
-                'partial_loaded': False}
-
-    try:
-      tuf.roledb.add_role(self._rolename, roleinfo, self._repository_name)
-
-    except tuf.exceptions.RoleAlreadyExistsError:
-      pass
-
-
-
-
-
-class Targets(Metadata):
-  """
-  <Purpose>
-    Represent a Targets role object.  Targets roles include the top-level role
-    'targets.json' and all delegated roles (e.g., 'targets/unclaimed/django').
-    The expected operations of Targets metadata is included, such as adding
-    and removing repository target files, making and revoking delegations, and
-    listing the target files provided by it.
-
-    Adding or removing a delegation causes the attributes of the Targets object
-    to be updated.  That is, if the 'django' Targets object is delegated by
-    'targets/unclaimed', a new attribute is added so that the following
-    code statement is supported:
-    repository.targets('unclaimed')('django').version = 2
-
-    Likewise, revoking a delegation causes removal of the delegation attribute.
-
-    This Targets object sub-classes Metadata, so the expected Metadata
-    operations like adding/removing public keys, signatures, private keys, and
-    updating metadata attributes (e.g., version and expiration) is supported.
-    Since Targets is a top-level role and must exist, a default Targets object
-    (for 'targets.json', not delegated roles) is instantiated when a new
-    Repository object is created.
-
-    >>>
-    >>>
-    >>>
-
-  <Arguments>
-    targets_directory:
-      The targets directory of the Repository object.
-
-    rolename:
-      The rolename of this Targets object.
-
-    roleinfo:
-      An already populated roleinfo object of 'rolename'.  Conformant to
-      'tuf.formats.ROLEDB_SCHEMA'.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-  <Side Effects>
-    Modifies the roleinfo of the targets role in 'tuf.roledb', or creates
-    a default one named 'targets'.
-
-  <Returns>
-    None.
-  """
-
-  def __init__(self, targets_directory, rolename='targets', roleinfo=None,
-               parent_targets_object=None, repository_name='default'):
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    securesystemslib.formats.PATH_SCHEMA.check_match(targets_directory)
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-    securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-    if roleinfo is not None:
-      tuf.formats.ROLEDB_SCHEMA.check_match(roleinfo)
-
-    super(Targets, self).__init__()
-    self._targets_directory = targets_directory
-    self._rolename = rolename
-    self._target_files = []
-    self._delegated_roles = {}
-    self._parent_targets_object = self
-    self._repository_name = repository_name
-
-    # Keep a reference to the top-level 'targets' object.  Any delegated roles
-    # that may be created, can be added to and accessed via the top-level
-    # 'targets' object.
-    if parent_targets_object is not None:
-      self._parent_targets_object = parent_targets_object
-
-    # By default, Targets objects are set to expire 3 months from the current
-    # time.  May be later modified.
-    expiration = tuf.formats.unix_timestamp_to_datetime(
-        int(time.time() + TARGETS_EXPIRATION))
-    expiration = expiration.isoformat() + 'Z'
-
-    # If 'roleinfo' is not provided, set an initial default.
-    if roleinfo is None:
-      roleinfo = {'keyids': [], 'signing_keyids': [], 'threshold': 1,
-                  'version': 0, 'expires': expiration,
-                  'signatures': [], 'paths': {}, 'path_hash_prefixes': [],
-                  'partial_loaded': False, 'delegations': {'keys': {},
-                                                           'roles': []}}
-
-    # Add the new role to the 'tuf.roledb'.
-    try:
-      tuf.roledb.add_role(self.rolename, roleinfo, self._repository_name)
-
-    except tuf.exceptions.RoleAlreadyExistsError:
-      pass
-
-
-
-  def __call__(self, rolename):
-    """
-    <Purpose>
-      Allow callable Targets object so that delegated roles may be referenced
-      by their string rolenames.  Rolenames may include characters like '-' and
-      are not restricted to Python identifiers.
-
-    <Arguments>
-      rolename:
-        The rolename of the delegated role.  'rolename' must be a role
-        previously delegated by this Targets role.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the arguments are improperly
-      formatted.
-
-      tuf.exceptions.UnknownRoleError, if 'rolename' has not been
-      delegated by this Targets object.
-
-    <Side Effects>
-      Modifies the roleinfo of the targets role in 'tuf.roledb'.
-
-    <Returns>
-      The Targets object of 'rolename'.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-    if rolename in self._delegated_roles:
-      return self._delegated_roles[rolename]
-
-    else:
-      raise tuf.exceptions.UnknownRoleError(repr(rolename) + ' has'
-          ' not been delegated by ' + repr(self.rolename))
-
-
-
-  def add_delegated_role(self, rolename, targets_object):
-    """
-    <Purpose>
-      Add 'targets_object' to this Targets object's list of known delegated
-      roles.  Specifically, delegated Targets roles should call 'super(Targets,
-      self).add_delegated_role(...)' so that the top-level 'targets' role
-      contains a dictionary of all the available roles on the repository.
-
-    <Arguments>
-      rolename:
-        The rolename of the delegated role.  'rolename' must be a role
-        previously delegated by this Targets role.
-
-      targets_object:
-        A Targets() object.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the arguments are improperly
-      formatted.
-
-    <Side Effects>
-      Updates the Target object's dictionary of delegated targets.
-
-    <Returns>
-      The Targets object of 'rolename'.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-    if not isinstance(targets_object, Targets):
-      raise securesystemslib.exceptions.FormatError(repr(targets_object) + ' is'
-          ' not a Targets object.')
-
-
-    if rolename in self._delegated_roles:
-      logger.debug(repr(rolename) + ' already exists.')
-
-    else:
-      self._delegated_roles[rolename] = targets_object
-
-
-
-  def remove_delegated_role(self, rolename):
-    """
-      Remove 'rolename' from this Targets object's list of delegated roles.
-      This method does not update tuf.roledb and others.
-
-    <Arguments>
-      rolename:
-        The rolename of the delegated role to remove.  'rolename' should be a
-        role previously delegated by this Targets role.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the argument is improperly
-      formatted.
-
-    <Side Effects>
-      Updates the Target object's dictionary of delegated targets.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if any are improperly formatted.
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-    if rolename not in self._delegated_roles:
-      logger.debug(repr(rolename) + ' has not been delegated.')
-      return
-
-    else:
-      del self._delegated_roles[rolename]
-
-
-
-  @property
-  def target_files(self):
-    """
-    <Purpose>
-      A getter method that returns the target files added thus far to this
-      Targets object.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      None.
-    """
-
-    target_files = tuf.roledb.get_roleinfo(self._rolename,
-        self._repository_name)['paths']
-    return target_files
-
-
-
-  def add_paths(self, paths, child_rolename):
-    """
-    <Purpose>
-      Add 'paths' to the delegated paths of 'child_rolename'.  'paths' can be a
-      list of either file paths or glob patterns.  The updater client verifies
-      the target paths specified by child roles, and searches for targets by
-      visiting these delegated paths.  A child role may only provide targets
-      specifically listed in the delegations field of the delegating role, or a
-      target that matches a delegated path.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      paths:
-        A list of glob patterns, or file paths, that 'child_rolename' is
-        trusted to provide.
-
-      child_rolename:
-        The child delegation that requires an update to its delegated or
-        trusted paths, as listed in the parent role's delegations (e.g.,
-        'Django' in 'unclaimed').
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if a path or glob pattern in
-      'paths' is not a string, or if 'child_rolename' is not a formatted
-      rolename.
-
-      securesystemslib.exceptions.Error, if 'child_rolename' has not been
-      delegated yet.
-
-      tuf.exceptions.InvalidNameError, if any path in 'paths' does not match
-      pattern.
-
-    <Side Effects>
-      Modifies this Targets' delegations field.
-
-    <Returns>
-      None.
-    """
-
-    # Do the argument have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    securesystemslib.formats.PATHS_SCHEMA.check_match(paths)
-    tuf.formats.ROLENAME_SCHEMA.check_match(child_rolename)
-
-    # Ensure that 'child_rolename' exists, otherwise it will not have an entry
-    # in the parent role's delegations field.
-    if not tuf.roledb.role_exists(child_rolename, self._repository_name):
-      raise securesystemslib.exceptions.Error(repr(child_rolename) + ' does'
-          ' not exist.')
-
-    for path in paths:
-      # Check if the delegated paths or glob patterns are relative and use
-      # forward slash as a separator or raise an exception. Paths' existence
-      # on the file system is not verified. If the path is incorrect,
-      # the targetfile won't be matched successfully during a client update.
-      self._check_path(path)
-
-    # Get the current role's roleinfo, so that its delegations field can be
-    # updated.
-    roleinfo = tuf.roledb.get_roleinfo(self._rolename, self._repository_name)
-
-    # Update the delegated paths of 'child_rolename' to add relative paths.
-    for role in roleinfo['delegations']['roles']:
-      if role['name'] == child_rolename:
-        for relative_path in paths:
-          if relative_path not in role['paths']:
-            role['paths'].append(relative_path)
-
-          else:
-            logger.debug(repr(relative_path) + ' is already a delegated path.')
-      else:
-        logger.debug(repr(role['name']) + ' does not match child rolename.')
-
-    tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-  def add_target(self, filepath, custom=None, fileinfo=None):
-    """
-    <Purpose>
-      Add a filepath (must be relative to the repository's targets directory)
-      to the Targets object.
-
-      If 'filepath' has already been added, it will be replaced with any new
-      file or 'custom' information.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      filepath:
-        The path of the target file.  It must be relative to the repository's
-        targets directory.
-
-      custom:
-        An optional dictionary providing additional information about the file.
-        NOTE: if a custom value is passed, the fileinfo parameter must be None.
-        This parameter will be deprecated in a future release of tuf, use of
-        the fileinfo parameter is preferred.
-
-      fileinfo:
-        An optional fileinfo dictionary, conforming to
-        tuf.formats.TARGETS_FILEINFO_SCHEMA, providing full information about the
-        file, i.e:
-          { 'length': 101,
-            'hashes': { 'sha256': '123EDF...' },
-            'custom': { 'permissions': '600'} # optional
-          }
-        NOTE: if a custom value is passed, the fileinfo parameter must be None.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'filepath' is improperly
-      formatted.
-
-      tuf.exceptions.InvalidNameError, if 'filepath' does not match pattern.
-
-    <Side Effects>
-      Adds 'filepath' to this role's list of targets.  This role's
-      'tuf.roledb.py' entry is also updated.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'filepath' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.RELPATH_SCHEMA.check_match(filepath)
-
-    if fileinfo and custom:
-      raise securesystemslib.exceptions.Error("Can only take one of"
-          " custom or fileinfo, not both.")
-
-    if fileinfo:
-      tuf.formats.TARGETS_FILEINFO_SCHEMA.check_match(fileinfo)
-
-    if custom is None:
-      custom = {}
-    else:
-      tuf.formats.CUSTOM_SCHEMA.check_match(custom)
-
-    # Add 'filepath' (i.e., relative to the targets directory) to the role's
-    # list of targets.  'filepath' will not be verified as an allowed path
-    # according to some delegating role.  Not verifying 'filepath' here allows
-    # freedom to add targets and parent restrictions in any order, minimize
-    # the number of times these checks are performed, and allow any role to
-    # delegate trust of packages to this Targets role.
-
-    # Check if the target is relative and uses forward slash as a separator
-    # or raise an exception. File's existence on the file system is not
-    # verified. If the file does not exist relative to the targets directory,
-    # later calls to write() will fail.
-    self._check_path(filepath)
-
-    # Update the role's 'tuf.roledb.py' entry and avoid duplicates.
-    roleinfo = tuf.roledb.get_roleinfo(self._rolename, self._repository_name)
-
-    if filepath not in roleinfo['paths']:
-      logger.debug('Adding new target: ' + repr(filepath))
-
-    else:
-      logger.debug('Replacing target: ' + repr(filepath))
-
-    if fileinfo:
-      roleinfo['paths'].update({filepath: fileinfo})
-    else:
-      roleinfo['paths'].update({filepath: {'custom': custom}})
-
-    tuf.roledb.update_roleinfo(self._rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-  def add_targets(self, list_of_targets):
-    """
-    <Purpose>
-      Add a list of target filepaths (all relative to 'self.targets_directory').
-      This method does not actually create files on the file system.  The
-      list of targets must already exist on disk.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      list_of_targets:
-        A list of target filepaths that are added to the paths of this Targets
-        object.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the arguments are improperly
-      formatted.
-
-      tuf.exceptions.InvalidNameError, if any target in 'list_of_targets'
-      does not match pattern.
-
-    <Side Effects>
-      This Targets' roleinfo is updated with the paths in 'list_of_targets'.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'list_of_targets' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.RELPATHS_SCHEMA.check_match(list_of_targets)
-
-    # Ensure the paths in 'list_of_targets' are relative and use forward slash
-    # as a separator or raise an exception. The paths of 'list_of_targets'
-    # will be verified as existing and allowed paths according to this Targets
-    # parent role when write() or writeall() is called.  Not verifying
-    # filepaths here allows the freedom to add targets and parent restrictions
-    # in any order and minimize the number of times these checks are performed.
-    for target in list_of_targets:
-      self._check_path(target)
-
-    # Update this Targets 'tuf.roledb.py' entry.
-    roleinfo = tuf.roledb.get_roleinfo(self._rolename, self._repository_name)
-    for relative_target in list_of_targets:
-      if relative_target not in roleinfo['paths']:
-        logger.debug('Adding new target: ' + repr(relative_target))
-      else:
-        logger.debug('Replacing target: ' + repr(relative_target))
-      roleinfo['paths'].update({relative_target: {}})
-
-    tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-  def remove_target(self, filepath):
-    """
-    <Purpose>
-      Remove the target 'filepath' from this Targets' 'paths' field.  'filepath'
-      is relative to the targets directory.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      filepath:
-        The target to remove from this Targets object, relative to the
-        repository's targets directory.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'filepath' is improperly
-      formatted.
-
-      securesystemslib.exceptions.Error, if 'filepath' is not located in the
-      repository's targets directory, or not found.
-
-    <Side Effects>
-      Modifies this Targets 'tuf.roledb.py' entry.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'filepath' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.  Raise
-    # 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.RELPATH_SCHEMA.check_match(filepath)
-
-    # Remove 'relative_filepath', if found, and update this Targets roleinfo.
-    fileinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    if filepath in fileinfo['paths']:
-      del fileinfo['paths'][filepath]
-      tuf.roledb.update_roleinfo(self.rolename, fileinfo,
-          repository_name=self._repository_name)
-
-    else:
-      raise securesystemslib.exceptions.Error('Target file path not found.')
-
-
-
-  def clear_targets(self):
-    """
-    <Purpose>
-      Remove all the target filepaths in the "paths" field of this Targets.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      None
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      Modifies this Targets' 'tuf.roledb.py' entry.
-
-    <Returns>
-      None.
-    """
-
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    roleinfo['paths'] = {}
-
-    tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-        repository_name=self._repository_name)
-
-
-
-
-
-  def get_delegated_rolenames(self):
-    """
-    <Purpose>
-      Return all delegations of a role.  If ['a/b/', 'a/b/c/', 'a/b/c/d'] have
-      been delegated by the delegated role 'django',
-      repository.targets('django').get_delegated_rolenames() returns: ['a/b',
-      'a/b/c', 'a/b/c/d'].
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      None.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-     A list of rolenames.
-    """
-
-    return tuf.roledb.get_delegated_rolenames(self.rolename, self._repository_name)
-
-
-
-
-
-  def _create_delegated_target(self, rolename, keyids, threshold, paths):
-    """
-    Create a new Targets object for the 'rolename' delegation.  An initial
-    expiration is set (3 months from the current time).
-    """
-
-    expiration = tuf.formats.unix_timestamp_to_datetime(
-        int(time.time() + TARGETS_EXPIRATION))
-    expiration = expiration.isoformat() + 'Z'
-
-    roleinfo = {'name': rolename, 'keyids': keyids, 'signing_keyids': [],
-                'threshold': threshold, 'version': 0,
-                'expires': expiration, 'signatures': [], 'partial_loaded': False,
-                'paths': paths, 'delegations': {'keys': {}, 'roles': []}}
-
-    # The new targets object is added as an attribute to this Targets object.
-    new_targets_object = Targets(self._targets_directory, rolename, roleinfo,
-        parent_targets_object=self._parent_targets_object,
-        repository_name=self._repository_name)
-
-    return new_targets_object
-
-
-
-
-
-  def _update_roledb_delegations(self, keydict, delegations_roleinfo):
-    """
-    Update the roledb to include delegations of the keys in keydict and the
-    roles in delegations_roleinfo
-    """
-
-    current_roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-    current_roleinfo['delegations']['keys'].update(keydict)
-
-    for roleinfo in delegations_roleinfo:
-      current_roleinfo['delegations']['roles'].append(roleinfo)
-
-    tuf.roledb.update_roleinfo(self.rolename, current_roleinfo,
-        repository_name=self._repository_name)
-
-
-
-
-
-  def delegate(self, rolename, public_keys, paths, threshold=1,
-      terminating=False, list_of_targets=None, path_hash_prefixes=None):
-    """
-    <Purpose>
-      Create a new delegation, where 'rolename' is a child delegation of this
-      Targets object.  The keys and roles database is updated, including the
-      delegations field of this Targets.  The delegation of 'rolename' is added
-      and accessible (i.e., repository.targets(rolename)).
-
-      Actual metadata files are not created, only when repository.writeall() or
-      repository.write() is called.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      rolename:
-        The name of the delegated role, as in 'django' or 'unclaimed'.
-
-      public_keys:
-        A list of TUF key objects in 'ANYKEYLIST_SCHEMA' format.  The list
-        may contain any of the supported key types: RSAKEY_SCHEMA,
-        ED25519KEY_SCHEMA, etc.
-
-      paths:
-        The paths, or glob patterns, delegated to 'rolename'.  Any targets
-        added to 'rolename', via add_targets() or 'list_of_targets', must
-        match one of the paths or glob patterns in 'paths'.  Apart from the
-        public keys of 'rolename', the delegated 'paths' is often known and
-        specified when a delegation is first performed.  If the delegator
-        is unsure of which 'paths' to delegate, 'paths' can be set to [''].
-
-      threshold:
-        The threshold number of keys of 'rolename'.
-
-      terminating:
-        Boolean that indicates whether this role allows the updater client to
-        continue searching for targets (target files it is trusted to list but
-        has not yet specified) in other delegations.  If 'terminating' is True
-        and 'updater.target()' does not find 'example_target.tar.gz' in this
-        role, a 'tuf.exceptions.UnknownTargetError' exception should be raised.
-        If 'terminating' is False (default), and 'target/other_role' is also
-        trusted with 'example_target.tar.gz' and has listed it,
-        updater.target() should backtrack and return the target file specified
-        by 'target/other_role'.
-
-      list_of_targets:
-        A list of target filepaths that are added to 'rolename'.
-        'list_of_targets' is a list of target filepaths, can be empty, and each
-        filepath must be located in the repository's targets directory.  The
-        list of targets should also exist at the specified paths, otherwise
-        non-existent target paths might not be added when the targets file is
-        written to disk with writeall() or write().
-
-      path_hash_prefixes:
-        A list of hash prefixes in
-        'tuf.formats.PATH_HASH_PREFIXES_SCHEMA' format, used in
-        hashed bin delegations.  Targets may be located and stored in hashed
-        bins by calculating the target path's hash prefix.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if any of the arguments are
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if the delegated role already exists.
-
-      tuf.exceptions.InvalidNameError, if any path in 'paths' or target in
-      'list_of_targets' does not match pattern.
-
-    <Side Effects>
-      A new Target object is created for 'rolename' that is accessible to the
-      caller (i.e., targets.<rolename>).  The 'tuf.keydb.py' and
-      'tuf.roledb.py' stores are updated with 'public_keys'.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-    securesystemslib.formats.ANYKEYLIST_SCHEMA.check_match(public_keys)
-    tuf.formats.RELPATHS_SCHEMA.check_match(paths)
-    tuf.formats.THRESHOLD_SCHEMA.check_match(threshold)
-    securesystemslib.formats.BOOLEAN_SCHEMA.check_match(terminating)
-
-    if list_of_targets is not None:
-      tuf.formats.RELPATHS_SCHEMA.check_match(list_of_targets)
-
-    if path_hash_prefixes is not None:
-      tuf.formats.PATH_HASH_PREFIXES_SCHEMA.check_match(path_hash_prefixes)
-
-    # Keep track of the valid keyids (added to the new Targets object) and
-    # their keydicts (added to this Targets delegations).
-    keyids, keydict = repo_lib.keys_to_keydict(public_keys)
-
-    # Ensure the paths of 'list_of_targets' are located in the repository's
-    # targets directory.
-    relative_targetpaths = {}
-
-    if list_of_targets:
-      for target in list_of_targets:
-        # Check if the target path is relative or raise an exception. File's
-        # existence on the file system is not verified. If the file does not
-        # exist relative to the targets directory, later calls to write()
-        # will fail.
-        self._check_path(target)
-        relative_targetpaths.update({target: {}})
-
-    for path in paths:
-      # Check if the delegated paths or glob patterns are relative or
-      # raise an exception. Paths' existence on the file system is not
-      # verified. If the path is incorrect, the targetfile won't be matched
-      # successfully during a client update.
-      self._check_path(path)
-
-    # The new targets object is added as an attribute to this Targets object.
-    new_targets_object = self._create_delegated_target(rolename, keyids,
-        threshold, relative_targetpaths)
-
-    # Update the roleinfo of this role.  A ROLE_SCHEMA object requires only
-    # 'keyids', 'threshold', and 'paths'.
-    roleinfo = {'name': rolename,
-                'keyids': keyids,
-                'threshold': threshold,
-                'terminating': terminating,
-                'paths': list(relative_targetpaths.keys())}
-
-    if paths:
-      roleinfo['paths'] = paths
-
-    if path_hash_prefixes:
-      roleinfo['path_hash_prefixes'] = path_hash_prefixes
-      # A role in a delegations must list either 'path_hash_prefixes'
-      # or 'paths'.
-      del roleinfo['paths']
-
-    # Update the public keys of 'new_targets_object'.
-    for key in public_keys:
-      new_targets_object.add_verification_key(key)
-
-    # Add the new delegation to the top-level 'targets' role object (i.e.,
-    # 'repository.targets()').  For example, 'django', which was delegated by
-    # repository.target('claimed'), is added to 'repository.targets('django')).
-    if self.rolename != 'targets':
-      self._parent_targets_object.add_delegated_role(rolename,
-          new_targets_object)
-
-    # Add 'new_targets_object' to the delegating role object (this object).
-    self.add_delegated_role(rolename, new_targets_object)
-
-    # Update the 'delegations' field of the current role.
-    self._update_roledb_delegations(keydict, [roleinfo])
-
-
-
-
-
-  def revoke(self, rolename):
-    """
-    <Purpose>
-      Revoke this Targets' 'rolename' delegation.  Its 'rolename' attribute is
-      deleted, including the entries in its 'delegations' field and in
-      'tuf.roledb'.
-
-      Actual metadata files are not updated, only when repository.write() or
-      repository.write() is called.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      rolename:
-        The rolename (e.g., 'Django' in 'django') of the child delegation the
-        parent role (this role) wants to revoke.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'rolename' is improperly
-      formatted.
-
-    <Side Effects>
-      The delegations dictionary of 'rolename' is modified, and its 'tuf.roledb'
-      entry is updated.  This Targets' 'rolename' delegation attribute is also
-      deleted.
-
-    <Returns>
-      None.
-    """
-
-    # Does 'rolename' have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-    # Remove 'rolename' from this Target's delegations dict.
-    roleinfo = tuf.roledb.get_roleinfo(self.rolename, self._repository_name)
-
-    for role in roleinfo['delegations']['roles']:
-      if role['name'] == rolename:
-        roleinfo['delegations']['roles'].remove(role)
-
-    tuf.roledb.update_roleinfo(self.rolename, roleinfo,
-        repository_name=self._repository_name)
-
-    # Remove 'rolename' from 'tuf.roledb.py'.
-    try:
-      tuf.roledb.remove_role(rolename, self._repository_name)
-      # Remove the rolename delegation from the current role.  For example, the
-      # 'django' role is removed from repository.targets('django').
-      del self._delegated_roles[rolename]
-      self._parent_targets_object.remove_delegated_role(rolename)
-
-    except (tuf.exceptions.UnknownRoleError, KeyError):
-      pass
-
-
-
-  def delegate_hashed_bins(self, list_of_targets, keys_of_hashed_bins,
-      number_of_bins=DEFAULT_NUM_BINS):
-    """
-    <Purpose>
-      Distribute a large number of target files over multiple delegated roles
-      (hashed bins).  The metadata files of delegated roles will be nearly
-      equal in size (i.e., 'list_of_targets' is uniformly distributed by
-      calculating the target filepath's hash and determining which bin it should
-      reside in.  The updater client will use "lazy bin walk" to find a target
-      file's hashed bin destination.  The parent role lists a range of path
-      hash prefixes each hashed bin contains.  This method is intended for
-      repositories with a large number of target files, a way of easily
-      distributing and managing the metadata that lists the targets, and
-      minimizing the number of metadata files (and their size) downloaded by
-      the client.  See tuf-spec.txt and the following link for more
-      information:
-      http://www.python.org/dev/peps/pep-0458/#metadata-scalability
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      list_of_targets:
-        The target filepaths of the targets that should be stored in hashed
-        bins created (i.e., delegated roles).  A repository object's
-        get_filepaths_in_directory() can generate a list of valid target
-        paths.
-
-      keys_of_hashed_bins:
-        The initial public keys of the delegated roles.  Public keys may be
-        later added or removed by calling the usual methods of the delegated
-        Targets object.  For example:
-        repository.targets('000-003').add_verification_key()
-
-      number_of_bins:
-        The number of delegated roles, or hashed bins, that should be generated
-        and contain the target file attributes listed in 'list_of_targets'.
-        'number_of_bins' must be a power of 2.  Each bin may contain a
-        range of path hash prefixes (e.g., target filepath digests that range
-        from [000]... - [003]..., where the series of digits in brackets is
-        considered the hash prefix).
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if the arguments are improperly
-      formatted.
-
-      securesystemslib.exceptions.Error, if 'number_of_bins' is not a power of
-      2, or one of the targets in 'list_of_targets' is not relative to the
-      repository's targets directory.
-
-      tuf.exceptions.InvalidNameError, if any target in 'list_of_targets'
-      does not match pattern.
-
-    <Side Effects>
-      Delegates multiple target roles from the current parent role.
-
-    <Returns>
-      None.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    securesystemslib.formats.PATHS_SCHEMA.check_match(list_of_targets)
-    securesystemslib.formats.ANYKEYLIST_SCHEMA.check_match(keys_of_hashed_bins)
-    tuf.formats.NUMBINS_SCHEMA.check_match(number_of_bins)
-
-    prefix_length, prefix_count, bin_size = repo_lib.get_bin_numbers(number_of_bins)
-
-    logger.info('Creating hashed bin delegations.\n' +
-        repr(len(list_of_targets)) + ' total targets.\n' +
-        repr(number_of_bins) + ' hashed bins.\n' +
-        repr(prefix_count) + ' total hash prefixes.\n' +
-        'Each bin ranges over ' + repr(bin_size) + ' hash prefixes.')
-
-    # Generate a list of bin names, the range of prefixes to be delegated to
-    # that bin, along with the corresponding full list of target prefixes
-    # to be delegated to that bin
-    ordered_roles = []
-    for idx in range(0, prefix_count, bin_size):
-      high = idx + bin_size - 1
-      name = repo_lib.create_bin_name(idx, high, prefix_length)
-      if bin_size == 1:
-        target_hash_prefixes = [name]
-      else:
-        target_hash_prefixes = []
-        for idy in range(idx, idx+bin_size):
-          target_hash_prefixes.append("{prefix:0{len}x}".format(prefix=idy,
-              len=prefix_length))
-
-      role = {"name": name,
-          "target_paths": [],
-          "target_hash_prefixes": target_hash_prefixes}
-      ordered_roles.append(role)
-
-    for target_path in list_of_targets:
-      # Check if the target path is relative or raise an exception. File's
-      # existence on the file system is not verified. If the file does not
-      # exist relative to the targets directory, later calls to write() and
-      # writeall() will fail.
-      self._check_path(target_path)
-
-      # Determine the hash prefix of 'target_path' by computing the digest of
-      # its path relative to the targets directory.
-      # We must hash a target path as it appears in the metadata
-      hash_prefix = repo_lib.get_target_hash(target_path)[:prefix_length]
-      ordered_roles[int(hash_prefix, 16) // bin_size]["target_paths"].append(target_path)
-
-    keyids, keydict = repo_lib.keys_to_keydict(keys_of_hashed_bins)
-
-    # A queue of roleinfo's that need to be updated in the roledb
-    delegated_roleinfos = []
-
-    for bin_role in ordered_roles:
-      # TODO: originally we just called self.delegate() for each item in this
-      # iteration. However, this is *extremely* slow when creating a large
-      # number of hashed bins, i.e. 16k as is recommended for PyPI usage in
-      # PEP 458: https://www.python.org/dev/peps/pep-0458/
-      # The source of the slowness is the interactions with the roledb, which
-      # causes several deep copies of roleinfo dictionaries:
-      # https://github.com/theupdateframework/tuf/issues/1005
-      # Once the underlying issues in #1005 are resolved, i.e. some combination
-      # of the intermediate and long-term fixes, we may simplify here by
-      # switching back to just calling self.delegate(), but until that time we
-      # queue roledb interactions and perform all updates to the roledb in one
-      # operation at the end of the iteration.
-
-      relative_paths = {}
-      for path in bin_role['target_paths']:
-        relative_paths.update({path: {}})
-
-      # Delegate from the "unclaimed" targets role to each 'bin_role'
-      target = self._create_delegated_target(bin_role['name'], keyids, 1,
-          relative_paths)
-
-      roleinfo = {'name': bin_role['name'],
-                  'keyids': keyids,
-                  'threshold': 1,
-                  'terminating': False,
-                  'path_hash_prefixes': bin_role['target_hash_prefixes']}
-      delegated_roleinfos.append(roleinfo)
-
-      for key in keys_of_hashed_bins:
-        target.add_verification_key(key)
-
-      # Add the new delegation to the top-level 'targets' role object (i.e.,
-      # 'repository.targets()').
-      if self.rolename != 'targets':
-        self._parent_targets_object.add_delegated_role(bin_role['name'],
-            target)
-
-      # Add 'new_targets_object' to the 'targets' role object (this object).
-      self.add_delegated_role(bin_role['name'], target)
-      logger.debug('Delegated from ' + repr(self.rolename) + ' to ' + repr(bin_role))
-
-
-    self._update_roledb_delegations(keydict, delegated_roleinfos)
-
-
-
-
-  def add_target_to_bin(self, target_filepath, number_of_bins=DEFAULT_NUM_BINS,
-      fileinfo=None):
-    """
-    <Purpose>
-      Add the fileinfo of 'target_filepath' to the expected hashed bin, if the
-      bin is available.  The hashed bin should have been created by
-      {targets_role}.delegate_hashed_bins().  Assuming the target filepath is
-      located in the repository's targets directory, determine the filepath's
-      hash prefix, locate the expected bin (if any), and then add the fileinfo
-      to the expected bin.  Example:  'targets/foo.tar.gz' may be added to the
-      'targets/unclaimed/58-5f.json' role's list of targets by calling this
-      method.
-
-    <Arguments>
-      target_filepath:
-        The filepath of the target to be added to a hashed bin.  The filepath
-        must be located in the repository's targets directory.
-
-      number_of_bins:
-        The number of delegated roles, or hashed bins, in use by the repository.
-        Note: 'number_of_bins' must be a power of 2.
-
-      fileinfo:
-        An optional fileinfo object, conforming to tuf.formats.TARGETS_FILEINFO_SCHEMA,
-        providing full information about the file.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'target_filepath' is
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if 'target_filepath' cannot be added to
-      a hashed bin (e.g., an invalid target filepath, or the expected hashed
-      bin does not exist.)
-
-    <Side Effects>
-      The fileinfo of 'target_filepath' is added to a hashed bin of this Targets
-      object.
-
-    <Returns>
-      The name of the hashed bin that the target was added to.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    securesystemslib.formats.PATH_SCHEMA.check_match(target_filepath)
-    tuf.formats.NUMBINS_SCHEMA.check_match(number_of_bins)
-
-    # TODO: check target_filepath is sane
-
-    path_hash = repo_lib.get_target_hash(target_filepath)
-    bin_name = repo_lib.find_bin_for_target_hash(path_hash, number_of_bins)
-
-    # Ensure the Targets object has delegated to hashed bins
-    if not self._delegated_roles.get(bin_name, None):
-      raise securesystemslib.exceptions.Error(self.rolename + ' does not have'
-          ' a delegated role ' + bin_name)
-
-    self._delegated_roles[bin_name].add_target(target_filepath,
-        fileinfo=fileinfo)
-
-    return bin_name
-
-
-
-  def remove_target_from_bin(self, target_filepath,
-      number_of_bins=DEFAULT_NUM_BINS):
-    """
-    <Purpose>
-      Remove the fileinfo of 'target_filepath' from the expected hashed bin, if
-      the bin is available.  The hashed bin should have been created by
-      {targets_role}.delegate_hashed_bins().  Assuming the target filepath is
-      located in the repository's targets directory, determine the filepath's
-      hash prefix, locate the expected bin (if any), and then remove the
-      fileinfo from the expected bin.  Example:  'targets/foo.tar.gz' may be
-      removed from the '58-5f.json' role's list of targets by calling this
-      method.
-
-    <Arguments>
-      target_filepath:
-        The filepath of the target to be added to a hashed bin.  The filepath
-        must be located in the repository's targets directory.
-
-      number_of_bins:
-        The number of delegated roles, or hashed bins, in use by the repository.
-        Note: 'number_of_bins' must be a power of 2.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'target_filepath' is
-      improperly formatted.
-
-      securesystemslib.exceptions.Error, if 'target_filepath' cannot be removed
-      from a hashed bin (e.g., an invalid target filepath, or the expected
-      hashed bin does not exist.)
-
-    <Side Effects>
-      The fileinfo of 'target_filepath' is removed from a hashed bin of this
-      Targets object.
-
-    <Returns>
-      The name of the hashed bin that the target was added to.
-    """
-
-    # Do the arguments have the correct format?
-    # Ensure the arguments have the appropriate number of objects and object
-    # types, and that all dict keys are properly named.
-    # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-    securesystemslib.formats.PATH_SCHEMA.check_match(target_filepath)
-    tuf.formats.NUMBINS_SCHEMA.check_match(number_of_bins)
-
-    # TODO: check target_filepath is sane?
-
-    path_hash = repo_lib.get_target_hash(target_filepath)
-    bin_name = repo_lib.find_bin_for_target_hash(path_hash, number_of_bins)
-
-    # Ensure the Targets object has delegated to hashed bins
-    if not self._delegated_roles.get(bin_name, None):
-      raise securesystemslib.exceptions.Error(self.rolename + ' does not have'
-          ' a delegated role ' + bin_name)
-
-    self._delegated_roles[bin_name].remove_target(target_filepath)
-
-    return bin_name
-
-
-  @property
-  def delegations(self):
-    """
-    <Purpose>
-      A getter method that returns the delegations made by this Targets role.
-
-      >>>
-      >>>
-      >>>
-
-    <Arguments>
-      None.
-
-    <Exceptions>
-      tuf.exceptions.UnknownRoleError, if this Targets' rolename
-      does not exist in 'tuf.roledb'.
-
-    <Side Effects>
-      None.
-
-    <Returns>
-      A list containing the Targets objects of this Targets' delegations.
-    """
-
-    return list(self._delegated_roles.values())
-
-
-
-
-
-  def _check_path(self, pathname):
-    """
-    <Purpose>
-      Check if a path matches the definition of a PATHPATTERN or a
-      TARGETPATH (uses the forward slash (/) as directory separator and
-      does not start with a directory separator). Checks are performed only
-      on the path string, without accessing the file system.
-
-    <Arguments>
-      pathname:
-        A file path or a glob pattern.
-
-    <Exceptions>
-      securesystemslib.exceptions.FormatError, if 'pathname' is improperly
-      formatted.
-
-      tuf.exceptions.InvalidNameError, if 'pathname' does not match pattern.
-
-    <Returns>
-      None.
-    """
-
-    tuf.formats.RELPATH_SCHEMA.check_match(pathname)
-
-    if '\\' in pathname:
-      raise tuf.exceptions.InvalidNameError('Path ' + repr(pathname)
-          + ' does not use the forward slash (/) as directory separator.')
-
-    if pathname.startswith('/'):
-      raise tuf.exceptions.InvalidNameError('Path ' + repr(pathname)
-          + ' starts with a directory separator. All paths should be relative'
-          '  to targets directory.')
-
-
-
-
-def create_new_repository(repository_directory, repository_name='default',
-    storage_backend=None, use_timestamp_length=True, use_timestamp_hashes=True,
-    use_snapshot_length=False, use_snapshot_hashes=False):
-  """
-  <Purpose>
-    Create a new repository, instantiate barebones metadata for the top-level
-    roles, and return a Repository object.  On disk, create_new_repository()
-    only creates the directories needed to hold the metadata and targets files.
-    The repository object returned may be modified to update the newly created
-    repository.  The methods of the returned object may be called to create
-    actual repository files (e.g., repository.write()).
-
-  <Arguments>
-    repository_directory:
-      The directory that will eventually hold the metadata and target files of
-      the TUF repository.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'rolename' is added to the
-      'default' repository.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface. When no object is
-      passed a FilesystemBackend will be instantiated and used.
-
-    use_timestamp_length:
-      Whether to include the optional length attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_timestamp_hashes:
-      Whether to include the optional hashes attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_snapshot_length:
-      Whether to include the optional length attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-    use_snapshot_hashes:
-      Whether to include the optional hashes attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-  <Side Effects>
-    The 'repository_directory' is created if it does not exist, including its
-    metadata and targets sub-directories.
-
-  <Returns>
-    A 'tuf.repository_tool.Repository' object.
-  """
-
-  # Does 'repository_directory' have the correct format?
-  # Ensure the arguments have the appropriate number of objects and object
-  # types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(repository_directory)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if storage_backend is None:
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-  # Set the repository, metadata, and targets directories.  These directories
-  # are created if they do not exist.
-  repository_directory = os.path.abspath(repository_directory)
-  metadata_directory = None
-  targets_directory = None
-
-  # Ensure the 'repository_directory' exists
-  logger.info('Creating ' + repr(repository_directory))
-  storage_backend.create_folder(repository_directory)
-
-  # Set the metadata and targets directories.  The metadata directory is a
-  # staged one so that the "live" repository is not affected.  The
-  # staged metadata changes may be moved over to "live" after all updated
-  # have been completed.
-  metadata_directory = os.path.join(repository_directory,
-      METADATA_STAGED_DIRECTORY_NAME)
-  targets_directory = os.path.join(repository_directory, TARGETS_DIRECTORY_NAME)
-
-  # Ensure the metadata directory exists
-  logger.info('Creating ' + repr(metadata_directory))
-  storage_backend.create_folder(metadata_directory)
-
-  # Ensure the targets directory exists
-  logger.info('Creating ' + repr(targets_directory))
-  storage_backend.create_folder(targets_directory)
-
-  # Create the bare bones repository object, where only the top-level roles
-  # have been set and contain default values (e.g., Root roles has a threshold
-  # of 1, expires 1 year into the future, etc.)
-  repository = Repository(repository_directory, metadata_directory,
-      targets_directory, storage_backend, repository_name, use_timestamp_length,
-      use_timestamp_hashes, use_snapshot_length, use_snapshot_hashes)
-
-  return repository
-
-
-
-
-
-def load_repository(repository_directory, repository_name='default',
-    storage_backend=None, use_timestamp_length=True, use_timestamp_hashes=True,
-    use_snapshot_length=False, use_snapshot_hashes=False):
-  """
-  <Purpose>
-    Return a repository object containing the contents of metadata files loaded
-    from the repository.
-
-  <Arguments>
-    repository_directory:
-      The root folder of the repository that contains the metadata and targets
-      sub-directories.
-
-    repository_name:
-      The name of the repository.  If not supplied, 'default' is used as the
-      repository name.
-
-    storage_backend:
-      An object which implements
-      securesystemslib.storage.StorageBackendInterface. When no object is
-      passed a FilesystemBackend will be instantiated and used.
-
-    use_timestamp_length:
-      Whether to include the optional length attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_timestamp_hashes:
-      Whether to include the optional hashes attribute of the snapshot
-      metadata file in the timestamp metadata.
-      Default is True.
-
-    use_snapshot_length:
-      Whether to include the optional length attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-    use_snapshot_hashes:
-      Whether to include the optional hashes attribute for targets
-      metadata files in the snapshot metadata.
-      Default is False to save bandwidth but without losing security
-      from rollback attacks.
-      Read more at section 5.6 from the Mercury paper:
-      https://www.usenix.org/conference/atc17/technical-sessions/presentation/kuppusamy
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_directory' or any of
-    the metadata files are improperly formatted.
-
-    tuf.exceptions.RepositoryError, if the Root role cannot be
-    found.  At a minimum, a repository must contain 'root.json'
-
-  <Side Effects>
-   All the metadata files found in the repository are loaded and their contents
-   stored in a repository_tool.Repository object.
-
-  <Returns>
-    repository_tool.Repository object.
-  """
-
-  # Does 'repository_directory' have the correct format?
-  # Raise 'securesystemslib.exceptions.FormatError' if there is a mismatch.
-  securesystemslib.formats.PATH_SCHEMA.check_match(repository_directory)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if storage_backend is None:
-    storage_backend = securesystemslib.storage.FilesystemBackend()
-
-  repository_directory = os.path.abspath(repository_directory)
-  metadata_directory = os.path.join(repository_directory,
-      METADATA_STAGED_DIRECTORY_NAME)
-  targets_directory = os.path.join(repository_directory, TARGETS_DIRECTORY_NAME)
-
-  # The Repository() object loaded (i.e., containing all the metadata roles
-  # found) and returned.
-  repository = Repository(repository_directory, metadata_directory,
-      targets_directory, storage_backend, repository_name, use_timestamp_length,
-      use_timestamp_hashes, use_snapshot_length, use_snapshot_hashes)
-
-  filenames = repo_lib.get_top_level_metadata_filenames(metadata_directory)
-
-  # The Root file is always available without a version number (a consistent
-  # snapshot) attached to the filename.  Store the 'consistent_snapshot' value
-  # and read the loaded Root file so that other metadata files may be located.
-  consistent_snapshot = False
-
-  # Load the metadata of the top-level roles (i.e., Root, Timestamp, Targets,
-  # and Snapshot).
-  repository, consistent_snapshot = repo_lib._load_top_level_metadata(repository,
-    filenames, repository_name)
-
-  delegated_roles_filenames = repo_lib.get_delegated_roles_metadata_filenames(
-      metadata_directory, consistent_snapshot, storage_backend)
-
-  # Load the delegated targets metadata and their fileinfo.
-  # The delegated targets roles form a tree/graph which is traversed in a
-  # breadth-first-search manner starting from 'targets' in order to correctly
-  # load the delegations hierarchy.
-  parent_targets_object = repository.targets
-
-  # Keep the next delegations to be loaded in a deque structure which
-  # has the properties of a list but is designed to have fast appends
-  # and pops from both ends
-  delegations = deque()
-  # A set used to keep the already loaded delegations and avoid an infinite
-  # loop in case of cycles in the delegations graph
-  loaded_delegations = set()
-
-  # Top-level roles are already loaded, fetch targets and get its delegations.
-  # Store the delegations in the form of delegated-delegating role tuples,
-  # starting from the top-level targets:
-  # [('role1', 'targets'), ('role2', 'targets'), ... ]
-  roleinfo = tuf.roledb.get_roleinfo('targets', repository_name)
-  for role in roleinfo['delegations']['roles']:
-    delegations.append((role, 'targets'))
-
-  # Traverse the graph by appending the next delegation to the deque and
-  # 'pop'-ing and loading the left-most element.
-  while delegations:
-    delegation_info, delegating_role = delegations.popleft()
-
-    rolename = delegation_info['name']
-    if (rolename, delegating_role) in loaded_delegations:
-      logger.warning('Detected cycle in the delegation graph: ' +
-          repr(delegating_role) + ' -> ' +
-          repr(rolename) +
-          ' is reached more than once.')
-      continue
-
-    # Instead of adding only rolename to the set, store the already loaded
-    # delegated-delegating role tuples. This way a delegated role is added
-    # to each of its delegating roles but when the role is reached twice
-    # from the same delegating role an infinite loop is avoided.
-    loaded_delegations.add((rolename, delegating_role))
-
-    metadata_path = delegated_roles_filenames[rolename]
-    signable = None
-
-    try:
-      signable = securesystemslib.util.load_json_file(metadata_path)
-
-    except (securesystemslib.exceptions.Error, ValueError, IOError):
-      logger.debug('Tried to load metadata with invalid JSON'
-          ' content: ' + repr(metadata_path))
-      continue
-
-    metadata_object = signable['signed']
-
-    # Extract the metadata attributes of 'metadata_object' and update its
-    # corresponding roleinfo.
-    roleinfo = {'name': rolename,
-                'signing_keyids': [],
-                'signatures': [],
-                'partial_loaded': False
-               }
-
-    roleinfo['signatures'].extend(signable['signatures'])
-    roleinfo['version'] = metadata_object['version']
-    roleinfo['expires'] = metadata_object['expires']
-    roleinfo['paths'] = metadata_object['targets']
-    roleinfo['delegations'] = metadata_object['delegations']
-    roleinfo['threshold'] = delegation_info['threshold']
-    roleinfo['keyids'] = delegation_info['keyids']
-
-    # Generate the Targets object of the delegated role,
-    # add it to the top-level 'targets' object and to its
-    # direct delegating role object.
-    new_targets_object = Targets(targets_directory, rolename,
-         roleinfo, parent_targets_object=parent_targets_object,
-         repository_name=repository_name)
-
-    parent_targets_object.add_delegated_role(rolename,
-        new_targets_object)
-    if delegating_role != 'targets':
-      parent_targets_object(delegating_role).add_delegated_role(rolename,
-          new_targets_object)
-
-    # Append the next level delegations to the deque:
-    # the 'delegated' role becomes the 'delegating'
-    for delegation in metadata_object['delegations']['roles']:
-      delegations.append((delegation, rolename))
-
-    # Extract the keys specified in the delegations field of the Targets
-    # role.  Add 'key_object' to the list of recognized keys.  Keys may be
-    # shared, so do not raise an exception if 'key_object' has already been
-    # added.  In contrast to the methods that may add duplicate keys, do not
-    # log a warning here as there may be many such duplicate key warnings.
-    # The repository maintainer should have also been made aware of the
-    # duplicate key when it was added.
-    for key_metadata in six.itervalues(metadata_object['delegations']['keys']):
-
-      # The repo may have used hashing algorithms for the generated keyids
-      # that doesn't match the client's set of hash algorithms.  Make sure
-      # to only used the repo's selected hashing algorithms.
-      key_object, keyids = securesystemslib.keys.format_metadata_to_key(key_metadata,
-          keyid_hash_algorithms=key_metadata['keyid_hash_algorithms'])
-      try:
-        for keyid in keyids: # pragma: no branch
-          key_object['keyid'] = keyid
-          tuf.keydb.add_key(key_object, keyid=None,
-              repository_name=repository_name)
-
-      except tuf.exceptions.KeyAlreadyExistsError:
-        pass
-
-  return repository
-
-
-
-
-
-def dump_signable_metadata(metadata_filepath):
-  """
-  <Purpose>
-    Dump the "signed" portion of metadata. It is the portion that is normally
-    signed by the repository tool, which is in canonicalized JSON form.
-    This function is intended for external tools that wish to independently
-    sign metadata.
-
-    The normal workflow for this use case is to:
-    (1) call dump_signable_metadata(metadata_filepath)
-    (2) sign the output with an external tool
-    (3) call append_signature(signature, metadata_filepath)
-
-  <Arguments>
-    metadata_filepath:
-      The path to the metadata file.  For example,
-      repository/metadata/root.json.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    IOError, if 'metadata_filepath' cannot be opened.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    Metadata content that is normally signed by the repository tool (i.e., the
-    "signed" portion of a metadata file).
-  """
-
-  # Are the argument properly formatted?
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_filepath)
-
-  signable = securesystemslib.util.load_json_file(metadata_filepath)
-
-  # Is 'signable' a valid metadata file?
-  tuf.formats.SIGNABLE_SCHEMA.check_match(signable)
-
-  return securesystemslib.formats.encode_canonical(signable['signed'])
-
-
-
-
-
-def append_signature(signature, metadata_filepath):
-  """
-  <Purpose>
-    Append 'signature' to the metadata at 'metadata_filepath'.  The signature
-    is assumed to be valid, and externally generated by signing the output of
-    dump_signable_metadata(metadata_filepath).  This function is intended for
-    external tools that wish to independently sign metadata.
-
-    The normal workflow for this use case is to:
-    (1) call dump_signable_metadata(metadata_filepath)
-    (2) sign the output with an external tool
-    (3) call append_signature(signature, metadata_filepath)
-
-  <Arguments>
-    signature:
-      A TUF signature structure that contains the KEYID, signing method, and
-      the signature.  It conforms to securesystemslib.formats.SIGNATURE_SCHEMA.
-
-      For example:
-
-      {
-       "keyid": "a0a0f0cf08...",
-       "method": "ed25519",
-       "sig": "14f6e6566ec13..."
-      }
-
-    metadata_filepath:
-      The path to the metadata file.  For example,
-      repository/metadata/root.json.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-  <Side Effects>
-    'metadata_filepath' is overwritten.
-
-  <Returns>
-    None.
-  """
-
-  # Are the arguments properly formatted?
-  securesystemslib.formats.SIGNATURE_SCHEMA.check_match(signature)
-  securesystemslib.formats.PATH_SCHEMA.check_match(metadata_filepath)
-
-  signable = securesystemslib.util.load_json_file(metadata_filepath)
-
-  # Is 'signable' a valid metadata file?
-  tuf.formats.SIGNABLE_SCHEMA.check_match(signable)
-
-  signable['signatures'].append(signature)
-
-  file_object = tempfile.TemporaryFile()
-
-  written_metadata_content = json.dumps(signable, indent=1,
-      separators=(',', ': '), sort_keys=True).encode('utf-8')
-
-  file_object.write(written_metadata_content)
-  securesystemslib.util.persist_temp_file(file_object, metadata_filepath)
-
-
-
-
-
-if __name__ == '__main__':
-  # The interactive sessions of the documentation strings can
-  # be tested by running repository_tool.py as a standalone module:
-  # $ python repository_tool.py.
-  import doctest
-  doctest.testmod()
diff --git a/tuf/roledb.py b/tuf/roledb.py
deleted file mode 100755
index 37add72e3a..0000000000
--- a/tuf/roledb.py
+++ /dev/null
@@ -1,1071 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  roledb.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  March 21, 2012.  Based on a previous version of this module by Geremy Condra.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Represent a collection of roles and their organization.  The caller may
-  create a collection of roles from those found in the 'root.json' metadata
-  file by calling 'create_roledb_from_root_metadata()', or individually by
-  adding roles with 'add_role()'.  There are many supplemental functions
-  included here that yield useful information about the roles contained in the
-  database, such as extracting all the parent rolenames for a specified
-  rolename, deleting all the delegated roles, retrieving role paths, etc.  The
-  Update Framework process maintains a role database for each repository.
-
-  The role database is a dictionary conformant to
-  'tuf.formats.ROLEDICT_SCHEMA' and has the form:
-
-  {'repository_name': {
-      'rolename': {'keyids': ['34345df32093bd12...'],
-          'threshold': 1
-          'signatures': ['abcd3452...'],
-          'paths': ['role.json'],
-          'path_hash_prefixes': ['ab34df13'],
-          'delegations': {'keys': {}, 'roles': {}}}
-
-  The 'name', 'paths', 'path_hash_prefixes', and 'delegations' dict keys are
-  optional.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-import copy
-
-import tuf
-import tuf.log
-import tuf.formats
-
-import securesystemslib
-import six
-
-# See 'tuf.log' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-# The role database.
-_roledb_dict = {}
-_roledb_dict['default'] = {}
-
-# A dictionary (where the keys are repository names) containing a set of roles
-# that have been modified (e.g., via update_roleinfo()) and should be written
-# to disk.
-_dirty_roles = {}
-_dirty_roles['default'] = set()
-
-
-TOP_LEVEL_ROLES = ['root', 'targets', 'snapshot', 'timestamp']
-
-
-def create_roledb_from_root_metadata(root_metadata, repository_name='default'):
-  """
-  <Purpose>
-    Create a role database containing all of the unique roles found in
-    'root_metadata'.
-
-  <Arguments>
-    root_metadata:
-      A dictionary conformant to 'tuf.formats.ROOT_SCHEMA'.  The
-      roles found in the 'roles' field of 'root_metadata' is needed by this
-      function.
-
-    repository_name:
-      The name of the repository to store 'root_metadata'.  If not supplied,
-      'rolename' is added to the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'root_metadata' does not have
-    the correct object format.
-
-    securesystemslib.exceptions.Error, if one of the roles found in
-    'root_metadata' contains an invalid delegation (i.e., a nonexistent parent
-    role).
-
-  <Side Effects>
-    Calls add_role().  The old role database for 'repository_name' is replaced.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'root_metadata' have the correct object format?
-  # This check will ensure 'root_metadata' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  # Raises securesystemslib.exceptions.FormatError.
-  tuf.formats.ROOT_SCHEMA.check_match(root_metadata)
-
-  # Is 'repository_name' formatted correctly?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  # Clear the role database.
-  if repository_name in _roledb_dict:
-    _roledb_dict[repository_name].clear()
-
-  # Ensure _roledb_dict and _dirty_roles contains an entry for
-  # 'repository_name' so that adding the newly created roleinfo succeeds.
-  _roledb_dict[repository_name] = {}
-  _dirty_roles[repository_name] = set()
-
-  # Do not modify the contents of the 'root_metadata' argument.
-  root_metadata = copy.deepcopy(root_metadata)
-
-  # Iterate the roles found in 'root_metadata' and add them to '_roledb_dict'.
-  # Duplicates are avoided.
-  for rolename, roleinfo in six.iteritems(root_metadata['roles']):
-    if rolename == 'root':
-      roleinfo['version'] = root_metadata['version']
-      roleinfo['expires'] = root_metadata['expires']
-      roleinfo['previous_keyids'] = roleinfo['keyids']
-      roleinfo['previous_threshold'] = roleinfo['threshold']
-
-    roleinfo['signatures'] = []
-    roleinfo['signing_keyids'] = []
-    roleinfo['partial_loaded'] = False
-
-    if rolename.startswith('targets'):
-      roleinfo['paths'] = {}
-      roleinfo['delegations'] = {'keys': {}, 'roles': []}
-
-    add_role(rolename, roleinfo, repository_name)
-
-
-
-
-
-def create_roledb(repository_name):
-  """
-  <Purspose>
-    Create a roledb for the repository named 'repository_name'.  This function
-    is intended for creation of a non-default roledb.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to create. An empty roledb is created, and
-      roles may be added via add_role(rolename, roleinfo, repository_name) or
-      create_roledb_from_root_metadata(root_metadata, repository_name).
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' already
-    exists in the roledb.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Is 'repository_name' properly formatted?  If not, raise
-  # 'securesystemslib.exceptions.FormatError'.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name in _roledb_dict or repository_name in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name'
-      ' already exists: ' + repr(repository_name))
-
-  _roledb_dict[repository_name] = {}
-  _dirty_roles[repository_name] = set()
-
-
-
-
-
-def remove_roledb(repository_name):
-  """
-  <Purspose>
-    Remove the roledb belonging to 'repository_name'.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to remove.  'repository_name' cannot be
-      'default' because the default repository is expected to always exist.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' is the
-    'default' repository name.  The 'default' repository name should always
-    exist.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Is 'repository_name' properly formatted?  If not, raise
-  # 'securesystemslib.exceptions.FormatError'.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    logger.warning('Repository name does not exist:'
-      ' ' + repr(repository_name))
-    return
-
-  if repository_name == 'default':
-    raise securesystemslib.exceptions.InvalidNameError('Cannot remove the'
-      ' default repository: ' + repr(repository_name))
-
-  del _roledb_dict[repository_name]
-  del _dirty_roles[repository_name]
-
-
-
-def add_role(rolename, roleinfo, repository_name='default'):
-  """
-  <Purpose>
-    Add to the role database the 'roleinfo' associated with 'rolename'.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    roleinfo:
-      An object representing the role associated with 'rolename', conformant to
-      ROLEDB_SCHEMA.  'roleinfo' has the form:
-      {'keyids': ['34345df32093bd12...'],
-       'threshold': 1,
-       'signatures': ['ab23dfc32']
-       'paths': ['path/to/target1', 'path/to/target2', ...],
-       'path_hash_prefixes': ['a324fcd...', ...],
-       'delegations': {'keys': }
-
-      The 'paths', 'path_hash_prefixes', and 'delegations' dict keys are
-      optional.
-
-      The 'target' role has an additional 'paths' key.  Its value is a list of
-      strings representing the path of the target file(s).
-
-    repository_name:
-      The name of the repository to store 'rolename'.  If not supplied,
-      'rolename' is added to the 'default' repository.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rolename' or 'roleinfo' does
-    not have the correct object format.
-
-    securesystemslib.exceptions.RoleAlreadyExistsError, if 'rolename' has
-    already been added.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is improperly
-    formatted, or 'repository_name' does not exist.
-
-  <Side Effects>
-    The role database is modified.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'rolename' have the correct object format?
-  # This check will ensure 'rolename' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-  # Does 'roleinfo' have the correct object format?
-  tuf.formats.ROLEDB_SCHEMA.check_match(roleinfo)
-
-  # Is 'repository_name' correctly formatted?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-
-  # Raises securesystemslib.exceptions.InvalidNameError.
-  _validate_rolename(rolename)
-
-  if repository_name not in _roledb_dict:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not exist: ' + repository_name)
-
-  if rolename in _roledb_dict[repository_name]:
-    raise tuf.exceptions.RoleAlreadyExistsError('Role already exists: ' + rolename)
-
-  _roledb_dict[repository_name][rolename] = copy.deepcopy(roleinfo)
-
-
-
-
-
-def update_roleinfo(rolename, roleinfo, mark_role_as_dirty=True, repository_name='default'):
-  """
-  <Purpose>
-    Modify 'rolename's _roledb_dict entry to include the new 'roleinfo'.
-    'rolename' is also added to the _dirty_roles set.  Roles added to
-    '_dirty_roles' are marked as modified and can be used by the repository
-    tools to determine which roles need to be written to disk.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    roleinfo:
-      An object representing the role associated with 'rolename', conformant to
-      ROLEDB_SCHEMA.  'roleinfo' has the form:
-      {'name': 'role_name',
-       'keyids': ['34345df32093bd12...'],
-       'threshold': 1,
-       'paths': ['path/to/target1', 'path/to/target2', ...],
-       'path_hash_prefixes': ['a324fcd...', ...]}
-
-      The 'name', 'paths', and 'path_hash_prefixes' dict keys are optional.
-
-      The 'target' role has an additional 'paths' key.  Its value is a list of
-      strings representing the path of the target file(s).
-
-    mark_role_as_dirty:
-      A boolean indicating whether the updated 'roleinfo' for 'rolename' should
-      be marked as dirty.  The caller might not want to mark 'rolename' as
-      dirty if it is loading metadata from disk and only wants to populate
-      roledb.py.  Likewise, add_role() would support a similar boolean to allow
-      the repository tools to successfully load roles via load_repository()
-      without needing to mark these roles as dirty (default behavior).
-
-    repository_name:
-      The name of the repository to update the roleinfo of 'rolename'.  If not
-      supplied, the 'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rolename' or 'roleinfo' does
-    not have the correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is improperly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    The role database is modified.
-
-  <Returns>
-    None.
-  """
-
-  # Does the arguments have the correct object format?
-  # This check will ensure arguments have the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(mark_role_as_dirty)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Does 'roleinfo' have the correct object format?
-  tuf.formats.ROLEDB_SCHEMA.check_match(roleinfo)
-
-  # Raises securesystemslib.exceptions.InvalidNameError.
-  _validate_rolename(rolename)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not' ' exist: ' +
-      repository_name)
-
-  if rolename not in _roledb_dict[repository_name]:
-    raise tuf.exceptions.UnknownRoleError('Role does not exist: ' + rolename)
-
-  # Update the global _roledb_dict and _dirty_roles structures so that
-  # the latest 'roleinfo' is available to other modules, and the repository
-  # tools know which roles should be saved to disk.
-  _roledb_dict[repository_name][rolename] = copy.deepcopy(roleinfo)
-
-  if mark_role_as_dirty:
-    _dirty_roles[repository_name].add(rolename)
-
-
-
-
-
-def get_dirty_roles(repository_name='default'):
-  """
-  <Purpose>
-    A function that returns a list of the roles that have been modified.  Tools
-    that write metadata to disk can use the list returned to determine which
-    roles should be written.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to get the dirty roles.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not
-    exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A sorted list of the roles that have been modified.
-  """
-
-  # Does 'repository_name' have the correct format?  Raise
-  # 'securesystemslib.exceptions.FormatError' if not.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does'
-      '  not' ' exist: ' + repository_name)
-
-  return sorted(list(_dirty_roles[repository_name]))
-
-
-
-def mark_dirty(roles, repository_name='default'):
-  """
-  <Purpose>
-    Mark the list of 'roles' as dirty.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to get the dirty roles.  If not supplied, the
-      'default' repository is searched.
-
-    roles:
-      A list of roles that should be marked as dirty.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not
-    exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Are the arguments properly formatted?  If not, raise
-  # securesystemslib.exceptions.FormatError.
-  securesystemslib.formats.NAMES_SCHEMA.check_match(roles)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does'
-      ' not' ' exist: ' + repository_name)
-
-  _dirty_roles[repository_name].update(roles)
-
-
-
-def unmark_dirty(roles, repository_name='default'):
-  """
-  <Purpose>
-    No longer mark the roles in 'roles' as dirty.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to get the dirty roles.  If not supplied, the
-      'default' repository is searched.
-
-    roles:
-      A list of roles that should no longer be marked as dirty.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not
-    exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Are the arguments properly formatted?  If not, raise
-  # securesystemslib.exceptions.FormatError.
-  securesystemslib.formats.NAMES_SCHEMA.check_match(roles)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does'
-      ' not exist: ' + repository_name)
-
-  for role in roles:
-    try:
-      _dirty_roles[repository_name].remove(role)
-
-    except (KeyError, ValueError):
-      logger.debug(repr(role) + ' is not dirty.')
-
-
-
-def role_exists(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Verify whether 'rolename' is stored in the role database.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to check whether 'rolename' exists.  If not
-      supplied, the 'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rolename' does not have the
-    correct object format.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    Boolean.  True if 'rolename' is found in the role database, False otherwise.
-  """
-
-  # Raise securesystemslib.exceptions.FormatError,
-  # securesystemslib.exceptions.InvalidNameError if the arguments are invalid.
-  # We do not intercept securesystemslib.exceptions.FormatError
-  # or securesystemslib.exceptions.InvalidNameError exceptions.
-  try:
-    _check_rolename(rolename, repository_name)
-
-  except tuf.exceptions.UnknownRoleError:
-    return False
-
-  return True
-
-
-
-
-
-def remove_role(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Remove 'rolename'.  Delegated roles were previously removed as well,
-    but this step is longer supported since the repository can resemble
-    a graph of delegations.  That is, we shouldn't delete rolename's
-    delegations because another role may have a valid delegation
-    to it, whereas before the only valid delegation to it must be from
-    'rolename' (repository resembles a tree of delegations).
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to remove the role.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rolename' does not have the
-    correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    A role may be removed from the role database.
-
-  <Returns>
-    None.
-  """
-
-  # Does 'repository_name' have the correct format?  Raise
-  # 'securesystemslib.exceptions.FormatError' if it is improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  # 'rolename' was verified to exist in _check_rolename().
-  # Remove 'rolename' now.
-  del _roledb_dict[repository_name][rolename]
-
-
-
-
-
-def get_rolenames(repository_name='default'):
-  """
-  <Purpose>
-    Return a list of the rolenames found in the role database.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to get the rolenames.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' is improperly
-    formatted.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not
-    exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A list of rolenames.
-  """
-
-  # Does 'repository_name' have the correct format?  Raise
-  # 'securesystemslib.exceptions.FormatError' if it is improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does'
-      ' not' ' exist: ' + repository_name)
-
-  return list(_roledb_dict[repository_name].keys())
-
-
-
-
-
-def get_roleinfo(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Return the roleinfo of 'rolename'.
-
-    {'keyids': ['34345df32093bd12...'],
-     'threshold': 1,
-     'signatures': ['ab453bdf...', ...],
-     'paths': ['path/to/target1', 'path/to/target2', ...],
-     'path_hash_prefixes': ['a324fcd...', ...],
-     'delegations': {'keys': {}, 'roles': []}}
-
-    The 'signatures', 'paths', 'path_hash_prefixes', and 'delegations' dict keys
-    are optional.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to get the role info.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments are improperly
-    formatted.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' does not exist.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    The roleinfo of 'rolename'.
-  """
-
-  # Is 'repository_name' properly formatted?  If not, raise
-  # 'securesystemslib.exceptions.FormatError'.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  return copy.deepcopy(_roledb_dict[repository_name][rolename])
-
-
-
-
-
-def get_role_keyids(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Return a list of the keyids associated with 'rolename'.  Keyids are used as
-    identifiers for keys (e.g., rsa key).  A list of keyids are associated with
-    each rolename.  Signing a metadata file, such as 'root.json' (Root role),
-    involves signing or verifying the file with a list of keys identified by
-    keyid.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to get the role keyids.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the
-    correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A list of keyids.
-  """
-
-  # Raise 'securesystemslib.exceptions.FormatError' if 'repository_name' is
-  # improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  roleinfo = _roledb_dict[repository_name][rolename]
-
-  return roleinfo['keyids']
-
-
-
-
-
-def get_role_threshold(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Return the threshold value of the role associated with 'rolename'.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to get the role threshold.  If not supplied,
-      the 'default' repository is searched.
-
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the
-    correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A threshold integer value.
-  """
-
-  # Raise 'securesystemslib.exceptions.FormatError' if 'repository_name' is
-  # improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  roleinfo = _roledb_dict[repository_name][rolename]
-
-  return roleinfo['threshold']
-
-
-
-
-
-def get_role_paths(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Return the paths of the role associated with 'rolename'.
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to get the role paths.  If not supplied, the
-      'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the
-    correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A list of paths.
-  """
-
-  # Raise 'securesystemslib.exceptions.FormatError' if 'repository_name' is
-  # improperly formatted.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  roleinfo = _roledb_dict[repository_name][rolename]
-
-  # Paths won't exist for non-target roles.
-  try:
-    return roleinfo['paths']
-
-  except KeyError:
-    return dict()
-
-
-
-
-
-def get_delegated_rolenames(rolename, repository_name='default'):
-  """
-  <Purpose>
-    Return the delegations of a role.  If 'rolename' is 'tuf' and the role
-    database contains ['django', 'requests', 'cryptography'], in 'tuf's
-    delegations field, return ['django', 'requests', 'cryptography'].
-
-  <Arguments>
-    rolename:
-      An object representing the role's name, conformant to 'ROLENAME_SCHEMA'
-      (e.g., 'root', 'snapshot', 'timestamp').
-
-    repository_name:
-      The name of the repository to get the delegated rolenames.  If not
-      supplied, the 'default' repository is searched.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if the arguments do not have the
-    correct object format.
-
-    tuf.exceptions.UnknownRoleError, if 'rolename' cannot be found
-    in the role database.
-
-    securesystemslib.exceptions.InvalidNameError, if 'rolename' is incorrectly
-    formatted, or 'repository_name' does not exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A list of rolenames. Note that the rolenames are *NOT* sorted by order of
-    delegation.
-  """
-
-
-  # Does 'repository_name' have the correct format?  Raise
-  # 'securesystemslib.exceptions.FormatError' if it does not.
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.FormatError,
-  # tuf.exceptions.UnknownRoleError, or
-  # securesystemslib.exceptions.InvalidNameError.
-  _check_rolename(rolename, repository_name)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  # get_roleinfo() raises a 'securesystemslib.exceptions.InvalidNameError' if
-  # 'repository_name' does not exist in the role database.
-  roleinfo = get_roleinfo(rolename, repository_name)
-  delegated_roles = []
-
-  for delegated_role in roleinfo['delegations']['roles']:
-    delegated_roles.append(delegated_role['name'])
-
-  return delegated_roles
-
-
-
-
-
-def clear_roledb(repository_name='default', clear_all=False):
-  """
-  <Purpose>
-    Reset the roledb database.
-
-  <Arguments>
-    repository_name:
-      The name of the repository to clear.  If not supplied, the 'default'
-      repository is cleared.
-
-    clear_all:
-      Boolean indicating whether to clear the entire roledb.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'repository_name' does not have
-    the correct format.
-
-    securesystemslib.exceptions.InvalidNameError, if 'repository_name' does not
-    exist in the role database.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Do the arguments have the correct format?  If not, raise
-  # 'securesystemslib.exceptions.FormatError'
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-  securesystemslib.formats.BOOLEAN_SCHEMA.check_match(clear_all)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not'
-      ' exist: ' + repository_name)
-
-  if clear_all:
-    _roledb_dict = {}
-    _roledb_dict['default'] = {}
-    _dirty_roles = {}
-    _dirty_roles['default'] = set()
-    return
-
-  _roledb_dict[repository_name] = {}
-  _dirty_roles[repository_name] = set()
-
-
-
-
-
-def _check_rolename(rolename, repository_name='default'):
-  """ Raise securesystemslib.exceptions.FormatError if 'rolename' does not match
-  'tuf.formats.ROLENAME_SCHEMA',
-  tuf.exceptions.UnknownRoleError if 'rolename' is not found in the
-  role database, or securesystemslib.exceptions.InvalidNameError if
-  'repository_name' does not exist in the role database.
-  """
-
-  # Does 'rolename' have the correct object format?
-  # This check will ensure 'rolename' has the appropriate number of objects
-  # and object types, and that all dict keys are properly named.
-  tuf.formats.ROLENAME_SCHEMA.check_match(rolename)
-
-  # Does 'repository_name' have the correct format?
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Raises securesystemslib.exceptions.InvalidNameError.
-  _validate_rolename(rolename)
-
-  global _roledb_dict
-  global _dirty_roles
-
-  if repository_name not in _roledb_dict or repository_name not in _dirty_roles:
-    raise securesystemslib.exceptions.InvalidNameError('Repository name does not'
-      ' exist: ' + repository_name)
-
-  if rolename not in _roledb_dict[repository_name]:
-    raise tuf.exceptions.UnknownRoleError('Role name does not exist: ' + rolename)
-
-
-
-
-
-def _validate_rolename(rolename):
-  """
-  Raise securesystemslib.exceptions.InvalidNameError if 'rolename' is not
-  formatted correctly.  It is assumed 'rolename' has been checked against
-  'ROLENAME_SCHEMA' prior to calling this function.  """
-
-  if rolename == '':
-    raise securesystemslib.exceptions.InvalidNameError('Rolename must *not* be'
-      ' an empty string.')
-
-  if rolename != rolename.strip():
-    raise securesystemslib.exceptions.InvalidNameError('Invalid rolename.'
-      '  Cannot start or end with whitespace: ' + rolename)
-
-  if rolename.startswith('/') or rolename.endswith('/'):
-    raise securesystemslib.exceptions.InvalidNameError('Invalid rolename.'
-      '  Cannot start or end with a "/": ' + rolename)
diff --git a/tuf/scripts/client.py b/tuf/scripts/client.py
deleted file mode 100755
index f9d8c9dbaa..0000000000
--- a/tuf/scripts/client.py
+++ /dev/null
@@ -1,244 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2018, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  client.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  September 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provide a basic TUF client that can update all of the metatada and target
-  files provided by the user-specified repository mirror.  Updated files are
-  saved to the 'targets' directory in the current working directory.  The
-  repository mirror is specified by the user through the '--repo' command-
-  line option.
-
-  Normally, a software updater integrating TUF will develop their own costum
-  client module by importing 'tuf.client.updater', instantiating the required
-  object, and calling the desired methods to perform an update.  This basic
-  client is provided to users who wish to give TUF a quick test run without the
-  hassle of writing client code.  This module can also used by updaters that do
-  not need the customization and only require their clients to perform an
-  update of all the files provided by their repository mirror(s).
-
-  For software updaters that DO require customization, see the
-  'example_client.py' script.  The 'example_client.py' script provides an
-  outline of the client code that software updaters may develop and then tailor
-  to their specific software updater or package manager.
-
-  Additional tools for clients running legacy applications will also be made
-  available.  These tools will allow secure software updates using The Update
-  Framework without the need to modify the original application.
-
-<Usage>
-  $ client.py --repo http://localhost:8001 <target>
-  $ client.py --repo http://localhost:8001 --verbose 3 <target>
-
-<Options>
-  --verbose:
-    Set the verbosity level of logging messages.  Accepts values 1-5.
-    
-  Example:
-    $ client.py --repo http://localhost:8001 --verbose 3 README.txt
-
-  --repo:
-    Set the repository mirror that will be responding to client requests.
-    E.g., 'http://localhost:8001'.
-    
-  Example:
-    $ client.py --repo http://localhost:8001 README.txt
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import sys
-import argparse
-import logging
-
-import tuf
-import tuf.client.updater
-import tuf.settings
-import tuf.log
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-
-def update_client(parsed_arguments):
-  """
-  <Purpose>
-    Perform an update of the metadata and target files located at
-    'repository_mirror'.  Target files are saved to the 'targets' directory
-    in the current working directory.  The current directory must already
-    include a 'metadata' directory, which in turn must contain the 'current'
-    and 'previous' directories.  At a minimum, these two directories require
-    the 'root.json' metadata file.
-
-  <Arguments>
-    parsed_arguments:
-      An argparse Namespace object, containing the parsed arguments.
-
-  <Exceptions>
-    tuf.exceptions.Error, if 'parsed_arguments' is not a Namespace object.
-
-  <Side Effects>
-    Connects to a repository mirror and updates the local metadata files and
-    any target files.  Obsolete, local targets are also removed.
-
-  <Returns>
-    None.
-  """
-
-  if not isinstance(parsed_arguments, argparse.Namespace):
-    raise tuf.exceptions.Error('Invalid namespace object.')
-
-  else:
-    logger.debug('We have a valid argparse Namespace object.')
-
-  # Set the local repositories directory containing all of the metadata files.
-  tuf.settings.repositories_directory = '.'
-
-  # Set the repository mirrors.  This dictionary is needed by the Updater
-  # class of updater.py.
-  repository_mirrors = {'mirror': {'url_prefix': parsed_arguments.repo,
-      'metadata_path': 'metadata', 'targets_path': 'targets'}}
-
-  # Create the repository object using the repository name 'repository'
-  # and the repository mirrors defined above.
-  updater = tuf.client.updater.Updater('tufrepo', repository_mirrors)
-
-  # The local destination directory to save the target files.
-  destination_directory = './tuftargets'
-
-  # Refresh the repository's top-level roles...
-  updater.refresh(unsafely_update_root_if_necessary=False)
-
-  # ... and store the target information for the target file specified on the
-  # command line, and determine which of these targets have been updated.
-  target_fileinfo = []
-  for target in parsed_arguments.targets:
-    target_fileinfo.append(updater.get_one_valid_targetinfo(target))
-
-  updated_targets = updater.updated_targets(target_fileinfo, destination_directory)
-
-  # Retrieve each of these updated targets and save them to the destination
-  # directory.
-  for target in updated_targets:
-    try:
-      updater.download_target(target, destination_directory)
-
-    except tuf.exceptions.DownloadError:
-      pass
-
-  # Remove any files from the destination directory that are no longer being
-  # tracked.
-  updater.remove_obsolete_targets(destination_directory)
-
-
-
-
-
-def parse_arguments():
-  """
-  <Purpose>
-    Parse the command-line options and set the logging level
-    as specified by the user through the --verbose option.
-    'client' expects the '--repo' to be set by the user.
-
-    Example:
-      $ client.py --repo http://localhost:8001 LICENSE
-
-    If the required option is unset, a parser error is printed
-    and the scripts exits.
-
-  <Arguments>
-    None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Sets the logging level for TUF logging.
-
-  <Returns>
-    The parsed_arguments (i.e., a argparse Namespace object).
-  """
-
-  parser = argparse.ArgumentParser(
-    description='Retrieve file from TUF repository.')
-
-  # Add the options supported by 'basic_client' to the option parser.
-  parser.add_argument('-v', '--verbose', type=int, default=2,
-      choices=range(0, 6), help='Set the verbosity level of logging messages.'
-      ' The lower the setting, the greater the verbosity.  Supported logging'
-      ' levels: 0=UNSET, 1=DEBUG, 2=INFO, 3=WARNING, 4=ERROR,'
-      ' 5=CRITICAL')
-
-  parser.add_argument('-r', '--repo', type=str, required=True, metavar='<URI>',
-      help='Specify the remote repository\'s URI'
-      ' (e.g., http://www.example.com:8001/tuf/).  The client retrieves'
-      ' updates from the remote repository.')
-
-  parser.add_argument('targets', nargs='+', metavar='<file>', help='Specify'
-      ' the target files to retrieve from the specified TUF repository.')
-
-  parsed_arguments = parser.parse_args()
-
-
-  # Set the logging level.
-  if parsed_arguments.verbose == 5:
-    tuf.log.set_log_level(logging.CRITICAL)
-
-  elif parsed_arguments.verbose == 4:
-    tuf.log.set_log_level(logging.ERROR)
-
-  elif parsed_arguments.verbose == 3:
-    tuf.log.set_log_level(logging.WARNING)
-
-  elif parsed_arguments.verbose == 2:
-    tuf.log.set_log_level(logging.INFO)
-
-  elif parsed_arguments.verbose == 1:
-    tuf.log.set_log_level(logging.DEBUG)
-
-  else:
-    tuf.log.set_log_level(logging.NOTSET)
-
-  # Return the repository mirror containing the metadata and target files.
-  return parsed_arguments
-
-
-
-if __name__ == '__main__':
-
-  # Parse the command-line arguments and set the logging level.
-  arguments = parse_arguments()
-
-  # Perform an update of all the files in the 'targets' directory located in
-  # the current directory.
-  try:
-    update_client(arguments)
-
-  except (tuf.exceptions.NoWorkingMirrorError, tuf.exceptions.RepositoryError,
-      tuf.exceptions.FormatError, tuf.exceptions.Error) as e:
-    sys.stderr.write('Error: ' + str(e) + '\n')
-    sys.exit(1)
-
-  # Successfully updated the client's target files.
-  sys.exit(0)
diff --git a/tuf/scripts/repo.py b/tuf/scripts/repo.py
deleted file mode 100755
index da1664a86e..0000000000
--- a/tuf/scripts/repo.py
+++ /dev/null
@@ -1,1154 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2018, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  repo.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  January 2018.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provide a command-line interface to create and modify TUF repositories.  The
-  CLI removes the need to write Python code when creating or modifying
-  repositories, which is the case with repository_tool.py and
-  developer_tool.py.
-
-  Note:
-  'pip install securesystemslib[crypto,pynacl]' is required by the CLI,
-  which installs the 3rd-party dependencies: cryptography and pynacl.
-
-<Usage>
-  Note: arguments within brackets are optional.
-
-  $ repo.py --init
-      [--consistent, --bare, --path, --root_pw, --targets_pw,
-      --snapshot_pw, --timestamp_pw]
-  $ repo.py --add <target> <dir> ... [--path, --recursive]
-  $ repo.py --remove <glob pattern>
-  $ repo.py --distrust --pubkeys </path/to/pubkey> [--role]
-  $ repo.py --trust --pubkeys </path/to/pubkey> [--role]
-  $ repo.py --sign </path/to/key> [--role <targets>]
-  $ repo.py --key <keytype>
-      [--filename <filename>
-      --path </path/to/repo>, --pw [my_password]]
-  $ repo.py --delegate <glob pattern> --delegatee <rolename>
-      --pubkeys </path/to/pubkey>
-      [--role <rolename> --terminating --threshold <X>
-      --sign </path/to/role_privkey>]
-  $ repo.py --revoke --delegatee <rolename>
-      [--role <rolename> --sign </path/to/role_privkey>]
-  $ repo.py --verbose <0-5>
-  $ repo.py --clean [--path]
-    
-<Options>
-  --init:
-    Create new TUF repository in current working or specified directory.
-    
-  --consistent:
-    Enable consistent snapshots for newly created TUF repository.
-    
-  --bare:
-    Specify creation of bare TUF repository with no key created or set.
-    
-  --path:
-    Choose specified path location of a TUF repository or key(s).
-    
-  --role:
-    Specify top-level role(s) affected by the main command-line option.
-    
-  --pubkeys:
-    Indicate location of key(s) affected by the main command-line option.
-    
-  --root_pw:
-    Set password for encrypting top-level key file of root role.
-    
-  --targets_pw:
-    Set password for encrypting top-level key file of targets role.
-    
-  --snapshot_pw:
-    Set password for encrypting top-level key file of snapshot role.
-    
-  --timestamp_pw:
-    Set password for encrypting top-level key file of timestamp role.
-    
-  --add:
-    Add file specified by <target> to the Targets metadata.
-    
-  --recursive:
-    Include files in subdirectories of specified directory <dir>.
-    
-  --remove:
-    Remove target files from Targets metadata matching <glob pattern>.
-    
-  --distrust:
-    Discontinue trust of keys located in </path/to/pubkey> directory of a role.
-    
-  --trust:
-    Indicate trusted keys located in </path/to/pubkey> directory of a role.
-    
-  --sign: 
-    Sign metadata of target role(s) with keys in specified directory.
-    
-  --key:
-    Generate cryptographic key of specified type <keytype> (default: Ed25519).
-    
-  --filename:
-    Specify filename associated with generated top-level key.
-    
-  --pw:
-    Set password for the generated key of specified type <keytype>.
-    
-  --delegate:
-    Delegate trust of target files from Targets role (or <rolename> specified
-    in --role) to --delegatee role with specified <rolename>.
-    
-  --delegatee:
-    Specify role that is targeted by delegator in --role to sign for
-    target files matching delegated <glob pattern> or in revocation of trust.
-    
-  --terminating:
-    Mark delegation to --delegatee role from delegator as a terminating one.
-  
-  --threshold:
-    Specify signature threshold of --delegatee role as the value <X>.
-    
-  --revoke:
-    Revoke trust of target files from delegated role (--delegatee)
-    
-  --verbose:
-    Set the verbosity level of logging messages. Accepts values 1-5.
-    
-  --clean:
-    Delete repo in current working or specified directory.
-"""
-
-# Help with Python 2+3 compatibility, where the print statement is a function,
-# an implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import sys
-import logging
-import argparse
-import shutil
-import time
-import fnmatch
-
-import tuf
-import tuf.log
-import tuf.formats
-import tuf.repository_tool as repo_tool
-
-# 'pip install securesystemslib[crypto,pynacl]' is required for the CLI,
-# which installs the cryptography and pynacl.
-import securesystemslib
-from securesystemslib import interface
-import six
-
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-repo_tool.disable_console_log_messages()
-
-PROG_NAME = 'repo.py'
-
-REPO_DIR = 'tufrepo'
-CLIENT_DIR = 'tufclient'
-KEYSTORE_DIR = 'tufkeystore'
-
-ROOT_KEY_NAME = 'root_key'
-TARGETS_KEY_NAME = 'targets_key'
-SNAPSHOT_KEY_NAME = 'snapshot_key'
-TIMESTAMP_KEY_NAME = 'timestamp_key'
-
-STAGED_METADATA_DIR = 'metadata.staged'
-METADATA_DIR = 'metadata'
-
-# The keytype strings, as expected on the command line.
-ED25519_KEYTYPE = 'ed25519'
-ECDSA_KEYTYPE = 'ecdsa'
-RSA_KEYTYPE = 'rsa'
-SUPPORTED_CLI_KEYTYPES = (ECDSA_KEYTYPE, ED25519_KEYTYPE, RSA_KEYTYPE)
-
-# The supported keytype strings (as they appear in metadata) are listed here
-# because they won't necessarily match the key types supported by
-# securesystemslib.
-SUPPORTED_KEY_TYPES = ('ed25519', 'ecdsa-sha2-nistp256', 'rsa')
-
-# pylint: disable=protected-access
-# ... to allow use of sslib _generate_and_write_*_keypair convenience methods
-
-def process_command_line_arguments(parsed_arguments):
-  """
-  <Purpose>
-    Perform the relevant operations on the repo according to the chosen
-    command-line options.  Which functions are executed depends on
-    'parsed_arguments'.  For instance, the --init and --clean options will
-    cause the init_repo() and clean_repo() functions to be called.
-    Multiple operations can be executed in one invocation of the CLI.
-
-  <Arguments>
-    parsed_arguments:
-      The parsed arguments returned by argparse.parse_args().
-
-  <Exceptions>
-    securesystemslib.exceptions.Error, if any of the arguments are
-    improperly formatted or if any of the argument could not be processed.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    None.
-  """
-
-  # Do we have a valid argparse Namespace?
-  if not isinstance(parsed_arguments, argparse.Namespace):
-    raise tuf.exceptions.Error('Invalid namespace: ' + repr(parsed_arguments))
-
-  else:
-    logger.debug('We have a valid argparse Namespace.')
-
-  # TODO: Make sure the order that the arguments are processed allows for the
-  # most convenient use of multiple options in one invocation of the CLI.  For
-  # instance, it might be best for --clean to be processed first before --init
-  # so that a user can do the following: repo.py --clean --init (that is, first
-  # clear the repo in the current working directory, and then initialize a new
-  # one.
-  if parsed_arguments.clean:
-    clean_repo(parsed_arguments)
-
-  if parsed_arguments.init:
-    init_repo(parsed_arguments)
-
-  if parsed_arguments.remove:
-    remove_targets(parsed_arguments)
-
-  if parsed_arguments.add:
-    add_targets(parsed_arguments)
-
-  if parsed_arguments.distrust:
-    remove_verification_key(parsed_arguments)
-
-  if parsed_arguments.trust:
-    add_verification_key(parsed_arguments)
-
-  if parsed_arguments.key:
-    gen_key(parsed_arguments)
-
-  if parsed_arguments.revoke:
-    revoke(parsed_arguments)
-
-  if parsed_arguments.delegate:
-    delegate(parsed_arguments)
-
-  # --sign should be processed last, after the other options, so that metadata
-  # is signed last after potentially being modified by the other options.
-  if parsed_arguments.sign:
-    sign_role(parsed_arguments)
-
-
-
-def delegate(parsed_arguments):
-
-  if not parsed_arguments.delegatee:
-    raise tuf.exceptions.Error(
-        '--delegatee must be set to perform the delegation.')
-
-  if parsed_arguments.delegatee in ('root', 'snapshot', 'timestamp', 'targets'):
-    raise tuf.exceptions.Error(
-        'Cannot delegate to the top-level role: ' + repr(parsed_arguments.delegatee))
-
-  if not parsed_arguments.pubkeys:
-    raise tuf.exceptions.Error(
-        '--pubkeys must be set to perform the delegation.')
-
-  public_keys = []
-  for public_key in parsed_arguments.pubkeys:
-    imported_pubkey = import_publickey_from_file(public_key)
-    public_keys.append(imported_pubkey)
-
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  if parsed_arguments.role == 'targets':
-    repository.targets.delegate(parsed_arguments.delegatee, public_keys,
-        parsed_arguments.delegate, parsed_arguments.threshold,
-        parsed_arguments.terminating, list_of_targets=None,
-        path_hash_prefixes=None)
-
-    targets_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, TARGETS_KEY_NAME),
-        parsed_arguments.targets_pw)
-
-    repository.targets.load_signing_key(targets_private)
-
-  # A delegated (non-top-level-Targets) role.
-  else:
-    repository.targets(parsed_arguments.role).delegate(
-        parsed_arguments.delegatee, public_keys,
-        parsed_arguments.delegate, parsed_arguments.threshold,
-        parsed_arguments.terminating, list_of_targets=None,
-        path_hash_prefixes=None)
-
-  # Update the required top-level roles, Snapshot and Timestamp, to make a new
-  # release.  Automatically making a new release can be disabled via
-  # --no_release.
-  if not parsed_arguments.no_release:
-    snapshot_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-        parsed_arguments.snapshot_pw)
-    timestamp_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-        TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-  repository.writeall(consistent_snapshot=consistent_snapshot)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def revoke(parsed_arguments):
-
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  if parsed_arguments.role == 'targets':
-    repository.targets.revoke(parsed_arguments.delegatee)
-
-    targets_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, TARGETS_KEY_NAME),
-        parsed_arguments.targets_pw)
-
-    repository.targets.load_signing_key(targets_private)
-
-  # A non-top-level role.
-  else:
-    repository.targets(parsed_arguments.role).revoke(parsed_arguments.delegatee)
-
-    role_privatekey = import_privatekey_from_file(parsed_arguments.sign)
-
-    repository.targets(parsed_arguments.role).load_signing_key(role_privatekey)
-
-  # Update the required top-level roles, Snapshot and Timestamp, to make a new
-  # release.  Automatically making a new release can be disabled via
-  # --no_release.
-  if not parsed_arguments.no_release:
-    snapshot_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-        parsed_arguments.snapshot_pw)
-    timestamp_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-        TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-  repository.writeall(consistent_snapshot=consistent_snapshot)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def gen_key(parsed_arguments):
-
-  if parsed_arguments.filename:
-    parsed_arguments.filename = os.path.join(parsed_arguments.path,
-        KEYSTORE_DIR, parsed_arguments.filename)
-
-  keypath = None
-
-  keygen_kwargs = {
-      "password": parsed_arguments.pw,
-      "filepath": parsed_arguments.filename,
-      "prompt": (not parsed_arguments.pw) # prompt if no default or passed pw
-  }
-
-  if parsed_arguments.key not in SUPPORTED_CLI_KEYTYPES:
-    tuf.exceptions.Error(
-        'Invalid key type: ' + repr(parsed_arguments.key) + '.  Supported'
-        ' key types: ' + repr(SUPPORTED_CLI_KEYTYPES))
-
-  elif parsed_arguments.key == ECDSA_KEYTYPE:
-    keypath = securesystemslib.interface._generate_and_write_ecdsa_keypair(
-        **keygen_kwargs)
-
-  elif parsed_arguments.key == ED25519_KEYTYPE:
-    keypath = securesystemslib.interface._generate_and_write_ed25519_keypair(
-        **keygen_kwargs)
-
-  # RSA key..
-  else:
-    keypath = securesystemslib.interface._generate_and_write_rsa_keypair(
-        **keygen_kwargs)
-
-
-  # If a filename is not given, the generated keypair is saved to the current
-  # working directory.  By default, the keypair is written to <KEYID>.pub
-  # and <KEYID> (private key).
-  if not parsed_arguments.filename:
-    privkey_repo_path =  os.path.join(parsed_arguments.path,
-        KEYSTORE_DIR, os.path.basename(keypath))
-    pubkey_repo_path =  os.path.join(parsed_arguments.path,
-        KEYSTORE_DIR, os.path.basename(keypath + '.pub'))
-
-    securesystemslib.util.ensure_parent_dir(privkey_repo_path)
-    securesystemslib.util.ensure_parent_dir(pubkey_repo_path)
-
-    # Move them from the CWD to the repo's keystore.
-    shutil.move(keypath, privkey_repo_path)
-    shutil.move(keypath + '.pub', pubkey_repo_path)
-
-
-
-def import_privatekey_from_file(keypath, password=None):
-  # Note: should securesystemslib support this functionality (import any
-  # privatekey type)?
-  # If the caller does not provide a password argument, prompt for one.
-  # Password confirmation is disabled here, which should ideally happen only
-  # when creating encrypted key files.
-  if password is None: # pragma: no cover
-
-    # It is safe to specify the full path of 'filepath' in the prompt and not
-    # worry about leaking sensitive information about the key's location.
-    # However, care should be taken when including the full path in exceptions
-    # and log files.
-    password = securesystemslib.interface.get_password('Enter a password for'
-        ' the encrypted key (' + interface.TERM_RED + repr(keypath) + interface.TERM_RED + '): ',
-        confirm=False)
-
-  # Does 'password' have the correct format?
-  securesystemslib.formats.PASSWORD_SCHEMA.check_match(password)
-
-  # Store the encrypted contents of 'filepath' prior to calling the decryption
-  # routine.
-  encrypted_key = None
-
-  with open(keypath, 'rb') as file_object:
-    encrypted_key = file_object.read().decode('utf-8')
-
-  # Decrypt the loaded key file, calling the 'cryptography' library to generate
-  # the derived encryption key from 'password'.  Raise
-  # 'securesystemslib.exceptions.CryptoError' if the decryption fails.
-  try:
-    key_object = securesystemslib.keys.decrypt_key(encrypted_key, password)
-
-  except securesystemslib.exceptions.CryptoError:
-    try:
-      logger.debug(
-          'Decryption failed.  Attempting to import a private PEM instead.')
-      key_object = securesystemslib.keys.import_rsakey_from_private_pem(
-          encrypted_key, 'rsassa-pss-sha256', password)
-
-    except securesystemslib.exceptions.CryptoError as error:
-      six.raise_from(tuf.exceptions.Error(repr(keypath) + ' cannot be '
-          ' imported, possibly because an invalid key file is given or '
-          ' the decryption password is incorrect.'), error)
-
-  if key_object['keytype'] not in SUPPORTED_KEY_TYPES:
-    raise tuf.exceptions.Error('Trying to import an unsupported key'
-        ' type: ' + repr(key_object['keytype'] + '.'
-        '  Supported key types: ' + repr(SUPPORTED_KEY_TYPES)))
-
-  else:
-    # Add "keyid_hash_algorithms" so that equal keys with different keyids can
-    # be associated using supported keyid_hash_algorithms.
-    key_object['keyid_hash_algorithms'] = securesystemslib.settings.HASH_ALGORITHMS
-
-    return key_object
-
-
-
-def import_publickey_from_file(keypath):
-
-  try:
-    key_metadata = securesystemslib.util.load_json_file(keypath)
-
-  # An RSA public key is saved to disk in PEM format (not JSON), so the
-  # load_json_file() call above can fail for this reason.  Try to potentially
-  # load the PEM string in keypath if an exception is raised.
-  except securesystemslib.exceptions.Error:
-    key_metadata = securesystemslib.interface.import_rsa_publickey_from_file(
-        keypath)
-
-  key_object, junk = securesystemslib.keys.format_metadata_to_key(key_metadata)
-
-  if key_object['keytype'] not in SUPPORTED_KEY_TYPES:
-    raise tuf.exceptions.Error('Trying to import an unsupported key'
-        ' type: ' + repr(key_object['keytype'] + '.'
-        '  Supported key types: ' + repr(SUPPORTED_KEY_TYPES)))
-
-  else:
-    return key_object
-
-
-
-def add_verification_key(parsed_arguments):
-  if not parsed_arguments.pubkeys:
-    raise tuf.exceptions.Error('--pubkeys must be given with --trust.')
-
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  for keypath in parsed_arguments.pubkeys:
-    imported_pubkey = import_publickey_from_file(keypath)
-
-    if parsed_arguments.role not in ('root', 'targets', 'snapshot', 'timestamp'):
-      raise tuf.exceptions.Error('The given --role is not a top-level role.')
-
-    elif parsed_arguments.role == 'root':
-      repository.root.add_verification_key(imported_pubkey)
-
-    elif parsed_arguments.role == 'targets':
-      repository.targets.add_verification_key(imported_pubkey)
-
-    elif parsed_arguments.role == 'snapshot':
-      repository.snapshot.add_verification_key(imported_pubkey)
-
-    # The timestamp role..
-    else:
-      repository.timestamp.add_verification_key(imported_pubkey)
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-  repository.write('root', consistent_snapshot=consistent_snapshot,
-      increment_version_number=False)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def remove_verification_key(parsed_arguments):
-  if not parsed_arguments.pubkeys:
-    raise tuf.exceptions.Error('--pubkeys must be given with --distrust.')
-
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  for keypath in parsed_arguments.pubkeys:
-    imported_pubkey = import_publickey_from_file(keypath)
-
-    try:
-      if parsed_arguments.role not in ('root', 'targets', 'snapshot', 'timestamp'):
-        raise tuf.exceptions.Error('The given --role is not a top-level role.')
-
-      elif parsed_arguments.role == 'root':
-        repository.root.remove_verification_key(imported_pubkey)
-
-      elif parsed_arguments.role == 'targets':
-        repository.targets.remove_verification_key(imported_pubkey)
-
-      elif parsed_arguments.role == 'snapshot':
-        repository.snapshot.remove_verification_key(imported_pubkey)
-
-      # The Timestamp key..
-      else:
-        repository.timestamp.remove_verification_key(imported_pubkey)
-
-    # It is assumed remove_verification_key() only raises
-    # securesystemslib.exceptions.Error and
-    # securesystemslib.exceptions.FormatError, and the latter is not raised
-    # because a valid key should have been returned by
-    # import_publickey_from_file().
-    except securesystemslib.exceptions.Error:
-      print(repr(keypath) + ' is not a trusted key.  Skipping.')
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-  repository.write('root', consistent_snapshot=consistent_snapshot,
-      increment_version_number=False)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def sign_role(parsed_arguments):
-
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-
-  for keypath in parsed_arguments.sign:
-
-    role_privatekey = import_privatekey_from_file(keypath)
-
-    if parsed_arguments.role == 'targets':
-      repository.targets.load_signing_key(role_privatekey)
-
-    elif parsed_arguments.role == 'root':
-      repository.root.load_signing_key(role_privatekey)
-
-    elif parsed_arguments.role == 'snapshot':
-      repository.snapshot.load_signing_key(role_privatekey)
-
-    elif parsed_arguments.role == 'timestamp':
-      repository.timestamp.load_signing_key(role_privatekey)
-
-    else:
-      # TODO: repository_tool.py will be refactored to clean up the following
-      # code, which adds and signs for a non-existent role.
-      if not tuf.roledb.role_exists(parsed_arguments.role):
-
-        # Load the private key keydb and set the roleinfo in roledb so that
-        # metadata can be written with repository.write().
-        tuf.keydb.remove_key(role_privatekey['keyid'],
-            repository_name = repository._repository_name)
-        tuf.keydb.add_key(
-            role_privatekey, repository_name = repository._repository_name)
-
-        # Set the delegated metadata file to expire in 3 months.
-        expiration = tuf.formats.unix_timestamp_to_datetime(
-            int(time.time() + 7889230))
-        expiration = expiration.isoformat() + 'Z'
-
-        roleinfo = {'name': parsed_arguments.role,
-            'keyids': [role_privatekey['keyid']],
-            'signing_keyids': [role_privatekey['keyid']],
-            'partial_loaded': False, 'paths': {},
-            'signatures': [], 'version': 1, 'expires': expiration,
-            'delegations': {'keys': {}, 'roles': []}}
-
-        tuf.roledb.add_role(parsed_arguments.role, roleinfo,
-            repository_name=repository._repository_name)
-
-        # Generate the Targets object of --role, and add it to the top-level
-        # 'targets' object.
-        new_targets_object = repo_tool.Targets(repository._targets_directory,
-            parsed_arguments.role, roleinfo,
-            repository_name=repository._repository_name)
-        repository.targets._delegated_roles[parsed_arguments.role] = new_targets_object
-
-      else:
-        repository.targets(parsed_arguments.role).load_signing_key(role_privatekey)
-
-  # Write the Targets metadata now that it's been modified.  Once write() is
-  # called on a role, it is no longer considered "dirty" and the role will not
-  # be written again if another write() or writeall() were subsequently made.
-  repository.write(parsed_arguments.role,
-      consistent_snapshot=consistent_snapshot, increment_version_number=False)
-
-  # Write the updated top-level roles, if any.  Also write Snapshot and
-  # Timestamp to make a new release.  Automatically making a new release can be
-  # disabled via --no_release.
-  if not parsed_arguments.no_release:
-    snapshot_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-        parsed_arguments.snapshot_pw)
-    timestamp_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-        TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-  repository.writeall(consistent_snapshot=consistent_snapshot)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def clean_repo(parsed_arguments):
-  repo_dir = os.path.join(parsed_arguments.path, REPO_DIR)
-  client_dir = os.path.join(parsed_arguments.path, CLIENT_DIR)
-  keystore_dir = os.path.join(parsed_arguments.path, KEYSTORE_DIR)
-
-  shutil.rmtree(repo_dir, ignore_errors=True)
-  shutil.rmtree(client_dir, ignore_errors=True)
-  shutil.rmtree(keystore_dir, ignore_errors=True)
-
-
-
-def write_to_live_repo(parsed_arguments):
-  staged_meta_directory = os.path.join(
-      parsed_arguments.path, REPO_DIR, STAGED_METADATA_DIR)
-  live_meta_directory = os.path.join(
-      parsed_arguments.path, REPO_DIR, METADATA_DIR)
-
-  shutil.rmtree(live_meta_directory, ignore_errors=True)
-  shutil.copytree(staged_meta_directory, live_meta_directory)
-
-
-
-def add_target_to_repo(parsed_arguments, target_path, repo_targets_path,
-    repository, custom=None):
-  """
-  (1) Copy 'target_path' to 'repo_targets_path'.
-  (2) Add 'target_path' to Targets metadata of 'repository'.
-  """
-
-  if custom is None:
-    custom = {}
-
-  if not os.path.exists(target_path):
-    logger.debug(repr(target_path) + ' does not exist.  Skipping.')
-
-  else:
-    securesystemslib.util.ensure_parent_dir(
-        os.path.join(repo_targets_path, target_path))
-    shutil.copy(target_path, os.path.join(repo_targets_path, target_path))
-
-
-    roleinfo = tuf.roledb.get_roleinfo(
-        parsed_arguments.role, repository_name=repository._repository_name)
-
-    # It is assumed we have a delegated role, and that the caller has made
-    # sure to reject top-level roles specified with --role.
-    if target_path not in roleinfo['paths']:
-      logger.debug('Adding new target: ' + repr(target_path))
-      roleinfo['paths'].update({target_path: custom})
-
-    else:
-      logger.debug('Replacing target: ' + repr(target_path))
-      roleinfo['paths'].update({target_path: custom})
-
-    tuf.roledb.update_roleinfo(parsed_arguments.role, roleinfo,
-        mark_role_as_dirty=True, repository_name=repository._repository_name)
-
-
-
-def remove_target_files_from_metadata(parsed_arguments, repository):
-
-  if parsed_arguments.role in ('root', 'snapshot', 'timestamp'):
-    raise tuf.exceptions.Error(
-        'Invalid rolename specified: ' + repr(parsed_arguments.role) + '.'
-        '  It must be "targets" or a delegated rolename.')
-
-  else:
-    # NOTE: The following approach of using tuf.roledb to update the target
-    # files will be modified in the future when the repository tool's API is
-    # refactored.
-    roleinfo = tuf.roledb.get_roleinfo(
-        parsed_arguments.role, repository._repository_name)
-
-    for glob_pattern in parsed_arguments.remove:
-      for path in list(six.iterkeys(roleinfo['paths'])):
-        if fnmatch.fnmatch(path, glob_pattern):
-          del roleinfo['paths'][path]
-
-        else:
-          logger.debug('Delegated path ' + repr(path) + ' does not match'
-              ' given path/glob pattern ' +  repr(glob_pattern))
-          continue
-
-    tuf.roledb.update_roleinfo(
-        parsed_arguments.role, roleinfo, mark_role_as_dirty=True,
-        repository_name=repository._repository_name)
-
-
-
-def add_targets(parsed_arguments):
-  repo_targets_path = os.path.join(parsed_arguments.path, REPO_DIR, 'targets')
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  # Copy the target files in --path to the repo directory, and
-  # add them to Targets metadata.  Make sure to also copy & add files
-  # in directories (and subdirectories, if --recursive is True).
-  for target_path in parsed_arguments.add:
-    if os.path.isdir(target_path):
-      for sub_target_path in repository.get_filepaths_in_directory(
-          target_path, parsed_arguments.recursive):
-        add_target_to_repo(parsed_arguments, sub_target_path,
-            repo_targets_path, repository)
-
-    else:
-      add_target_to_repo(parsed_arguments, target_path,
-          repo_targets_path, repository)
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-
-  if parsed_arguments.role == 'targets':
-    # Load the top-level, non-root, keys to make a new release.
-    targets_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, TARGETS_KEY_NAME),
-        parsed_arguments.targets_pw)
-    repository.targets.load_signing_key(targets_private)
-
-  elif parsed_arguments.role not in ('root', 'snapshot', 'timestamp'):
-    repository.write(parsed_arguments.role,
-        consistent_snapshot=consistent_snapshot, increment_version_number=True)
-    return
-
-  # Update the required top-level roles, Snapshot and Timestamp, to make a new
-  # release.  Automatically making a new release can be disabled via
-  # --no_release.
-  if not parsed_arguments.no_release:
-    snapshot_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-        parsed_arguments.snapshot_pw)
-    timestamp_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-        TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-  repository.writeall(consistent_snapshot=consistent_snapshot)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def remove_targets(parsed_arguments):
-  repository = repo_tool.load_repository(
-      os.path.join(parsed_arguments.path, REPO_DIR))
-
-  # Remove target files from the Targets metadata (or the role specified in
-  # --role) that match the glob patterns specified in --remove.
-  remove_target_files_from_metadata(parsed_arguments, repository)
-
-  # Examples of how the --pw command-line option is interpreted:
-  # repo.py --init': parsed_arguments.pw = 'pw'
-  # repo.py --init --pw my_password: parsed_arguments.pw = 'my_password'
-  # repo.py --init --pw: The user is prompted for a password, as follows:
-  if not parsed_arguments.pw:
-    parsed_arguments.pw = securesystemslib.interface.get_password(
-        prompt='Enter a password for the top-level role keys: ', confirm=True)
-
-  targets_private = import_privatekey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR, TARGETS_KEY_NAME),
-      parsed_arguments.targets_pw)
-  repository.targets.load_signing_key(targets_private)
-
-  # Load the top-level keys for Snapshot and Timestamp to make a new release.
-  # Automatically making a new release can be disabled via --no_release.
-  if not parsed_arguments.no_release:
-    snapshot_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-        parsed_arguments.snapshot_pw)
-    timestamp_private = import_privatekey_from_file(
-        os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-        TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-    repository.snapshot.load_signing_key(snapshot_private)
-    repository.timestamp.load_signing_key(timestamp_private)
-
-  consistent_snapshot = tuf.roledb.get_roleinfo('root',
-      repository._repository_name)['consistent_snapshot']
-  repository.writeall(consistent_snapshot=consistent_snapshot)
-
-  # Move staged metadata directory to "live" metadata directory.
-  write_to_live_repo(parsed_arguments)
-
-
-
-def init_repo(parsed_arguments):
-  """
-  Create a repo at the specified location in --path (the current working
-  directory, by default).  Each top-level role has one key, if --bare' is False
-  (default).
-  """
-
-  repo_path = os.path.join(parsed_arguments.path, REPO_DIR)
-  repository = repo_tool.create_new_repository(repo_path)
-
-  if not parsed_arguments.bare:
-    set_top_level_keys(repository, parsed_arguments)
-    repository.writeall(consistent_snapshot=parsed_arguments.consistent)
-
-  else:
-    repository.write(
-        'root', consistent_snapshot=parsed_arguments.consistent)
-    repository.write('targets', consistent_snapshot=parsed_arguments.consistent)
-    repository.write('snapshot', consistent_snapshot=parsed_arguments.consistent)
-    repository.write('timestamp', consistent_snapshot=parsed_arguments.consistent)
-
-  write_to_live_repo(parsed_arguments)
-
-  # Create the client files.  The client directory contains the required
-  # directory structure and metadata files for clients to successfully perform
-  # an update.
-  repo_tool.create_tuf_client_directory(
-      os.path.join(parsed_arguments.path, REPO_DIR),
-      os.path.join(parsed_arguments.path, CLIENT_DIR, REPO_DIR))
-
-
-
-def set_top_level_keys(repository, parsed_arguments):
-  """
-  Generate, write, and set the top-level keys.  'repository' is modified.
-  """
-
-  # Examples of how the --*_pw command-line options are interpreted:
-  # repo.py --init': parsed_arguments.*_pw = 'pw'
-  # repo.py --init --*_pw my_pw: parsed_arguments.*_pw = 'my_pw'
-  # repo.py --init --*_pw: The user is prompted for a password.
-
-  securesystemslib.interface._generate_and_write_ed25519_keypair(
-      password=parsed_arguments.root_pw,
-      filepath=os.path.join(parsed_arguments.path, KEYSTORE_DIR, ROOT_KEY_NAME),
-      prompt=(not parsed_arguments.root_pw))
-  securesystemslib.interface._generate_and_write_ed25519_keypair(
-      password=parsed_arguments.targets_pw,
-      filepath=os.path.join(parsed_arguments.path, KEYSTORE_DIR, TARGETS_KEY_NAME),
-      prompt=(not parsed_arguments.targets_pw))
-  securesystemslib.interface._generate_and_write_ed25519_keypair(
-      password=parsed_arguments.snapshot_pw,
-      filepath=os.path.join(parsed_arguments.path, KEYSTORE_DIR, SNAPSHOT_KEY_NAME),
-      prompt=(not parsed_arguments.snapshot_pw))
-  securesystemslib.interface._generate_and_write_ed25519_keypair(
-      password=parsed_arguments.timestamp_pw,
-      filepath=os.path.join(parsed_arguments.path, KEYSTORE_DIR, TIMESTAMP_KEY_NAME),
-      prompt=(not parsed_arguments.timestamp_pw))
-
-  # Import the private keys.  They are needed to generate the signatures
-  # included in metadata.
-  root_private = import_privatekey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      ROOT_KEY_NAME), parsed_arguments.root_pw)
-  targets_private = import_privatekey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      TARGETS_KEY_NAME), parsed_arguments.targets_pw)
-  snapshot_private = import_privatekey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      SNAPSHOT_KEY_NAME), parsed_arguments.snapshot_pw)
-  timestamp_private = import_privatekey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      TIMESTAMP_KEY_NAME), parsed_arguments.timestamp_pw)
-
-  # Import the public keys.  They are needed so that metadata roles are
-  # assigned verification keys, which clients need in order to verify the
-  # signatures created by the corresponding private keys.
-  root_public = import_publickey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      ROOT_KEY_NAME) + '.pub')
-  targets_public = import_publickey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      TARGETS_KEY_NAME) + '.pub')
-  snapshot_public = import_publickey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      SNAPSHOT_KEY_NAME) + '.pub')
-  timestamp_public = import_publickey_from_file(
-      os.path.join(parsed_arguments.path, KEYSTORE_DIR,
-      TIMESTAMP_KEY_NAME) + '.pub')
-
-  # Add the verification keys to the top-level roles.
-  repository.root.add_verification_key(root_public)
-  repository.targets.add_verification_key(targets_public)
-  repository.snapshot.add_verification_key(snapshot_public)
-  repository.timestamp.add_verification_key(timestamp_public)
-
-  # Load the previously imported signing keys for the top-level roles so that
-  # valid metadata can be written.
-  repository.root.load_signing_key(root_private)
-  repository.targets.load_signing_key(targets_private)
-  repository.snapshot.load_signing_key(snapshot_private)
-  repository.timestamp.load_signing_key(timestamp_private)
-
-
-
-def parse_arguments():
-  """
-  <Purpose>
-    Parse the command-line arguments.  Also set the logging level, as specified
-    via the --verbose argument (2, by default).
-
-    Example:
-      # Create a TUF repository in the current working directory.  The
-      # top-level roles are created, each containing one key.
-      $ repo.py --init
-
-      $ repo.py --init --bare --consistent --verbose 3
-
-    If a required argument is unset, a parser error is printed and the script
-    exits.
-
-  <Arguments>
-    None.
-
-  <Exceptions>
-    None.
-
-  <Side Effects>
-    Sets the logging level for TUF logging.
-
-  <Returns>
-    A tuple ('options.REPOSITORY_PATH', command, command_arguments).  'command'
-    'command_arguments' correspond to a repository tool fuction.
-  """
-
-  parser = argparse.ArgumentParser(
-      description='Create or modify a TUF repository.')
-
-  parser.add_argument('-i', '--init', action='store_true',
-      help='Create a repository.  The "tufrepo", "tufkeystore", and'
-      ' "tufclient" directories are created in the current working'
-      ' directory, unless --path is specified.')
-
-  parser.add_argument('-p', '--path', nargs='?', default='.',
-      metavar='</path/to/repo_dir>', help='Specify a repository path.  If used'
-      ' with --init, the initialized repository is saved to the given'
-      ' path.')
-
-  parser.add_argument('-b', '--bare', action='store_true',
-      help='If initializing a repository, neither create nor set keys'
-      ' for any of the top-level roles.  False, by default.')
-
-  parser.add_argument('--no_release', action='store_true',
-      help='Do not automatically sign Snapshot and Timestamp metadata.'
-      '  False, by default.')
-
-  parser.add_argument('--consistent', action='store_true',
-      help='Set consistent snapshots for an initialized repository.'
-      '  Consistent snapshot is False by default.')
-
-  parser.add_argument('-c', '--clean', type=str, nargs='?', const='.',
-      metavar='</path/to/repo_dir>', help='Delete the repo files from the'
-      ' specified directory.  If a directory is not specified, the current'
-      ' working directory is cleaned.')
-
-  parser.add_argument('-a', '--add', type=str, nargs='+',
-      metavar='</path/to/file>', help='Add one or more target files to the'
-      ' "targets" role (or the role specified in --role).  If a directory'
-      ' is given, all files in the directory are added.')
-
-  parser.add_argument('--remove', type=str, nargs='+',
-      metavar='<glob pattern>', help='Remove one or more target files from the'
-      ' "targets" role (or the role specified in --role).')
-
-  parser.add_argument('--role', nargs='?', type=str, const='targets',
-      default='targets', metavar='<rolename>', help='Specify a rolename.'
-      ' The rolename "targets" is used by default.')
-
-  parser.add_argument('-r', '--recursive', action='store_true',
-      help='By setting -r, any directory specified with --add is processed'
-      ' recursively.  If unset, the default behavior is to not add target'
-      ' files in subdirectories.')
-
-  parser.add_argument('-k', '--key', type=str, nargs='?', const=ED25519_KEYTYPE,
-      default=None, choices=[ECDSA_KEYTYPE, ED25519_KEYTYPE, RSA_KEYTYPE],
-      help='Generate an ECDSA, Ed25519, or RSA key.  An Ed25519 key is'
-      ' created if the key type is unspecified.')
-
-  parser.add_argument('--filename', nargs='?', default=None, const=None,
-      metavar='<filename>', help='Specify a filename.  This option can'
-      ' be used to name a generated key file.  The top-level keys should'
-      ' be named "root_key", "targets_key", "snapshot_key", "timestamp_key."')
-
-  parser.add_argument('--trust', action='store_true',
-      help='Indicate the trusted key(s) (via --pubkeys) for the role in --role.'
-      '  This action modifies Root metadata with the trusted key(s).')
-
-  parser.add_argument('--distrust', action='store_true',
-      help='Discontinue trust of key(s) (via --pubkeys) for the role in --role.'
-      '  This action modifies Root metadata by removing trusted key(s).')
-
-  parser.add_argument('--sign', nargs='+', type=str,
-      metavar='</path/to/privkey>', help='Sign the "targets"'
-      ' metadata (or the one for --role) with the specified key(s).')
-
-  parser.add_argument('--pw', nargs='?', default='pw', metavar='<password>',
-      help='Specify a password. "pw" is used if --pw is unset, or a'
-          ' password can be entered via a prompt by specifying --pw by itself.'
-          '  This option can be used with --sign and --key.')
-
-  parser.add_argument('--root_pw', nargs='?', default='pw', metavar='<password>',
-      help='Specify a Root password. "pw" is used if --pw is unset, or a'
-      ' password can be entered via a prompt by specifying --pw by itself.')
-
-  parser.add_argument('--targets_pw', nargs='?', default='pw', metavar='<password>',
-      help='Specify a Targets password. "pw" is used if --pw is unset, or a'
-      ' password can be entered via a prompt by specifying --pw by itself.')
-
-  parser.add_argument('--snapshot_pw', nargs='?', default='pw', metavar='<password>',
-      help='Specify a Snapshot password. "pw" is used if --pw is unset, or a'
-      ' password can be entered via a prompt by specifying --pw by itself.')
-
-  parser.add_argument('--timestamp_pw', nargs='?', default='pw', metavar='<password>',
-      help='Specify a Timestamp password. "pw" is used if --pw is unset, or a'
-      ' password can be entered via a prompt by specifying --pw by itself.')
-
-  parser.add_argument('-d', '--delegate', type=str, nargs='+',
-      metavar='<glob pattern>', help='Delegate trust of target files'
-      ' from the "targets" role (or --role) to some other role (--delegatee).'
-      '  The named delegatee is trusted to sign for the target files that'
-      ' match the glob pattern(s).')
-
-  parser.add_argument('--delegatee', nargs='?', type=str, const=None,
-      default=None, metavar='<rolename>', help='Specify the rolename'
-      ' of the delegated role.  Can be used with --delegate.')
-
-  parser.add_argument('-t', '--terminating', action='store_true',
-      help='Set the terminating flag to True.  Can be used with --delegate.')
-
-  parser.add_argument('--threshold', type=int, default=1, metavar='<int>',
-      help='Set the threshold number of signatures'
-      ' needed to validate a metadata file.  Can be used with --delegate.')
-
-  parser.add_argument('--pubkeys', type=str, nargs='+',
-      metavar='</path/to/pubkey_file>', help='Specify one or more public keys'
-      ' for the delegated role.  Can be used with --delegate.')
-
-  parser.add_argument('--revoke', action='store_true',
-      help='Revoke trust of target files from a delegated role.')
-
-  # Add the parser arguments supported by PROG_NAME.
-  parser.add_argument('-v', '--verbose', type=int, default=2,
-      choices=range(0, 6), help='Set the verbosity level of logging messages.'
-      ' The lower the setting, the greater the verbosity.  Supported logging'
-      ' levels: 0=UNSET, 1=DEBUG, 2=INFO, 3=WARNING, 4=ERROR,'
-      ' 5=CRITICAL')
-
-  # Should we include usage examples in the help output?
-
-  parsed_args = parser.parse_args()
-
-  # Set the logging level.
-  logging_levels = [logging.NOTSET, logging.DEBUG,
-      logging.INFO, logging.WARNING, logging.ERROR, logging.CRITICAL]
-
-  tuf.log.set_log_level(logging_levels[parsed_args.verbose])
-
-  return parsed_args
-
-
-
-if __name__ == '__main__':
-
-  # Parse the arguments and set the logging level.
-  arguments = parse_arguments()
-
-  # Create or modify the repository depending on the option specified on the
-  # command line.  For example, the following adds the 'foo.bar.gz' to the
-  # default repository and updates the relevant metadata (i.e., Targets,
-  # Snapshot, and Timestamp metadata are updated):
-  # $ repo.py --add foo.bar.gz
-
-  try:
-    process_command_line_arguments(arguments)
-
-  except (tuf.exceptions.Error) as e:
-    sys.stderr.write('Error: ' + str(e) + '\n')
-    sys.exit(1)
-
-  # Successfully created or updated the TUF repository.
-  sys.exit(0)
diff --git a/tuf/settings.py b/tuf/settings.py
deleted file mode 100755
index 2dcc8e3b25..0000000000
--- a/tuf/settings.py
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  settings.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  January 11, 2017
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
- A central location for TUF configuration settings.  Example options include
- setting the destination of temporary files and downloaded content, the maximum
- length of downloaded metadata (unknown file attributes), and download
- behavior.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-
-# Set a directory that should be used for all temporary files. If this
-# is None, then the system default will be used. The system default
-# will also be used if a directory path set here is invalid or
-# unusable.
-temporary_directory = None
-
-# Set a local directory to store metadata that is requested from mirrors.  This
-# directory contains subdirectories for different repositories, where each
-# subdirectory contains a different set of metadata.  For example:
-# tuf.settings.repositories_directory = /tmp/repositories.  The root file for a
-# repository named 'django_repo' can be found at:
-# /tmp/repositories/django_repo/metadata/current/root.METADATA_EXTENSION
-repositories_directory = None
-
-# The 'log.py' module manages TUF's logging system.  Users have the option to
-# enable/disable logging to a file via 'ENABLE_FILE_LOGGING', or
-# tuf.log.enable_file_logging() and tuf.log.disable_file_logging().
-ENABLE_FILE_LOGGING = False
-
-# If file logging is enabled via 'ENABLE_FILE_LOGGING', TUF log messages will
-# be saved to 'LOG_FILENAME'
-LOG_FILENAME = 'tuf.log'
-
-# Since the timestamp role does not have signed metadata about itself, we set a
-# default but sane upper bound for the number of bytes required to download it.
-DEFAULT_TIMESTAMP_REQUIRED_LENGTH = 16384 #bytes
-
-# The Root role may be updated without knowing its version if top-level
-# metadata cannot be safely downloaded (e.g., keys may have been revoked, thus
-# requiring a new Root file that includes the updated keys).  Set a default
-# upper bound for the maximum total bytes that may be downloaded for Root
-# metadata.
-DEFAULT_ROOT_REQUIRED_LENGTH = 512000 #bytes
-
-# Set a default, but sane, upper bound for the number of bytes required to
-# download Snapshot metadata.
-DEFAULT_SNAPSHOT_REQUIRED_LENGTH = 2000000 #bytes
-
-# Set a default, but sane, upper bound for the number of bytes required to
-# download Targets metadata.
-DEFAULT_TARGETS_REQUIRED_LENGTH = 5000000 #bytes
-
-# Set a timeout value in seconds (float) for non-blocking socket operations.
-SOCKET_TIMEOUT = 4 #seconds
-
-# The maximum chunk of data, in bytes, we would download in every round.
-CHUNK_SIZE = 400000 #bytes
-
-# The minimum average download speed (bytes/second) that must be met to
-# avoid being considered as a slow retrieval attack.
-MIN_AVERAGE_DOWNLOAD_SPEED = 50 #bytes/second
-
-# By default, limit number of delegatees we visit for any target.
-MAX_NUMBER_OF_DELEGATIONS = 2**5
-
-# A setting for the instances where a default hashing algorithm is needed.
-# This setting is currently used to calculate the path hash prefixes of hashed
-# bin delegations, and digests of targets filepaths.  The other instances
-# (e.g., digest of files) that require a hashing algorithm rely on settings in
-# the securesystemslib external library.
-DEFAULT_HASH_ALGORITHM = 'sha256'
-
-# The hashing algorithms used to compute file hashes
-FILE_HASH_ALGORITHMS = ['sha256', 'sha512']
-
-# The client's update procedure (contained within a while-loop) can potentially
-# hog the CPU.  The following setting can be used to force the update sequence
-# to suspend execution for a specified amount of time.  See
-# theupdateframework/tuf/issue#338.
-SLEEP_BEFORE_ROUND = None
-
-# Maximum number of root metadata file rotations we should perform in order to
-# prevent a denial-of-service (DoS) attack.
-MAX_NUMBER_ROOT_ROTATIONS = 2**5
diff --git a/tuf/sig.py b/tuf/sig.py
deleted file mode 100755
index 2351e0e381..0000000000
--- a/tuf/sig.py
+++ /dev/null
@@ -1,400 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program Name>
-  sig.py
-
-<Author>
-  Vladimir Diaz <vladimir.v.diaz@gmail.com>
-
-<Started>
-  February 28, 2012.   Based on a previous version by Geremy Condra.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Survivable key compromise is one feature of a secure update system
-  incorporated into TUF's design. Responsibility separation through
-  the use of multiple roles, multi-signature trust, and explicit and
-  implicit key revocation are some of the mechanisms employed towards
-  this goal of survivability.  These mechanisms can all be seen in
-  play by the functions available in this module.
-
-  The signed metadata files utilized by TUF to download target files
-  securely are used and represented here as the 'signable' object.
-  More precisely, the signature structures contained within these metadata
-  files are packaged into 'signable' dictionaries.  This module makes it
-  possible to capture the states of these signatures by organizing the
-  keys into different categories.  As keys are added and removed, the
-  system must securely and efficiently verify the status of these signatures.
-  For instance, a bunch of keys have recently expired. How many valid keys
-  are now available to the Snapshot role?  This question can be answered by
-  get_signature_status(), which will return a full 'status report' of these
-  'signable' dicts.  This module also provides a convenient verify() function
-  that will determine if a role still has a sufficient number of valid keys.
-  If a caller needs to update the signatures of a 'signable' object, there
-  is also a function for that.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import logging
-
-import tuf
-import tuf.keydb
-import tuf.roledb
-import tuf.formats
-
-import securesystemslib
-
-# See 'log.py' to learn how logging is handled in TUF.
-logger = logging.getLogger(__name__)
-
-def get_signature_status(signable, role=None, repository_name='default',
-    threshold=None, keyids=None):
-  """
-  <Purpose>
-    Return a dictionary representing the status of the signatures listed in
-    'signable'. Signatures in the returned dictionary are identified by the
-    signature keyid and can have a status of either:
-
-    * bad -- Invalid signature
-    * good -- Valid signature from key that is available in 'tuf.keydb', and is
-      authorized for the passed role as per 'tuf.roledb' (authorization may be
-      overwritten by passed 'keyids').
-    * unknown -- Signature from key that is not available in 'tuf.keydb', or if
-      'role' is None.
-    * unknown signing schemes -- Signature from key with unknown signing
-      scheme.
-    * untrusted -- Valid signature from key that is available in 'tuf.keydb',
-      but is not trusted for the passed role as per 'tuf.roledb' or the passed
-      'keyids'.
-
-    NOTE: The result may contain duplicate keyids or keyids that reference the
-    same key, if 'signable' lists multiple signatures from the same key.
-
-  <Arguments>
-    signable:
-      A dictionary containing a list of signatures and a 'signed' identifier.
-      signable = {'signed': 'signer',
-                  'signatures': [{'keyid': keyid,
-                                  'sig': sig}]}
-
-      Conformant to tuf.formats.SIGNABLE_SCHEMA.
-
-    role:
-      TUF role string (e.g. 'root', 'targets', 'snapshot' or timestamp).
-
-    threshold:
-      Rather than reference the role's threshold as set in tuf.roledb.py, use
-      the given 'threshold' to calculate the signature status of 'signable'.
-      'threshold' is an integer value that sets the role's threshold value, or
-      the minimum number of signatures needed for metadata to be considered
-      fully signed.
-
-    keyids:
-      Similar to the 'threshold' argument, use the supplied list of 'keyids'
-      to calculate the signature status, instead of referencing the keyids
-      in tuf.roledb.py for 'role'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'signable' does not have the
-    correct format.
-
-    tuf.exceptions.UnknownRoleError, if 'role' is not recognized.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    A dictionary representing the status of the signatures in 'signable'.
-    Conformant to tuf.formats.SIGNATURESTATUS_SCHEMA.
-  """
-
-  # Do the arguments have the correct format?  This check will ensure that
-  # arguments have the appropriate number of objects and object types, and that
-  # all dict keys are properly named.  Raise
-  # 'securesystemslib.exceptions.FormatError' if the check fails.
-  tuf.formats.SIGNABLE_SCHEMA.check_match(signable)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  if role is not None:
-    tuf.formats.ROLENAME_SCHEMA.check_match(role)
-
-  if threshold is not None:
-    tuf.formats.THRESHOLD_SCHEMA.check_match(threshold)
-
-  if keyids is not None:
-    securesystemslib.formats.KEYIDS_SCHEMA.check_match(keyids)
-
-  # The signature status dictionary returned.
-  signature_status = {}
-  good_sigs = []
-  bad_sigs = []
-  unknown_sigs = []
-  untrusted_sigs = []
-  unknown_signing_schemes = []
-
-  # Extract the relevant fields from 'signable' that will allow us to identify
-  # the different classes of keys (i.e., good_sigs, bad_sigs, etc.).
-  signed = securesystemslib.formats.encode_canonical(signable['signed']).encode('utf-8')
-  signatures = signable['signatures']
-
-  # Iterate the signatures and enumerate the signature_status fields.
-  # (i.e., good_sigs, bad_sigs, etc.).
-  for signature in signatures:
-    keyid = signature['keyid']
-
-    # Does the signature use an unrecognized key?
-    try:
-      key = tuf.keydb.get_key(keyid, repository_name)
-
-    except tuf.exceptions.UnknownKeyError:
-      unknown_sigs.append(keyid)
-      continue
-
-    # Does the signature use an unknown/unsupported signing scheme?
-    try:
-      valid_sig = securesystemslib.keys.verify_signature(key, signature, signed)
-
-    except securesystemslib.exceptions.UnsupportedAlgorithmError:
-      unknown_signing_schemes.append(keyid)
-      continue
-
-    # We are now dealing with either a trusted or untrusted key...
-    if valid_sig:
-      if role is not None:
-
-        # Is this an unauthorized key? (a keyid associated with 'role')
-        # Note that if the role is not known, tuf.exceptions.UnknownRoleError
-        # is raised here.
-        if keyids is None:
-          keyids = tuf.roledb.get_role_keyids(role, repository_name)
-
-        if keyid not in keyids:
-          untrusted_sigs.append(keyid)
-          continue
-
-      # This is an unset role, thus an unknown signature.
-      else:
-        unknown_sigs.append(keyid)
-        continue
-
-      # Identify good/authorized key.
-      good_sigs.append(keyid)
-
-    else:
-      # This is a bad signature for a trusted key.
-      bad_sigs.append(keyid)
-
-  # Retrieve the threshold value for 'role'.  Raise
-  # tuf.exceptions.UnknownRoleError if we were given an invalid role.
-  if role is not None:
-    if threshold is None:
-      # Note that if the role is not known, tuf.exceptions.UnknownRoleError is
-      # raised here.
-      threshold = tuf.roledb.get_role_threshold(
-          role, repository_name=repository_name)
-
-    else:
-      logger.debug('Not using roledb.py\'s threshold for ' + repr(role))
-
-  else:
-    threshold = 0
-
-  # Build the signature_status dict.
-  signature_status['threshold'] = threshold
-  signature_status['good_sigs'] = good_sigs
-  signature_status['bad_sigs'] = bad_sigs
-  signature_status['unknown_sigs'] = unknown_sigs
-  signature_status['untrusted_sigs'] = untrusted_sigs
-  signature_status['unknown_signing_schemes'] = unknown_signing_schemes
-
-  return signature_status
-
-
-
-
-
-def verify(signable, role, repository_name='default', threshold=None,
-    keyids=None):
-  """
-  <Purpose>
-    Verify that 'signable' has a valid threshold of authorized signatures
-    identified by unique keyids. The threshold and whether a keyid is
-    authorized is determined by querying the 'threshold' and 'keyids' info for
-    the passed 'role' in 'tuf.roledb'. Both values can be overwritten by
-    passing the 'threshold' or 'keyids' arguments.
-
-    NOTE:
-    - Signatures with identical authorized keyids only count towards the
-      threshold once.
-    - Signatures with the same key only count toward the threshold once.
-
-  <Arguments>
-    signable:
-      A dictionary containing a list of signatures and a 'signed' identifier
-      that conforms to SIGNABLE_SCHEMA, e.g.:
-      signable = {'signed':, 'signatures': [{'keyid':, 'method':, 'sig':}]}
-
-    role:
-      TUF role string (e.g. 'root', 'targets', 'snapshot' or timestamp).
-
-    threshold:
-      Rather than reference the role's threshold as set in tuf.roledb.py, use
-      the given 'threshold' to calculate the signature status of 'signable'.
-      'threshold' is an integer value that sets the role's threshold value, or
-      the minimum number of signatures needed for metadata to be considered
-      fully signed.
-
-    keyids:
-      Similar to the 'threshold' argument, use the supplied list of 'keyids'
-      to calculate the signature status, instead of referencing the keyids
-      in tuf.roledb.py for 'role'.
-
-  <Exceptions>
-    tuf.exceptions.UnknownRoleError, if 'role' is not recognized.
-
-    securesystemslib.exceptions.FormatError, if 'signable' is not formatted
-    correctly.
-
-    securesystemslib.exceptions.Error, if an invalid threshold is encountered.
-
-  <Side Effects>
-    tuf.sig.get_signature_status() called.  Any exceptions thrown by
-    get_signature_status() will be caught here and re-raised.
-
-  <Returns>
-    Boolean.  True if the number of good unique (by keyid) signatures >= the
-    role's threshold, False otherwise.
-  """
-
-  tuf.formats.SIGNABLE_SCHEMA.check_match(signable)
-  tuf.formats.ROLENAME_SCHEMA.check_match(role)
-  securesystemslib.formats.NAME_SCHEMA.check_match(repository_name)
-
-  # Retrieve the signature status.  tuf.sig.get_signature_status() raises:
-  # tuf.exceptions.UnknownRoleError
-  # securesystemslib.exceptions.FormatError.  'threshold' and 'keyids' are also
-  # validated.
-  status = get_signature_status(signable, role, repository_name, threshold, keyids)
-
-  # Retrieve the role's threshold and the authorized keys of 'status'
-  threshold = status['threshold']
-  good_sigs = status['good_sigs']
-
-  # Does 'status' have the required threshold of signatures?
-  # First check for invalid threshold values before returning result.
-  # Note: get_signature_status() is expected to verify that 'threshold' is
-  # not None or <= 0.
-  if threshold is None or threshold <= 0: #pragma: no cover
-    raise securesystemslib.exceptions.Error("Invalid threshold: " + repr(threshold))
-
-  unique_keys = set()
-  for keyid in good_sigs:
-    key = tuf.keydb.get_key(keyid, repository_name)
-    unique_keys.add(key['keyval']['public'])
-
-  return len(unique_keys) >= threshold
-
-
-
-
-
-def may_need_new_keys(signature_status):
-  """
-  <Purpose>
-    Return true iff downloading a new set of keys might tip this
-    signature status over to valid.  This is determined by checking
-    if either the number of unknown or untrusted keys is > 0.
-
-  <Arguments>
-    signature_status:
-      The dictionary returned by tuf.sig.get_signature_status().
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'signature_status does not have
-    the correct format.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    Boolean.
-  """
-
-  # Does 'signature_status' have the correct format?
-  # This check will ensure 'signature_status' has the appropriate number
-  # of objects and object types, and that all dict keys are properly named.
-  # Raise 'securesystemslib.exceptions.FormatError' if the check fails.
-  tuf.formats.SIGNATURESTATUS_SCHEMA.check_match(signature_status)
-
-  unknown = signature_status['unknown_sigs']
-  untrusted = signature_status['untrusted_sigs']
-
-  return len(unknown) or len(untrusted)
-
-
-
-
-
-def generate_rsa_signature(signed, rsakey_dict):
-  """
-  <Purpose>
-    Generate a new signature dict presumably to be added to the 'signatures'
-    field of 'signable'.  The 'signable' dict is of the form:
-
-    {'signed': 'signer',
-               'signatures': [{'keyid': keyid,
-                               'method': 'evp',
-                               'sig': sig}]}
-
-    The 'signed' argument is needed here for the signing process.
-    The 'rsakey_dict' argument is used to generate 'keyid', 'method', and 'sig'.
-
-    The caller should ensure the returned signature is not already in
-    'signable'.
-
-  <Arguments>
-    signed:
-      The data used by 'securesystemslib.keys.create_signature()' to generate
-      signatures.  It is stored in the 'signed' field of 'signable'.
-
-    rsakey_dict:
-      The RSA key, a 'securesystemslib.formats.RSAKEY_SCHEMA' dictionary.
-      Used here to produce 'keyid', 'method', and 'sig'.
-
-  <Exceptions>
-    securesystemslib.exceptions.FormatError, if 'rsakey_dict' does not have the
-    correct format.
-
-    TypeError, if a private key is not defined for 'rsakey_dict'.
-
-  <Side Effects>
-    None.
-
-  <Returns>
-    Signature dictionary conformant to securesystemslib.formats.SIGNATURE_SCHEMA.
-    Has the form:
-    {'keyid': keyid, 'method': 'evp', 'sig': sig}
-  """
-
-  # We need 'signed' in canonical JSON format to generate
-  # the 'method' and 'sig' fields of the signature.
-  signed = securesystemslib.formats.encode_canonical(signed).encode('utf-8')
-
-  # Generate the RSA signature.
-  # Raises securesystemslib.exceptions.FormatError and TypeError.
-  signature = securesystemslib.keys.create_signature(rsakey_dict, signed)
-
-  return signature
diff --git a/tuf/unittest_toolbox.py b/tuf/unittest_toolbox.py
deleted file mode 100755
index 95b64de315..0000000000
--- a/tuf/unittest_toolbox.py
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright 2012 - 2017, New York University and the TUF contributors
-# SPDX-License-Identifier: MIT OR Apache-2.0
-
-"""
-<Program>
-  unittest_toolbox.py
-
-<Author>
-  Konstantin Andrianov.
-
-<Started>
-  March 26, 2012.
-
-<Copyright>
-  See LICENSE-MIT OR LICENSE for licensing information.
-
-<Purpose>
-  Provides an array of various methods for unit testing.  Use it instead of
-  actual unittest module.  This module builds on unittest module.
-  Specifically, Modified_TestCase is a derived class from unittest.TestCase.
-"""
-
-# Help with Python 3 compatibility, where the print statement is a function, an
-# implicit relative import is invalid, and the '/' operator performs true
-# division.  Example:  print 'hello world' raises a 'SyntaxError' exception.
-from __future__ import print_function
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import unicode_literals
-
-import os
-import shutil
-import unittest
-import tempfile
-import random
-import string
-
-
-class Modified_TestCase(unittest.TestCase):
-  """
-  <Purpose>
-    Provide additional test-setup methods to make testing
-    of module's methods-under-test as independent as possible.
-
-    If you want to modify setUp()/tearDown() do:
-    class Your_Test_Class(modified_TestCase):
-      def setUp():
-        your setup modification
-        your setup modification
-        ...
-        modified_TestCase.setUp(self)
-
-  <Methods>
-    make_temp_directory(self, directory=None):
-      Creates and returns an absolute path of a temporary directory.
-
-    make_temp_file(self, suffix='.txt', directory=None):
-      Creates and returns an absolute path of an empty temp file.
-
-    make_temp_data_file(self, suffix='', directory=None, data = junk_data):
-      Returns an absolute path of a temp file containing some data.
-
-    random_path(self, length = 7):
-      Generate a 'random' path consisting of n-length strings of random chars.
-
-
-    Static Methods:
-    --------------
-    Following methods are static because they technically don't operate
-    on any instances of the class, what they do is: they modify class variables
-    (dictionaries) that are shared among all instances of the class.  So
-    it is possible to call them without instantiating the class.
-
-    random_string(length=7):
-      Generate a 'length' long string of random characters.
-  """
-
-
-  def setUp(self):
-    self._cleanup = []
-
-
-
-  def tearDown(self):
-    for cleanup_function in self._cleanup:
-      # Perform clean up by executing clean-up functions.
-      try:
-        # OSError will occur if the directory was already removed.
-        cleanup_function()
-
-      except OSError:
-        pass
-
-
-
-  def make_temp_directory(self, directory=None):
-    """Creates and returns an absolute path of a directory."""
-
-    prefix = self.__class__.__name__+'_'
-    temp_directory = tempfile.mkdtemp(prefix=prefix, dir=directory)
-
-    def _destroy_temp_directory():
-      shutil.rmtree(temp_directory)
-
-    self._cleanup.append(_destroy_temp_directory)
-
-    return temp_directory
-
-
-
-  def make_temp_file(self, suffix='.txt', directory=None):
-    """Creates and returns an absolute path of an empty file."""
-    prefix='tmp_file_'+self.__class__.__name__+'_'
-    temp_file = tempfile.mkstemp(suffix=suffix, prefix=prefix, dir=directory)
-    def _destroy_temp_file():
-      os.unlink(temp_file[1])
-    self._cleanup.append(_destroy_temp_file)
-    return temp_file[1]
-
-
-
-  def make_temp_data_file(self, suffix='', directory=None, data = 'junk data'):
-    """Returns an absolute path of a temp file containing data."""
-    temp_file_path = self.make_temp_file(suffix=suffix, directory=directory)
-    temp_file = open(temp_file_path, 'wt')
-    temp_file.write(data)
-    temp_file.close()
-    return temp_file_path
-
-
-
-  def random_path(self, length = 7):
-    """Generate a 'random' path consisting of random n-length strings."""
-
-    rand_path = '/' + self.random_string(length)
-
-    for junk in range(2):
-      rand_path = os.path.join(rand_path, self.random_string(length))
-
-    return rand_path
-
-
-
-  @staticmethod
-  def random_string(length=15):
-    """Generate a random string of specified length."""
-
-    rand_str = ''
-    for junk in range(length):
-      rand_str += random.SystemRandom().choice('abcdefABCDEF' + string.digits)
-
-    return rand_str
diff --git a/verify_release b/verify_release
new file mode 100755
index 0000000000..7bf43e345e
--- /dev/null
+++ b/verify_release
@@ -0,0 +1,264 @@
+#!/usr/bin/env python3
+
+# Copyright 2022, TUF contributors
+# SPDX-License-Identifier: MIT OR Apache-2.0
+
+"""verify_release - verify that published release matches a locally built one
+
+Builds a release from current commit and verifies that the release artifacts
+on GitHub and PyPI match the built release artifacts.
+"""
+
+from __future__ import annotations
+
+import argparse
+import os
+import subprocess
+import sys
+from filecmp import cmp
+from tempfile import TemporaryDirectory
+
+try:
+    import build as _  # type: ignore[import-not-found] # noqa: F401
+    from urllib3 import request
+except ImportError:
+    print("Error: verify_release requires modules 'urllib3' and 'build':")
+    print("    pip install urllib3 build")
+    sys.exit(1)
+
+# Project variables
+# Note that only these project artifacts are supported:
+# [f"{PYPI_PROJECT}-{VER}-none-any.whl",  f"{PYPI_PROJECT}-{VER}.tar.gz"]
+GITHUB_ORG = "theupdateframework"
+GITHUB_PROJECT = "python-tuf"
+PYPI_PROJECT = "tuf"
+
+HTTP_TIMEOUT = 5
+
+
+def build(build_dir: str) -> str:
+    """Build release locally. Return version as string"""
+    orig_dir = os.path.dirname(os.path.abspath(__file__))
+
+    with TemporaryDirectory() as src_dir:
+        # fresh git clone: this prevents uncommitted files from affecting build
+        git_cmd = ["git", "clone", "--quiet", orig_dir, src_dir]
+        subprocess.run(git_cmd, stdout=subprocess.DEVNULL, check=True)
+
+        # patch env to constrain build backend version as we do in cd.yml
+        env = os.environ.copy()
+        env["PIP_CONSTRAINT"] = "requirements/build.txt"
+
+        build_cmd = ["python3", "-m", "build", "--outdir", build_dir, src_dir]
+        subprocess.run(
+            build_cmd, stdout=subprocess.DEVNULL, check=True, env=env
+        )
+
+    for filename in os.listdir(build_dir):
+        prefix, postfix = f"{PYPI_PROJECT}-", ".tar.gz"
+        if filename.startswith(prefix) and filename.endswith(postfix):
+            return filename[len(prefix) : -len(postfix)]
+
+    raise RuntimeError("Build version not found")
+
+
+def get_git_version() -> str:
+    """Return version string from git describe"""
+    cmd = ["git", "describe"]
+    process = subprocess.run(cmd, text=True, capture_output=True, check=True)
+    if not process.stdout.startswith("v") or not process.stdout.endswith("\n"):
+        raise RuntimeError(f"Unexpected git version {process.stdout}")
+
+    return process.stdout[1:-1]
+
+
+def get_github_version() -> str:
+    """Return version string of latest GitHub release"""
+    release_json = f"https://api.github.com/repos/{GITHUB_ORG}/{GITHUB_PROJECT}/releases/latest"
+    releases = request("GET", release_json, timeout=HTTP_TIMEOUT).json()
+    return releases["tag_name"][1:]
+
+
+def get_pypi_pip_version() -> str:
+    """Return latest version string available on PyPI according to pip"""
+    # pip can't tell us what the newest available version is... So we download
+    # newest tarball and figure out the version from the filename
+    with TemporaryDirectory() as pypi_dir:
+        cmd = ["pip", "download", "--no-deps", "--dest", pypi_dir]
+        source_download = [*cmd, "--no-binary", PYPI_PROJECT, PYPI_PROJECT]
+        subprocess.run(source_download, stdout=subprocess.DEVNULL, check=True)
+        for filename in os.listdir(pypi_dir):
+            prefix, postfix = f"{PYPI_PROJECT}-", ".tar.gz"
+            if filename.startswith(prefix) and filename.endswith(postfix):
+                return filename[len(prefix) : -len(postfix)]
+        raise RuntimeError("PyPI version not found")
+
+
+def verify_github_release(version: str, compare_dir: str) -> bool:
+    """Verify that given GitHub version artifacts match expected artifacts"""
+    base_url = (
+        f"https://github.com/{GITHUB_ORG}/{GITHUB_PROJECT}/releases/download"
+    )
+    tar = f"{PYPI_PROJECT}-{version}.tar.gz"
+    wheel = f"{PYPI_PROJECT}-{version}-py3-none-any.whl"
+    with TemporaryDirectory() as github_dir:
+        for filename in [tar, wheel]:
+            url = f"{base_url}/v{version}/{filename}"
+            response = request(
+                "GET", url, preload_content=False, timeout=HTTP_TIMEOUT
+            )
+            with open(os.path.join(github_dir, filename), "wb") as f:
+                for data in response.stream():  #  noqa: FURB122
+                    f.write(data)
+
+        return cmp(
+            os.path.join(github_dir, tar),
+            os.path.join(compare_dir, tar),
+            shallow=False,
+        ) and cmp(
+            os.path.join(github_dir, wheel),
+            os.path.join(compare_dir, wheel),
+            shallow=False,
+        )
+
+
+def verify_pypi_release(version: str, compare_dir: str) -> bool:
+    """Verify that given PyPI version artifacts match expected artifacts"""
+    tar = f"{PYPI_PROJECT}-{version}.tar.gz"
+    wheel = f"{PYPI_PROJECT}-{version}-py3-none-any.whl"
+
+    with TemporaryDirectory() as pypi_dir:
+        cmd = ["pip", "download", "--no-deps", "--dest", pypi_dir]
+        target = f"{PYPI_PROJECT}=={version}"
+        binary_download = [*cmd, target]
+        source_download = [*cmd, "--no-binary", PYPI_PROJECT, target]
+
+        subprocess.run(binary_download, stdout=subprocess.DEVNULL, check=True)
+        subprocess.run(source_download, stdout=subprocess.DEVNULL, check=True)
+
+        return cmp(
+            os.path.join(pypi_dir, wheel),
+            os.path.join(compare_dir, wheel),
+            shallow=False,
+        ) and cmp(
+            os.path.join(pypi_dir, tar),
+            os.path.join(compare_dir, tar),
+            shallow=False,
+        )
+
+
+def sign_release_artifacts(
+    version: str, build_dir: str, key_id: str | None = None
+) -> None:
+    """Sign built release artifacts with gpg and write signature files to cwd"""
+    sdist = f"{PYPI_PROJECT}-{version}.tar.gz"
+    wheel = f"{PYPI_PROJECT}-{version}-py3-none-any.whl"
+    cmd = ["gpg", "--detach-sign", "--armor"]
+
+    if key_id is not None:
+        cmd += ["--local-user", key_id]
+
+    for filename in [sdist, wheel]:
+        artifact_path = os.path.join(build_dir, filename)
+        signature_path = f"{filename}.asc"
+        subprocess.run(
+            [*cmd, "--output", signature_path, artifact_path], check=True
+        )
+
+        if not os.path.exists(signature_path):
+            raise RuntimeError("Signing failed, signature not found")
+
+
+def finished(s: str) -> None:
+    """Displays a finished message."""
+    # clear line
+    sys.stdout.write("\033[K")
+    print(f"* {s}")
+
+
+def progress(s: str) -> None:
+    """Displays a progress message."""
+    # clear line
+    sys.stdout.write("\033[K")
+    # carriage return but no newline: next print will overwrite this one
+    print(f"  {s}...", end="\r", flush=True)
+
+
+def main() -> int:  # noqa: D103
+    parser = argparse.ArgumentParser()
+    parser.add_argument(
+        "--skip-pypi",
+        action="store_true",
+        dest="skip_pypi",
+        help="Skip PyPI release check.",
+    )
+    parser.add_argument(
+        "--sign",
+        nargs="?",
+        const=True,
+        metavar="<key id>",
+        dest="sign",
+        help="Sign release artifacts with 'gpg'. If no <key id> is passed,"
+        " the default signing key is used. Resulting '*.asc' files are written"
+        " to CWD.",
+    )
+    args = parser.parse_args()
+
+    success = True
+    with TemporaryDirectory() as build_dir:
+        progress("Building release")
+        build_version = build(build_dir)
+        finished(f"Built release {build_version}")
+
+        git_version = get_git_version()
+        if not git_version.startswith(build_version):
+            raise RuntimeError(
+                f"Git version is {git_version}, expected {build_version}"
+            )
+        if git_version != build_version:
+            finished(f"WARNING: Git describes version as {git_version}")
+
+        progress("Checking GitHub latest version")
+        github_version = get_github_version()
+        if github_version != build_version:
+            finished(f"WARNING: GitHub latest version is {github_version}")
+
+        if not args.skip_pypi:
+            progress("Checking PyPI latest version")
+            pypi_version = get_pypi_pip_version()
+            if pypi_version != build_version:
+                finished(f"WARNING: PyPI latest version is {pypi_version}")
+
+            progress("Downloading release from PyPI")
+            if not verify_pypi_release(build_version, build_dir):
+                # This is expected while build is not reproducible
+                finished("ERROR: PyPI artifacts do not match built release")
+                success = False
+            else:
+                finished("PyPI artifacts match the built release")
+
+        progress("Downloading release from GitHub")
+        if not verify_github_release(build_version, build_dir):
+            # This is expected while build is not reproducible
+            finished("ERROR: GitHub artifacts do not match built release")
+            success = False
+        else:
+            finished("GitHub artifacts match the built release")
+
+        # NOTE: 'gpg' might prompt for password or ask if it should
+        # override files...
+        if args.sign:
+            progress("Signing built release with gpg")
+            if success:
+                key_id = args.sign if args.sign is not True else None
+
+                sign_release_artifacts(build_version, build_dir, key_id)
+                finished("Created signatures in cwd (see '*.asc' files)")
+            else:
+                finished("WARNING: Skipped signing of non-matching artifacts")
+
+    return 0 if success else 1
+
+
+if __name__ == "__main__":
+    sys.exit(main())
