pax_global_header00006660000000000000000000000064151165605210014514gustar00rootroot0000000000000052 comment=831506b872c9dc4474c4a955ee6150ace48417a0 ROCm-rocm-docs-core-6244b47/000077500000000000000000000000001511656052100154045ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/.devcontainer/000077500000000000000000000000001511656052100201435ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/.devcontainer/Dockerfile000066400000000000000000000016711511656052100221420ustar00rootroot00000000000000FROM python:3.10-bullseye ENV LANG=C.UTF-8 \ LC_ALL=C.UTF-8 RUN apt-get update && \ apt-get install -y --no-install-recommends \ curl \ doxygen \ graphviz \ ssh \ sudo \ zsh \ && rm -rf /var/lib/apt/lists/* # Install just RUN curl --proto '=https' -sSf https://just.systems/install.sh \ | sudo bash -s -- --tag 1.13.0 --to /usr/local/bin # Add the render group and a user with sudo permissions for the container RUN useradd -Um developer \ && echo developer ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/developer \ && chmod 0440 /etc/sudoers.d/developer CMD mkdir -p /workspace && chown developer:developer /workspace WORKDIR /workspace VOLUME /workspace USER developer ROCm-rocm-docs-core-6244b47/.devcontainer/devcontainer.json000066400000000000000000000005701511656052100235210ustar00rootroot00000000000000{ "build": { "dockerfile": "Dockerfile" }, "updateContentCommand": "just devenv docs", "customizations": { "vscode": { "extensions": [ "ms-python.black-formatter", "ms-python.python", "ritwickdey.LiveServer", "tamasfe.even-better-toml" ] } } } ROCm-rocm-docs-core-6244b47/.dockerignore000066400000000000000000000000211511656052100200510ustar00rootroot00000000000000* !.devcontainer ROCm-rocm-docs-core-6244b47/.gitattributes000066400000000000000000000001171511656052100202760ustar00rootroot00000000000000# Force lf to workaround pre-commit hook limitation /.wordlist.txt text eol=lf ROCm-rocm-docs-core-6244b47/.github/000077500000000000000000000000001511656052100167445ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/.github/CODEOWNERS000077500000000000000000000001631511656052100203420ustar00rootroot00000000000000# Documentation files docs/* @ROCm/rocm-documentation *.md @ROCm/rocm-documentation *.rst @ROCm/rocm-documentation ROCm-rocm-docs-core-6244b47/.github/dependabot.yml000066400000000000000000000012331511656052100215730ustar00rootroot00000000000000# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "pip" # See documentation for possible values directory: "/" # Location of package manifests open-pull-requests-limit: 10 schedule: interval: "daily" commit-message: prefix: "build" labels: - "documentation" - "dependencies" reviewers: - "samjwu" ROCm-rocm-docs-core-6244b47/.github/workflows/000077500000000000000000000000001511656052100210015ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/.github/workflows/linting.yml000066400000000000000000000044001511656052100231660ustar00rootroot00000000000000name: Docs Linting on: workflow_call: push: branches: [develop, main] pull_request: branches: [develop, main] concurrency: group: ${{ github.ref }}-${{ github.workflow }} cancel-in-progress: true jobs: lint-md: name: "Markdown" runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Fetch config shell: sh run: | test -f .markdownlint.yaml && echo "Using local config file" || curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.markdownlint.yaml -O - name: Use markdownlint-cli2 uses: DavidAnson/markdownlint-cli2-action@v14.0.0 with: globs: "**/*.md" spelling: name: "Spelling" runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Fetch config if: ${{ ! contains( github.repository, 'rocm-docs-core') }} shell: sh run: | curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.github/workflows/yaml_merger.py -o .github/workflows/yaml_merger.py curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.spellcheck.yaml -O curl --silent --show-error --fail --location https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/.wordlist.txt >> .wordlist.txt - name: Check local spelling file id: check_local_spelling run: | if [ -f .spellcheck.local.yaml ]; then echo "check_result=true" >> $GITHUB_OUTPUT else echo "check_result=false" >> $GITHUB_OUTPUT fi - name: Merge local and main YAML files if: steps.check_local_spelling.outputs.check_result == 'true' shell: sh run: | python3 .github/workflows/yaml_merger.py .spellcheck.yaml .spellcheck.local.yaml .spellcheck.yaml - name: Run spellcheck uses: rojopolis/spellcheck-github-actions@0.52.0 - name: On fail if: failure() run: | echo "Please check for spelling mistakes or add them to '.wordlist.txt' in either the root of this project or in rocm-docs-core." ROCm-rocm-docs-core-6244b47/.github/workflows/pull_request.yml000066400000000000000000000055341511656052100242570ustar00rootroot00000000000000name: Code on: pull_request: jobs: lint: name: Python Linting strategy: matrix: os: ["ubuntu-latest", "windows-latest"] python-version: ["3.10"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "${{ matrix.python-version }}" cache: pip cache-dependency-path: | pyproject.toml requirements.txt - name: Cache venv uses: actions/cache@v4.2.0 with: path: .venv key: venv-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml','requirements.txt') }} - run: echo "PRE_COMMIT_HOME=$Env:GITHUB_WORKSPACE/.cache/pre-commit" >> "$Env:GITHUB_ENV" if: ${{ startsWith(matrix.os, 'windows') }} - run: echo "PRE_COMMIT_HOME=$GITHUB_WORKSPACE/.cache/pre-commit" >> "$GITHUB_ENV" if: ${{ !startsWith(matrix.os, 'windows') }} - name: Cache pre-commit uses: actions/cache@v4.2.0 with: path: ${{ env.PRE_COMMIT_HOME }} key: pre-commit-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('.pre-commit-config.yaml') }} - name: Install just uses: extractions/setup-just@v1 with: just-version: '1.13.0' - name: Create virtual env, install requirements run: just deps - name: Check commit messages run: just _check-commit-range "refs/remotes/origin/${{ github.base_ref }}..HEAD" - name: Check linting, formatting, types run: just --set verbose_errors true -- check-codestyle test: name: Python Tests strategy: fail-fast: true matrix: os: ["ubuntu-latest", "windows-latest"] python-version: ["3.10"] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "${{ matrix.python-version }}" cache: pip cache-dependency-path: | pyproject.toml requirements.txt - name: Set up Doxygen uses: ssciwr/doxygen-install@v1.2.0 with: version: 1.9.8 - name: Set up Graphviz uses: ts-graphviz/setup-graphviz@v2.0.2 with: ubuntu-graphviz-version: 2.42.2-9ubuntu0.1 windows-graphviz-version: '9.0.0' - name: Cache venv uses: actions/cache@v4.2.0 with: path: .venv key: venv-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('pyproject.toml','requirements.txt') }} - name: Install just uses: extractions/setup-just@v1 with: just-version: '1.13.0' - name: Create virtual env, install requirements run: just deps - name: Install run: just install - name: Run tests run: just test ROCm-rocm-docs-core-6244b47/.github/workflows/release.yml000066400000000000000000000022451511656052100231470ustar00rootroot00000000000000name: Release on: push: tags: - v[0-9]+.[0-9]+.[0-9]+* workflow_call: inputs: revision: required: true type: string secrets: PYPI_TOKEN: required: true workflow_dispatch: jobs: build: strategy: matrix: python-version: ["3.10"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: ref: ${{ inputs.revision || github.sha }} - uses: actions/setup-python@v4 with: python-version: "${{ matrix.python-version }}" cache: pip - name: Build python package shell: sh run: | pip install build==0.10.0 python -m build - uses: actions/upload-artifact@v4.3.6 with: name: dist-python${{ matrix.python-version }} path: dist publish: concurrency: publish needs: [build] runs-on: ubuntu-latest env: PYTHON_VERSION: "3.10" steps: - uses: actions/download-artifact@v4.1.8 with: name: dist-python${{ env.PYTHON_VERSION }} path: dist - uses: pypa/gh-action-pypi-publish@v1.12.4 with: password: ${{ secrets.PYPI_TOKEN }} ROCm-rocm-docs-core-6244b47/.github/workflows/sync_branches.yml000066400000000000000000000014771511656052100243560ustar00rootroot00000000000000name: "Sync to develop" on: workflow_call: inputs: sha: required: true type: string workflow_dispatch: jobs: sync_branches: runs-on: ubuntu-latest concurrency: sync_branches name: Sync the branch with the default branch (develop) steps: - name: Push develop forward (ff only) shell: sh run: | REF="refs/heads/${{ github.event.repository.default_branch }}" gh api "/repos/${{ github.repository }}/git/$REF" \ --method PATCH \ --header "Accept: application/vnd.github+json" \ --header "X-GitHub-Api-Version: 2022-11-28" \ --raw-field sha='${{ inputs.sha || github.sha }}' \ --field force=false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ROCm-rocm-docs-core-6244b47/.github/workflows/version-bump.yml000066400000000000000000000101531511656052100241520ustar00rootroot00000000000000name: Version Bump on: push: branches: - "main" workflow_dispatch: jobs: bump-version: name: "Bump version and create changelog with commitizen" if: "!startsWith(github.event.head_commit.message, 'bump:')" concurrency: bump-version runs-on: ubuntu-latest env: PYTHON_VERSION: "3.10" outputs: bumped: ${{ steps.cz-bump.outputs.bumped }} revision: ${{ steps.cz-bump.outputs.revision }} sha: ${{ steps.cz-bump.outputs.sha }} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: python-version: "${{ env.PYTHON_VERSION }}" cache: pip cache-dependency-path: | pyproject.toml requirements.txt - name: Set up cache uses: actions/cache@v4.2.0 with: path: .venv key: venv-${{ env.PYTHON_VERSION }}-${{ hashFiles('pyproject.toml','requirements.txt') }} - name: Create virtual env, install requirements shell: sh run: | python -m venv .venv . .venv/bin/activate python -m pip install pip-tools python -m piptools sync requirements.txt echo "PATH=$PATH" >> "$GITHUB_ENV" - name: Bump version and generate changelog shell: sh id: cz-bump run: | git config --local user.name "github-actions[bot]" git config --local user.email "github-actions[bot]@users.noreply.github.com" RESULT=0 # Answer yes if asked if this is the first tag created cz bump --yes --changelog-to-stdout > body.md || RESULT=$? if [ "$RESULT" -eq 0 ]; then echo "bumped=true" >> "$GITHUB_OUTPUT" echo "revision=v$(cz version --project)" >> "$GITHUB_OUTPUT" echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" # https://commitizen-tools.github.io/commitizen/exit_codes/ # NoneIncrementExit(21): No need to increment the version number elif [ "$RESULT" -eq 21 ]; then echo "bumped=false" >> "$GITHUB_OUTPUT" else exit $RESULT fi - name: Push changes if: steps.cz-bump.outputs.bumped == 'true' shell: sh run: | git push --atomic origin "HEAD:${{ github.ref }}" \ "${{ steps.cz-bump.outputs.revision }}" - name: Release if: steps.cz-bump.outputs.bumped == 'true' uses: softprops/action-gh-release@v0.1.15 with: body_path: "body.md" tag_name: ${{ steps.cz-bump.outputs.revision }} call-release: name: Trigger a Release needs: [bump-version] if: needs.bump-version.outputs.bumped == 'true' uses: ./.github/workflows/release.yml with: revision: ${{ needs.bump-version.outputs.revision }} secrets: PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} mark-status-checks: name: Mark required status checks as succeeded needs: [bump-version] runs-on: ubuntu-latest if: needs.bump-version.outputs.bumped == 'true' steps: - shell: sh run: | REPO="${{ github.repository }}" SHA="${{ needs.bump-version.outputs.sha }}" printf '%s' "${{ vars.REQUIRED_CHECK_CONTEXTS }}" | \ while IFS="" read -r CONTEXT; do # Mark each check as succeeded gh api "/repos/$REPO/statuses/$SHA" \ --method POST \ --header "Accept: application/vnd.github+json" \ --header "X-GitHub-Api-Version: 2022-11-28" \ --field state=success \ --field description='Skipped for version bump commit' \ --raw-field context="$CONTEXT" done env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} call-sync-branches: name: Trigger merge needs: [bump-version, mark-status-checks] if: needs.bump-version.outputs.bumped == 'true' uses: ./.github/workflows/sync_branches.yml with: sha: ${{ needs.bump-version.outputs.sha }} ROCm-rocm-docs-core-6244b47/.github/workflows/yaml_merger.py000066400000000000000000000127601511656052100236640ustar00rootroot00000000000000import yaml from typing import List, Dict, Any import sys class ListFlowStyleRepresenter: """ Custom representer to force specific flow style for nested lists """ def __init__(self): self.add_representer() def represent_list(self, dumper, data): # Check if this is a nested list containing strings/patterns if data and isinstance(data[0], str): return dumper.represent_sequence('tag:yaml.org,2002:seq', data, flow_style=True) return dumper.represent_sequence('tag:yaml.org,2002:seq', data, flow_style=False) def add_representer(self): yaml.add_representer(list, self.represent_list) def load_yaml(file_path: str) -> Any: """ Load YAML file with error handling. """ try: with open(file_path, 'r', encoding='utf-8') as f: return yaml.safe_load(f) except yaml.scanner.ScannerError as e: print(f"\nYAML Syntax Error in {file_path}:") print(f"Line {e.problem_mark.line + 1}, Column {e.problem_mark.column + 1}") print(f"Error: {e.problem}") return None except Exception as e: print(f"\nError loading {file_path}:") print(str(e)) return None def merge_matrix_entries(default_entries: List[Dict], user_entries: List[Dict]) -> List[Dict]: """ Merge matrix entries, combining sources for entries with matching names. Supports merge modes via '_merge_mode' key in user entries: - 'overwrite': Replace default sources entirely - 'append': Add to the end of default sources (default behavior) Skip merging if the 'sources' list in the user entries is empty. """ result = default_entries.copy() default_map = {entry.get('name'): entry for entry in result} for user_entry in user_entries: user_name = user_entry.get('name') if user_name and user_name in default_map: if 'sources' in user_entry: user_sources = user_entry['sources'] # Get merge mode (default to 'append') merge_mode = user_entry.get('_merge_mode', 'append') # Skip merging if user sources are empty if not user_sources or all(not source for source in user_sources): continue # Check the main configuration's sources default_sources = default_map[user_name].get('sources', []) # If the main config's sources are empty, replace them if not default_sources or all(not source for source in default_sources): default_map[user_name]['sources'] = user_sources elif merge_mode == 'overwrite': # Overwrite mode: replace entirely default_map[user_name]['sources'] = user_sources print(f" → Overwriting sources for '{user_name}'") else: # Default append mode default_map[user_name]['sources'].extend(user_sources) print(f" → Appending sources for '{user_name}'") # Remove the _merge_mode key from the final output if present if '_merge_mode' in default_map[user_name]: del default_map[user_name]['_merge_mode'] return result def merge_configs(default: Any, user: Any) -> Any: """ Recursively merge two configurations. """ if user is None: return default if isinstance(default, dict) and isinstance(user, dict): result = default.copy() for key, value in user.items(): if key in result: result[key] = merge_configs(result[key], value) else: result[key] = value return result if isinstance(default, list) and isinstance(user, list): if (len(default) > 0 and isinstance(default[0], dict) and 'name' in default[0] and 'sources' in default[0]): return merge_matrix_entries(default, user) return default + user return user def save_yaml(data: Dict, file_path: str) -> bool: """ Save YAML file with custom formatting. """ try: # Initialize custom representer ListFlowStyleRepresenter() with open(file_path, 'w', encoding='utf-8') as f: yaml.dump(data, f, default_flow_style=False, sort_keys=False, allow_unicode=True) return True except Exception as e: print(f"\nError saving {file_path}:") print(str(e)) return False if __name__ == '__main__': import argparse parser = argparse.ArgumentParser(description='Merge spellcheck YAML configurations') parser.add_argument('template', help='Path to template YAML configuration') parser.add_argument('local', help='Path to local YAML configuration') parser.add_argument('output', help='Path to save merged configuration') args = parser.parse_args() print(f"\nMerging YAML configurations...") print(f"Template: {args.template}") print(f"Local: {args.local}") print(f"Output: {args.output}") print() # Load configurations template_config = load_yaml(args.template) if template_config is None: sys.exit(1) local_config = load_yaml(args.local) if local_config is None: sys.exit(1) # Merge configurations merged_config = merge_configs(template_config, local_config) # Save merged configuration if not save_yaml(merged_config, args.output): sys.exit(1) print(f"\nSuccessfully merged configurations into {args.output}") ROCm-rocm-docs-core-6244b47/.gitignore000066400000000000000000000001551511656052100173750ustar00rootroot00000000000000/.mypy_cache /.ruff_cache /.venv **/__pycache__/**/* **/*.egg-info/**/* .sass-cache/* /build /dist .DS_Store ROCm-rocm-docs-core-6244b47/.gitpod.yml000066400000000000000000000003751511656052100175000ustar00rootroot00000000000000image: file: .devcontainer/Dockerfile tasks: - name: Create development environment init: just devenv docs vscode: extensions: - ms-python.black-formatter - ms-python.python - ritwickdey.LiveServer - tamasfe.even-better-toml ROCm-rocm-docs-core-6244b47/.markdownlint-cli2.yaml000066400000000000000000000001411511656052100217020ustar00rootroot00000000000000ignores: - CHANGELOG.md - "{,docs/}{RELEASE,release}.md" - tools/autotag/templates/**/*.md ROCm-rocm-docs-core-6244b47/.markdownlint.yaml000066400000000000000000000002251511656052100210560ustar00rootroot00000000000000default: true MD013: false MD024: siblings_only: true MD026: punctuation: ".,;:!" MD029: style: ordered MD033: false MD034: false MD041: false ROCm-rocm-docs-core-6244b47/.pre-commit-config.yaml000066400000000000000000000026451511656052100216740ustar00rootroot00000000000000default_language_version: python: python3.10 default_install_hook_types: [pre-commit, commit-msg] default_stages: [commit] repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: check-yaml - id: check-json - id: check-toml - id: end-of-file-fixer - id: file-contents-sorter files: '^.wordlist.txt$' args: [--unique] - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - repo: local hooks: - id: mypy name: mypy entry: just mypy types_or: [python, pyi] language: system exclude: ^docs/|^tests/(sites|templates) - id: ruff name: ruff entry: just ruff types_or: [python, pyi] language: system exclude: ^docs/|^tests/(sites|templates) require_serial: true - id: isort name: isort entry: just isort types_or: [python, pyi] language: system - id: format name: format entry: just format types_or: [python, pyi] language: system - id: commitizen name: commitizen entry: just _check-commit-mesg stages: [commit-msg] language: system - id: pip-compile name: pip-compile entry: just lock-deps files: ^pyproject.toml|requirements.txt$ pass_filenames: false language: system ROCm-rocm-docs-core-6244b47/.readthedocs.yaml000066400000000000000000000007261511656052100206400ustar00rootroot00000000000000# Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 sphinx: configuration: docs/conf.py formats: [htmlzip, pdf, epub] python: install: - method: pip path: . extra_requirements: - "api_reference" - requirements: requirements.txt build: os: ubuntu-22.04 tools: python: "3.10" apt_packages: - "doxygen" - "graphviz" # For dot graphs in doxygen ROCm-rocm-docs-core-6244b47/.spellcheck.local.yaml000066400000000000000000000001501511656052100215500ustar00rootroot00000000000000matrix: - name: Markdown sources: - [] - name: reST sources: - [] - name: Cpp sources: - [] ROCm-rocm-docs-core-6244b47/.spellcheck.yaml000066400000000000000000000147331511656052100204730ustar00rootroot00000000000000# BSD 3-Clause License # # Copyright (c) 2017-2022, Pytorch contributors # All rights reserved. # Modifications Copyright (c) 2023, Advanced Micro Devices, Inc. # All rights reserved. # # 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 name of the copyright holder 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 HOLDER 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. matrix: - name: Markdown sources: - ['docs/**/*.md'] expect_match: false aspell: lang: en dictionary: wordlists: - .wordlist.txt pipeline: - pyspelling.filters.context: context_visible_first: true delimiters: # Manual disabling via: #spellcheck-disable - open : '^ *$' content: '[\s\S]*?' close: '^ *$' # Ignore URLs in [text](URL) - open : '\[[^]]*?]\(' content: '[^)]*?' close: '\)' # Ignore out-of-line URL references in [text][reference-name] - open : '\[[^\]]*?\]\[' content: '[^\]]*?' close: '\]' # Ignore out-of-line URL definitions - open : '^ {0,3}\[[^\]]*?\]:\s*\S+' close: '$' # Ignore URLs in - open : '\<' content: '[^]]*?' close: '\>' # Ignore text in backtick code blocks. - open : '(?s)^(?P *`{3,})[^\n]*$' close: '^(?P=open)$' # Ignore text between inline back ticks - open : '(?P`+)' content: '[^\n]+' close: '(?P=open)' # Ignore block classes and extra in :::{class} extra - open : '^ *:{3,}' content: '[^\n]+' close: '' # Ignore keys in :property: key - open : '^ *:[^\n:]*: +' content: '[^\n]+' close: '$' # Ignore properties in :property: - open : '^ *:' close: ':' # Ignore tag in (tag)= - open : '(' content: '[^\n]+' close: ')=$' - pyspelling.filters.url: - name: reST sources: - ['docs/**/*.rst'] expect_match: false aspell: lang: en dictionary: wordlists: - .wordlist.txt pipeline: - pyspelling.filters.text: - pyspelling.filters.context: context_visible_first: true delimiters: # Ignore possessive endings - open: '(?<=\w)''s(?!\w)' close: '\b' # Ignore text between inline back ticks - open: '(div style|iframe).*' close: '\n' - open: '(- )?(?P`+)' close: '(?P=open)' # Ignore reStructuredText roles - open: ':(?:(class|file|func|math|ref|octicon|meth|obj)):`' content: '[^`]*' close: '`' - open: ':width:' close: '$' # Exclude raw directive - open: '\.\. (raw|grid-item-card|galleryitem|includenodoc)::.*$\n*' close: '\n' # Ignore reStructuredText literals - open: '::$' close: '(?P(?:((?P[ ]+).*$)|(\n))+)' # Ignore reStructuredText hyperlinks - open: '\s' content: '\w*' close: '_' # Ignore reStructuredText header --- - open: '^' content: '--*' close: '$' # Ignore reStructuredText header ''' - open: '^' content: '''''*' close: '$' # Ignore reStructuredText block directives - open: '\.\. (code-block|math|csv-table)::.*$\n*' content: '(?P(^(?P[ ]+).*$\n))(?P(^([ \t]+.*|[ \t]*)$\n)*)' close: '(^(?![ \t]+.*$))' - open: '\.\. (raw)::.*$\n*' close: '^\s*$' # Ignore reStructuredText substitution definitions - open: '^\.\. \|[^|]+\|' close: '$' # Ignore reStructuredText substitutions - open: '\|' content: '[^|]*' close: '\|_?' # Ignore reStructuredText toctree - open: '\.\.\s+toctree::' close: '(?P(?:((?P[ ]+).*$)|(\n))+)' # Ignore directives - open: '\.\.\s+(figure|image|include|only|tabularcolumns|datatemplate:nodata)::' close: '$' # Ignore reStructuredText reference - open: '^.{2}[ ]+_' close: '$' # Ignore doxygen directives - open: '\.\. (autodoxygenindex|doxygenfunction|doxygenstruct|doxygenclass|doxygennamespace|doxygenconcept|doxygenenum|doxygenenumvalue|doxygentypedef|doxygenunion|doxygendefine|doxygenvariable|doxygenfile|doxygengroup|autodoxygenfile|doxygenpage)::.*$\n*' content: '(?P(^(?P[ ]+).*$\n))(?P(^([ \t]+.*|[ \t]*)$\n)*)' close: '(^(?![ \t]+.*$))' # Ignore doxygen one line directives - open: '\.\. (autodoxygenindex|doxygenfunction|doxygenstruct|doxygenclass|doxygennamespace|doxygenconcept|doxygenenum|doxygenenumvalue|doxygentypedef|doxygenunion|doxygendefine|doxygenvariable|doxygenfile|doxygengroup|autodoxygenfile|doxygenpage)::' content: '[ \S]*' close: '\n' # Manual disabling via: #spellcheck-disable - open : '^.. $' content: '[\s\S]*?' close: '^.. $' - pyspelling.filters.url: - name: Cpp # The sources below are simply a placeholder as it cannot be empty sources: - ['docs/**/*.cpp', 'doc/**/*.hpp'] expect_match: false aspell: lang: en pipeline: - pyspelling.filters.cpp: block_comments: false line_comments: false ROCm-rocm-docs-core-6244b47/.vscode/000077500000000000000000000000001511656052100167455ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/.vscode/settings.json000066400000000000000000000010121511656052100214720ustar00rootroot00000000000000{ "liveServer.settings.root": "docs/_build/html", "liveServer.settings.wait": 1000, "python.terminal.activateEnvInCurrentTerminal": true, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, "black-formatter.args": [ "--config", "pyproject.toml" ], "editor.rulers": [ 80 ], "python.testing.pytestArgs": [ "src", "tests" ], "python.testing.unittestEnabled": false, "python.testing.pytestEnabled": true } ROCm-rocm-docs-core-6244b47/.vscode/tasks.json000066400000000000000000000016311511656052100207660ustar00rootroot00000000000000{ "version": "2.0.0", "tasks": [ { "label": "Build Docs", "type": "process", "command": "just", "args": [ "docs" ], "problemMatcher": [ { "owner": "sphinx", "fileLocation": "absolute", "pattern": { "regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):(\\d+):\\s+(WARNING|ERROR):\\s+(.*)$", "file": 1, "line": 2, "severity": 3, "message": 4 } }, { "owner": "sphinx", "fileLocation": "absolute", "pattern": { "regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):{1,2}\\s+(WARNING|ERROR):\\s+(.*)$", "file": 1, "severity": 2, "message": 3 } } ], "group": { "kind": "build", "isDefault": true } } ] } ROCm-rocm-docs-core-6244b47/.wordlist.txt000066400000000000000000000130301511656052100200670ustar00rootroot00000000000000AAC ABI ALU AMD AMDGPU AMDGPUs AMDMIGraphX AMI AOCC AOMP APIC APIs ASIC ASICs ASan ASm ATI AWQ AdaLoRA AddressSanitizer AlexNet Arb AutoAWQ AutoGPTQ BLAS BMC BitCode Blit Bluefield CCD CDNA CIFAR CLI CLion CMake CMakeLists CMakePackage CP CPC CPF CPP CPU CPUs CSC CSE CSV CSn CTests CU CUDA CUs CXX Cavium CentOS ChatGPT CoRR Codespaces Commitizen CommonMark Concretized Conda ConnectX DDP DGEMM DKMS DL DLM DMA DNN DNNL DPM DRI DW DWORD Dask DataFrame DataLoader DataParallel DeepSpeed Dependabot DevCap Diffusers Dockerfile Dockerfiles Doxygen ELMo ENDPGM EPEL EPYC ESXi EU ExLlama FFT FFTs FFmpeg FHS FMA FP FSDP Filesystem Flang Fortran Fuyu GALB GCD GCDs GCN GDB GDDR GDR GDS GEMM GEMMs GFortran GIM GL GLXT GMI GPG GPR GPT GPTQ GPU GPU's GPUs GQA GRBM GenAI GenZ GitHub Gitpod HBM HCA HIPCC HIPExtension HIPIFY HPC HPCG HPE HPL HSA HWE Haswell Higgs Hyperparameters ICV IDE IDEs IMDb IOMMU IOP IOPM IOV IRQ ISA ISV ISVs ImageNet InfiniBand Inlines IntelliSense Intersphinx Intra Ioffe JAX JIT JSON Jupyter KFD KVM Keras Khronos Kubernetes LAPACK LCLK LDS LLM LLMs LLVM LM LSAN LSTM LTS LinearReLU LoRA MEM MERCHANTABILITY MFMA MHA MIGraphX MIOpen MIOpenGEMM MIVisionX MLIR MLM MLP MMA MMIO MMIOH MNIST MPI MQA MSVC MVAPICH MVFFR Makefile Makefiles Matplotlib Megatron Mellanox Mellanox's Meta's MirroredStrategy MoE Multicore Multithreaded MyEnvironment MyST NBIO NBIOs NHWC NIC NICs NLI NLP NPS NSP NUMA NVCC NVIDIA NVPTX Nano Navi Noncoherently NousResearch's NumPy OAM OAMs OCP OEM OFED OMP OMPI OMPT OMPX ONNX OSS OSU Omniperf Omnitrace OpenAI OpenCL OpenCV OpenFabrics OpenGL OpenMP OpenSSL OpenVX PCI PCIe PEFT PIL PILImage PPO PRNG PRs PaLM Pageable PeerDirect Perfetto PipelineParallel PnP PowerShell PyPi PyTorch QLoRA Qcycles RAII RCCL RDC RDMA RDNA RHEL RNN ROC ROCProfiler ROCTracer ROCclr ROCdbgapi ROCgdb ROCk ROCm ROCmCC ROCmSoftwarePlatform ROCmValidationSuite ROCr RPC RST RW Radeon ReLU RelWithDebInfo Req Rickle RoCE Roofline Ryzen SALU SBIOS SCA SDK SDMA SDRAM SENDMSG SFT SGPR SGPRs SHA SIGQUIT SIMD SIMDs SKU SKUs SLES SMEM SMI SMT SPI SQs SRAM SRAMECC SVD SWE SciPy SerDes Shlens Skylake SmoothQuant Softmax Spack StarCoder Supermicro Szegedy TCA TCC TCI TCIU TCP TCR TFLOPS TGI TPOT TPU TPUs TRL TTFT TTGIR TTIR Templated TensorBoard TensorFlow TensorParallel ToC TorchAudio TorchInductor TorchMIGraphX TorchScript TorchServe TorchVision TransferBench TrapStatus Tunable TunableOp UAC UC UCC UCX UIF URI USM UTCL UTIL Uncached Unhandled VALU VBIOS VGPR VGPRs VGPU VM VMEM VMWare VRAM VSIX VSkipped Vanhoucke Vulkan WGP WX WikiText Wojna Workgroups Writebacks XDL XGBoost XGBoost's XGMI XLA XT XTX Xeon Xilinx Xnack Xteam YAML YML YModel ZeRO ZenDNN accuracies activations addr alloc allocator allocators amdgpu api atmi atomics autogenerated autoregression autoregressive avx awk backend backends backpropagation backtick benchmarking bilinear bitsandbytes blit boson bosons buildable bursty bzip cacheable cd centos centric changelog chiplet ckProfiler cmake cmd coalescable codebase codebases codename collater comgr completers composability composable concretization config conformant convolutional convolves cpp csn cuBLAS cuFFT cuLIB cuRAND cuSOLVER cuSPARSE customizations dataset dataset's datasets dataspace datatype datatypes dbgapi de deallocation denoise denoised denoises denormalize deserializers detections dev devicelibs devsel dimensionality disambiguates distro doxysphinx dropdown el embeddings enablement endpgm env epilog etcetera ethernet exascale executables ffmpeg filesystem fortran galb gcc gdb gfortran gfx githooks github gnupg grayscale gzip heterogenous hipBLAS hipBLASLt hipCUB hipFFT hipLIB hipRAND hipSOLVER hipSPARSE hipSPARSELt hipTensor hipamd hipblas hipcub hipfft hipfort hipify hipsolver hipsparse hpp hsa hsakmt html hyperparameter ib_core inband incrementing inferencing inflight init initializer inlining installable instantiation interprocedural intersphinx intra invariants invocating invoker ipo kdb libfabric libjpeg libs linearized linter linux llvm localscratch logits lossy macOS matchers microarchitecture migraphx miopen miopengemm mivisionx mkdir mlirmiopen mtypes mvffr myst namespace namespaces natively numref ocl opencl opencv openmp openssl optimizers os pageable parallelization parallelize parameterization passthrough perfcounter performant perl pragma pre prebuilt precisions precompiled prefetch prefetchable preprocess preprocessed preprocessing prequantized prerequisites profiler protobuf pseudorandom py quantized quantizing quasirandom queueing rccl rdc reStructuredText reformats repos representativeness req resampling rescaling reusability roadmap roc rocAL rocALUTION rocBLAS rocFFT rocLIB rocMLIR rocPRIM rocRAND rocSOLVER rocSPARSE rocThrust rocWMMA rocalution rocblas rocclr rocfft rocm rocminfo rocprim rocprof rocprofiler rocr rocrand rocsolver rocsparse rocthrust roctracer runtime runtimes sL scalability scalable sendmsg serializers shader sharded sharding sigmoid sm smi softmax spack src stochastically strided struct subdirectories subdirectory subexpression subfolder subfolders suboptimal supercomputing templated th tokenization tokenize tokenized tokenizer tokenizes toolchain toolchains toolset toolsets torchtune torchvision tqdm tracebacks tunable tunings txt uarch unallocated uncached uncorrectable uninstallation unsqueeze unstacking unswitching untrusted untuned upstreamed upvote utils vL vLLM variational vdi vectorizable vectorization vectorize vectorized vectorizer vectorizes vjxb walkthrough walkthroughs wavefront wavefronts whitespaces workgroup workgroups writeback writebacks wrreq wzo xFormers xargs xz yaml ysvmadyb zyppe ROCm-rocm-docs-core-6244b47/CHANGELOG.md000066400000000000000000000603431511656052100172230ustar00rootroot00000000000000## v1.31.1 (2025-12-11) ### Fix - link change ## v1.31.0 (2025-12-08) ### Feat - add new flavour Optiq - add new flavour Optiq ### Fix - **themes**: make expansion toolkit headings consistent ## v1.30.1 (2025-11-27) ### Fix - fix rocm-simulation flavor ## v1.30.0 (2025-11-19) ### Feat - add rocm-finance & rocm-simulaiton flavors ### Fix - HIP develop branch update ## v1.29.0 (2025-11-12) ### Feat - add amdgpu flavor ### Fix - rename variable to match flavor name to latest_version.txt key name - reorder if logic ## v1.28.0 (2025-11-10) ### Feat - adjust banner content - dynamically define preview version - add more banner type for preview ### Fix - rewording - rewording - change no banner version definition - delete extra bracket ## v1.27.0 (2025-10-24) ### Feat - target latest_versions.txt from new_data branch - parse modified latest_version.txt - add version list to rocm-ds flavor - add new flavour CVS ### Fix - linting - reformat docstring according to linting - linting - linting - add a case considering when html_theme_options is not defined - fix typing - change the way flavor gets pass down - fix header banner error for non-rocm components - change version name to match flavor name - Radeon page projects.yaml update ### Refactor - refactor parse version code ## v1.26.0 (2025-10-01) ### Feat - Set latest for rocm-ls to 25.09 ## v1.25.0 (2025-09-25) ### Feat - Remove ROCm-Rag and gsplat from left hand side menu ## v1.24.1 (2025-09-23) ### Fix - fix versions.html linking for rocm-ls flavour ## v1.24.0 (2025-09-23) ### Feat - add monai-internal - add monai and ROCm-LS version list - fix no new line - Add new flavour rocm-rag - fix black formatting issue - fix bug - fix bug - Add new flavour gsplat ### Fix - Change monai development_branch to amd-integration ## v1.23.0 (2025-08-26) ### Feat - add aqlprofile to project list - Add valid versions mapping ### Fix - add edge cases to SSH pattern matching ## v1.22.0 (2025-07-29) ### Feat - add configurable version value for the header ## v1.21.1 (2025-06-24) ### Fix - add missing theme name to supported_flavors list ## v1.21.0 (2025-06-23) ### Feat - Add rocm-ls project - correct project name - Add hipcim and rocm-ls theme ## v1.20.1 (2025-06-09) ### Fix - Pin pydata-sphinx-theme ver to fix sidebar ## v1.20.0 (2025-05-30) ### Feat - **projects.yaml**: Add new component rocm-compute-viewer to projects.yaml ## v1.19.1 (2025-05-29) ### Fix - repo publication approved; revert back menu items ## v1.19.0 (2025-05-26) ### Feat - **projects.yaml**: Add new ROCm-DS components and rocSHMEM to projects.yaml ### Fix - Update LICENSE.txt ## v1.18.4 (2025-05-02) ### Fix - remove header tab 'github', 'support' and 'community' due to private status of the repo ## v1.18.3 (2025-05-02) ### Fix - add a hardcoded change that updates ROCm-DS header version, will implement a more robust solution after EA ## v1.18.2 (2025-04-02) ### Fix - change label from 'Statement on Forced Labor' to 'Supply Chain Transparency' for consistency with amd.com - fix a broken link in the footer ## v1.18.1 (2025-03-12) ### Fix - rename header ## v1.18.0 (2025-03-12) ### Feat - add ai-developer-hub flavor ### Fix - fix linting - fix typo - remove -docs suffix for consistency ## v1.17.1 (2025-03-03) ### Fix - prevent rocm-ds using rocm latest version - add version_list() definition ## v1.17.0 (2025-02-19) ### Feat - add rocm-ds to project list - add rocm-ds flavor ### Fix - unify rocm docs menu item ## v1.16.0 (2025-02-11) ### Feat - add custom javascript to trigger RTD new search interface - migrate js files from rtd - add javascript function to trigger search model ### Fix - remove unnecessary js files ### Refactor - **article_info.py**: Count words with regex - **article_info.py**: Change findAll to find_all for bs4 4.13.0 ## v1.15.0 (2025-01-29) ### Feat - add rocm develop hub to instinct flavor - add AI developer Hub link to header. ### Fix - captalize 'D' from 'developer' ## v1.14.1 (2025-01-21) ### Fix - replace myst-parser with myst-nb for notebook support ## v1.14.0 (2025-01-21) ### Feat - add new project gpuaidev to projects.yaml ### Fix - Update .wordlist.txt to include Kubernetes - update copyright year to 2025 in docs and tests - **footer.html**: update copyright year to 2025 ## v1.13.0 (2025-01-06) ### Feat - Update new url for Instinct docs ## v1.12.1 (2025-01-02) ### Fix - scale down z-axis of multiple elements to preent covering flyout - reducing sidebar z-index - Replace copy_from_package with shutil.copytree ## v1.12.0 (2024-12-16) ### Feat - Instinct documentation link in ROCm docs ## v1.11.0 (2024-12-05) ### Feat - **projects.yaml**: Add tensile to intersphinx mapping ### Fix - **article_info.py**: Remove svg if article info is empty - **core.py**: Apply os list for article info fix for all article info option - **article-info.html**: Only add apply to string if os list is not empty ### Refactor - **article_info.py**: Apply mypy type check suggestions - **article-info.html**: Add custom class to span with svgs in article info - **core.py**: Split out article info logic into article_info.py - Remove default author - Modify markers in article-info.html - **core.py**: Set default OS and date to empty - **core.py**: Join article os info from list - **core.py**: Set default article info os using all_article_info_os if not present ## v1.10.0 (2024-11-29) ### Feat - Added Instinct flavor ## v1.9.2 (2024-11-28) ### Fix - add "generic" to supported_flavors list ## v1.9.1 (2024-11-27) ### Fix - add User-Agent headers to github request ## v1.9.0 (2024-11-22) ### Feat - add generic theme flavor - **projects.yaml**: add rocprof-sys, rocprof-comp, and rocJPEG ## v1.8.5 (2024-11-18) ### Fix - reformat to pass 'black' linting check - remove unnecessary space - delete space - add a check for MAX_RETRY ## v1.8.4 (2024-11-15) ### Fix - resort import statements - separate import time from other import statements as time is standard python library but others are third party - sort import statement - add retry loop around http request - **header.jinja**: Replace http with https in repo URL ## v1.8.3 (2024-10-18) ### Fix - **projects.yaml**: Update omniperf and omnitrace dev branch ## v1.8.2 (2024-09-24) ### Fix - **theme.py**: Update path to favicon ## v1.8.1 (2024-09-17) ### Fix - **projects.yaml**: Remove non-doc cross refs ## v1.8.0 (2024-09-16) ### Feat - **custom.css**: Use light blue text for banner hyperlinks ### Fix - **theme.py**: Fix phrasing of banner for old doc versions ## v1.7.2 (2024-08-21) ### Fix - **projects.py**: Update pattern matching for old release announcement ## v1.7.1 (2024-08-19) ### Fix - crop image from left side - make cards brighter - adjust padding back to 1 - change card font to san-serif and adjust padding - change bg image to default one from ROCm/ROCm ## v1.7.0 (2024-08-14) ### Feat - Add css classes for card banners ### Fix - **projects.yaml**: Update doc dev branch for HIP to docs/develop ## v1.6.2 (2024-08-06) ### Fix - **projects.yaml**: Update development branches for projects ### Refactor - **Doxyfile**: Remove unused tags from Doxyfile - **doxygen.py**: Fix warning for progress_message ## v1.6.1 (2024-07-25) ### Fix - **project.yaml**: rocDecode and rocAL default to develop branch now ### Refactor - Remove unused import - Remove unused test code - Remove SphinxTestApp - Removed deprecated code - **test_projects.py**: Format with black - Update conf.py for site tests - **test_doxygen.py**: Fix typo in doxygen dir ## v1.6.0 (2024-07-24) ### Feat - **projects**: Add intersphinx links to github and files ### Refactor - Set github version ## v1.5.1 (2024-07-23) ### Fix - Update rocPyDecode link - **projects.yaml**: Add llvm-project and rocpydecode ## v1.5.0 (2024-07-04) ### Feat - **projects.yaml**: Add omniperf and omnitrace ## v1.4.1 (2024-06-27) ### Fix - **header.jinja**: Make GitHub repo url for install docs point to install docs instead of ROCm home ### Refactor - **core.py**: Apply ruff suggested fix - **core.py**: Apply ruff suggested fix ## v1.4.0 (2024-06-06) ### Feat - Add google site verification content to theme context - Add template for google site verification content ### Refactor - Get versions from data branch instead of header-versions branch ## v1.3.0 (2024-06-04) ### Feat - **projects.yaml**: Add rocprofiler-sdk to projects - **projects.yaml**: add rocminfo and rocm_bandwidth_test to projects list ## v1.2.1 (2024-06-03) ### Fix - **custom.css**: Change line color at dark mode of multiline list ## v1.2.0 (2024-05-27) ### Feat - **projects.yaml**: Add rocr_debug_agent to projects.yaml ## v1.1.3 (2024-05-22) ### Fix - Get header version from URL instead of theme.conf ### Refactor - **projects.py**: Use ROCm org when checking versions for banner - **theme.py**: Point to ROCm org instead of RadeonOpenCompute for rocm-docs-core ## v1.1.2 (2024-05-16) ### Fix - **projects.yaml**: add rocr-runtime - **custom.css**: add bottom margin to images in rst files - **404.html**: Remove relative link in 404.html page ## v1.1.1 (2024-04-26) ### Fix - **core.py**: Update Sphinx API call to doc2path ### Refactor - **core.py**: Format core.py with black - Address mypy type warnings ## v1.1.0 (2024-04-24) ### Feat - **theme.conf**: Update header latest version ### Fix - **footer.html**: Bump year to 2024 in footer ### Refactor - Correct major version for breaking change ## v1.0.0 (2024-04-17) ### BREAKING CHANGE - This requires updating `.readthedocs.yaml` (`tools.python`) and re-generating `requirements.txt` for all dependent projects. ### Feat - **theme.py**: Update banner announcement about docs.amd.com redirect ### Fix - **layout.html**: Update google-site-verification metadata - **header.jinja**: Update link to infinity hub - Update rocm flavor header.jinja to Blogs - **header.jinja**: Replace Lab Notes link with Blogs ### Refactor - Fix mypy and isort errors - Apply black formatting - fixes for isort - fixes for isort - fixes for isort - mypy fixes - isort fixes - Ruff fixes - Fixes for ruff - **projects.py**: Ignore mypy limitation for dynamic type checking - **theme.py**: Modify new banner announcement message for latest - Use type instead of instanceof - Fix type hints and assertions to pass Python linting ## v0.38.1 (2024-04-10) ### Fix - **extra_stylesheet.css**: Fix flexbox positioning for doxygen content ### Refactor - Specify left instead of flex-end ## v0.38.0 (2024-03-26) ### Feat - **theme.conf**: Update latest version for header ## v0.37.1 (2024-03-21) ### Fix - **theme.conf**: Create point fix for 6.0.2 ## v0.37.0 (2024-03-19) ### Feat - **theme.py**: Remove banner on latest release ## v0.36.0 (2024-03-11) ### Feat - **theme.conf**: Update latest header version ## v0.35.1 (2024-03-05) ### Fix - **footer.jinja**: Fix license link for rocm flavor - **header.jinja**: Update link to infinity hub ## v0.35.0 (2024-02-22) ### Feat - **theme.py**: Update banner announcement about docs.amd.com redirect ### Fix - Update rocm flavor header.jinja to Blogs - **header.jinja**: Replace Lab Notes link with Blogs ### Refactor - **theme.py**: Modify new banner announcement message for latest ## v0.34.2 (2024-02-15) ### Fix - **left-side-menu.jinja**: Fix main doc link for rocm flavor left side menu ## v0.34.1 (2024-02-15) ### Fix - Update left side menu ## v0.34.0 (2024-02-08) ### Feat - **core.py**: Add html_image myst extension - **core.py**: Enable dollarmath myst extension for inline latex math ## v0.33.2 (2024-02-06) ### Fix - **left-side-menu.jinja**: Set main doc link for blogs flavor ## v0.33.1 (2024-02-05) ### Fix - remove old folder - Revert "fix: remove toc" - remove toc - remove duplicates - merge conflicts - **header.html**: Import version_list macro from header.jinja into header.html - Change rocm-blogs flavor top level header to ROCm Blogs - Change rocm-blogs second level header Lab Notes to ROCm Docs - Remove version list from rocm-blogs header ## v0.33.0 (2024-01-26) ### Feat - **theme.py**: Add rocm-blogs to lsit of supported flavors - Add ROCm blogs flavor ### Fix - **header.jinja**: New statement block for setting custom repo url ### Refactor - **rocm-blogs/footer.jinja**: Refactor to pass Python linting ## v0.32.0 (2024-01-26) ### Feat - **theme.conf**: Update header latest version ## v0.31.0 (2024-01-12) ### Feat - **theme.conf**: Update header latest version - Read versions for theme header from link instead of setting in theme.conf - **projects.py**: Read header versions from link instead of hard-coding ### Fix - Remove carriage return and newline when checking versions - sync wordlist - **header.jinja**: Fix support link in header for rocm-docs-core ### Refactor - **theme.conf**: Add back header options to theme.conf to pass RTD PR build - Use requests instead of urllib3 - **theme.py**: Set html_context in default_config_opts rather than theme_opts ## v0.30.3 (2023-12-20) ### Fix - **dependabot.yml**: Change dependabot config ## v0.30.2 (2023-12-15) ### Fix - adding linux and windows site fixes ## v0.30.1 (2023-12-06) ### Fix - **flavors**: Fix the rocm-docs-home flavor ### Refactor - Don't add a subproject link as its own project in projects.yaml - Rename rocm-api-tools-list theme to rocm-docs-home ## v0.30.0 (2023-11-29) ### Feat - Updating our links for installation subprojects ### Fix - **theme.py**: Add list flavor to list of supported flavors ### Refactor - Rename list theme to rocm-api-tools-list ## v0.29.0 (2023-11-24) ### Feat - **projects.yaml**: Add linux install guide to projects.yaml - Add new flavor - list theme - Add all versions link to header - Header name change to AMD ROCm Software - **projects.yaml**: Add rocDecode to projects ## v0.28.0 (2023-11-16) ### Feat - **doxygen.py**: Enable doxygen extended toc with forked doxysphinx ## v0.27.0 (2023-11-02) ### Feat - **projects.yaml**: Add hip-vs - **doxygen.py**: automatic setup of doxylink - Update latest ROCm version in projects.py and theme.conf - **doxygen,projects**: Make doxygen tagfile available - **projects.py**: Allow to fetch project indices explicitly ### Fix - **projects**: always resolve project references in TOC and templates - **util.py**: Modify RTD regex to allow for .org sites - **theme.py**: Partially handle not being in a git repository - **doxygen.py**: Pass doxygen executable to doxysphinx ### Refactor - **tests**: Move project tests to separate file ## v0.26.0 (2023-10-12) ### Feat - Set latest version to 5.7.1 ### Fix - Reduce footer padding https://github.com/RadeonOpenCompute/rocm-docs-core/issues/394 - Increase z-index of content sidebar https://github.com/RadeonOpenCompute/rocm-docs-core/issues/396 ## v0.25.0 (2023-10-03) ### Feat - **projects.yaml**: add radeon ## v0.24.2 (2023-09-20) ### Fix - **util.py**: Copy files relative to the source directory - **doxygen.py**: Only continue if existing file is directory ### Refactor - **theme.py**: Simplify 404 document handling ## v0.24.1 (2023-09-13) ### Fix - **header.jinja**: only modify theme_repository_url if it ends with -docs ## v0.24.0 (2023-09-07) ### Feat - **theme.conf**: update header version ## v0.23.0 (2023-09-05) ### Feat - copy common 404.md source file to projects ### Refactor - **theme.py**: copy theme util pages on builder init ## v0.22.1 (2023-09-05) ### Fix - **projects.yaml**: add hipsparselt to projects yaml ## v0.22.0 (2023-08-31) ### Feat - **projects.yaml**: add hiptensor to projects.yaml ### Fix - **projects.yaml**: Add ROCmCMakeBuildTools to projects.yaml ## v0.21.0 (2023-08-29) ### Feat - update latest version to 5.6.1 ### Fix - **projects.yaml**: add dev branch for rvs and rocal ## v0.20.0 (2023-07-28) ### Feat - Add config option to specify doxygen exe - Add reusable md rst linting - Turn linting workflow into reusable ### Fix - **core.py**: fix setting up the base url for the 404 page - one-off indentation - config handling style - MD032 - MD031 - add missing mdlint config file ## v0.19.0 (2023-07-11) ### Feat - Add "local" flavor for providing the flavor in the project - Add support for theme "flavors" ### Refactor - **projects.py,theme.py**: Decouple announcement strings from projects.py - **projects.py**: Don't read projects.yaml again for release announcement - **projects.py**: replace uses of _load_mapping with _create_mapping - **projects.py**: Make Project creation more explicit ## v0.18.4 (2023-07-05) ### Fix - **projects.yaml**: add rpp to projects.yaml ## v0.18.3 (2023-06-29) ### Fix - **projects.yaml**: add more projects to yaml - **projects.py**: use development_branch string instead of variable ## v0.18.2 (2023-06-28) ### Fix - update latest version to 5.6.0 ## v0.18.1 (2023-06-27) ### Fix - **projects.py**: do not have an announcement stating the latest version ### Refactor - **header.html**: revert flyout to default position for consistency ## v0.18.0 (2023-06-27) ### Feat - add extrahead block with metadata in layout.html ### Fix - update announcement for RC of ROCm - map rocm version in projects.yaml to header.html version number ### Refactor - use theme.conf for header version numbers - place rocm latest version in projects.yaml ## v0.17.2 (2023-06-27) ### Fix - hardcode the url for ROCm docs ### Refactor - **util.py**: formatting fix for ruff; return result of regex on remote_url ## v0.17.1 (2023-06-26) ### Fix - **projects.py**: use formatted string for doc latest url ## v0.17.0 (2023-06-26) ### Feat - add announcement for unreleased and old branches ### Fix - **header.html**: remove "docs-" from theme repo branch in header - update banner ### Refactor - formatting fixes for ruff linting - **header.html**: test rtd embed flyout div - **theme.py**: remove unnecessary open mode param UP015 for ruff - remove trailing whitespaces - refactor theme announcement logic - move banner logic to projects.py - include latest version url in announcement if not on latest ## v0.16.0 (2023-06-22) ### Feat - Updating announcement banner ## v0.15.0 (2023-06-20) ### Feat - **projects**: expose project urls to html templates ### Fix - **projects.yaml**: remove hardcoding of rocm to develop ## v0.14.0 (2023-06-16) ### Feat - **header.html**: write to header in italics if future release or release candidate - **header.html**: include the version number in the top level header if the branch contains it - **rdcMisc.js**: toggle light/dark mode caption when changing themes ### Refactor - **header.html**: make the added part in italics for top level header - **_toc.yml.in**: correct toc typo - move theme mode captions to separate js file - **rdcMisc.js**: use 4 spaces for tabs in rdcMisc ## v0.13.4 (2023-06-07) ### Fix - **__init__.py**: stop searching CMakeLists.txt for version string ## v0.13.3 (2023-06-01) ### Fix - New email address ## v0.13.2 (2023-05-31) ### Fix - **custom.css**: force navbar text to left align - Fix footer interaction with flyout nav - CSS fixes around announcement banner ## v0.13.1 (2023-05-29) ### Refactor - **doxygen.py**: remove extra print statement when copying over doxygen styling files - **left-side-menu**: rename main doc link to ROCm Documentation Home ## v0.13.0 (2023-05-27) ### Feat - **left-side-menu.html**: dynamically change homepage link for develop branch - add link to ROCm docs home to top of TOC ### Fix - **header.html**: fix link to amd.com ### Refactor - include master branch for left side menu - update development_branches - include dev branch names in left-side-menu - move yaml file to data folder - add yaml with development branches - dynamically change branch in left side menu ## v0.12.0 (2023-05-24) ### Feat - Add announcement banner. ### Fix - announcement URL and phrasing ## v0.11.1 (2023-05-23) ### Fix - **header.html**: point docs repos to library repos - **core.py**: use round to nearest minute for read time - versioning script mismatch ## v0.11.0 (2023-05-17) ### Feat - Nav bar links to project GitHub - **projects**: allow overriding toc template path - **projects**: mapping between project versions - **projects**: allow overriding and disabling external mappings from conf.py - **intersphinx**: Support intersphinx base urls in toc.yml - **intersphinx**: support single strings for project - **intersphinx**: add version replacement in the yaml - **intersphinx**: Allow overriding branch name via environment variable - fetch intersphinx config from a remote file ### Fix - **rocm_footer.css**: Fix overlap with sidebar - **renameVersionLinks.js**: Wait for RTD injection ### Refactor - Still get PR branch using pygithub - Use RTD environment variables - Remove edit button, simplify get_branch - **__init__.py**: remove deprecated and unused method - **projects**: rename external_intersphinx to projects - **doxygen**: Copy only doxygen folder from data ## v0.10.3 (2023-05-15) ### Fix - **article-info**: hotfix non-html builds breaking ## v0.10.2 (2023-05-15) ### Fix - Fix python typing, formatting, PEP8 ## v0.10.1 (2023-05-11) ### Fix - **sidebar**: fix rtd version selector not appearing on the sidebar for small screens - **sidebar**: fix page jump when sidebar is opened, animate header - **header**: don't show scroll-bar on menu when its not needed - **article-info**: Use app.outdir for html directory - allow overriding path to external toc path - **custom.css**: restore cookie settings button styling ### Refactor - **core.py**: fix mypy errors - **article-info**: Simplify article-info handling ## v0.10.0 (2023-05-09) ### Fix - Fix header on narrow screens - Remove left side menu & buttons - Fix lengths on shorter breadcrumbs - Add zero width spaces when testing width ### Refactor - Add links to header - Merge remote-tracking branch 'upstream/develop' into HEAD ## v0.9.2 (2023-05-05) ### Fix - check for existing article info before inserting ## v0.9.1 (2023-05-04) ### Fix - **core.py**: use older version of pretty format in git log command ## v0.9.0 (2023-05-03) ### Feat - Bring into compliance with AMD styling - **core.py**: set default publish date as time article was last modified - **core.py**: set default read time by counting visible words in html output ### Fix - deprecate disable_main_doc_link - fix breadcrumbs and scrolling - update ROCm Documentation url - Tighten secondary nav - Improve transitioning on resize ### Refactor - add back linkify - merge with develop branch - get file modification time using git - import article info via importlib.resources ## v0.8.0 (2023-05-02) ### Feat - Rename versioned doc links with version number ### Fix - Remove unintended CSS changes ### Refactor - convert myst_enable_extensions to set and add configunion helper - **core.py**: explicitly cast to list ## v0.7.1 (2023-04-26) ### Fix - docutil dependency ## v0.7.0 (2023-04-26) ### Feat - **core.py**: set specific page settings first before setting general settings - **core.py**: add ability to set article info for all pages - allow substitutions for author, date, and read time in article info - add article info for linux and windows - **core.py**: add article info with supported os info ### Fix - **deps**: Fix search highlight in doxysphinx by updating sphinx version ### Refactor - use consistent formatting for init and remove empty list from core - **core.py**: move linkcheck configs to core from init ## v0.6.0 (2023-04-18) ### Feat - use different link color based on theme - increase font size ### Fix - **header**: direct GitHub header link to ROCm ## v0.5.0 (2023-04-14) ### Feat - **__init__.py**: add version numbers ### Fix - ensure compatibility for 3.8 through 3.11 - **dependabot.yml**: remove extra spaces ## v0.4.0 (2023-04-13) ### BREAKING CHANGE - users of the non-legacy API have to set `html_theme` to `rocm_docs_theme` to maintain the current behaviour. ### Fix - **legacy**: fix builds without doxygen - **extension**: no longer set the html_theme by default in the extension - **legacy**: restore custom theme on readthedocs ## v0.3.0 (2023-04-13) ### Feat - move automatic doxygen and doxysphinx to an extension - move core settings to a sphinx extension ### Fix - restore cookie permissions / analytics script ### Refactor - various formatting and type fixes in util.py ## v0.2.2 (2023-04-13) ### Fix - various stlysheet fixes ## v0.2.1 (2023-04-13) ### Fix - update links in header and footer (#87) ## v0.0.1 (2023-03-13) ROCm-rocm-docs-core-6244b47/LICENSE.txt000066400000000000000000000413301511656052100172300ustar00rootroot00000000000000Copyright (c) 2023 Advanced Micro Devices, Inc. =========================================================================== All files exclusive of files in src/rocm_docs/data/_images are governed by the following terms: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 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. =========================================================================== Files in src/rocm_docs/rocm_docs_theme/static/images and its subdirectories are governed by the following terms: Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” The text of the Creative Commons public licenses is dedicated to the public domain under the CC0 Public Domain Dedication. Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. ROCm-rocm-docs-core-6244b47/README.md000066400000000000000000000044361511656052100166720ustar00rootroot00000000000000# ROCm Documentation Core Utilities ROCm Docs Core is also distributed as a pip package available from PyPi as [rocm-docs-core](https://pypi.org/project/rocm-docs-core/) ## Purpose This repository is comprised of utilities, styling, scripts, and additional HTML content that is common to all ROCm projects' documentation. This greatly aids in maintaining the documentation, as any change to the appearance only needs to be modified in one location. ## Usage ### Setup - Install this repository as a Python package using pip - From PyPi: `pip install rocm-docs-core` - From GitHub: `pip install git+https://github.com/ROCm/rocm-docs-core.git`. - Set `rocm_docs_theme` as the HTML theme - Add `rocm_docs` as an extension - Optionally, add `rocm_docs.doxygen` and `sphinxcontrib.doxylink` as extensions For an example, see the [test conf.py](./tests/sites/doxygen/extension/conf.py) ### Legacy Setup - From the `rocm_docs` package import the function `setup_rocm_docs` into `conf.py` for the ReadTheDocs project. - Call exactly the following, replacing `` with the name of the project. For an example, see the [test legacy conf.py](./tests/sites/doxygen/legacy/conf.py) ## Documentation The `rocm-docs-core` documentation is viewable at [https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/](https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/) ### User Guide The User Guide describes how users can make use of functionality in `rocm-docs-core` It is viewable at [https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/user_guide/user_guide.html](https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/user_guide/user_guide.html) ### Developer Guide The Developer Guide provides additional information on the processes in toolchains for `rocm-docs-core` It is viewable at [https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/developer_guide/developer_guide.html](https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/developer_guide/developer_guide.html) ### Build Documentation Locally To build the `rocm-docs-core` documentation locally, run the commands below: ```bash pip install -r requirements.txt cd docs python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html ``` ROCm-rocm-docs-core-6244b47/docs/000077500000000000000000000000001511656052100163345ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/docs/.gitignore000066400000000000000000000000221511656052100203160ustar00rootroot00000000000000/_build /_doxygen ROCm-rocm-docs-core-6244b47/docs/building_documentation.md000066400000000000000000000120571511656052100234110ustar00rootroot00000000000000# Building documentation ## GitHub If you open a pull request and scroll down to the summary panel, there is a commit status section. Next to the line `docs/readthedocs.com:advanced-micro-devices-demo`, there is a `Details` link. If you click this, it takes you to the Read the Docs build for your pull request. ![GitHub PR commit status](data/commit-status.png) If you don't see this line, click `Show all checks` to get an itemized view. ## Command line You can build our documentation via the command line using Python. See the `build.tools.python` setting in the [Read the Docs configuration file](https://github.com/ROCm/ROCm/blob/develop/.readthedocs.yaml) for the Python version used by Read the Docs to build documentation. See the [Python requirements file](https://github.com/ROCm/ROCm/blob/develop/docs/sphinx/requirements.txt) for Python packages needed to build the documentation. Use the Python Virtual Environment (`venv`) and run the following commands from the project root: ```sh python3 -mvenv .venv .venv/bin/python -m pip install -r docs/sphinx/requirements.txt .venv/bin/python -m sphinx -T -E -b html -d _build/doctrees -D language=en docs _build/html ``` Navigate to `_build/html/index.html` and open this file in a web browser. ## Visual Studio Code With the help of a few extensions, you can create a productive environment to author and test documentation locally using Visual Studio (VS) Code. Follow these steps to configure VS Code: 1. Install the required extensions: * Python: `(ms-python.python)` * Live Server: `(ritwickdey.LiveServer)` 2. Add the following entries to `.vscode/settings.json`. ```json { "liveServer.settings.root": "/.vscode/build/html", "liveServer.settings.wait": 1000, "python.terminal.activateEnvInCurrentTerminal": true } ``` * `liveServer.settings.root`: Sets the root of the output website for live previews. Must be changed alongside the `tasks.json` command. * `liveServer.settings.wait`: Tells the live server to wait with the update in order to give Sphinx time to regenerate the site contents and not refresh before the build is complete. * `python.terminal.activateEnvInCurrentTerminal`: Activates the automatic virtual environment, so you can build the site from the integrated terminal. 3. Add the following tasks to `.vscode/tasks.json`. ```json { "version": "2.0.0", "tasks": [ { "label": "Build Docs", "type": "process", "windows": { "command": "${workspaceFolder}/.venv/Scripts/python.exe" }, "command": "${workspaceFolder}/.venv/bin/python3", "args": [ "-m", "sphinx", "-j", "auto", "-T", "-b", "html", "-d", "${workspaceFolder}/.vscode/build/doctrees", "-D", "language=en", "${workspaceFolder}/docs", "${workspaceFolder}/.vscode/build/html" ], "problemMatcher": [ { "owner": "sphinx", "fileLocation": "absolute", "pattern": { "regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):(\\d+):\\s+(WARNING|ERROR):\\s+(.*)$", "file": 1, "line": 2, "severity": 3, "message": 4 } }, { "owner": "sphinx", "fileLocation": "absolute", "pattern": { "regexp": "^(?:.*\\.{3}\\s+)?(\\/[^:]*|[a-zA-Z]:\\\\[^:]*):{1,2}\\s+(WARNING|ERROR):\\s+(.*)$", "file": 1, "severity": 2, "message": 3 } } ], "group": { "kind": "build", "isDefault": true } } ] } ``` > Implementation detail: two problem matchers were needed to be defined, > because VS Code doesn't tolerate some problem information being potentially > absent. While a single regex could match all types of errors, if a capture > group remains empty (the line number doesn't show up in all warning/error > messages) but the `pattern` references said empty capture group, VS Code > discards the message completely. 4. Configure the Python virtual environment (`venv`). From the Command Palette, run `Python: Create Environment`. Select `venv` environment and `docs/sphinx/requirements.txt`. 5. Build the docs. Launch the default build task using one of the following options: * A hotkey (the default is `Ctrl+Shift+B`) * Issuing the `Tasks: Run Build Task` from the Command Palette 6. Open the live preview. Navigate to the site output within VS Code: right-click on `.vscode/build/html/index.html` and select `Open with Live Server`. The contents should update on every rebuild without having to refresh the browser. ROCm-rocm-docs-core-6244b47/docs/conf.py000066400000000000000000000033541511656052100176400ustar00rootroot00000000000000"""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 For a list of options specific to rocm-docs-core, see the user guide: https://rocm.docs.amd.com/projects/rocm-docs-core/en/latest/ """ # Disable fetching projects.yaml, it would be the same as the local one anyway # except if a PR modifies it. We want to test with its version in that case external_projects_remote_repository = "" external_projects = ["hipify", "python", "rocm-docs-core", "rocm"] external_projects_current_project = "rocm-docs-core" setting_all_article_info = True all_article_info_os = [] all_article_info_author = "" # specific settings override any general settings (eg: all_article_info_) article_pages = [ { "file": "index", "os": ["linux", "windows"], "author": "Author: AMD", "date": "2024-07-03", "read-time": "2 min read", }, { "file": "user_guide/article_info", "os": [], "author": "", "date": "", "read-time": "", }, { "file": "developer_guide/commitizen", }, ] html_theme = "rocm_docs_theme" html_theme_options = {"flavor": "rocm"} external_toc_path = "./sphinx/_toc.yml" extensions = ["rocm_docs", "rocm_docs.doxygen"] doxygen_root = "demo/doxygen" doxysphinx_enabled = True doxygen_project = { "name": "doxygen", "path": "demo/doxygen/xml", } version = "1.31.1" release = "1.31.1" html_title = f"ROCm Docs Core {version}" project = "ROCm Docs Core" author = "Advanced Micro Devices, Inc." copyright = ( "Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved." ) ROCm-rocm-docs-core-6244b47/docs/data/000077500000000000000000000000001511656052100172455ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/docs/data/commit-status.png000066400000000000000000002000421511656052100225620ustar00rootroot00000000000000PNG  IHDRJyDsBIT|dtEXtSoftwaregnome-screenshot>)tEXtCreation TimeMon 07 Oct 2024 05:17:12 PM IDATxwtUnz!R PHhދ(  t(*E_b{/B BBzyH@:}9awνwg̳Qlʻ< ^$ό}"B!B!IiRB!B!Ŀ%B!B!$(B!B!(&AB!B!D1 JB!B!IP"B!BQL!B!Bb!B!BD!B!%B!B!$(B!B!({;(:0liE3.fhth,(:P`5`p)| wB!B)l0FKhmhmaQxENH&B!B!xb+fv״zױƼ5ydﻊ 1B!B!k%umVC[״~XE,ڔJyB!B!Pv8Uj>SY oFFPiŻŢZ 7Ӵ;>oSJ\V<ԛ6ː ST)AMuRt`dMVu9O >!uQ\ YJewyQvyBWo*;cpATLԅbԿR?#>!GS<B!xTj:١k"e6(者z [l;:exeLƁF#PQٱSkhIaA૳}q"pf~pOޒ=豯V.%.gv͠(˴ֲiΞ?é#[Q? xOyr?+|n7[Sxf͊Rۮ9@||([ #>QKRTm+v׫q",!Y-׳ʹ=#.w?l6Eyj`}hY=!DSشo2@Q˶;ϙYPNyJ>n-_泟6q("ӾX*!BDRЕ{ab* Ǒ*Éw?wĢT z2?KOzo:|+A~8ATo_n}pf ׵ã"tSL@S q=J⊧ -R ]Y*`Rgd'#b _P-TTrΙ3Q01>MIO/*5QFhtX,ǶnkOA\ GJǞX*Pj3ftT 1J +?Lmܔ3~} IsYትR7 =/ FzoJ>NQtEӼ?fc}g}͈f[yvYEW-l.WOO#Umt͚RNHEk^4=E(=7x~MM&Uh} RuZˮtYnGiNFj%VvUGo_Ǘe Gg+IJ:BwiZ4h_7 W_¨qtC8QڭR ̺g~4Ŏ6,g0Q@UU0qR.jHӊ;%S|_(I~o=iq6e'ߒU>nB!%vVcw a?msj#1@1q_K]0~B.sƪ!uLoQci<GwgsXlP#.4q|p>*-LGaz}$R6@ʅ GqiZpu>HϹar<~HfPmws~\RU ]䉉^T]OR9߾,#*RcܭR@626Ī]/ZRJޅQBN]GLZEA1aNx+:bSPG8,t4:7<6=]0ui T4sK{uĴ 8ViIU;xuAW4?W#_3c.k狷W5lj\йuaDo/BUsOkX|" ZiWI XA0W0$cjFԭUdPк2wvG:F8lM-fͨ5 ]F8hR@xǛj 178 ,34op$k׎>~ds#3m^ mF7iWUn6xhA)ߞ}<1Q~MVjLZ{bECifV4%mY#^yo ަw};2q#B!3IهCo{sx|to탅E2Ν+0Ɛ{w'X4[Aw34~'X`r?#%2#qC V1츨f8F_X٠bosFg֖N -G]L@F !jC *r@zrBi;cZ 8yת)3_\MK˼9G3'ե LT}(6búY]tg X3-;RTP'|8.pQn"\Z"8"f&ˣ!f]`}OYy#.fa| ]yr3%= u_x5GoN K @L>}HشRMC+fqߘJ01Xiq/d#NDuEZ+:8VZ =vpGo[ҪQhڢ:E%z]A]ibc$|E(ٙ.~pG$,aԟ8^DF3VUfry'<ك8m-V@ V (X@SngۮC>u Q١9o(v NmJ־ڞtԂ1M) 52F!BqPoa,/~>5͈!/zݺ‹J.&~lŔU@SwwNB\FDbAʽW!szfB|| 3WJQ?zt Dq?l-=ky&hE#74GQs9n)^hP[3ąJ zI?k<3P%A®pzs*E΁*<{xt w,`Hu6&ocKU cx4ÿǠ6>(Β/v%m-.իbot18mM!B'Qv 9Jl<*nX`Rw~#^J` zgHy^Xap"j: k_&\Vە%|܏5+%vo27~-[P[|&ho7k+nС+~W.xHԫwlc:IMpqozx/sxS.thז=a4ؗzo^$vmN7~11/ȑ?N1mX߸zj^nOg_{d jPs~eTtq '5r\TZ5T5`0hz3wl:;+dFn99v" ?I>XR[NNNhצ)5qmI_ӈƳ9$M$3uZ%;>B!,0|4Z-XM2zh9SĈ3P9*KΟO0+6uvXgM[Xgt:N1Fr.m?G\N,t\GJK˹; 9ط}G0d@Jxq ̛Qm'!7jTo?rcpDź٤`[ˤ`ڴ%η_qhОa]=pOIQ#pC?#Y]++34>~#a4Xk6NؿhF9bΪvHg-J~fɒD#(. ~ \L콨d=*VTkIao0w ,*tk8ZE ۧM@/MQ%m==)!B!?=9G}vq6&7r.g7_Z͢- gBWnx;Mѓq1l;^yg Rh]%#MýԴ30i ~@J~JxCM*_Bٟ9z>91DǓ:1rJ5Z_|a_#j:n˥05u/p|~IyB{3/{ >cƨ%}ӆtgv㣫Jnu*bI8mgסI}^|N(?5ЇE %gA۶ƪPw;R، F6"#S"Jz f╌%W {qOs\}*42u bYѭ ~Sg>z>{Z_Kǖ<7۸߾ kيZstN.j<"~ۮ? c]qP>y4o.:&&_æx3s 5^7aL:ɋO8FKc'a(OɋNZ}DA'M]i?a:L?!B_) N7_q$}Kҵ'\Wݸ_ d\ Yqb>X]{"InmO%sDS͏B_ 8rGﻖow3.Elgծҟ}ni㓩L%Z/(۞Ϻިbna1oܓZP 9{6쉽yZ*F ħ.±koywI'K۷ןS N󇋈xA+FȬ^ o^FSsL5 ƌ|5i>طj f}Kh3ϼیr FW1h4Z,v-ɏz vIOW{,Ʋ#*dmhprqBC\suR3ff`#D 1KxwAW~|6Fya 4'$#q4?MYǙR ta}|M*cvz!˩Nh]p2Q =2ػ"?FhjHo1l`(YJ[ MО)?g 1,#&6!B!leEk9ka08N$UK U ^}}$Ƣ<5l=@F~Yg9З;DО:w-cR1\|\<ϗ'b@:5&t*Ǚg,ABzFT 2/>ܗ?D[n^aabSHp]?LwR J/un#hrc{ P39M-.iРO%tLבa2$b9Wc9e1 fvHnQFckDY)>9wb4N=w0\c.WQ 9\=ƆycBNA-v%nƖ 6rvK \B!O>Ŧ#]s:O"yfli玜y%m}Z0ϧ^\>gx_Ugm!}b1}lۗ~ąjB!⿧21I >pHwG!B!O2<|5v>-S4?'L%X!B!ǔ%ܒ87$/:FUeN @MCq_lz!B!T&±a^[9 Mߙi>>Dk¤u?RH0B!B!DP6K6E`ܪ*ZƴxeʺR!B!B*ON=B!BQLPO* /ebk]ŬCUT}KNo{v}F2qX54V'w;ׂ )뙻 =673ӂH]c3v5>ҞL7`VDʼ+!B!7+3#J WdmK},ږj/5t̢7X5y-]V? r{$B!B!]f38YDo]RnQ\H 6d[g\vV'D!;%HN"B!IW\# LyXy'ܑ{` \1^{(Q (>:k'u}*9Zf%-ǒ8j?CE*'<39wC;{1p 6+tjO fsj6M$_vL_e\td_"x:[CwjEM{WI$;|ЦaU\5\>MuZWBיY㍦:F֞_ޏr$m+gjy Y'J' t@5G, iĆd\*(:Η.m튭zǷns(WnbKOS%~G$ƹׇ,7_vq ^OAe,{'8vHl4-x@_o ۾t9`gЄ?JQ IDAT7KmA!iiZ/<ۋY{Y`. foz5sAm> ob;r@'fpxOyw>iHɽjҮa˿b׿qJK. Q@kHa]h~2{SO>, L7,\qc<ƃ_Ū*A=ŕ|{٣W!B!P&G\# =mKuWU_&ɃM #USp.eyR#̱Ӎ_<ѕd0Ɖ:00 Vbemy<6#UWi/̙,9W*ORүܧߛ8p1$.^.f,b`j⸤M?eҞgs6^9a-!z GbiҬ֊ͩre;_9R\$)<^/41ݚoͺ2JQ XT͐4ĂNj@!B!߮L%PfIA\.V0ig-zO1l]VUb3Hso<ᤡt9w4Q\0܏7.lIz ccO?R&A6dp-K8 hk`fېc1(eӿFGs,g#9}1 H 9z5NG("#ϓVF^m%/^Xyvfo*V!\1|'WI@[0zg1,+ `w!B!(S|PEwXB ,`k@#LT=Gd>nS\k6%qElΝ$7si77PϱZTjЃ9|D 4EFQQ FTBc[]w^Q#r,>?XիR;^m{1'?i ë/U!Ѭ\!%F[_lcq[T=;>_q{Bu {,8z 7@+}( _i2D!B!ʒ2Fɝ x/cI_u 1dPU=2 Aˤ|K+*;ѽGU(B%'4}ygor~9#_z(v8[Lr9=zA5u\Nu1ŧxFwAHR#*5DaQWmZ jhZNJ%szm QAk{(ąc۪|7{U_Wˀ~(XR$ggy+FxTGM+1tX[率rjТa@!B!ē_1VsȏyL5s6$<]QPVA5)8ѹ2P)0qAPSVUTyA&#SBT?$MEv ] ;x&:86SI;ɹIye52tlhF0 8r2#; $H 86JPl7.ԶгPY:'vŘJрc0ǺRC*[err*72?j#lN~th_S"ߥlc.vVGx@zIghUUE.&Ii7}ZIk?K&FRaoWiяC} B!,њYX(X5#{z)UCzѴ MiCf;jGiբ)um]g1r9! Miݾ=-}Ŀ=ǦH2!1)XW{fi@VjC6.j7)FPHlIͰO8Bpș{B!BBiMyGy3c"4&X)p:xsm>eB!B!O+ }ܕxt>RB!BQZU !B!B< JB!B!IP"B!BQL!B!Bb!B!BD!B!%B!B!$(B!B!(&AB!B!D1 JB!B!IP"B!BQL!B!Bb!B!BD!B!%B!B!$(B!B!(&AB!B!D1 JB!B!IP"B!BQL!B!Bb!B!BD!B!%B!B!tQHK!B!BȥR)TȈ(F!B!ضq(rdB!B!D1 JB!B!IP"B!BQL!B!Bb!B!BD!B!%B!B!teN\rX[j@fVRB!B!%%dmm#N)"** .`4QF((h^(S/\NMrJ YYُYB!B!%%`mm3NYTUEQ#K ÝG\h4G||<]@!B!O JC$)o5?~-$XXXРA$77s1BVh]z`4˓i8B!B!c&A}+W'$x{{3j(뇫+ҥK̟?蛦\ K:wMFf&W>6 !B!>l)nITU_dL0J*annh`0`4133ӓcDzo>^{k\ K 򲰱~lmB!B!D JCq=ܸp|g|7PPP@aa!z^GSXX#g믿mרEǢ\NDq;>--?Ns>G['Z.% z]g^zAO3bD&Oc_nM)XW875_QLX;Z>+˭ԷyKj!)n11 ?B3v3>b`%iИۣ5)ҊC_bru*sSYχph0L8_|IIILMMt:LLLHKK#,,<^~e~mF… TB}޻Ihc.YbOXeݶP)Ott4c0ڸS|t6zwrcO?p(!I{2BWV>MD?s'Dz 7]B AN؏%e=|e-y,&1 3}tF#/_aÆ0~xTBtt4999XXXC||p m+5s+9xK\H4se7ҙfp)=G]\M c;=r\אų7=dݙ lyGBQfyR?uRYgB0<n-;rR?hYGP/S#J54,@][W`ڴiXZZ( yyykFn?~O(b"9 FJhT!~n?vs2dkykefNH@6QDA6cY0!شd*A:rYcM|yb9/Vւa3eB8?獧 hz&@ʠ_yL0~v}*ʷCh5+ !V~1D@!%1=xp[G `Z5Dsݴ|9˷sd p*.W\nncUo +ND#|*oY/'gGzk<%>eBOrNV}3,QQf"c::@W">?z)EŲ0bIkO[%svtJ?1l\/M%=_tk2OQsރM|Ffo1`DqX;{i{Ovb~}'lZb߀OdѢQLeYiv+{<:abow2T(|U s;i _B~:Gjux'0i8FmEeۿ>k2~dƽ<.r> 'Od~lSHۨ{4L HEO lNhSw*_E!}c5}w]zs +6^~ߡqvy"S%Qw0=KUUQڵ(i9^n{cF-Zаa JF[?~V$djqіWfNk#q`H2w~{xrPib OR̚ƇC-Ez5)A^x#Or۪TuӢq̌rZXkw╯(ƣ?Ϡfȏ8đ3|a7h@k>(7K59[}|{㒞@@ɘ0Ȓo3u8tŅ6#{p(Y?\3IUn6s^0?XFЇqYű̟ܓS9sG,m7>@EY31 pmaTI&=[o: rX>.GqVhk֣h+סSPY >j4jqvJy.&PKdLZus^&ƌaaD.Y>xM:ǎ9MmT~uz6p 3GLi<3a𽇸bR^]\4M /~:I]-jn0{=D*6iN=BN<ʭ-ڎnNMFOXjR Abքq&˿V{mߏ_rխ'CGғLw;.ƃô3va'[@0B[9S HK8Ō}qlB%L* }3O6̒9mوcOgZu"-ShPJV ŽjG53PW:pr-?-Z̊Tlۋ ɻͶ ήe{ĩ77ډ&|Iٺy9ΆR4)~AD=eT:ĪUWLNOfB!Kp)7vZTŹofM=8nۘ~t#6VZ|~N. {ޣw! ԃ~$[JPYa4ok ?σ3==eBgYzU A={}T->Uq:ax?WX=y/M«ϼʒsfj+ijtx{:IǑ?oPk@uc#9z'љ NVY9c2Wy፟6(UKE-LS\Y[’ }:ҳWg2 bFRP64i^{Ng{G`_׮HCS'c/Wyy们h@cU7|il0Amh>u_Ƕè맽ČWQQᴰڹ=;=S7\j\R_uL#xgO&nHxqp} !{9^:f&-TՁZ+bSZP;+}w^@z&v{QcL4UMUM6=Ivi1M5MKTl)ν3AP$3gΜ{QNT_VS5ؼ[]rY(0G2jn4S|'O"wHfVnx!{2g{s>2+ 9r MezNjt~`-&eygG"}q׉r8Gk8frr׬54]3Nas/3 hZǩe2n]i~mILK%vOGogdO62sUүFqh~J-7uPkT,)$Lvj,a`./ WH"b&6l;M Zq.NBN6nId^Ú~dB9FNN*ϓƼsa҂nݝrk=VeFq%-eTBA,ЙJH9mEqA2w\a8%y=kODI!/+MKػ!"yJ2ϐsp!;~O8>Gu'k=펦AҧW(jx6 od:3'OVN<7E]rՠi6"Qsb $Yג6>fH㗇2Z)nz[!eK+dD҄xh3ᆣC̜QgKI$-*ա b1UIzt6T\t߰Tݷpuzrr} R'е肋FD {=XԽZHװT#BI0y W.HH:KXT?=$\R%b{R0ŢUhWZ˄/b¸y<2q W!>Qv @2BGJ蚴Ĵ͟=G󪯑Tn]Azx^Spq Hekk٫BPn>O$?$ G~9=2>Xw\F$aw+vvvz+-HRw@^^NNNh}MCb-ITD,oh[.=Ϯ3w{YiԼĦ*8T֪z}5IFt܇4$s2T[G!Lie9Z2k ?6+l֞7~ZLzڭ*{?2i׋+G3V2^:Gx~c}aGpK˗>s \9޷H1EŷS"ZdzHhdVЪj&}_Vph$ƾQ?nq:w d1!ծFY =&wcUo((sd^++2YK?gʹU9pޕR2a6€~}ۣ#Cftfȴh쩩lz Zee gHصL?+9SpZ-%7ǒ3{^Xö2ʋOBA}BPk1* q;>aݙFO`Ѹ{V1`e~YD>x{0.5.#3niJՒ5~<)jo>O{剻GWFLޱ9( c$t.ќK?) Iٌ)=@N)#vXwP{2V~,[ڣ3v}ӤQ\HNޟkX_vu ߶&ΉY:ٔI$H2A*#F;;;͑$#ѱ20RQޟty2wQp)di :ˀ%F]f5ԋG8UA>:<;oJ=r! dBaI (q\,RL:dJ@J΃ք~o0hT 37w\d@u[{լS&Y&clB7>ލ1-GtYtn s-|ʆ}a76UwZڭjUdUig.(tsIǯo?MT⃿M^Nfu=3Gc~ȯY`Y^os%MdM><"63ٙAczb-)d\"CUI;%EOIi''s\2cQ݆15j16t]L4g[o&G2q4VJJuQ[/I 2*U8Hi FhW-z_kk4$ Oϼ3w ٟY-nNd'\d($Aj 섗ןN'T.-t7s6ZY%ظqs ^Þ-3Ȧ1nMnؕhCZBc*|dw{G{c)nR&IU7pF󥽗%ArJ8'o?}ɶKڵ[^W9Dq2dGO!9#8mݩthS-O  ORP3( rp'?5-&`ouH=3b0%˜_S⏤ϥocĖM1PsٲC~9|oqPe)+5/bDZɯ4c6{ V׊bֲ%93U>]b\KĘi?a)DbMUߒ4VZPʋ4m0}Сocd%!1(jۮ˓1lPn3:m!I.3k\ϫsc(F0}'Hqhʐհ7341^dfiF4 #=)9%BA/LjsYIl.dFJ[J~&@9y  \P>tYBgiJQF=(N)Ť8ꆤCH5:-ESq= X,(Ⱦ/]Jb>I qǪ}y˶VI<{o3ΝCUULMM$7|{{{ CU$*^ʕq*k̉Wi}qpyl ҰNÜ|<櫷W]ӓ·A 9q$LZ.w%f<鿰hK,sҦ]J],{n& (7]6M/5/#b<'- )EX5o,Xz물z(-goFO\~sVSK$qh_-rYu,;O|RX;א1f ŞkM+77-@]ڭdt9ő:gUt6|0Fs6i(*IgHS x)΍U_T-9obx&q+8?:Zk3\y8tC**AEuR0ƄsLSQeaٗ.7?U}{qws&mH*OEs~ө┱TQ{kۏW` c2g|fQBCd6t$!kV? xxlfLN5mX͞R@Z\29< kGHĽJ~)bL5=HڵJBױ;Ng2q)5(Kˆ-?g3=ɻkT!rf7x򩙌bE H0RviKǡ$f=$GCM!w7's?F?>5߬c^h4h.=[^s)ǟfAxd3U !?;{kX dexԒ6Lo\Ʈgؔĕߖ'Yղ)|]19aIGV_[%8 򍑢WHbU.y~+I1e}So64뎦B/8tFK\6ZՁWKONهiAf8z(AAADDD`(..2Hbff9;v=z@QdY&33vڑ$I" ΗӨ,#h`fOm$G| l $Jyw|e[pE18{]I"90~=uȵsȘ;DiA$KAwe3ϑ숒 a׹uǺ ee} T4 Y~:˗/G$vͣ>JNؿ?ϟo߾ͩ4]vĉ8p2H*$b 222eN+Ix__X22'_ƙ\8"{3gdʣ}-p_&33.g$P1Ճ$$A//'5iiS=s_˯fHIJe˘4i.SNeټkhFDDps/ҬY34MCQ4MĄ,YR9Dnj&=a|/!)ּ[4L[>+ )?8 ETOЛ{&5'5^b٤1,lh4 |ȖiҔ?5qu˳#  WOyмZzCbbbe֎;{n4M\v YIIImEPш)yyy1iz#   $1w( ~~HȲٳg7neeeDFF}vVXej#D*Ȳ)III?ZD$Q    D6 t:BBB dʕtܙCVnSsD4)..fٓ*$/(NAAAj+rVVí_-,#?=S"bs>r9G}w{VN`yP1,&63F׹Mc2߇'&OLtOeED 5W[꼑 \]L\WI۩1,a7?gΙ[_α>eFL/y23>[i7e_n*QH,˨+‚ (--… deeajj ?zrrrsoje$99>@nR,11(긍ۑ0K1Ħ_by8Tkz!7.%Z7kRj~$||7uH׌_\~kҊҹClR.~nu1Vr6[1'O iJ+䛻y<>Yo&~߳ML= a%Nj~_a8KDUr mi bzV~'tG٨"$[ui$? ^\"erkב/=v۾3Cý(=@&LmAAidoJSa&@x^C]8L؍guu"WVz ;$[odffҹsg\]]?>^^^PTT9>>>$%%tR.]Dll,߿~2r_il~y<ﵜ7QЮwg,z*[11:>}ĚAuc i?}vkIB^Mz5!l!w댝$v[;aƘlGz߭M$;?^ŇyykjRpu[?qdYLzԚ͊8z ǓoN採Au^zS,JzӲ"9۝"!Q[RGxZ#_MLpu s~WD2tAAV!Y7'Rp,ëhgy[~xwCO(u6obٶ^U$QRRBii) =믳`ƌüy󈍍E4 $ SSSxʲ+ܳ[y1Qxmh\3Ost2錌v thVB?Soj-x;v;o?b渗ͅѼwld!|UƱ`ܘa1? ?Ɂ@wnn3VsyOKp؋xm$'KdE/)`;a9 _9_|t$gqx^̏B ?{Tqzҍ ?˩b0Z&Zn25>!{OrQv}Cl'u3̆ٹydg}Ⱥ=8!l^6!M@vX}&cz)[Ŕofq,Oe?&w#r0?˷>H"e8ZAZw'0eȒĆ,\sg<ܓ/e{{s><#ۿImeu4I_Gؾl.#|Odv-lwǷH`CѨ>yoЙ0\ÿ/>fu!'Z.HXkwr\(־C}Cdl4_¢m?2᏿p8玲k?x4.a$r[0R+&O ddb IDAT-Ȋ/q`z_12͇<+{=3g@H K}t/.zf2SOD!SyY%ԗ67!1y_dd/ -{Ods ye+*y2k4/ULѵbOзuW&?*5ϝ`?ۻLT1dw"-&4kɗ(+-/, 5w@$t(s/f+/ԴAe x3'ZŪE#V78^܇簵3-FNͱvƠd1MJgi(~GWf8Ϩzs 1=>#[p ǖL?(jK'a)}*dYF4ZjŠA*&$affV9-GӴ6zrۊߩJ޽ܹ Dהk\j >Z@kǗPQH o9Xc9H z{%7'r6YfYw;rK=Hr ,8%do]FᏟ2wXq\Vm3U? Oa1gSJNp#˕ Z|z=3 K*QN$ ^ZMj:Gj[L t8r=m?8>\ vdNo_Ĕ&95uINf@=m$m?㓆ңMlM(#R{)I6=bC 26Q>eDE&>#>ʛ]6IűL愌uQLjIu\)?_31~\;+n.,w`|8v&h?Y{WlJv'Zy@jH^9IƭjnI U*_66Ș3x ]3畬X+֡ASAAߠ_Ldo\&,,gq? }4J$c0&S?oCq66$D̏qML2&#j.iq6uOXds4^$~äe%IXd %%%ՖH(JmTU壏>B$ fffN\BS0z"G,"l߁Nr(z~Co&Qrdt3 C=~4Fd)ȵ\,=cs9jZ%ORg*]&32ʍDZt}h= cBO{'ߡ%lcT3eȹIVt=1o{(t8xsdem Y*Nify%X`MǰVHXvOM؎0T@IĶK8[qx6>y~}'H"a僇\@o{рbo#$a]ڭJ_!7~?(І;&gFޞwy8y/$c-oyx& ~6xѶ4*>3/1cW |j6=!aj+<){Pzv)FLd|s1Q:awKJB. 3qHF-MfIΑ̊ O1{Ol|׾kNGf`}!#GNa,=W@4R׈ί3eĽ,^yz:OHD/+SyϪOj&'}͚_H5#`f?2Ѐ-E[@Wf۾pR?] YӥLtQڱR ͬicv~9KJz* =$*KX;أKBU23ط Nl뀭E܅ˤfvװ`FJdm1&)SFYM Y``FՋ$r[ױXIAZ,ЙJH9mEqA2w\a8%y=kODI!/+Kػ!"yJ2ϐsp!;~O8'>Gu'k=펦AҧW(jx6 ~p/FF_uvK[AǫǯC$wWpM<ն} "k \-F`O黶,7Vꯏ_ ܽz Rl }uF!ψSbDr#߲_ 5O Ȼv8ː<<$AͰkt.oXs*KVZr=9@)qZtEJ#"fI cz@vgGY,^PkXJ*$vc󼈿|+M$$%,s*es)WUx]KHOϽy{0E31biqnRKxH!J%v _G2BGJ蚴Ĵ͟=G󪯑Tn]Azx^Spq Hekk٫BPn>O$?$ G~9=>Xw\F$aw+vvvz+-HRw@^^NNNh}MCb _D,ohb.=Ϯ3Ex@ͻLlCeWddIǍA(}ovxPٹd-qjL^|Ok?-knVjݽE#ߝ2J9MDDH!\>NxV>jFUG=kGXQ0 UWB uk[|]Bè(W w icr< ڍ>;G׵"+{@i7rzWkD#b%ޞ-88{~JYor7aeU%V:*x7|ZEם CzA$t.ќK?)gIٌ)=@N)#vXwP{2V~,[ڣ3v}ӤQ\HNޟkX_vu ߶&ΉY:ٔI$H2A*#F;;;͑$#ѱ20RQޟty2wQp)di :ˀ%F]f5ԋG8UA>:<;oJ=r! dBaI (q\,RL:dJ@J΃ք~o0hT 37&%kZ\J6o̦-!d9xӲzNS\f7a_MMVvkW:ZJv16//heQQ7zb'Av働a#mH6t7Jnd8qISudƦMټ/ x>1Fb0jzZ@s=`ڒ%򬒑&;tmW¤H72΃FJBI i?)ҏgSgN:PIzNC|5tvD2:RRR9CnE猋m2Kqs =C["ggMcܚl9ɱ+SM#6tU4 SлL҅3oK{/K,=FٕpNm1kQcucM$0U3*ѬE8N$']C]hiDf|;'  Y}q BEA)QY`Y5 ܦ/Or ؛!y"ROLuPgEq)#is縦š;/;ĘgE+=b^74$/Ob #Umߊ\%$ N`}QRR@s&>T]{44 Аq_Rȍ;3׺ akWdaT6I>Zee\Ƽb0GlL$#|(Ĭ_ή)1[l2s.t JM#˟֯"tk'յGG+l +zy iy!?#YvǫEv9}fYךdH&*8աB 4 䑷f-wfp G $SL$@-Pɑ>OԢZui7wn%=9Fr 羔͉aҽ+l9< 6z:bfq D*3џƴwE.gG).?F1n,Z!Lԗ_ PI#РW϶$zѮAF6hUFC3MSh#yvRuQk-&ǵDyM)޴j\mEzmu? ;{q$Fg!5оML)FpWoWT VhaY tcy`M7=^=VD~FvA#]jJǡ=h*CVÚ>* d$'bЕ5o`o2Cٛ`ME7zK(I/5I'JIJAQR#~ Hzd6vy'0R?JV4ʡ(,vƶk8l5Ϸ:M3P0`EqJ)&ѸW7$}FzqjƵ/ebeEA=?%ŗI$4h6f,Zvc$IDC+Μ;wUU155E$|M1 KW h lllx+WƩ(!$3'Z_姕_,߲9"Nь$ aЂVt0+Y4y'@ME3^b6B@W /bs3yT̛.Nf`٦ݚc|Ζrqٔ" , uV^=i|疳7N#Чy.G[Č9k%GYQ m8/:D'>)}vkH3Ib5uݛޖ.V_kۜ]2/f|JB-^md$&̝΋?W 8ջ#<8>_^(ʈ\4O;h2v~Ƴ{k> L+κIhpM]JYnK -}| $ߜsuQ{5D}ܹt*&8ele!^q}y9oB?"}~(ns ,Jŭ4$q`j'?`Ϛ͌ tƱ _ h\ Kt<}a WI;O?R9ٻ(ߙ)!B轄z.R)bEkAk]Y@{!!@ MHA{H3gΜy Nl>_g6F;|CLۗC :7x)˨?ԃ?.<k.lx[;~1ۢ-oadKbp &F<7Ė^vMÿf|~[JVkqƚ|]'S0dJ~ȩcķ2@KXYCy߱P+[Bнi 6No[B'ͷTt|9-zA '(F ϝB!D\"]=;#9ώE1 _$̍%At]GUUrrr9s&qFƍGٺu+'NK.Siڴiٶm[Yj( =)))Zsvmc}53O΀WC.҃:fWF`oZ'X%S4"~ɪ<03Iy!n)C<93IABIB?QR^΁l *UU'iaY2oi0c oȑ#8q"ӧOGuN:MDD躎i躎 |e#Oԛ^RaMYʋ;Qt>4~ ?)-o!*r(9wגo1e/LWAK1Ǘ0?uճ+_яZDTT)HofتNj9όaickn toUԶYCM/I+B!7Son:kILLLYf͚qFt]k׮ddd* WH@@[[[ׯ{-+/ j7B!B!ĝ$So!(XVTUرc <ӧYj=NNNe#D.OQU[[[bcc2dAEQA䙧B!BqI&e޽{iժsΥe˖ݻo.u Xp!:t`۶m 3&?sB!B!E);;ԌLU+PM0 $''3qD+6mJQQɲF%dieAIvvA!B!B%섟/>ά^$e﹬{IR3M$`2B!B![ݪ%2J)XVDDuX,q.`0zYFԯ[{g3IMK B!Bq@I%Lyr IDAT3kSfMg&79l,I*B!B-$Pr, 3tUB!BqȪ7B!B!$P"B!BQJ%B!B!$P"B!BQJ%B!B!$P"B!BQJ%B!B!! nE1B!B!7%[R- D!B!Bn^z#B!BQJ%B!B!$P"B!BQJ%B!B!$P"B!BQJ%B!B!$P"B!BQx+p/1 `r4M#d";;E5B!B!!JrvvU/F+cPPрh`@UU@ttt qwvŅԴ4L;WB!B!(O%섟/%.4nJPP]\\\ZdGT2331r)**D4E`0`kkfb0 HD!B! HFootKlohܸuL(bbȠ،䈗/ʿѸ*x{SXX(pB!B;L%pssCՋ)6iVal߾K.SOM㡇F:jաfZL&.]Ba̘q Ft]\=nnngB!B!I.lt$DG_bΜ4iҔ޽Rj5V ]yXVN:ѣ :9Mtk.(B!B!4 T`0`1QFqq1j⧟PPP@vvNJaaǏS0vvvAH̙HPbp36>αw1XoWF#yE8,8N?Mga >77)$+%" 4y~5<HnՄlD:[^uoLΎ;]dDfOܢ^<>;yS.5t~=[u=U <ۡNG׊K̞l;Xy|>^ٿ4;'[֊{3<ڍgJ\u fS:ؾ(Ib;7V'ЉY[k-!YJ; ;(赤MVz~%KRQQlJ|)+ 39(K 2_aٝ$PR VEQu@zz:o:.]&Mꫯw֮]iږ|SRF^Ub4ZW1РLmՕmSYo>H='\16}YcwhYJ 6,ؚpD6T a팞N旽$Y Zt.`' %͓B/eҳ L~x> C8 !Bd߮$( -Z1qdW+;@DiRRR3dbɒEX,enYtl[ޗɊJ6Nⶲ|q?M/")1?,%l j@IH']##1/h_ato~f[^m %/+Bz!ig(H+ $tT܋n(LL?$Lr3&ST{ğob=}9HRZ5g}߿vFnn.&^4iҔ{`Z'""²)7Ζ>i` n\X|ed/t"ӞFps:KVE^S0?mkEqh|z.`_~O}RωX=ҡjPB폡Ԥ}z.ynt7U1s(g.yZzj LՅ]QS8w`߼%cKƩ8W'ҳI,3km(K-@<eȠ7_繁uO?Yo/gȻխm߲V\h09P+L"|R[v&^zMeTT5f'? S0>ľiw~'s8E_I:f`6r2W~Ys$Xx"p8wxvC}Nfj)%콩%uqk^bt`4UܴjsA/=d}><9=K숷*g!Oq'PƵ86;rtWĆ>BZnfֿ\Wy}|do"^ʝ7b3EVGatoW> DC%řZkQ?[4oes%٠=CCmOQr8V~/Д"LzM3XXzPJ^R8;WDjIVhݽ jWLڥ޼76"ƚqgpH]\$Gѣ5}bwDPRS`{z5VwTS<{7hfJ3º~uw,9$Dac$_sģUσN)Ncn.t Cxw~hkɶ][eJHLMl!}x^>֯DX ~x+^-R .v#=ŌK} 1@ux۷%e}AW5qlzv]}S1c2W a9LϬ~, CL&PQ_/ a1qx|[q ߲683aʈj^H%IztwN#>ip!p }ؑxpێg>U)`SGA+R^MOGHI>m'j sG Mu1Xsصn/v܇h8Ur=! JZ-š-m^Ǭ{DT?*w{Dc~4tHgkϘɈUw!OizC=8{y3O@.֬c&7n#NX aJ6Cib9 zxɘ( x;B{o>OP{OxIװD!Me榠 潙/2;6~_2@kJ e6x1Di؟W~^ÜIu)OH踷yJ<;5CEql6:PQtrgD:fx;oTAm1;_v |m{0rpS죷Y{Ɔ6ݚrWpEFDq:{{y2LX++gw+WзgS\T=0nqYy?րcpm\W1)勷 gk J,?Eal(#bm6",?er{=؁i?+aXѿ5|Ş_#Tam[*~`x;/R-e.lHV׸n%sum>M~OijsêXC3su (6:-fgG3ˊ^Wi9A0ql,X\SFm=-G"&J!u:Zj- ;t>H^5I֛jC>'DSC\#aD8 sgu3TlN`k/r>ιXjO{O(qiJGj[!KF|DMe֬a44aNN6V'z'bggbjqrrH} 4MfyU &9GFɬGg7U0eE|,cCOq<:9KKeЄ&v.IFޡkAtrdz?9ˇ4yrJWqSBێu88f5ib3/l=ok}n^3_Su ai<^#)]kWr׷7CXI%`g$:Cʚ2m )!W"||W V0Qce˛q?oK 0桕Mˁ+9XkIE^פ21%yci0gZ ۭ_ 9:oш tp3䥭dLXcPOH7~pQp1d( ϵff![b,44PP< 1%w Ƀs[SNߦr՞’H o}Sj_y÷=љ!h ^xtK*XVH ZȚ% Xϣ͛w`9ّXȱ%M?&Tq jMDi,q%k=Fjé9~4Vm\qT!F+ZFmH"y'ϻ(XV񥨨M`kk899PXXHZZ*NN t]Fg46+VƔ$P]}/ѩWa4ӸkW-i^L}ר!q46XΰsOi+xҭdo$-t {&.^rЂNڕ#0kYRt0ԭOb;{#x݃;7C->Dx@WTT՗&ͪ,Xd@YV:ɓM[U$%3@"[b40WP*U1W[ .~'nB-͚^/{v`+8bZH09Y`'hIJήlM+9Y4jBzFĕgEddq&2`L'd<2jiLOO#.>4w 0lh>]DPp]=TT@fMpW5b6/gph.~PI!nIa&tdIZ(t6coFHNqTɍHQE4aTf #MgcWT!4vP_>e92cG܆d]KG^XIy"ݾvn@}{]rla _+}CHiESF +LJCElxv0*4k:2d!\Q r$qz=ߒ;.kZY (TǠqt>u@ff^CbT ԚSNzQV!=7O֥߳˗dq楧I U1Up_"p9Pb%YL:YdZAq20 |OT漡.V$-3/_4W&s֝zѹ7\C/#^x ('E'1gаmޞxU B ꁏ[GJTXT{/OmkW_N# 7pC`kg \s| e1Œal ~NŕWھ(9r"s\Lλf}1ĖlID\q+l&+N8})gTcLtY=IXD]&:*KiTrR18e:gֳ `Ӏ*fⷧQ-}K~_7Z}0Dz\&^='4`@q֙*#^,{RZygll+VVL&L;8=N!n!hf0Tm;j !g|9s>$5__ b]?J:ZxAeCJlﷵNo#={w#k:4ʈ&>~b U4P~K_U.u.ڿR=a3YNj<T-;1tW),Z!n!Q H6Ɋu}\nx6ӭ%w]¯XNZϏ"vt0[hohtjO_G͢WCm+b-(7խEhY{yZH4 1b9Wa( fwn-,dY^t BfӒ^3Wxc+<x+> IDAT_QD+>o\_fqarG:MHɃz[PW%*EӈZ9?H6Jɓ i÷t{؂vnrt#ł5?}ؿʈoH ݪU&:: _s<έWkQN-0SO_cuTU8pW9X5"B'X:ukX螴OU+b( * ֫m~_*:MMmB k"|Ǟ,ҪmoƔ!-7[E ,>E?5}vV^Cg|k62$Fb j[DڊS.Ľ(vC܏ϓ}w +g_p%dN#\ۺ]u%AbAlEQ`0Ƿ ""z۷?cƌcԨ0`0 4DUk Di(6p?Fӝ9qdT؀>bc`\3Gq:̿Uվ<4bO16̎q:vG,z-hf~6i Df[Q KlK,VXN㠧/XB}9O̥|tՕN6klSdonIoVm>#Z}>؛caAuiJ`#Vռq2hG^dUiי&4yv9Oe`O!MSq80ϒҟ>tYNe?OUF5 F曥;9@HX,J`rQBޟrqYD+TX5= կG*6 !l]'W-ce jXɎD}_Ppmӏ.UpIH4~H#:g-Y6[YGفN5Kzsz8G)84*l9:7gꚘv"t k-]{I nPlf&y 3u,^u==h--@p'Ps YtKh^UM5S5MLݤ%%X 4oQ %z.6 h4KDWtLu*.yOZ-Eȧ]3}I̚ARF@HR NadvrD P.wki1Sj 99Lx8֧Chsc_{Z׷%><Lzj6vj|J9ӒFjfiV^nlg {05# ygu6K}o0~>be8hteۛ+co"Y-XEu\ѶoE[T'&Rܿ3^ =NA9s‚9O6Nzbήٛǃ'2{YĺѬc}lY 0{}:OVf_x>ZSӶ f: 78|e|IjBf=?cn85nG@-o[~o״t;! 5e>ʺ ߀ƮVRl`TG*W wnQ]vDiܣ+,zb6B4aϫaJ`|Tkci| F6gڏKh$moŦeHz^*9=Xyg߇$ZzJXVzy_nO& Ћ~S5-Zi;#眡>͜Q"bBbgOo,EuC&0hI퇈|iڥ ʾWݮVc⦞+Wq3 V+Vl7?t.z38Ca4mݥ+WS1YqKPm;9cp GugpbNP5=]}lB)[\K1U֔iCA(v|gW xQhT[}вS(Xߪ dH< ҭ6'~Bv0;3KϤVmK@%V= t8<7 B|ΐuj!l` mH^p:M.yhŸ<\vG#'kuñ#409hŻI7Z~]ùf;:(h[N\dGuq/J#5Wb&!#bt (^~l߶::ɩJ{׃>_S3g<ʣ,ԃ`1~ Lz&}R^ Q\ͅܭؿd6 n\y]J]rLVP7tr*-hkO'77yVtl>:~ Pt/'=G+ݒ.|>$4.xyN.i߱ GXdƾ\J7oGI|WǑ_?G 7jr?wGT$V|cTYuk:(9VG\+6槧_ƠͰ\Mg+p!ߓຎ[Kzޚȓl"\㔰5W$_;NsSr޴=&>5ю475݋yloӶ@!::'ֳ:s# yb,>SÎaxd+=uǿȂ=ix`@;/6|͓xo1ylhCү))749kydؤ 7x)˨?ԃ?.<l_Y6xq& ;v-K$i,0_e js`$rO2[%dqdH!tx&Kpa~[rm87ÏGyxC߭>᧝$\XhiU:3|#SR~| 3%_QPLnX`:ɭэe?oirٙ@Q;%q[X={1<6Iv؞J.~;K@0q8ΧYՃz:VV>caatKe/(,پj?YTly?F/+ =z jMrǂN桥,ޙo ]3N _ȲL L|bײ!\[,fɁ7̥+[!}M*^Ē7o_v-y (Baa!jCqq1N1ѯ_L\ Q$s\V\\7felj]ױuƅB!csh)N0`0Sp7.Q ^|˹gG\{$ٱ(bq$Hrc]Do !bZ]$ %H"=(9Mxt]'iaY2@-JQP,B!B!l2?ܙI |ˉX/E-YO^D-Y6jekB!B!m%w4 jEuTU`0:2ɦRDQX, h0V!B!_3v5pwvBQnnnFrssK''gf͚[8xp?呟ijhwww EcT:kpQ[!B!Bf(@vv6..mP )..fѢ8>f3666xzzѠA#uɔ)Og">>,f3FW6lDvv6Vņ;B!B!{~y~YX ϧ[[rSj4͸Kݺ];OOOlll4 999DG_铤$ccbNrJ &SޝM!B!u%PH7[;tieqd9`Bbb<11lڴ]r9%*a脭Vņ !B!w TɔGaa!nnn8a5\ ]eiFDvv2$qB!B!(Fzzw*B!B! dy`!B!BR(B!B!(%!B!BR(B!B!(%!B!BR(B!B!(%!B!BR[QH!B!B@-)J>p+B!B!)oI92F!B!JB!B!JID!B!JB!B!JID!B!JB!B!JID!B!JB!B!JID!B!JB!B!JID!B!JB!B!JID!B! 8#q' C [RZPJiuԡ--8% qww;!O<| 92dٳG!$Q"B!Ba&!B!B3I!B!BID!B!Lw,Z`%Z'k-T SJ(M(4pB!B!v[%JttDzJ%-Stעׂ%=˓'%Ð\zcB!B!-Hhtp׶V+:ώ ec̖%&B!B!?MOXwnK+Hj˶oϤt^*B!BAoj?1u$9Oс9׮ L .1lz@\B4kZա bK,>>58[8z.#3H:_'ʼn}J=5ZTЎJY_VSC4Ը/%5!BkPuXtalzC6-mg:a2Qli;nfΚ#`]U\VoB!0gnH]V~v%&vfU !>.~= [8=PvS~r2T 1[]]|1m֣Że3t cn[ ՟]!B!nW nEugz_IrU=l_L @( fDL>}iD?cݡ`BCN@)vCy,[LZڋY_&A6{U{ɵƱ;s>]03b.M35 %D̦:OMX0фeذ&2rqoG>MGu#[M.)No7TX''}vU U_vBǤ}%e9ADD0G'FܪmvWjǯμ/~0_X?*z2_e|~F?]F͓'y:߇w7> $6!?U>kt~/=&~vTŎܮr-'a:̡gsU]_έ?(BӠVht؍p)uۍp4߆̅,n_(9e s˖ * 8{7: H'\D_.N<;tc]2O~m0 KS]{P?0Mދvfbn8M;G/)CKGgq3oxv˓xP?/C -=,'`wPw+_xvS%ejNƤ:}dA9?!jGdgx?}K`qeuTM>~<=-iA&n}ªĿ%[wѪ`:h0e~"ZsSegA'^Ӛ~vBہ.- Ni gٻ/17]# j1\m3j @ 4Ȱfఞ<3 WunU}}s}z]B!iP_(p[Kѕ_4(c]2R4?إo,˽Pɬ{j ||8a~0X\敊G<~> _$Ӥw[J9|b\>fz0DlpztH% WEѷdX+rZܝY`&MNb 1-:cu/37{%Šfs]^fm+4f;dLG\Pxn &W <,hpoSʈq"ҍe 30,fj#R (?b<3?&L'S2btũ3]|=ǯkKtе#z Py|ev8E^˚'ӱek*x텺uz]B!i0+JtX|m)ckg݌IU}IU/c%@ +_[@>y&sҬZ}q ꉫv^6RƯ@N%%zD#Nv{{7v{]]`$a^Bk zvm-bp\4`8+9 ~9n&/*v=׾ N-ߐ E!B(Z=BMW{r7gSFc ͭT_64Mx4cظ%QM >sw],IЧvwQUWu3&UWq9p IDATe:RA}g@ 깘(*U9Rڹ'=Ș{SvmL ;?vV=hޱJZL9E۵,WۘV-Q}חEX7C ׺ݮGҶAqB!< "QÍyMU,;ءl@JjnT5s+/Ɖ7z#iB~hoӇ.rz?MP)).$Raa{{%pAe Kf^Z1TJb>:1yTtE*%ťT]:/#]8c|`oiʉ#) 60G'2JA-<#Uƪ:M:t{cIvH $ח:>:u|]B!gi67mo+)xJB ov(fZNC%OxcK䲂e׾!߶qwcJ*T!;ϜFsܷ̟!Ο;i&b0/51 0 NuYWcR#1Doߍ޾8i~,L׎<eQUxGU>몧TΫ|9NPl + SLL>{Z{8oVM'0E~$j5: W5U]_lrrB!AljIJ]IƶvKS3:z>;v/ }I*!G_xZMvqUkp&{p Zub3`;@ EUy&Kѕqre0ھKDmND#oϣ_3\Z?qcR%|Vu5&U1eNJTеaoqGƸz1^j g7n&§ 묧dߎT2%fꮡq BNku@བྷ>QqYWW\5@]xֿ%л <̩5OСwWq}1U}cB!mYqmZKLwŇ`2z㩹O|jƤ*_x,m.M][~+K+ݬ}֠}$>!;=džYzd`_tcU70Ds 3MǷ8:;5>ڝWo0S1xkV$_N{UUk$xB!Bqkhv(/` ?`}4_qD!B!(Qk1]jA:'Ř+b3 =55tw#B!BA$JLEɄ9LgSah nُ/{!I܎B!B!(1fl Ǿ%[דٵbdzvCʾݩ.ҝ{_F򷟰-Ɇs^crbMcHK[LDXzܺO`?8t| g+k _nMte+gtv4u()s Ψ㊍RBvY֯hb bWxqe<zz[Sǹ l9L1z\F1fP'yCN&4<`P49Wa#Ŷod%ĎwF]4a/=̪E/iI}pT' h? h)t6QPi?w:~ w:!^D׷0 ?y<{W_\Pzpgg_m1NlLrYRB▏xs>MzlGmW,e+q.u07?1AҾxzX]<bLUv0eF7 [hs?$&]Q1n ,Wd(G7Yu[tzS=V4*akIT V)9v íQ#\BL.FraF낻Ɯ(#) 9Yi0&cuW4P9wUߦCpN{Ӷ5ݛlQTUr1h'\LLδՆ!mB!Bԥ(nLX.6]`W&J)M.f{|ZcHN$ӐNb-P;iC3Q2ԴRx%OXsFЬZ8Jbg IKɯjN"Ʌ__Ņ3ԮҒȰhNVlܭxҹws2vkqY" QWVwۜy6RBZJ6>_8@TR*ɶ]:)-t &V:CF:-z=?Op.*M52%EZҶpS 9FI['B!n%WR PZHIhŬ&Oe;CA6%P9--pèt S_ʗpÌ25^0Yߖ$+aJs4)9gZD; \{LK20RhC$Ɨؼ'GF+JRQhg:2r ր[籌iDZC(G)35 LEi2 #2JS`V s4E[NiՂp$#:)wy(ٖ2yN疐lZg!G33l8 7 UӘcᙲu.cG虌1lTB=&0])[b:ΑA> D9a(ZhMT>'|-}>{;t{{Jmѻws2qh7q]QΗ(9c#Abl:KYΌӖcZ/+{Gl-s(y984i~/QN]l2GӦ /vF倍N&9߼,,yS{"nkB!B8e֣/ɷ]B*b]|;5ԈC,u'IF*)C;~u)0m/UP;8zXcg[Z*~F;l8[5䐽q'Fj̪KM@n9v*ɑ?a9qf=Xcِw+*NxL}O,+==w*3?;ŚLOO@;ǖ] is>8BB Md˗j?n-=pX/Te QU̯ ay<㼂V^ھ|WXq#dB X_S9oӈ>?(3""JqY"| ]3[x2t]eZRZZ3RRG d:ű/LʒV !B!TWjF̈́ͱcѕ} ==* ]Lc4\[:r(:[QO{ۀD$4hGӜNB!!Go00:?~OG[A؝PjDXe5 kyz^mAXCVN1r;+ꄮ=S_Mm:ǖ/dN!Bȣ7BQ'4X:6֐EfA^B!BԓOȊ!&JruB!B4pGB!B!$JB!B!$Q"B!Ba&!B!B3I!B!BID!B!L%B!B!f(B!B!0DB!B!$JB!B!$Q"B!Ba&!B!B3I!B!BID!B!L%B!B!f(B!B!0DB!B!$JB!B!$Q"B!Ba&!B!B3]]ҵG(F!B!VIr$Qr.8.B!B!yF!B!L%B!B!f(B!B!0DB!B!$JB!B!$Q"B!Ba&!B!B3I!B!BID!B!L%B!B!f(B!B!0DB!B!$JB!B!$Q"B!Ba&!B!B3I!B!BID!B!Lwec+9ac S[Hqr1!d2쐄B!A2<N),+"ǐTw+IDAT1xw;WRovפQ4=t85qƮ[)I.a !B!-{y`#8UCaiF$I)jPJNq.F*n3`͎D!B!1n;z~>E;t^_>9@˞ǔ4UnvBh;ܦ=5@#i4X\J)ciܽxMGAS:gi85c?nwB![p]EQ{N1pךU$GTMbNӿx;pSü ZD][HтɈEZ[L?ln[D vzeJ"ggh2븟#*Vx>KPԪ>iyo2LNOI)K:B!m6N8f41JVɋ]G0_PcAv0zړ~'co>x%Ҟ^O3lq5}BUvcyo+0:A&ִ/D'g(xwgdxrس ]Q${|O]qCq̳g07.Rӎj|n 5Wx~;㋨֋`~7ך 子<3n77U^/%_֭Ęh2'aJfؖ%q&>''TqS| <=W%j4^ 73g3)ؑe_?*qyqd9b cż0)rTO,,tUj&'7ߐջV@Ժ` (j5J&Ak+'YBɐ.WۡU& m)jm1+k 1k(q!GB!}%XN%Pg,ۖEgr"|%EY+v?L#=ݟ'ǼD3m+]+}|Eknu}gRQ%X<ηs Lk / ywrf2D931E{Ļo|*,/0,W>X{xՍgeLr':eo~#F Yc7ĆC?勞8%Ǘl5j]`\{+c77/N$1]=<;Edz!(#xw֛}AUg?Z1_5}y+2tncǾLLÉI~c.hҾQ⥕, ;,5H|,w&N),Y1#Ȓ7'ڸ{cKVq2`2.3or6GgÁW9vַ. .f O.D|(FN˘'im=8wg0Ic&6%tcFsV(nDYCT1y޽o#|b&wݧ=ۧ)Z ]t}i=W,=дm{8,#f?a7t&\;"#"Oh{`-VmSe"g>Ejh{ 94SoąsBd$0"itRzP<Ŵ)p߄}7`uŞ8BޚќY8.x GGy>G`8o}( _ٸ8>qWwW(Jc\F}B"ʕ?xQg&1yM;!>u,"u8BX8ff ~Eӈ>whdSXof~c3`!䒾n{x8N5nUGA!B4 qLfL-{~βj@l.Q#\'R8ub ;s6d!RۖήU|nU YIԱ(?M$r䗷d[&o]>F:0+c(6}P\x¿S E^7:% J#-*JR v$`wYFly#ENgAڻ+$D\c& aGе}r8/H<]ǡͧ1l q)ȍBh%1FӅ䜚SJ3( ;BYn$}QE܉3`*NPj!1KH PMQv4.h:;L"+$'S[1U): I阊>w3:E4t!x҂$ #9 U'dxH~n>dGq4O0 ~!$DTXwW xHeئ-!QJ R( -)V?|. !kXǩN"B!ћKEs(8C+HmǧY8^p_xtkZwGx}$7(/d.=/#ܔS=?w?)sdvSjE5(/@;+фd^4JXbfZpTs(ի&Uê&Cś*Nhqj;^KV[CaŽeG\!01R),̢Pu-o3.KzY1WG孝\w1*Ow7'I(Zt:j6194rwCC e$'Uȿ"rq9'Mf5^MghzӫY-؋vӡg)ľbTJ/U5X'cKhϢ}/W)[Ej2 +*'Ҽʯ{h;cʊpbIa!IJ иɠ4Kc)ɷ-B!m%Zl$;.R =5?uÿZPVH!ָZPvF\c킳`guq >4 ɷK!Eeȋw<Oç?ʶZ &!V;AEֿ37(TV<4^LSI.yJ[l4\Tv.75T)(3}a<{M.ߨi_ 6($_#矨Qˊ(RsY?/|[€@Q@Uo^@#= fMГ@ HSofgT2lfc<Ǝ븦]+>fg]|Ec,/=hҒh#F^bȬB~ -2 G|yq.Lh`j.(Go,(V蝚Ǩ:wQw?\I  "r(rֲhtk"B/nkUdkUh@apK $d;d #_%g|g93:MWFO*}Fɣ> *PS.[r˞ Ի6E{?."k]x_YbNbug5n+xP{oE{q+Ҭ0+ஐK6)<㭅}ߨrE\i/4V ]粁unC}BoS5⺨GKNWUoO[tOm2;]gNCCfgi鮳KE]Ų[K6nI$jfX?]-RdS{Pw.mekA7JXIj~n bu$e(:NhGvy`(x\YtJKHrۚ2:m=2ΞWl}g;^jv@CIi5[M:,BG+7N$Q'_>'{mkPzYOZ%!V=4镧Կ}K%vL[CRp.~@4X'i6_;Y*6x✉䌕V#GI%׽يocնoܻ>f~52dʔE=Uz>V.,TOk?QU3UqwMWZSRVy3v Yb/s@]br#KB? xX1$ݻLiߓW/ZY-Y}gf\ڡ=ej> OIiesvQ!SU_eŢ#X]^kﶝQbz荵[hѹDV'XgG =J7M76ؑ58뀔2BSwPHg֠`Y{W^*W='k0e[RcXSpD}@EIYJojeLҿUZXt\}>Tsdvv!=yP^46ԯviҽVɩr>~kUZoh_Z\Qz1эtC<6n^m]'kھYGzd -R({n Gׯ{ڞcJh=. j*ԟ6Ө/-*<$O8J#mu0U0y̝UnGS5_PWRHX;^kᏵsiS|!WT[Z;MR I_k֫ںi x&tt'6X?(c3חeRͶ:d~cn)נcvj6MUɎ㺙oo8k\PjvUJJ+#sej=[;,JX*̕+MuPUҒF ЩOQWԩ_ SȺ|2=QzpMӮUP*KIdVʽ~mZKE*ZLNCdVmQ3u,(v}XwǜӕOukeZ?Tbc○ZtDbU4=mUFKm^s"RLu}:"c5p(Q7GSrڣUR TCԽ]ehvutʗOeԸs5CG_ZUn=3cԱ[^o;:~b|1O;27kO;mKR:u_RZ_0_s֯ӱ~iLڙ6u1Ƅ~=jV:E6JMWU8(9Ǫ8LOY~X.s#Ģ{iY-ysV*WCP'RAmۣ VOGi\d9,Jis]ݷ0$n%-ұ٪7IHE[fhƨ4nԖ)_UZ1pJ."1U1j[%2,\]M]AѵKM@PrY&!I42}#./%a%a%a%7Ű( 6uբ*( ZM]p[[mz jQU-nKC.ZT%U*ocV aqv'ͯnR EUP-r}b%@*_qZPfk.TLto| h@ \aj0ԊRyOWuAi*j JB 9L|õv&7u W)rojI(joG'KJ U=JA @A @A @A @A @A @A @A @A @A @Xヒ)4#P 3MS E&htP ȴ"Q u3!AG,[$jn,|=AI}[$*dLrpB HT};"5:( nk['d (~xV+p1#̵~k|Ej>:YB ^@ę%(CG'WT5kj$$F-![]qݝtȚh,FD$L0$B!ɠkKon%a%a%a%a%a%a%a%HIENDB`ROCm-rocm-docs-core-6244b47/docs/demo/000077500000000000000000000000001511656052100172605ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/docs/demo/doxygen/000077500000000000000000000000001511656052100207355ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/docs/demo/doxygen/.gitignore000066400000000000000000000000131511656052100227170ustar00rootroot00000000000000/html /xml ROCm-rocm-docs-core-6244b47/docs/demo/doxygen/Doxyfile000066400000000000000000003316671511656052100224630ustar00rootroot00000000000000# Doxyfile 1.9.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). # # Note: # # Use doxygen to compare the used configuration file with the template # configuration file: # doxygen -x [configFile] # Use doxygen to compare the used configuration file with the template # configuration file without replacing the environment variables or CMake type # replacement variables: # doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the configuration # file that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = "ROCm Docs Core Demo Doxygen Docs" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = . # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 # sub-directories (in 2 levels) under the output directory of each output format # and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to # control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, # Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English # (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, # Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with # English messages), Korean, Korean-en (Korean with English messages), Latvian, # Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, # Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, # Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = NO # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = NO # If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be # interpreted by doxygen. # The default value is: NO. JAVADOC_BANNER = NO # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". Note that you cannot put \n's in the value part of an alias # to insert newlines (in the resulting output). You can put ^^ in the value part # of an alias to insert a newline as if a physical newline was in the original # file. When you need a literal { or } or , in the value part of an alias you # have to escape them by means of a backslash (\), this can lead to conflicts # with the commands \{ and \} for these it is advised to use the version @{ and # @} or use a double escape (\\{ and \\}) ALIASES = "rst=\verbatim embed:rst:leading-asterisk" \ "endrst=\endverbatim" # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice # sources only. Doxygen will then generate output that is more tailored for that # language. For instance, namespaces will be presented as modules, types will be # separated into more groups, etc. # The default value is: NO. OPTIMIZE_OUTPUT_SLICE = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, # Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, # VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. When specifying no_extension you should add # * to the FILE_PATTERNS. # # Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. # Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 5 # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO # If one adds a struct or class to a group and this option is enabled, then also # any nested class or struct is added to the same group. By default this option # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO # If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual # methods of a class will be included in the documentation. # The default value is: NO. EXTRACT_PRIV_VIRTUAL = NO # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined # locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option # will also hide undocumented C++ concepts if enabled. This option has no effect # if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # With the correct setting of option CASE_SENSE_NAMES doxygen will better be # able to match the capabilities of the underlying filesystem. In case the # filesystem is case sensitive (i.e. it supports files in the same directory # whose names only differ in casing), the option must be set to YES to properly # deal with such files in case they appear in the input. For filesystems that # are not case sensitive the option should be set to NO to properly deal with # output files written for symbols that only differ in casing, such as for two # classes, one named CLASS and the other named Class, and to also support # references to files without having to specify the exact matching casing. On # Windows (including Cygwin) and MacOS, users should typically set this option # to NO, whereas on Linux or other Unix flavors it should typically be set to # YES. # Possible values are: SYSTEM, NO and YES. # The default value is: SYSTEM. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = YES # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES, the # list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. See also section "Changing the # layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as documenting some parameters in # a documented function twice, or documenting parameters that don't exist or # using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong parameter # documentation, but not about the absence of documentation. If EXTRACT_ALL is # set to YES then this flag will automatically be disabled. See also # WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS # then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but # at the end of the doxygen process doxygen will return with a non-zero status. # Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. WARN_AS_ERROR = NO # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). In case the file specified cannot be opened for writing the # warning and error messages are written to standard error. When as file - is # specified the warning and error messages are written to standard output # (stdout). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. INPUT = ../sources # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: # https://www.gnu.org/software/libiconv/) for the list of possible encodings. # See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # # Note the list of default checked file patterns might differ from the list of # default file extension mappings. # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, # *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C # comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, # *.vhdl, *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.java \ *.ii \ *.ixx \ *.ipp \ *.i++ \ *.inl \ *.idl \ *.ddl \ *.odl \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.l \ *.cs \ *.d \ *.php \ *.php4 \ *.php5 \ *.phtml \ *.inc \ *.m \ *.markdown \ *.md \ *.mm \ *.dox \ *.py \ *.pyw \ *.f90 \ *.f95 \ *.f03 \ *.f08 \ *.f18 \ *.f \ *.for \ *.vhd \ *.vhdl \ *.ucf \ *.qsf \ *.ice # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # ANamespace::AClass, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # # Note that doxygen will use the data processed and written to standard output # for further processing, therefore nothing else, like debug statements or used # commands (so in case of a Windows batch file always use @echo OFF), should be # written to standard output. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = YES # The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) # that should be ignored while generating the index headers. The IGNORE_PREFIX # tag works for classes, function and member names. The entity will be placed in # the alphabetical list under the first letter of the entity name that remains # after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = ../../_doxygen/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = ../../_doxygen/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = ../../_doxygen/stylesheet.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the # list). # Note: Since the styling of scrollbars can currently not be overruled in # Webkit/Chromium, the styling will be left out of the default doxygen.css if # one or more extra stylesheets have been specified. So if scrollbar # customization is desired it has to be added explicitly. For an example see the # documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = ../../_doxygen/extra_stylesheet.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this # to YES can help to show when doxygen was last run and thus if the # documentation is up to date. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will # consists of multiple levels of tabs that are statically embedded in every HTML # page. Disable this option to support browsers that do not have JavaScript, # like the Qt help browser. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To # create a documentation set, doxygen will generate a Makefile in the HTML # output directory. Running make will produce the docset in that directory and # running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # on Windows. In the beginning of 2021 Microsoft took the original page, with # a.o. the download links, offline the HTML help workshop was already many years # in maintenance mode). You can download the HTML help workshop from the web # archives at Installation executable (see: # http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo # ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location (absolute path # including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to # run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can # further fine tune the look of the index (see "Fine-tuning the output"). As an # example, the default style sheet generated by doxygen has an example that # shows how to put an image at the root of the tree instead of the PROJECT_NAME. # Since the tree basically has the same information as the tab index, you could # consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. For more details about the output format see MathJax # version 2 (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 # (see: # http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best # compatibility. This is the name for Mathjax version 2, for MathJax version 3 # this will be translated into chtml), NativeMML (i.e. MathML. Only supported # for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This # is the name for Mathjax version 3, for MathJax version 2 this will be # translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from https://www.mathjax.org before deployment. The default value is: # - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 # - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # for MathJax version 2 (see https://docs.mathjax.org/en/v2.7-latest/tex.html # #tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # For example for MathJax version 3 (see # http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): # MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /Disclaimer and' " Licensing Info" ) # pylint: disable=redefined-builtin copyright = _ConfigDefault("2022-2023, Advanced Micro Devices Ltd") # pylint: enable=redefined-builtin myst_enable_extensions = _ConfigUnion( { "colon_fence", "dollarmath", "fieldlist", "html_image", "replacements", "substitution", } ) myst_heading_anchors = _ConfigDefault(3) external_toc_exclude_missing = _ConfigDefault(False) epub_show_urls = _ConfigDefault("footnote") exclude_patterns = _ConfigExtend(["_build", "Thumbs.db", ".DS_Store"]) numfig = _ConfigDefault(True) linkcheck_timeout = _ConfigDefault(10) linkcheck_request_headers = _ConfigMerge( { r"https://docs.github.com/": { "User-Agent": ( "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:112.0) " " Gecko/20100101 Firefox/112.0" ) } } ) @classmethod def update_config(cls, app: Sphinx, _: Config) -> None: """Update the Sphinx configuration from the default settings.""" for name, attr in inspect.getmembers(cls): if isinstance(attr, _ConfigUpdater): attr(name, app) def _force_notfound_prefix(app: Sphinx, _: Config) -> None: if "READTHEDOCS" not in os.environ: return if config_provided_by_user(app, "notfound_urls_prefix"): return components = urllib.parse.urlparse(os.environ["READTHEDOCS_CANONICAL_URL"]) app.config.notfound_urls_prefix = components.path def setup(app: Sphinx) -> dict[str, Any]: """Set up rocm_docs.core as a Sphinx extension.""" required_extensions = [ "myst_nb", "notfound.extension", "rocm_docs.projects", "sphinx_copybutton", "sphinx_design", "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinx.ext.doctest", "sphinx.ext.duration", ] for ext in required_extensions: app.setup_extension(ext) app.add_config_value( "setting_all_article_info", default=False, rebuild="html", types=str ) app.add_config_value( "all_article_info_os", default=[], rebuild="html", types=str, ) app.add_config_value( "all_article_info_author", default="", rebuild="html", types=str ) app.add_config_value( "all_article_info_date", default="", rebuild="html", types=str ) app.add_config_value( "all_article_info_read_time", default="", rebuild="html", types=str ) app.add_config_value( "article_pages", default=[], rebuild="html", types=list ) # Run before notfound.extension sees the config (default priority(=500)) app.connect("config-inited", _force_notfound_prefix, priority=400) app.connect("config-inited", _DefaultSettings.update_config) app.connect("build-finished", article_info.set_article_info, priority=1000) return {"parallel_read_safe": True, "parallel_write_safe": True} ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/000077500000000000000000000000001511656052100210545ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/_doxygen/000077500000000000000000000000001511656052100226705ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/_doxygen/extra_stylesheet.css000066400000000000000000002154341511656052100270070ustar00rootroot00000000000000/** Doxygen Awesome https://github.com/jothepro/doxygen-awesome-css MIT License Copyright (c) 2021 - 2023 jothepro Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 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. Modified to work with doxysphinx and the PyData Sphinx theme Modifications Copyright (c) 2019, Advanced Micro Devices, Inc. All rights reserved. */ html { /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */ --primary-color: #1779c4; --primary-dark-color: #335c80; --primary-light-color: #70b1e9; /* page base colors */ --page-background-color: transparent; --page-foreground-color: #2f4153; --page-secondary-foreground-color: #6f7e8e; /* color for all separators on the website: hr, borders, ... */ --separator-color: #dedede; /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */ --border-radius-large: 8px; --border-radius-small: 4px; --border-radius-medium: 6px; /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */ --spacing-small: 5px; --spacing-medium: 10px; --spacing-large: 16px; /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */ --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075); --odd-color: rgba(0,0,0,.028); /* font-families. will affect all text on the website * font-family: the normal font for text, headlines, menus * font-family-monospace: used for preformatted text in memtitle, code, fragments */ --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif; --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; /* font sizes */ --page-font-size: 15.6px; --navigation-font-size: 14.4px; --toc-font-size: 13.4px; --code-font-size: 14px; /* affects code, fragment */ --title-font-size: 22px; /* content text properties. These only affect the page content, not the navigation or any other ui elements */ --content-line-height: 27px; /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/ --content-maxwidth: auto; --table-line-height: 24px; --toc-sticky-top: var(--spacing-medium); --toc-width: 200px; --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px); /* colors for various content boxes: @warning, @note, @deprecated @bug */ --warning-color: #f8d1cc; --warning-color-dark: #b61825; --warning-color-darker: #75070f; --note-color: #faf3d8; --note-color-dark: #f3a600; --note-color-darker: #5f4204; --todo-color: #e4f3ff; --todo-color-dark: #1879C4; --todo-color-darker: #274a5c; --deprecated-color: #ecf0f3; --deprecated-color-dark: #5b6269; --deprecated-color-darker: #43454a; --bug-color: #e4dafd; --bug-color-dark: #5b2bdd; --bug-color-darker: #2a0d72; --invariant-color: #d8f1e3; --invariant-color-dark: #44b86f; --invariant-color-darker: #265532; /* blockquote colors */ --blockquote-background: #f8f9fa; --blockquote-foreground: #636568; /* table colors */ --tablehead-background: #f1f1f1; --tablehead-foreground: var(--page-foreground-color); /* menu-display: block | none * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible. * `GENERATE_TREEVIEW` MUST be enabled! */ --menu-display: block; --menu-focus-foreground: var(--page-background-color); --menu-focus-background: var(--primary-color); --menu-selected-background: rgba(0,0,0,.05); --header-background: var(--page-background-color); --header-foreground: var(--page-foreground-color); /* searchbar colors */ --searchbar-background: var(--side-nav-background); --searchbar-foreground: var(--page-foreground-color); /* searchbar size * (`searchbar-width` is only applied on screens >= 768px. * on smaller screens the searchbar will always fill the entire screen width) */ --searchbar-height: 33px; --searchbar-width: 210px; --searchbar-border-radius: var(--searchbar-height); /* code block colors */ --code-background: #f5f5f5; --code-foreground: var(--page-foreground-color); /* fragment colors */ --fragment-background: #F8F9FA; --fragment-foreground: #37474F; --fragment-keyword: #bb6bb2; --fragment-keywordtype: #8258b3; --fragment-keywordflow: #d67c3b; --fragment-token: #438a59; --fragment-comment: #969696; --fragment-link: #5383d6; --fragment-preprocessor: #46aaa5; --fragment-linenumber-color: #797979; --fragment-linenumber-background: #f4f4f5; --fragment-linenumber-border: #e3e5e7; --fragment-lineheight: 20px; /* sidebar navigation (treeview) colors */ --side-nav-background: #fbfbfb; --side-nav-foreground: var(--page-foreground-color); --side-nav-arrow-opacity: 0; --side-nav-arrow-hover-opacity: 0.9; --toc-background: var(--side-nav-background); --toc-foreground: var(--side-nav-foreground); /* height of an item in any tree / collapsible table */ --tree-item-height: 30px; --memname-font-size: var(--code-font-size); --memtitle-font-size: 18px; --webkit-scrollbar-size: 7px; --webkit-scrollbar-padding: 4px; --webkit-scrollbar-color: var(--separator-color); } @media screen and (max-width: 767px) { html { --page-font-size: 16px; --navigation-font-size: 16px; --toc-font-size: 15px; --code-font-size: 15px; /* affects code, fragment */ --title-font-size: 22px; } } @media (prefers-color-scheme: dark) { html:not([data-theme=light]) { color-scheme: dark; --primary-color: #1982d2; --primary-dark-color: #86a9c4; --primary-light-color: #4779ac; --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35); --odd-color: rgba(100,100,100,.06); --menu-selected-background: rgba(0,0,0,.4); --page-background-color: transparent; --page-foreground-color: #d2dbde; --page-secondary-foreground-color: #859399; --separator-color: #38393b; --side-nav-background: #252628; --code-background: #2a2c2f; --tablehead-background: #2a2c2f; --blockquote-background: #222325; --blockquote-foreground: #7e8c92; --warning-color: #2e1917; --warning-color-dark: #ad2617; --warning-color-darker: #f5b1aa; --note-color: #3b2e04; --note-color-dark: #f1b602; --note-color-darker: #ceb670; --todo-color: #163750; --todo-color-dark: #1982D2; --todo-color-darker: #dcf0fa; --deprecated-color: #2e323b; --deprecated-color-dark: #738396; --deprecated-color-darker: #abb0bd; --bug-color: #2a2536; --bug-color-dark: #7661b3; --bug-color-darker: #ae9ed6; --invariant-color: #303a35; --invariant-color-dark: #76ce96; --invariant-color-darker: #cceed5; --fragment-background: #282c34; --fragment-foreground: #dbe4eb; --fragment-keyword: #cc99cd; --fragment-keywordtype: #ab99cd; --fragment-keywordflow: #e08000; --fragment-token: #7ec699; --fragment-comment: #999999; --fragment-link: #98c0e3; --fragment-preprocessor: #65cabe; --fragment-linenumber-color: #cccccc; --fragment-linenumber-background: #35393c; --fragment-linenumber-border: #1f1f1f; } } /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */ html[data-theme=dark] { color-scheme: dark; --primary-color: #1982d2; --primary-dark-color: #86a9c4; --primary-light-color: #4779ac; --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30); --odd-color: rgba(100,100,100,.12); --menu-selected-background: rgba(0,0,0,.4); --page-background-color: transparent; --page-foreground-color: #d2dbde; --page-secondary-foreground-color: #859399; --separator-color: #38393b; --side-nav-background: #252628; --code-background: #2a2c2f; --tablehead-background: #2a2c2f; --blockquote-background: #222325; --blockquote-foreground: #7e8c92; --warning-color: #2e1917; --warning-color-dark: #ad2617; --warning-color-darker: #f5b1aa; --note-color: #3b2e04; --note-color-dark: #f1b602; --note-color-darker: #ceb670; --todo-color: #163750; --todo-color-dark: #1982D2; --todo-color-darker: #dcf0fa; --deprecated-color: #2e323b; --deprecated-color-dark: #738396; --deprecated-color-darker: #abb0bd; --bug-color: #2a2536; --bug-color-dark: #7661b3; --bug-color-darker: #ae9ed6; --invariant-color: #303a35; --invariant-color-dark: #76ce96; --invariant-color-darker: #cceed5; --fragment-background: #282c34; --fragment-foreground: #dbe4eb; --fragment-keyword: #cc99cd; --fragment-keywordtype: #ab99cd; --fragment-keywordflow: #e08000; --fragment-token: #7ec699; --fragment-comment: #999999; --fragment-link: #98c0e3; --fragment-preprocessor: #65cabe; --fragment-linenumber-color: #cccccc; --fragment-linenumber-background: #35393c; --fragment-linenumber-border: #1f1f1f; } .doxygen-content { color: var(--page-foreground-color); background-color: var(--page-background-color); font-size: var(--page-font-size); } .doxygen-content, .doxygen-content table, .doxygen-content div, .doxygen-content p, .doxygen-content dl, .doxygen-content #nav-tree .label, .doxygen-content .title, .doxygen-content .sm-dox a, .doxygen-content .sm-dox a:hover, .doxygen-content .sm-dox a:focus, .doxygen-content #projectname, .doxygen-content .SelectItem, .doxygen-content #MSearchField, .doxygen-content .navpath li.navelem a, .doxygen-content .navpath li.navelem a:hover, .doxygen-content p.reference, .doxygen-content p.definition { font-family: var(--font-family); } .doxygen-content h1, .doxygen-content h2, .doxygen-content h3, .doxygen-content h4, .doxygen-content h5 { margin-top: .9em; font-weight: 600; line-height: initial; } .doxygen-content p, .doxygen-content div, .doxygen-content table, .doxygen-content dl, .doxygen-content p.reference, .doxygen-content p.definition { font-size: var(--page-font-size); } .doxygen-content p.reference, .doxygen-content p.definition { color: var(--page-secondary-foreground-color); } .doxygen-content a:link, .doxygen-content a:visited, .doxygen-content a:hover, .doxygen-content a:focus, .doxygen-content a:active { color: var(--primary-color) !important; font-weight: 500; } .doxygen-content a.anchor { scroll-margin-top: var(--spacing-large); display: block; } /* Title and top navigation */ .doxygen-content #top { background: var(--header-background); border-bottom: 1px solid var(--separator-color); } @media screen and (min-width: 768px) { .doxygen-content #top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; } } .doxygen-content #main-nav { flex-grow: 5; padding: var(--spacing-small) var(--spacing-medium); } .doxygen-content #titlearea { width: auto; padding: var(--spacing-medium) var(--spacing-large); background: none; color: var(--header-foreground); border-bottom: none; } @media screen and (max-width: 767px) { .doxygen-content #titlearea { padding-bottom: var(--spacing-small); } } .doxygen-content #titlearea table tbody tr { height: auto !important; } .doxygen-content #projectname { font-size: var(--title-font-size); font-weight: 600; } .doxygen-content #projectnumber { font-family: inherit; font-size: 60%; } .doxygen-content #projectbrief { font-family: inherit; font-size: 80%; } .doxygen-content #projectlogo { vertical-align: middle; } .doxygen-content #projectlogo img { max-height: calc(var(--title-font-size) * 2); margin-right: var(--spacing-small); } .doxygen-content .sm-dox, .doxygen-content .tabs, .doxygen-content .tabs2, .doxygen-content .tabs3 { background: none; padding: 0; } .doxygen-content .tabs, .doxygen-content .tabs2, .doxygen-content .tabs3 { border-bottom: 1px solid var(--separator-color); margin-bottom: -1px; } .doxygen-content .main-menu-btn-icon, .doxygen-content .main-menu-btn-icon:before, .doxygen-content .main-menu-btn-icon:after { background: var(--page-secondary-foreground-color); } @media screen and (max-width: 767px) { .doxygen-content .sm-dox a span.sub-arrow { background: var(--code-background); } .doxygen-content #main-menu a.has-submenu span.sub-arrow { color: var(--page-secondary-foreground-color); border-radius: var(--border-radius-medium); } .doxygen-content #main-menu a.has-submenu:hover span.sub-arrow { color: var(--page-foreground-color); } } @media screen and (min-width: 768px) { .doxygen-content .sm-dox li, .doxygen-content .tablist li { display: var(--menu-display); } .doxygen-content .sm-dox a span.sub-arrow { border-color: var(--header-foreground) transparent transparent transparent; } .doxygen-content .sm-dox a:hover span.sub-arrow { border-color: var(--menu-focus-foreground) transparent transparent transparent; } .doxygen-content .sm-dox ul a span.sub-arrow { border-color: transparent transparent transparent var(--page-foreground-color); } .doxygen-content .sm-dox ul a:hover span.sub-arrow { border-color: transparent transparent transparent var(--menu-focus-foreground); } } .doxygen-content .sm-dox ul { background: var(--page-background-color); box-shadow: var(--box-shadow); border: 1px solid var(--separator-color); border-radius: var(--border-radius-medium) !important; padding: var(--spacing-small); animation: ease-out 150ms slideInMenu; } @keyframes slideInMenu { from { opacity: 0; transform: translate(0px, -2px); } to { opacity: 1; transform: translate(0px, 0px); } } .doxygen-content .sm-dox ul a { color: var(--page-foreground-color) !important; background: var(--page-background-color); font-size: var(--navigation-font-size); } .doxygen-content .sm-dox>li>ul:after { border-bottom-color: var(--page-background-color) !important; } .doxygen-content .sm-dox>li>ul:before { border-bottom-color: var(--separator-color) !important; } .doxygen-content .sm-dox ul a:hover, .doxygen-content .sm-dox ul a:active, .doxygen-content .sm-dox ul a:focus { font-size: var(--navigation-font-size) !important; color: var(--menu-focus-foreground) !important; text-shadow: none; background-color: var(--menu-focus-background); border-radius: var(--border-radius-small) !important; } .doxygen-content .sm-dox a, .doxygen-content .sm-dox a:focus, .doxygen-content .tablist li, .doxygen-content .tablist li a, .doxygen-content .tablist li.current a { text-shadow: none; background: transparent; background-image: none !important; color: var(--header-foreground) !important; font-weight: normal; font-size: var(--navigation-font-size); border-radius: var(--border-radius-small) !important; } .doxygen-content .sm-dox a:focus { outline: auto; } .doxygen-content .sm-dox a:hover, .doxygen-content .sm-dox a:active, .doxygen-content .tablist li a:hover { text-shadow: none; font-weight: normal; background: var(--menu-focus-background); color: var(--menu-focus-foreground) !important; border-radius: var(--border-radius-small) !important; font-size: var(--navigation-font-size); } .doxygen-content .tablist li.current { border-radius: var(--border-radius-small); background: var(--menu-selected-background); } .doxygen-content .tablist li { margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small); } .doxygen-content .tablist a { padding: 0 var(--spacing-large); } /* Search box */ .doxygen-content #MSearchBox { height: var(--searchbar-height); background: var(--searchbar-background); border-radius: var(--searchbar-border-radius); border: 1px solid var(--separator-color); overflow: hidden; width: var(--searchbar-width); position: relative; box-shadow: none; display: block; margin-top: 0; } /* until Doxygen 1.9.4 */ .doxygen-content .left img#MSearchSelect { left: 0; user-select: none; padding-left: 8px; } /* Doxygen 1.9.5 */ .doxygen-content .left span#MSearchSelect { left: 0; user-select: none; margin-left: 8px; padding: 0; } .doxygen-content .left #MSearchSelect[src$=".png"] { padding-left: 0 } .doxygen-content .SelectionMark { user-select: none; } .doxygen-content .tabs .left #MSearchSelect { padding-left: 0; } .doxygen-content .tabs #MSearchBox { position: absolute; right: var(--spacing-medium); } @media screen and (max-width: 767px) { .doxygen-content .tabs #MSearchBox { position: relative; right: 0; margin-left: var(--spacing-medium); margin-top: 0; } } .doxygen-content #MSearchSelectWindow, .doxygen-content #MSearchResultsWindow { z-index: 1999; } .doxygen-content #MSearchBox.MSearchBoxActive { border-color: var(--primary-color); box-shadow: inset 0 0 0 1px var(--primary-color); } .doxygen-content #main-menu > li:last-child { margin-right: 0; } @media screen and (max-width: 767px) { .doxygen-content #main-menu > li:last-child { height: 50px; } } .doxygen-content #MSearchField { font-size: var(--navigation-font-size); height: calc(var(--searchbar-height) - 2px); background: transparent; width: calc(var(--searchbar-width) - 64px); } .doxygen-content .MSearchBoxActive #MSearchField { color: var(--searchbar-foreground); } .doxygen-content #MSearchSelect { top: calc(calc(var(--searchbar-height) / 2) - 11px); } .doxygen-content #MSearchBox span.left, .doxygen-content #MSearchBox span.right { background: none; background-image: none; } .doxygen-content #MSearchBox span.right { padding-top: calc(calc(var(--searchbar-height) / 2) - 12px); position: absolute; right: var(--spacing-small); } .doxygen-content .tabs #MSearchBox span.right { top: calc(calc(var(--searchbar-height) / 2) - 12px); } @keyframes slideInSearchResults { from { opacity: 0; transform: translate(0, 15px); } to { opacity: 1; transform: translate(0, 20px); } } .doxygen-content #MSearchResultsWindow { left: auto !important; right: var(--spacing-medium); border-radius: var(--border-radius-large); border: 1px solid var(--separator-color); transform: translate(0, 20px); box-shadow: var(--box-shadow); animation: ease-out 280ms slideInSearchResults; background: var(--page-background-color); } .doxygen-content iframe#MSearchResults { margin: 4px; } .doxygen-content iframe { color-scheme: normal; } @media (prefers-color-scheme: dark) { html:not([data-theme=light]) .doxygen-content iframe#MSearchResults { filter: invert() hue-rotate(180deg); } } html[data-theme=dark] .doxygen-content iframe#MSearchResults { filter: invert() hue-rotate(180deg); } .doxygen-content #MSearchResults .SRPage { background-color: transparent; } .doxygen-content #MSearchResults .SRPage .SREntry { font-size: 10pt; padding: var(--spacing-small) var(--spacing-medium); } .doxygen-content #MSearchSelectWindow { border: 1px solid var(--separator-color); border-radius: var(--border-radius-medium); box-shadow: var(--box-shadow); background: var(--page-background-color); padding-top: var(--spacing-small); padding-bottom: var(--spacing-small); } .doxygen-content #MSearchSelectWindow a.SelectItem { font-size: var(--navigation-font-size); line-height: var(--content-line-height); margin: 0 var(--spacing-small); border-radius: var(--border-radius-small); color: var(--page-foreground-color) !important; font-weight: normal; } .doxygen-content #MSearchSelectWindow a.SelectItem:hover { background: var(--menu-focus-background); color: var(--menu-focus-foreground) !important; } @media screen and (max-width: 767px) { .doxygen-content #MSearchBox { margin-top: var(--spacing-medium); margin-bottom: var(--spacing-medium); width: calc(100vw - 30px); } .doxygen-content #main-menu > li:last-child { float: none !important; } .doxygen-content #MSearchField { width: calc(100vw - 110px); } @keyframes slideInSearchResultsMobile { from { opacity: 0; transform: translate(0, 15px); } to { opacity: 1; transform: translate(0, 20px); } } .doxygen-content #MSearchResultsWindow { left: var(--spacing-medium) !important; right: var(--spacing-medium); overflow: auto; transform: translate(0, 20px); animation: ease-out 280ms slideInSearchResultsMobile; width: auto !important; } /* * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2 */ .doxygen-content label.main-menu-btn ~ #searchBoxPos1 { top: 3px !important; right: 6px !important; left: 45px; display: flex; } .doxygen-content label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox { margin-top: 0; margin-bottom: 0; flex-grow: 2; float: left; } } /* Tree view */ .doxygen-content #side-nav { padding: 0 !important; background: var(--side-nav-background); } @media screen and (max-width: 767px) { .doxygen-content #side-nav { display: none; } .doxygen-content #doc-content { margin-left: 0 !important; } } .doxygen-content #nav-tree { background: transparent; margin-right: 1px; } .doxygen-content #nav-tree .label { font-size: var(--navigation-font-size); } .doxygen-content #nav-tree .item { height: var(--tree-item-height); line-height: var(--tree-item-height); } .doxygen-content #nav-sync { bottom: 12px; right: 12px; top: auto !important; user-select: none; } .doxygen-content #nav-tree .selected { text-shadow: none; background-image: none; background-color: transparent; position: relative; } .doxygen-content #nav-tree .selected::after { content: ""; position: absolute; top: 1px; bottom: 1px; left: 0; width: 4px; border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; background: var(--primary-color); } .doxygen-content #nav-tree a { color: var(--side-nav-foreground) !important; font-weight: normal; } .doxygen-content #nav-tree a:focus { outline-style: auto; } .doxygen-content #nav-tree .arrow { opacity: var(--side-nav-arrow-opacity); } .doxygen-content .arrow { color: inherit; cursor: pointer; font-size: 45%; vertical-align: middle; margin-right: 2px; font-family: serif; height: auto; text-align: right; } .doxygen-content #nav-tree div.item:hover .arrow, .doxygen-content #nav-tree a:focus .arrow { opacity: var(--side-nav-arrow-hover-opacity); } .doxygen-content #nav-tree .selected a { color: var(--primary-color) !important; font-weight: bolder; font-weight: 600; } .doxygen-content .ui-resizable-e { background: var(--separator-color); width: 1px; } /* Contents */ .doxygen-content div.header { border-bottom: 1px solid var(--separator-color); background-color: var(--page-background-color); background-image: none; } @media screen and (min-width: 1000px) { .doxygen-content #doc-content > div > div.contents, .doxygen-content .PageDoc > div.contents { display: flex; flex-direction: row-reverse; flex-wrap: nowrap; align-items: flex-start; } .doxygen-content div.contents .textblock { min-width: 200px; flex-grow: 1; } } .doxygen-content div.contents, .doxygen-content div.header .title, .doxygen-content div.header .summary { max-width: var(--content-maxwidth); } .doxygen-content div.contents, .doxygen-content div.header .title { line-height: initial; margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto; } .doxygen-content div.header .summary { margin: var(--spacing-medium) auto 0 auto; } .doxygen-content div.headertitle { padding: 0; } .doxygen-content div.header .title { font-weight: 600; font-size: 225%; padding: var(--spacing-medium) var(--spacing-large); word-break: break-word; } .doxygen-content div.header .summary { width: auto; display: block; float: none; padding: 0 var(--spacing-large); } .doxygen-content td.memSeparator { border-color: var(--separator-color); } .doxygen-content span.mlabel { background: var(--primary-color); border: none; padding: 4px 9px; border-radius: 12px; margin-right: var(--spacing-medium); } .doxygen-content span.mlabel:last-of-type { margin-right: 2px; } .doxygen-content div.contents { padding: 0 var(--spacing-large); } .doxygen-content div.contents p, .doxygen-content div.contents li { line-height: var(--content-line-height); } .doxygen-content div.contents div.dyncontent { margin: var(--spacing-medium) 0; } @media (prefers-color-scheme: dark) { html:not([data-theme=light]) .doxygen-content div.contents div.dyncontent img, html:not([data-theme=light]) .doxygen-content div.contents center img, html:not([data-theme=light]) .doxygen-content div.contents > table img, html:not([data-theme=light]) .doxygen-content div.contents div.dyncontent iframe, html:not([data-theme=light]) .doxygen-content div.contents center iframe, html:not([data-theme=light]) .doxygen-content div.contents table iframe, html:not([data-theme=light]) .doxygen-content div.contents .dotgraph iframe { filter: brightness(89%) hue-rotate(180deg) invert(); } } html[data-theme=dark] .doxygen-content div.contents div.dyncontent img, html[data-theme=dark] .doxygen-content div.contents center img, html[data-theme=dark] .doxygen-content div.contents > table img, html[data-theme=dark] .doxygen-content div.contents div.dyncontent iframe, html[data-theme=dark] .doxygen-content div.contents center iframe, html[data-theme=dark] .doxygen-content div.contents table iframe, html[data-theme=dark] .doxygen-content div.contents .dotgraph iframe { filter: brightness(89%) hue-rotate(180deg) invert(); } .doxygen-content h2.groupheader { border-bottom: 0px; color: var(--page-foreground-color); border-bottom: 1px solid var(--separator-color); } .doxygen-content blockquote { margin: 0 var(--spacing-medium) 0 var(--spacing-medium); padding: var(--spacing-small) var(--spacing-large); background: var(--blockquote-background); color: var(--blockquote-foreground); border-left: 0; overflow: visible; border-radius: var(--border-radius-medium); overflow: visible; position: relative; } .doxygen-content blockquote::before, .doxygen-content blockquote::after { font-weight: bold; font-family: serif; font-size: 360%; opacity: .15; position: absolute; } .doxygen-content blockquote::before { content: "“"; left: -10px; top: 4px; } .doxygen-content blockquote::after { content: "”"; right: -8px; bottom: -25px; } .doxygen-content blockquote p { margin: var(--spacing-small) 0 var(--spacing-medium) 0; } .doxygen-content .paramname { font-weight: 600; color: var(--primary-dark-color); } .doxygen-content .paramname > code { border: 0; } .doxygen-content table.params .paramname { font-weight: 600; font-family: var(--font-family-monospace); font-size: var(--code-font-size); padding-right: var(--spacing-small); line-height: var(--table-line-height); } .doxygen-content h1.glow, .doxygen-content h2.glow, .doxygen-content h3.glow, .doxygen-content h4.glow, .doxygen-content h5.glow, .doxygen-content h6.glow { text-shadow: 0 0 15px var(--primary-light-color); } .doxygen-content .alphachar a { color: var(--page-foreground-color); } .doxygen-content .dotgraph { max-width: 100%; overflow-x: scroll; } .doxygen-content .dotgraph .caption { position: sticky; left: 0; } /* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */ .doxygen-content .interactive_dotgraph .dotgraph iframe { max-width: 100%; } /* Table of Contents */ .doxygen-content div.contents .toc { max-height: var(--toc-max-height); min-width: var(--toc-width); border: 0; border-left: 1px solid var(--separator-color); border-radius: 0; background-color: transparent; box-shadow: none; position: sticky; top: var(--toc-sticky-top); padding: 0 var(--spacing-large); margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large); } .doxygen-content div.toc h3 { color: var(--toc-foreground); font-size: var(--navigation-font-size); margin: var(--spacing-large) 0 var(--spacing-medium) 0; } .doxygen-content div.toc li { padding: 0; background: none; line-height: var(--toc-font-size); margin: var(--toc-font-size) 0 0 0; } .doxygen-content div.toc li::before { display: none; } .doxygen-content div.toc ul { margin-top: 0 } .doxygen-content div.toc li a { font-size: var(--toc-font-size); color: var(--page-foreground-color) !important; text-decoration: none; } .doxygen-content div.toc li a:hover, .doxygen-content div.toc li a.active { color: var(--primary-color) !important; } .doxygen-content div.toc li a.aboveActive { color: var(--page-secondary-foreground-color) !important; } @media screen and (max-width: 999px) { .doxygen-content div.contents .toc { max-height: 45vh; float: none; width: auto; margin: 0 0 var(--spacing-medium) 0; position: relative; top: 0; position: relative; border: 1px solid var(--separator-color); border-radius: var(--border-radius-medium); background-color: var(--toc-background); box-shadow: var(--box-shadow); } .doxygen-content div.contents .toc.interactive { max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large)); overflow: hidden; } .doxygen-content div.contents .toc > h3 { -webkit-tap-highlight-color: transparent; cursor: pointer; position: sticky; top: 0; background-color: var(--toc-background); margin: 0; padding: var(--spacing-large) 0; display: block; } .doxygen-content div.contents .toc.interactive > h3::before { content: ""; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--primary-color); display: inline-block; margin-right: var(--spacing-small); margin-bottom: calc(var(--navigation-font-size) / 4); transform: rotate(-90deg); transition: transform 0.25s ease-out; } .doxygen-content div.contents .toc.interactive.open > h3::before { transform: rotate(0deg); } .doxygen-content div.contents .toc.interactive.open { max-height: 45vh; overflow: auto; transition: max-height 0.2s ease-in-out; } .doxygen-content div.contents .toc a, .doxygen-content div.contents .toc a.active { color: var(--primary-color) !important; } .doxygen-content div.contents .toc a:hover { text-decoration: underline; } } /* Code & Fragments */ .doxygen-content code, .doxygen-content div.fragment, .doxygen-content pre.fragment { border-radius: var(--border-radius-small); border: 1px solid var(--separator-color); overflow: hidden; } .doxygen-content code { display: inline; background: var(--code-background); color: var(--code-foreground); padding: 2px 6px; } .doxygen-content div.fragment, .doxygen-content pre.fragment { margin: var(--spacing-medium) 0; padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large); background: var(--fragment-background); color: var(--fragment-foreground); overflow-x: auto; } @media screen and (max-width: 767px) { .doxygen-content div.fragment, .doxygen-content pre.fragment { border-top-right-radius: 0; border-bottom-right-radius: 0; border-right: 0; } .doxygen-content .contents > div.fragment, .doxygen-content .textblock > div.fragment, .doxygen-content .textblock > pre.fragment, .doxygen-content .contents > .doxygen-awesome-fragment-wrapper > div.fragment, .doxygen-content .textblock > .doxygen-awesome-fragment-wrapper > div.fragment, .doxygen-content .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment { margin: var(--spacing-medium) calc(0px - var(--spacing-large)); border-radius: 0; border-left: 0; } .doxygen-content .textblock li > .fragment, .doxygen-content .textblock li > .doxygen-awesome-fragment-wrapper > .fragment { margin: var(--spacing-medium) calc(0px - var(--spacing-large)); } .doxygen-content .memdoc li > .fragment, .doxygen-content .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment { margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); } .doxygen-content .textblock ul, .doxygen-content .memdoc ul { overflow: initial; } .doxygen-content .memdoc > div.fragment, .doxygen-content .memdoc > pre.fragment, .doxygen-content dl dd > div.fragment, .doxygen-content dl dd pre.fragment, .doxygen-content .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment, .doxygen-content .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment, .doxygen-content dl dd > .doxygen-awesome-fragment-wrapper > div.fragment, .doxygen-content dl dd .doxygen-awesome-fragment-wrapper > pre.fragment { margin: var(--spacing-medium) calc(0px - var(--spacing-medium)); border-radius: 0; border-left: 0; } } .doxygen-content code, .doxygen-content code a, .doxygen-content pre.fragment, .doxygen-content div.fragment, .doxygen-content div.fragment .line, .doxygen-content div.fragment span, .doxygen-content div.fragment .line a, .doxygen-content div.fragment .line span { font-family: var(--font-family-monospace); font-size: var(--code-font-size) !important; } .doxygen-content div.line:after { margin-right: var(--spacing-medium); } .doxygen-content div.fragment .line, .doxygen-content pre.fragment { white-space: pre; word-wrap: initial; line-height: var(--fragment-lineheight); } .doxygen-content div.fragment span.keyword { color: var(--fragment-keyword); } .doxygen-content div.fragment span.keywordtype { color: var(--fragment-keywordtype); } .doxygen-content div.fragment span.keywordflow { color: var(--fragment-keywordflow); } .doxygen-content div.fragment span.stringliteral { color: var(--fragment-token) } .doxygen-content div.fragment span.comment { color: var(--fragment-comment); } .doxygen-content div.fragment a.code { color: var(--fragment-link) !important; } .doxygen-content div.fragment span.preprocessor { color: var(--fragment-preprocessor); } .doxygen-content div.fragment span.lineno { display: inline-block; width: 27px; border-right: none; background: var(--fragment-linenumber-background); color: var(--fragment-linenumber-color); } .doxygen-content div.fragment span.lineno a { background: none; color: var(--fragment-link) !important; } .doxygen-content div.fragment .line:first-child .lineno { box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border); } .doxygen-content div.line { border-radius: var(--border-radius-small); } .doxygen-content div.line.glow { background-color: var(--primary-light-color); box-shadow: none; } /* dl warning, attention, note, deprecated, bug, ... */ .doxygen-content dl.bug dt a, .doxygen-content dl.deprecated dt a, .doxygen-content dl.todo dt a { font-weight: bold !important; } .doxygen-content dl.warning, .doxygen-content dl.attention, .doxygen-content dl.note, .doxygen-content dl.deprecated, .doxygen-content dl.bug, .doxygen-content dl.invariant, .doxygen-content dl.pre, .doxygen-content dl.post, .doxygen-content dl.todo, .doxygen-content dl.remark { padding: var(--spacing-medium); margin: var(--spacing-medium) 0; color: var(--page-background-color); overflow: hidden; margin-left: 0; border-radius: var(--border-radius-small); } .doxygen-content dl.section dd { margin-bottom: 2px; } .doxygen-content dl.warning, .doxygen-content dl.attention { background: var(--warning-color); border-left: 8px solid var(--warning-color-dark); color: var(--warning-color-darker); } .doxygen-content dl.warning dt, .doxygen-content dl.attention dt { color: var(--warning-color-dark); } .doxygen-content dl.note, .doxygen-content dl.remark { background: var(--note-color); border-left: 8px solid var(--note-color-dark); color: var(--note-color-darker); } .doxygen-content dl.note dt, .doxygen-content dl.remark dt { color: var(--note-color-dark); } .doxygen-content dl.todo { background: var(--todo-color); border-left: 8px solid var(--todo-color-dark); color: var(--todo-color-darker); } .doxygen-content dl.todo dt { color: var(--todo-color-dark); } .doxygen-content dl.bug dt a { color: var(--todo-color-dark) !important; } .doxygen-content dl.bug { background: var(--bug-color); border-left: 8px solid var(--bug-color-dark); color: var(--bug-color-darker); } .doxygen-content dl.bug dt a { color: var(--bug-color-dark) !important; } .doxygen-content dl.deprecated { background: var(--deprecated-color); border-left: 8px solid var(--deprecated-color-dark); color: var(--deprecated-color-darker); } .doxygen-content dl.deprecated dt a { color: var(--deprecated-color-dark) !important; } .doxygen-content dl.section dd, .doxygen-content dl.bug dd, .doxygen-content dl.deprecated dd, .doxygen-content dl.todo dd { margin-inline-start: 0px; } .doxygen-content dl.invariant, .doxygen-content dl.pre, .doxygen-content dl.post { background: var(--invariant-color); border-left: 8px solid var(--invariant-color-dark); color: var(--invariant-color-darker); } .doxygen-content dl.invariant dt, .doxygen-content dl.pre dt, .doxygen-content dl.post dt { color: var(--invariant-color-dark); } /* memitem */ .doxygen-content div.memdoc, .doxygen-content div.memproto, .doxygen-content h2.memtitle { box-shadow: none; background-image: none; border: none; } .doxygen-content div.memdoc { padding: 0 var(--spacing-medium); background: var(--page-background-color); } .doxygen-content h2.memtitle, .doxygen-content div.memitem { border: 1px solid var(--separator-color); box-shadow: var(--box-shadow); } .doxygen-content h2.memtitle { box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow); } .doxygen-content div.memitem { transition: none; } .doxygen-content div.memproto, .doxygen-content h2.memtitle { background: var(--fragment-background); } .doxygen-content h2.memtitle { font-weight: 500; font-size: var(--memtitle-font-size); font-family: var(--font-family-monospace); border-bottom: none; border-top-left-radius: var(--border-radius-medium); border-top-right-radius: var(--border-radius-medium); word-break: break-all; position: relative; } .doxygen-content h2.memtitle:after { content: ""; display: block; background: var(--fragment-background); height: var(--spacing-medium); bottom: calc(0px - var(--spacing-medium)); left: 0; right: -14px; position: absolute; border-top-right-radius: var(--border-radius-medium); } .doxygen-content h2.memtitle > span.permalink { font-size: inherit; } .doxygen-content h2.memtitle > span.permalink > a { text-decoration: none; padding-left: 3px; margin-right: -4px; user-select: none; display: inline-block; margin-top: -6px; } .doxygen-content h2.memtitle > span.permalink > a:hover { color: var(--primary-dark-color) !important; } .doxygen-content a:target + h2.memtitle, .doxygen-content a:target + h2.memtitle + div.memitem { border-color: var(--primary-light-color); } .doxygen-content div.memitem { border-top-right-radius: var(--border-radius-medium); border-bottom-right-radius: var(--border-radius-medium); border-bottom-left-radius: var(--border-radius-medium); overflow: hidden; display: block !important; } .doxygen-content div.memdoc { border-radius: 0; } .doxygen-content div.memproto { border-radius: 0 var(--border-radius-small) 0 0; overflow: auto; border-bottom: 1px solid var(--separator-color); padding: var(--spacing-medium); margin-bottom: -1px; } .doxygen-content div.memtitle { border-top-right-radius: var(--border-radius-medium); border-top-left-radius: var(--border-radius-medium); } .doxygen-content div.memproto table.memname { font-family: var(--font-family-monospace); color: var(--page-foreground-color); font-size: var(--memname-font-size); text-shadow: none; } .doxygen-content div.memproto div.memtemplate { font-family: var(--font-family-monospace); color: var(--primary-dark-color); font-size: var(--memname-font-size); margin-left: 2px; text-shadow: none; } .doxygen-content table.mlabels, .doxygen-content table.mlabels > tbody { display: block; } .doxygen-content td.mlabels-left { width: auto; } .doxygen-content td.mlabels-right { margin-top: 3px; position: sticky; left: 0; } .doxygen-content table.mlabels > tbody > tr:first-child { display: flex; justify-content: space-between; flex-wrap: wrap; } .doxygen-content .memname, .doxygen-content .memitem span.mlabels { margin: 0 } /* reflist */ .doxygen-content dl.reflist { box-shadow: var(--box-shadow); border-radius: var(--border-radius-medium); border: 1px solid var(--separator-color); overflow: hidden; padding: 0; } .doxygen-content dl.reflist dt, .doxygen-content dl.reflist dd { box-shadow: none; text-shadow: none; background-image: none; border: none; padding: 12px; } .doxygen-content dl.reflist dt { font-weight: 500; border-radius: 0; background: var(--code-background); border-bottom: 1px solid var(--separator-color); color: var(--page-foreground-color) } .doxygen-content dl.reflist dd { background: none; } /* Table */ .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname), .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { display: inline-block; max-width: 100%; } .doxygen-content .contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) { margin-left: calc(0px - var(--spacing-large)); margin-right: calc(0px - var(--spacing-large)); max-width: calc(100% + 2 * var(--spacing-large)); } .doxygen-content table.fieldtable, .doxygen-content table.markdownTable tbody, .doxygen-content table.doxtable tbody { border: none; margin: var(--spacing-medium) 0; box-shadow: 0 0 0 1px var(--separator-color); border-radius: var(--border-radius-small); } .doxygen-content table.markdownTable, .doxygen-content table.doxtable, .doxygen-content table.fieldtable { padding: 1px; } .doxygen-content table.doxtable caption { display: block; } .doxygen-content table.fieldtable { border-collapse: collapse; width: 100%; } .doxygen-content th.markdownTableHeadLeft, .doxygen-content th.markdownTableHeadRight, .doxygen-content th.markdownTableHeadCenter, .doxygen-content th.markdownTableHeadNone, .doxygen-content table.doxtable th { background: var(--tablehead-background); color: var(--tablehead-foreground); font-weight: 600; font-size: var(--page-font-size); } .doxygen-content th.markdownTableHeadLeft:first-child, .doxygen-content th.markdownTableHeadRight:first-child, .doxygen-content th.markdownTableHeadCenter:first-child, .doxygen-content th.markdownTableHeadNone:first-child, .doxygen-content table.doxtable tr th:first-child { border-top-left-radius: var(--border-radius-small); } .doxygen-content th.markdownTableHeadLeft:last-child, .doxygen-content th.markdownTableHeadRight:last-child, .doxygen-content th.markdownTableHeadCenter:last-child, .doxygen-content th.markdownTableHeadNone:last-child, .doxygen-content table.doxtable tr th:last-child { border-top-right-radius: var(--border-radius-small); } .doxygen-content table.markdownTable td, .doxygen-content table.markdownTable th, .doxygen-content table.fieldtable td, .doxygen-content table.fieldtable th, .doxygen-content table.doxtable td, .doxygen-content table.doxtable th { border: 1px solid var(--separator-color); padding: var(--spacing-small) var(--spacing-medium); } .doxygen-content table.markdownTable td:last-child, .doxygen-content table.markdownTable th:last-child, .doxygen-content table.fieldtable td:last-child, .doxygen-content table.fieldtable th:last-child, .doxygen-content table.doxtable td:last-child, .doxygen-content table.doxtable th:last-child { border-right: none; } .doxygen-content table.markdownTable td:first-child, .doxygen-content table.markdownTable th:first-child, .doxygen-content table.fieldtable td:first-child, .doxygen-content table.fieldtable th:first-child, .doxygen-content table.doxtable td:first-child, .doxygen-content table.doxtable th:first-child { border-left: none; } .doxygen-content table.markdownTable tr:first-child td, .doxygen-content table.markdownTable tr:first-child th, .doxygen-content table.fieldtable tr:first-child td, .doxygen-content table.fieldtable tr:first-child th, .doxygen-content table.doxtable tr:first-child td, .doxygen-content table.doxtable tr:first-child th { border-top: none; } .doxygen-content table.markdownTable tr:last-child td, .doxygen-content table.markdownTable tr:last-child th, .doxygen-content table.fieldtable tr:last-child td, .doxygen-content table.fieldtable tr:last-child th, .doxygen-content table.doxtable tr:last-child td, .doxygen-content table.doxtable tr:last-child th { border-bottom: none; } .doxygen-content table.markdownTable tr, .doxygen-content table.doxtable tr { border-bottom: 1px solid var(--separator-color); } .doxygen-content table.markdownTable tr:last-child, .doxygen-content table.doxtable tr:last-child { border-bottom: none; } .doxygen-content .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) { display: block; } .doxygen-content .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody { display: table; width: 100%; } .doxygen-content table.fieldtable th { font-size: var(--page-font-size); font-weight: 600; background-image: none; background-color: var(--tablehead-background); color: var(--tablehead-foreground); } .doxygen-content table.fieldtable td.fieldtype, .doxygen-content .fieldtable td.fieldname, .doxygen-content .fieldtable td.fielddoc, .doxygen-content .fieldtable th { border-bottom: 1px solid var(--separator-color); border-right: 1px solid var(--separator-color); } .doxygen-content table.fieldtable tr:last-child td:first-child { border-bottom-left-radius: var(--border-radius-small); } .doxygen-content table.fieldtable tr:last-child td:last-child { border-bottom-right-radius: var(--border-radius-small); } .doxygen-content .memberdecls td.glow, .doxygen-content .fieldtable tr.glow { background-color: var(--primary-light-color); box-shadow: none; } .doxygen-content table.memberdecls { display: block; -webkit-tap-highlight-color: transparent; } .doxygen-content table.memberdecls tr[class^="memitem"] { font-family: var(--font-family-monospace); font-size: var(--code-font-size); } .doxygen-content table.memberdecls tr[class^="memitem"] .memTemplParams { font-family: var(--font-family-monospace); font-size: var(--code-font-size); color: var(--primary-dark-color); white-space: normal; } .doxygen-content table.memberdecls .memItemLeft, .doxygen-content table.memberdecls .memItemRight, .doxygen-content table.memberdecls .memTemplItemLeft, .doxygen-content table.memberdecls .memTemplItemRight, .doxygen-content table.memberdecls .memTemplParams { transition: none; padding-top: var(--spacing-small); padding-bottom: var(--spacing-small); border-top: 1px solid var(--separator-color); border-bottom: 1px solid var(--separator-color); background-color: var(--fragment-background); } .doxygen-content table.memberdecls .memTemplItemLeft, .doxygen-content table.memberdecls .memTemplItemRight { padding-top: 2px; } .doxygen-content table.memberdecls .memTemplParams { border-bottom: 0; border-left: 1px solid var(--separator-color); border-right: 1px solid var(--separator-color); border-radius: var(--border-radius-small) var(--border-radius-small) 0 0; padding-bottom: var(--spacing-small); } .doxygen-content table.memberdecls .memTemplItemLeft { border-radius: 0 0 0 var(--border-radius-small); border-left: 1px solid var(--separator-color); border-top: 0; } .doxygen-content table.memberdecls .memTemplItemRight { border-radius: 0 0 var(--border-radius-small) 0; border-right: 1px solid var(--separator-color); padding-left: 0; border-top: 0; } .doxygen-content table.memberdecls .memItemLeft { border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); border-left: 1px solid var(--separator-color); padding-left: var(--spacing-medium); padding-right: 0; } .doxygen-content table.memberdecls .memItemRight { border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; border-right: 1px solid var(--separator-color); padding-right: var(--spacing-medium); padding-left: 0; } .doxygen-content table.memberdecls .mdescLeft, .doxygen-content table.memberdecls .mdescRight { background: none; color: var(--page-foreground-color); padding: var(--spacing-small) 0; } .doxygen-content table.memberdecls .memItemLeft, .doxygen-content table.memberdecls .memTemplItemLeft { padding-right: var(--spacing-medium); } .doxygen-content table.memberdecls .memSeparator { background: var(--page-background-color); height: var(--spacing-large); border: 0; transition: none; } .doxygen-content table.memberdecls .groupheader { margin-bottom: var(--spacing-large); } .doxygen-content table.memberdecls .inherit_header td { padding: 0 0 var(--spacing-medium) 0; text-indent: -12px; color: var(--page-secondary-foreground-color); } .doxygen-content table.memberdecls img[src="closed.png"], .doxygen-content table.memberdecls img[src="open.png"], .doxygen-content div.dynheader img[src="open.png"], .doxygen-content div.dynheader img[src="closed.png"] { width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid var(--primary-color); margin-top: 8px; display: block; float: left; margin-left: -10px; transition: transform 0.25s ease-out; } .doxygen-content table.memberdecls img { margin-right: 10px; } .doxygen-content table.memberdecls img[src="closed.png"], .doxygen-content div.dynheader img[src="closed.png"] { transform: rotate(-90deg); } .doxygen-content .compoundTemplParams { font-family: var(--font-family-monospace); color: var(--primary-dark-color); font-size: var(--code-font-size); } @media screen and (max-width: 767px) { .doxygen-content table.memberdecls .memItemLeft, .doxygen-content table.memberdecls .memItemRight, .doxygen-content table.memberdecls .mdescLeft, .doxygen-content table.memberdecls .mdescRight, .doxygen-content table.memberdecls .memTemplItemLeft, .doxygen-content table.memberdecls .memTemplItemRight, .doxygen-content table.memberdecls .memTemplParams { display: block; text-align: left; padding-left: var(--spacing-large); margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large)); border-right: none; border-left: none; border-radius: 0; white-space: normal; } .doxygen-content table.memberdecls .memItemLeft, .doxygen-content table.memberdecls .mdescLeft, .doxygen-content table.memberdecls .memTemplItemLeft { border-bottom: 0; padding-bottom: 0; } .doxygen-content table.memberdecls .memTemplItemLeft { padding-top: 0; } .doxygen-content table.memberdecls .mdescLeft { margin-bottom: calc(0px - var(--page-font-size)); } .doxygen-content table.memberdecls .memItemRight, .doxygen-content table.memberdecls .mdescRight, .doxygen-content table.memberdecls .memTemplItemRight { border-top: 0; padding-top: 0; padding-right: var(--spacing-large); overflow-x: auto; } .doxygen-content table.memberdecls tr[class^="memitem"]:not(.inherit) { display: block; width: calc(100vw - 2 * var(--spacing-large)); } .doxygen-content table.memberdecls .mdescRight { color: var(--page-foreground-color); } .doxygen-content table.memberdecls tr.inherit { visibility: hidden; } .doxygen-content table.memberdecls tr[style="display: table-row;"] { display: block !important; visibility: visible; width: calc(100vw - 2 * var(--spacing-large)); animation: fade .5s; } @keyframes fade { 0% { opacity: 0; max-height: 0; } 100% { opacity: 1; max-height: 200px; } } } /* Horizontal Rule */ .doxygen-content hr { margin-top: var(--spacing-large); margin-bottom: var(--spacing-large); height: 1px; background-color: var(--separator-color); border: 0; } .doxygen-content .contents hr { border-bottom: 1px solid var(--separator-color); } .doxygen-content .contents img, .doxygen-content .contents .center, .doxygen-content .contents center, .doxygen-content .contents div.image object { max-width: 100%; overflow: auto; } @media screen and (max-width: 767px) { .doxygen-content .contents .dyncontent > .center, .doxygen-content .contents > center { margin-left: calc(0px - var(--spacing-large)); margin-right: calc(0px - var(--spacing-large)); max-width: calc(100% + 2 * var(--spacing-large)); } } /* Directories */ .doxygen-content div.directory { border-top: 1px solid var(--separator-color); border-bottom: 1px solid var(--separator-color); width: auto; } .doxygen-content table.directory { font-family: var(--font-family); font-size: var(--page-font-size); font-weight: normal; width: 100%; } .doxygen-content table.directory td.entry, .doxygen-content table.directory td.desc { padding: calc(var(--spacing-small) / 2) var(--spacing-small); line-height: var(--table-line-height); } .doxygen-content table.directory tr.even td:last-child { border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0; } .doxygen-content table.directory tr.even td:first-child { border-radius: var(--border-radius-small) 0 0 var(--border-radius-small); } .doxygen-content table.directory tr.even:last-child td:last-child { border-radius: 0 var(--border-radius-small) 0 0; } .doxygen-content table.directory tr.even:last-child td:first-child { border-radius: var(--border-radius-small) 0 0 0; } .doxygen-content table.directory td.desc { min-width: 250px; } .doxygen-content table.directory tr.even { background-color: var(--odd-color); } .doxygen-content table.directory tr.odd { background-color: transparent; } .doxygen-content .icona { width: auto; height: auto; margin: 0 var(--spacing-small); } .doxygen-content .icon { background: var(--primary-color); border-radius: var(--border-radius-small); font-size: var(--page-font-size); padding: calc(var(--page-font-size) / 5); line-height: var(--page-font-size); transform: scale(0.8); height: auto; width: var(--page-font-size); user-select: none; } .doxygen-content .iconfopen, .doxygen-content .icondoc, .doxygen-content .iconfclosed { background-position: center; margin-bottom: 0; height: var(--table-line-height); } .doxygen-content .icondoc { filter: saturate(0.2); } @media screen and (max-width: 767px) { .doxygen-content div.directory { margin-left: calc(0px - var(--spacing-large)); margin-right: calc(0px - var(--spacing-large)); } } @media (prefers-color-scheme: dark) { html:not([data-theme=light]) .doxygen-content .iconfopen, html:not([data-theme=light]) .doxygen-content .iconfclosed { filter: hue-rotate(180deg) invert(); } } html[data-theme=dark] .doxygen-content .iconfopen, html[data-theme=dark] .doxygen-content .iconfclosed { filter: hue-rotate(180deg) invert(); } /* Class list */ .doxygen-content .classindex dl.odd { background: var(--odd-color); border-radius: var(--border-radius-small); } .doxygen-content .classindex dl.even { background-color: transparent; } /* Class Index Doxygen 1.8 */ .doxygen-content table.classindex { margin-left: 0; margin-right: 0; width: 100%; } .doxygen-content table.classindex table div.ah { background-image: none; background-color: initial; border-color: var(--separator-color); color: var(--page-foreground-color); box-shadow: var(--box-shadow); border-radius: var(--border-radius-large); padding: var(--spacing-small); } .doxygen-content div.qindex { background-color: var(--odd-color); border-radius: var(--border-radius-small); border: 1px solid var(--separator-color); padding: var(--spacing-small) 0; } /* Footer and nav-path */ .doxygen-content #nav-path { width: 100%; } .doxygen-content #nav-path ul { background-image: none; background: var(--page-background-color); border: none; border-top: 1px solid var(--separator-color); border-bottom: 1px solid var(--separator-color); border-bottom: 0; box-shadow: 0 0.75px 0 var(--separator-color); font-size: var(--navigation-font-size); } .doxygen-content img.footer { width: 60px; } .doxygen-content .navpath li.footer { color: var(--page-secondary-foreground-color); } .doxygen-content address.footer { color: var(--page-secondary-foreground-color); margin-bottom: var(--spacing-large); } .doxygen-content #nav-path li.navelem { background-image: none; display: flex; align-items: center; } .doxygen-content .navpath li.navelem a { text-shadow: none; display: inline-block; color: var(--primary-color) !important; } .doxygen-content .navpath li.navelem b { color: var(--primary-dark-color); font-weight: 500; } .doxygen-content li.navelem { padding: 0; margin-left: -8px; } .doxygen-content li.navelem:first-child { margin-left: var(--spacing-large); } .doxygen-content li.navelem:first-child:before { display: none; } .doxygen-content #nav-path li.navelem:after { content: ""; border: 5px solid var(--page-background-color); border-bottom-color: transparent; border-right-color: transparent; border-top-color: transparent; transform: translateY(-1px) scaleY(4.2); z-index: 10; margin-left: 6px; } .doxygen-content #nav-path li.navelem:before { content: ""; border: 5px solid var(--separator-color); border-bottom-color: transparent; border-right-color: transparent; border-top-color: transparent; transform: translateY(-1px) scaleY(3.2); margin-right: var(--spacing-small); } .doxygen-content .navpath li.navelem a:hover { color: var(--primary-color); } /* Scrollbars for Webkit */ .doxygen-content #nav-tree::-webkit-scrollbar, .doxygen-content div.fragment::-webkit-scrollbar, .doxygen-content pre.fragment::-webkit-scrollbar, .doxygen-content div.memproto::-webkit-scrollbar, .doxygen-content .contents center::-webkit-scrollbar, .doxygen-content .contents .center::-webkit-scrollbar, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar, .doxygen-content div.contents .toc::-webkit-scrollbar, .doxygen-content .contents .dotgraph::-webkit-scrollbar, .doxygen-content .contents .tabs-overview-container::-webkit-scrollbar { background: transparent; width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); } .doxygen-content #nav-tree::-webkit-scrollbar-thumb, .doxygen-content div.fragment::-webkit-scrollbar-thumb, .doxygen-content pre.fragment::-webkit-scrollbar-thumb, .doxygen-content div.memproto::-webkit-scrollbar-thumb, .doxygen-content .contents center::-webkit-scrollbar-thumb, .doxygen-content .contents .center::-webkit-scrollbar-thumb, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb, .doxygen-content div.contents .toc::-webkit-scrollbar-thumb, .doxygen-content .contents .dotgraph::-webkit-scrollbar-thumb, .doxygen-content .contents .tabs-overview-container::-webkit-scrollbar-thumb { background-color: transparent; border: var(--webkit-scrollbar-padding) solid transparent; border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding)); background-clip: padding-box; } .doxygen-content #nav-tree:hover::-webkit-scrollbar-thumb, .doxygen-content div.fragment:hover::-webkit-scrollbar-thumb, .doxygen-content pre.fragment:hover::-webkit-scrollbar-thumb, .doxygen-content div.memproto:hover::-webkit-scrollbar-thumb, .doxygen-content .contents center:hover::-webkit-scrollbar-thumb, .doxygen-content .contents .center:hover::-webkit-scrollbar-thumb, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb, .doxygen-content div.contents .toc:hover::-webkit-scrollbar-thumb, .doxygen-content .contents .dotgraph:hover::-webkit-scrollbar-thumb, .doxygen-content .contents .tabs-overview-container:hover::-webkit-scrollbar-thumb { background-color: var(--webkit-scrollbar-color); } .doxygen-content #nav-tree::-webkit-scrollbar-track, .doxygen-content div.fragment::-webkit-scrollbar-track, .doxygen-content pre.fragment::-webkit-scrollbar-track, .doxygen-content div.memproto::-webkit-scrollbar-track, .doxygen-content .contents center::-webkit-scrollbar-track, .doxygen-content .contents .center::-webkit-scrollbar-track, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track, .doxygen-content div.contents .toc::-webkit-scrollbar-track, .doxygen-content .contents .dotgraph::-webkit-scrollbar-track, .doxygen-content .contents .tabs-overview-container::-webkit-scrollbar-track { background: transparent; } .doxygen-content #nav-tree::-webkit-scrollbar-corner { background-color: var(--side-nav-background); } .doxygen-content #nav-tree, .doxygen-content div.fragment, .doxygen-content pre.fragment, .doxygen-content div.memproto, .doxygen-content .contents center, .doxygen-content .contents .center, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, .doxygen-content div.contents .toc { overflow-x: auto; overflow-x: overlay; } .doxygen-content #nav-tree { overflow-x: auto; overflow-y: auto; overflow-y: overlay; } /* Scrollbars for Firefox */ .doxygen-content #nav-tree, .doxygen-content div.fragment, .doxygen-content pre.fragment, .doxygen-content div.memproto, .doxygen-content .contents center, .doxygen-content .contents .center, .doxygen-content .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody, .doxygen-content div.contents .toc, .doxygen-content .contents .dotgraph, .doxygen-content .contents .tabs-overview-container { scrollbar-width: thin; } /* Optional Dark mode toggle button */ .doxygen-content doxygen-awesome-dark-mode-toggle { display: inline-block; margin: 0 0 0 var(--spacing-small); padding: 0; width: var(--searchbar-height); height: var(--searchbar-height); background: none; border: none; border-radius: var(--searchbar-height); vertical-align: middle; text-align: center; line-height: var(--searchbar-height); font-size: 22px; display: flex; align-items: center; justify-content: center; user-select: none; cursor: pointer; } .doxygen-content doxygen-awesome-dark-mode-toggle > svg { transition: transform .1s ease-in-out; } .doxygen-content doxygen-awesome-dark-mode-toggle:active > svg { transform: scale(.5); } .doxygen-content doxygen-awesome-dark-mode-toggle:hover { background-color: rgba(0,0,0,.03); } html[data-theme=dark] .doxygen-content doxygen-awesome-dark-mode-toggle:hover { background-color: rgba(0,0,0,.18); } /* Optional fragment copy button */ .doxygen-content .doxygen-awesome-fragment-wrapper { position: relative; } .doxygen-content doxygen-awesome-fragment-copy-button { opacity: 0; background: var(--fragment-background); width: 28px; height: 28px; position: absolute; right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5)); border: 1px solid var(--fragment-foreground); cursor: pointer; border-radius: var(--border-radius-small); display: flex; justify-content: center; align-items: center; } .doxygen-content .doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, .doxygen-content doxygen-awesome-fragment-copy-button.success { opacity: .28; } .doxygen-content doxygen-awesome-fragment-copy-button:hover, .doxygen-content doxygen-awesome-fragment-copy-button.success { opacity: 1 !important; } .doxygen-content doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg { transform: scale(.91); } .doxygen-content doxygen-awesome-fragment-copy-button svg { fill: var(--fragment-foreground); width: 18px; height: 18px; } .doxygen-content doxygen-awesome-fragment-copy-button.success svg { fill: rgb(14, 168, 14); } .doxygen-content doxygen-awesome-fragment-copy-button.success { border-color: rgb(14, 168, 14); } @media screen and (max-width: 767px) { .doxygen-content .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, .doxygen-content .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, .doxygen-content .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, .doxygen-content .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button, .doxygen-content dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button { right: 0; } } /* Optional paragraph link button */ .doxygen-content a.anchorlink { font-size: 90%; margin-left: var(--spacing-small); color: var(--page-foreground-color) !important; text-decoration: none; opacity: .15; display: none; transition: opacity .1s ease-in-out, color .1s ease-in-out; } .doxygen-content a.anchorlink svg { fill: var(--page-foreground-color); } .doxygen-content h3 a.anchorlink svg, .doxygen-content h4 a.anchorlink svg { margin-bottom: -3px; margin-top: -4px; } .doxygen-content a.anchorlink:hover { opacity: .45; } .doxygen-content h2:hover a.anchorlink, .doxygen-content h1:hover a.anchorlink, .doxygen-content h3:hover a.anchorlink, .doxygen-content h4:hover a.anchorlink { display: inline-block; } /* Optional tab feature */ .doxygen-content .tabbed ul { padding-inline-start: 0px; margin: 0; padding: var(--spacing-small) 0; border-bottom: 1px solid var(--separator-color); } .doxygen-content .tabbed li { display: none; } .doxygen-content .tabbed li.selected { display: block; } .doxygen-content .tabs-overview-container { overflow-x: auto; display: block; overflow-y: visible; } .doxygen-content .tabs-overview { border-bottom: 1px solid var(--separator-color); display: flex; flex-direction: row; } .doxygen-content .tabs-overview button.tab-button { color: var(--page-foreground-color); margin: 0; border: none; background: transparent; padding: var(--spacing-small) 0; display: inline-block; font-size: var(--page-font-size); cursor: pointer; box-shadow: 0 1px 0 0 var(--separator-color); } .doxygen-content .tabs-overview button.tab-button .tab-title { float: left; white-space: nowrap; padding: var(--spacing-small) var(--spacing-large); border-radius: var(--border-radius-medium); } .doxygen-content .tabs-overview button.tab-button:not(:last-child) .tab-title { box-shadow: 8px 0 0 -7px var(--separator-color); } .doxygen-content .tabs-overview button.tab-button:hover .tab-title { background: var(--primary-color); color: var(--page-background-color); box-shadow: none; } .doxygen-content .tabs-overview button.tab-button.active { color: var(--primary-color); box-shadow: 0 1px 0 0 var(--primary-color), inset 0 -1px 0 0 var(--primary-color); } @media (prefers-color-scheme: dark) { html:not([data-theme=light]) .doxygen-content .tabs-overview button.tab-button:hover .tab-title { color: var(--page-foreground-color); } } html[data-theme=dark] .doxygen-content .tabs-overview button.tab-button:hover .tab-title { color: var(--page-foreground-color); } /* Alignment for Doxygen tables (eg: Modules) */ .doxygen-content .contents { justify-content: left; } ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/_doxygen/footer.html000066400000000000000000000001601511656052100250510ustar00rootroot00000000000000 ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/_doxygen/header.html000066400000000000000000000026241511656052100250120ustar00rootroot00000000000000 $projectname: $title $title $treeview $search $mathjax $extrastylesheet
ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/_doxygen/stylesheet.css000066400000000000000000001106071511656052100256000ustar00rootroot00000000000000/* The standard CSS for doxygen 1.9.6*/ .doxygen-content { background-color: white; color: black; } .doxygen-content, .doxygen-content table, .doxygen-content div, .doxygen-content p, .doxygen-content dl { font-weight: 400; font-size: 14px; font-family: Roboto,sans-serif; line-height: 22px; } /* @group Heading Levels */ .doxygen-content .title { font-weight: 400; font-size: 14px; font-family: Roboto,sans-serif; line-height: 28px; font-size: 150%; font-weight: bold; margin: 10px 2px; } .doxygen-content h1.groupheader { font-size: 150%; } .doxygen-content h2.groupheader { border-bottom: 1px solid #879ECB; color: #354C7B; font-size: 150%; font-weight: normal; margin-top: 1.75em; padding-top: 8px; padding-bottom: 4px; width: 100%; } .doxygen-content h3.groupheader { font-size: 100%; } .doxygen-content h1, .doxygen-content h2, .doxygen-content h3, .doxygen-content h4, .doxygen-content h5, .doxygen-content h6 { -webkit-transition: text-shadow 0.5s linear; -moz-transition: text-shadow 0.5s linear; -ms-transition: text-shadow 0.5s linear; -o-transition: text-shadow 0.5s linear; transition: text-shadow 0.5s linear; margin-right: 15px; } .doxygen-content h1.glow, .doxygen-content h2.glow, .doxygen-content h3.glow, .doxygen-content h4.glow, .doxygen-content h5.glow, .doxygen-content h6.glow { text-shadow: 0 0 15px cyan; } .doxygen-content dt { font-weight: bold; } .doxygen-content p.startli, .doxygen-content p.startdd { margin-top: 2px; } .doxygen-content th p.starttd, .doxygen-content th p.intertd, .doxygen-content th p.endtd { font-size: 100%; font-weight: 700; } .doxygen-content p.starttd { margin-top: 0px; } .doxygen-content p.endli { margin-bottom: 0px; } .doxygen-content p.enddd { margin-bottom: 4px; } .doxygen-content p.endtd { margin-bottom: 2px; } .doxygen-content p.interli { } .doxygen-content p.interdd { } .doxygen-content p.intertd { } /* @end */ .doxygen-content caption { font-weight: bold; } .doxygen-content span.legend { font-size: 70%; text-align: center; } .doxygen-content h3.version { font-size: 90%; text-align: center; } .doxygen-content div.navtab { padding-right: 15px; text-align: right; line-height: 110%; } .doxygen-content div.navtab table { border-spacing: 0; } .doxygen-content td.navtab { padding-right: 6px; padding-left: 6px; } .doxygen-content td.navtabHL { background-image: url("tab_a.png"); background-repeat:repeat-x; padding-right: 6px; padding-left: 6px; } .doxygen-content td.navtabHL a, .doxygen-content td.navtabHL a:visited { color: white; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } .doxygen-content a.navtab { font-weight: bold; } .doxygen-content div.qindex{ text-align: center; width: 100%; line-height: 140%; font-size: 130%; color: #A0A0A0; } .doxygen-content dt.alphachar{ font-size: 180%; font-weight: bold; } .doxygen-content .alphachar a{ color: black; } .doxygen-content .alphachar a:hover, .doxygen-content .alphachar a:visited{ text-decoration: none; } .doxygen-content .classindex dl { padding: 25px; column-count:1 } .doxygen-content .classindex dd { display:inline-block; margin-left: 50px; width: 90%; line-height: 1.15em; } .doxygen-content .classindex dl.even { background-color: white; } .doxygen-content .classindex dl.odd { background-color: #F8F9FC; } @media(min-width: 1120px) { .doxygen-content .classindex dl { column-count:2 } } @media(min-width: 1320px) { .doxygen-content .classindex dl { column-count:3 } } /* @group Link Styling */ .doxygen-content a { color: #3D578C; font-weight: normal; text-decoration: none; } .doxygen-content .contents a:visited { color: #4665A2; } .doxygen-content a:hover { text-decoration: underline; } .doxygen-content a.el { font-weight: bold; } .doxygen-content a.elRef { } .doxygen-content a.code, .doxygen-content a.code:visited, .doxygen-content a.line, .doxygen-content a.line:visited { color: #4665A2; } .doxygen-content a.codeRef, .doxygen-content a.codeRef:visited, .doxygen-content a.lineRef, .doxygen-content a.lineRef:visited { color: #4665A2; } .doxygen-content a.code.hl_class { /* style for links to class names in code snippets */ } .doxygen-content a.code.hl_struct { /* style for links to struct names in code snippets */ } .doxygen-content a.code.hl_union { /* style for links to union names in code snippets */ } .doxygen-content a.code.hl_interface { /* style for links to interface names in code snippets */ } .doxygen-content a.code.hl_protocol { /* style for links to protocol names in code snippets */ } .doxygen-content a.code.hl_category { /* style for links to category names in code snippets */ } .doxygen-content a.code.hl_exception { /* style for links to exception names in code snippets */ } .doxygen-content a.code.hl_service { /* style for links to service names in code snippets */ } .doxygen-content a.code.hl_singleton { /* style for links to singleton names in code snippets */ } .doxygen-content a.code.hl_concept { /* style for links to concept names in code snippets */ } .doxygen-content a.code.hl_namespace { /* style for links to namespace names in code snippets */ } .doxygen-content a.code.hl_package { /* style for links to package names in code snippets */ } .doxygen-content a.code.hl_define { /* style for links to macro names in code snippets */ } .doxygen-content a.code.hl_function { /* style for links to function names in code snippets */ } .doxygen-content a.code.hl_variable { /* style for links to variable names in code snippets */ } .doxygen-content a.code.hl_typedef { /* style for links to typedef names in code snippets */ } .doxygen-content a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } .doxygen-content a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } .doxygen-content a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } .doxygen-content a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } .doxygen-content a.code.hl_friend { /* style for links to friend names in code snippets */ } .doxygen-content a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } .doxygen-content a.code.hl_property { /* style for links to property names in code snippets */ } .doxygen-content a.code.hl_event { /* style for links to event names in code snippets */ } .doxygen-content a.code.hl_sequence { /* style for links to sequence names in code snippets */ } .doxygen-content a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } /* @end */ .doxygen-content dl.el { margin-left: -1cm; } .doxygen-content ul { overflow: visible; } .doxygen-content ul.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; column-count: 3; list-style-type: none; } .doxygen-content #side-nav ul { overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ } .doxygen-content #main-nav { display: none } .doxygen-content #main-nav ul { overflow: visible; /* reset ul rule for the navigation bar drop down lists */ } .doxygen-content .fragment { text-align: left; direction: ltr; overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/ overflow-y: hidden; } .doxygen-content pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; color: black; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; font-family: monospace,fixed; font-size: 105%; } .doxygen-content div.fragment { padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/ margin: 4px 8px 4px 2px; color: black; background-color: #FBFCFD; border: 1px solid #C4CFE5; } .doxygen-content div.line { font-family: monospace,fixed; font-size: 13px; min-height: 13px; line-height: 1.0; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ text-indent: -53px; padding-left: 53px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .doxygen-content div.line:after { content:"\A "; white-space: pre; } .doxygen-content div.line.glow { background-color: cyan; box-shadow: 0 0 10px cyan; } .doxygen-content span.lineno { padding-right: 4px; margin-right: 9px; text-align: right; border-right: 2px solid #00FF00; color: black; background-color: #E8E8E8; white-space: pre; } .doxygen-content span.lineno a, .doxygen-content span.lineno a:visited { color: #4665A2; background-color: #D8D8D8; } .doxygen-content span.lineno a:hover { color: #4665A2; background-color: #C8C8C8; } .doxygen-content .lineno { -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .doxygen-content div.classindex ul { list-style: none; padding-left: 0; } .doxygen-content div.classindex span.ai { display: inline-block; } .doxygen-content div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } .doxygen-content div.groupText { margin-left: 16px; font-style: italic; } .doxygen-content { color: black; margin: 0; } .doxygen-content div.contents { margin-top: 10px; margin-left: 12px; margin-right: 8px; } .doxygen-content p.formulaDsp { text-align: center; } .doxygen-content img.dark-mode-visible { display: none; } .doxygen-content img.light-mode-visible { display: none; } .doxygen-content img.formulaDsp {} .doxygen-content img.formulaInl, .doxygen-content img.inline { vertical-align: middle; } .doxygen-content div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } .doxygen-content div.center img { border: 0px; } .doxygen-content address.footer { text-align: right; padding-right: 12px; } .doxygen-content img.footer { border: 0px; vertical-align: middle; width: 104px; } .doxygen-content .compoundTemplParams { color: #4665A2; font-size: 80%; line-height: 120%; } /* @group Code Colorization */ .doxygen-content span.keyword { color: #008000; } .doxygen-content span.keywordtype { color: #604020; } .doxygen-content span.keywordflow { color: #E08000; } .doxygen-content span.comment { color: #800000; } .doxygen-content span.preprocessor { color: #806020; } .doxygen-content span.stringliteral { color: #002080; } .doxygen-content span.charliteral { color: #008080; } .doxygen-content span.vhdldigit { color: #FF00FF; } .doxygen-content span.vhdlchar { color: #000000; } .doxygen-content span.vhdlkeyword { color: #700070; } .doxygen-content span.vhdllogic { color: #FF0000; } .doxygen-content blockquote { background-color: #F7F8FB; border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } /* @end */ .doxygen-content td.tiny { font-size: 75%; } .doxygen-content .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #2D4068; } .doxygen-content th.dirtab { background-color: #374F7F; color: #FFFFFF; font-weight: bold; } .doxygen-content hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } .doxygen-content hr.footer { height: 1px; } /* @group Member Descriptions */ .doxygen-content table.memberdecls { border-spacing: 0px; padding: 0px; overflow: unset; border-collapse: unset; width: unset; } .doxygen-content .memberdecls td, .doxygen-content .fieldtable tr { -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .doxygen-content .memberdecls td.glow, .doxygen-content .fieldtable tr.glow { background-color: cyan; box-shadow: 0 0 15px cyan; } .doxygen-content .mdescLeft, .doxygen-content .mdescRight, .doxygen-content .memItemLeft, .doxygen-content .memItemRight, .doxygen-content .memTemplItemLeft, .doxygen-content .memTemplItemRight, .doxygen-content .memTemplParams { background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; } .doxygen-content .mdescLeft, .doxygen-content .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .doxygen-content .memSeparator { border-bottom: 1px solid #DEE4F0; line-height: 1px; margin: 0px; padding: 0px; } .doxygen-content .memItemLeft, .doxygen-content .memTemplItemLeft { white-space: nowrap; } .doxygen-content .memItemRight, .doxygen-content .memTemplItemRight { width: 100%; } .doxygen-content .memTemplParams { color: #4665A2; white-space: nowrap; font-size: 80%; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .doxygen-content .memtitle { padding: 8px; border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; border-top-right-radius: 4px; border-top-left-radius: 4px; margin-bottom: -1px; background-image: url("nav_f.png"); background-repeat: repeat-x; background-color: #E2E8F2; line-height: 1.25; font-weight: 300; float:left; } .doxygen-content .permalink { font-size: 65%; display: inline-block; vertical-align: middle; } .doxygen-content .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .doxygen-content .mempage { width: 100%; } .doxygen-content .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; -webkit-transition: box-shadow 0.5s linear; -moz-transition: box-shadow 0.5s linear; -ms-transition: box-shadow 0.5s linear; -o-transition: box-shadow 0.5s linear; transition: box-shadow 0.5s linear; display: table !important; width: 100%; } .doxygen-content .memitem.glow { box-shadow: 0 0 15px cyan; } .doxygen-content .memname { font-weight: 400; margin-left: 6px; } .doxygen-content .memname td { vertical-align: bottom; } .doxygen-content .memproto, .doxygen-content dl.reflist dt { border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; color: #253555; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); background-color: #DFE5F1; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; } .doxygen-content .overload { font-family: monospace,fixed; font-size: 65%; } .doxygen-content .memdoc, .doxygen-content dl.reflist dd { border-bottom: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 10px 2px 10px; border-top-width: 0; background-image:url("nav_g.png"); background-repeat:repeat-x; background-color: white; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; /* webkit specific markup */ -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } .doxygen-content dl.reflist dt { padding: 5px; } .doxygen-content dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .doxygen-content .paramkey { text-align: right; } .doxygen-content .paramtype { white-space: nowrap; } .doxygen-content .paramname { color: #602020; white-space: nowrap; } .doxygen-content .paramname em { font-style: normal; } .doxygen-content .paramname code { line-height: 14px; } .doxygen-content .params, .doxygen-content .retval, .doxygen-content .exception, .doxygen-content .tparams { margin-left: 0px; padding-left: 0px; } .doxygen-content .params .paramname, .doxygen-content .retval .paramname, .doxygen-content .tparams .paramname, .doxygen-content .exception .paramname { font-weight: bold; vertical-align: top; } .doxygen-content .params .paramtype, .doxygen-content .tparams .paramtype { font-style: italic; vertical-align: top; } .doxygen-content .params .paramdir, .doxygen-content .tparams .paramdir { font-family: monospace,fixed; vertical-align: top; } .doxygen-content table.mlabels { border-spacing: 0px; } .doxygen-content td.mlabels-left { width: 100%; padding: 0px; } .doxygen-content td.mlabels-right { vertical-align: bottom; padding: 0px; white-space: nowrap; } .doxygen-content span.mlabels { margin-left: 8px; } .doxygen-content span.mlabel { background-color: #728DC1; border-top:1px solid #5373B4; border-left:1px solid #5373B4; border-right:1px solid #C4CFE5; border-bottom:1px solid #C4CFE5; text-shadow: none; color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; font-size: 7pt; white-space: nowrap; vertical-align: middle; } /* @end */ /* these are for tree view inside a (index) page */ .doxygen-content div.directory { margin: 10px 0px; border-top: 1px solid #9CAFD4; border-bottom: 1px solid #9CAFD4; width: 100%; } .doxygen-content .directory table { border-collapse:collapse; } .doxygen-content .directory td { margin: 0px; padding: 0px; vertical-align: top; } .doxygen-content .directory td.entry { white-space: nowrap; padding-right: 6px; padding-top: 3px; } .doxygen-content .directory td.entry a { outline:none; } .doxygen-content .directory td.entry a img { border: none; } .doxygen-content .directory td.desc { width: 100%; padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } .doxygen-content .directory tr.odd { padding-left: 6px; background-color: #F8F9FC; } .doxygen-content .directory tr.even { padding-left: 6px; background-color: white; } .doxygen-content .directory img { vertical-align: -30%; } .doxygen-content .directory .levels { white-space: nowrap; width: 100%; text-align: right; font-size: 9pt; } .doxygen-content .directory .levels span { cursor: pointer; padding-left: 2px; padding-right: 2px; color: #3D578C; } .doxygen-content .arrow { color: #9CAFD4; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; font-size: 80%; display: inline-block; width: 16px; height: 22px; } .doxygen-content .icon { font-family: Arial,Helvetica; line-height: normal; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; background-color: #728DC1; color: white; text-align: center; border-radius: 4px; margin-left: 2px; margin-right: 2px; } .doxygen-content .icona { width: 24px; height: 22px; display: inline-block; } .doxygen-content .iconfopen { width: 24px; height: 18px; margin-bottom: 4px; background-image:url("folderopen.png"); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .doxygen-content .iconfclosed { width: 24px; height: 18px; margin-bottom: 4px; background-image:url("folderclosed.png"); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .doxygen-content .icondoc { width: 24px; height: 18px; margin-bottom: 4px; background-image:url("doc.png"); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } /* @end */ .doxygen-content div.dynheader { margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .doxygen-content address { font-style: normal; color: #2A3D61; } .doxygen-content table.doxtable caption { caption-side: top; } .doxygen-content table.doxtable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } .doxygen-content table.doxtable td, .doxygen-content table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } .doxygen-content table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } .doxygen-content table.fieldtable { margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; border-radius: 4px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .doxygen-content .fieldtable td, .doxygen-content .fieldtable th { padding: 3px 7px 2px; } .doxygen-content .fieldtable td.fieldtype, .doxygen-content .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .doxygen-content .fieldtable td.fieldname { padding-top: 3px; } .doxygen-content .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; } .doxygen-content .fieldtable td.fielddoc p:first-child { margin-top: 0px; } .doxygen-content .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } .doxygen-content .fieldtable tr:last-child td { border-bottom: none; } .doxygen-content .fieldtable th { background-image: url("nav_f.png"); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; font-weight: 400; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .doxygen-content .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url("tab_b.png"); z-index: 101; overflow: hidden; font-size: 13px; } .doxygen-content .navpath ul { font-size: 11px; background-image: url("tab_b.png"); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; color:#283A5D; border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .doxygen-content .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url("bc_s.png"); background-repeat:no-repeat; background-position:right; color: #364D7C; } .doxygen-content .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; color: #283A5D; font-family: "Lucida Grande",Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; } .doxygen-content .navpath li.navelem a:hover { color: white; text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); } .doxygen-content .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color: #2A3D61; font-size: 8pt; } .doxygen-content div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } .doxygen-content div.summary a { white-space: nowrap; } .doxygen-content table.classindex { margin: 10px; white-space: nowrap; margin-left: 3%; margin-right: 3%; width: 94%; border: 0; border-spacing: 0; padding: 0; } .doxygen-content div.ingroups { font-size: 8pt; width: 50%; text-align: left; } .doxygen-content div.ingroups a { white-space: nowrap; } .doxygen-content div.header { background-image: url("nav_h.png"); background-repeat:repeat-x; background-color: #F9FAFC; margin: 0px; border-bottom: 1px solid #C4CFE5; } .doxygen-content div.headertitle { display: none; } .doxygen-content .PageDocRTL-title div.headertitle { text-align: right; direction: rtl; } .doxygen-content dl { padding: 0 0 0 0; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */ .doxygen-content dl.section { margin-left: 0px; padding-left: 0px; } .doxygen-content dl.note { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #D0C000; } .doxygen-content dl.warning, .doxygen-content dl.attention { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #FF0000; } .doxygen-content dl.pre, .doxygen-content dl.post, .doxygen-content dl.invariant { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #00D000; } .doxygen-content dl.deprecated { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #505050; } .doxygen-content dl.todo { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #00C0E0; } .doxygen-content dl.test { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #3030E0; } .doxygen-content dl.bug { margin-left: -7px; padding-left: 3px; border-left: 4px solid; border-color: #C08050; } .doxygen-content dl.section dd { margin-bottom: 6px; } .doxygen-content #projectrow { height: 56px; } .doxygen-content #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } .doxygen-content #projectlogo img { border: 0px none; } .doxygen-content #projectalign { vertical-align: middle; padding-left: 0.5em; } .doxygen-content #projectname { font-size: 200%; font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 2px 0px; } .doxygen-content #projectbrief { font-size: 90%; font-family: Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } .doxygen-content #projectnumber { font-size: 50%; font-family: 50% Tahoma,Arial,sans-serif; margin: 0px; padding: 0px; } .doxygen-content #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; background-color: white; } .doxygen-content .image { text-align: center; } .doxygen-content .dotgraph { text-align: center; } .doxygen-content .mscgraph { text-align: center; } .doxygen-content .plantumlgraph { text-align: center; } .doxygen-content .diagraph { text-align: center; } .doxygen-content .caption { font-weight: bold; } .doxygen-content dl.citelist { margin-bottom:50px; } .doxygen-content dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; text-align:right; width:52px; } .doxygen-content dl.citelist dd { margin:2px 0 2px 72px; padding:5px 0; } .doxygen-content div.toc { padding: 14px 25px; background-color: #F4F6FA; border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; margin: 0 8px 10px 10px; width: 200px; } .doxygen-content div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,"DejaVu Sans",Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } .doxygen-content div.toc h3 { font: bold 12px/1.2 Verdana,"DejaVu Sans",Geneva,sans-serif; color: #4665A2; border-bottom: 0 none; margin: 0; } .doxygen-content div.toc ul { list-style: none outside none; border: medium none; padding: 0px; } .doxygen-content div.toc li.level1 { margin-left: 0px; } .doxygen-content div.toc li.level2 { margin-left: 15px; } .doxygen-content div.toc li.level3 { margin-left: 30px; } .doxygen-content div.toc li.level4 { margin-left: 45px; } .doxygen-content span.emoji { /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; */ } .doxygen-content span.obfuscator { display: none; } .doxygen-content .inherit_header { font-weight: bold; color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .doxygen-content .inherit_header td { padding: 6px 0px 2px 5px; } .doxygen-content .inherit { display: none; } .doxygen-content tr.heading h2 { margin-top: 12px; margin-bottom: 4px; } /* tooltip related style info */ .doxygen-content .ttc { position: absolute; display: none; } .doxygen-content #powerTip { cursor: default; /*white-space: nowrap;*/ color: black; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } .doxygen-content #powerTip div.ttdoc { color: grey; font-style: italic; } .doxygen-content #powerTip div.ttname a { font-weight: bold; } .doxygen-content #powerTip a { color: #4665A2; } .doxygen-content #powerTip div.ttname { font-weight: bold; } .doxygen-content #powerTip div.ttdeci { color: #006318; } .doxygen-content #powerTip div { margin: 0px; padding: 0px; font-size: 12px; font-family: Roboto,sans-serif; line-height: 16px; } .doxygen-content #powerTip:before, .doxygen-content #powerTip:after { content: ""; position: absolute; margin: 0px; } .doxygen-content #powerTip.n:after, .doxygen-content #powerTip.n:before, .doxygen-content #powerTip.s:after, .doxygen-content #powerTip.s:before, .doxygen-content #powerTip.w:after, .doxygen-content #powerTip.w:before, .doxygen-content #powerTip.e:after, .doxygen-content #powerTip.e:before, .doxygen-content #powerTip.ne:after, .doxygen-content #powerTip.ne:before, .doxygen-content #powerTip.se:after, .doxygen-content #powerTip.se:before, .doxygen-content #powerTip.nw:after, .doxygen-content #powerTip.nw:before, .doxygen-content #powerTip.sw:after, .doxygen-content #powerTip.sw:before { border: solid transparent; content: " "; height: 0; width: 0; position: absolute; } .doxygen-content #powerTip.n:after, .doxygen-content #powerTip.s:after, .doxygen-content #powerTip.w:after, .doxygen-content #powerTip.e:after, .doxygen-content #powerTip.nw:after, .doxygen-content #powerTip.ne:after, .doxygen-content #powerTip.sw:after, .doxygen-content #powerTip.se:after { border-color: rgba(255, 255, 255, 0); } .doxygen-content #powerTip.n:before, .doxygen-content #powerTip.s:before, .doxygen-content #powerTip.w:before, .doxygen-content #powerTip.e:before, .doxygen-content #powerTip.nw:before, .doxygen-content #powerTip.ne:before, .doxygen-content #powerTip.sw:before, .doxygen-content #powerTip.se:before { border-color: rgba(128, 128, 128, 0); } .doxygen-content #powerTip.n:after, .doxygen-content #powerTip.n:before, .doxygen-content #powerTip.ne:after, .doxygen-content #powerTip.ne:before, .doxygen-content #powerTip.nw:after, .doxygen-content #powerTip.nw:before { top: 100%; } .doxygen-content #powerTip.n:after, .doxygen-content #powerTip.ne:after, .doxygen-content #powerTip.nw:after { border-top-color: white; border-width: 10px; margin: 0px -10px; } .doxygen-content #powerTip.n:before, .doxygen-content #powerTip.ne:before, .doxygen-content #powerTip.nw:before { border-top-color: gray; border-width: 11px; margin: 0px -11px; } .doxygen-content #powerTip.n:after, .doxygen-content #powerTip.n:before { left: 50%; } .doxygen-content #powerTip.nw:after, .doxygen-content #powerTip.nw:before { right: 14px; } .doxygen-content #powerTip.ne:after, .doxygen-content #powerTip.ne:before { left: 14px; } .doxygen-content #powerTip.s:after, .doxygen-content #powerTip.s:before, .doxygen-content #powerTip.se:after, .doxygen-content #powerTip.se:before, .doxygen-content #powerTip.sw:after, .doxygen-content #powerTip.sw:before { bottom: 100%; } .doxygen-content #powerTip.s:after, .doxygen-content #powerTip.se:after, .doxygen-content #powerTip.sw:after { border-bottom-color: white; border-width: 10px; margin: 0px -10px; } .doxygen-content #powerTip.s:before, .doxygen-content #powerTip.se:before, .doxygen-content #powerTip.sw:before { border-bottom-color: gray; border-width: 11px; margin: 0px -11px; } .doxygen-content #powerTip.s:after, .doxygen-content #powerTip.s:before { left: 50%; } .doxygen-content #powerTip.sw:after, .doxygen-content #powerTip.sw:before { right: 14px; } .doxygen-content #powerTip.se:after, .doxygen-content #powerTip.se:before { left: 14px; } .doxygen-content #powerTip.e:after, .doxygen-content #powerTip.e:before { left: 100%; } .doxygen-content #powerTip.e:after { border-left-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } .doxygen-content #powerTip.e:before { border-left-color: gray; border-width: 11px; top: 50%; margin-top: -11px; } .doxygen-content #powerTip.w:after, .doxygen-content #powerTip.w:before { right: 100%; } .doxygen-content #powerTip.w:after { border-right-color: gray; border-width: 10px; top: 50%; margin-top: -10px; } .doxygen-content #powerTip.w:before { border-right-color: gray; border-width: 11px; top: 50%; margin-top: -11px; } @media print { .doxygen-content #top { display: none; } .doxygen-content #side-nav { display: none; } .doxygen-content #nav-path { display: none; } .doxygen-content { overflow:visible; } .doxygen-content h1, .doxygen-content h2, .doxygen-content h3, .doxygen-content h4, .doxygen-content h5, .doxygen-content h6 { page-break-after: avoid; } .doxygen-content .summary { display: none; } .doxygen-content .memitem { page-break-inside: avoid; } .doxygen-content #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } } /* @group Markdown */ .doxygen-content table.markdownTable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } .doxygen-content table.markdownTable td, .doxygen-content table.markdownTable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } .doxygen-content table.markdownTable tr { } .doxygen-content th.markdownTableHeadLeft, .doxygen-content th.markdownTableHeadRight, .doxygen-content th.markdownTableHeadCenter, .doxygen-content th.markdownTableHeadNone { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } .doxygen-content th.markdownTableHeadLeft, .doxygen-content td.markdownTableBodyLeft { text-align: left } .doxygen-content th.markdownTableHeadRight, .doxygen-content td.markdownTableBodyRight { text-align: right } .doxygen-content th.markdownTableHeadCenter, .doxygen-content td.markdownTableBodyCenter { text-align: center } .doxygen-content tt, .doxygen-content code, .doxygen-content kbd, .doxygen-content samp { display: inline-block; } /* @end */ .doxygen-content u { text-decoration: underline; } .doxygen-content details>summary { list-style-type: none; } .doxygen-content details > summary::-webkit-details-marker { display: none; } .doxygen-content details>summary::before { content: "►"; padding-right:4px; font-size: 80%; } .doxygen-content details[open]>summary::before { content: "▼"; padding-right:4px; font-size: 80%; } .doxygen-content .contents .doxysphinx-inline-parent p { display: inline; } ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/projects.schema.json000066400000000000000000000066061511656052100250470ustar00rootroot00000000000000{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://raw.githubusercontent.com/ROCm/rocm-docs-core/develop/src/rocm_docs/data/projects.schema.json", "$defs": { "doxygen": { "type": ["object", "string"], "description": "Relative path (from documentation root) to doxygen html folder", "properties": { "html": { "description": "Relative path (from documentation root) to doxygen html folder", "type": "string", "format": "uri-reference" } }, "required": ["html"] }, "project": { "title": "project", "description": "A single mapping for a project", "type": [ "object", "string" ], "properties": { "target": { "type": "string", "description": "Base URI of the sphinx documentation of the project", "default": "http://example.com" }, "inventory": { "default": null, "description": "Location of the inventory file", "type": [ "array", "string", "null" ], "uniqueItems": true, "items": { "type": [ "string", "null" ] } }, "development_branch": { "type": "string", "description": "Branch name of the \"development\" or \"mainline\" branch where development happens.", "default": "develop" }, "valid_versions": { "default": null, "description": "List of the valid versions", "type": [ "array", "string", "null" ], "uniqueItems": true, "items": { "type": [ "string", "null" ] } }, "doxygen": { "$ref": "#/$defs/doxygen" } }, "required": [ "target" ] } }, "title": "External intersphinx mapping", "description": "Intersphinx mappings", "type": "object", "properties": { "version": { "type": "integer", "const": 1 }, "projects": { "type": "object", "title": "projects", "description": "A mapping of project names to intersphinx targets", "default": { "projectname": "http://example.com" }, "propertyNames": { "pattern": "^[a-zA-Z][a-zA-Z0-9_\\-]*$" }, "patternProperties": { "^[a-zA-Z][a-zA-Z0-9_\\-]*$": { "$ref":"#/$defs/project" } }, "additionalProperties": false } }, "required": [ "version", "projects" ] } ROCm-rocm-docs-core-6244b47/src/rocm_docs/data/projects.yaml000066400000000000000000000216351511656052100236000ustar00rootroot00000000000000# yaml-language-server: $schema=./projects.schema.json version: 1 # ${version} will be replaced by the version of the (current) project in values projects: amdgpu-docs: target: https://instinct.docs.amd.com/projects/amdgpu-docs/en/latest/ development_branch: develop amdgpu-docs-internal: target: https://instinct.docs.amd.com/projects/amdgpu-docs-internal/en/latest/ development_branch: develop amdmigraphx: https://rocm.docs.amd.com/projects/AMDMIGraphX/en/${version} amdsmi: target: https://rocm.docs.amd.com/projects/amdsmi/en/${version} development_branch: amd-staging aqlprofile: target: https://rocm.docs.amd.com/projects/aqlprofile/en/${version} development_branch: amd-staging composable_kernel: https://rocm.docs.amd.com/projects/composable_kernel/en/${version} cvs: target: https://rocm.docs.amd.com/projects/cvs/en/${version} development_branch: main gpuaidev: target: https://rocm.docs.amd.com/projects/ai-developer-hub/en/${version} development_branch: main gsplat-internal: target: https://rocm.docs.amd.com/projects/gsplat-internal/en/${version} development_branch: amd-integration gsplat: https://rocm.docs.amd.com/projects/gsplat/en/${version} hip: target: https://rocm.docs.amd.com/projects/HIP/en/${version} development_branch: develop hipblas: https://rocm.docs.amd.com/projects/hipBLAS/en/${version} hipblaslt: https://rocm.docs.amd.com/projects/hipBLASLt/en/${version} hipcc: target: https://rocm.docs.amd.com/projects/HIPCC/en/${version} development_branch: amd-staging hipcim: https://rocm.docs.amd.com/projects/hipCIM/en/${version} hipcub: https://rocm.docs.amd.com/projects/hipCUB/en/${version} hipdf: https://rocm.docs.amd.com/projects/hipDF/en/${version} hipfft: https://rocm.docs.amd.com/projects/hipFFT/en/${version} hipfort: https://rocm.docs.amd.com/projects/hipfort/en/${version} hipgraph: target: https://rocm.docs.amd.com/projects/hipGRAPH/en/${version} development_branch: develop hipify: target: https://rocm.docs.amd.com/projects/HIPIFY/en/${version} development_branch: amd-staging hip-python: target: https://rocm.docs.amd.com/projects/hip-python/en/${version} development_branch: main hipmm: https://rocm.docs.amd.com/projects/hipMM/en/${version} hiprand: https://rocm.docs.amd.com/projects/hipRAND/en/${version} hipsolver: https://rocm.docs.amd.com/projects/hipSOLVER/en/${version} hipsparse: https://rocm.docs.amd.com/projects/hipSPARSE/en/${version} hipsparselt: https://rocm.docs.amd.com/projects/hipSPARSELt/en/${version} hiptensor: https://rocm.docs.amd.com/projects/hipTensor/en/${version} hip-vs: target: https://rocm.docs.amd.com/projects/hip-vs/en/${version} development_branch: master instinct: https://instinct.docs.amd.com/ llvm-project: https://rocm.docs.amd.com/projects/llvm-project/en/${version} miopen: https://rocm.docs.amd.com/projects/MIOpen/en/${version} mivisionx: https://rocm.docs.amd.com/projects/MIVisionX/en/${version} monai: target: https://rocm.docs.amd.com/projects/monai/en/${version} development_branch: amd-integration monai-internal: https://rocm.docs.amd.com/projects/monai-internal/en/${version} omniperf: target: https://rocm.docs.amd.com/projects/omniperf/en/${version} development_branch: amd-staging omnitrace: target: https://rocm.docs.amd.com/projects/omnitrace/en/${version} development_branch: amd-staging python: https://docs.python.org/3/ rccl: https://rocm.docs.amd.com/projects/rccl/en/${version} rdc: target: https://rocm.docs.amd.com/projects/rdc/en/${version} development_branch: amd-staging radeon: target: https://rocm.docs.amd.com/projects/radeon-ryzen/en/${version} development_branch: main valid_versions: [docs-6.4.4, docs-6.4.2, docs-6.3.4, docs-6.3.2, docs-6.2.3, docs-6.1.3, docs-6.0.2, docs-5.7.0] rocal: target: https://rocm.docs.amd.com/projects/rocAL/en/${version} development_branch: develop rocalution: https://rocm.docs.amd.com/projects/rocALUTION/en/${version} rocblas: https://rocm.docs.amd.com/projects/rocBLAS/en/${version} rocdbgapi: target: https://rocm.docs.amd.com/projects/ROCdbgapi/en/${version} development_branch: amd-staging rocdecode: target: https://rocm.docs.amd.com/projects/rocDecode/en/${version} development_branch: develop rocfft: https://rocm.docs.amd.com/projects/rocFFT/en/${version} rocgdb: target: https://rocm.docs.amd.com/projects/ROCgdb/en/${version} development_branch: amd-staging rocgraph: target: https://rocm.docs.amd.com/projects/rocGRAPH/en/${version} development_branch: develop rocjpeg: https://rocm.docs.amd.com/projects/rocJPEG/en/${version} rocm: https://rocm.docs.amd.com/en/${version} rocm-docs-core: https://rocm.docs.amd.com/projects/rocm-docs-core/en/${version} rocm-ds: target: https://rocm.docs.amd.com/projects/rocm-ds/en/${version} development_branch: develop rocm-ls: target: https://rocm.docs.amd.com/projects/rocm-ls/en/${version} development_branch: develop rocm-ds-internal: target: https://rocm.docs.amd.com/projects/rocm-ds-internal/en/${version} development_branch: develop rocm-finance: target: https://rocm.docs.amd.com/projects/rocm-finance/en/${version} rocm-finance-internal: target: https://rocm.docs.amd.com/projects/rocm-finance-internal/en/${version} development_branch: main roc-optiq: target: https://rocm.docs.amd.com/projects/roc-optiq/en/${version} development_branch: main rocm-rag: target: https://rocm.docs.amd.com/projects/rocm-rag/en/${version} development_branch: main rocm-rag-internal: target: https://rocm.docs.amd.com/projects/rocm-rag-internal/en/${version} development_branch: main rocm-simulation: target: https://rocm.docs.amd.com/projects/rocm-simulation/en/${version} rocm-simulation-internal: target: https://rocm.docs.amd.com/projects/rocm-simulation-internal/en/${version} development_branch: main rocm-ls-internal: target: https://rocm.docs.amd.com/projects/rocm-ls-internal/en/${version} development_branch: main rocm-install-on-linux: target: https://rocm.docs.amd.com/projects/install-on-linux/en/${version} development_branch: develop rocm-install-on-windows: target: https://rocm.docs.amd.com/projects/install-on-windows/en/${version} development_branch: develop valid_versions: [docs-6.4.2, docs-6.2.4, docs-6.1.2] rocm_bandwidth_test: target: https://rocm.docs.amd.com/projects/rocm_bandwidth_test/en/${version} development_branch: master rocm_smi_lib: target: https://rocm.docs.amd.com/projects/rocm_smi_lib/en/${version} development_branch: amd-staging rocmcmakebuildtools: https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/en/${version} rocminfo: target: https://rocm.docs.amd.com/projects/rocminfo/en/${version} development_branch: amd-staging rocmvalidationsuite: target: https://rocm.docs.amd.com/projects/ROCmValidationSuite/en/${version} development_branch: master rocprim: https://rocm.docs.amd.com/projects/rocPRIM/en/${version} rocprof-compute-viewer: target: https://rocm.docs.amd.com/projects/rocprof-compute-viewer/en/${version} development_branch: amd-mainline rocprofiler: target: https://rocm.docs.amd.com/projects/rocprofiler/en/${version} development_branch: amd-master rocprofiler-compute: target: https://rocm.docs.amd.com/projects/rocprofiler-compute/en/${version} development_branch: amd-staging rocprofiler-sdk: target: https://rocm.docs.amd.com/projects/rocprofiler-sdk/en/${version} development_branch: amd-mainline rocprofiler-systems: target: https://rocm.docs.amd.com/projects/rocprofiler-systems/en/${version} development_branch: amd-staging rocpydecode: https://rocm.docs.amd.com/projects/rocPyDecode/en/${version} rocrand: https://rocm.docs.amd.com/projects/rocRAND/en/${version} rocr-runtime: target: https://rocm.docs.amd.com/projects/ROCR-Runtime/en/${version} development_branch: master rocr_debug_agent: target: https://rocm.docs.amd.com/projects/rocr_debug_agent/en/${version} development_branch: amd-staging rocshmem: target: https://rocm.docs.amd.com/projects/rocSHMEM/en/${version} development_branch: develop rocsolver: https://rocm.docs.amd.com/projects/rocSOLVER/en/${version} rocsparse: https://rocm.docs.amd.com/projects/rocSPARSE/en/${version} rocthrust: https://rocm.docs.amd.com/projects/rocThrust/en/${version} roctracer: target: https://rocm.docs.amd.com/projects/roctracer/en/${version} development_branch: amd-master rocwmma: https://rocm.docs.amd.com/projects/rocWMMA/en/${version} rpp: https://rocm.docs.amd.com/projects/rpp/en/${version} rtd: https://docs.readthedocs.io/en/stable/ sphinx: https://www.sphinx-doc.org/en/master/ tensile: https://rocm.docs.amd.com/projects/Tensile/en/${version} transferbench: https://rocm.docs.amd.com/projects/TransferBench/en/${version} ROCm-rocm-docs-core-6244b47/src/rocm_docs/doxygen.py000066400000000000000000000205661511656052100222030ustar00rootroot00000000000000"""Doxygen sub-extension of rocm-docs-core.""" from __future__ import annotations from typing import Any, Union, cast import importlib.metadata import importlib.resources import importlib.util import os import shutil import subprocess import sys from pathlib import Path from pydata_sphinx_theme.utils import ( # type: ignore[import-untyped] config_provided_by_user, ) from sphinx.application import Sphinx from sphinx.config import Config from sphinx.errors import ConfigError, ExtensionError from sphinx.util import logging from sphinx.util.display import progress_message from sphinx.util.osutil import copyfile logger = logging.getLogger(__name__) def _copy_files(app: Sphinx) -> None: """Insert additional files into workspace.""" with importlib.resources.path("rocm_docs", "") as pkg_path: shutil.copytree( pkg_path / "data/_doxygen", Path(app.srcdir, "_doxygen"), dirs_exist_ok=True, ) def _get_config_default(config: Config, key: str) -> Any: """Get the default value for a sphinx configuration key.""" default_or_callable = config.values[key][0] if callable(default_or_callable): return default_or_callable(config) return default_or_callable def _run_doxygen(app: Sphinx, config: Config) -> None: """Run doxygen, validating all paths.""" # To support the (legacy) ROCmDocs interface 'None' is a synonym for the # default value for i in ["doxygen_root", "doxyfile"]: if getattr(config, i) is None: setattr(config, i, _get_config_default(config, i)) doxygen_root = Path(app.confdir, config.doxygen_root) try: doxygen_root = doxygen_root.resolve(strict=True) except FileNotFoundError as err: raise ConfigError( f"Expected doxygen root folder {doxygen_root} to exist" " and be readable." ) from err if config["doxygen_executable"] is None: cmd_path = shutil.which("doxygen") if cmd_path is None: raise RuntimeError( "'doxygen' command not found! Make sure that " "doxygen is installed and in the PATH or specify " "via doxygen_executable configuration variable." ) doxygen_exe = Path(cmd_path) else: doxygen_exe = Path(app.confdir, config.doxygen_executable) doxyfile = Path(app.confdir, config["doxyfile"]).absolute() if not doxyfile.is_file(): raise ConfigError( f"Expected doxyfile {doxyfile} to exist and be readable." ) # Running doxygen requires that the files are already copied because # the Doxyfile references files distributed with rocm-docs-core # (e.g. stylesheets) if app.config.doxysphinx_enabled: _copy_files(app) try: subprocess.check_call([doxygen_exe, "--version"], cwd=doxygen_root) subprocess.check_call([doxygen_exe, doxyfile], cwd=doxygen_root) except subprocess.CalledProcessError as err: raise RuntimeError("Failed when running doxygen") from err _update_breathe_settings(app, doxygen_root) _run_doxysphinx(app, doxygen_root, doxyfile, doxygen_exe) def _update_breathe_settings(app: Sphinx, doxygen_root: Path) -> None: if config_provided_by_user( app, "breathe_projects" ) or config_provided_by_user(app, "breathe_default_project"): return doxygen_project: dict[str, None | str | os.PathLike[Any]] = ( app.config.doxygen_project ) # To support the (legacy) ROCmDocs interface 'None' is a synonym for the # default value for each element of the Tuple default: dict[str, None | str | os.PathLike[Any]] = _get_config_default( app.config, "doxygen_project" ) for key, value in doxygen_project.items(): if value is None: doxygen_project[key] = default[key] # FIXME: Log an error and reset to default instead of asserting assert isinstance(doxygen_project["name"], str) project_name: str = doxygen_project["name"] # First try relative to the assert doxygen_project["path"] is not None xml_path = Path(app.confdir, doxygen_project["path"]) try: xml_path = xml_path.resolve(strict=True) except FileNotFoundError as err: raise NotADirectoryError( "Expected doxygen to generate the folder" f" {doxygen_root!s} but it could not be found." ) from err setattr(app.config, "breathe_projects", {project_name: str(xml_path)}) setattr(app.config, "breathe_default_project", project_name) def _update_doxylink_settings(app: Sphinx, _: Config) -> None: if not hasattr(app.config, "doxylink"): logger.info( "doxylink not enabled, skipping setting up the current" " project" ) return if app.config.doxygen_html is None: return # Materialize the default value, since we're about to mutate it # Otherwise config.doxylink would return a temporary and any modification to # it would be lost. if not config_provided_by_user(app, "doxylink"): app.config.doxylink = app.config.doxylink doxylink = cast( dict[str, tuple[str, str] | tuple[str, str, str]], app.config.doxylink, ) tagfile = Path(app.srcdir, app.config.doxygen_html, "tagfile.xml") doxylink.setdefault("doxygen", (str(tagfile), str(app.config.doxygen_html))) def _run_doxysphinx( app: Sphinx, doxygen_root: Path, doxyfile: Path, doxygen_exe: Path ) -> None: if not app.config.doxysphinx_enabled: return if ( "doxysphinx.cli" not in sys.modules and importlib.util.find_spec("doxysphinx.cli") is None ): raise RuntimeError( "Missing optional dependencies: make sure the " "[api_reference] feature is enabled. (e.g. " '"pip install rocm-docs-core[api_reference]")' ) doxyphinx_version = importlib.metadata.version("doxysphinx") args = [ sys.executable, "-m", "doxysphinx", "build", "--doxygen_exe=" + str(doxygen_exe.absolute()), ] if doxyphinx_version.endswith("+tagfile.toc"): args.append("--tagfile_toc") args += [str(app.srcdir), str(app.outdir), str(doxyfile)] try: subprocess.check_call(args, cwd=doxygen_root) except subprocess.CalledProcessError as err: raise RuntimeError( f"doxysphinx failed (exit code: {err.returncode})" ) from err def _copy_tagfile(app: Sphinx) -> None: if app.config.doxygen_html is None: return if app.builder.format != "html": return src = Path(app.srcdir, app.config.doxygen_html, "tagfile.xml") dst = Path(app.outdir, src.name) with progress_message("copying doxygen tagfile"): try: copyfile(str(src), str(dst)) except OSError as err: raise ExtensionError(f"Failed to copy tag file: {err}") from err def setup(app: Sphinx) -> dict[str, Any]: """Set up rocm_docs.doxygen as a Sphinx extension.""" app.setup_extension("sphinx.ext.mathjax") app.setup_extension("breathe") app.add_config_value( "doxygen_root", ".doxygen", rebuild="", types=[str, os.PathLike] ) app.add_config_value( "doxygen_executable", None, rebuild="", types=[str, os.PathLike[Any]], ) app.add_config_value( "doxyfile", lambda config: Path(config.doxygen_root, "Doxyfile"), rebuild="", types=[str, os.PathLike[Any]], ) app.add_config_value( "doxygen_project", lambda config: { "name": "doxygen", "path": Path(config.doxygen_root, "docBin", "xml"), }, rebuild="", types=dict[str, Union[str, "os.PathLike[Any]"]], ) app.add_config_value("doxysphinx_enabled", False, rebuild="", types=bool) app.add_config_value("doxygen_html", None, rebuild="") # Should run before breathe sees their parameters, as we provide defaults. app.connect("config-inited", _run_doxygen, priority=400) # Has to run after projects.py config-inited, as it might set # doxygen_html app.connect("config-inited", _update_doxylink_settings, priority=500) # Should run after projects.py's config (if enabled) as it provides values # based on the contents projects.yaml, needs access to the builder app.connect("builder-inited", _copy_tagfile) return {"parallel_read_safe": True, "parallel_write_safe": True} ROCm-rocm-docs-core-6244b47/src/rocm_docs/formatting.py000066400000000000000000000110671511656052100226740ustar00rootroot00000000000000"""Utilities for formatting text.""" from __future__ import annotations from typing import Any import re from collections.abc import Generator, Iterable from dataclasses import dataclass from pathlib import Path class Formatter: """Formatting class for string substitution and comments parsing.""" @dataclass class _Replacement: loc: tuple[int, int] text: str def __init__(self, context: dict[str, Any]): """Initialize Formatter.""" self.directive_pattern: re.Pattern[str] = re.compile( r"(?P\$)?\{(?P[a-zA-z][a-zA-Z0-9_]+)" r"(?:\:(?P[a-zA-Z0-9_\-\.]+))?\}" ) self.context = context def _format_simple( self, directive: str, parameter: str | None, loc: tuple[int, int] ) -> _Replacement | None: # Cannot have a parameter if parameter is not None: return None return self._Replacement(loc, self.context[directive]) def _format_project( self, _: str, parameter: str | None, loc: tuple[int, int] ) -> _Replacement | None: # Parameter is required if parameter is None: return None if parameter not in self.context["projects"]: return None return self._Replacement(loc, self.context["projects"][parameter]) def _format_directive(self, match: re.Match[str]) -> _Replacement | None: # As a special case allow `{branch}` and `url` to alias `${branch}` # and '${url}' respectively for backwards compatibility. # Otherwise the '$' is required if match["prefix"] is None and match["directive"] not in [ "branch", "url", ]: return None if match["directive"] in ["branch", "url"]: return self._format_simple( match["directive"], match["parameter"], match.span() ) if match["directive"] == "project": return self._format_project( match["directive"], match["parameter"], match.span() ) return None def _replacements(self, line: str) -> Generator[_Replacement, None, None]: for match in self.directive_pattern.finditer(line): replacement = self._format_directive(match) if replacement is not None: yield replacement def format_line(self, line: str) -> str: """Substitute variable references into line. References of the form ${} and ${directive:param} are substituted >>> f = Formatter( ... { ... "branch": "develop", ... "url": "https://example.com", ... "projects": {"project": "https://project.com"}, ... } ... ) >>> f.format_line('my branch is ${branch}, {branch} also works') 'my branch is develop, develop also works' >>> f.format_line('Url: ${url} or {url}') 'Url: https://example.com or https://example.com' >>> f.format_line('- url: ${project:project}') '- url: https://project.com' Unknown references are not replaced. >>> f.format_line('{invalid}') '{invalid}' """ result: str = "" end: int = 0 for replacement in self._replacements(line): assert replacement.loc[0] >= end result += line[end : replacement.loc[0]] + replacement.text end = replacement.loc[1] result += line[end:] return result def skip_comments(self, lines: Iterable[str]) -> Generator[str, None, None]: """Returns a sequence that skips lines as long as they start with '#'. Lines after the first "non-comment" line are returned as-is. >>> f = Formatter({}) >>> for l in f.skip_comments( ... ["#comment 0", "# comment 1", "text", "# will not be skipped"] ... ): ... print(l) text # will not be skipped """ iterator = iter(lines) for line in iterator: if not line.startswith("#"): yield line break yield from iterator def format_toc( input_path: Path, output_path: Path, context: dict[str, Any] ) -> None: """Format the input table of contents with additional information.""" formatter = Formatter(context) with ( open(input_path, encoding="utf-8") as toc_in, open(output_path, "w", encoding="utf-8") as toc_out, ): for line in formatter.skip_comments(toc_in): toc_out.write(formatter.format_line(line)) ROCm-rocm-docs-core-6244b47/src/rocm_docs/projects.py000066400000000000000000000507711511656052100223600ustar00rootroot00000000000000"""Handle external projects. Remote loading of intersphinx_mapping from file, templating projects in toc.yml). """ from __future__ import annotations from typing import Any, TypeAlias, cast import functools import importlib.resources import json import os import re import sys import urllib.parse from dataclasses import dataclass from pathlib import Path import fastjsonschema # type: ignore[import-untyped] import github import requests import sphinx.util.logging import yaml from packaging.version import Version from pydata_sphinx_theme.utils import ( # type: ignore[import-untyped] config_provided_by_user, ) from sphinx.application import Sphinx from sphinx.config import Config from sphinx.errors import ExtensionError from rocm_docs import formatting, theme, util if sys.version_info < (3, 11): import importlib.abc as importlib_abc else: import importlib.resources.abc as importlib_abc Traversable = importlib_abc.Traversable Inventory: TypeAlias = str | None | tuple[str | None, ...] ProjectMapping: TypeAlias = tuple[str, Inventory] DEFAULT_INTERSPHINX_REPOSITORY = "ROCm/rocm-docs-core" DEFAULT_INTERSPHINX_BRANCH = "develop" DOCS_VERSION_PATTERN = r"^docs-\d+\.\d+\.\d+$" logger = sphinx.util.logging.getLogger(__name__) class InvalidMappingFileError(RuntimeError): """Mapping file has invalid format, or failed to validate.""" ProjectItem: TypeAlias = str | list[str | None] | None ProjectEntry: TypeAlias = str | dict[str, ProjectItem] @dataclass class _Project: target: str inventory: list[str | None] development_branch: str valid_versions: list[str | None] doxygen_html: str | None = None @staticmethod @functools.lru_cache def yaml_schema() -> dict[str, Any]: base = importlib.resources.files("rocm_docs") / "data" schema_file = base / "projects.schema.json" return cast( dict[str, Any], json.load(schema_file.open(encoding="utf-8")) ) @classmethod def schema(cls) -> dict[str, Any]: return cast(dict[str, Any], cls.yaml_schema()["$defs"]["project"]) @classmethod def default_value(cls, prop: str) -> str: return cast(str, cls.schema()["properties"][prop]["default"]) @staticmethod def _get_doxygen_html(entry: ProjectEntry) -> str | None: assert isinstance(entry, dict) if "doxygen" not in entry: return None doxygen_entry = entry["doxygen"] assert isinstance(doxygen_entry, dict | str) if isinstance(doxygen_entry, dict): # type:ignore doxygen_entry = doxygen_entry["html"] # type:ignore # Parse as a URI, but only allow the path component urlparts = urllib.parse.urlsplit(doxygen_entry) for key, value in urlparts._asdict().items(): if key == "path" or value == "": continue raise ExtensionError( f"URL not allowed for 'doxygen': {doxygen_entry}" ) if urlparts.path.startswith("/"): raise ExtensionError( f"URL for 'doxygen' must be relative: {doxygen_entry}" ) return urlparts.path @classmethod def from_yaml_entry(cls, entry: ProjectEntry) -> _Project: """Create from an entry that conforms to the project schema.""" if isinstance(entry, str): return _Project( entry, [cls.default_value("inventory")], cls.default_value("development_branch"), [], # No valid_versions for simple string entries ) # It's okay to just index into optional fields, because jsonschema # fills in any missing fields with their default values inventory = entry["inventory"] assert inventory is None or isinstance(inventory, list | str) if not isinstance(inventory, list): inventory = [inventory] valid_versions = entry.get("valid_versions", []) assert valid_versions is None or isinstance(valid_versions, list | str) if not isinstance(valid_versions, list): valid_versions = ( [valid_versions] if valid_versions is not None else [] ) return _Project( cast(str, entry["target"]), inventory, cast(str, entry["development_branch"]), valid_versions, cls._get_doxygen_html(entry), ) @classmethod def get_static_version( cls, current_branch: str, current_project: _Project | None, ) -> str | None: """Returns a common static version if it exists. In some cases all remote projects will receive the same version, return that version if this is the case, returns None otherwise. """ # Canonically available everywhere if current_branch in ["latest", "stable"]: return current_branch # Past release versions always with docs/ regex = re.compile(DOCS_VERSION_PATTERN) if regex.match(current_branch): return current_branch # Anything besides the canonical development branch links to latest docs development_branch: str = cls.default_value("development_branch") if current_project is not None: development_branch = current_project.development_branch if current_branch != development_branch: return "latest" return None def _find_best_valid_version(self, target_version: str) -> str: """Find the best matching valid version for this project. If valid_versions is empty, return the target_version as-is. Otherwise, find the closest valid version. """ if not self.valid_versions: return target_version # If target version is in valid versions, use it directly if target_version in self.valid_versions: return target_version # For specific docs- versions, find the closest valid version regex = re.compile(DOCS_VERSION_PATTERN) if regex.match(target_version): doc_versions = [ version for version in self.valid_versions if version and regex.match(version) ] if doc_versions: try: def calc_version(version_str: str) -> Version: return Version(version_str.replace("docs-", "")) target_version_value = calc_version(target_version) valid_versions = [ (calc_version(v), v) for v in doc_versions ] valid_versions.sort(reverse=True) # sort versions # Find first version <= target for version_value, version_string in valid_versions: if version_value <= target_version_value: return version_string # Return last valid version, if target version is smaller # than any valid versions. return valid_versions[-1][1] except ValueError: # If we can't parse the version, use the the target_version # as-is. pass # Fallback: return the target_version as-is. return target_version def evaluate(self, static_version: str | None) -> None: """Evaluate ${version} placeholders in the inventory and target values. Edge case: For docs/a.b.c versions/branches, ReadtheDocs replaces the / with - So handle GitHub version and RTD version differently """ version = ( static_version if static_version is not None else self.development_branch ) # Apply valid_versions filtering version = self._find_best_valid_version(version) gh_version = version # edge case if version.startswith("docs-"): gh_version = version.replace("-", "/") if "${version}" in self.target: self.target = self.target.replace("${version}", version) elif "${gh_version}" in self.target: self.target = self.target.replace("${gh_version}", gh_version) for i, item in enumerate(self.inventory): if item is None: continue if "${version}" in item: self.inventory[i] = item.replace("${version}", version) elif "${gh_version}" in item: self.inventory[i] = item.replace("${gh_version}", gh_version) @property def mapping(self) -> ProjectMapping: """Target and inventory location in the format expected by sphinx.""" return (self.target, tuple(self.inventory)) def _create_projects(project_yaml: str | Traversable) -> dict[str, _Project]: contents = yaml.safe_load( project_yaml if isinstance(project_yaml, str) else project_yaml.open(encoding="utf-8") ) data: dict[str, int | dict[str, ProjectEntry]] try: data = fastjsonschema.validate(_Project.yaml_schema(), contents) except fastjsonschema.exceptions.JsonSchemaValueException as err: raise InvalidMappingFileError( f"Mapping file is invalid: {err.message}." ) from err assert isinstance(data["projects"], dict) return { project_id: _Project.from_yaml_entry(entry) for project_id, entry in data["projects"].items() } def _get_current_project( projects: dict[str, _Project], current_id: str ) -> _Project | None: if current_id in projects: return projects[current_id] logger.warning( f"Current project '{current_id}' not found in projects.\n" "Did you forget to set 'external_projects_current_project' to " "the name of the current project?" ) return None def _create_mapping( projects: dict[str, _Project], current_project: _Project | None, current_branch: str, ) -> dict[str, ProjectMapping]: static_version = _Project.get_static_version( current_branch, current_project ) for project in projects.values(): project.evaluate(static_version) return {name: project.mapping for name, project in projects.items()} class MappingFileFetchError(RuntimeError): """Fetching the yaml file from the remote failed.""" def _fetch_projects( remote_repository: str, remote_branch: str, remote_filepath: str, ) -> str: try: gh_api = github.Github(os.environ.get("TOKEN")) repo = gh_api.get_repo(remote_repository) contents = repo.get_contents(remote_filepath, remote_branch) if isinstance(contents, list): raise MappingFileFetchError("Expected a file not a directory!") return contents.decoded_content.decode("utf-8") except github.GithubException as err: assert isinstance(err.data["message"], str) message: str = err.data["message"] raise MappingFileFetchError( "failed to read remote mappings from " f"{remote_repository}:{remote_filepath} " f"on branch={remote_branch}, API returned {err.status}: {message}.", ) from err def _load_projects( remote_repository: str, remote_branch: str ) -> dict[str, _Project]: projects_file_loc = "data/projects.yaml" def should_fetch_mappings( remote_repository: str | None, remote_branch: str | None ) -> bool: if not remote_repository: logger.info( "Skipping the fetch for remote mappings, remote_repository " "is unset." ) return False if not remote_branch: logger.error( "Remote branch is unset, cannot fetch remote mappings." ) return False logger.info( "Remote mappings will be fetched from " f"{remote_repository} branch={remote_branch}" ) return True projects: dict[str, _Project] | None = None if should_fetch_mappings(remote_repository, remote_branch): try: remote_filepath = "src/rocm_docs/" + projects_file_loc projects = _create_projects( _fetch_projects( remote_repository, remote_branch, remote_filepath, ) ) except (MappingFileFetchError, InvalidMappingFileError) as err: logger.warning( f"Failed to use remote mapping: {err} " "Falling back to bundled mapping." ) if projects is None: projects = _create_projects( importlib.resources.files("rocm_docs") / projects_file_loc ) return projects def _get_context( repo_path: Path, mapping: dict[str, ProjectMapping] ) -> dict[str, Any]: url, branch = util.get_branch(repo_path) return { "url": url, "branch": branch, "projects": {k: v[0].rstrip("/") for k, v in mapping.items()}, } def _update_theme_configs( app: Sphinx, current_project: _Project | None, current_branch: str, flavor: str, ) -> None: """Update configurations for use in theme.py""" latest_version_list = requests.get( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/latest_version.txt" ).text.strip() latest_version_dict = theme._parse_version(latest_version_list) latest_version = latest_version_dict.get(flavor, "latest") latest_version_string_list = ["latest"] if latest_version != "latest": # Some component's docs branch has "docs-" prefix, others do not latest_version_string_list += [f"docs-{latest_version}", latest_version] release_candidate = requests.get( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/release_candidate.txt" ).text.strip("\r\n") release_candidate_string = f"docs-{release_candidate}" development_branch = _Project.default_value("development_branch") if current_project is not None: development_branch = current_project.development_branch doc_branch_pattern = r"^docs-\d+\.\d+\.\d+$" if flavor == "rocm" and current_branch in latest_version_string_list: app.config.projects_version_type = util.VersionType.ROCM_LATEST_RELEASE elif flavor != "rocm" and current_branch in latest_version_string_list: app.config.projects_version_type = util.VersionType.OTHER_LATEST_RELEASE elif current_branch.endswith("preview"): app.config.projects_version_type = util.VersionType.PREVIEW elif current_branch.startswith(release_candidate_string): app.config.projects_version_type = util.VersionType.RELEASE_CANDIDATE elif re.match(doc_branch_pattern, current_branch): app.config.projects_version_type = util.VersionType.OLD_RELEASE elif current_branch == development_branch: app.config.projects_version_type = util.VersionType.DEVELOPMENT def _get_external_projects( app: Sphinx, default: dict[str, ProjectMapping] ) -> list[str]: external_projects: list[str] | str = app.config.external_projects if external_projects == "all": return list(default.keys()) if isinstance(external_projects, str): logger.error( f'Unexpected value "{external_projects}" in external_projects.\n' 'Must be set to a list of project names or "all" to ' "enable all projects defined in projects.yaml" ) return [] unknown_projects = [p for p in external_projects if p not in default] if len(unknown_projects) > 0: known_projects = [f'"{p}"' for p in default] unknown_projects = [f'"{p}"' for p in unknown_projects] logger.error( "Unknown projects: [{}] in external_projects.\n".format( ", ".join(unknown_projects) ) + "Valid projects are: [{}]".format(", ".join(known_projects)) ) return external_projects def _set_doxygen_html(app: Sphinx, current_project: _Project | None) -> None: if current_project is None or current_project.doxygen_html is None: return if not hasattr(app.config, "doxygen_html"): return doxygen_html = current_project.doxygen_html if config_provided_by_user(app, "doxygen_html"): if doxygen_html != app.config.doxygen_html: logger.warning( f'The setting doxygen_html="{app.config.doxygen_html}"' f' differs from projects.yaml value: "{doxygen_html}"' ) return app.config.doxygen_html = doxygen_html def _update_config(app: Sphinx, _: Config) -> None: if not config_provided_by_user(app, "intersphinx_disabled_domains"): app.config.intersphinx_disabled_domains = ["std"] remote_repository = app.config.external_projects_remote_repository remote_branch = app.config.external_projects_remote_branch projects = _load_projects(remote_repository, remote_branch) repo_path = Path(app.srcdir) __, branch = util.get_branch(repo_path) current_project = _get_current_project( projects, app.config.external_projects_current_project ) remote_mapping = _create_mapping(projects, current_project, branch) external_projects = _get_external_projects(app, remote_mapping) mapping: dict[str, ProjectMapping] = app.config.intersphinx_mapping for key, value in remote_mapping.items(): if key in external_projects: mapping.setdefault(key, value) if not config_provided_by_user(app, "external_toc_path"): app.config.external_toc_path = "./.sphinx/_toc.yml" context = _get_context(Path(app.srcdir), remote_mapping) formatting.format_toc( Path(app.srcdir, app.config.external_toc_template_path), Path(app.srcdir, app.config.external_toc_path), context, ) if not config_provided_by_user(app, "html_theme_options"): app.config.html_theme_options = {"flavor": "rocm"} # Store the context to be referenced later app.config.projects_context = context _set_doxygen_html(app, current_project) _update_theme_configs( app, current_project, branch, app.config.html_theme_options.get("flavor", "rocm"), ) def _setup_projects_context( app: Sphinx, _: str, __: str, context: dict[str, Any], ___: Any ) -> None: context["projects"] = app.config.projects_context["projects"] def setup(app: Sphinx) -> dict[str, Any]: """Setup rocm_docs.projects as a sphinx extension.""" app.setup_extension("sphinx.ext.intersphinx") app.setup_extension("sphinx_external_toc") app.add_config_value( "external_projects_remote_repository", DEFAULT_INTERSPHINX_REPOSITORY, rebuild="env", types=str, ) app.add_config_value( "external_projects_remote_branch", DEFAULT_INTERSPHINX_BRANCH, rebuild="env", types=str, ) app.add_config_value( "external_projects_current_project", lambda config: config.project, rebuild="env", types=str, ) app.add_config_value( "external_projects", "all", rebuild="env", types=[list, str] ) def external_toc_template_default(config: Config) -> str: toc_path = Path(config.external_toc_path) return str(toc_path.with_suffix(toc_path.suffix + ".in")) app.add_config_value( "external_toc_template_path", external_toc_template_default, rebuild="env", types=[str, Path], ) # This needs to happen before external-tocs's config-inited (priority=900) app.connect("config-inited", _update_config) app.connect("html-page-context", _setup_projects_context) return {"parallel_read_safe": True, "parallel_write_safe": True} def debug_projects() -> None: """Get remote mappings display them and format the toc. Provided as a debugging tool for the functionality of this module. """ projects = _load_projects( DEFAULT_INTERSPHINX_REPOSITORY, DEFAULT_INTERSPHINX_BRANCH ) print(projects) current_project = _get_current_project(projects, "rocm-docs-core") print(current_project) repo_path = Path() _, branch = util.get_branch(repo_path) mapping = _create_mapping(projects, current_project, branch) print(mapping) context = _get_context(Path(), mapping) print(context) toc_in = Path("./.sphinx/_toc.yml.in") if len(sys.argv) > 1: toc_in = Path(sys.argv[1]) toc_out = toc_in.with_suffix("") if len(sys.argv) > 2: toc_out = Path(sys.argv[2]) formatting.format_toc( toc_in, toc_out, context, ) if __name__ == "__main__": debug_projects() ROCm-rocm-docs-core-6244b47/src/rocm_docs/py.typed000066400000000000000000000000731511656052100216420ustar00rootroot00000000000000# Marker file for PEP 561. This package uses inline types. ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/000077500000000000000000000000001511656052100232755ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/404.html000066400000000000000000000002311511656052100244660ustar00rootroot00000000000000{%- extends "page.html" %} {% block body %}

404 - Page Not Found

Use the navigation bar on the side to get back on track.

{% endblock %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/components/000077500000000000000000000000001511656052100254625ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/components/article-info.html000066400000000000000000000053101511656052100307230ustar00rootroot00000000000000

ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/components/left-side-menu.html000066400000000000000000000003271511656052100311700ustar00rootroot00000000000000{% from "flavors/" ~ theme_flavor ~ "/left-side-menu.jinja" import main_doc_link with context %} {% set text, target = main_doc_link %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/components/toggle-primary-sidebar.html000066400000000000000000000003311511656052100327160ustar00rootroot00000000000000 ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/000077500000000000000000000000001511656052100247515ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/ai-developer-hub/000077500000000000000000000000001511656052100301015ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/ai-developer-hub/footer.jinja000066400000000000000000000000541511656052100324130ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/ai-developer-hub/header.jinja000066400000000000000000000030001511656052100323370ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["ai-developer-hub"] %} {% else %} {% set version_name = branch %} {% endif %} AI Tutorials {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} Version List {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm™ Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} left-side-menu.jinja000066400000000000000000000001011511656052100336450ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/ai-developer-hub{% set main_doc_link = ("AI Developer", projects['gpuaidev']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/amdgpu/000077500000000000000000000000001511656052100262265ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/amdgpu/footer.jinja000066400000000000000000000000541511656052100305400ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/amdgpu/header.jinja000066400000000000000000000030031511656052100304670ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["amdgpu"] %} {% else %} {% set version_name = branch %} {% endif %} AMD GPU Driver (amdgpu) {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} Version List {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm™ Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/amdgpu/left-side-menu.jinja000066400000000000000000000001171511656052100320600ustar00rootroot00000000000000{% set main_doc_link = ("AMD GPU Driver (amdgpu)", projects['amdgpu-docs']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/generic/000077500000000000000000000000001511656052100263655ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/generic/footer.jinja000066400000000000000000000003141511656052100306760ustar00rootroot00000000000000{% macro license_link() -%} {% if theme_license_link %}
  • {{ theme_license_text if theme_license_text else "" }}
  • {% endif %} {%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/generic/header.jinja000066400000000000000000000017021511656052100306320ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if theme_header_title %} {% set header_title = theme_header_title %} {% else %} {% set header_title = project ~ " " ~ version %} {% endif %} {% if theme_header_link %} {% set header_link = theme_header_link %} {% else %} {% set header_link = "#" %} {% endif %} {{ header_title }} {%- endmacro -%} {% macro version_list() -%} {% if theme_version_list_link %} Version List {% endif %} {%- endmacro -%} {% set nav_secondary_items = theme_nav_secondary_items if theme_nav_secondary_items else { "GitHub": theme_repository_url if theme_repository_url else "#", "Support": (theme_repository_url + "/issues/new/choose") if theme_repository_url else "#" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/generic/left-side-menu.jinja000066400000000000000000000001311511656052100322130ustar00rootroot00000000000000{% set main_doc_link = theme_main_doc_link if theme_main_doc_link else (project, "#") %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/gsplat/000077500000000000000000000000001511656052100262435ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/gsplat/footer.jinja000066400000000000000000000000541511656052100305550ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/gsplat/header.jinja000066400000000000000000000027401511656052100305130ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = "25.09" %} {% else %} {% set version_name = branch %} {% endif %} gsplat {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} {% if theme_version_list_link %} Version List {% endif %} {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm™ Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/gsplat/left-side-menu.jinja000066400000000000000000000000631511656052100320750ustar00rootroot00000000000000{% set main_doc_link = ("", projects['gsplat']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/instinct/000077500000000000000000000000001511656052100266045ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/instinct/footer.jinja000066400000000000000000000000541511656052100311160ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/instinct/header.jinja000066400000000000000000000025041511656052100310520ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm"] %} {% else %} {% set version_name = branch %} {% endif %} Instinct™ Documentation {%- endmacro -%} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} {% if theme_version_list_link %} Version List {% endif %} {%- endmacro -%} {% set nav_secondary_items = theme_nav_secondary_items if theme_nav_secondary_items else { "GitHub": theme_repository_url if theme_repository_url else "#", "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "ROCm™ Docs": "https://rocm.docs.amd.com", "Support": (theme_repository_url + "/issues/new/choose") if theme_repository_url else "#" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/instinct/left-side-menu.jinja000066400000000000000000000001131511656052100324320ustar00rootroot00000000000000{% set main_doc_link = ("Instinct Documentation", projects['instinct']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-blogs/000077500000000000000000000000001511656052100270155ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-blogs/footer.jinja000066400000000000000000000000551511656052100313300ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-blogs/header.jinja000066400000000000000000000013671511656052100312710ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} ROCm™ Blogs {%- endmacro -%} {% macro version_list() -%}{%- endmacro -%} {% set repo_url = theme_repository_url|replace("-internal", "") %} {% set repo_url = repo_url|replace("http://", "https://") %} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "ROCm™ Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-blogs/left-side-menu.jinja000066400000000000000000000001131511656052100326430ustar00rootroot00000000000000{% set main_doc_link = ("ROCm blogs", "https://rocm.blogs.amd.com/") %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-docs-home/000077500000000000000000000000001511656052100275655ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-docs-home/footer.jinja000077700000000000000000000000001511656052100355612../rocm/footer.jinjaustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-docs-home/header.jinja000077700000000000000000000000001511656052100354452../rocm/header.jinjaustar00rootroot00000000000000left-side-menu.jinja000066400000000000000000000001061511656052100333360ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-docs-home{% set main_doc_link = ("ROCm documentation", projects['rocm']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ds/000077500000000000000000000000001511656052100263155ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ds/footer.jinja000066400000000000000000000000541511656052100306270ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ds/header.jinja000066400000000000000000000027621511656052100305710ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm-ds"] %} {% else %} {% set version_name = branch %} {% endif %} ROCm™ Data Science {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} Version List {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ds/left-side-menu.jinja000066400000000000000000000001111511656052100321410ustar00rootroot00000000000000{% set main_doc_link = ("AMD ROCm Data Science", projects['rocm-ds']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-finance/000077500000000000000000000000001511656052100273125ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-finance/footer.jinja000066400000000000000000000000541511656052100316240ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-finance/header.jinja000066400000000000000000000027741511656052100315710ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm-finance"] %} {% else %} {% set version_name = branch %} {% endif %} ROCm™ Finance {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} Version List {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-finance/left-side-menu.jinja000066400000000000000000000001111511656052100331360ustar00rootroot00000000000000{% set main_doc_link = ("AMD ROCm Finance", projects['rocm-finance']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ls/000077500000000000000000000000001511656052100263255ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ls/footer.jinja000066400000000000000000000000541511656052100306370ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ls/header.jinja000066400000000000000000000027621511656052100306010ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm-ls"] %} {% else %} {% set version_name = branch %} {% endif %} ROCm™ Life Science {{ version_name }} {%- endmacro -%} {% macro version_list() -%} Version list {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-ls/left-side-menu.jinja000066400000000000000000000001111511656052100321510ustar00rootroot00000000000000{% set main_doc_link = ("AMD ROCm Life Science", projects['rocm-ls']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-rag/000077500000000000000000000000001511656052100264605ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-rag/footer.jinja000066400000000000000000000000541511656052100307720ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-rag/header.jinja000066400000000000000000000027441511656052100307340ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = "25.09" %} {% else %} {% set version_name = branch %} {% endif %} ROCm-RAG {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} {% if theme_version_list_link %} Version List {% endif %} {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm™ Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-rag/left-side-menu.jinja000066400000000000000000000000651511656052100323140ustar00rootroot00000000000000{% set main_doc_link = ("", projects['rocm-rag']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-simulation/000077500000000000000000000000001511656052100300735ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-simulation/footer.jinja000066400000000000000000000000541511656052100324050ustar00rootroot00000000000000{% macro license_link() -%}{%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-simulation/header.jinja000066400000000000000000000030101511656052100323320ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm-simulation"] %} {% else %} {% set version_name = branch %} {% endif %} ROCm™ Simulation {{ version_name }} {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% macro version_list() -%} Version List {%- endmacro -%} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Docs": "https://rocm.docs.amd.com", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} left-side-menu.jinja000066400000000000000000000001171511656052100336460ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm-simulation{% set main_doc_link = ("AMD ROCm Simulation", projects['rocm-simulation']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm/000077500000000000000000000000001511656052100257115ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm/footer.jinja000066400000000000000000000002251511656052100302230ustar00rootroot00000000000000{% macro license_link() -%}
  • ROCm Licenses and Disclaimers
  • {%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm/header.jinja000066400000000000000000000027031511656052100301600ustar00rootroot00000000000000{% macro top_level_header(branch, latest_version, release_candidate_version) -%} {% if docs_header_version %} {% set version_name = docs_header_version %} {% elif branch in ["develop", "master", "main", "amd-master", "amd-staging"] %} {% set version_name = "Future Release" %} {% elif branch == "latest" %} {% set version_name = latest_version["rocm"] %} {% else %} {% set version_name = branch.replace('-', ' ').title() %} {% endif %} ROCm™ Software {{ version_name }} {%- endmacro -%} {% macro version_list() -%} Version List {%- endmacro -%} {% if theme_repository_url.endswith("-docs") %} {% set repo_url = theme_repository_url|replace("-docs", "") %} {% else %} {% set repo_url = theme_repository_url %} {% endif %} {% set repo_url = repo_url|replace("http://", "https://") %} {% set nav_secondary_items = { "GitHub": repo_url, "Community": "https://github.com/ROCm/ROCm/discussions", "Blogs": "https://rocm.blogs.amd.com/", "ROCm Developer Hub": "https://www.amd.com/en/developer/resources/rocm-hub.html", "Instinct™ Docs": "https://instinct.docs.amd.com", "Infinity Hub": "https://www.amd.com/en/developer/resources/infinity-hub.html", "Support": repo_url + "/issues/new/choose" } %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm/left-side-menu.jinja000066400000000000000000000001031511656052100315360ustar00rootroot00000000000000{% set main_doc_link = ("ROCm documentation", projects['rocm']) %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/flavors/rocm/meta.jinja000066400000000000000000000002671511656052100276610ustar00rootroot00000000000000{% macro google_site_verification(google_site_verification_content) -%} {%- endmacro -%} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/layout.html000066400000000000000000000005301511656052100254760ustar00rootroot00000000000000{% extends "sphinx_book_theme/layout.html" %} {% block extrahead %} {% endblock %} {% block docs_navbar %} {%- include "sections/header.html" %} {% endblock %} {%- block footer %} {%- include "sections/footer.html" %} {%- endblock %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/sections/000077500000000000000000000000001511656052100251245ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/sections/footer-content.html000066400000000000000000000004761511656052100307670ustar00rootroot00000000000000

    {%- if last_updated %} {% trans prefix=translate('Last updated on'), last_updated=last_updated|e %}{{ prefix }} {{ last_updated }}.{% endtrans %}
    {%- endif %} {%- if theme_extra_footer %}

    {%- endif %}

    ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/sections/footer.html000066400000000000000000000041351511656052100273130ustar00rootroot00000000000000{% from "flavors/" ~ theme_flavor ~ "/footer.jinja" import license_link with context %} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/sections/header.html000066400000000000000000000044351511656052100272500ustar00rootroot00000000000000{% from "flavors/" ~ theme_flavor ~ "/header.jinja" import nav_secondary_items, top_level_header, version_list with context %}
    {% if nav_secondary_items %} {% endif %}
    ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/sections/meta.html000066400000000000000000000002501511656052100267350ustar00rootroot00000000000000{% from "flavors/" ~ theme_flavor ~ "/meta.jinja" import google_site_verification with context %} {{ google_site_verification(google_site_verification_content) }} ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/000077500000000000000000000000001511656052100245645ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/code_word_breaks.js000066400000000000000000000014771511656052100304270ustar00rootroot00000000000000$(document).ready(() => { const copy = async(event) => { return await navigator.clipboard.writeText($(event.target).attr('copydata')); } $('.table td code').each( function () { var text = $(this).text() $(this).addClass('hovertext') $(this).attr('copydata', text) $(this).attr('data-hover', "Click to copy.") var new_text = text.replaceAll(/_([^\u200B])/g, '_\u200B$1').replaceAll(/([a-z])([A-Z])/g, '$1\u200B$2') $(this).text(new_text) $(this).click((event) => { copy(event) $(event.target).attr('data-hover', "Copied!") $(event.target).on("mouseleave", () => { $(event.target).attr('data-hover', "Click to copy.") $(event.target).off("mouseleave") }) }) }) }) ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/custom.css000066400000000000000000000145231511656052100266150ustar00rootroot00000000000000:root { --pst-font-size-base: 0.875rem; } @media screen and (min-width: 440px) { :root { --pst-font-size-base: 1rem; } } @media screen and (min-width: 2000px) { :root { --pst-font-size-base: 1.25rem; } } .mx-40 { margin-left: 1rem !important; margin-right: 1rem !important; } .my-25 { margin-top: 0.25rem !important; margin-bottom: 0.25rem !important; } .py-45 { padding-bottom: 1.625rem !important; padding-top: 1.625rem !important; } .hover-opacity { transition: 0.28s; } .hover-opacity:hover { opacity: 0.7; } .klavika-font { font-family: Klavika, arial, sans-serif; font-size: 1.375rem; } /* for the light theme */ html[data-theme="light"] { --link-color: #0051c6; } /* for the dark theme */ html[data-theme="dark"] { --link-color: #2899ff; .line{ color: #fff; }; } div#site-navigation { height: fit-content; min-height: calc(100vh - 190px); } div.content-container { overflow-y: clip; } .hovertext { position: relative; /* border-bottom: 1px dotted black; */ } .hovertext:before { content: attr(data-hover); visibility: hidden; opacity: 0; width: 140px; background-color: black; color: #fff; text-align: center; border-radius: 5px; padding: 5px 0; transition: opacity 0.5s ease-in-out; position: absolute; z-index: 1; left: 0; top: 110%; } .hovertext:hover:before { opacity: 1; visibility: visible; } div#rdc-watermark-container { pointer-events: none; position: fixed; height: 100vh; width: 100vw; top: 0; left: 0; z-index: 2000; } img#rdc-watermark { pointer-events: none; position: absolute; top: 50%; left: 50%; transform-origin: center; transform: translate(-50%, -50%) rotate(-45deg); opacity: 10%; z-index: 2000; max-width: 100%; max-height: calc(100% - 200px); object-fit: contain; width: 45%; opacity: 20%; } ul.bd-breadcrumbs { margin-bottom: 0; margin-top: 1px; margin-left: 1rem; } ul.bd-breadcrumbs li.breadcrumb-item { align-items: baseline; align-self: baseline; } .bd-sidebar-primary { top: 3.5rem; height: calc(100vh - 3.5rem); } .sbt-scroll-pixel-helper { top: 3.5rem !important; } @media (min-width: 576px) and (max-width: 959.98px) { .bd-sidebar-primary { top: 5.5rem; height: calc(100vh - 5.5rem); } } @media(min-width: 960px) { .bd-sidebar-primary { top: 0; height: 100vh; } } @media(min-width: 576px) { .sbt-scroll-pixel-helper { top: 5.5rem !important; } } @media(min-width: 1200px) { .sbt-scroll-pixel-helper { top: 9.5rem !important; } } .bd-sidebar-primary .sidebar-header-items { display: flex; flex-direction: column; } .bd-container .primary-toggle>span { transform-origin: 50%, 50%; transition: transform 0.3s ease-in-out; transform: rotate(0); } input#__primary:checked ~ .bd-container .primary-toggle>span { transform: rotate(180deg); } a#ot-sdk-btn { background: none !important; border: none !important; padding: 0 !important; color: #9d9fa2 !important; } .bd-sidebar-primary.bd-sidebar.noprint { gap: 0px !important; } .navbar-brand.logo { align-items: flex-start !important; padding: 0px !important; font-size: 1rem !important; } .navbar-brand .logo__title { text-align: left !important; } /* Fix for sidebar width mismatch between Bootstrap and the Sphinx Book Theme */ @media (min-width: 960px) { input#__primary:checked ~ .bd-container .bd-sidebar-primary { margin-left: -20%; visibility: hidden; opacity: 0; } .bd-sidebar-primary { flex-basis: 20%; } .bd-container .primary-toggle>span { transform: rotate(180deg); } input#__primary:checked ~ .bd-container .primary-toggle>span { transform: rotate(0); } } .bd-sidebar-secondary { /* Header z-index is 2000, flyout z-index is 3000. * Setting sidebar's z-index to be between 2000 and 3000 to hover over the header without covering the flyout. */ z-index: 2001; } .sd-card-body.rocm-card-banner { padding-top: 0; padding-left: 0; padding-right: 0; } .sd-card-body.rocm-card-banner>* { margin-left: 1rem; margin-right: 1rem; --rocm-color-card-banner-bg: 0 0 0; --rocm-color-card-banner-text: white; } .sd-card-body.rocm-card-banner .sd-card-title { margin: 0 0 0 0; padding: 1rem 1rem 1rem; font-family: sans-serif; background-color: var(--rocm-color-card-banner-bg); background-image: linear-gradient(to right, rgb(var(--rocm-color-card-banner-bg) / 80%) 1rem, rgb(var(--rocm-color-card-banner-bg) / 15%) 10rem, transparent 16rem), linear-gradient(to top, transparent, rgb(var(--rocm-color-card-banner-bg) / 20%) 25% 60%, transparent), url(images/banner-violet.jpg); background-size: cover; background-position: bottom left; color: var(--rocm-color-card-banner-text); } .sd-card-body.rocm-card-banner .sd-card-title * { color: var(--rocm-color-card-banner-text); } .sd-card-body.rocm-card-banner>.sd-card-title a:hover { color: var(--rocm-color-card-banner-text); } /* Hue rotation classes */ /* .rocm-hue-1 doesn't apply any transform */ .sd-card-body.rocm-hue-2 .sd-card-title { filter: hue-rotate(-50deg); } .sd-card-body.rocm-hue-3 .sd-card-title { filter: hue-rotate(-75deg); } .sd-card-body.rocm-hue-4 .sd-card-title { filter: hue-rotate(-100deg); } .sd-card-body.rocm-hue-5 .sd-card-title { filter: hue-rotate(-125deg); } .sd-card-body.rocm-hue-6 .sd-card-title { filter: hue-rotate(-150deg); } .sd-card-body.rocm-hue-7 .sd-card-title { filter: hue-rotate(-175deg); } .sd-card-body.rocm-hue-8 .sd-card-title { filter: hue-rotate(-200deg); } .sd-card-body.rocm-hue-9 .sd-card-title { filter: hue-rotate(-225deg); } .sd-card-body.rocm-hue-10 .sd-card-title { filter: hue-rotate(-250deg); } .sd-card-body.rocm-hue-11 .sd-card-title { filter: hue-rotate(-275deg); } .sd-card-body.rocm-hue-12 .sd-card-title { filter: hue-rotate(-300deg); } :not(p) img { margin-bottom: 1rem; } #rocm-banner { color: #80dfff; } ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts.css000066400000000000000000000233131511656052100264310ustar00rootroot00000000000000@font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 300; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-300.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-300.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 400; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-regular.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-regular.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 500; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-500.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-500.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 600; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-600.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-600.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 700; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-700.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-700.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 800; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-800.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-800.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 300; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-300italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-300italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 400; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 500; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-500italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-500italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 600; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-600italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-600italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 700; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-700italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-700italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 800; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-800italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-800italic.woff) format("woff"); unicode-range: u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 300; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-300.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-300.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 400; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-regular.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-regular.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 500; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-500.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-500.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 600; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-600.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-600.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 700; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-700.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-700.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: normal; font-weight: 800; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-800.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-800.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 300; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-300italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-300italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 400; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 500; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-500italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-500italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 600; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-600italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-600italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 700; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-700italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-700italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } @font-face { font-display: swap; font-family: Open Sans; font-style: italic; font-weight: 800; src: local(""), url(./fonts/open-sans/open-sans-v34-latin-ext-800italic.woff2) format("woff2"), url(./fonts/open-sans/open-sans-v34-latin-ext-800italic.woff) format("woff"); unicode-range: u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff; } /*# sourceMappingURL=fonts.css.map */ ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts.css.map000066400000000000000000000066561511656052100272200ustar00rootroot00000000000000{ "version": 3, "mappings": "AAsDM,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCG,GAAG;EAuCjB,GAAG,EAAE,mJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCQ,GAAG;EAuCtB,GAAG,EAAE,2JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCa,GAAG;EAuC3B,GAAG,EAAE,mJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCkB,GAAG;EAuChC,GAAG,EAAE,mJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCuB,GAAG;EAuCrC,GAAG,EAAE,mJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtC4B,GAAG;EAuC1C,GAAG,EAAE,mJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCG,GAAG;EAuCjB,GAAG,EAAE,+JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCQ,GAAG;EAuCtB,GAAG,EAAE,yJACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCa,GAAG;EAuC3B,GAAG,EAAE,+JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCkB,GAAG;EAuChC,GAAG,EAAE,+JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCuB,GAAG;EAuCrC,GAAG,EAAE,+JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtC4B,GAAG;EAuC1C,GAAG,EAAE,+JACmC;EACxC,aAAa,EAvCC,qJAiBR;AAeR,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCG,GAAG;EAuCjB,GAAG,EAAE,2JACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCQ,GAAG;EAuCtB,GAAG,EAAE,mKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCa,GAAG;EAuC3B,GAAG,EAAE,2JACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCkB,GAAG;EAuChC,GAAG,EAAE,2JACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCuB,GAAG;EAuCrC,GAAG,EAAE,2JACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtC4B,GAAG;EAuC1C,GAAG,EAAE,2JACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCG,GAAG;EAuCjB,GAAG,EAAE,uKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCQ,GAAG;EAuCtB,GAAG,EAAE,iKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCa,GAAG;EAuC3B,GAAG,EAAE,uKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCkB,GAAG;EAuChC,GAAG,EAAE,uKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtCuB,GAAG;EAuCrC,GAAG,EAAE,uKACmC;EACxC,aAAa,EAnBG,+FASH;AAGf,UAQC;EAPC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,SAAS;EACtB,UAAU,EAAE,MAAe;EAC3B,WAAW,EAtC4B,GAAG;EAuC1C,GAAG,EAAE,uKACmC;EACxC,aAAa,EAnBG,+FASH", "sources": ["fonts.scss"], "names": [], "file": "fonts.css" } ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts.scss000066400000000000000000000027371511656052100266230ustar00rootroot00000000000000@function fontPath($weight, $style, $ext: false) { $result: "./fonts/open-sans/open-sans-v34-latin-"; @if $ext { $result: $result + "ext-"; } @if $weight == 400 { @if $style == "normal" { $result: $result + "regular"; } } @else { $result: $result + $weight; } @if $style != "normal" { $result: $result + $style; } @return $result + ".woff"; } @each $ext in (false, true) { @each $style in ("normal", "italic") { @each $weight in (300, 400, 500, 600, 700, 800) { $fontPath: fontPath($weight, $style, $ext); $unicodeRange: ( u+00??, u+0131, u+0152-0153, u+02bb-02bc, u+02c6, u+02da, u+02dc, u+2000-206f, u+2074, u+20ac, u+2122, u+2191, u+2193, u+2212, u+2215, u+feff, u+fffd ); @if $ext { $unicodeRange: ( u+0100-024f, u+0259, u+1e??, u+2020, u+20a0-20ab, u+20ad-20cf, u+2113, u+2c60-2c7f, u+a720-a7ff ); } @font-face { font-display: swap; font-family: Open Sans; font-style: unquote($style); font-weight: $weight; src: local(""), url(unquote($fontPath + "2")) format("woff2"), url(unquote($fontPath)) format("woff"); unicode-range: $unicodeRange; } $fontPath: fontPath($weight, $style, true); } } } ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/000077500000000000000000000000001511656052100257155ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sans/000077500000000000000000000000001511656052100276205ustar00rootroot00000000000000open-sans-v34-latin-300.woff000077500000000000000000000504241511656052100343560ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFQzGDEFLbtGPOS DhLcGSUBZPA[OS/2\S`r,STATBZ^@cmap Y&cvt =?,fpgmdZgasp <#glyf L;X>headH664hheaI $ hmtxI@k8#OclocaK maxpM nameM7DjpostO 2prepO${x=ñQ}'(B2t@#P`7Cc1)bZBlY\G[~& : DFLTx<DQwZUA @)#%mUkT$I2C`&C&@BD*@{98 KڙguaOL9%. 'G')d6\4Ha~&QS,ħKF \| 9Ϯ.EWs2 6+m[.7]\ss]鑧C=\}fob Ĵc("s/K|ȫ|\D$EV|3GYy4؛}IN vw+ 1!ľ8œ;m7mn F1g' ܩoӀzO>»<ʇPgDo6 F$z=$^QUxc`aȨjraf:`4 400)n 00w?n 9m@JhxAQ@ 0 t`}Nkr}޻gVFPY8"BZ:4s_xlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-uPEo`bR6rU |Y#K3ẽ=mv]s+ܤwO3̕fB=<Re'l#Nq#/-GB) H#C9I$8M7_bԚJ{ņ8g~8ouJ%Df+SG3{+HqI*xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڌ@T7|ι1L2=4  H8 (!% b]Xkm]n0{Xԝ'~Oh0m@(P$Km@pp2;8`miIc$:y\c= ^%xL<~R4+5@a9j)ŕmIZ2rq2&AϩW90Ŝ&0dL]LME!ƒҴLQjuBf^&-x%5*'AgvKl 9f64eg9 d"Z"ɤ<q-ChB.pkxacnpa\ y\[, .Dm/`<+.Jb!<2pTPYTx*Brb! #f,EaMXx ޙn|$?>4bD؁"l!sa[3(+w1ROJ,D`s h?oyElxC 14AQ-21m;M]h7 J=MyGvcjѪ L,J'?(鼕y`}CZ/}|fqG05rn?y>9=9]D*2d;&ՀQDfhA"i~g \OgqnSITDDܑ$pF+ExdHӝթV9;p5\m_.@@38>t5_6dguj.( \4(@FXrؙka3\Zsxخ)${{LARLC9pa!M ޸O j3=9r`ITU^2-3.ɣ+]ehA_9҉UcC<}zƮ8s @P&5#CldO b,$2 kb0a@E~&_hRbȍ~|Dj(T>p9SY&x,LFfNp_԰ ^y\1Lkxaԅ+ Y荚UYKk^UiXx9軻wGҟ_>o9]㶯x+c:Ƈsr9FbMD96]H?h Cfi|޾^J(Gɗ 2^bɨ 醦M)Ca>+md:DF5F:G4ݟ*ёйcܲ~I<,5Lky+T"UuWu7̳O/?ڰx0`.Wx*/WU׮|Gŭ`[S']z}- }̤1Yfѭݷ}~^l 2D`mHdM8h,HD]|)c\omX}60@]<ʴr~|0H֠~kHk!Mz4+^FxQ?t~JyGFti+Uf_MGLILOR>h}"!T2pbĢk̓U=J19#׺|j3fEИgk>ߺ8pn$^|f= ) 9ƽyC >nrBڭ'bXPP~_ipe㵵TA-zhU%pYO꧇k8GdةHP}*|;{TgNhM:\H|98ډRׇ1% (䤠y_vh"m`cqAh<=zaҤi.qg˽y0%q%D:K(z"X,UȐM׳#i4Iđ2N^Okao?bq6^:dc;yYV^V='3"}oAH>0f=Ҩ?*{xHfp.3QVd 3U>^["c>>\9{M\?[mſBӅ`2Noj;^f>2zD#8FR !,IdOA0=Aq/D賵"2΍?>dY/{ȯlA–UZСKƕL N=P\7xfYEsH&w+DQ{ʊ.\S<NֈM*"PC 诓\͸/^x&2Ot:ݙ5wVRR1!p#F8ِ o!H/d zq/:DꥆkYGs9-4Mܱ ~suv_h0ʬD"!.jܔjyYNb‰{k5RW* z~2R!rR8CW eJtQ[0k%1R҃hwpZXCqDgA0bN48L?!~ZȓlFqS#. kpi{7+Q}C10LMlb4$ ) xhAε6ʫs d`*i$K/4C,DB@*tF:Q՝/P;wRyy0\;*ѦD< qẹQ&.`>.R#R$ EZ~D?KLۊ_L rzCz LO#~B4]_M+97uNƊ [5\!@V!S#;P9ԏ~> ;Rsf!wpGc$Lt +Ry9.1tjc' Gd3ؼF.8ykk[ZIV TؤooVdh]\I-0HTYQY0K(o|7'ɑclLLPp3R4"[p!??ozߣxu"000; h#YDF q)) 姚"p'!!"#'fD?sc3) tݦ7{LګgD =8uҁbZ,lt/57ذnՉ,qPs_b|(t#v6gWf4q:gIjht({NJ7њW]0W^nAl+~ >h$*OLK(ֆxӒ9)}wk̀??:n pCh@@HH@@(INRnR&r+46Fg`Ȯna0z 0Ok4F1SU"A|e2nk=ǎ`^fnb3 3j6e8%KBymw譭k.ݶFoO=ؾN8o-XW[5W;3kc8ībWO2$p6^tig&:Fn?F'<7xl#~yK!=SOFea/moעcg^a;?+{^ٚsd£YO%'{sؗ}kƌwV/kV'^M«@լMIe"MuuzrNZz} myITpQ<^e਽坡󸯸t-3;?ihqMɔs(z¦!T{6ήͮ8CErTKE1_=A:L#W}y32 $<|i~Thb G*|Oi˛ܾx}o@@5D3cHDTKw4W^@g$Ȗqu:G".cۏ js ^X~Vzq٤{>lf?V^[6RUT,z\ձdًXR:f\><г?6vH~Ɗ= JgosS<*yDts7?yaN}9khI*Oا{ǸMUsl\3`> wU]^=*T$t ):Aء@HDZ Vew(ύ  rN9{( sSG8"CB"Paf)0-8R5B4WE-bXR/N*Wqܻ=㠁V7A>@TLkt~=Re2Cyñ/`d$fEC|Hbc 4Ii"vnq3 6qQ4޳l~ù`ʐSR1eO_CNM>C}6Ѱ:{YH4pJi9<ܢ1C=ӰhkMaQ? UK6NXgwF Mh0h^rg {X{xJ$8k5@xߩ:G"=:Za#\Elڟ9>#O-?:/fZ>lQ%L560*fT.V*3+T cB! vp,e] N}p ;X~X"j1|c5>;`uvxᴘc b5OX_k/ac`FBzx:2pJ-{lHah(BŢaOR+Fh(aer ) DV!dh`|e|쬁S2& O20%-򎍭5z w$%02eD"Ȇ5E,>'@Nc82t] s?펻LcHXXHHQ,\_'a[&J3YY bb,iwfy֪sGn[5̽ݵuۛVZbA/ݗ_(2#1jFJ= D]nbSKI/[mZ2CW] wr5A)!TDGZ]믏>ɼ#~k%2 兊P cO4ma, -d Թ owg,bوB.],IP>m0mAdȌW?MF-8jK̦M1[K/n)8ʹ=.3R؇w!Ϸ3@`^W55(s5hep S0.W5.蝏^ 7c=foiւ.IK/}ʼngEf[rk Gcz~ T=T[6s#÷06%;urY͊= Iq#㼍m5)q>^>CG&` He2EgcF?49Fh12~L~9>I]#; {d=FB?;1O/g;ZiKS|PRCB$٘C|5Y^+ËBP}oO3o0ƼQOH|Iqy\?7ßURO} KSm704=α W,WuXv'`L(yx3ƙO F|S(x,g{d#q%yĚ$keW*LNZS

    kZ#=O@)3V5rsDn#ZZ^q?X]Y-Ͳj)/vNXmik!;P)MS7t*3xQˋkfTMJMK[VR4=ciQɲ95--5s(t?JR-E l6Ls}N.szOSK 3V*McnnygHTq"R%iDF4~ϑ !K2Zgu>9*:888>ܺ`BJQ|=FNyzi3L/EdO/8;ٷse[]44ԅ1C >e +r7Ʈd_moP13Wydd"C'ٿ'Pl=뒒gXQU>Y>Ʃt|oLIQJS..B{J}IS.,.m՜hIԍ,zE;~bKzې 'Sվ熹N:dXR1BF&y/88_skAȉdcv6|`OoE0u"Pa.ir+/ic|ZzLh + M#Kkǖ >(1,38~p4}f6/[#DT[4CA0&\?/sP bounDCCGP>hEp!HQz1EGݧ%C4}6spua LB7oq}Kkfm4yJL?G!B%r`iJ*adIτkh02]KI0[]OܗI0q!Z{/IWT8OD](&)4 3͗5#&lLtF~je= O[ZGO?O?՘vaE\<Ṧ -D5c }5 Ɉ3)F1 2b&Pۢ`Z*}'zr'On-5BV 3i\aQաOZ[  g_~OfѦHG'^:x}va\26J/#g J a :{^H./O)̘Z= K&4-HmK,/KZײeA*1O]V[S.?&ɡ%yՙ게)-͸1_devSxN5z/s d;1]#f즘 cK #K< qƈh]C̯x T8883Š\cEnV FZOvnc85gG2ERɿjNu5%ۧ)Ӷ볝--^7{<-]=u9ۋ!<){3̺/~ʊ<̦ªdS)ڠ{SO?ԉүx y$ga³_a+ C}3ј.0>F0J1cW^xuBWo~b7^he+ ѕ{aEmZj܄0mv@ F߃q3q@ Bg "q4cDWiY'2Ҍ!t2U7HJ οWexi;ֽ6U⋬i#=y*ـբ0doӝ7tqۇ05k=SSn=5\筄}C#VtVKY;cw1sC)eG10g+V;a¼ÁYgX\q]$BCoR㣈|1拘W2 &dx(~~.r6 W3,-x1WyҘU_0WX˺`\o?2eKR71r_n;75md640k{?bA& imjc/BPE/n+}NEG|4mZCuެb^5>%0] Ō1bcCY=fB}^]KE ? ?x=eZ9\i-y`&l[͑GlWO!M!iKk_gNb &fii.S ]nː~>poFAGZr2RU00)͂14_@wVvƒS"};Lm@/ SnQd{k9k@V;+KcVd/w۴slטRƕx] #(+UKzeg&T)-?}SMɃ'ߍ~s7vuϗ_wĝsrf1ºw}Cҡ# Uن:;\7NWfE[E a,y;q@68߫F_&(%XwGTea6:FXR.ϛ*KJꋑΙNz"hRxRُQxHzDآሸgmfuS̻f\[[W\Z:X;f=9%iEEi%tp6%:u<<1MMhTB͑k*w ܰE99(uU[ɚ,kۄD.򫘩[pP꘺ABȌ 9hMw-=M4<cGl||"3&В{ιS' ȹ\ ֦s{cSqn2 |e $Hp#k F@T@mq\.V.Uuw<陘`8@^1vjвFVO3 b3ʢp%׀66xwOaV+}烌I$c:3|z@A ߠD= 'x|SOM&&&'(('&F~H- -NN, +=6=u@|Q= 3- J.]*A(WCH~=17\ڥR7uzS@R'iE  **?Eps]H"a1a9znؔJ$֧1Ȥ6f=n܉R'=UL}{=e+2'M2>E/18gxxοiKnpꒊMF=DBIrwf]kk|GH]W)\SU{.uNKp-]wmf4Oߟ.uMs*= u `< Gp2L.Bl~$L zM\Era >/:J9(~>}^=tpU\ v@C*h?TH>krxX'DkkKKB^Ff:$.,zhFj[뇾&Yt_9rC~\:Br AfK>f _}*TD;IOP;/dC'.JΜ7w7O|nh~~3g[zR4<ʅ"USbG f@ }`4eJ˹rη(}5$n"{:Q¦'UaXc|]&+qfWs]eQôjJ 76KBڦ6fS<^m?mEj{nJe[PĆiSBal^]_(KSY}\zNvr [lBn>Y;%'`"̘2VȞ"άIDb>,;erIFj4JRSK0b;x#:V]ޘrW) iS'5@Hk <ԯۀG^}M[oN7_~_}^ çN]x1@yP|u0l]{d2:UG1JڰV&5uV /gx^#}{PfHԒא]m_[ZfiA嗗eIʼnyFWN .52jw uጟa~b3B"ЈjMBUf鞅˯ȶK,ltF[x$mKì™)GY8t*@۹mfE`l놿 ߎ"wz Af-A~zoH yaKTnL131#h מq3#WG;uÙ^S>~Z\Գ'҉/cS$lP#nּ\aD$1yIC([h`Oit k,1RJ M;Qtm'?ƨB&ζ}I.#pږi[Fˋ3ʋ=yta.vQ[t?}s?]}Ce3D\lv*.VvQ],/{_C\VLhGZmf;ptꩶ@ݸ}DU5[:*2Bl'oTYLao,fofs=?>B[uϯKW_+@/mY1[Q0 5łzMؖ 50yQm/=;Ք?CD|-bۤ_LbǾ`M32dPs$8QXb;}bΉtAoTGPGG=s! ˤ/iE9v҃ qӫ,/nweWrZsN* IQ@]ܿщPOJ~s#H&YA›5궷<qq^AϤAs N$e&p fًz4PCgy?Uv;FbR5-w2GmxLOL "8%d~*_9nLdr!'b}wfass1gTìrkUEx,l{tOϢcD[zeBcf+ߒz<+ct`|ׅS-3-%P/ؖI*u.2Th4 "ʐ Fob瓂T %IQ  C! ]~LC2v0ڤG^{4BY92$e4/X@q {xE#Affm޶m۶۶m۶Ud<1c7<{h)G+O8VWq:q ɮKcWƞO1ي6)bvPH3eْ! y,Z`M2,%þ(>8O8NΎz(BqԳpۢc"ewg:V:lzѡftFDV=S<\z|_h $_PґuGǧz+hxUHч")+^xc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-300.woff2000077500000000000000000000405541511656052100344430ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2Al{Ab P`?STATZ |  8N 6$8  k5Eݣ+.`CnU3R)n%ђeպ@!e!~[ҹ¦`@giDO֩w>f`~IG'N,v `kܕ徶l;Bcz h2Җ1'q $#ր5>9<`K"tG<-d6Ψ)FhD س:f,ܻvߋ߯}.fRS-5DB6h4J?=!?""si͆~7\t 0-jHaJ +Pz֌{0k)ȕ+1tn_"̼-=rimf@;xõbmT19N]Ư (37͒ ŃV)$mIr;v+g eIV IPIV5^ʜ%z\lgL3]V0>Zqvׇg|j\x_ժ.5* Sf5! oWBg9X!iqΚh ]vA:Mx˘Iuۜ#DDMGjg 2ɢ_Jkˢ{rZ[' 2?b#W!U*;4{k["uD˃w((blÅ='MfŪw[kaӖq&&xċ O舗lg,^chpѷ\z ]a~/$a`+GטBֵoQ|-W2tℊՃ433'BGzC}7N$_>-LeͩICku헖rY F/]#y{|V-h$F,/UV3AqՆ5Y]Y4NGNh (\J]2%3#A㞕AX])/%Oz-r̊CM/4/wxYIynU`h E E5U7 [T' 5E5Nr,j%0 eETd6R1h`B2;(koC.r2wPTrjSE\ٷ}+ )E;XI{k~ֲE.ڷ_EG )0DY_"C6vt6Ь b,;ew2_yWQ7Pg ?ΐ̼MMZ+4e;$^<iz?\Tv6 y;ɍF^T9e9ןB]@<U1KkzZQq4n?wdD=$iW&a=k~!Crz.Ιɹh!!`_ɲD/V?ЮpSV$(8%Ʉcz-Q[uL&LU=o0|YryEMN[G)YVpVԩK=tsG$rx|-`3'0)z1 [)^-I/'4QOMeҙKv~6b:YԬӗy7s[j<(Xo(^v4%g^R3)HMuc %)K /ne%h?`Wp!]Y1@=|$&&Ueq|e+՟!(ėg99-yʨ 1ˠ0n-H]>OfuaJvfmOXx R֮06šg x87W2idWU@Ap&I)w ۮ`Dϑܤpy$r)dca:0 @X}:7JMob7:˳ 6. 7%W[\hGߛw(FwiH\n¹NtcxgrF䪚˘KKL%WE<(ILAֱ.qf{JWBj1fm9Z7E6խegƟ:WĈ=[NRzCR \ɍQۋ_zl}Fr0uKoJ.LޚRY̚w;(-p"EV/ZN@k[ ?@{'_ KFDc<:{E\h1RXJA%i Zp~mkՄ \jUKv=@ v6&kN[Kh@`eL$ȕ՚S*6: gs ROy"yFԼi\sKĆrD БmN^ `ulZ5ݎ9+zb(mdJK NG)CI4a"?7e2nYzBaI3bDrl#CltDK%c v඘ugY&6Q1z_Ă3\D4!9d@AO/O 8$R$Ko CZ~l֐ճ/>6caib'[B_Iߛ+8{eT_(.IU!bShrѫV9P 5ԥP:u6}yJ+'8S%U?׋@y)^1$of\o@k1XR)}X~ B\Cs[:|R:+^cD uK0eH4[k3XY6[mz]lIh = LS|]AlEevҭ@p!.OͷZRR`IS*{F^N:R2'IFjy,eQ 0b*1DWpZoX!<mҴlJˊT_E%o;%k|kV^X65UV+1M-H8.ɩ.-<QTWJ2oy cHymnxJl5h:2y)*%5=k;c4s_{Ȇ|{I<%à <Bgn%!)argBCyӊL%p,_"v3aJ*n+b Hl'uY bC):Kj~JƇmޱh/Ii|v^!N40` 4c+@S?$+b)T$L"F9|E[>:/YV_p_ kS4Yy4LT}q7b ǘ\e1)BorFLueI`?QW9ր%aS04n #us%Qhe2畑hZ-c^aDr(5E $22<Ǯ\(F=B7l- +ړ*7t1UD%QAF3JK=}cp u =hB*\L7J& 'M4J4w3&!MY#F+1pMAUk{iwX0"zo0.2.f-.$#Y;-aChѲ3~4h0LI, $DyLܰ'>ηQ2%ROsbcN<8Tx(TOe4}z÷B;.&*p}cb2<~K&_2`)] &4]T1hWGLM0zg<}a:|=+gQ+~yH%v_tX 8/0% l{q^N̪S']*3(6l2[p'nf8c2W@TLrܧ-Y̠]$rq2 `?ޠߓ)iKvGHH1!Ȏ=#oI/?,}{^.gRݮDj/LxDTLMc*F5ű2g&?& 2[ҰOnR}8ԋ9./ߏ͍&z^SLIijnnd1ҏ4&tDgzL4/$@FR-<wIUޜ&^;ex^6Q#D|_?;s=ۡoRʊkߥ!gWANɅ (8WbO?i_t| "R' 3*`U~69<, #ݩ$$ve0)x3\cYD}?INuɫi$K.ͥ5=0OA߳ ֎&&rbnNt|7r&dH;V>q KF2ǞnFA0 "E D!= .-*/Ǣ0/Lak?yVzdc$^'iYȺfm3ꇿ|9 <H'd! su͡Vm;"P1 mP+᝼/K2/gtVE#gL?+ /[ЮʦήƪH[uOXTeFUc|M]0: I8C4cX`vVWRfNCtB R.dF5l]Bբjf-3|YeՑ8zYCJU#ypZYY- D%+=M/Ec]o^vO٬c '|\% rknFS^!ʉ[0f*ZJk ! ]Ǩs+ /T}u qEBl(r|8"X;\+5apz̊l߈jOelWi/7gv\wYXʵ>,`z:_n35 0dr,uR n%GD}{D5V[Sӧ2qyD\Z'XRt7 #[*E*PQB j -:`%1p%FK?2C~ߙt,?c,GZ DBA@ALOTN1ϰ+laD~>|0אy7sn1Fc3m8Z~g싶XK&澤7MPyƯr8n$}54[=_Si\{5'LW$.?Ȝ1@o3Ek[KnJmZ$XwSyc{svwݰ4jmHq긋 jWň"OA2%5|0&La/R~Wʻw.!g SgfH1kqk/l"9]8TE X k}jڼO- jF k I#Ta7ԴܽEyEK.mONV!{pP<ɻN{ۖAf@aH=ռH)ܾn  :ϓgl,uHa;58ʂ-r.?G1G2nQ^,K| @xAkksuy8N?e vvetx7uL]O0Y잉 բFCQIhnۉ3R_J1;z:q]xϑjA"߰Zw!7Ͽ`9GK8YeGESyk٤ \-Dn 8iF,h\3W~,iQ1 )P@ fRh3t){W>qyuMM68?ozjZ]˹6DV[ؿǨs2VXKh :c$><AؘkU::wT[6ĘzԦ">ĄzLFiqPkcWcN=Ϲi`kOŖ}`-ݖơz2z8W Wqs ZS =b.٣9·ZiN>Nmnȴ> ;e" %r2go5闽kx;=3WzZms_4D߰DK,J.D 6).!FVnT8疕-Ijksb /f,+ȸLMQ+C(&_Ǖs-b B Rstx8F`^bEOj3NT}]rd͗r:`ŤŇicqvA%{$[ד$uOB g K5lͭqVF9;!᩹)LG"TQCpPzQOqM(Uġ@zL]I?6kyAqA 6esVk2t"9Eۊ*ЋH@GE(|qao Pap۵h ZQtAORbh<UŬ݋UۑcҚݓ! ^*!Jp6H16#jGҝbN su"V-Se o:Ur KuK"(QQh 5ohF9dۓ o,8U_-ePl> L9%n^_ȩF6OSj@~?= }H%*nQ>#?Gc6Hē#o~=~绿#-,dquGKFq)v JEBL'~N>5ƗM?y; _f陷^^^={Ł8[ufRaS>_5bǰ(z4e43:2O2H]e61zqGt@Y^牕9ݭ~ 9q!"#X fӔᇫJjj*JZ[+ :5TX`1ڽ qąSm] 9cf=M->^k/AQT4؀& exhZZtT)ȿn_^dbvM$e4 7}ŵrm?݆AWd0*+qqdhq- q>ӫWoOaO+ 5-۱XAu\.Zsgz#_M[eS; 5QwvYO4 P֘ K`+X{O ]#L^|brDC;_[>9l`5@mvvt[h9T Z]]x{uQ\3:G.4zt-$^CꊦmyN?4OqdޡۧL 8#%GyUn`o*sTem]9rnBhn\s, q s:ڣ+B`,#GN8#O#$2DͿM58_S΅?i g' Ltښ^3š%'QԬf苝:)v&Q)B*Uai#^:/XnѴs5gxxt,nO'BCq010̘&FG{Bq9\db2O(@V:DIW WqTW8w)Uu`$SmjZօ+i*KAߩ# Ȑ(n`ǑݙVJK})Yrqm3[Txd W_[lFzJC I8eE}T[E$c#H1;'a32 @~uaiB>9f $Bφ3X[XW sccOWתV\/f)A 9Cț(KLYqdvId O&`D6ݵSE ղR ꁟp*Kg vfk$M^p-@@_y#xh _Kۯh5_j?P^ !Y(Xۇ_N 0KgA6Y};}ãk 2Bp,+*HOnbuՂ\[Cj<}:2 "rkD%e]BeTGT}W`{CL?_#|!_9߱/d"B>}9œ)6C|Diye^nGsqbVidi ɴn-$g1Ĕ@(ac߷ UL9gN1(~%&pP0@TE>Ȕt HFhuK2GɧǢȮ|M >v<h~S+d%B %uT"ZvV5n.,XX|V AQ9΅qL 3P@EԹ̞p wάFx6BC I k7TT|u?HUpƾ l(; &䒩ځLFi<ΘVZD1BQ0O6 ղ 5vK%{yP1LgP WVBS)G^-RLTDŽƛM/4&EB^d|q˟aJɲ[')T|t剤6~ pV;6:4ܜY/wv)Kĭ_jEbn67DvK|Vʹ'bh$PdQzoEHT|ZĵĊx%L !cP~X/J?iP3j8Z#<6pt+9X÷AeHC*'Y84;jYR WQeKn:O{XUh%wH)Ӈw"$R`p?<jC6q_Ϳ=W;2~L [9 kU 4H *uj51-/-;(.^^N cb' \'Uxl^a|LOiVފC# \.zVPe{a>''% !6UEٌD>rSP.)t;1wp2=WHmP cV¶NΆ/BkGP2hBaV@I0=4F_{H~ߛcܢVWjEG?^S'ՉK 2b(<RC@e j>Q'03jEu<P E^royAOګnM{;[3b9j|, @H2r%sSndGE6xF"XjٛJ\hVۈ<`E6u鐑'f7TO "Sy"z"OGtF+@oCՂ&(2=r?aE8}{>],TM yKar%*O9[_]鷈C# 腊>q,"cVK2sH|UI#yJ8PR+ Da'P/xxA.ႢA-^$vp*"˛%ǻ˖wFHCkٗQrC/Zfii=R{=^r4KKi%×-%^.xpLE6o /4 N Ь&nڵ@͵C>. k:vkhD?tCPB2:@*w,` :dvƫ!LMаkw1T֡f540<)ek{^t-lؕW[JOml,䂆Q`Ⓚ` RZ$hzĒX_#6M!߄צCrۥgQ Ϊ1`5U"@K<|ς:`jAeB +q+*"~eeAS²x]6D,QJ܊Jy~ ewe:͂xQgBRt8p]z}?ړءJrkM~$0ԝȵؼzMk0[0SMj[lVop/^{/(nPʅPUIlpK/sDfkNT A'[fo>8~ J6,]ot-lyRř,axu1xƩwC5T4\B CT.,Faxc , ]b ".P$1t]w$ zAZZY2=ZҐc0KU#dfDljCVc hDTXə@Puc#`TG Y/P\)lqbo'>p?d*&ΟRy>$+b&mwHKd NG6OG)kKϲϣ[fcMT?=TƂ#U1s8ť0P<6ƽh>sp Zn\+IVw'So#23KAY~Vbm=2jdO+}= ԿIy>$. 9# "sdX*HGyiA!kP-_'S-gޣS#'>*H~2"2u}JVJyCBvP.͟T#S kAm/ۅQ-52k2h .m/e~d`ԙ@1sEiO(x-<_,4oлR$-\F$<>-C[Qd@ۛoM'(Qr"e4gˉBņm+=Z,9[J։YK<;0FA(unYkԒ߻lfW;Pjej̨D>v>j j(I:eVcȡ B C*;1S\+ ॼX}&jKV_[ҏFLI-'"*^c$QIѨRdPr(#őضz]#+|Ь'gũ0zV>6a(g괰2ݨ9x ?myQ$beB"övOwи3aBNY9m/Pll yṖc}&㞭l$%{:>cFTl ˥GD\cggJց%WǶa즐ۮU^ٵpFh9n}S:t Va,sjưfLh2P^Ň fE" P15N~ԣ66ið3.ZLYnظ}ה׀C"?nKU|[|x@5Jl~Н^yq-;0oY=Nk3n4^ "\^(7Y3!7rKbٽ>ncSF.!qӾ;49x/aoU#hYO+&T*5/y2-nQuQ9TH'q*`YI7bgBSfDH#@I3\Eie2p*X KSv:O#3G'*Et@O 1;9Wt6X#wH1Rڗ#v>f-6QR;5@uNe!&r.duaTI2Lٸi찦GuǑmP*ަsQL t?J]¡=kOgq:ƣ69nJHMuMV]Rf&+/Pfe[(C@=kUow -x\t) hN+C@HƝdh7O/`ƒՋ792Y(N I 4^M U2pd*u|wȵ`i/p(kE܉۵q65Xǣ]%o%M**玂io]]*ԳK n3IR1&Ӗ@7G>p 9K~<dA%9YQ]?$4 <ҩ?`ډ9{open-sans-v34-latin-300italic.woff000077500000000000000000000526441511656052100355520ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFUGDEF\ GPOSGSUB#OS/2PU`r%STATAV^@ cmap`cvt 8IGfpgmZgasph#glyfx#XK1)#y 8JrOwd^ x&MaCXŋ 9&<&C7&ي ݘׅ?NBE;8p{ęo׶t>.K GгA/4C^./WˑxU]aD,2nbm۶mP۶m7Xb2ms%hGwIg1L'A[.{$sރ8i p,N2q!gOX<$N;og.0ϳgL&%stRRĚk,Lbd-&5wzo%H˰.mr=ΚfcXSAxH$?UH?VIo#~usBH/6wKȅryǡs"J)b%NdI{TXl}.6%UDBGG߁ e^M, xzC.ySsՖj}J{'GRgʜ%9Cu( 1 kyxc`a ba`e``5f9>,0,$$Xwwgld` L Ar,ۀ EK`x@+ @E/S~4 kS7b0%fG Uxl! AQ363 &(HI,df`z`37(MyAPD@=̱iٍ۳2L3KyVXc]ss b7|)f|_f7ևPѭ\u_Sr,e&SXF2x_7<3o(PO;x-3b`Xcpj̘KtնmR#7Ճ/<S{U`(7c#zug[3DŽ&CEvNYgad`Ϩ&RcNp`G.t0¬\H& F-i;[Rq楳oYNlB)$ Ag`1ƨe8XL243Yxr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|ZXYמ;3 BH( 8XqTFֺKɺkK4?|0ȹGs A;ߠoL("hf",,U;-N㦐3ߙאJ DOq_ $~H$?Jd XX̍hT$+u+.~IқPF-U*bPMNك1AwGT^Wm5>2%X"01"UeːgRܫ+VsEMqT Z[ Yčp).T`a͝5t BhH"5*B#|ty`PAQQ2W9RwCT >(H.$ٸx= g,K2ò$ndȼ|iГC"uVcp򬾪e9s*lǐ0m(V?=2ȳIB*3je2@`+|`(M*14C0FsqrI"88w+MK`"dv9 ku1./?#0JB% vOs!8Ӓ~|eKfd6r(c#jqE׀`YVFj|-x 2vgVL=uig]i]b liZ\zeʙq2~֢fw7@"0ZJ quccD2k0lgcS*cƹY-dej-hc Δf Ӈ_~r!PŊ(;o4=мUߵ,;s)雉zL3d/YteYk-g>4lܝ'曢MILbsZڗWљ2{ UtΚ{ kC{n·ri G0\/2^ψ⟻+s|øEW_}h$^%!:z&SWRCy!9 "ÏYU*=]hʿՒYW_{֏E12BBx]$b'K#CRNP1t7p! i&^ s4@Fyl>A`4ڍ\.d'j_A\X V ;_^BLH9hHmkA*UU2WTK$W*`IOK{BD14. `s `!Ro "?k/?y"ەnqdxIx1~͒VC|q](!<B x·'E@]N RX#rm{A \M%tN< %wS #Dr_$0N|?`Ihgg''MiZqf)?}3ūzJǖ+Z-yX]H;?_YU~{j{˃Azԉp3::EU% qԂ<݄>CFOp/Ё]UJ0C3Q E ;yO$iGesZb$Qu m9q|KVqYߤZ;cƬؗXkKfnx1-g:F6g~Ni [qnZ]۹(;-?tځs2cY='!.aH-r4Ӵ`y)=%jЏ\>˒J-~w,}R__'A .~p֡H⥽z]P (僿r'xCAa&ţ#Ì!As$sQgpզ ҏ혵 /Yr쾈‘ͅ^˃<; u-u#O/H`%@Ju SHERz)HkWa1%$Lix”+ Uu$1AC>8cU[-l;"^+~”"ıe Y.)7T֜1lZ$ LגȾ \ 2 IʖF81{W[Rjd5AMM~D=؟#xPBDx%BMĹmc6$!.< Z |M,24z;xy٣>l5vfP2O^{u)sXP3Jz4j{4sKK`unࢍ2w_6-tK'ǐi@oiZByRwP2LVޮQK7Ψv(]Tbn^Ds{¸uefWy0.hwٍVpQ1fCʳu[E8PeNPYn}FV>%Q;wZ?$oN#ܟh/b)ko) 5XL,4E<"։DkaRB":~bRz $)ܳ1VF@Ο(xJE"tO zϭCs㽴ʑ71KƪeyjkiER&s~E.*u X3pޱ;P v|ݍb_@?Y,x `Z&;"-X}pf/ e qQ0 ՕP zkC$SS*TT2ܒgy{U_2'Z7:P7\E\sKOhR?6>5#4}{؛gFRDӹ u} ZmUP`7&ֿwVHDד]r˵0s TӑlxoB#7 ZM{h_/F60^{V 4,0pn',A~(K,W d,oY٤4wY,,#e Ra9Rg]xq)eT[;O)SзLpnz/ք<ڱׇ;;Xt5.GoliX‘ )26H7Cv荸ZKshF{)"MHY7SDiDqk)ǵKm{&~-x2\ (,ݲNQ@({:W D=W>GZ+0 Ԝxn'ڋ ,ΒvYϖfgQX:BpV} W ϑYF`&;,]vt츥-ՖM(x}K\!yQ8Ei';!\(.6D'!.)5zew  Eo'/@[3\]e5A*6'(UX $ufRJ;y8̽4ͺJ6, 4N7Q3 tr$SfŔA jI$F^ewH#T}^YynEc+/w^XlT<,ߍ'F>yHO|ͥ3O^C}ƭ5^dݱGG?dCS)|-It6o;?_ïw;-ɲ#6\۶IDUDz 6s"ud)VO>\?]A$(}qOp΢ F h O.0&)ؿ[qqrWWfN=wK.c;M kB,18F5 IIc6jH0T#֏̼l\79^`֪U s$/N7vn-/|\7'@._1ZmX^׹wvT:0D;\>-?0}]g: tb IRmԇ:!5'ޖq[/@ԯ_{A̻ !%$Eq I{fD^2^:rGZI]ȹ0t +9[$${*J/#q5veAh6ʇLJ&mPQ4zD5E.BjYA^[+ rƶwHdmq vCXfI dAޖ@Y[26P{Z4v%+xۇz?xxc!Pj4Dp?~<gyC^l&-!yR=$Ƚ ![A,E ζJ-B)TYJ~=MY$\\WdRBFPi /{f]<5{IIڸsQ89e#i栠eM"bQHӞR36:^@{Wjg(<>1: riᾗeO}t0#k4"R LD]p,a4!b0Nw!лb kDcEsZ-˺V.IJ m"5w }NA3Z_eXASTDEȚ ^%?p\SzO=Ia@׎A:p`o*l$:e27spS-IL{W^)CА;~9y&л%g=Ib=&MyxN P^I_©@˪i;¶6*4KʼJMRL>X]$0']BȈ H?G.̭vnJ}Ӛ -cgt.54Tv(l7,6}+ *?cRػ]9% ΛVG*65B?pgG¶*Rh kQ,tu+°Mq'1rJƟ\X\snn[@ į E;N΅tFcjY0"MexBB= `FXH5ّU+/Ԍ#'LZ5b;#Sۺ"+@w^3}HjvXfyBeN =ÙMU)^nʼC LFXBXA\?p UA⬑ϝ$O"Q,}^ǾѪEqM9ƆM iJC9ޭ  Sy^Am$uPaWiY|F>*"|3P"91f+Agzާ4$n9t:#%H緰Iyjryt5yy*x'HK2X}tuugMq2m 1ߊcibvkN簾k-_@="OW.&/[2!ÛFN:C=} Voby\2[50S :DzT #ߺ!e5KɸRK#2{8!fT>k >;@YfN:%wr/I$pUݹDn8K I9Oϊ i !C:ull,2S٘B9_^Brzk#I aM K Ŋ/%KiN)bL%dm3I[87r[1D%Zc iA0{IhZ<G^%t`bX>Q3։Z'j?'|&%wJ&8%:S7QW ~ S>0Fnϩ$ӻ=\\,[%% tbj6eZ {lPH+rg%l*6vp[('J^:vرZJ˪2<|w=dűU"9)с^"dt%'p5r~"0:kE4ɏv(6hQ)VV \s]:BȲbƱ$06ȋz35 ;V SG/x%q"'\ĝk_t>LxBƈ2%Z; V"~K}r RƲ zsR #)[T> ӛ" ֟u]b6eWI)Bce!JN۵UePnpy/,O 5v, @;f7{21bNm6,G:cbM7j4XƬua79wR H/7WO7ާT=KJ+/09{:80 ցq[[pFC OleU..yErˮ7} ZZ&-p'+%MH\\*-u{qjU="G:>@ =1* h"-/ h nMoxw>Y>X56ʴF-vYVxܶ-aa[ōgf-5<22|_rɴb3r f~ð=\ǟgen+jRQ Z4*.nY+BD*P $с6Voȵ=lw0YF!@ZmP1)@F XA~ܣ(]=bJ_(k۲J-{+WJʗpwIsq):Wl>1-!}_`jO$3[pP}QӏuК6W2b8RqܠJږb`q^afwRL L +a ʨ8o~J\ Ld #*SADKt.ueo~p*$CSj`I5ʎs߽7t8/ ~X.5iq]M]mk|k*HfA#n S@qJף~~Wݯlئ%#o{7 /=۷EWpo{-^tt,vt|}mιرBgh_jBr@WXՖJ#Й,mm-i43Zl ,+DRwleTT<9듲)͑,O wNGV5i_m[vÆS*r" ZEd'T]kqOO"ـ۱ $<3WF5B6tW .r\hrosvm&jR7teo 3,^ї6+'(852jp3f:V/PuhS(nÃM'e%ԔG<e@ҰA-Z훲y=q> K mC\wJ7y!)9z(]6 pYI-,̠1twJa(ZoXdm<$(tAL{Q1=r S땩uj:WGo[8Y7\?z8?1ï$7)ӿڲP3 #YqMs`;3̉) K c:sj0bݱ8|ֻ_<?܆H܋{sǭIrAoPerBC x҈1H!L@<,J$yZ7D=H,A$LI)0%a6$1M}//Nc&/5%JP&9MadROwn7K>ڰpƧ$8'JQo1h2߃{!@!:FXP֢@[x_.g;*}zTb:jrBŕrexM%"Ab&ƩO^nT<@ta)t#2 4=Zt`^;F+b:PD # 5mM0C9 5Aj*|>ԤT+b:&FX#DRI`ZooJ<\h,w`{fLn;u:m<9q 5,'%.^Gtb FaD>^}=؊n3D̀+b7πщ00nFZՁ'#YIct;Éw;{TBYXYb $cx0b'k0(*c2 p5x[)jnU2^ɭI#x>E4D<$yZ`gO;Cke>ښ v|Nm`- \;OE 7gNukF.e'uValNms[ 0 9]vqɬxKxXj֋<۬tHpH_&2'7 Qקa0{Ex @t E8?d㜱dIs22ȸrǕ m _HW SG})C?]g-.ۿ?xFgss+6ɓ{cX!X>oMvtI44cޕ%)ZVp!y%#Js[7;r+8e6Iu[{˻| RbWTڪڶ20{VGnnK{ZUZ~SynZΏ8aNqBeR`0" t,&Iym%oİwZ @Ly 独2)6ŢT:HY_CUAj&͞ GEL'mΦM)IG{”J]Ka2唌V g׭l^} o+ڞ|xՃ^ڜ06{K~NdcGZ˶ƻת4C{*{b~uU kx{Ԛ],ڰ A:`1)ٵmڰS"lħ. QK$=b)I0@3π1OSf1q>O~*ts4Zq@4ڇ~C_`bE^;#aw)_ 4‚éPʑO> 2xsC4r[ +O\#d+M66n#h6BE*DGL3P!j6Fl-nݝuðs [ۉ~P rڧݢ]C Ed|ncAB2[Kѳրg&i!4 D̀1OGcHV ߟ`()^( }&cmg"N驲ꗲ #~Ͳa&BW*78FH+sy4e%ĩq-9ee,rusLoo ٴsuD3G9d 4O<+ѵ !HOEv"!]!1 I`qE!uT66Tlnn_$%6QXؑE}*@U76&¼ >z7lڙ6`|6l2+TKXZ7<})sOe:6ЩGd "qP[:Z[?<`TmG9|ypp_ݿK$)N$ﭪ9ܭJ{oOu 7,,J붪Sk]&cǖ/lR+Αu>AkJ7p[M@ׁSU²9 ޶ǼEXmb2kk{BJ6Q+Kaӳ@q- ,P7(ul8c0jC{˽ KWGDl! Ňg :M^un=ɣ 0;Jbm*؇mni:^c{jʺj Kg*)`>knXTܟY\VI 6~؇QK;9&^kh3Cj'@ ^nY :W櫜9ڠRC{LP\pbz[:pKHaf~)b+ ifKuI]d:mV~DUtfCuq]2wTl92uq}$HޙS:2Mwe;Aܟ^זH`s2G'b jMIK# Ggn䝹'ǤQ&ORe;- .rj,iF̶j)i?ʑc7䮜ېD1lV,&؁Jzm>SFQ]-x˩_ا )в3ķ%޵wYK7a((?5+Ep`hkwE.0ʞ\!0iUPgzڞ} y#uru?R#h.$b;7;-w`vKiT{ sg|jGhEi(-˜RE/J:jZ|^BQ 5TX.ڗcQ',9w _)8"䏢x& `\X&Z k]jAՐ2dEie˒f-.hO[ҝ?w΂4Zmu`@unnr_QCOCNkF?u[ KWRsԵ{DzOPVF&q 8Z-%5$ } I#6,!$n}XR𤈤ؔb K,=zN]WM&x>5rA7v2g^CTHuR򕅹uz /uysŞ^Uu#ˆ{RSyBQJFcvWQ+:LQCI?nZ8tz&Y׾֙u_?n k +SXER;|sWv5% Wf.,V?2JD;-Nbi/A0I*_l@!sOl(hZVߤ-1-tv֘]6%9.|c5r~ 24YTª_.b͑c) }{s.EYNV ͓' tE1=\V˽(pf&MX[dNb.$>A"$7jtnDcicke6 )濈7YkH+}H+2| /Vi_g9|ݙupykǹPpy±vVN"] CbrȮ"JFSA&E|:tHբD0ϕXgf@tDDzWC">S̗_"BN{"R2J1V瑇W pO2FDU!D"]x8 -'Xk)6HW6C+-C#PV1B#d? *w,oI7[yzIQ5jwO{,鵹raMM U%Ga2h*$HHj?v1I/H7TR>$|Ո¿=lf) @ʠbOxkRM6OSJ/Y!M$ɟ>Hyw-dIIG `0/RHy0P:[m/5g*83Hm Qߑj?}.ɳ!.]g< )_SyT"#$EKSp!2}dQz n%2R!"L3L"LdI Lo$O>ARSԟ󞱬xuɣDB *R$2}O#by@ >B?_< w&P" xc`d`Ϋ/2 Fxm0 o۶m۶m۶m۶m۶헿yVg:N97Ջ\r7:Eu qc05Kf1تct[3MAKƬ9@C/;ٿ/~yl-x)QOD}s);ua|֮.e&4 X˜rH;jڲ6]eq#ulIBqx#?Q!~s0|1<7T4uڱ2T\ 5FUe&,u-G=m= r⏻BlV_vF1{NM<-@w-ᵓb,TR3K?\D1U޼=L9 ǜ*d納?Kxi{w {mm c~|3=ads`~G%!¢-Jd!euK+uBD1Q,WRDs!1W-^"G&fX90s$sF%DUn!"߹GmC52R Ft+xax5\,,KLZ/,tFDLh:Uɾo4,T*RCL5H_xE۾ڶm۶ڶm۶Am۶vu)Yz~!`mhjdh8kmf +-&i9boZBe5e]cfikcod7U{^{SXRmGQ1qI8;9:9rV>cn]=ѓ3s٫x"<~_?!P90 p! V ƃGCCCB;pD65тtnTbD! I=ԆfF q3H,Va{ \x+z|skxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-300italic.woff2000077500000000000000000000427201511656052100356260ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2EEfT`?STATV8  (. *6$P F u%&xp N#E`=PHY@h"CЎ;5}K'5mU $d"h*X6Μ+AKr&-tW.΍=Dp W2(}^ĄO~'L2O¬-z@YUMvex;b F~aNZʨa^ڿIx=x>PMڄ"'7j&DBɶF Sj[җ)eX [&iS~͘-?3OЇ2)ow*cGHcD6qk6Hj1LD3[}3@HjlMu.+r){j@j:oCV+8cQ|L:N\ p\JӘa[+U@2^hg۔zҐ>bv j23 \CwD?lO[UǞr"U ϦUZ<=~#} !Ȼ~UgF-5$-I`ٳ|D,y m/20 t / "ϧ1_ť, !tvUadHi[.vJKQ#-"y/UXVyØj5|\<#Fxq0$Cs`jøMr.1bU` ܺ,D `uq>GX@'VA*>7ԥ{{ғq8}h9:{glL;PŁe4h:C-^jsu顑p~+_E*^Ib*x(Z0! hRP$?`:,EM!#VNOB4%P[;5sI w k n4{zWh_#a,,ֳ-vviX3fV*%!׹Iw>xs>]-?oɫMXOlg>01I 5 VjFe~suu2-n/b*[lW!*Ta#P>V8ܾL9b#Ja=?i (ޢ::ulxU ,b0ɧRGw3{c 4@HMFŀ;Uӣc$0F咽KN O aPJZPS"\. ÅTUsufk"_.c>5 R@)D%Bho#/W n1xSrb$EÑ LS 1h:FKao[|fM:?xxajՅcaEF PIa;Z`RR%R}}ƟPmS|a}ՠ2VX 0#TM>K#JqP2SK (VʆX# D ? ȤIgꬼ/i4M_5t[=2W@ugqqb~v ,A`^/L ^|0 _@= `P9RX?l&,PKQA+ΟQsB8? x K뫤*I5z=>M܉;noG*{bmK3bOYPW_=x3jĠ>]Zբyҋ[>UHKR Y?I/TRAIIn^({a. #ӥe4rE!Ŵ%cp8H9 ԲR)a9ZUqy_i~rpp+đBE죉xX[;r*KuW\6KؖP@2qC/*]PvdSiƿ L䶹؅$οƆʊҒbv ?/7';\gY-fѠh5jRQ-UI%bPy\ɠӨ2H㠀oǼ}U%c~>c*~0#v `Dx*M:,;H)&g)L3OZF35Hō!ah#-٩ x('mƟ_}`=;u^Ev!,㋧3lW>(Ro}.U7a9ާ G_Q[xOf{=^dB(bY#v۝LПlVJ<a3@.C_!kƫi 4=U .3:(ZO%$hP3.5Hû47T?iGw`Kzz̒GQyj+Uk#>i%/e QKqyAm'Zx, ?{BO_v4٦Mqx C X.lnadזCn>ך\_k\r/c ob覗;r&} TthDȔ2_gg4yuœ ١sʭ'ɐMA`? 7t& |O^MH`KHN06\TP۝$w{| i6@"-vZYvzen7 ;t1j4u%94ȉV LN6^ۢߔy+$˧Ze VR٣N3``$wrO-̔#/uO}MF xD}1nVQNSTxg#apFhT^a; x:=K/IYaj}֝I䙤=I0TԶ<O'8Ka1@f]g/&Y||o(nug ΂$,Rt/n` ""ը{=#E /93%h+ YJ-vJ=!sϕ#.y,ۊ˖|Ai|P9dr9rZohfi9I4*v9v&¼dX!6C@H1jFpAr]Uſݽ%LhlDE0KxY=u=! m`Vy/M^L/zWJ|;%J:Ia*>/|s s)WX z6đ~DG#*FwpgO3V |~L-Σ =a\z tQQ穿jU%'2C@:%E+De/(vAÀowM<שIpGL@A_P W#:خ!7;"d,4 ا 5P'ex7;cM#S,K;wIKagN^R;yȑvaA΄կwPa+rw>H*ێ{%ʤ-pf%Dƹx׬:fu]Xk"!\{]r~'E\[,eg%<` i@3^uLs8ճuotj() V`􁤴ljЌ2ZIv$YHeTG{P2c42޹'{OY+ズR]UvLHT^(쐈܄jKb"ʶG \u;qyF~nĥڍ֫2,\!?]00dFm=1B?xTnx  ^8gv#/; (x0G(CH=Z(aGюa]8愎OQRMa"/ֆwZG-dacqK&HvE+<(䜷=Qt&CsHK@:M<yOWQ$)x%!I'h;j$BȅNՉ '(3ƊsƨF&9ϴ,Lɑi~G[w@g2y07$ a-YUA cHœ/GR#22;yM3<=!mEZ 8bŨ# E+0oV4ݬ^[TEw.4yŁzf"+ H2^JE,HYP 3 &L&Uͣ5 lؐôwžkHDYӴ &ڦo7 ֞6 /F1BŚ%oT[rC>|B!,~қb/wtW:4 bZ[=fR7|O er'D n-k~xɓtiwVr C'\,: ^n"l`ađb]2p\{2W>۔_6ϩɺhq'*2sg8:PJʉA8B.PoȻ*oiTR 2YRC@f/!/jp#& .Il 4#`Mw'z;S_Ի8piCLߚFJaӘjiW9;]ٶzgm oL,^4W@dSJ; ֝J~=YqS\b)r7մlVxt};|k*[-A m ,HjY&[ɔrMd̶J2ILx:cmˢG ! œkB>2x(wg.G}31l:]8oY+*ܓ2z>jYR+y%=(mLTœ`e)_;m6\QHEA!="]As؍rc*LgvRKj-E4~:Ei7"rhSXLMڭXpM'ws _ vQ>WާKHllM*tG5$V&ZT.d)x.S) zw5󸉗[@MLk&JIMcK [|VEٜʊ Sm7%=>J fE:%[6j}G;??hIA,~XDB!6֟b{*fhE; aLٮ,XbI'ڋ/_o;fgLqGo˾366v4hbzϐ0y?mȄڡ6XŇ}{Sz 97+F| o :eN>`ěXԋiEd!5FZ8^OcJb28&)x+]g*6[3|5yz$z7.XC2mB $(t%p&$H@2{Â9o+6n{w#yl{Bg mмEFFѯ뤹c+M&[T .HBL0|ԇq"=p-\yyir -!T,;Sa\]ȼ< u{x?ٖ O)VtY='?(W4m,KIʂo͎.\`)qq=_g(|e }[}9trW}.IQml'68&9#4vmԚ|J??>tBu֘P?U_w-I~yG7J޻a('/@ſ6X6>5 c26`EZ%(Sq_^FK]Bj&.^ZbQ3J;2N(V }CM!qde~],_SAVt5^tR5ݡz~!/_~j9ЕG=##fDXYxBa(y#(l#=?gD}&[TXTϬ3$jY16 T86*A*E>"uZyeu<>m-\%Ԏ7X6Nog󇛽R/xǛœâyP/\ 5gx#&c'o\_I)!5?ؖ,_h$T+U90=ˎb M y&Aw=>ZMEˍ-2 iRԙ yWjWy;+}]0RT$y4VkbtCAm;&@!6K:DY8w|LMt7 P(Es7ohVŁ_x珩?1JY iBk. B5y1:G]w*fXha* ȥB78o۞Sv \8y.gUJ{9)of`.s kr"Ohe`U.k{{SIʆyq{:|êF&NԫaUi^fE\ǒP:{NuKXʹz40f8Yÿ[o"QI &$Q mٺ*|q0!!^ ͏Km|ᙻsO/D|{>z 3>sܓ;3>7w 1o044k3nۛ%ӅI"&rqOkLh޺f,oPѽbdjCT ~37äkC mHBKO"UWi- |owb~+*ivw5ZBϷ"*+p~# ~|olτowp,/#D4ƩC=C7|F".Iþogtˬ/7e?Ec2N.*ծ;˷ ^ }&A蛲^ʑ-ppvL7mROBO?#xl0l;J2kq#װZY(?8fJO{)d%UkSoE tzӿN5hS@Kh$Ly 9>Q'ʝ:<Υ"T: &Ssk#3 h ~*ބ %J8ݱLJuݤ͝!L;puSQr'fw_;1 ?vH_w S:)< {'ϒ]xbySshtx(mO=>;?D2v䓝 6 zոtKupJ,o6 ݏ7Dr83~YНXNڿƖF_HYkЧι&-`{e];WВlEL–7_UɪjOx%bEP558#bi񥶜Zr ~3^&!ׯK+I]Uk Ubf2Bv>=\q0Oj-,FSe_MTX-Xcpe\!HKۨZ7tI6UMvTVb YEMCe8\:/ː ̇LrT.1 z)w9IV3 q/R*?C}@T"Αq)ѻň#ⲼR% s㫐JdR*:LkwW*S(i.QQ qGUEōbg1{ EfbƀԷϔ 8:Ēszב3GXvM|eA\G| 7#A$guw"W WEZO͒4J2Y.ӹ4U쀰Z"j7! C|k)XLGh|?:~8I8<6ud`q,6=z87FG|;*sGGylJdGA Oda2(®LW)Ba@3W//_Rќ{ɥL̊ASTGG##$a DX+Sbim{"f݀dC'1-&#+.$`|,%#Pl!i\OqO"hIAC}PW{l`n;Xf6+䕗!֦~ߥy񲩝kSgn=~a QbBkyݸz2O' G&"KX>7'Kg-Z8, ୦-D=B*9. UgE,N㑬%Ng.Qq~WI}_ڲ GWHY_M]: 9/ubSc䳳 `D#BainGzɴ%򩪆QYcmTɭ-i5y:o<]돑YBu6#̈RSK3|ڛE44lGNF KB7F`Ȇ ^M#p4D{ xC2EVXp FbdǁGF#Ї1hLLbZ3֔|vrTٟ2<Ṟ3V.y dpH1ƶ7cn8?.LzgњU׽+rt;H]Kh__i.GxssՎßz R|Jt[ϟN0s RR3+-'=$`kN @jH"emAJսdp:k:NJ0B} Z$ 1 s%[M.0.y}Hy~W7n'SKa% 'gC/'0:.;bzr~$K{?םL>9-Kr1aNv_qP7DNwe'x8 ,俋;GE=߿Xi寶ޖ Wq}+zC߮,ا*q 2|rӚpx" ,:mqۍZ kzul%pIQpK=*DAP&ZX(F JrW)gIZ2G-v#lcGbW4"<~W^ҝ}t1>[+&n(+؆h{$ %̒Fl-^%|)d,B$L-I Sߌ%߱c- E'Gzh->gdϢsl5"R/OCXG`;"Y{_ OVWRlkM_:b q+{r;Լ?.7ʘo=_{~,C۽XdQ.NƧp Bue|Zňk\."Kcm$LkH@ZKbeS oo虅i`z&.:3ca13 ^lhJ*q U})b1%V"H+. 7ȩ$ nUpҨZ&@YQAA|(YZ-YZ+VvfUAʊe"̜ lV]Y+$2O酈3KpRjQ$Ŵѫ0royd*FE_ՍiLDlhP;U2j:TZ HxYj-BBARLP@SOxݸV=a"l@7b*Wh}v)}~4GPDfC3H숴UTydhvm;rH{>Va꽸 $23o9<:Pn[dh9"Ybp-ro\G\{-CkB1e5;YO17? R {a|?4w#tS4!B~lZ-ޕj4&$)t0PN|79KU瘩gd7tdӎIό/qU"z2&)>`SLP6ԫ=-utO*롣 (MtA˺5ӊMҌbdAU͓Gi?ys(BĺM^TIՔo@W@c{ZV&4q^9L5wۋmZ>T&^Ȼ'1h^vjPϑ׀͈}]EHEf͋8/qj{sjuS^"*q/ݡ5=|y;FHxjH[nMSc'`zɃ;x X,,)4 N`H{2ԕv$ F#`6ao:. ѤV%lټiwS<0QaLaˇg PC}شw:aؚ'< |mS)ݰW]N݃Qևf o@\ҬlvNUt <\_paߍ%cB=4 xwTP>сܓ!̵{VEc7R\,/:ǁSJt2R|wǷF1"Y q&3`*&ߛ D>Rv~YZ9ĶuyP}Ⱥ@p/'_R9bW")pn k`WbE~=K.i%ԝӹlfS1ycg_y|0jq~+!QT_7E5e`u`gZJY)9{sIgnY%41@۰^dVb~#6>LJ69jMɼc*حM~=1 ar0i\uu]U0lI13y&lbCO1<I3vc˨`ٍ8qg}UƎ.H=C1I͒}TBFsMit)GJj܇WK gl-R*cրM 4UiSΔ:|?cFڟ@qTd*xƿH՜qni`5Ky`Ah^gy{bT =v;Di/.ǧˆ>~2o¾sBXxw A}@olOgR \j`w fơ &)!U)&̣-,NQ@  EaLi(miZ]Ybj->Y4`}-C5Ol\Kx^'qm]zsB\2>\9Nl-u\Ĝ0Y4hU=3X&e;@8XJv%UrqlL$ctgmIrp>"/e(pu@ e&],nn6ݑ.BF厍={,s@kv]&IV T%g`a6GM' 8I: ̄0,-ǓflKyN}z<<]. EAHİӡwt5z}xBrJ7^|gi+2?Z)yv;v_a.V̟8yidLUV O 1rkGg;%^? IDouc"^3U) *?ҸYIe#i`sYrtخqMWk!GI"c/iSnrG `kd_:K9ՏaO{"JdO41N_z{׽7~B'!<8N; w:ѢL}zRmU4i"A?uEK9_F4>bv PhhH5eލd?@@3(AEJAOA+؎L" $ /q#i44`HڰP7t<ɦcL]npt$/DzUq)pp7v! 2F0Hl!%Õ|w[N^!8y|Kd_X"1Hˆ/u7_sX@f@l[U *Ƶҝ T[ !~h(xH  IoP9]\ X! )5 I% 0  :ZO%MD | 2Mz`TLoOWF&E[1h2CE|qďS`>/, Q"ɞ1zlzp*\G+V{fh&?qv=0Y2]!DuPiPzYEz#T\()`{Ebrڤ<ПW֊G7[ !0vF#kx _K O6{YVq7]p=OpHI/艦hj3췂&?Xk"qM)V2ЕnmAFMjphUv ebnB)\Y*3+IǮ(! \A}%`Xƛɯaص `;C2ݗy!t;ƥ0ȖA]LI5rs#.!\+ K|*Br^>'I dmw%#~RQc|_ Q2Q»<ʇPgDo6 F$z=$^QUxc`a՘,,tih``PR@3`` L Ar,ۀ 0x@P@"baa%{B# gd%!Д?/xlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-uPEo`bjGm3rU |Q#S#y̝=Ze*VSI $̷s͈^8x!$:340ǥ:W,bWN!XEIRt.Ɖ_G .xWۜrËXG\WW.=?$̠}(>I-xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄZ@[Ik1IHC X-mRҖzJJ]u7*t- od`9so/8U 8m@hhʲ "2  gi]y1m֞Og7+cEQ\8X2TZGS4Ř@I^:ȅ^h?z_h^^JժάD"+22 HXԉyM_ yJ ZD#^0⥅[歞P_w :oWN+/ʇLOPď76<Σf&gb0 AaRnN%wac׌@8q 1ԠK\Ӽ3R?Q\ppKp[~=XѪ 7:<jxz*G$:%4 g;(z#O,DS jM{9fGMVZZV߬LLܱ݇{MV>Y}~_s@;9ϲ ^[?[?lط\Ll{k $Pu$A7"E@O$ d“ܴHDmCdzdۭohMxt*W>[ˎ$;ye}{Wj6ޚzBn#/WM13.tvƸ-M_<,Oa=H Kv D\pԔ}&%XzeMZM|$zS BmܜZ]|yTu@Ӽ8\?`"-H3i** 8J"$Z &\YګjT݄er?ğ̮F0Lp :@ <.T`er "TAC4Ø5e^x\ofϛQ0th>e{2A"CL* * x2ܾۋGÚ ׃ (.qUAbWQ/;Gy؁ēIv=]Xv}N|BnnB|[!~s/LR 4@D?G3D+ 06k".W8s-捧:TsUSl<gދb)Ed ' VL<[CC,L&Ps2MKYk`[aM˧=8#cW=.q^WL=omNVy.̚TF{?|E(?iH !=bR4\h2ŒL#x3. AۥLcKSط$[ qJd Ɓ ]ID@w2>AɘKrd1/>j_ߌ/vk}u O%L4xpRXKV%K ]66RAld$36iZ7)cOH#V|(vMcddř/fK4msgY<#tز¡Ӕ2󦉇/L_UX QzdrAvǩ3PhWŅ.}nǰWÛ0v M()s`X[5f|vƅ$5䜜5B l#s&1I~! [p(sw Rd/sqnhopa7Gz@e DjNNJ:m oR zڕ.|W^y?|9p*xrdPI$Dq1w[h"Ww Dz)vI9v9p&eMEo0C"lۮN͋vTvėLG}e/;?ƍ/‚7";ָ?V}v:`se8O`೦מxuxED07ypM&r:lA!n'yHKQL`H\׈;)'JUAN;/;$(苸B)?+Uv=ވv!s$Jsj7]P& -c&ˤxkt2q .iV|׾!UP/ sa>lB/-Kɽzeu+(eȦwa4jc*2 28AMh #/wdꚇǟe36T4;.!5uH!ȉvE6=Z|DU].a$ I@r@7+=CNO¢R2F6a;yTsѡ8@PGJ+`[#E6elaM~@ q>Er?_s-ï,<>9F!oG5RDȆڬ3t@ꑞٟnLSyIFCy.*/֭lj4s !2'ɿޟqq!r'KCv8cV2UaLhc60/z *iMNj7^@U+yESju!斑ĮUaÊ33[GW,HbfQ9{='PF9CalWx ^6 Q} ݶ?Fv#T Г`DT;\8]ф?D͖ze)h.,G"@8q`۶Ϳ#݋y׎fvqsz"E)C2q [`Mٞg=ϴ~utBtK0WǙ":xJͣ$'cej")>='Og"w&@=/ t&ZFwa쑤fvkf T ݲ*V- @A9 yHdi#)&X䑝gX0|x7O=`X+eעoU-}4 XMj2vhX; (o(IF$|{A3& ڛi} v3y+I27M;qN"IegJ,Y~ڰ@7mXub+^k1sv,kj?1R/|}#([ K93chpI1߅˿5|_lRBukV>Zyw[{G\^ZU[[G3E}HmqPl.&MgD*5=`[9*K[1g$/ d 5ψ+`׻B)_xovg Gn^}w}.3y u܀й96PƧS̅IG<^q6o ْ 2 4U5?W{k`x_F A4h55)"tp3f " ̥֜us-LCwʦcHM}A7ΨZ`קk[$pn}K[ R\;_8laP:?y3R҆Lw{.xicDdh9;%e١'vpaiSJ۰M69,'r2nO#_s-1z%87|欹3)-$H6gw4ig%:〓bЯ`*LdU_,z\1Ƕ{K{v=]ZBE}Dr{T+cxKOhoV4LKݛmƒ )))) 5U !m#eTcq6]s-| ֠ 7p`WgA,{,Yz|alJa5j$RJ4^^DWƷAKvMAG}[uyז_gFl•D $_> G, ~1U3꽼X %jl<H&]HTzp;EG-ܴ7N޾>8soa܂bo%w^G/r~=7dFaܝËF NKq8%!zT ⪫AV4(^Eʖ%w_kQ]S6wO\%G)eᨽ29Ωbd=gڍ >?󳪖VZ+oA+_ߒWZ-W*\\tyԫahuAռMF i]?;\ݤu[X]ǩ +U:ƣ2!+{S\͖O7[tjQyYx {%=ViU+&=VKXDMD*B" -*Hl.WN@Iw׺xZ+F7rGW%wD.)_cs'OǑ.hsRmֱ`nR]Et,TDE3gNږͱy;O(?nS%dhONI ί(ڰ#opݒ́ ze͒Zպ8aYE%n]Z*q-wIs gc!d,)ް ΊД=c6:H*c NajA#9aub˖-l1kƊzw$ ,]^]|%u &G|.+@CljYt"#^ZM""u_-hSEqB|:PFQ{(e.,/ g[ QMl pjig/WZ+%'/+au^.deU1{׷ث*[&#A"CRrbM_Ҋwm{85/oj∺ei%1SN/㛰I0&m0 ,HqVޏ(4SCżFܽDE?\XڞlH\)RܡC R(ԕ u9T)=uzqn埙]BZ2|;ѣ__(:eKք3lH|h˲g?Xrsuzz}~=tUz?Pt"mlAIVklm=VamRF ot'ßc0ႴM+E½|Kpz OTk5 {3}Kgk:87qB s 3g^ޤz3=賮e]D{Zʼg7O1uk ܝ>!#3#;=b0k_fC{jj{ĺk#)􆬬RA/iAI&%ΜjXlBaɏ0VyN$R/r`;`8ÿ-3 zjpr=?'7!F{:-A*FPϓ^?+?n@ߘMYxu0^MRq=)or"E/-ǭkH){Ĭ-(s=%S&VtC粔Af-_^3n"o\ӷ/s\j>9/pJg~s 9 vUtU 9J?02 oj7`u ÓCBRRBBڤԐ$ɂ81.6&&Vӆ2q_WpN rǯj?֪4Nc:W *]b Srg^T? hznkǯNHj _qȎY3W{ﻍ?W[s{Pq386w:}<_f֣~䴺 ?mr@ 7U@"A#6ʛfEGipAw נM1ZEDFoQP-1TcH ʮd٠8/f~+I /–v;;oR* gȁC+0EB) >J`vs;u?BmqOemKa B>_O\yhxx8$DKKZ0ƞZݠf9Xl`/;7MH]dhsP׾us˪*fzH}@fEfd{a h9w4xyYX@\ٕH;h݌N=e5S?iRu}_n{Y鎺%kgTL9sR @a9dkɤr9k\mFgkQjsoe:8Fus7[.BɳtJk`pjיh2..I\^-YBzV}K #/nX@vj ]"+\PP y{?ȶP'G0E&D:':eɝΘwc-nad^yZ{V 18< Rμܾi)=PM8#&³;&;iҽLMW"#m.Fa5نf0**V)7? 8;2M/į}uprQθO뒛>]H_dEa0#KkB/ԅmMe]Il˩jk_}A;@3߈#4^] N 8KІj0JVq++mzAZ úR})pRr Ě<4^^..j_wwaT ^Ʋ:tYpN j-H0Vgt1W㧁Fh Qh=._1D-V̸6{6LX L{#%ҭ`C2j @SHZasBQR`i*QCg5aש~Ca.'))4egꞘYE]Nf?l X`Inƃ4wdbbt!5..*af}^;ڲ:7u(0z=fZ5sI^{?_a|Sm&$ό/L^qĬj7(J/%yM/ngtC _ȘZʮԚd`v+qݡ)'BDK.My%> z@W̺NH[f2x'hn(8J))s[D_0l )`nBɱ`Z0n8 <)` Mj 26Hb#9%p /Kw2 K@ZV_Q1ۋDO~G_Z}[ w|+~=S泬> 2 0>}]yݹ6OKbQϴPг`GОU^{)qVYT\y^nZi/јNsSL؃jOh~bh[ѐK!v}Wp!U +QZNlX]& E22 'ZOIϊJOA/\[>xWWu$4BN#95UN+cc LX"Sԇst8oh'=񫔕 P&Q%QfNZ6d.VF̻K 0 -FO*9[s dTaL%2*2%G;v;/Ώo80W,~O_=,}=w?UJ6QIf?KSz 0&u VCC k-&1 4JE+:}!CsNL,?پEYu7%}P-igZ]C0_>W:on m=xrWw_X xx kϨVp ]g Doo[մMXk>a;6ٷ).9hv[y$Tŭc\(\,CTF7 QKީW,˘w_ v6E#"ғO:g\0y᜔蔔Ϙbg`8pu;8BGb@Tjr8p2. 4" 7$~҂\{2RoOHs.s-~Pâ=+"CH-wUXEO(_`u`;qETPŧv9lWO=yd?nK LwPgv:xy8HD#qUazz%H]ڢmETr œ'F.4|UB?m=u!t b3=}*V|},wuD}/;^RS' M/hަy`?53\ƱԣQ):OiNOoN~kFc{MU;d=0ID##H]T0g99CP\񩾡DPa"'4q4%] ߄kA?~/@E9JaF@=JIcWC_3|0+@kEM24vSLI<;чX3FD8]\iώU,^Q5;pTzB[F"1 .B4_vtN< m]Ir34Pfc)X`e%?بwфm8􍄜+%7Ή3`\p4.\ē5!lt4ՄAda}Nv_Jߝu1C?E`(jj<ȥof57ܩ5l8Wdj]n9PqX.)dZ)aJn":إSal5'YWϸ3 @qʋ0<=<\]S+,zF'kL Fk+OdW5{f!+Ǘ{u۬UmK* m<_8UL\Cd"Z> 515sLt{R.|KąKt 1*ʁX8/m2hZJ ]pTx{*mnbsEiڵ}'ƠdBfA"W\:W;lUzU*x4]aI${-}slpG-|?#x7tY{;=f.NY,@ ! л)jƴŔL9_)Be8;1%K1_)QsYSSpJ|OR >FNS] *YI)U߈Xflsk]},'|2U_ܲ,Vt~'XB// a# bD͖5Y+Y 9saNπGOUdu9JnXk-!)Z?^9'io̮9H1;eFf.![Nԯ+6F?"szk7V߰H vhoz؞'=2NM0R0H)mT=LCgWOJŀMAEݴG׎jχJѹodM+H —қ+|5C)7UәlFK KIת^n]IVGut*U{?6Ոl'_5f9`ʁODŰ,KR (%R\Qi*+_xz~D@/萪G|c9 d-sҢ)DM1<--4%%z1E1$/ #>MO>HeMaħ)^RL˜SˆOSpJ0Q]q@\BΕ_< w&Q bxc`d`s9M8EP#hxl@7ڶm۶m۶m۶vPwPveg7{U ,e7dd>:B?F.&GJIGX{|TE|![)FFiMZك0jOGR7需. :F[ H>oTcRk- .8I9(@ñ$D?!y Coղ %`35?ϯb'B`==e&zH+T@2 j ̈́n\E$ RلEC+mёlt/FaI=\ū J![lOH*5:H}=xL f>szHrǹf􉌋6qѳ1o,]JlHlG<+MH~BDBi^$ /_"!bFxE|&0IK-M)YCCIIS**[c GT]W/կ Z+6Bee3$#Qhit2׍dL,d60V^5:`N ){jfƁy`  1^p%$z%.&^;&gs9\s;/ίd c)_/x}LQ17f7Րm/l5YaVfvξ|>@%yE{0̽r bWnj\Πoʸjߕqk(h\)^dܠЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-500.woff2000077500000000000000000000406501511656052100344420ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2A{ABb P`?STATZ |   6$8  k5l[Jă@)=EQ2Z'ZzF䆈f6M*nYcT1nN ZqH,uB-3{Quݕi\tY/4UIY\VXk UI<vz3/.ai-}C~|ޙLPZ  Px4C 3JNigm9=B(H,PLjr:6TWr۹wѾJ2,PV)8DG`[s%7QE3fIzE{/o8ʙ pR) @$lں@-d5 ,ֱW:.])oM8h.I'v֤Nt_\杳O))kCѸ3IlF_^LxNV]cqRt\gf5OA lGTBTlR(R-3s1>ԴryH*OR]n\tf`vvr OX,Ĥ0 N\$RR|/Xє+S 2QSief-[SPx(PIg=RV}zDSqbieJӍ&Z;O⇇ u5Ue%EB@*gf~zIa''%& B& xpW3ղ1?\kkճr3u[TόްӴfUL0XkOZG*5)Z\'u.RFu%и>$MŸl_<زe"<~mbW 9#56:;! ˔ `)LΝѪGg&1*\SخAusgFXgKħ=Be@(3mgLa&ҌpBhāBv05R v\v <ⱛ1{{4c)9-(0aWᇏ֑ UEUqɚ3E`8m!ߑݷ`vO#|0LyV&*|"M!Eu0$ t.6[dBkVZ *w# j^fwm '*:/$ݨ^Dr"&d"xG暖h"`)$Gt/ZT'hsVZI l'jhlLn=ֽwT#L.m*ڳWGj9RS~ M)hD1͹\HFC]oKVyf$Cǻ?pnKXQmgĎa_3.t<6^F!;O .oGI4崓2 z3s5Y-BIOomeɪ4ޝs +%롋۝ሧ譱dԉX )Ti .&N=id^YnAX%P={O{nYe9)=\F0L QŒf,K(9ml}F,ύ%`%=G{CU1dWu27NiM4X7Zgxv#0$нoLt :h!^V<:ք籫;CnCҵ=DKGgmT d]qsÞUdrO;t:!%'J$d$×G< 2rR`rq70 XZ}0엷my yzw r2m 2>E%y\"|$78JPɉG]ȏ>FsdX45sK|&5pb'*@8Jo`9*sh-DDhxnTPYGw=O0j5C̵ƽiRIñ5CjB)["ұe]%Ykd"RPo ڻ8ћ ѬҮflZA=_,ŷuX F2j콞 }kL$-[6Teտ6b :T1)s+3\D@|pډ _ FJޤ잻t ;'}5IHp ߠJ4?T7.. ^B3;eɩz7?)a̍RhUzt.z[7(ǻFL-^'?, 830E:Uom2rGiļYRğo|ZDXgAR\\ W,9 eZjl~2Ur0ӝej`|e=L/Xo++Q)~k(0l 3OQm۝mJREn·Reutf1 \s";lr''aͥp`ᗴCsFBkbb~TgVD5(4%:@ȤVj"`MUfWEp4tL3ʢ e-SI/c)!8TEX6֒8X x|\| rA_0JCNJN@Ġ^Օ@`HBTu c%)%Rh4Ϋx]NSCڶ[XPde 3bNSb6p<%]ڍm .4C 4Q҂Sqʌ$qK{AN^6q6$g@("Sg!nkHX"%V@d2]|!M,-(3O̥rMj Au䀶 Dd"f@Qˆe5jIa #my}7ٱh[7) vo+ĿE {d% qbζvu㹶Z2\֕?6gSFZhЛ$hݛCd,(dIv+9I􉊜Xu+=$*,ba?Fdz+%"[mnCTs-~{E xk~̓WET2g(M|_.Cz0N_{S31*06kRE ɌIY&(u7^Ttx9x&@qpZ384h+4q";{vdt3C"eMKvzh*;cL3X_ƺm꿼Ze6֚fSY͐ga r^$vܛ|*xo V+he9^hVJ @EOΜ ܚ4 R/%b}IĞt$N{̆k&[? W@@>X98R;ר=|ZD$&QIp iBܦ3pP3=AFU&I{ ڃĦvb9 jƱ cͦs2OƗI.")8>lgdK{Ŷ%r#H̟ODZ~cL'/8 GL"3$/_D_ 㣟|{e55V}RꌗןlEvv~33XOQVĕIDi)2m@t_TtI5FcLgFrSܞnқ@E=T|p)(H_u   QG7 =;㟾g$3h\<;ܑVjTŚ$hr1z͹y?/rԕ7m!u{BXdv&P@B2;6IUV>i\5~ ueWzYodxoK{O$FID< %",ajȱCcMz=1%uiL 5񢭎SW?oVwaVGa:E4BЎ/ŚuE!f.VjxR3hIIl@mOjd0^\U>qA@w>V hŏOLOqDÒFu`zpgWD961On|j;'Eu5('(1gzϱZvsқzI[}ʕod y_>EsQH PuE˄gƴ/F14::u*1;I?w3kM EZu^ycX⮼)/Ss1WE+,7IEDq3}f/;)k0bVbxx9}*G3뤱3c}̈kz"HR" E$X AAX = +bxqj}82CH/x^;I )IQ+MO3].F|6~SEt쁰FHfk>*WF9ɜތ|# U]]jǐ 8xtdR/ZfE)cƭ$j܋IMǔ6p띾""?1e[I.{kin^5Å.Zsd2֩ [o!W6]w(b a429}{4%_p]0W!z|uNV+5Gb9K+朸M\{гTLMݶ6P{ȍXl?u"ؽ-C+3UKʮUsiOZhF`MV҆ фa(Oջ}jyIf[\Ws0}cR~,P A h$RMo"ƤҢ;>l%2* LĤ6*VsRf]@m77G蚹/Ξ9jM\/-N"SĂb ikkX ̋`g&[3s, Q$aʰLX0aLz\G}plSQ& },,2̱Y=V)f) FTȭo7. e[_:B9ț=eߏ23\=5fGajgȳ7 bFQnᠶjSD6&[M>}tgUp]& k|ggoh t# bv~VD[ ã'wɢ)xxLL|"4&7 x4>6 _";h@U^00-t#:駅d6(j;]ztpL]vm@Zҝ3~0lfYRȩ*.ynPXJvO99'-v*R "Dzԃ{)Ese?A;ձuuUV#/w瑉wBwXl!r7MϮj;5k QO WO=QGq[AۭkbmgMIn -bNNŎϯ\my>;t,)^b~:&f<#};?[M(}1ƃoɑApҗDQ02뮡 rO8ǩ J먮>~x+~"W>۹T%lB]0|VsEz_dQ}5oFfWK4f/o93A&3x\V\,rd&t+L;mgS'm93uP9Esu!vg!f7f7s]iv"f=]FpfB`35FG+P`op%?- vb#PV׻SICݭmnySaz[`[KB#%Rq~ݑrNxZK[LxԒ z&@ߏ0c1HdB"B)o<IVqks)a5y9`ن%pmFS_7y)-U׏xNjrH|%mkc`@ e]hq07b0sT$d%Rig}>*x Uv~ɹ};8/nc%SMOwdƝQ\F{) YsWV~tkcpO4|>:Ǯ=] a7b2dfZ$퓑W0iز.d58-:8LpF18zPzgbh< pZUB(wGZO>!T&K l(t,]S~Ѵ;wsw2<Óf 1)]RiyszB6v"z+^)N.[wKG*JҘZA𵩢u`,bR}ۂn9;b_6ed Vsʴ_(|3:Z'E]8 ;V<1@*9vH"ldfO޸K[~D$1Y|}JU,{+{8IKbZry @ib'{Ax2ɩ]GK( iaTfu![u 웣:qZH;{9-1xϦ%~pgyGukRyFCr@ ~ʙ=Lb{EUS),R-wxМ͆\^ g|",aVZۄX 1̋!-.v %c)42& kELJq踐Tu 'ï/.E8Z%1ґgJl%iHp<3`42R#lͰPz4H FZ["^3_}6~N$ ) ܈ZOH(fݜHFiOg}* KO`6;O1.P=.Iaa86; OaX>{`%4ϥ0`15TRj1 Ngjzʥ*tJbD ?pC0P.y('mg7Q\ zͣ<\d3+(:փ^uYl`/546QВ/2cT9?*y>{F\+)-zHdAlchQ /k^[|x!XGs0{몞bɭO \9?٣9X/(;6@tຣeÄg>W~QԊ;Mzx8.1\Jbq؜{\t oʐنo ο漰IbũFWI^18iՏ\L+}4p3P}Xt]0I:$^B>JEz,ɏ̜LZ \B֓y+->3MGy$WW(ֿnu}F'Ќ{xxE/?Љ&4%!CA;pQI=tăd􉡖 [.- `ejwZ`}7(KtdQ5XNZ^0Tw:,F K\8ﯽ`@iu f @}؋K@rmkdW|HwPeCPJjopf! H tKjJ~oy&^c>v56.V|_뢅%ojAi}3ґyQorN˽'zC-+q o3rFM|elg@3"ud^7EFp. ?[³BcR`)7u@^o.(.ZU En1_ƃArS' ;0#4p;)~gD_Y(mz┩cWKp肚sv1l~iv(P9(E0|cps{Պ-IHdfAg*  )Z-+w NwNċn>ղʅᨵDI٠Mq"4`D+kH ,j-Kqu\3V:Ρ ;f ۑl)(g6d:WfSHlY$JߡVYF[@V-EhݻVl":$N5J*S`gPeՁDm0K"ApzY A=O``wk7QOi:hV۴72Jx\kBro h# V_m~;~[C}ZU~޽Pq2Zg]G #"~eXY%Rӊ>$E4iӛԮA0<^g\uVQ:HgfBc khsq7}aqwqWO2 &0s- :lKد~ouDtf @>A!V_+[_=da^X 9Z&m7Es}bZ9Cċ`pHw }*~fd/Pvm K`}*3XzlhJV}OaF *zq-eA^_aNIsP|Br:Q`emAs 㑕w("Iq riᓚA:8 if `h"LE[o;H:]C謥<"7R6##DJFG.gӈܛG)ٴKoɒŇʬSr{T"*2s~.8 }YHf-=_C9e}{F/9mbAh rN(X/KT4X?ʾMF'؟t> ( ~LjӺQ j0 ͦs*5mvw-yz+fAz^}[fSed28v0wihqG5]5z݆P: Ircx!Hpw=Tz<8EݰHK1ضv&K\f{n?~f:ㄲA`yU hv_rS{uƹWo mmL1/>lly$چNǜ?_OwW%A_x{Wit||| 55&4%o PINc2U>|p8l;f&}Dd NSD09ę&"sFM=?\>xBs1Il~ITyu,w /(UK*_pɻw~!.v5c1}{?SW(*!ÞwUO*%LGK-V/Ÿӿ!4e#:FW H')f<5 W,Dt.]뺷#}Ԧ FF Z^5/ړA2|DLGnp.w˴W֢0N%pZk^3nX. IҫbӊУZm*o8)@ڦ!/$Zn&|Z1Nɡ'z `N*8<XvB$o=I!}^*]T6ͧ%5EVBjƥ͘ h3ip+bq?Ρg28w'ײ*psx92p 9r̢lyFDfCAZ4X"{$!UJ&K&BN'EBH><ɣͪl] P^EVbM䎇6~,b>_ΫT*ΔK$C+$'L=P$\(BT˕ǃ舀AQ!tH>(̨u/=NΔN-%,BPgQtJZH&Py\8/@9n",=c }YkXUH$KL%o2fVg"Wed(Dق[Ik!ƙg: ބ4Y0 E/bhy 5Wl3CJ"&1$\la# B = ڿtwJœNIE |m(|"s߇~d~N{hn~0Ei&ٌ>Y'RĬeܲ3ͻLKڦiHK~qqg{Ѧ&d=_E3MxWޖ>M|#7}"7|"1x&_D_]ǧЦ&L `o2B&^_ *Cޠ]싳>9uP;o=ӊވOgxU]aD,2nbm۶mP۶m7Xb2ms%hGwIg1L'A[.{$sރ8i p,N2q!gOX<$N;og.0ϳgL&%stRRĚk,Lbd-&5wzo%H˰.mr=ΚfcXSAxH$?UH?VIo#~usBH/6wKȅryǡs"J)b%NdI{TXl}.6%UDBGG߁ e^M, xzC.ySsՖj}J{'GRgʜ%9Cu( 1 kyxc`a bjr}Y aY#I HAHq/G X-DLx\u*:EP2!s^D!atOxl! AQ363 &(HI,df`z`37(MyAPD@=̱iٍ۳2L3KyVXc]ss b7|)f|_f7ևPѭ\u_Sr,e&SXF2x_7<3o(PO;x,A'6--m۶F4Bgo|KA͗ oJeTfl`;f֦͎*aܠ)7U%Y0Ǭ)CvEgVaΊN-ZD^cl9tHm+V]Ӗu V:qoĔyAnKZt4m=׾obT\T,Llq\bo4y9Yxr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄZ\ֿwf@$DZ܊)N[R BeFu+o[{]z}d;l >s Ws[$)PB+$ $jGDJ$FFG 2w)w+3$1ߘxҖ`2$89H@AfcH ݈;2ܻ'|C' '/"xUxl@鍮ߣ;iM*ʄ57Z)A\[z3qA}l>EP&b^?08U1?0a;<ÔvLc*DD+Ѐp`p>+ x!q~&䘴Z]L&HW4z!\$:#)3XBv@]Ւ5VY&suD}Q~bCO8: AF+LuPrYÕ$m^FՉzO-;С--20$2Bg m|@C#d%dFD $D/"|=t • KK>"'(k-]FD ltM8\"zc6UlNxllG͎kk 3{V4?|d8;r]-J37y'N:t! hċHgLX3 ( Q> dl!z("hZ S26!y홧6^X>R~~.$ST743;nQ΂z9-MeLsuFz i#'V?jfG˪'2x$w$ |TS<+FVY3+5kU-;QB)b]%AWE@‰A\s}*mSK.\Ze*捹a@ao;̕qkW+mHtR5VCxSވk@@{^\ݯyj t0kzg_{?BzPZ"' %Hg1wpAA#Z#!:0ٛ ;.{̺D \<7]z.Zf@fְ|MQ!=)#ѨٞU*W*Zj$GL'|74ƒ0 L p)C9JMN]1X<\5 &(Jo@Tt5h`B'*Cm{wl܌"dCJ{) G(GA 9'@?Q9"A_p2lO2꙲3+OXoMi:W]*T+j̏s~ުEg}{}S/j6?8̳G4Rg 8y^'SlGUImp^B4ݵZ):97'3J7#S{P`q ôSFi5*5a]qѳj\dU=bX}UnX([!gVƾۯ 2P B5_Kp+X)L1ahY0DVS֤GO,z նUՍw5ȩ֖eW<`KWscjT67KJwj?1ם';걕y)S:,bRn|>%pR>.*LHi5 ِ}9˶Ÿ;2m?çZOYsOO$d.¿ÚG ,S*(: w{&V'i (:S!h >S:R6<7voY-MI%ʧBcc3lp'W`y5[]XljF6)aa@HPQP]dـ##~Zs˥1%?^+Z\42ۮѪL+v=%9[f|Ja(~tX,0ڹc'R{7v-Lo эGP4!\@bsΩ"2T!&l#61uJ3Q xXD 1b8;puDu4. NlgyeC4jO/6XDa괎ĞOv7,7kRkr{fFG|Xkѥ޼kFʻvjgC RR5>%} Ž&SKFzE2$H:;*U8=ӪФj{`ɩ̢E:u WE2Z;Z\Xkߙ:MN{ZXGҭe2'axMF M*qy#gܐS:v{w~wc}rC{}~R (Po8OSaZl*;62IZ " "bcfO<( +_@|QF[' wp4E-Tk4&22!J*=UL}2䠄$^6\h!U<C޴ OwO256x&gw '(ˎw1?F!m#/OdL8$ALv}*\O'oN gd|Rsw{#&[>BЍĈOK2K4-89?\_37Fks*] X޸zcfJ.dxy*mл+^Łw/˝qBšFzݖVbb juúdkhקv:HRvDCՉ[P1`PQ{64{&cêʦFQg(OO/WjS59}Ցiox9x\aӝX`noٹ-1j1Hi|S+ _ El _yΩGJ* PѨMNhz") kHZ_oo/)t=ws)6Ig(1 Q42{OW|'lX&bk&)swZO5魬my5 PpVfc9ܩ{O|̼i@xqaWk/8V{V:d;:jOHak^oF("D{RKk]:, OTrv+:^luHTcE8T7#|f%2?_EDz''-bKv! đ(t,/&pLV' iI5f|Ǒz\\HKVWRʜ8Z9/ RH᪚()Cj>j2/O1>driJ$9G"ruLf4IٝWHZݧ \e'?b[KCI`Qߑz|Om_WK9gי,Ƕn{&\PؽO99aL&%:fݡˎkэ˟lZ=xsܢW]؅e*A8ڣ {|hdAH": '~#\!9M }nBƧx*!0BpfOHDH(2K(XD "~#{jkסs-WV1f-h99;"v I5\$C`0J= 3OvYVGZd =lI~Ҟ }mZ@VѶ51I ֡Y̍ IO.Mj{| UxyV.A:RvQAbfL,b?>l_(eUJM@[~:17w&Gqo@Aո$TyVdgGI2nɦtшg /) u݂pwI#Ƌ m%/G-XKv6kK*c_kJaq3 x=٨Jh43Yip4}:R1y3.2e7̽Aږ.W:]WQQ_enFG=Ε2W4ɵG:Y37wpkV?ר9Fs693;v8xoɕ6C ;Tljm]eI!0KC>Gs I>NEp R#!J%Ftr`aiuzD#לhȖ (X0!%/{-ˌn]^%冀pO/7%(Ge7/fbcqqus:>Y`Sj4 sa÷RK8AѷxKI[/Jh6]\mnk]n  !ֆ7Ǥ}ӓ{@ TWg''/)v]qg2)E6ŖKVDTxx2]v{Y&O]:ԭI ,VȾyF?.pSgn, PrrmsC|R Y M ԢT( tNY=?r&qzy~0ueNݳEMU4")ft\9vXo C5e?3vuˠOjtu\AWKڋO'&Gr`ԙ$HYiO7J7'#g@G:V>e9JDߐ3s/o'#m\Bq_>{wTC`DV#DxRuB R)HK!>pФ(9j>BԶbL%!fl;3k,v$J̿\J[ ]f; aI<ڊ*ك~?,ؓY=E|m`>g:pBԌ讦BEm|~rFTwsr6UflGy^aLHJM\xzFIQd',_g2 LI zׇnNΈtWx[_dfd?LJۙ>PZh$B̞oBq_#F Т#aꠊ[k6V愎$UP팴 ~]۞YႶk/ j:lf'tl5q-ecҨ_}-u˧^)d;_grqA: b5G B  WVs[̥+ghq|0E#QqFMIɯ_\M2c}E,Ӻ'!HE~GqF^{L'Rb֕ϱt>/ 5[ z䧪cM]iw}EȾ:d ٍgU>ecD o!dJ cYcuA=Ү>!_N)M }hߋTE!x(o<<⇇Xighg엿?vKSWDl偩ʌwOjioD{0c6{I>FEKa;16t_y:>>C+'u%F`U8CӸ-ul\Cݠ׻Y5,٘o H@[@'2֓i{tDm]M<:57?' 7i We^o9&τ\4oIW&4mOLwxm.!嵵lg^?])ya^IԂ^Uo<+pU;LXp2ysS,-90a7zd*Q~BȏH8| ȕ [70 eOԘˠ>9 [ç\GҾ!M;[Յ Ei {fX`b*W{mEkR!~) # 9L;P"*&ՊP*\,Vdܹ!!-i!BEAAP+nݷEeen}{~f~;߹gΜiL$O Lj$a*tLc"bͣ ãIZ*"QITg::b'#:z"Sp n{I2\~L?rJ) ^q70o;eZ6 KQfq >7/f䞦pK]˓ 6goT;ݧD>}4۳v[pt^ 3B$@>2QhH xq+=bKǿ"y'էnk^Rba1Cf'hole fcPO566 v9 0@+f#Ѯ Z&Ďި<|#)pp, FN Z3̠Cg{AŁ{@Ys5sdJlّ0`HX>ՑeM~=1cKƻU8x*|򶋃Ϙ2٦Mn֦On2)$AZI".U% /R.L蒈dRTB8L"bgtpUf%}OL]kRt =VW>"-n̒~])ܲ.=+XqFܱ{p,dD.°uEԌ ldP!!ſ{roBt7 ?̀wȊ[4$4YDt: ղ%wO43MXxXu`v( %u! 6: @9 A29b^c#Ltywˬ?=zn{WeCus͡k۶45~P[sMuiΛ-|:s޷Ji*B`֍EDw:8`϶^Uy[kշ/]ؼn&TTiOeަƽ[۪VoDD \$c 35z;:w\aGwH j½ 3x 2_I[#bU|[0%%.fH^2>nkHLLҐpp Cy(?)K/j1,_5 I JJF\9!#9:ϜZ 1|.uP7"8gCK`3lpo_H f]o;Gg1hLjѫ53$a/%cP֣N?y1bNĝBDfGjKIJkӢ sj^m{jtwajuBZ9sm=p7g#<9yx@1Ȇg1xѠ v' 4' s|='椸ʁ9 g/ 6q Z1JWP!7)h8 |1X *2 tJjD{ ~!& K4l:nm7dlcǭorFR[XǤRNvT_QvK}]O 0L'X@5*s(e њbl?ӚX r`B' xpNL윘B*SXOD00ęHV+"B,r[mCA?όav]OCޢ\1j 1jS -Wzі'nHhAf9nr`NõXvj NTɴ*g|Nrcqq@>0B_j!4Br(*qs5(X7<^Q*q Ϊyxj&>B4>g9؜UGjtb@!8ֵPِg;a`n]̍ʄU4ҙtm+Q*n 2ye\% {gxt)퓘7:}&ꊌNi $/'ڽO)Sү 2I-,iOhE ZS4D^*U2/Oщ7o |pӁ utdv۶lWߖ]3X&~k@'4wԠ0bWr٘ZӀ^]}\2fcx*Y7=v&1Ų4_u :E,9o$>&]Bمwn-T$&)[7LUWWEgi3sB-,}Y}Xep!X9Eu 37q`N;u`Ncv :Llq~G=/Е4QJ$Pj@5bk|xxQPO[WeN?'$bS",:f\OEMhj3sdj8/qӽ JWƠUTƁuh̦-c iHh}Gs SVڭ)ba 000J# NDʵu>BzHw߰~V >aӑ9DNBvv.;[gleܔ, #bv" &*F+C֧p-D";oc9> @`hn<Oh.Tw|6=r*~ ~I$9RY۰!BGvu^<~sEfIҭ~.}L:4ӃJ :0_91B0GGGƆg[ԩc%[̿u0#g,E4/kSc1)u~. ۂ嶀B#$C'MJKüٕCrڐcH͵T Hw>"?3y(؞NJAdוOTCUWWں2jD艾̌/^YuٝCKwneGNiy⤏wOyv,ZcE(U*$>AT` ֚AJ-zTpSiY1oY]|-aK#0kO틳64]/.#/]S- ?sO=r{hi/)[S:ϢW[GǛmoḬ&2kwYe, }}*U)e7$r('Mjbbc84sKEܴhߐ2)=fA54Jþpp(-4>Ԕ*]2ό\vH/?# # ŬG/2$kTNKO՛hF oI"{]I^ҥkËs|/hZ˟|<>UĜܿSdYlE|'L"->Q}RyD]߂Ԍ8dV|q,lGxQj"HhCڄ''prWfe 5bA%uol3s>Ɂ끛ڃFs劂 x~܊~2OK9|Y6n찤wov4'{41l$+_Tf@$S w)@= e7z&zo_-fW8' +źssG$h"C"vN^obs9 o\O$탬~ z~/ӔA*^!9coՊÃd277D}1WE8^ޕ(]_ŒD;I^Ɛ+9:nE7}^'sQbWnݣqp P, ةK[`Ÿ߻T)>Ę{4q OvWԟ25̗]42?0e2M B?{R9i@Pq ŀYda# MmϞ80 ů8 o/31_2g.03:x9Z1+::f60^56#NjNW ,I>OFoHٷ(DKZ~uê({Ro,W[ˤϜ}9!A0@EK 2/\&133sPA痱\9#=u!uT{"Aӻ%n.Y6HE.c= tՠa, #"!,(>o=AYǠ<@0Ak@"@ai\$ź MpbE:hưA촚yց^y ֢ mT%7 _ָ1*&/3mz@d(k[*UenR<䓓OHT/\sG** >R%rDb}rcQ?]ŹI)UU)iɯEgP39cƌlEztvfeFAR\%ܗdh|.5?[l6ZŁsp/i!:kj'{Tɋ6׏l 2/3V&$ e)A (+op;n]Խy7-piYqe55䩗por@0%{Hopbi'׼aZ~|OwDh| K]ZZ6`ʹulqq/ZiI5/5siDtVA:2.nj-qA߶T\-_Nx"e[(òVv2ss醒XSXr\;]=&ë`{v}x3|!`IBf]y^ndKf {(}2Gp./94v=8["/(c$lh[ST.'IH31Y9+8?ǓgMmKB~͖ +Ӭ $lBrL(n `5yE>[nL0gndHʘ s%JeߜToVӪc`tJ/|kvkT&Mz')˪y,kS(e N#z`ߢat?Qf?w*/#rR"ok]5Ig5:!6蟧TQg~s NKRP1&v&YRA='* .8?Ҕ=۩"霾vn ou()0WKӼzIWO\%6znŭt"\Q -u*/Rn?;tZSy\im%_J%0Ih.Yo'Ld;#[fl1wВ5{ك LqDqE$ s 㒯gQeԅK>N?;k#!<)fz׶Rzz|RXQPx6< X%#~u|(:}>#CWkϳD/OC3Jt_~$+1~9-rmƟg|CuF2&%Duz+.yY5%EL3e":=AK ihIL:=OK6aR >& ENQ^%O0%cN/Ӓ~ƌ\EgNOҒ]fp 8WB,_< w&P" xc`d`Ϋ/2 Fxl0om۶m۶m۶m۶m`ٓЙotzO4dQ,$ՙqM vAa4n(e"fLa tAp:MX_E&C|3zYԹF (K`?0^|c=Hhp* t@WsWB&nJT+B$;h;\jnK^rbQf %C/idnI38)Ec}-rJKtJRSJi.s}2Q<xE;m6mۥضm۶m[Hg9J:;aﮔ+kk;Iz{&{>x1o _W7wտ6)$048./"ʡxEx`xcV$cNgdFdKxqyccJWPoN8FybRba2,*jڞ@Z (FǣsX`3x5|Љ^!fY>P%a M]F/'b3xf.9FXMc&lv;]>\\nא}#ncu5)gU:oݶEa/w;; 4( BI5!z` S`,UQ8Ɲ@v/xڕQAF/NC BhhH @7>go}C:.\{rg4GRGwBcHq8VYc e-)-Ѡ4:{Xӹ"`\禨W1,H?c[NxKcMR9!MUUYiF"MWU.iw[ؒ~I$%PУ" XE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-500italic.woff2000077500000000000000000000427241511656052100356340ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2EEi T`?STATV8  T0 *6$P R %u!<!ʛS@u2"8@Wd>cH&V"j3ڭwNiUJG ԱkDS^u:YMR/k^C&ң{ pDA8"۶-=Oe`^t؈m0g85xTu}c2MDeHǑ"={,HƥN?1e.I\Qb_Y_LK)X?mCE1mIҨx?/m}j>v:U9;Y Ӣi"Β'; 23`^؍sىaƲ--MMK}E;.\ԫK/^*#qDOHFٴ鸦oaֵ~!ALX%2gwk%ͫu^rT:폎KqE=ĻZ_rf [ R;_u1*~ԵPOQN`.o%%]̜k]ޡ(=.ݿłR@bX=tJ|eJT9.Ģxzխc][uhaW~,c'Td)+s5(^ xl )zT7tJV_setA^FB:Q.*X>۔І@i(>{1dUme$sm.^Nr ibϋH)EYWըv(v\J^ FzNoE%F!d`UkMlmc[;Ljn.wwg~WOR\+}^Sâ4skYa##9CKo..tͬ$ IS?!-Ro `6"3Ҙ|J"r;#G6KgݑkTcRͰdky YzOc Hve$N BȠ.;6>Wr;tGB>ؑy+68W^ۨqKR`pTTQ "e dD^bI GZwE0?}!A$  S^"ʛsȕY̨l(6ىz;ҷfmؕg@=.;Ŕ(szaҮф={=>Q+͋V39*M󑃸3gbI+;3td'AS?%Wl,ƃֳ:~].3oŹ2d\ P"5?pI Ŭ;LsrPjlPat94&KNqQDcę3ͮ&0 =V~ſhH؄66LYA7y%Q3Aƃ;+Ovg=:Q-,G7~@ zk~i@/mys1:zR;&m)J^BbOGJ9'ĕ&W@>LECJײi9}_]ȕ_+B*ҎtU܉DSYZ"S5y6Fu*7L gxce!X&ƒlE8vf:QAFU)I1%̌9 -M֥mWQCޓeA:]lSr/;*|ˉ]+y;$G '+Pp]0B ᅩ LKQ~07)`K-BcO7 %_1D{鼍r7 /Nq|vrS&t40`?7r0Ba0TC[NRpm$̽!D$S**2OHIUs[Ix`n.ӷ6h=/A#Hl[.ˆI晵ИOGDwؼɩFu|Heh(}R<2'0&ܤHqeL 1y.i Jbh^}!@2Xyт{5aES|4TA.E2 qg-ip0`?m#jұ"G-3rnpq XFU_CY3h4IUEP36X4*?hwqz7v# e!f*VV0̮dXx7 ̦9jpӷN)b#[4B3` ).yvqV1~e?ȁ =}?/dY.dl5H=0c"h "9 .â4hgضaI[#,^Ο֡jZ( B| 45rU4; \ԓ++[>@:}[?@أXǕi#ډaZ0Whdz:3CV'A±pty}`0tbƪz𱉷sZGoWLlQ j"&hޞRҨIMҠvfu_Iש r@pAMɮ149A k9B gF"D61djllq+BuҵXJ#('(E@NHpfxHBJF1@\1{&J\i Ӎk)F<I(-3h۷.X;G l $W*5A 5\\0'z CL)Ig]&W{=rios+rF68,2iHky1^J'pY#3Eb;xH7"(3ֺBHtmŴG hV?62GţOyg|˷tڠIE'/%&ECLkԪJ ,d%A#Q-@1w<> eۋUndE` r0(aSh5%铋J &4}̎Wsk&]RZm\EԦ(қ T5l3lF:;qʫj+4)JRkA0ÊPS͘_>s#Kh_{Q߂$"!ES$`13d32?R]C;Q ӿo=lKF)݈| $o9DfA )vs_iv{l`nMs }e SQ3Tz*-(=9Kر4q )N1ddI*dۑDbTmcшu>*nמl9e J y ]3!@ )#"a NZe*(n yJpK#5mEM'Rk؋m5Y$g}&!Kyq@RnXH Yq{T*!OcD4 X| )]EvbIYd"LjMt>|Č)O[Is<,B<(q,I=UyDyrO ѧ %**toDjdouk!5:2Y֥ƥyLV|@R_@()AV>RylPE]tCoDKF&+v-d?,K@KJS>ož`LDzq?%w״=[c3VKGw9t::[˥I; ېf!K=H[|mCQVmH6}@;kRyԷsЈG\"+|꺳| F,bTi/hCLNjYro3cI k}r=u)'Q_M̈]R^#j [y"_FP"&K|am""܈% ےI5\mgPy@^ƭu1WkڢBM7DJD}asCL%uQAc+!H'CI~ B{9 r3e})y3Rߜsl&%⽍Wz~1khĚԡĨj΄7d;tV(]$ؘR?t4!ΒIKY7oφ߉8N-[>׹+.AK`6$-&4]ӣn]Jt ͻe~s ikA\Ȯ$B]d,/:R^9A#dw Zk‚m.t$ᨌe KJ B 麽|%yD-<9[enVP*uf E/wB9!XP&7n4n}.Wj\6G)x3CtkL^2v=n5vmdfl6~pXnPmbHe(X*ˀo\*oOdm|^FK~3eum[QuyYEJBT FgØ^? Dz% ni,'0 ^=yߓҸ=)ڕwSUNM.o/oX^=pxp %%eQI3~QC]wN~_9j؀OW٭`]Rrh AbJ\TM^;7Fs/}s o'vQgɌx.H }c 㾎ҺC b%ZU&giE1J*kS3fcM~o{cz:?`沤oTbk8%qhhr;x #6mWE }#w5Ļ57n鷤c幠Ugk5>լ J># >ߖ4I_N2‚-;>Խ.O뛘ʫ,{Cnoڮl g*yT3O勂c鎽α x-@:،]{05Sma yَں#ܑe$$0if2qk7IM}ya.e!Vގu4/ ˼R!Y^5(z z3k-w6nLo73w[}~g2l%/So~PY=¥<=g[Һr$ Gg@#ԏa/K V5,kMb!X l)k.aȕ1~h?&:Üw0W!a^g6S@ǡ2 ӆdHҥaqKt]R UP+-UaCv+-v""an:|p Qz4aز>wÛl~g#%eCrbW=`ץ,7_H's^:= ꞋQXe)3^:$8:>9Pf`Yi2 ڣ8 _ L)QGz,YaQ S ZFxKFe]J3\lV\{p">4b__?,ev S,]@%Ј|8D$_SEȊId H_!q m`9OR^5h1-G%}OG#GsɺTz2|/LI,ܹԔW=ܦd{ $5[ hq(#=YC}"AAUbt^B >RʢzY!a'[HVyfțOF)d }Vϧ&]2ntس^_[86[]K]}9)Җ^*CrVt?it=,T|p5Q-p:e J$M mR^ (B}=͑rf$pЂJzvoC`Qd RuDJI(UsUXi._ x^FVƥZU_O9WT 2'9x%a[S H8&'3,jPX3 EW@hfarHIg+Smy*qy2FʯѤqb;*'N _ܮKEny  Nh~/a;aTAu}GF'~#>w*O6rAC[MۗQĀ?3ób9[[-FTw $1[,h 貇Gק 6?3=N?/) Tߣwi)j,1* -^wǎ胠Re}t[s?Rif%q*fPa!#cɃ\W3}w(qaزTt넟1PH2TÐߠVn[U.n$Ɖ>o,]; FN|ޓ1L$(LD:m5Q)n! (Vi DˆGebIEdC&*:zAOW( -t Slr">fحW֦T o?*;b+b2QhZq4 n_vKىɦ[j7jwbߝ yqq>;R3c1m.NoyS{`&5݄##hK?Rk|!LkIfR]SyEޛ%h%}ń#W( <\I@,o :륓}8Jmဳ1 UaU H|vxI<+P(Zq{:D`U2)vTLz,-sbu X%@iˮM?$~P+" Άe3Ht+-J‘~t(k]T{wpl d;AU]Œ w_UY=$3[:8eytBFs,!{v#9]7}x=(^2N;¾3u4DQbr+e8 MVYC:4&ʼ1Ͻ4RK+|/[B}'a(舍gsUɊgkV^:z!d>0)̨ lN^-￉c,?eFIXC,N_rDB-G}Y9] HxJ6>w33L9c`@3a3#ƑF-,d3PcV ߲:S* _1H,6oؠx;+'OS˶8Davy{]BJR@ㄊaԝFuO{e7Z_9 IjēM֎Lz.,8KUoG:0k@F)eї EBn)%BfzEMﭭ=Υ',8)v?/R`,R"QEh3ZƊ#!Qy|+Yn- Kѻq7\PwPힿnۼc[yB=539e>r%̗T,zI5IsUH/0,@poI9\aLtx7{ XB rK˾~rkQSNqn~]H>Sؾ-Uʌ.Zc¿vV5~) "|`{3I;43sOh ELir ;,;MI0kt:z .0N\Q $ x؋ET_a"bӓàCI?i05tN?hјG^KzLHQ8cHUx*PDQR)J+ {`27vC s:p޴gp# 6gbR{:cK/çˎCQaBfDIyze\:.w?[11-+y75Enxz7/p6Qؒ s$Qʍ0pWb [70];@4d;뉺RI*sd H hM-y5) MȬ!<*Q+29Ϡ0JeTt`d- 5"QWAG) E((/'G,J$d+%={={rɹ"Kt>5 qbRJ6J.e뤄BG9|*)UBtCc DeDS&vsʛF1綝8L P|V~>WTا:Bbdj{nZ{yAH~t`D-:,i$5 t ŴB&:ESAH,rZR$IԠ>}׷3Ԋ(5xX)8xE[ Q~i[*ՍG#fʏ `2CXID Ԃ91%ލ_.Uj5m9'p9 FoB8j#\MWb3lm +ׁCv$?#b/B ;1Rs[O&9wwT,[5i% =cEv^~Y7Ç Đ0!GSw|\o/],2?]|vuhҖr%ro1': Y*=q=7z$ 9hu نQ%ܵU[n)sLt1Br8D !v.lZx[F)Y0g wX=hru> aǎ;ZΗd}KvHe6pf+T1;ap9AgYΟ;owoX028"\ufq~Md3&O`UZvgz4`["VC8Rfwwѵ\#[@cH!]qurd///°i,q D:fVWsPϖ 6-i+x睘N5|qr8nԛhFXś'A\` ǑĞ-P\(I8Jc8y5:4=永9#`z€3SQE@'܀)//@ŇwL yEEQhpDaH(llM sÂ{JEaY%?1Fǐ22#d LDτ ̛F`?% vWn{ͭj-\|=ZH¹"JP+\&P֝ EKM XŽ% X~Dk"_ v$٧Gg/_|g'&LZekIUmt4gI{7cnj&G+ q{m/7X[ ZEQub@6 Ҁ٢Q~+d\߸Np!4 $Klpi1/xys' c9vU a1/? Ż-ԢSJ-5\2!V-D;/$@c-"?rP{0$@0"v,Qv;oI9flۙs|nZ62 #;k8&$Lׅ0zdEץ#,PC(04ŘC_G|m̞(Ǜ$dZ2k Ґo~'!A=LZr-32A.<9Y-ܧx̴:}:C(hHL\`X 82s聯 45_\=9+o߾MsS5,ngÿsch !kRpRglx Evzr7;Do`ĹS@wbp j|`kfO&G6FOp JH!jGAŘJjORdX{N&d#Nehѫ8vLSxt5g!f).r2IWtO{Ry)_߁{8 obt➓L{r̍d>ê evfZYPzdɥ:`ֵB ǃf"4i_߻MwH3>~+|, MZ0#rJc!Xǐ_1'i{7(vHґr7Ͻ5T1:8 ks,-ITh\CZ mzҭP];`3 'Ɔ#pϑ $9jGx1Z$ ԋct‹ak%䅽`ثDed[fYXuQC]zjF+:,81igSS9HQUL=eð S1Cݠ=F﷔G/rEҘ.MCzӺٿ+{(؆^NYG=xaI7JwCbpٯaa$(^4[ݾU="r$G1ǫ aӦ_5Z3ݩ#սAOF^"KFw 8v@~0A/Țwhsj'&ЬֶGZr}\@룀9E|?;Cм UQ2N A(CCIݔ& `Eㆪ=J fC?( kU$1Dx5P.?uK9 +tp'L0C6ԁ3x7xJwaCN/ƈEpyq54O My]#=Bȿhi*(j,i.w l!a{$D<ޏ0 &|GϿ ̛b,dj }:я΀<g ó3PH 4Dٞ!NR3d_EAhg@@B'".6v] XB(l"140DDOy1D`*&HdH *!c1|# KDHo"ڷA&nZcC&kee}.ς5pԍ+l.yP% [\X|u(9( jH@G=8ƿy'~m| %g;mpe_xZzew3?H"} zڠ}8KʰA2##aps4#< -#%kvkJq54M}t* c-Vr8>Ƙo| Gd1]8Due(GʣKX0L }议#tgc3=|Fݹ eLaQjge#o^?ߥUOyxTqåioⰫ`WV%CrT@ :=tJVcRD_P':^^x9^?~|4~5=SuƱ;lHUNx'OWA*sM7oL7mW6"._<~)x#q`}*K?o+{GGj#+p$lCH{J){3*HKyopen-sans-v34-latin-600.woff000077500000000000000000000503001511656052100343520ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFPzGDEFLbtGPOS DhLcGSUBZPA[OS/2\S`t,STATCZ^A=cmap Y&cvt =D,fpgmdZgasp <#glyf L;8XVQKheadH664hheaH $ hmtxHo8mZWlocaKL  ImaxpMX nameMxBFnpostN 2prepN{x=ñQ}'(B2t@#P`7Cc1)bZBlY\G[~& : DFLTx<DQwZUA @)#%mUkT$I2C`&C&@BD*@{98 KڙguaOL9%. 'G')d6\4Ha~&QS,ħKF \| 9Ϯ.EWs2 6+m[.7]\ss]鑧C=\}fob Ĵc("s/K|ȫ|\D$EV|3GYy4؛}IN vw+ 1!ľ8œ;m7mn F1g' ܩoӀzO>»<ʇPgDo6 F$z=$^QUxc`ajraf:`4 400)n 00w?n 9m@Jx@@JЁ%"&w|_~;=PzFVҭ RYvxlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-uPEo`bzGm n?bnE(j]77Mz?A>5j!yVec7=S q rvό]!V夐[g~I Οr(Inn^ u5|+}cxKhkԹ#87ؘI/xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz@W9BB@KeY։V;m]쮝ov}k?I|ߘsq=, 1@cC(Il@xx ƙb4j SEA9¤5䥥 Ț'xt0z1bj^?MF`dd:y3V+^jBN L&*+SIi_ȃlSMz4:4Q&TC`9GCx4q8?&p. =X}n B*о"~n,T)P fW61V̱qqI@-3) BAlӍjל*9;g^;\cy 930 4]z]pv*<[:nYú ʏivr Tx68!or nb b Y塾An6o>>R'Dz\I J| 6Ųb{{qIISڮ_ػmϯӬVʯ7?o{u֯_n ?>s?{m*0(0[ (܅!Di$6-PDHm< T/L,~e{$ 9@^-!4`پ68&ڪ=qO^j30V$[3ux5i&֔0W3V_t.;cL*51a[&n?yu9]2A=RoMh$'%>UpƓ3N灿FHV*XGBՇ ڪ5ֶ+ SQ>hA]ƽ}: xd&'!"*8ѤQ(ź`6kj[ (fwkV+ 9ku"aU ȀՃ hrH*amDbCR@QFPPm.m CY7oǁ{aw|>[e6M1-;)DAcVk85Uǩd8|@w_HO0mmmʰ7Ru_qP0BK-o֩!qϺP$؞Hcq؅#FJJW!P`󾗜ĮRoD:D@`L=:eˌ_MKm6S1}ypĽ{p+ܜΝ/,fn@mKbVJۀoN_‘&0B~Q:)h x-pd0m 5VX|/$a7et:3Lƚdd⣙, ]A𹺕T(PݲSJ̲`[îS2o-4U>7m$#" о26aCB8tĢF31ÎzäD0,Y4rrbN;3Prz k}aY#lʵ*K>7"b^ja%bw%}mSϜ9Y F8H!m77^tX ^=!:5hwre=W28hP5RMt-1#']^YrBau 3*Te`%c@i1QOÂXKu" P]DawF|`<VY0z7[$`fwId/#gRꁦ7GhAWg7emN]4b-mε -\>t Iн9iBJReb3s9g1!}xDy+sƯlY4ƶ%9U֊l.UX:&elOjut)~+~c\PJFǢ̦NdE hoCJ#Ͼ?Wrfgk8P|VSa`ݠj7oIܖBTNdU[! Z8"B'idg9[O,S gxe*61I}xLCu qȤ䤑{Ptgy>}=)bI6'V4C7:+aףGg;opkXjx54ug&YMݕHM=5;~ )Dr)!aʮntE0~ݷ: Fy8>Lb*)'"LL;hHaq;s>nM))i^G&(,@r%wD1ƣ1I:)1&=#6{ͥ^I*aVezVFiHlFa:z_Ź KIb#Yg LRl/`Q>k1j`>'bhtԛc]4AS!ܧvn{g?6v)t{cÊ; q;Ͼ^x򨪰L(Z5ۂ,=n؁E,&,O|Lj/rpٰu ~;ǽ8agCh ä3 \Q (:AT2bDSt*Uv(]&|F|<UޥAaG{r Av"R B@lge.av2!n {ExĆ [ή ;ǾoqL rgl\YAVOg?EͫTe_3(}\TZu\yD{'8۝؂ĶكE69#thNU~o|3N>nbPY#^co'l|r$S]x} JY2PKاx IuuE DFM}3JJ"=+ =]G߳<  $Kaa& [XG$aUn͗Ju/ cd(hꟛl? ~MqAƙSqcOh m s 6q62}GvD!z0=R#Fj"Ư&&W{Ƀhh7kй ;D~#ғn8a(](u j%?0eNn=O]}׵r>x%($ь|A/6&Vw_A߱Vn=?Vap8ͩWfANJMt6]-KjH ebdzTDZJTh.uzHY"%dop wی L;34x.@Em]ISvIEJ VZԣt<ٌM X;=VD tb*}0;7mj_1 JdMÈ\{+1ĉG@#tCp 6nMOvqkc}qK' 5#Ο^тCv0k(H$IMYS IAgrg&BH'.bp/mf:~Qzp~KnV}NŴLJeQXwG]qb)[[x?LPH2;)KT*\b,c-)^}4;w^=}mٳwc\Wg {.4` 3Q$ƲP b`?&E.1ŷK׃?GPߝvy̗ YQ;l~uLR5vZKʂ+uV)^SRfeT-)n:ZuC߈xa}c6I1B}P˻N2cEr0n$իH`\+E&s\qxq3`.6ŃCgltt h7u6y" C"#҈&#rH{ x$32P(fTkrmZ~la:`.^3 `k)0Ζ(u?M,JdQ r4jw ɔ 7b҃aOY5rn.N*ߚ5}ʊ9; ޶k_0ܘqC"AԊ(8~\lpp= VbB.1V+8qpMLrH1Hf.'ߎ]Zز<(jz,[ڬV}*msgߺt5AM= o;X -xڑ3qTR4-~rG!ImsS-V[SVtq9FN-s쫿Fc;hvm&R $ځ Br1iMX8# Z%۽3}EMMhֶ TP 0=ަ GtׁSDl- ò@!yAoC̀jK70#GPlv? Ѳ[/¿y=aη[[v ` n:ҋ^6 @l @ d'`P)Qb5H8rNo%B7:5fﴬ𤠂LFm*7^'DYUI:@%A$HU$Z0Q lQMNHѩ|q1:AhC, eLS[z6_!&Vhl ?1!!q:.⣓[+{$ʲ@MUʚNsm aCo#Vc<^굗$%h†[ƚ[F;c$z{F3J7Q;$4=M_:xIqwqN2J{3wMx^faibmw.zݝ?;r·IL24{PyKX2kp\:%Aְԑwn؆S;aOo- Z l)/+vs+fΓ.eq`o'!x`qg+zam֗d.ؾi䖱*n0%d o#2|GpAUlJǪN`fq%vtD|&?LJ4ibe^[Qʧ=s ߔt"=G@KۉS@AcMO Qc>ENMzH\*P70v4}'-'Hto1lՄwpM2zX9.'t$E7 [k˲Zs{WMM MkK?Y.={,Ʃx_OJ[2D$*//YiKyOcoR{Ah\*߻iՔO7#[V'=>\927b tSrdƉwx&2c{2̦TVgZfZepɝd1!7P5 +}]jo%~T͊Cscz%O'6Zejp[:μqB F땥eԨF)$?{*6#kBqS+y{IWgtԨMËJ#WL٘ bKO O S0x01]xX\L"1}=dII$sS=1|)51 .d:IM^E5J6޴3{=L,8 {O̿ т<6S|%ucmP%N*9턽k'FO9覟ܞ|I-fB3 #@m}}:q:+`b=hRjxV}/sE P":>#yuiUZ0m @":da~&}db3.L CZtODG/jY!8/e>*FH˰!@K⭦}ܻQ!VTL3ru!>E#Ptԩ!Aģ,& 띋9 B@90iʞfEn%9(ExN7C~sp{e#6ȩaxm?`׍rw.vj밫 jY ߻{)YVl޴s;'dxA)j#Vnqx~nhT4z c&@{;8Q+NH%]CnGxú;,ƺX_D6uÎCfy$Usp9Bty㙂³YNh]P -B^5(0=rR*YHI@x D+X߅"'X_dN%Gb(d"2E491NIM,L)74FY7< فS`ʙrrF%HI'5{ qXJJJm=9C OVv-Qhzud|)9+iFq~1Mf@!⼌M{]fnx3c@vfd׎Gq@BX!j1 y9O wc~\z: ׈׈j?5Ts }1jU`k[b:nܒMY瞭9\A{Flkyy!]?ƻʶ{;mSģУXUU*5L4RyMjzzϵ2fDB;3SWܴ4:;.2#:jf<8|z7g?^rb4th_z2z34GKQFEdnn4#HA):?zhhh=@+0:R{3WrjhHHZ0/X8wƂ~S4?cZkꤔIda┈3uX>}.0`ɉڤց))dS-ߌcIZ@[\&\.j&Ś\xaK$C%iOi̬ˀE J x1e UE~ދϲ;29(l b|@? vq7^/BiW_+?:?>!_Ӓ9kj}wxEn(2TWm W_v_n܍E33Я/Vk|q;G+Kl0B(1/0~aD5r*1.S52.S5eT ]'lfjK֦)ɦI5TNק4w74 dXFIa,^S¸ cS%&z6`*$R)# Y7J ,%SB-hpg?"| w~ނh Q~$Y :  F4*<n>soO4K&SJPF 4(k]㘸u<"J=]WVڼQE@ /i/oA9*/-sU,{3|:'RVJ*c;.j=8v>uXQp5ܼ*!}yن//+%-Fodh77@,|Efr3J kW{1**@ُ7YbLny]B@6۷6< Sj.MT1KLuL,nHQzXomSlsIy{f.V lskҵsޙV/22HGf{JڢAE%5S'N߿5"e}U[Ç$-Ȍ3ŇLHxvRg&jܒq`AIye%!/F:z6DNE{'D Myz:Z3w4hRrЌm6mi?ʐ`rqIMWd 5ΰ)ѭsjBF OHDGt wr/’-@i\\jHTvůKQH@`Pꡂ{qJ!.*@$7ogd]=Ī4vtaQ3V'yPN4(TcQXE1nR,7 [pl@Fhmh˾޵>b2̻؟$)J#"(]] !=EzN\.*>0g_jol `hR] MX):Z x"gUȇQKaI pkX3%y⬾jOOeFAQ M*Ѵ;4_x\o"o!b?|z5$%0/vxQ#F[< 7 .;$59kCCѵqٯ.?S΅WGT } /Tz&ssӴ._q4JQ ]'6@ha9XS$yS&zD{vRT~.=>yע?H)ր脄d%&"6c(.Z v#1+sfeO V4zĉ0$X *_c(i_ [ }X1eXRU)VeZm@7ZKw-5V&Ubt4yYib$.3+] - 40xGNAG|?Urm,[{f6!xK@!8x!).5@hR(uw^^z6!͕jog̞,7\ر:ǼpZZZeUzmA_rvqsRL%| j2Y PDV! x3Cӌ ۆA/1Lf 8a! f* 嬠=g XI7ҋr}4OMߢ ;ExQ¤_Ggҋg! }IpG$O(r.hMD'Frc#.zXGl=v45azMa w6ra> vXdmc59ず!D4csZ1=`,qMf[dJwLY x{k<݉GcG,G[#-t}Koe|'@X#\~IddU\ݱ p0ٝܙF%?).i&9 azIpnaR06tnZ,b ÑVZ'":9KAJE?KyF+X.m \;)YT'+p|+3H[ޚY.`fnp,W}|`cĸ89;kD -暱̩|!Ém_Cz8h"!lԾy'nl:f=haڔޘIKs5:&.)nGlwN6*'d0* jU8ZlV3Offe L Ӄc&SaAج R@ 0XkY|XjT8cq={s!H aZn*ЭC] S;,P'%1[9[uJ؆o#B9S>z1%#5ߞ>enJ5%5,+냭hW}:jNe1,8ј0zўaL ycƥ/.VZ7-oZf#ZWS&!5GL31\ ="; !NQ -1tCH ¸s 6 !⤋KF#Hϓ"! "H(Œ^dA$v,*S_fa3C)/0ê??ل7lm<<Вɷv߰ ue~2\Q_Ewk[M1Na~~LV+w +#c6v6սZ޿w#Uj ߷˼m䭕gL/Z{ڪ8usƬ*4A1LfO5gä8`WttvbgG@S:x70ⷂg#b7"3u`ͩ)fs IZ_^WTb4 ʧ\$EgIp |}ڢvElI⸿hb1mCvyU;NW.0̫2s{zuJ⁅)bBOڐuKJ^Xu86߳Yq=%f|;Äz/9f3fBa%bD"^gPS0QxRE׫8_rF'j:AY5ڕun+ u>+Wh#SBM8ر;iFKaHG3a4*wA)ybW>gc ukZ!mᖨ ͞>%=}rDܾD+=Şjzyy:?mDG6~"Qp ! ?5RNj`d}{ eҮfBʢX^v1)_T\d)(/'_Moh^ߞjwIZEH$zZXDbp73sF1}"%DQ,OC:θRv~OE V_ilLbw`K""QS,y"Ldbp$"vu!_^xW"DsU bSU!{(ڲP$ԃҨ?/uP p!#Iر#);9FB_aM+ks֙0OngF쬝Sńx''>thlܘ{"uQ^{7ƒo^]W˞_ #ۡG{Ӟ 6_$ğx>KWamP2TߔFE_В=g~D}Չ}?GB_ {O { cȌs0T*E~ !="DV%HW3Ѩ0Z<,i8,rjJE9t}*W{ߣZ?B9 Hk QBvmكd&Uަ7Y{ı֥Y?Aol?6wo%(0TE΂>%8nur>i=m}nH@B>9 y`@o)Q sm1W. bxWA=/;a+쒙o$U|>:}4TVDG!paiCXZKiFM~j%O0RpgZl?߬4V>xa(,քE?83QL}{"Xg 7F%Y8[;F2Xp0)#='PXZTQSU%y+3)%{XRm}}AA'O^l(m1AO|!$'\QNb7?閃wtC+/.}ozn߽k;w@͉B! A(t/\]<<-ꁠ9A׮ >E6 b`e4e{bb҇ ˯1I/8I{5%1Yۺ'l(_wrFqp|@82S2`6զs-5BWb߷.klZ&jWqlonM9٬+^{3;F;I4e]Q;V]^X IZiEK( ^e&#ەڕڕW vI}~T(ҵ;RUuX!NF Kj">|(YK PamB,%Z",x-9y$ZVBɧW`wxI2s./UgXDPvU,ϝ*\wXǹ6Oy 4ĖlٺWb+"b_E,n*b"bZ|QX]GcӚCHӯ#ъ@uR^F̧-R"bψ {Ym&]K%P6ː8Qƕ+4%4lb螵 䄉/Li]PyxugWm˚Zj>e b^\eS+NtUEH)USEyb9I:f*lFAnS"Nކ v.|YSJBcdX`S += '^dOѕd?,%C&>NWz^+3$GX=oD2zW`wxI2s./UgX+I$[B#_< w&Q bxc`d`s9M8EP#hxl&At̿g۶mZm۶m۶cpE^5ɗSL;&}$1NJ 򾠝ݝ01іԔh\7SMJ46eؓ i !I'ҁ&HҔk\ImAڝH+!nSmknZLp_%~}7لPs3` 3v`ScGzڢ(VixsQ!4cMyJm{w&Fr)C/Ueh^c/;=cQqs`[cti^cTV755 !6f6H=GuU(#+1SUzا{O _NClu+ 7ڇp/El LUB?a4ؽhA[3h+@,BVB[Y9Ƴ\o昼d iW "O?iHRN{D?@{\Rro";@^dM(c.5f }o.KN(u0)rCxDbu<xEP:v/͟m۶m۶m۶m۶nKf}Γ3ʳܳsk{x{o¾ZMslq<` A"T]85\o¯8iLCZXz&pύW[.$jۤDV$PjI-6>:ݎ>L>f4s*lGv>{q%ZBw+yCyCB'B[o"9ym?bXXx<5/W=<~$@BLpBYQ"n?"#bfxU|.HI2H-MYCC!IIS**[c GeT]W/կ Zk6Ree0$#Qhit2׍L,d60V^5:`NdwDbBb/@- t80l;!p\w3}6a;ثLsNygpN:-œ,_/xL`[50dstB@R!F"߀l/vDjǧPi_gUفjNPsXENN `vOTVYdEA0lpwݎL}nO̮ja W) =$Ɔ螴Mt㞠]a,3nDŪh 3˰⮠1k:D sԣUUq~)U:专P3MaccmǢOeyI-Tu}mߺu7roԌZt#.o6,oг(g,q>9U1N]/Zcxc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-600.woff2000077500000000000000000000405641511656052100344470ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2At{A b P`?STATZ |  tm 6$8 & k nZa Do63ھ Xv] D4763( qa3m ۱]1qԋn0 kMQ!*DP P7%X֊~dv^onl&qE~ba1pjuyκKO;[uLr4TGhܟB& adkvh+RVF- ?*RXDR,kh,f.s(RR `( vNgE{]Wo`f6J~}Q$ȎGč{mK{`*=@.{8r|{CS{;C=*3U vhISC<drKo ăE63iȶ!@O. @G5lgvA${Ӻ(]׻1X4s,75~|yvFsEXV @`R6mi7/6ͥ貝7讒|M-3s4^MJrhE]U]UUj^u4+0c~j@$/Y1ޅQ|A@ΏC]%iݡ &}!Ei Ov& 0<1L8l2-IsUTKuO.:؉0a nTm"v59'=1~`2Q`(1$]=~K{U"G Q ϩ e-ԇ+ъcD+~FLAON(Ŋp8 ^C N*NL `U;xY 6T!1rD,Q hcd|0 G/aae@::yt&2C_\&$7L-JQ0XقR #H)=1,p[sl '¶"Qs~fCG={?rFܨ+2/&H`&QS$f &Һś7*^UAz/@(b!~ }eEXdb?H@,V'B| LOġ @jr,S(dXFS'KҢt(=ʚr| juapiq~!\QO͊rΒ?hw'_>僗:bތ{W<2%hr7;Jm-霶ŕݰYdSk,5hR utDi'[ (.*R;W 0e4k>}ęOV/=hr1ز)yh]N=PFlA-QQ ty8mV32^zIix1-ISa=bT'unbl$2O-_*g?˯ҧ-#v! .7 {+( tQD!KyW卛8r {vHfGCwBGR*kh! ~KOMM(1갷"d[yCN14Dڤ 71A7`iߞ t.w5lR}Flprh. 03Xr7ܼĠY^RGsVjLBn$"J%lI$$rap^yc sz <-MPZ_ɛ $htfc4I=7Ѥy9ظmkjӛaw.MC)> jTN ө1J4秞q:Bhh,9o7 e ɂL5ͷ` >-Spx8 rge7;y,WƳ8B`f=$5h1{e?;:0_b`޻."(.>zB|x~,Z')up6XnT@r>ӫb6u27S/TԢa,tD<]κ0g3~KU+Aw(UgQIqzk0 ȃPW^{p?oCLܶyi@^7{PTR-VA =;sYI"[WDaU69b2%9ݴ7cV5 쾉p]`RH^hL26 &~~\,`>?m k}ѧlH ڬyN\,|УAHˢYRN~Jk;G,}$Cq|y 0&$^XW=9XâIczCt.kk߄߱@LJ\+xD/"xp(:lʹe茦U*CX!p#{8\F5~V6WMEdFGV: m/"mP~@} u3p#8K'y,A Jk4|.8#~|(DVw8zU%fwξ&FrL򘜠o FPS e:@j"D h]2YLH^ҷ ߷ #V'3C<0Xr35%1 ?L<_A=:fyT۰%RpǠyį{ܼCNe}%N#fMnm(Ih5+LLUAΌ2"D( 8預+"h,& :OۃZfgd "ݸ)HY ¥K {_6#]J8E6AmU]DoR (dЁRdVszfNO :&zXKLEUS8鸈%9EtFy͋,j=f\d*VXf2$3k{.\)br۲Co9`ڢΔ/ y= Ly!`&lF J|S4S1tu~wlc^zaT"`~$? QnP݊d)W,T{/M 4tn'7L5i,Ib+ß˱?f1R9 E &v$:$`BgAzlAHv rO]0dРUˎYhWU\4vCEGh8$8Cz-RΘQJ8F]Ph$,7 -mIA~PP l3lt8[DW?NFpDm5" J0jn&W` 6'A߸U̴΅ xM5L!O3(c 5gY#˖y&VT̲_C!akˉ3+-~#eC/p@U4+w/v3x1kNfrs8dόd2UȲ}e]v)޲ʬ|Kt3ƌ14GUޱ-0-O>&!z4)LcTl.y葺Lֳ??ǃp9a᭥Ũp΍3L*֔!w ~0|_\LD`FI?r䇭T5HF6DJ*6Y$mPyc(E&_tIAڠ\74 k/pf 1CIq =[Sˮ[P^q쭫?}$ nk wCg(lUYI..kq[]W0 ) At6[; 2Bu3^k-zZmoĕbp1s fr{)( ksMi1"i[Tyȓ<%Y$m0TjP0aU2z^eO\7ٱ 1TFPw @ mz;e̝T+QTeN2;95?]\$xG1&1XTC<:kTP>͎` |A1]\ \6^n(6_bn>1 @P$E (4n,sniO p)u~Q0_~ o?]0[ ڏOC$QN#)#Gf?W1[K2=UtsiEQ)E(w+ntʈ9s:-?LZnz3L9 RJ®6'xW;?~ibGޏ&B:{!=pXwO7+ƥ=tIcaƭ!lWo=JG%̲FX/ӹO =W!) fOC^Gjpxpd$N+aDO;s](un6> .ѭuA0O3tehO5n]np 9pF^3o98I,k۾Ӎfŧ6|ojqv ;/G3HX\(cgخU٨CyG#;|pmAmn= zꪰ]ut8f:f5ͶF/bd 0nN}WJXғ6rq믴Z6FB?֓\wE3LMg΍|*}w#4KrY,|qƿ?F$)=z+V^WGiuIﲧ}_|_'KX,ݛ*r]}]*0N-2QhkFz6 cs%BS_.2geʚkGxf){ 8ۋF.urzxͻƈVZZ6ve-iӍa+LwƱ4-ь:nMjDO9&ik3^M!G}di_OX_^s}wNYͳWeS5/vԽ) ߩSskC`6^hrpvVNOH/j{g|L^333'J5k˺sʂ-យ oY[Wu'OTn^nàF /M"21E]su0'%߬z%ִ8h T7]2^P&Xa6;]N{u ċ9740yBvt5CAtf|$+ǎ<($DRLFf YrL$Eby Ҷ>~[O$N,и mw{U3sUS%"1h162Bc,9HCnEvG1ѝo v#l{.!gSJʼn'lo6ɋ;T? 3ɉSgߦk2[?S|EjȔg쯿9 WPM2|at[Q>~@zWMyLND_0iB_u_8oJhYx/ @PV*c&*®-sOߨU1Њ7y_1aAI%/B0le(UCuGKvT"]ة"Ż=L8U-H.͛RA!%h&actcstK@CNUaw.ɛ. ^>;%~/Ө&mWO%c7/.(iY&f>]7[a@rhO͜1ol;q7זhkqRuڲ"m5|HKEk.qFMUqQ98g</B` /(96S⃃In02HbdppR$$6)mbLC ^qS1ֲ+GVW2 쵔]n5:j]qz%o5 P5SN6u[⩚WSos?LNT\oMpŦ3d( %sr7Kq'\dBX68Z*ؒMYil6DMp8 `f!t9d췠t^Rך57|s8:8 #LJLm1_3RۚfP|g*SS" 25n?%oe6y$1>o#B~ܲ{u퐦81$OT@4TUZR 41ޘ'ʹ铵N&Q8VB`ri{ckt&gvm(t|BS%ϩ`MhiN4F>kNd?a=n]Z<mlȊH5 xӟa,'r1I\:oqRj>g≁vA~\F2rY>!/AʵE8.s#[*sn /!$F>`kܑ&pux/'6H>1hD3󴭞H"aIq9Qvww?YB▯iwA18.\\T+QaX1eAPO'ۛY@FPI(Z!+3Nγ\}q!mV `q @(&[FO0x}xeǫp`ү_F$焷6Y.ѵ!FUU$dB{((/`Qh JBVP(Te%wj{ܔ&qI4^${ݏf'5 Ť"(Qp|);AnXomEio}hcU=+J ئFljϜfDǟnE!j61BE^cS4BL+=e %ތU"Sb 3-nYϥ$%3)k1n}I Q a9#1 o2>%jzj_WAf;|%S1G}W_-.n Wab۳m*(>/˶岜;4a`d %:T-ɲpn]Gȯaq)Բ9P Up 2Ϸ>ֿv%XC}OB"T:Z+WUץaS/寮ILM~gԁw36vxKK5ö[xF7kFV9ߊ܉3F5ϸ&vG"ɫ|jp̽~E~t aXgC!c4/rSjS2:Xm:'uv:-@YwۋOJ\fKDL]ol yg9cb(#LE)Trɸ>Hz윧50ۋr|DXT٥;<)GK ^ӑ`ThNv..<ܿ4#,kk/u/`5_b _P p'o[$uN'Ze)Dp(/>9]Т݋oV{rqQ },M#]mߟ'N _Pv>dϽIR+(h .Βg9h\DIqGpUJsuvB6V\?VF 0$qy.NP];$ŦL^%gaI_xLF9S69ˇe*zɵEm('Pi62Ft>ǀH *p PG˻10`%p G.XvPB- :b2H+8,׉ A} 24K(>T€emYݟr=+4$TY"Tî0xNihH]<4Shcфc| |8H 3<ɝY{9\b֖[a:1&DW`rs>O-/c1|P6VFxf ύXedS1l<7^G6рx^#!zByv}36 r 9pz_q ؼI[b[E8)+ 3eCNzYоԴ3ƒ\DHGm)FċvDЏ]*!]EBt^m$spS+݆E>+O!/Ypʼn0n&eјb>FWj0+g:Ѽml>أj M\0mneј"/cVcD۝kN%e8&uqhXc9yRw>~>^;ɟt;l4e:g4ga;o59.$#&xEX~uy[=4w3 Ju Dj:{z/ܽĝx@„G.kᓷ7PwFKJ94]uª(%uwGF&k$T58#G/=^F*"% BjMۀMb![A37c5\bЀ^g;m^"sXŠ6H۞VeecDqaBylEۭe^ xa$W*EinC_QP0MLf$0IIt#kb ~dQ1ʞ^*C8fLf0$K r<Ϸ(7o$׽*VWư,,~ )a6qӠ#W(1ӣ;[,Rp >aXrBe""JАDfI?{%p2rQ1dA󮂂;m[-9{IPDa>Z emQU%j5Get5yYyQ[{"EPu-EfX/_^+--iXz?,mnIDTklcoUmQij\ @PTGQ5un$}3k5V4{/޼yt3z3XERϪg>EƝ:[QG$O%Dͯq"{46C2SG+oG7}%T~){j-_Ԟ7#Iȷ[R!&[xɘogI;\k".@O/wz͗Ju@)C\V,L2FԔwaR1YVZ)zr"PՉIE'N&XCl_(aKҢ$xYvw?,Vi6!鶎[vީ (G.G3nSmr0Ȋ=ٵ(-҂B8=ю1,"@(X+HOEXH>:t-y)؃o ռi CNߗ 爀y>U5z&ʄV#nV{ N$_ +@?*,Cj5Y-9%yp,by#9Keq,lVȱjX+Lja#)E4|ЀqYhwSR"QE낦`K"gQdY+MTB)EYzE37V"eۘ@ "󲄅,+R(Ȫ(ڧ AU瑂ɕ,r.B@8h$f@JN =R5*yW*P} BlJBe:nE`RBkAiq ~Vw/$9wA iu\R,T#'%;iIx* Eh ?;3~qHy4-+pr鶃fIPH1Ebk&kya`Ѳ%g#Iꆐ! -b%o!䀈c&P|4,o~2tmFw\EP #@6qCpXO x\ϝ}}";ECP 4I0# ϻefUYZ<P_XrzJv7U2B|Rp ?JϞ+W|"&U8N9eN ^jp[Y:Wopen-sans-v34-latin-600italic.woff000077500000000000000000000524741511656052100355560ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFU<GDEF\ GPOSvzGSUB#OS/2,U`t %STATCV^A9cmap`cvt 8IGfpgmlZgaspD#glyfT<YheadLd66^4hheaL#$\*hmtxLP\9E:locaOt* maxpQ nameQ<MmppostR 2prepRB3)x ơ@}wA@6(t A1Ti R@YѬug/%ҝJ]M=KK||5&:1f4 DMxJ Il۶m۶m۶m۶mm:HTUG9r(46k4մNj͐Al= ( 2f1@,橀ϟ!\WdG+RͶ:P{x ^ wRBXՒFR!2ȁ RUJtPF6jZ@ܵcn+(K HI&i$|RDJHRAic[#i!2L$!t,U.lmꐋ!'\[@/fq4+,K h1V5ڍGSXt.5Iw)둾w7bx.K2l.D^%bj-e fuU6*3)mt7yWLxٯ^A1 糰A/[tOP&}ȫ}ݨ ߙo}Da~Χ!Z&1灲Wr3?žl*%|eF 9o:3گ3mNFܟxUsS2d“$?}įOʟ%CaK}= [?ƾ yw`6$xU]aD,2nbm۶mP۶m7Xb2ms%hGwIg1L'A[.{$sރ8i p,N2q!gOX<$N;og.0ϳgL&%stRRĚk,Lbd-&5wzo%H˰.mr=ΚfcXSAxH$?UH?VIo#~usBH/6wKȅryǡs"J)b%NdI{TXl}.6%UDBGG߁ e^M, xzC.ySsՖj}J{'GRgʜ%9Cu( 1 kyxc`a b``e``5f9>,0,$$Xwwgld` L Ar,ۀ UKxP9 @"*<~4E={;l!Wt`T&;"dQ^Xqxl! AQ363 &(HI,df`z`37(MyAPD@=̱iٍ۳2L3KyVXc]ss b7|)f|_f7ևPѭ\u_Sr,e&SXF2x_7<3o(PO;x-3bXcpjV[6ͥk GuՃrͅx "C9K&4~˩!ݜOq6: H}+L2Ru;]D٤-ŒѧF40X3?N$¢Xh ]=%D.BROc2ϲbxnM6zu%ӬA,42ny[xdqѴ Yxr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|z\SW9ܛ2  @f{*[f{[[buwuO;]\y{J $)R" $,@t1#RIib u:Y/%5ĦU6+*7%>Wr\h[ 5w'V5 ,_qg2ޘnBQ8QQa\lKXGe€aO}-#<\"z5w"Q#xFFP(a4h40% /0$~C*F(pdzkeXW),fyFڼCc*#=ipyҁ&wVx0?P}3b7=t] 6;AA&ߘ`'ټ+J9fIZD`I:Z @#3cCUȏ2NaseTim$z9gJ'ͦi ?~|tQ`dY'$v%XNWb[M31bXunHnB\qsOݔLS=RCw+_C~3fVF* ɅY 1@iR9`Kk8 _@P>K*з[(зpF-,[qFyhh}o?_$OtkJX2*2d;B{qUA3◺왅 YPQ~Fy9C5/2Y r2htDB '$I- 0J2 _q#Y{!͑8Q ط7B~ p8q-݋%,"e BZ@\vQE\ ċp ϒl7q jY!MᲀlNB*Q4d}WU4}"K=:FRb= DG"*&Bz +8̇.@ቾ+؇Ri^s|v'QK'!yA fo8'nS(# 8_, d'QH21/o8ݰ97uù$44Y(Ww==go^^Jǟ{vU=56Ⱦ@av< lU%E@ⲩEmω<ܲ/wUMr Q.<QPɨycJxÄ St2Zr#4UjoxSmf_%VtǗR%/lq+  #KHn$1;$dz0IL& # F)R~QL/\iZ?4sm@g֚Ij}Ã{6' =4?5%9*#!5`rIَr@LE8y_ev&E4MH\J`(&Ʉ%\VMBKH?Bnݢ!F?L_$p+PɱƙE(E!L yUNY0q2NPvH1OAٛ_sqƪE˒oXǧ0blkڦ/d2-Imrq*6ơɥT#$@ҩwd¾ss 2DJM0&HD\l/FieiS7A&0;G_0E9#^NkwRϖ;gέsJĢEo.F<鞗glJm #1K7 \i 5 xHTEښ&B.!mӑ4CT!A.UYS ƙgt8e:0>.#A[ ;z}a (UܖH@lhYBpւ M3 Q%fSW dkY9{wuM]s/v%$**(n%^ʝi.M,E'A j1KNE#&mV!Klf|r}Œs<2[-^r٦9+sK;2dR5'ܵ5,;vIhȤ9 DrW\g@&aI %&^rגC$%9t-~]IS=;zc4@a'=T+TmY5u: BVQњͦ'P4Uɕ_]Z9xܿj5\;?Y=41c.?nJM~NݵMj(&Ӱ`mwoxAy$08'FlJP d 4_ mNDo26HFE1!il ʛ-*햪Mv=mgZʆ\-3Hx 1"'zIGu>.)J2Qhn[FόKvGႁ(_U0{jҷ 3K&:ۭo&̭^TV#mԨZ"$-SsTՖs/Lzz`zھSʂG+μ$\ ~~'LxٶgFBHIU" \dYDN`p/|fc;xcG>KٛKlF{5aƢpK#Hg fy3 oo-7+D pOf[+ _4CXf)^$֍k5pO77˔V!lg)S0H8;~M.|&Hʛ; G+a !GޓA5?=nlԇ  v|Z#sŪ Aze!lŠ ?m*2 FYJ-^Fޘ8Qn}Dmp0m 7lSdG)2}8w ,!AUƈMų]>04%KCTe;o{+yL%^Zx"h{fUe1ug?ú X "kO֙[ڬ&rZchA[p&[akWJtq$mz8ObzO m]1Tj(SzD3,g}ZX޶)cHRjo?ĝ1*Qd 3k@Ɖ4F3 OCWq!R~$jyؚmIR󇢭bZ[?>mU8號ʖ>vc-^x@x߿l[[UyvE6{3sE5>\g9rr pz6*b̜lxϾrR_=-<k` RgkiGl0, IW(lu6BҏV,'﷝\:_̜¹ iV;]śp{8S+ص؇#-b#pCXXP*I"){gF.-{Ӌ\L$DOCs,nUqnȶ]@ս' N%t7dYu2V^0:5 *|x+@͇AFRS\Y^HH-Ϫt13 qEi X309[h M9G ٕ:`v իw{P"^G`ģlbl/Ѽj@xehyo/jBA%^햂xV IϢ,FlzxS7F\asyq++<.z&"øB"s)yõR$#х*XX/AB(bHNJ.x.,21EjEnZS<~-R-<; Ok5DzA d%6맄du!&U(WТ$9۶&g[Q~i< E-`m![H;tGƜY&I@|.d?cKVXLjTcwֹJe_mkϡCsY:#Cu6Hq^O}xC',ht$8Q7|#(=izx/PM]B;PWg3L-m"ӶDƂ/{!w%7\Ϡ_{vn{0sXoŮuiSFdUcҺ%rFK*G?RhQ){k\&Dyt[ņ}mR |ˎ]T0!CNʼ*ɻXVrbK#K݋CaDJ3n>Tlm A0> @tQ$^8OPH m*e[x~f9yauk!=K*6:8- iQqmfeih'-2 +oFN/"%u2a[a𮬘{z+Q\+2H JJ *Ir+ ^fRTwNcۆWiIUsٻv+VR @31z Yt^Wə8NdI4=)fޖXU`2DрMmdzkQNq{\;JL}h4M)09>HK`.z)9.`g8lٚQ[@媐GGײу0*}fTbPM>~l窎b)I$Z1y,v9SJDȏP]gq\iTfY7cU&V"JPy(_Ts3cuB t%1cAj\987?f{J~^Um_Q2ȉԳxzhwĤ֚LE۷ le Uz#3uܝocp ɞ)Isuģf״OȀ !ZH^HWWN{O3st`ךTG7 )̵-TV&{u}P}B&yv_߆Dc6ZhPLzO9̞SȂKm׭XtKhͺ3c I3b<[%/95/+|и@mbgJ|ǚ=}1+Qap5,ȋ@]og3s`} KшԶ4|beGff#VI+W'!gt ƦRiV%"~8"vM~&530ac`YN[\ZcѴPdSNc<A郗8 H`ܼDYJc&ݑ:{9"u(UH8V6zD;K ~QѷdYBCSe i-G HRNN\f=a"_kWQ^ .$'n`HuCs\DANR *K?a.VM]ʚq~i#I39<[`\]kNyCV1cbA;g MM5Diz ,E5 y6"#mQNiw ew ވ Y`7,w CU!Obp/oorP veAZX~n{j+b 'X}1#ʊǑUT0aLR5 +w+z!a#~Q*a"p}pw#+ë E qk]hS1nHH^`0~(F5Vki>Vn_ k R`6e @Eҧgh6C |zl ں ~t<7je6@f\4SaJ/7 9ψ{]T ӗP M9|!J :4V(.ז] L0OcWU=#Y+`Dʤ 0}{ +tO}St@BS= ,b~{֯#;"!P+P@6=seg!>#\_瘁/0:]^{8MȄ]mleݾҒ`!gƵ=NwؙJV|JSξݽ2vUHvE$JI08i?ȍ\1e9maqK"#'̫m _}2 ĸi}]3 E&`z[)Hz'?'ͩa9s|)$%Qn$g(]I4ET"?]jvp 䈍;mi7NZ0hآM}ݩhhY:XWߗvf}aKqI[녎hѐ`~@N4 b"#|@gDFl7kK}tIl͕J碧>R,t[,gϩĩNK ~cusO ]]@yQ@E"Q2~BgO_OQ!  &wa)˹]kNlZ rr`Spd9uCA]2<[^1wYhwl\G+Tì)-1-95>: {|3u- hΰ9ɭ q] U`Ņ'PBxA@s6ȽU }h= fG?/?j'<;>PWk1bv5;{G>UgH//4"AӼ d*-6ĥ(t45;C87R5 ҵ?:xiy0sEG3GU6%5{FWej3CŁ^OJ| Q>e=Y9循Vs<>/ISveeV*̠xO1_ȣ( {r!Hp|}AVM=/]񩉡ilQX\JO{* L 7Gi9 [&n(ˤ'RQr0 IKlXֻCW# >hm h{I*`pFp w \.wV\ S\dsкk# ?/׬udoAPr![Зy^K=Oy|'YӳfÚl8H2* %>>DpqX@%;aV]nin&>]k .]ZR,9ߑrɎ '2ZiH]W]4'!) Gqd׀(h <0ʝ!Jܸxd\r{mC66h$uy <81[7 Yq tl8 ,qI*":}`UQvAur(>!D,73Ω7WvTv I~ 8'b~7v6G%iywoY2-ї<|YCҲGfq<Fz_Tb'S(:RY9RTT@ƕhnYVyGHSQiSSiԥK@bI,(`B9C9EȲ?*;-} 4&KL]inlm 3V{AqެtƩ1jFH%'YR}XT`Pq`C9#I{ & mU3`D͉:Jݹ4TIÝY+"LS;k"ưU56#3j3W$" gAp4ۍҔVEQUsnP$󝺴ҊM{nڮ>ij )v:Mˀ H EI.h 6'"OVH㞞8#-Dںq2A -1 =(vl$JHeeN@45O܆0Yi=s[$m 5xyBE6?\ґYBL?p3>_ (0"D3q w<@y͎pBXs^u8c| Irk(r}1gʷ֫S,ݩ*zf5UkkJו)az8lZ]oa#ss./ZScL@|^DU&QDeSDM-$Rk*Hn6!$ '@ZC*@]΅swP;rY{.|3aw$ɼf훙~o Fѷԩ`M6Ȗ9ZVFbs,/LXW$}/wާL=".ĉKkiсK+/oAN=(!' 6{q 8ÀRZNOؘ.uڝYTH~&a@RۚvNU7fs ȶ7JkEƂt>6J T@ȇ؎I5 3AÜ?zs|0T ph EPzj;6ŵCE=[IcpcI|'X'4`X d`Γar=ڍ4&5w@/q^ LPtMnWDŽ#vj'A7T0LwG,::"53ÜTp^PH's'a]Ge5r~MZ{0`#f9шŜvY"0Nшi(10J buE%w_4̌laZyj9jd6Ea={0ȸ5qpkܲ|/bDLzy/͞U=f+9 ssIq_Q?;ǥ! yZ~@cCyzC/n  0Ompc`FX̛(z#||ӨA7t<A"üD?utO)e}ׯ|hЍ^3;^Z JFI*5 HH)ҧzWL (bCS"̵1.NQ&ET|!q{!)M)ڪ,ǯ=8*z׷Շ޽pm r_@]Ұ̢NˈͶ[ [J sK[\y_#W"ok.4ÜWL0_0|+hhM,Xr@Q#u88$+X 1z4<=Vn?ּbF>k3.4嶔թZ5?%cKP#C(uye7m!,pc*mQɆ}M˒ZWSO;|UהZv- B-b~`9ː޵Fä4\ 3 vrȒGn;Կ﨟L_9h_m]l iJKs UF>A91`h&ڰs+1tyXD︇b`|<(Hf<t.WI} IŒh$ީ}ksJ32Jrg'3 o)z@*P%|MV$ ׮ [D/r}oHfV*)/yxx J!}Ha!tF=PsXω S(/.y "#ۭoN^U>ydqcT2r5Ts?#q1 3G.43iۧJܧq,`'i=m p1 ,""."C06eYMpgMW|ךݏhmgy#"5|QEXۻ,p:-5#xT;oEM4U3gG,Z`{r3<30:r>CrTYAK5]Gr;ԡ\f((h^0+7="4x_AW,GL'f$w%]"y=#Ym6cHCkV-)~kVzXks+:_wӖ1U,x!m52)[_R`Ȱagw}|%c_ Q6HܣB(O3^[pf^2I95+:ȥIj!8{~ht]F I]ݔT\Q(DŽbQQwV'<fWQwO3Ewm޹sg>3K{wgph =ѐnHL\G @j"(§LbX@dĮ bKYW(%)0Ǘ(cb{K7f+ʤe#YQZq1kt|x\' | f>Np"e*EH FhBRbzC%[n$Q5=#uqZQYez }I,?Xj\Es0ҮQZW,-~ףirD 1A گ8Y)rF}*[Y۪2$O>y,Dω>N3GQ9VY~(61g}`ԩə#3_yjT%3>. S<Q/{n=<@:? i[7;8G E@ D*UX3vF|츓݇~I|oC|oS>Qħp@HWo\>/:r^f&d(>fj׳n9W\ a͑}v|~vs I2x'8IVh~y26V  }}B5&^%:ȫ[~@]λWS>. GΔ 7 k+;wȄ$11h6+Q*܄DMW3CI]`'Yah L 4 ^a9~b# $!~  D=GOxp^o oP ԛoRi+%t JU-rP}}{0OIk/G#t5m>@ B1B0#q,n:GSX |Y:uaԎ/ݔi嫟ert(, BiHLH\Č#|Y.>#s D)"OWLl.ުPŗ'~>މIFiEp#vwEH4'OH2ށo;VDRurG_TB.89^NnCL7 ACy㲝iT]#Km4+2gX [Bhs҇R[Nka^l|x"RL{]3I'ÍXn~|IW7U~X%ot۵#%d. K nͧ|xl(.m1]Rk4嘫#LXgvլvx^*hztˆ oGŗWc,Vm.1Q55[+~2OoMJO,1>[|+F4ўĵfRB,)$DjfH<v]9v? =~(If7ϯ.̱XŦJ3O(y\+xDzkz|EmqS ҄+>Ѱy'8gP|_`5О[X8O(4x̌'?J)_*ڭbTvc|Z"-X:‰qJʸp"Q-ǪqY W{L 2Yz#Xh,GV@Yo/'+,ĖWii~v_ 5gl/$i/iB MĆ]6L6~A# Z?w,td*1`>@Il&Ěs$#<qj){,~):hRq0!bg;k1G4" f ".;<~Ѣ >?娘iejw#՝N 2Ceg.Sfϸ+.18y$''3E/-HrY:,t:)݇$M|IQpV`7w}Drs)|0wv`%q~K=E/GMD"A}$YF$t?|&L|PHO\ѓB/E88*O;$C_ü_!ǐ<*;Eg1PY@eb>3}ż_qy1CD}9~觸܀&sUT*ͼFlz PVY +DRHоKĦʤi agM_' T&6}HnAd,D(UJ̇.**e^$6}HDkX2'?E;BhB_< w&P" xc`d`Ϋ/2 Fxl$=[ɫm۶m۶m۶m۶mٛ^cN~7r[@"28FrL8w{!sU'PL2 TT3EEgB_KmsmD&ԑR9_0ö?&yQC>r9]}*l_'r ȡj~(KSDN"r' rkx&bK$,qb zKw3Xrc4UGsCyM&ĕĻMlSTVMDhF*E"!1h{gtv%*rꞠc{cΨ[j9a3_KQg3H}1ʛHx$vNswЙƪf"z3dsu y6ˀ&9dk'y`3G) ~oʶGgۚ9 ~$#P[bM&9`}G}|gSq;pCBB$qz55Sxžb4SAoU(>jf‹(̳%3Hs4Nq| ;}x=A7eP7QmDI Jz< ; q2mr4{6xRI!roL94QcnPM8CxEtmml>նm۶m۶mۙR4U5S6m?[WB;\цFe*g37507/4$Z[YYIkAkuekdg`۳[q3Ntsq>sɮ^n̽c'3ٳ>U9;.P-018 958?"ZptpԈ$F2#"O@#/Q&h7t-z}0bEV$q^Ge˾)AY%pxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-600italic.woff2000077500000000000000000000425641511656052100356370ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2EtE vT`?STATV8  `+ *6$P j u%옅;J.F""8 0GDtBQzNcj(ѹ{ZSḿg: wbb+ä{;-=lL?д=Bw%T7/Qtg)q8Gͅ~-u0"]إ¤<0 o?): YᘑKQdw[>T%$^BB" ٠jM(`LCkmN$r_WybU52¸+1<[oO ć t;&Kҋ=).\ QEԊ+c٘DuØm|( l5F`.K59w9^(&iNED"7Kq KR߸.wfc:22l` T5dĄ86B_Q (Nzq ȗh_A;\sPq Yy;ᕛu)h:Y__䢒Hnۀ1`SϲqA:0`4DGe9*Dڦh DAVy#E9Vb DW[8pMM=sgMkQk4`,nuMĘ-Mît {QH8zE_fSc{-g J6#$ѰZ:9laKg@} #} t/]Vq-1roqy }^ qOJ(IHo<&iR:&bhu{XCf]kb="iFu]1-Rb"N~MIp (Z8D0TcP VP?|5oUi֗[hEFWtc )SI)CŦk۟YlWzdmr H(cz?kH&.S@{ys[KHr8b+-ha՛piRNM觷 vpZfVdloH) 3o6yA96NI+bx8{z+1Kp_JZ/,)j"0yېkfJJl]bA.#3+26+S9 A3$󻐑d/ HV9cȟ /G ifeP^*iweCCi*H9k9R[F1 11MeA͉^D2:6; )8#xwCO a: 2̀f4rtGF)cֹl 헰ٷon h36y45P4ê*UD}w/u#ڈ!1GHR]]V]HlՔ?õk#Jַez?=Yw)鷯>y-_^](gכ|"u,> x@ӱ6+ZjqZՁJ4p%̗VFNTrMi4ڍeD%^)U4q=$B.=i mT$ہS.uquun 0AYy,K5O|Ndhd+Ϸ5շ\)C+-ή]g|X(V<,K?|xұ>h޸Dpc['62dž"|Fp{S, n̅)&ɴKJ[ɞ?}RE1HJ$6GZ@l'*| ? Pu-26E&?`9kEưr AhN(vB&-rC ]8Q9]'.0E/ؚtM 7ia= tsmG.W_*~PxOq;]sջu%T'Jl& <ɅRQ~Y FsAmgc O֣7p_ta*(q:>2f!:)o;b`dމW'^akL*ʟ[S8Ymx[`^RNSs^8v%k:u:IHje-yyp pߖE]<H8a˺Qd-N‹iLG| eթ֡D䯽Jn~T2_H1sk>D3C(QFef6Z<a#=Sk໵?E3 !{f q"ݡ. ! al8N)ֵ̯bY:<%t0ۭ,R\X8(F&zizc1w*\}XJKm[d^k% '.Gs&zʉ7$>AWcǢxaPb'& 6F *TEBHӢ¾/"e1ҚH|o{ @ fS2 bwqgnxZ2h3T ܏B,_$7⩢y]+Ga?:~MxNI8ޑg N>!C{$V@;ujS@H>Rf>i×,D_]$f1w35z0p֙ 9r-(QV8<1OG/AA945`k:GYWԕxKˢSڴUmM"w/[B9.3|33JQCR{Fa1&fоS&!QLĜ%n%)G>5=gĬ_D\S?CY%1Av |0Bר)Ҽ}<IpjiOFJw,U}L/C"V||;TCU׺R,0RC.BsA;).A7̳c1ɯر ] ph@jXA ROV Cµ2 0Cv{%9 %-0?b|R<'3Hޜdn8zz'<^I`ZW^@7`kΫjEG5s>ptD o47l/ :-g'em?@ :;u G&`?9(zeJDo7a6)/DXPWAc`)s+#]N|I2jЅV~5m+ýgw!w"]*-+)-CؖWRb[1{B)g.p#SzG6ZMdjSHR%[l3UPe^W @^è T!DjoVc!TDzh鰡@\ \q(D7ټ_u AqUxUM&6)hnȝ`fYܦB8vz/(vy! V`6~9l~؃s+a>Ir| zrx):UZ3+nQc\FDb3^h܎{k|c/hwy3]N$ʋ6ʋ~s8ʟ4]M$q 2߀*tQ,磱z8iu j]"\1"ş, #rj=uZGnGo*wȐ-4;T߱}gEꗤpL yZ5;P:^q2߸F~E؍.7s&?n19f>b7Ba) e]J6܀Io;5 >@ηR^_" wʧYܽ@L"O8m1/{q=yW@]?KL)G$cޣ9=p?uSYDa}nXؿhwaL|V>XxHOQ_}~%,+qP+]D*Uէhp KHDI"BCJbp_1Je~νժG. }1J>nVTK>]VbdJOUm3H7m>ʩדe%;C=8YB7v,]Z\ݢEʑ` \0,`xȻ!3*43))ҧ29|w-Wʪ+@~}s#P?fĞlK%~WL>M.鐓,Y{A䙀xgNVrʕZ@'mʒ8GhԤfrs^` jwn{aDNÀ)PU]~{fq#\H0SDC=dgwB dLRiimұcr-*^?[MkSJ/yA\Clݴ"~x.J6.:ké5q:WKӟ޻uΛ¢vQv% le@$߅ܲ*_s ׈:'Wy:wr!A[f fefPmMi_w,^=`ugTW 1%#ٲQC7>fQYN]qů*'V%T;)3(/\bV40GeK)9IId0PfK|1|S*ߥLIFˎK͹*QX|oq*Zx9n{b)a#1p#? ؜I%3pTJ$q46پcr?7ʇK4>S}fSO<_:xsQiH#d|q.X*"PL-'+xa4*1yr#w>+Q*ox{%N]ѽ5iGz{=+6!ߎꌥ;vNh f>Bm0̇t%SsjOO?_cVYGZ{DcSwXWrޖs 1SAqĭr_<'ˠ-4Qmjo4'RަUD;fvsh㎊lh??]PҖ5ӹrGَX%uYް\G/W.)[EtזHZ yN9+3%!kH/D|{>WB>[w'}הs4ASHy FC˻G@u;nG ϽIt cqīEgݶ?)-ܼ>8]I+LZe\G(\IIlTЈO۳BץX+"(/6vz&^kE&;b%كhY#PtTݟgL,V4(R׀Q$"Z=w:3{M>/#7f*4~?ϲzzwKm55}ծROsaw'ؾu˖| n^m!ݑ_۫r6[V٘(޺E p~psxb3:,r @VWO+]YEmڌHT!g[+3J$D]ʒ(}yYI( o~O̓AAqd3# y 9NF o@>\tsuYԉ[F{۩S:1XEG/um֩ eLzi9Y.ǁJO-O,г/Yǃl,Z[$I5ŅāYEbCP@"̴yj !:VT}2ѮO.͗2EC2*j|Be;BΪ+ոOWŪ1̵ׅPE^%)t^ xBg'H+.K$J\޼,cIdJ]~Lz<I)ŨƠrX)." Hyrn.z&&?;rdI%oʹ v795$fOtB)5' 15^w\XzyCTJ>yǖA_π[ٝZW8E.7SM yMΑqbl!cx4!LZ3.RGŲ)Uu]2nO Z|d+? /óy '·bbaa$I{slyA4oO|&{5*sCLG7Mٳ>3rj0JbdJ恀|˷+\t Ynj"G7TowR:ڑysLP).GC՝4Y/9hWzW-gmYݫ¼NOi Ғ2 3Jْ;"'e@JƙKNZnS@+9cŞQvX"r<8K`C ㌶:/IˇF ×Gl3)cX%yIY2Kmf}8m' OrrN}OiK;JZ<2b8qfƲFDuXx![O%C&ʈvɅ۲PxaxX9 h|oGbHQ B&ŲOP*C;AY LJ{82:J`9݅GaӇ_kAOW )[[0 >m#*lި|w|!}+wCX@u׀k~ ʕS#67 |;;~D*qZTVM.s7g}l6W!ܞ lIє;7{añzi-݈\(;ؔ!9ϲF+,l`m6=fY_GOrJ|Ţ~']Ώ ꗥ4tMp9>U_&!n3)-9Sh|~o*egZHʣR th38Kpw)!Y@ p! tz▆ԶmFӃpoHe4Vģ"|#v,(0͊9-WDŽ |#J=[bۡDrT^Ӡc+8 yK\uyk ?w|^P|j/??C&A Ȅokkp/#0OWXڻR6'JEN9%:͊GSfJsW7di{tb!La@Ųt;V&)±{bZ(1SP| A5B,[q$*RhS p$ 6PkVH׺G KK=k]#'k7=ֳq)*!bF$WQb@Tv|,ӄ<[%dzӒrA}`Sw*-sBD-F,Sm eyy?gTR:_L`,l{GMDL9gPN- *KQ2ɕs!KϕKl>ŧ EK ,a0 m> 'O]j!L9S "g[S 1,gv]zV dHÿל݁RrLU`߇K7Bbdvqb~ZԐ+ir3{ >w_XvwGʊ9-gt\6ב6ɰW0ny ÉzTl$r0j5ᵨ+te}P'yrjwSޓ]tUFtmhZ2:+0B%0 G ;ۺ"eIWK²G ]JCڴc(=);'AA'&pGCV+ūbbxxzդ^n=U=/ǚ4]2(X-a)200ҷLFq,v]Ño`"TdY8f7o_zhs.d;-˸EAJJy-\EG|E[;q: a>ag ۓn"g)GK9Kz~;xߤ;]ۜ}塝TAZNX3|%:4x/;R} wy5t$2ijr*.!jȺNg-D=Z[3!oԥB}JCF[ K;w12$Ŗ*6$76r1.HKp:7;pϚ]~J-XHK6DS(e('ӕo8T PtJg셊ߴf~:Ƴ? oxDW+#D=w &(a4X7?D/Cnf֚0o?eh˒$?.BaɡX8IU@Qc=97p'akcEn[8 *kN= ;->Ue|!|4'xAj! &=J8/QęHNj?kfLȒWKY5DW'êK>[鴎F8q.Rwj!y|zEJsSi;j"1$ Ea?âUepCg9|IehL$1$BSR#, !h] `E$han 5(&;;QihJ M пLlccĉ$G ԗ1/ʺ`*t=$|xCp=+'ǼBQ3B7)i-~wDJ/f{Q2{VyE b9,I&G͚ٳߝlu'`BocZ} /n=4EGܣ;;'hL;=y;Q׉ +܈6a4G9 ;mZ5n2 ,]zv"‰JK?#Te0L]9vp[gfVK&ɀJəMMⳅd| ,,SuA߹i̞9;\17gU^rp<}+)y7v~6BLsXx!8!^: OEZ}fd^L>9F6ZfSr9]:$G?\tDQp"=3.}̙/|] MƿH?)9]J;-LnV̝ DзoEM )&{%4;ov:-E|Dli,Ax#ŏC*J{5ҩϳD#7>{D/:K^~>l p\v+SMte^]`sHS)%Y0e^T;fk]oǽsJV7+ /]|>ͽt:j@)ɑWhLeCU|Hlџ+R1z)( Œ k^x}֦[l.nȔ8דqˆ^pz_,0=GF$;"s5zXO')ur<-JiȤ[c8PjPqHڣQ# Aಕs$6LcPKSYEG.vV5oЂ(_(%8ơWoj |Y19yF*_KeME9:.HK*C''3XaWBPlik8;_ZJSN7z~y{kE" kBF>(qL&1 5Ok,mBUEz<1PY"dǻsn)$!@r!"Ct$ #zм_!:S@]2 =Sk]IJ_8#(tDs Je8RJ&`bN9{#s/9kW+{/( gKJYӇao_ډl>VWuCISG""Ra0E$+$< ܩ E[{H0ctܕ=,<|m9GJ Ubr\ ruG4{@=:%Oǯ im*5nx^G,vn$;4cksn #QK^Iwjc=P 8PiXst\6#nm8[:;Nڇ9S#pZx~>xj:턣(dbڨ,\A-8S/4&  uij`b3m~Qj*,('m}#4)X0:ۈx6 !& v4 ^,*Brd d_@Q_zv*&%( 7!6ri<*r~{Ӥy Ӄ$4y4s$ jhJyq)b#s+=w})D 5=5P7_ !R/4Z̽3mjtZس0N&K倔<Ch@䉱~ Nnt Y]HDE$h,WߞP')8-ZLZڈ03]љR W|K[4&ktcDV|ubvV:3y%bz;/_*Z=~v._=Ϝ*ѻu7kx `?z+̍Zz/G7S(5'1fF^lnȖf$#쬫6%ݘƓw"l<(~o:UM=u&= ,%E-]y lj>n_~EO:od9e' o&b( Ά߈yv{ZR_c:qC EFO'Nf# utE- 7q4wcKb=)901B 70/D<iR' -18E*ŧxU 2˃@i+0^h3ckh:Cd7Ч?98GV {\UMy Mq$|r5c3%9>ԓtCΝ<<6yE?II/B# s^12AEcbH1x }-Uw Xc Q6Ty>0Kg#i ;O,lcM6gUayp(zeXe6cpoS^ qԴ?B_u&'NDBooBuuWfz۰CF k*&ҿѻyӑ-r ҇4q/V>Z=;#8CDjIix*\9fEu?{4v>; 2ع ;q`7 VA;,gknscA{zHNK~Wa( !u::5-FOUsf*R^PVSTRY()Sr(ȅ9N6[ÚK7`0e1cR!/]ȉt>#+TF6?H@4GB90M M4'm;`n;d1dii,%YO2e88Pg[đ, $4lxQPH2P?Hd1Q)hHT:DD+#8",3buBb[COOβ쒿k'[Syzzdvx`Evd 7/x_ZGݓ;l'7;mjU]Na/F/\ Sgğٷ?~' f (K4>R~G`]$"?pwZdpToSYopen-sans-v34-latin-700.woff000077500000000000000000000473141511656052100343660ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFNzGDEFLbtGPOS DhLcGSUBZPA[OS/2\S`t STATCZ^Acmap Y&cvt =I,fpgmdZgasp <#glyf L9X`nEheadF664hheaG $ hmtxG$Q8TlocaIx! )maxpK nameK&`»<ʇPgDo6 F$z=$^QUxc`aȴ՘,,tih``PR@3.`` L Ar,ۀ x@PN"baa%{B# gd%!)%~b6xlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-aPZ`b;FSmmlU ?x~?,L0Fִ&@!4z杨 [-n9[y$ĥ$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|z @|[6ف a$"DDd+BՠUDPBwj]YKVCݺkwoQ2ޙ/{OMfyw, z BA{ʹ>&Z3r::-oK;:a=5oy&ObN^?TZT_^Ț=L9ezcC#o#z}?0&M~`11¨(%PV"˕JAx9jݩ"/`֑M4v[d;D//=]#هyдN3}h)8^oOG|>U{^v @GkLOOJFPVY% ~I!?(JHHTU:refee:'m4"t,W&3RdM;ޚ{in|f zBڽqF#LZ& 0+wyK۶zشx|6{mh7QZXw7&L p Q bDqURTz\7RѨu#/)cDCOdu:Vho{ >3r|իg|ruoooϚՇW~>7*o^ ƀ*Ir{d P(vDTJ*@ 3hNT""w4JW U1BwXlJ1+ax{=+\yƎ4 s K;2SjgpGKj{b|N|-Ķ}1ot)(% fNvʰϚ0 +WWRLj X  ćP\\K?GXVg;yZm$ T4=kA hj%~D0/J9؝~j ̠.ʉz3{!&o&* (^B"#jPsQ6<vOB`h(޳gjž@5h{.nׯO @NH;3٣uyXoq*$$u4Cf ʿ%71X)s<݅`[MTsZ=EH;8g>|勋Kw\ڲiu ujhmŠ?~|ܒ=ty"gt\&(=f -DdQ"D6x3ey!y} ul9l0x255(H#T$\0BEsSh̖#xq߄3|s'~}!svz-9p.ۇ+^Q]A'cƧr^"`EB $Pҝt,ioI+`T",ؚe Uu/ރull:^gc.^sFK7;/B uk}x'0&}BU:wY%p*Rg) 詬 BX/NE''fW&٥/{qrPIWYfϞjRȞf`"#"$F*e`&vn4D&+ m:r=yTScoݶl&1_"v'eg+_ w: (Da2*M-!K<y<AG%.qthTlm`JgBRC !$zUCm=G*QXwnˤyc@ =,Hʗ'4_vMW7,pG Q=xH9[!B-.:x Y}v6wo(#Y19 ңL d.`QiĢ-1 HIӈIMoZ[xԲ_vZ¼ݾtq7處u%bLz;R]Zm4zuNKZ.Lo7M7blDT\&; g&PmFR(]r!mING4R%JGl qMe I髚zh:ؒT~i)ls1E׆-deLK8ϗVM+qۂAkeIWu7߷3_l ӧD ]YcZZMnHaF-<:ك$#4\^̆GY7OVGdX鸘fu悯 = ?7DZdR@y !`9J$Z&x }? bM4PܰUѯƒ0N+f'aBY?&bɽ $"GxxRh+i sZf<7kayǀO/%rOJ[xlGUq9s$@*0|0<)z5J MX":F~JV>PS %Qyjŋ3WgM4%w}kqZy/?[ƒ+ \8>{kXxdV? >J1k^Dgg,wg+-ZܨK櫳h/k\z&Jzϖ i+ ˒ۻr\F?n#w`CMjF!HD!Lnf !daa./  dfLfF;t} .ٺ^WARΐJ4(`RKFF^s,+BB`A3tݢRxTWK&Y{ӟ">@ji)@矆:x8&j?3{p85bגxUqQUk!y1-0~ +gq3/E_{|ۮ-ſ( £R!A1Dxhx)]?arq`Fsp%q^~O0Eː]0H,lIG#ڗ-%4SX&m;Q6WА/3.,!m/,_kq='DMM$ ɉ!wMn6|fЅV%=hB`-X+^=H';h-O>pWRTɧ4))Z~WH!Blޅ\CHO%$Q\hiCLć(؛Sv?C_|L > N`3h o Y6sd}gkc?Ilh2%Ɗ(e*ţVyFr/+f@y%q3i7\hOiO_~ceœeuga][;+ ?XNi|S],fS^4~B"N"~^K@3Ua1 0AhzCn? ߙ5|b`G,.x(a-7rxe;v4>Nn" "B;TbHƉ03KtY'4KBb(`4Aowvc[b* pK7ιpԱox:ʘ;mغ̮53fTUڧc68=ն謹Kd̟ҬUGNכBwEyOʙ+  R u38}Y9ĀPoHt/ 34'4gΤfVp0:?&=X+h=^!4q%Vk-fX\kCe?ˤ7lmϵ kXKɒ$BBHxeD('bAgc k$xo$*lݼ6M7oFl~/EY٦~򪚲 ƈ|:P) R0cE1w|b/\?ۯ pcd7H7dH-aM?{GoS?|cL[eEVՁ2|[i8ѦMs{i;o)~o8H\*W^6"sVH:o*imD2Fww[24ĵetM6[suQ}ZIطoMJiiWiv[?WZU+X'Wϙ8D@sfF'!)vݢt?>Fbȇ榢M <\m+M3;0p+M9>@8BF'`C ͏ z#0Ac֎_\'I 5]vr,q;Mܳ܁Lf:QϲWoFZ0# &i1{˟n89nZL[_>iqƖ҉,sf=P KOUD[m.WJT;={֟JN">=jLv&%V5%,+',D %B@cNZ::#Ic=csM˟)紡<ڮ+O !?F!2Z-H%x> GJ{[XV 3jXBM(~茯Sx^A+@Jt4Oz_H}ֱƠ9 p [?vukXscY!Y1ʮDw؝Yng g ѽ!#Hhk1B5B`zVkTn)mgM11v{&ߘh=oF( }kݘiK&ISF4NI %A>0PR!nď3Co=W4Yw\QbhS0o aA*ԫ( A*lXL)a'dr߫ 3K:ӘV[Ք,Sd5deO ٦:?uu.1?x` G}CzSDd2`="(7DJGc_?jIYe XԺul1DEDvoIYp/85<<9z-i{ ˆr*XhxqKƩLMNЌ~w|?x:ݷY]rz ]@ӈ> $>Y@҅fB¶v3:g"cƇIN$Kz.E F jsos⋮YyE^?$ics~8|kUsIet]m[9GPSFbk%1v[M]n}'63nv9fh&/-DdqRF\F5nR[2oj{gŻ :#umTd UUqpKEڝSLx&O,( CoHi@:(qF&iځ8&gKOj=`m8~:RiKA'GOh~޼ GsJ}Όy_ 45>s4>] <}KB,}vg]"^x!]ԣ {.ݳgK{Mgt; @"!9>^m'}Wv2*p\=iӌL<dJGΌK_2`灹 Y[{pѝyqx^Lɿq_Ah?޼kY?+ޚx*g"#C(00^t7gGw54욿`gC &b擭-O=̷gL.1d `N 2+6gTrK;gzW;SOHz_4+e$O}IVuWo3zu~BiLRLWw O)g3UC9xkx LiYd<3 '5 ^0"#!+-lq[oZ,G]=+Z_>X!`Ô%9ݚ(YςBlrqwY?O%8>m{iH,.-EG3k^UYWa4&_Nנs7{HBLx9J|E#-1x=Ҩ |j,n?an,ϰ 65O f+~/_=R<- /2*Ο&#_FifgW޷ڗ݄0_T:k7Q"FP H$ a-4a2]5S;q9*1)D#kKi&SU)=~sB: (븐'&8 #HVP|' -b+*H*i{[ƙeac\&~pXdƢ] Ѕ7΁͏aK~1͇l ‹oUZ2wm M $$>S@IN0lO?;1?,x W`w#4y)+D颣5qF^0j7Dl(X؄}jpvwJ.NGϩ"N- -?<&Sx֮Fl==024 {LVcߧ>v'7eDEF}(<'xڔ(FUX6 °Q-i.Qa`P`=+Qmf斷A9bDGْGqbz"Q yb2ƍ̴fg;&]ML"JΚ#!4s"u@q !ё@tB4!  byMq8sܻoqs[*ZhY,λٙhg5~m+Kj&WUSQxU%Y'newC1„KLشt[桶PLk[iqw,O=YF^>8A19y´˘^0B"=m)PjRA8YSBV|p='*o=o ГedziV_ݝCCoPC;7T>k2/] a MRm],nXؑy;pV 2lGu44̯꿵A\sRMOrfϙ]I"YewWo)ۖ| Ut:ýUj$ޘ>u y;A{!x-#Ea1h-_Y]H@ r.%Pycx+> H{~<,A6/ 1D.^ ꏗ6QuS_T~)NbNv c4 >]^ݻw>L65a> f6[{l72oWiztE?;)~UgH[v]{{o-}Sɦ?*mWfdښ٧xX.6I_U!lŸ!Hkdyax^Mj b0J~+3mq9t9Ϗlesa{ܑ5?j`>'vp|VħC3"09e'v\]5#-_ܙٚ72FQ힜N S+k G(&W0_glM;5^PϦgz̀ø51Rj ƣ&Tg$'8kPڭ=ip~?/?QG/Xxs|ϥ\fנLB1':+c3js{oރy {'-@[16?rV*ׄ{r8%冨TRV4ܜYݴg&ۜd45Wz^en%b=oy{҇o_s 4`55CIͪguZoh' R^)BCBdoD`Mo6 !jMOgY41*~ᴵLzuvJ3;cd۠޽}z]j<_1Jw2 ul.h~==ZwAw5g^MOT hx.xXA# 4<u%>3Yx:={͑qm -79(y?0:~1 y-Yq+zoҔܔLˇ6/[9|M5=;;ݚ NL?*hh AivPbS٥|xZE-ۗXJӺZsljq瞸8GYx{^µja4 ug#ş?brg W`[: QĦUqkCu5W\fճg_kYBt$_hvw/Tkd5$ 0޿L5 M @NYN!?5JQ ҁ T34 U?/(PO 0'=Oy@70e b膉o49G(lS9ijg5+(0O&Lx1VLJR "|!- ^MiZpcW% Zx؁ nokymޟE_9/Φ&kJ){\4ָ,76bDǬ{wy|盨HEYNp5&} p&!!A_ )@hsǷAQ#{mp_Pg8k]wPU7W+I|$q.$!dZPӨBĤ71w{-1=e4r@1RT },/P&EA׉M;>TqeVΜr2p.Nuͮ#ĥVj}Q)B Tq  1>BXnOc䁣)$7q`_8S*du,DdL~0m, Qc[νԜ#+΂R'fG~V0jeskȜCҒk_'Zc֔!#:5[Ϫ x`-ěQX@Z–3i8n*L)9"q"kb>EjYA-srKs" Z[ Љ ~eg\]eWDG%d+E įJJꊊ{9;O2SH#KgA}?}222XgX?3"kǀt`z:m@0 Sg05Q6 FՆODgM7,-&9/:‘ꘓ'#JWnvUc'2#LҼ4ܺqܺhF"@@TNtI5bp%w6m\1i2g>n1Gx΃NFߴ}#cse˭F) T3 ?(+}r 'dG3] ;a2zۂc&%*n.JlŬe%ߢC.YJtJ\4-Vb%oѻ>ԃzbf%Vܞ7a%iqzק x4'cDϨD"#Fzsz3 /~/w_-OmL/G짉&  ڣCFj?R,AUȨO2MjuJ2/ːUX{E Yᙪ@UCUB cvrc  ٗl߈6\pǷ؉XIgNVw)sI}"c>6xǜ:$ɍQ1 +)Gƺ7v/iMG{ֿ;B '荑9;_Up)YJ P>::Ov|VØT'ɎJ\4-Vb%oѻ>AP۬Ċ};$ 5N0J$` B,:_< w&Q bxc`d`s9M8EP#hxڍd[QwE&LUOSU5f()D01jfmfPP?V,|s;O%9l#J*=˨ȔĘ֞Ŵi`aq9ES d̒TgtޑaV]pwrylSY7hX>@o*}쭡*M}? n ib{v<il "y%7DFScyQ:AbjhZD:63C$ӳ {Q#=ϻ$"5Eg>㮴!+ve9MZt:fs(I }Hjwma\>JC^6P/"|hC/`?͢IΙU9omU͢B3sO.QG4?a6u|R^4 LU%zC,9D7DfH(GCzz"0fUG|G}/O$) `9`QW$2Qt;䚄軗Y=+~2&'X] U9f&# @~2B-Ba0T(DRb!8R|*~b'RQtY/}2!rEM(?*Q[U=*j^u:O]nmvTz!QOՏ 92Fcjrf |lKϸ>9dX0,Ap{Yq ˴Yi[ً/s:ל It% _/x}5RP @tSAk _Psz#Pr$j26|ɛxN +Wɫq%|W1ͧq5|]i\+wƽ}*ER$ L#OL4>$DƅN:"#F-đRpFN4 L R,7LS P i;#t#9&ֳ&r6̿=:ٸpQO>L}&tID!q۹p/qMm2*Cx86 .Xjxc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-700.woff2000077500000000000000000000377641511656052100344600ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2?{?b P`?STATZ |  L9 6$8 ` Ak%Qw.`NkcZkmAiVQ#{gE֫2|{Wchq|ӷh}~%kvuln5toO:~W-_ҊRUcw1I̿t{+A0MEv&SDe Z2اhϟz*rRitI)"p$Z%!$ [Ewj!Ko$Fm$j{)пh?@ئsΡXр(V`a`b^~tQ}{-ܷJW=9do[R+?ԩ ^mGvzrd;?ak&u|MX²6`8 l_*8 չIsڪ6yؚ$L`@{_t s,;LW奅긆v7 HR4{erf.B@Wy i9L5,W\G\EQRQ9:s5g3% D'&%T @ݙK\Kr 9P]2w)n**l/Ʀ FE/2ި\Q9UFv&oޞ: TuAAQF ܬ9 !\ \1ܦ',;׉k=R6a@$@$(B(?~#y0t-mD*X*E%j~=HQ<+aA؇=gDyh-/|u<gN$y_ >Zf`JVEfgYn'\ {KN5lV  C+X${scxt$$/$,=5(̷c4 YwZp}i\FkJ!䌄](Z~jaeoG06x|з8O#\eQy^c-xK^BaQ,J$ݎ`1Å[-]Mtgm%P5.'Azm'@ y0>JT=e`\yh( &1`MuIiC D4_zҀ>;U(Bl|܊(5f̶Wx,lAL$?[ |a3'$<~Nqj#oxe{[n>em6۠J>>ܽOKBr(vI7tMj5u(NZ5X&XU~XRN2V6gqVkldoSDRfg:kS¥*Q9RJμdr^*ob#tl XU'N[uM uM]EI"s2 جWE »d<{N,AѪJAxx ޭA%ء3k61^WrFr$!o?]a){AW5BWu{IF Q/qC!C Nw"9G ,)82+jQQEZ%pHw}@7( YAj^ T.#>)%ԸlDPKicgٓ•R~!,|ZÆ*)yR=^pc@pg(ta!4Q,%dhSﰘ7&g.*BO&0 {` UѼ/X;FXrh8oe' ;\vx&7|5-ܯZTP4Yi)1I*;vxAy1U54Q9Sd͘u`R_We`V2d7L-gF%ubMf:!mu;!ɨ´V{u'$TgMz=,a958ԌOf 5F&Ibhxe<]a4-Fc;MUl E+`-GZ%ˇL~p7vn]G˨yג/ӨV dCEu2QomA%7 *ɽ؛CUHl $#f}/)*r6U04 ky$:?3BFm);nGMn7l/N[vNKK\ɐ@ 6Ѳ Sp:JXrRk6^`w[=@̓" lU4w8k9D1Ѡn"ՠFZ$X<{K#-3 B_\ -gH6SETxV-{M#]glK:ܐ]!Qt΂f]U8+dFSr꒹pB2QQQG#B>Ri nRXpvЏK!O> {0o#?*Ht)ul[;klScR5?yg:2RŗkdjqnѯV?yrF:KcQm/..E\PE7= at|\w/bٓP1O9Jgt<:. ^%z,M $R#]YKKOP0ΓW7.T7Zb8N{54VħOEI($\֙}x([^Or>K ℊ1ٌ9G$H.Mh+i G /THmW0x)J7R]3 Z(H.~ ྲ\W.rE?ġة ^V@ aeXpFIdrg_*7ǩU G2EF7`e`[݃?5 iXi ++%T(1&"9'`h2M!Ĭcp:A)l.@,A5N 3O[1l,F\:fd mPn5i{|* +>9<c4%G?ƽ>? Sq׆W-wx7h4>.[7KLd~o1\cȫLa^CpW`N !g{jy&-S3/ADcbp;L[fޥm’%%ngCoF,{8h#R:_p"5Ԛʥ6PQ+ )(E"_s]p?A\}lԑ=|~y^X<;}S6iWJ7Wa&Ȏ8)d%\l$J㥦`E7M G)ziD" zSvmuг#S$?a\Jٌ jz [SDO7 wO T l"d`L")\S}?X P%~ :n;/g(n(#xl˖!DTD==|(eI$z\- F{NNQwf*y -Y0SLiK\&U}= 7_y(8x@@g0c89HW`~~+ƜNRjTÑgPJAشT}Nk[fb1H<ʐGY:XA 'DpQ?岘eM%k)Ĩ=:6Ammg" 1y EclVxn[)~D .: ]`> &7BE`vbb5buоތd':lUzireȆ?5чGʒB, qTDSjh>S׍۷,e :]'%0~Փ:ghjl ApS#A8*yj_e< [֐wWDqxk.)dt}o+>+|P=@ Ft5dh&޼0û/ф_e $'*| Q<121 e4cNiw5 {^!) atM6YhkXɪ_e#Ćm jdU=u2(njYxO/ kL2Zqwp8FxOUig8I/P>yK# XeG<|G+vTLEsWzFt%ԥ{ڶ#n+2#)qu3(3lrwp\+CeNۅ"o님2!JfAs} ("[<6Ep|Y u@LEE\"N&RbRNfA*Fsr9znA!ahi\Bh<688Wq(3JǽUɴ3?<ɳ#)aL1*5\BĨi&b+ 6N95p0Q*ʉAHNhͭf@p>˹ * \ӹbμ.b P98J}kĶ?xoz!Q(!IQ( szs_- ZM}ltœwww=PX޿4v=bڽg}L.5],1f[pdP[+)>7G_Hqin(y51tLnMg:4Xg͛;ysX*֧VEM 8_r^Ӎ'zq``Bvkd5$.e&bop9b&Qs:[^cD8eGd.gQS{a8JNW$b$x7Xr':kۆE5U:(>R?v(,mÄdj׌&>cDd~9A߫6v@0r|RcR+׼d}#JXzێvݽ**r+EI,zHs&5,M*(;gr_o&}NR!Gݙ@2IȻfPe }qe?A#kⓤvF"eδ#di.ԕq (y=ݩB~~KEUwyߢxSqfToV𲨥3 @LK*+FݻD=vb7Wxm7<0u糛Qq I?.o,?a[#ͼ;c5`Ɵb+ W,\Yk(ZGѭ_SzLYҧKy5w5S|ƛ[w4WػMsNP<}VJI"  \3FC]ͨR&$5S tGp~lpajJ6"3uI% a5XuQ:'@~P$mъ)- sfKY+c7\e&x% whv|P= Tyo[~f̞ ۊ^Lh DLW*W1ô,lAD,GɃ/ 1#Wx:beo]׮_Qs-|2^7Qs3/G)[Iz[;g<2&R{#d~ ɿqIܧQ߷#haCֱCɆԟ@럯5@SY "},F}zoVևGS,%XS ||Uu-1)VeX8Qj`Ύ-6ب =YLl13X;+yt5J`AѐjI5gg+Ns n&U-F&AB8hTbf^29ɬ*^ Tޠ8]eL20m7"Oaެ9aDg3 )o'i,<Юï_L=)kh:Cvk->G&79kFTC1r3[o?Wڵbni>Q Fi5 Z_UuoP?⿖Ŧ&";əXPsr%c}]1 t''$Qv('I݊wb+ vo^8WIa  6A_u3Mo~GyT{g @z.TfS)a"ΥBeSU;s]2( `,;QRzE s@Zm]rCٶ)vY7̱ڵ D 5yh7$ \ü;2ӅWka;.az`i̙Wcȯ@^»aݿnk׻ӿ&684X.\ f\a*gd>ZŧX|R[h[43_&X̛b"هP, }o9qfu=0oVEcOQГ9F uU]IzP@S \N%z5*#i{j%{GG PJۍ>jFJ&_%?@,* dCV='cJ  >CBa/O5aK4@u*@_H-ǀ֨z#=ʢc(՛iGzԭX3IżPFU̟m2yٰFrIfA%h,4XdNmIƸű "#, ?8ܣi@Sp>RMWf=1'i޼ϻā7ݘr{{::ġS[]GۂQ 1 p >;%Rr<>Oq|Q<>_@X:Nsob*4bq3Zn5@3P"JdщDhy`uJ3Z@R^W1&MMiCݽiڲG vn}k7gSҸͷ/w2?P3orho@9}k [*mEIdwިr {/3p?SU?SDAQ) {]9SƜwUpF5$DWݿL`oHVEk%-LZfd]#0@{_֪0aOXrhB8 FtFfPaYq(m03^Ͷ">2{Ƹ?R@Q%A2qT%WMj*ZΌ`h-݃g-&6_T.'ps+++afi@<u`NqV;NKں6*8)}Kuq9$(Dḳr-ٕ nĀ["aggf>"iSgޒM-Ãy\Ȭ?&iwU}HΉX7IϥbTYQ*JGgR{_[ۉ&HxW: 9XU!. 4w =$%?9ӝ;ٔP0#cpdQͳ"Gl/_ʷR}Ѧ-%6#+I=t7]1M6|#3 ,`4M{L8u(!~RX:҆;q{#cwS ;zjSr"lnT) ac<%)%̡@获َ줨(,+q= !B^ 723d^Br&Vq⭛:׃=.PoYH_a1}7vx7#E[J;h-MOB"IE_JTRF$r ۍse8z8/Dž)ת" >;K3,T5!ڙ!OiA2>d}b۲Õ7JY T uȇ]ܩ\2ڷ:UqFF!1p8Iƥܘ^ ͣ Lhi4~+,ZvR5Njk Xb"U:0˩H1rZV՗NCAÏvd#oT˭Ы({ԑZ;nGl 'DQYH3ƾuMEz>jN3Ɍۍ5|]xI+#!䎍Ͽᦡ" i?KQ@40.QH\dkr+VmA>Ydnx=>֦,t{R].MgVoܟɄ 0$3gŜ*=e`zјqx’-}2v N]Z6:5JCJG[}!XaDҘyC>Ys5>:vuhJCsܸZm37c{@Sx\4=&#Q 76 3\jq9lYגwf,V%S:՘N:uZ㰍I3^`Ɯ5{?1OfUF/:r3a^惝-Nlǵ9Ot`fjI-^CU#|-ҹXd>:`,ebX>A8Ǚj>+1^ y0̮3;GvFO} bێ U8`nqcZM@ZdL!;6ʍs#C#ّv߸9zNG%] 𩮽]oU_>5pT)4p&: 8΢7-Vѱ)Ten guR\ֺC|SNn`+G !zY굛nhXVۻyzt` J Gמ#Ib5k7Dʮt@wfO-7[I 0A:~| =/i\2>s:\ Po5O)=Gl2"3wX28̃ѧ% g&rh(:CՍfVPq`lcI|`1EڴaAXܗ~!+chJqHH95'Y8+MwB4$$ аa(0hUv?H{ˇęӥaӖ57M;ciWƍ߆S!l%w`%-zŰ2º^Zܸz7ҡY/5=tûn3<>6j姑~^k7s,s仕; m͝<'+.ܐug'kU9"66niB7 5Rsֻ܆ԜVÇ$aWdA@\ D<c9*&@oYHyK5V.| Ė+FW>@/1v$`o9"ofi3/Cz1w303{}|hjaC3K'NԊ,%{h$F̰-WkICo+N^n v,Ač210{c6h tRcKuۈ%['4ɈnN\t+ъS栗B[3魀_oEG3"QM Aцl&=-d#xfU3^|#eԂ0lz3_67ak"rq1vZmkIlMa?ym,Y#mm(bvWbv`7ʢ! !%?u"y Щ 1BL譶گm}C58?D,Je]yuɅ`UX-{շ/ ѵ7:x(,z:Fv~H9C$BV F;>($@QEgha"3䥟Oi+m7[8oY#X&GⲢJ R/5u|Rj0=v,|ǨJjLPv3ٮ+KAbnR%\T=6쑪k jkB&焖|/S7+ؼPZ;܅*MLVj2P6؞vZU gxhL8$.M?jhS ̈́ixjxzy1ܺɖbqjpc4߭22R QP^`I^$-2QY_Q[o̶V$E%Z+PPbu f,jK>CJ$.mcj,V > \\zs:.!Tuѓ#ܹM4vg82 EZ6PSUS>MAyE!w3T H 1HHUa)zHEp`hpPU߸C@ZP}?}F}20y\o XO$`PEʻ_[7E b)5{CƜ 4Mp>OHޅ_sک+Jt*wIhe߼u6wkD:壺x$N{+}Y3*>5Z 4q!~{$YW(9{mRg/qB `xB\P:1P mfp0v]y|-Xj?km7j7LsVS/]gBe1x74lޞ!.ėiwtzRۿOYjoVL˽0GOvuG%&,"⚘IG#xvB _ 5Ѽ'g?<|wz.D_fc41b0*?=x)ۋ~G|w Zm,Uw{+%@-O^d+)YoP3AJ*vO;4qpa]~I e CFq!BX=89DVΰ_D~ Y%Y&%(U.os(z&_O meIDBЛJ9(]k.IHPwl8|;~1 SSYzm{@n:9?Z}ݥXQeRB߀t" D&$(Fe7HQa$7Eh Y9xoV̨Y4F 0:۱$؏m&YKa,ԡ,HP qaTewR⤛#R0n!]a2B1"A|'P{z<յew|–x!^PVJ^r\[%v7NY(тM1ޑb5Rbuق(3~] İʤe;^9a^73ro>+YES~L`MK|o,p9QJ:OZ] o㤄bn^Lsi9EZGesLfw~_\-}ªwX/DUGE㓴(.*cZ7-ꃸ*=fF̫Uay`bwGYӚL|+؇`mUٚ 12. zbb ^F^H4;]pD|v/c7XYN"&8I^=.=cwajeg;D=m[kN7%%4ӋVI7OQ+xJUJ,PP#:@m\L|'8@) 8;y"FȂAlUG#@DN$P$U5 ^z %st/&AOiWi@4B |4sbZCM "7* Q#\! H۹Ѹ=KX7j@qŶ1>D"tk~hm`+(HUzGGm#׊Y~A_ i1J(eg`ζʴnߝ$(QF.Rfh(~QDO&/w^[9=Fddu2bT==+,;%V+c V\M@*;zDG(PTKJ= open-sans-v34-latin-700italic.woff000077500000000000000000000514001511656052100355430ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFS<GDEF\ GPOSv8GSUBh#OS/2U`tESTAT\EV^Acmap`cvt \8IGfpgmHZgasp #glyf0:!Z}(headJT66_4hheaJ#$\*hmtxJP9locaMD* `maxpOX nameOx*AapostP 2prepPB3)x ơ@}wA@6(t A1Ti R@YѬug/%ҝJ]M=KK||5&:1f4 DMx-mKC9m۶l۶m۶m۶mvOUjI%W?g7?)30HXXl6&-b?iGql+N]gumOm9)_2X!S݈"^^xl! AQ363 &(HI,df`z`37(MyAPD@=̱iٍ۳2L3KyVXc]ss b7|)f|_f7ևPѭ\u_Sr,e&SXF2x_7<3o(PO;x,3B'k 7iolnoڲmv-!?}Ssdȋxr?#9 ?HIO.o߂{:u7lƥŶMϢGUFt@C[0kA³-D,ZioĔk1`Ң]'Ӭӈ%et0nΚ-N56m瞌A{U>#,t_³vL[IHI(Tɠil:K!LY$xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڭ| |Sǵ̽WWem˲,ɲ,˒,›/o`0 B!!8R#)!&%fOSB(|&4Gt4X\Y@{u39g(;E0h |HR~`:.{CtɝrFGiGawZ*:5-їGh˩Y[[޲q|>J%@`3s^tf9 bGTg QQJg-x| FEJ" :.BbDȉ]Jp ] 6 1] FU~G]vuٟUWRsWv'. e[/7s/Q\c[YA&t_Tz8jRM"ge`w]DJ֛xL&2:ZΤFs<] ]:BeBu! ѝhؗ)WTNղ66G:wysgm)wS&( `İg9-޻Wn2!>L%/. Ʀ[tz1Ib@Ǿfw.^F3S:&tZ?A!&;;oHQYHR4|[o<3>{̭{<:%i'$g#%։~} O_&D Fdž1;ZfmՁ5?>xB_/d9Pon \|EqqE-t$971Չ [ b"v47ԹhbD5SB̲]Ѽ1n,VIU&Nv"fXK.rlΨ/OUi6UTzti[#?_ٺiՙ?7v?1] "^|iԉ(u&gfv(e$cT" "?߻=$UNĈ حnѳ%}sk l#wn[^SXSlh%7ܙ3/X?w TcVd8]xH(e~e wn%@3>70{u:!, r4B"dXRtE< MF@-B%ζ&=K&w U?O'RL"g^-O:m 1b75PWz^.Mܺk:]tQqk SP7 EYYwNTjZcTu@SD7%sc^ EdQi`i$Qo@Ca;mѫxH@L+Qg%4@ MΠ1c᥷;N-z|^Nrg9&uAkZ;Up_=ëzolgڃ^l\<#'+#Hϐ '$H2HTի*q4CCEI77S9. 3"4kN+8v Ÿ$$*&$~(<04Nq-+>j}ScFocΑ%oF|կۖ>^_}me6wn@ Gl@:nUJ" :% MbՒíx$!6֋BcX!Ƞ\Nމ'%ĐDQh^U[gKV"JjOՎ܄IEb&mʯZߐ~+Dd빑KwʖH]"*;@P:, >a$&,(uԍ\%`NA[2@}/d|瓧ň Q "IMȈƌR!$CJ@5|q@Zco~Gs>W1ݚV9&[}\>`+-ʗn_0<'0gkWisx*',hENuաWݍ-يR%#d xmɐ{y r-VNzzB+J+?ɓoZwvb~wg:"+vNj42"j7jL}axSz/>~VሣZ65+;A 1(:#P ǣ3$9 羖e?sțR޼xy™ Z`-2:tcg L@rIř'&#t(Q}#LGvo@PV֐HgI> ~~6ڵc4EԐ4O4GY ;ށQNISS~&:%rG&7TڜVXYO6~CUiCGWxle"sO58)>oB9VFu5hn_=*&&1`4&D+H9XHn+]VoS_rrR]NF'(~Bv-Mu'q=sx}K SW?հR%*s݋IXB[tcż#/-bSdWW=wY_hW^Y[ڰC.*LrF]v E[ZX~6YS6Ugʥr Goن%J4["XO "FD#"S!FP>3H"[Cqpnj g>-pJ#jϔ`'wW,.F|ZQ`QF*ILL@QSj q䝐Y@Hę?ɍ#hoaç'/)kOu~s`x9O΍m_|JٕSZ5O-)+A5Ed-as9 y@(a%U_[u;{:2rnq{Kn^n=zؚƸu!"]HEkt=(5*qOw}f#>x:}}'m D"f&M 4Qe9P {8Crge ?N |aw77+3cGy5f%8w?ҷ{@NbڟNf*M ^jc+?YΜ=Ӷ@qZk s)סO4avVZ૟/[V.VH7q] `QDwF͒Q\ AHMU+[G> d/D@@' y:(@vZF$&L6ǃS[ZMG24v/nkRHˆi`fX_d 1Znz<)!|ћξi pW^ X"-ϙ}bH *e ǹU3=EieM$Q5& EqB ^NjŔ]48.EHS@”#.?/n?mvYܮ*jU> tAAT\,FvCj8_#] ֭'Qad7gEyyԂ:)폚?b0ZP FSNeeЉV̍$\ݺ5Eu~÷#r~Җɐɘɗl9\dWRG&r h1>4VOçv/d]);# _Eh6ن!H0c `p?pHÄB5y+g'(P .*p-,~JpAdLő iB:1A 8B*yk5 ӗVS|k/V]0XSK_^n)w%X ݭ{dC˫NON)1e,3Ъb+Qk7eܫm< 84td{TE~h*X蓊;Ӑ[xdmG==Z(\)sB[P5s7=Nɍ_\kgCs=uOa"@~۟p4&%$ d!hvѐbhxPݙcuu%$b/WI VGXȯA $&!ĜD_u2lPDz"QBy\ aEj[@w`5wTAQ(.WǝCb~3EkbϧzׯʤP7}yWvcPW,I/ԝd|)$\C n5J |Ok@G7g"WƬ )1;?㗋x4 s75JNo @5\F ,4CPDNDJf=]`ŁneT=OrT5 >( O#$ :*w;~W@N4Pd=|O9ul%wO !D pChjqsWWbJĸci=GC8||Dh :W7VEV% Msy@ u)I$Rpa02I6OjYJF,e{Tfg,@;2PVK ) _/v"&#+е.63^6#ha>lWe_m7䢴.V!N.Ψ/qĕiN^Zj;nI[ii9CVN$5*VKd4B?#$&Ij%+Wd3KCFHfWMM 4[8!9RZ7qg;c %Yq%Y 5jV}bON=kOlV k!wrzBze8gcT?uTZKaYJ% |W 3vnĶlWǙY3]@{mf4N-.,l 'E<Ϥ&:5l%Mo#Z3ZD 3hEXi>л;K[jgwo''點L*"q@%/oQnbB|$B+֨YV1K7TW)Gk^UR$=E„uKBuGa(EMHq$֥EKJfmDnlrr7F㯙˗Z\Sw1v)EZ9qe; / dD +^msyτ%@㟠O[|ӬMmL׭CWҲP;7%H³X ,f^q9ùGM@BYfr@^ ό7OCms9$aNA-+5R.2@bF+5T0b׌D cbX|qrȽpfU [h5NTqG 0 Ä7jy3H~Ɗ |ZTjchf)P#bxxcc{ ˩;.6K}ʏlGWPE]+Nw\s(GǃLPTJHPIȒF#  d:'2Rl\QL3˺EFY+&fNj4*Jm֚ƭSԅ߼`|K}7+;8c6k~&&JD0qwo90_-JLUTo'9uz4B 쵓y̺VZk?G webeq$u4ɫ8>Ma/(Kn]nokyUepc%m E󢃨 !HZς$(6BmN*nY.||3-qݮޟo>:'os.[ M;=.ǒ6W,{)u55+3+Κdh/m.$߀$_$R(֯\ }p[NAJLڢYXWGng"i)j mk.zd-BPOܬ?\i6k}L6m[✜Іmd^SkqY>+[.9fCwu,yzahQ4%#0]6cJK},tvq4ȥc43J1 څUdM%\0EbyF XE$65 |=%et+S6rb_V윚amC(!cSS\gG}EOYT!K H~|lήC{w;W`+wqD# 'J\շ :SlNyL0smfh(<XhsȄD34ɥnQKD_~YRWK= T7袾~ 8NSԯPU݃LV=urƖ0ͥσg(,8Ɔ6ZB=G/fo76;&P<-2t$ܶė6UEgSa⼭7`N+wu`@.[ZI>+I=])~o!߽م'VF 1"XvcgC~6M9BFQ|q6Jb4]]mѯyu5.Fȝ=.B%%q9/"ݖEKS PW|f/p=LĢ"ըմdj]P'|abrDN˜[=yQFZk.5?9EGkIV[7mLwPàN;uvEiuض*[_ԕ6-hE[vOeV4/&θGP C뗩@s&542Ij>\$M63B(k֟3/vv"i徝ͯϝtj{aJ>>}f7S,װZ]Nz&XD~Mt`.x<  OqXe ekk_ߴՊyNCP_G|뫟l|e2o>hF\ T )E:V0vL$%F7LhVnfw6Xi||Dۇ=n\]Cq wYݙCOlM[YӲ[]Vn6!6nͮu99=֡C&a㎍rE{UB*4 x.1kǴ}g ^P#58ʂDHv0T0,7DÞG+=3"IΎwu=GvvxQ/=ŝͻ|2Qޟ=!p\tQgpѵ )|*HNh~ `Ն; 7J=_g A䇞 = >PoCCup#w>{ m1xW]|{9ͦS^=|DdVjcxH]H7"ډLIG8`G⎎b_G;mܞϝ5STNH-:hڱe""B8BpH5pqBj.鵷q`ngW@rĀab/(rq}5ލ"Is%3] wO͏-tk2%-7}w˪]v%t{d e&c$Zam8DN8fw|۝y˫纊 ƌ̙YMxwLH$žb3u '23s׊U=XFȐ 0>a^~R?%G753Ś,ROhJ(<hj2ZĦ8wpq2cSyūPrK,^#YK/uoG84^R"5 HR@zBUmY˓ը.3ش~fFmF!<&Tq)6*u>|"=t E"VfOQF 7uR]iy n/7DMG18qe(F)S 穻Q|}y֬Y;vImy1L&cI-WqhMɓM;6/+ع6oj 7!%`i7Qؔ2q i: oџCo9<>vr.}`qdWo@]EֹF02Hqs2z D1 xFfE;LI[ #"e[r(jX#k?qv?1LM1Q&zxM|ܯ;9Ta:gݹTˮo*[2.}7sWgV])RXe^߱YIoR2Jiy+fbyꢹy A9,Q1! а{Qg!. 0!.}:<&#' 9.E3$fQӱ2{A ($R)J!#'r!+|Zt7$Ixov6k&•#pG綺OϮNzϩ<|Άkus/nWKҦ/ʘR@GKmt:oLf~`l4Uwx`HiJS#'`b|YY8k`l`GJm>U<59gKf+Vi濽5dƕnh{̼LFhcp ZCv&Q<+f'Mg½(v/c  &!o1BР\gw 4[3PVSfa+tgp!65ysN S=׮qKKW[JK[1:evD_c(}IF0&+"~ۍR%#c . !B~aXdMQh'yc…KmYF%8MBjB"Ck6kmv03Wi{Vex _eTn]pc=t\X<Ɇٶ [6S*ca)O-c6Ċ#PLQ7&Q~.`y~UQK2dE6.tuN9suCźtӿ(ْ8N'}wnvӟn_E(`tfd kD-Y7L5zt呟L.Z7~=ۄ` H,6Y>CE1>~:+~яk_!1Tcۺ_!ѱZ@aiXb4Z_AI@M'KM S^Ǹ4z2S -DX$J¸ D{w9?NGUgV HybyoI=B0e sMhmD(-CG }ݼV 9MvY4rTP*qO}99$Qr jC症ߙ5l":s޺@>,#4sìXHCRVHyO4>y”~_&Zɨ9UII8]2LL&tP.ObdFO j m FIhc( Jjk&]KL1]Ϩˁ)k)gM\35g x tþ $@XZ&C <^ <5ȬZaX玝rSI7}?Iw94%t?{'W)r6.Nա=?|'.~ wWi͆%y,yaI>8%LJtu= ~^^efMLΈ23Ӆụf2oP^{pUkRێwL/uÝaltS hD<4kVP?0iEGۂd5|VW(ɵU-LKvO38!TFL*8RLXR]X␲!47JOqݒؘҶWTT6)*tՖr?UV}vg~N['JɜdT.C1)X>^xu#ҫ 4u<; _ PhPy{OV\d̳D'$x1 tA喙u={g{fxIu ɫ-"(7A3#Fp;@N\!?4<g.Z;?W.J)]@5?eqM%Nֽ9j;%灹gOfTY @5p}HqϓRp^J)C#<ܦV}܊tըn"B ?VTMf(?v4/MӵMf5vkf2a^?/Hwt"7." 7-1\P;"/ZvƦX_@#kR/-Hew`ݹ}r{e3C}zƞVF`V0' ֎02㵒Όc[vm~b1koAgPMgPs\_,sPPMtEt]]jn\GTӾW4j"3{l9T94{d_p1j(y?x v'^6mnގ!Ck` Ҁ 38SIsF ,hAx }ޟvi[ɱg7]OQf.7ז)J"mwzGg Sק@61f HV~y¼#Y mD+#6zFSHO)".xEj.y۶m۶m۶m۶m1$&c_g˔T4ƴtt62w6,,c-~k'uۖV6vѾޑQ1ı H d(20:Fb-^oW[7$(J":;G9cn;{{G|^}|=}|U;@;e졦a=\5&%,bT&dJ2ِE$?PERՖOMSۨ]ZSҹt}=Fw3vdƔ`j3٬tl2۔QeJp6^u>;_ŷfAR yB0X#M,![}[(RcɵBy|Q~xJe[9G[EEKk+ś_ſ%-J;]hoxtH١JP A+`I0 j{^gݢ?"Bv/xڍZ`vK6lk]8DZsq 8c;E%n^:b:N;Ό_NjoSu< 3̲I*!gJêtY4tCԫ@UԱ%eE~o*@m9q`%eEmE-Ɇ+)YaIydL<%SУ"E&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-700italic.woff2000077500000000000000000000417501511656052100356340ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2C C8T`?STATV8  |: *6$P  s!<!ʗ: p6 -#D?0bɜQ}CvFf ?sM}˞n1lZ$Fh;;̟YKhhjS6TcK9hjOl[oGX sso@Xάv .1{+fN7LhjLKwş}jS%UP΁V1!"A@44*TBaB#1 51ߵ ,`T56.8#VYTi2G--Wm9=y2O<粇[ԋkKsJeubFnݫ_/~FjN;Pqa֨1 (rEMRwT )L,ĊOPѡ.{ :;oj wrK+ԀPNSdArg)mRzG7ǾGp]F4nX<<0Nh |=?qz#5ǟw+8emN߱>/r}qHͱdy!&*k`I''gng1|S_H=zt|{S;es} 6 %@?gCX ͝`}Wo6zwEg1,w+!x|`MaiI;*Q<;*ehCy.̻忽o]wUU*ut'7/k}_iթ:TX`zk[eXW_͟x 3{;x"]Y/GOlEALo(mz=SJ9:l!ƵiUzG}SܠfkVGF36\wk%[6FLYVF^#ER QFU~̌E=SΨ :MobU35oPF3 f\,6TJZ=O"嚆r&=91>P_W[S]UYQ^VZR\Th,4duZTeRH(6ɠ! v_0g[;kp+͌wH0 HXֹ`AU\ں2иᆳ jJ 4sj-wt{ˀׇ9g_: 0#@D +;c>0*ώef};O:`=PƚxUĈZya!' i"Xۢ nsX8(SŒb i1C:LЕ9Ȫx=UKaBʊg!o-&AUvb,eIa3Q:V} @A8f>#TPITe7+HjWUd+X`[*dQ TL J3_p @c%R?X pj$ͣbF5gj5߼}N4] HbK,E*'օ./$<zI|Q=\2\#`cآSyfrNVFPSy+Y"-W$76!=Cğ}#\qE71۲ZP`g6\h;Te(ۗ ,RM+2M*/eߜwn,*VU 7ÉPG$܇u ?Z4>|"Y=ђ&$X'}i1=uhà<>xR %eCZa^VMMip1c-G$59g G޾5Qgt3a[9 7o-HYK )QR`3:N2.+uYȧ%i1N;eqS1C&gyr,Y EI?9x̌1ton5*G Wp?4+X x VT_{R^FGJFy쨤.9Hv Ѓ"ABtEGő(.I_N`8ED@>\k7"@S0[ OҷͳGE"j$*l~.yMړlc O,*:>;gr** ۴O % mzԾE8%zBgtGs٦}RkFCm%~HIrƛvעwD4i+eḻ[OJCak_ޏȀpG`QfҠſܑ8zAn[ܵ$]HU K+Ie5]Zx͉ocE7k%(%PNᕠ}JCDx򖍓񖈪!C kwF<"w1(>ȇ OE ?2YZl_n#.pm, WMvG10TtSų:9n8 - &yɽ ީ %=]/d!ԭ:3e zCiݨʶ'0f&rt`[pwkGV{Vw ~aDnfHr83<@K&;tڪ ~';˪o I3a+["եF^¸- GǙlSpIAs0` F OO}*cl=VZ , Wq+!x6a@Q;N`ŘEj&M]GyӃrZI#w-fRm  iuK|'`Qʹ hd >.&r*E$Dn!{@ZHq|9ΈW=1)hgOs\P" 6&UXsW ZV^2=$C:7 x`Юd@.(ӵ?#OcuY9N&,kwlB8Emǐ,m7&F4C*fSUqH<9tݽy>JU*A빙F|LZ1MV^ tk2?"b\. ݶ }Gئ֩:db\"B<䐣xoj`;-~{2TY26:~AXSό*xy77OFA_M }X(_9,tyn 9_ULZI*9e[ڊ.?!I1){SkosGH[\唕rg2*Mj)3w"[.XG"_9-!h·'gUg/w[XX$|k)[dYV_0eVQ`rI'q:? ,etT=6;nE>?M.Zkq/A!K;MMTC{U%+;Ʈ a} ĥtOQ5h"ZPeJϨ -֮FBކFFv@{$ 'u?3r&% n[qx@N HxU{0z[;2cJKK0طopP :Wo_FҜn7X P˭߂߃پ-BТm̼ʯb5rx.癞G2X=/mc y5Jn1ST@f| z# @:8Ym=Qw0оQV4tMkM׏+(P+-=O~X%%ԦPG e~,( 31,|;B0J'zػzrf9D@հ%%쫖A&CX9AEJK:HxV3`T<Ԑ17B`:hOE ‘@}3s4pBZtJޔq(`͓ mն<GWG Nt_w$Pe_${ )@hN+@; ~y΅f2{&-  y:ۥMђ|7PT?!`fፅ?c9p9}5ͿJwm/^NZܶO*nD-PHVb%\:;/J}uqv^kTIg-]ɧp~\()Tͭr2.6on$40SI B8: i񜜔sxä8Q4~Ǽ[VCʀLP#C#m(vkMNi#$ZkSrR?zK,,rӮ?>* [xU&\ C@TYTUrxk)ډ겥eT;n<Ζ3Z% TP2GU_Ee){x$u(RfߌΑiAjL`7u0V`ZI)}oN3(=0}2]b;gSnL9K߆k㫍gz 0UkyQi<82S8̨46k(,M~Ew}t`KnpP,oX|ꊚͫqcNkf qg`̫ПU];^xٖ(B5NC v(BW)lrZa~ [Nmk2'TvodzȤo0{z$R 4L].SikM@Ecg:1*6HPy!S(8#}lݩdi$|Ef z`oMo% iȦǻi_W睊}NZ؅^;{Ţ9vM'OݹV+r՝;ecKJ>\XzQ:~lt6Y39v!X\uj%=I0vl]mzx:pR֞UvsC_Ba8KB{#_PLo(L T*}cW=n5{}̚~>w{:q0Oc181lggܚ{d8{SZ}s/Wx|]x)jesetpbpsBO9m]ZGl*F&1i}! Oٙ2zOHGNwz_{NOIbT&bf[v׏ޤ>LaܓpԮ:ha1fJ]Ni/{^ {JR4hE"Z/uyvhBꞄm^t tZ7ag"^`تlo|$v{'G;L,%m ?<50h(IZ={Ep91e}b ܹюW{9tM@uwFɯef+O]R|X=t ۠i)yDm=[}X| cφkXU>8WJAe%5zf㒓bx"z )rjp}>E ް: PrY>5Ǽߊ5>_dS~5~9v >&`(w+s`!4h7 JY_VAedo(a& /2n,J )Jteg9NZ.G%}$>rrIBԂ)5Z uF2$~HkS˿\sa&'Gneȑc ]qUb?M#NKKO>|LW \TN18a܎1QJLy  cQ4 kS Wr2VRz^|UY^xZ8=|s9sV|A1xI%b$q$QOs!SMNą9T!&+pF)];5AL}x94{?~Աֿytg<}Ѣ}ʨ^MO]QrPBȡ 2=`7ﻼ{e&DuJHw|d {d`,]l*x]U VXAw"]ɊzecކTJȹmNPnx\2Գ13kvtewSA˞7M <}XatM̡ӊ>B-晩܆`BxlSuw[YC2} yX'2}F敫 BqI%4C%'*\K^P_ A@E YvaDnUDTe~=EP 7dSVzSԺ2 ->po?OΑK.C,‹ft݀IQlYْ&YR,{)@VbUDM&ӤҼL D~T<<ÉVVJ[v9z1as&A@ ~3"[i A\p%HP7M&KG+]u u] 2PLvT U9zL #BA@Ѡ@g<0Ne9"iS#!@Q 9>GY$blMOJJ6  &@ Mn8H8eQE=#a(O4.la> 2怍Yp[X6+6K=:sW&~* 3"nwVe\ %rèog9;RpIM(`műKnܞ 4b3"E X'\se쑭JOĩp;s;UVN9~@@>X.‘EXO*IjA7X ƩJSC&5HۂŴ2O(."]n 7_ev-_CLCX"6^]qyWBBb  FOdNnuX5n%ߡ+1)_X (/FT_Ԁ^;wt&tt(,'N lgKKʋMFr+ (Т"&~`zzC[&R ʄsy`[Z4 U<BbT"9Y'⃠B#N9,|=e\9̟OiR4psy$9/mCK4gLj{vE%Yw]x8~V¨\Ǎqm@o?VY'+К:+[eg+AT8T nf1!R`@ԻũY)Δ7[l0jE99V{GC؂5 y$4\Cf0E>%qR^((i!<{&{ GI9ޣ ?;;=PKdy, $JHlsU|yk|5a2D@dFP0E/39.jO*ç>Ն!xhrh?-1rJTLW.RjK'|IZߜƾzxlG:|}{z^PZ]5/嗉xh~C&efG~lԆX^K`=~R\D >Ђ,ދ_bs3.$'Ӌn>Tlш] -j)Ҽڲ,>xKp؇I%//(zl jWq$+PWkDˆlڐH+e#Xȶ_1E#; b_ZSWshY5}bw}Gk-Y}6\dIpOc I{vDrHcsEHr,KL/7ZO$N$_:4|#S楑l؟7)' |EGwTV4*e D319cP _w+憺rU+ \>9'wr k9ǒTbIq6:,>Z ^.N;)0DH`&ESP?T*KURT 'dnA4VFt ]z#QaZ/(=Vg,؅J(v,rgs pQIU(EK:[n,>7x|1[Z \oBrS t7.< clI8ԤgV_2]ۗ:k3VW=@֬%NH;U A L,Q V3QWڴb.rٵcI.݂.sJL^-g;Ket \p%Pew۸CmԴIx)wqn5(/P'/a- N}#%X,*lt,rd^~&KưTӏn++ nX=E4)P ڙd%ɧS|/<5Wwj=)hŢs(tﹺ%mThnIR IE BAe4n~?*Wghx2X#O͚.mXJ7#|f"r5\:}gx\sF-zO[GV:V?J3H._WdwCvv”jV<tVGx20d[d 0Q\LkV&hh>)! б컙jus`9y ꭖٔjC=;Zyb|<T~WŜz?K%ޝ9riICG<}r`)/>Z%b"rIL Ō#yY\&v*i.JohI^x$_{$%Ʃ637\pQD'09?)o$3ka3>߷4 ʕԙ $+ÈH@;MHR&\Yl@> hP1oy}AѲƼ>d:D nyDN®xy+yL6kNC)f Ѫ\+6zTHۓ͋[-ۨۄ ht#)>>6LW0A4r?)ј}: C7gz[vTOl)4Njz0''9՝%:QRΚgKuOi]ۏ_m\M,&خlI{F`h/,_J{>K7CB'8yyyFKR<`i9l_3o#-Sbr,++3cC,p2ɯ6 * &ãILJ:td_0x@k8!O1.ox4meU~4J'P$Ãjez姲58j‰C$ܰz 4'z$#2`O:RTjRtG!P, >cpmI4&jfϹ-B<9>3ɺ;檔yyЏ^ 3B10R6;D,3{ڣ(֢4! R )\Wq{F$iJgFG2v+*b51ɏ(~rncnh@ RY܀vמrvUUXcgf!7,G$_S o ٟ6ղ}n[:$LX*čKύIug"T~Jo^g܁h խ-l|&Ȓ3\٨eVqNF-8ceg= I6`ɁS~썲ZzKW*yp=kb`k, W\d.alM6{|E 1V4nJVX䱞P㛧Qco qӱ{/L:\q4)Y-)bGaU_9dy7^ *.u٥{P{]|j)nkIW<O?ߤNIϓB CXg `>ߠuup/\j'a<>C3 *Zv0&_Rp0_w~h,3lp6"U:'DVC+ȏ 0=dsKz;&PtEyph`Lv_3еu:°${ϰqk{O4d-D;gak_٘E26-!읈-nܬ~r٤uL7z6E涩VT9`kթUAU^lWֶܚ7><)u7*ѓ{CK7YoUJ@n1AZS]+TI`4X5hU })>T ty7긨=q/‹'yqTbT#)FG 2[i5! $00 Nu.C#mL/37P,l@iKrם#7ԽX­kwsz)yW5aJKPL:&UXD}rǻPCd!$uy,X¥}rS{}0sֱC,j$sq7 2a0< i!lܤvV*X:OٌR(Z `yu%ƕ- jbg"K>\cee8܊o]ɝHͦZq&=7 T,$],&Dzv dUFi'h^ᣯ?zpu;XS@( mqa&Gsـ@: ;v- p$Tܰ mFR6GWRTMӢR<ЭEJTila9R#|dnRuahGl6Vq@9dDIE~4hCu{;Wᰶe q`{I¹jt3,G0P3P!,Lc:^ٻmuV̧FYKeQ&p~Qvccv@x=gLf v.R Q0z]ӻ .bgJCGN/!+B ln5XcI#±cיuBS&]^> zbR;ބ") r23pVsZ2&)^3C{]_3Ô%gP*2td9VܺaDk&#b#yOr.s#/'x46~L&6jUIջ`oZgՔ u4ypj]*L祏S'1 >s j-j>j:Rg* ⥘ !r2e g2?G5P@ښ/PЪԬN^(dyGT^#FCm. j^>lK3&c}īf&&N`]2;~Rٖ_SQ6Ifk_oo.^fֵM:;z\%3K(ͭvwO84-O?!9.!]$u'7 Ň2^mUZ>/E -('p:srut* [kJ,r0EZ>YTs ZH*׹kQWY0 B{pT. A\56H&AzN_E*f^1揹$JA2 5A* "av¥m4>=RKUaAFN7 9҂m!X璧cy`a1MdF0?TOǐ,9+=cKؑ+ߨeVýxeE; ~cO H8lejXX"/+ <dO8_YIds?b9'Ch/v۫F8*Pg!غI{{{>mѯ:=wy:F(DϦ5[Y-K4UAXÒY+RGdUpw8Q(+}A+Ӿ>7=lۍ;ͶL%IH!i̓B#bKt2GBz7N%ġ~z{+Zg\nŦ[٤Zxs8#O sd=@rq ɤ>.{)XZwzšMK#E|)A2'_qOU=Jƺ Oώ( Lx뷩= c,YB_odoCl >hs Quћ'Lpgo|KG:7/81~$Jla={1r H9%0װ0.ZJG% Fhd ocX^ NC2U+ZL+%[^s+*`!}Ϧ01ƪsn6W[+Zs]1Z_T Uy+SWVn%QT9$@}.omRD,vgX/ʴ'@_5鴑](Gl ;s+hbKw>-p^OuA1O蓨dCz"+9 Cc' sJ/C8ȟ1@DP!)R(G$[T|5 oăJ"C#KB[TpQS>I-JeVjT (KC$P,Hk&% vI`pSvtfMNd`B;n.` 5~LqTmjq)?P]:9wv\l8ǣih~26,0o%>y7zTēy)M[vtzo642\5ʛ9)jJDJ8(gXX -v PR(BQEXTZ773;^υ|Ln<٥SPu96Yd Li@fr2RҳKΐ&+I8yQAShKJr'Av,dZez)*q2chnrɎvhE2H =!M *E#4tMrHDBfc󉋍#֖,ňSl׍[ε{vyvʰܙq+3qnc{[mڨ55f8a$?0HAscj.9J*Ofڏ Ek#֩j /%#~ȿ|F4%XLM(4xDpfY^$⦔Jopen-sans-v34-latin-800.woff000077500000000000000000000502701511656052100343620ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFP{GDEFLbtGPOS DhLcGSUBZPA[OS/2\S`t,STATDZ^Bcmap Y&cvt =O,fpgmdZgasp <#glyf L;3X vAheadH664hheaH $ hmtxHe8JilocaK@ 4maxpMP nameMpAHn postN 2prepN{x=ñQ}'(B2t@#P`7Cc1)bZBlY\G[~& : DFLTx<DQwZUA @)#%mUkT$I2C`&C&@BD*@{98 KڙguaOL9%. 'G')d6\4Ha~&QS,ħKF \| 9Ϯ.EWs2 6+m[.7]\ss]鑧C=\}fob Ĵc("s/K|ȫ|\D$EV|3GYy4؛}IN vw+ 1!ľ8œ;m7mn F1g' ܩoӀzO>»<ʇPgDo6 F$z=$^QUxc`aȬjraf:`4 400)n 00w?n 9m@J^xA;BP@FHL^i/GB{B'+FPpA UQrxlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-uPEo`bնƶ=@JA8mda'0Bs#ܤwO3ĕf\=ܼRa'll#p#'-c:Gn?:J;!(IQnx'Nk^(} y;EoR8y(8~.OMc.&=aI:xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄ| @SW-Y BIBPVDEW47nֺպZkuZZծږt~?t;uVR7@x޹ P[cX*P"R +WY΁V |\Aے3|.̫ll9uxs syC)c\2_n\O.X1%'w,x 7$w (( *` Zm4+**ܤC\ J<%mۣ!?ҟ}e$YFg^ߦꬌ~k8j7ZBKT ??o9dx \+|,\7;x{gA ^ZJ͐%dFPإR!ZS@u8B<o !K ϛG~g*^[N㔋y`5'?T{~YJayҞg]ɰGgeϏm\դTuMپg2#Ξkf )135I Px@r&5!+9* >^ 8*\WT*AaJ \JZ??q.JJb}]AO޸{Fg[ζ˷j|v/7n%0|wO6(XIhS(@QP9]6۠JLDVIթBr QH:g͘ #/HZ3b~'Ғ%Mi-3>KJk&T4֦xm1O]~b[5pϴݾ86ԧ5[JuLgN~ƨY9.mKm_Y6/ X'A2P(KitVk:uM.-ON`5\v _ߋTXA C]d]=BO!ZՎO6|ae;E<~eq7̄{ b>5VbA*_dV` R*x aa:N1\0ml?}?2ag^Q}cm*l!4/z#۪r#: &B`'^o*&r΀JA0/. ׸GnR#?'+zG L=NәzG\Zi;Ȃ.`>>Ca| Ӏp)?6v7YtLS~7 YClD qT( 5"&tJAP7Gq%XB GB4]Krz#u ْymx:WgA~`=G} ruS~l˻.eQP*W弒 %Yz"UDVe0q=&lCVY2tT!rx):=t;,&{K#7Ao/©] OY( pZeFg m}>zENV$k&fKi4&$tJԝXDdVd OJ6TGxͲ9㶎}m:3i1]y@qwȰKwZѢt;qWV:`ZjE 7m!#7i%ll'R &`ԟX#l|b<O8`/b%#5̒ LrPwɊV`+l Z؜{7w|b$>ڵ3?;zwR-~fViʙys_v:SP[Az}ƨ*OJi'J9ZMZQ<'#5:"&πؒ/1>UL: UﺖMR->w7Z}fcPbɨ꜡){>ϗ^jK'RŸd]t>-LvW9#KTG!䁮T!ĄMrC=~oײ`î %;qB4ĕ\1R lꨀrD8bw7F߯NtB3#B[..+_S'N|QxDѴ/'6p2.>sx*jw >wqӚSt5iZi߷pϨVfVզaǂ$N)FGG E6=.lBT,/8zEiƂ_!r7+>q_UxƷz6װ<,&0'gDƼO<ݤw9.ܤ>nBn5o~Wgf46Θ>n@b!kUViP,ñ@8T4fٲ1M] m_@u\, ~Aex(];B غ>%s#y> o >B]36DX?b$O}R' $a45924kdIlFs[}Ja&-.--MPꘐfxh"(u3>bڢޓFi6T_[T! +x_WSCWWCSbgJ9>/T8䪀M}! y4"9}Q TW][kًqY^˸OI#tӳ`P/M0HQsI&' BHw-)TJPDZ$pvA#4<w4yY7kO#QC* y ٧ة$J99oXLrol<8oBTX3sJ**M4\ eV<0@+eDGPc=yjau$ 'MtYXM13%++(#!r]˔gv\tuG6=aɤc#=eoY;F?M–’$wQ7Ii)Mß<ɾ쎧y`D07] w][DP!*B54$ uE!-ـq 7>047?n>OOm(ziP8El^$C1H +"#.Lů6b+vc<˰x'1bzUZڊ Is3 M00ij7: gT1FX13~xAV]8s1hXVkбq&[+nŚ }ԭm;n5Q\M9;xs2PZkOl˄Nڬzd),S呡#=_opcP{8~=&j,&@D-Ao-E'>x[p[.ط&r3k)"#4S[,G#Rӯ7^1{GnoDK;؆ZoӉvRCJ9Q;:v =<~>b$ӯJdC/ළ #Cғɣyc  ?Ɏ$WR\Ȩ`ŗ7;>et>ʲbxMJy=(I`h=$vD Vx^lSXq_vyks\ݸ1f@%J`VD(V0Xoz9#ɧztupiUZw߷??f~O_=3l*mu;յn;Dy%,[^>Ҋ3n!R%4tw74.YιTO6lj{%@wva=2\j@8B#"!LwWj/9{\[ƺ%2X-92Ytvm $ +%EnqdZTnXyyT1c9/Ȟp`~ȌJPHM ŋ>\rx/Vf`)N vS'd q5DF(pI<|!CzJMIΦs2bVI 'ǯX) g7I4ŋ<&Q&B:wbj<(|x"YYH{G;Įz`i6Ou=9jjA TǢ"_#(/𒲪Z7:m&U_+զ:MVDdUa_.ײSS==r۟5fݝ?UYFMcĈ$dyb͔)ln H\4B,Q Xpol 4ԌƁҎa2f梺X%'! (kT 19CG+95 nBʏ{,cx&mUm2Bve8X$K7&#F'v^畩xoXpk ?$U=1i-4C7#^V#4h(-!XIt>{l[2d ITFϱs^ϟbg>'J4lR$`f^m:'U#f]-/yuCfL] yΜpؓkkt<8;,qͱ,ys}!)ݑ:aKhh6Ji2D$D[G#fDbUWM٥;@#.Ze'๽]W0Xyv0Q{4Ej ;0qo6kUek3ڒI3o,fm|c {pukbn~IV(!ٖXGV1O&:-QgN\ j5[ X$n/RnHULJ.rJ2ylMBt%qLQ2 _OfA(Zff#-2YAcJk4mzs5|ifgqsjÚ @:j%B2$pD}#P'o|l}PJ*z͸4ofclt%<_J2І}sVw_}\$뇳<^俞1y\,%et?t]E|Nt>*,pסwdRpP/j_W+.WYw|ZSуήT|j⟊kaux1Q@ylZf(Cf^/j[7jڲ?e if%4ûhiHωzO/5E4™zvԦEMiU9h/AhD\*hOBSN\<܊%xW?C*b =JNM+$<6љaR3Pp]xV8;P%^%m*[=p K2Uz`gJW[?~!vpzJ_TtJT.tz˭5bՇm}#9̱cgN%GV_TExjq1jST#P _K$[x`a l־?}Rxʹ2 sxdG`Xw)4؍\^5tD¬R2 ͵B8dX(w*u/OPй9;beVv5E=\O_6g?C[aSM[$/=BhR511o4,Je62UTdJPqf*/]tM&Mа)>d3~GS]O,%-vv7-zˠ^,s8ʜ)vt=XHnIFHc(lGQJJYR $u##(5=IN4%4%YFx?bQckz7ĩmx͛7{c`ϟ:PӞ53Ԇs`w;Ii*v[=IA${")ha&D3 +wj[<^o29?bWj\5(u}ЖR[40 kWȱ_yvcvʦ/HM_ZI%'JȶdL\ѝ%ԞԔAfe.e kmhgtٓ=rkUUՕӧWVϭ5bĨ;`@3Ll]N/3T 7jĤ'.rla]6˥M,$IᓎOPqGKcͻ8vBCE%+s̘^]cc&z; A7iA'!sۤEO_XӍ?^t$'52&E7)!p6gxgE}}sƗ*{rnS^v끆"[J}1\2ogp,f34RhqN xRJ I|#AahS2z0 o5p נwb_nT ܎¿\ WIj$Ya q4C02_0MpT޹?xGǰD#HŴ`^+.SZ=E-Dge]|M+*KoM~M1j r -E=1 8d_]"L ܱ녚)μ2nOqٮҌ u ܜqSj;]me e&źiCJ+V/Suw>[kcř3f(zӿGĈ^L􍜞"7ثLzEX^/K`դQV4žJq'i'Կxpb 6 } 3Xr3a{L6u 6߈'f+ (րiUbuj9sJ D){$n;+dGFȢtiM}sVN+Iq4"Yj-&Ο&D[*SIG*8ȡoutVfDJCPo_1&(6)#FRn sO|pAv';ۓֽW^{ 鿦&x4cɣ$gSB)N[_Bqf:x TWl ?p {^2ѐeCbbL.9>ިe2TX6hV8?5oq^ax+ =AWm: "IJU߰6\dFݸn- KZ5vC_sj ;6 MaZ z˕`)h9˪!TGPin$h ;D$2uGRQ˅Ƭu/?)`p|?岲Q,CW">9!#@MQ<ߤ:,О@I%gРtI#wYRP5@Z,GCpN( s\`R (J#B 8ׂ!ݹIhJ :LȣxPAYJ`0H t/8wLx$Lwy",E4ç dS2GK,D/Dmv+r 0 VI YɼfQ, 0 )Y6B9kewɌtd I<r9ϲt*!mMJ tB  'U|u(>Uk'`4כ(7`-[ %&k0dfH XHP,q2J[npy5Z͡cN(oHA#MO i80grpL& J j uwSt.!~a/ nHD]Œ\n?ElXd=/#N֏{`+Lo|n0{`af\̲_0:Z1 1ԪO^RG1p6Mg$>ƾ?NHUyF6Ncd5~!(B2* ` OӊP=Dٓ*fM<1|C\g=z,=4aL+aL~V+ GC.@LM,;vި{F&CnL39M僇=Cs&߾1 g#J8;ȃn@@P޷߆3)0`e=00, P+D|s Jh< '++S'Scx{<(QI(1Dd*tOkY$ Wz|^(p}`[ȷԟ|qytM?m_;ʲ)*= =Y#]" ͷ/؞ClR+c{~k9^[C@wN&bF3Ӫ!'z:EU 4JBD/peq7x0Dm"[b&EH\ Za%9xVx0RRrun9`\Q%pB>'23'- }o:u6Z΢7ܜ飫nb+%~@F ]9-p>tR[/¨3B0T P{ 2E{`la,3T2>Uк3GjZHi=9FX"uIԁ\&⚖ؒK[ZCVxqÇO7Q_дŞ%$do))8Ƥ$^- 8Ñ.{|dxW .#b={k3k84 ØEy7$ЪK5-iXLvճB^1\UI<Wlfeab@USHI$Fpc ˆPfZEF xCk x .׃NQK' V@tMC #ke7-uE=O.]gVT )G58csD}|sw1ws:Gagб_-:VZZ/mj|-}Fƪ >d 1|ۄX F&$c$ocDn3[*"{h=Th R%@h&YߧO)p}˞?p=[N͖bϯ\vmG펬, 3(cTY+@ % G`3!m*==zY2hlϩuɏGm͜TХF'm7;ɥo!oIC(jz֨af=PH^I/rGLCB("=tXUHb֑QȘ9ƚφO=WAV(fRvPy2.gpG|-E|U$nwDazj DkgW (/^J>$k(4Lp"b@RíCШY/E .1Aq,'?A"Q/DXEtKy¶qMh6}jOU՞U+.8 8h8 P>40ЫA3rU[343 ^ Y #<"6/$CBP{ U^Y-~VCZ=i845Pk#ҏMn9@ p\_g{  #Ю8ŸUQ|O들u?{vĤ wuaK ±D.QdCj9K.|h# [_a ^HYO9#*nL޽Br[ҳrظޤ2J{)-sܬʕgߕnkt7&db$*г=Oŝ h؝& 2%ڼ"ZXFsfB1sln"#*)5}T.`.wL{5UgV }w5ljӕ2̫m0KGdUs{ V};5ՖҍdYi!a 2 2].D&ݘ-d G x)~LDkᾆ&Jzη+蜗[?l;<~ta1DRcX 5Σlqʝ'z ~Q1IM$Zcډ#[_ ,6"y,Pvvj4Td=Bg R3i:0pOMlCS3y|ur+3|s 3ksWj ٙA7 )KL ,-Nt0&͌3;-D"B E7cWn/-9@83xxy99%Y;gQUKn/v}sr?noϩ-.) u M#[ ?UC:q{j|kg]bVZOLJ嗯ʏpoi*$o$3윗xi9{;0UT%@ÖQS :Ji#$R/j(=<6Ԝ]d+%'k"'o"jv Pm$N*|@CbNYf?BⵐInr/|¤;d*[3٥Ndz%He~ H/~~ gWClfڴ \ SY㜰>O)0byڕaf ߟ=;dCbDԌ)ghM:>5&H:f5!ڋ>yxk=H۫~eQй߅:^= }H_ы7w3pk_UD ֹ߅ZQ ءc;ѹ*bB=So^wLjI U璾a G 'N9R-++M9I~8b#|CKy2@M= -|t?"|)=8;蟯r Yc,9&ml.@x_@KnxE@6Nmj2l۶m۶m۶m۶mTe6^BH^2YD hutS!^,B,"dr5Ryzb$ut zd3ll]tڎQe[Τs*>遞7ޜ6]O>+[|  v ta.>A""#k#hhhXn&3l`1Wg6-6`;CJv7{p2+UZpug U|O~t!PB%e1XX*6{ĹUKU*&ՐZId,reC>%_)yuju@u_=k9Z 6Gۭ>ī骞Wɐvqx`|   `h4n"K|b;A0 ,kϝ_/xLʱ @PELb(3@aL`Н '1J `[ lvDeLv;)A55fbςJ-Jv;=HȾe4F@A=Ұv8k=]a`H"y tc \'#Y- mMHRѲd<]tc/ ú#O1*XN5uG Yr;E)EG☁-;*dx&FXm6brʭTɳ:lܤ7Lݟw[nւ͛儫JE#M0UpnDk.f1xc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-800.woff2000077500000000000000000000404701511656052100344450ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2A8|@b P`?STATZ |  Xf 6$8 . sf ZZ$]zmh=K3q U "NKJx9IvsoT,w`xw3ϑHeWBFcIS 75$[D #Uɺ*]۱7gH{8G7 !ܿVg ]}M}5Ii๓.4hBoUF>)lcWh&!>5p C:U]eK E&%O)5h XvrDizKk dw**ojw*!7GD*ӾA2&e *J* ]ǵN3l7YL?Uv$h/RɦuWT1+]rj `fJ $ ҁRHu!9W~.Sޯw߹Jtѕ.&8w925i>ቱ9^{ZL+CĂVl* Bbp?̈Ҟ tǗ?~=ua4 ?i&#ոp P78>JTդ h'3[߽nw3w=^xx-- ]_J obMcf^4wPIu:F匐ŧY3:[OS#CO VqH(-F2o7EYna*5sMF{X2| n5H#&2Xp4opc%DK<^~-!x'Ss<5lx'5-/RV\+ZEhMuc=VglGLteV&;{ѤJ#_3Z5nZ,1"jt̟Р]pީHR -aÒ !ltdXҬkj\P_W[S]UYQ^--).T9LEFzZjJr\&$>/a 8eR+>Z]Uǫ]8rf0v6k6uW24W-Lx0*Тf2m©А 8*ɨݸ|U\enI'ڳFu%Z9˷$S8]z/_+-=/N.cnK}uԪQOEON܏} Ӓ)Sba0Rci]Z ÒXt -`n6֨˰9`?A1WHŃxOx%:TB51QR[u9&n7:‘,׌`x~pJ>B_>CJ|ز^(c$8,Nmf/ZOӯV@Qaj8{!X9дv-j&߼'95P mm"V.f7ZDgDQXבG1L4Ss[3qꍏpKDE]'1VVa۬Uߴ @tIfvB\ƫ-F,M?jYwu<(gqvqUap~Q ɝN|^Դ^KxVnjv|藛Oq" X6|Z񍪢O}+4-R|;C+3>Qi 裒;Q"^ M@#_Mo4h$.zpH7蜄6=*~)6249kB;9J<$1U6Q[uDʆ&`2Xb6I[ȈooeCNew-5\rCi-ɦtPeKp6X(_;8*w9I,&YQGzG-l8{;_- &c;ak;"Mu/Y`>(|fP pRĔүp 1{.c@^ZB0- -/|By٫t)Λ‹ؕq -#`ݡK誽yh9e`EőppmBށ QfՆf*.WDmFf7()LLfD3QN~z @?t6}?T+nwގTO`B& mK NH# ?*h-1de&+m E}/{kbPMҺt:{fa*+;0d^|%-vO#N*7gx6}cXp_ތfc0'Tܓhp60,9ř7UDҘ ;<~&Mμ]^fnbWvT`B<*m^Q% ֽڱ%.Sd(9aW"-M"рPnBs/Vħ[T"`J`ޅL|Mtŷ|&z!ˬ/z"Ĝ\(m-S/c㋛s19 xЅ{iW,{T FKĎ@,>(-P_v dؑYGď,^oV6 ^*J\/(J/ps=K^Zwb758wЈ%>ZϠ컐e]jrOܱ_ h; (B%c|9#pVx6SdaA`>ðPIJ1W`{~ ]9P:"SʠZWI)%UsGFoˑ)q!S\eTArԫa_2RѰق]Q dUj/w|sHBTu V'&RwyiBABA=~`}_;37YՍNo+$+@S"Rk/ ㄅI!҈_? |DkG#Aoܒ}̙ iRZ"~=L{ll~#DO[+)xa,@ 5Pd"rc z1s B4z+$[#Bs#|j $q[WuS$*j 2/zg\:W E&Uهٴk} UhV2j*uy:h#\g>'INh5^E\(u9|UYw0Dv>-He$>R*^0SeQ&Mf6Lk~WMuf)x G}Xs5EHdB&l2LiKFI.@{ ]w =OͦU 3 h.HڐwHd-ى)P.H@!w@5O8`4N&.s8k8L}v.w~y@֐`uS!ĻŶgJX f4s5swmh/!t.v8R'>ΟXhgld[s!pg$Iq86d2xOϖ<><^]RŖuvFġsA>țnzV9嶪j\A-//IS>\ ڑgsBg^ U3mctlk(ad NT5,a$ܽ *Hhd_֊(C5X̊c;<8躍R?`垰0!#ĸnp8I X7}.X=Bfx4dqEc t[Y5PVHd}Xxj䣤\Du3Xs-+0ZT r 4HP2ߒ)ɲ OkAZTs4CZatCu0d#dǭ`r uᒺG%FO)q9ӛbun瑓kdiL)mKj +網rD -P7zi%񁠀 (ILG5 bLx^>+|\V6[wdqJb1(ACb*z\AhS`j'(ߗo+j@eUfq \h ug xr} ] P8oIMwZ V߯}щ57[hwk|hC(ٺ(*R,"!Yҽ\;8|F?W`Ffpf^ZS` ɭ?;nDn+a/opzS`c<(rVIRLQ`ӌP?iO=fIq{]ha׎ܔRrD.Fn]!3Ƅj7((W l`DkET&'LFVnkG=k:o&63'WxmPI;C.xϴiw0E9'Nef 9{Ka h _OY`Rg( )?*Po9|XuKj!oۨ?~fI=GU[L)uDXs$wW*9[zܡ O:t؄(hNUN7xS#a*-UKo/Ǿ'Yʩ)gY!bb9T%MgmFA j#l0~bgӬߣ#ŅF$B'k`` ;b?C<^.aPD{W@$0RNym&[ͮQ13bеZ  70~Wewjyw1 R2`+uj'7jIFZ&Y*>l~E0B*ճ " 3:4Eۘk&~HlY?Puhme +>+ʮҸ;ͩTU WVCR[%m W_W/ZU/%+e{~tܫz=; SM_:Gؽ^"H95Ii}3lcp˘ۻ.jhb?) bN~Z>0!~ENWo5>/&)n-oܲ-]f"O}<|#4wFK{n ڏPdoޜ|`7o{?\+'~^mq(u,/j_85"ڰ_Y9a[hkUʢd=%MjcleQV < ]]`ɦo jr=H$rj1D}b%,WUEK/ (׽{i U]ɲFed+$E'=n N^)Jt4TʷM1߿󔋞.iKB_G81B29s^Nb4rw[}/v .D(H c}N3,kcreﯣJ,2 IH%<9q9j-UTYc:.TpM|?CbՍ+9Jǝ  xz;jQojI3D H PʐW#еv( mR)_bD7f ~m9R{ZSuedyh! Fk{&e'c_)VHz"䏴;[6[g[NXr7'@9\Mi_Q/ծ<?R&Ǧ $KU¯5LKDGs}ƪ屭%Yl$ W%-ɬ(Z}"Cu.*>lT63zARiQ!,:ql)Nx c<3x`|J3Uf{z~+MH T{Ҭ릊Y6^EZ5?![ܴ<3@ B0;nP\oOW_&bzkUթ;Ё1q3[5[Vl H$Ҋnm"'1~B~82w'1;Ӷ$og:Uib^qAHKSJ>AS(f@pwR*%*JMrd>}7('\N(%^Vvi+yyL?!}s.[F˹hXJҚ/\|Q㴾pmnq-~?^ާC{-N-/Acyhk?3w+uO[U_Q!tr*Ƌ& MDBϚN¬)b ;Ҿ ߛLus֢hXGd_BƗ7 seۻeԆvJ̠$|f 7!6@.yĭFI ?%$c<&tVXDUBT.~js݀6t{膌ըi w1 _6~L ^&ؙU1wZ>gA-x|t-tUblS] ץS6` ll-*M̗,t(+|!oAYG׌'9l.xHᒑuw崵zz?Hi˓aAo =gX0n~-a[="{.;˾`Z11!*g}ct,Esޟ/ m9>{ kWga(` "Tw?'r,~+9:;YNq911A"Lw$)%:_SB"Q 3li݊]gT[EG]Ex}22Sfqͬ cGw\d_ J&FJ6w9x zpYYNqV[/ IV9=*F~iwj'Q7^{m!Symizo?D7b]EES #>c2o-@ N3|ۣ=>Bhf$I0Z9QUWFJ'̢l}=yV.jB飇Wx53,ٟbE5pYZxD*'"ɑR,Rxr3ׁF/LI KtP๼ 0TkNN3Ռj]klM Ǡs|>Hv`%r%"k;~Z .faCփҟ莟?y>OGS2Xvy"wX#(`»3}֊ b&O ݎեZVq& %f0P'nkyȐvt&wezrhd2hDXqI;”nz>:S`~JPaEIQczC:s`RѽHORqa5!n _fL$a(={VS-ܻDy'aA,;bۘ}yBAQ#C-J (5' +}jaմ5G $5_,< ҜNCק&nVr-Fm $8a3}PYh.Qǫh-ukWoU^9U5 nC0wK=EkYt'T3zt .IZ^ai%DE+5ݫv(sWC (ΌfymuEr 2.oz yp_Iaaw[bruDRwӽϤr-Oߑq!Ar?Yk>_w‘Lvgt`l1ΉSÚwi-8dբՇӰxG rJE+kU[rL׼1T4&-A9}O|/v[ŷkG2O5dhd>*hxfWwe.;NW_pLH9b|0ͽ w&ʌgsE\.ɽeųgŵ 9w(:;W0YN¸}YHX?^07ܽoťmo wlh$?QMkA .l$^)C9 W$#!P(tޙui85'kLe&)Xx~ebY/*[ &ۦ>vk~6m_l \. ̨b"(~ax׵2똸\0bۂɔ‚Ɍ‰ KK&R D1$egMνРlj.h w%l랠7 l]E)5<.,{mt".-i*iI< r?7+H,D@V[(P\ST^^_f Ceej5TȈ]47Kѱz2J)G(4= a@[N?^[3(uθZy!)> Q2Ld}Ft6N5t|z&&=sb|ى;]KJ(- MM)(C l%؈m" 7#ٽ NW4? akxliL{Į m^BXIxAp oK"|$Lۢ{חzEf%?D_.zrc?&%7΃\xB: x J9H'/*\R5aI]ZЪ6<ʖ=$f/6s=4p`q *5s<ޛmC7, 9Q6 :91tkvz7J[9mpݿ4u0mm] P> sf+YnE_qTXLC6D[w..h߇(_B٢v1D`W(.拝dhBOIsI:1/GC)~T?ԯ_ZuF0ع5r%|]rx!b&OB )0*MMfⰩT;2vɩ`VK'ֿŃ޻چg۷75U-M{+p!Lt-Kc֋V{եs7.[q?~` R'ޚMA n}vXv baed'(! GP"ܡ۫Hkߚ]zWlӦ7;_N{+<㥐>2+d Q)>#⾧@Zžxu&yLѹdQ j! iۚ}<}hꂍ7'a 9VNu߰rPyND]fT^,4<4C|3ru-x+"+t9s, W"gÇ038Q0w~U~{m=awrΫ̟4p%$"(iIFo -=6Thef5=:ȇ&\6tE՞v0C%uAJ{p'XSM<@o=Gt-Xٺ->iܴtC)DQ Ŋk#kkz sqmrChrz  alr<ا:3[.6 %s=|Rh$3g\X{u;WlEЮ*ބiu/ϒGσs w} V 0gh(s"lp@6N6|ֵ ӏ|ӣ(q:)TFžj^ H^QggBKU7lpH>`Z؞UHD}>U)߆9\!QL'Vӡmq(b4GRj<{y+8?sRqFFzeh"L;p;Z^ߤ:0F}";5@ NX(J9|dr^uǣ.F?)@>᪓Iq6<_C$ta(c +Z_*)DmP]ތ)}m@5pd۷^v =)t 2W7Ad2TuSDTQ ğqvSޔsltmqn ƤB0ܬ z؝ +/&+inC6-ꢂq?95*zm󵱾k; yi#w<[[,͝S0R)z k_hα:؄W@b幂EFbxyֵT%Vk-+rF cYVi8ڲ#XEptESiŅD+(;vnT=E-+$9敼^KpZrܠh%2qgO֒T4:Ekp(d|I$ ߮T.vxJ,lD QcB. (7`Dpp#jv*Lb=0<5?gQ=edRILqT!N N \)F c'y-u_:{lZ{0=0$[!lZXl9lhfdB,:}J8 nUqn$P Qhf&Q$:b=A cU-aF᳕Y N}Yʊ.!lDtԇV* э3u.#n9ŹY"=tʬVQͶm혛" *~=O:(@pFJ3&sqmE12rөRdQ C-Bs $#AQl¬QJ[`DFd9A,_Y$,22yu!Rn| $`۷KqXuh3ky+4ɭ9U]ZMn ÝTfW/ 3 w~C()JL6VrH#Ne#Ko6,.{?__,ce FW_`beY3 zI,թK،:ڽtSj<{҈4'e#Pw]3]70@#^x=gZ4F+J5xxܴX 55c^"#܎xym` K͋6UZ (և;|:7&,8kJy9*2 X#%~uGvP#syԑ|/K*$%yWYZz}0uxk3>8mS7A/*S-u@Ї $j̸.x{x6lq(=%j~0oޱѴu% (>jD?bI̪HAУ(,æ/x0u}oZpY '!G{bJ9zܹbŜ f2yww=ύ?MSb F9Hd_D{"[ܐ!Y>mN B],s :&'>@83uep]@_U.t* ' ;j:ov&RL_ffy5~VU{41}F Ul8moؚT[9ٚxףkV蓑⨀Zxqїw_|>~s9W"Z/8H꧚l(k Wʵopen-sans-v34-latin-800italic.woff000077500000000000000000000520201511656052100355430ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFTHGDEF\ GPOSRͶGSUBt#OS/2U`t%STAThBV^Bcmap`cvt d8IGfpgmPZgasp(#glyf8;Z< headK@66^4hheaKx#$\*hmtxKP2,locaN@*! NmaxpPX namePx<NOsBpostQ 2prepQB3)x ơ@}wA@6(t A1Ti R@YѬug/%ҝJ]M=KK||5&:1f4 DMxZC[|<۶m۶m۶m۶m۶mn39M) iU} dWpɊڠ[ڤ}#˚6Y[.ALx<5*qQ՘Syfl)Gx_*J]Sci-I;$D.Q Ҕ=L# 01 [P pM o֞UJb.)%dRPKY@jJ}i=t2XFx*,Թ\:e/\K_csVWװYcR5֌]RתTmm͵-Y{}j>Չ:]bjn=ǩzYo*~wB:ᝨNB'VnTM51憣8958Ƣdc2<铋A5InAB,;wȏL:`6}&No4#ssv2d~ceQNo>^YA,J [}?][? [#Xi~E"]gF&s1_1Sg_>:xdKhމ'2Uӳd^owN׍oH@}=>L~#{y˵~ĿJʼnxU]aD,2nbm۶mP۶m7Xb2ms%hGwIg1L'A[.{$sރ8i p,N2q!gOX<$N;og.0ϳgL&%stRRĚk,Lbd-&5wzo%H˰.mr=ΚfcXSAxH$?UH?VIo#~usBH/6wKȅryǡs"J)b%NdI{TXl}.6%UDBGG߁ e^M, xzC.ySsՖj}J{'GRgʜ%9Cu( 1 kyxc`a bV``e``5f9>,0,$$Xwwgld` L Ar,ۀ AVx@+ @!=OET8`D:z'!O=d,NDmBzU[xl! AQ363 &(HI,df`z`37(MyAPD@=̱iٍ۳2L3KyVXc]ss b7|)f|_f7ևPѭ\u_Sr,e&SXF2x_7<3o(PO;x-3bXcpj̘njuF7߳zpYݜo#hDs/\9J;Kwdsl2&=B6:YfFYd^M3̞!H~MUvS8ͺkb9>u͑p^.(mGa 1k7Ȥpԝ4 7˴ÐYgGBf g`1@YVtsbqޘY5~ Y*xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڭ| xSն眜Mfj:Iiڦi@RP"bEDryP"zr|\/ϋ47}Ksk HQ +i 6[iOs(z6]tJɮp\[P }xfjsuU>z#%-u@n,?=QSzW‰;K+]>J6#~gjг@1&B :* BaB  1;tiֻ /^o#p˗|"JJG]Vq7=>[\߄ku\7\uS2X%0TI^UR0ƞ* &D)J`w#O6-ZQRHnh|7Be|E> pK.>p.ؔz.vnssOvo.^} s5]-S5Xo @M⼍=׬'b-{ׂޘ/x^"8 \pN`HV뵀:x8U<` 0y#4S3a:xXtه遷4!|h,FF#w&=mXͳv.:oΖH^#U'"Q}/y}w(סY^qdoWL;9fMjl ?TJʿ_ .Ap/x5zATƠjtȖ>ґBr R Df̅z(]]^s痧8;ATFmЙQ~ kڏ>R2AKFq|'NtC>1g|~y}\ FYuH+Ja"><À46)x mM H_8XepSz~6sqX$U9 @zD$DM N<˃em~6N(ѧg|(Ѹq1p谈e@Gr CiM(&n4wrMž}cNc }" 5)^fqc51* HN< ]gJlGOѐ낏6.Ǖ+wn *`"O 3M2g:Vf/ e zԄEO2l:99.;#YS~ux_U0}㎝y==U1n jD( FО5t jY+,KEȅBF$1 сYĪ+ N7Rq~OmH5#(h6"OUqLak]${U*d2-Q BE{%" 1{̊{|fgQ GsOK bi jSŹR}Unz9dY yEOtJAC>4R1s0Y ˯4p\&F Ȕ| ,"'1FIlD7$4jw_Z\ky_vwԼ۪meI) زb6J)_iz2*W0/%}gmeJAX_-5I~ u |l?s% %x}Ul٧ju[1K 9WR錦= Q9"QQƬ" >OC tE-rugLMݼ1nĠ6pI">qe`4SvՙPEB[sڙ`OwcCGL-O XqQ,zc{2ACS; B;E4&8i`rH"yx(k/?dph^̏>^y`P7Pah=t-OTp%xܻuT#=!Flf#\R-wzr@HFlq: i_V˞d=< L($æ'k?ʗ{U/Ӧ$_S^?&hþ;ܒΙ\]GMlt@W;wzXZHX4:(R\X6-r▯JšaE25%%Ea+@D)#' E@C+.(iWAs QZ7~9ea@xco:]E亥v4,}(kSU>JD T"Qfh g3鑞LMl9P?5"׷+iSfsNz/W Rq/ iFB1tqi<Ê؃7VwuPU9&<9(U;}bVRh n drGN_~GC܌HD"cRaxxX"IG4fySAyƇPM|r+NKU1w0fpNi\xʧQ1^$EfUX}ųߔ\ YR3嵗LYfE9uo-ApHlt h=dsb_3K(]Mz ,i9n?=wDGoN "]~sv{y:-"+w#@Wf MVj+j?">Clw;!'k\؋nJus9^w;Ykcs,ÃN q,}p7vp-/<ơd@`wczO6-60hbTm1UpۇŅV5*ʔ2{njMRE9mZ@c0 ؀իV|2."ORi%P\cMl\KvI[-{a^h fȝ f6%W$,k礛T6eǿwfr_H򚠻nU@W8^7YNiZV bs4|"Ɔpkֲ|4PX."'4NzT(ppvHaIs&>7ݬ2lhĬfd;sLxgϼ0ueUӒ$23j=%E5v^ΝeX[]ýpoYb"4kh>5ف_<]YiD>%X Zml ka@H˯/$|)5 )XBk*MhÔ_ZIc"N$8}."Xc ͜|FHT-ŝe)O/uwO8Mt6lG|E9 W]H͢yl甌3{a ձh%D8CmX@J21y1USl'e&>1;$>)ЯSEyS3fݖMr@36"޾D2`&HFFGFj,r6.L'$4~6 P e!P5z>|LaWl'%=0-hvaFА5j8} }¢lw{=Υzu7{u9?R#;M=Q4uRugI+(ʒ:2*`ѥ Y]93z̮J*_qr|=٬B/V+^_; W*BHi6]RКIH$ej$lGsFp# @.QE{(N.06j[/p+{YI\Q/c͟nLD7nnGEm9>e݀25 d}^#5k>=sNإ_0 jJ4w)˨5996B7Z*paC[ S5kjn@5 /YB%llyW>{n~Le8 XaB Xգ96)eMc5.P**XepGȯ(4W ū) Md2߇lW67#B(\CQ%$6utD lTn"DVM9vsbnjȪqm.1S Zʧ؛:?sp;խ,%&.3խԦ'GuL4lh8dH?S r=%Ӕ#-ԣZƴ$csu68V38*BpޝѺ܃ms$(sݰ5А1䜸)k*!NI8(a!!]L~A)6FRo$ބ#2z؈nZ:qf焒h_ㄒlQ͠NI+zs͒NoiH(L÷@_4-;KS\ GdWllHLXM^vOpUI^'DM-8)&sdSBSA 'kxeDџ"U(Lx_~ke$?B`]v^SʸBgD~vGs°uС3G2bkIgAxJ7 Il , W/}iW]7MUTZ6r~g=cFvU2#7F+˺ 42HO-@%&q\&)0a<^6,Eg(S-) ;eIn5uZ4CY~ݲ`\@#=X5Y5O^%E(PL{QSUnAm%ӱrFD0ȎXɣ2VS`e" J 06*(D%7ih㸎kEX&3kE8iY7n[7#F0^:U8\C'Teރكo~+cڃ<@?"j5J$`6$[UM!R%qY]Vd&4{ !"DdN)f236K")ޯLsՈ0x\z%hzjŴ`Oej|#w@um*PP]IIPxe"T  1|L_ L4]9ϵ]Lho~DKur6tN&w6~?؋blsCo=qŇs;@]*`F}DD*"jR!M#Bxcdž"yJdF&H4#yvYʤU  g+]tJh0\f_oӤ̔VO94*,s4-T$L`ApO ^M Cq.ȃ pp.b?s}Gv"R#=`?֢?9I7nP24D@` 7B"@ ]z'lP3! i bQ<_1YOslggeb7{l= G;3~@<ݼ[ < Fъya#> I"D#TZ#Hp?f2!+ ^> Moanyy.zQ7.\oƌ} m̓[Y).$zи'˄ "$P'R_(0mfcJ(> c"#6PGl JT3-׬z͠?q41&۩ΖŎ!ez.w($fS8Zm8ꠍF7 2R^]X~z)%m3-– ǯ_=jx_mKMs؛ZD 4Eսc1w_>V$H|*ܟN ?6g~(.uGOVۘ 0{X%P>0  ]`AV<9kBaF JIEOcSBAp`GbA^3bM8iLdMK&N) ELZlڎ<)d-i$ WޙDHQ?=D1;wҰN'Rq.l%5 oI<[vPȆuhwM"~8`B|'f=߾LBY\/SwlwUծmv=XٟR9119YӠHM`dN1a/ )K#/ &M 6-5}a~X+sO]ϱbtr~ (\C7[HG=7Ec6XFBA,s=)w@=pa!8KWHp|DN;d&ۊNAX5e^뤢(sFud䜔H%}aK7ceQ;-ge>4v?n2H0U4E0$=B/J3& 85*y >=2@jHD)[o6Hu.FTaGi1_TGW(2)O E$ষ@2o E)0bRa\IobNd]9Wues`'[#)E+DħXr YOP}D^~ D^ BF|Bs4JsH41 2"QI(HELZJs4tҘ.4 PǨ4=H64pȂ JgƐt:CHPIS1w?Va<á?AeW('Rܭak/{6u,w-\ XCFFKȓtp.J4*Mh;gys)I aHڃTm"sR&iMPAk|% !{WB7[Nr?7סQ(evE?ùx''4@(H) ՠ${xRm#et D(]jet>RAK> &jJnwg+iªVOYдc3#j9&?Y94Y/ l#NL|~Dѽcp%5ajXm'+zW.{wCVU?JfUj h&ܵq7 EJl˕Sbk?]IZljm‘z! G9A;AhcmnaӤo M C{(~F RhFkek ҴqwG{6 = $xa "d(4==vz0x߭&" n Ԕ`?t3cET842ns{9&TkIJrS]F&̞s&}SN^j{cTȤsnu Gͣ GhH"OWr<BKF {FqM R߁)8m2#3/"(eNYZ%/e0ӦϘxqu3}r-z*z9 bApWK%,r@Ag$H/yh@&џ<̐FtϒP{曓3v_U֕5Ƣx>Ž#3tq264ϡA}uƩ-Z޾"cxrͨ_Z%Vu|[p4P|0ə)]5t3N LcBh`h4vΝSmXqI~B%42o=I >X%@0yȸ8g-$wB0!gG| zx>#\ Ala}ƖWGrU9\kkdB?z1A?3 %Zd1؉~_f ?6Q2HRdaOg0h_\t4=IBԗ$[q"7P$3 $^."5ԥ.Vj+7Jn,Lĝ;š}bV*Uԝ(M}O̩䗙^{v6$GFaY8'qP&'G 򃌂?聚ˌ9O=s: =T]BMJMCi%[m8:_@fXanNQ 2 ȬM7ef`KE\uAf &HdxmPhmX$m}*V 'S8:'Ku_Z-',YQ%j?dcl`1t'U>S~$lRNYN@XSŞ'' G"ط%ie' ]{][v-ٱgtFtmgڵ]iif@)Ʀ-xEj J+ C94ٵFc4tb, Mʚ䪒"1OqJ;ڴ".e>}`kI9|pkzL%'n4u{yp7^ PFjG-=O IB1 ` -ҍ㣜i lV? @ЌAϊD y+vlw$RI\t;}.C‰<;~/0G5Zq@' rYsMSsar7Fe0uP2* YLP>X cKPY?)Dt\_S_.S1UFմ8K#kQ$'{ ^AX #ѵK2ʩ5Pn+Tg>.duWN H\|[B_ye ١=eBΥSUPȌnP.Hm2pn 6+\Gv-.zXű|ynXq>9(&tϞzJ#rTvԊn>MvPa&^yZ))*Tk'Rn=9}]]Śj&l/}UOk59gd,QF|PL'䠮XtZH{ےCCT I!9YYs N3yi&:c]u.v{cgD&ǚ2ØV"IzD4$ WF$7DB&$NqPؚ ߈Uh\Yge~Tx//]*.Nӿ L\PPQW]Q3n[Fl{v+oi-Lł3Hg\#)v_!G7rb;=q*ql}Ia4Ƨ:h枙q^ցw|tzY9ŭO{ $<ɬTh4:-\p}U8vh Z(ѣЁGor͉2Mo\ ,sfr\?I1FRT tq ]4љdoAC32/$댆\cL $cH"qgX GsŬ 2'w)n ݕTn0EY'}e*6qfMꌙ&:PX[g$EB2Qʄ\ʜ>wFɗ:?|nOJJʍ6Y$Mģ,WDu O.I *zÅ%):7M W]aDgaFH\ g0vEZA)5kVٌ L?| @}+Jz})fIQZ͉+{XƐG,8Fl]?vkƬ !޷Vhgˡ!"X ̠dt6V?4/8+X0x 5cX_ȗ&)-K1!Ho='X^눃Nr=*("cHR!C@ˋrRQTd$b}$@{ GQN8{#~l^M]3@_LM2o<&{>:O ׃m+> 3|KY]Y[`W藺q^|5TCP"!nGww>@w8D MM;C3 ͛z1F5toCU&zqt3nP ?;j%wiי~ 7q(̆>iC(F_ydz>}\Gu=^&Z _#Qun^#1z=E'2=%2AT;,r*n'wɤռ7L? wzPxGLO;Syz |ezܙZA2=' |3 "$cB)_< w&P" xc`d`Ϋ/2 Fxl@7nm۶m۶mڶm۶m\7i;3&r njce!r8źxo5>R3e-]Ls>]S/d,Gן1IEd"z)N:TZVt$£ dt7#yժHG"2V5Fi\L"P*=}B-j)ٺyH!7PzGUURgz|]g{ʞiɳ\[W{p.HJmԴУ+VF۩|/}3&eyfDD2`Tgҧ<{k轿6gTC}~dʆGV24]: vL+?{V:|RONp&!^^A`aNg8j}/9xym,,T BAO,|w$Ee7t³" ![Y[kpBvQ1ӱvfurvvqnu~p)9npqs_<===LO;~i ɞl!rxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-800italic.woff2000077500000000000000000000422101511656052100356250ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2D0D RT`?STATV8  ] *6$P v (tأD}~ߣ6,` E'h!CDZD0U 9PmVQ UGe.?W0Ŋ sZ;}QTX}W}C]{乽z&'c6V+c44PXTu'3E}Y@1f 7$QsV.SXb̙5 6˝:Q Kl RBI EP1 @ \9W*o\Tݯnkd=Z&I>y:LK[6x?Q:x#Ϳ[pN?ApvNJ `_Qcb9sV~C4/{pKۥ]I8qfw7? p,tqO[z {7*5sUpO5HCW8,y2Qé):y(RJ'ވMH+XӶŌaVB[]HN!k)l;&=7D5Ļ <ӈ$&Id<}X`j[?Sv -=NTKܥkg;3Xh1$]AP-&.:?^J@gRrb.mBb-Sh;_ePQ41$=ڽ|zUffe$Gp(LֻcB{'JeeEwXÃ-PAۆ1ǰ׭&* -E]T llD`!CzLP(>H8D{#q>3UjX {uB8t#/`xi@\ Wen'NƜ(,$kNRB9b:]WrAFm Z~+a ]YKdy\Ҟ,áX L݁@S=&X"9B qh,N5Q"y_V4_\oEJmж@iRS:ӌjoߘ'};,0Q8S27ѨϬ6uK{WzE7y=>zW;?>ATaS*V5'h;콡qeT5iLJkt#w"4{_ĔiOu|aԸD?fmO(OR0W hj$q@o4.GP2AeRO!XUcT}x$1Iz\O;Jnj!oDF 3J?F–֝P<6dʌ!}4PyakG>L@&^Sv4>Lr 7m `d?ē|%-/@.s%Uʘ /iBuK #|#iKɁ$JJDZM_&FH\?8ey 28;Gk+Ylb`-=1zĖgQ*VL71:Oc]24fB|8{Ssr6 B ' ^'~{v bx̃axIB+յr^}2_'x85ox; ֜JgpBC >|S΢-NI•=O .ѐ{^Ocj{>F09j:=]ЫSv(GZځn(Ku|S=yun On̻P$vKrgO!"y+nI/ye1s001!asfKAq^U`NHW;s8_u:R{|F/=I;&,3$aşgXFpLC}+_pU N ab-T)"H ٤x#;p2HPy0"I220;Ӌ o#alJ#BI$!nIQR @I$U+~ 9̌&S;WAǶ KǸe%ԪDL>Hq k>#L5z06>zDrӪUr1tX~lhu;L>WQ1#tDy[zMB 5JUv[NHNTɪ0D׈]UIs"^YpO:q+YJY:؇Q3A%W_ ׸2LW>vfx! (V>vL[-1&M=PmC"ӮWmCz˃zBヲ6KAW`+hPe{/SeGN|Mj 02=~%4q[=M9.LG_K<9_ Nl^Z>LWV5;CR{˯Y7C)H D&˿ ')D9^1ϫa* |rGǘ&cW'$&S/)f6{9}w߱iFݯw{I"x%z!2'-; 朌G|Tryƅ㜲RUF#p\ǜ/z쮔y40)*na9° )r&ЏXXZk澡 9)ɴM6Os} Ra^1t1- `lq9/j'3^jcV6% tӯa|ΖJj܍0)puMV%Uy5pY ~AxYN8 @etu `6,}Xԩ=mQ ^SG (>t|?LAPkoX Z`"'K=V?~9z#3\gV;V:o`1I%0DSI;kO93 2Kfr62sdvͦ$u-a`+Ӫih3ia&6zN0lLUj['1KDgl#*uϦNr$ڷVAeiC  E@ڣ]M$$vɱC!^>k3^1MogvpFhIyg%RnJ2~7o0bJ")ޫA++ߑՌH`+ĕgwU ud<9{d%-QFDbo䈒Vm]sӃm1d::Lna-(6Õ tMz8SUb#>aʶNCBdJk 1=hcf7@f5| M*酣LjB7  8';.U[<^W[((%Kr$]( ?b\nTljfۉtEf),6G6To6v'/V<?Ћu}x%ߙM m":Gb<\]R\CSdWH @Y#߫^ [X` E"bIQ/eQbNǟu|MmĝQX-RǕ@k1Ԯ:/U^ *}ƪ'j$:Q=qV ?O[E- mYؑawʨ \C0o \#io6ygSYB9hS߶M*JcIVd~Ek8,yUPiC7Perc߼J&[N+jԗ/MIO,*ajO::O_KyYjn54 BGS.Ngln砢c}GF$`6՚R-b$.]Z2 Ua3<XfrS}*|L []\=8?ʻ%ں"k|p`ҘVbd.x;}M6W)zsU?uJVr&ۑ&.76 k8zEINK+_";?=]*L0/U7q mt=}DTgX#%u$Ui!Uټopl= 9 KzjZ@V5]iUc+R8\vF7f+<1"C Ǩ8cR-F3G/¡%` -S$6 Kd6%X=Ol^WۯX)WlGH|%Dۖ}B$BȞWwY%Za j82Il"i]<]ھE2FPbe@Jww zN:S/𮩼Rd-zlȓ4ٵ]EeG$yd$yU?;So`J;Q;Y;?>K{uuERs"tD>yq\e)cG7s)]I .j`IҶq\>^tOR8?Cl^X" 2јyq+̚/|Gzm+Nw73K#7mlHZ_S;]0j>{6 vg[ ˭s257Sz)1 5cm3ƙG X\e9&A `Z2вno"0E%=3{IJ~=]ɭCTR=9$WǻK sӄwϊDG6btn;Ijħo{~?-^ NT,L A2ABPϻ wk}jTn8V!zC1>*\U7X(4Yn/A*En/ag~ԀOAݾ:2ԁ!`ݻ{\+F ⒈FjJZJGƀ#gs6,Y D?b%)B7`LE95&S+͢mkN z-x́YP̬Jї֠f .X`i7?'aW5qlGtF Q7gv)~:9K|(hc0T`)A2f]mRu;3v |r 3z5^sO >yIs8* " +H^QjNy>媄v#YP5RmZՒ[ GIW[wn#Ǻ;7uO# 2Uh{$ܚjҤ!Q"Էʢz^K$[cӂ2"9Y7Wk\7mwu ۷P?iTd 3]1}M`1{}FiZۧp/3]);ZX6m0c,Gĩ‚#1xiRo+ ?"0$&d";(HpyboN"Dͳg] ^%:I, NIš: q|0&RǍA>O7y90ǥ _E̽4 ;5Yzp` -rp;>39sRɻ&/U\2&>ks7λ~yڏȚ!C@h$Qsm| ~ -FR|BC~y|~ ؑ}e &c#aaua_V.Hz -H0,e6ejtBufluv ,C N`:yL&!=!2 --AB2RBS51v~~S6\%Ĥ O^}<sp1~BQ--" hUCkCno_в_RZDC TEݿ-To#˺J2WMAHV-%ZK;%KG1kX̤$6mjӁT n&`sOW9fsMqXE,trq钗pS4еRrt S`*%AoBɳ %Iځ)3D7z R{ɚl " ީ"&]];(.X3]ݳ粤,9-.ךÌ 4IUPI vBV;h8ؘ`Va"Sz!Rn8jN<`מr߼qI o[X坂r4LuZѱ$A,?!dEz7!-4?!~V0ѐR-H8'RT{[U,l'1b!G&?XܣU{Mh*w,( _k1~'mx_C;DBCƫ l|P 20yY}6?I/ӛxQFL5|_;1f9KˇZL~3VHoaIJ^oDjTf " /P'I$R*' Ыk"slS:+pj7"2UROMGd|Z M%k}F{,1QB2lbʋe{yIڟUs"8m/fvt~ lA*G?rNJχ؏18ɸ'}`)Q)Mi-O?ƉJR;54 PT6|+Wym@r [DZ3+L-XtwpN#|Z5a3\;\oH=-H[ ~r&u8_7r$.g(QДnN r,"E;>ŷ/=~1 itXP+Ntʤ$Wmhqsiůty CeJذ/3|8HrM- yb_VBIL;I9ym9ׄRÞ־wT+M/A`bZ %!c#!:qՃ/ǃ}Yo`5馱bsqɄ9haoRIxj0<&[\haWE⋷4Q[-[r|a;; Eqų%*IY,L4>d.5{ DҦK rry0>e]89ffVfl~v9r_0KUbO'89v}9tCBDe@/ =;tBmb0h|5" (N޽p ylwyڷntqRh^*Yy?FI0n`p z,.]Je Wg\ksG}}ɑ$b:*6ξ9\5ؒR4 #@+(rssnL,Rp= (JLH~jILp r wlz܎ª1;1@!eSPO0dO;}prwҊyRޞ ī;7vVWTg7p$=+;w]S4;Wb4r"*ވrG]ZVoQ ͈9@_qE9vm%[Kkw ̳IFcǫeL4/h7_n=*}`]AՑ=Ax|h]T>+*[|`t>*?'12 uK[5:3’c!WmXS/Z3qҧc. FЪ/J\ښօJh]t 3(_D;-j XQ)wuTZ]B&P1]Ѥ]\Sf7wVnH2E]@{v)Y7i=Miq/Ab5f+hrҕ@?5QmV f.m*)kԟ^|h mP {phń /bjѶr[Tꃪs1@rffCš37F עyC[Nga54W-lВ"a}qpȽXQmDFπW`cxqe2]`KѸ1H("QLD 6w e:~_Ïi\ )ҔީEc[ v\OxJЦX3cVey]y#o.1EƆ2:${Tq"qz6\u<;8u5#םj Ki5Lsope+%SHBR!`᫹r$QgUjےi N޲~j]zdַUZ_G [, ,؄(rɊuKn,噵}23*=^2RN 7?*7 hr;$7t  N @N(,b#37V̭ XWg\75Zc-.+OjW$8(]q^1w_^脘 SڗL !BK6q qoU*Vi%sEf#`Z:jDm=pc9vG󻮁ۇUzg/qJYVZ gy,Aaf?M'EgHȶ}5p[w$Ru}*\K? CωkO>ڹi[#W[!$c*7&vS 皤[7ihըk@erUWJ{%Uֵs?{ûg7[z!{ȗǢ:"xIȈ35@@9<,"Ca V*MNKj V3xbn}K/3_*RoTI&*FJpՋ, Q*Pz(;D xqaXDQgO^^W @ HA*&y? ~6 hp!#S_'$ :tIU<`$̅S}4mYĠbӰb*ɥba&bR-n73!eަ-c%RDD8mZ݃ aܡ˱( =)Yg A؂OV}nlurC<\rC"4(%O/=葋5ǘo-9a6{v߳I}Ů늄;>PA9e:zLD_r, B!_ xBHX{n9X(o8u= QfJ J+L>QZ,qDR4L(X|Tt@ I9 ̑0:UeHHZ(#,Q9XycnQ,I(U+D]skN34ye.FK(RGWեGF7 nYfʋ&Vx}3~hykpKSJLc:p,Y8׈$D xFc_Q Z)4ňhD2)UGis OFq5A.kZ_\s cV*1Q>~*u)*qQ=ݺ-UaIzV|l+h7Է wY@^sm WQx{ Tr&6bNLbiGgJF7'OO'#- )c9D"DcT)c PY6S}ӽ 7S\*NSdM3&hnIBGdlhTD 'Ms i**SsV5g}q(( }fpoe; ǝ}_Zqxw~ Dg G,"X~G>hxM7Eu9+CAм}CEexՍ5)=? E$mҹi6ϞI%!nDlJ O+ صe3W+`054%ܧ%8c&fEFg2hc^Ӌwձw}mn ZfFqc_ |}!k#tAm7Qs!S5cDvBhR|ejoyhr.둛$ZD }39kV0c_ARL 57ί,JD0]xV34eәT H}!92Va~Texc3937 %B|n.G,=ȝgȓ)Cz0+d&P͑$LGkʆMcn\ xs+=ZE 7 3xT@mTztN I~[ImNvMzGdGMM|"=W b3&'SZqBJ?_x_Ѓ-A 3s N jm;wy؅;&~B~>Pwh}¢ >%!6|dAҠ%[гm (,o9h:< 6#!s50QD'7P܎ H9Zy߻8'%‰Y - k}P*Y!ۢDʟzQMsEC٭8 {q8{Zō/_*ߋWǏ%Wx>UgzE.4k/r()ljvcpSlmBE<Ņ#wW/ j kW$aRNk^\B`eg7GO>짓Q1{ UyQKUkو}͢hPv .ĥqrB fiuG㳵=<%Z(H\اbՉ9s5Եſ;f$ eNO [\cx]Fy+^C*=mj-wC# 29']9ex݁H0S: w;p{ckQ#.3qBΤʹjͺc9H|Y 8q0AT,m*A@.D\Q`,K+!$"´Y#~)<A,3_ڸBի xM`O'`"m,} "N+j 88)9Q z ih#0PPH^xxPb͘GjlAJxLymf<Ƀ YM| lM'NݐGtگMxDa89^ lT2/d0:k63 ^LNE*uE#*'n<[*~V4)pf<" RQ" 4ҭ@L9lO5 pR@[`M[&[mljac 6"1 6<6.y n0z|3 ,&v@$')1Phb0!Sᨉp)C "h,*f $"tAUIiż`NǨ3U2Sb"5N^IIj$&>'dauv* B'ċ0POnԞU4='ADJ&>[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`aȨjraf:`4 ,``R@3`` L Ar,ۀ 1xAQ@ 0 t`}Nkr}޻gVFPY8"BZ:4s_xڝlA=۾LmqVtm6Ƶ_7Bo#? K4T^cf# b&QyWy4Ɠ$"K4VzO Kᖣ>kLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5C$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz@T9030L 2 "]صvwww7+mlww^a.;R{ϩ;|DБq:ׄ䊌) e2; FFE z3xưȰ(+n`TqER7qxբ=EG1 6}_1 2pM!|Q|'R!__wAueJJa^ᄒm6m|Mf _1fecėWl.aFߦ|2?/W0 d({X:9YFlkM"\LP5h4i"HLظW- ؘ>ݪQF#<30k.Lέ8k7d86hQFƢ'I(^D[3vsj% (0Bʗ;tIuggH7/"r.~tv4ġx"O{E=?ܖ'[n~30~_ro"Ŭ2 DQ Mq1H)(ܨވ2PpG"SKxXUm#H"qX$ڇ4Vpu3P;zi;}+l uj z"hZa ;mÃ|]ZC6Ĉ k^vL[!s^\,?J,CDDQ'$ٸO+$!%ϸXQb QڝuL.l)A)$CfҲmm(_{SsSw0skck&/YPb zvͤ^Mc{";a($Em&1vyZ79/=B.i |-T $ϊKKL1@hVS'.?\0b υylŹ4/߃_k|9 '>1lj}aƔū;sMkr'T>twp*peBCYa ^{WxXTPi`X %}]T@/]|hsqa8b1NDWÛim3 fؚ!U$J8YfTF8G+wa%fKG@i3D@9N::=Rn֙$P:!tR7k4,}oĮW6nBRNpON=QR#Ӕmp ۰v ʣG/0Xu3r<]o 9xehFU]1O&8/o1{{c͋!@D6 І遲'v ԣcAN3HF~V8P8|_!|/8 !.\95n*v[ۊpB`~J]4:^m2!d\*oU:Vw#$^ݹP:upLL6;&%6VHZ!ۛ)'f]ؽ8yONYӥNouJ[֑8ۙoVx9훰5aqpaaaa'7o(|σ0tjʼna8%(K) \6x4jh`+(hfwt(itV6hp*GQ=csKO-# Cx(v5K+jT3Bk~^Öz::,)A`yݴNk1aj2fKl㴤, gٱ{R1v#' "j*PnOpvl}l:loO2UIȇDž/L"6Uo8{=q1h(&Het˕*gbW,hMgHi8fV\N|kz P|6 wT صnQV(RC:fe |Ne؂?}}?(|6k h߱qׂ\SNQ9i*+*U,O)羝o-,6_opM4h sK^9xqP<`~ hV>,؝g3+SX*{tApZ+HR1C_|l㴨{GZXytܜחy4Bq4Y/i >*R6|a鬣EVkYP@ٕsjPS~hC0lwbm=${z A\ +0z P|Įo ihC3Bͨ/^h9z {b̜k۫ cHDFv"q#Z*褅bxCpҬȲae6}iLA`S⣆u];/5HtƪbdƔI0Nx^quaYIx^>:+T3mjI)3l%9f0DFznL`6gl^R!94{8L84a O}9ӅaBd@HWu#j21C2AfXFKҥFɂ{`O|άɆU2i^.cYZƉB"ęԩ6Ե\o\ ZH6Uy 2 Є3aW;g\:!ӉO/X|bip|( - $@gceYU7OW/%A?ГPX5tz-#6Rj*[#؅I7m(3V;3}4#R3C3yԏ}?˛3;J-p1; .Eϒ ka~o- !le7 يVRigvIck(mg+]p@\\w3eE|)G[65;da\˸,rI_yaDlC'aׅF9vR,X02TCy=d7"Aa|}]v5d]c9*8c dhpc o}z_k`'PCG5]?Kτ'O+};m|cO頹l!hN LPWW΁jd;q2Ǔ=؟,ֳc ˮ,\`^an/yzP/r06vvFAL8"֎[n5YB4`|f`1sa"gsxag1Q O1;!!dJQȵ3ۤʁ؀uNJ1dFi``퀈8@`]tl>_5=21=j|z<⓰MQS㞺"|ݺ%M%+N?|Ö 7Mܯ6fG ?7[(j΁~؞eo ͤW(`D'\Efʆ=G?@Y,?5<X +3Ir.I]v$mθiɻ%Oʮߒ[{/-vO8[#}էs[ .ub/ŔP; Wʕs*գ I\.?Izoa oޓ`뎓lsG&v L>*L]ZEN2bf_i4'e;>HOfYmb~my^ޱ|pl[3gv[sڀUTP0ZޮQٕ2ݠwwG]]9 %ɟΓ"^zu=U{n>0r@Qś3SY\:))g.dݳiĞ2GBNg\HEte.Ζ R) ~ :ҧj70LL.aZ'Hv@@gŞM=3OqFbN*qг*P@=ȞSu,F <1륍p uCzy0,:8djBȺBˠ%58k<]hP ^u,#\A**w.}nwwr{yy{#-pXD(q1ݜw0ju~p#㧔N;X؛޻R#Fd15NţqКAka%ÄK{^d4G^cЇM Id1R6(Iߤ9}gO\7~VY䔏oBB]T˯obMD#),lX{2;hZ|^$΢ʀ,u!P+ b0DCg dJTً',k:Yl(3b 6{M&?_OWg(磢*=Q-><Gi88}L2dVNY#Ctpm[¢"÷oY6xY[B#sKVV|[)y#}I1KӖnKGle*o-L⇂(,ŀ F $~O3lp-Wwcf?xi]#?M"@o`HNt̓ڎ6j z³TԮDQ CAVxDƩzA3y=O0ƂasbzMzqǮyT?6mjܓ3^c)8򫷗43׌\Wc}ͪ߮u>2Ty32s@q1FX m0`2\Uq'ƙy{{x]fZ"$:N:NNv3K-XPu`Θ9k…'Tuz]x ]<{G}Yqnfe~zN%9$ =vr) g CKx/8O8%\zU),&gzԗ4zviViwgZ#eS6㺺D }lY2C|#eږeD<7,$K匆R4ڵh;|lЇ9)8 mm|ܽM_FGHN'mD4p=^xN`njQ$[#f!^z2adФq2.'c{{KL!>߂8M+Ъ./!nK~Bն$egLIR_ȍ"/J5CW+ Dٴf5K9ZN<~Ҹ7>pdgu6qd"ے-ɖ{rorƽ7ltp0 0̀!b hBH(\I-{JXK8n̛{oU6SR:C34[]wO yN!Ljl8 ._zHWjil%>U$FHDie#B<ە GˈBP,)  8oSz<,k G~ZB-;UZ8[fF9(rI#K ل9ΥJR?.DH=M)k࠴ޤġ8voLhS N->yuKzLqhb<+y6*Zf#{Cr=!@QiYxFAAVVZInnf*ǥx6j #Lyy$fq98dzOݔWb`ʁ 9niA| 'w`nBB i/4>5%ioLv:I˹8~p-\K Zi0_e11v^"Jlc9tKv;rYsaE2ʳ4)ՒNL g*TQQCP BX*p^N;齘q |:6;6 6.6eMlb\l,j](Be+-xQ !1)>Tn<<9G c~NWiiMqXֱ31gG)d{KVn!T3oO~Y'/'"&h9ލ+& ?_fcrӏ"}XP[ܢH"&'2f?&Z,ht6ƢKOB<E[BTG'EN"{ [)|KSA*Z(~8Op)^c$^ۣ W12Vpwfw'N+2y8xh3x> 6r]2l]lv<{&ŦLiå`bcQG/A$0F[p[|4sCDjxQ޳IbitS ^'/ki}^#Tmy־AA / IdoW_ߔz'$hnnQQ@m:i?t>p(6s㭡K!,kb4Tzs+2۲7.]6yƼjJtLe%H7HY84#ܝgyJ(ջe0ЂqS~+Gz ŷ]lv<7MEG;a\B̂P[2s A )lrxӥ"FqjU|̤vQ4_^aOw^\%kaktBxBҸ=Gnb8mo65[rjsBZ[oiMwyIGٔ^Yq 2;H}Z)2BOӐFW:6`#MXb#:fQbC.(ɔMkڠԂFy>ɑPJBcv~<@Ũ Yʂ r16g"ZJJǍpD'f ~:@Ϋ̉tݜ-Gz=mxU-"g^Ӻ bƧd225&t P6Սwyt5])UǗ XlH&aU-qr1U+8u4\m؄<&y j<߳QNpݬ. Td(DTQ DNc,FO-OZ:9d1룞n ?TAʛTC:xO0VO)yyuxcGoM+g$s!;c-*IķNr[dyiOmX}fʕ- ʜ xڔac+s̜Yѱfsl|LL0AZJ.Oc)d% @Q(eED 9$ăf$&Mtm@ٌ],)V+܇̙[x0mhL@#|`GJR!Ǥmy6]58ْv[7_D^1'{%^.Dea<էf?6.6 GƁќ(fJl"75Y8HlD Ayn6 MvT7'$ͷ,87<‘9s8"G7Z)pE 7e1e[_Ҁ19E%$*Oɩ6z OjxTj H% %#"ժHOԌ;ڴKE ^TFB6@H`$Nd_w ;_~Ym߱U[jӠb˴ y6h%Y}e>Z^&rՀ$FȔOQ#L_ŋ;r9ηN^ҷ+KQaãI-e`BVP+cBIު cӶd@7 ]3V={Dӹ/Kft~̰)ǎsQtMkY/㻔eT,e_&@<"5##iM!du$:!}Ő4*R2F$7g8n)cqq[h7--{Q.}>K14jh\eSpɈBxK&HԠ&|3e04E7tNO^mjB\IPcR!f=Qϗ_/(hD+p;`˫ 枒VHss|XZ~/̶}$)i'I6FEYO4;[0zڴ(62|m MD*9pe-K8<5уlhXK. fc bXmPф57|v*#ORf$5,Uf VnNhXLY1>\& H|WRl?gZ&]0ntoH99kopW.rCͶL F#CYSV^F'/4caM&`y-4Σ؀#i4;(Aj;ekx>kKMA#PS4sVЧGMHY8P_bqfIf?F'Hy#T8̖]vG.m-VP!c/u(B4oPE1buрB{h[?9 t>U ާmdYFGS aTօ@S!hь9Vq1u4o-p; >gs 4_^HJY@lTJ5jEXR1,3MN1yfxD2d"F`;v rdO ^E<[}zߺy ıXn *dZ\QB( OWCAF?^[砷+PY7TػI#?✝=m[z#{./Z=.$G,:dKxŶ6;v+.Wj?>ǾPNm K)i18;GEN N#"X,@}p=|2̭]J95jm@_NzОϕg (2 - bjUj<5^5& G t4x!ZC{e7 w϶?}i b,R7)2r !|8˜!_?kC oSlzDUC*;:lזgke[:w2OwV嵡p/8G<4╀炓4'h,Zi«= % 8!.8)|0@ eYr 31x sLzFU4“=^!/J` J11G 7/H]^Z10޿hjNyZg^vUX/a?eN$>o8Z2uP__ !{3ó .I*g "<& A tV 8E : 8qx~gҥuiz P,ݷ""#a^^Z- [5Z_\¬E8HlpRJu`ĸމl{t^BeͣD||g8o4]-==77V#KJKm8q,O$}4NhF0r괕ļu]~$ozMq~EU ƾΩKLoR*H0~7#7/mmhim' q&ë+df?B e>aa,QTWSVD7 /$eCp`L?'o1ۚJ  v SæOoio !<֢)S.M^q'xEu"3]Kf8cxW*}W9N癫+ kBuMPyESh? ÛC7{qC^um {9}$pԸ%V=KsܫUK ڛX.虶H*ǫP2Q\%o#J+7/sfFwqQ,giAk>tYPdzyz ơ@ZҘ$tp,,"GfqfNhKxhJH? MM*l7~"D`A Sa//]>*4ZYp~" j#E5g*,gEmd*KR>y_QWQB&!JLzwXd^k D35?ɡߕ { OdWwn<زh%ھHO/mKoE?<~-Ăo̟8 #{`mDZzc_ R"<\V/z'#DTl\q76m2~,EǕ~)@NHs*R?: kʲ,65z6Uk*9<5s8`F^Z8FCjgfo]:Ee ő5A1˦cjϜc !F0u|WF,5Ņk'殿u(p3NB_ Wram!u_:?{ %~Jy*2kZ NqY>CgH/`T am&?V4yguدdy3J"kYM5`$kz@m3.N62m\FK3?+՝ǘ88cJl![,\,7_?`atx:ani1#HOGׁǡ,DZUU镱ւQZDQS 32Oaoކt+$d X"AfΓQ0"̊3+ADh~_|'.-g?QQ 3#~ 3'X@iA"bt."JK( S(7*E]!AKl=^I VDyG.rIj QW5L ]CnoE|cʼn'G? !Klx'uy'KuH)z EwOSSkccA~~:E^juuQT ۟,f[{>wNLe&ߐ'_CYs'ux)/g!{}92bX֚LщAAj QDR()%mTbkA}a\<&6\|W_#ݟ~Z^_8+o;6Pb;)<1q♇I^/ykuKm^%0t9 WףhO|_"?ayΜaę8JWF?xpQ3wU u\l :g%ws75QRg{ۂ?O<B\sɪ'"rڷ_1&tZPԊn +ip B *1xFMI9PrBUi>XF!D1ˡeHהiub˲fH-ZܸlE#kPӶ{o377윏MM^>xt憊}[HtHqMiBcL(}?q//|BHrC#Pa|sJ쩊 /mAͿEțt[ޜo&ӳfeIuuLL1DAFD{ G4!S=ktCtR6>3PË&ӌݝL1r`퐆I m.ޠ3Dƈū U7'<[Z;{9p+:ɈVaъ# HᏘ+YeoI'سPUU(9CCB9Qѭ aשȸatBB# vmkS\! }*zZ鮈 sguߨw<;*Et*u8s H\υ85hRsIL"u+9F>^ıR2 ˶Oh> W&^?uF_guJ ]澈ͫ.P;a )'>frwc0|G˸ʶ࠮&ġ˚-|d,'%DT@[E*c1/9')*' #]g\^.$"(#M4tLY6~F=gR jJ_Ԗ6#鼿atAs:WvDS!bYӕ5eU7-҉hULśT6UY734/HFwݻ$slt\ӽfeYZJZZJZhb3vk )RpW_FnHbٍ86m|q?zRcsȺ:ݳ}DZ]by/_`Y5IljoSYIG(LPh=M^Y1mJۣ6NM.󀫼/)My#"fk5=mdžn>x^背\]kS_o󊟑Z #ñHWAF#i,i:_A暱gi=,69oxUN7\dwA⛸Hi1b^BBD/AOеV`ȧrkNX;˦W(jwX{EQ;윪(c}ϑmpj*{-2av%;bi6|ENq5tO#$M!h&U&8_~e4XC=>b;˻Jgx+?9y6 Cڴ:^o[qTK m7Mn҃isK]^u4#5f~G `p_hѢű)aĵZ=7"$&e핢lºz3gZbge)o`um7;(!aPܵu,s{788E_^oaG2HwI"< B&Owk$}$نY8\.AYp*q?֝^.]rᬂcӟ|Zq}ՏN}lx7ڢ)/:|oe\4#E?D~NgOsZ &S m.$kPvF_uc|Gp}%yA?H8ٜWW^],~YLbKL~\jom'gkKiwOVLdϔn^q5WlM9M 7]m޳)WlWܰ{n#LXڶv=dEb=p%K_!zg΃!~S|C6 }R@s/}RO O>dz٠JI*)%«%!>yc/ȫPJizD(ND GBabW i<o>-(B FT[5at#xxŃSjnT9]Oh VۺɃӷ7bj1#7Ii&ﮡv7is" _hU-1B2t_< w&Q bxc`d`s9M8EP.xڍ%M]m۶m۶mm۶m۶5[%_jܧOչc0qOERhw=gWxoKS*qNkߓkT"ȏzOϓyF- @d`[gԂ)0!ymO4;U7z:ys:u ȝ$|ytPkKd?xˆkl(y?q]7h&&5B{htuѝ|NG8Z@4 2 {|=vR+y"߫K{,n}<~]zkdGu ņ[tzMD^/C|Ψ\?dxKxCcBjW>da]y!Ϭ "|(`kQjԇ, +yQgRUeU{Seߐ^.5ëLTP*XisKdFTo}87Ƅ4ʨfD9uۼv7L)Ny,ǬX^Y=?sO3oJ38r^53YUVבf]|t5wYߢ;1'[UZ_g2ϸOP:Gt}xq|r8z|!x*<.r'6Q'hC}ĀoKqeꑆ}vrpaNoXwh։]~.E `w*O<_E."sSBDamNEqʢ2Z4'ʶ̶m۶m۶m۶q^/udbnN6N^K ,v`8 iP]ht OIA!Z ]x,V.`_ύhL#>lB$P8*IբPEaZGL`nm.es(??"Px("bD+ޕ4^FrGiR>*թIVMծ s~5z Ylg0'K͍[E[*fUY=yFmNkN'ٹT*+͔he\٤U.*w 6H2Ҡ.hza`&X -LB,;>p?J2#;/ej5JP-TeA+Ֆhwyuy{>ON~o:->C__?d3J͍>jYoeXm뾝?:p 9fvkK=K Wޫ5:{#?__o{Hȏ i18Ar#L [zCeqG<0VX l. ?GiCD,)r+|(_99z;fg$_/x}YDQF*)V)h# C+`pҹǃ˛E>1c7<{h)G+O8VWq:q ɮKcWƞO1ي6)bvPH3eْ! y,Z`M2,%þ(>8O8NΎz(BqԳpۢc"ewg:V:lzѡftFDV=S<\z|_h $_PґuGǧz+hxUHч")+^xc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-300.woff2000077500000000000000000000531641511656052100352420ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2VtV N f`?STATZP|  L# *6$P  rJ %ٿw6{  j!@Ѭ&(IzU6LHF Ke!)2Gõl^r2jWm5p[ZU9Yl8ζ#Bsd)}(\mAFthX{SNZ?YS׎v<3mOKBʯ%`[7FX`c0QA( DEO^}~,ID -d5*iU$0 C)*rx)4ͥ貝7}TWI.ʫxݾfBhm=.gdr~ 3:jn$~F6zԐ*fLT߽,raBk9cb:-Dz1M 5j`X`5M_v998:eCDyd oifsJvPҫf|P֥ހ4sX]tNhl$Cc_Vh.)]yժQ55We2lľ?e7y3$yLu+t}g.Eb1!pLMY,AHG?zT:Zvb%`Z\"H TsBt).ϽS_t9cM }!]17ANEl \@Hm+8'|}t6kƸƨFC\V ԌR"Øðٍe@qLڏ7ro4kJ h)01ѩzѹN{H>~Oy @_|'/"bPJPY*QuPCZQ{+f!Dy,&3gQZۀ@[*Tq6'βS\~D3SοDSxSIYnjBVu%nn$!nC^lGnJ_i Xʐ27ξ+%7 C]]]]]}qtcKǎP{u'l>Bo9P!U[u6baBU$[L$FʺO:|Wgr`|Ko7RcsP`J0d6#YxZTݹ1EEcx2bNbpux$Уȕeyh#W2V{" J ÜN,%rk3NeE{<<`}{s#u?nFU;&8s?s,'*EIQ4͋RUK4SQ' {f*MB(A5BXDcIBP!׸Ex#C9zVòsM:[ן?ٲ1 9).nʦx=xd\g\$ie0nqO`Z!i,v4P#Nm(> y.>߻택J-) MAŢ9?,3uӿ -4{v6rmH GF0SA V(Ixeاt9t\;MO;:89HZ[XG 9c Dd1}OP:P1A|ՎJT~/DXUA(~v?![^fmzNf$G `I$gz ]^yύ.$@pi^C[:.~FZIm˦Lt3|k92Q;S;(&R4۟}:Ahhf !Y۶u2"/kzg+ΦE'r]Kt~t&n/ aG>I'bie&ݘgݱLpan_$`j^u>z` UY/NOV[뒮NE㤄Q6M27փ^U8+zZUj R㩀ӷhʧɇB=u$_s'j(oѪ]tUoly1{N =ud)(jAk3"]yYgl,{ti ȉC}z W@$c} ص#s1H܀o9uElS[sp ; S Nx7PN$ҳ|p05=҅&cBqfucTQiE/32NpBÚpy_Xzh.+JuSSaO \$`up6) L B=[eiR|%3*3Qehޘ9OW}'\DO"X'xHtfFW<`8 _`Z DC.3*xozxU2W1e1g1W |YpC*z5GuG7O>`y"zƿ+j^L*H/-+T㯬bӀk*YM +ev.+D/2NTLŶT9c^}4Cr84w ̾r$D1Dgn+T:׿We  ՖձD,by[2'ʳFI ~xI }Q2gM$cȋ Ϗ굚[wV9,}2sϷ^‰}Q,16kG->PcߛxA ujyZiPP0m r'DQ y.\)TQ*cXQY_.Du8X t>#r V8eb3a7&vg 멞R3otr꼣Rb&dFI$دm9X^XWAG m]*%cU ٌ = 2P əsc G1 5z")ukrᓿcQIڞ&Vl:FBzqx;RTr'kPy*@9U~ƹ8,pl] HOȂB"Y/>!& 6i_JYvښݡ&"=xُsvxjqdhq0(->!rJMQW2(P'u1/JrYeC)85iCX$pboA Y2>6ǁK r9Be6LY2(ap3 _- 2`8:셫 )_;꿜.bH3)cTD.@b`^ш8XY 4j"Y:B BȒKB7FrhB - cC&Y+󻡟"Cԯ)輄o;QjI8VwJK&e+qjif dΐ}@Jf4W!}YɁmf>4eG$c64yL%[j5YY͜,'#ӥ=F`{T'y_~ "CI"䄔eP9:(x^i8󄥌RX'L2IdmI˽ ^!=`ΥBdiV$39Rqx&Oà[7=xpo(#{XB } y0IVdtw%T%բP&䂰`: t&0ެx _:6J12O^, jٟ/s-_!%/YKF">MYl5i(?w<ϟ?8:4: vm꓏0֊xT0a$*JQ^zGs_Hf|>rͬQ5r"quLa?^WK5cAլ-3mT8ݝNu =Rܰ搛V20ВQx ? cyI"9fG\"+AA8Z(JQQ\7<RA^-cpv)^ܴ}|o}CeȄ&Ac)\irG/}\{g!#3܆"`~y> Ėw(!˼g4ew48t1]lOF_DT:1Z/( (4#;QqmƐ*oUg1i7WO,D4 2 /Y*OGi!ojE )HfхeG؊M ~ԨP8yI>F˟"-$|Is,/qt,-׺,;zt:'rcRC^lI>+.[ʸBf$"O1wtj6ٱKg̳uIbb>4mMY-l mOÏOUU*)D*sB*U7BEl;ZЎ?~~`OY t Ox-MO>w6A41L#;.X38IlJo@yDB5^,4_N|sӧ%dB+u%@a{ٛ g e;X'.xI6#e]{6ybGuQw[[#K}ٜ(BKˉcUI :$7/yxL9:9;͍i@h--1P]&wk}9堕hx >"V7 p݈-..8ǩmf HEXr Yrx˯$Gu?')62RcgDLABqcZ0e^Y'U1j_$xPÆDx=|5Tvc}|LtdGm)ao#ǽGM FlYa5,(^1:4:aj'*C-(rtY֐&fTo5) P8_!=\5T^CkG`tMmL\HcVoI5N&ٳ/H;"2@d(( E}cSv.T 4(MJJ<[p刅ű F[7-O?<ЅkdX;&-ż^˯ ?E..܎ʆ*̢|Rz); I/k<E5Iß!6pAtdvaV<c$^'6UӀy]'p"q>Lvtg!X,@Djc&ԟ14O3ܢ+G1\#c"}%1^"*D#)Y,L&y+PԓKZF,oדٿtDj˜ `c?֥=1"~.XrNhdx#zs=`(?SZvY %E7;oIzh[EpV*whk5bC!jx{CoBŵ֦õH4Ԍ!c:cE4tPmkmyCg}uyGGuqcvr89/xʘ*yB< )@6I  Y~O)Tj=4D78yQiM$;4I-T]mtPWCdFa{l C@?4Nbݿx)0)2}כo GG 6"K6^s. z='O9"Xl`LPze*,@a\ZEVz4*0EĨ"m/NrѶƛ9aJ'v$1Hb7)J@- bЁ~DjEJbvc]]L6i<.䢮vygɈn#U_2!T3ebJilI62̍a5;I㊄X btϰ*84$#*f| --`6k°>t.ѽS5X,SWΨNZLJwҏi^{<|cY|g[ieB6 d}ԩٕ`^5QOjssSC/"يkkկIW33/ AD)a(fKPOBF/M9=Z|BZH"L$H@H{"A#k N]cr'1ClOKAe\bN)^a EU˦NvlGL AP1fGFײYz,Uak"xQ^@/L 2R wN,3 c85**>Ea҃%jr Q}܎^^YSH+bzDPdb\n'd y'gW6-KDBH΋Mg|j.(]e0EYX`~s{0, x@#/c* Fјk*:u0n$e1A qy|`lC26@34+ +h:ztpxYPIU%uH3; s `+t=Xb,Aڡk!(D D/˸ DDZwp+0W3Cw`v>[ֽꥱZ_I NgN/#4_nc+A\V`+(,QM4Fr'<<+ПM`kV∶ W4jzmk|HC6 L*HWVN# ʧޕpG싸E9# 9>cWA##AW|/cr;Vsoq(^~TEG-%JJK/C =*2mP\PX[<+cb_ڑpR:'⢫3 ſڍ(|G6 ':ϸh睒*J^pӱ*=\>u7h O@P"}!El6p<*KPi)bAڞ('  G0)!@_rAX,jOj׈N3GEzߨ(jR9VoO>m5gDX9O2(iI4!Rr! *S%W6쉇n̩/6s9a|EuL\"NA+74/{fB" 7/?sD*Joa64#Q~m/7Qg_[ur ^*Ѵ[WSˠ$$7.c<6f8ZZ罇kB3Vۭ)ֶ3&*aIZy>YHc>Xkrcy5h״VlMs|X?|OCƅ?=[6[]X/v!Q^bM3as|C^ DKC;bCŹ`1 '?|z1{@Jg*3&_}bҳ!h'ErT0O|_| x'y4 &`3\̄s0?Бlv y~kYP"qc8-p퇔8as¸nI*cPgoD23m:ȿ*xUQ~lq%E,^]XMM]}׶!˂_!;2,73-O{K5555 ݕU);$u f7BBP< 'inC;Wؾf z:7r`eq8_7(J z'EQQ;i_-˙jPJ?X~[y|3nrͧU/TU'VQVƅ*OޜMԿ1sQ;cw^aMi&hLZp=柿vdVf5cmG6.^-;)%VB# q%鱼7ӓChঢ'F5P5k.#vuDfSy) X~~DJ@ZfҶ֓w׿@oUs^>5 -$F#/2>ἆ|-? "6`R 'EH_70(.Js 3yQwc)O8M7 TSSS$6PyL04_E`&7^hkʑ2u"KӋU\aJi˾4{|JJ֗dG]04ˠ *5\:;Ude2QAxb@ )@ 5х ng0bMEWS2mbmF8#jpUIR ovN K0uXh"(j8^ t j{Zu4Uҹ^g4wrMŇI}ғT7T ]7SZctE+cG6F;2Gf,k:j:55?\W哚s0\SZѮpHE؂JH6?dm]fV_i- (G]<0?1*n] `.BZsNdFhF7cUIVaU#G³8Yts-1`P:KjSLIu!cJ3ҟwrXfxG߾0Qs5M ^>cs~ޙY"B%Q~Taa خN|5ʆhCwfr5zf_u[o%W`}-ÿ|^&*433%/6?mubsU"Xf6Sj} o/Ok:ڟ+uHRpĄG=Qo-%O g=䔞Ƅ?+^tc*㺚p[ʏڧLw$jmHRi=E7`8|8"Mbj=~WQm=ޝp{q62TZ(d%gx5UR ~!t:rwrZ3 PEl:Er")щ8#{ tOK`FPImDntC@F4Z(e\qqqq 12t_axY~x/(q ~ =qaDN1(E VXna6U/` AhD !:( f|2A<8ztdtz?$ cS#Ti˙Ivez>]ʱ8a,[mXq9|)۔6Ysxͥb=X-|aI݉첪½&d"p^+I)9el~xaEBÆ)Be^0Pㅂ%S66ɍ[*"ig k++M5Hnhzt8m1%jvQCÆ1a2Fj,-ޗRPrܮ^'H/uv-Jū4MrWvulԤRҏyjvDUeD/uJ>pOL H"9Y$#ݚ1$HIuQ푰$0eRF)QV=(h*ű32D! }|ftwf5[Lz/m@2C'+g7FFm):K٨m|8F?!T{6,U  g2Zj3 reYǓhau%-tpKLhj /wRAfkKǵMEKwS"ՍD"奚!0??9vz V]Ƣ%p"=|S\q7 O3,P_m7׊ay+NuT $c {$nf4ߛt{ 27:d :v S:$LqNע7M᭞eR?w|[zjV$țCyhtSLMer&kGii1f= )ty6 t/<"V7 9NZX8.LUD|d,RDYg? BpZ[`>ܨ4R_w*AǬ_H~#^28坍) 77vxP5O&0W&xSLkm p*,w6bD80YlUK 7/0!rJ@-@m-1V޽ce~ Z<֘9 ICFdt@}a@uؠE-@L~ʫɜ2p81j%Jㄜ<'Z$ۘ.rz=5xjUC\ɲ3`ѐm`Rv 4} nA;:$ pN8UzIQT7+GEcc]Ö!<)$y8f<95JjUT<_UΨy'k dA@X3v!PeYwUf)%@"#7 'x5Vsቜ/_^sGw?r0ւLSKA-I"{[Ug0-ͶB݋VhoAGy49K_ XvoIUi %1 Ov&s9wuȄ* |>:3(qX;2WCum`>֬Rld'{NIBS*=f6f1b6ҲT(eۤE%(< RI=`#tzOa.ajşOa.aÑi%ۭbҟڑ}K/J^][GЖ{.akad CWJ ]?=检][C=j y"}C(MϱcaWJ3 Q.#5S}-HxBnw$M#ܴZU>*5(⧼Vy6j)b!@XX *jy8klA Lj~1ڏkNNt~k؅2⥳'{؁唍<[Rc&F=Mjy[hu71BmvJ|tf:If+]ؽ[_ݟh?3T(Cٛ<ݢ-իKĬ]Cv7tW)ӵ틁W6˛d괵lhN1p*Y_# 70Aov{}HmZr)3blɘʹ]>[l80)v Svl85J~i +C̒Ѡ[@i}1|@zgC:' 5b ]ӹb)y/2@XY@FqOvE;gY6` oBU}thZ87[_rv+[f zŬK!VY?l8ϻuۼ/ܚO_|R>}f\qDS]c2(yL-2\-sNXA %}N"ծ3Umk覒}C_XYf/RMk/ XSNzl2fr;Sb2?P3YK[&Kr xkح%#{BW`:v{? M%gP^PGXPc,Lˑ#{݉/JHh ns"Ŝ^U~J2N-V$@A'BeI ]q٨''D>7'>D~i/WQ@:v)h.ұF5.^JH|oL!jh˞BJtr0"P: SjEV?Q@V!4ޕQ;p0BpC=E[׆jwP#wiƦ6vѢnjʄF8LN`j<;j2xl3yA,YC?Vn^=H~W]63^"䣲Ce&Z2֎٨>MZZmIo9/]&+d"\9KiDybpk'b;Gچ܁'s|=c:q= RIi:SGĚ3k=:hvgyH5!R66l rw^$/UjΫɋ2OA^Q`']` 7&sd#1 7ŶL'ji;WCdOzL"@ѣ?a*T(V饨NQؓg^ yy r=Wu {VMO[*Iv9$)Dʕ箸[&bն yێQUkw+9/Fc$y.JN2;Aǧ<8gĪK1n?9fk8s _7XBȺmÂx{߮ B*+/] ϋ"6byv!,n}q 9-.uĝ;zlEBZ/V%-&MeLu.'\`yxVj%+ b}lz.d]ӌHF,$Pϓs>]z pk pq>ͲMLi 9qZhKm2vEYqgFgعmyw7g֤bkG7y;=IBEA(pL2ⴉU[? OBԣË y/cJ^1qSbB"/K1n?c@ L鯒mZ6;%Ͳ?%H_Z:G[T - 2[tF/`7b<ڕSA:.@Lj'C̒uJe1#j:=яȲ]Ti{p|.րv 'Ni>*>i\SO'0FSݚV?u*+{ 2rl'b\}[5{F>mە2c hO$[Kӈ։*Cȫ4WM+R<%-RUЗсO$)L4s-{)/jS>Og5%ݩm~y[O߽yټdJ1Cd=/rvȅDtBi[V}Rn2xSOi_X~hz\.{!3ZMb/mOcZҳf"T+>=Z)-OT6Id=@בR]\(Y@G[DgU:\KN#Be f DG8Ήk"X#E>-9=`cCUG Pt+b 2lFGys 'c~Gp^`r_I"GmO직>Щo0("bbE/*m7/AVJBǦ=M9G!&%d$y4%xv="#n`EkY˜n3GMVאWm--.hOX-0Y?,;ַ5E&ڈ. %+_U1æFRHI''LX/N9" J4[T 1?1,mZ;!7>l8\U~ 7mjc\]ui& %}? gL4MB_!10^^ lСV &c3J[ ;P_,i^0GÞVۥ!Atm8:kgfZ}'c jbI MI'n}}bBx'cSnVQow]Z%UeksRN ǀfd%wx_)YbJ1QrKe߅j<̓m<_7b2q\Vb3.!lV^HB};6-:p*|"JB(d3K>'yȟ;H/Esgݐ/ZKl^Գopen-sans-v34-latin-ext-300italic.woff000077500000000000000000000713141511656052100363430ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFrGDEF#!GPOS4J:@:DGSUB1$OS/2 U`s %STAT AV^@ cmap PHKcvt 8IGfpgm Zgasp\#glyflR"Xheadg066^4hheagh#$\hmtxgpJXlocak/maxpo nameo86HJnlpostpp 2preppB3)x 5RD31n^ωn m/]! I'e!ٔ"LTXHfÌ"9Es1qgw&M*@E^Q-MG~X~R~N~Q~Y~M[!ґ!" 1*zx<%H D{Nζm۶mk۶m۶m۶U(Dp5.ƹ<'?< {?ӿ?+q;k@P9usu݉Oǎ!xKc] sKbk*`o*Jb_*PX%KS"]Z6ũ[py{˿>*RWsW^n0K[gR.lҟ v})ebt+ee^n9P|RjQ1&xodjUa}U};P?ogSלk~-EI-ѨuBmvyց:\du׍]vl^y-o杼i.?ofendq>+?okvdw3k$s;gs!s-7AcoɝϣF;.+zq{^7'lih'k-V>R;Zskk6&tkm:3Rĺo{aҟW3Cܿ_{LNu3z{Fd>K}ut"|-P@αc99t2gBwL@1m۶mJg۶m۶m۶m_ ]I'C.rM^oE(xD >R&~aYʽg=^rx)0%8 7$6v`k;YZ6`cY+D{K#ƫ_`x$n F3 C '-z% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a ba`e``5f9>,0,$$Hq/G XF  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|ZX[YiH @!$xB(\KqKRuwww̴>2kӒ׽7/B?&; ܁,$IY!aq}LTj `mC\~o*Mt*8.Rn?YCsuIUח8pe\ |K!p=:* ,v `d!Z@Ccb27,{JM1Q{yyK lh`#=Kee%N*Fxy++?9)Qm7Y;ʭ欄.˦? -0p =\5xQ++.B#>\feR,1fkiJY pU% YDnV/M Cx9q(JFLRI:XL"?yz9COeYUmndf5eIsIk'fiUŴPivfZz1~VqS,kWt-q KwmMll@/_ZvuKvoI蘃=_! y+üý8HV pA#Q0Q`P@W8Z rD2 V1.=|0Cz\aʬ?7\h 4=`ͼv7YΝR%}ÖYr+ǖ\[9sҹ'rJv9cCs*vya%b -&niU2ULq Z E _;k+IEw@ޅ׏0!7#SV=40o\ERw}  Eܷ^| i3݄o;dJj?> qUHVxMd n·r8^{z/?]^:C50R fMRЅf u + uPcޤ&\m s=8KWTkph*a7*" ODҶ<՞x8r%\)RMp\ޏ|>| ~B GP- S(Ej ~=T`qMK } O~e[DQ$q}͖dVSz}p !<ѻ%}\P^ *2R|ԨkyzXv{*UABw$~*e!S))؟zTڲrO*KDPƜK%_V'=?~Ɖd뱎w~z`uMEߩ;{mf Kn"!{]1O;JmṠ%K,|{ IQECS"T o 'Ѵig7(i^fDZ[^Q>{s)uvu㉱l>'3}ea %tRdu /4VMB{H>bl['t䭿> /Q(= 67}}4 Tuʤ(:>r* 5)f| cYK慦]oi?(Įًc%Km(Z Lh;ҹ,8h*k8k}bcFb &;_( j aL% رYi?2,@+\TduBZ5nL2>мUwlm7nXqǃP>صcj\bKʓ'G^=Tc)YwβzeY427yA[2BuϥYH.4A2y[Z |%!'ߠ oB@dgHAI1F]΄ ~ؽ-,15?t9c9j=%vaT@V}kn~ȹ ezZ״?ar6Rݰmhfk]ڮ֢X6#_Q8naag;pZ,BvKj1cKM.VLJ1B~e.^rHF=PYLު%gUZ;O9/w$,joёQ&z̃ I{o4 e)auWo3j6p>?KPgٻ9ASxP!JA ސ Ō`MPXd&;ǸHxD`/,_5ɌV[`~FL5S{*@9)i$y8;exD*,"|LBxO*|[ȭrɗmW1Kƫ]'+ȋhUZU)$Hɜ(U!&@*`'k8S*WYP" coM齚/ $Ɗ'37kڜTɼ =(paڹI3ږ-թJ.m5a !2 X@O/-((.- 49 L"šFzz=JoO|7|"% !8Js:Ιݛą[-';0(%aHt#u)%Q> ]ׇ]ZE2s筚ѼtoY o?ֲG9/dNu֚g -U_V˃]{Pڼ[ohWʸC3; sjʴ:g$gf٨QA7hft1 ) >Iդ BvΗmq*[Fi*[ycÉ/7%lB:-@{HPHs>w%k0*^L#/7.>ýg.{e3R>HO28n%WUp:(PV{.qIa&dA޺eΙoM- /6p@.5t5ڐ}oMnWLň>Fzwq'*ERۻ iH SĶjQ-_lk 9.Axq*Åx퓧IiNBF|ALr?oyE/օ=ڵ/zbe>n S)KthVcz[kxFţ.R07#e?L&t']׷s/um/mޯbF}p߉]lm rWDVޙcֈ>"&.kȐJݬl Lmmu։Di @y\e$Kрt4`P Y g'lp wrXk2yDrR$8!Ȟ8܇rl#?!&=HD!)I5FeJWBS?n._!^ <}u :GSQ}a)4 V R"mbҮP.^>/r/ͱ@琢g,7*%u \8,oJiO O&H86A/{J{nwP?yV5KkZʺe{!}j//EEyo<`'j>F{?ݼ1PK7X KE:&4-7w~e;?9fׅToYqU___}~`dکNw< #d| rSw#R@ a?ʋ;O(0^T.nn!N/<"<`BØNL~?~]_sl$U^\Yx}Q$7niZgM~łkGLÀ _N9%VWqtVUkֆܬEל8Z.eiO'~{e{ezuªz]ʆyDhjCTy#: C:7;ܦǶDFxaV H±꣝վ ~/j._F+隆[g/_>rK*Ydݹ(@L+ry)GW="Ŏ߳<<;^XsK׾A^EvFv2GOE7.bܿ/-]hHIt1D7_%u3ǂ_`D5EjA^5;ՌCD Y$%¯:Rh: RdmYHn;boA: $.Q|",>gojl5&z_;= u=g{C\m%l6qV#${+@ĒlTS)/OQ0FnTOl!IB4+2ȯ*VNA^FO΢Enn~<08 pns.p9wU:j;gH{xӋ942)hOjC CanVp7,4'h8".sp^D,ur ic?Db.^))pDa$G"Qڭ(z`|M (Ц.ϓHM)CC:aC;Z-3 F0Th`bZ-d2ח?ī?B{RuObk}ʋlRɗeQnԪkŢ񞊍= >2/ORVY&1t宂ߏ,MC224뱥FVʢ M+S,o'VjV q`Ci_ALR o 55omYuu@h<nUZzYvo?wUi)\qf}3>Yn+E.?hMg1[impOκ Xr屌쵭Kfu>} |j[.~iWZQ秾k[hQ#^RS"{UWz .uqTD1QㇲL9ux /~񝕹I uQC[3l+>ڸq/z!uB*NHًlusUKc\ هJgNh=$uxsŦd~h674T_)}pZװ)pBT@"h36Ե=;vF6J58Xd2/l#WF:]dP<4E~g3ˇ ck\mH_yHS:fujKA,M\e}+3;;* elh(w4MT9*4۹ X6 EMB 7 :3%p2햱 `{N~:: =scST,UJ4v-_үx! c2CJ}寁4OБ*oB!f٥y@foP8jRQ !'Ww1+݅Թ(b@0cgIqr;"Ff3!ڹ0^"::߁ɹ‚vF|tFa *EQ$Vև73/v7 K w5O Q!]A l\ao *~*͖IJYD">MMyWl_"krWk~8e -q̵CsJ&Z\Zwa~;,`\mL%NW"GLl.FXg1V_NZiQ("Ngm‚p>~":l9rkV_C<6s.SfԲ@)!Uy=*w~>Uzј "-GB卟Ա-.(WV[ZnlQ}r "~ ?IrvXP$pyE4LD}7YWfPЅ޾ <Ӝ2MS(L53߫՜"`,#roOYAs/ڸa`iZOJn1*O/)KD&q閈B)E)UH&ehv{{ !V-ѹ9" SZRƍ19E}i͉ ʤ`U@P̖ Wn,e:~EeG쬉 "#w$Ldea3쨮fl ]wFE#wv/GeOdgO(nVUh5g B\$ŞB EՅ"P3qq~ Bµf1)L@w'"fv   WB)WPνE@{ _;wjRAro-#x6% L wl!)+! Oa`Lv$|0ԟx9bf笩=+}$l,TuI#3uY\⬞丌97J'[2VMʘθgvpTV0,du5)-Y-kr IĚfSY#Nl*LM雈|B ,gS[u>~@SjøA@M5V)Til+8gfg+\ wŴb\bW N 9stwዥٿf4^I'1]vOuOC[lƔzmkӡxT@f.PLԏ'V|?J]>Džp`?cCghn6F<#A tK+F_WV*mx|v}ZxҐ{n<83yС?vUWyCSΏ@*gnA/:/yޟ{C~zd1n6T<,ZWAzyi4Hbai$l:\PQtȆRG2iyjKRR뚒J 'ߋ3-Mʋ+Jl+2c=]m*+Iٝ\P?+Omi#Y[>xJF;aFᤢ\5 > o wp"s;RY4Ӕ|Ų{M۰*?<*:/1ifgl/[j7Q,i1wXOڅV9G,Dy -5 rJ zW%%wmVUX F*I _ɉ9t\M:;ytk 3wv q ̉ÑǍ):O#A?1q:5+Σ/ݔعf5mSUl5W\5e7-h[$9gN(x̜dtgNfuJ,qY*dx.}D ^WK]x% ! 7bFB&RQf"qx^@ QL$nR:%7ZRQ )3EUl"Oy1p4?h%Zb$Sg'3v(<:%˱C3J,SAdg[PL bf!d!R.jD(=*c4r} , .rPœ<Nn?DP..)>̎ lG]2(S;v H;yfC7]&4Oux52A&'Eotd]+)HZ˄ Z|sdVf|w&$ 8G n^^8"8TpWB)yl۶U.NE;lZ^Uꟾg5-a~ Q6&dUT,* oͯZPus /:|"qL HĪR_Ζû C,KL23qJ2<Q!5.Ԡ4V&i5e5TTQ%"Q^l64x*%jҼy>) DqMllr$ S3d)oT߹tg><ǺX6˝8^{0'窺-6/kvW.=TifNxq4'4WH蝁-[Vvn 4uUme[n"<-7?hqƅ0SJ;za"q#F@4JQ=2OɌ2((9XF@8# &]`3uA2H`.u$%`_lmeАp!q/x,epՅ Z@Ry1 Y^Q$p.7F#;e~zc{n!PۅD܄s9u烫ʷ UGjXr| R}ݣ޺~8bEC (GѦ6q= ^V +R{i<|26^?L(.2iО=1L8f>d2˳b1ID X1eؐ`2;쎚2"LHOVay|dt\\td<[l,Gc{6@ґDƘb5nNA9[<ܝH4~JVFL\aLYHZ.Oyp8SwYMO1!uVz]k^_ci'6xIW>>dy(29{Gm6ы &AN%C" eϟv,&7?EPWXLqpD0<Q"}}V%o2cd^wWVx;}E͒WJ+3(Kd*<2Nzc6PDcDĵ])'`xʙa(67D-zD!o@FW9 8a8+eХs8^87dj߶Tf@$mc/ I]zRSTʼ=YBS'+tUQ:2[ jw^ބ҈&ҊXG^𻙁>{rD8E2DDD^.ls&4eƵzB.|ߖ9өW^il6s+njyj͔g$[)kYqw%@*Y;Q8U8!γe9qJejypDq" 8bѰP5!O,dI5(h܋=GvQngc4S^"'guuLo3m#Rtn=)Z*/^i,ˏVJ>EϡSVӳ4-NJE3T2:_ߑT"#U#)^x\p)qyCnQ5Dl*"!%~>!ȈGS " 񢠉I(?JQ-~Ȅbd*W\@tö {kzJLI~/j"M^bV/2I|鬾,5?9_ mKO\}v~.ICTx"񪕼E('T2jݍ8xYɫmn4 L jvTwiLo,Q't(l_Zu\/Ze/t2Zy% 9yC*&[zɢ u ,Jl]= d2GpT13Q 961R 畃, ǕfhEDF}F2JՎ(BQk@t-)kXTrV0;IFDqxFkgo".#ujZ\ޛOcsǝו2}2\z %H;'x;M+!2mrٿyq[`F8-dS^,H;I]ە#1B.ET'Gb9&>4KOC9zhrenh̪9%!.!XIJFx+g=+m:&l:vGq>^LLU))D矎MziϞo=y*̞lddٞN{&Iڧ.`>^'dHozogl yq;p>z7D&" ~>Kw(}\\(ȓ$4}X?ğ]Hwcgbj|xCqDHf{DCԝ|\_"R8Ҧr.ڮ`ڻHd: )}L؂09ׄb jV_꣖ Sqleb?͈V 1$'>rfz_>vu yR[TIIBC*I<oP5KT%JKj*FNk_ts,ȦYam4|+G&ݏ>jqg^)"a8rDLYȘ!J~Hs.:ܦgD`und^}ٯYANt$Xۦd륄ßq*? ' prA3q`mȐ88U9p~qj0݁>`O22;.cՠ "w(7G+DJ ز$[0H"HM&"6E(1KP !',f2s1>QN_<N(^y-̀%qY(f_&<%3RrM9.1-TS*=%8pd9*T` xnqgx Ud#WV`"?۹3'0X8Cx˻b\W[uKMb3+~_޷at\'ٛDCBڧg~͈gfDγ$r>"/;l/9fܿ8-8 Ըr`AY첼Mz`ә kKm!/ K\$JA.:%J]}Y!8';' %l/vL<ю;EdWr^4gP̅S 'jrk"ctKWdtu.KKZE.Iʺڜ:|(=0)D+ޑ Q-ʴ9<*Njkk3bdz_?jcr6W~6[מ[ۘ[W $?HZ=c᪢ܚz|`&;%ߍ~FIvZIP.nb>Wc\h|@MT.b/I~%ݫt!O˭q86t]ב_Ӑ]_eBb_@nѓJ:mo/(l/Y[_L*M>=y0/*Z(U/;HL/򶨽\q_kFA{42x  Յ9U즌زy?%樴ޔZugo;t)zv!w_ E%oLftowOYs[`XS9oWJ@0p[x1,d??Ogk8!]8C! FŲA0zE}Vo"zyEzÚ..hS+rN.j;ԟ{||ߧ >ЛO0Nτg_qm-+\xT9>AL3?!l?ik68c 3YK`(!7C"" @sq _d? {!>{Q}6E'|G2J~Jf ~ aD {UjC~v}J_{ٲ-;ɳϐgtPs,Z-n*Z6u%OU}W<[RRqWyS|eы{.XnnՌ2d + ߥ;^5xxSn_TCwE7x3͙P={k'N_u?"K8Q&jF#>`YŨ1d4[L,HWP2p'XFSxe.cFX› {2L){fRLb`ՖJSejL^hd%QU՝ZѝnьM,2" Dfhg`Iаaހ'gx o7{P{șp^֘>0xf8Kx"Nfpa gԓbJr*44[C-3u]L'b+Wb4<¼/s/G=y~V?]:NF..4 H dBqUBdPFa&-Y:-1R6~M?1A Ҵ]R=wqwm5ؔ}o5:aC*ަ{kdtVKDpFÝl+Q6KD r!D_W~&M%AWx:YZ]:LINnE{56ݏȡk -k<␀tV}C΁lѪȑ*Gd/`o 4z/i zOxS$-YUU3q/Tyk8V\Z< n!:l[xܐ)s˚Ňk?V|Qbm32 (ޟ;>JB>58⁏ Q:YFZƒH5$D0!4?:b? |Ƽ9yY4 'cKFD6m%xٛۨAq^e}`NV߭w&WW/W߂MaC4&dؕbd9* ;_ G +'q(j4r3܇Q+WE %Bl#R#Y2M`{p*PӧnEQt1@-оqfGNv pնئGj>gmI Not-b=gPj577o??%:OiLi;./Z_12oQCR!|\#]lSRf(Pk.khԨ}uuJ՚-/6' ᏳG?1˗aO"kɟx fE$%X9?t4v6-3I΄r#'7&}ki|ttvehkӚ̪ɟږhZZTQQQ)"W2AqBQTrצ%x ʏ!ҡV^3s9ssuy#sV֫o]aټ 2e꜁yeuMaJAOSD<2ZtQLf;`$] 2I %lcF$Z_x\8˺cn{03~;6쿥k޹i|atmK1}a8Z4xbD&nZV"Vԝ^_}>JN%6P6k9`7XXyW,ML#l^fdqg'e> 3>9yA$^ gqD|Dms(2tZlըnr[9/8\xz8+,|芈=_4gS=,3x v#yr=R7D7勖#vAKSPC=DJ{ ʹҳIS}I HȮ7rdd[ؚ\\L)IsSп !2=r1{Q ]VHer!0,b44{pT3!ڧy_>+Y9At`w D5C4BnrUL*+別|huLV).TwqF#U%34ڻbk-Yj"$IyAA$-Z+OU#^"?fZ'*hmȚˬiqV= _hHt(SIm 筡aAJ@Rm1 lo)eCkV舊'3#҂TX[q[U51J\鄏{ Epj/f.R_EaUB֣dfũѼ5&+#"ܐ'UQ5ztE̝ [2LM9yDlN" ( _zbb||XOYXL*yko`[ߝZogބ1A-פBiRWx&aY3M;k0G= EUI톀 \#Ľ;f44fm<onM/+˩^c?Cɮ\<[ lKp Ĥ1&5^x+` hmrȒq< ZV6 *vkzլ]< ݊mE ]Aڵ>q' Hɨ(cyj3)Ym높OL@ɯSHj[ zv)9ak1̘(Cξ?֒5DԎxJ'Ȯx?x%;!w{!.Kws9?o&?7/d:M^?7U'?H48D~p"fRA/JK )(13U NyP>*NJ'@B&y(IcQ<:}Jnfj@fLk0qÖf/ 62ϡkB:qE2Cc)γEz&2Y}c4=03:B, _< w&P" xc`d`Ϋ/2 ;`xڍ$Mн۶m۶qm۶m۶m6پXDF|Sժz/41> Ā00ށRcZ!Vfi'yU|J@&?:d)Lft;ڐGǠ/(d#N}Y&d *r\^Dfs;%lAe2=|edi>g;A% `q8}( ILa2j!_u9cE۷G RsK^#D Ƈaq}_Cugpmj(J gP:Nƹ)P<ءS6g>AB޾'~ 6ɁmAW 6 N >ڡqa6)<1|,>+,2*.r:r/;JDhXظy=R^r^T]>F2#ՑUEˤXlv/D7tȆ42Sy4Ac2YbL ӗ,d63(+lUۛ]r N^3E|K7?^0,B1J# "b'q8Mn5E4?[>lk$9@aP4=(0;Qp_l ۪]^nOw=1ڶ6ټmj֠m۶ms"IR#6iOd*YNyMDZVzt*-5KR8 rȖ% $B gyW>OKf~?ArnYk'9DP *&JOe[mktmFkP=c3jk5 gQO(1I,kqD\w'%,Śg=~c$'S̩ t;[=nWsMf{˽ _ƟPj`<̀ 82܁_xHz|skxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-300italic.woff2000077500000000000000000000562401511656052100364260ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2\\8nj`?STATV`8  Lz :6$p F 5x΄~p@!<`3q;U$0S!`| +йUCb˔FMHU ̆Bw E}' F_yL߀@g056 hߩ/ 6rP)`jχSuqD-¦ew9Źy\t#A.}z*{LjT vMn܏ >jo?"K"UTC'0mQ}b;1/E #/]u}<*Vxkk_swH -&y^ÝN]Zwno}ىۺ/߰!FZ ݦLu{ޙr}لM=, awc_E2doӅ1]6ӭmgm~^ ɏE⑁:c0"FA&lh(6"La,^hC%6Z-u .Tvj*Yԁ]d;avXl &;d9䈓/}[~床&zoTۛn̳T[%LiRM y^֗:YOw?m^Z; jW0OsQCp-~S% D{ d8v @,n\Vn[K R4ɗu.HbɈ”KY )3ՠh"LxܝxRSm߈D9kwa红16Ug0%[C070:俈!E?K < մB!i'=I.V˒Wښ1&יl]%EWȻܹ讔8Zzj{)12$Z u1+,]#\(0W{<1ǭXU:t> =3M5ʆwUIf54̐p$-|M'W|@3N;7Z pgQj[$ HPr -zp  zIbA@GDEoGB!P!1닐 hzstEjk[srxO)!&a˘Y9͡z ~63-翥3V*eMC`."07' u a-N37IwrqqbU pt͂!4 ե?w2[vT6RNz2hjLԸ &^Vo06v ԡ3YuiX$u`!!?$ԇb0ƂIPW{Yĝu-E7@ Eըv݋ B!Es8OРz{k{m;җ$Ur uXUD&Ӕ)ՇkM-CS ^7g4* 팂 Oi(+Dy̴ϭo><vr_E__e 6)ljFg/b"!A/BzX̥Һy&J3HIVΨ A^knɘЕ,fۀ.^{6YDi?y q퀾 3'f{;l,179i6@Oo`+rUlDWpGt8m^{>vBӸuV&̼xUΪxUi5T_){HT#"l*U"~)F\ٿ(f BQѩ%$YLQ[SDa;9bl#ǝ!={2H\W@DIho16!rRlq*8.z,X[/k M|lLGWJ.J #K@ Z9Z7@I!wUn- 4ݭ>dndy.9DoĝX.3lq^X 9AeGG4B_(mQ3 )"fE;\qEiC"yk!8OmaйpXۢ*Qj vzwN$A9FisRYvzsv; [vjWLl8̉PԢq>}(YzR{Uȴ;&H2w_'6,DlX\m. ~S5=ո ++YiEd2/V |@[!bߊS`i9 D$p|JHYwh[8B%$]#&Z`˓i6H[ys\=q}D1PTv)4)\{g(Z'yͧ 6OPT hv>*(ԉ0 WnwsŶ,&:±3@蘭#0,m=Sg]?06:!1pOJz U$.<( l䒯S P+/Gu%vz^ʄ0^ι؃Ur~z- ;R+sV-2TE/39%E Y 4Piqⷂ-&BA06y"g SJ7U=(寑H8\yB9"sŦqklP:n 49tW yG4rn1DcNLlX4b8 X2 f@8!@ޡ`z& v[Iz\d|ı#}!i|2H[Tr oc )iMwȗ_P !_E2Ȩ#zҽ=+/ QwskʕIV<*xJ.N{sgbMa upIg"Bܷwpwc aʁ2*І?,p 5mn}d"4^9PZ|VsF9Fw&dJV )n4idb\ #虞toY D<B4 SJD7 %ƶC, B`\0` W5bеKfЭrɭb)MK4c9cay!(F#xk8NY9;\^oiQz׭BH=$$:({D``Wa 29/Fbe7Y:ئ۴]-X=TQ' -z[[G #!Ya?H.N։vYKUmXPhv!|k~M+FEs?q`OǑT/^)7ΈRu(aFj_ uhqa 樿L70:x$mii~ɜM]6^"ymTFRvrEmPx#}i2_4WљWo;}}!!54w!=bkQ`SP?;{qqk)݇|PTeX("BfR`ӒIYG|C H~c GمTք ǡojTR*8NS>Վ96vӳ0jJx h!Km&XHfhjlRr=d ;Oj,eOr[ gҷ6ij[2G״~Ȩ+]r 4=Q'];m*x>]oSę<ŧPA{̓Ca@v "$`7,_{ϴ- -?ɾ0 ,7}rp:I&Ws{oIX2uƆSO避ۿc@AICw~hikVw 4j û*:yH!XA|{W!P%Diw}AthTr1舳gt,${}|MSci,\qE>&?9"4 Py{ dG6A :PIw Tj(jT 'Kv4dBZGJh+hl. ]|VʁW%fLļӞʍbPRgpb-CN3] 峡u ]W>5%-^XMe|[u(w*.9:שiU(*5 vS2XF5/#u1P͎-V0)I(HuthY*%Kn3NKL{Ps-=ٕzi\fQ'bk2hOڼ]y4LdnSZh@)zU kqxɸ1ɉWȴ+Koi%̩NOofG|)eD:t;<,]ZW_PWP^c#n*\'WoYY0<]E8EGvA`DB(Daִ v0UOi:,vym,^\>e|_jٰ1:}M0|jtўB[Q_(mPX/wj ƁA2PCeA+ʌ 2G>HQ~.;fa6s5ՖPp4KD`"[6I s%lc0paEpK5׸U>oJKb0Y6OkG/QGTlMS!5I P).FM^I{Ҵq/dtM"KA[1eljMgcYιN3xjYS`Y:0h2rȭ#l.5 B%|4tz\*s [VD_Q9CKو9.֕rnYnSV7moR.Xy(K|p,U߉qdVd/BE5>^sAw>L:Xss.WbЖ"Q)VtvLsQ Ҷ m+C?Н} z }=*Pph6]5Q>>Q;k t2]W5WTt?3_XRiXFAvwMU [pi(0]LjX2P;̋eaE[8GE^mC*s] zN+6Ͷ ƍhQ+?G.!H-JtFFh%1,Osh߯혀+ |^CWhԱM DnApv~.8g5%vHF*Up 箯uFb]_Iha`n2 ZVZ μ-=CO{}[U2lz޹[[ -^Chn:H X4c:VZyYQ3&:nI#딙&kCV7 zϵS4 knsTҺK[J݆Yس{ǖ}u ΀OkWضPk='ձrq=_ﻜxol@y9|擁U<n39h-G7jS}J9 ̻gz ^g5,{zNtGKdˤӾ,z@C'7^Wi$$J|Ox`ݒ_}ȻT}Ž섶v 9Ȥ!ʖuN,{cW書Z7~apEc],aL qPI?$.ȑon<:1rriy'9Wg^la)8ݚϒ_G6 so:Dh\2 xT!/믄4h`:na$ގ,ru9p^8i蠽 E F3d_e+ , C\?v*hwDC{:Rmh9po*)F#G羙5{1sj8v#mkMG^u^^|17y-GH=e܅ ٣ M̽)EZdǤ[;*C]T|Jザ>n9uV'ƍ}bV]Q$ls>:}Qq3OB:R]ʒCF"J"xj i`Iisv,׬bv*{*I{R*j#/Ęӛ}Sq'zzBg[K}67IF]Q&oTl7}C({{Ⱦ*Ղք 7-x ADf]D6"_%_Q9ƫ@F B0Agb0xCXxpe(|24>PLN A^;o옰0rbt(_tjpzLsFEFAN…;`m=TPk-;"}W(|ꖓYSˮtN'`fC.D'4xDŀDȞǠ.E8H73_ ^3fy{:`&@9 5$[vՃ2zK}Jq 3,9'.ˤyJф?q-' -5OtaX(}yŠGM z;mtr_rkЪpSh1\6,\M۳GU<_7ZO?;їUCل81(;w68|,UwPE<\K8\(dJAmPS$ .&!? ?@,`7jZ[%Y»usfҳPb@MMj}pU zexA0DnNӹ)8.Z]iՀ,+ۤh G5N%YIh@ -'Z*(:>sD#ܨ,ju:GTe`沓q݉s/eE4eH~~b-B_ּ48zpzgMQ# Ox 4L %IMIa>[u04.%7[QԐH; Q0`}ʏzkK䁮ѱ# #D vZ:e Pw̷yyۉ;nm//WIv@cu~VvTͼTwNYl)EAeKqT S*GQg0abs}=#]JKn[[=ǘ1bg-_J ǚDnʙOb84N0_ty[[RtO)4",6wo\Ck2M 7Z`}hQ Ӿ$RhdCU)$W'& CNBgf\R:^LIFVsXي-#4@Mg;{GmP´o_Ζ[*9lux;WWKQZP=1deTX9ٔ*R<|,09[ 5cW^# cǎ؇Ë )_C!<!vij=aJyiqԤp?), L j_On$U45NCrEy }P%)VҖf WE KT=aN2wԿI2ya%}x"~b/ia:ZS!Cs>, LL:QB~qWk1f{ EE!M]hU5Mb^q[ZC 0oBcd=֨gP1ͯiG17Ȍcl2+A{ϳ:{7Gzi1HBDU [[4~1[!F#\ #9hIeJcӡ"x5?XҺS$\SIVlIl2+F"&6NRT1qA7-,W"G 0`<| ^;7^սV6kt؋09oUe#ӿE}ekUqKBf}!\`,̥%1SY)`CXNJDC\=(x3ΰ; ˉaĊ>ZSWe[cgkI$W)<"%F #pKO/I= Y#%l}}FРikj3sgZ!qBo[?K-2rgw <8AlY,sFYSjE\$՟ƣiӳB}m0m5I!jYćC֞hm]QW(sFO%KC6W!m*GK^s@簤1l;$Mng7 <OQ5dAC|L㳆5Ǝ՘0AeHնjlĤ(J5(E1 T9$Ul+C¯3.ṛɤG $q#9AWaehd3tVmϚ,Q%%Nx2 E=h@g'ou B+~l9FҨ]c_GwO.95;Hyp<-kMq[?<˩ _sJ-'aݾr>bRcN!zn;ɜv7)sD9M%U~HJ[U_v2U ;v{䋲3>^y(.DTz\oSAتb~=\{WKGE +R1顖hvK,W2X5@NIIǪQ*@+\lwA ׊Zd֔eW'օ:k[-zHOWjgns($ "qS^_Y_n+C60Kji PBiJW1] U͚v!ժ2@uTy$ ji%']w:.7v{"$>^yJ\Ue>rUקOg>r&|$=yNJV+fHԖ|,8}R?v(mMsqhAc1o|Cf\x!\¯ ]G4'GyOh!Sߑ=2{ù;{sٜ'l=j wa&]fKzy> o?-~ Fޚ@jlQx9JW29i&-OeʳM#ַ˒F`8ՠ9=W;'nZ f~bvJxUw: OCoޕ. (4Ɂfޑ:A;f5g8Q¤)6v٥eYp wuqz)&Q;^ڂ!gڜ: 6f' k9S؟C|v&*(QyY_9EE"nYQ?lU~=*dܹrhIݎreK mtԍ [XgsŅ,n~f[dDgCz{TTkÙ硄9L}-4ÿFbyjP18za!+'[% Ԋ̘xHn4JBa >s;jcQSX?X"Q 6RB$&l#N!S0McaJs$rx,@'&S1|:`C؜Φ~ kr":;P/YΧqߏ? J{NmI,yaZwD( VU8%^\ݫI4d$Clos͕+8/OGz6\mm:ʸeiT%m]魁୧/%0')o ~y,DuaT*(R>S/X0m,MwF ˴qCMЯ\Ctc(=]@^b=NtLvAg۶fm%zZ3h?SMy4V}x+["9  Dw&IFFA([q݃d>vDwS@n)99IP4፬/#W6z0 3~ )%ZidI<6iXQլ+'d] +ԄZRf[?qw͊B aǨ,ض Z #/χ}m40U3:{뫚DgqrկnJ_ӸhTd &q3pЬJM̻2)C"wtԣlS;>:6 kҴL*򝔏_]7Wn0#/+3ԗлOr@-7†BvyP̙Xpe [)L`3N$7%& mEFsx$bUJg1jU4`Aۚ:唕}9I.ȓ BEV*SaR}[\?]P%BaukxS\RM4V dQ-Z^_>3YD%% gՃ n*:5X"lE̿4 n}U|R<$I=L+ȦE.-]U lbEYḨ1X&=7Ibi ȯ4vqZYx\`3cG!# "6t(Y}.04뇛CP \kk7+^p{zq c%rG }bדi?m)Ā=4')-jW`eō:ޱsWP]O}1S(~\>W˨F/@OvZc{g{w&?ZH[JG3ܥjdYj\NN ļ!sqeaG(17Lg 7т;y䔓hFM Gwu6a=}!2GF:7[FKdRdg).3UdS@=sT8IzFٱdm%6|dwwa?smd% 3)KGN"!0%pN sbaLRP(mz1?G-Ĺ_B0¨8m6ۆƻZM ##i,S__KGGJݏ=7̝"tq̯+}' nj+$`~_̐|C~yŬrNƳڀ9o.Ur&&.cRns{'R̰4ҖvR!f![?_d|w"g?b#o̱2$SyN>Ihs%/Kxj}) ؁q NHeOAUߗ"nCtotTj<|><'- 0_z \܆gKsw+N. ECBCі`.MyO4s=;$`G6gΗN,^jJD%d_ucUD^w Ŕ#`Bn)*?wŒ~<'.gULar$].:ɌuÞL'XaQh$@*90ܝ*+Z)*{%:S" ul#tr=I㸈S40/Gq)T_ARO"AHp9K PtW{ڼkg93gR1uT'wF@XvQvxKMa Yfe%A.@^$/6ZYQ2#mLq˝uPO}JOpZPÅisI82I27>gs"4H*9&/Zcgϸ0p.2(SjKyr))S;N21BPӲ3䈩f QyMs}vr>:7%Aʘ!m hyzjZ4&=KոЃڃ7̩1-"up"B.hqm\.B| |V4SY&̫ z o2?;أB?4ٝp}IɅvՄveS{Nǃ\<%rRތ)wET. ;-ŝSzQL8AIwvs;nS"/sK-X 1˂Ȥ./VȠRl:o$H]iob&:Ycgahrr$QTO(Zvbo]-GyCcpVisKsIR^h%LAho!654slv|R9%5PH'uaM& ww0I ʑKC>=SG=JG*E.NUtA=>=1Ͻ3v%/`\YoV.e~'4{`P>ڐn,dL^bHŐY^#i<̋^Zm}r [L gL9,bBF0@̌"sȜڐx̀%whTf{cU@fh-nǥY dw07l#,Uٓ#HfUA9wqL No{7uuX:8iu,Tu(",P޸9r&OJB* Eŀս4=Ie K'P%5@)|0OL~WI٣knJR,hf8,4$oR`=<=i c J=Nj]W+l[SRk6˰ق65mg ::ݭF%v=^onE ]4Y:3Nfdd\h,"vURH)О*i>hI)g=˜x7 c>u(Ąm~kgDA8Y]H|sp2,cK5F)qubd6*֮=䥜^xm-,o7;2>ip`ÜA? )؉l,[Ť5{f$wq*3| ]ەB8j=ݛcZ-YH$J׋\QCDj hjQ%rvږ뵑'OEf$pڋ9q%%Nm8a {^ 4Ut? KT);1Yh>Ю&sFaYZ?yG`+&&/w׉Z!6gX_EˢmLN=TFaPz9%kyOֆ33⃄XSaفݘ?vN XsRHDD0]1&jĨX&dAXh+xonǺgE:~oaZd 71=|c|wh)u^Tz :D\*o)I*p+{r}z7-5S_}ټWe'a 54sMsvuk^nRNk n6qכi=@JT0j뷨ylr]o1NYE,+ ? %1h( 5,46QP99͙=f%4fƐMyU 2C5*\FsMQ^a (}26Cftw)|8PB7njõ2Fh'zyó.!PX.%ߵ3Km,Y?sËW)v*!rm2DaoZ7-j)OkMv]QS(kawԆ!u̪`bIRwCe)UaK1r5/gYX"ˀ nkR>cؽv2ꈇt8bX-ҏyWXl9n.0;ESekw2yC4ҧ9ҧd#RJ;]swX~XI*1J#'J5Gb<%n7ƀZ8 3[n tvO8ϮKD4:aQ^̝!|9CbKuN\<0/ϿV{FӮ]BV A| HLSN>^#BtAC⑭= VyœxfFȩ U^C &xrn:ǘ[ 0I]T=gg^y_DM]Kܬ|6\ cU5ێ;5& C+wqcјN@?NnEM @FgeBDD_TRook4ŅP+)Sdyk;o˩TJE6Ch0bl|Ls魀9Xw)y>uGO:ʢY)XCׁ%ԋ,Q.mXXu'&' Y8 [n(<9fpX({t(*TSYcwRzlUWB,uV@'eXӉ]8o* \_?, 4ڹO=Z$1o*vC)*1xxh{+[}mt&/ÞֽSlI9{ʶn]aVmsK.E$u7m;b^/Th:~(C+0h#@ߵ+/]zĽ>7\2b[LlXG+ xL"iǨ!$+|?1YA+Ka-,]p20ek8!˕kd}'-cUGA]6˷$oe HhNT%z<6=;=3ϱ"m̝ȦM3Ho?3RFSݤ*lߟ3]{i6|Fzr7n)[*ߚgaTB)x!]øKFdw H" z=8 < R 馈Z0J`sjkƧ`cRs@*J@_"6Cҷ۔0_Pi,0`OX`DH,j_I8dOд/3u00M|`9MW Ø(QqkKm(|.f]%aʑh~_KRDþʄ*'Oe8Mg@P>/vnrIm$J+&j,Ul:C;{ @bF()ApLn܊W nTvFE)&]frn.PʼS o7?]o*2@ꚽsݵF Rwہ,'٭߁|0_A=Zyvnf1wvْ !yTkGs/=Ac%3\o`,ve5m`o7c5lm;ĵGC<1?;A}.@!'`(ӯx B(pdFۃ,x0DSA2"٭C*w\었 `B@PRdz2XG<)P"Hh$}c8"_@"qs.љ ) w9*jJa|7%`$*I:`neL(Hx Y5  ( H%e*naH,&\} kUEUBLBJ8胊W@i " 8\]sWȏGC\TLF]Q /gwɆ??=+s[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`a՘,,tiX`XwwgkLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5CI-xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz@YIia@0PT@At-]d]!^_ù'~wιldz$P 20qypH(SF*<QX/%-:*==*: NIH v0K6eQzJ_po/ߘ/ȁau ]]eIV(iP"Z%bB`L0*brF~EtjE_jRj޴Ӹ3w Ge= 3weA7}O5p׻8yu.x$.:6 t^x@L* @h;rP 5bB+D"4<EGFFEa/ Ȉp h >X{nFƕ5= 7=U֍UsL y+;ve Gyu9mU[.+߆BC?)8;#[7#2\R \\! vvs 55}*7؁{w읔2iTMǨG<Ǟ{'%'O:{{~Ϟ}|oT;￿/߳g~<p,~`fzq $p"^H$`FbvCEl FMGOA޾|l!RʐՀ(ț s5{=+2PSU[ުO][25crqE'g3'*bz'/j}"ۚx(Y^lYxBɦO3SLeY)L3$4> Zּӆ҉\]E:|Mù W(BE(+gSWbsҶDz &@g?r7O+ci:,MN!3*H""!QP ]bkŹMIM=ex{|*u8jqDbY&8FsaGi>w4]`OJ$D` iQQi!n@ "=4Hay!!0 8n,Y#[AVT0*6ދEtXdÕ5ߩ,xw+^Y^*:zEe(yJ̟.pg~xonKA`MaMƚI,Y)mR^N gF1>G#ԇ3}]B=$,:3К$bcvAÔo$t0[C⑑hjoNm[PF;W>GG37NJn )8K D۳AdЮRj$\FZj&+v[U5[$7Oڜ}Ɯ7 =2ܚu/*(m~GmU 4V]Dq5M-[Z?@`N sTCd5"6##&z{=zz#敗-YW*DP v`*SRr&\,~$wvrh<f{ V9(%ӑȴ%9kg!(?}c3(ya]Hj+تĠ/p5B3T`m[ rջۙXƪO0j_0T^A JrG>ww(J|9{~gͯwU?1bG[{ndZTrCB1tgqG^ 8^Y4 A& hJ_ԧ'¦ vb4z`<g,QI906(go% W9k1hAVެ*}YKA]ڬ ) Nnٺaפl鍉зsyBrMB's;㱺YEQ]K/;d[_i2N֤O󞹀.7~w EɅeO\a6"nU2j?(p}6۬"+A8p? - ~Vۖjyj̉lGMh{PX|NRC2B*nl1 `iI{etHSnxA>Χ%$&%aɉlÒI+Pf4I +2EtnKv\Ν~og)bIUX1--;FgιpDCs?ӓ*-.?5pl &|?{iNmP6ty4znO̢vJB'._z)(X[2ܷ#|C.쟞~ZsnZttmP2w; HQ 2 (!3>qudF d^C\77I^ҘQ <3Ցx C>5DB)fٞJ'̓BmcB<Z^/l%xjss\^ ;pٯҶqW1=Oo OXve5~A]e7'8&a/A,f 괼d$+?Q /,Oxc?=c_5ey7Zq#z׳O/C͚Q'tao0s7@Wv`YGx^ͤ==ܑOo/ħOC茾tBW|_,_LRV$ Bf13)^Bm{Qߦ",;8Ө9˥&"уxACrr;T8dyp8c0=#*;ʈFju!KfX?oPϸ[_?KM_]iPRK"sT)};w6dp&x'Bb$pöȱ W{Q%Og{PMwK<^%]<szp:G4Rr WQѹweS"i`um j $($ьHՆ^mL3k[3MWq\Z2@փ/fNR/Zm?o]WDP&Ff!-g+iSčJ䢅 ^>h%F7ԿMJU%mld$CRRM ÛLVG8^Y$BJeOG6^aV͉@<"JndYÈ|mX,D0\qri[aW}-F㾿^]}j} <ŝ) E"L̒y DF/uh&z&}GzaKU'ggz>{%Xd ޼;iy#feYG ryK5` bZˆw,:;Z8Vr 6T`dBB*1OFbd[ P7 ]:<¶OȹBWK=a?O[m_YG\_(cXۍ2Kiш{x߃( wG[VW_9>yiEZ_3'q cMk8 ;W_.{:5&xӊg-9wr&O I4udP=̻6.aΝ`tVY6ۘph'FBL#Oܗ?#'u9GDF0U>Bt8 oH%ݍКѣQǰL-",k){w,PeQ% ()m<īQd5[.D:)4Տ%je^HIJ{M>&P|fLOV(e4zuL5ΝO5_G-"3rFDHC1`i$Ow\ =7s8ŢzrXL6> h iIDaC#Jpν'>ڿrSD XJ$4͐ PNlXEXgS7X\,Rt]}}UTcMvx~njA@5r?Aw{Z*!5N2%yǶ=-X>l)Qˎ/#T`w̋;=yD'@9/ #DD5uvpW;u?b I-hCBR˸V]`u@ Y<SW6}DSu賏Ul;EϻE/.oڣP.HK@dV֎XZXocRiY-6+3CkBFy RH8N!e~dl.@>o nv4m R ݸUqVzM,>zjUY8Wx-A !ajh4`"?5B_o^2c]JݨpӠ=u?0ou(ke"\wd0ڤLlL?pj+`?Fk&|#1l 7h[$E ~ᏫRRfVjłI4t ^Vf,zy $f w#ֻ5!3|  ݼ낛ӛr羼:2zr̟gfvpKsKZvMNJ5GXYITkg6-E$4Σ (XB-e-~]p;X)P q_oj t.OAR2o%Yo{_b1dØ!! 224 ;\Lnpy[E +0$%rNWL,*02ACӞNƚp)MQM\ns]P]UŶ/LsjYdK ڒםGfOHϪݸ1q1,ce&ɒhfV;cM^,}FTR㢌j0k9]3w훰&ph/}^Kcmyx83@KrOkǚ)ZJl42x~#/z~WWuUrn-kCwGsW-[Y"lߗ@ AhTjxF!^;Z(h{˥-  3>jBbS(ڋdn&db(8% id}Cd%:QIz#n{WmPzW]; NNs 4˳ӦgBJ_Uq(':[-!{O"P4ħfMQ<ʭCϹNKcQ8r&,_Yc@X2┴F˺QnovzyK}*C@ƻZ@;aIΚDMwkhQƮhibGDΉ[MJZIm,?>Q+d'&5Qa7o^sƹX)_DfGCr|_KIƫ$K=cdf.iM) `ap=5-UHJ`pT&uVpwc+ )dr MGSy k#U)Xۄ'1-9m9Z<@xd+'Ǭ2]4'ha!'-B#" NGc;:;2v3`pz##37xbmIkGPt3wx7KTO8;:h5{/Q[y%P#76S>e|GqKׯ|enJح̹vfzb.Ҥ8O-IU*5L4Rvo8to?I#FMt~Iɦp;WK}_x*s+k[`j2ͳl9Ë!M;X##H5u~jGG??Vb/P," ޟc]2u ?hZN`-oLallK Rp>wkr&%ǚC:輽uk:Bx!RO|E/¹&5P'K6KeG(r%sC ^Jކ/poQ[qoP`:upHuD3L_>UX-Ič hj"A f\`=nz;u?g\~{X@ wwy ^z~wZl\sQynɶYcǧ}{XRc7_^=;zYQ`ДȖEQ3(C vڲ.Mnc qzً}7ܧw7fozcMXZ줰 >s@0Ssj5%:6b[aƨȈH'~`q+AH"wk\bĔO =^|z QU)PөtFn! TF,;Pq([_{N+-11aA+׮-/kt_]͉ߨjoAPy{!܏jն{<ݖ:ݵzƵgi|S?"@%Fu doo`s@ cF즍8$3b7M9J$EL2zjBxehhtgoa}flȼ\%)/x輔 y4TmРtY,&D*eDB!kGE?Xq1%B(>֏ mcpF 躑ۏBLn? v;%u R? "i^coRa3IB.NJ2 h 5ASv`lrHRO{wە8(<;5Y99U]5:q p~2e\߽濰*eC4-eU]fd b?qfa&QOiY[ ego+=hfn\jr27ߜZ=lfv)^rY$vv"X h;gĽEmbݔqV#739GF|1T_`=D#С6˩Ҧy.ȌߜzgxE*cFT'4%M~ JA;0RpvV5^.싰_vVrDg;)9 [cfʌ'/Nni*ίX|攱c*o`__YQʫ3wz2.eqرKGG?Cvx !lRh&ϙ9uSeps\p*:u&\%4hT&p4r>3bru&g (o,jo!Ψ4 9%62-JAVoJ~KÊDH릮^NeѕobXqtVE.=a>ÝL$rScLwtS)@07d2 <ֵ+NNr7M(>%8dj}Y6BC1\|H8XAe>y# H"c jàJ#B sI^-+%YTzb"k OG\ /y4&tN혷1N?cz~LS=Ǐd[O qwDb;eO"fPhg4@%trӹF4\^,s3\ᯄ[ {^r\|@Urq((J!5Ie"О;#&8:F(ӽjF7;VF\܁:{*>ır [9j8˝U+C n*/, Pɕ/ۦd3azZ!W~+kq&=uw3f="Tl/R+ﭔiƯ/\':U d"dJԺP.qȄܘj< tX)o5\]y7aS`,N49Y^cl:>:j5tݑn=.N.Wvo0~X _ZFD$퉢AK93B|+1wѿN2xo@>ߏLӀ|&&R_!RkQf@rýH#ĵ84}e_'2;{epY'Ȍ1}h?iP¦DYNۓ\DAЛD /R%1qm\)tn|#\+{˿R%inY?a]9x0JIon[״$nqʪ^_rӰ"e%ǯeU+%]GS[R~eX%uw3^Y2xL32LӀ1!b#@e)-(H G,?eyI~Z~ BV, Zr:>;zͫ8c#N Ī2M=W\׎;RiɪM¶47[mS#߫rV?^r*G-63s򅥓fDLhH35nJ\f}]yK.JfU΋ N4nҰsh1U$9"kEFMMԑf 6L̊YA5wRtzrqc*?{J 7FZ"}5dh9x`DKQF+J gf܏L(ȰQ 2 }e`LKؘizØv~օOLNI*F >gr)$< -"mXG5L!sI`Ґj,DOidRfѷćL*F"F? =Cڲ~}Ҧe?R<65tE,W};6>g5 wD-$uƭ_p7V|X/W^"0ϾzI{F\~5{VmJw7cXV<36M0Ƶ{&ٿL3ݏL(Ȱd@{jT'/AA ãDwu鮐p7\-p* +&%+sĝlA^!y+=W'-zH"?Q5 (*'4dآ݈#.EƳ^{##􃄦G?\іY2:XQtTDyDaL3TBIb;њ0t`oTRz}Uٲn? iN\w7hVVuF!CJdi q 6W9f4D3fӆ)uN$RpX(|z7eX\xL*}Q+p<)Zx#ƅxpȻBͨn\۩8BI(M4ʙY1=m_?\soOz)IDZ'}>%I}oI{$r}ֿEV^ވG>* .0#QO:<9_WN /fT(3}E){Po?bKFs( ^g\'E)p@m8'*N7QqplO9>88mboxNWq= h;^!uADJ9rچzX_JFP#7EIH _@;щ̬&|mD|'O25Dn=q&#zLL[3ﱋ K!\S(wE2g9OVq*lspsl|pF8U,p~&iF=}BNN(j t!!Q}x(-ɇo061:+~ғ:͇ětAyqsr<^3&oJJvq8>L_8V^K9ꄾr|Df;UC_%)x$y  Nec0^_3Yũ7GTpg*NN1N8Hm.IΡޡ imP kxb|1!$^bh_ݳi'2L{,~S6hOkxb_ш\E,$BHe<<":Qj{7(ӞL{ɂe俽apè]S x!!xx(ܳxF?|ph^3$2l^mɄ3F8nmGǸW ooH<wVSjjٴNe7tO+R90&dsCҎOq$uGrHػbQ,xP%7 ]!EZq? Ohxk܆OU+2-"Q?dGW9x7<[5{nmǤيw#+>:޳CT@raS˕{HFSsg߆022y:n0@! kёc _zQO>>\~[Yؾd!.M2W7 j("b޾xi/^} 7(GttU3^2t Wgٛ4cAF ^(Gkr㇜tެPdC<~Df?aŁ2>! .̟^tO8Td7%w"K«S%>M!<`qWxڝE_k]#"y3PCiF7y}X[CXN>&hQ|Je``vxNբfܫC d~fժO _:7 FM][ l}Av"U?PAd4}UJp"p8C@Fӯ=}str|0)_AVȰ0ix- xE0rFU1K~Fu#;i\}닄nQ?4[9Ɓ qq{}5y^}A7꽅7B<&_"P6sd$!L G9UCw[j?:QFizzG W-7sO;pUK9v3/f{MΚՖ_(w/LZ `:qw^w̟3t7;:ǏK\B)MWfDuWg؎Pdu:F"`yTΡ~*^9׋ѻfPjRh)TWi08 2Hi|@Uc֏~p 8yN8{ DkrD40 !zl4p'8 'e5Z>wՏx R9ȐQ-Z Q UPxo$r']'!Lj^dv$O<Iagi+~=_, !q.\ vBã@4&­&&h&a> 6ߟO:o*O{jUS-o58v\UWs7"8*N%N@N8wUJ:t83 XL!99[(kX İEՊRXX B<lUD&K폱!""x7@ayNh55ޜ'I) F`|'y +f&K>FFULq\m Nd:: 1L De`r҂ 8& Q3N=SM_o`=)KSPA ~K0nO@jsp쿕Il"s{`.b7~$v") oىܰM50U1csa#F_{bް:q,۽I‰ k>QIޡf6SE/Fu`z L;{B9CcRª뫰kqÃBê_V{P>x'V_r儫E|礂G6nЄEzP #D%%%##R z m8׌4 x:hvnAnQV`Z |~ ɟռxf{&*r1>Y@g9L\;hT!j㤦9S33G7KOWE'%a2\:}h^~G _ۥKdXn m1}Lޠ19U2)p)iIPc IN-*Q4pЊ`iNg%h~_AW>euTkaJJaq͋~xny;1yw^ٳ:-sJBh>()g -wT Ggjx_zxxV7/ǵ$SKMCBeXX_ Jy5)u%a߿DѵU_oQ]ogLٱa2ꩶOxaQa/L=aY騤fںe.c\. /00PRdq~d08%*N r@TGT?"KPVtكQwǟ_ˏ>AUb'<z^¨v5E5LQBvcYɧK.ߌr/jbV|.gy>4}vGuwCU'Q ѶpV7"Ӧ\p1׽YEaI\0٧/U/G} u:JauMm>97ƆSG.zՐG*;uxWx)lgw*`LI.9v<.I=? z>'{n6 "#+A$cͽy g?',.$Xw7F-FvExP4q!p 9p”<VD@гNQ) jIБهS| ]/v%7TO?oG# 2Q]N"JNNS_.^r$"^D7 ~ BX^סA6A:vƌFHV/-x#Q!կs9ry{Ba:>})X9 {>>zi~I7ua\찢-ճZc{^XA/衤^%Eڎ;VGo8c3N}\5$W :. W hvMcPN`t\~f0 WuQ?WM,`Bct2;bS;rCEVU3FdDQ KJW_ {@PG{Y|Э&#s9G(^\saƹ-&/e1(3M;39^ˣYg@Lv! %" &!;nָ(Y;)9 F 1S*F 7 qkP 9kk<=S b/qQ1fd8dC"wJZ+]/ :7+_fK]^ytɟ6tR0k)ZGE~9LwA$[`PɬɩlpznKyn^UhJ -פ YtU}zP`n+ogN?D-4F|[">)7>ӟޚ7X%W|wne9(Sè[uj+J&&xMm%7X:X%nZΙ`MmNJG.-4L3'z`,Mlq7,f#zCBt+I,>k*IyŁ<=R;.u{[/Py٣rpSEGC} {1'sBEaQ``ilnnjYYk8GG#⋞)퓏#yG٪ 4Nur m,qz'`ʎr%UK] /+]ȄLVWw7Q:kYƤ7ēbl!i!>>E++G맟HMJH5pfIm) 6pR6sd1˽>NũA-GZj`fp@iR&,MQP!b2ZۡQ24ĬFz}i4<=$ t*E3. F0dӀ,GnrjOL$9gnV|a\c/v=vY';'qW2lPʧ,o$D}UlqLw%Xkl8rtG;S[QQ[]^?ۼ}O:}^zlwWO7`d^Reŋզ}.4QȢ>oe4nM'3aPMBtUV{.RvQqy[|_2B.F;lP$i}3zKGH]7XutY9zdC1n& (T om)w!V.8W8[ʫ{5jy4}.ߵjE&x?B݇)0MD(XdvT ) %&R-ӨfڈxQ`2:'u&דkiך+G,.Z-y!1k##C-q(j O;D:Ųrk'X]L9R%Sr'/~pv}XH5GF#fcW/_s} ̯7'N̯yf~mx+`A=_=$Qmf}bY_mdRCxO^t/Y_VKpz枼xi;$~El_faڴwޗuy!Y0S]ZL@1[ ES ةxW_{OELoO:ºu4+z5}HY눰%*j?}5ޟsK{ 6uȔq4`q/Cpߗշ'۫Ed{ zʗglsiW=k&'^lz}0`85qbHJg|.;'^e3:se•qklƇx.MB,BpzJ ~.;/^a3>dJI*9%f|($%Ķf|(Qs҃9oK"uEOr ̝:rb~PEZ& 7?2RqD7;ߌC;'{F6l7>6׿]J?^r<9k~i5ܣ{=CG~Ax„ajU/Bv&_< w&Q bxc`d`s9M8EP.xڍX;7&mm۶mڶm[X;e _W} |B4w78z'ډ\MA-AzRK Ch_ c9KJskoDu >: .#YE3_xI8kv`w{蝩eXa8&-AW[0֒k1}βOs %쁶iKа+ BKyA~S\hqx46syҐL g;Šx?QʢQu̐l}2Ӿ&{8[xlTh%Ky! AԏF*>ds0B+~ b®z׾ԇ,T^F^3֪zYUmg ëLTuKg'sR7SR}ه7^Sj>Q͈r*8+_u~^ySyy>f߉0ݖgV?!?@^ufRsqPjfȯ#UͺMk^oxo]Kה[8ExhFȃtZ;{h]cp9Zn!gS8afpgԋ3 m h%iĻghAE(]EP7X).LJ-X~=Q{}C@ <ܞVԧlZgHQr يW u_%YeQӻhNmy:4))zW͑/ρ]kLP4^hŬӎsS:h؛G<'B~ +j<gkY)#7GѤXt#zE.E+Nz$'4K8-H/ @S  H@ƠyhڂKIl>x^WOYr۶YצVm۶m۶m۶m.'s>W˵s|b>+yʗmx~K+BB-fm!@$X^l({ŹJqxOJ(edɔbRE^,Sye].,W[ʇjh`1  0+O[ !9:,>8K㺸='6J %*J5eI9QZ_'D6Jnk8zn5vQXg&2K,ʒ_Yxv;m NR39qn8?n7[ҭ6tcso7[mxg;/OA m?PX$h &43GIt6]Bmt?=A/[1}D+GEY:,h6ezdev=eocF??!_/x}LQ17f7Րm/l5YaVfvξ|>@%yE{0̽r bWnj\Πoʸjߕqk(h\)^dܠЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-500.woff2000077500000000000000000000532501511656052100352400ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2VVAN f`?STATZP|  Z *6$P  6tza~>2Kv ǐ$;REQ %ÝfCVڎeɭO`츥ܑ̔q_Jnzt**yA!(!5bā,o3zO4?ٲwzHzoű#Ȇͯ%9ֻ~O9gb7g$bX9g466F䌵٬J{.ޝ[ݛ|{a7* 6չM{:X`6bDJH VbĚ9eX+W\}{/$>+DWҕ5[ 97nr@\(k䯻1U-% OȄCnwSW{P_4vy !}[ Gґ+&':{%C@zN~NX;ZDI4\Ӻ - o.) W 2`JR-ʫ$rC]󆶯*Ey"*'MDU ho&oJ tpȁlvΣnqI35mgXby'𑢨 ɊwNu֥?;;3!w$x@O'Az @bH9;+ݻh]4.:׽{[h8).",˼*)(KwX4k@;;-zO=n;z[H0mIf A=fuKxd?lp;_1ԱRiJ0cqBu׸[jXj7b0Zrz^.UiM;bH-m"̻yQ 0``RB:us)^[>' w2@JJ5kݣ`#t~ !dB5W,kn*^$i [?~tCѻsiQ kWDxM3 YQGcϰvE^/K @į $G0=;H51 ! L<RGQ_ԅ 7Ȑ H㑒$&OH2.骁(m`/{=H%WnsjOuDp#yb>"YqO&qhXky ]>']-q7e [i剝 J.G)*V :x˒tV r>CE4FGZ|AYvd$Ϛ{*̺/K>I:& yp\빽ɉ4eBkhƖ8F`zNNGZ9%AahѧX,xW}?F|?(%kΏ$ݑ&6ɕK9NbXK |+Am5aAuGSɍJp6jGYBuJRfee Zn7t0wD' ,X8*hii" GZ"BH œaMni YzRARs w2CYo^`5 d̶Gh3eNkOqe#v-p e+2xR>->{u, {ǟ a(ۺ$ϸa?D0k1Of-g=3f1ړ4b}.UNODO#xHdH.Ũ _ƩQ8l1- fw y|Q"nD#UCL44SL*d:t~EkMUd#SZ ꈊ)sHunV%V0_Z9U0_Y M/x-LoRrmXcb.VQmhf`W= bRƒ= wr>d_/4iM?.:n Q lK+qxUq, i&K#^FxbW.c?~za)ʟZu39j/y)[5?5nd/-|=긶!|}-J Ԙ<ڞkwSc5`WzxXDI={$EL *]gM `p|Tm7j'"H1򤇳qyvlFc'Yp/r%De@;9ۭI!r"1L1[x,X9v:kӋ/,:-c/ C5*Ud 8@VuHNGaU!l#pz5Le3qiT:“-e([&0?ʃ.8dY1$/ b:]1+-=HXDɭCXF>; _q^(=2OQomx(vvE4(LwM7u ו 8Kd_Oa]b\Fs \>CO%c3W>=-.nK2tP8ʬfA:83O۔M蚦+Ks/9i),%,C,$@tNO-~DZDI|^AiCڒ)"]ЭX pIxN?0x8ȠALB`xq]"*$͔*$MI x<ڔ$i^(d=z]>@[*oZZ6U$w9YyiɅ v {;*PT0:3%4t)rl=/8F+BMi%TN NJX3ݤ 0v>)>=Ъb1RDܘ9{$쿎GՖMTtsP1nfh}R{cxFPˢAe7](ߥiM%v8Yᶝ|POG{ I2Elva<=GCN&ZeS l"CscpYk!e+lD`kԱ;X=+6O=b42aɘ=)r!{H Ң'UKYBͩ $3M)ɋs6*ևĬYJ=v~?IJ&7 {~t3a!X@"Ie4pԾ ²;k;5qg)ä'NyĠ`M ߏ',#ÑYkU=g7~}qi輲쑳 +A˂@ :M@a>SnSX';Wa^sޠ4W,2Kg^T!Ì 7hYܝ Y!G76>`fXo8H >=-CfK 8kW3;h97xE0 eb/ٻR2 9z /6p9zp[OFcroT8e`}$y;2Vٍ@EdW퇓m'Zt/ª_2UD̴]-Tلlɘ=vs<ν \'3y@J-"b@-izz gE?~@Rt7i}'T4 h)Pe%$W* ji鵔9x oMVCi,CoٌN[ A MN͍q6|&pnc8yCȦ[[^`M10P?dt*?~6EAO&EBF׹c]tn3T$l|N>ao.)Y Z; 1i/'sR=[J~[y+Cxf2٥mxf;|Q*t%4х(Ðnz[3;R(ť@_8[%M3HDM-^~Ԕy!egπ[5"\v8S^6v~ˡ!س'3܆#p}9Yh|epߨcF2̤ Qa}`VK+Sx$U(常Z!N,T[Լ0 G< Pd!1MB.Z5&-B?3C[, FGL`ae/W(V*2%ڤ#zhg*_dH !z- Rhʱ ] FvC!D*!z!8DO@yVbUIU)AU ]E1Go^ߟ 53z|h/$,;f] + j r\$5ߩ;u5"x-f\K/2M`F)x ^`TsŒC.1xɖPG|JUOVjËQIU6ۻ1xl{`:4VۈKhCA'Td&FA=(MIFֈq0囝РhP'E ROŗq~;fKfOzO&|1 (ىh àH*i<˛ئ!\杗 Z>ûyN $%:F|ԷqBm- } h#uqhkH[>N]>%#~MZAC28z\>=0\"brD ' L6ը UC>[w!S?; ɼ0њ!C~gǽ>|LO MvSOSx"N?yTiX䈺ȱ?x'Il1Ibi uRYd2r)\a+:tȳnRO^/dGJb%Kd&9!B5V&>'mh2M(CbTI2A$ǂ ׂ%+[C=6$eZ`r'dr5tW[JEyer*5dEVSY.q1~>Eۍ"_-0@981M MOmt98pH]Z5-#lM}^^mu#LuTZsvkcc朦IIžyDR[OX(v: ͖-UsR:?tHDV`zFde7ŭ-倀s'2 V"5UdujnsQSm'l&L͢>eY8dgz\1ۄf2f ̊^~ʏx*gM։`i0'rr(]׳R5WrG?Wp2Ea'>hDv#JjRE A_{mrLA ɾ^qeɏ* cUJHRt좒mf^vkD#Gr +ӫ,- *( 0H~1r+)B] +&2>{50p֐SfyqRKy[ Ooeȇ O't<R6!9lۻNATВ["Gȸ/N"J-:UxofpV\ad"OcxբbD3 م}p/I@ix\_b('Gف4NBhu͞_n?\l嬸GYap$T\#K f;zV1c|)q26M;ﻮ\$GKԜջ~ ,xZ~˫ekkV׈3l|h6,89ntLvWjWQsŗ|'ViKb$d #RFB<)_3~>_Wk埫쥾V0 iOlggYLk ipLeL oaoiۚp3͸/_y(a0*`Gn*h(~ŏ͎yɗ>vU|nާT}}c` ೎f}=iyzTϜ{h(ZUWef:/r$eff\ܭ7MzGF?xS`e#oM:.K\8cxsR7;|ǝK޼PGyCsRYfj>/w3.NyvŁOZ+'ZeZA#H) tua tE1'6t[ӣS2RҼ'%VݒY/|}sׅSn"mk} [G["ӳ ] G'2-M$ y\PʊKd%!NC0hR/aY|5Qiʕ-lpLS & K&%Ć#cP6oͿ1◫_"]4#!kxb`J(4eO>2Q. YxFitHq6cD:DVfĜPÖbb/z1ӏc|1?{מrtZssbR-bTFOE+)k$85'sE%'(5Z4AI|Khd?W}?5T+R.]A6w9ij{Yz<[_V=I :BY'>ĺ{cw^l*U5뢁.Qg&fizbOqD~?pvԣcن +w$ʳc6$;Cj3=)c~Y Xw=x2R¦Us[ WDC;hZF3᳜eQ-,0_)XÒ39 .Qިω >x[(<25? ,Rc|n&R;b,LE+ VEYEN8""Bɸ델~vDM")\mYK;ХoI;)fr +'SF.{ܭ;W+fuv|vu^ Th1K"넡{:n-;{sqrUM?( *9Zwipң97"dף榼m> XRT(CT)X2"x7[ډ]M? z)[@\ljOȯɗ`T=nR8Oruvp8?`1 d7>$aтcڿ)GΊ 2e3PR%JsCb2"ڈQ{+X.jZPM M4t&(1iƜ,@VvR*(;ɍ{~WRkֳSpsTݡ\`f ޙ%:-KQ[+ީoꚹGξX[ҊǸ%q$08}ar%&)*,,J}H`:HGp)\75ەM,8溨l ƛF{7MؘI՛h5a5-l*@rdfz,L땜` R=lZw?M|P=/@D|\|A\53#3+%X @v݆-?"Ue%É;t\Z[^aǞavf~%_+x)D ,8HzGQSwkoX0iZl znȧS$;{8@S,?{asm氠F]bfX*KSGy34'fOpgruuQ. / %`>1Ⴟ\u#gLU{²ce O[e3ꀞhn59MCH"7Ho{F=36~چ|"BEy:8II#6X#Ie8lHzH BHH$*IՈG0ci!0K}X\FGD!)4.B$#ȣ{V)#ffNQֽ!:^dW6`Iɜ5|v}y?/W)bafY,0N)t&(bSBq!ZFPpz& kn@fd h7N؅!np]EM6dl޸ӧzsG^4Yۺti#3,Ia&OKKaBrP5߿QYNQ2a&%c!HAZ@z,@ғD( Vi;cURtU7ϚR"l]iGàdڏ XGUpE#1XNOQ|cډ(%b1m,N!E39%n,%E!1 HF`Fy7ND[>)r,pޣ75ʃ//?/^f^̎表D'ΎyT$(DfTjW.RaċpdC2B///j֓@EtU-*~Xnk=[HWq) JřcQ}EWji xTS."洆 n<崽 Y;}Pb=;Ḣk4<ϮN0,nDYZUYx=̔񍝍s)-*9ͦќǭ'Wtv6O<̤fkM=A.͊+`sgLfUaGb2(ȅl|(232g7a6z"ìIM~LjܖN[voxYP7w߅}ݠT@  _ZXXZKўogF:#JLլ̗R-ͦE^G z)2B'4&rۜw3'Y| 9#Dp}- .fsQx2^LoTՕ*[2v(z1K8r/a^T4sVVb-vhAAVͣ^sJJIx}V`/;W!S5Dk<XQ=LnR[oެud=EtG\ػ[l5pכQa@V1ĨN'] .׮<E6 O⭭hF 9ۛ(("jsH<9OaaC/5+WsSsx6ߩ+|/M2Bay:1¥ (0jk .26=eypX&KXjXs2['^uY$kĠmT V ɚia4 %im=c"fA}Ƽ:ۓW=X88^]9<{V Vۄ~k%sǽ_ oR; SH.'seؓWAמ٢o܊]G%N0&=bur= L= ;B!N#oy yHdPYe^D/dxpo~`?9"ɳY Ld2D0,TZ}j1ERud7u-Gv7tvOwR@p{Y BHUƭ[ӷZoi{87OI]%_\.5<O m[l\ՌNi?KwCx ܋b=|DU%sNZz9gh!$P22n[;G5sr$ u ?k Uwc~_TހLcۙro|`Ъقv>"kՈˣr%L8v6.K(>vZ~ t?~w@X;f`ZLΨt>:zɣ'g|N:qlJOF'c6jm+6zlGn"vie p%;̗Mlv!Y+mYw߷Ԃp挷 h$Z}VSᤧԘT^F>h`da-XX2eNƆ*9{C =<{i&}1_N4HXO" %8mt9DIr vdj 7ĜVwN/V. KK|yL8\x}׫FX hݼnZUM%zF6ߖkvbs\T FAPI&7km?@`[mz&p옒R3{KLbUuBy̆4*!2:%y1;}N|j:]h'\y=ݏD0ϝ?L,C4G%5;^fEaj'f={F2RR$nȐJa h*(;I(. *S.G( XUZ ˮ` LsR|?FL&:Zbju+2[h&SnnAңlCɩwz$]}OH<19DW ha.dJ[EW^gOrOSߐ>tg֮Ӯ[cۧp98[<$oDO򜒼[7ER 4raMߨG.zmHX[v*e8NQ˅}_L5M7`GMYMuS A 1(n7tHp/ -,!O;J,SNzUMNr3O5BjQo?vvf͓֙NgZWH<;n&ʝ¾eFBC] hrD}~H.A}A[)@N6O`ͶayL}SGC[F@qDŽ$ Iw=GP6*KQ[NY)q.ZvTP]c?-B/ 'JJyrG}s&A/;ˠcCΌft zޥgZ7AgF3:=Sҳl@ygo)lızsO}Ԕo- ]3'˧,~ƨ!Kw>&16rwAs?OHad[g_F5i V]c k4!(Gf8|Sf:hX鷀EP~DEmGA^8?Cd*`=eR|o$yTYG,tc|<oaniHw"bNDIі1v qKR AηJLbXEMG[4$׭ސN@Q^f~&?W%I?J8$'FX_i߈d]L6:~Wnqбd˪$@С6< $߀+|# (wz7{SM q6<6!LɞSH#\X)0 Lʕ,4|[W6hb̦tPpd;CL'@X%|j†Օ~u4D3Z>XoDЕau &2aY9)jCǛ  w_|Vc`W=Es"u-Eiyk2mc [hIml"x 7kat٫pcӞq;GL>I@T7^2&0`0sFԢU댗A4[Uh2(ؖQ7+m6 d;-S5c{m$6*ڧN>O= 9ğCo΀dMxn庾)cXu/k hթoSj#<}++OXi FdR/hxG$ M.'hJQsib|e ʑwU0V]قPeKw8L!uvQK^sid )F8YTߔG[HvWfjiZ6eګƪ'vy[`I8wiQX 3.zчy1r4g)-2MAۘY,.6gE Gv+c-x]O˱RSJcc]lwȃf͹"B?k]wJ}heX}k OcY,(漨 lk|]zInBp>VTp EwEP+B4z}%x,L7c ~:40QRU,;W 1Q~R; LR{E8:ۺZ碪fFEQjX+2V !f1Y ^twMlC縉9(x['e)v$ޤH l0cf;VwnU忇]&k`` $aկW?N[ie8 ixƝ%HCoa)>r (c_o\JyqjǓja2wT\ ۷YB.L;-o?r%p|1L9!'*OV]S AxUaFc D%ֈ2~6umIΉZjǝ{0| #uwơ0=EI#oM3 r- YM8>\7]0'> |q[p :#t`aU÷"FiUip_*SRQ gg[F^uIrRf1 ao*6k,$. A:IHoKR6ǖt< F~'Itd!` ` q@tdG8/AsnΞ޿,Ϩ%8w$B֑$r0]Q1!b2  Dc@ EB h(AqЏhrpђ 1gI dƴkH{UqaO~H}T%7R6Aƭ$ 4+P7!~pQ^1PЫJސD=F w:1co. $:0Vu #FQ>]2O9f!5vc`%$RO( ;q Ψ`# \]B>H0)p^1OE+pZ| ZjGH 9$Dւq3$6͈ 0 ݀[] ְ}o7#2v3X }3$w3dz3xB} H]ΛA$DT.Oa/aG2)F1 GeH$" ~l2񕊘6dH.UږTDN"%eMb$p8H>3"zmLѱyG˫u \đA"CXAqRmtf8ANUΏBsC+͗]|:R](ZYڎӾ8BIjYEEbw @x{Sƨ`ax!k<-UБ1p Te7PQQϡhދZҊ7E D;m&*ϻ\Y̲2CIj&?v[Y vA-U"{+Zr`,mdoBR#H2 nlM ``F r=^# Ջ"1_*PdgH%86!*4ʹXIXEcү2FHxa]ջU8(kt7\T>:8t7N7g~6RV"h~)%1tC_OD8'ٵ̽'=K"]򫠞MCi=:Nopen-sans-v34-latin-ext-500italic.woff000077500000000000000000000713201511656052100363420ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFrPGDEF#!GPOS4S]Y\GSUB1$OS/2 U`s%STAT CV^@cmap XHKcvt 8IGfpgm Zgaspd#glyftRxKheadg466^4hheagl#$\hmtxgprlocak vmaxpo nameo89Jzopostpt 2preppB3)x 5RD31n^ωn m/]! I'e!ٔ"LTXHfÌ"9Es1qgw&M*@E^Q-MG~X~R~N~Q~Y~M[!ґ!" 1*zx< 0 A߶m۶m۶m۶m۶ms8AHpjnмE:Z7E뙬aڭiM/B1?v&tbgX-O&A{;mGBpkF(pH#@@ZMWUn.rK{5g ߝI;UM>3sP͡0G]CjHˉ9e39=g97FY5>7ܑ;JI}/΃y$l^u絼Q>Q]~_1d$YbJ|I*%dRXJJy*4YzJ*ω2 -;e>(\r_k(mkf lר[jrM5עZZ+jupT?[jwKm]:V'L/ ]un׽zXOy>׷{ԇvH41ngmm۶m۶m۶m۶m%}2L,Đx|ޥdΣIJZI`3TyB=ywa̖yKѷ؊OxL=<ػx6cWV}Hl`.>ugrfwؙh9ǧ>c=.:|[BN+?j>WffgO\Nə٩>yuv<'Kۖz傝jo.P6 gkQEf]j&N'Iũ^Rfu֔Nڐaw ?N=gxY"hgcwyEf{bK} ?^GNA)vl'}g0z:1zѵ2keaDzH3xb`d``b`b`uq a\Yhs0_T۶m|Ơjڶm߼ v/٥ک}fl7RϱLe. YA6#NEn{ŋuPٞݺ]>z% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a bjr}Y aY#I H`=b ߝ_޿+81u300ɱxnR ,`xāP{$ DMR>-DLx\u*:EP2!s^D!atOxڝDCQ IPT!*Re "UDhai%"!PY)šL1-)U(5#sil>F  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|ZX;3@$DZ܊)N[R BeFu+٭tܶ%w d˳Ñ |[x1sܭB I 6,$j2DDJ&EGŘrw tLhmK0[1(C81Hc  xH1"@QjxS<(r" e_zbXKED|>OIbܦ͋3\]#Gw'"$՘R5qԴijB ?3g ]}/k\̼`qq b~c;@vp)A; 0T ?")WLcf,.2DQRWf0݁qnHYG i81M4|Ew LѴ4~KGԞN|mmʬt֜53$5&$}]2_yEg ֫zLG@'f9V*t砃(h 0؞?S[KwLcinilξ8Ph Fm/0bBoL&'1Ȥ_To_24׭/0|]" 9&?x@]n*02'Ol4DdkyvX;bdscc;jv,\XW޳?'C 0Ej9)w查Dz9Ǐ"Q6Q}#D߬=>A}DcvL0^xmQXlLi7(0bd @rQ%nN ñ?9"ܱ LrOȳ1g.'?4Q$gg%W6\2t**5T^SgNWȘUږHy^հm$p*Fb@KCK1IHLuBn<B!4fQZpMiJ >&15zV[Wj9k Uw6̪wAc>,2L Dz%8hSXhGh4f)4iEQ-}dU!euzݖ9u rge3O,+e`ܮ؃ڼ9ͩMOuzlesλ aV !(U N6d3š:! dWQxW~tDuJ@IⅉE7P`pTtʤ FGN89BG "=!g[GÆV[&-/Y|źs4@thlLCƂ $ʓL7߹TskKMЦ8;2,A>l&X96@bȄ^R4'EFc۵:MyuEޮW$g^~`ܾ % YG!΢1x?_5];r{DjܮMp21?6+I9UDFvtjX#=3xێ;}fRL|ᬓyXŁJb$<)!ՅӸ5 ̐hO՞^l, アz}i=nXn1Ԥn)^UǨ*Y֮KCUy 5֌wn^W;k}JՅYM斌(d "0sZ:"H.FkSE )u+ (4e=_(w0lű־3uڜ+N[A`LG;!u=ux+;2 4$/Jt a>#[1'L {v~̀J8xxiqȄNQV6{QEF!g!BLI.h$s!EzFD\w`%?eֆ'6h"M\yMYC(~ClcCS珔Tb07 )щLQh%1>BWHe&vj50B@/$_ɸ|RZ -<`4 L3g.Bua^ >:ˣ;)R7qM2YLuC/w^3{w+_ӀkW,^sw1cewLs;SNV6 %y~O 3ձTw*/,9;^\z '*枕 OXz9O#$x^ Z)Y0WNq'?fm#˯j3>swt/Zs＀Bh#(<>#0#UhnPO:\ .cfaOJS[@g*$F|־oJEJ0g'L7VB0 yT]3 ~aOs6뎕?ٲъ#r"f2/ ȀO7BNDr=q!)oG=4谤D^wܺE ؏30 nN(" ``<,+uSNfdbS?UIC9n sw8@,:wSuhx1#y"hQsc QnY>J>c~9: N|[lKtAbriR,;"ruLf8؝WDܧ n\c'?b[Ki`Qߑz|Om_WK9Ûg7/Ƕn{kf\ACާ@0aL!:fݡWˎkэ˟jZ=xwܢgV]؅eުp%G%H]0w q`ľ.?,sxTު`\̀? C+b3XS G(XDq"}o#{jk3s-W1f-hH8Db^VS$H0?a:EUPzL"{H07t/'2>4=0{i9fT >W͆('uf$"Y;}|yla{vlbbouU$vPnmOǍY6*zjbiH%G&R45=3yډf;5ahOd{WŞW+y4xn&nܙ@E{=P! KoS8}n$-|&ҡ#NT4q$y흧#/y8A)=$CƋ m%G-XKv ~a:Ag<H,ӝ168`azZ`Sjĭ섁8԰[~`CGg [Rgeɚ6ItK7kÛcRȈ/VWg''/eH.83kBJXbK4:U9^fr^+j0wk| }VQ9 z:ɀ٭\kzP%F<ȅ,,NXUT2 r9-8"ĝ2LDuSl"S4 HFYـMq3Caw$B,/}uTo悔 XyW*Y^DԷh$:ZaCEQ'v%.%j,nldso{rPFKveycq$pOAx~)$b O,N-o [nV]T>Db/%J7&öf(c `E '9>M{y9Ѱ[st!4RGD4l| }}eN7 9ifÆ%iVHT5uAWn(:>c8/I`6S4rExg“}#9dqf[ (XinTnN#g@G:V>e9*Dߐ1 3u/n'Cm\By_1{wofVCD%hRu"RR)HK!8hron{<O?U%}|f ϢdܶM4lJ\l=d>̪pH H SrqA dpCRk,LTzX$tc@TlM HΈn.Q& ފ\cܹ>˄ą1neF~’(/L&[1o4SRYPr6qXU2Mv03#eVΌ@{'>bLhT0b:>h$o 6QT1rKx͆9ê=ٜQ6"ok۳_0\vmcQC'-섎G*w9' "//7 FQ@(HLrFP|PIv)y~漮l%&S>#bo%N*[31ZT)bY$Mr>Gi!B{&VwʦR2ƣ(oohdh#i_h8*/^UWx!+ *6@^{%+O!f0W,ݕJFŵ$;K*~ETd-"`R%jwȿu`4z%B&L.ቝ)4}+ghr|(E+USMIɯ&r0c},Ӻ'!HE~GqF^{L'Rb֕ϱv 5t[ zjbZ}iw}Eо:hy=/ΔM1ec o!dZJ c]A L YZ -^Ґ?OJCx dE)0o<<$s8Xhg_igW~8vRWD偩wOkjo&jw(=;'|,#Z4E h[  9- \Vjrf*x,1.ge9$l@y:)e.niAXm +[𑨍GGnh N]ݓQkepwk(h8;sޝunB_ |{n ߦ ~—@ @O$*w f{V G_ CZ[ׂs~vޝ^bZZ/ 6a,SYk>S'K7,l¼}象F*Z!b{y(tSh%` R{dFcвndbb#w^3Z5jHՄp[%PmNNkd ֏o2NN2mׅ732l.l ҏmZ=1 6nIIܕޕf5f*vw˅*B!I F?fve{'b+0>z$|}c> zY"vߴ΢G*b }.kͮ7@Ck߽i_qoD^  uC #T#E!lG`5\~̜kK ݅J%vkaX.P4%/*`Qg~`}aiVˁr ^bpO,ε >/tP+F/a,z%91ܔ4,$[TBȸ9_eor4hAhl4 dU-79Ôc&R!!8A H@^!Iu8-)vuQtI滗{z/B5/3ߏ_֌#;bXbƿgE_NL|ugò;R'C}'^AAztjTH-w{Qx@(0ڼdzTV@.ɖxQaD7D왈" gxpeFBҶ]l\c [LV3-*e{yJeyuix/=Q!@J(b MEC[*?0}wv3o?Bh|B 02;>֥uq#AZPB!?a4V+(nꏴaS+?::4dIiF "4x '}Pd#T r w\]Q_UjAsm[lbngA=o|@p^N]>H7~ꢋh|Z F- G@}c2#͇*+4:|qӊڥ颲 *76/ZUV[ՊBqM++ps]\ itfrFo_f:.6_Gmt z`d78"< ͟!]Cz[Rbs2Սhxn>jM [`p sxTS$j,4FV7́G@EpFu8gYZ%#91:ź78믽Fo,N ̈O`ߐԴZ+jΪ٘"C C cHmvrWU>V44 ֆuF+ʗc/3%GJr bԆrs^Z9Vp;6p~3Ҹ5O/_~݁fT:#!d>ˑ&Dk]А䥌Qd7oTfoeRPm ߽#(}e2PNWPF\  Q<:5~i] Sxfݏp0y^uV$<<y<,g]vow6#!EKwm<>Hҁ҂=)%%BorBJ(ʉNWiU! NzN}Gճt&ˇZ`s:zqO!;F~ 55SDg` Am"iF00s <~P3o1eI QPh bC`b"NWp4[hkNi:/SJ |h\ j@pT|NЂdyXV,/_J 4a6Yi1͢@M%P(<݅w0I&]D ~! P O@ɂIEL 1%p3l[ (1Z3J툼8Kd = ū|:A!A6D8E-p"^@3nuJSz̼씦@#-x-HcQx?Ϗ끯J:|Y ;tЃ![\FvF2"X12rcؑ GŘj,֋y,ק7w7wB3H-O4])kٹ au9VD= yُBJ*"xnv]*F~Vu33J.jհV1wt#<-Ddeӆ<z*:B vgќ/U*5F p81 :5Zm.OwcYXѡi9+vץpC9;4{F`/b]"=H`Wc ~yQ:uNܓ=s9ScyZ_.V gy!!!uyXOIcS'LCC %,1GGUdʙ55_6Wvd#o-5FFm[6LV 4 OO16,,J6D-# @fGH.bVNhᆫX_.) M|r4"ЩhD&$u ;i t f @5ȶ,t.WEڽ**Tb~Ģ2n&Ǧχ"CX+, SrD V4l>)KbZ䦟&!vsɡ[Wtŵ/U{V-JI(: #g )ذgaD^Mg"8|r-]"f]{覢x443J Be~8p9A̐ύIsR0: g4"G]j(>#O(@秸#, != Jh\P嘄Ɂb0Ż"KA:ϸ-, dޒE}" ئp_#H#;L&bmu $xxxg(޹͛КzqJ>]9IlXr*jܸR?N66e77k"d{ow_zsBÚup-c i#s7B+ A   kQTְevLp%G,!_/  =i (==gm&'9FN+'&++Ɣeв̜TOؙ{K?VjSSaHU*&*D,#wThGcYpQhR}g00شA4t>ؓ7p&&-DN[|'B݋@rPRQײ!6|5偆eq˷~X}UIXXEP2_LzHo$G3^Ґ]F4G= gI %u-e?|dAhLؔZoNjF$y,0E9F:rn%^ӪSu=)M6"aKNiN|w;P0GL'꣚fߎH`)+ V2d4YN{O &O1W ϧ=X>@ QhOϢr%ϲ`V&z_(efz\9{_I/40L;,MN\vtΥRB:;…\5)ZSp%;G9.C,GMHɛ4vKi*N NSQJ+mzFTxcЮɄ` Ղ8Đ{due}ln{`ɮȺM+ T.UB΅?L-EWYR 5w-GvC=+VoF`5zy aLͳ'̄|f7|g^)uΥRJkcapl#ˇN$@MNՋ%h0=lXH7cVG'8_ 6h~FN(=&;[P4; {^^XTS $x>Ttf=J8L%[v.R~&f¥]z W "3)7:#S\I4S);‡ '&G>&~DDI`eyC48E2GG2aݡKTHBj2raȬy - ~1KTbc'?wڽQkGE 4>b"R0Tb1"pG:]~˶5U. juFXg` Jm۫F2\]"+?1Q*^Juŵddon \8fAw~*N𤸒"<[x[1A>cQU K}*yIĉzS8qcW_0:qϥxN] ˅|fbp/"7JGd.\˩5|%TfK,?1 Cr(b:(n|>(2'GsbaMM0$c9*/%o0ŕ"Fo\@"3d )aBJcO1s`_"$rTyK# uX2F'ɛ6$h ໙B><Y3JJfX*n]Կاrt".gSv4 /r21Ԫ⒮7\F&m~޶a &dzDJ$|b̗_UL' fq=Y̩`mlt㞉4V3*!y4p'{p}L2fuZ~Iz,)_/,ۜGvr5rDO1gp{@ GhMt*ʮpx$nHC|Ct9ܝ^1jB/&F"R&qO?f.? .E 44rr1n,ߊ&DA3z kEvo:#Kxq~sv129!Kj8gOĹX>d5hO28B< 4_/^~vZ_*UjaWJ .\X-5, x>J#X;峁DžQ\,b?(q y-wuCZ_ppZAHw9BPi-[.%HVH:(yH O=m:7@p;)J!3qOAKpSv1?@$ -;j6xm$'l jU{Ev=B[BX|nύwYs@*ߩï{_$_{_q|ὒ IFJ9abuciu Jy#'|y@YKϧ|4ɶS ;O1x*|~͈i W) BCt0{<6DŽq 2T_kqmcp ‹2πIQHiRNurՂԝjʕ=+2ac~Z`"P-phI|HvY.I86*AJeW+N""3wi-ci6O,Xr>kK~s·o^1w#5o@s.pp_>Vm[L +`>TtaȎHywpW",k1 @> 1Cxj~ (޶Lu1 -ۭ]qYe޾_mO}-;o&MZf?<#N~\, ЦT[rd~80 +IU(B_ 4zKqsF̆c"7_fñi1 3R\+l}9m+ScʨflۛSg=KJŒ 7yj<Y?n "hӱ8 r-JM`rZ\sk GnG;`-˛Ǜfdbӓ?ֶqqPY_X73âȼΝ#F9"@)f5cqD!Ds醵&EF4KH<@3ꨛ$ 2Y$LH)oo"P`ĬL @a]fLӴESx ~Czu)Qꓺ>!+h59AC/;Κ,Ec8هs="9gjNImmn Ӫ m@W4b]:Q8hB'q<2;:Ԃ_F{Hdhn5,QUC6 A]~垣o'w{$B!/ѳ24Nlo\y96cH=ֶfʎT%5bNp%*M,GKʎi:m/IXYJ.Zm )'叅_-\2V!r<8dCHz iѥ9)f!uncZDa-0̬x(90*0.mPJ`t`bF ZbR5݁jqmq<=DT]R6,725ԥ 98w3{Q F 0ڔ>>*W[ppPB>#غiȚ *o! v̹h4`_/޾`'F֖-ش7#8|]qESm_t5Zz&WiOj~`wyVԺeCkwLF_txh|dQ{Ch`3|{>*|y>p'|r8 ?9uDX9eO~9ɇ:}?Nu`i=hĪYsOWW⾸x10>PA?.Ta8Z7z:u /gk^jϕ=pWz|;Vv[Vfi__;O?pkHjɠZݬBUVSSİyEY *(NQR 5̶1`%05nENߘ(U(VD$*zr-'M_:eA:J)(k_VŒo} sC?'c~Sn__Q;?0M }xjgfFGjZ'jhGCwYufgւi $BNyہ\0$: h;mnzDoҀdrrITiR!*6]czi_x 'iI(DP0AYŞ|2؟xw_\N iiwIY @p`*7V^N4<Nl ޗxԇ!éPFh~WIPK]rZYlj?L$$zx˅vh$ur>*F?sO \r[^ԟ 8cGXtk3n_`t,zgLV8yc(?-B`.he}ngNl]fOo-ӕ'dr!O Qj0_ _D~shT_>=qc-uI>}Kbsj12) ;̝)koIUq.mBjq!noK﮵G | dod0K*ʴ!"6?xAC5㵗UTcb,;7d57XX(_c̎Q޼-6w|{E;oy8ցfD5JyiWrقJ^p뇼J_vHBK)ޜ"; Ҕ+fyj5F?rpAr#g^XoPׯS7ϩק_bM&uXRGq"~R@p.%1WHyG' A\Y.vMT`8D{9jdF>Xb>%E#5vDc24l1YPtq6i3FqP%x3p-qj!~^i-[|sB7-KhsI%ϧ `pRGq_ޗ2 4:·yc EZk(y*)sⅺĢ&I ؘu$H9,y0=`yLK QI@ pX8˞xci Ζhl䟼lc"7bYCgNL<^z%8gJWOܲkDPBу#˪,t{xW+ߗ!eMAxpR\^!ZdLN*%s_dĭhk>}cgHs䬜:}Jn3u6uXH ͛ ,)/;8G[ڼSؑ7|,%ibc "Y;Qc ۷w㻚ೱՖ$ HGAM! 1Ne>trAKlG{ꂌ00VW doI~[yknƝ G(ئ]}{hw'}{.(#NGZK :FyK&ois\b/ ׭ S0jFY m^!*%p3j .rcYl:HGS jHzBDpR4HuA0eH2Se-~tcܚTco˧f_*'1W*NPRNuLlY"<*\FI.@|(JJayu:R*$aE_2{ͦj_NQ7̽F}7)1Jw)1JuJ1캳%#T"cj!aJpC{LP ABvݝOVg쥡$M1{ҼkG~{Fjl-K"('du~/'F. `ΰ8mء"dqh3@)*9p!g8'o!"s;c*9/4gDp9E DzPblD{T([\sr%i6u,?T:˱H˼\g5KB~%Z5Af,$?b7 :qevB< &߰\" x,n:/Dn%` HKDBM%gKL$#a+72Wf }2%2[P1,D9oP``9p~t4PfTaJͮGf#]!  16bVBvEE!&JW.pdq%RÊΎ5+ B j_ꪚZhFpX8,ANj. 6d$͉xdcHf%A6E=\dMw _X ITijh]QUmG$fdL,䐙wb=̩b}BVE)CVcz{0ᑙPIT݅ڵ~g$y lGQɚEffzgZR20|h8KL6u^Jf0*9Jb^QLԝo}3\hP@aBp9b_ ί< %-hҾcoON#WICmzSu?Oj#OtENZ >pm@8n`l.jv\[k+;sù/; ƓħB_< w&P" xc`d`Ϋ/2 ;`xڌ%=;əymcm۶m۶m۶mna}}CNW=NrO8 W_tEpQɼ/mԱ|iwd&;KWstyR %H2WՍ-t5~|<yP ^QV<+yO_Gysd5SnÓr=ZF7|"|ɁRh?i|M+P=+*&,B;يBnShoW{$_%Q!r3 @(yeo\a~? 7طъ7!)ǽ㫹>Y:wc߱>~H,@}2nEG6PG (\wz/1WP 'ߵfn47۽0p.nXka?]}PRQROdsJ>>JԖ7#YF;A=HE=HEq҃&C*k2]N5Vׯkmt~hfY25jmU7+}z-I!|jhFWЩ_/QeVs ]=:f?/j]3jxsh?f?jOdc7{,uq͊u}Ro=QmgKyi^53 U09g~3DŽv~{$ΠɹP0m N~dWx),'7b:Z^azyqfu~pߘ=%LC$t;uJn>'47ȭ(gF݊*zU1c&8œ}\0e$o=͔SaPw{,k{,FZyR \cJ$ȁ&icqr Mn'crȽSYat_Ά8A'zHw`ysRt!M8#F4$<xb@M7C$9ֱd۶m(m۶m[m۶;mQr"vYѝы1.V'6 'ƫgƿ'D$,l쓜|ZdGZ"uWBsБBF`5a=C"ѐO,&WdTB$IZ1i d035,Vdǰb\'/ʷwC(!L 雊RmiY:W(噪~)hVCmiM`}B߭6C12EjFK1˜e5ޙQS0CYlf3ZeY9V]kEvS9)Tv:Ag-r[=܍e yUf^gwb@AM#lg==\? ͂N`Z"nσOa":p_x6~1(BfEaEX}8# ,m$cfrmζm۶m۶mҠ"@\FM}0EX&N wƱ{8!Nsb\7ŝ<~| _OBH/2#!r<#hZZhڈvdN/f+?(iN: ]J/lr X.[c5Y|r,7gYc֚ugxf?;f{˽~w{# Y2taPx.}t6=>F!PA}hm0fBX a'pnCxOlgo}C:.\{rg4GRGwBcHq8VYc e-)-Ѡ4:{Xӹ"`\禨W1,H?c[NxKcMR9!MUUYiF"MWU.iw[ؒ~I$%PУ" XE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-500italic.woff2000077500000000000000000000564201511656052100364300ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2]\n(j`?STATV`8  `r :6$p R զ5lG+T`o=>?'7({33)iشQa 2_X 1ȴt`U)XTE"q%WHi=N{9ю=< Jm$\t_\./}$3LDF->jNP0'q_._u{bQUI"erwg@1kp  xpSy[k##9)ɥ Tz)H2T\loiYJmiE>]I)UEđ+Oݒa "Akί>)iMw11F#!yoh8A碸h c2X\VTh<S{عߘ錀},OKaFH8G!8D;H&wrVrЍC N2AB,5+-Ix&*i$W,T9Uz5IMlQK ԭوtH:!pKcկY˻]ʽ9Oq17dGZൣs:¡[53ustɓVyY@M4Bk${ڂ|px[4#(%(EQ%֣4 4+&%NTD},B7[YhA䷠5:J*;:Z{%f\-YD_\pouOuW܎uuq!0 0F͗>>L? TK5SX$TJ%urwꯥiG"IM't^H ʰ>2mLn4J#k1U՚lq9ws8/9+EaQ8 [{M6le/:1Nrs]0nv{bK|w'<#B*QZE*/:Tfe]r,roB`uM7wZʪ*~haպ^az_jkli"F5]6MH[4}Oоa uٸt֋껕~cszc!ddeҼ#X ~|cs^I}򌗀RP3ƺfR"R,$1 g1cKn9c0#n4׳,n&{9Qq[ɐk*†/=J^?AMHUHY\ e5݈d_' e;@\*LZ17(pAS@  dܔ 堩j(MFCj4&)+*yPXnV:B/E}G6u[j~K! uEAFT{Pȇթ:u=f`/$ $Uc/Z!?#zuA=jTԧ$|cC}l $ea˷΅f|?z-hO)d0HDiPE!4)BbS/&.]z,"4RF+d!={ $ty2Ò~]WSȤ飝kRHhE)L=, /!|wFQ_Abq8GE QWB?sr֍00G GMK ̠Fģ>7Cҿ (oC5%AR+r/A_3rMpJ( Ͽ/f1 C헇@u-jER"ĩxϘ+ |  I.lnDu"F6%~%cz`;)o, ͡ \ԿJ`MX T'?&s 2䍍̱}s>'j?^]JT'Xd8ctL':_+/ uJݳފQghzmfN,֘oy=G&2à4-M)i&d:"c9}j(!lm@2մr6*#]19B32uң7xTNbȠ`4C|%R/ 8]O+y.B3ϔVH$9ck' n]%uqjͧUoW%4DŌh2C;ofPmW)/HOKMINJLX_[]Y^Z\p]/m7땸\gx4{NlkrX粙t*D˒cڜd;SAaU,՛\aQWh6U /L+ΟA|C4^#QU^JDВdׁL҉ T*ęJL]V7QRiT(BU3ɍ 'EfR! 5% 5a&)Ty7@^ɉ&<#%pk3^~qc$&-L~2OU-c zYg Ņs<1}4D=9!X9Q8 TѺ B U"fǐѩNHqg4NMс^ A+|s[T ]Q %*G f64&汪cw\c^A!61$PY&΅Z֨S'Ao7q7% 8H̞(W|AYvZ!+obcLjx,@yql[%!P9x ny*I>шVU]j7ُeɆ{eiugoPi8YQ%qᒁZJP8ݽH< C[E6 7q yIz|הRB<)$KTQh3<2% ϏNs1‡Rb%pvRm”+9BRBӧ #Qn 6W w!M5eia:&Ւ)WKlS@Д QŽ0Z"\},"tE_鮔7ЕVQN]rsP EI8e/g u+N8fiA쿓+Zᅞ b U ދo+DMt"f01GN"'7=fVd<୷Bhd,[㲄 @4:`qi`ًȁ:iixk8+43ˍW0WN(S!oʀh3'kqݡ(Ԓ5Eaf0/CYM>PP A찄&ΒXsA#}Ѭ,77p>šbaZ.F-S 2(L|J5"l>bx4$bJEXD8v ]C j:REr]q߅!Y4+td4?\' ksDb}aDd@[N"4AW&^42',̺fwx?ClY0vB9OHBW?Xf v#o2-s_|T.$WW̔*nLv#0\ 0MS|IPŷ1 /WMXYCCM0(}K$m[BД~&YȆ6$d]R$%GWq?0o9(8ְ -Ď ]f#0-̳V;gD v_pI6j1RȣH9u7ͳ tmiNy1?qq^d<4c9"|di29B.%hCE)fD/ yrRl_,CR-[Zw˧",9'_ hP F#*9]9L̂e;"1(yBj|)5ȘK"2A5PZ`9#KzD`p8Y3ؗn@2ŚCF,3mD\qK;~t(KѰtWk#>d&o  m…d A n hXykU̠j˽bMK5c9cQy#(lҖ!]@˾C_1fWL*nc Y 5@&ն̮8ׂ戴"TCv,z*>kSz#vK Sto._+.Hd#,rG7ɥX y̱xx1MyR]I9*Ի Oףy/j aG]qU:12~UWӷ E8{dBR9ؽߖcRFn]?o^#v ]p(ܦX#fkN!X+e^IwTW@@G]i, 9x1Yjom,-38^U{p+L. zT L@+l/.C%y۾M &ljZ Aydop2?/D02Kv Q7\sax@i'2 Ɇ+} |dx$>Q\z[ha)W!lpEpq 쾧_c bM6+5 C7V;2 1:gEuw'gW`:61stD+:7)Ctnk t%W%-]ׅ+N3dbTipp >v-'Z@RfW!Z}FIoUlL>LfxVF{g~:$eCbp|2n|#cXm_r'nen[.2T9ף dĴs'LB2Ӊ2 T+?K)@WyUG{**)>pRN osPb/ش 搼3<|R H9bM{!*jm޸Cr5 [[E7 KAOr72J%p*ȴ: K1oP$Lb>Ә2M54 CF5uT졅+ iX|Gg^y%gC]YYzv(*c'?{7%\ 3 D2p20E-$.Z+mGqً́}Of#КWUr%/TBZC+ ]>uB2My&GPƂGofp$'],E08xL 0zLAj9tR\@{<8ENV0m hZs*ӓ Ӎ.S x{qMj5vmi҇A|uõ쯓\r">0>,`ZGp|&CZ'~^#1ғ (/?sEL]n*1&na]*TqJ+W-#kSxw|d,,'S-Qg+oGa;xX '2 iU7mC2/Rlj2npp⡅aX.@t=Q4UAЮx+q7@lWƱ3I[c+1~ & T-jW_zzHf4?'ӬۜU!Y+E%,DF|Gaˣ k7kT0}󸾝D;c7"4vwQoa&kh?]cNfNzɌcwIjq:;vlBDoUb%kgW5};ff'V,U쒷[ lv3P cs|  ?Z"ݴ|PgF  GbRkp,F Os/U*P4_ԈAK9xf[ iKODȬ"m-  ~|TG"QЃ9J8M6k8R.OhL:\n5c+\ Rی 'z6`%|@ ooϡI}ioU)@d64D1a?(I`42ɂ"Y;ͱ2B3ʅin=rn-£z oɖ5qKi'O?;#m K;dy+xM_53"' Y{d߆#õGֻJuߙX7y޷~~NN˩pyRq!kZlR4Uefֺl nIۨBɘٛyM7qiη̍+D?[9o[=>iM_2y`+64K+܉pAm0q3>CZ-8A ~&٩ȩmpfM%-9\%.iX[P"?Vzz٥̩C iqyr~e'lW[̃KLR^6F9j]β;, O&`Qq*rrwۗ: $RYCHȣ1pY$_X)PJWh9`uIk[g$u܎x;KO }ÝU쏓/?(_1[g5u_ Mn2-"ΆVV ?\ >78v`lh#PLL<[ [>t 0Hي ʄ3T }r\Kߐ=sGAMn ,sbz(ϝځ^]TNAΛ|6k-ynmU-*֥Q4N^wq^wZ=ӯ|0!E!}fU"縑̲p 7.&뺑jybsS9XM_&t[ÜL3ߒ9;[R ʤLv5=!,n[~SP0 2^%t3tq#-X e4zYsGsMܘ:feOw([09(p|osmh9gm${˪51m@eI1xQj+0h5O\:V@\kbRebCWKs#`|i4r0~e}t0`Wf4OsiSqᚪho:([1 (s5Zؙ]j=iX^TAř *&+pTRU~uS,leNô$ >3͓~2bVDNʷ5ڦI#+{kmk('s.тX䖓E=rS-'JOE )S"@ 2~쇦y":}H1o^_n;غՁv~lͻ#cf_gG6{dt)" ̖dwah24{e@>{%+űsduH|;` }'r㫃fx)l}(piEIb\~Xַk{v.bKP{CЩp"cxxNt~GM֯قڿV{s}ȯa6Pn-UcOi"#s+7ʭ埿,SL!9[SZ3)ʕ N{xx@g3p}Cmg/ve;Q=vf@ ?I /EIEscӪ!3"1PHgϿ#7YCmcاgkWN۟:ݱ]C~qlomB[ `ǡC\8ηt/j%8G/$=ッs& ZU`B~Anh\۪+jZJNJp!q7e߇W/l~/V8ܜD'  Uy윕<[! MYq7SY栂Y0ǐ[e$TCUUzp[~u AgJk$dzY#- G5^I,*,1o83([ބ9Yi,y Z\ >A"D-G*h؛[V^th^7dG%(\׾pq V{Nj=ZwY&/٧/EZjz{2 do{XTA :R!?#ɂmdFG Iy?kYEVh07zt7d2^i <-ůgQbSQ % R6=Eƫ)[믽 $▤ː+g8{͛=ތ} [+ޠ챫TTԶ]JJ]ݱ@呾;z$uðR:?f/NWKj >M/Km+,t22MtZ6=z6? 3~G%p{_ݻ$,iY1/uƬi;{D NރZ0#ʳBzIҒDNk>)c;.mnh"ͥ֝3RVb]Pub7+44Enp"]n4I#>a)Z=P1˱۠''3piQ+]ѧa:SQTi$ J`H4F(/Ҭ"XXmB -2%4vt =&# \C+:0:3ӜW?k73R™#?X;*)+Mҿ΅jd`a౿aF2_EҋM6K:Ύ/Mb~Z -6_oܸOLX(\YAಮ^OZ8ˆ^=י ADzkޤk>Y̛PeU!!lVfbmjp=i,Y%_~o298CP7DF9J2<"Tw&éT翙;<^2pQeB'a^Dʢw]H914Q/NJq1L3?A!SF)^2ɁL(S^wnxMNz*)wsj[ij-ݿu?褶!Sj:ѱ 8ya:m/痾38/s~RU8lD9%流ȩ|b e>Y^bԳь8ц)$]@ G|rгjWm&=sg3F-齝:}ٟ΅n'6ViYL$IgA]ƭw~X#7O}@ZMI;r/ס7*z:;_Eҽom0(ݾdF=CG0Ɗਬ_=ІCYƀWJzL@fxU)'GKNHrC>#ԪR!'Mgp^Б}-3:?RVʢZI7ݦp'9;ѣm,U{p0tD&V&rX_YIIౙt!M,&w>9Ǟ? =@7R;uTjBlfss,MV&g tfQyx8Nf&/- rJYsrĭW}c,M ZvtFg?Ç!͑ڔJZI6B.+-):rbYg֏[?Un;GIX) vl,gݤ#]AJKBC9l,irQU ?fq5i:Uf RMvԭ** ; bX *?ЭNarYNP?( 3eY}مeTQGnLTd%kxkN˔S!bȷ5lʉ> A^͜M"b,f>-֌Z7Ӫ0Di&ܝ #JDo;*@ْWy`N3w_/Ub,# kKQc$1)10x.Rn9Kz5s1/?_F|,]\u&']d'eC"3v6a,$Y$Gd8dHa/C5ǖTpI=oسȑ37w-&94r6Yt3ntEQܧE^.oL0^(0(:5/$묻:͏p9EOsF/~"86 ~༮@0XXAf#ߏj?cqވ,UcGcV2E=.N4']!n<;d\R$T!bmKob76"y2~qYx݇Eū@r, Q#bq2ՙTZ6M+W #%?uc?e',"y׽[>ư_n} scRPGf =9BشM}1zѡ!>5dWqaYduxxѼcEgAwJzcefJaa:y_)'IιTV1M%ˌ)΀RcjMUz%]7]+7)d2[h;{b旌_A?zh客 r7p[/8~Vc& %J^o٠b$%зmػfL(s H xL*ƝjHH6h.ݰGJvw1}G-bCk;Iٰrȡנ[G*#f?Ӈmn39ج}@nvkA偶evPo(D'W=5"}XdD-x!vT2ԧ/4hڌ5*8;VҽaKkŒ2Zoש$Yny[cӤ%!r:{W(r:6;r( ߀T\AKC$G5.h1wv؏ Vͬ(Q+EYY#7l:8iLEW_|qQa~z7:o-.8"gFWޯtX'R4zq6~w|#(ȩ&Wq4v‘\\Xn]_SDE:'CxqeVJX:嬉F;~'3威o\Oawcˣ yQaPcKd]ޯ$+Ef5~FM]q!#a7"B9꫌5I ~E[j~C72Iv3ۂTVN\<3Cn֚ɛ]Ty{S5ơ:HF;ڈ>E 5FîZCnEsY8:Mbq ۈ:BQX)Jjg)G~F)&NvhA\K$MͧM-][H?>"#qtI#!Fcpj{~xJ.уb/,:N+@@`n65T+ ,q#k'eT8Db}sfykh%S\Z Y!2V*w0OANFT -Ζan^{y݉j3 N/<@Ӹw؃Ƿy{CZr5OUUyIE{ЬqcW^F$sCa4d.F\Q|j8ޭ?Rq袦lg,CXqaxQ@jlNH`Q@ B -@1& aL*llO۟]d'K5Eb<){8Ǩ>#EAJ6?_>hf)JNm¡Q&\j)߫ɟA۠!;~Zm+[s-|vxɞb+X-Fػ r=:fOBo@Ձ̓N}.1$YG\dK\0'Co'ϊ=o#! ֶN` 9A3"~_D}MdI,~+ȖPҐE|iBESx|X=r /uFv>̑[Y2^VI=$i{y :4ӣ2X}(Vo¬x#.G"mm*hD$4 S?/xzMlUVP,3 Zg|oNQeKhَ}*/T(qF4ŸAcS|4p򔣩9>f_֨"?74ye(5OpoQ?#(_ U~;I'F}hC;W5e'lq_urD /4B<*nYNXѴ6bՋ.@ `Jta!p.b""465yԤwzpbڡ,[p4ڇhL3$xo3e&kG8zzzrDG=6uFD!`/MAbKSK!IjE?y QlQhOgTk % y^?U |\!ԍ,~чPGǁ跎8cM1tB~8;߀XT=;[ٝ8, :X`SmXZ(F.ձNr Cǐ=t(s^ϵKȦq,]fŎ+6h*BQ,{WKؖh§v!ٽ$|wջ'%Y1 H#T1vCbİB\+T"t_ q堃DArPUì`P?Aw3Щ_ԼtN:&7w컋I( BTQi|+Nx+Q#gz+ {ޫ|c 5L77xz89w%7}>&-f(ظҬa}p -;o!Ύ0ǗPYW<0$+rpa5_srȞ9^0tmϔ~;bXk_>`pp61n3vIO]MIM/Ӳ.4_6 բuz &Xf{̪lER!wߥFM%zF]Wdj7Αy£'\-؇9P&‚<W}5ۖ=/Y__Ⱦ[/#ڔ+z`-FM˥#PUL6Ύn#w %}Na] x@E {߫->meV^AcmOݵ?4,x\e%[7NGU=}=q ]@}TT|)k{}aLuУi6lcGơNu8uްKX?g{!p7ڈ)Q6 \h{9tW#ןX@CU9,-<n-|nEݥ]uSd~uBlmRӠ⽃gEkXu]/^mM^ㅷew1arp?/{}g B-BM9\3.h1U ňq+T$F aӑq4$1l><?O.j[uaG}@G`TGيp("\)G9rQ&O{- ,c>Cr ERaUi0*^C>q16I8O³Aծ+|T'mTwx<%v3g>Ęx"-g41ZXQ3֦ifAv2=z`8b>^Fpwqf&Tq`$Kgw`t-70-X1ɓp^ǽ-OrñC"Pw S`')9Lk62zTU3A$A c%xP J&)p ڀpl\ހrF"4h(5x= j4a\K©]8R6HEs)p0Ɔ! -1NԈŵgNE|4˄eUVnQ5;"Zrj$7vFˇ]LI R*}ntvC"* f6k t;.fgm2DÍ+x3 x0,`ڴ >S}P r 's.\?Ƥ̋S_-ip_x)Σ G։0+E*%JO室5IhҤ, 5,g64TJ䰟ƘR6j' [Cs6X3chtxb^C(Σ>p˗!LQ/V9ygO"+>o;0ۥZJ##px9x_Gէm=ҮM 8BoQS]RxݚFAggN6xGAڼ8L1ఆ͌3E[ml﩮0ډ8"Wj-=SgѐYrWJ-Eު咠y|^0>aը}>7Q4ǹv)_ ϿM'i[!O`Q 7>9R 94h`F ;O)]ydϜB+OWTOLy~4$,%: K5z/ Rue8ik{ˉy_1e6i49ŖbkY0T,`>9Sj:~LtA/E]kbM0e.U4X{Npr %*)30}bgI'h(z2q\LԲ*leMls6lUυvXe@exۊݺ-Pkt'6Yp|%*K0; 9-J&*wAHJ\|U؅elD9u,h\[վx[vCtf擗O\P [0kzM ݉幃*cWW8L»#+*Ȃw= } 7mmA:|#A&Xȇn^cqٙ&-]8o Vx=q1,m XF>?;ء3%Z)U; nj+ιk = +z_wYFj>S]|Լ =c@Ew,4/|j-SltSoF{\d7a&O1 ךji%Ls[yZ(0Nw -C>f@{f6R۷q3bYt SDԟ.$hyXn &(5?Q$^C'-3V`4_scQip="q MQv1ADbn L?vǒ]VGpy)`Ax91)annJp9lV!ƈRK#fT&xM-# 7O]khb5ObE̪F3ʱY`asp&~Ҧwb}$*bZ<tPsexuN+5gձnMS9R?F7DqqtҒgWL&"@Dzz,51+_a:Asx66V1{ΧzG{9Oay`  jc8`MM-2ߕqo_T'If~Ծk˂XUCk V+fT#;;<4a ~Tʴ'x="`:<Cm^[̎Ӿ7f%Xh_>GØQ!C}yXFXXPA\>Hf7M#e5yzU; /@ OG俄;"w?+v.D2@DCҨ8dۑJf( -k:bkDLI]J"$Ix@ @s:pyo'o[6ko[8 ̬&C FK65 *yJ 'E=^Ɔ䔶|5>-Bί½Rܑ_+'+.“ =i~=YWWvGNxI6wGzfW>-~T$:m)9.ӞP\KB~=mM~V`!8J9#ф0v<{5ء)+i]'hѥopen-sans-v34-latin-ext-600.woff000077500000000000000000000655001511656052100351600ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFk@$GDEFGPOS DhLcGSUB@fHaOS/2 S`t8,STATtCZ^A=cmap<Icvt =D,fpgmZgasp#glyfQ"head`h664hhea` $ Whmtx`PAlocadXA!maxpg [namegBFnposti< 2prepiP{x=ĵUDy)6pwwwgݥ}ў9sU;Qh8v-ë}~;Ŀab6Dʉ9'jCjWЀҨהѢ]֦!tt {g*H% DFLTxm̖QF1۶]CokC6l[Cݐmxs,Y@'FGɌNi|!7)v`3bccdIKOR\hJIFJzt 2"OjO2)[oʣruZ񕟖 eKY/g;mڸS)6nUJU@)55RJ:L =nCb20 L"U[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`ajraf:`4 ,``R@3`` L Ar,ۀ 1x@@JЁ%"&w|_~;=PzFVҭ RYvxڝlA=۾LmqVtm6Ƶ_7Bo#? K4T^cf# b&QyWy4Ɠ$"K4VzO Kᖣ>kLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5C5j!yVec7=S q rvό]!V夐[g~I Οr(Inn^ u5|+}cxKhkԹ#87ؘI/xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz@W9BB .q AQq[{Zmukhjj۷Js`<}(4V1Ć MMQPO`l)FV8XsߏLI.,LN _zN^zz^!IAk Gh}-FNdD MFy'@ 1s o2V+P(dbb!H5&9~\!<&:5D'ONOe"O54_ʸF{s$1Acܮsqj^"Ͻ/Í%Ͻw6{ *@0 Ԫ+BBn k&,~UhysHѬhg1'a 8s,/46vͩsտZ1lg֜ S>^Vb8/!748gu883kWTV+NpkC-kXwA Nj'MM Zl{#0 <7"-UG ĘH11W/{ XVS P\c϶}/޲7-99m@ZT{u\_w]n֭zrכg:Q}\@Ko"]H$FbۢEt ЎcJIwQ!wNRʐC UBkc `{6=sHLcIMBA5SoR4bscVq_ 82qSTz0llRͬazkBC, -8- ȇ53Du,==7|G2V:b] >V\^A+ z6]Y&Rjl ǻ s,BFF@ KڬimW',=[ܭY0߶&ACsD,TGX#b T d{2hJK͟7]g*nޔ&h}4m:~cZvR,1,49\/Ǭ 7p5pkSǹpq< 1` )ڠaSn):6Ŀhٛ9!D ` [ެSE4|% uH=){± G&'<)B@w}/9]17@=|tL{ts {?xscljƍG~ 7쁑 ;*`'} -em͓dFJKm[YYc4'{'W9;Ws_XN)݀*Ŭ)ޜp6N/'#M`&(urо[Ȓa8`^kX+h __HTo"tf5! )G3Y\su+ͩ*Q87y١eeG']k k %Tytwߴ=;֋F;Cb ؔR yCIvR;Đ;dq4]Vʉ9]̼RTA#/;Asfeήh̿_*kZ/B܈Y2{xU̫ɓL ߕR:q(M=sSCd5"!DLwx=wc1xw~נ(Be75KC}PV6gEj,/UoxY1'5,QKѕBw ʼ@4_! hX͍e8! _v\`>(GU0vo#\-WZOO9|8l˞{ePjT?=Bћ鲇[bGNz˷r?CfT&Teb`@i1QOÂXKu" P]DawF|`<&o,SG-0N$2V3)R@ӈ#i|蠌֫2 ׌izo.1Ȗ>چŋ.2shd^ޜSVyn` 5d{KD·$nK{!*'ʪ- OQS!ӓ]`s2-'~ǩ}`BG32`iL`Lxvo\jc8xdrJaaJHG=~xӳ<`ꈁM$]!IݰW375,[5;^G=@Fh\eʎp˄b`92*ڻ2(lhOT?c:N@XC$T*}}Bh<,N&͟ryO~O@ؐ7rAvղa-N^:^Qb ;+ y,9Ǯ8 0Յח/ M Ԍ}P;TW[T$2?'-en{8WzWY_:u_H&Y{ 3Q:"rlU?5p}I'CAS weqXo 2T{EsW(o{PHcp/ሳa?ڷ% ԃI뱈 6:tU96~51iK<@;EY@uQ~%It&9tDGRDcP-},c&tr$ }ꪘ;+H@!f\_ x1Bd|{\Bw &mN=h?2dX 8VthS_|0O4Wej]"UCZ(#Cr@=URBvEC(!{X fH [3kO#TD}$;n;* T`E=JǓݴ0)ascEA7] _Ыۗx٦(QJF4ȵ1Cx{+Dp|0@78 ׽`d 76ڷ_ݽ4yP;89-Xh?PoЋR!:D$1D F/wVh"t/o}7Rfgٿd:.iMn^O 0TL ||1Q*a9Azхpw/V;E0,H܁'ʄ T*cDµ(2ڂGsemCnpٖ={7`:u|}6ʴw0rAM[k 0K1Eb,{xUP/lRZSQ|t=s\ Jhiݹk|i+~.iڡg~fꕊGgZRL,\9JΘ]6vX_fՒ⦣%Q}_7ȏ7n3#G@z Eѽ*3\t!W@F?_ 8D"Z)B6 *@\a5|o+ԑGwب4M2H#Bl! !&T.rt~B_ SɡiMQĞx0 =N;[""(P8ԕ6(E)!Ҩ)$SjD'JP%D`_DjrqjuVј XaeETiKqec[Y1XJ kdi(&L?/[ͭ.`̃Gџi'^Y8KSXlӬN!<ԡX)W 25.X:E$G4C|#$`!XqEgvt:m=z`D]/Ӄ~rD>-:ϒzJ:=gA` 3amOx Kfy͐.`.D('1v"n2RF;]TmP ўZKqo秫()t$4hsg!tq'XV1̰gxA!%#zY~P55 YB-gFy" @9~{ԘӲZ“ rA7j{WqP=^%ʪaTr*z8=T0 jVk J- pɑ߉785:/!F'Hm虅;{5x_fK'&28$dX܅s &I,:PSU3S\[G526etaoc"f><ۈ՘u>:6z1q ᖬ<0>%ьR)DG8I-GCvWm=^z~Rs]o& y|=;w&M /Mw3O04ZL6;LHvq=Όɉ럝M?9L} C'&ڽSky_R%Mp^εqv8ؒ kXȻC6{ewléŝb'㷎TIwtZjAJZIҲ8Rf3t0ʸA3ԎMe06Kp2l_4rXc7Hd2l_h{z#@8Z Ԫ 6JNcU'y;:"JkSOk̲sޭZScֹoJo:G{p#{_t)t1~&taQc>ENMzH\*P70v4}'-'Hto1lՄwpM23.'t$E7 ]k˲Zs{WMM MkK?Y.={,Ʃx_OJ[2D$*//YiKyOcoR{Ah\*߻iՔO7#[V'=>\2927b tSrdƉwx&2c{2̦TVgZfZepɝd1!7P5 +}]jo%~T͊CscF%O'C7Zejp[:μqB 5eԨ=Smc *9XK oʳJ翙XA"x>F)$ĵ6#kBqS+y{IWgtԨaF4\3&M٘ bHOS0x01]xX\L"1}=d2HI$sS=1|)51 .d:IM^F5K6޴3{=L,8 {O̿ т<6S|%ucmP%N*9턽k'FO9覟ܞ|I-fBF_>6P32:ttV) =zf#Ф$_ [qEt}FhӪda1b!@>DnuK0L9g ]i&҇ى^.ղBF#Yq_V|TaCp[M iw!B&OVg fy3B|Fx 鐩SC/G!XL,;-!s( ( s`4)=؋J(sP-opG&mSC~ <6)`]aWr=ղ@wRؠi a3wNV[RYFعih9%LZAvp,VtF)Kr;ݎ*}quwXu7_?SJl"]g<]Iثr3 yy gYE5646DrкZ慼jO5'Q`F*Q T>&V D\EÛ'NȜz"__??g$VSȘI08%5aDvvXjQ1Ⱥg UΔK3*aDjF ykQB3#[L1Y33KlnN^2z2j߲VCt1_)O  lR䲏 Y^; `K$ <-܍ys괷6H__#_#5P zsE6ŨUqmPqK$6em{l3sem:ywt*M@b.c VVK$~2HmI7-?n?Șf :.禅OHYwV3'N.8{CD{<&iC՞>60]*X6*J$ssG RMIxgEE@EAZёFܣXsN`V{DCBbmԂ~3oA{SjiRS'YkSЇS"ĿO_د>).}uQWBŎ+ׯ_dSޯiɜL55;T^֢EwGp*wn+/vr/7@Ƣx5t%\Ce! BKA ?0@9ăuw.]6sؠjK֦)RLqkީ44OQsin@))dhfIa,^S¸ cS%&z6`*$R)# Y7J ,%SB-hpg?"| w~ނh Q~$Y :  F4*<n>soO4K!SJPF 4(k]㘸u<"J=]WVڼQE@ /i/oA9*/}؀'7 @+1Y _g tKOj7T%vp>\{pM}2밨js??jUy%ey%TB ?__VKp[C*nn"X g•2cT=V3U6or 8O+mo3tx@9\b%*XࢌXK߾ڦ2,E B;3)+V]̭$٢֤kO3+ ^e䰢#S ,*,:qBGe?lή)g>$51}8S|hԈg'P(}fR- WVnDS)wHmC?T YqBД5S9J|G+%8vmfK Ψ &wNnKzMPS_MNq? j:w̡&d$$KDqHpW/'^2/, k>_]uϥDg.~]p/DxDrS tSJ1uQ"1y+=&$Gp!VP䱣 Ȏ!f8˅҈ AF}*qfaPr}`RG4GkGC_uqAy?H,PϼIb4"ڵS4O<9y؜ s yJys)õxZ>pT?_}[ˈod{Ѵ4shL~-?1}&EW6L;|tZ+%ıv-^\<]WOfU0 a?^_åC朜4ww&g:|3}t%TTֿxzJǖLn|7ec1}A_d8od(DP5Ce #T&Vjh7Td`eXk} vَbpz !##(H?mf0nk\Xqbwb͒cRiWc\w]0/Ǫ5lLuyyf(Y$#*vlXU/]Pw}+=YvGWk /'gU'q|ma砱2˴7(Ȥ Wsd d]I"0:~3\s)ފ?41~hqXǕcJ+*Kǐg U!hS&P * D]Mz/p%iI[ХU^젼5WUl)),쏷W&SJZ@i)$lۗ7|o+Ĩ9MK**ZDRm/͛b`_HMVGg iLd`ğ6d>Il4S\d=puXpV pCP"-Cti2NU8ImOP|Vh/t7od)Q4ſ~cO;YsjH2#$M/a5i4yϿ4!5ӉA7[XabȠpUKIH7謸TéF8QWvV!UxX5Jx98u &ea+y\~xHȠ{U0*QH7TTéFN0.sf ː\.9dsQI`,$/VPhqaawop6fcUݤ7O #s,e-y3΍&]^ṊK ʇ*}~G_/%$|I4X8}/AZ4NypNPf ډ82i-ڧ!)yK#!~'!44(C0(q0$I hC<[:vl/L%×i0@/L!rDΈ-V+y(}"[ڈ~@]G=ŋu%DJg?_yy 3E<(f,QN=G|UYETA:phރە:Hr+W9FVM|6w3i,Sч"/hxcW*u/gT!**!UH2E3*5Cڢ"ɸV#{|@%j8}[8#8/RMp*hZ$ϥ3 ɸΎhi-= oe/;+=NKf41Œ!X0kqQpz3jŝ= F1w&dCŰR`Pc$>2=[CC<>lТa99U.^?⻳QƘE;Qr#mrjp`> l{BSM;P@dt4K5jpbz gokv@H52#ĥ4mX?Reֻ(F0PpY `$'T*̮9n@d@828GhޗWf}|p8Kt~HӹBz`ƹ׽ /uOQykNc,b h^ |2Qmsfrp09jI54ݞr2 4VՂJ7jwte'lcꢊ?x0im]]7lm'.n.~_={֜-;ӷyɩ/>INttl427fc4gjad'2~|n1]QsȳH陏 ܫZ\捗أVZoV+`f#Ԗ5Jvɀ 42>\q@;$;hjDQ,pqBNʼhN^5jD-PZ Zt=W1Z:J!ԘDVez'["ϸ&:Ky˲ ]$ oLAʟ7T&ބѼy~4~ %qMy jSlz=d֡=$1Z.>=mfs|ӓAh:zIAOőp EéB8N58^éFN`/ ,Vp돆uXêe./akAhny D΃+. Ad4f'ni#]8 8~Cp5J,i~$TG@~xyc{kja·'5O;vubNTtS+3;- a]=AıpFnM.t-\U/dUNȍL.q_<ؒ<5…wK=f65/ywD]nll*)dAv)?Ff3= Ύq7~[4 80t&<Fu0-&Rk1D~qkN(^9rar‹F۰ohڐuQ+/Sz( ifTpyeޛ3<3''3c$dWEmyy6$kםTȱv; !yWWW%dRcm|BRLtCppJ1q9.dO)^Rm®.t[Ri?bv3Ffdd[]޶ha 61g}/xJ_q.CN×U_RݯTeJ'"h2` 8Y~:2E gkCw$kw͞*~|3$ό[Hޕ Η`BQZ.ECj,QE&^hU.<69{oV}ߎ-' IW։uzk]vMM6 ]4'ˇU#|чJ^lZ8gǶyiSSZ/lm%/k3 "yJq39t)F٪^yĊWi1x sץodm2c3{4v Y_L}13+Ƶ>$W?,]X}wtrTHFh_`WF ^t0cМOׂhJh7Ni^ZE[H Cz\"Z!0jǰy'I>| LW@P%xƨW>\wh[?ٿ1oΊ9mjmrĤ<]< b/c~fս/$ٚ+V]6]P1I姎]@/Lz i!_ds`Z g^L$}!-Bp8@]V6{w+d(igE\Bw- &"\« 4F`WC][otrpQ'R@T0ؽv/ql<7a4qy7ˢO8.>~@:܌WaxbO7xR ̚!XoK׾( k^V1ӈ8iͧu? su斢ebWi":rsԲ(1I $8GO1j,lʣi<_aR¯U!"CGBl*\sQXOoF//̗LOoHXBiowEOE /QkN:̀ BXY٦fA "Z B5n Bb,R,4a??Wー$х4ffVq~:zT(Ao|26)Z_S_}NbO ck$ GuW/:5=e~{x6hOΌ*Q5c1EEf0g9IF=;g_o=or}=N}jCLh5):1$$5P X3MdgPNH9X)Fv}x$+3q# ȅE;W<]ɾvwܰ/+;* ,ǛM=(/o"s03((c2h_iMrV2֟lk\;}<|"}`ky)ME%_V}j3_߂ ټ7ߤE$&5vNm9ggyTkaQ8v%:?ΰ7"~x)(7lMK*]jL%Cl(j%~tL+=ܔ83=cFҸ+owӷޙ3&m}91&¢=U~箑}yϺƦ*eA򍴛+Vz=40P0A:![DHs j:#l_#of`}O=N {e/"yDGwIƀ~ `Vɼŋ!F!$ ^(Kx&'[kl -!3 oe%q: tSyz`3a1#8vdk@ @~+?w- BI90!.Pݽt䷝Sy^mEOKaT!S%dg;`A}Z;zas%N 6Hr%(/f˙1,kkvYSa D]GBCv8+ʫ^ QľAi2dr6Z9"ҮDE?;IL!fޑui>ofTE?MSn_|j3V:sTZeپ~@Ӆ7=tj%}< ^Ne{{Sn%筁24.`j4f4Z|>xcY{}?(L ٱLMlxiX_/(CȆlzYeu$#}r~4/-jtppur7-SHJ6{yo;ϒHDslxBMM3&琳!lV!)N=l8?4@}) ( JPP qЪY]qۡUrq6_:y` c쀹fЪ3Kޯ+ӽkJ ?)G8Tom!^.n((o((-ʝIi?~ײLtZ&I" AV_ˁ|D'IfqHJc/>\i;;Xzw|XbeؿlHz_}=~kwSv^{;ҋ/|lH@,6~‘i 6E[7H0dF <Uǣ/?MzGvٱR:剛MzSΥ۟IJ ,lvW6\6' 8/!fkLD&@TrX!5ķAZq<,Qnك/M1kzZ&^;[iW}@ uԽrILi+qٓ'H6ޏP/k@؄D֪%YqdjdXIKnVKT*_Rr$'ZzZr@-C5jI:m9['< +A{zr#+sIYΧniշܯ.**b+_f[W_Y]Ռ!@g()ūҿtX5?,Bph(y*ܾR[FomA׷Xh%:SvGX3CLd1_&UKBs_jy}םܴ5+&r}5U,X>;"ܯ6@ T'L]~AoG28QGK$"f*)_W#"kTse1NE jG3K)kmmr檬 ɿݿQ׽:nCҟW_jMwr*yiLЌx|ȊHfC} +*LC{SzI>_-d{->+(]"n*]5̯SNNZ> MG>~xj[ZFGkYoj/]SAsjk5'oݜ[zu'sfgz-.K^3y)dhIhy^KxsoM}Gm)j9:\{jҎ4'0ҁ!t_J[qQ&?:g݅³6T1& ?􈺸x5tija5Rcfq> ^$`kQ߂Ԣ\R#/Dۆ6|`7z^=p El4Ӗ׷fVݷ>cay6Z KZQ-9ΟԞۈ '3^VtG!Gޯ(N ,oMQX %ND־~<2H^ȇ#ћ T^O|H}Mʋ#̵\6뎆|Ϣn$?ٷFuʋ#LjZ;=;*ԉTYwD[^f9PP~F}:Ԥ>lY5eT=ƴ&Ջzkb=ccZkZ^iͬ˜CSdlT_Pٯꙴ*+tU~Sm껴VyW7%gJDH74F&ordC $xpC ? L | ga#ZF^ց keR/܎;e-9pCqxH/6)K ~3CoXwvٟ}$O2sޙ&HN:nv#&͢?\y<,*cڋDٖiR4RW/ρgf,QI-HN{Æ-@Sۄ\lODb}l>dxD Qгm_m۶m)l۶m[sAe*Ca n__!*RLF ;+K4 Z ;{7Gd$IG.&S4I͠PǨ״C离 4c0/Y6g78\I׃-vߌpUbwqY¤R,e)!)}S-Umk):֛'FWc$Lm0בֿVokuicv^=8`[mvuSz#=j{mXw{e.5+8t N7!! y3 G[u7c7ė'Ig2:J$ǒKɽ2"hz`&X>XjӢie5=>HP@϶ȴNl۶m۶m۶m۶ Dh`@a 3b  CPʣ Fh%ڊ8Wčq{R yM(,TZ EM,,VmqE<&^xRz)$HTL"mK7_9Or|@>#ߓ?$A%HҎ HHw%C(\)TU)#k5jԩ9*QFJgUt=K?Z hմ$mvK{s^Co%fYe4O[),d}zj\n7:bxgsʹp~)\nq[vϸ?4on_xA O a(h &,=źl[Vl;α{ apdx+.Z=6z+|˧|w g1rL*!_/xL`[50dstB@R!F"߀l/vDjǧPi_gUفjNPsXENN `vOTVYdEA0lpwݎL}nO̮ja W) =$Ɔ螴Mt㞠]a,3nDŪh 3˰⮠1k:D sԣUUq~)U:专P3MaccmǢOeyI-Tu}mߺu7roԌZt#.o6,oг(g,q>9U1N]/Zcxc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-600.woff2000077500000000000000000000533041511656052100352410ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2V|V[N f`?STATZP|  l@ *6$P & ۆ+  6mh9 _N 6DenRD `8(rƃ)Q`8@x,M׭>%E%^mAwօkfT㬞~S6@[ g,yCY26Rµ<"RD~oQkCK Ed?}J%=u^o.N?7ah: ^;P>{f oIVHdZ~hPd]:SeR^B%@:{/=nyսBZA3 v4CDђUnݖrcz-HK]l;H2L~``t&MLQgj`##![)>QQΟ0%HK$/ Y@<:1(عu']u{sVk&-کQlf H}W@ (<;D5gK{1;RlLtEI8+y8r@9I4‚ OǾ+I9))`1!sue8kBMr5 A46;~Q\㋄EZטsWJ3隨-’,Ex?7˔'@H*Mq q__{}2[N@0@0ׇ`lC!07KE*Grj`Pmjp'DikK'X׼oDY.=ݒ3v1YϾ%K%KD+ s+T K 8@ ԓ ?U%\M 2!sJ mV/YoM.leTFt e{ MHouaP)Ͼ C/f&mab1jOӰ@hR"UZk Ȃ di\BE&tӓx&gLΓn=Q07ۂ5ȓ2aȡ$uiI}Za*#)л@J$it!miH{.#t{||www] QUPerX$aF?oDC^k;`C.hC1̑5KH*4V7aΚJ=pHu;AZV b0zA5VHE\վ߹zxq9G9{ hK\%+Dhh _O/?3>|x ]%+-޻ۃDqRNW%#qJL3Gs>|$qVd z]o@^yR7_M q@ H($|Gkaؽ+Ŗ+PmhjӞwiHʥjK~=1u {H/{\nn7u^9g@Eש w3JC X0An;QZgp P۳ kzo&"WyӼbC3TiߩW*맀jrJ4#!pHߔ _q;w\|BUf&ݍ% .1U1'g^-TF܉&y+*(_ )toJiE7(hIcGteҴW?p4٫A!^ՊN4l#R%ixIϐhCE%8, O쮾 Ϟ)*c<Dht󃯆Ua&ˍXϚ:CHG(R2uOrt}MUB8R@ 99 ڂTHTP%Vr]/ 4dφDk^P v# )lbF3P R5Ż\e6vY5eI8+IU z#W QxX`FU*RH{lHqb~bG :o~yг tGs<5 2S?H͑)2OXiLz̤3Ҩ!cЬjiy^O[=;>\\;9{a€݉WS"3>yr#J nY?k$sLC `W-M`%.$:HǝCN1yF #8S.=Wq-GAl! snvZg>wڻ%zq4P*IL}Dl@m2vkv4UYRfN)5k$ (<~V9ZQB=Ûc"!0(L܅miҲ= 0uKWwrI0n 3g"6? ɑM18sBko[OF8 K5{"7_+DF8}zdMdZm$=_P,Lm"ՆVG޲wpQ'Ax2=(@&kylP"~¸C莌$L!9V:?eUNpT۩G5} Cƽc+ZdMYKSMYhP-ʊpkΏ/$9~ePS~m)K)T,Z% I>Hy!>9վËND0m&DMy 68ȊA0뭍x޾,|:J\co#KRpAM=Z62o*!۱Hrmf6U+,oպmw_ .SEV9(|/ŢHo=ZSR–,ޒ5⒞{d)hxdiMd!l9Z8j+=>0NEUPy}ټĔr&uH*ݮ/i+d2V@\TXkzUpvlj6r5?ђPkQNh}5)aYNє][y\)6d=T] 12e"dP84o+qxH%n&J)o09X] aE.h,w^Q9Py@zdY}iÄX )C:ޝK<&=Z P~5dN**\/M"gܾkj0$Yî\d1U:۝EADB-]GD8RΊtԓ|kCNѨzgkp,Z?C=(M  JWٲVZ\Xڻ ־D*؞ѭD*aʨ5PkiqLW咡_fes0.Sv2k9>YӸ:鳄)a'd vG9Q2XMr Ot$1`pG .T0CB@-Bƥh% 6yWTs# up W1>hV_677BztCsn4쀭Vwc Vd;Gx6S,2KK^w5aɶ:!vGtl2X$z:|(zZ>27EP`opT@x6Fh܎MHR;j؟_)dRIs( j3+`Y< V6&[\ 7b +(X:a\_!`y}Gl(`& 6wْ"*jd|`#c{861?N^.Џj_ЛYne~c o2Lu =v4E9RQ ߕr,Z;MPaN skz3e.~ߡjZsM Ɩ C9 \dø2-5xT(8p,B%38uM`'10P? yny>rM"-PZfpk~=w{*qA ][O3A ^l~pHYIbic6-Ny7 ):2rRq<*]Dׅ.p>xX9ҡU /ǐc{O!oxt@8Ng,u\W ՝S u,oR}~r [󪡷^'ɭ~93iZSo1i6Wq_"}w e3l2Qqpb ҦNexzfKs, 7bPv WKVa_bbyg a-sV<9:G$ Pa^%! k1MB.jnE֑Da3dBgLn)2Jl^w 2y{']K9IFRуO\6tٰUW粹aǒIm4؄. ;z?H G\|=kW!>'hȆBq0ofn53V ;I& #Q81\]mxc* i^ ?,XE3YxT'7 Ӭ)xTeG:p^P@:BY0螸-\zvs7vM8m[m隸ibG_jG]3i 9pKGBq @wt_&9D.I:B%?he[]l8xA槇:F\ۢA# !ct0FRgƳR|W ~qQ>ܓt5LlJo|[|W|k߼yOȑQ( cr'a6BѨ,\l,gfvj뚠E]4:O &~WR__zWiBޝ **uv @.m[=\W5GN=2]eRj3$&j`9|U=ST̽z$[UH\LioXoViiVsVqog-i$ScugktLJC؇_^$>^pae:S%HzzdF`؏-?e\:0Pǧ+xϻ$ai{Lr9_;8.ED\{ )6wV>WύMlZRfٔ/T:^=%]9(66u T3*x4-Ā7ΛtukYT^ ;#!)v\M_/θq]ne~-AC̕Ms:r4P Vww=? XF[,>#/Fny ~~܏+W=8̟a'/K/S\iмU1J/4ָC]x5_Be7q޿bKd7)B7eg-Wsde-TiѺ1zDzB!X~j׌K)W3c ۭv/՞8f|F Mtn;O5OP&ߞճߎ\Mma޽6?z~^XAsze|smξj28s.$iE0 _noKOgSzD;5j/{=S *hOQ-\ Dx- &`ٻH S Q"nVm/ M M#+#hpdKNxrpٚ,zy5 |ɩ.n0ς,YX}TPQDp/jNR v[mSmɦ6f۴^f;83P!tkT22x*`e3E?Хa}:h$@}w^ D߅n[pu_v41cYbH<^R~)xq1v۠SI*t.UFVXy~rakx]0u'D(B@k@-34MH 65#lJUE9Lη5ځ>}Vf!%t?DdRuyʩ35g%j?]m>+(ǞqڲJFFz_Z]-@+!/n0*8_Mλx»O\oNcqQF&`Tr̋y1V:Vt V4]帍/Z|EJ7vZL0_bf1N:qgTwb\orJkk~WAcoܽu7r1U{ 7!1š?YXLPɑ82.U`PdN{o}qcoiVv:zJ妆|v?S(`t%^:JK .J OZ?ҿAޝƇIwأo"Q퀮(!8GLhX6P!MbHIFU~nRZ}0L\| %+SȓI(x8'ME ƥsJMIVMY3Eӟhٞ8bNHv(Î{mLU*O [s@YxB4<ŗ]&m5jT>>ghI?Js=#ŧgg'|jﳗaM ~El~F´ ɄQͶFGw c~x'/] ΋!O`tPQF_vwdkJ{ZR835 zsEm| qz:8oӭR`']G\g9mγ,ShFrG?'5;aDH͸>q'k OWFMjXBA +jB5aN*[~2´JNv;.;I:PnI1Rܷ|R3335E ރxA86?#MsqZ,h>{dW7Aqf+$Cc҇ (sT+PuF5j#? g9Kg|ɸ+6)E\YLn cmNRVʥM%HoF4$挘9WIe{lZnw qU)]aCCv-o&1ьxf4̃ɿՐMxWYblVF.Uq45;* X.)l@. w)t)RUE jj+'W`9@"p|ڠ#SNmtSFؑdܡM KDhcYb$%EG2UyMIDT"n,^ ^ X Q{H: ^U 9[ab-H-ď %Lv2}D^(Jcjǟ T.cN{U1U90f}xɖCnH:` x$j>M, "}Rw(% Qa rc(A*F}S5KB1%0a9iS.<3(qs Ho[QhbKˍp.(*;kza{17,ӃNaMkvL͡nv{|=)xi ɾ~MQGqy(D*ϋQ ev[>Qd]nj:dCUŎ #,^&ClPg߉3\?O&95<jxCɉdդ}g;uϟ-}H]%q{b͈#廪 QO$?!G1cQC v+)_}y7DhNhj릾Sbns7^J޿v*8Bi֤d7pUMy7#ږZLH+쥰G{z\ĎļCUQ ~PØQ lr:<;op%mݠ@Ŋ&Hz+ u'OjCo@ELA^D+ N>0%.7?s&Œa41gvb.}S&> ,)J= f^3`W O=ee)/-V~,U[TW?.o#呣|h 8~RT:k$"2kgs] F#;r8CWKzF-v JOVDTDe|)ԟїŗ'Jϟ'9Li%)-/bujb#3=|O!ǿ=3epT#hkwGIsxKH&zK1R3Ȗ}MNCWF~5[M|v'4u+_nŘ'}6:ZvP##~[ݿqDOhB CDJ0ے"=C-mkէw&D}izbf}cP4:OڱRg^'2g`i2rxdxJe{xO+ JH _Ye7rRm1-[Hjrw4+v# +%1 MonμQ Gx'rOҕ!b S8sv|/ vs1d ']l.1z5bnX74՜O0d}=⦰aSkQ@K"ڱ `k(xbmУYØf5pp#p +À23kQ?{7Ǭ1k5iqi} SyzG{Gr5øf17p'lܥJԐMZ*jrQ3ZVד%!Jgy'0 `:hG_Jcv[#}83e[ͻgdO`W9"5N\JP_Ћ=mtXl`CMag5@yWA :?̾DSCt0H t0 T`XA#p$tN5#4 εvTu:%0>ToXʇ=Eay(#1q"a[)/x-Y5rt,Gd?j/kz5oS3|Ԭ kV9mL8'7Rʧʣv|=H+:el(#f*єE}[P(Rp}Sa Vwx~ه-[օIF eߕȩJgQ,*0) uxw'#G``K> Q{Oս` ; ks$%oR 2NY]4Z[?;!t+I4pˠxDreΤ:}6ɯ )bC8$*@R(gHT]wrό-ɮ'%h[ܥZ$$$xȣ,D[.GxgfR M, T0%^tx\g<Tw^EN#rNx[Nko 2H񮌖ď 0zʲVIғ`|C9"$; V{F.ߺFGqGǽP±J󑇲ynbqڳHJ^޹ery[HQK}^"yfѱH%?C(Wyrw7hSU#-*yyٸN$3sCA-bon_)w"m18I9c6*#aWsPOdn6N:W-1MCC])uN3-,.|Z:zg/xGK'q 48}pgqh[h jM S)y`,}6`^}BJ^,oZ3z A{txJB*+Q]rҏj(ctC;,ݛK y=* s:ۈ݂+&xN$!Yf,zl19)&n.jBסߠ JKA I6@9xl#7LTEϢbTjd!Ro"!e]pB|b*iQ7k~zP)z-kk-ĉwiD|9]e*prNҙ0C'.ѾRb/9rk_iAO!R.c쀲! c k祐\Ԫ[.V6!̢`%E*RiZD#ŜqwZW]d6jc[q`u @".8Ria>$np|meBH*T2\pJ~z@̳ i:ff2#-tU<$J(rlf?nQ~c 2\篪Eh@O0Uc|@ cԗhy9C\ gfV}X8(`h KAiN5P4h%U_ɄQPyt;C mam ō`fV)aOvBV1CfO54*b1-šW*{v-7 .`Z[]m)~ tp Oy?EⶃէmLY讔&XGO=@lB D&:}ٔC̏ F!٠fGQ5&ߨcJ"p:EGi7ñvwʮv C-8R9U*׊ΖCS˾PueWx_FX$!+G%1EdY4+CY4:2j0reW}52=f2{YGqs݋3}Y{B,!G/v%u[4Zr|k" Ahql: VE,̓7쇽19xdnR`CRS0*fơ 2ky3N+|EXbq>f#_W5Ec lvv)HiU.ZJl N*c/7pvG68^ 7ޠǞ>(O1얺Lj heozi`_19spLn1fƩkoz:at\Q6 CܳU7%;)sk wcbW]_#$&}?7JZ%d2C[_9'VbUny.ɫ#ؼ"kdRpcۦ=TSMUUcW =dKr>ub6}l5yiH3HFv$pGk璇/ҾZRuX7D!4ކ8;8VWq°,PrHl/y;0Ѭ?86xv&Ӱ )τ Żr <%w(|’5;~ 'RB{[q@) A6 a fQ, ˻rw{zHծ$Ã:! \f)-&p.Ҙ,t<:3/%KXwk+7 p}c>nc2u7.4k Ie] "(u'~sqEXϸ%#6؍%ٝV4]zvlRgq/?Hc*bȲmJ*Z#u; zSg3EM侱FT⎝:!+ qz*SDͣ?8S-AW)a@V1>#q/!쮷9,$lM0,jSHnbB2VG>H kL*ɴ a Dh:Z.v~c=%_p\AK4H~ qo\raMOZK^}ȐQvk'Qgm+yKl8 )D!;.%D0"۲qs^A+cQ-M`C sbTK=??EL5 ?͋}S} !yL*>*~5Cv ~a "(/DՊG5C*j>hؒ[p;l-8NW^у-+Tqy$V]%#j`k-^ylY";5!Fںk!v1{puRKuI.i_ ;nGe@PVG/۫UЎ^R;B_4SEjsg<| PҐSք\o`4V'֗IVzf'xkNz+E7Vڟbf: {.|gi#8dm'<ʽSZ S vcR!o;u{c=杋w-k۝ek%>H[JA _k\3?#0r:Xpw~:q:x" te){ 圞@"@tAԏ\On𧢦OAFD<cx!NK7֍s_ 7nc5~׬"}.G}Kߞs[ߕjD[#YjA?c塟5L*NvRmM*wyFv,com-^?!s)}_t~QPtYMq)1 IOY)7cTjR}@M5u]6R_L#i'Ԝs^0\ 9'j܋5!T^q$ _ W, 4<#2SAqsP碛/aa:m-LQPj?E?ԍ &v̜9<ħ?T^jz5E&UsQ7ón?k7OH[yjsU뽸aj-/$&t GMD&/l_LOE@'%z: }6wr2s".}sRyfMbNu~vL;;gPU)?Bf]vB RG]q<}qX]'mti5 PG\&_Z+Ы[z71Lab[u ~9NyJ%/t"-z4[jslw"C"xb`d``b`b`uq a\Yhs0_T۶m|Ơjڶm߼ v/٥ک}fl7RϱLe. YA6#NEn{ŋuPٞݺ]>z% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a b``e``5f9>,0,$$Hq/G XF  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄZ\[sNΉ@!Bi.ݡ{Fݽ֭I}V}W:vk!#.?Ta@ IR(DVHXVf$%Icc ry ΥN-O_F&3&;yJfY@A};Z%RDδl?E/}LJrw| B )gߝh|oП> Qk2+$誒H z\g9O^pr獺_By?v},S\ S\S@\~x72&0 [SBH2*!t]oE!rb&Th3%0uɫ>2;6=_~ݞ30 A\oؗ}i~ƞ'dJX3j2d= ܊lozXy 3=w.]y {؛Dbiq; < QƅIR< f%-_*Py1ՙ,-NG 3Q$nd>zAtoɾ(kw"NLBN!@%OγB,vLe5h&4)i~eyʸ&Soçhysv >_sJL9'ssWB30YM& -h;TF!6iE2|/&y7g,M:-sUyfMݞ >Fgnp:M8~2V)躂|ct |wx$ALv})\L|bS> +^sBGw7PE\|}DV;1ە er5afA,cImy3geuzq둱uk&]IԜX1]'gls+RXx(~wdJk<>2D5Tt:۔;A8 є;U(QV +S}dwyQF$3Wu}tşmB6gA}[<]ݲ4-B+Iy6}pl/wffκ;X3'(I5$a0#5Oߟm̜캭jַTrvaܴ@CX\ߟk:("(YeY8@74):isADo21HVE%1!il. %C߆ Z<'3E$m#`Kuٸ[f wԸLj>1R$L$.)`o2Pjn]{`KSӢC޸!oFȵy(枙Rn8JTKai%5hQzz9Gv@W8`y۾*,kz/) _v(e:r]ׂ[_t !! Uwr9ܤmL `X[?,\zݫl _wf_YF{%ց&ŒU~E HR8f~Z l1iˑ4p4Nؿ’a/pYoa݀VWiT1LwNAUބIpT> ##!ܻ୆i#?k씎bpz)TAޱ]5ks5g8MD +$J2HXtz[yö#D9Z:1tv'NL{5nET"܀'p12F*ލ PL/'ɳ2aďm65SlwoÚ]ۣkG7.xv>`olC%rgsMy61 -'?ikWo?91tϽ;t-xݾ)Om,?{G}ީeY{mw\};a -/\uYIWP};9ſ̱L"%:guUC?lJPͼOgҒdGkfu5aC k rAm |`vCHҪHWIɾk⋙'?fE9S=!\k{W|ejBPؑx!!FVZggM1<8bA!b&)~޾}Ձ%˴_}@J"6L3Rpƅٌf(cqup  2em`&Ҋ;. yGۋ#isWnUȏJ L*[`)4Dq3ĔP:-<}YuZCBa&wm}#$B*x0|+M$1ܣ-s]%cukD<^(|T˿xԗ i({"&;o5 W~"͟׾ontƹrhho5o<4Oː󨊳&N 5qAGF[Q.}G6rzk Yp 4ȕ'oU8A}n,G(ԡCIFwv?I';$"wmvBF>lxla\lŬ ͍!P׊N騏\U4zG;xw2&~ۮUq`HK>imBGW gm6͍(ÏQ:!$ɴ{*$a?"~BK"u:9"Ma c̀DȾ+vXK.S>Gnp ɹ˞'\މⱁޔTxxZ'Ηj<Ùq} cQ.@%w>s#+{xfL:C&K7"6*/`jx 㼧=BA%.}P9~@=ev%  N QwK"^%u~UlF}@@)7(tتh/,FX!5CBe' ,ZЂP\"VX2VLi?-†7aWRscaKٺ⨚:s3?mD3=ƙS%GW|y[ITqqڎFWGTt6,mjEꑥE:l)Q0hz2B+NT;ΧT(KM "9Yh>s asח]bQWPʝꑙ=7oGlm|ɋKIݛ7D,ZX F|j4~ùfl.ߙJ.ZZݐ4ټ[Z9aG/S,WVؚj\UjWBj4OO}p ѭuK՜! baw992ࢫfDxGW[?$XU;_{IZctm# @@#@фر&-x,0c~F 'Wd {B;)!R/~Jł"&nh^W!9^9kh7+S-tnk22iNUʘINa2'SF+ZlaAă\*P6p~Q=VTS3Dh\3 9Lņ=juCcrLphVH.}%)!~,HwSK\ȠuKzMEaIbaLڌX͠4Y 2KXzSDL&H"'+ c (1Usw <%W:{x1ℒidmbu{DAT?@E9>81VФ-woZ͐*x1l iq~͢'7 ̵P8ڬ5ehTWl}>3-m,\l Q{HA蒉}HL*UOiQqxbgRIs~xtw9NV'J +5F!YV`,?CJG|T]uųQ@HcHPdž9o{14Y/Ȏ.Zgy@mhb7u3nWDKܳG>:DXN"QE|ƊU{M]cV&\LsBM˲.Ю5E+׊DkL54Ugț 1YYTɻSR{,OBOry6ևx:⑚iB7 Ts%Ezxحwvsz߻A*LqF ْ;`UZYZn5f;[j&?Q T5I?<[ȩ -ڵ}K^Q܌FtsKAO{e= k5 LmKҺjO~\@<ʨ"A$f3ԍ||EV`;@C?g*n(IKЊڼ8lb%fd V;>W2|ؘX9U &NbRC0C6Rk,2/H+}}" J?qL ĿDZ9+Μ7xMfY^hraWЄRYlO+fepK8nFATT_l*3gђĪlr Zؙ\\0496"m@A_&iGni534ܽ# h4 u (i`P[c,KZ0[0g7N?`Ʊ<ʼKzT6Uqв֌!#Rbե]y }!,|HL[ngJdDNCV0 /,7 yLA #Z㝬",yL'vu9E3j!(o\]'ks\UxpARj֚^Y~0}4cE]XbQ䕚6ǑGgd|Gޱ ]X6x""aĶO٢ mkRG"y둼`ܱi7z ΐt.7 c葜qjG>w CM !On//2P `9D DcJd6LmXoao=qg4{0^Z8}]' 4a^B;<'P.:iD4NTLx Cߦ0xA͖gZ$+uJ :*WsC[ltgvhߡ5lx]e F:1 D;tr#lH 8u' ^?GDЂf dES4edi}&G禲z(YFfն|&ֱ7:ъ|ץ.SBJOY?*hFG8h (<ǖvG,bAX$ ѓ`8DjJUs:6xE^<_T7}uy; %",ء^^a+x>[ b""7|VFVmNZ\^+1fE1u|+ou'뭡'[ϟ>.z0} XA-00 @`4TԺ cQގZin7>6IM™͔@F8i…R@s,[C }1F'C !\ZNOVVONVwFF72CKO:5=m12r331=`4]jmC`//B/#qDURC+D'%> ; |;:s'35vퟚPNk=G?jp( 8}G34}E+V@ ^j3 k  /HEA z ^]\v:|uaEY*+3ӗ3V^Oj,Q^/uDq zCul/_h6mzPt}E r3R*bOIW pHB,G |&EgeEs51Y< Yn rh-@L b@Zo#y`zzt2ZP&"\%GrF(ʲH'%-IҘ[q _w-C 7d)I u b,\nS޼Șl]fv6ŕQ,D؛e %qa̭&"ޡ*5?+x.S |l;Y vaATf= 8Ғ8>3ź4 EkRF*ʖ>FkME72 VhԭKkKк)/碏x 9H%P\$87@ha5!UW/d~5- 9nyU= F@,0 FmE~?-KL wMә2YҺWw~~+ߋf>4O]KБǩU07E-Ms>ygGRљ;R'YCC"W[hGTe/W,6w!3`J:ꪸCO(x#zeH\t>b.݀Ҁy|YX/R*zd%&G#w-ΏQ$ m(wɋW%5$@uRF&Z6u v'~9}|F`\]esCp ljHF: S&qHZs</Puki3QK&qS!`3rǍRb&#H)@%zN͢b0S S(n EOg$uS%"9My7EւAt8xL&*RͰ E5q!'aK;gi`)K'mijIB@5!kCoϊOWEMmii'RfTxIܼ'UHKNAqsB!l>AADDqL;3OupѮ: G@]N4&vq*D#r@wG$KLiyҚO3 vH hE>Iv;·"^D3 YIZd[x%MZ -b| $G $ Dt PP%`1hѪtWN\##[aL~J½EcdqpR<ދH'AIϑ7r7wA3L߀f;!7iij?!ۢj~ sT2aE Ћ0SlR .n@`l7B D@)~~w oNr/o܋a13>q/`g$'Y@46mT/b̌@$+||^Z ?EAk*x5qc[<6>޶~.ɯ?=n.'{Wv*EVJ0ltۼ8Vᬿt@k@Ћ N5EPUX"I]Cx, Rr-J[XR^g߭>5xAjpK}%UO:`Uv{XjmJ/ ǸXG~rvgFm( ywOIwMGӛvLlY wK-y)0~I6 ^n0J =g=Gh N4ð%HVW?7$0xOa. qp !R=|ڞ_ZbvĒĄ_jѣܢ\hxYAH6u0i6Y^n!c}ݥDH>,)-eO5`Chܢ=zeΓk Gf2: Õ*l}5A4ݞ4^E`z@uG'oևlLZJ( T&}8<."G3MhORpkҧ>5> I $|Z< `m*H.eM&${<,C9GBrn?J}̾nѽkrw?i^pw C]) eFO*7#c_ !:ҷ:#:?dnY=vD-`&Od9u>:NY~+|T\ae<Bsp>΂#x>@ S,K;I9O#_gƑz rzN2E< L|>.Z4Ů\*]@BheklN).ߪЩ5esAb$.N}#l3B;=<)ł;֕9a)j MJ%ǠX><|VBnaK=KԘ./Q(VqG {Bs*kghmC 2/T5=zg1ef]5yE}ēHa&yPӀi'tȧ\tGD b56K%Tk>d\4\p2p) HKko"d@&1DfAI0ҏM ? "POᬆdQLR/U|n2 5 FID0p#<8G}t2T8*-S/q)*2&Я'~|b:UHRJ.x{!wk{3(u K D<`<pXƽcL][Zr=ܷ}<ɣKx *iHlI/\?Zԅū޿ihGq&D[19Tb> ["OD^@l'H&N,, bT8.BJ2 qYp/c Kh9uJ&Y Ϸr˙XIA4 lDrTRd G 㓷z<8p{DhX55CO#97rT^E `WN0 CB۳\OҽL>,~țR)9 рbIRf/ZL1̄i ;ǹ X'Owuvf {!/8~|A.Zd!PwxMX̬NCgd| )(H)&ɵpVARh$8];SǽJ˸Ff {+Ju'"KW&|\tТ_=Kx;Hf)fs3nEzOHZnO qۄR9es_O%`b =mrYB?^3hN1 Dn?ʮrH ΁$' ^AJsZi.+Qr6)勢8T[bkr/32Kk9'mFeBO&ܼ/:C$sf)}}RE,:E8/a!Aq]?9/[BH; SN`.GKO-hYY<E'<JO+T.|}+kib]O]`a!T`%VD_.\ m Iudא"x[R 1;@_-덦8␜6svJo1G4K kIZRz'oOʼ%ǻb׋?p&;Yڴ!l +=>b=Ṙq#L"ʕSAV撋|CH۳ջr^ꬰ,H 줶o<֑^0{Ohn]qDmD%^5n|)rAT}NC7li_ 𝸶[u==%ӀHR9{"/@kѣD.gg\?~M֨$a^F&Ksj%rI듅֯$\< O.BEZMZ,ؓ]OCqT8υؽȻr*ABjTkֿ:Z>$H>߷0f.G&︔8 55'5s,dov[x2D<.dK3Sf}d}>ß0l0s-y@YjgB\K8F/H~*GuBx nqBK?g#]A:?4:y^^z {Nq/_Y]\"I5y;/i> .Z)>'"rkdN|Y;Tz|XȧOz) Axy+DwH-0BĖItNZ) iB8 α"΂cӤ'$™u?+2#~H͋=I e'Syd:0DTr`PY%R"Q3gI]< B#&i+m.&'VH"2K>B{6 {YQD'+&n}YQy)]h6伣W/ 77C-/Q !,k8%-Qy] <5?~gTmPp.Uu{!rĕb{{{WyD7w82]#b'W< AMJ\ ZYV(b"2̙L,`'%Uճ+to\0$*0;̬T [*1iLׯl ٩|g̚H'6˰6HN$ G  (//NHxI9TZ\sp1!/Ξ5Ww@[߶vNvdeGf&Kj4ƭAf]|to躌xTMπp D8#3yR8\̜d6" I~6 LZ!BEL;k'vB4$^7uRb>cf>CJ!FfH$QKX ?`~yj3GظbMtªZMF>qIs'yo$㶘B>2+7p_@Jh!TJ󛄕}ZuFqՆ cp˯0%F++ 8+FgDӏ2nNibRXYY%v;| 9&o'cAZHN2Sf Uꢰ$]N|PPc,Z(R $q_zZl1Oѽ߹L7GFzFMH9 C4(pq4c}a!hw*z1.H{7@ 46ڃʼPИ=^CCCZzEYm 6%Ruۢr V%ۥ Cb沱P!5 ؙDcǘ-/J%^^[ 68$<1 ~ZC>Svt8ƺj;:MsN}աɦJs{aa Z0x7uӐ7QU$$DCaVK]Zw&ne+7G{T'"'8?|۫70hZsEGl\&4 }-b`[(QiVT1@׺#DjO?h?q#'NODN(V~ࣟ@~}~#] <}4W44*d)C+;qa].9v ox3@4Ok75ŏ(ZuR|PՔ0|Ofh{.,O;m N/EwϐP B'vaX15uͼ|vic~(^U?xc٬,f^r)UbVe2RM/ҊoFF|q ,4so>D|!>-EL}: buΰ<[U/յ)-eCWtgl $BAIQjǼ8q >;G=.CqDA"K|NH1S~_'F繽I7d$P,-afL!(R:WoC+\5CiZJ{!16s4}s$m@OpR1| p]M)FW΅)Z^A' ڦI$z7L;4,`Jɟ xJ}#; g gC; r'iBa_(w@{ܔoZeur7ov}Ƿ>ـB-+wTQw ii1#<WKxCADķC58R"ש;A l,IP{?x݃Kv4׭ˢ޷ymSܝgYIh hl{fd]%8GjlÚfW$¼֟ ɐɬ~7u:GVrē8Ij rwWb7W6^''$'0\MGq=P2dΌž{F:n]FFZ@m-՚+ONTSOs5!%?RO7^2VU1;b+sxhY`ACH曟|AK"(o;P՗'Xdd y9 .t͡feͣOyy (c;SK:WE>XE\y}H]>A9U3Sq Yb`Zh˜;?0ed=#x+K!2r`(?7W,}A急SM:he*)Λ %+zƾ@#=Y-)Dz7[LКG ܞ@7o%Wzd#ԙ {cq5Zt= XU(4R0V17z//"w䮏IN/\]SZs&Ƈ Lh.ޫ3FW%lIt몢K^H߁Z¢` ES4jeb5JO-rB{x_ɢ秒ޯJJl sP{zj@\a8D"U'e,_i>)wI*KYZevd\jip&9Z:go5M\^Hu,ѾquAjeru[CVXXzMTyPHŁ5׼Kk4{V<[Vf 0B(kB@pD8^i6 &fTy|)S׎<);UEm!٘AI6|s wl#8y=B:vKZHgƔ[b)ڠC[hWq e\1FDZfY7xvݼ̲$S'iOW=աhZEuު{~;]CЖ*ӛ=8qo8Zy[G\ U7Q"!C&Y^d=mL _.Y 9< \gyLw,yL1q'7F-=qF5\F4T#p*ыhy,Y |ѓ 'x_w"NeD#?3rC! @-A@z8RX ߠmt++ B e ಐA{4\[Һe|>gxA|y]Eۊwu?DՁ[?RHyu()õM X8Bht`2 v3Qgbm'qZ"yX,[PR50(._ͻlS>shK{M[}Hjn+u|y{KTFl`s>yӸ֔xso\Y1}K|x0.zC=~%owtxpÒ@A_S+);IU ﮥ!C9]A!) s14iE*Nkcog|4$hc%iʙ8 @%̡Zn1utPKLz7ok :5D"9넀Ht!!Ot 0[w*CDn`1HY{ܞQX%gKK## 9{B,O cOB'2<&0\HZQ`-7ǝ?I HG#6NLg*1zzPw!7(`|In7аDLTBkAkfdq!^ūMa:?'p1- -o uqs4&3]SzgY.fN(!U ٔr{kf1p/ABD9č;yUB_͊%E:mZW醉; J_$#-Z|Fi?VOi}h|Y|]l9+mKQ0&flvO:1u?~jBȢ*?>UoiuͦBMw8pۥ5nI3-k%)?Szr~;3w:6d%^y֢*y6ZS 51a ;IlG8nd\*#; vx)CU8SqzHᔣ|i|Rs8 zjG Kx쥷LejL%us,%%@4i;UƗ yz%*Y5*9JoB% u@%Îz_ϩ0g8µ9zAя,Pcy4X":L X;)we<ɒB5N'73wr;я5HTBoR0ɻDopoT)ERRHwL_'%T&CJH7TRh%GJ6QIH~T$y}RUNwaf5FJ&2}܌28%S,%Cl6}`쁁4 l^MhFbed 3@1~ȴҦtR؎?=9}m{A1);8}}M6J6}OCO45 \:bq<\m2KKB.r!5+xZqLd,ua G0=L.{Fu7@mf#N`s*N<3$z3u I*jd21|n\֤Cbn'Ix<#=r' xA[󭝫z=Syٲcܮ/蛈e99c鋤rLOVE2N=7#ף6P~eo3z=,=#>ЧT!5M a yxxA#cFσа'$?%*kVYJ>h$ߥ7R_;/Y!-SQЋZ;}׹9D3dPBEsv+djᆭg 9-Fǥ&%RZ D5"{Fw>Ҹ5{I'w}S@w=mQzꖳ̓ 63Έmxoi|ǿ eG9

    ?$#K)BN&d#9DΒPM:^]nV՗4@3RD-N+Ӧ3Jѕt7=KӏZb-VY#5m5Í%vY%fYa.l[<wx[>e~ &ۑPRcdYu4yΎ{Gף/_c cflXN<_! Ңh):b*V⤕Īn-vU{i/wq:nB7W;]_2ԁ:C `:̇~8:܇~D2"JE2iɢ%] ,v/xڕnpA566mƩjok "F$3\fC6.{4qnS!0KGRGǐ\?έCj?u wSvidUXgY$J I˪e :7D}YaA$-sH|ƪn5i̪^Ge˾)AY%pxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-600italic.woff2000077500000000000000000000561741511656052100364370ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2\|`\n$j`?STATV`8  th :6$p j _%xan6l2"8pN1`SA6uh mGCݚ`BBŪ‚mbDEv ]-|-蘡vfպ`.Gb:X,pEIt|CVO5B1Y ,>W߿[2̌C#TQ= ;^-tB ϭNc"L7FHɁG XyD 2B0zBĢƈB|~ci»Y\adi;O-fդ{% >a"|nCwD! xI1+d,PNUշQ7YΙ5/ϧ+ UM6CR(iAI'r҂nyҍ9Nuu{ݽy~lkmJ-E\%/0KiU6ɿ-#f &^|z=zڝQ%HODGdzdYRFj(̓<[LrsKAi""1#(Be9WE.QTfMmP!mU߁0Z Łq{ | Hf5S~A^,0dža4[\Tܚ :8Jq$ӈ1[/SV9,1xEb86$&$rig~DYšG:^h8Dy(:*mFaSd[{fmZ?x&{fcS'dyR*H%yU>ӎ˵vԝkuv;71P<QWtYR&&>omQ[o4A5lܝA$(RK ʴ (:*&ebԤ)Ic:qA#Me)_Pw 5 U#jӨ&,Iso}s^އrS^fX{4[G qd ЏN%*-hHA`SԭO=is;|#)2J_%$噾tt.I1SșNvUҲ$0MqDŽOQ;ЋڨJu_ORVcSĤNQ@琂nx='P0i_ ľ8$Ae۸)eBSSqv 2QJD +؂F<("EB.J;}/&|܉SlFX}PpX0`cy׼E[GGIgkyK$#5 G) SpzblgߕUaMA l2<>4I3)t9tnNH?6{oN/WOڞ]?yqTOsc 7H_<|vWI@KΖX,=+NjPWcbLH_o <K D #|Pʡ4j -k bAQ ]P@<:u,ALaU4Ё bjiIQs1m28" j"J&ϊAtWv̡D}H'>/2_m: $U MtqO;Vh-J*o_I%LḫKɱfg{:;Z[M uZgMuU^QnZ&A+ӖjJԪBB.JBYL=^:gnzT^ر۳!y;VX [аO+Y L\u85i0ԒfiEon $zLt7s&ؙLKjk2Mi)6no(Xز_d'il,i@ j޿|+š#e.`sŤ)^~T.Kgp꙱h)xBiE- 깨X7)}UP~J!w){Nl bܳQ5MOb0ULsP]Z]+ 'A;EKr: Zs|7˷ _^9D]C E ~ɳ:t5ʦB ǗVSeC[mz`ϞW_8rsQkeB" 'Fl!xf46Qh!&y^S Ec ɨ 3vse^E'*v7w.UL.SіMevT\ב+֙W=́-E=ռ B<&$KĜźɊ9}QV5/jQpK>IRO;QZ5le/6Ao趘bm֖bN*ACWVZD^|͹B¡Eb dVdMl6œ MKop-ɜ~ӧ o'Ul&^AАZQnc9Smg;NkQ(%i (5p#֪;_J1F^ܔW,a<:TP(=mɲs"lqy~HIk ph7!ߑդՍ [^uQ/8Fr sIW,4ќcsNNthɓ 3N{C)Ⱳĉ v݄Ĵm5\_B^ljJGOkwa֮־;gzO3Yb<}`.ר)T9o'rd-$=-rJ#MDdY ]^@ͪ WB]E:YSBлM:ӓڒǙz^9􀹹:zT NjUFZ}qsӒqA>Y6:l!DC-T αz^z69kZiȆ7h.`uk|S?0cTqQ nuB o1 1˶!6)5CF(S5;v0-W6c집{m,H-#~^XUq߆: s#r6A.y%yÆ{Rb۟%Og\>"ң3S T-+[mE,+܋\g? d b" lIm%Nǃ+&uP1:g5$۪DF~@ rWViG~ |Q8b.iX%s@(Ԯ%-W d#7vw?YK%>7c hs,ݏ h:XIjnN$4Hd-崠)4HST%aTN&]J6IΏ/eWUW %+BiGqMC2a3-BMq tȆ4iXöp>8(;m#T !Hg"a=04ϣFW. ta2]s/nHs>(#YLͷ]"B/+k?PUr+ڡ>GYeл [XaZ$9ATHq%Pカ|kiL\seWB5zc([<΅ 8c,P]Ȫa.@,qι_;"mMجC7El0F_YXv> C[}) ڢ$[7Jt"W@o?msܴapqTؼqFfl<9K1P}{0hS]hllGL\pl(E,`F_UUrA W8Gsw[BNe}/|O{S80PxX#85pNuҤQŋqWGb (}:K]ڣz.Ij\'pOm:  aA'ovU/KQd9QB¹* f]PIW}*[9}kbēl»rg= dড়- & |ym c`Rػc"xA9?yB %1|~uJ:d~6g3rWiSd`f!e|[A_2eX [.@\=ԙb^kr0H &ޟD f8+Im"8DMݲp hرT?O%A !(kSEn`-]H @Z,̷50OoZ(g k :BEu,Xa Cؠ N'b\;=/"cO np<& !J, <.[EHy3/5|>x0U,%}QLX@)Pb'.Oq}AlG-9qp#]#ӑۥw:?8e8Ϫ>>!{4֏1bi`i;YS\3R* 㗜.azw{3կѠE2-L]*2P+ٳ>J skO 4N_ N|] 1gQ ܳ*>DAyplH}'ufN;fbdmF9^-5egjUm|F,s}Qs%|J8,eC,6l;l%X]C<&p+A#S*Ua5Jlq팍#|X/r](A>eV_ۈz[˜0BQތ;ˢK[{\ zYF^p5V8)z0fR sA mn#;P&?i'zS+r’[w%,ODPk֣(m8LBWf"/p`q ۏ;^M\~$?+:cq‹T 2j7%bbXW_c~U5e)öeNv~wb3@lZpjXƝPʹ* +|9uZaSA [?q83~l0l1\ Pzzat΄ϝI4rv/vDn?4)C!?m8K 2AX(~:"2#H ?CVu[SW/Jx$K[%bP.Y T``}Dl_1"Й<vYN?8! UE7C:sEui7#SE-hm 茻g`F7%,ĝi$s~џ"of0g>ssi.hqXdzie<5L4mc߭.PX(,21!7Ac}kwHaϸ+bu-nlcug>OX&=.AGRoeElwHa] vUQ(Y/B*7W~*GnPW[ӗ0%2Yb2?qUJ&NJⱜlT)xrn]+sa?sQ+*vwόZ)qI$sDw :B Ieu`W29ˏv%uW3=LY:P4#`$9\@Iצ G#Ǿ91dq$% Η4URvXuEtd^,֯p<TCN~ I`+?s^V],z.^RfHo¯s IJb)Gux&=~pR:2u&2+]J'$"_ꛀ("+5D{LQ\#1 k?I؆]\Y]{0VGjatEeqWCoCɹT8T[/SׁA.yH~b/?%gkN7O lH~#7%l%Bp]%vs\QgA9Y`wIesheDnzzoA V?<(:9RVb'jٮfý[ O; Rs-5].q33BЌPPt$*^ӘY33 iTE$r~*cb(__^+'h}CR+)@gnoSlwleh\ZvFA;{LÓ%e)rE|e-@6onq'׬*tG[C_*BZ<Ŕۙx+]N~d.Q H.5`Xk4w޴ Q"hD'Di.9H{Q(h2TDaشEJ/|W Kqu)Mʭ),}[]Q~sgպA4'hłUYx((+2-*% K EI-!i:Ͳ\ Q1sż5DsqqUW`>6X3RLcwK, iQ4j*àIj QM$2Fm|[bїʠd-2mg9S0o,[MQIn.Y^8yU>SAϬS.{,RR(CE`x/s\z-kQOp02ѳkT/_)\y^7=kD!t%0ѱnE=j؛Uh*%:uA{h;NXMeȯqsёce4"J`J~i|G*a;k3He!(#5eQ meSr7m"nK8A(ȝ`3#3(jɿm 뉲$_GH* q"~lׁXa]y`wPatoݓt6.:tqhaz^HP*4؜ڈfoakhnFhߋAPmÛIA ʷzKؒGUocU3Nイph1 n/|@Y!4s{H:hj:K~-W",^'t>tu)aRs{3 @Z_ +M+zipL666)$} ܇yO#2 a;`am)Bb;ˡac|p8OVgZoŗ#2&n{*R?p%HKK7\㴧k%9KuU~17ԻWZKgcwVr~wP֘MCS[><oAk-9pa[~kX? A?^u0N58GQ '+1W WD.?o2-jy@[= HKdXa pesA嗠Qc/_ozXn҄`eWŸLZbcfYb.鿸N_neg'=~UD )zi暥jLHO1zZy-&?M|ۡ}] m[IQ;NJ/N:%?OAy[KޯC_\kA 8 S؈n@T.r }~Ta!"}Txm|IT´X9 ggħk&es:2Ť=d\(ra "KB#ac| ;rd- ~ٵW!uA1p:TMI#ܒ -XL yOn_Z21P=X#ȭj'CRg+71f1UI V+I ܲ-6 fxvBkvM;em V ]PRO(Z!.RĄΈ7va8ɁWTM wۨ o8P-S;ITج݃hDpR.5/MGP:i&WzZ)Yt!.ƑAw6M$A*BԻ~j #IDz0ur=j,킱ZOl=wWz%K+hXP&ga|79,2[_JE"aVu|Iep7kِV86s QKpA@VzE e+Z)yyS8)--b*UV`D۝I ; MH+\M(*KSALnGKdo5fA{<J1I,㟩zV1s%Ov7& ] i R+ ~HωU34l;P dO&p(%Ja"K{ ^zl0H/5⧙; Q@)Q矫KoR 9-@)0mwp/1zقB+;|\SJgx ܒړ&$Eȷ}p +L yju1:KJQS>%i-jQPQX?[Cqk7;*?r>Z$SB&!vnP q&E>'dKUdmip*vmO'r.O4Hd"9l=I!ڲ72-:d 8Q@f='e)D\Uձ;.Ą郓4Цtnnm*%4Q/mo}%VV1"GJ69?0H4Lt' I|Ҁ~(sW27//߅MWVYӧJl;u?؊{ΎeD-DŇ7>'rYWSQN!Ӂz^eu3.kZ[>GOSwpn^|I͚\!?W'r|^ç1S_g|a3QmmyթVjH 6*Waka^1ʼ-H' kj ~*9sm ޮ7%&DN XonT(sŽ{ՊK+77a(+E~6ф%6?ܛ\ӹf8t7f|]sD@ۃ}ߔhdTxEQ[,#*1G@&FqlG#'0SKjrA"^ ;[ŝ)rBtez(p>r ᵲEO, G@R۱kM+nV͊X648ΈT`QP\P6۲xU Mм=ޟmE86-Ff)3-r^VJh%&϶>$̦j/p&-([98n/R8RݍcDCUЬ)*יu9(SX}$xvne E엘9e1֒JUd<9# S|blvg:{تϺtSӇ5Tlizu>{m7bl"l6UfCuyULvbQ;nګaRɡod#R9G-|{ y\| eŤ9d0j=|u j0Fa*;څ=쏌`0H奘NDBҽ ;V3Y-oO p_+7_>wȻN^^7}I*pz,+9u^E?޳E+ZP߱.r~ڵ n bȋ"xey^gBЦs)!{dePR;Cxk"j&޾S:봈7Uu'"D •f]׃:h1I uw1t }ː?1* 0т{ {(&=pYae$Kc*ߞ(D}&v\0jN1 dJPױ߀&.BϢ=+2؟4w u\۷>R4$1BǪq7;>H6& \* ,lfjs͝.dvj6)'Χ$MySoxEٞ'?k?IV$lLmC&ytmaWH(kx0dzʒIvpO-Dv |觏{BAH )A C=ieJ|33S2|A}i,j5z\z'B n2l$S`RZSJg{K9XIG bp2T-a5r((=$2(B*KgRs+ОHNxFx`e _Wdr]VT|\iݓl[2Kw4xe*ÆdqbTR/)6HUՎB %ތ?CG^|8V>rhǯlS9eڝўځmy^CANC9cl[eȚU^y7,5͂u|yZ{:u& aM;?EXJ p7։Ӕ  Mz{]g*Qـʞ zrp !y8nR\Wp k\ȖY5У#>_2Ϟxc(Y9S 7q!wz_ɧG+ ;TSۤWsn.#%rH0XkC[K_ޮ Q6HHpih05v z8A3]7G҄2<FPST-qEgtt &C-bT=wb= TKV.E,xAr?^>%|U$WF}?Mpxnjw{`6t9/]S]Er#8F^|ea**D f9t5]ַvr/ fpj#oKoޜFJ<{=LXՉ55g/MTO#=OxiI`ho騈w@{7#c:y\# $93֣9k3md{ t 쭚xs_DhdK2+ `^t &.Ubfcea~Z&3W{+hqGt oHd/^gVUE'ƬUdND#Z.q6A"&;-w[%| s++Eod+k|]֬:E^Yz#cN /nƸ5y)amV:W|+"k>WTkv$*rr^ԝ2,\kG(&,;llQj̹ЛW':'[ko${BW=%^|`MVXF?2Snq:e9X-sfˡ~üGL!:U_<,3e#WjqJłIOE>@7̓3;NJa n8o;a$hwԊ^ݽ)yӏ1\L _e|ђ:1HH_'4erWyt[ xw4ݠ|, vU!K<[eѺtr| 勫w^n%ivy]o8Dk:urTC-3eQDՠk!6&eXr\dAk' - @yZZ8l1,dkGCbŕ|`hKeEƳRXN 7VQHe?()C5<PoFʬ,AS0+ވhzZ]^LK38]txY|xш,ϩM`?=BH(X=b$7;z]1c8K?Uʦ)/tGx'ixC8!]l#smņ-̊YL@dśn[_!Y! R1$pav5ؒ =\RN/ѷBp!HǴHS-fG._;՟ .9R8zXr5~/#'VVs^/ Icq #ë!kZ@ g69] /$ܤ-5JR3CK ][nh>Fо_ G>qasfq Cؗ cdK*/Ľ1Ǎ'(yp~ֺg,OSAb&x ,0E)E+W}i`Ft5j:9ܙ zp7,Zgjn@P"y@iB<1悋;>[HE< `ő]ٿwN -Xc5"!}YpLݛrA&l3^PV3 S A|ٕ.jJQ+l @I?Ib[&jWDRI Q?vOIFyM4?/^=K`_Fγ`K)#q*,<|M-<>˓*.?zvCs#Ckų:?{k~7ac񰜌5(2H!~Kﳼpcxjt/3# Kه]DZv]4qrEKbJʞ_јW`֙S"݇[i+kfa=O[(^?^_feS u?ʋYw V鑖hqj@s${☼v_BKѮt>[ |;PPRYiz2M.۽ C>c(+ub}G@sjYE1,* ˅-s zL*fp)Sٙ}x߂;!!g{EM-Othntb4@X@aynzuuRo"ǟ 9&}/%-,!L VJD_<<,3+.VrV쿒/'7rM#+:IM8_KHu8L1ఆGY=m!\c8vPB9l6Pj>@|/0*k2 L orIѪĉ >֬j}WDzviv*^g}}`|6@!r 'f_`TDJ 7)]-jhԀ̡&T4Wx f;pΟtg;TNWm5([3φKԛ+q+k/%\j[u“,,|^YR)xf2v^M5ɧ ^#0=NzH'W=Qs+NSfp6fB]wX+-ܖK^1g׫8LeafVN_auL1/_#~dGjڧ|{3rnZk}rGs,hpL vKKL?:{ E<9ϊ邫"9,Ly$FM ^h*c0x\٬ީk73a)LĚq5dzjmT4v$p6>\U|vqTGc8r !6*(xsz(tb]Md \/Y,55ub&AU$#eԆZv"85VVD1ϴ)OP`yk#V:j&Tz]6̥nYd@g BnPlenU>ƺҚ"253E-LU  >ra6^wa,Qr$Wک7x<^Wω,߯=BGn}[޼]__+kdφu >ׄ|JDKzd܎4J].+0e|p yw cMDܥŚ9?N3\kH׆;k7CGfr2n7S}F3DW' KRt${GIn_A \rnHeِ@V`MJ%}*VS| /8|Fe;24;'%zXx{ף3"B3Q'XwAt& MS]!v>s3!Eġ?7F [}n !f 2>Y :VL2Qg/m K -NGٯᵗXYț|H>Bvsn@t!;b3YRAeżow,sS+Boڎﴞ"^cݪv\Z>0-搘,;}zFʏ8˿0xh5X~@dۦi]ta^; cyg¾ٹz]+t/OQԃ\zҙx_Xy"{W(Va^ r0ET=W>a @l _oU'/%~6I %bԍT*[e`م?P)6K=2K+Rt0.HhչTs>ImFC] =t9ڗ$I*)*b-ExkGtͱkwD:MwE͇)M$*b'*r#)-9Na]ǼNVjzXmsWgЯEB= ne2eFTH!L:H&C;l!H3v\Þ E8p23;)ί6 )8؛jYWmAxOSaK+KɀAy|.Ƕ~ SP]ާ/\7TԉL%xI~9pU^L^"ht`Y$U\5GJ꣈!`P؊Z™Qer%(H2/)%IT?open-sans-v34-latin-ext-700.woff000077500000000000000000000640341511656052100351620ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFhHGDEFGPOS DhLcGSUB@fHaOS/2 R`t STATtCZ^Acmap<Icvt =I,fpgmZgasp#glyfNAmhead]664hhea] $ Whmtx]hPJlocaaL\[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`aȴ՘,,tiX`Xwwg w?n 9m@J۝x@PN"baa%{B# gd%!)%~b6xڝlA=۾LmqVtm6Ƶ_7Bo#? K4T^cf# b&QyWy4Ɠ$"K4VzO Kᖣ>kLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5C-n9[y$ĥ$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|z @S̜-@B!"DDDd+T ZE.t֥M-ZkZ~>?~nݵ.*I"\{g<;ï^`w  !HLLS9هB c4N[bX7vƌfNהf'+)^`^Z4C#| G^5B/n2,#.FD(ATTNV\T $ ǑPK~#D4z9͙8t#hmE @'MT5SLOl^~:Ƴu⧟^ bAp֘$HVJ$pC猋WU rgdd::/6 :UF3q*/zį9QYqy&|ᅇvEos#G&?lit->$Am3u76o?MN%&ǧmS7,(|W1՗x))ܹr` zV%Dyj QCJIL1"!':(Vh]{z_ysGojJJj$^ܑkO߸q:;;;w.;xܸ͠Skݹ¿ Y &Df2@=4X Y/<2PX(Tf D8:>#i'@&#b-?1dfG-ɸuD׳;t;s-i\z'VM>Rsŭv+[`ˊ ͞;ģ'T5FiSRSFtH l](!K>72|BsA,}x&]tD`C̽vƭֹݜ֍R_9вC<%GFj*pHj,j3x^F53oYk@0 ZW,gGTɚx-P; LAIX F`x5cЛ6Ȍw×a'gSmЅ/[3|B \d]gʽ2 $2,*Ӭr^ w>o# n$,][ J"u6ʄծ1j̲+;Ǘ5PmTI#wu#Qu>!F\rOF*'!dnLDS#^G͐=/!3K];(4g <:.H~h9R!VSjNÎ%ق̶O{}^xBu\\*+{ qXzWXw~g; >ń s2`=@AAo6k CS Gz6S)hI :S`Kg-9ED@ *DʺGufyF6Vlܓ<>꾕Q)y`CSGܳO) ̱$&q§E@Ht"E4^EUӤS*epAtͲ7um'U\t=:?] PkP\( Mm9VBӛ8a9( 7S̛nZNl0ϡi$qf`q($F,@&NW;ci;LFj^{b*HQQOnt30Ƙfg6A:dG/E?[Z( p@ HZPl6DyxǑN h$c3ĥlFkNz[j{ AKVl^z?UBj=1ljATCE-6lm/[=}}Ʋ4LսC"TcHkgüݐ0aEPI ,!A;xA,*{ 4d;щPay/~Ò+&g.5-螒q1thJIZwVOZjXgZK7̉\;y o8cz&M?,TQ[LKJG6G>jHL@vE"+!f[PP)0M\ZNS۹g{31Ew{e ܔ:!..7bf lX' 7]473MĉLXO<[!E;̠ {`dˋꈃ 47Ӭ:BŜ]G`o7v $U$W쁀H*=k\Uy&4n뻗Y1&`=  V]r*<k8z-D,ܣ0~L8hK"y SO5%m\y^xW&4_r)rp̬)iIyId$ ;}C$@rQ`"5㊊k68N"Id 9%v)t-"`]ZdYGZl>+gX5xJ{tVCȐ}?64EnJɎ~X iua?}~pBaxLB:3坍.GqG^b:"__޼ֆwjgGԽpү`յoooj;qkO? rAA!C]̐4CȤxf͜4F,lGϖ2%Zv1h*,3fkkz)%`1C*h""I-bn֘Y:4C/[T@Xl,{fc]0~l YG[׼ĴVL* [QBı"^C0ZK4^_*6}NغzϬ.3ռΖƲ>ך` waPCD-sPGIUyNFܢsx<,;ߟC;\<~2׻ ( ̭R!A@`k9)^W i^? Vb0YIJ9_ׁ?L$рk'6S^DlmःyK"zcᅺwwj)ʭMW `1)>}#H~IN$ ɉ!wN~f|fЉ{&='h-xEoC]Q$ Z˓eS*DmfP1E^ ʪg˨LN )DB3sY~iա$J ̿P'!WQYQ1XY2=2^asPi[S'*zoy:s2w\D)CCD|./B<.iMk,-R$Kp'<$HvێUVV!ڛwv_Ä)9]Eɉ >z$HxWKYg.. C=hygڵ^Iץu]Jƣ礃.3ΏOvPۅ(Noكo|#̸z:6>9a٪ЙW/_Kŋ<,>|}Ȩz*eT*W*G> $!f = [[xKON}㡉ޛSM;ʉrꁕA I̬`4r2*W4bbw'liSq+!MmbXD` LnDV(`|T-,D4A1d:q޶hcC}skީoh4]RǩFhYE\O2';sH&%l(X ߂R|PDSZ 5t^UnMs7pecܼ%g_شe!#T 7=Lm F&'gkn\u`3-::)}lny© Ny DA ]_V\{!˜:Aw=my]4C?(qk_5/z pyO?P4*Q&q$ ɇx%p_!5B(|cm]IIk LoU YX&BV&A3+&HƐdj|7(S#ď>zè\>#QDS\F+9 'V a& 5sDDϮ "؅Ɩ&k\ӬX;ɚP&/}%(4&#N.ad J"{<V ټoSoHMҬ+@L- W_zH,h9L%kWK:Tӿ{7S)ue9j  L7N_jfdýc̯|ѯQ<۴!M~GΝ[_EQs$@qµ_ p SOqdp,NBq,G,ʿ'OW# Ƚx S-aU> IBK{d&|)! ,{D>9 VH;G֧xY'*-&ޜ2VXZ]ѼD"` V V,r̞]DzJG,CBk[̣DE=k0HNJ AZE҃ c=Hz/s?^D3R'xSβػ*zn2o{wݹ̜!ݴĪ`†9Q5{@G;YSS,dvES6?mß&M =5֑o'SKz O*'x䲨(^h@~& QӹAR}$l6L!+,*ˈ %3Ƈz5yHCP JaSUd 1 ^;n^ك\RH wA}l 6\t )V,3; 4LQq I354VTJ%L[ӶQ&9zBV>`l rx(h@Zn{ z)x~s6>}H6vTbNS2M5`1j<xdhā'EOw $mo#>^UW7; '^ɤMQ b*~_bbo ٳX{h^:#fn 2X,&5޶5(̩)nhKɒ$˂x_eDKĂ+FBc)Rj[әT˱?Z?=xҌz^T30r AaYJ,xyRz|}X wsעM3c)ƴ}l'|~onb:`)IWI`0ec||}5czuSJtS(-,݇;l7^yGom.+mۛZPcl,*c Zo**t4fn!Qd/ h,W#WrNf3 bZQw.,$.>~3QY٦P_̶Ҭ>&'|4T\t/Wё&W N25qT$& $&Gn-ovOOBk[f%yrH-o*<@fCk4ba 062 o9H!8S;b^19<}9ʱEn=tMq.Bcx=F 9+ע`|kݼ'D5u˙5MZ_4ziڔNJ`HKLHv$մOy!)ƦZC bMI8hI9 B C%@ɟdLάZ6Şڧz>.|hYmEiߞDƕ͗|ޝCh=G-Y|dfdv W:_:'WG<cr~[JV"=IsY ڃ"L2IZ XC|46;EJG}_Y?OWOFB!Jӯ}}̲A_L9z? y!.<YQ}o۹y ޖzKl=a[]4&T$OYA;B1jQ+pEm^VlYGEiGZϿ!V,!V&XqP(2 ߑY;^JVURg_8H_̒p\5TtsgVVeURJE3dR&]ȥ$U/,[6}t(2S 'ӪՉZTZ RK1)ōx=dఄ!G%,0OHXk|wruR +|oؔ._ O/Lk^;.jҖ1eV*ifݪ%QQœMkMђ9$)8kܴe+JK+'6;[w;g` 6ҫvHVdD\JID@̂ 9LD-/=Ў ~[f Gn.B<%aF%ˢƈbr&9"*u&L,be9.d |)aDmō^'!,~rnˣۯ:rø w]pmͮo_hYIkv/-m/ 1*㼪jrjŖ ?\'y0Und=0i/4b3>r|`13E rEV*'!$PtDU#:ԏ䝙ͮ NTp"ĽȈ5Jbf""AeU2DAS:h{"xr,,Y$61.!>jEN ttXjtMe8EVbŖf >h}G <@UY8w'2E:&ҷ7KGsG|cu؄Kn3Sy~KW|mSSIQsƯYGal20vI@f@|(SO&#C# sYLoEF . Fī~SVHioM--MSՍ+*7V#܎"P"rؔ5!b6jRcb"##0@]b([jnuy}4$I5K~(JgYQe?) .^^?gFG6/oƍ[:ci㤜m~`q%k0 q7'ӃL2GM7M0gN\W $#ǭ(eDz?JK!TAf0VjY3aZ p6Έ3@cCkRzcن^®)&yB* icZ'|~7p@yMT$ =ŢFVNC8UlSpѷ>Gt08N5d^xm_D@erg _)hD &haDdr7)@`p2GHƁd,WP81 ?jM|>MN՚:*T~ec+rj 21pzinC ^DVqIu)S!h)8CN ڡE\f!!7w8:VvRkjea_Zaj&2 S5z0Od:82O)^g=<Ue $})YT$ r~§A,C5ZSkT@e,ʔz-'Wwx^ ?yH'ϷJ)v8JRAq Ulț&| "2:ߏz. v" ]#{! (Kþ_:BʄU>@/)DJ9E T5l4FVc(ŔrZ \w(ku{4M_{;8{YCԿ3{G#jCWygW}xe5J]-4lY{aZFdmpUHbV="SQf:gzq-.~vlUի!8`./޵EƔok]cC,y (Էr.SkߎSDj=V}tH?=l{TDfHLV-XPG`ש e9OMTqBJi Exi}V5}fo,x%Z$FC {q8ÇG1qn$LaaoX.AnjEg^W)^7sQ,ln*6.3N1Pi6Wp)gS/#PpY4g Nc6aY~brp8 :5le)O* >3XeG8!!S[dzx1'm'5 .adBq(FJYXX$BC0$`8'Y\\>nR:ZLą HUrk[r=Vt#U+$D ]ٞtg6؂gkϵkSz[Y;FͶv-|悆ٸ,t6cԤX) ׄiߵC\4գܲ(199,.UO<9=U,x%8cU9[ qCqOI{"O}pƛgSEI&'Ϩ>)8ADLr_dv7? ڐ  izvG WCsےߛMޙ39:a33HjdeDAЋ[BF@(NvJY7Uږr&$͍Zՙ8㙝C.ihD)>AeJDه=o^g֔,,V)Ef]K`bӺ{$'#Hi }00fR@9*BY4DvRdvW (,Pz%@!]8DD[aR\(,dy`{T8(ԑ/n`rƷ.tn׏*rmUOuu޲n1~m{"\<3 /[%%l^ղ(u? Ndw1N. #28=܅+L Ӫt5pv)u3 5 u" Ne56}BFŧ\h|+>駈Ih/'U$"Q#jx-p!.D.67YR 4[a :d:fNyżgb<}xkAoG{G YBFQdMdm_O&}5]R ІB#jZ^J-[vsS^{~ItKUߎޮ M`5 / 0\d@m|2L:呾Ha[=?7X?C4? a!f[Sohqu;KKwve[HIDk уRQ(W Pa7Ȇ1nqþ6l8\: 9G9 ZĉЙOΎ3{ÿd#^{HDqA+ύQ8YA,JN-;°W z qrV;nPH5,Bp^4BRY6mWy_"be,$T>ԓZlH4ŅlQVk^vc/u3}we?U C ki۰_-"8:79oo!~ggw즎429}E-(u]# u4̠: FցG+G8'ޟ'׵^>ݮM'ʒQJ]t7oHg+Œ笱n_k~O}*ƅFDdX!!( ԶV[Ys-fP#@L#%N/>Vab\#0ƋӶny?{s1^{CQIBF16q'>jƭ{pn Bk0 dp\:s9MuQg~کMέx9loppox/p  ]A&4K-ܢ+wCvjV,v=% "<,7 =k[x|Ջ'h 5\,?*nZ>@Dd-Z9N~cH(}j)e+3-qHϷpQ PQ [!D v]v `ZRW7Kc s]C3 (;ccb"#yQ osM wpB?7P͜Y"Y|f׎GF=^y i(j?-32*R`I y*6m|T<8cp&ﮜ FgF'f '畬i*.-+)A;viTljx"s8$Si{!~EM%uTE#q7c,zQOv9LJ/|>5 mc8N&]K>+2Էt8LEXhpKhzA4J\XoF.҉x绿cmK|; wXߝ -+&Z:1FDQAl6"T+^y 4p# G `-;!,]~y,v=2͎2&6l]&[&U<=M#c}(9G$s}$^{h9B/ZOXd򾨨ƗwˤX4Q"b'Į bCu7Y{`AScb{H_e)iJ9-8]-{zLFS{3|SxI:,Ed) y}FvdS鸨?INg$U$ĶeEs{'3 l( m@ۀC8,p:UD D$.D蘼UAɳ)0;{r1 53:wڣxԂU^'touzbYI=A{{T6Djn}ߎ:9YY9N%B0dIi2F&w(ewu!! `I|K9={vI1ּȕ׸ni۱ٙO+/KWNN.c읍nXm%{Bv9lD!iҺXXfKRRD1pCNYTxKtfќil{%ol= .gy.~UUuG6KYCA)(l6G Q"ו 7Z\nx8OK\yոx*J /K ;]C$=MȬ/Ns\y n" AkAAC8B0"ln[WvJ"Ug.'(@cR]w)rPVACNYnP.Д#]~O6x<5(":]ZAǡֶuFِW|K?^2ғɗN6X( sɮHnsɆ#$4SLҳH%.;NN$xFް2ɎCN--= "[3ިI@sJ! fdXȬVR m}}nmtkIRIkvͺӻ;4lzWSS#SǎL+sj/lA^`Id!?^`1X=^jv9l7";pY if':y 0t*;,sy{3lŗ~+>WUkHɳTKBn@DOd~1>C6PXs@pӀ& p:KfGd_bCb >bӍ"nIZкbA$Dq#i 1ߩ(Y.5l=j2q6ΟŞy vƬه~k̢cRc%rLga7ŻxlzpTUm3'› EJy%؍g.OW=zU3(.Ry"Ϥ:˫ήQ!-*SSm-SZx3~d)uCL]s8TQՈTpI]N52W ߴ * Ī?@TgTT'rIիj&ZW)mV󪻼_or.;; 3Nx># (oP޲ f8lxGΣlP =ەN^4/i9BL;9F-v~\Jui_G]].ԁ|\Q >?֦гj|rL{Q(TucRQj{]cV݁0łW"Nނw>I8v/}xb@-ٌLI_1 2Y30u3`t?s}I$],XmYf&Ȧ6]=}!; x* l۶m۶mOٍSm P N`z=^a5'q\gn ʝ}'+X&w'%G-MnDn)o(RJP~URߴPkm}>Pl(dII̕6Z孙6mء]h:vpSef{^y-Xo{}/',TP'< L膹òarx?eG%Q_t1z}؎sem!QMf$B(yJ4L itx:#]Hwn`^?P,+æ;p <2>ꈆhڊv2^XƸ5Yxނ G )Fj&DO$6mԶm۶mkڶmk@+`8 ր Z]xXRQW4MBiQ!bcÑ8' Ig~dYDc"Ga9KXNckK_6!n4{ȥR~;?|PVh-B/apS' bmM"n2GfFRertZGmBT{}jiK'ZMӆ3/Ogt3O4W勞_u=Z6*FYloa0ǘ#Rh+ʲ*v]=h?p9]NNu7ЍrWͫ5zK;!_/x}5RP @tSAk _Psz#Pr$j26|ɛxN +Wɫq%|W1ͧq5|]i\+wƽ}*ER$ L#OL4>$DƅN:"#F-đRpFN4 L R,7LS P i;#t#9&ֳ&r6̿=:ٸpQO>L}&tID!q۹p/qMm2*Cx86 .Xjxc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-700.woff2000077500000000000000000000520141511656052100352370ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2T SN f`?STATZP|  l *6$P ` r6xxs`SѨPDO!L9Mbl2aR<.9JI˰Ăn6x66 Z0d C$?.R|/P6OX$ j\OM/k9 ƺ5IM%>f"0n ڃs"Ҩ>SY'RQ,RxŲfXKׄsS0r1`TnbXS#7bD iQga} Ux{)>J#(㶱+4,$ԬGӀ$ \8x sZwaą"4B_X͆ǡoʗB8):3TNΒ<-/|&,&7s bax낲" ̪Do7d2ÇC}W%:B|o7;4S)f ”%)t2|HwKSDOo1@X#i ]^ HgjXbqxA)'ӹh.vSujvK ."<i P~2UAXU#_%]ᶷ߻Lf{/SXKh}\B`89[n|C.<4^` [x|pa#>r /F|aď2(ɩr>5a-Zէ?-P!F _U{eBRs-pg.DSȾ#vLҕo*󅧔V-,khmF`@|KQ9r\MO_իpϐس\KC52* aF#WK&v&[ìqSow֜Bq9yp GsGqtrq ! gH Y N$V(>"[7*jlN#g&4]К5O I8?@ׄ+,u^5=ӤƵ#AJƔLP2!Hhcaބ]fݫ׵zk=`;{C'pVFdN<:XVMǸ}fY+DhkǬ60NXzF]PV9wļMXq/dvZĻnʜ9S1{q`S2A7ԹGupǝ%@ͣ+x6VgSTR(ƔdX% 'vW ڦIkA,-vl%1z|U .pw8{Qp6mc EڏXS#UIp LڣWZsꓝ i?ZwMCvUgu:EwWgQAi*n83<);Y{'v#묗PLdHIO(Ŧ~$r?L'f$݈e'iC 8 ?*,xz߽͆XV.|rfˉOP2q:8Ǵ:ș;Iqk+Z-vss.sӬ5j@3%rd5EQO̮>,wm;*aEQi/hKXN{U:"l~sUP]xs_o2OwmSWegikryq~vz|txY<My,؊7U^_tӊkH2z |kz;MGXq)d3&G/I!zX n | 6@Vdtjzǔ]l0F_(fCƌ ɖ]=C~%DHIV!@_8-HbEI8;\BxK2#D(i dJ֯)ȈVS&M![eS)+<R*2lⲿ!| 21Y%4*JnNjF`b} 74-V|fWWt9k D &M u*Xg|kѵ, j 0evx\䘂ӐC9[3"2-;ɩnSVh}TXe`.+҃I\I[CI|H ̨p9Mu$q#=Z'Рvj6v+u莮$C4N:e [eH:cU:sy68R2 HY)eN%>kN4FuV$-N&U)_S8n7 9[>/:~WxG!mہd9N:cCѐ![8P{"ȩ' x7d3Eg|4$6|s8f'%b tg:IX~8Y* -9'FlbA̧%wGO\ȻG,z0jϬ:F6i,&hs< tl#4]ߌ]4 pAh M`.DY[Jс&g KWɦ>..Y//͒: ru& m e8YWI[9q+.:йTEݙ0GgZG=5-EϻʾX S#!̜s`ʝuX-D8\˥w/{!f*{? Я&)\Jt=-9r)O̩/+ĕEO{RiG;V}NuO3Z"RQMzNe)I"eA5O2t-ɵQM6yχF]$k% |I2ZFtuIwT/ @DO#OF)b4vPi+5aTHiOWs :j!_ >p$<ԭdd&n,;u~6Kcpy>m-@@gZBG'*ۓ*T1ɝNK[4KFB'S>ݙQ _aQM[7ކ2 iЉ_*9\6%p5ʣgщVg^v ߢ\~ &@"8*Bpm݁,{/ʖ&rL;L0GOYedθ;)~~ږCԽP#u[AM'E C 9R8tÆ\3jy{w+\yl~ԝiLBp6@HT oIi)S$ֻ~n㛁^ h1d:FLm@ {MM- f7)qRH/Q*Fԯq蜇+:²0^Gt-U_'2zHZ1+tm^v}ٵ 0|[,|8v!i*ͥ SS}FUS,BF‘&>=ad ڼ-}: PՏ٩`B+E`4L!}}RGGpll5QݒZ[16֑ Bdy@0 h1")4?X)_ye71-[XJ'`:]jB}poz3PNĘQpeDp8hqLH_OMy֭-*.mM2Nʢ@FU\B)nf@LIN竺,LyW9J2az.]tJtjS.i`g&}^NIQG&1'U&8Vnl5S>@Ă"FO ?`cRLI'RCeypU>ЛVUwncrX2OMo 8!zJ GEnFd6$j `lF?&J˿D4чI) kț{=Lړ*o.ŏ}DmS`{"gD|v38-JJ#C$mU 18\ɜL* VۜPpnI\B0ep4+ j M,0yp ."D[{Ə ƀVwRجz8+F%4>'{F=ݠ2sYW)V5Юq>Br",9>weP(BT}h2Mظy^DGp"wўk+,2ldk\ff*(x\)테:"8O=Ⅾ#09Nbn$幩n.>Z=eF3CqKMFNV^Jc|QDOM"롥GlP'fI3Pz H7,[6 dժ^d}Jl(Z(s3BQ"B/RoC.p0{KYpk@w}+A8UL Ld\0cМj3)7s!2VK\nn,sԣ.g':i̚-B`-%R6^䓝VN1CžFTt@Ke np}Ɛz3d[['%O++{U )8Q/*1 슓,0n8s-IkCTE&z(ᐖLMhJͺEn$\.qƴP VMƓkWV*tڕ B찙 /WP)yrlZfjïܳm^G/Ɵ0kؠ$y9 'E!'\[+=5ABӅw"'p"ړEwL%ŗT' фK1@&dOYPM{ݷENc?pˮ*]<;<0)Z;)C"ƛ9/y8@=q-dB9v87,~V n,@^ZYl;#v*N'5 9ޫUֵFÇ 8ҋܠxi} a|07R:)GKƶ&=D lT_Na Cn7t9os;C ((uP'Lʼn,hE'6P |)%53?601r hú(Qoo#FqT?x28;:(3wg&c$~"!a{lg_"js MѰVj%ȭ6h;![֌aP LwOcެ ͮ q+䈚>ސF|р~@3lh.!V$@6)\ZBD/g% W粛{y-ZҎo$FM]bcfSԝ :w`肎7(VvfYgnR| Bu"C/H(Q,x @HUdxLd0C^/%οWak\ifS[D<0.N*eAab@w;3m6Y3s>Es7ZluS==b2oYFA qAu\R)H 'Հd۴->_ϰI3TlJcw 0__a<`My{^`*^g5Gc7%1y/dvUsqQ5!*uiﹹԣ3{ݻ7Ѱ}{Vakq8:r?MOI;f&u:FOPbԀ=3νTX+-o%gɉ(0]sԽ'yFi7oZ\P{ 6)ABql,/#S` #U?VXs:Be%9znqͮ&ENA|tgfd|.fTnX]mLy|lslص΂?D$ h8K?,j*d@/Nkb0Sg퓏9eGy2U4?0L+D=C=J+fR=Y,#:Xk;Ż%1TI 7y 32v~=HT+ES% 3 G'AmՙfoްsMCEe5/EfіҜX~?fE|I[{PPZ$++\zuJ}b0P|m77qI) dayG[)+έXwJsɋmM&U%=U+a;[;zPu_GL0_+3mK'tZy{ʁS ˞ K[eU *&\ ù<)R0u4ź[i2͓^N[+jeVRк(<:/;NmpeBd4%2n/MpKL My0LJP 6;G(.!rVot+f,ZqkKGX|~QR؞}J~ض8oHU[` oU,=nT#j  Ypt5\9m_ σ#+a>Zo˓)@+*J^7[Pz5۲|AU?]{ _-aAˉƀ Jҧsx6![|8h[JR~M'ق_qBoN|aj惱 `99EQXPC%~3B%q%Qeڴ`2B]vSՑV^E'Z2%NbbsO&b?tŠnh >[bB4[eҘ4)|Dm)FfzSQ~GGqc7~nNwows& 0 7皇3q&nK"w7cm[w'wLR$)S]Sjr*w DQ!e `˳Ͱ˕:Sk!wh0GьgϝIZu開GQ`:˝_o8/bn, sUg\5?Pݑjz nN&Hʚ.A)F_V~nH;65ŵ3K )) _Kfduf$L+OWؼI4oIPUԚShnĐ|bdpfãr k5dbQ~:b:ߴtmnP:,u8xZyK_zȗkbĐ-_2إmӹ>%e$t*J5VZ.ׂdun?#?`%#2҄&5iw;וfm?lQ}J@Α€%U{ )x:8(Ƨ4 \aGЃdzG=FHt_orm_sAR_boV=MHO6W.A3:/0-FrԐ| uc(񬇃3$-5!H͎ĉ_]f)E8Gbm\6&@@_ a3B0ojl5_aa㥜i9V8Xe$&z> k^R0Hlf|5ucgFEB87X ȧ4"ȕ{}!$ę/aqGHuC}xr spIsl&jLcm Vxq+9MjZ3KeM[ S mFf#/GD _սpnh7a }EKqլX?[| ~ Cc3\vh|2VηVˢ Q;~ 2QEyg9lĈ+ KebLF=͵4 pZr"9w2-Jb yD1 Ѡz?itbQςϝ $xplŦ‰S(a]c"@b  ^Xh;e֍˗6Cw8_btsƱͰ(F2ѷI;u4UBUuc#O7| ij~(>]<ȣ ȅujl%e /k#Tfb)޿Jmle=n™i|<Sz~AxwkgbW tYa3C/3~tj}c'Q [?:-CMa?<*"*wݖA`my[ByKJ1BBD#edzN57 y*htȾFYU}mX\i)uY;TG\ {۳G x7h"AZEeG)B}3lN ,%'-E,~۳lBce?=MR%(rœ^3oɖ~uG?*]ۃX5~m*)RdhO =[O=5J1ax{m:t|Sv,m{QTJBQx8iУr{AjGwb7I:5J6axQ: ~:v_܅a_L@%&ڢuc4쌀oI2W[#H<T)/-*ʍJ2 |x9sRcc=X~O'bIFZFi֭&ڴ}- ;問ob`Ay#Eͯ%#MnJѥuw[̎ Hi&LJ]L-ف$b&j)̈G)wKn@/796XIF5[[%؞-hh1xʱMW>zOY)מ+ "=>fCaOͿ+kuJ2:wh(EPߩdz < GK '8|J!;%/ HRHɧqցISi0n_~$?t-ӊ[kOtꑿGf̐w\P' [煞;k|S{p-m8"r MǞ~ sVWfu>AsUf6y{o򗵅G_mÅ &6]m.mؐ^FM}KZӴ6(c*э\HY37vz{¡aO>|06rnmmVRJވ㰓'c*&6^ظú;_|ϷEnL8H1%iP++kCo3 OvjϘl*K->{+%j.wo܍>+oe-Z 'G-|{LwLmtk_π_9/LCQʅtĴ̣4"Hhkx*fm _k_ӀBCm?}A(>Wm Ptkbxk!TfCݯ̛{V00."1bTnԺȑzH=uQt{]%Ӏb`4Y>oGϲ_vZ؆c__1 +*k.&ԩrnp%R; 1S2Ò#1øՒ{2u#_ (gFT纍UL`Ogs6[́ई.Ռ#x@ Cb孫-sJ$=̵JV_VMe0Œ2l5/'F)`q(+Úȱ~rt;4"1'x]}~ y w@r)vwu5dRaTˢ"inRV]9EB&KsE=Js3]J .-4D+* O #ceɿZ 젞6PVH 2|w0-(^W>\39<ȩR dy׌&D>,wӽl 9Gc`sn1_?XlE+ $$_R0 4iwswU Y]yi6[> {諾1 sX;*H@PBZTg\Wv7֜mCNE$rvXAJV%Yffj-( Ti 6u Ä@:Ҡc|+Ds܁녹GGVI2pW6qʀRS\Ոgs/*K1}9+d2nje+) 742(" co0vL,-qb6_sv:3]$*'%ٓٚ\(O"#pSfjJ ~Ē%ѻ[FB-nL%Ѫrpkj1mU}+%=N=J} = W &)Xi59hx`Ons? x&CSVH2vR<4w X Cnj@3l,ߕ.jO9a.S7 kQ=׿&%/Req')0ԋO&Ϯ<{A, +g|LK'򫅈r 8#CMt@ sʳ+3p;}A7o0xZw aŲքnփmko1W89ahJ|J<יhզ<[2$wxc/)vbO73_*[_4@`1#0lJTO2U({sghDMFv;0wq Jܛ>@IDJخZ vNFשׁrYD~Q ĭZUdoj ь׬uL雦 v_7iXKRtz`2cg'?so3;J[;]8~ MWEٱ s..lٝC\%,Lۧ`>$|?LdpcM-V^: :],ӹEki;17$D DO:{:E@Gy"PvvroK E$ۜ?\S_& }>I9赥 _Au^`FקȟPDCoX2?vfRmDV< xv[)eD:RTڕ~q̿ Sfhpk,qb0.d xE)~u-*TqAOw"l*\(9;/.dZ2<v$xA$DƧxKʎʚS{xx?ڴ =pn7{݂jJ Te?_*j Pn]:/L`(%!un^ͷj8\v=$N]3u ,ˬ>]uyLEC X5WANl.OۮNg//ɲ qsk1fq$'^@h@`Ltt-/pn`~*?d% lt/a 80Dԁ_5=)ghE x#(\+K2#/60S~3]znd h6$֐`JcsMuX *ND5dE)U&b QI0ώ&VJu Yt<{i`Oa?+0C~ ?@QE871ҙ`„)Uq`^ PmXCT(_9Xp#q-M8^23⺉3Q ~PH3B3Zj1UzSo>hXXfQ(KZZf̐ympafi)Pm֮vZҁ mWǿ^{UAw2d,mg@UA/w+N)Cm]kßZSh-ں֪-hEc?szS׉_?ղ-ߌ< `-lKJ $ @X/|Wnj;b5HU]D+3]EkG{Hy+CQ"!4m[[@g7?}tcʓXIl6C!o] ìӬsYj\~6m wcnOm S, i7Rk)2oYgoEKWN@k$Cte=0sM ߮>b)'zp2rC{nVoNN?DǗX1Fwx2?kc\3?v㡑WXH&HνWT{i-}:s9.4\ćLHx;jÓuHl.GxNrs*Nv#6C< <Z1|PD2L+CCdM^rmѯѯn3F[7hs7O.&ScoY e#0̏zm!}/0f  /گ拼l^N[mW4Xߑo㫬CrmkBƒXǀȶy5G,x_GE|O.Mð̭3x=.?]C=S۩f\-kS =.P{d S"}mQfȋ1N5ߜFۯBmO1G>1mw st(?ۻgĻ-GU85MRc)#eZt귄t/W}2DO77w~W):&}2;2N-,@AgLeI 9j~ɩ ;0>Rw ZNw_ f_ VRGR\⪑Mg7ֱnPX4BV*X4tA$QJ#)9[U՘hfy^ vzbU]~ j/{u;x3Q}"ϓr/Ka!=h< .U3o|Җ|Q?c8!_7C"{1&;8),⢪ .dREWæ{9ERKㄡ6[J/  %(u{IO0B(4ldbW𸷟/UqmR7Ccϥb덾i$AZx0fH񗒹U} v8+Q&_YڧЁXFڝú_X' D2SFyi'a6.!>ZX˚&|VE&"~\9tLe% =Sf] dLUC XWzFSqM+C_*H!d0eH4@zdd;̕S(o(ˠL6Fr3#1|aepdF?a4€voru Ol(jX!*:wkK[g])Rg=v,[H F\28Ͱ0_ٲL²/LFV1ek3LD#l;(R&: EΫ ^uUG٘nZ.u\pB 0IdIEә{N2U*r:%ζ}P\m],[$MMe֭[SS_Z_hH8>c7lmB@"&<ZGk q'υ[l`=j(cY/O5H^-~>hM29xw5:ÄkK=IcJ[ OFOnMo9<5owm- 4ojOpSVt eŲߝb/s y[t=+iwUXMrt.L`$@_ej5gt%)"IN| "HM{pFܣkCԄAH Ԫ+;t9֑nqLc\tL|  B&eZ+~|4: %kH1r*,mH%)-Ȗ eN'J^eP.Sq4deKAt0Z1f3YJs!jjFzhz;чmtwu9MlwFT x awβt-ZDj֋ɫ2/"8 9|.>|n/R 9ra"187zSX˶>YKǹQ,ͷE9!2N$y ?m[RP^x+QѮI8;ķn:'ҧ{j ЩfϙI>pW6yzig:%~{gkiyq_'2?r%/|kDLAXpmcw(6qwrL^8JQ=}V~΅;<'d6q9 bں+in0\'2*ZncRvglٜ &r-JWcĵʺoڼH2YuX"Eϓԝn&Mә uclSmc: Td;%N˃kp|,!H)#2Mʱ;A!`y~I$YB9kղ;fkJIS?&?!\X;־<yCE3b-'Fn1ErqMgLm҃v$|@n0 9oR{Q, I[뮻Jvl?]}8 1(D5^\NlPUո/^+Wyׇy&ug[/ sHۈpizHInHNy{#axJ~yƋEqz#Q+  1A@5sWwzXD?w{YJyHgw1ǘK>TblEoWG}9%_v4=0J~;'pbBtTFҩu {Xi7!Edd4lebߡ8s;(8gPqM>5SOI5k?,EH|pƑn\EA+Fv%% ag2(ۍMGEuO0"6CD"iFdP[f`m4 7JVΌp"]yt5Q6a+"[g4Dk 3QT5 n@X3A.1g&(]N_6/^%%= N8So%,zj㷽؋O63 V[wV+W7ᑣ1iijh:z8’3?%/ޖcg{ƛh .*wTg,z\ͺ%`9mϐ/{[Xm[=h/7X?Ê@`Y5'uoKz@2)~{9O7e.$nucVk1;/(cS@>gxjA ^̈́20v VRPV 񘮊ڈ|DtD:!{X =[ޟˈ"`&mQF0bWD%+뻒u #v-rQf#"M1l?Gdܬ2e_=ngT| (EIS^sHfqSƾJ&Ĉ[у XbBi-@O0k< }6ǵwoyiS)_GTlJq2LZH:1j)|c1Xϭ3!2C$R9]`{ܻl/v׼b 9Um?! nº+E⚋B}.$s1K@l׷O`.p GjkjȖI"tJʖC .H T2bB0>)f΄˩dTVEpϖ[ /P):۩)ą4BzFj3Ih_ghlBBMbԲlĦ˴ Mڎ])%o 6Gn&l!Jc.1:E7I DkyfS"%4!4RKP<\nbMq(ڵr5te7 t@ muX ߠ@!Z`0Xvvr9 g0pH֋㊛S7kK7[G5ķ2fg39Hnpʴ~j<܇/0#HMӌyRKk)9z=kȊ74'>/6x3BY<.򦼯#_k!ݵ_m!RYjJ}ij+#ex;)S̖<<(kͲSQ9oEР)u6ІXl3m-џ7<k%dNf>?^o8Q,W%6 VdMi4H޹@4qg0H$'aLLBIdDd$!$$d!I&A2E<\Wx 6ɡ]JV(7 (AI^|^g{~Rx&%89G4bՆ).<.VakF ݙol7tۇYћ^N~MqŠϟ:,KtC<F/gL@kl[~~Y6񥝘`qNq C2ͬ/ x y- ]jy6u#ROZ=vj8#Lw{A]@z% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a bjr}Y aY#I H`=b ߝq!W00pcf``c`XIxPZ+]*"uh0"~>gumOm9)_2X!S݈"^^xڝDCQ IPT!*Re "UDhai%"!PY)šL1-)U(5#sil>F  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>#,t_³vL[IHI(Tɠil:K!LY$xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz \SWシHB!BHBIH,awD("b UDk{ݫTǟt[km:::kHAg@sgsN 0$E"J셄X,Pƞu$cLNJa0}eRAܼu )%'A+O!Os+@A^yΙh)-%Pw&!o /6D4FP`X )j)  o8,'RmgB߇N|_]:7z3.y_`X ]^K󿑱7!!g/xon|vl'qY `6xPcOFc# `g!}2;sPR%W|.9@|<}pI;J%JlI['-AAW˽|bV1{Jcx>O /z7B%sbxp.Q&b?m|tIރ/ѱ(N nkx@fYde07(,FqA^%a 9@ $EJ$D#%?|%wJoLo4e鏕kHFhkȮ۴66V5R-PSB$]txpɳ{˛bw cg/+ڷ.0,oJY7|8&J'PU1QfU4)5!2ٌ~4r8%D9zK'%rI'zE)11$?ӲFe+N>}] ̭9؃Eo%Tk%Gͅ8[fT{pooxSu3iD".=.?8fM6k Qy%9kJA {,BߓnAá&\:Zęę^qf)O=ZI2g9,%؟ٿNu{ n 5\e"CA,݃h)p[EPMԬjj˳oWljj mR JA">< ԃ$i2\<94 r\;硜=]kt̃dX햯vb 3zHF ӅCuɺP8 W}W> u+G{p%脈pa@6g" U(H:b=P+Mޮ>qPUtH)jG. 9w"]:9$ãw pK4#<ѷTc ɑZ(H#?D )PH34 ])roQ(+€JρϤ'vB9Ms ݛOj13%:wS <#\+s)؛>e}kK}斪_ 8|~ǻ@0tt JD(( FK0GqUU'GPi 'o&R~aϒ'*^-*8|ո D2j4x=Ly0 o׼0jtdmno.c RS>G+h/&mXqዯHUHDy-2Yh(ybBZ' z4^0(%y(}xdm͛}ړMz 0A#Iޔᨰ^ w5eOɉ aה (m|xU ;D:O)iB*R"8vgݠsAb[= u.=;H1X4qTP̏{f}^ n'- kKD":X,S! @ 0aNPc]9 fwc KNNkY^3uEF(.\`B5/ג\u>d޴ʉ&Š${MEuu!Lc0hH\ RR 7+.cq\RRb'% >@׮"4eh^¸ d{/5 ,KlZ$YN>ik\qm@F8Da)ϴw7KʂUU32 }zw7UogN/,˭zcfFؖhCTRYkޞś7zj>mL"2v.W8/"Gj ->EݢDDӸs"|7õB >39"[JpvR8k:Ͱ\M ;%&%y\s2q<&#)!)2F\e"V#Qr sғ W*1%dkB>~PJd^yG?2 9F)ǺkJ5x]g|OC=žndO/GU+&I#V2 [2<3| "%CHNd"KpC R;a|ck1.D{2C mFB^'INx:_È\UXEREc3l@z3`l2$; Arx+uֲn{qN U#iY:W.whVp`􆍫a0Y7 *='[f?VC$Tw9S+SfUjӽwz?2ۋ֔B*v/Zsٲ|ӭmsPPmJ$@/sIIĥvp_-ٯ?,mNV4`{ÜmaI11q|9o.]D[#HGG*   x'qL"̏>yȞYd:7ʟ?0ڷpΓV{rZM ޕxB$@=vkx$ns*f'Z[RKyo4wWl73KzvrPƸqqcܝ.v8o *K1$˘cs]Hף xi AO#,/b.{NBeڄ"~ŻRrxy/J^H eY|&_:qAQ؛n'xiYt|rhޣo[;9T둬C9MxXFH!!A 1qJ4L0%dmmsqVVBG0B/$W 8W}1\[aM |  rMK`o {$ :5={UUHf\kmծ= Zjvo@.,IoĽ[f  86>|b8C>/]Ffu(g%hYpnww"$/SW…"N=KT -]@,0K$I^?x Gfa$kQD]WqHya {tp1(}XFW v)hQG勼Վ=\qicbZAWi KhL&:X[1#zKRDuvNbez&Ta.vl8kĎ˯?>Nن礮θ6 ƗhZ8m9mߟߒҙSSg.O){8ࠢKvfC1*f `ħw~EJ%*ɄjO: GI+>ae5߳wt#NJ(ea/82"Sjq-ɀI_KQ^ƹ&ޛ[g^X'5e( BG#yB$iT@DX5ǡ8vY|>ޱ)Q)ڌ&);V/pTi=qKabŢFuu'ժOdUׇٙM:rr%aЪP4p~Ip*"#n J ts6#;3Ý\sn?-Ltn֩&u˩)ڥW-gLuxgD2eY#xUzc{*R8X4u+#1'ZpexA&*8('fwWu&5)&RfQ r:DhKHsUUDۤh/- 0@ulѡ.Xk4u0tJSBh>@I.i¨" U>L*~m]l\dˁe(g7S6W;-_ksx,ȬddO|XՋ.ZS:ݍދh"?y"w#ѱ|uFs+ Ϡz׉Gb5\4؋\:0?h݃sfbNڌQ;e#s,|dzv=4Y ISC̤Ab Zр+WJBA t`n̄m!r(,#(R & E@o ר|QY`. _&kM Uさud9ͩCƞ}Qe\mڙzROTWvE@bʃ4p~_D)߻q^F5d{$q&yL,8$9>G>;R$98 $Y\l-}<Gy ʦ+3 74ϙ$TϭTD?tO6_˚[}I /nf?X_]=%LT"Pr9)ZǡtdA L8wi-쯜"}1^2ť2G _d7;α()sY.}5ѥgv>J:c6wũX +$ &>7lx >r,m[z`>{%?7Ք>lVo{Ο$ݷ5NiCp:Py@ С$BAL .qJp֑Gz[AueoJNUء~$SvW]?{*;?y Tr!@^Rz$y"#PLȏhe,E%( Lc*t?M#ɥK52 ~=$7[ړ]3,}[mLrHukI499a>&BtkuZJJ{?f3S\ӭ}kINx"[J]44DHq'1aͿQc>A}02:4{a/tYӐizb ⟾D/ = N{eWv_Hr][q7@I p2iJ bZv_1@Bȣ]|%ls$i- 937ڏTԸ6N6W?jpycLa45 şƞ56ɝhH$1$c7vέ6wO8bR!+Edc&BCSB4Ipl1)}_\EELIĸcێj{Fd'y-:e1DVA1nSw܈]?(Ș@s4l*L ȺCWg{权0=gٯW_8꺬G6˒ 0?>HKO=CF !qq%jw=x,LgkWx[o?_#8Vvn[ Q/ L BTHrdNgr?Ak_ lҴ+0sఀR3L5<]!xxM籅smnNv6rZSwY'UGS[SRX"DS@ 4 @H.?! U(#{sgWٛk9<${=8קs<e'1/Ppq+Cw,K+Á4@t%@IR(a jlp `?g>4ԟzz_!Џ;0-owTU79|OxHrcz"^ת=w?WAnW==|Jhc/Ud$!DAR^;*㏵#gln>8@slOs31y`F@S_-,-)Er<XbK "~CYN{bQ$z54"P\`0db>G+b[ HWCrm@r{ozW&3YsJregN_6idN_ H{6`j_9(cO?;yp_&3~}:!)6%pwsRBd΄c 'Nc\>q--S%5g/Oǹ%uDH| ڂ˛w0)2<V*:fYsC#kk4[Q(b!Eɥ5vنCs\GU0ɞً-C$#&-x}w2oU<2oa>UఃU@|P4ja-WbJ2+dB7Q~ܠ Jx?/v ;D,?0n`HY'U3/5pSV>X/9@c:P QJYpQTz]ͭNlpdF!ը@sך\ɇRf& au i4־+^^B,B["* Ԫucj;kskӱVi~g /{{yVs9{oλss9ϒu,\iì?Ʀ]3t?ޛ}%K/EnG&`>A=k?g1*K%zvDb>xFqf/*:ѣ+ qIz#'$F#u*2MLia `ǥ1h&ފ+3D#Cgְ`B2,:fv`恾E߀4Be;L3JA [m@GH2 !.˒ DX0"g #bAt X,(QA'D9eG-{={Fs'Ea(AAoy[([< r.iފ<0Eғ4|HVޡ2CLdtE2Kdv->I9/8^wr-cpV mR"# 9WUl¤l؃=pY( >AL6yPGyY!ל,L`R"|" +>Ħ]l )k9nu@@@8Pd>Q @+qSڅm{-3mE5z;9 l֑ ^Y$r23N:y{uyfmO~ܧ~}JTV')ؖ]q n͋#9wz~7:TזS_\cgz*,ƻN?>}E^ ;G#i7$fx-wC;䮁͗5LS^N@F7Oq*$u(+e 7 `[, M64y&@T$P'YHiI!i'؉2<ڏ$nb-*y˛hQLdQOdiVkBzqI?9 }v#]<֤RD(bvlΌCm{0ajnJ3[ws=iq*g_x wm[N%r{RIXD= O!)IhdNX&"Έӂř;deYx2 9h`&5J24p?G`ђjL#/6t RˋF#WjgT荓3=7y+ٰܒT`m}gfYwvg$K:YВn;dC6uOdjJ*Jff@iWvc1Ϗ3"㴐8pCqV83dp: $T )؊AYx]bx!$/!iI"QwBsubh1"LM*wQWHEimW|pײq_Bqb [Us ? \*MEe7YP+ٽRɨՊh- >%SRj=R*YaCPkIPV/捌,\ݢRu3WT9ؓTBHֹsLh( J_)v޶GVdvŽBꀻ9"HIX۔Ռ}xUBqv/rDFiR;E@pF, e z"3W id6xJd! ;g0i;2f,vJ3yFȘmn%Id5L"|m@.)QOU̼/^-;[}⸂Id"A9@ƪ˷Y O0a\OD8p<.ыfbH`iv23"n'-oߺGqUq`KP~Xa^L@ƨx/&Y%%1EszCD_VPQ!cr̀ͧn?`nuT^sLRZ5Gm >a|E =h:SxQinbssQdu4Jd;ri8»p?{s7xݯQSj/M;WW(hV((3 vwif4uOS5bJך[vT/M s-?g`&%Lzf@(~32nE+8F-fhD_j_ /W- 'z>@"^\asnQFa8M 8qtXCP# d4D]IkZWkɽ>O446'ѬzmУGQ[qOWk}/F/Iu: ?E|j)tD/ToeKB_<t Z^=X+e/L;uHQxEJoi.g|])]ʴLzysrG^9vَm\3y|= #zeoeq(x48h#8-w8-hOxZiŇ]Xb2q ȥd9'xgɖ&L/yuA } f# M`7D,h)z`9Hp53.gu"f@ϳ%$ 2ȠrGV@!(4ܠX *WA}A_ }BAFMY)/`0,8 Ź"[p.i[Woo՚m{bAE<9ݟs3N_'ےe)$S;LF Z(FX5$2:)̢mR&&zKs1|2PάZb61a4-шhKFc#S#&]5eTb`lslIUR, Aѡ2$rTr0.Ln uceu҅5+2j,L&欕k7m<,>+gy'"c^g@ Fdj" *<ۯN`A-Q`H-B(NFeֱP9ʀY62 ]dRLpsq /\1^7v\ɚZ(dOSHo}'dCeK :܂:Z =ƑOq<HXQR1a]f!K1;q1C,שc=Ƙ c8 F;6?W"֠fǒ^bh/dzEY86/ju8 F9%R)hX i-'5.tҧIaAҧ)m>\HKH+q?G6m_km>TUYi~?9.EYH:|Hz;s!|lJgw$"= yK5x/7xf8KF>LJ›=1+ۥ+Y#}-XT0'I.;?:v76l8ZP" ̂!=}}Y[@%B 21pp;(ڎ޸$&"CHU"O(^aU$`)t> [ B&YY9 _$c7.4>ϵ fؘJxtd.ɞ1oэ*K(bQ)A#M jݲiv (_.v2Q1j<޶ʓ,TĐĞ$9P(z*lQ.BDpP >Ag&VNeZ|kv\Wa}>2s©ELixjm9'E?oU'j~On}jz;[GK-vU*j[e0S(gI}d4j4xɋ8߁w KA`#I2jqb|cbuѹleCb篂/&BVyKO|PRD  52lO%@ ٞ#8D]1&41&>jtlac~W*L2"VAitZ)!ARxHVpJ)]-Ȫ:=e# O9b\kVNZҳkKDjs(;Vtlq"8}'y d~b50@!`Nzt̎Xt`WYQ!Œj೸t 7J ҉ub>)AWv*Ԟ}~p4]7ӽ5ǝAVmfT Nӳ<5wi"bK.~3YZ:s#xԺDbXbp6&Cenꨛ{gΜӜ^~v]R#c_fvjlhiʧݷxOmpWkEawGG*J1[ YBxPavI5vgv N;Gm*i~upU+YP1`i O! G ?؈}y~^nDT|U7/.F.2$+x2"qQ&VG1Jҭ:)Mw^eL*W)7yZFRubEk%Feѱ&'QX:tջY%i· *s1J\Dݰ9 a̸pjäק 3w=E5tv+8dLϔBɉ$"e r& qqƶMM.7ﭷFFzT =&c4ke(C0$vh~3UE\@R";?-ʱZKu^ +v9ɑ#]Ѐ"QxYUf&S,!5g!+[<efˍ#?]t@4X>%YnAؗ{6]I#yt/.t^)]HfCLWlWFy9r?wwݻ(^ 2(|4eӎ\FrT]+F25AL)ih&2?U5gWHȪF|,Sez'b{A6 &q9C䄀,pB0`M3ǻ}jDo:gpN*Wpuw?Ytg^Ob+vk}幯xoXSqmފM߬-o;fRP.!g &V1b3dNנ1ov0v]UU%-YoGeGsOcb~E`tQNiDG++$/-$~H3L_K,SBo:vog}0=̷HjmԢKg/ɩFGG )6UtYYzk*YbSY_J:T 6CR0'yY2IŚ l,[h{13v}p[[w}SD ٘K)t.;QIsCGGاǦ2/|xЉMjRPWoz.*5+˜j`||x acʠ71LFaN7ƹ ה߽<?Z6js]vG9 F0q =5WYoʛ$ 3u vTԷ)|r !Ԩ0YLFQ*='bIIF*\K.} rlCcr&t}ӓd'$[2})0G.@(\ Ђl\+ ]߉uC[gГ|HNelj,SPwc.eDUA&Z^m5aTsjΘf.6t~-Uْ,-Yr'>Xbi(1M+K#9Ҟ etX^ C*FSIQy h3 #?0lu#;^OŞtIڝk=zSԖ쵗Gk$B}ƾ$aˢA2WÜlaFQ@P{mG,mW9Ao3lTt6&8JSWG5ʢ󖖂@w#:t|C}E&th-ebD[WMߪʐV,jI97b*dDE(kp}9/)V-ʀ1Ya%thʦ3k~KJ@oݱ}Эn _Raԉa%&>[ >R ซ#.v} 9|/# rp^q@!oם<) FUo C:y]~?j] qV?vhMg@]^h1vԿiwUĈM59=BeDζ,5F%YM$@BY]EG\d"%>oeI~fyrʠvhs*mBY"s]K+gC?%7\W'b d-2s0b_'W[e#ٷ!3 nzbƗgrł"_ N7ǒy>NQ B~ Oc9>'!~ȸZEy2|8:-%L#k#2T@|-T\^R"Q|tzZFCtzZNrhy\dBr2JF y':Ngxp-B'ZDVcMqDE(Fr/Y#z.} yfN.ym߭+A֭,u%n Gzp3t6*NNp."$2I]X2N6q(y(5>P }c._*5BVu_< w&P" xc`d`Ϋ/2 ;`xڍd]Wƿ{ι=11d*Rjꪫfyۂ1"6^]wH]?ncuMS~RG6篙 qO6]Ʒk}{ؔk7Yg:k=R-\׊߸N?]/̶gY{ayZ&7G Eܴܷ((Fלa|9ELjA-v?ܺy%"ZT}LEUI9?L'<8<8 }SSoʇ8Øk'YDGCl.=C2cz5/kBqY+$a~?U{)]S3y{+>jdQ5|O|[ޛc-5~҇"p""mo?sYrjV0JcO}M`K;NȧDWd̑/Ʉt_aaxD1ͳr$_۶m۶m۶m۶9v]imfa ZrYXZX.XY~ZC>m=fm9 98z9f8;{9:2ƺ6;{{'yॼǼo}|||}}}r&SX(OghM`X7/Ԉ܊њAo\z Cq"^} {Cb}T@]zDW/4YT e2QVdv nzO_1 )TcZ0|f#sulE ۝]E8Εp' @)P 0e|]rH-CNitQ*ӕnr_yR]*"_>U?kNԠ]+Uhm~m\Ծv=+z.^I/w#a3BFcqȸb<3>)&;z u5`+jSQ CSrFwkl1<E&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-700italic.woff2000077500000000000000000000545701511656052100364360ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2YxYnHj`?STATV`8  4Z :6$p  ضfݞL1n* w gFr1pjnYH9(S/+~^~bR6Qo|_E`GͩگٷY' :/1@fB8۳uH♦hOEX%#eGў%pCB8Ώ܋iRb5L30TXJdK ѳ6{m.ʅ]},U~T=s.>ۊlncs_ [J/jxI-;bK L`ù. m޺97c$RW94ADXOrH{ΡjbM{,.*W]}6w𿙳8(ф2nEx(\@!eTt] px6L*0)Y\ߧO̮S\uEG4ҬO gw! YA4@ƜґzV ] jv΢a֘rqv<.Ԁw][f&ǻ+[Kt`vů9VVjsUVeكe/gl%I{_zJ]ju nKImհ.{FY"%4,IDK_;tnRZ0,Pd+-tFk,yP`G#< `fIY%CF1 _b展$}~Oe2ԊH V}ZƤKT[?06=/NQZ^dw[ t'i^)`Tn ^ы%UebyC{"sJN(dٞljkIi#?Qyqn-YUtuRHE3ھ&7g4N ́,EdƤW#n~_T ev*|DS9UvcSW;nr56\^#zGdx``d$(U=hUUkrDVu;99l.m\G=BޕpON!u phk(<=b]%,fjsQm{`#j3m$(aoa"djNf:o5w7Ex,qJ~4"<0reeXgx^$U \[]Mq/0`n3Sy[ÎviGZ^:yUWxc'B<1]~Չ}AE7A,^9d"[2Ҳ4K{)M`)™8ô9mXs}*ݪYq7-[[ 6mX޼lwU]rp6`  2X-SF9&:%!1ʒ޸&9̳(0`o9*AoE~~e)SC@@qgj;׭/ ?SUs1*q~yеڊ k5ˑ]L5y T6ӖEjifHn(-qGd9z 8+i]-9].D?wiw-od񾟲(Aԕme|Om.^m\dl'E\*rG,9gI9@w~cH@GޱǿGЖhsoޚ-[d9?}{`%j1tE7ly>̒vܥҙ3rL)W4% Kһy Kͅ,_6%# YWy l-em9V˭rgr/q/(ޏ>>Jw^9t&=, 8g^^v^՗Z{ NɄ p^ߊsW/v?{?n2LOզ[tS66^Y4f#=ou6J]}̻ǃ37\!.6xxqOlR42ZjJEg2sl5< 9KX͙r/& N/qTmzJ{uSirF)1R+ aМ?+Q풭 \ʝrNҠ[%r ݊4..2w1XIeVWLUûiQLFP Uҷ)4rkQB4>6:P_W[S]UYQ^VZR\ThZ rs̙iԔ$#Erl:=pu;UGe3 S~:U4(GGJ곃IGPcÉԏް-ÚԢSxStpw6pպh4kut%J}ΏjC@ 0bKI|NIc˲ K>=hXT.(@/9#@ 7j]<\c)XZ>lv+&_*60˜ 4omdDH%-j S~L|=d} (?C:FjOxi#@# HiLbԅ&s&Z m6LDʌn~F~PmʇݪM8is !X{b9dPS+c}>HI+>mؠw$4û); x(qu% za׹ȕt@UGB&Y"-&"{_(..z~\{-xN5YV@qdC~ע:{n I=wW d\ְ}=o M1s% ,AY#_%O%"ZxՅ[e$EɆ=/ {Cb'P>)ǴDZPć(D|ep!z*kww܁pu ;(@VH'3˭R)< -e9)o6^䳌8u*;\ 승e1;س>*Ǔp`w@ >gM7YŒCcn' d_*BI,qӕ%yxK_OWwZ:ZnPg U={OkT万xmث<;6) |.5Vѝ' b'9ErjUL#/ @w+yYp}4]r5\N1]I@ޝQlV= kٍ wpW#H<>TpZpyH-P|رF7С/\-$%An -C^,EqHb1H0  $ {cJ#JK]bE\nMhXc 2γ!F)ݭцc6-Zos1& ⩝&UP2CYLm=p&"jP 4ePb|  _Jj Hަ 9@lo\4.Z2QXW/-R'D'ԋ@$Vk=n( wM0Tt+Ջ<կˆ ͠I._[ӵTʑP(*DZ|~E.yXE*ixr: ah.9>g8Bqpo&Uc[)(~cczH<'IUc°(ڄuΜ")Zs:QiE qO ~+Fʆ ʕH{&j0Ιzdc'ꌭʴԭ*=^XF >ZbK9GZpTJ$%t.d/7-ʼn\[4Ҹ n U$C҂ğbp nTej`,x}ZuWe .5IkWM!ԥj,3Vۗ=7{Đ[gO<{KsJԲ *VE):MelFde ~ڈֹ̼ҏH\ΨVwTvQl%m$fkBY4CB L;UH#/E>4Cva X_r[ȱsd_SeXMN?C˫ I?N" ;0py"Sm0ߙ_+!Сx{%ਖ\ ERAtVzS#$ӭLبe^$t2{j( /X0rA4 ςOʑ<Řu(u 4E !Q&u[G! \~@d@`~oٖ?072J冕=$.V=pje/4)svL,h 4Ut]JŷiY9d.(ob,l~ LNŬwWw鲲Om+KI]OတoE ;yĢzbk]d@!~,k$/2|^:Q -T6"^I4xG hZ%`C'ï #]-B23''7~:Aduv}/`A7e6ڻ;^~ K6_)bX@>c:1qi|Z4zu)k+[9_|;RBīMj-~Ip" ZZU[@K" H%{!MD \P#a$3 q?͂Q#4GwIڹ[b:9[[iN9їl f\.?g[+}XB(FANFSC خս쑵dY_z&]}~aDwyz-=yxPֳXHJq⇣"CYSu[.yEFf"g_ڮ7r8iT[SUkE@ l8Um$Q1g.p*=i#Ee%$2Ki/:ư-ޣZL# H:Mӛ}fJ ?YQpVzlEUT0t7#| hg{x٤(O`p&IM ɠs^)1è]a F_[moD*%cY=넜Ğ00s`&B9Z w`yq~.5]z//A^sE{}k-LL;X- NS[HGhbe4C$.YSR/ N"E[Fo9jjѪe(',FS`<f_>/ (:5tMjs[ʹG: ?w&"nʲ ^! d'ԗ(:PdsV,NmXg,U6MPS:]i>߸$k)fЫ@c&ٛ+L>$vN֑ߛ@*f#r"hEnPĬg)AlRc)xM I: ڨqHD)4q<<%.\YNLq+Mv5TC(Y\N4ci0L%zQPTfbVdaM8hßb{EX-iKBʿM$ŰtvayTNA*rE"m3w(60)-hƙR&'bz ǀ+99\8"܁ytq'+I+ȹ5Z,=Pv6@ɇ^[>%D;h"cM!G)j-g7 ]{P:ш{h^+bפt󓺆FEkMM+$Y qFZ |ٹlDSET(#)ٔƵQʬ,ŸYFp{8)yWs?& ?H*s@o>ϋG$ĠB9V.ӟ܋"<F$hp3/,c6Y<x:ˈk:X]|І  1WםȺ #Ӡ8ycoQrg`BSW%f248s lv_y _)uQD̈́ *"UDG{gk"xQpkV2H*izuNP׆κUZc´RnKtNbZk#;'/*ALuT`͜s^VU# aJhfXy%[|jY!vɚL# s\t!D:HÒh!2lZ-Uj}Lf4Ƽb}>a$լ0_xN񦇚H#ȈHSm?GD=_㘢F^'!z==/%bOQOt!"m{r/-(Jy[Êcb+z\~Y_RM,vt17_B `t9m؍#7+'#R`|e3~w~BA౷,bMi?cL\źr+A%YES\hoWߙo=r9OOȑHPkQRbv(cq**G& qA6A`v xƶM{OcAs7p#a1̡J#5Td=⫹2`*TF/ X [~Pm=7}eL' Rc *' Xn_-+N塆"2N6A [1% ;=NHf. {y B6yxK BWixDH^iGj BEV ˃J(kˍ.i[) CD]DžcWC0V&1>lAOps1$% Qmsį9JnZwM&sL) S2~z\Q;Zn Ud.:hΜ#}Μ)C{{[B 1=9T@g'tU֋:{wBu6 O[X*YeĘ܎5dQZ13%-e_!g:МzzG㛸ɂ@:cgHdҥ xҒf˜v+?_)5ؙ+Ws,)`I<1|m*Uisw]0ѨHDƤ^- 2y[*1No!=!\4 s*y/~c}a9TLQ bOAkdcS@{W}3\V3+4AHS Ea բ2ҥǗ09g78ٞ^|b +ӾTT\˸޾4 (#9;[Txx (|(/kK¿oA]&U;ݩ;sNsK9vqw~p$:×#sOvVT:f0{F2cs `eL`bM1WwW7DUUDeoz0^V`(, k 0ѫw :\T2ݧ1]% 17-Nctp*"zK 4HlhQߟhZ)iK,<_S%S#1ftGkQ^v@4h\1S؂TN2! XwJ +sl̦?ķ * V-r}~;),yfHWbJ ͂^?w8^&1/a}81q0k BEN9II敚לPj(?NYd)=9hd8mʶGR ]u6e 7%J9>"'jꤱ顎%GΞynAOW? 3+.=`c 'YׅgK(%;\ xU/OvEfp5=,($Et9ƾjI} n}ʶ/,q@f4WY.]qeX 'T$ތM@,1ߢ wDSc.Rw$>4m%!&yl)+K߹Ӥ&=%4Ljq$@ er[lʑBF=pnP@3},=6 ȡM-%B%D= cل$!v0WⅤ, ˜0Ok-ɇ- &Dx^&Ժ{. jbN'LXGc+a[kk'ai4oFwcU[`aTtq EOjap*R E-8Srx(ᗐ/]_N.K#*"%0ZZN<>A`&SfOlZK<& #-,69/Qng[{N 27H)ۊ0)E`LM/`i6OUX1~WǫcBdԲ`x|O+)aBB섷v^lu,tvݭtݤRөUcfmܾatxeW|K@OtV* BaY#3w6mظiEg'z%,R$&3OSLJF)bHHZSDxw6t3\>pj/i{+7zӑ 弈,w&Af&zҬ?s䌮A,K!W0!s=Ot'*ၻ䄿e@rk'̙\ސV?еD_&a2l'uoR0|p F$ cRHmKW%Q!/X?SB̨h<&1B3@E)oa~o̩h9uى^*7^"3no4̹S#}pKLP3pìQ'{+6Q2l0;mpڢedBeeôtǻzzl 5^~H{6ܭhNs"oeOG߿z|DG7aFQfr! ֤1-3xڍ#w qjY}\7nW>P$im5lW7n :_i!\l5 F* SM./l?*iO$&EENRťge\KKYW3'g"dQ29',%Yx "N&ШLq#./z[M۶lII}eG'ܴP#]~&+H.l/d!IK1`^hA?$ĸTz^~Pa!iΰ~ۃ.hs5OK2׉T_7/ڴ ۿR0kxd?ݓنh3r&'Ef`\D\2'ؿC=?G* IW ?jW? N<f1l$| jK:t5-6e, z:8)8w 3 me4G4> 0~&a2 0$6Rzv]-;S1Θ1d3GN\L ˅i }"dwj~n} uyc::|:,[hI[ѬY|z(0iCeV ,SVr ёg3 K-W tvz:e|,1ifͨ]`O|q%pݜg׵]֏;S}/PP҃ Q^`͜` :YMz''$.B>O^ C`X9ƀg˩[7Hz:=]Q.7 ncv,p>i)6^~tz|z~)I4me]1րx8֌T'IJID{t 4L4\uo5 J6KEL! ڄgOi1(ma.~xA!H8؆:9XK,[b 3 j1g]òfkᖅDi0cÜeCk_otߡcr5{MI upޚN$8XU!ALP}nLAq]Z!oR l3?'r˸iY=ldqtiAU)#jT +gr!sfM 7 >9XR9U)ϳx:?ɏ2!ZTck^._(UAs;C֚ sХB7qsYjҼVJS]\39GU‷x# [Vg$} `.xd2uB1a)Sm̰Wz95n,%b%~6M! e($z_^":>+u|;,w,6m!M7[5!eӧ ,cׯV٘(`[|.0x0sf:U=?bAxu!z׷4x}{ȰXXrcΪMC[KMqJ9%EM ] (u~Dz?>?Ӗ; ~Ç{#>Bg—HW#XnS!OF< ii=.C+C%”Hd੠8$"m%m1>6fZݥ Ϲ=*r {Y P ĩsr`to)?R7&NQObOL:U?Q gQ[EwHT1ED!R&XTGWg:6:A*gAĨp;\*U$fKI%o=sy!w(n*'VW1 ʦ 5ڥ s&puUel,xd8֌5V. \=qQlj2C]c~NR dd_jD;c% 8d'Ru[!ɚy[G"Dusʈ4KZYhB/޾H W]@e $~cu[s]-x9GX"FexmK2:ݏOGh"ԫG g1;rDCPx JX<1u!gǂƧ!*\j b[K6+`G-I|,̧c`,r|:,@o@>^ZUS' ޚ`@b$A~Wa={JU$<5L9isA7!}bO\;bE|Mf DekAw#W:gs4%ٜLjCWbv,5,r0jc<#{KcJUdcU;$羾Y3mlE@Pt]?VydzUXR.ܻXbyF@9X~@=zx93ΧKY[i>@a}W4r^.*u.eՙ>ӑ$U2 5\R a[yQy9NLײrw+ўӭQVKla gv"B͚2sA(ϘYW\%5;CսP(nP GZu* wQMqdԀ[u %AޢB' lSt*zLk1a28Pv6A 2@4%Y\ψ`O@ l7u Eg^"I{(1T*H8ㄳ*=ޟII.)?-L8:7 :M +(kOh,ʦeIِ#^$2b݂u$;\~kɲCl6M'a` <7J> )FrZ{Bd<bjsǢ@iԈhoKc븑ԲF,̣`?'>A-W Z?&F0tHmWJC0! Zaiu'D%z4(m  Ar9VVF߲SW*U[ ox\孊Չ;kjr`-D3kSBBܓzH+F1qrۀ\o28UOԶ4c K4eL()O hfaI kt_%k#thc>7}wUBIA-@}38OCFDI*N f}VF?1tО9yWd1:wrZ2] e&NLij#->YP郿N8P%7=.d|bBlF:U⃫pu~ Ӆ,6&Bs}rAhWp9Ip}aeU.5 02$YQp{xu,rM;CU]f$h4^cO:vsﻃ;_6^8Z nT*>Nƫ_:@VA]/=RIg6:Dk |KRG Lù yt-o "(&/3\p&>&1)^ĉP]oK'GpHHWw( ,d ,dՑԏ6ƶJJNJъ:/(%EjXth!ҢE7n7︶1}54x7 1e6>k;jxo'zЬBkXY17fP/5b0=,%U;0&u6I'w-꺰Q0Ji<\Bu.ut+hʆX$YdѥK1eC4tҴ!sUZlqĚ3SLz?{<%ISc<ԡ1iJl,yխ&gÆ,1jƏ6Ř56C(.[Hƒe6FQ)h: &fiȘf y)p4YX1˩ahG=<^YӱfW,Y .";?bz*#MTvfAkPilGzF'EM>ajޠȝm^XQ\ulP |7そ_RNσ@`c;C'ኽ{/_[gcE@~_0뽑 9(yςU c(e9_CvW(^$W2t` NR4;`/-+. E1πfƴ4Y ;w4!ZAH&fѿz) "޺߲IѧD䶍ӟ_qk;_ 5.9vQ>2̂)2sdWs脨!FOS_cH:Ԕ@8Bý_'2&F4?+*P N;ahE`CI@RGAt9u{ vCj=P| Ky\@[괡7fi^koPFC5&HIZ.0ޢBU 35 a|l:vsW i vi$8D껲*:&jZY}G|$ͫ$idb[?Qxoްa;_^Wsp /rǮyK%&:sW~\Z mhג.?Q+WKܗZ-LJSMFV!Clv"~eUz.~s.7 I&eibwaEL+egF?Ӑ3ه"FZM`*=Z=¡= _EU8!ƨBl؃/w)gvտ?,nKF+e^޿i:ޛl,cc52N?֨w%܎lOQle8ݪ J]V3_,'Y0ڭ rD`\} ZW6vPV-HGRe+5Ś.Oc<;%H<h52ρF7-k' ߇^ٽ׾v+;/Q7Sṋ"@dlZ]P(h^'dw:76X:GD&u96riƟ]Z|d}0v3{; YFPCkp}H;85+Kigo75>3u@Ky"@tKv{&ynYkzi[1\%i@S)1ULtFJfQ=  'm$]Xw*ŬY2SieZ5_fn7NϲRg؍D &avcwgy[&Nq2J$ Sw[Rum4>K4s6C< eTY2b$B,pc+8E@<*ٱ«TQQ^0ۃ7k9Vx!K(Û1(Y̝Skv o\X(CNUw{F,g'A0k; cܬǪ`˦vqUu:Li1y95n hm!f1@_G2_?F;eKD_PjDw2h,Õ]"$ ^ƸUT҃vϣn-Q=| !4J}XfU(ԣdeDeW9:(NE}vI|Ma 8mE!ڎTalCP+۝p*L ͢8x7nb1x4'+KW狷oKݎ'8`JSFLB]w ]T0NHB8^o;^wD.hyZ48%3 2ExUˎ\9q;/paWٖ!1"o]<fR|oJCOڃٍb1t$[J_\\PU_|L97W;nG1<">:,hT)qke6hO'= i>&"9)D"!0zfNdFNppvprCi!Ue#K>a\S>Y!;JZRAAԃp=c %@/@Wf%urWs,y:gZ1<_mAY el4COb^)@o?㔆1Rtopen-sans-v34-latin-ext-800.woff000077500000000000000000000653601511656052100351660ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFjLGDEFGPOS DhLcGSUB@fHaOS/2 S`u,STATtDZ^Bcmap<Icvt =O,fpgmZgasp#glyfQthead` 664hhea`D $ Whmtx`dPlocacjmaxpg [namegAHn posth 2prepi{x=ĵUDy)6pwwwgݥ}ў9sU;Qh8v-ë}~;Ŀab6Dʉ9'jCjWЀҨהѢ]֦!tt {g*H% DFLTxm̖QF1۶]CokC6l[Cݐmxs,Y@'FGɌNi|!7)v`3bccdIKOR\hJIFJzt 2"OjO2)[oʣruZ񕟖 eKY/g;mڸS)6nUJU@)55RJ:L =nCb20 L"U[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`aȬjraf:`4 ,``R@3`` L Ar,ۀ xA;BP@FHL^i/GB{B'+FPpA UQrxڝlA=۾LmqVtm6Ƶ_7Bo#? K4T^cf# b&QyWy4Ɠ$"K4VzO Kᖣ>kLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5C$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|z @SW9.Y d%@! ;! "RDEE+J2֪uԶSkZuSk.j㴎紾N߿Ur|߹0c;cLr{-o=T}[BCCRX ,{yzF&svugY&Cnt>l]^}m^mYS{S@asY@K/YOP coxډ#Q )QQ:n6 Rtjj%*t 9n=>` zι[/}yQw4e_`CUS=Qu Ř.u/xދyM;ٛ y[DG)ȃLii) zR@sGiH bz҈'yfߚ Xa{l NKW~h]M|f_1S:",Y{'Iv+s^\ɪMDo3u|W'D8ux1?$<{M"EdͻBZ"#H`FJ(09#fH88ug1Ɲ؎o}ޑNl''򮾋S.'k7n^vv`q߼5~/g?(%+}2d*Z40?qL tkD񪰂-"Q`KG::"$aȞN/v c"*>[e.ixQNZ뺡GN^pfӋVITznvܰOڶ45iɈYL[gSXm20-[7V@ٟ= G^2 Bxvx1` AjO 9>:%/r8}^Zq @Oғa]! `d[ Li|EkiN#ۍKp=j*A:Y&ZÅ`ՈʕC9Q .8r,79iNzT*w&YL{ GoŖp옅`z%_͟lU*ADn9H/n a-WW;\-@!~INFj}CX5fU3䌌WL *l-?wrNW3z@NŔ;ăa44]Nk][U7qٲu]=aR@C@dFvu..tFCy Xv"B YE 4& `]B8Q䛇u~w-+s}\%n&O~x7kW79[N>IUl25jH hf^(*.H6H57q`:;&Ÿ?%a!$!kFm$* 3r  @ƺU@ܲyos j̪)4wēnvi?lO0>S;~,>TN=ҠUKAj) ()ߨ "VYZL&zYNt󙓷Nz흕?=}ƙOZȔkrTxֲgߏs|G!wO/=>ԉ2ӫKJpRbIjV`v¸-yAv`ysݓ Pv0=[GH^|pc#vc}#qѷekL:&[+w@Rcy(HtFWRxw>ȯ,K-YsFs2c}iF}0WfحwnzC[d䚈A縗Y) !+|nڞ\ [≝ }ns/jK 3Ǧ, .\ݐ^r-L@D|' C}R4?sskkΙ<9eņ&js0s"O{ |UJO÷>kƇ/@Rcnn)[\:B*Pk X:4:aI3' [}Z&h!~}-a=#I~dY"z0s^pmPq\1UG*+ߴa F;@^쬩$|mAӔBOL=gj/릻1f,FQRbtp~UIM+< eGOV=ð a2r0r/p.xflJ)a 5'>?^d|uOλv?Ty4e͎]Wʬp^8 0@uWpJ^#ѥv5 4OLuVq3 *T'8*#UQkYY[ȸ|VCldqC4͠G"2l ЎY?c]\_^uN USglS._өCKַuuO+ sGJқ!]gh azkФ^~ФR%.TyAgWǛW}qG~~h76ζdz附lv)`02M=`M"/].|{\ =uw髿u63<^U* ʯ,Wt,aI<5C w2%%J`:8h'@ Aw,4;n Q*H"ϔ6:e;Bڗп=~<7vqsecs̊w]{xg']ojHFX3% P<KXC[M,Djy+E.O{%@=7 nW]wSq]z=ł7e *GrƖ =>oZ([ }hP~/j:VEpDㅐ` X `>Yl :^ncB`6rRjQ3~|=!,izznE mEQEJaJA^<UJIwTdJ NE{y[cݰu^w*ynSҝ5EidX$ZQDaF@.p;JPOL"' ׮SfXE1%!8EPPc=cHnNG}՚8m>C W}~ѿ?pկ=i>.]O,LPJ&0FXK{[9g]- 8{Mo>QC#O#J&Ir=b iANqyEdf~" lYtkȿ}' _@g'읡hVӇByA*y`|jBRD)k_E&F︊5f<׭Ɂ54r^5gth d)aaȔ.6ίUA~<4U,k4, nڱz1fLX3-kO/lzjC1G/5$qC^aTfl'79jc7PD'ÇFy 2Zf~`={8(vqFk.o';*a[N,ҳPo'$В Wx{q$4=Oo_!,UXTb<&?yl6 t*>i:uࣧ4pDjϲP (rII+W %W&M3f$XФ0ڏ ƹt(_jLnf=F~Mqsj║h*KcRQ6n 2.t_Tk-/x)$)i=e=I.<|V"24JYDXop./7MCXI4>=Vԯ*DVS+_OdoGcW$;>I1:,3_WJy3ܽw6v&[ѽY dEQ4ʑ$4!W᣷gψ0Zr$7TiOr }G?}i,YzH?tߠ)pz ˭M~T"GX&Y%̅7_}^or;\ y-^Io2Ϋ^NH =G+CE =4hf;CcL;#-Nўhn-jDTq_l(f.ө6F~+RCyT>`5*ā=ueƬwM߷|q[OY0=zycUگ*ҝde:x~dAoJs 2AP j#`ES[E[KR-=Mf̤_?uÒ@n +l ٘ ZV4ر lU"d>i{ҎSS?NgAWCR'I"",*B!F#*FӐ!Hs.839 enE -~քFNh>3~ 18M Ԋi_͏n޴] +a>)HAi`bgc1~itxmuD\:ӫO> ƾ%Ӕ 'ZW'oat#XAoNU!OtUb (`lax;Iȉ ]e-liOh|j c+mV&uVhX.զbܓlqAҪ.&?o,K{v.UPSc hrzSô6}V?x A6&WCЫ&^öDӭ4y3Ze!٨='==uXK53zumG.~>tqa՟ӽB4)YbІ-^C)jh;WQpk2ijn; ~&S[WBfegZ`)|KKk=dYhPZNgv y*Z^5]o!,V WI՛0"D}1wxzqzq~ޤIf#F Nt8bH5N)1͖_jf9g?u`ί{on{0 &,:k{g#o92j4Z5N,Z0pbAx2, Y IƮJ(fUOsWi='Ku˶_<8'6g¨Fl~wmKOnTQGG' ILX1Zm'*]H/TZTNԩ t2|VEa7KN| t3t%f&/=d6;XꚒ^zل UP/p Sur+^rNOϬ2\}%h/̍,(ȌL@8^ͼ_ GJ3{=ԝׯ'o޼y>[a>x 4"Ayc>tL|У}G*`bvwtHΪLSay$]t?+@۲Ι=^d7Xe55畔}ޜw*G0{m˨aJ.y"wUGڸ`G|e^.>9=ZZ'tZݶfġ˪;|#&3ʓ2meW s'ڴY e o)݁PS 3uOΠˍe%s攔5ΙSZ]]YY=~ߠz89|݈HÞ|TmD8r_/ox&ǣkxp,6>li^9qOL-=@$繨ζvǷ|z|Izg)G](2t|Au܂~a58s \4־;5eUYT/SS[+JJN`I[3y-6&M QӑBP|A *R H!,^ z ; ܍k8vBpH6үi_n/=[.YBW!C!1/!͐Cv<k8IDJAĄ@t tSqȂ=vίF+azFZ¥hw/@unU?IC;r䰐_@Ҟ0sV]E"z_K^9fۢj ޜXs׊ W*gMHv( (wgਚ+hiƌ/1gAy&W,3JsrJazP{8RFLJj5j0[>(8n fY|\?E4KvZ_]Ib_: ;inQd\L܄G䶊GSszQ8oOAWs^ȍ" ҮVTle}5X[81 \Gc]m'WE.JCX5Jտң 7TOKޫnz%OedU8DMFYigܱI 89TMpHT8 My0г׽py杘o7t>9έR͸{3m% 0!>vP:IP.[~kUw%1.oK 66‘ېJ9fCJ, P|8h8{L7@TЪ_DVdV]8o@ע!'9΢b>)EMx"7N4=7dd32|~p-WW+!b'UDQ HJ9\3h!8q;!4f+SQ[Kp7d锉ryC"#-3h!ZC1R'#k3pW:E{ni\ǩm'X|S?(eܹXS4ec4EEfB_+/a~IܳtmH&N[pSF%t^&}0S!"5 e (xlCL7?\f0ɸ!k#d^A2tHb0"ԀlFӁɤiYF\tBN4|4KMf?vRuP\zbx;"d5"3jd󯉌#BKȸzla_3A*jBt ) q qj}pLCSw>?!~;Dn]Sr:Œ?yx{BYe֟URuV> D #+YYc$٤•E; 0C-_ܜQ^19cݿ%y|O~slSۄ9c&;~=-O^5U;iqC-d4b@ffS{tryA_=7}[0wpr ԯ>!~ivb@Hеp#A!$"28MЅpbN@db9٠TiJEpe"{aA_qqAcАiqþP!>h߼k﹫٭/l?toNë;=Zs˟h^8ښG*?.ږ|zQ͇ǎNX4TOp6?y:6:6ޒԌff3h¬([U*H9f񪦣E<$ȨO?%CF}.ȌptxDļVzRS#8=YFݾa[Es>AхXp5un5 yd2nr!$&U j |D 7\piwCA[..1kCٯn.UWn>|9Uۓ ՘ҊWrk?'^Or+;/{ųMcbfRUxgyn ejEzNp3dZV*Y.I /EPD8C(ӀG&= w CuZ8G-d!ɞj@OFlwJf()5X'l-Sf͜Fi+wādRIX&"NHBtSS"G^zZ]e9mG&υ0dE9xtbẂ'9A@Lf_wAuZd\twwgT' \*>8Hd&Kc~DbDtD> Gq2~<^!2 NpKupB@:z jUn7ok+oHkijAM VE 嵿G MX[<ǜWÔgK@m]lϪb{^m۴d|'Nr'nwwa)N+sg9y}Id77g b2N8Dp8 {ɧfv?Zt/wU3x]X4Z}T+;=.!#Z%y8E)0a8_FI@Y'4+$(T[S'&'ZSGZB[By&$3,e'l-o]p/KCF;ć*8dNGA%(F%%5(A H1:f+?`S ?|di2vRuф&8 PȬͲu}׮?.9s]n]߾I>ks{=8HA0CwdΒQI^,;8B=2Fଓq#u N@i^z'^w^dfBOi fY(Uj&<<30?Cfwe;텖䶱6҄xOw{bToDޙ5΢)'x7ѻIzhqWG}IaE<8 JtwV!mRKq]`[&Wimq: Ns$:!2p4[WF o*E x jToXc |>t@$CI#WL- kw6P/l5wQ)k0g:CBD1N$>zcǎn{)q}˸u؁ݿ H Hƶ[b F[T3IYkkNZ8}Ǻ-XL]VY>(v]U%M:c1y9.4lbk\kqq=8 >{}"FFv\The^$ !$Gy I|+4 8JHG I}$*EZ6&?I)n*M#Of=-5RPkm(R+\?zV(xC)!(40q9?fSꕞ@%FxJ&DZG$qܢ`"Ϸ\sۉR;ra!};Y&wEtv wI^$f@agxi-T1{k6,Jd݇W#ea>O,]M<`)#KQLt1˂ nDQz|"qJ d8b4Oyt_(cbyy} ^-`w0E~KPLv`">:R`L qeDxmͯnSD xL%-2yAγgP &8tfz&:XF#Kdsen\p'j4|x=9jK4kQI}e0N0_tq5SS'n|/)YgmDQ@rBV +]~(?oR *6.NIP`SfA5_-Be8$y+nAqӑmMY|:zr$g+:zS3tMf^Jeb]` k8P/4S/QhhDΡ@2-:`0#$8Wr^DV ZέTj#yb .*d+D7zU*,Χ$` R c^΅Zyy.u򕔄qGJ6( Cgt t"Y]&8ngH#Q̨}f GIQ Av:3J )][)ZԽy2KML^nkҴ)Lϕ-VTgIuOu$G4x2&& |TyCC񞀯P&*H o~a݄Q.&ЬaN"|]xd(2=>޹~a^!K5u/F14jH}񸬩\G-iĝbcU64Py/6wE$asb'E/a'WCf~?(X X+ym' {h;ygCJ  8Ӱ6F#F?/6I(3y#cVNE鉂÷dfʪJ/ wp\^ tsB@o܏G%N BGuɳ:E]Jns_"{sE3'e p`='~*IuZrXz,Pb?!'Xvk_%vlfXP73^>?`u!ԨN QCC(B!"t ILt4H+,C}&{C[]޴|ŦM˻7^R&Ę.uڠ'a=o lK9.+K_v%ieֲ ^c( }ة /fq`[\&/r.>yېu*fɭƴr-.[-C蟤27W'Fm]D3B>1y7nn`[Cu}V_/8̣Z Jw 39f.Cꆉ7ˀrM"#e | $F,N7ht8͔)P8")er &+Ph @P 'ײ !h?TFq&27dLl|Ƣ֓}rAneHkD趫.Kmku3p}\Oѵj|-^-_+EIfZødc-ެOZ_u"<ʅ =@gJZcFu^QfFoƍsWq#}OM&_^#Xp-0:Zb<[B}ucS]{"U7H #{ecKUXdw.B~ݼg=*)OaF!-%EDg&Q\ڀ2M|ڌ=N=})SvO{݇ݽڇz+i&z=w`2 渔is8`aw$ޛ0Pk:ȇixPPE:hf>$>8SK!|/ߛ9FGW_ ].xJWCh;pr|7rb#LicFt!όK̿iHC@r$kRt\*:(y.di=-B1y6nd{ނ .g/qQ`m˥I6$&jkbKTG#a$W!VcQդ$Zŗlw>5*:=rm-`н|"8'R.&Ion+dYH&O*3\P "ڞs MBClNhy8:fNz'e'Ct+5ۧm;즂hK kγ&UyGIw<2WSc GƲh6N`&N{ qJbbfj[BYU{lca00E|kWƉ ƙŌp|j+b'_o(]\sF0hW^GJhls(Hb8d1(!ɁqWGɂ}^:m<4h9[XetvfƎ鸭0ƶvex**l+ feɱL׊INcbS;uطR'S ^,.xgjKHZYA0FdpX-f<)n$sD<I=fs!bBu%Wfښ*r+ݏ+ d xPoe-J;JvyYȶ1{@=`-b`%yPDUwI+$c) B&pn)^ ՟Z jx=4s4wFrMtq,i]~Q]ސeL]TpUu9Ӎtޓ L3#$xbb >)7`QdHA+;6l++G' /=|kJZ N0E0Ob786| qqEK ϪKJ닊Mu{@~g,( ;Վv/So00qAsh7Np}0[@=0e<rBG e!|vpT%̀^}0 r"6` z~ZݽkWC,qf\N_@6oZJΡ.# MpTX>ǾT^%,B.X?mzTP``DWh<zL~] .t E᨟Ylyc_y'Q8ڤdqn"h-%v@B|0q >~p4T-{# Wi U7)ɵ55ES(0չBװr-)ykO_S\fUJѫ kbSv;֣~v%jGZhbz!1GģcE+pےMQhX-/L}Ɓ}uL=ֿ%u4>p7d|B !!Q** YAlVwDFlC_pKZC~Q\Q= 0n[T 8bye#t0$_k N)< \hiI#9C4(n9{SLbvk eYiq)l/4,(3Z)Fja-a;p jz xtXrEӪ[j؊٢էɵT&"+dprH"pUPōi$.aPTFf4Hjj46HR>W@x߂g2Je̋nʋt?`P~%"[='8j6qBX6o9PPHܚtrOCwM ZD-m 3`A [9w<^8uR32Rآ._~we}o{}r6[Ĉe2ݩjmY(/͡`򖔮Ō1K'ɶ%dߑF&U/Zۺsi NJ7Sm>wp篲|[<޺~Sgp`zRr|~Fh9%%.NZxyz}rt>RN9ߦ֑M3FjȫZ,9-t [}MJU;rދ(I@ y^ Ԑ綆m]B@.+&t\,&8:AG{ϛh@g lq+xƁx`QOLhҁ]6(9O^R:^߶fw->>w?X|T1%wcU_Xޤm`Ej|;9eܽ v8>ƿ%Tc2YQsx &I ŶPXXm3>չ?t[7LOoLt[GW7 ^EopQ3>CVr4dnMP( J`I?r %?ItL\YP+ ͣ$e$ijZuP:b)GTä"X 0c 1ǖ`PImDftEnA\6YY fA߰6,MX ]Dҳ3@Z? a7,QO[/Ff<=>!Z5j&,YE|)* [A:x,up\=BV s#f%xbw*HKS w:~iG;]O] >Ft[  xuH^!wҴ ҏ%4 ޼e#De>\v(t P$7X7)7_%:> 'VMf3xU@QT3b`TRJ>2`TR2%s]JK%xKNdu$tK%كA%n  %Y)U䪃0`lB넞`K4mX[rM8/_)ٓ9Zr-7234?Jy{WI[xS`Lx۰pI=<YM oY7e;6ˊP;jGcˮz2ܪM2|g&NvT3=ɕP\q\wfbbJḃX^7R:)-ݑdeV <>R0e_X,ɕC:JynJW,=,ܶv^ΊYJYn+?v_Or{Z&0i[ #R^Jr#rchOC1g,]W{ ,(T>:SWhϫ{ISemv1`|=%*xAU؆XSqI@<_pD&D/JmPz[ftIѠ<ʸl~OǔlnPB-7%FC 3OWG)m׽yXۗRi|ЄCPvLOq2mK)oOn1BL1b߶'8[vBO71K~ֵ=ՃWK[W=Xbٻo n?с.G?Z:♟eOJPX,JJqus~gp>hXu?vQ14P#.<*=uT|tqYbX_/i=P;N1D4}/#1V|-uc%<4K<Ȗ&FH*兩j?c"®:F]SA1Ty|X~R+{ԔZ^ hYY큞So/%Q㓙ͬe3[UnʹiߙRn^wyG>;k*OZcapz2 oQtT3j&D-ѱj8.WƝa&IS2$\AS 4 a%vTBPT5F]Z` 1W<@K<۶R)Mm۶m۶m۶mz3A  |A,_7--SH"B5K&LۄCbrX*gkRi4WZ/햎K7W9_2Kʵ6rwy__o (k2&4Ǜ Q ЂE`#8'⬢VU5Zaک~sz;+7[.ty ^/o7[MA!*ffh':.s$EtGx%(hA$( ㄸnAx^)~ 3#éDr'$Hm҄%hhݘ+NP:bЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-800.woff2000077500000000000000000000530301511656052100352370ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2VUN f`?STATZP|  , *6$P . `ضgXE%kGEq?CBЩ+PJL1XHH$;X"=: %&1+Q܆Nb)&|?ny8 1A77ۨ.T ]AsjJ9'|msDv.De4;2OBPwQ5=g5X*4B`49|D,!rG\ַעw*X7yXµ}Ȃ(CsA-lSdlB,s ?}Jfnyy@4R:j u^#&M< u3ԯ G|H B)!<~)4ͦ\Xۭ\[V}@*]wv9I V77ܕo:E iϤgeR㲶OwU2C:&ER}rL]_<Gjir.)v 9ׇVTViM4%Pk}J^ּ\tQկjtWh4 tfaH9KR#LjlD Kj[^鬳pRL4Z7O ,c Y01l^m;9Y<߹hVTcO gDm9"EJA8ɞŀ`lU]$$H)!?3XKp`)nCۇܧ|xAEyՇ1- .kyVk6J;کƺzK ۢ#.]ʁX i|H3˟*=^+x9;j5e0A},z:lt\ _<4zcT#({[]A5(瘻V9TU|'㈁һtS߮ou:TYCL4vDId$"bPTkD! 4LhtXAy[/hf;d?+h?רi iQ7€X'z !gT#xL㉵yڎzY_^5NcxHS<(XNT8]:ԩ鮳CJ%UPclMks|(JXs;h'Ӯ76+iRt6S8~+d@2mHA3FkRb_HqGcmX|W>ӖgG3@Ю w)ARa @@ζ:rzi Zp `a`ZE*1H<X̸WckR/ze#xǩq<ܛgWs#s3sOvM3si`3n:i2 q4ҟ7S?=/r9T'm_[>nÞ|#4J` KD>iO,oT3}B~NH2xX_mik{VtV?L[dS,㼘H0ҺwZ,@iVtz/ڕXi۵fi'/-S jΠ~fήfqzN݂,Z":] ٣+Bz\ن^rZnT}aujltPo(/ӗ r9ٚL*#]HˤH(6ɠ`u"^60;E#ݍ{Fr"v4y]+-&l/EF3MZe=B2;)ғnaрP'G2TN`q MWv_g[*7}oVHF9zxQU#p2`OV-r^E γ[F%s5i'͉$wÍ }7"$YaդGCEw=U>}dT+=pO ?&|V0#~_꛱K{2OXf;'yLH įf yTjӺX6i gJKåRNFwP?o10m@ޫ~NNϱ[Y E t0 ڰO˖:%fˁ`4R]2v]LsTu+d\X>OhdqčM{+O|.Ɓ+@9\S l|- 9fLZ*wNtڣIOxOHu q˓XV~0kyZFDgggZ9ҪR= 0WiXh|ww&]hNhh鍪%S:@EdbIB>͗Lx1im&6AdBuw J~7uڪactaZ٩|м Q>d']ÿrNŚhO{2LV]yp._cҘ1O^stW_^EYɼMӜԳ(Vge|Ϳ[荦_5Nj 9cFl.ګ8'^ r꒹RZHl5ILjTeTk:о32h}mZ{-e8,%f͗3(}&/.S$B>+hJ@\ UxΈ{ρqsXal%4g.idE)d}d aE@V ؠ&Q'|FO<=@8Š= jZ9z3Y9j_(ݦ jHps tD"ϕ[^5NNcZ?VL}Zk#YOufJ!5ӒyE5زA eڴPXG 呂O7rؿJ XC+\Xɴp4/_v3ya\\I/˫l~Y_Y2[ ]m>ĵ$l.fR4TO D{* r6_ *WҌZ(OjOu,mkj{Uo߮$h=mfrL -T7%7rE5SrsVnܨzV\bpCYxo<VX=9:~SA җP+3S5v;&+PZuE B]|NŠ~3/ 6TJ-4+VM1לӞh}0 yEtFN1֐t]߾2giAz.A!?A^m" SZ?"@T69m a7M&h63`=E6V4Gu| j ~MGI]Q3 q{J/ k ۞(ner" {+%7tyCM{7c&5C[.xS&Ih;At"5,Tl5ߣfB&zy+I@j8a`$I7Vߦ)R & ! uȭ9Ud.+9= "ˢG^kw+*ujre9%a겼Ҕb0c,"%?=tAFpwGffC^Òpv¸ccB}!RT%yRlV>,9vM 2pƍ)TrHC',sjt1xyntΕr)$H'HL!r> b#ԚM. 2W(GH3E)^~`,`>n-zp̽R$*(?8 &fB`"c`t;׌ٛD,bLwhjoSXv0~_)>P*Njfd$a`1XW} )PigYTYRf)EvtsW  I@BYZӠ>z8aiF?|?x5Uv,HUQڨTP5(A=brP0[bM@'|݀=@3-XUL)n)qCfi uh^i0䓙B^$ 㛥nv 0j-&|C}̴?[&ڥܘ_-G&jvtd+]QCW%}:ήXAf2.1T *FR! Z', Ayhy-J!L8(-@OLΚt/5y[4) :'BsoЫ`,Ze$[;sRjlBýE%Jk4ҤdIejo"vOQ|goe[P#~H6pml{?@ȠrT4~dԄ?IF.g402rGAN"a6*e¹ԹGcౘN *΃.Sr5~d+|hpY1d~PXW?1]l]Q47!@$Iet۷fR:(8}$jkZpbQ]m92LqaڂA-13sTIþ# 4+Zia9.M@9Z}=,m4AGG?N˨,޷ $ 4A!Ğ AwjR-QT9v>6O7/|58DE}p>լ|*q(P([]Xw3 <, 3L$igA.=0H^3?[AL~·Jx|pLBA~M2::l~:nFo2ۦ!F+[NUni3; FUa6 rʶt[dm=sK6X}ŞWL{c۵ýhOJЕc'HA$}~2l^PY$j׳x5#WAg@e<`z?`GQIW}.J5؂"DY bp &J|Ijmi-FjO_ܱN}&nEm.cOY78@nӡ"Û׵*ϳ֧v&p3tf(9A`0Mq ~˥uem%LmW+JEJw>iW֏?.{'es"JlP8Jذ+*=79*:TJM#,H 4o'NSJe!)gZ3ixnB.yxQ3h`qgh]nr}xui-WG\7K $MK4:[Y2[`0fɴ\vr:k 7=sO>a0͜#@,Y!7/0o9 R./̰= ::VWmH9W DPC}rmFIDu xv]ݎܣA<NF&B ̰TBx[8;8e39>u# a's*j`^-Ma\ݓք5O7ڵ:2, Y~? +iie(#?02FNg &Bl:?@&s4ދQD"RLUՕ캫X*Zu_C<r^k];y|5իO`Ā?xCqhyJTX"#Jcb$Ri$f;ǙzKfg+KTﳶ Ngԝ]HRMέ:Rk_]拣U 9J'aL =# ?ۼQD==;S?τ;Ǚ؛`p2gt8A\O}揎}X8:ަVÛIr#~yn)rh[ÈҬGv>c)a$W2>,RK M sP,a-Sd@ 7S)Eګ;rDf8,_NW4po ڱCR:D˯j8)0crg I=&.C-Ah%ڠkTNt\^p?BԎ |k_47{_{}RҶY\qWOI(#dNr˧5iŹ [WЍg—>8 йJ*ߵ;ն.) NtH׬ؿ؉wsߛqíBp_RT&ɱs;Ė$͝ן\Wf\N9۽ ~e_oX>/=lr+h@S;`@v]0Z=>YX V2ܛ+. ťrڢ PM)#MuԭTj TQ[T,u/68/IW4/=bp+~' Aq%>4fj#:cJBb$0[햅a܂00%B[m" K>d.8ꥵ2@y+Lj={hh3ݞE4yLWt%H%F\eP#"ӣ|Jt:˩7CR] fĮU w5AʐP1rJ"ulW[pE$&(b2 zԷ +>[*]zCꅾeMӁDpPzY ~^rxiɥIZRv7 W fн#iF_oprד~H HRz}iOQv /Ce9)l&hL})Фs EΓ[.^$N9]a[&/\xL=1Ju/mV4JV_5#Snx(oB]hwzs`CHyktRs+8ы=F`-}pod0d=wrHuP=ly9hy"doQKW5 wwO@$ #a##H(;/sLn9 W uϟӊ‚錂© M,I+Ҩİki1M' rB_6_}k,3LfCC-;žh6ȕ*$!pHB=8 <pV8z _$oj>wCkPɊ!5^ PJj"C~'<ϒykrz b}Y;'D%#lZb_Y9#־8 ~fMy7&6XL\|ٴAY?grvw8|8{4gg$C\ BCaVv)LLAHFDo4[u,8/MnVn\8X"pw$J>wb7Ї5xB&s%904bҜBIX2V*ʴC][=}.YH? X1!1R*$DGCYTFF9i2uv¡G׻wHij!U8{ 3 Ǵ!eo]$/{KcCݺ'! s 2Vz5 Ht m%i CbIt{z(sRs0%l_VڪiH^){$0)BVy kSώ.\kV 5V)"{mml{e=GK?-'/jkHͯ]5Չ^\fA@](ImIq)MZ?%b9#1b OOiB9?4[owo|es=o􈮈Ʈ ^F~'dEםJ-QJg%yJJ4g]iqpạw[ GY٤Z[5ݪel>vYvTϷ}7[?֑QZ RJWFϹ%&e%xqgVЗwYNs6=@,[,*O-o\g2D&iפSUI,>FQ8\7X@mKLq9\Ӭ~ گD {=7 Gl!e:Ok(I b{K䒥ϗ!#b/)Jqxxc<3(5 .$(_&/^ {"X"7qXkؚZO.8_snQxtko&qQR!DIQ3"u$9*YTe .0^93CYnikХWNL"{W|nT1P_}lon]rz.i5y^x~|?}?f+zS<ԝ{d| d-M LEZסd)3sR9Uy”&č@ddzx>lXh-ggx xЗ+rd/KWe=/NmabIxTbiYm@$08۱`GЫM[#2rZA܄y? !jR}ٺ -/w./]Rq|+c:p|rAW\Q[ZY.]&1 Vh'3VlxW[˚ &6μ (z 7Tg1$^ݎʅg<8s*?C |:՛BBQ}^ހu>~ 1dNo{A}U>z@gn 謴^l>Ǣ}Nyy1H}']?}9߳B2:m.o>41}AI %qT$.,6*%IǺ8ҥʒʵ1 8vB58f<v, cQ?$/XHvJZ;7rޒs%;9;xZrbOٹCW/d Gf)j4"ܜ|q184O5#:NiHMGgj屛ۏ*G?Fb>i^[]JTЂlWNQy{+ݬ0UZR_ g7u n$p"kQRz˱ N^ͷ,M+쨹j~@0 Nx -`J10]C'?/~6ݻAaz{1Z{Th1{O%P%ڜ2 Ǝ,A(;dFI9Z0v!i%dG_J&e]Mz颞C\cDm9V`YH[cփ׃#qz|$C\/9o >U[ب1\Zvd"I64zx}ݮ]Dr)B\j\}i?5hµ!VD`s`ӗ})?>nzwYVKbֿNںHQHW8<+~WeK]p4@3bok?{ʔȡ} ĎC'3{{#BC=ܯ&a?#$G=|Xl%Qsh Zn:g~۪;B̈3] dw4|3n9;:vhHgYS|*`TÓ£)F|m>$ >FB`2@k 'tҖlj̏"} %7{?baC|Zȍ¥5}DTk|k?3~y>R/+5)KHGژhWqĭc-4OI ظ@6ПT ~gxS= E-2:wIa2)I"RR$X&3De6A eqEb _=i-$9RU|iBc?Cli*jqԏ~z%Vhn,;(7q-ӷm?F̓CvtLae9NV03 5F;\Z ٷ\eYX\BjZ7൴wqi53(`{3`ecf^QLvy AJMĢ_$ 7EU5|QJw%] ?L%4g tiԦqQ+Nv!Nm5zk^o5zÐ1OsxkoVկ%ڑ#M_v{&рi+@5AaӘ `܂}F/4}(o[*mh;2&[z~a $6F/R4>shj@q^5$١n#W&kK2n0K<7۬/~i5Wg,C@>G7ãl[{PFkwcǥe!䃭qꚍC.3>zK40;Y=hak.( rn\#̪hEh熔yH.lp5>R K(<_c\#TScZ}\t/N"q7 nJ .?EZdx4v}Gp=G?Dy]pxmfye3s%nnwў^1L#S]v>cm : C){Rqt{Hm/wj /;qw_p*0ܫLqt;uqބMN.Z~m Oxj'/pJpy]}g6Q8=AUNjX#.Z4D-^|(dE*%ҹCdd<^A5>qQD58m,Lv9swiDq*@#4Ud>ZI Mv8DAmsoDU>R_rB? 9{{(^ Ku_9d0Q1TK4F<ĂO q=]3,SY Cm`t] Zl ö(KS*?H[_3~w[8W0-Ome}RQ0'j-GA›5UdΣ89~]&cТXhھy1 mNJk Hq_i,w›NKXf,pVu:~t>e$QHfoEΆZo6^dc*C͜XjƯR@jJGғ]*cKaj&NǮ/b{Cǯ|3wҦ35puRhYڐ@{r ƨg/jt0:6ڙGpO t_A~;q~C|a P`grEIpKWEFn紱%V'v߿dYqu\ ,}wuX݌cqZпLQvbf!G&5v'+Wf2pߩ]b/5Sp1dIEx1&҃hbFO'u˛OWYÇbfd՟@y\Ņ (-"s;4U1PU Ġ.QP A{37G,',@p΂v-\De . 5&מV(t.x֨7U 8ߛJp9mi&Hβ$uka棁 iThbuufRwO,S#$4q#2OVX<2?-U{gL;a%XJߥVs)p 쮴ٜ}H5&c ՌyPUEψ&3ts6uZwVG8z+1/|g$@e269Նc1hұcn)+h=yi>IC(>I4s?i6U Xl3wXk^6ǧvכLe4,i K;f;!mEW]z>~_쨘X/zQAdڎi87y3!̹]s;hDnC ݧ#ϿX`*Z3X5mA.uWx (!g#<0^;_YUI(J ˾Ze/U OCͲc3qM#rLmH3_#-9rH;_XE qLKVYYF!7W g\ j@?2zwHS$2!?6E+F+e:kɃ }nw:L}* ;'&&C|1x&Y@sPdL68xQ{d*ҸF۞:{܅fD>>1ۢ2T'eB{*yA$G(O0e륮w,Mo!ֶ1Jag'E/~0oBR\Fȼ}yp*G Ԩvg::O zڟżI0IJ} 1f%]>ws53OCl?B՞VV? cj;y<7uxCd)s(+.~&TLfכ2{@=t>$@٣C17B3mCg ,v3qg8YE [ƆgԵ>>̅zQ9J³ ;/1GPY3Z@>펂sZW{YדgI! W1!nHSfEÊ Bc['DC-\;hR Fj؀$^Zyd>>pZ":[f~ل >X8 g, 2~J3,Pl2g0Wo1HqI;zn\\7AٝBwlT|A0D$IDZ6!{(0o ӷ88}:[WНEvhKݚƀngPX^ӷL@M5 h;-p)ǵ=bQΪDRR&Sx_In)VP 9<} DI]_5&Fo/A;u/&O݃[ n'$ִA2f ښUƠ=VχD@`;x~J8_.1Sr)PSuIyi8 rDKKUb^1cFQȩ*FHa8{@Ei\3 zTQ25qLNuDrQyT>$TV*f L")*l'H6f~ۙͽeZbojtWJ8$תD RBAT>J,(#ɤi#D%!᧚K;.ekX%hJnr g(1,"@S=tEኬAPwnFbE6QuBV"i5HRTpH)y~.xfnr Nⲓ4$ ҙ6h̥0 Da$\""5#œqrcC *omr'RW(g J WĞ 0p%"^DY!2G .5]2to2*Ky3kA\T7{EΉ娷\@ r{k J)I;fOg'X<ãybji}7v3<өqsy1:VsY7ec d!I%d-},}T<#/iyCޓOѝMыRW1i/]c5q25V&L/KeuF_r^meM5f{S}+ju}BW-@?3&6 A[kG__#u:5΅BuxE6YUR.<f ,K6e 4՘)K$x-écK =o6?ׁWӂcy[6^q:F@~4kp{N%D[n$QSPi9F=lgFd} L?7Ӊ6(D5BY) Mh<ĠDns:\+R'`{g Zpf\*my͚F=.J H[y"ڠJ͘ƅgb?UNvM3>+O'>2/<к:yM4v_$`2pbYtjsy6¿h<8@=|9||h")bA3~xb`d``b`b`uq a\Yhs0_T۶m|Ơjڶm߼ v/٥ک}fl7RϱLe. YA6#NEn{ŋuPٞݺ]>z% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a bV``e``5f9>,0,$$Hq/G XF  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>u͑p^.(mGa 1k7Ȥpԝ4 7˴ÐYgGBf g`1@YVtsbqޘY5~ Y*xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄz \SW9ܛ@v$$!–/,"nJ)j>]uNkvuZ~_uZXX%B {?y=[S!@XiZ,f$AHÑ#w;]JSxAk=G#OVf5Fr6m:D6rsMY?q틋/ bCzΒ,KN S24&[2il؀ܕV@i1A c0F@̉{?'l&J sƖgnk-sCBMvVIK鿏|0pC7(SGj\Ss`^?=aϨkaw ?ڟ3"c{. >Кz6`צk!(A 9ءع~ԔTޗV&$O4#-&9v2b8WTmceM5q[髨Q~81!=ӭN:)'Ma5$Te+-Nέ{p}'udQl΂nNA2ĔOKSfїid*g9p@PN'N _=5b$e;_>1ׂNNO"h/z_ ^tT\j<}8M$=uI w\ 9hN|.y }zlF d@I%1b"K1@gHAy-JR@[h:x>~t+4m :~yѧv.A \dȎEX4Np@ rž){nu   FO;x?5a֖9tun_>9ted; /8itl>\aùvw(5 & $Hj3:C0fHn)UKXGVjݲ'%!Κ\aPTWƖI>~ͿP 4#?ߪu}ei„~gUf:y2{O4OJلtLpsLnsEbfטrLrAY("E#ɔ÷RfL*uM+R }@/t2 /N4(EF'EGR*W}qFo_bͯu8^JOʵdlyƑL٪ُΝ*ibՕ;gNҝ\;7A}jEvZUQU\B*.Wj-mxͭ.1?IIRRjj$(QI H0$ݹ u)z38φS׊M 3 '&7<3fkU^ZՂV x]]]Ω4:bIT' t:n~Ζ" m?h/du~NYMZ81oγf?`{zqvmY1T2d}}t[okȮnAFS 'Ox#A?ZxboWIIy{?cÙdX\w{b˴jM勺]^0_Z9!%10&fh"tBC.H~q@b?w}Z}z[{[>ؙ="͓Ģa`?vyigӓzt aEŀ -+` CWT2[BO%RYS|)^N\kf7@zLJ96aV4Z@Iuve[Z< 54a7q1/M_>OPz׾_8bU,Q H#hM H\ؠ<:eKEڇ/SekaXȆ@:"0|"'>vnnDGt/X-yM"؎ECC(Ì_>Wb JFdt0.9! qa-ғr[⁲ХȪl^UE)c#Ubġ,@6L Z lC]BqR2 gl:n1j9f?!$tP=GD# QCy;'̅ Pk繦5gMj dj36zEd,hڸ뮜UnkX"?%j2h'C#=L=osɌ?G%s5o %Жœ&b/:۫YdX\4!`iN O{eWz1r#Cl)WBj.͜7k"~t4f4 |d Mh^aoՙ]k;a41) FB2hh0<(x Ci](DOv=yC{sKC(U2]u5{HWq8r6ca4Ʉ- |\%ߪY>[ՕO__"=7QPdr`>.93[=0u|7:kMVW]tΧnma!Of Nd)"d;9@* 7?\my o,6\ '^߶Tn59xyR<{&7vûxX^S 5y⊬ NPjvx Uy{^dB?.v,LjRk, j i"r"9HDA1 2#l +rk2"Ccz`- >Z:K˳"/5mDX̖blo˶beQ ^聯,j܂S? 9Bxɰ>,WsVҔwy o!b$nnо5'6<z0H@Xi BpVMt:LrC*gN:t .WLH#! Rę{]-jF{5u`Y/VHPK5,ژstkVugFB xBiaOAU<}Fz@c3 8<H~j=2ݯu{n?lӓ{ݫES m5QJKC_j-V zƛ=+0VTY %%=Zn 3ֵ<, JBT\!Ī9S0H)R`6ʽ g̤N'r6z0Z Bl"1z*"P~] RYϏzf 'i)Ew7m=@e 'BW'ƌE$HXS@# l0A1F۫4Qe9(*o98^!qE'7̝Ta4q}|FRI+f;5ݨGer.]zd6X1f>0xvҹV5WV9>wxbd/kuσ5q?*s6i$7m9d ;0h k5pAsҲo[.|@(,~v$^(-W>X6}JoE$*һsk`c64rv3~.zYVSxKsU΄ KYNQʤb@[l^'7*czZc1pETTQ`֘ 3& 9.1Q!@(ߔt8֒ 'b9Kd~7J3 f%%{Ls/uKk!jp, ф!a up=8r=~Ơ_pOӚ;UZtʜO (tX$GѨ J2}8T-9:{up E GM*0 otSA;4t2N1K@5::HGG-Z'*Pݦy*:^ ?F "PYUx6l;ǐ_|\q̀V*d24irA5>V?ǃq6027/Oϰj14(ΜWsVk\MPV,f:_nnh@T& AjkQXpޤxn, -k;VUVMst|x`k(4Je4@oN(٠8%Lx-ojij'  $6;kbxoތs{m#\GZX9:B}nyNj<H*$%yC*^θL'~l8F7q̷ppӢI6&ӐRY^ ދ!E@պeoکo^rITZuyA;JFZbsY۹+WsC'i4~JQ,֠Hُ+E"U/(Tͣw?#(W#;ŹF{0kƌ1bBJ#Jlsv%'' :'LZHyzۭl!1%f2\bR|b:Z !J(*eHPc YT6$Stc˗B{˗>~ X|<% \be1`瀪YOoX8r3=x㕒➎5[`$]E?VHX́]#m6{#s_;n|fǬj[TѸg{M#]e|tSJ[rb.mȕlZ8/^m/O9G& Hp0z}:ShypHhlֶ0-MU{sri4iӴiMЦiJR A(T V bADQDET. (*i/?/}AǏۓ:'id^GYY{Xֹ5b,üPiqzvfp ;:K(XsXYZuE̺מY_LLAu}G5Icƃp&! zAGzp)ZvM1Ib%!Kh-H# D>:HD0?F0 <ˤY* y}kf4D*0_ʗNMuBh͍4ev/+szR,€%Y~,  zZɽArƁA4hDP&Ș\Ɍ>{~lf_x]l/#7O=0rqƸG" <_zIJS#duTt2-X|rb1^4ErmCsN!@1ڃ՜;H ֬T0Bjr1;1`vѫ·8%; 8FEH~e=yUhN~DASi'r&i0Bb| +1F/ϤU-8Ak9%Y`/d'vHtg?維.odE{u3UxovXQ3\b=i{'Rd92to}iy(9ϖ)d5ޱyos\z%mfb.}MT^*zy.-dhoLӎ~LsBLM b Ib՝gDՒX4([}7L.a񖊊y눥ხmsF;ztٜ &&)%SU'eEZdt}Af%E%H5Da"&9u☇n{պ:TԓIn}wse-c9oUdZdZL=\ovJqM$Jy[F2pD[z {DZ+B;_ +fh}!ӅQez%hx[Xs]Qd{E 2vP@yDgDD)Y(aA ՞W{hގiZ`֧`t[kd`"dJP8߁dX- . ~uf2.k*|z&֑=,tb Ƽ9aov۸{ <`םU}Y^n3㔜)䚥wx  f>c4ss|#B D9-xȎ&1%ZPagx[X'>rZab`D-Y_lhed5ep^1v޼ҿLM<&n@AaU-˟twe[9܅.nF[uInHƓMǗY^tl`KXRul(1%m*h]v)=̪9cC!ѧ }5CП*y\P!Ӆ8jO=#6iGXF >x21^i0bJ$z(s/$}&*sUk7!~ 4J?T9G\Β&*c6J`%lpwӢ4Г e|lMN:8/5[>)8MZtI^@FDēŕ \)gHj!>B # 88g#(dBT+AW@DkPt#Zpe8!I7NEID/FH=BT&NCt DEaArh@4:j4 u %z =xEa5*nVeconYwY,\˻f=CO^oIi`X Gi{#5o՟V 좚U͎ xْЈ$:IwpVqо8G&y:ZMFۣFR$=5h$s?B%*@dge%Sknn<ښL{XaNG;N?ص̠+;m+ZP VfZ<3Oނ#=pm+fg׌_ghc?ޚ8-P#v õ1# Wet,h@igw&a|rg-[J9礼Y*߅\Yal8^͡M$Ȭ<Doi L>oХ7aOg<$]trEqBPJ9p%UV+IB'b΄~:AT[Ø$ir1 9 o\;薮']/ 1 1UsJBUBYIJ'!;7sֱBO3qa/Wb mvCLE\1J,GgMkq}ǴNoG\`>98紇$ 衤=Hud('\ =)J7D5[ zH=;D/:'aAlz&21E@ILРxJƑ u+٥7$cڸ f)N]88%#M+i^1I/&!bI@{| ቾ Qp!KnTZbb2h)j*NC[9[/F:!%5{/v Wp/JZ+l˰D0!~rۢD6ԑADhěFx:F{VQ0!q=*II4͉wF]& `eH02dk)t YKyBчR y*StC\R*-j6bQb ]FMijW7^1L/~$(W_]:k~8pS@1ސH5V+Jޏaz4cc $6^dv7MCQd͍4 sQ͹߿(Xțwjά{?%u2 {xʩU%0A2aRSUVZ-mUzilʷH-|Н ~i: c)uj m zdйJ:(0_Jid\ ){^RsQ}X Pj}-XYBdiR@=F38$"h.@^-FWBy Bb >Z뺈Zz׺hK|@\ <B($tX҃)ҠƀThQ!{7WpLk"21ċc‰W< 'dHVK U}5} kV1\h$Χt^hfdLeJ:ikZjt|"@LHF6C+|+l$N3^*(˒OV5f_=>>:xUkv2SK=-XmU׼GZlRBQq(X6d9q0gӄG4-2(x5L>C&#][Ԍ>G҉Cɸ ֘,Y3mYiR%6N h5WC9S-.i+ceAP04?3DGؕanFAH`D*ʥlԥPoAFMxr*PGdh8 `{Ft,pH#+3|+͸]_ V>$et}H/7[i"A_hT? : aR"tg#3E3#c;‚>^_.I5ֵ9Y?{cǍ'auxF%%s,P%.><+ ٤ S&H񪭚!i,t)>/{9!ԏ-]n~`>]*6絼pbe9>4n~nׂϷvܵ;x!wucYI['b!ǢT"\-&g'8#%¡CPG+Pi?~t(ݻgmIa<-dBJuja t.M'J#s 5ՙrYӬ-c&VgZJykyɿ1kK7(x\ZH܊Zo&-"&Q[埘ܙ035$crs&~W'f粎ܤɳZ"~lړARgrVSSSbqGlȣr(=DY,,w܌+~czf~msj\hЖ[csM2@dҤ|1_6F |ƏflÙ悺:yV@ 9-NcNG IlNq'$Ft1oϛt8x/H@H6@؜+̗ǡӷڝqC}Y9b24] (<MJ96B = n>*餃neʼ18#7ƭg%y|=9-jl8S̚Szs$'s-~_3O~_&1Xc25XHA-j` 7YV]*L>/"wŭ:H< PGn5ӒY=6)ߒ/i#ozzq$WPOUp|g2Jt j q`#6T0j)YJAcE밂|| \3p\S)''g+w07V%#  <:wS;<ոs곫C!. /E '#ex_ۤ7$"ɽFx ~V%Pbē; `I+ߍߓ"hUbr&+Upb 1V` }yRYVxQ ? ~:g1BAG- qנL_L{>_葎lm`kz8ʅ c~υs} 7"#2yFcS(2TSʗr<- ⊵ pW{zګ{Bwj{n~t+'C(!>[Zʝjwט6k..H!JgDy|#)24VZ5ǘ)XRDڳPdX*,Sz5Ox _X\eV}uRvO{"Y6CYI>:X+—;E̔dpݒ0S"ʃxS9ڬfd S"__ `*0_'ЃUs1~{.wbvo׾;f<z&=$Z\'y{&1,{1ľ_W$|eseVۧsW- +bP =@F#/ʨL!lGn222b_6 I" jo%?rL}e=o=W o/s}Y57kjf##͞RMr1jp7!k -c@Eg+]iH#!lRE(8E+wB^OXC#$ف-cÛc8v`W/|\/n|`! b'N |Bc%E'Gc= bk,xsljYN-n6r}nCᢅ|pZ6Y"VNm)欵aJw9v-w9p4wr7S_o"5P%@NpV b!$MXw^&l;kVj٩N2�W?H:b4ϱlY8QjJt Y/ǡ")תq/''͏=5 U ƶnfOdϴ=3ss Gͣ3MY[[.iV`*R-Zo|kq. ?whs&&SZƩui HkY ix6&Mes~є)Ee'3nƌWiڿ6Ni'cg{ ,k*/o{LظxׁܓYY%ޒ -Hb-gk!dZw<([`Od=ND$>M̔g@#S0* =q6kbRk]oeg,l>Eo,9sn)*3cԮ0F :"S+`/Amxoսږϸ8F\R`o}-9F[ݓ4}S8ZtK9c-eQĠOF>4K|O+[{Xg_v#,\ >@$e8 =n c:<\F~MXD-uVN+fqD`%̈́}eMU1v ,_U&j4l TTdس ^23&m:yZVlaQtDN(ɩ: ");%oA(28>q`A񄷒5;ݭhmXo77e*HMpVYG?(_C!Ѕ0.:ro'rrq"_&Yr[s#lP 4Syb!o/R#g?)VtH"WTM-IZ[?Pmhv`"h'PcC>r7,W:8fh:fyjh|vuӒR"hPąJ:CAeXApb m'%(ч2`wBPb Z }/qQ !Hw@hO>qB@3 ;y q1D?[i71{<=Ai= ?L).N i^9mU:JH6r E(YǔPHI!nW:%[n)Y(y\L>Ta|EtzJ6@{CoK)"AВ%"S?h4W0&<6LKcY4/L!esq ob B+WǁMp_0;2WZxWmpQSwBFe\-?ME80{"̞(Ξu&%TJi=jX*z>jBWJ_< w&P" xc`d`Ϋ/2 ;`xڍ$Iqm۶g[k۶mm۶mۜȚʈ(he+ -mȢq`WՎr -8˵q2ZG4_ԕIN6";<h(_cd NixEl/zq{l ]`]N*{3x}7l xKԓJMxl% 0) Ƥ1.>V{ʛBr}! z{=LId5ɨop?\:HZ'p㳼^{Oo2]y.X_x<9%cprvcEFQ{ZHgՉg4drwXpm^aP ~|oKXQW݈;`T5nH_%ZϏt4̃91>-YxPsL=|uGb5I&xпM'aM>V{aBƉ%CV>-Z-˖*sn)4yT` n Lv533͞/To0 ԣULxeNJ)kSVf^$w}zoq=@m/Iu:Z Z\>^ E[ϕKמ/[B^-3r|)yg-ܡQ➍quJG|oc7a4&:7&:NN]~#fXmܽ}\ސVwawK&җc}Hb7&e : ~pƷb:4f^&81jzu³r&=I"49kW.˞e*;,!ӛ=jşZ]pa?П{82Nn^a%Y2K]߀_Vf߬.9Aa9iyܗ 7I{+JFQ>w7OI9".xb@MwC$G0˳0m۶m۶m۶mf!^x1?6`[= 5rq.7;'"taNT b;qBŜ= G\WWYW7bw7qwp/vd ,J~Eタ/o?/_(xL<;EEGFEcZK'<i|ZjcybjKVMMM.IcCO,ח[)JeS9U>(ՈZ]mvU35>Hj`mRѫ-^X}~(g40:)2cYɬgv0ͥ6y|cUY=Qlka7;Cr{'r2hz`&X s0,}|?#E&h:n7bǹp\&$I]҂t&CD2'Yr 4AAtHo74&xxmA7unm۶m۶m۶mO7C'rK$2 EQYrn{x6^ ~$M Rt'M)h.Ѣ&mCt:]Iwӳ(Ǖ˒ʥ: ITV R<,8kU TJ*}j6VRQuz@~RhDjOxz:^IoַɌ^-S3#eI+Uj`mߎggsت].gײIyuޘdG~_$n.ݍ ^,/穞z S%T:|$ rh&:qb&⢸%7+Ā2BN@P@Kai0VFY0YAW&dv/xڕ5Z-AFs.$C_EC  pNyt8" `Q̡ON4i ?֋ρ_{b~_=!VW.l\㈰O5VX%A.Ԣ%fI0ۢqtE#pKh%s'씊IMh<7O[HXaSEKf*=E'{Inñ"DkР:hL7"˃e,﬛ fJ1b":puXWotҮ>LO;~i ɞl!rxc`f`01``#xv\EZGſcV'ScjO8__Kxk)mOmmuEje%ֺ,Vb_O=z_un{M|+k_s٤S+C}w%%(^xUXeEA<]YnvN<'y8o(_aVE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-800italic.woff2000077500000000000000000000552001511656052100364260ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2ZZnhj`?STATV`8  Ld :6$p v +[r;|$"-1FTФPuwgfTƘƚv :^*L uݦxsɢ qc"'ʏP0y: $XfĀ俖\^V?&$YԲm"SU;hN`:dp'oX2J`tItOtR@6B&ϻ7WWRGp, ʱHd=n!UB,Ņs !PB 5~%ϙaƶd.yG!EK:3B,aQ0#Pv>]3;]X~d]`ND4PEQЙ0J"oEm-j[߮tQ@7l (@ i('m{u񢤉7믨ekb9d/G gM-0} ݄EkY2'\WM-8R5#8 pRnO/R-YַX-h 4X";6L2503ťRGENc3N ]J䠰֪iIWN)10CCA#x]twș~) g CfN NKJ%R>s_oN;vnpB*D YsSIb)Pdgע6/٬3}R$d%r:cM|%#|V"DC(UAٮD<ÄIBQ b : a$ʹ0 -4%J̽5z-ָwmޯzLXvVyd#ѶBiUR2(iAeiNʀ쨽`BuXʪj4LQ0C NQ~!Yl 0}6.T&b-xֶ̲W$#_ȝɋ3 4H{k冱 HN+<`ޡJn³LHh6y&FA\Bl ٞlßT,᱂ߕC\'zm|4VHny^%/"4 2uq ]̙A -ŝ j"$CnmygN܎=prݞu}sN:#:)z2h@d;h .3~MlJ\cu@`a j1~-Ǖ2u~w|dc%@qjI'Ń$=cs#n%(`F]+/nNxzg} q%{(Ra Y;)zeK[LFQͳ x QFRI=iJ m)֛AM﮹.oxTQcR& @{{oHj8 y6*UMf E[ʮCOW[~To,0h vz,P'.~|!T e5$9Bgq"rVY$+*(^c$XO~*lt+m.]L1a'׉[{LXLp##$#Da'H0זRn&&VDG?,χ[Cs;Ǫs`گ͵cSǪ_Y_Ċ3;oWc%sgvuhB ʔ*2pϯ?ϴu/T+a/N wϞ|hԺ#5ƲqD%k&VJ|1 `la:eZz pFݵWKBb[^2hWT7 *$nP1ž#a)ݪ~zMr?  *e\]+48= ⪉&I巭߫j8{Y(V ⰎPB =Tg rd?u[HUUy&1`:e*$ 挗27<(}G bX 0,L")5ˆV]8ֽ/\-("U\~bR栖v/izڬyC*'Լ;p57L/l$| i#A3Hɗ@}w?R>Y[Nnc,AxSLrfs^L/! +!Nn%fhT8XDxXhlD o15PwĺW<_Bl@ſ.x{^cL*L OdND9N}ڲyV0A ;sh7oA`o5"w;1Z#I&YLoeyNoI`znHW\18KBVIJr< dH\'$ʏMq &lkx*9`* AzPoHWIcjS~u3O[TO[l Lv̑K䪻!pkYu@Nڹ䛆+l9aJ>-{@(B<)[I^V HYО?O 7Y1:-D5q we0V04fU+_}NeNˡ|NJHFDL% ˉ*K`"z"[v;tUϰT -!)b?Bhc[p,(vq^Vi.#QuO{!RiXʈ l-10!d GvEQ>M<͔CcfQ4wo(ӷmY1Gp|_$/qLL2HGb4!/^F]Jsu3\X}- |.I 7 7@xڬ8փpSr,aW}V* cAj ;Kff;Zti$q^ *Jz e&q.(Mo0Uwyv[TghU{(4q)G݊4wOYS<37ƜC\=6I" ʟ;X_[d2T_- {mdYQC%F@*̊Q~lD%O9#wW=> >@,=beNfpBm*L&քpb7>8E]0p7`h&0h`UH}apd!pxLWVI@<8sG8Q-#Yt h Iukn0^>,/k6g9f~C  >o BUlb,6Y Ej> 2*8"#Mc, n5gcpBhB C}$!\O#K]SH5Uy՝U1'@U;L+vbG #K@`g51m@| Dh)о n 9Yp5ob) ׷BbWJ7b Slu+f9jiť eGG.t86 ʚb LM>Py403vr$} _g0,(A@5>q{37ezšX{-_nl8(ǘ_LpQDڞo{Mk!vQ RzXz8s8E >'~G U+@R) UQn;ҞRSq o~yǝezZ K)Ț /:F 56}c$ 0|aM,,aa2E5 "O)wI+N:fݿ_56e3nx"+(sd8UۺLZKj{EUz9"q^!ɣ ׬? %xI\3TOBoOr ^WN(,HӛֵE(yfDm'1RW:IoC11C/rUOWP~ XmWj78S=:l&-iCM3Ihu/71/cUکur0"[g@0"!j- 0߼lC89;2-ЫQP?o-`}sUtVgq }5w䍠ZpVAqp݇ޟEh-^5ocE y֬HXL8w*>ί>أG<(G !Dِ 0ohTj I-$F%5]7C}Ai9 |)KUBx.KppwY Ms#V*pȆ3N lfv*nt5Y.Ν$4ZVʌu$F~'4fX͉FU|+m+P-w2Yѧ/t5„bi`K9b6)9[]5X֔~f_DT'T4-YC;DH\qm{Y&vZ,-wg4 j3䛧P\WÇ~wwa)5̻`u p9Ϙ+pUg NmIMe2wsCq8^Ho9CsZVWSXcl#H~g^b'S5 PR!jN'.6;#rN㩻6/uDTZ"1ܔ{&J,9ŽO3ps=!BwM a>~FIP!3'^(L v"N["*iY}߶cQAE%k`-HB-` ?iٌUyࠨ=##lud0-4݉4^UztK8I gu;nb-ݻ(P6΍q FgFܰqQ@,h&G,1W7BNd0}q=Gq~3XTN 9A^׌H@vj+v}۠/}-gDv'g5U^wU hh$?aoCB:#B@=[FOfq.Ł Ow@Ώlʲ۱d-KK䮑XڔvE W˓^XR̾R0 2r9ltnrf6h,v0:gúIh!2B ʠjz;f:Ei۱=>[2!˭n/ƮyBn&L0F;sU(ү^PrO;i&TYlKN!%KN!Pc$oU&#F#?e2$JDN7J퇖Ҵfc#J&CV[ISkd>?dҤF6>_r8w`N2Q՚ ;>IE5V>J?c =P(GgVs;h;BG ݾ)Ѳ/EHa:_ǍC'&6n=s&h}Lشӗc+4}-i !?^,Tbsih RHg ?j6/K͟6l02ZZ/EPcROp#sj]Z['I:U%$GHcd9ucyl5e%)dXnTښٹ?yh*Gx!h6*EoJnN{@JD]L RqqA_ h:2>+Y/? 8q1ŢE;.0Jѥ_a.gOPpF&J< 섨+(Jxep&~fFzϓVPEɌFWSGw=.26=@Y=ͺ>*-2 %hg؇726%w+ ;i:erI, J Tˢ} ];_dqw?O[ȋ%3BߪЖs]5yjE \')%E'6y`\atX2})'nF7&@!%#*E tW"wfǾ &Ϗ4$F;DJaGZ8*ȊopFA0vt)d6)GGڙXҒSXcтca2o-Rpr᜕=ĦI]\ n-8?ڲ^4%`3J_9jL!?Nk2xӐ֔jyWo"U$X#ra^n؁*):WESWi=^"vJBK0PDcY`_A 9BXt`(*=K>\|yM FYLM5ml^?۶*ۭww=@U&WddB+{<ܚjҧ^&]bW Kz^+'[^"aZpPF$WWEz KKv_ǯk]ϴ@]%\˝KsF22$nLGo״rz}cy{p7])ZKZpSO@҅G)xٹ %'3.Dm`ROj!5!ˍLO (4EWVL~B̯/S\ nu\ꬔ ݽ!x6|Ҫux\= Tϋg5v){WQ{sbrB%u'i~k" 8* d) Ys x.OEm;0w-(xqKe.S35'<ٹ.)]g{ޢQ5!;Fl(g6E|*u /)>Ba!{ދ4ԑ~J9~էvx=+ )rNabYWO.ȂS )6&Lm)dsY[ZEIaf*3/]AzJ!:RT3V}j@`1h8765PD)[j7m9B8іB-@",Lb^}2tmȽ#-GŻp4%T J1V?UGNjcؼJ6EheOΉuQnfSi!8.;ΐ^IK /6\{W3sѫG~XcO^K8ClǦqX 2* Q?-=sW|5ZSP5¬-La$9dsTyGBsYR8?pXWNJ53:,#I|g__ϓ0[9"!Ggj 2i)I\K?0Ł/B1ɴ֓N6}pwtSZ{KGf]QVDn5,< uV27DY+" h2VgJY#tIU "$}9U2%dVtfS%mnIniuOG^ajH37k_)z};&5$c-R;i"1[z⼁>`>k2Y5síJNMRqqHKʩ؞(oբ#OըHW)(`k yXP'Ck,pl0ID`喝iYIɦIp\|1Y}a[Zh "-~|5?NEޘR>}?'g4%qHIpQIި¯=ts/eOcdR?+aTVJ.aIP R)tWQL@!![:m geޕ_Ðæh51o u>\ɳq`CB[jjaqSZki Fں ΐ3Y ҏŔXL?_B?9ҧ{~GѿR~!StSSqSj}c44\SW9[,R;vi,]H2Ibp+eB "Y -tfq6,*SU=@) +/ ?{M*%իtޔy5-Di-E)fa.)  R S)X尩r+WeWH*]j؈ztnZi(Ldޜ\.i'x#il"?mmaeW56JZ-z0@HϞIhNNԛIgo$h&*h$5L{{\z-\gnybH`KXE"@Rfh4a'fj_ a.,ٜ9UZ9\R:cNYuLzRm*>}ӷ`=މgo˸:%7MP4]Ζ]\@(xʒe/^B14:|)LV=F}~qkإ tea[n7 ΐ$l@z[`imVgXwy-qr`X|>]h&]ʀ\Cx|0M׵Xhԫ; [4.uu@2#oyoꤠƍy/AMH"ZYnMkg>п+}ɑ"b®+ +uXMbSyԶJ/ 7ݛ;.aRp|+$/sӬ͈, ~;]IwA86?rxSJ:퓋Ayo'pzY\?/V ٦t ƚ dw1x+;s G+_MawP4y ;dž?q6u_]HBt'W W ggCZ <[\|1׺XZ]lp ]dʛJ+ۂ^3-f).6vXa]#uQtxzlҎBJ s x5 8E Rg'ZcXb. x*lR 7OE_21 )kdɞvƾ|& 㽝p6h̽p0W2It1&=v_hiKQZ;O9hB'{?Z0> $Bm ;HݸtDabG.`Hk2V0#&74qV-v};& w8+ K.7Gf_sd2n+<|ק [{b\8+7ym@$8U,`Wuqj{ZۻsRoq*Y$ %}F&Ae,JهڻB֫ɧ}Sˏv+ M=}lO. %;6=C]0o.}ulj?9) ?;-9},<*V|zz$GP&1SiY~[6ރ#gbk{e%KOpgN(}^ MLʑGMؔ pQ?k^4 5ZBbo w8 b 4~aJן|zTI!OY9ϧ05<4oتrϫs$5wI,5),ZhW)6CBԵM #3~dIeX,/[L.u&%w$?OǢݝK}Mr*-LѨ'T_ԡmdKT:s6djc^Fn@'ԕ{R`r"XK]?#&DCo(QҒ"]r%ad ͬ,-( r.wV_fzԾA@Tc|ƗFWd$##L960ic^3Zͯ)Zjic:n;"v !SFd:+J$) )}y3ެ܇ Ff4ԭ/-Yo&}f(. \Ўd͚5ƭrKarvw^.75HD;&Ƽ@)Ɣt D@Sfl,O_uiTSEO!,+T?[T]OSZ-UORp+OXQ_f&, DEa(n`BaXAD]MdwZeVf: 3=kk,;0V42y/WBt0 _o\"L&'r맘WO뎳gWy7+v?[|/>uWxޛ O> ++|Wt`e02?<2aĺ)k.wП<%h0TIy->$.fr`^-ԷۣxjG`JI1 {>X<^ye-AJ Ns m+:y4k߫ȣ[™9[MgLL(x|t2%w&^јĭ+=~ncߧw1+kFd=nxw1~Ŵ#\C= C/un_ R?oDt2?$ ;J`E5I6'ZrdF Tګ7\ #L \ .LOplNjG^]ͥIXxw^͞_ҏ\AI3ڳqPcA:~efu=5)>eNy4/,5[K ($R\>Ѿ-6Ѱx*&^& bTzaI)/ER{lT.cث = +e|@j{5CPOMdvrN4NȺ>+f @ O=x7(+=Q߶!r(+H/=C|F_~L-EJ IbYa\J澮KN@ޙMo6^2\1Hpv8C3#`W뇥HغjXDO_ɒ_D:?b\NꬍrSW"5p4 n)}( sDHe6f[E]gm. xM d"%,2!HJ,q#^AH ]'wvnn^6M- KiQ95%1,sopM2<Ւ}(RZ`nJ"Qkg2eZ^K5_fm+ Dp%j&BΐՔ01si1+誡Ջ~ys>3W+KD" @n0yԗ ]qSs:|E<`S[fF_Һ$Z!Ej%64g~40xv:ׁT7_TV]7y0bjbur bJ/B%"JT-Hj/fl/>?r~4WZ3 >sY;L8zP􋟱7=7riHf{I@@'rI `!1Oᾎ5EV׊? H,TNގKJJ0|7CqIƁ"G)e([_>-Fe 2 = Q2* *Gh5G=Rp`0#!#( lzt[P8+S4<)1u[ST.:_V`Mj†e!Y@2 ")XD|)Zz*e̬cg6y+jp!+'AA8)Mt(Aݩ;ۗeæRr9"I=4%85x4ќ4%*N*-#B@e.V X.Sv0nKb~y$[1eVyA=jҴYqV"j騐t\FEIs tq:Ăބ[yc"l _2M{ĩQ o^MӡTB J6,ɱ8%B;2_n$9]Md2ruFޯx+Қ;Ea|jя ՄxI#a=XԦ3_2f#3])R(6|}|:cea=mcX aVPx8+  < {;15<lj)60J[Cϫr>ZY VZ+D,Jا,Kb@FKņFƠ!f 40aJR5U%QLZJ[;:uc) \, /k3WYZB҃HT!`W!pvNv3DceI-36+@ tkao-W&G;^sbƒ{Q6֓>D]3%΁рf O.T6j˜1%x?q3)ulԤ>&nM>u -cso;yVˠn&ҳMA uT, 0se[YUޯqntҝz婣DÑ8. Rʬ~6j H,HYo4Tx(NodHnw@ռN9 hv,J&}|fӋ`t-70(m~Ibf7?Fٸ; Y@ڣQ%=;V1">3$qN0a5DtmW cjm3n%2`$#-@YHȔm5YPy]Ia\KSգd[*NDb 3szq CzASwv_{jC,Y&,{5c 9G59(Mlߑǥlk]&9ysF:I}#i\%@sOVv~fn}b^f,:G'c&C]CMk^nRRgڏu e)Jݟ6ɾz1}NB5,Kcieo|4 CT8GMI~P̞ {x7|Vv'O6Uh . T){_qڋ_0>ޥ$Yjצ`ƚmqcޘ2]t:M qJ|fmnyz; RbC5+wmѧ(+zUm#Ӏ:aA,rfң YXr>PY"3Ջ!(nKpiP4I>nnC;{DNRr9P"~dj-QCMB #yj@DԜn’=aK`W'x`Xx/>ЊZ-blj#|ҏu'z85*isj67/ov{r]ʻN?..6tqYaT+%tr^hcFp J驣9ccvxI7҉Ra >ܓe:hx <) ¦0Vh[l vӭYXjj)2A`[x cw54yMqyaV^E|c39UEmo]B8st%XȣNбP| R %gbw ѳfwtWTLe~7((wsM.Ω[;L% MT흱-~R5%nVT~m\*6 }GLENnXYܧ!f1@_M' 722nt g@K@ w`2,É" ^NMҽvϣ][((PN}XR & 2Xr RV?'zQ/񅃲]#߃cۨA#B"`pMY8 [-jEk3|\r"pOB9D)獎hzGS-f1+m܎&XW\]tZzJ&RUv#)g_>Kۼ[?8m-&Կ{H ъ6,[ҶYYv'kb+7o*l7pT:yrOC)oS;| `ye q sYR$}',m;>„iJgd,~UY-\x"8(fO{QQuhԖ矟Χ2( `kc<4w*~=0C+xMn =5;(akqr6LL-xpU$BZ`CgJ>v)0B'Tp5̢@TYbxaB;2B4BBlu+z5In-ykѭGl+npW<1I֣F׻ DJ6U1GvOf#{]ڈ׬ =06hl?xdz-U,PJ8ٱLďls)`D&ܠQS;iX ~N0NDB'5)f"Ϊd/^h?"G/͉0JE50v;.5ѸxV˪emfVVd;``lPqu*>c(觢U$Zt 8^uXYcEj|^v͒tjO `3l a?.+ kl>}E \Vիi> } mqv{/ R:+yZc z_DG&9Fc=wG8c8$6˩i޲sKr ~w0y1htEehfɴ8M5j#XZ\c} ½s!0ԑ @F>N̝04nv"%FN:DKNG}N0,(5&e =I&+(T! FGIΓpgB_)AP8P/ɖ- WQ2@N6I䷰"XyN;/x…T~TFH;$5G\>>I(m&9m TUœk 3p~'q8%p&0.ߍou6,rVLY~#x{R^{F_x6CVWf>\Zgi^V77M,u];Yv'a cQe'*Ӱ: zrk6zfXbEв)$15 mR O`2Mi3 i~#Mu'THT mJ׫v85G2 9ZjqSR"ϓSîVZEtۼ8uUWm` <49h544VXJZJVP+&![!K dFZs '$6T .ԟ8^TwTi%=o*+uE&Nôו&7/X_۱((-RzFoJ+b*ۇU\ոN]xocSvAK&K~ަDE~͏Fe` %Y `T% ,V•open-sans-v34-latin-ext-italic.woff000077500000000000000000000711701511656052100361200ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFrxGDEF#!GPOS4E$6PGSUB|1$OS/2 U`sq%STAT IZ^C1cmap THKcvt 8IGfpgm Zgasp`#glyfpR Aheadf66^4hheag0#$\hmtxgTpxylocak@maxpn namen%\;I^Lpostp 2prepp4B3)x 5RD31n^ωn m/]! I'e!ٔ"LTXHfÌ"9Es1qgw&M*@E^Q-MG~X~R~N~Q~Y~M[!ґ!" 1*zx< : D7m6ζm۶m۶m۶m8olA^ēx=XE#ŏy*. c.*[<Uf(!ix ʇBx 44Eyy])7"^F[T C-4ZF'L@"L6Ďvͱ'h}88Ѡq23) eqFpjPm\W1 jEȨK(^ ~QÓ4"jx^ɜW\\XsI.UںsCooossn˝=?߇+v?CyZGD]]y:Oio釽(š+y=oA>g n}Ti*/u+Ǎͭ|)- V2KNåߥTTTZJ{*2ܿW2Yf|Y}rXNv{;ׂQ9>/~_5׬kA-erYS4ݵ֑cNٺPZݬ;u z@==lOml4~V[Zjx;gVJZyjaal= 6Ѧ\[l+mmvЎYpuߎwcҿ_oOx Oi=^K{Euopf}K~7ojID_uiR] ћA ߏm۶mQmۏڶm۶mnoK6\.GxAA5(C=07xK!n1Q6a=<#A5xLo.og7+5l vE'1`+e{{jhFU VżrZ,b l o &5iE}cՎcJj{Pkju ~_ V=Q00D uo,ۤYs_@6*޳nLl$wo{ߵC9Tx,}-5O?tN a~r4Y+NG̈O$>GbgS ?L">O{zSb49۫OdȎ&bO*Ü{/׊ro sŸZr+f`zd1>d%8Zw* f5~=^ĎMGqoSKK.e N`~ kvF)z縱Mm~+͊aE{ʦz% 4Lo^/*!qv@i^cvx{ୁ7kSfի[5ȭ-4έ-šVubsk|dXܚ$i D 1 2L $%ɑµ Rd RemG%25;Q s'1HdC*<*_-&-f,.FʉxHaJZRVkhji$ vc9i?-qЄHXHGvB:" e$I.tʥYpRw3G:mD$}BeUN`1!Z,hZ3L;C{LٛPap&4F0kq2k<2xc`a bjr}Y aY#I H`=b ߝ_޿+81u300ɱxnR ,t_xPZKETxtx}15XiO| όNT9 Qn7xڝDCQ IPT!*Re "UDhai%"!PY)šL1-)U(5#sil>F  8ChN;tBOBUV*b^+z[OV\E\UznNv8ȇUbCHZXB8wI 1=:֗eAwEzY+&kpGuuH>$%<%|FHNeU܀xˎ˶Rd:90sfx 7}۴FSoNDHb(>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڄZ\SsNr#!!a%d${/eoP@p۪D[g;vݯ{e{Hd'?FG-E{zq8j  dA K$RCȆHDnBM(zB#g$Xɨc7\l̘2 '/4v1035Vߴ#sC|}mOA޹l/ńAūrrz܁-8h!C'hb (ـh@8HjC\w{ۘ$;6,::?4@/Q80B\‘'*!o_T8Q' ) UچE7!_b(/w )_ Sچf((wbwE) ;~mԞA|s]Q'™s6o(̢_/@&ڈh'mx$,6۠{.Y1y|X=y0YV'`Ƨni:csRBk[hM&m-t,+/(`5KUW!ub*Kh"fv+ \5ҟX{rBOj?VnѲ3E^) FS2g&-ksay=_|r{}D=-dCfX\ݒӾ7X&xK "Ir;C)`C1zߠ/^K"&$=8XR`7w ME˷ E8+ Hp^t\]]}H8++VZ$K PjOݪ[nbuZӥSvhOXI{L5*E\^۝4]8c@yMm({Sp|iY芎Rp#ǿda>p6=.b[/Vpv̓gk^}UW>%h$XRHV)_?؋16PiIJy?yԏsx[؝kP+>y`O~Aсpp̨B#`UY9",t geҸt/Ic,FLac"k}7ww`M.2҂93e:0X# >k,7#=|U(KH<`#8spB|z;26Kvjv7k޼kCkEs" W(1"` n3;nPCX(z=\`&D?P ew>nr\-0e`/߿`]{`OoI}eFe v4n [~`5-{/gqFtbBHME.c*.Z1S?_G?43Bݳ3}F73N0ʀiڣBuf2q•O~ε߼hK G uB=83߿{n;0_ !!DV\[[ CXWR c¬2~G/ܽk+-=}XOMjNoJf 7eY(-'!sHg VvɊ ;ZݺV>h*=c/ )E")euI~͡Z͌[2S*~nP=yavېplqG)(!\ %Tčje)%L9w U?#jdž(y İ7N u~muGTUax F7!Bo7!M7Q#M@s6ӱS+2SUl. .T>BJH[NW! g+Iou*ٱq(SqLRdܷ }6i-'YҡQBYb]3|cO vO CQ/Lh]{6;"|¶WR =_(_|!>aڇ">7h_>6M+=:=tc g!y 0'qlhE;#(L*=.T ?(um֟شLMDn6`A|[x|z:# 5wf җH¶>gNg]p uktɆX;[ h"X<[@[U0#*LsdL|i78etORR|*D3ٱMBJ#MbGGrI/(ֲ[j5*z!X說Mg+R[Syơo8]Ӳ} ;~ky\xu`gJ ?ޚ[}}z>]ً,@hK^^"L&g"X,We2KgR*:pg ]`TGn L*d'm)v>=%W&^m(٥ wpi~,#b FRIotMZ⨥{Ǜ#}ù'"Bx":[H1 |3Կ8s߾fO/? lQ;zV|46KZBPAa0unJBˋ<ãlya_ SR̻0jE40.Qa0}t[8,o |8 d1doc^ r2"<& 6H]C|ι}\nrZ@<ˍM l)v# jNLY2!-.3F9%m|v TINN%1]%BΞԔc^DƻȘur otIL,R! BFÖs,~kR_4~:4NOE1lW}KkWe{ʶ]1YM3O Q"9gElFw# EQt=-C9Ap)gR1]<~t6-M%;%ү*FOI4ܝfu7 Xb}"G l"JlI&3&/މhŗ TN\c"d1T1/v3uPYƣ5^Mh -=^=4QXަ\Sw]"LF[ؘX>:.)HZZۜټ>*{p\ñl&uo3%xI>CL9-7VBzEz%hda V!>Nh3,wHf:LnW`fZl8s4Pםf3׫e8/{ܜ'Oʪ<Q#UHu#o݄ &츸nl.#ْkp%DykD[?H^,$OMw,w=jWY`$wLO?$CE8 %oH{m;u_RrT{Ȇ"|MӮ1X ODM6aފMزT8L8wfޢB3ScAk~^ґՔAϕ) [Fa [g6?.Ş\Crs&uE ۼ3u ס W $<]!$NRfqq \ $oqW&$iIKG'ͩs!op-o&I;26 ҩUV씔4] ¦jSbBܒ)Wܑ>rU40VʁghSo K̲[cT {ɠ_p'jY0*JL[#$b\X5yMYɶNکk\`lä%ipS|%uU݃y$Qv oAb- dRb #vRO&Zֈ`K#.ܤ*]A?]RzPПۣqr Ĩ?P7D)3cbA RǁΓ:;qѲG"(l2gpѿ4%0+sz7 UO x6̯-oX~eIe$ _:-|\٧^ӡvedOHdu>v~rӄLM^zޡ^n;]=*06@uae  =rcP텢x 5j}t%qj^Nv80&&pk~^xL5;l{K>yc%crCnOy8b'P2:;*@҃g"q$'Ah!PnZFZ®ab!5&TjIP)iTBKݐƴQڑu#+<ƊF:"tcc orJJIHIN슏QF9R4=`dL(NJtQѪΤNmf$uqd]iB!!!D/A轚^qEƸQk縐^].%^.wү&gXeY@(}3f{\$A@,JVqDЯ$iVr/v%{@?Oo8z_gOcC4=I}:>146P"- };w f -;_1 b= f$~a!je]J EcOUl 6WFg7ܿTjT6slqi%#3=<2ڤ+m{=|}|J7}= ; 5zf7+7j"2K蟥o;$ga>STʈ_XLѐ. *NAƐ 4[姍MV-ƌf } ȉ ,n| 4@1w$Ez8-(N;xRt)+W]w@=or-# \ѹx7/l={}oիNAՕUWNd ~k=z=q3-}?O:obv \M //[FT[[,e 5p$0܉H#5GVPd`On͋7"J:zq-ũ!z 55KK^؟mƣ /أQH %([9M5CA-TI_0so Ax/<9v8sGrxE2Isx}jVRm2n19)b!DAH~&g 4D[`(X+$K8ɔHq^Cc5F4(=uvhiXʠ99kx@wn.dʳ7[4^c sp65/:ЛQ~ZCS 98=k!hld1$Hޘ B޲m5u4w# #%%# #Ŗ=7,G@R!yи&䕕rHڅxtfa{ٶi~# Еt&p,WWp0Hq` WWhW<&-)52)mWi(Kpԕ\yhSȨMEY}%sh#AWZh=ꦐ9PEX,v})]]u ]LmqY͡1ʖŮj**{6e#(ӐܴM0 wr $ t >k݆w.컀 4 u]+ee ;.yQ5p%1@ÀutxYBZɅTЪwq:6<_7w ?O8YΪ[`y%3 3A| qQUT ۗ&GV7jdD2ήOmK+o$t&; K9U=5DpJ;_*½+>A̺KUh9WZMSsQk$zbX>XSKw/U۶ِsh_~GlCOjuItjSe K5' 4'Rv4B:N% oV[p$́=]zAо#0, sAD0-OqXLzDW|;-I==l QpHEOѩY\ky | UQ'AǒHSeERdkO-+)>:zp|e zÕ(8_ӴhzkVi2dS40`>Y@S >E4v(gj x\YP[X=9VPpfu#h0x-ё`y#5s,.޿ATN P YWdM&sX΁\4=EEq!/҇C'.هdktO }Oz~[2oB3Jh M FzRo!%dKx[U:<t~S4&cNL]ՙdlyy{&A=٧WqV-id@.YL33 pgaùg @7iuq^ZXO$Gh V^ZQ=8dG{RXyQB҈=M/:jhm?[32V*斡3%>aTCOSq w?Zq a|P1>@\^&4ބcVihJ!B2 ]xD\O1!R17@0 <<\,.2GD2-xM FYpv)L 5$Ǝ(]ٴ7Y*y2{W/?Qtc!Z4RXwbV&j/vu+7Y%J;%#+w3tGl>4VCUmo;vOjh[{?.4Uģa!"$ln+.'2rQr\sM/,J00o5WH .8̃{)QQ\b /hmh@{ ngW:4O` ߤW5ChmmFnD'{8L- <)-4u5xf Z-S_bҍ5nn MY -W7=ҷjg/n.ۻhsmOYgv% +-|ge9e,=M$. ԓ.9B`_7-7&4JChXSB ]^2F :`/@3P(+89MY.£2rf>aa!!o;ؕ )) oRLѦTO9Idx  &l Q:yBfg wrD$V7xAZm~aPcGHD@ݔRRLͣ+H^b+,.!X-̋_ݶinn!gb瞱IcLzOIOy M/soBiHp3#!4~(x>8=|`R\==vc4"C Bsp0fheX+U6Wm+y:n"-%tb52Y}[ul O|*ߒÚqT"LJ{@vl6$OEu(c5)^2YX#CXH]'Dʼnr̅SN$ ;뒻=.)O_Xa _$ߗ,ؿBى$(Qvkgˏc.Af8C sC7.fXud |>1|_ | k |J>Ef|ȸh`0‰M‘' Åo pP ǥ\(C0/sIɲM#~ ^G4 $|x!Sjj'\02eBʁW|>8Ϟx"X{tnȉIԮ_ѿ]7S:)tBd\.ut@n;"w18ue>J-@<؝=F2+-, h+[Vb %I/(_l?nQY`M,ER,o"1?z=-f ,a*}zZȕSe%BE\*;(iCc'T0 A#!92PDQGӮd ө 'A?NNuc<"Hh'p&a9*/&ox?Bc"Aq3r EBQ@E|[)NAbd$pOOp#MDSӜ$Rp3LJv γIN%E5ߝ'; &o< _ F hTjPo';{z'Ԉ)tH+/UMRGV’ؽ>܎\\K&w-}wW ҉a{Pmr{Qi#GPs;ETB,;) tvT#vY11h?8/$d<M1V"[9(qVXݶGV>X dӦŰX]"w|E>j̒}>{Xc.Z5?X12e5hq߮Į}ݟd䞆a]ewNid =2f)2xG24pƪ p|6z OI8R{  rh^KFT?O]+3@Z˷p 3Dr&hGZ,>S|`8iO-iM5ϗªq ~wUjK=I)ZSD惻zBTkZE?K$;1<6 LJ\': 55^"5RoD51*$Y'-dg ϙe"yi'%ԆI{ُt :|{G`U2dV+ŋt!q.\w!hi!d3^VBww%b_Y/C[Q ,2Ća\Bl5 o3Y+Os ,m+S=B8x>_ | 7O1|HA 9`"*@<ݭw@Uq nهSQxnmc8E ma8%S|`|*MngT޳ @ҁK/pkpkM<;Lnq^鍮գeo{LO{N@by̵|Z+q{ =Z'W"4ik 5xz7.רO͍6}LMO+{[wD-0뽿wUa= YvL[7?%ZZvdy פVEϓy@{0+g#rapaڍ$e32KOJz^綩u .ԙ$柰0YIψ4*<j0Vp [hYݖ~CǧKI){ &Sl AOmٳ)g՗=H2rāLPL\^G.AZi#1Fc_{׌V_?6noo4gEĤ'ÀR߹|H;wSFt|jj|t<[Dxdoya)PP'zB2:sfQX-Zc22#̩;Zնej’ f7_q<#kd_=dSXs1WhfdJd2"?КdHg먄J<)$;=$ZXQ8/?+78Z+‚R2ŤWXR0 vAVKpAMu(}(s \ l3P?1 V#xѤtssuP) ?@"FrPpqnD@k4a}Kw>S[vu cRo~hЂ'= T[/[DVDm~{ǖ\ԯ߄O n"{<#'.p+F򬬣2wc3vc$Cx/mFiF=EG?KIH2qd2AfxPO޼??V5\BŪu*Cƀ,YmޟC_u^6t/@Pt7Q45R'µL5dS>߿Ȭx^\P R"u0F?ljFo<~sVtQ#zr (2i g]eZ@ }؀&;[J%2FI8(=4Ў ^ s|<<)s mx?h86sw6xceΪ.tK7$CIɈ@)^\vcT֜8` %G8Qzr, d_DV24SIEF HQ yP^T>nGo'bhd8."޻3[H bq̯UXQ$Gny O >OX({F$б%AIζͅ_ZNH/y ԤqW(lRo/[[ઔZɟa>"UJg&!(s,1<#tXh\z!]``u.>Qmj|h(@cWҞ2# !~W\-3O|""%ڬ!|>YtpкJ-t؃%dIGDJnntePAgt^<;E0,̚NU*7ƥƘ 3g{Kr SR s蜾G K ỎI." Ba)/s;Hv9#.i!|Eg 07CO&)ćpfԪC8J8_Z;n[apsdzzdtzć+wwvjNI|&q4!/6ݒVYꌤb.r_k˕m|6Ӹe߾U <8>'-|Zɵ^ 2b-\SnX0KŖVJOW\Xe=SZ|Fz/pZj={k5M_]d/'w߶tջc*u_lȷ QV뾈* V?L}YAS-qb#NpeIph-Z_wqACxJƛU&:K^r3;НlҲ& ;zt:Ǭ?p,^sr̒8{Fe69pꎤipHqE}4ڃPڡw798*yˡ-!fN޷j'o4Ρ͝ >&)`M/ \4xr\8$MvHVO#ܳ&X |JgK 8sah g pcZr>Z?*)_qs≺NI(3AI 9c78 $fc8}Τ3EY Tz.|6-<],5fjF}|m_nJ]{Jr‚dx:3{wgKZȝk %[EY{b+%Let%PKa[DWQ^TaMяM,ZTUZ>ߩr0|_{fX߲M@I)M.[%˝J6SQ}5SI _!\\hP=G:׾y:F* @Jϓ>>OK(WgDϐϚ7g{$9ҋv6'2~4B30-ٌƤ~sLݿ gT*7L/|j'e,)) *鋤d JBJZ7ҧLmhHO^!%cT Ld)HqwwJE.@JQ)$yd6z AI !ž)%pRLegC!탔p5鯏\u=W'_̺36Gw0ٯ/$^q}זJ/]8q?5tN`ss؃!ce)/\l7(uXE7mK9Bs9G_< w&P" xc`d`Ϋ/2 ;`xڍ$I}mۃ}X۶m{7m[g۶zcGNٮj|\{}C<VŬ.1k} Ǥ4e텄޾"3|\K=@N$OdJjF[ U]L w*8_AEȸ7 Z*됱Wf7.2r w4rY a-(c lžpqˣs:~ Rn*R븃g{Y*'"e%}Hm>/oE\x;x[:u*Dn|n<_Ϟc2]3o(?zvg7˷5/sQ.|ew#\fh]{C4{ ~ b&e FXL_k"iK"!C  hAԋC>fjK":zzʱEњPoWQ/U]WTu:~iZ_)Zx_y*Us59(Ie d2$DJ{CxGTHOcCc1 U Sֵ_a|gT?!>~Ԟ(M]/OPiPS֬_Gk/6wj`oͻfN)iѝfœoZ62瘟e+o\?F9$Ksn?{!T<}HoT.Аs8/TKz:,Dߓ~L+|:@$uݫa?RP_I҈"l'1L"i!,xD@o3[[ٶm۶m۶m۶m8sQ0j:zݽ4(t% 7 ?Ԉ̏쎜|4gt\Ë3 wN4ILMLƓ%#|X{l?MMB"/2ӿu 5ZO#2}!L-syƊlQ{}qs=== 6ߖOBLBn@$  +wGD$fKuQO)&)RzTE'dFriQ*BɥV*DeWU5ZH6U4NKj9R `ր}J{FybL3V3} Y\m3//0yht,kV'C |?!'"BQ^M@tA*fʹV[{C؏=1ڶ$dOmv;;m۶m6)TBj-3 QR,R)M,eTMPi6Z'N} a!v=c^+QvJO ha 7v?̜f{u͌2[Ԛi=o'0mވw>+>~q;mn=qoO7z!/5&AvE&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-ext-italic.woff2000077500000000000000000000562301511656052100362020ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2\8\-n j`?STATZ`8  p :6$p \ ^5lFĻ q?.=3ǁF% rd QmbY:WPLcDUak]HN3ǿםHJLda[dPeGJDBmm| -'jÚ#PlQpHqCDM"S/Dg( AFI.)S>\OswwFlD 89TRHz#T +QVXk3o JԻz_zJ|ؗ3͝fPI>|E go4XKy1_x$ %*s5TʙY2}송ZɏiJ_Wzݡettƪsm'S%pts,V˄M1Xz=JJv8}F D=GJgaR"{hYgM!9(O_Xyn+?(`-2(2% BӠ.`rYkLAAQPEaϘ׮\_m}׻]b{UKrS:$8 ޔD*9(y pRιk>S|Lw;nlBqߪMyjS Vqq.x>f; H"iBz9Tiv @P&3\b;0=:e*D(^tQ+];WmsusBH(Cʃ%TD$9hDD4%U@@}! )0PnEYN?{  nI޲C""$uֿ~uYjZcKF v?>0noGHhJ36ʹ4'( G<7z;#D$!rd12xB'~AѠج[#QK'xȚt-L⤪DMLAjQlQMTɄ~cLW^*13:֌Txyȹ2S3Yo| ,"bh+k+u/iV;5.si bm^v64mY.ѵN*}sfOo\ SH^ۙ .}ɾHO`0!JAdKWTd);9]L)0(%(9/XD:W:OVaMtKWZͻԦA_[Ơ8T2V5ofD+k³Ywv,Uw>]x G~7ŊD.$ZcX&t>+Hh"IOμֽ's8kR=ɋ|8kE3kgUC:kѱh=AxM+b^\B8!x/`#V0'Zy<@.#<=r NZYO荵oD|\Q+*ʡ(0{Hwvx{@Rq9JT9ް=^pߝ{|e >ORόas /#:Ś/Eғ:c.n`dddd͖Qݑ xa.UŘ.Eɕ8)hB@0k8D݆BYsy4h1RTx&@us PSV|<</%""2tNIJ{qUI Q^C9ZBwV)Z9L%q r3+U*.CǜqQ#ܕxN:^dpN)B" E % yJ_|.*7iʔN[{J9xd.v9VPGWi<Ӥ3g"W{ vZ[foSr:6kl2:FR*2X$y\܁d;O -v >m :[=ؼv5O\&r=ǔIAYd)ǥ\FR> QmL̪Ш$fE#0t*}e҇5oR`4wۺhsIe?IKcGMx߼ W#+%(tcJJɹPMDۭHpe[t鯎6藝WBJvh˙7Sw& i;ո<+AZyJ!$?'Ĵ4hP[ '0<܈' ,}*nm=?+"5iU `6Rdm73tSw&[yf.m+)~'LM-ـWڽҮS:MPd5粻$nt۰ވ I`_s n^/q&݇(+#Ti2=hf"r^&IFy/nƷWɕ)^8z.\Z]qoUp{+m(l:p'f`=/":4fCc:ZN{L铩1V8n n{XdVZ&ySݵQNI_v+}e=2q(܋^~ntRy> >dD@QfQ| x Ls,ƌ*쎃fsg$RE!#\*NFtXKiF&%ތD>oF>ˆOc ӕ*#%}r(28\ԗҨ=.( /|:mVav:U vnJƒ},2'SV o:fY;jJ4yā0 9 O $d7)̜~vgTJѲ,L47ɭ<;Z"5HW#xKx%#}_B\ :A7_/PJ]Y hE'^z@xBrc1aM7U%TbasbK֞3L*% b8?;ݙ!.4Wnq)_CLYNoJzƤ5ME4::LQvJ N X+-ŽO43xL_ R/>x$T9^l_9?YuNCʟj{\io9w=ǜ^P( nE{Ap{Sm "OX$$_5?0UnU,Pq٣P+ L/a8V˰y8Be.)3ۭPDjEE)6dfÑqJx&t*DnΌ"`M|0#|̍j3vs!S]]kZ>E7+k B{%ۍ? }i$۪κ[8ؿ99|(  g|_R=0?PB B(f[b "Kd:9x1?BKAg`)>)64;b~U?ZV~Vt%z4G1iFdP 㽅p2rFyrPcTY7z‣MV0 MT3Mm]9{%%s@){5Loc\}M"کYF롦aVS5 MۜE&V@$ Ҋܞ$zcMdd=ee<w qŽY?V;oV5GTФiGMƬd=08ʅ ^!0pqS P=w{١hH#na $~S=H_mP/ tWD|"NhiRwx-96}8yc08$Xw(@|uof)t E&총Ǡx^lMQyH'7,@ZPPHH[(aBNI+g%Eٱ85܌/]:&PBUt1ڕZp[%ѐ",]l2U0j4LK3(!R9kCC'I)rצVuTQ+xcD2gSx*4?=&,@ߒ/Ab{#dy kɼ# |PF:WXRp uݦeih PP(9(M8 ]b@#n|Ᾱ:.͔"V+KACg D-f99*Gٸ؆Z{]cU@l+v9.=1k1r +n&(eB%r/ .EXP#޶KFʄ JP?w2XfV |ß;pXv%1ҀcWLݎ縸VϙG(lݨ-u@Us5PT@ if ZRohj+b mw%U$lZQ;2|r;Ib6E%[>-3Cy8)@R%;qŶoe= 1܇NW3;e}_ɺ>۬B< PCÝoKq@!Oc/m7 qgqFL?"ZD ]J~Jp P$faQ@FU͢Y8jԭCD7'hb 'lnLY@]%9L4H&K+HAu@Dd(4ԫu<&vQt#hp<+R A_4,->eu.E 7ƌgM;U%`fg,3 +!Z7'ٱ*h:޸E݅mU|X;Ys{YmBAz45FCQa ?;Bmr a0QCX+Hզ}|$<)A&aXcqX1P?q=h0w|C;3q\4k"WP5lƂÔFo=a2J~)o i[uر 6<'խ6I=R/b}y-f{* Fih ܢ} 4*H k&'ڔ}h]c򊚖hHmqƌM3q&>sqbЯ^J(DIպ2W/Bg8/ !up4 Z$[Z %OP V#YXϵ̖Y8Z2?^21ҷK&CRj[[ Cjd) 5|<0x >8$Cb;4'i,!r͘Q6W*F﫸7\0$J1{Q#fn#^41ƾ{k|؁ѓ&&.Z"W9DQH +7=Rh}3އ$o&F<+_zM8bWM5VHdp`ud 8:ܣ](4ɵ[}(p"1 >/HdC|1;KK< ^b:`93f䥮ds8vGMF觖q<3u>#s5wd-ixl] a +a= #:&^iЃد$~umrlkAZY-0{>&h,t "TrNY"B}Y쁩K6{cLG5S)̨炘PEhA+:Ȫe~,pW3PfΣg787wj߂[RvnJe@/RjBQ7?N~*VK:[,y9"޷ݾ^zvAe2>Mb(xbOp`ŢL t )<3[hP早(1'|#h*#$n5EsDfkGi։-Vfwe16iA1^o: VKh;*d7dme:B)v{n<<.*{"(vjb@N OwAXTL6bSKu¢{ I3E+~901X yմ*wZUUa ^)viTPGU^/ ˲{Nisy)Q.6Ԗ@i#4Yմ]Մf UCzYUSMб2nV̨9M訟0ǶzR<}4Vj?i]zԀq ׏߭YW(iզ>*"c"[Eŏmy<醫9c )yg`YVC>@UB(OuV.9W&~6Ȩ詿 >!t^w5Tƙsg PƏ9ОזէUcL/_?X˻d=e]pқy~` ы@oDNb㧅{iwF]|.IℍJ*N`EV5mi߻I [V?n-8DVJV <YuJ4)"xMZк$VL\ڕՆ済f|hO>G#N^yVK/ٞ)_|CB}=$Jrss#T[ݳ}8Z4sȹ}*M1iMo>b:籖|dl[{.ٙl{%2Fr> 4 \xtxa.cfD-q:(AJdEI=+Eh5. rbUn# y oִCrk7ք;֬fMI^kXWo=|mk*# \!`L"gAJuDt 7PIir#1T$)}1CqxИ7(׀TYaw5' rdm Hp!&a  3dl:YN\1fўHقrhc?1Q "n*;N >UQ1kb75>S=Rdb6uN?]@K!vI1ϗ}f>ׯgY>3t6.S )L珽]kVɠG|ӫe;YqKuY4z?G0l̟7ÑqNZ= zQe=˱ljboQYJZeʷq ,^ΑÔ`z!SulMq`mo70!kh`S咿N {S/Rj- :? qyA=4C~SUtY OZ̧a3bJ+9ݬTݵ];PϑwJ0ob!e7`RuC T;&Bg⾻h4?l烦ZV>I4~wRGy-[EV?WL`2Q ravveYٱڊz,A*؎y5I\Az>Xؒ+s 1?D䌄g]&QIIDʖ\tΆ'HuBǣ(jDUs\G~HE2^jK7]<4]=-NXZ׊ΖzoD/D--wq3]DfWi0 nt:+Gqc+Y}1o@|pϷӳW' ^ tyv-Cʞ=d|>JmZoFٺHf?`UwNFA>M}[YKay㏀C?vY^פcj1)[@2RV~8fa!i^NoOr%6EB5) CűK1=R6K&5FYMLM/(=ډK0+ R_Ϳ 6OI!ڼaTop;˷~r:m@>|ۺu+ːQ Qyֿ͘F'-F e7`14ȝJH;R!cQ/2e}~Q`_ZbSboA^47<]n#'܏xIXX=E'D&n-H]~@><qvh>O;q`EP::E-QT^OTX?Ysyc=Oе7|KV!ܝYu֋Cͽ#Cn(|gt#ѺK_o&y("N7Qf@Y?֌Mm:<[EE3aؿ$oErdmA]yƒ~'?33&8٘vhLc ڣ0uc)\=Ŝ*u%Ut~3Mbd@tC뾅蒦?y~En8YzEԅ#+Du&/ d>xTmP-`7U-bs6FۼO[H_G9Z$1A_tIz W&MI`HtEF#%;|cfnK@4VkQUPHq]gtA9lh~'Ih"+&X*Fƈzt^JաAT$n@ &aYqjt:@M#t-w\6lh(1c〢n [2n(B|yp K͊ocT9E+n״{m.Lv VOu3L9Zz b[^z3•F=jN,BϸXG ؄ T"O0uMFcI-!&l$ ȹF{'W6A} W-Iڿ?|fS%"5_[kr/Ys}5;Qc`|BX`*đ}bmc~wM%#1[}yR%K0B)vU8mh^y802+83f&]/%5Fpݤe|Ym|'^s&KȤGfXz j*(M<:s-b żE{maW{E}G `}mbb[s%g7oa6bNmS7~mEC\ɄP2_jMAG*Lp6={p^m|>9VN@*("ڶTyA L`ԟ% .&gk)g(δ'ZFUn={CjB5l !<ʈ#+# 6>}vCQ:PMح|iKF~FL,dQB$P eaQ1m>8WJw1fh~i'-}6S B\b9-џDl4qs2PIk`G*ss(:(@yӼO2E;9Z38g^/MUn̺'ij޻'vv4\)Z#E*SIZy<ؐ.4T*+2_TzzPurTO{^QYQ_ZFL%)!7벙ћXlzfzf6ܥQhΌ%tb7QB=Q Dr)p_8E^|l`\HS)T#ѼuH,7`G=.:BKI4cYFc8 ),<؝@KwshJYK**bQ>'<.ZGǢ%gGbEMgVq GI/4>/=0x{!K=Qfw;y"Tõmu(ڟ~۱<'~cl9mߜ3*۹U%Y_@ +f>?|>֐Ug E >LHrx:# N4SRj JօSfբW5x$LAMWN7e^foDRdw8"HkGuzbJF:{]\Yk6sNe9$)XD-|P[3q?MLhhUtEv \Hs,&˶5;JjZ2%B"ѳ/-!#W-744aat .[.i7ZXҊ;bE7L}kCyb61݅DJ!j<A2s6KW џ(s+i^B4T&[t_?Nũ/#"ai{t`@=t2e]Fq^I{'G`-hJ%[XY"U&+}tC9-d]hf㐥)a5x㖹ꕘyf@O|DH`ό4K4 oJD~mYzA%9njO7< go㑧Ⱥe+v֛旞Tm-mX }G̮;e^ m xZRrn:sdsU*-^-b]W-0_ѯ֒/PNIO,:9 _MԳZjSŮ'dc9wv'#w>?;\* _z`˹kUvsK4|)_D/ 뵃ֆ]<#"Uܧn; Xz,_2P'9#0 nQP[ ?֏i&DC4[P3."}ǎ`OP;MSGQE%:W(.ZG|<ъg0p[hUyHcE0%DI=-J͹/ɶwixc"9e,^Qe9pJs+u0Gq}LW7~n?ix+gKoJm$zf{;i]24"'ﵧ-WdZuKT WsGSWu#S%eR4ѤHv''rRk&PF/6'vhaaBBWV!΀(a<ҽH (J2T Q9WѨ2)Z.[Fw?ɴɟT1 ʘ}Bithf:I@Ȭ=R>lXn)қS ɳ=sRY^2{?a3mQk=dRI +2X5N$-ym=h^QXL RYHk# n@Fz_:bL%W9%̙;`,)]Y 6-Yow7ׇbj["RcjNH{*o6eb)Pއ)*$[KD:{ϔY4#1)* WHA!UlQn7{E$uٜOw.AG1FM)1W}!Q%;⥔FuYY'GIKj!waJƉ8WVĵk:^{vLNL禜7f:g.Ҍ 2:a&5}y ?K{;J {z>P \G⾂ ` 7Yy2֖y4 NB7(mH\2Gh9q)q"cg' u_2j&b !hd>y'1' 5k[p#A%\TYn;rB~yvgD3%ɱhO[ 4~rfSk-B (Neduv#lzk$`RYT|z/ o=HN[_s~D6~ˍJ Ӎ?@%_hS;?,o#s QoCwPCziJrV j[w^,K`^Bo23JA΃4F|u ܇9x1 :Xz{ zêz|)H{t~RFNR1V|.t%@Wc ulFf倱ӵh$;M-ϱ{gU #(qSv}zU4fѰ7Caca9q5SХ9:rh$<%eh@imﳄ7Q*52z\8?7Z<Ϩ%ެ_eO^vvig{ 7rOri.Yz6+ hNCdǸ_ʱF"I*AG{cuI;l544(itgQoId~KN єN߇V̔sDZ%T@]|s)&ǟI }L2[8Vpqsi%/-'lqe7*fU-t}nAyvI4Gݛ-VE1ۺ "req1/ӠN5ZUi膋ԝOKwRJAꗄE?nZ:g5 ӆ5Ɛ=(e9)Wi޵eA8^;]1bNO9DvΏ~Mb$Юr٢a+e@#ԚIXeJwRvXl10vZXH"mu.0͎bqn={ǚEgG\oMdž\C|ualpUoPhmRGTB/CReq"̌75C;Ge_ue/)yZh]nod-5x QG'+w؉ }pb:s9S r B3׷=7Ih3pZ L?Z,"̟nJϜ<ݝA^TǓ)9O;Ner$"μeNק EaDh;PWȋÄf \9!@]d߁$XI‡đ_Gm~OTR'>-5h{R+5hd{?YyAE_]o-2d0JYm[+n뛗6kZL&-!IvީӹTlvmW^fKқn_* N?Ty `u$$瀱ղx%ۺ36{sd{He;=Kݸ_GU^mƢIq/qM浿:RX>-!7R5u^hE,J"?Ȣ sƼlA X$T!IZ!;!9OoB&Dj#g:jd 'jȑ'ysխw>4!515E9'] ȑ.v!# NƸ8QYQ~)ڼ V4<[,*} 'Ѭjwj>IT]H&[}ZwA3dz"^iDsgAqn (iѣ=ϓfb\3Bfq DԑszRÊר{u!4a[|Haud{P곦׃ͥS.N-\'s2#A"@01w((4f'kuAqղX)'ek/ʩt2Mdk'  ƏYN3k1M1E3qfS3QSagciM2["F.UЛ( 0  'Wl8X݊T 6@>.BqHЛsˡ#wN†s<ؽ(yQs%@+:yͿ[eEo3$6Lm'SX^35H!O[1'=i)!(d)PFACfk?VPDj{ ? 4Y4ӥmmGc me fsxfM4i3'$'k8X܆ӰImk(yߴfT4]gc+wtPrۙ]aTjĴUQӞec!ɛLXK'S;/R,`M F~B2[է [MԘ-qH7Ɛ Tѥӱ)8 Syet)Sss%rO*)CNiy 6H6nh{Wy=ʨSM/ yU;*\W\X6™ WS.=cV~BRRr~b=b,\lio1wӘirc#K|(~!;F{ݤsyڰ"w-u,zQ: PG2(qUI2072Vȫq{NL#uATbrs-%^҂EqưJ JBH}r:*_٠JcH4$?v]53JK?vzƆ}b f7[7N ۣ݅ "|,QF`%Ue). VeQ0jcExё)q'a̬| h; (jH} 6n[ڙV$Id*xV=VInS N ]XyF8p~:J V ˞ZRNѶLCs+8c}5f]v.j$?}JP=̩3r_NȉdJ*ϩ(R${>'D+tBT<'c)R&\ap /qlZJه]D -u h\Pqu|k0̫axgOwc6K7X;WJ׫x-/7{W>ƌ>ޣ+έ-jgj#!<:jn/]:c%IA'qYjb\XjPLcמfcawF6=(u_=Y6ִ EԣyG&?^4 5#ԂobIp{W l~e;0_d[724޹$~cK Ffhv th;NgS^]Zn3{|]_˽򝏇w -S,󿔐r )U ;TJ;p~`Lα8Q2qJ?58a&6^-zO*ul(M1Vuakmvk2=ibr۩f&`|1 _5å(^ۉ)αj|= /]*hNƗ>9R 95XvC bގ9Y `JYSdœxf{w"lc@EoQkv1Ne,0a 2)#Ơ +lᷜ5HԺ4q;8mcUw0r5,AseM'7RoѧW5:),%:sJzOBmNdc|ךE+}x6Mˡ4gSCܧig 1ͅ^,1xٝb69ʢ90)zYbô I&ARXls|wbn8i8ʱ*o)0zg22T8y DҒ*6tJlj΁-KĴ;1;yg6Oc 4Ve Z!wM=M6?V.8zN`ƤI߶vWXkńG~o#Nݔ=$ߗxΡ~+lK拷oKno[`/H|B ;2d͔9p-2z S` ~sK@[tpi(l#So DCqs0 CHff݈qEыd|+&'4P˰]ǵm2&0襃7ih 5uB]Fף/2D ̥@:"1v〛tx2C+E[YJo^R,|1Ki})0Iպa=/ CpHyU!}w*7#]~|`2cu!Eİ-x6mw4nk&[^G4"]q4(Nd; H-kV=+i6caL1ڴYfƚIfanp} t.gO7SUFR]RR(D@AR ^I&22 |* !Y/ƈ'2aAH\",f30yT]?-\:m.Up5PS )(((#I*9캄 1o/M5j+;P>P,&%$|$|Ĩj]S4a8'#gpֻݏwOOyT09Y TC.]>M0'>Y@@w8 m;ܷPcq9 ޛzT)(/ryث|0l1  Ow`FI+t`9 NC36{'#"W L"s%open-sans-v34-latin-ext-regular.woff000077500000000000000000000656001511656052100363150ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFkGDEFGPOS DhLcGSUB@fHaOS/2 S`sp,STATtI^^C5cmap<Icvt =?,fpgmZgasp#glyfR(9Rndhead`664hheaa $ Whmtxa Pԧlocad@W `maxph, [namehL0x?dnposti| 2prepi{x=ĵUDy)6pwwwgݥ}ў9sU;Qh8v-ë}~;Ŀab6Dʉ9'jCjWЀҨהѢ]֦!tt {g*H% DFLTxm̖QF1۶]CokC6l[Cݐmxs,Y@'FGɌNi|!7)v`3bccdIKOR\hJIFJzt 2"OjO2)[oʣruZ񕟖 eKY/g;mڸS)6nUJU@)55RJ:L =nCb20 L"U[&K.nmyO߶ 11ҜIK1]lN5 ' G%UJS4!%r<ꪞ?555a@57 hq!95Y# 6xc`a8՘,,tiX`XwwgkLxP;jTm\,oh'W:#h,MuӼjv;j6;\`7n8}^ ya1gͷMAfa:jzΫZVUjZYjS+nKXGqoB{W蚇kqZ5C$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڌz@SY9Tt!$TQ *TD{A]:`źc{MݲNQr}܄>b x 巰pBIbE MrаpTD٤QX_Lrd)%dNh'SRSbu4E0-JOL2 ?$a'r!Ow=x@OOqS gZ(Hd2VX 44+bCrx`"<3QH4SS { ЃWT=kC$g7Y>4CQ0<{HqpCq\ .<qapeUD@#$$ȳ U A(B\Ud"V"##jUjyTTd(?h4|;1IG9>gYɻ4.ʂyGo;7 eGQA+<\qxvptpLz[ 4Df bY䁞!~NVwRGB]vcfP?fMnmޜ[KetLOٸcu[mq?嗏?GUkkíʞgb/}[[: /*^>fn3 &"YH$Fbu[Et bJI{wQo.Rʐ]hȫ*,lS]ˆN[ַW|0sЂ-n+v/93/{IckOers,c?/:W^|f91SdgaK  )DKpD#.u.:'\#YP` & VP^BjJwoL@}Y=zZ<&2 4sU!$G)&]X3fdnqV-~0z>/Y}]!FZ̪ xX\K('VX @(No(Q (ʨ4D3ZWs=}࿸ȪcFB,vJ sѲSbaAٞ p~8/h%/ef)7\ ܿ|X$;A+Zǣh8I[ԉj3d 9q$=%G#uYxt/)7lU?k9z| Kgb`c"bXKu8Q@臆w~C=fT?(>>E* {3V7+eRuAӈki|t A96`f]]1/ml9Կ&)c9C,jk \}tɱ6N5_6b{ɨP299{Rəg>C= =~+~czPJFGf] Bm0mnwt<XK>USO5dpWo1;JkxDoP}$,7|⍕?pc-NL\Z:e\ΨVG~5w*ϩqqr4՘2aL`LXLG^,S$.VnɑO--9'g]: DXL1)T|5HGuSW;E~mNqkv,[%B{Q_ݼE􁣢A:RmԈ&nBSӫHS)!p 30 VnKo<΃I$Vr`L=yܤJYIG6-_9W?=+1DbDxJJxD"1<&adq 18RKIݴ1E:^s͜iH9 Ȣ( U0H=\߰;o.=n̜ 7>Vp FԬI'^os[q_o5Ou'sܶG@FT0NE䜜(BJcxB*1)䔭0p"V#< ˜ϓx_7#(7ŕ3ct>@HTzz/PO竲RKP;2!^/`ѷ;8QtإNvmoƾLMb!k+ΗRI-n[clkmE83ra<;-?{T+M.;7/7CA~rj ggtn@i}Dbk svaU{x^դDT6Oq~*/`:ۙ~;t<z1 $(2KEʊDA*ž􌽊OwBTjKMqޔD$(@kOĶnc&XG$aUNՓ&vXL|e/nmO2*!Ms_wq8c@woisgg.CƳ&Bb$n޺ȱl6 8p@zRr m)738fT̡-tXgr sySEvnthƩC/6N o۞hkݴG7Wڮc 5}[c__` u`-(`gCՆa]⸖%hY"UCZ(#E[ J! zHeqj!һ:CA3# "xa/?Ϥ&~S1?%KX=p5our C _*,fhr@</JndUÈ^H{,D\6[K`&'/>>kݜ:Դ~ .}w <_=X?) E"LQq $4^Q*& XٞmpW^uAI˒ cpkxM` Åxx0b=iT@=]ve- CSܧwB0ol/LPH23R^c)u ?hVAp nV[ۙUvU2.ca 'q6 Hvq>n,EYWS!64C"$0!(q EiLutJRڄTP5kK <]DSxNB q4h sA=w}kFGIf=<^}hA`.?kJ#)NiG1\̏Kd !@'3WKdmACr02P;:6 }e}B:e8T;8%xd z HꚖ_Xdu!3z )R5c.=x@([[@`_Tw/zcoZ7ߘ+ )+-^1>bTseruTyz+6A?.&Dٮ sw/t g`4[JgZ{ G^ B`&N!w}@z o[f[Qo.j[nfU܂71YbɅ5|{`[b33B 'q7ͫ)G7|y[MX欌uӆnRM| o+.5m nt$n+*U@?$wQ֌őn3b"ȷ~a|@ngn٬z@]Ƞp~̟w ]~_>{STJl-!@"A {j]Q2]B+oMI WQmGv9d7.^ W ~5OʥGwm̷^JW{YB-wJ1NB[}dK6s8pjގ') ԍ~ԍ!ˏidu傺! Tt(= W܁ h/ܵTr^o|0cwt@kZ k(ztn>nVS{E;ށ_ =13J%C Ȝj*낅o&4DbNpFNq3NOE ߴjm$mȈj ̟1tF;;:4Tzb݋MlzB|4#ԘUh/'J[liɩZ5=a3bw-,RJԲL#-n/MLss]jCqi)?|c+.O^};,L,a]]]eV5N \]8quwu9_%"#rNRj ۿθ@Эs2m߶iCO~hu>ytLP<&,N<$Y otOGWᦖ %t&F]Qh;E0?~5 sxt2QCӾn놚w!OOԬIך*L:?fuyI[:3HVL! bO)&_UU7%cbQhNg ȭ$|1d$9.<@YO^Th4˃zxMpr]*%8)4נ OZۂ 1}82bt%ubP%4}4}.:fojSv _g!w[`c-~YSq{-JO K̇+`b<hVbCD4C}[X >;ɕIMדgĶA ^#rXJaLl}*‚SF?!‰U:3Z]9KYgFr+#5^.{ZZ1PdkR?{B[jN-5MW>7`!FhZB6N"P4 %b+Yr{HAߋ\\w{#-7d{/qĞSS"e`~#]cc&cWЎ۔+40ۈ^%{&6=Q_"}v N ]IX<'*ƹXSJB{!9DƓ8Iī췼$ KcN)oʜ=yQ̖z 4 \C`ĔUKkCw'.VI'q ! >\P.@(уfx V ,qVbP`++FG!Y#1VY";91zʴIQ,ͭ)?]\ aJjD24.roc-rw&N# AT>pHUJ%%VEKN;A.g tݻG.1d1obSsP[r(Hn9LyI`Ŗ"_Nttd{!w?O1R!, o@uE'Uò'b55@ ȮCkAa 1[2O4>jH)_ KkVݼX3Q!$XEU*5L4RqO}'퓝ۑH3&:Zq<,@v"owZjI-dsG~/){3weSV^45b޸rK3rx{fj>Mڒ_䨈¸ՋGSA+ 6zW{ fLl YgZZ@cA!)JԨ}0q0' djJ}b66Tdeʈ~:^^zʕ:H5>3c]޽ܓ;3`o5ܟ5Ķ=5G{SG0B)%|pUWx]ʡ`(^zmzISlZuԜvڌ !-99gDRrCSb\Kuf %Cu'oQHRF$NX#(SB-h*+Salk=kA}dn7;nH*0E<} >fi۔ 6-}"b Y(w# hpO6RWV1}.(^+JWBfߎ'./^/41-4ԿfFuV~RI T Z9{0RVr[Swɳp=9H4:U7 yy US&)X*W..+d]&Wmp?,+;er^R%X_7<J_ΫHBh*п7;ݕթrxLN{|E MG3ͷh_=w{iIM"Qr R4:pfdV5((*5(;F7,+iA |.wXV$䌽Dڗz9y/.p`âOcձ=3,]v{elTAT, bl"&ņbI734g4<_i}///*{ܽ\X͋m̝{̙9g[Q'O 7յܝ2z9 ^2ܸ oKCɜ Aޝ9zqj&-\G^| ?2\.rEmuպ wLa𫍈C#Vַ eE stE܁y9Ǖ>l͠,yHMʩ][ݸ2e4~ᡗ/;rWXhƯdu\<4@9]zf;E3P`1"['I KyKsF&8D8A dYL!!~~@ovy{^<]nҏ\uȩ/]3iwp v5еgKW4j-%li/_ՄJ7m`Oa i۽A"ÆEm^nElNK$w9/Z><pF&^Rajei&{t]A:nANe۴q3Nr5qp6Zy!#WՠͩY!)-( Uj0mҁP\|"LUZeyrJ2L\XZ<2\Q&UfUKJ$*{Pŀ(8{E ݔȴëqR u)Wd+T&IHd`cZʍIDkWS> :̓ÿrDQlhJAjJӲE#7͜YYU?)hR*~SOv.-^Ab86.OFgv!2aL맨LP3YFDoKQ״I <.q(@Ued9qRA ҭ:_O4im㈑L%ʼnʓL3Bt-8U3!]bb;g-M\ļg'/問T?;*Շ͙c^{~[{HaNsoN91*>T\FoYҜ9y֔UF|l=Sl{k{OiS.1W22pCd¨ LP:cبjfjT FǨLDTC$_ub`o虴-:7X&79@ZY[> ? ڪ}s>aa&Nc3i4.!oyQdr*#(uAyg3٪ wsj5/{?6zF "s11żؿ1:zyٺ[k'Y6vwg{׫6WF|Y/)qigLLa#qhֳь$D ;٦u5uSh 85x44&5(ȇsڒ|?&;ܦUJDO9cZbx.({z'I 'hgpy}U{3 8%P/h]DqSQ]+y$5koI;zΞ1c 3?Z\Q7L.ɲi605?b*Y2ZF)EJp*v^5\&o{'oz@O:"lDFd'$@Zh+axT0yz97^ khwj@>KQ7Bŭd{R+W4RBtLFhA#GBF.j"c.b/Rld4R$[)ltJWLg3 hԣA<):eaz--PatlNkQՋkwXf5G= KYMfpa􊏤ʝ~?8uEJ TK7a_{Wm)~Sv:G^3HCF7}ۂyN>&ڞԒ(KUgޢ#]#/[vRJ+uoh8~8aPK8TӦhc}b('(*bSp*3' `Le4;oٜL*&_w;#wa2 "l12e|gRzDUpDh?2$4e|-k4c>?$eGt{]ܻ];Ϸ^KŷKn)2ԓNbv4,(NNš+R@jRHFw0q2JH|iؕ\j-i)?Qk(jP{|6{Z vOdpDVzxlƝF~p'E|%y gu/'un艐̗}3O,3")Jo[_xBjR|z8D:`#x-;Om='M_,VIYrQʕsjuh}3ņW Nљ䧲QSS'F )8~pQp*(Nο*xx\Bhp;q`( sN矧oXְ+Q"K s_Hc\(ac@TH)T]pSx\4mXpΠ[26좕sB7A{Ez̊q rׂ>GyL_ owt0,Nf2pD/-d>c0Kqib6(E=ojLh :rFҫsTY&*CkST;p`> Q&HqtN8= N8CqܜFqcXB@aDhT5vl`hQD߯zJx'sԲwM_ڪgFkh/nٲhƒ9 A j0CP^>/h siJ.,tE˜# $A 4Q;sfNu66KCs_y7ggeXB->H#gf {(+* Jbk^Œ[7zGLl]fm׼@jd"P2bt!$܊+*Ǝ<\9 G_/b[|TN&OĈ?'"%#JҬW56uv|J)h|5;(;:=c6[K ƺTTxi Ğ>ΏCTqzNO b' k)Yf2V˃N)3uLk`WV32M $֕+yw^n*AW fs{-+ka-qROdKv(G% x qļ ͙>W@3ɍѶ4\Ay?q҂yf99$QO1pX_r^"ʌrd Wou.]^< 5`D}GUMŦw#[s47Kz;sLMp=uJ}u5\50 7GUwhT};k1x$`?!4mdNh,F˹]փdvoN]_Q4-aYaTpb]f].W_zxx.7/=ԓMO&46 K.;%x1""9iBL&EƗL6"2:9:ߺt ?qQԣxAOOw. @+ԧ٢v0TqQzKEUČꃽq< ?EIQ_%YM.x`y{im:be H|1A}C{7lߞW}C#yڱ^8:S?:]g]LH]1-WmM9m%۞Zӵf`ñvŨ:.tBeURDY8Tf"StR΀THoV]QZ3(C8oK&/ r>A2ϝ~@xFgIh@AzA]`,g&\9#5Ehk>cSqhrm# ]ZZb s0͋^"\Wfʬ~xht` i :GbMӉ| 1) Ȥi/).휗wnq?׳#"N!/6Rtw(>sSpOc)>>wDxWhRcϟM }HשּkzCHI.HN8a~Bs\|%J`E%A&rwYޝO2.Ph@Dk!R4 vi/ Aq鲔7@шE@M䴨vT ?ǵBQr_u7 PZZ-g@@62 ۹[ċFةaV/Em@l~MLvRz=˙;X%hB]'=LxF=J6:3;$+/qc?lIuwMZ6E#SS__% 6~ʆ Qy-ۮ؇w_&D,!Z[C$*BeIOvts uDʄR–" [omB:gDh_]Aټӏv.\쵟9k~4]ө5<:[Q&  7@HOI2śܽ@P >Mu-y"ҟtqN !HMK--l93~T*42C]w mU'~| w|'HLdK1ǔӹ䘠=+?y?"] _!DX :0qbl3ɤ[LƋg 8H7їh/,^7s M)8vĪY훛,jZ}#Zg}bPnӸg{}z0U# 3L*?&QbA}}9/wO O@Oz\Nd қ䌂sؒ~a,EBj38(ߟE{ anZL:Mki $3DuxP֤͟U:<\ಽkA]1u'\b <|~bG\7i9,T/Òm n$-4Jj0IB{G,PGc`~aD[i*x]QM GǗ&yxBJQx]ݤ)5ZTY%ޞ9,bф r묾+Y*ҋW ,99cFX&H4ipHk0zs+')Wq#q-9)'q'&W](i|ɪBKfIyq`𜚚բo"w~r%#yBSq #Fg,/0pLyAOkT'e3Lu/;@VZMW08ƦqL)nrh3f0f_ׁJBr޳̬Rٿx\A'~~ro9-׭{Qi;YK4ͶͰff[Y,nIĵ5.*}@Xn$W$qh˵s0wG9y>=MKV$'o֡m-Rӊ?^^鯌7(WÈC fkT~LbQfrU<Ƴ:ˬWGj[;rdғ(!yc\Zbnc\t`:>keMjq4Bh(tכ-@Ϻ-=i hdOĪK~UNįoxRx][Ycz(}b /{FiwhhBWAO͵6@a'5tІ8G_H;՞$RZ+}yDJuW1ZGwLivo|uT{e'y&&`lp  OR۴s<*&Ve{sTXYL$~3M wkL3;w+8`1{ >SN3VPؤ[%P10ШjN!-Os-$<I벐 efeJp(4PYi29bzc#֦wd+q [u"{LܵW/~~b!x~-a@ݳ+*ظ4Yeq%h(ztxSg|G&NJ'?v>q@H uzy}:4;h%%Og  rpuv޲S37ř Yͬ,2mݮ=ku֞^;&Kq HܺgA0FSTε#dytGՋf6hš1>#R܂Zk<~tKyIi5'6̾E\>eo}lQ/,P8l`F$ CA KgXtqZUUy@xC)7SzФ@pa"Y #5f AA@0z쏈'|!xt}jgw~qvʪצ}vhYqꅎ T6Kor/]}}qd3R޺d5j+.>-^2 ^-|'!V&7&Q i! o8 9zcd𐻰#ҳ!13Ʀ|"],Cjhpp+-ofR(z.EͪopѮ"rxt ZjA9@% N+38>^'Ǯ~⁋0W _8q}E7aۜ4JXٹݾ~gwO}p5D> (@HB)L*KH,͓v/1MNuɉ?Y1x=D 4z $D)pz @0d6!}hW鹫Sq\54-Ӽ3ԆIɎ;u{p \{_Z_lIalKy\>n%';KpHK@m*\D. FK%&,׆q%Y k?<)z2$#:qI\z[K"%$g^dD4'Yҿ$o#k6IK9s}ucrκ.|-6LtÑ$6uWuW=<8.4;Deˠ8 5ݑU/`` PMxWSKIyMFkE?fЄkM$6#QʹQo<)GU_yyNT#sįc7(_Gį/D_MaC'sGHOF'?t?94NNW:]iEc%_ʥzz nǚoSr^-ܝ\>_^Мc4zy~'ܡdH! JS?7߫9{mfGDOK5rſ>c|U;(5_p_ %Mt)_A![3KN^wGs ƹ 9:! N+N]g~5;RNYy=Ƃ{?ݲ| xԶťF\tqpv_׏hrdz,]:}Z>u ,G:!zyuyTy}#ujpgW^G׏7i{HWi,멳;4+(3/h|T .QJP)j~E5>+Fh-Y*K(vVB/M5>+WRerIF-E5>+W=#C5>-qdG"P.m(XOO+8Cw; )a1xMk JW>1rT>s~rRpq͍snOo#zp?yupev >jv[)^xFЛ%E_Fq/B_< w&Q bxc`d`s9M8EP.xڍ$Kszgͳm۶mm۶m68s39n9ꪬ^;&,n "_M:݁i{En v6#yo; uV 78V+d*CIBϓy4,B\3 HEkCcV("-q}2ޛ(MF9 ăʙژě\ bq' @D{@yO9&:SxJ@aW5+*}a Dq5@uspی"jg?}R.R^Xj͢1}.Z; \}Fj~-+oSUC>n3:~:EUQ'j}S}wD+-Cx%5bZ}¼.;^gO# 8sg؃u* o >dQ]N88L*^VvߣʣJъ,},OQ◨wa:/Hk?y4aA[!jF?|ڧY_3r"!J7^|)'/cI.||IQT#yʱUOuE!f]v+PϴQhGH{x~O#Q"nx"7 ~ߐD$3E Hqҕl"G5h>jR.@ғ6},0sXiVg$%!QB/<)xi^ABMj}uzZCZjaLmS;~9zu}>Y߮_ן뿌g4sfis*mձXSv:ڃd?8,Np;[n w=^q?t^n{Wҫ5{cSw?_w'g0q>PM6apH)<$fb$v#⬸&*G۱l:R9W.W P m$$_/xDPE02C@ZT#DR> 2 Ni9@~QߔH `L_&wydA( Q:=lԋn}Nd~]O  1̰~OL,ye7Rwb1&gd-V}"0t@DOdEs~CkokUܩ#?lu 9X֮j,W[ƓG?!`^wδhwDaGbЍ_s|B!\a9sK]xc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-ext-regular.woff2000077500000000000000000000531041511656052100363730ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2VDxUN f`?STAT^P|  P *6$P x җ%'e~QE6Hԑ`flwYE l8(bn9I 9p'Vp`i98̘vrr7MU>O\p:z+?^B㏖rg85͋S/ =RzMA6CDyd oifsXYb MEEϕiO`[=9!R_u=;S|J2LrL9` ek.`$㢽l4j>K/m}j>ehUڽˀg ˖Lb;KCSl3k%Zڒi|gH"j6a:1p&2, , U%x?$|ۡ԰̠U> SlQ^-'4ͥ貝7}VWI.ʫj;7 PsͅUl|Wfw *!‘JEp.,L|>Sv ;L*R EBϝKW;fvvfb%$J$r&/)\t++]\inv>u[Y%/ GydOK_:UI$.}"1 &WudAD$H!㷋lB:.Xlꡡ# B5% %oyJ&鵰W?9Z?0f(y`^7!9>~ {GA HC"`VaN*`ajaYZ`mzߞ$䃑dN8} e+L#dݵxc_Gd,x9|)@Za|'YO@PmHF |~la]:S4+3Drx?Q_L$6S4Ed\W)`WX?}S(_+l(6{M|Jm_QJ/CKC^j8 ``>΄2;3%)cdP r=Xg() F3O܎ ɧ3m4](Vڄz2E zM@a~/%r0Ke9YLj}l>9W*YCZ$_ ད)sye4S ZB $mi7v?FM9&9w"ȡL 3  3L?l$IzVY.qukצU=U۪utvMKOOF{K@ ?Hm37KKClZwlIYrex#gb*sIT%7r cЙIbtER22+q )I{Ʋ_BTXufk6lߐ\r dA&!ӐΑ97@FK\g4y F4+)jVWH9~v}ӌy/͛$y:+z_cƯ\2`xx|_|kGKttfJq !dR ʵFg~zq7MoiƩVT78bN 2tF]4j6o\䅨J~5Wig)Z9Q,tR2^0oYFTzT]|X+%[~(*^5<]S]UYQ^VZR,-*,Β33DiBvjJrRbB|\l :*ϋrB,&NSA$b ,EaʍѽJa$d߳7Dl z`ZMmleuK\U'*E?`ƒQ%5z'ԭfQ7ҩChKմ׮h;IWE_?gh1jٰ[5$NʧqkeTW {WX4"l|7$Ϥga%\ɋr0ǎz-)~lM:^긂BHi(|Q!EİǮӕ1PvQ\}gQiPՐLG˹Ŏ? rG} ѥ\? ~ mDs $Pe԰D?Qtr?tpiPO^k%jlҖ́`czঃ6~}3ZOr+IGݾidO+#q~G4ޒ?rU==:Ay[,B҇ӣf2! !q&QR4P=+Junq*c 'z##xRġ0?kJd`vx C$v쨸MMMf3R-*98h3(Ki$ş<ZFMK%[J{Ye+Q=IMP3xfݒOJIh+bQ.uZDұ3@KX` IrI ) H>Ӻ: ED/c01m"(1DC: f,&Ռa-,e%-9NKL  l8DBS) K7|2rk6 .]/ShlohwKb13T;(MӲ帆}9Gc< (m-6JKB +_J ‘W䤈s 8r,ʩMjV +|x'3 \Fa}yW%@CKqV#ы n:UoQU}s 6wcuU{ OC&g@ [׿``FTV5q] bUArĎ6M`2D< n‹84 ҡ%ń0{LM ŝMΥ]PQ&QT_^{8&F`%VL8XqɃN~+v)4wϸG~_.v3<ÈlMw^?uBJPl`a*%o5}I4Y C^DJ py#'<qf|I8잺ʈU4x̧;5S_[\-#(Z%p= ΛNOկ1W7ϝ6MiȡAjv1k%/V,:%w$\ˌ’+8R.>oG*?-wpdTJal'x)Q"LrWNGF|ڻik("i4{3J5 g+]:gTN,X[Y鏷]A{I3iYvIwž^q_`(h|W5 %B<]6ks؊$P93{]Up 9ߗEalt [>}+1MxYm"T lb]@'P;Ė5Z Vxv VOmkV\gs8Y*}o TlSlNjTteUkiCLLfAflrBLXwvm-bEy\H_Esa UIQyѲu(^7IB,Nߗ\SxY 33 _v'i|fS?msKϙIH^x  eg(32`!M*u䕮312a0?( 1 M̬dZظ{wu&"pނǾ i9/?2-z˴`Rz&iڣwpct`8A)SQF/3?yHI={^g٥7u R`}*|uv"WV`zu5n,~Flq*4^[9WCy|(!.ے6D~9d`R5πU %eBF(E+  @ҟURo~PdN7\-΃e+SZ=Z:q,+H0)cH$T.$"fKJH!^>Jȃr/jeZhC83HO7B{$.Fw)QY>Lgỏk]K+ƾM>Q<#O֘ͯ=%%  +8Ǖz،d7Tb~d)%}ݨP),o#)uf^$f*!Q&MZdߑ%h]2F/ȝ/$=f_N%)Ua,yg76:]a5V|^2oQm87gFFjcB F ݐ7ޫGz@c_ YםZ[aEY$)PS>|U@օy,8(D>եNM`!OvC'U 0թ̈́PCޤ>n8tu"t7,5a気U5(q;kmruyw ԓ:׽7RGrfx+\]@;%V[d$D.3 S䗭nX!K*~NDYbw T"^kv;|q?.t{@kW~msY<ŘϺƸo˩4LНz޹'MgcG8j-Y+#uՉ313d&ڹΒƝ}e)=-ٱg&YC5>Fj= eɦ0JER-I`כ yPi=v(ʳY2[eU:4N*.Pfuduue/lz?ǕLsm Z\1Vf |\n\T(j$ӝ\&Kwuh'̲A3gN/Uv.Dwqг;z/&k혝ݑq=߹{m)j ]/d5u z5xЗ_~9ߛ~N7#ޱ'lh鱱-Wޔ쯉8Ti)mL[sj)JtUCD9=>t*Rȃ4Qb+9kܺv!06*d.2F7SmKג&u:Ձ/ڣF,ͯ<}z.:dI_ހܘƞ"A CC1Д ]q@AHKrlVǾ5~cZW&h9za5% Z#Cթ!:F?:{OWV#BB:aߌnW4 *j,uq\ n0{3k uծ sˍ)s 5G՞ÞU%Ѧ0ߨ{1 딵RB5E ӏEcrt{63ocbQqxnSڤJLQ *%Y4- l?06n j'W^nbx@rY=~/= zmlsF_+7oZt>ɗ}\oBz!.:`oq HCPkLVۙZms嫱K2>R)|S6PzI+wD֭;cvf_ YZx v%?~`{6iĒ kCEoK^ߗ#jhQ}|:sC m$gΞ$3IRr#}TxA]oF$~4w?L8Άm"d8\m[ViO:⊶ē4Ojݰ:]VMb$zAi>aذ.j077WR_+.(.(u ]VU U&w䱺Vr.HY}6^)*W;77X丿e?+J4׊.dm(6V"㏦VmV)@$t4f7_4yJ\9Ҳ?u65;'8"g '#VQ ."Hgx{<"x؅;7uؤR  JezVu?*V?і,'OTV%f?ѴvSWN99 Z;%"ٿA\ X4kMIÜ.=[V 8Ul|7c/UL%8 +]_Fe5-n]ză^J,wNK=2MV2+5D퓓OH-a <%4W\.*dK Ɍhxܹ *&}VtI慖z',tĆwb ɏVV?D?D#MDb~j8|]4s5"`mY]u8^:$ XTDP$RQiJJd;yޕe#roݶƸ_ߒ.#}CAAMM|cFgL]Kpƍhi*iKu%ȪkD]Hox5sgi D5='J09ͩ޴R\U+l"Y>2҉í]]PVp` B[:{@ڢ"m/C;%Z?q ][V% ܈ JVG\ņ Ǫ^G-/žo|36mR[)!zU+rOF腦dz"\ð8|DPAg!m# ד a>WJe4y`^f@ B7ZXs1F_1hx L'81} 8 8;ѯyM&_M׈Lbu w: 0!L sSrX4+Jr7x@A~8:ˢ ~S38w"ưg.Rd*[)4tUImYQo _%v/\VnF$~KQHX7#).!eȐn4;V 37xR|ߴn&6;VgeFzp0#xEy \Mvmng*0`=F재#;#%?6ᔐu欄Nl{tz^. 2x^I-2]phClzi$)Fw5 ɪ\x\wŋsAF;XH9RPrيm1LN5%FT"3wO '@wJ-DÅ|WGnB+Fx,@!TSK+?6ntܱ3 !\ܔ)CݟkAl⺁޶7JY]Yrr:S+JaG Ydtl/*&&N5cbaP)d1Wk|6f h|p rԋq!]BƠ3MJu+ ǹ/Ƈ >4-E7ZLfTFNmZSYmm`Hnk\'#s{i#EzUΫU/+H:$H;Wѯniȵ{}/.kžº8i:@ 7ꭒb}J&-cRa$F=dU_Cp >M(>pZ Qq(qس +]>gnɧc2 ܸ+zM&Yi8h\YË.3RQQQRn%A&F+[+" lrRW,W"WG,ϰ]]}5s0$'+*o@+GH#ZiM2R2tnj. {΃yw<:=Lyݪ=l<}NxUvQ0`9x^,TA҃ħ K'S-C A7s|4=*ڝBo%9#XFƘ Qs{ݨ`JG6Ȣ;̨΃1F/zѽ;_ǠN%Q%mT1@{B"aп-%6)|1 M^R&r+fOa1#ӣuJ^M?!FieF =?4]\R ebMT5Bsoo } yh-H||X (όzG@Y-EM=oeH/U`<1>Oww \}&+8 C=@ QhoHTO$&X,)L [%S)o4a HayC!a z9!qL':+3B0 VaBlJXZmSfj7WnS*Lr@HG N[5)PM]A-dD %( JQw?;i:~"FDꊰP>M1wrdȎ9QZ>ʞ="硩+ RSTI-lJ(x#$k,u -u(;АsAP6 1^t^l]=(dcBn6#)btfRcu*oZD -PAT:/B|OAʌv*tqa_m5AN_Y)o RftyMM۩yʌ^FW:,Cb2E1=8e?HvfP"%\R֝ژéTufUjW+Q jg=ƶ珍갨kvgH_PE(MvƲ=S_))6 ,Y")S։QQkⶊmm54έylzRLZr%?wyHdBS;>d B0`jhQ[۟Ͽ4<>|’=_B{*RTPݫx^^t6do^`⵴tQzoєL_ok(Iq z,+X`o>5ŴػKBF*>: Zm nKW jJܔYP$ӤvV iU;d~_uXtgu[/i&YS:S(1Eݎ-i)4ֿV'R_wխ56NbfY"DpIx>/FYhh^Sر(p4Zʜ6lR-.*b>rlؔ0/bT(^^P/~Kϩ9S>ȕ\0nKL[wg;Hdw -v@qq'`~ 6 A)!~^~t?}M03>@U!I,˔" HWw qY3b, 4sԩq"=/_MZ*)rt8&LҸ17{GA7kKkli?.V=m? dWnh&PllՈ;#jP;&^m̘BFDRjB!>L#k 7{\\omo[[ S.M@<@Q uvqXyX嗅/ 3oAvcGVa?v~.qjb1ޝy!Cz׏u~nׇ\{r~= gM.2'M_^㕲ʼnݮ|!×\T[GYŊDYު/ga+`#1tNnM^GH\u"pd4"P)>Vuɐ{ul&mUU4J,`Fs}.8+(aB1za8ҧT|d,ÌփT+#-u k9R,zP5S:M]l~bjYگ`Y=iNGK+-:qRoiKָH|Bپ=iĬ.2H+"1dmRqI(%)ʫJ '/oIɲ8ם$>yPǣD*b-{p>蓊KO\Pf=TN){7"NijN~29?-] n(_\W3n?pҞNA=^=!3N܏O7 d0M!82^T.BDꀒ綵/;4 *wSxg.'!IXc:!^IޮI+8.JH{ggܗ-3-8c:MPG&VLSp?h8"4dM6Ϗ M*y4׾w>W?_?`~z%8 EH !ZMjtr4(斩-9V-hkKYteGy\$rPgq/HM/4pwT"S\ّj'( Ow̹ 5?  Yxp)T^AZlSAMd[- d%pK:I47˕%V$9FȃZvB:#tlG5?vSxæ : C!<>ZG==,:3(#8  o[Iuq:=<[uj/Ay6I { (p]ɸqe>+wvw8"G% wt$8 24!X902#8'u,iQCұrb 09lhW(p9s枨oi躶+-㎉h4@?zז6fGoT:bDCdгAVa0!!cN:A (vSU ;GP,2rZ4pLXfK3JvO)zVLavUP Yy8e셮9@xoXc5Z뷚ZcI} e$&Yl|Ru5vml^=..9-Ia_c1fzeW0XFGln""RՄj._:ms }]U}/\;Ϩy1|uJff,G!|XqRWjr{KFXij"mڲkCvU3? ni"i߷^7ogr91=UV sl8DB2f^ S2 -~u4űr)+F]D;]'e7+r46a]˭VX[c`Hˌ&jyR_$틭Ki'c}3 sFY}#ax8tZo6V25 4Rzi"*rEI0MWEaFo I|=X9kyYMV M&,g٭Ɲ>9]A*n2~\x`mW$Z>c=2߇kdcwLqR>jEkRE! }&8}QD8޶aODѡ&Wk}^?Yb*89JZ b*.E@F hoJLASU sFRH9|Tb 5|эo.$v"Ce^_Ln"=V;ts`C2\PNE|HM 2D 6.Iܺ十iӐpLbK-Ҹ:ss|)7TRJ2M8yXbq8TѲhc&`I*ǣKO⻓t6)RID~Yw,M#QUXyW5TR?œb WOAo*QuR6o܉ݫ shd=AD .=uPX}[%4s"'1I1L0{*@CO:5%|oNJhJ9zO.>&d߫a~UCI6j']-n ~)4JJ#m2-yf9܀&1p9AvMLsߙ9>6  zeyy){LSQ}@\ZFܙbyLޠ "l0z*񒦀XCurEc'-+7KzD<)vNb9Nœ;ҿa`D H)w|R3\v>i$#,ϡ hյ*7挨w/2Aqzuuk^DUy4NZX?mcV֍>jwwImh7 3GTt-Ns;)QLd:[?!cdZi 1fEe5#y3~ivPR ^<[;}Q)!G^L xY195Zzvd']arrKR$ʆ7ɿj~9ddX<#pd!@u_(ܕzrZiwpuX+ f< L+̠@QTTWTs=E3P~Fp R?&MX)9ϓ 3RwةiDu@mc8' 3~vLزGwU2  "TtI4g:B;8,o)NPM>!{GdKLQY=?aѝۿ}<ϛ:j,!&z_Զg341AɥO +#GC11CwLPHLr`U)" 'lێQ=2m4[cdͻ}uO2rVL{ cn]+E]G- 0wN'>;4J2p?^<'>sgP9p(oF:qmX>;N-{8vܻC0o儚 ۑ$M,mXHw}Ki0 aoTY?j>L ۚ*̜l Y~ yf;+kv{D> +hϛߟYm&KplW^BZ,_X7A')N׾;k˥ȞR ZӢy$+j́gø"O~b ڙUˣy?!t8#_P(xqunV| 4-ӵ@eR=pJ;<,Ktdм_i@ߥ۸g긅ݡ`C+-kޕŘ./:2-h]H:龀+* ?- T~{:ߌ[+r]GT Oz`Z+jc+6?z:}а#o>>ޙd;9Sjv8Ǐffِ<ˎKިP* ̶olW.* h~MJY^3R `TD19*>VwS W`QkYDgdlyopen-sans-v34-latin-italic.woff000077500000000000000000000525401511656052100353220ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOFFU`@GDEF\ GPOStGSUB#OS/2LU`sX%STATIZ^C1cmap`cvt 8IGfpgmZgaspl#glyf|<#YI<headL66^4hheaL#$\*hmtxLP6zOQlocaO*AmaxpQ nameQ%\;I^LpostS 2prepSB3)x ơ@}wA@6(t A1Ti R@YѬug/%ҝJ]M=KK||5&:1f4 DMx$lICk{m۶m۶m۶m۶m3w24=QG~$mXY}I# 46k ij7Nj$M-awЄ Eʀqd bJgQMK+P>uĠ{'{~% TKi9NbHFrHEO@)=R0TFK6+%RGb6EcY+ 4LCiMKi𩃳Zh;t1:Ig>JZDWhˣ{s~}g_fq,t85TYd5zZYA6-e6gGSvAw쑽wNq.KR . kj*z9L v`;v^⬔Uw!+a=D {Kr!dOJ^f3'GUv&鯰~A As.[sO=>>t79I ;gdVqtj2`pVuNYM<4a=y,v.c rzyb&aN"CQ(|&޼y7( >>\9?`rwlRLA7_NL?w~ħ3xsoH?>* @!~[γYxU]aD,2nbm۶mP۶m7Xb2ms%hGwIg1L'A[.{$sރ8i p,N2q!gOX<$N;og.0ϳgL&%stRRĚk,Lbd-&5wzo%H˰.mr=ΚfcXSAxH$?UH?VIo#~usBH/6wKȅryǡs"J)b%NdI{TXl}.6%UDBGG߁ e^M, xzC.ySsՖj}J{'GRgʜ%9Cu( 1 kyxc`a bjr}Y aY#I HAHq/G X$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y x|Z\SsNr#B [CȒQ qU;*v8_Q%9']?Ny(=oE$)Qb &,((l2d&LGFDnr#7_e)Y%_eiwq2H#Da+1,L.DLfAArp'E'=3{<=)GX ๩TSrw$@ `^ okbM2Mشih w4 ^ܗ`F{ Zl\̝:)a^߰u3Vqy_Kz$^z}L>x x`+wB:Q50Ti 9ˑXfvvQĆnn Y(FEGhxDó7(iZ/zqseKLy'q5~9c e}U/ MHT'G%MP@_Ydѹ|G $k V=Vp bkn1:jY>@'|GKWG( .Iq$`q|0vౡ5^7N؄el$\HI1ORo_p\Q:T[U6Sq^ 7QlEi`rclTt~F s/<+ұ.֣-\;\\lٿ+8P,rݾyA%mʃ#3қJt'%-:$g&v!b݀sn\1فݓ}OiKsG2o%tll-O'|穡I7צmZڲ3^xQѾq_ ZFӃ񅀪MUi-1=elzy\fELSUaVW\B\ѿ`g@ǴL RRր:jM::,A8⚷+,*4)֛T/_HivJ"B c` Xu<:`5ì&fW 90ݗx'sy5Vt{0G hC I/ J9Xq:k"5& >oe񑭤S'Fy'C?"])- R?3QuYYRtEx&W XHpF@?ZChG?̾8B"1Gbޥնw"Ҳ#R=#D׳Q8~:$lQb$ ge ]**CNW" 9:( zlLۋyW_XQ5Zc>W*ՠhhN^SaT5˙U$t]7x'|v@t,u@nfP QH JX:F@mS/Ky7s=䉅> X{CU͛= ς==9y@$chlQZ?]5\6|ucޒW'J^=$ƽv'n0l&VgI.-W_Ӈ@oiFcv rqqvF< mFk.,G6"jmwRz./흶-!ϭ9;/^V}@R)w ) gI,ke %^l"M\H`$E|3wG7.<@996o/ (eBXrJYaf#c"uOV;ܑ2/&ܑmM=Ĥ UOvU?P&"b)CBHP7(M6f}Y˧YJ&b*ܮ{.4Fl #oݔu=+:7Ĕ2L^(H"K{~z\k'ktOu5FzĴy,9SFFnxh-,ɳzSyڽa*b>0,@*4]`PϢFvBq.Æl 9&E,YdzkLo)5wޭLYSʼL^wdORKvד{6;YFs6txo_xۯxevy6K2gc 70^sbiOhBK-%e,s^'[xq@DTOjMo]OZšK6>?91}~3eKUnyHhdZ`oYgY_>HՁآL&1%JQYepuWffz\=u:OWŊ K5 &n_nl% &DE ;C{kdgfvxp#?rj}z;miߒYN B;#k6>\lsDKlpDiQUOF6O˛84/c:: {NʿL63ߟx%#;uֺ'Fk"tËQ1c_ x[/> ׮ !$vaBh"Qi D/\L$Ӓ1ҟ^Ej.>s*3A=D!쐄 %ZpqSl,A Dl<>(L]w:M?sRgVC{=]1rOjVm o2mPL蹿kFZvﭪoEF ٫N,"-=fgݙGzlvRܶ[%srOG~=`yKU E$HZdq5r|>ճepHη'>+b\@0䑒=CW?[aNNē' g̩v_7^֯WjHY{`4![38a.mJBa ul|ZF9 IRaM.4@0y{s _c^ͯ/ʹԼOn. aS|Gw deh>m;=צt7Y}RF RH_N0{`R#OG3mm͛&V}њ7󼋯 (Rz7y?~/ܾx+ޟyyl:yS'hͮ~ 6)麄nK1]bByi2q;!&31;BG?*oƎtoWY/0'p&xۃs60  )Xe ϥ6BI 수2?=ރ^l8P{ 3W/YZ#_ %=Y#=L:c$ q'ZIZY`Yf퐈;$ p_ljԅg:SbM˗fwfYu&oQђC×.+ZsJNn͘_^R7h[t~;\Xc^T:/iqɎh=<1;6'^a7v Ӭ&?foy}~H&*WvvlRhc$>?07\zO9ۧw/sb6|WMK(,.={=vf3sm֟BG-B|ar[@R_<!t䑩z;Ken[$s m$ 'dnm q1 1lPo@X**V>%&oBJK\/9xP;-%سv 4&YGTRi;dk7kVM]3۷+K2MUՙ"s7ނգʜj'qGUeɺ*yDwϏǔ.+ouϯ jO:tͪ.4,a72f& -P<,Kۙ3)-}R:s3 .uLWabϗ l`^Hl镩k*VVUmGE\˙Ek<{hjc+W5~bQ.yе4⹝,әKsTִ@ˢmq VelL!^Hr\]q{ * a{Ro.o=Ԕ0Xo}1}}9'.9?[-+81>`GcFSluk+R62F:x6?V2n't ):7PFwh<> .P3PXw".jHSd}$:<Ltvt9H,Eޚx`g_%6~qټdwIP=IJ(0Qv8 ra{inLH̞s4ͣTpmJz$±S{Dt2ڃ˃#[z+jR=#b{\yD$r!p6'i{qߞ̀H.88J4O`iCOA=FNx4g7J ߞ Оϖ>KT(5AGLd~r#XmA)RDݹ\'/1FԉUB"> 6rd Μq)E|:ؼRIhy]p#Φ ܾXn g?ߵŖ?ńB XBdH6lAt>vD%k.YNDt*wN ӳ"-m%=BabV2F*2G7l蝔:FHMrO+Yf6/0XPyS%E۬w6{r߫"v%K{.337Q91zV鬵gjzgA5 'JM-A2r,~ -<6p&dΊ$]hcqjĀSͯ]ٖtcSWFXԓ:ͻ=ƍ>BY6n"@u:Hʆ~6 !~0 +ˆ7O4rRBxk+7s1i7w `3ϒb`}``XovU-Jw^N[x|H4]AK|KF^N/89E|bƺ7L,8DsKnpiuuXbD#SyˀOhIf˘$u(XWVEsE7J4{\ +07ͅ' ,5fп}<40xܚJk< LP!7a6Mm®[L$E4m^|n9;|Co0 o5]ӱˇLbNdqw9q=` GQOu=;N?M4G6LJT'Z`06aќMض`Ÿ8qb33ŏXo}_fA|FơT.R.sx=O)周[6&gb"[$1f%θdMZ9$aZܰ*xp8Pa$hw~8 g>? eTC*kP$ N=n5n(rL uWp˼O;^4;B300ߒLhږA_ӵ-YtWU"MjuNPd3WuWG.m)1I̍9%oU%(maBɸrop `ʸ0~6gpnEB )hj?'q4ǝЖprm4#>FPBJe2R4ʝ4&ֈH[#@DaZ!dHXSQ2֓`-GLJB?07T7cʮEǝ1sRv^H 6y'0_Ro5F];A"C~kkK hY6Ru}ݝABK6t4V>xmڦKo_%OSJ6Oű{%^fTam R(󑫔gj5ܳXhlApВ#3{yb{ fwL|Ui.XIEejͼI;*ʍډȄ"*! L;48 ~X X؇$7KINFȯ@`<-IHRD LqpJB#h+No4&9Y_X4`ZLyMmk=jIeK5o)pdgtfWض;cb~5 5!))eݥeCꠎbv:$ЖRTY5D[z0(ezեf(? ^"Zbx+c*e.ԐYS:D.Fs#C2PeR&$բmhˁd3DmFAI#g1! fP )2䒖tp@pC AVe>ϡg~;s~/i>튀<;e{H9)< |ޞb]Pd]"q'(kvR ܰ:.»Di;0Rk|UltB[غR:CSŕjVmTnqv%yiHr&ciK뚌cYy6֊+y7yYMABR$68^LJ(p`d^߁p<qf* umT)`cALj0ZK:,X ޳S4(:! "Zn(D:)_(`/P::QK6k4S76EP" >~9OݏV+}R\"cƘ`Ɩ cWxguzGm}=6suwO2 hMd1;˕x9!C0r]O69je>䒈Ҭ-UGH(U.&ZUE@h +g1PYEB77S`uY~hq]0lnS(rpur4F^@cR熧V֩)]nk.vjbH_96,Y]hIJ (&vV,lϿnhц!Km~Z] # 3'$4fN4q(יSd_JhwsD4[Ep*)0a'gzQo<`$Ѓ@/?}HSqE!c،@ЃgJR{;ՈG_;{DS (!ZQ'k1oR>Dz8 SݍiC.Ԫ" q|ƒ >7$Xf#6ΩpьWd ypnUͽ^ iD' o aJ|;-Tx0S$({1{b1G (/%K%7 ztPlfN=ԅtC_@aPcW%hI3DV&;Ө6aiATNmc>i}q{\3fל_]Ak@9nQ'UD񕨋DhFU5y^sfU5 ,^ӵKDIq#aGZ-P U8}yp57x sEi-(`Y0uQ"+\B 8q @PB *UZ%Tju_R㭛▾ӽO*K1q[+ i6.:/v Bw?Z77Y[34:6yGN{88i`zֵ u}{ lM@=!z`&לjZg Xqu954jS8f< hǝk)h66 A Yc= aao]Y+tHYYqX.UȮHΏ´JHo֜[s۳A ZzhHN,+)Έ>0w߱O*j:maeDz򭩲Եs>wncl:\>6$Mfn &LWSwδ}YC77Yiȩ1s5ְa"Բy{ꏙlN+\;sXfyrjhpw539ElG%s[ɹf% ňu5i:+U=XM7\NżVd]t 3=hMj],h6bk ^'tzZ80 W  >;yl붃4acrN[hGCq6$ZWɭ;R-ME<<:b[g>k7hRAņg2oѲ/chRLCqLmנ\>:1 !bv&޳3gdLYf d0Su<ЀH tVG$n@EK$x[溉 ]7sA{iHHacq[6l D<]4e%WMiKUlf %Na"7jWT6<43z{ʦv6ky_z!0pH\qofa% (Մʝ Ѫ 9,~~=K'&aMtf38tR-לB=-YNURx2wŘz֯QYÓ7 =1/pt}RFR'K|jPEGJ*z(ԤKelq՘@􍟶º5YWƴhj"!uMQnvHII}P@`hbV#-jy 1xs6-|鍊aj$hE3J>NP8A|0wgEB gpfڜ''WݱX>3;~vlxPlY/U>G>^}l _" =]Ύ.RΧli|G4B u> ;R݃;bJmO. W*R݁y \R?79~'ݴuŪ5Pu9q /?2Ky_n6nAuv#j\h ބS@zQ][S7V۝`쬩1-/H-!e'`{?H^C$0 tyr p_MN,0BDa߲-vHTHkn>ӕnY4I( hR@|2DwT{?#ng Og')v@#`QeY  -UK^HD"DE(ce+Kh2(.o6p/!؟20!\cɟٸ?c=Fxcs ᤆ!g`*-ZǷXRwoOܚZC]*sf|v,Hu*ZKNgP5BD^P" sxOQ<S5J2 $ \S/<7>FK?Jh^'$^]z0-]Z;;nLshAכ slM @,%CgJ+g„d.f?d*{+#+$j Dҳ';ڵyd$Z[&HB3C?epN[S즖МЄ?lXTD2O E(xni8k܄J,  n 䨳[ß3d-q~W 89 :,D{rUpat.d3UH3ȓ\V󃎄Ƒ̢ו7'tf'啤y[ׄWlN*(pĶ$+2;EFsary\x&N@,D-sS.)ol%_nTTO|bJUUJzEEk9uu;Z{"6iI0wXڒYPQR - {R# 1S32Vр= E2L Ej.Fp}%avkPԏd4dץkSȜn)ڇo(eVٻM D{"\Ԃ/ 渒|rdۡP܏mٓOaMW3Y린 ˷楕( s졍nn%sm٣[iMi-AYmlC3pcǥXzyѢSœ%\۶]:yFl۶m[s=,֛ <,q.q<%ޫ5BjR%'bMļ&xja_UѰ9ANf@NoDqti 7_!v'g#76[_R913k+qC.3l{Cg'ɮg臀3"xx}+_ 9=ͱs@r?AfJv2;z2NCi v$m1-CApW%#DgRI~;.b60?BӴ{A&5jMZ{o|YٓggW:f~t3ݐrx̗EBy: .d^u4>#A˳_嵴/D7N9^N5.'yOi>ZO*iG-=ꈧG: gJ#ۯV2sSJVS-WO+NmÝTO(YD<($hoO{BnA_< w&P" xc`d`Ϋ/2 Fxm$1Kfζm۶m۶mpm۶mp\֜?Fjk_ (6Cy)fƸl&aldAj9iq7\dPX*MiզA][amLo;TլT:ۄϡמ.PUv^ZT~L5P[;#`MSIk'0a Ržƶ :-*iT*3,Գјm#Mfٹf:r>'~vrr>ΤN-Pk*4d7U6ca2M$k}\3S}Lgu_ƲKTv/9tt6wiDs/`c+QV`-φN`%s]G ^v5?Ύr9 2s*3Vmrӷj2\rɌB_5a'˵;Ҭ}L~LSP1t<ԗ= dWћzGv@o+ٙZpjFh'P«P0g?2#Zk TV5ыk'69 .gI?T7_P= shW l#S"qmXӟ?'MC{ CI>% _s ԂPZH+Mp_5/xEl5m۶m۶m۶m۶mwtS^4<dԵܶ|F]la[aX;jl;r:;::;n9;:;߹Rj޻ywjwewtESsn%Uum=?Q@t !k(Z FrDZFvF5k1636:67Ic5d&-CWbVۇ#x^ ^?? "?х8B<%I2N$;+KJŨTs'5GmJkm~z11(1"Luf <ÖcGp\f(Wky7,|Q:߂ɏ AAR yrB}J$EŚbkx[|.~W,J㥅~lS5ry|Z.Q%2T9V Q=jVC[E&L:/M21Mþwĉ/  E(h DlƢvkqepܸ Y>OUCgw  n[UuW }SBzޤ@oѣ#Tם 3! 8P*@*W2xm[Tpk~\ ph A j@"2E5|mLWk.vn.n:}v@]!^th:yHF΄/L+ώ`s_,Vd\,*+Oxopen-sans-v34-latin-italic.woff2000077500000000000000000000426341511656052100354070ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2E4E2T`?STATZ8  `C *6$P \ t5W9rd 8![Qz@i}.p.3RQYBRPG=(X4w^E,8\$@@fvv`>J?3x}Z` S0@1 I0 {\\U]mwUݮr,gV*,{\2dsX]=l.Gzu6ONt[(ɣҥ +Jet09к@.]FwuY:F;`ΖZ_vqf麘3M5~ˁ%S C3@!h82{sʠpSM٥̌wWAH?Sv-KxPJT9ұ>;xE3ffX,@SL@N)ӪB (*PRٹseuvuRչ]^~._,|Т\h.|11B`Z*(4L+Px~ε7ѮnmPN6 "Zt7Ϋ\C"Aڦ}elaa1X;y逸BMGȒԥµAĐ`2kT}RI1!^15yOmPC@ +JT"M6TBD9M> ,81</8}IBc֟FLd8!+6Uo1j qXm_d/FLI[S쪎U5\#~_d%^+^pa X!uj4u]hxO+r-?uH5SuT[-&o[=to_gx2=ltrKu7]x!,L(4qPp2LlL!C58^$.6>~_(vuT>}=4\kI`nFqOei/H+/K,g*c`;1BAB+ i5pVdg~bS_!ñ"jD/0 Qo#ֺDmclG>:wVIEp5:q}Wߙw @ CZ )jCS*̿H0YnhPJ|ETx7y;x5`6ekMCJ 8\/ BPЭUfoUr*OK&ʅZ#is_n5v"w8O(PTϟ,\ ȓpLz{v13Hk@8GQҘ_@s2PMn:U6إp+AObl ic&0&Ʊ"qW6qs՘,0wòƪ'y-WpIpQpN4 "jCC@E:P0W&,eqᖝ'ɥi1ꨨE2 C!I4TSYJZT(pTAr[2)^s.2(6<t2KqKm"[9{˩7ŜƔb|lHjV|NQ8M:/2q(v{[kKiIqQaA~^';+3#=-LNJLfDEF[XV>J/Oߟ&>o<w^/vsCn6z? AOĎka .qs:>)xI)imeM:#i/qK'GL$Z]$NX%P֞OojFbF:B|* E|T#bvۉ)@ VΞw>Jx(~+C|A dzqySw8cN, r`)pU+[O?&rl҆*$p"x'gV g`YOW}*~V)h5v-YkL+w$buJ™{6YLe~+L?uU ^Ъvv;a"kX*]z<1>BTIZf \O~Ҥ*Vq=c [=AOJd8;FHeW0 +E Pk:V 4Pz^y\i,^gRT lӁbIk(99:b:U& @+S!0Z/ȯ FK2ët 3bJ%!S-/T,4nI\gRkʽL萦ˡ.;x[;$2ULLemL#ܸ%էPAiہL-yJ-r&'B+ROP$s<rn~$ *Ҕ٬b:zZ#w(B"kLw:|"@ܹqG*ֈs_+# }ubkW^C&Us,'IQĩ͚Le`W31 Jx^gu˄RxWz+Q|x|7rReL0{L ejUTk}XW__9Y*a ڧYbI!҃.\SN:O~¼n/] .IG.ÐfFVؾa<dТ}w xXjʾJ#6ؖKrw#F0Hd.da1O3fpA솙˘K!p)DUWP&>m>N% >ּU|| L@5 mbCsNRv`P2i`$e&$:_Q ©C B%,*YLs[|ߣzkȷ;{V}wfQv^?>IL:b9 .wc7:62B}q̜j "5)1,&`U$Cd"^ , [ +5i h&8d]zeD\{luU8^MLF%aM;CvT:#iMv9"qzzr,YWۥ_ ؁M [~QԣX5 xgtOT1Ak`1.ٸguu&>?豃1SZwxtb#Zw.1.;YOFe*m̨]qp!A GʨM~F:7铰;`#;dLĶIw2e5APƓPpwo'P(:wރLb=a U1N5x'@iJ2qԶI؜Mɍ4-jƢ@CM,o)kDy zqцg4;o[L=rҜv Gij_|ZbAvK84D/Dľ}?W>MK|6XxGh{bߠ)2qs1vXZO 0G+*d; f0t,z'3V݊Тr9E*Zu)dx ^_1a-oS6mC{sW$CڑN'@QӀV4 ̡DvLscBMdV '2.dF=RȖu|V{`~fܐÐ 1WUAئXUt'x?'ryncdN$F1"A 8UmL.>zcT,X?{VB@8Zi#YavIr< wXK5{&`|Ln<#0Z_A;*e <V(ڻþ|y&ަNwb$t ݭ `¶J0tm#M, TL/9`Y,TԚ0;3esɣ|7JE*`rD>d4JUZ.]ܒv {AfB kƗ=r̗Hj$w<`ݡQpgN}6߶}Db ZSeg{If,YW0@^,R a&eBbGP;e n3 o;@T~ie JtlG\8&ŝS4@a| 2ӋҚjz KN> 5t7(j41g6I%[JH;a34;m^;q\-5S3fÎdMAVp F [=Db& $`l)>{>hOz _R211VQ*d6/sD7X̋ě/up"&Ke;^|b#cXY~ U~mS9ĺQ{͑rTUHd%Ydu(5-<H6w=U303($; qH#̐ȧ3?q;%R_W KE9&ma/xBWk%$:*y[KHCB7.$u,a0<#Kŀ.^qK gϦ;UP l<"ڲq›]@V-tψ!I,zVUаx)"{1 'xcw0wYЊn;sl;l7b9|]|7՛B۪Np JjMGo3~x_ V**hix 5ƴx8K^e9{BGsyn ȕrqBVrc,]kj8bQh]c}4׎$(<\)+7 7Z-E^/<<ʡY\uJꅓvߩLWA(#|ҵ4.OϝRd*E4N-ZGT%WjkaG ~LI?p0:\k7zSug H1pIe7/!E fy2Hfچ͜l)w~ 32pzB%B}?| Z#@gLق~!ĭ0 ,빩Xщ}~gا^;|JmTMK4>!>ZȷLMsVj#G\ͺ]8204c_x7k0ވVw̠2gzgea„(^גX>ilܽxvJ[8nO:JG=(vvG0|>pJշXuYR)= ,zzi>5ۣ(>ǂYɘo?>%SkA[u5߲a>09Ԗx(+܇/7ep;ǻzޝ3 Bưڬ/Կ:~38xtۦ.TK1@g,Z/u/_3썓E5Jk=A'M^x4剕ķb':2_ySn~:ns2WKR},b3UWgRjLo%HjTqZW\ -'tAyF b?d?ەpPeC׊Eqw5-+.%|2Å-F ⬎r(c&ĭ8\NI1,:+fjC~Idy%a1yKFvc:{2q ?_ptofmÔS :- [_'e鍂2k;IA"vBWBMuBCU, _y1C7[JјC$b/&G<1l$1: LUB{EwjYANu yj8023ɒʹp_"F7]&̔< jݽ?Mtl"vOÁMiˊ|vkEPT($7a=~qEri[ _'U K7Vzjt.j*;7q&  ۶])NlVM(M-\kXZ1=oٜ׻་72awA" Hrl=W)Wэc[Cc1M@3WDͰ5N|w!6n:+vHVQ(^{1ˍZs|}+!3؅OvTNo^lﲖDܶHΙ{_W\ˇ;L{ųryF!7˞:>N[׿-[ q O$]'0ȏ /fz2pt4WLǺ5spb 7R6(29#GguPpMLǢ=g.޾?;=0#G:MZs7tk_wf\%mH]tϥj i/oAiÔ 5S Cxà B1 7/Y_s;\}v痝&dpbWϿ*v ЮISj 4/.}1^_~;0 yO )>Aa](XLngױ"NaÙCÆ^)k~3PgW*2}x#Ex-7-J-I6Q$74hR`#<ዥAdxW C,-뗰ښҟ*w/ >z#x8YiLWK CJO֍2ӹ~']ùJp@dRW?lZRVUÉ!`UޔTu{|Y` 2P Q./@|4ŕfHӸΖ5R^֍ MoksY~$.&=ީa 7i?nx+> |" #Bgd^/"A1FRs>군gsмR#<~{ުs;Fe Wiys7AgCLEFIwm P1mr6͐uJ>u&-qYѢ "X@HE|P=P$W?ʚd%2t$,#C%TiR)5D)P'[#Ue6PZȭT`hҮ(T7 tIlhĎ%sNtJs5@$XG|ţIt%B+߇swyy?+ֈ $̺ wuxTwrFx fVǔ567GY2ם^\( '.Qm]r@bz\UbtlY$-QZ&RZA]' slr;O`{YW:ig{O:^vY0u+gѤs54/7klıU]w<u؁;}%U0Z̫c+9M׹0$T}m|*\Qv8*{uxѳkYhVXl i2j0O`4М4t1XTM(ޣlYJZ@¸|K7hObi7ʽt':<4_D&sSm<+]-rKr{) m ,'SQ"b%HB;ŴqHD {&%E2=\VqcɌAn x']C>C8$Ll&gcXSpc|=d{&qƕ|i#RW-xhbt"_mN ~bpT܅11ݭO2*K5bVĎS n{Q-f 7ړtv]ȚBݭPuvp$&ݭTtwr$ۃ.N 6:LzdP(9A(-OR*Me|> !(Mg2FeweXqh4aFc"XWJi|PB3DUK7|m&GS*b)h. <9@e!G81𸎝,T 41Q7k]ꌆjEZg6T)![H%+S1&ǀGE>aN k;;i ͠|ִ*mj!YI 6-ѐG"P7r|YRaUNPk~*1`Wއ26QWlJٽ;FClS&Mw9 +Ք=D'qU]L1tCĢZ36r2|S\54z\9+LǮW2g3m_^jb#j|(SflT  r6bbb&c_KxU0y^P 'fFfa;8 6<4ZD٭ SV_+'r<=A|D6#R\yG[l|O'W: Xr,M6AhͰ0ȼ +s33x(f|&$71x._W+=kFDÑ;욃h1IYd6Lk>}Yup;F%Ǫ$ |].t;jk}ȓso&F9XHVxb$Md+E 3T C@ 00,h[Z>\=TqDU^ ߛ]7nsZ~ .b6ӽ N7Ra_=r\k* |;Q)i@W(="bI9ah7aP%aIQG)Fdݿp] 7}"Nϻ1WUuW7uكt"?웿i Z r#ږU +J9"ޕFn|<^Q:=FĉpL|pxBG5""-^EZ~]~k섨Nܼi*vdk AZEzO=?c P %r-W0¤{ޒR δ/ͮoIhqb0,*s׻ĵj2l62p-t`]%mߜ>a[[D{"bzOjJBpp!*PGzeΔ]Gʚ5~|Oet.{.@/a.^~J65[`6ݜǭ7M4ӝeVprPw:lJ,F)؏dξȌnxH6X>kSw&342ڍrLy0w@0:*CXvhuأ~g}wꪾ:s އ>x6=| ̻4vY&{>LG1;˓xO'l5m %ᶇX#[gx v\ra<ВptO"|zlDŃ'aQ? +.tّtCfa2@k$H8غwU/)σdUwąŖ(FngRIZuSS(n¿d,s"nPrV)Z瑇W0$|NE|\R0R0wxQ1+* LAq޷2r23';OE )4\9tJ~hA+2sXK[Z''dk# OT$BIaLN;&6 aw-.IG3?y#4OVELn+56j%;-BzKkB4LK]>^Ӊ@ۑlUCJn'mSMgq D(;-bY&f#%>3[l>HB :b>ZDµP/i*9\`=ASrH@H\hD@|" 2Q߻?E( }vL0@gd"Fg,|q|tc4nBwWBj#-dWDam<J$}oIw.#`@7${-Ʀ9r-[LS?}P`wMlhWa/2YZʜ]&Ǚ vMkhb(&OϜ(kzyH 1xLɺf 1OG,2]5rl椪3*H3 HF$ א%nP8IiYcbzw˃Kz8N&~p:`|D^cLw4c:#'=F.$Y[&5*Ҩn7qEbY|H3*"Ms>"p)/ӕsc\kK)SEs < ŏ'9ȇLRgyYq2j\,){_"!hȋ2^C3`@Pt@4.hЇm" @r1 @,*_xH,J}9raSĆpnIou\{Gp50괋nj˃>-ɢss}i _S/Aң0HHh.pd7Z w{ʐi][DsI#Lr1y|j67,{5tF@np3VR*r,x"ovF`DZ3ޠT'Bvu4<&$w`Y]%ֽ5bj}{gE^=##WyY!{Y,azAC K9 uæچƅp4/UVo {6 dFyF(ClۇJM6CnqNxc"B2\֭Pp]ERӓyfDH %񲽨MZq/ zRxr -hw +n1*ⁿWݓ0Y LEiҴrl4vx:O"玃'\xNы{5w !-a!1jb1n^[Ƥtu'I~hЅޅw PY\R8X@aDPo[Ѭ7~.EzkA`AT4kTҵFY8$kN vC7sT}`~s@5 qQx~-aZnNf,9< `6f]} SXU84!վ۶a;l!r\]JAG{ _42)՗E*vӼ|g¼BV%s ;SUNCˆMklڜtva:uI8鸜 ,+8QJITCPl6o̊6YwaH9FIvЭv8ͷy_)e®\_!T z cyxoK p@tb+}GԤ~EɿeXn_rm^j]L_z]_>fIL| Eyd;w'K?O8Mk)(;t)v~g`)!DJvSSDq)Ul_iCezL|}YFi29Ij12v}?lܻ\3eg+^9Ngl>I x>|>h|縈dR.S>j=.mͯժO" 2liV"( at9sMt=fƺ:B ê1SAc MZH&Ya4X٭xa3>yR` twce1z!Đ1']y:`){&-iRb&>vDȋu"뤢ˠ le1 .LS{QŇTH"6:˴48q=kڰɛ<[M"vLg[K 9DXNf8#iRM)ҹQ=xl2B6qK97"KKJ8KUcV@5 ױ"$qݝDTDmxV "8ܨx >2nytw  Y.tA]Z dx L؟?C%(^x8JX8 JVuؓdS rHT*%KJ1#qZr=KKǃ : - igx>xf!a΅? Q\u 㟂^/W,Z_6Ȍ,d$,7cd3~Dx.l܃Ym(XcJ 6//׹\[/|p"`p`n@ѐ xE^+UI(5ئ禅 ۳΅ !e0>⼆gwb句ή$gD8Y+Lm`#Ɠ!_;g2v _ܘ`ų(j+bGJD4OaG,yxNR6+qF1AL*4CӰ2&e<{?}NSG|/*ex݇2 ^CC K>ܷԗxU;,=CC8kzIJ:%qM[:K\KZ:ͭvg:POR_Pԯ.ү,L* 6ߜ+zd1}CuYN&&q,* SD9MRw%/va"W~_9Kg>KL»<ʇPgDo6 F$z=$^QUxc`a8՘,,tih``PR@3`` L Ar,ۀ 5x@ٻ+ d )Ό=N r~o):(ˇEUAxlˁA3S-$Y" %%D{|,ȯ -뛀*CMLiYbc Gqvj K,l0SOzi͐ӗ<*N,巹axQJqx-uPEo`bR6rU |Y#K3ẽ=mv]s+ܤwO3̕fB=<Re'l#Nq#/-GB) H#C9I$8M7_bԚJ{ņ8g~8ouJ%Df+SG3{+HqI*xr9c֖ƆښʊҒ‚ܜ̌ԔĄؘȈА?_o/Ow7 y@U:rEe{hU;0<]x졅4,Q9YNa7WLn{ Y\I}0RXEٗisee}]3~":ڍxA@GЕMT>$p+=@Fdt+ i?0w_ݸ ޜlGIJ]_p3Dq(O[Y;}(f6ƕRθZ h3 78"BWr@Tߋ%W DN~?iG9W"Y>,ֱzDs2ŞquH:$yyi#DJTQ[0_8c ~K/s3Tш|dͧIS Gg '߷;4V鷲<(Cywcޠ)6@`Yh?&PLKrˤxEV},d5KCe-4ٹ P6M@Mqb(:C3fo-R.=Uۺ)%WG#VR%IMjVU o%Hf,WV_QҠ`mkp0B5QD^gįʉZrb < ! 2tsÃĪ=GP/WIn:{V+;<nT-@"v"p Zg1E̓ڒ 4&Ib t?$0ƹ\sq`@J>YCRt 9=_& *~j,knxTW0x*p@ce8j`V-"υ\J(O4i ')neݱ#Se !]PKL_if(VHT'@P6B()&lJPS; ɦ8cJqe%*Zf@tP|ph&q Yv7ӟ Zw8|h+2ۋ\FD/{xwSt*x퍰|d7w3/<ߖj]bu9@FD}I; BRpJ2hLN(t% ƒ,kECۮ*$YPhJ87 (3*ﺇs}/]wpb"w!v j>@`&~r[ۋ[tHdC][frӍ .Fwuy yx =FʥӉG.+  "ۯ4+~91KULwR!qm:BH4UbP_+Ucn6udڡJv(8vhw evUp,ћ  ]Q `4m.dwjf''Hi& oȉ]' J2mQ s ֣ ;pٯ bOtЮk$W ^9 dyMל^X%KE@^Etnӂn;4է z Z~An!]:]^NohK;ۋ(.PԿ'dz 7 kn݋w!w q7>NSL@d92 g.GoocHX d|ÿhNsb*)!: R~޴ɤ@N #(e("k^yZbA#P/fS`8ٌ=veܟs@Plܧq4R3v%qFf$VG@)ˇ'5Џ(&y xڌz@STIHBC`PZ" QQ`W]QkCb^n8%Ƿvu{Lc~[kDPq ׎䌴RE"' P熆ccf"Z+oSB|bHM0&鉴HgDriB"<D,ʍXnڭ?DDO@J̊2B!թ /fU\Y ?#3<D%j#Jo{C#v O߸O|lίǒqxY"Z c: Y1O8 /eu BQ Lt -cW(F`JQiQ٤T/ZW~ya1{ұȔN{eάЉfg3[&/3ecƭ>-  ٦7?AQnz.$84c>dH7!3OTz;Y<*yzGr?p}NP:,5GPÍ؀W7mmںfsƼC̎wI5m]i&ǯ{?~/|---h4 _>ǙZZ<Ђ swȈP_.a*YdVfqZC} AFlNPKE2a`R;{ bw \C*'o/hYb/N%kZpڠ5eC#G5QpikԴ!9sWd0#՚O _/ /:hdψA,hxiux[uI۰r\9:duJ'*@Ȑq;6&-*>.D?.™i M ҔTp(4"2DTQZHjo()y+;&spMz1ྸׂ9gja!c+R DN"b2 /D(–ƨ"11CBݯO?kMPUu$/e¶Bj:ZW[6 VJ$Bv~P J3Y eK2m)mF :_<H-`RڨS $OqR$jt3?a=$#qA!'puѿ Hd&6)# B[e'!HJ|`|/s>A?f\r9Y4 TZE58WE6c'lp3S^}N*ai',Z֏|rBձ'pyڄ ?awҥ,X,qBDL*AIK jMdfh7fx2V_n룯AXX7%ʤ*I0oQ8ƋL lg(d5t$)Y O*_)\%-++5]<5%)%0&s *`^Ӏ}tM_3XvwQ /O}z,ao㺲CLgi5-HW;w  psƏ~"49@ibWoԉ0h8I?zٴ]*:A:02A}hULk0Y_/QY0^>5)8w< gBRa}5׆`C"W3LBbt7S1C?=`ШٯnIyW[q<92<55<27E*MU42P}xɔ~ z{͌i$JB((QU$5՛ CGJ:Ë b;&aj!KzYLRC/eͽ ۧNxt%2IIZ&]-<¶Oߝe<Z۫IwĒSr>L>,=v=Q S&/aŪ;—CO?\)?,9.=s1 .]|`srbT0-g23!fCf+=$RV|.qjϠT7 {kzDV{y!oHۻZ@q0!l~v7(zGw`qQ6AҊ.;z]۝k{~RA 녟Ϟ4\e'WgL (!lZA5![lR0өv+~^$,m[%m1JmYD_VplIQ|T{b1wiғvm IA',nXd31mq3[s p(c3!E;x <zV|rZzC^2bXt.buY P ?J`L<?w`yF,8s3:ʸgÝ%?ՑOM1G t:gw[G;3bn5CDxn{?|̎3 ְhC"WJ~`,ZN~@"۽`H°Zq>AMQK$Iݭɓocmxȅso ?_]aOܿQɑz,rb*L)9p>}4kd׉V\q}%O7/ȴ^Zڸ橰z :ЈY''ާL1W8y:??)||7D؈&! y'**\P:K)zTX V껢AC7-x{lki WN:ZIXwp묏WmK\B..ȵw;f,rVңc{}Cgnz>ŋ=gTlM\Sjtx[K_{dQJNŧGhFW-)xQ;,uR'#ۆanuT0.YzPdhίnnZ9mX=N!8(qQx"|sc֟ߙ#}hs A -`:=YaoX9h{H<~cBB^\>RAfz1A>. ّ}JCQ%jFPm զ  :頩R$|{P{;F9 bM̋\=]0T00a;I!C F,-k=AX&"Ff[GU }Cx>ϰDPڎjf`=#982-t18Ű|c sz MQiܼyR*yǎD(U"QV#J-:$T@}Ե2t@XԹSDgCʖm-ĀϮ-͜ug4?8`)i<ǎϼyMYW. 7>bVE|S{Ֆ9s׿:8益 ͕3Gp~b+b`eӚcƧ'ЅPXLY5g΂SgB"& =h=]ja9Z]:؄;4.`9y]v½^?Zh`˹ACFKKO.^-BOྤwX)[-vp866o=6 !|j傼hw#aTkql48/kjWgiTSLV:GJlM#RKT R \Kt}.ƒ& O&n jVkD4[^`P!heÚ;BP`˻USx.o@`mWohӫSgVM۹fy)5@#}ܴy- l߰Fgڬ[#/^`3 ,.--F4WμS+%W/d_ Pj_O&ױE޲uU6c TA}[Q`[kYKε{Z]贚3*Nfj{0i5VY֥5N?Կ8p`'uֶ'^Yri—w Z @*ޢTXdr̢quwG]]= VΟ"uENXdؽFp"i$hqƜqb< Kgm!=}wgL0Y6HD4dݶtto /gwk#"DE"~HI6n}3%:+T&-,2V 5JFbߞpU 3'ocS 7<ܻ|uF/f}tQn$S`e &}w`N9eS@^crK%Iqq òfm4hŘ5tЅƮ =>|mۓpptBIկqY:g8е*#@:Z{:'°*Xf{w n9`DJ[[FZ-&IMyzlcE;0Ćld"`Bj=}F&c[ wjb9ΜU7ppbYmƉYˮ BfgYk=}_k sua^ /@H҄+eI#bLj08ZN ]jNtH/#|I$% ٛrb"G|=uTAz!'~>ߴ kƅfxh'Jv Ď/y۔'rБ [_t$]oؤ}cc*; ()`F,A8.Fe;yyK@jb1"COTj孤H.m+˫-k*X1uBty6l&˰iX:24,Exk|Wz~ WBymBjy`N//oo DтCl5R5!fҔ sOVUƖ.,#A)8|Z:KpE4UH#wFV3RB\t[&p'FT(;]KcB#d&6"sta ~)=|=R"Ey@ p [dԧDP jDF]rԈT -Ͼre?a>S,r=ۿ?fkmi Q_Z#\iڔbDCBLǔct5/^uvZO?rj޿Oq0 !DNd -"=mSsi)؎f;e$G*!|bI[Wu3ܝP:Ѕ/|:rvJEQ/spwmauo OnwB gU+ԁ7?پ߯,Ǘ/{rdg8M5`A`Is8XҼ&,ipy>:K1iUԶX-暒s-LsbXV&̲9D=Μɉwa@#H)w19 B%_cX+ QvZ>|9`╬LPF2j^!K'e#7}7nS\L:;2@ Ԣ>FcO3Ӽ"]O^Jg 曟ɖƚӁ|@f7w Y>({@ @P7byd-e桿zpn~cDךvji]^ea–ff^%%[r.YJP1CR2+]YLtW-Id%qyGhn8W L%? ~VH\, u[zR^VՖzhoSrK[93ѵuyYG@G˂]"N[I,I3ȑt0dW554[Yy[LK/j2;RLִT{/U^9gva~{yn966>YΘj_TL'%(d*-zqv6o/׵׵.l`;|c^Y|+Ex>)xw YFiTIx ~kT/ySX[`S(`̭9p6bTz=*gY7XqNtTKq?lJzU*<P,5{DnF}[6D2ˇ8P 3z^ ʳ޵܃~,ѯ!0i=y@k r)XBw5М&rjB9}ԣztۭ I4[}<fZsnڛN&#{~ X w!FޔjH`g. o=l?a-8{=),q{n, ey`}VV< geiy ;FjLMgL{k- qɴVF@BiҫIHYR%s_TѿC YgʫT`^ *q߶!m鞋X$ xDeVY۸*Ǵʎ|ɄVKzʤi0AU؃]H "2 aP\㈇``vJw(&dP|O101JT RP@އ`q~xXK.wg. G!gw㝨^o&(1׌_ge٣ <~ʿ)׻)?R$uՂ7 hi~V 58hE%DR'a`vJwG/dKvFk.L&jnO48[ߤ1)DLW@0}Y} 911Se]x@s9d/h)<\!$o<.QF$6L _$v=wgټѶ{[_NK6Ķ1шl%%*<\"%{[/mEXaT< }TĜFE5Ml=RCZ )aޅE6 -a]OρrZ8o ИebL"?-_2x_%;x(Si͋DEPo Em??|ԩa8DV]߯~Ƶk3߳6v eCpTfeB:OFt72ƠdIpG5e~mʦڮ˹;;mG^vGnߢ Ư^^S8}/>vk~ˍ-;no[&Zy 7DĦn=g t})֟ZSG.TG-'1sNx+őxM;rȝ$z<%4=-7Z84؜5uL/- ,T955!}F.jcO=H֒n@&wMM]k'#O+'TW^8+">lȉ5Sͽ[c`{SG,Dy`nz?*|  d:gϴJz3.Af[nP)} mwThp8qfmX2>NS/O oR"yAi^T(O ?7$ðYHA5!Gw|V0(*ʁHLuy9Z]oTgW4ؼyFLABN)aյU*`^Q9tYʮSN6D-^+3 2SZL?i&Jʇxcy"z_I$79IN"̓*cX%x;Xwp΄򼵩Lyeiie_=69`2+[r7 ϘU:Ux2sڴYYdO.>L:ċ`Z[=|cuus*/??>GO:zɣbo`څMM8ϩY#^RO(SGY-|2gc]U|t=պS>Xe,T:Љ8)eV悪sjJ(._bjn*D?A Uy$I?O3\#xG7i5I\)+^>pAeMF!{њʚcuYMiC̢,t[8^.s/oK:k~\QδQu;=;C _0KqJ1f1D3_h; CTs!h+3"A P#1Ĉcˬ!!:GBt_zJo]@*9H{vT" jFG}v<9~[cXJ0C]@$> oSG1G1x 1LHjԱ9p֧İ_ٮ!&,0 8j%XBLUbo?\Y ?j; QŃ9U8xv a(#c9O^96Y>l~$Æn|X z؞a3$4,vlS( ֝%1M1v5}̯~d'O(EFKhVO&jAu5>|rXQ9II7,~tnN۫JC?^,nLؿS..<7!-j6ͰnM˿y--\0廟6ʜEͰX|uxj㑑Vfs4ÎCX֮o5Cl7 w\Ia+p 3.`"h'D.͝  (a{Z,Q=$0x$mx]U; ftjGˊKGk>ۺpk ˝?тO+=6WbW +.A? )\<DIوag|ZaZa4ڵaD+kѝ{ZGZa8ZP$ZalZaڴ^u badFmBf|Tஓ_ 1}@f|1D4W QaUJC[i<17Ȍ/dF(b1%3:!3"K"F/lL:QU5EUw,F N=$&W(N 1IĻ%]u uJo jJ?G'A)D:?֨n,c@j)NX؟ż|pnME7'rK[TѨ%s@n 1e;rxEP2v8Mڗwm۶m۶m۶m۶wrvvz W/\+kkkvut=u<[<9 J@EW7 IG ;S{TA3-MjcӰ8gk[0D1A"i:9IITy"Mfzd1-],`s׸|A?O_.`v!@3G_PЉЧp2\>?9⏴|B'a0]X,^NM1XL!KDHVj ]I_dLr|U~.T(EU2(EUUQMrFzU}hMӪh{s퓎SO_EkEGG/!Iho,4wMɚ߬k6'_bbcbb7 (P4@0vpm,EX%*w"SG|]^nowڇ~oHF_/xDPE02C@ZT#DR> 2 Ni9@~QߔH `L_&wydA( Q:=lԋn}Nd~]O  1̰~OL,ye7Rwb1&gd-V}"0t@DOdEs~CkokUܩ#?lu 9X֮j,W[ƓG?!`^wδhwDaGbЍ_s|B!\a9sK]xc`fs*xA\; [uwwx;(w}kz,LG/,qW-)UY\EЁt- NyDž fe}蠝.oe=G#0I7U.K8+`Hj8q#EE~1w?$1B. Cp"h|#fopen-sans-v34-latin-regular.woff2000077500000000000000000000405441511656052100356010ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/fonts/open-sanswOF2Ad{@b P`?STAT^ |  z 6$8 x k52E;_D3]'$'ctUVaFu:wu#m8Nʋԅ}Y WIfkBRu%͋]|Qd[XȁUmf0{n=þiF|sX_c44W=< @7_3L)3)* }LIU~1zf!+tLB,Ĉ`UE#7+w4$ɥKdb RELq!|RɔDv@AZ Z+*ꁇ p\{ e2i2/w)р90@>{mpoMY8chJ*Ղ `6]*F\_ҏ) 7p; n?3S.87W} nwsO. ^"1TutDȘ|L0O&\^,#ɴ$ٓ5+T8_kZ}wed>'&qXi_-N=kN?r偰\E.j3kϷV=v-ʧ4jOX͑pKlA7q39v =j>k5ɂ=i{÷@/p4sݔD *wAx#aX{q`xK<0 6ܭ%g:$uhu 6׶n(5z>+)"HM7V[hKT(aR &]fJ{&.9-]bAv,>m.mwQXh Lnx*F&L]wi \n:NYfe3t;-8`ez$&vgI t2Amf] ,"w "]rCREb w+eD֥/c.tx~ ~ɕ\!VT}呤ayw4LܝPgMv(*JߩVTxd35RwJ^d%n>:Μ.GtU+!}4ktxI;[q@l7$`Hbw{[эw.p<+4[+$Am:UdɄDxW9:9i8y[cgnBsLG]/fQ8x :a^+[ZF39j184>* 9UA%&KؙaIw r萯W$G@("ÏCF%VRu}"W[#5PV4dW])Io3rK邅 CȁF J.g-. .cե'm_%H趥!(跉zhwb;б>/(+>Bqp<%eC2'GA/xSKƁkغ2( 0NkAo2^]VVŌf)i\+7oBSnAmTlfb :>bW ^GvC,^uqZGZhn9cmxvըRڬρ^S[\ H4]t ^Y9?I#tmqX)<W 8l쑐\D>FB4O ?E9#đ+CvtTҦ )' Y SQiebU`q)b"Km->of W=k$,*96ŠcbQ.k됽 :4`]}]8h&-3A 9k/Lߊh-:ɪnۃľhЇms\FPYZW*/@m(1yך,h=]jwvRbD".ߣ~3a1F'yzgw/^ tg'ʨĩi,NLcd2nP~~៞nOcjgj?-(.2N4[5)QH_]*ОlPfw`ӔUq~wC3YM*0\Cf -rY:bv Z[$L3#={zP֍I;ۘIx (-@kHL~tuWHGk3kU4!d-L:h0hT 37p pƕ7gJAIb0ѨtVw#^_7xrRN+.e%7w5nm9-ۧ{bնG\hoPf->cX&GCr%7&RH" lVʮRt8/d4?im,w kM࿙φO|>.:udzLk.} 7n~HX:EK͊jnj޺k[9ZAҡ`} IgR@fۈ; ]>ho^?r:TwiݚsG;g4,/Su؈+=49s쳸mȩg͝М T7dpd8 n ~8u~DDo9#Ly<nx?A$|25wU/8A~+(us%$FSdoWC3'.4 SpVCښba ?ԞRgd̓J{6nq 9$Zp}dm$=)U ~<~r!wqh_WoYӬwG= fNpbBw԰?:=B]bggߤ=WiwI4׾]^=G:Τp}i*ΔL_؞֗___,leyܐ}i0ޮjX9oֿʊIE$"B<$DQ2#Vkp\/o)˭O@0pI4>bE: !m녽ސfW\ۼ4YЯ:f1mMty 7%Y-lӝu;wڑθtYOI,G:^:wQ߾ƣ9ׁR]pr[cOg^;{^-®^=jW_ml>=-:#7ER^8\Yns2r7| ~xtKڗsխ6NM,Ni,%</+Al^( թ߱hk}URY=1!3,Zwyܾǎ庚Q 40t}3Nkhh7Za=}]:٩gm﷾X?0Jß'nr0g&J ͸=B52P'>wifC8'tB @4y~%#[zo^}vWwn@쎛Պ7_K7G p_W ,<6p s7nXn\\NQQr7Cћ˯j8}ˣ2cD*9.fWZ4eig_QA5ҕb~c =끗ZXLd RN@P'ٻEʪr]Um<-a {d"hŎ[kz+4|nt΂OMa&ǐc+K#UH.H4|\ܰAAV:kBaSow*;'R/w:gem{xoYg*>ҽ"S*NV7%/5-&σ6"@a sϲB7/Ȓ805ksڴ6kS`0Jf~2xAW]9<]W@#w9(fB;HWC* R(:oG}0ct]S436J#6"2eZ<zf7A4b۽+MuU=FNܞ,F`Sw"h.ѺoEp$sn+/xwftx~ YTQj^nm悼!e8njc,‘Џ[YmAeuٸ\ɀԣ!;3?xaS҆=7:uh'h{aS]`Ā%BE{Ǡ:47҃*`x0˹G80EEi⩀zuCe!KRUr0ZUDG+sR\lB2_yyHt1ihx 4.r> w=ᬹY|YvcڭzϿ wx`=UbB6:`z/wd]1:*+ &+_;:-p_8_-|ب.R,N̆sCcPhLAwja}p;Iy BJ)C}ehP7kᗠYC`$}oS3!h:qhi'jиTl6V۠yeIFשElJC& y=$jMf *[I*6r5_mDkKGȿJfJl,2MCNb> 7}⠳[^R<gFJ5 ]%%fUr9B3!=[XtrW2SkpFp^ön jnE&pf-ɴ\3׵4tS;#`3uP"bW18U 5_"94αa4/Jp$9tE؝r}o_XL/:( jRvMeEAT)wLsf >f %(=u§= c hUlO8joMOr RE!#0lkj J"%Cu0r_Oo&*Q~mURFVV9#[+1@Z@dZvV lG C[*W`^/?i v5<_ן <!F?Ї^O]_!0,Զ<4󥵨7Ȯ5!_ K|OrK!O+b >Fҭ'|g4 ! t$E?[ t̾{@ qY- +X+1QlV @BG%8;6ځni};X}Wn{ˮ=gR 4wd&ItD<tʌThZNXн7fC %R!=M'`s`V"Ƣr2`DVU]BLZ&[Hm?{ljk@+ 'T(pEɅQL^Z]4&DzufAFaq<8.^1us+o$wn읲;Pc95 ,A6~Ւ)Seu}AN\(H߻rÛ/?(%Vzs0*ZXXgy^/J}? {T=#ZDέ좤-W[D27 UR_wQ:I8֖u 3We[4^8 YW=L+K)}T\lU'!D7beV.@kB]LlK(\ SOC·nx|̈́iiȥÔhe6>(]g0lUS8831m=qwԧ aLsp4-`F%$Yqwcu{|z2OO=b,8}5#6;#5S|ÕwbV!P~+k㼝3x(?V*6t.L68#-FC5_ tw͎ځ뵭OȧX&Avtz=`{⣪,kœ-͂dg|DT%O~SYytbZj>%`Fg%&3X葍MN$yd||u&t#c؅lTj=7|"[z_xESZJ3IMLz}W'l cO;|.ʰvPM=#Ϫ@6Q9%9>:cQ=/BЁ!FZ:ES^nO93M29n$i-L f5-m,MYɬht`Z02,8=JV.%y|%?Z]Z9!KM_x6BV8nC+"ӣGPW*i^@"PI`БrÿQ`Qt0>|JMUn5;d$DKxbQGo$*55Ze^^C@Ʀmφ?)Xm X#YhD2Xa6-tMNVQ(5Y=` HQ>idv 'l#}lj/1ZU8c\mAƹN3UhYmcEuXxh8>67G*x2xHjYs/0Vxܨvw z[PaC8,X)2ƽ,8`5 P#q>5ޤjڪcըUEX/7^@ࢳѯ51z#pjA@L |FFrpQ>bM{#pTVnRFĈje5p &PΈ7|١gDOEz~G?YD]ws~_{@3#,z9.oy+;Nzf$i.Z/H).y:{!eHuzbLu"| siִ!A`#l<8tIBl}"zi1@h iJAyu.ctS&^PkOSqZ~,V AqNL$A<¢hD ڰg 94{8Ō$:xMyt=^`[qN&h3 rZMaaTcKW]ZXMT.Jb-&+(^. F.12ݳXn^7?da c)_9̵tØ8w>AcR`Dy//';-&%"&ZAqGYB~ht> K.\`%"$$kzZMpu" OAL$ދlk"˴ __QJɲfҀctp:\z~  KN$&rw+ 0d RU(d 'Je&8 oГV]3%]苤9Isӏbb3%%VZDV-aZǦiswcq4rKY43i!6R(uaH46K [7BVWixGt%j4&E׳ L6Uu;Y`p?Г'J!|J$HDS(,WI?u86ܢyz`q{KJ\@Z8fOIֈR#i!Ŕ>vi 1]҄`W:$O-$F hBlV$C=6:dV Cu$ J&TŮW2(;lld,ctM@Uf#6ֹPW8rpMJ2˥,EQGfUގc{%hvkqy`TArwxu fDeU3 j’2E@i> R!a( At#ll%A.rFYզ*U!L``2|;J;!<1^ vyGz纡Xah{ p8gfiQK"p%9.GZJڢ`院apm~)X2P$4ܳM $v !6ͰXU'+,*Ϟ!vEeRnu4MӅ`x4 zE PK&e3 "U`n&_k]*$v[ܵq hAMѰUh"HkC\z4sPA&nuSq0)gHRu#L;hpRlT|W # kH]rVZZ fn#\=*ֶwZO=7$/n%@ *30rpfIP1gM2pľ,׈ A=x^;a3M6o`OŘ &4$Ѵ$9%[F(As':i]ۘTTUStcq E!EavFG]gU.-qKΔ=vhZ pWJV 1jg-% j$w#1?zeYB= 0= 1CFaFJxQPUJx/jHXAG 裸Ū.ɬIⷎ61E Jfr'+9Yi2W9[ST}|4 ?}ʼn) yy4 !)fT!D梒&YKܐSQet+Cށ{~s]Geet0]u x#k'4o<}/A]jte=8o<>=!x9|p +J4JT .D[5TRu^Oa>; O"J7VыdoP,)I@-(kr%V |3۠ǝY4 E~s /#KB"ʙ ,YGe'>}D!8x}zűA#nȊwZ:Jʎ¯v.[P\_0p%Vaǚڣ11yU}i V쀳o RZ:e vh{CǴ0%,Z[;n 4Ms%EA>)+h}(_݌JNlu 'XB)Y]#QJ,}md/Ȓ-L&MZW_ %jEy/ #]?ވaiR_Rw{̚= n}ǷCyWIbDeyş<^t^ũӒd1-=s7:Nbsi,0B6*oWec>|{mkg:ymAc]:l:.HR.iG.V'A8 e@ 49tD&RbdKpG`ɣ`QQTc#@qeTCnCt{!!R Dp .1[[`$FZEH ؓJMޒ"dP#2 mLdUb Z!"4_EB)iч_dJĊDapT"7joJ{s*YR%4V&"cMH+Bi‰v+O*JJ,}ou2;L{9aEK\.m(g"e9,u!+.OTda5q"w$Kr-,d5gs/wlFșLQ&bJ ؝Ec| 0Nc܁/ -lvS:{4n{am%MGSÍ|JʂANwy X7kHKH؛"{ԏtSq-2 sdWKDWRB:%h y(HHIz*nĒD ub$S DD,ȰhTl PȻB?U}Jt-m˒ {>ށ+G3F(\Jl)l ď\ !6C՟x|ޥROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/images/000077500000000000000000000000001511656052100260315ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/images/alpha-watermark.svg000066400000000000000000000031131511656052100316300ustar00rootroot00000000000000 ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/images/amd-header-logo.svg000077500000000000000000000016351511656052100315070ustar00rootroot00000000000000AMD-logo-white-v2 ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/images/banner-violet.jpg000066400000000000000000001766431511656052100313210ustar00rootroot00000000000000JFIF%%ExifII*bj(1 r2i W WGIMP 2.10.382024:08:16 23:49:42 http://ns.adobe.com/xap/1.0/ ICC_PROFILElcms@mntrRGB XYZ ."acspMSFT-lcms desc @cprt`6wtptchad,rXYZbXYZgXYZrTRC gTRC bTRC chrm4$dmndX$dmdd|$mluc enUS$GIMP built-in sRGBmluc enUSPublic DomainXYZ -sf32 B%nXYZ o8XYZ $XYZ bparaff Y [chrmT|L&g\mluc enUSGIMPmluc enUSsRGBC     C    VYJIdR.e7TqeJn-iwy]a`0^hjT2)SOg 1bm/_7oӜ,j@QF4*`,GREWoV~̎?0kd%墡C 35r 6ttbuً``vt!Ӏ qX7=7_κsͥp jZ~Vv]X0: \ݙN9*UԸýw28^Q1c2{/9yTrI*I$I$I$I$I$I$.])eVr#+Nim. ,*Ubfn"A,Fgaf6Uw7ulFl-mqAkZZՅJVǝa92d79-zYڪ4ҞP/ yL fsBƭ9ӠN^U{hU]j: } ;H&իjܘ0` H~@y )<$ycqKIrI$I$]\J*I$$&l.*M*Zu1Cё/R˨ѡηlPjƊp[tEu=2eS [D{i*0&y9/PGO N[rha)>Kt>l9NjތQkע..? slr76in+nqc||6rT3*\Ae%ʩw!ԫLJmRMC`=Z$K*HrZmiNtfjv^#R9^K!Dʲ\-`UJоqݻڵsb'+c$!քK}/7]_Aδ9آҎ?JV\3׋76f޹6lrh^IXPdDwjKUdΠULm[\rZ~^jO3K<]Bg=9vWrL).0䩕Kd!!ZXN󔉴 G/S>l,2إ[)@ͲkԀA<(>W3c`M/B'}N?Ow5biLO\)>{=/IW>i-wbMRY cg,He<~oM.Ծd֓5 8]~66&9'~_t=2**i}UCZB;ҵuYZ2Ki]FeqS+nCն*Fzց>=ЁB-3I^-1|=r|v~WOӰ0nbZ6蛦Q7ͦ:9Rq_U~a#[앵 5fM,S2Ɣpscl.foK']-U2pT2V /P,f03()g|<Ԩ-ANK:3z;5*rT% wE0q9gubdp 茷JSj~d wyDchje9%-UétGy_[dfHos|98uY"%ceB>4Td ;##k!G"sd׍+g!B4r+" P# p".KS)+@]y.rIΨ.ά93V*$&+Oe ^xL3,Yy t+oG2J l/QP xlymZ9%hEmt^!lo`U *o<,bƷaC4y6w o*x`f cw$'Φ2C{l3t\'kyL"̀>1GMn.B^. d!C.iՕM2򺻹R\*&W4jfP*iTLgjDމ[%e-Η-ӡJ4(VkλW²(c/ez3NCfx!4x ccq7`9xDwF zE2Pϋ֏WC|&N(3@Ξvw7rׇzn6G&_9.`]Y|orI,K]*nI($l!VQvuKmRAIWA%;唡r[% YKd2Id֊U&M즟eE~+M-L3MV`[+$9:I}\t}12wp|[}|v?Wx>QN]R:8^U~YTm6bm.Ǟ<8=қUz/*VlZ;b`ZR6|~0lQCFF!ЉXϼ"pR6sN;`6pYgNK;v'h9NS;'d9v@`N3s37MS#fH0m8ԭ:b4ċ u(enӼ |;7:1b.CW,^׶>y-3J){N(QaAa/ڤsSsga!L8 'u8 6fsvU:^-qqDgi `Yҳ"l'@+DTIƸxBc'aYMFx-0gPhѴi'/Yx(b`il#i,42&tEv^Yup:YЦx9Ns}"[=k~ 4d"wqsΣ:Zx%ǴFǷ~+E*)S2pkӴ>qc: ^ qaUu)BJ9E-Ӗ`g\PUT㹋c 4 Ao<*yS30aiuQ\k%xd~O4JXqqRW[/>ͫ>gcAXkW]k'1瓧`KL!{DOdOdipMc `rl' :gLTUU`C8 h3ιps΃10aʴv&7R LezC4]!&I\9*k54>jFmw{;ڢ#sz+D#q,{QMr}||+ {Za)32Z>6Z¹+;.O"d.3is´m N--ؙNsq='NdݱxN6EqqPNSM>WAS\ktx#RgrTY\sJ <,uSB+4[p2LPmof-V YUSJ=#3P[zFlɘ t5T\R7tP&&IUlS*[ÎFudFĄmC69WClcy\ &oFiTzOI` ,]vL;XG^QocY&a6u{\d1g)'1)W1k2Vql#E"WleqsܝMU߶XvSD?Eч_e>gN.&=s 4<_Y K?%ҏ#~u̟?PtxjeG6ZTԿ=3{_Urj~e?G?li~؟;:C!1"A2Q aq#3BR0@Pb$%C4Dr?}KwYY6p8G$pFTrH$Sq nK\Tx7=ʽ5SQUt2DUAq͊p"p2,8&KİlYčID>>OMu>' 4d26\vd'*% Ra3 $,tǎ,lIbf$L!иhpYM!^HULtc=Z ѕhF(T[5t j’ԡU!bV%H9dBUZ78W8+=f-m125BD+؆-uhH$OK aRhhec9vjYS87<5<>6K!>]5>.Ϙl҈8؝(-Qq8$qrE<\q $efV<蔛܍EOdxԎ*- [2ػDjF!TFs9bŋLS32"OLdáCG 4eES.(9zL”lY)|*O%.8x+rS>ac(1)fbpudQGy;&Yʍ1*UEb=< ;X̐쩊?!XrٍŎdǡR$N]H:,h!Ց8r q_"q bsq.B"UouPat v?ʝ7OT3W8rc§lxl}FD!-.ZUNkRN*~zw(v^9E-].ͣ-S>AvTQόz n $h9j^=Wvc9NpX̣C1d@TLTʆ%Z1%H2Oa֬ZKvd{-.ߜΙhV*#Wyq2I6Sgl)\-fG1)᠖P5IZ~v' 9(jaS>BZ(tz,4~?8xZH^͞\)MbӴfY9*( t^S¯CnO~FSki2]DԹt(J[.;1j~?T$$XSʭn wG,UE5,LzJU%R"FhC4N4"ʑ:SucN'"`7ȏcQ8 ;+ыu-r؛QDautB|ֱR*:r[捋K˖OʴrZTfF5ŋ"&Čŝ|3}WVMЂ+6鵈*Z+8':1)RUo'*%S,Jx)ck%&2+!,=X;?q_dXbރ( If3.f3˗.ffَȜ勵ǸƏ,LWSĞ;(J} vDKJɒ%bNrݚHX!x3URT*8x\OTG3WR'ȣ+܏da>h'(F IXXJU~͒*K"(R"x)tJ0XamW:O)n^c /̯G>$n|9ՈυSB̫ÙFҜx*tƔ8uy}*"qM)^T xE%(7SpN՚HJx'P%v?Udg"9Z{raBxFZciWlXLupTiYSkAq1} S) o'ATU*}P{e,()bWޝK7u32K̉TDf2U,Se\K:Q.̔i9PȿJVUS*r1U0*Fer*TYpe'c)J 9=zdp{[[Hᨧ!.*{hQo~g)FZ*s(/еcKv~)mb+[̕;-Hte, LRQ5X-N p8L .[np)j`h)Pl*0{#C,}_bR-uKw4XvXV~h7?1d-67z>=NY)^juv)kT Qbtw,$M9&4sA<#bme)S~J<>jrU>?ȪF(E 0/N#cT Uy'E^e6z#ƦxY%/tgy&EhݙNy5!}Eԧ[>˷D{=Sޢ9h g?g7UC߱*4Tç %&% ScOIjJ^4?zx|m2QxG+8I? 6[>7x|'%mW'ЕH˝{vDifUSoxQn ,rƮ!xYVOw!ݗzUZKZ+Q"uCމZT2ѱg.,p,4 /ʴfk+נr~D^{v9h^WYqrh)֑Vy7W#Zp5#5#o)ũRrд2FBhFBWxew#f-TrswVs|?)FJjZHSFo71RU!B-J(^蚛NHeY=_V˺tѢ ԚExr//ryݤ)9;.Wyڑv"=-Q+"ɽKDJ z{-_yoᗺ<$zZ~]l8ߩw{!+nJ=ђg7YNts2D3U%T{Q>Qae~aG }-4I;2sG8͔ezN]J0Ϛ*TJYĉSIsn֔fЄ ӇJ\HRkBVwS͚ĪAkbgrEq)QuCBjАT.rOK%n'Г[% "% S|ȭlwi[Q]rF[ZV-mmHdiEwǫnF9${ʤ\r8ױe4< ~F)Rr)#A8te>#%Ua^G,DVNj_,TYĻ*g.ڎ]52)J]95.mHsШhI2iֶ"aMlC,{^%"•݄4rbdW?/1S-sQ&8%Х75˚r8=32XwV'x[cJi'c+ܭSыZԥO&.QG5o)8^4!Y9mbt^ddmh$ 1kAŦt]; WZ YBiזySu/n&[%SXTঢ়;9Ka۷&#ݜ^4ا9_cWVC[B2ʬB>*j} B*i% D24U7rU,F=F4q/Rg0!R^y^\v2eU><ԫUTI! X2ԓVL'iO,QvVr%8ϖWEL_IS*z+cQތ?kpfTžu8r܏gԌ8(" ~Xwg]4n*3pY\+Z C.BgT_Aނ7&WԒ 5[# ~o(i'oZZffJJ5E <)^U)~~ڷQO/ݸ_ٯ}٘ˢ54'ϔ&k*`ZKDum[QExJ+#tm-*ȥtp8רҭlsk%ɹܯ,Än#,6jY,LSnG-,b1q+ u*>?4DMEMȒ{ʻKu#Gh}~;wE!KΏČ_ vvbU؏QTR[?1أegVb>ԫ&bG%!?C!1AQ"2aq#34BRr $b05@CP?(F{lPa(Fy 8.D\QqE,kWq@<!N4.EE[kƱ{,vfcN3SjS…h1+5- cXrPBm@:@D0VNnt n^+#E 9!B(RF8.nahiV, RP5%'fc!P s ahӨw57FpFyD^耋B&Q+)`YdXV@Je)MS݄b Ɲ;aEG V-Vb6[e+W?翰=% 99棬sTuM5+|VXʹYubP 4bzY[eaXV!y!A+ `jt-)]rD"WX-Q'H4脧.%%J`{a*55ℎ )\'XD 0:Y{&?4!`]F3kBu$הj^x32+KUuYaXVaMj-6Y+Jwh'RFs.ǵF 2 HR.!BP(Q(УjB\{J%b[Ōec+xVoP Н oV WT1:>'B$A҄-[[[r[ҍ;x#LVn$rD xLѠF+iөO܊}ӨeaYFxE_A,iA(й:n\+ ڇҹ(T*K +`o nV-BՄ#e`V" ]Mh]) (ckCQ6 qMhZD^PqM4Ւdj31طX,+ݭ[ JmA :v27{vy]ofeaXU!B6P!B-B  ?QGennn>ԱF̷!ћ f!`yѩJ$Jm Pj@ietr4/i'0J5b')@4VpX^Ȱ=n@F`EX+,YP+4Ҙ#QָjT٘0rix'P 1D횿>Eќ;Pb A5kv, ktKv5oAW5#[+!9Ir߽2 BڡL58/%VH-7!>Ao6Aڮ b5 ԎsE.S,Y]\]oCݨ]-pvJ10qB+,/ir-xkV+ ݭHKQockd#<o8eVVVV57%tAMpA2ruɵ66&ԵoA+J+v ܅4C  JGe+ڔ۩NR;,O'+- wdL_̷sq*}v*){uK[4Ys#碚on$\ܝ,f<wMYTlmTT % mᢦ9jKAk=@QJ[[JRn5pѻke+j1os^朁U>:l7U! ~c!PfUAmՃu@nIYg9䥩Y4}"SS# UH~#9f,;Iav.mL,ʷYthN`aJ } v \x.Rx!BtW)Qrri\yNsPr4ˡ S{#FSi\h]DiBݻݑB E,(f Ad&3 XڌpO B.q]e } DLx-/.扶ER66\)&%]IS%7߳C$s @'2\Êfjm E֛}hZ1?EaeU5l==ʀYYyJۥΌMȭRxͯ>ZZʛe/=gW al ixyOWm**q-LJI;xacuDqT#wW2F0D;3L;=$(.3,Sg࣫::{ʎ`F:iC{ƾ [oujP9G5)~. ) u_\{ofEa`LYT3q)~m9{vNG1wȝU ]q&dK@BtBP#ɽgtJ (G}B4lv$;&Y, m4< 4{SM rOnZ&ߊflq x#!~^ɤ0Sid[{(â2@eXTmkPҷaTQaReU>!RlOYS측79V0Gkv1b̬`X{Շ4Gou x(IuH#hU=U,UR2TSC3AM>쌬Exmy~ 㢎Iʚ|m⢯\2o݃)Y!\[ZU䠅T[H7} 6?Z]I-yzװVǝ<_J3USv|'Z߱T5Q`sUnpixupTubg!B߷cF5m4Ꮩ~%ljgd-p?srkwZ:U:IE3sm˽J@KM9:GP|u4-FH]ω8B6^ed0StdqpVwI&5&e~9傞쑼Up] x9o*#%_1LK)%֞G'&UM7a7f&4ЉrBqu&ڠq*Y oVGn Sk/ݵm#o3}.` S%P꿎Nу"y(D96םuEmo#+@CI1\jiO@]˹P=Θ/e kÂskەA\!cmaO)S_ӇS8ßIkr##3!ռ9Tu4 *0х30pg::<>khij: ՠQ5b4sa=Ă 27Ko~ҹCSඕH4N캥ouk?1m3ݵ_Tu"̝Zo-I=D%TV"dB,7*ލmc^-)_A^'o@mocC9f|Lpbl-CJrYiH>K29*w^BC w]7 1}w6`y:;ޅh\ӫxU;BQ7Lci@Ҝc.Sj еtf›4&V)DmNep@"y /E(8'S-L~GR;2[ڳ #{Q|%o]PֲvpM,y\#-őw_su:q~kyu:dQdh,0uѢ+;%tms-L) QBlxdkx-UXP$&fd#$$u>!oe njrQ0`j|M;x !zS1돊|:aa-9d$δQhH~v*)%Z8GvG@>QRmW;Cnk꛰9_A3cSR~j:mJ{V?ԺVR; NCYֲn֦'}.]%2Pj ainN ]NX.yϒvdSݗQ2ηPȦ g zڐQ4fsa瀱7PWg8\g)* -qﲂ0׿f AnCxAo+SGC`,~|} x&q#QTAOe ^b8{ w͟cnT?\E_k# JhUӁ}$1}=xorLTua`rJCޥk郛SO$׍TP.o'88~@MÜg l0ֳAKH8}y?z~YE!ݚp%U$h>Er7^p7!9q2l Np35u q9؍oc3r#c~67MivM  `6N-kF1}kjGm_?k Hz#6Lw `7W$AYw,Y+W\N\\dx:<^0Fd!&HFoFk]S.$j]{^OAo/wcbvn6,$BϚ!tQRuujb}|"^V꣠k5d!O7hGQ}KMK>}S+!Rcq82:`əIl?$Ɔ\^9cOtMbX.{9Lq3i~ ^a+|6>Hmg?31ﬔ2l;xfE0}<:iw˻:)L/M7Tp~!eQŭ^JQiP9Q:(b9>ǍkTa~k#NpQu 0üa/N#>^zԵ f$e%"a-}㢌R}&֞gU3{y(GX0_U#1! {~(ӎ9Z7_kK +%ۆny+R}Jbuo'v=|rnas1g-[{ydBݴҲs+z%PЂU@ȴ!XN _JTW$%~x&k .h7χ$Ʊmneε[2Bυ$5oo haLn`DѼ8lQf\TDm2r*Ir4TMK->xOLpS8WX"&VQC$fP/u>ݕm*7LHrOOl=ی 7F-}ŮQ c-sny*Apyf+\_rRWAIYhɀfWEd2*7dwb*M6ţJᘬWτqrn pe u1]TM|%ݻ[@z&^\F^_ ~x5-qgꝵwn_ ;߭G:0؜@a [9=&L3?^JG#6f\b/M=9AͶwW =c}}rpu͜,US_eOlyyރ0%A79؍}TbߪǸ^ fךi5ꃬUvY[4-wO)=QduD {18b[{t,~rYYG k`$,+%a[tbi5%n\姂4<ʍ+b4*OMF*!{V~zڊ7Ͻm,}~VzbiB|J3@ q).&'J , }"s n66)&괁.Hh$7 ' x$i 9Ȥǯ#mxN2BɎRQ3/QU[ŗG'TT[co}Tmh7'soE-V*ڪy8Ynfn,Ϲ垞9I#K11[_v ӿFQ!f?h8l%)}auݟvhNn /tϪz 怺slll.®6fiXŽPx}z{0%FT2V*Ʌ<] V,M88'Őnۊl[dÝqLܮOqvkh1I/]4YU<o4M\D'>I| N4 8H:#zo\Og[} һx-P, ǒi:SUzt2X%Eb :t!N%/[ƈɈcX.^!(i,JdfXTύܔS߶]N2 ڹGsZ#X8NHD[BQ{=PdO 4On,WUɱRjMڝKn9'Y<>j*HS.xYSlSb'MT.oKO=.3GwU|dBgG>ysl&o:wRգ ?3RlEboudPB,[VuIkIaq GgSwG3*r-~ǖZlN-\TZ} eRW'ɆO\VϮ0G>tTh"PK(B%O )6d3|no_ð"ZTfYp ofx0l[%4$wHo׻U>JAmu~M`6w~~ST#mzemH×Tm.~Y*mq[SQvX)k8B![6T7K'(6|@K.(IUCѺkzdu :f;wKsM,vFH׸cL6(4Qɼ{x }SMOMN`NCDPE5S\}ERvU?d){jSj&[[oO2|3U.UU g}ڟ|?pgYKVT}-Emʶ<3Z?w+i+%_5UR~%) WgzHM)|SVmT]AM#{Kb~*-iG(>!1"AQaq2 #BRb3r0@CP$Sc?ZEϱ[廿Uv9;XZ/)^Uc0/vdyV!dwjV%lVXd[t[ghݏEZ~#=T+mD`’}V?kߧߢv}g .%`%iݢdOcOUjZkZj{.+E^U^U^I^B=yVE=#==%au i&VG[- gh-f J2ų-{C: j^eNܰՠ i+FI=@ +m)pXDPoT _+mr/j!eQ.sq^ގ,[N+U䢣/wUriR˚d-UjYkiSLX{بz3er3+ƒ{xl-aLai߆SYsYh jݸ-P)n$Hx/1U^zc /|{Bڑ{թP0t_2h:泑~ẑc FfwI&F@Æ>%&:h>>(7xP\UMR~a#Z/(GڭV^j )WAP斞΃-ʗߢ^^6V\wEM⭱q bt ڵ\GywUY<䴞Fx)xwC94w|e6oVuvҍ'XDc*vcO >#Ӥ>& vWx~5VV-T[jӯ1 #D[ڞojƌţT Uapʻխ-^siڸ6";C4Ex| b]%K_y~x'vˇ?].8-!M4]W~Z->#AxN6̝V|H4 \궚W%_g yDVH,<|#Zwg9 &;݀ݕ ek)h .mO)[[VV9Ienu͎J.= O-c(J/sPxQaܔ+s$T|԰QP;qQpwDZ`PRuJo*oo֤QjX!EN57!BwüFš6:+9OBU;`w*~uju1S[5y7>茪9ԧVBGk}Ttla9+sIUk~C  ʦӲI˾-躟gܸi݇q2c,DI^gp+[Lj~V[rg(wvTcoF%!~+aC|VYX[FV+Ip Y Nݢ1ݗĕ2"5W_ 5{X 7qY2x\Pӕ-#1b)j[9,:{OXoU`}KGEy!8R0=ik< ZՊe1R7 mڛMQyJ۠aci]"^#{[*yJIeZ6䀭I4>)ӌ~Շz'ժʔ~ @6S&d=Si2*?)-wSRw?SuIYou/,pURntF$/>WsytM5o EĒN C|{+fH%{Ed*-FŜyBQ[w|AI DPzy^_O$L`Jh9wWHϡ^w!-k_bpQyo"^pzVs/8^e[J0t+΁ZM-sly\Ggla`Z(~ 6>o/[m[;c ~Uo#KlIY+"WU,v}־\Lz,8מ$+e|GQ_ :rPQ[{Z3 [j9oଲ cxĦ2~IY #VlՖ*ivo'V}=5N=PZʕ`6¯ڑ2ڑoHM+ïAuy$r{) .ԞShCMJE1q4ԉ-u72U>;\2D%~FOâ mWL ٽ0J11ݘT-RNԦu'-BDSbNn6ֈ{K뿘:{BVm[Q!lJjFwFk_1$c+eI0F+ ekHPNߨ^a+HW *Z^5;=BQH*.hYq~%6^XLPʱKz\LJTwZ5f8cZ'mȨm̨B ΧR@ߨV? –xeImޅ)[Ģl,?핚Ma>bڹYR>w:`o1+5^:wri᱒(`_@ 7ThsR߅d'ofsxt(Ӥ ^%Ocz=Ϯnpٸ4iS.3{tk.)KKuFLxMOP(;ghi9Ezt`oW6 +Oêp7(kd@E(lie B*%F)pf@U[M>"Paj>.2U!5^'ctls^z+'KԴ[^d}fc6jRǛ*\R;*-x(vTM >,'=nA˱ۈB Ԛ l&>i.hlm)O v7{`=U \\OZ0ip;7]Ma29ukn?dFLtU Q s MyVhpe;> \$nڼ<]+EM#yk?mK3tԬQ*ڥQm߮/y2SE:,]Rx~Y7?~Ɩww{2$ mLw Qƍ=y+qPhg*5bu |pO5+f$bs%:Hة.vࣸpX@ӊcz ."Q/-/ @Cis f7#nFʋ`)  zÚ[8:l375)"j 9xDp!Jktpl[+ݹ;Z?Q-/"eK6i7Ew%1(B< ]u[u\2S>43+hB4uB?{\@62S%'Jq \ۆ&hLqtqZۃ{SiI;Pq,p'8%Rqx@⁡>&"JpoC2̘\JG(EED냯ݜ HT1qZ ̪<.r7OuXb` |SDR}M s*$;AUF13˸,c/;W-eye>-;!KYlagi| 7,onE3Sh WtY *d+' ]J!eȀU,{䳐^$5+ ,5pgsƁ4Iݳ7d),M)j2C*{j̦c]TMM\WLږ҆Ϝ)ʓ0.')%\NMpn1H8pB{V@X%=VWqZug Z뷸L"Ùǹk) Χ@~0n*@$w]6~^Xۭ~VOtrD-V\TzKSk@+nX:eU( !z2ॠ8}alx`+d!Y !3XC.lQ[$ĬQ g% )nX}ST+KH⤃hzdf7`[N/`kP@6g0~Ti:]sy*igQhW? |GpkUP;Q'WbqsCU4+\[<\\k[\%e}N iު[R>8?@˚Y*\o[5wP{CG$Zӏzk+n o)do +8niJi{^0O,[ (.q! u8#~9K'Hn˗rb@)BXd0<Vz7 Ch9VZy'_ȐDzDùg ހN 9LanWQdʃ`c |M,$rħH\N_?Q?[ÌOD힅"xN .AQ%z!s Jޏ %3c dӹZT̫#xO +xK/-:++){CTu>d6btH?BwPwO2"-g{d%`זL ,kKRW\\d B7؟t] 4Y )n#%گ\pe7!"@ᔰlmA}oJ_P^*(1pD~‰r~V+ұPHڻ#mN.%r^Ц}9+ue@`euqn2UQk@"D 5:DM~"IW!1- "#zBa̍^*ڻ *+JYM@7no#0;'W ,^셕'Iͨ)yyih((Z4h6^% kEK9^ P ^e*Δte+^;%h9)U\-';&DkAKp>Ihn[i[K bevCԢD+|vwW;9h2ifj.2=w !1U }n椘#\roF#n6UXG,'F{F CT QCsUu91 C޺!:o_.ӏM]3LT7.nkJVou2DƘ0 KB px`۲>wIl;ϩd*^ozK/Zq>#D/_D@DJځAyQ'RrKSiS#S\`5.bj|KhyS_pRDl!jTp 2' >L>:CcˤC 0b]NE~, يZrE/M ^Tbju3y>Q3|C E/ƠdY]`4\Vد"9'zlv3<*QESu-* fUNRJ* !K}Q:<2+/l=Ŷٙ0q;sa%w":m?'h1M)~ȹljZ]Cj,'L6 @C8EG?r!Ze"'Y%{.qLx^.󼺆[rmD#L9+!:ְu6 Mdܾ# o j| fkCA¦`!Ȕ)lmvp \$7>x?ܰ-tD?;]Z42G Bm<:a^ z0/S<45LtEY[ ?1\#g_LVCtZ&:}˟d^/}z.X|M=UG=M %`UcDkƥW5Ԛ ky5(I1La13/׶<7q6z/T =ElCڋj 3\ KJ0s JWUQL^6 ,Nv#HG~ߘ+pT.a;>Vh[wDO^"?$x@ko_SX!SW8Yĥ QN>d1 L^!<R @?.qAD*`@PW! r-B!KH[ #JE"hZr >kABKx5>*9p3. h9U41+ p<_vj5_P_# _'P=0n `wy_ID揘fwgX@8.tMQ1H9ӴHd@RTJp'xr^~tT| j0h.2C0@g182A `(JFwj1⥥m5fp2u!{j)}W0l]TY @rD3b4q?l/eDwtXXC:*VSJ!!-GoĎNox{O!P2{v`_2|@S9Ŕ~wD3\[X{d.PtGaP>2.J e<+bhUVZVpYq* s O):mHK!z6< 3W>@@Զ(k yX0y)pks)k=i8M<(VPaxlt-G2uY [clPc$vi0)Uo@_H>`SeϙwӚ-x`N$((bHI%fy}0K+yÿ rQw256z)ɜBj+vήif1 ˃W  A"K sPK-QbwUW<}J;:ڢN3 B=6^im=9S̵rX{6Ag$[73J4VK kQ/Eko7Ny ,E)NFk̙x(҈'rvO- .c߈ .TP\78En`Eq~Ru7rwUXHmJ#<"2*Bg~`Ҕ j43r_lCɃ)A R'2CړkPuD YhQ#S*خ`neDUUQK }ߤ(}V:,C]bX^HIc34DtWTmS{te>g,)gج U3 055*c!5?=C yPLnhҪ>} ]":N b&0;4BU@(sŽpjFs"0' ;Q ,|%bwUb1GS5#25cneeWQָqF .-*/cїq[&)[ļC%J6kǶe|?hg,:,*JpFGTVYw%sǡa}MGxF}8ii7&MI,[>WO_~'='z#h'{?Sw~Z~~4?~t?l P3b0bHu(N_|i굃jwƐCPUrjb瀆W"k.\[`^!Xьr>>‰Mf+-gR DdlHK$4_CR Gye3EDp&mmV~8%WF|禽I aZfjʶmM 4ٶ:j+RIZ,ѻ@ammIZMLjXl/,+*@8fE`CܘEr6m<ɫU&"Fcm j4^5h|br%:uxbN_Y07VIPY$ZI:q>69T;qnUrKP uF!NzNy4oJ.7E% zHfdJ-.h+ktu۔yR^Άno=~(e󲀭ڍOvux_+W+^;&9UU*0{0!%.RzPEn<\u~3T[Nc*貿-C(We*'?H@r5T}˱0$v`a)Y"Q()!+Mgc#ETn$/)<7| յ ;)<[c80d=p.(bH1E?UFb~|KˣQBaqp>8gpAZ*F}H^>Z tઋ-Ch/Us:2;3G WG4 ~\J,B :8QӕK*!1AQaq 0@P?F G$L4Ж^K`Б!epm&;Ǫ-E촼Eh*MMmKL"5݀ 118$rh0@2 8`&2f@`ѱ&Ѿ(BuDZ}aDt]IVOIj\M3 C`ma4Aų"A- YORe]IԖ[Z[` ]DKdD&Khʶ6%&&&%%AEE5BA`1~G,u,'XD=*N#L eN]IBZ , E64HB)cub5r6@zT.ԩ_._˗0!N5"I/!G2 H]t~HAlm9W~l݇%0:µdiи8.B B-i3FM`1-b,XVa.Wl2= n[s;I_} 707cG&:f;IaZ%p@:m62:Z&GsB[prܺ"t1c31S);Jb44SU)b,%Xjٛ0ag $&9QRI˼t(&'n KA%K+>*eXDȹ (ћ rΌ q(6l&UcM!!03,WHyFX4.=,Ջ c>MK&vYI˽DÈk:\:~s .jx[|CBَIEXxZqJu)IB41,g,.6"{߸}6~xeCHrMrmcsmq~*'l6뼶=ĵn" E19ז$OF {0L:(wI'lǪ_qiקeAܿ#^#856X=af@N!lceم"~Ý-AN8dj:V+7f(+WA-`0mBRqO V`MsC0̿(@nLf^i͖_ŁD F|5 pwL' Xy}cs%uWXcF6Ւ20, )뵙ȍf@Iip .\eHJD! b&B (;0*_O-%,bti7Um=0)ef#;1 ~32F2[,ˤVL{ϣ kg]K\ĩMq ew==݆By);9};%ϼUv܂j40`3#wsq-kQ-HEj6eMXnF`F|S>n][S!7BVꥑɥw^P;W{Seu5K;0.!Jf_U3yNblKK%!4m*Q8Q5J=i-&j)aoD+(D(%b-c i (KSrcz!Uy NsEmTWUEq:T $ؖŁCC QvÏ {wTtN4eK:5fQeXaoGDSqsOBӱC|䫩x5^FHRZ;<=M kyƳ4F[xQko{lb] QB[~Z=#4M5K`]%h,vVt0-k-t+>bں1@:>I̡M@vi |穤On4ߚ3o /OAk0^(z+x2i^PI_r9qw Gl̃3CTHXpK"YoM= p2IWXl1&B%1 AViYb%  -ԹqEP(7D0&unm.m Z!79#" eR:E酈*̒0 a& [HCo5UBGo%q3JD759 nR8+pɺ}LSE^rzD>ac~-j=R"1)K{[d M2ŻK )~ʎ-(Ve)DaRlh:Q:J9f`;Dw{2ߜ?P:erU_ʘjQΤ1<^ȇ5qlZ'FFY;QsTn]g,ڞV"dպo,cջo. mO{`$3USu s^%5%^AY9c2{ʒqx1/[QSky <'G4 ;}m{Usxʼ$#[YRи~u(S2W(ʈmlJb/voK=,[-B6Dr]mLnB34zźS0mL$AB5Bzs^h^-S.@uq*03tFEf*A3T{D\-ʋ*QMxsg3!N?Dx(uR`o6ef[Elzy{[w}ebcKW'%Ta O}bu.͘trBm /)Hw:]m^hxoA6Z?1UwL :씁Qzc9:D };0^1ޡ2RǘWJr3msR.u?{64s٦PE`xY2p(oxO1+2}抉o͵^ w2xrOExNlǻrpO 1+C{^j<yo@^mJ 2GJ~_ Qti/"$iHR^dMLvq[ 1'S2'`SE!у?\sh֒-jcIcع Lk/WW =B`1Y256~Z\ 7^b#n~G-bփ|b(gnȁ>`/q[k|,' 6̸VtwĥRG?2S-Ƴ%E4byslyKy9C.ieJh1?!Zش{f`]e՘z+kֆ痋 D@AS~Datl>3iKn/B>_~+_z| d-jlJ;;GksP5Z$)K l<\} _pyxaM4~#Eu2E]K5,Ͳw]o<Z{@-c`K4d\=fj:qUL 1LQlo8o߯N`Tɬ3l&Ė`jK=֒2ǨJe}*;;1 ,[@ /hK5.U~LvNn6k~ݥAK (px:93!J؊c*#9r)3ZSi*NdN<ᣴ.c؍[Mb@e}u.ȋA(u=[UbDJ6d%ib!Pyg2^hsiܳ>"hqA ;u}yi|_T}b1oWrlԫIMot}pTl}[6ODc W'JmSQq"q)&(e{|BvY݃OAlx%- Xϧ?c-q4Xe܄H"deV0&)SK M6PAMlzǤ+%@5t:)%ƶp/h(bEe=:a3.?(S|gK}Q6w$/B4AqR>MbCǥuVukBl;TSgX\<گ7҄{)34 ק|}s2dWTDV?qkEJߵxI]8 iQ 2[ҬǾ9TiX_\, ^PӋfTx{F(we崙0S*.ix nk+ֽ@\J¢--%" ,Q6NW ;xMp=8--Tz KDKFnqCL%TB2j3YMŌ +v Y}zgNj/Q8Y/ZތswGaFipk>bauK}.4%㝥2З.ehU"v8s q F ~Ü1]L)0T07h@x/f~C27. C uzg/^QȪ`-J:Jb{K,pij5R;_fJbN]m9>xW3*߀E~ 6_!~@5#)1dx^ҹg? Grh9VbURYs1~Xϗ0('؋Uv摫TY[:KY Ix3fGbJM$B\-:47AkC r -S5L=Bm0aC'7o7&Ԍ&ugWkM_43V:gП3u=go^hSiOj>WMOOA4I|t9S)!1AQaq @0?$H BRPJ8O 4B}@Sqnv?,BAkvθHG  |=ܫ!), s+@Nnh#bV$ jzM]TB iNE RP1>ư~E59ɻ6K/>B($#j%郩%AsemH8 CddѰmJ. du 2nUODxMDJsL}q :鷍Ad@{6Bp3{ϠΌq2\l0\"u x}" ]'k_%}/7. JD!yI(0Xha g!lJ.؝nW`uAK@Hg5.˰LNI!"fFG şqUʤX'V=cNBnw"> Yg:\Z/.--@DJTR*TR_%BˈAoJ8q,m#9dQ= |CV"s~*)e2bEU1~'f3Et>afg>d  zC n|8fwq}wٖ\\|ڙ_IuRzAW }t|y/iA,O E@c&I%h'#蝴 YM:YD} \R}JJ*TJ*WҥC^QjZ2 )S@eN K*CCP:A)R2~`HDHxވKZJ-?1/[1clYcʰ^6mIP 7`.!Y#t‚&+5r׳ +6~`j7M,QR֨ົˑkV/0p_//h%Kp,9KAXu!:tk/9t<ףN+sīlӛƘN!" c%BrS3se*lW[uOO.'K~auݾB,?h੃l 4uي),KvRBRCR\C-lilirLn$1HB ɀHLWDs=* \F:P+$$7XԮ 8jB 3 Z̪ ! lDDfZ7rv&EeoExKF)a>%pUmW"+ΜL]lW[>̆}l_kr_cpQX5,0E2e c%* E K'1[li*و"҈dFJͦ#O1 9!9b/qJƬuj-|sI[&OyWXh2t'fd3F5\!U_1kU05~лikRϼ% gO]B0p9 YE[!6:pJ㻦`soVY_rT=!km24ߏh-EG?p˩)5ˡiz./b&unaֺu'Jrl޲Nmx#R8؞;Zӷ c[~8A++.%Y/޿~kXIV>OZ4˃iڏ)8=U[^ĺ}cDuZ2l<`q,W5g0sU6Y{fB_n!nE:B9`u7[BIkPL]Ao% L"pX0)Hhx;n@zG,n3ְip-Q(KF(cds#/`4P}lFgr{b fx1v5&5lRּn@QbF2xr%\#oGBxP0 Btj37ۯ %Aw3ֲ2Xz ycfp%_  K,nkWH[LӋj6#+r(R8l5q jl0Ǖ64MY>d;-%)en͎)r-V6p}l|-M9VwdW\dz'cJ(r +,];+ ^F)<0Z,]*]%^TB ˦0:9;W8:m¡Sbyڶ!?]+yWs-yow倠,qupvYA՜GQV)PJXn+3vxoW5 A0UV'2.闧3-Ƣ ]=X˺7|ŪTj;hg0VeV/%NzMOm\a7qY15i3ɸ7Zw)O[$f?PK8WB1LƢ t9T  C1V|xb1@w0\q c*h_h.!6?h.|JjUQdvExY^K+g5u\K#QQU>zAhʥv hqmo;*PrJ=@x YOPp⫌˱ہXo ])c#ӣD%DCeop!D/k1% qf^GW:f8T u"uU*1TX[Q\ v EB$iVګ,$R 68tCˆqٓO"ќ{__Lj;U^WԀ,t|*_<0x"ru|_S2kǘ<082 @i-,V}YvRY 3QzK.,E{_i}Tsw> M^zq ,iyz>\E[XJW 3}`RjJ+)Pn[M4+nT:je-md.-o^!6N >SDݞ,Ѓ\LF9O|܀.ß{Tʐ)Ӯ՛c-;bsr#. qߙFj+Cg{a2v;r6WX\פzҫzTy|^A[,ta]x̀= 3}H@sU#zpӮkzKeaKa4ѫ3|j6R q>EZx<.!y\UeC+ōZZu"Wda|bNU-T v\͘Zϵj=!B0ڪqunUX*,vaK'[c]9L4Ƀ*;R`)1UCIT RsrM uNZRm2iucmvs7LFՅa-Kt׺W_hfیu p S' Ζ nƭ9^;J A[t~O/0WjyیwΡPÊ&3Mfwb) `xm( Uki/Ϥ' t.m"kXX3Kn^ d^ٙ4B$Keb$"95@xϢ;8s0ѣ)A;9?DǗ{h`&lN0tz=~M7.4A\ܮAoV^}!1F [zqh:_Le>ݠRu]8#TP99{[ʍ`cRBۍwq˱Qܤ(sUQC=yR2b Ӝ}clya]yyW-MMK b+NbDS_:Q(9ayy1=yOq=V%)t-z]zˠ<\v۩gW|Ppb(̋S\J_Ѱ}=mD޷" R)^9֤y3&8=oNfU5tiȹm;4ąe7i, aeNV@-CfIV-T'fxgQ UZ{[8V˖Vq<ĥ"L4=emW-.˅l՛+e>ƪ5g:1`[Z麸~kB9GɖC4)b֠2vݺ#ȾL!և/ྑъ'i{nYko9Xk-^1_t)N/@yR1٨]gօ^+?`{iWO]{+_ftis߬O.RΫ)\2Ȯ^W]+Q3?!Ԋ*a8Ѯ,y5ryy(.!du)wNimǏ^f ܲ6D@R?].bw/>.-84|ijrL=&^b"m~2gAF B(neG 7oKrڑ K'nzQ_,ML 3?AJqKC!M%_-;@{ST& !xWɨ].CgRy5z<9Xtk0n MwZk}*S]vԻV$6P@Z֒27̯±bQ(ɭX۳n[ Xu._?҂v_gv*%p[M㠯ʰtL{"N| Xqg=b5їTƢ^Z h닯t:0DM+qKM(V8(jB@:@,TUGcÂ]棉]fUkݶӠ{]A<݀Kx:XN)(nή@;u20[ں"cxclFkUo/k8c kpbWaIsVo3F8[0Z_g[7vv\*HQ4_u6쟘}wmEskWӴz_1 z 5TWUF[.ӓ+M_sYc GZ(Zеe,bڧʇX @ ~e@TwՒUv^x+"!Gp [QakG:ysQ( FSWqx<5UD+-M<֩!u.0>kή)8[oAC <ӗ۬yI3@ :J W*ƪw3twj`=`m/Y+c)]b;dJ& bjc8dN̆A\xW)Ĺܢ\! dڄhv2 ̿LG\{177Gχhf}Nq]:p$qHxljn,}f?gv:c7fe j<%|/XMUֈN|zji.S Rš+j&D_^K8x•w->iJow[4{[_h|ջzK0ю!-Q~q*;&\n} Q꫾hv-}iУ!eжRk|Tc;Gb\yk1$ْG.)}(d@r+FfÅ`yOᡆXߣ\u^o13MSf ) d5UT^ p>ҘXt3 zgF=}`a +(#/WЕF/.l^^wc1U[;?f }8\.. e+⊢.aϫ9# !|i{@[ч9--k o e0SB&JZDأ`mlJ6KǷi1754~>5?NO9i6}-Q[vlϾM~١?>45> >'|}s_k^_)3_Q'};O ρ>;5O5'͟ k>7y|}'')!1AQaq 0@? cZzMf09byAsEb-6 e!Ԗp@|)U@BV:y`eD`I! 7Wc-BcCMD*fL,UfՔY\1f.Ab^Y 2|1,ImgŠdz&|$CqKbs/8ni!6,0eYAJkʦdPzߣLxŸ!LT880CtHX19L&&jc0u @ F,bWUx\pq"Y-ZI éVfA.a44.eǺʚEGW0-Q#\ΌGߨߙ)ܡ* +XS,/32?srTեiCo &sLũ}.a^;$ᜡ2H>R-08)5MI@0 KB:WL̴Op1و)~ #)O1j[)v5-Դd`]p ɢLx2ş0] Y^4 y%h_5_5ܳln.d#n'(s./3_^Ye*缿h2Zdݡuu{3*Cm3Hy|LIa~Ӝ;`jhm`@H I`qi3|)tP~|8 4KsoSsWD#GJm!-xjb2}Mݐj:!Y$qգg"e!@( ^I ~iT'6pªJi }"^θ3:򞡙wQ8-oKe˗֮T B0ߒr|\^u4~' ;ϸ`da?p,Xj. 4 >>7w[q;P̟ks/WPwdB Pܷ]97T8jf/ '#h3LP%r\O1 Pf$GǕ ^*OhĤ{s)ocK&AMW9pmw?ػi--AHCkң5AEz8jehxxe9KرlJ1zF K Vo*E!-8>saM1vY4|N͹1D|K4W zAۀM5`r(οʕ!__mIjk0m2%jW[s6 .ofHuN8(N9gYј Gpm0MTiǼjot#V&,6sĻiDaML=E+ ~MYodC(=6q7Rk(+A KѨq}7l5a`PT}z["K ) 8t`+}OpahQL/{HFr}%'8z,; ģSx n# vPU ](#Zz+Q`' 'G1U4@w"B;@_ !px`@HDPحK6j 1QFv7g p 0^}8&flaeoHyj4Ֆv;5P_ŇzN}ejP%K:-gko̩r)Ȩ]'q&vUhAx>X 4RlG&p8Xcu>TL+R_!L9#ѨW*R|hqh.X ߆ia@K,QW&<R2W-,h#fZP`JOB2 ,hܒ˜`"# m( $Bԥw̜b*>UEPSğ@"66F ysB+_hJAt q6-VY W2o8PTS/N~'#ivxSʇw:"M;e/G2ߊ^,U% J K&EWI4_LQ=or70\ov,A!2`Cb0^X%zD1FEleʥE rp4K3lb' [ptBFdˋ/jF}I"yGuePMm?"=f"-D:B-2r2"OQTY{=R̊'ރ"UU§AhɤWx^`+&1::_Hu6n34|TZukIA[1`(1iS[hqWkVɓ<$g|% r1zQt*'HHTvתp[5źU]=Y Iaihlε(vU5l^0*!Ԗ3y'w}<3-mv]J>5`+(1J@+{,Gܠ- TU˪/,B L 9@@ 듌C ͋Xrv,m\IY+nY 2(1`- 2RjrW *r쯵Y*U(fSX ux>nM ՃcBrL19A qmɺ1P d|2\p1:n_PC+bh\,#=K T`8APgw9#k"y%T#SsRM5{YϨ-j^0&brڞm~ +]aOW8%uCwLm0S4*jxD3*nl4V5y7㐵9:Jބڏ}IpHex_IkQIWs`x>VyXbXhwY5&K \ԷH c{-d)b剏iJ*R5VQ}2z!"@j:@K]Uqa0*rRP MRFH$3Eq4-KO 4#/zj0("}9I4 BϖUmj%t(*t"}CPc-י[EB|XU_Q1`Pʃ61% n#lGj ~dG`Ԯhw@~cctTd@Kz4~(Ke̶xo'Ee= @ώw@ܺ]嚍E^J#9ीtVi<%) U^lAg#ByU"-!3f'88ؼF;9I^nKp+Bɺ!)ǨT6ꂲBa*fw!BuSƖTK sQտb2RI!WqƎ.0b7e 4eRVVts*Kye.GL?(tXhx;= AN+ơ|C!YV&/P_ ^ /1PZANa7{CPA׊-P@[.<:0Jg~j4ԮRQa|sg\;۱sڶKKgt |jc}5](}-B(̚,<ܑ8 ͼ鐆T{2R]bU, 2@ Z*i5v|}Qf+w`ƊA dRLk1.`|=]F̞Aj Q~5\D E0zʏ#3h:A)P*b!8nUox[vW'{-=wS%Տ-q|Fc/->*ƢmurR@>1KvLM% 2E(9w&2x} ,R;ZTB yb|!ˁ|W"ܰaNUHS(}j_Lixs*4޸J%D,әEa*,R(a))EFܸBCz7P8 ~_qudbꎁs+IԸ KrJw3Kj! ?HTʴپ2+ޏ昍-3$\8Ofp+)KIG PҚ1B7fbn 7*A,b-Ŕ3q ]B*Be@F^J׊A'Me29.r[4q!^+0h:kH%2/⡢4Y2BmYPQ~VQ@-Zkon}LaC(B F4c_.\E>uA b,8=3".d,h a^XF걏ʃLڭ]-}8ogYsQ-4<_Tֱ#ns1$3[rЄ!Fe%T V^m=-e\|AP 2Ua-*{hlk9UcRg(_1LR^΁}}CNnbt+he4K$XL5 Ŧ]jh1%bXн.%,U KSL aSeIHNSNJT(1`oKFܸU¸=L@Krw0`YhPz8#l)=Kl9ռEr@t`0J6ZlDon?C>:&᯽K,K337.(S-<0K,KXT!-L) -DpZctRGFJkǚvQ7]q 1;cl=om 2bTa1R73aol|1 DRy{4,lB+X\6( Юe *N|:CxG/+bβxg$T%Iz}X( z : :/T826€m?HZRZU&̃h MBP] ر\0&Uy `T `EmVXwbR.2:l4 -WBJ3 j|ʶUڌW|JdmHCP+k` ^aP7P@-A̱ߪ{.&º- xaLMAK슨Z!n7M& O (Wőq%濨 2<ucTrrϙN`K GXPO`.5Ζ:]!,\1)+9~`]_1XuQL'p4!rK3AW2JB\h!b`ʙ6~X[w_ROmb6k a~x6ThkUza7FHmĬcjبøI*lx&廝)9uR/x I-ot(-Ff%b4Դ<@m9`nUF2+rJxL'6S-C%Z7K,ө[k]H++J`{%?,`!^Ҏ}l(ziRPձj6xtn +grYX- 8Pu[ K׵9z`f^zcb(N5<0=M(lUa``[ri _EÐ۳\9:U#* wMRojg ں FU63I_{(n4Տ*x\„P),Q- I՟G6&8Խ]em_U4mFK%UZjTBRԇwP` (#x(J $U8cL2 Vev)y0eT/\>j-WA^Tyfe UxMSlzH(g+tI<2}4~|cgSQ]PIܮ)m 1Kt("1 G(Av ZH7()ĺ rU1j.e*+D/ut Z>ZZĻDCj7s`b#ciL#ay'V4߸ }:O,:f`h,pVH@ |A#a5h_kPX,/ν =ߜKh1Xor+~3Wwfx>0!eҏ~tRW4AwESeϠ.V#&MŹ^5Cq%h  .ݢ[! #j'AptW?V~\@P.g `O@ WN;u ƺ%/^![]ZT@[bdaB+6FuR)MU}LX,tb]1)ZTA4zSfBʇk5u c7vͦflGDu7g vM~M3gMtISS77fO߯??M?oO'?Ro ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/images/rocm-logo.png000077500000000000000000000235321511656052100304450ustar00rootroot00000000000000PNG  IHDRL"! pHYs,J,JwztM IDATxU$GОk04 @4B4X ڂ-`),=I"3F>9YY_捸o߾%f"q'#0tR:q&{|R:M)]9= OL`SBd$0xĬ LFhb&Bhb&Jhbv&!41+<ݽۺ.RJXܜZ_O) *=o))-Ī _wsA~'G`/ܤWzG,_=גtOVgҹ g"S/(b/iغ@uy볦9*M4O`z^\6CW0tPAZ.4:U[<@cJϔҿr`̯qC1iA,0},ݬڡ燆2@;W|o#4${UxUVK7p~O)3W.0�}t8mvy*y\{\ n'oM&0j2\ibf-V: M%0;:hǡp Ŭ'Ml 44fOd˺N,0\U BLĺ>S;\YAg_&B{`[ eݥ-¬%I^g/ﴄ&˜{`r9`3זts}8nLY4,I3Ȗ(byQ}irB՛s`k eS{yߍдcá {yo6ڜh%̡&Ф&5ow e\눧}8}^g4&4#Ɖ՛KPnD [{UڇC]=iӱfTօ2ߘld&1nQ?lN^u3&!OiNFh s Ly:JeFk: `m'Bd&&7$ [J8ȕ;4k !4MGhbROdK)st(4BsMLfNIRNfzUڇC{N4I$T [J4_7kIph+)&%}Q a faNkջnw vTkYu9j5u}8x}+o&W׎\(4{\aߝ3J[4tqq}8:<>(s=e7!419aҺV;07+aYu/)/yy=M e2:iΜq~O=bRBi=0=lJ;<:owJהLӎDIy lxx"W]s Nׁ Mr`:ulee,ZNr? 8}4orBE(F9g1ƺ.o|^Km(R{wP7ˤ#/+8[{7 4QD)҇T>A5yRJw s]f M?_DH"m= lWePG<m^Z%`GhC)R|:R0vRY5s78a /4v?EZc-c0˼D/ҍר2ApHVSAw241k -k%4Z`Ԕ`us}J˄Dz.ẅ́BpLk&Z`2HU&lN~o 4=Rhzo/R`.WV]8c9ȕBQ^LФAkA`a峠`nY`4J`!pAiY^Rebd'>곬2{j%0E*s_yYnc8P5y7_yFZ$=,¶ZLJ-,/gxk1ԎQNmF-yxC`M!0Ȗ)\\Ea@Ʊk8^zI*ALaPS `ןb|xEEL o BZj MڇCXg[2 GX)Ru3^b-`6 YY'0 CXbSfhsZ2kE{',1ȁ)R kj-S:ych7k deF95{蛽l~2_ЖU& aE Lњ=l|}d.^tmZe:5aQD L*ͼhU&YNϐsáYׁ;Up Q K&b`jS?d˔v{.C'4kaLUC*dK YK0 Q\"g/, [j2gf6t0aID LsiM/luUQg\Lo#,1h)RuiK/1Ȗ1HUF0&%,1Hi7XMg/"]dۭ*a|7Z]2aE LU^0Ȗ-~q's<Xe KT!R`>іd210|HX ;~$,Q((7b`s;Ebm|gZ۷(/50=aD L.\`-S8 ڲ7_%"gaDLњ=|)4{uMٶaBӰ~ j%y!,QIuG2E~?j7>+(bțCCXbSKch vܺ:;%V{`av7k1ގ[ƋB({c^)12D2dۖ˼߆hE}?ƉD5hFup*S[εߚ0h#8HX"m7ȶ=:mLp`՜%B90EFߌֱh7>aXoF%0 KSk`aK}mdף}8 Ͼ: KTk`2{]xd&*+0Sa5{kR[]ov/sFqxmK%B10EZ>lv{̯y˄`S=%WK`Dvi7Ǽ\16%P[`:ᮢNFܸ%VK`R]*'bqlvڇC=taDjL= hݸ6n=aY!0E.4{OZGƵFXb6E( x hݸP#ɠ%feC t [jJ/ڇ3#,1;ShW_El`Do7~',A"XIXb L=Dkt^:iu',1[ShwϘhƅ%[K5Kڔ)Z%!ZXJyȗ ciP j\iry.Xd;Oڍ ̉K^80Erxzu^NA󴨼sޕYKB%y5 "0;Db-Q8"^׶IXSїD+n|VN86|iOL^"X*|]BSbeRsSXJT 1'Dcwx! 0t`ڵ eYv`Ўb1:0k@a:=lxF"bY~vWp+LPQ̺ƵTQ  Bc;Lڰ3'!f M,:}84ᢁk *0Yk10;7IƢ0|GoV3D`R]b,'ymZXo9S:0it]7zJt`쁱 Lm >vxP╱d Ю˼_5{J&i),%UWT hKkaiY]8 L=05w Z KwџjĺAꆷJuizs?[k7 LQs B:nhSK}'`CWk߷V?%=$05lbhXZjrM5D`rGvpl7yG:DPNi1 LuU?_ra_-m:ͅm1Nyݿrݩ.Pi*4mͧFq*ō;):̈́mi@A6Lx:jSYa7K LP3ZG4CNдi`̍3`xca:4mV #O [rs@BLH}Nݤ#1R'lh40Elp%,m2h`:^ta^INH)]W||j 6 LQ= ٗ-ά'*\B͓W] dʰ 6i+qӃˠK ٷD 5N]A k`7:aBӺ) Qϣ%y(h@5Nдn`xZ1Q@!]X2jKC:8hեr֛>%":UuS} /5vl`D KjC[~Жf/w9F&%":U&%VE2NVDKBSˁ\m[-WT KBXT6{- lhU,YO-N5-)uYA]!,AaSEhz-0EmK?-44n4&}ͭ—n=$,%4=Nph^Ad5(YOTM})"եi]MiAVKo7hhzsh-Ͽ2 GIP MOS!rF +CY%lXײ%I۝g M?^$~1{J)豟Y0nIMĎ9םߓMR>Q:>lœP7Vzrpt4j`ln`R.+L^[yA>tL$4C;%r(<{'Pyoyaizk}5E#,G 9a>on9.0pz)4 L0 a~& x14 LPOoha)gCeK&؞ԎBlAXjy]0f0׍~cEcg ?}x%y=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zL=&@ C`!0zK)Uk>mb0璉*8k~F7R:wN;P ei)<-YJ8Wui7mKX^Rwxr_)(пy uvsb? K@ISL'yU,K&uEQuASJigO%0$)|xiDpܟ| A Lm?˼\m}!59ίyK Lma N*8^9?W5[זt{i ^(]1|FԞ*MRL'ca Ԧ 6Y畁SThԦ|9U<ئ| g Ԯ\O~#*u0%mr1H۔:A3 7 LYLM`jɈPN2.r2Aiw%O`ZDD7lr@`1ӾKM; @<Ӻ@s?q5an{oG8_^} @%r΍ӼѾ~L_9qn^54F`*Zz̟Ok$Nn];WYXu~N ΡO|-ꪰlD`"_>:¡S_FlRѺE>XKV{Ra`cSg y[崰T^wc $.Z=m LwʷUR AT D 00FqN!RG* @ @ C`!0zL=&@ @SJ 2.pi7?N߽K>RJ%y69ce8oYy:-4@Xs} w6&0NҲK6M^2{~1(=A( ^vTb23Wg6q8q{j'k&V;ϕ| d^CrVy: C@o MyD U>{%0s714]h{> ?#u+Eh"0*jV/T"TʞɡU#`r|otSIN+m !e?`uiœ\u0ܨS*IDATK}".)"0O@SʁiA^Z0 ~ݷ| CSK B`[ɹ$~pX`:<TpN 0{ 6K,Ļttli@-`_j6y3r)%t8cK) LQރ=Lo2ܟ>曩^>On$o.~*ׅSJuzvWwN` U"/+ F'0r D&0olO0@HFAԲh ,]KaWÒ<vj A==W@S[R< KP;3i)? fU&4m@`bwڌxa] f'4 NRJ5>Ph4җE F 0teZ,B`Dzo* L`mKwVLY 4ok~4˔]Wʴl3~@4mƯ UU&4 0 fO`m!l7 ,C7 |BCg(A`bG?ZmFq[8w&iZ6_ A~oqSً5RdEt SL+]e0QRM,.TZЏ~H\”rU-2U`bh3>ŝR;XeX\$ki~?; g9 :\Y'<RJ#^`7WǒJ~?nG{LuX EuO9 {X>*v .M  Kq^xS#v_F )p Lu)Am\ȸ~nu 0z6c^ Lmzs?{`mS}JWޏf~Lo}& GsVp&ӻrxNLF`yб7υ@S*4D8qx'MX6`z] f|c*UT."0ѝGzċlBhnF!ou `TSnX6fVh Kc}# TUyX8jKijs0~M>1L)} vUyX,r/xmnU~Sm{dV-_?n)Fl3<7lZ9.+AM>~!e c_u+<`U>&0Rt2q.8ea69$jo=s@ ?}ml/jT:Nd%>c?ԥ|SwP껹ρ_|0JiseIENDB`ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/rdcMisc.js000066400000000000000000000065421511656052100265150ustar00rootroot00000000000000function fixBreadcrumbItems() { const breadcrumbItems = $("li.breadcrumb-item:not(.breadcrumb-home,.active)"); const breadcrumbBox = $("ul.bd-breadcrumbs") breadcrumbBox.data("maxWidth", 0) function adjustLength(item, container, factor, getTextItem) { const textItem = getTextItem(item); const lines = (x) => Math.round(x.height() / parseFloat(x.css('line-height').replace('px', ''))) function getMaxWidth(container, itm) { const startLines = lines(container); const initialText = itm.text(); let maxWidth = container.width(); while (lines(container) == startLines) { itm.text(itm.text() + "\u200B."); if (container.width() > maxWidth) { maxWidth = container.width() } } itm.text(initialText); return maxWidth; } const containerMaxWidth = container.data("maxWidth") || getMaxWidth(container, textItem); container.data("maxWidth", containerMaxWidth) const fullText = item.data("fullText") || textItem.text(); item.data("fullText", fullText); textItem.text(fullText) if (lines(item) == 1 && item.width() < containerMaxWidth * factor) { return; } const words = fullText.split(/\s/); let newText = words[0]; for (let i = 1; i < words.length; i++) { textItem.text(newText + " " + words[i] + "..."); if (lines(item) == 1 && item.width() < containerMaxWidth * factor) { newText += " " + words[i]; } else { break; } } newText += "..."; textItem.text(newText); } breadcrumbItems.each(function () { adjustLength($(this), breadcrumbBox, 0.82 * (breadcrumbItems.length <= 2 ? 1 : 0.5), x => x.children('a')) }) adjustLength($("li.breadcrumb-item.active"), breadcrumbBox, 0.95, x => x); breadcrumbBox.data("maxWidth", 0); } $(document).ready(function () { if (window.ResizeObserver) { document.body.addEventListener("bodyresize", event => { const { contentRect } = event.detail; const { width } = contentRect; if (window.prevWidth) { } if ((window.prevWidth && window.prevWidth > 960) && width < 960) { $("input#__primary").prop("checked", false); } window.prevWidth = width; fixBreadcrumbItems(); }) const onResizeCallback = (() => { let initial = true; let timeout; return entries => { if (initial) { initial = false; return; } clearTimeout(timeout) timeout = setTimeout(() => { for (const entry of entries) { const event = new CustomEvent('bodyresize', { detail: entry }); entry.target.dispatchEvent(event); } }, 200); } })() window.resizeObserver = new ResizeObserver(onResizeCallback) window.resizeObserver.observe(document.body); } else { console.error("ResizeObserver not supported.") } fixBreadcrumbItems(); }) ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/renameVersionLinks.js000066400000000000000000000014141511656052100307400ustar00rootroot00000000000000function renameVersionLinks() { $('div.rst-other-versions dl:first-child a').each( function () { const text = $(this).text(); const versionRegEx = /^.*((?:[0-9]+\.){2}[0-9]+).*$/g; if (versionRegEx.test(text)) { $(this).text(text.replace(versionRegEx, '$1')); } }) } function waitForSelector(selector, callback, backoff=100, max=15) { let tries = 0; const waitInterval = setInterval(() => { if ($(selector).length > 0) { callback() clearInterval(waitInterval) } else { if (tries++ > max) { clearInterval(waitInterval) } } }, backoff) } $(document).ready(() => { waitForSelector('div.rst-versions', renameVersionLinks); }) ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/rocm_footer.css000066400000000000000000000023541511656052100276200ustar00rootroot00000000000000footer.rocm-footer { background-color: #000; color: #fff; padding: 1rem; z-index: 1999; padding-top: 0px; padding-bottom: 0px; } footer.rocm-footer a:not(.klavika-font) { color: #9d9fa2; font-size: 0.875rem; line-height: 1.25rem; margin-bottom: 0.625rem; text-decoration: none; } footer.rocm-footer a:not(.klavika-font):hover { color: #fff; text-decoration: underline; } footer.rocm-footer a.klavika-font:hover { text-decoration: underline; } @media (min-width: 768px) { footer.rocm-footer a.klavika-font { pointer-events: inherit; } } footer.rocm-footer section.menu ul { list-style: none; padding-left: 0; } footer.rocm-footer .bottom-menu ul > li { display: block; } footer.rocm-footer .bottom-menu ul > li a { font-size: 0.75rem; line-height: 1.125rem; } @media (min-width: 768px) { footer.rocm-footer .bottom-menu ul > li { display: inline-block; } footer.rocm-footer .bottom-menu ul > li:not(:last-child)::after { color: #9d9fa2; content: "|"; margin-left: 5px; } } footer.rocm-footer .bottom-menu .copyright { color: #9d9fa2; font-size: 0.75rem; line-height: 1.125rem; } @media (max-width: 959.98px) { input#__primary:checked ~ footer.rocm-footer { z-index: 1000; } } ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/rocm_header.css000066400000000000000000000456731511656052100275650ustar00rootroot00000000000000header.common-header { width: 100%; font-family: "Open Sans", arial, sans-serif; font-size: 1rem; line-height: 1.5rem; margin-bottom: 0; /* readthedocs flyout z-index is 3000, setting header z-index to be below 3000 to avoid covering the flyout. */ z-index: 2000; } header.common-header a { text-decoration: none; } header.common-header .navbar { background-color: #000; box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.24); color: #fff; padding: 0.625rem; } @media (min-width: 1200px) { header.common-header .navbar { padding: 1.625rem 2.265rem; } header.common-header .navbar-toggler { display: block; width: 0 !important; margin: 0 !important; } } @media (min-width: 576px) and (max-width: 1199.98px) { header.common-header .navbar { padding: 1.625rem; } } header.common-header .navbar.second-level-nav { background-color: #1a1a1b; } @media (max-width: 1199.98px) { header.common-header .navbar.second-level-nav { display: contents; } } @media (min-width: 1200px) { header.common-header .navbar.second-level-nav { padding-bottom: 0.4rem; padding-top: 0.4rem; } header.common-header .navbar.second-level-nav .header-menu-links { padding-bottom: 0.625rem !important; padding-top: 0.625rem !important; } } header.common-header .navbar.second-level-nav > .main-nav .navbar-nav-container { box-shadow: none; } @media (min-width: 1200px) { header.common-header .navbar.second-level-nav > .main-nav .navbar-nav-container { padding: 0 1.625rem; } } header.common-header .navbar.second-level-nav .navbar-text, header.common-header .navbar > .main-nav { padding: 0; } header.common-header .navbar > .main-nav a { color: inherit; } header.common-header .navbar > .main-nav a.dropdown-toggle:after { display: none; } header.common-header .navbar > .main-nav .header-logo { align-items: center; display: flex; order: 2; padding: 0 0 0 0.625rem; } @media (min-width: 1200px) { header.common-header .navbar > .main-nav .header-logo { padding: 0 3.5rem 0 1.625rem; } } @media (min-width: 576px) and (max-width: 1199.98px) { header.common-header .navbar > .main-nav .header-logo { padding: 0 0 0 1.625rem; } } header.common-header .navbar > .main-nav .header-logo a.navbar-brand { display: inline-block; margin: 0; padding: 0; } header.common-header .navbar > .main-nav .header-logo a.navbar-brand:hover { text-decoration: none; } header.common-header .navbar > .main-nav .header-logo img { height: 2.25rem; width: 5.3rem; } @media (min-width: 1200px) { header.common-header .navbar > .main-nav .header-logo img { height: 2.125rem; width: 6.875rem; } } @media (min-width: 576px) and (max-width: 1199.98px) { header.common-header .navbar > .main-nav .header-logo img { height: 2.125rem; width: 5.625rem; } } header.common-header .navbar > .main-nav button.navbar-toggler { background-color: #000; border: none; color: #fff; margin: 0.625rem; order: 1; padding: 0; } header.common-header .navbar > .main-nav button.navbar-toggler:focus { box-shadow: none; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon { height: 1rem; position: relative; transform: rotate(0deg); transition: 0.5s ease-in-out; width: 1.4rem; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon span { background: #fff; display: block; height: 0.25rem; left: 0; opacity: 1; position: absolute; transform: rotate(0deg); transition: 0.25s ease-in-out; width: 100%; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon span:first-child { left: 0; top: 8px; transform: rotate(45deg); } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon span:nth-child(2) { opacity: 0; width: 0; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon span:nth-child(3) { left: 0; top: 8px; transform: rotate(-45deg); } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon.collapsed span:first-child { left: 0; top: 0; transform: none; transform-origin: left center; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon.collapsed span:nth-child(2) { opacity: 1; top: 8px; transform-origin: left center; width: 100%; } header.common-header .navbar > .main-nav button.navbar-toggler#nav-icon.collapsed span:nth-child(3) { left: 0; top: 16px; transform: none; transform-origin: left center; } header.common-header .navbar > .main-nav .navbar-nav-container { background-color: #1a1a1b; box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.24); height: auto; order: 3; overflow-x: hidden; position: fixed; right: 0; top: 3.5rem; width: 100%; } @media (min-width: 1200px) { header.common-header .navbar > .main-nav .navbar-nav-container { background-color: unset; height: auto; overflow: unset; position: inherit; right: unset; top: unset; } } @media (min-width: 576px) and (max-width: 1199.98px) { header.common-header .navbar > .main-nav .navbar-nav-container { height: auto; left: 0; top: 5.5rem; width: 60%; } } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav { flex-wrap: wrap; margin-bottom: 0; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav.nav-mega .dropdown-menu.mega-menu { background-color: #27282b; border: none; margin: 0; padding: 0; } @media (min-width: 1200px) { header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav.nav-mega .dropdown-menu.mega-menu { background: transparent; top: 65px; } } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li { list-style: none; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button { padding: 0; text-decoration: none; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links { align-items: center; border-radius: 0; border-top: 1px solid #27282b; color: #fff; display: flex; flex-wrap: wrap; font-size: 1rem; font-weight: 500; justify-content: space-between; line-height: 1.5rem; padding: 1rem 1.625rem; text-align: left; } @media (max-width: 1199.98px) { header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links .chevron-up-down-icon, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links .chevron-up-down-icon { text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; display: inline-block; float: right; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links .chevron-up-down-icon:before, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links .chevron-up-down-icon:before { content: url('data:image/svg+xml;charset=utf-8,'); } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links.show .chevron-up-down-icon:before, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links.show .chevron-up-down-icon:before { content: url('data:image/svg+xml;charset=utf-8,'); } } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links.show .caret, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links.show .caret { transform: rotate(180deg); transition: all 0.5s ease; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.header-menu-links .caret, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.header-menu-links .caret { text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; fill: #fff; content: url('data:image/svg+xml;charset=utf-8,'); display: inline-block; height: 1em; transition: all 0.5s ease; vertical-align: -0.125em; width: 2.125rem; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level { margin: 0; padding: 1rem 1.625rem; } @media (min-width: 1200px) { header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level { border: none; box-shadow: none; font-size: inherit; font-weight: inherit; line-height: inherit; margin: 0 3.5rem 0 0; padding: 0; text-align: inherit; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level:after, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level:after { border: 0; border-bottom: 0.125rem solid #fff; content: ""; display: block; margin: 0; padding-top: 0.25rem; transform: scaleX(0); transition: transform 0.25s ease-in-out; width: 100%; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level.show, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level:focus, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level:hover, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level.show, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level:focus, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level:hover { border-left: 0; border-right: 0; border-top: 0; outline: none; } header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level.show:after, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li a.top-level:hover:after, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level.show:after, header.common-header .navbar > .main-nav .navbar-nav-container ul.navbar-nav li button.top-level:hover:after { border-left: 0; border-right: 0; border-top: 0; outline: none; transform: scaleX(1); } } header.common-header .icon-nav { background-color: inherit; order: 4; } @media (min-width: 1200px) { header.common-header .icon-nav { padding-right: 1.625rem; } } @media (min-width: 576px) { header.common-header .icon-nav .icon-item { margin-left: 1.625rem; } } header.common-header .icon-nav .icon-item .icon { text-rendering: auto; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; fill: #fff; display: inline-block; height: 1em; vertical-align: -0.125em; width: 2.6rem; } header.common-header .icon-nav .icon-item > a { color: #fff; font-size: 1.27rem; font-size: 1rem; font-weight: 500; line-height: 1.7rem; } header.common-header .icon-nav .icon-item > a:hover { background-color: #27282b; border: none; border-radius: 5px; padding-bottom: 0.625rem; padding-top: 0.625rem; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu { margin: 0; min-width: 90vw; transform: none; } @media (min-width: 576px) { header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu { min-width: 29.625rem; } } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu li div.dropdown-pointer { margin-left: auto; margin-right: 10px; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content, header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox, header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item { padding: 0; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item:hover { background-color: inherit; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(wrapper) { background-color: #636466; border: none; flex-direction: row-reverse; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(wrapper):focus-within { box-shadow: none; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(input) { --atomic-neutral-dark: #fff; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(submit-button) { background-color: transparent; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(submit-button):focus-visible { box-shadow: none; margin: 0; outline: none; } header.common-header .icon-nav .icon-item.search-dropdown ul.dropdown-menu .dropdown-menu-content .header-searchbox .dropdown-item atomic-search-box::part(clear-button) { background-color: transparent; color: #fff; } header.common-header .icon-nav .icon-item ul.dropdown-menu { background-color: transparent; border: none; border-radius: 0; box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.24); padding-bottom: 0; transform: translateX(40%); z-index: 1999; } header.common-header .icon-nav .icon-item ul.dropdown-menu li div.dropdown-pointer { border-bottom: 0.625rem solid #1a1a1b; border-left: 0.625rem solid transparent; border-right: 0.625rem solid transparent; height: 0; margin: auto; width: 0; } header.common-header .icon-nav .icon-item ul.dropdown-menu li ul.dropdown-menu-content { -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); background-color: rgba(26, 26, 27, 0.63); border-radius: 5px; color: #fff; list-style-type: none; margin: 0; padding: 0 0.625rem; } header.common-header .icon-nav .icon-item ul.dropdown-menu li ul.dropdown-menu-content li { border-bottom: 1px solid rgba(71, 73, 78, 0.53); padding: 0.625rem 0; } header.common-header .icon-nav .icon-item ul.dropdown-menu li ul.dropdown-menu-content li:last-child { border-bottom: none; } header.common-header .icon-nav .icon-item ul.dropdown-menu li ul.dropdown-menu-content li a:hover { background-color: transparent; } header.common-header .nav-mega .mega-menu.show .cmp-headermenu .cmp-headermenu__tablist li a.header-menu-links:hover { background-color: inherit; } @media (min-width: 1200px) { header.common-header .nav-mega .mega-menu.show .cmp-headermenu .cmp-headermenu__tablist li a.header-menu-links:hover { background-color: #fff; box-shadow: inset 0 0 5px 0 rgba(0, 0, 0, 0.24); color: #000; font-weight: 500; } } header.common-header .nav-mega .mega-menu.show .cmp-headermenu .cmp-headermenu__tablist li:last-of-type a.header-menu-links:hover { border-radius: 0 0 10px 10px; } header.common-header .nav-mega .mega-menu .cmp-headermenu { border-radius: 0 0 10px 10px; box-shadow: 0 8px 28px 0 rgba(0, 0, 0, 0.24); } header.common-header .nav-mega .mega-menu .cmp-headermenu .cmp-headermenu__tablist { align-self: stretch; color: #fff; display: flex; flex-direction: column; flex-wrap: wrap; list-style: none; padding-left: 0; } header.common-header .nav-mega .mega-menu .cmp-headermenu .cmp-headermenu__tablist:after { -webkit-backdrop-filter: blur(30px); backdrop-filter: blur(30px); background-color: rgba(26, 26, 27, 0.63); border-radius: 0 0 10px 10px; content: ""; height: 100%; left: 0; position: absolute; top: 0; width: 100%; z-index: -1; } header.common-header .nav-mega .mega-menu .cmp-headermenu .cmp-headermenu__tablist button.header-menu-links { border-top: 1px solid rgba(71, 73, 78, 0.53); } @media (max-width: 959.98px) { input#__primary:not(:checked) ~ header.common-header { /* top will be ignored when statically positioned, so this only applies when the sidebar is opened and its used to animate it to its place. */ top: -5.5em; } input#__primary:checked ~ header.common-header { position: sticky; top: 0; transition: top ease 0.25s; } input#__primary:checked ~ div.bd-header-announcement ~ header.common-header { position: fixed; } } @media (min-width: 440px) and (max-width: 1199.98px) { div.bd-header-announcement ~ header.common-header nav.second-level-nav div.main-nav { width: 60%; margin-left: 0; height: 0; } } @media (max-width: 1199.98px) { div.bd-header-announcement ~ header.common-header nav.second-level-nav div.main-nav { height: 0; } div.bd-header-announcement ~ header.common-header div.navbar-collapse.show, div.bd-header-announcement ~ header.common-header div.navbar-collapse.collapsing { position: relative; top: 0; width: 60%; } } .header-all-versions { position: absolute; margin-left: 90%; margin-right: 10%; } ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/search.js000066400000000000000000000004661511656052100263750ustar00rootroot00000000000000// Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav. document.querySelector(".search-button-field.search-button__button").addEventListener("focusin", () => { const event = new CustomEvent("readthedocs-search-show"); document.dispatchEvent(event); }); ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/static/theme_mode_captions.js000066400000000000000000000011241511656052100311260ustar00rootroot00000000000000function modifyThemeModeCaptions() { var themeSwitchButtons = document.getElementsByClassName("theme-switch-button"); for (var i = 0; i < themeSwitchButtons.length; i++) { themeSwitchButtons[i].setAttribute("data-bs-original-title", document.documentElement.dataset.mode); } } function addModeListener() { const btn = document.getElementsByClassName("theme-switch-button")[0]; btn.addEventListener("click", modifyThemeModeCaptions); } $(addModeListener); $(window).ajaxComplete(function() { setTimeout(() => { modifyThemeModeCaptions(); }, 3000); }) ROCm-rocm-docs-core-6244b47/src/rocm_docs/rocm_docs_theme/theme.conf000066400000000000000000000004511511656052100252460ustar00rootroot00000000000000[theme] inherit = sphinx_book_theme [options] body_max_width = none home_page_in_toc = False show_navbar_depth = 1 show_toc_level = 1 flavor = rocm link_main_doc = True # Generic theme options header_title = header_link = version_list_link = nav_secondary_items = license_link = license_text = ROCm-rocm-docs-core-6244b47/src/rocm_docs/theme.py000066400000000000000000000226561511656052100216320ustar00rootroot00000000000000"""Module to use rocm-docs-core as a theme.""" from typing import Any import time from pathlib import Path import requests import sphinx.util.logging from pydata_sphinx_theme.utils import ( # type: ignore[import-untyped] config_provided_by_user, get_theme_options_dict, ) from sphinx.application import Sphinx from rocm_docs import util logger = sphinx.util.logging.getLogger(__name__) MAX_RETRY = 100 def _get_version_from_url(url: str) -> str: headers = {"User-Agent": "alexxu-amd"} try: retry_counter = 0 response = requests.get(url, headers=headers) # Retry in case of failure while (response.status_code != 200) and (retry_counter <= MAX_RETRY): time.sleep(5) response = requests.get(url, headers=headers) if retry_counter > MAX_RETRY: raise requests.RequestException( "Unable to acquire version within MAX_RETRY!" ) return response.text.strip() except requests.RequestException as e: print(f"Error in rocm-docs-core _get_version_from_url: {e}") return "" def _parse_version(version_string: str) -> dict[str, str]: """Parse latest_version.txt and output a dictionary of site_name : latest_version. Example: {"ROCm": "7.0.2", "AI-Developer-Hub": "v7.0", "ROCm-DS": "25.05"} """ header_latest_version_list = [ site_version.split(":") for site_version in version_string.split("\n") ] return { site_version_pair[0].strip(): site_version_pair[1].strip() for site_version_pair in header_latest_version_list } def _add_custom_context( app: Sphinx, # noqa: ARG001 pagename: str, # noqa: ARG001 templatename: str, # noqa: ARG001 context: dict[str, str | dict[str, str]], doctree: object, # noqa: ARG001 ) -> None: latest_version_list = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/latest_version.txt" ) context["header_latest_version"] = _parse_version(latest_version_list) header_release_candidate_version = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/release_candidate.txt" ) context["header_release_candidate_version"] = ( header_release_candidate_version ) google_site_verification_content = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/data/google_site_verification.txt" ) context["google_site_verification_content"] = ( google_site_verification_content ) def _update_repo_opts(srcdir: str, theme_opts: dict[str, Any]) -> None: default_branch_options: dict[str, Any] = { "use_edit_page_button": False, } try: url, branch = util.get_branch(srcdir) default_branch_options.update( { "repository_url": url, "repository_branch": branch, "path_to_docs": util.get_path_to_docs(srcdir), } ) except util.InvalidGitRepositoryError: logger.warning("Not in a Git Directory, disabling repository buttons") for key, val in default_branch_options.items(): theme_opts.setdefault(key, val) def _update_banner( flavor: str, version_type: util.VersionType, theme_opts: dict[str, Any] ) -> None: if flavor != "rocm": return if version_type == util.VersionType.OTHER_LATEST_RELEASE: return announcement_info: str preview_version = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/preview_version.txt" ) latest_version_string = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/latest_version.txt" ) latest_version = _parse_version(latest_version_string).get("rocm", "latest") if version_type == util.VersionType.RELEASE_CANDIDATE: announcement_info = "This page contains changes for a test release of ROCm. Read the latest Linux release of ROCm documentation for your production environments." elif version_type == util.VersionType.OLD_RELEASE: announcement_info = "This is not the latest version of ROCm documentation. See ROCm documentation for the latest version." elif version_type == util.VersionType.DEVELOPMENT: announcement_info = "This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments." elif version_type == util.VersionType.PREVIEW: announcement_info = f"This is ROCm {preview_version} technology preview release documentation. For production use, refer to ROCm {latest_version} documentation." elif version_type == util.VersionType.ROCM_LATEST_RELEASE: announcement_info = f"The ROCm {preview_version} technology preview release documentation is available at ROCm Preview documentation. For production use, continue to use ROCm {latest_version} documentation." theme_opts.setdefault("announcement", announcement_info) def _update_theme_options(app: Sphinx) -> None: theme_opts = get_theme_options_dict(app) _update_repo_opts(str(app.srcdir), theme_opts) supported_flavors = [ "rocm", "local", "instinct", "rocm-docs-home", "rocm-blogs", "generic", "rocm-ds", "ai-developer-hub", "rocm-ls", "gsplat", "rocm-rag", "amdgpu", "rocm-finance", "rocm-simulation", ] flavor = theme_opts.get("flavor", "rocm") if flavor not in supported_flavors: logger.error( f'Unsupported theme flavor "{flavor}", must be one of: {supported_flavors}.\n' "Using flavor={supported_flavors[0]}" ) flavor = supported_flavors[0] theme_opts["flavor"] = flavor # Set default generic theme options if flavor == "generic": theme_opts.setdefault("header_title", "") theme_opts.setdefault("header_link", "#") theme_opts.setdefault("version_list_link", None) theme_opts.setdefault("nav_secondary_items", {}) theme_opts.setdefault("license_link", None) theme_opts.setdefault("license_text", "") theme_opts.setdefault( "article_header_start", ["components/toggle-primary-sidebar.html", "breadcrumbs.html"], ) if hasattr(app.config, "projects_version_type"): _update_banner(flavor, app.config.projects_version_type, theme_opts) # Default the download, edit, and fullscreen buttons to off for button in ["download", "edit_page", "fullscreen"]: theme_opts.setdefault(f"use_{button}_button", False) if theme_opts.get("link_main_doc", True): theme_opts.setdefault("navbar_center", []).insert( 0, "components/left-side-menu" ) header_latest_version = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/latest_version.txt" ) header_release_candidate_version = _get_version_from_url( "https://raw.githubusercontent.com/ROCm/rocm-docs-core/new_data/release_candidate.txt" ) default_config_opts = { "html_show_sphinx": False, "html_favicon": "https://www.amd.com/content/dam/code/images/favicon/favicon.ico", "notfound_context": {"title": "404 - Page Not Found"}, "notfound_template": "404.html", "html_context": { "header_latest_version": _parse_version(header_latest_version), "header_release_candidate_version": header_release_candidate_version, }, } for key, default in default_config_opts.items(): if not config_provided_by_user(app, key): setattr(app.config, key, default) def setup(app: Sphinx) -> dict[str, Any]: """Set up the module as a Sphinx extension.""" app.add_js_file( "https://download.amd.com/js/analytics/analyticsinit.js", priority=999_999, loading_method="async", ) app.add_js_file("code_word_breaks.js", loading_method="async") app.add_js_file("renameVersionLinks.js", loading_method="async") app.add_js_file("rdcMisc.js", loading_method="async") app.add_js_file("theme_mode_captions.js", loading_method="async") app.add_js_file("search.js", loading_method="defer") here = Path(__file__).parent.resolve() theme_path = here / "rocm_docs_theme" app.add_html_theme("rocm_docs_theme", str(theme_path)) for css in [ "custom.css", "rocm_header.css", "rocm_footer.css", "fonts.css", ]: app.add_css_file(css) app.connect("html-page-context", _add_custom_context) app.connect("builder-inited", _update_theme_options) # Add theme option declarations app.add_config_value("header_title", "", "html") app.add_config_value("header_link", "#", "html") app.add_config_value("version_list_link", None, "html") app.add_config_value("nav_secondary_items", {}, "html", [dict]) app.add_config_value("license_link", None, "html") app.add_config_value("license_text", "", "html") return { "parallel_read_safe": True, "parallel_write_safe": True, } ROCm-rocm-docs-core-6244b47/src/rocm_docs/util.py000066400000000000000000000113671511656052100215020ustar00rootroot00000000000000"""Utilities for rocm-docs-core.""" from __future__ import annotations from typing import Any import enum import functools import os import re from pathlib import Path import github from git.exc import InvalidGitRepositoryError from git.repo import Repo from github.GithubException import UnknownObjectException class VersionType(enum.Enum): """Describes how recent a version is (i.e. latest rc, or an older release)""" DEVELOPMENT = enum.auto() ROCM_LATEST_RELEASE = enum.auto() OTHER_LATEST_RELEASE = enum.auto() OLD_RELEASE = enum.auto() RELEASE_CANDIDATE = enum.auto() PREVIEW = enum.auto() def get_path_to_docs( conf_path: str | os.PathLike[Any] | None = None, repo_path: str | os.PathLike[Any] | None = None, ) -> str: """Get the relative path from the repo root to the docs.""" if conf_path is None: conf_path = Path() elif not isinstance(conf_path, Path): conf_path = Path(conf_path) if repo_path is None: repo_path = conf_path elif not isinstance(repo_path, Path): repo_path = Path(repo_path) repo = Repo(path=repo_path, search_parent_directories=True) return os.path.relpath(str(conf_path), repo.working_dir) @functools.lru_cache def get_branch( repo_path: str | os.PathLike[Any] | None = None, ) -> tuple[str, str]: """Get the branch whose tip is checked out, even if detached. May be overridden with the environment variable `ROCM_DOCS_REMOTE_DETAILS`. """ if "ROCM_DOCS_REMOTE_DETAILS" in os.environ: remote_details = os.environ["ROCM_DOCS_REMOTE_DETAILS"].split(",") return (remote_details[0], remote_details[1]) def get_repo_url(remote_url: str) -> str: ssh_pattern = re.compile(r"git@(\w+(?:\.\w+)+):(.*?)(?:\.git)?$") custom_ssh_pattern = re.compile(r"git@([^:]+):(.*?)(?:\.git)?$") http_pattern = re.compile(r"(https?://.+)\.git") remote_url, ssh_num_subs = ssh_pattern.subn( r"http://\1/\2", remote_url, count=1 ) if ssh_num_subs > 0: return remote_url # If ssh prefix does not follow git@xxx.xxx format, # the user could be using a secondary SSH key for EMU remote_url, custom_ssh_num_subs = custom_ssh_pattern.subn( r"http://github.com/\2", remote_url, count=1 ) if custom_ssh_num_subs > 0: return remote_url return http_pattern.sub(r"\1", remote_url, count=1) if os.environ.get("READTHEDOCS", ""): remote_url = os.environ.get("READTHEDOCS_GIT_CLONE_URL", "") url = get_repo_url(remote_url) build_type = os.environ["READTHEDOCS_VERSION_TYPE"] match = re.match(r"(?:.*://)?.*\.(com|io)[/:](.*)\.git", remote_url) assert match is not None repo_fqn: str = match[1] if build_type in ("branch", "tag"): return url, os.environ["READTHEDOCS_VERSION"] if build_type == "external": gh_inst = github.Github(os.environ.get("TOKEN", None)) print("Repository URL: " + repo_fqn) try: pull = gh_inst.get_repo(repo_fqn).get_pull( int(os.environ["READTHEDOCS_VERSION"]) ) return url, pull.head.ref except UnknownObjectException as err: if err.data["message"] == "Not Found": # Possibly a private repository that we're not # authenticated for, fallback return ( url, "external-" + os.environ["READTHEDOCS_VERSION"], ) # if build type is unknown try the usual strategy if repo_path is None: repo_path = Path() elif not isinstance(repo_path, Path): repo_path = Path(repo_path) repo = Repo(repo_path, search_parent_directories=True) assert not repo.bare for head in repo.heads: if head.commit == repo.head.commit: tracking = head.tracking_branch() if tracking is not None: remote_url = repo.remotes[tracking.remote_name].url remote_url = get_repo_url(remote_url) return remote_url, tracking.remote_head for remote in repo.remotes: for ref in remote.refs: if ref.commit == repo.head.commit: remote_url = get_repo_url(remote.url) return remote_url, ref.remote_head # Fall-back to the current branch or a fallback value if HEAD is detached # In this case the repository URL cannot be provided try: branch = repo.active_branch.name except TypeError: branch = "branch-not-found" return "", branch __all__ = [ "InvalidGitRepositoryError", "VersionType", "get_branch", "get_path_to_docs", ] ROCm-rocm-docs-core-6244b47/tests/000077500000000000000000000000001511656052100165465ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/__init__.py000066400000000000000000000000251511656052100206540ustar00rootroot00000000000000"""Test utilities""" ROCm-rocm-docs-core-6244b47/tests/conftest.py000066400000000000000000000002461511656052100207470ustar00rootroot00000000000000"""Pytest Configuration""" from .log_fixtures import * from .projects_fixtures import * from .sphinx_fixtures import * pytest_plugins = ["sphinx.testing.fixtures"] ROCm-rocm-docs-core-6244b47/tests/log_fixtures.py000066400000000000000000000201731511656052100216350ustar00rootroot00000000000000"""Defines Helpers for capturing and working with logs in tests""" from __future__ import annotations import types from typing import Literal, NamedTuple import contextlib import copy import itertools import logging import unittest.mock from collections.abc import Callable, Iterable, Iterator import pytest TestPhase = Literal["setup", "call", "teardown"] class LogHandlerStackToken(NamedTuple): when: TestPhase stacklevel: int class LogStackFixture: def __init__(self, caplog: pytest.LogCaptureFixture): self._caplog: pytest.LogCaptureFixture = caplog self._log_stack: list[list[logging.LogRecord]] = [] def push(self, *, when: TestPhase = "call") -> LogHandlerStackToken: # This should be a single atomic operation records = self._caplog.get_records(when) if len(records) > 0: self._log_stack.append(copy.copy(records)) self._caplog.clear() return LogHandlerStackToken(when, len(self._log_stack)) def pop(self, token: LogHandlerStackToken) -> Iterable[logging.LogRecord]: return itertools.chain( *self._log_stack[token.stacklevel :], self._caplog.get_records(token.when), ) class Scope: def __init__( self, fixture: LogStackFixture, token: LogHandlerStackToken, callbacks: contextlib.ExitStack, ) -> None: self._fixture = fixture self._token = token self._callbacks = callbacks def add( self, callback: Callable[[Iterable[logging.LogRecord]], None] ) -> None: self._callbacks.callback( lambda: callback(self._fixture.pop(self._token)) ) def pop_all(self) -> LogStackFixture.Scope: return LogStackFixture.Scope( self._fixture, self._token, self._callbacks.pop_all() ) def close(self) -> None: self._callbacks.close() def __enter__(self) -> LogStackFixture.Scope: return self def __exit__( self, type: type, value: BaseException, traceback: types.TracebackType, ) -> bool | None: return self._callbacks.__exit__(type, value, traceback) def new_scope(self, *, when: TestPhase = "call") -> Scope: return self.Scope(self, self.push(when=when), contextlib.ExitStack()) @pytest.fixture def log_handler_stack( caplog: pytest.LogCaptureFixture, _with_sphinx_logs: None ) -> LogStackFixture: """A fixture allowing scoped log handling""" return LogStackFixture(caplog) @pytest.fixture def expected_logs_impl() -> set[logging.LogRecord]: """Implementation of expected_logs""" return set() @pytest.fixture def _no_unexpected_warnings_impl( request: pytest.FixtureRequest, log_handler_stack: LogStackFixture, expected_logs_impl: set[logging.LogRecord], ) -> Iterator[None]: if "_no_unexpected_warnings" not in request.fixturenames: yield return class Validator: def __init__(self) -> None: self.logrecord: tuple[str, str, str] | None = None def validate(self, records: Iterable[logging.LogRecord]) -> None: for r in records: if r.levelno < logging.WARNING: continue if r not in expected_logs_impl: self.logrecord = ( r.name, r.levelname, r.getMessage(), ) return validator = Validator() with log_handler_stack.new_scope() as scope: scope.add(validator.validate) yield invert = request.node.get_closest_marker("meta_invert_fixture") is not None if validator.logrecord is None: if not invert: return pytest.fail("Did not find any unexpected logs") if not invert: pytest.fail(f"Unexpected log: {validator.logrecord}") # Must request no_unexpected_warnings_ to ensure its teardown runs *after* # other fixtures that request expected_logs @pytest.fixture def expected_logs( _no_unexpected_warnings_impl: None, expected_logs_impl: set[logging.LogRecord], ) -> set[logging.LogRecord]: """The set of expected logs, see no_unexpected_warnings""" return expected_logs_impl @pytest.fixture def _no_unexpected_warnings( _no_unexpected_warnings_impl: None, ) -> None: """Raise an error if an unexpected log is found all expected warnings should be added to `expected_logs` """ return class ExpectLogFixture: """Fixture class for expect_log""" def __init__( self, log_handler_stack: LogStackFixture, expected_logs: set[logging.LogRecord], ) -> None: """Initialize the fixture""" self._log_handler_stack = log_handler_stack self._expected_logs = expected_logs class Validator: def __init__( self, scope: LogStackFixture.Scope, expected: tuple[str, int, str], *, required: bool, capture_all: bool, expected_logs: set[logging.LogRecord], ) -> None: self._scope = scope self._expected = expected self._expected_logs = expected_logs self.required = required self.capture_all = capture_all self._found = False self._scope.add(self._validate_logs) @property def found(self) -> bool: return self._found def __enter__(self) -> ExpectLogFixture.Validator: self._scope.__enter__() return self def __exit__( self, type: type, value: BaseException, traceback: types.TracebackType, ) -> bool | None: return self._scope.__exit__(type, value, traceback) def _validate_logs( self, records: Iterable[logging.LogRecord], ) -> None: self._found = False for r in records: if self._expected != (r.name, r.levelno, r.getMessage()): continue self._found = True self._expected_logs.add(r) if not self.capture_all: return if not self.required or self._found: return lvl = logging.getLevelName(self._expected[1]) pytest.fail( f"Expected log {(self._expected[0], lvl, self._expected[2])}, but it wasn't found" ) def __call__( self, name: str, level: str, msg: str, *, required: bool = True, capture_all: bool = False, when: TestPhase = "call", ) -> ExpectLogFixture.Validator: """Register a new handler. See expect_log for more details""" levelno = logging.getLevelName(level) if not isinstance(levelno, int): raise ValueError(f'Unknown log level "{level}"') return self.Validator( self._log_handler_stack.new_scope(when=when), (name, levelno, msg), required=required, capture_all=capture_all, expected_logs=self._expected_logs, ) @pytest.fixture def expect_log( log_handler_stack: LogStackFixture, expected_logs: set[logging.LogRecord] ) -> ExpectLogFixture: """Register a verifier for a log message Each call to expect_log(name, level, msg) will verify that such a log is emitted at least once. This log will not trigger unknown warning checks. Set capture_all to True to capture all warnings that match, not just the first. """ return ExpectLogFixture(log_handler_stack, expected_logs) @pytest.fixture def _with_sphinx_logs(monkeypatch: pytest.MonkeyPatch) -> None: """Fixture to enable capturing sphinx logs in pytest""" monkeypatch.setattr("sphinx.util.logging.setup", unittest.mock.Mock()) __all__ = [ "_no_unexpected_warnings", "_no_unexpected_warnings_impl", "_with_sphinx_logs", "expect_log", "expected_logs", "expected_logs_impl", "log_handler_stack", ] ROCm-rocm-docs-core-6244b47/tests/projects_fixtures.py000066400000000000000000000020571511656052100227060ustar00rootroot00000000000000"""Defines fixtures for interacting with projects.py""" from __future__ import annotations from collections.abc import Callable import pytest import rocm_docs.projects @pytest.fixture def mock_projects( monkeypatch: pytest.MonkeyPatch, ) -> Callable[[dict[str, rocm_docs.projects._Project]], None]: """Mock the list of projects loaded by projects.py""" def do_mock(projects: dict[str, rocm_docs.projects._Project]) -> None: monkeypatch.setattr( "rocm_docs.projects._load_projects", lambda *_, **__: projects, ) return do_mock @pytest.fixture def mocked_projects( mock_projects: Callable[[dict[str, rocm_docs.projects._Project]], None], ) -> dict[str, rocm_docs.projects._Project]: """Standard mocked projects for tests""" projects = { "a": rocm_docs.projects._Project( "https://example.com/a", [], "", [], ".doxygen/docBin/html" ), "b": rocm_docs.projects._Project("https://example.com/b", [], "", []), } mock_projects(projects) return projects ROCm-rocm-docs-core-6244b47/tests/sites/000077500000000000000000000000001511656052100176755ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/doxygen/000077500000000000000000000000001511656052100213525ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/doxygen/extension/000077500000000000000000000000001511656052100233665ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/doxygen/extension/conf.py000066400000000000000000000004251511656052100246660ustar00rootroot00000000000000extensions = ["rocm_docs", "rocm_docs.doxygen", "sphinxcontrib.doxylink"] html_theme = "rocm_docs_theme" external_projects_current_project = "a" doxygen_project = { "name": "ROCm Docs Core Test Project - Extension", "path": "doxygen/xml", } doxysphinx_enabled = True ROCm-rocm-docs-core-6244b47/tests/sites/doxygen/legacy/000077500000000000000000000000001511656052100226165ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/doxygen/legacy/conf.py000066400000000000000000000013761511656052100241240ustar00rootroot00000000000000from rocm_docs import ROCmDocs # base setup for using rocm-docs-core package docs_core = ROCmDocs("ROCm Docs Core Doxygen Test Project - Legacy") docs_core.setup() # doxygen integration docs_core.run_doxygen(doxygen_root="doxygen", doxygen_path="doxygen/xml") # doxysphinx integration docs_core.enable_api_reference() # used in intersphinx linking external_projects_current_project = "a" # custom path to table of contents external_toc_path = "./sphinx/_toc.yml" # set variables from rocm-docs-core for sphinx for sphinx_var in ROCmDocs.SPHINX_VARS: globals()[sphinx_var] = getattr(docs_core, sphinx_var) # optional extension for additional linking to doxygen if not "extensions" in globals(): extensions = [] extensions += ["sphinxcontrib.doxylink"] ROCm-rocm-docs-core-6244b47/tests/sites/pass/000077500000000000000000000000001511656052100206435ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/pass/minimal/000077500000000000000000000000001511656052100222715ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/pass/minimal/conf.py000066400000000000000000000001431511656052100235660ustar00rootroot00000000000000extensions = ["rocm_docs"] html_theme = "rocm_docs_theme" external_projects_current_project = "a" ROCm-rocm-docs-core-6244b47/tests/sites/pass/minimal_legacy/000077500000000000000000000000001511656052100236155ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/pass/minimal_legacy/conf.py000066400000000000000000000004041511656052100251120ustar00rootroot00000000000000from rocm_docs import ROCmDocs docs_core = ROCmDocs("ROCm Docs Core Test Project - Minimal Legacy") docs_core.setup() for sphinx_var in ROCmDocs.SPHINX_VARS: globals()[sphinx_var] = getattr(docs_core, sphinx_var) external_projects_current_project = "a" ROCm-rocm-docs-core-6244b47/tests/sites/templates/000077500000000000000000000000001511656052100216735ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/templates/doxygen/000077500000000000000000000000001511656052100233505ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/templates/doxygen/.doxygen/000077500000000000000000000000001511656052100251035ustar00rootroot00000000000000ROCm-rocm-docs-core-6244b47/tests/sites/templates/doxygen/.doxygen/A.cpp000066400000000000000000000011771511656052100257750ustar00rootroot00000000000000/** * \file * \author Jon Doe (jon@example.com) * \brief Test doxygen source * \version 0.1 * \date 2023-03-23 * \copyright Copyright (c) 2023 Advanced Micro Devices Inc. */ /** * \brief Root namespace of the example project * */ namespace my_project { /** * \defgroup a Group A * \brief The A group * @{ */ /** * \brief A struct */ struct MyStruct { /** * \brief A method */ void method(); }; /** * \brief A function inside the group */ void f(); /** * @} */ } // namespace my_project /** * \defgroup b Group B */ /** * \ingroup b * \brief A function */ void function_outside_group(); ROCm-rocm-docs-core-6244b47/tests/sites/templates/doxygen/.doxygen/Doxyfile000066400000000000000000003434251511656052100266240ustar00rootroot00000000000000# Doxyfile 1.9.1 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # # All text after a double hash (##) is considered a comment and is placed in # front of the TAG it is preceding. # # All text after a single hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # This tag specifies the encoding used for all characters in the configuration # file that follow. The default is UTF-8 which is also the encoding used for all # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by # double-quotes, unless you are using Doxywizard) that should identify the # project for which the documentation is generated. This name is used in the # title of most generated pages and in a few other places. # The default value is: My Project. PROJECT_NAME = "My Project" # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version # control system is used. PROJECT_NUMBER = # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. PROJECT_BRIEF = # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. PROJECT_LOGO = # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. OUTPUT_DIRECTORY = docBin # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and # will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes # performance problems for the file system. # The default value is: NO. CREATE_SUBDIRS = NO # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode # U+3044. # The default value is: NO. ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, # Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), # Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, # Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), # Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, # Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, # Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, # Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English # The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all generated output in the proper direction. # Possible values are: None, LTR, RTL and Context. # The default value is: None. OUTPUT_TEXT_DIRECTION = None # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. # The default value is: YES. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator that is # used to form the text in various listings. Each string in this list, if found # as the leading text of the brief description, will be stripped from the text # and the result, after processing the whole list, is used as the annotated # text. Otherwise, the brief description is used as-is. If left blank, the # following values are used ($name is automatically replaced with the name of # the entity):The $name class, The $name widget, The $name file, is, provides, # specifies, contains, represents, a, an and the. ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # doxygen will generate a detailed section even if there is only a brief # description. # The default value is: NO. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. # The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. FULL_PATH_NAMES = YES # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. # Stripping is only done if one of the specified strings matches the left-hand # part of the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the path to # strip. # # Note that you can specify absolute paths here, but also relative paths, which # will be relative from the directory where doxygen is started. # This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the # path mentioned in the documentation of a class, which tells the reader which # header file to include in order to use a class. If left blank only the name of # the header file containing the class definition is used. Otherwise one should # specify the list of include paths that are normally passed to the compiler # using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but # less readable) file names. This can be useful is your file systems doesn't # support long names like on DOS, Mac, or CD-ROM. # The default value is: NO. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the # first line (until the first dot) of a Javadoc-style comment as the brief # description. If set to NO, the Javadoc-style will behave just like regular Qt- # style comments (thus requiring an explicit @brief command for a brief # description.) # The default value is: NO. JAVADOC_AUTOBRIEF = NO # If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line # such as # /*************** # as being the beginning of a Javadoc-style comment "banner". If set to NO, the # Javadoc-style will behave just like regular comments and it will not be # interpreted by doxygen. # The default value is: NO. JAVADOC_BANNER = NO # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus # requiring an explicit \brief command for a brief description.) # The default value is: NO. QT_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. # # Note that setting this tag to YES also means that rational rose comments are # not recognized any more. # The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # By default Python docstrings are displayed as preformatted text and doxygen's # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the # doxygen's special commands can be used and the contents of the docstring # documentation blocks is shown as doxygen documentation. # The default value is: YES. PYTHON_DOCSTRING = YES # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new # page for each member. If set to NO, the documentation of a member will be part # of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen # uses this value to replace tabs by spaces in code fragments. # Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 # This tag can be used to specify a number of aliases that act as commands in # the documentation. An alias has the form: # name=value # For example adding # "sideeffect=@par Side Effects:\n" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading # "Side Effects:". You can put \n's in the value part of an alias to insert # newlines (in the resulting output). You can put ^^ in the value part of an # alias to insert a newline as if a physical newline was in the original file. # When you need a literal { or } or , in the value part of an alias you have to # escape them by means of a backslash (\), this can lead to conflicts with the # commands \{ and \} for these it is advised to use the version @{ and @} or use # a double escape (\\{ and \\}) ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all # members will be omitted, etc. # The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or # Python sources only. Doxygen will then generate output that is more tailored # for that language. For instance, namespaces will be presented as packages, # qualified scopes will look different, etc. # The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources. Doxygen will then generate output that is tailored for Fortran. # The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for VHDL. # The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO # Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice # sources only. Doxygen will then generate output that is more tailored for that # language. For instance, namespaces will be presented as modules, types will be # separated into more groups, etc. # The default value is: NO. OPTIMIZE_OUTPUT_SLICE = NO # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, # Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, # Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the # default for Fortran type files). For instance to make doxygen treat .inc files # as Fortran files (default is PHP), and .f files as C (default is Fortran), # use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise # the files are not read by doxygen. When specifying no_extension you should add # * to the FILE_PATTERNS. # # Note see also the list of default file extension mappings. EXTENSION_MAPPING = # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable # documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. # The default value is: YES. MARKDOWN_SUPPORT = YES # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up # to that level are automatically included in the table of contents, even if # they do not have an id attribute. # Note: This feature currently applies only to Markdown headings. # Minimum value: 0, maximum value: 99, default value: 5. # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. TOC_INCLUDE_HEADINGS = 5 # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should set this # tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); # versus func(std::string) {}). This also make the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. # The default value is: NO. BUILTIN_STL_SUPPORT = NO # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. # The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: # https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate # getter and setter methods for a property. Setting this option to YES will make # doxygen to replace the get and set methods by a property in the documentation. # This will only work if the methods are indeed getting or setting a simple # type. If this is not the case, or you want to show the methods anyway, you # should set this option to NO. # The default value is: YES. IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO # If one adds a struct or class to a group and this option is enabled, then also # any nested class or struct is added to the same group. By default this option # is disabled and one has to add nested compounds explicitly via \ingroup. # The default value is: NO. GROUP_NESTED_COMPOUNDS = NO # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent # subgrouping. Alternatively, this can be done per class using the # \nosubgrouping command. # The default value is: YES. SUBGROUPING = YES # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions # are shown inside the group in which they are included (e.g. using \ingroup) # instead of on a separate page (for HTML and Man pages) or section (for LaTeX # and RTF). # # Note that this feature does not work in combination with # SEPARATE_MEMBER_PAGES. # The default value is: NO. INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions # with only public data fields or simple typedef fields will be shown inline in # the documentation of the scope in which they are defined (i.e. file, # namespace, or group documentation), provided this scope is documented. If set # to NO, structs, classes, and unions are shown on a separate page (for HTML and # Man pages) or section (for LaTeX and RTF). # The default value is: NO. INLINE_SIMPLE_STRUCTS = NO # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or # enum is documented as struct, union, or enum with the name of the typedef. So # typedef struct TypeS {} TypeT, will appear in the documentation as a struct # with name TypeT. When disabled the typedef will appear as a member of a file, # namespace, or class. And the struct will be named TypeS. This can typically be # useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. # The default value is: NO. TYPEDEF_HIDES_STRUCT = NO # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This # cache is used to resolve symbols given their name and scope. Since this can be # an expensive process and often the same symbol appears multiple times in the # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small # doxygen will become slower. If the cache is too large, memory is wasted. The # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 # symbols. At the end of a run doxygen will report the cache usage and suggest # the optimal cache size from a speed point of view. # Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 # The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use # during processing. When set to 0 doxygen will based this on the number of # cores available in the system. You can set it explicitly to a value larger # than 0 to get more control over the balance between CPU load and processing # speed. At this moment only the input processing can be done using multiple # threads. Since this is still an experimental feature the default is set to 1, # which efficively disables parallel processing. Please report any issues you # encounter. Generating dot graphs in parallel is controlled by the # DOT_NUM_THREADS setting. # Minimum value: 0, maximum value: 32, default value: 1. NUM_PROC_THREADS = 1 #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. # Note: This will also disable the warnings about undocumented members that are # normally produced when WARNINGS is set to YES. # The default value is: NO. EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO # If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual # methods of a class will be included in the documentation. # The default value is: NO. EXTRACT_PRIV_VIRTUAL = NO # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined # locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are # included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. EXTRACT_LOCAL_METHODS = NO # If this flag is set to YES, the members of anonymous namespaces will be # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base name of # the file that contains the anonymous namespace. By default anonymous namespace # are hidden. # The default value is: NO. EXTRACT_ANON_NSPACES = NO # If this flag is set to YES, the name of an unnamed parameter in a declaration # will be determined by the corresponding definition. By default unnamed # parameters remain unnamed in the output. # The default value is: YES. RESOLVE_UNNAMED_PARAMS = YES # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation # section is generated. This option has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option # has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend # declarations. If set to NO, these declarations will be included in the # documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any # documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation that is typed after a # \internal command is included. If the tag is set to NO then the documentation # will be excluded. Set it to YES to include the internal documentation. # The default value is: NO. INTERNAL_DOCS = NO # With the correct setting of option CASE_SENSE_NAMES doxygen will better be # able to match the capabilities of the underlying filesystem. In case the # filesystem is case sensitive (i.e. it supports files in the same directory # whose names only differ in casing), the option must be set to YES to properly # deal with such files in case they appear in the input. For filesystems that # are not case sensitive the option should be be set to NO to properly deal with # output files written for symbols that only differ in casing, such as for two # classes, one named CLASS and the other named Class, and to also support # references to files without having to specify the exact matching casing. On # Windows (including Cygwin) and MacOS, users should typically set this option # to NO, whereas on Linux or other Unix flavors it should typically be set to # YES. # The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with # their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. HIDE_COMPOUND_REFERENCE= NO # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. SHOW_INCLUDE_FILES = YES # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each # grouped member an include statement to the documentation, telling the reader # which file to include in order to use the member. # The default value is: NO. SHOW_GROUPED_MEMB_INC = NO # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include # files with double quotes in the documentation rather than with sharp brackets. # The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the # documentation for inline members. # The default value is: YES. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member # name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. SORT_BRIEF_DOCS = NO # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the # (brief and detailed) documentation of class members so that constructors and # destructors are listed first. If set to NO the constructors will appear in the # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief # member documentation. # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting # detailed member documentation. # The default value is: NO. SORT_MEMBERS_CTORS_1ST = NO # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy # of group names into alphabetical order. If set to NO the group names will # appear in their defined order. # The default value is: NO. SORT_GROUP_NAMES = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by # fully-qualified names, including namespaces. If set to NO, the class list will # be sorted only by class name, not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the alphabetical # list. # The default value is: NO. SORT_BY_SCOPE_NAME = NO # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper # type resolution of all parameters of a function it will reject a match between # the prototype and the implementation of a member function even if there is # only one candidate or it is obvious which candidate to choose by doing a # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still # accept a match between prototype and implementation in such cases. # The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo # list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test # list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional documentation # sections, marked by \if ... \endif and \cond # ... \endcond blocks. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # initial value of a variable or macro / define can have for it to appear in the # documentation. If the initializer consists of more lines than specified here # it will be hidden. Use a value of 0 to hide initializers completely. The # appearance of the value of individual variables and macros / defines can be # controlled using \showinitializer or \hideinitializer command in the # documentation regardless of this setting. # Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at # the bottom of the documentation of classes and structs. If set to YES, the # list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This # will remove the Files entry from the Quick Index and from the Folder Tree View # (if specified). # The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces # page. This will remove the Namespaces entry from the Quick Index and from the # Folder Tree View (if specified). # The default value is: YES. SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from # the version control system). Doxygen will invoke the program by executing (via # popen()) the command command input-file, where command is the value of the # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided # by doxygen. Whatever the program writes to standard output is used as the file # version. For an example see the documentation. FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml # will be used as the name of the layout file. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool # to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the # search path. See also \cite for info how to create references. CITE_BIB_FILES = #--------------------------------------------------------------------------- # Configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated to # standard output by doxygen. If QUIET is set to YES this implies that the # messages are off. # The default value is: NO. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. # The default value is: YES. WARNINGS = YES # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some parameters # in a documented function, or documenting parameters that don't exist or using # markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return # value. If set to NO, doxygen will only warn about wrong or incomplete # parameter documentation, but not about the absence of documentation. If # EXTRACT_ALL is set to YES then this flag will automatically be disabled. # The default value is: NO. WARN_NO_PARAMDOC = NO # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS # then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but # at the end of the doxygen process doxygen will return with a non-zero status. # Possible values are: NO, YES and FAIL_ON_WARNINGS. # The default value is: NO. WARN_AS_ERROR = NO # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard # error (stderr). WARN_LOGFILE = #--------------------------------------------------------------------------- # Configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. INPUT = A.cpp # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv # documentation (see: # https://www.gnu.org/software/libiconv/) for the list of possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # # Note the list of default checked file patterns might differ from the list of # default file extension mappings. # # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, # *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, # *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), # *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, *.vhdl, # *.ucf, *.qsf and *.ice. FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.java \ *.ii \ *.ixx \ *.ipp \ *.i++ \ *.inl \ *.idl \ *.ddl \ *.odl \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.cs \ *.d \ *.php \ *.php4 \ *.php5 \ *.phtml \ *.inc \ *.m \ *.markdown \ *.md \ *.mm \ *.dox \ *.py \ *.pyw \ *.f90 \ *.f95 \ *.f03 \ *.f08 \ *.f18 \ *.f \ *.for \ *.vhd \ *.vhdl \ *.ucf \ *.qsf \ *.ice # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. # The default value is: NO. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. # # Note that relative paths are relative to the directory from which doxygen is # run. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. # The default value is: NO. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories for example use the pattern */test/* EXCLUDE_PATTERNS = # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = # The EXAMPLE_PATH tag can be used to specify one or more files or directories # that contain example code fragments that are included (see the \include # command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and # *.h) to filter out the source-files in the directories. If left blank all # files are included. EXAMPLE_PATTERNS = * # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude commands # irrespective of the value of the RECURSIVE tag. # The default value is: NO. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or directories # that contain images that are to be included in the documentation (see the # \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command: # # # # where is the value of the INPUT_FILTER tag, and is the # name of an input file. Doxygen will then use the output that the filter # program writes to standard output. If FILTER_PATTERNS is specified, this tag # will be ignored. # # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: pattern=filter # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. # # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. FILTER_SOURCE_FILES = NO # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and # it is also possible to disable source filtering for a specific pattern using # *.ext= (so without naming a filter). # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. FILTER_SOURCE_PATTERNS = # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that # is part of the input, its contents will be placed on the main page # (index.html). This can be useful if you have a project on for instance GitHub # and want to reuse the introduction page also for the doxygen output. USE_MDFILE_AS_MAINPAGE = #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will be # generated. Documented entities will be cross-referenced with these sources. # # Note: To get rid of all source code in the generated output, make sure that # also VERBATIM_HEADERS is set to NO. # The default value is: NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body of functions, # classes and enums directly into the documentation. # The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any # special comment blocks from generated source code fragments. Normal C, C++ and # Fortran comments will always remain visible. # The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented # entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO # If the REFERENCES_RELATION tag is set to YES then for each documented function # all documented entities called/used by that function will be listed. # The default value is: NO. REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set # to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. REFERENCES_LINK_SOURCE = YES # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the # source code will show a tooltip with additional information such as prototype, # brief description and links to the definition and documentation. Since this # will make the HTML file larger and loading of large files a bit slower, you # can opt to disable this feature. # The default value is: YES. # This tag requires that the tag SOURCE_BROWSER is set to YES. SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system # (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # # Doxygen will invoke htags (and that will in turn invoke gtags), so these # tools must be available from the command line (i.e. in the search path). # # The result: instead of the source browser generated by doxygen, the links to # source code will now point to the output of htags. # The default value is: NO. # This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a # verbatim copy of the header file for each class for which an include is # specified. Set to NO to disable this. # See also: Section \class. # The default value is: YES. VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the # clang parser (see: # http://clang.llvm.org/) for more accurate parsing at the cost of reduced # performance. This can be particularly helpful with template rich C++ code for # which doxygen's built-in parser lacks the necessary type information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO # If clang assisted parsing is enabled and the CLANG_ADD_INC_PATHS tag is set to # YES then doxygen will add the directory of each input to the include path. # The default value is: YES. CLANG_ADD_INC_PATHS = YES # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories # specified with INPUT and INCLUDE_PATH. # This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. CLANG_OPTIONS = # If clang assisted parsing is enabled you can provide the clang parser with the # path to the directory containing a file called compile_commands.json. This # file is the compilation database (see: # http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the # options used when the source files were built. This is equivalent to # specifying the -p option to a clang tool, such as clang-check. These options # will then be passed to the parser. Any options specified with CLANG_OPTIONS # will be added as well. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. CLANG_DATABASE_PATH = #--------------------------------------------------------------------------- # Configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all # compounds will be generated. Enable this if the project contains a lot of # classes, structs, unions or interfaces. # The default value is: YES. ALPHABETICAL_INDEX = YES # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored # while generating the index headers. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of # it. # The default directory is: html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each # generated HTML page (for example: .htm, .php, .asp). # The default value is: .html. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a user-defined HTML header file for # each generated HTML page. If the tag is left blank doxygen will generate a # standard header. # # To get valid HTML the header file that includes any scripts and style sheets # that doxygen needs, which is dependent on the configuration options used (e.g. # the setting GENERATE_TREEVIEW). It is highly recommended to start with a # default header using # doxygen -w html new_header.html new_footer.html new_stylesheet.css # YourConfigFile # and then modify the file new_header.html. See also section "Doxygen usage" # for information on how to generate the default header that doxygen normally # uses. # Note: The header is subject to change so you typically have to regenerate the # default header when upgrading to a newer version of doxygen. For a description # of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = ../_doxygen/header.html # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each # generated HTML page. If the tag is left blank doxygen will generate a standard # footer. See HTML_HEADER for more information on how to generate a default # footer and what special commands can be used inside the footer. See also # section "Doxygen usage" for information on how to generate the default footer # that doxygen normally uses. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = ../_doxygen/footer.html # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style # sheet that is used by each HTML page. It can be used to fine-tune the look of # the HTML output. If left blank doxygen will generate a default style sheet. # See also section "Doxygen usage" for information on how to generate the style # sheet that doxygen normally uses. # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as # it is more robust and this tag (HTML_STYLESHEET) will in the future become # obsolete. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = ../_doxygen/stylesheet.css # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined # cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the # standard style sheet and is therefore more robust against future updates. # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = ../_doxygen/extra_stylesheet.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that the # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to # this color. Hue is specified as an angle on a colorwheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors # in the HTML output. For a value of 0 the output will use grayscales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the # luminance component of the colors in the HTML output. Values below 100 # gradually make the output lighter, whereas values above 100 make the output # darker. The value divided by 100 is the actual gamma applied, so 80 represents # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not # change the gamma. # Minimum value: 40, maximum value: 240, default value: 80. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this # to YES can help to show when doxygen was last run and thus if the # documentation is up to date. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = NO # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will # consists of multiple levels of tabs that are statically embedded in every HTML # page. Disable this option to support browsers that do not have JavaScript, # like the Qt help browser. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_MENUS = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = NO # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to # such a level that at most the specified number of entries are visible (unless # a fully collapsed tree already exceeds this amount). So setting the number of # entries 1 will produce a full collapsed tree by default. 0 is a special value # representing an infinite number of entries and will result in a full expanded # tree by default. # Minimum value: 0, maximum value: 9999, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development # environment (see: # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To # create a documentation set, doxygen will generate a Makefile in the HTML # output directory. Running make will produce the docset in that directory and # running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO # This tag determines the name of the docset feed. A documentation feed provides # an umbrella under which multiple documentation sets from a single provider # (such as a company or product suite) can be grouped. # The default value is: Doxygen generated docs. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify # the documentation publisher. This should be a reverse domain-name style # string, e.g. com.mycompany.MyDocSet.documentation. # The default value is: org.doxygen.Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. # The default value is: Publisher. # This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop # (see: # https://www.microsoft.com/en-us/download/details.aspx?id=21138) on Windows. # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML # files are now used as the Windows 98 help format, and will replace the old # Windows help format (.hlp) on all Windows platforms in the future. Compressed # HTML files also contain an index, a table of contents, and you can search for # words in the documentation. The HTML workshop also contains a viewer for # compressed HTML files. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO # The CHM_FILE tag can be used to specify the file name of the resulting .chm # file. You can add a path in front of the file if the result should not be # written to the html output directory. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path # including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated # (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # The BINARY_TOC flag controls whether a binary table of contents is generated # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it # enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members to # the table of contents of the HTML help documentation and to the tree view. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help # (.qch) of the generated HTML documentation. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify # the file name of the resulting .qch file. The path specified is relative to # the HTML output folder. # This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace # (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual # Folders (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom # Filters (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = # The QHG_LOCATION tag can be used to specify the location (absolute path # including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to # run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be # generated, together with the HTML files, they form an Eclipse help plugin. To # install this plugin and make it available under the help contents menu in # Eclipse, the contents of the directory containing the HTML and XML files needs # to be copied into the plugins directory of eclipse. The name of the directory # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. # After copying Eclipse needs to be restarted before the help appears. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the Eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have this # name. Each documentation set should have its own identifier. # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project # If you want full control over the layout of the generated HTML pages it might # be necessary to disable the index and replace it with your own. The # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top # of each HTML page. A value of NO enables the index and the value YES disables # it. Since the tabs in the index contain the same information as the navigation # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag # value is set to YES, a side panel will be generated containing a tree-like # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can # further fine-tune the look of the index. As an example, the default style # sheet generated by doxygen has an example that shows how to put an image at # the root of the tree instead of the PROJECT_NAME. Since the tree basically has # the same information as the tab index, you could consider setting # DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # # Note that a value of 0 will completely suppress the enum values from appearing # in the overview section. # Minimum value: 0, maximum value: 20, default value: 4. # This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used # to set the initial width (in pixels) of the frame in which the tree is shown. # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 250 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO # If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see # https://inkscape.org) to generate formulas as SVG images instead of PNGs for # the HTML output. These images will generally look nicer at scaled resolutions. # Possible values are: png (the default) and svg (looks nicer but requires the # pdf2svg or inkscape tool). # The default value is: png. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_FORMULA_FORMAT = png # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML # output directory to force them to be regenerated. # Minimum value: 8, maximum value: 50, default value: 10. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 # Use the FORMULA_TRANSPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # # Note that when changing this option you need to delete any form_*.png files in # the HTML output directory before the changes have effect. # The default value is: YES. # This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. FORMULA_MACROFILE = # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see # https://www.mathjax.org) which uses client side JavaScript for the rendering # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO # When MathJax is enabled you can set the default output format to be used for # the MathJax output. See the MathJax site (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. # Possible values are: HTML-CSS (which is slower, but has the best # compatibility), NativeMML (i.e. MathML) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_FORMAT = HTML-CSS # When MathJax is enabled you need to specify the location relative to the HTML # output directory using the MATHJAX_RELPATH option. The destination directory # should contain the MathJax.js script. For instance, if the mathjax directory # is located at the same level as the HTML output directory, then # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of # MathJax from https://www.mathjax.org before deployment. # The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2 # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site # (see: # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_CODEFILE = # When the SEARCHENGINE tag is enabled doxygen will generate a search box for # the HTML output. The underlying search engine uses javascript and DHTML and # should work on any modern browser. Note that when using HTML help # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) # there is already a search function so this one should typically be disabled. # For large projects the javascript based search engine can be slow, then # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to # search using the keyboard; to jump to the search box use + S # (what the is depends on the OS and browser, but it is typically # , /