pax_global_header00006660000000000000000000000064147625714320014525gustar00rootroot0000000000000052 comment=b66a7e0c8b4853632d15d774dbb7cc57c997823e xsar-2025.03.07/000077500000000000000000000000001476257143200131025ustar00rootroot00000000000000xsar-2025.03.07/.git_archival.txt000066400000000000000000000001061476257143200163520ustar00rootroot00000000000000ref-names: HEAD -> develop, tag: v1.1.9, tag: v1.1.10, tag: 2025.03.07xsar-2025.03.07/.gitattributes000066400000000000000000000003501476257143200157730ustar00rootroot00000000000000# see http://timstaley.co.uk/posts/making-git-and-jupyter-notebooks-play-nice/ *.ipynb filter=nbstrip_full # for setuptools_scm in conda-forge see https://pypi.org/project/setuptools-scm-git-archive/ .git_archival.txt export-substxsar-2025.03.07/.gitconfig000066400000000000000000000006411476257143200150550ustar00rootroot00000000000000# need to run `git config --local include.path ../.gitconfig` to include this file in git config # see http://timstaley.co.uk/posts/making-git-and-jupyter-notebooks-play-nice/ [filter "nbstrip_full"] clean = "jq --indent 1 \ '(.cells[] | select(has(\"outputs\")) | .outputs) = [] \ | (.cells[] | select(has(\"execution_count\")) | .execution_count) = null \ '" smudge = cat required = true xsar-2025.03.07/.github/000077500000000000000000000000001476257143200144425ustar00rootroot00000000000000xsar-2025.03.07/.github/actions/000077500000000000000000000000001476257143200161025ustar00rootroot00000000000000xsar-2025.03.07/.github/actions/dynamic_matrix.py000066400000000000000000000032331476257143200214650ustar00rootroot00000000000000import sys import urllib.request import json import datetime # minimal python script that returns a strategy matrix, for given github.event_name with urllib.request.urlopen('https://endoflife.date/api/python.json') as f: python_versions = json.loads(f.read().decode('utf-8')) now = datetime.datetime.now().strftime('%Y-%m-%d') python_supported_versions = [ v['cycle'] for v in python_versions if v['eol'] > now and v['cycle'] not in ['3.7','3.8','3.12'] ] python_default_version = python_supported_versions[1] matrix = { 'default': { 'os': ['ubuntu-latest'], 'python_version': [python_default_version], }, 'pull_request': { 'os': ['ubuntu-latest'], 'python_version': [python_default_version], }, 'schedule': { 'os': ['ubuntu-latest', 'macos-latest', 'windows-latest'], 'python_version': python_supported_versions, }, 'release': { 'os': ['ubuntu-latest', 'macos-latest', 'windows-latest'], 'python_version': python_supported_versions, }, 'pull_request_review': { 'os': ['ubuntu-latest', 'macos-latest', 'windows-latest'], 'python_version': python_supported_versions, }, 'workflow_dispatch': { 'os': ['ubuntu-latest', 'macos-latest', 'windows-latest'], 'python_version': python_supported_versions, }, } if __name__ == "__main__": try: event = sys.argv[1] except IndexError: event = 'default' if event not in matrix: event = 'default' print('::set-output name=os_matrix::%s' % str(matrix[event]['os'])) print('::set-output name=python_version_matrix::%s' % str(matrix[event]['python_version'])) xsar-2025.03.07/.github/dependabot.yml000066400000000000000000000001651476257143200172740ustar00rootroot00000000000000version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly"xsar-2025.03.07/.github/release.yml000066400000000000000000000001141476257143200166010ustar00rootroot00000000000000changelog: exclude: authors: - dependabot - pre-commit-ci xsar-2025.03.07/.github/workflows/000077500000000000000000000000001476257143200164775ustar00rootroot00000000000000xsar-2025.03.07/.github/workflows/README.md000066400000000000000000000027321476257143200177620ustar00rootroot00000000000000# CI / CD XSAR Using Github action workflow. For more information of github axction workflow you can read the official [tutorial](https://docs.github.com/en/actions). We have 4 workflows for testing installation on multi OS and multi version of python. ## Workflow 1: Check Gdal 3.3 is available Gdal is a depencies package of xsar. We are testing if gdal version 3.3 is available in the official conda repository ## Workflow 2,3,4: Testing Xsar Installation Testing official xsar [installation](https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsar/installing.html) on ubuntu, macOS and windows The jobs contains 5 steps: - Setup conda and create environment : using a community github action package [conda-incubator/setup-miniconda@v2](https://github.com/marketplace/actions/setup-miniconda) - Install xsar dependencies - Check xsar environment: you can see in a debug job the version of conda, python, rasterio, gdal, cartopy and dask - Install xsar - Testing xsar : run the script test `test/test_xsar.py` ### MacOS particularity - Github action used macos 10.15 Cattalina for testing not the lastest version 11.X Bigsur - In Python 3.6 the job stuck so we do not test in python. 3.6 - When Install xsar dependencies for python < 3.9, you must install tbb package ### Windows particularity - Github action used windows server 2019 for testing not Windows 10 - Windows have not rasterio 1.2.6 in python < 3.7 - When Install xsar dependencies, you must install fiona package xsar-2025.03.07/.github/workflows/ci.yaml000066400000000000000000000042661476257143200177660ustar00rootroot00000000000000name: CI on: push: branches: [develop] pull_request: branches: [develop] workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: detect-skip-ci-trigger: name: "Detect CI Trigger: [skip-ci]" if: | github.repository == 'umr-lops/xsar' && ( github.event_name == 'push' || github.event_name == 'pull_request' ) runs-on: ubuntu-latest outputs: triggered: ${{ steps.detect-trigger.outputs.trigger-found }} steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - uses: xarray-contrib/ci-trigger@v1 id: detect-trigger with: keyword: "[skip-ci]" ci: name: ${{ matrix.os }} py${{ matrix.python-version }} runs-on: ${{ matrix.os }} needs: detect-skip-ci-trigger if: needs.detect-skip-ci-trigger.outputs.triggered == 'false' defaults: run: shell: bash -l {0} strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12"] os: ["ubuntu-latest", "macos-latest", "windows-latest"] steps: - name: Checkout the repository uses: actions/checkout@v4 with: # need to fetch all tags to get a correct version fetch-depth: 0 # fetch all branches and tags - name: Setup environment variables run: | echo "TODAY=$(date +'%Y-%m-%d')" >> $GITHUB_ENV echo "CONDA_ENV_FILE=ci/requirements/environment.yaml" >> $GITHUB_ENV - name: Setup micromamba uses: mamba-org/setup-micromamba@v2 with: environment-file: ${{ env.CONDA_ENV_FILE }} environment-name: xsar-tests cache-environment: true cache-environment-key: "${{runner.os}}-${{runner.arch}}-py${{matrix.python-version}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}" create-args: >- python=${{matrix.python-version}} - name: Install xsar run: | python -m pip install --no-deps -e . - name: Import xsar run: | python -c "import xsar" - name: Run tests run: | python -m pytest --cov=xsar xsar-2025.03.07/.github/workflows/conda-feedstock-check.yml000066400000000000000000000036511476257143200233330ustar00rootroot00000000000000name: Conda feedstock test # this workflow generate the documentation, using conda-feedstock # it doesn't install xsar from the repo, but with `conda install -c conda-forge xsar` on: workflow_dispatch: schedule: - cron: '00 23 * * 0' jobs: dynamic-matrix: # from https://michaelheap.com/dynamic-matrix-generation-github-actions/ runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - id: get-matrix run: | echo "get matrix for event ${{ github.event_name }}" echo "::echo::on" python .github/actions/dynamic_matrix.py ${{ github.event_name }} outputs: os_matrix: ${{ steps.get-matrix.outputs.os_matrix }} python_version_matrix: ${{ steps.get-matrix.outputs.python_version_matrix }} build: needs: dynamic-matrix strategy: fail-fast: false matrix: os: ${{ fromJson(needs.dynamic-matrix.outputs.os_matrix) }} python-version: ${{ fromJson(needs.dynamic-matrix.outputs.python_version_matrix) }} runs-on: ${{ matrix.os }} defaults: run: shell: bash -l {0} name: python ${{ matrix.python-version }} on ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Strip python version run: cat environment.yml | egrep -vw python > environment-nopython.yml - uses: conda-incubator/setup-miniconda@v3 with: auto-update-conda: true activate-environment: xsar environment-file: environment-nopython.yml condarc-file: condarc.yml python-version: ${{ matrix.python-version }} - name: install xsar from feedstock run: | conda install -c conda-forge xsar (cd docs ; pip install -r ../requirements.txt) - name: List Packages run: | python -V conda info conda list - name: Documentation test run: | cd docs make html xsar-2025.03.07/.github/workflows/publish.yml000066400000000000000000000023701476257143200206720ustar00rootroot00000000000000name: Upload Package to PyPI on: release: types: [created] jobs: build: name: Build packages runs-on: ubuntu-latest if: github.repository == 'umr-lops/xsar' steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.x" - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install build twine - name: Build run: | python -m build --sdist --outdir dist/ . - name: Check the built archives run: | twine check dist/* - name: Upload build artifacts uses: actions/upload-artifact@v4 with: name: packages path: dist/* pypi-publish: name: Upload to PyPI runs-on: ubuntu-latest needs: build environment: name: pypi url: https://pypi.org/p/xsar permissions: id-token: write steps: - name: Download build artifacts uses: actions/download-artifact@v4 with: name: packages path: dist/ - name: Publish to PyPI uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc xsar-2025.03.07/.github/workflows/upstream-dev.yaml000066400000000000000000000047721476257143200220110ustar00rootroot00000000000000name: upstream-dev CI on: push: branches: [main] pull_request: branches: [main] schedule: - cron: "0 18 * * 0" # Weekly "On Sundays at 18:00" UTC workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: detect-test-upstream-trigger: name: "Detect CI Trigger: [test-upstream]" if: github.event_name == 'push' || github.event_name == 'pull_request' runs-on: ubuntu-latest outputs: triggered: ${{ steps.detect-trigger.outputs.trigger-found }} steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - uses: xarray-contrib/ci-trigger@v1.2 id: detect-trigger with: keyword: "[test-upstream]" upstream-dev: name: upstream-dev runs-on: ubuntu-latest needs: detect-test-upstream-trigger if: | always() && github.repository == 'umr-lops/xsar' && ( github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || needs.detect-test-upstream-trigger.outputs.triggered == 'true' || contains(github.event.pull_request.labels.*.name, 'run-upstream') ) defaults: run: shell: bash -l {0} strategy: fail-fast: false matrix: python-version: ["3.12"] steps: - name: checkout the repository uses: actions/checkout@v4 with: # need to fetch all tags to get a correct version fetch-depth: 0 # fetch all branches and tags - name: set up conda environment uses: mamba-org/setup-micromamba@v2 with: environment-file: ci/requirements/environment.yaml environment-name: tests create-args: >- python=${{ matrix.python-version }} pytest-reportlog - name: install upstream-dev dependencies run: bash ci/install-upstream-dev.sh - name: install the package run: python -m pip install --no-deps -e . - name: show versions run: python -m pip list - name: import run: | python -c 'import xsar' - name: run tests if: success() id: status run: | python -m pytest -rf --report-log=pytest-log.jsonl - name: report failures if: | failure() && steps.tests.outcome == 'failure' && github.event_name == 'schedule' uses: xarray-contrib/issue-from-pytest-log@v1 with: log-path: pytest-log.jsonl xsar-2025.03.07/.gitignore000066400000000000000000000033531476257143200150760ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ pip-wheel-metadata/ share/python-wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # pipenv # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. # However, in case of collaboration, if having platform-specific dependencies or dependencies # having no cross-platform support, pipenv may install dependencies that don't work, or not # install all needed dependencies. #Pipfile.lock # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ .settings/ .project .pydevproject tmp/ #.idea/ /.idea/ dask-worker-space/xsar-2025.03.07/.gitlab-ci.yml000066400000000000000000000023051476257143200155360ustar00rootroot00000000000000stages: - Tests-Installation .install-conda-templates: &install-conda before_script: - cat /etc/*release - echo $SHELL - apt update --fix-missing && apt install -y wget git zip unzip - wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/anaconda.sh && /bin/bash ~/anaconda.sh -b -p /opt/conda && rm ~/anaconda.sh && ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bash_profile && echo "conda activate base" >> ~/.bash_profile - source ~/.bash_profile - source ./docs/scripts/conda_create_activate - source ./docs/scripts/conda_install_recommended .import-test-templates: &install-lib script: - pip install . - pip install -r requirements.txt - python test/test_xsar.py .test-templates: &test <<: *install-conda <<: *install-lib test_ubuntu_20.04: stage: Tests-Installation image: ubuntu:20.04 <<: *test #test_ubuntu_18.04: #stage: Tests-Installation #image: ubuntu:18.04 #<<: *test #test_ubuntu_16.04: #stage: Tests-Installation #image: ubuntu:16.04 #<<: *test #test_debian_10: #stage: Tests-Installation #image: debian:10 #<<: *test xsar-2025.03.07/.pre-commit-config.yaml000066400000000000000000000020571476257143200173670ustar00rootroot00000000000000ci: autoupdate_schedule: monthly # https://pre-commit.com/ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v5.0.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer - id: check-docstring-first - repo: https://github.com/psf/black rev: 24.10.0 hooks: - id: black - repo: https://github.com/keewis/blackdoc rev: v0.3.9 hooks: - id: blackdoc additional_dependencies: ["black==24.10.0"] - id: blackdoc-autoupdate-black - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.7.1 hooks: - id: ruff args: [--fix] - repo: https://github.com/kynan/nbstripout rev: 0.7.1 hooks: - id: nbstripout args: [--extra-keys=metadata.kernelspec metadata.language_info.version] - repo: https://github.com/rbubley/mirrors-prettier rev: v3.3.3 hooks: - id: prettier - repo: https://github.com/ComPWA/taplo-pre-commit rev: v0.9.3 hooks: - id: taplo-format - id: taplo-lint args: [--no-schema] xsar-2025.03.07/CONTRIBUTING.md000066400000000000000000000001011476257143200153230ustar00rootroot00000000000000Alexandre Levieux Olivier Archer Alexis Mouche Antoine Grouazexsar-2025.03.07/Dockerfile000066400000000000000000000025121476257143200150740ustar00rootroot00000000000000FROM ubuntu:20.04 # BASIC USAGE # # user must be in docker group (if not prefix sudo when you used docker) # sudo gpasswd -a $USER docker # newgrp docker # logout to your session # # docker build -f Dockerfile . -t xsar_image # docker run -i -t -d --name='container_xsar_image' xsar_image:latest /bin/bash # docker attach container_xsar_image ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 ENV PATH /opt/conda/bin:$PATH ## for apt to be noninteractive ARG DEBIAN_FRONTEND=noninteractive ARG DEBCONF_NONINTERACTIVE_SEEN=true RUN echo Install Basic Command RUN apt-get update --fix-missing && apt-get install -y wget bzip2 git RUN echo Install Conda # miniconda install RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/anaconda.sh && \ /bin/bash ~/anaconda.sh -b -p /opt/conda && \ rm ~/anaconda.sh && \ ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \ echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \ echo "conda activate base" >> ~/.bashrc # create an empty conda env that is pre-activated RUN conda create -n xsar RUN echo "conda activate xsar" >> ~/.bashrc RUN conda install -c conda-forge 'python<3.9' gdal pyarrow rasterio mkl pyarrow 'llvmlite<0.32' dask distributed RUN pip install git+https://gitlab.ifremer.fr/sarlib/saroumane.git # image is now created xsar-2025.03.07/LICENSE000066400000000000000000000020501476257143200141040ustar00rootroot00000000000000MIT License Copyright (c) 2021 Ifremer 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. xsar-2025.03.07/MANIFEST.in000066400000000000000000000000351476257143200146360ustar00rootroot00000000000000include src/xsar/config.yml xsar-2025.03.07/README.md000066400000000000000000000075611476257143200143720ustar00rootroot00000000000000![Install test](https://github.com/umr-lops/xsar/actions/workflows/install-test.yml/badge.svg) # xsar Synthetic Aperture Radar (SAR) Level-1 GRD python mapper for efficient xarray/dask based processing This python library allow to apply different operation on SAR images such as: - calibration - de-noising - re-sampling The library is working regardless it is a **Sentinel-1**, a **RadarSAT-2** or a **RCM** product. The library is providing variables such as `longitude` , `latitude`, `incidence_angle` or `sigma0` at native product resolution or coarser resolution. The library perform resampling that are suitable for GRD (i.e. ground projected) SAR images. The same method is used for WV SLC, and one can consider the approximation still valid because the WV image is only 20 km X 20 km. But for TOPS (IW or EW) SLC products we recommend to use [xsarslc](https://github.com/umr-lops/xsar_slc.git) # Install ## Conda 1) Install `xsar` (without the readers) For a faster installation and less conflicts between packages, it is better to make the installation with `micromamba` ```bash conda install -c conda-forge mamba ``` 2) install `xsar` (without the readers) ```bash micromamba install -c conda-forge xsar ``` 3) Add optional dependencies - Add use of Radarsat-2 : ```bash micromamba install -c conda-forge xradarsat2 ``` - Add use of RCM (RadarSat Constellation Mission) ```bash pip install xarray-safe-rcm ``` - Add use of Sentinel-1 ```bash micromamba install -c conda-forge xarray-safe-s1 ``` ## Pypi 1) install `xsar` (this will only allow to use Sentinel-1) ```bash pip install xsar ``` 2) install `xsar` with optional dependencies (to use Radarsat-2, RCM...) - install `xsar` including Sentinel-1 : ```bash pip install xsar[S1] ``` - install `xsar` including Radarsat-2 : ```bash pip install xsar[RS2] ``` - install `xsar` including RCM : ```bash pip install xsar[RCM] ``` - install `xsar` including multiple readers (here Radarsat-2 and RCM): ```bash pip install xsar[RS2,RCM] ``` ```python >>> import xsar >>> import xarray >>> xarray.open_dataset('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE') Dimensions: (atrack: 16778, pol: 2, xtrack: 25187) Coordinates: * atrack (atrack) int64 0 1 2 3 4 ... 16774 16775 16776 16777 * pol (pol) object 'VV' 'VH' * xtrack (xtrack) int64 0 1 2 3 4 ... 25183 25184 25185 25186 spatial_ref int64 ... Data variables: (12/19) time (atrack) timedelta64[ns] ... digital_number (pol, atrack, xtrack) uint16 ... land_mask (atrack, xtrack) int8 ... ground_heading (atrack, xtrack) float32 ... sigma0_raw (pol, atrack, xtrack) float64 ... nesz (pol, atrack, xtrack) float64 ... ... ... longitude (atrack, xtrack) float64 ... latitude (atrack, xtrack) float64 ... velocity (atrack) float64 ... range_ground_spacing (xtrack) float64 ... sigma0 (pol, atrack, xtrack) float64 ... gamma0 (pol, atrack, xtrack) float64 ... Attributes: (12/14) ipf: 2.84 platform: SENTINEL-1A swath: IW product: GRDH pols: VV VH name: SENTINEL1_DS:/home/oarcher/SAFE/S1A_IW_GRDH_1SDV_20170... ... ... footprint: POLYGON ((-67.84221143971432 20.72564283093837, -70.22... coverage: 170km * 251km (atrack * xtrack ) pixel_atrack_m: 10.152619433217325 pixel_xtrack_m: 9.986179379582332 orbit_pass: Descending platform_heading: -167.7668824808032 ``` # More information For more install options and to use xsar, see [documentation](https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsar/) xsar-2025.03.07/README_dev.md000066400000000000000000000036671476257143200152330ustar00rootroot00000000000000# Developement notes ## Making a new conda release ### When ? The [conda-feedstok workflow](https://github.com/umr-lops/xsar/actions/workflows/conda-feedstock-check.yml) is scheduled once a week. It's main purpose is to check that the documentation from the dev branch can be generated with the conda package. If not, an error will be raised, indicating that's we need to build a new conda release. ### How ? Conda package can only be built if a release tag has been set * Go to [new release](https://github.com/umr-lops/xsar/releases/new) and choose a tag name like `v0.9` * Download the `.tar.gz` you've just created, and get `sha256` ``` curl -sL https://github.com/umr-lops/xsar/archive/refs/tags/v0.9.1.tar.gz | openssl sha256 ``` * fork https://github.com/conda-forge/xsar-feedstock * In the forked repository, edit `main/recipe/meta.yaml` * Change `{% set version = "0.7" %}` to the new tag you've just created (without the 'v') * Change `sha256: a68663...fc1c28` to the `sha256` you've computed above * Check needed dependancies The `run` section should be a copy/paste from `dependancies` section in [environment.yml](https://github.com/umr-lops/xsar/blob/develop/environment.yml) * Submit the pull request, and follow instruction See all checkboxes, and don't forget to add a comment `@conda-forge-admin, please rerender` * If possible, wait for a reviewer for comments * Merge the pull request * After a while (30m-2h), you should * See your new versio under https://github.com/conda-forge/xsar-feedstock * Find the new version with ``` conda search -c conda-forge xsar ``` * Manually trigger workflow https://github.com/umr-lops/xsar/actions/workflows/conda-feedstock-check.yml If everything is correct, the workflow should success. Otherwise, it seems that there is a problem with the package. Fix it, and go to step 0, increasing the version number by 0.0.1.. xsar-2025.03.07/ci/000077500000000000000000000000001476257143200134755ustar00rootroot00000000000000xsar-2025.03.07/ci/install-upstream-dev.sh000066400000000000000000000005721476257143200201150ustar00rootroot00000000000000#!/usr/bin/env bash conda remove -y --force cytoolz numpy xarray toolz python-dateutil pandas python -m pip install \ -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple \ --no-deps \ --pre \ --upgrade \ numpy \ pandas \ xarray python -m pip install --upgrade \ git+https://github.com/pytoolz/toolz \ git+https://github.com/dateutil/dateutil xsar-2025.03.07/ci/requirements/000077500000000000000000000000001476257143200162205ustar00rootroot00000000000000xsar-2025.03.07/ci/requirements/docs.yaml000066400000000000000000000001701476257143200200320ustar00rootroot00000000000000name: xsar-docs channels: - conda-forge dependencies: - python=3.11 - sphinx>=4 - sphinx_book_theme - ipython xsar-2025.03.07/ci/requirements/environment.yaml000066400000000000000000000005521476257143200214520ustar00rootroot00000000000000name: xsar-tests channels: - conda-forge dependencies: - ipython - python - pre-commit - pytest - pytest-reportlog - pytest-cov - numpy - toolz - cytoolz - python-dateutil - construct - fsspec - xarray - dask - distributed - aiohttp - rasterio - cartopy - pyproj - scipy - shapely - geopandas - lxml - rioxarray xsar-2025.03.07/condarc.yml000066400000000000000000000000371476257143200152360ustar00rootroot00000000000000always_yes: true quiet: true xsar-2025.03.07/docs/000077500000000000000000000000001476257143200140325ustar00rootroot00000000000000xsar-2025.03.07/docs/Makefile000066400000000000000000000012421476257143200154710ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line, and also # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile pip install -r ../requirements_doc.txt @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) xsar-2025.03.07/docs/_static/000077500000000000000000000000001476257143200154605ustar00rootroot00000000000000xsar-2025.03.07/docs/_static/css/000077500000000000000000000000001476257143200162505ustar00rootroot00000000000000xsar-2025.03.07/docs/_static/css/xsar.css000066400000000000000000000001761476257143200177430ustar00rootroot00000000000000@import url("theme.css"); .wy-nav-content { max-width: 1000px !important; } dl.py.property { display: block !important; } xsar-2025.03.07/docs/_static/uml/000077500000000000000000000000001476257143200162555ustar00rootroot00000000000000xsar-2025.03.07/docs/_static/uml/classes_all_attributes.png000066400000000000000000032100671476257143200235270ustar00rootroot00000000000000PNG  IHDR bKGD IDATx}uGy O)Ad%9TD+&F0Ǭ'WN6"=NNemi\3fH G$:kຯ{>͟.ʲ,[ڥX&! @meP U.袪'1.]ZeYUȊgW=X~}}9 : U/8\qijjzdɒL<RE,62 LRE+k(qW^;ճg466oΝ;yƊ+r%dȐ!ѣG훓N:)&Mo~jH,e6,\0Is_=۶m /$8qbʲLYٺuk-[$ꪫ2{=mkkٳsgfydze˖Y&wqGnݚ3g|v)}JN2ثw)Ùw=ztΝ$7o^Z[[womݖ;3?3lذt-y睗e˖eX&{?! ?~dѢEٱcs'&Ioߞk׮ͭޚ#Fdƌ{}k׮?z`,XK.$zjN>_c=v+I_~ϟ\tEQReoX&!cǎ,^8w^ =zd3gNڵks裏NϞ=3nܸ<3{[o+СCӭ[ <8{n{#>8eb˖-˔)Sr9d͚5?K/4W^yeڽ>m۶̜93?odys9䩧joƍ9ܜ9sdYjUƎӧg޼y{ͨQ2dȐ$_#8">h6mڴzE(һw=:|A-Zo|ݻaÆ$ɱ_A,cǎ_>}_~wiӦeΜ9ٺu?i:+zj~?Ȝ9s2a„; 7ܐ|+o…>}z &dǎYh>8qbʲLYimmL2%^xa&M=)bw?LCl„ y'ּؘK{׽{9rkÇq_|1ofL?~3̚5_^{-&Mx… IА!CoδiWUw\du9eb---馛2|'EQ(̞=;I}=9cS $ٴiS>{ݻ'޷`;9ꨣڷE~I^z)_ѣG'I?_3fL9v8.G?ʌ3ꫯ-eY;He3---{=kӦMI֭[>yw>Ѷs=ygRYf%I.\x@L ~;ICCC}kI.]v4@G$ pܹ3$׿$y8SNW\y/gy^$innؽ駟Nvi׾/?aV\ W^y%KSSS 2]fرٸqc~_dyOfܹ|_{.nV\/8Gyd̙~~ 2$W\qE}Ѽ;Y~}fΜ7|=nݺt5EQo~…ַ'tRN?Ϻcǎ[.7|s+wnu].,]w]^}|y7r]weܸq9s]w}EYe#:(x4557o 7ܐ{,7nL߾}3~ 4(zkdĈ2eJfϞ$9k͊+sΜ~O~:kz?C=ק_~3fLn喜p I:thʲ̋/>}䳟l#G̳>۹֭ː!Cv6pl۶-^^zs\/窫ʀX"?)7nL/~1SNe]#dرc?[zuO(˲z@GVE~eiC :~ Ŗ-[2lذe5k֤o߾UO:!LQ>}pPڵk'Ȍ3*^tFEYe#޸q2`e͛7'z,mz۰aC~)2^xaxUO:.UzݻwƏ??sL/^\, ͙4iRu#<2_\,eժU:ujSfʕyW+\tFb=ܓAeر9wqtJbܒ%K2eʔtڵZ.]rEe@g$ ЉZ*/rN{SNڵkW 2: :4v92'pB+XtVbT[[[/^iӦ(3y{ikk;Ϊ(˲z3f̘ :4sL5IrG$Ilْ_=O=TF]VXPkC=$?~ EYe#$ɒ%K*^tRKTv62 LjC,62 LjC,62 LjC,62 LjC,62 LjC,62 LjC,62 LjC,62 LjC,6,˪GK/zt(WN >%б̟? b֊3`pڴiSV^?4bފŋTCK,ɓ2]^ePbԆX&! TnKQ)"zΧkݻwzNիWϞ=ؘo=;wznK.ӧO3s̬ZeSe2eJʲ̗Ҷm /$I&N,Senݚe˖%I̞=ʙ{֬]6rK֮]SO=5ӧO+^ X&@ҫW}Uاw=ztΝ$7o^Z[[ٟ]f8qbx\s53uԔeL @xI۷5[oȑ#ztb+$߿WSE.$ɝwY20pg(_$9swe˖$|n)Æ KϞ=ӷo\pyᇳsswؑŋˠAңG >7os=N:)cƌ?޸ҥK3iҤ 6,=\^}\|ř={v.ƺcǦT*e̘1ISfڴiyWrva2}}}M/o3,1s͠AOdС7pC_sGwݤ._SYY^z(E/~IPVV֢̽{NQ$y7ZgzlhhH]]]ٓ=z4wٲeIoqw~_e!GI]]]*++3mڴYYMQ d˖-YdIJRƍ7֝{;wn.袬[.{ITʷ$ITzW2s}̽C&[gzܹsz왎;fΝ)JyGΝӽ{ر#͞6[kkhk:P9fCdϞ=$OԪ{󿝃{}2,!/R.G?ʽޛ]f̘1y73?|ψ#dɒE/I{,_<9sf>Ɓx۷oWs7fJ~ZgzLqe׮]Y|y=`vڵ߽5*It&555Yvmqn[o5O4v\?xdIZ~wm0gΜo;,?Uٓh CD}}}Ǝ뮻.GrfY~}?ܹI<3ihhoo|)J6lXСCq\{olQ_~9vXf2}<ٶm[VZ)SSNnuw1I>?uuuM7ݔȼyұcꫯΑGYfg?Y_*SLIyyy},֭˫+V_駟~Kk׮˹+sm@fϞ{/ٓ7x#sOo|>[oqe{{RET*u8P… 3a„r@M>=7pC㿟}TTT裏nR7w\qYfM?3=X^yt%'pB.\xᅍCjjjrW'?I6nܘ#<2FJEEE%I>;N,ޟ!^~)JYfM*++3o޼|_L|wߝ.,O=TvޝSO=5_Wsi5yVZ=&Immmկfɒ%yWӳg|ŜuY-~֭e]z(;w__+_JoL\xᅹ[S]6]tQ~#̿ۿeڴi|;Hl۶=E|Cȑ#//ӧAEQ#? 2$}Yo-Z'Ϯ; ^e6 x١^ep0,`?E+culR# :eX& 28h AðLET*u8PHYYY?!hΝٶm[ 𮹳c['m?18=w1)ep;묳2a„!hѢEe:u˰Lep0,a͛7/EQ(s1z=sw4s.]:@0,ڡK/4R)UUU֙4iRJRQڌa4 aX& 2<9sңGt-gyf/_go޼9gN:W^5jT~ƚ!C(ϔ)S$guV-[?>s9crYg{^oޢ-]dIk׮̈́ һwƵ{;vlz葲~Yl>ihhȗtI֭[<Ȝ{{{ ̰Lh3mڴ\~yc6Æ ˣ>7fR]]<֭[o9Ilٲ^:eeeM7ݔ$2hР~)Jٳ~o짟~:Cg?37cKjǎR1c$INiӦW_ʕ+sa%I^x <8VŋiӦ,X so~f=M>=sgyrI'e̘1ynvET*u8P… 3a„rP:䓳f͚X"7ӸSUUիWloϤIk}(oK/o߾I;3&Lȸqx|>|_mq_{׻5jTFYf(cK;vl'?ɨQe0aB,^8۸~|CJرqCP˗7OM7ݔC?ߢE2q]sgN.]dРAM*++ӿY&6lhUwߝ$9sv9Çӟq}җ+C ͛3wV} 3k֬gli?{z̸t$ȑ#?'pB>;Oק*kUy睗$644L׮]3r^z)^xa~{M׮]3f̘-i?O=G?nqƖNF$Yti]Y}Ϟ='I?1"K,IQ2 \YYYO'|2۶m˪U2eʔt)խkrqe֬Y[fݺucŋ~ٹsgz{??֭[keڴiٰaC̖dlIsGf֬Y~Wʔ)SR^^| _3<7RaÆ~fe@;4o޼E5k֤gϞ?~̙qիWz|hU}TTT䩧ʧ?̜93{Ωm۶E]$>}zwgy&cƌ/~dСٹsg{t)W]u~'fƌg?~-ؒڕ+W(s=I](f?X"矟>}2cƌTVV!EQ|GI'I&#̇?,]4ws嗷ԊRTjpE f„ mCТE2q]sgN{ AðL8E+cʡбRC7C[ vh޼y)"EQcye}?О Х^RRߖ.̰Lep0,a@s9ѣGu3<3˗/7oޜٳgONҫW5*?pc͐!CREgʔ)I:-[8 \}}}M/UUUׯ_;$}פ!>`v횑#G6K ({ov1c7|zgX&seee>}z|l۶-Vʔ)SҩSTWWkqYf?qnݚueٰaCӷo$9v\wuG>c=6/sgΝ}ж vh޼y)"k֬IϞ=3̙3'93ҫWѪ$SO=Oә9sfzSO=5۶m<.(I2}t=SxN8ᄶ_V^ߵwqL:ujȑ+u֌?>;vhHmΰLhǞ;6=zHYYYN?,[lv… 3bĈTTTk׮LuuuӢs͛(m۶,_7.WnU[li(\uUI7~ٻh;e@; /dYjU/^M6e;w>(.]4&MʰasW__ٳg.kٗ^ziJRriT*T*e׮]IcǦT*e̘1Iٳg__q\wu|35kVΝ 6+7ߜ|+Ωʖ-[r%䪫ƍc6Æ ˣ>gd2lذ;+Wlw;t[o5o9z러߸qcn-թɓO>nݺe曓4Yfe֬Yy׳p(++'d2Ϛ5kv@xGR[[zɼym۶?>۷ogwߝ$9sw9Çӟ$Mkɒ%СCFݤ" O?^{%'?|{͛ׯ̘1#~x;;a544d֭ҥK˛=ӧO|_Neeezꕢ(RE/&I~GqDw!vXud˞={GϞ=7x]H9sf&N_>}z K.]ҽ{f$ٸqcg=zhN:%I}{Ϟ=ѣG$f͚Y`Adݺuy衇r~{xo PΝӽ{ر#͞6[;s3w\tEYn]ٓRo}[IREQ<|+m޼y׀жp7O?Ag;wN=cǎlݺw7mڔ$h;wNϞ=ӱcܹ3Ri3};No~3^z~{xo ԨQ$K.m^SSk6Y۽{w/_̜93G}t۷:Cn[o5OzJ IDAT?eǎyꩧ=Y~}ү_rnKG?Qʲ`f;$}d!>`v횑#Gqe׮]Y|yg_~0vjrN6-oFo[o%\tneX&SW_}u<̚5+?R___W2eJ˛va:th6nܘk6555پ}{~x㍭},֭˫+V_駟綶O=z_+Vd۶mYjULN:{ذaݻwV\d0`@n}>krqe֬Y[fݺuhmۖ(rW69<_}=g^z塇'>$ɼyRE֬Y_=EQ+x>vڕRR'jjjREEw|&l"O=T>Og̙ݻwN=l۶-<@.$y;L(=Iя~4GN'cf9sI'宻=ܓ &4}/EQ45jTH}}>:ꨣ2eʔJ̞=O^E&E Ν|ɩkQHr-nȪU޶;bѢE8q;`١оx㍙={v[Rep@|9R__o1o3a„ CLQ+ؼyRE֬Y_=EQ+xOΦ%KW^qر>3(JJQYpa&LQ8-Z('N]5wvha@;#EQ(tҥ 44iRJRQh  2c=@{eX& 28h ?cǦG)++駟e˖v׮]YpaFt5Ξ={͛(m۶,_7.WnQ>ڎaN }zo͛s夓Nʘ1c7mذ!̢E`GImmm+Vw>ڎaN]~ٲeK3bĈ2rK6lذ :4sI^rQGeƌ` #Fk׮۷oڜp M3gN^y̟??ԧR^^;HTʌ3Z~I vjҥI#G6Y߿AI2z<֫s[g'x"_|qV\ݻw'I֮]C6-Y$:tѣYQQ駟kh:khh֭[ӥK7{ާO[Z]]]ok-[4y~o^7pCÓ$~zN;$I=_9c;'mxu9ݻwώ;R__ymmms=7sE]ueϞ=)Jַ$)JMꋢx[WQ d˖-YdIJRƍ7ӳgt1;wLT3ܯ|25jTdҥMkjjv&kwSQQ3g裏n6}}߭[[>cރ*<"Fаb @jh` 24!XdU\fXDJ׀Z-'@7T 1FpJE$jb@A-ZLѕF "Oݻww]&MgqF -[d޼yٶm[ݛ+W殻:lO|ٰaC6nܘիWW_\p\կ^H]]]nݚo}[)2Ç[ҧO|+_˳sfѢE7yG@2,NS}ի3dȐ\q֭[/eʔ)0`@RE$ɒ%K2y,X ={L޽s}eĉI <wܑׯ_SSS~sz*}̈́ ҩS/+V̞=}ݺu3}{֭^:;wNYYn}=)˲h"]v͸qsSr^Ȕ)S۷gƌӧOZh;fYre}ͲeQE?::tHΝ3f̘+zy;v4QEΝ߿__qߢ(+k׮͈#Ү]i&^xaVZus.ei_СCnݺ}zO_=K,O|xz꩓p1,NSgΎ;RSSTTTd{y>3lذ̚5+;vL.]2eʔL81555_rL?^?xn:ݻwϼyr947k֬ks%"ŋSeLrtyo޼L2%gyfgڶmA5X0`@z~cX&k׮j*w֭Ν;s 7dرcHQ׾$y;}ݗW_}5#FYgQF<;wi߾}}C׿ۿ%I~uƓmԩo~\wuSVҮ]Fw$ٲeK{۷oEI6}2kyp$Ɇ Ok9l}~֭[O ;24Բe˴k.ݻݯmv饗榛nW_ 6)2$eY6/=,ȕW^{,;vȲeReƍo~?:tH,^^xQ}9sͿ˿4ײe˴o>ˮ]=o&I*++s^_bw~mݖLǎ[}F"7 ѣ$+Vhm۶K 8UV2SNM׮]Mݻ۴iwy瞛}{ܫCY~}3LUUU-[(#׍7.ϪU[sggGA/m۶… ݿ˓>.?xZn#G׻U˖-sf֭rgڴiYo߾]گ8p`zapөSL>=>hvޝw4iR***Ԟq6lXlْye۶mٻwoV\?OdÆ ٸqcV^W_}5\pqW^x!uuuٺuko, >[nI>}|%˗/Ν;S[[Efϟ͛1ߑ ><;wΚ5k昏Yhar-ݻwOٵkW6lؐ'fͩIݏz^kM֭3gΜ\tEۿm߾}fϞիWgϞ=Yn]&M-Z 4-24էO^:C W\nݺK_RL.EQ䪫J,Y$'O΂ ҳg;w_&N$q?~:555ׯ1zꩧҷoL0!:uJ~bŊ|ٳ׭[<3;vlt5}͏~<?~|_e,߷n۶m)"C Ν;SEk_?h^YYk _BNΝ;STٓ{,W_}ud͚5)"?pL(r뭷&I;,3+IEQ?s)"w>쾺tI&,̘1}ϫ" ,7#gұc<g?[_w<SKQr)(,Y=h"sOά[=k m۶eӦM`281.]#=جu]weƌM8 sw/ݻs]w孷:p 1,>b8u76uL>–-[;x4ouOQy믧(̙3N |eYMN(dɒ?tTWWǟ]N5u8İLŋSEHV,YAu}ߜ͟?z:)3,7a„e#F{Z*_rs^~:r̙)2Eڵkƍ{fٲe)"?pu)"$ٿ,YTVVu0`@jjjr>sMQ)"~+׻tr=Ο??EQdϞ=YjU͛7?s:Ckk.;wΕW^z+s饗]vѣGڵhrYJ /Cfݺuy衇of…馛+4߼ys Kf…͓O> :4WN;6eY.Kݻ7eYf͚5I} 2|ٸqc̘1#_7gΜem61jԨeO~Gϙ3g?,Seg4cƌ?e˖q~/~>}znl޼97xc?q>ڳ8 ٳggǎIUUU***2`s=ټysYf^ߞK.$߿/^,3eʔ~a2k֬t1]tɔ)S2q/ˉI'?ɴm6W^ye˗gƌ4hP***2y;?<{"19?2,NS+VH9zϞ=s94_lY5k1c4XLfӦMG|1crF̻ロDz&1x{y_Kxk'YG͛:ˮ]ҪUTTT4߭[lذAΝ;$۷ϾӫW}Ν;sm?q6mڔ;v4oVYgwfrgM6 8}|%˗/Ν;S[[Efϟ͛;8 6,[lɼym۶ݻ7+W]wug.wݻwW^ɴiҭ[c'>lذ!7nիꫯ .8'±{>8 >}d2dHt-_җ2eʔ 0 uuu)"W]uU[nyg2v\wuڵkGy3~$ɲeRE~$I֭SE֬Y$YdI&O gϞݻwL81IRUU;wn|2۷oOQ_e)"?|^E9s; ZEEE?qJ+2|5ovW^iZ͚:bX&֯_cǦ}i۶m.lT7E={dժU)"EQyٱcGCܹs$o~W*"zڵk3bĈk.mڴɅ^UV5?9SN>h"]v͸qs5 7ܐ}M6ԩS.'?Ɂ-[<3cƌ'-[L^rE{޽{;|T _~9CͺuC7… sM7W^iP;s̔emӟtʲLYٿ:t萲,3r4k,/r̙$i޼yʲСCs硇5pر#ӦMܹse˖Hmmmz7oΐ!Ct,\0y'S[[Cf]w]dپ}{^|7]vY~:ÇsYf =DZcǦ,\velٲ%C d۶myg3lذ|_΢E;|T ٳggǎIUUU***2`s=ټy11cF߿Һut=9s{9x` #9Q8k֬HMMMƌvڥ{3gNFu}NueijŊI#G6Xٳ1 { P]]]vڕVZnݺWӧ… $6lOW^{,;vȲeReƍo}=i߾}ۗ]vHTfX&F$YbEm۶套^:3mڴ;Ss-[̵^[nߟiӦg}eڵ ~_7ӣG$ɸqZQ[o5g}vߟ$СC֯_$93SUUe˖(<#x9_$~y睗믿̰L8M|ԩSOG}4w~L4)}D6lؐ7fyWs4kӺu̙3']tQo=3o>gիgϞ[.&MJ-RSSS_w-O>W˗gΝ͢Eo~3Oկ^H]]]nݚo}[)2Ç?>|x:w5kxpn;_}yڵ+6mʵ^͛77y4TeX&իWgȐ!+ҭ[|K_ʔ)S2`ե(\uUq?~:555ׯ_]tɤIRef̘***`|H=|&;vO<~uݺu3S۷o&LN:_~YbEgGu6OY)eRE~$I֭3iҤ$Ieee֮]L2%;wΧ>[ysg׿h(y)(,Y0EN{'wyg֭[5 ʶm۲iӦ0tTWWp]ʃ͚:s]weƌMSawߝ/8eaX&eaX&3cƌ'-ZHǎ3z\}k[l^z墋.ʽޛ{&Iߟ%K*iݺu 袋REUW]uϟ_\^vڌ1"ڵK6mrfժU 2nH߾}ӦMt)^zi~'t5e lٲ%C ;IdɒL<9 ,HϞ=ӻww}8qb*~\GO>Yzu +"ݻwɓ3k֬;gqFHEEE,Xo|ѣG>Ϥcǎy'~J߾}3a„t)ˊ+?g>p)ʲ,:,EQdɒ%?~|SG7{kv\4(۶m˦MNp2TtTWWǟ]N5ue˖-ԩS}+dM eX&[oeٸqc~<3YgwS (xxM*++ceǎg>;wwyg_=wϟ??EQ믿(2gΜKySN,: w,{1bDFq=s̜95kpap?~HQիWS9amV(rye߾}G+"nć7hРF;wnSG8a ̙3SeQN.],ˬ]6IseYzt9eYfݺut,kI˗7Xn'aZEEE?@˖-ӹs,Z(?:GyS8Zj?\rI&OO~9s:Qy玺v'1 v?(:icMXBd-#qD&şS[*oAb5I&Y-SM dM"(V)?Ac^ 6suuz]n>UƎ4jʔ)jhhHeիW0 #Gwi0 ׫VbillO?CC{ĉ﫹״|r3F_LeeRSS5h WǏ޽{m5Q 񑟟bccuQ'%''nx)4dY`^|EmܸQ4tPM4I|IrEEEO^5`eee);; ֭[ }Ptt$Iqqq2MS&M$(%%EOVnn٣ӧ]VVp)33SUUUڷovGijرrrr?4ILTDDm6۞Z .իU^^?XUUU47@kh ݻ+ @֭UUU)""9^^SLŋ[{$I&LwssStt.^>p  I:sm,??_NNN TppK:u4f7Peem|ݺuJJJR=BBBԯ_?:tHeee]h /7|SǎSttzqٚRLJHHз~ 8ollTMMz)///r{vJVVU2 ꫯ$I}ח .(33STZZ={h޼y-8޷o_IҹsnJn,8prrҥKƫ[7 չ ٳk.UWW+??_i*>>^ׯm!C^[oewMjhhPmmógϞ$nnn񑋋._,4[FձI9sK/Q?~aX_YY)4ϝ;'?M3oFn,8 ӧuĉ=<>^MMM*,,tvZzjjjrΟ?_Ν?l-\؍}7:sBCCtSr\f1ctKѣGpB۷K:y򤊊t1?k566ܹszdڔ'**J~~~*..k-[f}Uiif̘2edd( C]f G}TQUU6oެ+W*==]...74͟?_JKKѣuZe˖H:pf͚%WWWeddW,ߠtC2 CiiiW֜9s3Ϩo߾zGxbRa詧oذAwq eddhذakС6mzaÆiΝ_e˖)oSSLӔi׬a WMM PXXX3gG@\˃ IDAThJNNnk׮];w$XahdkP)Iahڵ;S}/P\\,X>}hСzw}vM:!o!0l=Ǐ/0TWW5k,k~/Ţ7W{{[]Grta^*࿘aͥ~S^u:p@5ÇWEEN:u>yyyJHHn3_@ й6mڤ!4/ɓ'N6m5u!4W0^+Vd+X.0t!>}Za(--&ha!*a(77WSN(_<%$$vNSw'Y&@IOOa2 C8UQQakN544\0 uC >!ߵիWwwdpetE4Mvw6i*))$5b ; 2 i4i$)55UO>˵amٲE3gTJJVZ2XBYYYZ|\;wԴiN'OԼy󔚚%K-Z$4j-\PWVyy>cUUU)**Jo|||dƍ''''JKK$4MEDDh֭ڶm[$&&j:y򤊋/)--Min|ܸq2MS#F<==u}4M6/**J~~~*..nwV'''eggkRvv5[*##CheeeIr)))JIIӧ={hvs)<<\yyyTUUۧ*EDDrƎ{sm۶uwEn~h ciĈٳjX,JLLc###tR_III1c222ۡ^´e]tI .lWEjjvㅅ:}LrCY%iɒ%555߿]9j5GJLLÇ[]tiÆ U^4x`mݺUAAAJNNٳg3g<=Z&LPII***>~֯_|PEɑiJJJ4m8qIm?]_#eݯ_o9sn,66V{u344T/_?{>|XHHC٣uw7Peem|ݺuJII eᄏy~ۧ*EDDtx{W骯ה)St{=I҄ /꣏>rx.<<Hyϗbccj/RNj$3F!!!-$ᙶ 2zea7,j7VSS~Z!!!a2 C/$]p}>>>-۷$ܹs?I.\Pff$T̙sY4E}Z`FԨgϞr I*//wm$ەVm{wꫯ$I}חp٣yXߖs|3rkCLpC&NUViܹ*--jiz$Ii:@*--Ռ3TVV tk֬ѠA裏@555͛rJF]iii=znVkzoFn~Mh oPqq %2 C}e}Y}2 CW}} Њ+$IJLLƍկ_? 8Pof̘!IQXX-6nܨ? < ___ٳG;&///͛7OiOS5m1 ݙe:ӧO0 ^Zs3<}GŋJzVaq6laÆ]7GSSLӔi׬a WMM pػ+fΜ?ぁ*))ӕ,???}ݪ׮]4w\IAI2 Ck׮$y睊$W_|`GCջᆱ۷kԩyx ak9~xYf4M^{w$7ey+ba(77ft ÇWEEN:QzuVk8Ǹ"//O mF h;Ki&vw ~h ߴ,Mr9;;+ @&MҞ={O7ef罙#~9e_5///=zT;v(ygu=WNNNw?e70 -X@i47(??_aخ#GhԩUTTIQ`` YV9OkСP޽5qDjnn$0 ׫.~'%''nx8y{{S>N٧Ǐ+!!A^^^ٳuy㏚8qs窶nlٲ{М]iȑb]|YRۿU[sW}ɶY&Aqqq2MS&M$%&&j:y򤊋,IڹsM(}w:y͛T-Yn _ƍUYYNCդI'H-Z$4Oi4M555)++Sxx򔙙*۷OUUUPQQQ󚟫e0MS+W$/QەG~EDDڶmΞ=LZJG}JMMՓO>rmذA[l̙3UVL+VPVV/_n7WgekOTĨJi*00"**J~~~*..nW@IijYQQ!ߪ-+{[d[KDL%K(22R{$IRdd.]*___+))I3fPFFؽ{#wwwhݺu\E8pv|Weuu&Lf缚j5|,o;2cccw^P]|Y?lcƍg}y橸X͒#G(22YX@/ԩSڼTWWbH>s=zyٹs$iرvkwЖ9-ܢ3g؍u^9rDsa9;;o>UUU)""Mmqi=lU󭮧+{G#Y&g555z"___!0xbI҅ l/|M;vLիƍ{9USS#*ooo\_}$oĉ4i w}WبZքj}Po'''9;;nYVn+󊋋SUPP-[8t ~$)""B=zԾou=o7 eVM8QVܹsUZZ**4 /HLӴٳgk׮]V~~LT||֯_o7a-M>>>rqq˗efרQ:e}˗w&///544]UUUj/%Evs窤Įs VU/$mVR繽su7r|,Y TrrckwEz>|XԣG(??_a?ХKl2D$)>>^MMM*,,txڵku뭷S7m4>|XlC)??yƏ/Iڹs]]EE9rÙ;+Rt-bߗbQ\\:<ͰtR}ԨJ7oʕ+.^O<;vW_Udddu3ϨwJIIwf͚%rÙ;+n6m۶M?xs^%???}WZ:wo߮h=szGmkbّoyȵ~oibrss5uR\\AEEҴcw?~JFСCzWٳ{L=$9rDsW_}޽{멧mE:y|||twj=ztאɓ'ݟ9sx ]{ks+JKKdٳG/_hz{nIc=k5p5khȑM/_+Vt^hvzt:d9s/^њx@~>jEvcaW^[5rH͙3GwuóVҵsWs&{ÍSBB?62j4t%e@{۩W,4W0^+Vy@\;\ivw2\AL.#0dzq:Mzzm]8v***l НwީnHܲÇ;ֵz @Y&U~;vM&4-*-i (eJJJ$ITJJJuEEEi:p͎{MoLӴ]񄄄nN @Y&,FySeVVMy~Y͛7o[wm=1Mzl=JLLԈ#4x&lsmNNN&r@W;vT[[)S#kY&A2 v9rDSNmBMMMULLeddjب~ZCz'Wss$)==]a^wO?)99Yv\]]էOZCVV]M}||]}999ԩSsÇ'oooyzzק~)tq%$$K~~~={Ο?Q'N4w\{ٚ-[8|3,_\cƌ_6=SYYT u^n IDAT4Hw^[TBB|||X=zavWz PURRhyyyCFRaaa%47(..NijҤID͟?_'OTqq%I;wԴiN'OԼy󔚚%K͹`ڸq*++wiС4i>IҢEd<==u}4M&]QUULT`` yETTT\\܎NNNրk֗+<<\[nUFF***CʒG)))JIIӧ={hvsLLرc~Aiii$eggk۶mbhhpB^ZUUU(߿Kse-YD=ܣ&K"##tR_III1c2226ݻ+ @֭ەeҥ:~֯_|PEɑiJJJj"//O˗/#jҥKK6lPllzk֭ RrrΞ=ܜ9s!OOO=Z&LPII***oTYV_nP'NД)SWff-wXXl٢K.i…7%7WY&wxll0˗/mlܸq4o<YtEFF9K~~k7`}:uTКjY,I~X<6o<;w$;֮_~nڒ0y[[t#G{6l gggq>ۧ*EDD%{U__)Sŋ-ֽ{ &؍)::Z/^G}\xx $o1c($$Do*++m֭SRRzn7~СCF],ӳ= ÐaZx$… ڗ_~Yo;hKƍ5lFj+W_}%Iۼ9q&Mwߕk466V={5Z߾};jzIwvvjʽ<Կh˖-5q>:Krrj{Ϟ=p? @T^^p+~o]pARٳGkǧ+gܹs7%7W,jĉZjΝRYV^xAd0 ͞=[vRuue~zy h}nnn񑋋._,4[F)뫭Ull._>@{p777yyyAuuu着U{)I...ڵko߮͝;W%%%v5흳eeeiȐ!z[osssT[[ٳg%I~83gT@@^z%566?,__+++sIƠ,Y TrrckryEz>|XԣG(??_a?ХKl2D$)>>^MMM*,,txڵku뭷S7m4>|XlC)??yƏ/Iڹs]]EE9rÙ;+Rt-bߗbQ\\: TSS*m޼Y+WTzz\\\nx}O`lڴ=k.466f۶m`3իS[[[p oŊY`AgfX&V\k6ˊ+ogԩ ap)~c~8֬Y|k_˪URVVvԺ%K(y7RE-Z+JRCRE3uΎhթ?4u.2ޒ%KREȹ{χͪU{8 n喔J9fڴi)J?~|gG~ iðLNep0,>֬Y(>7oԩSӿ$[oshu떁fʔ)y:}W2y'={ѣo}+_~y[o1wygۿ?O}ڵm 8>&LHUUUzեv{EQ;l7ׯc sgٳg뗫:/#G$I,Ysƍ3~;={e]wڵ+ ,ȰaR^^s=7_~yzHof/_;#1eX&[o5cǎMϞ=O|"---0`@.\_=K.UW]1"VJTʜ9szvmٽ{w2a„G}4?ǎ 2 Ȝ9s2}׿q,X Yti_\dĈ0aBzg9Z,_`o~\w|8 dG]_fMt钚vUUU1bDl۶-Iv$ĉ80Ç?KMMM֭[a}ȑ9|p~{urW:=Pvնx̙3'guq+9sf6lؐ#G$I6oޜcvիW.vk2dH^|ŶAs7$&MPSOeIN{0dȐ ҫWkٳgOZ[[ӧOE0Iӟ4ٻwow*++OY={oOuuu*++}_L8p;ڙY|yd˖-yg2su~?>g}vʶ]߾}>hР$Ν;}v={~Ϝ'=x7+1,87eee9|pJQ?]vYӻw:t(A].];tX߽{1sw䦛nʖ-[ښR|+IRt̽~|3TUUW\_WW}^˼y2hРc׵k׌;6;vŋؘfݺuYbI4{#-_??<^W^z)ٹsg>R)ƍPۧOvmY~}ߟM6eƌ֭[}}:th/'޽{m۶̞=;۷oo?O2cƌTTT]eІ REx$I=REAɓs7g>|xo'ԩSj gԨQ2x̚5+ .СCӵkx㍹뮻2hР|TUUe׮])",Y$EQ_o(hѢ$I}}}f͚e˖eȐ!:th~L>=I2a„\|t] Ȍ3R*` f6mZ . k׮??nP_QQe˖K_R9\z饩3.466f۶m~[zujkkϮ'c]:;pfرcGÇ[/~^{-ƍd'ߊ+`ΎpF2,8i~̚5+[ńsϥ6g}vo㝰+Wk;}bŊۙ:ujg8# g(~NUUUy駳{\z饩̟cX{If͚TVVk_ZVZ֝_dIȋ/7x#EQdѢE'TT*:;*EQ>SN(V^+IXN2,ӆa6 aX& 28m g]ve6lXs/C=[n̤Inݺ$ݻSEϝwޙ$iiii~u׵}뭷2w|Mn2pL2%/B[͚5k}͙:uj߶ؘg„ J=R]]v8+ɓ'O>ٳgFo}[xǕapڱcGF멫Kccc;6{G?#={r7R)W^yetW_}5-JT*e̘1yG'IoߞQFeY|yϦ)cƌ$'ONT5\$5kVfϞ[fÆ ڵkdڵ6mZƍ_~9[n̙3`zꫯf̘1ٴiSܹ3>`K/ 0 I2v,\00`@̙ӧ.zvmٽ{w2a„}߿wu"Y85 37$ɤI:<{ꩧ2vuՔg9x`-I2~\tEy衇k׮ŋg)++k[[fMt钚v}2bĈ<ٶm[lG>yjjjnݺ#GÇmmڵI'8p`ޡljf0,0ٳgOw޽{p$;vh[8p ˗/Olٲ%r7vښ>}(vIիQٳ'~{SYY_bm{ݻ7ݻwOEEE>G aX&aӧO:t({=7|3IRUUնV[[|#W{ケ馛 ,//O߾}SVVÇT*se󙮾q馛e˖T*+_JT*ݻw:t(gΝdgwcX&$ɿvxvE _B'|]MsssG8q)A IDATbzYYY͛;w{ͪU2w{L2%---ihh{y睗c:ˑ#GА̝;7LQIv4iRdڵwؑ-[Ҭ 3wߝC _B|ݻ7۶mٳ}a͟??ַwlٲ%ӧOSWW=s'-ɓ?8Æ ?<7OdԩI 6(<I=z(3k֬,[,C СCgI &/N 6,ׯϨQrue5kV.\Ck׮'FQ*JN(R__o!IÇy;; pXzujkkϮ'c]:;ɴcǎ/n_"ZƍI8eg~;f֭[s{.xed?~|Ə18]:;˰LXjUHQ޽{g2,>$MRwvxOeǭ"';;{: aX& 2 +dӧOzK.$?ZҒL0!UUUѣGSWWֶ%K(߿? )"EQ{%Isssn ><={L~rW__rȑvoVΝ~֭[)S^8| 3Ы1cdӦMyof;ku_vmMq_֭[3s,X zk[-ܒR^zR*R*rܽo??dٲeٵkW^~ ><\sMm߾=Fի|455gMSSSƌs>NoenݻSWW &"y}~gرYpa*++3`̙3'ӧOO]]]~_;NF &GǼ+9sf6lؐ#G$I6oޜcǶխY&]tIMMMUUU1bDl۶3p*ܜ{{|РAٲeK={{7l۶-wnǼ3f̘2~$%\Yfkm;Ϟ={$}y}ӟs=tv*//O޽sС۷󦦦kW_}utMٲeKZ[[S*|%IR*EO(y駳{Y&R)SLҥKӷoߔ)JG\veǔӛap4iRdڵyvkGICCC2w 8mڿgϞywV7eʔC{'w^ZZZ~k>Ne讻J~2|ξ}$3fHEEEڮ]fرٱcG/^Fu]A峟l̙477(xI̚5+˖-ː!C2t<Ù>}zd„ w}?\pM]]].~7Çϴiү_\pYvm)v[~ s=ɓ'o3||O4 R7&I^x̟?=֯_T*eӦMtcT*}f͚$yꩧڭvrRaq'?Ӯ鬼<<U> wGy$W]uUf͚??ٱ /p̵V:I.bĉYhQݛ믿>H2 +dӧOzK.$?ZҒL0!UUUѣGSWWֶ%K(߿? )"EQZfMZQټysN566&Iz̝;7Gӭ[ 80SL /S{*+"/R̙sLٵkW,XaÆ[n̤Inݺ~_/R[[}k֡ɾݻwQE$nu]Es=77nӻw3]vYNynaX&^}Ռ3&6m?7|3˗/wqԁk׮ʹi2nܸٺukfΜ [om[R*ҫWٟYJRJRZZZNzɓ'T*kI̚5+g֭[aÆt5I}5*WԔg}6MMM3fL֯_߶Ծqƥٰaq*K.yG|$+W#<;vȨQ裏.3Ǐʕ+z_o>fimmҥKۭ744䗿eٿ/_ޖ/??wɼy>@3,@k׮ML8!Crwɺu:92ΏcdMG>5kҥKԴ[ʈ#g۶m]~}455e̘1't$?,Y$_fӟt?>̿ۿuިQ#HWUɺ+R]]z(vj[_xq̙:wz /Zuuu _|m t>2 ܜ{{|РAٓo=թLQ)"_$8OfԫWkٳgOZ[[ӧO?L?=ܹsS[[G|ݻwO޽;<_js//SYYy]vux?wN2 4iҤ$ڵkۭ766f֎9TUUeܹ8p`˃Ϟ=;x:VSLIKKK:<{ry祥k?(W^Y|y^{m'lܜ|;ѣG&NxB{(//ٳs{yG2o޼?tP6nn??_*#G9:ap뮻ү_̟??o߾'?Ɍ3RQQѮk׮;vlvؑŋ1̺ubŊ?lٲ%[n,\rIu 6,SOeϞ=ijj=۷oO]]]|Bx?gN=hѢ\~?ӧOn_>ϦM2cƌt-uuuhn gaÆe5jT 4(g3gΜTWW9EQoLg֬YYlY Cӓ$&L_ .Hmmmr^6lHQy'$=zHQ:hР;'+"A'zsgӦMYs1۶mnթs8fuVX tv aT+W̵^}eŊy3uΎ0,n͚5׾Z*eeeG[dIȋ/7x#EQdѢEpZtRJRgS(gԩ3իS[[v8i ]e>^xaz葢(RE~uv,xOe!7pC⊼[yWsvvj߾}>ΎIbX&{챔J̛7/6lXnݚ?)۳"'OYT*5s:;GWSc֭IwrSwy:;'QGp 3̚5kREx$I=REOf׮]Y`A nݺ2&Mʺu:;%K(߿? )"EQ(rfƍ?~|z={.KCCC3ټysN\]͡C_M߾}ӿ^;?;wey{H 'ZꔲU[P M+2JjgWe,֩u2mi鰫/*ZUѩZ햁vj+JDaBD43 ``0|>3|x͛W^y˵Ғ%Kdĉׯ_;'?ɛoo|__|SJkkk ҩLK/46mΝ;ap$KۭWTTdٿy.vV~2nܸvk| ߿Æ K455u+ t38#Icǎץ3n;IrcǰL8TTTdy7+$R!EQc^{-R!f:ϰL8\~I|co߾:ujk2of>;?odӦM'/rƎÇ'<6gX&bn92yܜ-[K_Roߞ 6˵IO|"[lɶm۲~Oʅ^oҒ͛7ꫯN޽:ϰLaV^(f͚$I߾}SE6lؐ$ɦM2k̛֬7/ՙ0aBZZZ裏o۫+Ix|9眓466siWSUU}{ ><]tQ<$6l83s^}ՇwѢEI(rw$I=v);'^Q*JN(r̜9dܸqٹsg^|p\Z*uuu+qN IðLkhhHQygK/(,Zcp*@Ϸ`,Xc>P2!EQ(12~v}]pG,رc3gΜgN]z]]{}ΰLRUU .ctg}67})//?j}^2lذ\vey}-sOf͚RN5G Hz IDATueƌַ~Ǵw<+r|]Pmcccjkkӿ 6,-?۸׿/8ԧ> 2˽lp}ݛ$8pCf޽ӧOߡfذaIT{"ׯڱ3#FxilĉYvm>SVV׿nN{zJǰLa***ҿ477g߾}fرCAo߾߿?G`ٻwo; |W$555G=ީXEqvW]=?~$??mޯ}ӦMK<֛e˖3fHkkk֭[wܑ3<3I/?]UWjO /0>`*++3o޼]plܸ1_~yyx vN?EۗkRSSӡoϨQrfڵٻwovڕK[oMCCCjG<innΖ-[/})۷oOccc v|]PM7ݔ|0y3gΜl߾2?Od˖-ٶm[֯_?O ;}W{ڣ4iRaÆ.=_?x } 7ܐ%KٱcG֬Yɓ'__r{MQ*;>'25jT֯_+Ȱa2{,\0#GL^՟qٸqcOn!Cѣsg͚59sf[mMMM6mڔYfe޼y΄ ҒG}4_}!EQgK/(hѢ.ں̝;vy]ŋv[wG#2b)J;vlwG9e 2$R)6mJ<ө?bS]]R͛7qg?YJRgIk׶[fX&pJ\1NTWWgҥOq:p'{o.̞=;'sYguwNy;]bŊecԩYhQsW7HȰL衞}L>=Leee&Lx SLIQ)"]w][ypzCfƌy;ke5jTzgڴi/|]1bDL{'y )"---Yn][˓$Wn[+"2sTWWܹ˽Jo~3.s=y7ٯ^x!uuu4hPS[[ǻ{i(vmIvW\qEۿ(2bĈlڴ)'ONSYY|3Yn a=s8qb6oޜ/;vwߝwKEEEJR-[$پ}{ƏUVeɒ%ٵkWxڵ+'Nnjj|466fΝo~LSs5dҥɂ R*ү_)J)JimmML>=R)]vYdٙ3gNmۖ 6W^]UWjfҤIΆ :Uveee{}(˖-˽{ξW}}}K/eʕy3k֬v{~ݠAR*2uԔˢE$)J8qbw}mƎ={omݖWʮ]2iҤ<'47pde@t7gϞ=illg?TUUe̘1Y|yZZZ:/\0[n]wݕK.~Ŋ)J;wn?Yxqjkk3`uYY|yyW^9jq1߿ Em|__|SJkkk ^uh<6X 2$Viٳgg=b뮻.'NL~2eʔ\zٴiSvnяÙ?~<u+;Ғ%K>$ofn$7Бa=IS[:thFݡ~)++Kmmm3&O=T^|$$ɥ^ڮ"'O#5_W8T;mڴ]6G=XM0]UWj'Ȯ]2qc|А\yٿa?}CI_~mxp>cX瞼kmw3wܜviׯ_ƍncX>gOxn#29p@ӧOTUUu>x{3pE6I?O>߿ $ijj:jN'R~:K:S^7o^>7pX}ݻw>믿%K$Ilْ<_W[?hРîqI;vz_߿o߾3wѡ~РAٷo_ߟ|0pݻ7*+IT{,8{ګԾW-[~:o>}֕wU]ݱꪫr7~;v{kRġ#gq{hߴiӒ$?plٲC3ښuuvw3Lkkk/O<8{,}ԩS+{}衇:s榛n:Y2of>;?;}WzՕJUUU=˒%K:\?HNt?***2gΜر#wygxG7iӦvk?_~9cǎߓ@{e@o;~z_"\s5PgԨQkvݻ7vҥKs뭷!m#GL}}}x477g˖-җ۷1Æ ;jqnʃ>⋙3gNoa'e˖l۶-ׯϟ\xᅝlL4)ٰaCHƌK=Տ3gNEeʔ)#807|s֯_l޼9W_}uz47 =ШQ~?>W\qE ٳgg…9rdzծ3ƍ3}p :thF?k̙֬3jkjjiӦ̚5+Kuuu&L<裹$ )"|x. <8?x>OtNQz(rJfٿnQ 7o>b͸qsμa2zUVi?+ԔO?=oV^x!?|&MMя~ww  =ݻ3{l۶-z6nܘ 0 7;7˖-_}G?Qvޝ3gvw, =PMMM}ٳ']tQ/~G?7#HwG|c=ܓ^{mnΝN;g9e@s477O>p}ݛf)緿mc[m>}ҿ{6,Iڀ}/++K^RYYnW^9x1~Z}}}^,Y$Ie˖OgRŻ>ʰa?ȝwޙۿ0l˰L聦M$yۭ755e˖-g̘֬[õ;#gyfZ[[$_~ylWw/o߾5\~{Fk6k׮޽{k׮,]4zkR^^V;rHssslْ/}Kپ}{3lذ<]ɗ$'e˖l۶-ׯϟ\x]>wΜ9۷o-Z)Sꯎcpe@4jԨ_>ǏW\aÆeYpaF^z?3qL>=7pCѣGϚ5k2s̶ښlڴ)fʼyR]] &%>h$Ɇ RE֬Y$mC'7oޜ(#RE׿uȓO>E[nd?s9'uuuill9sLEQC W_R;+JRCREV\alٿnQ?͛; pZjUgWgeݝ8r筷j /ϤI)Ϗ~̟?c2 jݙ={vmۖ_=7nL]]] o|蘆lٲ\~ٷo_~eݙ9sfw8e =PMMM}ٳ']tQ/~G?7#HwG<^:ìX" /;w:thf̘~f) /. Juuujkk<yo2t%֭[SWW:_{ g|\zp*2,N!۷ojժ,Y$vO<]veĉY~}d)J˒$K/+WϬYK_g|+_'?/_3f̘]6ϸqRUUٳggȑy衇# SիSVVv5553fLzꩼ?~|Ї$/ { :ka?}iʻ;8p@ݛ$8p?fĈwIGNuƀ}/++K^RYYnW^i_z2QQQAe߾}ٿ{=Nex̘1#Yn]kwqG<̴vC㣧?L8~5jTڬ]6{ͮ]tzihhHyyyw_Q*JN(r. IZjUgWgeݝ1,aV;~nTRRTR2ihhHQ)"#F8=8e@`J;Xz p IðLNesA^u' .6:v)^W$tߥR;;7mJn$SM(HEP`VRB ~mV98s8;,2ZMN:)]vM߾}3qĬ[fɒ%)zR]]޽{2UUUyݻw7ߜ,|ƏٻwoKݞ={hѢ7. H3tקy9_|TWWgϞW__=/BƏ={fkcǎuZ8f͚;6={LYYY>\8X0,"6mȑ#x̝;7y'ؘQFeժUI &T*/NԤ&7n̢Elٲ\~)Sf̙[駟sWUK#<.,cƌO?^z)]w]jkks7s|_͛swȕW^vmٴiSn̟??rK:7pCJR m۶e5kV6oޜ_ill̘1cbŊv`DL8̘1#/bfϞ /0=zȐ!Cp”JL:y\sMFs9袋f͚444 2$ƍKӿy9SԎ=:3fHEEE铩S+H}}}?y)//W_!CdҥӣGL<9'|r~_FSSSΝ۲#F[oӧ?:2(dɒt)UUU !C'/fȑ#[ݟxIW^y7M^:{M<=ztK]UUU/_faoOS1AG>>|xCfРAY~}6m{|g?>4ݻ}477W^)>I?^zڵk2s=gر9r'?I۷oСCSQQђK_R7lw;}Nҹs甕ܹ>ݻ~%Ilٲ+g?>4Dnһwt%ovJRg}2E:=Xmۖ%KT*eĉ={vKsmk͆ ܜRo|IRt2nݺiN|NL8L81{ʕ+<;я~4{9dݻwy$1qeɒ%)"?ϓ${ʕ+3`L6-}MQI;wlصkW֬YjC^y 6,|}veQo)}sYtioߞ̛7/_WSWW.] _SOeٲeKT*e̘1IΝ;gټys444dΝY|yC-Izꕛn)VJSSS֮]*]vM}}{ 1fpKQY~}6nܘ(2s$I~.&LȔ)Sҷo <8?gҤIIիW(s]6EQG޽{SE׿uȊ+Ԕ(r뭷أG̙3'_W2p|SJEEE-[Oǡ]Q*J(hѢjPkihh/Qŋ: p<ԩ;4CL_V{^zkGܧEgƍ)"3g<ҥ~R#Knp 38T:utxfQ!EQ\gqFvuEQdĈ}ÇoݮYfutdY&pTӧOJR֬Y$Yn]jjjYjժTVVT*eڵ;z衇R*Zɓ''I.]j82NnRYYy?AGt۱  /ɓsgSOXeݺu]pC:y睗3gfǎKk׮@4#Β%KRE /:{NeeesϵgϞ,Z(ƍˀҽ{ :4inn/bӳgTVVꫯ믿^x!ǏOϞ=3p\{ٱcGZMN:)]vM߾}3qĬ[Sr-9sSOeԩ5g֭)]"\pA/_R~Arc۶mrEYf%ogRWWr 'd͚5;vlz왲}Yr! 4#̄ R*r'IjjjRSS7fѢEYlY.Vsy\ve3fL~KR[[oqk_r6oޜ;<@n˦Mr뭷f[ZsӦM9rd/^s禱1O444䷿m2v̟?sڟop;R)w^:uꔿ/9sfK.)J5jT,XR*2lذl۶-ӧOϬYyLcccƌ+VML8]s55jTs9䢋.ʚ5kЪnљ1cF***ҧOL:5W\qEݵ?3Lyyy 2$K.Mmmm=zd9_3f_ٳsG2dH.\RSS*R*'/1ɓ'gg3׿5w}wrqSO̓>fڴiyW۟opΣ=innٳ[\2r饗Ԕs1bDx[>}a 4#ȑ#[ݟxIW^ye*˗/o3wذay?ݵG~РA#i$YdI:uꔪV Ȑ!CO_~%Ix466fԨQY/SWW\zٹsgu?O$]tQnݺeرٹsg}6hϹ瞛C֭[[L:5sL9>|xCfРAY~}6mtsG'2׫WV]vM477m߾=7|sE(/})IoqSNܹsZwܹvޝ۷9zjy;$ɟ7mڴTWWcL;=ٳ'I6o{}q555y73w$Ɇ lٲ\wuݻ~%Ilf@Ən-^{m6lؐJ|HJnݺwҥK~Jv>̟??vZ~̽zʮ]cǎ6s_}$ɀ}vʚ5kZ+aÆe%7p,r;wѣyyihhΝ;|{g콷~{N9|sҥK}466f޼yWt=3fL*++zꃒkȐ!7o>3|ɩ~ر#6lW\M6>_=Xnt=3g9眓}cիWn馬Z*MMMYvmt557pt,0WNQyᇓ9bE;#Irg*IhѢL<9sɠAr'W\$7n\Fϵ׮](裏f޽)"__:EQdŊijjJQ[$~L0!SLI߾}3x??I&~ٓRRu )"#GSEFnW^/~m 5k/ϴiRYY:+MMMyr׾o~KQ-=/E7x}'W]uUJRjkkz9s+_JO}SȲeO`}GwQ+"-Ұ?r=dڵ>|x/dxTWWg^C::ϽޛڎOeϟK.$oF޼4iRG'2pK,IEEEog…ҥKuuuu)"ׯƍSEfΜyGT*::*EQdѢE4iRGGxTWWǟ]:utxfaWWW(REN8ᄎrFEQ3Ȯ]޳(1om5k֬ t02nHTʰaxۿ[>}T*e͚5Iu֥fuVJeeeJR֮]{㾫z(R,:uty睗3gfǎKk׮pHh G%K(gͤIRYY2А$y2mڴtIڵk훉'fݺuܽ{wn <8eee93~?޽{[nݺ59SҵkTTT .3YZ2~hGZ2^WW(Ԕ+WtҥݳxR]]޽{2UUUykn喜{yꩧ2us(m۶V9ȬY${i5|EN8!k֬رcӳgϔʕ+yn,0&LHT_$`А)++رc3w>s̔J?S*rgZ+R)R){i,f5jjjRSS7fѢEYlY.6I2f̘TVVf=:uʂ r'fY`=g;R)w^:uꔿ/9sfK.)J5jT,X-ذaٶm[OYfe/ƌ3&+V8KL8x=ztٳgO3f_ٳsG2dH.\RSgȐ!7n\w;̩]3f_}ݩqSO=5>`iӦW_=GЮkɨQR^^s9']tQ֬YzosssKSO>Yxq9L<9;IREϦ[T*߲eKiy8r:2(5qٳ'+Wl;G?ٳ'Iһw<3Ic9&ƍ˒%KRE~̻KX޽;?xw;= 807nl5yokUsN;-8XY;R=(;wnry?u믿>[l]wݕ dߵkW֬YjC^y 6,<,fps)s\.]۷1WեK.-_SOeٲeKT*e̘1OF5f̘TVVfe!Cd޼y>;{}rUWT*]ϫG3gNdԧ>,[,[On*J!VE-Z|H}{=ܓkfihh/|Xxq߳.N{MmmmG#2?~.䒼{gҤI 84eɒ%ȷ,\0]ti.EQdٸqc̙3sZ`+JRCRE-ZI&ut@/NuuuySG'wh p544(3Ȯ]޳(1om5k֬ |h p'R)k֬I[.555[jU*++S*v]=C)J-ɓ$K.m5^]]I 2B=O|cѭ[TVVf޼y~q:\p4;c`\xᅙ݊ '5kdرٳgrggʕ<7pi G)Sf̙[駟sWUK#<.,cƌO?^z)]w]jkks7M0!R)_|qdɹK/eܹ~ujkk/97owߝx W^yejjjrmeӦM[3r-ڴiSFŋgܹillO<ƌ5*VJp )J)//T*T*eϞ=|e̘1ի{;:u O`w߼ysF|0ihho۔eر?~g^SSlܸ1-ʲer嗷Z{@;R)w^:uꔿ/9sfK.)J5jT,X-mذaٶm[OYfe/ƌ3&+V8OL8=2dHƍݻ;sꩧ=ztf̘'SNW\owo1GNYYY?3{I>}8?y)//W_!CdҥӣGL<9'|r~_;cƌ⋙={v.#C … S*2u~5774|?ŋcɓ3vƌ_;UUU9rꩧ3mڴm]s55jTs9䢋.ʚ5kjy6͙={v+Wo[.6s2wܖ#FlFRWUU˗?lذӟguA9bĈV jw#H^yVcK,INRUUj|2dH|ɼ?{'ؘQFW}{>񏧮.MMMKsv~$I.Vݺuرcs[l]wݕ dߵkW֬YjC^y 6,<,CL8B} _SO=ݻwg˖-׿R1c$I:wѣGg͹;А;wf{;8{s)s\.]۷1WեK.- 6䥗^ʪU瓟A=1cƤ2W>({2dH͛o='|rjjj,;vȆ rWdӦMO{lߏ믿>ݻw̙3s9c>k{ꕛn)VJSSS֮]*]vM}}a zehŊ9$ɸq2bĈ^:EQNt=EQp֙9sf֮](裏f޽)"__:EQdŊijjJQ[$~L0!SLI߾}3x??I&zwߝ駟O?sx/{ITJTz׺E#Gf)b_yf|YfM.L6-9묳Ԕ{,^{yE;#Irg}mw})\(o>}䪫JTJmmW=2gΜ|+_O}*YlY>OԽOQz(h"M{^瞬]v5ÇOCCC^~Ø ŋS]]Mrouvt FLK.o{7z&Mѱ2(n֎I[dI***o; .L.]ڭKQY~}6nܘ(2sÜET*ut8TȢE2iҤhũ?4u2(UWW(REN8ᄎ… [{}?(9>H4 7ܐRaÆyoRUUɒ.,R)cǎ=$J26JRQ8tOϞ=sut B::CL8޽;7|s?~|~ӟf޽:wɒ%)ڵkW[nMmmmN9t-'pB9w}ٹsgKkiӦ夓NJ׮]ӷoL81֭kgy&&LH^R^^O~}pc?<3袋ҫWʕ+޻v횊\pY|T OL8M2%73gΜlݺ5O?t/8կu R*ryy92?R__<=ztߙ7o^dӦM9rd/^s禱1Oy;Æ KVҥK9s?ҾUUU_TVVm۶ҥKOÇש۰aCfϞ)--M޽3o޼LyGuF;zhbbgϞs=9SZZg?Y~xzRYY{;wnv)Sd퍮.2Sh &dŊyw$k֬{E%I.zϖ,YS&I/^f͚NMEEEz^z)6mJ,]4Ir饗֭֩[{7ɮ]2hРe˖8p`>}[nYzuw{Զh"CSO5 O|0=X֯_C,Çx<>={e˖i۶=z4) u>$_r۷/-[Liii:w|ycǎ) {;>.]$Im֨Z3,> B<ٽ{w/^bQFeǵg-R^^Ce߾}X׮]ȑ#)\tEiѢEڶmCeڵkqem={s}ǎI>4z߾}{QgX&| k.jN˰aòx <ǽUW]$/YY~~7I2jԨdٲefΜ:+555I.,It:u;w̚5k;kC߿?WٲeK훮]&;|py晴j*^zik˰Lw_~9Ύ;r}X,fȐ!ǽޛs9'wOf߾}ٴiSnlݺvXޛ=zϒ%KgϞڵ+^~妎S(ŦB Ϯ'̿4u3rȦŋs7u O2kӦMڷo1jӦMSGi]ep0,Sa2 l޼y) ) iٲeSf͚UϙgqĆ rWd޽In-oTga)|Oee {ر):tI=r-X,o߾MIZ*%\$SUUoU" IDATUe)4\pqX,ѣ9z LuYQߏwݻ7#F7L4vGYhQf̘ |s'V۶mnݺ̹/۶mwQY߾}3z|5jTJJp4k\b1sӭ[c\uUٴiS|ɓ3,ë#G<[y睗'x"_|q B BƍW[-SLgO?=:uʨQjժښYfP(YlY>%%% εx :t믿zƌvڥcǎ̺u>6m /7x#7tSz-Z3_9x`)I>;#={L֭ӡC1"owyu~/.ʲej}ݵ=^pK.]?3^֬Y:;v]۹sgi{Yzuoߞ}]|_Nh/E)3gNd֭0`@,Xz(vo~ڵ+ ˓$rKbڴi??b1b1555 6r\y>uL:57o_:7?۷硇]wUo$۶mˀIuuuvܙ^z)η<#$4iR_%?osz+2|_p 6mZ6oޜٵkW {.I2}轆b~x/'N 7ܐ7fŊi޼yi{yW$gyG,e@#M6-wNuuu ;śWUUeÆ ={vϛ7/b1'O>=7. J6mr/ϋ/;w>}G֭[|VUUU׿:i۶mtӧguzO$ٲeK٭[F q\hQ.lɒ%:uj?!&LȊ+;$I֬Y78{l2֧Ot-W>!C#;c~ϡC$vWRR6|LhÇg߾}iٲeJKK=o߾}={ѣ)//OP$_rR򿫼ߧ~zѣ?Ν;7woٲeڶmu |0=X֯_C,Çy<:vBPo^wq{M6\?Q4t-[&I9ԤUVQ ТEm6=[hvڥ$GIX<碋.α6l]Oyyy:}}`]cP(O?ݻwg)5jTfϞ}\=ٳڬYjw}\g7z?O׮]IwZŰLh.,It:۶mڵkՏ5*555YlYg3gYgڵ֭[/|!?OT{>wܙ5k4x*I_޳~nSvꫯ&IN; 6,/NPȓO>l^ڿg˖-۷o]v͛n۶-y\g7z?$ɦM7ӻ[ p t=C:uj~_eyWo;#_},Y={d׮]yG?fJIIImW]67n˳~\x'$OSڔ6x{7sN'̾}iӦp ٺukw9|pvؑ/b1C 9~۴iI&ρr\{9S]]]K.ɖ-[(Ϻur7suvc!7;w7VZU+dX&4R=| 0 GN.]2qTUUsIw9/BFI&SNٳg~W_]ȗ+cƌIuuuzՠl/NP?$iժUڬXӓ$B!3gL/sַɓ'O>9|p Bƍ&IEEE^|Ō3&'ONǎsy7~uY{.={رcӡC+K.O~L6YR(zk.gNUUU***}-۷ϯ?c}7n\{) ێyB^AGCyw{e˖c͢Eҽ{\~ OP,M>.B!ϯ7ҳgW\qE>^??4i>}5g'x"eeeI3gfرM ,+ip( :th11p_T͚:˰L5kV B B<̓v rWd޽'Ln-o'a)r-X,o߾'UVKRVVv?~|r7ṵL8Ŕ .hI><޽{3bĈ|ȤINb2ޫGYhQf̘ 4uİLw}ٶm[㎦׷oߌ=:7|sjjj:q3,8.b1sӭ[C*6mʓO>Qap^}Ռ92iݺu;<S(R(2nܸo2eJ>~ԩSFUV̚5+B!Ȳej)))y.K֮qʲzl߾=}]۽{wm;IRSSSg}ѵϰaRQQVZO>ѣGk^xqY&W_}u:vXs믿1cƤ]vرc*++nݺ:9ތ6lȘ1cҶmt1]w]|ͼ1bDڶm]fٷo_ yo_r䩧{8U keРAYre.\;vGMuuu^~h"b1sIlݺ5 Ȃ Ce׮]o~]veРAY|y[nIXL6mrX,X,#g>}z5||_ސ,J3Ϭ]k׮]bf͚^ӓ$%%%)4hPΝ &αcfȐ!7f„ 馛r뭷=r\yI'nƍbŊ4o޼Aw_:ujN͛7go~uso?m۶<~[N+[n͝wޙ9sY̆7ս{: 'aHӦMݻS]]aÆ4{ܹsszUUUٰaCfϞKXɓn֭Izn=z4gϮlٲl޼9OTg}JsgdɹkR]]{[o5N֭3p3htƍˠAҦM\|Ź/fΝ9=_WӦM\wuݻw,Yn)_SZZ's/:=,B$2,iҥIK/zNҳgz/NfRYYYg"{K/M6}|?&Jvi :4OӼNڵ<۷o98wGm!I2`:sKlٲ#g߿uvݻ9/9$}e˖)--}ٓG[o塇J]6o3nܸ:u{wܑ>}}w}/I[os6mڜ>}'I=3Yfi޼yZn]gyu(MMMMZjN9e@#h"m۶͡CzwQ]v)))ɑ#GR,袋jS(>͚5o]o}Ǭ,]vMA2f̘|sˏ~>|8?2~m۶N݈#r]weYvm=bNq:I{X,6De@#]veIKY߶m[֮][~ԨQɲe=9sf:Ԯnݺ@/| |Bw57o??YAY/&I6mto̎; ˔)SԼ;YlY***2eʔtԩv@26IR۾| t=C:uj~_eyWo;#_},Y={d׮]yG?fJIIImW]67n˳~\x'$%\-[G?QߟuoLΝYAYΝ;g{ބ R^^ӧgȑ޽{͛7m۶ٹsg.B!?`CϞ=slذᤜٓ޽{2?pSL[zu뗹sfرM>3,X1c?0ڬ'ͶmҡC9r믿ueȐ!M+///~,\0>`SZ~}F*2O<28曙8qb6nܘz+/Bƌ~Mׯ_V\%Kd޽M3GɌ32cƌ OPϝwޙ<ٽ{w}+>/BI5>;OarKbۤ9ƎbC6iNMVJs%,I2~TUUoot̰L*--\1>ݛ#FF&MTޣG,Z(3fȂ 0!3,S˶mrw{ַoߌ=:7|sjjj 3,SX,fΜ98p`uv̚*6mʓO>y4ap馛ңG~i߾}.|8wqGz֭[C1bD-Nd֬Y) 9p@-[V{VIIIeʔ)9s駧SN5jTVZ޽YB!w}w]=ztzCDzl߾=}}~/'Izp 'ȶm2`̝;7ٹsgn:C͜9sjk.]cfȐ!7f„ 馛r뭷^ˠAr,\0۷oC=+֭ktΑ#GX,+LL817pC6nܘ+Vy8iҤ˿K~7ȟ3W^ye~%InŴi&~bbjjjjٺuk  䡇ʮ]&vʠA|FА\]v)>|x5k^{-ӧOOX,fРA;wn.\ب;}+I3<}޽{ZSapTUUkxTVV,{nΝ]fʔ)پ}{mSUU3ɓs5פ:{6mZvޝ 6,ӧO}lݺ#[3xn:LMMM8Fe|gһw 6,ZJ.]rsmTlذ!g׿wޙ7o^b&OܨNT>=ٳgY_lY6oޜл;}>oeee) '8 'ȢE$_~y-ZdС9x`z$Ieee}z{7GԮ-]4Ir饗֭֩q };c7&?!&LȊ+;$I֬Y78ŋӬYTVVYH޽K/eӦM DJC_~O7xvԩSSRRR֘;}:t(Iri}`/%%%9x428|pٓ-[m۶w%Im۶$ɞ={rwO>i߾} B B%Iz}ۗ-[޾;w۴isfL|0=X֯_C,Ç ѣGS^^^{޻?I/ Dzo9oVz$ڵk6ƍSט;}l2Irȑ죦&Zaph"9tPWۓ$I#F䮻v=z4b1$)m6k׮gLB뮻.O?tvޝŋX,fԨQ={v} 1kѢEڵk9r$b- IDAT񘟋.=4&WC3&(~?ހ݉k׮I>ݻ7bTcX& W]uU'~<3iժU.Ҽ;YlY***2eʔtԩv{e%I.]Zg}ΝYfJ3k.jN˰aòx zѺu۵ _ȏ$ɨQRSSe˖;c̙9묳RSS>!JJJr7fǎ~yeʔ)uj{w'/~IM6^7oS p1,N{7sNN'x"ڵks5d֭N.]Ҽy <8۶mߟ;wyg{I2uW?)^{mJKK?^1I_Çcǎw})2dH|+Yvm6nܘ˗g {믿>K,ɞ={k׮<#YfQ44WCM0!>}zFݻy~VJ\r%ǝdX&4¬YR(zl޼9B!ӧOOTTT_7L2%;vy睗駟k?~&N֭[9sw6uidg'x"eeeI3gfرM Õ4u8UŦ}z8YSw  6+޽{߷f޼y) ) iٲqsmeO23d?ʏתUҿ\r%)++{ߺcǦX,fС}SUUoL8E .X(9zh=ٻwoFo|4i JzEeƌY`~MǰL i۶m֭[_i/۶mwq}}fѹSSSs2,hb9sd{ ˪.6bn404DBB jӔ11LqffnƑ-F)ܦh*8fjd3PRi9b3 0u*xy~ε?jӦU={֭[z @UTTh<<<͛7"{?^۷Wft뭷***J50 ;wNa2 Cvvv\=0hjժf-11"S^^nG~~&N(5kL-[ThhveTnnrEFF]͛7W@@{R>Ilp}aX& 4n8Zhua*""B{ɝ:uJݻwڵkd裏>RAAzKy͛wLӔiwHIѣ5vX8qB鲵u]IIIJHHP^^8 ggg)11&{!IRvjߪW^:x֯_\-YD3gѣG,ֶm[0,ڹs,'''yyyi޼yرE.>>^Ǐׂ #E~~~ZzLT\\\u2e쬞={RrpBM;vTRRZn+77WJ{}MB%$$(88X...ҥVXQ_ ès/ @O>ѨQ*IRVVkrɲQXX>LMұG oܸQ4`uL۷o$Kk퓚*I߿z6mYgKvvv*++kz°LhZr; )$$f$UTTHrwwaߒoI:6o޼ٟ:::յu///IRNN$QtZQ...Vgkrrr°L0 >\iii*,,TrrLTTT,X IrppP-dgg4:?{rԺ+I$nZTTTTkWWW>,Xita4P-tI,0u֚\TT*++o߾Z{̙3Gv*++k֜O?|w7l;(I%B;w/Iܹ$);;>Tg~] $o^&Mo>p#`X& {n*&&FԩRSS[oiڴi59OOO_RddƍUڰa6mڤh}.\{W:uҐ!CN:իSzz ЦM$INNN2 "\+3l0I>S=?~Zj=zܹsJKKȑ#k1 C#FЁ?X{>>ڸqf͚kZ!tx u]9s$iԩJLLԳ>I&iŊVn6;k>ԭ[78qBfĉX+7j͚52 M\]]uQk@̝;W999>}zk#?~\}QAAl2ell+JYFt预UWW9rDrwwW{^p/&99Ya|VZլ5***4}tY ͛UUU%I? йso߾,:sƏ۫Yf[CbbE-ZˏjǏkȐ!ruuUV4|p={V֭[kȑ*))J ywk=Ϝz\_O}>R`cc3gjΜ9=zŵ8-]TeZaw߭]vɓ V~~~͵?СCjjbbbԧO>|X'NШQ4qDM2"ߪW^:x֯_\-YD3gѣGkDFF4MEDDHFcĉJOOmiܸqz7h"UDD#Ize7ow2MSifSN{Zv,Y}G*((P^zï3VRRR4M+Yf]v s5ĉ /(''G .ԻᆱCj„ 9sN:3f(11Q/^W]^?'*88X2MSСCTҶm[,p#zG5y:5J.]?ud2ם׫@OV߾}%&&jҤIj֬exlRrMB%$$(88X...ҥVXSNڷ2e쬞={RrKiΝSppycǎ ǏkzG"???^Zi*..Pk׮/'|R駟<͛kSJJ&NO...=z:tm۶~SB 0@UUUJIIQ˖-縹0+LULL6lؠwyGÆ ] \W.\?Oݻw@zࠑ#G^aaaڵkWu?^_~eZjj$6m9ѣG }'5jUUU%IR```$''Faaag}zÅEtC=e˖5OSnݺڷm~Xkw={F .Y^^.Ic$٩FmٲEQQQ5͌a[o'j7n޽[_85o(**եKlRa0 M#{js5sL9R_eHLӔ$988U*--OAA _I'I2 CÇWZZ ,4 XkF988Eef޽{_+))QXXΟ?-[ã}꣩ޥ$)--M6mR.]4rH}ٺukIy!2M& wݻw+++KAAAϷv%eyFӧkڴi~Ok Il*۷O?~n֚eee򡡡TmJ` \֭[#F/|\f.,[[[*''GS^^ʴk.-]V^&L;vT_} &_ 'I3f>sUTTӚ;wLT>},rk8qBױc I={|||SO)%%EEEE*((вe+h{m6 `!})寵o^ׯי3g/OOOeff^ IR~w߭={T=N8aJp1,pڰabcc5n8͟?f=Z-R6mԡC\R`uM{3-ZH?AaX|=j_|Qaھ}d^uݻWah:w Ќ3]^Za(33S'OaZp+==]6lX||8~qFmV sn&~>c988( @~+13 IDATUeiZjԨQJHHsd}5kX C􊊊称0-]Zffv$X!pe]VC QSٳg#ׇ~.]\3 ?PQQQ:te `=~z-^fرcR||<2Khٲv!???=:p+UL5%--M2dz-eױ]JIIQqq$iٲe5kf͚evE7oVϞ=շo_v%hr \3ۧ*<<\ym%?3f̰v͛ڷo-[M4gXp}qvv֦MpZ4);k@߯POIIIm+xOf͚iժU5j"""{i֮M(((HWeP[[[%&&gQLL/_nJ$ {Zz]麴zj!0ب=Ξ=KO>𐓓. :Tל׮]K裏X4uTYQfb,XYfiĈZp+ǰL|۷~mڴI֮t݊i j'OV\\"""W_)??_˗/WFFx%''dy)=.K֭'777Iȑ#^zf2e͞=['NԩS](;kܜԯ_?uIrttv%Hzꩧ$w}zyY+<<\ Ҹqj}||qFuU]tQtte7)S]<$i2 ʭ1,p}7ӧ:tm۶y֮IuIGi5mܹ>>rppPvԷo_*++3׬Y3lRڵkEP699Ya|VZլI9Hy ޽{뼟 M>]rvvõyfUUU]y[N?A233+ f>I/,لk۶m4h [42WEvvz-WWWڕꔓݻkժUJHHP^^>3-[fKJJ8p@ Rbbb=/i$=ZcǎՉ'.[[[Iҷ~^zZ~rssd͜9SGuOƍoE)??_"""gϞ>\M:U#FPtte=CIڵkwL۶m-ݻҴo>=#*--v%heӧկ_?ijժ+]P||;%$$(,,Lҋ/Z *,,LnnnرԺuk?^ Ҕ)S(gggS[4m4*!!ArqqQ.]b :u>;w$///͛7O;vWHHt|~ è>֣GСC RAA+@1,ФΜ9>}R?mJqFIRhhhk)))0aEnL۷oopzQgTIR-۴iS̐}'5jUUU%IR```g;wN=ܣ{Ou\dooќ.<YuU~̙3֮ °L@),,THHJKKciڕ.BEEErttks^^^eyu]RR"GGGԺYkmZr; )$$fUVVS۶m;\A(I:Esrrr"gW{Uqqz!egg[2MH:svڥoڕ.A*//WIIIs$ooeU*--u֚a>|TXXd(-XV~ѪڵkeggW~w*==^=ҺukIq!2M& ho]{쑽Z 2W\qq맜ڵK:tvz8p$i۶muU=En֭ ܹSNNN߿*IJMMXSVVV|-tI,0ju1cKmڴIT;w$egg_0sI,x{{kR@@ kWKbX&Ǐ?+5ٳաC=sںuJJJcԩS52M0A[lQIIkԩSJHHWkC&LЎ;TZZJÆ K3f>sUTTӚ;wLT>}j2oO ð=z2/OOOeff^0!IׯeZl4s= ԁ] .a+TXX>;wSN֮`O5dũUVѣΞ=={n=?~|MܹsJKKȑ#kylzz ЦM$INNN2 VG߿_ݻw'|Rqqqҥ***dF!Iڽ{|}}#uIz뭷4mڴ}ׯ__4|Lu]޽{] .0MӴv 履~Rdd߯;wv%IиfEGG[ $OaaaZtŵLuUIIIRChkjȐ!^~СCm6mذAv%u6nO4h>رk>_^/Y?v옢ϠLhB͚5ի5d=Z~+@- \?Pݺuv%\v*%%EŒe˖i֬Y5kV5vXhŊ֮]pO<4G֮De˖̙c6p1 C_~Zzg] $1,HUUU͛7k˖-z衇] 4Ќ3 &P/+2 W]]~Z6l͛ջwokW4egQYY^ukWpv4M7NV￯}Z$^Za0 9::6jgjҥӧ<<<䤻KCUffEv5k QUUK귿eoo6mG_W}y3̟?^g}z'աC999C;w֠AMG{Ǐף>bIԩSf͚F/\ ƌcǪڕ hx?Pk/&&Fi*(({L\<"##_D{Q׮]5~xu"_ZZ?gTWWko+OOOP_kر;UYYi݌ uM$iȑK/kՆ b =W 26c ͛7O󎢣]M੧ҳ>+ooo9;;+ @III /Zj~i j׮Yf9祗^d͝;WrppZ0bkРA7n\ͺ6nܨYfiڵW#XCxxmۦM6iРA*//v%7!ee…zWd :ulٲZrrrѣGefv/%Iw}wׯĐ#G_<#G֙K/Tk}ܹk]5i$UVV^vO޽{+%%EwրTZZjJn2 \5qD͙3GGv\eΝSYY:w,0,///IҎ;+//x7U]]{좹^z4MILTbbz6m*;;[[n`m>/#<"kWpaX&V\#GW_ɓ]ĉ#kN}o:s͚5S˖-]v]t eeF'++KjժUσ"9Hy ޽{뼟 M>]rvvõyfUUU]y[N?Aϱ1۷+44T}${m233+ f>I_vޭcǎO>:s挵+I0,pA6lO?g}VӦMv"''GݻwתU<}g -["T;pZ{^*)4!I=zƎ'N(==]oVz~zjɒ%9s=Zƍ7xC-R~~>,___EDDhϞ=}:uF+/E֭o~wjݺ UV3~IRVCIڵkwL۶m-pԩݫ"=:y+ 0,P۷+66Vcƌт ]窉w}U^^^zR+pBM;vTRRZn+77_2e쬞={RrMB%$$(88X...ҥVXSNgΝSppycǎ} Q``.]zO|A}7zw2{mݦիW_s hPg~ è=}ڳglmm9$ejٹs"##+!!u7JBCCk]KIIф ,r 888(((Heeeھ}{ԣG:;JoަM:`O>ѨQ*IRVV<ܹs߿{3TO(99YڹsbbbaÆ?OnӦ$)//A+//$_4gggƕkT֭{nyzz* @v%70e,߿_ Sbblln_%WTTHruumtKӠ5o޼γKJJ(Z===k-^X+WԱc$777 J=cj۶y睫>(ԧOZJSLQUU֯_~aIޠ9::JΟ?\eeWauwֿ/kWpy32224`)))C6\%%%JoGWWWZkahJKKSaae`ZѣGBk׮]wީzl} K޽%IgϞmG%n ё#G$I[$];2M& 7www}֭}Y2Co߾֭V^-{{{kWJmVZ׮]sYnjΝ;78[Twշ4i$ٳG~s߯ (..NGyDtkQPP`7F...ZjԧOmذH24ӧ~aXBM6:eO.???=Zk֬ٳguQ%%%f祤h:{5h ?~\\GL6M͛7WJJ>SoVgZ:yx Pۜŋ^Ν;.0^N\\233u1UTTСC5k^u=co{S맧k>|Ə|]pA_zJ>>֭[+//ݻWԧOw&M(++Kqqqׯ/_nu$we=ȑ# <ZRڽ{㕜-Z[n:s挶mۦxn5rHۼsiƍ2dH5o4wǎ2 C|$Yf2 ZƎ;j VllZn^xA PEE Pbb$?ԼysuI999z4aۺ˖-sNf͒aSAA Pzz5/~[rssӣ>,ںumqssSPP$O>ҥKv{M>]:vz-777uI .i&߇5ݹs;Vc+V]vrP5nX~+..N/:aiu5N8'|Rڲe7onuzgguJJJԹsgEGGkv)((HJHH(!mҥ׽gI&iɚ3gFiu NV'X㧟~RhhLF@}ԪU$QZZ2ܓ^{5(%%Ez嗭kduWRRHUTTh˖-:`iϞ=ZnJKK%I ,ԩS5uTuƍwyGǏ㭎 IDATs::wu mݺUm۶:apΤIꫯ0CZz3fXIIIЋ/gjܹjԈ#ڡY&C|}g:iZp |X$ 2DiiizWn{7ֳgOm޼YwVDD-\2.fkٲeիՑynnnz'q4󚦩*UUUYR{nVըTӯk16ޱcGXBSNҥKok&yǴuV+I6ltرC7$1BoΝSNモ}Ym۶^%4FJOO$9994MCZlmP}w:r䈆T7{^}+]}/N8yi;ެB+33S***Ν;⢰0ݻrG}dW_)$$D/,X ]Fz@YYYڼyh}$I۷fڵkg7uڲej\$e]e5jO$4H&LPqq222.777uY:w\iii:|fϞ~6ɒ%2MSɷ$gIIM\nnnڵ>C]pAF=ƍ{T˖-i&uYj֬|||4sL=CƎ*͞=n<77WzCBB&ooolR4h222TZZZ5݋-ZHǏ5IKK͙3GC=LiF#Gԉ'fdd(::ZQzz"""ֽUK+%&&GruuU޽ݻw6r=== è҆ zJ_~ՑAh we˖)11Q&MҸq㬎`Hk7ުU+WF)::nW;wW_}G{ΦM{vcj۶a`njЗ_~Cjǎt$i } -^XNϜ9S)))rrrEGGk˖- ŋ79ǵE۶mI+$IQQQv Syy֯_o7722:֭SJJ[[Rpp$رcKfprrRyyyVZPG~Ց!h wl 8Pɚ4iq ={VM6[/))QUU<==e$wgmѢ è6޺ukIɓ'ozWW}]}&EDDؚ%ַ1cּy$Iںu敔hĉ 9˒N^\y}|6m*wwjH o8J6u}5OOO4i"I5mTt樬TfjtRƪ_~Z|Ցh ܧ~ٳӠ9;;]ϟWYYYn@,///999ŋ2MSO=eLM .뢤lبQ#]p:mymܸQΖiv;諸Bo R)c~4yd 2Diz뭷$Iii݋ӧOikٳ?q$sT&w]iFҵ$4M\ Gƍh" :Tqqq_ju$Y&4`0`{[#{Ydd$)''nPĨRޛ1cxUVV\\\W>\eee˳׿cǎ)00Юa`6mTPPP}իWٳנAtqeddnѣf={VGURR?ѣGש6uyn][jݺuWڻw&04k,M4IÆ [oeu$῜h޽ԓO>%K5cرo߮`GÆ SZZԸqc[֮]Կ1BZ/_O>Dqqqv̙G}T:uR||222ԩS'͚5Ka(//O^^^={^z[7o֓O>i)S(11QӦMS֭ /_N:%04~xرCaO>$5kLaT_ j޼:uꤜ{0aBJ:tLԘ1cjaÆiܹj۶hРApuծ2 CήvK~/.199YaJLLt< Iڽ{#GE֭Ν;7jȐ!u.ύWrrm3gm6=ezn׫kgnf̘!I Rttm<11Q;wԱcj+Ԯ];EEE9 ܹ&Nsj̘1?~qX0MӴ:qիy^ZM6:0 eeeUkZY*//Ç!())QΝ۽ eff*!!W-]TϮo^z% >\ov ܕ>ndu=}CΦQ-PXX͛ŋvjQ2UViٲezwm?bbbFL.o,XÇHne@O?O>rssڵkfu֙3g4l09rD?vڥxyxxW^:p Ҟ={n:J,XSjԩp+$$$hŊZ3kw'e@PZZH]pA6lPͭtƍU\\^z[<|AڵK/nɾaꫯޒp7n>۝CZz<<<$I3fPBBũJQQQZn֬Y?Hn1'\Saamۦ6mXۺiu?罛V ѦM~Z+Wձ"/*66V~6l ???#X"88X7nԾ}#Eh wK._|u闿Ց`Yf0 [@Ç3Ϩ]_,Yb[iӦdW?^YYYV@-i֭:tBCCO?Y -@LZrV\]Z wc4MZAͥ{k׮ӧ<<#g4;иqxb}z'z'xͽv޻Mii_1bq44UUU*Xz VԨcǎZbNK޶}q:tm۶qz'tA#G4;ɓooP'N:JjڵVGcYU@j̘1{iF6mzoH 22oC%''k6lqi/OOO[nZzz-0dm'9R:tP&MԪU+h޽9f͒a:wrssm899TΨ([ΧzJLb'[liζ+..N-ZB'N\\\ԼysO+WԥK>#8^a}ڽ{^c].;uRSSձcG5iDފԖ-[_qq] Д)S$Iv㱱vϫ6ʑ|W?C)>>^^^^jѢuA=//O'NP```uU^ee.___5kLPUU ϟ{ʻꪞ={/uQ{\gggo^{ŋU^^.;F5K.\a ///mذA ۭ&,+Wԋ/qiܸqVǹ8p@=zО={l2>LOV=l Ǝ+4\i4MUVV)gYY4ah֭:}BCCKm{^)""Bi߿LԳ>+I6ltرC7$1BoΝSNモ}Ym۶:#.b5JSLQaaauB+33S***Ν;⢰0󭉗LT߾}ըQ#8p@$'''=z-[&|W?@YYYڼyhѺ۷OԾ}j5ގq233m(!!At :T}g_]+]}7N8yi7l$Z[~G_}BBB/j͍Wqڵk'{4c(::ZVGPG4 ڵKWLLy@RNN$o߾vZjԨ}}}չsg}W:zhlڴwn7m*//^u֭}:tvءK.I߯ׯu.]؍T+VH:;;+,,LZ~uӧxb:u6>sL%''^5_pp$رc1G~yI;w-#Tz)))rrrEGGk˖- ŋ7j+]nm֤6j[N)))nmmJoNNN*//鼰-Z+>>^Ց2"O?=zhѢEjԈZEEΞ=Mͭ旔J2 S޳hBaToݺ$ɓ7k> """l U_\˫+r5mTH o_JJ~g͛7O͛7kС9uWuis&M$IUUU1G޴iSIŋokq޵1f̘jmݺUvJJJ4qD;/K~:qև<ͽҭM]r_R͚534nX?hz/T>}k^uyU{򒓓.^(4k|=S.JJJ/ IDATj&{5҅ -..ކaƍU\\l͞=XQNiƯ<==uy={'NH|}}oo~wQEE|MwkY{U_jh۴i#]ǑzF||~ R)c~4yd 2Diz뭷$;ݍӧOiks+ն6]Ti=>04{lM:U3gՑ26;v5kHBdd$)''nPĨRޛ1cxUVV\\\W>\eee˳׿cǎ)00Ю[6mTPPP}F^{8DLO999:2m45o\)))OUVV}_oӧOWǎK/iݺu*))ӧ`5kl_)??_G?gϞ#FhΝ:w٣I&ȰۧO;vLtA5J[}Ç믿VEEN<7xCi*44nލ:Ԅ }eSJJV^g*??_ Ǖ!LJJRf͔޽{뿪ͩ˽|5qjݺu#8R:t<==]vv7nX!!!*,,̙3UTTrmٲEϿƷ~׿Rm幣G֚5ktY=zTIII:~F];vܷ{JK}ƍ?Oz5~xp26)--Udd駟޲Fr9;vXhذaJKK7nl7uڵk#FUV'(..n9s裏SNWFF:uPYf0 KgVZZ|}}իW/y{{kz'>7e%&&jڴijݺ^xթSdƏ;v0 }'f͚0j9>s+!!A͛7WN{O&LpYQnnn;w^{5iuݻ5p@9R-ZPnt9mܸQC Vt=[l4M֘|5= Ќ3$IAAAU Pbbvܩcǎݖ|UpwwСCeƌS㜬, 6LsU۶m>@ $k׮̟]Tn\MNNV@@***l׫ʹJNN=s挶mۦxVZ ׫ѭ}lŊj׮3Ço|M%%%H0MӴ:Oo֭[[a5  K.***ѣGoދ-һᆱ={w*))QΝ[f \-//OAAATBBB?tRNj?6 +WT\\bccxb999Y @u7:.^8ݻWׯQP͛7ŋ:*44Ԣd͟?_|+OOOZJ˖-ӻkup?թQ&gyF+V #2~;m޼YWV.]9sFÆ ӑ#G?k׮]^ypB 0@eee?Μ9~ޫ ٳG֭Sii%Ro ,ԩS5uT6TNNl٢[ Uh Pjjhzǭjƍ*..V^gyF>vڥ_d_0nzWow2G&0[-;;[ӟ%KsWCZz<<<,hߥlV1c K7o֮]aY3`53L4w4͜9SK,QllqYa(++KqqqVG܅.]xg׆oUxxڶmhHYFsь3?Fw_/t)Kǎ:I4zxb7K/du¬Yd P-Ͳd[MZ>YU;Z:H3<];%]5~xeeeY >3]xQ:rՑ{2-_\z5zh㠖Ǝ+4hu%$$4MY^YU;Z^޽{յkWG wJ}WTttm4dW^a{m69;;gϞ:pՑ{2lذA [ nnnz'nzRO5bĈzH1MSUUUvQ+VԩStۺ76}gUϞ=H=fPK(!!As̱:*o 5qD3uA]X3F}4\ڸq~_'Ν;ܓh 7)//OQQQӧ.\(0iZpw﮶mZɀtQY(h`ܴj*uM}UnnՑ{2&o߾ڵ>#999Y Hee.___5kLPUUm^vv ð:xyyyE߫z/NYpa]-Z?3gСCׯզM 2DgϞӹ%B'N\\\ԼysO+WԥK?l :{٩S;Y۷W޽xb;ƬYl۷oݻw+,,LrqqSO=Ucõ~I#GTԤIjJ111ڻwmtS-lcEEE(yzz֘qʔ)x xNNme˖3\s)77+g}yyy:qMmW{ըQ#۷)Sl\9pN7iDފԖ-[|N磌kwuիWw޶>ӥKI\Gܻ\\\rJ[}ц Sh utOrvv:n%$$(44T}9C*55Uƍ߿LԳ>+IJIIQJJ ͛7kvk8p@=zО={l28qBɓklw#WgHMMGjΜ9F)))>>JOOWDDD\v9͛7v?P.\ШQ>|fϞ~Znnnܹ,Y"4\ƍSHH\\\Խ{wUVVe˖XRRiӦ53ތkgv\=uKjҤIzfOMMUUUfϞm7?77W?{Z廖wzΜ9z!effM69rN8Qsފ諸~GvY:w5a={Wƍkኋ_W#e@-9sF{$}駵n쇆)::Z[l6/osv?cǎrrr$I}۶mZ7I׮][xvrI;wDDK :T;vХK$IWHHH߯ݻQF3g7n\e+XBYu)%%֙\]]եKmVyyy}jԨsꫯtjwִ֭֙iSuoƵr_v<2%( XKrIԎ}DqlDrA'Q˭H-(FgTPS\LrII4iji5ʢ@,}$@yryzq] xZ3[)**$խ[srϟ?/WWWIRZZ?'T\\\wաC}'ɱϙ3Gƍ)ߕ\ӽ{0ࠀj6F{ڴisUXXXl%aĉ5b-XHf`/wg}&///#&o:Ca0 M'I*r6l(0ZUZ(I*))ܵ~Ӛ5kŋH=?\Fq+ڝ$effڴZF^auiij a3gf͚ &h޼yfGh4*))ѠA?(55U͚53;n>}護Rxx=rY,$RyT~}g^Ske˾ s=[JJJb5Jsk֭Zn:tp۷挶{9H6]*ĥ^^^rppP dooY,*?O?uu*/xI:uoU=|ֶ;4jHR{ QII6n(OO*6lpBk޼yxզ5u;%IifںWjꚗ'b!**J ,ɓmvELŢpڵK)))j۶ّpiuZ^ :r5_[A:|$nݺѣd+ׯ__M4֯_/WWW_O)ހ$I6mcǎ8qMy$R?:u|}}R޽5kRׯ_5f'OPZۖٹB֭[룏>iK222jֻ_VV0>|X~Zje}6h %%%YvppPDDΜ9yiٲe0aBrԥ;,..ֶm䤠 iߪѣG}ҝK/8͙3GƍulգY&Ib ZJ:u2;n2;;;)33SsQvv }v^3gΔ"##eСC>|\]]j63f[̙3={,V͵zj8pmZu%i֬YjѢ&Nd+##C:}teW_՞={t߿_ÇWzSa-[_TJJrssuYi;wm^&\\\4vX]1$ԩSZp t1M0A^^^^=zT'NО={tquͦy|}}U9hul'NԦMGGDDISNU(WM]ӑڸquQ :TOVLLmާYZӈ#S{ \oZl4f ,bڴiZ`)((8Ν+0'O0 M:UѣGkjܸZhKjС=zSNڻw кu$O ;#IرBBB$I-[Ԟ={Թsg 4H^^^z4n8uA2 C#G>˰~͛7La֮]dK]pAahڴi6[KiFaaaT۶m?X$)!!{ڻwTRR{QÇ~k[۷O7n6l.]ܹsڹs5kVsuuՂ oQFz'?\O=K_ﯱc{U6mf[N;5 \C 4|M2E>>>fo9rfΜi'Orrrdk&%~amVQ۶mmOZZN:Uywoт $I#Fa>~is=>|,&Mdx!C4~x띾pႶnݪp<*))]>|uѣGkʔ)jѢC%$$޾:ˊ|||uV?^O><<<Էo_=uWwfRZ?hǎ駟_Hm˰X,Cz'kڵ620 %&&jfG܁V\P߮VU^=mٲEM41;pYUp8qz֭[+!!FY͵sN'бc̎vh ~WCJNNّ`s0 M^u\Ν;XSNNNz5l0-0 3ptt~Wyyyh%&&^ 5jm۶A֭}gرc-[ڵk5c \Ą\? 4Ж-[O{1;p[Y&VYY ZjѢّpW\\\q___999رcX,&$5͞=[z7*=ՠAE&sqqƍ=zh֭fGny4pWX,=za=#fG… *,,Teqn EzԸq*k  %''t8Zrz%%% ,])**JK.իխ[7j*IkVYNN&M-[AM6U'ʺzCھ}笮6))IaX?GհaCXvv$߿nݺi׮]UXoڴi#gggyzzO>Z~ʬuʒovq͛tv֭˗k [@e4pי3g͛%KW^f(++K9r\Yff:w+V(&&Fo#F(..B˭uiiirvvV@@+yb_~ѣG+""B'N޽{egg'IյkW߿_WVVV>[:vX;V,X}jӦ망;wZ;IRӦM=&MTNbgg?X2d/^lv$dov>EEEӰa̎;PNNz)???Vz>eOJLLTHH$~:uv]nŊ:777-_\Ə>}ۦEEEOcT+>>^=z$uAK,_iO۶mSvNNN3g֯__Ӓ$wwjMaXkw}W>>>9riv,Rp$''+<<\Əov܁.\ =CZl*լ]V\YJJY֥޽{WqppP@@ yfk/ץK**I 0޸qcjժR}Ϟ=W_iԨQڻw$IG6㔤"IRݺu\{{{^]TTf͚'74;pKY&BZZBCC5tPM>8gU&MF͕ׯ_\W$effT{...U/GGGVzUilѢEZt?gϞ&8::JJJJڶUiiX **J~Oh eǎP?k,hB'NTrr󕑑>},R]dd6nܨ|=zTCӧ#oookkb̙Tddl٢:tHÇk3F~u͞=[E___yyy)==ڵ8 I q^}ڵkf 4HfGLCLw/o߾*((ЦMav$Ν+0'O0 M:qIZzMkh߾} ոq԰aCuEΝΝ;լY uC u.\֭[^iΫݻWahݺu$'''Q)c˖-guY ^x7N:tPqq ȑ#%I_~ڴi0yzzm۶JMMW_}:wtԩ*gڵjҤzmӹp'Vjjo߮H) b1;\O%%%ׯۧ]vufG PbblvHUv ձcG-_\aaa&%۬\R]q=߿_={Tva V1;\OEFҗ_~(ŸkÆ Zz-Zd?~)S(pԩvءQ1;pS,eZl֬Y]@:v+%%Eyyy8͘1C3f09zHOԩSfGnec;?dvWмysmܸQnnnfr*n-[֮]TRR"8qHMALw_2e͛8uѬY3رCSn? h ඗#FW_ĉ͎\W>>>/nݺ?ّfnkiii Ր!C[os0 M^u\Ν;XSNNNz5l0-0 3pttk)66V?Un]5nXz… ?Wwuuf;wnڷo^xhBNNNT3?ԱcǪ|_~Q߾}'IVbb5+֭[C驧RZZّfn[R^ŋ0 #6/b׷F4yd7NӡCŋzGtPaaaX, k=sz饗ԿٳզM988[=zPjj+>}gرc-[ڵk5c \d*Z~>HuGLM6mّpW\\\q___999رcX,&$=HzgX׵kWY,K,cqU3`edd(992p5vvvZx^xjŊfGemgѣGew}fGj*IkVYNN&M-[AM6U'ʺzCھ}笮6))IaX?GհaCإFV.uMvrz7ԦM9;;S}UVVfӹuM>>>ڼy_ܦ9fǎ~ئӕ%__jkyI͛kSbcc5~x >\fG e-X,=Z_|֭[֭[ VVV5rH <³LuY+VPLL7O#FP\\\˗[쬀 ͰjZۿY,O4zhEDDĉڻw$I?vk|zKǎ߱cׂ ^mڴQ~sNUV}ݧT=jԨ+Vŋ6WSNI6lh{}$iӦ4iҤB-7a7ofΜQFifG&^{5ԺuԵkWQϞ=JϧL~I $կ__SNݻ+խXZ˗էOy{{T{(I{1J"""tyǫG:hɒ%+i۶mj׮IskuO<~%&&j͚5ϵl2-[L 6… V/gMO$W[&0,QQQS^~e9sFoّZcvXۊSppqj]pAAAAz衇l2UYv$UySRRYwjBm޼uҥ}J*7nXZT߳gO}W5jݫ2Iґ#G8m^III:{mۦ0h]y/CmzHTn+۫v'Oև~9s(::8@,-m;vfΜ#FVii}Y5iD?lY\\\9::~u:oooIRffMRrttk^^^-ZK zimy+V(**JeeeZzu{ꩧ$I~M9::JJJJXWZZ*''څ=Z?5o<Vyyّ,-kǎ ըQmvFb\Rx@{$988]EEEϯveeeI|||l կ__EEE*((ٳ s=[JJJb5{ݻ >OKΝ;gӼ=zpW^Q:utaIRF$Iվ'b Cէ~%KJKK͎؄fnIT iӦZnX;`IҦM*=ر&NX.99BMqqm&'''\[ :rH XJ֭[W=zPRR èj,Μ9cm0{>VZ߯ŋWY{ijӦ$}j8ydZҷo_]V~ #5FL VBB̎TO>ћo4կ__aT;vBYԢE M8QWFF"""tikKuڸquQ :TOVLLm3gSڲe t! >\U3f}*..֙3g4{lY,\˗ԩS*..?sjzGjKNh3F:z~7c6?]v)44T:w,WWW=JLLԴiӴc988XquuUǎ%I֭԰ҧZfݻu)u]j۶m۶Ziiii:uT׮]&Mw6婧Ҷm۴g+??HUbvBW_}HD <(]v Qlllgر/_0V\P߮VPPZn7H@uV1;HRYY^}2ܒݵa^Z-?~\Ԕ)Sh %uQ;vO?$egg 2&L[Nm۶5;TcǎڿRRR'Iӌ34c P6mh׮]:|I:uH@h t_e˖gv7aWL65ּysmܸQnnnwyGaaa&7o۷LO<~'#؛?ӵpB 08nbvk֬vء@i֭z͎X1;׆ ӧ륗^2;p_|F'#V4`4 2D/^us0 M#!!Ѵk9G` IDAT$뻆a[>/۷$IJLL49&<<}dv$h (..u9HZX,c=ƍWY3`edd(99&Ԗ/^Ç+44TW6;R4pY,oƍu} M4I-[Tz`m߾B]iiգGI:tPLL+{a_rqqQnݴk׮kzҥ6nܨݻ0 #G*))a:r ZDzkox xjju{~YjР6l;v즜%5믿jj޼ի{Wԁ*ݨ+**r6gz;#Iʒo#H6o|j+""BaaaZdّpY&W^QBBV^mmn233չsg-_\111VZZxkmjj^'NШQ4i$EEEUT׮]~^ZYYY[oUа&~?3gdo,տY,O4zhEDDĉڻwlԩSeXR!SϞ=eX裏Vɓ'?\C gv3ZJ;wܹV\>@gϞ_|gϪk׮ڳgF݇ߟ<+I$IM64iRp0 CN?Oz͎ 2P7oգG6eOz"777jJ˗/WF4~xeeeY4eyxx{Ѹq4tP(//Zꫯ󊉉Q=:hɒ%:}tV5gv|r]pFEEOzTZZ{ȑ#յkW{ݻۧ+ZϬ aʔ)_4|z X,7n\9ͼ=+ݙKYݫ]Ma\`iӦi֬Yܹs͎206lرc5k,=fڵk%I{0ࠀj͒m߾*))c 7VVj9^ivҥq[-:w\Ot)؍8+ehҤI IIISBBB*]vo!p-gZݝ)**$խ[k۫[FTT.\(EGGw {3),,L#GTTTqkR\\\9::~{{{K233%I7o֮] ?BŋQѣGmz9=<עE̎\3HgeeI|||$I}[op=zTX,zw%I:oUTTJ={VY43gj5-`~TFrϬ64h {{{bTy%{j[LF$4*yyyX,Z-<<\˖-S\\ƌcm 4p] V- ;;;#ŀ$IƋm6999)((Heeeڽ{|||4~x{2 CTXXXi`IRjjjl9rVY333SG՜5%5ɓ'+V_FR޽ҳwyG͚5Sii-qj;Ӿ}{IRFFFs^/naaaZf.]{NfGf|SE6lّf֬YjѢ"##qFѣ:tN>y{{N~~~Ԝ9sBm߾]9s<==-[@ZUwiĈ$00PN… UPPcǎi„ Wߵf͚-[_TJJrssuYi;woP___yyy)==98 wpػ|$r(N[7n"0WQGHELkޟ~Zxpeffj9r***ffDeetieee5ICQiiy9sHiVp9|ÇkժU2 H@ PZZh-~ H ӥKk.X wuvV'p {4 ///޽[mڴQPP #ELry >>ڸqnaB@Sqqq֭[0}GVGf$>>^۶mӺut=XoVVGA-YD;wn{5j}YUUUYn: 8Plu$!h ຖ-[7xCou4Mo߾ҥK5#FP^^mvnVZ)--MQQQІ ;2\֭[5c -^Xcǎ:`+>>^>>>jժڶmkϞ=6uUUUJKKSXX$%''μ_}.(((H| eȐa׎6*cEEΝ+___9;;]v͛U]]-IJJJa*++krppԴiԭ[7jJ;vTdd=ڨ=\|mڴϗVZfUXXYJMMݾ}bbbcǎӚ8q5sLyOu9-_\-ҷ~Çi6l$)..N'Oӧ#{{Fg2ex :v|}}5l0۷O4c )=C2MSiv|GZ|HSvvv56iZp$)11Q]vmT[ϫ@˖-ի5fM>]-R~~ϟT͛7f~W+>>^aaa***ij$՞}mj͇aJNN5~xVGmfw)""B>/_nur l2]=zК5kԹsgM6MΝVBBڶm:hԩ=zURRR[7{l]xQ {)??9s쬾}J:thTݻwOaaarrrRNtRѣQYt)k2d\]]秵k4MM:{ht͛7OO<n(~NO=xhܸqSVVիW/*..NݻwWfffgyE :TR۶m=s:2 Ip1 CIIIJLLTll-[fu$ܦh kVZZXnƍCڌ;::*44Tڱc$)<<\{3G@@*++_Ԏm߾]4p@.]4e}|zqРAO5qD䨺Ztq78KFFn3%???9rDyyy \xQy\XgƽuY,?}N˖-yeI]wuc$9885;̙3+(>>^ ,:nC4`>|ʴiӦچs@KVQQbnZnnnuwITPP I*..ܹsﯶm0 {NO?[ZZ֭[;ЌojժU:yBCCA6m+gXSS#\_%I_up=5l0W҆ ԪUs+vvv͸jjjln泼pႆ]*++KWS9[n-IYTUU5;?˗k…5kqpY&Zij„ ϔ]Z -8::C/_ViiiΝ$yyyI"""h"ĉiz%{ʼnnn|.]Tgޢg$04n8ڵK/^TFFLTdd^{5y èw=GGGiFi^o*<<\ںuڵkwy|N q$988h׮]ڴiC4tΝ;KGsϫ)))imҤIZj^}U=uBY&Z?ӵa[1Bm6 ޽[NNN8p~yyyiڴiرcm:CѣިQ|=+I˻~Μ9cS hƌ?OzwO4pY&IoW_}U :pyս{wM>][nUiiN8ѣG+??_ԩ-]T*//מ={bŊ:Kj׮O;wҥK/5vXޔ46$M4I}***?hɒ%2MS!!!6uN8ӧO+;;['OTPPƏ,H+W… $_?o5&ϩ!nWݺu?*22R3 @ͽG$ 01EEE)##Cׯ׸qTYYiu$Xf~Z-~;IJJaՙ3gd̙#IҡCkڴij߾|Ai׮]'--MqqqJIIQ.]Խ{wZJG$)00PlGFx M:Ua0aB#0i&I èSט{bbbԮ];S۷o;Cٳg̻l2w}ٳ={J<==uA >\SLQǎ 6hӦMj222Ԍ;VGQJJ$'a6ׇ~X;GCܪ4g>|XahǎazW'0 ݻWeee2 CϿ)rڵu-[R999jݺƎ8p@gϞ\6n(ooo :Ah> ,m۶M|Ց`!4Ms+::ZVaJKKi|SxxVXas/77W{֚5kcQB-~ 4CiРA ͛ju$zN:CiZ@SЖ-[~z曵'OTddh -\>}sN}2dJJJ ,hcCJKKՑ-@޽uaeee6@[rhq:޽{uI} IDATHh @9rΟ?LyxxX @qkVlxN׭[7mݺUŋ+&&TIϞ=o>]pA>Ξ=ku$BVpkzJԾ}_H4M#xN4ݻkϞ=o~ܹ?vVpkڵk~zX־}訠 }7VG-@LIMM++WjV&u)=c*)):aڵ2 Cau74ǬYթS'}RPP>s#&Y&BܹS'O֜9sOZѣG8w#66V z0umV;v쐏BCCuQ#&Y&;vLQQQ1b,X`u͜~[^II"""4rHM2喭{- 㣍7*11QV4s_VGMBL+,,TDD^ZJaX Ԓ%KTPPsZE ШQϪ8fY[lQpp´k.#&Y&Ќ+""BijÆ rtt:4)4}K.ViF|<<<⢠ }'6dW^;v48{=3Fo~z# ,hfΜ?P֭=cu0|paÆIϫ@˖-ի5fM>]-R~~ϟT͛7f۷+&&F!!!:vN>'*>>^3gά1cLT@@.^gyF/ EEEE ޽{oxqqq7*$M2EoRRRty;vL6lg=C2MSiv|GZ|HSvvvKvbϠ!Ou9-_\-ҷ~[!{g6[^SM8Q999$?~\ Β!;;;ی{yyOGQ^^^peI]wuu4%IҥK 0od*// ,/gyFq ,hFKhȑ;wq;vvv͸jjjlƊ5w\m۶2 Ca瞓$OukӦM9<==%I? ťd|7j*@aX h"""h"ĉiz%Ii$*a7nvڥ/*##Ci*22RͼWQmڴ*++efWΝ;KGz˗/ҥKuk^%Di>OkʕZtfΜYpY& kĈׇ~(GGG#-Zuu////M6M;vmX^^~]|Yg* I66c6mW_I.)##Cah۶m6k{oK"##UUUYcźUUU}{rr 1x`Im u:٫$9sF<Rll?_ɓUSScu$42;\MMƌZYYYرՑ^*((ҥKUXXrٳG+V<<<4{leggLرcժU+%''[qҤITQQ~AK,i u >}Z:y򤂂$I/|||4~xeeeXEEEZr.\$9884xTnnn=x饗Ԯ];M>];wԥK_jرruuE{GJ ФQ111w]7ELk۶mZnzau#0i&I̙Ç0 رC2 C>{Lah4)%%E]tQݵj*=Z@]]] szGԶm[}GzG> èSט{bbbԮ];S۷o;Cٳg̻l2w}ٳ={J<==uA >\SLQǎ 6hӦMj Є t={EAC(;;[}ѨQ'xBSN***jϲ{7[C| ڸq6lؠ1cƨHh 4MnLjj&N>@ƍ:p[2 Ciii oWzRaar)..õb 8ݻ֬Y\zzŏ]׾}~XׯՑpmNرC_(@-[hz7ӢcԨnu$ ewm۶M:&8u{1Hf͚4StU{y}VG?Y&pxd-_\:&8z5`Kbcc^xt4?:u޽{չsg=ϭfmn߾}4i?j„ VFquu?luz]/ۭ^RR9RSLƍ[M6ڹszP=zH2ɓ'5rH :T .:&Yd 4w:4j(=쳪 ͛nݪ_999VGhh ܦJJJcWVZ%;;:#4}K.֌1Byyyڶm-N@-[(88Xaaa裏ТPee"##umڴI...VGZ Q{?~\QQQj߾}Xaa$Դiԭ[7jJ;vTdd=Zg+>>^>>>rttT׮]FkժڶmkϞ=Wx)EGGM۷׸qt}:wXΓT;G׮]u!M߿_[/?õ۷oСCʴi9^OUU&///999_ɪipo{RQQsWj׮"""yfUWWչspսKcǎF hGGGiРAПg#X4nCӦMSvv222ԵkW-e &Iɓui^>}(==]˗/WQQ>c_~ή@})99Y:r䈂Ojʕ6uk֬;pz3WAA-[իWk̘1>}-Z|͟?_7o^m3f4Mŋzg/@_TTTݻW4gYyAdx+󻸸衇i2MSUUU59džؾ}bbbcǎӚ8q5sg'SLo?^ǎ }%隿{{{UVZv~*""BVGhh f^}UZfcuE9s쬾}J:tPBBN:^{MC vZSΑN :u9shРAu-[pGZf:wiӦܹsu2>SzqOYYYW^ꪸ8u]L˗/W~@^Z?y晦?sCϱm۪C:uFd܄]\=ٽ{&'''uIK.U=l>/I2  X٣Y&`!4SOĉR^~ehRqqrJ-\PIIIrpp޽?h۶m*--U^^&OfWO[T'NѣduCgVvvta;VZRrrMtY.]oV<<==׉'tieggɓ j9^UPPKPڳgVXl &Mg} ZdLTHHHmM@@<=={y=*O뭷… 5k,4k4, /hJOOW=x9992 C6m$9990:u:x)ScǎՆ i&EEEzyyСCԩSվ}{=pۧۦ״ijʴk.^59sta;vZaW^'|"0w^0 ͟?f?JIIт Թsg=#j۶>#=6/&L^zIz'sKϟa6ͣ-[O={TttճgFcC)..N)))ҥwUViђ06(۵7=ٻw|}}vکgϞھ}y͞=0 M0AٳgƍC6L@ӊW_Ք)SdՑ%_nHKK?zKqqqV-0Ƌ-E^TXX|x ? nѢE?~xgNlN5kV.]>}cI NMZҥKӳgϬZ*sV[mUtljjjR*ҵkעSJw=o})G3gNt~E4:/r*J+^{KRN;Tt@C1X&lk֬7>(P]]] 믿~:{gvۢsOgɒ%ӴiӢsr\tP9oRdw.: !;`#8묳r]weƌ2`67x#w$9s\|}fҥK&O\tfcmͬY2dȐ;3fXg(&E@c3u\xᅹӷoߢs6qƥe˖ܹs.\Xt1-Z/SL^tfe뭷ί|OTʓO>Yt@g,6<_o~3cǎ-:`rm'?I>˄`…9#7_$J۶ms[nׯ_~ᢓ5c̟??Æ K޽sQ̟??rJNv[n馢6;[nen 4(C͌3NeߨZcK/;#ڵ+: `r=diݺucǎ2hǎ$R)ƍ '^{4RfrM7eĈ9蠃2}c7r-:ujvys6?0aBN;{:˄z2K.[oc=,Zmmmy9_$zX& M;/W^ye PtFQVo|#o}y:vh,E%qj*'O]wݕɓ'TykҤI~g5jTLRt@ѴhxuQ9sq?HRC=͛Xǎ;dz .\-Ze˖ٳgN>r)0`@>Te]6m裏ҥKs 'P&E@CkΗ\zEl4s3H?6li…kI&ev1jy睗I&夓N_^t@ezZ|y=lӴiӢ65kz3+V9;vLb,ŋCe˖CMRɵ^&Nͩ;B.~XO{l{:O=TdŊiݺL.\z+ڵW\_~9͚5>;P&@=4z?͏~YfMITMZt=C 7Pt@!.\.v[U[ocǎ/v)555kqYpa8wygF~}9޴iSCPuu$)J3gN-[VPСCs뭷fڴi=ztV\Yt&a,>š5k2z,Z(v[ZlYt@a*JolVEf;wn)|{wߝC=4˗//: `3 ;N|a(TRI]]]}._RTNӧO*JΝ<0K.-: `2 Ŵi2iҤ\}ݻw9z>R`K\.:O{)ysw): `1 O>:*'tRƎ[t@rZl=zl R)?x/^\t {ٳg祗^ʀ| -cg-ZÇg}_\t@PTҧOlEHTJw}ņ^vm̚5+Zoeʕ1bDV^[n%͚5+: pj5fZ;4ڵ{JRt i]v<~;}Nؠer)Gߞm٦z'oS .r >w1sI&MҿE'l02s?sIT*:7o={R`뭷ίt5 ȓO>YtX&˗CV[m)SI ;wn}]cЈJT*TբSm6{ok?رcr)l[neNR8wA2 f{͙g/8C ):^zw裏T*lDM4I~RTN`i֬Ynva:thn֋L6;/b?=:OTt@u}eժUׯ_)FV*r}/: 6_}F#G[n): 3 feҥ9CN;k):^T*kvlduuuyw#T[[뮻.|?L2$OiTՌ3& ,ȣ>-ZP < `yӥKT*ݻ6\~jr1dժU3fLYI\tE6mZNvکzOS+R`)J)Egwy 2v\~E|EP.sYgK.Irbݻ`)J2eJ~lVEL81M4??ww󝢓"c4z7~xN9唢sJ=zuEf͚̞=;C-:d„ iӦMN8ᄼ N&Eƴlٲ ><;wΏs3gT*lB;v̞{JRt q)S{^&LjZt:W^y%>hZlYt@ /d޼y+:_ 6#<2M6QGKꫯN&~*P?.}{,]v-:T*iӦMoSMT*gɂ N`5jTMɓ'稣ʪUNHb,Fj֬Y93iҤ <Ro߾b-N6}YfT*E :4ӦM˴irGfʕE'~9蠃2a„s5kOT*:(@˖- 2$sO ><˗//: QY|y;t!'ONMMMI o,\X&lJRf̘QtX>}RTCCͲeˊN6c2hTN8ᄼ⋹;V[T*lSc{Sĺw3f;leh\uUٳg_LTŋN6C2hz衜vi9E4H˗/?~IfX& ʕ+3bĈi&SLIMMMI VR;.].K,?^t q3gΜԤPt0 @v '䩧ʴiҶmۢsr3z`w;r\t ~3s4o9guV /j5+:'JRƎw}7Z*:u1J%C I߾}S.{4R2ҥKӵk{E,^8~xzs9g4nJ%{w:vXt POeʕy2hРsڵkr>8{ίt޽,2 @k׮7n\9>5k#Ț5kr7v4n|3LvmT*cժUq9Cr_t4):w[ұcǢsKT*:gR.iٲe7̬YNc4wyg&Mw}h4r5k={3R)On,#f9 2FRdiڴi)@=/9[N\.:z&^zio裏W_]t@Qu]$^,YRp͇5i$~z__9oV~fĉ2 hѢ5*}əgYt@z̞=;Rk֬YzJRt y睗I&夓NW\QtQ{$lM:vXp_vGsιSO}+2x`>PŨV9#RVs7$F˛oi,XR)J%k֬):bĉ袋r)6^zfǑG$[[o$YbE>|_L˖-Ӿ}tA۳zϻjժtM8p`:u-Zd=W\py>#GL[pG^s=O۶mӲe?>:|Ҟ$y7r'K.i֬Yf >=ܓQFeygꫯcͩ'=CIZͰaÒ$ƍꫯNmmG/]4ǏϷٳx 0 z5.X ݻw7ߜYxq,^8_3wO|}8So}+Z.?ѣs)ς r9眳s}ҮN;-j5ZJϞ=SVSVjժO}v6mڤO>YbEn >|s=;cv嗿e}ٵǯ 0#=Oo~|K_*:QT*k>^>t IDAT{N:\.@sk_l0Če]n$O>d:TՌ7.R)FZJ=#L-v/.ׯ_8lرcN:q+oŖ'_~iٲezUVcǎ}ɒ% ҳgϴn:o~ӟ??~OzgqF͛K/4x`Zn=#/RVsI'}{׌3&_җҪU|k_{쑻;zj?iݺuƍv)wuF46lȕ+W_ΨQra_jV\^{Sܳ-ZSO͚5kr$I{\ve93?=O_z>3˗gܹ)JE @MMMJRt رcs 7{^Nݺuʕ+3Ŏo7o=zsl=g>}z4iC:u{<z>|3xΝ3umȮO{?Mfvʹ瞛#8"ӦM˕W^^{SݳǧC/k#X.:ћ3gN/_n,JRfϞe˖@tGg?Y~Ϛ5kN1c&sGy衇2bĈ4iῒ\})Jj2xz뜷dɒ}s=[&5550aB ZZ:CǷv$믿=WX%Kd͚5i۶㷿mwz]ju~ݤI֦e˖]7tקO>IJ^{Sݳ֭[SNիs9K.YgP PJ/~aN,_cƌ-ܒo=-ZȰaos^vs%Ib 80ӧOOMMM~_%IV^|0:u'mf߲e6hҥK?4Og֭[~$ט$ÇϪU~9.|s+׷e˖yz]w͏~Mz̙$޽{ohS޳mSOM۶msYg}k(֛o'xX&R.2dHy>|xVXQtP6KC_w=]t/̟??vXV\w\zꩬX"z_5j5 H֦_~yrg…YlYf͚kf^y֦&o?xVr'Gɻロ{,Gyd5k+S|5&ɤI>sL,Y$/ε^;/\rI6m^׻!o>^x!jΝ_~9{^՟[jU^y啜{Ν;SOMRgz+_W>O ̙3$+6hpJRE7w}w ><˗//: Gjj5bĈ$ԩS .1:sWO?N:emY??guV|?ٳ3o޼4o=jڵk;&LH]]'?އ3<3rHwI&W^ݻ:9眜{gرoO}K*IZnw}C\SS֭[k׮4hPofm7ϻ {ꪫr'vO`cM7ݔ#Gh?>?xy䑢S76lSC-:FˠA^{;H֭N7X&2zX&Ʒ.\Pt u==zSh$?#p@v}yiӦMI@6)t;R*N3hD{̞={S/^\tP0c)i޼y4PR)?|͛Wt nYfe8p`-ZTtP c \MM~{EgPOT*+-Z(:h>2s̢Shdvu<y7SWW7x$ 2j2HώfJT*:h7o|+T*Eu%w_.]>}dE'0 gy& ,0 JRrj)4B2gΜ֦yWN61c(i׮]gS.ӟEHu)J%[nez^z$`2 Jg}Ҿ}ShĶnvmӿw+: Def`ժU={vJR)@#P[[R@#[{MΝӻw$`2 \RIT*:hv瞩T*E_cfȑ/YtFlѢEyꩧeM]]]rljjjrUWe5jTLRtFEjjjRSS͛hl75\}iѢE/dy'9K.Yz;R.ӤI۷*Jyg`SL/gc9&_}IX&4"FJZMTcK. :Oj„ 9餓2lذW-Z믿>O // 4QСn&Yj$)!!ֱ+55R\\O6Meee裏<>}ԙ:h }zG*I޽{]8T-ܢŋ@p(<<\=z: fnH;v: 9RV;Cqƹ~@ \h 4A*..V˖-TxvܞԩSjٲ:fuIR~~G?X=oy߿_6MZҠA\M<R#GTǎo(t*..N^^|[ԱcG9PkժUZjƎKL` ???\%%%=OHHU\\|z0<.VwQIRddGfqpH2MS#Fܹsk'''B˗/kg? \̙3gel6hft:y 4Hׯڵk5bUTTX ԁf@ IȨ1^PP{=%I֭uW^z]t]ꭷjs[vm 9Nk׺={HZhx0Zf͚/RWۙOeggDv(ͦ,Z߿֯_L1BVG?ALzԺukjÆ *))ѿ/;VAAAn?kתXVJJj4˼[o>:tH۶mկ_?׹T}*..־}(//Oiiio矫Bǎ4MŹj-Z?O,0jrss\Ե^.]X@33g(++(\P߾}qFeggk*++:eMT.]m6EGGWv_J&MRTT***dƏtիWK5vXIRddrrr4j(M4IӧN<-[sήs+|5jt7s3f&O+--Є jyZ0KyfuMGV֭u7+##C_SO]riΜ92 Cw֑#Gdf̘qqড়N㭎Сnf9NpQ{ֆ X 4MCZ#G$X$aZlMRqq;hV Ms#pUY&ЄٳGÆ SHHԧO}ᇲ2 CahǏkɺ뫶mjĈڵkWO8)SK.UXXi&y2ǏkԩS'v-ZHeee@n9s}4i[qgm`8QF)44TJLLTnnn=O(**0 =쳒̙zߩS'f)88X0`=7W]]Ll6a0`NQhAAAXk IDATm߾H\h 4Q|bbbc\Rǎ… ?\~~~2MS ,$)::Z˗/׼yTXXL*&&F۶ms͝hJKKSAA>fO8WdWΝ;zHϿl/^kF ,ŋdmÆ i:t$)55U:r䈖-[7j̘15>+44Tij7|3fH|||dbbbxb\RSNiѣcgU~~Pqqqڼys>3n[jlڲe***@К5kߤ,hz))--M R﫴VuA͝;W{~ҥ2MS&MQW^QbbZjnIڷoɓ'ѣjҔ`EDDhƌ4h[ףZi4MӦM-_\-ZPrr k+&&FSZZyr[Μ9{9NkNQQQVGui}VGԿvmڴH\uh 4Qo۶uV>==]^^^JLL1ݻkΝ:|$iժUרfSYY> ds Y~RSS/x.ITaabbb.Z{>wq̙R9ReeeuDGGx5H;ט'Ssh"8q5K/iҤIjѢEgϞ5ƢԡC޽[yyyt:edQkV?t:@5p@%&&g f@TQQblRAAAժ?uꔪ"0j>SI_mٲk!IϿ`>wX6yd5J_|&NX\}}}%I5v>WjjN>yIۧ7G>44vI;vYrΜ9,l6@v1hpf1Bw[ 2&O*//WIIIǎU*={Vi0`rךѣ swZaڵWnc q}ǓT_>"""믫Bs Yk3֮]˒痕RYdٴc\vur:/ϓ9ծ[ՇRRRt1ŋc\9995S=Ծ}˒t:եK]VG: 0@i*33(4 ooo-\PǏWRR>#,h{9nZڰaJJJ_衇Rddd^]tѯk_^NRaaϟgyFs̑Wjj>Ck߾}z4EDD\0's}ǵvZJIIQ^^[2z\ںw_<}kƌ~vڐ=SڶmJKKc;VJKKP7)nu 8pKN(407{Y &f@եKm۶MѺdM>]_kԷkN۷oװa4qDmVݺu|իW+))U3F'OVxxR9M0A4gݻwȑ#2 C3fh׎5J&Mr՞|%-[F]pի5bm۶Vڰa5\cuO?g}VRRR@S'??_[ٳgk8p@(7|SSL:.T=h ׯ_?tZg?'W_:M2&ɓJNN֡Ctim߾]FRV?x,X@ÇWII|M?Vಚ?RRRO^:W>V's:;i ɸ[պuk9edy{{+99Yi_:W4/9Nl6cۼ5`9N`wܹs5uTiu$X4`xJLL: ٳGY&&fi:{Q<ŋW_UJJf}6i@=8NwVGl6O>: IJJ7-\P;9u:)88XV$өEVGtMp8.G:hʆ >@/tip)fu89Nc`{WZjƎgZ +2&lϞ=6lBBB>}?na2 CǏw?~\'Ou]'___mV#FЮ]\5s̑a*--UVVks]ltטa*//s5jqɓ:p `o^&LPqqq?͵w^%%%)<<5VPPJ-[L񊌌w5J Wbbrsskh gΝ:y$24Y6Mפֿ [N/TQQau$4oF111ڱcV\cǎi…JKK.??? H˗k޼y*,,Tff m۶IN*4Ki4MUVVbs 6LijС5>)S'T~~^y{zٳg+//Of҂ 4ss^w4WrrRRRt!egg[ѣG+..N_}:GyDSLѴi;_jjRSSu-[L7nԘ1cjdh p(""BrQ^vepEn:m޼Y#Fp2&ꩧRQQ u]JKKkO>]ܹsu.]*45i$ Vqa?n6jܸq޽֯_)SgϞ Rrrz[gsӦMSlltRmڴ$j S6m4i$=JKK_|ǏWLLe5x`䨠U7t:/0Ү];EEEtZ+F߾}t:ÇHXf@!I8p`m۪[n㑑޽vܩÇ7^zݻw:tscǎj5zSxbb6mTkG:{:?]5\#I57.\۶mf: \.au ({ֆ c 4H%%%VG24 e˖ u<,,VST]]Q駟J˒]ZK 1j^o```NO?(OHN>]BBBj$ךmݺUeee0`Ql6}˳: W[oU7o־}HXf@`cǎժ Ξ=+4|a!樏! 2Dgք o>UWW4M˒$45hNn&]{VGKҿjƍVGs-hӦMڿl6 eGLJHH$edd׾}jՏ1Bʪu_TΝUYY Й3g\vzˣ 1G}yKUUU,EFFjj۶YhYY%Mn:\@GN(\uM6)??_:qՑ|~{99*$$D111:px EFF*??F?͛7׿^uy睪Ҋ+3h…E[m6:tHկ_?26z/bccqFKz衇l曗<co\giVGa׿Ffu&Zo|N2 Jj W0l2%%%Y(|t1n8pɲԷo_ٳG]v: &n: ;w_Z/V,4˼ uMeee:xQpp\mh u{G۷[DeesG:|hZ/_QF,V[eu֭[ٳ58\Y !fu h0>>>߿NQWeMɓ'Cھ}FVZב#Go>el6mڴIUUUVG\Ah \a øk֬YPQQnӍ7ި۷n4_STcaÆ jٲ.@***Ν;X@Mi]kd1Mmk z28Nu]: 4ݻcǎr8ӧqW/3MSNZqqqr:V9s0 N:nݺu馛ӽtRW-[6W*曺;-ZC{VGLC>AAAν=z(%%E;wleY&&Xlz)9=džE_h eٴuVZboTbbe9ԩSezQ\w}>}=(F-47 7n}Q 6L_~eK'OV޽Ҕᒒ}gC4M={V{3<={wz衇t_ 24mB,3Fs?oq3ڰx7\BCCumYE||Μ9,UPP[14U]]˜ntwjΝ :E]^ /''GK,?'|R:uR˖-եKOoFJ{~VDD7'ԢE4fY\W @C:cŊ2MS=C59ԳgOmݺQs5jo\8N 0@VGFѡCuMNSsq+Bpprss??:F_JvZ$-[rF~yfYFK.՘1cln/;5 8 qnۺu묎ФUVVl6QQv9c8eZ/""BaÆ:_3Rϰa8q$i޼y :724 UUUVG.:ufz6MvǭWa^cǎC3I***O[n P֭5dYwAZl)EEE)--Mծٻwy9$S|:'kž={4l0(00P֭[uصd.wO~>H ̬.<Ío߾l={V* f@MDԨQp7N'Oԁ4d}0akXl~ޫ0 绽իWKeWjcҳ>;J222\mڴ9FMwr)ݰxo8qBSLQ.]N:nkѢE*++c8uQݺu: 48yyy)33(֭[k.G?$iڵ۵dPIĉꫯ^Ӊ'W_[n:tl7##CGV\\+:tH]3<Í+22RCgCL &$ IDAT)S'T~~^y{zٳg+//Of҂ 4ss53FSLQ|| ek'k-++iΖ樆ژ4c 4hLmv5o'k{qN\\]B<ٰxoh-YDiii*((Ν;zHg8Nvc@kժz-iuxGZpvޭ_2MSɲl=ztZөݻ+>>^K/nּ>}ԦMM4I<יeڴiU@@nvUVV3OsL>]ܹsu*((HݻwҥKe&MTg+&&F>^AAA… WgLs5⩾}믿oCL/<Ν;kҥ g=i9γ @àY&pxum)00PƍSݵ~zM2E={TPPukݺu>l~HVUU֯_[yrcR}o'kjW#ʋφźL>]~Ҕ`EDDhƌ4h4OVvvl6Qರr8V@=9Ro߾:qfϞ]nРA#(;;[UUU{*66UM6|=tY}uӧ[y͑.///%&&|ddwﮝ;wõ揎k$}wns;[FF$i5;tP]}&\ԇ~_*==]r:=zN8c>\<9=i-\yyVh84{Cuwر`c{.///+x}fܘt)ηQӓ^Tff sZO7,ϪU$I _^np۲e***gu,l6rssZ0{l~5rHyyioy߿_6MZҠA\s)=ӊRXX Ðaz'$u t+;9***t)UWW+$$ĕO?$}׵ W?d֐.vKYCcPqqZlZ۵kWkD]>^2 Ck׮$UUU)++K\6mRFF{[V5OߢmQ*Rtn%[nZtΞ=L8qBӧOĉ}93k͚5 o_|Q~ߝﷳ @3ut1PFzjmwww-[4>>>yZnm$~\p\rlٲ3aaa:cYq$mNNٹs5jiܸR)U5 64SL1/_gΜa>zꙿof߾}vkmuVܻVX="+-S@-Mv*IZjQ +**J5>uT5kL͛7>~xM0A7n֯_$} ԛo)I ޽{uA{ڱcN<)OOOծ][ъbճg<9s4ibW^ZdIsSN٣&MHRSS5yd*W4hѣG+<|X{mgql޼Y*TPPPKnZm߾Q.@LjԨQ2ƨ~:]ԳgO=3p~b/Ɖ{_=dQXXkU"""\ jժB jР]\j*c+jj%zOժ ܹD;1F-p+sN[wpY1СC*_cp!WG$Q,]za *8 U:~c؞={o)<8[0ydM<1]b 999x=Cz]͛7 /:_RTTc_|1ew8uĉzW~z)SF>̙4 :T۶mjUDDf̘!___۵裏pB}JKK?^zICoff&O+WԩSTӦMտuA7ͼd'O[bb$qJHH$]pAZvΞ=+???5o\o񆂂5zhIҮ]dX$I֤I]ԴiSܹSqFo^TB%'';#G㕚jCŊ˭EA{lʕshfx7O||õvZuQ4|p͞=?++KJG#Gh̘1ںuOjԩիWi{ɓ'k͚5:s*U:uw޽Ν[pK?xzz駟X&|||T|yW8I[]idQdd$iȑzWYfiɒ%իX%&&j„ ZpƏg7Gjݺ~>}Z ȑ#!C4g;JII?:u(22R_|E{쩑#GM6JMM1Bի2 e&&&QFZr͛Tm۶M ў={Qd6m*c1ƍ~v0p@ }Tn]mذA#GTPPV5jhvׇjر*_*VCٳoǫnݺjӦiӦvt:t蠜mذA˗/;V'OԌ3jnݺZ|1:thZbbb*ooo5nX٪XSs)^5Ceʔ[իWf=Zvm}۷Crssm( kҥK={ڴi#ժziѢEJLLttI4vX/={"""뫀7Nڵsxl߾]jݺ%<<\Ν(ۈb=aÆyWR%Uٳy"""uV1ׯ,}wvi0`#I:zBCCvQ5nXnnn5kݝ_A榈<큁[ۧ3gHrn%驧ʷݙe/n%3kg}V6mRRR$i͚5jܸ^~e]zU$)55U۶mSΝʷm6*$$о7n$m6O{*U**'Hڷooچ 4|px= tu_7ovumDLPl<.oo<Ӗ7xCSeXdX4zhIҕ+Wl}Ν>@?TlYkVL.^(UVM6lВ%Kc6JKKSnnlٯ?/IkI8Mr~-]TG}UϞ=?Pl2EDDjR?Tzz<==px4yzz׷X3(>>^ᮎwwww*>>Q2\ǎرc͕1F3gΔ$cl}-͛7ҥK1F;w֌3.U6oެ5k֨^z߿brʩTRʒ1&GVM]KJ|.ŭrv:t ?х (gі-[۷o𐯯] SSSO׮]Szzz ;39[: ܑ´m6eee: Pӧ~XjՊ?futu8b},''GvR`` J*ي]zծrtIRҥզMbhݺuv}}}UjUYV]VVUQQQJLL,9tYڵkkoz!egg;=WIS G?Oʕ+_sMRRN:Usߋ[Q+Sw_Wdd$I}QNNƏDnݺX^׾}{Iƍ'''ѣөS'I^kРFa{^ؙO||ռysWG;RxxW_: PQFHM=d~QIFFjժWGpRu-[hڴiׯ|||{͠A4g=#JKK{'cLWիWM6ܹm&[ԩS}vzwO+''GVĉh"*GgOjϞ=:}Μ99OgyF}] :w^{5=vZE*^8(D({ァ h֭(jǡu:x֭[&Mwʔ)ڼy.???ԩS9rV}1bVZh4M2Eyevfʗ/GNNJ./x#wڵkzڼy6m8p[c\WGp 1Ƹ:\k׮UV8 uώ;mٲEYYYz5~x͜9ShEDD؝gJJ&M5k̙3XZl'VZk ;3cXb u֭߿Kd|o>-X Ott~GرQN*p' RrrΜ9S"Q4ڹsg~+W{TA8 IDAT|o W[ELP,QnGLt1KWJJʖ-8'9bw&eb@A”/Q9rD:tժU+ڵhȑYʔ)˫}ںuOfdXl޽{K`.]rjN7CժUSxx/^W:љqqqyr=zTݺuS lmɶu|||Լysܹ3dff7P:u-uQk׮UNNSkSsYpa>#eW||k_Վ;֭[kEFiҥ={_[aaaZp$iΝ:p|||T~}u֩qZl1*Ws~e˖o>_~{8љQQQ2(22R4p@ 66V7ݻյkW9 nXHONOOVFs|Yaaa*[ڵkg+| ( M>V0Zj;ӣGc(%b:t"##+%%E׿t+..Xs7|#I1Feff*!!Ae˖Ր!CSҧOˊw}t}jР  ؽ=IVV9'ȑ#jذ+WXn5nX*---E2\ёӵkהnܹs<۶mSZZիvoGݘ)޾v222^OMMkX,ӧ6oެK.)..NuY3fp]s2QF: 0PZdjUfn/W^yEV͵tRW_IS|\8)SFAAAZl4s|  k-[LzWUZ5yzzf͚ʕ+_ժU+WGrw}'IzG}[nZbEݿ$o۷kڵZ|zY\qQS\\c"77W/_Qh"EEE:S|||4dM>]?~EGGL2={vO:U۷oeZղeK%&&jرJLL￯IҬYcIV^6mڨK.ڼyJ.{ĈZjѢ4e%&&ڊe:љ2e6oެÇO!!!:uF)ժ4k 9sGQZZ{=cԺuk[sQ,r:~c˗/իz'(y0H<==]hIشivlRɷ;-uŢ!C/Լy(b_:  4Hc=a=z$jժ1cbbb_+''GO=l٢M$믿֤I4l09sFjҤ6ol+8d͝;WoV $رCeʔQllƍnСCuUXQ-[_|zȩMHHPHH:///Iu5kԞ={.](++K?Ə3g*>>^EZpo߮{O=zɓ'ڵkkvh]Jb.qqqԩS>zҒ%Kp7?oQwv*IZj^d9sQzVUAAAڹspܹS׮]+qugE+VPn5k]vٞ_p/^r)33S'Oʕ+u)yzziӦ߿:t wwwIRvv>#-\P~륗^СC&9Wjj$… Xה+WΡ 73fmݺUz'5uTM0➟o덅nŋկ_"ӒXGGX>kٳSo(((|9p4hHyԩS^|}}ui-[Ծ8z===UV-%%%]vQ-2g=ĉQJ*+WtҜ|\Rݻw+Q r}p-;V\\,qIu]P飋/ĉر|}}Ure_y֊+ԦMKٳoffx թSGWǎvZyɒ%y2[,%%%9<#G(**J~~~SO=>L^z%[ .hذa^ʔ)J*s:p)))9rj֬2eʨ|j߾nZ"khӧbڵkޥJ7ѣGխ[7UPn?&M$}K.n35o>>_}IҺuԸqc-[L+WN4d͙3GRRR?N:_|awƍѣZn~AOր4rHEEEHI5x`>}Z y 9{$駟~RHHݫիWܹs7obccuq =^QF#5mTc -rw93F/R ::2gNLLTFrJ͛7OڶmRSS={z$++Ks=ҥKwߵtv>VUV҃>7UV\ze˖ʕ+Eળ.Ix\3 tbt(H#tݻddd>H2۷7o1fF1bD1>S#L2Ť .9s7773jԨ<}_z%g>ssdFe$[[~}SjUl3rHӦM<GS\9SjU矛tsan*Ud<<}nݺڰaF YV 8P5j رcU|yUXQCs=ٳg~WݺuզMyyy) @ӦMSڵ w%uA999ڰaʗ/^{5]tIgV6mdZUn]-]T/_?vXk|rc4t<}͚5K*[j׮Kr6lΝ;gw[Ysg9#&&FVƍ+jȑՌ3ߵkN:]:4~nn127=W-ZDt}fϞ* @ƍSvC׮]?Vf͔X~ڵݻ5`%$$(''GtQEDDh֭vׯ__YYYSO9f8aƍm[J| Jz] semV=>Ci۵qf,G;..Nnnn3f``֭}̙3g,Lddș3gԽ{w}'?in:yxxo߾SjjգGwon9CaK+]*VX3 {X,B&Lpu"VXנX&phذaUTɷjժ:{l(0sGqrssӬYTlfŋ*U:uw'|"IСC իW%UfŗyիWO/VJJ}ڴi:tJ.۶mSjjBBB l?۷{mÆ >|c@qUƍ{nuUnn_͝;W|~glٲj׮ϴo^z*_퇪G-IrJ|||}k͐tyzzjڍylG$;;[]vUժUo:ǙYL)77W~~~v/I茪UjŪYM{iwORԺuk-[L111իo9CA_sNIRHH='gp < zܭ5( ʖ-繛흧]yڊ̍.^(UVM6lВ%K[aŋʗ/o7zzzn쀀IRRRkE],SPÇʕ+7o$رcڲe } SS7WضmT^= (ӫW/wUff矷+6ZRpf?F"%_~Qtt>#]V^^^ԅ +W9"I*]ڴi8Y,[N]v)00PÆ SJl]z ۷$mܸ1O{rr=zKc;[#<&Lw}5kãHoTx8;#-I;wVvvve7[ozHم]vU M6Iη1FϟiAʽ{J4hP ;V_}:u꤮]{{LC:)##C|$)22GffTlY 2D111w\ά,9rD'Nԑ#G԰aC//p^`}WVDq/?eXԤIWG#P,T|}}UjUYV]VVUQQQJLLt*͊%%%رcv)pөS'I˟xyyym۶N-+ xxxh:?+RI™S?ׯ{A1b9 EEEi֬YzTzu^ZgϞU.]At!effzeQ֭%I URRMd]zU[nv bh_l)S_ÇצM^{jUOرc:}٣Y͛7$-^X?/Rv?lqPxe[N5k_Ԇ T8qORJ9E=E&M$3FƘ|KRnݴtR={V:qΩO'*88X}-r>빹:֬Y0z>cogjYfqSřL2 Ҳe榙3g: 6nwww(22R[lѫŋgϞy~} 5Jկ_q/?_h$/4GL>VRfs؅ Թsgeff:3EV~hߙ7SNU54|p}gJOOױcs)11QgV@@Y<ƍp=N]ߺukUPA uTAψ#n:̙3$i")utd>Όz?ꫯ!CRJS>cYFݺu3]wY(ԠAIҚ5kdXԣG<\{?i@|AU\Y:x7TƍvZ-_qn>}rp&bn}еkWIҪU\JHHPHHH_]QQQjԨQSYfvEǏ &(99Yƍ땔$o^zs IDAT7%Iڻw<{O;vɓ'ڵk+::ZѲX,Z|z^3gT&M2KK,qhǎSLLl٢liԩ?~+]|9OTM>p}=#Կσ3gΔ3($$D_~.]jo*ݸq իWQF Й3g=n5UnNyM41&cҤIjذ]1cԬY3E+VԩSߕEiԩ{$կ__˗/+%%E{K/$"IѣݽofG eJRڵ'(--M/_֮]ԢE %&&bŊvCǏ]!JIPfΜY.]7 e;Gю;SN @早T QppӅ2%iǎJMMuhō{v}WС6ol˺pBEEEx6?gϞղeʔnNp/k֬,ѻwoIṱҥKLS﯎;jڵɱ+VM6 իٳg+77/...}=nݺB <&%%E#GT͚5jժ)<<\/իW:yw.___UPA}ŋu uQ\"#G%???y7-:N>]XѱgIpႆ իL2T:w8N:D-[Vuڝ͚5/Vʒ>-, "I7oK/6l'xBΝ] ( $[N8Ǐ)j͟?_#Gtu @1ٹs8 ޝE] JBf]y[.7hZjv%.4KbYi&7V.ݹ$TڷZ,L!qA.83ðus|ys>✚΢EXf :t0 ;v,:'N`jՊxmfiw 0hOVVF"))I&YB||<Gf̘1deeM^CyIII!//={СCYhM[IIIL8͛GZZ "11d>}:K,aڴiO?Ddd$wfժU?~ ?lSy0aaKN,?&QZZp[svv6۷gʕ,X|lb;vJJJ8p 4hy]\烙I]"""rHn+%vU~L&M6e׮]燏?O`5K駟0tP,Yb׏gAAU[&3gZyq>d"""""rU8y$G&++3gΰsNO xgk;:kɒ%ݛ".\ɓ'ׯ_m%""r͹KO^a5*<|qM7;мysfϞݻmbK_nDFF hEDDZm&Xw+aUF&Mػwo Be󉌌tKե<#V3SSS+˞+#q>;p KٳIHH],"""""""""""""""""""jJ)""""""""""""r زe 1fkSd21d6l@AAA>};wC=Drr2#GСCa*`T'///9wN־兟Ν|2Gd2Uڿ#mٳ^^^AIII?dr3y0 ~R^Rur`QH6PayXsss]ԥo6N*? ?Ν;+˞+q&&&r,XCشiFb """"""""""""""""""""RLq9sXLմiGDR˗/ۻ~W·~'|B?$66tL&k֬… ddd¸q,Ξ=[ccݻ7k׮M6<5K=z~z<_0 pww'**fϞM^^gϞe,\С؎9;&oơkg͚Efx'Yf Nѣ3ZI /аaC/(**dfc۶m9tYYYر_~.]8֕͛3l0֭[Gaa!,Z3f0g<<<8&3gO[ԅ/++#77իW/̰aXt%A"""re՝`5ܹsڵ˪رcs7VKΨk?S{*g.gŘ1cW^aҥ?e1TUDDDDDDjaQVVVf3l߾m+T\ؾ} 0DDDطo_m Wc2| !** /zꑜԩSٺu+o& ~ۛ-Z[oYXS3аaCzy宻7 22r], ˙L&<==̴뚐v̙3IHHѣq}m6n zgի۷֬Yt*dbڴiL>ݮn޼9;v`ҤIDwy'ӦMW_eƍL&Β%Kݻw0o ;wfѩS'o^_Q& p-йsgfϞM۶mmqEDDr/6l 11"##IJJl6SXXh[,{ӦM̞=CKffÉ/ֶm[vAVVGL2d~NzHIIRݻ5kбcG/++#//;vki& oaܑ5l~m+55aÆUwwΝ;裏4hsPg1c/2uT~an6#"""""""""""""""""""RqDDDDӷo_>ZD%q zDfk׮l߾sι]sf2XbEDD5>::ĤIشiS K$_}}kFaa! lٲL\\srmii)~!K,￧n#Fnqq1?<+WۛN:1rHz쉻{11dlBBBٳg)_4i9DFFB3gO=L&)--'|±cK.a\1QfEc<11DVXMx,'LaҩS' 0 xٴoߞ+W`ٲe DFFcǎ =z4cƌ!++LK"A{~rrrh߾=>)))g:t(-X]5?޽UVKjj*)))۷/// p(Qm:3˖-_1116]V}W::OUyEGGӨQ#233^Ǐ`短^nx>DDDDDd2>}zm)"""""R,YB޽)**b… fP/_a$$$TxݤILJ:PZZJPPH'O_%%%8fԩtݹɫ=s:e HII!66e8}S:ڦ37o+++$<,,T&_.RL[m'X/6gL&{?d21u[j^zz:,_IDDDDDDDDDDDDDDDDDDDJ)""""r h׮&MTX~M7q186olfxx8%%%ݻW_1j(233p$**{o7 `3IOO͍8BCCٳgGﮰ={ˑ~?czaߺuHLL{WbϜ_nݺYսhժS:ڦ3׳gO^^^pY>s>9{_]Ie]eÙgR[l!??+֭l͛4iPΚ|>DDDDDDDDDDR kM03gHRFaw^ڶm[!uD2EDDDD 4z憻;>>>VYsF`` & SO=3g,uϟϻ/BLL 4{u:y$ziӦ[4W BVի`3SXXHYYy(}7>|Z__ ۴g鷼7~~~v*4Ŝ:u ooofh`rrrl>s}u%wq4GҚ7nvjd"""""׹zdFɡC(++0 ^}U ð5L 2 6PPP@zz:aЧOΝkӶ6l`Մ1rHvUccdˋ<<<())0 _C}]i Ν;ǩSxyyǹs(**<77t?~xcg]nn.="bm޵N3geM6>fM2d777 g̘1ٳZvÇc2رcm""""""""R] ga""""""""""""""""""""reJ)""""rp0n8nKgxzzKzz:&5k㦛nl6'`6ի;-[dӇR222l{饗[(--/{ˑ~{ ڵkmiӆ'|ҮJ=X~UyNN6Kb6nH֭SqWB IDAT͑8}֫5vSמ? 0 bbbj;Z1a <<(**o >>0())̘1Ю];ʙ3g-HMM믿hDDDDDDDD\z?sk,LDDDDDDDDDDDDDDDDDDDḌNTT6mb :___233Ypa<klْB|M ::}z뭬ZXÖ-[a]V۶mٱcYYY=z_~.]0k,nʰax7{p|3f 55ǶQ̗#}'1{ /m rcu^x 6?9rzrrrMg/11}Gvv6'O&;;E쒹q&>us4grݻ5kбc֭hw0:4ƺ|H1DDD}VL||o/^Ly5kÉEr۶m0DDDDDDDjD]>  {V5o߾|\KZjٳgt"RL&VXA~r]ve;wZ1DDD}jQqjiᆪM6Ǔ^a4 BΝٶmST׏;ӧξ}Xz5?V\IJ2}ryyjCDDD^ 6>\D|}0Wթ&έEDDDDDDDDDDDDDDDDGmG """"""W?ȑ# ~)/C'߶Jy8pg}7[oȑ#/[?$ qhkrr2SNGyUV9$"5^z6T8sLqq1?<+WۛN:1rHz쉻Irr2| ǎߟ.]saw|5.]-"""""""""""""""""""j\DDDDDD'OddeeqvIiР>liSDDjO?Ddd$wfժU?~ ?lS 0hOVVF"))I&9 0 ___:uaarx^0 x8q"999̛74 Dbb"dgg3}t,Y´il 3sLrrr/'::[Va&!::FYv.E<5:Ŗ-[Fdd$͚5`xzzfrss-.]ѣG3fݮ:at 777~'N aҥK(SDDDDDDD,|g3cǎ^_ĉ߿VZ϶m,i߾=+Wde󉌌dǎvw9YX]oe1&銯ӧv.q=Z† ((({%00~o;wRvM{LBAA)))b6 #55 bDBB$%%b>|8wu 2P֭[GRRfFMfXvmm>} /ڵ#--3~*WVVfT֖+ѶRSS:t}PPqqq{UϤILJ:PZZJPPu3))2ΝkvFF;}uh~DDDDDDDVcqFBCC~3{lZhaɓߘ;w.> fP/_a$$$8>I|\ ,SDDDD)^Jiײ>#~W!--͛[sdmSDDЭ[7&M| ..͛7۔SRR?P=ڵncǎU؆/Veaaa4i҄{V[l!??H۸Ty<\GڷoG*/OZi_w}㩬#q>;p KٳIHHq6i{|W5L.\KOO͍86CBB eϞ==z+sյxv"""""""""rm(..ԩSx{{c6m>oܸ1*+,,W^?ѣX}~̙jAVpwwǪݝ q;v\nF۷o 22Ғѕkh[o6N׷~vYaʮq&&&2|p,X>ˡCشieyikDFF??ХKFM޽-),,߿~>LӦM펳ԥaEDDDDDDDDDDDDDDDDDDD\ͭ˖/_dd2]̜9s,k_˳f2hӦ Νb=Dvj!EDDw̙3k;d*ϏsQTTdy~~MC=Drr2#GСCa*a8dr//=uY߿#q=z~z<ȩ9ݘ1c_>SNk׮vm.IDDV u;dzi&&N;c=aN[[VVƻK6mK)"""r=1W<۷brssy1 hKYfѼys ƺu(,,$??E1c ̙㻒k, |\ ,SDDDDD4???~g֮][ۡH-fҥ1zh:T!G˙:uj5G$"R37oΎ;h߾=>(7_ Q\\dbĈXѣGӤI5kƻ]v0o<ҺukOJJ [&33ի,wލd?… L&^|Eoߎdb֭>}ӭ2ͼ{ dӦMw}̙3޽{?0Lvs0Je6-IV^dÃ-ZҲeKS~}k]޶BBB0L|gL8;ڌȑ#L&v 1L6W\Ek|ig 1 +tЁO>˗v8Vŋx(--DDDDjWuUl[ҪU+ @Æ iݺ5ׯ筷bʔ)7nΝ;իcǎnUV|G^~Yr]εzVW[DDDDDDDDDDDDDDDDDDDj`2KEDDDַo_>ZDfo^ۡԘ]}vΝ;WۡTDDyyy=zC{nvJAAӦMcƌ믿R/338j1Z<,Zuѽ{G2LXKWKrꑚٽ{wm"א+Wҿ8K~ww}G6m'==:iii 2Ν;m6ׯwqӧO'<<}zj~a!"OpXM[ڎ@DDDDDd}Ò%K\# 곋_nnnV ,쉧܁իҥKH\:~GF2d'Oȑ#>ѣG3f3`ٿ?YYY5$&Mdرcyx9qUVdzm6&LaҩS' 0 JKK-dggӾ}{V\ɂ g˖-Ɏ;åu.u)K a0c y6mP<?޽UVqq,X@rrr ]$&NHNN#--AHrr2L>%K0m4\yHJJ"66| $$JmQFdff:0ssscҥ|,YK^~NN۷gٲe_111,Y]D?Xb6mjۑ{^Anpss㧟~bԩxxx`,]UVYp ?~<3g$''/|ٺuk-""r[d { rIWaT GĎSJ _;rFU Nؿ8˖-#22f͚0x`<==Yf zΜU=MJ)""""r 4iQQQСCJKK  **ɓ'HPP 8/K7n$44XׯOpp0gϦE2yd~7Ν˃>l&44˗c +Wdڴi_bN3e HII!66LXXdgg;4>|8wu 2P֭[GRRfFMfXvսٓ .n:, 9ʕ+d8pҺ'O_e޼yѠAZhe˸7nǏnĈDFFK׮]ٳ'v$")oۙ{III1w\ ~wksӧY`%vڑ?~|-"tӯ/6gL&{?d2Y0ɵ'==@|M/_Gm$"R-ۻOu3Hemr m+55CZGii)^s䊳.g""""SΧDDDDDDDDDDDDDDDDDDDDDJ)""""r +,c6ᔔ?XʺwW_}ŨQ… }}r }ӪˋΞ=ns]|V=nx0yN8a)={6 xzz\KDDUYXXM4a޽6\>]UjM03gHRFaw^ڶm[!TGĎS]*r$t8־}8|0z_~?GUq{%&&r,XCشiF~@@@lnnn-"""""W/gĎS]*r۷iI5p~SNk|عsg}s䊳.p|-"""""""""""""""""""""""""ue\z!9r$ 0xW0 Rd21d6l@AAA>};wU&à èud|N"..>36lt<^^^q9lwIΪ`Æ ^0Fɮ]8fu[d -[޳ Ν;ǩSl=~8!!![A7ޠW^y 8qj˕'viܸq?""Z|%wms36 $<<1cưgϞSDD"{i IDAT٧ګ`^(++c;_G*))aҥdddTLLL 555d[DDDӭlΝ;=gӹ\3ge 6mZለ\U,SDDDDu222 aܸqp gϞ$665kX-[dӇR222lx饗[(--u iѢG}tѣׯs-馛0|'fzEvvmV7̇~/ ,w6qFׯOnݜ껺q///ƌCnn. K.e?wMrcǎ΍7X#q\΀0 PTTķ~ @||^;op5{Ruɓٹs'{o߾skP:֧~JPPsO >Jå{lիao5EEE~]l:}&L0 m>sdEDDDDDDDDDDDDDDDDDDDGJ)""""rrww'**fϞM^^gϞe,\kx Gqq1AttUmr!رc ]t`֬Y4oޜaÆn: gѢE̘19sQ=䓬]ŋUi=Gyhذ!|?2x`fscvVunVVZşI>}(..r墣iԨ2BCCYhQ͚5f͚g}ƩS8t$;;&1cP~}NJ׮]*ϔ)SرcOf ˬ,Çܹs2 C˖-Saa ZC0aS?i7|*++j*}=z}Wց{oʕ+`41c(&&FGՙ3g4uT^͚5KiG?LӔis:$M>]o/_/ѣ SBBcpႢi&\Reeeڵk{:\_SbbbBֻ)s@ii$c"55U:w6oެ={hر뉉2MS ul}k露c9݈LԐ!C榯Js̑$yxx4MEGGw{'>&''kڴi:s .^US~n?ޑ;ema7|͛7ep3( @%222d>s0 IfϞreff*..NEZv.\= Rzz3fhܸq?'(<<\qqqRΝd._zzN>K'bQxxdf̘"5jھRzWW?KYcL'OVtt|||x߿Mla~:'txN?5k,YV-]n@ΝӨQƛz4h y{{롇R]]U5fin 1׾TԋC] -m2MS:|xFcg͚Um…X-4.//Oۍwڵ/skΝZ}?ۙ\C ѧ~SPW^$?~\ Mv9CCCٳؘ]vL?;5Ah׮$p'r)Rwg7STTKtla=#ɱ9Tll"##n:]x6dvܞVwWՔkn EҥKС,K!!!***4w\EDD( @a0 =s˗/;|grXBׯɓ';jȐ!zSQQ!*???[k/[S~~$)::Zڵz&???nnzV5'}Ծ}{Ԑw|V\)I***wM<.=-UR[pX&)___]rE6l,X)SHVUi_$ioFw&a8qo߮r4M1BK._i }QkMVU+V$=쳶q,!4:tpu96m<28gkN}!))Is|M^Ӕ)SklOFU33nSRdСwwwuY ڱcy[Ncǎiz5'>2uTiΜ9JLL]wew9}(G8ҫjT}2۔N8>ե;Hݵw^EEEiȑ SO=3f(""B5552 C'O$egg+99Y˗/W׮]խ[7_^ƍ$ũ_~˖-S޽իW/%%%)33Szr:ݻ1cƨSNիokٶ煄h߾}JLL0mٲE=z)uuu2MӡC,"##%I2 Cѣ^|ES;#///{YoڶW_}U=nݪ,W'0 J4gIaZh$)22Rɩ?aIٜw윜뫩S4Mwk0>TC^E2?h)222d>s0 ͙3ޙۙa:kF%Iڼy+,|W@1 CŻUM6)))ɡr}?~+??_W\ivh:H%$$('' 6hĉ0`Ӭ>Sѷp^FF PUU d Ð$)''6f0O>$*00P'NSNiذaU.]4e]t^}RRRt}} ֈ#t!s}]Ǐѣh+--U]]Pyyy)""BZ;uꔒ@ĉ8v'ooo_|l5y?mO>>>8p`:GQÙ\TSSs*,,Lԩ [իv 0@TXXZI7;eYf4Mi2MSuuuDOKK?b-[L6l㕚 … 7o֬Y^z.ׅ M6iʕ*++Ӯ]TVVhݻ\_WrrM3gΨP<3F111:zΜ9S*--M/BRSSs);;[;vرcjꫯSII֮]L9rD2MSk֬ij[\R ,hN8GQÙ\4}tZ|.^G*,,L ڳg-}#5%&&F*,,tj*?ZJby8,7у>(M8QڶmԷo_Y,%''[n裏MOOӧtR=X, WVVLԌ3] /A[=$I4h ͘1CƍSff~M}V_|EEEEٽ{$nNyyy.688Xaaar];_rؾk׮FGo3 O?TSNUaa^*I:~ dk}]TVV蟝kkCXoף? -p;ڽwsseZmkjjTQQ!Ik4_~|||k_gϞUyy˗/7x5o^lsѥKԡCY,zؽ5h_"L+V(::ZXIÇs+%Ij׮$h>0\\OOOC2Mף>ڢ6l,X)SHVUi_$٬Օ+WTYYYzIIIxW.##Ca0 $b۵ԧOM6Mtu4ˍeeeƜݣ7p&a8qo߮r4M1BK.}z,׳ZZb$gcǜQZZjr P~\Pq[^ .tua-[?}Ϟ=[oʳG:Իh"{ェk]zU UJJm+TWWC$ٍ^|k[YdRZ\eeJdjkku1͟?_ǎS~O.5/.--ƚGol.;vLԮ];)''Ga?9oweӵo> >\FzJsFPPL%IRjjjq{U``LԁZ&m޼dIҶmƓ\\)pX&p {TTT3gh޽:y*~WԽ{wM4I۶mSEEʴzj͟?_h繻kРA*..֒%KTZZjܹSV_~euIJ}zZ/bh.Qܹc=ZnƎ+4ϻh5aY,a4'3<#GF%%%ZxLTLL-}{s{,111 Taa#\jUIIrssŋkҤIڸqK0Zzj/i*na˖-S޽իW/%%%)33SzRNN Pnn$K&LPaaa9s2 C^*0ꫯ*??_ahݪa7o$)$$DSbbO`i˖-ѣGCu];⧲˗k׮֭֯_qIԯ_F)IahѢEHKw﮽{***J#GTΝtuMvW_C=[*++!!!zꩧ4c EDDFahɒߣ_X\wVXXƌN:W^oٳg۞쾽RWW'4:b(22R+0=z_TϞ=uA;򲻗XuA7nUTTv!9ҡج,܈a_¨Q$I7ovq%@j>}ե0 eggߴov~H}UiiΞ=X,W-Ts!EFF*!!A999 lذA'NԀgϞf=zm>Vi&%%%9t^sMa-1g8p@Vyy^z%͟?_{g}0 IDAT: y3hڶm rNj5nڂbuIvN҉'-\Pa0 06g gdd0 UUUaܹs&ooouIÆ ֭[uVO]_aaW);;[qqq """)jבy;Krn;S#FСCNsK/{LGь3ŋJKKSվ}{hСڹs-&''Va:uꔒ@ĉr;.(//0 -\P>۟9Ҷa+___y{{GUAAMe+99YgΜ˗o>%%%cǎz]]9s4M؍2Di5k-i2MSuuuӧ7uE=zTaaaJHHО={+&&F*,,BCC%ݥs1cG̙3:u /85oGsIх M6iʕ*++Ӯ]TVVhݻP1crssƍu=h͚5ڸqcŊһᆱL>bccfIRbbLTBB$)55U:wc;. \nnnꫯ4gILTtt6nܨ{϶}QyyfΜ XUVV޽ \260͛2v'44T۷oWyyyuk߾}/W~O>QxxΝ;kɒ%ѣ9V -\ Rzz3fhܸq?3Ztx Y,+++Kijƌ/͸UCiӦMj׮uرFc_kٲeWǎգGҥRRRֻoɊ'|Rpz-Z4YV-]n@|FU*\Vw~a㏚9sf Zem̵/5-[믿VMMauե 2D~NB]zUtq 4ȡvRYY[ .Hڵk IR||vY/O>_|p~gr9F999rssS||]P:{5ږ[i_qnVTFF4j(UWW7K|IqOOOƪZqs=n>>۷XDDvÇ~ 2rVXɓUǎ5dۗ]%??_mBwEEΝ0 {Nte;ˑ5QEEVlH˟0hQnXJJk_CwsΒz޷o^dZruIMM˗rJIRQQvءS6xHH$My R/rEFFʕ+73 CsA ۷oz-\%Z~z h.04qDm߾]ɑi1b.]b5;jjŊg}6>l0-X@SLQQQVL믿.I2M.OSv&#k)yxxVi6zGpkȰnWӢ,KԧOM6MtuC?5k֨gϞӟ?v<==+WҥKo%IN?9ǫsz7USS^{M`ŋH9$SϡQ7h= ܦ*++u+>>ե4M߿_t!6w^4M8pm͛,IڶmxRR+.]ܹsvco;}'?ެg;.ԴiTRR^{M7n̙3rJ׿ϫO>ҥK Ze0Ţ4x4MYVYV 7zj/qu98oR'N̙3`<"9sF{ɓ'5p@gyFGQMMJJJxbꉉQ`` 5ժ*66V/֤IqFۗ5h kɒ%*--UuuvܩUV95rd^yu]&MҶmTQQ2^ZWFF<<%&&j VXXl٢\=n>MW_C=[*++F$]pAE{okZZZ*0 a?5~x7kرJIIQ``ﯪ*m߾]SL$0 JJI2 C-$EFF*>>Y"I֭a=*0TYY༂4a&bh.]GQ@@vء_W &t_6j(I͛]\ eXԷo_绺h*//K/wԡC[\aaUZZj3hڶm ra(;;}af6mRRRC4~8o߾*--ٳgV֯8t"##c6lؠ'jڳgO}^a@)//W׮]5~xۮ.疰vZXBh4ǴFpf7WWy2 CUUU*((a2 CۘarJOVRR|}}'שS4l0K.2e.]TN)))Ծ}{kĈ:tS󹾮Ǐk NيShhLYF:uJIIIW``uĉzu;vL󓷷>@ nzpXpm5`x^^m<((6~~$hܹ :uaÆi֭zj燐ͯPp‘y;Krn:R4McǎZ`˹eZJiii.A ܂f͚%4㣇~Xi4MIe~<--M?l2mذAǏWjj,X .h޼yZf^z%\.\PTT6mڤ+WLvRYYw^s}]ɚ6mΜ9BKacƌQLL=3ghԩJKK /hTܹs֎;4vX+EGGzTRRk*33SGLԚ5kZt111 Taau6nܨ{Gk֬ƍ/..VTT}]effT}k[s֯%iz榯Js̑$yxx4MEGGkƍzl.r͜9S .TqqL111ڽ{Mns̱~jȐ!2MS>4}tZ|.^G*,,L ڳgCutcBCC%PRI!$=#[>>8qõm6o߾X,JNNVnGݛӧOkҥz'dX,3f4^xA z!)((H4h + @AAA1cƍL QxxΝ;kɒ%ѣ9~^!jN1rt.cP+<<եy999 Geeeã Çܹs2 2;X~wڵKϟɑCCCٳͪ kΝZ} e{$9Iq`Rߵk}TFF4j(UWW7K|IqOOOƪZqYc)""B֭ŋmK,ь3Ԯ]zo߾vcڵ> .vs@^ndȐ!O5uTիǏkРAh۵kgC4ę\{ZE h'OiÇ4;k֬z.\؊WLֱcGnnnrwwݸV}MM***dZ'0^?$I_~eipBsUDDl{$I/_n>???۷$ۜjjjt%uAvo#%%EIII5}zׯܡCֻ޹sgIRqqqk^T]|Y+W$iǎ:uj HJJJ+Vh:ybccձcG 2 \%??_m C4ę\{Z;naa乞jkkefG}E;l0-X@SLQQQVL믿.I2MYy===+WzYF={ԟ'W\K.ջo$:Xǫsz7USS^{MdzŋyYȰuwfʲͣC.777o_a&N۷\9992MS#FҥK[fgXVXBƝC45ogr9FӺ[O[?=zTIII ƟZ{s?w:navUSoV<{ĈSAAAk-ҽޫ{իWUPPP(88vCuu?tPIR^^xqqŷaX׿U>>>ZreÇ$}v555OYϾiӦD6nܨ3g6߿n_Ο?>}K.R77ìYdR~1c4MֻVYY_. p.]ܹsvcoo_cǎIڵk80z֒}i5j!]#g#ONRtt=-[~?M6gmt x̙3ڻwN<ʳ_yu]&MҶmTQQ2^ZWFF<<@.]RQQƍ .(33S;wns[aڴiҜ9s4x`h4Og޽{UUUh„ j߾233[n:Ţ ;ijj6;G[ܪ{1?^o*++u ͜9S!!! ߨ_3ȑ#QII/^,4P=?w/mZURR\jŚ4i6nh;IJ9}ݜ\{ZWpgk>[o XB?#ooojԨQ*++kJo2[زeԻwoKIIIT^#0+I҄ TXXXo|Μ9:p W0 ϗaڽ{d͛'I Ѿ}ӧ+88Xaaaڲerss5zhP]l%''kڵukܸq8ׯyJaZh$)22Rݻk޽ȑ#չsg%''+==]ݺu]--5:)4+--aREE P~?~~ 5vX(00PWUUo߮)SHj5g=֭['0l{:Tayi„ 2MSiiiMb?A]t#<رCկlq-s ZN8>ե!##Ca:w ð%i…>>8p`_Ŀ~?ŋJKKS驻[ֺuT]]v5ω w IDATkk+I׿3 CO=C;S#FСCvq555;wN{wՙ٪EPcGihh7dq@cd"8؁ RjP;v[n7MŸP@·LU[Kԇz}}5x0͛GE*.IDDDDD>|0ꫯw_Rڽ{7ϟZܹ>… :,""j/DQ ** JKKcɒ%D|||XXOXXVX"AWWQ!HTڽ "&NҮȝD"ԩS!"DQDssFsss:{uҥK8|0ʐxܸqCyzZii)gA./_+-[]vu{^DDDDDDDD]":OzN㈢hpww0)֨ott4{9"""ƤITWk6l Tڼ6#ߏ...*I$899988())Fc„ ػw/>CXXXxsWbɓ'kKu9ffffϞnkk1cڵk_̙ى'4e2ˉ^4>"ȀZ^aoo˗/ݻ>|8c߆3tuuQXXX?#"""""""""""""""""""^L&&&*utt cccv]]]UWWcݺuppp9A Xf j333k3C߿U.?~Tkpy+/FRTsdjB&tDDDDDDDD=n^$Rkk+LMMTk?㏱o>ܼy011r1ʞ3""""""""""""""""""""uz}Kzz:6n܈B444;WȈy… Xh,--!RRRzjMEEDQ *E4}\! 111ؾ};{=l޼!!!jw%ޤ'OWUU|4d2ԠVJ155Euu5jjj:}࿷EDD/$bDÆ ݻw{?Ұh"?QԆco'M ^tR!((MMM8w͛7#**Gcc^&eeeo: """ Ǐ0 .IDDDDDO`ѢEFvv6a=w---Ɂ5"""T>owcʶ݃#lllCOOVBtt46oތ4=koAqqJ[ii)~'766VY`رxwc1͙3Dff&(,,xc޽8~8T>0a\]]eg^DD⋎Ftt4P^^Ymm-&Lck!00@vvg>ǏǕ+W|rC.w)P#..AAA6lXڛx l߾۷o[o2bСhhhPk!77EEE{.n޼ӧw777رcx;a:u 055 ~'DEEA*ZmܸYYYXz5R)f̘jlذ%%%XzuEDD)Qڊ־EMGˮ'KDD4pX[W)jKo6oߎ_hiiCbϞ=?|wuV;رcDQFcc}рlٲbDDDDDDbaL >k|oddpvvV 7bڴi*_ >ׯGzz:m6'&NK.)JضmV^/'Oƙ3g0u.I&!44xwi۷oWGHJJš5kAᅬ@BBa{8q"lق7nk׮G}HIIAHHƍC.cܸq Q5ڵk&W|-[˗/7ϟ%K`F~~>w3gą 0bv]d2nܸahmq#""^X?@FFF"///mkwZ+q4dggGe~='"z1wP"""zqvyʼn^T?duDDDDD􄵵5\Ve$A0|p2 Ƙ5krrr?##C_b…P***ѣGC__3gΞ=oڴi*-] <^UUQ󩫫CNNr{===4ώwm ƍ7Tblllĺu`ggccc <ѣGҢ2#GFFFrM|wޭΝ;L&Cܾ}̓L& BBBPSSq!"""""+VMCOC`޽{Q__U欽E ^sԴ[miٸRФ>ҙ⮪Rٟ HHHq|߿փ#GB__C 梍WH$>}z Yjs:;;/#.IDDDDeff"00nnnr (]V/::(UUUXjPZZϣnnnR___@XXVX"AWWPZZ ggg8pr/all www޽oصkرc2e >3333򤘏D"ԩS!"DQDssVkgNjDdd$3g`ѢE*1\[nŶmPQQ+W>>>pBCEi_Ml({(--EJJ ߏ%K 22()){n|""""""Xz^jRCg{˗/˖-S"4SӜ+V@ll,U{6JʝM#(n333ٳgCGGׯ_G\\@OO(~)>ܥs8x RSSQYYsΡ...hnnnPt:ruҥK8|0ʐxF59nDDDDDDDDDDDDDDDDDDDDDDDDD$""""\]]sssXZZ"<</\.ǣG!55...H$4iߏ'O`ժUk׮+1e477111uRRR 3 """PVVpttĞ={PPP7EaaapwwG```&Q yxx`ܹGyyӧaooOOO 3fqk_M竰|rL8AAAlj''''HRaԨQ8~1ыGN_ׯq%%%A (OjK@^ݽWFGrސdB\\aL:R[oWGzBTTZ[[Ҟ~ ,PFs+&&wArr2|MHR#-- ("<<\[[[ Qv&66UUUT*ك]smr}?BDDDDDDDDDDDDDDDDDDDD$""""ꇼqYvGGG455WL"I(((P{^0y6/sUi700;qIe ?ǴiPQQ6Iߕ|W^yp=e.^P塥PXXWWW6 i&MRyokkfaTEDD/Ţ?h8_1P#"CwGM#{9s}v DFFv9Nmbʔ)*m]x 888`޽P'&&"<< RFs+##:::Vkmm {{{\|w4sΡ...̞=[VY'""u\OX<^ >#iii :ҀT*mdE-(Ͼ.]G3 """""""""""""MpL""""~͕֭(o͚5ǏmcffXCܿ[xVcc#ahhLT=>>SLŋ`I[]7*>c۷7oބ;LLL\Ƞ3]/|fbb^GG066ViUs/++X[[;wppp+PPPJ-((NBUU222 "]/7 >! )a_CDԫGM=Cw7NmUWWٮR,%K ۷oGcc#6oތ077o&疁̠v5kV' ЀZ+++5Gs~ xQc6d2f̘;wvڅ>R)Mat(hmmC{QrBDDDDDDDDDDDD$""""gZZZkkkDDD`Ȑ!ݮ*m}ݻGGGtGϟ8vJ{cc#N> ###̞=[~-,_qQ0aV^ZʼoWj%YXb߿͛7O?ŪUOsQcӦM1b;=sdffPq49SC#"""O^kFDDDDDcǎ<~"TUUaҤI}F pƍ6@DDDDDDDDDDDDԗX&Q? WWW"11娯ٳgSSS"77uuut.] }}}nƍ1j(DFF+jjjp5,^%%%尲]HII/K9ƽ{ߥ_:p5!777o5ڶ;#o>~CEi6%"""ҖT*Ŵi:6Vu('؟!\WM#{իWرcݻwb `ϥ+Wė_~٭yu%ޮJCAWX###/Oskƍ=z4~m8qըĮ]")) zzz uwÆ #dggCdee `Z"""dq?סaDitDqp=Çq1B8  P\\ AҥKU!99111VEۼW+i/sוCgM,--tR:t(+bʕ2dȑ#XpF777CEiѣG#77СC[o!<<hll uvk_""""X3""""ML6 (_J{UUW􄵵5\Hxb…P޽>Je,A~Y߿Ü\zs΅)1k,4 ѣa``Ç{E}}}߿_m^ ""#G> ???|7۷o# fff7nܸf|}}ajj Dӧ#;;n:ƼypQtkmt?}}}cΜ98{lss `aa <|oƼy `cc8݉]㥍Z\p~PvhoBuuuQn-M\ÇG~~>!ڽ];m IDATz%'DDDDDDDDDDDDD]"K_0aÆZ"" >`'z^z;D"NQgEp`KOO{55 ?ĉ;sHs'"EfDDDMo׭G]e7߈DtttkkkEQņqʔ)g}/@ܰaXYY)>x@ܺu#FGG#gΜ)={VD]]]fguttׯ"~Q455g͚%fgg555b~~8~xQ___9.]kkk}9s>>>?Fܹs@\zZ|=1NWcxuرc?j<={{mag^]'9::DtqqQo}}}愺'""""""""""A^Z^2As `aa <|oƼy `ccԨ܌txzzFFFppp\.Gkk_RRrÇG~~>!`llYf!''G9TUUA$$$(cz_XOaa!.\ e[yyy󟐐gڴiLeZꐓ죧>۷333XXX7nPۮQQQ=z4ann9sٳР֭1x`̛7GEKKʾ>>E( 7oD`` hjjRs*^SNpMF{ɮ\ꐚ]W"""""""""""""MpL"""""""""E>>>~~Cii)RRR~,YGII ֯_ݻw>P+33pssÕ+WPTTPDEEaڵ~EªUR?pssCVVFs033(򂎎_8DQ 8Çk Ê+PTTjkksN<| .밈԰>rX3"""bxcڴi@||Z?oooSpttDSS6ǟD'''w]=5QgX&APPPb|X'%A:}_$"",_'ND"APPq DEE Raaa5j?+bbb`nnKKKcŐxZ:&MZJأڊdc֮݊] WWWcʔ)hnnVq7{xx`ܹGyyOLL nݺx{{cƌ`ccuӧO022;w7|RHKK(h^E:*rxzzB*{Q> Er9!`ee8xyyi<QֶF_Acsssرiiik@ы>ƚ'2e .^ @GGQj[077W֬Yxqc?6}gdd$?~TkpvAPk:t(Z؈jB&ux!|}}1|p8qW\1fkk+LMMj_5TT彾>*Ʈ!Riyx}͛pww uDt ?D彎tuuallҮC[:Nwbxu׌3sۚ[oa>]K;o{z&""""""""""""j $""""`)^ =ֿ/=g[/.ADDԿM4I彭mÆ ý{TڼqY1Ԅ^3D'''6ڢ@1aݻDDFF,ԕX`3P8;;W@*;wJ_'Op?^^^x"BCC@aa!\]]222oooaoo˗/ݻܹsK}333gViU[̳#<͙3G'N 22R㱈_ﯵQyPzCE455Z}R^|1֌?9w+V@ϼy\vM-[@E>,Y+++l߾ؼy3~ܼ}UWWٮX$S1 hzzz8u9 ??_̠vkfhO300L&CCCjkk>TkAAA8uQ秶p~[$?SugS|sgynՖ׾6O_퉜)pL"""""""""&&&*utt cccv]]]UWWcݺuppp9A Xf >ڌCГMx1RSS׮]X/xјmllDuu5 !Զv?͛7xyy) xz_055U믿]3QSSCCCHR&t'"""""""X{cma͈zۭ[|rѣGadd b ܿ7oƧ~UViZEB;ܻw:?ل zj6LaÆA*ѣJUYQsӦM1b5+kW(//GaaZ333\z0h xzz"## رcO(=;fcc#N> ### -ynwͤIO6oތ4DDDH*m駟ollxرc??>رc*퍍8}40{033իW '222 ʸ~~~hnnFNN6mˆ#)3g 33S>0aIQDGGCE8::u(Qc}{c}5#""" +WL&÷~ Dyy9\]]ԄC__ ta۶mŨQo>,^I&!// ȑ####5>fiiKBEBO )*((kkk̘18s fΜ٥'OÇq1BC(.. HIIA^^XK.СCW_+WĐ!C`gg?G… q\\26m@EMvͅ31tP[!YYYC`` q!33| bcc;̽yߢEWWWSN!$$9_t ɓhii 裏 A:8={GǫJRL0pXc5k_׹^}]|YÔ?ƍC@@r9ƍuRkӤR)mۆwizOǺt QWt'T '''dggu(BE_CDDtuu3g 11˖-D"A^^vvE||<Ə+W`ׇ\.R,G\\0lذ7ؾ};oߎz eeeСCР^Cnn.p]ܼyӧO6n܈,DFFB*b̙())ALL JJJk.XYYu:;#[bرƎ; "oc:t~!=nnn(((cwwÆ 8u"##ajj OT*EuuuIz*իWC*bƌƆ PRR>DD?ǚGO㼈7ǺyX3""",Qoiiw7j4믿im4|ט1cmȑhiiQh3ghLزe l6 lr4x`l޼7on7ΎrQnj/B}ܹjm}oo+ G~]so{{ymw?/]aW;v,Ο?xi⶝f QWuDDDDDDu2 7n8DDr˃ 8rqqqtAɓ'AG!;; ++ uuuׯ#,, ۶m-F}aOOOL4IeR۶m~;`ƌ077Ǚ3g0s.I&!44(wmA))) qqq 6`Сx뭷fX[[ 뿔SRR0~x77nFw@lڴ 0ax{{E!""rX3""""=;wDTTT_AD\GDDDDDDDDDDDDN:""""z,XpС>IR899!;;C7<<<M ==]E7P^^wu(DDZ9x 4ZXxOԿyV}E2}8ы1""")]~uqxvލcǎ~$''~^_FDkr?DDDDDDDDDDD9Q***ѣGÇ݋zddd@嫰 .\m,}}}cΜ98{>n:ƼypQhOHOO'addr*=;۷o# fff7nܸ쟔APWWv# ""#G> ???|7Ν;L&Cܾ}̓L& BBBPSS6쳭{n>.NqUӧOosg8u|^M# `χ;d21k,h<*9eLOk65HHHP3m4e{ffR-w r|2\]]l2ڵ E>>>0XEEE˃XP_ؽ{r+W֭[m6TTTʕ+.\u?Mdff"00nnnr (]VFFF"22HOOǙ3gh"ehDSBEfe8;;HMMEee%Ν;J 77}GEECii)RRR~,YGII ֯_ݻw>PoW}Ӯ_\t FYYRSSheG!"""""'{5Tܷ;:: VBBBJKKqyTVV YYY ( :::~A===8p*VMk0]a< (bĉ*<: uڷ Ժ;/"""""""""!"PPP^{C""u\Gy8""""""""""""$""""bbbp-rx{{C& qqqjskƘ2e aii+%%Cڰ IDAT0111cp ""eeeӧO0221f}iOS9,--ŋC.ѣGmn H$xxx`ܹGyywQUǟP~De)^iE 7MW3ԯDfUǟ?ʦ[.oRLILmtf5wL 4$HT8Gs=sC}=:k콙~gϲ|rz)f3!!!dffbSNuӧOIJJ"$$;w2m41L8ݻc쳮[YfQ\\LFFfBCCY~=v#h#""dgܹ^Wzz:&ǏsL&uaڴyZS-""Ҽs G^zkZ#ƍ_x}X,/_n3Å xgU+8~X,CBCz]""""Mk함?&""""""""""""""""""""w*-)"""" } :w;w$55x5l0qwwwbbb~:~)C /d„ RUUɓ'nko=ػwo0***ojݮ_~6?s=v;++ lƃ ѣ?v}K.wڵF= g].<5judQӖ}z:,XPg|kGk5"""ͫ1 &<se u6WܩXH+S^^NII ؽù(((`͚5lذ3gCv2duAj٣9s?& Č3vZܶm[,]>6___~?_5~mm۵kg󳋋 xyyٌӘ}v~ە+Wl6SNvj#""""""-аH??Z먾tC\vkp) ^xF ݣΜ_hhKDDDDDDDDDDDDDDDDDDDDDDDDDnZ,SDDDDqwwח2\Ҥ.^@PP&$vEqq1YYY#X|u;{1|pϟOrr2Nb`+V0NZkm͍ èO4j-Owww|||(++EEEvj#""" i]ãqt뼺u`6k,x₿?aaaLHbb";2}tONxx8-]N ;vʢBrssȠo߾;5k%4Gqao?@XX;wv777^|EOΛoIff&?RkSܹ3.\+((￧]v5y83 X9%"""r7KHH0 غukK9ړjM=RKkCDDn/8ѣӧi6Z,SDDDDZh㥗^l6cQRR… 祗^r8Wjj*f|gݺuZ'M[oE^())0 mWWWWسg˖-cܸqx{{;cwjslyV^#.\Ȯ]HMMחH{Ml98l&<> 'N`mۖ2aϟٳIJJk׮N)+WfՌ;/2k,:uDYYYzl߾~Xg^WC%"""r=yMՉܞΜ9%v^%4+-)"""" qa,XԩS9<:tg{iarpyxٵk&11gAϞ=ǦM={6V^} :ѣGxbbccӧW1^{ ,@aOXr%ݛۓA޽ԩ_}2e ΝϏnj=֯ :n2Xh Yd2o0wF󛕕O?m7ңG<̙3yg7 o+V`ݘL&ƏO\\\yܮ|||8}tK!ŋٷo۶m#33QFtI""^{#9bl6j*^z%K*++߿?{a &L`ٲe˵4j`n%==3fX6L{g PVV… yWӧ+V=z̙3Yx1Pϣ>aW/yK:Ӯ]Zγ>%4+S\""""rǩG3[liJDDDD~]4hӦM:wLrr2W\sY78ٔ @nn.ʞ빩=פo"""""""wfDn8|0111O}:a1 0ϧ_~l޼kRTTNQQ̝;{7x&e]FŴiӈ0 jTjQ_PP ʞ)פ=ܭ(.._d_PTTDtt4n̞AAA3rQ7n֭Qsjj*\p-[~Fe0 !Cw}ٳpss0 "##sc{uP2ydf͚Ņ Ν;ŋq6-)"""""M>Z$BDDֿZػwo0***ocC /d„ RUUɓ',\\\ "$$GryPbf3??yXn]'ҥË֦o߾56޵kW~>'OdrJ\]]mwSTTDdd]^ĴM69Vǽ#"ӧרcuƷy.H&<ScEDDF/2Lt֭Yr8cMÌ;ݻIo~ÿosiرc5^~t׈+..L7n]ߝ[񪯎W_}զ~;&]xII s!4433fڵk5kְaΜ9CLL ڵcȐ!ևQ^^NII __0}|vV{{裏h۶m)//ʕ+xxxXQNTߍڵkg󳋋 xyyٌbXlƚ\O$$$Э[7vƍk8h  226m[qqoϯ~ΥK =<b0c y:uΝ;)..ĉXɓ'sSYYa?^{Faoo,Y0~0(--Z9ŋ[_u EDDDDDDDDDDDDDDCe&233Ryxxt9"""" 6|pϟOrr2Nb`+Vyd2Į](..&++ 01b˗/[ۃFEE!?O} ʬCݨ)57TSK777v֭[ %99Ç89X,֬Y~;# 꾞e1jH}fJnZ25qqqߟ0&OѣG[L˗k]~~~ЦMbccd2}vX///~Ͻzw`ĈTVVScK,{沈)KLL$///3>0 //y摗G߾}7n׮]kjEDDD|eee5^~0:wԞO? ;jlK/䔹͍_|K.oIJJMLC Oii)ǏէYyy9wӓ'|X;OoY^^/O>$''믿̕9n<;w]va|˿ EDDDDDDDDDDDDDD9X0 ,KolfРANJDDD&WWW(((`ٲeru;S6&Mo\tKb6q=Nܹs>={+3j( hp>^|}}5kի9r1cжm[222 ݻK/}v\ʕ+:uѣGOFFNJwbX_"WH pmJcǎ`~~zƍ׌ݴXLJӧOcǎ.EDDDbL&n umڴ'j*tBٰaG 66}o>ILL}ݛl?0k,+Wwތ9 z @NꫯHHH`ʔ)tؑ`>#ns=gjČ3Gj*ƍd/氷=zpA3|#G2uT߿??{ﭳ7`2Xd 9G[yy9s!88///ڷoٶmUUU...deeQ\\lݡCtÇw֛'Os`+,,{\|iӦѣGڶm?Ce޽iN&Þ'EDDDVV-[p%bsѵ#f3؏ IDAT8pyEDDe2شi """ؼy3#Gkֆ}HMrFimcǎA||ÇpB&MDUUIMMeڴi,[;tP>3N:E=l<#L:QF9 !![ru<<󉌌?Ocڵ&Mӓ+V8\+3w\wHAA$%%o3iҤZHAA<׮]4>c}]ͺ8et"""""R<ۛG}o~͋hwwwwuy~:L&^JNN5[sMUDDDDDDDZͽ9???5жm[:t({3}r̙Cpp0^^^oߞÇm6l?}G۶mر##FرcN9 ,8h xvvuCq{)̯9U/77 *++ٴiIhh(X,\k@}.;WTTiiiӡCNѣM>m… ۔5W+))a… 8L߾}ٸq# /-ٳgY|9O=f2331 SUb0 45Lvފm݄',[={7ڸqX~udff7͜9(0`6{\8ڵkGϞ=ܹ3)))\xX2EDDDDZH9‡~ŋYv-ϯ8EBBa_#OAA3rQ7n֭c7C暮{ r6mĞ={5j6=>s8t^^^{՚FSL᭷bժU\|'NL||<ӯ_?6oڵk)**?Hȝ)..%=¨o˗˖-#55*mʚyxx0`PtϯwYYYg3DHHGۭtkl,Gې!C/0ac fNLL ׯ_O?u8VDDDDDDDDDDDDDDiLVh֬YAll,fP֯_|귾gdd̞=!C4 DDDNc2n;wnKyygxۛ3l0>lsuaʕѮ];z|@ΝIIIŋg݄',[={ĥqY/_SO=l&$$L `ԩMrbX|trEEE?:t`ԩ= ~gao;;=}ٌd\pٳ[FQIDDDZ̙Chh(ֿCf̘kl_~e]ڵk8u_|/B6eL:uҥKu, 5fo<<osJ>Gۚ5kذagΜ!&&v1d⏎U 11?O}\n~i#F|||jˑX2EDDDDZl|I.]8B?:thvIjjj#I"M}P|ygׯs?u0l0Xwwwbbb~:~i2d_~%&L 77*NstZ]/biӦ :t ..{ֈ oӯw)--1`.Qo`̟?dN:e}̊+/9r$sW7|:)k__M" "???ܨo'xsĉqss?7W^Ņz9n&$vEqq1YYY#X|q77n7n5:=׈;qʕ/ r(VDDDDDDDDDDDDDD%hLV+Wl}}<]DDDDDDD66?mܺ@AAAYf 6l̙3Ю]; b]}Y,|}}1L6on"̯%8pHڴi9s z|g̘kH;ƫ"'' RRRر#& ׯ׺/".]7$33FmʚJKK9~w~ܹs1bnɒ%{TVV6`Fuٳ'oGOS1'Odݺu>0 //y摗G߾}7n׮]kjEDNi&&NȪUҥ ݻwgÆ =Xk&L0 ^~FYmݺOOOƌc]\pٳ}c???/_NZZAAA[su+++/עE~`fz{ǫݻ9#88DڷoO޽fͲfo͒pss{a5׏#/q__fuaFEJJ ߟWk.)4[TDDDDD… ٵkϴi0͔ؕgѢE۷^z c=FII .$??ḟzr9Ο?ϙ3gxGj""""5f9p@KR^Hs9b6y'--|֭[G``-L4z^zQRRoaDGG?իyGb˖-̛7^իW3vX.^ȬYԩeee5oOg~l߾~X, 9x o{ꇱ]]]bϞ=,[qMnn.NywCr55>ܭeՕ@㉏g̙,]"b >;M/-Z.]ҥK#O7سgOUֵOoos+_|Eׯ6le\}sp丅ېQQQQθ~Q+XbSbou퉈4.@DDDDDjѣ_~<3tԉc2uTBCC)//d2 /X0cƌ#GdԩַO߿{׺ϕ+WһwoFIFF{nHͭ[={6&%KA\\=QFb9\z]v Pob߾}Hݻ7`֬Y:uW_}EBBSLcǎGuV{9皞d\pd+ xXp3c |2&W_}__?է0zl6֭[1LѳgO^uzѣGͶ6mbĉZ.]н{w6lѣo߾vۑ\Mu %"""|||8}4;vhRYx1 `۶mdfft9"""""""""""""""""""r3yE}Yl• ӦMZ5[ <PVVfp8ʜ'"͛73rHk(H}t."rWKFr.cǎA||:wLrr2W\T}˛mܸ,((hTΦ4h rss/1c`s, xbڵP8|wDFFr>C.^ڵk?>OMbb"ќ8qs1aM̙3qӧO0 8pJsL2zUVqeN8App0߿O~ؼy3k׮?""##9x$$$`L8ɓ's9rssquu벧eo/̞9s+W,3o<~ӭ[7iӦ+PPPʕ+ٸq#oIMMe3w\{=x \MѷͨQ6maAAAY-::.heaa!~8Ne]f͚Eqq1b6 e׺MTTiiiӡCNѣvhڽ{7!!!I`` ˖-gϞ68{,˗/穧l6Bff&a0uTH+c2n;wnKw\EDDD0sLbTVVҡC[ih/9cͼ;Ӑ#ƏO>}&))vɴil63qDwΎ;jl粸aÆQUUΝ;otY,낏RW.EDDDDDDDDDDDDDDDDDDZ,SDDDDDDDDD쒝 O>i3ޥKZc޽5¨o{ߎ2d_~%&L 77*N'OdrJ\]]mwSTTDdd]^ĴM6U/g̴$ãˑ&taƎK}7y9}4k[n-\5;v q5iƍ6^onM?p!""""""""""""""-)"""""""""T^^Ε+WN:+))aΜ9o}eƌ\v;k͚5lذ3gCv2d|JJJX,x믿oFy{{:^׭4Vn'>>{>m6%ծ];]\\puufb3֔~"!!nݺsN6nX#GS8piPXDD/110iRVZZ34w4-)""""rHLL0 bbbxf_}:ta;Fjjjq$ 08rHP[lyHjĉܹf|ȑ-\HT?hm3^XXɓ'mƪ!((:vh}x_~ܫW/}]s@6m%++ ۭq#F9,Y½Kee-ۇ#2}t ,,KUii)_0 ***c޼yѷo_ƍǵkZZ5U _9 k/ ={~3ϐp=%SSKvlf۶mfop搖W_}O?ͳ> _,""r3N>͎;4</^L>}HNN5Օ_+sy8wv5fÆ <Ν;7su"""""""""""""""b -ݝ֭[ǟ.GDDDpBڷoOjj*?Cii)?3f f&Օ( Xl\~{;ԚԩS;wri IDAT}4i(//ҥK,]0,Z=zϳsNJJJ(**bݺư7޽U]}nDcgg;˽Zp!'"""bp=\sݨs#rB\\۶m/ :#F4M뽞7z~"""낚篜 sգ>|/LTTTq̼Tjmڴaƍ9s!CPZZzuV۷/8+TTTpi233cܸq]ֺEDDY/2ŷiul}3f VU;vuHDDDDDDDDDDDDDD2EDDDDn!|| ooo֮]>|Srؾ}:tC̚53?ڵ#;;J3f IIIQZZa?דҥKiٲ%m۶eՌ9wnɒ%t҅N:@ZZ:ur;vбcGN&Mԩ7oW^a̙5oޜ?xLBfر#o6 6̦5'"""7unDٳ'. ܤrrr0 L|||^>溠+GiCFF]̨Qػw/K.`رax뭷u837켤+i֬Yٳ0)//0 ϟϮ]0 ;vp 'ka߿ǏcK,!''(._LNNތ5ʩQ2LthxBn0 <<}:&//f-//HJJJx׸{ӟݻٶmL0 6a~g.\… پ};QQQ>Lz͓O>I=ꫯ9y$M6|Gk׮9r.]ӥK8#<裏ݻ5Sٖ/rJ^NWXXha̛72CpBVZKtt4ҧO=ouСC 6`kY~~>eee_BCC!,,4***ltd… deeYaS#aʕ΍ݳW>l~T}w]η\ fO <Zh (**eu֬Ycן'O:=i˗ʑ\_Șt&"""""""r#9s&b!,,UVgʏ?ȢEX,tܙtLӴ^֭[ܹ3111‚ h߾]=iiiOHHfͪv33f/={f\p˗ݻwg͚5\tS:{*۲dbcciܸ1۷gݺuhтdN:e[sׯ "77͏+**0MөR p86QQQDӦMIJJbȑ?[U;v,Vθq\J7gWǽHUX ȑ#DFFg6nȩSX|9sέrQ)S /tRΞ=ˁر#qqqܹev4դo߾뻛k׮ogʕ]'OuHKK#??ݻwKtt4+W۞BJJ Ǐgl۶#FԝGDDo&˗/O>"##v}Iqssȑ#̚5 L$22kײqFOiSXXԩS7o'OO?}cǎz[DDDDDD~ݮoNLLd=zؼy3Ço߾8pG2qDMƌ3ltdϏ#鲲2k=:҆F9SO=ӪU+򁺝oӦM/ 'Odɒ%YzΝK^^O>$+WdΜ96uΈ#6m111`&TgkNhh(ˢ?wIGQm޼۔lٲE222pss#66֦<44Ν;w^9 >cĉX7*9tQQQ׾; 8|6m"%%ŮGNѵkW0Zl\ m4hMڽ.""':Viٲ% q&66fJ\|Zp4R||,,,dРAi&+]TUѾrD]DDD0j}< -OIDDק"X,vǛ7on9***[/o`ٲe^h7ǹ J^Y7J Ov^-!!!/_- 湧'\]]ݻ7_~ew9fϞMXXAAAcpEk#c™J >^{qƹ\oζ{hL͛߿My˖-\4Zwxw|5O((( 22ҩ]鮻b…\p|**;h r///)..?{]DDo'NX222pss#66&644Ν;w^;|0^uΞ=k-_`III4j5~~~tզ,,,-[~"zQeyll,۷o+|ֲk}numNaaw??{Yb|KUwnWoUv͜^^^SRR˗O>/m=-[PXXHFFi2dF^^^PRRBQQQٳUnRH TݵrcPkxxxqVfܹL0Ç[7Yx1`#c™+;5kp1b˹^+gX Z,SDDDDSZZJQQEt嗝+]ﮜzHNN&!!L2xii)Ν!!!K֭)++~NNB5"&& ߷>[n<.^II 6e_}'N <<-ZX}}}tyxk-W~oںu+>>>v]o۷gΜ9ٳ^{ʘCb Fǎ,BCCINNYfօ1hܕzsiz! r9kL\k"""""""""""""""Je`/((+sek9rJ:tkoasˋJJJ(**{S u^^^˗1MG>}\kC7JKKy/?_ٳiW~iE6G"""WKOO.2,bHnnnɓٻwoCiյkW|kz̛7S* LEEixbVg**{}[TTDll,/_ޣI&.s#Ϸ@]KlBff&aaaL02U_***XlӟT?ˑ>r=RS~"""" rQGIIICT Zsmժu;dEDVOӤIRRR9<˨Qܬg]v7M6q9 XbO= .?i$KJKK9}4=iҷo_:۶mˣ>OQQǎcb̜9l.\={5jy>|Gw}G^j-))){qaFI^^iii֍R߾} &''ǡYf3i$q>̥K8~8*}K.5NTT'OdS\\y饗|#c™+3?c^s62DDDDDDDDDDDDDDD 8͛7۔s!xWv]/z ???/_nwkcii)[nLJt!CPVVFVVݱg}֭[SVVRb'O<]SV_RRbW_}ʼn'E%o >4nTn)ϟ4M._yꩧ8x ݻwgر\xņ lmJLL`ӦM6 T,BCCINNYfE❙ҥK:t_}nyy9Ç[ozlСddd8ύ:Rߟn »ヒb!>><RSSyx ξGjzԥX_icfug阦Ixxu=oMs͠]vdggСCi޼9cƌ!))0JKK1 l:ϔ)Sh֬;v&33aÆYޱc;vd4i҄N:yf^yfΜi %77GOܹ֭[adffcyIϕ1FX,,]hт{w mF޽mb,YB.]ԩ ѩSSٖ#Flm˅ زe &L=f~ٔg[nQVVf7AG=3deeq bSN\[baw$&&tRZlI۶mYz5#G &&ݻ G6zh<<<ׯqGsudƙ6T7"x""""""O?͖-[HII! H1m4, Ν{ͤIxСΝ_uk9_uy뮻jwU:ẘ+|zǎ`Xݻ7yyyNJ+ q鼕u7o 6SOj*<(|V"**8gTjmڴaƍ0d>J:UQQA~~>ټ l۶z]+nrξGjz%4OM(]QoߞwyǮ|РAU7i҄zëZpp0/fU뮻j]rT.ZX:駟:}5Ǚ/+U#"""XzuqӧOgUkڴigypf\)44˗/W{ܙ\]Wr Ս5Gƽ:׮];`С4oޜ1cƐDXXvx\ +t|5)++4ZaDDDp9 à{U>C]yhh(1dѣ.\`˖-L0g͚a<t֍X7oN||Plzzo5>ojדҥKiٲ%m۶eՌ9뽽#s,YB.]ԩ ѩS'\GP޽{Yt)cǎ0 [oeÙofbϞ=~Hyy9a0|vڅaر .`O>d\t `?~0Xd 999DEEqerrrfԨQN8:̫t L ÃOСC˫k+y<{ٹK|| -E."""""""""""""""""""&-EDDDny> 6lhLDn=Vbٲeٳژ]ϱcǮcf"" 0 ֯__o w~k.JJJ\bеkWvue]7}ѭ[7Ȩ2f͚5={;wtI&b 6mĀnɛoIBBCJ"""R݇V|S||<}s^C[^]VVzO IDAT[{BR*͸_?קܺ5@Ϟ=ɹy"""""""""""r^z%Mi8zGeee_BCC!,,4***q .0 .\@VVa`u^WFF0 :İapiӦ 4k֌!Co>:{=s=pean$"""""""7B 07oʕC;2\Iii)gϦcǎҤI̻Kyym9_֭[1 ֲ7<\ё+"""R*_|ru[222 _$==*.\a߿ǏcG""" a̙FLL 0VZE^^^"55 6mJRR#G$--٩e]f̘ATTٓ26mJjj*?#-bйsg1M$k֤÷R]]7uڍtDDn6ax':[ȯө`ѢE6YYY?~|ЦܕJnJΝLJ,X@n7ްwKQQիyᇝ>OMƏOdd$~~~ۗXrss8… ,_ZgYf .]bԩָT{,YBll,7}[-Z̩S\n3VMiiiOHHfb.EDDDDDD&ӧOb4t""""""""""""rb""""""1M˗/~jcOn\c޼y1[[7o6-[l߾ݮ<<<˗/_;|J=z<##777bccmCCCܹ3{رcNO>HR7jԈM7uڍtDDn6WWV" OIDDD#::nݺsYk HIIDչJ g}ĉɡCT;4iɓ'̤gϞO~> 9janĉ.G׮]mhٲ%Υ; 4&ˋh]tvN:m8pݱM6p]"""Rӭx{{7t:"7={0fڴi7DDDSOQXX5M àUV6֬YcqWu2fڶmM4᷿-yok=WCطodwq]\aa]\]rzQn())50 wW﮻r蘈TMeHJKK)**ۻ/7oܮܹs̞=0_~x˺gWVZZʹs稨 K_||S a׮]DFFҨQ#.W_'uŋY|9O?e6qέT5Wl2V^w}Gtt47fօS^^κux7x1b]b6~cEEKVY^9yi<7v!!!D+sSSDDD3|pL$::S)r]w{Gaa!=swޡ}deekϟ77Mëy1M۔WTTc͛i& 9p/fq9tk׮#<q@L>,iK>sCWӦM1M\Nء2.;;`LdϞ=;͟?ߺDDDDDDDDDDDDjZ,SDDDD~zv튏q?:-yyyOIII_/((+| Ldv?.0 e]"00._lՏ>}8{UTTl2?Yԥ_ui(ֹooNGDDDDW%!!oo3a zn0 F͖-[(,,$##42d-r I&9s c۶mv*φp*/Ozyy@II EEEvN 44~ŵ9ꩩMWk#"""bp=4tպ5y?>˖-cۛ bccʢu 8^ӹjK4pyqO<… Y|9=;vˋbbbؼy3l4k5vXV^]5:}4}GfŊotDDDDDDDDDDDDiLTVV#F̙39rVZ5tZuFM]DDDUa6:tȦ,BCCINNYfYWY/.]>С/r!CPVVFVVݱg}֭[SVVt<>4uk$"PiDGG7t*""""":L:ӧOϓNrrML}̭ZiԨ111ddd`yzz}/`є3g۷^ܝJJJ͵)ꫯ8qhxJKKٺu+>>>߿dkR٦>XnxG8ȑ#;$11___/^LQQ}Y]oo?>0aB1<93}7ѣlٲʘիWӯ_?뽡4ooo֮]>|S2EDDDDnP6l4MNb]v=zv;u]EDDO?M&MHII?/Fbĺɓ'Y`}v^z*;9|0G%;;^zi]zgh׮ƍcӦM;wVXSO=… p:&}%88REEO&33h{9ƍڵk -4uk qDDލ~O~'""""N'N$ YfmfsV&Mė_~Iii)O4MѣxWxᇭ+CWuU̜9l.\={5jYyڶmKJJ EEE>|#GGZZ!!!.<3s5lӣ>OQQǎc,PGDDDDY/eee#ӫW/Zlw}wTTTڿy{1cXjUWZرccFR3k,x)))iDDDDDDDDDDDDhLѣGnLϯq7u_vڑMDDCy3$(--0 ƏILLdҥlْm۲zjF @LL ݻwֿdtBNHHH --N:i]999Aff&>>>օ$Լys>s2e ͚5cǎdff2l0bkRVViYkb[ndffboߞ'x:w^^}U|||l^ې_0 VX1 [cn$"""""""&Ni2ѹGJvAǎ>|8M4SNl޼W^y3gԎH~кukzm-#"v5zܙYf`>,ݺu#66X,.]_WZhKPP۶mi[hh(1dѣ.\`˖-L0 baͷ&:3'[SW)!!$k~'vI֭i>PDD!={iӦѮ];<== bl߾Sg0hժDGG/}!++ˮ3gΐL6mYf 2}Yc*_[HHH 00`bcco]j' ???zŮ]-++caaalX\.\ ++˚9Z@ii)gϦcǎҤI̻KyyH~qz;櫯C6lֲ|IHHߟ`FO??EL0"e2gI]رcVܹS[_^?W/+1μ]駟ХKk 3Ǚ1FFF6vӧ3ϟ?o]t1===O>{ ̐7f޽Mooo>;]qqqֺ?cnjp?300м̏>,**2K3۴ic7̧~,((0Ϝ9c 9}tkuǛG}d^xr3W}oa/hL:rqvw}&`._ܦ<11LIIq)WӬQS?fc`rgvUχ65M5Ϝ9c~&`YZm|fϞ=>Vbtߥ8EDDDDY;gffau]Gv>v&ݩmڑݲW\Yn\["""""""$>>իv2Chh(>>>FEE5Α{rG(--et___4iyw)//=s ɴiOOO5kƐ!CطoSȍ/55%KKƍi߾=֭E$''s)\p˗ݻwg͚5\tS?h"~, ;w&==4IJJ2[ׯ "77|6sL IKK#&&BXXV"//DEEJPPM6%))#G?k֭tܙ||| aoަ>WZ9zif̘ATTٓ26mr}<ctܙM61m4vb!11mؼ.պGIM***0M4~a.:3v\8SqkSן9Ύcj*kYqq17Υ\Tgvc>ϯִiS|M5jDbb"1z(!"""""""""""r+b"""""7xL$..xiɓ'`ݺuݻ%::+WZr4v阦w}˦eee6),,dԩ̛7'O駟RPP@߾}ٱcGmHLLd=zbkJJ )))?~׳m6Fa-w[ݑ#GdϞ=lܸSN|rΝk!E͛73|pˁ8z('Ndڴi̘1=uL2^xKrY8@ǎcΝָ<"""x7Y|9|'Ivvȍw`РA6^^^DGGS\\̇~hsϏ]ڔѲeKo]2##777bccmbCCCܹ3{رcv9EDD<8qSmۼy3)oٲeVrxx8/_믿v5`>3&NHNNuCes?ѣG׽{w-[nSuǮU]8:Njr|m*ٳVTcU|~c1uyPʾrvgc.>>@rss{; s)+Uh:*wu .… <WW?DDDDDDDDDDDDn5Z,SDDDD&Ǯ\Wvݲ!]DDDDDDD6sL IKK#&&BXXVpQQQDӦMIJJbȑ?;u~Gںu+;w&&&BBBX`SSSYh?Ν;i$%%9I"""""0 ǓO>ip-0ؿ?Ǐ0 f͚ЩJKK9w ~TJU׼ysN>m% zl{zzPQQTۊbTΝ;ٳ #((Țc=ŋ>3u-[իWwMƍ0`uaڟʑlWe5n湛ڔیkpdԥ޽{o߾Zc`c~~c1uyP/JuL\%oookfq\Jս7µ3&NHNN:tǫkSghh(;wf޽;vEDDDDafa_K;?ޮl޼y 8ˋJJJ(**;^QphhMٳg1M.rq͛E`` \|ڿ)S-mpyvefܹL0ÇSQQi,^͆aT{~g2 ѣGe 4M ¢Eq?k\og숺6u1'u)116lPcܮ]8qu6;xuQ=*wƍ5/͍Y%WرcXf G!;;#Fk]mlq%j_ؾZC:+WCkv9F[8\Wvݲ!]DDDDDDDVZZJQQX,Uܹs̞=00 0xxwe˖zj;iܸvP# IDAT1 nRٞsQQQA@@_|7|p"""""""""rc{xmKKKٺu+>>>vkSW_q iѢC ,>쳴nݚlQ|:dSV^^NVV$''ӬY3kUkZx嗝+00к^F!##0lY]~rz5U}\qRWڷoϜ9s/XbE1/^$%%`,Ybw pm1*wϞ=kU:t+V0l0:vXg::\s=z9}4=qqqk]mlhтǏۼɓ_NgvUUX,[|r~?DDDDDDDDDDDDnZ,SDDDD&Ǯײt}rvvkpB\ZjtDDD兿?%%%?xAA];w.<TT`&/ܙ `lٲB2220?{UuAEZ9(B‘5=?M sD%&-9^TLƎGNakJ%Aj4^& /dHG}q7lcfg{?_dذa,[z=~~~xxxpULӬ1`^6mֈZntDDDDnJ-K.$''sQƌÙ3gȰ8/s%77Rرciٲ%6vc=ƶm())5ksϑG]… i۶-o… dرnNTT,]B.]Į]XzuN=J~~>|7߿AL_|AYYgϞ4M}s=ݐk˙c{'u& <2g~ߓW_}EYY/_~__MKMMeL2ٳgsQ\©Sx0`z_wz?~<{e„ םpi^z%.\cǘ1cF{&X={ֺ9ncV9ȭ@e`wI{Ґc.\k\J0sLL$44թ8YD3x`m 9rM[EE9991}tڵkglҥK5ƯmMh,???> @-%++ 0ljÆ j1,YNyyy8èQ0MW""""r b߾}=ӧ@>}(--eL<1+WұcG>ٹs'_ٻw/L6vo֭[9r$yyy֭[$55=K,w}ֵkWrss`oߞǓDHHeeeI$11+WҩS't3f [X^zѣGȠGڽ{75mңGyט;wiO~w滦3]OTߏa|TTT`/fϞ=ݻ)--0 ϟ1Ma.ck…QTT?L6myg~W_}]wUw˪2cj{U7=x N0 kl{,ZN>X,уk2{lv؁7@j9 }ύ7n6XugO}? Ҙ4i .x' ܹsٳmbޮkYs 1 JJJ0 ٵ}Qxj[Std)1-[8V||<[nҥKn^PP=ŋYv-?gΜaΜ9;Y]6/ɓw}|? ㄇ`zšC8q"v \gmgfɒ%|焅ٝ8 33Ο?OXXݻw߿X0\',,BN<M=uϙ,"ۼy3 }QZ˱cӧ[H[RRR)))111ܹ &M^^ǏooZ;Ϗ0^|EwNII '--~gr=`&/slٲ֭[go= DDus 8={QͽfhuSŝ84Pz 7n SLqu:7ޞ9s&W… N%<<<:Z]b:U] ð1w>v/wjn-7."""LJcǎiśYDӵkWrss`oߞǓDHHeeeI$11+WҩS't3f [׵&w$ݻ fԨQmۖ=zkܹsk߾={%>>iӦѮ];yٺukT3x:iu `,_x޽;}Q6M߾}뽆v?w[Qnxw?Yzuq-ZT5#BCCksm۶^^j""""""""""""{'x'… N禥q5̞=%K8 H󗕕a˗kl?~8 @\\ǎIOO0 JKKɱa{_ӧswвeKڵkǰa8p@99r#G`m={wܙ}^^^ 0j{9RRRڵ+-[ߟk.ƫLbcc ӓ222lG}wO8ABB>>>0n8~?ΐ!CcǎL\2kg]p̷X gjtm*""""""""""""EeHtiפIۛo> 1gN8ex衇X,ٓM6a&III57k,寮@륥Zʚ_xx86lʕ+̘1YbqqqiӆnݺoұcGOw}WuDEE1g $))1cƐ?ј&N]w݅7ƍgϞl۶°X,$&&ҥK_ώ;ٳ'xzzҡC.]JnݚEDDDDDDD;w.dddb!$$uq̙qVȑXTcIDDDDDDDDDDDDDDDDDDDD6z5ǻMHanv͍8 zg}ɓ'קO:z{{fBN8xuCwy~ئoVҥK|u+..]vUk ի|WuGc yީS_T{GgРA|'U_WWL6lmX^g϶ɣo߾.CDDDDDDDDDDDDDDV2EDDDDDDDDi|}}mlJ/++J|}}};׿]gl??۷oٳgoݺ5>>>v:URR3$s۷g۶ms!/_Ώ?ԩSկ~Eyyye0Ldĉ<|a&oYd i6J> ir…F_ŋ[o4DDDDDDDDDDDDDDDn5,SDDDDDjn2\Ν]] m׻wo._\o?0wA5 _]4W,""00jloժ~~~xxxpU뗍~0`˗N_riBCCر#<M߲2v؁'>`穨 '' ONv \tcz<:_csz8|0-Z 66, è6?""QFa&111Nr>si\zÇsqaÙ0a/^tq?QBDDDTmdm^XXȑ#GlڜY#r45GN)h>ŋ뮻ׯg\EDDDDDDDDDDDDDDDAeMUVf?:;3GOnn.| `ѢEtڕ{m۶QRRBQQk֬#==ܹsͥ3vXZlIFFߢEҥ /=z1cp222СCqww'**.]Jaa!.]b׮]^YG]kl^ϔ)S/(++ٳ}(--eL<t :u 0מIbb"+WSNt҅3fbcc wx89:0 >***0 ŋg `ݔbwzvMpp0Fm۶уl^{5Νu/^wͻ˦M\j""""vJnn. >3~x 04i#쭩8Zw+?ƒaasslk{``Ǒ#G9r$ֶF>W^NW^^Nff&IHHTVV-++g!88///ڶmː!CxwpFVV6}駜={!C83ʞk\k J{FDDDDDDDDDDDDDDDk޷> wtlF… ټy3&99'OtRkiӦelB~IOOgСڵ(tܙ׿?<֭[رciѢC:c칆u- aaaٳ&FcgDDDDDDDDDDDDDDD:Ç///_hcI{OwA˖-i׮Æ b;wvJ˖-gڵqmVZYx7ҥK  ;͛7x/$ڲ`Ǐ'!!???رcb;2O(..0 (//i>|8;wf߾}プ ''umۛWBpr233%((OOOBBBȠگjYZZJNNuX?_9r#G`m+,,[6n~իkQC$77|M222(,,O?ˋk̺8gk>(&L5k=_tt49?8)))̚5گjͽkxyyc|ԩS'//www5ֻSMPPӦUKb^՜IDDDDDDDDnM}qZkRԩwjqhh(W^嫯 4O><***8rQQQW!!! Z +G|ψf"""""ܹs)..&##X, ={7ߤZ9sp -[C=di&L$))ɦoVXA\\mڴ[ntؑӧwՙ#1fdd. IDAT:t 55A5֍"00͛7ӢE 9|SZ&M"22ooo?̾}lݑyrTJJ ,[̦=''o#FT;UVYgÆ \r3f4I"""-==08x N0 70}̟?i Tg aݺu9sc3gĘ1ctΌUe֬YDEEwMyy9H޽޺EMj<ȭ%/gy=\x_f|7ЦM ;c~UZnͨQӟd{^!s5UNe4C<6ڵ#88Z,܈i gϞ|g>>bw:7F}}IHHӦM-[PYYi۞yjd.^ȪU8z(;w_۷ٳM4 Ukk3u OpEX֐Is]ٳH 0ny}DDDDDDDDtؑSNٴߺ(u֍y~?ȑ#Y#Gx*i׮uǚng|Eƒa{V>}Ξ=ˣ>СCm\#ejyW86ifZj/_… ^?{l~~~xxxpULӬ1`Zj//_bwՙ1 k׮{Ol^sƑyjG}:K/QVV /UΝ;iګc۷oEDDnt :w؛6mnݺScȭ:CQQQ!C`&OѣG4M/_Pm-YE83V}4nee%/2gYIDDD7aXm憿?L:>iZU˷GZZSivxN>K/ą 8v3f̨@%::Ꟛٳ2e gѣ\rSN3`z믿^gwww(((`ҥr%vիks=Ç g„ \xd˖-6'&&m6g*""<1i$.\H?~$AAA;w0={6yyy֭[vcr֯__o ~h"硡vsAAA\zՑGk5t޽9۷u!""""""""""""""" Hu]v%77NHLLdΜ9twww۷g޽3m4ڵkGpp0o6[neȑ־AAA۷ѣG3}tӧl߾ɓ'a}:wq-[]v 6,++g!88///ڶmː!Cxw+//'33X$$$ *++kĉ$$$C@@ƍ~ 2:vɓ95Nzz5FΝٷo111ŀɱ{Ç/@DDDDDDDFH޺VU=kmhߦԯ_?򬟽b^u͓H]Ǝiև+6XxM(SDDDDDDDDDDDDDDiLf~ 11|.^޽{IHHM6tuzҌ]Gy .zj~FDD&i :DNJ~~>yyyp"""ؼy3V?""##͵Ɯ6m/"+Wܹs:t`l헝ͨQСC㏓¬Yj1%%zVX xGINNf9svZ͛g3sLL$44bf̘AZZ|Gݻ7G믿&22[ow߱j*,Xc8s"""""""",okUգ{;=Vc[hPPPӦUKb^՜IDDDDDDDDDDDDDDDDDDDhLf(((۷S\\}݇?o޽{/ߟW^yM6Qct :u 0HMMmlEDf0k,寮@̙É'Xl=={i&L$))cǎٓX<==СK.[nŜ9s'00$ƌCFF?c9N8 oooƍGϞ=ٶm)))aXHLLK.5(--eժUDFFMxx86lʕ+̘1qrd<ΝKqq1bX aݺu9ssHjH!u83Vg[J놔R[>/?לIDDDDDDDDDDDDDDDDDDDhLf*&&~ߔQPP ڵSffҤIիW9x wyg}gΜia#-- E>}jl͍8 zg}ɓ'4h| ?8yyyTTTpűk׮j ի|W5nSN55&,,̦-$$N:qz7td<x]""""""""Ҵ4Ugƺ3|ˇ~HQQ TZhA`` pc5yi*N@DDDDDDDDDn<())׷cѹsg^~e"##obbb߿?<#%%% ; a7۷S\\LVVi2l0-[f;d,Xɓ9z(0MѮܹs5?{,&qdMhh(;vxGcdgg+,,ȑ#s""rk +9s&iTJ,"""4ŕ+WϻwΫXrHߦ4g#<ˆ#ϋ $"""""""""""""""""""RW' """""7&4kU2Θ1łb!??rX,gϞF;GVZaXXf ?GnsH-Zݻyx饗{`˖-gγ̑MCZwy'sIXrhM6~~~ݛ[2p@kݻw+0j(N8A֭֭'N$55+WOӶm[̘1cXx1u]Kr|駉'""n-_~6y?brJ?'P^^N>}عs'{/<6q~i]ˬY>|8W^7 cر08q"k׮uxEDU^ngh޺Xb'OGmۖ z_#/Vc[rLӬKM, lݺ00 6mpӯ_?.]ʝwYXW o  X,@c5O"""βxbW """ryW]H2L{TDDDDnj#F`˖-.DnlݺK.ѺuF?b!,,={4y)..f޼y;-[Ү]; Ɓlr/++g!88///ڶmː!Cxw ==0(--%''ǚs'/ ))ɮcΝ;GJJ ]ve˖3x`ve\Tw\U\\la?m>|u. às۷|||b4z""""""b5O{~~#G0rHmgn:Ӟw]쭥8s(,X3g0|֮]˼ylbegg3j(9t<㤤0k֬ZϙLrr2N"33;w2zZ~%L$//3g͛YjEEE|Inn5ִixYr%ΝСC3tP>cfΜix{{sb&iR^^nXGGG`nnnlܸnkײq:oIFF|xyyڵkkW{a&> nnn|פiDFFqFz-\R\\̌3HKK>"ٽ{w-""""""]׷g n:NLLdԩ瓗{֙bo-řag<_OuhLfnĉu]x{{3n8zɶmHII!,, Bbb"]t߯v|TTsߟ@3f 5sҤIDFFyٷou-sĉ,[zBϞ=ٴiidczIll,tЁKҭ[ϛ IDATZ%"00͛7ӢE 9|p}̙ÿoVXA\\mڴ[ntؑӧwU;Ξpd\Bee%˖-ioeĈՎ)--eժUּٰaW\aƌMHOO0 <ȩS0 úif͚ETT^^^}ݔh}ݑufC?אZ3ǣ1]OuDDDDDDDDDDDDDDDDDDDDDDDDD2EDDDDp:u;vAV\]B0HKQL 媔CK?Q䋚^SJY ~U%^%B%f׭@A@@ sgf|T'*++믿|qmW]L8...ذa***zjL2*竼rrr<̤1&"և8///Oab޽{|}1BĪyyy)W+&&!iG[۱ncr\ccDDDDD]t }as|||pU|x=zh!i@t9ի dȈH,FRR\]]1{lmV>BYYQb AUU}xPUUǵk@bb"$ > Oݻ>3`Md2|WJشi1cR8y$1|pM3gDNNV^ݻwcΜ9j󗗗#55U!_~ 77FZ|p]vEPPOBt"##KNNHKKkpo>ɹGUH 5rDD-K]}pC4g6XJc1@ 5CDDDDI]Cq:^HDDDDR}[l1JL+WD.];ѣ(**BAAn݊˗#66fff.._ O>~~~ ˸q222[nW_7???899!%%E/sww֭[Un[r%:wH:tŸq&L,Ejۮ9s&xb :/ڼvvvXhQZZ4L4 kԸ`YZZ [nŗ_~ipn~6̆uKiu D 5CDDDD&hkܯ5g| dm7oիâfW\ Q2H$8pA"㨮D"G}sA"ٳ(--D"eǧ~ۣsعs'&L@>}$ >c@޽D&MR.HQk.\ѣ1k,m=z_`v8{,z7|ٳ';m۶aѢE mn: ={Dhh(гgzۺ B!̗D}}QwĉT[={6Я_?ĉ>}:P}.mZ_|$|r#F@"De1i$!Ug{d2|_^N:7QSakkG1v(:ݻabbpܸq!iҥK;vFy+ ɢTt{g .GLL 9ҥn.]B޽1sLlܸQlYL2_|~߹sǑ#G`aa_ׯGQQ"""pd2a͚5պ>y׮]ᅬ'O@ގY8q?sΡRz=tF%߯LwLMMQUU6Q+QeDEE; ""2DH$?~}cbb14H~1y B"III~]NNN^=z 88?4}/D\\pE֭[<q)[Zt{?ؾ}; ::BxzzsALL ߣ~~~8{H]rбcGg*++Bոm =** Gvv6֭[]vaĉĊ+e˖aXtNєγu̙3&O+))̙3h"ܿ_䄔zcH$J1p@YUU6#""""""""""""jzcǎcǎ5vDl۶M=Z͛7]::th m-]pp ,N>-JKKEJJ055/pqqʕ+bJ?^^VXX~x8}<_VVܹpqqEEE"$$DH$m6$Jҽm2c-#88X?^NX[[}= "ErrFSSS}nnԩ v%OONNVjCQY8zÇ&&&~S#vޭ)Rǝ*z%,,,ę3g7Q||05Ss~&ND7o {{{ѡC*ڶm+,--k;fPx&<==2d8w(..V;Q1Ս7>队>{A@|ᇢ@ N+-_\:>=IM iiiDܹS#Fb˖-;wB""dqgܸq#lll>K g)SJeee KKK-OܹxW֭gVMibԩjHڵkO>*4i077EEE 鵟5<>vX@_~^^^.ڷo/Evv bʔ) 骾0dÇ+ ٳ ;wݻwoP}S[#Ghuz}wקc|شi<>}`׮]?1gΜFjMLDRkٲe,ZC@@| `Ϟ=(--Uo1"|8p d21P7>队b…ppp3"""0aѣGjKHHҥK1uT,\ =kڴiT*ɓG"** ^^^dGΝq}9DDDDݱcÇWHo۶-zabb tWWWŋ1cRRRP]] ~:|}}jO1BiѣG  ӧxzzSNȑ#---2?~\aT*Bڷotdeei[ruՖ!G}UwAZе>r@~4>>iee+^rǧ޼;R!mFDDDDDDDDDDDDqL""""""R),, BTVV"==/ڼ j_111-56u?7CH>Ta ЇyC 667nT3d@ӆ |ϗZ *2]DD^kg>[OU/NIDDD4h; 1G}ԍb"uP2 ?bʔ)xװuVT4 Qc@qq1ɞ򋊊PSS;;;ň~'͛77nΝ;q-M6 ZK|gee[[:aɒ%<~X~vvv -,,u;y]zL'''H$O_#Oӵ͈+NIDDDDDDDDDZS{C<Ԑ*[CbK0{lʕ+5kvCQǏcӦM7nԩS1c~m'1AcLnrCL.ܻwԩkUch*56KKKڢ%%%J}>511^XXT=PYYvQ!C$ &O'NB $$k֬i>MoggrיwԨQXbO7nB]ŗ 8>|ɄOWWym׮H[nnn 7yw}tvZ]yz'm'$"""""j]ra3ݻ7'HЧO#DR|ubbb2QdPSAc<b۷oG_6Cĉ 6WƔ)S&""j bcc;;&ݻxs¢Տ5v] 516h;fVƜD eJ:tZ8DDDD-#ǎSHƍ7T+wRސTUU!))Ii{UUU,w59DÇ4&ƌ8rҶ޽{cܹFRR\]]1{lmVL6gWQQ'OÇWV^^T_~<|"KmΑ^z%@ffNkP>\; 1KJJzm(ϻw>L5G,tRRR]"((Hi[RRz- 6 8E !˗.]Bdd|prriiinۧ@`xx8ѣ 顡Fe3CHzBD0 &W_A*bӦMJ YGC> صb W^ŴiT>e踉Hsuh.o>oߎl޽[/t\Ǫ?'N@dd$;w`޼ypuuEvvB~m tRvXKj44ɘ_C[;̩Sj*ېJHIIQ9ܹsqر:K_G"""K.HNNƂ 0vXTUU +WҥKOLL bڵkŋH$X`>#k.\|Yf!##ݻ78C={,6oތ7|wޅum۶aڴiZӄ+RSSdff?{ŋO??8::bĈ0a>#6l|kkk@LL|yݻ7FCiٳ  0'NP9IL&ç~s󨪪B~p) 8POsu$ 'h߾='.Y[ĉk.?`8p@_"ȏmzG}*ĽrJ 4H"HtR,[L{F^;x4=fll,͛С֬Y  55*׺TUU6G֭[ӧgϞpttD\\z6#""""""""""""j$oh+OQqEl۶`_}^x۷ءP+2n8uGz _5`eeeq̆KKKСC_Riii֭B!//Hjw֭[qQ;"҂D"A||<Ə,o}-U|HLLTxb޼y Tc 6mMH~~>bbbpϟZ@QQqazwqE?Lׯ_O?fΜ@ 5ƪ=U= @^{5\rVyjm۶ iHKKS̙HHHPߐu_\@2Lef̘m۶ٳxTB^^;>eV!fbڿ *95{2a|Q V9iŊXxhDDڹq,XSN)Ms*f@x&cJtlj3אOƺ/^#G ;;[>|E>},kP縟ㅳfR9>D6TNd@> '""j<nqqj^z聲2ܽ{ء5EEEpwwGPP' 5j9 .N@M '""""""""""Vfo3"jm6;qℱC "jjc@:>|8/^˗cܸqeS""j kXz5V^]g>OOORqrrڵkvZyvʱ uEvRѣl Mb=uy0PU8;;kUMi&tCQԩS1uTO?v̧ǎ7q5ǏF[ngggtm ԍGiBةSO13MƕkH}'c]ꎵrJՕOB}"""-;;_Cܹ&M2bt^z ?>{9NIDDDDDDDDDDDDdd&%&&B"_wEhh(lmmɓ'?;w0j( ӧOGqqBYUUUG@@\]]amm šF1ܹP AAA///WH?p ٳg矇ڶm\tI! ,Y=z􀍍 1j(|78ccc!HPZZ$y<8Qvxmݮ_IQ iҥ6l._GTTt 888`Ĉ8}~kl?<:6m;׸ï 777>CDGG8DDDDDDDDDDDDDNIDDDDM6 ސJR^^^ ih߾=ӑe𸉈H{aaaBx]DҩϮk ٷ k-wmΏƲ cL\&їV_""""""""""""""""""""R'ˌ嫼_rh2bccбcGm1ڼjmDQK>׆ƶ#"ChӦ{F!555 iEEEXd <<< 5o<ǏUNὅ( vvvXj_?͛7bΝuѦM'']۩RƬ{}fϞP\rfR^{^`kkLkFx16mqN:3fooo2]vFHW7 ٷm,+jnwmϏƲSNz Æ Cnn.~V?Xtt44Hlsen󦬤]vEPPNԶ}kM>!fԨQXbO7nB] hX,--aoo333TVVB5dD"ɓq "11B`͚5 eK$Ŧm;wƣMѽ{w|׿vvv(//GqqҾ>j}\m]L8...ذa***zjL2*竼orrr!֢IIIpuuٳѶm[eeeF)$$UUUHJJRCUU׮]# H$8|¾666 ft}F1N!ս1d2|WJشi1cRl8y$1|p5 KKK̜9999Xz5vލ9s_^^T_~<'%n"`޼y@pp0 ??9.]ooo$&&;D""V}v}p}lܻwOe~]695=?""""5tΖmZmǾB_i[S~nfy ScUclmm;& = $ũSj*ېJHII-[ʕ+qY;ذa^yTWWc߾}X|9v3vS}]_ݻwGQQ6o !}嗑 dff֭[xW5Ivx Gۺt>| تc֭4iҶ L#++ .DVVn 53g⣏>ŋo_T-Š+ЫW/\zӦM5n"wQW_Ş={cF L///;wء!/6 6l 0uT<|-BvP^^_~!ua]sM>i$޽nBΝTgis~=EDDDwRTW{4O]W&DM>ޯDDw;"""fÇޒψ*"88Xeee)_R8p`StA3Tmgȿ/ )zOtא;v;v#"%99YPxJ+W?RҥKBpѩS'ann.\\\ԩS{'B#G+O8Qe:,_~~/077m۶Æ }B;\tI={ (  m&jjj^vMB*N:7j暶S]U;MyW8|u6I)=//ODFFΝ; sssagg'.N<)ϣuVKk֎;TsqqzM>]gϞU?bVX[[s)6n"/">>ٖO gmm-LLL4ϐ''Bi0}vMVR_BB&܄4hHMM ,W/W7MmayL&UUUj/DZ.]edd!4;?B,p""hIN}Ism&#}j%z/^DDj_|_|ۋQ+ B<%!!x&A1f#((>`򕷏;#F۷oc8~8LMMヸ8tEXpdffm۶ѣ&MPlܸSUUU*ȀT*ŀ0| 2D1兼UUUꫯ}v/(**‹/0DDDD9v}>ǏoSÔB&W^HOO7v8d 雡M0f۷ĉm6MdlGKwgGƁ~cҒ5ˆsΡ\6듈HW{vN ~ODDDDDDDDDDD>%_ lppTnmooo䤶`qyQRR";amm-7++KtYGlb @]8.E]ׄqj;M4J}D]ƸObر\;"j'v]gND m-ڵkbܸqQ+/w. UUUgǎJc߹sG?^d2(&M$ ۷EPPdUG)#''GDDD/\8;;1cƈYgժU Ǭ}TVV{C aee%^z%n:Q]]'BOD-555bEdeelp""<;FUgo߾-Ə/섣9rh2$fcX-X@: .???!ɄΝSo^^;wxԩSJyU}t쬾Pĩ9ije־/ߧ=zTt[XX:cc͘ESW^M6F 4H_XZZis[i%""""~ODDDDDDDDDDDNB, cǎ?_kԩj xBrKrѾ}{amm-+vY+Jqtͨe)(0]!._,OOOyR&M梨H!9rDuP88Y&'2uGDͶmѣEqqؼyڵsNIx8IGV" Yd!;;[:"DIIعs F!?,Ŗ-[1w\2b2dptty󦰷:t~(../_Æ ?d~1QKTKDDDDZ4s}UxߩS'i1BiG"22RcՖ3rHtKKK Ǐ::8}`׮]?1g߾}֭CPPڴinݺaϞ=pssٳza3]92$M⫭{\\`kk ,^ZO1]}RSS!]h d2xxx`ǎ5VDDDDDDDDDDDDDDDDDDDdX~L;;;x***PTT+++|qqqdggk.7nΝ;q-M6 Ovg,l۫Lo׮ ''PTT%K ͛xrRVG8H='}BDD^,u HOO/6ottuӈ5M)eR >_{ny>}(o߾:(,\>>=v` ۷xO@mHDDDDDDDDDDDDDDDDDDDd&411^XXؠr---aggrכ_"TN Z/ɓ'ĉ(,,Dbb" 5kK}cG\vG+V`qjjj ڵk@eQמu1D-ձ>}BDDDDDnmY¸qСCwLhӦ{F!TpE'jjj`gg'_O?n޼Yo V """"""""e-Zaշ& k1VC5$Ά#CkEzk5d\}Ǣ񊋋aeeLZ֤ƌtd&tssҲq޽=f#GsΕQ{9|B8y$嫕kW{{{\v `nn$&&B"( 2}yyy9RSS~ֳjOU GKD'DԺdر!""&HEQQQ_|E56KKK B| 2D>pa"""҇ޝG5u_vH귎C)0֖:₧.8ARBKP+jT[E:uRPvq[ * (GcHb 9#}s?InnOn[T2Q߾}Q]]d=I0`DZ|=L2I5vT}sXƦƺ3}o|j8SkIoSƹƎ)ְGuu5***Ԗ܎1ntLDDDDfffСBCCծ7krĚv:۷Ħi $IQcՂ Tb5UDDDDDDDDDDDDDtk5e6 w~ \v sNߍILLD;(//ǭ[0k,LHׯ_?\r1dvqʕ+8q" #>u3sL\p555w>c!ﯬsMC$|: \3c-ZlTVV"//ᰲBrr2~~~(,,Ċ+PTT*;v 6l0OM+x8!gWll,4u(DDDJsK⧟~amm"=uuuR[|rt uuu2m7\X\\\ PQܹsZ/;;B //mԞ={T&pddd8R""""kFtˍM'!3}o|j8[kIoSƹƌE#Gdff:cPQQe.ϐFnhh( yXccc׿ʲrBh$͛O?lhG)_kss>=Zd̆ '$IQIHHicǎ2e Ν 777C$,X999jm˗/Ŋ ?F!77aaa3ɓ֭25kॗ^B>}dG & **JNee%>ӧ+ѵn%ϟ?۷oC$8q{Ѿ}{شi-Zϒ$Ғ}n>\.ڵkSNxW䄣GW_UKKKCDD֮]Ν;{غu+&N Ā4V?5'kx8qBDDDDD|W_NR_TT$E݅pppÇGQYb}7w?>q5FS\4TL6MtIڊ_~Y+ϟ?N:Nj+W t6Z#!C'''wT"44TkN oooqoԩzJDDd Q[vmvS9@TUU=qh(m&7Z/##C WWWQ[[kXann. d=K?=cv{y"""""""""z@d=OOOlذz0ʶ-cʕXreի[\\\kbbbmi2|paٲe;v,N> SEDDD 5j[Kלݣ&9;;cXz:ոLܙhuӐbS i& 2caS+5d$0)S`x饗p:tMQ:"""""RI_aaa3&O͛x7`ooN:a(//Wiiii lmmd( 555Xx1z ;;;oo+7Ub$ z͛7GGG8;;#88׮]3hُp}DEE矇:tѣGܹsFG""""""X1˗1n88;;+ˊc$HJdee)ma{ Oi.K,apDFFNqq1bbbУGXYY #Gıcǔu EtUZZKJHHg?Z>f&I{9" kf-%o 45oǏA<.9G9F7v1%%%7|[oso7}DDDDDDDDDDDDDD-'|PMK!T֭Bې$ qqqUqBDP!yPXX5k`4i,]XdJ[?~}vvv@jj*r1Et!333\zU{Ŏ;w^R̙3 (,,ķ~ĉ7Q[khk~w۷111Ě5k螇%Gs{ɓ'rx<mQ;_sN{pXZZwM@߼=QKy2~ln2Yp!ƣ;iџxfԩ߿?d2&O wwwddd &&^^^刈@q!pB8998q"+9r -\]]b ٳJKKzddd}6m|}}!0tP!77EEEӣ.\_V믿\wwwڵ BDFF*ڏDDDDDDDE!cvvv4hw-5vׅ!8B̅w%"""p%u.\7n`͚5FvгgOܹ:uBTT޽.cbbbP(j*,o;v:HIIQ=`l߾̙"q%?-ADDDD'olk߯ӧYYY:t1{4`6Ʈ4vzx뭷]\\:l۶Mz&`Hޞ9=dDDDDDԼ s˻t;wرcjmzzz?lĈ0c 䠾pei4h̰fVy޵kWP/}QOҏ033CppJqYܺu aHDDDDDDԜt:8pQl{S ?~%%%թ&>>>HJJBee%Ǝ* R)F@@_K.Ƙ}aÆ[lAqq|Ŋ:2 ^^^*eܹ3Ο?f-M@i""""2>ycc^P(PTT䣍9.]o uW_p 7Lyf!y{"""""""""""""2Zvک<7339T͡P(TʰxbxxxIys>|n:lݺׯ_G@@ڵk#F(/}܃{ؾ}遲s+++P/}QcMM ʠP(^/G""""""X1L&3J-5vo\gV[ް666W[ (,,T[T.}Itt4>|+WpQ̘1Cc}GGG;vܻwE&"""""""""j5o͕?oODDDDDDDDDDDDDԜ8Y&S7@||S`ʕx7䤱~qq޽{4%&"""IJJRj{9k.e666Fmio޸y7XNԚҘZرYYYۈl޼I߼=QsdDDDDDOzdee QQQСѪ*tHOO$I8xZ}{{{tr_}r9BCCQPPjXF:dee-[|9u놺:#@͹sT/;;B //mԞ={TP) 3qDDm.cUSE;?P>ի>Vr_~%d2RRRԖ5 r5558rlmm1|pof½{rJرsZZ-?ܹOOOtԩE&"""Fo{B m=5oOuW i\>uT_|Di蛷'"""""""""""""jN|7-=.\"uwޅ 9pQXod2rrra̜9| zꅲ2_B7{E`` FǏںU1$&&ĉx駟og,[ 7oW#=r^^^8uꔩCQamm \7W_ń LXScUSE߱{~|ܺu ׯ_ǐ!C8<<'GwwwlܸZ?::r* pB`ƍ[C̚5 }/ֺXhK/ŋ:u*ܢqVu͛ѣ Ξ=~!yxm9FuWo޼o/"3g_&Md蓷'"""""""""""""jV1iii|G= ?xcƌicH1c}׊dgg}."77W<11Q\9rDYǐ\Bl޼Y{\~M>]'NZStEb^ڊW_}U:uJq=8'""ciuMDDD;oyq".yc!tƍLH$.\,dj^ziKqNo t7077'""""""""""gnI!ݻw#,, %%% "2txchEO)S {1u( ;v,}GDDD$IHKKøqdl©SLR^^R,Y˖-K/ӧOFY/''(**2a9s&6n܈ 1UC^D6l޼֭C^^:T( IDAT^^^(**­[Z02DDd,}mС8u6juKʼnڪ۷cX~=fΜiXt7=?=cXh[Ԓ3@&vEmC """""Ҩ|vލ~ 666G~~>d2|||0okѣJۺ>JKKrA񈋋C]],--?|ݺt}a8s 1h $$$`7۰abbbLVt%4w<٣/}r([t,XcǎCbb/=!퉈5hcSaOvZŋݻ7BBBpIeL?x"1c `zB $$Yf!??999x;1117o fl߾&MBtt4QPPK"55K,Qiؽ{7RRRPRRǏBLC!rL})pvvFNN4033Î;еkWbǎ/,,7v܉dӰC@@RSSytt4qmѣ0aJۺ>!affW"..`aa!|}}cݻWyzzsABB ߢ8qDMDDD@jj*F lذh""99͛QPP䶈ںpBTTTuG}!7%"""""""""""""j '$""""fEm1b;̘1999\|~~~z8vO?%<ܹ.]Ν;*e033CppJqYܺuK8 ?~%%%թ&>>>HJJBee%Ǝ* R)F@@_k׮ҿ 6 زe +V@dd$,--֑dR)@Νqy 7ӌyjʴi @mm-Ο?~iIHHhhieKh|ۓCF >\-nM蓷'"""""""""""""j),tn:lݺׯ_G@@ڵk#F('XlPVVŋNNN$ $aܹjl_&%vک<7339T͡P(kjjPVVBe /\gV[ް666W[ (,,T[ k$::>DJJ ʕ+8z(f̘;ݻ"qQۤ)o.mKE}就\.׺=""""""""""""""""""""zvpLjuD?sy"֣>wڥ܎MmYPTT¾}z$a&X3///{$$$:d"g$IRCѣGcժUzo1}t\r B^ 0.4@mm-rI!55zm۶,Q^^ݻwnnnzoאפIO?555Xr%|M899i_\\5hcǎ-7Qkњs%Q[o.-tɡhOX[[ըPkx;EDDDDDDDDDDDDDDDDDDDDm'ˤV'66Bxzz:"j<扈Z'L_W7YwB 0...B 77p9DGGk ggg!6jϞ=*ddd8R"g#.]D`` !I<GVV:('2Y=z4ꐕl֭evvv?{>\.Ǘ_~ LF٠G-nж[}Y[[c֬YwV\;v`Μ9ZWWW+G5pxzzSN-7QkX^@qs`.}r m!ߦkE}cȑLzEEE|A,xMDDԔB( (VSkВY[[7n_|"$"g̙3q޽{!?~~~(,,Ċ+PTT*;v 6l0qMKLLD=o###eee())ƍl2$%%BY_~r 󑝝ׯcȐ!F8;;#''(7j\ݻ#::@yy9\'puu5h!f͚[[[aСxuppEJ!<<VVVHNNnѸZ;S"}s =ߦkE}?Do\ܻJDDDDDDDDDDDDDDDDDDDD KDDDDDO׮]3u4ر:"""пaܹs:ݵkW3FBDDM9q֯__ zM6aԩziiiڵk}9r$&N>߿?>S*׳\QkwEhh($!11/2 Rd,];vę3g`χ#cС*^f O>}}HNNF>}ꇼFB&:tP/mO4 YYYؽ{Jrss(ܺu vvvÇ4hH,۷/plقzK|ȑr$ <<6mBLLL%˱vZ;PWWѣѣGdggc3f jkk/bɒ%Xz59I0uTQ2c S@DDD={7uDDDDDDDDDDDD-e=%8,[ cǎӧaccc갈) 64YEkDNv-cʕXreի[hk_ϔ;;;cXzu s@)S`ʔ):mJu&7=}ˇ޽lll0x`L>AAA0777ھ&%%aܹ,H077G]]{SN2331rHH.]`߾}X`Μ9z 4 >>7o^{57n`ann___$''G*m\^ZZ '''xš1 ]6l@LL "jU$Ը1[СC -Ym:|C """jsƎkZYUsB/^D~~>f̘̟?_Y/44B"""0k,#''GgëWyyyػw/ݻ͛7#99.\5HMM̞=| ֮]b\x{FHHN<>999֋2 B>qqq1b߿<==QZZ9s !!oQRR8q}(((7vލ())/u 1ODdJ_bbb0o<b͚5ؾ};&MhǣK.Ejj*,YlGpm:W<?޽{)))ǵkzn*&}t?zn%z ;v@׮];v4Zعs'QTTӧO'ш۷Gb„ *m7ǹB >fffz*B;v޽{ n DDDmKjj*F lذ^{F&yu<扈.C>5i\΁%%%jeIt9rnҷϚCjj*z?۶mSYfmm TWW\mݻwnK'MWWW|駨ʕ+oj =$W=Qk.el6664Gι1tgK """"i͹9"""""2=\vS<==j*e{{E߾}aggΏ?BL<;wVe1))Ij(PQSS#GÇ7h}.ƬYp=\;v9s =X!驶_lȀClT+0Sw|} Nsss+V@QQp1lذ6?CooPQQo43sL\p555w>c!6쌜W\A~~>qu 2D|ذas>STTTڵk3g:v쨵M,Z٨D^^aee&cJLLD=o###eee())ƍl2$%%B#҆ºuzj⋰nݺaȑʛ59^"""""""""""""e(-- Xv-:wݻc֭8q" 00 @NN$I$I=z ;;3/m IDATf \]] {077W ǏGѧOdffbӦMXhNPWW.֬Y^z }AXXѧOL6 ~!:v)S`ܹpssCqq1$I‚ TڔXv-}t pQ$Hې$ qqq;̙3 ٳѡC׿~7N}#j yDD""""O^>DYYpvvn\$=oz*}a(//GTTm!"""""""""""""j+$+wFXXΓUUU_MQyyyn2u(d"V?xƎ سg#g wDԖm޼֭C^^:nBԶHfۧ?ޡCԩS6u(DD-丟q8X9\///:uHQ[}nΝC߾}te:޽{OP߿UUUQK,Q)xkm+W"11 ,h.]Ν;v4.`ׇ.ODDDDDDDDDDDϘ=Oǭ۠Bo*7oĵkoȈ9'"""j>6l@LL "z&`ݻ7о}{ꫯP__$Ix$ňA=`mm{CŖ-[PUUw}DEE矇:tѣGܹsjۼtBCCL!CDDDDDDDDd[/_Ƹq,+**{K|ۣ3+++899aȑ8vX'$$(c|嗕噙reyRR$IBee%u,,,4Ec>m>͛7GGG8;;#88׮]!""""'QQQ'Ob̙Æ O4|߿?V廿7W?~ncƻĉOO&69yd{}iii lmmd( C?"""""""""""""2M@~~>>|3g ,, ڵ{gxGjj*F lذrrr`nn@Ν;ӧOHMMm48! TG!R?x`! @]]ƾx>Ftt4qmѣ0aN o%+۶mѣO<] CNN?{wUsّAA\?Le(& *k[ (j).s{r_J-JEK,K15U@8~xs={Νg3sQRRKTm 9ݻjVIKKئ\tȑӧ~ܹs&MŒ30{lCQmbF'N ;;/21x`<38<;D$IHNNݻw!I"##Q5k +66ݻwLk>ޛɓ'ѡCprrѮ][n!&&"##뫖Xr%B:`B $$DwΜ9FLL B777|HOOQDDDDDDDDDgφ75j]>V^4nڵΝ;Ѽys޽{uZ HJJBffjADDDD7d%%%y&FÇcذa())1ر$I LMMUY fff$IXIIjWFDD舐=111U3|4"|u۷ءTxx!}_TT"s扈 c„ IԩSyyoBDdX0i$$&& p5x{{]~~~ŒMLL:tŋ 8v`jy]\\j'ы/5]gX~VZAaa!?nՈvEuViii)U033C6m`=9>:AXIr~ ÇSOe;?8}~())+WTiC=DDDDDDDDDDDDDD2H'k׮ŧ~7o7 (..FNN`kk[mr(JH_b Bf͚/h >?srrdddF5eIJR"%""""ʼ'O1厥Tӱ pҥj&'''v~rrr0o<^Uϙ3g=z+g """""""""""""24.)Ӟ={бcGX[[Oj y""#33Sm¥'I<==v;vԈ(cLDD"Iƍ'N ;;B ((+WԫLKKK(J!//|vvv033CII Zz KKKڢeeee+QU|y[uݻw\m|&&&xFzvv$\wCJDDDDD!" I'Oũ9R"""uvvvz*Cll,$I‘#G.wСGjlAAA(--E||F>[Fii)p1|vޱUEgX~Vӟɓƀy{ZZFF~w5jNq*aX8[@.]'32ty_Ю];̟?=6lؠ5ϣG^ZVO2hڴ 5ujADDDDDDDDDDDDD/.)Cł6ӦMB+ܹءQ-5ODDTYZZ6l]?[o˗/Dze @>}.sҥhӦ O#G //2e Ue.]x7deeaÆ Xp!affXd 4i0|W?cBP-&3,@*>? Ç=鈉SiiiXf q L6 ͚5ӚSNHII;w7ogϞQ)--o `ΝhѢf̘GxB.c)Cgo3fʕ+(..Fvv6>=z ##Ǐǿj˫X|9233QXXӧOcZujADDDDDDDDDDDDD/>Ν;#GBDu<Qeee;v`|8JJJcXjN< I0~xl޼Zx.^I&; """""+11^^^!Z>9ayBCCF[n8qjA>DEEK,YйsgZ 7nŋ!IfϞzjL8=4i#"""" %IBo̜9"'u1^L0W^,\QQQ2d>3R16;@[;._2,Y YHOO%ڷoaÆaԩP*9?{Add$>#{hҤ 0zhׯ:w .<~DDDDDDDDDDDDDDIO=޻w/5VVV_ ]>y2#FgH蟄;jH.\}";;… /ܹsj}vbb"ihu[oaÆ !"2:Ig+ |"""9̈#7ͭ֎ADDD ɓ'9'""""""6ߗ蟄f#hbcce׮]swg;???j˺ufϞǏ^^^Z >ŋqAiӦxg1vXb"5ODDƦOQZZ> 7oƏ?m&L@HHLLLoa֬Y8z(,,,0p@|AHHΜ9B\j>x-_|4(JCǎk#11_~%BBBiӦjyslllЭ[7̚5 {nΆZڢER҇ nݺa̙-Zxwqyk׮Bk5n"""""^~e~Y$!i01v A`` 2dB$&&"22Bب !:w\eYaaa ݻwg:u FR'##]t]L\xx7aÆZ=?y""26}cǎaȑӧ~ܹs&MŒ30{J˞1cf͚ ^۷oǘ1cE!== ,͛1|cK.ػw/֭[,9sYYYBBBNӧ(LLLcj 7oƎ;_ܹSϞ;w56oެt9j'A+"##fffB ;v!ݑiӦ!** o>}믿ոjeل HJJBff*ODDnݺNNN'"x>t?#BBB0zh 77WkǏGΝaccqơCÌ3бcG( L<mڴѣG۷rJ 8 :tݻ!@HHN+//B{9&OWV]z5иqck;wD{iknfƌ(//ʕ+cĈ`ݺu===}v<~ӦM2K.j[jHKKS8p秱\\j1B"2$^DD]>}Zc_wwwʕ+ZT{5EjX @-:tŋZUgΜAVV[nݺ!::1b g---B?~\c?]΁C [nÇU˗/GHH5AǎdzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbFT*^[XXɁlmm<>"2,^DDy{{{HI0sLGݸqc&&&055EFMMMՎWgCTW_g Epp0~'L:Uc{u ##Cc}xmGXX=zuRRRp)L4Ik~;;;͚5ܿ^G"""""""""""""""""""""""""""""""""".i &&&xFzvvvʵRDQQjTy""o EaĉHIIAyy9Xj@aYZZfff())B_޽ zl޼۷ǖ-[m6gݻpvv}ܺh1c k֬Aqq1VX^{ Z?|Py>?ͬ瑈vޭZk#"]kꓲ2hڴ)$IqPZZxm|ZnZ;6 }llln:#GҋqIX[[czSLb رӦM4QQ~G͛7*3rH!S+UgA@@QK]t ߿?7n\!<<Bkl3vg'NDDDΝkP7n`Ph鎋eH5k ??7niЬYtRiӧOǑ#GTL2\8xQ}bjj oooddd`Daa!N>q.] WWW曈CNNa,\033>}CذaC1iaaa8|0򐒒ѣG#==111prr븆jL2ֈD߾}ѶmJ*J̙3 ((( 0vXXXX &&N&"""""" !P^^rcUnn. aÆaԩ{+8ŋc޽ޙ;w.^z%\xG+B=z; """""""""""""""""""""bcc1tPkkkk@BBuBQQ,YYfsXjnܸ/B$̞=R+CTT$IR{xx3z·~֭[QK3'""cKLLٳ裏{I&ѣ_~ܹ3֬Y@tE.I.]=zgϞjǂ ЬY3?/ԩSqD߾}uoii)BT/33M6UsθpF1c >>^c'PQF֭N8>}[noz˃B舱cbӦM1cFP(GaPZZ_|NBU u7ĉ7o4vTƍR˖-CFF͛gPjE}ocsww; ((?ADDDU9!"""""""""""""""""""""m%VpRĦM4ҵ-SYYUVªUj<[ndDj IDATX~mK.թ }&M`ŊXbEy7ѱ>I֭úu4ug9x딷{}pرj<543vDDD'Q&͛ѵkW;2Cb߾}8r bp .IDDDT5{{{c@DDDpL"""""d1c "jΝW^yaa޽6vz)--g}͛7DNNڶm & $$&&&j^w}OFii):u5ɯ e>x-_|4(JCǎ:tj[na8~8LMM兘C,^ĝ;w`ccnݺa֬Yݻֲ aee(..ŋw^ﰲB1qDTV=idܻwÆ q{˩\Oujj*6mg}cǎEpppUј9s&E8p}]?eeeڵ+н{wٱfggk,h"DFFaÆa:_Oի;w.N<,Wlmme<"""֧۫~7̚5 G?999 3gP(+WV<]$ISSS?#"""7vDDDD ƍQbDDDDDD͛ql۶ ۷o݈^8vF%K`޽(++î]T,_\_lll~xyy֭[Ǎ74ʖ_rLOOe˸}6~mxyyԩSB``  ٳgc˖-HHH1j(?^UvFF^z%۷=z@nn.1d>}޲OO-[ָu\m]XXM6W^x6mڄ7x Ӻoept+M+V^/ǣO>/ѫW/YA???|HIIQ-jff!^z%`ԨQtɓ`lݺ?jqOEz?}i3f9se|xWCXXX`ѢEh۶-v؁z Xr,]+i :v숳gj%gGDDDɓ';"""ĉN݉X?v 33{ IwB$DFFqDDDDDO퍈!!!=z4bbb7gdgg#&&B>ck+7.۷ocʕ8p  :tݻwCǙ0ajȾ}IIIT+֭[Xz5иqck;wD{UY'OCׯ˗]vzCnU)cbb[[[899!225* n:9cL6MrQ^^ݻ1bZfϞ ooo4j]vEii)eƍC$M"""[4~xt6667n:t耸8̘1;vBɓѦM=zTm_}1>PX&Q=6a!PRRdtԩҼBEEEaDDDDDOӧOkW\Q;v 0`...Z_rˌ ҝѡC\xuEuViiiZZZ8~xw}I&!11eeek׮[zm"6eZ*Oc[\\.lllбcG4777 99Y$}||ၭ[Ç˗#,,L4\Ozs.PXXkںo}k-ZPgc>PX&ɖy $ $a̙G+++( r5kZn~]CNNˡT*Uuׯ_(KTmee[[[UiڵOqMqU-)D-]t\յ!iM.wGn:@JJ L0A-llls.JKKammO5ڸo}Zƍ^5RK755U3c>PXU}[lipݻwڪ I}^T}>U\QQQ733SZt>IY'1cǎUe쐉;~Pӵn߾#77e5~.w}{1vDunРAXh&NCUVKKKڢdee_`gg333@wzŢT*QTT<8;;WY$I7nN8lB \Rv=i͛s(,]#Wumm>TןTH>VFVfcŊ8qŸ^{.rss!PjPHTiy$""""ׯC$tMv>ԤP(4欙2e .^h05ax饗T*ann 8k֬ofugDDDDDDDDDDDDDD52u!ݍJ7rH!cP*|<30BdTy"@!0dȐ:=#HJJ\t aaaKHHpBZ}}p8`#GJDDUm0XN6t<==ѿ4nܸFeCU볉'"""s5v(Du pvvFhh(6mZdP#رcj陙vZBnAAA(--E||ƶ>[Fii^ :pb>cs?klpMC %%%z*.\Wo=zdh2n8 ĕ+Wo W?]>K&""""""""""""".I(//Gyye( ÀQQm5ODt0KKK888`Æ صk!""zcڔAaذa:u1`ػw!FFF/_LX~F%KI& W_}|;v, EBnK.+|M!''YYYذa.\hҥKѦMCJJ Ftɩrz-\|Ÿ>-[!W=䶑;5kdmC]cǎ$IuVmTӧOǑ#GTL25^,STbΜ9HHH@AA.\c111z]aҤIP*D`` Zh]+]bпGDDDԐȹWkr1:uBJJ ܹܼy={L"""""}O?άKuΝܸLMM!CԩS5kn݊QFAQgqT&)) v1k,lVVVpuuŋߵz|Cd"""""""""""""bD7nѣG ^DDvL<)))Ig.]uʻ{nDFFrDDDD/},l2ddd`޼yV76www >JKKQسg&O>...hӦ >S=Я_?xzz ҥ f͚_GHHP\\ I0aBn͚5SiӦxgxW$ X[[{$>xxx 쌤$5 ppp/8q'Nj=vX_g}#GD&Msرcشi̙Ч*}9ըuCPu՞FHH|hݺ5!Iq]H*ۿBG}A/NB^􎻂-&M!yytW%I(OιE׹^DDDD {ÇC$HwLzͪ|).\Ipqվ>Ξ= I_$aի /Cpp0bbbs7#""""m_~%̰qFmL@}t_|vmpp@nz\Y2̪BDDDDDT H,\#Fs`eee찈*%͛ѵkW;2Cb߾}8r bpj#֯_uҥK5ڵkhW[f&Mb X2u!mVZUVU'002+mR rh֬YOpBx䔥k}1cԴ@mp۪:*H>qWXl-[Vv9ע.JNNsNQC&^) @/}U+}on;#""""M[l믿OOO |2=;O$L:Νúu0j(ꫯT^Ya%4d۷o$Ij 44׿`aaM"((.]7** PZZ>|pCɓ'!I:J S_>Č3 OVk+AV1ի R z쉳gjmb̛7>,5j&M`РA/PVVf3]{EEEj۟l7KKKl}֭[QXXhHǫ13z'y'R$Ihٲ%[[[4j{F||>سggggX[[ 111(//([222 ;;;888 7nܨW?>˗/#$$D}~7X]/}7ik_\AJ[.}>}c99cP9}6JNNƽ{^1uucTޣBRE.ע=;v?~\:5DJvZ=hܸ1-ZT2wun޼ DDD`ȑp!k7x hVիR٥.sG r>s\D0D9uٳ'qq̙3ZGnOC̫;/ϒ$g%Eץbƌ_~"++K&K899#G|>|% w^^^"))I B9sFСCXd<~011eWXC QɓqƢK.:AB$JDV}vUzBBpppPW߾:~WZrM!ٿݴ}yחe&WkyN^ c~rww?~e@:$5;v077XB׉RK=z SC "::Z#ų˧Y۳K9usWٳG92 9Y2=zuLCI[OĐ!C*>?T =^yy|LDyDDDDDDDDDDD$۵kеkW`055U ;;;Cx"RSSn݊._!!!077W5iW_} ѵkW(,,™3g,--B?~\/v8v`j...h׮F~___|w4iQVVz9sYYY6*Sn~~~sY0y^Dd666رZ\\\t@@@N>;JJJpߥK-Z鴿+ӭ[7DGG#F@aa|}OױUV(KA]7jS2StgßTN=QQQh1֦ǼޣKaaa033S{_\! 33JY !D ,0v* -^j5cQQQo˸~: o>cYYYk׮jiڞ]Ƴʞ=yY+㭎>eYZZW_Ell,pI9>رc?||Cϫw%2e?-["..۷oW^\\CTB$pu>aaax֭[HIIS0i$(++Ν;۶mëQF;vڵ P(jqYYYV\'''P-$bJu'5kL#mڵOqMqUM<0$}⫬ڍxUO^DDagg5rrr0o<^͜9#T*^9(//׫<}"88?N&}uWs/r IDAT/Ԥ̚)Oe *D-b̫뽫>yo&LP˧}CEii)&=a˖-˃\kI4ҟ~vYf+{(g^A]g>{,KXӲЧOڵ gFYY߯ӱkc^s(,H>.)N8 'NDRRj%`ff![Ϙ1c5k֠+Vk{{{I&ضmZ\JEEE(޽{%K]XZZEEE؞&Iƍ'N ;;B ((+W鸺'ʩݞmB 5l*׼&^DT>|!Fzd݊ɻ ¢E0qDBZ 4hm޼۷ǖ-[m6m.[n/@E]MDDѵ/;~1x&efb>\1z͛7|c}SC{W}UVjK'N2=BDT7U_@lٲÑEn dv}6:;&wŞ={աLEj<<IiرF|UEEE;d"""ZQRR;v >>^ݰ0m+}:t(ȑ#j8y$1`p1L\vM#^ 077G~ I4b2Uݎ=ӧOWnԨ?~zݾ}{lܸQVT y^DdEEEj 5?4y(++C||<M&~j-!P(g֭nIr{/"n""ܾXP㝚Y}!p]Ǡr!y@jjƶ23Շ(033ôiTKwFhhZ}#\ܽ{_"BءVUxgSB[fvt<==ѿ4nܸΎK8q""""0w\cBDDDDuBgT.]R--_BB :*۷Omɓ'҃)Q9tK/i>~x]4#99Y-M۳K9k2N̺cС1b^Vܲ>C[ >K&"""""""""""""ˬ_ؿ?|yyyHIIѣ*iK,A&M 1vX( [|2q},[ BE*ӧO888T:iSnӧOǑ#GTL2jM:uꄔܹs y&z~5k<RĜ9s\pcǎbbbFFF/_LX~r09Cذam.[n/]u7_ 5ީI٧e *r͚5•>eZ;v,$I­[m#9c^}z"7 &MRDdd$ѢE B.]_UBEB@=nqJU\ 4Æ ԩS02z+8ŋc޽occ6l؀]v;""""7|?<^|E?WfccSܹs>y`M}Yq}>>Xl|MرC!$W^Ν;bo… y\?ׇEeSKK .d%  6'hj-H2Mޮ%[. %*" *r~t8g3s39ooo7l6d""""""""""""""- 5ɭƍ>H:tH%}„ B!nܸ!bccE.]h۶2dSg=طo_1;v555J鯾 ?"#:w,:tyԵsԩSbȑZ޽{۷qoBGHѣGann.E~Ě5kTQ{Nىj_nZX7*;yx焅СXrFqM}}U???f1fE)w-pss:tfffbbJy_."##Eprrxw:oooEafϞ-*AAA AkU0އ[A%]>M(~ڵjcoݺUg49/% Y_i_r=EYM[YyoGfFFF"??QeiUUU ~xͻl2cZZEnܵ~m@}]=D7Ǝ+eZ/ZעGV ѿկ-][C={vsj~cǎ۷zDDr#Gعs000VVVԩS*:cK)L}BDDy_z|]tI^߾}U;wN777O? KK:]ʹ(3wq+-,,T$I[o㠫$-Z߿_̘1CW ###aee%|||ĢE۷Umsݺ\^2JkODDDDDDDDDDD_B C ֮]+W";;[ߡ5ƠAPRR{>~i>||YYYFQQ̛oddff"00Pc%"-K&"]j-k#Yz5bcc5'""q~@DDh7|-[`ʕMZѰ.]zTnٳg1zhMԪTUU!-- 3ၤ$(%$$@$Hȑ#1p@8p@ꔔ(ʨY`"nj#7n@ll,v o ºup]Y}S +**;y$`cco.ԩS7niEEE8p ###~ڴi;;; 6 {3#$$ppp@pp0Μ9cz}YEΝ;鎎 W^"MQ1tMk +++888`ҤIy&Ο?Ç ...ǭ[Tb~:ѩS'im۶ѣqQmڵ~ """jȽ{0w\t氷_ZOsi2?nH{= 2+4:).r vͭ븉Z K&"""""""""""""jnG)))5j˱zjܼyƍwXDDgϞFff&ʚWٳdڣwCpB,\Pߡ5;w"448q.]"..NoƌB%%%:u*,XB(..?ۧU~ulmm!СCa``ӧOcΜ9###! 6`˖-{ƍ"eM]F !FQgrL<fB~~ھyHL<.]BVV e[;6߿?Bk.55Uw9 ??iiiؽ{7^~PsQAB[)c۷W՞Q1tMkcll,fΜB,_ׯDŽ 磠CJJ {=: лwocժU(..޽{Q\\ ___:tHmnnnJcCDDDSL+Vƍ8qw#FT|9\̏6deei|L-lذ:t@JJ 6lPo\h3m6kd"""""""""""""fz;;;|شi5!'""M$$$@$"??$)DM>>X~=߿S6:bccQSSDŋ;vܹsHJJBpp09s 00Q}#Wii)-ZRѷo_TUUѱY˗#88֭RSSh\zU帰04AAA8rSS(((ب6cƌ:|Q1oдߵ7ހ7,,,0i$#33򂥥%"##ѹsgرCx\px`ii wwwlڴ BDEEgmm IcCDDD=1x` ˖-CnTs>sbQSS،SHOO1"##q:6E} mֿ2n""""%57ԣ0!PYY\K!Qy""Ԍ3_Y`â& g~H?iIO>jңs-88{QIDee%?򚅅<<<\ؐ!Cuƍe˖!** A[n 6LLЮo255E߾}>}-9 tݻصkq{VC+W4:PQQjϭS mǤ1K~6F]]]զsFF  www*uݻj!"""#00DDDP]] 8u=ǜK]5݋bj_~!!!oرc6E}0mֿ2n""""Rob;p^|EO88;;H_<$ ۷oЩp\ZnIDDDDDDDDDDDDbܹKio6Ν;*<kpڵFW'&&wUyyyؽ{7"""9:ͱ6#::!!!8vLzS]tݷ]jnHUjj*s4sQ`Ȑ!J'NW_}2!==T===>5mƵO?4}&7$"""""lڴIڍEEEJ_ٳ'***'I|||z^^^*`}LDDM !!Aqo߾ÑEnr[I_v(++k:y; z >Gxx8PSS!>#B7nMرvCm3a899O>{W^]Í| lllPQQ[n՛WTm6^ut֧z*YVb``﫤__]\\=>!!!СOsC1FFFB+++B16DDDD!I&M%%%ȀGFbb"ߣ0SG9W})))x'׿^kʵY95Ys7GDDDD^NNm/C$*,/2 >/f}JKKrJ<3077ƎbJWSSӬcDDDDDDDDDDDDD:2H#B @ߡ蔣#8r?FSgCBdgg7wڼyҗ"##J!!!zʌ3 C׿o)ŭo跣GC uKx#8pm*6H{nUTT(_~7\r*ͯ &Ok׮?Ć 0uTMdԨQ;vֳgOL6M뾑Jirn,͕6|'g[Om}J333 :TuJix\|YFFF:u|ܴi49qѨT^[d :v숪*ڱ"""ưɓ'+k戛TK.R9s>>>:L7O*WVV~DDDDDDDDDDDDDDxgϞmzxG]NNQdjj 6^@dd$ѭ[7}ڍ4iӦ&Hp}!ۣ.-];wCi<==1fL>Giii3gVXٳgÆ `FvvKKKXӦMQUU>}`߿JOHHo8F$̞= ,P9::bĉXf bccn39  ** /_# ;v7jcQfff0aܐ89r*}___r?d c|rGT IDATGRRz职 q_^qe_~ v<%IRAAAؾ}{9`TTT`ѢE9s&G̙3Ɂ$I|Pok ҥKq_⵲BDD-[ӧY1O4hq9r$z4./Ƴ>$Ix0oIII*O`5i|8mۦ?=z@hh(abb|ؾ}HHHԩS1uT!-- 1~w|Sի rJxxxxW3gI{n jZ։'Я_?;./`̘1֭vޭU1i$,Z*9۶mSv#Շ7T7-((/***?<.\>ݻw+m_[#~‹/z ?"o挋-›ojlܸ111ŲeԶgј5kw 0l0iO< 67ĴiӐu{RXXgywAJJ y">>[ng}06 0C>}o Vu]Ο?^zaɓ'oɓy\|ׯ_1cؼy3}Y!!! سgy<.ZrlxHZZT/~b̘1b̘1Zw-˲e@~I KKKaff&nݪ@E@@011Q?+333*?K6mk׮wQ u G666B!Ő!CСC }xΝ;'ƍ'lll OV)ڵk"**J/Q5J/)22RJ7oT !TJ饗dHKK{ʯ6m NNNTbÆ :+>?ppp|CiΜ9#t"f͚PZGqNDDDud57=^y_jI+@?^W_}U׿igļyTwY/^T*_Vۿ@\rEf@+?)?\V+3?"N\zU)MeܸqB$qM-3}t1}tr.]*+W&#FP{jTW^TDx{{oQJ3fʽoF=qDall,JKKՖ* b߾}J;wO>dӐ_7nTJLaǎiL8tR_UJu7 vvv عsg3ϨwMٳG)BEQR5tQ2c !鉒L: ,@aa!~ӥ1b 22'OƥKCCC>uwHMMERRpa# )))N> ___dggc˖-z*VZ̙3JΙ3BXXX(Booo6ƲqFE,999kdE?XXXB@*Ҽ6l@ 6ԛ_Ӿ}xbbb|ax嗕.((@޽UV{Eqq1|}}q!CN>9s /6l؀-[>'*n"lΝ ?N8K.!""S{M0}Mi~.o: 0o}4Cuo߾JipuuEnn.  ,TWWN:??W1}FDDDDDDDDDDDDpL""""Xj|}}aaa_ԩS???o߾#q9,_Fnݐ DGGիnII 0x`XZZk׮à %)) ̙F555Mt#22'O3}PXXbl  9rEEEJe_px`ii wwwlڴ BDEEi>͙jjj~\xcǎU9Fs)&"j;;;8::"** ǏGRR k3/x6y?7rbѢE߿?,--5gjxrВmllT^1cFc~~͘7rho4iݑXxyyܹ3vءt6-kkkH9==$IjG뒐I|H(W듑;;;|شiuԩo߮R>jJK,Ahh """j:#y4]rMDDD.^ǏSN޽>0s^zAm~IСCEB<*soΜK~ Ɩ t9Ν;[n*_p;w"ʕ+9s&akkuĉ=z(򖔔ٳjt-Yf!998p lll/T۟ gjj l3p=666*?C؇iWUZZsvvvr~m;w\)Pƴ155NNN|P~@$v3[]Yr% ={F``bOmhgDDDDDDDDDDDDD7$""""j,,,T>\Szʴnܹ0tPj?+Wm,Æ Sy-33111CӾү_?$$$;v,޽6OQ)~ [7nP/[ QQQ066V9Fs)&"jgtOOOTVV*}f^ m\}UJv6ܡ%V@@z|Q2cR˥IkﮮjTYQZZGF,3fP9~:_0!PYYz6S5}DDDDh|"g57QsU{Aصk1dn@yu/Q/~~~h׮젠zڵįvsǜo^9&Ν;رvmǤ1K~6Fkkk `hhssstCCC3ߪ'""""""""""""ҋ&yOquL2Ey^NN*.\tvNuyo޼ WWWYFvqܻwOe;wll{EEE*XB2׬YcСɁ 'Oz)ƍѱcG*+11/\+++L4 &MBuu5n޼ @~߃M0ѣG Pymɒ%ر#d[]]h۶ MPC]gԨQoV)޽{aff0Ҧr*or <==ꊭ566IT677?tQk2Z7n}ܧ^y궉 PQQrj000P`_Y<%<];%%O>$_kM~=L0NNNOp=|xW`gg6&dsMD >Gxx8PSS!>#P{>y~]伟k7rM;g&^s;肦sZK'uOHH:tt>l"Pc5wη \p/"J; --MaQ xE>-ŦM>DZJ[JDDDD8;vDHHxbʕ+Xlf̘c>P,X~=pDFF/1l0n8~x۷+VkP^^ СCW[v^by~}4y?׶o*//W6s&mfҔsƒ3oSO=/cddS*M6!::Z)OsCoՎm׿VѣG!Cں G||<}]}BDDDD-،3 kXK<(44B4I98 ̙39\]]عs' M6999011۱yfo8~82220{l׮]w}IIIh߾=tEa֬YXv-$Iŋ!Ibq7s0/Dhh(Ν 1;vT<oȐ! bн{w .?^z < ^}U#GDll,X^{ h׮:uꄅ "..N~&I|}~a\rEIm6&N D۶m?!IF I|H9s?F)Sm۶޽;+l۶ ƍdeeY[$IXd ??'QKKKCdd$VXWWWt_|Ə#""""""""""""jC҄d"Fk _3f3fàV])lllD@@8x(//GO?hӦػwR#Fݻj+((;wNNNoeeeԩSbB$g)>}Z 777[ܺuK?~\ :TkN?e@XBܺuK>}Z7N ۷2q%[o '''qE@acc#.^(<(` 8PۋC5W!9"lllͳ~zhҷB=Vqqq_iW^]v]t;v%%%ƍb\odd 233mׅ$I IDAT1|rMDIMQ .]*_.ܹ#v-:v(?JkMm^6}.?===xgEVVVLrmh;h~3k555]vuQVV&lll$Io]ͩADD}Q$z0HGJJJ QYYPQODDDDDDDDDDDt&݉+Vw}굦OеkW:t{Ƙ1cЮ];꫈ݻxz{  ,, -R7n@$;J **J͛7?cǎrzvC4}wQQ$IB޽QZZ I6 [oiݷk7uŞ9qDHLLD||<5g;uUkCC:Gkmaaa8|0\6+++DDD@ӧͣh: Ѧ9s Ik.TWWC$|ؿ?$I¾}pmHynuV!((Hv2+++9s;vh.]B̝;Y꣺yzzb̘1>}:=b{-ADDDDZ\|W^C!7|-[`ʕAO=Ο?=??;v""""""""""""""$1 ipC""=.Ǝ ؼy#ք]兢"\|YߡP+vZ\u9IDE$5ƺM]&^Su} O pwwGpp0V^pZ\ w8棺߯PJ</Z7b#Qu8>* QQQ$巔85/=mۆ#G>Szh4=Ο?)S 55!O= %K`9r$/^8}F(""""""""""""-m6wDDDDDDWFll "f>5|7زe V\pZgbшFs'Oȑ#accsss۷oǠA I$IBXX"N:M6h۶-FG*$$$@$ܾ}Pcddq\$I[[[888 88gΜQ9ƍE׮]ѦMaذaسgOe?̽{0w\t氷_Z.Ms۫WSVRR$IX`J)}̘14 <033PSSSgN:qAVTT$cm.\@HHI&͛8<+++ <<nRUӱصkW@DDDD9sշ#&&&h߾= uݻ|r,,,s5&'ODPPb8p@8p@%&k1m///$aȑ7_|Qox{{%GYN}vn# $a޼y|pqqӱh"̘1CQfDDDDDDPJJ Fr^7oĸq5^IzldffLJXp!.\P1si";;kװvZ$%%_ HIIwHOOǪUP\\{8t`ƌBBTUUiȑ#!#111A~~>Ұ{nJwHMMERRpa# @ю~Д)ScŊqN8ݻcĈ4 8v}4[[[!>}sA___b˖-;w"448q.]"..ξɓq%deeа@ccc1sLbX~=&L̟?7oRRR{))g,j) թo-Qٸqb=???kHNN oիXjϟ4>'OƬY~Ǿ}TZLn^""""ju릸PXkXKlD:G:߸Ru@߾}w^ܺu ysQ2ZH\C$ņD;;;|شi9ID$I k.^ufj>-y:u۷Z/j}Ԕ,YP}AYfIII>>X~=߿S].mDDDDDDDDDDDDDDDDDDDDfDDDDD-̌3T`}E0!PYY\իμ<'5{Gzr˹|8v cΝ;CUJo۶-wﮒ?##VJwvv;rrrp&wJwpE֭[AAAJyMLLwb׮]"""YYY:u ~~~|r`llR_@@zuƍe˖!&&Fis`ٳG OOOTVVjԧOz۬)M@}||~wuuUTyiddw揄_] 6LL7k*{sϽ{cjj}*yxx ;tn#"""""""""""""""""""G7$"""""}Ey{i =vKDQĀۓ(BDv,^n56E)(ƨ1'EABRvW`Ꮭwvμμi$77066L&S9nee?==$Iŋ7nTHr\uZJ\RYf n݊۷oTlf]궅1 //:NW^aڵDOWʗ0iVVVMxU囙z*%F zzzׇRR}r]D'"""jB1ʚOkYs6U5$I*4b5o#"""""""""""""""""""7$"""""""""## 4hp$F9s&uQcddsss ++KxZZJ~KKK //BbzxOqT###r 33SGvvv#IFXx111B˗/WԥI[ԫW$3tP4lWFnn.-[cp 11B`Ŋ!-V1*;FmKȀB7DDDDTs3TY7;~-k3bDIsFseUcBQסT,4mޕVKо}{xxx¢꥿ $$gu(D5N߾}GUJOMMEbbJ~???#..NŋѨQ#+LMM*^7o7n,U 0pa\8q&&&ӧOeXZZڵkCCC111$I\Mڢub400ɓe˖a׮] TSPP8!00uUlF]9U]Ũu <WQ͡_SEN嘳3>s_K=yׯ_:VueeeJi>|GGGcFDDDDDDDDDDDDDDDDDDDD]@DDDDDUL&N>PUsUmBR@~0p@L8R$UطoѦM 2D! ,@ll, ꊻwbڴiCjjR g}իWs(((={0opI,]~)kbKW1jz]7 .u*~d裏  %%EY&lÔ)S ɐv|={˗qatIaĉD֭`̘1UT]XyۈjuDDDD/_GaUnIDDDDDDDDDՂ9nݺUi-Y :x4hN ???M͈b888ٳ1c |899a…3g?~ϟ1qDܿpvvѫW/+WD@@Zlڵk#** -[T+x*^`֬Y$ItgggxyyСCCBB"""dSNUl|(=rHl۶ ?#֭[aÆ!)) h֬6mڄ1ch$K,ÇQ~}577رctRL:6Fhh(VZYfv۷/FEwh׮V^vM5MKf͂/:tv .D׮]6Z$ sܹs5.`߾}FmBDDDD?u6m=$a֬Yh߾}s7#&MBrr2ԩݻFFh6x{Ζ֭[cΜ9XbN8I0fl޼χynoo˗cƌHHH@AA\\\pItEub-"""J*עEt{gƍRI`ݽ{77"Tb={8Ixћd2pi]BDD5$IƐ!C+Byܟ$''<@z>mQUܹ#F@LL |||t*㹦.-Z@vv6*,==Z7֯_pj˗/;vatQ<%"""DDDDDDDDDDDTuDDDDD,&&$)~_!CZ#::{LLLЦMDEEP\E055Eڵѯ_?8pHH/_"..NQRY?F`` 7nZjnݺåK4>u"""z_\v 055 :^z)Sս?k#""BQ^׮]GUשS\cy{p] :7nݺObʔ)ppp@Z`ee}ԩS%8ɘC~^o#8::*^x$I+4HΘNUE1&%%aС0775FϟݻׯQ^= 33S%VuرceTԮ]yyyJwŭ[гgOEVr-Z?3 88BK.B@|E9)))Сvލkٳg3ٳ:qn޼ WWW\p{EZZlق(\rFFFB`ԿsVhh7yzzBv)G,o ::'OÕޓ:`ǎ“'Op9]Ѧo&u \zРAE%􄞞n޼PpuuŎ;w^_UDh)S0}tbʕضmF #%%s͛1g:5"J}CD7n߿W^:t(,,,0{l]W8;;… 8r222tNa̟?u(DDDDDDDDDDDDDDDDDDDDDDDDDD7$""""f̘777cǎG:unnn ԩI&aĈR8ĉhժz bҥh֬F )) ˗/ LVZa׮]B`ҤICyEDDk_|^x([qܱc^|_{juWWWW^BBBVVV߿?6mN㫎7nCBq>Xx1 0jnIDDDDTŹSN;::"//"gΜرcv,111ӃRZj_~jCyEDDkGG)nݺhѢJ~mM^7lCEھ}^^^Jyl;vzsh/999CCC쌯O>U/]AAA000Pi2{SI+Mؾ}{/6^>@dggOQOFoq"55۶mC**7$""""̊MOOOGXXڴi+++HI0m4Wy׬Y[pww<==O#77(,,\.WWsE7>򈋈Hrss cccd2VVV*V7r\uZj+cccZj=94ccc@^^^uN:^ڵk駟ﯔO1ݛJ_i>x-,,^A__JJH~~>LLL=}""""""""""""""zG2Ls]Iu ^oLLR}E_zixo X۶mSC)r HN:k 9sR7nIDDDDׯDB+V$aшŋ/!|rr%I*>###XZZyyyBӣGA*####''YYY*TkzO-\xی ˑL=ٕZ:cM^z^o$YCaÆXz5rssl2lɘNW*;FmǝB(UȚ )) GFFCvfΜh]ADDDDDDDDDDTVV~W3ϟcƍ8{,tr_7MW IDATBSoڴ)iBQ˰n:!?"[l;w*,,ZH^? ,=TPP8!00uUl\׮]wފoU?|R^SSS 7o78:/^F!??_$.""o߾G*"11Q%^zxJ+6ER 77'N Sj94֭['OFZZ-[]v!00P)c:]Uڌ;㢾!W2FVW.]B ]S $$gu(DDDDDDDDDDTr 0˗/G^^*G&k׮z(,,DaaN/Iaa!n gggmIDDDDDDDDDDDDDTpLpUt%"z? Xt)S٩Z]yxxÇXz5p-L<666XpB4iAAA8t233#F %%QQQ-u􋣣#lllp;v,r9BCC {{{ڌ*bfy%i"8Pׯ':}}aؽ{!"""""""""G/^q4177ǭ[w:%= _n7hEDDDDDDDDDDDDDD v!Š+0uT]ADj,UMHPZ fBڵѷo_1-B޽Ѯ];\p?#֭[aÆ!)) h֬6mڄ1c(rJe˖]6вeK Ο?cĉ>,--W^&qUe8{,f̘A!??NNNXp!̙Ǐ+WZsY"##1m4kI0k,DDD""" `h׮VX[n_~$I1c-Zα7F(E$E3p!!!! Drr2LMMѩS'*69r$mۦC~$ Xd >|뫜9ƎK8VwLzjWY:(… ѵkWV%Iœ9s0w\G`߾}FmBD+ZH.,YT:j ԩS7"66Van߾ys7?&}W??ĕ+Wwߡ\IԻwСCaiiIOOL&C!˗/5A] \Pj/_{u(T <xQ I1dȐhHJJ򤧧UVuNve8;;cǎ6l!Hs͊zn ~L'''>}Zס3'''\]]c}_ڙ ccc?ڶmFTFJJ cx!r9u놰0899)n:?ظ={{{{?A&MrJ|*vϋ/`eeTOxx8BCCCCCEw^h߾=KlO"*DDDDDDDDDDDDh)۷n*7<@xx84i &:ݭ]W\I`oopj)T=z@ݻuF訢r#"$$ظq#'NĞ={gtN:777b'0ebʕGbذaX`vލܹAAAHNNҥKV0c |W8w ÇZ !b3β >+~7DGG+>+HII+rrrW_ᣏ>BRR'OqرhҤ `ԨQ>}:>4sY_>BǏGbb<!йsgL8#Fд)'*ЦM$IB$q]CDpuӦM*٠AĠAtB"::*?%%E~wx8wpqqkn*jsF>}عs Zttk*r#b}||ę3gDVV8~011:tP)Ltҥ:>|( [[[qa)^*w.ř3g{ԩS˗">>^Ǐ !pttfffU_BBEZ?(/%%E4iDڊtquWTGGGaoovA@,X@<{L<~X|BOOOWh{S鉛7osuu;v}J=۷+ir]js [n#U<*NE?D$?@ԜQ~}abb"RSSB4iDtYf͚SNU߯*(H$Ey<(T5j044T콴gBJ#FTֹy؛ =\GLǎĄ >}Zۋ?ؘEǎKjz'hΝC׮]ѡC̛7OQ)m۶ҥߞKDDDDDTHTܹsaggXx}п4mϟwWR,q8t,,,tGMŋcذaJWWWW^BBB\\\gƁ>'"ݻx":_$ ...(((P,%"'::NNN011QlpJɓ'J88;;#''|$}kiT+퇛$F9s&uU#%-r,o{bKf 5]LZZYQ1tP4lPic@@GYիfU).M@W^\B(ڝ&۵km噿"bm#uTTՠA]s """"" 0pa\8q&&&ӧ_t5!zHwUPP8!00uUܐKɓ'ƩS~bӶm[$&&8{,n߾nݺiUEjܸ1݋Ǐ^>39rx6l؀y!22ee|g%oݺ5\\\oe„ 011Ahh(z>#"""""""""""""7ˤ N:)*H7.^Çc޼yS"jhcɓ'C&& FFFƆ sNADDTd2tUaKBVJ}ׯ'VJ{n]CD@ikr9 ={/_ą 0j(ԪU QQQ|.&}[y/;v,r9BCC {{w>8::/_2q5 $Ν;jWg& J5.5.]P993DDDDDDeCBB@X[[/_Dll,yGhÆ CڵѲeK=z6m_|R$I044Tdpvv߿$E%qaժU_>4i[bĈ޽{}+Wć~-[bСB˖-I~P>nnnC||<1j(ĉQn]h~-ߏ!Cڗɐ$ U72$ ϟO:u`ԨQB`ʔ)GDDDDDDDDDDDDDT4_)Gs)xyy8p"#"sA۶mѷo_:tUu_}v|7nڵkf͚:,m2]vU`$DDDcnn[nUZ}K,Ajj**N*# SOو(^`ȑ8q"\]]g͚/qvv:"ǀlkV,rX@8|L8߇%~ R7zd2Z 9Μ9|ɓҥ"_b҈"99ԩbccѳgO@dd$Mx$IsFhh(VZYfv۷/FEwh׮.\Pn)sss;K.ԩSͣy^Z$ Xd >|<d24jHv+-(ݴiS Jս.{{{xyyunDDD=TuFP_\lXbVXQj>GGGq(((PI(:uX… UҚ7o~I%SN%~TRΜ9aÆiToڵl2,[LA%[qey:y]]]qE|GjKDDDDDDDDDDDDDT_T!p=tQXXX: :"/8t"uر##(B""jUЧOb޼y|>>>*ƋK[tW"", ,mAdIZlGOŤ.Xy-,. *Kd,Y㚜}1}t/͛Wbٕ׋/pY9jD_v_dAץ&˗w^رe'""> """"""Hׯ/K*)>>$}*ǼpDFDE̙mۢo߾*\\\ IΟ?Ȉrss-ZkF~p /޽{&&&hӦ PXXI~ $IBNy?~@4njBݺuK.U9ϙ3r &M{>})SjՂSN){ݻw1tPXZZ޸uJ/^PC$DDDxݏo4 4@BBannSSSqqq7ڵk\.)\\\p!K7__E/_"..NQ߁PlNN☺uxӣGH[2diO<>6Ƥ$ :氶ѣsܽ{9իdffĪX pر2ہ8r޽{f!@`` ,,,*3,].(}6aÆ$"țsv333t O.|MC2ՙU9mT3m|4f[Aիkdgg_Qh|.ADDDDDDjF IDATC$dJs0`~z<C )1̙3EDDDDDDDDDDDDDT  *5kVÇ IDBBB%FEDE$I%i֬ ĨH $ 0 B.^zJ`@:uJX`xx/V)GJ>߄8|W^ݻw̙3jݣGQvmqY'$$\xcѰaC@l۶M~YammޔѤIakk+<(ׅ$IlڴsgΜYYYDtСcܸq8rH#͛7U۷+9:: 333ꪈ;!!A|ᇢVZ~("::*ƍRۋ^7W^nݺH)D.])FMgc;Ѥ-mcwءx{ԩS˗">>^ǏoNhp[nD߾}_EffX~ >s2K [nj)q à7ܹsGxyytԟ"t"^Z.mڴILn:ѴiSW{*꺜>}عsgKD8dTܜʕ+C4nXeήi~uhZ0״J{FiYꞏN;Д.h|.ADDDT1*ue<'""mڴI?C"b"""""""""""avLBxxxqy{nxb1~x)7o.Pj$ooo@͛ OOO1~xxb{nqy#<<C&md@YFﱍ5RڜJ1w}MhcjJ?Rz&MD͕ҴKH$>ΚR7PϜ9s*. tRs5kêչ,(I%UM<\9SIs###9աiϪÜ_6*e{>*jOOw,S4g,K?nIDDDTu٭r&@BB >V‘#G`mm#F`ӦM矱~z]KT#_?36mڄ#FGU0|p`HHHBH8s Ǝx_777E>ooo:uJV}111ӃRZj_~e?ٳgpuuUt x%b۷奔nddwwwdggرc*С >|H+(ڴiO>U/]&M{䤔֦Mԯ_/_FJJJMDD;z(O>JuE-To:BmoRw5mҞhZ磩۷ʱ#G ((H?;Д.h|.ADDDDDDDDDDDDDDDDDDDDT}qL*w^’%Kpqܼyӧ#,, GF׮]aoopj${{{tGFXXM$?~ٸy&?%KիWFZf n݊۷oT,,0iVVV$ $aڴi\r\QFŋ7n(-A`` Wbĉ%lll sss㶶Tcr\uZJeWd{իWXv- 11'OرcoiiYl --J#QMLC&Rɯ˿ ϾImall +ΩSc'+v effV9>x-,,^A__JJuuO蝩;g*k^􌵈աM 96^3mR3MAg,KU_,ʝѫW/8887$Is玮#bܹs$QF044zr4#IFXx111B˗/WׯDB+VeeddKKK //BbzQa[͛7yꫯ7ߨ,ˑL>z`ggq#G-V^\,[ |fjE>}Zl_-tHDT999R9͖$>xFӶW1gСhذ=6 @eSCUʎQ۱DFF!#22RN tǮ]qmTVWprr^밴k%)) GFF`̙*sϞ=Szi~uhCE=뭪s~mڽgڔg2(˃:hKWX4 > """"""""""""""""""""޸Y&U ݻq]Tסĵkݻ7bbb I> (((@\\u*6֨>???#..NŋѨQ#YiF&7̰vZ E{ʼn'`bb>}hUwE&L4,[ ۷oɓK̟~ >bhUG"o߾G*"11Q%MMM*^7o7n,U}V Y[n\l|8<<3^;wFAAكya˖-00({гgO\|FN:7j 6lQJ9((2 ݻwGJJ BBB 6Vz˫=J3a,Z߿?>r|LJ~?cƌAZUqQ,XXA.wŴi`ggTn۶-Ξ=#99oFn*|>[xͺi GGG%9vX#44GCU]ŨXҥK #ӧOB:t{'OL&L&uVQZ@FF뇁bĉt۷hӦ RY!U8MLݻ)S@&{wԕ=" jI>EZQ\+V}3 3 ".(VG\B::yt}Ut**U)%r~!cLIHrY>+9r$6> mӜzjow9ԧ?0c |ᇸ}6 ^c=|_Fii)֮]F/g]G{,DDDDӧ)((0DDDDDDDDDDDD͒ SW_}U0H1cƈiӦIIh„ b„ RAOz/prrm۶U+,,ѢsVtAbɒ% šCTϟ|z>ڵÇO; www_[P#@?"# r\1B9sFU'==]c[˖-BѣG=w::%/|||w}'F!\]]4hxF}S#f7DxxpssNNNⷿ8 NNN 9f_~] 8P8;;Ν;m۶B}γڮ1O.zбXt  "33S^Ci;cn3qٲeʕ+֭.\(_bQs!'N>>>_~1x\W)))F[ aμ.gZhh7vJqvv: EDDRPLTJClٲz&N(:u$jjj \17gd(ѣGEhhoit}}ڦ>YK Җ!2dpqqJI2bʔ)"++K!ƍa}/wKc1d.} """"s1}>>0Q+_& e˖ȑ#oҳgO;W:"ĉ8eضm222t @QQ޽kȈ%ɐI&5ϣwܱZRaaaرcjի݋)SHQ~L<ƜySY/ʬi*xԡ$<<Fee%dL7Bx{{k׮:>´iӐc6*"jZZNcǎ>}:{=o>\k4M%/..6KDDDD-믿;;;~Z6RG@B@NNaw܁B: ""Vgǎ: ""2| `kk*[0c kYr99aÆgϞ(uH۷x.HADZ=xk֬Ç ggg-UJ%>cڵ QZZ]"22śZׯ_ǒ%KpY(J֭kTHLL?ܿr[oQRRwww$&&"!!JRa8xc  P*HMMŸqT?(>stXx1N:kkk#99~~~zm:::%Kvu,_gΜQFşE㰳+wy3gΝ;apuuջ_^˗/_ɓ'1j(4< D`:[:ueQc{B̝;nnnHLL4vLޗ """jgJDDDD :""""""""""""j i<:"zBQQ+u(DDD-ޮ]0n8TTT`ǎ1i$"""\w^$''/_BCCk.Uݓ'Obʔ)2d{b̙ŋڽy&۷oGbb"nݺeTyyy }vܹs(..Fpp0MF6m ȑ#aee7o"!!`cc!w^3L:ՠJ!p%ע1k,ҥKnTXhuVٳӧOGLL +Wb׮]XbA%!!A5OO9r$ T+oh^ڵkN:ܮZ]""R pm9s^^^fێ5׸DDDDDDDDDDDDDDDDDDDDD$Q(l#!'My_o>hLLܻw2L YL&krJxyyO?EII ^~eW_s=/>D8z($1e &*>>غu+nݺa޽ܹsQPPxsiӐҥKQRRd 6 ...ٳ'vލ 젩mj/ADDDDDDDDDDDDDDDDDDDD:pL.]ښe51ٰFΝŋ555D޽u֍Bzj FKDD4u^O>Avv6={ϯIG9 "t!ѣJ:u gj|'OFVcǎ֭Q aaaj^^^ѣ+ܽ{dmW^xUݍ7"&&F*262d6/rcӧ;j-1[L `kk[o=TVVZ"$"Fkn9Vs?~v@DDDDDDDDDDDDDDDDDDDDD $$jbѩSLKDDDDDDDDDԐjw(--[o={2 2 .>˗/:2q;V^]]3g#FǏ///̝;ڵS- XYYQ'OT+/**75""Jiii_]tR4i6667o~'lڴ ܹsg"ݻw_zcw7ݻVN IDATQk_ܽ{WUWL9Ů-gl}mJn漭s^"""""j***_ƎVYY `…Vzz:&MaÆ᧟~R}ڴi8{,N:2lԦL!BCC5^6qqqjuѯ_?ѣ())Avv6VXC[n-Yr~ .I2lJ5c...0`aXΝ;GI @mm-jkkϭ,=u =ϛ7...Cnnn[`ʔlS>SVV1c`={#'СCXf /u8db֭B@LL =rdeeaڴiCrr2:tkkk ??7nDQQ*++qYرCݵkעm۶ӧQQQ3f̀ѱ7'PZZbܹVBRRlllL̙3!ˑpn@޽\8p`3WMUs>}]TTT֭[7oڷo~}#33S^.rX_ה6s^"""""jn\]]/>عs'jjjfJJ޽pYgϞpuu+Mիoc۶mزe ^|E888aaaHKKC.]0j(\~1?DDDDDDDDDDDDDD$R(sNaQs"?B!u(DDD>CXYY!::YYYRWb„ zݷo֭[8~ԡP#<<<$ļZ>a㭷ޒ:V&L T* LLܻw2LuM+W`ԩ;w.<<iÆ C>}Lzz:0ao:̙={2 z}/ٳg]vx'Ø4iRշ'b̙B`Zc3dl`֭o~^x'OFrr2^xB&GGG̘1àtFudX~=W^ k%p%ۓdm46 d2:u ?L&o/B&x!d2V\WW_ kת  X&Q7b$$$`ժU8q"._ """j?~,udFBڵ }&bܸq8p;cJ ..qqq:_-[e˖zĎ;n:nݺСCYm۶شi6mڤNCէmذ6lcӽ{w|B܎>sկ_?mv}Kvjh_x43225u-ZoXjb޽ճDDD\1mzQss @v٨t}^Wd;vRĉ7p@tO۷6ض)燈hzrrr oe5=x뭷 m۶Ř1cCH1ydi í[4=x󃝝1j(={VU'552Lq&MUْ%K Cml_4R 6 ^^^pttDϞ=Zm߹s'O+<<GGGd2Ϡ3EEEzc9ژYPsWW^q'Oʟ>Lff& *3:ܘkRK9 pԩǁ4r9rĶmToFDD1e #$"2CsK}s_c;>ɘC_O|ԩ.O~:F \ul͇LuyyDDDDDDWQQ .=99AAA?Os0!QCׯ#<<r8p .^hX?s]\pz`""""""""""""""" z{:"BvvvRBD0a0aa"##\.?ţGD~~ٳg;Vcǎ_|񅨨gΜnnn"((Hn^^P(Cȑ#TܸqCDDDL&{=m4H={V<|P\tIX[[B!΢꯶>>}Z8::jȑ#Xv(..wVVV"..Ng"##CTTT>@Fcǎ_(//;vڸxgDıcDyyv4hppp_|^8*"j.cn!g ِK9rD|(-[=6r1]bŋޱi(2}]q~69/Qa֖/ND}G}O赵BTK. b墦FԈZ~ѦM#r7߈Ç ___aoosǎV-˗/783f卙Cd)@DouU$&&J !VZ%{9 &_iz oQޭ[7e9rD|ڴi_u@c*ѱcG(5>~XMX}0aF9"BBB4ژ1cU- tǎS+ѣ Ο?VP(D~ ?^"00P~4HEѧׅ1mmmUeOعg3 -y)@̚5KŋG/jʿ@$n"H /1Vϭ9r,5kLC}Gs\G>1>W}C1X8dÆ ضmk~.]UפuL&]v떯).xO>VXaM%9kREDpCw }t>cΆ|rȑje:6. @B!S'99oØ5\,eӶcMM}Xbd"""BEc|ҕ+WO7! ioĉ8xZ{ {{{/2׭[Wo ͏!y "o" S(Ζ: " B!uDDȑ#_`̙t?~ qBBB'((HCFVĩS4~饗!CΝ!,, gϞx?jjjjmO>j;v쨵Gm{ +++{yyGꫯp8w`]]뇤$<|'NDeezε>s`fٳ'}4g-u[j#cw}4cu֧.5jk'N@LL ݺ888o߾je |~ySœ9/lllP(rJL6 | y`Cɓ'#FP۱cGt͠~Oߺթ{. ͏!yrKN<\,,NP ''G0@NN$"jmۆ>oFhh(0rH:jϭ~ܯTWWpuux9;;C<;;;⭷BϞ=LL =zm777VVVZƭr\ǿ/?`d 7w\L<׮]ٳ5^o\74̙3oӦ~&9DsOce 9s~yY=G7v~mU@MM,Xq#22R(uR'""""2zWܷ11^. |O2U]d2FW>dxya˜^~e3g,MSQ^^hUwC_ \zkm~ ɓ[wbdq RADX&Q%kO?EII RSS!@DD6olT娪Byy~߆jIcƌAbb"Z!e¤۳G6m`cc!>l6d׮]޽;5b6\׵m>}::tw}شi~]khdo߾#6έ<{,5sm[:b:U+++/%%%:7_,ɓѹsg됨(U,}Mjr\VV!jnHJJR SNűo>Uu-oIIIA@@UvaE;wW_EYY`ɒ%HII,]}r{4=ʐ16^C?h9=s^0%"""""2D`hkSmH{puuEUU***4*..6/ѰwEܿcƌA.]n_'7Շe"77JRPZ5RwWPH6m[[[ 6 d8v74ڨƙ3g#FԦڗ`wFXǏ#-- ^^^;w.ڵkaheeY P*HKKxmҥůo]\\۷oxs]aooYf᧟~¦Mb޼y:WUUʕ+jeq}~瑈Hέ:{,mŘs㡍9ϭb{{{޽{je֯oyw^̛7Ouo>̝;WTפhNus[77|AI2e  5xf9JKKԩS1|p͛.XR\z}B|||8߿w}u͛k_>k,3gB.#!!Q{]kRC4Wu @mm-jkk[@y~~~B zYYƌc٪r???:tk֬-*Y{okl}] Yo8vq]̚5 yyy?rggg̞=/_nؘ>.M9gk8DDDDDDT*+Wb޽AllZCsXC3hC[v-ڶm>}0c ܗ#bccߢ%%%8z( |:u >l7?M;DDDDDDDDDDDDDDDVPP >LPZ3g⧟~:"j&L &L uWh /'''Ѷm[ѯ_?{Z!cٲeBQ>zhUEEE"&&F( akk+r1b8s挪uׯ_΢sb۶mzӘ>hѹsgakk+:t ^udU@m_rE|ݺu… +VP+}Yakk+ڵk'.N>w(_|QoBXu <<<4ʍk}#CcZru>>>#FQ 4H\xQ)摈HIIi6:tH6}t [9r.7Xeƍ:ܔm@wCƾ>ӵ uhS}}BH-ŀĕ+WD``ŋUg.]*lllĽ{tƴpB@dffj}1פuĉ_ "%%Ũ#R Ra-oODeeԡNEulٲzq'N:u555Z文 axniho:92e2xltŮ+g|/ֱ72}r]mcga0DDDDM[[8i5dUE{=j"""B S<ƍ"<<\ GGG$=*BCCUx7uƍ5ڼr~'yagg'\]]E>}իEIIǐ+R|'L'""""""""""VfL!@daHNNo!u(D`޼y:"j&N8pđݻm6ddd"ܽ{ׂd2`ҤIͲRjmJKKѣGaǎRӪeffW^ػw/L"u8ٿ?&O s~\cμG/J8̡%i8|0*++ u8&cŋ !퍮]j}>#L6 ;vlb!5M}ϽN"S`t0%""-q_9`%u:=3ɑ: V-'' B0tڱcbccZ\#GضmZoFDDhH vvvpwwǨQpYzJ)))6l舞={"99^~pvvu. ؐTd2գn1ʧsrr0ydi í[=:uꄡCGee۷B̝;CvW죩bH Ç؂ IDATdׯFnܸI&CUVTTܹɓ'x?#''cƌ+rիU0`ɓrOOOUyRRd2>|4UUL_vN2I?HIœi`KDDDDDDDDDDDDDDDDDDDDd\,$P(-uDZvv6$""&e׮]7n***cϘ4iaQ ԫW/dddĉ(++:ViΝXf ֬Y#u(d ޽{"\|NNN Ů]TuO<)S`Ȑ!3g"66/Vk͛FFF<l߾Z|lHxx8;vl111{> SN>H篾 !!!aΝ:gLc(..ƹsP\\`/`\TVVBK.iYf!77.]Z wOE!??[nŞ={0}t 11yyyXr%vڅ+Vݧ$$$@ggg#GB@8UC!Jεk:uҹ]DDd>IRb+=DDDDDDDDDDDDDDDDDDDDD2I\,Hb: ""jd2Y+WJ&51pww_۷666Z%%%A&!33݃L&CBB%֠%ZӱcSǜr_}}}qQI:Myi2ea#;;EXXЭ[7ݻޘ;w. TCBBwwwxzzbΜ96mYt)JJJaÆ={ݻgDFF"88:t(F+WH +:t耄9mڷxܹs7o+s1{_/^899o߾P*4xo"00xУG8q P(pq\d2Y^dž澦̕Zs)s^i1%""""""""""""""""""""2 '23BO>D0ZlL0A0BH53ԫn\\Q>ciSǦ9cD-ѡCGV+Ghh(ԩSo!,,L ٳ~-'O1Bnǎѭ[7dee; R{޹sg ?}5jO86 [jj*4 =zW_}wSNf닱14K/ܐI}Q{ޱcG|>>>llfSUU *++-QL}}lhk\ِ{ /]8FDDDDDDDDDDDDDDDDDDDDD\,$P(*888HQSUU|( C!""""""""ppp:tJKKi&:twEIIZG-//\\\4m߾˔jsC [~AcJS114x prrR+VSSTy[MMMJ%-QXIN BRB*ݹsB.IDDMƾ} ɸ:5;III2ΧM-UJJ k׮IQWܹW_}eee%K %%b'j!QUUr ^^^1c 11QQQBmm-زe @jUUUh\]jPC}mڴ jjj }0|p˗[,nܸqcǎWWW̙3pttĈ#c sEvTVVVj;j(ɓ'ʋp stEou}>~kz}}RDZZkׯG.]T*IŜ1C)ƽ{u9'''5w_|p]۫V]]"檹MqS̫ L\,$!ѦM.I$lC.K   bg_}B֢Q5B`޼ypqqrssi: cƌ1{lU:5k`[n bbbpQ#++ ӦMC^^ѡCX[[#$$ظq#PYYgbǎ]m۶ELL N> |w1c\\\$y8vq]̚5 yyy .ih֭[???8qJKKQ\\;wbժUHJJYbwC]S2|pܿ.***p-̛7۷ZwBnn.qm 8#33S^.YVSo]_~ܜjDDDDDDDDDDDDDDDDDDDDDD-~FB2$ B!uDDDDDDD[nIV#i6l؀|[c„ X`""",xQK d2,[ W\իWcܹ{.Я_?|2d})))HHHg,[ m۶ŨQ0m46l???cŘ0ajjj/bŊزe Μ9L7|vj7n깣#Oٳg#88Xo2LUޫW/=GU9sp]xzzbРApts{{1o۷Ǘ_~5k`E6mЫW/>|C\t,}w 66}~]Iw$<<AAArLua)WX+W6دN`ըڵkh"b˖-u+d2,^o6`֭ /m"99/HlذGǎ59t|||0zc'"3gJQW_!00P0,'( HQ2ǏKB%]зo_qp;v cǎpD-O\\t-[`˖-;vh}mݺueݺuáC4ʍY/<<\c: m۶شi6mڤ~/ĠƦמOƌZC'rFyFFݻwEoVZwb޽ճDDDMsA""""R@DDD<|P,ed E?#"FHHaQ=f߿?#пDEEaѰFRR.\HKKL&X[[CTJ%>cڵ QZZ]"22ś 55ƍSmX|9Μ9bŋ~zׯcɒ%8{,J%zuCx@aa!߇\.[o! ~Xf >\8;;_~Xh9!S}uH!"I.ȑ#6lz?~]t ""2eQױ`\x555۷/V^0<~yaa!\]]Mr_3hӦ JKK#?"##Ck~ll^m\SO?T'JEY5\<|}}-uDRvv6|}}1{l;?c… 8!C!lO<)S`Ȑ!3g"66/V BCh̚5 tڞ>n޼`ddd(((ۑ[ni׷ė ߿۷oGqq1Ν;b#==ݠ5$??AAAػw/QTT˗/ صk<>Lqԧ6m@#G 7oDBBBc޽8xAc|8[L>GSSĉݻ =** 駟wwX%v 6l^zpp/[c䄄@DDD(,,<""lٲ0rHt777ǣv ϓ۟Z2{.]]r%RRRRti|0EνZ~~ٳ'昌1fm}988hzHHH...fT*:"$M꫽onYt{YEDѸ;KDpp0Aq-!g\\^^ooow}Gy{/֮]kט̱e)gncA"""""""""""""""""""""΍eb4 $ImGDj!I?) zj8}4Ç6ATEE-ZHC$Hy._lkL6Ml{=jjZgWWW@ssM1b9͖}}}~vrr3<==ҝ۬Mhhh0k׮$ el\RRbs5o kſƌ={⣏>ҍWڱܹ:7nI@=PPPt(Dו|I0e޽ΆXjA^SFŋ#99hnn*@aUlrssP]]mp MnL???T*444@a5p@GDDt5777jա ,O-~Қ2&N={7@}}=^y$''lhs˹WMG W\1H///7} 2TVVBKDCzznsPÑEnכM6U&]L2t=#33Sᨈ-d^%AZcy|KWUU!!! ؾ};t"mJ; QrIHq΃6gNNNGTTx >|X0 455a͚5V`x7p_9\#""""""""""""Y&)J@*uEB(Ǐ`Ȑ!Ά$IOzzz}[n[o& 00gFu_p:6SYjĈ;w꥗ĉziִ\|hllDNNy+V 7܀FBDDԚx zٳ6l>ONj){rPT3gJJJ+`ӦM={y~0{^up9boF󛻯vd}-u%!55BDEE)lb7ߌ%%%Av]z~9r}СC HNNFZZyEb""UWW#//O/DQQ6H;i=-!w\Ԅ$?~ЫW/ݱq!;;:m]ڗu;;Ξ=\>} 3P\\+Wػw/֬Ycu\ԲeХK?Guu5~gL<zyi/_p>>>}:x駍flgɓ'˺WƞZ/IVXABBEX\$a?C Ivڅ&H0hu! IDATo$IW_}H_|Ѣv{%K0m4,[L7oq%H{kyw(**2ϖ-[#GZ?Q[S駟*,5n[ᅭ_~Xh(7O?4wXVBZZq_|>,X:<%,>|:`ԩ$Iqh\γXSǂDDDDDDg}Jz mvwy'>clڴIpO?n7x$מ5_KO?JC!nbժU6L!o͛7+ dff(ں|"RFEE"""5kCLL 6l؀$"$2.++ 'ND[.tqtt4JKKQXXt(ɍ]z{{#::Sdطou;!pM7|_oܸ&MBvv6ƌq8ud _[[;b^o„ _|QQQ8z(n݊ѣGmy:Z\GALL ƌly֯_)So$Kر? ;w:shqp=NqaHNJG@7F*) uҥKFQ:""""""""Rضm>C^Z~i$&&"--؈L 2@dd$222ܬ˗I IBCCqA8p rrroLyyג%Ktq_>n8YtΝp!44{gZYƔlM}a9r$jksm9'N еkW]Zii{YSS]*ʢvLj#w^1`ĉC׮]SNY~mǏcرP€l2/^ٳg#,, ޽;qgͽcѢEݻ7<==ѥK5 1̞o{;۷oueӰ<\pQQQ&ott4`׮]&Qı ʰm6<#S}]6X6(w~)߿ 嘋CN @ڵ #F_~iv}`\{ X6n-KkIv5kܬ]1wyڃq|cƒ&k83D :y :t(Dׅ _U:"jgƍ'ƍtDDDDB![>)KՊ#G !<ظqQ)zƚqml2QVV&.^( '''j?**JxyyXߊjqAE/!!!ziÆ NNNF;ccc| ϟFm۶JQ\\,/^,W_}ksmB1f@Wbb߾}i){555bY\xQv^^^{1yrĶmDEE8qHLL$~hcƌ?\xxx~mSɓ' }GCaaaMvr,**ӟD@@ODUU8v옸on?m4Vg}&._,Ejj rc6v;&,wnpTTTb&ufSg #ɱ^u1p@/^...BR .3.gm{̧[`I\?n~ԔZ@EEEBs[7|#z쩋G6l555F0Wsզyu9Y7h-^헻֚Ç]s۰agkdL>صkygϞ"Y[FK߹s'`ذazyѫW/YqZ[fvv6>|Y>kՆoӧO8q̞kM̦_ѻwo2JZY]oc뭽DDDDDD=z'Oă>>uTu댞g<=[c>5{i...֭x[cMYnnn_laϞ=HJJ¥K0ydo\{i%lY705uj񈉉1斒JK}gXS5kW_ ۑyDDDDDDDDDDDDD7$i4(uF0E HI0o<˗ 3ZV=%%%67&%%/_ƛo _|ӧzQQQwwwk͵k׮$ ܵR$֮]@@Z=577ˊ6V}}=ooo[rlPպ{ɓ'jjWᅬӧO#>>>|˽rzO  fnll옉g.7w9zhO?g<=[:.gM^c {ZJ AqF̙3Ҧy~KǞ={aÆY\m}OFعs^zii)N82؈c+V 7܀Fbǽ...2d!IA`#?? m(,,4YsgWXQ{m6t w}?8`ƍ΃˙f~ܹfKx0~x5ܲ())s!u~ m9ִlWST3gnmӦM={^GY[kr7m6<""""""""""""e4 $8!Μ9Ft(DDdg߿a(zn; !܌NY_Gyf!0gx{{#<<gϞNJ5 > fΜKǖ-[tRdee9"Tqqq(..ʕ+QZZZݻk֬1yZƂ :t'O+222loO<,\M7dU/_Fz | PXX'xϟSO=e 3gw}gӵ&o8{,rssqi 0l=-.%%۷oGUU1i$?u ,dٲeҥ RRR矣?3&O ooo|rÎ;PQQ2]/ӡR^o=z_ *.s]cǎaԩ 4=z|AjG :QԞ=65"xڣu3ynw܁ |Gz̃[:hv s͖)XWss3JJJuV_c=>@a=g0a6l؀"ףx饗ЧOΫO<$AնZv[X~{]mPXp!ƎZ'[o,l4hvjrk93CD ꫯQTTt(Dڹs_+ CƍƍS: {CxfSDDdʏ!!!v/W.{Ugn۵Q[[t(veߓ֞{9RĹs?~  6BdL5֌/^(f̘!z)\\\D@@xG@GÆ >>>Cw}b߾}[ʕZ^=AyꫯdZ"%%Eh4"DRRϗ}mLže~X/HH8p8p6zmrss 1^{/?.  DϞ=իdܦZÆ {1s6}ȑ7Khm'NcǎCOl߾]?kM.]s7xpqqݻwCג{g9rD̘1CzStEu]fϷ=w}ꫯD\\4 ,h $$D\rE}$,:8-qZ_cqO,Wo1h -u-KkI[]c޼y3zܖ5knn8K>WZ[{}#i_|^G~Qſ'""""""""""L$ Rٳgq 7 ''w}uZ999߿?Ξ=P!vf͛7+ Yطoҡ2x`۷uuuVQNDDILL0CRڵ\ǶWm;v,n݊Z+sAAA馛L>'nܸ&MBvv6ƌcS,Dĉі5wn:^KyD18s^zEE"""5kCLL 6l؀$GKntqx[,_cq>>>>cU[?cBV  0FdffbȐ! "##fx[kŋ1{lݻwGbb"9bU[aI_ XǶ&;;[ןJیL8~~~ڵ+p)mvssChh({&볶mm91ȹ[nxxx@$u]m8q&L]JKK 63g`ĉA׮]1e(((Qム $''JVLYdwܩK֭.ݒ<\pQQQ&덎ڵ. "YsU: "rbt z8u dpZƶmbպӧO#11iii(z;۷ouciӦ[2nt{?-]=d]Aεb$ K,ƍӥ[2!gk{`m'pC\po&/^l;wDRR _~gϞ1w\<쳺|ׯo _~%\Ym!""}1`y?c[3vX!0f)))HIIs琙/=6oܸQÇ#..SNڵkMgM,۪-rb^B1cx ={^ܭ-oܹxgP\\^{ ׯ?,^ϟNj/wy/m2g…纫 >BG/ݒcǎBCCM:wy<f0aa1cΞ=˗/8q"|}}='&&Ž;PYY Xv-.]K:2|"kǎ%%%Xn222pQAX:nd[ƟrqWd]Aε _ .T*! 6?`޶hXښg… 8}4ك@!""""""""""""""#c aaa,iZ)YhϞ=!C၀\zUNZZZ-^{5$$$z† ٳg… z7Dll,зo__W\9sdտ`###C 7"##n:?9qqqHKK?uYfaҤImd`iϜ9UV7"""i&!0k,Ym!""ܾ~К>M{F:>ߞmQgE\\<==qwݺuq^^^2e """c̝;: IDATƌ3h駟I}VM$ImBtHOO$Iùs In${7';;׿M6AR'IR_|Ѫmu{{n{?Fo7hܰ0l߾+V ))Q;FDD`Æ 1ȯ|q,]Ws-̍RSS܌UVܹs?~^5sƽrYrі5Kg'00CDDҡXD:-3f.h4nIƴZ-4aoӧO8q,.g˖-#Gꥻ!>>صk1///DGGEFF"88yyysNa҃n{GEE?uggg z遁ÇQXXhqyDDD֐ү_?{ (**ҥyĈر)))f6k|{E;h5πзo_]b6JBmm#B"RSS!{-YnM6mhhh@^^nvy؋_l:ڽhvd裏jQ__b_JFDbjؽ{w rƟrqWt]Aε07GLL {=\tIrJmdnܿq\kce,mY""""""u6[Qg2]h4(((P: Neu WᅬӧO#>>>| GEEcp< P\\g=zJJJ, 6Y***h"DFF_͛|uWTTj࿡'OZT5ŖV~vuu477b3m-}ڢsx>NNNpvv^:GሐȎZ;Wrq,YW{-Z_=Ӹ|2|M@~~>kL6M/sƽhci[ޗeRhoQP:FrL"D$L2wFyy9!@bb"VZe777jա z.] &nաxYYAڨQxb$''#??BW_̵* &+-j 5ŖZ-9_NڲϷ-g@999ʕ+Fz ltbJee%Ddڙ3g0uTp puugɒ%'==]Whh뷗M6Ѳ Μ9ѣGM?>233 fO֌̍9^8K^W'NDϞ=o 6;Gh|dzDDDDDDDDDDDDDDDDDDDDDt=f.ΝS:N  S:""?pqq!C I'X[n[oxzٳ6lޱ:TUUO<Ο?fr֖}mio<*mС(**oj:u sA=7=z //d}GKD;(..ƫ & !܌fFbPBee%F|3glñe,]YYYm^1ƎǎԩSh_ܘ-kgɺkajPXp!Ǝ;R1Z3,]WQ;%}] WxyyfC!vjܸqbܸqJAW9r䈘1c[ҥ뮻omy~q1`%z)V^wTF#\\\ZÆ {17**JY 6Lq}}YՖ'Nc ___!'o.@sBDD@dffvW\Z^=}~PNۚ-[&vmȑ#M9((H$%%|Y6KjDnn6}g}?쳺=.X@T*q9?^+WX?Q[4l/֎z!@襷|~,^^!2~ㅛMe]v@xx^y/^ŋj E-;Ǐcػw/qcF666?y㏨M7݄iӦa֬YprrÅ \o}}=.],opww=܃d9z[î]Y&9\qq1?… pqqѥԩS3 ziF^^Ο?6_~z?PTTnݺ䄄ÇQXXPܹs'`ذazի (_?bcc1 ...6;|p_c_~pvvƉ'LMRq"""/߆GyDDDDDDDDDDDDDDDDDDDDDD' jh ot(Dʙ3g2H1~~~F{())qHjZgWWW@ss3hnnZ$IzpIꫯGUUmpWE ]\|Y埏544\իӈ/-[l_cc#<<>>Cuu2QFaHNNF~~>! z1((lZ$I2e vލrdggCDZ ee%^sJh/2vk/m0U{qLDDDDDDDDDDDDDDDDDDDDDfnjA* QjMLB **ʦr @||"t BDVV8h9#9r}СC HNNFZZy#:ݘŏ?"DEE ؈c+V 7܀F1b`Νz饥8q^ZSSrrrٳg{$ P[[kPm(,,^...2d!I>ΝӋQ5׭-cc[XDDDDDD?ENOOW:,C {]'ooo˲뮻F;+aaa,δZ-”(ooo_0Lj񹹹k׮Xv-6nܨt8DDɽ[իqw>>>?~<ʔ:9{>5j|A̜9S-[`ҥR0B"PX`rssQSSCapuuEFFY|9caǎ@YY֮]^z PTl2t)))Q]]'O6R3P\\+W<.rk؇\Ђ4Q3EQ LJqAfT4{[bܳ4KғbfJ*l) G?0320x\su뾹~_ //eeeطo֮]׶FA˖-֨~k=s8~8***e˖AD0`ǎDEE<DDDDY*_3[Y=疷DDDDDDG@DhnNjX 8yJKK-ҞRKmY&ٕpnIdauDDDd!ذa0yd:$;v qqq&ݸq#ϟo刈!q$De˖!;; .{N ..?QUUevJ-[j5ƍh׮zX`T*V^m~-ooo[`ػw/grl+VJBZZ._ JСCz嵹Jkڵ+-[?XL:-Z@ǎ_b˖-=zl۶-RSSѣGše˖0aMΝ;* 'N$%%ax뭷p|;v,`РA޽v 'NO?+W4cǎG`` ڵ ׯܹsƕP 6L|Yr+r̃l8DDDDDDDDDDDDDt;suDu薒}: """cx1j(OuXDDt 8[CϞ=bΈ#_`툉iv 1ܙ3g O:vk7_lD$&&|XJ 00+Wʕ+i@표Wnh͛cڵYt^ٿ/|Gx^_FcҰyf|gpuu55DDDDbJnEy0ruDu!##aR222f0H ,\;v'1|p|W,^* *J[wڥ-o޼>N:aÆ߿?}༪ III4hZjZΝ;cժU[bT*]juqqQܖU+77ӧOGXXТE 9ǎS>_DTT?iӦ|̚5 m۶0tP۷O['%%E;^JL3h֬qYMW% uPTXx1΍qqqcRкuk>|m鸉Tyi=͚5ӖPvݩ{vwwG֭1p@|(++3XR[ljJ„ tb{۶m8qkqSW%7糡0SP2.SbCmY2nZZ^ Fcttؽ{wCnS~~~غu+6oތ5kXsaȑ3gJ.JN8hLP_CiouxSr+{!ћz>o3f |||ЬY3?'2331|p 88&MBII^Jy0i ٺub[BtK(..m6[BDv...Nl1qD󓯿Z_.ْ(d߾}:u䡇k[nҬY3rF#~~~ҿ9pÇ777uP믥D?.QQQ&:mϽ+RPP G$11Q/c+mry$۷o9qO<<<49>%ȘK``T977Wڴi#O?Ֆ,  ٺuӧeȑRd:cbbȏ?(gQңGJ絮ɓ' ٹs,NNNrz%6l)h4%zmnLҩw IDATDd]$))گvO'׮]C*^[j%[nbΖE y7tY^~YYNynn'|R[fĉ2p@iѢ}Kα,٧aJиL( e|(_%u?8)**ҧOuȱ%%%?uޯh$44f.222dذaRTTd~n>i9jnCI'%%%:e/=5JscW[3lDXo(XMd Gi\ȑ#ȑ#RZZ*CJLL=zTJJJdڵ@fΜӆW0&"""=k[7ź8YѣGyk˗ ksrrdڴirw4o\F!GINNiԩS2j( ԖJeelܸQ(AAA!{R]]w.?Z9p2[xw(// HDVK@@DGG˖-[ʤ95urvv={CD֟5M++'N믿:[oh˃>W޾}{l @o F-5j͛7Խ|)""BqƉކ mdj[דO>)y9++Kݥ[n&ǧӯ_? 0ye1xyy-'L 64)//QՒ-g٭[ԏ#ZZWCe޽[Ȕ)St8 r :7YnQ{ܱc\wjۆ2dvLk^7eLc 999i2-1ǦdJoއ){C2+6Ԗe˖-fT*i׮M㺕74|3Z?M78ZDDD8jnlLSse&%%J &V+_6f "݀ur+{TJpȵmo߾]SN@߯S.:t)S37̃leQC mYfRH(DCeZ MY&mfHXXT*222l -w;q$DDԐ!C?gšCP]] 8}4"""ݾzSֹsg -- YYY]vS7$$۷k7::+h4ofrJ2uRRRh6[jN:.]dR|8F} ЫW/`ŊvF2Æ )wwwGdd$ʰ{nC6m\-Ν;?D~~|6m\]]^.]:7~J;C굳sN$$$Գ])c -Z@ǎnḴ-Tr>ܱ)^Q Kg%u=M]...FYbb"DDxb5x饗n pxnJrBx{{~'<۷/֭[Zs(͡$Ƿf~iOL]75&k}c9ru~ 1Xf$5gnݚ̙_? ooot 7n`ڴi_ / ""ٳ'мys@DD̙4oӦMرcj*UTTW^y=ѽ{w|駸qf̘a1ߢSN4hj5|Fl7$-ZpL" @PPl )f|8w"##!ChY5kJW޲eK@NN***PRR? QQ.\Ν;# * * ?<&Ǩ-S櫢EEE/?LHӧc̘18qN|=<<|PP ;;[9???555:m[j^ IHHoӱw^<,~[;n"}\wnowo0]c;Ƕakt~M=ʛUUUZm֘n' .\@LL ڴi/R#ץtR)9K{c:5Y3Sp͑}}}u~vrr3<==uʝuS37̃nMHs@/o427$L[AtKDxx ""3T*?| ȑ#urr7(,,4~QQ;|||P^^RzeÇǢE0i$"7x "z4FI[̗;JGMO1j :t|sCyy9JJJ^{UR̫R?8zjTTT`ʕx'nw緵&"Kuv6u}Wkp},+a+6VC*9ߟ@qq1DD[?O=lxb[VX֭[7y7n_Tc?<ٳdnDDt S+ ::ضm tR)9KKP[bޔ^b}c)} `"""""[5Ҝ/0ƭ1~Y&=fdwa0n  uDDd:u A!%%* ۷oש˗/egg… F/--EZZNٯ+W@hqС]vӧuʪqAj ӧOG-TZVVf0OOODС}]m:_#GDUUSfvDD)^wءWk׮9sN=k\ߕ2vߐt1>flqm7O7JÔaIrxLd~Խ{.]2wHm]x 6mڄBRSSꖖFtt "uLh4AddE;vw(ZI&aΜ9X`mѭGiP]]x:u Ѿ}{sqqqHIIt/KiouxSr+{ɑ-AItn96c_6a/4 $Lqc,9%_.ј/$"""""""""""""rt,Nxx87$ : ""2s=Ǐ999XlD Щ+W`(--ٳg1cƌѦN~ ׮]Ñ#G0n8aժUz ={'OĸqӦ3"""˗#//eeeطo֮]k0oHOOŋsΡO>fe|-]m۶O?;wXn^~eX... Ƨ3`4k 2~C:uu|nҥGBBmۆcرªUdVJSLZ1p@kh]???̝;7="n"\wj3gQRRK.aʔ)niRN8z Z2scnvSTz>Vcw{ņԺ-[Ⱦcǎ{oxFjjjPSSӄ(..裏bԩVm۶HNNƒ%Ki&GDDAi0sLر."""l_9L_6\V#[u%s<ȱ&,%~_4nƠ%DDDDDDDDDDDDDDM̺uawߵuD$..aPǎɓ'=#(<_^jjjtĉ%88Xj[>,ݺu@^xY|P知-jZ'Ћ+VGm6Զ3ψHnnL%mڴ5khSҖϗYf]w%ҢE ={f)Ә>}H@@7y4kLkפI߿hF#rI(1֚㛱FJ܇qo֖-%uΝ+...re5JBCCƍ&rDIII=4yc=&$''GwgѢE VJdd7yZf~G%[FCDts|^ҥK~+*DDDDguX'":z "~~~rEN<)""W^m]w%;vBϗk׊RLL2q 0@Ȳe$77W_.{;CFwr!)--Ç}'nnnwկ1|'@y_~&rUy饗,^95ervv={6Xn3T"" #{ATThpV~~>7o={`ܨQ_|#!"2>5kput邼<\t ##"KSTHJJѣ}ױcGSNڵkuKKKC׮]g!>>Fmڴ cƌ5?17Ŗ-[PVVmCЫW/,ZϷh#[1āP^^nEh׮8dc"%%111fCDtcn:S(6n[`LDDDdnDd=޸vNˑ8}4&M_~={6L[PP%K %%/^?v^7ﵟEWcǎF`` VZW_t xHNN /Ç?,Yzb mZŋM|?~j7?\bu8|0"##OOOT_EE.\;>|8+TWWkUUU!))  BVVѹsgZ 555F?<ƌ4k ǏǟL >>>>ƤIPRRm777h#Gıc:u 󃗗ctsKS9^ F~M=tؽ{ ""2(헱܊`""""""PZZ yn :tR\pAgL ʕ+qYܸq999ؽ{&<^6l޼9֮] .ƍ|Kj_s$&&jtz聽{ׯ_w}(NGF!k׮ɓ'q5#55'N(fsj<92nIv;222l CȀڴicP{aĈ(--ڵkbѶn?ɓqE\~?3ƌ___,X٭]ȑ#عs'֭Ò%KdGGXbbbeee֯_ 5 1c ,^QPP`:u*୷B~~>~wt111vڅx 0;.^g}f /`4Yf_oO??,ZYYYx饗{_xУGlڴ o6 wߡzBjj9;s z#G`͸z*~m,ZgϞիo'[ntZ:1Y(܊`"""""""""""""""""""""eqssCHH7$j ֡-%%xwqFb T*PT?~GKD"J㥗^uvUVoPXX}" <nϸ뮻lq~l#,, ۶m/^C||"k׮F^ݻO?ō70c Em}ԩ Z ,_۷׫9s ͛7Ǵi0vXZJ< u///?:uΝ;1k,tޘYYY_cվϯ*9 Jet DDx11ucWVCʞ kM̃V* 6ڵj@DDDDDDDDDDDDDd.Odc̴uD-33l'NĉMD+GDD#u%22A<7!"kB.]t:w!++ &5d;xgOGpvvӧuEGG#::Z~)~7Kݻ~M<44iiiVoJJ oժ:utZnmvDDvHC'R0~x|7(,,DJJ D#G믿7|p,Z&MBzz:jjj "x7`<Ҙ񺻻...|ߤXr=_PPWdfc5*..hc "ۃG7nQy9ХKjm{'N`[#usbr=1nk%q2.!33ӪJt+\pn:"""#h4[[r1;v ݻwGTT|}}4I&aΜ9X`""qa_W\FQ١?N:puuŠA_}v@uu5>"H8x {1DEE!77gΜq 쑭Α91?{^bٵw}74&:Y&٥pի!egg IDAT,,{uDDDDV{cxG1uTqcӶm[$''cɒ%شiU'"aܹHMMŵkp7nnnXj{9?~e "0`ˑ2۷k׮4vK.E۶mOcΝ(**BAA֭[_~+V+ DBBكR+Wbʕ e#99YFJᣏ>/:%zl -- 7og}WWW^CDDdomY=DFDDDdcիWd0٩mʒ%KlCZxka8[Au˂ CV% @e˖-RUU%""111@x衇o|Wڲ3fԯJٸq 8PC^y7Z˗뼶wmL2zh@6l9sʳFDD 0'''?:uJF%ڲ\ɑiӦɝw)Ҽys1b=zTMSD1fffѣ[eܸqRPP -ҪU+8qk۩{O*? 0@EVKDD8p@o4ꕛ:ϢE +ܹS[ެY3=1k-Z$">ܔch1ֲxQ SL187MylN<)XMRRX[nUxk/ҬY3Yz:{u]2w\EDt;p<ܼ<9su]*2dٻwN=.111+һwo$22R^?O}S:)cԚuJVK=d֭gW>`i9RJdd|ru1[ssd:uLܦיS(a\Qr3; @T*믊χ.bka󤬬`)*p1n]>||=wDDDDDDDDDDDt"; [A222f0N/_|zbX111طo"""~?a;VO?a >o"""W7|ضm+`ӦM\t ˗/$&&"11ҥ 8p /O?#F?l"""XbcceL</>Cx衇YYYիo߾8<W^ػw/z{صkIc5kΝ_~%x -Bvaxg0`|ׯMM|k?>uʇ Aݑ-WzS?DC_tm>iӦ`1뜋'Nnڤ ՉF׮]qL:ǏZn,YxADD);;> _{}Evv6̙H8q"eؙ3gЫW/xyyaի222g*~^VV3:VK \? 8~8Q^^$GUr|QFmݲ2_ױ~zIMM#W޾}{ٷo|qss!Chˮ_.Ү];QR\\}nĈGi޺uDDD3n8quu"r///y衇#d֭:cǎk|DDD?p׾رO> 6geetM[f꽀o߮SީS' ):赯h=zT@4^P2%a*C֭4koL2ErwHeeL1q..[LȚ5kZ*կORIvGd*_|y̛7hu =^|ŦBJk >gDDd57gL0AS^^^.!!!V%;;[DcFyf/_wwwqww7k yzYY猭3(k&cs#zs$GU:ƞ#u C 7xCDn[ssn}ncu&kQйd>DsRRT*0akwm| 7nX$v{)97^WynDDDD*?f69&u#33a9L: ""j!Cij>CpiDDDhƞ={ زe z(++×_~ (((w}#Gj_}hPYY~ͬ{shh(ʕ+fGDDH~)))prrBttNyVЩS'åK~/`{yu~ 1Xj ]t)ܹ3BBB,d>Mdd$v?˗#!!...2kݏ݌5r5 lm/11"XxzKM7}Έ,-990l0rwwwDFF w,۵k`:uCBBо}{>c JZ%n\h;vԫ$G5wu)iСCٹs'<'n5cH]?iӦ mld5 KQ2Ox'ѷo_[NQQQܹaڴi[Wqk)J]\#""""""""""""""""""""rl,Vxx8.\v"2Muu5.^2ܚ5kܹs/ 綺x TWW>|'x'c6l|爎a…ܹ3RR_nV~~~:?;9zԘ#+@QQjjj}ϭ}/?澗gggxzz;;;}7X޲eK@NN͙Gׯ_o HOO'Գ1:=<<\UUUPնPm烂@Sc())zT݂k (cmʸn6WXCIj1+iu57kQX())Att4*++m6lGPPO6飩nkJ]\#""""""""""""""""""""r|,Vxx8 ##Ƒ9ߙ!""rL8u BJJ T*o߮S cƌc0o<@VƏj€ѪU+L>-Zn>TVVf0.OOO͌:tw}עc'""U9UUU8xsTUU0^rK*//Çu~W\rBW2,ٸpqqq3+Wbƍ>}NKC%c{/Zqjc"""HLL@4Im;ݻ#** I&aΜ9X`'""1b譣WTToZcCڵKlذ3f̰hڵPu׈7$OOOnIPFFj5ZliP{9?~e ":^?~<`x'山RgggDDD ;;˗/G^^ʰo>]`Lߐ/"55ΝC>},P?2qD Z-{ÇKnݴ_xm}c`ʘ-u,񒞞SPN\L9GVLX0`x{{KUU!rs8rQI߿1s?ٟ)*p1nDtk{N#[B0x `۶mȨQ_|#!"""T*0zhlvХKҥKHQQ:uh]&1k׮oڴiƌk~\cy7t:R,uѮ];m};v,RRRӨpj*;vDYYΟ?oP,rbKaa!BBBcǨ>k֬#GlC3v]QX{ݺ)ʼntg}{LޡC<Dٰڜeƍ\3#"""""""""""""+Lxx8222lC@xx """"""یn݊͛7c͚5Ms0rH̙3 YȩS ???xzzǶm0p@T*T*L8Q[?77ӧOGXXТE 9ǎYbT*]jqqqQ[EE.\;>|8+TWW5%m,* 3f ѬY3DGGٳfǐYfm۶pssC@@}=z45k-k: uPTXx1J<..N5Ĕ1֭[cQVV7n~34\z踺tؽ{sADDt;ػ&}wXd' jI];JE n؂*m_u\ mVViպbmEe\HB uGsrD|ᐝ '''+gddƍ2d/C'!"##aooK:N6oތs:F#"""""j,--}v`ƌHOO7t$yyyaرxwQQQa8DDDDDDDDDDDDDDFeQswwfDZpww7t """""""jzs(((hsoٲqqqk5Uׯ_Ν;{ضmp%XXX@D@VV7ѣGGNDGGC 0B!EYf7>#<|uQF᧟~R4ѣ!QQQQݻw{n;v 'N)Cvv6c$$$ 77 X3̘13g۷qiֺ.B 00&&&~:bccfffB;v޽{Zh:ܹSŴiӰeRjÆ q۷oWvU;7777DDDTǏcƌ}6ҥK?Ç1w\t-Z#Ǐ+(_0aвeKƍ*c?xpwwG-кukŋjpafODDDDDDDDDDDDD|["#!PYY[nsΆCd233QYY2DaF%:: zNcz ) Q};t`ذaJ[Fno)J...qkN/i&L>o6ajjW%ݻذR v /ÇMx߾}Y%~~~ٳ'>3,Y-[^QQQJfU}2usv077W---6uPRRRlDDTPw59ͼWi0iԷ~ ~_!""""`իɓ'W?;;*aB`طo0||8uF'̙3R|4h233>>>8v|||򸹹._\? DDDDDDDDDDDDDDD:QM60lF 7$"""""""""]U9???JH$J_.\\vMo7l؀?7oބ؈R-Z*++u`ii ;;;8;;4_dcc͒xwlܸQi}v̱2cǎaJ,--5WQQ++ KDDDDDDDDDDD:iժ`nn3fʕ+\. {{{t;v쀫+"##򼰰0CEPPΞ=\333vZv!"""TƵD"AVV~fd!J! QJppp0t""""""ҳxUڵ3th1ϵٵk⵪p$U9r$ ,ݻ PZZ"W333CkH$:eH$:u*=<@]V\A**cTҥ+Q &}QVV5k <<\iJ}6sj{L<Js뭷T6zuuuW;VAADDDHIIQڀcV~vh QHG||<1n8W΂-,,燒>|XyJ۷ow-%%&&&V?wQ̬ڼDDDDDDDDDDDDDD'nIFݝeiH.C&:5"tY+銎^^^i s؟BCC!Qou} x"郀E$Ç:Ԟt!!!ɓ'U\:t@EEO>U<ڵ+>988ʕ+sss+6:pιi1cR!55VVV6lNjbffٳgXf vڅH~X#mXSgϞ3gNscaa3g*}v̞=[eݻ_Pr]DDD=z45j4DbАX"##1a\|fR9^VV|XZZ*Q*IR-ZTVV*]YY TT$ .\vrDDDDDDDDDDDDDD 7$'ɸY&Y&Qbkk^{M1!*++?pIDDDXu Ǩ:u} )((#o*Xǎ8$%%5x.2>˗/p˘6m\\\TX;vo"??=–-[dLѿW^HOO۷q)ܼy*?\t eee>VZ! s.miA&!** Gaa!1i$dee!!!AK6}tHRbpssS飏5fU}̙w̙3ffΜ +++bСԩ8^^^hӦ Ҫ=ŋ""zm 5 i#11]vŧ~/B阅R)JKKQXXܜP`P^^!گ+=Bj}N"""""""""""""愛eѓd0t F!##e5vvvq;CG!"""z]Xs~7gժUŋUyyyaرxwQQQȸtN7Ǝ ggg̘1111d055UߦM9sGƬYкukt _5ۇ+_~=׿W^ W^yE|?uP899W^CuV,\P\OD"}@"H$\гgOkgϞĉ-[o߾(..ѣG^mDcggӧCw}WmM(>>iii{.$b4}'LEǏ㧟~BSLQUV2e ;wڹK$_~{INN4\u""ڡF!"""""""M⫯ 6nܨr|̘1(!55VVV6lN AEEN`ɒ%*gZZ݋;vܼ5 5 i[lQ\UVX~QQQ믿, ++ [lNW_}Ϟ=Þ={dl۶ ffʿuE@@@N$"""""""""""""j.L 6> Ȩpww7t""xH$ɓH$H$LIIQI$mĄ `gg-[bԩx12220b(,,TDFF-Z@֭!MMի?~vXC̝;;vڵkC>CIIVkSk^t)>_\}_oz=nZhGGG >Ǐ64ik* 8'N:g]:M=a֭#Fogj|~C\禥!''^^^ծo=5prrByyR{FFnܸ!C(6oތsG*o޽{aE͛7wT""҂.*Kͧβe9_{5ECot5;C(DDDDDDD DoooC"O>jN<?₳gbĉD˖-ѷo_ѣ>}XYY!66 HrJ@Ϟ= hӦ Μ9ѣGc֬Yhݺ5u놯U$'' AAAu_ """""""""""""L_U/_6t"+DTcǎcǎ5t z0`@G%!!!ܹsH|>|5j?QXX(6o,9s(q=K/ gggqQXX(._,^uaii)~gS_ǏT;v@qqʘ9""j*..ƍQ}_~Obus碲k׮Uj?y$nݺqi5ߘr$$$ 88vvvpvvFll,61`j6Fڭ_G.]c"22999*FS yMm۶!++K뜺u&{^jj*<<<+++8;;cҥkS׹Uk*J==$ί)5...8z(0h 8::bȑܹ3Μ9_~^+Hj܍קv)))pttĦMk.ihSOԦf!Cs4 k"""""""jJn޼!42ؠu,rmڴӧm۪mwssý{RRR`bb`vxxxsN=88ǏWiByy9~7Vzܾ}{PӡCÆ SۺuktMe?5>|FؠGJmh۶-T6xж> >T^077uKNN >\@omXZZ_~Jm7QvAAAJCII >cƍ={6ڴiMsԤv UX5c8| =zd(DFÇ cNJc:ʕ+bFo^lذA!Drr5ydq)_={V}Ŋ⧟~Ri;wx嗅hݺGjr+E/<<\?+,77WDEE L&ͅ ZMu٫۶ IDATy8s>i=ׯ666ػw/||| 7n9wXƪbf`` ӧ222ш-z\yfž={gk(((@|||ߴCÆ S۶m[tz_i&L>o6ajjW*+--Z_ 333[^""jk-\MDDDDDDDdlv OOO\pW^E׮] Y31t"Md2rC 2JreQŋ GGGH$H$̛7ܺu FB_E*}lܸcǎaz]VV|XZZN帳3 ;;[yUM6z__6l؀?7oބX%***`eeUoy4|GpssΝ; fhC.Ca(DFEL: QiӦChѢb,De˖5xx۵kח]v)QW]effbȑ(((.Xw5&Q4b,]HOOGee%Xn/,,Dpp0˱~899wpvv2YoR(,,T9pqqjCii)T}^?O>UiS_"T;D"ԩSqQ!%%B`ڵ~D:B(S}?xo@9/Ѿ}{ 8Ǐ fhd2BdTrrrd2CG!"""""jB???wE󆇇#&&-y "ٳg8y$\\\֭[+6b,))Q?44W\W_}.](;)))9s&߿5k`={^3p2 Æ zÇ:tH=77W^?7{R[vv6nݺ]v'|ppp+WGJJ $:upΝjsUeKDDDO` }_Gݽ!""""" )) 'N &NׯEDDDDDDDDDDDDDԬqLj46NBd\MpL"""""l[u}Deee&4 PPP#F7ĬY|;vDrr2␔T#"24SSS";;WFnn.JJJpql޼Y9swO>oϜ9VVVСCѩS'_bd2~"==&MBVV}c_Yk_;;;ܸq#}CXjx;Ǝw}!!!03-W"j1o>0|pL4 ׿޽{c˖-裏ӦMôiT3eǭZ”)SuV̝;W]\\pY,[ sѿ=zTisHMy9tN1vX{n:B"wAbbb˖-Cii)/_{{ƺup ?ǿ/W^yNNNHHH+i&"33ҥ n݊wyG)CXXVZ{m۶*憠 -_5""""z!to@)۹s'u=z(BCC+WԀ鈈/25h߾=222 ȨdddC"bܼy1ғ'OY'!ѯ_?xէ1c`Ϟ=8pFՠ&"шV{UVؼyc+VPz,>>>p s@˖-n:[q't*lYR)nݪ~9vQ1//j{d礥a޽رc5&VxgϞ!)) 3gTj8q",Y~ GDDDDDDDDDDDDDqLjTd2rc\LfD 4{1t """"H$CGPHII1c 'j_RRKKKc޼y777$''c8s ={~aٲe0`3Wex].c8|0LMMツtQi`ҥop=HR 8/F=w,XǏGEEzv1W_}DGN(!''of[VV8$%%֭[Ā ?XQFDDuyf̝;1H To?O͛78%5/ַW\EGuppШԵ^~,//Gݱxb_wyLU_t`֫UVx!o>ܾ}666߿?{= <l2,ZCaܠ<77Wo[[ Mj}]hs߹s[Fn0eL0}mާ[xcǎ!;;[9u놞={bΝ,@LjBd<ݹY& r9 I=z4_/))BFW^^^ٳl2dggģG0dz\]{TTp]޽ǎĉooo$%%aƍxѣGSvuܹsػw/rrrqF,]7nP!bȐ!?pmL>s^|Ю]:w֬Y>>nݺaԨQ駟T)e ""%&&b̘1(**͛c?б={ĹspAlق885/ַ3f̙3qm>}Z4)u_3߿m۶!!!.]2뻾Wvv6c$$$ 77 秘Kll,Q!z]VkBZ_7ܻZ;w*ŴiӰe}Zӽ*BDDDDDDMΝ;ѷo_tYĉg<}ɈeR"ɸY& r9d2cqF}_~Ob #,,LaС ٳgL]olmm]vAιpB!!!'mۆ,ELL ѪU+DDD`ҤIHHHPl@|TZ󦦦3V^.]hooDRf)))pttĦMk.'Hj6ݱ~V\P""l5뇊 j 54ՙرcUlk^111X~=aoo.]`ǎpuuEdd$rrrʩ[h[ksFY'$$ 88vvvpvvFll,O}OkR@)++Crr|| nIL&í[3CG!2 Ϟ=۷Y&Q#bcc=z(yzzm۶HKKkop=E[JJ LLL8<ܹ9:6lR{۶mnNǏ{yy`nn^qiŽWWPRRU/,, B#-- z/ch)́Wm6543[nnݺPuu^u땜  RjJJJpa3V.[] mk}Mh>ZÇ?x 4O}Ok<!"""""C~~>c/[[[;w4tT"""""""""""""feR"P^^DݻwQ^^2mڴܿArHR-ZTVVʐJHRH$ .]PXXKKKڪxbxzzQqy&33#GDAAiG[`vmD=|BMtA,,,333CkgggRJۈ#tR#==B`ݺuܤH$:u*=<@]VAA DD]CԣXBs`,Wu^WqѦFmuk]R)JKKQXXr<''h311ӧOUi}h[kBZ_7j[c}}Rݽ558r*inI Y&'aeegggCG!"jRBCC!c̛75j~w<|~).^޽{#%%E7::Bxyy)Q]>=B5Q6/^D>}{{{X׏t,ZQ+--ٳg~Wܻw^^^F@HH***pIc+WDeÇ:ԞW*={ 'O "##ѺukH$@IIݻwܹsN\r`nn&P] DD]CԣXB})**BΝl(Fz^kB"CۚR[ՙHOOWPuuĘ1c@-++Ccê7r ਙ#D 㘢c 'u*c3}VZ&˚0,RKT@AA~sasa?Xg?k`ܸq}>|g3yJs}9יnwmܠA0w\fRmE5""""""n0f-Q2ɥHoe刉ᆈO<9s79r${=ܸq+W`ҤIx衇0k,!'ٲeشi ¢EPRRWСCɁ' +'x{ACC.]㥗^ի.{˗#$$Ԅ9997۫W/$&&VBmm-~[hlV0t\~GEkk+.^+WBѣG=r 99YZEttt#!!q 9RcǎGxxQȯ-_+V@ 77;wDcc#N<)S crr2*++믣 Nœ9s)D IDATf;_gyJr}9יnΝ]vΝ̙3QUUe2^'j+:QWfr4 ***)TTT@ѨobFZ>>>8u*DFZr%tRC!j?OhooW;"r"Hm۶|||߿?x!I^uuf/ADD>~)~ٱ^$ ϟ$IXd٘>8wv{JKKöm oool]!"""п[Yoƍ2e v8Dݎ$I(,,TQoIW|d 8p RRRnݺ.9fYY {]rL"^6mڄ, ,;|#>>ަ_N9!u79WÀ܌3gw#N,VX!"""9nMDzZ=ȉmvS;"bbbP^^vDN111jADdQ]]͛Xxyy!::cƌ[of<==ѻwoL08EEE$I8q&OP}[mm-HKKCPP0rH!bҥ0`|}}I&aqFۘdŊZ]],#44)))8uAvbرPPP}իW:::HJJB@@|}}1j(8p(̞=111D߾}#GXo}}9$ on;/\Vׯ3[i%rrr裏lZW"" ر[lڵk~ӧO#== .&Dc 88(O=p1yPV[̭yOEEEܹ:͛x*Ƀ{cLHHзݻWާO}.z*8x~j: !!!hkk3hS0zn}|r \'j+Y&FϣUPTuuTVVBѨ Y:t(6n܈HLL?{+")) oјMKK3f`̙8{,<^z~' >–-[p3ĬY k֬A]]~ 0/,Dž `L6KqkbEnn.Ο?͛7/?lg޽ѣ?ٳxꩧ0o<åK0|popp07nO?aɒ%www!0|pزe رc~qTJ˽Wȑ#Vտ/ڵ Æ ƍ!@ppzDEE5DDDcРA8tك+W8XׯDze˰l2ș t!?^z%ep]w)ldJk 59,,,ħ~jkZ[/<ؑΒ%K A! uFR@9!˗1c ={׮]_,'`ubBC T;"Ue@v!(~AѣGjm> }]UUUK ̙3 ڋETT~mʕXv|z)ȸٽbӦMHOOG-2$Ib"\e|SVZ%</^l}M=^xᅮ@'\-^""gRXX(k~S9 ((H466.,,${J8[bW'(ڂ\r͌ \zIssMn\O1¨}"44Tv!Rf ;q<ܕ}|POOOѯ_?1uTO?Y=;Ȟ׌+uBDDDD芺53SߕIdIT4 \Hԥt3ںu+`„ Fٳ&Nh IIIhnnG}1ݻ0n8HqFǏ/O=<7nN8DǸz*ƍxwѫW/͚XjsTTRߖVբ }s~~~7hCdd$PUU(**RRR c8|0Ν;gqɈ[o:}U3Cm:=uqdJ+233xb|HHH@]]Lf}tϟ!#??l[z]7NZDDd=%A}}=_}}Qw}X~kqP'(ڂR暷v\z=I, nƜ1\)LJJ‡~rbccSq|WdkFi:!"""""""""""""""""""""W2億 ((jB wjBDdRkk+퍀P]]L;nfԶvZ8}47U{{;2332 ~vs%eз544`ҥC޽!I$I³> vѸ&[/oGG| tvx ɓ'駟⩧2 hkk3')ۖ{ۚ< 6 _~%233ϜvXCDDDDXHMMm݆?F}qR'ȝ5n5u5mLNӑj7cNHDDDDDDDDDDDDDDDDDDDDDDDDDX,\RLL HUh4jADd҂F]p҂&/]d&Iy۷(**xWϘ1شiei-5i$a8y$::: Bdnð0xyy!88hkkcԨQ8uT:Z[[׿>&~V=y2n[c{g}a̙(++3{+W@g8s q~4*??_\իkme3g+Wz 0S466"%%mmmعs'BBBL+7Vrj9;\eMYS"""""""""""""""""""""W2%qL_6ˌQ; ""|Aݻ4hΝko׮]}Z[['ƍSW &k^[['N;v, IQL/";l۶ ^^^c%u 8p={6߈ZZZPZZjߢZVDzz:q1^~e~hoo4N///̜9/^_W3gQ p9zuuD{Eyy9|I|ؾ};|||?!"jjjpoMP__!JJJ655׿5RRRT5͟?BhZU !2ޑ#G0d$''#00Сǝ>}:.\1Rܸq8~8>q222PTTYng yy*-8=%r`G垦DDD/j&lȟZsB""r6RP;\>Fj]y>=g{\\)kJDDDDDDDDDDDDDDDDDDDD Y&$F2+//FQ; ""VXFsb׮]hllĹs0sLTUU7Ν;؈'Obʔ)BAA맸˗/GHHrss =rrro5O?4=V\x+WGy뭷_} IԩS6|rbUW^HLLDuu5VZZ477cXnaѢE())իWq!~+V@ll,x ٳ t֯_^z WXgΜ ,YcƌAhZ}rrr IR[;:nk[佢 iiix111زe *++69HNNV7|xWql_!:::хr &MzfrbccuV,[ 6mrgS̝;ww$&&v:<r󴦶`oɃ홻w&99xԄSNaΜ9 3wNyyy6&<3f b@Q\\e7bʔ)(**BjjQ۴i?׸R/'#r4KD9cNM^.sxWom Q=g{>\)kJDDDdJWԭYDDDDDDDDDDDDDDNcY#&&pu!RIEE{L[n͛gOPPv؁-[`ڵ]={6v8.HOO… ) QQTTIm6$IBBBWַEGGIII/F(K.ŀ닐L4 ۷oǍ7QXXc"<<>>>CAA:::dee! xGpeTTT`ҤI@DDOF8oMM fϞxzzo߾HOOǑ#G?~iii Fivc kyօ jm>s裏,ӑ9ZsB""pkz L<ZI9+9Zױ&7?~8&N kZ޽{}1;׊ dee!88HIISL!7Ğ s5S0o< 3f z-477OQ(;!!`]srrt5eM7$h*GBݵ2 xԄu˲wAСCسg\… 8}4>KY~=-[e˖ u4! hnno3|!jQ__9s ??׿K.a7k,oÚ5kPWW~ @jj* }{";;G?g⩧¼ysϙ޼yjkxw0uT"//UUUxo^p|0tPlڴ o.]> .]QRRh~' >–-[p3ܵcǎm>se6#r4SDDuƌ9s&Ξ=W^JsXW:ksps{d-oԄ3gbѢE8ɵ\d 3x!-)778< 駟6x|{'O9sСCqFFbb"q_l|J |֌]\\#GZV&v°aðqF!mה5%""""""""""""""""""""rf,\?2*//G߾}v(DCI_T;nUՐ$ eee8<$I’%K~ܢ"?^;w"00 Gqq1hn4nkV; "rqW^oÇC ;#ׯcΜ9O0p@;>>>ׯVZ;èobb".\޽{O>xg0e,'GyĞ={0o<3f̀Fݻ2߅ ̙3xW?8p }!3(ZE;v,2k{}PPUrn 00$3ǹJ>lIw\a 9{Űaގ>}XOZÚ;R55kЀ˗cĈaδij̘18q"JKKQ[[cM{',3 HIIA@@%K`Vkm5vlV(++C3f ))w)3f4 ***Hh4jAD=Ӈov\eϟoW~~C9m4!ֆ2wsIqiMkְG]PHd5s ~}ػ>!%g F@@UPBZ;bMm;//Æ ×_~L;)kJDDDDDDDDDDDDDDDDDDDD䬸Y&nI=Vyy9bbbd/EGGuBGcǎ̙3xpCq P0¨]I܍@$<#طoQTT!+M4 yyy>}:N<!ꫯxŖzyy!88hkkcԨQbB@@ZZZdKڔ]DD_6شrϭΕ+W @Dd GJ8t 9]YΏ#9]nl 6jiiQ5C?cٻ kXZF}m]i>nn{'5{BPPZZZh8rύҵvĚ:g}a̙(++3;)kJDDDDDDDDDDDDDDDDDDDD̸Y&,FӧO****hdB@uFrr2jjjO?9͗t 2 T;>}:.\^P@KK JKK ھ[TVVB*bzpp0?رcڵ p 8p={6 Ivy7==8ps/2nvˎg„ {ĉmJ;wΦΟ?o-* !d̦&׿FJJMǰ88q$g+ r}w4!v( cΏZYO3gNY˦&ͭeDD>թ?lsJqs]TC|{n sv:st]^^'||oqMYS"""""""""""""""""""""g2ei4444^P˗Q__2#!!A0\͛!9sX={֡_~sstL4 =f͚v8ٲeشixAAAXhJJJpU:t999DAA~i=zx"V\ !F իQ]]UVؿ?֭[gu+V@ll,x ٳ t֯_^z Wx/_?FSS{ߠҵj 3 Dqu:;7;r 99YZ!!:::q=O&C=nK׭B{?Ӭ'흳w֬f͚ӵLNNFee%^u455ԩS3glݚ|^k`XsŮ]؈sa̙stiNN$IByy iiix111زe *++nkJDDDDDDDDDDDDDDDDDDDD:q C!Rɓ' v#FhZel1;h]?^PDffmmmjBDdQXXoݺU0xL:U!Dllsk֬1_|bܸq" @_+ˑ#GČ3ĝw)|}}EHH{ņ DGG_MM1cۄׯxĂ q>>bСbΝ"))I'|R,ZJ+dff(quքSXX(k~{JJJ^^^N?̓8st;3KԾ2g S5糳֊\hoٜkm͚=ZvY+g?soEMMњu55%"""2+DD2""""""""""""""m$ rAŖ-[Qk׮Kpl޼YHG||<!Q[[se4l۶ ˘qs$@DD9ƍ1e!55Up̒$ >fũǔÞyGRsݡn`sQ?'Ϗ+町75j:u*6lؠv8kJDDDdNWԭԳznjG@d-///\PTyy9"""Q&Ǐ#-- AAA=܃;wb̘1$ $aڴi555={6bbb鉾}"==GYz5$IիWq8***ҿN$9sYYY@hh(y\|4iӧ`vbرPPPXt) ___`ҤIؾ};nܸa1wy fIP]]-{۶m@${>r]\;;Gݫoӧu L<ZEs)++Å jMQQQ,#44)))8uUbN\u}版vAAAرclقk:xOFzz:.\M a޼y'z &`ˀa #Gys>cޚݺq25漶7ĉ?j(8pg伖,%1((H5JFQZZ*n)>3}_yrg5u{(֋3u(=wL]JcUzM*%<<\رC\rETWW<@OD``] [TRsTJk]Zn{{gogsDOaI]]UCpUUUUbĈرcjҭDDDDtEݚșJ=B.-''GL8Q0#u3,333S[l1hx5B>*w}נJxyys]v8PAFo v!_nh4Q;f/_ƍscKJ]\pfw69\Rk׮59X;v0hDMMMSzH$o9""g7Xj`Xx5xn )=Qje>cѦ*---"22Rj!\\ ˪2Tan!:,SIni2伖,%9%%%GVշ)͓;1ȭأF!^B2ƪTB`&7˼5)Sސ;OA%5GԸը st,SGǚ3jva\s9$!Ci=** m)))ؿјZmmmmǏǗ_~z č7'N@bbN8aÆ zx~(Yw%su{d<<<,kС?vm`pX.\w/hnn69!0xk_S_|&ڃغu+`ĉ^^^HJJBss3>#r%s5HqVj17F-'絅-y7 fH yܺ=jrEJ?Y#I],&L0znϞ=4(4~g>hMQը!>>ޠ{-[>{\Fn9jsODDDDDDDDDDDDDDDDDDDDDd?,\ZLL !P;.!@EEbbbShll7ݻQttt (($<?x ~vssC^kޫW/ttt544`ҥC޽1?k׮]o6N>$b/HKKCtt4كwySJH~~~6fXAAA?{zzu`X{r✉L"0z_~jsjaaaVj17lF-'絅-PHdԮ;/^)O6Uc QS/RzɖX}Mv9fSoirJkkZ͂Mcο=Qw2ɥi4\v 555jB%.^k׮AѨ Q455=뗊 wwwAa1j(kLmI&!//ӧOɓ'!^}U0[$<#طoQTT!+}a۶mQZZjؕk_n^__DDDR.~+W@;Yg {Μ9xW\,X*GED AAAhiiAcc.\+uVCtUcLXʓ:TžRvڇY'[bK@ij]r&׿FJJÏu 2 L> .?{(mmm'|7NqdP[['NXTZ߰\Vn)w%PVVfߢZV!5y% #^$iM ^ڃ.ݻw=7h ̝;걻ސSTZs'{_jmFj=ѬaB ))!o!RSSe952\Uغ&J_W_tnGOz"z/plY`-WYbtƿQw2ɥEGGÃeRQ^^wwwDEE ,˗/GHHrss ǎ?p+V@ll,x ٳ t֯_^z W~;#GvѫW/$&&VBmm-~[k~i=zx"V\ !FmX111زe jjjVA[3Qrr2*++믣 Nœ9sйVEXXцJY.~~'˺GBBaBFr &Mzfҷb֭Xl6mdcZb4 rsssN466ɓ2e PPP~)ΕL{ߪX5%drK읿+Yf᫯իWq!~ɖZ7Pz3Jϧ558{jNNN$I7B],sŮ]؈sa̙i̮7,~? ¢EPRRb=Ѭa5XkYʩy51WX sUO_]O'Y݋Z;CDDDDDDDDDDDDDDDD݆ rqFXB0ů~+ n(##Cddd8d'N4(|}}{矋DkԿN̛7OWo߾"99Y|F}?.F)m&֮]+;xbQZZjԾb _ B!jjjČ3m&<<>>F'+1ȭZS/ґsuv=:ήw9Z{M=Zvk[cɓ6aan|A%אܵSZW֦ƍ&sc k/u!3OJJ^^^T@477[zku\+gMFJɢ IDAT_W_,Fxݙg94K~QʙcseFϖ ]Y΁5%v[Go;]Q&"rfjճ&I!@’п_^Pӧo>C!n&33y.;܌3gt1nЀ"%%֭S;*++àA{!;;[p,$ }Xp!7$"Ǒ {Ν;1fHI0m4}̞=111D߾}#G^$ի8p~wwwEbҥ0`|}}I&aqA_9qc$ Bpp0BCCSNYC]]͛Xxzzwޘ0ao6'N` շZ\z1$IB~~>ݠ=##CuFMBtt4ƌz Fkǚ… jf裏dQwFSDٳg#00yyyjRvEgOwcǎExx8|||ttt9gȑ#-n,shs9W%s1&$$ݫoӧLgɚچ%r%974&JYǏcĉ}ԨQ8p5u(6r3{_wJbUBw\IR$%%! =r뛝տne{cy?>.*kSP c4ikf G b1]z_j7~쑚fES֛0S oSc6mW\STFEA޿?1ax=3g>:ż0K왳ׯ7;Ok֬it-Tٲ{_]TC͜m[MM̙3G*7o4km-T0a0 [kRnfQQQSO䋑j^VVIyjj0٬Ri 'NfTVVJΝW Y v>Mؿӧ'vW?Mm佢-B[>fDqL""""""""""""""D-\TT޽+Wh S]|wETT֡AD|b֭GUU ֯_nݺD|-]k+VHHH0)СziV?33HLL4)G^?ҥKoذa8|0NG޽{\W~L~ڵ+(a۶m#FXTTT`޽f1߿a*66}g}7n˗/_4xzzqٽ{7T\||<-}ƌh۶L,DEE]qK\X F@Dds/,YuX-w$&&";;۬\ףerΝ;GfmV:""=GkZ5V%+JYPs-էvƖ'4)FΝFytmęj+ۤҸ:w,eQ4^/rz-s677O>$<<<{M6t+9+gSE]gt%}Ԍkqq1ǎÄ 3`ڵ&Uم=ZQ^ў|QK2ŋk9ODDDDDDWUURW_vꗔt&g:,t|8#@^^cfsfoSN5n:'X""""""%%%xvyܹ霽cǎ&?o9ǯS?DK͞X(dP~-5vƖo:ά:v9cFIi Xpm; ٺ{WnBrr2tݻwct+9{#9`ۜx"еkWlݺ>]ت͟+ڛ/""""""""""""""""jɸY&x:u7$k 9ي+xߥK!frCTUUwŔ)SL 1RǦ*7nL>a/Nv _c]"r_~86EFFz ___c{Ov`ss'w*[J쎺:s|r#GbŘ2e P[[ U"͛&?ߜԮ?hEm{Yyqqjd\ۨO:Z-DZP7hP6b#Xmu ḫ=/{z~]>OOO߿۷oGtt4LǏ:ysC:BK]ѐ9YZZDTWWcǎ خ.lNGqt,Zgr<)))C̞{wpXg%ɇ~BBBp@۶m1tPdffBaΝ6ǥy0)*8pHHH)xzzb֬Yv}]|9sY=G>ݵkY;}ٳ[SӧO7}Æ 5kY;>(ҥKVueD侜b̘1ơC~:~a+jݸ{cB֧3ݻwBxx8fΜ:?0o-g/**Bnnɝ{SNܵ`ŋ-ַeMFsleqʐcRW\^or3'gC%k#8r)Vf6w[ic}r=xƺp@DDD _5BT2q=Qu{H{{a̘18s +\jj*233?+2:nS?!"""""""""""""""e[BAAa9UAAȥ駟:ADP[[ZjMX_9X>oȑ#/rS ݺuöm[oaZCҥK4۷eee8}4&Mpo6u놗^z wFII n޼k7Ċ+i#// 9cРAbSN ׮]òe "2dq4(aǎ(--E^^ƎB^aaa6ИS"88-Brr2"""8bٳsNҥK>}: mdL>Xhн{wvz=:vhN< o2.""W_BD0k,[n_NDjh>M6`QTT dggc͚5f-?#Ə7'ZQ;7zA||<\?eee8wf͚;Zo˚k5ΡZ/cǎ'NիW7y\gC%k#8z)ƏN c8rq6'Gً׋ER:gĖ-[puJc8GOlOYM]gWK]Qq={6vڅ?111M {iJ~CDDDDDDDDDDDDDDDD- Z۩S'3f剈ȶm̎5n8Ο)S}N5jDDDݻwADedd8[~WKcccۦצppT$ҼsNU'p: s|jyeڴiҵkWi۶ĉW_5E}5֯J~dǎkQC7)]%w/ާ*]pzASxqqLW:'N8?mfvl%]3Zk׻~^)bg;ͱnMD算bu"" j-[t\pAPnj30oظq#ƌpZ͛7cp5Tdl߾qBt[s͑֘;WUb^,GK[+?5F\Iqq1:wqaݺu^*iȵ2qs5h)@g4k=4Ǻ5+zC!** /_ݻw)qDEEi jgΜArr2cǎNNɓ_3g"22^^^СRRRpIc+V@ӡ28Lt:.\ѣG#00۷Nj/[n#GD`` :u)SԤddd`С/zj֚ԭ믿={9r$kܻwјׯ_oN`P׺/7,/((ѣ#11Ν3tܕÆ /ˊTֹq̙nݺ]tA\\>3TTT4WGi׉θ,ڵkÇ#;;9Sfi}'ϭqR:wsrrpUz2ދ87w^"PTWWܹs2dF)f̙3:–-[n,?-qqqҡC6y$,,Lvi?x`ÇcRR9q℔.dᒔ$׿T֬Y#d&mdee YtܼyS_.xxxܹsMNugjN-CKKΕρ=]vj{?iuk""W,""""""""""""""Z*W IDATBnHȾ}) 7n:"rS,sԨQ@lbR~53 ٗ [kR2wiRޫW/ }IyTT<&eYYYcm۶&_zʬn=,֭[ f͒U}糲LSSSq:sXw]vYlOx9ĉ1aY1U{(kn~R:w,b0厸}ohjկSܪC]lFP2܋ݜ禎Nݻ[|H57ؿ<)^^^&ƍs?7p]ǧq֭)=ZDDV2jޣZc._,N,ZnE+|9zcL>ݤrl`kޤ$tMͺZ6T: 7N''N4y޽{·{Cbw{S݃+@Y̡]9… .^Zsɱ|v7לWrL"jZz"7о}{@P :""UHHH0)СziV?33HLL4)G^?ҥKN'0s#""pDdggQ]]?ƲaÆØ:u*={rssc1\<{g6mڨ3k׮`zo=۶m >xwFZZ6EɘNpW7~#F0XTTT`޽fǰsֽڼFMJnee%m۶[\Rs/Os鉊 Xlݺ`ѭ[7SD|v]ǧq'O999xǵ܄@{TkyLΝѣG!kէ 9zcSll,> 7n0/_iii4ٚ7)!oejƣcǎa„ xgvZ#::|1cFR-^)δ;̝;l.-YDQ;9Gȑ8Kg{sZ|^IDDDDDDDDDDDDDDDD5nIn#22ZAxH*EڵkgVN3y={)6mϤM65)+))믿hkyw1MOO#66AAA6l ݺu ҥ vލ;fƞsoM%uu}||_hjL^'J8kj9[1g;KơZTWW7z|%ק{Q}Z6g""""r=jsQc:v.h(9_)iCMT?wG}wL<٤y6Ve<.^$t[n5s}iiifoԩSwK:{}9>9 7$2ɝ#22R0TF`` *++QVVfkꇄg}N~(1rH,^SLA^^jkk!"Xj@Duu:^|E߿̄ %%+W4k)S7K-Pɱ/5Fpp0*++QZZjs_Eu69~W^½AmJN:u {9۷!"ƾ+V7ҥ*86RU`ͅ sW_}GED3rYGP;Ø1cp|WѣTdffӍaÆ 5kCw{SݹrNڔb/++C=DE][#{YMGk=DDDDDDDDDDDDDDDDDDDDDdnIn#** ZA,ZK"44iiiطopiL4 f~mt /vލܼyk׮śo+VXG^^~9rϟǠAhӦ bbb`0|rXfSPUUk׮aٲe 2cEFFb˖-~:RRRPUU.5qW{P2^jo#** gΝ;QZZK.a(,,4,9m2~iiiرcJKKcǢWFXX]cbO|Λ8]^;"''Ǯl9-ɓ'NȚ+R}j)1~xhSm%\=Sӆ]I4uTcѢEHNNFDDZMZ,?:dvXhн{wO1'jD:379_u$""""""""""""""""""""";ؾ}t:)//:"st:믵Xjj:\INN 󓧞zJ;???7nܐ9sȃ>(m۶:H||۷Ϭ3gdРA/]vtq9rD<.\(Ǐ7+Yo!""ׯ_iӦI׮]m۶&'NW_}Xo߾""rI6m<#'F֭['""i&cZbƍk۶m:kc "f#FPGKur͛'$''M ;mjr!CH@@X="q c۶mfǞ2em]D{+O1wWɫm6v꨼5g9$#QDDg:SNA#}`ƍ3f t /2EEEtSbr&W=..Dee:ݻ7c+P^^CxzzTUU_GϞ=P9_5ݻgWB[w{:DDDZoZr'W'"9s&xbiԚ5k0ghW㓳)Cr=N.]㈍E`` СC6׷i{<]tA\\>3TTTk233Mb)3g0b[^@eEEEϥq4lGFHHڷoD;wN )w:6_3g"22^^^СRRRpIg˹X{#Ή;v ..ɓp^,F`` ڷo2C``֭֡[6m~ܹs=F kZGqkY'N`ݸ}8ڵk[o᭷:"ٳgƌ!Cয়~/SbΜ9ӟdV"b|z >(D ?E<==!"0`6l؀-[`@~qF^EEE8vO>Ħ~0`N8-[ի裏xb6fѢE6 "}ϝ;XsPSSc/|7nয়~BϞ=zOtj|&u|!wruW^qkO>?<ʰfܺu /aj+ٔu^Gqq1f͚%K`0;n޼!Cᄈ%!!!NM6~1114i֮]jlINN ))j2L> ,˗-MvMӧ_~ѣGѦMU675m!-- /_FFF[wkr RG[um_~ؼy3>#ܼypM 0GX{#ɵk駟b8u!"عDDDDDDDDDDDDDDDDDDDDDdnIn%** ZAP: "":ǟgc(..3Ww:qk;v ((HPw1cbbb0|kwf̘cbՍnyf8q"ϟo,3gjkkrJŋ1j(=|Cbb"УGlܸ:u̙3qU\`zj :Ƨ~B,@^0tP",, ˗/G=L#88j[AAAt.g"]sa|ʸ{qAKP,Dv_|<==-sWSsPo㣏>€'xׯݻw1k,7.O_z50,ZÆ kl*))ҥK1p@(?O|Ikxծqԙ.\+W^z/`ƌ6sW%l='zƍQ^^n&ב2ɭDEE!??_0*??e&u_&֭[* _ݺusZWw:qkILLDvvY^Guu5ˊ8v&Lgyk׮5ym|||swFZZF-<&eMM-Y㨯_~&?wpUǷJumfff&ի~\tuJg빫Oz:gϞfmr>, 7$w2\SII ^uDGG]vtt7oΝ;fx"еkWlݺ^^^fup|G<|:uC⮪BII |||h|XX`0gUUJKKc;:$~gIOO#66AAA6lq:>>>F۫%"""""rW!!!۪E]fW}K7gبվ}{t:_xծqlsMmmlcSw:6Ʒƾ=Ξ=kSl=w)]QsҮ];2#هe[fvuDDXe.]4Ynš5k0d=ƍ|1V233MXYYiCTUUwń ,~Fee%JKK͞z* <<\U?J{M_޽kV^\\l>?/b(..Fff&D)))Xr^N5o߆k駟0zhӘY4ǕHi 1k-̩H)6ܸqbyƎ 7T[GM26jYwՌ6[vuN΢Mooog}֦Xq8BSgi#Y#هe[­[n@ҔQQQZBDܹs!"`޼y1c?ƍ_>AAA_RǏl7e̟?֡ݻC!<<3gD:TTTX?f9s_}za|.55}7Ok׮wņ 0k,viR^UU 9|p={Lʋ>n8pe2/Zg??3gڶmC7Ʈ?N>(ҥKV㪋. 0?n݊۷oؼy3<>W\~2;wfBǎ-Ǒ_~G1h p)TUUڵkXlDC 1رC IDAT!}: 1{lF-8v]ccKM(]pggmFnK/a())͛7vZXb<==mQNzXӧOcҤI7u$"""""""""""""""""""""pLr+<<<]֬\Νhe˖`0_:j!z=RSS?555ZCDNb t:tXh ##ӦM|Ν;#** 9Ǝ :t(x &MN3y|Wfǽ0~x̙qqw̙3Ѿ}{ؿ?LblGi?_7@:rTt'NČ3*t:L<>%K0yd,]xy!<<7n܀Nëj{#<ѣGcxG}z1c 44<كua6?v\b1m۶!""#FPO""j>gϞSNxgЮ];|} 11QSG[u[ر#{$''_FгgOlݺ۷o /`*=w%9^siӦaB6mLƛHDDDDDDDDDDDDDDDDDDDDD w"7sbZBd+Wbʕt֡5j/tx۽{FQQٽZ%c=Ǩ8ظq#ƌQDԒl޼Gv?pf0sMFb#b @޽ZpF[d95iyub{וbNDгgOTTT… &\G"""9֭\YK"""""""""""""VK# rHkC#22R04W… ͞q̙nݺ]tA\\>3TTTXvanMku333錏\ h߾p$''#884h믣gϞChh(FS5ne00zh}HLLĹsL ##CExx8|}}իWXoŊƱҥ ?X>,:d1sLDFF :t@JJ NqsWljDij8t1.OOO嬹nck-uSaNz ڤΝÐ!C^u$""""""""""""""""""""";7n$&&jC1BƏuD JjjS! aaa2yd %**J%++Kn߾-A/^,dժU&$++KJJJ$77WRRRDɺuTRWD$))I%;;[ѣҦM~={VBBB$""B)--SNI||DFFI{'O`oΝ;b0dܹ@ Mm#))I>,eeer ~tRy\~]}sš_ `lco3ֽr<&;wR9} -qqqҡC^D_hV޷o_i߾SX)GSMvDmߛjcT+[nKx_5uÜ<\ o;QUXX(dҤIrE)//cǎI%44TΝ;g\G"""9֭\] Q+BngѢE裏jCK^{5 VU7,**޽{ѣ'ZaÆ7ڨ gҹsgm9BK,n593r16RSSli-v9tLGR<\Qھ7/%ƨ6WnjLG%nck-1&r--5_|YpBշUK;w--ޖlKddxyyIXX7?q#"""jY&vw%DDDDDDDDDDDDDDf(kC\pQQQZADr$$$뿰aiƬζmÇ7{nHKK37b:ވEEEݫn}؏={L;w=z6l>Sѣw 77111a-m爈+We6{^wqQU?/j eV&)孟__:)evcYN4z򮥨uRPQPAA@ ._a=0>kYYkE osuuEڵkM"!!x!44T/m۶/rv᫯BFF|ҥ}:ݻzyy=_iܸqC%%%[_Gmݻw'O?azqNNNB:rc+,cbbOСC]?S\n QmPns ֘XzǔhN_~}5}9͝+*]#LۍX2W6**_sEyk-eqNMDDDDDDDDDDDDDDDDDDDDDDDDDfTT΄rJp&"K&L]ZVW޲eK9rOOO#;;d]]~(pwwG~~>rrr ߺuˠL`ԨQؽ{7233СCu^kUq!11%%%,[ "0Z^aƍ///hZBDSa#G7>c/lI&Mې~u3ěb齼o>dee]v8q"LΝ;"+66VPfTQ%СC8;;;{lfZ9F.]g}wܩelyb [ɽUi֬YS; U(Xcomm AyffE9XsW4wtD+]Q:Wh4&_uUDZRsj"L}7̵q^\\+W[n􄃃6mgy1 6g5\Ǐѣggg4h=y B법u[u5_]^G """""""""""""""""""7ˤZyj,j$hZ9 .oM6ѱ{m6c;vԩSnݪSPP={!!!c1p@;qyx///;w#>> Te]qA`ʔ)hԨns<Μ9k׮!00P9СCQTT{E(**0OGGGL87nᅬooAc=HII18V4" 8x ^|E͛?9jSNsG,c+KJ= srrЪU+VkNƍٳ1j=P2LҐh3M4_|٢5ϫs*+*]#QJrd⢷?>J2U[ZK)Ω&3ݸ*3yQcȐ!ߐ;vĔ)SйsgV,WfTn.2KJJmJDTW|Wx뭷pQC.\SN֭[L86J㢢edgg#11#F@jj*/_oooűxwРADEEa׮]HkӧO7n%K "۷>ʺ{FZZ.]ta޽XryzzbΜ98|0rssq DFF^zX|.wE@@^}Ul߾YYYu>Sۈ5Ɖ'C~вeK@4n F FSwgkmi|y9992d>C}Ȅ NRƏ/}U; "#%<qF#GHHHYD...ҭ[7ٿ[\\\ ژ)cǎ&MC?.?3gZcs*+*Y#17%2ܹsҳgOquu͛ˊ+,KSuYkl)5Rsj"cpkruuݻWSߍ+6 5z|߾}ҰaC'O NIc:$,n leVuCWu""PDDֳ갵2cƌAJJ vܩv*D F-矫 u֩ F:t@zz:RRR?b 8qdLVVڶmP\3/33M6ȑ#jժ*PDtWNVh4 /`3s_~8pvȐ!شid#"&Me˖8pUEa+KJyZ˚5k0b#,,Lg׮]aÆ?ἿiyyytکٜZ8&M8&777tСRs*Sߍ+6۷oߎgy!!!رcٟ;u:v숰0Ǘ;m4,[ 0sʦlleVuCWu""PDDֳuvjg@d ~~~HJJR; JIJJih+WĴiʍ͛~zX2S`ʔ)@LL(/^СC1{lnAD L6 Wׯb޽zqEEECgggk˗/GIIAΝÐ!C WWWM0w_%Ff͚ ;\\\ЧOkRҼkj;`ƍA;::"((yyyعs' 44{5#00te;v6m[6'0ZeuY}ӦMڵk5W5B6m aggPrm RRRX沔Q;p@zoߎ(@~~> .((;vW_} ]ҥKV+S2&25Fҥ͛5SJp!?GAqq1ݻ*CIdff pQx駟}688ڵ3:&Olt Y&= J+eiZYٮ lذIII(((@ZZVQb͹^MWex饗[naϞ=>|8222'OZ\wia 91kX(:蕵kM6EBBRSSm5kNS5@DDDDDDDDDDDDDDDDDDDT1nIR&M䄤$S!HRRv*DDDDDDdDAAwww4@VV,Xvڡ~h4h4>}:ݻz ƍR,vvv^=JJJZQ_կ_h;JJJ驻_TϜ:*- PXXhݻOcř;&glS}z@[z~Kǔ+V_/"((0`nsfI\|aaah޼96lؠ粢 O?WI5YXT\_QQ-ʍ\6IvSZ-5k`̙(..-W^ӧOWI~`|RǬy/;ϯ΁oܸa},=]s*DDDDDDDDDDDDDDDDDDDDfT+i4hтeR|FTjNI۷rJ 43Zj#G"!!A/6>>^U*Ú.]g}wAll.f͚U˶^͚5 qqqjA*rtt'󑝝mp#FLL ƍD@Dl2uwwG~~>rrr u떵dҶVg^8:: Z>}TIQQlYM4p6l7o?x1n80RWr{닣Fݻx>JsGvv6BCCQXX-[AF9r$/\ᦏmBϕܹݣDDDDdkJն<۴јrm1ah 7ܜ1cp9広uk^Vy%F/kk5'S,{#eR2JJJiJÇ ((:Oɓ'#,, ;222_ԩSx2dDaaaU~+?rrrЪU+p)t@tt4DjJʻ^T5xqa٘?ک{9֭[ g8;;#$$8x |||0e4jH1G^^AرC<==ϟFS*dn[JKKCbbAСCQTT{ТE 6+4v۶mtSNWE7n#G?q{^Z-Ν;֭[7ĉ'_=<>S hӦCRz/+a<_|?~\̙3v+Tњpͩ<=2GrriY$99eٸW_}o|||₞={b(..ƌ3NJJJJPRRRs&M0^\rssC=Nb ƍxb]VtH%.-[ ;;1bRSS|rx{{{FZZ.]ta޽XrA4h(ڵ 999 777Zj~[:{,^ymG@@^}Ul߾YYYu>SۈVVJ(:u*n݊l`ĉHMMmZƍ#!!yǏOOƠ7C qcu~%^{5>}q,YA߾}ꍌF(폩Sb۶mлw 8q"1o<-[(OSj۳PsԩSVˍ\:uD\rŋѳglby{^xWƵkPPPd?^zRϛ7fkYf!11^/}A_(K齬t>^<_OOO̙3Fnn.N8HԫW˗/?kN({DDDDDDDDDDDDDDDDDDDDfZޓ|P4,ҢE YdiQ.jQѱuvv;;;)))+ W K͝;WZ\zX``Y–t]4ADD4kL NV qqq6QҥKkܹ% "{ѫ͛2ai޼888=Zf͚ş?^ ",]t-[HPP.~̘1faƍm Ç=f9m5VܹsoY2W...ҭ[7ٿ[\\\ 322dڴiC4jHe׮]ƈ&M%11Q/nΜ9&+>}S]D  TWfL{O:%&LGyD\\\ASOɪU Wܤ)'N0z=ʾ6nhpq ٿ9ZBcϹ#GZ46?9{ |}}寿Rܿqqq&U."vDd[\ܹsҳgOquu͛ˊ+w㊾36ۋ-O>4mTZKΝwޑ\ϸV8)}cdԨQ9o֭[r&է_~8p\}HHH;6dlڴ yyyprrsVkDM4A˖-q:t@zz:RRRTȎ:g-Ś5k0b#,,Ltj F8 5~ mڴA^^.]v*U.++ m۶Ehh(V\v:uZff&6m#GbժUjc?OX'NP;s%!!;vի1|p]Æ 5\M6j rrr;;;SQMAA v*DPfff,y,քu27Wu,_MSu""PDDfӪW\C=v:Df|2v*DDŋi&QFhӦ "##1l08;;]rxꩧ0c dbs>s9̟?{[7opmxyyޗם;wrL"GXJrr2.\HOOOl޼Gv믫R$"2e <<<v:Zr%Mv5ŋ1tP̞=ۦ70avD֗_~cǎGѣNGYYY?>еkWΏjΝ;N]cj|USlR7o{nS!Rd׮]@Np WTټyܹsG$&&FȲe⼽e͒%ϟCFUViNHXX^z޽{%77W9"rM?K|}}l9}8::7vXQ޽+iii-d޽GZZx{{رc/5,,L:$999g.]^vM|A[Jvv={Vz%NNNr!]͛;r-y|Gbgg'z*폲yU؞]vA{ٳү_?iԨydL``Z%W%}_RsUrСCĉ#_JXX@^y|ѣG' ȅ NѪdРAv*uRjjt]Ξ=v*VZ%C l?!ZBӪ>Wf̘a{?!/^,F;wNT1j(qpphdǎjDD6D3qwwW; "c,,s&CteK?ҴiSqvv4ű" m۶mFs~zWqҭ[7zZn]|ҡC6l)uz#FDD^~e ~^ljj8::?+ۼy| Jlަ6=1u7ny,Y"dŊXY9*{KKḘWɵ_?lݺUm۶@o?lP``'Oꕟ>}ZH``AY2>*>W6츷^WBسd(^˵k6-))_~Y̙c7h4ҲercHni>|MTLIv-=Iz[F) RѪUhZi߾/&cks2_:&{FA vZСCz`gg'^^^vjDd#,1׳w}d+.]j0ΝvZDDDD\&:6"""""""""""""nj1???$''"W; " mܸ0p@c۷oGTT^ܠAb<ܹSqlYO<w +oڴ)Znm?`:tǏǑ#GP\\ 8oFJuEッ/ڵkx!44T/m۶/@hh(kp@~ӕ)sߞ͛y5j6mԙppp(䪤-/0^%׾Ν;oڴr___):t+k׮6mF[X<2E}PgsU^/˒tX2LksbÆ ѣ222cRZyyyYTZpi*]AAAذaPPP4|7PD*;v,DHHH@NLHeBD_1rHB] *eUJJJ뭉 77(**R1;"NfƵvMoVDGGEfT#))I4IJJfDd '''[ HKKS{?WWWΆ 7nؠlŊqE mv"DDD׿*(<==J^RR;++ %%%F{? ]v_.nwZ渿=3hOy_A{LT%srUJNj̭k?vvv^oetݸqdlS瑩e{Yz.K,{Jnj%cԿ\˘<8t"""tjS\n xgPTT;j1|2~_| 6,,,ıclz4"""""""""""""""""""""""""m,j5???nI5NRRN\D~~>-~:GQ9#??999oݺePh0j(޽`С 'L]ZVW޲eK9rĬ<VBW>}Q IDATFLL ƍD@Dl2m`ITklû&M!_uRJNj̭ko F/mh+\ZyTJUǽnS:f*3ʲZ۷YYYh׮&NsDD"""""-// ­[ 6myf=zT۷1sLkxwcǎjΌjXi֬TK.gŝ;wfB\\YeR2IJJiUl۶Xǎ1uT[`Ϟ=pvvFHHXs 8 ~!?==ϟ7¹s߿?h rZp!~7lڴ fdC48{E(**Bqq1<L25mgYQUL7-- = %%j9bnƋԫW|?~\̙3v+4\\\_?T}Pּ-{JLeXYJeRRƌ?7oի"""""KDK/̙3(,,4j1o޼jL ,@NNNC`ذa|r5fFDDMtt4Drj V?שSйsg0n8̞=Ϸl7ˤZׯ_ݻwN,yyyq7$w߅?N[";;)))8q"RSSueEEEa˖-Fbb"FT,_ފc;A®]pss3^{ OFAAnܸ%K@Dзo_]W_}z G;4… {W_}۷oGVVnݺO?o6bccjaoo޽{#-- K.Ezz:w^\J*;ٳg+ >007FBBr2ܾ/exHh47r^׾yzzbΜ98|0rssq DFF^zX|y~ԩq>|/^DϞ=u9ZyT}PcO阩+Kɵ!CG֯_k׮!<Co< ˗Ge%98Sع*z);%ϝR[`4iqiٳHOOG޽QXX?W-ZWƍAUwDDT;UI:uB^)!+udffj1yd+fCDDTql۶ͪYd Ұ`cUQ7QmQ; "kΆmۆQmۆAΝ;pwwW;"C"""֭S9kڴi<\tI<++ m۶Ehh(V\RvU#33M6ȑ#j*ө: ==)))j&X[c$$$cǎXz5v:FA\\U]+R?"Ύ:dt욨kjǏ',h4pttđ#GXUE7DIIVٳg߮̈X{:t )d kU5~DM4A˖-Mֵf1 Xv- uk"lm=[U;"krwwG v*DfIJJBÆ Q&*iiixGquMɒqDFF|7oFѮ];ՙrL2Q;Z&%Au }g.^Cb(18~8 bĉhժ)zW\ŋh0x` Z-ADէK. ={PXXh2ᆱe9s~߿h_h4<9s QMw9̚5 {Eaa!{1,X~!3f >s͛7~׮]'z CXL>pA(**2;,^k׮˗ݻcܸq4hu{N$̜9;w=v˗# 222xblڴ W\+z)̘1}1ùs0|ٳnҵ0/_^YLL ͛"uׯ7*bNŦQFhӦ "##1l0ܹS/TIOOW\~?vΝ,$)z,j$Q}6&Lz 6ٳg1ydxxx`F?ӱcG8q&M¨QQYWqEٳ>>>jSkՔ~>wO?ŋQf 5aS Z⧟~VEAA/_O>ƍS;ZmӦM|lذǏϪ%/Ν;h4Zaxǐb">*eHD5՟]ׯG׮]q%DEEpttD~~.>55]vE~~>K<Ӹt^ut?vhDGG :t,oҤIXn֭[=zΝ;g޽{ѻwoEy 2"!C`ӦM̙3_xg/رcsHKKCnp]|x駑ٳg#((}ƎkÄ pB|W8s w^axyyAD0p@HLLmj!"֭&O_|QQ6êUЫW/ܽ{V+LDEEEƏ`صkɶO4 #F={ЬY3mՋ%"""""""""""""""""""""kNvDfINNfDDT`O?gEVp13< "իtY˗#44Ƽy0`WiӦl˗ڞ 4Y4.fT#))I4̒2V † oA@@ک!"zEc {11FDD5;}cP_"$$oV!ҥKzKJJFN0j(1-BQQt>LŬO߆~\\\+WBѨT;v7jmڴ1BCC}||жm[/HII Ca8rϟG޽+W.]7op59lܸ0h :<ܹ 'xn0)((;vW_} ]ҥKV+k4g툊RRCh׮ѶOM8BdW-qqqj꼼$oT\\,oo 2qs8pႲT+++K/^: ֭[ze kŋZj @y{{cǎz衇Tvҥ:tp;u>eggKz)_r=_tJ)55U}ў={9ٍoiU^/**RQQN8Q4UTZZ*oooڵKVGLfʹvZW>Ց4Rl*((PnnnΝP 4Js9a\WF0kݺteF^zsEݮT###Cr'QtMzTXXe˖iҤITdWuzHJR%;;[ijY&nxeSRR \$e@;vLTdd51w\M>]uy9JLLtΙ3Gi*""U_ȑ#ٳ,IҤIgy>_~Ξ=[mMqqR5 }UkJJJVa4yvl6&ON:YrmڴQ~hĆ &IڹsgJ=Zڿk-7߬bטO~?/ @ǎ$hB Rbb жmۮ9WMaԨQTnL gy{{kȐ!ה:1cΝ;e˖iݺuPWgT=n߾<=z̙3?:uk5cƌ q3gTVjjjZhjh^XX p5"*)0t-X_ך1cBBB~iڵ*))O /_Z;vPVV.\իWgҥKᪿ뮻t >}ZPrrW=KܹsZxLԀ9WMp(..N[nUNNN8+--M  ՙ39RӦMS6mԹsg{ڲe|r˗/םwީ.](&&F ҥݫΝ;kر T.]sNzk2 C[l$WEI2 C-$CQQQ5?\ƍSllԻwoiݚ4iR pL*c4ydٳgWZ-]Ta())I2 uFژM>U{E}駺曕X,&LÝu֚0aLԬY*ݻa8q:gVZyfo^Çwbh~W^JHH: PX}ڿQ4A<$iƍ'?Ծ}TPPPksOwy]޽233u̙Pvmڷo_k?~]k{!0 Cׯ'?鬶af˖-5e+ƶ}v4o\(@mջwozԼyshѢʺe2 Cڵ:JlchX9}JJN<X pߪU4k֬jkv}mڴI+Vp'''kъQ&&fhhƀftK/Bף>իW[vСCQdd֬YSaΫՎ9RiL2ESNӧuAWSoV}Çi&eddhʕzt {6m^y:uYO= =S8quѣG%I:t}jͦ-[hܹ$0*Ԕ5G 믿G*22R*mXԗT( fSAA._luŋ5e>}Z?>3_< ֬YQF)77WVŋE=zÇcWիWk…Zpa]fhhԩS@/өEEEf)88XСC+-_\QQQWNvZ*66V5ғO>G}QqqZn~Z.]RBB $???uMo*̳guU duԩڳ8kժUyreU0J5o\?Yᡨ(l„7Ν;kǎԱcr 37ontT_%I'Иhݺt~_UVԱcG}g[d]0X`Ap>WVZ_׺u´uVEic IDATرueI S^^233TWnn¬nۼy$iذaرCqqq^S׮]j\{޽{WqΝ!Co׮] 0o @ǎ$hB Rbb èiꫯeyzzwq$̙3U֤`=___-YDꫯ$͞=[EEEZbQ44ˬ_}@3g rssձcGEEEUPTjVۑ#GԳgO sh R޽uE}駺Ս7N<޽[&M0j<(0eI è1<<\P^4fmVn8MN@@Me˖iڴilVGp:s$}'ixmu P 4fGڵ:N2j(mܸQ۶mSttq&p8t)Z(T}Q n￯M6iŊd=Z;v T%22R6M[l:J5{lW_: Tjjhuf)''Dz?~\>\c^ S˖-զM=ZG$]t\a矗$3f+IB͟?_;w5bUIIInM?^fRxx<==աC 8Po]~z 4H!!!Vnݔֿ9TZw1 >\v]>>>{ʽ٩nޥK0 i9<<<}ٵlRZҰaGU9%%E111 PPPtI?ax]\&;wtnKzc EDDTc4rHv_~ڷo_5ϫr-_5"Iݻw$ڵ˭2d8*--(@9gϞUaa!2C֎;-IZz.\ Z@U<==5tPeZ( @ӧOג%Kt%]v2 ( ?2\#G4MEGGKLS:x7o.IJKKS^a\R.\ .o߾:pdf͚oռy$I2MS}ڵki&IiӦW^ѫoQΝO?ԵowuWzzzw}W _|Gի%رc5`}7:}&OYf'2:u~iO>х 4`ݻFn9s4Mi2MSW]vvk׮uݡCHY9T_^~ƍw3tǼy\СCe~ӟ%ѣ:TXoU߾}uamڴIZr{J{WZ^ݽܽʴo߾2d5"LII6#e$2 ֭[/IZhƎkq*W3rHݻW/^:J5{l^{(n@FJ(fדO>G}QqqZnx:uJ/^k׮ZnL]s̙3Gz饗ͽ~pd^wrٳG]vՠA`-YD:u*k]*r:JHHPTTl65o< :\mVZu֚>}ƏZ~^xAw}ԳgO;|f̘Qs:[vv˗/WTTթS']VUFFFM8Q}Ç?Wffug eo4k+\{u%%$$hРASnoV׫tmCu߆af@@L4ڵNQrN<==buԒ{Wah۶mVGivbccl2]t8n04ˬrrrѻwJլY3EEE Q׮]_̙3HCoΟ?]dqMsСɓ'*))$?~\uyfIҰa*\۱c$IQQQ裏*DDDH_}kVK})7֭[7kNIII6$<#o >ܸ"##]vUx^^}|M7IΞ={ݙBAA$EܹS4dȐrڵ;jzCUו<<<_j2dnfhpNn5kƷdn=ܣD4i3gΔazWC̪l6egg[ ׷XaaTZZ*.0=K3{lZr$ĉO4q뚷b JNNVdd5tPWC]2eyyyfU[[njժk͹sJ~֬NPP è0޶m[Iҹs*\<:.88X^n/q˖-%IוxyyIʍ*''G^^^ەܹkW+=tfCp8htpXս{wy{{^vQcժuֹVA+:uJw l3}ꩧ~z]MSttvQ+ fpmvf̘e˖ŋVpYfcu 70OOOCEEE2M=zNLLn&k*,,Բe4iҤr eޫ1 C?vޭK.)11Qijz饗d]OOOv\#siҤI:qJKKe^~eIin*YYY5ɬbm孬Iguvv[[5k˗/WtR?44TRϏl6 [y.\t5׫TwovvLt,MPJJ1rRRRh ڿƍ׷~:X֍;Vi*22µ\uQQQQuȑ#ٳ,ZPy>^ݤ^.]*rϙ}{I:o֢Y&0>}ZEEEVG$IEEE:s¬Ӓ Xfɓھ}{xbku2mS3FgVqqqDGGk˖-wf̘͛רT%55UhYegg[@#uAj8-0*ԵmV}FiӦM6ܹ{=mٲE>`l6MS|͒kʔ)zWծ];9?~$iРAٳ.]*0Ty)119L0\}@@^z%+$$D/ժU+}y,_\wyt题%$$K.UƍXiݚ4iR͛'I2 C-$CQQQn}ު:2?&N^xAm۶#|5eP{ 4MC>S>},au@ g}^zY@H6nX9R[lQ~~"Z2p@۷O:w}UfBCCumUzL˼?~]aZ~}A@Ct ~ڻw~_ZI{tR%''+008{OcƌQ~~<==Oɓou  SVVv(Z8 BRRz衵kjرV̆ #^fY`llfu>5t:'^y+&11Qah˖-$ooogkeǏTPPk,33Sty͚5KjٲZjaÆ飏>VԩSfSPP~a]xQ)))1bl6BCC5i$\;#GnW⏳T4p@[ҥKe~<9j׾sj?OIIQLL(>>Ԛ5k*]k֬Yz'˗wC=8=sJKKӂ f޾[W֦M+W+lW*߻_|Gի5g)___}2MSi5ѣG%I:tvk=8)55Uׯׇ~qƹu L˴o߾ueȑz)..N pq4b+"&I͵8 =zڱccիWk…ZpQ2䄅)%%$)%%EP|I_>>>ӧպuktj劊:uꤵk*44TȨ0?|}}k׮ڱcf͚ݻOSLk駟֥KAOݺuӛo4)_BBdyiСnSneĉ۷|}}5p@ >\233܆veeF2"::Z)))/S/Q4b$5[P øcVD%.,,L[nu ye-ZcZ@yV: Ir:4pݻw7o$ >ܸ"##?Ivү~r{Yv髯0޾}{%%%8Ν;%IC NNt )߰a*\۱cy $I-ZϥW^>馛$IgϞU֭}nC;+yxx(?? O>СuwZIӬYpBƪM6VGSNVhl6$)''$p1MFMs4:Pht*,,P|}}+*++K^^^_)88X^ᚿ5k͛ǧxUZZZɑ*\o۶T$U[W"Iv-[J(%&&ZO.-_(To Vߩ-NK IDAT1Y&AL4NSP<==eUPP 322$I!!!f@_pyߏQPIRVV[k74 Ldgg4Muiȑ:rRRRj֬YzW[@#tYeVNTfhrUPP`u4qȠY&&kԨQm۶/,,Ԟ={!C{aÆIvYn<33SǏw{m߾µ=zh̙}||teǷ~?HIҙ3g^ihgZ&55U?c. 0@Z_@Ҵi㣗_~(,,j޼Y&!4u)KIIi4dr8֭['NhJKKSBB= /@>PnnkM0A~~~nS3gj۶mљ3g4uTkx]wĉ:}8dOm*))Z_ڙ9r$iQ-ZЈ#i&@j6g+:wq4"eohB̪!???X@#FL49e NIԕ݃rIel"Ia:x|p=ƌCᄈ: $M:Uz饗IMMD̫lζ:uP? 4MC-00P .o~ [ry?(x@qF2YYYڵj*ԣG]Vcǎ:G Zj˗+..8tR-X@j۶q4oqVGiкv͟?(0-ZX.EEEn: 4MJ,Nд)//O@Sſ[c +89Ncs:r8V4v] nݺ:RѣG+>>FW-[õi&e6?^~e-[L-:F 55U۷:Fgٔcu o:x:<!OOO: #;;[|>c?~_Y @@L4IC)))V@BLzÇkڴizouFkZp!2`1chԨQ:}n&4yޚ={ϟٳgm۶VG,=ζ:bʔ)VGjٳڸq֬YGE***$Z%K_i3 |HY:8ILGa\`cV+,,L[nQuZh2`CfiVGM:Uv]K,: Fflɱ:5߿:t蠹sѣjX׊x7N[rJ]|?teI Y&,t:fu h2LӼ꣡7yzz***J6m: Ksъ+tYhԮ];c4xζ:5o>۷OiVhy%??zLuHMMĉUVUhY… ,My, .pXl̘1ڿ?7 Բeˬ;{BCC)77HNN<<5w=h׼2ݻw$ڵ@3f>c;w(¤IԺuk-^(4XQl*--U~~Qp[vvv-Z0 Gѧ~ ]/0*֬Y3[oUձczN!Y&,ác:u24z~ÇkӦM:w|M%$$/LԚ5k$@^a\R.\ .o߾:p$iΜ92MSeLTqqF)4-I5kx kzwC)..N=Ҵ`YFo͵sN;V 7?<: "+*qpIsiY*4-.娑YikhNj(jb'+e6hDApeQI@?}>ˇ}~˘}u1Bƍӄ =z^}U-\P'O0G۶mjsTTƍ:uJCڷo$qWcttuQʵ~}kieZZڶm+Vh:qvޭN:GՒ%K]ϑ#GjԨQ:r䈒ZlMI5j(M4IGSNsϮ뚇HRwުSL2믿9Ǐ+((tF-I% UU[eEnnnݻ֭[SNiɒ%С>\\\Y䘫,RfC?~2apZ6MYYY:y8'N(++aI&̙3Z`"""p)''>|X}W~ʕr83fL>;奡C*<<\7nZj%ooo9R6M7n,:uRLLի h̘14h,Xu[lQxx"""FiΜ9j֬UΜ9={*??_W^RSS%I~~~W=ǰaԾ}{yyy{UϞ=sN8q\{W{I`-;^nׂ ԫW/QF+I:w\Eiҥ:t萺t"___u޽p⯝>}Z}Uƍ˗[SNIŋG??"׮][,{\y_e>׺/KKi˂s֩SG>>>n*~%~%X`uQ6_޽?t ~eذa /l:@@B0,PkҥZ|Znm:Z~95khΝ%\apZnnn aX&n8ݮƍt |||t…_𞞞^l}ݺuUV-]xQď{{J hB޽5}t >\ХKp8׿Up8 ZCj:sp8ԯ_?͛7عkժ͛7kݺujѢ;wY$?.o^*ByjS4ϥteee ͕r_L9 7v5k֘Niĉz7ta94eR܈?3zO1bէO95VnnyW>2l6Mg$''f֣GIҦMOKKӁׯ}b_U&MWxSKz^/|m߾];v6lX8׭[W? UPBB,҆ QHH[}UjjjnMrCRQŕ'NhR$mܸ9[n~\{+Ivv[ؿo;vL-[,tYk~QIpc_[lщ'LW{1(66t Ο?Le,*MN*rss5p@r-={-66V3g2l6v 8ΰL5¬Yh}'־}裏84`jڴ{1%&&ٳ:uꔖ,YiӦiܹUV:p9JRǎoN:)--Msщ'tymݺU/.{x }7Uzz^y9u5k(##CSnn$e˖ (6$F"y2d,*t~w2d4ٳeOkÆ RJJF ѣG믿VNNvڥ!CvZ`A)I{$uڵzPz}UڵNiĉz7y%IU\\\ɰL@szn::r^yM2E!!!sT# ˄S eX&n8ݮPpݚ6mJm۶C=FiȑfkڱcѣGaÆ |uiEϟ?_~7ojj޼yڒdY֭['Iɓk.Y?X,K/ Y>L999,KSN$kȑZpeٴtR 4H6mH>3)22Rj޼6mڤ7xC&M$\Rei޽:z,󕔔N:ŋJJJR:u G6L_;v=JeY$nZz*^*yOMM4ir`@@y3F-ZPnnn+kKiKI Ν;5p@3FםwީӧOk۶mjҤIӲ"{IHH(fȐ!;wnRn]͛7O111 ]wݥzsKڵk={^yyygϞZbGUƍ 9 ,MbP2e7j…[otN`=SST3pLYtF0;pSj: _z 9_XXΟ?ÇWٳg^ziŦs*͙3g704ݫ֭[+..Ns@?Ǘ8j=:|7nl:ojԨQڿl6߿.\ڵkΩn=c1@)))jݺz~tNyfEDDhƍѣJUj©l6]pAiiiS$; .z5BZZu"ǓuAuPYk͚5ZhJp84vXjsơCԯ_?0(=zWV2OM7ݤ_~t CRSSՠAerrrLgPĥK?Iӂ Lhƌ~1(@0,N``n7\gQp1,@Mqi9RGѹsc 8P2euڵki:?~\Җ-[h:i,YD3g̙3M8=www=ZbM&M;ß'NEy{{+++tEKھ}VZ%95_W>|Xs5bX&Zppݕl:N"99Y 2-00P7o֙3gt]w^zu-hǎo~S)kY5?NZ)mZhh>#Np/n:ũ*22t+**JvҁLs͜9SSVLhiii5k&Nț~ IDAT(Z\\\ԤIv)pv]7|\\U fҥtrCpsjԨ5e9WWWhȑ7P5FXeͰL@AO>5joܸqjР{9)1酆2,7nWhh TA߿L ~al6͚5t ,55U3e áaÆE/ʕ+5|թStjapz6aavl6 nsΕeY,K7qI:}/^Ν;_[4x`ݻFoҬ\T >_'*>> j?P~T*&&FK.աCLYF>>>2͛7jŊ_-??_GVDDzm:@5ǰL8=ͦdp P#?^C-[,qIzg5fG}N<~[{wܡ_"##p8ԥK>מ={ԦMuUÇ+&&FSLzڷoP\t `Сo~3fNp\tI 2Rx{{+;;t޽[&MҴi?tNM.\h:@ L8=ͦ#G(//t j<0,S{SO)00Pر┟{t^޽{ѣ 7mTk׮̙3j**eY8pp8L4i.]pddd(//OS///e֠A= SgUfL Z8LCYCCCMo,YRx˖-ᡃ22 /Z˖-Cga7PEFFVRR\Vg6HKK$e2F=:sj:ƛ0ac:@ L8=&IKPc?rrrtyvm,tNp8o]v .q<mذlZ~;Xt U'Oֲe˴~9*Y̠ %ՋLg[o8[~|Wzw5o%KYW믿t7|9o߾r8ӧ$iȑ5j9$J~'o^vҚ5ktqk>}}h۶m'Ijܸ]HHHj+==]~\&O{O7)((tF#ásΙN8 .hj޼Mf:),ZH~.\h:@ ðL@fn7n3,.sIu]:uŋ}=&&Fv] ,P^Fi޽{uW^f͚)..NAAA;v?^浗0a:u$OOOkNyyyjР&M3ghZhwyGγe+""BjԨ̙f͚YW~~~W~,P5mTwqVXa:Wf͚i̙ST"e$);;p <:|Uvm95/j 3aX& e`X&ONNuwzZlڵk%I=z(DEGGY׳g"kեK?^q^;,q6m$u֭b0%{/5b%%%)??_~uԩp݅ $Innn%>nZjW]|\)WWWM2EqqqL$iii 4Q 2\p/^^{AyjҤIS@ $2,n+44t+$$Dn2sssuYթSG>>>W<׵5jHeyyyYYYSN /PآEtR:tH]tw^8ij@:u$I/^,iۅq5(effG4p@5o\3f02, ,;;p 9rD#FO<(9Na۶mӫZߥbX& f)55U.\0… JKKf3ƍ9RZjjժUx$IӅ us]k%IeZ[х J|S,KC͛u%$$p_~7o^Ạ Iٳgr8k<СVXa:W^+Wo:@%HKKcXf9a 2-//O _9N!//Oխ[7ta3,pæSPC%''p0,ӛ:u[[NW]H6nXk[O?]d݆ Ֆ-[nݺymiCiӦ"O8[_n]$777EDD(!!Aei$I)))W|GY fF0o~3fNP RSSyÒrİL@Laaa7oM67ФI [=_;VYvBBBԳg2]WՋze˖N5_vfΜi:@JMM$.~,˒Mjt `ŠEGG+00P>5p8#"""k:5s=-[hݦSD$^p ={Vի/^\k{U֭HCT˲N*!!!AӡCj:WzjEFFjϞ=jѢ`СRRRb: ĉ5vX)ҥK޽<_q 'k׮ڰa>9T T]LUfn7nfT#~~~Z~֬YE?t맘eNgϞ_Lz!hB3f0ɲ,N|||e:PO?{Ǡ$77Wcƌу>ȠL72lJNN6*99a2kݺvڥDeffJ,Y3gj̙(nnnԻk:`YLիWo1?~\rss3R-yyyܹs35̎;/j`:iȑ#;wNal6vv;2>HBHUnCڹs\C~tkƌST Ψ<==c:P9sFT.]4n89NÊՋ/P92 Չ'e:5LVVN< FPnwy´l2)˲ /h͚5ڻw)##C 64Qmyyy1,P|I?^,24FP=ӦS8ee$IfCPvI2d/N5<;4}t)SzzLgT[^^^:w @ kiժUZ|M8uiÆ &77792l,p!PQv,7l:`ܹseY,Rƍ+jժ<<< c߾}Çu+33tJ?'NT|| R:tN>D)˲>޽{MjذjK99935}4~xM:ڳgڴi]tNR)SN(&MֲeL6mhڴiS\e^OOOe[NN 6m7ԩSuY͙3t 'İL26Mɦ3P$''fj[:t0Qm^ZCO=մiS9rDv[=fU233ջwo==z*Mjڵ9sVZe:TɓSp eڵkg9)==aˋa6vXiٲeU[ ,PllMpB .*n:5nWhh @ uIR T /Nr_kٲz!=33pMWڵzj)(>}M6z饗L(|:uJS-eתU;7l:i\tIOb2224vXvjذ={;w,RNNo.˲dYjժUꦄ,KkС:}ջwo(((HÇWVVVs)>>^ Zh ҥK|"͖e)--{]n$CeC\Zь3 uС6mTxAW|߯~N8QݻWǏW˖-K^8p֭W^:x`KEwekYp\jJHC՗_~NA)[m۶̙3M( IR@@K9993ŋ5x`|zM8ǏkҤIV֭Mpb .cٔ'ONA q eee1,@4zhZpN<^aaaӧmV.55Um۶ժUkԩSOu)o^_}$ir8G99啺o߾r8ӧ$iܸqz甖kVttuQ|OiKEwekYp\HPuU!!!3Rzn:ܹt 2HOO$5lpIŰL@yM0AӪUa:ǩ<3.wp1,Lhh$)99hj{d˖- WDD<<<ԨQ#͙3G͚5+.&&Fּyt}[ZrƌSi?yyyiС WbbƍVZ[#Gfƍ}NzA3f  (33Μ9={*??_W^׽{L&LPNv)//O 4(^RSS%I~~~W}aÆ}ҽޫ={jΝ:qDu.sߙyq,*:EEEwߕ0RٳNM>t 2ȐMT[:w @5L8>LqqqZpMpr .s7Uvt j.WWWtMSu]_~F$K߯N:KHHzUݻw+%%R۴iSرcEK[n-vΖ-[ŋo Z\nj׮\\\4|yWS^V;Se˅ $InnnW}m^L8rZj Py>|X۶m3Rz~zرt RJOOjժe:R^^rssMG?Cq*z'ԧOtWvqssSpp02QavBBBTvm)P-ZwU.]$I;vȑ#HϋΞ=+I~G5nܸ}}}|"WWWyzz9K.9vY/ڵk3gs wiN>}qJLL5dȐz˲UXYRNIŋX>W՗.L8r}ҥKr8_*Ir8kKs-.WV-m޼Y֭S-4|pܹz˲ׂ^~b=T2$IGY*ϋǭIKL9:tVZuM:U}va:@)dddaÆ37)B8 IDAT1\M/BV?*66VӦMShhİLͦd! ƪ[~I""" ˲aÆuS^^o^jҤ yzzw뭷_ĝ۷+00PcǎUÆ ?^>>> >Cy{{o߾JMM=uҵ =zԽHm&IJII)c(ueyя[_pT ҹsn:)(ݻCz饗L(e^?///I \۶m4c ͙3G[6t|Ir-;v(İLWBCCeMg 5'7|\W^PΝ ̞=[M6c=D={VNҒ%K4m4͝;Wj*\^Б#GW_СCر ݗ:uꤴ4͙3G'NuV-^)͵(Ihh֬Y O^ZQ׮]u1oSvvкu4`"?nv5o\Ԃ ԼyR5%%%ɲ,[Nɓ'k׮],KeY^~e},K}rrrdYN*Iȑ#pBfiҥ4h$)""Bmڴ)Xr,޽{uQY+))I:uŋ:uhȐ!kBBBZ2_4ь34l0͚5KzG*00P'OeY8qbϗeYZXaÆ믿ֱcǮyo|Oll$uիWKEweyIMM4iRڵk={^:TE?l٢NA)uM;v,}+##C 64Q C}W T]LUf$v% { ~~~Z~֬YEΩCcǎOn::t맘ejVZ:t~mA)EDD讻Ҍ3L|>}ZS5///IRNN@U{nM8QSNeP۷o[oy1(@İLWBBBd)撓UvmNnZvRbb233MTǏСCڲeMT[K,̙35sL)ѣG'NAL2Emf:@ N<|5ltJ*wwwe?A111s/#G*""B 2%bX&+...馛dM@E,SN5Y!i)44T}|}}MT@} 7R*22tuk֬:t蠷zt {]wݥӧNP IbXfҹsLg'|RNR\\\]]M8_~Yv]-2WTtP2,n+44tt L{P1q1B vF^|EuE۶mSǎML̀%՟rrrLgwyG֭[`9N={MM+r1TE6anv]6t˗NAtYw}Mf:US=///e zꩧ4~xtq8z'լY3EGGbX&Pͦd撓 !>_S*eʕ,KeN:>O||Zj%۷KQpĉo: _t _͛矛Np tJǰL@\ 8Pzf̘a:)[OdbX&PͦYyyySPM)%%aJgiF]vJP.]}۷+**J]vUFF~'5nܸ++WvvntJ}PvÇWLLLr;?6c5SiѲ?RYf[!jeej2+LEdiY2ˬvr $7:r1|׳7u}ki Y_|x[nQV4m4)NqAƚ 5=~ 1w߯qiȑf:.aYr~3 j޽*((P\\p"""ԢE %Rر.=v\\ReiȑP g]}զӊcYnnw9Wyx6sxAz뭷ciŊv\w7x7nW^yt <4c }ڸqqU^tO Mg [zy-X@W\q4j(U\YӧO7°L,v$p.AEu9y/Pz)edd())t #IZᒒ\~W{S*4iܸn=Cr\zlg ˕c:hѢnM6t 8xbccMgpe۳g wަsҺu|r=s0°L,jԨpeieƲ,˺馛Tvm9*,,4/}Pr]v޽{f)7UPP7xt <4c mذA|sXfMges\իjԨgyt_߯={cǎs Ct:Mgr:f3e&??_IIIjذ;w9c5b)$$DJHHжmۊyetqmڴI6M6MAAAnZjUl6رCݻwWժU:tH.Kiiij׮j֬P]s57onYCqոqT=TJUZU:tЯzw=գGU\YUVUbb9"ө;rʪU 3WqS]?Oɽ~a3F 4PHHվ}{mذhG}EE׭[WZj%:S_R%]zj۶^{5U*I?t風(e˖.|~mIRhhl6]5,Rг{ĉsג{koQWV۶m=xsA&M$I~pqVΝ;W^15o\mڴɓMt@R\CNZK.UXX4yd>|Xg6՝wi%&&@շo_C3nglEEEY|keddXcǎ$Y6l(ׯoըQZfcwK.>^7<n[5j԰}]+++ڱc`l6k…5~iڴUjUk֬iVvva͘1Òd͝;­'/bURŪSX999ozV\\UR:3WkXeq:wޯ{l~ڶmkƞqL~px~deeY-[l$Yiii }K}v)ЦM,Il:{ժUϟo:'3ƺ馛Lg ذah-Xtڶmtƿ["qn0 pn2G)>>^ڵShhjԨYf+8m &(==]swܡk,K>`5?^ZRXXn&\.UVMԪU+M0AѪV|A[Svvy!%]sþ}$IQQQ=լY3m۶;W_СCW8ՠAԴiS+11QZvƌ&M(""BÆ n{W*s'^w8zgԡCEFF+ҥKUV-1B/sr87o:tʕ+F R^^E<(%%EsӧkӦMM~rݪ^ưL3ei ւ LsjzeL n^4 ('N(##Cvt +%%EvR6moh$+++Kn[QQQlo$IK4u{VVt5(::$ztr1psK$邃oN:$$Dvy<뀀*,,큁<^KTr3YF IRFFFӹU/]r%86B^ϒ8O[wns4}rz 4HիMC͚5ӭު)SNց$9/<<~ z)[N˗/WLLӧkĉjԨ(e`eYvm:Lzzn72<ͦD}:zVZ%˲9sH*U*U(((H,묿n^uQ3fА!CsNnYsJ,#n+^V-o훑Qa'{kVGTq{}u֝СCڱcGI_SzJ%{nzzs] ܹsN-@4h֭[={N5knMIIISt*::tO Snnn,=z[nرcMŋkZpBBBL@1,8(UREt *áhURt {Wu=S,K[.g̙jРk*++KZ`O~ZAAAE_wuڹs٣͛7k׮]jٲe5UVЬYt!iÆ zK|jt.qƪ^/J۷l6[/n5j(^Z999ڹsz}i޼yQFz~w=s:v~W9RիW/9v=Zk֬QNNݫO+WQ{WLLFرcշo_EDDJ*kx^OdMOWOyrߜ{Tfͳ{ m۶Mҟ(]vU5JuP4ϣ>/Bׯ7C)&&FS|BDDnw,0|p^S@%Ʉ 3F>nf9pq,ԤIk3P7κkMgGngmf 6jԨfX߬ Zn}>l3ƺˬ`+66ֺ[ן?ղeK+<<ܪ[5b7m޼ْtƯuAkذaVݺu`FրGyg6my^8Ps,˚8qdoI&Ye;h=_}gΜi}gl:uGqR֭rh{|OCYFvlEEEYvGqGZjժeZ-Z+iӦEǏjղziܹDnz=yZeرҥiZ7pzjM6E4q[ouټys>s /_s={v}9~-i{q]0o6nhj ;c\>SI-˲ufթS?'_7--ͣĉ5kz,wh߾լY3INN*>?$Y2(C/`}S]weկ_1@[fYuM`NAҽ{w74֭[7Iʕ+ YYYW/)3GUڵէO-\t_aQy4lPyyyJOO/:N^{.]={z6Miii޽{ؽ{.2-[Pq|׺vZvms1j(mݺU}矫yڳg.R92}vx=z}Q9~wUNn:[2tvN T0NSvtDEEwo)eiG5k IDATĈԌ3L%Q&##C111*((8mԯ֭[E*خ] &x<(Pի;C/@ӦMվ}{MR͚5M%Qȑ#6l٣\mٲE=zPddLR(+ ,c={t @õam߾t J`믵n:)`XfbX&|PwVZZMѣGPg6ay1 "''GR\\96킿MgիW+22tJY>3ǛN;ۭ}*""B .4׾{=S9s.29PfLn3,Ŗ.n:JVtt ֱci:~@?@zHAANJLL#<5tJ`jܸyutsY6 c=7O?Er4h 5mTw(SL.n+;;[8Ç+++a*aÆm۶3PByyyz'UPP'xtث-[w_j:ШQdYz!ƚ΁z """Իwo͟?_#Gf3]}ҥթS'!P233*UN) >O릛n2fϞ_oh:2 89t2,t:%a*m2,rԩ222aÆN?`9r{^aĉҥK_(22t^Ћ/ 6u֦sPӧO_WҥdffJ* 0S ב#GԷo_z1bO?)99YSNUFL@.^z 0/p8uN &裏>R>},|*//O&MocǎNq);;[ݻwWaa$B||7o^xt J(>>^ 2en9r?< 0,*&˲4p@\.-^X6tr2d5jcǚrLBBBTvmeԩ)?rJ͚5K=nN[lڶm|P.K$@o#wyG)))V6k,mݺU))) 6a@1vev o5`3F Raa!2aѣGn:K111j׮-[f: PPP ԴiS-X@O?^~eYxnݺ)&&FP||.%%%v|FffMge@K<򈒒Ժuk9~ִi4uT]}զs0,(.i:^t2,P.222ԩS'5o\O<$1,Flܹ$W^zuaewr\D?^w6nh BBBt=襗^*Dœ~Iogdff*&&taX&T,ǏWu 7hɦsհaC;t+e`p8Lg9eݻ+,,L+VPPP$e¬e˖C$uE!!!z7 \۷W={nexaÆi߾}ZjUW]nݺiԩrݦs̲LX>8p@Þ~imݺU/Vpp(W !..NNSeN,KwV\\m6T*U\@yڷo6nܨ^zm Wǎl2e,Uu@@,Yիs:~:̳ر͛g:aԩ駟oN|22HKKSjj-Zzk;vPrrt5טrǰLv~)R͕n7asѫK*>>*00PYZZվ}ӶK~k N)I+W;C~Mr݆#Gg}t JQF޽{dff*::taX&T 5tP=Z:u2n 6F0,(x2ee?~x u3,,[LwuBCCO~+::Z˗/7TH*((8c{\\j͚5>}2GVԤI=쳦SpM;vhʕS /33S1113|2{5sL9~oڲe/^`9`2bSBBBsr8 VڵM|/=zy;vYaX&L_W_W^g|/$$D]vղe :װLA-[ӵbŊr.1B˗/of:%tWG>}n:qY /_]!!!sڎ;4uT%%%k10,(@խ[WNt TR(۶mӥ^7/Wrr2aҥKի\)((H.\T~}}ԠA׻wohSpsN!33SY m͚5z /+4n+Rƍ3F* .a:^pnnݺ[nھ}V\^{MӦMSӦM޽{PAA=wݲlZb7e~z饗|r;vL-[ԫnݺ)44t&UTIÆ /'K.1գGM:UݺuTJaeaݫk۷7gmٲE[nUpp0*tPQ1,p8g:㕜y),,L 4ФIt饗jɒ% oQ~~wծ][ 4Ю]k.mٲEE_;NiF0 ? _$EDDSNׯ28߯l-]t .ԩSk.N*2 ewrׯbbb4w\9~oǎJJJҔ)St5טLnl:^pm۶3~bɒ%馛cǎ,Y|i#kO۶b )C=+>>^?+55Ucƌ1\w^w﮹s{f3իW/%''{ ?89,3&&paX&xSjڼy*Wl:ǯn j޼~a9~/??_W˖-uİLv]t`X&}ڱcMO޽b )x*U7o M"$%%iϞ=ZdBTLL İL0{ѣG+00tߛ0a٣EfİLqqq Lg|\jj5j뮻t HuY)))SJ#Gݻzj)Wbb}Q\.9Ttt İL0k…ZlRSSUV-9~oӦM?y^zsk1,n|)ڷov+((PZZg:|J~i&رt ^/߮yNE2e٣T)TLL İL0ԨQ4n8z뭦s5`y߿j <`v{n)r {Oӧ)z.R-]t ^iȑڰa;)W5m4svh)>RJl rv [W_}Mf:FGjS1,Ɂp {aVZnݺSW^ZxnNvtUWiܹSp&O})55t ൲ve:'l63٨Q˗+$$t+W͚5McX&hURENt TTTTb:ࣲ{)11t +==]~fرctR޽t.Bz4`͘1Au9dggK"## AP|M-X@/8z >}[nsB`X&ࡸ89C]v [|$k׮K7SJJR߾}UV-=3S*EZΐ$M4IZxM aW ei:t={1[ÇּyLx o621,r83aڵLׯVXcǎNkĈz饗ta9=ܣG}auY0,1,ʇRϞ=UV-͞=t$[JKK/9Pa0,ngX&8vt:+11t ޽{+??_oСC^xt .ĉ~kSð̲ǰL(&Mw}+V(44t۷oaÆ}sBaX&!.i:^t2,PfRRRmۚN+%%t ^r>|}Ys|+IIj Sbw UXK.)MN5US 5F4On[UPwuWUU-vH.tPUVeUUU%*QGtDN9QUYUK4DC3^jF(Nq Qb%h󴞖M6qmҦc)u(Muc)??_׭"\7l(""E/NP6V_Yg)H]<_ ?_-ҠAGg=gxõP10,nׁt1)0:x 2efҥӧ.3O~c:4j(^;>CгzVuX?'5TCuVg}O[u꩞jI?ihjhE]dRgu$ 0ݧG{P3Fc4N㔡 =gDKG}4J4C3Od5USO{}ڧtVhT>'T6k$iʒp_.<^6ydAjp+QWjh"a&zO4q IDATAJCP\e҃zУŪ]\\ rP)YY/BBBTPP 5nWt]xz?ƏI&Yf|yѵPq0,nA_'.T]uUkM_ Qݕb:5n8޽[oYn\C5T_ PC;Jڠ g|c5V ]7Ƌ? IӾg^Gu~?m*RAN^S5x}W{Qu( &MҡCꫯr*uCQTT$ge !5=O1 kAAﯫJ&Mg\K Wll,2!áի+""t Zr~a)W^[n_\veJHH̙3ս{wlӾ?_LʹXFm$I-R4L]յh,eif-ګ:z*WxG"O:@ Tv@-wW$IQ:_t.`GIס4ԪUK֣>_f\pP}O8uX&k'=JÖ-['xBk-jQ|󍂃%wkb 0TDv]Nt s:3>Sffze:M7ݤ *%%t ^kĉ=lJT>ԇ:ZUd)A 9EuTG N%Ks5Wd*D%URUQTYR36za„ :rVΩ2ya1ѣѣڶmѣG|g}Yfiܹ+N3 Jnp΀aa2[nEu5~'11QK.U~~R&MԺuk=g|g,I VکViliH UMڤX HS^H %(A.IޓzRTO.)L菢ԕzI/y:ԪUKC уjۉmn'yuC9uX&ϳy_:,5t{ӢEdx~fee)11Q:tА!CN׆>cX&P ˄İL@8r֬YD)ﯣGjڵSZǏG}/ݫ{Wu@%KZ@R+e(C4KtHymЋzOc35S @5PkVYR2@ 4]VNivjh6kvZz:L0Ap7[n(˔xak̳Ś?V\_]5j(Pnn,Xpsme%ǰLt*..tǤ)00P S/թSGZRJJVvԴiS͞=Q P=S1Q#5:޽EU'ECES6gV]rw+sm5- T.5o*%yLW5ӶVsMKm[utL3K 3ǺZ"|\^g"{r9Q+/{,ǘ=|giԨQ7nڵkw|~5W^QVV^~K{gz^@euVwӉ'TV-90ĉ֭[վ}{9rʲ,Zt p֮]8e&* WGQ:uLrrr}3;vL͚5ɓ5tP91r:v쨉'N X׫j:* o[F%Khɒ%zxUzuc_0=Yc󊏏Д)SL\~~-((P=t+99teU@2TVeVmeZffZl֭[NH RBB233vM $ǣ%KNԩhԩ7T"*""tJ@3= ٳ>{jڵVHJNNRffvHedY\. rB[N={4/O<=~t ~v8pfΜbHNNV~~-Zd:Pş,_e@l޼Ys… u 7΁-[hܹZ`nc@)99Ny^)`^W0N<ݻN뮻Nwy222LFm:UN=䓚:uΞ=k:>zgUPPŋN* c#44L GIIIYΝk:5{ꥈ͟?t<2R*Jt:KPъs2eĉڼyM.[n***+b:SNiŊSh 4HSNe0UF^^$2cpu^xZvjԨa:ӵuVeeek1L5j2 ө5lt (88X>eԮ][:tPFFZջwoM2!0j(hѢES /X&;C4͘1CzHڽ{RRR_sJ`,(%ݮƍ3Y9N5iDvt dffGUddOHJJҶm+HNNַ~t5}t>}tPˬe@ɜ]O6gJ 62fϞ7xCk֬QttHZn222l2Ę*Le1Y9NYe:Py^eeeGsWkǎSkM6U||TTTd:>5jnϟo:(WΝSHHiy 1~k=zRSSu΁ÇzꩧԩS'9P_,W_}%m:vÌe|JLL4(nMZRFF^JJ\.֭[g:>Y3fӦsrSXX0cK9sF5zh9TTTnݺ)&&FӦM3Uc,uQ) G,33S-[TVLJ(!!A:{Zf'2yn͛7t Pn ˬAA?~kK 8P'Nի/ ìT}ZzM@X&!Ir:fCPa(,,ON\$_7KII 6Nj֬Cj:u\(44tF+dH.|reeei劉1ILYfg`cׯ2өpիWt ӟ'O{SW^zza:עE uEiiizs#FfiSrQXX0nKb,5|p5J:t0I'OTBBy 0tTie>ljҤ cUf3233aÆSW)))I[lѱcLRRRgkSࣨ( :T3fЩSLe 㷦nΝSll7o'΁$׫޽{hٲesc,eYr\3PA\.,2N8-[(11t }QEFF*;;t ~UVzG*k:>ze4o<)@+,,Thh錀g%Ip #Ft*''߇?IVRڵM@X&#˲t:Mg8N2>Vpp:wl:P ժUS׮]a:Jמ={a)QTT 3fɓs2UPP0/(oMn%`ކ h"-\?O?T?~~ߘLg*tpTbҥ"##MJ)))I|c:wM7k׮0a<h;wL*44tFÇo߾ׯza:Μ9XyzLLGeȑ#*((0rVXXGʲ,)J/G}D)mV͚5SFF* &h߾}Zn(**JÇ׬YtI9@)((PXX錀㷦n0HݻwW 4k,9AZzqgye>,KG6rv!y<2 7fSBBVZ"9oQݺuH Æ nל9sLe Pz'[NRHMMf)5\#Fh:qL(44tF+;12TU۶mӴi4w\jt$߿_Æ ȑ#ձcG9X&ڵk+**J.t ʙRTTjժe:P {:xLʀP۶ma:JS=ϫt|4l0j٦S2QPP0/(oMn%PrssգG=۷H:wbccռys\c@p8r:3PΜN,2233u-UVSe$))I6mҩSLP)?^NSV2EFFj3gN8a:YaaBCCMg<.Ix|\.rrrs)22Xft:p8Lg*siݺuJLL4(C ҺuLP)4kLIIIzUXXh:>:t4k,)ϊl:#im*ִiMk֬QZL@d-\?O}e,}ᇦ3PΜN^J_׿ořNݻwkɒ%~ 4m4ܹ M6ׯ*iZj222O΁"##5b:t֭k: (5Xf(xH:r䈒$9b,(Sctnݺ sN%&&NҰaC 0@'OV^^hРA̙3MXf(~=(?ΝS=ԪU+?t${… Mc@,K.tʉeY3ʕ+t c̙37oz9rϟ\9Uc,bimuaYF!!!s )%%E;wԚ5kxqLdʈeYr:3PNN'czzj%$$0@HOOffSF~ru+88*ۭŋ{QTTBBB~Xϯ/FRVٙ3g.N??jԨVcJnݺ6lN'N΁z)EEE)==t pn7~cp uiZ|ǯO [n1JeeX&jr:7@@:s挮:uСBoȑ] IDATzjݺe?~=#3f iSOsڻwN>w}Wz6mژNgz~}'N>~/^,IUJJJ):#Gn׌3LGzgpBJQQ/vRc2o߾={*..N{6(22p8tA('.Ktԭުot Vddڶm{ُy^y<7n޽[5j0Sj?;w*;;[}ѳ>FZjj֬^|E 8yMjڵkO^n֬Yjܸqtyd͙3Gǎ3 4HQQQ>}સn2+@PЏߚv݆Kl?^jҤNj:9޽d9Rb,(#e~ЩSLD6l/jUc@)Rt:KP֊S2%k̙3޽PA(zI\oWdRRW^jذ^{5ٳ璏ϝ;W?5kk"P*ժUs=%Ksࣁvښ1cˬAA?~kv.yf͚5K ,PM@믿ٳgkM|X&PF6m \.)(c.KAAAjҤ@%۫~SmV6¯I҃>xO:%I*((ռysEDDvر^{esp|͚3g<υmܸ 0aI;$СCp8u'|.KqqqYաC8peٔ/{{Ν+\1T=C)..N5jPttuI\.uQ5jP Էo_>}+]1J~_W_|M׶mJt]3߄iԨQzz/ؙ3g4o<;goß#>}I&zLGժUӨQpB=ztP"eVǘoVzRllzi:+=ӧ 22 tNAs:QXX@%w7Tbbx'zjݺ,Y"Iz7t]w);;[^W5k֔$ >|Xӈ#|r;wUN$IנAtaر'J7;ڵkpB8qB۶mӉ'tw?l5|p9rD999ݻ_ݑ#Gz{zzUTTt\1T=#Fgձc4{lZJ>|&NoFZl&LPc.9Zn7n-[W l_rγѯ_?իWOׯ׾}.zԢEGL!!!zj*ݻt|ԿEGG+==t P"^W6tF+~^Q||jԨK΁ϫ[nќ9sLc@r8e )a:PIdggZj*֭[kŊ?$y^_ڵSn._WlR۷Wxxիӧ믿v>3FjR:u4dCsѿ˶$''SDD.N:\cƌѡC4sL=ÊT˖-fy^ 2O>nU^]>?hΝKHIPo]իWWbbZl͛7kĈ[˲,e}|9W۶m~\R:uٳg=zI&ZfM5by<M4IYfyԭ[7|7nZjJNN֢Et9DH&äAZZ{=k1b#~֮]92X&P,b,39NYe:PIdffk׮ &"?{9mذAm۶5qK.C>P~cnI:t蠷~nZϟ޽{/qw7nTPP:tpׯ-[j/;㢷7n,I:zhJ$ScHmڴ혘˾aÆׯԩӧN'(}]M8QӦMmf:֭[kѢEj޼@a,(Cer@s\eJ/Ю]h:&NK|q]2 ,PFF\n[&LPzzRRR~:|X~<_W)c0j=~ܒX^ZGUAA\. /oWRRRjUl:u]ymҤIڵk6nh:>z'U^=M:t Ê2Dz2O5zh^w#0gժUz饗b p s倱L 5jH!!!eө`5lt effoM7d:G5jhϞ=ԩ>3}ty; UZZǗ7onݺvjѢl٢^zIcǎp999߿͛Y CԾ}{iF;vfӦM$Il vI;Z}Gܹuyڰa6mڤXIlGJJʅ.Ϻ[աC ?{ljJ-ZP\\̙-Zhƍ^BBBǐ.ͦ:rl6ۅۖ_]6M6MGeJ|k.l6nʔ)zdٴ}vf)55JTu=S\\Ν;CjժrrrwyGaaayV,22Rzs⡇?#YYYl?U_1JwjѣG_2,%44Tz饗_P)66VwuE/s>3 0@O?tb:PNl^k:$/Էo_3t I/S~ܹsjРRSS5l091k׮U\\2 -T=?$iݺuKp%NS-Zٳ5`9uÅ!^Xg5Ў= ӽk:J,))I[l'|9Uޙ3gtw***J۷oWhh$`l6rrr.yH@[d4er@q\,tmڴIgΜQ\\ei0aN>m:> ѣK/СCsR"6p ʕ+j*-[L?ѻwo?~\ׯg(c@,KNtʈd,pEoN2a?^3g4[ 6ԩSM0L͗_~!ChĈzGL@ҬY+hժUjذ@9c,(ct:p8LgXnnnݪD)lWj:FZ4j(رcs=Z˖-2L 믿^&M2I;vѣۛT22fY+n)ÇeYVxxy)zWX&\lU&Nh:>ի5j)SN`@Xf3\W6rH߿_WVhh*/77W]vo[%''T22fY uQ)_B2?+33S]vUDDHJMMҥKo>9AHHƎ˗t`co hźMTyG GO_exXr ϊC2?e߾}ڽ{M@@ٳ7oqƙNzƍkʔ)ST0+L믿VϞ=էOǛ΁;zWm:PXUZ59N)TjT^=)?&M׿hv]SL+t|cjŊ=:FPP<錀X&WTTݻ^z3gHz74uT͛7O~@c,(c6MM6|6zj(oԮ];9*'xBC&M2HqvxewڵkV^9UޡCԳgOu]O>,2eY3~j۶mr\ѣ2&O6md:>3fV\"cl2ef͚֭[Ω ԥKhҥseY?i:>r\馛LgTffڴi-[NZjNTJNNu]g: UcLO>|'l2[N͛770L89rD 5R8=*a:^}U)..t 0U[oe:>,K?U^tJ)!!A'Oɓ|r9ˬ^WcKzz6oެ۷vڦs={_~zgԥK9ÂLȲ,n>|t JСCrݲ,t effꡇRzL@4n8kSݮc*##C_|TaeV 2;w*%%Eiii{LTy'Oc=6mhɦs~L,:N%(玱L_%&&N*nݺ;vMƋUr?`cLӊ׽ޫQFΩ<lN2rkJtF]Yz"""ԱcG)P >\111?~n+%%EM砊b,be?0`~eee)(:c /[jݺu18\.(%˥_3~(33S?M@_|Qڵk{4i$)ˬc6p nҥZfVZ Ωnݪ4͙3Gm۶5#eIJ,9N(%)˲Lg?O}JLL4clljԨZ\\9t |`ە,}sP1Y`޽{Okj߾*rG޽h:gʉ`,s:r83~&##CM6կ~+)?6rHy^nt UBzzymڴt |Э[7]zM VQQ錀z%1 s)>>^7tRSSMTygϞU.]ԨQ#-Yt1 ˲ˬĜN,2#GWVBBc4 DFFm۶3(KqqqzgTXXh:d5n8^Z׿L砊rݦ3cL6l:Ω(ө 6(""t˲|)JgϞw}X&"۶mÇ`:?MoF/6oTZZT1eVL0aZt-Z$a:ʛ3g233_s~LX%׫C?{wVUqsد [w-GmT215Q lQ3D1+%G2+JS)qKӴlqi*Rn x|Fh9oz'޽{`eU$44T i IDATQ}Ϯ%ܹsZjbbbLjoF}Qzݻk۶mş>},˒eYҥKk_oذaei߾}THHHL)>>^aaa PppիW$%%ɲ,h۶m_]`ҤIՌ3LDFFM(??t+$t:+BIIIs<ޱc4h K&L0fSHHcPÆ eLjUV)''GSLvvF'ڲeN:=zh͒ɓ'r)00FDDrm۶%0@.K$1B#GԡCcyyyIF^xAsɓ'_+,,Lׇ~(I-~vΝrrGlzjͦxc:TNMõcHۧnݺufΜ+Vh˖-sPAeiJMM޽{M0Y=2 Ǐ}ݧA7,YyW_UVLj 2*dp8Lgcb/V@@k:P ȲR5j$鿣̗*00͛E WݺuUVuK޽իW/;VsPA R֭5}t)eV}2TB(00P{n=zi:P0 TP2k!áP"%%EQQQ7Ξ={E#ETN 9sB϶,K111Z~Μ94\. 8Pg.u2@M1k,ٳG/6 ,KqqqZ|c:nt:%I^^^K3f>ЛouhN]wݥ:3enӧ+[O꧟~2 8pnM>t cգh,p wkڴizԱcG9PCUAA-[X&P322̆<(Ie$Io񆮹ut ԨQ+''G~*%''8{ȑ#zGUF*GyD{Q^^N83grG%|ڿ:۷ڵk@M2}t9N=sSPAeiʔ)zK .c,0 9sFѺ4vX9oڴi~K-b,B\sԩ#a:ep8dYj) [o)&&Fe"III,KwV5{lM0AM4ѭު hƍӟTOzH3fPFt}'P&MtIYzJ;veYJOO$_U7oVXX-[jڵzW4qg̙nA-[TTTղer$88XqqqJJJ9m۶JLL47Xf5((($yyy.x?^- [ry͛7O۷7MOM4QFFQFF5k&???)6nܨC{1ebcc[ƍ/u+R~Zڴi \$hB[lP… SOiŊsPeiҤI8pvޭ6mژNb,z8NI7@{u֩aÆs<ڞ={tj̘1zLj:w*a:ep8j:Pcǎ 3 ooo͙3G+WԿ/9]v6m)p{NSet 7w^=䓊S=LxSNi馛4sL9ZLv2k!n:`?UV)&&t _~zt:M,ɓj*ڵtܐMg2TEFF]v3 5tPkŊ1c cIZjrsse:PXuяәzMNkNSN57Xfp:6ǵxby {ꩧi&XB52pj$vedd@}we޽{aÆS52*y3fI8_;wTM)//tc,@e[l-ZUVꫯ6V\$-\*M UNN~G)'N(''GS=zTׯWLL@%Mf:ԯ_?o^O????9N9N)n@^^^3oVÇرcտ9mϞ={5f=snLvI0\)}iɒ% R>}LҥKeY,˒QZ`z`k=ܣݻw8T+5fSbbϟ{A+==];w47/I5\ޜNMgpyyyҵ^gytG;}oQ3g4p3eU쪫7cᐷ7&RRRU<@eRxxxeggkU߾} n^'ѣտ}W:yh׮]j۶ҊrM6%k5߯nIcǎ5 ӧ:vD)p#E?t9%Leڿ|MX{+Wt0 TE2k>Q4iuUK,QAA|IyJRN%''kӦMJOO7 ?O}'S&$1Y՜NLg֬Y^xAբE 9ҦMb 5jt Tݮ  v^u]s5ܹl:p p ^oӦu\.YUeЩS'EGGkܸq$wܡ;jڴizwL Kb,$? OC5V\$-\P۷7pSuLnpE82jҥ6lCX@sf{9;vLs1 JHHлᆱO>t ct2 5l05h@ɦs<ڮ]tjԨQzLc@5 e,p8 50dÆ 4d)77hWյkWmݺԹ4YU['OԸqԼys+mݦ_]ΝSRR,RNNmV|\Y: wڴio۷O )Y*IyyyWXX~i*((X|$iҤIz磌҄ 4}t>|t* ""B]tԩSM 0Y=p)Nm۶iٲels<ɓ'?Y7|Lc@5TXXh:Pn70$%%ErZha:[uI~~m?~\Wbb8PrԿR9vڷozKg}nݺK/X\.sr\r\r:j.˳ܒ%K} Pxx.\X;w0b9RҎ;U*IF /sɓ?qq=Sz衇Yw x 5kLO<Tɓf}ǦSPerP[lO?ٳg릛n2Ο??*,,Ԋ+c: nW~~9b:c,}8p;wN~:\5""B};v@o>uQ^?Ao.x>}h:T@\\֮][NA-'̪t:P..K>ԩ_]eNX/.\7|S[6eՠiӦSFF I&S;PÆ M@^^秠RoԨQsYfUvfus7$;v\g)00.{7o-Z*<<\uUDDD/9N w߭1cر;,ޫ$m޼YaaaVppZlkW^ĉo=%%%ɲ,޽[eY1rҥwﮩSNA-cٔe:íthŊZ`KJMM$F0_]Qzzf͚e:P˸\. V0mСz5vXmݺUu{&ҥ>utj ébyyy19t萆GyDw}5j(}W裏T~}9H՝@5r83 L0+VP~~l:PY_|Q;wkf:ԹsgkɦSP);;t[g,@ NSjڴy9+))I,YVZc@5 e,r8 5F)))ӧBBBL<ҥKeY,˒ JJJ*n+M`T6m4j(=4r6mmۦM6NA-aٔe:ít$..N,Y9_z)͜9S}1@ en IDAT3Y9vjrmڴI111S&::Z.KS~Ull\.ڴic:Řl]{۷@ 0m4kĉSPNum)..t j eggpkyyy1شif͚sn0ۧ( 2D?Ja,Fv]Ǐ?l:ܹs:qcA/^z;0 R.].9˥BVsՅV+l6%%%W_M砜Mm۶iÆ SP l6eeepke$8qBsztG駟4p@5o\/.Lv\.}S222rxbEEEt l685k֘NѺ5b9N9(N:oW||6M9995f41 @ 5tPW^1 twJOO$.L 2:%(R 5v޽{c:P ڿ͛g:4uT}GZ~pAAAr\1 l|7|S3㑞x mܸQiii+LfSpp0c5PHHl6@5HIIQu-NxoF Pz]j֭zɓ7n7o.5h@{֦M$%%ɲ,Y+R;wTxxl6Խ{wm۶/Ԙ1c*]~8pvU|&--ei߾}THHHJ}x) @ׯV^#''G۶m+`{nnwfSHHbbbtiedd_~ljڴ~aeeet:Zlz&M_[Vrr K}~piZ*..N6r[ԫW/ǛNA W |`'|)Sg Yh̙W_}U:t0ob,fvpnT-YD111,t}ԩ>S:~ϟD8pcǎ}Zd?X … %Ir\jӦΜ9G}TӧOױcǴe:uJ=z͛+t=zT۷WjjϟSN>ЩSԩS'm߾]4`\._4b9RҎ;UXgJҨQ /hܹ:ykK@uY.K.KNE~y}ܸqz'u1͙3G/=ܣc*11QGUBB.\)Sڵk=z믿֡C4|p7NǏ/>w4i.r=SPNӧO׎;t j_1 x3g(::Z7n}v >\&LА!CLpQen+##t_FFc!֭[cǎ6'Nԙ3g={*((H[kG:?a9͙3G}Uݺuuuiɒ%jڴƌǏ͟?_:uR``ڵkŋ+??_>hg;͞=[wqԪU+-]T.KG׍?^ݺuS@@:v(ө =6lPVԳgOqƚ5k2=<|AmVQV{iܸq#Fnk͚5[n0a4h j2dO?@k޼yz뭷a9(v)""B SPIb,*tCkohe#G4x`u]ӦM3@0 T3.a:p0 "%%E;w,~iڵ^zެY hժU>}p;wN~o,quj֬v]j)--MuQ߾}K\oҤZj>L?CСo޷>HÇ׎;TPP IڷouV i׮]?n֬_q:rHk}զMJݳM6:@EDD_<9(Dرԏ"6Mm}tϟT-^XM41qΝ;fiҥ2@0 TP2káP*իW+&&t )++K~~~ *F:YƍK;Vz/8q_PՓeY%>>sIR_-}yh"O<$.Så|O^Б#GϛNA9mV{ɓrL*xVVTXXt j_*66V&Mmf:\.=:p^z(32jfu)={t;{N>-n:PŖ/_| 4t f)77W٥>ԩRի ?~\ԤIOLk׮5_1<.]~~$p ꔓHkNs<Ҍ3|rʅL 3fdd A/dg,_JJ말)ѻwoI*5Ĕ}:]wI}aW^%>;ww^9rDmڴQӦM// 8PNS۶m+{NW_}Noޣo$]veٳdYVP<#I-Z/\RPPm۶I&3f.1s]k~_?BCC׿t ʡm۶ӧ.8"^pL33FǎSJJMx{OSL7Yhh,*j9Cek1B͛c:Af̘`;V֭Svv+ :TAAA?3;vyeeei2d=d5nܸԫWO'NەO?TCK=/ؼys=ztY:uJ/MJ(3yٳGyyy:qfΜ)˥=z7߬СCھ}<]Vjxyy[n:vf͚L;wN6m҂ .5j{/͛7Ok׮իMN?\@6*'I5\^?{{UTT|A5tX&PԤIeddNxjڴLŋU^=EDDNx͛kj߾ Fѣպukɲ,=C&MhΝ5fCzFPPΝSiӦ[ՠAmܸQӟ*t>))Iei:|,ɓ%I5'|hԨQ+W*==];vȲ,KeYVcY)I7oVXX-[jڵzW4q3gnlRQQQJNNV˖-V}СsSY_,K>n*˲yfȲ,%$$H-[#Fhܹj֬v-Z!CHzv]Pw!Ch62կ_?rA csϗ߱az5zh 0t9~맛oYs5@Y.~% P:wv)99tG3f>smݺt p ڵ͛g:p{bpJmoTff~*9l˗.;T˖-5l0%%%A}j۶V^}A ҡCuM3g4v~iΝ%ϫk׮tGU=tqرC_~$ZDz,-[ߤ[^tBCCp8Lgx<áP*k޽1pC 6O?d}sPF7tNM2֍jl6eeepKyyy$%_*55jrCi߾}Zf CZLXf p8dMgPJJ~߫cǎSn-ܢ#Ft(11Qv;c:5cU'??_c{4g͟?_aaas<Δ)SThtL2kLpcNSK.ս+˲L܄eYHHH'%%ɲ,޽[eY{キ+55UӧOܹsn:Jm:Dv]999TÆ MxQٌe?{t RUlll.#UVĉ5`]qPӦMS6mzjtjͦGpK$%Baa kܹs<ζmt*66V#F0@c:D$a6ăs~g:t325`%$$0 I6[bbnݪTl69%##CmݦgytLZތep8+t OJOOWLL[lnF˲,Y/t?/_sPFӦMӞ={n:5@PPLgC*""BF2Q 4deff*==]teveddX3U$%%EwyM-[(&&t :tHbl68p@k֬1@Ѹqc͘1Cg֮]L Zj?ϊp^V~~s91d;Zh[GM4g-X@o:t`:*X&`Hhh(c9TE^z0p!ÇW4bk}ZrԠAIӧ LaϞ=0aԽ{w9eڵճ>tULݮ_(m@aa{v)*d 2D>>>S*--Me)==]/˲t-9yƍ͛G 4P޽iӦR+٤$Ym۶Meɲ,y{{eY+sNf) @ݻw׶mJ9}۷O )pgrss/R}en<+,,L V~zjFI5R:uK//K/d:e?AVBB?oˬ:7dgg+22R;v?zgСC|r3ܹSS֭ꪊ+jڴiUV cǎ bv@ݺuK/i0;L-I79,˗/תUrf)1ԩS'.]Z~̎@,0Iʕ⢨(8QQQrqqQ(--Mk׮+"bvhƍg}6vgggjJIII/r=6հa,ׯʕ+ȑ#vc=s_KV*I:|h۶kOTzz$V- 榥KO?Uddq~g_(0\\\gv,c|Mz̎Sb޽{ɓںukx L$EժUf3;JcTzu98/Ѕ Խ{wpG)))JHH<==X$)&&&Wcslٲ^BIŋsww9+{'''IRFFF?>#>}ZZR2eԶm2Q@Sԕ+W̎{Uv &oooǛ$%%(%%E]vUڵ5i$(aaaڰa֯_ZjBES`"2M`ov @>[r7o|(ܑk׮eI_bX!66Vad~$Vifa[vŢ`رCW\Qdd PΝ5sBL @̚5K 3; r`:y֭[gv[qqqfǰ;eo_~Eq@[vLy)008:2YV2M`dZ͎GW^g}`pO:u$mٲ%ܹSjӦMJn޼vZdIcuС,~G?^T}^a-{ٲeu IRҥպuk' IDATEFFbd7E9s.\}PfMuMƍSzzqP|||ov $cȃ?\ ,ŋUV-ӫP8LDVUQQQf(q(;aedd_4; 4eYV :T]'O{VDD*V뱒]'Oٳgu>}Z͛7r~///=ZuaSNNN({goѣJIIŋ{0 ѣڷo>}(998cZvQPȼ),ruu5;\:{^{5Gݻw7;Na /gդI̎i(LdZuYHMMչs(;rJ=s*[QPdd,6m$Iruub%I~~~:t^~e 2DztuرC}͜+7c%ijР֭]*""Bu2CsջᆱJ*驧GO?${]gϞ=o{lXX$bhԩFC9ʾ{nթSGݺu֭۷kҥ=zt^ B7o<_QtլYS/Ə4(..v'))LIKK/+jf)1^^UTG}$Y*ev$Wzz:卅ٳJOOQ~Ӟ={iv$I;vawYfi֬Y/7ck׮={sܭ;yy wn= @-kիk„ 9r^|EիWHcǪnݺZvzavooo/fǰ;eϸqwrss3;N^xAqqqonv$L`v$UiLNRrܺהXj|}}նm[pOoy[f]>>JMMUbbQJRR\\\̎M۷O>qJcǎ[nzWbv2QY(kW_5; Ei֭ڰaqp5jPpp&L4㠀y{{KMNb_jv wq!;4i6mjv!::ZڵSFpBPP ߟBdov @>ؾ}.^ݻ"iX,X,Rqm<իL1_7vX={VV2; $)..$%))LKHHP׮]ղeK 68%]7nّ(r(LfZ7n%%%… ZfG䃕+Wꩧs;6l P@@Q]L6MowSzu+<<\fA$ lYrr\\\̎ 7n?{:s>̯= RfJ:*0oN:fDZkQQQ2 R5W^g}sX[d>lv ؑgS3; L#@x{{kɒ%zյkWiHwyG+Wʕ+իW/㠀x{{b(..(v#55Uiiiruu5; Xx֮]۷8%BHHڹsjԨav,2*n,EEEIWnn}[n /`vb/Ԟ={T~}31BӧO珁f SYl6͎OgΜѾ}lvĉر{LyY,Y,'sK4dI˗WΝ?d;66V!!!Qv髯qΪRy}JJJ Y+WN3fw^U^{M'N͛7͎xc؍[br6x`oZvJ.mvw!uM}[oev2"jRYl6V1iժU?pGNRӦMuamذA/^GYahٲeh5nX֭ӂ ]v)..NM6Ձ2玉QƍzjEDDoVZey75kdԢE Zxq@J`uA}3fbbbb Pn}-ׯ￯>?6XN>:e˖?q(6(ժ(cؽ(2ZJ/J.mvhѺr"""Ժukyxx^zZz_mQt͜9S۷'0 <8XͦٳgC*SjժիWRJ2d.\p|؈uAXԶmq@ .ŋ5aU_]yqPgv AY&P>}Z}թS'ؽXo^UVڵkhv$ 2"jfl62ou ھ}$M6Y/_^u6>22RСC~~~W;;wNqFIҳ>eZj$}w͗9nm׮]ymۦC\ w*Wɓ'k:|qpGօ Gfǰɒ(TSUVմi̎c}rww7; e@X]z(vڵkQaʕ[}Q("<<V\\1FRR$$FGjݺu00ԧO͛gv$2"jJ bN>-5IKKlvEHbbHd PJJ<2ehРA 5- )I'N1Zh$G2 CaaaYJNNVbbb/^6lٲ*URSS3㿾Zl)gggyyy)99Y׮]6 $ ^c@X,Zt~WM:81cҥKZ|Q|||ov AY&P4l߾]3fмyTn]ؽ#FhݺuOU~}P,Q X,lfG[6MEժU3; mۦ/_6; \Pf NNNjذ֬Y#͚5Kqqq\]]Uzum۶MYfjժrN֠k׮?(,&&F'O6sJKK:uU4IRN$I[l2.%%E;wڴis|ح[fQFz뭷z.7VUǏĉu16*W^ziJII1;Qrt%c؍ׯb(@uҥ^{5ؽKjƌzժU+Pl2;? s*VHYfl+ٯ_?#@ؿ4ydG}v>TZU*U#Ge˖qppȑ#5`+222ۘ+Wh…9s&ɓc :T^^^jڴ4|p)&&&)Shի͛'xBZ~&L˗TRY:TzQF)::Z/VŊ/7s[oCO=4ydEGGS @ ƍջwo߿_fG_3F|> 08'*Tеktƍ *#` SZtq֭[5p@+888keEjUTT1VTTV1 ҥKU~}UP(*UrfG)4?)a$_Wxx6oެGAYϙ3G۷W5LJPF 8p@z jʔ)7n.]e| jҤI4hΞ=e˪QFڴiy̱~~~:t5d;wNnnnzǵcJOÇggX4fxo:wʕ+~Z{Uj nPr988hٲejԨ̙CIuTR%Gzjv$[?_t钪Wnrƍrww7;PbM4Iw޽{ULص^]vիѣGbLZlfǰ[6ĔeJRXX^z%cS.]̎P5kgѣVZgyF;we*%%E&MҺuoEO>g}V4}Zl~G%$$衇R>}4x`988H"##թS8qBvܩ8Ib+W.sLnդIi&;wN˗W:uԳgOuU_|E4bmݺUNNNj߾̙ ?O *˼x"ee&ٷo&LӧI&fDZkΝSPP7n @PDSYl6͎d߾}-^Xe5iDk֬a*[$iРA3gΝX?~\uQPPݛ9խ[7:{말fر PPP$8pΞ=foYNQƍfEDDԢE ZxqBBB4bhZjz衡Cjĉl27.W:?ƍkݺuZ`k.ũiӦ:p?J Ð|I!02KsVy~AݻwWҥ5o<)S&skԯ_?UXQ6l3ϟ?_[-.kPGYGEE_U``I@q4zhըQC{VFFq*UR߾}5i$%%%ee戏WϞ=CC 1;]zڷoejƍrrr2;vLZ2;:s挬V1_h:r^yUV֭[;wTzԺukbŊ6mjժm-ZhԨQVr4x`u]zmErssS&Mr55jl6"""ԡCyzzbŊ S۶mo;W޽#]Wmۦ5lP߿Vnݚ;|{sQF̙39sڷo/իWO| s%/ku'6mbb5j *觟~Rppp0s\]] MH_,X`vƨQ(rss,3P W^JKKӊ+dX̎cRSS /(66V[nّeEjյkte؝K.ڵkePDuEcƌѿo5kL8qbqm۶_~JOO$jѢE:諯v|@@RSSuرxrNlܸQԮ]lmۦCf裏fy_rnt\gͯsEFFA:tȲOw}s(G^Nd йsԵkWmܸQK,6(5kԩSZxq5h5( n5~xiǎr办z)y{{W͚54R@1ӰaC*44TN2;Oɓdv *ҥKfǰ eoܹڼy>{A aӧmݺUUV5;v_/,峨(Iw@3qDرC_VX!WӦMb jJԼys_:u3fhƍ:w\e7n6C^JnwLJJ"OOUL,(77,q[&I^^^w_~Q*U#k<>C>|XӦMS.]2K-yxxhСzw4n8ڵK6m1i a9۪U+;hӦMz״gϞ%Khҥ2dqp(?eThhƎ@صcj͚5`vE ժUl6QfVjv#|,,\\\̎h"GYz#GH|rqqQ 4\gDa?Zhx yyytҪ\ڷoye<<ó^P<ڵkT~} 8EEڱc\HΝ;k̙{9M8Q}ɓ'!04k,I+ gggyyy)99Y׮]+s6ggg-[VJRjj øe˖X,;Wkɓ'0 92u5@ኈP6m̎],("J.x`TJ.]((Fu&0ԪU+Çk O?X}#(22EFbbH2KRRRtA)SF Rhhh`Tǎu1]vM{UF4dȐ{ݏ<2 #sM$iĉw?66V-$CaKEfS޽駟jruuUPP.]e\ٲeu I|ԺukEFFbh˖-(~ݿ4d/_>(0))ЮSN[fרQ#[%uYiiiڿ}SNUjՔM7o|_vm-Y֪K.jԨvܩ/2s{QY#///+ǟMm OY\J7iذFP:u8P]zUK,1; eL 8P/^ʕ+hvW_i Ӏ̎ݢ,(BV+efj(tj֬Ko͛kJOO׈# 1u'''5lPk֬f͚Bϑ:5k֨w1bT"ըQC&Mʗ_,UիW׶mt;=k,UZA2ygرfϞ~XڰaΟ?_|QYƿ:zRRRtE{2 C$GGGhB1116m._$}W9%GGGY,}:vʔ)Zz뭷e]vMΝ]2L5jW^ڶmŋk„ >}J*9NHݻw$nZ><(ŢM6IbdiXTtiI1~~~:t萺vW=w^UVsòX,/.Ţ_ڷo,vޭׯbh9y *oUǎ5h /_^uѿomڴ)gٳՠAխ[W]vUDD֭zH6jHi&Y,u-1۷WfA͚5+5mu,7o.IeX4o޼"@Ni0>>zy,UiiiZvZn-???~|GFFf9?^zIZЗcr'Ncǎ򒻻7o}}>},_gT{wd_^4f̘{^3gԵkWyzzWWTT{9yzzRJ۷]mK.iȐ!ʗ/Ν;~u9ȋ~M*Sիs 6o\~~~/Ԯ];ڵ<>| ФIKLLܹs5z軞8=oٸqo߾y.G Ս7pB *T7oիfG)( uI}rrr2;]JOOW=k6;%e@bZ؍+99;طo~+ @/$mٲEM4њ5kdʖ-+I4h̙s*66VǏW:u{fλ}vuM:~Ξ=~)$$D:v(0$I߿grtt̖94$:uJM6Ça]pA ,ĉ믿fːחuذa2 Cz'e PZZ] .hȑӧ^z饻^kHHF͞=[VR=4tPM8Q?~-[qe+::Z7ֺu`i׮]SӦMu_gnJMM?ݻtҚ7oʔ)s zxxhZo߮-[RJٳ֬Y7n9Ca,(|)DϋM<<<裏jժUy|cos6vX=۷o|mDNk׮TBY,2SjjRSS)YFF^yhfDZ[k׮UXXf͚;LqppPjevի{8q4iZ]t=?>#>}ZZR2eԶm[mܸ1˸;Vח,,.Iqm3etLN3ڵkrqqGy*TsݤK.zbŊ|)ʔ2edy GGGe訌)))JHHPFF2ᅲ$/9Qx@~jԨiӦy:wQxoTR Ԛ5ktmذ3<:t5n8M>]aaaw=8=o'y&MdV~}U\YGQtttc|׮]SӦMs4>7 zozw^-\8aÆ)%%u)J.-///2%l:p֭['OOOإJBBBrGB@=(be̎a7l6͎Q,ڵK _#GdcX;vʕ+aܹfΜ9ĉշo_>> ySm޼Y ҥK+[N8!I*]ZnHY,mٲEOC Q3K| zr]v۷g~e5wN}uss͛73׮][K,|?~x;vL6msΝ;+--M϶oԩV2: Yҥ5j;w/TA0t;R>|XԨQoEᒤ#G0b JK/իWJIIQTTO &}Eu R"H, *W;"(DhU&زv-+%`P) yiC= \g3}`jj6_6GDDDDDDDDDDDDDDDDDDDDDDY&Q#ˑXUOAA=zf>}:LLL?cРAy&W^S5x{{z$>>6lCm۶4i&MTuVVqdffSN1m4\~0{lXYYa̙-Z={6^Bt_|uφ殮%r͟?K˖-CK5y\pyFF "11fffر#fΜ^zxޝ;w0eO9s HKKCHH=dXXX_~:uµk*\?7ođ#GJT:tC )q|صkW^ΕMO>AVV\===#?6lBqH ,/HEc۷/ЬY3ik׮[nXh̙#uFÇǩSp899I$ODDDDDDDDDDDDD`gL&556668}4>hӧOh޼q sQQ2eiӐgr/K,~~_"""""""""""""""""""""""j`@DHHH:KHH\.:[hh1 ӦMC߾}1~xdggKA[N(kkk"==](+''R XQQQسgv ;;;4:v… CJfD \.B:S(lIT DQfDDDT8iAgϞa޼yR!ǪU)u5ӧ'\lIT}0k,G8ѣG1a̟?~~~R!""""""""""""""""""""""2Y&Qf28i{{{DDD`ݺu8~q3 ֬Y#uDqTh.6$<5 Xhqk׮#F u IDATŋCDDDDDDDDDDDDDDDDDDDDDDD`LulY  Zn-u """"""""""I3Æ ɓ34y իz4pAJJQ4VNNd214N`` >|IQ><==c۶mAHDDDDDDDDDDDDDDDDDDDDDDDT6$jr9'udr{B4Ϟ=ƍѳgOXXXFaaaZlYq""--M ;g7A@Ν%H\:WmҥRG&"*Daa!f̘!uŸMдfP`ccǏKEc=&&&R (~-6mڄ 6:kӧOѯ_?j 111ё:U2 \QCh #""j FQ^l{ fh]5sLaРAߐ[ƍԩbccUE%(8{_beeQqU7XnݥK`ii Qqڵ[CEpرǽ%NJDDUeee͛7o5k 3P푔$u T*, 1uT|g1bqR ᅦL&:U2 `k׺ukIsQDQDQQ=L&Ck1U2qDFFFѣvލB̚5KxD6>jaiiM6aϞ=R!""*a0a>3H 6"""B`̚fL"5`ĈêUӨz ^^^HLLѣGacc#u$"""""""""""""""""""""""R4SSSCPHEc) XXXT(8q"|||ADD5AIΙRh< CCCܿ(BzNFԸqk :uB۶m7n]w:LBDDu)<<ObccӤ5k AAAXr%aaa!u$*=nݺ%u T*akk+u "0|O|2 hS… 8u,jݺ5eրB@֭!QFSNR "ڼy Ann.ڷoFDDUԷo_`˗a`` u,"""6hܹs'ܰsN;VHMZ@@"""ŋK`ggSNICc)JH;q°yfo^8ʜ9sÇk׮R!""""""""""""""""""""""*`LJ.Yf ( rcHW^>|1N<)uj}6̙3gΠ|-[V.66C Q-L,==_|:Gyppp1cc̙/:jkkJ+аT]bb"ѵkW̚5 |IcWܾ}9N: ӧOaee@~~> ۷ Э[7L2 v~󫴎DU7yu)333|/,uq1={ĭ[S"((g.w@Ljӧ1rSSSm6DDD>DQTu={%^bZZZFV {PgjP (o߾½{с(puuEtt48\8;;#33Xt)qydddgϞ8w\&"Z|9Zl'BE4iիBeGvv6?.uT*K5'***˜1c`ll/Y >|~~~/1~xQ5Y&Q%ˡP( eId޼yDDDz L'''l۶ IIIj3w\( DDD&&&AHH<<} ۷oGzzʕ+]]R166FJsrr=UM27>ٳ1k,ܽ{W8M.uzeLNNeʕ+ ѵkW4+>}`ݺuR!""""""""""""""""""""""`LJ.  !՟|(J@&zZq```P ԝ:@rrrjdll\U]cǎxѬY3xxx^^^hѢ6$j5kV⾖addT⸶6T"B~ W+WYdeeaprrj3g^xQLMMK9U__͛71}R亡zŋܽ{OԩSˬ733+x,55ADD… O?Td꟱1f<}T8+++Yf5xlITLx{{W^1cqǏprrBLL HñY&Q%!#OP@RG! ݻW<@8FmgϰqF044{gѣG#>>DmXXj-[Vz}}} //٥P{SSSATVZ/BVuRRRUU7cUU;'ODff&bcc!"իWA~~>w}qqqj$j7Մ>̠W^A2o|I;p@,YSLݻwQTTQ_DQָ큩8DEE֭[sRkuG ֭[|Z ~iF|? u$"jttt7ƍꫯӤM>FFFe#lmm,۲Y&QiӦMCnn.m&46YYY߿?d2bccDDDDDDDDDDDDDDDDDDDDDDDe5PfjP(QH#F(pww/Xvv6{=xzzJLU9s&0h oHOO֭[q t `ggcw~?^xZZܹ8C =zc;vČ3TK7o9R&??N![ZuTu]pm.zXP*Shh(~W:tjg"toC/^,؊+[o+,,ŋakk 4o\#77㗷&''ݻ!z=TZ (>//W^-q_~'O ;;zMDDծ];,^ .ץd#88k׮-eoo$ch6$*~DGGF8B^^4;v_@DDDDDDDDDDDDDDDDDDDDDDD20\chrcP$"PTTT1d2w^'" 022B={nb֬YR#Z_׿lo3f d2,[ r3f#GT*#"))D>wEbb".]G>Wq]`` {(Jܽ{FBRR"""T?^ZuTg]MHMMW_}QѳgOU۱h"\|&&&jg$j7IJeЦML8ǎCVV222i&,^aaaѩd\iiiř3gq_xML0k{ KKK6m*ھn9v]|}}ahh n7o.]\v cƌ"""57?|G7ndB&aRGɓ'R8lIT͛71sLaرѣG[oIj e5`r BGPY&ѣG$EEE>DQ ն6mҥKpqqa`mmNNNχ }Tu>&"iiia۶mHLLĢEd#88֭Cjjq#))I2Jѹsg,X@8ƌ3pa|wpvv:"AdW*k޼y8r㥎Qڷo/:$A@LLLoҫW/˫qe2:tVu999dh߾}CHKKãG:Nxyy߯Ն~o>x{{ispp@nn.>|(u&o۶mX~=]Vn SCD۴i|}}qYC8MRnn.}]=_}q_~[޽{RG(Gŀ###InĉRiK|ػw{>QM5N@DP(R8 RǠzrm <066F=ld AT7=#((mڴ>Zl^zaEXXA@NN.^GGGʙ+:===_~8sLcWܹsÇXZZZ`8888p >Jף9󫴎DDDDt$''^*q]]]CPHEc( hRG:R įS IDATdR[[[=NVV v՝:@rrrjdll\U]cǎxѬY3xxxx^^^hѢ6$"""""""j֬Y ?^l79s&"##4i044PElIMݱcH888HG) Έ7,QcfD \.g*P(RǠz!;;jcjj<(JAr֪UY]JJ ֶJf cɓDll,DQСCzR>>>Ǿ}J ヒ8rQ: @ܼyNuakk |fff0-[Iږ,:v숼JA@Ν%H\:WmҥRG&F>CDDD 1vލg"""B8M,--&u&֖22){1ƍO?cǎ:{)+++6o\s9rDM~~>N:CCC۷ʵ꺚]]]TP8tDD/^ȑ#ѧO<}ݫ puuŭ[wx9-1*88(ٹNr+++Wnܸr.]KKKk׮w ߿(n>>>cǎ8-qR"j :DDDԐt 9̙x49={66l؀ǏKIGRR14 eRSUTTq k֬:{9<<FFF011222j}>6mž={CDL&CݥQcy"""jhϟ]bԨQ͕:N3uTXYYaʕRGich6ˤjŸx"@ |Æ ãGpQJe5p[FBBDQ:J'">|֭[KI6mp%`ذa'''CL<b̘1[[[\z󃥥%tgϞ… x뭷Ts}h׮vکYݹF U]NNN<)SڸRk BΝ;1h׮?-[`޼yq8:A!!!'!11`iiYs\R200@tt4・wJIm7naԪݻw/DTcy"""jhsN$%%aܹRir1{llڴ ?:NfUF?K.EXX:v(uVXX1c8~8ڶm+u$"""""""""""""""""""""""g:R r!99vvvRiВ\.uGm۶K0`@c5_}?A1uvUƻUYWggglܸ1{`5M6׫Wِ۷/BBBxbxyy000:QS!""UVXf ƍ޽{DTwL+V`ŊXfq$;;;$%%IC(J6ˤ&ٳg;v,뇿Rh(>Ǐ(Q%u"XqGB!qx,HZX``dd 8.h111ݻ7lmmahh'''DDDHU Ap!!A@׮]U5O>?Zn ===4oCō7޼?^ͥՕ O>s6m@OOׯΜ9)^[BBaffKKKxzzƮ׳Xfffpҥ|~|ذa Soٲ%^ www| .^X繩Rw{o~ܹÇRu,-- zݻo̘1^z8:ONN.^zNWzQ=GWPuIJ7**DÇ XZZbرx0p@SLRTu!""1c`ȑ8q"RRRӤcܹؼy3=z$u&ODFF"##gϞEFF\]]q%7WӧjU\YEz KKKպTѪU+DEE!::d`݈@ZZ._ ####** @ D`` ?~>}#G,1vm " ---ܻw!!!WWWDGG(pvvFff&tR$''@Ϟ=qܹ:M WUKU3___$&&"..㏸qM69?{(033SkݺuSU_:{:oeסe5AAA5k]va Ē%KPDEEa…j.DDD5 CCCL0Mɓagg+VHI˗/.uT*abb"u z#G`޽:FIJe˰i& :T8DDDDDDDDDDDDDDDDDDDDDDD$!6$jഴЪU+$$$HKHHo --nmNJoR,A3ՕSN{!lllrJm۶TΝ sssXYYFBDD?|sÇzj2 ػw/DQ_mbʚHՈ:o>o߮ f͚m۶ؽ{7Rϛ>IIIu_꾗[]t)3oU?^^^?>;tXdIcצWzΞSouu;w.qAӛ[hQ⼈Z1{l̘1FT&O ;;;,[L(MNDh"(JJNeggcڵ+̙#uvIL01sLQfDulB֭[K[~=v؁͚5X,,XNNN077 A/^t|dee1o?\Y}7n޼ӧz `bbRq@rrrl]g`` ^xHݻwqiL:z332[[[RSSNu/uK5l~f,Y?-+տ^T5k'wk֬YZZZֆQ%΋>,ZNNN=z4^|)u&CWWsATT>|(u&E&Q4!"eRg!##wq4֕+W0dxyy!""B8DDDDDDDDDDDDDDDDDDDDDDD@Y&lB\.u j$bbbСCܼyNuakk |7H Soٲemiii%uyyy Ν;Kl:t(ҥKL$9A0vX̠W^A2o|IomRwKTT}lݺ;w,un˃R,ܔm筏sѰu됟UVO?yeZ[[7!՝_꼗jR_~fϞ=,899jWA\ve[{"QCh :N2qDh+V:JӪU+$&&JC#dee(Ğ1ٺu+RX777l۶@DDDDDDDDDDDDDDDDDDDDDDDei\DH*((G,jŋ1rHO>Ž{AeBB\]]q-|wx9?}AK뿗`gg:Q "^ q˭t,--!"]Vq+|||ǎ+q[D n߾ E޽ Ap@aa!.^[[[yͭ|CEAA.^X+V୷ޒ{TUrfI&o1"##K=>d(-??N![ׇ/RSSj*DGG# <յ/'Ovvv_꾗[_~f &Mo! O=댌K7oV빵y(Kmu'5tmڴUb 9sF8M.̙($$$HIy뭷,SMlI@̜9:z{{ԑaL" QPPǏKz ,jEqcĀd2i_Zsm޼YYYXwqUU_e4r5+eE AبR>kZPfZJiH-5Q3[Sza5mŁDBcؿ?zpE7x?:k^s :Z?U4i/K,>:\O<qRi=0 ̙-BXXX׭1 ^sٳgW-=z4is`…6DW۵kyBג=+K?\߿?+V`̘1Vǹ&ӹsgkV^# VLqq1w/n:H""""""""""""""u:'cnu:+==kP̘1Ν;F>:s!C7o~vHMM%$$OOOܸ{HNNEDE/&&&""""" Fhh(SLa„ Vǹ&4nܘg}e˖WI)..&++(u^~~>^^^VU7ǫP%*++c̘1$''yf RLzfau:+##fu &N믿… tܙp {-[0|p9p?y{L$<<"L$%%'NУG֮]ˢEeǎһwopU~;uc$kv!ץ&Xj۷gҥZѣW&!!l+ aҥ@&::cǎȶm1bDk,i'''~'bcchԨiһwoVZ:u*iH^^SL!>>,vEnn.ܹ,]￟gϲxbN>Ͱaì%""""ҠtؑGy|1??/Q :t('bД0b?qꭿ|G_n8"""""""""""""""""""""""Rd IDATǩXH=aHOO:Fbנ?]+[fܹtԩRߠ M-Z`ҤI9Μ9MÇy׸{k׮Y44iRmOsdͪSVVf/y)Zhڵkiܸ1QQQ[zz: , ,,f͚ѩS'V^M6m]{SEDD*M4a//q L6+V/Xk۶-9r(ueJC3c իqss:NϳpBV\I~#"""""""""""""""""""""""e*y[C_2~xRRR(--}JR\\prr",,B]ve߾}=z'tj5;vK޽/9μy(,,dСU>`РAڛ4iBHHEEElݺq=zp}?~v%~ɱϝ;I&ѸqJǸӭ[ mmۖ4N8qs\Ly ra_.رc1MbҸ[;uJF||UL+ EMtiOx㍼űg\z!l6/QƍGffQ<˔dǎ+Z^Zx1?F??cOs9fWɓcĉ/[ӦMx֭ʪ_?@YYYoƢE8t۶mcUUV|2˼1c#)) 4yxlޡC(++4Mϟi=W&MQFcf{ͷ6r9fWҥKxwy+ˋsQPPP_??j4i„ 8y$*Vbʔ)?wھ[?N`` mڴ*EIxxQ>|8iR鱳g߄YLDZ{hrr2#F_~:u~vyDDDkժ˖-c$&&Zsvvf{:t8 Zf"eΜ9lٲ5kTEXR{΃>… #"""""""""""""""""""""""e^^^x{{au:'##"x'ؿ?ϟɓ+Ipp0LJăbܹdggSTTYxq5{l:vc=͛'77%K /0o<5jt%Y.f/)))k׮,Yڹl6O(((СC9'N@֭/W0aҷo_jzyy1}tCaa!{eѸpUs4$4M(++1:4tZmV֭4ML;v$33n """8p QQQL0L4xFgVGiڷo*)]jj*3g䥗^wVǩw8;X|9NN)"""""""""""""""""""""""RsDH=bHOO:Ff:X`ΝtܙÇӼyst–-[xw>}_bb"QQQ,\mbx9r$tޝ$ `ƍb(dV믉`ĉlْΝ;a6nȰa^չF hٲ%+V0 """0 4;a8kv!%%%i엝aу| à{U5jO>dv???RSS1b'Oח={RXXg}ƸqHIIcs[n!,,Vna/9p@ ٳUΫE=4zyxxpByڴi]w݅۶mPDOOO~g6mduZCy!___Hm?>ڵcȑXAsvv&66ZС'OܹsVGT,S과<"## qL _iܸՑDDDDDDDDDDDDDDDDDDDDDDDjduqeV!==cYxEhѢ~gϮpb 7oΫʫx*DDDT{-[xϯos](CMGyGyġz뮋-/^z1u5VGZִiSV^M=矷:R6b^|E^z%VXau}ѣG뭎SgXg&L~cٲe89GkɓͦMpww:cdH=bT, l6cTiXCӧaoGo߾7o~vHMM%$$OOOܸ{HNN0~II 燫+$$$PVVfW>vaa!4jTdee7?_u wwwNv]_RRRu;w\srrcǎ4i҄vѷo_/_NQQQAD^]u盓GÇ'3ӧOM67{x}oٲޢE {{h\7n+ap:u2l0|}}mٵ^s)&O?...lْxoFk$""RuڕW_}x>s4hƲj*}aÆYKٽ{7| d>Sz|ix{{3uTL$00$Æ &;;8 ԩVGiZh+G:JuYJKK:H|g8oFXXN HPLzfq) Rgb a͚5ժ%%%[oŚ5khԨQ͛aq1 66*},[4z!L$**^1,Z޽{NYr%;SL7((iӦC-4i#G$!!3g\RcLXXp)++IӧGBBxxxe8qÙMFzz: I֭e#"Rk2sLyMVs>vm3fv͛[nxxxfcӦM;E]ZS< AAAѫW/JJJhѢP{5ӦMük{xxxеkW֬YiL4CDD>y뭷hܸߊre8;;s?X1 vڑiu:gf˔ܹs9f̘auz_H"""""""""""""""""""""""@XH=RÇ[Їbcb=\cb&Ťq뭷VwԩV:t(>,6lO>WmwwwuV- mےf/"+Hqq1%ѣG]wǏw;vK޽/w˖-߿B{۶mԩC裏8p`6oLttcHd/~%Kݻwpm۶U_wu_rКuٳg^aaaڵ+ѣ'""Ry{{g}믿nu-22oQkB:tbX/'Nȑ#Yƍ[(--e|lٲ.]XIDDDDDDDDDDDDDDDDDDDDDDDGl6anu:#==0T,SDDW^| :']e{V8y$G3fa`O?4%ekeee4^uΟ?OAAM6:2N~~>M6ӳV3]^ti߾=6lťm֬YNNN8;;Vٹ Z{hZww*k뽦|.++>N??C㉈4={d̙<3C}NNNL>5kp48۷ȑ#VǨT,Suo5`&QQQ|'yVɉR{^^^սk4i754s=W|N"""uʹiӸ;̙3Vi ƍ7H\\Q:iu:K2>_7n'N:NO{~z.㈈Hb"f###uFFF6"RK1bԩSOkX"r yquu%<S 8z(&Lĉe^ut/zꩧشio6AAAW?׏ǏopY~gLBV-^3{l:vc=͛'77%K /0o<5jt5(""Rgnݚe˖vZ}4XC妛n_:JҾ}{ ˳:JOfEiӦ߲vZ\]]So [DFFZGDDDDDDDDDDDDDDDDDDDDDDD0gT,"iX2338\' #;; ٵk...W8à ӦM.|||ضmw}_bb"QQQ,\mbx9r$t|t҅Hҥ )))ƍpuu%6603gr aaawII ibEvؑ={УG BVxG4i?0;v,IIIr=???RSSdҤIҳgON>_|A."ri݋… xG1 ?^^w^ `֭b/2w0 vIaa!a0k,{xƎK/d{~i0 _=50 Z[ƩxOmjՊ&NH˖-ܹ36l`ƍ 6̡i SO=œO> s=ڵko`RQyLlͼkt8ϔ)S3gƍ:4pH53~mNʙ3gR'xyy1o<}O 11QEW1t֍ݻw[DDDqFhڴqD,7tP֭[W/wTnѣJ|vZ"##*v+"" C]9XDP\\̝wIQQ_}~'t- 7@bbqg'| ASLۡu*;wqib&%%%5zuh9vl۶#FT8qD^u.\HNNs΄_T9nQQiRud?X`+WdԨQDGGlj'5kK.e̙=/""""""""⸎;;`2]<7|3VGi0jҼyscT)>>ݻwHfͬS/|WpB㈈5D2E:LFFQ,۷:\!AAAL6 ZhI9r$ 9sRB-ZD޽qww{\)S\vgy ի%%%hтiӦ΂  YftԉիWӦM&O̯ @`` ˖-#--z4"$$Ç":jcǎ_߾}4hdgg|tڕP\]]iݺ5sΥSN::r?8v3]yfbbb֭DEEaشiÙE"0.z5k͛70HKKرcAll앛X?DDDa6l=>(G:Nc3gdYAl*Y<Jj/W^[o:Nrr=|r_LDDDDDDDDDDDDDDDDDDDDDDD'Dڶm`k+R\\_1wwwuV- mےƉ'.?@Ϟ=G0hР M4!$$"njo:t(>,6lO>Wص=zpxm /d񤤤PZZ  r(wM׷\uݻW߶m*ۯ y[MM:Wn""b~7ߤu֌3;$=vmWˬӧ:HOf̘1׏I&Y^߿?]FYIDDDDDDDDDDDDDDDDDDDDDDD1*)RQ,r3c 0 駟~twcj 'O^V_?|6mg[n @VVV8zŗ_~СCqroUK[o// ˋז|M{=~BBBh֬ K]_~֬Y pvvͭBsyHrwwgڵK/Y1 >iiiVǩT,zyyy] icQZZʊ+0 Huޱc ]vlܸMZIDDDDDDDDDDDDDDDDDDDDDDDA*)RHOOfYCǸq8teee?>W999U,/yӤI8w_оc `„ `祬wM3><0Mx^{_HJLL[nڋ*wV& _~Yf}v48tޝ^x(fY9}eJb Zhau:/;;~͛"3A2E!FFF1,b Tii)1ydZli/YTTTqΝ#55B۷~ M6B~> ϟ?Օyquu%<{Z^+^SY^^>>>V?OfΜIppq3g0p@Ν;ǿ/|}}$"""""""""""""""""""""""04MX4M9Q pvv&((,ΝKvv6EEEl߾ŋW{ӧOgϞ=w^F BfϞf#::O>:ȑ#9q ng g?~!CP\\\nV:Dff&{_~;tK]x'ؿ?ϟɓ+Sk""u}:e[ni2e<<<ر#tMVG0 -[?5+{VGDzzQSTTQD(,,dذaՋg}8u^QQwGaʹmH"""""""""""""""""""""""rSLzfQTTįjudeeoa٬"WHbb"QQQ,\mbx9r$t޽1,\6mp]wöm۸+Ñ)))ƍpuu0Jcʈ#3ƍĉdwߑMPPڵ k^ ,oK.DFF@.]zW5^ll,G9sp-Ν;ܹ3Çyt҅-[;0}t̙Ruda޽֭[)--0 ^~evލaܹB `֬Y5z~DDL|}}-N"""""" V\ɖ-[Xhq{7juziӦX_>}5,b'|V^qbJZZ[nSNVGD DgqkT2-Zx*={vǕbt~혦X̟?W77ި9s 7k׮JzW7^u큁Վ].""9Y_G{>5mVZADDDDDAwy';[nVGj0L=ԜfS̿$r[b+W$))mZN+++f_NVpqq?Nƍ6DBCCՕ(++7oa`ڵ#55<==qss{!99'%%6llrrrcǎپ}}>}To۷B{y)Oaa!5jT_ 22ooo|}} ̘1Ν;F#|.]ZÇ___ƌӧ`xzzҦMƍGAACϋHmߤIڵkG߾}Y|9EEEU5W7 x=C {)&O?...lْxoާr?xyyFϞ=O*cǎQV̘1;aÆgZ6c >cRSSRoXfeO$r-駟4i111w}VǩLd„ |lذ;H""""""""""""""""""""""""v*)R9;;Ӿ}ko("""ה-[0|p9p?y{Sb&1eb׮]Ν;/DDi@TT&L 33YYYуիW@vv6_}nnntRv7|;,YO?^z`&S|ݹ;0M4)))Q~GEGGͱcHLLd۶m1BƉ'믳pBrrr8p;w&<}q5i 0'''~'bcchԨiһwoV^8q=z`ڵ,Z\vAnn.{fϞ=@5G޽{w^֯_ɓ'Yl ߿&M`hV899b rssyꩧӠ 4^zguzK2++G"RΟ?ϰaԩ/qiӦtRVZE#"""""""""""""""""""""""ReS6 cX&##fu ͛aq1 ðV2 㢷YfYSDAAAAL6 ZhI9r$ 9sRB-ZD޽qww{\)S\vgy ի%%%hтiӦ΂  YftԉիWӦM&O̯ @`` ˖-#--z4"$$Ç":jcǎ_߾}4hdgg|tڕP\]]iݺ5sΥSN::r?8v3]yfbbb֭DEEaشiÙEjC@XXnݚX P#SRVVkV\;vCVük{xxxеkW֬YiL4ܵL>< {VVUDDDڵkNJ+xwYjq3f??|VGʋeiu:4nwww5jԩ㏬^isaܹ,[!CXGDDDDDDDDDDDDDDDDDDDDDDDIOO:e:SN4 Zob"r}J큁WzݝnݺUh m۶qĉгg*~G 4B{&M [ۇʳ>ˆ ӧ999U9vm.7@=*o߾=Ǐ 0/ǓBii)$((ȡ5]rϺw^~۶ml*Kj(X͛7]#n/_NNNܹsQF$ 0]ve߾}=zRkl@+mٲ%;w4ƥfA1qD&L?hu{W^ VGl6EEE}Zӟ?Y=q˗k„ z5n82f)11QVGr:}42"v5w\5JǎSAALԫ*I2M9%_+zyfy߈ܔbϝ;'I-Ҿc]tI;v:T0r+o˒ז-[Aiŷ< tz_IF"##բE +QF) www)77WiݻwTڽAVfffq/f\Y@O>DgΜѤISkO={ٳR4o\ 4Xo+T< 6L^^^E>Sִi4uT2f)77WO:JKLLTnn.2pR֭[+44@픟8j„ jҤIa1+Wl߿H={V;vTӦMo<#i֭[訾}>}grttTXX.\Pk^Zm۶z뭷Juny׻uIR RX/P[\{oذرΝ;n*;;;M8Qϟ++Wj„ Ů1h )..ر e˖+\ʺ_[=99YǎԬtw[oVǩ5f̘ 6믿:JR~}hтb.wwwc={8իW8֦M4|p=3;wqnb@ 'IJHH4ea TPP`uqׯ@%''_VJJ\۷7޸ynnn6mݫ,8p@#Fo,X@6MQQQ/cǎiJJJRtt|||$rxx,Y[~~~ZfΞ=+77l &K.:vw^)__J p5~x;V:NCW^5kQjF߸x<<<:dΝZ`^}Uu8ֶmaÆwVX&PCɩNހ/GGGy{{[5N8 6XjUVi̘1Zt5k&ͦ˗kᒤuڵ9...ZtfϞMmۦ|5J߾}2 C֭$9::0bcj6l&L ///w}Җ-[4j(IҸq^aaa@j׮]׼yʴ^K,=ܣ+22Rj߾}vKo$0pBIRΝ*鿅ڵkCS۷Wll~mM6MSb}i}K32 C6mR~~ 7ٳGahΝʒauAޏ /^ݻղe"ng\]]5zh{{{{oQxxƍ&M]vOn:EDDH*^Y_{Un4x`h̘1:ul6ׯ_eh"(""B/_:N0c jϞ=VGQ(YTzzݭ:… >|O[ڷowy TGi!w߭!ChVGR3g'|(ՒaZjU*:uʕ+jذq 2D%SNJIIӧ+?گ]z"##ůGn_vt:u(pSUs0/K. ;cuZbccRc̟?_?u T {z!-X(LTXX<Hx@k֬Ցj.{|>gugٔ`u* fu TT=7o>}ӕ+WONNVdd"7(0GvvvGUDD ׿w͵~UNNNݻlm+$''SEt Y E-[{ァ_zGx IDATS+̜9S6mݻRcl6%&&*??(Bzzݭ:`ѢEڸqV\I8z맮]jʕ52f)>>U.>>bu@rru릏>HJIIѷ~@=z7(9sFvޭaÆi +rcƌرc}~}(ŋ)JwM>]{TKǏW޽ﯵkתaÆVG(3e5_-gu TS*>>^ |||4}tׯsFݻYAAA RkO2Errr߯<5nܸxVV-[Vx]>իW5qۚ7-a:tΜ9#04} o%0n5k1Rj˖-JOO< P֭7讻:".\N:)""B/_:N /hڵkQjk_U?i_aubzԣG=Vǩ-Z(66VVG(;(?ͦg*''GVǩ999JJJ*ڵk%I/vlƍ%ӭ["IٳgǝթS"mj֬:$5mڴhɚH]tѨQZF ҃>sjVǩ|||xZRnubcƌQzzvءzn?^=\]]qFZ ܸ{l6 /Xʜ:uJˬrrrt%5lذL7񹹹y~&ɂ2]otވhB>#{Vǩ͛-[h׮]VGN[r/^$yxxX[o+W>KJ /Ցn 2ZȺt浹R,vsppaubRSSefkE2\+Wa2 C 6:}X#P~aMXuN8 6XjUPW4o\˗/ի;XF;w٣;vXZWrr222bT5jԈbPk֬[o|Fx\=ڷobccuw[ BYl:FW^*W_}Uj4UTo^e:@߿L{UΝT#C>}cujUV'NSNNZZ<==Z_~ј1c4vX :8J~~?jڴitbu$ WnfSBB1LBBl61j*W Ptt -ZHa(++Kqqq2 CaήTcbb PvvvΛ7o^a[Ϟ= 7nܸؼ9pYzi .h„ 󓽽4iAj7)wwwyyy)44T'N(6vjj}Y^߿o~ñ3g]vrrr>LeGy͝;W=zPDD~WXsQ\\\/Q]wݥVG2Q4tP5kL-:Nb~i[N_|zau$JALl:233R鲲te`X :TAAA:|5zh=쳚2eJaɓ'4M9;;G2MSi*//TeŠ\VM>oOi{-6Ǐ{:p֬Ysiٲe;wnE钒ԭ[7^Z˖-SZZvء4u]{EPU־q(9sFVҶm4lذ"c'''[nZbZNNN ;Sؿ5n8kZtRSSuakNaaaڽ{wQ5 ׇ~L585{G3f̰:J͛S,b@ӦMիW8Նi7n/_5k(00Hb@ 'I:uꔵA@||3P-Z$0t!9sFahVKjԩPƍ5~x >\_WfӦMSzz"wURRRSNթSxb=rqqQrJ[0 U#G{rvvV>}4`߿_)))EƎג%KFM6Zb6m &ܹs7֭[աCQ>>>zզMrϣkPY|||O>oaukΜ9֭[RmnݺX&*ʦM+hҥj߾qS7|~8b@ g$_!N.iuje֬Yz嗵|r 28b@ &Mԙbrqq: u֥K4sLCa0 =˗/[lrrr 3w.]RAA qJ]/fUoynoo/I*(((2vÆ Z|IRrrM]˗/ɓ'F_~8:@U={zꥈ]t85ٳW_i˖-VGuqcXb]z쬷~8Jtt̙e˖iVjͦcTl6cB+W,,ӰaChѢE7onuBMxO5w\5JǎSAALԫ*I2MH0n:ޭzիӋ]|Y#G:NN̙3R-jJgϞUVVQ,CLܮ hǎըQ#T׿4i$K3fq 2Zf)>>.>>buСCerC'OiرQLnZ[S@u8j„ jҤIa+WxSm۶[oU7r6m3g9'99YK/I-ҞG?h )..ر e˖˻\ixG$Iׯ/Ҟ[Q}:r$A QLL (2nYQ5 >>>Zb֮]_85ܹso>}VGvZj%4uIX&55b(Zg… u[QFi޼y\III-y+''GϟK/$4TyuJ``f̘g}V{:NӵkWO/QիWOǏ:%rrrtee\5tPGQQQVǩ6֬Y'|RSLѴiӬP( ~~~uXfBBsuuՉ'aҪU4f-]T͚5f5|pIRHHvZɒ%{Ծ}{EFF*::Z۷uI5bĈR;o<9Rϗx =Ujj _WI-fw^uM.?~x(''Gahȑ$ooo}7 ׸qԤIkN~֭[{T o۷7}tIaZp$s $j6l&L ///w}Җ-[4j(I龺sNkNCڷoXEqe+T3fc=48s_M6YZqttwQgeJ2Q.O=rss|rauj?c=/?q,aiZ/շo_8"--M^^^/buj0 ZVӧ٣lPNӧO[ZpqqQNg&P7 2D"TϷWVdd @Ο?{Ws>sի˕EhhΝ;ov֭[7ߴ:JQw}qP8q6oެ T 7o >\o6X]PC|]@-`$I'>>>}wFY}р~*_iZze}O0a{1=c *ٳwiƍVG6ZjӧOʕ+VGriiirqqQPC/Qrr>2}IXmo>O=>#Y rj ??Z_,B}io֬ڴiSڵk%I (`]rE6m*rY:u*f͚СC (bbbT^=iUλn:\[;qFEEEVnݺyޢE Iٳg˕Fs-{P7PӦM]t5sLiuju*((՟HZZbժUZ|}]l8;x =zhŊ_j Vof:HNN222԰aC;]K԰aC#IJNN.^_RƂ0"N?;̭֥"ynoo/I*(((WZ1@O?TGs=gue֬Y~zT Za%.KKK1P?~\Gĉfu}ӧ^]VVG6( 6M VǨ4 ˬCleff;VQs$IESSSef׊^^_@.;;;4{euula׏QYrea݆ Z,Q{!{/@jӦ/_e˖߷:Nѹsg /PN'''5mTǏ:JX&J#''GjݺYrGU߾}թS'[\b@-a_+oF5MSNXfӿIRlll=zXGyD~"999ںuշo"Dz"mtYuQM64hW… ղeKt.6l(vsΚ4iRdsrrիW mVoV/{СCe033S[Vhhh\E)**J<sT Z҉'Q(Ҙ2e;?PVDZ?޽{뮻RLLPP,%t?(ܹs|*4|yzz***J7oVff~'1B.../X@Ԇ5 IDAT6MQQQ/cǎiJJJRtt|||iӦi޽ҁ4b+::5ڿzꩧqF]tIiiiz75g-ZHvvv_\fiҤIZ~222ti;VIII2+;[.]t1%&&j޽:yzUy^YS*ziu LTAA PgKڵ"""t% ӬYjzUVtqcT9eV6lؠ^{M?Զm[XԩS ѝwީX>ef$[]ӵ9n޽{խ[7 1~>}geggiwqqQNgϞ ]z"##+ҍRڠP;رC!!!{85£>'O+˗/8UOƍɓj@!!!JLLԷ~[C9sF>m6yyyY @ Pm|\*FբE [ǫe˖8r&gggիB-aR\\ Ða 5T3g]vrrr>L}0b/r=ܾ@_]vYF3g{XRZRAAAfRSSiu TCgV\\VZU e?^!!!ӦM( P jͦcTl6cIǏWuYFΝӲe4w\8qHɓ'4M9;;G2MSi*//ϢP1ʲJҸqkiҥJMMÇծ];iݒp۾*?0EDDٳVǩ:tAi̙*((:eZn-?̤X&ٵk^|E-^X;w:e.\ i:@@Ll:FX&*̢Ed:3g0 M>W0n5k1BӦMSzz"wURRJu/ܺu:t蠐9::G/ڴiS)@0 C<<<4dZڛ5k~'X2...S2SSS%b("--M?gy8IOOW~͛7iӦVG1( "~~~X1PKL}Z@Iʕ+e PÆ SEfl޼qP^#leff;VyaTv42 ?-[(==]1112MS ŋ+zxÇט1cOVǩn 2DfRAAq,QWezzzZ~Sjѣq,qe 0@G͛ou$b@-rdBBA*еP,4tP`ɓe:vhup{/I-Ҟr"NNNzjmꭷުPʺȑ# ($$D1112 Cׯrk{,Tk/>O>(h۶Μ9Sb(55U5Q`L >\5eXʕ+8p~'m۶M۷:@EL񑓓㭎Ra(ooo_...ٳ1XdTTT6oެLO1b\\\J륗^i 5h@+WTrrFeuj}ԬYTPP`u*׶m[cǎYJqV@5O+==]~ׯou*wU 2D}bccաC#hj0ԲeZW,OaXH޽{խ[7 eoo/_۷o/h"!0Լys߿_ruuzr .h„ 󓽽4iA}bbb i=yyyZ'//OVRHH|}}言EGGZdee)..p ;K3[IOO/0 ͛7OW}Ǎ̛7p̞={twi盓3g]vrrr>L^Xoƌӧ  .Xښ5k~g^(Um۶uXfJJ 2lEDD]v3gq\~~??_|^zY ֠X&Pl6[S,:~wh͚5:w-[sĉ'''[nZbZNNN ;#Iկ_TkXqbcc5tPJLLѣjʔ)][ gggCi4My.4կ_?իWOǏ%Ivvv2MSݻw׊+f͚2FO^8ׯLԽ[윲wܸqz״tRj׮´{R z? Ɨ@֭5tP unRTyyyY4ij*[J~Zk׮@#*j???9sF999VGmW^ٳgguX`ڴiJOOWttBBB⢀JJJ*ԩג%KFM6Zb6m &ܹsEҲeԽ{w9;;k׮tUM85ڿNŋE:tʕ+eƏ_ySLQ``t+//O7.Jn@M:UjܸƏÇ+::ZkQ9ɓUPPŋiә3g4dȐ"5*|nݪ:($$Dy\u( '3 V|m\Fŭ 2.R)ᾔK.:3Hb F* "\?mT@xou9g)y-\PZ\zھ}bcc+X5sL={V۶m:JW||LӴ:JKKKYf{iŊZ|yB=Z7nΝ;խ[7#:4jͦB%%%Y厝;wNuu޽{%I={,6޴iR ܹSԻwb Rnn>bלաCbcjڴ?^)gym׮]S>}]v:z~=Cn6O>}۷W~~2Q=LPP:v 6(==h|… }죬ʳ'|R5f뒤SNK. USNZtΝݻw[tkСzWTPP`ujӺuk5UZZZ 5[RRƌ :84M?^7nK[*2ZFcɄܹ{Yfݓ˗/Q...%ʒ\]]K7nX\lݽo̟rGe,,, (/%IO.qM-͓3g* @EL"IrJ濓=ʤItHgiԨQU*~|M:{t=',j iԨQ=z~i8q8w3g*!!A[n:J˗fׯ_Wff<==jTPP!CI&z7Sn4\fo߮?OVGh 25[i&988UW^Uvvv%tU]|DK$IefM/ݔ.{{{4R]vU婧Ҝ9s4zhǫPijŒTbφa:OU188X͚5Ӳe˔Ei%w7cggk׮̼~Z233k.ԹٺukQXGGj_?--Xڎ;ի3 C:u7ӡCn:2YX9YRb?vvvP5n8=zEk@E,[L۷׀eu}ݧÇk*((:NVFj}̟~I: ь3_j˖-rrr:N1MSaaaZzo߮}Z VY&P )11w,11Q6H^$I{-6Vꇋ/IO>QÆ ճgb׮^Çuo^M4_0` [ռyj+___ۻfnnn899k&UVI=k„ JIIѢEuV>nI&:|d%j˳_www]|Y6l.^h5nܸ=nnn6m:9rD#FP ]b֗e˖9r٣,eddhʕ={doo_'ի.](99Y .TZZrss~X{|A+))IٳgK=3Fnnn>}}L=t-[L:s&L ?JyyyJIIт duVI\\\cUZʕ+T w?BEzԸqcWӋ/ 6hСwp:eڱc٣yYӲeK1BgϮ/ o.RRR4|p 0@F:NPLL6nܨ!CXNY&P ՚f~~~VǀEZlCs8p|||*44T˓aEÇ5tPS=rrrk%pqqҥKꫯI&/۷O*T%0tq?^ah$}ׯƏ/ooonZvޭKdv-Ijذ (sXymۦ-]TM6foaÆIwN:/YD<ڴi`EGGM6cyj̘12MS&M*k$I5j^{ݔ)St^zOպuk 2D5R6mw^^ZӦM$GGGm޼Yvvv Q||Ցرc8p`jnZYX{z][n4 eSTTf̘Vǹ̚5K?6olujQeI5jdqTB1B 6իS"""zKC:@aoufi˖-VǸc 1b1`VZiΝ%{]j/^ŋy +~ɚ쳛W=VĂ `^/>nA#GZ_oT={j={ ?\VjYX;?WLL MY!BCCG#FÇղeK#54b͙3GÇ}J%%%ʕ+rrr:NHOO ߨϟO?q/ jÆ >|q;|6M)))ɱ:J(55U6(WN<~MzuuQQQ2 C999a2 Za̚5K=zW_}2ݓ'e˖jР<<<ԫW/߿f׮]E0 C <==էO9sܩ 4h ooo 0@ǎ2330 Cb,z- нޫÇ+((HrrrR׮][幁ڄ{Lm۶Mݻw6lEGG޲:Wy}r) SFFuO?Jsg!gau~ijy޽{5duM}4fM8QSN-,￲U^~hܸqJJJR\\ի'|zPVztE=8w-Z駟VdddQ3N:eu*.OOOc effjȐ! ĉSmfΜ^{M˗/O?mu:f@-tdBBI*F-ZXMTT uyQP2꫋a}+VǼ˦MLEGG{rqqQ@@֯_/VZEM*K۷oW'O޴6""B Zd{GZҖ-[ԤIҥK%5j'xB{Çݘܹsz7?Q...j׮n*4ZIĉUXX7xxll~ 4=999)ݩS'mڴI׮]ӄ %7PqYXnwE𐗗BCC5l0EGG.9L:U]t~a˫\zP͛7;C;vhVǹ̘1CIIIڸqQT ԢEZ,BcǎՕ+W~zauj1k,EFFj3fq,ej|LoooXɓ xDFFVZ}uuwsɚ+IٳgMUVց #(**J9994hrssK۹s$w\}G%ܹs5k&IpBخ]dgg>}UvtQߜ=z( @6lPzzz… 뗸Y:t(6ME27PqYXg,/jBԧO߿Dm핟oW\C:^nx=( ͝;WSLYѢE =3={]fu*_e"˗/۵i&ZZ,X@sћoi4j)Vel6c˗/ѱԆ>>>0oK\SVVZzƍ%I%AbsMa{|嗒ӧOWxrbbb$IڷoƌSj{7^j T}QÆ ճg =`(66ĵy*((/ƍ-ZH7oք nZU>|_ .}jҤIj2,}߿ $I~bcc뫰0y{{5üY㭛*2We+slpqq￯A6m[oY˺xQDzz:2k0%''kӦM:N[xLb_Tk,tYcTXbbE=X[^=5nX}վ}/jÆ :tLӬVn^SF։'4bzσ>x%%%СC:{ۮխ[7yzz*..RkN+W,ڼyd>@/_V|| /*::Z7кS˖-5rHٳGYYYʕ+5{lEEEqӁqƩaÆ>}x w}7ussӴit!ȑ#1b4hj TWW#F0 yEaaRRR{ni9r6o\IJ^zҥpB)77W׊+JfᅧU&@Mwk۶mڲe/_nuBs)22Xsڤu֒t5i駟euT۷kZnZhau*dM8QBCCBLlRffQ~Rffl6Q ynjicǎieݺuO^ʼnt-[ԡCԹsg 8P>>>zg0 5%KP6mhik46NKKaܹd:uTj5v㾾:|0yzzꡇRNN>c=Z'0{nI*j&Iah;O>$}ׯƏ/ooonZvޭȳaQЮW^2 C٥K#Fi8q-/-]T4iо}?"f/^(5oбcGIݻeժU+͘1C:z֮] w۶m ҥKմiSl66l${^[;Tצɍ<1m=zЌ34a_:]aڴit6l`u*+777\WԹT. jij#Gd^xA|`uJΝ;oQ*թSԺuk;vL۷:P~~~+''Gyիs*""8"u5;-ZRn Sͭ䓢 ܊vܩoV_cMjȑzהguJצM8q.55Ua(C{ђ%K֭[[J]V!!!={Mfu2Zf)!!喐 fu XlڴiTttw.hxbUXXXԐl.](""BRhh hZ2纙SK.rrr?yyy)""BΝo?rqqQvuVТ9S (]vC˗/֭[eoo_j]TT uyӧWsZwY뫃]v2iZvq,/+--M֭:JkӦ.\~(*%%E_QpΟ?/ _Tui̘1zW@ @L2ݻWԳgbM6UV*u(##C6獆ח$O>ڿ+??_~m̹n塇*u|׮]S>}]v:z~rnԨQ2MS:~|N<1Gddd5Yj~iԩ?~>luK5iDFRddrssSڶm+I,NRRSScu ܁B=3rwwתUS6lؠѣGk̙1cqP4j1Vcel6cByyy|RzM%I_$)++K3gT@@<<}X]S4ydX*""BYYYZfQ*U۶mu cTTXO?駟֓O>[ʼz4e͝;8('ef$%$$XndukF)<<\?'NhĈrqq)|PJJJҡCtY=][nT\\\*%%EwVPP,X#GjEM,ի.](99Y .TZZrss~X\\m޼yjٲF={(++KZrfϞ(ۗ@Ͱc &E-[TRR~Vٚ...zǪl_3MS*,,㹪;;YX>סCmܸQj]՘1c4o޼jrЦMZ,3%%EV@9{Nׯ_[oU;C#Gjĉ7oqP4jf͚~5YfuZkٲ:Ν;kѳ>P(//OahԨQE,YD<ڴi`EGGM6]@i4ֺcǎݻw0 ۫UV1cuQ]V 6,vmKiӦlz5l0IRթS2sI҆ dV\)Iի PvvvQM\\ ݻ%I 6,>>>/ԯ_??^jݺ}޽[P-!))Iiq3gQܥ8 P S^п/XfԩիRiڶm~ck:eL_۵ׯ׈#4i$-X8 {:ӽ[e6kLճ: ZΝ;Kݻz}g^<bŊR͛7حS޹$gճ>{ˌ>>VGA9|WЫ]ZJ_^Fɓ5|Y@ղlJLL:F%&&fYb׮]2 Cw$5lPaG)IOOĉղeK5h@ի_bFEE0 (66Va0 n^>|XAAAruuv{8u,OOϢ5kzj&&&*88XT>}t̙2gP3qrT5;;;mٲE5R߾}ku$KDDD(;;[V:Jhٲu T ((l {ԪU+mٲEM4QXX.]TڲQLLN:iӦMv&LP=SNU.]䤇~X*zF*Z'P޽ua+7څjJ۶m+j^Kʕ+R)ڶm'NXRJYfMamڴIk׮UӦMS֮]ѣGk̙4Eh r6MΝ׭r[ׯ_WRRl6Q@ܹSԻwb Rnn>rז:tPl, @M6u0M4IO=q*ݚ5k4f͜9SfͲ:*2Zf)??F4*9]FLj͛7}AmzjW^̙3*@Lr[rttTƍԐ!Cd,YKiÒcǎ)<@/_V|| /*::)vyj%T||t!={V?x4m4:tH999:rF (::ZVjqܹ͛?EFFZZyzz^ueTXu}ᄈ:KII1p?}Y5JÆ :NZjBBBꫯ(Y&Pl,fY(GGGm޼Yvvv Q||Ցرc8p`jnݪӧWq"5Ů]dv-Ijذ P\\$WСC&OOO=CѣGUZIZdxiFV6mոhҥzWդIۧ?Rp}1{oah;O>,,ң>ŋk֬YzwS&O<-_(wm۶:q1Xjj*2R2d7n%KXRZJ?̙ÿ]VPl6[cVBBYϞ=5}t͞=[ .GGGc@ׯLӼe/^ŋv>m]6mwޛ^Gn[Rٳ8 9 6n8?~\=ZnVG?~,XcHҶm[{VǸc))):J1k,=zTqqqrrr:NYrƎ9s_:T=ͦDcVbbl61p9y'7779;;KEEE0 (66Va0 W}OYfGꫯZ{5qDlR 4zڵha(11Qrww3gΔ;55UaaaS رc_fffa(22RTPPPl|Ea{uaUNNNڵbcc<7P-[L?IiiiVǩ6&MR~~bbbRamڴӧu5ܑTeޅ8kɒ%j߾q*͊+4vXEFF(Y&Pw/uYw^:r}]]tI1113gN&'Oirvv֣>*4e ʴVn驸r紳͛լY3YF7oe}rr:w-[(::Ziii䤠 YFԯ_?}Jk۶mڷoZl/sھ}bbb(##C:tP.4ճgO%I2MSڼy}ݢע}Ԅ d}gPn駟Vin6_mۦ 6̿ <== Vǩm*??_Q*ȐQ_RSS5l0_!!!Vǩ4K,Ѹq4w\M68F4ͦׯ+))(7u9]~]6(KL6MV⢀_^/^Ե lVo߮+$$D'OimDDdGsZj-[I& ӥKJ7j(YO};w.sf$I.\(۵kԧObj׮=ԣGhÆ JOO/_pBCCU~8;;CԴiS?~iUPMܙ<]|Yrqq)qnnXX7h%)++Kruu-qqƒ܊ܠAIRaaa &0=KIӧ+p]rE111x۷Ocƌ)ݽ_JJJjÇk7n TI&ZtQ*䷿[cTXjj$$Çkƌ;w})7ФIdKVEh ~~~JLL:M%&&71pppp^322J0v[k֭֬[7 777]zU/_.qK$I^AW~~L,ѵk׊mL|qZlh"=3(>==]iOIIK *j{Z,Y6|uMӅ S(effZ_[RRRT^=.`uU'O:NXh&Oŋk„ Vh 6M VǸl6c.ҫW/I޽{ԩSk׮UVU]RޓbbbJ\߿$?,6wqUGMʌi:hd1$EDF-1\r=Y&7[ʰ76ǽeZLCcSA='  q?u8<yf9;;wZ{*..ֶm={Znj-ސ322R7oVXq7he8_U?'Oa 6; jҤ/_.WWW 4HfGu111X,z̎Re:tÇovjʒ4Wf{'wy|̛7OSL… i eE@@@o`v #3f̐ٳ5|pVxΝwީC)55U۷oѣGյk׫գGyyyiǎ5=((H9sVfСC6ld[ugΜ@=Z~Μ9l^ܹseoo-H9;;+..N={ԭzZwwwM6M۷oW^^٣ÇA6Ns;%%%2;NswwWTT͛TItfG,l^||V\˗8l֬Y2e^}Fh 4V7˴Zf@=۷+$$D R˖-5rHM0A;vTaa,F]z… u}fSVqq ÐaW;y,BBBtY,u]>z'ˍi:tΝ;+//O6mҘ1c$I;vbի%A$Y,͞=[ԩS'IZl]v)<<\ǏڵkUVi}bٳ^.0sE矗u&mٲE_J몓@yӟkҥz̎S&M$ŢW_}(UҦM9;;fGLQ=իqK/iӦ^͎zjUffΝ;'㔑,emO?-7޷o o6}WU^x{{_/^ŋ҂ `˞{=\v+eԼy4o޼Je9rFYڋtoVݺujmaÆU57_/>}ָ+::Zׄ avJmݦZ233ղeKc4Z6l:tӧ͞=[=-ZHibvuj0 ;v($''0 e Ē%Kcv &.wwwsZfz)"ŢѣGgee)**JrppܧNRLL G[ntqiZj={wQ~~~nFٴi4d=:tqjUttꫯJ:v`efeeVTT~\RM65;5y_]O=qP,h$$ޘo69 ,]T ٳgd>}Z6;>|X]tў={+33S˖-f(0tRIRZZBBBŋ+;;[_|񅲳եKm߾tt(!!A6M'OΝ;9*s\JkݫݻkԨQ^bhҥj۶ӧO4o\Z`A:fǨLe䣏>ҥKoӌ3l2=f@=DLpssWm-777$yxx7Ї~({{ Ν+Ţ}ĉX,jӴiӔ#ͦ^zUAAAJHHP^^^X;vLC=TZ0 M0Lmrr.\05o\m۶UBB+km6&___^IIII:w"""T\\lvZ3qDi…fG:6;Jeeee˖fht=1c(22R 0;NI&i֬YZlFav$S4ZoeZVcѣG0 i߾};/[;ydQK/aZmÆ ޽{Qv'%%I& +3秠 ݻWǏ$}駒}uttThhq+kSn+::kh Piɓ'4o\111Zpai>ٱcGIor)**RNN|||̎Ҩi馛4gTa֢E3;1ejUJJ1IIIY& @aarss$WWr=<<՟9sF%%%rwwb)o%I?si+IJOObqZB44:uһᆱW_}Ufǩ5'N.\hvJ馛ԢE 8p(U%0ԲeK4*ӦM(gggTa0ax %&&G5;9ejUrr1INNY&.kʕ;\PfFQnnn*((ٳg,WߢE ۫HaT(www(77$??+Wa/@C׿U>&L[V*::Z6MfǩzşyhYw6lؠy^S͎S-a詧[oD 8Hhh 4"Yf@@1Pm۶MC<,>|XZ2;V:{ڴi0@GoҿTzz:T~*..ֶm={ZnbIҀ$Ik׮-SWXX͛7Y{bqvݺuԩ&Mtŵ4^hOGÇ͎S+R:tefeeI|||LN8dddhԨQzG4rHT˅ 4j(># 2Fj1;J3g(''GV(>#'UJMMUjmMWWWw}6\\u@4c yzz*::ZΞ=jԨQ+W?sLuegg+>>^/Ν+{{ZժhYF:t萆 4l6^1_UX;i$]V:~"##F8^bhٲe[ԯ_?9sH5U111lM:fǨL5mT-Z0;uDÇWf[oZ.6LLL_~fG@BLؐ2%% 8z$,JMM$yyyȑ#ZnQR}vhРAոq+*;;2-[Ԯ]GڵӪUzj }Z_Zn]w@C^YIII4d]pH5n„ rqq… ͎rU;vӧ믿Ҳ#bv//R+VP͎Se.\Ј#'><`v$400 Cj֬>c 08UViРA:w̎s]X,Zre; UxxV^:puuwܡoN֫I 9;=#>A߮];رc52H611QG ٳGݺuӄ 4{lԸW^yE/=*\Vvva83hڵ̎r]۹svW^yEfǩ" 2D7ng}=z *z}.7 IDATꎓbvR)))h2dXzjI,ҚSN)&&Frpp飭[2sΕbQ^^m&""{{2-Zjݻw+44Tnnnrqq߯m۶~IWҥKTxnJJ"""ԢE yyy),,LGtvITQQQ9r7h u]+K=Srqq͎rE͎Rijٲ1kOVDDzꥉ'Ο?kƍZf ?#h 42VUf(,jv 32 C$0 رC͉BBB ͦ'OjΝrqqQhhh7wWv2 C͚5ӽ+0dVNN&N^zIꫯ=z/ƍHjǎ+Ws돎VttN8+Wj˖-:thiղ@M;}ƍT;wNvRDD7og}xP' =c:uz5͚5ɓh"eff:vؠefee,=*..ֻ+bv*9ymݺUwnv$4`4z,3 h`bcc *,,L͛7W۶m EEE)##ʵŋK.j֬.-_\ϟĉ+LiiizǮz)kܹfG:(??_G5;Jdee+$$Dqqqfǩ<=ڷonZELZSVVQc\UZZ$Gرc5i$8޽{+99Y[lQ̎2Fbs,bNRIIIX,Zz$YE;v$i:tΝ;+//O6mҘ1cJJ$-\P~ڷol6o߾L-Z^֭<<s$IEgϖ$uIaaaU:7779rD֭0ӼyfǩyB Yfzz$TBEDDM69sq*ԩS UZZkO2;St!ժc(%%EVek`-XUnW_}uպkÆ =~=\tU*.N˗/W.]J...fǺ&NNN2e~i 7`v23g8.www9;;SҞ={`vJT^o/|UMYV%''CɼTxxΝ;k͚5ٳ,,F]Z(A>>>8pҚsb(//O۶m+޾jrJK~~~rvvVǎeTRRREѤI?~\IIIe *rqرccJII?,777k̘1-wjGm:uJ111 <<<ԧOmݺƌ{O?K/$A UעE [N{r?S7Dƍ̙cvre8`v+JOO1 k׮բEon3;N+44Tڲe @Y&ԛffUpauE{L-[L6M ҥK%Iiii Qbb/^l}V.]}vIɓe5k{Wa0 W)߆ 4dC?RSS5vXhԩsssK2 C/$_VV.0Կ2]-xLL*==] .裏*::Z/4}t-]T׿U{ ^(|$$$D l:yv)i~RսoܸqTjjv!;;;eeewjҤ>8I P.]b }ǵ@eXVZJk׮-}֐999iԩZdN8av2Zn-۷(WApq1BF͎S)vb}4@Y&YV;vL%%%e())Qjj*oC1w\Y,۷O'Nb. U5m4fW^ruuUPPW>66VǎC2 C&LݻwWll<<< &hذal.{^bbiȑ\y'?Y͚5c= _^111;qjjݺue5]mJNN… ͛m۶JHHQnL:Uݻwn[111*))o۶Myjw})>>^3gԛoivk6vXy{{kΜ9fG)cǎڿ1(==fרD驅 RRRRtA[lэ7hv$44!ժ_5-É'TXXHL4'Oae/ٱmذAԻw2>>>j׮]$5iDaaae{5/,,L[n-7"-ɑ$iΝ1bus5wuWo orjs/O%I}-SPkƍ֨IΝ+ԱcG;:uT9s4a5mڴk1BO?Ə_ Nx8q8ek߾}fǸ"e^ӧkJLLq꧟~R׮]բE }7;eɦe62h8 +''&(W]o$5̙3zԱcGyxx5eIҹsʝ/馛j*988Xi޼y4i";;;SIIIf[ͽbSMS|}}%ޠ~ҬYֹsxbIҡCe;͘1C_5hР1cٳg`s,5e|/j̘1:tJJJd,X I2 L}nnTTT5kӳJ]kνP3js/ttt [n Iџث%G^{5j޼y1bDf,~mzzui#Ubccof)<>|(u)++KÆ SO[n ͛Ph 4BE7|MːL1yd`@ѧOI҆ ʌСCbm۶ܱٳgu*...sqqK?oV*ۅ m6)**J>>>5+2d~G}'j۶mA)))k^KkU{ ^8`IڵkjrvvV޽k:OQԼyb M8Z쬤$;wNe64GfϞmvRAAA׾}̎R~Myyy4ˬ04zh魷2;UݻWzRn: 2F* ^4 ˌ3h}:{IRRR,V^-Çj˝cǎrqqqڳg,6nܨ .bh֬YodX_*//OEӧOֽPsjs/ݻ5tPEEEK;wV^^6mڤ1cH2Y,Gooo >\a(&&?/:uʕ+jfǩ'xB9sQJ~ڿ1*Dٳgy {͎sE_~z!/ѪUdv$4r0 C{/^Sֿ5~xM2ŔgE+WAV ;tI?~(GyDG5۵k|;vF&&&*""B5{a,[LcvHm?bΜ9z駵j*8(O 0;fΜ%K˟'5tP8 ٳg?Y7x>rX>ٰa~i|4j|7>jbvZ:~|"8qBVF?*<<\rqqQΝfSEEG.RTT  8P}]O:AӧnZ|UZGGGjJ={;C 0Azz<===HIIё#GԣG@a/9K,QLL1P SLј1c4|p۷8o+bvIRpp~:u(大LJ&U]999ZbEnf 0@Q&eT@@.\:__~х Pk8|t={?Vff-[&ͦQahҥ4(11Q/Vvv eggK.ھ}{ QBBl6N<;wEs^IUXݻWݻwרQ_7jӧ5n8ܹsڵk"""Լys=f:^X=K.ՀtY-YDO͎jZhn=C:qqiӦҥKbvK}z d^xHJJx }4ch6mDv[ߍ9RZҬY̎oQڷoQȐ1^'N?O=fǹ>@>ƌ%KI4Rrss3Y|m46l$ݻ̸ڵkW>))IM4QXXXq???i޽:~$O?$۷LBCC7^1_UXۧOr_^W\ PZJ*,,Tzz/_Z[0>h .^F-0TTT};4;֯_cǎiĈ*))1;R4mTӦMomLo2gvz@Æ SPPy\[oÇ^uY,#,hR릤jh8 +''';Q̙3*)),KǷ~+IKkVnn___IJ*;j[j*YF׿̎Se#FM7ݤYfE~ovrhY9:vV\)Thɒ%)Sԋyrh 4bVUunrr22qErssSAAΞ=[xfff-Z^EEE2 /GGG@Ȑ+*s\Ps>FNNNfܹsKVZx=~} ]׮]dz͎S%M63Q||/^\o6g=zi zf@#FLg}$mذxzz:T~*..ֶm={Zn]j IDATH֮][P7oz}|UbuөS'M4k@}rYiFaaan!C0 A2h<&O,0\XE닺~V \ȑ#5yd=/̎S%#FjՌ3LϦ渔a̼jRSS5vX=:tq*4{lM:U ,P\\qY&Ј,3 E2c yzz*::ZΞ=jԨQ!w̙ ?̙3V||^x͝;WVUZfrssu! 6LiiilbqvҤIZvrssuqEFF*--f0TRRr=\]]u}R>}Xsהu/fR߾}5h >|8fgg~Z=jZ?Ojڴ;2ɓ'UTTD(..֐!CyB׿E)::8@,hĬV222tܹ:[3??_Zu&@m߾]!!!4h|}}5n8jήL}˖-k.kQvj*^Z.ݻ5tPEEEK;wV^^6mڤ1cHΝ+Ţ}ĉX,FDDh„ O_֭[#GhݺuzitC 4iD˗/7߬~)''HMVU/iվ}{?1-K2/#..N~lv2 PLL^~e;zꩧ̎Tj0 ;vL۷5e2Q)m۶է~Zn<--M===5o<͛7s{yyiZ`ek&Oɓ'_թYfԹsg=#Zn6mjvӴiO駟V6mLѩS'e67nԜ9soo7;N%%%o+V(""H@41;\lXRgk^\+ DÔ.OOOOIIё#GԣG@㕔$R(((p<%%EjѢ#GԩSQ``ժU+S/E?f͚k׮o.?++KQQQ |||4p@}wƚd0\sZfzY=2Ν+Ţ3]pFrxZfvءqƙ҆[oU3g4-C}ly1L9R_O .'вe˴rJeAY&ЈKufrrVgk:}ƍT;wNvRDD7og}x脇0 ъ։'rJmٲEC-sNzzBBBfɓڻwwQF)>>IÇեKٳG222xb6'KKKSHHxbegg/Pvvt۷T%{Pff-[&ͦQahҥ*2 C͚5ӽ+0d҆ 4dC?RSS5vXhԩW]JEgϞUddM'N諯Rvvz/yƍHjǎRޫ+xJΝ;iu_TW\\\\a\f2_GǏ׫EԩSԮ];__u~oUaggiӦӡCLЩS':uJGb1;JQRRÇEoq8 D `v$Zh 4ru,3 CM6)''Gݺu6mh׮][̎ѣGK.j֬z쩾}j:ydiMlle&777*..N>Uט6mrrrdԫW/cǎZlرc?z!*((H~ Є jZ@S啫UcwXyxx[&Lаado]s3ghƌ{ꪻK˗/5q ϙ:uw.}*..wx.\05o\m۶UBBrUE}yfW^rvv̙mۚ \_]yr4x(Ee(G?-بk_ZZ{ֵEDq~~~6())<<AAAQt>uT׼oUkפIBAE]osahР<?UVZ1gߡC{})?ѳgO&Ltf޽lٲ̗\T,S:Jjjjb"""׹Dž ͽ}}}pyyye^*Y{ﭱd"Rڃ.-x9K:{C=ĬY9r$4Y`i^vrrrm/]K WgcUkwI rqq~+Ӟ]n|e7 !CaINN4M-g|rnfzӧR\]]>}:˖->eM'11VHKKcƍ~NIDDDDDDDDDDDDDDDDDDDDDDDDZXu.$$ TΞ=KHHH%r5ˣUVu""#駟yCL0{@JJM{fff,KQQ۶m++B-(**;;ADjWE{be}{yyE[xwϞ}m۶iԨK~~cU%//ݻw۴ݻ'NЮ];6mjW?cڭ_ަ7oWխiӦ?~ܦbpr+?^zDGGae."""R<==Yz5<8;J 0֭[3{Z; ==ZR&M8; {7IJJbٲeuf=, >}/m:;%jb"׹Pj|T1ELJi0MJJJʼVY]'"RW͝;P&Lرc3*eΙ3@/ǧZlɓO>g}FNNYYY,Y_|yVsDv 62}xϟԩS {i&027ߪֱ/k3~xڝ;w 60r sEU*ZRgfĈ̙3sos /K/ cҦMRRRxw6m]\[o>?NRqqqz̞=Vmܸ1͚5￯q/uIL,ΝSN̘1-22nJ͝H3L48Wf͘ ݝFѷo_~k̼y0 sαm6k?nnnVTTĊ+&88OOOIHH&:Υ;FrrM ʷ.m?rqqqĐ!C8{,iii>Yf /{̙3mwmEDDD'gϞeѤsyvI\\ 4`ƌNODDDD+Я_?{18tYb{q;t?L^^^y)ł/NY:ȑ#?~|᫯Gtԉ4hDDDDDDDDDDDDDDDDDDDDDDDDDje!!!V,3$$Ǒkôi&!!h|||h۶-˗/ܹseNʑ#G?>>5>4MƍW9FFF2uThذ!ƍc$$$믿Vx]RR3g'`ԩ՞WyNǎfȐ!mۖ>'Ҿ}{|||=z4|6:cmEDDD`6l@vv6ݻw' ~VZsN?ȸaTxjdl2o'"""R10-B^8uꔳS*Wۘ3gN١CJJJسgOy)BppwB M7/tزe > ݻwgxzz:;%b"Bhhh\RRRm5jDXXXd\\\im۶|;v򋉉ae۵kGaa!?-;;k?ѽ{w,YRmTSN6ϛ5kVn 7'lj{mEDDDQQQZT X,,]-[ؘiVPźIDDDD*ڵkquu%&&;;2 `ƌ$%%wZn"00V+ɓ'b>,?#IIIxxx85ӫW/z'||DDDDDDDDDDDDDDDDDDDDDDDDDje;wӧON"//O2.a-2y2999a6r'<<X'O(0ѣGӧ7x#VݽJ lꊗM+%%%X[4lؐ_/<6S>(̞=V3 ;Xbe~g$$$o])))Gy!Cl2ի|DDDDDDDDDDDDDDDDDDDDDDDDDjeeZZZQڷe=ׯ/.\ //N*Y{^cC1k,F)))4M,Xi6񹹹PXXȺu th+r]ڊȵk޼yb͛7wv:5ȑ# 6-ZnS aԤ>:j○#u%qLXXɬ]ӧ;;2 `ƌ\={ʘ:tPZtqʟ' \-[ƠA5jK,ENԈ7x#nnnXحW^ش[,uGrrrc^IWѵkפI0Mvڕy-//VZ̪ӧڵ+}IIIdggc&۷o/{wITTT_=RJ"עus0G{,^sxbgSF߾}ۙ5kVסC~GχkbI&N0tPyםŋ:t(< oӾPKDDDDDDDDDDDDDDDDDDDDDDDDęܜ87pCl޼9nnv>saÆ GDDiiiL<`,Mܹs/x'y7Hqq1+W_$11;ؾ};;vÇswە+lڴW_}aÆ͎;==a>S|k+"'4)))٩\{²eڵk|E}|WNa("""Wwyoi8Mxپ};wv:67nڵk:t(5:VNNAAA IDATm߸qcvK/رcIOOߟ:fzipBFI6m $!!6m؝ߊ+>}:-#00^z1p@^~eر#K,aѢE 6aÆk$''#X<==4hK.4ߊ;v,6=tns宻)i3g^pxmEˡCٻw/U^ w=QDDD9[nߩע@:vǝJ"""8qDu뭷rwc&vk׮䐓<:uDzu߸q#={TLb*)"2j4nݚիWiȠaÆeyxת[na֭[Æ Yxq͝;ivYY\EVx]uck+"r:<{4{\i0 g """"""""""""""""""""""""g' "uCHH5jj*!!!5ֿ\{, ڴq!zDDRa}\p4'((:TӧO3~xBBBpwwQFۗ~&0 䡇bڵ;5k0 .;o>>)55 C hݺ5˗/iӦ?'O:+R{mۖ˗sܹ2w{ݓkb-"##:u*4lؐq1p@_+.))3gO0uTǭʔ)Sˋ;3"6lP ݝ>ږϚ5kYv-}Zsm*)"Bwi*)bժURPPbaҥlٲ,-VC2ED.OΝmxK%''BLLMlpp0m۶oرc<?aԨQرb8@ddd Τj޴oަ-<I5jDXXXxG޻͞:[ս111l޼L{v(,,䧟~egg_͟'wΒ%K]tyϱX,Y;3Z ,lB߾}k`6"""""""""""""""""""""""""""""""K2EhG 88swwwJJJ((( ''0 w?osahР<3޸qcN:p#SPP@nn.p[0 ±/eb4ibq(V&U (V{eϞ\k?Oxx8־&O \sQÍ7ȪUkRݼ%CR\\:t(?8,[ ?rKݼyw5o޼Z)mˋv1|kAR9Vu1 ]:;UtOШQ#bccٵkT,SD0 -ZV}qM7-Gsuđ#G6l-Zٳ裏=RWVԯ_(,,4r{//C aÆ dggiۗ;u.gΜ42E2/-ViO#S~}|}}pyyyeʪiV*''KDž -{IIU.-[hT{˞=r֢*=fbȑZnm}_~$''5p4gwwwxӧ 2bfΜIFF=z9>>>u]f&%%%rV|}}޽;/`ɒ%:5'{ԅ+))ߧCμ3ϏGySXXH||ST,SDBCCkXfhhh+קpPJ{X,,X@׮]0Z#ΝK˖-y'!++%K/2o<ܬO={졠SN 4^,ϏiӦ}vΝ;7|qww'!!Y9sH||<9yyye84=zĎ;ۛc_W9PYnSg^89Յ_ܬ_]TjpO?lDDDDDDDDDDDDDDDDDDDDDDDDD.+˔A]8{ @xxx|E1o< `?~0>}:5kdرL0 W^y:@ƍٹs';FƪUXf =5/0 @`` mڴ!%%w}iӦ=曉`ƌoQa|)-Z_W6mJ `ӦMs=er7ޑiٲ%۷os׏ƍO0n8)((0 FQa&iVw=:u*)88]v3~xҥ ΝcÆ 9؊UrI&=SM#] rӦMHHHM6vv9{K{dGע*+V`,Zf͚SN|,ZaÆaO>ra\vUVhfG))""""uǁhԨ 6tr6W<tԉo'O^S_JyffUND云ϧ^zgaa!|߿Z+.2SoߞL;TUll,k֬!??k;`֬YLA={W_q…鿮#u%\rU=A{Hjۤ$,k09rH'""Oꮻb۶m bҥٓ7ZϞ=?K$%%qQ<<<֭#Gw"EEE|'{ݻnfFqpqyG߿3fqF8}Mٳg3c uW_}@JJ z ((L/G}HNN //c/зo_*L̙3KYtڵ+>,{oǎ|eֱ<ߩDDDDDDDDD9EDDDDDDDDDDDDDꌕ.@DꎐPSzz:ńT[rJNN0 룴iiiOPP111:tLOf񄄄NF۷/?M\AA?}_ZMIIaу}ΨQ8q"SLb&}`ь3tvQnӧc&6<iұcGI&Yuii-zxiwfgtޝr eVbйsg/_NBB|xyyeSX4?~DFF2l0=P'MVViSO~k||<?~+Vi&qk~"""o9u$$$gׯi6X|9"^z_SNVͿ{Ƒ5{b+WfĉԫW :ԯyڻ`&?...//rss4M"""Xl݅2EDDDDDDDDDDDDDDDDDDDDDDDDeUj보ҾEDE/nFF;w&))z,lBVVl߾[]/3??4+,*Y|Kk׎l~ifϞba֭deeѣGˊwt}.=|Iz-f͚Unу va5yyy3iӦq t9ٳg=z4?;wG 1cTvHLLd :4=z4QQQ 0&vƍmۖh<==iҤ *[.odd$SN% 2n8HBBkL2H;)**aÆ52+:TO>b>|Я_?}23uTRSSYp!1114hЀ֭[|r6m9yMlBB111ҤIO3#ۛ={һwovEff5fڴidgg@tt4>>>mۖ˗sܹ NLLdذa 6$&&">r_ʑ5=T9r$]ve۶mٳ|*ב< &NHII Ϸi߶mGvHuRLjԨ^,׷Nk=uNʑ#G?>>G}i7[۹sx뭷ԩK.~駟xG֧C$&&|JJJ핓Ü9s֭>>>CAe^xZƚ7oa{n?aL>EfÆ dggӽ{wxiժ;wC[{յֵ|DDDD*ӿ{9VZ]wř3g5kVx?5;vP\\ İy2׷k׎B~rҥKLٻrss#44^xj*^*[z5{i_>QQQ&W^eψ/~N\\\Xp!ϭs6oFN8amKII﷉mԨaaag~g}Q♉638jII Yӯyڻw}3gX_}UƍGzHMPLqM7VmRmÞɸcL۶mo9vPs7۷i Yf޽LJ{Y=7kႢ[l!++;rNs"R#Q]&MTٳgW[-QQQZT X,,]-[ؘ9[]k]GDDD*f;?ť|M}>LTT 4~6V*''p'O ۻ'V]+ѽ{w/fLAA999xxx[&M`X-ٳgy|g,]湻;!#77|||\Pn?ۦ0? O?Ν;c8:8旪{~/7O{xΟ?[oٴiF鈈\6V[V["nNN%%%5 җ߿ƍp)Y=[0 ±/Su2pH]errrg̘1޽La 2 6Mrr2iҷo_ϟo{衇5k#G`& ,~/,~\\\ʴggg_灗ukTQaRϏ .['OQUqsscÆ YpFɮ]Mׯ/.\ //ـ IDAT~n PXXȲeضm[HLL+gYsg<  D&Mx7(((^OSMEDDDDDDDDDDDDDDDDDDDDDDDDje ˔A͍rޚɽ au̙r6X=OUc)9U!r8Z͛g-ۼysg#"""""""HMMe|']OOOӧmٿ?#::d `m6?~<5ϯ6mm, G-7˦-;sYc۳W/sU>#e.((`ƍxzzr~eС&LinLJkCll,O z %%Ŧbp2׿hذ!o|{ϑWv8hMƌéSxXlO?tNHDDDDDDDDDDDDDDDDDDDDDDDD *)"6BBBXfHHH'R]KQQ۶m++B-(**jpviۻw/'N]v4mY=gffr+ؽ{M[ysCupHm4iiҮ];g"""NGVqv*""""R|8$$$\v#3g6l@||<~~~DDDpQ&N999vϧG޽ӵkWfر̛7n9=CFFSN%##%K27VD.۷端rv*""uJ]MӤg""""";v,o&}a޽ ֭[qwwg֬YL>/~p<<>>`<3ͫ0`vٳ?~<ǎˋ]aϤ/7nǎaÆs=|嗴hт>f еkW뽱c<<<;vlCݛuѲeKoΔ)SׯEEEoߞs2sLN> cǸXn| ;vY45 |8^kԽ{w~G֯__.GnV^͔)Sصk̙3̞=5k$~g>'{uٕS^`ʕuرcW4~].'"uGM~D\\\"$ΤQDf""E\ȑ#NE.țoyESMsHu߿?[n%<<٩\WKk2 p犈ȵiƍHDDDDV9;[BCCHKKbiiitMW\g&MĤI}"FkkUOvXxq10_~cVo6mHII;{]֭[z2{;/[W=iӦ* b,XZb+WEDDDDDDDDDW[o'OR^=k{ZZbNN*xb&N4DDDDDDDDDDDDD5]MDD*6}tODDDDDpqv"R4hЀ@RSSTDDD={6a`wu=%%ްaCky0 sαm6kjc燗]taݺuӺ1iƏOHH4jԈ}?XccLNN^giiiOPP111:tugΜaĉlwwwի7o .X_+((',, ///y衇Xv-6cٳ3cdm̤+VMpp0@II]M ΘllML߸q#a{XTm(xH&A)"^H@1PԣҼ>J'PH* OxJM['PKPRrYqfy^^{9{gm|wjODDDDMߣG0sLdeeӧ8s Ǝ-Z`l۶ #GDQQlقGGDDDDDDDDDDDDDDDDDDDDDDDD`pL"RбcG-ٱcǺDDDD ZDD077K={K B.EDƟ www;wo066۶mdggW^سg6mڄ<8qyyypwwӧhg~1bׂ!!!sq17Nn vBLL rss? ^^^vX󂂂n:_>ĕ+WеkWɓ|&m9s&fϞ,_7bРAr 0c ̛7aaau;]}?!!7nܹ)))m;v쐥WYv-8///!5ɱGRR1`X[[cܹ3Μ9W_}U!KHH56oތݻw=5\,888hmL-DDI$Z-[!HpEܹsZODDDD5[p!HR899a׮]xBpܼyW[o%˿{n!XMwww~~~8{,rssڵk-ZvB6m0gܻwzV\>]EXX<==aff777pX[[?~}t?U!mwAEEvꫯ;`ܸq044Ν;_5e-{^};|0addv-D7vRTYh}%"NDDDDD4qL"RбcG<|?ָBcǎ ^GD8ٳg JK$]DDuư@II ߿_!PVV!ҿ7|SO}ΏưDII ߻w`oo_c9&MBRR󑐐!FիWR/aذaӑJ!fBrc,h󃍍 +gu-00BxyyƮ+ B9m Ɖ;;Q2H 33S2nܸ!W:xqjӦ ܹ#[n)off&f.]4F""m:t(ѣr999HOOW?j(#55Uaۧ~W^y岴G 8t\zii)ajj!CX^ h֬|||D"W}QWHMM=̙VZ#-..s uI7oc… Xh`jj 4i***tRdggcРAZHSRSMJTVVsT-^}aaapjUS6 5Wc[穆_C)bDcǎH$и H$+ZH3HDT?wbÆ (**1w\nZi=z ==YYY8}4nܸsDD[blll~EEE|2L{{{+WDN{ȑ#(((@^^n݊?022qʕppp@HH9>ܹ3JKK1p@:brh$&&ZaT=IDDM w"""""""bD2335?33 .44nDllBo=K.駟Q}rttāҳakkncc> }Yee~ӧbUK-[b͚5XfMyFQm...زeJ15ϳ6+W}֤t9j?/==]iz\\T 3fwDD*5kC """"""""""""jT{{{#99Y#XYY˗/Ǟ={p-ӧO om6\t x0m4Kկ^ŋ#99yyy(<jUGFFoݻwaiicɒ%puuUGFFANј?> 55UtCCC+W\\ Q pU|G8~8ѣGjUuLַh6DEEa=CY\uU|HIIAYY|>ˑ,O>X`|M5PgXYY@i9n¹s甞wu;]չJHss ݺuÒ%KvZYNm۶bj2Ց "Rbb?l01a-FD Vv>GFF 9rD޲eKYUdk;45zh1zF[>6m||PHvvϞ=KFFFb 0Ɖ߃|EDQS*"""""""""z9>'i&ann.\\\DQQB&kӦMx8~,w}'+V<n:a`` BCCbœ'ODZZ044}3g`رhѢ͒rX """""""""""""""""""mpqqA\\.^wyB̜9^^^ ˛ '''vvvXjDxx8akk`?111xX 333 T#<<7oի[oA* wJ6mannoooٳU[UJ=A.\|RΈCvv}4Q,]+VR)x رϞ=ܹseÑk-Z#vڅ6m`Μ9wUi:كKbרƀ"޴5JMs&NsS9]vɓ' er5]\,rpp@ff߼y GRR1`X[[cܹ3Μ9W_}U'J$Z-[[ciBci?iט1ch"߿ÇNŒ3 k)Ǐ+₲2JݻJGBB /=pyܾ}[^z}Сݻ*ŧ*UѴ vQ!C۶mtq=MDŽ2ꔥTM.m۶ŋe 8p'^^^(../KWuQ: ??R?wŀ(} IDATuVnL8^;M[cߟWܡSܬhժvP&Qearpp@aa!rss&<@aa!$""""& ^^^Z^ӧV]~"""""""""""""""""""ҮH$%%ԩS<7n;Ȟc߿?fΜ#G>Ápm˕S1*q`iiYmYڷo/b͛*++UOUS6Rii) abb"[y[Fzz\cBuXiZl D޺ukܽ{߇ `bb vvvtUUh2nݺtsM^3M_cߟWܡSܬ1FDDDDԴ.333޷j.IDDDDDDDDDDDDDDDDDDDDDDDDDD'NΘ={6.^G"`ҤIHJJB~~> QzjYaÆ!22ӧOGzz:*++!5kߪall +++ BofХhqYXXEEE 5:ejW100g_\ZEעjưDII ޻w`oo/\ uTaa!QVVFz#šKߕ]Uj; \&"""""bDT`hh Ȁ!ߪA:DD4H$H$|"޽[vLLLQeױmő++G"{())5D"oQ&hB|5EEE;d"""""""""""""zIddd`ԩox\>+++\zЬY3 !!TTT 553gZj%UqqVU%5jˑPƧ~W^yaff&{.]?׸S}BDD|Ð)**ˆ#vZ۷>>>=z4~7k,[]tAAA6o ! 044';UVaʔ)077GZZ&33:uBee%Ο?=z\?#{=lذ}EEE݋?qqq02'=zӧ۷oƍ߿)6hjŊHJJBHH,--[na޼yJ(((dLT׷Rӱiܪkذa6l؀ɓ'޽{Xp!ZnE Btt4u+W`ԩh޼9bbbd-$$RDvv6Ñ[sMM|><9k;w@*9)aoo \&""""7y"Ƌe:88 "#5BTVVRa޽{!ܹs!J!JXR)\]]uW}O}ثi6im 1R)n݊bܸqH'/`ꁷC "zׯ; lܸK.^O?͛#22yf͛011#bcc1uTY񈈈h"`С?~<>gϞذaeI$ETu8s /_ dee ݻwGbbഴ48-Z(H$Yz'{ڵk1}t백ALL ^u$$$`ȑrM0AAAjףj1|>*Ν;RǭT*œ'O5<̫X ,@Ϟ=f\~ϟD"AXXl^Uc]vXz5pYTTTw8v<<HJJ-X\ U֭[~z)S0e&NXycih8s~83Vp~we,8we.|(//+V\Kr;ƈFߔ)S#G/ڶm/BGQM$ o;x もСCϗx5kΟ?r7]ӧ_~ >#̞=~ED1ckX~CGqq1LLLt^ooo(](.R5~g;V?kzQJz\ܾ}Iq9x{{#>>oq98::KKK?rssT_}5kn݊#GW4ZM^W&""""j>QT/ "ү]7oi=F.>}Z222XBPV Uo3zQ.]O?i->""j***Q1dDDD?Ƙ1c? Jwܻw͚5gff8q#""""dر#n޼JB֭[ر#"""HHHD"ݼycǎZlI&ѣGİa`aa6m`(,,+񁽽=LMM쌘/֙c -[?_^mD)$ #3g:v͛UV5j.\ {ii),Y] 6666l[bѐH$x RSSeUjb]v o6Zl)KUvU1077Gc_Ç7o:ucccoؾ};v̨m9牙z[ϴidUBںn{͛CeyTօWO7DjjjQ];4ɫ K.o!88X}49Nk|8$ 5ΟO=zlJ$ogϞ,,,j}ZVVPP֭[Çr v튀|XaOOOǏ+sڴipww9燳g"77Nm ͛7zj[Jprrݻ!@pp,orr2SSSaժUpttS Ѥ*,, 033akkWVV4… @*qqqVpddd &&"""r9Dꨯ9Ry]vɓ' 3ՕkuVUڵk-ZvB6m0gܻwOaꮃkmXJx7c<{ sըYlmmg4k 3gիWͫi̪5ϼyPYYիW˥֭[3f>O}'O`̘1(..VOӘU/k۷oÇeVBpp05k9\]]Ҕs^Q]EGGC"@"}/m 5ٽ{,>ۭ[7YUr^|~>5XuE**A՟\\\zj/DDDDDDDDDDDDDbDT-+TyLo""Er `hh333tCCCTVVʥ`ɒ%pvv쁺>}NKKK͛7QZZTVVR_~6n܈/7n܀Zh___Bڤi?Օl{ii) abbTu*SPPXXXh;LjYybmm-Y.^ʱ(l:XZl D^u{}Q6ʜ9s0vX\|AAA sm'$$O>ŦM8vf̘4teǜjDDDDDDDDDTB奎&BK^|999hٲ%`ǎؽ{l{RR:Ν;ɓ'8wVWGcUW믿 ?? *Ȁ#"j< SSSُZ/_HE|.n 6 >}:QYY !֬YB[,ưd>o$ &M$#!!B5 W+[Pj266JJJPTT=//Or,--QRRZ׵Asr՝Bڸn{5mR(M޺ukPۼm6t_|+m>y&L;;;lذ*ÇzZqúusΕGa֬Yؾ}‹v1Z,,,0`lٲuV9*"""""""""""""2wD0}Ѡ"33={T)QQ*Y}wTGEEE޽;t邃mKMMŸqܻw 4@x{{#%%En[MǞjWQQTcΜ9rۊӨQ_ 55駟bƍq`ee4t͚5sss:t͓kffgϞ>w~!f̘QkLSm%j]={ѣ=z,=77׮]S#Gb8|0Ǝ+{-R>"+uΓ+Wg#""""ҔkuVUΡC(SZZdbȐ!lZpE.]wmڴ,J7 6mB˖-2f]_cXt)>3ܹ.\6II Ξ=޽{Ҕs^5~ǏG||<[طo 88ƍC߾}4X[.]O>EAAlmm'GED_ϟWHi襖_~ ,w(׿<}AZ @ee%*++ݻB̝;RRYYY:E*UaQG}WԷz8vVZ)Siii7r׷+W{g 6o߾޽{#..Nn1Yfaݺuҥ yf!0h r{ӧO#++ oƍ7пbҤj. 4/^ġCЧOXIII %q-̛7R*Yu|?HR 0XbjBs_y999r՝4Zm]UT";;֭[agg6s}[AAAFnpL:͛7GLLBmyĉعs'nܸ:9NNNغu+&NMǩ>yfϞO>>|8^{jZZZb…?Z9Ո-[ɓoo>… 4XSՋ[jŅ2HΟ?[; "F?I\H?]D"~Cȿ/}@Zbaaׯ+V0f˖-3$'5{,-- ϦXhF^z% V\~-2(HtR,[ 񈈈h"`С?~<>gϞذa: HdݻwM#G0aFOF>}кuk9s˗/GPP`eeݻ#11޲}Gl޼y&LLLXL:U֮]ӧ_ bbb믫ӹsTʎ-S)//Ble:uӧO#,, GFYYu놥Kb͚5HNND"ԩSر8{,۷oɓ'+GDUz#ϝ;p+WҥKՙBںn{9s033C>}${у5Q6::kWFXXΞ= ǎlUۡNِJr}Lnn.Zj%W&7abϞ=ru9N5:xF<۷oǔ)Sd (,,T*Uokk'"66ͫR)֯_>NByyck5""""""""҇~!55UYooo$''=z+++bسgnݺxxx`󃡡!~7ضm.]k6ma``@WbHNNF^^rթ6ckʪ:amm-w<"##r4kLS>ի2!**JޤSÇX|9qmj ]vĉ1vXoB IDATر&MKΆ=Q^^=z`ʕJcTu|צM6Xf &O͚5Cbb"5SW: RQQ~WLp<_HS s֓'Oz{=̜9SQuuKߡ5*ǥKtXfGEDTSbί={`رj$ o7I5#F@bb"abbR)\]]T%oooD6>"3f `޽|""mۦ|]صkW͛A`"j,8_Q}G۶m1a;F!..7nTHhWWW)jLtExxx^Cjj*QZZ"$$ӧO޽{w^?Ftt4qqxzz}X,^k֬AHH,VTT`te egg%%%/0`ܼy>~g;vLJU}0ӧ1|pt gΜ?ѫW/#..@hh(ӑ-l[U~~~8|0'N(P)Ubmj҅ н{wmҥ VXQFiM|!jJy7n`ƌ:)ꫯ+DӧgϞ:o֬Y]Q3~0 z /">>і_8 233o-R'Nyyy"##C T*ŴiǏ*++wNnݺk׊jo666O/..V^&"88Xo͚5bȑ_D,^XtE kkk/EyyBUV)P>Wj/իWŘ1c,*]ۮ\"D-ׯ8yƲ|*>h޼h׮qqqӧZ;fr=z=zt-Ht_fgg kkk3 add$&OȈ.~&ƂՇJ1i$agg'Nѻwos󸸸vSD GS*""""""5W&͞={1j(QYY)}]pB|o߾ 鎎}T7qDѬY3QPP  Çk=f]R[u1{l)))]v σEOKQ'OXf\ UG=z$ "Ν +(oƢgϞrU}wɥ=Z r1cb߾}ryܹ# B񭪹sʞNHHPSΥ_U2q tR!HĨQB4y}">_>ADrڈ&]ϟwAkmկ#F@y``ڵرc&LDFF";;˖-öm۰tR=@ 4W\AVVf̘y!,,:CBB;w >>ǎøq_]zqq1HKK]{={`ӦMÉ'www>}ZVVPP֭[Çr v튀}3g`رhѢ/^wnܸd;k۶m9r$eDddB>___:u 3f@ZZ***׮],?? +wZYTG: gggl߾>Z h֬Yq(cbb7774gggm/^Dvvڱ8p0tPGAHHBk]Vp_.NNN8wp]YѣGC ۶m[8::*Vɓ'~^0k,}4sssǬXˣn!!!x)6mHOODZc0cƌZcN˖-!H[n Z&&&P)GaĈh߾=9;vm* /--->7o_W]XXHjya`Сܹs5SWXX_siz_x^󅈈>qL"ҊI$o߾ݻw111w8/7xCs۶mkN oU P獮|Cqm4Mh'wwZjm^NUDžEHU^^^ؿ?222PZZر:uwhDDDD^FӦMeeex"zQmPs"**%""""""""R߉'PPPggg̞=/^T#H0i$K= QzjYaÆ!22ӧ{we= f~)i,IrDq\J0J~oG=vR!ђ;* k830_s?yg= ϟW~b 4bnX3q)))ƲeJKKudIJUUU(++C~ܹ4irrrԟ:t@MMh UUU(//XLݔwyሌ[?ݻw5OsmdžK&BDDDDDDDDDDd'jMiiiUUU}dDdr<3T? 0鼌iWW|2f!fI?ggg`mm GGGrkkk*Ǝb0tDWSP,\Fne7hƌLDDDDDDDDDDDDDDDDDDDԚ._X|7hܾ}[ Ξ= ADD6:dff 3f@ǎ!-sKҐ1󴳳ԩSq-,[ 7o̙3GyyVSN͛6 gzYfi999 } bbb3|p"33SO>O<jkk (/**¹sKپ~ҥKe?)SĠyk;6$Gq_駟{6*QHM޶gt :t0y Lf((**ҳgOI'ЫWVX:BsgDd>*Z{m9svQˋ-6OsfcL"IP:?BYI㣖c舮PzXSSkn<Y Sk(#GIKc)XJDMIMME`` ӧ[;,"""""2뉈-*//GLL V\SO=7oĈ#PSSQojܺu ? @hh(߇K,AQQ*++qA]֠خ\kkk ٔHe6v튷z {Eii)n:|Xt?_h~CP蜦п]`ҤI/I7ojSKSKr ,X-[F(/DDԶJ|"`ee;"&&999&Z>9XS.^/={6 9Y= <<< P#O<8!?nZr-//ǯ  f/ m955acI!epE\ZKZNkbCFt5dbGGG}}}Kɘ~jj~͉0̆0h>"z4gCX(+?b!33 ۷o… | u=EӦM~7DGG(**BHHjjj? .>|ݻwǘ1c=z`߾}X~=̙n755SLg}Ν;K.ꫯ0vX@DDzld2ܹԃ=L&ƨMxγ!?Bur>CP˗/ٳ兗_~ 999=z4Owww {.~'<sssq d2\u {{{?:u±ciӦcǎ޽;[ܹFSo| ڵ+лwo1:uoӧՐd8q"۷J+0p@Ĩ땔@&a/R/Ok{ڗ z عs:q-{9w/oooi }!p]|B~R}""zTo>^|E8qBkKdIݱn:_2<,mm.Kf8q%3n8""6@5kFF,Y7|rfŶ)/Ç[o!%%/"}v|ظqƈo6>Sk֬ydee!//ׯ_ǥKK/Iɘ~jj~͉e'44HOOG߾}h"߿qqqP*ƵkBRITYfAP_Fii)-Z5 )P( đ#G>kd ,=>"Kgc!̙3P(P(g('K5u%.O)))HII*B [/^,i^SONИM ۷:γ`/x嗛. HHH(htCcuwwNJ+b ӌ3cƌsssòe˰l2q6nݺaǎZC*}._K1>'ֶ/79oSӞ""jJ% c񈋋ӧ[;,""j%ΝèQ.+**҈y…fU߷oC]Q:}PUUdI)Ξ=CBTDff>Rp+W0zhQQQ:o Ξ=(JrKj 7!ߣ2 19LÇ2 ,мtAUM5?~x2 yDWW\{=zѣ=zHsCGmj~>:3R[[)oFڇDdUwwfEDDDDDDDDDDDDDDD\k׮E|||kAq_"""j~woeQc̶g7o0rHIx`>Guǣk׮c=p|嗨ltZkH̱C uY2g~hj2dWLsm̘1O=lmmѱcG >'OիW1zh899&Lݻwqprr7&M2ؤSJ6TPP`pTZ47 z Cw'O \.DyyB*ѧOKĉREAAHHHv%Ebqm駟 +++Ctt   <(***Dvvo\.* ?CeeFy@@1 J8p8r(++999СCSGGGGr?ѻwopqq>>>(++4hxꩧ@5%ODD-gĈbĈm}Su!D- 3_^Ĉ2f3ψDDQ믿gׯ ())1mO%|?tߵO?ƍBgϞ#Gnnn2]N!nӧOO>bذa_˗ŨQRnnnbС… K,Ѩٞ}`Cc2H9Fcm3gΈh,EO?7R֐0"%JR!D]]4h &NQ/++Kgn"1k,O ""##EFFmTJc %%%j޽{ T2UG/t"Į]Ľ{DAAz\bE7j[/صk(--ΝÇ2L_^1_S2ۦ(uyx'HOOeeeb^=zTg ÇǏ⫯Đ!CDtt_EYYXv f͚ц_6ggg"e3GnF=ҌٶmT__/^u1gz]t/Vynݴ.NBBB?^؈RrhϞ=cn͋И@deeio|׮]#Fк9r k7nvvvLIDDfgi/<0ʕ+bԨQBP7771~xQ\\,._,B^^^bĉ޽{v }uU`<vR3gΈW^yE8;; "9U_C]cKնҾTwlicǎPP(tnӧɗ4%t"j+ʐ_!4lmm 7nߗ|Ok CR_{Xc~ YFC^|"j """"""2֯_/:{N8qBo]]Ϗ?~OdA ٗfiS1Gr ~4dӦMSݻw] IDATa_Wu Jhk.DPgl#j{,Mט>5!Vs}RGeee"''Gf̶T{"\._~k̇/Q[֏W2gc6rfc5>S j """"""2'K}_Z]wu%>)--~ԩ?4JT ޽{M5$׀)rl4|&LˌY"g!`}@JRR)}B "//O+B(߿prrj<˻kP<ݙ#7[c2@DFIJJB>}pQ9VVڻӪUW_ҥK 3"##czWWWd2d2A.~@j?42LSN[nInKTjokk TWW P(zIdTǓ,XaQ rL0~~~ػw/B)SK.سgOkaΜ9())Arr2"""P(7"??_4!!!={6\]]ӧcرHNNƽ{ Զ8???DDDXd uٳqU,_  uV!0}t;Iz! }&Ko[%3.U0]عs7f...4iL0񨯯5333q59R]~~~زe ***66'СC"'x^y,ȑ#1w\|߿?ܹ$z8z(&OlΝ;u(jNNNFߐrl5|̽CTjk_ִ[YY}לy6~QK5r1Y&:Rcԩժ#0a߿%%%HKKÇxxꫯ")) &MVX? VyIIRKj?4Tg*I)vvvprrBUU˵>/..6ټI0?&$"cKΝ;,1C]:t<=QΝ;#77WԐxLdNre{""""̐_}ސ!Cݻqqqiԗ2}Qg@|o*?DGGcV__"ܹS#)4h_Ν;%K`鰱QGǎѽ{w*Q dR26)q4'1] 59[51ɬ&t1u2:K͘1Gӧ1m4ϛgQIל|TvvvP*BYYQ7j[M-*QnnCc۔ۏ\\\СC4p@0<mv< :OSlw-2 T^^\z _5n޼#FFo~ ոu@PGK,AQQ*++qA]֠خ\kkkc* ͛7r\x3gԙ y?yyy¥KK/OCMCSN6 ?3***pq?HNN6:6}-Z777~@yy9`:Q۷tR{lٺuz>fϣY[1>>ݖ}XZZ\,SN2іGBGÝ;wt~ p'""""j:{ZK_4?zXKyDDDDDDDDDDDDDDD-ɔɁ .܉˔c7HIIAuu5-[_]#YSPmTx^Џ"֒IMedTL$Ok$ԒdVlJtfm%ֽ. | r:9tCHךWn̈́Ӝ|T/F.]0k, ׯ_ԩShLcWJkj{n;v,󑜜Nomʔ.Rŋk׮x뭷w^֭Ç~KC͎ )KCf^&jMUVq)xyy!$$?III7o>5k`̘1z*ѭ[7_vSSS1o<|g;w.0d;1"""spp;9F… QUUECPPVX/ĉdHLL Xr%&M=z ѣܪƍ@4Ν J]/]Tݮ/_D䠮/222Я_?ߴiӴN_CݻѵkWdee!11Q}bXb8LXlذAFCmJBB"-//GϞ=ݻw7Zw̘13f qȑk:kq5=rvv܎b(r2dmۆ}aĈr)v2;#XrqqAvv6w~Hٿr#>>_|2331`6>Z .]Rg*//Gnn.eN͛7ooo~HOOǘ1cuu=5.QkBNN^xu히2^Zug=Z㳞={"$$DocxhMNcٲeؼy3N֭[')%_ BJJ RRRosANPUUU%ǖ|T- x='' .quxxx`駟OhzxRc5tpf̘ׯ}xvvS2mS@b@Np1|G6m₞={bΝ׻Ν[].ɰxb_'0|,X@\d2UWmo/w, JRG67L Uy{{ݻw{믿 "::ɺ|Ad2{SNHOjT$&& _mOȲ y%>̩S۷sB#Oc;w`…عs((R>< P`[C :~̚5 GEmmvB߾}TDDs_gJ[?^z/}jD?<ݦi/z#g4C'M-bbb$/!煮=R}ڡ żOG;)))&.+?^e8{iLɓ~z>|/5Gmm-xb̟?ǎӊET5m :wdZ#7x^yT,wmDD􀹏<>Fۙ,i8d2M2Ғe","~OEDDDDDD7&""""j>Qظq#VZd7]wJ\z Q{dDm dڈLID>5,Ӫ5"""jLZZd2ի=z4 &ݻr ^}U899&MBYY=2 W۷O]dݻw#ꫯC]]F۷ocƌxꩧ`kk;b8yAٳg1tP(J8::bԪwǣk׮+ 6.vZnnn(r .^PsHDD-""""z4Oom~DdDDdqbbb @tt4 >> rJlڴ ƍC\\ `Æ ?yA\~dd$ OBB~A!jkkuЅ Ǐ믿Faa!V^$\xQ}0f̙3ɓD1L6 ~)>3ܹsgΜA~I]/??{ƶm۰zjСC(..Fpp0$טP#;;[R}(//ԩS1gܸq?#Çwزe QTT Æ KDDDDDDDDDDDDDDDDDDDDDDDDDDgÆ 6l˱vZܽ{Fjtwbʔ)q1=x[(r""2L̃JDʿ؟11O"ScL""x \.DŽ 燽{">>P(2e t={v̙$''#"" ظq#uNٳg>}:ƎdܻwϠKmCDD%K[n͞=W^+@P[nӧO7tW_PKUZZE_~P(ի6mڄ?3gX˗/cʕ3u-[3f@aauѶtRd2ƍd7o^kEDDDDdr?r[ZZ\]]flݺ:t[ GII ^~e/ y;v O?t FNDDi0y_,eի;wYホ7oX\R۷0x`Ν;k%(|8/_^t555B8pLTg[aC4UUUM֓dիW+D[``V|-\C6[޾ñXK.Uc=)<߹QC>0|p|Ā4Oj*\t :t0όU^^\N:7o" aÆ/Dzz:ƌ[]]6.%)//GϞ=ݻwk|^{ 8r :R<<< ѻwo>  AFF,Y7|rZpɘ~m|Eii)֬Y!BCCu/^Ç㭷BJJ ^|EaqFuLc BCCt۷ 1m4,]>,Μ9X"99YkP(0`cǺuip]""""K"@}}=>۾};9s&  B@``V֚_Kc*vvvP(Xn ^{C"hl_t[G,ϣDDDDDDDDDDDDDDD)#""""G QY&$!#wޭFpp̝;111'ɰxb_#L&`… QUUECPPVX/ĉdHLL}]vΝ V\I&GpssCrr2z聴4 6L#qaӦMڵ+#F>,ϟ+Vdņ y>ܹs!C`ر ?~јÇf3W^=u#66Vl:u±cGaڴi˃ z쉝;w"<<\c]6_cjkk!zK.U3,_A]]^xddd_~i bƌ~:ѷo_߿_#9Ժ е4'''\xQgĘ-5=6oތW^ySLAPPuaIrIunjH,Oc*GDD @D!)555-2""jYٳu~dDz!Q}՛$rP*X~V*dC zŏ?Uu;vh:Tk׮ŋ%dh[z> ˖-òe˚X|:MBB:hr:wwwX+V0I]]qY4x`̛7~!F?nڔ'N!cjGEDԲ.]CAKMM m}""j9#F#Fw!._,F%JpssC.\ИFlݺU OOOaoo/}YrJQWW+WQF B!Eqq| Bxyy'{iz-1}tO ! &~W;Zo /4cdS߇WVV,WG=gUUxppp"**JܹS !XdY[[K_ASSkٳbȑM]vmInj999BT ! ĉ5eee www鋊ĬYO?-lll:Ɯ0;e@ݻWݻZ())I`[hX׿UccǎPP( G1YR9sFDGG ggg(/~'&* כaaabƍ&Tj/))I]֯_?t{U7]7GܔDD֏W^B< z-v%ucccҮYMQ:5SQ{'K{_Z߹K}[{DMK~D ayk#"}񙈨u4rf"""""" bbb @tt4 ..qqqqRSS^{Mc}a̘1 ř3gɓ'#>>zێ{g\6m¸q$cذaϟ1|۶mիQ\\C2sOQ{f㕱ȦW^YY !v6m>S|gsΜ9ݻ#::? !!BrB!P[[kPKϔ)S0uT!;;֒)pwwW!yf<ذa6ohArr2?aaaذar79B <VVVp͛С͛_k@@JJJ0sL,\Q\\P>|جq\p8~8kbHJJŋ5W[o׿ĉ ou֙lSiy?o(22Blϐu&cw]=|u6n܈doB}}Ӓm</R5x߁L""""""dDDDDDd'"88r:t(rrrPTTQ/$$gφ+<<<0}t;ɸwζccc\ &{E||<P(0et{јvٸz*/_W^y ~~~غu+>}=9^# eCDD%K[n͊AcGGG0ɲ׫(۶m Lg;{l\|+WDTTѭ[7lٲޘ1c z,_\<33׮]ȑ#իq 6mŸ3gHsAII BlܸQdDEE 7o"##H]72:Nu󬟟lق v,x%""""""""""""""\~߲%""y,һwoq͛7eQQQ8xִ^zi߹sg>>>4XYY!**J ~~~8q_آI֜㕱H)_crѣG1yddggp94+O /,7Ų7X}ҥKQQQ#GRg;vQngg0TVVךNvfsA/wQ/YӧO4reܹ3rss*}(ܹA/$ې!C>ۻw/⌊H]7m2:Nulǎѽ{wr\<Y.Soْ@DDDDDDdzLIDDDDDFQ*eWWWd2d2lY+++X[[QZc~(--E}}=Jz~_~DD=^# esժUꫯp%dl?5\.Yޒޔ3f`8}4MjIsOOO@AAgMmg-q΍zj瑑ɓ'⢳SN[n5j BoRilER֍>#"juyU̒ۚQ"""""""""""""""e-DD*L2l^}U$%%aҤI8|8/_ѶL&kVlSSkn<,{Kذa|}}_gvvvP*BYYִ@k87HIIAuu5-[_]g2,sF@SNfNNNByyŒil=۴YYY?*/));u.S^6uՕ05x%"""""""""""""".=|8jkk'|'xf?ul!O={`ccA&!==]cZGGG@%dL?55-APo\.ի>6lhV]]6j>aԩu-[͛7c̙zWUU!''GԩSy&m طoFyQQΝ;'z۳gg={ĬY7w~XSy{{ƍڵkz۔nQٻ uY!W2AK= "b&]49V_,,V-P=qfa@߯Y{>ka={݆֬B\tI-!8ѣ5G' DD(!驗5"""$"""""066 fظq]jzٳg#55 شi{=$&&DoiPz|q9TUU J/".]7n ++ W\aô9T}mo/q m;6mڤq۪UУGDDD`(--ťK0c @.ťYƘ;w\XXX 66F³>`^[[[,YYYY(//ӧ1sLB.7;3gB$\zx|(++o3gB&i`8pܹsQPPXfSi]צѣG#??1pe̟?;vlLmMc;"E׻_~o&\]]5mGQKDD""""""" Xrr6"99ݖODDgʔ)bʔ)m,@wB!wk׮CEbʼolUV~I-}X޽+"##3<#:t ѣߢ}HD[]?qϑBh>ٳG-_ט@dee)ۧٳ"44TGXZZ 1dyfQWW777W 6LXYY]O>Dcm?i[_C5.moȰaÄ8~xm4pttTK/**GCV3F+4gB1w˖-vѣ ;w3fbĈرcjuWd2QSS`x 666B 8P߿_);gΜW=zĴiĥKTk=kMWRR"/W#::Z_cf͚߃BZJ{?_=nC⥗^G>>>R%ok^{Q{*""""""zq1ѓ'h;{eKw zڵ#\amwmDsqf]D>LDdwIBԮ]0uT߀Z$IHNNk.'"ꫯv.'"j Bo˖-Opxyyyyy-ZwII :u_7onѲ[C[__q: ׻woTTTEq)D^DDO8r~ӁkF׹ŭ953a4rmdI׮]ԩSaggGGG* 99puu<<< QWW`ׯ_ԩSamm GGG̚5 õk0aX[[ !!!(--UΝ;Gajj gggL<gϞ{?= 6n܈VWp ..\=~""G*׮]˗kȈZGnn.`kk KKK9Z]DFFgϞ055=ƍF󚙙K.5jKTTT4XǶmT$ ²eлwoXZZ&L}P[[۬ ""'$"6'((BL8ܼy8rOOZZM___\p7n[oHDGG7Xvdd$-ZB_۶m믿š+V@RR/_RgAA]vO?Eqq1~YYYz)"""""'ORR&M2lܸ3Soݺ+W ==^jir=ƍxN:SK.5txDDDDDDDDDDDDDDDDDDDDDDzSVVsbɒ%y&~GGmrB 8۷o\.GQQN< KKK!))I-;yϜ9شiSL>Gqq1puużyGaÆ {..\޽{cĉ駟Z2 70j( ;;EEE*|||{{{899!,, 3f̀\.5=gVVV5kݑHxyyA&!44=zUױvZ?2 عs' [w>Nߊ+ &HJJ gaΝ011ј/11$!''7oބ$Im\]]q1Hya:FII {{{+xp)<3-^p%""""""""""""""""""""G) $$$`Сd0`mۆ or\zׯG`` lllЫW/l߾nnnǭ[Tr...رcEjj*XXXk֬A^s艥WDDDmU^w'''@`` Ķm믿[mT^w ZzΝ###z]]]3g //]tѲDDDDDO!C6*88Z半BTT#!"zr:~~~p%""""""""""""""""""""Gc*iԩrrrPPP77߳g @% ~~~:t?yǍVNjj/^W^y={ն;}z-̞=1.^xÉfdbkkPWWLS(Xl<<<`ooI I.\xƲmllT^**UUUAP~gV$I-cǎ۷o7o氶V(,,l2& IDATCPPtTl۶M-'|[ʕ+󃍍 Ǝ\H.IDDO & ..!!!t uB vvv011Auu5F٢QHLLT.ܥKCCDj祝;w*177[=O284 R[ ///XXX(_ VuA &&&:ǹDO O DԞ) d/lmmQYYRn6W>|{BBBG$̚5 FII RRR ɓvZ!""$"vpuuExx8Oè['OFMM 233ն^ݺuCMM'"zҔC``CATT4t(DDDuڴiBϯ9aCXV """҄*DDDDDDDDDDDDDDDdHmqBff&OѣGΝ;?Zt }|2^y(V=}8.<8.ѓ 999*iϟG~~><==&M8p@% 鰰1cT}4$I¡CP[[ Iرc$ GEyy9$IŠ+;vĩSy{Ʒ~{^kn#"jqeO""}qQ/?Ms /C!"j6 -W$ 999ڵkWWW >8rF͛$I^+1}t Byy9>eyN0e{᧟~BnݰsN֯_'N8q1sL=z{ƴi>} -- 7oƒ%K ҿDDDS9C B㶆ҝqFVZU>C| !""""""""""""""""""޽{Z_SSSCA!<1,,, cr8.Q{(#GaXn֭[dM6mMq[Ct4.QCX&i%%%&MRz*q!r={TݻXr%݋7n C E0rHeWTTPUU+Wb׮]?annC"$$066Vwa߾}χ- e˖ >>K. :ǎaܸq[TT/-\ Iƨyx=zv-ZǏG}B0d ڵkamm @IC:4v~\,^/||7HJJP("88aaa022*&]Z~0Թ977;j <:tJ>m%"""2W޽{c̙:ujOu$""""""""j Zؔ)S Q~U <'NhV5 ]/m{hݹXt)Q\\ ի;wƞ={xb:u Օ.sq""""""bDDDDD !{"""/W^yӧOǩS⥗^ƒÇ111`6o<޽w/#11'NDFF|||Fee% >ׯ_?Ox{{ȑ#~>Ell,d2Jرc!p5ezӗd2_Q*22K,_|o?p]"..>,+۰ڵk~>iHSίaee޸z*pe0m4$$$`׮]Ŏ;sC@b31^)͝|QSS~rvCru՜DDm DDDDDDO#C@DDDDDU^wL۳g @%PQQC5Zرcqq[8qjkk/^T~)))022R.Q8s tk$Q SN;wr~l cƌQIԩz꥖?00j鞞ƯuݺƁ~ʉ077U<<<ЩS'䠠nfKDDDDT2n8mhtmv͙m~/Ҕ4hPZYY)Di^t[MDԖq\@DDDDD$bDDDDD,*MMM9B9wqq6Z'|[ʕ+󃍍 Ǝ\t`kk IT~gi`ccưTI766Vۂ*2Lm{ǎ -[+ϱ .7]' iyfܸq4"\xQ%puuExx8***tIײ5湹 999*iϟG~~><==@q%X""""}^9xڶ~au kGee%U4Օ.sqqHX&BաNmL&/lڇw'ϪUУGDDD`(--ťK0c @.ťr~m;wUUU}6>!RWϞ=1{lBP6m{gDHF||(++˗14/ҥKqp 6Eb!MICsIHH"""ߣ fΜ L>>>(,,Ě5kPTT ddd`ƍ:Ԝ14 GGG8qɼ0o<J1DDDOkkk\|a:"j :atIj**$I˱b ڟO=/5tiڳgOdee!::SLAuu5^x,_֭Czz:$Iœ9sdbÆ xwqaƌxӍ@54\SS!{x,ܹ3֮]hdgg ‘#G0tP>ڎmjL#"""җW'''1?u赊ׁDDDDDDDDDDOg˗/2ڵkFn HKKChh2_TT兢"C49ǵ ;L ?~+d""""jK40dȐFv~kCs͛Ejs{5`[d26l؀ 㨩8/ߏ &շgV:L8.@7tDDʹs 2I4 k.L:ņ"HNNk%IkY*G&Ke2X{0j(;v zinVV?iW_޽]OD}}[G&+"j==2E߇;qFmK,U?bٲej~w@߾}[;,j:t_~E6OOOL2&O  %q16""/o\D;C@OѣG:v/>s#((Ba޽ Ŋ+_0땕aܹ'rss1gÈ#ʬ(d2xyy)eUZZMڵ رc"""5kZ_|,+>}:N:,?7_W^ETT._x꟦7ccc L>vX!0`\vMeTPPoooTVV/qu79oooHB$%%aԩjYkFOI&a8p&Nhp(]jzQ:z(V\q$o111z*v؁@ oߎgy0a\\\T`QٮP(!C m۶o߾?>Ξ=ALLuXXN:\KFm`傌FB@@k d ))Iyn-[3ϴjmׯ㫯عs'w0>}U@D'IRy/_+V?""""""vŋ###xl2_9s{Xt)`СJaܸqGGGa߾}χ- e˖K +WĮ]CEHH`llS>mݽ{+W޽{ggg3gԩSaaa|7HJJP("88aaa022`ҤIʲ^h:t\.GϞ=u8oܸ+++ 2-ȑ#Xp!sسg/^SNF||޵9Fi[NNnݺWѲ,,,4??_67ڵkXh<SSS?} ?@&!00k׮х6GېK"==ʸD;#cǎZ~L0A*eϡCX&Q3qysw7`TDDqp\ ""Z׽{fԊqimϞ=t333RoРAknnyxxSNAAAcF޴@ddd{zzk׮|eZZZ`̘1*y;u^zjm###­\]]3g //OQB4/4j""""""""ӧ_زe r9Ν;333!X!`eeRرc!@/((k.|(..?bx{{#++Kw޼y裏aܽ{.\@޽1qDO:Faa!;v@.gΜ|Mlڴ sM___\p7n[oHDGG+ BH_DD"""pM$''ȑ#>}N1>ەq@ɓ'cڵrͧMmmmQYYFN0qqq KPWW!֭[{jTn߽{Wc\ǵcǎ:#]?^P4k;>-ݞw ͩWmܿB{pL""j\]]ӧ#<<4hqaN8Iw^!Irrr`ggk"&&>|8q1V̙3_}E>}0uTrG%''#446l@NУGlݺ3fc IW={"++ Ĕ)SбcG  I[<^mFBB .+޽ IxfSǎq)a޼ypvvF޽b޽x״O"z<ָ|2)Z!C4騨(DEE9rAAAl899aƍZJuCq4_^g? 4? m~͛O>1?~a1=ƌX{xWqI:,"""""""VÇ#""Ƶkה.,,Tg7[dt*yWZGbK/w{g-[~*o㣏>?B> BmǷ`d2 >  ((( `ll 9rk֬o +++8q9->Έd21AAA6m}lmmdšo߾p̙SSSr=FDǎAlIPǽӜNKA:0o<$&&^hڔgFBB:v7xCݻw!I/^ ر#N: ̛7ݻ7[ݻܣGwޘ6mЧOaXdlL:aaapttĠAp=O֭ 99ذa:u=z`֭1c ' I @ll,@$^Я_?FHH>2 6l Ç=9#F(i{6I'O"??_Yg˚9s&`رpvv7$IBPP$IBNNn޼ Iu3=O$I8tjkk!I};v $ѣ(//$IXbNi6HS]Y?2''vvvXv-bbb){AΝ| =Q{<֞wЏ3/Iq1),o@ HNNnQ2e2eJ*@C_BP/ɓ' I͛UO8Q#F\8qB;w!bȑرcTdgg} SSS?h,B%J :=ADmo\4qDqqQVV&{aaa!_ Dqqs裏jɓ'ӧO2uV@7NL8Q(--7nĂ To&\\\āDii_Ĉ#8~m&"zR:.DΝw}'JKKŹsѣE݅J~]ăDaaDFFJ^OOOѹsg뚚)EqqNm/*B'u5Xo=M5t~Ϳg2rH ʟ-lmmܹ#v*m۶)ӳʾͽMfadd$m⫯RIVVV[wC:~OEDDDDDDOoϋnݺXyzg%%%s"44С"00Pjg IĎ; dC0Ĝ`!t>]tZyDmQk9?qQ6"ϟklI?Ο?/믿-GR妻Hm```t'''t?j+9}4`СRrɪr'''$%%ӧ߿?0rHtiiixuZj>?]qBQQQ ڶmǏˌ1 y??_ѪU+̝;+WDddTիW#88޷MDDDo1/S]"Vu\Qc~/~dDDD/IHHz[ZZ됈􆉉 lllPZZB<`UM~1'oMIDFh!##UUUEׯX311-P^^Q 8^KDDDDTVVV(--EQQǏˤr,&N(l !!("00֭)IIIHLL+pTsui]ر:uΝ;_J-3'm M6 k׮;;;uDDDDDDD/9۷o ػw/ڷoԦ90Yf})~LL*@:c\W畧'.\BX` };DDDD =&eʼkVDwЪ "jl""""""/,%EFu(DDzi'NHٳ033СCU.Riׯ_Gvv6ЪU:077Nj/$;u/BXSee%䄙3gEjJJJ4@TTT 99YfիѦMTTThlDDDDDÇ>}Z*=//7oޔJS7n4k Rg`eeXZZرcD@@rrrTSs'O,ٳU*ᙉ%kXXX`˖-25 |`x!֮]}a֬Y 󗖖L*9눈Cq\Mw͊ZqDD @DDDDDDeQdii}: 5Zjڵk?~㑓88::\f̘Ÿz*BBB`ll8޽;222p= 33S9"dhhooob͚5CII Ο?[jlVB NBAA?~m۶'bccadd\w}"?AHH,--s}:rrrԞ,S>3񁃃RSS˺vm۶]gNekh033CTT :(kccE!%%`#"""""" T腻wbȑx>^ۡq\Mw͊ZqDD@DDDDDDeҜp{9s&ЫW/#)) aaaTDUJOO-֭[  Ν;^.3$$DRކ Э[7tAAAC.],DԄߢ `1uTlܸh׮ك=z(,իgΜAee%A'|K.A\x˗/liii3ТE tGAbb"ƍf#"""&}HIIAϞ=1fl|ꊲ2P_7ŋѹsg]tӧ}v,Z\zz:߿AaHMMT? Bxxȓ'O?M6R;Us eչfRQQQ!b z쉂 W5M0:Ϝjuv A${> Hn7o9s^< IDATظq#UVr7CE:p5C |l7cǎR>iJ QmHv4\R_U^{\sPlXX.\%Khe{x)3͘jʼkV4fPADX{ DDDDDD_n"j<:ɏ> xo,,--K.]D/?5cǎ:tAODT4}}B"DP"jXvڅ͛7ի 󸻻#//YYYZL#WVޠAp%]+gϞk׮֭[*VBSN8yRG6챶> "8iHUǹ.(-N}єR_繪6ߋPSC5'mA"'M쟉t."""M ֭[ʕ+1p@$''KSQQx <NNN033+PUU%Svqq1%122Knn.`kk ֭[wYY.]Ν;1b;JOHH 7obܸqpppi$~""""""""""j֭3g """"""""OK:F n3Ɖk 繛ƌs碢BQ=dDDw"##!"S̚5 111Ǐ/^siݻ)S`Μ9?LӧDQ( _GDD ""ǡC?S.>>>ppp@jjjyg̘> 7nD~~>~7tF?TEFL:ӧOǽ{ CCCc'"""""""""""v؁ѣG[nœ'O4DDDDDDDD0;vκ=z4p ]BDDDDDDDDDDDe^+..Ɩ-[ {ŋ/0k,Xp!мysc񈋋óg~hhd>>>Ǖ+WUUU -rYtfjχ7鉊 4o\򈈈iο˗:L4:v$$$98###bcc!q}(-GKDDDDDDDږ9s}066KT?7[ƕ+W +++cHNN)ѣG9s&ڶm ccchv$OBB3;w ((ppp?nݺVnܸåK歨@||< '''qqqib$''K~e@YY.]Ν;1b;JST.5RU5{M7ʴZ*Ӈ(#o߾ӧOK_O\~k(&$yks){Ռݻ 0qDѫW/?~ ڎE}j稪jӧ2bbbu>f^gK{rkLUYu:}رCaA}'9UmM_3g( QCwDD2~/Q%5a"O6b|||-_D ˜EbvvveYF ^|Y*BӧF%sss͛'ӕİ01%%EPW=N"Ҟ1cƈcƌiM_򾐈u05쯈!jL煮^9''Gl׮(~7bAAxM100PAܾ}T^^^˗Ţ"ʕ+bnDccc… 'B_~  ʌO8j(I}hff&SE[[[EoB "mV4117߈ĕ+W?=z$~g)S~m#U)+44T[bnn)ϟ?v{ߗ_~)ڸ]eT%%%4UU;`bqq*=R-m_uo-:88(f[T$E1jszV(^zU,**#.5J-[ngϖ)Gytes_~ $hѢ^EmsUWСCE?Y%۷O*MS^u6Sưajg|VOQT|777F8px%P>GWAA@ׯ 5N9>i'M쟉t {ejxqB2h@(@v(Sqɒ%[o%ڊWg0(EW*qϞ=hnn.C9"Wa""T$"`"j(_QCԘSUS| +RY4331o777cg&I{E2a&&&o-^=oJ3f@2Ǝ+>,~}D2億͚5 Qٲڵk';2yx TmOE͛e43Y*=y媴N2U$E1jszVx ]ċ/JkNԩL|wTWgLesÇy,S}*u}TKDŋR隺Ч䵙26mڈ4uEu9O2UNuHhAСep>Q2ڈ'$"jj,DDDz,??(ʤ?|вeK#0ddd (b S \u `ĉHJJӧOQu%"jJ 䯴T!ՋXIֺuk]CDDDDT/x}!"""""""j= J711/JJJpepwwJsuu3ӑq4䄮]⧟~BVVLL={kUӧCJwvvo!ϟIwssCyy9~WJYÆ ˗1epMx{{K۞Tij֬2fڮW^rUi eW>DWԍ$E=_{!YnvQU(-Z@Ν_9mQv!CwF~~$}͚5= }l/E&͔ ,""FFF4uEuWD혚S*M6eddZc """"""""""e^+--ŕ+WҮ_lUVDrr20sLhB2xsN_h"Jō75PrN8!W'"ҤQF:"z Q:EEEر̀Q"""""}u.`___e """""""Ү2VVV2R鶶r˫QJʮԏ _]*VXXSSSXZZ*eXt)\]]agg'u޼yϟ+}Uڼy3كLÆ LU]uS)//Jgi:*,,,ƠJ[Ҿ!*GTm/@Z곁 ann.nhh]xUuE;;WA[T_ϟc˖- ;wSL_^6SܹseP|)^u _)&8***`ff|#Q2H`ѢEHIIAqq1^#.._5k //%%%8ħ~ Q㣓}ujkQ "g?DDDDDD5v,k)666(--Eaa!LIZl EQ5PfeeR,Lڈ#0ddd (b Sgy0S 8q"S$$$@EbݺuڞתU+M>vSԥNj"UBU/^IU4wu.DŽ\} u &6mBYY֮]_䤚ЧLM]"((> S[}:۩ySM63(#""""""""""H7nٳqeTTTW^8w#(lܸ/=O>oի 6 ,, ]t=ХKKR/^'kBҾ./^`ܽ{x7}vL}cƌ͛Ry+++ '''̜9SjYIIͥ&=ԩΝɓ'T-RSSѹsg4k F߾}aaa'N`Μ9ToOEM2o ++B UUSTi eW>DVZRi?amm-_T_jK}/uw):sssmq9*uGL>˖-ڵko>\vMa Ч&͔eddYf!22k׮ŁG*uSTTtITiM_@>y;]ADԤ :uBAA>sIUSQ|_@[lt *Tij!!!طo233Ѯ]WAնP}UC2d6mڄM6>h"l2O"9ꓲ&\s͛'''ʬS_seQUWR|>}:>DEEaȑС4u/UM^bʔ)FTT&NSݎf̘X[*/b Fh?q5v/O)+V+4""j^GL]@DDZ2l۶M!X̛7₣GbHKKCee%<==>}H֩_;v(((@pȔ A5B&\̟?gΜ!{ʰb VXDܻwݻ7>c 8:oܸsҥK(//[kYRRSSSQ"""""]ػw/&N(QO>tٳ4h;#F"""Ѫz57`?x뭷tRlذgϞL<;vPA}{9 t]G)MVVZhΝ;#$$AAAؼy35+W &&3gDVVѻwo$%%ɝ7nٳqeTTTW^8wx-["-- +V3p=4h 55^^^̰xbHpq־}{`3fٲe˰~z={ H#** 7nŋaooÇcO0x`۸z*`Æ  C.]`oo8tT*ŋwooߎɓ'ܞjOO?Evv6nJ[]j>433Ä w^rrr`ii6mԺ]yW-m_eNj9Ġ+W~ׯǭ[O?A̟?|I}lI a){mڴIngϞRqժU۷䈂 `ٲeX|$MEI=3fjpwwǪUl2lgΝʶH75Z#|}}9|}}5 GED]?eXQ?PaPk.=7nF&www!++Kסرcҫ[nXvԯ%߸q~- 8~8F+WbڴiW_}̙3k֬*I1j @bb"F[n1zht iiiJ8qz]kް0:tB߾}3"66ϟ0˗/G^pu,HM_?^~ݻw#(('$$`ӦMHJJ󇺮џ>}={v킗޽ٳg(--ʳETyVwmDFF"##999R\!mJJJ}v 0ϟ?۱d_xAkL煮^YU/xk׮֭[uS8;;c„ ؾ}á:pծ|wt%%%{$[}׮]ؼyddyt}S{)KmFIOOߏ`DDjr|Qi|TDDɓIt顺~t[l;Gػw/uYfڵkXpsxx8%KZK>>>ԄUUUEQb8{,vW׬YcǎwK&DEEe-\oW_}5ߏ_3gĈ#(^]~AAV\)y)ѹsg:u e={6Kd%%%HLLDp1 gL4I|u?(F>}:>};vHtG۶meʩgA@TTNb~Vu[CԶm[?~ֺEisrr¥Kеkz)4K1}䄤$<}F;"-- Tކo!?ǁ`dd$7>+^Px{WFpp """"""""""" dDDD*!ZnuI~~>DQIȭzb#F ::aaa@UUDQ@ y 8qd gBBDQD`` ֭['7ؠ2ODo ٳ033СCU.Ri5ֺ"""""}ceeXZZرcD@@rrr#((׮]ŋ1j(&NJ,[ 999񑬧 >pi\dddWA}P_^^n޼t96'OYٳgK>^eQ "PUUP@DM -Zի 1Fnn.֬Y<غurw ܻw)))D~=~888 55UӦM?2<|~)DQCnZ ڵCDD?Bddd`A\\U.3f?o !""""gm۶Ç#Ljĉ۷oǤI$1a+Nu?eʕGDD;_~~'''(@UUȋ?BBB`iit=mfϞ'NYYY>}:rrr&i'$"F nɓ'uC鰴ƍZBaggsa|:u*6ngggk{F=$7l؀nݺK. B\\tTD `EEDQ(ux":w`ۣK.8}4oߎEIU%~A6''''\rfΜ  HJJBXX(uB֭… $oMHH)3$$DR~H8 ν>A  ooo#55R׳^^^ر#ڴi#| RhVS۷GJJ z1cSN… Ѯ];JWف"<_˖- <<(++  &(({'O~@6m$i *WDD`x7Nס4zCVVV%cرCUÈH4}}{A)5! 5&"/SΝQRRw:"TDDDDDD2Q㤯h"=^8djży...8z(,X4TVV111ӧ !!G_RRSSSɒ &`޽4hΞ=+I lmm=Btt4;lؠ_~Xt)5VgEu~m̟?gΜ!KW_;w?ɓ'allw}}  .Xn^U/77o&v܉94R۟3g-Z;wȑ#4iallhtôi`eeu{[iړ'O0uT~K,uxDDDDDDDDEưł t ճnݺ:"""""""""""'$""V\\-[УGݻݺuìYpڵZwssî]0n8L4 ԩS+5Q&,\wž}vm۶իW5SQ%J&4hpay4[ɓ'L8WƩSpE>:u*V^'OrLF&66͓|/FLL""""""""m<˖-5899!)) 7oF ;;; 4믿H0NIDDzB2 c5WWW8;;#==999hժUe;/Ɗ+зo_cΝ2```t'''t?кuWz)^dggK&d=z!L U.[dd$"##u(A+|}}0,]@DDT[[[-[<|Pr˗/cر00 ,++CAA`ccA~Wͫlll zX[[K}600!ͥ %1e^χ(2ՓdVOY .>}:ӥFFF(//(rҠR""uJ&nݺ%"zdqL""krTב 777jժ2n߾ɓ'믿Ʊc`ffQFѣGRQQQd2V^6mڠ*D8cǎ"##!"u]mցu.KDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqL""k666XhRRRP\\W"$$ƈs"`Æ x7Ѷm[>|3f %yWZoN:<~۶m?OHխD8*TUU:5:QR[dii} *"""""""""""""""""""""""""""""""ÙHYZZbƍ={6._ ΝC>} =zd333L0ؼy3`ԨQ~: allhDEEe˖HKKÊ+0c ܻw@bb" ży$/FLLLQn=aƌJޖ tJCr={JcժU۷/'l2,_\mQbee[n:W@D %"""tqL""{]tӧ.(rmڴI&MQ^ڵkvZy"##YKĊնTM2z]q~ 2Dai'$"""""b޼y=z ,@ZZ*++鉘ѣGK/)))dI w^ 4gϞ?yG!::ǎCvv6lllЯ_?,]:L}6ϟ3g^^^Cʫz;wɓ066ƻヒ> Dž `ii [VVV*DXbq=XXXw1p@7d={?Wмys}???)9r$vޭ0foodDDDDDHDFFf͚kע[n0ydoŀQDI9.]Bzz::`۶m'N`@pp$NNPZZ;w{.>#xyyܹsHաfzDDϟ;w"%%#G{g4ԣ̙EaΝ8r&M|#:::t}0m4XYYaݺuVDMInn.y<;v@ _|BCCeթSbؽ{7_.5$a鈎nܸtZG[ZZ.]R^picʕ8x *++W_!""YYYXf3fСC8tgϞ!66FR>"""vvvH tQM>A@TTê u-_\aJ4xHc˖-򂅅z聽{ŋ5kc` ]76oKR%M.:ו78^ClfJnn^ZN&JMh{* $ǎ'P@|̜?a']χ>P~~L"4 j7(Sϟkҥzg`}G2MSgn6lڴi5jF<rڲS'bɓ;wj޼y ԧOر5Z~ϟsi劉Q.]ԯ_?_^JJJ˗=/+""B2djjjԭ[7z74l0yxx4nmM͹#""4|[n={&ML{*88XQQQrss,Y~٭<bX&INNivtGըЫ= hh_,b!!! T~~ ]cܸqzWyfDiii򲲲䤘u1]xe РAۿ$k>h>00xϞ=jpol"I=z]UVU7oݻ=7x໮۹sg 2.ܻ4=jŢua͘1C$:uJ.eh6oo=z$]rI뤥iȐ!:|ƍ'''?TUU\uuuav/R߶{"I}tnwvv>wY>$bum___Q/ܻ54///ׂ "۽/J~G۳֮]gjK. mnxp1,fȰ իqy+))i⷇֘\!!!5k>wuu:ujkȑ-o =(}K~z/_,Io ƛs64l^43f4}t>}Zuuu2MS˖-$5 ɓg)++KijرZtia7#(&&JNNi m3yT^^]ĉ*((Phh]ܹs:u>m۶MnnnիWƎ[czUSSӲҳ>+Iھ}]J{zf{ƍzC{֭[>fҔ{V999WRRwnyzkz{{ɓzHQQQʒavg<bX&`TWWRgK))):r***tQE> izԻwo}*((s=j[EԷo_ ڹsUZZUV_WFF:uԖ>Gsէ~ׯӚ4i )??fkX?VIկ~ӧO… :rΞ='|ٵ4wvvVDDd͛ڿ{ם9s?*]rEoLTdd=2OOO9sF;vpt)+V^S@@.۷O#F$eee0 mݺUx%&&SǏWllk+""B:x\\\.Iѣ )11QݻwWPP6oެ[j񒤌 |]tIa(55I;[/~{/0xbI?fwѣ2 CwVmm ЛoC0 eggBah…M=WRR|}}5x`UTThϞ=>}aح.]߿Ywm˗/׀ԿM0A߿{l=/I6lPBBVX@Gk׮դI$IQQQ8p$);;[AAA8qvk׮]ZzRRRlk65< 4MGh=ahÆ {b]xѥ8qI6mԮ{~jo7nܨ &,XV鯪JqFPΝ5l0M>]G$F|֬Y'N\/5m4͞=[NNN 륗^Ҏ;gyF5{l8p@ҥKyOޘo#% IDAT: k׮ٳ.~V~_hmj$xxYV9 gav'99Y w}9sր7hԩ71Bqqq2MSqqqںumC)??_Æ /KZJ}v1Bsĉm:t*++?YÇ:tۧCDmڴI6mRxx~edd(66VWDD$i׮]8qx mܸQ5w\]xQK,zϛ7O)))͛7kʔ)*))_R?3gSK.s<^}U꫎.~6]wSQQ+WjСX,8p֭[[niΜ9>>@2eLTBBVݠLI?Ο?KgG4M͞=Uzڻw%777iɒ%ׯ_܈͟?_>>>֭fϞI&)33S?CO:UO<,&O`ܹSSXX<<<>}hǎ so˳lܛ |]tIa(55e50F_ .tt6^CSy2bQXX],$$DWaaak7N6oެp(--^^VVcWpp;/!I:|f̘\JN:[^LL_PUWW{8}```={5Zzmy{,4^.Q?W{>14nqFavۻx=$IW\i:iii2d>qUUU*//W]]d/$}-}]]VgϞjU.]-[啗k _|Q?6~.];99Yvqggg5FKνϲ5@ŰL@VRR"4ok=1PyyBBB4k,}*ooouI2Mȑ#[ܓa}N>:e˖IRZZr,_edd8 <손WVV:$6L@VYY<؉'TPPP4ƹs4uT}'ڶmW;V555ɩŋe Iɓ'%I=lo.IUNNݻ0 I͛7[\CcZz,7n#<6+99Yi*44j8'4R2횗RRRtUTTѣ233}ƍcwUPP{NնEo߾zsNTV믿 uԩU9s?*]rEoLTdd$Y***Ғ%KT\\7ojzZiϳо:90<<<2YG82횇VX^{M>||||o>1B%0uVI㕘(OOO?~\U\\UWWrqqQzz$G/Du]AAAڼynݪK222du%& M8Q]vUk.^Z))) 6(!!A+VP``飵kjҤI( 8POMMѣGevޭZ7|SaVEE … }w;eSEOOO9sF;vpt) 1II\\Ll?bwʕ]o}ǜd%''ߥ {h^nh"w꩹ع7vM9˦&}rrt: !0ԫW/jS9rrrrlYYY|0TYY)I KFe/++uU%%%wrqqQ5vX}W_UU,X k׮3fmۦZ[^MM6lؠ(M!!!T]]?&L OOOjɺv횾{3F u{>ƴYV@Gs/ɦ׮PNNmNi„ bbbt̙6)wdc8uƏ/___[M 24IrrLThh4gHTii"##-Ii[СCꫯdXUVIo߮!C?i$jРAڸqV\R8p@:t9*%&&wъ+TRRoFAAAg}f۵k&NH}7pf̘y_y饗^RQQ/_u7Ν4j…Zf~Mkekt4lq{mŢaÆ4Mk;wΝK.iӦM7H*77ܦܑ{#!!Af҅ +gg&l ;2 Ct Pjjja.\2 9ʕ+5tPY, 8P֭ӭ[4gΜF ||M2Ei*!!AVU'N˝?Ο?KgG4M͞=Uzڻw%777iɒ%ׯ_܈͟?_>>>֭fϞI&)33S?CO:UO<,&O`ܹSSXX<<<>}hǎ so˳l9{73m4ޑQ^^|]]mecsG6/kȐ!Qny=`X&INN JOOwtYi GG{G?3b(,,.@竰5ƍW^yE7oVxxJJJV//++KNNN+88Xǎŋ[֐h>|X3fPnnjkk%INRDD-/&&F|hhh>00xϞ=UPP-=<h{1 {߳gOIjw*--СCmaۻx=$IW\i:iii2d>q(UUU*//W]]d/$}-}]]VgϞjU.]-[啗k _|Q?6~.];99Yvqggg5FKνϲ5:~'hwh[|ǚzG6bi a p^z9JJJdfp5*//WHHf͚|]]]N:Zi69rd{2 C'O֞={TVV,cjҥ1c(--MӧOӧUWW'4l2Ij\ZKK~%sds 0ڸky;% YINNi ut)СUVV*//.v (44Tq9M:U|m&777իvycǎUMMrrrꭱxb=êiYCuIIC=(eee0 m߾]T[[+))Iݻw yfkhLK~%sєu>iܑ@°L奔9rD:zFq|r=cݻ>cSuu-wѢE۷^xܹS*--ժU+##C:ujfΜǏJW\[o%4)IrvvVDDd͛ڿ{VnZz,|'կ~ӧO… :rΞ='|돌rssy.eh6XB4|ph߾}1b$)++Kah֭$777+11Q:~bcc_XtIR=_(..N޽yfmݺUǏ$edd0 ҥK2 CM);;[AAA8qvk׮]ZzRRRly6lPBBVX@Gk׮դI$IQQQ8prssG0 ޽[2 Co:$0  6vM=˦h)Im˗/׀ԿM0A߿wd/^,Izh5552MSi6;02a 64kQXXuEGw4n8IҦMܡ窭ݸq&LФ$t\m{6qرc5jK&[z5 aS'GWOedd_$S[l~;}Ր!CaÆ=WRR?ںu.\ Ţ_z饗4rFmܸQ?Թsg 6LӧOѣ&O 0@׮]ٳg] 4jav'99Y w}9sր7hԩ71BTTT׏?5kh***eZkڴiw711Q6mҦM~AqW_ի2p'GTTThʕ:t,u֭[3g-o:w/_uE$]|{ݻWdׯ!##Ca(??_.]aJMMutY2 … ]9;mޅI'GX,BBB|* @[l$=.UVU_{nM2{EGGOf̘^xA N:@dGli:qĹw3RG :'Gx{{7ѣ$ʕ+Ryy:w,OOz~~~jڵ:{Vth NmavDi֋_rE?fK~z˗/Kﺗa>^...̴-ZH}ܹs駟:}&MBeffϯfΜǏJW\[o%4ٖmfTWWRك8 h<<}$)##Ca(??_.]aJMM$egg+((H'NT׮]տڵKWVJJC@3ghǎ.== 1V6W˖-Ӳe? {wuh9'GcȐa2 CzR^^V<==#G*''s%%%7o+駟oUU,X k׮3fmۦnwaVV-0 UVVJQFlk]zUIIIݻ\\\Խ{w;V_}U|~5ay{{W111:sLZyM0Aɓu5}3f<==ӧr6m0,@$''4MLsQzztA*22Rٶg4h _^*...wwwYVY};hŊ*))7| >k˖ޅqqq2MSv:tH_},BCCj*I5d}2MSޒB 4H7nʕ+UZZTCՑ#Gڬ;ܹs5w\]tI6lо}=Ӛ}ty饗^RQQ/_u7Ν4j…Zf~߷T@[bX&ȐaץKdRSS]_TTThʕ:t,u֭[3g-o:w/_uE$]|{ݻWdׯj]x')S4M%$$jjĉvtR=3Ppp>#ٳgUM6m4Y5JGV^^m9mԩSObh Ν;5o3f(77WSN)"":k]x7ƍ+͛7+<<\%%%JKK%'''cǎŋ-k d$IX[1p@ {iWh ټCtUUU\;wg\???IRQQ]zwvZ={VVU]tQttm'8JS¦HKKӐ!Cta7NNN]s> ð{}嗒oݴ{IR]]K.v,www&>1,&裏l|:wrJJJdfp=zTYYׯ˽|${ɓ'kϞ=*++SVVLرctVMS¦8pYf)??sWWWy{{SNi FЃh{ &N(4eZ] 8\eeb'NPAABCC Izg%I۷o˭޽{榧z{y{{ɓzHQQQʒawݜ;wNSN'|m۶Mz]رcUSSzk,^X?jjjZ}2h<<<2l[=K))):r***tQEEO>;w>S]~]O֤ITXXL5̙3uqUUUʕ+z뭷d"##۲Mޅwr izԻwo}*((s=j[EԷo_ ڹsUZZUV_WFFa IDAT:uԖж <<}$)##Ca(??_.]aJMM$egg+((H'NT׮]տڵKWVJJCiwaVV ֭[%InnnWbb<==uq믿Vqq"""T]]E钤=z/P\\ս{wiںuƏ/iczͭaZx$WLLLh;QݻwVa7ԡCdUQQ!0p&4MEZaڰaC̠yFCᡰ0:tטV 7n$iӦMj0ŋmQio7nܨ &=]W[ 699~*##Ca0 KyyyZF[~VV-0 :uJǏ-V\\,I*))ѼyԷo_GO?_'O*..N^^^X,z'n'<<ߵk-ޭ[zk-իF/y***c[SNqv`]]v՘1cm6JR4 2NrrLThh4gHTii"##-Ii$%$$h֬Yprss,I***ҠA~zeffXeZf[ }G?˗rJ̙3v4MY,xttLO@-v-/Iuuuٻw%777iɒ%ׯ=+##Ca(??_.]aJMMutYp_uԻ0F_ .tt6^к:9b(,,.@竰PvݢnOlΝ-Z497::Zӟ4c 4huԩ{N?Wrr]8TG 2@=hoo=z$]rg^Jܹ<==}'I***RUU_Ν;{߫jqw}Wk׮ٳgeZեKEGGۆzދ~@c hJJJdf!M\*///UVV>|$_TeenܸQ/=t֭z񲲲fSa4Rahڳgʔ%45vX-]G0 Ν;;p ۝ثW/G02Zeeb'NPAABCC䵞}YIUUUڻwSOI~iIҮ]ruԩХKbEEE?qZvQ\omp>zny{{ɓzHQQQʒa~1qD)RA7n#<6+99Yi*44j8:6e5///ȑ#ѣG/eff6kEO>;w>S]~]O֤ITXXLIx uUsƍ?ã?C7n̙33gzqZ~j~.^YfnX~+>}Z.\Б#GtY=䓍)___6|fΜǏJW\[o%4iwC.æ3MSuuust)2횇VX^{M>||||o>1B+0uVI è+))Iݖ۷o_9rD s==z??5{lJahڴig5m4_|Q*))a~gW˄ 4{l[-׮]g}~ض5`_&LPff4Mhnvv4qDuU׮]zjީ~n<==uرѥt]=N~_7i $jٲeZlYӖ-[G`V^]/~裏Sy&44T^rTOs~89CFF ÐaիdZ)www9R999,[a:uƏ/___[XTRRyo߾rqq~i߿^'OT\\dXOСCmvŻuVUzҨQE7o޴CEErrrlku/*-X@AAArwwW׮]5fm۶Mh=9h\KJIRxx]<>>^4j(xYYmW*))I{wﮱcꫯjrHRMM6lؠ(M!!!T]]?&L OOOjɺv횾{3F u{>ƴYV24IrrLThh4gHTii"##-Ii$%$$h֬Yprss,I***ҠA~zeffXeZf[ }G?˗rJ̙3v4MY,xttLwAU__1XMنM /LYx$M.JcNVbd9lqvT)B^^J˃ *(+P"Y?|L=#xZ>X ZjzGeLTSSC}JKKۍ={}婺ZGUXX&M{}/7c:; oطoyzz*22RV$mٲE#G_W)IREE 6hʕݻUSSt;?.NMMU\\=r͜9S?-kJXBk׮?s*''GZhV^_}eWL@+0TVVg0 -Xz\R111Ttt֮]k׮iΜ9m~fF& 0@YYY駟b %&&:t֭[`eddlj*!!AEOTQQsݨj*11Q^^^ Ԃ 4nܸN痤ۅٹsÕ wwwjҥ:thy,22R|2MSiiiWjj]lVVN>e˖駟bQxx֯_/4%grf*++K0`5uTYVm饗#SӧOWxxmۦLEEEb(--MC ֭[پwg/|2мylx/^e"""6/1bD6o,I0aݺР۷K$Icǎ e۶mΝ=vޭĴ;n8߿_3gTii%IǏWlllysi&=cVNNNGvAAA Çu̙HϝDڵ###uu}m揎{߯sε}^ve6(IpB<==[566NW%IjllԥKԯ_?Y,Q>YFNR||q.숶ӑYؖ9Rs=>}s͍"oooa|ג~GN]].\jyW%IW\i3^G...[wqqQKKK9:eWpY&~zۥ8rR]]-4[߸ы+WҥK?$)((HnnnիWuV555mѧO]vzmmSata>}vءZ4M%''kٲej޽[uuuЬYTVVf|||Էo_]~]i3grtL8Q9991cN8˗KR}*%8.ܳRSSe{\zU[ou9EFF*88\<$i˖-v덍ڹs5vXI%IEEEvUUU:~xuYJMkٺuk?O%>>裶A>>>:v$SBB dF~ݎzYO?饗^>&M/%''Iŭr;.V:K1\ iEyyyz7\/OHJKKe %I2 U |}Y 8P5660 ˶,^X/z-[ UWW0 ]-)))JOO/h޽LӔijjjr:={}婺ZGUXX&M{:y\ ϟXyxxhȑjjjҀ$Iʒ tM:UVU-GvvjkkeZ Ţ}'hs_Gs;ZrJSZv]9stkK/GOpm۶MbQZZ [}6++KOֲeOb(<<\ׯiJOOwou~ܹSJHHtR : Mnn PYYΞ=+0`. n;uhѢ.zwzqY&1bD뉉ڵkWH]~]mH4vXؐ6/?t&#:SQQQvk QYYrϮ^~ܹsvkӧփÇ̙3m[u~7N̙3UZZfIPMf޼y2MYxqO՝: [s[Oo'~ ;Yߞ.xzz^WW{O7o֙3gT[[k+W$It'*uĉvVg>p@;wN.\Pppp|{ݧOnE---׍$y{{[~ 4w6(&&F_/I=z3ܲt\.8qrrr4c 8qB---2MS˗/$)Irss^˗/SSSݡ.\K3}f777o߾~Ll3f3atYӧkǎUAALTrr-[h-??_QQQrwwa2 C}]Oki]ne;Rss .Rlhhh?~xIRQQzUU?ީ]ի:xڷ~s)22R]^cO999YMMM*..n;Cɶk׮^?裏:=>>>:v$SBB dlp)..֔)SSOŋo˥r͛'4{1K݂2w$ƪRK.UUUk.}ᇭz-iܹ˗/M&ҩ][*))Q}}:iӦUV[j3/YDzm6թFVқo\ĉ*//WIIN:ѣGw(#^y9rDp}].iƍ2MSs̑bQhhK^bR4p IDATpL@SZZ*0TXX(Irwwa󕖖|}Y 8P5660 NvVgX,7Pppq/OӛЦ}zwF-\Paaa𐟟&N>LͶ&+!!AAAArwwWDDVZZZlq2 C$wwwQFb.^ =ruuU@@7ܾ+0d *>>^^^^И1cT\\P.Gg=U\\lۿo߾Thh\]]k׮]yn<Ǐɓo[[z]ӧ"///k_?kĉRppf̘K.uW\ ag￯"8^+WTLL<==kڵk3gC9bV'++K?VXD_Cպu ?ϟXyxxhȑjjjҀb^z%=#m۶)33SQQQX,JKKӐ!Cu.9qY&4v˗/Z[xqO7N̙3UZZfIkKLLԮ]Z}>22Rׯ_~ӧփÇ̙3?t"""2UTT]5+۳yfI҄ m߾Fnh!!!m:wSu{Wߞ.>PLL(>>^4zhg͛urJ{566N}Ӹ~A qS|||\8pΝ; .(88Yٞ_~j~``${߿>}Ev...jiiqtpp+**J2 Ca`O;vV2MSZl-nĉь3t 4M-_\df{G}efϘ1cp+mγ .Hǥ4 WҥK?$)((݅2bM2EO=.^Q cǎI>%$$@ah˖-f+((H ]~jjjRqqqy LͶ&+!!AAAArwwWDDVZZZlq2 C$wwwQFb.^ =ruuU@@7ܾ8.Jg￯22Rׯ_~ӧփÇ̙3? ͓ivŋ{, ez>@k֬ѩSkܸqڼy]\]].\0 W_}UtʕvjllT]]ZZZmq%I?C.JahڱcjkkUPP 4e˖&N͘1C'NPKKL%Ii|||Էo_]~]i3 rssm"4˱si {Yǎӄ }3UWW+33SruuƏ]vu*w7{׫ض߾l5ʖÑog5ydV^%s#*++"+11Q'Olr78:n6?;tC#F'|Җ_h[蕸,fϞ_yyyѣGI&i޽"*..NGUyyfΜL͟?$45i$IRff^{5UVVjŊZvy͝;W999ТEzj<͓iTmm̙ŋR_~jjj={{Ɗ >\6lʕ+USSݻwF111*))qmdM/m|GБ9ӟQ111:t>S?^+WTNNNJ\\UZZg._Yf);;[gϞ*++5|p[NVUUUUꫯx^C;uqtVS>LӔijjjtrߋIKKӬYT^^Rtsjܹ:{6nܨ{jʔ)v1(G/97n6_|<… OdZu4MfesN+!!A ҥK5tVʒ tM:UVUk_z%=#m۶)33SQQQX,JKKӐ!Cu6skʕvZ]vMsiYYY:}-[~ZEZ~LTzzzq9GOvvjkkeZ Ţ}'p<--- UWWzK>,-O?iŊJLLT5tP[N睎ݯFجtVGWll<<<4rH555iv1]1/zDJLL[ Rxx>3gHr=>8L$Icǎ qBݻwF111_~9rdgڼy$i„ vnnnWCCot,~7vĈÇ).33ʙw@k֬ѩSkܸqn… !___!0ꫯJ\f۽ӧ\\\a⢖6s>p@I҅ nzFթE޶o<_$~p=>8Lu%Oy ø|~˫Ul``$ҩX:3oJgtwnێn$[^ggy󸺺:ϭо ,nktgРA=]ӧO^jwŋ{N[~<-uaO;vV2MSZl-nĉь3t 4M-_\dfX]]fR3777o߾~Ll3f$#M^^^z._*oMMMW\홼uU]tU%IAAANЙy#9?+ۺ=h{jo{p'LѼyd"##{;/^ԨQ_kÆ i*))i{ewSbbbTq2MSݒ|;|||t1I}ݧ0 mٲEܬb)##C ƫWvk~Ν;HjjjRqqqy s]tI'NԩSUQQ!ժ@cq̼Ȭ|u DNѣۭ^::W3gw}^xAAAAݶ/=2}vctImݺpسg”*??? 6LEEE㏕mWZZ!Ch͚5:u$)!!A*--a*,,$k:t ,0ok߾}2 C{Q}} ТEjX,o`=_|'xB+0TVVg0 -X@4p@8p@III={M6P'Ov)((hՇiӦIM111a|xgБxg >\>?JOOWDDe^~v{$4e-Ѳe˔)((HԔ)S!1Bڱcf̘t~c{tv8:+oXbz! 6L)))Z6lX30 岎nۚɆa؝;l/I2 C$%973f3#JKKSVV "z 0ۻipG1 CvEEEJgΜR$IIII*,,TCCg[/--ULLrrr |I۷OW^-uk=s7ޑ{>7f Eſ0544=] pǹ2tQ .TXX<<<秉'>Sss-IJHHPPP!ժ[\AA ð= IDATOVJJӧ_~?'K1c.]d˓k1h Je{[xn\8l:7G#IǎSRRѣGk߾}; &gVffBCC*___?^vT,>g>^6mO?FUVVjڵ ?=: (T@sD&+HM3yKך2cH GE|$/tj=ڃHg֧Vbi2n[ aM}<<<ӠoPP$ԩ?7tHahԩڽ{^\qiն~cƌђ%KbYV5kHLl\h!T]~~~rssӍ7df%9up3.]~]UUU ▗4諸ׯAK.I tDvn_)=!33vwիh7tH~~~:u$SN_۱c$^ VJJu&0$I555mUTTdŋ WHH7nTPPW^yE$9up33j(IR~~]2>}MUUU:q][cs;v$5سZٳG1b}&11Qi*!!S{ʜ9sd;vEL@5sL}g˗rJIUZZUVL555ڷo^{6W ,ÇU]]Gjʔ)ܹ}ӧ}YܹS*//믿_~Yrsson=ڋhggٲe Pjj׿J4eY,@:uȑfԻwoWee5yd(;;[AAAN8ŢaÆw-AL@tjĉ P7|S ,ь3vZC{֦M4ydIR\\"##UXX(0'I… uQ]v^ahŊ:t ЁT]]-0xb-֮]w ѣ>*ݻW=$)33Saĉp … %IݻwD%''[n ;C<?hNnnnu2e$__%Ize֭[dg֡%Y>}| w'-UdZv\'O*44T :x`臘*55U.\uAM4ɮOii-[(;;[eee:r䈼7Je$I3fЬYt9Us̑i?,4e:ݻ5qDɓ:wO47;--MSiiyf=JMMՒ%KTRRŋkƍz饗,))m6mذAڿÇ;4ߘپ}:;<<\W^ /KT~q􎻓ܿ*eL'N… 2 C .l$Ia4,^Urv:pΞ={8yzz*((HVR߾}|STTx'##C_.]o߾ڲeBBBK.5hyyyiСS׮][}޷ѣA!uUgɓӦMӠAS*,,L;wTZZ"""dX4c [|ݻ:{V^'|REaaaںuLٳjlNK@s>Z6lڼy~ ~-n{2pœ9sln>K.m$A^=U,u9#GG}ӧPӧO+::wlgϞ/}]Iѣ+66V555ڵkWC i\q>Is׾}7n/h4vdd=z4޳gO$)77W...kVXX;ij\QQQmhGy{{+""®mѣN8I-n{28lڴiΜ9XuE#Gkg3jJjkkUQQ!4x?((HTZZ;ooϡsΒ$B-Ҁ/0dΝ+IvZtbEkwuuYVƻ|'/n\K@s>ϯݻK._[@GEL=+77׮(;%3 CSNݻuU4M7NWnQLwww몬lK$INz73FK,QRReZe֬Y#I2MUswwt 3|Vי3pۮ\˗%X4:*eY2MS өS$I:uR\\x;Zwر Fmm#OOO1©^^^l7x9I}} uV(MƔqƩN {WtUt =UTTdŋ WHHֹ( OdX4lذN{]3gg}Z]|Y+Wiiq˗wJMM￯Jk*))QvvCXΝÇu=#-N\]]RZJeeeѾ}kɘҏ֧O=ڹs***T^^_]/233lСq=ws êѣG5euYٶ~uǵ Q,8PM8Q߿ojBbQDD:tƏ\=S۷ߓ5m۶i„ UDDt6 v tx];S[[E)44T^^^ И1c{奄wJKK5a)00PꫯrԧOuY5jg듛+0lӧ5~xϟ/0T]][}o9)''Gqqq  lY&c={V&L5uT}wo4f($$DIIIl~=ܹuq;#XVV&e( 萒ꫯjڵrN}Ҕd촴4͛7O͛O+55UK,QII/^7꥗^Dֶm۴ak*//WTT>|cbbf:rG 2Ҟ={8yzz*((HVR߾}|STTx'##C_.]o߾ڲeBBBK.5hyyyiСS׮][}޷ѣA!uUgɓӦMӠAS*,,L;wTZZ"""dX4c [|ݻ:{V^'|REaaaںuLٳjlNK@s> hYxq{ ̔a:q.\ 0pN gbiȑ裏4}t^tiEGG7>StE[ۻ+I=z]_wwwƪFvj{Ȑ!-3n}'~ڷo_wu }ƎܣGF{i7$Ev ӱct;MM~+**پ-9͹[cYN24eΜ9 KwZ?+tHׯצMtƪK.9rec|}}>Ϝj$֪Bi~PP$w-3nCΝ%9HREE-Z_a0 ͝;WtڵFcw\]]ej7uZwO$I_~e gݸܭ}@Q,!SjݺzrsseƍիW(|}}uuUVV6ҥK`sƌ%K())IŲZ2MSk֬$٪㹻OnnnqLl>|x{ueff իqnjъQǏկ_?Y,Y,WOh,ƞ{3EG~N( fΜ>L|V\)4˗/W޽_*..ɓURRl9RqqΝ;Ç̙3zGZ㝸*::ZZjTSS}^k1׭O>zgsNUTT\^~eeffͭ8111 TaaC:z`X4lذNI-_|Q+WԺuvZEDDS~~~qf975#ex YV=Sw秚U Prr9 6hҤI%''MYYY \;Z-ZHR@@ƌ{OK0 aÆϷwڵ1N:ѣGW^^^>| 험(___y{{GѡCYWW)88X0`eZm233eUPP`XM~RRRs֭ƍǏ;3cŊ[#ʕ+JKKS>}ԹsgkԨQڷo_ƾy> u IwVk0 >}ZǏW``nwYM0A>>> ԩSwoј1c㣐%%%A~^zHirt$θw`K[sqwwW^뭷RMMCő{|( azWvZ]rE'OThhtAI… e9rLԠA_UUYfip>C+&&F(=zT_t%mذAK,W_} n~~&N<<\W^ /K;ѽr;sN˟g[.ǎStty ܉3#Zs8cX&m"W=/n4){QXX驠 ZJ}mZl~aY,EFFj /-X@W^UvvdX4`Oo]tt222ﯮ]jٚ)Ţ0mݺUij{dZm\m93 }R||t颾}j˖- QJJ.]{{[%$$qtEGGKCU]]vMA[SNUXXvܩ4EDDbhƌݻ>w[UXXzIӧ{xxhСvm P=t [|I҈#ѣiڷo_pݸqC_|9:͕b+,,Lǎʯ5h*//WTTT}{)I*++kǏ4M5ΙyѣGuwwWlljjjk׮'wSN"yuV~!Cjv{h{Ϟ=uE<"""n^9sƝu3QF5nΝJMMc8sϴſ=M( aׯצMtƪK.9rO(0w]te֪RX,MUEE-Z_a0 ͝;Wt5st&#U[[ YV|>Iҗ_~P~mG{G%ɖ;i+((HTZZT$EEESN4gݺuj{ooV͡K.v]\\*///vWWWYV>_Ykl9-\.-f@@L?L[^z8֭[mq<<}'"Ţ}'Њ+駟46b4("k֬Y:vXrnٸqc{0 M:UwիW+45n8^ڮ~1^dFo޽ׯAmcƌђ%KbYV5kHR;-zOnnnqLl>|C9G!))I...ںuSw3vww_.]$I vx|ժKy[{{rshy]r5r3g%w\.@kq^GL?9s4M8'Nim(ժtEFF]999ouyۺzҧ~*IJHHiqN:_~YNRddy]vqDc97Smm._+W4M{'tE[NUUUꫯ /{MVrr9j=zTSLQΝml2(55U_UUUo2e,]LWWWEGGTVRYYjjjo>kCXΝÇu=#-z-_\}ѳ>;wBz/+33Snnn5%&&F*,,t%K4w\eddhڴi:v옮]}Zl{ݻRSS﫲RŚ &(;;[w:ս{w}JLLTrruP;N9GMiuqqʕ+uQI҄ ԵkW'О={4{l}Zpa"M4I))) Ԑ!CT]]ݻw+))bh<!777W/cǎ<==^g\B '{aY!jm*++R\[b(""BIo[eeeiŊJOOotl?*!!AټyNaÆ-5N9'''MYYY?ytO=$id|h mv۶m0aaojߔ@ݥ31ZhBCC奀3F%IK.a2 CÆ okڵkc:uJG4|p4/11Q#C+&&F(=zT_t%mذAK,W_} n~~&N} U__/I:}r| :ԮmѣN8a+/I1b]=z4Z2>>^k7n/p8Ggb9^rqqQ||]`رc:C߿_劊joϞ=%Ieee~q93w}W4zhUMMvnqߕߌMW0P,!ԩSN:)..N2 C;v .صG񫪪t ?\/^TxxBBB$IF$-++ӧUPP`[n555eW_~z7z7Nuuu*((hW^߯fsfҿ͟?__|V\dm{ر`ڳg<==5bcꩧ^g-WΞg~&N(4ީ8eԩz畘/B:xEFFw6UUUWߕ̙#4_}~_)##Vн)UUUO%I ⵵*,,T.]V3 h;tX3gg}Z]|Y+WiOŋZnW_^Pݛd9rD:zLΝ;+;;oٲe Pjj׿J4eY,ViiVZ2h߾}z㡇RqqΝ;Ç̙3zGZˑZ|g}V;wTEE_Vffܚ=jJLLUXXP%Khܹдit1]vM555ϵl2%$$ծ3^|zTTqq&Oegg+((V._C={V۷MiӦيJREE̙;vի4h֬Y3gرctuUsΕ$SUTTz 2DR\\tݻW7nп륗^Қ5kgIҴiӴqFi…TZZ5JZb$iРA:z$JJJ'|͟?_f͒$b9^\;wN~~~8pΝnwϙ1裏cEEE9x:O>DׯׁtE+ @oM#F(??ӑto˼Ukٳ.^>ȩ"^:øQ,𶻵wϯ~+[4) Sc>:uJ/jW} IDATػ7r(^'?tC-P^Ę}H2T; bdRjN.h9[88e$+GK74YPH5$# pfz?߯zf3=wo߮:I҉'Կ8qB-{ァcǎ)((Hƍӂ mf֮]Z딞lyxx8p͝;W;vf-ܢŋw3yRWW7n´m6MH^PaaZZZ;(''GUUUZl}Nƍ^g֡Clu>Ǐ޽{yfvm׆ hWBBL"__.%''Gsџ'ڵK{O?\4{l͞=[Ν;{_hWEwknn^z;rw'p3g1cfUEEVX{Ge手Snn+;;[iiiWCC=gɓ'xo֟gUWW<.T4M~oojʔ)jll*--MÆ 뻤t{sƉ'*!!A_|jkkYάJqq Ðaݻbbb4`Ќ3b; t,Fj,xXX"##_JdXcǎ6sDEEY﷏H.n<|>c)66oZەQ=k5j5\#I:v+]3t2e{CӪ*Hzث.^NrfIo5tP륗^RQQtI>S-6 0@Buu7///?^Ǐhɒ%ڸqbbb.s{-Ijmm/ /ڽ{-[x@#GTa@WpwW>}o߾RssLl;$%&&jѢEPyyZ[[e^~eIiytY>}ͺuuuGO*--;|kN?0NK< /4M͝;ӹ^wнh pEGGGa0 ۷i]***tA4w\9+Orrl6JKKۼ[d &ͦ*,,L3gThhicccco'O,I*))q;GO3MSǏWYYYw-Iuw-_7x^NמK<xha;,ЭN>믿^ͻRM>]&M҉'wiСng9R&MR``$)##C?,^XzGuV׫Nk֬?˗KSMM-[Z566jǎZzuy_x+''G|N>z衇<aL6M֭ӱcԤ#Ghzu뭷귿mr-\ڵk>quzy80 湦it\ г>rw*h" 8P6lxIfΝ;ݝ%ԩS֍7ި-[8Q~~4dȐnϥBd> TBBBv{ULL֯_iӦu{.0 CݖWaaRRR?)66x{)//OVU۷bbbSOiĉZ͛7O[lQMM5yd_$zڽ{$\sG}ftMz/k풤G}Tk׮u:Wwܡ}iZ[[k.YV}駪oQ/___Z}Ya ڴi$wkܹzeZ5uT|AeeeujgjX|zv疤M6)11ݽ}7nי3gbRRR~zqhرڹsUwqw0p@Lœ۔pyiyY>jllww57˜7o,Y [oU~~~1c"##uV͚5KWff-[35+66V~~~8q_uHxhZlnᆋʡ#]u\=vjIRPPPk0 {,.4p(**$M<ͻ[*''ѣ۝jCa<,,L/UUU%IX,ڱcG9ܬ;]+jȑσnw|Ȑ!:vXgk5j5\#Imw+two{1EtA]Tʻ={VԫWƮI$/w'hjjR}}w~~~%IAAA~jСK/"UUUɓq?K58=<<)___qOOO:usݻ$ӫX曚0a$iܸqԩS;G{.{,ڽ%I]fǧ: EGGGa0 ۷i]***tA4w\9+\飠 ={VN+///5774vNIRbb-Z Ui_$0a]nOr>3f?ɓ'eZeb ;:gu]|}РAdoBڞi9}zY,wp١Y&b)UiiOI&ĉ4tP7dyuسgFI&)00P\͟?r6uTIҖ-[ڼO<\ɲl*--mnɒ%6ll6ZZZTZZ0͜9S_~|7_wiݞԙ+Էo_8p@ԫW/j0 m޼ͅt]|$k馛$IUUUuQX\4ڪVwp١Y&1~NqT6li/\ḩAeWQQTXX#ʳxb >\O<6oެSNJ?]jxbG֭[U__:YF?/_.///yzz*..N555Zljkkب;vh}-\ڵk>qƹnOL}~JMMM:~.]*45~xyw6wbq( 0@{p={H&Mh_@@:ns_2|M*++%I!!!=Ugҥт ڼ߯'|R6 r/B)))VHHF~I~ 2bI h3׀+))IYYY UDD}]kڴi؂effjժU}'Pjj5b73;hQi}+UV7|M2E~g㌮ z=vvIڷo$iС6dX@ωݻuV544H֬Y<9Ӝ9s'___3F6M0>77WV\)Ţ@p Zn 3g~ .=461ϗbQ@@yn%檢B+V=#EFFj2MS)77WS4ۛZ9[+Gխ*???͘1Cںuf͚h+33SÇז-[|ߙ+???M8Q /T[[:$i튌T|||||4p@-[L7pEБ ;[{uu$)((5e=$0.pBw٣ؓu5^M6)00Pd9ѣ]/**$%$$8G&LPccme\h @;~mb4y6nݪ65JZbq SddKUUUI,vf(577kNʺ9r2d;0G|5HR]>}{Leeejii$:6M>>>]5>}(((H:uTߚ?5y;.561:{N:usW^^^jnniy睒D-ZH*//WkkL/,I2Ma~0dݞj}2 C3fЇ~'Oj4M%''kŊswt6ꪻU8[A$ބ= 2M VQQ{W s窠YJk͛7;755i]w.461ڲeKw111z'+99Y6Mm-YDÆ fSKKJKK3g*44ఱݹ}}}/؟oF.ۓ:ScwseHzxYVѦB.\l>tM:zC,p59}zY,wgϞ=9r&M@IRFFrss5|7g+ŋ5|phӦM:u˕jkNh @;~mbOh:uꔪ㏫ڥf/VxxymݺUӚ5kk򒧧TSSe˖VڱcV^ܷrUYY]v7nK\ݧwꫯԤǏkҥ2MSǏw|gs!]}.6WjҀwٳg$iҤI.~6ijmmUkkEРDw}ʲHyyy*,,tc0 K|||MkCy衇$Iaaa/4}t͜9S!!!=zΜ9?P=[%f&^ IDATF)))ζ71駟駟jذaN5J?WRR*..ִiԪU4x` >\o$I9r=~ʕo~#F(%%E1b^H{Λ7OwaڶmZZZd^|EܹSaO>љ3gd.\R)Iahɒ%Y,R7n\ާO>DJMMUppFzg|g㌮ {=vv0>Lǎk" 2D NpСCewIK.UMM,X]TT~=䓲lnnMiwIIIm޿!!!zua/:yJJJ4Z50TPPR#DJbիݻW111ZnRSSݔ$mذᲜrhܹӭsAyjjʔ)=!~ݿo Ҧ%`_7nԫj?|KL\())IAAAѣi&M8Qa0 O83gkU޽dٳ|r3gΨ>y]hj3 CgϞmwB))) PHHf̘~IGQbb4h eddԩSmp^g5m4jkkeTPPxG7||GQJJY,:tMqҿp%I۶msi\ehںu$Ik֬Q^^ܜ.g}bcc{nmܸQǏןg뫯R>}d֮]+I֨QTXX^{MuuuUWWXڵK4{l)???;Vi4Ml6sIII2MSSLqYf駟VMMV\~[>rrrh"UWWk…Zv{9教\*++$D?~UVVӬY4gΜQNN=}G>}Cuޒo>IСC;܃!C84\U ø… ݝfbOzմ^{6mڤ@IҒ%Kp{gtI+>>^Ժut̙6񹹹Њ+t=ׯ_/4*Gխ*???͘1Cںuf͚h+33SÇז-[z̙8j̘1l߿$)..Nׯl)??0\銍&N}tyWWWK:900Pac e*i^JiT,g)))$u]㡡hoZ!0H}嗪꾄;aȑσnw|Ȑ!:vXw;zv-vf<**Jڿߍ5k$Ϟ=+IիWKеh ԤSN[mׯM|}}Z[[$0KYøZ[[]_Z`nfϾSO=%I.((wޒd[|޺m6|||tEGG~z2zHEE^544HΝ7g\>飀={VOnm+///5774vN7a\t]1GgtޮE)##Cjmmiz%Iivj>AIWώ4444M{,JKK5}tM4I'Nw}C;-GL@O_/TٳG#GԤI(IPnnϟɓ%I%%%555*//o,ͦ6,YaÆf|}}/؟oF.st^*,,L3gThhYhccEߝ}M7I:\ѣ@w۰aL{+<<\ApաY&no0MSjmm55OYYYp)//On| VNN>>}Z?6/VxxymݺUӚ5kkr-*//WeevڥÇkܸq.st^,OOOũF˖-Smmc^󎊊Ҁw߳g$iҤI] JIRHH3p/ep СCewIK.UMM,X]TT~=䓲lnk׮]5j~ 8P?`}JJJRVVBCCw}WŚ6mCʕ+F#FPJJ5brh*0T\\,IC=6ݻemۦ_|Q;waOt vi//0(33SV5|p[JKK$kȑ)Iahɒ%Y,I{ކa(==]};iȐ!JHHpz߀. it0TPPR3,<EGGkΝn4M 4H]w]g;(--MVUSL q){$I6l,ijllTEESA󮯯Wdd,V^n޽Ѻu딚z"tBȕijjR^^ S;v222`oj׿Uk׮_z]wuJOOWvv<y]hj3 CgϞmwB))) PHHf̘~IGQbb4h eddԩSmp^g5m4jkkeTPPxG7||GQJJY,:tMqҿp~mpm6(88XGѡC4~x7e_7nԫj?|KL+++KVZQ|"""4e}joTYY{LfҜ9sqIII2M4QieVWWkԨQ*,,k:}ǪSllvճh @;;jڸq??W_}>}4M]V fϞ-4秱c4M)tnfK:w|֬YzUSS+Wփ>-ZHZp֮]{altn^zUYY2yzzJ|ѣ*((G}ӧ;]-I$ :=2dC,駟Jϕ@͟?顋uyhںu$Ik֬Q^^.z~\o߮HGԲet 7Snn+;;[iiiϷ߹ UEEVX{GeDY&xgtI+>>ސhݺu:sL˱ѣ>[oU~~~1c"##uV͚5KWff-[8|۝Ι3Gqqq՘1cdԿIk6XiĉJHH_|Z{Lwwuu$)((Úe=q *,,L~N<;Cӽޫ믿^?ӭ]..zz꼯ZmڴI%K(55Kƕ7=c*++SKK$Y,رQQQjnnZjCa<,,L/UUU.1^NKQII$鮻r UDDDF60:th&#G:<dݻa;=ztzҿMڿbccۼ5j5\#I:v옽 gwٳg%IzfIRccyc+iNN0A&Llr%T;W_}Uz7sܸqԩSqz饗TTT*ooooIRssyl9o 43f?ɓ'eZeb {\bb-Z Ui_\>}o߾RssLl;zz28G>}gm?~M øAIWώ4444M{,ܷۛ'UTT{UCCC1=k :[ܹsUPPУkW$KZ2 C7o$Taaa9sBCC]Z/99Y6Mm-YDÆ fȪ.4'O$8ԨM |}}/؟oF.stVO7lfS馛$IUUUQX=ӺeXܝJݙ[jjLԄ | ٳgFI&)00øq2MSQQQmuPnnϟ-wW_}&?~\K.i?~$SqqqѲeT[[FرCWviŋ+<<\|Xƍs)ǮzaSW6jOwwTT {v={$I&MZtijmmUkkSiRέOYYYN缺bu.<<\EEESaaa@OTkĈ*))ogyWPPLZJ[o)--M#Gj0 K|||d$I $eee)44TzwU\\iӦ&tb$<<\vҜ9stf)::Z/s='N8(//OYYYT߾}bM8!~ʕЈ#|1¥;jjԩ8=Rll>$5>n/^oݡazpB=6yIjN 4o5yd_T||nVl?2 >mڴ[0 kҥ:vf4d%$$8oV@@:4u)YK.UMM,XT.'?**J|I%''wiit(v߿øŋ;<\z饗K/9(e0/ԍpY1 C6mSbEDDQN=+λ^X,mfݻW111ZnRSS/6]\axI҆ .q8qvܩgvZijРAsNU[[._wQZZVLҥ_maaRRR.جpw0p (88XGѡC4~x7e_7nԫj?|KL@fSAA&|WkkClSS,X*88XzRjas18p@III FM6iĉoso߾ bѡC\ړrZ^ƍw'N̙3uתw Ur޽GeUlAADDsX1hARhYSZ (㠆TRtai9&$%Դ4HɁNT$@dhq?z(Z|k֨3k8p,cǎ$cJJJ$|)4س)3\+NJJa:ve޾^>}H6o|s;2h?I&رcpvޭѣGMgnn۷rrri&IV^D%&&^oAff}رc8qN3fXFGG7uY۷O={TDD&EFF4MEDDԛСC VNN֯_ӧOwQrriFi*%%>Չ'm۶gi=ilkuYN:+W*!!`͂)--M+WTqqo߮b+++KsNYZz$?V~{4MyxxH;IRΝz6һaK︸8)ggg 0@i4MۯSNw22w0;w|}}e衇qs=ڽ{~ߵ|<7ywU7n$i…jߊ+>>^VLLƌdKЬ$mݺU{VXXաC-^X=zֺ̜9S%%%JNNVXX\\\Իwo]VϟǏWpp5tP >\{QQQQoUҫwQAAA=㕟%K}ݺu2MS111ڀ;4MM4I^gSg{= hƾf2MPik|<-X WxxxYF%I<׿jĉz$;;;8pZ[)Izᇭ۷o={oڠ .Iɓ'mS[ҫG:xzzzZjUwuquYSOW^Qbb(///OY+++%I[]Sg{=nDo{{{UTT4UKTZZ9s_2 Cahڴi .XjWXw}WGQhh#hÆ V{Zא*;wNm۶K===xګnY|||~Riijkknyu{J~Gԯ_?}zꩧԪUl۶$^Ϧ(]^7wMMqJt?7uA:2w|=ҥŒϟIJJܹM\֭[g9G] ?2I/fcĈJHHЄ tA4M-]Td0 =sڲeJJJ.45j(-Yu iӦ\]]UYYzߟ>}N~],=<ӪU_7|*>}Z-i kRll>S?/__f9Y~;V...,Xݻ^ЦMTZZb^ZSRR%e˖ԵkW_^'OԓO>j˾Q^^u(]^uA;vLYYY:r dU+I6l  #}$ֺOnX -aѢE*,,Ԝ9s}'|R_TSShn4i/_.???uMƌ#I S``$iǎٳ^z)33S4sL˞ԥ0 eddH5vXIfee)((HO>:tI&)>>^ݺuWvvv}f͚%I2 C .$W6ݓf^G#UUU0 ?^ݻw+22Rj߾z>@z%Iruu7|}w***U]]?\?e뫯ɓ'm}&))Ia(//O'Na5kߍ^l~߫W^=zիW/ 6SN>|sUifKh>a(55`EFF*##Cj۶e=;;[JHHl}QQQ?"СCsNUVV^icǎsk{=3F銈q[SO=%Izoz쩊 (R[ZjUKԷo_]VQQQ-=-F~ѣG)yJJKKmV Є 4|p ݺ;=3fhͲSppս{wϞ=DeddرcrvvV5}t 2D/A#G\~͞=[[nUqq$iƌ_9h>F׿oV5~xĨUV O?iO{LoJKK۷EZd\]]f=sɓrwwנA4gǦ6-@RRMVںg`s$i1c(99?ƍ< ggg=sݻ6mڤSO>rqqѤIԭ[7}'V+??_K,c=&[֭i|@˫wjnsv@X&Zr%8(00Pk֬ŋ5eʔ6-E$Tg̙*))Qrr";*((h[Ówwwo h\/___mٲE%%%z衇\svޭw׼aW̝;s ڵ6n(77V .TTTTǵyG_jĉ֥K$I&(('OZ6l I>|Um6m m޼>5).?]w% ]j} h_:u'Ijժí}}}ջwo}:~&IV!Ws-ܬv>}XOyyy*((PǎoW /d{PΝmꙙ)IzᇭԣG3n+V(88X?,? 4H&Mȑ#V~/$UUUTm۶k;t I*,, .?;$7І tqX]s…<4UVպU|?;-jyxx4#I:}MjEuABrwwaV{J%HUUU:wڶm+zםJKK5g{ڴiÓڶm+I555rttif`{9mٲE%%%JOOi5j,YrM{iFԹs})I7u֛iĈJHHЄ tA4M-]TRضiFWuuLl3dȐf۔wf?~ :={П̆B#[Bs iFTyyy5%!!!j׮mk;p3ep5sLeeeرcJs yX}*//?cŪIQ^^^sss%IÆ yfjҥ߿5MSz321BO<񄢣-ݻw׆ vء={***J^^^ի233M3gΔ$egg0 eddH5k,IaZp$o߾]___ٳG<&OveM0ѽB/l2W^4zh%''W^6ZΐI&iSnj̘106wNN ͛u%_];waڱcΟ?/04w\IvޭHEGG}ٳ>edd駟5552MSi^֖wNcϠ);aڒmTa49rڳ>5kÇ[|bbb>}H~?/TMM|A%&&j6ϖiӦY+ lph׫?~Çkƍb%&&*==]ǎiӦiС6[1cmۦjw}zWtRmݺU4n8Hf'|ByyyG^uI<y-Z|O/ѣGպu&z)I[-ƌ{OOV- VBB%f;-ҿ :T;wTee51k,-\?geeѣM arMKKѣm H6܊>%;JdddAHjp=::K5[\\.I^^^z7o4}C6l>|zkZjU,XCͫw]^^֯_k \pA“1i*%%Ek0(SF_"""nnwZzƸ룏>b #G4j(+**'\e222$I2 Cb}ݧRdYܹ٣PIC Ѯ]ug|~ѣv)<<\ߙ3g4yduUj߾Fko5h ܹښ*,,LrttU[[kUSN) }$m޼fpg#,mڴIeeeիW+11Q-<)4!Ii;^^_'..Ni* @%%%2eϟB}*..VHHv37X8qBڶmyk 4\Rھ}&v!+''GׯשSrJ%$$4ԙ(h߾}:v&NSjƌV}$s΍ԩU-[ϯC}̝;w(2III2 Cyyy:q ЬYˆnyv7MpBEEEݴnOϟʕ+,gggj͚5xLr?~eCjڳg,5ג%KcE{ֺudbbbs̙*))Qrr";*((h+>>^VLLƌdKX$wssaLӼVY[znGqqq48M8;;O>VkS^^ Աc>GPPwu$ɓ$UV U޽_ܹM=333%I?պz衃Z-IZf{K*++%I[ i^V-= HN>}SpwwAT[[+IRiijkk.0>{$6ҹsԶm[VZZ9s_ӦM$]pR۶m[IRuu稩M3,l mȺu,y͕'{\\\ԣG 6LߔpzzLiժ<==^zI_ )OJJJK ܱϫK.rpp ^?~Kw[kku#B㏫L/+55Ypc={0̆B#[B6m!{{{UWW4?C y?WWWUVVFM0ATmmLҥK%>vQ/)++iZW'4p]DEE4M6dUmmf̘@iF:s挎?뮻T$)""BiZ׼y~矷 EnI C O ܑΜ9k޽JKKSIILTVVVrs= oIoOt;$*77W6l$I&LP||fϞ,=4Jٳjoɓ'pK95J555ڵkW.\.]}QIRffzQQ8`v%ڵKS~رcbUkggP/VQQ***giժUퟛ+I6l3l߾}z_l_V۶modW믫_~nݺf۷o[z DX&JZÇO>ch"jΜ9 ГO>/iߎt IƎ+I,I={ [oh}-_\?uQ=<==m6y$<8qBah֬YΜ]o}֬Y$0pBIR߾}.Iݻho^={| =MݻwWVVOG#UUU0 KXjj&M˗Oݺuӻᆱ1cHh9W_ɓ ߰a:uÇ7in]۪SO=u:UTTXNmiaXW\\]ttbcc[z M@X&tIa1MS)))ׯ9r??&ODFF4MϚ5k$I]ttt֫W/effL.\5`&W KqFK///:|mβW IDAT.^ӧOk:t5=zhÆ *--Յ {n >\[lOII$y{{kժU/P,X`ɱ=}tuAͫ7//OׯWRRZn}M*͙3G={4b}ᇺt$i2 Cahk333-ލؿ.www999iȐ!ڵkWurww ;w6gMMRSS&___9::_ɪՅ?^vkool_uΜ9ɓ'k׮rppP5j(6il_ԯ-sYM:Uݻw<==裏>ugvv%ܻTuu駟Vv,kEEE6p~=z\]]ծ];=sO?iĈruuUǎ5a;w|Myke(u'$GGzF }*++%_(aܹ٣P^1jl a/}!Q/oNbQ>}$I7ov>Hׯ׊+,GѨQoj:{ۧ={*""B_|$i֬Y2MSV>#2MS<@륗^̙3u }*..VHHva;t萂ԩSZrtzfff***J!!!ڷo;'jԩ1c.$Y 4y/[$(((HiiiZr}v+88XYYY6gk+ Qv픝}ڂI7疤BiڵJNNVQQ+999)44~=HR˽+a2aX3G툈IҤIK/رcΖ]f|Sj*,,Բe˴f=쳊UBB 4w\W_)Pa;'2M`ԅDSLUXXh-l a/yQ!QwI:whN:Yo߾ѦMTVV&IZz7֭[ջwoQ:tŋգGfٿT  j͚5xLb9sJJJ0_%rV||<==3Fɖ?˶u/[W||d=crqqQ޽n:gkgT[[k *122]SGjٲe z衵kתcǎ}E&MRn'X]ۜ3܉:?^+WTpp 3ESB}nvKsCcndHTwssaps%%%0 ĉ2 Cfje}Ν{pڼ]vƍ&IZpnZ<#/5qDeggҥKh׽۶mկ_?5)//{Gff$kp}gT]]+==]ZRxx՞ݻk?~ܦ:jԋ>77WijϞ=kʹ7l I>|Um6m m޼u֖`ɖzW׃>ج3ZzNtI|NDX&Y}Zk(DK=osȐJI]***l'4>oچ>RX6/[b :rBCCGydxڵk'0HN>*;wNm۶KVZZ9s_iӦI.\`M˖UUURݽ^޽{%I?MgtzH,sڪ)箫m۶\]]աCIRaaafعs$)88{oK+W[oiٲe~ܬ3ԅAiժdnggZ>LG3>7;׮sCڶm+I555rttifp3 C=l٢4M5JK,mժ.^XoF/--mp,iFTyyyzk#FPBB&LVijҥ~ i^ܯ6mCn4xȐ!6הg&LVZiݺu4mڴ*++uܹz{:uJ/!Պ+$Iӟ,-(7{ky:={p_P 6wh̍ر$LiZj\|=ҥBuϟ֒,s7u,W~~qI^~e6@c<<<~IR֭t?تcǎ:qZaa4yy־[>>knn_\jҥ߿5MSVQVV#F'Ptte{ڰaւlǎٳ^z)33S4sLkz?6m|}}uY_~YIII2 CyyyВ%K/___=CԶm?wݕ =䓖cbbﯪ*KRSS5i$-_\~~~֭}]3Ffl2W^4zh%''W^Mݻw+22Rj߾z>@z駭k3jLMMLӔi6շjJ-RNN$i [*&&F?f͚uM՞={3hj׮|A?^[lф ,...۷$)##Ca^=zٳu믿w9::Zޕfmggg0 eddH-r5krrrd6oެK.0 ڹs Ў;tys63L[ۂaJMM%x9rڳ>5kÇ[|bbb>}H~?/TMM|A%&&jM///O_+??_m۶U=4n87RTTYfO>Qaa裏W$[o`"##d` 8P ZW-/7))IӦMwb%&&*==]ǎiӦiСMgtA͘1C۶mSuu>Ztn*I7nRRRlwu!G-Z|O/ѣGպu&\SO=%IzoŘ1c{j߾e=;;[JHH õ-Сڹs*++yYfi…W9++KGmR3n=7۴4=@DV=I Q"## B:tPWݷW^̼$) @Vjwu ,6u׮v޸85x We=zhÆ և^o)NO7o^~z]L\pA“VfRRRԯ_2%iȑz+""&Ozjne裏~zX²~5J񊊊j ߆t I X_$%%%Y:w={(44TrrrҐ!Ck׮&WUU9sgϞrrrF?P.](55UaaaFѣv?~I#F:v &ܹs}gΜɓյkW988}5jrss|$i5h ܹZ[KXSh>}H6o|Mh9e\E߾}M6Lzj%&&*11~"##e"""$I2M`4MDSLUXX?\ ю;4_tt|M-_\gϞվ}ԳgOEDD/eff***J!!!ڷo;'jԩ1cFO:UӧOWaa-[5kgUllTPPs*%%E 9oAA+WX۷oWqqդ{v!+''GׯשSrJ%$$mwwI:whN:Y} 5HJJaӉ'df͚haW̝;zpݳ]jƍrss$-\PQQQ7?;V\`9;;+00Pk֬ŋ5eʔ&uV[aaarttTxbѣ^/OOOy{{+&&FcƌQrr%prƍ{9aZ̆mtɊ<$Ȉb4A#vСx1&JQT, KlI!PQ ,[E?uz]׾EkWx (33Sԩ,ƌ;S~awĉ:~fϞ{LE!!!ZrLԸq:I&HiiibQhh,YZqjs}QZn]4L0Ai\SNڮ[Yn3ԩS'PnZ999N5Qӧ>3=Zw˗%ITDD.&&F۷o{>,,L[]tܺuZ۴iӧO:7##C...VHHݫ'O;ǏmڴIԻwo֭[dԙ+//$5mڴ *++s83[2$:޲eKIٳgkzwtQEFFG}Ѻulꊋ/+44T2 Ca瞓$]t}||l>I&oҤkz[QQbUWWך/%I~ms\9߅ .Rgs%I横C[YjjD۶m;J~~Ν;[Wg]ԩS'|] Y&`ʕF45 V%%%]_|QVjna2Mnidm bx mٲEEEEȐiٳuה)S4j(:tH2MSs̑Z(׳_777U2MGu(U^^RvcΜ]V$f]JJJdM0Ai*,,4o\ijϞ=})))κ,4MeggZf1cH233mƇ IY&"!!Ai*22^iin4h}K.ի|||n&LFĉK/5vrksti9DO$5mTȐaڸq$ڵk5~xhBaHnЮvSUUvewoƌ;TUUp}J6md3ڌ9{vw$ɓu)Z^nnn Tzz}ƎO2?KE=zh2MSժ9_x4kݺu6mV^q܂|}}5i$eeeŋլY39=O?J:{^u={J4ii̙WYYo߮ ٹN>]۷SO=LP|,Mg-[*'''IիÙ>Z|\\\4f:t#9l߾}4hC+WTJJJ'~4#G?l5^u_n5n0 4H?UUU5v!##Cah$ >\t]w)<<\K/0 uװX,7o׿UVzm۶Gq*ߎ;ԱcG%$$( @{6mڤEiҤIֺUVi̘17oZn;SqIRtttݻwOIIQvv ͛ueoڹs Ў;tEW_}0 ԩS2 e˖/DhB;v￯kNY핕]jРAjٲ?hܸq UEE ȑ#:;I>s>}׭[6mڨ_~N[)))pU^^ؑIY&?3ij֭ZnquImܸ2MZl$v%%%t>c=N … 7ŋ*((PVVF)0u͛7… ~P^^,Yӧ[sfgg{vN.]؍ѣ2 j]F@@f͚#G~ٳgyfEEE9}fԡC[Nźt钾 O[lxbή? MhРkz"7৅fF./^Ԯ]M]\]]mif(66VC=;w] \nnnj۶ IDATtR99sFaaae_l]yyy),,L钤7[nzwe  IJNN?<͝;W˖-ӰaÔ)S(77W/^W^yi"=3:u'P={Ԏ;lڴI ٳ߯'NhJNN /`rcƌرcu ޽[M4$%&&͛߿_;vԀ駟ZU׮]zj-X@UXXpeee9n}z@޽3uqq_B/S׮]b )??_<==im|徒SNiժUڶmj3g ???޽{EVJJ$Ui*<<\˗/ڵkke~Vjxyyi2MSUUUG8 Wvv֮]3gh2e9bS{eZsݻWt_KڶmPC*99Y*,,i vv$Ǜ)hӦ;?;wVvv233URR"IJOO״i4mڴFN0-YD999/45fEFFۤuĈկ~%///= QffթS'Y,3Fwy>ŋZ`.]hٲe3FDDhĉW5n8=JKKy /yzz[nR͵uV(::Z ̙3աC'NǏkzdX+W4M7ΩuS]]m]Z4o\WVӦM5f8pډ'رc;wbbb:hŊjժƏ3g=7rHw~iϞ=ϷZɪٳmwڥ^v85dnO2µ6ˤITTT4EGGb(44TK,Qnnӹ#ooo)%%E}qx5}}}Z[TT~̔MG8hfJ5|||dSg +55Ua(''GNa&1 ׫z6$g{#jg֮];}$͘1f/zգGhʔ)>ӥKϭ[uM6:} ,K:u U֭c}*&&F۷o{>,,L[kӧ>3=Zw˗%ITDD.##C...y>88X!!!ڻwNLrqYjpqqQ&Mi3ޤIUWW~~~lRtYIRqq^~e瞓$]tyj?y=zTQ>}JREEU]]-___&_~$ouxݛa2dk%&&ݯٗI]ܾYfd}7K.iCi۶m=ztc7#7GL~z5߅ .bwir$Κ+66Vm۶Uff-[Vkg8hǑfJWsp>c+44TcǎUNNNcGWAALӴiYi5e5JRuuLԜ9s$9cx mٲEEEEȐiٳ%1\]]UYYYg3G}zA,^Xs~m&___… vϞ9sF;fٰa7xC5k|IZ;v;f%0jlr/,,txr]IRV$Iuָj˖-Z~BCC5j(ٳ& nmH3+))i}XroMspqUIIRSSڶmh/jժUhpǎӈ#{iÆ ЀtܹƎVr$?N>0jJ/_֮]ǫE-ʮi]???8p@ԴiSEGG+##Cahƍֺ8UUUi׮]vs̘1Cwq)CCX,zem c$Jk@uVyxxw״vCƎgj֬YZ|y:ynFnf%OOOsz-I7M߾}%I6m&ׇ~hwszg}'I:ydky{{M6X,ڰa,bcckqvmTԩS6두 4iwTw}bbb4þ}ԥKK>>>0aLTXXX{5J'NK/QSZZX͝;W/ծ];]VO֠ATYYkI&)++K/^Tvvf͚)--MԤIEDD(//O3gT~~ʴ}v-\~W_BgϞ믿.4ճgOkվ}{=STqq ɓ'+55U}ԳgOj7dzo;>@.\СC+77Wiii uoƙ;VJIIQTT:kynVnfx@҉'Gꡇtټk PRR>#oeX&׳>7… :yƎ\f/,,L-[TNNC4:wTQQalG8Lƾ}$Izrh?nmE=zh2MSժ9_x4kݺu6mV^q.11Qꫯ4`}WDD*++'Yf:uv-0~zI-0yf]|Yaov)0c]xQaW_Ujj PNNN:%0tvŢyZj~XڶmykݪU4f͛7O[֝wީwyG?$)::Z]tuaحcuQ нޫM6iѢE4ie˖/DhB;v￯ki2M޺|]XaK.6Lӟƃg :TǏW``~_ŋڲeFUjg04c Ik_Ӹ3K0 ksϾ}0 ֺ͛k2MSصպn+ahժU4jԨQ/_|Qcǎ/((ԩS~z>RSSe.^]v0 !WWJNNVլY3o߾ھ}5{W^^^z衇sN k&0T^^^g.777mVQQQZt_NNΜ90/[&a˓$;wNǏWvԬY3hBqqqڷo$٩SJl $I/;S߿6lؠ˗/ԩ$ipXxR-\Pϟ;gfLuYTIIIPv5m4M6&L 4|Pi4MUUUYkԵkWXBiii.OOOEFFjNya+;;[k׮ՙ3g`M2EGi0`<5}]k{*""BkIR۶m?tP%''+::Z2MSU׮]zj-X@UXXpeeeOiwrqqÇ"Iruui ˵vZIRbbk޼y*((ձcG 0@~]6m we."0SN0 w>כo+W5Qw p#,kHsW_}c֫]vӠ8h3fPBB Hv1qD;vLsULL|||ԡCXBZu4ihY,jɒ%u:WZZbbb O>SUkԯ_?]|Ysq͞=[=,BBBrJqYkU]]ٳg̿k.}mݺU!!!4sLuС֌>>>2 éƻ]vcSNmō9RiR999zꬭi;h 5r9ѭ,fpgݺu~ٌ)22ReeeڼymڴIԻwo֭[\}$)//$5mڴ޺[nrqqܹsդIrqqQLLxppBBBw^}X֦J+WZܿ `Ziq|;w6[0 uҥ׮SNv껦Nؑ722 èuM*//ׅ 9sF:nnnVyyJKK:aÆ)((Ho***4k,=Oh˖-***RFFLT\\fϞmDiZy 2MS}õ~*))QIIV^-'R}݊).7o.4?ۧ:벲(4}k͚5673Fi3>dȐFN h 4p?`|=護ޒ$ 8PqFg***uVyxxwշo_IҦMluAܹ}Yw}IN>u1MSժgXԣGqssS``6vn(ee<:tN8,=zT=$i;>@.\СC+77Wiii rx^{MJJJG}R}7>|,zgqF]pA'Oرck,e˖qhviڵ:wTQQaӾ}{=STqq ɓ'+55U6s;VJIIQTTZ|W_BgϞ믿.4ճgO}Iz~~[I֑#GjmDݎݵ|rh̘1:tPcGrؾ}4h jW\Nո^py뭷e˖ƎN{կ~ƎqS͝;WFҽޫ{$kϞ=:uƏ'OSݻwז-[jmX+++K/ Jw}zW4gmݺUahĈzxxhذaZlMqɓj޼y}駺;ڟa9r^u>}Z[&aCa̙ݻ+""B{n[3}6mu sZ~΢y>|-ZZkǎz7Ǐ]:tТE4bu֩M6ׯS Gee$ͭ|[))).]jW1 ڼy4ip}_VV&www瞓$ڵKaH4i:QPPiӦi:qℼԽ{w=zGk]jY%97W^yEwֿo7N-3 uc3o36ew޽=iӦ֭[_|Q_|._nݺiԩz47,~bl5տ/EGG+44To .TrrusQiĉu6ng;wTNN|Au]JOO$mܸQ<򈒒lDYFk֬Q=TRRT 0@۷oWDD$ ֮]p;vL&LБ#G)s*<<\zpm۶MኍiREW'%%^o,СC_Z_c„ 0a,:uꤝ;w9Io~]tI/?H6tuuio~D=O3 IDATtI3>>СVXVZi:s5eu;OuuLӔi״͛kjڴƌYېgѐPrr5{l]vW||3/^Ԃ te˖~34:כo+W1c]@(>>^_G*((Д)S>LGݻueIa۴i$w6Ϸnک?rqqQLLxppBBBw^$>}˺u$IwssSddʴyfw\?X wxOW޽RSSuEǫֺ<|zP-]T3gjܸqjڴ3^^^ԩXhhZnk؛GL?)i^՛e #GiTNNxƎvLnݺ>S||\\ezwtQEFFG}6, ]pAX,vsllYQQbUWW׮_~)Ior%___͚5$UWW_ܵٛI9Ցf?~ Zv,n;K.iCi۶m=zt~~~׼gϞ>q4c*''Ǯ0 =ڲe!4ٳgKrQXXt6gtss\]]UYYYgG},7aNջWp3gH9վiź{oͽ< 6LAAAz7TQQYf'2Mnٳ4vzfN:vF{O6l sM*::Z2 C7nWi&ukqqqҮ]͘1Cwq)ˍ~{[oU3$3 mݺUݻ5q;Y,{=yyyiv,rssرcuY͚5K˗/3]wy… :tq*--MAAAלɑ>={T``v}~,$$DkȳرcᡔEEE鮻W&MRVV.^l >\͚5SZZM p2(ooo}W0`k+""BOԬY3M:UcuQ нޫM6iѢE4iu+++K]vՠAԲeKиq #G:9[l/BJLLT-ԱcGZ~,IȐaZ~$CÇ$G-Z$aJMMOII$3fH:wz痤s׽ޫ!C(--M{okϞ=:tƏ@׿ŋe5J{n:קJi4zevb.]Z;l0OoȳpK0 ksϾ}0 ֺ͛k2MSbѼy׿UZ?,m۶M))IIII:uVZm۶iСuט0aLӔ|AzUUU>'IyyyڵVX4?"##xk*9קgϞ ݻZș3ٻw"""?QW=s 2%K(''GeƌH%$$nݺU!!!4sLunҤI***RZZeX%K(77r:;ĉuq͞=[=sAVg:\iAd)3:i5:KoU$(hp* [D' CL,*ٔeD QLAɨVHC }]{i.M7G:}*/<΃>bӧ*ǟg}6۶mȑ#V>\e˖e̙ͮmͰLV7o^F_ҡCf~y73z#~à$ٳgOvܙ.]I>}8[Kkٳ'555Oeee Bϯ$~gsw)IR__ȵu%M~?$7on[s6J['Pje³> 2$^{m֮]dOPUW]gپ}{.]bq宻Jt9ٽ{wjkkضm[fΝӳgϔe޽)| _hqV(ZsΩݻs&oٲ%IҷoV9[9XO\K{ʰLz뭷rW__ooڵk.䒼{3j3L9,]4B!O{m7ٳgO}y)9~9c3s<өoL4)ҚwqG }kYlYjjjm۶{ UY___;3+W7Ygug 803g?;w_ϕW^M6eѢE9[9w| g}vz_|{o\wuy'sά_>^{m6mhXfkz°Lf6mZ***&\rI^ylݺ5F޽{_":uʭޚ$yrꩧfĉ9csietM u +Wf?~|铯|+>}z ={P(dҚ}K/cfڴiݻwN=?N:=R(68 =C0aBpt˒$?ppR' 'aGBpܹsKJ+Ю::|̰L>1 ðL>1JԞ~RG0ٲeK?RLSs-uǗ:pez۶m+u|+a1S&:u*u ::|̰L>1 ðL>1 #̺urgǎIo1/.q*he_9SR]]](?k֬ɰarGI)SdٹKaGyVX,>Ǝ;rEK_RMְ>hР,Y$v[z&CgX&UQQ7x#O>d;͛s-4*Ǐ_aX&bフ1"K/4ׯOI hG3rȬ^:ݻwUW]gٲe5kVN?gԩ8p`|F϶yofԨQ֭[FwqIQFe9crqe+hѢرc&O#G{3fL.¬Z*[nmӞiӦ$Iee~ܣG p$2,-_},v:$++u՞={st%M~?c쯩ITVV~ 0m=z4ޡCt1ݺukޱc7|ov}555%Kdپ}{??ةS$i8S{w.]${$K׮]> h';wNEEEvܙ&}&{ڵ+eeBp9ۢFkmᢋ.?E+qB KXlUN8!Ilˎ;R,C.$o޼9zƍK]]]VX礓NJ]]]Zn?__[-jVK{>裬X"}͌3һwav:yߟ$ׯ7lh/ hG~{=̜93O?tjkk+_jdwܑAk_Z-[l۶-{oog)++ky;dʕy7sYg(c[hPu1F͛~7[nͮ]3{9yUUUӧO֮]Y&IrYT hG ʕ+3|?>lM IDAT|Nٳggرc}K/cfڴiݻwN=(B!w /P(ˇ~Bs\Bɾŋgԩ~e+2Ir9dذa=g ̟??I2tTWW'i. 9?xz$?~&N&JHT,w=zt;i%GyJqp4P12Y`A B B P86ҥKz[._|qvq>z}4;Rzz7fm 3,æ6rJKnHXLUUUIsĉS,3zFȿf͚ 6,{nzg{y>)=2eJfϞoteGXL}}}KرcG.|K_ʴi'àAdɒ :4C _^H@;3,æ"oFcBwyg6oޜ[nѺpsgܸq)+Op4P'WX}ݗ#F_~çإ^'(u N.]Byr嗧W^ k[nM{1cFN>t){θqf͚z ,hxnYjUFt-_bŊV%Xn]&L+W]uU>۹袋RQQN8!SLΝ;[gmZc{Wsr[y ˗/oX?{ַ~;&LHϞ=ӫWTWW7gcǦ2ݻwYg^xw=؟kf˖-jl̚5+ JΝ3`3&?яk׮k|n˞g٨&MJ39zz'IzecǦX,K.IL:5^{my睼رcdӦM>|xz}ٶm[}l۶-#Gʕ+$7pCb}|_ϭޚ͛7Emۖ>;=\s̚5+7y,\0/g̙7o^6mڔs˷i-埪͵^n)6lg/̙bݻ7zOX?i̙9sf6lؐŋ?yFȑ#z<#ٲeK̛7o%5=8W^y%I2`Pξy >~weeeXs>{[YhQSQQ?>sߪHK{=mm?ڵkww):ujF'6{G) -82 pq\_ti:tF}/g~޽{N?FkC I~v}[jذaoƍkK.1bD'$/_3<3~͛פӲڵ De&ݻwogϞԤ>) >$=׳g}O>Iw}Yo=z4ޡCt1ݺukޱce^R(8P/[N:%IC={dΝҥK`ZۃҥKd޽~O5555ҥK***ZhiۣZ{޼y1bD~_.KYhi]]]v>>1JӬsٳgjkkk׮5k&C?Gfe?۷"׹sTTTdΝm2pp۶mͮӚ 'd}:T;wNeeejjjsVwlݴCϦ&C ɵ^TUU5{4tǎ) ѫC|ڍ7.uuuYbEϟN:)uuuwޝUV5Zlܸ1UUUaremmm֮]hm<aÆF{7oޜ!g $˗/ouּkͮӚ>$LK]zI'|oCu]w-{z(z\}ۿ[vK.$^gƞ~IeX&@q4hPeٲeɶmrv,XFTVV榛nʕ+fՙ4iR:uE$ך^v=ӦM˯~sƍOOoӧ!gsf̙yS[[4iR۵RUU>}4(ږ 80]w]xܹ3ׯϵ^M65kcKniO'MBzYgonڌ;6 .__O#<7fٻwQ$YfMC.fX&@;yS(c%IvBd_>}K/eر6mZzSO=5>h{\~M)//?s 'oos1?y-zk1gΜ^:B!O=T> |; /B{.~a BΝK63iҤ6ߒ^.X B!k׮MϞ=s]we۷>{[o5'Oߞ>}+_J>}￟BoqgJB'I$ɠAr ><Ǐo?} 2${IPɓ߰aC BC=կ~76>t}fժU0aBO^z3|>'tܒii[M6<'tAӦMKEEE~K.+[fԨQٻwo~_SN[ʞ&ɒ%Kҿ\x+pd+bCC= &HO?=[nKO <8չ{Jmׯ_/__J稱v :4<@&NxH.$?pR'>*++ӟ4lْ7|3}:Q{mݖnQİLV( ̝;M߹` ]66lHPȜ9sf)'CkO?=z&'\߾} /drT?~&NXaTVGbxy 7nhӚ8 O3,.]Bٽ{w#Vmu 40`A? t}֭_;v*'ݍ7ޘŋ: 2Zaر)KJ$Zsڜr)nXR,SUUլ'NLXѣg͚56lX=ѣ$SLٳs7: RӡX,>;v䢋.ʗL6Sj ʒ%K2t 2$_~y#@P|:TTT7ȓO>n;yr-O?>_}Jڌabフ1"+uK/O: 2͛3a„3zJuuuxF{xs9۷ov!CdѢEOl߾=B[omxOǏPˌ3r'SNݻwƍ5kִ<~f͚As0`@ƌGٵkWϿtFwݬjƎt=guV^x}]vmlْF~Mj_׭[ &"zUW]> ov.TTTNȔ)Ss&gh=~IzY#am`̙9sf6lؐ~8?|F{/_'w5\YffgϞ)9ӡCϜ9s$eee)9rdx<#IM6ey衇rwg۶mygm۶92+WlY6oޜÇ'?I-Z[_ΨQկ~5{o?v\r%>#Gի#d˖-3o޼&-W^I 0O.^8?[uW=k֬|͛p򗿜3gf޼yٴiSΝ/ַ5ؿFgam`9rdw>;YjUnhߨQ2{s192}\yYhQvѰnH}}}FϯX"6le]ְ6{[.wuW/<΃>bӧ,g[oE:93gΜt馛},Z(sN3dȐ?̦Mxu41cr]:ӽ{\uUd߆뮻ٵ\$Y|y[^ks\dU[h=nذ!?; 8 :vQFew[f׮]ygr=k&3gNƎ7swdРA׾e˖&۶m˽ޛoY`Aʚ;su'Ν;~\{ٴiayc̙3O6o3iҤ7_UU>}dڵաj=Y&Ir[.8 h_|1B!=Xk׮3gNP(dIC:IxL:5ӯ_ 80?sW&I9 6{***r5פX,g>}䥗^رc3mڴ;zj}'tRϿt&'M P(dڵٰaC BCAeʕ>|xƏ>}+_JO!CdϞ=)  ̝;dɒ?^xa> bXCe„ #G <8չ{J]]6C<':1.$?\$~<ܡ TVV?iy?(uvofܸq={Au 2tЬ^:˖-ˎ;J]{ケrm: 92>% A?s-u6q'O=J]̟??'N,u heQ,K::|̰L#؃>BB.],ǺurgǎY`AC,SsxYxqcaG'X,fM~)vͰf͚ 6,{nzn!b1UUU޶2eʔ̞=;7|s1,3,u}*O}}}k|;vE]/}K6mZSJ ʒ%Krm塇*u3,(UQQ7x#O>d;͛s-;?>_}J> Ubフ1"+uCv饗fy'J> h P(?̊+R(R(RVVh￟YfeРAԩS9\pygZW_}5cǎMeeew:+/B}K.mT({ܹs 1cG?Qvլ]6[lIUUU2 l޼9I{eƌ9өS;ƍ˚5k$۷oo쭷ޚ$?m7tNdjX-4Jd.fHs5aZii(&2ʑS)tT>[OTNu Ǧ IDAT{~?x5Z˒$;ҽ{m6;w%\_~9;vhOO,^Y2[o5EQC9眓(REop~H>}2{TUUλロmۦ5k/ӷo߬X"3}s=ꫯ6lXСCٙoȵr/]w]fΜ٬}I:YGI&eKQڵkjkkӧO̝;7ӧOO]]]|եo߾YlY:v옢(2pj*_~e&O$)++KQ۷o{̛7/I2~Ri% KI7Zoݺu?#/nvE%Ih#uE5٫ĉUg֭I>x>}iժUN:~uuuZj!C4Zڵkz왕+WfڵI /0zO?_~C= &42hР;;vl/_;v4ׯ.?hðL>6mJ6mҮ]&I~6oޜ6mڤ~.]I=ѦM$ɶm̆ 2lذuQɳ><W:tR$I⋆g&N=ӧOO^:oFƎۨi3d͚5߿ڷoA5 ݕ۷|^O J.[n:d֭ټys'Ivڬ>[Nvulٲ~]]].wK#8"IiӦ=SVV%KdիWnᆼt1eeeٶm[kx檫JeeeG5\N:5~Wgɒ%ٸqcSE)S4믿({-ðLжm O:<IK/4IpF_Oyyy^]tQdѢE|ͮ3׫dw޹[~rJdڵ۫]v֭[***/"Æ KmmmÙÇgy<裏Znq#<{.7|sg;v>,IrgNTj$ɺu he38#Ww}e˖e͚59s$=L81 ,͛z\y啩MUUU*++KΝ3qļkٲeK>䓌=:ͮ3-ܒ fYvmƍF2wwN;-]tɪUcɼyO?eᩯosOMMM6mڔ̜93w}w~ᔕ55nܸgɹ r '7ޘ>((M~I /Y2ԩSsꩧG9rdңG$I׮]gԨQ馛r衇欳o%Knأ^|-[>}.K.]rf„ իWS*2f̘TWWT*eI=Q#Gf„ 6lؐK裏nvzw7<3gΜJZ*֭KTԩS|/۶mӦM=:]t{waÆe9ӽ{⋙?~F]va=ztȤIvzt=W\qE:w=zdѢEy's79K/[n,>(Vcy饗ؘ֩ꪯVO?7>0p@x\B!AB-!.3|ŋsQ%lKOO'88X/44wy$''_uz؍7{777ÉG҂>>>>/3FyNCCo6VRτB!4 BADDGBŋ : ill[?ÇN?M>#&$$sssNʦM:W]]믿ΨQRU jRWp#Z-py+:%%%hZ%,aڴi;v WWWZ[[1bs)}„B!4+D!rI"""ضm`9r~{N oՁfԨQ,]???:R ""V8?OfϞͿ/yf̘CXjJ|e˔ vWRT}ΎǺF>|͛7\uFa˖-|/0x`1cXXX`ff)cnn)&&&caaY7"B!I%B%[laռ J輡?!Ch"oi%.\ȶm066fܸq/`ggiLGeذa3yd011a6lɓ;w.{E___駟fx{{S]]V=o>V\ɂ 011ѣ|'7zF!11S/)S2|.\booOSSSc3#GPPP@aa!w}75:ܬ^z?|TUU)&)믿VN:cxyypB.\L+//gŊϔbmmʹipppwߟ? &tW5ZZӧO3j(ej/_۹t<$&&󥧧SO5/2K.%66J=GVz{Wyou?#?0ϟcƍTTT\sٳg3w\;Ʊc8w ,7{+=]RRBqqq.^إ GGkvvvҲGI!CB-!R+U}vOzzzXXX`iiL0`Rh4Bcc# LKW???{eݬ|;wCBBXzRaiZgŋ)..2vii355 \]]qttgggpuuS5B!<~(B􀪪*(//W .tVu* kk.3©TTr***Riejj-vvv舍  4kkkRSSyIWW;;;}nm.zրnj`͚5͈#4h<[Ronnz]pbJJJ(,,$55b.\,T*J;nnnH%B B!CVw ʸx"/^Xuʀ̌*}~:nfffMMMejUQQ՝>qZՕ;;;_{ll,sR*=FFF i̛7M6y* J1jLA!fffXZZbkk ...xxx0l0qttDGG'/ǴRZZJAAQTTDII SPP@ss3pёAiVbԩ <F)))aѢE׭jllsΑJAAyyyPYYImmRx1bll ʠApwwWWWا@:#??&++KͭS񶅅E/_Bѻ$B/v~SUGGG%Lrvvr!555p/RTTԥƦKNNNcoo/[mٲp̔&N|5'VjiZ[z)ںLҜ9sPT3deLj2IMM%77.\@YYRt>o* CCCLLLggg% ''>aUUr])oVVVJÈ#`U!=OB-!T 4EEEZe⢬B 8ؘJKKcD1366Y ڏPX#v+aϞ={ϕPjdff2w\RRR*=Jŀhll.:{СCTWWckk}Gpp0<wdр:'55,gŋTVV*_WÀNi>dt}\ ==L222(((@բ;C oooյ_B!čPK!Dh4KaaafʅJҢ< ggg\]]qttUYU '''(//W_kvv6UUUq Qެ׻MFFΝݻo̜9/Vseۼ[J0eccChh(֭Cř3g#--˾}֖'2i$Mko],%ʢR*++4]#R*\]]('''2/_dddAff&222b >#G*_,aB~GB-!ZdͥAJ <<yӍ%j۲e աV eڵZZZ?~<3g$44#Gvuʿ{EEE撞Lxb^_`*0}}}lllptt]zݱ}}N!׹s8s EEE 8___F~~~ 6L>dBqGI%qΟ?խZ]-kձյW&2qHHn̛7;;;?~۫׳{nn)++ӓp3fm?hll2:99Y0ŋTWW+T*tttkwvJAWWW\\\ݽ K8wLRR3tP1b>>>?{{nBNB-!(..&%%KДF}}=py@qmՑKnn.999ch)2344쭗Baj?7j~Lݝ>ơh8v7n$&&< Bxx8=Gs7l999?ʔKRa``JSeaa  gggWWWnkpiΜ9ӧ9uرc)BZBojrssRmqbȐ!6tP嶙YYY\5j_ .O-Vh5hР>Yyj?7j2dӧO1iZ?NLL 6l //CCc1|n?gqubvv6(bhhJS/CCCY]舣****̙3$%%q N8Aaa!B1c`nn=/BZBǴOrr2#%%Te%A++.V훳3EEE:Vmu\5WN ?}_~~>7n eLMM{ [ egg3hР]Or1bbbwDDD0ol٢4o%^ۧ~6mJ~vB;Mpaihh`ĉ,^0 z{ZXYcoNN XXX0`T*---TWWب777\]]4hʊWRqq1vq[ 1!]j !DkmmU«NXMMM>>>JsSZZڥGVrr2%%%[ÇJܔK֬Y|]IRZ64 dggK_?џBظq#QQQ߿kkkq,Y°az{xIUUU\$//O200sss immre}}}lmm;Uw\~9ѣGIJJ;;;0a{/cǎj.!I%ݤTΞ=,LNNj}}} ˆ#>|8#F`<穫{>YUWnnn|vj5kְk.;MCHOO+++ظqU5ꨠh rss 駟UʫcWipa &&&F]]zYYYujL}}=iii򘞞!!!SRR²ezd F סV;Fþ}شi666̟?%K(%&++,CCC\]]ܜBMM UUU)=%;V{988K}}=EEEdee0a<?~~~K!H%Bpy8ubWeDKK ts)V驄]#FP,##޼T!:INN&::tuuQzn?{16l#g`~~>9_~%eeedٲeUƜz+++ hnnB' IDAThjj.PSSCss31qDBCC7nT9 !oZBh4ddd(j8y$5553l0|}}1bTVV^su+CRu%:Ν;Yv-nnn<3sLe .so7߿8⨪B__FZܜ|,,,{g}:z)>nxxwPT >O>^ݢ͛7zj:رcY|9s̑0Q* | Qմq%RSS̤Y9JwwwB~DB-!]Iѐ%C__QF1zh\]]1004Μ9Cnn.ZV5|peaDQWWǦMo‚o###~tttXhQQQc=ڵko_~~>#..ݻwSVV 7W^cpB٣<ny+66ٳgjEV3}t֬Y{n| O?4K,QVxQ__\5d<<<ʊZ@AAA .4h7wppKBq j ! /Ju***gС`kkLWh_===9r$~~~デ|/%FÇ配L8̙өSzz:>>>h4tttX`}:::7u .~Ǯ]ϿZZZRPP5aѢE466*S$U*6l`75TPP[ PT˼ 0Fwwgڵd-[}oMt#FCaa!ϟ'## 77W ]\\JEQQ5꒟e8;;˪BGH%ihh 11Ǐs1;F~~>* ooo~/^$11Qy>m_{5f#U&Zny~֬Yl޼g}UVښ6oÇrVi}5{ W} w^kSNw TUUu_WWV^ݫݦ??ձtR^|Ez{h]Y>c]uuu ƏϸqprrKX;++^B%+))!>>9}4mmmၥmff&j )7nL+9O|ל:u 777͛ǓO>ׯ>jY|9+Wq1|v~[[[Z//*:RTjם?={(JRnhx裏1bDo̺ux7a…+{.U]]Mfffʮ Ҕ~?x{{DXXTWWw ʲW~-rsso!j !VKjj`ǓXXX@qq1MMMၯ/FbԨQqӧ/ټy3aiiIhh(pϡCx饗xw{lEEE̙34&NȶmhkkCWWg},X+ᐾ>jZi +***zl7^cʕ477&h4Vj3׿++]?{O-qU4>}{rԩNS% PҒMB-!DVIJJ:t*++100FCyy9j333F͘1c:( ---ڵ~'j5'O&220 nx;v`onۑ@xx8ffflڴ?5kڪTiC?e˖)paܹӱǏѣG{l7cx###Fŧ~ʉ'8r$++ V -Uz֬Yʕ+ijjb,_\~k"66[rqARVpuue(_}||Vq*A*o#F|BZB>Epi8޽{K}}= @__:Z-֌31cp=0f "W⮓HTT=L0pqlllnce˺yg޽;XXX9!!!۷֬YÒ%K婧b޽2vXf̘ԩS3f O<@WW\tuuy{l7fk׮eҥ,_7|SҥK=zGr1x7zcw:V^ͻヒ9o6E\WNN;v`۷f\\\CVMmm-92jBaaa)Wssst]q!oZB^ݻٸq#Z`t  ?_py|||'22[TVVv]_š5kرcSLQD82\\\B__O>UVԩS`fff :TټS#?PKo!11K.Wgر0n8Ə~/X={Mll,zzziJY̜9Zbcc;vlǏ9½ދ;ϟ[j:)))8;;uVfΜ \^qܸq=r-7kŊ;899QTT\~===ٳ_|d-[嬨SYYɮ]ضmvOOOx{$''ӧ9s Ν]]]<==S}___0וYjjҫ}+ $p}ZBn͛ٴiNRB,=== f޼yJsS!h8|01a"##yG155!ޒ;w2o<ƍܗ_~ɢEo:Up]3f 9?0pM>3m/66Vyܿ{nNJTT?x/PFg}+~!=,яj=ʶmۈ%-- ˜={6'N}$&&*]h077gСJE?Gj|222HMM%554RRR(//.Wwy{{3|pΰaӳ}"PKq[4 gϞl߾Ç+MPuttpvv&(( ˣJNN&&&(rrr!22'xPj*^xz!Ke5+-_gPs㰰0Ο?ϩS7}Zq;=l2 :th/P܌ ./Mhh(}QUcbb8|0LWWJNNVB4}}}\]];n&AB-!Mikk#11Co>:D]]:::h4 "223gb``C*..&&&pqqa,XѣGn[ss3O?4Ѽ;KY`=} aΝؘ1cHJJ;;;-Zeass3Ǐݏ8p~B^{5/_.͉nϦMضm@__f̘>ujV.={ӧOVUzur=ϨQnߡ233;])))\:]#F`Ĉ8::# :9v9t 444`hhH[[#F3sL|}}{{Bil۶(v܉ 3g$22jT/^dܹm:j5'**M6”)Sgܹӧ C__͛7sձo>y8{,^^^]sЊ+f>{8mKNNfrJ?fBjѷ׳o>bbb &Σ>zC\גM||<$&&rIgСJ.~tE~~~>JЕٳgE .B\ZBRSSc߾}8p*6l 9sZĉ ,,L$''_ͅ '""te?# ,{O166nPUU .w߽>{țOڴi]qVˬY8y$O~_kvZ{{X7;v߳}vZ-SNe޼y̘1?4Qդ)!Wbb"III466bbbѣ;]7ңj:KNNVΣ'حK"w2vŞ={sss>lmmȑ#h4&MC=DXX=t!;֮]Kzz:<#,Z!Cz;kƟgjX=ׯ'##zii){~QPP1666ŋHLLNǏ'""2>#} 444}vصkzzzIXXXU;)JLL SSSe]mmmw ԛ)޾[S?H%]@Vsqv;HJJBOO@BBBĉPSSäIxᇙ5kT q.]Ė-[&..+++ΝKDD)H---,^og}GΓ| O>[__I޽S??z_]NTYYɶm۔Kӻ}AΜ9É'8q;w6,--' @lmmo\W[̙3`eeե+ !7 x"`޽lٲRݻwÆ jL4Hf͚u׬`WUUŜ9s_n!>}:eee?~7?dٲe|$%%1t [neѢEذqFi"/6nܨ̜9s'((ĩSHLL_~رcjR{w#GvVPP4?{,Ν#55fs=&$7ԩSl޼[wSNeڴixzzO?vZۇ5'߿/DHTT}L0Hy{{xwTvv6a֭3}G\\{<}Ess3듐pׄUńs+{{H.OVVÇgDDDܑ*++9z(Gȑ#;vZLMM~DŽ Jzz:gϞ̙3?O +E:~8|2uT,X@hhc#㕞YĤIsN[NNT1c?PK~8mFll,eeexxx(}hZشi<,]77޾ !J6l@TT 8991w\"##Ƙx Y~} ڱcӧOȑ#>{8{{8|,^qƱ~zCwlڴ 333YdIV^Kee% :txN8Akk+nnnO̙3JΝ;Gss39S#Ft۹NB-!ZlٳgFXXʾ.]bڵ|dffҥK?Bܪ&niP"""6mZןhZ+xo+VK@@"VˬY8y$O;~#N<ɜ9sPlܸEQ\\Ltt4_|ϟLJH|IzeL ?~ϑ#GƆ@8q"; ,11Q$ߟ@7nz~!I%Dվ,ikkcɄe՘ .j*j5g׷@Apaihh`ĉDDD0{lLMM{{}BKK O=~-Vg#獉G!)) ??;rξŋHLLLoGtJ͛Ç6mZoINhmmeDFF}:---l۶#Gޱs]zd,[/$_楗^wqM](JKK6mK.eԩ=>Fjؿ?СC”)S. IDAT2e &MƦGǑѣG9vGɓ477cee\`ii٣cLB-!zIAAQQQ[L?>8;;_yǏgŊٳ^~efϞgfİc̘1cȧ_~!44777nzG{2l0&Mħ~zۗ577> '7fڵ,^>쳻4 cժUl߾'''-Z3׵W"잹fyv "##BYYC %,--U/Y?D!11(++Call\Yի%I^zݻwرc(,,Ĉ#O< pA|X~=Tĉx9 &q~~~6mƏ HÇΝ;mI{n… 033ccɰyao޼A`` <==qU...0aX|hii666055"CBB+4o޼ejjѺxQĤ!!!صkbbb_'N$pwwѪU+_'Npx!?֭ƍGGGt҅u<^^^L 'Nĉ]{`HKKõkנ:Wann޽{#,,ϗI+'CVVƍܹsmueeeCDDÑ-Z`ȑ%TTT-H$BFFFHX@II 033oY,^:s:t{G0d8;;ֶ /Ŝ$˗/\pjjjҭ܇D"̝;>>>ؾ};f͚,K߾}ѵkW8qYŋՅ!Xڵk077>BCCy'?_~>>>x!,,,0gXYYI|YYY@DD `bbkkkڢcǎ?D||<pY<|JJJ8p`h.>dՑT8y$1e̜9ZK߹sgƅ 0axzz}e%%%?BCC! accGGG >ï899!44~~~ppp`󰰰@rr2 ,$ GGGq81z*ѯ_?'D"N>ݻw#22_},X'''ٳggA~0vX<\֭[|_PVViD|a1E-lٲÜ9s0~j*P\\ {سg Ę$CEEG˗8p 0~x(++(^|ѣG###!!!011a"ϟgCR̟?+W_ÉAZZa``_rrr#q\dggcǎؿ?5k)S m۶eD"<{ =z􀽽=ƍݻ3vMx"ѩS'XXX`ذa077:|WxQjwww$&&K.u9wfΜbJNN%@~5 ϟ?ݻsN˗/gZrDGG#88+?mmmc„ Fp߮^Z9~ll,D"0tP :ߪI<^j(//G@@ݑ kkk,_JJJ|rxyy յO"00AAAHHH&Ǝɓ'COOuF'33#F@qtЁu$L0z*_nܸ~aѢEX~=83f̀'8WgJJJ-[9r$0tPѪM$!..'Oɓ's 8'NiE p޽{PRRaccѣGWiA+kP*"mmm dmmM)))5VVV鑲2aJ,EEEH$--M***HaaaT^^:^KdjjJ/_dݻGtQ$Ү]H(Rtt4(@ ;wquN$QXXӧRYYh5"(..Yf$%%EC%___*((`nݺE^^^dnnN222$%%E&&&uVy&xW%|}F||<,Yd76mB.]j=???̞=ݺur\v,;v ljSvv6~gBAA ,9sмysj,''ǏǡC ===k0 TTT -- ለ@jj*aee{{{4נ˖-áC wwZOX|=5 /^c0dȐ:Jq ǏÇիر#ƏSѣG1ydL>;wP(dGACCuKKKёuNL0|pܺu /_&H'Vؾ};o))) ***Jjj*ۇ#G@JJ Ǐ :;qIʕ+hٲ%ƌ{{{ <|H5MqEAFF0aB/`kk: $$;v0? ?.\UUUX[[ |pك9s`pwwg=}E=:J0|8pW\F,//*bcc!//:ljׯ{nxxxf’%K:Z͛7ѿ̙3~muWjj*Zh1cC ᫳r8vγfBTTOm۶ɰP?#G -5<8w H 899a|h<<֭[vZ"ԣGrwwϟ5r5Ynݢ޽{mݺN >p BZjUm;uڵeڵt]ѸSQQA#))):x 8U\\L:Jk. : 'fͣf͚͛7YG8& ˋڶmKJJJ4w\z Xu˗Nڵ#YYY4iݺuuDE'N$EEE#;;;:}4D"F~5IG̙3ѭ[78qZZZuÇcԩXz5֭[Wg8pI!11mڴ=add:"8r= ;;;֑>ĉpttģGЦMqѣG#-- ׮]8HJJ|sMVaa!|||m6z ...Xx1ڶm:Zѣضmܹɓ'c͚5Сhk}| -[7v97o **  4#FnRL0N:U[ }''с!Xݻٳeq8bÆ x%\]]lٲFQH@pp0VXbX~}pΝ;_o>-hE-ɸqS:tF ƍÁ:qu(--6ѯ_?ɱVucǎERR"""ϟ}÷~[$%%ѣGbNc֭زeKDA}|ξ}0k,DGGظq\ڵ ?VXYf5BKKK~l޼?>-Zeee>իWŮ]p- <sѣʉ\Ͱӧy4h zAoŋԡC*EEEdnnN-[qdǎLEEEU~;V*P.]~IYYڷoO>>>f!Bڲe Qvߟ***X :{,Y[[P(Ν;ӏ?HqFkۇѣG .\@ǎtptt@ ѣGtz@@E? :t5j\gB__u*9y$P1Gu //qѬY3,]7oȑ#1{lhkk7۲l2ܽ{vvvI sƍ͛7}pqq7XG$/jqVyy9̙3f`ʕ8vXoذF-|qSRR{{{ 22Rb ZHHHرcYGFm۶pww?q8AԄ222ЫW/7 B\\hooo@NNprrYG,---駟p% vqkZxQk`ii ___b… شi<==ѷo_q!%%%;v,%Q}ЩS ++ÇqaffSukpk"99rrr011_:Zqqq All,kx{{uRVV3233 yyy=ݺu7XG ^;w`РA}6bcc1zhc?9sX8R!!!U` >JJJp\${nܹsp\տDGG#** /^@޽䄜jpvvƒ%KXֱD(bСGZZ̰|rknnnx!\‹Z\CMM )))ӧXک  )--رcH׏ujGLL 쫯²e˰qFqq4tP_~5k֠uZQVV233ѡCU.|||p},\AAAڵ+Ə$Fc޽9r$lll֭[-$&&ѣh֬8#p9+h@hh(XGFoɒ%%KXGOJJ =n߾kb֭=*s:u CRRz???ֱUVXz5߿_~޽{cϞ=x#I<"Š+0k,[~~~[{999Xb/^޽{z[кt"##ѿ֑j$88C (㧟~±c$#cM^^K,ݻwakkI&HLLdޒ8n8|[dee舔`Xx1Zn '''\ruD'm۶a߾}Xrۜ={6444zjq[вǥKp9-h **zqh̘1y X8ѢE x{{?" qEooo?D!>|||ooo\v ۷/'rUËZ*(( N80L6Mm 44{쁂8{[ЊŹs0`֑j,""就a///dddߟu8zzzE@@~w[nEya066ƍ7XǪ͛׮]CJJ 1o>>|D NjZǐ!C`jjz}eԩSM&"Œ3piaРA#ՉM6p\dBxzzq.\IIIcJ~I&x%Xu]vXj޽ .D֭KM/jq;v,p [ׯ_ѣGe[5M-/`ff:N "={^?8TUU1|l߾\rk X~=222жm[aXG1x{{#<<.]B>}:Vz;֓'O퍜XXX믿ƺu*E-ĉ1c >|eЧOk'n'N@ @ B1q+V7aee:NIOOǓ'OxQ ~ʿ۳#VbRRRرc(רtΝÉ'pIt ~~~cՊӡۛu:ggg#33ؽ{7`aa _鲱E-A̙3xbl߾^ۏo-[{'n~-@xzz{ŸqXǩSgΜXGi-Z".(b 67osp\coo[n=%zOVm۶aّ IDAT3fDB=z=;hhӦ \\\:"5XX|9~'3ɰuV`СLjYf022b>kX`~GL6u:w1B!?ģ -***gQ8QRUU7.\;wW^رc***XG@777DEE!99 @ff&Xb#''{{{Xd Ο?]]]ׯY?"¼yrJ8pgΝ;8}4,X}~hͫWo=DMM f͂7JJJXF ׮]üypB!;;u355EJJ a``@֑NSSK.ŝ;w}}}̟?O.߀נD"899a޽ ”)SeBN`mm,q[HHLe˖aETT***`aa: qꊗ/_㬣p\&//7"55EEEсD"h5899oҥK%vZuBUN.养wݻw={:fċZ\!0i$#,, cƌa˗üy %%,UN+0qDСC1JJJft PWW y-//G@@,,,ЦM(((@[[A۹ZhQw2W5UPz;raa!*E^xssΐlmmqZTg;UU[YYYo%%%#>>T)·~ l޼u9{,-Z{ےo,XYYAEE}N@@IWBB)))#D"qĪcǎ~:ٖU5oꒊ <RLLLTu|NuO |*_UT|\Bum>.==I^^nJ#Xbb"ihhPٳg0STTD4x`Ԯ];Zr%矬5z}U5 o Zrrr:Shbo&'lmm&MD+Vxy_| 4软W]'{g[35P"EĤI=z?}H__ZPUNurU:y;} ɽwAYǧ:?ϑVZZҘ1cuJOO'jR"~SWWPRR;_{LuuukX>sU4Ԣ)؈e}\YY$''GFFF]Φ y&8eggӊ+m۶$ iذaH%%%5J{U5 ` ZDDnݺ%jzrJ@ "kk9s&ӧSRRR?ڶm舜*o&Xק."TTTH(~p4^>}=z>7eee@_~]PIrQԢE 7oް#vԲe:VӢ$//O}]vrrrX}U4VPPIIIуIJ}>-##HQQ>K\222"uuwF7e"ޞIMM묣5*yU5 "VMOR+**h|}}????277'EEERTT$KKK:u;ϧիWS^HUU[^W9^S U/_Dy6>xbǢznW^^߹s$uj۶-RQQ8̌&NXg۫MQKM]]]zMիS}I)탪OD.5ӐZeeeԶm[ZvXq畖ڵkIJJNO}$>}JZZZԷo_z8իW$++KGm֦%i.5kߑZC|Nuӧp|>*Y""Zt)o^ҥK_D"͚5dddoI*HD3dddH]]ΝKI,!WfB@@BBB0l0֑*|Խ{0uU"0zhx穪"++ ## ʕN> 'ЦM̝;Po+T7CU-EEEV믿ƾ}(//o1@ǎQ^^^gYUUU6bD_uVsTUu~nͫW0rHBDDD@YYuzKjYPPk׮ׯ#''h۶кo(SG 3rrroqM12220~x cUP(Ν;1{l|wcA 1bN:b͚5pzꅾ}Ϗ5Dc]U㚞K{6F"KKzkפC_!211ʯ)]v޼yCϞ=uڴiS Bh֭ ***/Rǎ5޽{$ V55P"">|8Ç)11ƍDD3ҥ iiioF޽{IQQK}ԪNlRWWgLVZ7JOu~n#I#JJJhСԮ];w8j…]۬H-I7uuuIII(99 >8S>S}C8>W=_ sss=zX8N:EԽ{ώ.nV\IRRRt!Q :wY[[P(;?@ϟ?gM"HUhlٲ/&YYُε"9I={;su\~^x7n$wqqݻ"߿ (_xA...ԡC֭[ɓiٲeקۋ3@@DD}Mu3TgؘCk׮wӂ HKKdddHCC NUsq#"u}7ԼysRPP~QDDW>ԩb9>}ΎTTT(--uzOu$|;y9ԤL͚5#255wS\}hUNTS}C8>{?(j>|deek quѣGdjjJrrr^g ԧ5k֐@ vTݽ{.]J-Z 999ֱU5"@@?3(t zk>NR9VEEM>ҥKԻ|:nm8IV ^"EEEk;UOEEyyy YXXӧOYGkגP("1޼yC[ዏOiZ\8uM 6`|ٳg1p@q[j<#Gؘuz q\)++GepssCtt4n߾>} ::ujYnVXggg#䄫W"&&_|fϞ/k׮ųgXGl0xQ(|w9s&VZ:G?ALhqd۽{7lڲDll,ѲeK@EE?q1&L@\\߿: qW^!,,,i&TTTUe7nČ30n8dz#QLMM{aʔ)ػw/:w ܾ}ueOGZZ333[N">Ghh(0rH>bB!lmmK.AII 000ӧ%.+xΕ EfXG$HD CEE'OƍykNMM gϞ˗/1qD266ƙ3gpej 666۷/BBBS>aԩHIIo۳Y7n@AA : q&''ԩBBB ++:sU@FFK./rToYY***PQQׯGJJ ^|)]&MAA a*Xlp%Ν;c}&N:(]uF Cjj*:wcϟgMlxQSk׮ʼn'pI谎S%)))G=XG8N8s XGb.//055KJJp >>,j@NN:t(TUUe_8)Dii)bccYG8455 {{{bٲe >'''̜9SNYitz@Ƃ`jjc";;u:ËZ\HNN -[&qا_~cp'!ӧOǕ+W: TTT "";wÇ cccl011… q%lFFF8~8PXX .9L,^AqI6m$W8I'''`aggׯ_I^^^Ø1cbbbb"++ ={Ē%K+jMOO{ajj7S-HOOܹsYG8NB,]'Nӧ:N+--Ǐ7nT7++V͛7Gٳ'+sHװFQQ*** -- yyyO>}:/fqg3gtttCCCsάc} ӧɓ#5Z6661bRSSe˖={"t[[[۷O>!n ܹyyy.] hii}%0vXܹs"0fdggٙ8KKKdeepWC&&&HMM,[9M@CԺuk;v !!!ؿ?84-€:ZW+sŕ+W믿J<'o߆P(D.]XG8ٳyf899Sg^x/...033CV}b8ݻv:gÇDjjjWYYY,v }}} :r+--ZVvx8;;/Ç1hРZq\366sp\#!n:t...x1:;qaʕ駟XGj0|p,Xvvv?~jaggsss_uZFY8ȑ#ѱcG@Zam3Y{ff&\bHKKcǎѣllltR[nb0)) 3f̨s߿cŊX|9dee<qgll~999h׮8Ձɓ'W΍9x`UVcCKK ;wĤI0b :u&UV8r&NiӦAGG9hհι0uT~VGvv6Y8*..ƨQPVV())1? ;;W׮]Ë/jjjѣ=zO>kNN=z>8{l޺k>}O>E-ޣ-YD W !--qܻqe98s kֱ舰0L>ׯ_GfXGjRL̞=>}:<==>jڱc"""-ZS+EEEA׮]HJJb>'>BXGiToF$a„ }6m2deeի~zWO<B[[zرcѳgOhkk3_#11RRR۷gc׮]5P kB! $}999(**BYY͛7 5kG-$}S탋!CԺu}(++7c)ɔѣGHq1j( 4022b{A=|rرu&GEEGaꊤ$5uN2\~ +j*qjݻڵ+RRR$_jNo__py+\v W^oFFJJJ ++={W^իtttгg[ ]hΟ?W{{{>d۝6mSms'~o޼ǤL IDAT<011az;uč7p!ڲT*),,D߾}ѪU+\xQ܎vRTyu/tB(BFF .ҥKn ܖ-[j*JMMEjjj***իѳgO}~ ={R#qqqAPP,JKKCYYf~dffBOOeee󃣣;߿qz \vsSvwn...:u*on ݋ŋ#??Qq>HWWW۷puue| n޼WBAAu&V֭[222cqU0i$RWWRg5R" j޼9ӛ7oX>رc$h5zH$,:v-ZI]]w/1c)44߿_{PJKKIAA>:Jߴxb ?iiijٲ%eff)VeeeG222$##CӦM{9?3Ȑ4REEEܸq#ȼW sAv؁u!77W @\\>|9s栨Ç#v؁˗/ @\\t:X]rH$zMi}6455kApeTTT|222(//9f͚Ze=ݻ7 \=FǏCNNu$P\\/8՝ ָ>BCCahh$M>jjjXGs/^@VXAs' !PQQ"Bzz:`ee7n0LtaĈh߾= ̝;^9::Ė-[Bdffnnn022j2-HIIA~$u-^ZZZ033Ó'Oa󰵵E۶mrJܻwVrU 18'6668s .\+++@;w"-- fЦMÆ Cxx8|QJSL_;1:6D([J4(S!2vemLdI5f1%fjIJE[?MssG}uQ>s-~:Q(!VQQEEDDDгgO8WDD^^^ؾ};455y[3̜9O>ŃP^^III Ço^ȝ/#Ƙ2e _[ 00qqqЀ+0lذ9>TUU}}}ʕ+q4448...OOO?~퍟Ua BCCکKKKc"""E~͛Ro߾)\]]ammM?d8|0rrrBQ%$$~:TTT+VHMM</^SNԩS5kOE-MMΝ}1+<<}I&gϞ@^S^^Ga4 Һu~hQj222(ۦ~嗐癎B e˖رcÄ 0a"&&#FhqnEE\899ܜ x?x)|}}l21XܻwxLKHH@`` PRR1c3g΄Gf1p@<}_-FLc(((łP^^S999G>}U__߼͆fϞ_SY.^777B ..J8;;#>>o߆1g4aCll,ckPŜ,L8yΜ9///ܻw#Gd4 ҦM{n|(((0gNN#0`ٲe hwN"!bZ2gX,IA֯_O""""̙3ѣDLL 222dʔ)d̘1d͚5;X,ݩ,555D^^RYYI,--zz]Mcc#&'Od: EQ &Ȉ275kkQQQr9GZT DAAY(\gmmM.\t jrJB!EEEDKK̝;wBee%!?#qss#jjj#$ .$O&?nIIIvZ y &0wYY9}4!,()) v ZGܭ ͗/_n. Y[[ׯ_"'NEX,7o|x*hb͛Oɘ1cM 2n8HnܸAB!#={$Ⱥu:Ν;Eo߾%fffDWWdffvS7uT2c cPŰB2x` , ZZZⳫill$^^^D^^$&&r/H ,&&ϟ!++t$1n ZA`ffsbÆ e*ߩAll,vލ)SgϞ҂'PUU:X,?111梺8}4X, ϟ?=vmmmܿ_~%ϟecXвy&$$$0atmk/^0(>ЫW/DGGCII e$*6l???08qqqBYY(//J?Exŋn-DNmZX,~Wcƌhlld"Oedd 00033*N/o߾8x ?~\FD#`޼yx!^="!!rrrͣu8prr.lقA!22YYY󃁁ǣGm"99wޅ~O:򟍱}|| ..555,^(… 6mMۀWUUMUU`٘4iJJJ:>9:::(--EEEQ(*** &NUVASS>>>O}]ׯ_cܹ18(`ǎظqcV݁8꘎AuC\%%%#&&~~~ zܻw{3TUUѷo_,^IIIիWQZZtb…4hX,G2…  ŠA8&$&&bС]؈X,Zjjj9s&jjjp !00666_j_lٳRRRnӧOabb۷o!** ))VWeee Y,|||0|0`LMMQSSZZZ}6*++accOuNW^1(~ѳgODGGC\\'Nddv܉3g >>S \rxEaժUu똎SE񌘘FUU6o1bv DEE8444 !!wzsssٳl6WFLL JKKq\c˖--W>|Çwغu+ `iiX|wx"## &S?&%%uuuIy&vލ#GZаyM@]]9V?H⁦>[nbΎnnn3fL<+He^h۴~Áݢt!k\iʕpqqYdW]]۷oc֭0az333>|سg={BaߛDxzzbٲeXd Nѣ/_ZZXXX`8~8_NePRR[M)-++òepA-n344DZZ'tf4W_}}x%[Eq2hQV ͛7ѣG8q"6VRaddYfѵk(jSFF׼/ ==IIItk>U\\aÆa8{,Gڤt7vEa޽LGa$jkkAu#+haaa1w\mdd9sLJ~1}t,[#KЯHs:*鷍Zx10{l$&&BKK+l$%%5O%믿P^^<ðէl޼/^Dxx8tcx˗qDGGCII 8q,,,NJWff&:\ZL5jn޼ ;;;̜9AAAt4 ѢEQ1b\ty3#GAAA駟rJKuÇ1`]j*++}v,]}e:chQkGEϞ=M 222www fffؿ?gdddN((PСC0aqǏ!-- OOOhiia…Bpp0 /ЂILLreagҥKz*ϟB8q".\_~;vYXl|}}QVVƳ~ٳ'كC!>>KmѢV7tATWWcӦMLGa-jQNNN!!!(oVV;3gB]]}ņ P__)))(,,l.bsQƃիWcѢELZ)))Xf 'O řIuBrr2 :5=А˗q,X;3RCGjQ8|06oތ_~gnܸvhA1gc͚5]jf޽{˗/ qwޡպ0/׮=z4?{*!** QQQHHH bر5j +++1G!44x!e8)c :HHHp8YL4 .\;t$@ZEuŋQ\\KBKK \SQQׯ%K@CC}Rbw^=׮]ɓ;OŠ+8eee(///|l󜔔޽PVV-BCC1vXDFF͛7aaa!4J888@AAAAAe:PAhh([bРAĮ] ))Ix |`pqvvFPP=UV1G(QEu.\ӧI+V2oΓ9r$Gu-ju#5558p,Y^z1qM[3>ѣQWWbbѢEֆ1%%%, sssR 䄤$`mS] 7%%%AMMy022BZZSqܹs{a:RTTEQ"//ׯ...jرcBCCq}EuͦM/vM"??k׮e: _Fnn.1( f7Xd g|Xx1tdF$''+V#0jkkwwwcʕĕ+WKm#''2III>|x044Zl8㧟~b:@j^__pUӵÇ7p?gggcÆ \<===8;;wjJ: ꫯQБZ޼yhDEEʕ+(((>lmmcBJJ}~G߇4CyӦMѣ6픐@?o޼1cp!xxx@NNCm=~Z2III2eJ044ĥK8{V\r,]bbbX`ӑJfl6$E C"88NNN4hV^v +++DDD`ҤI\꼦]:4(ܹsLG;:::HOOg:ddd ,, W^ŝ;w؈ѣGcʕ'/))`bժUfA}}=\]]؈ P'8q0p@,]^^^]Z,%%\XQHMM(144DAA~ӆ͛7| deet$AZEq=vލu֡} qu]vaС ط~ dggKTZrYYY~:BBB—郬, 57oի|2Q]]#F`…pppNNNNXbaJN<.\7l6n߾@`ٰApp0!..RSSpHJJ,ץv!!!T(j*++1{lɉH|(Ç#%%ӦMݼ! <i8~DqƴiӠgk}BB]^+CXYYYLG@vv6uuư7Evv6߿TgUUUiaؼy3ݙRRRahiiO}peyaaab:::8}4pI puu N>$prrn cccDFF"33~~~۷/OdddHcc#=zı@~I$""SNaʔ)pttDLL ӑ-jQ-#F@@@ۇ/r͛7ZT׌3}BFN< WWW(++3 E8;uuuvΝ 555XZZիpuuE||< '''HHH0֭Ò%KHN"`޼yHOOǕ+WУG#Lcc#bcch"a̙'@|TX.D񏴴4TVVrsB8/"00prrB||<ӑ-jQMgŋ內Or^zaʕÛ7ou3f@PPPohQKH=y̙tGZT[jkkqU̙3jjjprrϱac1(//g:N!$$Ν6EOb֭ׯ,--M6!//􄴴4cRSS YYY2PQQQ6ehhJs=^Ghh(,,,0i$<|H|5o(1d+}]ػw/WڧnƌsiQKH:u zzz?~}:ʘY@ii)~7HJJ2#{n QQQXt)222 BNN队UZZb:RK4P"Mzz聈ax%ӑGGjQK>>>̙3^ m6Mu DDDhQKȔ7@oذat" ..˖-K"''/_MMMrΞ=j̞=w#۰aq%/,!00ݻ7ك'"&&y:1;i:-j E9]200RTTč7 //[[[]SFjѢEQ ""3gΠ+ŊGpp0G͛7?y-j Wfٙ(eСtyn ###;oƒ%K,[L( Yƍg:G;w{#G0rHt FTT<==EAJJ / cvZjj*tC={r]###ddd2W^u0a21M#CxEUUNBhh(N>K5 6mxT׍?qqq<ŋ1qD(++3E 6 /^ʰV7 0Ǐ}1qJmۆu} Xp!V^8 6@KK vvvPXX0A\\]>}GHrr2Giw@lhh5TUUzL4 o޼a:#H-`ggUVaҥ\ 燛7o֭[o#F -- o߾9TTUU!<<_~%Qΰa@SL4/'''a˖-ӧO]yt lܸ1c^~tf:u*Ǝ ???۫WaÆ.]ŋuztLEaaȵu>۷o666(--e:ёZE1e׮]0668ڶ&M7͈#@Wbtuu +++L<TUUAJJGm޻w999LǠ(?y8Μ9ÇcƍطoG0|p\|.GաxX[[yRИ1ct\r(lܾ}ϟrXYYa֬Y6m?yţ9c:6noooPc6O+ǣ96HMMѯ_?ܼyLG≀lܸ۫3 1(%N>',--9iiix!G\\\ **ѿ5 !555qzcƌA\\rG+с-ox{{ŋuB𻪪*A__($%%G\{MrᇌO555LG≲23\]]NiOppp~̙GGG̟?{7mڄdܸqR]cff|vZwAEEzcƌAII Ҙҭ5-nhhcccϞ=k~(!+#z(f$''ĄkBpe!_~3dDEEpqqAmm-ӑjjjLǠ(;tvMLL۷s]k/_~tS7Z066Q)r8a'Nh޹0##~~~022b:&EuK޽{3☇bذa\kyyyZbС~:޽ 4440ЫW/cP?8?ܿGۥ:i6oE-!;;;c4qqqҢ077|}}1j( ;;\HQ|"##j1laVWWǦk}4} ]F>=7n@xx8<<}`˖-mw7nvvׇ(^x%rssL4(‚V˗-tttahkkx9 0#EL:P<~055Z}􁸸ЯcҥK t$(..E-(n݊g"99moܸ7o:NHHH@WW_Ѣ4&L@jj*rss"4=zÇG޽m6#88%%% řJQT233:vB$!!222\-..޽{wu>dccK.!((-!DGEwww 2wh_|8.yYDD --tgaaIIIܾ}( غu+ !C066ƕ+WPPP3g`ڴi,E :RK4%**~ !((N·~t+..E-ʕ+oիWm{߻4_~tbوS9DFFFEbو7tuuaff@L4 111(((@`` !!t\ډBGj N=lbddԭ~AAA8r֬Yt)//GMM ~HQ_1cq1;m4mꜾ}ҢzJJJ`cct1aDGG3"88fBϞ=aiiX,Z=BFFFb""O E BTUUёZB=IQ[Ǐرcq8H-$Ν_ӾEDD|r>}%%%k O.&&4hQĉ9Ǐ? 5k^z-[ 33 񁱱1Q)…m{h3RRRPSSÇs/CCC}9s 7ouYԢ(̜9999>G۝;w.$$$8> ^zo߾muy({.ƎKGpѣ!##hۗ8ݻwK.!55***8q"N8'''())1(.Ά(Bq@"z_M ?\_͛7޽7İzj#uZAAX,EQ2d/b̘1kW^^áCj* z xuϟ"ZHHH`„ y&QKjjjEXXӓ(JeggCSSbb;0aj}hŊطo֮]8 uuuHII1(\|._EEE86~M_4J`YYYͥE-.dž P[[ IIIpUmm-bccׯ#%%򰵵Ł cRŀ0␄9'}X,ТYjʰdc޼yLG갬,iEQ|k„ صk򠩩ɱvk꘦ׯ[FGj XHHȞ(Be: W<#TTT`cc0L4 QQQx5.^yтEuce: <[$!-j}`۶mذa-Z tXVV]_(5fݻo_j?III˷9Rݻwajj }}} 07n`: G{QQQذa###lܸEVV>}ښ0{ł6q(!BGj 'OE-###Z;woŜ9sptHff&E}ԥKEX,jjjIp>… aڱ{qcGxTٳ͝(iQKcLZ[jllÇk.?JJJCtt4M}ӑ.Xf !011a: %diQKH$$$@JJ'7100@zz:x֧ 0|ڵkLi/_ґZ|pttd: L:(NSf̘BnxWoBO}tsZPHIIɶݕ=cǎ ?SG‚ׯC!CB\\g}YYYy IDATmu~PO_Ϟ=3 ++ KKˏߑkC^RTTWNӃ=]0!B $+++pBc "--MN8>҈?#RRRDDDKyEX >?))RYYI!58wDAADDD*RPP@֬YC۷o7F;w7oސbrA"""B֬Y*ԩS beeEn߾M޽{G߿ODEEIqqqMLL0a%$>> 2HHH?Sy򈞞QSS#׮]#ʊHIIv}MFQSS#aaaiӦE;ٶ###tۋ[NMM]]rRPP@oNȠj*bkkK޼y|3y҈""dҤIwDRR=h`©˗/ r=ז7nERRR62gΜViQK566%%%rQt SL!\kĐSSSGGG/\]th\Lill$s!}]yㆆ.nǏYfqqqRVVxӅ۝Ĥ7 &&&8gp~~>$~,Mk׮8>h ܹsq}}V\Q#c{kQkƆ,_5wMttt[м{?݇%KKKxbcKgZZHbbbm]dɒ%-΍%ZZZ-j8A(yyy 555DSSHKK϶ڪֵSck/hQooo~F~Ź^"Z=hN HNc٤o߾dŊ\j 1cF㴨%*бLGN: t [}`?X,RQQHXZZ--6G0EEE:t٢!Zmiz`DFFESN%~~~ޢև(BYv-@)((U;g&ӧ?~ֵ۪ӧ[[ȳgψ!o^t'[=xVE|E<|N޹s'QTTluJqqssku%RSSg8I6ׯw ݻªUb~dgg#99~~~7nG'xk5j29@ddd=z_|j2l޼R:k׮TUUAVVC/UUU@QQQ1֢ PPPhÇ,w8BFFqQQZp:Wg_GA cP]faÆ1ҿ!!x# YYYACC&LhuI())Au1Mk `ʕѣG֭߱[XpaWPPh=YJJ kI}m mw>RZZ ggghkkƍ8{lۻr=競Gךj?_5޽{/r}hQKBYY***LGTTT0qDw)))ؽ{cá?A"K#T(Ң:ME N9O6i;6uNI%Z&V$&{~\Wus?'uޯ7,,,ХK[zzz8~8޼y3gÃ&$._b ݫsS"..EEE8s (3l¿ѣwwwdeeぢ(lݺ@Q@2{{ Y͉IS49AEEl6ՠ>w3tP<\5TT?GqKZ ##ׯ-ҥ l6ʈ:lllKkthE-&7$??c|}>'OFsNTVVb͘>}:TUU|v֖2>}T/o߾O9޷{ϭ>l6qqqajj www$''.,999i>}BYYYԹDfVzq!E-z & ::;ixP ,tuu)JYY?}~EN=7MMMj„ TVVEQZ'֭[}5?ƜףG(GGGJIIK;w6lf͢(i#A;v444X@٬ų(JPTTĩSHw:u*8H9sߚ>m4 6L`sbX8qƍGwC_;v,>~(TUUAII իWMb׮]HIIR2+,, ǏȜ9ܾ}%t¤IDr̖\9,,d!<~<tGi1(իW. 777Y֤EC۶mIAݻJۗ(**3hN:!66/^}ÜիW(**jC `޽Xh1efftO?QF\9B0HQajvܹ39Z۷} GGG|IlI;D7PVV{P >|(ӳgիWS?0/_:ZnMwٳgCSS/%޽t"55rAbgtdA,Kv>077{:::PPP .\;w0fiaIMMԄzB0bp=~, +V9sسg?NB3Z\~Zvvvđ#GDz\0V KCx<={AAAHLL11uT())gmm ===1:u*9Rg{g a{58WWWZZZXh Z竝d!!33Sl dՌBĉکn? qw BQQQǞ9s&?˗/)j1΋/Hbݺuԩ,X#==gϞŐ!C3f%AXx"/^ CCChkkc֬Y8y$tL2E}-ڷo/%DrbU"kFLL f͚' -Ky ~D\\L˱ ѯ_?:tt0da󔔔`ڵƍgϞa߾})SN (==[n TUUagg]v m۶Exx8N>-ÇHQᒓ!6 x \.Q$"""www.JNNB޽A4Ӗ 'ODqq1mZ*Rb.\" شi33gBZ ZTxzzC011ep%cǎţG",p8h׮ЎA_rr2Gw >TVVŋtG86668~8BBB0|=nrr2t邶m 1 !::ZS &M8y$mZ*Rb߃Mpgt7o={5k@UU mڴAHH;v `~HFF8wN< uuufzÉۀ-\-3f ?={`ѢEyLq{ A4$""VVV-2pa2T Fšwޘ?>ƌGaPQQicj &MBpp0a 6ydjhjjEPPΝ;'O-yaUABUUd9;;ؾ};V^KMMAD} qEL0(pssCBB#blG>h4ν{0o<$$$`ܸq8s ~3f`׮]HJJ AAAAAb;lp8ٳ'}hhh[n044fݻwPSS(:!)))ԩ]300 WE`ƌ(//l6.]HNN4z%AsQ5 JJJtG4&Ocǎ,H-)j1Ȼw))jkFYY#3f[nE6m~< $[=]vEuu5^ŋcPRR EFFt\t Ϟ=ǃ ttttwCSS (V !F\g!ҥKthΝ EAQQ^^^M7n BJH|HHH@tt4Q&M@ܸq ;N@Z B>hԕٳgpwwǺuDKɓtRa֬Y";.Afc9r$pup\033̙3:ԻHee%333#44DР;X( {ҥKѹsg\~ꊝ;wAեK$$$ $$>>>())trrr066q"==_:|00ax~#G`ѢEb72aعs'lݱDa} IDAT)jx9f͚+W`Xf h˳pBӇ\$BX,M+++xxx ::θstttr UUUXXXp5Es-X,ԵkWHKKѣG%Bp8>}:l6Ə'&&'AǏpww;J&MªUH~b,&&&BSS\XC?r~idggc…BH$'Nի{njՊ8EQEwq 1uTX("umL0EEE8tP'atp8ɓa_iB8qƍkDGG&MX. YYY8qΊU_wWFFFtuuɿF( jjjܹsSy!%%IIItGix<OSN!** C b:u*M)'O;AMزCϞ=add'N9Տ˃DwPsE ҩ -S?ҥKaaa+Wneزe V\I3P,l6Ӆ,x%(˅lmm1l0 2B!n2p\ H-,,.zUWcD-=Baa!Owuǎ;F%%%C`ԨQՕu TVV2S+<<-FNN6mڄ`TUUAUU>|{.zUUUl۶ SL!LԩSHOOMMM/ %E-!#E-)))A6m!>};BCCfb%OOO]X,$D8s 3~[f+W 3j8q222>o%3fߞp@MM C -lll+\@QQQWPPή"++zOC?-hjjZؒn޼ 999у( 244DAAE:#49=qqqW^EΝѩS'Sذa?)))TWWfcb{޽{wlp8bسgrWWWFl82qD̛7E6Y~\.222رc#T_3233qo373gĭ[>L +((HKKCII +_͛7n> ;;;999xmmm CEQ\~˗/Mw5+eeetҥrFI½{Hw={ HJJ€ӢUUUлwoX[[CKK ;!n߾͛7#44l6օ8'NՕƄf``Pkܹsbl߾};w.߿nݺ `L28CRbBm/^0vX())e//մ6_tΜ Z^^| ;֘4iju}Ϲձ{nLL&L֭[h#G Μ9Cw#3fÇ8z(#[4{ KKK矤E|Ƒ#Gp9o>|͆.VZEw:N< Y.l_BL###~qBZZ\.{ѣGM6S~~>Zj؂]ǏwwA__N[nb?+ǏHKKòeMRRR'; yyy;wÇ>~(Ox8uk@)h}y.b?uA pԩ:E-oؽ{wVBUU؍'''̛7b.T虨ӧO߲vZ̘1 .ę3gYЪ1o<={tG!Xxx8q%H̜9PTTD`ccOOOl߾qqq( 55?3QYYYt ֭[#22CDUUU`tƍCZZϛȠs@uu5|͆G]222`Xx"w???TVVGff&vڅu e3arttDuu5"HCRr}aΝ;R9::B[[v͛CǏ#;;gφ //ӧfcѢE8p Qx222jV-UQQUVaǎB>}޽{B֭ СCpvvjIVPP EoQUUE>}ЧOZWWW˗u39s޽ >]7n@v1Βk^JJJPSSСCqUF)++q1a9r$DCVV<jjjq]\|sb޽BJ|ߢE```ȥ4h"""BwDp- Mw\\\(999*,,8Diӆϧ; !&*++)UVԄ >vU %%%ES4&m?%## bXnKOOz Ԥ(>}D͚5֦N8Aq\D^^^Ԑ!CTJJ uajٲe+ս{wJZZښ6l@={zP^cǎƌ#Pߩy b211vJ~XR߼Ovv6ծ];jԨQի)99ZLDl6zj]v̙3_nݺEm޼rpp(WWWիW4n"##)T|||JIIJKKZZZԺuL'11@={(wJVV*--޾}KQT^^1Q\\LR&&&TQQqFJNNh111TDD:{lxTZZuaŋ"NKR2˗Ţh L-Y~تU+4_AAK$&&J DS\\ڵݻwzj ŋn-.233 mѣСp-ɲ@g|<|%p}B"I~Я3+66o޼6mڠm۶'6n܈Hdgg5x\~Zbŋ"ڵkXTWWt#hra ::ʐCuu51b#6Z>}ӧ>|sL6 :::-]%%%?,ӧ""""HQ!$eaee044;̟?; AHĉ8x .] 7oՅ I :455---\~[U-,,`eeu|)))ƀpIf$Ť%D5M 6 ,, 騨ӧOUVضm֭[ƍ#G 55eee~:Wh۶-=zDw/v=B||kw^ر?q gΜ&|52; 6 EEEr۶mYf!(( !rss1c`СxM/^ˋ0i?ךҥK1b^x]v =ƍb^k7@N"mڴ;FSemm'kʔ)hժ~Fww?;޽{˃m;vX}#GDii)M :={Xf t:T_V3,]v砬 oooܹ!!!t#rcј8q"q޽CRRQ$! %%6?}m?-EQLRZZÇ Ԥ;-[ ݻwGDDƎKwB***qF[ݻwѽ{FJJ (Ĕ:i]]]>X,6n܈;wΝ;իвo߾- ɘ0a,--w^L>]h㡬&-- ߿?tw###و/%6wFw?O>I&8LUPPk׮رc߼)`eeş ͛7yyy}v?kYYYs΢L}FVpa 0w7 Z&L;9::bڵHKK/%E 888z*cKchh'''ٙq?G~BQQ6m&wSv ۷RBxlmm1f̘:_<&&&u>w\xBVWWGLL VX777$%%aΝzF&(--EQd!ܸqmڴw[U3KήUCzz:3GUUVխ[Z]ahhOظIKNTTX,VyZٳ'Ο?[[[L4 'N`X qADDD4 ONNq]Z5LMM-j ^˖-ҥKaccSoG!Ea֬YxطoqO>h߾=bbbHQK;C0U]]qΝ;]cŊݻ7j.D0۷oo!$$F޽{C%-x 6lPjZ999d&!JJJuߚ9[fff={6233ƈb7o_~M.*}.WWW/^l wwѣS׮]!%%,RԢٳgaee]OgDGG&MBhhh_{xy<==]9r 7kZ .\q5-[ܹs:q"BLL .]JwAZ EQ1c._8.=b={ׯ'E-( !!!XhZjӧOɉXB7b@_SPP={&Phj!fĉ0223q)OH阡0HZrM8;; lv222PQQ]d*++q…/\4dРAѣ1k,8ps_8&L---~֭ V=c#Çѻwolܸ˗/a֭[X|9`aaAwIwC0iP?f|t˗/СC@v`'O_ŕ+W兵k׊,AiUsQٳ'1qD <v̙3ERb"dee^ۘ ^_vwIKKc(**jTw!X.]BYY3ƙ3g0fl߿1_YCrr7>%|L՘.r###077A&LaoGlmmrGGGHRbtj:tسgO+-ݐ!C0tP,_ t![lU`dd$ۗXbEWWW,:~ٳg͛-vVCrՐ9n޼ 'vZQQ>}llڴ 999vw\#={{}?WWW(**ֻCoƍm۶&mzDLxbDEEaHMM%ZEQ9s&q4q4:qRRbq/j]r+/__8b)  ¥K`eeEw]OOO<{ k֬%Kȇz… thiiilذz¬YpF{JJJ %%t 2j& +77k׮EJJJ]EQN=z@v~jBQΝ;wwf=#BCC1qDHKKcJHRee%MKKK̙38bCJJ V^䥺mذAh; E-`XxthÇGl 8Xr%)j"Z ;wqsgc0yƏ333899'O?Lw,)))_@!͛7ŮK) {m۶r)ÇGRRRիoo,c̙PQQʕ+˗˗8lķClp8c1bwbFcڵr; IDATׯbbb`ooOw 3g\.|'bԩ;jjj!E- E-עV.)pּ1bXvvv䊘Ɂ.\)S`֭Q@VV @sPRRBDD믿"%%;v|+))!ѣGHwֹsgjժY;t:ԹO<]`%̙3ppp9̙3QVVfcɒ%{lB8{{QJc߿Xt)CwF+((LLLw^BZZֈ… x-Al6x<킸tR$%%ڵk-jtsΝ]p8صkVXMMM:t(ݱcǎhݺ5233%|^l2cʔ)HMMӧ%*6b$ˣW^tGaRRRCVV[YYvw}]211Y{xP>ϛ7\./"*6n܈ϟ#**(bOSS탋 F#Fj>}rrrtG=~WyDZ QsŐM@hh(n݊{H4wptt/F)Vʖݻ@ZZ-[?E()))t=;P5 n Ð!C%Ť 59200JQ[ݕ`KOOƌV к.\bxyyfcB9ݱpB`ff;8-Ǐ燠 4wAnhݺuآC70}t ˖-;̒([266& Ϧa?~P/^UUU_' Xď3gv Q SSSرcta ۷NĢַ4(++pwWݛ!z)7Nd]q, vÁ """0|p_`` OwF۲e 憘4ggg_8b_~͛7%\.5镕e>Y'@000ݻ z<<< ///[,"$`XlE-ҥ _3f^"lw#11 ;@k***j1'*,,jJwW͟os233q!!=X,ٳpqqATTn!^~ \t5:_~dCzdgg}IZZZCBBByRbVEE-///ǸqпdTZZZ񁿿?ONvRiO>aÆ ذaq ;)((@[[ppp;(**",, Ž{utG!5#LRUWW#%%ӧO;бRUU,,,j.󒖖Ƒ#G0yd5 111u#!|ڵkE" 8-‚ 0dt҅Hb۷_\#E-AWQkΜ9(((K --MKIƦMHkn3\zx%֬Y%K׫Çt9[fffl1q:)j1Ý;wG_O]o޼A׮]iii`ر5j`nn.twѣG& $?bbb+WN|T, QQQdVwXZZUUUCDӐƧOD~#Gѣ8tP!SQQ/mۆ/^q ɿJe˖ ѣݻGw Ν;F߾}Kw&)j1@bb"$)j5OMw6l؀H<}x >?~\666ׇ*1n8^HMMWdddpI 8666sPCԵzjcǎ;DÑ#Gm۶v%%%Gaa!.^IYZZtGa,Rb>>>>Xp!F!c4ªU(044Ddd$N8HtؑX-222P]]Mwt׮]èQ0|plܸEQpHQ0p@Mb``ZJ"YYYڻwHHHƍamm `„ 0772accOOOl߾qqqn5YYYLMMC}aܹpvvFpp`/))2!1w\tG;wwȀq$Nuu5:tE}w.jUU^zUg9QZZ sw~]FFFM)X^^Ç#++ W\Cq3rH{n"E-!p8@UUnܸ░UUUa̘1HMM˗ѽ{w#1ʸqPQQHqjNfj1Z;v@BBHAKD&N-[ϟ;Xp8صk|}}$tj񌌌ЪU+ܻwxxx[n7nnݺA5-wx{^~-QWY,HQKΟ?|L8=zt}=+;;hjjP_ߺu) lllpF#w)))FLL )h ƱcгgO]k֬;TWWcرq?RXr%\.HQ!!'''ӧOb o߾"9&ytPP8X[[Iܾ}x!.]˗+afÔ)S#~Ǒ#G0fcՋ!112227\[AAZZZd`Ȑ!^ Ό uw?~%%%eeetҥݺuŋ1l0~aKKKY90`EcڵXx1FI*++ꊫW"66{;#YZZѣqDAAm0x>>8*_g9cn~Nغu+ aX)ǏpttDrr2.\"҄IZZfffHMMŬY8 !’???84222œ9sb BEEH"ɓpuuݻNw,z#77:t;@~!""BlN+--EZZVXAw0003g!qBBB(VEtW^rrrX`?`wWcgwT ƍŮ;Xiiia֭9s&$bǏ۷oŋdT{)f]EJT%H7HT-k]ZluuYw}/.Җ(tQ,"ܺP*]>?Lgxc5s.9{>188DOOr~YYN6m`r#K +VEʰsNmW^EDD< ZЩS'x<\~vշo_\|5BCCiGV$ILLDiiN!QTƃqю".EEEطo-Z֭[(((YfuHMMŪU hkk>>>?>p ߡl~WhjjϏv///!;;vǐ!ChVВ]")) ߿sXQCpΝHLLĞ={ F|5l˖-֭[q]q")) }_iӦ͛l|100)+jň#0|QZj) .UV*;H$PN:OŅv!""? % -͛;v ""ϟ?GVV._;w[~cĉ֭tuuѼys`ԩXv-ÑJ+?N< 4Gmo(..Ɯ9shG,899ۈbc?XnPTT7oҎ9r!r+jeffb…gV(Sbǎ;w.iǑ]WFqUЎBnp%1vڅݻcƌq8@qAAx<쟩م ЧO1UVĽ{/2PVV{bر QQQ߿?<==ɢ{Æ ѵkWtڵxI=ϟ~.kkkΞ='O?E5n;wİa0x`1vZϳ իWq)q,)mϜ9zzzXx\ǦM䄓'Oݝv$ԩSs[3f`c?pXϞ=qF18cʔ)h߾=Fݻ#44۷WxhiiϞ*++ŋzjQF u֬DDDѣG.jX[[ptt'¤.nf plذ%%%>>J}ܷoz6mЎ ???L6 }HRKKK `jjJ;Jh׮kU !Sɓ Axx8gRe>|8fϞ ggg2++ ,Ν;1dDFFEc1uԫW/<iii077zׯz#G*4CAAznܸ\ݛvDj^v {{{:v숳g FevTS?.uWycǎՕIz 9M6Qϖ-[SrnB۷oFFF8u4iB;Jk߾=+j+jq<1zh 2Du`>m8~8-[߿իW^z7ot .Ўt|||hGZn  VzzJ&O P_^ T>UQ޽RpS$Hsюy_FXXvA;LtǏ+>3ɵKǭ;gUΞ=[n]AAA Hu 5k`Æ i锖˗ 3gDTTHQ[t]3l1 ,,,`ddVb:իG;BD"ЎIyyy 5khG;///>-[F;LIۺٳ/ZwuA90ߧSXQC>nUǏGdd$ E=pE1bbbgю0"wޥߏR=vF~~> hiia…#ݧZwݻ_|v؁ǏKܺ]v4 0հDxx8ŠZ"֚5k0x`ւaի~1222p}ӎ0VVV믿h_GFÆ iGQ &SL@ w}G;5gΜA1q ܺY'Q>x!XQCʻzpyYb .ݻwammM;p!`ggG;X[[#55 pq ٳv4i Heee8}4J}ܺ뿲p=K1%޽{L4k֌vN`E-W455RkڵZ̢0 =ݻw"##YQaj)&&]vUAE"JJJClL~W١[nP1k,믿@ )ShGR7n ++K 5jVEs333@zz:+jIHvF: 6DVVVMKKChh(Ν+T 0 m; IDATa8+&&F~Dxl\-)ddd 44T-[(}lΜ9XhMӎP111ׇ-( QSQ88qxuݼy31bb QQQ(++a8իW}tuuall{ю;w~Yb„  Gabccѯ_?|Q#MMMٳgp+jqaZo߾Ş={7߰1*QGGGdeeڵk0 Ƃ.HIIJJJk.L4 գG)Y| Ə0q"..N&`U׼ysVԒ+jqLƍ+;|00aهb-I; pNLL :tFюp"u?Б#GvcHd8q"qqqݻPV XQK:1*j߿C R1 TZ S 8V9+++PB VZюTx<~77ވIn.]Ў0cp+jqLmz1n89bbccQTTD; pƛ7opuNdmmgϞ۷([nj?@|ux<vOOO 2111#ݻwaeeņa\1886-}}})S[AAAxx*9Fvv6oGGG4jڰ˜1cpuprr»wpEQ3PVVE-Hl\l޼puuEi|۷KhG{ʊv ~'-ZT܉'  NtXQcj3ց ---9bjkԨQ ɉvo1c 6 oׯg\v ]vő#GhGduhժ0RA6m`ddD; [P(dj}«WpCC]P(DHH1p@\rv$JIIn˃ ͝;tرW&'׵|p|Nj% !!!Eո\=z___ƍCvv6]]]4k 'O׎/_b̙077&4i///\vM)@hiiGj-ygϞ hiiEpvv޽{QPP ѧϬbbbЪU+QA+jU7LMMiG$===9sFFF0`hG󔁁s495͑___C ꪦsWXXXH]Hk @@=x 20rH2rHֹv_>ر##RXXHzYL43gΐwޑL2w\DEE 'ȪUHVVy%ٺu+ sέaذa߿?"$11|*s״4RRR111!gΜ!o߾%IIIՕ-- u_>ӧO_U2334iT\˗I^^  ;6lz*y-پ};@+lٳge˖Ȉ?~}ܼyߟԫW\pA)kV`j瀀" Ivv̷]KUIUVؘ7oސL|rlڴҶ9f ! պspp ~~~uם;w (h$&&Ҏy/_$۷'ӧJHH@JKKi_\}hiiUYԒ*MQիWSNחHNUʟ+occCWUVں}~~~9p@322ڵkk:!JDZD(JTVm_/U<&M0ڋ)77*ZuI[U?"ݻwi; ==xIv툵5' Шvjs9TҞksWȑ@[]ZG@Ů>ݻ:mGTWb9q5v?$ԩSԻ~-}X|ypL2&wޅx!C **;vDqqq3Cխ#MXa͛W9_ךch׮8 nV[ݺuwͫDv%{Ng>,׼ys?W9fjiӦ8s JJJ0p@~v$p*iڞkw^u=of?<_ 4 eP2A5t߿gϞIA$|r.\_~HMM&V.77/-6l('0TUj3SPuHo߾EzРAJiڴi-iVyRRRooo`߾}2)h|~A|~BQQrssQVV}} }y<_x-yfhذa8~8hGScR^zRM]QmĠy水e`iiɊZ駟`ffÇӎRLLL7oٴ#ILKK eee(...C%Qs~555Ⱦ(Q~d}v=ixl~ 5nܸƢVBBХKLtt4rssakk ׯ_ øqpYȑ# 7n/˗cɸw@M|J$͠]]]"//vjmIu©S08%z|]6`:z^OOOU-tL҂> UnhuFFFVxښߋ/o>̙3G Y阚"""/^A8s 544!HE9T9&<)9Ф.yyyѩPΪ^%244abb":w ---Ç_ 6 /_VXPǏ">>Ƙ9s&4i">`(H;Py7r^4Ó<^W^5v){ҥu=TG/// >>ck׮JJJU<fffԩtATcq 'NTzsWXYSlaa!5M"̀n L0veii(#HYekPIrҟkUu,9Ц[ZݫJIR+11zRP7oFv`nnCٳg9rdf_~%PTT/^`ݺu + ** ۷o*[ZZ|~&6êUШQ#|7@^^n߾cV(1y]t{$$$ 55{bٲex"tuu+5j bEYz5,,,0qDz) FZny?TzcE޿/r[AgڰaiѢE@@ig?>}: ݸq|} ! :u*i۶-!5"vvvd׮]Lݗ/_SSSS" 0a?x]v% [ÇDCCx&aojՊBҬY32j(r޽jUѧgvpBbaaQUѥKB; U7n$:::fQcիQFdvjG>\Hs9THvVz~|_mQ+99GVp*eHdkܸq믑FюNdd$\\\hPJVVVj۪s͚52d:t@;suuEPP|||РAlٲv$#++ h֬8bXYYюtѰaJZahhXeQb-Qj 8p( CՋ/p-6V5D">}iGQJ (ʕ+޽{ӎ|dĈؽ{76oތv@&M`jjK.ю0 \r:t:+,,DAAA-XCu]ؘB*a}سg._nݺю0TDFFGӣE)YXX@ ޽{ԩ8 hDGGӎTa())I  `ڑлwoӎ0 eee~J+ju1 Hwh׮vM; P GGG1&ZlVի SM8[l… O?ю>} !!A)ggdFrz*wN;PTWJOOG-($bޤIoҎ0 #<|UH6EWXx1(L f̘7oF5K>}#anDAAH;)/jTz8Q9JKKo>QFΞ=zΎvfmm6E˗SN Gcɒ%>}:1";v]]]Q0L݅k׮011E<}|>M6+jqԧZC0 W`̘1غu+6Hۣ^z(5+++ܽ{v y&9~<vFBK, 0m4RѣG6p!'N(JѣG011@PyXxV(###͛7!x)k0 ̜9ٳgiGa! **%HxvZt)lmmI; #+WbΜ9?~<sb߾}x 8 #WaiIA$lQk…իhGad@CC탇 X (--U>4l۶ gφP(G)edd 77"YQ;bvv6,J p4i[Ҏ0rue`mmE8={+V!>?˗_gggի 0u-Z`鴣(7oڷo_Cd8E4lP!NOO6 W>8v5XZZA¬Yb ,\P;&?cccҎ"VRRl@GGݵΝ;###mۖvΰQZZR]6{899a02& q! >...z۷1Ξ=nݺI^{[FF3~QM4E>}G3gE;Һq}###C"ZUȾQӦMÚ5kyf,[Lu1ኈ8;;s GH$BQQ=z֭[ӎ#OC; #'8t 777DGG]vrǃN:K͛yf9%coN;BiGP+_ɓ q͛7mfffVa\}!!! Gt:tś. +􍎍GoGXXJKKgS:ܹsqF5JUoSS~B˖-?YԄFKccc=wÇeǧ7owwwR],YAl IDATޞvFq1mHNN8zJuhU閔#G?ׯ_[XX[0sqV!_|!_kiW7oބm M1z(**BBB6m4k -Z7~g$&&P\\bB 6 }йsg:t(Zlk";;rBf͚㧟~E%%%P( "<<ZZZ eeehР<<  ݻ7fϞdffP)/f!D5 't,Z&&&5kRRRhFd8~?>mۆOҎŦM{nʩ{~atrrr3fȵ$N<=zZP !Xd =zЎ(Μ9&M=~4hqF.]ASN,>99&L9mۆ|1U? b*Aޮ]|ٳeXQ@ԤI% Ν;O={6Ǝ j >}:,--)#FO+--EAA~7X[[]ta_I&Xz5(jݻ6m)%gϮr l]vU !8u D; 'JQ+$$IIIXx1(ԩSՅKqeiС8u } z쉳gV(fZ\OOJO͚5ŋ%"(;;>>>0`RWfqqqhذ'! geeeԩSB|}}Ɉ#(R_ٙp%^OlmmϑDCChjjMM پ};ϧ;vPH4i҄<}v ka 6x\-Rht)))ŭ|>.] CCC eoԨQAkiie˖/Ĉ#н{wѣG/ajjyU a +VE-ݹs9999P!qy۷IIIȑ#퍈YO8ccc񸄌tD">}2q!EprrB߾}qul[h޼9ON;\9R|x۷/Ell,F(1{n?н{wq8Ȩy1cݝ=aӧOɰaÈ_wA888bBkӦ @ի uVQZZJ:t@|}}iGQ;VVVn333"Ǹ 6ЎYݻ]#|||*=~Hggg?(,[FF GU>UMaa!$$$vZٵk $55vFܻw4oޜՋ}Vf$lݻw͛7\.eEEE)& %%%Uxɉ4oޜ<~vocƌY&Y1c]B!LTlڴ k+z]2Hi5o sssڑ8ɓxGPMXQK7ů_[S7GEΝK.a5QF H\FYmv;v M6R}egҥ(++Ê+hGQYeeexVZUhDDDTnVЬY3yGʢEs”)Sp}|رc,,,vZε*u2333hkksb\=zׯϧ"00fͪSYfرc)+y!""055r]]]Nw=,7hРjǁ!cǎUh*ogVHޟ~u-ϊZ*M6s4hN:PWWWtaOÆ l2lݺ_j(-- ;vr'ggg\~VE"ZѼyZߠA̛7<_UVk׮h?lXЀR͸YBϟGGG@l߾gϮv VZ_~a: 6]QQF߿7m!!!Rhͅ3ܹs֖v$NűcǤj̊Z*ɨ_>+jG?G@@ttt$^SUnjlbۤI9spvvFNNb1*gԩܹsiGQIw˫|@-fiԨ.]`ĉXt)D"vYx7oĵk0~xUm\,>88/^iGa8 ضm/^\m|L>{AVV .`ʔ)X`ƌe+͎UTGXn,Y"Yݼ~...x bbbX - ǓjhVRm۶ǏɊZN:W\ѣFuՅ$hx|$cT ͛ӧOӎr5j''*E=>Q5nk֬AJJ 3g ;w4v޽{ѪU+ӇRZ$cҥ 8 ݻrJ\Vۘ}wQTT$d*rttİabqTʧU /kѢlقd⫯BBJJJ??Jc1u#p}e۶mx-[F; BsNXv۶mcKI#F!$Lq-Gjb.q!KKKڑTBdd$]3fH+jKKKB //Oi/ͽ{ЫW/ݻAAA`c(Hq)\xcǎ|ƍ;wҎRj*JRFͱcܸq666/_L;vD#PPP'OЎRIvv6V^ٳgԗ[F9|شi,XPΝL!j!`„ HKKCXXTFԍ.;wDC-hGR6mBѽ{wcE-  ѺukdggU$CGTt ǎɓ'1n8e֭[c̙Xd #Dz ===Xm~:Zlx1h*2b hhhᆪQQfO?3f`ǎRkjj &`ŊV ~СCGu֭Ê+H;C ɓ'Uf4ep=>>Å ؉"{{{c˖-`pL4ueM6WhqqqATT+DW#88< EQQz\vv< B;F ,9&OL; ~G|w0a$^ cǎʕ+1 /)SЎ)<0gqd͛7>|8~gXz5+SRSS`޼yАDŊZ*XQ*֭pUx{{ӎ|GEpp0+l1R5jiӦ|2(J) 000@߾}deek׮QVF\#all,n:Bq5zjc x ѣG c:a`oouюIM6Ŏ;k.:tv:KII\ю{\L4Ӆ$\I Eh"D"r[ܒ.ks'( ].k^?=R~>qy33gs>ϟf͚a̘1z=T 򠭭M%//&L1c0n8ǣYfcppp@HHك &PaTȺuc/T mڴAƍi^wʜb$''c޽tLLL0jԨH+LaP"`̙0`8Yr%ƍWWW;v\122;]/8p jԨQ;8p ƍɓ'###wJ;p:vZj!99VVV#+W`Ϟ=Xd D"Qڠ055P(D5]+++ 44*޽{صk<<<(MbXd nܸ;N`ooOj}֭[X\\]]q5޽hӦ <<l"ㄊ1q8z(jժ;[f ttt;Jcԩpuuq 󎥲̙ť02Zj7n̦M; w۶mcիWgݺuc=Tбcǘ&0aH$%QTT:tFv444Xvv6( C"͛3oor-_XXYÆ YٳgdR52ʕ+\szիW͚5kBٰaXYlll^XVV)E1HĢxGQ)111L RncLGG޽wjZ*dСaÆlРApņ >}:+,,T:(g2Pȶm;`;vw .??5j0T LMM:tk)SEBqq12dY&;s̳P IDATd5kd-C:t!֯_;J;v,kР{(_k.,,,۷yQyUVۢ* ޽ǏyG… 077GTTO*c̙3y!J'O̙3i(կ_m۶!m6]vz&&N۷ocܹ +ʭZj000:YիWi&AWW[B رcu^z]^z5kV\gϞ)x"Fɓ'cɼ㨤UVA(*_zaÆaĈ###ޱTˑ_ۢ 133CVV=z;m߾666000ŋ;޽k׮78DI,[ ժUÏ?;spp_^^ ^x;RQ\\̺vڵk'bj׮tQdܹsȈ}rDmݺ B?$\Y˖-Ynn.(*+''ijj;v]^؀dvzz:>}:d,00~aY}7r7775mڔ7N}R޽cQFΝ;\2'''9gLGG&t͖.]; g^zl߾}T9K.e… Rkm߿7 14mիXDFݻwɓ!HxG" nݺuxΝ;ʪ^::uTz j7n@^0ekcL&}*VZ!33^k˖-ׯxbKHEikk#,, ѣ'D"_ǎñcRV\ ޽&&&T駟tR<|K o߾˗%KU bҥh߾Zy(3g2555כ7o Dlw$"gLSS?EAAALMM Z_f:t`-Z`?r 5DL/& իyG 16l\H$l۶mnݺQF[U֭[={J;]bڷon߾;ԝ;w:t@RRbbb 55jpaܹ#F@qq1HD3;Jrpp'OpuQٷo,e۴i}!55M6ŀ`cc'NȥEahh---ɭ~͚5ôi'!_VZ£=z ##˭Z Xf憑#GbƌTI_gʥd`ܸq;v,0h M>4qD<۶mwxETQkѵkWޱG}_Pw$ٳg󎢒:vڵkW!HNNƷ~+MMMo>$&&BKK ={Ν;',};ޑZ~=eZU988 ;;gΜE222eb$''c޽tLLL0j(ܽ{w4366FZZLܺu +W… e2ly322‰';9::bȐ!6mRWcعs'ڵk;___aΜ9x 6lPם?ΰF^^^:()=|hР jժD"xG)B,.\@Nx"JM6ӧOHE Q֭P('(*E,̙3x-(rXMz*m8q"޽իW#88FFF={Rgzzz]LZYYY5k&NΝ;K}BÑ77F0a1i$pLY~YYYǏ$kTRAzzzJ11ѧOX:ڵkEX֭ϟ[n2BSZ={ 88w!!H;\DEE!??{B4551qDܾ}sE`` \*ZO?˖-zۄ(kkk߈Q\\ +=UVqNe%%%6l޼y#GМJJ`̙Ž;>LBB kkk|aaa8{,/ǤK 1dDFFرch߾jݺO333}B666r3Q.}ŤIի33*396l;JԨQ>>>sMe˖~~~eQtZzQ+99_6R%t!!!8vƏ_z,XիW9'N@HH5j;)===~ lmmOF߾}9&&SXXC"22kTRQ666(..ƽ{xG)ppp Μ9#J.qI4j]trwe#_j*bС 'TQKNԩ___ܹscǎ/ZlM6^茍EII <<<`ccwwwKGHH݋ &15k0n8bݺu?aii;YfGAAoߎmuAdd$"77 ‰' ;;;`D%9s`| ==2---fqH;jԨ?;Q0W\aժUcE%DDD0Çԕ+W;ԥӧ3MMMfhhYqq1Xw^& Y~~T[f `׮]J{(Ç3uuu6}_δd444/(z6m8q"qX ^x:w֭˒#$&&ʽFO `׮]r@y0 ,Y}}}۷w,4d69ѣGعs'\\\x" +<==agg={Ժujժ!::cƌGfQNXYYkӧO#==]ƩFFF8p&MKbܹP׹`2JE?2B>cB(bذaعsgʏ=’%KfTVM^Icر;MOZ|||vZ,^^^^T'ڵkcǎ8z(6m;Rx\;L$$$ //=zBQh=ѲeKn݂?>}͛7p#G"''OaÆ È#p1(h'"U5uTԮ]cƌׯB$aU׭[7 ;w)HJCddJnhАwB!DdeeСCرcN8|0<ޑXp!:tÇD%GE&!y B `ҤIU8uzϟD8Y`wo/_GiҼZ1114B:@MM .\Eܼybnnn:t(nܸޱ !3tD~:u7xG"a=z4 I-'X[n|۷oѣGѣ(Bֆ1ݑ\޽{ٳg]vxvZԬYwFE-B-Z 11ҥD*N:Fdd$xQ Ftt4(_%66իWGǎyG!B333*jIIhh(ڶm@\Jsg򠢖 ݻZZZHׯqFuAj`ll wwwT};Pn]DFF{Ν;yG"X[[CLL 8 OCC666J?Vll,:w Qй!믥' G˖-!PQ={ݻwaoo4xyyd_ቊZ2Ƙ1k,xzz׮]˗/ŋ@HHTQH&vڅ~ F/cc9·~C*:yňR!qqq{Rֻw`ll ''' >wO?ٳg2@~ڷo׼(;w :uBII N>-[oM&E>F;^^^hРW]b())?(ǤM@ ׯҥKwߡw,"G[nEӦM쌜ޑ^x޿<4ElW|D>D"Q)͛.]}_S|[c wEiz gφ .^`ʊw4RΈ\} ժUÝ;w@ s2BdoҤI044p!4hЀw,"'ժUaiiQFt333ԯ_QQQС8 MMM?!$/QÖ-[PZ514lO<EbڵXbD"0uTf)tm۶%4GGG;wo޼Aǎq9ޑ5mBXXVX;ѣ"##yGXtԉR!C-զڵkSQ3$ ,^sJΛ9_]Բ-͛2d֭[܋/>\ה7{7n mmmtn^?io3 !!̙3~,cy֧"wy7dffb044 </^P>:[nرcHDlmm/`ܹ Gab:u yyyTX\\u&>U ^|3g000X,֭[W`СAݺu1rH~G}}}L0#| IDATٕt:ʸT$P9߿CVZ[.>Km/??RTdxcb j׮Msj}c GѧOܹs+V@͚5yǓ?#Oŋ6333c޽c1Ϭٞ={>XvLWW?~沌 'N.e˖W^L3555]&3؉'XNNKJJbBeff~4^S nbjb5bǏgҥKW^Аijj~OVU[[|t}LFF_>?~|_oގ[UִiSV~}v1ͮ\옖KLL,wK0@|||XII HDƍtttիWyGQH<`XTT(#vqqa...z[=}5k֌5hЀ,/^իWik,99{m߾`}a… ,;;mܸ`}3ctuʸ}ٙ%&&wޱHVZ5fiiY&Ǘ޷W~*fffQFc5bB|  XWcff̙#6D"aGeL 0v ޱJQ1Wz!Hѣ?\ff͚.]ye˖e>8w^f#F0uuu /w/"\]]v}1AP'Zۋ/XСCYqqq^_ގ_0)o[ޣGfخ]>XӧLSSYXX;_yPQ-[0MMM6`;-j;vLLL͚5cZ*wCZ)#}wqqaؾU~**jѱ@Z]ta^^^RmSYEFF2KKKb;ZQ1̙.]0''^0ydM0>}ŏ_~/^(w[yͧ20,;;򦦦eiXgXjjmQLMMQvұf ]ܟzMy3 ;;ZZZQFv*vyz~Nqq1\]]ѨQ#l۶ BmݎSʳ [H$~0߀@ @JJ ֭[HC.]ڵkȁ>ߏ'Ob…(\ps(Xq͠JV?S;?B!WBs~{6ed~o >%_GQFXbn/ЩS'888f͚8{,"##ѱcGTZ'O۷oajj)S 552#GDTT޼y00x`ZtcŘ0a Hի397&tttwޕiիWnd]/߽طo-Z )) H[ޚUD"2̣GGKÆ SbȐ!Bqq1XD:wuaɒ%7 ѣp QٳgHKK$JVE~~~'t6:PsedV&,c*w,(,,&rK.ppp@zp9DFFҒw4%ֽ{0n8[իWY޽^1Z?YoWGGG>|H$b׮]c1|qYoϭOE*~322b͛7g͛7˗lƍzeƝ._yМZ+%%5k֌5nܘ9sw"cŬA(y1CCC1eƌCRi2s볰0ɓY?_>V޽?:w&$:sESKY .|4Vy:kN-:|ݱ2SKSSm߾]m*Bm6ֺukƜ{B%|uQkԩ1._2337/^M6zN:SNlL"<<3f ={vi-C K.1_S ݼy 8լYaaa޾tqIuޓv}ƍk׮L[[5nܘ_~^Ԓv,Tno{%9s&k޼9SWWg| իW/+*j)L&ۼy38DƲXv?#e۷yG"KKK6m4U/|n?wK1ck֬SWWg͍}9ssΕy~ԩSe_`A#:qH~j?by_~Ç˼ݽgO玁R,:TXH3EEEIME;f͚{ȑts `СC2g!DhU|%%%X`/_ÇcÆ Ǐ WXXu_8ڵkc۶mpss\]]Y#*Iߴ1dw)t 000Jeee!((+V@vv6ƍooo4nܘw4&Չ !|P(Ē%K(t.]HFpۛw444Э[7W̙3(,, (BHt hkkQF|ϟM41dܾ}TВ*jB={Drr2X[[ߟw$"#ضm֮]qňFII (&MЉ&!ٳgannwe,{ ذaf̘ 4OePQȅ@ חwLBQF8q|||0sL5 999cpqq… 兰0qrppׯ;'%$$֖w ܃б@Y>}]tR._QFe˖ q}BWWw|xSUJ-BQCJJ jժ+++Iؼy30`<w$.v^˗/۷4!IXXѳgOQ%>>G׮]k9r5j䀊Z 4iX,X=Sޱijj prrMb1rPfMZB$44$ BCCaeeUZ:zhiKS6T"" xܹs۷Gxx8XDիǏÇ2dyG;!>>w2ХKBQ!*˗ (UPP͛7UV4h7o .QQBRRRЫW/899 c)i޼9BCCɓ'#w 6D6mrb||< =$B8ٱc~ ͛7'wׯc޽h߾=xU!DAլY;v@PPйsg\rw,"%֭[xbqN,+\QxmBQf6m =||}}ahh___ؼy3y#!(ѣG#%%ر#V\ޱׯǂ ;\b"##wR Br:7nˋwdddFFFXn<==q}wT"%cbb$,Xχܹ; 7oFΝѯ_?ܿw$8~8"\pZBbΜ90aڵk'׾Я_?tCpp0_cBCCCYHPQW\\t1D" >>/_T:===^Ib1=z4Q<*jB!r6o*h EXXP\\7o"-- /rKCC022BƍѤI4i5k֔B^o9圐(W^a… ֭[SSSޱHlڴ Xz5f̘;}w{.bcc?{lʕ+\W%%%vq9>}W\):*J":u*֭[91!e=|'OFxx8\. akknݺR:!CsΕJYYY ʕ+ :?ڴi#b! ̓J[""5k!`bbiӦ?Bk@EJJ NdL2-.X.]c׮]pssGvڅc˗QC˖-yfcHKK+-`%%%!55 PSS+S xf͚wԩ#Ԅ|܋/pI8q111q@MM egΜ ???s1p@L6 V߿իWc˖- 3f ~G4jH i!J"** Æ ۷oKH9r8{,Ξ=l޼999QaeekkkXYYI&ׄÎ; P???9&UqӇwy}ʵb՘0a\V41$$$ȑ#8z(,>uL6Mq ,ĉHNNF~~>RRR`aa=zSL)OK$A("((Æ 㜞777 >[l'c qqqظq#8Faƌ?~<T"DdffbԨQ8~8$ jԨ+W|P*))7pǹsPXXZjcǎ:wzq\+˗/1gl޼666Xf y"_èQpaDEEԝ-۵kX,_n+ҥK033Cjj*ڵk'׾]aa!s8*jdcXjfϞ {tqqq >(t]~1ŮjժkGٳg1j(,Y.VpEEE7oX lӦM4ic Ç~5B?֯_OOOx{{cŊBK" &&۷oǁ777L4 :tajLE:<\\\p}ŋ+<7ox?gΜAff&D"ZlAM6U(P̘1Ĝ9s;B8;;8y$/?4i\xΞ= wwwdee?@]]{Fhh(DŋGBB"""}}}B,whڴgIOOG֭ "DJJJ0k,YK,?\>}۷oǦMp]XXX`ĉpwwc2Eɓk.!..666_'Opy$$$ >>)))˃ڵk XXXk׮h֬ք(Blذ ,6,XqTnn.q]šy#}\ԩSF!~-,,Э[7^Zn}*̘1zBPP"""0fH$D"\~-Zw^ׯ_COOvvvWcT^z!22ؼy3F-Tm޽;"""yf9y =#""2dNJϢ!*`֭2e իK.VZRk7o, .@"[|]/_bѢEX~=Zl_U&%W%oc IDAT߾=233ū]ahh[ʥ|"((ÇK(==SN2331}tL6 +W䜔(Exс5b1b1+=-[0~x 44Tenhn߾Aŋ 'ѣGw^DDD@ o߾6lMMM9&'ʊZ7o -Ze׻wp ]w4o޼t^. XZZz*_~XlR^xݻqqqhРHdlذ=9Ϝ9N:!-- 2O?<.zkdEEQ!@D\M5SJSɬThK-Ҭ4sDYTdea}1J:xfx`}իBzz:ڷoJI"228~8ܹx{{!V2 ;;}'BCCѡC%<"zPhh(͛=zM^SSpJ2d^|EL>%j"555xwЯ_?̛7E-_(DGGٳzWW#<<1c |'xg]5̙3Z1)[dN7|?7xw~z̞=6mRc"_.ɰuV̝;WՒ6(((ٳgnk׮\,(cƌ+DmokT*EDD<~~~>}:L0"jΝ;ggg䓖&_Ѿ}{ODJ&ۇ>3g>#۫4N:!""B+d2X[[?ƒ%KT~^z WIrr2f̘L|w>}C틤$n$BŋřXс؉ CCCֱk.r~$''_ĭ[e qQ9rᨮƠAMJPZL]]nܸ!CjjC|}}M4PCCߏw}xRݥ7n {Ʊc`llɓQ__#G\x駟\@lٲo&ܰsο/IJepYp߿1JHH8;;X#FyЀLt޽IVd2]}<<<}v",, Gř3g___7SLaE*PԪW\gs;wE޽4H%IR|Xj;`055UwimիWOOO9rD]ʶqF,_S2 XXX`4iΣ- 1w\x>riӦA"`-X%iT*vGDDܹs؉ˡݼy/20gȑ#~::tqa„ 9r$ߤ&cED\(-- <<<.R2Y_5ڵk~-bf >U͛7ѫW/?*;ϙ3g6ɓ'/B__;vhǏ7d2NHTWWb̘1ҥK%"êU駟 ?~<ƏήP4L&CjjBZXXXKB?dX[[6޽{ذa֭[}}}kXt)wQc8tV[x饗WƗ_~\CcʕXb&O͛77k)qnn.{>?~^y'Vxx8`kk ???q9!nǙ3g?ѣ>0j(9.0ZDpA)))Ax;0,Ɛ!CpAkN%5˼y󐚚H#$$5558|Ρ / 99k֬ }˗/ŅKJZ4ɓ(..5 &vc 0@eKtZbyzZ7ZDj!66V .^BW^ ݺTk׮7|ccc׿? &&#G8ݻ1{ll#^y|*9&۾};^{58;;cΝٳc_.n%GEEرcΆ) "MԊ k׮̙38s Ξ=Bt ~::us%i$ZDԪsw\T*).'''u;+cXd h5 Çݻ5~EQQlllpAL0A%Ƿ#G*-Ν;c|066СC  #1"6 ]NˋT=JlݺWFaa!M>zRwimӧ1n8L8 tuu]zw/mۆ۷o+ؚF&a͚5m۶V.\bCGGb9DXMM #T(,,;0l0_= ""|.]{+V Q0""jBnn.._,\111wѳgO!...O?aӱ|rGݥz0a&M۷klVxx8FL888(Ǐ vޭj,̚5 .]ªUdFje-v`\t 2 Epp0 uJD*RPP XшCuu5:uooo! @!Ē;uٳ=z4VX H0""j/yU]]ۣ_~l.ب\ЀO>Arr2|||bܸq[Ν;cbԨQعsFϩ6n܈_~YǶ[ozK$acc;wC%#))I:>>?YWW{bժUHNNƄ {a-hTʕ+#//ݻB5h <ք|Wصk`TwiNTTF ߿_キUVaݺuUZށ0uTL)'f̘l|w6mKЀDEE!""'N@ii)lmm'.'tttTwDdCll,.^Xܹs={1d :nnn~ӯ7o7|cDD~wdeeC bߟz*x$%%A* ^^^4h >rZ?~ 8nݺaxW9Z-ZDDW\QB/)Ǯ񎋚:Zbt 7x!!!lNc¡C4濱TVVرcO},AСCXS000 uDM066СCša=J$%%UBBQWWSSSSC쬔m6cј?>ƍǀZ=ZDD W^_xC^Ķt__6~\\k޽3g/^%WOIޱտ>|X#o޼o&:}6z聘 2DI:|Xbyl޼kB\pAƊ.N,???DZN{ZׯC&)-8;;+G͛qIc֬YXp!w﮴i:ZDDZD>Kt%$$ pwwWO>.WrrrqFl޼eee ŋSHHHȑ#ѻwooh߾ZȀ#N>aÆ=ձۇӧ)]~3f[f,X@%yp8+!!=zdff"99qqqvŎzKKK*矱uV 00 ,s=MbED4Dd::tPw*Q]]]vaÆ HHH'aƌmmRSS ?~*S=0}t\СCHNNVRe-kx]vG.MBtt4"##gϢNNNb'Vpp0wl%Brxz*QSS}}};пڪ|۷;v УG̛7/2lllT~~"MPDbbB;kvvv 4j;e͛caXx1ҴJFF`hh'N^m,\pSg̘1Ž;TY(++ÿ/޽:V^ uf#))I:@=8 (..֭[1auu#vcCWWb'oHg];w@&k#>}IrrrҺYvUUU8yؑ GGG >ƍȑ#)C-""R:\rEa}JJ AsɃ.OOOHFXX6oތ'Of«D]BL&âEuVl޼sm5 ؽ{cݯVVV رcUTׯ;/ܹ GLL؉D#GeP[[tܼy7oĭ[ďbpekk={gϞѣW^{@sd2ɓ!0tP?Ǐ$jjQ(++իW!.]BAAЫW/! W^y'NԚb >_|e˖k֬UPPPXN>g}wޅ +l̙3xRT\sΡNNNb'VppVn`A 긒w]ݸqKKKêqUϞ=[M|u1:s JJJ`gg 9GnD-M\QQQFUULMM0^;5&pil޼ &LSׯǛo~VRѿǣ;ߗ_~?*N8^z ڵïC$S__$+22bム v)ٳqΝ6nDP4F}}=_0ҥK-/CU;999صkv؁Dt3fYзo_ԤN;vܹs1sLlٲzzz*9 Ǜowy={6→檩G}իW͛aaa֚4L&Cbb""##Ǐvvv`#G[n.HUVV"==]ܺuKdddUN 6^.ݻH:u v 퍠 aРA*{#P4Zee%k׮|E//={`ǎ}6\]]1uTKmjVXXM#Gb׮]*{^x!<<ӧ&N>L%55Gjxf+ IDATj*f̘4|5kjiiib'VDDJJJЩS'X$6555@zzEEEmmll^z)V=z􀹹EG#DEE!!! ˛9Hs1"""X1ps.U۷c׮]w1uT̜9;vlٳ8q"<==qa)?#^{5o/JѾ}{ܹSNUz=ͱ}v,Zعs'z衖:Mb; ޽ 333 rM9  233%ڵCΝ q*+tbT444<4WeaرcΞ= sss{ϯUvaĈ000'OM|r:&&3g΄T*Ŷm0bĈ;4k׮\,T"GffCK322VݺuC(~ީS'5?\˗/Fa\/uVHJJٍDzz:tuuѻwokh׮RϟP"** ]tɓ1~xsss1j(ݻҎxb\p/_.Xׯ_ٳgvGʕ+rJ??Cڽ/^gbCGGb'oϹ#Rj -- 999UƍoN/ݺukU $n޼X񒐐T SSSxzzb8p 7WHs0""6-''G]hC__nnnUi>ػw/BCCΝ;ǔ)Swݫ |WJ,66k׮Ŗ-[q&ᅬ^zᥗ^Rʹɞ={pQKV걇.](C؉5bĈ65`ږdgg#++ BVVqdeeL9tnݺ]tA׮]ŋCZ4|nj2h v! 0K|}0 /T&.QTU%HZ<$'ϗL&Cbb؉jH___3FbDO*?? ]V;rrrPWWсmVmmm_YY\D$%%!)) 'a``WWWǀ䎍Dh @YY^*t 5x'Zb`աC3F)C-竡)))b'Vxx8`kk ???q9w %z(..~hvUw>Êz^%%%!-- `ee1+"jZDDDJxGTTQUUSSS+]}yc`߾} իWaccI&aҤI | 4ɓ(..5 &vc 0@IU=9L|dggVyyyFNN޽w*ׇ̰-`ggΝ;ҥ еkקꦥGkא,~LLLC}􁫫RUQPHEd2RSSƢFǎuT۷D||<0zhL8cƌ?vyK>.** ǎCvv6LMM1dq.'%Jz*33}wW;[F}}=nݺdSSSQSSDnݺ}􁋋Hj#!!A!jp#,, d2dƏɓ'gϞMޏvi󕗗ϋ 322`llC"88XzH QPP\"??999(((P贪cddΝ;NjPm*..ƍ7.)))qjkkݻ+t\&&&.ZDDDjVZZ˗/ڪ\v@GGܿNBhh(92b7n|||ĎZB9sFƊN,??^J$'J©wU^^jkkSNܹ3lllҥ {UUU͛qQ~w]vxgлwo8;;]W...yԎ!>>Rfffpss;e2bbb ;;ݺuȑ#1n8L0Zcƌ ĹXсbMG0''%%%yyyh|`]gkk<,Tt=`eggCk׮իz޽{gϞիveDjiz\~]BT444( 0`|||A@ll,>Ç#99jiD'''ܹs xgSSSuH(,,D^^ PPPUghhۣSN lmmagg=vi5y@CCRQ> ...ODZ@RR8+22'''\uzPKH$L0/2dQ |q~U^^d5$ ѩS'sq8%_hkk KKK5>Jj{!33Sj1##555 ((WQɘuٸtx9t***`ddcРA4h'5sL}V=xT*'HЩS't ]taooΝ;sDmbEDDDD-F=%4uaa::t ^0p@ѡCt:t1BMM ݻfs70Ç+\gooѣ0"""""q/EEE 󅀇,--ѹsg۷)KKKX[[3hhEjjj/-((@EE1 ɗF춲 N"VQTVVQAxx氲Rp݃U&&&jx %%%(++/(++{(Ue۷Wر#z聎;Va-ڷoGLDDPHK)c hk...])WUUd UZZ*~nCCCXYY),֭ n>=QsHj#""VM"`Ϟ= Qw) nnnh׮B8xF#G]tttI RTUUA* ߇T*Eyy9*++Q^^d ոɐS"077^gii TZDDDH9s&v؁`}x#44Eyy9֬Y5k6lѣ?~<>3,\2 v¿o,]WVaҤI8|0cРAz*|||P@5+%yW eeehhh@yy9d2*++QWWUUUCjHRԠ >PYY)QLMMadd$PFFF055Eall cccXXXFFF?1`nnL?O"""ucEDD=IHL<Ü9sйsg| srrBB@vZ>}Zvgƞ={PTT)";ѣGښLMMCGG--- EDDjAO|O1tPXYY-w[h6mڄcܹ8p|9֬Y~DEEEСCAFFFJO| MӾ}{gljj*G#'9sss9533_6T[ZZ,,, Hi|"""l|&""f[b"""m۶59o7mۆ ^}U9SeeeXv-|8:D~ [[[,Y֐H$%vX35C-"""G4i֭[WWWtCNNL:/\W\AMM _@<]]] 6 yyyXz5 Jqi|wU[FFtuu!H5cEDDDxbʕ+8q"Oaذaùs```+WΞ= gggL>VVVpqq-[?x={W_ņ `ooGGGl߾/`…  Hpa wH5&HaR3=9~HDD=|N-"""""""": H0"""""""""PC-"""""""": H0"""""""""PC-"""""""": H0"""""""""PC-"""""""": H0"""""""""PC-"""j5d2K """H=bbb]m۶ ӧOGv] DAEQ˒H$.Ӟ={24;ڠ{gUVUwIDDDDB""""WYY {{{TTT?`ff___ݻ oQgDDDDDjH$,Xڵ 7nĢET1i:ZDD"][W\!CP^^'B*>tېٳ[l P-i:ZDDԢz聨(]n… zjIDATĉb ,]TEDDDDD$PZ.]dddd`{Xx1Ah*-Yf $ $ tfkxݻw""""ZDD>NNN8}4LLLp凾/HW_… 8|*bٲemG>}:A@PPK!"""PLGGśS0`F͛7peDDDDDjF͛7nH1"""7n8ɓ.4C-"+ZH$5k 88XR@MM 066Ə#G@&ǭǞ={0|p_vR8: 鉋/6>[2kUosYZZp,D+W57~ʔ)Obر0771p|ݻKgAvХKT*Zvbɒ%޽; `mmɓ'#11o L6 Сƍ۷o734iabb???DFF6Ycs&"""R*eϞ=2LLLLLLwwwRA,ڵKͅpJ-[&N>-.,,L |gBqqPXX(_^-[P 'Nӧ .\tuu'z\Uv'_ǩYm#Gttt[n=T믿6=`nn. BEE+ ™3g瓛+8:: BXXP^^. +V_}B ;w.]* >\(..u&PQQ!B@@`hh(DGG7L8Q*++'NFFFn{MBܹ.TTTW\F!t]h׮wsL2E2ec݇&ZDDw1U_͔Fh-*[@[P)l-hi[*Z5\"ɴJȢ? ?h~|o{1/{>s^|>93Em۶I&;;8SPP`q~榛nrk9s[!$--ͭ_~~lns[]]}']zMbb}q,=<Yg4O$SRRҷǛs8d#׻744I&99yLY/^l$?Эff9Z&##ì\ |Hr+޵ >|wҞc$Asss$SYY~3AAAnE-O'(jO!X 77Wk׮Ν;u7Keeen233u-]T_1&9͟?_w~rrߏn111:y1Xzy"h9o<%%%魷RWW\˗/f;o+55ե-))Iqqq:zF>$~nkjjTZZԤTkӦM p^UU%͟?ߥ}ߎrٳg$edd􍋋̙3O"eeeJMMՁ+_ɛ7oo_~EsQDD233 z'h9k֬$9sf b$44TO:ƈ|q,=3-]exuKG_v] (Cww.ۇp8w}'I駟)S$ɹXzzzs^t~'Z`?\v]III*))ѣGӾ}t)UUUlK~wuTTTf9cqFI1fkx\l8db^yyy6m^ykÆ *((Ptt3ۇYEO)22R}}}(C``ۧ?XIII***ҡCۃ@ {I Ozz?((HSoot~'Z`jǎڵkBBBtwå_TT;&Il;wMf{$={V_}O+VhԩλLj[QQQVpcIf+XkÆ zr VkllTkk; ,$UWWmj*p+,,LvRXX>JRvv(Iׯ%\_1uvvɭ'`QI۫,mڴIW]u.RUVVU999tAjoo / cnVIR@@→\?~UTTXqq-+yX pym4Wc=fIIBBBn:vm+.(Ghh-[:|5ecs)11QV޽{ӣ'NDmmmnEegg߹/\8~~~\n", "$$ NoiseLevelValues_{linear} = 10^\\frac{NoiseLevelValues_{dB}}{10} $$\n", "" ] }, { "cell_type": "markdown", "id": "57989162-4a17-49aa-8eec-39f0bde0c3d7", "metadata": {}, "source": [ "Right now we compute the nesz thanks to the following documentation : https://earth.esa.int/eogateway/documents/20142/0/Radarsat-2-Product-Format-Definition.pdf/1ca0cf1e-5a15-a29b-6187-9e5cb1650048#page=70" ] }, { "cell_type": "code", "execution_count": null, "id": "1a4ff245-531f-42db-9803-6193bc339d21", "metadata": {}, "outputs": [], "source": [ "nesz_low_res = rs2ds._interpolate_for_noise_lut('sigma0')\n", "nesz_low_res" ] }, { "cell_type": "code", "execution_count": null, "id": "a323b20a-6749-4a19-9ed3-361872ec53da", "metadata": {}, "outputs": [], "source": [ "plt.pcolor(nesz_low_res, vmax=0.005, cmap='Greys_r')\n", "plt.title('nesz')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "a741c220-68e1-4e4b-b44a-0bd8fb4a77fb", "metadata": {}, "source": [ "### How to get the noise substracted Sigma0" ] }, { "cell_type": "markdown", "id": "98689414-952c-4f74-b333-ff6e2e6919d9", "metadata": {}, "source": [ "Right now we only have to substract the noise_lut to the raw normalized radar cross section. It is made with the function `_add_denoised`, that add the variables to the [RadarSat2Dataset.dataset](../basic_api.rst#xsar.RadarSat2Dataset.dataset)" ] }, { "cell_type": "code", "execution_count": null, "id": "416b33b9-28ca-449c-b47c-9b467985bb14", "metadata": {}, "outputs": [], "source": [ "sigma0 = sigma0_raw - nesz_low_res\n", "sigma0" ] }, { "cell_type": "markdown", "id": "02b45fd1-1456-4930-9597-43cbbdb02cb3", "metadata": {}, "source": [ "### Comparison between noised sigma0 and noised substracted sigma0" ] }, { "cell_type": "code", "execution_count": null, "id": "4b645cf5-d10d-42d6-a4ea-bde16b37c02a", "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(26, 12))\n", "\n", "sigma0_cross = sigma0.sel(pol='VH')\n", "sigma0_co = sigma0.sel(pol='VV')\n", "\n", "plt.subplot(2,2,1)\n", "plt.pcolor(sigma0_raw_cross, vmax=0.02, cmap='Greys_r')\n", "plt.title('Sigma0 VH with noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,3)\n", "plt.pcolor(sigma0_cross, vmax=0.02, cmap='Greys_r')\n", "plt.title('Sigma0 VH without noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,2)\n", "plt.pcolor(sigma0_raw_co, vmax=0.7, cmap='Greys_r')\n", "plt.title('Sigma0 VV with noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,4)\n", "plt.pcolor(sigma0_co, vmax=0.7, cmap='Greys_r')\n", "plt.title('Sigma0 VV without noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "6c39d764-5982-4ab5-b990-4df4077c1e92", "metadata": {}, "source": [ "## How to get the incidence ?" ] }, { "cell_type": "markdown", "id": "e7373f9e-8bd4-4225-b79d-30aaab849f35", "metadata": {}, "source": [ "Radarsat2 product format definition (7.2) provides a formula of look up tables, depending on the incidence. We already have information about look up tables, so we determine incidence with these look up tables: \n", "\n", "$$ Incidence = \\arctan{\\frac{\\gamma}{\\beta}} $$\n", "\n", "reference link : https://earth.esa.int/eogateway/documents/20142/0/Radarsat-2-Product-Format-Definition.pdf/1ca0cf1e-5a15-a29b-6187-9e5cb1650048#page=78\n", "\n", "We have the choice between 2 types of look up tables: denoised and not denoised. We have chosen to determine incidence with not denoised look up tables.\n", "This computation is made by the function `_load_incidence_from_lut` that returns a DatArray" ] }, { "cell_type": "code", "execution_count": null, "id": "d648204d-869b-48a4-8846-f792cb67771f", "metadata": {}, "outputs": [], "source": [ "incidence = rs2ds._load_incidence_from_lut()\n", "incidence" ] }, { "cell_type": "markdown", "id": "4f00cae4-caf2-4d0e-b110-d4d8c47e3ec8", "metadata": {}, "source": [ "## How to get the elevation ?" ] }, { "cell_type": "markdown", "id": "abdada4b-bb0c-4374-9c9a-5f441f1b684d", "metadata": {}, "source": [ "To get the incidence, we apply a formula :\n", " \n", "$$ \\theta = \\arcsin{[\\sin{(Incidence)} . \\frac{r}{r + h}]} $$\n", "\n", "$$ ( r \\text{ is the earth radius} , h \\text{ is the orbit altitude} ) $$\n", "\n", "Reference : Data Products Specifications (https://asf.alaska.edu/wp-content/uploads/2019/03/r1_prod_spec.pdf#page=47)\n", "\n", "2 variables give orbit altitude so we considered the`SatelliteHeight` (and not the`altitude`).\n", "`RadarSat2Dataset._load_elevation_from_lut` permit to calculate the elevation (in degrees)." ] }, { "cell_type": "code", "execution_count": null, "id": "14dc8d91-7325-4069-b4f4-e93be7d31c9d", "metadata": {}, "outputs": [], "source": [ "elevation = rs2ds._load_elevation_from_lut()\n", "elevation" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" }, "toc-autonumbering": true }, "nbformat": 4, "nbformat_minor": 5 } xsar-2025.03.07/docs/examples/rcm.ipynb000066400000000000000000000457131476257143200175060ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "id": "f9ee7e1d-c9d4-4d2a-8959-f4a242a887d6", "metadata": { "tags": [] }, "source": [ "# Advanced explanation for RCM\n", "Contrary to Sentinel-1, Radarsat Constellation Mission doesn't have the notion of multi dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "b12158f1-e2cd-445d-b74f-8dacfbb387f3", "metadata": {}, "outputs": [], "source": [ "import xsar\n", "import geoviews as gv\n", "import holoviews as hv\n", "import geoviews.feature as gf\n", "hv.extension('bokeh')\n", "path = xsar.get_test_file('RCM1_OK1050603_PK1050605_1_SC50MB_20200214_115905_HH_HV_Z010')" ] }, { "cell_type": "code", "execution_count": null, "id": "89f81cfe-0b0f-4eb5-b69d-782fc1b3bfc3", "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "markdown", "id": "2e48d37d-70d3-46fd-9726-7d3e25a0ab74", "metadata": { "tags": [] }, "source": [ "## Access metadata from a product\n", "Raw information is stocked in different files such as tiff ones (for digital numbers).\n", "A file named product.xml is constitued of the main information (geolocation grid, orbit attitude, noise look up tables...).\n", "Calibration look up tables are located in xml files.\n", "All the useful data is grouped in a datatree thanks to dependencie [xarray-safe-rcm](https://github.com/umr-lops/xarray-safe-rcm).\n", "This datatree is than used as an attribute of [RcmMeta](../basic_api.rst#xsar.RcmMeta)." ] }, { "cell_type": "code", "execution_count": null, "id": "adaeb3d8-aba7-4ff8-95be-50748477ee9f", "metadata": {}, "outputs": [], "source": [ "#Instanciate a RadarSat2Meta object\n", "meta = xsar.RcmMeta(name=path)" ] }, { "cell_type": "code", "execution_count": null, "id": "36e8851f-e249-453c-bd55-9edb499e0d3c", "metadata": {}, "outputs": [], "source": [ "#Access the datatree extracted from the reader\n", "meta.dt" ] }, { "cell_type": "markdown", "id": "27d70e7e-ef3b-4197-9fde-a687324a3b32", "metadata": {}, "source": [ "### Examples of alias to datasets (from the datatree above)" ] }, { "cell_type": "code", "execution_count": null, "id": "5514bdfc-9f1f-44b7-baa3-51629e4dcbe0", "metadata": {}, "outputs": [], "source": [ "#geolocation grid (low resolution)\n", "meta.geoloc" ] }, { "cell_type": "markdown", "id": "ed6956fa-967e-4437-bc8b-924e73c7da00", "metadata": {}, "source": [ "In the metadata class : noise lut, calibration lut and incidence are processed because samples are expressed thanks to a firstPixelValue, a step and a nbOfValues.\n", "It is made internally to the reader's datatree thanks to the method [assign_index](../basic_api.rst#xsar.RcmMeta.assign_index)\n", "See Documentation : RCM Image Product Format Definition (7.5.1)" ] }, { "cell_type": "code", "execution_count": null, "id": "1b1daefb-076b-4124-9396-9963f1953795", "metadata": {}, "outputs": [], "source": [ "#Calibration look up tables in range\n", "meta.lut" ] }, { "cell_type": "code", "execution_count": null, "id": "325b8973-4611-40c1-9ec0-3013c4534781", "metadata": {}, "outputs": [], "source": [ "#noise look up tables in range\n", "meta.noise_lut" ] }, { "cell_type": "code", "execution_count": null, "id": "8358a21e-35d4-4dae-8ee1-7e81e70c0b2e", "metadata": {}, "outputs": [], "source": [ "#incidence angles\n", "meta.incidence" ] }, { "cell_type": "markdown", "id": "547ae8e7-89a6-4da6-8b33-5d02a63c220e", "metadata": {}, "source": [ "## Open a dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "c3576ce4-a18f-4e4d-9ae4-d8e5d723fa57", "metadata": {}, "outputs": [], "source": [ "# Define the resolution to load the dataset at a lower resolution (if not specified or None, the dataset is loaded at high resolution)\n", "resolution = '1000m'\n", "\n", "# Instanciate a RadarSatDataset object\n", "rcmds = xsar.RcmDataset(dataset_id=path, resolution=resolution)" ] }, { "cell_type": "markdown", "id": "24da7a01-fc07-407d-8196-f0c5bf7fd78c", "metadata": { "tags": [] }, "source": [ "### Get the Dataset object" ] }, { "cell_type": "code", "execution_count": null, "id": "2edf21ee-c0a0-4b6a-bbf5-3fc35e4946c5", "metadata": {}, "outputs": [], "source": [ "rcmds" ] }, { "cell_type": "markdown", "id": "a501c6e0-53fa-4c00-9cd0-701057f92f1d", "metadata": {}, "source": [ "### Access the metadata object from the Dataset object" ] }, { "cell_type": "code", "execution_count": null, "id": "81a701d3-ebcf-4a18-a334-5490fa3389c7", "metadata": {}, "outputs": [], "source": [ "rcmds.sar_meta" ] }, { "cell_type": "markdown", "id": "bfea8982-1c0f-4067-9c36-2aac99a46626", "metadata": {}, "source": [ "### Access the dataset\n", "In this dataset, we can find variables like latitude, longitude, look up tables (before and after denoising), incidence..." ] }, { "cell_type": "code", "execution_count": null, "id": "ee93e584-7e2d-412e-8e9a-d7ee6b4f7a22", "metadata": {}, "outputs": [], "source": [ "rcmds.dataset" ] }, { "cell_type": "markdown", "id": "54f59306-e80c-4e1f-9ba6-1be83348b06b", "metadata": {}, "source": [ "Variables `lines_flipped`and `samples_flipped` are added to the dataset to know if these have been flipped (in order to follow xsar convention).\n", "\n", "See RCM Image Product Format Definition (4.2.1) for more explication about the different cases when lines or samples are flipped" ] }, { "cell_type": "markdown", "id": "220bb60c-7218-4bea-89f6-c210fc54a82f", "metadata": {}, "source": [ "### Alternatives solutions to open dataset and datatree" ] }, { "cell_type": "code", "execution_count": null, "id": "a73a8dc8-0980-40e6-b034-2e6d0c92c660", "metadata": {}, "outputs": [], "source": [ "# Open dataset\n", "xsar.open_dataset(path, resolution=resolution)" ] }, { "cell_type": "code", "execution_count": null, "id": "18831ae2-c6a0-42ed-9c16-cbaf11dd4b81", "metadata": {}, "outputs": [], "source": [ "# Open datatree\n", "xsar.open_datatree(path, resolution=resolution)" ] }, { "cell_type": "markdown", "id": "8822d0bf-a103-44d2-8655-fbbf75b92359", "metadata": { "tags": [] }, "source": [ "## How to apply calibration?" ] }, { "cell_type": "markdown", "id": "27662456-da70-4135-a4c4-4a1722b91bc9", "metadata": {}, "source": [ "All the operation below are already performed by default for GRD products. So, what is following is a simple explanation about how is made calibration." ] }, { "cell_type": "markdown", "id": "aae79788-43af-4e74-bf2b-411312665683", "metadata": {}, "source": [ "### Load digital numbers " ] }, { "cell_type": "markdown", "id": "740e846e-31d8-455b-8cc3-e54d5333ea72", "metadata": {}, "source": [ "[load_digital_number](../basic_api.rst#xsar.RcmDataset.load_digital_number) is a function that allows to load digital numbers from tiff files at chosen resolution and return it as a `DataArray`. \n", "Resampling is made thanks to `rasterio.open(tiff_file).read`. \n", "For dual pol products, there is a tiff file for each pol. So that digital numbers are computed for both pol. Posting of lines and samples is computed thanks to `Affine.translation` and `Affine.scale`." ] }, { "cell_type": "code", "execution_count": null, "id": "dacd21a7-629a-476a-b34a-31f293c76c2d", "metadata": {}, "outputs": [], "source": [ "import rasterio\n", "\n", "#Define resampling method (here it is the root mean square from rasterio)\n", "resampling = rasterio.enums.Resampling.rms\n", "\n", "#Define the chunks size for line and samples\n", "chunks = {'line': 5000, 'sample': 5000}" ] }, { "cell_type": "code", "execution_count": null, "id": "9e217df6-b021-412b-9982-57840e03436b", "metadata": {}, "outputs": [], "source": [ "dn_low_res = rcmds.load_digital_number(resolution=resolution, resampling=resampling, chunks=chunks)\n", "dn_low_res" ] }, { "cell_type": "markdown", "id": "4b2eb7f5-d2f6-4be5-a6ca-e69cc3f4e8f6", "metadata": {}, "source": [ "### Get the raw normalized radar cross section" ] }, { "cell_type": "markdown", "id": "b506a9b5-df74-4788-81b4-733f4d5537e0", "metadata": {}, "source": [ "First the calibration look up tables are loaded at the good resolution in `xsar.RcmDataset._luts` thanks to the method [lazy_load_luts](../basic_api.rst#xsar.RcmDataset.lazy_load_luts). \n", "The resampling is made thanks to an interpolation with the method ̀`xsar.RcmDataset._interpolate_var`." ] }, { "cell_type": "markdown", "id": "3f36c3a3-bd09-423d-ba14-e9065e5269d4", "metadata": {}, "source": [ "This last method uses `RectBivariateSpline`for the interpolation, but it is necessary that data is expressed as a 2D vector. Here, calibration/noise look up tables and incidence are expressed as 1D vector (range sample). Consequently, we need to convert these in 2D (adding an azimuth dimension dependency) before applying the interpolation. Conversion is made thanks to `numpy.tile`, using the low resolution lines expressed in the geolocation grid part of the reader; reducing the calculation. A template of a `DataArray` that uses the posting of digital numbers (with applied resolution) is given on this interpolation function so the result is now at the right resolution." ] }, { "cell_type": "markdown", "id": "25756802-d112-47e1-ad0a-bfa586ae6ca1", "metadata": {}, "source": [ "`_apply_calibration_lut` is a method that applies a calibration look up table to digital numbers to compute gamma0, beta0 and sigma0 (depending on the variable name passed in argument) and return the result as a `DataArray`. It applies the following formula :\n", "\n", "$$ \\frac{(digitalNumbers^2)+offset}{Gain} $$\n", "\n" ] }, { "cell_type": "markdown", "id": "299ce38a-ddf0-47c3-ac73-07398f8dcd25", "metadata": {}, "source": [ "Reference : `RCM Image Product Format Definition` (7.5.1)" ] }, { "cell_type": "markdown", "id": "16d5a7f1-cb26-4f2b-8bb3-2986224bb7cd", "metadata": {}, "source": [ "Different resampling method were tried such as `scipy.ndimage.gaussian_filter1d` that had the convenience to accept 1d vectors. Data was computed with this function and the chosen posting was this of digital numbers. But in order to be homogenous with other operations made in `xsar`, we chose to keep the solution with `RectBivariateSpline`." ] }, { "cell_type": "code", "execution_count": null, "id": "eef4d32f-0c30-4a86-92d0-305b8e133d46", "metadata": {}, "outputs": [], "source": [ "sigma0_raw = rcmds._apply_calibration_lut('sigma0').sigma0_raw\n", "sigma0_raw" ] }, { "cell_type": "code", "execution_count": null, "id": "9893f301-880f-4047-be0b-82427631ab1f", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": null, "id": "73e72c33-e3a9-4c5c-8000-b14d0a6cf864", "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(13, 6)) \n", "\n", "plt.subplot(1, 2, 1)\n", "sigma0_raw_cross = sigma0_raw.sel(pol='HV')\n", "plt.pcolor(sigma0_raw_cross, vmax=0.02, cmap='Greys_r')\n", "plt.title('sigma0_raw HV')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(1, 2, 2)\n", "sigma0_raw_co = sigma0_raw.sel(pol='HH')\n", "plt.pcolor(sigma0_raw_co, vmax=0.7, cmap='Greys_r')\n", "plt.title('sigma0_raw HH')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "783f8c11-f4c4-4b3d-ac84-567d1bade5d1", "metadata": {}, "source": [ "## How to apply denoising ?" ] }, { "cell_type": "markdown", "id": "6e5bbadd-15ad-4ce3-bf00-97692f5ff965", "metadata": {}, "source": [ "All the operation below are already performed by default for GRD products. So, what is following is a simple explanation about how is made denoising." ] }, { "cell_type": "markdown", "id": "5e137f4f-7a9b-4b99-9df7-cb40b1a669b2", "metadata": { "tags": [] }, "source": [ "### How to get the Noise Equivalent Sigma Zero ?" ] }, { "cell_type": "markdown", "id": "eefbcf40-2c59-43ca-8800-57e17a677ef6", "metadata": {}, "source": [ "The noise look up tables are loaded at the good resolution in `xsar.RcmDataset._noise_luts` thanks to the method [lazy_load_noise_luts](../basic_api.rst#xsar.RcmDataset.lazy_load_noise_luts). \n", "The resampling is made thanks to an interpolation with the method ̀`xsar.RcmDataset._interpolate_var`." ] }, { "cell_type": "markdown", "id": "06234b52-fd82-4931-a779-2732cbc18e60", "metadata": {}, "source": [ "Notes:\n", "- noise luts are already calibrated so we don't have to apply a calibration on these\n", "- `interpolate_var` method explained above converts the NoiseLevelValues in linear beacause these are expressed in `dB` in the reader. The formula used is : \n", " \n", " $$ NoiseLevelValues_{linear} = 10^\\frac{NoiseLevelValues_{dB}}{10} $$\n", " " ] }, { "cell_type": "code", "execution_count": null, "id": "1a4ff245-531f-42db-9803-6193bc339d21", "metadata": {}, "outputs": [], "source": [ "nesz_low_res = rcmds.lazy_load_noise_luts().sigma0\n", "nesz_low_res" ] }, { "cell_type": "code", "execution_count": null, "id": "a323b20a-6749-4a19-9ed3-361872ec53da", "metadata": {}, "outputs": [], "source": [ "plt.pcolor(nesz_low_res.sel(pol='HH'), cmap='Greys_r')\n", "plt.title('nesz (pol = HH)')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "d41ce7e3-dca3-4e29-9148-492ec46ace30", "metadata": {}, "source": [ "### How to get the noise substracted Sigma0" ] }, { "cell_type": "markdown", "id": "eaf4c18f-ef7d-4263-9628-aeca44342a98", "metadata": {}, "source": [ "Right now we only have to substract the noise_lut to the raw normalized radar cross section. It is made with the function `_add_denoised`, that add the variables to the [RcmDataset.dataset](../basic_api.rst#xsar.RcmDataset.dataset)" ] }, { "cell_type": "code", "execution_count": null, "id": "416b33b9-28ca-449c-b47c-9b467985bb14", "metadata": {}, "outputs": [], "source": [ "sigma0 = sigma0_raw - nesz_low_res\n", "sigma0" ] }, { "cell_type": "markdown", "id": "fdb16247-b53a-4121-bee5-434abff49643", "metadata": {}, "source": [ "### Comparison between noised sigma0 and noised substracted sigma0" ] }, { "cell_type": "code", "execution_count": null, "id": "4b645cf5-d10d-42d6-a4ea-bde16b37c02a", "metadata": {}, "outputs": [], "source": [ "plt.figure(figsize=(26, 12))\n", "\n", "sigma0_cross = sigma0.sel(pol='HV')\n", "sigma0_co = sigma0.sel(pol='HH')\n", "\n", "plt.subplot(2,2,1)\n", "plt.pcolor(sigma0_raw_cross, vmax=0.02, cmap='Greys_r')\n", "plt.title('Sigma0 HV with noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,3)\n", "plt.pcolor(sigma0_cross, vmax=0.02, cmap='Greys_r')\n", "plt.title('Sigma0 HV without noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,2)\n", "plt.pcolor(sigma0_raw_co, vmax=0.7, cmap='Greys_r')\n", "plt.title('Sigma0 HH with noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()\n", "\n", "plt.subplot(2,2,4)\n", "plt.pcolor(sigma0_co, vmax=0.7, cmap='Greys_r')\n", "plt.title('Sigma0 HH without noise')\n", "plt.xlabel('samples')\n", "plt.ylabel('lines')\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "6f7d249b-e81d-4367-b14f-cbffa0ca5288", "metadata": {}, "source": [ "## How to get the incidence ?" ] }, { "cell_type": "markdown", "id": "c6f23854-21b6-458c-9980-1b28f00e5006", "metadata": {}, "source": [ "Such as noise/calibration look up tables, incidence depends on samples, which are expressed in the reader thanks to step, firstPixelValue and nbOfValues. Samples are computed in the meta class directly on the datatree thanks to the method [assign_index](../basic_api.rst#xsar.RcmMeta.assign_index)." ] }, { "cell_type": "markdown", "id": "794e6d47-2246-425f-b6d8-63b6a039c406", "metadata": {}, "source": [ "`_load_incidence_from_lut` is a function that applies an interpolation with `_interpolate_var` and then return the incidence at the good resolution" ] }, { "cell_type": "code", "execution_count": null, "id": "d648204d-869b-48a4-8846-f792cb67771f", "metadata": {}, "outputs": [], "source": [ "incidence = rcmds._load_incidence_from_lut()\n", "incidence" ] }, { "cell_type": "markdown", "id": "5256446f-97d8-46ae-bbac-d856492f2800", "metadata": {}, "source": [ "## How to get the elevation ?" ] }, { "cell_type": "markdown", "id": "c6dd1a89-0f2c-48c6-aee5-91b39f0db5bd", "metadata": {}, "source": [ "To get the incidence, we apply a formula :\n", " \n", "$$ \\theta = \\arcsin{[\\sin{(Incidence)} . \\frac{r}{r + h}]} $$\n", "\n", "$$ ( r \\text{ is the earth radius} , h \\text{ is the orbit altitude} ) $$\n", "\n", "2 variables give orbit altitude so we considered the`SatelliteHeight` (and not the`altitude`).\n" ] }, { "cell_type": "markdown", "id": "109b5fc5-ae08-4013-8c9e-6044155b4be0", "metadata": {}, "source": [ "`RcmDataset._load_elevation_from_lut` permit to calculate the elevation (in degrees)." ] }, { "cell_type": "code", "execution_count": null, "id": "14dc8d91-7325-4069-b4f4-e93be7d31c9d", "metadata": {}, "outputs": [], "source": [ "elevation = rcmds._load_elevation_from_lut()\n", "elevation" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" } }, "nbformat": 4, "nbformat_minor": 5 } xsar-2025.03.07/docs/examples/xsar.ipynb000066400000000000000000000120751476257143200176750ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# XSAR simple example\n", "\n", "just open a dataset with [xsar.open_dataset](../basic_api.rst#xsar.open_dataset), and display denoised `sigma0` in 'VH' polarisation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import xsar \n", "import os" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import holoviews as hv\n", "hv.extension('bokeh')\n", "from holoviews.operation.datashader import datashade,rasterize\n", "import datashader as dh" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Sentinel 1 Example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE')\n", "filename" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the datatree with xarray\n", "dt_xsar = xsar.open_datatree(filename,resolution='100m')\n", "dt_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the dataset with xarray\n", "ds_xsar = xsar.open_dataset(filename, resolution='100m')\n", "ds_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# we use here 'rasterize' to display the image, because the full image is really big\n", "rasterize(hv.Image(ds_xsar.sigma0.sel(pol='VH')).opts(cmap='gray',colorbar=True,tools=['hover'],title=\"xsar\",width=800,height=800,clim=(0,0.02)))" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## RadarSat2 example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('RS2_OK135107_PK1187782_DK1151894_SCWA_20220407_182127_VV_VH_SGF')\n", "filename" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the datatree with xarray\n", "dt_xsar = xsar.open_datatree(filename,resolution='100m')\n", "dt_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the dataset with xarray\n", "ds_xsar = xsar.open_dataset(filename, resolution='100m')\n", "ds_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# we use here 'rasterize' to display the image, because the full image is really big\n", "rasterize(hv.Image(ds_xsar.sigma0.sel(pol='VH')).opts(cmap='gray',colorbar=True,tools=['hover'],title=\"xsar\",width=800,height=800,clim=(0,0.02)))" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## RCM example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('RCM1_OK1050603_PK1050605_1_SC50MB_20200214_115905_HH_HV_Z010')\n", "filename" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the datatree with xarray\n", "dt_xsar = xsar.open_datatree(filename,resolution='100m')\n", "dt_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# open the dataset with xarray\n", "ds_xsar = xsar.open_dataset(filename, resolution='100m')\n", "ds_xsar" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# we use here 'rasterize' to display the image, because the full image is really big\n", "rasterize(hv.Image(ds_xsar.sigma0.sel(pol='HV')).opts(cmap='gray',colorbar=True,tools=['hover'],title=\"xsar\",width=800,height=800,clim=(0,0.02)))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" } }, "nbformat": 4, "nbformat_minor": 4 } xsar-2025.03.07/docs/examples/xsar_advanced.ipynb000066400000000000000000000406741476257143200215300ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "# Advanced XSAR example\n", "\n", "open a dataset with [xsar.open_dataset](../basic_api.rst#xsar.open_dataset)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import xsar\n", "import os\n", "import numpy as np\n" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## Sentinel1 example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE')" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset with a xsar.Sentinel1Meta object\n", "A [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) object handles all attributes and methods that can't be embdeded in a `xarray.Dataset` object.\n", "It can also replace a filename in `xarray.open_dataset`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_meta = xsar.Sentinel1Meta(filename)\n", "sar_meta" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "If holoviews extension is loaded, the `` have a nice representation.\n", "(`matplolib` is also a valid extension)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import holoviews as hv\n", "hv.extension('bokeh')\n", "sar_meta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`sar_meta` object is an [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) object that can be given to `xarray.open_dataset` or [xsar.Sentinel1Dataset](../basic_api.rst#xsar.Sentinel1Dataset) , as if it was a filename:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.Sentinel1Dataset(sar_meta)\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset at lower resolution\n", "\n", "`resolution` keyword can be used to open a dataset at lower resolution. \n", "\n", "It might be:\n", "\n", " * a dict `{'line': 20, 'sample': 20}`: 20*20 pixels. so if sensor resolution is 10m, the final resolution will be 100m\n", " * a string like `'200m'`: Sensor resolution will be automatically used to compute the window size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can instantiate a [xsar.Sentinel1Dataset](../basic_api.rst#xsar.Sentinel1Dataset), with the given resolution. Note that the above pixel size has changed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.Sentinel1Dataset(sar_meta, resolution='200m')\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Extract a sub image of 10*10km around a lon/lat point\n", "\n", "#### Convert (lon,lat) to (line, sample)\n", "we can use [sar_meta.ll2coords](../basic_api.rst#xsar.BaseMeta.ll2coords) to convert (lon,lat) to (line, sample):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# from a shapely object\n", "point_lonlat = sar_meta.footprint.centroid\n", "point_coords = sar_meta.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is floating, because it is the position inside the pixel.\n", "If real indexes from existing dataset is needed, you'll have to use [sar_ds.ll2coords](../basic_api.rst#xsar.BaseDataset.ll2coords) \n", "Result will be the nearest (line, sample) in the dataset" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "point_coords = sar_ds.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Extract the sub-image" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "box_size = 10000 # 10km\n", "dist = {'line' : int(np.round(box_size / 2 / sar_meta.pixel_line_m)), 'sample': int(np.round(box_size / 2 / sar_meta.pixel_sample_m))}\n", "dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The xarray/dask dataset is available as a property : [sar_ds.dataset](../basic_api.rst#xsar.Sentinel1Dataset.dataset).\n", "This attribute can be set to a new values, so the attributes like pixel spacing and coverage are correctly recomputed:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# select 10*10 km around point_coords\n", "sar_ds.dataset = sar_ds.dataset.sel(line=slice(point_coords[0] - dist['line'], point_coords[0] + dist['line']), sample=slice(point_coords[1] - dist['sample'], point_coords[1] + dist['sample']))\n", "sar_ds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds.dataset" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## RadarSat2 example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('RS2_OK135107_PK1187782_DK1151894_SCWA_20220407_182127_VV_VH_SGF')" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset with a xsar.RadarSat2Meta object\n", "A [xsar.RadarSat2Meta](../basic_api.rst#xsar.RadarSat2Meta) object handles all attributes and methods that can't be embdeded in a `xarray.Dataset` object.\n", "It can also replace a filename in `xarray.open_dataset`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_meta = xsar.RadarSat2Meta(filename)\n", "sar_meta" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "If holoviews extension is loaded, the `` have a nice representation.\n", "(`matplolib` is also a valid extension)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_meta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`sar_meta` object is an [xsar.RadarSat2Meta](../basic_api.rst#xsar.RadarSat2Meta) object that can be given to `xarray.open_dataset` or [xsar.RadarSat2Dataset](../basic_api.rst#xsar.RadarSat2Dataset) , as if it was a filename:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.RadarSat2Dataset(sar_meta)\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset at lower resolution\n", "\n", "`resolution` keyword can be used to open a dataset at lower resolution. \n", "\n", "It might be:\n", "\n", " * a dict `{'line': 20, 'sample': 20}`: 20*20 pixels. so if sensor resolution is 10m, the final resolution will be 100m\n", " * a string like `'200m'`: Sensor resolution will be automatically used to compute the window size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can instantiate a [xsar.RadarSat2Dataset](../basic_api.rst#xsar.RadarSat2Dataset), with the given resolution. Note that the above pixel size has changed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.RadarSat2Dataset(sar_meta, resolution='200m')\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Extract a sub image of 10*10km around a lon/lat point\n", "\n", "#### Convert (lon,lat) to (line, sample)\n", "we can use [sar_meta.ll2coords](../basic_api.rst#xsar.BaseMeta.ll2coords) to convert (lon,lat) to (line, sample):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# from a shapely object\n", "point_lonlat = sar_meta.footprint.centroid\n", "point_coords = sar_meta.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is floating, because it is the position inside the pixel.\n", "If real indexes from existing dataset is needed, you'll have to use [sar_ds.ll2coords](../basic_api.rst#xsar.BaseDataset.ll2coords) \n", "Result will be the nearest (line, sample) in the dataset" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "point_coords = sar_ds.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Extract the sub-image" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "box_size = 10000 # 10km\n", "dist = {'line' : int(np.round(box_size / 2 / sar_meta.pixel_line_m)), 'sample': int(np.round(box_size / 2 / sar_meta.pixel_sample_m))}\n", "dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The xarray/dask dataset is available as a property : [sar_ds.dataset](../basic_api.rst#xsar.RadarSat2Dataset.dataset).\n", "This attribute can be set to a new values, so the attributes like pixel spacing and coverage are correctly recomputed:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# select 10*10 km around point_coords\n", "sar_ds.dataset = sar_ds.dataset.sel(line=slice(point_coords[0] - dist['line'], point_coords[0] + dist['line']), sample=slice(point_coords[1] - dist['sample'], point_coords[1] + dist['sample']))\n", "sar_ds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds.dataset" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "## RCM example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# get test file. You can replace with an path to other SAFE\n", "filename = xsar.get_test_file('RCM1_OK1050603_PK1050605_1_SC50MB_20200214_115905_HH_HV_Z010')" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset with a xsar.RcmMeta object\n", "A [xsar.RcmMeta](../basic_api.rst#xsar.RcmMeta) object handles all attributes and methods that can't be embdeded in a `xarray.Dataset` object.\n", "It can also replace a filename in `xarray.open_dataset`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_meta = xsar.RcmMeta(filename)\n", "sar_meta" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "If holoviews extension is loaded, the `` have a nice representation.\n", "(`matplolib` is also a valid extension)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_meta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`sar_meta` object is an [xsar.RcmMeta](../basic_api.rst#xsar.RcmMeta) object that can be given to `xarray.open_dataset` or [xsar.RcmDataset](../basic_api.rst#xsar.RcmDataset) , as if it was a filename:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.RcmDataset(sar_meta)\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Open a dataset at lower resolution\n", "\n", "`resolution` keyword can be used to open a dataset at lower resolution. \n", "\n", "It might be:\n", "\n", " * a dict `{'line': 20, 'sample': 20}`: 20*20 pixels. so if sensor resolution is 10m, the final resolution will be 100m\n", " * a string like `'200m'`: Sensor resolution will be automatically used to compute the window size" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then we can instantiate a [xsar.RcmDataset](../basic_api.rst#xsar.RcmDataset), with the given resolution. Note that the above pixel size has changed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds = xsar.RcmDataset(sar_meta, resolution='200m')\n", "sar_ds" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "### Extract a sub image of 10*10km around a lon/lat point\n", "\n", "#### Convert (lon,lat) to (line, sample)\n", "we can use [sar_meta.ll2coords](../basic_api.rst#xsar.BaseMeta.ll2coords) to convert (lon,lat) to (line, sample):" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# from a shapely object\n", "point_lonlat = sar_meta.footprint.centroid\n", "point_coords = sar_meta.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is floating, because it is the position inside the pixel.\n", "If real indexes from existing dataset is needed, you'll have to use [sar_ds.ll2coords](../basic_api.rst#xsar.BaseDataset.ll2coords) \n", "Result will be the nearest (line, sample) in the dataset" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "point_coords = sar_ds.ll2coords(point_lonlat.x, point_lonlat.y)\n", "point_coords" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Extract the sub-image" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "box_size = 10000 # 10km\n", "dist = {'line' : int(np.round(box_size / 2 / sar_meta.pixel_line_m)), 'sample': int(np.round(box_size / 2 / sar_meta.pixel_sample_m))}\n", "dist" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The xarray/dask dataset is available as a property : [sar_ds.dataset](../basic_api.rst#xsar.RcmDataset.dataset).\n", "This attribute can be set to a new values, so the attributes like pixel spacing and coverage are correctly recomputed:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# select 10*10 km around point_coords\n", "sar_ds.dataset = sar_ds.dataset.sel(line=slice(point_coords[0] - dist['line'], point_coords[0] + dist['line']), sample=slice(point_coords[1] - dist['sample'], point_coords[1] + dist['sample']))\n", "sar_ds" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "sar_ds.dataset" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" } }, "nbformat": 4, "nbformat_minor": 4 } xsar-2025.03.07/docs/examples/xsar_batch_datarmor.ipynb000066400000000000000000024215521476257143200227350ustar00rootroot00000000000000{ "cells": [ { "attachments": { "06eda1e0-7e8e-45d2-8b32-7de9f64bccc9.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABEgAAAHiCAYAAAD7xPn5AAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAAodEVYdENyZWF0aW9uIFRpbWUAamV1LiAyMyBqdWluIDIwMjIgMTI6MTE6NTe8/FbMAAAgAElEQVR4nOzdX2hbZ77v//f8icRJJCYHOQWpsL1uIkNjMwHRgpULay4qD609U6r2Is5FHM6ODW3cPTtON9jZEBl2bJjGmU6dKdidH7UvIsNOHNKxG46ViyNfVIJmC7KxW7Bys3xRCWKL40FKOVph7/wu7CSWLDtSYsdJ/XlBIVGW1nrWH4k+H32f5/nZgwcPHiAiIiIiIiIisov9fKcbICIiIiIiIiKy0xSQiIiIiIiIiMiup4BERERERERERHY9BSQiIiIiIiIisuspIBERERERERGRXU8BiYiIiIiIiIjsegpIRERERERERGTXU0AiIiIiIiIiIrueAhIRERERERER2fUUkIiIiIiIiIjIrqeARERERERERER2PQUkIiIiIiIiIrLrKSARERERERERkV1PAYmIiIiIiIiI7HoKSERERERERERk11NAIiIiIiIiIiK7ngISEREREREREdn1FJCIiIiIiIiIyK6ngEREREREREREdj0FJCIiIiIiIiKy6ykgEREREREREZFdTwGJiIiIiIiIiOx6CkhEREREREREZNdTQCIiIiIiIiIiu54CEhERERERERHZ9RSQiIiIiIiIiMiup4BERERERERERHY9BSQiIiIiIiIisuspIBERERERERGRXU8BiYiIiIiIiIjsegpIRERERERERGTXU0AiIiIiIiIiIrueAhIRERERERER2fUUkIiIiIiIiIjIrqeARERERERERER2PQUkIiIiIiIiIrLrKSARERERERERkV3vlzvdABERERHZbktMh88wlrJW/27De/wC4eaaHW2ViIjIi0QBiYiIPD+5NPOmScbMks1lyVk5cjlwOp3YnE6cDjcew8BreHDad7qx8tNQYMlMkTLTZLNZcjmLbA6cLhtOuxOH26DOa2DUOHe6odvMImvOkUo9fsWWtTbeXEREZBdSQCIiItuqsDRLdHyCaCxBciFLZV0yB+56H4HWEKGgH+On3neVrVVYYjY2xeRUlJlkikpy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yJu3ekiCqJ9LFwe4b97GjkVeWy9YbsvZf1qWX48ez/Efn6ycPJYstqwc8tIp23mWWYeWqut3BxkYL2THMlbpTl8WOXlZacyvkapOrG6TgwP4LaUUPu2EJFtuO5puOzb/QKoXIiIi8itJARKRpyB651NcgyPccvXhDuSyrenlFJOzymoTncqh8pWXH80wD3ksJrNKebXB/uwMJxMRERGRR0IBEpFHysCanLXkLjF2b+rOANeu3YKcEuqaGtixjLkuZHUwrN9CueZyeKbllTzEZLMiIiIi8szSHCRpeHbnIBERERERERF5en4V5iDRk76IiIiIiIiIrHoKkIiIiIiIiIjIqqcAiYiIiIiIiIisegqQiIiIiIiIiMiqpwCJiIiIiIiIiKx6CpCIiIiIiIiIyKqnAImIiIiIiIiIrHoKkIiIiIiIiIjIqqcASRqys7P55S9/+bSTISIiIiIiIvJM+eUvf0l2dvbTTsZDUYAkDV/4whf4+c9/riCJiIiIiIiISNwvf/lLfv7zn/OFL3zhaSflofza559//vnTTsTzZHR0lM8++4yJiYmnnRQRERERERGRpy47O5svfOELvPjii087KQ9FARIRERERERERWfU0xEZEREREREREVj0FSERERERERERk1VOARERERERERERWPQVIRERERERERGTVU4BERERERERERFY9BUhEREREREREZNVTgEREREREREREVj0FSERERERERERk1VOARERERERERERWPQVIRERERERERGTVU4BERERERERERFY9BUhEREREREREZNVTgEREREREREREVj0FSERERERERERk1VOARERERERERERWPQVIRERERERERGTVU4BERERERERERFY9BUhEREREREREZNVTgEREREREREREVj0FSERERERERERk1VOARERERERERERWPQVIRERERERERGTVU4BERERERERERFY9BUhEREREREREZNVTgEREREREREREVj0FSERERERERERk1fuNp50AEREREXn2vfXWW087CSLyBHz3u9992kkQeWoUIBERERGRRb311lscbPrO006GiDwBb731loIksmppiI2IiIiIiIiIrHoKkIiIiIiIiIjIqqcAiYiIiIiIiIisegqQiIiIiIiIiMiqpwCJiIiIiIiIiKx6CpCIiIiIiIiIyKqnAImIiIiI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" } }, "cell_type": "markdown", "id": "217ea8bd", "metadata": {}, "source": [ "# xsar batch processing on datarmor (ifremer)\n", "\n", "> unlike others examples, this notebook is not executed by the documentation module, so there are no output cells.\n", "\n", "This notebook will show how to use `xsar` with `dask` to process many SAFEs, on datarmor.\n", "\n", "We will see how to convert some L1 SAFEs files to L1B netcdf files at 1000m resolution. \n", "\n", "Basically, to use your own processing function, you will have to adapt the `l1b` function defined below.\n", "\n", "## Prerequisite\n", "\n", "This example is fully documented, and shoul be used by new users that have never used xsar or dask in a jupyter notebook on datarmor.\n", "\n", "\n", "### Set up environment\n", "\n", "We will assume that xsar is not installed, and dask is not configured for datarmor.\n", "\n", "#### Get a node with internet access\n", "\n", "This is needed, because `conda` need more cpu/ram than available on the submit node, and an internet access.\n", "\n", "```\n", "ssh datarmor\n", "qsub -I -q ftp -l mem=16g,walltime=4:00:00\n", "```\n", "\n", "#### install environement\n", "\n", "\n", "Install (and update) xsar. More infos on https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsar/installing.html\n", "\n", "```\n", "conda create -n xsar\n", "conda activate xsar\n", "conda install -c conda-forge xsar 'python<3.10'\n", "pip install git+https://github.com/umr-lops/xsar.git\n", "pip install -r https://raw.githubusercontent.com/umr-lops/xsar/develop/requirements.txt\n", "pip install git+https://github.com/umr-lops/xsarsea.git\n", "```\n", "\n", "This is needed for coastlines, because datarmor nodes don't have internet access\n", "\n", "```\n", "cartopy_feature_download.py --output `python -c 'import cartopy ; print(cartopy.config[\"data_dir\"])'` physical\n", "```\n", "\n", "This is needed for https://datarmor-jupyterhub.ifremer.fr/\n", "\n", "```\n", "conda install -c conda-forge jupyterhub\n", "python -m ipykernel install --user\n", "```\n", "\n", "\n", "Install https://dask-hpcconfig.readthedocs.io/en/latest/\n", "\n", "```\n", "pip install git+https://github.com/umr-lops/dask-hpcconfig.git#egg=dask-hpcconfig\n", "```\n", "\n", "Enable dask-labextension, so the dask dashboard can be reached\n", "\n", "```\n", "pip install dask-labextension\n", "pip install ipywidgets\n", "```\n", "\n", "### download and execute this notebook\n", "\n", "Now , go to https://datarmor-jupyterhub.ifremer.fr, and choose 'jupyter lab'. Put 'xar' in the optionnal field, to use the previously created env.\n", "\n", "It better to use a 8Gb ram notebook or more to handle the dask scheduler.\n", "\n", "![image.png](attachment:06eda1e0-7e8e-45d2-8b32-7de9f64bccc9.png)\n", "\n", "Dowlnoad this notebook as ipynb, and open it jupyterhub. \n", "You are now ready to execute it." ] }, { "cell_type": "code", "execution_count": null, "id": "729774cd", "metadata": {}, "outputs": [], "source": [ "import xsar\n", "import distributed\n", "import dask_hpcconfig\n", "import glob\n", "import pandas as pd\n", "import os\n", "import dask.dataframe as dd\n", "import time\n", "from tqdm.auto import tqdm, trange\n", "import numpy as np\n", "import traceback" ] }, { "cell_type": "markdown", "id": "c25a9d9c-f99d-4fb7-b14e-c8aa8904df46", "metadata": {}, "source": [ "## Get input and outputs as rows of a pandas dataframe\n", "\n", "The first step is to build a `pandas.Dataframe` with input SAFEs and output paths. Basicallys, eachs rows will be fed to our processing function, in parallel.\n", "\n", "Elements size should be small, like filenames or very small python objects. Do not use here complex datatypes like `xsar.Sentinel1Meta` objects, or numpy array. (However, it's possible to use dask futures).\n", "\n", "It's important to be able to know if the processing is allready done, because we wan't to be able to skip what's allready done. \n", "\n", "It's a good practice to do that before calling the processing function, and a bad practice to do than *inside* the processing function, because a processing slot will be used on a worker to do nothing." ] }, { "cell_type": "code", "execution_count": null, "id": "bd7b6698", "metadata": {}, "outputs": [], "source": [ "# get input SAFEs, as a pandas dataframe\n", "df_safes = pd.DataFrame(glob.glob('/home/datawork-cersat-public/cache/project/mpc-sentinel1/data/esa/sentinel-1a/L1/IW/S1A_IW_GRDH_1S/2021/12*/*.SAFE'), columns=['safe'])\n", "# we just add an invalid SAFE, to be able to handle errors\n", "df_safes.loc[-1,'safe'] = 'error.SAFE'\n", "df_safes" ] }, { "cell_type": "code", "execution_count": null, "id": "c567261a", "metadata": {}, "outputs": [], "source": [ "# compute out_path\n", "out_path_prefix = '%s/xsar_dask_demo' % os.environ['SCRATCH']\n", "os.makedirs(out_path_prefix, exist_ok=True)\n", "df_safes['out_path'] = df_safes['safe'].apply(lambda f: '%s/%s.nc' % (out_path_prefix, os.path.splitext(os.path.basename(f))[0]))\n", "df_safes" ] }, { "cell_type": "code", "execution_count": null, "id": "e3e34647", "metadata": {}, "outputs": [], "source": [ "# filter out_path that allready exists\n", "df_safes = df_safes[df_safes['out_path'].apply(lambda f: not os.path.exists(f))]\n", "df_safes" ] }, { "cell_type": "markdown", "id": "b7af3b0c-d8dd-482d-b880-2d216e3d9c25", "metadata": {}, "source": [ "## Main processing function\n", "\n", "the `l1b` function is the main processing function. It should take very small arguments size, like input file and output file. Do not use arguments with big size here (like xarray or complex objects)\n", "\n", "In this example, we just open the safe at 1000m resolution, and save it as a netcdf file.\n", "\n", "This is the function you will need to change for your own processing." ] }, { "cell_type": "code", "execution_count": null, "id": "670d1520", "metadata": {}, "outputs": [], "source": [ "def l1b(safe, outfile):\n", " ds = xsar.open_dataset(safe, resolution='1000m')['measurement'].ds\n", " # make attributes to be str, so writable to file\n", " to_str = ['start_date', 'stop_date', 'footprint']\n", " for attr in to_str:\n", " ds.attrs[attr] = str(ds.attrs[attr])\n", " ds.to_netcdf(outfile)\n", " return outfile" ] }, { "cell_type": "markdown", "id": "6bccee48-a127-46a6-a13c-461f19ca9d3f", "metadata": {}, "source": [ "To process all SAFEs from `df_safes`, what we don't want to do is to use a sequential loop like\n", "\n", "```python\n", "for idx, safe in df_safes.iterrows():\n", " print(l1b(*safe))\n", "```\n", "\n", "Because the processing whould be sequential (one safe is processed at a time), and it can take a long time.\n", "\n", "So what we want to do is to use dask to execute many `l1b` function in parallel." ] }, { "cell_type": "markdown", "id": "a3611804-15db-4c5f-9759-28c0aa12973d", "metadata": {}, "source": [ "## set up the dask cluster\n", "\n", "We use [dask-hpcconfig](https://dask-hpcconfig.readthedocs.io/en/latest/). See the doc to set up a different cluster." ] }, { "cell_type": "code", "execution_count": null, "id": "e952fee3", "metadata": {}, "outputs": [], "source": [ "# see https://dask-hpcconfig.readthedocs.io/en/latest/ if you want to change the cluster config\n", "override = {\n", " \"cluster.n_workers\": 28, \n", " \"cluster.cores\": 1,\n", " \"cluster.extra\": [\"--lifetime\", \"30m\", \"--lifetime-stagger\", \"10m\", \"--lifetime-restart\" ] # restart worker to clean state periodicaly\n", "}\n", "cluster = dask_hpcconfig.cluster('datarmor' , **override)\n", "cluster.scale(4)\n", "client = distributed.Client(cluster)\n", "client" ] }, { "attachments": { "a88cb0c5-6117-4cca-bd0a-33b7a74fad73.png": { "image/png": "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ydv999+vhx9+WEOGDHH3UgqNzZs3q1u3bnxe/gPfQwAAADm5OFYRAAAAAAB4AqcDBoYhRisCAAAAAOAhnA4YmMgvAAAAAADAYzgfMDAVVNNDAAAAAADgbs6XJEgyjPytSShfvryKFCmSr69xuylRooRCQkLcvYxCJywszN1LKHQ4J3kLCQlRiRIl3L2MQsXX11ehoaHuXkahw/cQAABATibDyShAw7ZhMgzp8O5Ybd++XXXr1s3vtQEAgDvMlStXFBgYKJvN5u6lAACA/+ft7Z3ndqfHKsoo2CkJJ06c0LJly1S6dGn16NGDzIP/Z7fb9dtvvykoKEjlypVz93LcLjMzU4sXL1ZUVJQaNmyoLl26yMfHx93LQiEVGxur1atXq2LFimrXrp28vJz/EXin2rhxo3788UeFhoaqR48e8vf3d/eS3O7y5cv69NNPlZGRoUceeUR16tRx95IAAADcwvmxigVoz549GjdunBo0aKDSpUtryJAhunDhgruX5XZffPGFRo8erRkzZigyMtLdyykUli9frmPHjumRRx7RlStXNGzYMCUlJbl7WYXG0aNHNXjwYEVEROR7SVFht337dg0fPlwhISH6/fffNXLkSKWnp7t7WW4VExOjuXPn6qGHHlLVqlU1YsQInTx50t3LcqsrV67o1VdfVXBwsNq3b6/Zs2dr9erV7l4WAACAW7hwe61g8gtsNpsiIyP197//XW3atJF07aJnz5496tKlS4GsoTAyDEMPPfSQevbsqYEDB6pTp045/j0pKUknT55UsWLFVLlyZTetsuD16NFD3bp1k5eXl5o2bapff/1VBw4cUOvWrRUbG6ujR4+qaNGiqlmzpooWLeru5RYYu92ulStXavPmzbp69apatGghk8mk7Oxs7du3TykpKQoLC1OlSpXcvdQCcfnyZc2ePVsTJ0501O6PHz9ev/32mxo2bOjm1bnPrl279MADD6h58+aSJKvVqqlTp+rDDz9UVlaWDh06pPT0dFWpUkXBwcEyeUDj2507dyooKEh9+/aVJIWGhmrChAn629/+JulaVtORI0dUpEgRVapUSRaLxY2rBQAAyF/OBwwK6PfEbdu2yWq1OoIFkuTj46O0tLQ8909KSlJGRoZKlix5R6eim0wmFS9eXNHR0UpOTlbjxo0d/xYbG6uRI0cqMDBQKSkpCgkJ0dixYz0i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I+345Zdf1s8//1wgx3Qr3H333erWrVueYxclKSwsTMePH3d8XaFCBUnSc889p+7du+vSpUsyDEPLli1TixYtJF2bw96zZ0/NmjVLc+bM0WeffXZblHBcZ7Va9cgjj6h9+/Y3zY4IDAzU+fPnHV/fd999WrRokXr27OmYzvCvf/1LYWFh8vLy0oEDBxQUFKSJEydq8eLFCg0NVb9+/ZSenl4gx3QrNGrUSF27dr1pdkSVKlV08uRJx9ehoaGKi4vTs88+q6efflpJSUm6cOGCTp48qYoVK8owDEVHR+u1117Tp59+qrfeeksjRozQli1bCuqQ/rLAwEA98cQTuZqKXhccHKykpKQc26pXr663335b3bt3186dOyVdK3GpVq2aJGnTpk2qUaOGpk+frs8//1wmkynPYERh5e3trfvuuy/PTC3pWvmLj49PjoBZw4YN9d133+mpp55y/Kw4deqU0tLSZLVaFRcXp5iYGE2YMEELFizQkCFDNHz48DxHowIAANxKzmcYyJBRQGMV4R4PPPCAFi9erMzMTElS6dKlNX78eLVp00bVqlWTzWbTvHnz9MQTT0iStm/fnuMuc+3atdWhQwetW7fOLevPD40aNdLFixcds+W9vb3Vs2dPzZkzR8WKFVNAQID279+vIkWKKDw8XAkJCbp48aJjKoXVatWUKVO0b9++Ql+z7oqOHTvq448/dnwdFham999/XzVr1lTTpk2VnZ2tTZs2OZptLl++XM8884yjZKVLly4qU6aMduzY4Zb154fu3btr+/btjl4ffn5++vvf/67hw4crLCxMxYsX1759+xxZPEuWLFG1atUcQaigoCANHDhQK1eudNsx3GrlypVTvXr1FBER4djWrFkzffjhh/Lx8VH9+vUlSb///rvq1q2r9PR0rVq1Si+//LJj/969eysrK0vR0dEFvv78YDKZ9MYbb+jDDz90BA2CgoL05ptvqnbt2o5zsmPHDkfp3/z583Xfffc5sn3KlSunBx98UNu2bXPPQQAAAI/h9JQEs0yiIuHO1rFjR2VnZ6t///6qX7++qlatqoSEBB04cECDBw/W1atXlZiYqGrVqikjI0M//vij/P39NX78eLVt21Y+Pj7asWOHBg0a5O5DuWWKFSum6dOna8qUKfrmm29Ut25dWa1WrV27Vk8++aQsFou2bdvmSEWfPXu2ihcv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" }, "dfcc4b59-0f8d-4e99-bfe1-3d6574f6450d.png": { "image/png": "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" }, "f1796c1e-fb37-4a66-8510-4e5b6d820921.png": { "image/png": "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ili6dCkA9913H8HBwWzYsAG3280dd9zBrbfeSlxcHN9++y1QdkxnzJhBbm4ut912W4W2DMOgW7duuN1uvvrqq4AdJxEREREREakcKm0PA4fDwapVqwDo2rUrd955JzZbWbmNGzdmwoQJTJw4kRYtWviN07darVitVqpUqcIVV1xB9+7dmTt3Lvv378fhcPzWD4W9e/fy3nvvkZGRQXFxMSEhIVSvXp3hw4fTp08fDMPg1KlTvP322+zcuZPCwkLsdjtNmjThscceIzo6+qzt5ubmcvLkSWrWrEliYiIAx44dAyAiIgKbzUZISAiFhYUArF+/nlmzZvHwww9Ts2ZNv/Y6derExx9/zJ49e0hPT6devXoX6IiIiIiIiIhIZVdpexg4HA5ycnIAGDNmjC8sKBcbG8sjjzxC3759CQoKOmc7pmlSUlICgM1m82vntzBx4kTS0tLo2bMnTz/9NHfddRf5+flMnToVh8OB2+3m1VdfZcOGDTRr1oxXX32Vvn37snXrVv75z3/idrvP2u7u3btxu90VLuzL5x4o753g8XgICgrC5XIxefJkGjduTM2aNVmyZAmLFy8mIyPDt2/dunV94cSOHTsu4BERERERERGRyq7S9jBwu92UlJQQEhJCXFzcz9o3KysLj8eDy+Vi27ZtrFmzBoC+ffsGJDDIz8/HMAzatm3LFVdcgWmadO/eHdM0sdvt7N69my1btgBwzz33ULNmTZo0acK6detITU1l//79NG3a1K/d3bt3A/jujADQunVrVq5cyd69e6lfvz6nTp2ibdu2vP322xw7doynnnqKJ598EovF4gsi3nzzTRISEjAMg2bNmrF+/XoOHz78GxwZERERERERqawqbWBgGAYWiwWPx/Ozx9M//fTTfsu6devGmDFjMAzjfJX4k7Vq1YoDBw7wzDPPEB8fT0JCAomJifTo0YPQ0FAyMzN927722mu+IRblQwmysrLOGhicOnUKgPDwcN+yTp060aJFC1566SUsFgv16tWjcePGvPnmmzz44IOsXr2akpISPvzwQ+x2O/feey+zZs3igQcewDAM310dioqKLtjxEBERERERkcqv0gYGQUFBREREcOLECfbu3UubNm0qrPd6vWRnZxMREVHhghmgR48evmWRkZF06NCBJk2a+NZbrVbg7HcxKB++AJyzN0L5EIizDRX4/gSM5dvdfffdJCQksGDBAk6dOsWWLVtISkpi8eLFTJgwocLdGKKionyBQbt27XzLzqb8d31/SEZ0dDT/+te/yMzMxOVyER8fz2OPPUb9+vXp0aMHc+fOxWKxULt2bZxOJxEREWRnZ2OaJoZh+G49ea47RIiIiIiIiMjvQ6UNDMLCwkhISODEiRO88cYbvPfee77x+QAHDx7kiSeeIDo6mldeeaXCvjfddBO1a9c+Z9vl63bt2oXX660waWJKSgoAVatWJSws7Kz7169fH4BDhw757V8+9j8mJsZ3oW+xWOjfvz+9e/emsLCQvLw8Xn75ZQ4fPszmzZupWrWqb/+7776bGjVq/OjxAXzzDZytN0CdOnUwTZP33nuP3NxcPvjgA4KDg3+0zby8PABfcCAiIiIiIiK/T5U2MLDZbIwePZq0tDRycnIYN24cPXv2JDQ0lPT0dKZNm4bD4aBVq1Z+PQx+TJs2bQgKCvKN6e/ZsydBQUHs2rWLb775BqvVyh133OF394VyzZs3JzIykpMnT/LYY48xYMAA7HY7aWlpLFiwAMMwGDVqFBaLBa/Xy5NPPkleXh4PPfQQtWvXJjw8nMjISKAsGElMTCQ2NpaTJ08yc+ZMbrrpJrKyspgwYQJhYWE88cQTxMbG+tVRfqeD/Pz8s9Z58OBBVqxYwQ033EBERAQAzZo14+DBg2RmZmK32ykoKKBDhw6+oRpZWVkAFUIMERERERER+f2ptIEBlF3cPv300zzzzDNs376d1NRU3zqr1cqVV17J3//+d98Qg5+qYcOGPPzww7z11lskJyeTnJzsWxcUFES/fv24+uqrz7l/tWrVePjhh3nllVfYuXMnO3fu9K2z2Wx069aNgQMHAmW9C2rUqEFqaioPP/ywbzuLxUJiYiKtW7cmKCiIsWPHMm7cOObMmcOcOXN8tdx7771nDQsA2rZtyxdffFFhDoRyTqeT5557joSEBK677jrf8iFDhrBq1Sr+8pe/4HK5sNlsjBw5EsMwcDgcvokUvz+EQ0RERERERH5/DPPnzih4xtnG/18o+fn5HDhwgCNHjlBcXExsbCwJCQk0aNDAN34/Pz/fd+Hepk2bCsMXzuXo0aMcPHjQN4a/WrVq1KtXz3fHgB+Tk5PDwYMHfXdlqFq1qq+u7+/vcrnYv38/hw8fJj8/H7vdTkJCAo0bN/YNezBNk+zsbPbs2cOxY8eIjY2lYcOG1K9f/5w9HXJycnjggQdwu9189tlnFYYR5OXlsWvXLho3blyht4DX6+XQoUPs2bMHKLurQq1atQBISkpi3LhxVKlShU8//ZTQ0NAfPQYiIiIiIiJyaSm/zr4oAgM5O7fbzdixY9m+fTvXX389t91226+6C8T48eNZvnw5w4YN45577jmPlYqIiIiIiMjFojwwOPtX13JRsNls3HfffRiGwdy5czl27Ngvbis/P5+1a9cSGRnJgAEDzmOVIiIiIiIicjGq1HMYyI+rX78+d9xxBzt27GD//v3Ex8f/7Da8Xi/z58+nTZs2tGnT5gfvMCEiIiIiIiK/DxqSICIiIiIiIiI+GpIgIiIiIiIiIuekwEBERERERERE/CgwEBERERERERE/CgxERERERERExE+lvEuC1+vF7XYHugwRERERERGRSs0wDGw2G4ZhnPe2K2Vg4HA4KCoqCnQZIiIiIiIiIpVeXFzc7ycwME0Ti8VCXFxcoEsRCbjjx49TrVq1QJchEnDHjx8nIiICu90e6FJEAqq4uJji4mKqVq0a6FJEAk6fk0TKngcXiuYwEBERERERERE/CgxERERERERExI8CAxERERERERHxo8BARERERERERPwoMBARERERERERPwoMRERERERERMSPAgMRERERERER8aPAQERERERERET82AJdwLkUlnoIKnFhGGAxDDxeE6vFIMhqweX14vGYFbYPslqoEmwNULUiIiIiIiIil5ZKGxj0fG8rmCZBVgvhITbyCkuJCgsmPtJOTpGTk4VOMIAzuUHNqBD6NK/BPwYmBrRuERERERERkUtBpR2SYJheAFweL6eKnVSPsuP0mOw+dpqThaWYmFgwMSxgYHI038EnG9J5bFpqgCsXERERERERufhV2sAAw8Awyv5rAsdOl1LsdGOY5plhCmXLrQZYrQZWC2CazNh6lH8uSgtg4SIiIiIiIiIXv8obGJxhGPiCAwAsRoWfvV7zzHYGVosBhsnkbzN+2yJFRERERERELjGVPjAAyroSnAkOyqc6/K73gYFpfrfMBpS6PNz00aYAFCoiIiIiIiJyabg4AoPvTW5o+K00v1sJZWMVgI2Hci98XSIiIiIiIiKXqEofGJj/kwd8PzIw/NODH1khIiIiIiIiIj9Fpb2tYjnftb95ZlzC99ID0zzbHj+0QkRERERERER+ikofGEB5VmD44oKK/QcM/40NaFI98rcqT0REREREROSSc1EEBuVJgS8sML7rRGBgYpzphmCa4DHBZlhY8MBVASpWRERERERE5OJX6ecwgP+d1rDicIPvT1fg8ZZFCr2b1/htChMRERERERG5RFXewMAs6zFgAoYJ0VWCCAmyYhoWvKZv5AEmBl7vd2FBp3rRvH1j6wAXLyIiIiIiInJxq7RDEswzwxAMDCwWg4IiJ1abBbvVwG0auD1evOUbmQZBVgst60Ty2V1XBLp0ERERERERkYtepQ0MXhnciIjwcGxWCxEhNk6VuIgLCyI+0k5WfimnikoBwze/Qc2oEFrWjgp02SIiIiIiIiKXhEobGFxzWTRxcXFnXVcruspvXI2IiIiIiIjI70vlncNARERERERERAJGgYGIiIiIiIiI+FFgICIiIiIiIiJ+FBiIiIiIiIiIiB8FBiIiIiIiIiLiR4GBiIiIiIiIiPhRYCAiIiIiIiIifhQYiIiIiIiIiIgfwzRN85fs6HK5znctPkVFRRQXF2OxKM8Q8Xq9ei6IUPZcMAwDwzACXYpIQJmmiWmaem8QQZ+TRKDseRAXF3denwtBQUEA2M5bi+eR3W4PdAkiIiIiIiIilZ7FYrlgX6hUyh4GIiIiIiIiIhIY5T0M1H9HRERERERERPwoMBARERERERERPwoMRERERERERMSPAgMRERERERER8aPAQERERERERET8KDAQERERERERET8KDERERERERETEjwIDEREREREREfGjwEBERERERERE/CgwEBERERERERE/CgxERERERERExI8CAxERERERERHxo8BARERERERERPwoMBARERERERERPwoMRERERERERMSPLdAFyMXFNE0cDgemaWK327FYLJim6VtvGMaPtuH1enE4HACEhIRgtVovWL0iIiIiIiLyy1TawMDtdjN9+nSysrIA6N27Ny1btvSt93q9TJ8+nczMTAC6detGhw4dAlLrhTZz5kwOHTpEx44d6dq1a4V1mzdvZs2aNQQHB3PXXXcREhJyQWvJzMxk7Nix2O12xo8fT0hICDNmzCAtLY2oqChuuOEGatWqVWGfadOmkZuby5133onNZsPlcvHcc8+RlpbGHXfcweDBgy9ozSIiIiIiIvLzVdohCR6Ph6SkJJYuXcrSpUtZuXJlhfUul4sFCxb41h88eDBAlV54ycnJLF26lL179/qtO3jwIEuXLmXFihW43e4LWofH42HChAnk5ubSsWNHIiIimDx5Mp9//jmlpaUkJyfz8MMPc+rUKd8+KSkpfPzxx9StWxebrSyfCgkJ4dZbb8Xj8TB//nw8Hs8FrVtERERERER+vkobGJQzDAOLxcLGjRsrLM/OziYnJ+eCf6Mu39m+fTupqakEBQVx0003YRgGSUlJ1KpVi2effZZbb72VwsJC9u/f79tn4sSJ1KlThx49elRo67LLLiM+Pp709HSWL1/+Wz8UERERERER+RGVdkhCOdM06d69OytWrGDr1q20adMGKOvmbpoml19+OUlJSRX22bZtG1OmTOHAgQM4nU5q167NsGHD6NOnDwDz5s1jxowZ9O3bF8MwmDNnDkVFRbRq1YqHHnqI2bNns3jxYlwuFx06dOD+++8nKioKgJycHKZOncqmTZvIy8sjODiYxo0bM3DgQK666iosFgtJSUm8//77XH755URGRjJ37ly6d+/O0aNHyc7OZuTIkQwcONBX78svv0xaWho33nijr8Zfc7ySkpKYPn06+/fvx+VyERMTQ5s2bbjllluoVq0aAFlZWXz66aekpKRw+vRpYmNj6dGjB6NHjz7nnALJyckAdO3alYiICADy8vJo1KgRQUFBxMTEYJomJ06cwOv1MmnSJLKysnj11Vex2+0V2goODqZ79+5MmjSJqVOn0rNnT81lICIiIiIiUolU+h4GAH369MEwDObPn49pmhQXF7NixQri4+P9xssfO3aMcePGkZqaypAhQ3jkkUc4ffo0b731lm/YgtPpJDs7m5UrV7JkyRLq16+P2+1m06ZNvP7666xfv57GjRvjcrlYu3atL5AwTZPx48ezcOFCQkJCuOWWW+jQoQOpqam8+uqrZGRk+LbLzs4mOTmZOXPmEBERQWRkJC1atCA7O5svvvjCN3zA7XaTlJREQUEBTZo0+dXH6vjx44wfP549e/YwYsQIHnzwQRo0aMCyZcv47LPPgLL5H1577TVWr15N69atGTt2LOHh4XzxxRdMnjy5wiSG37dv3z4AX2gDYLVa8Xg8mKbp289qtXLw4EFmz57N4MGDCQkJYdu2baSnp1cYNtGlSxcATp48WWEYg4iIiIiIiARepe9hAFCjRg1q1arFnj17KCws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ERG5WFzSgUHasdM/edvySRDdHu8FrEhERERERETk4nBJBwZ7jxcCZx+K8EMOnyy+ANWIiIiIiIiIXDwu6cAg6hfeJrFmpP08VyIiIiIiIiJycbmkA4OO9WIAMH/KPAZnNjKBYNslfVhEREREREREfpQt0AVcSLERIT95WxMDwzAY2DL+AlYkIiIiIiIicnG4pL9KHzcwkarhdjCMH+xlUL7KNE3+3L3hb1KbiIiIiIiISGV2SQcGAFPv7kh4iBUoCw1MykYffPfPBNMgxGZhbL+mNK4eHuiSRURERERERALukg8M6sWFsuShrtSPCz3H7RIseDGZcmdH/tC1/m9dnoiIiIiIiEildEnPYVCuekQIyx7uykfr0ilyODF8wYGJPcjGDe1rExX6y+6oICIiIiIiInIp+l0EBuXu6pIQ6BJERERERERELgqX/JAEEREREREREfn5FBiIiIiIiIiIiB8FBiIiIiIiIiLiR4GBiIiIiIiIiPhRYCAiIiIiIiIifhQYiIiIiIiIiIgfBQYiIiIiIiIi4keBgYiIiIiIiIj4sQW6gHPxer3k5+cHugyRSkHPBZEyJSUllJaWBroMkYDyeDyYpqn3BpEz9FwQuXAM0zTNX7Kjy+U637X4uN1uioqKLlj7IiIiIiIiIpcCi8VCeHg4hmGctzaDgoKAShoYiIiIiIiIiEhglAcGmsNARERERERERPwoMBARERERERERPwoMRERERERERMSPAgMRERERERER8aPAQERERERERET8KDAQERERERERET8KDERERERERETEjwIDEREREREREfGjwEBERERERERE/CgwqMQcDgemaQa6jErH7XZTWloa6DIqJZ0zZ+dyuXA6nYEuo1JyOByBLqFS0jlzbjpnzs7pdOJyuQJdRqWkc+bsdM6cnWmaOmfOobS0FLfbHegyKh2v16tz5gJSYFCJJScn68L4LI4ePcr27dsDXUallJycjMfjCXQZlU5mZiY7d+4MdBmVUnJycqBLqJT279/Pnj17Al1GpaRz5uz27NnDoUOHAl1GpaRz5ux27txJZmZmoMuodDwej86Zc9i6dSs5OTmBLqPSKSkp0TlzASkwEBERERERERE/CgxERERERERExI8CAxERERERERHxo8BARERERERERPwoMBARERERERERPwoMRERERERERMSPAgMRERER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4rSU79RqtUjl8s+LE50GtVZAoVB8WqRMauDA8UYXONkrF2qNBqlcgSxtg6K/GVSt0enTSvRtrEGKIosyZIwOjVoLMvlXaXuRP4sOtVqb3A/+3zwEdFodEqks3dj8URF0GtQakCvkGRzB0I9/QSJHIf/y+NfnpUOmMPg+bmwWtKjUWqQyBfIvFlhAo9b8ufEv6PskUily2X+nT/1fCAJaQUD2jV8MKAj6+USWLTnzf/SZHxSdVoNGCwpFer1HL7s1SKTZGYcf5YyATPFXZP3X42OfkcsV2TjmJqBWaZDI/wt9RkCr1qCTylB8Ub8U0Gk0aAQJBmnvjvkPotOq0eqkyBWyP3n1tojIj4VGo+H/WfIrku/h+4aliQSZTE5ma1WJTEGqy7AlklS7ZhKZnK95WbZEIkFh8HfZLrOXl0QiQZ7m9luJVJ75p8UkUhSKzPOVSGUYpGg0iUzxf1qmpch/OH/SHwkpir/8/5F8Or/1X0EilZP5sJQgz2Js/bm8vkEkqWXDFyKnu+j1y0mkKP6tbyJ+b0gkGRp8vzUkEhkGin+wz/ygSLPUXbKew9PyvcmZP9tnFAb/lT4j0Rt9shlXKlf853bSM0MqU/AjfkBDRORr8w0bDET+Lqq0+Zn8jhl/z1xEREREREREREREREREJCO+4SMJIiIiIiIiIiIiIiIiIiIi/y9/9UiCuFoXERERERERERERERERERFJh2gwEBERERERERERERERERERSYdoMBAREREREREREREREREREUmHaDAQERERERERERERERERERFJh2gwEBERERERERERERERERERSYdoMBAREREREREREREREREREUmHaDAQERERERERERERERERERFJh2gwEBERERERERERERERERERSYf833x5fHw8Op3u3yyCiIiIiIiIiIiIiIiIiMgPiYGBAXL5/7/sFz0MRERERERERERERERERERE0iEaDERERERERERERERERERERNIhGgxERERERERERERERERERETSIRoMRERERERERERERERERERE0iEaDERERERERERERERERERERNIhGgxERERERERERERERERERETSIRoMRERERERERERERERERERE0vHdGAyCn97l9vMIdH8hD60qlGtXH5Dwt5Xq/yAphmsXLxMRp/o3S/FFIl8/4k6wUv9Dq+T+tauE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" } }, "cell_type": "markdown", "id": "81259c45-6426-4083-b6fd-2b4da997a5e5", "metadata": {}, "source": [ "If you click the above dashboard link, you should reach the dask status page that look like this:\n", "\n", "![image.png](attachment:a88cb0c5-6117-4cca-bd0a-33b7a74fad73.png)\n", "\n", "From now, the interresing parts are the 'workers' tab and the 'info' tab.\n", "\n", "### workers tab\n", "the workers tab should be something like\n", "\n", "![image.png](attachment:f1796c1e-fb37-4a66-8510-4e5b6d820921.png)\n", "\n", "If it's empty, the cluster is not allready instanciated (execute the cell bellow to wait for it)\n", "\n", "### info tab\n", "The info tab should be something like\n", "\n", "![image.png](attachment:dfcc4b59-0f8d-4e99-bfe1-3d6574f6450d.png)\n", "\n", "What's important here is the 'last seen' column. It should be above '1s'\n" ] }, { "attachments": { "649971c1-6792-4ae8-a7c8-e8f2ff8dc46c.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "64a0e35b-e91e-49a7-875a-075ae9d3981b", "metadata": {}, "source": [ "## waiting for the cluster to be operationnal\n", "\n", "This should probably not needed, but we want to be sure that the cluster is ok.\n", "\n", "The main problem is that the `check` function that just do `import xsar` can be very long (up to 8 minutes).\n", "The issue is partialy solved by https://github.com/umr-lops/xsar/issues/65 , but it's probably due to a datarmor IO problem.\n", "\n", "The cluster should be up in 15s-60s, and the `import xsar` should take 30s-400s.\n", "\n", "The `import xsar` sometimes freeze the worker (probably because the GIL is not released). This can be show in the 'last seen' column of the 'info' tab as seen above. (If it's greater than 60s, the tab should turn red).\n", "\n", "![image.png](attachment:649971c1-6792-4ae8-a7c8-e8f2ff8dc46c.png)" ] }, { "cell_type": "code", "execution_count": null, "id": "70e7d3d1", "metadata": {}, "outputs": [], "source": [ "while len(client.scheduler_info()['workers']) == 0:\n", " print('waiting for cluster')\n", " time.sleep(5)\n", "print('cluster is up. checking `import xsar`')\n", "\n", "def check():\n", " import xsar\n", " return True\n", "t0 = time.time()\n", "client.run(check)\n", "print('client checked in %d s' % (time.time() - t0 ))" ] }, { "cell_type": "markdown", "id": "ee59b5c7-0797-4861-89a2-f7bde082e72c", "metadata": { "tags": [] }, "source": [ "## Split df_safes into smaller parts\n", "\n", "So we have `df_safes` that is a `pandas.Dataframe` object, with all SAFEs to be processed.\n", "\n", "We want to split this dataframe in smaller parts, and process those parts in parallel on different workers.\n", "\n", "To to so, we use `dask.dataframe`." ] }, { "cell_type": "code", "execution_count": null, "id": "18f29854", "metadata": {}, "outputs": [], "source": [ "# we build a dask dataframe, with npartitions, so npartitions safes will be processed in parallel\n", "# npartitions depend on your processing and the workers count\n", "# a good starting value is to use the same number as the workers count\n", "# with heavy full res processing you will have to reduce it\n", "ddf_safes = dd.from_pandas(df_safes, npartitions=14)\n", "ddf_safes" ] }, { "cell_type": "markdown", "id": "97306837-d755-4c24-81a2-36947795056a", "metadata": {}, "source": [ "## the batch processing function\n", "\n", "The `batch_processing` function will we executed on the workers. There will be as many `batch_processing` functions running in paralell as `npartitions`.\n", "\n", "Each functions will be fed with a partition of `ddf_safes`. A partition is a regular `pandas.Dataframe` object like `df_safes`, but with fewer rows.\n", "\n", "Basically, a minimal `batch_processing` function should look like this:\n", "\n", "```python\n", "def batch_processing(df_safes_part):\n", " for _, safe_row in df_safes_part.iterrows():\n", " safe, outfile = safe_row[['safe', 'out_path']]\n", " l1b(safe, outfile)\n", "```\n", "\n", "the disadvantage of this method are:\n", "\n", " * If the worker restart, and the function is retried, allready processed file will be reprocessed.\n", " \n", "So we need to test if the outfile file exists before calling `l1b`\n", "\n", " * Errors are not catched. If a `l1b` processing fail, remainings rows will be not processed.\n", " \n", "We just need to surround the `l1b` call with a `try/except` block\n", "\n", " * Errors messages are hidden in the workers logs\n", " \n", "If a `l1b` processing fail, we need to know the error cause, and send it to the notebook.\n", "\n", "To be able to to that, we will use a `distributed.Queue` object, and will use it to send processing infos and error messages, as a dict like\n", "```\n", "{\n", " 'status': False,\n", " 'args': (safe, outfile),\n", " 'time': 0,\n", " 'error': \"\"\n", "}\n", "```\n", "\n", " \n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "7910693c", "metadata": {}, "outputs": [], "source": [ "# we set up a dask queue, so the batch_processing function, will be able to communicate processing infos to the notebook\n", "messages_queue = distributed.Queue('batch_processing')\n", "\n", "def batch_processing(df_safes_part, msg_queue=messages_queue):\n", " res = []\n", " for idx, safe_row in df_safes_part.iterrows():\n", " safe, outfile = safe_row[['safe', 'out_path']]\n", " # we need to re-check if outfile allready exist, because dask might have restarted the worker\n", " # and we don't want the whole df_safes to be reprocessed\n", " if os.path.exists(outfile):\n", " res.append(outfile)\n", " continue\n", " \n", " # we set up a dict that we will send to msg_queue \n", " # it contains general processing info\n", " message = {\n", " 'status': False,\n", " 'args': (safe, outfile),\n", " 'time': 0,\n", " 'error': \"\"\n", " }\n", " \n", " # if a processing fail, we will retry\n", " for retry in range(2):\n", " # we enclose the processing in a try/except, so the worker won't be killed if error\n", " try:\n", " t1 = time.time()\n", " # this is the real call to our processing function\n", " out = l1b(safe, outfile)\n", " elapsed = time.time() - t1\n", " message['status'] = True\n", " message['time'] = elapsed \n", " break # process ok, exit the loop\n", " except Exception as e:\n", " # error while processing.\n", " # we get the error message that will be sent to the queue\n", " message['error'] = traceback.format_exc()\n", " msg_queue.put(message)\n", " res.append(outfile)\n", " return res\n", " \n", " " ] }, { "cell_type": "markdown", "id": "46c230c3-73b3-4758-bed2-051fe5896124", "metadata": {}, "source": [ "## launch the distributed computation" ] }, { "cell_type": "markdown", "id": "a58c4618-3513-4d39-9610-55ee90a27de0", "metadata": {}, "source": [ "Now, we want to apply the `batch_processing` function to each partition of `dd_safes`.\n", "\n", "We use the `map_partitions` method. We use use a dummy `meta` keyword. What's important here is `str` (the output type of the `l1b` function)." ] }, { "cell_type": "code", "execution_count": null, "id": "0cff1cb4-6287-4ce6-bcee-e2f4a760d568", "metadata": {}, "outputs": [], "source": [ "res = ddf_safes.map_partitions(batch_processing, meta=('foo', str))" ] }, { "cell_type": "markdown", "id": "f4c69de0-8618-47c6-8d9d-e8d549275855", "metadata": {}, "source": [ "At this stage, the computation has not yet started.\n", "\n", "One way to to it should be:\n", "\n", "```python\n", "res.compute()\n", "```\n", "\n", "But we won't be able to see messages from `messages_queue` and we won't see any progress information.\n", "\n", "we will instead use \n", "```\n", "res.persist()\n", "```\n", "\n", "and build a progress bar with `tqdm` that will wait for messages from `messages_queue`, and display status information.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "27ebd483", "metadata": {}, "outputs": [], "source": [ "\n", "res.persist(retries=1)\n", "\n", "count = len(ddf_safes)\n", "\n", "pbar = trange(count,smoothing=0)\n", "elapsed = np.array([],dtype=float)\n", "for _ in pbar:\n", " message = messages_queue.get()\n", " if message['status']:\n", " elapsed = np.append(elapsed,message['time'])\n", " pbar.set_description('%03.0fs' % elapsed.mean())\n", " else:\n", " tqdm.write('ERROR: \"\\n%s\\n\" on args %s' % ( message['error'] , message['args']))" ] }, { "attachments": { "0704e439-13d2-4838-aae1-1ef3d4207d65.png": { "image/png": "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" }, "fd1fef54-cacd-4ee1-947c-b39dd0a8c2d3.png": { "image/png": "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nJxMWFgYwcHB+P0nOuRyubBYLGzbto2BAwdiMpkA8Pf3JyAggISEBKqqqqirq6OhoYGwsDBCQ0NpamoCmi/0Q0NDmTBhAs8++ywVFRU89NBD+Pr6cuutt7rrpSgKb775JvX19cyYMeOcei9ZsgS73c7nn39OZWUltbW1BAYGnpPO19eX4OBg6urqUKvVjB07lsbGRnx9ffH29iYhIYHdu3djMpnw9fXluuuuA5rviO/Zs8e9/b333suSJUs4duwYL774Io8++iiLFy/m+PHjTJ8+vUWZCQkJBAYGYrFYKC4uZsCAAURGRrpff/rpp1ukLyoqYvr06cyaNYu4uDg8PT2xWq00NTW59/t3PDw86Nu3L6tXr2bq1Kls3bqV8vJyFEVh3759JCYm4nQ6z/t+A6hUKgYPHkx6ejp5eXnU1NSQkJCAh4eHu0fOX//61/Nur9FogOb3yGq1EhQUhMPhYPr06cydO5cDBw5w+eWXt9jmu++mr6+vuxfIZZddhkajQavVMnDgQLZv345KpWLLli2MHj2auro6goKCUKvV7uDvpEmTWuRrMpl44IEHuO+++xg8ePCPtlsIIYQQHVOrX7m7XOB0quRfJ/vncKhQlNb+NInfE29vbyZNmsSoUaPcvSlUKpX7QnDFihV88skn9OzZk379+rFjxw5ef/116uvrW+TTt29frFYrNpuNvLw86urqOHToEBMmTMBsNpOfn8/evXu57rrrMJvNOBwOAAYOHMiCBQsYMWIEb731VotggK+vL5mZme6ePIsXL2b58uVMmDABb29vvv32WwoLCwE4duwYNTU11NTUAM3d95944gl3OZGRkYSEhDB//nysViu+vr588sknHD16FEVR8Pb2JjAwkH//+98oikJAQAB///vfsdlsP7kPX3/9debPn++u5w89ChEREYHRaOT06dPuYMp3VCqVe5sxY8bw2WefsWjRIncPhe9eDwoKIj4+ntzcXHx9fSksLGxxp7+hoYEtW7Zgs9mYM2cOWVlZfPTRRwDuZ+P/8pe/MHjwYHx9ffHy8uLxxx8/p64rV67kyJEj9OrVy12+r68ver2eBQsWsG7dOv74xz8yevRoVq5cyZNPPsmWLVu45pprKCoqIisrC09PT7744gtSUlLo2bOn+5GUpKQkunfvTm1t7TnlfrcPrrnmGlasWME777zjXvfwww9T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" } }, "cell_type": "markdown", "id": "48ddcdc0-a727-4478-836b-047b64c8bb9c", "metadata": {}, "source": [ "While processing occur, you should seel a progressbar like this:\n", "\n", "![image.png](attachment:0704e439-13d2-4838-aae1-1ef3d4207d65.png)\n", "\n", "18s is the mean time to process one SAFE, per worker. But as we have many workers, an new SAFE is processed every 1.39s.\n", "\n", "We have inserted an invalid 'error.SAFE' file. The error traceback should be displayed.\n", "\n", "While processing, the dask status dashboard should look like this:\n", "![image.png](attachment:fd1fef54-cacd-4ee1-947c-b39dd0a8c2d3.png)\n" ] }, { "cell_type": "markdown", "id": "8347db07-4604-49a7-aa43-17e07bdf7fd1", "metadata": {}, "source": [ "## End\n", "\n", "Once the processing is finished, processed files are in the output directory.\n", "\n", "We can now close the cluster.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "df35c0a8", "metadata": {}, "outputs": [], "source": [ "cluster.close()\n", "client.close()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" }, "nbsphinx": { "execute": "never" } }, "nbformat": 4, "nbformat_minor": 5 } xsar-2025.03.07/docs/examples/xsar_multiple.ipynb000066400000000000000000000143311476257143200216050ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "id": "everyday-problem", "metadata": {}, "source": [ "# Open multiples datasets\n", "\n", "Some safe files have multiples subdatasets, like WV or IW_SLC. This notebook show how to handle them, or how to handle multiple datasets." ] }, { "cell_type": "code", "execution_count": null, "id": "hindu-special", "metadata": {}, "outputs": [], "source": [ "import xsar \n", "import xarray as xr\n", "import glob\n", "import holoviews as hv\n", "import geoviews as gv\n", "hv.extension('bokeh')\n" ] }, { "cell_type": "markdown", "id": "attractive-giant", "metadata": {}, "source": [ "SAFES containings multiples subdatasets like WV_SLC cannot be openned with `xsar.open_dataset` given the safe path." ] }, { "cell_type": "code", "execution_count": null, "id": "basic-slovak", "metadata": {}, "outputs": [], "source": [ "try:\n", " wv_slc_ds = xsar.open_dataset(xsar.get_test_file('S1A_WV_SLC__1SSV_20160510T101603_20160510T102143_011195_010EA1_Z010.SAFE'))\n", "except IndexError as e:\n", " print(str(e))" ] }, { "cell_type": "markdown", "id": "technological-hearing", "metadata": {}, "source": [ "An `IndexError` is raised, with an advice to use [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) to get the available subdatasets list." ] }, { "cell_type": "code", "execution_count": null, "id": "3ea97e1a", "metadata": {}, "outputs": [], "source": [ "wv_slc_meta = xsar.Sentinel1Meta(xsar.get_test_file('S1A_WV_SLC__1SSV_20160510T101603_20160510T102143_011195_010EA1_Z010.SAFE'))\n", "wv_slc_meta" ] }, { "cell_type": "markdown", "id": "8ce757c4", "metadata": {}, "source": [ "Note that the abose `wv_slc_meta` object is a **multi dataset**\n", "\n", "Subdatasets list is available with [xsar.Sentinel1Meta.subdatasets](../basic_api.rst#xsar.Sentinel1Meta.subdatasets) property" ] }, { "cell_type": "code", "execution_count": null, "id": "8995f4b9", "metadata": {}, "outputs": [], "source": [ "wv_slc_meta.subdatasets" ] }, { "cell_type": "markdown", "id": "cd75a47d", "metadata": {}, "source": [ "A subdataset can be directly be opened by [xsar.open_dataset](../basic_api.rst#xsar.open_dataset)" ] }, { "cell_type": "code", "execution_count": null, "id": "caroline-decimal", "metadata": {}, "outputs": [], "source": [ "\n", "wv_slc_ds1 = xsar.open_dataset(wv_slc_meta.subdatasets.index[0])\n", "wv_slc_ds1" ] }, { "cell_type": "markdown", "id": "aed75f31", "metadata": {}, "source": [ "Or we can get a **single dataset** by using [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta)" ] }, { "cell_type": "code", "execution_count": null, "id": "cccbd6d9", "metadata": {}, "outputs": [], "source": [ "wv_slc_meta1 = xsar.Sentinel1Meta(wv_slc_meta.subdatasets.index[0])\n", "wv_slc_meta1" ] }, { "cell_type": "markdown", "id": "e84d8a59", "metadata": {}, "source": [ "And use this `wv_slc_meta1` object with [xsar.open_dataset](../basic_api.rst#xsar.open_dataset)" ] }, { "cell_type": "code", "execution_count": null, "id": "e85a99b4", "metadata": {}, "outputs": [], "source": [ "wv_slc_ds1 = xsar.open_dataset(wv_slc_meta1)" ] }, { "cell_type": "markdown", "id": "surprised-thong", "metadata": {}, "source": [ "## Getting all xsar.Sentinel1Meta objects from a list of path\n", "\n", "[xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) can only handle one path at a time.\n", "\n", "With [xsar.product_info](../basic_api.rst#xsar.product_info), you can provide a list of path, and get a `pandas.DataFrame` with all `meta` objects." ] }, { "cell_type": "code", "execution_count": null, "id": "another-corrections", "metadata": {}, "outputs": [], "source": [ "df_info = xsar.product_info([\n", " xsar.get_test_file('S1A_WV_SLC__1SSV_20160510T101603_20160510T102143_011195_010EA1_Z010.SAFE'),\n", " xsar.get_test_file('S1A_IW_SLC__1SDV_20170907T102951_20170907T103021_018268_01EB76_Z010.SAFE')\n", "])\n", "df_info" ] }, { "cell_type": "markdown", "id": "4b079a68", "metadata": {}, "source": [ "By default, [xsar.product_info](../basic_api.rst#xsar.product_info) only return a minimal set of columns.\n", "\n", "Columns list can be given by the `columns=` keyword. \n", "\n", "Columns name can be any attributes from [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta), with the addition of the 'meta' column name, who refer to the [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) objet itself.\n", "\n", "If the columns list include 'geometry', the result will by a `geopandas.GeoDataframe`, who can be displayed whith holoviews." ] }, { "cell_type": "code", "execution_count": null, "id": "e9fc4c32", "metadata": {}, "outputs": [], "source": [ "gdf_info = xsar.product_info(\n", " [\n", " xsar.get_test_file('S1A_WV_SLC__1SSV_20160510T101603_20160510T102143_011195_010EA1_Z010.SAFE'),\n", " xsar.get_test_file('S1A_IW_SLC__1SDV_20170907T102951_20170907T103021_018268_01EB76_Z010.SAFE')\n", " \n", " ],\n", " columns=[ 'safe', 'dsid', 'meta', 'geometry' ]\n", ")\n", "\n", "# 'meta' column is dropped for display\n", "gv.feature.land * gv.Polygons(gdf_info.drop(['meta'], axis=1)).opts(tools=['hover'])\n" ] }, { "cell_type": "code", "execution_count": null, "id": "eacfc4f7", "metadata": {}, "outputs": [], "source": [ "gdf_info.iloc[0]['meta']" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" } }, "nbformat": 4, "nbformat_minor": 5 } xsar-2025.03.07/docs/examples/xsar_tops_slc.ipynb000066400000000000000000000302031476257143200215740ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "id": "f2abaca9-0dca-448b-8698-2cf164d3fbd3", "metadata": {}, "source": [ "# what is specific to TOPS SLC products?\n", "Contrarily to GRD products SLC ones preserve the signal described in time per burst. \n", "\n", "It means that a portion of SAR image can be seen up to 4 times by the sensor.\n", "\n", "The different bursts are overlapping, and the subswaths are also overlapping.\n", "\n", "SLC products also contains the phase information, and digital number in .tiff products are complex values." ] }, { "cell_type": "markdown", "id": "a238e3b4-0ebd-46cc-b174-750ad0a08b6d", "metadata": {}, "source": [ "# How to read a TOPS SLC product with xsar ?" ] }, { "cell_type": "markdown", "id": "f9d71fba-1269-4877-bccc-3b09577f0244", "metadata": {}, "source": [ "the TOPS (IW and EW) SLC products are distributed by ESA in .SAFE directories containing measurement and annotations per subswath and polarizations." ] }, { "cell_type": "markdown", "id": "c3f503c1-37cf-43dd-9b1d-34cc6fd42255", "metadata": {}, "source": [ "## to open a multi dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "4f01f555-7122-4a00-9c1f-2bdf4703105a", "metadata": {}, "outputs": [], "source": [ "import xsar\n", "import geoviews as gv\n", "import holoviews as hv\n", "import geoviews.feature as gf\n", "hv.extension('bokeh')\n", "path = xsar.get_test_file('S1A_IW_SLC__1SDV_20170907T102951_20170907T103021_018268_01EB76_Z020.SAFE')\n", "sub_swath_IDs = xsar.Sentinel1Meta(path).subdatasets\n", "sub_swath_IDs" ] }, { "cell_type": "code", "execution_count": null, "id": "a0cd6b95-5138-4aa1-8a41-fcaadc64199c", "metadata": {}, "outputs": [], "source": [ "multids = xsar.Sentinel1Meta(path)\n", "#print(dir(multids.subdatasets))\n", "for subswath in multids.subdatasets.index:\n", " print(subswath)\n", " onesubswath = xsar.Sentinel1Dataset(subswath)\n", " print(onesubswath.get_bursts_polygons()['geometry'])" ] }, { "cell_type": "code", "execution_count": null, "id": "7bb22e9a-47ec-4b04-a3c5-117331d047bf", "metadata": { "tags": [] }, "outputs": [], "source": [ "#gv.tile_sources.Wikipedia*gv.Polygons(multids.bursts(only_valid_location=True)['geometry']).opts(width=800,height=450,alpha=0.5)\n", "import pandas as pd\n", "tmp = pd.concat([xsar.Sentinel1Dataset(onesubswath).get_bursts_polygons(only_valid_location=True) for onesubswath in multids.subdatasets.index])\n", "gv.tile_sources.EsriImagery*gv.Polygons(tmp['geometry']).opts(width=800,height=450,alpha=0.5)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "e79e91f7-7134-48ff-aa2c-b8ae8fe1d4fe", "metadata": {}, "outputs": [], "source": [ "tmp2 = pd.concat([xsar.Sentinel1Dataset(onesubswath).get_bursts_polygons(only_valid_location=False) for onesubswath in multids.subdatasets.index])\n", "gv.tile_sources.EsriImagery*gv.Polygons(tmp2['geometry']).opts(width=800,height=450,alpha=0.2)*gv.Polygons(tmp['geometry']).opts(width=800,height=450,alpha=0.2)\n" ] }, { "cell_type": "markdown", "id": "e0fc0776-400c-45fe-b0ac-5a2c73254f1a", "metadata": {}, "source": [ "## to open a specific subswath\n", "to open a subswath one can use [xsar.Sentinel1Meta](../basic_api.rst#xsar.Sentinel1Meta) class to get an overview of the meta-data." ] }, { "cell_type": "code", "execution_count": null, "id": "aaca7491-b202-48de-a0dd-fdb39e222c1b", "metadata": {}, "outputs": [], "source": [ "s1meta = xsar.sentinel1_meta.Sentinel1Meta(\"SENTINEL1_DS:%s:IW3\" % path)\n", "s1meta" ] }, { "cell_type": "markdown", "id": "b532cc90-ce03-42f8-9727-8cd64e6541db", "metadata": {}, "source": [ "to manipulate the data, the user have to open `Sentinel1Dataset` instance." ] }, { "cell_type": "code", "execution_count": null, "id": "11f11577-4b1a-4652-b104-e2ad48803aa7", "metadata": {}, "outputs": [], "source": [ "s1ds = xsar.sentinel1_dataset.Sentinel1Dataset(\"SENTINEL1_DS:%s:IW3\" % path)\n", "s1ds" ] }, { "cell_type": "markdown", "id": "3f7e086f-bbfb-456c-a1dd-fb11c58d86eb", "metadata": { "tags": [] }, "source": [ "## content of the Sentinel1Dataset python object\n", "\n", " - a datatree (xarray)\n", " - a dataset (xarray)\n", " - a s1meta object (class instance)" ] }, { "cell_type": "markdown", "id": "d9e6138b-ea3d-4155-bbc5-6f56c6178b0f", "metadata": {}, "source": [ "## open the datatree" ] }, { "cell_type": "code", "execution_count": null, "id": "c81b914e-4283-4a5c-8167-4a4cc594c6da", "metadata": {}, "outputs": [], "source": [ "s1ds.datatree" ] }, { "cell_type": "markdown", "id": "81eb5d5c-f682-43a4-8b5e-72576d97b20a", "metadata": {}, "source": [ "## open dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "ce2faa34-66b2-41b9-bb2f-b0a2080dba8d", "metadata": {}, "outputs": [], "source": [ "s1ds.dataset" ] }, { "cell_type": "markdown", "id": "9adef17c-c308-4972-a743-d5389abd0b63", "metadata": {}, "source": [ "## get the sar_meta" ] }, { "cell_type": "code", "execution_count": null, "id": "c83ffa95-7eca-4fd3-98d2-5a1e96af93ef", "metadata": {}, "outputs": [], "source": [ "s1ds.sar_meta" ] }, { "cell_type": "markdown", "id": "f7c7dcb6-827e-4fff-9293-b3eb69142061", "metadata": {}, "source": [ "# add high resolution interpolated variables\n", "\n", "for instance longitudes, latitudes, incidence angle,...\n", "\n", "Note that this step is automatically done by default for GRD products but not for SLC." ] }, { "cell_type": "code", "execution_count": null, "id": "e6c891e3-055c-428f-ad4e-f9e4151c09e7", "metadata": {}, "outputs": [], "source": [ "s1ds.add_high_resolution_variables()\n", "s1ds.dataset" ] }, { "cell_type": "markdown", "id": "f639184d-92d8-485d-af11-6b697f5bd8fb", "metadata": {}, "source": [ "# alternatively compute the value of a geolocation field (longitude, latitude, incidence,..) at given image coordinates\n", "this method has been added to avoid adding hig resolution grids for some variable while we only need specific points" ] }, { "cell_type": "code", "execution_count": null, "id": "2cc9e861-013c-4c91-8af5-1d05e54b7566", "metadata": {}, "outputs": [], "source": [ "s1ds.get_ll_from_SLC_geoloc(line=5,sample=3000,varname='incidence')" ] }, { "cell_type": "markdown", "id": "99f4389d-9b72-41e7-a3af-d54d4bfce294", "metadata": {}, "source": [ "# perform calibration and denoizing on sigma0, gamma0 and beta0" ] }, { "cell_type": "code", "execution_count": null, "id": "21c43292-f707-4bf1-9db9-4e2ce5a70c83", "metadata": {}, "outputs": [], "source": [ "s1ds.apply_calibration_and_denoising() \n", "s1ds.dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "56ef1c15-ee3f-4cc4-a752-53b91ccdba59", "metadata": {}, "outputs": [], "source": [ "s1ds.dataset['ground_heading']" ] }, { "cell_type": "markdown", "id": "9dbf7a01-05b1-4f71-8d36-cb2425604c64", "metadata": {}, "source": [ "# get azimuth time variable \n", "the variable `azimuth_time` is given in annotations .xml files, it describes the date of acquisition of each pixel in the subswath. it is also called SAR \"long time\", in opposition to the \"short time\" given by the `slant_range_time` variable" ] }, { "cell_type": "code", "execution_count": null, "id": "affbbe27-2f35-4997-9383-aa0f65842fb8", "metadata": {}, "outputs": [], "source": [ "aziHr = s1ds.dataset['time']\n", "hv.Curve(aziHr.values)" ] }, { "cell_type": "markdown", "id": "4d20503c-a59d-4a42-b476-49d40650ed11", "metadata": {}, "source": [ "`azimuth time` variable estimated at the middle (in range) of the dataset selected is showing the bursts overlapping.\n", "\n", "This variable is used to rasterize the 7 variables (longitude, latitude,...) described in the `geolocationGrid` at low resolution." ] }, { "cell_type": "markdown", "id": "d0322224-84a8-43aa-a4e8-1a63b0a7881f", "metadata": {}, "source": [ "# get the ground range spacing\n", "One specificity of the SLC products is that the ground range spacing is not equal to the slant range spacing (it is the case in GRD products).\n" ] }, { "cell_type": "code", "execution_count": null, "id": "c9e46eab-24a9-4719-aa39-edaf85dfcff8", "metadata": {}, "outputs": [], "source": [ "#print(s1ds.sar_meta.image['ground_pixel_spacing'])\n", "#print(s1ds.sar_meta.image['slant_pixel_spacing'])\n", "print(s1ds.dataset['sampleSpacing'])\n", "print(s1ds.dataset['lineSpacing'])" ] }, { "cell_type": "markdown", "id": "1b757a39-03b0-4d11-89c9-fa763548d3eb", "metadata": {}, "source": [ "The ground range spacing depends of the incidence angle.\n", "\n", "$$ grdRangeSpacing = \\frac{slantRangeSpacing}{sinus(\\theta)} $$\n", "\n", "\n", "\n", "It is possible for the users to get the ground range spacing vector along the range axis.\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "id": "005fa242-477d-491f-bdaf-0ec51359545d", "metadata": {}, "outputs": [], "source": [ "rgs = s1ds.dataset['range_ground_spacing']\n", "rgs" ] }, { "cell_type": "code", "execution_count": null, "id": "2126e888-b08a-4b23-9238-13f52b034a74", "metadata": {}, "outputs": [], "source": [ "hv.Curve(rgs).opts(width=400,show_grid=True)\n" ] }, { "cell_type": "markdown", "id": "ecf8f606-c60e-4902-aa84-3e9e9fdbf706", "metadata": {}, "source": [ "# get complex digital number" ] }, { "cell_type": "code", "execution_count": null, "id": "17a6fd94-2d33-432e-b076-76e270cd7890", "metadata": {}, "outputs": [], "source": [ "s1ds.datatree['measurement']['digital_number']" ] }, { "cell_type": "markdown", "id": "9c631097-54d7-4f1f-b5e1-2af10e3b9b19", "metadata": {}, "source": [ "equivalent to" ] }, { "cell_type": "code", "execution_count": null, "id": "d4dfcc70-6af7-4be3-94b8-b43e0423aed6", "metadata": {}, "outputs": [], "source": [ "s1ds.dataset['digital_number']" ] }, { "cell_type": "markdown", "id": "990e41be-5a40-4e65-b395-d8eaa5fc605b", "metadata": {}, "source": [ "# additional informations\n", "\n", " - deramping TOPS SLC :[https://sentinels.copernicus.eu](https://sentinels.copernicus.eu/web/sentinel/user-guides/sentinel-1-sar/document-library/-/asset_publisher/1dO7RF5fJMbd/content/definition-of-the-tops-slc-deramping-function-for-products-generated-by-the-sentinel-1-ipf;jsessionid=DCEF041CCD5D10A93C637B6121D4D062.jvm1?redirect=https%3A%2F%2Fsentinels.copernicus.eu%2Fweb%2Fsentinel%2Fuser-guides%2Fsentinel-1-sar%2Fdocument-library%3Bjsessionid%3DDCEF041CCD5D10A93C637B6121D4D062.jvm1%3Fp_p_id%3D101_INSTANCE_1dO7RF5fJMbd%26p_p_lifecycle%3D0%26p_p_state%3Dnormal%26p_p_mode%3Dview%26p_p_col_id%3Dcolumn-1%26p_p_col_count%3D1)\n", " - TOPS technic: https://sentinels.copernicus.eu/web/sentinel/technical-guides/sentinel-1-sar/products-algorithms/level-1-algorithms/topsar-processing\n", " - SLC products: https://sentinel.esa.int/web/sentinel/technical-guides/sentinel-1-sar/products-algorithms/level-1-algorithms/single-look-complex " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.15" }, "toc-autonumbering": true }, "nbformat": 4, "nbformat_minor": 5 } xsar-2025.03.07/docs/index.rst000066400000000000000000000103561476257143200157000ustar00rootroot00000000000000################################################## xsar: efficient level 1 sar reader for xarray/dask ################################################## **xsar** is a distributed level 1 SAR file reader designed to write efficient distributed processing algorhitm with `xarray`_ and `dask`_. It currently handles Level-1 Sentinel-1 and Radarsat-2 data in `SAFE format`_, as found on `scihub`_ or `PEPS`_. **xsar** is as simple to use as the well known `xarray.open_dataset`_ : simply give the dataset path, and :meth:`xsar.open_dataset` will return an `datatree.DataTree`: .. jupyter-execute:: examples/intro.py Documentation ------------- Overview ........ **xsar** rely on `xarray.open_rasterio`_, `rasterio`_ and `GDAL`_ to read *digital_number* from SAFE product to return an `xarray.Dataset`_ object with `dask`_ chunks. Luts are decoded from xml files and applied to *digital_number*, following official `ESA thermal denoising document`_ and `ESA Sentinel-1 Product Specification`_. So end user can directly use for example *sigma0* variable, this is the denoised sigma0 computed from *digital_number* and by applying relevants luts. Because **xsar** rely on `dask`_, it have a small memory footprint: variables are read from file and computed only if needed. :meth:`xsar.open_dataset` is very close to `xarray.open_dataset`_, but in the followings examples, you will find some additional keywords and classes that allow to: * `open a dataset at lower resolution`_ * `convert lon/lat to dataset coordinates`_ Examples ........ .. note:: With `recommended installation`_ you will be able to download and execute those examples in `jupyter notebook`_. Those examples will automatically download test data from https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata/ Those file are not official ones: they are resampled to a lower resoltion and compressed to avoid big network transfert and disk usage. Don't use them for real science ! * :doc:`examples/xsar` * :doc:`examples/xsar_advanced` * :doc:`examples/radarsat2` * :doc:`examples/rcm` * :doc:`examples/projections` * :doc:`examples/mask` * :doc:`examples/xsar_multiple` * :doc:`examples/xsar_batch_datarmor` * :doc:`examples/xsar_tops_slc` UML Description ............... * :doc:`uml` Reference ......... * :doc:`basic_api` Get in touch ------------ - Report bugs, suggest features or view the source code `on github`_. ---------------------------------------------- Last documentation build: |today| .. toctree:: :maxdepth: 1 :hidden: :caption: Getting Started installing .. toctree:: :maxdepth: 1 :caption: Examples examples/xsar examples/xsar_advanced examples/radarsat2 examples/rcm examples/projections examples/mask examples/xsar_multiple examples/xsar_batch_datarmor examples/xsar_tops_slc .. toctree:: :maxdepth: 1 :hidden: :caption: UML Description uml .. toctree:: :maxdepth: 1 :hidden: :caption: Reference basic_api .. _on github: https://github.com/umr-lops/xsar .. _xarray: http://xarray.pydata.org .. _dask: http://dask.org .. _xarray.open_dataset: http://xarray.pydata.org/en/stable/generated/xarray.open_dataset.html .. _scihub: https://scihub.copernicus.eu/ .. _PEPS: https://peps.cnes.fr/rocket/ .. _rasterio: https://rasterio.readthedocs.io/en/latest/ .. _GDAL: https://gdal.org/ .. _xarray.open_rasterio: http://xarray.pydata.org/en/stable/generated/xarray.open_rasterio.html .. _ESA thermal denoising document: https://sentinel.esa.int/documents/247904/2142675/Thermal-Denoising-of-Products-Generated-by-Sentinel-1-IPF .. _ESA Sentinel-1 Product Specification: https://earth.esa.int/documents/247904/1877131/Sentinel-1-Product-Specification .. _xarray.Dataset: http://xarray.pydata.org/en/stable/generated/xarray.Dataset.html .. _open a dataset at lower resolution: examples/xsar_advanced.ipynb#Open-a-dataset-at-lower-resolution .. _convert lon/lat to dataset coordinates: examples/xsar_advanced.ipynb#Convert-(lon,lat)-to-(line,-sample) .. _`recommended installation`: installing.rst#recommended-packages .. _SAFE format: https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/data-formats .. _jupyter notebook: https://jupyter.readthedocs.io/en/latest/running.html#runningxsar-2025.03.07/docs/installing.rst000066400000000000000000000054451476257143200167400ustar00rootroot00000000000000.. _installing: ************ Installation ************ `xsar` relies on gdal_ and other shared libs, that are not provided by pip. So insallation in a conda_ environement is recommended. conda install ############# 1) Install mamba For a faster installation and less conflicts between packages, it is better to install xsar with mamba .. code-block:: conda create -n xsar conda activate xsar conda install -c conda-forge mamba 2) Install xsar (this won't include the readers) .. code-block:: mamba install -c conda-forge xsar 3) Add optional dependencies (readers) - Add use of Radarsat2 : .. code-block:: mamba install -c conda-forge xradarsat2 - Add use of Sentinel-1 .. code-block:: mamba install -c conda-forge xarray-safe-s1 - Add use of RCM .. code-block:: pip install xarray-safe-rcm pip install ########### 1) Install xsar (this won't include the readers) .. code-block:: conda create -n xsar conda activate xsar pip install xsar 2) install xsar with optional dependencies (to use Sentinel-1, Radarsat2, RCM...) - Install xsar including Sentinel-1 : .. code-block:: pip install xsar[S1] - Install xsar including Radarsat2 : .. code-block:: pip install xsar[RS2] - Install xsar including RCM : .. code-block:: pip install git+https://github.com/umr-lops/xarray-safe-rcm.git pip install xsar - Install xsar including multiple readers/dependencies (here Radarsat2 and RCM): .. code-block:: pip install xsar[RS2,RCM] - Install xsar including Radarsat2, Sentinel-1 and RCM: .. code-block:: pip install xsar[RS2,S1, RCM] recommended packages .................... Default installation is minimal, and should be used in non-interactive environment. Xsar can be used in jupyter, with holoviews and geoviews. To install aditional dependancies, run: .. code-block:: pip install -r https://raw.githubusercontent.com/umr-lops/xsar/develop/requirements.txt pip install git+https://github.com/umr-lops/xsarsea.git Update xsar to the latest version ################################# xsar conda package can be quite old: .. image:: https://anaconda.org/conda-forge/xsar/badges/latest_release_relative_date.svg To be up to date with the developpement team, it's recommended to update the installation using pip: .. code-block:: pip install git+https://github.com/umr-lops/xsar.git Developement installation .......................... .. code-block:: git clone https://github.com/umr-lops/xsar cd xsar # this is needed to register git filters git config --local include.path ../.gitconfig pip install -e . pip install -r requirements.txt .. _conda: https://docs.anaconda.com/anaconda/install/ .. _gdal: https://gdal.org/ .. _xsarsea: https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsarseaxsar-2025.03.07/docs/uml.rst000066400000000000000000000004701476257143200153620ustar00rootroot00000000000000*************** UML Description *************** Packaging description ##################### .. image:: _static/uml/packages_all_attributes.png :width: 600px :height: 300px Classes Diagram ############### .. image:: _static/uml/classes_all_attributes.png :width: 600px :height: 300px xsar-2025.03.07/environment.yml000066400000000000000000000004651476257143200161760ustar00rootroot00000000000000name: xsar channels: - conda-forge dependencies: - aiohttp - cartopy >=0.19.0 - dask >=2021.6.2 - gdal >=3.3 - geopandas - more-itertools - rasterio >=1.2.6 - setuptools_scm - setuptools_scm_git_archive - xarray - rioxarray >=0.10 - pandoc - python - importlib_resources - lxmlxsar-2025.03.07/highlevel-checks/000077500000000000000000000000001476257143200163075ustar00rootroot00000000000000xsar-2025.03.07/highlevel-checks/check_s1_xsar_opendataset.py000066400000000000000000000020261476257143200237650ustar00rootroot00000000000000import xsar import rasterio import os import logging import dill import pickle logging.basicConfig() logging.getLogger('xsar').setLevel(logging.DEBUG) logging.getLogger('xsar.utils').setLevel(logging.DEBUG) logging.getLogger('xsar.xml_parser').setLevel(logging.DEBUG) logging.captureWarnings(True) logger = logging.getLogger('xsar_test') logger.setLevel(logging.DEBUG) # logger.info('using %s as test_dir' % xsar.config['data_dir']) meta = xsar.Sentinel1Meta( xsar.get_test_file('S1A_IW_GRDH_1SDV_20170907T103020_20170907T103045_018268_01EB76_Z010.SAFE')) def test_open_dataset(): try: ds = xsar.open_dataset(meta, resolution={'sample': 100, 'line': 100}, resampling=rasterio.enums.Resampling.average) ds.compute() ds = xsar.open_dataset(meta).isel(pol=0, sample=slice(0, 100), line=slice(0, 100)) ds.compute() assert True except: assert False def test_serializable_s1_meta(): s1meta = dill.loads(dill.dumps(meta)) assert isinstance(s1meta.coords2ll(100, 100), tuple) xsar-2025.03.07/pyproject.toml000066400000000000000000000040511476257143200160160ustar00rootroot00000000000000[project] name = "xsar" requires-python = ">= 3.10" license = { text = "MIT" } authors = [ { name = "Olivier Archer", email = "olivier.archer@ifremer.fr" }, ] description = "Python xarray library to use Level-1 GRD Synthetic Aperture Radar products" readme = "README.md" keywords = [ "xarray", "earth-observation", "remote-sensing", "satellite-imagery", "Sentinel-1", "RCM", "RadarSat2", "sar", "synthetic-aperture-radar", ] classifiers = [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Intended Audience :: Science/Research", "Topic :: Scientific/Engineering", ] dynamic = ["version"] dependencies = [ 'GDAL', 'dask[array]', 'distributed', "xarray>=2024.10.0", 'affine', 'rasterio', 'cartopy', 'fiona', 'pyproj', 'numpy', 'scipy', 'shapely', 'geopandas', 'fsspec', 'aiohttp', 'pytz', 'psutil', 'jinja2', 'rioxarray', 'lxml', ] [project.optional-dependencies] RS2 = ["xradarsat2"] RCM = ["xarray-safe-rcm"] S1 = ["xarray-safe-s1"] [project.urls] homepage = "https://github.com/umr-lops/xsar.readthedocs.io" documentation = "https://xsar.readthedocs.io" repository = "https://github.com/umr-lops/xsar" changelog = "https://xsar.readthedocs.io/en/latest/changelog.html" [project.scripts] #xsar = "xsar.xarray_backends:XsarXarrayBackend" [build-system] requires = ["setuptools>=64.0", "setuptools-scm"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["xsar"] package-dir = {"" = "src"} [tool.setuptools_scm] fallback_version = "999" [tool.isort] profile = "black" skip_gitignore = true float_to_top = true default_section = "THIRDPARTY" known_first_party = "xsar" [tool.black] line-length = 100 [tool.coverage.run] source = ["xsar"] branch = true [tool.coverage.report] show_missing = true exclude_lines = ["pragma: no cover", "if TYPE_CHECKING"] xsar-2025.03.07/requirements.txt000066400000000000000000000004511476257143200163660ustar00rootroot00000000000000# put here only additional package for extended/developpement # for mandatory packages, see setup.py # https://packaging.python.org/discussions/install-requires-vs-requirements/ jupyter jupyter_contrib_nbextensions holoviews datashader geoviews cartopy pyproj matplotlib packaging pytest dill lxmlxsar-2025.03.07/requirements_doc.txt000066400000000000000000000003331476257143200172120ustar00rootroot00000000000000# requirements for doc # no need to manul install it. (See doc/Makefile) jinja2<=3.03 pandoc sphinx numpydoc sphinx-rtd-theme nbsphinx jupyter-sphinx sphinxcontrib-programoutput xradarsat2 xarray-safe-rcm xarray-safe-s1xsar-2025.03.07/src/000077500000000000000000000000001476257143200136715ustar00rootroot00000000000000xsar-2025.03.07/src/scripts/000077500000000000000000000000001476257143200153605ustar00rootroot00000000000000xsar-2025.03.07/src/scripts/compress_safe.py000077500000000000000000000077621476257143200206020ustar00rootroot00000000000000#!/usr/bin/env python import logging import argparse import shutil import os import rasterio import warnings import xarray as xr import numpy as np import subprocess import glob from xsar.utils import compress_safe warnings.filterwarnings("ignore", category=rasterio.errors.NotGeoreferencedWarning) logging.basicConfig() logger = logging.getLogger(os.path.basename(__file__)) logging.getLogger('rasterio').setLevel(logging.CRITICAL) def get_dir_size(path): """ Parameters ---------- path: str Returns ------- float dir size in Mb """ total_size = 0 for dirpath, dirnames, filenames in os.walk(path): for f in filenames: fp = os.path.join(dirpath, f) # skip if it is symbolic link if not os.path.islink(fp): total_size += os.path.getsize(fp) return total_size / (1024 * 1024) def generate_product_id(smooth, constant=None, initial_product_id='0000'): """ Parameters ---------- smooth: int constant: None or not None initial_product_id: str Returns ------- str new 4 chars product id. - 1st char: 'Z' if smooth >= 1, or 'C' if constant is not Nonee - 2-4 chars : smooth size or 00 if constant, in decimal int """ if constant is not None: res_id = 'C%0.3d' % constant else: res_id = 'Z%0.3d' % smooth return res_id if __name__ == '__main__': # default smooth size smooth_size = { 'IW': 10, 'EW': 5, 'WV': 10 } parser = argparse.ArgumentParser(description='compress safe') parser.add_argument('safe_path') parser.add_argument('-d', action='store', help='out dir', default='./', required=False) parser.add_argument('-z', action='store', help='compress format (see https://rasterio.readthedocs.io/en/latest/api/rasterio.enums.html#rasterio.enums.Compression)', default='zstd', required=False) parser.add_argument('-c', action='store', help='fix constant value in band', required=False) parser.add_argument('-s', action='store', help='average dn by s*s box (in pixel). Use 0 to keep full resolution', default='auto') args = parser.parse_args() safe_path = os.path.normpath(os.path.expanduser(args.safe_path)) safe_name = os.path.basename(safe_path) safe_type = safe_name.split('_')[1] safe_product = os.path.splitext(safe_name)[0].split('_')[0] if args.s == 'auto': if safe_type in smooth_size: smooth = smooth_size[safe_type] else: raise NotImplementedError('no default smooth size for %s. Use explicit -s' % safe_type) else: smooth = int(args.s) # in "*_XXXX.SAFE", XXXX is the product id product_id_init = os.path.splitext(safe_name)[0].split('_')[-1] product_id_out = generate_product_id(smooth) safe_path_out = safe_name.replace(product_id_init, product_id_out) safe_path_out = os.path.join(args.d, safe_path_out) print("Compressing %s..." % os.path.basename(safe_path)) safe_out = compress_safe(safe_path, safe_path_out, product=safe_product, smooth=smooth, rasterio_kwargs={'compress': args.z}) in_size = get_dir_size(safe_path) out_size = get_dir_size(safe_out) ratio = (out_size / in_size) * 100 zip_file = '%s.zip' % os.path.basename(safe_out) zip_msg = subprocess.check_output('cd %s ; zip -r %s %s' % (args.d, zip_file, os.path.basename(safe_out)), shell=True) zip_path = os.path.join(args.d, zip_file) zip_size = os.path.getsize(zip_path) / (1024 ** 2) # in Mb zip_ratio = (zip_size / out_size) * 100 all_ratio = (zip_size / in_size) * 100 print("%.0fM -> %.0fM ( %.1f%% ) (%s) -> %.0fM ( %.1f%% ) (zip)" % ( in_size, out_size, ratio, args.z, zip_size, all_ratio)) # clean temporary path subprocess.check_output('cd %s ; rm -fr %s' % (args.d, safe_out), shell=True) print(zip_path) xsar-2025.03.07/src/xsar/000077500000000000000000000000001476257143200146465ustar00rootroot00000000000000xsar-2025.03.07/src/xsar/__init__.py000066400000000000000000000016331476257143200167620ustar00rootroot00000000000000__all__ = [ "open_dataset", "open_datatree", "product_info", "Sentinel1Meta", "Sentinel1Dataset", "RadarSat2Dataset", "RadarSat2Meta", "RcmMeta", "RcmDataset", "BaseDataset", "BaseMeta", "get_test_file", ] from xsar.radarsat2_dataset import RadarSat2Dataset from xsar.sentinel1_dataset import Sentinel1Dataset from xsar.sentinel1_meta import Sentinel1Meta from xsar.rcm_meta import RcmMeta from xsar.radarsat2_meta import RadarSat2Meta from xsar.rcm_dataset import RcmDataset from xsar.base_dataset import BaseDataset from xsar.base_meta import BaseMeta from xsar.xsar import open_dataset,open_datatree,product_info from xsar.xsar import get_test_file import xsar try: from importlib import metadata except ImportError: # for Python<3.8 import importlib_metadata as metadata try: __version__ = metadata.version("xsar") except Exception: __version__ = "999" xsar-2025.03.07/src/xsar/base_dataset.py000066400000000000000000001160121476257143200176400ustar00rootroot00000000000000import warnings from abc import ABC from datetime import datetime import dask import pandas as pd import shapely import xarray as xr import yaml from affine import Affine from numpy import asarray from scipy.interpolate import RectBivariateSpline from shapely.geometry import Polygon, box import numpy as np import logging import rasterio from rasterio.control import GroundControlPoint from shapely.validation import make_valid import geopandas as gpd from scipy.spatial import KDTree import time import rasterio.features from xsar.utils import bbox_coords, haversine, map_blocks_coords, timing logger = logging.getLogger("xsar.base_dataset") logger.addHandler(logging.NullHandler()) # we know tiff as no geotransform : ignore warning warnings.filterwarnings("ignore", category=rasterio.errors.NotGeoreferencedWarning) # allow nan without warnings # some dask warnings are still non filtered: https://github.com/dask/dask/issues/3245 np.errstate(invalid="ignore") class BaseDataset(ABC): """ Abstract class that defines necessary common functions for the computation of different SAR dataset variables (Radarsat2, Sentinel1, RCM...). This also permit a better maintenance, because these functions aren't redefined many times. """ datatree = None _dataset = None name = None sliced = False sar_meta = None _rasterized_masks = None resolution = None _da_tmpl = None _luts = None _map_var_lut = None _dtypes = { "latitude": "f4", "longitude": "f4", "incidence": "f4", "elevation": "f4", "altitude": "f4", "ground_heading": "f4", "offboresight": "f4", "nesz": None, "negz": None, "sigma0_raw": None, "gamma0_raw": None, "noise_lut": "f4", "noise_lut_range": "f4", "noise_lut_azi": "f4", "sigma0_lut": "f8", "gamma0_lut": "f8", "azimuth_time": np.datetime64, "slant_range_time": None, } _default_meta = asarray([], dtype="f8") geoloc_tree = None @property def len_line_m(self): """line length, in meters""" _bbox_ll = list(zip(*self._bbox_ll)) len_m, _ = haversine(*_bbox_ll[1], *_bbox_ll[2]) return len_m @property def len_sample_m(self): """sample length, in meters""" _bbox_ll = list(zip(*self._bbox_ll)) len_m, _ = haversine(*_bbox_ll[0], *_bbox_ll[1]) return len_m @property def coverage(self): """coverage string""" return "%dkm * %dkm (line * sample )" % ( self.len_line_m / 1000, self.len_sample_m / 1000, ) @property def _regularly_spaced(self): return ( max( [ np.unique(np.round(np.diff(self._dataset[dim].values), 1)).size for dim in ["line", "sample"] ] ) == 1 ) @property def _bbox_ll(self): """Dataset bounding box, lon/lat""" return self.sar_meta.coords2ll(*zip(*self._bbox_coords)) @property def _bbox_coords(self): """ Dataset bounding box, in line/sample coordinates """ bbox_ext = bbox_coords(self.dataset.line.values, self.dataset.sample.values) return bbox_ext @property def geometry(self): """ geometry of this dataset, as a `shapely.geometry.Polygon` (lon/lat coordinates) """ return Polygon(zip(*self._bbox_ll)) def load_ground_heading(self): """ Load ground heading as delayed thanks to `BaseMeta.coords2heading`. Returns ------- xarray.Dataset Contains the ground heading """ def coords2heading(lines, samples): return self.sar_meta.coords2heading( lines, samples, to_grid=True, approx=True ) gh = map_blocks_coords( self._da_tmpl.astype(self._dtypes["ground_heading"]), coords2heading, name="ground_heading", ) gh.attrs = { "comment": "at ground level, computed from lon/lat in azimuth direction", "long_name": "Platform heading (azimuth from North)", "units": "Degrees", } return gh.to_dataset(name="ground_heading") def add_rasterized_masks(self): """ add rasterized masks only (included in add_high_resolution_variables() for Sentinel-1) :return: """ self._rasterized_masks = self.load_rasterized_masks() # self.datatree['measurement'].ds = xr.merge([self.datatree['measurement'].ds,self._rasterized_masks]) self.datatree["measurement"] = self.datatree["measurement"].assign( xr.merge([self.datatree["measurement"].ds, self._rasterized_masks]) ) def recompute_attrs(self): """ Recompute dataset attributes. It's automaticaly called if you assign a new dataset, for example >>> xsar_obj.dataset = xsar_obj.dataset.isel(line=slice(1000, 5000)) >>> # xsar_obj.recompute_attrs() # not needed This function must be manually called before using the `.rio` accessor of a variable >>> xsar_obj.recompute_attrs() >>> xsar_obj.dataset["sigma0"].rio.reproject(...) See Also -------- [rioxarray information loss](https://corteva.github.io/rioxarray/stable/getting_started/manage_information_loss.html) """ if not self._regularly_spaced: warnings.warn( "Irregularly spaced dataset (probably multiple selection). Some attributes will be incorrect." ) attrs = self._dataset.attrs # attrs['pixel_sample_m'] = self.pixel_sample_m # attrs['pixel_line_m'] = self.pixel_line_m attrs["coverage"] = self.coverage attrs["footprint"] = self.footprint self.dataset.attrs.update(attrs) self._dataset = self._set_rio(self._dataset) return None def coords2ll(self, *args, **kwargs): """ Alias for `xsar.BaseMeta.coords2ll` See Also -------- xsar.BaseMeta.coords2ll """ return self.sar_meta.coords2ll(*args, **kwargs) def ll2coords(self, *args): """ Get `(lines, samples)` from `(lon, lat)`, or convert a lon/lat shapely object to line/sample coordinates. Parameters ---------- *args: lon, lat or shapely object lon and lat might be iterables or scalars Returns ------- tuple of np.array or tuple of float (lines, samples) , or a shapely object Notes ----- The difference with `xsar.BaseMeta.ll2coords` is that coordinates are rounded to the nearest dataset coordinates. See Also -------- xsar.BaseMeta.ll2coords """ if isinstance(args[0], shapely.geometry.base.BaseGeometry): return self.sar_meta._ll2coords_shapely(args[0].intersection(self.geometry)) line, sample = self.sar_meta.ll2coords(*args) if hasattr(args[0], "__iter__"): scalar = False else: scalar = True tolerance = ( np.max( [ np.percentile(np.diff(self.dataset[c].values), 90) / 2 for c in ["line", "sample"] ] ) + 1 ) try: # select the nearest valid pixel in ds ds_nearest = self.dataset.sel( line=line, sample=sample, method="nearest", tolerance=tolerance ) if scalar: (line, sample) = ( ds_nearest.line.values.item(), ds_nearest.sample.values.item(), ) else: (line, sample) = (ds_nearest.line.values, ds_nearest.sample.values) except KeyError: # out of bounds, because of `tolerance` keyword (line, sample) = (line * np.nan, sample * np.nan) return line, sample def _set_rio(self, ds): # set .rio accessor for ds. ds must be same kind a self._dataset (not checked!) gcps = self._local_gcps want_dataset = True if isinstance(ds, xr.DataArray): # temporary convert to dataset try: ds = ds.to_dataset() except ValueError: ds = ds.to_dataset(name="_tmp_rio") want_dataset = False for v in ds: if set(["line", "sample"]).issubset(set(ds[v].dims)): ds[v] = ds[v].set_index({"sample": "sample", "line": "line"}) ds[v] = ( ds[v] .rio.write_gcps(gcps, "epsg:4326", inplace=True) .rio.set_spatial_dims("sample", "line", inplace=True) .rio.write_coordinate_system(inplace=True) ) # remove/reset some incorrect attrs set by rio # (long_name is 'latitude', but it's incorrect for line axis ...) for ax in ["line", "sample"]: [ ds[v][ax].attrs.pop(k, None) for k in ["long_name", "standard_name"] ] ds[v][ax].attrs["units"] = "1" if not want_dataset: # convert back to dataarray ds = ds[v] if ds.name == "_tmp_rio": ds.name = None return ds @property def _local_gcps(self): # get local gcps, for rioxarray.reproject (row and col are *index*, not coordinates) local_gcps = [] line_decimated = self.dataset.line.values[ :: int(self.dataset.line.size / 20) + 1 ] sample_decimated = self.dataset.sample.values[ :: int(self.dataset.sample.size / 20) + 1 ] XX, YY = np.meshgrid(line_decimated, sample_decimated) if self.sar_meta.product == "SLC": logger.debug( "GCPs computed from affine transformations on SLC products can be strongly shifted in position, we advise against ds.rio.reproject()" ) # lon_s,lat_s = self.coords2ll_SLC(XX.ravel(order='F'),YY.ravel(order='F')) # lon_s = lon_s.values # lat_s = lat_s.values cpt = 0 for line in line_decimated.astype(int): for sample in sample_decimated.astype(int): irow = np.argmin(np.abs(self.dataset.line.values - line)) irow = int(irow) icol = np.argmin(np.abs(self.dataset.sample.values - sample)) icol = int(icol) # if self.s1meta.product == 'SLC': # #lon, lat = self.coords2ll_SLC(line,sample) # lon = lon_s[cpt] # lat = lat_s[cpt] # if sample%0==0: # print('#########') # print('lon',lon) # print('lat',lat) # else: lon, lat = self.sar_meta.coords2ll(line, sample) gcp = GroundControlPoint(x=lon, y=lat, z=0, col=icol, row=irow) local_gcps.append(gcp) cpt += 1 return local_gcps def get_burst_valid_location(self): """ add a field 'valid_location' in the bursts sub-group of the datatree Returns: -------- """ nbursts = len(self.datatree["bursts"].ds["burst"]) burst_firstValidSample = self.datatree["bursts"].ds["firstValidSample"].values burst_lastValidSample = self.datatree["bursts"].ds["lastValidSample"].values valid_locations = np.empty((nbursts, 4), dtype="int32") line_per_burst = len(self.datatree["bursts"].ds["line"]) for ibur in range(nbursts): fvs = burst_firstValidSample[ibur, :] lvs = burst_lastValidSample[ibur, :] # valind = np.where((fvs != -1) | (lvs != -1))[0] valind = np.where(np.isfinite(fvs) | np.isfinite(lvs))[0] valloc = [ ibur * line_per_burst + valind.min(), fvs[valind].min(), ibur * line_per_burst + valind.max(), lvs[valind].max(), ] valid_locations[ibur, :] = valloc tmpda = xr.DataArray( dims=["burst", "limits"], coords={ "burst": self.datatree["bursts"].ds["burst"].values, "limits": np.arange(4), }, data=valid_locations, name="valid_location", attrs={ "description": "start line index, start sample index, stop line index, stop sample index" }, ) # self.datatree['bursts'].ds['valid_location'] = tmpda tmpds = xr.merge([self.datatree["bursts"].ds, tmpda]) self.datatree["bursts"] = self.datatree["bursts"].assign(tmpds) def get_bursts_polygons(self, only_valid_location=True): """ get the polygons of radar bursts in the image geometry Parameters ---------- only_valid_location : bool [True] -> polygons of the TOPS SLC bursts are cropped using valid location index False -> polygons of the TOPS SLC bursts are aligned with azimuth time start/stop index Returns ------- geopandas.GeoDataframe polygons of the burst in the image (ie line/sample) geometry 'geometry' is the polygon """ if self.resolution is not None: # eg 2.3/100 factor_range = self.dataset["sampleSpacing"].values / self.resolution factor_azimuth = self.dataset["lineSpacing"].values / self.resolution else: factor_range = 1 factor_azimuth = 1 # compute resolution factor if any if self.sar_meta.multidataset: blocks_list = [] # for subswath in self.subdatasets.index: for submeta in self.sar_meta._submeta: block = submeta.bursts(only_valid_location=only_valid_location) block["subswath"] = submeta.dsid block = block.set_index("subswath", append=True).reorder_levels( ["subswath", "burst"] ) blocks_list.append(block) blocks = pd.concat(blocks_list) else: # burst_list = self._bursts self.get_burst_valid_location() burst_list = self.datatree["bursts"].ds nb_samples = int( self.datatree["image"].ds["numberOfSamples"] * factor_range ) if burst_list["burst"].size == 0: blocks = gpd.GeoDataFrame() else: bursts = [] bursts_az_inds = {} inds_burst, geoloc_azitime, geoloc_iburst, geoloc_line = ( self._get_indices_bursts() ) for burst_ind, uu in enumerate(np.unique(inds_burst)): if only_valid_location: extent = np.copy( burst_list["valid_location"].values[burst_ind, :] ) area = box( int(extent[0] * factor_azimuth), int(extent[1] * factor_range), int(extent[2] * factor_azimuth), int(extent[3] * factor_range), ) else: inds_one_val = np.where(inds_burst == uu)[0] bursts_az_inds[uu] = inds_one_val area = box( bursts_az_inds[burst_ind][0], 0, bursts_az_inds[burst_ind][-1], nb_samples, ) burst = pd.Series(dict([("geometry_image", area)])) bursts.append(burst) # to geopandas blocks = pd.concat(bursts, axis=1).T blocks = gpd.GeoDataFrame(blocks) blocks["geometry"] = blocks["geometry_image"].apply(self.coords2ll) blocks.index.name = "burst" return blocks def _get_indices_bursts(self): """ Returns ------- ind np.array index of the burst start in the line coordinates geoloc_azitime np.array azimuth time at the middle of the image from geolocation grid (low resolution) geoloc_iburst np.array """ ind = None geoloc_azitime = None geoloc_iburst = None geoloc_line = None if self.sar_meta.product == "SLC" and "WV" not in self.sar_meta.swath: # if self.datatree.attrs['product'] == 'SLC' and 'WV' not in self.datatree.attrs['swath']: burst_nlines = int(self.sar_meta._bursts["linesPerBurst"]) # burst_nlines = self.datatree['bursts'].ds['line'].size geoloc_line = self.sar_meta.geoloc["line"].values # geoloc_line = self.datatree['geolocation_annotation'].ds['line'].values # find the indice of the bursts in the geolocation grid geoloc_iburst = np.floor(geoloc_line / float(burst_nlines)).astype("int32") # find the indices of the bursts in the high resolution grid line = np.arange(0, self.sar_meta.image["numberOfLines"]) # line = np.arange(0, self.datatree.attrs['numberOfLines']) iburst = np.floor(line / float(burst_nlines)).astype("int32") # find the indices of the burst transitions ind = np.searchsorted(geoloc_iburst, iburst, side="left") n_pixels = int((len(self.sar_meta.geoloc["sample"]) - 1) / 2) geoloc_azitime = self.sar_meta.geoloc["azimuthTime"].values[:, n_pixels] # security check for unrealistic line_values exceeding the image extent if ind.max() >= len(geoloc_azitime): ind[ind >= len(geoloc_azitime)] = len(geoloc_azitime) - 1 return ind, geoloc_azitime, geoloc_iburst, geoloc_line @timing def load_rasterized_masks(self): """ Load rasterized masks Returns ------- xarray.Dataset Contains rasterized masks dataset """ def _rasterize_mask_by_chunks(line, sample, mask="land"): chunk_coords = bbox_coords(line, sample, pad=None) # chunk footprint polygon, in dataset coordinates (with buffer, to enlarge a little the footprint) chunk_footprint_coords = Polygon(chunk_coords).buffer(10) # chunk footprint polygon, in lon/lat chunk_footprint_ll = self.sar_meta.coords2ll(chunk_footprint_coords) # get vector mask over chunk, in lon/lat vector_mask_ll = self.sar_meta.get_mask(mask).intersection( chunk_footprint_ll ) if vector_mask_ll.is_empty: # no intersection with mask, return zeros return np.zeros((line.size, sample.size)) # vector mask, in line/sample coordinates vector_mask_coords = self.ll2coords(vector_mask_ll) # shape of the returned chunk out_shape = (line.size, sample.size) # transform * (x, y) -> (line, sample) # (where (x, y) are index in out_shape) # Affine.permutation() is used because (line, sample) is transposed from geographic transform = ( Affine.translation(*chunk_coords[0]) * Affine.scale(*[np.unique(np.diff(c))[0] for c in [line, sample]]) * Affine.permutation() ) raster_mask = rasterio.features.rasterize( [vector_mask_coords], out_shape=out_shape, all_touched=False, transform=transform, ) return raster_mask da_list = [] for mask in self.sar_meta.mask_names: da_mask = map_blocks_coords( self._da_tmpl, _rasterize_mask_by_chunks, func_kwargs={"mask": mask} ) name = "%s_mask" % mask da_mask.attrs["history"] = yaml.safe_dump( {name: self.sar_meta.get_mask(mask, describe=True)} ) da_mask.attrs["meaning"] = "0: ocean , 1: land" da_list.append(da_mask.to_dataset(name=name)) return xr.merge(da_list) def ll2coords_SLC(self, *args): """ for SLC product with irregular projected pixel spacing in range Affine transformation are not relevant :return: """ stride_dataset_line = 10 # stride !=1 to save computation time, hard coded here to avoid issues of between KDtree serialized and possible different stride usage stride_dataset_sample = 30 # stride_dataset_line = 1 # stride !=1 to save computation time, hard coded here to avoid issues of between KDtree serialized and possible different stride usage # stride_dataset_sample = 1 lon, lat = args subset_lon = self.dataset["longitude"].isel( { "line": slice(None, None, stride_dataset_line), "sample": slice(None, None, stride_dataset_sample), } ) subset_lat = self.dataset["latitude"].isel( { "line": slice(None, None, stride_dataset_line), "sample": slice(None, None, stride_dataset_sample), } ) if self.geoloc_tree is None: t0 = time.time() lontmp = subset_lon.values.ravel() lattmp = subset_lat.values.ravel() self.geoloc_tree = KDTree(np.c_[lontmp, lattmp]) logger.debug("tree ready in %1.2f sec" % (time.time() - t0)) ll = np.vstack([lon, lat]).T dd, ii = self.geoloc_tree.query(ll, k=1) line, sample = np.unravel_index(ii, subset_lat.shape) return line * stride_dataset_line, sample * stride_dataset_sample def coords2ll_SLC(self, *args): """ for SLC product with irregular projected pixel spacing in range Affine transformation are not relevant Returns ------- """ lines, samples = args if isinstance(lines, list) or isinstance(lines, np.ndarray): pass else: # in case of a single point, # to avoid error when declaring the da_line and da_sample below lines = [lines] samples = [samples] da_line = xr.DataArray(lines, dims="points") da_sample = xr.DataArray(samples, dims="points") lon = self.dataset["longitude"].sel(line=da_line, sample=da_sample) lat = self.dataset["latitude"].sel(line=da_line, sample=da_sample) return lon, lat def land_mask_slc_per_bursts(self, lazy_loading=True): """ 1) loop on burst polygons to get rasterized landmask 2) merge the landmask pieces into a single Dataset to replace existing 'land_mask' is any Parameters ---------- lazy_loading bool Returns ------- """ # TODO: add a prior step to compute the intersection between the self.dataset (could be a subset) and the different bursts # if 'land_mask' in self.dataset: # self.datatree['measurement'] = self.datatree['measurement'].assign(self.datatree['measurement'].to_dataset().drop('land_mask')) logger.debug("start land_mask_slc_per_bursts()") def _rasterize_mask_by_chunks(line, sample, mask="land"): """ copy/pasted from load_rasterized_masks() :param line: :param sample: :param mask: :return: """ chunk_coords = bbox_coords(line, sample, pad=None) # chunk footprint polygon, in dataset coordinates (with buffer, to enlarge a little the footprint) # .buffer(1) #no buffer-> corruption of the polygon chunk_footprint_coords = Polygon(chunk_coords) assert chunk_footprint_coords.is_valid lines, samples = chunk_footprint_coords.exterior.xy lines = np.array([hh for hh in lines]).astype(int) lines = np.clip(lines, a_min=0, a_max=self.dataset["line"].max().values) samples = np.array([hh for hh in samples]).astype(int) samples = np.clip( samples, a_min=0, a_max=self.dataset["sample"].max().values ) chunk_footprint_lon, chunk_footprint_lat = self.coords2ll_SLC( lines, samples ) chunk_footprint_ll = Polygon( np.vstack([chunk_footprint_lon, chunk_footprint_lat]).T ) if chunk_footprint_ll.is_valid is False: chunk_footprint_ll = make_valid(chunk_footprint_ll) # get vector mask over chunk, in lon/lat vector_mask_ll = self.sar_meta.get_mask(mask).intersection( chunk_footprint_ll ) if vector_mask_ll.is_empty: # no intersection with mask, return zeros return np.zeros((line.size, sample.size)) # vector mask, in line/sample coordinates if isinstance(vector_mask_ll, shapely.geometry.Polygon): lons_ma, lats_ma = vector_mask_ll.exterior.xy lons = np.array([hh for hh in lons_ma]) lats = np.array([hh for hh in lats_ma]) vector_mask_coords_lines, vector_mask_coords_samples = ( self.ll2coords_SLC(lons, lats) ) vector_mask_coords = [ Polygon( np.vstack( [vector_mask_coords_lines, vector_mask_coords_samples] ).T ) ] else: # multipolygon vector_mask_coords = [] # to store polygons in image coordinates for iio, onepoly in enumerate(vector_mask_ll.geoms): lons_ma, lats_ma = onepoly.exterior.xy lons = np.array([hh for hh in lons_ma]) lats = np.array([hh for hh in lats_ma]) vector_mask_coords_lines, vector_mask_coords_samples = ( self.ll2coords_SLC(lons, lats) ) vector_mask_coords.append( Polygon( np.vstack( [vector_mask_coords_lines, vector_mask_coords_samples] ).T ) ) # shape of the returned chunk out_shape = (line.size, sample.size) # transform * (x, y) -> (line, sample) # (where (x, y) are index in out_shape) # Affine.permutation() is used because (line, sample) is transposed from geographic # this transform Affine seems to be sufficient approx for SLC -> curvilinear could be even better? transform = ( Affine.translation(*chunk_coords[0]) * Affine.scale(*[np.unique(np.diff(c))[0] for c in [line, sample]]) * Affine.permutation() ) raster_mask = rasterio.features.rasterize( vector_mask_coords, out_shape=out_shape, all_touched=False, transform=transform, ) return raster_mask # all_bursts = self.datatree['bursts'] all_bursts = self.get_bursts_polygons(only_valid_location=False) da_dict = {} # dictionnary to store the DataArray of each mask and each burst for burst_id in range(len(all_bursts["geometry_image"])): a_burst_bbox = all_bursts["geometry_image"].iloc[burst_id] line_index = np.array([int(jj) for jj in a_burst_bbox.exterior.xy[0]]) sample_index = np.array([int(jj) for jj in a_burst_bbox.exterior.xy[1]]) logger.debug( "line_index : %s %s %s", line_index, line_index.min(), line_index.max() ) logger.debug("dataset shape %s", self.dataset.digital_number.shape) a_burst_subset = self.dataset.isel( { "line": slice(line_index.min(), line_index.max()), "sample": slice(sample_index.min(), sample_index.max()), "pol": 0, } ) logger.debug("a_burst_subset %s", a_burst_subset.digital_number.shape) # logging.info('burst : %s lines: %s samples: %s',burst_id,a_burst_subset.digital_number.line,a_burst_subset.digital_number.sample) da_tmpl = xr.DataArray( dask.array.empty_like( np.empty( ( len(a_burst_subset.digital_number.line), len(a_burst_subset.digital_number.sample), ) ), dtype=np.int8, name="empty_var_tmpl-%s" % dask.base.tokenize(self.sar_meta.name), ), dims=("line", "sample"), coords={ "line": a_burst_subset.digital_number.line, "sample": a_burst_subset.digital_number.sample, # 'line_time': line_time.astype(float), }, ) for mask in self.sar_meta.mask_names: logger.debug("mask: %s", mask) if lazy_loading: da_mask = map_blocks_coords( da_tmpl, _rasterize_mask_by_chunks, func_kwargs={"mask": mask} ) else: tmpmask_val = _rasterize_mask_by_chunks( a_burst_subset.digital_number.line, a_burst_subset.digital_number.sample, mask=mask, ) da_mask = xr.DataArray( tmpmask_val, dims=("line", "sample"), coords={ "line": a_burst_subset.digital_number.line, "sample": a_burst_subset.digital_number.sample, }, ) name = "%s_maskv2" % mask da_mask.attrs["history"] = yaml.safe_dump( {name: self.sar_meta.get_mask(mask, describe=True)} ) da_mask.attrs["meaning"] = "0: ocean , 1: land" da_mask = da_mask.fillna(0) # zero -> ocean da_mask = da_mask.astype(np.int8) logger.debug("%s -> %s", mask, da_mask.attrs["history"]) # da_list.append(da_mask.to_dataset(name=name)) if mask not in da_dict: da_dict[mask] = [da_mask.to_dataset(name=name)] else: da_dict[mask].append(da_mask.to_dataset(name=name)) logger.debug("da_dict[mask] = %s %s", mask, da_dict[mask]) # merge with existing dataset all_masks = [] for kk in da_dict: logger.debug("da_dict[kk] %s", da_dict[kk]) complet_mask = xr.combine_by_coords(da_dict[kk]) all_masks.append(complet_mask) tmpds = self.datatree["measurement"].to_dataset() tmpds.attrs = self.dataset.attrs tmpmerged = xr.merge([tmpds] + all_masks) tmpmerged = tmpmerged.drop("land_mask") logger.debug("rename land_maskv2 -> land_mask") tmpmerged = tmpmerged.rename({"land_maskv2": "land_mask"}) tmpmerged.attrs["land_mask_computed_by_burst"] = True self.dataset = tmpmerged self.datatree["measurement"] = self.datatree["measurement"].assign(tmpmerged) self.datatree["measurement"].attrs = tmpmerged.attrs @property def footprint(self): """alias for `xsar.BaseDataset.geometry`""" return self.geometry @timing def map_raster(self, raster_ds): """ Map a raster onto xsar grid Parameters ---------- raster_ds: xarray.Dataset or xarray.DataArray The dataset we want to project onto xsar grid. The `raster_ds.rio` accessor must be valid. Returns ------- xarray.Dataset or xarray.DataArray The projected dataset, with 'line' and 'sample' coordinate (same size as xsar dataset), and with valid `.rio` accessor. """ if not raster_ds.rio.crs.is_geographic: raster_ds = raster_ds.rio.reproject(4326) if self.sar_meta.cross_antemeridian: raise NotImplementedError("Antimeridian crossing not yet checked") # get lon/lat box for xsar dataset lon1, lat1, lon2, lat2 = self.sar_meta.footprint.exterior.bounds lon_range = [lon1, lon2] lat_range = [lat1, lat2] # ensure dims ordering raster_ds = raster_ds.transpose("y", "x") # ensure coords are increasing ( for RectBiVariateSpline ) for coord in ["x", "y"]: if raster_ds[coord].values[-1] < raster_ds[coord].values[0]: raster_ds = raster_ds.reindex({coord: raster_ds[coord][::-1]}) # from lon/lat box in xsar dataset, get the corresponding box in raster_ds (by index) """ ilon_range = [ np.searchsorted(raster_ds.x.values, lon_range[0]), np.searchsorted(raster_ds.x.values, lon_range[1]) ] ilat_range = [ np.searchsorted(raster_ds.y.values, lat_range[0]), np.searchsorted(raster_ds.y.values, lat_range[1]) ] """ # for incomplete raster (not global like hwrf) ilon_range = [ np.max([1, np.searchsorted(raster_ds.x.values, lon_range[0])]), np.min( [np.searchsorted(raster_ds.x.values, lon_range[1]), raster_ds.x.size] ), ] ilat_range = [ np.max([1, np.searchsorted(raster_ds.y.values, lat_range[0])]), np.min( [np.searchsorted(raster_ds.y.values, lat_range[1]), raster_ds.y.size] ), ] # enlarge the raster selection range, for correct interpolation ilon_range, ilat_range = [ [rg[0] - 1, rg[1] + 1] for rg in (ilon_range, ilat_range) ] # select the xsar box in the raster raster_ds = raster_ds.isel(x=slice(*ilon_range), y=slice(*ilat_range)) # upscale coordinates, in original projection # 1D array of lons/lats, trying to have same spacing as dataset (if not to high) num = min((self._dataset.sample.size + self._dataset.line.size) // 2, 1000) lons = np.linspace(*lon_range, num=num) lats = np.linspace(*lat_range, num=num) name = None if isinstance(raster_ds, xr.DataArray): # convert to temporary dataset name = raster_ds.name or "_tmp_name" raster_ds = raster_ds.to_dataset(name=name) mapped_ds_list = [] for var in raster_ds: raster_da = raster_ds[var].chunk(raster_ds[var].shape) # upscale in original projection using interpolation # in most cases, RectBiVariateSpline give better results, but can't handle Nans if np.any(np.isnan(raster_da)): upscaled_da = raster_da.interp(x=lons, y=lats) else: upscaled_da = map_blocks_coords( xr.DataArray(dims=["y", "x"], coords={"x": lons, "y": lats}).chunk( 1000 ), RectBivariateSpline( raster_da.y.values, raster_da.x.values, raster_da.values, kx=3, ky=3, ), ) upscaled_da.name = var # interp upscaled_da on sar grid mapped_ds_list.append( upscaled_da.interp( x=self._dataset.longitude, y=self._dataset.latitude ).drop_vars(["x", "y"]) ) mapped_ds = xr.merge(mapped_ds_list) if name is not None: # convert back to dataArray mapped_ds = mapped_ds[name] if name == "_tmp_name": mapped_ds.name = None return self._set_rio(mapped_ds) @timing def _load_rasters_vars(self): # load and map variables from rasterfile (like ecmwf) on dataset if self.sar_meta.rasters.empty: return None else: logger.warning("Raster variable are experimental") if self.sar_meta.cross_antemeridian: raise NotImplementedError("Antimeridian crossing not yet checked") # will contain xr.DataArray to merge da_var_list = [] for name, infos in self.sar_meta.rasters.iterrows(): # read the raster file using helpers functions read_function = infos["read_function"] get_function = infos["get_function"] resource = infos["resource"] kwargs_get = { "date": datetime.strptime( self.sar_meta.start_date, "%Y-%m-%d %H:%M:%S.%f" ), "footprint": self.sar_meta.footprint, } logger.debug( 'adding raster "%s" from resource "%s"' % (name, str(resource)) ) if get_function is not None: try: resource_dec = get_function(resource, **kwargs_get) except TypeError: resource_dec = get_function(resource) kwargs_read = {"date": np.datetime64(resource_dec[0])} if read_function is None: raster_ds = xr.open_dataset(resource_dec[1], chunk=1000) else: # read_function should return a chunked dataset (so it's fast) raster_ds = read_function(resource_dec[1], **kwargs_read) # add globals raster attrs to globals dataset attrs hist_res = {"resource": resource_dec[1]} if get_function is not None: hist_res.update({"resource_decoded": resource_dec[1]}) reprojected_ds = self.map_raster(raster_ds).rename( {v: "%s_%s" % (name, v) for v in raster_ds} ) for v in reprojected_ds: reprojected_ds[v].attrs["history"] = yaml.safe_dump({v: hist_res}) da_var_list.append(reprojected_ds) return xr.merge(da_var_list) def _get_lut(self, var_name): """ Get lut for `var_name` Parameters ---------- var_name: str Returns ------- xarray.DataArray lut for `var_name` """ try: lut_name = self._map_var_lut[var_name] except KeyError: raise ValueError("can't find lut name for var '%s'" % var_name) try: lut = self._luts[lut_name] except KeyError: raise ValueError( "can't find lut from name '%s' for variable '%s' " % (lut_name, var_name) ) return lut xsar-2025.03.07/src/xsar/base_meta.py000066400000000000000000000376141476257143200171530ustar00rootroot00000000000000import copy import logging import warnings import cartopy import rasterio import shapely from shapely.geometry import Polygon import numpy as np from datetime import datetime from abc import abstractmethod from .raster_readers import available_rasters from .base_dataset import BaseDataset import geopandas as gpd from .utils import class_or_instancemethod, to_lon180, haversine logger = logging.getLogger("xsar.base_meta") logger.addHandler(logging.NullHandler()) # we know tiff as no geotransform : ignore warning warnings.filterwarnings("ignore", category=rasterio.errors.NotGeoreferencedWarning) # allow nan without warnings # some dask warnings are still non filtered: https://github.com/dask/dask/issues/3245 np.errstate(invalid="ignore") class BaseMeta(BaseDataset): """ Abstract class that defines necessary common functions for the computation of different SAR metadata (Radarsat2, Sentinel1, RCM...). This also permit a better maintenance, because these functions aren't redefined many times. """ # default mask feature (see self.set_mask_feature and cls.set_mask_feature) _mask_features_raw = { "land": cartopy.feature.NaturalEarthFeature("physical", "land", "10m") } _mask_features = {} _mask_intersecting_geometries = {} _mask_geometry = {} _geoloc = None _rasterized_masks = None manifest_attrs = None _time_range = None name = None multidataset = None short_name = None path = None product = None manifest = None subdatasets = None dsid = None safe = None geoloc = None def __init__(self): self.rasters = available_rasters.iloc[0:0].copy() def _get_mask_feature(self, name): # internal method that returns a cartopy feature from a mask name if self._mask_features[name] is None: feature = self._mask_features_raw[name] if isinstance(feature, str): # feature is a shapefile. # we get the crs from the shapefile to be able to transform the footprint to this crs_in # (so we can use `mask=` in gpd.read_file) import fiona import pyproj from shapely.ops import transform with fiona.open(feature) as fshp: try: # proj6 give a " FutureWarning: '+init=:' syntax is deprecated. " # ':' is the preferred initialization method" crs_in = fshp.crs["init"] except KeyError: crs_in = fshp.crs crs_in = pyproj.CRS(crs_in) proj_transform = pyproj.Transformer.from_crs( pyproj.CRS("EPSG:4326"), crs_in, always_xy=True ).transform footprint_crs = transform(proj_transform, self.footprint) with warnings.catch_warnings(): # ignore "RuntimeWarning: Sequential read of iterator was interrupted. Resetting iterator." warnings.simplefilter("ignore", RuntimeWarning) feature = cartopy.feature.ShapelyFeature( gpd.read_file(feature, mask=footprint_crs) .to_crs(epsg=4326) .geometry, cartopy.crs.PlateCarree(), ) if not isinstance(feature, cartopy.feature.Feature): raise TypeError("Expected a cartopy.feature.Feature type") self._mask_features[name] = feature return self._mask_features[name] @class_or_instancemethod def set_mask_feature(self_or_cls, name, feature): """ Set a named mask from a shapefile or a cartopy feature. Parameters ---------- name: str mask name feature: str or cartopy.feature.Feature if str, feature is a path to a shapefile or whatever file readable with fiona. It is recommended to use str, as the serialization of cartopy feature might be big. Examples -------- Add an 'ocean' mask at class level (ie as default mask): ``` >>> xsar.RadarSat2Meta.set_mask_feature("ocean", cartopy.feature.OCEAN) >>> xsar.Sentinel1Meta.set_mask_feature("ocean", cartopy.feature.OCEAN) ``` Add an 'ocean' mask at instance level (ie only for this self Sentinel1Meta (or RadarSat2Meta instance): ``` >>> xsar.RadarSat2Meta.set_mask_feature("ocean", cartopy.feature.OCEAN) >>> xsar.Sentinel1Meta.set_mask_feature("ocean", cartopy.feature.OCEAN) ``` High resoltion shapefiles can be found from openstreetmap. It is recommended to use WGS84 with large polygons split from https://osmdata.openstreetmap.de/ See Also -------- xsar.BaseMeta.get_mask """ # see https://stackoverflow.com/a/28238047/5988771 for self_or_cls self_or_cls._mask_features_raw[name] = feature if not isinstance(self_or_cls, type): # self (instance, not class) self_or_cls._mask_intersecting_geometries[name] = None self_or_cls._mask_geometry[name] = None self_or_cls._mask_features[name] = None def get_mask(self, name, describe=False): """ Get mask from `name` (e.g. 'land') as a shapely Polygon. The resulting polygon is contained in the footprint. Parameters ---------- name: str Returns ------- shapely.geometry.Polygon """ if describe: descr = self._mask_features_raw[name] try: # nice repr for a class (like 'cartopy.feature.NaturalEarthFeature land') descr = "%s.%s %s" % ( descr.__module__, descr.__class__.__name__, descr.name, ) except AttributeError: pass return descr if self._mask_geometry[name] is None: if self._get_mask_intersecting_geometries(name).unary_union: poly = self._get_mask_intersecting_geometries( name ).unary_union.intersection(self.footprint) else: poly = Polygon() if poly.is_empty: poly = Polygon() self._mask_geometry[name] = poly return self._mask_geometry[name] def _get_mask_intersecting_geometries(self, name): """ :param name: str(eg land) :return: """ if self._mask_intersecting_geometries[name] is None: gseries = gpd.GeoSeries(self._get_mask_feature(name).geometries()) # gseries = gpd.GeoSeries(self._get_mask_feature(name) # .intersecting_geometries(self.footprint)) if len(gseries) == 0: # no intersection with mask, but we want at least one geometry in the serie (an empty one) gseries = gpd.GeoSeries([Polygon()]) self._mask_intersecting_geometries[name] = gseries return self._mask_intersecting_geometries[name] @property @abstractmethod def footprint(self): pass @property def cross_antemeridian(self): """True if footprint cross antemeridian""" return ( (np.max(self.geoloc["longitude"]) - np.min(self.geoloc["longitude"])) > 180 ).item() @property def swath(self): """string like 'EW', 'IW', 'WV', etc ...""" return self.manifest_attrs["swath_type"] @property @abstractmethod def _dict_coords2ll(self): pass @property @abstractmethod def approx_transform(self): pass @property def mask_names(self): """ Returns ------- list of str mask names """ return self._mask_features.keys() def coords2ll(self, *args, to_grid=False, approx=False): """ convert `lines`, `samples` arrays to `longitude` and `latitude` arrays. or a shapely object in `lines`, `samples` coordinates to `longitude` and `latitude`. Parameters ---------- *args: lines, samples or a shapely geometry lines, samples are iterables or scalar to_grid: bool, default False If True, `lines` and `samples` must be 1D arrays. The results will be 2D array of shape (lines.size, samples.size). Returns ------- tuple of np.array or tuple of float (longitude, latitude) , with shape depending on `to_grid` keyword. See Also -------- xsar.BaseMeta.ll2coords xsar.BaseDataset.ll2coords """ if isinstance(args[0], shapely.geometry.base.BaseGeometry): return self._coords2ll_shapely(args[0]) lines, samples = args scalar = True if hasattr(lines, "__iter__"): scalar = False if approx: if to_grid: samples2D, lines2D = np.meshgrid(samples, lines) lon, lat = self.approx_transform * (lines2D, samples2D) pass else: lon, lat = self.approx_transform * (lines, samples) else: dict_coords2ll = self._dict_coords2ll if to_grid: lon = dict_coords2ll["longitude"](lines, samples) lat = dict_coords2ll["latitude"](lines, samples) else: lon = dict_coords2ll["longitude"].ev(lines, samples) lat = dict_coords2ll["latitude"].ev(lines, samples) if self.cross_antemeridian: lon = to_lon180(lon) if scalar and hasattr(lon, "__iter__"): lon = lon.item() lat = lat.item() if hasattr(lon, "__iter__") and type(lon) is not type(lines): lon = type(lines)(lon) lat = type(lines)(lat) return lon, lat def _ll2coords_shapely(self, shape, approx=False): if approx: (xoff, a, b, yoff, d, e) = (~self.approx_transform).to_gdal() return shapely.affinity.affine_transform(shape, (a, b, d, e, xoff, yoff)) else: return shapely.ops.transform(self.ll2coords, shape) def _coords2ll_shapely(self, shape, approx=False): if approx: (xoff, a, b, yoff, d, e) = self.approx_transform.to_gdal() return shapely.affinity.affine_transform(shape, (a, b, d, e, xoff, yoff)) else: return shapely.ops.transform(self.coords2ll, shape) def ll2coords(self, *args): """ Get `(lines, samples)` from `(lon, lat)`, or convert a lon/lat shapely object to line/sample coordinates. Parameters ---------- *args: lon, lat or shapely object lon and lat might be iterables or scalars Returns ------- tuple of np.array or tuple of float (lines, samples) , or a shapely object Examples -------- get nearest (line,sample) from (lon,lat) = (84.81, 21.32) in ds, without bounds checks >>> (line, sample) = self.ll2coords(84.81, 21.32) # (lon, lat) >>> (line, sample) (9752.766349989339, 17852.571322887554) See Also -------- xsar.BaseMeta.coords2ll xsar.BaseDataset.coords2ll """ if isinstance(args[0], shapely.geometry.base.BaseGeometry): return self._ll2coords_shapely(args[0]) lon, lat = args # approximation with global inaccurate transform line_approx, sample_approx = ~self.approx_transform * ( np.asarray(lon), np.asarray(lat), ) # Theoretical identity. It should be the same, but the difference show the error. lon_identity, lat_identity = self.coords2ll( line_approx, sample_approx, to_grid=False ) line_identity, sample_identity = ~self.approx_transform * ( lon_identity, lat_identity, ) # we are now able to compute the error, and make a correction line_error = line_identity - line_approx sample_error = sample_identity - sample_approx line = line_approx - line_error sample = sample_approx - sample_error return line, sample def coords2heading(self, lines, samples, to_grid=False, approx=True): """ Get image heading (lines increasing direction) at coords `lines`, `samples`. Parameters ---------- lines: np.array or scalar samples: np.array or scalar to_grid: bool If True, `lines` and `samples` must be 1D arrays. The results will be 2D array of shape (lines.size, samples.size). Returns ------- np.array or float `heading` , with shape depending on `to_grid` keyword. """ lon1, lat1 = self.coords2ll(lines - 1, samples, to_grid=to_grid, approx=approx) lon2, lat2 = self.coords2ll(lines + 1, samples, to_grid=to_grid, approx=approx) _, heading = haversine(lon1, lat1, lon2, lat2) return heading @property @abstractmethod def _get_time_range(self): pass @property def time_range(self): """time range as pd.Interval""" if self._time_range is None: self._time_range = self._get_time_range() return self._time_range @property def start_date(self): """start date, as datetime.datetime""" out_format = "%Y-%m-%d %H:%M:%S.%f" date = self.time_range.left try: return "%s" % datetime.strptime("%s" % date, out_format) except ValueError: return "%s" % date.strftime(out_format) @property def stop_date(self): """stop date, as datetime.datetime""" out_format = "%Y-%m-%d %H:%M:%S.%f" date = self.time_range.right try: return "%s" % datetime.strptime("%s" % date, out_format) except ValueError: return "%s" % date.strftime(out_format) @class_or_instancemethod def set_raster(self_or_cls, name, resource, read_function=None, get_function=None): # get defaults if exists default = available_rasters.loc[name:name] # set from params, or from default self_or_cls.rasters.loc[name, "resource"] = ( resource or default.loc[name, "resource"] ) self_or_cls.rasters.loc[name, "read_function"] = ( read_function or default.loc[name, "read_function"] ) self_or_cls.rasters.loc[name, "get_function"] = ( get_function or default.loc[name, "get_function"] ) return @property def dict(self): # return a minimal dictionary that can be used with Sentinel1Meta.from_dict() or pickle (see __reduce__) # to reconstruct another instance of self # minidict = { "name": self.name, "_mask_features_raw": self._mask_features_raw, "_mask_features": {}, "_mask_intersecting_geometries": {}, "_mask_geometry": {}, "rasters": self.rasters, } for name in minidict["_mask_features_raw"].keys(): minidict["_mask_intersecting_geometries"][name] = None minidict["_mask_geometry"][name] = None minidict["_mask_features"][name] = None return minidict @classmethod def from_dict(cls, minidict): # like copy constructor, but take a dict from Sentinel1Meta.dict # https://github.com/umr-lops/xsar/issues/23 for name in minidict["_mask_features_raw"].keys(): assert minidict["_mask_geometry"][name] is None assert minidict["_mask_features"][name] is None minidict = copy.copy(minidict) new = cls(minidict["name"]) new.__dict__.update(minidict) return new xsar-2025.03.07/src/xsar/config.yml000066400000000000000000000001331476257143200166330ustar00rootroot00000000000000# default data dir for tests and examples data_dir: /tmp auxiliary_dir: path_auxiliary_df: xsar-2025.03.07/src/xsar/ipython_backends.py000066400000000000000000000152751476257143200205560ustar00rootroot00000000000000try: # will fall back to repr if some modules are missing # make sure we are running from a notebook # if test fail, nothing will be imported, and that will save lot of importtime assert get_ipython() is not None import cartopy import holoviews as hv import geoviews as gv import geoviews.feature as gf import jinja2 import geopandas as gpd import holoviews.ipython.display_hooks as display_hooks from shapely.geometry import Polygon except (ModuleNotFoundError, AssertionError, NameError): pass def repr_mimebundle_Sentinel1Meta(self, include=None, exclude=None): """html output for notebook""" template = jinja2.Template( """
{{ intro }}
{{ short_name }}
{% for key, value in properties.items() %} {% endfor %}
{{ key }} {{ value }}
{{ location }}
""" ) crs = cartopy.crs.PlateCarree() world = gv.operation.resample_geometry(gf.land.geoms("10m")).opts( color="khaki", projection=crs, alpha=0.5 ) center = self.footprint.centroid xlim = (center.x - 20, center.x + 20) ylim = (center.y - 20, center.y + 20) if self.multidataset and len(self.subdatasets) == len( self._footprints ): # checks len because SAFEs like IW_SLC has only one footprint for 3 subdatasets dsid = [s.split(":")[2] for s in self.subdatasets] footprint = self._footprints else: dsid = [self.dsid] footprint = [self.footprint] footprints_df = gpd.GeoDataFrame( {"dsid": dsid, "geometry": footprint}, crs="EPSG:4326" ) opts = {"bokeh": dict(tools=["hover"])} footprint = ( gv.Polygons(footprints_df, label="footprint") .opts(projection=crs, xlim=xlim, ylim=ylim, alpha=0.5) .opts( **(opts.get(hv.Store.current_backend) or {}), backend=hv.Store.current_backend ) ) orbit = ( gv.Points(self.orbit["geometry"].to_crs("EPSG:4326"), label="orbit") .opts(projection=crs, xlim=xlim, ylim=ylim, alpha=0.5) .opts( **(opts.get(hv.Store.current_backend) or {}), backend=hv.Store.current_backend ) ) opts = {"bokeh": dict(width=400, height=400), "matplotlib": dict(fig_inches=5)} location = ( (world * footprint * orbit) .opts(title="Map") .opts( **(opts.get(hv.Store.current_backend) or {}), backend=hv.Store.current_backend ) ) data, metadata = display_hooks.render(location) properties = self.to_dict() properties["orbit_pass"] = self.orbit_pass if self.pixel_line_m is not None: properties["pixel size"] = "%.1f * %.1f meters (line * sample)" % ( self.pixel_line_m, self.pixel_sample_m, ) properties["coverage"] = self.coverage properties["start_date"] = self.start_date properties["stop_date"] = self.stop_date if len(self.subdatasets) > 0: properties["subdatasets"] = "list of %d subdatasets" % len(self.subdatasets) properties = {k: v for k, v in properties.items() if v is not None} if self.multidataset: intro = "Multi (%d) dataset" % len(self.subdatasets) else: intro = "Single dataset" properties["dsid"] = self.dsid if "text/html" in data: data["text/html"] = template.render( intro=intro, short_name=self.short_name, properties=properties, location=data["text/html"], ) return data, metadata def repr_mimebundle_Sentinel1Dataset(self, include=None, exclude=None): template = jinja2.Template( """
{{ intro }}
{{ short_name }}
{% for key, value in properties.items() %} {% endfor %}
{{ key }} {{ value }}
{{ location }}
""" ) opts = {"bokeh": dict(fill_color="cyan")} grid = ( hv.Path(Polygon(self._bbox_coords_ori)).opts(color="blue") * hv.Polygons(Polygon(self._bbox_coords)) .opts(color="blue") .opts( **(opts.get(hv.Store.current_backend) or {}), backend=hv.Store.current_backend ) ).opts(xlabel="line", ylabel="sample") data, metadata = display_hooks.render(grid) properties = {} if self.pixel_line_m is not None: properties["pixel size"] = "%.1f * %.1f meters (line * sample)" % ( self.pixel_line_m, self.pixel_sample_m, ) properties["coverage"] = self.coverage properties = {k: v for k, v in properties.items() if v is not None} if self.sliced: intro = "dataset slice" else: intro = "full dataset coverage" if "text/html" in data: data["text/html"] = template.render( intro=intro, short_name=self.sar_meta.short_name, properties=properties, location=data["text/html"], ) return data, metadata repr_mimebundle_wrapper = { "Sentinel1Meta": repr_mimebundle_Sentinel1Meta, "Sentinel1Dataset": repr_mimebundle_Sentinel1Dataset, } def repr_mimebundle(obj, include=None, exclude=None): try: return repr_mimebundle_wrapper[type(obj).__name__]( obj, include=include, exclude=exclude ) except Exception: return {"text": repr(obj)} xsar-2025.03.07/src/xsar/radarsat2_dataset.py000066400000000000000000001040121476257143200206060ustar00rootroot00000000000000# -*- coding: utf-8 -*- import logging import warnings from .radarsat2_meta import RadarSat2Meta from .utils import timing, map_blocks_coords, BlockingActorProxy, to_lon180 import numpy as np import rasterio.features import xarray as xr from scipy.interpolate import RectBivariateSpline, interp1d import dask from .base_dataset import BaseDataset logger = logging.getLogger("xsar.radarsat2_dataset") logger.addHandler(logging.NullHandler()) # we know tiff as no geotransform : ignore warning warnings.filterwarnings( "ignore", category=rasterio.errors.NotGeoreferencedWarning) # allow nan without warnings # some dask warnings are still non filtered: https://github.com/dask/dask/issues/3245 np.errstate(invalid="ignore") class RadarSat2Dataset(BaseDataset): """ Handle a SAFE subdataset. A dataset might contain several tiff files (multiples polarizations), but all tiff files must share the same footprint. The main attribute useful to the end-user is `self.dataset` (`xarray.Dataset` , with all variables parsed from xml and tiff files.) Parameters ---------- dataset_id: str or RadarSat2Meta object if str, it can be a path, or a gdal dataset identifier) resolution: dict, number or string, optional resampling dict like `{'line': 20, 'sample': 20}` where 20 is in pixels. if a number, dict will be constructed from `{'line': number, 'sample': number}` if str, it must end with 'm' (meters), like '100m'. dict will be computed from sensor pixel size. resampling: rasterio.enums.Resampling or str, optional Only used if `resolution` is not None. ` rasterio.enums.Resampling.rms` by default. `rasterio.enums.Resampling.nearest` (decimation) is fastest. chunks: dict, optional dict with keys ['pol','line','sample'] (dask chunks). dtypes: None or dict, optional Specify the data type for each variable. lazyloading: bool, optional activate or not the lazy loading of the high resolution fields """ def __init__( self, dataset_id, resolution=None, resampling=rasterio.enums.Resampling.rms, chunks={"line": 5000, "sample": 5000}, dtypes=None, lazyloading=True, skip_variables=None, ): if skip_variables is None: skip_variables = [] # default dtypes if dtypes is not None: self._dtypes.update(dtypes) # default meta for map_blocks output. # as asarray is imported from numpy, it's a numpy array. # but if later we decide to import asarray from cupy, il will be a cupy.array (gpu) self.sar_meta = None self.resolution = resolution if not isinstance(dataset_id, RadarSat2Meta): self.sar_meta = BlockingActorProxy(RadarSat2Meta, dataset_id) # check serializable # import pickle # s1meta = pickle.loads(pickle.dumps(self.s1meta)) # assert isinstance(sar_meta.coords2ll(100, 100),tuple) else: # we want self.sar_meta to be a dask actor on a worker self.sar_meta = BlockingActorProxy( RadarSat2Meta.from_dict, dataset_id.dict) del dataset_id if self.sar_meta.multidataset: raise IndexError( """Can't open an multi-dataset. Use `xsar.RadarSat2Meta('%s').subdatasets` to show availables ones""" % self.sar_meta.path ) from xradarsat2 import load_digital_number # build datatree DN_tmp = load_digital_number( self.sar_meta.dt, resolution=resolution, resampling=resampling, chunks=chunks, )["digital_numbers"].ds # In order to respect xsar convention, lines and samples have been flipped in the metadata when necessary. # `load_digital_number` uses these metadata but rio creates new coords without keeping the flipping done. # So we have to flip again a time digital numbers to respect xsar convention DN_tmp = self.flip_sample_da(DN_tmp) DN_tmp = self.flip_line_da(DN_tmp) # geoloc geoloc = self.sar_meta.geoloc geoloc.attrs["history"] = "annotations" # orbitAndAttitude orbit_and_attitude = self.sar_meta.orbit_and_attitude orbit_and_attitude.attrs["history"] = "annotations" # dopplerCentroid doppler_centroid = self.sar_meta.doppler_centroid doppler_centroid.attrs["history"] = "annotations" # dopplerRateValues doppler_rate_values = self.sar_meta.doppler_rate_values doppler_rate_values.attrs["history"] = "annotations" # chirp chirp = self.sar_meta.chirp chirp.attrs["history"] = "annotations" # radarParameters radar_parameters = self.sar_meta.radar_parameters radar_parameters.attrs["history"] = "annotations" # lookUpTables lut = self.sar_meta.lut lut.attrs["history"] = "annotations" self.datatree = xr.DataTree.from_dict( {"measurement": DN_tmp, "geolocation_annotation": geoloc} ) self._dataset = self.datatree["measurement"].to_dataset() # dict mapping for variable names to create by applying specified lut on digital numbers self._map_var_lut_noise = { "sigma0": "noiseLevelValues_SigmaNought", "gamma0": "noiseLevelValues_Gamma", "beta0": "noiseLevelValues_BetaNought", } self._map_var_lut = { "sigma0": "lutSigma", "gamma0": "lutGamma", "beta0": "lutBeta", } geoloc_vars = ["latitude", "longitude", "altitude", "incidence", "elevation"] for vv in skip_variables: if vv in geoloc_vars: geoloc_vars.remove(vv) for att in ["name", "short_name", "product", "safe", "swath", "multidataset"]: if att not in self.datatree.attrs: # tmp = xr.DataArray(self.s1meta.__getattr__(att),attrs={'source':'filename decoding'}) self.datatree.attrs[att] = self.sar_meta.__getattr__(att) self._dataset.attrs[att] = self.sar_meta.__getattr__(att) value_res_line = self.sar_meta.geoloc.line.attrs[ "rasterAttributes_sampledLineSpacing_value" ] value_res_sample = self.sar_meta.geoloc.pixel.attrs[ "rasterAttributes_sampledPixelSpacing_value" ] # self._load_incidence_from_lut() refe_spacing = "slant" if resolution is not None: # if the data sampling changed it means that the quantities are projected on ground refe_spacing = "ground" if isinstance(resolution, str): value_res_sample = float(resolution.replace("m", "")) value_res_line = value_res_sample elif isinstance(resolution, dict): value_res_sample = ( self.sar_meta.geoloc.pixel.attrs[ "rasterAttributes_sampledPixelSpacing_value" ] * resolution["sample"] ) value_res_line = ( self.sar_meta.geoloc.line.attrs[ "rasterAttributes_sampledLineSpacing_value" ] * resolution["line"] ) else: logger.warning( "resolution type not handle (%s) should be str or dict -> sampleSpacing" " and lineSpacing are not correct", type(resolution), ) self._dataset["sampleSpacing"] = xr.DataArray( value_res_sample, attrs={"units": "m", "referential": refe_spacing} ) self._dataset["lineSpacing"] = xr.DataArray( value_res_line, attrs={"units": "m"} ) # dataset no-pol template for function evaluation on coordinates (*no* values used) # what's matter here is the shape of the image, not the values. with warnings.catch_warnings(): # warnings.simplefilter("ignore", np.ComplexWarning) self._da_tmpl = xr.DataArray( dask.array.empty_like( self._dataset.digital_number.isel(pol=0).drop("pol"), dtype=np.int8, name="empty_var_tmpl-%s" % dask.base.tokenize( self.sar_meta.name), ), dims=("line", "sample"), coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) # Add vars to define if lines or samples have been flipped to respect xsar convention self._dataset = xr.merge( [ xr.DataArray( data=self.sar_meta.samples_flipped, attrs={ "meaning": "xsar convention : increasing incidence values along samples axis" }, ).to_dataset(name="samples_flipped"), self._dataset, ] ) self._dataset = xr.merge( [ xr.DataArray( data=self.sar_meta.lines_flipped, attrs={ "meaning": "xsar convention : increasing time along line axis " "(whatever ascending or descending pass direction)" }, ).to_dataset(name="lines_flipped"), self._dataset, ] ) self._luts = self.lazy_load_luts() self.apply_calibration_and_denoising() self._dataset = xr.merge( [ self.load_from_geoloc(geoloc_vars, lazy_loading=lazyloading), self._dataset, ] ) # compute offboresight in self._dataset self._get_offboresight_from_elevation() rasters = self._load_rasters_vars() if rasters is not None: self._dataset = xr.merge([self._dataset, rasters]) self._dataset = xr.merge([self.interpolate_times, self._dataset]) if "ground_heading" not in skip_variables: self._dataset = xr.merge( [self.load_ground_heading(), self._dataset]) if "velocity" not in skip_variables: self._dataset = xr.merge( [self.get_sensor_velocity(), self._dataset]) self._rasterized_masks = self.load_rasterized_masks() self._dataset = xr.merge([self._rasterized_masks, self._dataset]) """a = self._dataset.copy() self._dataset = self.flip_sample_da(a) self.datatree['measurement'] = self.datatree['measurement'].assign(self._dataset) a = self._dataset.copy() self._dataset = self.flip_line_da(a)""" self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) """self.datatree = datatree.DataTree.from_dict( {'measurement': self.datatree['measurement'], 'geolocation_annotation': self.datatree['geolocation_annotation'], 'reader': self.sar_meta.dt})""" self._reconfigure_reader_datatree() self._dataset.attrs.update(self.sar_meta.to_dict("all")) self.datatree.attrs.update(self.sar_meta.to_dict("all")) self.resampled = resolution is not None def lazy_load_luts(self): """ Lazy load luts from the reader as delayed Returns ------- xarray.Dataset Contains delayed dataArrays of luts """ luts_ds = self.sar_meta.dt["lut"].ds.rename({"pixel": "sample"}) merge_list = [] for lut_name in luts_ds: lut_f_delayed = dask.delayed()(luts_ds[lut_name]) ar = dask.array.from_delayed( lut_f_delayed.data, (luts_ds[lut_name].data.size,), luts_ds[lut_name].dtype, ) da = xr.DataArray( data=ar, dims=["sample"], coords={"sample": luts_ds[lut_name].sample}, attrs=luts_ds[lut_name].attrs, ) ds_lut_f_delayed = da.to_dataset(name=lut_name) merge_list.append(ds_lut_f_delayed) return xr.combine_by_coords(merge_list) @timing def _get_offboresight_from_elevation(self): """ Compute offboresight angle. Returns ------- """ self._dataset["offboresight"] = ( self._dataset.elevation - ( 30.1833947 * self._dataset.latitude**0 + 0.0082998714 * self._dataset.latitude**1 - 0.00031181534 * self._dataset.latitude**2 - 0.0943533e-07 * self._dataset.latitude**3 + 3.0191435e-08 * self._dataset.latitude**4 + 4.968415428e-12 * self._dataset.latitude**5 - 9.315371305e-13 * self._dataset.latitude**6 ) + 29.45 ) self._dataset["offboresight"].attrs[ "comment" ] = "built from elevation angle and latitude" @timing def load_from_geoloc(self, varnames, lazy_loading=True): """ Interpolate (with RectBiVariateSpline) variables from `self.sar_meta.geoloc` to `self._dataset` Parameters ---------- varnames: list of str subset of variables names in `self.sar_meta.geoloc` Returns ------- xarray.Dataset With interpolated variables """ mapping_dataset_geoloc = { "latitude": "latitude", "longitude": "longitude", "incidence": "incidenceAngle", "elevation": "elevationAngle", "altitude": "height", } da_list = [] for varname in varnames: varname_in_geoloc = mapping_dataset_geoloc[varname] if varname == "incidence": da = self._load_incidence_from_lut() da.name = varname da_list.append(da) elif varname == "elevation": da = self._load_elevation_from_lut() da.name = varname da_list.append(da) else: if varname == "longitude": z_values = self.sar_meta.geoloc[varname] if self.sar_meta.cross_antemeridian: logger.debug("translate longitudes between 0 and 360") z_values = z_values % 360 else: z_values = self.sar_meta.geoloc[varname_in_geoloc] interp_func = RectBivariateSpline( self.sar_meta.geoloc.line, self.sar_meta.geoloc.pixel, z_values, kx=1, ky=1, ) typee = self.sar_meta.geoloc[varname_in_geoloc].dtype if lazy_loading: da_var = map_blocks_coords( self._da_tmpl.astype(typee), interp_func) else: da_val = interp_func( self._dataset.digital_number.line, self._dataset.digital_number.sample, ) da_var = xr.DataArray( data=da_val, dims=["line", "sample"], coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) if varname == "longitude": if self.sar_meta.cross_antemeridian: da_var.data = da_var.data.map_blocks(to_lon180) da_var.name = varname # copy history try: da_var.attrs["history"] = self.sar_meta.geoloc[ varname_in_geoloc ].attrs["xpath"] except KeyError: pass da_list.append(da_var) ds = xr.merge(da_list) return ds @timing def _load_incidence_from_lut(self): """ load incidence thanks to lut. In the formula to have the incidence, we understand that it is calculated thanks to lut. But we can ask ourselves if we consider the denoised ones or not. In this case we have chosen to take the not denoised luts. Usually look up tables depends on luts, but we already have information about look up tables, so we determine incidence thanks to these. Reference : `Radarsat2 product format definition` 7.2 Returns ------- xarray.DataArray DataArray of incidence (expressed in degrees) """ beta = self._dataset.beta0_raw[0] gamma = self._dataset.gamma0_raw[0] incidence_pre = gamma / beta i_angle = np.degrees(np.arctan(incidence_pre)) return xr.DataArray( data=i_angle, dims=["line", "sample"], coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) @timing def _resample_lut_values(self, lut): lines = self.sar_meta.geoloc.line samples = np.arange(lut.shape[0]) lut_values_2d = dask.delayed(np.tile)(lut, (lines.shape[0], 1)) interp_func = dask.delayed(RectBivariateSpline)( x=lines, y=samples, z=lut_values_2d, kx=1, ky=1 ) """var = inter_func(self._dataset.digital_number.line, self._dataset.digital_number.sample) da_var = xr.DataArray(data=var, dims=['line', 'sample'], coords={'line': self._dataset.digital_number.line, 'sample': self._dataset.digital_number.sample})""" da_var = map_blocks_coords( self._da_tmpl.astype(lut.dtype), interp_func) return da_var @timing def _load_elevation_from_lut(self): """ Load elevation from lut. Formula reference : `RSI-GS-026 RS-1 Data Products Specifications` 5.3.3.2. this formula needs the orbit altitude. But 2 variables look like this one : `satelliteHeight` and `Altitude`. We considered the satelliteHeight. Returns ------- """ satellite_height = self.sar_meta.dt.attrs["satelliteHeight"] earth_radius = 6.371e6 incidence = self._load_incidence_from_lut() angle_rad = np.sin(np.radians(incidence)) inside = angle_rad * earth_radius / (earth_radius + satellite_height) return np.degrees(np.arcsin(inside)) @timing def _get_lut_noise(self, var_name): """ Get noise lut in the reader for var_name Parameters ---------- var_name: str Returns ------- xarray.DataArray noise lut for `var_name` """ try: lut_name = self._map_var_lut_noise[var_name] except KeyError: raise ValueError( "can't find noise lut name for var '%s'" % var_name) try: lut = self.sar_meta.dt["radarParameters"][lut_name] except KeyError: raise ValueError( "can't find noise lut from name '%s' for variable '%s'" % (lut_name, var_name) ) return lut @timing def _interpolate_for_noise_lut(self, var_name): """ Interpolate the noise level values (from the reader) and resample it to create a noise lut. Initial values are at low resolution, and the high resolution range is made from the pixel first noise level value and the step. Then, an interpolation with RectBivariateSpline permit having a full resolution and extrapolate the first pixels; getting by the end resampled noise values. Nb : Noise Level Values extracted from the reader are already calibrated, and expressed in dB (so they are converted in linear). Parameters ---------- var_name : str Variable name to compute by applying lut. Must exist in `self._map_var_lut_noise` to be able to get the corresponding lut. Returns ------- xarray.DataArray Noise level values interpolated and resampled """ initial_lut = self._get_lut_noise(var_name) first_pix = initial_lut.attrs["pixelFirstNoiseValue"] step = initial_lut.attrs["stepSize"] noise_values = 10 ** (initial_lut / 10) lines = np.arange(self.sar_meta.geoloc.line[-1] + 1) noise_values_2d = np.tile(noise_values, (lines.shape[0], 1)) indexes = [first_pix + step * i for i in range(0, noise_values.shape[0])] interp_func = dask.delayed(RectBivariateSpline)( x=lines, y=indexes, z=noise_values_2d, kx=1, ky=1 ) da_var = map_blocks_coords( self._da_tmpl.astype(self._dtypes["noise_lut"]), interp_func ) return da_var @timing def _get_noise(self, var_name): """ Get noise equivalent for `var_name`. Parameters ---------- var_name: str Variable name to compute. Must exist in `self._map_var_lut` and `self._map_var_lut_noise` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `'ne%sz' % var_name[0]` (ie 'nesz' for 'sigma0', 'nebz' for 'beta0', etc...) """ name = "ne%sz" % var_name[0] concat_list = [] # add pol dim for pol in self._dataset.pol: lut_noise = ( self._interpolate_for_noise_lut(var_name) .assign_coords(pol=pol) .expand_dims("pol") ) concat_list.append(lut_noise) return xr.concat(concat_list, dim="pol").to_dataset(name=name) def apply_calibration_and_denoising(self): """ apply calibration and denoising functions to get high resolution sigma0 , beta0 and gamma0 + variables *_raw Returns: -------- """ for var_name, lut_name in self._map_var_lut.items(): if lut_name in self._luts: # merge var_name into dataset (not denoised) self._dataset = self._dataset.merge( self._apply_calibration_lut(var_name) ) # merge noise equivalent for var_name (named 'ne%sz' % var_name[0) self._dataset = self._dataset.merge(self._get_noise(var_name)) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) self._dataset = self._add_denoised(self._dataset) for var_name, lut_name in self._map_var_lut.items(): var_name_raw = var_name + "_raw" if var_name_raw in self._dataset: self._dataset[var_name_raw] = self._dataset[var_name_raw].where( self._dataset[var_name_raw] > 0, 0) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) # self._dataset = self.datatree[ # 'measurement'].to_dataset() # test oct 22 to see if then I can modify variables of the dt return def _add_denoised(self, ds, clip=False, vars=None): """add denoised vars to dataset Parameters ---------- ds : xarray.DataSet dataset with non denoised vars, named `%s_raw`. clip : bool, optional If True, negative signal will be clipped to 0. (default to False ) vars : list, optional variables names to add, by default `['sigma0' , 'beta0' , 'gamma0']` Returns ------- xarray.DataSet dataset with denoised vars """ if vars is None: vars = ["sigma0", "beta0", "gamma0"] for varname in vars: varname_raw = varname + "_raw" noise = "ne%sz" % varname[0] if varname_raw not in ds: continue else: denoised = ds[varname_raw] - ds[noise] if clip: denoised = denoised.clip(min=0) denoised.attrs["comment"] = "clipped, no values <0" else: denoised.attrs["comment"] = "not clipped, some values can be <0" ds[varname] = denoised return ds @timing def _apply_calibration_lut(self, var_name): """ Apply calibration lut to `digital_number` to compute `var_name`. Parameters ---------- var_name: str Variable name to compute by applying lut. Must exist in `self._map_var_lut` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `var_name` """ lut = self._get_lut(var_name) offset = lut.attrs["offset"] # if self.resolution is not None: lut = self._resample_lut_values(lut) res = ((self._dataset.digital_number**2.0) + offset) / lut res.attrs.update(lut.attrs) return res.to_dataset(name=var_name + "_raw") @timing def flip_sample_da(self, ds): """ When a product is flipped, flip back data arrays (from a dataset) sample dimensions to respect the xsar convention (increasing incidence values) Parameters ---------- ds : xarray.Dataset Contains dataArrays which depends on `sample` dimension Returns ------- xarray.Dataset Flipped back, respecting the xsar convention """ antenna_pointing = self.sar_meta.dt["radarParameters"].attrs["antennaPointing"] pass_direction = self.sar_meta.dt.attrs["passDirection"] flipped_cases = [("Left", "Ascending"), ("Right", "Descending")] if (antenna_pointing, pass_direction) in flipped_cases: new_ds = ( ds.copy() .isel(sample=slice(None, None, -1)) .assign_coords(sample=ds.sample) ) else: new_ds = ds return new_ds @timing def flip_line_da(self, ds): """ Flip dataArrays (from a dataset) that depend on line dimension when a product is ascending, in order to respect the xsar convention (increasing time along line axis, whatever ascending or descending product). Reference : `schemas/rs2prod_burstAttributes.xsd:This corresponds to the top-left pixel in a coordinate system where the range increases to the right and the zero-Doppler time increases downward. Note that this is not necessarily the top-left pixel of the image block in the final product.` Parameters ---------- ds : xarray.Dataset Contains dataArrays which depends on `line` dimension Returns ------- xarray.Dataset Flipped back, respecting the xsar convention """ pass_direction = self.sar_meta.dt.attrs["passDirection"] if pass_direction == "Ascending": new_ds = ( ds.copy().isel(line=slice(None, None, -1)).assign_coords(line=ds.line) ) else: new_ds = ds.copy() return new_ds @property def interpolate_times(self): """ Apply interpolation with RectBivariateSpline to the azimuth time extracted from `self.sar_meta.geoloc` Returns ------- xarray.Dataset Contains the time as delayed at the good resolution and expressed as type datetime64[ns] """ times = self.sar_meta.get_azitime lines = self.sar_meta.geoloc.line samples = self.sar_meta.geoloc.pixel time_values_2d = np.tile(times, (samples.shape[0], 1)).transpose() interp_func = RectBivariateSpline( x=lines, y=samples, z=time_values_2d.astype(float), kx=1, ky=1 ) da_var = map_blocks_coords( self._da_tmpl.astype("datetime64[ns]"), interp_func) return da_var.isel(sample=0).to_dataset(name="time") def get_sensor_velocity(self): """ Interpolated sensor velocity Returns ------- xarray.Dataset() containing a single variable velocity """ azimuth_times = self.sar_meta.get_azitime interp_times = self.interpolate_times["time"] orbstatevect = self.sar_meta.orbit_and_attitude orbstatevect2 = xr.Dataset() # number of values must be the same as number of lines for var in orbstatevect: da = orbstatevect[var] interp_func = interp1d(y=da, x=da.timeStamp.astype("float")) interp_var = interp_func(azimuth_times.astype("float")) orbstatevect2[var] = xr.DataArray( data=interp_var, dims=["timeStamp"], coords={"timeStamp": azimuth_times}, attrs=da.attrs, ) orbstatevect2.attrs = orbstatevect.attrs velos = np.array( [ orbstatevect2["xVelocity"] ** 2.0, orbstatevect2["yVelocity"] ** 2.0, orbstatevect2["zVelocity"] ** 2.0, ] ) vels = np.sqrt(np.sum(velos, axis=0)) interp_f = interp1d(azimuth_times.astype(float), vels) _vels = interp_f(interp_times.astype(float)) res = xr.DataArray(_vels, dims=["line"], coords={ "line": self.dataset.line}) return xr.Dataset({"velocity": res}) def _reconfigure_reader_datatree(self): """ Modify the structure of self.datatree to merge the reader's one and the measurement dataset. Modify the structure of the reader datatree for a better user experience. Include attributes from the reader (concerning the satellite) in the attributes of self.datatree Returns ------- xarray.Datatree """ dic = { "measurement": self.datatree["measurement"], "geolocation_annotation": self.datatree["geolocation_annotation"], } def del_items_in_dt(dt, list_items): for item in list_items: dt.to_dataset().__delitem__(item) return def get_list_keys_delete(dt, list_keys, inside=True): dt_keys = dt.keys() final_list = [] for item in dt_keys: if inside: if item in list_keys: final_list.append(item) else: if item not in list_keys: final_list.append(item) return final_list exclude = ["geolocationGrid", "lut", "radarParameters"] rename_lut = { "lutBeta": "beta0_lut", "lutGamma": "gamma0_lut", "lutSigma": "sigma0_lut", } rename_radarParameters = { "noiseLevelValues_BetaNought": "beta0_noise_lut", "noiseLevelValues_SigmaNought": "sigma0_noise_lut", "noiseLevelValues_Gamma": "gamma0_noise_lut", } new_dt = xr.DataTree.from_dict(dic) dt = self.sar_meta.dt # rename lut new_dt["lut"] = dt["lut"].ds.rename(rename_lut) # extract noise_lut, rename and put these in a dataset new_dt["noise_lut"] = dt["radarParameters"].ds.rename( rename_radarParameters) new_dt["noise_lut"].attrs = {} # reset attributes delete_list = get_list_keys_delete( new_dt["noise_lut"], rename_radarParameters.values(), inside=False ) del_items_in_dt(new_dt["noise_lut"], delete_list) # Create a dataset for radar parameters without the noise luts new_dt["radarParameters"] = dt["radarParameters"] delete_list = get_list_keys_delete( new_dt["radarParameters"], rename_radarParameters.keys() ) del_items_in_dt(new_dt["radarParameters"], delete_list) # extract others dataset copy_dt = dt.copy() for key in dt.copy(): if key not in exclude: if key == "imageGenerationParameters": new_dt[key] = xr.DataTree(children=copy_dt[key]) else: new_dt[key] = copy_dt[key] self.datatree = new_dt self.datatree.attrs.update(self.sar_meta.dt.attrs) return def __repr__(self): if self.sliced: intro = "sliced" else: intro = "full coverage" return "" % intro @property def dataset(self): """ `xarray.Dataset` representation of this `xsar.RadarSat2Dataset` object. This property can be set with a new dataset, if the dataset was computed from the original dataset. """ # return self._dataset res = self.datatree["measurement"].to_dataset() res.attrs = self.datatree.attrs return res @dataset.setter def dataset(self, ds): if self.sar_meta.name == ds.attrs["name"]: # check if new ds has changed coordinates if not self.sliced: self.sliced = any( [ list(ds[d].values) != list(self._dataset[d].values) for d in ["line", "sample"] ] ) self._dataset = ds # self._dataset = self.datatree['measurement'].ds self.recompute_attrs() else: raise ValueError("dataset must be same kind as original one.") @dataset.deleter def dataset(self): logger.debug("deleter dataset") @property def rs2meta(self): logger.warning("Please use `sar_meta` to call the sar meta object") return self.sar_meta xsar-2025.03.07/src/xsar/radarsat2_meta.py000066400000000000000000000306131476257143200201140ustar00rootroot00000000000000import pdb import pandas as pd import rasterio from rasterio.control import GroundControlPoint from scipy.interpolate import RectBivariateSpline, interp1d from shapely.geometry import Polygon from .utils import haversine, timing import os import geopandas as gpd import numpy as np from .base_meta import BaseMeta class RadarSat2Meta(BaseMeta): """ Handle dataset metadata. A `xsar.RadarSat2Meta` object can be used with `xsar.open_dataset`, but it can be used as itself: it contains usefull attributes and methods. Parameters ---------- name: str path or gdal identifier """ # class attributes are needed to fetch instance attribute (ie self.name) with dask actors # ref http://distributed.dask.org/en/stable/actors.html#access-attributes # FIXME: not needed if @property, so it might be a good thing to have getter for those attributes dt = None @timing def __init__(self, name): super().__init__() from xradarsat2 import rs2_reader if ":" in name: self.dt = rs2_reader(name.split(":")[1]) else: self.dt = rs2_reader(name) if not name.startswith("RADARSAT2_DS:"): name = "RADARSAT2_DS:%s:" % name self.name = name """Gdal dataset name""" name_parts = self.name.split(":") if len(name_parts) > 3: # windows might have semicolon in path ('c:\...') name_parts[1] = ":".join(name_parts[1:-1]) del name_parts[2:-1] name_parts[1] = os.path.basename(name_parts[1]) self.short_name = ":".join(name_parts) """Like name, but without path""" self.path = ":".join(self.name.split(":")[1:-1]) """Dataset path""" self.safe = os.path.basename(self.path) """Safe file name""" # there is no information on resolution 'F' 'H' or 'M' in the manifest, so we have to extract it from filename try: self.product = os.path.basename(self.path).split("_")[9] except ValueError: self.product = "XXX" """Product type, like 'GRDH', 'SLC', etc ..""" # Respect xsar convention flipping lines and samples from the reader when necessary self.samples_flipped = False self.lines_flipped = False self.flip_line_da() self.flip_sample_da() self._safe_files = None self.multidataset = False """True if multi dataset""" self.subdatasets = gpd.GeoDataFrame(geometry=[], index=[]) """Subdatasets as GeodataFrame (empty if single dataset)""" self.geoloc = self.dt["geolocationGrid"].to_dataset() self.orbit_and_attitude = self.dt["orbitAndAttitude"].ds self.doppler_centroid = self.dt["imageGenerationParameters"]["doppler"][ "dopplerCentroid" ].ds self.doppler_rate_values = self.dt["imageGenerationParameters"]["doppler"][ "dopplerRateValues" ].ds self.chirp = self.dt["imageGenerationParameters"]["chirp"].ds self.radar_parameters = self.dt["radarParameters"].ds self.lut = self.dt["lut"].ds self.manifest_attrs = self._create_manifest_attrs() for name, feature in self.__class__._mask_features_raw.items(): self.set_mask_feature(name, feature) def _create_manifest_attrs(self): dic = dict() dic["swath_type"] = os.path.basename(self.path).split("_")[4] dic["polarizations"] = self.dt["radarParameters"]["pole"].values dic["product_type"] = self.product dic["satellite"] = self.dt.attrs["satellite"] dic["start_date"] = self.start_date dic["stop_date"] = self.stop_date # compute attributes (footprint, coverage, pixel_size) footprint_dict = {} for ll in ["longitude", "latitude"]: footprint_dict[ll] = [ self.geoloc[ll].isel(line=a, pixel=x).values for a, x in [(0, 0), (0, -1), (-1, -1), (-1, 0)] ] corners = list(zip(footprint_dict["longitude"], footprint_dict["latitude"])) p = Polygon(corners) self.geoloc.attrs["footprint"] = p dic["footprints"] = p # compute acquisition size/resolution in meters # first vector is on sample acq_sample_meters, _ = haversine(*corners[0], *corners[1]) # second vector is on line acq_line_meters, _ = haversine(*corners[1], *corners[2]) dic["coverage"] = "%dkm * %dkm (line * sample )" % ( acq_line_meters / 1000, acq_sample_meters / 1000, ) def _to_rio_gcp(pt_geoloc): # convert a point from self._geoloc grid to rasterio GroundControlPoint return GroundControlPoint( x=pt_geoloc.longitude.item(), y=pt_geoloc.latitude.item(), z=pt_geoloc.height.item(), col=pt_geoloc.line.item(), row=pt_geoloc.pixel.item(), ) gcps = [ _to_rio_gcp(self.geoloc.sel(line=line, pixel=sample)) for line in self.geoloc.line for sample in self.geoloc.pixel ] # approx transform, from all gcps (inaccurate) dic["approx_transform"] = rasterio.transform.from_gcps(gcps) return dic @property def approx_transform(self): """ Affine transfom from geoloc. This is an inaccurate transform, with errors up to 600 meters. But it's fast, and may fit some needs, because the error is stable localy. See `xsar.BaseMeta.coords2ll` `xsar.BaseMeta.ll2coords` for accurate methods. Examples -------- get `longitude` and `latitude` from tuple `(line, sample)`: >>> longitude, latitude = self.approx_transform * (line, sample) get `line` and `sample` from tuple `(longitude, latitude)` >>> line, sample = ~self.approx_transform * (longitude, latitude) See Also -------- xsar.BaseDataset.coords2ll xsar.BaseDataset.ll2coords xsar.BaseMeta.coords2ll xsar.BaseMeta.ll2coords """ return self.manifest_attrs["approx_transform"] def to_dict(self, keys="minimal"): info_keys = { "minimal": [ # 'platform', "swath", "product", "pols", ] } info_keys["all"] = info_keys["minimal"] + [ "name", "start_date", "stop_date", "footprint", "coverage", "pixel_line_m", "pixel_sample_m", "approx_transform", # 'orbit_pass', # 'platform_heading' ] if isinstance(keys, str): keys = info_keys[keys] res_dict = {} for k in keys: if hasattr(self, k): res_dict[k] = getattr(self, k) elif k in self.manifest_attrs.keys(): res_dict[k] = self.manifest_attrs[k] else: raise KeyError('Unable to find key/attr "%s" in RadarSat2Meta' % k) return res_dict @property def pols(self): """polarisations strings, separated by spaces""" return " ".join(self.manifest_attrs["polarizations"]) @property def footprint(self): """footprint, as a shapely polygon or multi polygon""" return self.geoloc.attrs["footprint"] @property def pixel_line_m(self): """pixel line spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.geoloc.line.attrs["rasterAttributes_sampledLineSpacing_value"] return res @property def pixel_sample_m(self): """pixel sample spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.geoloc.pixel.attrs["rasterAttributes_sampledPixelSpacing_value"] return res def _get_time_range(self): if self.multidataset: time_range = [ self.manifest_attrs["start_date"], self.manifest_attrs["stop_date"], ] else: time_range = self.orbit_and_attitude.timeStamp return pd.Interval( left=pd.Timestamp(time_range.values[0]), right=pd.Timestamp(time_range.values[-1]), closed="both", ) @property def get_azitime(self): """ Get time at low resolution Returns ------- array[datetime64[ns]] times """ times = self.orbit_and_attitude.timeStamp.values lines = self.geoloc.line # Some products have a different number of lines and timestamps if len(times) != len(lines): interp_func = interp1d(y=times, x=np.arange(1, len(times) + 1)) times = interp_func(np.linspace(1, len(times), len(lines))) return times def __reduce__(self): # make self serializable with pickle # https://docs.python.org/3/library/pickle.html#object.__reduce__ return self.__class__, (self.name,), self.dict def __repr__(self): if self.multidataset: meta_type = "multi (%d)" % len(self.subdatasets) else: meta_type = "single" return "" % meta_type @property def _dict_coords2ll(self): """ dict with keys ['longitude', 'latitude'] with interpolation function (RectBivariateSpline) as values. Examples: --------- get longitude at line=100 and sample=200: ``` >>> self._dict_coords2ll["longitude"].ev(100, 200) array(-66.43947434) ``` Notes: ------ if self.cross_antemeridian is True, 'longitude' will be in range [0, 360] """ resdict = {} geoloc = self.geoloc if self.cross_antemeridian: geoloc["longitude"] = geoloc["longitude"] % 360 idx_sample = np.array(geoloc.pixel) idx_line = np.array(geoloc.line) for ll in ["longitude", "latitude"]: resdict[ll] = RectBivariateSpline( idx_line, idx_sample, np.asarray(geoloc[ll]), kx=1, ky=1 ) return resdict def flip_sample_da(self): """ When a product is flipped, flip back data arrays (from the reader datatree) sample dimensions to respect the xsar convention (increasing incidence values) """ antenna_pointing = self.dt["radarParameters"].attrs["antennaPointing"] pass_direction = self.dt.attrs["passDirection"] flipped_cases = [("Left", "Ascending"), ("Right", "Descending")] samples_depending_ds = ["geolocationGrid", "lut", "radarParameters"] if (antenna_pointing, pass_direction) in flipped_cases: for ds_name in samples_depending_ds: ds = self.dt[ds_name].ds if "radar" in ds_name: ds = ds.rename({"NbOfNoiseLevelValues": "pixel"}) ds = ( ds.copy() .isel(pixel=slice(None, None, -1)) .assign_coords(pixel=ds.pixel) ) self.dt[ds_name] = ds self.samples_flipped = True return def flip_line_da(self): """ Flip dataArrays (from the reader datatree) that depend on line dimension when a product is ascending, in order to respect the xsar convention (increasing time along line axis, whatever ascending or descending product). Reference : `schemas/rs2prod_burstAttributes.xsd:This corresponds to the top-left pixel in a coordinate system where the range increases to the right and the zero-Doppler time increases downward. Note that this is not necessarily the top-left pixel of the image block in the final product.` """ pass_direction = self.dt.attrs["passDirection"] samples_depending_ds = ["geolocationGrid"] if pass_direction == "Ascending": for ds_name in samples_depending_ds: ds = self.dt[ds_name].ds ds = ( ds.copy() .isel(line=slice(None, None, -1)) .assign_coords(line=ds.line) ) self.dt[ds_name] = ds self.lines_flipped = True return xsar-2025.03.07/src/xsar/raster_readers.py000066400000000000000000000134171476257143200202330ustar00rootroot00000000000000import xarray as xr import datetime import numpy as np import glob from .utils import bind, url_get import pandas as pd def resource_strftime(resource, **kwargs): """ From a resource string like '%Y/%j/myfile_%Y%m%d%H%M.nc' and a date like 'Timestamp('2018-10-13 06:23:22.317102')', returns a tuple composed of the closer available date and string like '/2018/286/myfile_201810130600.nc' If ressource string is an url (ie 'ftp://ecmwf/%Y/%j/myfile_%Y%m%d%H%M.nc'), fsspec will be used to retreive the file locally. Parameters ---------- resource: str resource string, with strftime template date: datetime date to be used step: int hour step between 2 files Returns ------- tuple : (datetime,str) """ date = kwargs["date"] step = kwargs["step"] delta = datetime.timedelta(hours=step) / 2 date = date.replace( year=(date + delta).year, month=(date + delta).month, day=(date + delta).day, hour=(date + delta).hour // step * step, minute=0, second=0, microsecond=0, ) return date, url_get(date.strftime(resource)) def _to_lon180(ds): # roll [0, 360] to [-180, 180] on dim x ds = ds.roll(x=-np.searchsorted(ds.x, 180), roll_coords=True) ds["x"] = xr.where(ds["x"] >= 180, ds["x"] - 360, ds["x"]) return ds def ecmwf_0100_1h(fname, **kwargs): """ ecmwf 0.1 deg 1h reader (ECMWF_FORECAST_0100_202109091300_10U_10V.nc) Parameters ---------- fname: str hwrf filename Returns ------- xarray.Dataset """ ecmwf_ds = xr.open_dataset( fname, chunks={'time': 1, 'latitude': 901, 'longitude': 1800}).isel(time=0) ecmwf_ds.attrs['time'] = datetime.datetime.fromtimestamp( ecmwf_ds.time.item() // 1000000000) if 'time' in ecmwf_ds: ecmwf_ds = ecmwf_ds.drop("time") ecmwf_ds = ecmwf_ds[["Longitude", "Latitude", "10U", "10V"]].rename( {"Longitude": "x", "Latitude": "y", "10U": "U10", "10V": "V10"} ) ecmwf_ds.attrs = {k: ecmwf_ds.attrs[k] for k in ["title", "institution", "time"]} # dataset is lon [0, 360], make it [-180,180] ecmwf_ds = _to_lon180(ecmwf_ds) ecmwf_ds.rio.write_crs("EPSG:4326", inplace=True) return ecmwf_ds def ecmwf_0125_1h(fname, **kwargs): """ ecmwf 0.125 deg 1h reader (ecmwf_201709071100.nc) Parameters ---------- fname: str hwrf filename Returns ------- xarray.Dataset """ ecmwf_ds = xr.open_dataset(fname, chunks={"longitude": 1000, "latitude": 1000}) ecmwf_ds = ( ecmwf_ds.rename({"longitude": "x", "latitude": "y"}) .rename({"Longitude": "x", "Latitude": "y", "U": "U10", "V": "V10"}) .set_coords(["x", "y"]) ) ecmwf_ds["x"] = ecmwf_ds.x.compute() ecmwf_ds["y"] = ecmwf_ds.y.compute() # dataset is lon [0, 360], make it [-180,180] ecmwf_ds = _to_lon180(ecmwf_ds) ecmwf_ds.attrs["time"] = datetime.datetime.fromisoformat(ecmwf_ds.attrs["date"]) ecmwf_ds.rio.write_crs("EPSG:4326", inplace=True) return ecmwf_ds def hwrf_0015_3h(fname, **kwargs): """ hwrf 0.015 deg 3h reader () Parameters ---------- fname: str hwrf filename Returns ------- xarray.Dataset """ hwrf_ds = xr.open_dataset(fname, chunks={'t': 1, 'LAT': 700, 'LON': 700}) try: hwrf_ds = hwrf_ds[["U", "V", "LON", "LAT"]] hwrf_ds = hwrf_ds.squeeze("t", drop=True) except Exception: raise ValueError("date '%s' can't be find in %s " % (kwargs["date"], fname)) hwrf_ds.attrs["time"] = datetime.datetime.strftime( kwargs["date"], "%Y-%m-%d %H:%M:%S" ) hwrf_ds = ( hwrf_ds.assign_coords( {"x": hwrf_ds.LON.values[0, :], "y": hwrf_ds.LAT.values[:, 0]} ) .drop_vars(["LON", "LAT"]) .rename({"U": "U10", "V": "V10"}) ) # hwrf_ds.attrs = {k: hwrf_ds.attrs[k] for k in ['institution', 'time']} hwrf_ds = _to_lon180(hwrf_ds) hwrf_ds.rio.write_crs("EPSG:4326", inplace=True) return hwrf_ds def era5_0250_1h(fname, **kwargs): """ era5 0.250 deg 1h reader () Parameters ---------- fname: str era5 filename Returns ------- xarray.Dataset """ ds_era5 = xr.open_dataset( fname, chunks={'time': 6, 'latitude025': 721, 'longitude025': 1440}) ds_era5 = ds_era5[['u10', 'v10', 'latitude025', 'longitude025']] ds_era5 = ds_era5.sel(time=str(kwargs['date']), method="nearest") ds_era5 = ds_era5.drop('time') ds_era5 = ds_era5.rename( {"longitude025": "x", "latitude025": "y", "u10": "U10", "v10": "V10"} ) ds_era5.attrs["time"] = kwargs["date"] ds_era5 = _to_lon180(ds_era5) ds_era5.rio.write_crs("EPSG:4326", inplace=True) return ds_era5 def gebco(gebco_files): """gebco file reader (geotiff from https://www.gebco.net/data_and_products/gridded_bathymetry_data)""" return xr.combine_by_coords( [ xr.open_dataset(f, chunks={"x": 1000, "y": 1000}) .isel(band=0) .drop_vars("band") for f in gebco_files ] ) # list available rasters as a pandas dataframe available_rasters = pd.DataFrame(columns=["resource", "read_function", "get_function"]) available_rasters.loc["gebco"] = [None, gebco, glob.glob] available_rasters.loc["ecmwf_0100_1h"] = [ None, ecmwf_0100_1h, bind(resource_strftime, ..., step=1), ] available_rasters.loc["ecmwf_0125_1h"] = [ None, ecmwf_0125_1h, bind(resource_strftime, ..., step=1), ] available_rasters.loc["hwrf_0015_3h"] = [ None, hwrf_0015_3h, bind(resource_strftime, ..., step=3), ] available_rasters.loc["era5_0250_1h"] = [ None, era5_0250_1h, bind(resource_strftime, ..., step=1), ] xsar-2025.03.07/src/xsar/rcm_dataset.py000066400000000000000000001143771476257143200175230ustar00rootroot00000000000000# -*- coding: utf-8 -*- import glob import logging import os import warnings import rasterio import yaml from affine import Affine from .rcm_meta import RcmMeta import numpy as np from .utils import timing, map_blocks_coords, BlockingActorProxy, to_lon180, get_glob from scipy.interpolate import RectBivariateSpline, interp1d import dask import xarray as xr import rioxarray from .base_dataset import BaseDataset logger = logging.getLogger("xsar.radarsat2_dataset") logger.addHandler(logging.NullHandler()) # we know tiff as no geotransform : ignore warning warnings.filterwarnings( "ignore", category=rasterio.errors.NotGeoreferencedWarning) # allow nan without warnings # some dask warnings are still non filtered: https://github.com/dask/dask/issues/3245 np.errstate(invalid="ignore") class RcmDataset(BaseDataset): """ Handle a SAFE subdataset. A dataset might contain several tiff files (multiples polarizations), but all tiff files must share the same footprint. The main attribute useful to the end-user is `self.dataset` (`xarray.Dataset` , with all variables parsed from xml and tiff files.) Parameters ---------- dataset_id: str or RadarSat2Meta object if str, it can be a path, or a gdal dataset identifier) resolution: dict, number or string, optional resampling dict like `{'line': 20, 'sample': 20}` where 20 is in pixels. if a number, dict will be constructed from `{'line': number, 'sample': number}` if str, it must end with 'm' (meters), like '100m'. dict will be computed from sensor pixel size. resampling: rasterio.enums.Resampling or str, optional Only used if `resolution` is not None. ` rasterio.enums.Resampling.rms` by default. `rasterio.enums.Resampling.nearest` (decimation) is fastest. chunks: dict, optional dict with keys ['pol','line','sample'] (dask chunks). dtypes: None or dict, optional Specify the data type for each variable. lazyloading: bool, optional activate or not the lazy loading of the high resolution fields """ def __init__( self, dataset_id, resolution=None, resampling=rasterio.enums.Resampling.rms, chunks={"line": 5000, "sample": 5000}, dtypes=None, lazyloading=True, skip_variables=None, ): if skip_variables is None: # TODO : Remove `velocity` from the skip_variable when the problem is resolved # (must understand link between time and lines) skip_variables = ["velocity"] # default dtypes if dtypes is not None: self._dtypes.update(dtypes) # default meta for map_blocks output. # as asarray is imported from numpy, it's a numpy array. # but if later we decide to import asarray from cupy, il will be a cupy.array (gpu) self.sar_meta = None self.resolution = resolution if not isinstance(dataset_id, RcmMeta): self.sar_meta = BlockingActorProxy(RcmMeta, dataset_id) # check serializable # import pickle # s1meta = pickle.loads(pickle.dumps(self.s1meta)) # assert isinstance(rs2meta.coords2ll(100, 100),tuple) else: # we want self.rs2meta to be a dask actor on a worker self.sar_meta = BlockingActorProxy( RcmMeta.from_dict, dataset_id.dict) del dataset_id if self.sar_meta.multidataset: raise IndexError( """Can't open an multi-dataset. Use `xsar.RadarSat2Meta('%s').subdatasets` to show availables ones""" % self.sar_meta.path ) # build datatree DN_tmp = self.load_digital_number( resolution=resolution, resampling=resampling, chunks=chunks ) DN_tmp = self.flip_sample_da(DN_tmp) DN_tmp = self.flip_line_da(DN_tmp) # geoloc geoloc = self.sar_meta.geoloc geoloc.attrs["history"] = "annotations" # orbitInformation orbit = self.sar_meta.orbit orbit.attrs["history"] = "annotations" self.datatree = xr.DataTree.from_dict( {"measurement": DN_tmp, "geolocation_annotation": geoloc} ) self._dataset = self.datatree["measurement"].to_dataset() # merge the datatree with the reader for group in self.sar_meta.dt: self.datatree[group] = self.sar_meta.dt[group] # dict mapping for calibration type in the reader self._map_calibration_type = { "sigma0": "Sigma Nought", "gamma0": "Gamma", "beta0": "Beta Nought", } self._map_var_lut = { "sigma0": "sigma0", "gamma0": "gamma0", "beta0": "beta0", } geoloc_vars = ["latitude", "longitude", "altitude", "incidence", "elevation"] for vv in skip_variables: if vv in geoloc_vars: geoloc_vars.remove(vv) for att in ["name", "short_name", "product", "safe", "swath", "multidataset"]: if att not in self.datatree.attrs: # tmp = xr.DataArray(self.s1meta.__getattr__(att),attrs={'source':'filename decoding'}) self.datatree.attrs[att] = self.sar_meta.__getattr__(att) self._dataset.attrs[att] = self.sar_meta.__getattr__(att) value_res_line = self.sar_meta.pixel_line_m value_res_sample = self.sar_meta.pixel_sample_m # self._load_incidence_from_lut() refe_spacing = "slant" if resolution is not None: # if the data sampling changed it means that the quantities are projected on ground refe_spacing = "ground" if isinstance(resolution, str): value_res_sample = float(resolution.replace("m", "")) value_res_line = value_res_sample elif isinstance(resolution, dict): value_res_sample = self.sar_meta.pixel_sample_m * \ resolution["sample"] value_res_line = self.sar_meta.pixel_line_m * \ resolution["line"] else: logger.warning( "resolution type not handle (%s) should be str or dict -> sampleSpacing" " and lineSpacing are not correct", type(resolution), ) self._dataset["sampleSpacing"] = xr.DataArray( value_res_sample, attrs={"referential": refe_spacing} | self.sar_meta.dt["imageReferenceAttributes/rasterAttributes"][ "sampledPixelSpacing" ].attrs, ) self._dataset["lineSpacing"] = xr.DataArray( value_res_line, attrs=self.sar_meta.dt["imageReferenceAttributes/rasterAttributes"][ "sampledLineSpacing" ].attrs, ) # dataset no-pol template for function evaluation on coordinates (*no* values used) # what's matter here is the shape of the image, not the values. with warnings.catch_warnings(): # warnings.simplefilter("ignore", np.ComplexWarning) self._da_tmpl = xr.DataArray( dask.array.empty_like( self._dataset.digital_number.isel(pol=0).drop("pol"), dtype=np.int8, name="empty_var_tmpl-%s" % dask.base.tokenize( self.sar_meta.name), ), dims=("line", "sample"), coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) # Add vars to define if lines or samples have been flipped to respect xsar convention self._dataset = xr.merge( [ xr.DataArray( data=self.sar_meta.samples_flipped, attrs={ "meaning": "xsar convention : increasing incidence values along samples axis" }, ).to_dataset(name="samples_flipped"), self._dataset, ] ) self._dataset = xr.merge( [ xr.DataArray( data=self.sar_meta.lines_flipped, attrs={ "meaning": "xsar convention : increasing time along line axis " "(whatever ascending or descending pass direction)" }, ).to_dataset(name="lines_flipped"), self._dataset, ] ) self._luts = self.lazy_load_luts() self._noise_luts = self.lazy_load_noise_luts() self._noise_luts = self._noise_luts.drop( ["pixelFirstNoiseValue", "stepSize"]) self.apply_calibration_and_denoising() self._dataset = xr.merge( [ self.load_from_geoloc(geoloc_vars, lazy_loading=lazyloading), self._dataset, ] ) # compute offboresight in self._dataset self._get_offboresight_from_elevation() rasters = self._load_rasters_vars() if rasters is not None: self._dataset = xr.merge([self._dataset, rasters]) if "ground_heading" not in skip_variables: self._dataset = xr.merge( [self.load_ground_heading(), self._dataset]) if "velocity" not in skip_variables: self._dataset = xr.merge( [self.get_sensor_velocity(), self._dataset]) self._rasterized_masks = self.load_rasterized_masks() self._dataset = xr.merge([self._rasterized_masks, self._dataset]) self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) # merge the datatree with the reader self.reconfigure_reader_datatree() self._dataset.attrs.update(self.sar_meta.to_dict("all")) self.datatree.attrs.update(self.sar_meta.to_dict("all")) def lazy_load_luts(self): """ Lazy load luts from the reader as delayed Returns ------- xarray.Dataset Contains delayed dataArrays of luts """ merge_list = [] for key, value in self._map_calibration_type.items(): list_da = [] for pola in self.sar_meta.lut.lookup_tables.pole: lut = self.sar_meta.lut.lookup_tables.sel( sarCalibrationType=value, pole=pola ).rename( { "pixel": "sample", } ) values_nb = lut.attrs["numberOfValues"] lut_f_delayed = dask.delayed()(lut) ar = dask.array.from_delayed( lut_f_delayed.data, (values_nb,), lut.dtype ) da = xr.DataArray( data=ar, dims=["sample"], coords={"sample": lut.sample}, attrs=lut.attrs, ) da = ( self._interpolate_var(da) .assign_coords(pole=pola) .rename({"pole": "pol"}) ) list_da.append(da) full_da = xr.concat(list_da, dim="pol") full_da.attrs = lut.attrs ds_lut_f_delayed = full_da.to_dataset(name=key) merge_list.append(ds_lut_f_delayed) return xr.merge(merge_list) def lazy_load_noise_luts(self): """ Lazy load noise luts from the reader as delayed Returns ------- xarray.Dataset Contains delayed dataArrays of luts """ merge_list = [] for key, value in self._map_calibration_type.items(): list_da = [] values_nb = self.sar_meta.noise_lut.attrs["numberOfValues"] for pola in self.sar_meta.noise_lut.noiseLevelValues.pole: lut = self.sar_meta.noise_lut.noiseLevelValues.sel( sarCalibrationType=value, pole=pola ).rename( { "pixel": "sample", } ) lut_f_delayed = dask.delayed()(lut) ar = dask.array.from_delayed( lut_f_delayed.data, (values_nb,), lut.dtype ) da = xr.DataArray( data=ar, dims=["sample"], coords={"sample": lut.sample}, attrs=lut.attrs, ) da = ( self._interpolate_var(da, type="noise") .assign_coords(pole=pola) .rename({"pole": "pol"}) ) list_da.append(da) full_da = xr.concat(list_da, dim="pol") ds_lut_f_delayed = full_da.to_dataset(name=key) merge_list.append(ds_lut_f_delayed) return xr.merge(merge_list) @timing def _interpolate_var(self, var, type="lut"): """ Interpolate look up table (from the reader) or another variable and resample it. Initial values are at low resolution, and the high resolution range is made from the pixel first noise level value and the step. Then, an interpolation with RectBivariateSpline permit having a full resolution and extrapolate the first pixels; getting by the end resampled look up tables. Parameters ---------- var: xarray.DataArray variable we want to interpolate (lut extracted from the reader :noise or calibration ; incidence; elevation) type: str type of variable we want to interpolate. Can be "lut", "noise", "incidence" Returns ------- xarray.DataArray Variable interpolated and resampled """ accepted_types = ["lut", "noise", "incidence"] if type not in accepted_types: raise ValueError( "Please enter a type accepted ('lut', 'noise', 'incidence')" ) lines = self.sar_meta.geoloc.line samples = var.sample var_type = None if type == "noise": # Give the good saving type and convert the noise values to linear var_type = self._dtypes["noise_lut"] var = 10 ** (var / 10) elif type == "lut": var_type = self._dtypes["sigma0_lut"] elif type == "incidence": var_type = self._dtypes[type] var_2d = np.tile(var, (lines.shape[0], 1)) interp_func = dask.delayed(RectBivariateSpline)( x=lines, y=samples, z=var_2d, kx=1, ky=1 ) da_var = map_blocks_coords(self._da_tmpl.astype(var_type), interp_func) return da_var @timing def _apply_calibration_lut(self, var_name): """ Apply calibration lut to `digital_number` to compute `var_name`. Parameters ---------- var_name: str Variable name to compute by applying lut. Must exist in `self._map_var_lut` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `var_name` """ lut = self._get_lut(var_name) offset = lut.attrs["offset"] res = ((self._dataset.digital_number**2.0) + offset) / lut res.attrs.update(lut.attrs) return res.to_dataset(name=var_name + "_raw") @timing def _get_noise(self, var_name): """ Get noise equivalent for `var_name`. Parameters ---------- var_name: str Variable name to compute. Must exist in `self._map_var_lut` and `self._map_var_lut_noise` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `'ne%sz' % var_name[0]` (ie 'nesz' for 'sigma0', 'nebz' for 'beta0', etc...) """ name = "ne%sz" % var_name[0] try: lut_name = self._map_var_lut[var_name] except KeyError: raise ValueError("can't find lut name for var '%s'" % var_name) try: lut = self._noise_luts[lut_name] except KeyError: raise ValueError( "can't find noise lut from name '%s' for variable '%s' " % (lut_name, var_name) ) return lut.to_dataset(name=name) def apply_calibration_and_denoising(self): """ apply calibration and denoising functions to get high resolution sigma0 , beta0 and gamma0 + variables *_raw Returns: -------- """ for var_name, lut_name in self._map_var_lut.items(): if lut_name in self._luts: # merge var_name into dataset (not denoised) self._dataset = self._dataset.merge( self._apply_calibration_lut(var_name) ) # merge noise equivalent for var_name (named 'ne%sz' % var_name[0) self._dataset = self._dataset.merge(self._get_noise(var_name)) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) self._dataset = self._add_denoised(self._dataset) for var_name, lut_name in self._map_var_lut.items(): var_name_raw = var_name + "_raw" if var_name_raw in self._dataset: self._dataset[var_name_raw] = self._dataset[var_name_raw].where( self._dataset[var_name_raw] > 0, 0) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset) # self._dataset = self.datatree[ # 'measurement'].to_dataset() # test oct 22 to see if then I can modify variables of the dt return def _add_denoised(self, ds, clip=False, vars=None): """add denoised vars to dataset Parameters ---------- ds : xarray.DataSet dataset with non denoised vars, named `%s_raw`. clip : bool, optional If True, negative signal will be clipped to 0. (default to False ) vars : list, optional variables names to add, by default `['sigma0' , 'beta0' , 'gamma0']` Returns ------- xarray.DataSet dataset with denoised vars """ already_denoised = self.datatree["imageGenerationParameters"][ "sarProcessingInformation" ].attrs["noiseSubtractionPerformed"] if vars is None: vars = ["sigma0", "beta0", "gamma0"] for varname in vars: varname_raw = varname + "_raw" noise = "ne%sz" % varname[0] if varname_raw not in ds: continue else: if not already_denoised: denoised = ds[varname_raw] - ds[noise] if clip: denoised = denoised.clip(min=0) denoised.attrs["comment"] = "clipped, no values <0" else: denoised.attrs["comment"] = "not clipped, some values can be <0" ds[varname] = denoised ds[varname_raw].attrs[ "denoising information" ] = f"product was not denoised" else: logging.debug( "product was already denoised (noiseSubtractionPerformed = True), noise added back" ) denoised = ds[varname_raw] denoised.attrs["denoising information"] = ( "already denoised by Canadian Space Agency" ) if clip: denoised = denoised.clip(min=0) denoised.attrs["comment"] = "clipped, no values <0" else: denoised.attrs["comment"] = "not clipped, some values can be <0" ds[varname] = denoised ds[varname_raw] = denoised + ds[noise] ds[varname_raw].attrs[ "denoising information" ] = "product was already denoised by Canadian Space Agency, noise added back" return ds def _load_incidence_from_lut(self): """ Load incidence from the reader as delayed Returns ------- xarray.Dataset Contains delayed dataArrays of incidence """ incidence = self.sar_meta.incidence.rename({"pixel": "sample"}) angles = incidence.angles values_nb = incidence.attrs["numberOfValues"] lut_f_delayed = dask.delayed()(angles) ar = dask.array.from_delayed( lut_f_delayed.data, (values_nb,), self._dtypes["incidence"] ) da = xr.DataArray( data=ar, dims=["sample"], coords={"sample": angles.sample}, attrs=angles.attrs, ) da = self._interpolate_var(da, type="incidence") # ds_lut_f_delayed = da.to_dataset(name='incidence') # ds_lut_f_delayed.attrs = incidence.attrs return da @ timing def _load_elevation_from_lut(self): """ Load elevation from lut. this formula needs the orbit altitude. But 2 variables look like this one : `satelliteHeight` and `Altitude`. We considered the satelliteHeight. Returns ------- """ satellite_height = ( self.sar_meta.dt["imageGenerationParameters/sarProcessingInformation"] .to_dataset() .satelliteHeight ) earth_radius = 6.371e6 incidence = self._load_incidence_from_lut() angle_rad = np.sin(np.radians(incidence)) inside = angle_rad * earth_radius / (earth_radius + satellite_height) return np.degrees(np.arcsin(inside)) @ timing def _get_offboresight_from_elevation(self): """ Compute offboresight angle. Returns ------- """ self._dataset["offboresight"] = ( self._dataset.elevation - ( 30.1833947 * self._dataset.latitude**0 + 0.0082998714 * self._dataset.latitude**1 - 0.00031181534 * self._dataset.latitude**2 - 0.0943533e-07 * self._dataset.latitude**3 + 3.0191435e-08 * self._dataset.latitude**4 + 4.968415428e-12 * self._dataset.latitude**5 - 9.315371305e-13 * self._dataset.latitude**6 ) + 29.45 ) self._dataset["offboresight"].attrs[ "comment" ] = "built from elevation angle and latitude" @ timing def load_from_geoloc(self, varnames, lazy_loading=True): """ Interpolate (with RectBiVariateSpline) variables from `self.sar_meta.geoloc` to `self._dataset` Parameters ---------- varnames: list of str subset of variables names in `self.sar_meta.geoloc` Returns ------- xarray.Dataset With interpolated variables """ mapping_dataset_geoloc = { "latitude": "latitude", "longitude": "longitude", "incidence": "incidenceAngle", "elevation": "elevationAngle", "altitude": "height", } da_list = [] for varname in varnames: varname_in_geoloc = mapping_dataset_geoloc[varname] if varname == "incidence": da = self._load_incidence_from_lut() da.name = varname da_list.append(da) elif varname == "elevation": da = self._load_elevation_from_lut() da.name = varname da_list.append(da) else: if varname == "longitude": z_values = self.sar_meta.geoloc[varname] if self.sar_meta.cross_antemeridian: logger.debug("translate longitudes between 0 and 360") z_values = z_values % 360 else: z_values = self.sar_meta.geoloc[varname_in_geoloc] interp_func = RectBivariateSpline( self.sar_meta.geoloc.line, self.sar_meta.geoloc.pixel, z_values, kx=1, ky=1, ) typee = self.sar_meta.geoloc[varname_in_geoloc].dtype if lazy_loading: da_var = map_blocks_coords( self._da_tmpl.astype(typee), interp_func) else: da_val = interp_func( self._dataset.digital_number.line, self._dataset.digital_number.sample, ) da_var = xr.DataArray( data=da_val, dims=["line", "sample"], coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) if varname == "longitude": if self.sar_meta.cross_antemeridian: da_var.data = da_var.data.map_blocks(to_lon180) da_var.name = varname # copy history try: da_var.attrs["history"] = self.sar_meta.geoloc[ varname_in_geoloc ].attrs["xpath"] except KeyError: pass da_list.append(da_var) ds = xr.merge(da_list) return ds @ property def interpolate_times(self): """ Apply interpolation with RectBivariateSpline to the azimuth time extracted from `self.sar_meta.geoloc` Returns ------- xarray.Dataset Contains the time as delayed at the good resolution and expressed as type datetime64[ns] """ times = self.sar_meta.get_azitime lines = self.sar_meta.geoloc.line samples = self.sar_meta.geoloc.pixel time_values_2d = np.tile(times, (samples.shape[0], 1)).transpose() interp_func = RectBivariateSpline( x=lines, y=samples, z=time_values_2d.astype(float), kx=1, ky=1 ) da_var = map_blocks_coords( self._da_tmpl.astype("datetime64[ns]"), interp_func) return da_var.isel(sample=0).to_dataset(name="time") def get_sensor_velocity(self): """ Interpolated sensor velocity Returns ------- xarray.Dataset() containing a single variable velocity """ azimuth_times = self.sar_meta.get_azitime orbstatevect = self.sar_meta.orbit velos = np.array( [ orbstatevect["xVelocity"] ** 2.0, orbstatevect["yVelocity"] ** 2.0, orbstatevect["zVelocity"] ** 2.0, ] ) vels = np.sqrt(np.sum(velos, axis=0)) interp_f = interp1d(azimuth_times.astype(float), vels) _vels = interp_f(self.interpolate_times["time"].astype(float)) res = xr.DataArray(_vels, dims=["line"], coords={ "line": self.dataset.line}) return xr.Dataset({"velocity": res}) @ timing def load_digital_number( self, resolution=None, chunks=None, resampling=rasterio.enums.Resampling.rms ): """ load digital_number from tiff files, as an `xarray.Dataset`. Parameters ---------- resolution: None, number, str or dict see `xsar.open_dataset` resampling: rasterio.enums.Resampling see `xsar.open_dataset` Returns ------- xarray.Dataset dataset (possibly dual-pol), with basic coords/dims naming convention """ def _list_tiff_files(): """ Return a list that contains all tiff files paths Returns ------- List[str] List of Tiff file paths located in a folder """ return glob.glob(os.path.join(self.sar_meta.path, "imagery", "*.tif")) def _sort_list_files_and_get_pols(list_tiff): """ From a list of tiff files, sort it to get the co polarization tiff file as the first element, and extract pols Parameters ---------- list_tiff: List[str] List of tiff files Returns ------- (List[str], List[str]) Tuple that contains the tiff files list sorted and the polarizations """ pols = [] if len(list_tiff) > 1: first_base = os.path.basename(list_tiff[0]).split(".")[0] first_pol = first_base[-2:] if first_pol[0] != first_pol[1]: list_tiff.reverse() for file in list_tiff: base = os.path.basename(file).split(".")[0] pol = base[-2:] pols.append(pol) return list_tiff, pols map_dims = {"pol": "band", "line": "y", "sample": "x"} tiff_files = _list_tiff_files() tiff_files, pols = _sort_list_files_and_get_pols(tiff_files) if resolution is not None: comment = 'resampled at "%s" with %s.%s.%s' % ( resolution, resampling.__module__, resampling.__class__.__name__, resampling.name, ) else: comment = "read at full resolution" # arbitrary rio object, to get shape, etc ... (will not be used to read data) rio = rasterio.open(tiff_files[0]) chunks["pol"] = 1 # sort chunks keys like map_dims chunks = dict( sorted( chunks.items(), key=lambda pair: list(map_dims.keys()).index(pair[0]) ) ) chunks_rio = {map_dims[d]: chunks[d] for d in map_dims.keys()} self.resolution = None if resolution is None: # using tiff driver: need to read individual tiff and concat them # riofiles['rio'] is ordered like self.s1meta.manifest_attrs['polarizations'] dn = xr.concat( [ rioxarray.open_rasterio( f, chunks=chunks_rio, parse_coordinates=False ) for f in tiff_files ], "band", ).assign_coords(band=np.arange(len(pols)) + 1) # set dimensions names dn = dn.rename(dict(zip(map_dims.values(), map_dims.keys()))) # create coordinates from dimension index (because of parse_coordinates=False) dn = dn.assign_coords({"line": dn.line, "sample": dn.sample}) dn = dn.drop_vars("spatial_ref", errors="ignore") else: if not isinstance(resolution, dict): if isinstance(resolution, str) and resolution.endswith("m"): resolution = float(resolution[:-1]) self.resolution = resolution resolution = dict( line=resolution / self.sar_meta.pixel_line_m, sample=resolution / self.sar_meta.pixel_sample_m, ) # resolution = dict(line=resolution / self.dataset['sampleSpacing'].values, # sample=resolution / self.dataset['lineSpacing'].values) # resample the DN at gdal level, before feeding it to the dataset out_shape = ( int(rio.height / resolution["line"]), int(rio.width / resolution["sample"]), ) out_shape_pol = (1,) + out_shape # read resampled array in one chunk, and rechunk # this doesn't optimize memory, but total size remain quite small if isinstance(resolution["line"], int): # legacy behaviour: winsize is the maximum full image size that can be divided by resolution (int) winsize = ( 0, 0, rio.width // resolution["sample"] * resolution["sample"], rio.height // resolution["line"] * resolution["line"], ) window = rasterio.windows.Window(*winsize) else: window = None dn = xr.concat( [ xr.DataArray( dask.array.from_array( rasterio.open(f).read( out_shape=out_shape_pol, resampling=resampling, window=window, ), chunks=chunks_rio, ), dims=tuple(map_dims.keys()), coords={"pol": [pol]}, ) for f, pol in zip(tiff_files, pols) ], "pol", ).chunk(chunks) # create coordinates at box center translate = Affine.translation( (resolution["sample"] - 1) / 2, (resolution["line"] - 1) / 2 ) scale = Affine.scale( rio.width // resolution["sample"] * resolution["sample"] / out_shape[1], rio.height // resolution["line"] * resolution["line"] / out_shape[0], ) sample, _ = translate * scale * (dn.sample, 0) _, line = translate * scale * (0, dn.line) dn = dn.assign_coords({"line": line, "sample": sample}) # for GTiff driver, pols are already ordered. just rename them dn = dn.assign_coords(pol=pols) descr = "not denoised" var_name = "digital_number" dn.attrs = { "comment": "%s digital number, %s" % (descr, comment), "history": yaml.safe_dump( { var_name: get_glob( [p.replace(self.sar_meta.path + "/", "") for p in tiff_files] ) } ), } ds = dn.to_dataset(name=var_name) astype = self._dtypes.get(var_name) if astype is not None: ds = ds.astype(self._dtypes[var_name]) return ds def __repr__(self): if self.sliced: intro = "sliced" else: intro = "full coverage" return "" % intro @ timing def flip_sample_da(self, ds): """ When a product is flipped, flip back data arrays (from a dataset) sample dimensions to respect the xsar convention (increasing incidence values). Documentation reference : RCM Image Product Format Definition (4.2.1) Parameters ---------- ds : xarray.Dataset Contains dataArrays which depends on `sample` dimension Returns ------- xarray.Dataset Flipped back, respecting the xsar convention """ antenna_pointing = self.sar_meta.dt["sourceAttributes/radarParameters"].attrs[ "antennaPointing" ] pass_direction = self.sar_meta.dt[ "sourceAttributes/orbitAndAttitude/orbitInformation" ].attrs["passDirection"] flipped_cases = [("Left", "Ascending"), ("Right", "Descending")] if (antenna_pointing, pass_direction) in flipped_cases: new_ds = ( ds.copy() .isel(sample=slice(None, None, -1)) .assign_coords(sample=ds.sample) ) else: new_ds = ds return new_ds @ timing def flip_line_da(self, ds): """ Flip dataArrays (from a dataset) that depend on line dimension when a product is ascending, in order to respect the xsar convention (increasing time along line axis, whatever ascending or descending product). Documentation reference : RCM Image Product Format Definition (4.2.1) Parameters ---------- ds : xarray.Dataset Contains dataArrays which depends on `line` dimension Returns ------- xarray.Dataset Flipped back, respecting the xsar convention """ pass_direction = self.sar_meta.dt[ "sourceAttributes/orbitAndAttitude/orbitInformation" ].attrs["passDirection"] if pass_direction == "Ascending": new_ds = ( ds.copy().isel(line=slice(None, None, -1)).assign_coords(line=ds.line) ) else: new_ds = ds.copy() return new_ds def reconfigure_reader_datatree(self): """ Merge attributes of the reader's datatree in the attributes of self.datatree """ self.datatree.attrs |= self.sar_meta.dt.attrs return @ property def dataset(self): """ `xarray.Dataset` representation of this `xsar.RcmDataset` object. This property can be set with a new dataset, if the dataset was computed from the original dataset. """ # return self._dataset res = self.datatree["measurement"].to_dataset() res.attrs = self.datatree.attrs return res @ dataset.setter def dataset(self, ds): if self.sar_meta.name == ds.attrs["name"]: # check if new ds has changed coordinates if not self.sliced: self.sliced = any( [ list(ds[d].values) != list(self._dataset[d].values) for d in ["line", "sample"] ] ) self._dataset = ds # self._dataset = self.datatree['measurement'].ds self.recompute_attrs() else: raise ValueError("dataset must be same kind as original one.") @ dataset.deleter def dataset(self): logger.debug("deleter dataset") xsar-2025.03.07/src/xsar/rcm_meta.py000066400000000000000000000363021476257143200170130ustar00rootroot00000000000000import rasterio from rasterio.control import GroundControlPoint from scipy.interpolate import RectBivariateSpline from shapely.geometry import Polygon from .utils import haversine, timing from .base_meta import BaseMeta import os import numpy as np import pandas as pd import geopandas as gpd class RcmMeta(BaseMeta): """ Handle dataset metadata. A `xsar.RadarSat2Meta` object can be used with `xsar.open_dataset`, but it can be used as itself: it contains usefull attributes and methods. Parameters ---------- name: str path or gdal identifier """ dt = None @timing def __init__(self, name): super().__init__() from safe_rcm import api if ":" in name: self.dt = api.open_rcm(name.split(":")[1]) else: self.dt = api.open_rcm(name) if not name.startswith("RCM_DS:"): name = "RCM_DS:%s:" % name self.name = name """Gdal dataset name""" name_parts = self.name.split(":") if len(name_parts) > 3: # windows might have semicolon in path ('c:\...') name_parts[1] = ":".join(name_parts[1:-1]) del name_parts[2:-1] name_parts[1] = os.path.basename(name_parts[1]) self.short_name = ":".join(name_parts) """Like name, but without path""" self.path = ":".join(self.name.split(":")[1:-1]) """Dataset path""" self.safe = os.path.basename(self.path) """Safe file name""" # there is no information on resolution 'F' 'H' or 'M' in the manifest, so we have to extract it from filename try: self.product = os.path.basename(self.path).split("_")[9] except ValueError: self.product = "XXX" """Product type, like 'GRDH', 'SLC', etc ..""" # define important xpath to easier access some dataset of the reader's datatree self._xpath = { "geolocationGrid": "imageReferenceAttributes/geographicInformation/geolocationGrid", "lut": "lookupTables/lookupTables", "noise_lut": "lookupTables/noiseLevels/referenceNoiseLevel", "incidence": "lookupTables/incidenceAngles", "attitude": "sourceAttributes/orbitAndAttitude/attitudeInformation", "orbit": "sourceAttributes/orbitAndAttitude/orbitInformation", } # replace `coefficients` dim by `pixel` in the datatree var_with_coeff = ["noise_lut", "lut", "incidence"] for var in var_with_coeff: self.dt[self._xpath[var]] = self.dt[self._xpath[var]].ds.rename( {"coefficients": "pixel"} ) # build pixels coords self.assign_index(var_with_coeff) # flip line and samples when necessary to respect `xsar` convention self.samples_flipped = False self.lines_flipped = False self.flip_sample_da() self.flip_line_da() self._safe_files = None self.multidataset = False """True if multi dataset""" self.subdatasets = gpd.GeoDataFrame(geometry=[], index=[]) """Subdatasets as GeodataFrame (empty if single dataset)""" self.geoloc = self.dt[self._xpath["geolocationGrid"]].to_dataset() self.orbit = self.dt[self._xpath["orbit"]].ds self.attitude = self.dt[self._xpath["attitude"]].ds self.lut = self.dt[self._xpath["lut"]].ds self.noise_lut = self.dt[self._xpath["noise_lut"]].ds self.incidence = self.dt[self._xpath["incidence"]].ds self.manifest_attrs = self._create_manifest_attrs() for name, feature in self.__class__._mask_features_raw.items(): self.set_mask_feature(name, feature) def flip_sample_da(self): """ When a product is flipped, flip back data arrays (from the reader datatree) sample dimensions to respect the xsar convention (increasing incidence values). Documentation reference : RCM Image Product Format Definition (4.2.1) """ antenna_pointing = self.dt["sourceAttributes/radarParameters"].attrs[ "antennaPointing" ] pass_direction = self.dt[ "sourceAttributes/orbitAndAttitude/orbitInformation" ].attrs["passDirection"] flipped_cases = [("Left", "Ascending"), ("Right", "Descending")] samples_depending_ds = ["geolocationGrid"] if (antenna_pointing, pass_direction) in flipped_cases: for ds_name in samples_depending_ds: self.dt[self._xpath[ds_name]] = ( self.dt[self._xpath[ds_name]] .ds.copy() .isel(pixel=slice(None, None, -1)) .assign_coords(pixel=self.dt[self._xpath[ds_name]].ds.pixel) ) self.samples_flipped = True return def flip_line_da(self): """ Flip dataArrays (from the reader datatree) that depend on line dimension when a product is ascending, in order to respect the xsar convention (increasing time along line axis, whatever ascending or descending product). Documentation reference : RCM Image Product Format Definition (4.2.1) """ pass_direction = self.dt[ "sourceAttributes/orbitAndAttitude/orbitInformation" ].attrs["passDirection"] samples_depending_ds = ["geolocationGrid"] if pass_direction == "Ascending": for ds_name in samples_depending_ds: self.dt[self._xpath[ds_name]] = ( self.dt[self._xpath[ds_name]] .ds.copy() .isel(line=slice(None, None, -1)) .assign_coords(line=self.dt[self._xpath[ds_name]].ds.line) ) self.lines_flipped = True return def assign_index(self, ds_list): """ Generate a list of increasing indexes as a dataset coord. The change is made directly in the reader's datatree to all the datasets given in ds_list. The list of indexes is built thanks to a firstPixelValue, a step and a number of values. Documentation reference : RCM Image Product Format Definition (7.5.1) Parameters ---------- ds_list : List[str] List of dataset that don't have the samples list built. The list can contain these values : ['lut', 'noise_lut', 'incidence']. Returns ------- """ def _assign_index_lut(): xpath = self._xpath["lut"] lut = self.dt[xpath].ds.lookup_tables first_pix = lut.attrs["pixelFirstLutValue"] step = lut.attrs["stepSize"] values_nb = lut.attrs["numberOfValues"] indexes = [first_pix + step * i for i in range(0, values_nb)] # we want increasing indexes if step < 0: indexes = indexes[::-1] self.dt[xpath] = self.dt[xpath].ds.assign_coords(pixel=indexes) return def _assign_index_noise_lut(): xpath = self._xpath["noise_lut"] noise_lut = self.dt[xpath].ds first_pix = noise_lut.pixelFirstNoiseValue step = noise_lut.stepSize values_nb = noise_lut.attrs["numberOfValues"] indexes = [first_pix + step * i for i in range(0, values_nb)] # we want increasing indexes if step < 0: indexes = indexes[::-1] self.dt[xpath] = self.dt[xpath].ds.assign_coords(pixel=indexes) return def _assign_index_incidence(): xpath = self._xpath["incidence"] incidence = self.dt[xpath].ds first_pix = incidence.attrs["pixelFirstAnglesValue"] step = incidence.attrs["stepSize"] values_nb = incidence.attrs["numberOfValues"] indexes = [first_pix + step * i for i in range(0, values_nb)] # we want increasing indexes if step < 0: indexes = indexes[::-1] self.dt[xpath] = self.dt[xpath].ds.assign_coords(pixel=indexes) return if not all(item in ["lut", "noise_lut", "incidence"] for item in ds_list): raise ValueError( "Please enter accepted dataset names ('lut', 'noise_lut', 'incidence')" ) if "lut" in ds_list: _assign_index_lut() if "noise_lut" in ds_list: _assign_index_noise_lut() if "incidence" in ds_list: _assign_index_incidence() return def _create_manifest_attrs(self): dic = dict() dic["swath_type"] = os.path.basename(self.path).split("_")[4] dic["polarizations"] = self.dt["sourceAttributes/radarParameters"][ "pole" ].values dic["product_type"] = self.product dic["satellite"] = "RCM" dic["start_date"] = self.start_date dic["stop_date"] = self.stop_date # compute attributes (footprint, coverage, pixel_size) footprint_dict = {} for ll in ["longitude", "latitude"]: footprint_dict[ll] = [ self.geoloc[ll].isel(line=a, pixel=x).values for a, x in [(0, 0), (0, -1), (-1, -1), (-1, 0)] ] corners = list(zip(footprint_dict["longitude"], footprint_dict["latitude"])) p = Polygon(corners) self.geoloc.attrs["footprint"] = p dic["footprints"] = p # compute acquisition size/resolution in meters # first vector is on sample acq_sample_meters, _ = haversine(*corners[0], *corners[1]) # second vector is on line acq_line_meters, _ = haversine(*corners[1], *corners[2]) dic["coverage"] = "%dkm * %dkm (line * sample )" % ( acq_line_meters / 1000, acq_sample_meters / 1000, ) def _to_rio_gcp(pt_geoloc): # convert a point from self._geoloc grid to rasterio GroundControlPoint return GroundControlPoint( x=pt_geoloc.longitude.item(), y=pt_geoloc.latitude.item(), z=pt_geoloc.height.item(), col=pt_geoloc.line.item(), row=pt_geoloc.pixel.item(), ) gcps = [ _to_rio_gcp(self.geoloc.sel(line=line, pixel=sample)) for line in self.geoloc.line for sample in self.geoloc.pixel ] # approx transform, from all gcps (inaccurate) dic["approx_transform"] = rasterio.transform.from_gcps(gcps) return dic @property def approx_transform(self): """ Affine transfom from geoloc. This is an inaccurate transform, with errors up to 600 meters. But it's fast, and may fit some needs, because the error is stable localy. See `xsar.BaseMeta.coords2ll` `xsar.BaseMeta.ll2coords` for accurate methods. Examples -------- get `longitude` and `latitude` from tuple `(line, sample)`: >>> longitude, latitude = self.approx_transform * (line, sample) get `line` and `sample` from tuple `(longitude, latitude)` >>> line, sample = ~self.approx_transform * (longitude, latitude) See Also -------- xsar.BaseDataset.coords2ll xsar.BaseDataset.ll2coords xsar.BaseMeta.coords2ll xsar.BaseMeta.ll2coords """ return self.manifest_attrs["approx_transform"] @property def footprint(self): """footprint, as a shapely polygon or multi polygon""" return self.geoloc.attrs["footprint"] @property def pixel_line_m(self): """pixel line spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.dt["imageReferenceAttributes/rasterAttributes"][ "sampledLineSpacing" ].values return res @property def pixel_sample_m(self): """pixel sample spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.dt["imageReferenceAttributes/rasterAttributes"][ "sampledPixelSpacing" ].values return res @property def get_azitime(self): """ Get time at low resolution Returns ------- array[datetime64[ns]] times """ return self.orbit.timeStamp.values @property def pols(self): """polarisations strings, separated by spaces""" return " ".join(self.manifest_attrs["polarizations"]) def __reduce__(self): # make self serializable with pickle # https://docs.python.org/3/library/pickle.html#object.__reduce__ return self.__class__, (self.name,), self.dict def __repr__(self): if self.multidataset: meta_type = "multi (%d)" % len(self.subdatasets) else: meta_type = "single" return "" % meta_type def _get_time_range(self): if self.multidataset: time_range = [ self.manifest_attrs["start_date"], self.manifest_attrs["stop_date"], ] else: time_range = self.orbit.timeStamp return pd.Interval( left=pd.Timestamp(time_range.values[0]), right=pd.Timestamp(time_range.values[-1]), closed="both", ) @property def _dict_coords2ll(self): """ dict with keys ['longitude', 'latitude'] with interpolation function (RectBivariateSpline) as values. Examples: --------- get longitude at line=100 and sample=200: ``` >>> self._dict_coords2ll["longitude"].ev(100, 200) array(-66.43947434) ``` Notes: ------ if self.cross_antemeridian is True, 'longitude' will be in range [0, 360] """ resdict = {} geoloc = self.geoloc if self.cross_antemeridian: geoloc["longitude"] = geoloc["longitude"] % 360 idx_sample = np.array(geoloc.pixel) idx_line = np.array(geoloc.line) for ll in ["longitude", "latitude"]: resdict[ll] = RectBivariateSpline( idx_line, idx_sample, np.asarray(geoloc[ll]), kx=1, ky=1 ) return resdict def to_dict(self, keys="minimal"): info_keys = { "minimal": [ # 'platform', "swath", "product", "pols", ] } info_keys["all"] = info_keys["minimal"] + [ "name", "start_date", "stop_date", "footprint", "coverage", "pixel_line_m", "pixel_sample_m", "approx_transform", # 'orbit_pass', # 'platform_heading' ] if isinstance(keys, str): keys = info_keys[keys] res_dict = {} for k in keys: if hasattr(self, k): res_dict[k] = getattr(self, k) elif k in self.manifest_attrs.keys(): res_dict[k] = self.manifest_attrs[k] else: raise KeyError('Unable to find key/attr "%s" in RcmMeta' % k) return res_dict xsar-2025.03.07/src/xsar/sentinel1_dataset.py000066400000000000000000002306641476257143200206420ustar00rootroot00000000000000# -*- coding: utf-8 -*- import logging import warnings import numpy as np import xarray from scipy.interpolate import RectBivariateSpline import xarray as xr import dask import rasterio.features from scipy.interpolate import interp1d from shapely.geometry import box from .utils import ( timing, map_blocks_coords, BlockingActorProxy, merge_yaml, to_lon180, config, get_path_aux_cal, get_path_aux_pp1, get_geap_gains, get_gproc_gains, ) from .sentinel1_meta import Sentinel1Meta from .ipython_backends import repr_mimebundle from .base_dataset import BaseDataset import pandas as pd import geopandas as gpd import os logger = logging.getLogger("xsar.sentinel1_dataset") logger.addHandler(logging.NullHandler()) # we know tiff as no geotransform : ignore warning warnings.filterwarnings( "ignore", category=rasterio.errors.NotGeoreferencedWarning) # allow nan without warnings # some dask warnings are still non filtered: https://github.com/dask/dask/issues/3245 np.errstate(invalid="ignore") mapping_dataset_geoloc = { "latitude": "latitude", "longitude": "longitude", "incidence": "incidenceAngle", "elevation": "elevationAngle", "altitude": "height", "azimuth_time": "azimuthTime", "slant_range_time": "slantRangeTime", "offboresight": "offboresightAngle", } # noinspection PyTypeChecker class Sentinel1Dataset(BaseDataset): """ Handle a SAFE subdataset. A dataset might contain several tiff files (multiples polarizations), but all tiff files must share the same footprint. The main attribute useful to the end-user is `self.dataset` (`xarray.Dataset` , with all variables parsed from xml and tiff files.) Parameters ---------- dataset_id: str or Sentinel1Meta object if str, it can be a path, or a gdal dataset identifier like `'SENTINEL1_DS:%s:WV_001' % filename`) resolution: dict, number or string, optional resampling dict like `{'line': 20, 'sample': 20}` where 20 is in pixels. if a number, dict will be constructed from `{'line': number, 'sample': number}` if str, it must end with 'm' (meters), like '100m'. dict will be computed from sensor pixel size. resampling: rasterio.enums.Resampling or str, optional Only used if `resolution` is not None. ` rasterio.enums.Resampling.rms` by default. `rasterio.enums.Resampling.nearest` (decimation) is fastest. luts: bool, optional if `True` return also luts as variables (ie `sigma0_lut`, `gamma0_lut`, etc...). False by default. chunks: dict, optional dict with keys ['pol','line','sample'] (dask chunks). dtypes: None or dict, optional Specify the data type for each variable. patch_variable: bool, optional activate or not variable pathching ( currently noise lut correction for IPF2.9X) lazyloading: bool, optional activate or not the lazy loading of the high resolution fields """ def __init__( self, dataset_id, resolution=None, resampling=rasterio.enums.Resampling.rms, luts=False, chunks={"line": 5000, "sample": 5000}, dtypes=None, patch_variable=True, lazyloading=True, recalibration=False, ): # default dtypes if dtypes is not None: self._dtypes.update(dtypes) # default meta for map_blocks output. # as asarray is imported from numpy, it's a numpy array. # but if later we decide to import asarray from cupy, il will be a cupy.array (gpu) self.sar_meta = None self.interpolation_func_slc = {} """`xsar.Sentinel1Meta` object""" if not isinstance(dataset_id, Sentinel1Meta): self.sar_meta = BlockingActorProxy(Sentinel1Meta, dataset_id) # check serializable # import pickle # sar_meta = pickle.loads(pickle.dumps(self.sar_meta)) # assert isinstance(sar_meta.coords2ll(100, 100),tuple) else: # we want self.sar_meta to be a dask actor on a worker self.sar_meta = BlockingActorProxy( Sentinel1Meta.from_dict, dataset_id.dict) del dataset_id if self.sar_meta.multidataset: raise IndexError( """Can't open an multi-dataset. Use `xsar.Sentinel1Meta('%s').subdatasets` to show availables ones""" % self.sar_meta.path ) # security to prevent using resolution argument with SLC if ( self.sar_meta.product == "SLC" and resolution is not None and self.sar_meta.swath in ["IW", "EW"] ): # we tolerate resampling for WV since image width is only 20 km logger.error( "xsar is not handling resolution change for SLC TOPS products." ) raise Exception( "xsar is not handling resolution change for SLC TOPS products." ) # build datatree self.resolution, DN_tmp = self.sar_meta.reader.load_digital_number( resolution=resolution, resampling=resampling, chunks=chunks ) # geoloc geoloc = self.sar_meta.geoloc geoloc.attrs["history"] = "annotations" #  offboresight angle geoloc["offboresightAngle"] = ( geoloc.elevationAngle - ( 30.1833947 * geoloc.latitude**0 + 0.0082998714 * geoloc.latitude**1 - 0.00031181534 * geoloc.latitude**2 - 0.0943533e-07 * geoloc.latitude**3 + 3.0191435e-08 * geoloc.latitude**4 + 4.968415428e-12 * geoloc.latitude**5 - 9.315371305e-13 * geoloc.latitude**6 ) + 29.45 ) geoloc["offboresightAngle"].attrs[ "comment" ] = "built from elevation angle and latitude" # bursts bu = self.sar_meta._bursts bu.attrs["history"] = "annotations" # azimuth fm rate FM = self.sar_meta.azimuth_fmrate FM.attrs["history"] = "annotations" # doppler dop = self.sar_meta._doppler_estimate dop.attrs["history"] = "annotations" # calibration LUTs ds_luts = self.sar_meta.get_calibration_luts ds_luts.attrs["history"] = "calibration" # noise levels LUTs ds_noise_range = self.sar_meta.get_noise_range_raw ds_noise_azi = self.sar_meta.get_noise_azi_raw # antenna pattern ds_antenna_pattern = self.sar_meta.get_antenna_pattern # swath merging ds_swath_merging = self.sar_meta.get_swath_merging if self.sar_meta.swath == "WV": # since WV noise is not defined on azimuth we apply the patch on range noise # ds_noise_azi['noise_lut'] = self._patch_lut(ds_noise_azi[ # 'noise_lut']) # patch applied here is distinct to same patch applied on interpolated noise LUT ds_noise_range["noise_lut"] = self._patch_lut( ds_noise_range["noise_lut"] ) # patch applied here is distinct to same patch applied on interpolated noise LUT self.datatree = xr.DataTree.from_dict( { "measurement": DN_tmp, "geolocation_annotation": geoloc, "bursts": bu, "FMrate": FM, "doppler_estimate": dop, # 'image_information': "orbit": self.sar_meta.orbit, "image": self.sar_meta.image, "calibration": ds_luts, "noise_range": ds_noise_range, "noise_azimuth": ds_noise_azi, "antenna_pattern": ds_antenna_pattern, "swath_merging": ds_swath_merging, } ) # apply recalibration ? self.apply_recalibration = recalibration if self.apply_recalibration and ( self.sar_meta.swath != "EW" and self.sar_meta.swath != "IW" ): self.apply_recalibration = False raise ValueError( f"Recalibration in only done for EW/IW modes. You have '{self.sar_meta.swath}'. apply_recalibration is set to False." ) if self.apply_recalibration and np.all( np.isnan(self.datatree.antenna_pattern["roll"].values) ): self.apply_recalibration = False raise ValueError( f"Recalibration can't be done without roll angle. You probably work with an old file for which roll angle is not in auxiliary file.") # self.datatree['measurement'].ds = .from_dict({'measurement':self._load_digital_number(resolution=resolution, resampling=resampling, chunks=chunks) # self._dataset = self.datatree['measurement'].ds #the two variables should be linked then. self._dataset = self.datatree[ "measurement" ].to_dataset() # test oct 22 to see if then I can modify variables of the dt # create a datatree for variables used in recalibration self.datatree["recalibration"] = xr.DataTree() self._dataset_recalibration = xr.Dataset( coords=self.datatree["measurement"].coords ) for att in ["name", "short_name", "product", "safe", "swath", "multidataset"]: if att not in self.datatree.attrs: # tmp = xr.DataArray(self.sar_meta.__getattr__(att),attrs={'source':'filename decoding'}) self.datatree.attrs[att] = self.sar_meta.__getattr__(att) self._dataset.attrs[att] = self.sar_meta.__getattr__(att) self._dataset = xr.merge( [xr.Dataset({"time": self.get_burst_azitime}), self._dataset] ) value_res_sample = self.sar_meta.image["slantRangePixelSpacing"] value_res_line = self.sar_meta.image["azimuthPixelSpacing"] refe_spacing = "slant" if resolution is not None: # if the data sampling changed it means that the quantities are projected on ground refe_spacing = "ground" if isinstance(resolution, str): value_res_sample = float(resolution.replace("m", "")) value_res_line = value_res_sample elif isinstance(resolution, dict): value_res_sample = ( self.sar_meta.image["slantRangePixelSpacing"] * resolution["sample"] ) value_res_line = ( self.sar_meta.image["azimuthPixelSpacing"] * resolution["line"] ) else: logger.warning( "resolution type not handle (%s) should be str or dict -> sampleSpacing" " and lineSpacing are not correct", type(resolution), ) self._dataset["sampleSpacing"] = xarray.DataArray( value_res_sample, attrs={"units": "m", "referential": refe_spacing} ) self._dataset["lineSpacing"] = xarray.DataArray( value_res_line, attrs={"units": "m"} ) # dataset principal # dataset no-pol template for function evaluation on coordinates (*no* values used) # what's matter here is the shape of the image, not the values. with warnings.catch_warnings(): # warnings.simplefilter("ignore", np.ComplexWarning) # deprecated in numpy>=2.0.0 if self.sar_meta._bursts["burst"].size != 0: # SLC TOPS, tune the high res grid because of bursts overlapping # line_time = self._burst_azitime line_time = self.get_burst_azitime self._da_tmpl = xr.DataArray( dask.array.empty_like( np.empty( (len(line_time), len(self._dataset.digital_number.sample)) ), dtype=np.int8, name="empty_var_tmpl-%s" % dask.base.tokenize(self.sar_meta.name), ), dims=("line", "sample"), coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, "line_time": line_time.astype(float), }, ) else: self._da_tmpl = xr.DataArray( dask.array.empty_like( self._dataset.digital_number.isel(pol=0).drop("pol"), dtype=np.int8, name="empty_var_tmpl-%s" % dask.base.tokenize(self.sar_meta.name), ), dims=("line", "sample"), coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, ) # FIXME possible memory leak # when calling a self.sar_meta method, an ActorFuture is returned. # But this seems to break __del__ methods from both Sentinel1Meta and XmlParser # Is it a memory leak ? # see https://github.com/dask/distributed/issues/5610 # tmp_f = self.sar_meta.to_dict("all") # del tmp_f # return self._dataset.attrs.update(self.sar_meta.to_dict("all")) self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) self.datatree.attrs.update(self.sar_meta.to_dict("all")) # load land_mask by default for GRD products if "GRD" in str(self.datatree.attrs["product"]): self.add_high_resolution_variables( patch_variable=patch_variable, luts=luts, lazy_loading=lazyloading ) if self.apply_recalibration: self.select_gains() self.apply_calibration_and_denoising() # added 6 fev 23, to fill empty attrs self.datatree["measurement"].attrs = self.datatree.attrs if ( self.sar_meta.product == "SLC" and "WV" not in self.sar_meta.swath ): # TOPS cases tmp = self.corrected_range_noise_lut(self.datatree) # the corrcted noise_range dataset shold now contain an attrs 'corrected_range_noise_lut' self.datatree["noise_range"].ds = tmp self.sliced = False """True if dataset is a slice of original L1 dataset""" self.resampled = resolution is not None """True if dataset is not a sensor resolution""" # save original bbox self._bbox_coords_ori = self._bbox_coords def corrected_range_noise_lut(self, dt): """ Patch F.Nouguier see https://jira-projects.cls.fr/browse/MPCS-3581 and https://github.com/umr-lops/xsar_slc/issues/175 Return range noise lut with corrected line numbering. This function should be used only on the full SLC dataset dt Args: dt (xarray.datatree) : datatree returned by xsar corresponding to one subswath Return: (xarray.dataset) : range noise lut with corrected line number """ # Detection of azimuthTime jumps (linked to burst changes). Burst sensingTime should NOT be used since they have erroneous value too ! line_shift = 0 tt = dt["measurement"]["time"] i_jump = np.ravel( np.argwhere(np.diff(tt) < np.timedelta64(0)) + 1 ) # index of jumps # line number of jumps line_jump_meas = dt["measurement"]["line"][i_jump] # line_jump_noise = np.ravel(dt['noise_range']['line'][1:-1].data) # annotated line number of burst begining, this one is corrupted for some S1 TOPS product # annoted line number of burst begining line_jump_noise = np.ravel( dt["noise_range"]["line"][1: 1 + len(line_jump_meas)].data ) burst_first_lineshift = line_jump_meas - line_jump_noise if len(np.unique(burst_first_lineshift)) == 1: line_shift = int(np.unique(burst_first_lineshift)[0]) logging.debug("line_shift: %s", line_shift) else: raise ValueError( "Inconsistency in line shifting : {}".format( burst_first_lineshift) ) res = dt["noise_range"].ds.assign_coords( {"line": dt["noise_range"]["line"] + line_shift} ) if line_shift == 0: res.attrs["corrected_range_noise_lut"] = "no change" else: res.attrs["corrected_range_noise_lut"] = "shift : %i lines" % line_shift return res def select_gains(self): """ attribution of the good swath gain by getting the swath number of each pixel Returns: -------- """ def get_gains(ds, var_template): if self.sar_meta.swath == "EW": resultat = xr.where( ds["swath_number"] == 1, ds[var_template + "_1"], xr.where( ds["swath_number"] == 2, ds[var_template + "_2"], xr.where( ds["swath_number"] == 3, ds[var_template + "_3"], xr.where( ds["swath_number"] == 4, ds[var_template + "_4"], xr.where( ds["swath_number"] == 5, ds[var_template + "_5"], np.nan, ), ), ), ), ) return resultat elif self.sar_meta.swath == "IW": resultat = xr.where( ds["swath_number"] == 1, ds[var_template + "_1"], xr.where( ds["swath_number"] == 2, ds[var_template + "_2"], xr.where( ds["swath_number"] == 3, ds[var_template + "_3"], np.nan ), ), ) return resultat else: raise ValueError( f"Recalibration in only done for EW/IW modes. You have '{self.sar_meta.swath}'" ) for var_template in ["old_geap", "new_geap", "old_gproc", "new_gproc"]: self._dataset_recalibration[var_template] = get_gains( self._dataset_recalibration, var_template ) # vars_to_drop.extend([f"{var_template}_{i}" for i in range(1, 6)]) # self._dataset = self._dataset.drop_vars(vars_to_drop,errors = "ignore") self.datatree["recalibration"] = self.datatree["recalibration"].assign( self._dataset_recalibration ) def add_high_resolution_variables( self, luts=False, patch_variable=True, skip_variables=None, load_luts=True, lazy_loading=True, ): """ Parameters ---------- luts: bool, optional if `True` return also luts as variables (ie `sigma0_lut`, `gamma0_lut`, etc...). False by default. patch_variable: bool, optional activate or not variable pathching ( currently noise lut correction for IPF2.9X) skip_variables: list, optional list of strings eg ['land_mask','longitude'] to skip at rasterisation step load_luts: bool True -> load hiddens luts sigma0 beta0 gamma0, False -> no luts reading lazy_loading : bool True -> use map_blocks_coords() to have delayed rasterization on variables such as longitude, latitude, incidence,..., False -> directly compute RectBivariateSpline with memory usage (Currently the lazy_loading generate a memory leak) """ if "longitude" in self.dataset: logger.debug( "the high resolution variable such as : longitude, latitude, incidence,.. are already visible in the dataset" ) else: # miscellaneous attributes that are not know from xml files attrs_dict = { "pol": {"comment": "ordered polarizations (copol, crosspol)"}, "line": { "units": "1", "comment": "azimuth direction, in pixels from full resolution tiff", }, "sample": { "units": "1", "comment": "cross track direction, in pixels from full resolution tiff", }, "sigma0_raw": {"units": "linear"}, "gamma0_raw": {"units": "linear"}, "nesz": {"units": "linear", "comment": "sigma0 noise"}, "negz": {"units": "linear", "comment": "beta0 noise"}, } # dict mapping for variables names to create by applying specified lut on digital_number self._map_var_lut = { "sigma0_raw": "sigma0_lut", "gamma0_raw": "gamma0_lut", } # dict mapping for lut names to file type (from self.files columns) self._map_lut_files = { "sigma0_lut": "calibration", "gamma0_lut": "calibration", "noise_lut_range": "noise", "noise_lut_azi": "noise", } # dict mapping specifying if the variable has 'pol' dimension self._vars_with_pol = { "sigma0_lut": True, "gamma0_lut": True, "noise_lut_range": True, "noise_lut_azi": True, "incidence": False, "elevation": False, "altitude": False, "azimuth_time": False, "slant_range_time": False, "longitude": False, "latitude": False, } if skip_variables is None: skip_variables = [] # variables not returned to the user (unless luts=True) # self._hidden_vars = ['sigma0_lut', 'gamma0_lut', 'noise_lut', 'noise_lut_range', 'noise_lut_azi'] self._hidden_vars = [] # attribute to activate correction on variables, if available self._patch_variable = patch_variable if load_luts: self._luts = self._lazy_load_luts(self._map_lut_files.keys()) # noise_lut is noise_lut_range * noise_lut_azi if ( "noise_lut_range" in self._luts.keys() and "noise_lut_azi" in self._luts.keys() ): self._luts = self._luts.assign( noise_lut=self._luts.noise_lut_range * self._luts.noise_lut_azi ) self._luts.noise_lut.attrs["history"] = merge_yaml( [ self._luts.noise_lut_range.attrs["history"] + self._luts.noise_lut_azi.attrs["history"] ], section="noise_lut", ) ds_merge_list = [ self._dataset, # self.load_ground_heading(), # lon_lat self._luts.drop_vars(self._hidden_vars, errors="ignore"), ] else: ds_merge_list = [self._dataset] if "ground_heading" not in skip_variables: ds_merge_list.append(self.load_ground_heading()) self._rasterized_masks = self.load_rasterized_masks() ds_merge_list.append(self._rasterized_masks) # self.add_rasterized_masks() #this method update the datatree while in this part of the code, the dataset is updated if luts: ds_merge_list.append(self._luts[self._hidden_vars]) attrs = self._dataset.attrs self._dataset = xr.merge(ds_merge_list) self._dataset.attrs = attrs geoloc_vars = [ "altitude", "azimuth_time", "slant_range_time", "incidence", "elevation", "longitude", "latitude", "offboresight", ] for vv in skip_variables: if vv in geoloc_vars: geoloc_vars.remove(vv) self._dataset = self._dataset.merge( self._load_from_geoloc(geoloc_vars, lazy_loading=lazy_loading) ) if "GRD" in str(self.datatree.attrs["product"]): self.add_swath_number() path_aux_cal_old = get_path_aux_cal( self.sar_meta.manifest_attrs["aux_cal"] ) path_aux_pp1_old = get_path_aux_pp1( self.sar_meta.manifest_attrs["aux_pp1"] ) if self.apply_recalibration == False: new_cal = "None" new_pp1 = "None" if self.apply_recalibration: path_dataframe_aux = config["path_dataframe_aux"] dataframe_aux = pd.read_csv(path_dataframe_aux) sel_cal = dataframe_aux.loc[(dataframe_aux.sat_name == self.sar_meta.manifest_attrs['satellite']) & (dataframe_aux.aux_type == "CAL") & (dataframe_aux.icid == int(self.sar_meta.manifest_attrs['icid'])) & (dataframe_aux.validation_date <= self.sar_meta.start_date)] # Check if sel_cal is empty if sel_cal.empty: sel_ = dataframe_aux.loc[(dataframe_aux.sat_name == self.sar_meta.manifest_attrs['satellite']) & (dataframe_aux.aux_type == "CAL") & (dataframe_aux.icid == int(self.sar_meta.manifest_attrs['icid']))] if sel_.empty: raise ValueError( f"Cannot recalibrate - No matching CAL data found for your data : start_date : {self.sar_meta.start_date}.") else: raise ValueError(f"Cannot recalibrate - No matching CAL data found for your data: start_date: {self.sar_meta.start_date} & \ miniumum validation date in active aux files: {sel_.sort_values(by=['validation_date'], ascending=False).validation_date.values[0]}.") sel_cal = sel_cal.sort_values( by=["validation_date", "generation_date"], ascending=False) new_cal = sel_cal.iloc[0].aux_path sel_pp1 = dataframe_aux.loc[(dataframe_aux.sat_name == self.sar_meta.manifest_attrs['satellite']) & (dataframe_aux.aux_type == "PP1") & (dataframe_aux.icid == int(self.sar_meta.manifest_attrs['icid'])) & (dataframe_aux.validation_date <= self.sar_meta.start_date)] # Check if sel_pp1 is empty if sel_pp1.empty: sel_ = dataframe_aux.loc[(dataframe_aux.sat_name == self.sar_meta.manifest_attrs['satellite']) & (dataframe_aux.aux_type == "PP1") & (dataframe_aux.icid == int(self.sar_meta.manifest_attrs['icid']))] if sel_.empty: raise ValueError( f"Cannot recalibrate - No matching PP1 data found for your data : start_date : {self.sar_meta.start_date}.") else: raise ValueError(f"Cannot recalibrate - No matching PP1 data found for your data: start_date: {self.sar_meta.start_date} & \ miniumum validation date in active aux files: {sel_.sort_values(by=['validation_date'], ascending=False).validation_date.values[0]}.") sel_pp1 = sel_pp1.sort_values( by=["validation_date", "generation_date"], ascending=False ) new_pp1 = sel_pp1.iloc[0].aux_path path_aux_cal_new = get_path_aux_cal( os.path.basename(new_cal)) path_aux_pp1_new = get_path_aux_pp1( os.path.basename(new_pp1)) self.add_gains(path_aux_cal_new, path_aux_pp1_new, path_aux_cal_old, path_aux_pp1_old) self.datatree["recalibration"].attrs["aux_cal_new"] = os.path.basename( new_cal) self.datatree["recalibration"].attrs["aux_pp1_new"] = os.path.basename( new_pp1) rasters = self._load_rasters_vars() if rasters is not None: self._dataset = xr.merge([self._dataset, rasters]) if "velocity" not in skip_variables: self._dataset = self._dataset.merge(self.get_sensor_velocity()) if "range_ground_spacing" not in skip_variables: self._dataset = self._dataset.merge( self._range_ground_spacing()) # set miscellaneous attrs for var, attrs in attrs_dict.items(): try: self._dataset[var].attrs.update(attrs) except KeyError: pass # self.datatree[ # 'measurement'].ds = self._dataset # last link to make sure all previous modifications are also in the datatree # need high resolution rasterised longitude and latitude , needed for .rio accessor self.recompute_attrs() self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) if "land_mask" in skip_variables: self._dataset = self._dataset.drop("land_mask") self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) else: assert "land_mask" in self.datatree["measurement"] if ( self.sar_meta.product == "SLC" and "WV" not in self.sar_meta.swath ): # TOPS cases logger.debug("a TOPS product") # self.land_mask_slc_per_bursts( # lazy_loading=lazy_loading) # replace "GRD" like (Affine transform) land_mask by a burst-by-burst rasterised land mask else: logger.debug( "not a TOPS product -> land_mask already available.") return def add_swath_number(self): """ add a DataArray with the swath number chosen for each pixel of the dataset ; also add a DataArray with a flag Returns: -------- """ swath_tab = xr.DataArray( np.full_like(self._dataset.elevation, np.nan, dtype=int), coords={ "line": self._dataset.coords["line"], "sample": self._dataset.coords["sample"], }, ) flag_tab = xr.DataArray( np.zeros_like(self._dataset.elevation, dtype=int), coords={ "line": self._dataset.coords["line"], "sample": self._dataset.coords["sample"], }, ) # Supposons que dataset.swaths ait 45 éléments comme mentionné for i in range(len(self.datatree["swath_merging"].ds["swaths"])): y_min, y_max = ( self.datatree["swath_merging"]["firstAzimuthLine"][i], self.datatree["swath_merging"]["lastAzimuthLine"][i], ) x_min, x_max = ( self.datatree["swath_merging"]["firstRangeSample"][i], self.datatree["swath_merging"]["lastRangeSample"][i], ) # Localisation des pixels appartenant à ce swath swath_index = int(self.datatree["swath_merging"].ds["swaths"][i]) condition = ( (self._dataset.line >= y_min) & (self._dataset.line <= y_max) & (self._dataset.sample >= x_min) & (self._dataset.sample <= x_max) ) # Marquer les pixels déjà vus flag_tab = xr.where( (flag_tab == 1) & condition & ( swath_tab == swath_index), 2, flag_tab ) # Affecter le swath actuel swath_tab = xr.where(condition, swath_index, swath_tab) # Marquer les premiers pixels vus flag_tab = xr.where((flag_tab == 0) & condition, 1, flag_tab) self._dataset_recalibration["swath_number"] = swath_tab self._dataset_recalibration["swath_number_flag"] = flag_tab self._dataset_recalibration["swath_number_flag"].attrs[ "flag_info" ] = "0 : no swath \n1 : unique swath \n2 : undecided swath" self.datatree["recalibration"] = self.datatree["recalibration"].assign( self._dataset_recalibration ) def add_gains(self, path_aux_cal_new, path_aux_pp1_new, path_aux_cal_old, path_aux_pp1_old): from scipy.interpolate import interp1d logger.debug( f"doing recalibration with AUX_CAL = {path_aux_cal_new} & AUX_PP1 = {path_aux_pp1_new}" ) #  1 - compute offboresight angle roll = self.datatree["antenna_pattern"]["roll"] azimuthTime = self.datatree["antenna_pattern"]["azimuthTime"] interp_roll = interp1d( azimuthTime.values.flatten().astype(int), roll.values.flatten(), kind="linear", fill_value="extrapolate", ) self._dataset_recalibration = self._dataset_recalibration.assign( rollAngle=(["line", "sample"], interp_roll( self._dataset.azimuth_time)) ) self._dataset_recalibration = self._dataset_recalibration.assign( offboresigthAngle=( ["line", "sample"], self._dataset["elevation"].data - self._dataset_recalibration["rollAngle"].data, ) ) # 2- get gains geap and map them dict_geap_old = get_geap_gains( path_aux_cal_old, mode=self.sar_meta.manifest_attrs["swath_type"], pols=self.sar_meta.manifest_attrs["polarizations"], ) dict_geap_new = get_geap_gains( path_aux_cal_new, mode=self.sar_meta.manifest_attrs["swath_type"], pols=self.sar_meta.manifest_attrs["polarizations"], ) for key, infos_geap in dict_geap_old.items(): pol = key[-2:] number = key[2:-3] keyf = "old_geap_" + number if keyf not in self._dataset_recalibration: data_shape = ( len(self._dataset_recalibration.coords["line"]), len(self._dataset_recalibration.coords["sample"]), len(self._dataset_recalibration.coords["pol"]), ) self._dataset_recalibration[keyf] = xr.DataArray( np.full(data_shape, np.nan), coords={ "line": self._dataset_recalibration.coords["line"], "sample": self._dataset_recalibration.coords["sample"], "pol": self._dataset_recalibration.coords["pol"], }, dims=["line", "sample", "pol"], ) # coords=self._dataset.coords)) self._dataset_recalibration[keyf].attrs["aux_path"] = os.path.join( os.path.basename( os.path.dirname(os.path.dirname(path_aux_cal_old)) ), os.path.basename(os.path.dirname(path_aux_cal_old)), os.path.basename(path_aux_cal_old), ) interp = interp1d( infos_geap["offboresightAngle"], infos_geap["gain"], kind="linear" ) self._dataset_recalibration[keyf].loc[:, :, pol] = interp( self._dataset_recalibration["offboresigthAngle"] ) for key, infos_geap in dict_geap_new.items(): pol = key[-2:] number = key[2:-3] keyf = "new_geap_" + number if keyf not in self._dataset_recalibration: data_shape = ( len(self._dataset_recalibration.coords["line"]), len(self._dataset_recalibration.coords["sample"]), len(self._dataset_recalibration.coords["pol"]), ) self._dataset_recalibration[keyf] = xr.DataArray( np.full(data_shape, np.nan), coords={ "line": self._dataset_recalibration.coords["line"], "sample": self._dataset_recalibration.coords["sample"], "pol": self._dataset_recalibration.coords["pol"], }, dims=["line", "sample", "pol"], ) # coords=self._dataset.coords)) self._dataset_recalibration[keyf].attrs["aux_path"] = os.path.join( os.path.basename( os.path.dirname(os.path.dirname(path_aux_cal_new)) ), os.path.basename(os.path.dirname(path_aux_cal_new)), os.path.basename(path_aux_cal_new), ) interp = interp1d( infos_geap["offboresightAngle"], infos_geap["gain"], kind="linear" ) self._dataset_recalibration[keyf].loc[:, :, pol] = interp( self._dataset_recalibration["offboresigthAngle"] ) # 3- get gains gproc and map them dict_gproc_old = get_gproc_gains( path_aux_pp1_old, mode=self.sar_meta.manifest_attrs["swath_type"], product=self.sar_meta.product, ) dict_gproc_new = get_gproc_gains( path_aux_pp1_new, mode=self.sar_meta.manifest_attrs["swath_type"], product=self.sar_meta.product, ) for idxpol, pol in enumerate(["HH", "HV", "VV", "VH"]): if pol in self.sar_meta.manifest_attrs["polarizations"]: valid_keys_indices = [ (key, idxpol, pol) for key, infos_gproc in dict_gproc_old.items() ] for key, idxpol, pol in valid_keys_indices: sw_nb = str(key)[-1] keyf = "old_gproc_" + sw_nb if keyf not in self._dataset_recalibration: self._dataset_recalibration[keyf] = xr.DataArray( np.nan, dims=["pol"], coords={ "pol": self._dataset_recalibration.coords["pol"]}, ) self._dataset_recalibration[keyf].attrs["aux_path"] = ( os.path.join( os.path.basename( os.path.dirname( os.path.dirname(path_aux_pp1_old)) ), os.path.basename( os.path.dirname(path_aux_pp1_old)), os.path.basename(path_aux_pp1_old), ) ) self._dataset_recalibration[keyf].loc[..., pol] = dict_gproc_old[ key ][idxpol] for idxpol, pol in enumerate(["HH", "HV", "VV", "VH"]): if pol in self.sar_meta.manifest_attrs["polarizations"]: valid_keys_indices = [ (key, idxpol, pol) for key, infos_gproc in dict_gproc_new.items() ] for key, idxpol, pol in valid_keys_indices: sw_nb = str(key)[-1] keyf = "new_gproc_" + sw_nb if keyf not in self._dataset_recalibration: self._dataset_recalibration[keyf] = xr.DataArray( np.nan, dims=["pol"], coords={ "pol": self._dataset_recalibration.coords["pol"]}, ) self._dataset_recalibration[keyf].attrs["aux_path"] = ( os.path.join( os.path.basename( os.path.dirname( os.path.dirname(path_aux_pp1_new)) ), os.path.basename( os.path.dirname(path_aux_pp1_new)), os.path.basename(path_aux_pp1_new), ) ) self._dataset_recalibration[keyf].loc[..., pol] = dict_gproc_new[ key ][idxpol] self.datatree["recalibration"] = self.datatree["recalibration"].assign( self._dataset_recalibration ) # return self._dataset def apply_calibration_and_denoising(self): """ apply calibration and denoising functions to get high resolution sigma0 , beta0 and gamma0 + variables *_raw Returns: -------- """ for var_name, lut_name in self._map_var_lut.items(): if lut_name in self._luts: # merge var_name into dataset (not denoised) self._dataset = self._dataset.merge( self._apply_calibration_lut(var_name) ) # merge noise equivalent for var_name (named 'ne%sz' % var_name[0) self._dataset = self._dataset.merge(self._get_noise(var_name)) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) if self.apply_recalibration: interest_var = ["sigma0_raw", "gamma0_raw", "beta0_raw"] for var in interest_var: if var not in self._dataset: continue var_dB = 10 * np.log10(self._dataset[var]) corrected_dB = ( var_dB + 10 * np.log10(self._dataset_recalibration["old_geap"]) - 10 * np.log10(self._dataset_recalibration["new_geap"]) - 2 * 10 * np.log10(self._dataset_recalibration["old_gproc"]) + 2 * 10 * np.log10(self._dataset_recalibration["new_gproc"]) ) self._dataset_recalibration[var + "__corrected"] = 10 ** ( corrected_dB / 10 ) self.datatree["recalibration"] = self.datatree["recalibration"].assign( self._dataset_recalibration ) self._dataset = self._add_denoised(self._dataset) for var_name, lut_name in self._map_var_lut.items(): var_name_raw = var_name + "_raw" if var_name_raw in self._dataset: self._dataset[var_name_raw] = self._dataset[var_name_raw].where( self._dataset[var_name_raw] > 0, 0) else: logger.debug( "Skipping variable '%s' ('%s' lut is missing)" % (var_name, lut_name) ) self.datatree["measurement"] = self.datatree["measurement"].assign( self._dataset ) # self._dataset = self.datatree[ # 'measurement'].to_dataset() # test oct 22 to see if then I can modify variables of the dt return def __del__(self): logger.debug("__del__") @property def dataset(self): """ `xarray.Dataset` representation of this `xsar.Sentinel1Dataset` object. This property can be set with a new dataset, if the dataset was computed from the original dataset. """ # return self._dataset res = self.datatree["measurement"].to_dataset() res.attrs = self.datatree.attrs return res @dataset.setter def dataset(self, ds): if self.sar_meta.name == ds.attrs["name"]: # check if new ds has changed coordinates if not self.sliced: self.sliced = any( [ list(ds[d].values) != list(self._dataset[d].values) for d in ["line", "sample"] ] ) self._dataset = ds # self._dataset = self.datatree['measurement'].ds self.recompute_attrs() else: raise ValueError("dataset must be same kind as original one.") @dataset.deleter def dataset(self): logger.debug("deleter dataset") # @property # def pixel_line_m(self): # """line pixel spacing, in meters (relative to dataset)""" # return self.sar_meta.pixel_line_m * np.unique(np.round(np.diff(self._dataset['line'].values), 1))[0] # @property # def pixel_sample_m(self): # """sample pixel spacing, in meters (relative to dataset)""" # return self.sar_meta.pixel_sample_m * np.unique(np.round(np.diff(self._dataset['sample'].values), 1))[0] def _patch_lut(self, lut): """ patch proposed by MPC Sentinel-1 : https://jira-projects.cls.fr/browse/MPCS-2007 for noise vectors of WV SLC IPF2.9X products adjustment proposed by BAE are the same for HH and VV, and suppose to work for both old and new WV2 EAP they were estimated using WV image with very low NRCS (black images) and computing std(sigma0). Parameters ---------- lut xarray.Dataset Returns ------- lut xarray.Dataset """ if self.sar_meta.swath == "WV": if ( lut.name in ["noise_lut_azi", "noise_lut"] and self.sar_meta.ipf_version in [2.9, 2.91] and self.sar_meta.platform in ["SENTINEL-1A", "SENTINEL-1B"] ): noise_calibration_cst_pp1 = { "SENTINEL-1A": {"WV1": -38.13, "WV2": -36.84}, "SENTINEL-1B": { "WV1": -39.30, "WV2": -37.44, }, } subswath = str(self.sar_meta.image["swath_subswath"].values) cst_db = noise_calibration_cst_pp1[self.sar_meta.platform][subswath] cst_lin = 10 ** (cst_db / 10) lut = lut * cst_lin lut.attrs["comment"] = "patch on the noise_lut_azi : %s dB" % cst_db return lut @timing def _lazy_load_luts(self, luts_names): """ lazy load luts from xml files Parameters ---------- luts_names: list of str Returns ------- xarray.Dataset with variables from `luts_names`. """ class _NoiseLut: """small internal class that return a lut function(lines, samples) defined on all the image, from blocks in the image""" def __init__(self, blocks): self.blocks = blocks def __call__(self, lines, samples): """return noise[a.size,x.size], by finding the intersection with blocks and calling the corresponding block.lut_f""" if len(self.blocks) == 0: # no noise (ie no azi noise for ipf < 2.9) return 1 else: # the array to be returned noise = xr.DataArray( np.ones((lines.size, samples.size)) * np.nan, dims=("line", "sample"), coords={"line": lines, "sample": samples}, ) # find blocks that intersects with asked_box with warnings.catch_warnings(): warnings.simplefilter("ignore") # the box coordinates of the returned array asked_box = box( max(0, lines[0] - 0.5), max(0, samples[0] - 0.5), lines[-1] + 0.5, samples[-1] + 0.5, ) # set match_blocks as the non empty intersection with asked_box match_blocks = self.blocks.copy() match_blocks.geometry = self.blocks.geometry.intersection( asked_box ) match_blocks = match_blocks[~match_blocks.is_empty] for i, block in match_blocks.iterrows(): (sub_a_min, sub_x_min, sub_a_max, sub_x_max) = map( int, block.geometry.bounds ) sub_a = lines[(lines >= sub_a_min) & (lines <= sub_a_max)] sub_x = samples[(samples >= sub_x_min) & (samples <= sub_x_max)] noise.loc[dict(line=sub_a, sample=sub_x)] = block.lut_f( sub_a, sub_x ) # values returned as np array return noise.values def noise_lut_range(lut_range): """ Parameters ---------- lines: np.ndarray 1D array of lines. lut is defined at each line samples: list of np.ndarray arrays of samples. list length is same as samples. each array define samples where lut is defined noiseLuts: list of np.ndarray arrays of luts. Same structure as samples. Returns ------- geopandas.GeoDataframe noise range geometry. 'geometry' is the polygon where 'lut_f' is defined. attrs['type'] set to 'sample' """ class Lut_box_range: def __init__(self, a_start, a_stop, x, lll): self.lines = np.arange(a_start, a_stop) self.samples = x self.area = box(a_start, x[0], a_stop, x[-1]) self.lut_f = interp1d( x, lll, kind="linear", fill_value=np.nan, assume_sorted=True, bounds_error=False, ) def __call__(self, lines, samples): lut = np.tile(self.lut_f(samples), (lines.size, 1)) return lut blocks = [] lines = lut_range.line samples = np.tile(lut_range.sample, (len(lines), 1)) noiseLuts = lut_range.noise_lut # lines is where lut is defined. compute lines interval validity lines_start = (lines - np.diff(lines, prepend=0) / 2).astype(int) lines_stop = np.ceil( lines + np.diff(lines, append=lines[-1] + 1) / 2 ).astype( int ) # end is not included in the interval # be sure to include all image if last azimuth line, is not last azimuth image lines_stop[-1] = 65535 for a_start, a_stop, x, lll in zip( lines_start, lines_stop, samples, noiseLuts ): lut_f = Lut_box_range(a_start, a_stop, x, lll) block = pd.Series( dict([("lut_f", lut_f), ("geometry", lut_f.area)])) blocks.append(block) # to geopandas blocks = pd.concat(blocks, axis=1).T blocks = gpd.GeoDataFrame(blocks) return _NoiseLut(blocks) def noise_lut_azi(): """ Parameters ---------- line_azi line_azi_start line_azi_stop sample_azi_start sample_azi_stop noise_azi_lut swath Returns ------- geopandas.GeoDataframe noise range geometry. 'geometry' is the polygon where 'lut_f' is defined. attrs['type'] set to 'line' """ class Lut_box_azi: def __init__(self, sw, a, a_start, a_stop, x_start, x_stop, lut): self.lines = a self.samples = np.arange(x_start, x_stop + 1) self.area = box( max(0, a_start - 0.5), max(0, x_start - 0.5), a_stop + 0.5, x_stop + 0.5, ) if len(lut) > 1: self.lut_f = interp1d( a, lut, kind="linear", fill_value="extrapolate", assume_sorted=True, bounds_error=False, ) else: # not enought values to do interpolation # noise will be constant on this box! self.lut_f = lambda _a: lut def __call__(self, lines, samples): return np.tile(self.lut_f(lines), (samples.size, 1)).T blocks = [] ( swath, lines, line_start, line_stop, sample_start, sample_stop, noise_lut, ) = self.sar_meta.reader.get_noise_azi_initial_parameters(pol) for sw, a, a_start, a_stop, x_start, x_stop, lut in zip( swath, lines, line_start, line_stop, sample_start, sample_stop, noise_lut, ): lut_f = Lut_box_azi(sw, a, a_start, a_stop, x_start, x_stop, lut) block = pd.Series( dict([("lut_f", lut_f), ("geometry", lut_f.area)])) blocks.append(block) if len(blocks) == 0: # no azi noise (ipf < 2.9) or WV blocks.append( pd.Series( dict( [ ("lines", np.array([])), ("samples", np.array([])), ("lut_f", lambda a, x: 1), ("geometry", box(0, 0, 65535, 65535)), ] ) ) ) # arbitrary large box (bigger than whole image) # to geopandas blocks = pd.concat(blocks, axis=1).T blocks = gpd.GeoDataFrame(blocks) return _NoiseLut(blocks) def signal_lut(lut): lut_f = RectBivariateSpline(lut.line, lut.sample, lut, kx=1, ky=1) return lut_f # get the lut in metadata. Lut name must be in self._map_lut_files.keys() _get_lut_meta = { "sigma0_lut": self.sar_meta.get_calibration_luts.sigma0_lut, "gamma0_lut": self.sar_meta.get_calibration_luts.gamma0_lut, "noise_lut_range": self.sar_meta.get_noise_range_raw, "noise_lut_azi": self.sar_meta.get_noise_azi_raw, } # map the func to apply for each lut. Lut name must be in self._map_lut_files.keys() _map_func = { "sigma0_lut": signal_lut, "gamma0_lut": signal_lut, "noise_lut_range": noise_lut_range, "noise_lut_azi": noise_lut_azi, } luts_list = [] luts = None for lut_name in luts_names: raw_lut = _get_lut_meta[lut_name] for pol in raw_lut.pol.values: if self._vars_with_pol[lut_name]: name = "%s_%s" % (lut_name, pol) else: name = lut_name # get the lut function. As it takes some time to parse xml, make it delayed if lut_name == "noise_lut_azi": # noise_lut_azi doesn't need the raw_lut lut_f_delayed = dask.delayed(_map_func[lut_name])() else: lut_f_delayed = dask.delayed(_map_func[lut_name])( raw_lut.sel(pol=pol) ) lut = map_blocks_coords( self._da_tmpl.astype(self._dtypes[lut_name]), lut_f_delayed, name="blocks_%s" % name, ) # needs to add pol dim ? if self._vars_with_pol[lut_name]: lut = lut.assign_coords(pol=pol).expand_dims("pol") # set xml file and xpath used as history histo = raw_lut.attrs["history"] lut.name = lut_name if self._patch_variable: lut = self._patch_lut(lut) lut.attrs["history"] = histo lut = lut.to_dataset() luts_list.append(lut) luts = xr.combine_by_coords(luts_list) return luts @timing def _load_from_geoloc(self, varnames, lazy_loading=True): """ Interpolate (with RectBiVariateSpline) variables from `self.sar_meta.geoloc` to `self._dataset` Parameters ---------- varnames: list of str subset of variables names in `self.sar_meta.geoloc` Returns ------- xarray.Dataset With interpolated vaiables """ da_list = [] def interp_func_slc(vect1dazti, vect1dxtrac, **kwargs): """ Parameters ---------- vect1dazti (np.ndarray) : azimuth times at high resolution vect1dxtrac (np.ndarray): range coords Returns ------- """ # exterieur de boucle rbs = kwargs["rbs"] def wrapperfunc(*args, **kwargs): rbs2 = args[2] return rbs2(args[0], args[1], grid=False) return wrapperfunc( vect1dazti[:, np.newaxis], vect1dxtrac[np.newaxis, :], rbs ) for varname in varnames: varname_in_geoloc = mapping_dataset_geoloc[varname] if varname in ["azimuth_time"]: z_values = self.sar_meta.geoloc[varname_in_geoloc].astype( float) elif varname == "longitude": z_values = self.sar_meta.geoloc[varname_in_geoloc] if self.sar_meta.cross_antemeridian: logger.debug("translate longitudes between 0 and 360") z_values = z_values % 360 else: z_values = self.sar_meta.geoloc[varname_in_geoloc] if self.sar_meta._bursts["burst"].size != 0: # TOPS SLC rbs = RectBivariateSpline( self.sar_meta.geoloc.azimuthTime[:, 0].astype(float), self.sar_meta.geoloc.sample, z_values, kx=1, ky=1, ) interp_func = interp_func_slc else: rbs = None interp_func = RectBivariateSpline( self.sar_meta.geoloc.line, self.sar_meta.geoloc.sample, z_values, kx=1, ky=1, ) # the following take much cpu and memory, so we want to use dask # interp_func(self._dataset.line, self.dataset.sample) typee = self.sar_meta.geoloc[varname_in_geoloc].dtype if self.sar_meta._bursts["burst"].size != 0: datemplate = self._da_tmpl.astype(typee).copy() # replace the line coordinates by line_time coordinates datemplate = datemplate.assign_coords( {"line": datemplate.coords["line_time"]} ) if lazy_loading: da_var = map_blocks_coords( datemplate, interp_func, func_kwargs={"rbs": rbs} ) # put back the real line coordinates da_var = da_var.assign_coords( {"line": self._dataset.digital_number.line} ) else: line_time = self.get_burst_azitime XX, YY = np.meshgrid( line_time.astype( float), self._dataset.digital_number.sample ) da_var = rbs(XX, YY, grid=False) da_var = xr.DataArray( da_var.T, coords={ "line": self._dataset.digital_number.line, "sample": self._dataset.digital_number.sample, }, dims=["line", "sample"], ) else: if lazy_loading: da_var = map_blocks_coords( self._da_tmpl.astype(typee), interp_func) else: da_var = interp_func( self._dataset.digital_number.line, self._dataset.digital_number.sample, ) if varname == "longitude": if self.sar_meta.cross_antemeridian: da_var.data = da_var.data.map_blocks(to_lon180) da_var.name = varname # copy history try: da_var.attrs["history"] = self.sar_meta.geoloc[varname_in_geoloc].attrs[ "history" ] except KeyError: pass da_list.append(da_var) return xr.merge(da_list) def get_ll_from_SLC_geoloc(self, line, sample, varname): """ Parameters ---------- line (np.ndarray) : azimuth times at high resolution sample (np.ndarray): range coords varname (str): e.g. longitude , latitude , incidence (any variable that is given in geolocation grid annotations Returns ------- z_interp_value (np.ndarray): """ varname_in_geoloc = mapping_dataset_geoloc[varname] if varname in ["azimuth_time"]: z_values = self.sar_meta.geoloc[varname_in_geoloc].astype(float) elif varname == "longitude": z_values = self.sar_meta.geoloc[varname_in_geoloc] # if self.sar_meta.cross_antemeridian: # logger.debug('translate longitudes between 0 and 360') # z_values = z_values % 360 else: z_values = self.sar_meta.geoloc[varname_in_geoloc] if varname not in self.interpolation_func_slc: rbs = RectBivariateSpline( self.sar_meta.geoloc.azimuthTime[:, 0].astype(float), self.sar_meta.geoloc.sample, z_values, kx=1, ky=1, ) self.interpolation_func_slc[varname] = rbs line_time = self.get_burst_azitime line_az_times_values = line_time.values[line] z_interp_value = self.interpolation_func_slc[varname]( line_az_times_values, sample, grid=False ) return z_interp_value def _apply_calibration_lut(self, var_name): """ Apply calibration lut to `digital_number` to compute `var_name`. see https://sentinel.esa.int/web/sentinel/radiometric-calibration-of-level-1-products Parameters ---------- var_name: str Variable name to compute by applying lut. Must exist in `self._map_var_lut`` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `var_name` """ lut = self._get_lut(var_name) res = np.abs(self._dataset.digital_number) ** 2.0 / (lut**2) astype = self._dtypes.get(var_name) if astype is not None: res = res.astype(astype) res.attrs.update(lut.attrs) res.attrs["history"] = merge_yaml( [lut.attrs["history"]], section=var_name) res.attrs["references"] = ( "https://sentinel.esa.int/web/sentinel/radiometric-calibration-of-level-1-products" ) return res.to_dataset(name=var_name) def reverse_calibration_lut(self, var_name): """ ONLY MADE FOR GRD YET can't retrieve complex number for SLC Reverse the calibration Look Up Table (LUT) applied to `var_name` to retrieve the original digital number (DN). This is the inverse operation of `_apply_calibration_lut`. Refer to the official ESA documentation for more details on the radiometric calibration of Level-1 products: https://sentinel.esa.int/web/sentinel/radiometric-calibration-of-level-1-products Parameters ---------- var_name: str The variable name from which the LUT should be reversed to get 'digital_number'. The variable must exist in `self._map_var_lut`. Returns ------- xarray.Dataset A dataset with one variable named 'digital_number'. Raises ------ ValueErro If `var_name` does not have an associated LUT in `self._map_var_lut`. """ # Check if the variable has an associated LUT, raise ValueError if not if var_name not in self._map_var_lut: raise ValueError( f"Unable to find lut for var '{var_name}'. Allowed: {list(self._map_var_lut.keys())}" ) if self.sar_meta.product != "GRD": raise ValueError( "SAR product must be GRD. Not implemented for SLC") # Retrieve the variable data array and corresponding LUT da_var = self._dataset[var_name] lut = self._luts[self._map_var_lut[var_name]] # Interpolate the LUT to match the variable's coordinates lut = lut.interp(line=da_var.line, sample=da_var.sample) # Reverse the LUT application to compute the squared digital number dn2 = da_var * (lut**2) # Where the variable data array is NaN, set the squared digital number to 0 dn2 = xr.where(np.isnan(da_var), 0, dn2) # Apply square root to get the digital number dn = np.sqrt(dn2) # Check and warn if the dtype of the original 'digital_number' is not preserved if ( self._dataset.digital_number.dtype == np.complex_ and dn.dtype != np.complex_ ): warnings.warn( f"Unable to retrieve 'digital_number' as dtype '{self._dataset.digital_number.dtype}'. " f"Fallback to '{dn.dtype}'" ) # Create a dataset with the computed digital number name = "digital_number" ds = dn.to_dataset(name=name) return ds def _get_noise(self, var_name): """ Get noise equivalent for `var_name`. see https://sentinel.esa.int/web/sentinel/radiometric-calibration-of-level-1-products Parameters ---------- var_name: str Variable name to compute. Must exist in `self._map_var_lut` to be able to get the corresponding lut. Returns ------- xarray.Dataset with one variable named by `'ne%sz' % var_name[0]` (ie 'nesz' for 'sigma0', 'nebz' for 'beta0', etc...) """ noise_lut = self._luts["noise_lut"] lut = self._get_lut(var_name) dataarr = noise_lut / lut**2 name = "ne%sz" % var_name[0] astype = self._dtypes.get(name) if astype is not None: dataarr = dataarr.astype(astype) dataarr.attrs["history"] = merge_yaml( [lut.attrs["history"], noise_lut.attrs["history"]], section=name ) return dataarr.to_dataset(name=name) def _add_denoised(self, ds, clip=False, vars=None): """add denoised vars to dataset Parameters ---------- ds : xarray.DataSet dataset with non denoised vars, named `%s_raw`. clip : bool, optional If True, negative signal will be clipped to 0. (default to False ) vars : list, optional variables names to add, by default `['sigma0' , 'beta0' , 'gamma0']` Returns ------- xarray.DataSet dataset with denoised vars """ if vars is None: vars = ["sigma0", "beta0", "gamma0"] for varname in vars: varname_raw = varname + "_raw" noise = "ne%sz" % varname[0] if varname_raw not in ds: continue if all(self.sar_meta.denoised.values()): # already denoised, just add an alias ds[varname] = ds[varname_raw] elif len(set(self.sar_meta.denoised.values())) != 1: # TODO: to be implemented raise NotImplementedError( "semi denoised products not yet implemented") else: varname_raw_corrected = varname_raw + "__corrected" if (self.apply_recalibration) & ( varname_raw_corrected in self._dataset_recalibration.variables ): denoised = ( self._dataset_recalibration[varname_raw_corrected] - ds[noise] ) denoised.attrs["history"] = merge_yaml( [ds[varname_raw].attrs["history"], ds[noise].attrs["history"]], section=varname, ) denoised.attrs["comment_recalibration"] = ( "kersten recalibration applied" ) else: denoised = ds[varname_raw] - ds[noise] denoised.attrs["history"] = merge_yaml( [ds[varname_raw].attrs["history"], ds[noise].attrs["history"]], section=varname, ) denoised.attrs["comment_recalibration"] = ( "kersten recalibration not applied" ) if clip: denoised = denoised.clip(min=0) denoised.attrs["comment"] = "clipped, no values <0" else: denoised.attrs["comment"] = "not clipped, some values can be <0" ds[varname] = denoised return ds @property def get_burst_azitime(self): """ Get azimuth time at high resolution. Returns ------- xarray.DataArray the high resolution azimuth time vector interpolated at the middle of the sub-swath """ # azitime = self.sar_meta._burst_azitime() azitime = self._burst_azitime() iz = np.searchsorted(azitime.line, self._dataset.line) azitime = azitime.isel({"line": iz}) azitime = azitime.assign_coords({"line": self._dataset.line}) return azitime def get_sensor_velocity(self): """ Interpolated sensor velocity Returns ------- xarray.Dataset() containing a single variable velocity """ azimuth_times = self.get_burst_azitime orbstatevect = self.sar_meta.orbit azi_times = orbstatevect["time"].values velos = np.array( [ orbstatevect["velocity_x"] ** 2.0, orbstatevect["velocity_y"] ** 2.0, orbstatevect["velocity_z"] ** 2.0, ] ) vels = np.sqrt(np.sum(velos, axis=0)) interp_f = interp1d(azi_times.astype(float), vels) _vels = interp_f(azimuth_times.astype(float)) res = xr.DataArray(_vels, dims=["line"], coords={ "line": self.dataset.line}) return xr.Dataset({"velocity": res}) def _range_ground_spacing(self): """ Get SAR image range ground spacing. Parameters ---------- Returns ------- range_ground_spacing_vect : xarray.DataArray range ground spacing (sample coordinates) Notes ----- For GRD products is it the same same value along sample axis """ ground_spacing = np.array( [ self.sar_meta.image["azimuthPixelSpacing"], self.sar_meta.image["slantRangePixelSpacing"], ] ) if self.sar_meta.product == "SLC": line_tmp = self._dataset["line"] # get the incidence at the middle of line dimension of the part of image selected inc = self._dataset["incidence"].isel( { "line": int(len(line_tmp) / 2), } ) range_ground_spacing_vect = ground_spacing[1] / \ np.sin(np.radians(inc)) range_ground_spacing_vect.attrs["history"] = "" else: # GRD valuess = np.ones( (len(self._dataset["sample"]))) * ground_spacing[1] range_ground_spacing_vect = xr.DataArray( valuess, coords={"sample": self._dataset["sample"]}, dims=["sample"] ) return xr.Dataset({"range_ground_spacing": range_ground_spacing_vect}) def __repr__(self): if self.sliced: intro = "sliced" else: intro = "full coverage" return "" % intro def _repr_mimebundle_(self, include=None, exclude=None): return repr_mimebundle(self, include=include, exclude=exclude) def _burst_azitime(self): """ Get azimuth time at high resolution on the full image shape Returns ------- np.ndarray the high resolution azimuth time vector interpolated at the midle of the subswath """ line = np.arange(0, self.sar_meta.image["numberOfLines"]) # line = np.arange(0,self.datatree.attrs['numberOfLines']) if self.sar_meta.product == "SLC" and "WV" not in self.sar_meta.swath: # if self.datatree.attrs['product'] == 'SLC' and 'WV' not in self.datatree.attrs['swath']: azi_time_int = self.sar_meta.image["azimuthTimeInterval"] # azi_time_int = self.datatree.attrs['azimuthTimeInterval'] # turn this interval float/seconds into timedelta/picoseconds azi_time_int = np.timedelta64(int(azi_time_int * 1e12), "ps") ind, geoloc_azitime, geoloc_iburst, geoloc_line = self._get_indices_bursts() # compute the azimuth time by adding a step function (first term) and a growing term (second term) azitime = geoloc_azitime[ind] + ( line - geoloc_line[ind] ) * azi_time_int.astype(" 3: # windows might have semicolon in path ('c:\...') name_parts[1] = ":".join(name_parts[1:-1]) del name_parts[2:-1] name_parts[1] = os.path.basename(name_parts[1]) self.short_name = ":".join(name_parts) """Like name, but without path""" self.path = ":".join(self.name.split(":")[1:-1]) """Dataset path""" self.safe = os.path.basename(self.path) """Safe file name""" # there is no information on resolution 'F' 'H' or 'M' in the manifest, so we have to extract it from filename try: self.product = os.path.basename(self.path).split("_")[2] except ValueError: print("path: %s" % self.path) self.product = "XXX" """Product type, like 'GRDH', 'SLC', etc ..""" self.dt = self.reader.datatree self.manifest_attrs = self.reader.manifest_attrs for attr in ['aux_cal', 'aux_pp1', 'aux_ins']: if attr not in self.manifest_attrs: self.manifest_attrs[attr] = None else: self.manifest_attrs[attr] = os.path.basename( self.manifest_attrs[attr]) self.multidataset = False """True if multi dataset""" self.subdatasets = gpd.GeoDataFrame(geometry=[], index=[]) """Subdatasets as GeodataFrame (empty if single dataset)""" datasets_names = self.reader.datasets_names self.xsd_definitions = self.reader.get_annotation_definitions() if self.name.endswith(":") and len(datasets_names) == 1: self.name = datasets_names[0] self.dsid = self.name.split(":")[-1] """Dataset identifier (like 'WV_001', 'IW1', 'IW'), or empty string for multidataset""" # submeta is a list of submeta objects if multidataset and TOPS # this list will remain empty for _WV__SLC because it will be time-consuming to process them self._submeta = [] if self.short_name.endswith(":"): self.short_name = self.short_name + self.dsid if self.reader.files.empty: try: self.subdatasets = gpd.GeoDataFrame( geometry=self.manifest_attrs["footprints"], index=datasets_names ) except ValueError: # not as many footprints than subdatasets count. (probably TOPS product) self._submeta = [Sentinel1Meta(subds) for subds in datasets_names] sub_footprints = [ submeta.footprint for submeta in self._submeta] self.subdatasets = gpd.GeoDataFrame( geometry=sub_footprints, index=datasets_names ) self.multidataset = True self.platform = ( self.manifest_attrs["mission"] + self.manifest_attrs["satellite"] ) """Mission platform""" self._time_range = None for name, feature in self.__class__._mask_features_raw.items(): self.set_mask_feature(name, feature) """pandas dataframe for rasters (see `xsar.Sentinel1Meta.set_raster`)""" def __del__(self): logger.debug("__del__") def have_child(self, name): """ Check if dataset `name` belong to this Sentinel1Meta object. Parameters ---------- name: str dataset name Returns ------- bool """ return name == self.name or name in self.subdatasets.index def _get_time_range(self): if self.multidataset: time_range = [ self.manifest_attrs["start_date"], self.manifest_attrs["stop_date"], ] else: time_range = self.reader.time_range return pd.Interval( left=pd.Timestamp(time_range[0]), right=pd.Timestamp(time_range[-1]), closed="both", ) def to_dict(self, keys="minimal"): info_keys = {"minimal": [ "ipf_version", "platform", "swath", "product", "pols"]} info_keys["all"] = info_keys["minimal"] + [ "name", "start_date", "stop_date", "footprint", "coverage", "orbit_pass", "platform_heading", "icid", "aux_cal", "aux_pp1", "aux_ins", ] # 'pixel_line_m', 'pixel_sample_m', if isinstance(keys, str): keys = info_keys[keys] res_dict = {} for k in keys: if hasattr(self, k): res_dict[k] = getattr(self, k) elif k in self.manifest_attrs.keys(): res_dict[k] = self.manifest_attrs[k] else: raise KeyError( 'Unable to find key/attr "%s" in Sentinel1Meta' % k) return res_dict def annotation_angle(self, line, sample, angle): """Interpolate angle with RectBivariateSpline""" lut = angle.reshape(line.size, sample.size) lut_f = RectBivariateSpline(line, sample, lut, kx=1, ky=1) return lut_f @property def orbit_pass(self): """ Orbit pass, i.e 'Ascending' or 'Descending' """ if self.multidataset: return None # not defined for multidataset return self.orbit.attrs["orbit_pass"] @property def platform_heading(self): """ Platform heading, relative to north """ if self.multidataset: return None # not defined for multidataset return self.orbit.attrs["platform_heading"] @property def rio(self): raise DeprecationWarning( "Sentinel1Meta.rio is deprecated. " 'Use `rasterio.open` on files in `Sentinel1Meta..files["measurement"] instead`' ) @property def footprint(self): """footprint, as a shapely polygon or multi polygon""" if self.multidataset: return unary_union(self._footprints) return self.geoloc.attrs["footprint"] @property def geometry(self): """alias for footprint""" return self.footprint @property def geoloc(self): """ xarray.Dataset with `['longitude', 'latitude', 'altitude', 'azimuth_time', 'slant_range_time','incidence','elevation' ]` variables and `['line', 'sample']` coordinates, at the geolocation grid """ if self.multidataset: raise TypeError("geolocation_grid not available for multidataset") if self._geoloc is None: self._geoloc = self.dt["geolocationGrid"].to_dataset() self._geoloc.attrs = {} # compute attributes (footprint, coverage, pixel_size) footprint_dict = {} for ll in ["longitude", "latitude"]: footprint_dict[ll] = [ self._geoloc[ll].isel(line=a, sample=x).values for a, x in [(0, 0), (0, -1), (-1, -1), (-1, 0)] ] corners = list( zip(footprint_dict["longitude"], footprint_dict["latitude"])) p = Polygon(corners) self._geoloc.attrs["footprint"] = p # compute acquisition size/resolution in meters # first vector is on sample acq_sample_meters, _ = haversine(*corners[0], *corners[1]) # second vector is on line acq_line_meters, _ = haversine(*corners[1], *corners[2]) self._geoloc.attrs["coverage"] = "%dkm * %dkm (line * sample )" % ( acq_line_meters / 1000, acq_sample_meters / 1000, ) # compute self._geoloc.attrs['approx_transform'], from gcps # we need to convert self._geoloc to a list of GroundControlPoint def _to_rio_gcp(pt_geoloc): # convert a point from self._geoloc grid to rasterio GroundControlPoint return GroundControlPoint( x=pt_geoloc.longitude.item(), y=pt_geoloc.latitude.item(), z=pt_geoloc.height.item(), col=pt_geoloc.line.item(), row=pt_geoloc.sample.item(), ) gcps = [ _to_rio_gcp(self._geoloc.sel(line=line, sample=sample)) for line in self._geoloc.line for sample in self._geoloc.sample ] # approx transform, from all gcps (inaccurate) self._geoloc.attrs["approx_transform"] = rasterio.transform.from_gcps( gcps) for vv in self._geoloc: if vv in self.xsd_definitions: self._geoloc[vv].attrs["definition"] = str( self.xsd_definitions[vv]) return self._geoloc @property def _footprints(self): """footprints as list. should len 1 for single meta, or len(self.subdatasets) for multi meta""" return self.manifest_attrs["footprints"] @property def coverage(self): """coverage, as a string like '251km * 170km (sample * line )'""" if self.multidataset: return None # not defined for multidataset return self.geoloc.attrs["coverage"] @property def pixel_line_m(self): """pixel line spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.image["azimuthPixelSpacing"] return res @property def pixel_sample_m(self): """pixel sample spacing, in meters (at sensor level)""" if self.multidataset: res = None # not defined for multidataset else: res = self.image["groundRangePixelSpacing"] return res @property def denoised(self): """dict with pol as key, and bool as values (True is DN is predenoised at L1 level)""" return self.reader.denoised @property def ipf_version(self): """ipf version""" return self.manifest_attrs["ipf_version"] @property def pols(self): """polarisations strings, separated by spaces""" return " ".join(self.manifest_attrs["polarizations"]) @property def orbit(self): """ orbit, as a geopandas.GeoDataFrame, with columns: - 'velocity' : shapely.geometry.Point with velocity in x, y, z direction - 'geometry' : shapely.geometry.Point with position in x, y, z direction crs is set to 'geocentric' attrs keys: - 'orbit_pass': 'Ascending' or 'Descending' - 'platform_heading': in degrees, relative to north Notes ----- orbit is longer than the SAFE, because it belongs to all datatakes, not only this slice """ return self.dt["orbit"].to_dataset() @property def image(self) -> xarray.Dataset: return self.dt["image"].to_dataset() @property def azimuth_fmrate(self): """ xarray.Dataset Frequency Modulation rate annotations such as t0 (azimuth time reference) and polynomial coefficients: Azimuth FM rate = c0 + c1(tSR - t0) + c2(tSR - t0)^2 """ return self.dt["azimuth_fmrate"].to_dataset() @property def _dict_coords2ll(self): """ dict with keys ['longitude', 'latitude'] with interpolation function (RectBivariateSpline) as values. Examples: --------- get longitude at line=100 and sample=200: ``` >>> self._dict_coords2ll["longitude"].ev(100, 200) array(-66.43947434) ``` Notes: ------ if self.cross_antemeridian is True, 'longitude' will be in range [0, 360] """ resdict = {} geoloc = self.geoloc if self.cross_antemeridian: geoloc["longitude"] = geoloc["longitude"] % 360 idx_sample = np.array(geoloc.sample) idx_line = np.array(geoloc.line) for ll in ["longitude", "latitude"]: resdict[ll] = RectBivariateSpline( idx_line, idx_sample, np.asarray(geoloc[ll]), kx=1, ky=1 ) return resdict @property def _bursts(self): return self.dt["bursts"].to_dataset() @property def approx_transform(self): """ Affine transfom from geoloc. This is an inaccurate transform, with errors up to 600 meters. But it's fast, and may fit some needs, because the error is stable localy. See `xsar.BaseMeta.coords2ll` `xsar.BaseMeta.ll2coords` for accurate methods. Examples -------- get `longitude` and `latitude` from tuple `(line, sample)`: >>> longitude, latitude = self.approx_transform * (line, sample) get `line` and `sample` from tuple `(longitude, latitude)` >>> line, sample = ~self.approx_transform * (longitude, latitude) See Also -------- xsar.BaseMeta.coords2ll xsar.BaseMeta.ll2coords xsar.BaseMeta.coords2ll xsar.BaseMeta.ll2coords """ return self.geoloc.attrs["approx_transform"] def __repr__(self): if self.multidataset: meta_type = "multi (%d)" % len(self.subdatasets) else: meta_type = "single" return "" % meta_type def _repr_mimebundle_(self, include=None, exclude=None): return repr_mimebundle(self, include=include, exclude=exclude) def __reduce__(self): # make self serializable with pickle # https://docs.python.org/3/library/pickle.html#object.__reduce__ return self.__class__, (self.name,), self.dict @property def _doppler_estimate(self): """ xarray.Dataset with Doppler Centroid Estimates from annotations such as geo_polynom,data_polynom or frequency """ return self.dt["doppler_estimate"].to_dataset() @property def get_calibration_luts(self): """ get original (ie not interpolation) xr.Dataset sigma0 and gamma0 Look Up Tables to apply calibration """ return self.dt["calibration_luts"].to_dataset() @property def get_noise_azi_raw(self): return self.dt["noise_azimuth_raw"].to_dataset() @property def get_noise_range_raw(self): return self.dt["noise_range_raw"].to_dataset() @property def get_antenna_pattern(self): return self.dt["antenna_pattern"].to_dataset() @property def get_swath_merging(self): return self.dt["swath_merging"].to_dataset() xsar-2025.03.07/src/xsar/utils.py000066400000000000000000000664711476257143200163760ustar00rootroot00000000000000"""miscellaneous functions""" import warnings import time import os import numpy as np import logging from scipy.interpolate import griddata import xarray as xr import dask from dask.distributed import get_client from functools import wraps, partial import rasterio import shutil import glob import re import datetime import string import pytz import yaml from importlib.resources import files from pathlib import Path import fsspec import aiohttp from lxml import objectify logger = logging.getLogger("xsar.utils") logger.addHandler(logging.NullHandler()) mem_monitor = True try: from psutil import Process except ImportError: logger.warning("psutil module not found. Disabling memory monitor") mem_monitor = False def _load_config(): """ load config from default xsar/config.yml file or user ~/.xsar/config.yml Returns ------- dict """ user_config_file = Path("~/.xsar/config.yml").expanduser() default_config_file = files("xsar").joinpath("config.yml") if user_config_file.exists(): config_file = user_config_file else: config_file = default_config_file config = yaml.load(config_file.open(), Loader=yaml.FullLoader) return config global config config = _load_config() class bind(partial): """ An improved version of partial which accepts Ellipsis (...) as a placeholder https://stackoverflow.com/a/66274908 """ def __call__(self, *args, **keywords): keywords = {**self.keywords, **keywords} iargs = iter(args) args = (next(iargs) if arg is ... else arg for arg in self.args) return self.func(*args, *iargs, **keywords) class class_or_instancemethod(classmethod): # see https://stackoverflow.com/a/28238047/5988771 def __get__(self, instance, type_): descr_get = super().__get__ if instance is None else self.__func__.__get__ return descr_get(instance, type_) def timing(f): """provide a @timing decorator for functions, that log time spent in it""" @wraps(f) def wrapper(*args, **kwargs): mem_str = "" process = None if mem_monitor: process = Process(os.getpid()) startrss = process.memory_info().rss starttime = time.time() result = f(*args, **kwargs) endtime = time.time() if mem_monitor: endrss = process.memory_info().rss mem_str = "mem: %+.1fMb" % ((endrss - startrss) / (1024**2)) logger.debug( "timing %s : %.2fs. %s" % ( f.__name__, endtime - starttime, mem_str) ) return result return wrapper def to_lon180(lon): """ Parameters ---------- lon: array_like of float, or float longitudes in [0, 360] range Returns ------- array_like, or float longitude in [-180, 180] range """ change = lon > 180 try: lon[change] = lon[change] - 360 except TypeError: # scalar input if change: lon = lon - 360 return lon def haversine(lon1, lat1, lon2, lat2): """ Compute distance in meters, and bearing in degrees from point1 to point2, assuming spherical earth. Parameters ---------- lon1: float lat1: float lon2: float lat2: float Returns ------- tuple(float, float) distance in meters, and bearing in degrees """ # convert decimal degrees to radians lon1, lat1, lon2, lat2 = map(np.radians, [lon1, lat1, lon2, lat2]) # haversine formula dlon = lon2 - lon1 dlat = lat2 - lat1 a = np.sin(dlat / 2) ** 2 + np.cos(lat1) * \ np.cos(lat2) * np.sin(dlon / 2) ** 2 c = 2 * np.arcsin(np.sqrt(a)) r = 6371000 # Radius of earth in meters. bearing = np.arctan2( np.sin(lon2 - lon1) * np.cos(lat2), np.cos(lat1) * np.sin(lat2) - np.sin(lat1) * np.cos(lat2) * np.cos(lon2 - lon1), ) return c * r, np.rad2deg(bearing) def minigrid(x, y, z, method="linear", dims=["x", "y"]): """ Parameters ---------- x: 1D array_like x coordinates y: 1D array_like y coodinate z: 1D array_like value at [x, y] coordinates method: str default to 'linear'. passed to `scipy.interpolate.griddata` dims: list of str dimensions names for returned dataarray. default to `['x', 'y']` Returns ------- xarray.DataArray 2D grid of `z` interpolated values, with 1D coordinates `x` and `y`. """ x_u = np.unique(np.sort(x)) y_u = np.unique(np.sort(y)) xx, yy = np.meshgrid(x_u, y_u, indexing="ij") ngrid = griddata((x, y), z, (xx, yy), method=method) return xr.DataArray(ngrid, dims=dims, coords={dims[0]: x_u, dims[1]: y_u}) def map_blocks_coords(da, func, func_kwargs={}, **kwargs): """ like `dask.map_blocks`, but `func` parameters are dimensions coordinates belonging to the block. Parameters ---------- da: xarray.DataArray template (meta) of the output dataarray, with dask chunks, dimensions, coordinates and dtype func: function or future function that take gridded `numpy.array` atrack and xtrack, and return a `numpy.array`. (see `_evaluate_from_coords`) kwargs: dict passed to dask.array.map_blocks Returns ------- xarray.DataArray dataarray with same coords/dims as self from `func(*dims)`. """ def _evaluate_from_coords(block, f, coords, block_info=None, dtype=None): """ evaluate 'f(x_coords,y_coords,...)' with x_coords, y_coords, ... extracted from dims Parameters ---------- coords: iterable of numpy.array coordinates for each dimension block block: numpy.array the current block in the dataarray f: function function to evaluate with 'func(atracks_grid, xtracks_grid)' block_info: dict provided by 'xarray.DataArray.map_blocks', and used to get block location. Returns ------- numpy.array result from 'f(*coords_sel)', where coords_sel are dimension coordinates for each dimensions Notes ----- block values are not used. Unless manualy providing block_info, this function should be called from 'xarray.DataArray.map_blocks' with coords preset with functools.partial """ # get loc ((dim_0_start,dim_0_stop),(dim_1_start,dim_1_stop),...) try: loc = block_info[None]["array-location"] except TypeError: # map_blocks is feeding us some dummy block data to check output type and shape # so we juste generate dummy coords to be able to call f # (Note : dummy coords are 0 sized if dummy block is empty) loc = tuple(zip((0,) * len(block.shape), block.shape)) # use loc to get corresponding coordinates coords_sel = tuple(c[loc[i][0]: loc[i][1]] for i, c in enumerate(coords)) result = f(*coords_sel, **func_kwargs) if dtype is not None: result = result.astype(dtype) return result coords = {c: da[c].values for c in da.dims} if "name" not in kwargs: kwargs["name"] = dask.utils.funcname(func) meta = da.data dtype = meta.dtype from_coords = bind(_evaluate_from_coords, ..., ..., coords.values(), dtype=dtype) daskarr = meta.map_blocks(from_coords, func, meta=meta, **kwargs) dataarr = xr.DataArray(daskarr, dims=da.dims, coords=coords) return dataarr def bbox_coords(xs, ys, pad="extends"): """ [(xs[0]-padx, ys[0]-pady), (xs[0]-padx, ys[-1]+pady), (xs[-1]+padx, ys[-1]+pady), (xs[-1]+padx, ys[0]-pady)] where padx and pady are xs and ys spacing/2 """ bbox_norm = [(0, 0), (0, -1), (-1, -1), (-1, 0)] if pad == "extends": xdiff, ydiff = [np.unique(np.diff(d))[0] for d in (xs, ys)] xpad = (-xdiff / 2, xdiff / 2) ypad = (-ydiff / 2, ydiff / 2) elif pad is None: xpad = (0, 0) ypad = (0, 0) else: xpad = (-pad[0], pad[0]) ypad = (-pad[1], pad[1]) # use apad and xpad to get surrounding box bbox_ext = [(xs[x] + xpad[x], ys[y] + ypad[y]) for x, y in bbox_norm] return bbox_ext def compress_safe( safe_path_in, safe_path_out, product="S1", smooth=0, rasterio_kwargs={"compress": "zstd"}, ): """ Parameters ---------- safe_path_in: str input SAFE path safe_path_out: str output SAFE path (be warned to keep good nomenclature) rasterio_kwargs: dict passed to rasterio.open Returns ------- str wrotten output path """ safe_path_out_tmp = safe_path_out + ".tmp" if os.path.exists(safe_path_out): raise FileExistsError("%s already exists" % safe_path_out) try: shutil.rmtree(safe_path_out_tmp) except IOError: pass os.mkdir(safe_path_out_tmp) if "S1" in product: shutil.copytree(safe_path_in + "/annotation", safe_path_out_tmp + "/annotation") shutil.copyfile( safe_path_in + "/manifest.safe", safe_path_out_tmp + "/manifest.safe" ) os.mkdir(safe_path_out_tmp + "/measurement") for tiff_file in glob.glob(os.path.join(safe_path_in, "measurement", "*.tiff")): src = rasterio.open(tiff_file) open_kwargs = src.profile open_kwargs.update(rasterio_kwargs) gcps, crs = src.gcps open_kwargs["gcps"] = gcps open_kwargs["crs"] = crs if smooth > 1: reduced = xr.DataArray( src.read( 1, out_shape=(src.height // smooth, src.width // smooth), resampling=rasterio.enums.Resampling.rms, ) ) mean = reduced.mean().item() if not isinstance(mean, complex) and mean < 1: raise RuntimeError( "rasterio returned empty band. Try to use smallest smooth size" ) reduced = reduced.assign_coords( dim_0=reduced.dim_0 * smooth + smooth / 2, dim_1=reduced.dim_1 * smooth + smooth / 2, ) band = reduced.interp( dim_0=np.arange(src.height), dim_1=np.arange(src.width), method="nearest", ) try: # convert to original datatype if possible band = band.values.astype(src.dtypes[0]) except TypeError: pass else: band = src.read(1) with rasterio.open( safe_path_out_tmp + "/measurement/" + os.path.basename(tiff_file), "w", **open_kwargs, ) as dst: dst.write(band, 1) elif "RCM" in product: shutil.copytree(safe_path_in + "/metadata", safe_path_out_tmp + "/metadata") shutil.copytree(safe_path_in + "/support", safe_path_out_tmp + "/support") shutil.copyfile( safe_path_in + "/manifest.safe", safe_path_out_tmp + "/manifest.safe" ) os.mkdir(safe_path_out_tmp + "/imagery") for tiff_file in glob.glob(os.path.join(safe_path_in, "imagery", "*.tif")): src = rasterio.open(tiff_file) open_kwargs = src.profile open_kwargs.update(rasterio_kwargs) gcps, crs = src.gcps open_kwargs["gcps"] = gcps open_kwargs["crs"] = crs if smooth > 1: reduced = xr.DataArray( src.read( 1, out_shape=(src.height // smooth, src.width // smooth), resampling=rasterio.enums.Resampling.rms, ) ) mean = reduced.mean().item() if not isinstance(mean, complex) and mean < 1: raise RuntimeError( "rasterio returned empty band. Try to use smallest smooth size" ) reduced = reduced.assign_coords( dim_0=reduced.dim_0 * smooth + smooth / 2, dim_1=reduced.dim_1 * smooth + smooth / 2, ) band = reduced.interp( dim_0=np.arange(src.height), dim_1=np.arange(src.width), method="nearest", ) try: # convert to original datatype if possible band = band.values.astype(src.dtypes[0]) except TypeError: pass else: band = src.read(1) with rasterio.open( safe_path_out_tmp + "/imagery/" + os.path.basename(tiff_file), "w", **open_kwargs, ) as dst: dst.write(band, 1) elif "RS2" in product: shutil.copytree(safe_path_in + "/schemas", safe_path_out_tmp + "/schemas") for xml_file in glob.glob(os.path.join(safe_path_in, "*.xml")): shutil.copyfile( xml_file, os.path.join( safe_path_out_tmp, os.path.basename(xml_file)) ) for tiff_file in glob.glob(os.path.join(safe_path_in, "*.tif")): src = rasterio.open(tiff_file) open_kwargs = src.profile open_kwargs.update(rasterio_kwargs) gcps, crs = src.gcps open_kwargs["gcps"] = gcps open_kwargs["crs"] = crs if smooth > 1: reduced = xr.DataArray( src.read( 1, out_shape=(src.height // smooth, src.width // smooth), resampling=rasterio.enums.Resampling.rms, ) ) mean = reduced.mean().item() if not isinstance(mean, complex) and mean < 1: raise RuntimeError( "rasterio returned empty band. Try to use smallest smooth size" ) reduced = reduced.assign_coords( dim_0=reduced.dim_0 * smooth + smooth / 2, dim_1=reduced.dim_1 * smooth + smooth / 2, ) band = reduced.interp( dim_0=np.arange(src.height), dim_1=np.arange(src.width), method="nearest", ) try: # convert to original datatype if possible band = band.values.astype(src.dtypes[0]) except TypeError: pass else: band = src.read(1) with rasterio.open( os.path.join(safe_path_out_tmp, os.path.basename(tiff_file)), "w", **open_kwargs, ) as dst: dst.write(band, 1) os.rename(safe_path_out_tmp, safe_path_out) return safe_path_out class BlockingActorProxy: # http://distributed.dask.org/en/stable/actors.html # like dask Actor, but no need to do .result() on methods # so the resulting instance is usable like the proxied instance def __init__(self, cls, *args, actor=True, **kwargs): # the class to be proxied (ie Sentinel1Meta) self._cls = cls self._actor = None # save for unpickling self._args = args self._kwargs = kwargs self._dask_client = None if actor is True: try: self._dask_client = get_client() except ValueError: logger.info( "BlockingActorProxy: Transparent proxy for %s" % self._cls.__name__ ) elif isinstance(actor, dask.distributed.actor.Actor): logger.debug("BlockingActorProxy: Reusing existing actor") self._actor = actor if self._dask_client is not None: logger.debug("submit new actor") self._actor_future = self._dask_client.submit( self._cls, *args, **kwargs, actors=True ) self._actor = self._actor_future.result() elif self._actor is None: # transparent proxy: no future self._actor = self._cls(*args, **kwargs) def __repr__(self): return f"" def __dir__(self): o = set(dir(type(self))) o.update(attr for attr in dir(self._cls) if not attr.startswith("_")) return sorted(o) def __getattr__(self, key): attr = getattr(self._actor, key) if not callable(attr): return attr else: @wraps(attr) def func(*args, **kwargs): res = attr(*args, **kwargs) if isinstance(res, dask.distributed.ActorFuture): return res.result() else: # transparent proxy return res return func def __reduce__(self): # make self serializable with pickle # https://docs.python.org/3/library/pickle.html#object.__reduce__ kwargs = self._kwargs kwargs["actor"] = self._actor return partial(BlockingActorProxy, **kwargs), (self._cls, *self._args) def merge_yaml(yaml_strings_list, section=None): # merge a list of yaml strings in one string dict_like = yaml.safe_load("\n".join(yaml_strings_list)) if section is not None: dict_like = {section: dict_like} return yaml.safe_dump(dict_like) def get_glob(strlist): # from list of str, replace diff by '?' def _get_glob(st): stglob = "".join( [ "?" if len(charlist) > 1 else charlist[0] for charlist in [list(set(charset)) for charset in zip(*st)] ] ) return re.sub(r"\?+", "*", stglob) strglob = _get_glob(strlist) if strglob.endswith("*"): strglob += _get_glob(s[::-1] for s in strlist)[::-1] strglob = strglob.replace("**", "*") return strglob def safe_dir(filename, path=".", only_exists=False): """ get dir path from safe filename. Parameters ---------- filename: str SAFE filename, with no dir, and valid nomenclature path: str or list of str path template only_exists: bool if True and path doesn't exists, return None. if False, return last path found Examples -------- For datarmor at ifremer, path template should be: '/home/datawork-cersat-public/cache/project/mpc-sentinel1/data/esa/${longmissionid}/L${LEVEL}/${BEAM}/${MISSIONID}_${BEAM}_${PRODUCT}${RESOLUTION}_${LEVEL}${CLASS}/${year}/${doy}/${SAFE}' For creodias, it should be: '/eodata/Sentinel-1/SAR/${PRODUCT}/${year}/${month}/${day}/${SAFE}' Returns ------- str path from template """ # this function is shared between sentinelrequest and xsar if "S1" in filename: regex = re.compile( "(...)_(..)_(...)(.)_(.)(.)(..)_(........T......)_(........T......)_(......)_(......)_(....).SAFE" ) template = string.Template( "${MISSIONID}_${BEAM}_${PRODUCT}${RESOLUTION}_${LEVEL}${CLASS}${POL}_${STARTDATE}_${STOPDATE}_${ORBIT}_${TAKEID}_${PRODID}.SAFE" ) elif "S2" in filename: # S2B_MSIL1C_20211026T094029_N0301_R036_T33SWU_20211026T115128.SAFE # YYYYMMDDHHMMSS: the datatake sensing start time # Nxxyy: the PDGS Processing Baseline number (e.g. N0204) # ROOO: Relative Orbit number (R001 - R143) # Txxxxx: Tile Number field* # second date if product discriminator regex = re.compile( "(...)_(MSI)(...)_(........T......)_N(....)_R(...)_T(.....)_(........T......).SAFE" ) template = string.Template( "${MISSIONID}_${PRODUCT}${LEVEL}_${STARTDATE}_${PROCESSINGBL}_${ORBIT}_${TIlE}_${PRODID}.SAFE" ) else: raise Exception("mission not handle") regroups = re.search(regex, filename) tags = {} for itag, tag in enumerate( re.findall(r"\$\{([\w]+)\}", template.template), start=1 ): tags[tag] = regroups.group(itag) startdate = datetime.datetime.strptime(tags["STARTDATE"], "%Y%m%dT%H%M%S").replace( tzinfo=pytz.UTC ) tags["SAFE"] = regroups.group(0) tags["missionid"] = tags["MISSIONID"][ 1:3 ].lower() # should be replaced by tags["MISSIONID"].lower() tags["longmissionid"] = "sentinel-%s" % tags["MISSIONID"][1:3].lower() tags["year"] = startdate.strftime("%Y") tags["month"] = startdate.strftime("%m") tags["day"] = startdate.strftime("%d") tags["doy"] = startdate.strftime("%j") if isinstance(path, str): path = [path] filepath = None for p in path: # deprecation warnings (see https://github.com/oarcher/sentinelrequest/issues/4) if "{missionid}" in p: warnings.warn( "{missionid} tag is deprecated. Update your path template to use {longmissionid}" ) filepath = string.Template(p).substitute(tags) if not filepath.endswith(filename): filepath = os.path.join(filepath, filename) if only_exists: if not os.path.isfile(os.path.join(filepath, "manifest.safe")): filepath = None else: # a path was found. Stop iterating over path list break return filepath def url_get(url, cache_dir=os.path.join(config["data_dir"], "fsspec_cache")): """ Get fil from url, using caching. Parameters ---------- url: str cache_dir: str Cache dir to use. default to `os.path.join(config['data_dir'], 'fsspec_cache')` Raises ------ FileNotFoundError Returns ------- filename: str The local file name Notes ----- Due to fsspec, the returned filename won't match the remote one. """ if "://" in url: with fsspec.open( "filecache::%s" % url, https={"client_kwargs": { "timeout": aiohttp.ClientTimeout(total=3600)}}, filecache={ "cache_storage": os.path.join( os.path.join(config["data_dir"], "fsspec_cache") ) }, ) as f: fname = f.name else: fname = url return fname def get_geap_gains(path_aux_cal, mode, pols): """ Find gains Geap associated with mode product and slice number from AUX_CAL. DOC : `https://sentinel.esa.int/documents/247904/1877131/DI-MPC-PB-0241-3-10_Sentinel-1IPFAuxiliaryProductSpecification.pdf/ae025687-c3e3-6ab0-de8d-d9cf58657431?t=1669115416469` Parameters ---------- path_aux_cal: str mode: str "IW" for example. pols : list ["VV","VH"] for example; Returns ---------- dict return a dict for the given (mode+pols). this dictionnary contains a dict with offboresight angle values and associated gains values """ with open(path_aux_cal, "rb") as file: xml = file.read() root_aux = objectify.fromstring(xml) dict_gains = {} for calibrationParams in root_aux.calibrationParamsList.getchildren(): swath = calibrationParams.swath polarisation = calibrationParams.polarisation if mode in swath.text and polarisation in pols: dict_temp = {} increment = ( calibrationParams.elevationAntennaPattern.elevationAngleIncrement ) valuesIQ = np.array( [ float(e) for e in calibrationParams.elevationAntennaPattern[ "values" ].text.split(" ") ] ) if valuesIQ.size == 1202: gain = np.sqrt(valuesIQ[::2] ** 2 + valuesIQ[1::2] ** 2) elif valuesIQ.size == 601: gain = 10 ** (valuesIQ / 10) else: raise ValueError( "valuesIQ must be of size 601 (float) or 1202 (complex)" ) # gain = np.sqrt(valuesIQ[::2]**2+valuesIQ[1::2]**2) count = gain.size ang = np.linspace( -((count - 1) / 2) * increment, ((count - 1) / 2) * increment, count ) dict_temp["offboresightAngle"] = ang dict_temp["gain"] = gain dict_gains[swath + "_" + polarisation] = dict_temp return dict_gains def get_gproc_gains(path_aux_pp1, mode, product): """ Find gains Gproc associated with mode product and slice number from AUX_PP1. DOC : `https://sentinel.esa.int/documents/247904/1877131/DI-MPC-PB-0241-3-10_Sentinel-1IPFAuxiliaryProductSpecification.pdf/ae025687-c3e3-6ab0-de8d-d9cf58657431?t=1669115416469` Parameters ---------- path_aux_pp1: str Returns ---------- dict return a dict of 4 linear gain values for each (mode+product_type+slice_number) in this order : Gproc_HH, Gproc_HV, Gproc_VV, Gproc_VH """ # Parse the XML file with open(path_aux_pp1, "rb") as file: xml = file.read() root_pp1 = objectify.fromstring(xml) dict_gains = {} for prd in root_pp1.productList.getchildren(): for swathParams in prd.slcProcParams.swathParamsList.getchildren(): if mode in swathParams.swath.text and product in prd.productId.text: gains = [float(g) for g in swathParams.gain.text.split(" ")] key = swathParams.swath dict_gains[key] = gains return dict_gains def get_path_aux_cal(aux_cal_name): """ Get full path to AUX_CAL file. Parameters ---------- aux_cal_name: str name of the AUX_CAL file Returns ------- str full path to the AUX_CAL file """ path = os.path.join( config["auxiliary_dir"], aux_cal_name[0:3] + "_AUX_CAL", aux_cal_name, "data", aux_cal_name[0:3].lower() + "-aux-cal.xml", ) if not os.path.isfile(path): raise FileNotFoundError(f"File doesn't exist: {path}") return path def get_path_aux_pp1(aux_pp1_name): """ Get full path to AUX_PP1 file. Parameters ---------- aux_pp1_name: str name of the AUX_PP1 file Returns ------- str full path to the AUX_PP1 file """ path = os.path.join( config["auxiliary_dir"], aux_pp1_name[0:3] + "_AUX_PP1", aux_pp1_name, "data", aux_pp1_name[0:3].lower() + "-aux-pp1.xml", ) if not os.path.isfile(path): raise FileNotFoundError(f"File doesn't exist: {path}") return path def get_path_aux_ins(aux_ins_name): """ Get full path to AUX_INS file. Parameters ---------- aux_ins_name: str name of the AUX_INS file Returns ------- str full path to the AUX_INS file """ path = os.path.join( config["auxiliary_dir"], aux_ins_name[0:3] + "_AUX_INS", aux_ins_name, "data", aux_ins_name[0:3].lower() + "-aux-ins.xml", ) if not os.path.isfile(path): raise FileNotFoundError(f"File doesn't exist: {path}") return path xsar-2025.03.07/src/xsar/xarray_backends.py000066400000000000000000000017611476257143200203650ustar00rootroot00000000000000import xarray as xr import xsar import rasterio import warnings import os class XsarXarrayBackend(xr.backends.common.BackendEntrypoint): def open_dataset( self, dataset_id, resolution=None, resampling=rasterio.enums.Resampling.rms, luts=False, dtypes=None, drop_variables=[], ): ds = xsar.open_dataset( dataset_id, resolution=resolution, resampling=resampling, luts=luts, dtypes=dtypes, ) if not list(ds.chunks): warnings.warn("Not using `chunks` kw is discouraged when openning SAFE") return ds.drop_vars(drop_variables, errors="ignore") def guess_can_open(self, filename_or_obj): if isinstance(filename_or_obj, xsar.Sentinel1Meta): return True if isinstance(filename_or_obj, str) and os.path.basename( filename_or_obj ).endswith(".SAFE"): return True return False xsar-2025.03.07/src/xsar/xsar.py000066400000000000000000000145261476257143200162050ustar00rootroot00000000000000""" TODO: this docstring is the main xsar module documentation shown to the user. It's should be updated with some examples. """ import warnings from importlib import metadata __version__ = metadata.version("xsar") import logging from .utils import timing, config, url_get import os import zipfile import pandas as pd import geopandas as gpd from .sentinel1_meta import Sentinel1Meta from .sentinel1_dataset import Sentinel1Dataset from .radarsat2_meta import RadarSat2Meta from .radarsat2_dataset import RadarSat2Dataset from .rcm_meta import RcmMeta from .rcm_dataset import RcmDataset logger = logging.getLogger("xsar") logger.addHandler(logging.NullHandler()) os.environ["GDAL_CACHEMAX"] = "128" @timing def open_dataset(*args, **kwargs): """ Parameters ---------- *args: Passed to `xsar.SentinelDataset` **kwargs: Passed to `xsar.SentinelDataset` Returns ------- xarray.Dataset Notes ----- xsar.open_dataset` is a simple wrapper to `xsar.SentinelDataset` that directly returns the `xarray.Dataset` object. >>> xsar.Sentinel1Dataset(*args, **kwargs).dataset >>> xsar.RadarSat2Dataset(*args, **kwargs).dataset >>> xsar.RcmDataset(*args, **kwargs).dataset See Also -------- xsar.Sentinel1Dataset xsar.RadarSat2Dataset xsar.RcmDataset """ dataset_id = args[0] # TODO: check product type (S1, RS2), and call specific reader if ( isinstance(dataset_id, Sentinel1Meta) or isinstance(dataset_id, str) and "S1" in dataset_id ): sar_obj = Sentinel1Dataset(*args, **kwargs) elif ( isinstance(dataset_id, RadarSat2Meta) or isinstance(dataset_id, str) and "RS2" in dataset_id ): sar_obj = RadarSat2Dataset(*args, **kwargs) elif ( isinstance(dataset_id, RcmMeta) or isinstance(dataset_id, str) and "RCM" in dataset_id ): sar_obj = RcmDataset(*args, **kwargs) else: raise TypeError("Unknown dataset type from %s" % str(dataset_id)) ds = sar_obj.dataset return ds def open_datatree(*args, **kwargs): """ Parameters ---------- *args: Passed to `xsar.SentinelDataset` **kwargs: Passed to `xsar.SentinelDataset` Returns ------- xarray.Dataset Notes ----- xsar.open_dataset` is a simple wrapper to `xsar.SentinelDataset` that directly returns the `xarray.Dataset` object. >>> xsar.Sentinel1Dataset(*args, **kwargs).dataset >>> xsar.RadarSat2Dataset(*args, **kwargs).dataset >>> xsar.RcmDataset(*args, **kwargs).dataset See Also -------- xsar.Sentinel1Dataset xsar.RadarSat2Dataset xsar.RcmDataset """ dataset_id = args[0] # Check product type (S1, RS2), and call specific reader if ( isinstance(dataset_id, Sentinel1Meta) or isinstance(dataset_id, str) and "S1" in dataset_id ): sar_obj = Sentinel1Dataset(*args, **kwargs) elif ( isinstance(dataset_id, RadarSat2Meta) or isinstance(dataset_id, str) and "RS2" in dataset_id ): sar_obj = RadarSat2Dataset(*args, **kwargs) elif ( isinstance(dataset_id, RcmMeta) or isinstance(dataset_id, str) and "RCM" in dataset_id ): sar_obj = RcmDataset(*args, **kwargs) else: raise TypeError("Unknown dataset type from %s" % str(dataset_id)) dt = sar_obj.datatree return dt def product_info(path, columns="minimal", include_multi=False): """ Parameters ---------- path: str or iterable of str path or gdal url. columns: list of str or str, optional 'minimal' by default: only include columns from attributes found in manifest.safe. Use 'spatial' to have 'time_range' and 'geometry'. Might be a list of properties from `xsar.Sentinel1Meta` include_multi: bool, optional False by default: don't include multi datasets Returns ------- geopandas.GeoDataFrame One dataset per lines, with info as columns See Also -------- xsar.Sentinel1Meta """ info_keys = { "minimal": ["name", "ipf", "platform", "swath", "product", "pols", "meta"] } info_keys["spatial"] = info_keys["minimal"] + ["time_range", "geometry"] if isinstance(columns, str): columns = info_keys[columns] # 'meta' column is not a Sentinel1Meta attribute real_cols = [c for c in columns if c != "meta"] add_cols = [] if "path" not in real_cols: add_cols.append("path") if "dsid" not in real_cols: add_cols.append("dsid") def _meta2df(meta): df = pd.Series(data=meta.to_dict(add_cols + real_cols)).to_frame().T if "meta" in columns: df["meta"] = meta return df if isinstance(path, str): path = [path] df_list = [] for p in path: s1meta = Sentinel1Meta(p) if s1meta.multidataset and include_multi: df_list.append(_meta2df(s1meta)) elif not s1meta.multidataset: df_list.append(_meta2df(s1meta)) if s1meta.multidataset: for n in s1meta.subdatasets.index: s1meta = Sentinel1Meta(n) df_list.append(_meta2df(s1meta)) df = pd.concat(df_list).reset_index(drop=True) if "geometry" in df: df = gpd.GeoDataFrame(df).set_crs(epsg=4326) df = df.set_index(["path", "dsid"], drop=False) if add_cols: df = df.drop(columns=add_cols) return df def get_test_file( fname, base_url="https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata" ): """ get test file from base_url(https://cyclobs.ifremer.fr/static/sarwing_datarmor/xsardata/) file is unzipped and extracted to `config['data_dir']` Parameters ---------- fname: str file name to get (without '.zip' extension) Returns ------- str path to file, relative to `config['data_dir']` """ res_path = config["data_dir"] file_url = "%s/%s.zip" % (base_url, fname) if not os.path.exists(os.path.join(res_path, fname)): warnings.warn("Downloading %s" % file_url) local_file = url_get(file_url) warnings.warn("Unzipping %s" % os.path.join(res_path, fname)) with zipfile.ZipFile(local_file, "r") as zip_ref: zip_ref.extractall(res_path) return os.path.join(res_path, fname) xsar-2025.03.07/test/000077500000000000000000000000001476257143200140615ustar00rootroot00000000000000xsar-2025.03.07/test/test_raster_readers.py000066400000000000000000000030551476257143200205020ustar00rootroot00000000000000from xsar.raster_readers import _to_lon180 import pytest import xarray as xr import copy import numpy as np val_lon_180s = [[120.,121.,122.,123.],[120.6,121.7,122.8,123.9]] lat = xr.DataArray(np.array([[40.,41.,42.,43.],[40.5,41.5,42.5,43.5]]), dims=('y','x'), coords={'x':[1,2,3,4], 'y':[5,6]}) lon = xr.DataArray(np.array(val_lon_180s), dims=('y','x'), coords={'x':[1,2,3,4], 'y':[5,6]}) lon_acheval = xr.DataArray(np.array([[179.,179.2,179.5,179.9],[-179.4,-179.7,-178.8,-179.1]]), dims=('y','x'), coords={'x':[1,2,3,4], 'y':[5,6]}) lon_0_360 = xr.DataArray(np.array(val_lon_180s)+200., dims=('y','x'), coords={'x':[1,2,3,4], 'y':[5,6]}) lon_0_360_treated = xr.DataArray(np.array(val_lon_180s)+200.-360., dims=('y','x'), coords={'x':[1,2,3,4], 'y':[5,6]}) # latwithNan = copy.copy(lat) ds = xr.Dataset() ds['lon'] = lon ds['lat'] = lat ds_on_antimeridian = xr.Dataset() ds_on_antimeridian['lon'] = lon_acheval ds_on_antimeridian['lat'] = lat ds_0_360 = xr.Dataset() ds_0_360['lon'] = lon_0_360 ds_0_360['lat'] = lat ds_0_360_expected = xr.Dataset() ds_0_360_expected['lon'] = lon_0_360_treated ds_0_360_expected['lat'] = lat @pytest.mark.parametrize( ["ds", "expected"], ( pytest.param(ds, ds, id="180_180"), pytest.param(ds_0_360, ds_on_antimeridian, id="0_360"), pytest.param(ds_on_antimeridian, ds_0_360_expected, id="180_180_a_cheval"), ), ) def test_to_lon180(ds, expected): actual_ds = _to_lon180(ds) assert actual_ds == expected